论文部分内容阅读
网络时代产生了不断爆炸式增长的数据,如何对这些数据进行处理获得有价值的信息是计算机领域研究的重点。以往的数据挖掘相关方法中,需要对数据进行建模并设计专门算法,灵敏度较差,不能满足如今种类繁多、产生速率过快的数据处理需求。复杂事件处理能够对来自不同数据源中的海量数据实时地进行处理,将简单事件合成高层次事件,提取有意义的信息,并最终做出响应。但是大多数复杂事件处理都是按照集中式处理架构,如今大多数的应用,尤其是面向物联网的应用,其主要特点就是分布式部署结构,而物联网应用产生的数据具有异构、分散和海量等特征,使得很难再用传统的复杂事件处理想法来满足要求。针对上述问题,本文主要研究了基于查询计划的分布式复杂事件处理技术,通过有计划的分布式复杂事件处理能够有效地处理海量实时数据。本文主要研究内容如下:(1)提出了一种基于事件流划分的分布式复杂事件处理(PDCEP)框架,该框架能够接收多个不同的数据流,在输入管理器和查询管理器协作下发送事件流给复杂事件处理引擎进行多节点的分布式处理,处理结果发送给输出管理器。(2)在PDCEP分布式框架的基础上,提出了一种基于事件流划分的操作分布式复杂事件处理(ODCEP-ESP)方法。该方法分为基于查询事件类型的事件划分策略和对复杂查询进行划分的操作分布式方法两个方面。事件划分策略基于查询所需的事件类型有计划地进行事件流的划分,每个划分都看作是一个查询计划的生成。操作分布式方法是指将查询分成不同的子查询序列以处理复杂查询的方法。每个步骤都分配给系统中的一个操作符节点,有计划地进行处理。(3)针对大量复杂事件查询序列存在相同子表达式的问题,本文提出了一种查询重写方法,对复杂事件查询进行优化。首先根据查询表达式构建相应的表达式图并进行合并且给出了合并算法,然后在此基础上提出了一种基于表达式图(Expression Graph,ExpG)的查询重写方法,该方法通过识别不同表达式的公共子表达式,进而对其进行合并、共享和重用,实现冗余过滤和提高效率。查询表达式用多个对应的表达式图进行表示,且表达式图与复杂事件也是一一对应的关系。最后通过实验验证了算法的有效性。