复合事件处理CEP简介

作者:biaodianfu
出处:
什么是复合事件处理?这是一个IT事件爆发的时代 , 各种IT系统之间或系统内部 , 每天产生大量事件 。 系统在关键点打日志、系统之间交流信息 , 都是事件 。 但我们对这些事件往往视而不见 , 当成垃圾一股脑儿全扔了 。 其实只要处理得当 , 垃圾也可以变成资源 。
复合事件处理(CEP , Complex Event Processing)是一种基于动态环境中事件流的分析技术 , 事件在这里通常是有意义的状态变化 , 通过分析事件间的关系 , 利用过滤、关联、聚合等技术 , 根据事件间的时序关系和聚合关系制定检测规则 , 持续地从事件流中查询出符合要求的事件序列 , 最终分析得到更复杂的复合事件 , 主要用于网络诈欺识别等防止犯罪 , 银行等金融行业防止 , 以及风险规避和营销决策等 。
首先 , CEP是一种框架 。 和其他框架一样 , 它也提供了一套流程或一种标准 。 CEP提供的则是一套处理复合事件(complex event)的流程 。 其次 , CEP的特点和核心能力在于可以便捷地处理复合事件 。 CEP之所以有这样的能力 , 是由于它可以处理多输入对多输出的映射关系 , “复合(complex)”也正是相对于传统的单一输入和单一输出而言的 。 CEP多个输入之间的关系可以是独立的 , 也可以是相关的 , 它的多个输出亦是如此 。 举个例子:
输入:

  • 皮肤感觉温度下降
  • 鼻子感觉湿气很重
  • 耳朵听到远方雷声
  • 眼睛看到乌云闪电
判断模块得出结论:即将下雨
输出:
  • 把衣服收到屋内
  • 出门要带伞
最后 , CEP天然拥有强大的可扩展性(Scalability) 。 因为输出可以很方便的转化为下一个系统的输入 , 所以可以用串联、级联等多种方式连接不同的CEP系统 , 从而组合成一个复合系统 , 以应对复杂的业务需求 。
复合事件处理CEP简介文章插图
复合事件处理过程包括:
  • 格式化:将事件获取模块得到的事件信息转化为内部处理的形式
  • 预处理:将事件按照字段内容进行处理
  • 模式侦测:将数个事件复合起来 , 找出复合事件
  • 事件发派:将复合事件发送到相应的处理模块
  • 执行动作:处理模型按照事件状况执行相应的动作
复合事件处理系统中的关键模块:
  1. EPL解析器:复杂事件处理系统中EPL语言被解析器解析为处理引擎能理解的语言(类SQL解析器) 。
  2. 规则管理:管理EPL 。
  3. 事件接入:通过SOA、ESB、MOM、读取日志等方式将消息接入 。
  4. 预处理:将事件依据字段内容进行处理 。
  5. CEP引擎:找出事件关联 。
  6. 数据模型:维护内部数据 。
  7. 事件发派:将已经发现的复合事件发派到负责处理的行动模块中 。
  8. 行动模块:对复合事件采取行动 。

复合事件处理CEP简介文章插图
【复合事件处理CEP简介】此外 , CEP系统的辅助工具有:
  • 规则制作工具
  • 报表输出工具
  • 实时仪表板
事件应该包含一些基本的要素:类型、发生事件以及更多的一些定义属性 。 通常需要关联多个事件进行分析处理 , 其中事件间的关系主要有5种: