复杂事件处理(Complex Event Processing)
2017-07-31 13:25
465 查看
一个新产品需要重点考虑业务风险控制。关于风险控制系统整体的技术方案可以参考 支付系统风控系统建设思考 。此方案尽管能够满足业务需求,但对于海量交易数据分析、风险事件的实时处理、大量的风险规则处理上,在实时性、性能、架构的可扩展性上都不是很理想,有必要重新从架构上考虑一下实现方案。
一般而言,风险控制系统标准的软件架构如下:
1)、数据库方案:将风险规则、交易数据等都采用关系数据库存放。正如 支付系统风控系统建设思考所提到的方案,交易库和风险库一般分别部署在不同的服务器上,在事件触发上可以采用数据库触发器、消息队列事件等方案。此种方案技术实现相对简单,但在进行海量交易数据查询以及大量风险规则处理时候,数据库系统查询性能及扩展性成为一个较大的瓶颈。很难满足风险事件实时分析的要求。
2)、内存数据库方案:由于对海量交易数据的查询、分析极其消耗数据库资源,可以采用内存数据库方案来替代关系数据库,保证风险事件实时处理的性能。 但目前开源的内存数据中VoltDB、H2、MonetDB、FastDB、Berkeley DB、SQLite等在大规模的业务场合应用的成熟度尚待考察,而Oracle TimesTen、MCObject eXtremeDB、Altibase价格太高。
3)、分布式缓存方案:采用Memcached等NOSQL的分布式缓存来缓存交易数据、风险规则等,但由于NOSQL解决方案并不擅长数据间的关系逻辑处理,需要在程序中大量维护业务处理逻辑,远不如关系数据库或内存数据库方案方便。
以上方案,都可以通过规则引擎(例如drools)来完成风险规则的管理和维护,避免了风险规则维护的繁琐及规则间复杂关系处理。
Complex Event Processing (复杂事件处理)是一种新兴的基于事件流的技术,它将系统数据看作不同类型的事件,通过分析事件间的关系,建立不同的事件关系序列库,利用过滤、关联、聚合等技术,最终由简单事件产生高级事件或商业流程。CEP适合的场景包括实时风险管理、实时交易分析、网络诈欺、网络攻击、市场趋势分析等等。
CEP的几大特点:
基于数据流
时间序列
实时
复杂
数据库方案与CEP方案 对比(摘自Sybase CEP方案)
Esper – Complex Event Processing
http://esper.codehaus.org/
JBoss – Drools Fusion
http://www.jboss.org/drools/drools-fusion.html
Open ESB IEP SE
http://wiki.open-esb.java.net/Wiki.jsp?page=IEPSE
ActiveInsight
http://www.activeinsight.net/
其他产品或开源项目,可以参考:Complex Event Processing Vendors
其中Esper和Drools Fusion很值得考虑,后续作为重点研究对象。
一般而言,风险控制系统标准的软件架构如下:
1、风控系统实现的几种方案
1)、数据库方案:将风险规则、交易数据等都采用关系数据库存放。正如 支付系统风控系统建设思考所提到的方案,交易库和风险库一般分别部署在不同的服务器上,在事件触发上可以采用数据库触发器、消息队列事件等方案。此种方案技术实现相对简单,但在进行海量交易数据查询以及大量风险规则处理时候,数据库系统查询性能及扩展性成为一个较大的瓶颈。很难满足风险事件实时分析的要求。2)、内存数据库方案:由于对海量交易数据的查询、分析极其消耗数据库资源,可以采用内存数据库方案来替代关系数据库,保证风险事件实时处理的性能。 但目前开源的内存数据中VoltDB、H2、MonetDB、FastDB、Berkeley DB、SQLite等在大规模的业务场合应用的成熟度尚待考察,而Oracle TimesTen、MCObject eXtremeDB、Altibase价格太高。
3)、分布式缓存方案:采用Memcached等NOSQL的分布式缓存来缓存交易数据、风险规则等,但由于NOSQL解决方案并不擅长数据间的关系逻辑处理,需要在程序中大量维护业务处理逻辑,远不如关系数据库或内存数据库方案方便。
以上方案,都可以通过规则引擎(例如drools)来完成风险规则的管理和维护,避免了风险规则维护的繁琐及规则间复杂关系处理。
2、Complex Event Processing (复杂事件处理)
Complex Event Processing (复杂事件处理)是一种新兴的基于事件流的技术,它将系统数据看作不同类型的事件,通过分析事件间的关系,建立不同的事件关系序列库,利用过滤、关联、聚合等技术,最终由简单事件产生高级事件或商业流程。CEP适合的场景包括实时风险管理、实时交易分析、网络诈欺、网络攻击、市场趋势分析等等。CEP的几大特点:
基于数据流
时间序列
实时
复杂
数据库方案与CEP方案 对比(摘自Sybase CEP方案)
3、开源项目
Esper – Complex Event Processinghttp://esper.codehaus.org/
JBoss – Drools Fusion
http://www.jboss.org/drools/drools-fusion.html
Open ESB IEP SE
http://wiki.open-esb.java.net/Wiki.jsp?page=IEPSE
ActiveInsight
http://www.activeinsight.net/
其他产品或开源项目,可以参考:Complex Event Processing Vendors
其中Esper和Drools Fusion很值得考虑,后续作为重点研究对象。
相关文章推荐
- 复杂事件处理(Complex Event Processing)技术的思考和分析
- 复杂事件处理(Complex Event Processing)--3. 复杂事件处理引擎产品
- 大量日志数据复杂事件处理技术(Complex Event Processing 简称CEP)
- CEP学习笔记 --- Complex Event Processing复杂事件处理
- 复杂事件处理(Complex Event Processing)入门1
- 复杂事件处理(Complex Event Processing)--5. 复杂事件处理案例分析
- 复杂事件处理(Complex Event Processing)--4. 产品介绍TIBCO Business Events
- 复杂事件处理(Complex Event Processing)--6. 复杂事件处理总结
- 复杂事件处理(Complex Event Processing)--1. 基本概念:事件,事件关系,事件处理的简单抽象理解
- 复杂事件处理(Complex Events Processing) --2. 复杂事件处理的功能和应用场景
- 复杂事件处理(Complex Event Process)--0.开篇
- 事件处理&时空推理(event processing/temporal reasoning)-jboss Drools Fusion
- SharePoint Workflow架构(二)Workflow 事件处理管道(Event Processing Pipeline)
- 事件处理&时空推理(event processing/temporal reasoning)-jboss Drools Fusion
- onInterceptTouchEvent()用于处理事件并改变事件的传递方向。
- What is Complex Event Processing? (Part 3)
- Axure RP Pro - 翻译 - 5.5 Tutorial教程 - AXURE 202 Article 3: Rich Functionality复杂功能 - OnKeyUp Event - OnKeyUp事件
- android 事件处理机制之requestDisallowInterceptTouchEvent
- js 事件处理函数间的Event物件是否全等
- libevent事件处理程序struct event解析