论文部分内容阅读
复杂事件处理是一种用于事件分析的实时数据处理技术,通过对事件进行模式匹配识别用户感兴趣的事件,根据事件之间的关系和相应的处理规则聚合多个事件,从而产生包含更深层次信息的复杂事件。复杂事件处理在物联网以及多种事件驱动应用系统中具有重要作用,通过对传感器和系统中各个组件产生的事件进行分析,从中提取有效信息,可以更好地满足用户需求。现有的复杂事件处理引擎多为集中式架构,但物联网中设备数量的增长和应用系统规模的扩大导致事件数量不断增加,现有的复杂事件处理引擎已经难以满足对大规模事件的处理需求。随着分布式技术的发展,出现了越来越多的分布式框架,使得采用分布式架构设计复杂事件处理系统成为了可能,将分布式技术引入复杂事件处理,能够为用户带来更强大的事件处理能力。但已有的关于分布式复杂事件处理技术的研究还不完善,没有关注系统在可扩展性和容错性方面的提升。论文基于发布订阅模式提出一种分布式复杂事件处理解决方案,通过有向无环图设计复杂事件处理模型,在此基础上设计基于发布订阅的通信机制,利用发布订阅的松耦合特性和异步传输特性达到并行处理的目的,论文的主要工作包括:(1)提出基于有向无环图的复杂事件处理模型。该模型以有向无环图的顶点代表复杂事件处理任务,以有向无环图的边代表复杂事件处理引擎间的数据流向,直观地描述事件层次关系。(2)提出基于发布订阅的通信机制。该通信机制将有向无环图中有向边表示的输入输出关系映射为发布订阅关系,使处理同一层次事件的复杂事件处理任务能够并行执行,同时便于系统进行扩展。(3)设计并实现了基于发布订阅的分布式复杂事件处理系统。该系统包含分布式资源管理模块,为用户提交的复杂事件处理程序合理分配计算资源,管理应用程序的生命周期,具备完善的容错机制和可扩展机制,同时,部署在集群节点中的复杂事件处理引擎采用论文提出的发布订阅机制进行通信,提供了复杂事件处理功能。对基于发布订阅的分布式复杂事件处理系统的实验结果表明,论文提出的复杂事件处理流程模型和发布订阅通信机制具有有效性,系统具有可扩展性和容错性,实现了复杂事件处理目标,系统性能能够满足用户需求。