论文部分内容阅读
当今社会是一个信息爆炸的社会。一方面,由于离散的数据源的数量的增加,比如标签、博客、传感技术等等的发展,使得信息处理系统所需要进行处理的数据量大大增加。另外一方面,实时搜索、高频交易、社交网络等新应用的出现,将传统数据处理系统所能做的推向了极限。海量具有时效性的数据需要得到实时的复杂计算。复杂事件处理技术的出现正是为了解决这类广泛而又特殊的问题,其应用领域几乎覆盖所有行业。其主要面临两方面的挑战:一是新应用对事件间关系的分析能力要求较高,需要实时地分析事件之问的因果关系、成员关系和时间序列关系等。而且由于复杂事件处理的应用通常都和某一个具体应用场景相关,这需要让那些非计算机的普通人员也能方便高效的定义数据间的关系。二是数据流量非常大。面对多个高速数据流,复杂事件处理系统需要快速分析继而快速决策,用户通常希望尽快得到结果,所以这对系统的吞吐量提出了更高的要求。
本文正是针对以上的实际需求深入地开展了研究,并取得了一定的进展。取得的主要研究成果如下:
1.设计了十四种操作符的功能以及其EPL(Event Processing Language)语句的实现。
在系统中,把操作符看作事件处理中功能上的一个基本单位。各种操作符组合,以共同完成对于复杂事件的处理。操作符的类别,按照功能分为四类:过滤、变形、模式监测和系统辅助。本课题设计了操作符的功能以及其对应实现的EPL语句,采用图形化的界面实现操作符。不仅使单个操作符的功能具有实用性,而且使多个操作符组合后能够满足对于事件分析的需求。
2.设计了在S4框架下搭建并行复杂事件处理系统的方法。
YahooS4是一个通用的、分布式的、可扩展的、分区容错的、可插拔的基于事件流的系统。在以操作符作为计算的基本单位的基础之上,利用S4编程框架,一个PE对应于一个或者多个操作符来进行并行CEP系统的搭建。由S4完成PE到物理节点的映射工作,PE的初始化和迁移也由S4来管理,从而完成了并行CEP系统的设计。实验证明并行CEP系统能有效地提高系统的吞吐量。
3.设计负载分流的解决方案。
本文给出了六个操作符的负载分流的基本解决方案。其中包括五个无状态的操作符和一个有状态的操作符。无状态的操作符包括过滤操作符、映射操作符、分裂操作符、合并操作符和查询操作符。有状态的操作符是聚集操作符。将操作符的输入流拆分以后,原任务不受任何影响。实验证明分流方案能进一步提高系统的吞吐量。