一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于drool的动态规则解决方法、电子设备及可读存储介质与流程

2022-11-19 14:31:34 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,具体为一种基于drool的动态规则解决方法、电子设备及可读存储介质。


背景技术:

2.规则引擎是为了应对大量快速变化的商业业务逻辑应运而生的技术方案,能够根据既定事实和知识库按照一定的算法执行推理逻辑得到正确的结果。规则引擎主要由三部分组成:知识库(knowledge base)、既定事实库(fact base)和推理机。
3.实际工作中,我们经常会遇到存在比较复杂的业务规则并且业务规则会频繁变动的系统,如:风险控制系统(风险贷款、风险评估)、反欺诈项目(银行贷款、征信验证)、决策平台系统(财务计算)、促销平台系统(满减、打折、加价购),这些场景下就需要规则引擎来解决,it圈类与drool相近有aviator,aviator是一个高性能、轻量级的java语言实现的表达式求值引擎,结合api设计直接将表达式编译成java字节码,交给jvm去执行,原理图如图1所示,在实际的使用过程中,存在以下缺点:动态规则装置的效率低、难以维护,且在使用的过程中难以应对规则变化,修改代码后重启服务才能生效,极大程度上降低了规则引擎的使用效率;鉴于此,我们提出了一种基于drool的动态规则解决方法。


技术实现要素:

