复杂事件处理(CEP)引擎
概述
复杂事件处理引擎(CEP 引擎)是一款用于实时处理和分析复杂事件数据流的流数据引擎。其主要功能包括接收实时数据流、监控事件流以检测特定事件或事件模式,并分析感兴趣的事件(或事件模式)、根据特定事件或事件模式执行必要的操作。详细功能介绍如下:
-
事件捕捉和过滤: 从多个数据源中接收实时数据流,并对数据进行过滤、分发。
-
事件模式匹配:识别和捕捉定义好的事件模式,这些模式可以涉及多个事件的组合,形成具有特定含义的事件序列。
-
复杂事件处理:执行复杂的事件处理逻辑,包括筛选、聚合、转换等操作,以识别关键信息或发现特定的业务模式。
-
实时响应:根据识别到的事件模式实时采取相应的操作,例如发出警报、触发工作流程、更新数据库等。
-
时序分析:处理事件的时间序列,对事件发生的时间进行分析,以支持对时序数据的挖掘和理解。
注: 社区版 License 暂不支持该功能,如需使用此功能,请联系技术支持。
核心模块
反序列化模块、事件分发器、CEP 子引擎、序列化模块(事件输出队列,若有)。其中,每个子引擎包括 monitor、事件模式匹配器、数据可视化工具、流数据计算引擎。
与其它流数据处理引擎的区别
复杂事件流处理和普通流数据处理在数据类型、目标和处理方式上存在一些区别。复杂事件流处理专注于从实时数据流中提取复杂事件和模式,以支持实时的分析和决策。普通流数据处理更加注重对某一数据类型的高性能处理与计算。更多区别参加下表:
|
CEP |
普通流处理引擎 |
---|---|---|
数据类型 | 用于处理实时数据流中的复杂事件。复杂事件是由多个简单事件组合而成的,这些事件可以是在一定时间窗口内发生的、有特定模式或关系的事件。 | 普通流处理更加通用,可以处理各种类型的数据流,但是一般分开处理不同类型的数据流,且无法对这些不同类型的数据流做复杂的过滤与识别相互之间的关系。 |
处理方式 | 采用事件驱动的方式进行处理,主要通过识别和匹配复杂事件模式、窗口操作和时序分析来提取有用的信息。它通常需要定义和管理一组规则、条件和模式,以筛选和处理数据流中的事件。 | 普通流数据处理一般需要处理所有的订阅收到的数据,且数据与数据之间的处理方式相同。 |
目标 | 从实时数据流中提取有意义的事件和模式,以便进行实时的分析、决策支持和响应。它强调在大规模、高速和复杂的数据流中发现和识别重要的事件和关联关系。 | 一般是对数据做高效的聚合、计算等,以满足具体的业务需求。 |
CEP 完整流程
CEP 的完整流程:接收数据,并序列化到一个异构流表 → 订阅流表,将数据插入 CEP → CEP 将数据反序列化后,进行分发 → 数据分发到不同的 subCEPEngine,进行事件监控、模式匹配及相关的操作 → 序列化后输出到异构流表,可供 API 或插件等第三方订阅。