计算机科学与技术毕业论文-基于Esper的复杂事件处理系统设计与实现.doc

上传人:文初 文档编号:2043290 上传时间:2019-03-31 格式:DOC 页数:52 大小:1.48MB
下载 相关 举报
计算机科学与技术毕业论文-基于Esper的复杂事件处理系统设计与实现.doc_第1页
第1页 / 共52页
计算机科学与技术毕业论文-基于Esper的复杂事件处理系统设计与实现.doc_第2页
第2页 / 共52页
计算机科学与技术毕业论文-基于Esper的复杂事件处理系统设计与实现.doc_第3页
第3页 / 共52页
计算机科学与技术毕业论文-基于Esper的复杂事件处理系统设计与实现.doc_第4页
第4页 / 共52页
计算机科学与技术毕业论文-基于Esper的复杂事件处理系统设计与实现.doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、 本科毕业论文(20 届)基 于 Esper 的 复 杂 事 件 处 理 系 统 设 计 与 实 现Design and Implementation of Complex Event Processing System Based on Esper所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘 要如今,随着互联网,通信网络,物联网,社交网络和其他大型网络的飞速发展,以分,秒为单位,通过数据的爆炸性增长产生连续的实时数据流秒触发。快速生成复杂的类型和数据在体内的大量具有潜在的商业价值。为此,提出了事件驱动框架,在该框架下生产的复杂事件处理技术提高了对事件数据进行实时分析的能力。本

2、文先是介绍了研究背景、意义和研究的现状,接着对论文涉及的相关技术的介绍,最后按照软件开发的流程,进行了需求分析,提出了一种基于 Esper 开源框架的解决方案,利用事件流处理技术,对事件数据流的实时监控和分析。通过配置 Esper,使用 Esper 设计、管理并监控业务事件,可以使用不同的事件模式来过滤事件数据,从而发现异常状况。系统获取得到的消息事件,经过 Esper 引擎进行处理,输出给监听器或订阅者处理。本文在 Myeclips 的开发平台下,依据分层设计原理,使用 MVC 框架、Java 语言开发,同时采用 MySql 作为系统运行的数据库,最终实现了系统。最后,经过系统测试,在前端页

3、面的操作可以管理并监控业务事件,系统的基本功能得到实现。关键词:复杂事件处理技术;事件流处理;EsperABSTRACTNowadays, with the rapid development of Internet, the networks of telecommunications, the Internet of things, the social networking and other large networks, in minutes, seconds, the continuous real-time dataflow generated by the explosive

4、growth of data is triggered in seconds.The quick-generated complex types and data have a large number of potential commercial value of the body. The event-driven (event-triggered) framework had been presented in which the produced complex event-processing technology can improve the performance of th

5、e event-data real-time analysis.This paper at first introduces the background ,significance and the current situation and then the related technologies in this paper, and at last, according to the software development process,proposes a solution based on Esper open source frame , using the event str

6、eam processing technology for real-time event dataflow monitoring and analysis. to configure Esper, to use Esper design, manage and monitor business events, the system can use a different event-patterns to filter event-data to find anomalies. Getting news-events of the system, processed by the Esper

7、 engine and output to monitors or subscribers .This system under the Myeclipse development platform, according to the principles of hierarchical design,using MVC framework, Java language development and MySql database as the running system , and ultimately realize the system.Finally,after the system

8、 test,the events can be managed and monitored in the front page,and the basic functions of the system can be implemented.Key words: Complex Event Processing; Event stream processing; Esper目 录第 1 章 绪论 11.1 研究背景 11.2 研究目的及意义 11.3 国内外研究现状 21.3.1 复杂事件处理的研究 21.3.2 Esper 引擎 41.4 本文的主要内容 41.5 本文结构 5第 2 章 相

9、关技术介绍 62.1 复杂事件处理 62.1.1 事件处理 62.1.2 复杂事件处理 CEP82.2 ESPER 平台 92.2.1 Esper 平台介绍 92.2.2 Esper 引擎的功能 102.2.3 Esper 事件处理语言 EPL112.3 本章小结 13第 3 章 系统的需求分析和概要设计 143.1 需求分析 143.1.1 总体概述 143.1.2 功能需求 143.1.3 开发环境需求 153.1.4 开发模式 153.2 系统概要设计 173.2.1 设计要点 173.2.2 系统架构设计 173.2.3 系统流程设计 183.2.4 系统功能结构设计 203.3 本章

10、小结 21第 4 章 系统的详细设计与实现 224.1 详细设计 224.1.1 数据库设计 224.1.2 事件处理模块 244.1.3 事件输入模块 254.1.4 事件输出模块 274.1.5 用户模块 284.2 具体实现 294.2.1 事件处理模块 294.2.2 事件输入模块 334.2.3 事件输出模块 344.2.4 用户模块 354.3 系统测试 364.4 本章小结 40结论 41参考文献 42攻读学士学位期间发表的论文和取得的科研成果 44致谢 45第 1 章 绪论1.1 研究背景当今时代,随着信息技术和科学技术快速的发展节奏,应用管理系统成为了企业用来管理维护企业各种

