Esper[0] Overview

在硕士学习阶段主攻物联网(IoT)

在学习阶段接触到了CEP(Complex Event Processing)并且自学了Esper 

为了将我假期自学的内容做个总结并且自我整理 我在这个博客里写下这个专题。

这一章是对Esper 和CEP做简单的介绍,目的是使大家了解什么是CEP(复杂事件处理)和Esper

 

CEP:Complex Event processing

在讲Esper 之前 需要先了解一下什么是CEP,CEP 翻译成汉语是复杂事件处理。

Event: 在《The power of Event》(中文版《复杂事件处理导论》)中对Event的定义是, 可以代指某件发生在现实世界或是软件的一个data

Event Processing:基百科(英文版)中EventProcessing的定是,事件处理是一种跟踪和分析(处理)的方法,根据对事件流的分析推导结论

Complex EventProcessing(CEP):结合来自多个数据源的数据来推断事件或模式,产生更为高级的事件。(维基百科)

目的: CEP 的目的是识别有意义的事件(如机会或威胁)并尽快的应对他们。

应用范围股票交易

         信用卡欺诈检测,

         商业活动监控

         安全监控

举个例子:


拿人类来举个例子,五官带来的感觉可以认为是一种事件(event), 人类的大脑可以看作成复杂事件处理引擎,通过对五官传送来的各种“事件” 大脑进行分析判断,产生行动,这就是人类身上的复杂事件处理。

 

Esper

定义:Esper 是一种事件流处理器(Event Strean Processor)其目的是减少从设计到生产的开发周期

特点    

      使用具有强表现力的事件处理语言(Event Processing Language)

      快速的开发和部署

      高吞吐量,低延迟

      独立的或嵌入式,有开放API

      支持多平台

Esper 和Database进行比较的话:


如果把数据比作汽车的话,Esper更像是高速公路,而相比数据库则是停车场。

差异:

Esper是在存储数据之前直接对实时数据进行分析处理并使用,而数据库则是先对数据进行存储,之后在调用相应的数据进行处理。

Esper 存储查询语句(queries) Database 存储数据。

Esper 会连续的对过往的数据进行“查询”,数据库则是根据需要对数据进行查询。

Esper 中时间是一个维度,而数据库时间则是一种主句类型。

相似点:

Esper 中EPL(Event Processing Language) 对用数据库的SQL

Esper 中的事件流(Event Stream) 对应数据库的表(Table)

Esper中的事件(Events) 对应数据库的rows

EPL(Event Processing Language):

•       Select

–     select * from Students // 选择Students 中所有的数据

–     select id ,name from Students // 选择ID 和名字

•      Filtering

–     Select * from Students(age >= 23)//选择年龄大于23的学生的所有数据

•      Windows

–     select avg(price) from Fruit.win:time(5minute 3 sec)     // 选择最近5分3秒水果事件的平均价格

•      Pattern

–     Select * frompattern [every a =tempSensor-> b= humiditySensor]       // 选择 每个温度传感器后面跟着湿度传感器的所有模式(Pattern)

–     如过Event 按这个顺序发生 (A代表 温度传感器数据,B代表 湿度传感器数据): A1   A2    B1

–     这样pattern 的结果是 A1  B1

      A2  B2

——————————————————————————————————

附上我在给教授发表的ppt材料。由于不知道如何在这里附上下载链接 直接附上ppt图片




---------------------------------------------------------------------------

关于EPL的语法以后会详细的说明

在接下来的进一个月的时间里 我会整理我学过的Esper内容中

Esper 官方手册5.5.0 版本的 chap1~ chap10 的内容 以及代码,整理在这个博客上。

猜你喜欢

转载自blog.csdn.net/pcjdpcq/article/details/67632335