深入浅出复合事件处理(CEP)

86
ESSING PROCE 避免发生 资金损失 进行系统 动态校验 EVENT 资金损失 MPLEX 察觉威胁 正确预测 ast COM 察觉威胁 消除隐患 股票涨跌 Tail La T 发现老公 可能外遇 了解总督系统 独到之处

description

蔡学镛先生在 QCon Beijing 2010 分享的PPT。

Transcript of 深入浅出复合事件处理(CEP)

Page 1: 深入浅出复合事件处理(CEP)

ESSING

支付

PROCE 付

宝避免发生资金损失

进行系统动态校验

EVEN

T

技术

资金损失

MPLEX

术部

察觉威胁正确预测

astCO

M

蔡学

察觉威胁消除隐患

正确预测股票涨跌

TailLa 学

T

发现老公可能外遇

了解总督系统独到之处

Page 2: 深入浅出复合事件处理(CEP)

其实你每天都在做CEP其实你每天都在做CEP

只是你不知道而已…只是你不知道而已

Page 3: 深入浅出复合事件处理(CEP)

这就是人肉CEP

感知 判断 行动知 判断 行动

Page 4: 深入浅出复合事件处理(CEP)

人肉CEP的三个示例人肉CEP的三个示例

Page 5: 深入浅出复合事件处理(CEP)
Page 6: 深入浅出复合事件处理(CEP)

基础事件1:皮肤感觉温度下降

基础事件2:鼻子感觉湿气很重

Page 7: 深入浅出复合事件处理(CEP)

基础事件3:耳朵听到远方雷声

基础事件基础事件44:眼睛看到乌云、闪电:眼睛看到乌云、闪电

Page 8: 深入浅出复合事件处理(CEP)

复合事件:即将下雨

Page 9: 深入浅出复合事件处理(CEP)

因应之道:把衣服收到屋內

Page 10: 深入浅出复合事件处理(CEP)

因应之道:出门要带伞

Page 11: 深入浅出复合事件处理(CEP)
Page 12: 深入浅出复合事件处理(CEP)

基础事件基础事件11:看到员工经常有一堆事没做完:看到员工经常有一堆事没做完

Page 13: 深入浅出复合事件处理(CEP)

基础事件基础事件22:看到员工经常上班时偷菜:看到员工经常上班时偷菜

Page 14: 深入浅出复合事件处理(CEP)

复合事件复合事件::该员工不适任该员工不适任

因应之道因应之道:FIRE:FIRE他他

Page 15: 深入浅出复合事件处理(CEP)
Page 16: 深入浅出复合事件处理(CEP)

基础事件:老公老说要加班

哪有公司这么常加班的?

基础事件:我感觉他在外面洗过澡

哪有公司这么常加班的?

基础事件:我感觉他在外面洗过澡

还说没有,明明就有肥皂味!

基础事件:衣服上沾粘长头发

我的头发可没这么长!

基础事件:对我性趣缺缺

我都打扮成兽兽了耶!我都打扮成兽兽了耶!

Page 17: 深入浅出复合事件处理(CEP)

复合事件:老公有外遇复合事件:老公有外遇

他包二奶他包二奶他包 奶他包 奶了啦!了啦!

Page 18: 深入浅出复合事件处理(CEP)

提醒提醒::别别急著下毒手急著下毒手,,误报警率可能很高误报警率可能很高

Page 19: 深入浅出复合事件处理(CEP)

因应之道因应之道::雇用「捉猴」侦探跟踪他雇用「捉猴」侦探跟踪他

Page 20: 深入浅出复合事件处理(CEP)

看了这么多比喻应该能体会应该能体会CEP了吧!

Page 21: 深入浅出复合事件处理(CEP)

事件捕获 事件分析 事件因应事件捕获 事件 事件

困难度

困难度

困难度度 度度

Page 22: 深入浅出复合事件处理(CEP)

其实你每天都能做CEP其实你每天都能做CEP

只是你不知道而已…只是你不知道而已

Page 23: 深入浅出复合事件处理(CEP)

这是一个IT事件爆发的时代这是一个IT事件爆发的时代

Page 24: 深入浅出复合事件处理(CEP)

