




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位论文基于复杂事件处理的金融软件系统实现及改进姓名:张昕申请学位级别:硕士专业:计算机应用指导教师:李善平20070501浙江大学硕士学位论文(),(),勰(),浙江大学硕士学位论文闰日录图目录图算法交易的算法策略示例图复杂事件是对简单事件的抽象图事件流处理的流程图复杂事件处理将简单事件变成有意义的事件图抽象事件分层图复杂事件处理的流程图逻辑构架图事件建模器实现业务状态机图交易系统架构图相关器中的,和图状态图图状态图图状态图一图状态图图仪表板界面图仪表板面板图安全性改进后的系统图角色的授权设置图安全性改进后的系统。图系统冗余结构图系统使用技术的冗余结构图系统使用复杂事件处理中间件的架构设计浙江大学硕士学位论文表目录表目录表全国各交易所对报价示例表表结构表的初始化参数表角色对不同的操作权限。浙江大学硕士学位论文第章绪论第章绪论研究背景复杂事件处理和金融软件系统是本论文研究的两个背景领域,本节对这两个领域分别进行介绍。复杂事件处理在计算机软硬件系统中,事件驱动的应用由来已久。从底层的软硬件中断,到图形化用户界面的用户输入响应,到高层的企业应用中的事务流程监控管理,都是事件驱动的例子。对事件和事件处理也已经存在相当深入的研究。但是随着软件系统应用的规模越来越大,以及网络和分布式系统的发展,事件驱动的软件系统面临着越来越多新的挑战。系统应用的发展要求软件系统监控的事件更多也更加复杂,因此事件输入的数量、种类和速度都相应增加,同时又要求系统对事件做出及时的响应。另一方面,在大量的输入事件中,如何能抽取和总结出各个应用层次所需要的有意义的事件,从而更好地做出判断和决策,是事件驱动系统所需要解决的问题。为解决这些问题,近年来研究并提出了事件驱动架构(,)的概念,专门针对面向事件驱动处理的系统的构建。复杂事件处理(,)就是在这个背景和框架下产生的,它是构建和管理由事件驱动的信息系统的一种新兴技术。复杂事件处理的目标是从软件系统应用各个层次的事件流中,获得其中所包含的信息,理解其对上层管理目标和业务过程的影响,并做出实时的反应。复杂事件处理技术进一步包括复杂事件模式的识别,事件流处理,事件的关联和抽象,事件层次,事件间的关系和事件驱动的处理等等。在复杂事件处理的概念下,已经出现了很多研究。并且在研究的推动下,软件厂商推出了新的基于事件处理的开发平台,现有事件处理开发平台的发展也受其影响。复杂事件处理在各种领域得到了成功的应用。金融软件系统的深入发展对金融市场带来了深远的影响。越来越多的人工交易系统被电子交易系统替代。越来越多的客户使用在线电子交易方式替代传统的电话、传真浙江大学硕士学位论文第章绪论方式。年的在线交易量比年增长了多倍嘲。金融软件系统已经在金融市场的各个领域得到了应用。算法交易()是近年来比较热门的计算机系统在金融中的应用。算法是计算机科学中非常普通的概念,比如对数据的搜索和排序等等。但是当算法的内容是在资本市场中一系列能赚取利润的步骤时,那么这就是算法交易所研究的范围。交易算中最重要的步骤就是发现何时进行交易。这需要观察不断变化的市场价格,发现交易机会,这是策略的分析阶段。以“成对交易”策略来举例,这个策略观察在统计上相关的一对股票。比如微软和两只股票,它们都是信息技术领域的股票,所以在很大程度上会往同一方向波动。对于这种趋势的认识带来了赚取利润的机会,当这两只股票在价格走势上短期失去了一致性时,交易员可以买入一只股票而卖掉另一只。这就是成对交易的概念。在这里,算法需要一直关注两只股票价格的任何变动,并且计算各种分析方法,来判断是否出现了价格的背离。举例来说这可以通过计算两股票间价格差是否超出了某标准差。图就是基于成对交易策略的交易算法示例。圈算法交易的算法策略示例浙江大学硕士学位论文第章绪论在这个例子中,算法需要观察微软股票、股票以及市场上各种指数的实时走势,当这些事件的某种组合,达到了一个比较复杂的条件后,算法执行操作买入微软股票卖出股票。由于各种报价信息是连续的大量的,系统必须有很强的处理报价输入的能力,实现较复杂的算法,并能实时做出响应动作。这是实现金融软件系统时所要面对的挑战。应用金融软件系统的还有:各种金融工具的交易;金融规则的实施,比如美国金融工具市场指导(,)和国家系统市场管理规则(,),要求交易商必须提供给客户最好的可用价格;金融市场的监督和监管;金融诈骗防范;转账;实时风险分析管理;智能订单路由;市场聚合;自动柜员机的监控;清算和交割;等等。由于金融软件系统的特殊性,对其特性也提出了新的需求,比如对安全性要求等等。以下是创建一个金融软件系统时需要考虑的一些因素:需要具备好的安全性。系统要对客户的交易信息,往返的消息安全性有保障。提供此类系统的公司会需要保证这一点。一般通过专有网络,严格的安全措施进行保证。需要支持高可用性嘲。对于这样的金融交易系统,系统崩溃可能给客户带来很大的损失。需要保证系统的高可用性。一般可以通过备援系统提高系统可用性。能够顺利进行失败恢复嘲。系统崩溃之后要能够尽快恢复,并且能继续服务。保证客户的交易信息不丢失。系统需要高吞吐量”。金融交易系统往往会在某些时刻要求处理大量交易。系统要能应付大的吞吐量。需要满足负载均衡”。此类系统往往要考虑负载均衡。需要具备好的容错性”。作为金融交易系统,应该具备很好的容错性。例如,如果从客户段传送过来一个不合法的订单,系统应该像客户报告错误,而不能因为这类错误导致系统崩溃。需要提供可靠的日志嘲。作为一个金融交易系统。应该为交易信息提供可靠的日志,以备审计之用。将复杂事件处理应用于金融软件系统由之前对金融系统应用的描述可以看到,稳定快速的事件处理能力对上层业浙江大学硕士学位论文第章绪论务逻辑的实施至关重要。就事件处理方面而言,金融系统数据的输入数量和速度都很大,比如股票市场价格信息,在一个交易所中就有成百上千只股票,而且在交易时间中每只股票的价格时时刻刻都在变化,这就需要软件系统能足够快速的接收并处理这些信息。由于金融交易的复杂性,所以软件系统并不是简单地对这些事件输入进行响应,而是要应用复杂的算法,在大量的数据上进行计算后才能判断是否以及如何进行响应。此外金融交易的机会稍纵即逝,为了追求利润,需要近乎实时的对市场变动做出反应,不允许太大的延迟。所有这些因素都显示了复杂事件处理在金融软件系统中应用的机会。在金融软件系统中使用复杂事件处理,可以使系统对市场状况的反应更快速准确,使得上层复杂的业务要求可以较轻松地实现,对于金融行业的行业建设有很现实的意义。本文将应用复杂事件处理技术来实现一个金融软件系统,并尝试对其进行评估和改进。第二章,对复杂事件处理技术进行介绍和综述,包括介绍了事件处理的基础。以及复杂事件处理技术所属的事件驱动架构框架。还包括对进行研究使用的复杂事件处理平台进行介绍。第三章,根据金融需求,应用复杂事件处理平台,通过需求分析和设计,实现一个股票交易系统的原型,从而考察复杂事件处理在金融软件系统中应用的情况。第四章,针对金融系统的特性和要求,对实现的系统进行进一步改造和完善,包括系统的安全性、可扩展性、高可用性和可靠性。研究总结在使用复杂事件处理技术时如何更好地实现软件系统非功能性需求。第五章,根据复杂事件处理技术在实现金融软件系统中应用总结的得失,提出新的金融软件系统复杂事件处理解决方案。第六章,对全文进行总结。概括所有的研究工作,指出其中的不足之处,并对未来的工作进行展望。本章小结作为绪论,本章介绍了论文研究的背景,提出了论文所要解决的问题及其价值和意义。本章首先介绍了复杂事件处理的基本概念。其次,对将要应用此技术的金融新缸大学硕士学位论文第章绪论软件系统进行介绍,举例说明其应用,并介绍其作为行业应用软件的特殊要求。接着,分析了将复杂事件处理应用于金融软件系统的可行性和意义,并对本论文的章节结构进行描述。浙江大学硕士学位论文第章复杂事件处理综述第章复杂事件处理综述事件处理基本概念事件是一个很广泛的概念,在通常意义上指那些值得注意的事的发生。比如一次金融交易的完成,传感器读数的一个输出,一次飞机的降落,自然上发生的一件事比如一场地震的发生,或者是社会或历史上发生的一件事比如一场战争的发生,等等。而在计算机系统的范畴内,事件被定义成“状态的一次有意义改变”“”。比如当一个客户购买了一辆汽车之后,汽车的状态从“待售”变成了“售出”。汽车经销商的软件系统会把这个状态的改变当成事件输入,去侦测、产生、发布并由软件系统中的各种应用程序根据需求处理这个事件。事件对象指用来表示、编码或记录一个事件的对象,通常是为计算机处理的目的而定义“。事件对象是对事件的一种表达,计算机系统正是通过处理事件对象这种事件的表达形式来处理事件的。事件本身是唯一且不可变的,而多个事件对象却可以记录同一个事件。事件对象的例子有股票报价信息用来汇报一次股票的交易,一条射频扫描读入的汇报消息,等等。“事件”常常也被用来指“事件对象”。事件对象包含数据,来表示事件。但在事件处理的讨论中,“事件”这个词的意义经常被重载为事件对象的同义词。即它的意义既有日常意义上所指的任何事的发生,也有计算机科学意义上的事件对象或消息。在本文中也将不着重区分事件和事件处理的使用。事件之间存在相互关系,这些关系使事件相互联系在一起,包括时问关系、因果关系、抽象(组合)关系和其他关系。时间关系和因果关系可以决定事件之间的偏序。抽象关系也叫组合关系,它是一个事件对一个事件集合的总结、代表或指示关系。简单事件(或原子事件)指的是那些不是对其他事件抽象而成的事件。相对应的,复杂事件(或组合事件)就是对两个或更多事件抽象而得到的事件,那些被抽象的事件被称为成员事件。图显示的是简单事件和复杂事件之间的形成关系。浙江大学硕士学位论文第章复杂事件处理综述图复杂事件是对简单事件的抽象复杂事件的例子如美国年股市大崩盘这个事件,是对成千上万成员事件的抽象和指示,这些成员事件包括每个股票的交易情况等等。一条指令也是一个复杂事件,它是对一些寄存器状态变化事件的组合。通过将事件抽象成为更高层次的事件,可以更好的理解和处理事件。事件处理就是指对事件进行操作的计算,包括读取、修改、创建和销毁事件。当前事件处理技术不足事件处理并不是新生事物,对于事件处理也经历了很多年的研究。但是近来发生了如下的变化,使得当前的事件处理技术越来越无法满足系统的需求“。首先,软件系统需要处理的事件越来越复杂。这种复杂表现在几个方面。当软件系统的功能需求不断增加,系统为了满足这些功能就要关注更多种类的事件。比如企业仓库的管理软件系统需要检测货物进出等事件;当系统演化成需要客户订单流程管理功能时,又要关注客户下订单等事件:系统进一步演化成企业业务流程管理时,又会关注更多的企业运营事件等等。系统的事件输入源也越来越多,技术的发展比如无线射频识别技术(,)使得事件的输入快速而高效,造成系统需要处理的事件数量和强度增加。面对事件输入压力的增大,系统又要做出足够快速的判断,进行响应。其次,更多类型的应用软件需要事件处理。某些传统上独立的应用程序也开始需要和信息系统集成,比如模拟系统,实时系统等。针对这些不同类型的应用需要,要求一个成熟稳定的事件处理解决技术,另外这个技术又必须能足够灵活地适应各种不同的需求。浙江大学硕士学位论文第章复杂事件处理综述再次,软件功能的发展需要更成熟的事件处理技术。比如和这样的电子交易网站,在时间上要求连续对事件进行响应,在空间上整个系统的事件输入全球化,这种特性需要更成熟的事件处理技术来处理。最后,对事件抽象的层次要求越来越高。传统的根据简单事件直接做出决策的方法已经越来越不能适应新的需求,新的大型软件系统需要捕捉各种更为复杂的事件,比如一组在时间上有特定关系、数量上有特定要求的事件。如何高效地捕捉这些事件,如何让用户和开发人员更好地定义这种事件,是要研究解决的问题。另一方面对于同样的事件输入,不同的应用层次对这些事件会有不同的抽象要求,比如在一个生产企业中对于日常运作的所有事件输入,生产部门需要关注所有生产相关的事件并进行抽象,人事部门需要关注所有和人员有关的事件并进行抽象等等,而管理层则需要抽象更高层次的事件。对于这样的需求,为每个系统开发各自的事件处理应用显然性价比很低,而且这种应用已经被认为可以归于中间件层的能力范围,所以需要开发专们针对事件处理的软件来适应这种应用要求。事件驱动架构事件驱动架构(,)是一种软件系统架构模式,用来增强系统对事件的产生、检测、消耗和反应能力。在事件驱动架构中,一个事件的发生会被立刻散布到对其感兴趣的一方,再进一步评估这些事件,从而做出适当的反应。这些事件驱动的反应包括一个服务的启动,一个业务流程的触发,或者更多的信息发布综合等等“”。事件驱动架构这种架构模式可以应用来设计和实现在松耦合的软件部件或服务中传递事件的应用程序或系统。事件驱动架构天然就是松耦合的,分布式的。事件的源只知道事件的发生,并不知道后续的处理,或者对事件有兴趣的部件。想要追踪一个事件在动态多路径事件网络中的流动过程是复杂的。因此事件驱动架构最适合于异步的工作流和信息流处理。事件驱动架构通常包括事件的生产者和消费者。事件消费者向处于中间的事件管理器订阅,事件生产者则向管理器发布事件。当事件管理器从时间生产者那里收到事件时,它会将事件推送到消费者那里。如果消费者不可用时,事件管理器可以将事件储存下来,稍后再尝试。这种事件发送机制在基于消息的系统中被叫做“存储转发”。根据事件驱动架构来构建应用程序或系统可以让这些应用程序和系统以一浙江大学硕士学位论文第章复杂事件处理综述种更容易对事件进行响应的方式来建造,因为事件驱动的系统从设计上就更适合充满不可预期和异步事件的环境。事件处理流程事件流从一个事件被创建开始,到最终由事件驱动的动作被执行为止。事件驱动架构将事件流分成四个逻辑上的层:事件生成。每一个事件都是由事件源产生的。这个源可能是一个应用程序,数据存储,服务,业务过陈,发射器,传感器,或合作工具(即时消息软件,电子邮件)。一个简单事件可能被事件处理器(路由器,过滤器)进行可关注性评估,进而产生一个新的可关注事件。因为事件生产者的多样性,不是所有的事件都按照事件处理所要求的格式被产生。在这种情况下,事件需要在放入事件通道前被转换成需要的格式。事件通道。事件通道一般是传输消息的主干,在事件生成、事件处理和下游的订阅者间传输标准格式化的事件。事件处理。在事件处理层收到一个事件后,会根据事件处理规则对这个事件进行评估,再触发相应动作。事件处理的规则和相应动作是根据事件消费者的兴趣和需求来制定的,而不是取于事件生产者。事件由引擎来处理。简单的事件处理引擎独立地处理每个事件发生。复杂的事件处理引擎在处理一个事件的发生时,会结合其之前已发生或之后将要发生的事件上下文来处理。这些事件触发的动作包括启动服务,触发业务过程,将事件发布到另一个订阅终端,直接通知操作人员或系统,产生一个新事件,或将事件记录下来等等。事件驱动的动作。一个事件可能会引起在下游的若干个动作发生。一个动作可能由事件处理引擎来直接触发(启动服务,业务过程触发,通知等等),或者由事件的订阅者来发起。订阅者可能是人,应用程序,活动的业务过程,数据仓库,性能仪表板或自发的代理组件等等。事件必须以标准格式发布,而一般由企业集成主干系统负责将事件或动作触发信息转换成为订阅者所需要的格式。事件处理类型事件驱动架构中定义事件处理有以下三种类型,在一个事件驱动架构中这几种类型的事件处理机制可能同时被应用到“。简单事件处理。在简单事件处理中,一件值得关注的事件发生,引起下游的动作被触发。简单事件处理通常被用来驱动实时的工作流程,缩减业务中的延迟浙江大学硕士学位论文第章复杂事件处理综述时间和开销。简单事件处理是一种单一的映射关系,由事件触发动作,而不处理复杂的事件关系序列。事件流处理(,)。在事件流处理中,普通事件和需要关注的事件同时发生”。普通事件(订单,无线射频识别传输)被检测其是否值得关注,同时也流向了信息的订阅者。事件流处理通常被用来驱动企业内部和周边的实时信息流,让及时的决策制定成为可能。和复杂事件处理相比,事件流处理更关注于事件的流动性。下面用一个多渠道消费电子产品零售商的例子来演示事件流处理。图演示了这样一个过程。在图的左上角显示了第一个流程,当每件商品离开仓库时,无线射频传感器都会发送产生一个事件。零售商希望在每一件高端产品被售出时得到通知。为了达到这个需求,一个本地事件过滤器根据规则将所有价格小于元的商品过滤掉。某事件是购买一个元的等离子电视。这个事件被格式化成标准的事件格式,并被放到事件通道上。简单事件处理引擎收到这个事件,按照以上针对高端产品离开仓库的规则,将这个事件进行发布。仓库管理者的监控系统订阅了这样的事件。图事件流处理的流程第二个和第三个流程从订单应用程序开始,如图左下角所示。每个客户的订单产生一个普通的“订单已下”事件。所有这样的事件经过事件通道,由简单事件处理引擎发布,最终流入数据仓库。这些事件在图中表示为事件。为了吸引高价值客户,他们每多订购元的商品,消费电子零售商要立刻提升他们的等级以为奖励。为了这个需求,一个本地的事件路由器评估每个“订单以下”事件,并且在这个条件满足的时候触发一个新的“高价值订单”浙江大学硕士学位论文第章复杂事件处理综述事件。这个事件在图中由事件表示。当“高价值订单”事件被产生后,将被放到事件通道上,由简单事件处理引擎接收并处理。这个事件处理规则所关联的动作应该是触发“评估客户等级”的服务。复杂事件处理。事件驱动架构中的第三种类型就是复杂事件处理。对于事件处理,简单事件处理只能处理较直接的事件和动作触发关系,事件流处理是流上的单独事件处理。而作为一种实时事件处理并从大量事件数据流中挖掘复杂模式的技术,复杂事件处理通过分析有意义的事件从而实时地取得这些有意义的信息。下一节来介绍复杂事件处理。复杂事件处理研究历史及现状现代的事件处理从上世纪年代开始发展。加利福尼亚州科技学院的,剑桥大学的和斯坦福大学的分别开始了独立的学术研究。这些研究的焦点是开发一种处理事件流数据的新手段,来识别复杂的事件序列(事件后发生了事件,紧接着事件发生),并在时间上有限制(在分钟内发生),或在空间上有限制(任两者间发生时的距离不超过五公里),并且根据这些复杂模式的结果做出响应的动作(给操作者提出黄色警告,除非检测到另一个事件在秒内发生)“。根据这些研究,成立了商业的软件公司。的研究工作引发了公司的建立(后被收购)。和在年共同创建了公司。在年,发布了事件的力量:对复杂事件处理在分布式企业系统应用的介绍一书,明确并让大众了解了“复杂事件处理”的含义。在年,另外两家软件供应商成立了,它们是和。公司在年也进入了这个市场。其他的复杂事件处理公司还有和。复杂事件处理已经应用到很多的领域中。最早的应用是业务活动监控,让用户实时地获得并分析重要的业务指标。复杂事件处理提供了在业务过程流之上灵活的分析模型。复杂事件处理另一个重要应用是在供货链和零售的自动化。复杂事件处理帮助实现简单的供货链问题比如“当货车到达,但期待的货物在秒内没有收到,则通知操作人员”。或更复杂的问题,如“当某本书的库存量只比最低库存量多,并且根据最近小时的销售情况,发出事件让分发中心重新发书。”这方面的现实例子是荷兰的售书商,其浙江丈学硬十学位论文第章复杂事件处理;述第一个实现了在其仓库中使用复杂事件处理,并用无线射频识别技术对书进行标记。其他复杂事件处理应用的领域还有机场航空监管通信,能源,网络,公共等等。随着事件处理逐渐被公众认可,事件处理的市场需求也越来越大。据美国咨询公司年月底发布的一份分析报告年美国事件处理市场的总收入是万美元。而根据市场扩充的速度,以及实时事件驱动解决方案的认可度不断提高,预计到年整个事件处理市场会达到亿美元的水平。复杂事件处理的研究应用主要在国外,国内对于复杂事件处理的研究较少,主要集中在无线射频识别技术研究中的信息处理响应部分。随着跨国公司在中国成立研究和开发机构,国外的研究成果也被输入国内。在一些企业应用的开发中,使用到了复杂事件处理理论下形成的开发产品,但影响还不大。国内市场对事件处理的需求是巨大的,复杂事件处理能带来巨大的优势。随着复杂事件处理研究和应用的不断推进,国内应当会出现更多相关研究应用。理论背景复杂事件处理用于处理大量的简单事件,并从其中整理出有价值的事件。举个倒子:教堂的钟声、穿礼服的男士,以及抛洒在空中的米粒,这些都是简单事件。而从这些简单事件中得出的推断或结论一场正在举行的婚礼,即为复杂事件。复杂事件处理就是帮助人们通过分析诸如此类的简单事件,并通过推断得出复杂事件。这样得到的复杂事件是更抽象更有意义的事件。图显示了将简单事件抽象成有价值复杂事件的过程。图复杂事件处理将简单事件变成有意义的事件早期的事件处理使用的是一种静态处理模型。这种模型将事件进行存储,索浙江大学硕士学位论文第章复杂事件处理综述引并查询,试图发现曾经发生的事,比如“上个月的营业额是多少”。这是一种依赖于关系数据库的静态分析模型。数据库的设计是存储历史数据,所以当使用在事件处理中时有很大的缺陷,就是缺乏对实时性的支持。相对于传统方法对数据的“快照”进行静态处理,复杂事件处理试图将处理过程颠倒过来,将事件数据流经过查询条件,从而触发相应的动作。从事件源输入到一个系统中的事件一般都是简单事件,它们反应了事件源处状态的改变。传统上对于这些事件是单独建模处理的,但是这样的事件可能会非常多,表达某一个意义的事件可能互相之间或在时间上很分散。可能会有很多不相关的事件参杂在那些有意义的事件中,就需要把那些有意义事件提取出来的技术。另外这种建模方法缺少了事件间的因果关系。比如在一个网络系统中一个错误发生了,如某台服务器不工作,这时很难立刻从之前发生的事件中找出那些引起最终错误的事件,而是需要依靠网络相关知识试图来发现。此外,对于简单事件观察的角度是不灵活的。在大部分时候,系统需要的是从简单事件抽象出的有意义的事件,高层次的事件。而且传统系统中建模生成的事件是固定在系统中的,无法随着需求的变化而变化。我们需要能在系统仍运行时,就根据出现的新的或者未预料到的问题,灵活的产生新的事件类型。系统要能根据任何时候的需求,生成不同的事件集合。用复杂事件处理进行建模首先要考察简单事件之间各种各样的关系。一种关系是时间关系,如事件在事件之前发生。通常时间关系可以由事件对象上的时问戳来表示。另一种关系是因果关系,如事件造成了事件发生。相反,如果事件和事件之间没有因果关系,那它们互相独立。因此,复杂事件处理对事件进行建模时不仅需要考虑事件发生的时问,也需要考虑事件间的因果关系或独立关系。同时复杂事件处理还要求对多层架构进行建模的能力,所有需要捕捉多层次上事件的时间关系,以及不同层次间事件的成员关系。此外,还需要对动态架构进行建模,比如航空交通管制系统,其处理对象可能进入或离开系统,对象阃的事件交流可能会随着时间而变化。所以用复杂事件处理来建模时,所得到的结果就不是普通的按时间排序的事件流,而是事件云。事件云是事件的集合,按照时间和因果关系偏序排列,并在每个层次上横向和跨层次上纵向两个维度。这样偏序排列的事件云也叫做偏序集。对于这样的偏序集,复杂事件处理就是在这个集合上进行分析的准则和方法。在介绍处理方法之前先来看一下事件模板和事件模式的概念。事件模板()是对一类事件的描述,其中的部分参数是变量。浙江大学硕士学位论文第章复杂事件处理综述用值替代变量可以匹配单个事件。事件模板的例子有“任何消息的发送”等等。事件模式是包含了事件模板,关系运算符和变量的模板。事件模式()用来匹配一个集合的事件。比如有客户,客服,问题,时间点,那么可有事件模式:问题反映(,)处理(,)一解决(,)。复杂事件处理通过两种方法来构建高层次的事件,并像其他事件一样处理这些生成的事件”:过滤。过滤以事件偏序集作为输入,输出其中的一部分事件。过滤的准则由事件模式来定义,符合事件模式的那些事件会被输出。事件模式指的是过滤的结果是减少了事件的数量,将有意义的和重要的事件保留下来。组合。组合以事件偏序集作为输入,输出新生成的事件。组合由输入事件模式和输出事件模式对来定义。当输入的事件集合和某一输入事件模式相匹配时,组合会按照输出事件模式生成事件。组合是为了生成高层次的事件。过滤和组合作用在系统的传输层上。系统的简单事件经由传输层输入到过滤和组合组成的网络中,并分层次的进行抽象。过滤和组合输出的事件由下一层的过滤和组合步骤进行处理。每个层次的事件可以被各种分析工具显示和处理。图显示了这个过程。?办!街嗲日,?裹黼孽地双。誊营誊一蝴黼,【眦俘蘸强,:、口口口口一加忡姗,、,、图抽象事件分层定义处理事件的语言(,)对复杂事件处理塑垩奎兰婴主兰堡丝茎苎!兰墨墨!竺竺里堡堕非常重要。有了事件处理语言后,才可以对事件进行定义,指名其响应方式。目前对事件处理语言有以下几种方法。一种是类似的语言,比如前文对于婚礼的事件可以用类的事件处理语言定义为:哪瞳、摧址,。乞。”髓一肛们“岸椭呱工工肆嘣另外的事件处理语言可能是从基于规则的语言发展而来,或是一种脚本语言嘲。虽然用传统的编程语言比如什或也可以实现专门的面向事件处理语言的功能,但是它们显然在事件处理方面,比如制定事件模式上有很多欠缺。事件处理语言的发展目标和挑战是实现标准化,当然这依赖于事件处理模型的标准化乜订下面同样以消费电子零售商为例演示复杂事件处理流程。在图中左上角显示的第一个流程,的订单网关每分钟应该发送一个脉冲信号事件。这个事件告诉企业系统,这个网关还在正常运行。信号的丢失意味着网关的崩溃。如果订单网关失败了,客户很有可能去竞争对手那里下订单。图复杂事件处理的流程复杂事件处理追踪上一个收到的脉冲信号的时间戳。有一个预设的时间间隔,假设为分钟。如果分钟已经过去,那么针对没有收到信号的动作就会被触发。在这种情况下,负责订单网关的操作人员会被通知到,并且产生一个新浙江大学硕士学位论文第章复杂事件处理综述的订单网关失效事件。这个新的订单网关事件随后被放到事件通道上。当简单事件处理引擎收到订单网关失效事件后,会将其进行发布。企业问题管理系统会订阅这样的事件,并进行解决方案跟踪。第二和第三个流程是不同的欺诈侦测。两个流程都是从销售应用程序开始的,如图左下角所示。每一个销售会产生一个“库存售出”事件(事件)。本地事件路由评估这些事件,对于高于元的销售产生“高价值订单”事件(事件)。所有的订单事件,包括普通的售出事件和高价值订单事件,都会被放到事件通道上。在第一个欺诈侦测流程中,复杂事件处理引擎检查同一个客户(信用卡号)在一段不长的时间内(分钟)在两个相距很远的地点(公里)的所有交易。如果这些条件满足,那么处理欺诈的服务动作将被调用。在第二个欺诈侦测过程中,复杂事件处理引擎在收到一个高价值订单事件时,会查询这个客户历史购买记录,来检查这个订单是否可疑。如果这次的购买金额比历史上最大的购买金额还要多,那么代表可疑情况的事件会被发布。专门的客户关系团队会订阅这样的事件,并和客户取得联系以证实订单的真实性,确保客户的利益不受损害平台在市场上众多的复杂事件处理平台中,是比较适合进行金融软件系统开发的一款。最初起源于剑桥大学的研究。后在其研究基础上商业化,成立了公司来开发和推广,后被公司收购。自推出以来,在金融、无线射频识别技术、业务活动监控等方面得到了广泛应用。根据的分析,传统上的业务系统是专注于数据和数据库的。数据被存储到数据库中,当所有相关数据都被采集后,才进行分析工作。这种方法并不适用于实时的事件驱动系统。现在的架构建立在传统数据库的数据采集、索引和查询方法上的。只有当数据被存入数据库,索引被建立以后,数据才能被有效的查找,这之后才会根据特定的数据模式去查询想要的信息。这样一来,当数据量达到每秒上千条的时候,数据库将忙于建立索引而无法及时响应。为了克服这种瓶颈,数据库构架被迫对数据进行批量插入操作,但这又可能导致失去实时性,无法对发生的事件尽快做出响应。这里问题的根源就在于数据库是设计用来对数据进行历史存储,是“过去式”的,而和现在系统的实时性需求相矛盾。浙江大学硕士学位论文第章复杂事件处理综述针对应用程序的实时性需求,认识到传统数据管理方法的不足。架构了解现代实时系统设计者有着和传统系统不一样的要求。传统的过程是储存数据,索引数据,然后对数据查询。这样做需要先进行计算建立索引,系统的实时性大打折扣。而将这个过程颠倒过来。在实时系统中,需求上事先就了解系统在专注什么样的数据,也就查询条件是先知的。将查询条件进行存储和索引,让实时数据流经过这些查询条件,探测这些数据是否触发这些查询条件。这样一来就不需要每当新事件发生时去计算建立索引,大大缩短了数据处理时间。实现了一套完整的复杂事件处理平台,除了最核心的事件定义、响应处理之外,还在其上层包含了很多维护和开发工具。其总体构架如图所示。图逻辑构架集成层()。有自己的事件定义格式,用来内部系统处理。为了能分析处理外界的实时事件,这些事件必须转换成统一的事件定义。浙江大学硕士学位论文第章复杂事件处理综述适配器()就是将外界输入的事件翻译成的事件格式,将的事件格式转换成外界系统所需的形式。集成适配器框架(,)是适配器植入的服务组件。动态方案执行层()。用“方案()”一词来代表独立的实时业务策略。运行的实时分析进程由事件管理器()服务来管理。事件管理器包含事件相关引擎(),也叫相关器()。这是最核心的运行部件,用于事件和方案的输入。适配器自动的将事件输入到相关器中,每个输入事件的都被立刻分析,看是否有方案正在侦听此事件,如果有的话立刻由方案进行处理。方案的定义有两种方法,一种是用自己的脚本语言,这是一种比较低层次的语言,对于复杂事件进行监听和响应;另一种是通过图形化的工具事件建模器()所创建的表示业务应用的状态机。事件建模器用状态转换的来表示一个业务应用,如图所示。根据当前状态和新输入的事件,在状态机中进行状态的转换,这样方便更直观更方便地实现业务需求。图形化的方案最终还是被翻译成来输入到相关器中。图事件建模器实现业务状态机浙江大学硕士学位论文第章复杂事件处理综述动态方案管理层()。这层包含了创建和管理仪表板()和图形化方案的工具。方案管理器()就属于这一层,让用户图形化的部署工作流中的状态,增加业务逻辑,并通过来重用代码模块。另一个工具仪表板生成器()可以方便的生成一个控制面板来让商业用户创建新的方案,查看和控制方案的状态。应用解决层()。方案管理器将仪表板和方案打包生成应用程序,形成针对某以问题的解决方案。这可以由自动完成,也可以用方案管理器工具来手动完成。平台的很多特性决定了它适用于金融软件系统的开发。首先,它对复杂事件的处理速度快,性能好。其次,它对平台在金融领域的应用方面做了一些工作,比如其提供了基于广泛使用的()金融信息交换通信协议的适配器,与金融信息报价系统通信的适配器,以及在设计中提供了不少于金融系统有关的,这些都大大方便了金融系统的开发。最后,其图形化,基于状态机的方案设计方法提供了高层次的应用实现方法,可以由业务人员更灵活的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人力资源社会保障部劳动合同示范文本(终稿)2篇
- 奶茶店用工协议书7篇
- 二手房协议书范本6篇
- 赡养子女协议书6篇
- 租赁物业场地合同范本
- 珍爱网婚介合同范本
- 人参采购合同范本
- 班班通维修合同范本
- 中日合资协议合同范本
- 出售农村别墅合同范本
- 第4课《乡愁》课件-2025-2026学年统编版语文九年级上册
- 第六届山东省无人机技术与应用职业技能竞赛(无人机测绘操控员)题库(含答案)
- 第1章三角形单元测试2025-2026学年苏科版八年级数学上册
- 2025年高级养老护理员职业技能考试笔试试题(附答案)
- PWC平安集团互联网企业预算管理体系介绍
- 2025-2026学年人教版小学数学四年级上册教学计划及进度表
- 高中语文课本中的作文素材(选必上)
- 2025年中国互联网金融协会招聘面试预测题及答案
- 2025年中医确有专长考试题库(附答案)
- 水泥路施工安全知识培训课件
- 2025年秋季学期(统编版)二年级上册语文教学工作计划及教学进度表
评论
0/150
提交评论