4.(一)解决的技术问题
5.针对现有技术的不足,本发明提供了一种基于drool的动态规则解决方法、电子设备及可读存储介质,以解决上述背景技术提到的问题。
6.(二)技术方案
7.为实现以上目的,本发明通过以下技术方案予以实现:一种基于drool的动态规则解决方法,所述动态规则装置方法包括以下步骤:
8.s1、定义规则模板;
9.s2、手动定义或反射自动代码生成事实(fact)对象,定义注解规则(rule),并将注解规则与事实对象进行绑定;
10.s3、定义规则库初始化类对象,实现application listener,在服务启动的时候通过处理器扫描所有绑定规则(rule)注解的事实对象,先将事实对象进行属性申明,然后将事实对象全路径保存在规则库中,基于所述规则模板,将规则库信息发布规则到drool规则引擎(rule base)中,drool规则引擎对发布的规则进行保存,建立规则库中的规则与规则引擎的关系,且将该关系维护到工作内存散列表中;
11.s4、执行所述发布的规则,基于推理引擎(inference engine)中的规则匹配器,遍历所述工作内存散列表中规则与规则引擎的关系,获取与所述发布的规则相匹配的规则引擎存放到规则议程(agenda)中,然后通过处理器执行所述发布的规则。
12.可选的,所述规则库通过规则可视化页面进行内部管理,所述规则可视化页面提
供新增、更新某条规则功能。
13.可选的,所述规则库基于反射机制动态生成或更新fact对象,通过类加载class loader动态加载fact对象发布到规则引擎,更新所述工作内存散列表中规则与规则引擎的关系。
14.该基于drool的动态规则解决方法,提供规则可视化页面来管理规则库,页面提供新增、更新某条规则功能,利用反射机制动态生成或更新事实对象,通过类加载class loader动态加载fact对象发布到规则引擎,更新规则与规则引擎散列表关系,达到规则及时更新与发布、及想及用、不需重载服务。
15.可选的,在s3中,所述工作内存散列表中提供规则管理页面,在某个规则表达式更新时,该规则表达式会自动更新与发布到规则引擎中,且所述工作内存散列表会一同进行更新。
16.可选的,所述规则库在单一表示的情况下,其规则表达式采用aviator表达引擎、mvel表达引擎其中的一种或多种。
17.可选的,所述规则模板同时存储在本地计算机的存储器和互联网网盘中,且本地计算机的存储器和互联网网盘中均对规则模板进行备份,并设置单位核对时间对本地计算机的存储器和互联网网盘中的规则模板文件进行数据核对。
18.可选的,所述单位核对时间为1h。
19.可选的,所述处理器包括云计算处理设备,所述云计算处理设备通过网络模块进行实时的数据处理。
20.可选的,所述网络模块包括:5g网络、4g网络、wifi网络和本地光纤网络中至少一种。
21.该基于drool的动态规则解决方法,业务规则与系统代码分离,实现业务规则的集中管理,提高系统可维护性和维护成本,在不重启服务的情况下可随时对业务规则进行扩展和维护,可以动态修改业务规则,快速响应需求变更,规则引擎是相对独立的,只关心业务规则,使得业务分析人员也可以参与编辑、维护系统的业务规则,减少了硬编码业务规则的成本和风险,使用规则引擎提供的规则编辑工具,使复杂的业务规则实现变得的简单。
22.本发明还提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时,实现上述的一种基于drool的动态规则解决方法的步骤。
23.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现上述的一种基于drool的动态规则解决方法的步骤。
24.(三)有益效果
25.本发明提供了一种基于drool的动态规则解决方法、电子设备及可读存储介质。具备以下有益效果:
26.(1)、提供规则可视化页面来管理规则库,页面提供新增、更新某条规则功能,利用反射机制动态生成或更新fact对象,通过类加载class loader动态加载fact对象发布到规则引擎,更新规则与规则引擎散列表关系,达到规则及时更新与发布、及想及用、不需重载服务。
27.(2)、业务规则与系统代码分离,实现业务规则的集中管理,提高系统可维护性和
维护成本,在不重启服务的情况下可随时对业务规则进行扩展和维护,可以动态修改业务规则,快速响应需求变更。
28.(3)、规则引擎是相对独立的,只关心业务规则,使得业务分析人员也可以参与编辑、维护系统的业务规则,减少了硬编码业务规则的成本和风险,使用规则引擎提供的规则编辑工具,使复杂的业务规则实现变得的简单。
附图说明
29.图1为现有技术中采用规则引擎处理的流程图。
30.图2为本发明流程结构示意图。
具体实施方式
31.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
32.需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后
……
)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
33.请参阅图2,本发明提供一种技术方案:一种基于drool的动态规则解决方法,动态规则装置方法包括以下步骤:
34.s1、定义规则模板;
35.s2、手动定义或反射自动代码生成事实(fact)对象,定义注解规则(rule),并将注解规则与事实对象进行绑定;
36.s3、定义规则库初始化类对象,实现application listener,在服务启动的时候通过处理器扫描所有绑定规则(rule)注解的事实对象,先将事实对象进行属性申明,然后将事实对象全路径保存在规则库中,基于所述规则模板,将规则库信息发布规则到drool规则引擎中,drool规则引擎对发布的规则进行保存,建立规则库中的规则与规则引擎的关系,其将该关系维护到工作内存散列表中,工作内存散列表中提供规则管理页面,在某个规则表达式存在更新情况时,该规则表达式会自动更新与发布到规则引擎中,且所述工作内存散列表会一同进行更新;
37.s4、执行所述发布的规则,基于推理引擎(inference engine)中的规则匹配器,遍历所述工作内存散列表中规则与规则引擎的关系,获取与所述发布的规则相匹配的规则引擎存放到规则议程(agenda)中,然后通过处理器执行所述发布的规则。
38.本实施例中,规则库通过规则可视化页面进行内部管理。规则可视化页面提供新增、更新某条规则功能。规则库基于反射机制动态生成或更新fact对象,通过类加载class loader动态加载fact对象发布到规则引擎,更新规则与规则引擎散列表关系。
39.该基于drool的动态规则解决方法,提供规则可视化页面来管理规则库,页面提供新增、更新某条规则功能,利用反射机制动态生成或更新fact对象,通过类加载class loader动态加载fact对象发布到规则引擎,更新规则与规则引擎散列表关系,达到规则及
时更新与发布、及想及用、不需重载服务。
40.进一步的,规则库在单一表示的情况下,其规则表达式采用aviator表达引擎、mvel表达引擎其中的一种或多种。
41.进一步的,为了对规则模板数据进行实时的监控,规则模板同时存储在本地计算机的存储器和互联网网盘中,且本地计算机的存储器和互联网网盘中均对规则模板进行备份,并设置单位核对时间对本地计算机的存储器和互联网网盘中的规则模板文件进行数据核对。单位核对时间为1h。通过对规则模板数据进行实时的监控,能够保证规则模板的数据不会出现因丢失导致设备不能正常运行的现象,保证设备能够稳定的运行,提升对数据的处理效率。
42.为了保证数据规则的处理效率,处理器包括云计算处理设备,云计算处理设备通过网络模块进行实时的数据处理。网络模块包括但不限于:5g网络、4g网络、wifi网络和本地光纤网络,在本地计算机中处理器损坏的情况下,通过云计算处理设备实现实时的规则及时更新与发布,保证设备可以正常稳定的运作。
43.该基于drool的动态规则解决方法,业务规则与系统代码分离,实现业务规则的集中管理,提高系统可维护性和维护成本,在不重启服务的情况下可随时对业务规则进行扩展和维护,可以动态修改业务规则,快速响应需求变更,规则引擎是相对独立的,只关心业务规则,使得业务分析人员也可以参与编辑、维护系统的业务规则,减少了硬编码业务规则的成本和风险,使用规则引擎提供的规则编辑工具,使复杂的业务规则实现变得的简单。
44.本发明还提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时,实现上述的一种基于drool的动态规则解决方法的步骤。同时还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现上述的一种基于drool的动态规则解决方法的步骤。两者实现基于drool的动态规则解决方法时,提供规则可视化页面来管理规则库,页面提供新增、更新某条规则功能,利用反射机制动态生成或更新fact对象,通过类加载class loader动态加载fact对象发布到规则引擎,更新规则与规则引擎散列表关系,达到规则及时更新与发布、及想及用、不需重载服务。
45.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献