一种流架构的规则引擎架构、系统及方法技术方案

技术编号:35480756 阅读:17 留言:0更新日期:2022-11-05 16:31
本发明专利技术公开了一种流架构的规则引擎架构、系统及方法,包括:解析组件:用于获取规则,并对所述规则进行规则适配;关联组件:用于获取不同产品下多个物联设备的日志;规则引擎:用于根据所述携带规则ID的日志,获取与所述规则ID对应的规则表达式,基于所述规则表达式,生成规则系统,将所述携带规则ID的日志输入规则系统,生成匹配结果消息并输出。本发明专利技术采用更加符合物联设备场景的技术框架(流处理框架、消息中间件、CEP)。没有采用数据库,数据链路更短,处理时间更短,使用可以避免简单规则带来的误报问题,同时能够实现更加复杂的规则。同时能够实现更加复杂的规则。同时能够实现更加复杂的规则。

【技术实现步骤摘要】
一种流架构的规则引擎架构、系统及方法


[0001]本专利技术涉及网络安全
,具体涉及一种流架构的规则引擎架构、系统及方法。

技术介绍

[0002]目前大多数的物联设备的可靠性不高,导致上报的日志也不可靠。对不可靠的单条日志进行规则判断来生成事件会容易引起误报问题,所以需要考虑连续一段时间内的物联设备日志之间的关系。根据资料可知,如果发生特定事件(火灾),则同一区域的多个物联设备(烟感探测器、温度传感器等)在一段时间内会持续报警。反映到日志上,同一区域的物联设备会持续上报告警信息,即物联设备的日志之间存在某种关系。
[0003]现有技术大多基于(可靠性不高的)物联设备的一条日志判断某一个属性和阈值之间的关系,或几个属性和阈值之间的关系的逻辑组合来生成(告警)事件,针对可靠性不高的物联设备,生成事件不符合逻辑,容易引起误报问题。

技术实现思路

