CN111444291A - 一种基于流处理引擎和规则引擎的实时数据告警方法 - Google Patents

一种基于流处理引擎和规则引擎的实时数据告警方法 Download PDF

Info

Publication number
CN111444291A
CN111444291A CN202010230307.6A CN202010230307A CN111444291A CN 111444291 A CN111444291 A CN 111444291A CN 202010230307 A CN202010230307 A CN 202010230307A CN 111444291 A CN111444291 A CN 111444291A
Authority
CN
China
Prior art keywords
rule
engine
alarm
stream
real
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010230307.6A
Other languages
English (en)
Inventor
鲍增凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Eisoo Information Technology Co Ltd
Original Assignee
Shanghai Eisoo Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Eisoo Information Technology Co Ltd filed Critical Shanghai Eisoo Information Technology Co Ltd
Priority to CN202010230307.6A priority Critical patent/CN111444291A/zh
Publication of CN111444291A publication Critical patent/CN111444291A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases

Abstract

本发明涉及一种基于流处理引擎和规则引擎的实时数据告警方法,包括步骤:1、创建告警页面,基于规则引擎配置与目标应用设备匹配的异常信息处理机制,新建实时告警规则;2、配置告警规则后,采用Flink流式处理引擎接收目标应用设备的实时数据,利用Flink流式处理引擎连接事件流和配置流;3、利用关系型数据库存放告警规则;4、Flink流式处理引擎调用规则引擎Drools,规则引擎Drools对事实和规则进行匹配,判断Flink流式处理引擎所接收的数据是否需要进行告警处理,对于符合规则引擎告警的条件发出告警动作;5、规则引擎Drools对规则进行动态更新。与现有技术相比,本发明具有实时、快速响应处理的能力等优点。

Description

