zoukankan      html  css  js  c++  java
  • 复杂事件处理(complex event processing)

    复杂事件处理

    复杂事件处理是一种新兴的基于事件流的技术,它将系统数据看作是不同类型的事件,事件在这里通常是有意义的状态变化,通过分析事件间的关系,利用过滤、关联、聚合等技术,根据事件间的时序关系和聚合关系定制检测规则,持续地从事件流中查询出符合要求的事件序列,最终分析得到更加复杂的复合事件。CEP适合的场景包括实时风险管理、实时交易分析、网络欺诈、网络攻击、市场趋势分析等等。

    复杂事件处理的特征:

    • 目标:从有序的简单事件流中发现一些高阶特征
    • 输入:一个或多个由简单事件构成的事件流
    • 处理:识别简单事件之间的内在联系,多个符合一定规则的简单事件流构成复杂事件
    • 输出:满足规则的复杂事件

    复杂事件处理面临多方面的挑战:

    • 减少应用存储数据(在分析数据之前)造成的延迟
    • 能够持续、实时地分析多个数据流
    • 能够关联不同数据流中的事件,从而发现新的相关情形
    • 能够迅速响应并发现危险和机会
    • 能够迅速地将先前发现的规律应用到新的数据流模型中
    • 能够利用已有的应用开发能力快速开放新的高性能,高扩展的应用
    • 确保系统和应用的连贯性
    • 缺少对于大量的多查询的支持和优化

    复杂事件处理引擎

    复杂事件处理一般都采用非确定性有限自动机NFA变体模型来处理事件。典型的复杂事件处理系统有SASE,Cayuga以及Esper等。

    SASE系统采用了一种基于本地序列操作符以及管道查询的数据流模型,使用关系运算符来定义随后到来的序列,SASE采用了非确定性有限自动机来获取序列事件。SASE提供了一种由EVENT、WHERE、以及WITHIN等组成的规则描述语言,使用逻辑操作符和序列操作来描述事件间的关系。但是SASE语言缺少对聚集操作的支持。SASE+则扩展了SASE语言,提供了迭代和聚集操作的支持。与其他系统不同,SASE不仅会报告用户感兴趣的查询结果,而且会报告匹配此查询的所有事件,这在很大程度上增加了查询的复杂度。SASE的主要局限性在于不能处理层状结构的复杂事件类型,也就是一个查询的结果不能用作另一个查询的输入。

  • 相关阅读:
    C++多态性(静多态和动多态)
    根据二叉树的后序遍历以及中序遍历还原二叉树
    哈希表
    *********** 复习算法复杂度,基础 ************
    C++虚函数表解析
    为什么需要auto_ptr_ref
    python未修辞的计时器
    python删除一个非空文件夹竟然如此简单
    python模拟163登陆获取邮件列表
    wxpython制作eml文件阅读器
  • 原文地址:https://www.cnblogs.com/xiepl1997/p/13646398.html
Copyright © 2011-2022 走看看