一种实现分布式业务规则的方法、系统和服务器技术方案

技术编号:20915457 阅读:30 留言:0更新日期:2019-04-20 09:29
本申请公开了一种实现分布式业务规则的方法、系统和服务器,包括:在接收到业务需求数据时,根据规则服务表将业务需求数据分发给分布式服务器;在分布式服务器中,根据规则方案分组表将业务需求数据分发给微服务封装的规则引擎;在微服务封装的规则引擎中,根据规则表对接收到的业务需求数据进行处理。应用本申请实施例方案,业务规则不再由单机执行,而是分散给分布式服务器实现,从而适应目前大数据多业务的情况。

A Method, System and Server for Implementing Distributed Business Rules

This application discloses a method, system and server for implementing distributed business rules, including: distributing business requirement data to distributed server according to rule service table when receiving business requirement data; distributing business requirement data to rule engine of microservice encapsulation according to rule scheme grouping table in distributed server; and guiding rules in microservice encapsulation. In the engine, the received business requirement data is processed according to the rule table. Applying the embodiment of this application, the business rules are no longer implemented by a single computer, but distributed to a distributed server, so as to adapt to the current situation of large data and multi-service.

【技术实现步骤摘要】
一种实现分布式业务规则的方法、系统和服务器
本申请涉及软件
,特别涉及一种实现分布式业务规则的方法、系统和服务器。
技术介绍
在软件开发过程中,频繁的需求变更是一件令人头痛的事情,比如由于工程前期对需求理解不到位,或者企业管理者的决策发生变化等情况,都会导致对软件的需求发生变化。因此,为了对应复杂多变的需求变更,出现了规则引擎技术。规则引擎主要是将软件工程中的业务逻辑抽离出来,当需求发生变化时,通过简单地修改规则文件即可,无需涉及具体业务代码。这样的框架技术越来越受到软件开发人员的关注。现有的应用规则引擎的框架技术通常是单机版,主要适用小型应用场景。随着目前大数据多业务的发展趋势,该方案则越来越难以发挥其作用。
技术实现思路
本申请提供了一种实现分布式业务规则的方法,可以扩展到分布式规则引擎技术框架中实施,从而适应大数据多业务的发展趋势。本申请提出的一种实现分布式业务规则的方法具体为:在接收到业务需求数据时,根据事先设置的规则服务表将所述业务需求数据分发给分布式服务器,所述规则服务表包含规则服务ID号,所述规则服务ID号与执行业务规则的分布式服务器存在关联关系;在所述分布式服务器中,根据事先设置的规则方案分组表将所述业务需求数据分发给微服务封装的规则引擎,所述规则方案分组表包含规则分组ID号,所述规则分组ID号表示执行业务规则的微服务封装的规则引擎序号;在所述微服务封装的规则引擎中,根据事先设置的规则表对接收到的业务需求数据进行处理,所述规则表包含规则可执行域,所述规则可执行域表示启动业务规则执行的条件。进一步地,在接收业务需求数据之前,该方法进一步包括:生成对业务需求数据处理的规则引擎,并生成所述规则表;将所述规则引擎进行微服务封装生成所述微服务封装的规则引擎,并生成所述规则方案分组表;通过远程过程调用RPC方法将所述微服务封装的规则引擎部署到所述分布式服务器中,并生成所述规则服务表。进一步地,所述根据事先设置的规则服务表将所述业务需求数据分发给分布式服务器的方法包括:查询所述规则服务表,获取所述规则服务表中所有分布式服务器,将所述业务需求数据分发到所有的分布式服务器中。进一步地,所述根据事先设置的规则方案分组表将所述业务需求数据分发给微服务封装的规则引擎的方法包括:查询所述规则方案分组表,获取所述规则方案分组表中所有微服务封装的规则引擎,将所述业务需求数据分发到所有的微服务封装的规则引擎中。进一步地,所述根据事先设置的规则表对接收到的业务需求数据进行处理的方法包括:根据规则引擎执行方法将接收到的业务需求数据拆解为事实对象和业务规则文件;判断所述事实对象是否属于所述可执行域,如果是,则根据业务规则文件执行对事实对象的业务逻辑,并返回执行结果;否则,返回空结果。进一步地,在接收业务需求数据之前,该方法进一步包括:设置规则分组映射表,所述规则分组映射表包含所述规则分组ID号和所述规则可执行域的对应关系;设置规则服务映射表,所述规则服务映射表包含所述规则服务ID号和所述规则可执行域的对应关系。进一步地,所述根据事先设置的规则服务表将所述业务需求数据分发给分布式服务器的方法包括:从所述业务需求数据中获取所述规则可执行域;根据所述规则可执行域查询所述规则服务映射表,确定与所述规则可执行域对应的规则服务ID号;将所述业务需求数据发送给确定出来的规则服务ID号所对应的分布式服务器。进一步地,所述根据事先设置的规则方案分组表将所述业务需求数据分发给微服务封装的规则引擎的方法包括:从所述业务需求数据中获取所述规则可执行域;根据所述规则可执行域查询所述规则分组映射表,确定与所述规则可执行域对应的规则分组ID号;将所述业务需求数据发送给确定出来的规则分组ID号所对应的微服务封装的规则引擎。进一步地,所述根据事先设置的规则表对接收到的业务需求数据进行处理的方法包括:根据规则引擎执行方法将接收到的业务需求数据拆解为事实对象和业务规则文件;根据业务规则文件执行对事实对象的业务逻辑,并返回执行结果。进一步地,在到达映射表维护时机时,该方法进一步包括:通过监听规则数据库对所述规则分组映射表和所述规则服务映射表进行维护,所述规则数据库用于保存所述业务规则。进一步地,所述映射表维护时机包括:所述实现分布式业务规则之前,进行初始化过程中需要调用所述规则数据库以建立所述规则分组映射表和所述规则服务映射表;或者,在所述规则数据库中增加新的业务规则时;或者,所述规则表中还包括规则生效状态和规则更新时间,在所述规则数据库中废除或修改已有业务规则而导致所述规则生效状态和规则更新时间更新时。本申请还提出一种实现分布式业务规则的系统,具体为:该系统包括接口服务器和至少一台分布式服务器;所述接口服务器,在接收到业务需求数据时,根据事先设置的规则服务表将所述业务需求数据分发给分布式服务器,所述规则服务表包含规则服务ID号,所述规则服务ID号与执行业务规则的分布式服务器存在关联关系;所述分布式服务器,根据事先设置的规则方案分组表将所述业务需求数据分发给微服务封装的规则引擎,所述规则方案分组表包含规则分组ID号,所述规则分组ID号表示执行业务规则的微服务封装的规则引擎序号;在所述微服务封装的规则引擎中,根据事先设置的规则表对接收到的业务需求数据进行处理,所述规则表包含规则可执行域,所述规则可执行域表示启动业务规则执行的条件。本申请还提出一种实现分布式业务规则的服务器,具体为:该服务器用作接口服务器,包括:第一接口收发模块,在接收到业务需求数据时,根据事先设置的规则服务表将所述业务需求数据分发给分布式服务器,所述规则服务表包含规则服务ID号,所述规则服务ID号与执行业务规则的分布式服务器存在关联关系;第一存储模块,用于保存所述规则服务表。进一步地,该服务器还包括:第一映射模块,用于从所述业务需求数据中获取所述规则可执行域;根据所述规则可执行域查询所述规则服务映射表,确定与所述规则可执行域对应的规则服务ID号;将所述业务需求数据发送给确定出来的规则服务ID号所对应的分布式服务器;第一列表更新模块,用于在到达映射表维护时机时,通过监听规则数据库对所述规则服务映射表进行维护,所述规则数据库用于保存所述业务规则;第一列表存储模块,用于保存规则服务映射表,所述规则服务映射表包含所述规则服务ID号和所述规则可执行域的对应关系。本申请还提出一种实现分布式业务规则的服务器,具体为:该服务器用作分布式服务器,包括:第二接口收发模块,用于根据事先设置的规则方案分组表将所述业务需求数据分发给微服务封装的规则引擎,所述规则方案分组表包含规则分组ID号,所述规则分组ID号表示执行业务规则的微服务封装的规则引擎序号;微服务封装的规则引擎,用于根据事先设置的规则表对接收到的业务需求数据进行处理,所述规则表包含规则可执行域,所述规则可执行域表示启动业务规则执行的条件;第二存储模块,用于保存所述规则方案分组表和所述规则表。进一步地,该服务器还包括:第二映射模块,用于从所述业务需求数据中获取所述规则可执行域;根据所述规则可执行域查询所述规则分组映射表,确定与所述规则可执行域对应的规则分组ID号;将所述业务需求数据发送给确定出来的规则分组ID号所对应的微服务封装的规则引擎;第二列表本文档来自技高网...

