CEP 概念

5.5.1 CEP是什么

CEP是流式处理的核心技术。

不管是单独的应用系统,还是数据仓库,都是先将数据存储到数据库/数据仓库,然后再处理或查询。而CEP与常见的Message Queue系统类似,都将数据看作数据流,在连续数据的快速移动过程中进行分析处理。这样的方式不需要很大的数据加载,完全可以在内存中进行,从而能够快速产生结果,如图5.29所示。

业务事件可能很复杂,在各种不同的数据流中源源不断地产生各种类型的事件。不仅需要对这些业务事件进行复杂的计算,如过滤、关联、聚合等,同时还需要考虑这些业务事件出现的时间序列,最终才能产生有意义的事件,或触发业务流程。注意,这些计算的规则可能还会经常变化。

这类问题通常通过基于规则的推理机(规则引擎)来实现,如图5.30所示。

图5.29

图5.30

5.5.2 CEP的架构

CEP的架构如图5.31所示。

图5.31

CEP在逻辑上应该包括:

  • 事件发生器通过应用系统、文件系统、数据库、互联网、人工及传感器产生事件。
  • 事件处理器模式的匹配、验证和改进、路由、转换及编排。
  • 事件消费者与事件发生器类似,也可以是应用系统、文件系统、数据库、互联网、人工界面等。

CEP将数据看作一种数据流,基于规则引擎对业务过程中持续产生的各种事件进行复杂的处理,能够实现对连续数据的快速分析处理。CEP可以应用在多种业务场景,如风险分析、程序化交易等。如果说BI实现了商业智能,那么CEP则实现了“持续智能(Continuous Intelligence)”。

5.5.3 Esper

Esper是一个开源的CEP实现。Esper是纯Java开源复杂事件和事件流引擎,可以监测事件流,并在特定事件发生时触发某些动作。Esper引擎是为了满足事件进行分析并做出反应等应用需求而产生的。这些应用需求实时或者接近实时地处理事件(或消息)。这类应用具有高吞吐量、低响应时延和复杂的计算等特点。

Esper引擎的典型应用有:

  • 业务处理管理和自动化(处理监控、业务活动监控、异常报告、经营智能化等)。
  • 财务(算法交易、欺诈检查、风险管理)。
  • 网络及应用程序监控[入侵检测、SLA(Service Level Agreement)监控]。
  • 传感器网络应用(RFID读取、生产线调度和控制、空中交通)。
  • Esper支持类SQL语句EPL(Event Process Language)。

本文选自本人新作《大数据架构详解:从数据获取到深度学习》5.5.1/5.5.2节。

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2017-03-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

windows程序设计-第四章 system1.c

/*---------------------------------------------------- SYSMETS1.C -- System M...

23610
来自专栏c#开发者

C# : row-clickable GridView and get and set gridview rows using JavaScript

Complete C# code: ---------------- using System; using System.ComponentModel; ...

2996
来自专栏码匠的流水账

聊聊spring cloud的AbstractLoadBalancingClient

本文主要研究一下spring cloud的AbstractLoadBalancingClient

832
来自专栏菩提树下的杨过

MSDN官方的ASP.Net异步页面的经典示例代码

示例1.演示异步获取一个网址的内容,处理后显示在OutPut这一Label上 using System; using System.Web; using S...

1985
来自专栏c#开发者

解决msmq接收远程主机私有队列消息的问题!

通过调用windows\system32\mqoa.dll 这个Message Queuing ActiveX Interface API函数就可以做到; 下面...

5127
来自专栏互联网开发者交流社区

WinForm之窗体应用程序

1853
来自专栏谈补锅

记录C#常用的代码片段

using Newtonsoft.Json; using Newtonsoft.Json.Linq;

922
来自专栏Netkiller

Java·日期时间处理

本文节选自《Netkiller Architect 手札》 1.4.3. Date 1.4.3.1. SimpleDateFormat public stati...

3574
来自专栏成长道路

JDBC动态SQL语句连接orcale数据库的工具类

import java.sql.Connection; import java.sql.DriverManager; import java.sql.P...

2470
来自专栏闻道于事

商城项目整理(三)JDBC增删改查

商品表的增加,修改,删除,订单表的增加,确认,用户表的查看,日志表的增加,查看 商品表建表语句: 1 create table TEST.GOODS_TABL...

5445

扫码关注云+社区