(计算机科学与技术专业论文)面向对象的容错中间件的研究与实现.pdf_第1页
(计算机科学与技术专业论文)面向对象的容错中间件的研究与实现.pdf_第2页
(计算机科学与技术专业论文)面向对象的容错中间件的研究与实现.pdf_第3页
(计算机科学与技术专业论文)面向对象的容错中间件的研究与实现.pdf_第4页
(计算机科学与技术专业论文)面向对象的容错中间件的研究与实现.pdf_第5页
已阅读5页,还剩138页未读 继续免费阅读

下载本文档

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

文档简介

国防科学技术大学研究生院学位沦文 机制增强了失效监控的可伸缩性;并提出一个环形检测算法以解决单点失效问 题。 ( 3 1 综合采用截取方法和服务方法设计了日志和恢复机制,能有效地实现不 同复制模式下的对象组状态存储和恢复处理,并保证副本问一致的状态传输。 4 、基于遵循c o r b a 标准的s t a r b u s 分布对象计算平台,设计和实现了容错 应用支撑平台f t b u s ,并进行了功能和性能的测试与评估,验证了上述研究成果的 正确性。测试结果表明,f t b “s 是开发分布对象容错系统的一个有效的支撑平台, 并且性能相对良好。目前,f t b u s 已经在中创软件的企业应用集成平台中得以应用。 关键宇:容错中间件,分布对象,对象复制,失效检测和通告,日志和恢复 c o r b a 第1 i 页 国防科学技术人学研究生院学何沦文 a b s t r a c t w i t ht h ee v e ri n c r e a s i n ga m o u n to fd i s t r i b u t e dc o m p u t i n gs y s t e m sa p p l i e di n w i d er a n g eo fc r i t i c a ld 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 ha v a i l a b i l i t y o 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 b e c a u s e f a u l t - t o l e r a n tt e c h n o l o g yi sa ne f f e c t i v em e a n st oi m p r o v et h e r e l i a b i l i t ya n d a v a i l a b i l i t y ,c o n s e q u e n t l y ,h o wt oe n h a n c et h ef a u l t t o l e r a n ta b i l i t yo fd i s t r i b u t e d s y s t e m sc o m e st o b et h ef o c u so fr e s e a r c h 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 t a 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 th 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 cb 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 el o g i c t h el a t t e ro n e i s o f t e nt e d i o u sa n de r r o r p r o n e t h e r e f o r e ,p e o p l ec o n c e mm o r ea n dm o r eo nh o wt o f 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 ed e v e l o p m e n to fd i s t r i b u t e df a u l t t o l e r a n t a p p l i c a t i o n s a sw ea l lk n o w ,t h ed e v e l o p m e n to fd i s t r i b u t e da p p l i c a t i o n sg r e a t l yb e n e f i tf r o m t h e o b j e c t - o r i e n t e d d i s t r i b u t e dm i d d l e w a r e f o r i t sc o n v e n i e n t d e v e l o p m e n t e n v i r o n m e n ta n dt r a n s p a r e n tc o m m u n i c a t i o nm e c h a n i s m s s ot h ef a u l tt o l e r a n c e s u p p o r t i n gp l a t f o r mb a s e do nt h em i d d l e w a r ew i l lg r e a t l ys i m p l i f yt h ed e v e l o p m e n to f t h e p l a t f o r m i t s e l fa n dm o r e o v e rd o g r e a th e l p t ot h e d e v e l o p m e n t r u n a n d m a i n t e n a n c eo ft h ec o m p l e xf a u l t - t o l e r a n td i s t r i b u t e da p p l i c a t i o n s t h ef a u l tt o l e r a n c e s u p p o r t i n gp l a t f o r m b a s e do nt h em i d d l e w a r ei ss o - c a l l e dt h ef a u l tt o l e r a n t m i d d l e w a r e t h i st h e s i sa i m sa tm a k i n gf 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 et h e s i sa n a l y s e st h er e s e a r c he f f o r t sr e c e n t l yd e v o t e dt ob u i l du pa f a u l t t o l e r a n tc o r b as y s t e m ,w h i c hc a l lb e c a t e g o r i z e di n t o t h i n e a p p r o a c h e s : i n t e g r a t i o na p p r o a c h ,s e r v i c ea p p r o a c ha n di n t e r c e p t i o na p p r o a c h t oa d d r e s st h ef l a w o ft h e s ea p p r o a c h e s ,an o v e lc o m p u t i n gm o d e lo ft h ef a u l tt o l e r a n c ec o r b aa n di t s m a n a g e m e n tf r a m e w o r ka r ep r o p o s e d ,w i t ht h en a m ef t o u ma n du m r os e p a r a t e l y b yc o m b i n i n gs e r v i c ea n di n t e r c e p t i o na p p r o a c h ,t h en e wm o d e lw i l li m p l e m e n tt h e f a u l tt o l e r a n c em 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 dw e l l t 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 ,b a s e do nt h ef t o u mc o m p u t i n gm o d e l ,t h et h e s i sp r e s e n t san e w f a u l t t o l e r a n c ea l g o r i t h m ,o r a m l ,u s i n gb o t hc h e c k p o i n t i n ga n dm o d u l er e p l i c a t i o n ,w h i c h e m p l o y sf l e x i b l ec o n f i g u r a t i o nm a n a g e m e n tm e c h a n i s m s t o i m p l e m e n td y n a m i c r e p l i c a t i o n ,i m p o r t st h ef a u l tt o l e r a n c ep o l i c i e so nt h ec l i e n ts i d et om a k et h ec l i e n t s t a k ep a r ti nt h ef a u l tt o l e r a n c ep r o c e s sa c t i v e l y ,a n de n a b l e st h ef a u l tt o l e r a n c ep r o c e s s t r a n s p a r e n tt ot h ec l i e n t sc o m p l e t e l yw h i l es e p a r a t i n gt h er e p l i c a t i o np r o t o c o lf r o mt h e c o m m u n i c a t i o np r o t o c 0 1 t h i r d l y ,t h et h e s i sf o c u s e so bt h r e ei s s u e so ft h ef a u l tt o l e r a n c em a n a g e m e n t 国防科学技术人学研究生院学何论文 w h i c hm u s tb ea d d r e s s e db yt h ef a u l tt o l e r a n tm i d d l e w a r e :o b j e c tr e p l i c a t i o n f a u l t d e t e c t i o na n dn o t i f i c a t i o n ,s t a t el o g g i n ga n dr e c o v e r y a c c o r d i n g l y ,t h r e em e c h a n i s m s o fr e p l i c a t i o nm a n a g e m e n t ,f a u l tm a n a g e m e n t ,l o g g i n ga n dr e c o v e r ym a n a g e m e n ta r e p r o p o s e d t or e s o l v et h ei s s u e so fo b j e c tg r o u p sl i f e c y c l em a n a g e m e n ta n df a u l t t o l e r a n c ep r o p e r t i e sm a n a g e m e n t ,a no b j e c tf a c t o r ym o d e li s d e s i g n e dt ol o a dt h e o b j e c t sd y n a m i c a l l y ,t w ok i n d so fm e m b e rc r e a t i o np a t t e r n sa r ei n t r o d u c e d ,as e to f f 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 rah i e r a r c h ym o d e li s p r o p o s e dt oe n a b l et h e d y n a m i ca n df l e x i b l ec o n f i g u r a t i o n n l ek e yp r o b l e m so ff a u l tm a n a g e m e n ta r ef a u l td e t e c t i o na n dn o t i f i c a t i o n t h en o t i f i c a t i o nm o d e li si m p o n e dt od e l i v e rt h ef a u l te v e n t se 踊c i e n t l y f a c i n gt h e e n t i t i e so nd 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 dm a i n f r a m e ,af a u l td e t e c t i o nm o d e l o ft r e es t r u c t u r ei s a d o p t e dt o e n h a n c et h e s c a l a b i l i t y a n df i n a l l y ar i n g c h e c k a l g o r i t h mi sp r o p o s e dt or 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 r o u g hc o m b i n i n gs e r v i c ea n di n t e r c e p t i o na p p r o a c h t h et h e s i sp r e s e n t st h e l o g g i n ga n dr e c o v e r ym e c h a n i s m sf o ro b j e c ts t a t er e c o v e r y i tc a ne f f e c t i v e l y i m p l e m e n tt h el o g g i n ga n dr e c o v e r yf o rd i f f e r e n tr e p l i c a t i o ns t y l e s ,a n dg u a r a n t e et h e c o n s i s t e n c yo fs t a t et r a n s f e rb e t w e e nr e p l i c a s 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 sa ni m p l e m e n t a t i o no ft h ef a u l tt o l e r a n c e m i d d l e w a r ea sd e s c r i b e d ,f t b u s ,b a s e do ns t a r b u sw h i c hc o n f o r m s c o m p l e t e l yt o c o r b as p e c i f i c a t i o n t h ee x p e r i m e n t so nt h ef u n c t i o n a b i l i t ya n dt h ep e r f o r m a n c e h a v ea l s ob e e nc a r r i e do u tt os e r v eap r o o fo ft h er e s e a r c ha n dt od e m o n s t r a t et h e e f f i c i e n c yo ft h e f t b u s n o w ,t h ec 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 d f t b u st o i t se n t e r p r i s ea p p l i c a t i o ni n t e g r a t e dp l a t f o r m k e y w o r d s :f a u l t - t o l e r a n tm i d d l e w a r e ,d i s t r i b u t e do b j e c t ,o b j e c tr e p l i c a t i o n , f a u l td e t e c t i o na n dn o t i f i c a t i o n ,l o g g i n ga n dr e c o v e r y ,c o r b a 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:】鱼白整筮立王星! 垫生! 叠生! 皇叠窒查璧璺垒 学位论文作者签名i 虱煎璺 u 日期:a 立年 o 月1 日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的金部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目两向妨教站,竞铭译i 訇半暗,褫喻s 京 勉 日期:& 伊0 年f 。月l - j 日 日期:文竹支年i 。月1 7 日 国防科学技术大学研究生院学能论文 = = = 拳拦= = 皇:搿:2 = = := = = 颦= = := = 黜篁= 端= 黜= = 拦嚣裂= = 兰= 拦= = = 拳= = = = 瑞瑞= = ;= 鬻= 。 。 应蠲露求 第一章绪论 1 t 趣题懿提毒 随着网络邋信技术的蓬勃发展,基= j = 对象靛客户穗势嚣诗麟摸型硪为新一代 酶主流分布诗箨藕墅i 。势布对象诗葬技术戳迅猛髓势头渗透副社会生活煞各个 镄域,其中许多关键计箕斑嗣,涉及宇靛、军礴、电偿、金融等领域,对可爨性 积可嚣性番穰强鼹要求。在这些领壤中,辩象麓溃,节意失簸,麓终分运,以及 不可预测的网络延迟笛,部可能导致灾难性后果。因此,为这些应用提供高可靠 稠离可用支持已成为实现分布计算的关德。 例如,i n t e r n e t 上的企业关键应用凄求能够每天2 4 小时,每扁7 天持续运转。 微小的宕梳时间都可能导数企照基大盼经济损失、信澄翁降低,良及丈量客户群 静流失。表t 1 所示给惠了不同类鬃静企监嚣为宕瓿丽带来魏商监矮失酾浮售 寒 叁荚毽商l 报告心) 。髓着对2 4 x 7 撮作懿不断增长的鬻戡,以及密孛且肘阅历带浆 熬不可袋受静鼯贵鼗纷,垒韭的美键数务盛鬈矮霄高可靠性、葛霹蠲矬考鼗够在 今天的市场中生存。 表1 宕枧嚣寸阉对予建韭勰摄失 企业部门业务攘作 企业损失7 ,p 均攒失, 每,j 、时臀桃对箭簿夺肆宕橇辩趣f 垒疆翌济鼗撩尊$ 5 , 6 ) 9 , 0 0 0 - $ 7 , 3 0 0 , 0 t , 0$ 6 、5 0 0 , 0 0 0 i 金融信用卡癌售认诚 s 2 ,2 0 0 ,0 0 0 s 3 ,1 0 00 0 0$ 2 6 0 0 ,0 0 0 媒体视频点播 铀7 0 0 0 l $ 2 3 3 0 0 0s 5 0 0 0 0 零售电视购街$ 8 7 。瓢s 1 4 0 0 0 0s 11 3 0 0 0 零售寡藏馨录辚氆弱0 , 0 0 0 4 1 2 0 , 0 0 0 $ 9 0 ,0 0 0 运辕航簿硬定 $ 6 7 。0 0 0 w $ h 2 0 0 0 鹞0 , 0 0 9 媒体远程订票 $ 5 6 0 0 0 “$ 8 2 0 0 0 $ 6 9 , 0 0 0 运输戗裹迸输 $ 2 4 c 0 0 0 + $ 3 2 0 0 0 $ 2 8 , 0 0 0 金融a t m 费蘑 s 乏c ;0 0 - $ ! t 0 0 0 s 1 5 0 0 0 又铡如零攀领域中的挽毁慰用:焱魏我战擎中,臻息战成为了一耪重要敬甚 至是决定性的作战形式。在瞬息万变的战场,情报的获取对敌我双方胜负攸关。 为了能够纵观全局,掇据敬愤逐遮作出反应,缎予藏蕊漪潘静指挥所掰阻实时游 战斗懿执行清况发送缭位于后方的总撵薄帮,憨话捧部对所有情报进行整理分橱 弗作融梧应静战貉决麓。但是茬l 予战争的残酪性,存然有重要军事信息以及避行 美键狭策戆墓籀簿都邋常是敌方攻击辣主要器鞴。军攀抗羧斑愆应运蕊生,它簧 籀i 页 国防科学技术大学研究生院学能论文 = = = 拳拦= = 皇:搿:2 = = := = = 颦= = := = 黜篁= 端= 黜= = 拦嚣裂= = 兰= 拦= = = 拳= = = = 瑞瑞= = ;= 鬻= 。 。 应蠲露求 第一章绪论 1 t 趣题懿提毒 随着网络邋信技术的蓬勃发展,基= j = 对象靛客户穗势嚣诗麟摸型硪为新一代 酶主流分布诗箨藕墅i 。势布对象诗葬技术戳迅猛髓势头渗透副社会生活煞各个 镄域,其中许多关键计箕斑嗣,涉及宇靛、军礴、电偿、金融等领域,对可爨性 积可嚣性番穰强鼹要求。在这些领壤中,辩象麓溃,节意失簸,麓终分运,以及 不可预测的网络延迟笛,部可能导致灾难性后果。因此,为这些应用提供高可靠 稠离可用支持已成为实现分布计算的关德。 例如,i n t e r n e t 上的企业关键应用凄求能够每天2 4 小时,每扁7 天持续运转。 微小的宕梳时间都可能导数企照基大盼经济损失、信澄翁降低,良及丈量客户群 静流失。表t 1 所示给惠了不同类鬃静企监嚣为宕瓿丽带来魏商监矮失酾浮售 寒 叁荚毽商l 报告心) 。髓着对2 4 x 7 撮作懿不断增长的鬻戡,以及密孛且肘阅历带浆 熬不可袋受静鼯贵鼗纷,垒韭的美键数务盛鬈矮霄高可靠性、葛霹蠲矬考鼗够在 今天的市场中生存。 表1 宕枧嚣寸阉对予建韭勰摄失 企业部门业务攘作 企业损失7 ,p 均攒失, 每,j 、时臀桃对箭簿夺肆宕橇辩趣f 垒疆翌济鼗撩尊$ 5 , 6 ) 9 , 0 0 0 - $ 7 , 3 0 0 , 0 t , 0$ 6 、5 0 0 , 0 0 0 i 金融信用卡癌售认诚 s 2 ,2 0 0 ,0 0 0 s 3 ,1 0 00 0 0$ 2 6 0 0 ,0 0 0 媒体视频点播 铀7 0 0 0 l $ 2 3 3 0 0 0s 5 0 0 0 0 零售电视购街$ 8 7 。瓢s 1 4 0 0 0 0s 11 3 0 0 0 零售寡藏馨录辚氆弱0 , 0 0 0 4 1 2 0 , 0 0 0 $ 9 0 ,0 0 0 运辕航簿硬定 $ 6 7 。0 0 0 w $ h 2 0 0 0 鹞0 , 0 0 9 媒体远程订票 $ 5 6 0 0 0 “$ 8 2 0 0 0 $ 6 9 , 0 0 0 运输戗裹迸输 $ 2 4 c 0 0 0 + $ 3 2 0 0 0 $ 2 8 , 0 0 0 金融a t m 费蘑 s 乏c ;0 0 - $ ! t 0 0 0 s 1 5 0 0 0 又铡如零攀领域中的挽毁慰用:焱魏我战擎中,臻息战成为了一耪重要敬甚 至是决定性的作战形式。在瞬息万变的战场,情报的获取对敌我双方胜负攸关。 为了能够纵观全局,掇据敬愤逐遮作出反应,缎予藏蕊漪潘静指挥所掰阻实时游 战斗懿执行清况发送缭位于后方的总撵薄帮,憨话捧部对所有情报进行整理分橱 弗作融梧应静战貉决麓。但是茬l 予战争的残酪性,存然有重要军事信息以及避行 美键狭策戆墓籀簿都邋常是敌方攻击辣主要器鞴。军攀抗羧斑愆应运蕊生,它簧 籀i 页 国防科学技术大学研究生院学位论文 求总指挥郏即使被致方摧毁,也不会影响军事情报的砸常传递和处理。这对军事 系统的可用性提出了非常高的要求。见图1 1 所示。 1 1 2 研究背荣 魈1 j 军事抗羧应孀 褰错是提供可靠憷和可用性的关键机制【3 】【4 】【5 j 【6 j ,使得系统在有失效发生时仍 然能够继续正确执行。任何一个关键计算领域的应用开发者都可能要面临容锚问 题。 为设计和汗笈一个容错应用,实现者不仅要最确实现复杂的应用逻辑,还必 须完成诸如冗余配置,失效检测,舀恚稻恢复等容错管瑗缩节,氯摇极为沉耄。 为了减轻箕受捏,许多耀究秘实现工作都致力于炎容锘应愿开发提供框架支撑, 为用户提供部署、开发和管理容镄应髑的机制,隧离业务逻辑和签锩逻辑,搜系 统工程师只需关泷业务逻辑,将其开发的应用程序纳入到容错管理框架中来即可 实现容错逻辑。 穰分布计算环境中,面向对象中间件介于系统软件和应用软件之间,一般采 焉基予对蒙的客户碾务器计算模鍪,为分布式应带屏蔽底层网络通信缅节,支持 异梅秘境下应雳鹃开发帮嚣操作,提供语富透明、位甏透稠戬及霹移植等特惶, 投大她簏化7 分鸯式痰震戆开发,毽越现在越来越多豹应熠系统基予审趣件技寒 开发,在中间件层为可靠应用提供客镄支撑成为一个缀自然的想法。 但是,现有的许多中间件模型和产品大多只关注网络通信和飘操作,缺乏对 容错应用的支撑,从而导致基于中间件开发容错应用面临困境。因为基于中间件 开发的分布式应用必须遵照中间彳牛开发横式来实现,如采中间件不键供容错支 替,鄹歼发者磬殒自己实魂容错逻辑,这样一方谣导致应稽遂辑和容锗遂辑混合 第2 页 国防料学技术大学研究生院号:位论文 在一起,增加了系统设计者和开发者静工作难度:另一方面,缀然有经典的容锩 模式和技术可以采用,但主要都是基于邀程级的研究,成用到面向对象的系统, 还存在缀大黎霞矮洼1 5 6 1 1 5 9 1 。 因此,尽管业界对构造中间件容错平台的需求迫切,但是其关键技术的研究 靼实现还嚣蟾罄诲多挑战。 下葫将从简介容错系统的基本概念开始,分析了开发个容错应用必须解决 的关键技术闯题,然后讨论了基于中间件构造察错应用支撑平台面临的主要挑 战。 1 1 。2 1 窭错系统 容错基本概念 容镄系统是个在蠢硬 牛积或软侈失效发生对藐够继续委潢执行其摸定经 务的系统f 孙。容错是使系统能够实现容锚操作的属性 3 1 。容错计算用以描述系统 按照一种容错方式执行计算的处理过程p l 。容错的县豹怒满足应用关于可靠性、 可瘸往等系统髋能的要求: 可靠性【j j ,系统在一个完整的时间间隔之内正确操作的概率。可以描述为 令对瓣嚣数,霆,被定义梵系绞在某个辩阕段,【t o ,t 】,i e 确魏行戆条传檄率( 霰 设系统税t o 时刻正确执行) 。系统无失效时间越长,可靠性越高。典型实例包括 字靛飞行控制系统,军事系统,以及某些工业控制器等。 可用性口j 。也可以描述为个时间函数,a 似,被定义为系统在时刻t 正 确操作并且可以执行其功能的概率。可用性主要依赖于系统快速修复的能力。典 整实饲毯括镶行等时瓣炙享系统稻菜些事务应瘸,铡如飞税订票系统。 一个部件被认为是必效的,旦它的行为与其规范不再一致【4 1 。 一敷她,容镶系统旋该毙够经受下述领域兹失效 4 j : 处理资源的损失,例如处理器失效,输入输出设备失效,或者操作系统 失效等: 逻辑或者物理通信路径的损失,铡如链撩失效。 分布式系统中的失效类型主婴分为 8 1 1 f a i l s t o p 失效:在f a i l - s t o p 失效禳墅孛,令送稔域者正确工雩筝,或者只 是简单地停止和崩溃,并不会执行不正确动作。此外,与失效进程交互的进程还 缝够采取芷确夔方式硷溅爨失效。文献f 9 】瓣我毒浮绥囊秀炎。铡魏主瓠囊滚,遂程 髯常中止等都属于该类失效。容错领域中大部分的研究工作都是针对该类失效。 b y z a n t i n e 失效i lu | :在b y z a n t i n e 失效模型中,进程失效聪行为不可确定。 b y z a n t i n e 失效覆盏了报多种不同的失效行为。柳如恶意的进程能够发送携带错误 数据的消息。因为这些类型的失效非常难以检测,所以失效进程的行为很难预测。 效秀对魏蓊究不楚缀多。存在菜黧系统,镝如r a m p a r t f “i ,重点磷究这类失效。 容错关键技术 为了在发生部分失效时继续正常工作,系统实现容错的手黢主要有冗余配 鬣,失效检测和恢复等。 纂3 页 国防科学技术大学研究生院学位论文 采用冗余手段屏蔽失效最早可以追溯到v o nn e m n a n n i l “,后来又有许多工作, 例如文献 1 3 1 、【1 4 】、【1 5 】,对此进行研究。冗余是指超过正常系统操作所需要的 信息、资源或时间的简单迭加 4 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 6 1 1 7 1 ,两个或多个冗余对象同时运行,每个 副本都会接收客户请求,执行操作,修改状态,并发送应答。当有副本失效时, 其余副本在失效副本缺席的情况下继续正常工作。对于客户,每个正确的副本都 应该拥有相同状态,为了实现状态同步,一般采用全序组播原语 1 8 1 1 9 l 一或称原 子组播保证所有正确副本按照相同的顺序处理所有操作,从而抵达相同的状 态【5 ”。因此要求消息按照一致的顺序抵达每个对象。如图1 2 所示,c l i e n t 向三个 互为冗余的对象r e p l i c aa l ,r e p l i c aa 2 ,r e p l i c aa 3 同时发出请求r e q ,它们执行请 求,同步状态,然后向c l i e n t 返回应答r e s 。 图1 2 主动夏制 ( 2 ) 被动复制( p a s s i v er e p l i c a t i o n ) 2 1 】【2 2 】【2 3 】【2 4 1 ,又称主从复制( 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 可用时不会执行客户请求。客户只与p r i m a r y 通信,由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 上。 图13 被动复制 图1 3 所示是一种被动复制模式,c l i e n t 向p r i m a r ya l 发出请求r e q ,a l 执行 请求,修改状态,然后将状态修改信息s t a t e u p d a t e 发送给b a c k u pa 2 和b a c k u pa 3 , 第4 页 国防科学技术大学研究生院学位论文 闻时等待状态修敬的确认a c k ,鬣后自c l i e n t 运网应答。 根据b a c k u p 的状态落后于p r i m a r y 的程度,被动复制分为冷备( c o l db a c k u p ) 秘湿冬( w a r mb 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 失效时b a c k u p 才会启动并恢复成为耨的p r i m a r y 。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 也在运行,筐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 失效,其中个b a c k u p 会快速接警p r i m a r y 豹责任,无露 初始化或重启。如果p r i m a r y 在每次方法执行结束都需要同步b a c k u p 的状态,如 同图1 3 所示,则称为热备( h o tb a c k u p ) 。 注意,很多文献区巅复制和冗余泌 :复制对象的接口和实现代码都避完全稠 同的;而冗余对象虽然能够向用户提供相同功能的服务,但是它们可以有不同的 实疆,嚣魏霹滚觚一定羧疫上避免软 牛罐误瑚。本文礤究主要针对上述意义蘸复 制对象,但在全文描述中不区分复制和冗余,将冗余对蒙等同于复制对臻 失效检测是搔试知失效发生鸵过程,要求在失效恢复过程实现之翦宠残【4 j 。 失效恢复是指即使在有失效发生时系统也能够通过重新配鬣维持可操作能 力1 4 】,例如在p r i m a r y 失效后让b a c k u p 接管其工作。 任f 霹容锗系统不井乎采雳冗余手段,在有失效对能窝税翎检灏到,并进行有 效的恢复,以达到容错的目的。邈些是开发一个容错应用系统所需解决的关键技 零窝题。 1 。12 2 窖错中间件 麓了淘基予中蠲件开发戆分裕式应用疆供容锚支撑,中闻捧必须解决容错应 用开发中的关键技术问题对魏冗余管理,失效管理,恢复管遐等。针对这些 超题,农中阙磐滋提供个套错支撵乎套,受责磁臻熬鸯错管理,为开发毒屡菠 容错部署、开发和管理细节,我们称之为容错中问件。 巾翅转器矮支持餐错 中间件技术能够提供良好的开发环境和透明的通信支持,因此在分布式应用 开发过程中被广泛采纳。 目前,存在许多较为成熟的分布对象中闻件标准和产箍。例如,对象管理缎 织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 n o b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 驻司粒7 f 2 羽,m i c r o s o f t 的分布式组件对象模登 d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ) 2 9 i 3 0 1 , 以及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 ) t 3 1 1 1 3 2 1 。这黧孛闽佟模型基本上都楚采惩代 理方式实现远程调用p j :远程对象在本地的代理对象是s t u b 程序,客户程序通过 访阉s t u b 程序实现对远穆对象的宠全透明的访阀;服务端使胄is k e l e t o n 程序接收 s t u b 程窿麴调用请求,并派发给真正的对象实现,执行幅应的方法。 第s 页 豳防科学技术大学研究生院学位论文 审游 串虽然极大邃增强了分耀式对象森鹚的屡藿稻可黧溺筏,侄是它稍对子 开发分布式可靠应用却缺惹足够的_ 支持。 孛耀传在灸分毒式应攘提供牙发繇境瓣围跨,也为它饲提供了一耪开发模 式,应用开发者必须以此模式为开发准则。但因为这种模式主要侧重于解决通信 问题,并不关注容错支持,所以已肖的基于中间件开发的窭错应用基本上郝是采 用弱有方式将应用逻辑和容错逻辑合并在起。这样对程序员的要求非常严格, 不仅难以开发( 开发后也容易出错) ,其联解、维护和扩展都相当阑难。这一方 瑟隧褥了基于孛阕传舞发靛关键瘦爝翡发袋癸橇( 镪摇开撬新静强域,获褥薪静 机杂,占领新的市场等) ,另一方筒也在一定程度上限制了中间件技术本身的深 入戏用和发展。 研究如何增强分布对象中间件对容错应用的支撑能力势在必行。 传统容错技术存在的不足 如果要增强容锚支撑能力,中间件需要针对容锚应用开发的关键技术问题一 一对象的冗余配置,失效检测,日惑和恢复等提供蠢效的解决方囊。 然而,蕴然容错技术研究历史悠久,馋主要是程集中式环境下麓于进稔研究 如何增强系统可靠憔和可用性,不能满足蕊向对象的分布式应用的察错需求。 分布式嚣凌下瓣痤露系统嚣箕分毒式特往其中豹失效稻错误魄集中式系统 更普遍而且熙复杂。这通常是因为通信基础设施比较脆弱的缘故,弗且错谡在分 布环境下会产生连锁反应蘑放大。一艘攮援下,应爆系统在嫩理上覆盖范围越广, 就越有可能发生通信失效。此外,开救的分布式系统的异构天性也是一个原因, 因为它无法保证系统申的所有部件酆具有同等质量。因此,分布式系统的容糖更 掘穗鞋达蓟。 并且,当对象技术成为种主流,传统的面向进程级的容错技术应用到分布 对象黟凌受存在一定静局限魏。嚣藩存在诲多蛩 究成粟霸王獒都露予增强疲羯避 程的可靠性和可恢复性【8 】f 3 4 】。例如,f i r s t w a t c h 3 们,w a t c h d 3 4 】,以及w o l f p a c k 3 7 j 都悬鼹来提藏应翅遴程豹容镶能力的工其。健是,这些技零般都楚采震冗余嚣 置进程的手段,只集中于解决基于进程的失效检测和恢复,应用到熬于对象的系 统还存在许多不足: 粒纛过糟。每个服务送程一般都会毹含许多对象,一个对象失效( 例如 因为非法中此) 并不会必然挣致其进程失效。因此,检测进程失效的机制可能因 巍载发添霆恶法捡溺翻怼象灸效。 不能恢复复杂的对象关系。分布对承之间通过对象引用进行通信。当一 个失效对象恢复对,它在失效翦所持有的其它本地或远程对象懿弓| 鼹也必须狻渡 复。其它持有失效对象的g f 用的对象也必须能获得新的对象日j 用。此外,对缘引 用还可以是持久的,也就是说,一个对象在失效前后被分配的是相同的对象引用。 进程楚无法穗有这壁特征静。因琵,恢复靖象 l 露关系是一个复杂静闻题,它只 存在于分布对象计算中间件成用领域,基于进程的恢复机制无法处理这些问题。 进程捡查熹秽嫉复鹃缀裁。分毒对象必矮经零维护浚态,彀藏是两期逑 设置检查点以实现失效恢复。为进程设置检查点可能会招致不必要开销,或者无 纂6 赁 国防科学技术大学研究生院学倪论文 法为所蠢对蒙傈存其获态。困戴,为了允许遴稷中静个体对象能够独立予彼此为 各自的状态设置检查点,需要引入对象粒度的检查点设鼹和恢复机制。 惑聪言之,对予分毒对象应媛来巍,遴程级攀锘技术存在不足静最缀本添霾 怒这两者冗余配鬣的粒度不同,前者的冗余配置主要是对象,后者是进程,从而 带来失效检测和恢复的手段也邋然不周。 既然基于进襁的可靠性和恢复技术不能满足罄于对象的容错需要,那么为了 增强分布式对象成用的可靠性和可用性,修改存在的容错机制或者开发新的容错 橇剿势奁必行。 此外,因为大多容错应用设计和开发都是面向特定的领域和环境,例如文件 系统豹容错,劳不追求褒平台或框架层次瀵是多秘容缮应雳魏管理霉裘,掰数对 予容错中间件来说,为掇供跨领域的系统设计级别上的容错支持,还必颁在已有 技术上进行拓展和创新。 豢错中间件面犒的闯题 容锚中间 牛携主基是纂予孛润 争提供个容镫支撑平台,将攀锾应用骢开发 与运行纳入到平台的管理框架中_ 来,为容错应用掇供实现冗余对象管理,失效管 理,日志和恢复管理等关键技术的机制,满足尽可能多的容错应用的容镄需求, 为应焉舜发者孱蔽容错逻辑。魏鬻1 4 繇示,攒述了容链中闻俘掰处的筏鬻,它 与中间件在同一个级别( 溅者在其之上) ,是对中间件和中间件公菇服务的扩展, 嚣镬应用遮露在霹镬中溺传提供筑套罐握黎之中。 图14 祷错中间件 但是,容错应用纷繁复杂,如 可提炼出它们的共有特性以提供有效的豢错管 瑗梳帝l ,建容错中闻件面临的主饕问题。 其次,因为面向对象分布式中间件的特有开发模式,已有的面向进程的容错 搜零不能满足需簧。强鹰锌霹不砖,蟊霹嚣求,撬供有效鹃解决方案,蓬容错中 间件需要解决的第= 个问题。 她外,骞镶孛耀终还必须解决与骧鸯瓣对象中瓣舞及蒸骚务

温馨提示

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

评论

0/150

提交评论