CEP(Complex Event Progressing,复杂事件处理)技术是20世纪90年代中期由斯坦福大学的DavidLuckham教授所提出是一种新兴的基于事件流的技术,它将系统数据看作不同类型的事件,通过分析事件间的关系,如成员关系、时间关系以及因果关系、包含关系等,建立不同的事件关系序列库,即规则库,利用过滤、关联、聚合等技术,最终由简单事件产生高级事件或商业流程。不同的应用系统可以通过它得到不同的高级事件。
复杂事件处理技术可以实现从系统中获取大量信息,进行过滤组合,继而判断推理决策的过程。这些信息统称事件,复杂事件处理工具提供规则引擎和持续查询语言技术来处理这些事件。同时工具还支持从各种异构系统中获取这些事件的能力。获取的手段可以是从目标系统去取,也可以是已有系统把事件推送给复杂事件处理工具。
物联网应用的一大特点,就是对海量传感器数据或事件的实时处理。当为数众多的传感器节点产生大量事件时,必定会让整个系统效能有所延迟。如何有效管理这些事件,以便能更有效地快速回应,已成为物联网应用急需解决的重要议题。
由于面向服务的中间件架构无法满足物联网的海量数据及实时事件处理需求,物联网应用服务流程开始向以事件为基础的事件驱动架构(Event-Driven Architecture,EDA)演进。物联网应用采用事件驱动架构主要的目的是使得物联网应用系统能针对海量传感器事件,在很短的时间内立即做出反应。事件驱动架构不仅可以依数据/事件发送端决定目的,更可以动态依据事件内容决定后续流程。(www.daowen.com)
复杂事件处理代表一个新的开发理念和架构,具有很多特征,例如分析计算是基于数据流而不是基于简单数据的方式进行的;它不是数据库技术层面的突破,而是整个方法论的突破。目前,复杂事件处理中间件主要面向金融、监控等领域,包括IBM流计算中间件InfoSphere Streams,以及Sybase、Tibico等的相关产品。IBM流计算中间件与标准数据库处理流程对比如图6.11所示。
图6.11 IBM流计算中间件与标准数据库处理流程对比
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。