ERP Oracle SCM RFIDERP Oracle SCM RFID每个系统都会产生大量的事件

CRMCloud

IBM E‐MailCRMComputing

IBM E‐Mail

PeopleSoft B2B MicrosoftIMp

Web SAPBAM B2C

Page 25: 深入浅出复合事件处理(CEP)

但我们一股脑儿把事件全扔了!

Page 26: 深入浅出复合事件处理(CEP)

事件盲(Event‐Blind):对事件视而不见

Page 27: 深入浅出复合事件处理(CEP)

承认吧!现况就是如此!

Page 28: 深入浅出复合事件处理(CEP)

我发誓要改我发誓要改变现状,开始重视复合变现状,开始重视复合

事件。事件。

简单!参加总督 系统简单!参加总督 系统总督CEP系统的监控就行了!总督CEP系统的监控就行了!

Page 29: 深入浅出复合事件处理(CEP)

总督CEP:减少延迟,增加价值总督 减少延迟 增 价值

每 段延迟都潜在

每一段延迟都会造成业务价值的急遽下降在

的业

值的急遽下降。总督CEP可帮你减少延迟 增业

务价

减少延迟,增加价值!

价值

时间

Page 30: 深入浅出复合事件处理(CEP)

CEP应用领域CEP应用领域

Page 31: 深入浅出复合事件处理(CEP)
Page 32: 深入浅出复合事件处理(CEP)

商业活动监控 群众智能

业界业界应用应用应用应用

网络攻击 犯罪预防 系统动态校验网络攻击 犯罪预防 系统动态校验

Page 33: 深入浅出复合事件处理(CEP)

支付宝使用支付宝使用CEPCEP

对外,防止犯罪对外,防止犯罪网络诈欺、网络攻击、洗钱防治

对内外:防止资损银行、商户、用户错帐;内部错帐银行、商户、用户错帐;内部错帐

对内:业务状况监控趋势 应 营销决策 险规避趋势因应、营销决策、风险规避

Page 34: 深入浅出复合事件处理(CEP)

商业商业CEPCEP产品产品

Coral8

Page 35: 深入浅出复合事件处理(CEP)

难得有微软没做的领域?

微软即将推出StreamInsightStreamInsight

Page 36: 深入浅出复合事件处理(CEP)

CEP关键技术CEP关键技术

Page 37: 深入浅出复合事件处理(CEP)

CEP St i关键字

• Streaming

–连续不间断连续不间断

–实时处理

B• Base

–资料量大资料量大

–数据库

• Insight

–有用的信息有用的信息

–智能

Page 38: 深入浅出复合事件处理(CEP)

CEP关键过程关键过程

格式化 预处理 模式侦测 事件发派 报警

Page 39: 深入浅出复合事件处理(CEP)

CEP关键模块

1133 44事件接入模块

预处理模块

EPL解析器

1133 44

225566CEP规则引擎

数据模型模块

规则管理模块

225566

事件发派模块

行动模块77 88

Page 40: 深入浅出复合事件处理(CEP)

CEP辅助工具辅助 具

规则制作工具 报表输出工具 实时仪表板

Page 41: 深入浅出复合事件处理(CEP)

EPL解析器析器

事件接入模块

预处理模块

EPL解析器

CEP规则引擎

数据模型模块

规则管理模块

事件发派模块

行动模块

Page 42: 深入浅出复合事件处理(CEP)

EPL(事件处理语言)事件处 语言

理論上:

EPLEPL 内部

理論上:

EPL解析器

EPL规则

内部规则

实际上

SQL/LINQ

实际上:

EPL解析器

CEP-EPLSQL/LINQ

命令、函数、Triggergg

Page 43: 深入浅出复合事件处理(CEP)

市面上CEP-EPL大都是扩展自SQL市面 大都是扩展自

CEPSQLSQL

CEP

SELECTSELECTFROMFROMWHEREWHERE

CEPCEP--EPLEPLWHEREWHERE

GROUP BYGROUP BYHAVINGHAVING

RETAINMATCHING

ORDER BYORDER BYINSERT INTOINSERT INTO

OUTPUT…

……

Page 44: 深入浅出复合事件处理(CEP)

无误报警,但漏网之鱼很多…无误报警 漏网 很多

