技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于Flink的复杂事件规则描述方法及编译系统  >  正文

一种基于Flink的复杂事件规则描述方法及编译系统

  • 国知局
  • 2024-10-21 14:26:56

本发明涉及事件处理规则,尤指一种基于flinkcep的事件规则描述方法及其编译系统。

背景技术:

1、复杂事件处理(complex event processing,简称cep)指的是通过实时分析和处理大量事件数据,从中识别出有意义的模式和关联,从而快速做出决策或触发相应的动作。现有技术中的复杂事件处理系统通常采用事件流模型和规则引擎来处理事件,如flink框架,flink框架是一个分布式处理引擎,可以处理无边界和有边界的数据流,进行有状态的计算,该框架的一个子模块flink cep使其能够在有状态数据流计算的基础上应用复杂事件处理技术,从数据流中利用用户定义的复杂事件规则得到用户想要的数据,即输出满足规则的复杂事件。虽然flink提供了复杂事件处理的相关方法,但没有提供一种文本语言来描述这种方法,仅能够从代码层面定义复杂事件,无法在程序运行过程中动态载入规则,这使得复杂事件规则的定义、管理存在一定的难度,并且使用这种方法编写的程序灵活性较低,同时对于没有编程基础的用户而言,使用flink cep提供的接口编辑复杂事件规则是相当困难的。

2、为了解决相关技术中存在的复杂事件规则而没有提供文本化描述方法以及无法动态载入规则的问题,本发明提出一种基于flink的复杂事件规则描述方法及编译系统

技术实现思路

1、为解决上述问题,本发明提供一种基于flink的复杂事件规则描述方法及编译系统,通过文本语言来定义复杂事件及其处理方法,降低了使用难度,对于没有编程基础的用户也可以使用flink cep提供的接口编辑复杂事件规则,提高了使用的普遍性,此外通过提供文本化描述方法可以实现动态载入规则。

2、为实现上述目的,本发明采用的技术方案是:

3、一种基于flinkcep的事件规则描述方法,包括:

4、编写单个模式或模式组的规则描述文本,编译系统的输入模块读取所述规则描述文本,判断所述规则描述文本属于单个模式规则描述文本或模式组规则描述文本,并调用针对单个模式的第一编译模块或针对模式组的第二编译模块,并调用针对单个模式的第一解析单元或针对模式组的第二解析单元;

5、所述第一解析单元或所述第二解析单元在接收对应规则描述文本后,检验所述对应规则描述文本是否符合相应格式,若无误,则切分所述对应规则描述文本并提取组成成分,并将所述组成成分传递给第一编译单元或第二编译单元;

6、所述第一编译单元或第二编译单元利用flink提供的接口,将所述组成成分编译成flink中的单个模式或模式组,并将所述单个模式或模式组传递给所述编译系统的输出模块;

7、所述输出模块接收所述单个模式或模式组后,将所述单个模式或模式组以字典的形式输出。

8、作为优选,所述单个模式规则描述文本包括规则名称、事件类型、匹配条件、连续性标识符、量词、贪心标识符、指定标识符和终止条件,所述单个模式的规则描述文本的表达式为:

9、"规则名称":<事件类型>[匹配条件]连续性标识符(量词,指定标识符贪心标识符)_[终止条件]。

10、作为优选,所述匹配条件包括简单条件和复杂条件,所述简单条件由二元逻辑表达式组成,所述二元逻辑表达式包括左操作数、右操作数以及运算符,所述复杂条件由多个简单条件组成,所述多个简单条件通过逻辑运算符连接。

11、作为优选,所述连续性标识符包括严格连续标识符、松散连续标识符和不确定松散连续标识符。

12、作为优选,所述量词包括指定次数、指定次数范围和大于所指定次数三种表达形式。

13、作为优选,所述模式组规则描述文本包括模式元素和连接符,所述模式组规则描述文本的表达式为:

14、[模式元素]连接符[模式元素]连接符…[模式元素]。

15、作为优选,所述模式元素包括单个模式名称和跳过策略。

16、一种应用于上述的基于flinkcep的事件规则描述方法的编译系统,包括输入模块,第一编译模块、第二编译模块和输出模块。

17、作为优选,所述第一编译模块包括所述第一解析单元和所述第一编译单元,所述第一解析单元用于将输入的所述单个模式规则描述文本解析为单个模式规则成分文本,所述第一编译单元用于将所述单个模式规则成分文本编译成flink中的单个模式。

18、作为优选,所述第二编译模块包括第二解析单元和所述第二编译单元,所述第二解析单元用于将所述模式组规则描述文本解析为模式组规则成分文本,所述第二编译单元用于将所述模式组规则成分文本编译成flink中的模式组。