11、活动的手段 1。由于大量的事件通过互联网、因特网或者其他私用网络的交互连接在彼此之间传递着。企业应用系统通过与外部环境的交互都会产生大量的事件,面对越来越多的事件,企业应用系统要如何对这些事件作出正确的判断和反应成为了焦点。由于输入事件的种类、速度和种类的不断变化,使得软件系统监控的事件也复杂化了。另外,系统又该如何在大量的事件输入中选取出和分类出系统定义好的特殊事件 2。在表面看事件云,其中的事件好像是彼此独立,没有任何关系 3。其实不然,当对事件做具体的分析时,就会发现事件彼此之间都是相互联系,比如说,A 事件在 B 事件的影响而产生的,C 事件是发生在 D 事件的前面。对此,面对事件彼此

12、间的关联,应用系统又该如何快速的对事件云做出判断和处理对于企业做出决定性的策略有着重大的影响。在该背景下,出现了事件处理技术(Complex Event Processing,CEP) 。对于 IT 行业来说事件处理技术并不是一个全新的技术,这个技术最早提出的是在 20 世纪的 90年代末的时期。最初,事件处理技术只是用来处理离散的事件,其中比较比较经典的是对于天气状况的模拟和预测、对事件的仿真、通信的应用和信息的集成。在这个期间,海内外有两个高等学府在探索新的知识领域,即复杂事件处理 4。其中 Esper 就是典型的复杂事件处理系统。1.2 研究目的及意义伴随着科技和经济的发展,信息的及时获

13、取和处理成为了各行各业的的关键问题。复杂事件处理最重要的工作是创建存放查询条件和对其的查询 1。当实时的事件流经过这些查询条件时就会检验查询条件有没有被触发。为此,一旦有新的事件进入系统时,由于系统数据库存放了以创建好的查询条件就不用再去创建,这样大幅度提高了系统处理事件的速度。每天企业的应用系统有大量的数据和事件在不断传递和更新,如何快速的搜索和分析出对企业用意义的事件成为了主要的关注点。对于大多数企业而言,监控业务事件都是很关键的,尤其是大家对各项指标和可靠性都很重视。在这样一个超级竞争,对遵循某些规章制度或约定近乎疯狂的环境中,监控必须是实时的(或者接近实时) 。在过去,企业每几周或者每

14、个季度都要做一次绩效监控,而如今秉承这样的的哲学的企业是存活不了多久的。正如 Prahalad 和Krishnan 指出的 “竞争性亲眯那些发现新趋势并迅速响应的人” ,并且“新的竞争环境要求我们持续地分析数据已得到洞察”。复杂事件处理通过实时监控任何非常规的变化,能够在缓解风险方面扮演重要的角色 5。更进一步讲,复杂事件处理提供了的运营洞见能帮助企业迅速地侦查到新的机会或趋势,从而提升它们的竞争地位。 1.3 国内外研究现状1.3.1 复杂事件处理的研究 虽然复杂事件处理技术是个新兴的技术,但是事件处理技术却有 50 多年的历史 6。在早期的很多企业的事件处理应用系统并没有复杂事件监测的模块

15、,系统只是单纯的对最基础的简单事件进行处理和监测。这样的事件处理系统是无法面对大量的事件涌入系统时,对事件的及时处理,同时,也给系统带来了很大的负担,系统的处理能力大大的下降。这个技术最早被提出的时间是在 20 世纪 90 年代末,当时由于它的提出解决了由于 SOA 的问题。对于该项技术的研究现在还处于第二个发展阶段。最初与复杂事件处理相关的技术研究是主动式数据库 3。后来,出现了一个研究焦点,那就是基于主动数据库的事件处理原则-事件 -条件- 动作规则 ECA(Event-Condition-Action)7。ECA 规则,指的是当指定的事件发生,同时满足条件时,就会执行事先设置好的动作。但

16、是,这时候的事件处理并没有涉及时间和空间的问题。他们研究的方向主要是如何如何利用新的事件处理手段,去分别在空间和时间上有限制的复杂事件序列。比如说时间上事件 A、B 、C 在 10 分钟内连续发生,空间上事件发生时彼此间的距离不超过 4 公里。此时,复杂事件处理技术就需要根据这些事件模式作出处理和响应。1999 年时,Giles Nelson 和 John Bates 一起建立了 Apama 公司。在 2000 年,iShperes 在 Mani Chandy 的领导下研究开发出来。 2002 年,David Luckham 出版并且发布了事件的力量 ,在该书中明确的提出了复杂事件处理技术。随

