[发明专利]基于规则引擎的规则事件动态加载与更新方法及相关设备有效

专利信息
申请号: 202210779345.6 申请日: 2022-07-04
公开(公告)号: CN115129736B 公开(公告)日: 2023-08-18
发明(设计)人: 王晓峰;邓秀东 申请(专利权)人: 东方合智数据科技(广东)有限责任公司
主分类号: G06F16/23 分类号: G06F16/23;G06F16/28;G06F9/54;G06F9/455
代理公司: 深圳市君胜知识产权代理事务所(普通合伙) 44268 代理人: 陈专;杨宏
地址: 528237 广东省佛山市南海*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 规则 引擎 事件 动态 加载 更新 方法 相关 设备
【权利要求书】:

1.一种基于规则引擎的规则事件动态加载与更新方法,其特征在于,所述基于规则引擎的规则事件动态加载与更新方法包括:

调用Flink在无边界和有边界数据流上进行有状态的计算,所述计算包括检查点和恢复机制,所述恢复机制基于Chandy-Lamport算法对分布式快照的检查点进行保存,所述检查点的算法采用检查点分界线数据形式,所述检查点分界线数据形式指对所述恢复机制的恢复形式进行分界线处理后的数据恢复,其中,所述分界线处理是指分界线前未到的数据进行丢弃且不进行恢复,通过所述分界线处理区分应用崩溃后的数据恢复;所述恢复机制的特性包括:批流一体化、精密的状态管理、事件时间支持、精确一次的状态一致性保障以及开发毫秒级响应的实时数据分析程序;调用Kafka接收Canal的日志并以json格式写入Flink中,进行规则动态变化分析,对租户新增和更新的规则进行监控,并在Flink中进行实时数据处理,其中,所述Kafka是一种高吞吐量的分布式发布订阅消息系统,用于处理消费者在网站中的所有动作流数据;

调用HBase组件用于存储,所述HBase组件将用户属性与标签定义进行保存,所述用户属性包括租户ID、租户名、机器用电量以及用电度数;所述标签定义包括基本标签、分析标签、统计标签以及挖掘标签;

当租户通过页面访问系统查询时触发规则事件,在触发规则事件时将对应的机器参数带入;获取所述租户的行为属性条件,所述行为属性包括:机器转速查阅、电量查阅以及用墨量指标查阅;所述触发规则事件的条件包括:租户画像属性条件、行为次数类条件及行为次序类条件;

将所述触发规则事件的条件在对应的数据库进行记录,所述触发规则事件的条件用于记录租户的查询访问行为以及行为查询次数,所述行为查询次数构成了一个原子条件;

将所述触发规则事件的条件进行排序,所述触发规则的条件与标签结合形成一组查询原子条件;

获取租户画像库里存在对应的客户信息,当所述客户信息和符合所有选择的条件标签都存在时,返回有效的查询结果并将查询行为条件保存到Flink中,并记录为行为状态;

当不满足所有查询标签时,系统处理给予提示,所述租户画像库中的画像标签明细和查询行情条件的结果通过SQL写入ClickHouse中进行记录,其中,所述画像标签明细和所述查询行情条件结果用于实时数据分析准备;

调用ClickHouse组件,所述ClickHouse组件是一个用于联机分析的列式数据库管理系统,在所述ClickHouse组件中,数据始终按列存储,包括矢量执行的过程;所述ClickHouse组件有利于降低实际的数据处理开销;

通过数据采集批量写入事件明细数据并保存到行为事件表,获取所述租户查询行为条件的时间,当所述时间超过预设时间时,通过所述行为事件表进行查询,其中,所述租户查找的条件以及所述查找的条件的对应事件不相同;

通过SQL模版在程序中以拼接字符串的方式对传入的租户事件参数进行拼接实现动态参数传入,并使用路径匹配函数实现精确查询,将短时查询业务和长周期查询业务合并为整个规则业务查询服务,并通过租户事件关联租户标签和租户行为明细数据的查询,使租户直观查看机器的运转状况和数据指标,其中,数据的查询服务用于实时分析调用;

调用规则引擎,将业务决策从应用程序代码中分离,并使用预定义的语义模块编写业务决策,接收数据输入,解释业务规则,并根据业务规则做出业务决策;

