基于Drools的规则引擎效率优化方法、装置和电子设备与流程

文档序号:37127350发布日期:2024-02-22 21:41阅读:15来源:国知局
基于Drools的规则引擎效率优化方法、装置和电子设备与流程

本申请涉及规则引擎算法领域,尤其涉及一种带有基于drools的规则引擎效率优化方法、装置和电子设备。


背景技术:

1、规则引擎的核心是规则匹配算法,常见的规则匹配算法包括phreak、rete、lfa、treai、leaps。其中,rete算法最初是由卡内基梅隆大学的charles l.forgy博士在1974年发表的论文中所阐述的算法,该算法提供了专家系统的一个高效实现,被广泛应用到drools、ilog、jess、jboss rules等规则引擎项目中。rete算法是利用规则引擎中的时间冗余和结构相似性,利用约束规则的结构相似度来减少时间开销,把结构相同的部分只计算一次,通过保存中间过程及模式共享来提高推理效率的一种模式匹配算法。

2、在复杂风险决策业务领域,需要针对包含多数据实体的综合业务对象进行多叉树形式的规则树进行风险研判,但是drools规则引擎中没有规则树概念,而且对于规则执行过程中因涉及复杂业务对象而产生的笛卡尔乘积没有良好的优化方案,导致在复杂风险决策过程中,不仅无法实现规则树父节点规则不命中时,不执行其对应子规则,而且因笛卡尔乘积过大导致规则执行效率低。


技术实现思路

1、有鉴于此,本申请提出了一种基于drools的规则引擎效率优化方法,以解决上述背景技术所体现的问题。

2、根据本申请的一方面,提供了一种基于drools的规则引擎效率优化方法,包括以下步骤:

3、获取待处理规则条件;

4、根据预设的标准对所述待处理规则条件进行分组,得到规则层级节点;

5、根据所述规则层级节点对应的规则条件,执行所述规则条件,得到对应的结果。

6、作为本申请的一种可选实施方案,可选地,根据预设的标准对所述待处理规则条件进行分组,得到规则层级节点,包括:

7、对所述待处理规则条件中的根规则条件设为对应的根节点;

8、根据所述待处理规则,对所述根规则条件的子规则条件设为对应的子节点。

9、作为本申请的一种可选实施方案,可选地,还包括:

10、所述规则层级节点按层级归类。

11、作为本申请的一种可选实施方案,可选地,根据所述规则层级节点对应的规则条件,执行所述规则条件,得到对应的结果,包括:

12、判断当前规则层级节点是否为“且”运算符的运算节点;

13、所述当前规则层级节点为“且”运算符的运算节点时,逐级判断下一级节点是否为“且”运算节点;

14、当判断的节点为操作数节点时,执行所述判断的节点对应的规则条件。

15、作为本申请的一种可选实施方案,可选地,根据所述规则层级节点对应的规则条件,执行所述规则条件,得到对应的结果,还包括:

16、判断当前规则层级节点是否为“或”运算符的运算节点;

17、所述当前规则层级节点为“或”运算符的运算节点时,对所述当前规则层级节点对应的规则条件进行拆分,得到新增规则条件;

18、根据所述新增规则条件,新增规则层级节点。

19、作为本申请的一种可选实施方案,可选地,对所述当前规则层级节点对应的规则进行拆分,还包括:

20、所述拆分的标准为互为非必要关系;

21、根据所述拆分的标准,执行所述新增规则层级节点对应的新增规则条件,得到的结果与未拆分前的所述对应的规则条件的执行结果一致。

22、作为本申请的一种可选实施方案,可选地,当判断的节点为操作数节点时,执行所述判断的节点对应的规则条件,还包括:

23、所述操作数节点对应的规则条件是规则的必要条件;

24、若所述规则的必要条件只涉及一种数据类型,所述规则的必要条件设定为所述数据类型的判断条件。

25、根据本申请的二方面,提供了一种基于drools的规则引擎效率优化装置,包括以下模块:

26、获取规则条件模块,用于获取待处理规则条件;

27、节点分组模块,用于根据预设的标准对所述待处理规则条件进行分组,得到规则层级节点;

28、执行规则模块,用于根据所述规则层级节点对应的规则条件,执行所述规则条件,得到对应的结果。

29、作为本申请的一种可选实施方案,可选地,所述节点分组模块包括:

30、根节点模块,用于对所述待处理规则条件中的根规则条件设为对应的根节点;

31、子节点模块,用于根据所述待处理规则,对所述根规则条件的子规则条件设为对应的子节点。

32、根据本申请的三方面,提出了一种电子设备,包括:

33、处理器;

34、用于存储处理器可执行指令的存储器;

35、其中,所述处理器被配置为执行所述可执行指令时实现上述所述的基于drools的规则引擎效率优化方法。

36、本申请的有益效果:

37、在本发明中,通过规则树分层执行方案减少了无效规则运算,通过提取必要条件和拆分非必要条件为新规则来重构规则减轻笛卡尔积影响,在解决复杂业务领域的风险决策问题上,对提升规则执行效率有良好的效果。

38、根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。



技术特征:

1.一种基于drools的规则引擎效率优化方法,其特征在于,包括:

2.如权利要求1所述的一种基于drools的规则引擎效率优化方法,其特征在于,根据预设的标准对所述待处理规则条件进行分组,得到规则层级节点,包括:

3.如权利要求1所述的一种基于drools的规则引擎效率优化方法,其特征在于,还包括:

4.如权利要求1所述的一种基于drools的规则引擎效率优化方法,其特征在于,根据所述规则层级节点对应的规则条件,执行所述规则条件,得到对应的结果,包括:

5.如权利要求1所述的一种基于drools的规则引擎效率优化方法,其特征在于,根据所述规则层级节点对应的规则条件,执行所述规则条件,得到对应的结果,还包括:

6.如权利要求5所述的一种基于drools的规则引擎效率优化方法,其特征在于,对所述当前规则层级节点对应的规则进行拆分,还包括:

7.如权利要求4所述的一种基于drools的规则引擎效率优化方法,其特征在于,当判断的节点为操作数节点时,执行所述判断的节点对应的规则条件,还包括:

8.一种基于drools的规则引擎效率优化装置,其特征在于,包括以下模块:

9.如权利要求8所述的基于drools的规则引擎效率优化装置,其特征在于,所述节点分组模块包括:

10.一种电子设备,其特征在于,包括:


技术总结
本申请涉及一种基于Drools的规则引擎效率优化方法、装置和电子设备,包括获取待处理规则条件,根据预设的标准对所述待处理规则条件进行分组,得到规则层级节点,根据所述规则层级节点对应的规则条件,执行所述规则条件,得到对应的结果。通过该方法能够解决复杂业务领域的风险决策问题同时,降低规则执行过程中的笛卡尔乘积的影响,整体提高了规则的执行效率。

技术研发人员:王强,万振龙,张子扬,时一斌
受保护的技术使用者:北京中海通科技有限公司
技术研发日:
技术公布日:2024/2/21
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1