一种流式规则引擎及业务数据处理方法技术

技术编号:21628904 阅读:48 留言:0更新日期:2019-07-17 11:04
本发明专利技术公开一种流式规则引擎及业务数据处理方法。该流式规则引擎:包括业务规则配置模块和处理模块;其中,所述业务规则配置模块部署在Flink框架平台中的一设备上,用于配置业务规则数据;所述处理模块部署在Flink框架平台中的其他分布式设备上,用于从所述一设备上获取所述配置的业务规则数据,对获取的业务规则数据进行解析,将解析出的业务规则数据与业务数据进行规则匹配处理,输出处理结果。本发明专利技术提供的技术方案,能提高业务数据聚合速度和提高运算能力,更适合用户进行业务上的大量聚合操作,且适用于开源环境。

A Flow Rule Engine and Business Data Processing Method

【技术实现步骤摘要】
一种流式规则引擎及业务数据处理方法
本专利技术涉及计算机大数据
,具体涉及一种流式规则引擎及业务数据处理方法。
技术介绍
目前在很多企业的IT业务系统中,经常会有大量的业务规则配置,当企业管理者的决策发生变化时,这些业务规则也需要随之发生变化。为了适应企业管理变化的需求,企业的IT业务系统需要能快速且低成本进行更新。现有技术中,一般是将业务规则的配置单独提取出来,使之与业务系统保持低耦合,而实现这样的功能的程序,已经被开发成为规则引擎。所谓规则引擎,是一种推理引擎,它是根据已有的事实,从规则知识库中匹配规则,并处理存在冲突的规则,执行最后筛选通过的规则。因此,规则引擎是人工智能研究领域的一部分,具有一定的选择判断性、人工智能性和富含知识性。同时,规则引擎是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。大多数的规则引擎都支持规则的次序和规则冲突检验,支持简单脚本语言的规则实现,支持通用开发语言的嵌入开发。目前业内有多个规则引擎可供使用,比较流行的规则引擎包括商业规则引擎iLog和开源规则引擎Drools等。在Drools中,规则被存放在ProductionMemory(规则库)中,推理机要匹配的facts(事实)被存在WorkingMemory(工作内存)中。当事实被插入到工作内存中后,规则引擎会把事实和规则库里的模式进行匹配,对于匹配成功的规则再由Agenda(代理器)负责具体执行推理算法中被激发规则的结论部分,同时Agenda通过冲突决策策略来管理这些冲突规则的执行顺序。现有技术中,使用的最多的是一款基于Java语言的开源规则引擎,它的最大优势在于语法规则简单,类似Java编写门槛不高,能够无缝化与Java集成且用户可以对Drools规则进行动态配置,但该规则引擎存在比较明显的缺点:由于Drools引擎大都是单机部署,运算能力很难扩展,因此导致内置聚合功能速度缓慢,不适合企业自身或者客户使用场景下的大量聚合操作任务;另外,其内置事件序列处理机制也需要消耗大量内存资源。因此,现有技术中的大多数开源规则引擎,面对业务数据量迅猛增长的大规模数据时,会显得无能为力。专利申请号为“201310641753.6”的专利技术专利中公开了一种分布式规则引擎系统,将规则分布到多个规则引擎之上,通过多个规则引擎进行处理,可以一定程度地扩展运算能力,但该种分布式规则引擎是基于Rete网络,只是公司内部研发使用,没有经过如Google、Uber、Airbnb、Amazon、Apple、Facebook和阿里巴巴等大公司的大数据量的考验,所以在大数据量的时候,就会凸显在运行速度、扩展性和资源使用率等方面性能差,协调各个机器的进行分布式处理能力不强。该种分布式规则引擎由于缺乏开源社区的支持,导致易用性不强,软件更新升级速度慢,出现问题后,修复问题的周期慢,修复能力不足;且该种分布式规则引擎系统是由多个规则引擎进行协同处理,由于各个规则引擎的规则不同,导致每个规则引擎处理后的结果数据,都需要进行跨网络传输,当数据量大的时候,传输效率特别低,对Rete网络造成很大的压力,而且缺乏容错机制和监控机制和管理机制,导致规则引擎之间协调性差,对各个规则引擎监控和管理能力差,不能协调各个规则引擎对系统的资源的分配,可能出现部分规则引擎需要的资源增大导致各个规则引擎哄抢系统资源,使得整个分布式规则引擎系统崩塌的问题。因此,很需要一种更适合开源的规则引擎能解决上述问题。
技术实现思路
有鉴于此,本专利技术的目的在于提出一种流式规则引擎及业务数据处理方法,能提高业务数据聚合速度和提高运算能力,更适合用户进行业务上的大量聚合操作,且适用于开源环境。根据本专利技术的一方面,提供一种流式规则引擎:包括业务规则配置模块和处理模块;其中,所述业务规则配置模块部署在Flink框架平台中的一设备上,用于配置业务规则数据;所述处理模块部署在Flink框架平台中的其他分布式设备上,用于从所述一设备上获取所述配置的业务规则数据,对获取的业务规则数据进行解析,将解析出的业务规则数据与业务数据进行规则匹配处理,输出处理结果。优选的,所述处理模块包括:业务规则获取模块、业务规则解析模块、业务数据处理模块和结果输出模块,所述业务规则获取模块、业务规则解析模块、业务数据处理模块和结果输出模块同时设置在每个所述其他分布式设备上,其中所述其他分布式设备包括任务管理器所在的设备;所述业务规则获取模块,用于从所述一设备上获取所述配置的业务规则数据,其中所述一设备包括工作管理器所在的设备;所述业务规则解析模块,用于对所述业务规则获取模块获取的业务规则数据进行解析;所述业务数据处理模块,用于将所述业务规则解析模块解析出的业务规则数据与业务数据进行规则匹配处理;所述结果输出模块,用于输出所述业务数据处理模块的处理结果。优选的,所述业务规则配置模块通过设置的规则配置页面配置业务规则数据。优选的,所述业务规则配置模块配置业务规则数据后,将所述业务规则数据采用JSON格式存储到数据库中;所述业务规则解析模块,解析所述JSON格式的业务规则数据。优选的,所述业务规则获取模块获取所述配置的业务规则数据后,将判断为有效的业务规则数据转成流式数据传输给所述业务规则解析模块。根据本专利技术的另一方面,提供一种业务数据处理方法:通过流式规则引擎的业务规则配置模块配置业务规则数据,其中所述业务规则配置模块部署在Flink框架平台中的一设备上;通过流式规则引擎的处理模块从所述一设备上获取所述配置的业务规则数据,对获取的业务规则数据进行解析,将解析出的业务规则数据与业务数据进行规则匹配处理,输出处理结果,其中所述处理模块部署在Flink框架平台中的其他分布式设备上。优选的,所述从所述一设备上获取所述配置的业务规则数据,包括:通过所述处理模块中的业务规则获取模块从所述一设备上获取所述配置的业务规则数据,其中所述一设备包括工作管理器所在的设备;所述对获取的业务规则数据进行解析,包括:通过所述处理模块中的业务规则解析模块对所述业务规则获取模块获取的业务规则数据进行解析;所述将解析出的业务规则数据与业务数据进行规则匹配处理,包括:通过所述处理模块中的业务数据处理模块将所述业务规则解析模块解析出的业务规则数据与业务数据进行规则匹配处理;所述输出处理结果,包括:通过所述处理模块中的结果输出模块输出所述业务数据处理模块的处理结果;其中所述业务规则获取模块、业务规则解析模块、业务数据处理模块和结果输出模块同时设置在每个所述其他分布式设备上,其中所述其他分布式设备包括任务管理器所在的设备。优选的,所述业务规则配置模块通过设置的规则配置页面配置业务规则数据。优选的,所述业务规则配置模块配置业务规则数据后,将所述业务规则数据采用JSON格式存储到数据库中;所述业务规则解析模块,解析所述JSON格式的业务规则数据。优选的,所述业务规则获取模块获取所述配置的业务规则数据后,将判断为有效的业务规则数据转成流式数据传输给所述业务规则解析模块。通过上述内容可以发现,本专利技术实施例所提供的方案,提供了一种新的流式规则引擎,该流式规则引擎包括业务规则配置模块和处理模块;其中,所述业务规则配置模块本文档来自技高网
...

