An Overview of Complex Event Processing
An Overview of Complex Event Processing
复杂事件处理技术概览(一)
翻译前言:我在理解复杂事件处理(CEP)方面一直有这样的困惑--为什么这种计算模式是有效的,能够分析得到有用的结果?为什么它会快?我始终还没有找到我期望的答案。不像map-reduce模型,google的论文非常清楚的描述了它的场景;或者disruptor框架,原作者清晰地解释了它为什么会快。在试图理解CEP的过程中,我准备翻译一些我认为有启发性的文章,希望也对大家有用。这篇文章的原文《An Overview of Complex Event Processing》非常长,我将把它分成几篇来翻译。
刘斌华原创翻译,转载请注明出处 http://www.cnblogs.com/Binhua-Liu/p/5325346.html
什么是事件处理(Event Processing)?
在我们周围的世界,每小时每分钟每一秒,人的大脑会受到或顺序发生的,或同时发生的,无穷无尽的事情的轰炸,这些事件立即看来是也许是完全没有意义的,甚至有些古怪的,但随着越来越多的事情发生,我们可以开始了解他们的之间相关性和重要性。
例如,我们听到远处的欢呼声,我们看到气球在空中飞舞,音乐开始播放,警车和盛装着的拖着木偶的卡车的出现,坐在车上挥舞着人们,紧随其后的救护车,和今天的日期是7月4日。单独来看,这些事件可能意味着任何事情,但是在一起呢?这很可能是一次独立日狂欢巡游!
我们的大脑可以很容易地在一眨眼的功夫确定这一事实 --- 虽然不是过于简单。用计算方式来定义,我们可以描述一个“巡游事件模式”,如下所示:
一辆(或多辆)警车+后面的/后面的/毗邻的+一辆(或多辆)狂欢卡车+后面的/后面的/毗邻的+一个(或多个)挥动的人++后面的/后面的/毗邻的+一辆(或多辆)应急车辆+在哪里可以听到音乐+今天的日期是7月4日
你的大脑并不局限这样的工作模式:发送信息,等待,直到有一个回应,然后进行一系列固定步骤的操作,以完成某项工作。正如这个例子中,它能够把正在发生的一系列事件,和相关的外部因素比如今天的日期,都关联起来,并理解当前发生的是“巡游事件模式”。

所以,当你了解更多关于复杂事件处理(Complex Event Processing)-- 我们专注于的这种技术 -- 你将知道它如何利用从不同地方获取的,连续的,流动的,永无止境的信息,来立即地理解正在发生的事情,以及在很不久的将来要发生的事情。这又经常被称为实时态势感知 (Real-Time Situation Awareness)。
这与商业计算的关联
如今在计算机世界的问题是数据的增殖。信息从许多不同的系统,以巨大的数量,在不同的时间,以不同的速度抵达,其中一些信息对某些系统,人或进程现在就很重要,而另外一些可以先存储供以后再恢复和决策。为什么我们现在会面临数据增殖的问题呢?
这里涉及许多问题,但这里仅列出少数几个主要的:
计算能力的成本和复杂环境传感器设备的成本已经变得不那么昂贵
联网能力的增加,并且变得更加智能
很多不同的功能计算模块(财务系统,生产系统,销售系统,等等)被分解,重写,从而满足来越多的业务需求。
新的计算机解决方案要求超越企业本身而扩散到合作伙伴和客户,这样就把越来越多的数据来源和其他输入带入到系统中。
像面向服务的架构(SOA)这样的计算技术架构变得越来越成功,带来了更加复杂的可重用的生态系统。
大数据(Big Data)爆炸,这个词现在广泛用于描述那些大批量的,高速的,各种各样的非结构化的,来源于社交网站、手机和许多其他源头的信息。
企业经营上对IT团队不断增长的期望 -- 要求他们对市场的情况进行更有效地、实时地响应
我们进步和这些复杂的系统导致往计算机应用系统中“倾倒”的信息越来越庞大,我们已经达到一个“临界点”-- 传统的点至点式的,或者请求- 应答式的解决方案变得失效,难以维护和不可扩展。
一个公司的经营可能被瞬间发生的事件所影响,这些事件不仅来之于内部的,可以理解的,“舒适”的小世界里,而可能是来自于外部的事件,如“物联网”-- 实时传感器装置可以测量和报告很多的情况,包括“温度突然升高导致的食物储存设施的突发的危险”或“由全球定位系统位置跟踪的海运集装箱从被传感器检测到被未经授权地开箱”。
对一家公司经营的直接影响也可能来自于日益强大的社交媒体对全球商业环境带来的改变,例如Twitter,即时通讯应用等。数以百万计的人在同一时间可以同时对某个新产品给予差评,强调某个迫切需要修改的产品设计。这势必会影响利润,甚至显著影响企业的价值。因此,现在的公司不可避免地受到正面或负面事件的影响而疲于奔命。
在过去,可能追溯到15年前,商业应用不得屈就于那些当时可用的计算技术所采用的那些固定的方法,结构和接口(比如关系数据库),信息必须先被静态的插入和保存,只有在此之后用户才可以再分析和响应。传统的JEE(Java Enterprise Edition)应用服务器中普遍的实现 -- 期待客户端应用程序发送的一个初始的请求,然后大多数情况下大量的代码逻辑只是用于从头到尾地处理这个请求,然后才能返回给客户端响应。这些技术正在并将继续提供那些更多是基于批处理的,实时性较差的解决方案。而新的,更低时延的,更快的,基于内存的中间件产品现已上市。
基于事件驱动架构(Event-Driven)的系统本质上是更敏捷的,更好地被“武装”起来来处理这些类型的情况 -- 处理那些横跨整个业务基础设施和众多业务部门“孤岛”(如财务,生产和销售等部门),需要被立即解释和处理的事件。这些类型的系统,一旦当它们探测到外部和商业环境的改变,就能联系上下文并执行策略。而不是预定义一些每天晚上执行的任务,甚至是那些每次都要有人手动运行的任务来处理。
作为与大数据相关的,在未来数年将显著增长的问题 -- 即在信息的采集、管理并能够在可接受的时间范围进行处理方面,事件驱动技术(特别是复杂事件处理),可以为更高级的“智能”和决策提供快速的,更接近“事件发生时间点”的,原始的数据流。