一种基于流处理引擎和规则引擎的实时数据告警方法
技术领域
本发明涉及规则引擎数据处理技术领域,尤其是涉及一种基于流处理引擎和规则引擎的实时数据告警方法。
背景技术
在计算机和大数据快速发展的今天,如何在海量的数据中快速定位到需要告警的信息,如何保障系统能够平稳的运行,是很多运维人员、用户关心的事情。
然而,传统的告警技术都是基于历史数据的查询,该方法存在较多缺陷:第一,不能快速的发现需要告警的信息,常常因数据量过于巨大,需要耗费几分钟甚至是几小时才能定位到告警信息;第二,传统的告警技术适用的场景有限,不能适应用户动态的业务需要。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种快速、准确定位海量数据中告警信息,帮助用户排查系统故障和潜在风险的基于流处理引擎和规则引擎的实时数据告警方法。
本发明的目的可以通过以下技术方案来实现:
一种基于流处理引擎和规则引擎的实时数据告警方法,包括如下步骤:
步骤1、创建告警页面,基于规则引擎配置与目标应用设备匹配的异常信息处理机制,新建实时告警规则。
步骤2、配置告警规则后,采用Flink流式处理引擎接收目标应用设备的实时数据,利用Flink流式处理引擎连接事件流和配置流。利用Flink流式处理引擎连接事件流和配置流的具体步骤包括:
21)Flink流处理引擎分别监听Kafka消息队列创建的事件流主题数据和配置流主题数据,Flink流处理引擎的事件流监听kafka的事件主题,Flink流处理引擎的配置流监听kafka的配置主题;
22)Flink流处理引擎通过调用函数BroadcastProcessFunction连接事件流数据和配置流数据,并利用该类调用函数的processElement方法处理事件流的数据,利用该类的processBroadcastElement方法处理配置流进来的数据。
步骤3、利用关系型数据库存放告警规则。具体地:
31)规则引擎Drools提供相关的API,识别以.drl为扩展名的文件,并通过KieHelper方法读取以字符串形式表达的drl文件内容,在规则引擎Drools运行期间,规则引擎Drools读取drl文件中的规则内容,随后编译并存放到规则库中,告警系统中的业务规则全部抽象为对应的drl文件;
32)采用数据库的表维护规则引擎Drools中可编译识别的drl字符串内容,将每一类规则转换成drl字符串内容并存放在数据的二维表中。
存储在数据库表的drl字符串内容包括规则内容表和规则原型表。
其中,规则内容表的生成过程包括:
a.添加规则包名称;
b.添加import导入类信息;
c.添加declare原型类信息;
d.添加规则名称,所述的规则名称采用规则固定名称及唯一id的方式;
e.添加规则引擎Drools的If逻辑判断模块,用于对传入的事实进行相关的匹配判断;
f.添加then处理部分,用于获取上一步匹配判断的触发结果,向数据库中插入告警记录。
规则原型表的生成过程包括:
a.规则原型表存放规则内容表中的declare的原型类名称;
b.规则原型表额外存储原型表所包含的属性字段信息。
步骤4、Flink流式处理引擎调用规则引擎Drools,规则引擎Drools对事实和规则进行匹配,判断Flink流式处理引擎所接收的数据是否需要进行告警处理,对于符合规则引擎告警的条件发出告警动作。Flink流式处理引擎调用规则引擎Drools的具体内容为:
41)Flink流处理引擎的调用函数BroadcastProcessFunction类中维护规则引擎包括KieHelper、KieBase以及KieSession在内的相关类对象;
42)规则引擎Drools读取数据库中存放的drl规则字符串内容,利用KieHelper和KieBase相关API将规则存放到规则库中;
43)当Flink流处理引擎监听到实时事件流数据后,将事件流数据通过BroadcastProcessFunction的processElement方法进行处理,将事件封装成规则中声明的类对象,调用KieSession类的Insert方法插入到工作内存中。
对于符合规则引擎告警的条件发出告警动作的具体内容为:
当事实被插入到工作内存后,规则引擎利用Rete算法,对事实和规则库里的模式进行匹配,匹配成功的规则表示符合规则引擎告警的条件,对于该规则使用Agenda执行推理算法中被激活规则的结论部分,发出告警动作。
进一步地,本发明利用Rete算法,对事实和规则库里的模式进行匹配,过程包括:
A)创建根;
B)加入规则R1,假设Alpha节点从1开始,记作Alpha1;Beta节点从2开始,记作Beta2
B1.取出规则R1的条件1,进行检查,若检查其条件类型是新类型,则加入一个类型节点,否则加入到匹配的类型中;
B2.检查条件1对应的Alpha节点是否存在,若不存在,则将条件1作为一个Alpha节点加入到网络中;
B3.重复B2直到规则R1中所有的条件处理完毕;
B4.组合Beta节点,按照下述方式进行连接操作,建立Beta节点:Beta2左输入节点为Alpha1,右输入节点为Alpha2;Betai左输入节点为Alphai-1,右输入节点为Alphai,其中i>2;
B5.重复B4直到所有的Beta节点处理完毕;
B6.将规则结论封装成叶节点作为Betan的输出节点;
C)重复B)直到所有规则处理完毕。
步骤5、规则引擎Drools对规则进行动态更新。具体地:
51)Flink接收kafka配置流更新的信息后,在BroadcastProcesFunction类的processBroadcastElement方法中进行处理;
52)调用规则引擎对象,并将之前的kieSession中存储的对象序列化成文件后,规则引擎Drools利用kieHelper生成新的kieBase对象和kieSession对象;
53)读取文件中存储的对象序列化数据,反序列化为规则原型声明的对象,重新插入到新的kieSession中;
54)插入事实,根据新的规则进行匹配,进而完成利用规则引擎Drools进行规则的动态更新。
与现有技术相比,本发明具有以下优点:
1)实时处理数据:本发明采用Flink流式处理引擎实时接收数据,具有实时响应处理的能力;
2)准确定位告警数据:本发明允许用户自定义配置可触发告警的规则,采用Drools规则引擎专门管理配置的规则,同时规则引擎Drools将管理的规则和实时的数据进行匹配,并将符合的告警数据将通过规则配置导入到持久化存储工具中,当告警产生的时候,用户可通过查询持久化存储工具中存储的数据来源定位到告警信息,从而帮助用户精准定位告警数据;
3)快速响应告警:告警相关的业务全部被抽象成Drools的规则保存到数据库中,当有告警业务变更时,Flink监听的kafka的主题配置流会实时接收到配置的信息,从而通知Drools动态加载变更在数据库中的规则,达到快速响应的告警业务需求的功能。
4)方便管理及维护:本发明针对字符串形式存在二维表中的规则提供告警页面,方便用户进行管理和维护;用户可根据需求在线配置告警规则,即规则不再是一个个静态的文件,而是可以动态维护、实时生效的动态规则,可随时线上修改,即时生效,改变了以往定时改变告警策略或系统发布、重启的复杂程度;
5)提高工作效率:本发明告警业务规则可完全由页面配置来实现,让开发人员、业务人员和用户都可进行对告警规则的维护,极大的降低了业务难度,提高了工作效率,适用于对实时告警要求比较高的领域,如银行金融业、保险业等等。
附图说明
图1为本发明方法的主要流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
本发明涉及一种基于流处理引擎和规则引擎的实时数据告警方法,是采用流处理引擎用于接收实时的数据,然后将实时数据插入到规则引擎的内存中,规则引擎运用基于Rete算法的匹配系统对规则和数据的匹配,判断是否需要匹配,从而发出实时告警的一种技术。可应用在对实时告警要求比较高的领域,例如银行金融业、保险业等等。
规则引擎(基于规则的专家系统)属于人工智能的范畴,它模仿人类的推理方式,使用试探性的方法进行推理,并使用人类能理解的术语解释和证明它的推理结论。规则引擎的起源是基于规则的专家系统(RBES),是一种嵌入在应用程序中的组件。其任务是将当前提交给引擎的数据对象和加载在引擎中的业务规则进行比较,根据业务规则中声明的执行逻辑,对当前数据对象执行对应的操作。基于规则的专家系统(RBES)包括三部分,分别是Rule Base(Knowledge Base)、Working Base(Fact Base)和Interence Engine。而推理引擎(Intererence Engine)同样包含三个部分,分别是模式匹配器(Pattern Matcher)、议程(Agenda)和执行引擎(Execution Engine)。推理引擎赋予规则优先级,并决定了哪些规则满足事实或目标,满足事实或目标的规则被加入议程。模式匹配器决定执行哪些规则,何时执行规则;议程管理模式匹配器确定规则的执行顺序;执行引擎决定了执行规则。
Flink流式处理(流处理引擎)是一款比较高效的流处理系统,其认为一切的数据都是以流的形态存在的。流数据具有连续、无边界、随时间变化的特点,没有一个数据仓库可以存放无限边界的数据集,而且流数据要求的是“在线处理”的方式,数据不断的产生,不断的交给flink来做处理。
如图1所示,本发明方法基于Flink流式处理和规则引擎进行实时数据的异常告警,具体实施步骤如下:
步骤一、创建告警页面,基于规则引擎配置与目标应用设备匹配的异常信息处理机制,新建实时告警规则。
告警规则可根据实际需求设定。本发明的告警规则的特点有三种,分别是简便性、多样性和灵活性。简便性指告警规则是采用特定语法构成,方便易学,并可嵌入Java、Python等语言代码实现告警转发、告警存储等功能;多样性指告警规则可以和告警规则进行组合嵌套;灵活性指告警规则配置完以后,即时生效。
步骤二、配置完告警规则后,采用Flink流式处理引擎接收目标应用设备的实时数据,利用Flink流式处理将事件流和配置流连接起来。具体地:
2.1、Flink流处理引擎监听两个流的数据,分别是事件流和配置流。为了达到该目的,本发明同时引入了Kafa消息队列,Kafka是一个可存储大数据信息的消息队列,保证数据可以被Flink消费和处理。在Kafka上创建了两个供Flink消费的主题Topic,分别是事件主题Topic和配置主题Topic,Flink的事件流监听kafka的事件主题,Flink的配置流监听kafka的配置主题。
2.2、Flink通过其调用函数BroadcastProcessFunction类将两个流连接起来,该类的processElement方法用于处理事件流进来的数据,该方法首先接收事件主题Topic进来的原始数据,然后将原始数据转换为Json类型的数据,通过规则引擎Drools提供的API方法将数据插入到规则引擎Drools的工作内存中做聚合告警处理。
2.3、Flink的BroadcastProcessFunction类的processBroadcastElement方法用于处理配置流进来的数据,该方法首先接收配置主题Topic进来的原始数据,然后将原始数据转换为Json类型的数据,解析该Json类型的数据,如果该Json类型的数据代表的删除规则,那么利用规则引擎提供的api将规则删除,如果该Json类型的数据代表的暂停规则,那么利用规则引擎提供的api将规则暂停。
步骤三、利用关系型数据库存放规则的相关内容。
3.1、规则引擎Drools提供相关的API,识别以.drl为扩展名的文件,drl是一种特定的语法,规则引擎提供KieHelper方法可以读取以字符串形式表达的drl文件内容。在规则引擎运行期间,会读取drl文件中的规则内容,然后编译并存放到规则库(ProductionMemory)中,告警系统中的业务规则都可以抽象成对应的drl文件。
3.2、采用数据库的表来维护规则引擎Drools可编译识别的drl字符串内容。每一类的规则都被转换成drl字符串内容存放在数据的一张张的二维表中。存储在数据库表的drl字符串内容,大概分为两大类,分别是规则内容表和规则原型表。
规则内容表生成的过程如下:
a.添加规则包名称。如package com.eisoo.ruleengine。
b.添加import导入类信息。Drools基于jvm,可以直接在drools规则文件中使用import导入类的信息。如:import com.eisoo.ruleengine.modules.MysqlTool。
c.添加declare原型类信息。Drools允许在规则文件中使用declare语法来定义java原型类信息。比如declare EventLog6yg8u9s4co1,这种方式采用的是名称+唯一id的方式来保证每个规则里面的原型的唯一性,因为规则有多样,每个规则都需要维护唯一的原型对象,需要保证原型唯一。
d.添加规则名称。同样的,规则名称也不允许重复,所以需要保证规则名称的唯一性,采用规则固定名称+唯一id的方式,保证规则名称的唯一性。如ruleruleengine6yg8u9s4co1。
e.添加when处理部分。Drools的when模块是If逻辑判断模块,主要是用于对传入的事实进行相关的匹配判断。如Number(intValue>10)from accumulate($t:EventLog6yg8u9s4co1()over window:time(1d),count($t)),该功能会聚合1天内插入到内存中EventLog6yg8u9s4co1对象的数量,如果这个数量超过10,那么就会执行then部分。
f.添加then处理部分。Drools的then模块是上面when匹配之后,触发的结果。如MysqlTool.insert(“产生告警”),调用import引用的MysqlTool类的insert方法向数据库中插入告警记录。
规则原型表生成的过程如下:
a.规则原型表存放规则内容表中的declare的原型类名称,比如EventLog6yg8u9s4co1。
b.规则原型表还需要额外存储原型表所包含的属性字段信息,如{“EventLog6yg8u9s4co1”:“type:String”}。
步骤四、Flink调用规则引擎Drools。具体地:
4.1、Flink的调用函数BroadcastProcessFunction类中维护了规则引擎相关的类对象。规则引擎相关的主要类包括KieHelper、KieBase以及KieSession。
4.2、规则引擎读取数据库中存放的drl规则字符串内容,利用KieHelper和KieBase相关API将规则存放到规则库(Production Memory)中。
4.3、当Flink监听到实时的事件流数据后,将事件流数据通过BroadcastProcessFunction的processElement方法处理该事件,将事件封装成规则中声明的类对象,调用KieSession类的Insert方法插入到Working Memory(工作内存)中。
步骤五、规则引擎Drools对事实和规则进行匹配,判断Flink所接收的数据是否需要进行告警处理。具体地:
当事实被插入到工作内存后,规则引擎利用Rete算法,对事实和规则库里的模式进行匹配,对于匹配成功的规则,即符合规则引擎告警的条件,使用Agenda负责具体执行推理算法中被激活规则的结论部分,发出告警动作。
Rete算法通过形成一个rete网络进行模式匹配。规则引擎采用Rete算法进行规则间的匹配。Rete算法分为两个过程:匹配树构造和事实匹配。其中匹配成为Rete网络,Rete网络是一个有向无环图,主要用于过滤事实数据。事实匹配是使Rete网络运动,直至达到规则结论的过程。具体内容为:
(1)创建根。
(2)加入规则R1(假设Alpha节点从1开始,记作Alpha(1);Beta节点从2开始,记作Beta(2))。
a.取出规则R1的条件1,进行检查,如果检查其条件类型是新类型,则加入一个类型节点,否则加入到匹配的类型中;
b.检查条件1对应的Alpha节点是否存在,如果没有将条件1作为一个Alpha节点加入到网络中;
c.重复b直到规则R1中所有的条件处理完毕;
d.组合Beta节点,按照如下方式:Beta(2)左输入节点为Alpha(1),右输入节点为Alpha(2);Beta(i)左输入节点为Alpha(i-1),右输入节点为Alpha(i),其中i>2;通过连接操作建立Beta节点;
e.重复d直到所有的Beta节点处理完毕;
f.将规则结论封装成叶节点作为Beta(n)的输出节点;
(3)重复(2)直到所有规则处理完毕。
步骤六、规则引擎Drools对规则进行动态更新。具体地:
6.1、Flink接收到kafka配置流更新的信息,在BroadcastProcesFunction类的processBroadcastElement方法中处理。
6.2、首先调用规则引擎对象,并将之前的kieSession中存储的对象序列化成文件,然后规则引擎利用kieHelper生成新的kieBase对象和kieSession对象。
6.3、读取文件中存储的对象序列化数据,反序列化为规则原型声明的对象,重新插入到新的kieSession中,保证数据的正确性。
6.4、之后插入事实就会根据新的规则进行匹配,从而达到利用规则引擎动态更新规则的目的。
本发明采用flink流式处理引擎实时接收数据,具有实时响应处理的能力。告警相关的业务全部被抽象成Drools的规则保存到数据库中,当有告警业务变更时,flink监听的kafka的主题配置流会实时接收到配置的信息,从而通知Drools动态加载变更在数据库中的规则,达到快速响应的告警业务需求的功能。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于流处理引擎和规则引擎的实时数据告警方法,其特征在于,包括以下步骤:
S1、创建告警页面,基于规则引擎配置与目标应用设备匹配的异常信息处理机制,新建实时告警规则;
S2、配置告警规则后,采用Flink流式处理引擎接收目标应用设备的实时数据,利用Flink流式处理引擎连接事件流和配置流;
S3、利用关系型数据库存放告警规则;
S4、Flink流式处理引擎调用规则引擎Drools,规则引擎Drools对事实和规则进行匹配,判断Flink流式处理引擎所接收的数据是否需要进行告警处理,对于符合规则引擎告警的条件发出告警动作;
S5、规则引擎Drools对规则进行动态更新。
2.根据权利要求1所述的一种基于流处理引擎和规则引擎的实时数据告警方法,其特征在于,步骤S2中利用Flink流式处理引擎连接事件流和配置流的具体步骤包括:
21)Flink流处理引擎分别监听Kafka消息队列创建的事件流主题数据和配置流主题数据,Flink流处理引擎的事件流监听kafka的事件主题,Flink流处理引擎的配置流监听kafka的配置主题;
22)Flink流处理引擎通过调用函数BroadcastProcessFunction连接事件流数据和配置流数据,并利用该类调用函数的processElement方法处理事件流的数据,利用该类的processBroadcastElement方法处理配置流进来的数据。
3.根据权利要求1所述的一种基于流处理引擎和规则引擎的实时数据告警方法,其特征在于,步骤S3的具体内容为:
31)规则引擎Drools提供相关的API,识别以.drl为扩展名的文件,并通过KieHelper方法读取以字符串形式表达的drl文件内容,在规则引擎Drools运行期间,规则引擎Drools读取drl文件中的规则内容,随后编译并存放到规则库中,告警系统中的业务规则全部抽象为对应的drl文件;
32)采用数据库的表维护规则引擎Drools中可编译识别的drl字符串内容,将每一类规则转换成drl字符串内容并存放在数据的二维表中。
4.根据权利要求3所述的一种基于流处理引擎和规则引擎的实时数据告警方法,其特征在于,存储在数据库表的drl字符串内容包括规则内容表和规则原型表。
5.根据权利要求4所述的一种基于流处理引擎和规则引擎的实时数据告警方法,其特征在于,规则内容表的生成过程包括以下步骤:
a.添加规则包名称;
b.添加import导入类信息;
c.添加declare原型类信息;
d.添加规则名称,所述的规则名称采用规则固定名称及唯一id的方式;
e.添加规则引擎Drools的If逻辑判断模块,用于对传入的事实进行相关的匹配判断;
f.添加then处理部分,用于获取上一步匹配判断的触发结果,向数据库中插入告警记录。
6.根据权利要求5所述的一种基于流处理引擎和规则引擎的实时数据告警方法,其特征在于,规则原型表的生成过程包括以下步骤:
a.规则原型表存放规则内容表中的declare的原型类名称;
b.规则原型表额外存储原型表所包含的属性字段信息。
7.根据权利要求3所述的一种基于流处理引擎和规则引擎的实时数据告警方法,其特征在于,步骤S4中,Flink流式处理引擎调用规则引擎Drools的具体内容为:
41)Flink流处理引擎的调用函数BroadcastProcessFunction类中维护规则引擎包括KieHelper、KieBase以及KieSession在内的相关类对象;
42)规则引擎Drools读取数据库中存放的drl规则字符串内容,利用KieHelper和KieBase相关API将规则存放到规则库中;
43)当Flink流处理引擎监听到实时事件流数据后,将事件流数据通过BroadcastProcessFunction的processElement方法进行处理,将事件封装成规则中声明的类对象,调用KieSession类的Insert方法插入到工作内存中。
8.根据权利要求7所述的一种基于流处理引擎和规则引擎的实时数据告警方法,其特征在于,步骤S4中,对于符合规则引擎告警的条件发出告警动作的具体内容为:
当事实被插入到工作内存后,规则引擎利用Rete算法,对事实和规则库里的模式进行匹配,匹配成功的规则表示符合规则引擎告警的条件,对于该规则使用Agenda执行推理算法中被激活规则的结论部分,发出告警动作。
9.根据权利要求7所述的一种基于流处理引擎和规则引擎的实时数据告警方法,其特征在于,步骤S5具体包括如下步骤:
51)Flink接收kafka配置流更新的信息后,在BroadcastProcesFunction类的processBroadcastElement方法中进行处理;
52)调用规则引擎对象,并将之前的kieSession中存储的对象序列化成文件后,规则引擎Drools利用kieHelper生成新的kieBase对象和kieSession对象;
53)读取文件中存储的对象序列化数据,反序列化为规则原型声明的对象,重新插入到新的kieSession中;
54)插入事实,根据新的规则进行匹配,进而完成利用规则引擎Drools进行规则的动态更新。
10.根据权利要求8所述的一种基于流处理引擎和规则引擎的实时数据告警方法,其特征在于,利用Rete算法,对事实和规则库里的模式进行匹配的具体内容为:
A)创建根;
B)加入规则R1,假设Alpha节点从1开始,记作Alpha1;Beta节点从2开始,记作Beta2
B1.取出规则R1的条件1,进行检查,若检查其条件类型是新类型,则加入一个类型节点,否则加入到匹配的类型中;
B2.检查条件1对应的Alpha节点是否存在,若不存在,则将条件1作为一个Alpha节点加入到网络中;
B3.重复B2直到规则R1中所有的条件处理完毕;
B4.组合Beta节点,按照下述方式进行连接操作,建立Beta节点:Beta2左输入节点为Alpha1,右输入节点为Alpha2;Betai左输入节点为Alphai-1,右输入节点为Alphai,其中i>2;
B5.重复B4直到所有的Beta节点处理完毕;
B6.将规则结论封装成叶节点作为Betan的输出节点;
C)重复B)直到所有规则处理完毕。
CN202010230307.6A 2020-03-27 2020-03-27 一种基于流处理引擎和规则引擎的实时数据告警方法 Pending CN111444291A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010230307.6A CN111444291A (zh) 2020-03-27 2020-03-27 一种基于流处理引擎和规则引擎的实时数据告警方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010230307.6A CN111444291A (zh) 2020-03-27 2020-03-27 一种基于流处理引擎和规则引擎的实时数据告警方法

Publications (1)

Publication Number Publication Date
CN111444291A true CN111444291A (zh) 2020-07-24

Family

ID=71649092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010230307.6A Pending CN111444291A (zh) 2020-03-27 2020-03-27 一种基于流处理引擎和规则引擎的实时数据告警方法

Country Status (1)

Country Link
CN (1) CN111444291A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000350A (zh) * 2020-07-29 2020-11-27 新华三大数据技术有限公司 一种动态规则更新方法、装置及存储介质
CN112199259A (zh) * 2020-10-21 2021-01-08 中国电子科技集团公司第十五研究所 一种基于规则引擎的故障判定与实现方法和系统
CN112506939A (zh) * 2020-12-08 2021-03-16 福建省海峡信息技术有限公司 一种基于Flink流式引擎的CEP规则更新方法
CN112507029A (zh) * 2020-12-18 2021-03-16 上海哔哩哔哩科技有限公司 数据处理系统及数据实时处理方法
CN112529528A (zh) * 2020-12-16 2021-03-19 中国南方电网有限责任公司 基于大数据流计算的工作流监控与告警方法、装置及系统
CN112948455A (zh) * 2021-01-08 2021-06-11 四川新网银行股份有限公司 一种基于Apache Druid的实时分析计算方法
CN112947646A (zh) * 2021-03-03 2021-06-11 浪潮云信息技术股份公司 一种环境监测预警系统及方法
CN113206797A (zh) * 2021-05-07 2021-08-03 上海微盟企业发展有限公司 一种流量控制方法、装置、电子设备和存储介质
CN113282350A (zh) * 2021-05-26 2021-08-20 重庆零壹空间科技集团有限公司 遥测数据判读方法、装置、计算机设备和可读存储介质
CN113450914A (zh) * 2021-04-20 2021-09-28 心医国际数字医疗系统(大连)有限公司 用于医疗危急值预警的规则管理系统、方法以及预警系统
CN113986986A (zh) * 2021-12-24 2022-01-28 南京中孚信息技术有限公司 数据流处理方法、装置、服务器及存储介质
CN114866400A (zh) * 2022-04-29 2022-08-05 中国电子科技集团公司第五十四研究所 一种基于缓存空间优化的告警规则推理方法
CN115129736A (zh) * 2022-07-04 2022-09-30 东方合智数据科技(广东)有限责任公司 基于规则引擎的规则事件动态加载与更新方法及相关设备
CN115297166A (zh) * 2022-07-29 2022-11-04 成都智元汇信息技术股份有限公司 一种流架构的规则引擎架构、系统及方法
CN115442212A (zh) * 2022-08-24 2022-12-06 浪潮云信息技术股份公司 一种基于云计算的智能监控分析方法及系统
CN115454449A (zh) * 2022-09-09 2022-12-09 北京融和友信科技股份有限公司 一种采用页面配置的流程引擎集成规则引擎的方法
CN115527354A (zh) * 2022-08-30 2022-12-27 国核信息科技有限公司 一种风电机组预警规则的动态配置方法及系统
CN115794445A (zh) * 2023-02-06 2023-03-14 北方健康医疗大数据科技有限公司 一种基于flink和规则表达式的数据处理方法、装置及设备
CN117421336A (zh) * 2023-09-20 2024-01-19 广东赛博威信息科技有限公司 一种物联网规则引擎方法、系统、设备及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020133503A1 (en) * 2000-08-04 2002-09-19 Anshul Amar Practice management and billing automation system
US20120054136A1 (en) * 2010-08-31 2012-03-01 Connectiva Systems, Inc System And Method For An Auto-Configurable Architecture For Managing Business Operations Favoring Optimizing Hardware Resources
CN102420700A (zh) * 2011-11-28 2012-04-18 武汉大学 网络故障诊断系统
CN104679790A (zh) * 2013-12-03 2015-06-03 富士通株式会社 分布式规则引擎系统、构造方法和执行规则处理的方法
US20160182614A1 (en) * 2014-12-23 2016-06-23 Cisco Technology, Inc. Elastic scale out policy service
CN106709026A (zh) * 2016-12-28 2017-05-24 深圳市华傲数据技术有限公司 数据处理方法及系统
US20190007511A1 (en) * 2017-06-22 2019-01-03 Aeris Communications, Inc. ISSUING ALERTS FOR IoT DEVICES
CN110297620A (zh) * 2019-05-17 2019-10-01 苏宁易购集团股份有限公司 一种基于Drools的动态规则维护和生成的方法
CN110347568A (zh) * 2019-06-27 2019-10-18 苏州浪潮智能科技有限公司 用户行为数据的处理方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020133503A1 (en) * 2000-08-04 2002-09-19 Anshul Amar Practice management and billing automation system
US20120054136A1 (en) * 2010-08-31 2012-03-01 Connectiva Systems, Inc System And Method For An Auto-Configurable Architecture For Managing Business Operations Favoring Optimizing Hardware Resources
CN102420700A (zh) * 2011-11-28 2012-04-18 武汉大学 网络故障诊断系统
CN104679790A (zh) * 2013-12-03 2015-06-03 富士通株式会社 分布式规则引擎系统、构造方法和执行规则处理的方法
US20160182614A1 (en) * 2014-12-23 2016-06-23 Cisco Technology, Inc. Elastic scale out policy service
CN106709026A (zh) * 2016-12-28 2017-05-24 深圳市华傲数据技术有限公司 数据处理方法及系统
US20190007511A1 (en) * 2017-06-22 2019-01-03 Aeris Communications, Inc. ISSUING ALERTS FOR IoT DEVICES
CN110297620A (zh) * 2019-05-17 2019-10-01 苏宁易购集团股份有限公司 一种基于Drools的动态规则维护和生成的方法
CN110347568A (zh) * 2019-06-27 2019-10-18 苏州浪潮智能科技有限公司 用户行为数据的处理方法和装置

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000350A (zh) * 2020-07-29 2020-11-27 新华三大数据技术有限公司 一种动态规则更新方法、装置及存储介质
CN112000350B (zh) * 2020-07-29 2023-06-13 新华三大数据技术有限公司 一种动态规则更新方法、装置及存储介质
CN112199259A (zh) * 2020-10-21 2021-01-08 中国电子科技集团公司第十五研究所 一种基于规则引擎的故障判定与实现方法和系统
CN112199259B (zh) * 2020-10-21 2024-03-26 中国电子科技集团公司第十五研究所 一种基于规则引擎的故障判定与实现方法和系统
CN112506939A (zh) * 2020-12-08 2021-03-16 福建省海峡信息技术有限公司 一种基于Flink流式引擎的CEP规则更新方法
CN112529528A (zh) * 2020-12-16 2021-03-19 中国南方电网有限责任公司 基于大数据流计算的工作流监控与告警方法、装置及系统
CN112529528B (zh) * 2020-12-16 2023-01-31 中国南方电网有限责任公司 基于大数据流计算的工作流监控与告警方法、装置及系统
CN112507029A (zh) * 2020-12-18 2021-03-16 上海哔哩哔哩科技有限公司 数据处理系统及数据实时处理方法
CN112948455A (zh) * 2021-01-08 2021-06-11 四川新网银行股份有限公司 一种基于Apache Druid的实时分析计算方法
CN112947646A (zh) * 2021-03-03 2021-06-11 浪潮云信息技术股份公司 一种环境监测预警系统及方法
CN113450914A (zh) * 2021-04-20 2021-09-28 心医国际数字医疗系统(大连)有限公司 用于医疗危急值预警的规则管理系统、方法以及预警系统
CN113206797A (zh) * 2021-05-07 2021-08-03 上海微盟企业发展有限公司 一种流量控制方法、装置、电子设备和存储介质
CN113282350A (zh) * 2021-05-26 2021-08-20 重庆零壹空间科技集团有限公司 遥测数据判读方法、装置、计算机设备和可读存储介质
CN113986986A (zh) * 2021-12-24 2022-01-28 南京中孚信息技术有限公司 数据流处理方法、装置、服务器及存储介质
CN114866400A (zh) * 2022-04-29 2022-08-05 中国电子科技集团公司第五十四研究所 一种基于缓存空间优化的告警规则推理方法
CN114866400B (zh) * 2022-04-29 2024-04-30 中国电子科技集团公司第五十四研究所 一种基于缓存空间优化的告警规则推理方法
CN115129736A (zh) * 2022-07-04 2022-09-30 东方合智数据科技(广东)有限责任公司 基于规则引擎的规则事件动态加载与更新方法及相关设备
CN115129736B (zh) * 2022-07-04 2023-08-18 东方合智数据科技(广东)有限责任公司 基于规则引擎的规则事件动态加载与更新方法及相关设备
CN115297166A (zh) * 2022-07-29 2022-11-04 成都智元汇信息技术股份有限公司 一种流架构的规则引擎架构、系统及方法
CN115442212A (zh) * 2022-08-24 2022-12-06 浪潮云信息技术股份公司 一种基于云计算的智能监控分析方法及系统
CN115527354A (zh) * 2022-08-30 2022-12-27 国核信息科技有限公司 一种风电机组预警规则的动态配置方法及系统
CN115454449A (zh) * 2022-09-09 2022-12-09 北京融和友信科技股份有限公司 一种采用页面配置的流程引擎集成规则引擎的方法
CN115454449B (zh) * 2022-09-09 2023-09-05 北京融和友信科技股份有限公司 一种采用页面配置的流程引擎集成规则引擎的方法
CN115794445A (zh) * 2023-02-06 2023-03-14 北方健康医疗大数据科技有限公司 一种基于flink和规则表达式的数据处理方法、装置及设备
CN117421336A (zh) * 2023-09-20 2024-01-19 广东赛博威信息科技有限公司 一种物联网规则引擎方法、系统、设备及介质

Similar Documents

Publication Publication Date Title
CN111444291A (zh) 一种基于流处理引擎和规则引擎的实时数据告警方法
CN106168965B (zh) 知识图谱构建系统
US11907370B2 (en) Malicious/benign computational behavior detection using parametric behavioral pattern definition
CN107220301A (zh) 一种可配置化的数据监控方法及装置
CN103176892A (zh) 一种页面监控方法及系统
CN104615703A (zh) 一种结合Rete算法的RDF数据分布式并行推理方法
US7698695B2 (en) Search technique for design patterns in Java source code
CN105164642A (zh) 对合同的操作系统支持
Teymourian et al. Semantic rule-based complex event processing
CN113312113A (zh) 业务规则信息的动态配置方法、装置、设备及存储介质
Koriche et al. Compiling constraint networks into multivalued decomposable decision graphs
Bauer et al. Reusing system states by active learning algorithms
CN112214802A (zh) 一种区块链智能合约消息发布订阅方法
US10547565B2 (en) Automatic determination and just-in-time acquisition of data for semantic reasoning
CN116450471A (zh) 异常日志的告警方法及装置、存储介质、计算机设备
CN114493493A (zh) 决策引擎及决策引擎实现方法
Lamperti Temporal determinization of mutating finite automata: Reconstructing or restructuring
CN115909533B (zh) 系统安全巡检方法及相关装置
Harmon et al. Leveraging organizational guidance policies with learning to self-tune multiagent systems
Carman et al. Planning for web services the hard way
WO2023132048A1 (ja) 生成方法、生成プログラム及び情報処理装置
Ciancia et al. A class of automata for the verification of infinite, resource-allocating behaviours
Wang Response-time bounds of rule-based programs under rule priority structure
CN115391330A (zh) 区块链的智能合约的生成方法、装置、设备及存储介质
Basseda et al. Developing troubleshooting systems using ontologies

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200724