所述规则引擎使用Rete算法对所编写的规则求值,匹配速度与规则数目无关,通过形成一个Rete网络进行模式匹配,利用基于规则的系统的时间冗余性和结构相似性提高系统模式匹配效率,根据所述Rete算法不断循环将所有规则进行处理,生成RETE推理网络;

所述调用规则引擎,将业务决策从应用程序代码中分离,并使用预定义的语义模块编写业务决策,接收数据输入,解释业务规则,并根据业务规则做出业务决策,之后还包括:

加入规则引擎后,在界面进行自定义规则,任意制定事件组合,事件或事件中的指标组合皆为动态无规律,所述动态无规律是指租户具有控制事件随意改变和增删,以及控制所述事件中的指标组合随机增减添加变化的权限,根据用户需求制定规则和不同计算公式写入系统后,规则事件配置成动态的DRL文件模板,并将DRL文件模板转为字符串形式写入Mysql数据库,再读取Mysql数据库动态添加的规则;

使用Canal将Mysql数据库中新增、删除或者更新的数据,通过消息中间件Kafka传输到实时分析系统中,并保存为可解析的JSON数据格式;

所述Canal用于伪装成数据库从库,模拟从库的交互协议向数据库主库发送dump协议,数据库主库收到Canal发送过来的dump请求后,开始推送数据库增量日志给Canal,Canal解析据库增量日志,再发送到存储目的地;

所述Mysql数据库用于定义规则事件表;

所述规则事件表包括:触发事件、触发人、所属规则、触发次数限制、用户实际已触发次数、事件次数阈值查询sql、规则状态、租户基本属性条件、租户画像标签条件、行为阈值条件、行为序列条件、规则判断结果和表定义;

实时分析系统接收消息队列数据,创建Kafka规则事件流读取数据,保存JSON,创建广播流添加并广播规则状态信息给数据分析系统共用;

通过Canal收集Mysql增量到消息队列的数据,所述实时分析系统在界面定义后将规则引擎保存到数据库的规则中,通过消息队列与Flink专用的消息队列处理工具实现消息队列端到端数据一致性和一次精准消费,错误恢复后数据不重复不丢失,并保存JSON;

创建广播流并添加广播规则状态信息给数据分析系统共用,将事件流与广播规则状态流进行双流合并连接,所述双流合并连接的目的是将所述规则事件流与所述广播流的规则状态数据合并相绑定;

所述实时分析系统的流数据分析需要依赖上一个计算结果来获得新的合并数据,并使用处理函数解析所述合并数据来判断规则是否存在;通过解析JSON里面包含所有数据库的记录和查询SQL,判断Rule_Status记录是否为需要的,将解析后的查询规则SQL保存到规则参数对象中,并将规则模板代码保存到规则会话对象;

将查询规则SQL和代码都封装到规则状态对象,并写成实时流状态,系统每新增一个规则,就有一个新的对象与规则名对应,完成单条实时流的处理;

所述单条实时流保存SQL和规则对象并做了广播流与消息队列处理流的合并,完成两个数据集的双流合并,并对合流后的所述广播流与所述消息队列处理流进行独立处理逻辑,共享数据,并保存算子状态;

当所述单条实时流的处理完成后,在所述单条实时流的处理中取出实时流状态中的规则会话对象和规则参数对象,其中,所述规则参数对象中记录了每一条SQL语句;

调用所述数据查询服务获取租户行为条件SQL,将所述行为条件SQL与规则参数SQL进行匹配对比,当完全匹配时保存到Mysql规则结果表并输出到系统展示,当显示结果为不匹配时即新增一条规则;

将规则会话对象写入标签库中进行新增,将规则SQL写入ClickHouse数据库进行添加;

获取数据状态,从所述ClickHouse数据库与标签库中找出相匹配的规则数据,对于规则命名中查到每一个对应记录,若规则与标签不存在,则往相关系统数据库中进行添加,完成规则到数据分析主要流程整体的构建;

当应用程序Class文件由类装载器装载后,在JVM中形成一份描述Class结构的元信息对象,通过元信息对象获知Class的结构信息。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东方合智数据科技(广东)有限责任公司,未经东方合智数据科技(广东)有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210779345.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top