首页 | 本学科首页   官方微博 | 高级检索  
     

Apache Flink复杂事件处理语言的形式语义
作者姓名:傅宣登  吴志林
作者单位:计算机科学国家重点实验室(中国科学院 软件研究所), 北京 100190;中国科学院大学 计算机科学与技术学院, 北京 100049
基金项目:国家自然科学基金(61872340)
摘    要:
Apache Flink是目前最流行的流式计算平台之一,已经在工业界得到了广泛应用.复杂事件处理是流式计算的一种重要使用场景, Apache Flink平台定义并实现了一种复杂事件处理语言(简称FlinkCEP). FlinkCEP语法特性丰富,不仅包括常见的过滤、连接、循环等操作,还包括迭代条件、匹配筛选策略等高级特性. FlinkCEP语义复杂,尚缺乏语言规范对其语义进行准确描述,只能通过实现细节来理解,因此对其语义进行形式描述对于开发人员准确理解其语义非常必要.针对FlinkCEP提出一种数据流转换器的自动机模型,该模型包括用于刻画迭代条件的数据变量、存储输出结果的数据流变量、用于刻画匹配筛选策略的迁移优先级等特性.使用数据流转换器对FlinkCEP的语义进行形式建模,并且根据形式语义设计FlinkCEP的查询求值算法,实现原型系统.进一步,生成能够较为全面覆盖FlinkCEP语法特性的测试用例集,利用这些测试用例与FlinkCEP在Flink平台上的实际运行结果进行对比实验.实验结果表明所提出的形式语义与FlinkCEP在Flink平台上的实际语义基本是一致的.而且,对实验结果不一致的情况进行分析,指出FlinkCEP在Flink平台上的实现对于组模式的处理可能存在错误.


关 键 词:流式计算  Flink  复杂事件处理  形式语义  数据流转换器  查询求值  
收稿时间:2022-12-08
修稿时间:2023-02-21
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载免费的PDF全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号