Page 45: 深入浅出复合事件处理(CEP)

有误报警,但无漏网之鱼有误报警 无漏网

Page 46: 深入浅出复合事件处理(CEP)

有误报警,漏网之鱼很少有误报警 漏网 很少

Page 47: 深入浅出复合事件处理(CEP)

无误报警,无漏网之鱼… YA!无误报警 无漏网

Page 48: 深入浅出复合事件处理(CEP)

预处理模块预处 模块

事件接入模块

预处理模块

EPL解析器

CEP规则引擎

数据模型模块

规则管理模块

事件发派模块

行动模块

Page 49: 深入浅出复合事件处理(CEP)

预处理模块采管线架构设计预处 模块采管线架构设计

字段过滤字段过滤

字段填入

事件过滤

事件分流

事件合流事件合流

Page 50: 深入浅出复合事件处理(CEP)

好处是…前后随你接好处是 前后随你接

字段填入事件分流

事件过滤

事件分流

Page 51: 深入浅出复合事件处理(CEP)

引擎与数据模型擎与数据模

事件接入模块

预处理模块

EPL解析器

CEP规则引擎

数据模型模块

规则管理模块

事件发派模块

行动模块

Page 52: 深入浅出复合事件处理(CEP)

事件流会先被放进数据库表中事件流会先被放进数据库表中

输入事件 输出事件

Page 53: 深入浅出复合事件处理(CEP)

扫描比对扫描比对

输入事件 输出事件

Page 54: 深入浅出复合事件处理(CEP)

扫描比对扫描比对

输入事件 输出事件

Page 55: 深入浅出复合事件处理(CEP)

把输出当输入把输出 输

输入事件 输出事件

Page 56: 深入浅出复合事件处理(CEP)

把输出当输入把输出 输

输入事件 输出事件

Page 57: 深入浅出复合事件处理(CEP)

继续扫描继续扫描

输入事件 输出事件

Page 58: 深入浅出复合事件处理(CEP)

也可以多个表输入,一个表输出可以多个表输 个表输出

A B C

DD

EE

Page 59: 深入浅出复合事件处理(CEP)

复合事件的阶级复合事件的阶级

Page 60: 深入浅出复合事件处理(CEP)

规则分解成上下游许多片段规则规则分 成 游许多片段规则

片段规则1

片段规则22

片段规则片段规则3

有些 允 片段规则4

有些CEP允许事件逆流

而上而上

Page 61: 深入浅出复合事件处理(CEP)

扫描方式:滑动与跳跃扫描方式 滑动与跳跃

滑动式滑动式扫描

跳跃式跳跃式扫描

Page 62: 深入浅出复合事件处理(CEP)

扫描区间:定量与定时扫描 间 定量与定时

定量区间定量区间

1000个事件

定时区间定时区间

1分钟

Page 63: 深入浅出复合事件处理(CEP)

put

put

put

put

IBM Amit CEP Architecture

Outp

Outp

InInInput Definition Mgr ActionMgr

InputAdapter

Mgr

Plug‐inAdapter

InputAdapter

Routing Mgr Plug‐in

O t tOutputMgr

Context and Model Based Rule Engine

Listener

User RecoveryRecovery PersistencePersistence

Listener

ListenerUserDB

RecoveryDB

PersistenceDB

Page 64: 深入浅出复合事件处理(CEP)

孔宣大人孔宣大人

【【小品小品】】【【小品小品】】哥做的不是后督哥做的不是后督

是总督是总督

Page 65: 深入浅出复合事件处理(CEP)

我是我是正牌总督

我是孔宣(支付宝工程师)(支付宝工程师)

Page 66: 深入浅出复合事件处理(CEP)

升堂

威武 . . .威武

传犯人孔宣传犯人孔宣

Page 67: 深入浅出复合事件处理(CEP)

本府为朝廷任命之正牌总督,但最近本府听说你自封为总督,你可知罪?

冤枉呀!总督大人。小的是负冤枉呀 总督大人。小的是负责软件开发的,原本要开发一套后督系统,以进行资损的监控 但 为 系统功能相当弹控,但因为此系统功能相当弹性而强大,可以督的事情不只资金的部份 所以小的随口将资金的部份,所以小的随口将「后督」改名为「总督」罢了