17、后一年,又出现了两是 Coral8 和 StreamBase。很快的,TIBCO 公司也抓住机遇打入复杂事件处理应用系统的这个市场。在此之后,陆陆续续涌现出很多复杂事件处理产品,例如,Kaskad、Aptsoft、EsperTech 和 BEA Systems。复杂事件处理技术在各个领域得到了推广和应用。企业的监控业务活动是该技术最早的应用的领域。该领域的应用系统通过复杂事件处理技术来分析、判断、处理商业的业务活动情况,并快速将系统的响应结果发送给相应的用户。除了商务活动的监控外,复杂事件处理技术在金融 8、网络及应用程序监控 9、空中交通等领域也得到广泛地应用。目前对于复杂事件处理技术的研究

18、探索,大部分都是国外的成果。在国内,该项技术应用的最多的对无线射频识别技术 RFID 中信息处理部分,另外有少量研究将复杂事件处理技术应用与金融软件、分布式系统中的数据处理 10。2007 年清华大学的戚传真和范玉顺 11研究在基于 RFID 的企业信息系统中实现了复杂事件处理机制。东北大学谷峪、于戈等人 12研究了 RFID 数据清洗方法和事件检测技术。北京大学的叶蔚等人 13探讨了一种利用复杂事件技术处理 RFID 高层业务逻辑的机制。浙江大学的团队研究了复杂事件处理在金融领域的应用问题。华中科技大学李好 14研究了用代数的方法解决复杂事件处理的算法分析问题,应用于分布式系统设计。关于复杂

19、事件处理技术的应用系统的正处于热潮阶段,但是在这个 IT 事件爆发的时代,每个系统都会尝试大量的事件,对复杂事件处理系统有三大难题。(1)海量事件,系统处理压力太大。(2)网络或者系统延迟,事件乱序。(3)存在误报警的可能性。现在的复杂事件处理技术就是一个新生儿,从目前市场和技术的发展趋势可以看出来,该项技术在未来将会更多的研究和应用。1.3.2 Esper 引擎Esper 引擎是复杂事件处理技术研究下产生的商业化软件,复杂事件处理技术技术是一种标准,而 Esper 只是对这种标准的一种开源实现。它是第一个也是唯一一个可用的开源的事件流处理应用程序。Esper 项目是有 Thomas Bern

20、hardt 在他为一个大型的金融机构做咨询的时候创立。他被安排评估用于监控某交易的规则引擎,结果发现需要的是一个高性能的事件相关性(分析)引擎于是 Esper 诞生了。2006 年 7 月 28 日,EsperTech 公司在 InfoQ 上发布了 Esper1.0 版本。Esper 在科技的推动下快速地进化,对于这样一个年轻的项目而言,它所提供的功能相当的出众。 209。这个版本产出了几个新的特性,比如如粗粒度的版 本日 , 公 司 发 布 了月年 0.3sper12E事件和 JSON 和 XML 事件呈现,进一步提升了系统的性能和可靠性。虽然 Bernhardt创立了 EsperTech

21、公司,基于 Esper 做一些商业化的运作,其核心产品仍以受亲眯的GNU 许可保持开源。现在 Esper 也有.NET 版(NEsper for .NET) ,提供与 Java 版同步的特性集。EsperTech 通过提供支持和名为 EsperHA 的企业级高可用性版本来靠 Esper赚钱。 在 Java 系统或者是以 Java 为基础的 ESB 中,Esper 都可以封装实现调用接口,可以对输入系统的事件流进行过滤,分组,排序,合并等操作。Esper 的主要应用领域如下:(1)商业的业务活动的监控管理(趋势因应、营销决策和风险规避) 。(2)金融管理(网络欺诈、网络攻击和洗钱防治) 。(3)

22、网络及应用程序监控(SLA(Service Level Agreement)监控,入侵检测) 。(4)系统的动态校验。1.4 本文的主要内容本文详细介绍了 Esper 事件处理引擎和复杂事件处理技术的相关背景知识,对两者的结合方式和应用场景作了仔细的研究。本文设计实现一个基于 Esper 的复杂事件处理系统,并对其功能和性能进行了测试分析,在最后讨论了 Esper 事件处理引擎的进一步研究方向。本文的主要工作描述如下:配置 Esper,使用 Esper 设计、管理并监控业务事件,可以使用不同的事件模式来过滤事件数据,从而发现异常状况。 , ,系 统 获 取 得 到 消 息 事 件 引 擎 处 理经 过 sperE输 。处 理出 给 监 听 器 或 者 订 阅 者本文具体实现的任务如下:(1)使用 EPL 查询语句,对于传入的事件进行查询过滤。(2)对于查询后的结果进行处理。(3)管理系统的一些基本功能的实现,如用户模块等。1.5 本文结构本文针对企业应用系统的复杂事件技术和 Esper 处理引擎进行了研究, Esper 处理引擎的基础上,设计并实现了基于 Esper 的复杂事件处理系统。全文分为五个部分。第 1 章:绪论。首先,介绍研究背景及意义。接着,通过阅读大量的文献资料了

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。