




已阅读5页,还剩71页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单位代码 10006学 号 36060625分 类 号 TP31密 级毕业设计(论文)上海世博公园区域管理系统任务执行引擎的设计与实现院(系)名 称计算机学院专 业 名 称计算机科学与技术学 生 姓 名指 导 教 师北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 2 页2010年6月北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 1 页北京航空航天大学本科生毕业设计(论文)任务书、毕业设计(论文)题目:上海世博公园区域管理系统任务执行引擎的设计与实现 、毕业设计(论文)使用的原始资料(数据)及设计技术要求:原始资料:上海世博公园区域管理系统设计式样书机器它相关文档 技术要求:构建一套 B/S 架构的管理系统,实现对上海世博公园区域的统一管理与控制 、毕业设计(论文)工作内容:本次毕设的主要内容是:1、事件模型的定义;2、事件流的监听;3、路 由规则的设计;4、处理引擎的设计。最终实现一个任务执行引擎。 、主要参考资料:Rosenblum, D.S. and A.L. Wolf. A design framework for Internet-scale event observation and notificationJ. in Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 2 页international symposium on Foundations of software engineering. 1997. Zurich, Switzerland : Springer-Verlag New York, Inc. Barrett, D.J., et al. , A framework for event-based software integrationJ. ACM Trans. Softw. Eng. Methodol. , 1996. 5 (4): p. 378-421. 刘家红等, InforSIB中的复合事件时间模型J. 计算机研究与发展, 2009(3): 第390-397页页. 刘家红与吴泉源, 一个基于事件驱动的面向服务计算平台J. 计算机学报, 2008. 31(4): 第588-599 页页 . Etzion and Niblett. Event Processing in ActionM. MEAP Edition Manning Early Access Program, 2010. 计算机学院 学院(系) 计算机科学与技术 专业 班学生 毕业设计(论文)时间: 2010 年 3 月 1 日至 2010 年 6 月 10 日答辩时间: 年 月 日 成 绩: 指导教师: 兼职教师或答疑教师(并指出所负责部分):系(教研室)主任(签字): 北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 3 页本人声明我声明,本论文及其研究工作是由本人在导师指导下独立完成的,在完成论文时所利用的一切资料均已在参考文献中列出。作者:签字:时间:北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 4 页北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 I 页上海世博公园区域管理系统任务执行引擎的设计与实现学 生:指导教师:摘 要上海世博公园区域管理系统项目,包括水位子系统、喷雾子系统、广播子系统、周界报警子系统、电子导向子系统、监控子系统和照明子系统,主要实现了子系统监控、联动控制和系统管理三个功能。这些子系统管理复杂、联动控制困难。管理系统需要对七个子系统进行统一监控,提供实时的监控数据,获得它们的实时信息,并在多任务组合执行时进行任务的统一下发,实现系统的联动功能。本项目主要针对上海世界博览会区域的管理特点进行分析,研究传统管理方法所存在的局限性,采用具有松耦合特性的事件驱动机制来构建一个与具体应用内容无关的任务处理引擎,构建一套基于 B/S 架构的管理系统,从而实现对上海世界博览会区域的统一管理与控制。最终,实现一个模块之间松耦合且可扩展性良好的系统。本文采用的这种事件驱动体系架构有继续深入研究的价值。关键词: 事件,事件驱动,系统联动,模式检测北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 II 页The Design and Implementation of Shanghai World Expo Park Area Management System Task Execution EngineAuthor:Tutor:AbstractThe Shanghai world expo park area management system project, including water level subsystem, spray subsystem, radio subsystem, boundary alarm subsystem, electronic guidance subsystem, surveillance subsystem and lighting subsystem, mainly realizes three functions which are subsystem monitoring, coordinated control and system management. These subsystems are complex to manage and difficult to control. Management system need to monitor the seven subsystems in a unified way, provide real-time monitoring data, get real-time information from them and perform unified issuing when multiple tasks execute in a combined way to realize the function of coordinated control. The main target of this project is to analyze the Shanghai world expo areas management characteristics, study the limitation of traditional management method, use a loose coupling(change to : loosely-coupled) event-driven mechanism to construct a task processing engine which is irrelevant with specific application content(change to : application independent), construct a management system based on B/S structure, and realize a unified management and control of Shanghai world expo regional. Finally, we will get a loose coupling between modules and good expansibility system(change to: finally, we will get a loosely-coupled system with good expansibility ). The framework adopted by this paper has further research value.Key words: Event, Event-driven, System linkage, Pattern detection北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 III 页目录第一章 绪论 .11.1. 课题来源 .11.2. 研究背景与问题提出 .11.3. 国内外研究现状 .31.4. 研究目标与研究内容 .41.5. 论文组织结构 .5第二章 相关技术与内容介绍 .72.1. 相关概念和定义 .72.2. 事件驱动框架介绍 .92.2.1. Rosenblum 事件驱动体系 .92.2.2. Barrett 基于事件的软件集成框架 .112.3. 事件处理机制 .132.3.1. 事件类型 .132.3.2. 事件生产者 .142.3.3. 事件消费者 .162.3.4. 事件处理代理人 .172.3.5. 事件过滤 .182.3.6. 事件模式检测 .192.4. 小结 .20第三章 区域管理系统业务需求分析 .213.1. 区域管理系统总体特点 .213.2. 子系统功能 .223.3. 子系统间联动 .263.4. 个性化定制 .263.5. 系统信息优先级分类 .263.6. 设备操作异步化 .27北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 IV 页3.7. 事件驱动体系框架的引入 .273.8. 小结 .28第四章 区域管理系统任务执行引擎的总体设计 .294.1. 任务执行引擎设计概要 .294.1.1. 功能设计 .294.1.2. 总体框架 .314.1.3. 模块说明 .314.1.4. 事件处理流程说明 .324.1.5. 可扩展性分析 .334.2. 子系统间联动方式建模 .344.3. 主动上报与轮询 .354.4. 信息优先级控制 .364.5. 时间管理策略 .364.6. 数据处理 .374.6.1. 数据模块功能说明 .374.6.2. 业务数据入库流程 .384.7. 小结 .39第五章 事件处理器的设计与实现 .405.1. 事件处理器功能定义 .405.1.1. 功能说明 .405.1.2. 运行流程 .425.2. 事件处理器设计 .425.2.1. 过滤器设计 .435.2.2. 规则库设计 .445.2.3. 事件处理设计 .465.3. 过滤器实现 .465.4. 规则库实现 .475.4.1. 规则库表结构定义 .475.4.2. 规则树构造 .49北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 V 页5.5. 事件处理实现 .495.5.1. 水位子系统类型说明 .495.5.2. 事件匹配实现 .515.5.3. 任务执行实现 .515.6. 小结 .52第六章 反馈管理器的设计与实现 .536.1. 反馈管理器功能定义 .536.1.1. 功能说明 .536.1.2. 运行流程 .556.2. 反馈管理器设计 .566.2.1. 注册器设计 .566.2.2. 反馈处理器设计 .576.3. 注册器实现 .576.4. 反馈处理器实现 .586.5. 小结 .59第七章 系统测试与分析 .607.1. 应用实例分析 .607.1.1. 系统测试环境 .607.1.2. 测试流程描述 .607.1.3. 实例运行过程 .607.2. 任务执行功能评测 .607.3. 任务执行性能评测 .607.4. 小结 .60总结与展望 .61总结 61进一步的工作 .61致谢 .63参考文献 .64北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 1 页第一章 绪论1.1. 课题来源本课题来源于北京航空航天大学软件开发环境国家重点实验室承担的“上海世博公园区域管理系统”项目。该项目的主要目标是:分析上海世界博览会区域的管理特点,研究传统管理方法的局限性,构建一套 B/S 架构的管理系统,实现对上海世界博览会区域的统一管理与控制;利用事件驱动机制,实现系统对任务的处理,并通过任务执行引擎最终完成任务的执行。本课题主要针对项目中基于事件的任务引擎的设计进行研究,并完成相应系统的设计与实现。1.2. 研究背景与问题提出1. 上海世博公园区域管理系统的特点2010 年世界博览会将会在上海举行,以“城市,让生活更美好”为主题,以“城市多元文化的融合,城市经济的繁荣,城市科技的创新,城市社区的重塑,城市和乡村的互动”为副主题,基于此将会吸引 200 个国家和国际组织参展,将会有 7000 万人次的参观者。为了保证这次世界博览会的顺利举行,一套有效的上海世博公园区域管理系统是必要的。上海世博公园区域管理系统的具体功能模块分为三个部分:子系统模块、联动管理模块和系统管理模块。包含水位子系统(监控四个水位测量点的信息) 、喷雾子系统(监控若干个喷雾单元的信息) 、广播子系统(监控 13 个寻呼系统,17 个功放的信息) 、周界报警子系统(监控 102 个防区的信息) 、电子导向子系统(监控 16 个/54 个电子导向监控单元的信息) 、监控子系统(监控 49 个摄像头的信息)和照明子系统(监控若干个照明单元的信息)七个子系统的子系统模块在完成了对子系统自身的控制和管理的基础上还需要对子系统间协同工作进行管理,以实现对子系统的联动控制;联动管理模块主要负责联动信息查询、联动设置和联动日志记录;系统管理模块主要是进行北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 2 页用户管理、系统消息提示和日志管理,完成日常的用户访权限控制的基本功能。2. 事件驱动体系的引入通过前面对区域管理系统特点的描述,同时又考虑到以后对子系统的添加需求,区域管理系统还需要具备良好的可扩展性,并且由于区域管理系统的子系统繁多,应尽量将系统中的同步调用转换成为异步调用以节省系统资源。鉴于以上的这些特点,可以发现采用事件驱动体系框架比较适合于本系统的开发。事件驱动体系框架模块内部松耦合、支持异步调用的特性保证了它可以满足区域管理系统的设计要求。事件驱动体系结构可以应用于很多领域,这里的事件是指系统或环境中发生的活动或状态变化。Rosenblum 提出了 Internet 环境下事件驱动体系结构的通用设计,用七个模型对之进行分析和设计,奠定了大规模分布环境下事件驱动体系结构设计的基础 1。Mandy 从软件体系结构风格的角度,提出事件驱动体系结构是以“推” (push )模式的事件通信模型为中心的应用软件系统结构风格,由事件感知 agent、事件处理 agent、事件响应 agent 以及事件通信服务四个构件组成 23。事件通信在时间、空间、同步三个维度实现了松耦合,即通信方不必在通信时处于激活状态,通过事件主题/内容逻辑寻址而非物理寻址进行多元通信,通信方在通信时不阻塞其控制流。 “推”模式指事件产生时由事件源向事件目的发送事件的一种通信模式。传统的基于请求/响应调用模型的面向服务体系结构的通信耦合程度较高,并且与具体的项目联系过于紧密,扩展性较差。基于事件驱动的系统,由于它本身的设计中可以不关心具体的业务内容,所以可以满足计算平台的松耦合通信与协同需求,增加了系统的可扩展性。上海世博公园区域管理系统任务层的任务调度过程中引入事件驱动机制,可以使系统的耦合性大大减小,很好的增加系统的可扩展性。通过对事件的统一定义,任务层可以不用考虑应用类型,直接根据事件中的分类信息执行预先定义好的操作。在事件较多或者事件流量过大的时候,可以对事件流进行监控处理,在事件流中筛选出有效事件,用以激活系统从而进行相应的动作,完成各个子系统之间的联动功能。当然事件驱动机制的缺点在本系统中也会显露,例如系统设计复杂、可理解性差,另外系统设计时面临高并发通信和处理的性能挑战,在对应用感知的多源信息进行融合和关联分析方面,系统需要支持事件流上的复合事件处理。这些都是在系统设计中应该极力解决或者避免的问题。通过对具体需求的分析,合理的对事件检测的复杂度北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 3 页进行剪枝处理,完成事件的检测,从而避开事件驱动机制中本身存在的缺陷。本文便是致力于研究如何将事件驱动体系应用到具体的上海世博公园区域管理系统中,根据具体的应用规避事件驱动机制本身所存在的缺点,并通过需求上的具体分析进行合理的剪枝将事件流上的复合事件的复杂程度和并发程度减小的最少,最终完成一个稳定的任务层的任务调度引擎的设计与实现。1.3. 国内外研究现状事件驱动机制在国内外已经被广泛的使用,它提高了对不断变化的业务需求的响应,最大限度地减少了对现有业务应用的影响,也常消除了对新打包应用的需要。如果采用特有的粗颗粒服务模型可以基于业务目标快速确定可控的业务变更,并直接、迅速、有效地实施变更以达到业务敏捷性和完整性;它可以更容易开发和维护大规模分布式应用程序和不可预知的服务或异步服务;它可以很容易,低成本的集成、再集成、再配置新的和已存在的应用程序和服务;它促进远程服务和组件的再使用,拥有一个更灵敏、没有 Bug 的开发环境;而且它容易定制,系统和组织的状态变得更精准,对实时变化的响应接近于同步。如现在的 Cramp 就是一种新的、处理并发事件的 Web 应用程序框架。由 37signals和 Rails 核心小组的 Pratik Naik 提供。它建立在 Ruby 的 EventMachine 库之上,主要用于处理一些大量的开放连接(如 Comet 系统或 streaming APIs) ,整个过程都使用event-driven I/O。在框架的构架上,国内外的研究者们定义了很多的事件驱动的体系框架,正如我们将会在第二章介绍的 Rosenblum 事件驱动体系和 Barrett 基于事件的软件集成框架在该领域内都属于重要的框架。它们为之后很多基于事件驱动体系的软件奠定了理论基础。Rosenblum 的框架共有七个模块,它们分别是:对象模型、事件模型、命名模型、观察模型、事件模型、通知模型和资源模型。这七个模型共同组成了一个完整的Rosenblum 事件驱动体系的框架,也解决了大部分互联网规模的异步调用的松耦合软件的设计问题。Barrett 框架重点体现了通知者、监听者、注册器和路由器这四个概念。通知者和监听者可以理解为事件的产生者和消费者,注册器为监听者对自己所感兴趣的事件进行注册的过程,路由器则是根据监听到的事件本身进行路由规则的执行,或是转发或是触发,在概念上它是一个广义的路由概念。这四个部分的配合使用构成了北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 4 页Barrett 框架的核心部分,实现了一套基于事件驱动的系统的框架构建 4。事件驱动体系近些年在被应用到了很多系统中,它满足了软件制造过程中松耦合的需求,将同步调用转化成为异步调用,为日后软件的可扩展带来了极大的方便。事件驱动设计和开发它能为我们的开发提供如下的便利:一、可以更容易开发和维护大规模分布式应用程序和不可预知的服务或异步服务;二、可以很容易,低成本地集成、再集成、再配置新的和已存在的英勇程序和服务;三、促进远程组件和服务的再使用,拥有一个更灵敏、没有 Bug 的开发环境;四、短期上它更容易定制,因为设计对动态处理又更好的响应;五、长期上系统和组织的状态变得更精准,对实时变化的响应接近于同步。1.4. 研究目标与研究内容本项目的主要目标是对上海世界博览会区域的管理特点进行分析,研究传统管理方法所存在的局限性,在此基础上构建一套基于 B/S 架构的管理系统,实现对上海世界博览会区域的统一管理与控制。将对七个子系统进行统一监控,提供实时的监控数据,获得它们的实时信息,并在多任务组合执行时进行任务的统一下发,实现系统的联动功能,以满足用户的控制需求。整个系统的实现将采用事件驱动机制,为了设计一个扩展性良好的系统,任务层的任务调度的设计需要与具体的任务内容无关,需要构建一个与具体应用内容无关的事件处理引擎,从而为以后新的子系统加入原有系统时无需改动原有的任务调度模块做好准备,即为之后系统的扩展性做好准备。围绕着上述研究的目标,本文的主要研究内容和开发工作包括如下四个部分:1. 定义一个适合区域管理的事件模型定义一个事件模型,用来描述系统中出现的所有事件,且考虑到模型的可扩展性及其对表达能力的要求,事件模型本身须具备良好的描述能力,在保证了描述能力的前提下同时也需考虑该模型的处理效率,用来保证系统能够高效的完成任务。2. 根据事件的属性对事件进行匹配一个基于事件驱动的系统在运行过程中肯定会产生大量的事件,如何能在产生的事件流中检测到有效的事件或事件组合是系统进行进一步事件处理的前提。事件流的检测必须做到快速准确,可实际中由于事件组合程度复杂,用户的需求复杂导致需要检测的事件组合类型是不可以被事先预测到的,同时系统并发性程度较高,在处理效北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 5 页率上并不能做到很理想,为了在不损失准确度的情况下达到可用的一个处理速度,因此根据本系统的实际情况提出一套能够保证效率的检测机制是必要的。3. 设计事件转发规则转发规则旨在定义系统针对检测到的事件所需做出的反应或所需执行的任务,即对事件进行转发或处理,或根据一定的规则生成新的事件为后续处理做好准备。本部分重点在于设计一套系统基础的路由规则用于处理系统的一些基本执行规则,同时也需要设计一套可用于用户扩展的路由规则库,这部分可以由用户自己添加,最终交由处理引擎进行处理且不需要设计具体的业务内容,这样保证了最终引擎设计中所需要实现的松耦合性,为以后的扩展提供了方便,同时也保证了业务上用户对具体业务变更时不需要改动后台的代码设计的需求,即体现了系统的松耦合性。4. 设计任务处理引擎本系统的处理引擎包含事件流的检测功能,也就是事件流检测是处理引擎的一部分功能。在得到检测结果后,根据路由规则库激活相应的处理程序的功能也是由处理引擎来负责。设计过程中处理引擎应该尽力避免与事件内容相关,不涉及具体的业务逻辑,只根据系统提供的规则进行相应的事件检测和分发处理。因为不涉及具体的业务,对处理引擎来说,增加的新的子系统所产生的新的事件与系统原有的事件是没有区别的,它们真正的区别在于事件内容本身,可这里处理引擎并不关心事件内容本身,这样就做到了很好的松耦合性,方便系统以后的扩展。所以在加入新的子系统时,只需要添加与系统相关的事件处理规则便可实现子系统的接入。上面的事件模型的定义、事件流监听、路由器设计和处理引擎的设计涵盖了整个任务执行引擎的大部分功能的,具体执行的过程中还需要其它一些辅助模块的帮助。例如,设计中会用到线程管理的模块、数据库管理的模块等。其中线程管理模块主要负责对任务执行引擎中的监听线程和其它线程进行管理,数据库管理模块负责与数据库的交互。1.5. 论文组织结构本文的组织结构如下:在第一章中,介绍了本课题的来源,阐述了论文研究工作的背景与意义并在此基础上提出了自己的问题,并对论文中用到的技术的国内外发展情况进行了调研,通过北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 6 页对它们发展现状的了解而对本文的写作进行相应的指导,同时提出了论文研究工作的基本目标和主要内容。在第二章中,主要介绍了与系统相关的一些背景知识,包括相关概念和定义、Rosenblum 事件驱动体系和 Barrett 基于事件的软件集成框架以及对它们的研究现状进行了分析,同时对事件处理机制进行了详细的介绍。在第三章中,主要介绍了区域管理系统的总体特点,并对子系统功能、子系统间联动、个性化定制、系统信息优先级分类和设备操作异步化的需求进行了相应的分析,并根据这些分析引入了事件驱动体系框架。在第四章中,主要介绍了区域管理系统任务执行引擎的总体设计,通过对任务执行引擎设计概要、子系统间联动方式建模、主动上报与轮询、信息优先级控制、时间管理策略和数据处理的详细说明,进一步展示了事件驱动体制在本系统中应用的优势。在第五章中,主要介绍了事件处理器模块的设计与实现,事件处理器又分为过滤器的设计、规则库的设计和事件处理的设计三个部分,通过对这三个部分的阐述,说明了整个事件处理的过程。在第六章中,主要介绍了反馈管理器的设计与实现,通过对注册器和反馈处理器的实现的介绍,说明了整个反馈管理器的运行流程,与前面设备操作的异步化的需求相对应。北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 7 页第二章 相关技术与内容介绍本章主要介绍了与系统相关的一些背景知识,包括相关概念和定义、Rosenblum事件驱动体系和 Barrett 基于事件的软件集成框架以及对它们的研究现状进行了分析,同时对事件处理机制进行了详细的介绍。相关概念和定义1. 事件(Event)事件可以被定义为状态的改变。事件的定义可以比较宽泛,主要是在系统中用来传递用户比较关心或者系统比较关心的消息。事件的定义格式可以根据不同的需求来进行定义,只需要用户或者系统能够辨认即可。2. 事件流处理(ESP)事件流处理(ESP: Event Stream Processing),是一种从大量事件数据流中过滤,分析有意义的事件,并能够实时取得这些有意义的信息的技术。事件流处理的意义在于从大量事件数据中过滤用户需要的信息,将庞杂无关的事件数据过滤排除,可以使得用户更加关注与有用的信息,不被庞杂的信息所干扰。这对提高信息处理效率,保障处理准确度有着至关重要的作用。3. 复杂事件流处理(CEP)复杂事件流处理(CEP: Complex Event Processing),是一种实时事件处理并从大量事件数据流中挖掘复杂模式的技术。相比于之前的 ESP,CEP 更加具备一定的智能因素。它可以从杂乱无章的信息流中检测到特定的信息模式,为用户提供建议,使得用户根据它所检测到的模式进行判断,得出一些有意义的结果,为以后数据的分析或者进一步的处理工作奠定了基础。4. 事件驱动架构(EDA)事件驱动架构(EDA: Event-driven Architecture),一个事件驱动框架(EDA)定义了一个设计和实现一个应用系统的方法学,在这个系统里事件可传输于松散耦合的组件和服务之间。一个事件驱动系统典型地由事件消费者和事件产生者组成。事件消费者在北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 8 页事件管理器那里订阅事件,事件产生者在事件管理器那里发布事件。事件管理器从事件产生者那接收到一个事件时,事件管理把这个事件转送给相应的事件消费者。如果这个事件对消费者来说是无法使用的,事件管理者将保留这个事件,一段间隔之后再次转送该事件消费者。这种事件传送方法在基于消息的系统里就是:储存(store)和转送(forward)。5. Java 消息服务(JMS)介绍JAVA 消息服务(JAVA Message Service)简称 JMS,是一种接口规范,最初是 SUN公司为了使 Java 应用程序可以访问已有的面向消息的中间件 MOM(Message Oriented Middleware)而设计的,现在己经成为 J2EE 体系结构中定义的标准服务之一。JMS 为Java 程序提供了一种创建、发送、接收和读取企业级消息、系统消息的一般方法,其目的是提供消息系统客户一个固定的接口,而且与底层的消息提供者无关。这样,客户端的应用程序不仅可以在不同的机器和操作系统中移植,而且能在不同的消息系统产品之间转移。即在分布式环境中有着很好的应用前景。图 2.1.1 JMS 架构图从上面 JMS 的架构图可以看出事件三个角色 Producer 和 Consumer 以及事件信息本身 Message。JMS 就是在 Producer 和 Consumer 之间建立一个连接,并通过这个连接实现了消息的发送和接收。北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 9 页2.2. 事件驱动框架介绍2.2.1. Rosenblum 事件驱动体系1. 对象模型对象模型刻画了产生事件的组件和接收事件通知的组件。一个互联网规模的事件观察和通知设备的对象模型包含了通常概念的封装功能,它超越了对互联网规模的考虑。一个对象可以是处理器,存储设备,网络设备或者一些网络中的其他硬件组件,以及任何属于硬件组件的逻辑实体,如文件、程序、过程、通信包等等。人类也适应这种模式,因为我们假设他们始终拥有以计算机为代理的对象在其上以他们自己的方式工作。一个对象支持的一组操作,每一种都可以援引其他一些对象。我们涉及到一个对象它的操作被另外一个关注该对象的对象所调用,并将这个调用的对象称为调用者。一个操作可能被一些与设备相关的对象直接调用,也可以是间接援引的执行某些程序或软件工具的结果。对象同时也是通知事件的接受者的实体,我们指的是收件人。请注意,感兴趣的对象可以是一个活跃的对象和调用本身方法的调用者。还注意到一个操作的唯一目的也许只是产生一个事件。2. 事件模型事件模型提供了一个事件现象的精确描述。一个互联网规模的事件观察和通知设备的事件模型包含了一个简单的事件的概念。一个事件是一个对象上的操作被调用结束时(正常或不正常的)的瞬时效应,它出现在那个对象所在的位置。一个事件可以唯一的由事件中涉及的感兴趣对象的特征、操作的特征、调用者的特征以及事件发生的时间所描述。一个事件是可以观察的,如果某个感兴趣对象以外的其他对象和调用者可以检测事件的发生,它取决于感兴趣对象本身,由它来决定它的哪些事件可以被观察到。我们把观察对象称为观察者。3. 命名模型命名模型,为了说明自己感兴趣的事件通知,定义了组件与组件是如何的关联以及事件是如何被其它的组件产生。在任何软件系统中命名都是至关重要的,这在一个互联网规模的事件观察和通知设备的命名模型中表现的更为明显,它提供了一种定义事件的方法,同时也定义了对象、操作和其它与事件相关信息的定义方法。命名模型应用对事件表示关注上并请求北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 10 页对事件的通知。一个命名模型的实现通常会提供一种可以用于唯一地标识一个特定事件并由一系列事件组成一个表达式的语言。尤其是,语言会支持(可能部分)规范的名称,其中有可能有多个匹配的事件发生。我们使用术语事件类来定义一系列事件发生时所匹配的名字。4. 观察模型观察模型定义了事件出现后被观察到和关联到的原理机制。一个互联网规模的事件观察和通知设备的观察模型定义了为了通知感兴趣的收件人事件和事件模式出现时被观察到的方法。观察是通过一系列的观察对象来完成的,实施则是通过被定为模型一部分的一些政策来实现。5. 时间模型时间模型关注事件和通知间临时的因果关系。在分布式系统中将时间和事件联系起来并使时钟同步是一个众所周知的理论难题。但作为一个实际问题,这些问题在互联网规模的网络中的影响尚未被完全的理解。相对论的问题可能会阻碍任何关联时间和有因果关系的事件的确定性技术的使用。互联网级应用程序可能会因此必须适应近似的时间描述,例如假设全球时钟的存在,尽管这样的假设可能会导致在不同的相关框架下观察的不一致。6. 通知模型通知模型定义了组件用来表达兴趣并接收通知的机制。一个互联网规模的事件观察和通知设备的通知模型关注的是观察者和兴趣收件人之间的沟通。事实上,这种沟通是双向的,因为它涉及,第一,通过一个特定事件模式的收件人表达兴趣,第二,通知与请求收件人的相关信息的沟通。7. 资源模型资源模型定义了在互联网上观察和通知计算资源的位置以及计算资源是如何被分配和被计算在内的。一个有趣的方式来查看互联网规模的观察和通知设施是将它们看作是一种分布在广域网络上进行分布式计算的一种建筑风格。鉴于这种看法,我们可以学习在设施如何根据资源在网络中的分布来进行它自己的计算。在我们的设计架构中,这就是资源模型的领域。北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 11 页2.2.2. Barrett 基于事件的软件集成框架1. 参与者与框架组件在 EBI 的框架内,正如 图 2.2.1 中所描述的那样,一个或多个模块,称为参与者,发送或接受的信息,称为消息,针对事件出现所发生的反应,称为事件。发送消息的参与者称为告密者,而那些得到消息的被称为听众。一个参与者可能既是告密者又是听众。图 2.2.1 Barrett 的事件体系框架图参与者的互动是通过四种类型的框架组件来支持的:注册器,路由器,信息转变功能和交付限制。在参与者发送或接收任何消息之前,它必须通过注册器登记其意图(取消注册和再注册也类似) 。根据注册器中的信息,路由器将消息从告密者提供给其预期的听众。EBI 框架允许内容和消息在送出后接收前被修改。在路由器上定义的消息转变功能(MTFs)可以动态的改变发给听众的消息。一个集成系统中被发现的简单的 MTF 类型通常是一个过滤器,如果他们满足某些标准,它将有选择接受或拒绝从听众传入的消息流的消息。另一处是一个聚合器,每当一个特定的传入的消息流检测到时它将会发送一个新的消息。消息传递的规则,称为交付限制(DCs),也可能会在路由器内定义。例如,约束可以指定所有信息必须完全按照他们发送的顺序来接收或消息必须在一定的时间内到达。EBI 框架支持群的描述。 群是一系列参与者或可以被看为是一个逻辑单元的框架组件。群是允许 EBI 框架进行模型合成与分解。例如,一组包含一个注册器、路由器和一系列参与者可自行注册成为参与者。群也可以用于支持别名,允许多个模块一起北 京 航 空 航 天 大 学 毕 业 设 计 (论 文 ) 第 12 页访问使用同一个名称。群中的模块可以添加、删除或替换而不需要改变群的名称,进一步促进了系统的松耦合性。总之,注册器、路由器、信息转变功能和交付限制是 EBI 的框架中的组件它们用来进行参与者间的沟通。每个代表了集成的一个基本方面。参与者是相互作用的软件模块。注册可以区别能交互的模块与不能交互的模块。路由器在参与者之间传输数据。消息转变功能修改数据前往目的地的地址。最后,交付限制控制数据的传输。2. 框架的使用作为参考模型,EBI 的框架本身没有具体说明实现的细节,例如特别的注册器和路由器,变成一个参与者的方法,或者参与者之间特定的交互模式。反之,如果使用三个阶段的描述过程,这些细节会强加于该框使其产生一个特定的集成系统的描述模型。描述性阶段被称为实例化,适应和配置。实例化阶段是描述
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养护安全培训总结课件
- 先进制造技术课件 1.1 说课
- 化工企业班长安全培训课件
- 养成睡觉好习惯课件
- 别开生面口才课件
- 员工入股协议书7篇
- 兴城安全培训课件
- 化工VR安全培训内容课件
- 网络营销宣传方案(3篇)
- 奶茶店营销活动方案(3篇)
- 首台套申报培训课件
- 中药药剂员职业考核试卷及答案
- 2025年脚手架租赁合同3篇
- 2025国家统计局济宁调查队城镇公益性岗位招聘3人备考题库及答案解析
- 快手运营课程培训课件
- 庭院绿化施工方案
- 《大学语文》课件 第16讲 智在纵横 苏秦始将连横
- 医院工作纪律培训课件
- 营房装修施工方案(3篇)
- 开远美景家乡课件
- 2025至2030中国仿制药行业市场深度分析及前景趋势与投资报告
评论
0/150
提交评论