Page 68: 深入浅出复合事件处理(CEP)

哦!是这样嘛?那这套总督系统可以这套总督系统可以做那些事呢?

基本上,BI(商业智能)、

BAM(商业活动监控) 系BAM(商业活动监控)、系统监控、网络攻击侦测、

洗钱预防 等任务 大部洗钱预防 … 等任务,大部分「总督系统」都能做到!

Page 69: 深入浅出复合事件处理(CEP)

这么强大?不会只是宣传噱头吧?

冤枉呀!大人。冤枉呀!大人。总督系统通过状态机引擎运行监控规则,只要编写各式各样的总督规则,就可做各种不同的监控。而这总督规则就是程序,可以做任何的事 任何数学计算与逻辑任何的事,任何数学计算与逻辑

运算都难不倒它。

Page 70: 深入浅出复合事件处理(CEP)

这么强大,给本府一套玩玩。

大人你有所不知,因为小的编程能力有限,所以系统现在还有很多BUG 不太稳定 加上人力短缺BUG,不太稳定。加上人力短缺,开发进度一直快不起来,估计最快还要两三季才能完善整个系统还要两三季才能完善整个系统。

大胆刁民 藉口这么大胆刁民,藉口这么多,来人呀!拖出去

斩了!斩了!

Page 71: 深入浅出复合事件处理(CEP)

后督 EDA 数据库 状态机 总督后督 EDA 数据库CEP 状态机CEP 总督

Page 72: 深入浅出复合事件处理(CEP)

VViiVViicceerrooyyyy支付宝 总督系统支付宝 总督系统

Page 73: 深入浅出复合事件处理(CEP)

总督采用不同于其他CEP系统的设计

他牌CEP 支付宝总督

数据库引擎 状态机引擎

Page 74: 深入浅出复合事件处理(CEP)

他牌CEP:笨重、庞大、僵化

Page 75: 深入浅出复合事件处理(CEP)

1. 他牌CEP无法(或难以)描述相当复杂的复合事件描述相当复杂的复合事件。

2 他牌CEP事件格式受到数据库表2. 他牌CEP事件格式受到数据库表schema的限制,无法自由扩展。

3. 他牌CEP需要大量的存储。

Page 76: 深入浅出复合事件处理(CEP)

总督CEP:轻巧、敏捷、灵活

Page 77: 深入浅出复合事件处理(CEP)

总督CEP状态机的好处

S2

S3 交易进行中

S4 S5 S6

等待创建

等待付款S1

S2 S4 S5 S6

T1

T2R1

创建交易

等待送货

S7 S8 S9T3R2

S10

事件不放数据库 状态机相当 只需记录当数据库,所以格式不受限制。

状态机相当灵活,描述能力很强

只需记录当前状态,相当节省存储不受限制。 能力很强。 当节省存储。

Page 78: 深入浅出复合事件处理(CEP)

总督支持两种模式

模式 反模式

Page 79: 深入浅出复合事件处理(CEP)

CEP系统的三大难题CEP系统的三大难题

Page 80: 深入浅出复合事件处理(CEP)

海量事件 处理压力太大海量事件 处理压力太大海量事件,处理压力太大海量事件,处理压力太大

返乡人口众多,请耐心等待!请耐心等待!

Page 81: 深入浅出复合事件处理(CEP)

网络或系统延迟 事件乱序网络或系统延迟 事件乱序网络或系统延迟,事件乱序网络或系统延迟,事件乱序

遵守交通次序,请勿超车!请勿超车!

Page 82: 深入浅出复合事件处理(CEP)

存在误报警的可能存在误报警的可能存在误报警的可能存在误报警的可能

小心 触警铃小心误触警铃,严格求证真相!

Page 83: 深入浅出复合事件处理(CEP)

CEP的未来令人期待…CEP的未来令人期待

Page 84: 深入浅出复合事件处理(CEP)

20102010年的年的CEPCEP20102010年的年的CEPCEP

Page 85: 深入浅出复合事件处理(CEP)

若干年后若干年后……若干年后若干年后

Page 86: 深入浅出复合事件处理(CEP)