因此,事件驱动技术的好处是在应对数据增殖方面,把传统的数据处理方法,改为把信息描述为实时的事件(可以是在任何地方发生的事情),提供了聪明地分解事件、路由事件、过滤事件、关联事件的能力,因此在大多数情况下,分散的事件可以进化为全面的,稳固的,容易理解的商业事件,使企业能相对更好地观察,控制和适应瞬息万变的情况。
An Overview of Complex Event Processing的更多相关文章
- An Overview of Complex Event Processing2
An Overview of Complex Event Processing 翻译前言:感觉作者有点夸夸其谈兼絮絮叨叨,但文章还是很有用的.原文<An Overview of Complex ...
- How to scale Complex Event Processing (CEP)/ Streaming SQL Systems?
转自:https://iwringer.wordpress.com/2012/05/18/how-to-scale-complex-event-processing-cep-systems/ What ...
- FlinkCEP - Complex event processing for Flink
https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/libs/cep.html 首先目的是匹配pattern sequenc ...
- Understanding Complex Event Processing (CEP)/ Streaming SQL Operators with WSO2 CEP (Siddhi)
转自:https://iwringer.wordpress.com/2013/08/07/understanding-complex-event-processing-cep-operators-wi ...
- Flafka: Apache Flume Meets Apache Kafka for Event Processing
The new integration between Flume and Kafka offers sub-second-latency event processing without the n ...
- OpenGL的GLUT事件处理(Event Processing)窗口管理(Window Management)函数[转]
GLUT事件处理(Event Processing)窗口管理(Window Management)函数 void glutMainLoop(void) 让glut程序进入事件循环.在一个glut程序中 ...
- An Overview of End-to-End Exactly-Once Processing in Apache Flink (with Apache Kafka, too!)
01 Mar 2018 Piotr Nowojski (@PiotrNowojski) & Mike Winters (@wints) This post is an adaptation o ...
- How Cigna Tuned Its Spark Streaming App for Real-time Processing with Apache Kafka
Explore the configuration changes that Cigna’s Big Data Analytics team has made to optimize the perf ...
- 13 Stream Processing Patterns for building Streaming and Realtime Applications
原文:https://iwringer.wordpress.com/2015/08/03/patterns-for-streaming-realtime-analytics/ Introduction ...
随机推荐
- 【Visual C++】Windows GDI贴图闪烁解决方法
一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁. 先来谈谈闪烁产生的原因 原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的 ...
- VC++ WIN32 sdk实现按钮自绘详解 之二.
网上找了很多,可只是给出代码,没有详细解释,不便初学者理解.我就抄回冷饭.把这个再拿出来说说. 实例图片: 首先建立一个标准的Win32 Application 工程.选择a simple Wi ...
- C语言 realloc为什么要有返回值,realloc返回值具体解释/(解决随意长度字符串输入问题)。
在C语言操作中会用到大量的内存操作,当中非经常常使用的一个是realloc(). 由字面意思能够知道,该函数的作用是用于又一次分配内存. 使用方式例如以下: NewPtr=(数据类型*)realloc ...
- UVA11090 Going in Cycle!! (二分+SPFA推断有无负权)
Problem G: Going in Cycle!! Input: standard input Output: standard output You are given a weighted d ...
- 单例模式(Singleton)Holder
public class Singleton { /** * 类级的内部类,也就是静态的成员式内部类,该内部类的实例与外部类的实例 * 没有绑定关系,而且只有被调用到才会装载,从而实现了延迟加载 */ ...
- SimpleWiFi模块评估板
SimpleWiFi评估套件,发货清单: 1.评估版一块. 2.专用WiFi天线一根. 3.配套电源一个. 单模块 是60元,链接如下: http://item.taobao.com/i ...
- 图像处理特征不变算子系列之Moravec算子(一)
论文转载请注明出处:http://blog.csdn.net/kezunhai 1977年,Moravec提出了兴趣点(Points of Interests)的概念,并应用于解决Stanford C ...
- Graphviz 绘制流程图
凝视说明非常具体.不再详述. digraph G{ //dot 是一种画图语言,它能够方便你採用图形的方式高速.直观地表达一些想法, //比方描写叙述某个问题的解决方式,构思一个程序的流程,澄清一堆貌 ...
- 图像特征提取方法:Bag-of-words
Bag-of-words简单介绍 最初的Bag-of-words ,也叫做"词袋",在信息检索中,Bag-of-words model假定对于一个文本,忽略其词序和语法,句法,将其 ...
- c++ 如何获取系统时间 - zjnig711的信息仓库 - 博客频道 - CSDN.NET
c++ 如何获取系统时间 - zjnig711的信息仓库 - 博客频道 - CSDN.NET c++ 如何获取系统时间 分类: C/C++ 2008-05-08 22:15 14115人阅读 评论(5 ...