一种规则引擎的设计及执行系统技术方案

技术编号:36776937 阅读:17 留言:0更新日期:2023-03-08 22:03
本发明专利技术公开了一种规则引擎的设计及执行系统,涉及软件开发技术领域,具体一种规则引擎的设计及执行系统,所述规则引擎系统包括规则引擎平台、规则条件模块、规则结果模块、规则执行模块,所述规则引擎平台包括前端设计器和后端服务模块,所述前端设计器由规则设计单元和节点设计单元组成,所述后端服务模块由服务单元、执行单元和存储单元组成,所述存储单元包括多版本存储和数据库存储。该规则引擎的设计及执行系统,通过HTTP API和SDK两种方式,接收客户端发送的规则调用请求,根据规则的设计进行规则条件判断和规则执行,并将执行结果返回给客户端,提高了业务系统对复杂商业规则的适应性,并实现规则的动态管理、更新。更新。更新。

【技术实现步骤摘要】
一种规则引擎的设计及执行系统


[0001]本专利技术涉及软件开发
,具体为一种规则引擎的设计及执行系统。

技术介绍

[0002]规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策,接受数据输入,解释业务规则,并根据业务规则做出业务决策。将规则引擎想象成为一个以数据和规则作为输入的系统,它将这些规则应用于数据,并根据规则定义为我们提供输出,
[0003]然而现有的规则引擎在使用时将规则固化在软件编码中,意味着业务规则发生变化后,每次更新规则需要重新测试、部署,成本和上线后产生bug的风险较高;并且将规则固化在编码中,意味着规则变更只能由开发人员参与,业务人员无法直接编辑规则;同时规则结果的设计方式单一,规则执行部分,现有设计方式仅支持返回特定值,不支持对输入对象赋值、脚本执行等方式。

技术实现思路