【技术保护点】
1.一种实现分布式业务规则的方法,其特征在于,该方法包括:在接收到业务需求数据时,根据事先设置的规则服务表将所述业务需求数据分发给分布式服务器,所述规则服务表包含规则服务ID号,所述规则服务ID号与执行业务规则的分布式服务器存在关联关系;在所述分布式服务器中,根据事先设置的规则方案分组表将所述业务需求数据分发给微服务封装的规则引擎,所述规则方案分组表包含规则分组ID号,所述规则分组ID号表示执行业务规则的微服务封装的规则引擎序号;在所述微服务封装的规则引擎中,根据事先设置的规则表对接收到的业务需求数据进行处理,所述规则表包含规则可执行域,所述规则可执行域表示启动业务规则执行的条件。

【技术特征摘要】
1.一种实现分布式业务规则的方法,其特征在于,该方法包括:在接收到业务需求数据时,根据事先设置的规则服务表将所述业务需求数据分发给分布式服务器,所述规则服务表包含规则服务ID号,所述规则服务ID号与执行业务规则的分布式服务器存在关联关系;在所述分布式服务器中,根据事先设置的规则方案分组表将所述业务需求数据分发给微服务封装的规则引擎,所述规则方案分组表包含规则分组ID号,所述规则分组ID号表示执行业务规则的微服务封装的规则引擎序号;在所述微服务封装的规则引擎中,根据事先设置的规则表对接收到的业务需求数据进行处理,所述规则表包含规则可执行域,所述规则可执行域表示启动业务规则执行的条件。2.根据权利要求1所述的方法,其特征在于,在接收业务需求数据之前,该方法进一步包括:生成对业务需求数据处理的规则引擎,并生成所述规则表;将所述规则引擎进行微服务封装生成所述微服务封装的规则引擎,并生成所述规则方案分组表;通过远程过程调用RPC方法将所述微服务封装的规则引擎部署到所述分布式服务器中,并生成所述规则服务表。3.根据权利要求2所述的方法,其特征在于,所述根据事先设置的规则服务表将所述业务需求数据分发给分布式服务器的方法包括:查询所述规则服务表,获取所述规则服务表中所有分布式服务器,将所述业务需求数据分发到所有的分布式服务器中。4.根据权利要求3所述的方法,其特征在于,所述根据事先设置的规则方案分组表将所述业务需求数据分发给微服务封装的规则引擎的方法包括:查询所述规则方案分组表,获取所述规则方案分组表中所有微服务封装的规则引擎,将所述业务需求数据分发到所有的微服务封装的规则引擎中。5.根据权利要求4所述的方法,其特征在于,所述根据事先设置的规则表对接收到的业务需求数据进行处理的方法包括:根据规则引擎执行方法将接收到的业务需求数据拆解为事实对象和业务规则文件;判断所述事实对象是否属于所述可执行域,如果是,则根据业务规则文件执行对事实对象的业务逻辑,并返回执行结果;否则,返回空结果。6.根据权利要求2所述的方法,其特征在于,在接收业务需求数据之前,该方法进一步包括:设置规则分组映射表,所述规则分组映射表包含所述规则分组ID号和所述规则可执行域的对应关系;设置规则服务映射表,所述规则服务映射表包含所述规则服务ID号和所述规则可执行域的对应关系。7.根据权利要求6所述的方法,其特征在于,所述根据事先设置的规则服务表将所述业务需求数据分发给分布式服务器的方法包括:从所述业务需求数据中获取所述规则可执行域;根据所述规则可执行域查询所述规则服务映射表,确定与所述规则可执行域对应的规则服务ID号;将所述业务需求数据发送给确定出来的规则服务ID号所对应的分布式服务器。8.根据权利要求7所述的方法,其特征在于,所述根据事先设置的规则方案分组表将所述业务需求数据分发给微服务封装的规则引擎的方法包括:从所述业务需求数据中获取所述规则可执行域;根据所述规则可执行域查询所述规则分组映射表,确定与所述规则可执行域对应的规则分组ID号;将所述业务需求数据发送给确定出来的规则分组ID号所对应的微服务封装的规则引擎。9.根据权利要求8所述的方法,其特征在于,所述根据事先设置的规则表对接收到的业务需求数据进行处理的方法包括:根据规则引擎执行方法将接收到的业务需求数据拆解为事实对象和业务规则文件;根据业务规则文件执行对事实对象的业务逻辑,并返回执行结果。10.根据权利要求9所述的方法,其特征在于,在到达映射表维护时机时,该方法进一步包括:通过监听...

【专利技术属性】
技术研发人员:于思禹邓崇鑫
申请(专利权)人:北京京东金融科技控股有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1