[0004]本专利技术的目的在于提供一种流架构的规则引擎架构、系统及方法,使用流处理框架(Flink)从消息中间件(Kafka)中读取日志和规则,对规则进行预处理,对规则使用CEP技术(Siddhi)生成规则引擎,使用规则引擎处理日志信息,生成事件返回给流处理框架,流处理框架将生成的事件发送给消息中间件,从而实现更加复杂的规则,降低误报率。
[0005]一种流架构的规则引擎架构,包括:
[0006]解析组件:用于获取规则,并对所述规则进行规则适配,获得规则表达式及其对应的规则ID,并将所述规则表达式发送至规则引擎,所述规则为针对不同产品下多个设备的规则;
[0007]关联组件:用于获取不同产品下多个物联设备的日志,并根据所述日志进行标记获得携带规则ID的日志,并将所述携带规则ID的日志发送至规则引擎;
[0008]规则引擎:用于根据所述携带规则ID的日志,获取与所述规则ID对应的规则表达式,基于所述规则表达式,生成规则系统,将所述携带规则ID的日志输入规则系统,生成匹配结果消息并输出。
[0009]进一步地,所述规则系统,通过以下步骤得到:
[0010]提取所述携带规则ID的日志中的规则ID;
[0011]根据所述规则ID获取对应的规则表达式,生成规则集,其中所述规则集中的每个规则表达式与规则ID一一对应;
[0012]将所述规则集中的规则表达式按照特定顺序加载生成规则系统。
[0013]进一步地,所述携带规则ID的日志,具体由以下步骤得到:
[0014]从所述日志中,提取与日志一一对应的产品编码,根据所述产品编码获取与同一产品编码的至少一个规则,其中每个规则具备一一对应的规则ID;
[0015]根据所述规则从日志中解析生成多个匹配的字段,并分别对所述字段标记对应的规则ID;
[0016]将所述多个匹配的字段及其对应的规则ID作为携带规则ID的日志。
[0017]进一步地,所述规则集包括基础规则表达式,所述基础规则表达式为对应于设备的属性与属性阈值之间的关系表达式。
[0018]进一步地,所述规则集还包括各个基础规则表达式的逻辑组合的组合规则表达式,所述逻辑组合包括“或”和“与”;所述“或”关系:当日志符合所述组合规则表达式中任一个规则表达式即视为满足该组合规则表达式;所述“与”关系:当日志符合所述组合规则表达式中所有的规则即视为满足该组合规则表达式。
[0019]进一步地,所述规则包括规则ID、产品编码与触发方式,所述日志包括产品编码与日志内容,所述触发方式包括每M秒有n个物联设备的日志内容符合匹配条件。
[0020]进一步地,所述匹配条件被配置为以下条件的一种:
[0021]某规则表达式被匹配;
[0022]某规则表达式在时间戳A和时间戳B之间被匹配,时间戳A小于时间戳B;
[0023]计算某规则表达式在规定时间内被匹配的次数,在时间戳C和时间戳D之间被匹配的次数达到一定阈值,时间戳C小于时间戳D;
[0024]规则表达式1被匹配的前提下,正则表达式2被匹配。
[0025]进一步地,所述规则适配包括规则解析、规则判定,所述规则在进行规则解析后生成解析规则,所述规则判定,具体包括以下步骤:
[0026]判定所述解析规则是否为启用规则;
[0027]若是,则将所述解析规则进行规则转译,所述规则转译用于根据所述解析规则生成对应的规则表达式,并发送至规则引擎;
[0028]判定所述解析规则是否为禁用规则;
[0029]若是,则停止正在运行的所述解析规则对应的规则系统。
[0030]进一步地,还包括消息中间件,其中:
[0031]所述解析组件,用于从消息中间件中,获取与订阅主题为规则的消息;
[0032]所述关联组件,用于从消息中间件中,获取与订阅主题为日志的消息。
[0033]一种流架构的规则引擎系统,基于所述一种流架构的规则引擎架构的Flink 流处理系统,所述Flink流处理系统不间断地第从Kafka中读取日志和规则,所述Flink流处理系统包括:
[0034]ParsedRule模块:用于将日志解析成系统可识别的规则ParsedRule;
[0035]EnabledRule模块:用于判定解析后的规则ParsedRule是否为启用规则,若是,则对所述规则ParsedRule进行规则匹配;
[0036]DisabledRule模块:用于判定解析后的规则ParsedRule是否为禁用规则,若是,则停止正在运行的所述规则ParsedRule对应的规则;
[0037]SiddhiAppRule模块:用于根据规则匹配的结果生成对应的规则表达式;
[0038]SiddhiManager规则系统:用于对日志进行匹配生成RuleResult;
[0039]InputHandle模块:用于将日志发送给SiddhiAppRuntime模块;
[0040]SiddhiAppRuntime模块:用于根据对应的规则表达式创建的规则实例和运行时环
境。
[0041]一种流架构的规则引擎方法,应用于所述的一种流架构的规则引擎架构,包括:
[0042]通过消息中间件,接收业务系统上报的规则,所述规则为针对不同产品下多个设备的规则;
[0043]通过消息中间件,接收不同产品下多个物联设备上报的日志;
[0044]按照规则匹配策略获取所述日志对应的规则系统并加载,作为本次待执行的规则系统,基于所述日志,执行所述本次待执行的规则系统,得到匹配结果消息;
[0045]向所述消息中间件返回所述匹配结果消息。
[0046]进一步地,所述匹配条件包括设备的至少一个属性与对应的预设阈值之间满足特定关系。
[0047]本专利技术具有的有益效果:
[0048]1、本申请使用流处理框架(Flink)从消息中间件(Kafka)中读取日志和规则,对规则进行预处理,对规则使用CEP技术(Siddhi)本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流架构的规则引擎架构,其特征在于,包括:解析组件:用于获取规则,并对所述规则进行规则适配,获得规则表达式及其对应的规则ID,并将所述规则表达式发送至规则引擎,所述规则为针对不同产品下多个设备的规则;关联组件:用于获取不同产品下多个物联设备的日志,并根据所述日志进行标记获得携带规则ID的日志,并将所述携带规则ID的日志发送至规则引擎;规则引擎:用于根据所述携带规则ID的日志,获取与所述规则ID对应的规则表达式,基于所述规则表达式,生成规则系统,将所述携带规则ID的日志输入规则系统,生成匹配结果消息并输出。2.根据权利要求1所述的一种流架构的规则引擎架构,其特征在于,所述规则系统,通过以下步骤得到:提取所述携带规则ID的日志中的规则ID;根据所述规则ID获取对应的规则表达式,生成规则集,其中所述规则集中的每个规则表达式与规则ID一一对应;将所述规则集中的规则表达式按照特定顺序加载生成规则系统。3.根据权利要求2所述的一种流架构的规则引擎架构,其特征在于,所述携带规则ID的日志,具体由以下步骤得到:从所述日志中,提取与日志一一对应的产品编码,根据所述产品编码获取与同一产品编码的至少一个规则,其中每个规则具备一一对应的规则ID;根据所述规则从日志中解析生成多个匹配的字段,并分别对所述字段标记对应的规则ID;将所述多个匹配的字段及其对应的规则ID作为携带规则ID的日志。4.根据权利要求3所述的一种流架构的规则引擎架构,其特征在于,所述规则集包括基础规则表达式,所述基础规则表达式为对应于设备的属性与属性阈值之间的关系表达式。5.根据权利要求4所述的一种流架构的规则引擎架构,其特征在于,所述规则集还包括各个基础规则表达式的逻辑组合的组合规则表达式,所述逻辑组合包括“或”和“与”;所述“或”关系:当日志符合所述组合规则表达式中任一个规则表达式即视为满足该组合规则表达式;所述“与”关系:当日志符合所述组合规则表达式中所有的规则即视为满足该组合规则表达式。6.根据权利要求1所述的一种流架构的规则引擎架构,其特征在于,所述规则包括规则ID、产品编码与触发方式,所述日志包括产品编码与日志内容,所述触发方式包括每M秒有n个物联设备的日志内容符合匹配条件。7.根据权利要求6所述的一种流架构的规则引擎架构,其特征在于,所述匹配条件被配置为以下条件的一种:某规则表达式被匹配;某规则表达式在时间...

【专利技术属性】
技术研发人员:宋志国方舟丁强郭鹏饶龙强叶超
申请(专利权)人:成都智元汇信息技术股份有限公司
类型:发明
国别省市:

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

1