本发明涉及规则引擎领域,具体地,涉及一种融合历史计算的实时规则引擎的构建方法及系统。
背景技术:
1、规则引擎由推理引擎发展而来,是一种独立于应用程序的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。
2、工业生产数据通过实时规则引擎系统(高并发执行大规模的规则)进行在线监测,仅仅使用实时数据的简单规则无法满足复杂业务场景,需要结合历史数据进行计算。但传统的计算方式存在着诸多问题:
3、(1)频繁读取大量历史数据会导致存储引擎无法支撑。
4、(2)大量历史数据直接参与计算会导致巨大的资源消耗。
5、(3)读取大量历史数据会因长时间的等待而导致实时计算堵塞。
6、在公开号为cn113641654a的中国专利文献中,公开了一种基于实时事件的营销处置规则引擎方法,包括建立元数据管理模型,用于对数据的标准进行统一;根据元数据管理模型和规则引擎建立营销规则;根据事件类型和营销活动类型,扩展补充事件数据;采用开源技术框架计算引擎批量处理进行数据计算引擎;采用连续性规则处理运算对业务数据营销规则处理,获得业务数据处理结果;根据业务数据处理结果通知业务系统进行营销服务;批量获取历史数据,顺序写入实时规则引擎中,将历史数据按照指定营销活动规则过滤计算,得到计算结果。但该专利文献是通过建立元数据管理模型实现缩短数据处理的时间,与本发明采用的技术及方法存在本质性不同,且并不能很好的解决上述问题。
技术实现思路
1、针对现有技术中的缺陷,本发明的目的是提供一种融合历史计算的实时规则引擎的构建方法及系统。
2、根据本发明提供的一种融合历史计算的实时规则引擎的构建方法,包括:
3、步骤s1:设置管理计算单元的入口,生成配置信息;
4、步骤s2:根据配置信息提供一个基于计算单元配置规则的入口;
5、步骤s3:将业务规则拆分成多个细粒度的计算单元并执行;
6、步骤s4:获取历史数据及实时数据;将历史数据补算后,缓存并生成中间结果;
7、步骤s5:基于实时数据及生成的中间结果完成计算,并再次缓存本次的中间结果。
8、优选的,所述管理计算单元的入口包括管理计算单元及其可执行程序;所述可执行程序的功能包括上传、更新和下载。
9、优选的,所述基于计算单元配置规则的入口的功能包括管理规则、编辑规则、调试规则、发布规则、部署规则;所述编辑规则与所述管理计算单元的入口交互获取计算单元配置信息;所述部署规则与所述步骤s3和所述步骤s4进行交互。
10、优选的,所述步骤s3包括以下子步骤:
11、步骤s3.1:根据预设顺序调度计算单元;
12、步骤s3.2:根据业务规则执行上下文,并与所述步骤s4交互完成整个业务规则的执行;所述上下文由前序计算单元的计算结果构建。
13、优选的,所述步骤s4包括以下子步骤:
14、步骤s4.1:下载、缓存并执行计算单元的程序;
15、步骤s4.2:将计算单元的中间结果按业务规则和计算单元粒度进行存储。
16、优选的,所述中间结果在数量级上小于所述历史数据。
17、根据本发明提供的一种融合历史计算的实时规则引擎的构建系统,包括:
18、计算单元管理模块:设置管理计算单元的入口,生成配置信息;
19、规则配置模块:根据配置信息提供一个基于计算单元配置规则的入口;
20、规则执行模块:将业务规则拆分成多个细粒度的计算单元并执行;
21、历史数据补算模块:获取历史数据及实时数据;将历史数据补算后,缓存并生成中间结果;
22、计算单元执行模块:基于实时数据及生成的中间结果完成计算,并再次缓存本次的中间结果;
23、优选的,所述管理计算单元的入口包括管理计算单元及其可执行程序;所述可执行程序的功能包括上传、更新和下载。
24、优选的,所述基于计算单元配置规则的入口的功能包括管理规则、编辑规则、调试规则、发布规则、部署规则;所述编辑规则与所述管理计算单元的入口交互获取计算单元配置信息;所述部署规则与所述历史数据补算模块和所述规则执行模块进行交互。
25、优选的,所述规则执行模块包括以下子模块:
26、规则执行子模块1:根据预设顺序调度计算单元;
27、规则执行子模块2:根据业务规则执行上下文,并与所述步骤s4交互完成整个业务规则的执行;所述上下文由前序计算单元的计算结果构建。
28、优选的,所述历史数据补算模块包括以下子模块:
29、历史数据补算子模块1:下载、缓存并执行计算单元的程序;
30、历史数据补算子模块2:将计算单元的中间结果按业务规则和计算单元粒度进行存储。
31、优选的,所述中间结果在数量级上小于所述历史数据。
32、与现有技术相比,本发明具有如下的有益效果:
33、1、本发明能够将复杂的业务规则拆分成多个按照一定顺序执行的细粒度逻辑单一的计算单元,将实时数据、历史数据混合并通过前一次的中间结果来完成计算;且中间结果在数量级上的差距远远小于历史数据的规模。
34、2、本发明尽可能地避免了在实时规则执行中读取大量的历史数据,使用较少的资源,满足了实时规则需要结合历史数据进行计算的需求。
35、3、本发明通过使用支持细粒度大规模的高效缓存技术对中间结果进行缓存,解决了大规模高并发规则执行的实时性问题。
36、4、本发明通过获取一定时期的历史数据并进行补算,生成实时规则执行过程所需的初始中间结果,解决了实时规则会根据判定效果动态调整的问题。
37、本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。
1.一种融合历史计算的实时规则引擎的构建方法,其特征在于,包括:
2.根据权利要求1所述的一种融合历史计算的实时规则引擎的构建方法,其特征在于,所述管理计算单元的入口包括管理计算单元及其可执行程序;所述可执行程序的功能包括上传、更新和下载。
3.根据权利要求1所述的一种融合历史计算的实时规则引擎的构建方法,其特征在于,所述基于计算单元配置规则的入口的功能包括管理规则、编辑规则、调试规则、发布规则、部署规则;所述编辑规则与所述管理计算单元的入口交互获取计算单元配置信息;所述部署规则与所述步骤s3和所述步骤s4进行交互。
4.根据权利要求1所述的一种融合历史计算的实时规则引擎的构建方法,其特征在于,所述步骤s3包括以下子步骤:
5.根据权利要求1所述的一种融合历史计算的实时规则引擎的构建方法,其特征在于,所述步骤s4包括以下子步骤:
6.根据权利要求1所述的一种融合历史计算的实时规则引擎的构建方法,其特征在于,所述中间结果在数量级上小于所述历史数据。
7.一种融合历史计算的实时规则引擎的构建系统,其特征在于,包括:
8.根据权利要求7所述的一种融合历史计算的实时规则引擎的构建系统,其特征在于,所述管理计算单元的入口包括管理计算单元及其可执行程序;所述可执行程序的功能包括上传、更新和下载。
9.根据权利要求7所述的一种融合历史计算的实时规则引擎的构建系统,其特征在于,所述基于计算单元配置规则的入口的功能包括管理规则、编辑规则、调试规则、发布规则、部署规则;所述编辑规则与所述管理计算单元的入口交互获取计算单元配置信息;所述部署规则与所述历史数据补算模块和所述规则执行模块进行交互。
10.根据权利要求7所述的一种融合历史计算的实时规则引擎的构建系统,其特征在于,所述规则执行模块包括以下子模块: