CN112506939A - 一种基于Flink流式引擎的CEP规则更新方法 - Google Patents
一种基于Flink流式引擎的CEP规则更新方法 Download PDFInfo
- Publication number
- CN112506939A CN112506939A CN202011443193.XA CN202011443193A CN112506939A CN 112506939 A CN112506939 A CN 112506939A CN 202011443193 A CN202011443193 A CN 202011443193A CN 112506939 A CN112506939 A CN 112506939A
- Authority
- CN
- China
- Prior art keywords
- rule
- event
- updating
- operator
- stream
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012098 association analyses Methods 0.000 claims description 7
- 238000010219 correlation analysis Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于Flink流式引擎的CEP规则更新方法,涉及CEP规则更新方法技术领域,包括以下步骤:每个任务从外部文件加载初始的规则,根据键值对保存在内存中,另外任务从外部消息引擎接入事件流,根据加载的规则进行分析;从外部缓存或者***获取需要更新规则数据,然后进行广播,并与事件流进行结合。本发明中任务从外部消息引擎接入事件流,根据加载的规则进行分析,从外部缓存或者***获取需要更新规则数据,然后进行广播,只需去规则库获取一次规则,同时把此更新规则转换成特殊标志的事件流,如果下游算子并行度只有一个,就生成一个事件,如果有多个,就生成多个相应事件,事件的类型字段改成规则类型,事件的编号改成规则的编号,其他相应字段也做更新。
Description
技术领域
本发明涉及一种CEP规则更新方法,涉及CEP规则更新方法技术领域,具体涉及一种基于Flink流式引擎的CEP规则更新方法。
背景技术
数据流式引擎更新规则一般是从缓存中读取,并将规则生成流,然后跟事件流进行结合,在结合节点上进行替换原有规则,然后可用新规则进行分析,虽然是结合流,但是对两个流的事件还是要分开处理,另外,对于CEP库分析事件流无法直接进行分析,还需要增加额外的业务逻辑代码才能进行分析。针对现有技术存在以下问题:
1、现有的规则更新方法只能更新结合流的算子节点,无法更新结合流下游的算子节点;
2、现有的规则更新方法对于一般的规则更新是没问题,但是对于CEP规则的话,则需要进行业务代码重新改写。
发明内容
本发明提供一种基于Flink流式引擎的CEP规则更新方法,其中一种目的是为了具备更新下游算子节点的能力,解决只能更新流结合的算子节点的问题;其中另一种目的是为了解决CEP规则需要进行业务代码重新改写再更新的问题,以达到简化更新过程的效果。
为解决上述技术问题,本发明所采用的技术方案是:
其中一方面是一种基于Flink流式引擎的CEP规则更新方法,包括以下步骤:
步骤一:每个任务从外部文件加载初始的规则,根据键值对保存在内存中,另外任务从外部消息引擎接入事件流,根据加载的规则进行分析;
步骤二:从外部缓存或者***获取需要更新规则数据,然后进行广播,并与事件流进行结合,每个任务在此算子节点获取结合流;
步骤三:根据更新规则的编号,与步骤二算子节点的键比对,如果一样,把此更新规则转换成特殊标志的事件流,如果此时有多个并发节点,需要根据规则进行拷贝多份规则事件,并设置不同的指定字段的值,然后往此任务的下游算子投递事件流;
步骤四:分析的算子节点根据特殊事件流的编号信息及版本信息,与此节点现有的规则进行比对,只有都一致情况,则更新此规则,并用新规则进行实时关联分析。
本发明技术方案的进一步改进在于:所述步骤一中初始的规则为含有规则编号的多个规则列表。
本发明技术方案的进一步改进在于:所述步骤三中规则流中根据更新规则的编号,与需要更新的算子节点的规则的键比较,如果比较结果不一致,则忽略此更新规则。
本发明技术方案的进一步改进在于:所述步骤三中规则流中根据更新规则的编号,与需要更新的算子节点的规则的键比较,如果比较结果一致,则把此更新规则转换成特殊标志的事件流,根据下游算子并行度,相应生成多个事件,事件的类型字段改成规则类型,事件的编号改成规则的编号,其他相应字段也做更新。
本发明技术方案的进一步改进在于:所述步骤三中往此任务的下游算子投递事件流时该事件流为含有特殊标志的事件流后,所述步骤四中下游算子根据事件类型和编号与算子中使用的规则比较,如果类型是规则类型,算子则更新现有规则,如果是事件类型,就用当前规则分析此事件。
其中另一方面是一种基于Flink流式引擎的CEP规则更新方法,该基于Flink流式引擎的CEP规则更新方法还包括有以下步骤:
S1:在事件流与规则流结合的结合流节点,对规则流进行更新规则,更新规则后对事件流进行的分析;
S2:更新后的规则对事件流分析后,再额外编写处理业务,利用新编写的处理业务对每一条事件进行关联分析,从而完成对所有算子节点的规则更新。
由于采用了上述技术方案,本发明相对现有技术来说,取得的技术进步是:
1、本发明提供一种基于Flink流式引擎的CEP规则更新方法,该发明中任务从外部消息引擎接入事件流,根据加载的规则进行分析,从外部缓存或者***获取需要更新规则数据,然后进行广播,只需去规则库获取一次规则,同时把此更新规则转换成特殊标志的事件流,根据下游算子并行度,生成相应多个事件,事件的类型字段改成规则类型,事件的编号改成规则的编号,其他相应字段也做更新,然后往此任务的下游算子投递特殊标志的事件流,下游算子根据事件类型和编号与算子中使用的规则比较,如果类型是规则类型,算子则更新现有规则,如果是事件类型,就用当前规则分析此事件,从而完成下游算子节点的更新,达到规则更新只需去规则库获取一次规则,即可更新下游的算子节点的目的。
2、本发明提供一种基于Flink流式引擎的CEP规则更新方法,该发明根据更新规则的编号,与步骤二算子节点的键比对,对比结果相同时,则把此更新规则转换成特殊标志的事件流,如果此时有多个并发节点,需要根据规则进行拷贝多份规则事件,并设置不同的指定字段的值,然后往此任务的下游算子投递事件流,分析的算子节点根据特殊事件流的编号信息及版本信息,与此节点现有的规则进行比对,只有都一致情况,则更新此规则,并用新规则进行实时关联分析,整个过程中可直接对投递至下游算子的事件流进行关联分析,不再需要进行额外的业务处理,可降低成本,同时提高工作效率。
3、本发明提供一种基于Flink流式引擎的CEP规则更新方法,该发明中当前任务完成规则更新后,不需要暂停重启,下一任务可直接加载初始规则并从外部消息引擎接入事件流,之后进行新任务的规则更新,中途不需要重启,大大节省了时间以及功能工作流程,提高工作效率。
附图说明
图1为本发明的流程示意图;
图2为本发明的规则更新流程框图。
具体实施方式
下面结合实施例对本发明做进一步详细说明:
实施例1
如图1所示,本发明提供了一种基于Flink流式引擎的CEP规则更新方法,包括以下步骤:
步骤一:每个任务从外部文件加载初始的规则,初始的规则为含有规则编号的多个规则列表,根据键值对保存在内存中,另外任务从外部消息引擎接入事件流,根据加载的规则进行分析;
步骤二:从外部缓存或者***获取需要更新规则数据,然后进行广播,并与事件流进行结合,每个任务在此算子节点获取结合流;
步骤三:根据更新规则的编号,与步骤二算子节点的键比对,如果一样,把此更新规则转换成特殊标志的事件流,如果此时有多个并发节点,需要根据规则进行拷贝多份规则事件,并设置不同的指定字段的值,然后往此任务的下游算子投递事件流,规则流中根据更新规则的编号,与需要更新的算子节点的规则的键比较,如果比较结果不一致,则忽略此更新规则,另一方面,规则流中根据更新规则的编号,与需要更新的算子节点的规则的键比较,如果比较结果一致,则把此更新规则转换成特殊标志的事件流,根据下游算子并行度,相应生成多个事件,事件的类型字段改成规则类型,事件的编号改成规则的编号,其他相应字段也做更新,整个过程中可直接对投递至下游算子的事件流进行关联分析,不再需要进行额外的业务处理,可降低成本,同时提高工作效率;
步骤四:分析的算子节点根据特殊事件流的编号信息及版本信息,与此节点现有的规则进行比对,只有都一致情况,则更新此规则,并用新规则进行实时关联分析,步骤三中往此任务的下游算子投递事件流时该事件流为含有特殊标志的事件流后,步骤四中下游算子根据事件类型和编号与算子中使用的规则比较,如果类型是规则类型,算子则更新现有规则,如果是事件类型,就用当前规则分析此事件,从而完成下游算子节点的更新,达到规则更新只需去规则库获取一次规则,即可更新下游的算子节点的目的。
在本实施例中,当前任务完成规则更新后,不需要暂停重启,下一任务可直接加载初始规则并从外部消息引擎接入事件流,之后进行新任务的规则更新,中途不需要重启,大大节省了时间以及功能工作流程,提高工作效率。
实施例2
如图1所示,本发明提供了一种基于Flink流式引擎的CEP规则更新方法,该基于Flink流式引擎的CEP规则更新方法还包括有以下步骤:
S1:在事件流与规则流结合的结合流节点,对规则流进行更新规则,更新规则后对事件流进行的分析;
S2:更新后的规则对事件流分析后,再额外编写处理业务,利用新编写的处理业务对每一条事件进行关联分析,从而完成对所有算子节点的规则更新。
在本实施例中,任务从外部消息引擎接入事件流,根据加载的规则进行分析,从外部缓存或者***获取需要更新规则数据,然后进行广播,只需去规则库获取一次规则,同时把此更新规则转换成特殊标志的事件流,根据下游算子并行度,相应生成多个事件,事件的类型字段改成规则类型,事件的编号改成规则的编号,其他相应字段也做更新,然后往此任务的下游算子投递特殊标志的事件流,下游算子根据事件类型和编号与算子中使用的规则比较,如果类型是规则类型,算子则更新现有规则,如果是事件类型,就用当前规则分析此事件,从而完成下游算子节点的更新,达到规则更新只需去规则库获取一次规则,即可更新下游的算子节点的目的。
上文一般性的对本发明做了详尽的描述,但在本发明基础上,可以对之做一些修改或改进,这对于技术领域的一般技术人员是显而易见的。因此,在不脱离本发明思想精神的修改或改进,均在本发明的保护范围之内。
Claims (6)
1.一种基于Flink流式引擎的CEP规则更新方法,其特征在于:包括以下步骤:
步骤一:每个任务从外部文件加载初始的规则,根据键值对保存在内存中,另外任务从外部消息引擎接入事件流,根据加载的规则进行分析;
步骤二:从外部缓存或者***获取需要更新规则数据,然后进行广播,并与事件流进行结合,每个任务在此算子节点获取结合流;
步骤三:根据更新规则的编号,与步骤二算子节点的键比对,如果一样,把此更新规则转换成特殊标志的事件流,如果此时有多个并发节点,需要根据规则进行拷贝多份规则事件,并设置不同的指定字段的值,然后往此任务的下游算子投递事件流;
步骤四:分析的算子节点根据特殊事件流的编号信息及版本信息,与此节点现有的规则进行比对,只有都一致情况,则更新此规则,并用新规则进行实时关联分析。
2.根据权利要求1所述的一种基于Flink流式引擎的CEP规则更新方法,其特征在于:所述步骤一中初始的规则为含有规则编号的多个规则列表。
3.根据权利要求1所述的一种基于Flink流式引擎的CEP规则更新方法,其特征在于:所述步骤三中规则流中根据更新规则的编号,与需要更新的算子节点的规则的键比较,如果比较结果不一致,则忽略此更新规则。
4.根据权利要求1所述的一种基于Flink流式引擎的CEP规则更新方法,其特征在于:所述步骤三中规则流中根据更新规则的编号,与需要更新的算子节点的规则的键比较,如果比较结果一致,则把此更新规则转换成特殊标志的事件流,并根据下游算子并行度,生成相应多个事件,如果有事件的类型字段改成规则类型,事件的编号改成规则的编号,其他相应字段也做更新。
5.根据权利要求1所述的一种基于Flink流式引擎的CEP规则更新方法,其特征在于:所述步骤三中往此任务的下游算子投递事件流时该事件流为含有特殊标志的事件流后,所述步骤四中下游算子根据事件类型和编号与算子中使用的规则比较,如果类型是规则类型,算子则更新现有规则,如果是事件类型,就用当前规则分析此事件。
6.一种基于Flink流式引擎的CEP规则更新方法,其特征在于:该基于Flink流式引擎的CEP规则更新方法还包括有以下步骤:
S1:在事件流与规则流结合的结合流节点,对规则流进行更新规则,更新规则后对事件流进行的分析;
S2:更新后的规则对事件流分析后,再额外编写处理业务,利用新编写的处理业务对每一条事件进行关联分析,从而完成对所有算子节点的规则更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011443193.XA CN112506939A (zh) | 2020-12-08 | 2020-12-08 | 一种基于Flink流式引擎的CEP规则更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011443193.XA CN112506939A (zh) | 2020-12-08 | 2020-12-08 | 一种基于Flink流式引擎的CEP规则更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112506939A true CN112506939A (zh) | 2021-03-16 |
Family
ID=74970989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011443193.XA Pending CN112506939A (zh) | 2020-12-08 | 2020-12-08 | 一种基于Flink流式引擎的CEP规则更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112506939A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254106A (zh) * | 2021-06-23 | 2021-08-13 | 中国平安人寿保险股份有限公司 | 基于Flink的任务执行方法、装置、计算机设备及存储介质 |
CN114116266A (zh) * | 2022-01-27 | 2022-03-01 | 北京华品博睿网络技术有限公司 | 一种基于流计算自动化拆分消息的方法及*** |
CN117472517A (zh) * | 2023-12-28 | 2024-01-30 | 广州睿帆科技有限公司 | 一种基于Flink分布式处理FTP文件的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100223499A1 (en) * | 2009-02-27 | 2010-09-02 | Microsoft Corporation | Fingerprinting event logs for system management troubleshooting |
US20140108318A1 (en) * | 2012-10-11 | 2014-04-17 | Sap Ag | Synchronization for Context-Aware Complex Event Processing |
US20160048565A1 (en) * | 2014-08-13 | 2016-02-18 | Software Ag | Systems and/or methods for investigating event streams in complex event processing (cep) applications |
US9910874B1 (en) * | 2013-06-28 | 2018-03-06 | Emc Corporation | Scalable alerter for security information and event management |
US20180075107A1 (en) * | 2016-09-15 | 2018-03-15 | Oracle International Corporation | Data serialization in a distributed event processing system |
CN111309752A (zh) * | 2019-11-26 | 2020-06-19 | 上海金融期货信息技术有限公司 | 面向业务流式数据处理的领域特定语言组件及其运作方法 |
CN111444291A (zh) * | 2020-03-27 | 2020-07-24 | 上海爱数信息技术股份有限公司 | 一种基于流处理引擎和规则引擎的实时数据告警方法 |
CN112000350A (zh) * | 2020-07-29 | 2020-11-27 | 新华三大数据技术有限公司 | 一种动态规则更新方法、装置及存储介质 |
-
2020
- 2020-12-08 CN CN202011443193.XA patent/CN112506939A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100223499A1 (en) * | 2009-02-27 | 2010-09-02 | Microsoft Corporation | Fingerprinting event logs for system management troubleshooting |
US20140108318A1 (en) * | 2012-10-11 | 2014-04-17 | Sap Ag | Synchronization for Context-Aware Complex Event Processing |
US9910874B1 (en) * | 2013-06-28 | 2018-03-06 | Emc Corporation | Scalable alerter for security information and event management |
US20160048565A1 (en) * | 2014-08-13 | 2016-02-18 | Software Ag | Systems and/or methods for investigating event streams in complex event processing (cep) applications |
US20180075107A1 (en) * | 2016-09-15 | 2018-03-15 | Oracle International Corporation | Data serialization in a distributed event processing system |
CN111309752A (zh) * | 2019-11-26 | 2020-06-19 | 上海金融期货信息技术有限公司 | 面向业务流式数据处理的领域特定语言组件及其运作方法 |
CN111444291A (zh) * | 2020-03-27 | 2020-07-24 | 上海爱数信息技术股份有限公司 | 一种基于流处理引擎和规则引擎的实时数据告警方法 |
CN112000350A (zh) * | 2020-07-29 | 2020-11-27 | 新华三大数据技术有限公司 | 一种动态规则更新方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
技术专家: "Flink任务实时获取并更新规则", pages 1 - 11, Retrieved from the Internet <URL:https://z.itpub.net/article/detail/1360AFF7862A16BD7189D858A45DE355> * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254106A (zh) * | 2021-06-23 | 2021-08-13 | 中国平安人寿保险股份有限公司 | 基于Flink的任务执行方法、装置、计算机设备及存储介质 |
CN113254106B (zh) * | 2021-06-23 | 2022-04-19 | 中国平安人寿保险股份有限公司 | 基于Flink的任务执行方法、装置、计算机设备及存储介质 |
CN114116266A (zh) * | 2022-01-27 | 2022-03-01 | 北京华品博睿网络技术有限公司 | 一种基于流计算自动化拆分消息的方法及*** |
CN114116266B (zh) * | 2022-01-27 | 2022-05-17 | 北京华品博睿网络技术有限公司 | 一种基于流计算自动化拆分消息的方法及*** |
CN117472517A (zh) * | 2023-12-28 | 2024-01-30 | 广州睿帆科技有限公司 | 一种基于Flink分布式处理FTP文件的方法 |
CN117472517B (zh) * | 2023-12-28 | 2024-03-08 | 广州睿帆科技有限公司 | 一种基于Flink分布式处理FTP文件的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112506939A (zh) | 一种基于Flink流式引擎的CEP规则更新方法 | |
CN107918666B (zh) | 一种区块链上的数据同步方法和*** | |
CN112650766B (zh) | 数据库数据操作的方法、***及服务器 | |
CN106557307B (zh) | 业务数据的处理方法及处理*** | |
JP2006085740A (ja) | アプリケ―ションソフトウェア構成方法 | |
CN106708891A (zh) | 一种网管数据同步方法及装置 | |
WO2018159042A1 (ja) | 分析ソフトウェア管理システム及び分析ソフトウェア管理方法 | |
CN101980546B (zh) | 智能网平台、业务执行方法和分析业务异常的方法 | |
US8615729B2 (en) | Extending existing model-to-model transformations | |
US20020174135A1 (en) | Schema-based file conversion | |
CN111143390A (zh) | 更新元数据的方法及装置 | |
JP2008225898A (ja) | 変換装置、変換プログラム及び変換方法 | |
CN104794179A (zh) | 一种基于知识树的视频快速标引方法及装置 | |
JP2008269515A (ja) | パラメータによる画面レイアウト動的生成方法 | |
CN113867714B (zh) | 一种适配多语言的自动代码生成方法 | |
CN113495723B (zh) | 一种调用功能组件的方法、装置及存储介质 | |
CN115905353A (zh) | 关联数据导出、导入方法、装置、设备及存储介质 | |
CN111782641B (zh) | 数据错误修复方法及*** | |
CN114895942A (zh) | 应用换肤方法、装置、设备及存储介质 | |
CN114443028A (zh) | 实现覆盖率收集代码重用的方法、计算机可读介质 | |
JP2009163566A (ja) | ジョブ解析支援装置 | |
Jie et al. | A Model Driven method to represent Free Choice Petri Nets as Sequence Diagram | |
JP3999949B2 (ja) | 別名検索装置、別名検索方法及び別名検索用プログラム | |
JP2002116911A (ja) | オブジェクト指向プログラムの自動生成装置 | |
CN112306499B (zh) | 程序要素提取方法及装置 |
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 |