19、本发明的有益效果在于:

20、1.本发明通过编写单个模式或模式组的规则描述文本,所述规则描述文本通过第一解析单元或所述第二解析单元对符合格式的规则描述文本进行切分并提取组成成分,并将所述组成成分输出至第一编译单元或第二编译单元,所述第一编译单元或第二编译单元利用flink提供的接口,将所述组成成分编译成flink中的单个模式或模式组,并将所述单个模式或模式组传递给所述编译系统的输出模块,通过规则文本语言来定义复杂事件及其处理方法,降低了操作者的使用难度和管理难度,对于没有编程基础的用户也可以使用flink cep提供的接口编辑复杂事件规则,提高了使用的普遍性,此外通过提供文本化描述方法可以实现动态载入规则。

21、2.在复杂事件处理中,将规则描述文本分为单个模式和模式组可以提高系统的清晰性和可读性,通过将复杂的规则描述文本分解为单个模式,每个模式专注于处理特定的简单事件或事件序列,这使得规则更加清晰明了。同时,模式组则是对这些单个模式的逻辑分组,有助于从宏观上理解和组织整个规则集。

技术特征:

1.一种基于flinkcep的事件规则描述方法,其特征在于,包括:

2.根据权利要求1所述的基于flinkcep的事件规则描述方法,其特征在于,所述单个模式规则描述文本包括规则名称、事件类型、匹配条件、连续性标识符、量词、贪心标识符、指定标识符和终止条件,所述单个模式的规则描述文本的表达式为:

3.根据权利要求2所述的基于flinkcep的事件规则描述方法,其特征在于,所述匹配条件包括简单条件和复杂条件,所述简单条件由二元逻辑表达式组成,所述二元逻辑表达式包括左操作数、右操作数以及运算符,所述复杂条件由多个简单条件组成,所述多个简单条件通过逻辑运算符连接。

4.根据权利要求2所述的基于flinkcep的事件规则描述方法,其特征在于,所述连续性标识符包括严格连续标识符、松散连续标识符和不确定松散连续标识符。

5.根据权利要求2所述的基于flinkcep的事件规则描述方法,其特征在于,所述量词包括指定次数、指定次数范围和大于所指定次数三种表达形式。

6.根据权利要求1所述的基于flinkcep的事件规则描述方法,其特征在于,所述模式组规则描述文本包括模式元素和连接符,所述模式组规则描述文本的表达式为:

7.根据权利要求6所述的基于flinkcep的事件规则描述方法,其特征在于,所述模式元素包括单个模式名称和跳过策略。

8.一种应用于权利要求1-7任一项所述的基于flinkcep的事件规则描述方法的编译系统,其特征在于,包括输入模块,第一编译模块、第二编译模块和输出模块。

9.根据权利要求8所述的基于flinkcep的事件规则描述方法的编译系统,其特征在于,所述第一编译模块包括所述第一解析单元和所述第一编译单元,所述第一解析单元用于将输入的所述单个模式规则描述文本解析为单个模式规则成分文本,所述第一编译单元用于将所述单个模式规则成分文本编译成flink中的单个模式。

10.根据权利要求8所述的基于flinkcep的事件规则描述方法的编译系统,其特征在于,所述第二编译模块包括第二解析单元和所述第二编译单元,所述第二解析单元用于将所述模式组规则描述文本解析为模式组规则成分文本,所述第二编译单元用于将所述模式组规则成分文本编译成flink中的模式组。

技术总结本发明涉及事件处理规则技术领域,尤指一种基于Flink的事件规则描述方法及其编译系统,包括编写单个模式描述文本,编译系统输入模块读取规则描述文本,输入模块判断文本属于单个模式还是模式组,选择对应的编译模块;编译模块的解析单元接收输入文本,解析单元对符合格式的文本进行切分提取出组成成分,并将组成成分传递给编译模块的编译单元;编译单元将组成成分编译成单个模式或模式组;编译成功的单个模式或模式组传递给输出模块;输出模块接收单个模式和模式组,最终以字典的形式一并输出,本发明通过文本语言来定义复杂事件及其处理方法,降低了使用难度,提高了使用的普遍性,此外通过提供文本化描述方法可以实现动态载入规则。技术研发人员:王建华,黄仁欢,吴波飞,洪利聪,周锦锋,张子健,方展桌,黄铭杰,龙拥兵,兰玉彬受保护的技术使用者:华南农业大学技术研发日:技术公布日:2024/10/17

本文地址:https://www.jishuxx.com/zhuanli/20241021/318194.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。