




已阅读5页,还剩66页未读, 继续免费阅读
(计算机科学与技术专业论文)大规模事务处理监测系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院学位论文 摘要 目前,分布计算技术在很多关键领域得到了广泛而深入的应用。随着应用 领域问题规模的不断扩大、对复杂度和可靠性要求的不断提高,分布式计算系统 呈现以下特点:规模庞大,内部关系复杂,可靠性要求高,难于管理。因此,如 何监测和管理这类庞大复杂的分布式计算系统,提高系统的性能、可用性以及可 管理性,成为当前的一个重要课题。 本文选取某大规模事务处理系统为研究背景,采用基于c o r b a 的分布对 象技术,设计并实现了一个面向该大规模事务处理的监测系统,详细介绍了其相 关概念、原理及实现的关键技术。本文主要工作包括: l 、在比较和分析已有分布式系统监测技术的基础上,研究并设计了一种针 对大规模事务处理监测系统的体系结构,详细阐述了服务代理s a 设计、主机管 理者h m 设计、数据管理、策略管理、故障分析与定位以及负载分析等设计中 的关键问题,并提出了基于对象拓扑图的故障定位模型。 2 、基于s t a r b u s 平台完成了监测系统的实现。重点讨论了服务对象、应用 服务器和数据库状态监测与分析的实现;设计并实现了一种主备式失效检测器, 提高了失效监测的可靠性;详细阐述了针对大规模事务处理系统的负载分析和故 障分析机制的实现方法提出并实现了基于征兆推理的预警机制。 3 、对系统进行了功能测试,测试表明:监测系统正确地实现了其各项功能, 在监测系统加载的情况下对原有系统的性能影响很小,提高了大规模事务处理系 统的可管理性、可维护性和可扩展性。 关键宇:大规模事务处理,监测系统,c o r b a ,截获器,服务对象,负 载分析,故障分析 第1 页 国防科学技术大学研究生院学位论文 a b s 仃a c t a tp r e s e n t ,t h ed i s t r i b u t e dc o m p u t i n gt e c h n o l o g yh a sb e e na p p l i e dd e e p l ya n d w i d e l yi nm a n yk e yd o m a i n s w 汕t h es c a l eo ft h ea p p l i c a t i o n si nt h e s ed o m a i n s b e i n ge x p a n d i n gi n c r e a s i n g l y , t h ec o m p l e x i t yb e i n gi n c r e a s i n ga n dt h ed e m a n df o rt h e r e l i a b i l i t yb e i n gu p g r a d i n g ,t h ed i s t r i b u t e ds y s t e m s t a k eo nt h e f o l l o w i n g c h a r a c t e r i s t i c s :t h es c a l eb e c o m e sh u g e ,t h ei n t e r n a lr e l a t i o n s h i p sa r ec o m p l e x ,t h e d e m a n df o rt h er e l i a b i l i t yi sh i g h ,t h es y s t e mi sh a r dt om a n a g e s o ,h o wt om o n i t o r a n dm a n a g et h e s eh u g ea n dc o m p l e xd i s t r i b u t e ds y s t e m st om a k et h e mh a v eh i g h p e r f o r m a n c e ,g o o da v a i l a b i l i t ya n dg o o dm a n a g e a b i l i t y , h a sb e c o m ea ni m p o r t a n t t a s k t h i sa r t i c l ec h o o s e sa r th u g es c a l et r a n s a c t i o np r o c e s s i n gs y s t e ma st h es t u d y b a c k g r o u n d ,a d o p tt h ed i s t r i b u t e do b j e c tt e c h n o l o g yb a s e do nc o r b a ,d e s i g na n d i m p l e m e n ta nm o n i t o r i n gs y s t e mc o n c e m i n gt h eh u g es c a l et r a n s a c t i o np r o c e s s i n g s y s t e m ,a n di n t r o d u c ei t sc o r r e s p o n d i n gc o n c e p t s ,p r i n c i p l e sa n dk e yt e c h n o l o g i e si n d e t a i l s 。t h ep r i m a r yc o n t r i b u t i o n so f t h i st h e s i si n c l u d e : 1 o nt h eb a s eo fc o m p a r i n ga n da n a l y z i n gt h ee x i s t e dm o n i t o r i n gt e c h n o l o g i e s o ft h ed i s t r i b u t e ds y s t e m ,t h i sa r t i c l er e s e a r c ha n dd e s i g na na r c h i t e c t u r ec o n c e r n i n g t h eh u g es c a l et r a n s a c t i o np r o c e s s i n gs y s t e m ,a n dd i s c u s ss o m ec o r r e l a t i v ek e y p r o b l e m s :t h ed e s i g no fs e r v i c ea g e n t ( s a ) ,t h ed e s i g no fh o s tm a n a g e r ( h a ) ,d a t a m a n a g e m e n t ,p o l i c ym a n a g e m e n t ,f a u l ta n a l y s i sa n do r i e n t a t i o n ,l o a da n a l y s i sa n ds o o n t h em o d eo f l o c a t i n gf a n l tb a s eo nt o p o l o g ym a po f o b j e c ti sp u tf o r w a r d 。 2 t h em o n i t o r i n gs y s t e mi si m p l e m e n t e db a s e do nt h es t a r b n sp l a t f o r m t h e d e s i g na n di m p l e m e n t a t i o no ft h em o n i t o ra n da n a l y s i so ft h es t a t u s e so ft h es e r v i c e o b j e c t s ,a p p l i c a t i o ns e r v e r s ,a n dd a t a b a s e s i sd i s c u s s e dm a i n l y w ed e s i g na n d i m p l e m e n tah o s t - b a c k u pf a u l tm o n i t o r , w h i c hi m p r o v e s t h e d e p e n d a b i l i t yo f m o n i t o r i n gs y s t e m t h ei m p l e m e n t a t i o no ft h e l o a da n a l y s i sa n df a u l t a n a l y s i s m e c h a n i s mc o n c e r n i n gt h eh u g es c a l et r a n s a c t i o np r o c e s s i n gs y s t e mi sp r e s e n t e di n d e t a i l s t h em e c h a n i s mo fp r e w a r n i n gb a s e do ns i g nr e a s o n i n gi sp u tf o r w a r da n d i m p l e m e n t e d 3 t h ef u n c t i o nt e s t st ot h em o n i t o r i n gs y s t e mi n d i c a t e st h a tt h em o n i t o r i n g s y s t e m i m p l e m e n t se v e r yf u n c t i o nc o r r e c t l y , h a sl i t t l ee f f e c tt o t h eo l ds y s t e m p e r f o r m a n c ew h e nm o n i t o r i n gt h eo l ds y s t e m si n s e r t i n gs t a t u s ,a n de n h a n c e st h e m a n a g e a b i l i t y , m a i n t a i n a b i l i t ya n de x p a n s i b i l i t yo f t h eh u g es c a l et r a n s a c t i o n p r o c e s s i n gs y s t e m k e y w o r d s :h u g es c a l e t r a n s a c t i o n p r o c e s s i n g ,m o n i t o r i n gs y s t e m , c o r b a ,i n t e r c e p t o r , s e r v i c eo b j e c t ,l o a da n a l y s i s ,f a u l ta n a l y s i s 第1 i 页 国防科学技术大学研究生院学位论文 图目录 图2 1 基于分布对象中间件的信息系统模型 图2 2c o r b a 系统体系结构图 图2 3c o r b a 2 - 3 规范中的截获器模型一 图2 4 截获器框架模型 图2 5 大规模事务处理系统结构 图2 6 负载平衡服务体系结构 图2 7 a f l s 应用模型 图3 1 分布式中间件环境模型 图3 2c o r b a 映射图 图3 3 大规模事务处理监测系统结构图 图3 4 系统信息收集模式 图3 5 服务代理s a 与服务对象实例的关系模型 图3 6 截获器获取对象实例信息模型 图3 7 业务规则示例图 图3 8 对象拓扑图 图3 9 负载状态描述图 图3 1 0 负载峰值。 图4 1d o m 节点树的结构 图4 2x m l 文档遍历算法流程图 图4 3 传输“心跳”中的监控消息 图4 4 轮询检测中的监控消息 图4 5 主失效检测器 图4 6 备失效检测器 图4 7 利用截获器获取对象信息 图4 8 对象状态监测与分析操作流程 图4 9 服务器状态监测与分析操作流程 图4 1 0 服务对象请求负载 图4 1 1 错误分析及推理流程 图4 1 2 对象b y z a n t i n e 失效状态分析流程 第i v 页 一m n h h”m汐甜觋拍勰如”匏弘弘弘甜卯钌” 国防科学技术大学研究生院学位论文 表目录 表4 1s e r v e r r e q u e s t l n f o 中属性和方法的有效性 表4 2 负载度量的比较 表5 1 测试硬件平台 表5 2 测试软件平台一 第v 页 如 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书面使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:盔拯搓室釜丛垄监型歪统鲍堑窒生塞理 学位论文作者签名: 犟量垄垦一 日期:抄手年肛月。日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以掩学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目: 盔塑搓室釜丛垄蓬型塞缝盟婴窒圭塞趁 学位论文作者签名 作者指导教师签名 邃童盥 整埘建 日期:9 2 白f 年,0 月卜日 日期:7 吼群r 牟,五月日 国防科学技术大学研究生院学位论文 第一章绪论 随着计算机网络的迅猛发展,基于网络的多机计算环境变得越来越普遍。 伴随着这些变化,分布式计算技术以不可逆转的势头渗入到金融、电信、商业等 应用领域:与此同时,各领域的实际需求又强烈地促进了分布计算技术的发展, 对分布计算环境提出了更高的要求。 由于实际应用需求的规模和复杂度的不断增加,分布计算系统的组成部分 变得愈加庞大和复杂,因此,如何监测和管理这类庞大的分布式计算系统,使之 一方面能处理外来请求,提供稳定健壮的服务,另方面便于管理者监测系统的 状态,管理和维护系统,就成为一个亟需解决的问题。本文就是从这点出发,主 要解决这类分布式计算系统的监测和管理问题。 1 1 研究背景 自上个世纪末以来,分布性、可扩展性和异构性已经成为现代企业计算环 境的显著特征。当今的企业级关键业务领域,像宇航、电信、金融等复杂的分布 式应用大多都采用了基于中间件的分布式软件系统。 随着应用的不断深入,分布式计算系统对可靠性和伸缩性要求越来越高, 主要体现在以下几个方面: 1 ) 系统规模不断扩大:由于人类社会信息化程度的不断提高,网络规模的 逐步扩大,电子商务蓬勃发展,在经典的客户服务器模式下扮演服务器角色的 分布式计算系统,必然需要面对规模更大,业务更为复杂的客户请求,所以分布 式系统的规模必然随之增大。 2 ) 系统可靠性要求提高:如前所述,越来越多的关键部门如银行、电信等 的关键业务都依赖于分布式计算系统,其可靠性要求越来越高,所以是否能不断 提高分布式系统的可靠性成为其是否能支持该类关键业务的一个重要指标。而系 统状态的监测就成为提高在线系统可靠性最基础的一环。 3 ) 系统伸缩性要求:当某分布式应用系统处于服务状态时,系统管理者需 要依据系统当前的运行状况,如客户请求的响应时间,各种资源的使用状况等, 来决定是否需要增加软硬件资源,扩大系统规模等,所以通过获取当前系统运行 状态,适时地调整系统规模是十分必要的。 基于对上述分布式应用中所呈现出的新特点的考虑,目前大规模分布式系 统大多采用了应用服务器和服务对象双层冗余技术,一方面通过增加数据和计算 的冗余度,提高系统的可靠性;另一方面,多个服务器并行地响应客户请求,提 高系统的吞吐率。然而随着系统规模的扩大,服务对象的增多,也给系统的管理 第l 页 国防科学技术人学研究生院学位论文 带来了诸多问题: 1 ) 配置和动态部署问题:配置是指在系统运转的生命期内对资源如何分配, 其内容包括配置系统运行环境、服务对象的分布、应用服务器和数据库的规模等。 动态部署是指在系统运行过程中通过对系统监测结果的分析将系统资源进行动 态调整,使得系统运行在最优状态,例如对系统资源实体的在线添加、去除、迁 移、替代等。大规模分布式系统由多种不同功能服务对象构成,为了实现容错和 负载平衡系统引入了冗余服务技术,然而冗余技术的引入增加了系统的复杂性, 同时服务对象之间存在复杂的连接依赖关系和运行优先级关系,在运行过程中需 要根据运行情况调整这些关系。如果没有一个工具辅助管理员描述这些信息,系 统管理员将很难完成如此复杂系统的部署和配置。 2 ) 监测问题:对于运行多个服务对象构成的复杂应用系统,由于采用了冗 余副本技术,如果一个服务对象实例的效率下降或出现错误,由于其他同类服务 对象实例还可以正常工作,则整个系统除了性能有点下降外,不会表现出更多 异常,但如果不进行修复,将破坏冗余服务的条件和状态,导致性能下降或容错 功能减弱。因此管理员必须及时检测出这种错误,并恢复到正常状态。人工逐个 检查每个节点的每个进程执行情况以及每一个对象的状态既费时又费力,而且也 很难定位错误。特别是当服务对象规模达到定程度时,如果没有工具的支持, 管理员很难对系统进行错误分析和故障定位。 3 1 维护问题:系统规模要求是可增长的。系统需要根据运行情况、技术进 步以及应用深入对系统进行升级。对于许多关键应用,大规模分布式系统必须足 够灵活、具有可成长性以及在线扩充和维护。但由于大规模分布式系统中服务对 象种类和数量繁多,服务对象之间的连接关系复杂,服务对象之间存在优先级等, 使维护变得非常困难。 由此可见,如何对大规模分布式系统进行有效的管理成为一个需要迫切解决 的问题。为了研究如何对一个规模相对庞大的分布式系统进行管理,选择一个实 际的大规模分布式系统的典型实例显得十分必要,为此,本文选择了我们前期的 工作成果大规模事务处理系统作为进行课题研究的一个基础平台。 大规模事务处理系统是一个支持高速并行数据加载、分布式数据存储和在 线分析处理的分布式海量信息事务处理中间件系统平台,其分布计算环境采用了 目前被广泛支持和采用的分布对象计算标准c o r b a ,并使用符合c o r b a 标准 的s t a r b u s ( 国防科大自主研制) 作为系统开发和运行平台,以保证系统的可 扩展性、可维护性、可配覆性和对异构性的要求。目前该系统的服务器节点已经 达到6 4 个,服务对象的种类达到2 0 个,对象实例数目达到1 0 4 个,并且还在不 断的扩大之中。 针对该大规模事务处理系统开发的分布式管理系统框架主要包括三大部 第2 页 国防科学技术大学研究生院学位论文 分:配置管理模块、系统监测模块、动态部署模块,本文着重解决系统监测模块 的研究与实现。 监测模块是管理系统的重要组成部分,解决大规模事务处理系统管理问题的 前提是必须了解系统的运行状态,即系统监测是系统管理的基础,具体表现在: 整个系统运行状态的维护需要监测平台的支持;错误的发现和定位需要监测平台 的支持:系统负载情况的统计和分析需要监测平台的支持;服务对象之间协同关 系和依赖关系的维护需要监测平台的支持:系统运行日志的记录需要监测平台的 支持;系统配置和部署需要监测平台支持。因此,如何对大规模事务处理系统进 行有效的监测,满足当前大规模事务处理系统在性能、伸缩性、可用性和可靠性 等方面的迫切要求,是一个具有理论意义和实用价值的研究课题。 本文以大规模事务处理系统为研究背景,针对大规模事务处理系统的特点, 以性能、可用性和可扩展性为目标,研究并实现了一种基于c o r b a 的大规模事 务处理系统的监测软件,并详细介绍了相关概念、原理及实现的关键技术。 1 2 研究现状 互联网的兴起使得网络管理得到了快速发展,目前已经有了一些成熟的产品 和技术标准,例如n 4 n ”1 ( t e l e c o m m u n i c a t i o n sm a n a g e m e n tn e t w o r k ) 、c m i p “1 ( c o m m o nm a n a g e m e n t i n f o r m a t i o n p r o t o c 0 1 ) 以及s n m p “1 ( s i m p l e n e t w o r k m a n a g e m e n tp r o t o c 0 1 ) 等等。而对于分布式系统管理,尤其是对大规模分布式应 用软件本身运行状态的管理起步较晚,近十年来,随着分布计算技术的发展,尤 其是分布计算中间件技术的发展,异构系统的互连和互操作己经得到了较好解 决,如何解决分布式系统的管理问题开始成为人们关注的热点。 针对分布式系统的管理问题,一些计算机研究机构和公司分别提出了相应的 管理协议和算法,并实现了一些面向性能或可用性的管理系统。 h o m s 系统”1 :由美国c o r n e d 大学九十年代初研制,它为分布式冗余服务 对象提供了组通信机制,并在此基础之上,将冗余服务对象的失效管理和性能管 理结合在一起考虑,但它没有区分请求的类型,也忽略了对系统的错误分析和故 障定位等问题。 a r j u n a 系统“1 :由英国n e w c a s t l e u p o nt y n e 大学于1 9 9 0 1 9 9 5 年研制,它针 对具有状态信息的冗余服务和多个服务之间的嵌套访问,提供了一致性控制协议 和三种容错机制,同时还为冗余服务提供了永久存储和生命周期服务:但是它没 有实现冗余服务性能管理,没有提供全局管理界面以及与其他管理系统的接口。 b a l a n c e 系统“:香港科技大学1 9 9 7 年研制,它为冗余服务提供了负载 信息收集机制以及实现多种负载平衡算法的自适应平台,并提供了与其他管理平 台的丌放接口;但它没有考虑冗余服务对象和服务器节点的失效管理、配置管理。 第3 页 国防科学技术大学研究生院学位论文 p h o i n i x 系统”1 :由台北科学院以及国立交通大学在1 9 9 7 年研制,它作为 c o r b a 的系统服务实现,无需修改o r b 内核,而且提供了两个层次可选择的 容错机制:重启( r e s t a r t ) 和恢复。但它没有采取空间冗余的容错手段,未考虑 冗余服务的性能管理,而且采取集中控制方式,注册管理者l m ( l o gm a n a g e r ) 容易成为系统性能和可用性的瓶颈。 m v o ( m u l t i - v e r s i o n o b j e c t ) 系统:由美国s o u t h e r n m e t h o d i s t 大学在1 9 9 7 年研制,它采用复制( r e l ) 1 i c a t i o n ) 和恢复( r e c o v e r y ) 机制对冗余服务进行失效处理, 通过对象实现的多样性避免软件错误,并提供了冗余服务的故障检测机制。但所 有类型的服务信息保存在系统唯一节点上,以集中方式进行管理,容易成为瓶颈 且可靠性差,并且未考虑如何提高冗余服务性能,以及如何对冗余服务进行配置。 德国f a c h h o c h s c h u l ew i e s b a d e n 提出的o b j e c t m o n i t o r 模型“”,该模型只是对某 一对象具体的运行状态进行监测,没有考虑对象与对象之间的关系。瞧没有对监 测信息作进一步的分析,忽略了对分布式软件系统监测的整体概念。 i b m 的c o m p o n e n tb r o k e r “:它基于c o r b a 平台为冗余服务提供了 r o u n d r o b i n 等三种负载平衡机制。但它没有提供针对冗余服务的失效管理和配 置管理,无法实现与其他管理系统的接口,而且它采用分散管理模式,冗余服务 的转发机制对客户不透明,管理的开销较大。 国内的一些大学和研究机构也开展了这方面的研究。例如,南京大学的多 服务器开放模型“、基于j a v a 的容错系统“”以及电子科技大学的高可用 c o r b a 1 ”等。 虽然上述管理系统针对分布计算环境中冗余服务的管理问题,给出了一定的 解决方案,但通过分析,本文认为它们具有以下不足: 1 缺乏针对冗余服务的有效管理模型。冗余服务的管理模式通常有两种: 一种是m v o 、b a n l a n c e 以及p h o i n i x 等管理系统所采用的集中管理模式,系 统有全局唯一的管理者,它负责维护系统中所有服务对象类的实例,但随着应用 规模以及对象数目的增加,全局管理者可能会成为系统性能和可用性的瓶颈。另 一种是i b mc o m p o n e n tb r o k e r 管理系统所采取的分散管理模式,系统没有全局管 理者。分散管理模式虽然不会出现管理瓶颈,但各个代理之间需要协调,管理难 度和复杂度较大,需要对各个代理的管理信息进行维护,管理的通信和信息存储 开销较大。因此,迫切需要一个新的管理模型,以便实现对冗余服务的有效管理。 2 ) 对系统的监测大多只限于失效监测,忽略了对系统服务器和服务对象的 状态分析、性能分析,如a i j u n a 、m v o 、h i d r a 和p h o i n i x 等,它们仅以系统的 可用性为目标,忽视了冗余服务的性能管理。 3 ) 管理功能不完善。目前大多数的冗余服务管理系统,例如a r j u n a 等系统, 它们没有从系统管理的角度出发,为系统管理员提供一个监测和控制系统资源的 管理接k i ;一些管理系统提供了全局管理界面,例如b e a m 3 “”,但它们没有实 现自动和自适应的管理功能,并且对用户不透明,要由用户自己选择管理策略。 第4 页 国防科学技术大学研究生院学位论文 4 ) 缺乏预报警功能。目前的管理系统大多忽略了故障预报警,而在大规模 分布式系统中,预报警功能是非常必要的,它能在故障发生前向管理员提示,以 便管理员及时采取措施,避免故障发生,造成损失。 大规模事务处理系统采用的关键技术是分布对象技术,因此在管理上存在同 样的问题,目前,业界针对大规模分布式对象系统的管理尚不成熟,如何对大规 模事务系统进行整体的监测,并以监测为基础形成系统的整体管理方案是一个值 得研究的课题。 1 3 研究内容 本文针对现有大规模事务处理系统管理上存在的问题,研究并实现了具有 高性能、高可伸缩性和高可用性的基于c o r b a 的大规模事务处理监测系统,主 要包括以下几个方面的内容: 1 ) 着重研究了大规模事务处理系统中的监测机制问题,对各种可能的策略、 机制、体系结构和方法进行了深入探讨和分析。 2 ) 设计了一个使用标准c o r b a 特性可以实现的监测模型,实现了对多种 冗余服务的状态监测、状态分析和负载分析。 3 ) 研究并实现了对系统的错误分析和故障定位,设计了一种基于对象拓扑 图的故障定位模型,提出并实现了系统故障预报警,提高了系统管理的前瞻性。 4 ) 设计并实现了一种主备失效检测器,提高了系统失效监测的可靠性。 5 ) 研究并实现了对系统服务对象的状态以及对象之间关系监测。 6 ) 实现了监测系统良好的人机交互界面。 1 4 论文结构 本文共分为六章。 第章:绪论,主要介绍课题的背景、研究现状、本课题的研究内容以及 论文的组织情况。 第二章:介绍设计大规模事务处理监测系统所基于的分布式对象技术、对 象中间件技术以及大规模事务处理系统等相关知识。 第三章:介绍大规模事务处理监测系统的设计思想和体系结构,着重介绍 了监测系统设计中的关键技术。 第四章:介绍大规模事务监测系统的具体实现,包括数据存储机制的实现、 主各失效检测器的设计与实现、对象状态监测与分析的实现以及服务器状态监测 与分折的实现、故障分析和负载分析的实现等。 第五章:对监测系统进行了功能和性能测试,并对测试结果避行了分析。 第六章:对全文进行了总结,并指出下一步的工作方向。 第5 页 国防科学技术大学研究生院学位论文 第二章相关技术 大规模事务处理系统采用的关键技术是分布对象中间件技术,而本文中基 于该大规模事务处理系统的监测系统也是采用的分布对象技术,所以本章将首先 介绍分布式对象技术和c o r b a 技术,然后介绍大规模事务处理系统的系统结 构,最后介绍和系统紧密相关的负载平衡器a f l s 。 2 1 分布式对象及分布对象中间件技术 2 1 1 分布式对象技术概述 9 0 年代,计算技术最引人注目的进展之一就是应用计算环境从集中走向分 布。发展至今,分布性、可扩展性和异构性已经成为现代企业计算环境的显著特 征。然而,利用传统操作系统中提供的网络传输服务来开发分布式应用会涉及很 多繁琐、复杂的网络编程任务,大大影响了分布式应用开发的效率,不利于企业 面临的市场竞争的严峻挑战。人们在分布式计算机系统的建立及其应用系统的开 发过程中,深刻认识到分布式应用开发的效率是决定此类系统开发和应用能否成 功的关键因素之一。因此,以支持应用互操作的应用需求为核心,以面向对象技 术为主要特征的第二代分布计算技术开始孕育,经过5 年多的蓬勃发展,进入成 熟时期,人们将这一代技术称为分布对象技术。 分布对象作为一种组件对象模型,与传统的对象不同,它是作为一个物理 上独立的实体存在并可以被其它对象远程调用。它们可以位置透明,语言独立和 平台独立地相互发送消息,实现请求服务。 分布式对象技术的优点有:首先,对象比进程更贴近真实世界,它符合人 类的思维模式,因而简化了软件编程和应用开发过程;其次,对象比进程更稳定、 更易控制,动态特性更易刻画t 第三,对象封装了所有的实现细节,因而比进程 可移植、可重用和可扩展,有利于实现分布式系统中的系统集成和互操作;第四, 对象之间的交互通过服务请求来刻画,比进程之间的调用关系更能有效地描述分 布式系统中各个实体之间的竞争和协作;第五,通过将系统资源封装成对象并提 供接口,可以有效地实现分布式系统中的管理功能。 目前分布式对象技术正处在工业标准形成阶段。它包括m i c r o s o f t 公司提出 的对象构件模型c o m ( c o m p o n e mo b j e c tm o d e l ) 、o m g ( o b j e c tm a n a g e m e n t g r o u p ) 提出的c o r b a ( c o m m o n o b j e c t r e q u e s t b r o k e r a r c h i t e c t u r e ) 以及由s u n 公司推出的j a v a b e a n s 。这三个标准类似于构件运行的软总线。 第6 页 国防科学技术大学研究生院学位论文 2 1 2 分布对象中间件技术 分布对象中间件技术是从分布式对象技术的基础上发展起来的,它为应用 开发者提供了分布式开发环境和工具,图2 1 是基于分布对象中间件的信息系统 模型: 图2 1 基于分布对象中间件的信息系统模型 在基于分布对象中间件构建的信息系统中,分布对象中间件提供以下主要 功能或服务: 应用服务对象的命名和查找 应用服务对象的动态注册 应用服务对象的负载平衡和容错 应用服务对象的生命周期管理 安全服务,时间服务,事件通告服务,事务服务,持久性服务 由于分布对象中间件已经提供了众多的与底层平台实现细节无关的服务, 所以构建基于分布对象中间件的信息系统一方面变得简单易行,另方面,这些 信息系统由于使用了分布对象中间件提供的丰富服务,所以具有以下一个优良信 息系统所应该具备的特征: 1 ) 良好的可扩展性:包含应用业务可扩展和系统规模可扩展。当有新的应 用业务需要增加到已有系统中时,由于应用服务对象可以动态注册,新的应用业 务服务对象可轻易的加入到已有系统中,而客户对象也可通过名字服务找到新增 的应用服务。当系统规模需要扩展时,即后台信息资源存储增加,要求增加新的 数据存储资源时,只需更新相关应用服务对象的访问路径即可,系统整体框架无 需变化。 2 ) 高可用性:通过使用冗余服务对象技术和容错服务,可以使系统在一个 或多个节点或服务对象出现故障时仍然可用。 3 ) 高性能:通过在系统中部署多个具有相同功能的服务对象实例,同时使 用负载平衡服务,可以使系统在特定的软硬件资源环境下获得最佳的性能。 在分靠计算环境中,分布计算中问件基于网络平台,介予系统软件和应用 软件之问,它利用底层的网络资源,实现各个分布实体之问的通信,为应用开发 第7 页 国防科学技术大学研究生院学位论文 者和系统管理员提供了开发、组织和管理分布式应用的框架。目前,有许多较为 成熟的分布计算中间件标准和产品。例如,开放软件基金会o s f ( o p e ns o f t w a r e f o u n d a t i o n ) 的分布式计算环境d c e ( d i s t r i b u t e dc o m p u t i n ge n v i r o n m e n t ) “, 国际标准化组织i s o ( i n t e r n a t i o n a lo r g a n i z a t i o nf o rs t a n d a r d i z a t i o n ) 的开放分布 处理o d p ( o p e n d i s t r i b u t e d p r o c e s s i n g ) “”,对象管理组o m g ( o b j e c t m a n a g e m e n t g r o u p ) 的通用对象请求代理框架c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ) “”和m i c r o s o f t 的分布式组件对象模型d c o m ( d i s t r i b u t e d c o m p g n e mo b j e c tm o d e l ) 1 等。 2 2 1c o r b a 概述 2 2c o r b a 技术 公共对象请求代理体系结构( c o r b a ) 是由对象管理组织( o m g ) 提出的 应用软件体系结构和对象技术规范,它是开放的、独立于供应商的支持网络应用 程序互操作的规范。其核心是一套标准的语言、接口和协议,支持异构分布应用 程序问的互操作性及独立于平台和编程语言的对象重用。c o r b a 是个异质网 络分布对象的交互标准,该标准与平台无关,所以得到了业界的广泛认同“。 理解公共对象请求代理结构c o r b a 的关键是其参考模型,c o r b a 参考模 型由以下几个元素组成: 对象请求代理:在分布式环境下使得对象之问能够透明地发送请求和接收 响应。它是在分布式对象上建立其他应用的基础,也是在异构或同构环境 下实现互操作的基础。 对象服务( o b j e c ts e r v i c e s ) :支持如何使用对象和如何实现对象这两种基 本功能的一系列服务( 包括接口和对象) 。对建立任何分布式应用,对象 服务总是必需的,而且对象服务总是独立于特定的应用域。例如,生命周 期对象服务仅仅定义对象的创建、删除、复制和迁移等约定,而并不指定 对象如何实现阻及如何被使用。 公共设施( c o m m o nf a c i l i t i e s ) :能够被多个应用所共享的一系列服务, 它与对象服务的区别在于对象服务强调的是其基本性,例如,系统管理和 电子邮件可分别归于公共设施之列。 应用对象( a p p l i c a t i o no b j e c t s ) :这是项目开发组为某个特定的产品提供 商开发的产品。应用对象相当于传统的应用程序的概念,因此,它不是 o m g 标准化所关心的内容,而是构成整个参考模型的最上层的元素。 对象请求代理是整个c o r b a 参考模型的核心,它类似于一个电话交换机, 提供产生呼叫和接收呼叫的基本处理机制,通过与对象服务的结合,可以确保符 第8 页 国防科学技术大学研究生院学位论文 合c o r b a 规范的应用实体之间进行有意义的通信。 c o r b a 规范充分利用了现今软件技术发展的最新成果,在基于网络的分布 式应用环境下实现应用软件的集成,使得面向对象的软件在分布、异构环境下实 现可重用、可移植和互操作。其特点可以总结为如下几个方面: 1 ) 实现客户与服务对象的分离。客户不需要了解服务对象的实现过程以及具 体位置,这一特点在c o r b a 体系结构图中得到了充分的体现,c o r b a 系统体 系结构如图2 2 所示。 图2 2c o i u j a 系统体系结构图 2 ) 提供软总线机制,使得在任何环境下、采用任何语言开发的软件只要符合 接口规范的定义,均能够集成到分布式系统中: 3 ) c o r b a 规范软件系统采用面向对象的软件实现方法开发应用系统,实现 对象内部细节的完整封装,保留对象方法的对外接口定义。 c o r b a 使应用程序能够使用一个共同的接口,这个接口可以在多种平台和 多个开发工具中用接口定义语言( i d l ) 来说明。o m gi d l 是平台和语言无关 的,而数据及调用格式的转换则是由o r b 透明地完成。所有的c o r b a 对象接 口,以及接口中楣关的数据类型,都可以由接口定义语言( i d l ) 说明。这种对 接口的公共定义方法使应用程序能够在不涉及到对象的具体运行方式时对对象 进行操作。 对象模型是应用丌发人员对客观事物属性和功能的具体抽象。由于c o r b a 使用了对象模型,将c o r b a 系统中所有的应用看成是对象及相关操作的集合, 因此通过对象请求代理( o r b ) ,使c o r b a 系统中分布在网络中应用对象的获 取只取决于网络的畅通性和服务对象特征获取的准确程度,而与对象的位置以及 对象所处的设备环境无关。 另外,c o r b a 规范约束采用面向对象的分布式软件构造方法,以接口定义 语言形式实现对象内部细节的完整封装,从而降低了软件系统的复杂程度,增加 第9 页 国防科学技术大学研究生院学位论文 了软件功能的可重用性。c o r b a 提供i d l 到c c 抖、j a v a 、s m a l l t a l k 等高级语 言的映射,很大程度地减小了对程序设计语言的依赖性,使软件开发人员可以在 较大范围内共享已有成果。 正是基于面向对象技术的发展和成熟、客户服务器软件系统模式的普遍应 用以及集成已有系统等方面的需求,推动了c o r b a 技术的成熟与发展。作为面 向对象系统的对象通信的核心,c o r b a 为当今网络计算环境带来了真正意义上 的互联。目前,c o r b a 技术在银行、电信、保险、电力和电子商务领域都有广 泛的应用,下面所述大规模事务处理系统就是基于c o r b a 的分布对象计算技术 建模的面向海量信息存储、管理、查询和分析处理的事务处理中间件。 2 2 ,2 截获器技术 本文设计和实现的大规模事务处理监测系统中对服务对象状态信息的获取 主要采用截获器技术来完成,本节重点介绍截获器的基本概念和原理。 截获器是c o r b a 2 3 规范提出的一种重要技术,它可以将o r b 服务插入到 对象调用路径中。采用截获器技术可以使o r b 内部的服务明确分离,实现不同 o r b 服务的独立与共存。截获器提供了一种将可移植的o r b 服务增加到遵循 c o r b a 规范的对象系统的高度灵活的方法。 一个截获器可以负责执行一个或多个o i m 服务。逻辑上讲,在一个客户和 一个目标对象之间的调用( 和应答) 路径中,可以插入一个截获器,当需要多个 o r b 服务时,也可以使用多个截获器。规范中定义了两类截获器( 如图2 3 所示) : 棼国三藤 l i o r 8 内核 i o r bi 图2 3c o r b a 2 3 规范中的截获器模型 1 ) 请求级截获器:负责处理给定的请求( 请求是有明确语义的数据结构, 其中包含请求i d 、目标对象i d 、目标对象接口名、方法名、输入参数等) 。 2 ) 消息缴截获器:负责发送和接收消息( 消息是非结构化的缓冲区,即请 求经过g i o p 编码后的数据结构,其含义对程序是透明的) 。 请求级截获器在请求级对o r b 的执行过程中进行截获,以当前请求为依据 第1 0 页 国防科学技术人学研究生院学位论文 进行相应处理或调用o r b 服务。访问控制服务和事务服务( 皆为o r b 服务) 都可以通过请求级截获器插入到o r b 执行路径中。 消息级截获
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校区晨跑活动策划方案
- 零售行业智能化发展报告
- 齿轨车司机质量管控考核试卷及答案
- 仲裁法考试题库及答案
- 鞋业数字化市场前景分析报告
- 渔业机械市场需求分析报告
- 国道大修工程施工方案
- 产品促销策划咨询方案
- 职业转型咨询方案模板
- 基础财务报表编制快速入门
- 二手车转让免责协议书范本
- 家校合作下的学生心理问题预防与干预
- 2024年学校安全教育讲稿范文(2篇)
- 化粪池及隔油池清洁服务方案
- 骨科患者辅助器具选择与使用
- 电力电缆工程施工组织设计
- 劳动课种植教学方案
- 小学数学《分数除法》50道计算题包含答案
- 2024年7月1日实施新版医疗器械采购、收货、验收、贮存、销售、出库、运输和售后服务工作程序
- HYT 262-2018 海水中溶解甲烷的测定 顶空平衡-气相色谱法
- 小儿入秋养生知识讲座
评论
0/150
提交评论