【技术保护点】
1.一种流式规则引擎,其特征在于:包括业务规则配置模块和处理模块;其中,所述业务规则配置模块部署在Flink框架平台中的一设备上,用于配置业务规则数据;所述处理模块部署在Flink框架平台中的其他分布式设备上,用于从所述一设备上获取所述配置的业务规则数据,对获取的业务规则数据进行解析,将解析出的业务规则数据与业务数据进行规则匹配处理,输出处理结果。

【技术特征摘要】
1.一种流式规则引擎,其特征在于:包括业务规则配置模块和处理模块;其中,所述业务规则配置模块部署在Flink框架平台中的一设备上,用于配置业务规则数据;所述处理模块部署在Flink框架平台中的其他分布式设备上,用于从所述一设备上获取所述配置的业务规则数据,对获取的业务规则数据进行解析,将解析出的业务规则数据与业务数据进行规则匹配处理,输出处理结果。2.根据权利要求1所述的系统,其特征在于:所述处理模块包括:业务规则获取模块、业务规则解析模块、业务数据处理模块和结果输出模块,所述业务规则获取模块、业务规则解析模块、业务数据处理模块和结果输出模块同时设置在每个所述其他分布式设备上,其中所述其他分布式设备包括任务管理器所在的设备;所述业务规则获取模块,用于从所述一设备上获取所述配置的业务规则数据,其中所述一设备包括工作管理器所在的设备;所述业务规则解析模块,用于对所述业务规则获取模块获取的业务规则数据进行解析;所述业务数据处理模块,用于将所述业务规则解析模块解析出的业务规则数据与业务数据进行规则匹配处理;所述结果输出模块,用于输出所述业务数据处理模块的处理结果。3.根据权利要求1或2所述的系统,其特征在于:所述业务规则配置模块通过设置的规则配置页面配置业务规则数据。4.根据权利要求2所述的系统,其特征在于:所述业务规则配置模块配置业务规则数据后,将所述业务规则数据采用JSON格式存储到数据库中;所述业务规则解析模块,解析所述JSON格式的业务规则数据。5.根据权利要求2所述的系统,其特征在于:所述业务规则获取模块获取所述配置的业务规则数据后,将判断为有效的业务规则数据转成流式数据传输给所述业务规则解析模块。6.一种业务数据处理方法,其特征在于:通过流式规则引擎的业务规则配置模块配置业务...

【专利技术属性】
技术研发人员:郑文康江勇
申请(专利权)人:广州亚美信息科技有限公司
类型:发明
国别省市:广东,44

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

1