一种规则引擎的设计及执行系统的制作方法

文档序号:33373907发布日期:2023-03-08 03:18阅读:36来源:国知局
一种规则引擎的设计及执行系统的制作方法

1.本发明涉及软件开发技术领域,具体为一种规则引擎的设计及执行系统。


背景技术:

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


技术实现要素:

4.本发明提供了一种规则引擎的设计及执行系统,解决了上述背景技术所提出的问题。
5.为实现以上目的,本发明通过以下技术方案予以实现:一种规则引擎的设计及执行系统,所述规则引擎系统包括规则引擎平台、规则条件模块、规则结果模块、规则执行模块,所述规则引擎平台包括前端设计器和后端服务模块,所述前端设计器由规则设计单元和节点设计单元组成,所述后端服务模块由服务单元、执行单元和存储单元组成,所述存储单元包括多版本存储和数据库存储。
6.可选的,所述执行单元由决策树执行部、决策表执行部、规则条件节点执行部、规则结果节点执行部组成。
7.可选的,所述规则设计单元包括决策表设计器和决策树设计器,所述决策表设计器以表格的形式,定义规则条件及规则结果,所述决策树设计器以树状机构的方式,定义规则条件及执行结果。
8.可选的,所述规则结果模块支持返回特定值、对输入赋值、执行脚本三种方式,返回规则的执行结果。
9.可选的,所述规则结果模块的返回特定值方式,通过返回特定的值,作为规则执行结果。
10.可选的,所述规则结果模块的对输入赋值方式,通过对输入的数据进行字段赋值,改变输入数据值,作为规则执行结果。
11.可选的,所述规则结果模块的执行脚本方式,通过执行特定的groovy脚本,实现复杂的执行操作。
12.可选的,所述规则执行模块提供sdk、http api两种规则执行的调用方式,且规则
执行模块的算法采用rete算法。
13.本发明具备以下有益效果:
14.1、该规则引擎的设计及执行系统,通过http api和sdk两种方式,接收客户端发送的规则调用请求,根据规则的设计进行规则条件判断和规则执行,并将执行结果返回给客户端,提高了业务系统对复杂商业规则的适应性,并实现规则的动态管理、更新。
15.2、该规则引擎的设计及执行系统,通过树状和表格状两种方式的规则可视化设计,让复杂的业务规则提供可视化配置而实现快速、低成本的变化,让业务人员直接管理it系统中的规则,不需要软件开发人员参与。
16.3、该规则引擎的设计及执行系统,通过返回特定值、对输入赋值、执行脚本三种方式,支持输入对象赋值、脚本代码方式的规则结果的设计及执行,通过对输入对象赋值、脚本代码,可以支持复杂的规则结果设计场景,提高系统可扩展性。
附图说明
17.图1为本发明的流程图;
18.图2为本发明中规则执行模块的流程图;
19.图3为本发明中规则引擎系统使用的流程图;
20.图4为本发明中规则引擎系统部署的流程图。
具体实施方式
21.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
22.请参阅图1、图3至图4,本发明提供一种技术方案:一种规则引擎的设计及执行系统,规则引擎系统包括规则引擎平台、规则条件模块、规则结果模块、规则执行模块,通过业务人员设计规则、规则引擎执行规则,不仅解决了成本和上线后产生bug的风险较高的问题,还解决了业务人员无法直接编辑规则的问题,规则引擎平台包括前端设计器和后端服务模块,前端设计器由规则设计单元和节点设计单元组成,后端服务模块由服务单元、执行单元和存储单元组成,存储单元包括多版本存储和数据库存储。
23.执行单元由决策树执行部、决策表执行部、规则条件节点执行部、规则结果节点执行部组成。
24.规则设计单元包括决策表设计器和决策树设计器,通过规则设计的可视化设计系统,提供了树状和表格状两种方式的规则可视化设计,让复杂的业务规则提供可视化配置而实现快速、低成本的变化,让业务人员直接管理it系统中的规则,不需要软件开发人员参与,决策表设计器以表格的形式,定义规则条件及规则结果,决策树设计器以树状机构的方式,定义规则条件及执行结果。两种规则模型设计器,均可以进行规则条件定义设计以及规则结果设计。
25.规则结果模块支持返回特定值、对输入赋值、执行脚本三种方式,返回规则的执行结果,为解决现有设计方式仅支持返回特定值,不支持对输入对象赋值、脚本执行等方式的
问题,支持输入对象赋值、脚本代码方式的规则结果的设计及执行,通过对输入对象赋值、脚本代码,可以支持复杂的规则结果设计场景,提高系统可扩展性。
26.规则结果模块的返回特定值方式,通过返回特定的值,作为规则执行结果。
27.规则结果模块的对输入赋值方式,通过对输入的数据进行字段赋值,改变输入数据值,作为规则执行结果。
28.规则结果模块的执行脚本方式,通过执行特定的groovy脚本,实现复杂的执行操作,如在接口中调取第三方接口,通过脚本代码,可以支持复杂的规则条件设计场景,提高系统可扩展性。
29.请参阅图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);模式(module):就是指if语句的条件,这里if条件可能是有几个更小的条件组成的大条件,模式就是指的不能在继续分割下去的最小的原子条件,rete推理网络的生成过程:从规则集{规则1,规则2
……
}中拿出一条来,根据一定算法,变成rete推理网络的节点,不断循环将所有规则都处理完,rete推理网络就生成了。
30.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制;术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性,此外,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
31.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1