[0004]本专利技术提供了一种规则引擎的设计及执行系统,解决了上述
技术介绍
所提出的问题。
[0005]为实现以上目的,本专利技术通过以下技术方案予以实现:一种规则引擎的设计及执行系统,所述规则引擎系统包括规则引擎平台、规则条件模块、规则结果模块、规则执行模块,所述规则引擎平台包括前端设计器和后端服务模块,所述前端设计器由规则设计单元和节点设计单元组成,所述后端服务模块由服务单元、执行单元和存储单元组成,所述存储单元包括多版本存储和数据库存储。
[0006]可选的,所述执行单元由决策树执行部、决策表执行部、规则条件节点执行部、规则结果节点执行部组成。
[0007]可选的,所述规则设计单元包括决策表设计器和决策树设计器,所述决策表设计器以表格的形式,定义规则条件及规则结果,所述决策树设计器以树状机构的方式,定义规则条件及执行结果。
[0008]可选的,所述规则结果模块支持返回特定值、对输入赋值、执行脚本三种方式,返回规则的执行结果。
[0009]可选的,所述规则结果模块的返回特定值方式,通过返回特定的值,作为规则执行结果。
[0010]可选的,所述规则结果模块的对输入赋值方式,通过对输入的数据进行字段赋值,改变输入数据值,作为规则执行结果。
[0011]可选的,所述规则结果模块的执行脚本方式,通过执行特定的Groovy脚本,实现复杂的执行操作。
[0012]可选的,所述规则执行模块提供SDK、HTTP API两种规则执行的调用方式,且规则
执行模块的算法采用Rete算法。
[0013]本专利技术具备以下有益效果:
[0014]1、该规则引擎的设计及执行系统,通过HTTP API和SDK两种方式,接收客户端发送的规则调用请求,根据规则的设计进行规则条件判断和规则执行,并将执行结果返回给客户端,提高了业务系统对复杂商业规则的适应性,并实现规则的动态管理、更新。
[0015]2、该规则引擎的设计及执行系统,通过树状和表格状两种方式的规则可视化设计,让复杂的业务规则提供可视化配置而实现快速、低成本的变化,让业务人员直接管理IT系统中的规则,不需要软件开发人员参与。
[0016]3、该规则引擎的设计及执行系统,通过返回特定值、对输入赋值、执行脚本三种方式,支持输入对象赋值、脚本代码方式的规则结果的设计及执行,通过对输入对象赋值、脚本代码,可以支持复杂的规则结果设计场景,提高系统可扩展性。
附图说明
[0017]图1为本专利技术的流程图;
[0018]图2为本专利技术中规则执行模块的流程图;
[0019]图3为本专利技术中规则引擎系统使用的流程图;
[0020]图4为本专利技术中规则引擎系统部署的流程图。
具体实施方式
[0021]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0022]请参阅图1、图3至图4,本专利技术提供一种技术方案:一种规则引擎的设计及执行系统,规则引擎系统包括规则引擎平台、规则条件模块、规则结果模块、规则执行模块,通过业务人员设计规则、规则引擎执行规则,不仅解决了成本和上线后产生bug的风险较高的问题,还解决了业务人员无法直接编辑规则的问题,规则引擎平台包括前端设计器和后端服务模块,前端设计器由规则设计单元和节点设计单元组成,后端服务模块由服务单元、执行单元和存储单元组成,存储单元包括多版本存储和数据库存储。
[0023]执行单元由决策树执行部、决策表执行部、规则条件节点执行部、规则结果节点执行部组成。
[0024]规则设计单元包括决策表设计器和决策树设计器,通过规则设计的可视化设计系统,提供了树状和表格状两种方式的规则可视化设计,让复杂的业务规则提供可视化配置而实现快速、低成本的变化,让业务人员直接管理IT系统中的规则,不需要软件开发人员参与,决策表设计器以表格的形式,定义规则条件及规则结果,决策树设计器以树状机构的方式,定义规则条件及执行结果。两种规则模型设计器,均可以进行规则条件定义设计以及规则结果设计。
[0025]规则结果模块支持返回特定值、对输入赋值、执行脚本三种方式,返回规则的执行结果,为解决现有设计方式仅支持返回特定值,不支持对输入对象赋值、脚本执行等方式的
问题,支持输入对象赋值、脚本代码方式的规则结果的设计及执行,通过对输入对象赋值、脚本代码,可以支持复杂的规则结果设计场景,提高系统可扩展性。
[0026]规则结果模块的返回特定值方式,通过返回特定的值,作为规则执行结果。
[0027]规则结果模块的对输入赋值方式,通过对输入的数据进行字段赋值,改变输入数据值,作为规则执行结果。
[0028]规则结果模块的执行脚本方式,通过执行特定的Groovy脚本,实现复杂的执行操作,如在接口中调取第三方接口,通过脚本代码,可以支持复杂的规则条件设计场景,提高系统可扩展性。
[0029]请参阅图2,规则执行模块提供SDK、HTTP API两种规则执行的调用方式,通过HTTP API和SDK两种方式,接收客户端发送的规则调用请求,根据规则的设计进行规则条件判断和规则执行,并将执行结果返回给客户端,可以提高业务系统对复杂商业规则的适应性,并实现规则的动态管理、更新,且规则执行模块的算法采用Rete算法,Rete算法是目前效率最高的一个演绎法推理算法,许多规则引擎都是基于Rete算法来进行推理计算的,Rete算法相关概念:事实(Fact):对象之间及对象属性之间的关系;规则(rule):是由条件和结论构成的推理语句,一般表示为if

Then,一个规则的if部分称为LHS(left

hand

side),then部分称为RHS(right hand side);模式(mod本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种规则引擎的设计及执行系统,其特征在于:所述规则引擎系统包括规则引擎平台、规则条件模块、规则结果模块、规则执行模块,所述规则引擎平台包括前端设计器和后端服务模块,所述前端设计器由规则设计单元和节点设计单元组成,所述后端服务模块由服务单元、执行单元和存储单元组成,所述存储单元包括多版本存储和数据库存储。2.根据权利要求1所述的一种规则引擎的设计及执行系统,其特征在于:所述执行单元由决策树执行部、决策表执行部、规则条件节点执行部、规则结果节点执行部组成。3.根据权利要求1所述的一种规则引擎的设计及执行系统,其特征在于:所述规则设计单元包括决策表设计器和决策树设计器,所述决策表设计器以表格的形式,定义规则条件及规则结果,所述决策树设计器以树状机构的方式,定义规则条件及执行结果。4.根据权利要求1所述的一种规则引擎的设计及执行...

【专利技术属性】
技术研发人员:孙钦平马嘉林张春雨崔方剑李轩
申请(专利权)人:青岛海信信息科技股份有限公司
类型:发明
国别省市:

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

1