规则引擎的数据处理方法、电子设备与存储介质与流程
- 国知局
- 2024-11-21 12:16:15
本发明创造涉及数据处理,特别是涉及一种规则引擎的数据处理方法、电子设备与存储介质。
背景技术:
1、规则引擎可以解决硬编码实现业务规则带来的问题,如难以维护、难以应对变化,以及业务规则发生变化时需要修改代码和重启服务。规则引擎的独立性使得业务分析人员也可以参与编辑和维护系统的业务规则,提高了系统的可扩展性、可维护性。
2、规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件。规则引擎有很多开源实现,如drools、groovy等。这些规则引擎的组件本身比较重,可视化配置与应用系统集成支持不太友好,进而可能导致使用效率较低,使用难度较高。
3、针对相关技术中的规则引擎需要依赖数据量大的开源程序组件,难以支持集成,导致使用效率较低,使用难度较高的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本发明创造实施例提供的一种规则引擎的数据处理方法、电子设备与存储介质,至少解决相关技术中的规则引擎需要依赖数据量大的开源程序组件,难以支持集成,导致使用效率较低,使用难度较高的问题。
2、本发明创造实施例提供的一种规则引擎的数据处理方法,包括:通过解析器,从业务规则库中读取业务规则,并解析为目标表达式;通过运行器利用输入数据,运行所述目标表达式,确定所述输入数据的执行结果;根据所述执行结果,确定后续执行的业务规则,并继续从所述业务规则库中读取对应的业务规则,进行解析和执行。
3、作为一种可选的实施例,通过解析器,从业务规则库中读取业务规则,并解析为目标表达式之前,所述方法还包括:响应业务规则的定义操作,显示对应的可视化界面;响应所述可视化界面中对业务规则的编辑操作,将编辑后的业务规则输入业务规则库。
4、作为一种可选的实施例,将编辑后的业务规则输入业务规则库,包括:将所述业务规则采用树形结构存储到所述业务规则库;在所述业务规则库中通过双亲表示法,存储所述树形结构的业务规则,其中,所述树形结构的业务规则包括多个节点,所述节点包括下列至少之一:节点id、业务属性、操作符、业务值、父节点id、节点描述。
5、作为一种可选的实施例,通过解析器,从业务规则库中读取业务规则,并解析为目标表达式,包括:通过遍历读取的业务规则,构造业务规则的节点和业务规则子节点的哈希表,其中,所述哈希表的数据结构为平层结构;通过解析器解析所述哈希表中业务规则的节点,将所述哈希表的子节点解析成子目标表达式,并存储进链表,其中,所述链表的数据结构为树状结构;通过解析所述树状结构,将业务规则解析成目标表达式。
6、作为一种可选的实施例,通过解析器解析业务规则的节点,将所述哈希表的子节点解析成子目标表达式,包括:通过所述解析器解析当前节点,其中,所述当前节点为当前解析的业务规则的节点;在所述当前节点没有子节点的情况下,根据所述当前节点的表达式参数,生成对应的目标表达式,其中,所述表达式参数包括下列至少之一:左表达式、操作符、右表达式;在所述当前节点有子节点的情况下,通过解析器解析所述子节点,并生成所述子节点与所述当前节点的递归调用关系。
7、作为一种可选的实施例,根据所述当前节点的表达式参数,生成对应的目标表达式,包括:在所述当前节点的表达式参数包括前缀类型的操作符的情况下,确定所述链表有单个子节点,将所述表达式参数按照第一模式生成目标表达式;在所述当前节点的表达式参数包括中缀类型的操作符的情况下,确定所述链表有多个子节点,将所述表达式参数按照第二模式生成目标表达式;在所述目标表达式中,所述子节点对应的子表达式数量为多个的情况下,在子表达式前后加上左括号和右括号。
8、作为一种可选的实施例,通过运行器利用输入数据,运行所述目标表达式,确定所述输入数据的执行结果,包括:创建表达式上下文,以及对应的默认解析器;通过输入数据,修改所述表达式上下文的对应变量,以将所述默认解析器设置为所述解析器;通过所述解析器解析业务规则,装载和执行所述目标表达式,输出执行结果。
9、本发明创造实施例提供的一种电子设备,包括:处理器,以及存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上文所述的一种规则引擎的数据处理方法。
10、本发明创造实施例提供的一种存储有计算机指令的非瞬时机器可读介质,所述计算机指令用于使所述计算机执行上文所述的一种规则引擎的数据处理方法。
11、本发明创造实施例提供的一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时,实现上文所述的一种规则引擎的数据处理方法。
12、本发明创造实施例提供的规则引擎的数据处理方法,通过解析器,从业务规则库中读取业务规则,并解析为目标表达式;通过运行器利用输入数据,运行所述目标表达式,确定所述输入数据的执行结果;根据所述执行结果,确定后续执行的业务规则,并继续从所述业务规则库中读取对应的业务规则,进行解析和执行;即利用解析器、运行器将业务规则解析成目标表达式运行,不需要调用开源程序组件,其解决了相关技术中规则引擎需要依赖数据量大的开源程序组件,难以支持集成,导致使用效率较低,使用难度较高的问题,达到了降低规则引擎的使用难度和数据量、提高使用效率、提高系统集成度的技术效果。
技术特征:1.一种规则引擎的数据处理方法,其特征在于,包括:
2.根据权利要求1所述的一种规则引擎的数据处理方法,其特征在于,通过解析器,从业务规则库中读取业务规则,并解析为目标表达式之前,所述方法还包括:
3.根据权利要求2所述的一种规则引擎的数据处理方法,其特征在于,将编辑后的业务规则输入业务规则库,包括:
4.根据权利要求1所述的一种规则引擎的数据处理方法,其特征在于,通过解析器,从业务规则库中读取业务规则,并解析为目标表达式,包括:
5.根据权利要求4所述的一种规则引擎的数据处理方法,其特征在于,通过解析器解析业务规则的节点,将所述哈希表的子节点解析成子目标表达式,包括:
6.根据权利要求5所述的一种规则引擎的数据处理方法,其特征在于,根据所述当前节点的表达式参数,生成对应的目标表达式,包括:
7.根据权利要求1所述的一种规则引擎的数据处理方法,其特征在于,通过运行器利用输入数据,运行所述目标表达式,确定所述输入数据的执行结果,包括:
8.一种电子设备,包括:处理器,以及存储程序的存储器,其特征在于,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1至7中任一项所述的一种规则引擎的数据处理方法。
9.一种存储有计算机指令的非瞬时机器可读介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1至7中任一项所述的一种规则引擎的数据处理方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时,实现权利要求1至7中任一项所述的一种规则引擎的数据处理方法。
技术总结本发明公开了一种规则引擎的数据处理方法、电子设备与存储介质,涉及数据处理技术领域;该方法包括:通过解析器,从业务规则库中读取业务规则,并解析为目标表达式;通过运行器利用输入数据,运行目标表达式,确定输入数据的执行结果;根据执行结果,确定后续执行的业务规则,并继续从业务规则库中读取对应的业务规则,进行解析和执行;从而解决相关技术中的规则引擎需要依赖数据量大的开源程序组件,难以支持集成,导致使用效率较低,使用难度较高的问题。技术研发人员:孙志军,夏侃,郑旭蕾,贺伟国,刘文韬,蔡朱静,华路,金亮亮受保护的技术使用者:宁波港信息通信有限公司技术研发日:技术公布日:2024/11/18本文地址:https://www.jishuxx.com/zhuanli/20241120/335091.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。