(计算机科学与技术专业论文)容错corba中复制管理及失效管理基础设施的研究与实现.pdf_第1页
(计算机科学与技术专业论文)容错corba中复制管理及失效管理基础设施的研究与实现.pdf_第2页
(计算机科学与技术专业论文)容错corba中复制管理及失效管理基础设施的研究与实现.pdf_第3页
(计算机科学与技术专业论文)容错corba中复制管理及失效管理基础设施的研究与实现.pdf_第4页
(计算机科学与技术专业论文)容错corba中复制管理及失效管理基础设施的研究与实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机科学与技术专业论文)容错corba中复制管理及失效管理基础设施的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

= = 一些垡兰垒垒垡竺垒型鳖垒丝查一 摘要 随着计算机网络的迅猛发展,通过网络相连的多机计算环境越来越普遍。伴随着这些 变化,分布计算技术以不可逆转的势头进入到政治、经济等社会生活的各个角落,深刻的 影响着我们的生活。随着分布技术向关键应用领域的不断拓展,分布计算对高可靠性和高 可用性的需求越来越迫切。但是直接开发分布式容错应用是非常困难的,这是因为开发者 不仅要处理复杂的应用逻辑,还要面对纷繁的容错逻辑,于是,人们丌始广泛关注如何为 分布式容错应用提供高质量的统一的容错支撑平台。 本文介绍了基于c o r b a 的容错支撑平台的研究现状,并遵循容错c o r b a 规范1 0 ,在 满足c o r b a 规范2 3 的s t a r b u s 3 0 中问件的基础上,参与f t b u s 工作小组的容错支撑平 台f t b u s 的设计和实现,深入研究了f t b u s 中复制管理和失效管理这两个核心机制,对这 两个子系统设计和实现中的难题给出了解决方案。具体工作如下: 1 、详细剖析当前研究和应用领域中构造容错c o r b a 系统的集成、服务和截取等三种 方法的优缺点,参与完成可配置、可扩展的容错支撑平台f t b u s 的总体设计,为应用解决 对象复制、失效检测和通告、同志和恢复等容错管理问题,并且保证了f t b u s 的可互操作 性和客户透明性。 2 、设计和实现了f t b u s 中的复制管理子系统。针对复制管理必须解决的对象组生命 周期管理和容错属性配置管理,本文设计了一个能够动念部署和创建对象的对象工厂模 型:并围绕容错系统的共有特征定义了一组容错属性,设计了层次化的属性配置管理,允 许应用动态灵活地配置容错属性。 3 、设计和实现了f t b u s 中的失效管理子系统。引入了事件通告模型实现了失效事件 的有效传播;针对对象、进程、主机等不同层次的实体采用层次化的树型结构的监控机制 增强了失效监控的可伸缩性:并提出一个环形检测算法以解决失效检测器的单点失效问 题。 4 、由f t b u s 工作小组共同努力,完成了容错支撑平台f t b u s 的实现,并进行了功能 和性能的测试与评估。测试结果表明,f t b u s 是开发分命对象容错系统的一个有效的支撑 平台,并且性能相对良好。目前,f t b u s 已经在中创软件的企业应用集成平台中得以应用。 关键字:容错c o r b a ,分布对象,对象复制,失效检测和通告 国防科学技术人学研究生院学何论文 a b s t r a c t w i t ht h ec o m p u t e rn e t w o r k sg r o w i n gr a p i d l yn o w a d a y s ,w ec a ns e et h ec o m p u t e r s c o n n e c t e dw i t hn e t w o r k sa c t i n ga sac o m p u t i n ge n v i r o n m e n t sh e r ea n dt h e r e a sar e s u l to fi t , d i s t r i b u t e dc o m p u t i n gt e c h n i q u ei s i n f l u e n c i n ge v e r yp a r t o fo u rs o c i a ll i f e s t r o n g l y ,i e p o l i t i c s ,e c o n o m i c s w i t h t h ee v e r i n c r e a s i n g a m o u n to fd i s t r i b u t e d c o m p u t i n gs y s t e m s a p p l i e d i nw i d er a n g eo fc r i t i c a l d o m a i n s ,t h er e q u i r e m e n to fh i g hr e l i a b i l i t ya n dh i g h a v a i l a b i l i t yo fd i s t r i b u t e dc o m p u t i n gs y s t e m st e n dt ob em o r ea n dm o r eu r g e n t h o w e v e r , d i s t r i b u t e df a u l t - t o l e r a n ta p p l i c a t i o n sa r eh a r dt ob ed e v e l o p e d ,s i n c et h ep r o g r a m m e r sm u s t h a n d l en o to n l yt h e c o m p l e xb u s i n e s sl o g i c b u ta l s ot h ec o n f u s e df a u l tt o l e r a n c e l o g i c t h e r e f o r e ,p e o p l ec o n c e r nm o r ea n d m o r eo nh o wt of o r ma nu n i f i e dp l a t f o r ms u p p o r t i n gt h e d e v e l o p m e n t o fd i s t r i b u t e df a u l t t o l e r a n ta p p l i c a t i o n s t h i st h e s i sf o c u s e so nt h er e s e a r c ha n di m p l e m e n t a t i o no ft h ef a u l t t o l e r a n t s u p p o r t i n g p l a t f o r m ,f t b u s ,c o n f o r m i n gt ot h ef a u l t t o l e r a n tc o r b as p e c i f i c a t i o n1 0 i naw o r kg r o u p , w h i c hi sb u i l to nt h es t a r b u s 3 0 c o n f o r m i n gt o t h ec o r b a s p e c i f i c a t i o n2 3 i ta i m sa t m a k i n g f o u rm a j o rc o n t r i b u t i o n s : f i r s t l y ,t h e t h e s i s a n a l y s e s t h er e s e a r c he f f o r t s r e c e n t l y d e v o t e dt ob u i l d u p a f a u l t t o l e r a n tc o r b a s y s t e m ,w h i c hc a nb ec a t e g o r i z e di n t o t h r e ea p p r o a c h e s :i n t e g r a t i o n a p p r o a c h ,s e r v i c ea p p r o a c h a n d i n t e r c e p t i o na p p r o a c h t o a d d r e s st h ef l a wo ft h e s e a p p r o a c h e s ,f t b u s ,w h i c hi sc o n f i g u r a b l ea n de x t e n s i b l e ,w i l li m p l e m e n tt h ef a u l tt o l e r a n c e m a n a g e m e n te f f i c i e n t l y ,a n dp r o v i d ew e l li n t e r o p e r a b i l i t ya n d w e l lt r a n s p a r e n c yf o rc l i e n t s s e c o n d l y ,t h et h e s i sd e s i g n sa n di m p l e m e n t st h er e p l i c a t i o nm a n a g e m e n ts u b s y s t e mo f t h ef t b u s t or e s o l v et h ei s s u e so f o b j e c tg r o u p sl i f ec y c l em a n a g e m e n ta n df a u l tt o l e r a n c e p r o p e r t i e sm a n a g e m e m ,a no b j e c tf a c t o r ym o d e l i sd e s i g n e dt ol o a dt h eo b j e c t sd y n a m i c a l l y ,a s e to ff a u l tt o l e r a n c ep r o p e r t i e sa r ed e f i n e da c c o r d i n gt ot h ec o m m o nc h a r a c t e r i s t i c so ft h e f a u l t t o l e r a n ts y s t e m ,a n dm o r e o v e ra h i e r a r c h ym o d e l i sp r o p o s e dt oe n a b l et h ed y n a m i ca n d f l e x i b l ec o n f i g u r a t i o n t h i r d l y ,t h et h e s i sd e s i g n sa n di m p l e m e n t st h ef a u l tm a n a g e m e n ts u b s y s t e mo f t h ef t b u s t h en o t i f i c a t i o nm o d e l i s i m p o g e d t od e l i v e rt h ef a u l te v e n t se f f i c i e n t l y f a c i n gt h ee n t i t i e so n d i f f e r e n tl e v e l ,l i k eo b j e c t ,p r o c e s sa n dh o s t ,af a u l td e t e c t i o nm o d e o f h i e r a r c h yt r e es t r u c t u r e i s a d o p t e dt oe n h a n c et h ee x t e n s i b i l i t y a n df i n a l l yar i n g - c h e c ka l g o r i t h mi sp r o p o s e dt o r e s o l v et h es i n g l e f a i l u r ep r o b l e m t h ef i n a lc o n t r i b u t i o no ft h et h e s i si st h e i m p l e m e n t a t i o no ft h ef t b u s w h i c hi s t h e p r o d u c t i o no fo u rf t b u sw o r kg r o u p t h e nt h ee x p e r i m e n t so nt h ef i m c t i o n a l i t ya n dt h e p e r f o r m a n c eh a v ea l s ob e e nc a r r i e do u tt od e m o n s t r a t et h ee f f i c i e n c yo ft h ef t b u s n o w ,t h e c v i cs o f t w a r ee n g i n e e rc o l t dh a sa p p l i e dt h ef t b u st oi t se n t e r p r i s ea p p l i c a t i o n i n t e g r a t e d p l a t f o r m k e y w o r d s :f a u i t t o l e r a n tc o r b a d is t r i b u t e do b j e c t o b j e c t r e p ii c a t i o n f a u i t d e t e c t j o na n dn o t j f j c a t j o n 独创性声明 y 1 3 7 3 | 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:窒缱! ! b 坠生复剑篁堡丛基夔篮堡基型遮蕉的丛壅皇塞理 学位论文作者签名: 霆辛j 堑一 日期:。一肼,1 月诤日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:签垡! ! b 坠主复剑篮理丞塞夔篁垄基趟遮旌鲍丑窒生塞理 学位论文作者签名:墨左! 至 作者指导教师签名:盈 日期:“忽年f ,月卯日 日期:协外年,月驺日 国防科学技术大学研究生院学位论文 第一章绪论 1 1 课题背景 随着计算机网络的迅猛发展,通过网络相连的多机计算环境越来越普遍。伴随着这些 变化,分布计算技术以不可逆转的势头进入到政治、经济等社会生活领域的各个角落,深 刻的影响着我们的生活。而反过来各领域的实际需求又强烈的促进了分布计算技术的发 展,对分布计算研究者提出了更高的要求。 1 1 1 技术背景 分布计算环境由各种各样的异构系统组成,它们之间的通信模式复杂多样,使分布式 系统中的软件开发比集中式系统更为困难。为解决这一问题产生的中间件技术目前几乎成 了开发分布式应用必不可少的手段,近年来尤以面向对象的中间件技术发展极为迅速。对 象管理组织o m g ( o b j e c tm a n a g e m e n tg 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 ) ”、s u n 微系统公司的j a v a 远程方法调用r m i ( r e m o t em e t h o di n v o c a t i o n ) 和微软的分稚式组件对象模型d c o m ( d i s t r i h u t e dc o m p o n e n to b j e c tm o d e l ) 。”等标准及 其大量产品已被业界所广泛接受。它们不仅充分利用了对象建模的优点,提供了类似于丌 发集中式系统的开发环境和工具,而且在此基础上发展了消息、命名、持久对象等等系 列可以直接使用的对象服务,为开发分布式系统提供了强有力的支持。 相比之下,在中间件层提供较完燕的容错支持的工作还刚刚起步,原因在于为容错提 供支持的中间件软件,也就是容错中间件,一方面必须能整合已有的中问件技术,与原有 的中间件及其服务的规范相容:另一方面还要能把发展已经较为成熟的,在集中环境罩、 专业领域里广泛使用的容错技术纳入到中间件层的容错框架中来。因此在资源效能比、通 用性、透明性和易用性等方面面临复杂而困难的折衷。目前还没有成熟的具有广泛推广价 值的解决方案。 因此在设计和实现一个实际的分布式容错应用系统的时候,软件工程师虽然可以享受 中间件技术提供的便利,但是他还是要在应用层加入容错处理来保证系统的可靠性、可用 性等等,这些一般与要实现的应用逻辑没有紧密的联系。实现应用逻辑基本上是特定应用 的具体问题转化成计算机表达方式的过程,而加入的容错处理逻辑则带有鲜明的分布式系 统的共同特征,例如网络通信的不可靠性。本着软件设计的分而治之的思想,软件工程师 希望能对容错应用开发和运行提供中间件层次上的支持,目的是只需把开发的应用程序模 块纳入到容错中间件的运行框架中来,就可以获得满足要求的容错能力。最大程度上使应 用开发者摆脱开发容错逻辑的负担,而更多的去关注应用逻辑。 第1 页 = :皇些些丝尘垒型堕尘些丝垒圣一 i i 2 应用背景 图1 1 基于容错中间r f :的应川体系结构 与容错中间件技术仍亟待发展的形势形成鲜明对比的是,容错中间件在广泛的应用领 域有着迫切的需求。 比如当今的企业级关键业务领域,像宇航、电信、金融等使用的复杂的分布式应用迫 切要求具备高可靠性和高可用性。而这些应用绝大多数都采用了基于中间件的分布式软件 系统。这些系统一旦出错,就会带来巨大的经济损失,例如一个金融企业信用卡系统每小 时的宕机时间平均会给企业带来$ 2 ,6 0 0 ,0 0 0 的经济损失( 来自美国商业报告”“) ,有时甚 至会带来无法挽回的灾难,比如航天飞机失事。容错中削件自然成为了当前的一个研究热 点。 而军事领域也非常关注容错技术的发展:现代战争的实践表明,信息战已经成为了一 种重要的甚至是决定性的作战形式。为提高我国的国防现代化水平,立足于打赢高技术条 件下的局部战争,必须在信息战战场上取得主动地位。为了及时准确的获取情报,根据战 场变化作出正确的决策,对武器和人员进行可靠的控制,扮演武装力量神经中枢角色的c i ( c o m m a n d ,c o n t r o l ,c o m m u n i c a t i o n i n t e l l i g e n c e ) 系统获得了广泛的重视和长足的 发展。实际上,整个c 3 i 系统就是一个互联、互通、互操作、资源共享的网络体系结构上 的软硬件总和。其重要地位要求高可靠性和高可用性,而恶劣的战场环境又增加了系统失 效和被损毁的概率。这个矛盾使得军事领域的容错软件系统开发更加复杂和困难,对用于 军事领域的容错中间件提出了更高的要求。 第2 页 国防科学技术大学研究生院。学位论文 图1 2 军事上的分布式容错麻州 由于分布式容错计算有着广泛的应用需求,所以从政府、军队,到企业、研究单位等 都不同程度的在分布式容错计算研究上投入了大量的人力物力,大量研究人员在不同的专 业领域、对不同侧重点进行着非常活跃的研究。而且随着中间件技术的不断成熟,在中间 件层提供一个分布式容错应用支撑平台已经有了非常好的技术基础。不少研究组织已经开 发了自己的原型系统,取得了不少的研究成果。 1 1 3 研究现状 在容错中间件的研究领域,已经推出了许多重要的系统。例如基于s u n 的j a v ar m i 模型的a r j u n a “”系统,f r i e n d s ”系统,以及f i l t e r f r e s h ”系统等:基于微软的d c o m 模型的c o m e r a 。”系统等;基于o m g 的c o r b a 模型的e t e r n a l 。“1 系统等。其中以c o r b a 模型 上的容错中间件研究最为活跃和多样化。 c o r b a 是一种开放标准,广泛应用于企业和军事领域,在面向对象中间件模型中极具 代表意义,加之曾有在c o r b a 标准上研究中间件的技术积累,我们的研究和实现选择了 c o r b a 模型为基础,所以下面将着重于探讨基于c o r b a 的容错中间件的研究现状。 下面对c o r b a 作简要的介绍:c o r b a 是基于面向对象的客户n 务器计算模型。应用程 序员采用o m g 的接口定义语言i d l ( i n t e r f a c ed e f i n i t i 0 1 ql a n g u a g e ,独立于特定程序语 言的一种接口描述语言) 为每个服务对象定义接口。对象请求代理o r b ( o b j e c tr e q u e s t b r o k e r ) 代表客户程序定位服务对象,并将客户请求和服务应答都被打包成统一格式的消 息( c o r b a 的标准协议是6 i o p “,映射到t c p i p 上成为i l o p 协议“”) 。c o r b a 体系结构的 核心是对象请求代理o r b ( o b j e c tr e q u e s tb r o k e r ) ,它如同是对象总线,一个对象可以 通过o r b 与本地或者异地的其它对象透明地交互。 第3 页 :里鳖些垒尘垡型些兰些型丝查一 图l3o r 8 的结构示意幽 当前基于c o r b a 模型的容错研究工作主要是扩展c o r b ao r b 和增加容错处理必需的对 象服务,支持把原来的单个服务对象复制成多个同时运行的副本,并对其提供相应的管理 来实现容错。大致上可以归结为三类方法”“:集成方法( i n t e g r a t i o n ) 、服务方法 ( s e r v i c e ) 、截取方法( i n t e r c e p t i o n ) 。 1 1 3 1 集成方法 集成方法主要是修改o r b 以提供必要的容错支持,把容错所需的功能集成到o r b 内部。 通常o r b 只能为一个请求定位到单个服务对象,而修改后的o r b 可以为一个请求定位到若 干个服务对象并只给用户返回一个应答。这些修改都处于o r b 内部,可能导致o r b 与存在 的c o r b a 标准不相容。并且修改o r b 的程度依赖于所增加的功能的多少。例如,可以集成 一个可靠的全序组播通信机制到o r b 内部来传输c o r b a 请求。如图1 4 所示,一个修改了 的o r b 可以链接到组播机制,用来将o r b 请求转换成底层的组播消息。其中,a d a p t o ro b j e c t 提供将o r b 请求转换为组播消息的映射。 图1 4 集成方法 e 1 e c t r a ”。”系统是使用这种策略的典型系统。 e l e c t r a 由苏黎世大学开发,是一个完整的用c 十+ 语言编写的c o r b a 规范的实现,它 加入了对多对象副本、失效检测、可靠通信以及虚拟同步的支持。它通过在o r b 内核中增 加o r b 到组通信工具i s i s 2 i 1 和h o r u s ”之间的接1 :3 ,将o r b 与i s i s 和h o r u s 进行集成, 使o r b 支持组通信:通过对o a ( 即o b j e c ta d a p t e r ,在c o r b a2 x 之前是b a s i co b j e c t a d a p e r ,简称为b o a :之后被p o r t a b l eo b j e c ta d a p t e r 替代,简称为p o a ) 进行扩展, 在o a 中增加c r e a t e g r o u p 0 、d e s t r o y g r o u p 0 、j o i n 0 以及l e a v e 0 等接口来对复制的 对象进行管理,将组成员关系变化通知及状态转换加入到服务对象的i d ls k e l e t o n 中; 第4 页 国防科学技术人学研究生院学何论文 通过从i d l 映射产生两种不同类型接口的方法支持客户对容错服务端的透明和非透明访 问。对一个客户来说,在透明方式中的容错服务端就如同是单个的服务对象;在非透明访 问中,允许客户访问各个服务对象的运行副本。 集成方法的优点之一是效率高,其原因是将组通信作为o r b 内核的组成部分;优点之 二是透明性好,客户端可以将容错服务端当作一个普通的服务对象来看待,而无需知晓容 错服务端有多少运行副本等细节,客户应用也不必作任何修改。 集成方法的主要缺点是丧失了c o r b a 原有的重要特性,即可移植性、互操作性。这是 因为e 1 e c t r a 等系统都是建立在自己的o r b 上,并将支持组通信的代码集成到了o r b 内核 中,因此不能移植到其它的c o r b a 产品上。并且e l e c t r a 使用了非标准的i d l 语言构成成 分( c o n s t r u c t s ) ,从而导致应用代码也不可移植。另外,e l e c t r a 利用了其集成的组通信 工具如i s i s 和h o r u s 中专有的组通信协议来进行管理和通信,这些专有的协议不能与 c o r b a 规范中的g i o p 协议相容,造成与其它o r b 产品上的c o r b a 对象无法进行互操作。集 成方法还有个缺点是直接修改0 a 来实现容错管理功能,为普通c o r b a 对象的管理带来 了不必要的复杂性。 1 1 3 2 服务方法 服务方法主要是定义一组对象服务接口,作为c o r b a 服务为应用对象的容错提供策略 和机制支持。力图使容错能够作为c o r b a 标准服务”的一部分来提供,而无需修改c o r b a o r b 。图1 5 阐述了这种策略,多个对象副本作为一个整体注册到容错服务 ( f a u l t t o l e r a n c es e r v i e e ) 中,客户应用通过访问容错服务获得统一的访问标识,然 后通过此标识请求调用已注册的服务对象方法。容错服务负责管理注册副本及其状态。 图1 5 服务方法 d o o r s ”“”。“是使用这种策略的典型系统。 d o o r s 是朗讯实验室研制的容错对象中间件,作为通用对象服务提供。d o o r s 对主机 崩溃,对象崩溃,以及对象挂起等失效具有容错能力。d o o r s 主要由两部分组成: r e p l i c a m a n a g e r 接口和w a t c h d o g 接口。r e p l i c a m a n a g e r 提供配置和复制服务,w a t c h d o g 提供失效检测和恢复服务,允许应用开发者根据应用选择失效检测方法,恢复策略,复制 模式以及复制程度。d o o r s 没有修改o r b 和i d l 语言映射,而且不依赖于可靠的组通信机 制,仍然支持i l o p 。但是,目前d o o r s 的r e l e a s e 版只提供检查点工具来实现冷备或温备 副本的一致性,并不提供如虚拟同步或事务机制保证热备复制对象的一致性。此外,它的 r e p l i c a m a n a g e r 是集中式的,在整个分布式系统中只有一个拷贝,容易成为性能瓶颈以及 失效单点。 服务方法由服务对象为容错应用提供失效检测、副本管理、恢复处理,以及对象状态 第5 页 作系统接口,无需修改o r b 就可以将服务对象添) j r j 至r j - 个存在的o r b 上,这样既不损害互 操作性,又有良好的可移植性,保证了与c o r b a 标准的完全相容:优点之二在于服务方法 提供灵活的配置功能,用户可以根据需要选择复制策略。 服务方法缺点之一是容错服务对象容易成为性能瓶颈及失效单点;缺点之二是容错应 用对客户不透明,任意应用对象必须实现特定的回调操作以接收关于容错管理的通告及处 理状态传输请求;并且,这种策略因为没有解决成员关系管理和状态传输问题,所以不能 满足主动复制模式的需要,但是对于不要求完全虚拟同步的系统来说非常有用。 1 1 3 3 截取方法 截取方法的核心思想是采用一个截取器截获客户对象发往底层通信系统( 如t c p i p ) 的系统调用,并将这些系统调用映射到一个可靠的组播子系统,如图1 6 所示,i n t e r c e p t o r 能够修改客户的请求参数来改变应用的行为,或者为应用增加新的功能。修改后的应用请 求被映射到一个可靠的组通信系统。 图i 6 截取方法 e t e r n a l 系统”“。”是使用这种策略的典型系统。 e t e r n a l 系统是美国j j m + i 大学开发的在c o r b ao r b 和操作系统之间运作的中阳j 件。它 为容错和动态升级提供了对多个对象副本的支持,并使用一个可靠的全序组播协议维护对 象副本的一致性。对象的部署、复制、一致性管理,以及失效检测和恢复都对应用程序员 透明。e t e r n a l 在t c p 层截获i i o p 调用,并将它们重定向到组播协议”。它使用标准的 u n i x p r o c 机制,无需修改应用、c o r b ao r b 以及操作系统。支持主动和被动复制。 e t e r n a l 由四个部分组成:i n t e r c e p t o r ,r e p li c a t i o nm a n a g e r ,r e s o u r c em a n a g e r , 以及e v o l u t i o nm a n a g e r 。i n t e r c e p t o r 派生于操作系统提供的用来扩展进程行为的 “h o o k ”,它监控对象请求建立i i o p 链接而使用的系统调用,在i i o p 消息抵达t c p i p 之 前将其截获,转发给r e p l i e a t i o nm a n a g e r ,r e p l i c a t i o nm a n a g e r 将消息传递到t o t e m 组通信系统o ”1 ,由t o t e m 将消息组播到对象服务的所有副本。 r e p l i c a t i o nm a n a g e r 提供失效检测和恢复,并利用t o t e m 的可靠全序消息传递机制 维护对象副本状态的一致性。此外,它还检测重复调用和重复应答,在副本之间传输状态, 调度并发操作的一致性,以及在网络分区和重合后提供完全恢复到一个一致状态的操作。 r e s o u r c em a n a g e r 使用接口池中的i d l 对象定义确定要创建的对象副本的数目,并将它们 恰当的部署到各个主机上。r e s o u r c em a n a g e r 监控系统中资源的使用,并度量任务行为。 e v o l u t i o nm a n a g e r 使用接口池的i d l 定义,在系统运行时完成对象的自动升级和演化。 使用截取方法,提供组通信的所有机制都对o r b 透明。这种方法的优点之一在于用 第6 页 国防科学技术大学研究生院学位论文 种透明的方式为应用对象提供复制支持,这样允许遗留应用可以从容错支持中得益;优点 之二在于保证了互操作性,因为采纳这种方法的系统可以选择只截获那些发往需要容错的 服务对象的请求,o r b 仍然处理到普通对象的请求:优点之三是其性能较服务方法要好。 截取方法的缺点是可移植性差,很难移植到不同的操作系统上。此外,它高度依赖组 通信机制,功能和具体实现受特定组通信机制实现的制约。 1 2 本文的工作介绍 本课题致力于研究容错应用支撑平台的关键技术,目标是设计和实现一个基于c o r b a 的容错应用支撑平台f t b u s 。本文着重研究和解决f t b u s 中的复制管理和失效管理存在的 问题:设计并实现容错应用支撑平台中的复制管理子系统和失效管理子系统:并通过对容 错应用支撑平台f t b u s 系统的测试和评估,验证f t b u s 的有效性。 本课题受8 6 3 重点课题“网络环境的新一代中间件核心技术及运行平台”( 编号 2 0 0 1 a a l l 3 0 2 0 ) ,自然科学基金“新一代网络中间件的体系结构、协议及实现机制”( 编号 9 0 1 0 4 0 2 0 ) 和国家重点基础研究发展规划项目( 9 7 3 项目) “海量信息系统的基础软件结构 与实现机制的研究”( 编号6 1 9 9 9 0 3 2 7 0 3 ) 资助。 本文的具体工作如下: 第一,作为f t b u s 工作小组的主要参与者,协作完成容错应用支撑平台f t b u s 的总体 设计。f t b u s 以符合c o r b a 规范2 3 版本的s t a r b u s 3 0 为基础,遵循容错c o r b a 规范1 0 。 但此容错规范只为实现一个容错c o r b a 支撑平台定义了统一的应用可见接口,并没有提供 完整的解决方案。我们在设计时吸收了现存系统的优点,综合考虑了性能、可扩展性和透 明性等因素,努力使f t b u s 成为有效的、完整的和易用的容错应用支撑平台。 第二,设计和实现f t b u s 中的复制管理子系统,使复制管理不依赖于具体通信协议, 支持多种复制模式,如主动复制、被动复制等等。提供与具体应用特性无关的对象工厂, 使容错应用开发者更容易使用,并且可以动态链接c o r b a 对象实现和动态升级。 第三,设计和实现f t b u s 中的失效管理子系统,使用失效通告模型为失效检测和失效 处理建立一种松耦合的关系。让不同类型的失效检测机制和失效处理机制都可以无缝的集 成到失效管理子系统中:采用层次化的树形失效检测结构来提高失效检测机制的可扩展 性;设计一个分布式异步系统的失效检测算法来保证在满足实际系统运行时要求的远程检 测的概率正确性。 第四,完成f t b u s 系统的功能和性能测试,并对测试结果进行评估。 1 。3 论文的结构 本文共分为六章。 第一章为绪论,主要介绍课题的立题背景、研究现状、本课题的研究目标、研究内容 及论文的组织情况。 第二章介绍容错基本概念和面向对象的容错应用支撑平台需要解决的关键技术问题, 从总体结构的角度阐述容错应用支撑平台f t b u s 的设计。 第三章阐述了容错应用支撑平台中复制管理所需要解决的关键问题,并提出了有效的 第7 页 国防科学技术人学研究生院学位论文 解决方案,以此为基础设计和实现f t b u s 的复制管理子系统。 第四章重点分析了失效管理模型,主要内容包括引入通告模型实现了失效事件的有效 传播,采用层次化的树形失效检测器结构增强了失效监控的可伸缩性,并提出个环形检 测算法以解决主机失效检测器的单点失效问题。 第五章对f t b u s 系统进行了功能和性能测试,对测试结果进行了分析和评估。 最后,第六章总结了全文并指出下一步工作的方向。 8第 页 国防科学技术大学研究生院学位论文 第二章基于c o r b a 的容错应用支撑平台f t b u s 开发分布对象容错应用是一项复杂而繁重的工作,并且因为不同领域的容错系统有着 不同的容错需求,从而产生了互不相容的各种解决方案。本文设计的基于c o r b a 的容错应 用支撑平台f t b u s 旨在为基于c o r b a 开发的各种类型的容错系统提供一个统一的支撑框 架,辅助用户开发、运行和管理容错系统。 本章结构组织如下:第一节介绍了有关容错研究的相关概念;第二节简要介绍了 f t b u s :第三节分析了f t b u s 必须解决的容错关键技术问题:第四节描述了f t b u s 的总体 结构,并对其优点进行了分析。第五节对整章的工作作了总结。 2 1 容错基本概念 为了更明确和方便的描述容错应用支撑平台f t b u s 需要解决的技术问题,首先对容错 领域的基本概念加以简要介绍。 容错系统是一个在有硬件和或软件失效发生时能够继续正确执行其指定任务的系统 。容错是使系统能够实现容错操作的属性。容错计算用以描述系统按照一种容错方式 执行计算的处理过程。容错的目的是满足应用关于可靠性、可用性等系统性能的要求: 可靠性“1 ,是指系统在一个完整的时间间隔之内f 确操作的概率。可以描述为一个时 间函数,r ( t ) ,被定义为系统在某个时间段,t ,f 确执行的条件概率( 假设系统在 t 。时刻正确执行) 。系统无失效时间越长,可靠性越高。典型实例包括宇航飞行控制系统, 军事系统,以及某些工业控制器等。 可用性“,可以描述为一个时间函数,a ( t ) ,被定义为系统在时刻t 正确操作并且可 以执行其功能的概率。可用性主要依赖于系统快速修复的能力。典型实例包括银行等时f 刚 共享系统和某些事务应用,例如飞机订票系统。 冗余,是指超过正常系统操作所需要的信息、资源或时间的简单迭加“1 ,主要有四种 类型的冗余: 硬件冗余,例如额外的处理器。 软件冗余,例如软件模块的额外版本。 信息冗余,例如使用了额外位数的错误检测代码。 时间冗余,执行一个操作,如果需要就再次执行。例如事务的重做。 2 2f t b u s 概述 容错应用支撑平台f t b u s 为容错应用的开发者在中间件层提供容错支持,目的是分离 容错应用的容错逻辑和业务逻辑,使f t b u s 成为在中间件层实现容错逻辑的一个完整的解 决方案。 f t b u s 抽取容错应用的共性,力图为各种不同类型的容错应用提供统一的支撑框架。 在统一的框架基础上,允许开发者通过配置定制f t b u s 的工作方式。由于f t b u s 具有开放 第9 页 国防科学技术人学研究生院学位论文 式的结构,开发者还可以对f t b u s 进行扩展,使其具有新的功能和特性。f t b u s 提供组 容错服务对象和其它底层容错机制,为解决冗余、失效检测和恢复等容错的关键技术问题 形成了一套较完整的解决方案,尽可能的为容错应用开发者屏蔽容错逻辑,在下一节将对 这些关键技术作详细阐述。 在f t b u s 基础上开发的容错应用并不要求容错应用的客户感知容错逻辑,客户端应用 没有增加任何负担,它无需知晓它所访问的服务对象是否运行在f t b u s 的支撑平台上。 f t b u s 遵循o m g 的容错c o r b a 规范1 0 ,此规范规定了应用可见的接口和互操作的方 式,但是设计和实现f t b u s 的任务完全交给了容错应用支撑平台的开发者。在f t b u s 的总 体设计和各部分具体实现的过程中,存在许多问题需要探索和研究。 2 3f t b u s 必须解决的容错关键技术问题 分布对象计算环境由分布在网络环境中的系列分布式对象组成。分稚式对象之间采 用客户机服务器模式进行通信。系统中的主要实体是分布对象,系统的应用逻辑具体体 现为它所包含的对象实体的行为和对象之间的相互作用。具体到容错c o r b a 系统,分布对 象就是指运行在c o r b ao r b 上的c o r b a 对象。f t b u s 为了能为应用的c o r b a 服务对象提供 统一的容错的支持,必须为用户解决对象冗余、失效检测和失效恢复等容错关键技术问题: 2 3 1 对象冗余 分布对象系统主要采用对象冗余( 属于软件冗余范畴) 方法来实现容错,也即通常说 的对象复制。互为冗余的对象互称副本( r e p l i c a ) 。一个对象的不同副本分布在网络中不 同的主机上,当系统发生失效时,失效对象的其它冗余对象可以继续工作,保证系统能够 持续正确执行其任务。冗余对象配置的模式主要有两种: ( 1 ) 主动复制( a c t i v er e p l i c a t i o n ) ”1 ,两个或多个冗余对象同时运行,每个副本 都会接收客户请求,执行操作,修改状态,并发送应答。当有副本失效时,其余副本在失 效副本缺席的情况下继续正常工作。从客户角度来看,每个正确的副本都应该拥有相同的 状态,为了实现状态同步,一般采用全序组播原语”“或称原子组播保证所有f 确副本按照相同的顺序处理所有操作,从而抵达相同的状态。因此要求消息按照一致的 顺序抵达每个对象。如图2 1 所示,c l i e n t 向三个互为冗余的对象r e p l i c aa l ,r e p l i c a a 2 ,r e p l i c aa 3 同时发出请求r e q ,它们执行请求,同步状念,然后向c 1 i e h t 返回应答 图2 1 主动复制 ( 2 ) 被动复制( p a s s i v er e p li c a t i o n ) 州”,又称主从复制( p r i m a r y b a c k u p ) , 包括两个或多个冗余对象,其中一个对象称为p r i m a r y 对象( 或主对象) ,只有它执行服 务请求并做出应答。其它所有对象作为b a c k u p 对象( 即备份对象) 存在,在p r i m a r y 可 第1 0 页 n n三= 国防科学技术大学研究生院学位论文 用时不会执行客户请求。客户只与p r i m a r y 通信,由p r i m a r y 修改b a c k u p 的内部状态( 通 过独立的通信路径或者共享的检查点文件) 。当p r m a r y 失效时,服务会被切换到一个 b a c k u p 上。如图2 2 所示是一种被动复制模式,c 1i e n t 向p r i m a r ya l 发出请求r e q ,a l 执行请求,修改状态,然后将状态修改信息s t a t e u p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论