




已阅读5页,还剩95页未读, 继续免费阅读
(计算机软件与理论专业论文)复合服务自恢复关键技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 面向服务的体系架构s o a 为i n t e r n e t 环境下资源共享与业务集成提供了很好 的应用模式。为了提高w e b 服务的可重用性,并分散和简化应用逻辑,单个w e b 服务通常只提供简单的业务功能,通过组合多个业务关联的服务形成复合服务流 程来满足快速多变、需求多样化的应用需求。但是,复合服务应用中的w e b 服 务自主性和网络环境的复杂多变性给这类应用带来了新的问题,即复合服务在运 行时易于出现服务失效异常。复合服务自恢复技术是保障复合服务可靠性和提高 自动化管理的重要机制。自恢复技术可以减少用户对复合服务异常处理的负担, 使得复合服务在有服务失效发生时仍然能够继续正常执行,实现复合服务的自动 管理,降低管理成本。因此复合服务自恢复技术的研究对于推动面向服务架构的 成功应用与实施有着重要的意义。 本文针对复合服务自恢复中的若干关键问题展开下列研究: ( 1 ) 基于容错的复合服务自恢复模型 为了提供复合服务自动恢复的能力,本章提出了一种基于容错的复合服务自 恢复模型,利用基于容错的恢复策略保障复合服务的可靠性。基于容错的恢复策 略包括重试策略、顺序冗余策略和并行冗余策略。重试策略是指异常发生后对绑 定服务进行重新调用的策略,顺序冗余策略是指异常发生后对绑定服务进行顺序 的服务替换的策略,而并行冗余策略是指异常发生后对绑定服务进行并行的服务 替换的策略。相比传统的恢复机制,所提出的基于容错的复合服务自恢复模型, 能够更加有效的提高复合服务的可靠性。 ( 2 ) 收益驱动的自恢复策略选择方法 针对复合服务执行时的业务特征,提出了一种收益驱动的复合服务恢复策略 选择方法。我们的方法能准确计算在动态多变的i n t e r n e t 环境下复合服务执行的 收益,并通过启发式算法有效保障复合服务执行的收益最大化。通过数值实验, 验证了方法的有效性,并比较了不同的服务策略选择方法,收益驱动的恢复策略 选择方法能有效选择出更优的恢复策略,而且保证在各种服务失效概率下获得的 收益最高。 ( 3 ) 基于贝叶斯网络的异常诊断方法 提出一种采用贝叶斯网络对复合服务异常根本原因进行诊断的方法。通过为 复合服务建立基于贝叶斯网络的异常诊断模型,将复合服务中隐含的w e b 服务 之间异常关联的因果关系映射到贝叶斯网络中。利用w e b 服务出现失效的概率 和复合服务历史运行的数据进行统计分析,获取贝叶斯网络中服务节点的先验概 率以及服务输出节点的条件概率。在此基础上,提出了基于贝叶斯推理的复合服 摘要 务异常诊断算法。与已有的研究相比,本文提出的复合服务异常诊断方法考虑了 异常诊断推理过程中的不确定性,而且在服务监控信息不完整的情况下也能进行 异常的诊断。实验表明提出的方法能快速有效地识别导致复合服务运行异常的服 务节点。 ( 4 ) 面向b p e l 的复合服务自恢复系统实现 最后,在上述研究的基础之上,对面向b p e l 的复合服务自恢复实现技术进 行研究,给出了自恢复系统的整体框架,基于软件所开发的o n c e b p e l 引擎进行 了系统扩展实现,重点介绍了自恢复策略到b p e l 代码的转换算法。 关键词:面向服务的计算;复合服务;容错;自恢复策略;服务收益;贝叶斯网 络;异常诊断 a b s t r a c t i i lt h es e r v i c e o r i e n t e de n v i r o n m e n t ,as i n g l ew e bs e r v i c ec a nh a r d l ys a t i s f yt h e g i v e nr e q u e s t ,s ot h ec o m p o s i t i o no fm u l t i p l ew e b s e r v i c e si sr e q u i r e dt of u l f i l lt h e g o a l b e c a u s et h er e l i a b i l i t ya n d e f f e c t i v e n e s so fr e m o t ew e bs e r v i c e sa r eu n c l e a r , a n d t h ep e 湘m a n c eo fi n t e r a c ti s a l s ou n p r e d i c t a b l e ,i ti sd i f f i c u l tt og u a r a n t e et h e p e r f b 咖a n c eo ft h e s es e r v i c e o r i e n t e da p p l i c a t i o n s ,w h i c ha r ed e v e l o p e do nw e b s e i c e s 钰w e bs e r v i c e si nab u s i n e s sp r o c e s sa r el o o s e l yc o u p l e da n da u t o n o m o u s , f a i l u r e so c c u rf r e q u e n t l yd u r i n gt h ee x e c u t i o no f t h eb u s i n e s sp r o c e s s t h e r e f o r eh o w t or e d u c ef a i l u r eo c c u r r e n c e a n dr e c o v e rs e r v i c ec o m p o s i t i o n sf r o m f a i l u r e s a u t o m a t i c a l l yb e c o m e sas i g n i f i c a n tp r o b l e m i nt h ea r e ao fs o c t oa d d r e s st h ea b o v ep r o b l e m s ,w ep r o p o s es e v e r a ls e l f - r e c o v e r yt e c h n i q u e sf o r c o m p o s i t es e r v i c e si nt h i st h e s i s 。o u rt e c h n i q u e st a k ei n t oa c c o u n tt h ea u t o n o m y a n d h e t e r o g e n e i t yo fw e bs e r v i c e s ,a n dt h u sc a ni m p r o v et h er e l i a b i l i t y o fc o m p o s i t e s e r v i c e si nt h es e r v i c ee n v i r o n m e n t t h em a i nr e s e a r c hw o r k sa n dc o n t r i b u t i o n so f t h i st h e s i sa r ed e s c r i b e da sf o l l o w s : 1 r e d u n d a n c y b a s e df a u l t t o l e r a n c es t r a t e g i e sa r ep r o p o s e df o rb u i l d i n g r e l i a b l es e r v i c ec o m p o s i t i o na p p l i c a t i o n s ,w h i c ha r eu s u a l l yd e v e l o p e do n t h eu n p r e d i c t a b l er e m o t ew e bs e r v i c e s w ep r o p o s eas e l f - r e c o v e r ys e r v i c e c o m p o s i t i o nf r a m e w o r k b a s e do nt h i sf r a m e w o r kc o m p o s i t e s e r v i c e sc a n a u t o m a t i c a l l yg e n e r a t et h e i ro p t i m a lf a u l tt o l e r a n c es t r a t e g y t oa c h i e v e g o o ds e r v i c er e l i a b i l i t ya sw e l la sg o o do v e r a l lp e r f o r m a n c e 2 w ep r o p o s eau t i l i t y d r i v e nr e c o v e r ys t r a t e g ys e l e c t i o na l g o r i t h mw h i c h e x p l i c i t l yb a l a n c e st h ec o s to fp r o v i s i o n i n gw i t ht h ee x p e c t e d v a l u eo ft h e s e r v i c ec o m p o s i t i o n w ep r o p o s e ab u s i n e s sm o d e lf o rc o m p o s i t e s e r v i c e s ,a n da n a l y z et h er e l a t i o n s h i pb e t w e e nt h eu t i l i t yo fab u s i n e s s p r o c e s sa n dt h er e q u i r e m e n to fc u s t o m e r s a c c o r d i n g t ot h es l aa n a l y s i s , w eg i v eas e l e c t i o na l g o r i t h mw h i c hc h o o s e so p t i m a lf a u l t t o l e r a n c e s t r a t e g y w ec o n d u c tv a r i o u s e x p e r i m e n t s a n dt h er e s u l t ss h o wo u r s e l e c t i o na l g o r i t h mp e r f o r m sw e l l 3 i nt h i sr e s e a r c h ,w es t u d yt h em o d e lo ff a u l td i a g n o s i st od e t e c ta n d d e f u s e t h er e a lc a u s eo fap r o b l e mw h e ns e r v i c ee r r o l s ( s u c ha si n c o r r e c tr e s u l to i s l av i o l a t i o n ) o c c u ri nas e r v i c ec o m p o s i t i o n o u ra p p r o a c hl e v e r a g e s 1 a b s t r a c t b a y e s i a nn e t w o r k st oi d e n t i f yt h em o s tl i k e l yp r o b l e m a t i cs e r v i c e si na p r o c e s sa n ds e l e c t i v e l yi n s p e c tt h o s es e r v i c e s t h ep e r f o r m a n c es t u d y s h o w st h a to u rp r o p o s e dm e c h a n i s mi se f f e c t i v eo ni d e n t i f y i n gt h er o o t c a u s eo fp r o b l e m sa n dc a na c h i e v es i g n i f i c a n tc o s ts a v i n g s 4 ap r o t o t y p es y s t e mt h a ts u p p o r ts e l f - r e c o v e r ys e r v i c ec o m p o s i t i o ni s i m p l e m e n t e db a s e d o na b o v er e s e a r c hw o r k s t h ed e s i g n a n d i m p l e m e n t a t i o n o ft h ec o r e c o m p o n e n t s a r e e x p r a i n e d i n d e t a i l s s e l f - r e c o v e r ys t r a t e g i e s a r e a u t o m a t i c a l l y t r a n s f o r m e di n t os t a n d a r d w s b p e ll a n g u a g ea n di n t e g r a t e di n t on o r m a lb u s i n e s sl o g i c k e yw o r d s :s e r v i c eo r i e n t e dc o m p u t i n g ;s e r v i c ec o m p o s i t i o n :f a u l t t o l e r a n t ; s e l f - r e c o v e r ys t r a t e g y ;s e r v i c eu t i l i t y ;b a y e s i a n n e t w o r k ;f a u l t d i a g n o s i s 2 图目录 图1 1 图1 2 图1 3 图1 4 图2 1 图2 2 图2 3 图2 4 图2 5 图3 1 图3 2 图3 3 图3 4 图3 5 图3 6 图3 7 图3 8 图3 9 图3 1 0 图3 1 1 图4 1 图4 2 图4 3 图4 4 图4 5 图4 6 图4 7 图4 8 图目录 s o a 应用的典型体系结构图2 d y n a m o 复合服务自恢复框架1 1 c a s c a r 复合服务管理平台1 2 m e t e o r 业务流程管理系统1 3 r e t r y 恢复策略2 0 顺序冗余恢复策略2 1 并行冗余恢复策略2 2 复合服务结构模型和恢复策略2 6 复合服务自恢复模型2 6 服务的业务模型3 4 服务级协议s l a 模板3 4 s l a 协议示例3 6 复合服务r e w a r d 函数。3 7 最优恢复策略下的复合服务模型4 4 不同选择方法的复合服务收益比较4 6 不同选择方法的复合服务成功率比较4 6 不同选择方法的复合服务收益比较4 7 不同选择方法的复合服务成功率比较4 7 不同选择方法的复合服务收益比较4 8 不同选择方法的复合服务成功率比较4 8 基于贝叶斯网络的复合服务异常诊断5 3 贝叶斯网络结构示例5 5 原子服务转换到贝叶斯网络5 7 顺序结构转换到贝叶斯网络5 8 并行结构转换到贝叶斯网络5 8 模型转换示例5 9 贝叶斯网络参数配置示例6 0 不同证据比例下的异常诊断率6 4 图目录 图4 9 图4 1 0 图5 1 图5 2 图5 3 不同复合服务任务数量下的异常诊断率6 5 不同随机服务比例下的异常诊断率6 5 o n c e b p e l 总体架构7 2 b p e l 自恢复系统结构7 3 b p e l 流程自恢复过程7 4 中国科学技术大学学位论文原创性声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究工作所取得的 成果。除已特别加以标注和致谢的地方外,论文中不包含任何他人已经发表或 撰写过的研究成果。与我一同工作的同志对本研究所做的贡献均已在论文中作 了明确的说明 作者签名:签字日期:皇竺兰:兰:垒 中国科学技术大学学位论文授权使用声明 作为申请学位的条件之一,学位论文著作权拥有者授权中国科学技术大学 拥有学位论文的部分使用权,即:学校有权按有关规定向国家有关部门或机构 送交论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文编入中 国学位论文全文数据库等有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。本人提交的电子文档的内容和纸质论文的内 容相一致。 保密的学位论文在解密后也遵守此规定。 f 囱公开口保密( 年) 作者签名: 签字日期: 邂 鲨匕 :丝 导师签名:魏 签字日期:皇“坠笪:丝 第1 章绪论 第1 章绪论 随着信息技术的发展,i n t e r a c t 已成为现代社会重要的信息基础设施。而伴 随着i n t e r n e t 的普及,越来越多的数据资源、计算资源与应用资源依托i n t e m e t 成为可被公共获取和访问的网络资源,推动i n t e r n e t 由传统意义下的信息发布平 台逐渐演变为一个开放共享的分布式的计算环境。近年来,随着“服务 成为开 放网络计算环境下资源封装与共享的核心概念,特别是w e b 服务技术的出现和 推广,使得面向服务的体系结构( s e r v i c e o r i e n t e da r c h i t e c t u r e ,s o a ) 和面向服务 的计算( s e r v i c e o r i e n t e dc o m p u t i n g ,s o c ) 逐渐成为主流的网络分布式计算的技 术和方法。 本章介绍论文研究的背景,并对论文研究的主要问题进行了分析。最后,列 出了本文的主要研究内容和贡献,并给出论文后续章节的框架结构。 1 1 研究背景 面向服务的计算是一种利用服务作为构造软件应用基本单元的新型计算范 型,目前在国内外引起了极大的关注。它是传统的网络分布式计算技术在i n t e m e t 这种动态、开放计算环境下的自然演化。在面向服务的计算中,服务是一种自描 述的、平台无关的计算单元,它具有松散耦合性、抽象性、自治性、可组合性等 特点,支持网络分布式应用快速的组合式开发。面向服务的计算代表了软件技术 发展的最新趋势,体现了i n t e r n e t 环境中软件的本质特征,它将极大地改变传统 分布式软件开发的思想、方法和技术。“软件即服务”是面向服务计算时代最贴 切的描述。 由于w e b 服务技术已经大量应用于各个应用领域,w e b 服务以及复合服务 的可靠性也受到了越来越多的关注。在电子商务应用中,服务的失效可能会失去 固定的客户,导致严重的财产损失。而服务计算面临的i n t e m e t 环境使得计算机 软件运行环境由静态、封闭、可控逐步转变为动态、开放、多变。计算领域近期 提出的以自主管理为核心的自治计算,是应对i t 系统管理复杂性问题挑战的主 流研究方向。“自恢复 是自主管理的一项关键功能,其主要思想是通过提高系 统处理异常能力以及适应环境变化的能力,来缓解和解决系统管理复杂性问题最 明显的症状。自恢复“异常 的范围包括功能异常以及由于环境变化引发的系统 异常行为口。如果说软件开发是“技术管理生产活动”,实现生产活动管理的自 动化,那么自恢复则是“技术管理软件系统活动”,实现的是软件系统异常管理 第1 章绪论 的自动化。由于系统对企业运营的影响越来越大,如何提高i t 系统服务的连续 性、维持系统的可靠性及降低其运营管理成本,已经成为计算机领域研究的重要 内容,“自恢复”这一新兴研究领域也相应地成为一个很有前景的研究方向。 由于在电子商务、应用集成、业务流程管理等领域有很好的应用前景,w e b 服务得到了工业界和学术界的广泛关注。近年来,许多研究机构、组织和公司纷 纷投入到w e b 服务的研究和应用当中。工业界主要注重w e b 服务规范和协议的 标准化问题,学术界针对w e b 服务核心支撑技术( 包括复合服务、服务发现、服 务安全等) 展开了大量的研究工作。目前,w e b 服务研究仍有许多关键问题尚待 解决。其中,复合服务的自恢复能力是保障复合服务可靠性的一个重要方面。自 恢复技术是增强复合服务可靠性的核心技术,属于分布式系统研究的基础问题。 对于基于复合服务的应用而言,如何使复合服务具备自恢复能力具有更加重要的 意义。本文的工作正是围绕复合服务的自恢复技术展开研究。 1 1 1 面向服务架构s o a 和基于s o a 的应用 面向服务架构s o a 是一种基于服务来组织软件资源,具有松耦合和自治特 征和间接服务寻址能力的软件架构。s o a 最基本的特征就在于松耦合性,它通 过采用基于x m l 的w s d l 协议将软件或软件中的功能模块进一步封装成为具有 自治、自描述、与平台无关等特点的服务,因此把软件复用推到了一个新的高度, 进一步提高了软件开发的灵活性,增强了软件的可维护性。 目前,业界和研究界都意识到面向服务架构s o a 是未来开发具有分布、协 作、动态、松耦合特征的应用软件首选的体系架构。其中一个最重要的原因就在 于s o a 可以实现对业务构件的复用,从而缩短应用开发时间、节省开发成本。 在开发过程中,业务应用所需要实现的各种业务功能被封装成为服务的形式,而 服务之间则以松耦合的形式进行互联和互操作,共同完成特定的业务需求。一个 典型的基于s o a 的应用系统主要包含以下层次( 如图1 1 所示) 。 铆洲蝴l 燃,- j - i 蝴i 删 测囝 潲舻礴旺 ( 岁 誊 2 蠢 坊 酌桶? 囝 要 季薹 岬e n t e q ) n s e 篓;萤。蛆妇l | 囝 耋 雪吾 客 毒董 伊 燃删圜国彘藿圈l 囤 图1 。ls o a 应用的典型体系结构图 第1 章绪论 1 ) 展现层( p r e s e n t a t i o n ) :利用p o r t a l 等页面集成技术建立应用的展现层, 方便用户使用s o a 应用。 2 ) 业务流程层( b u s i n e s sp r o c e s sc h o r e o g r a p h y ) - 对业务流程进行建模, 描述应用的业务逻辑,刻画平台无关模型。 3 ) 服务层( s e r v i c e s ) :s o a 应用的核心层,对上层按照业务流程模型对服 务进行组合,对下层则封装相关的业务组件完成业务功能。 4 ) 企业组件层( e n t e r p r i s ec o m p o n e n t s ) :与服务相关的业务组件具体实现 的层次。业务组件的实现是平台相关的,而且需要考虑一些基础应用支 撑环境的细节。 5 ) 系统软件层( o p e r a t i o n a ls y s t e m ) :这一层包括操作系统o s 、数据库管 理系统d b m s ( d a t a b a s em a n a g e m e n ts y s t e m ) 、企业资源计划e r p ( e n t e r p r i s er e s o u r c e sp l a n n i n g ) 、客户关系管理c r m ( c l i e n tr e l a t i o n s h i p m a n a g e m e n t ) 等应用支撑系统,是s o a 应用的基础支撑平台。 除了以上五个层次之外,诸如q o s 管理、安全性等也是基于s o a 应用的组 成部分。 由图1 1 可以看出,s o a 为业务组件的复用提供了一个良好的平台,它通过 将业务组件封装成为服务,这些服务在通过业务流程层而得到进一步复用,从而 提高企业的投资回报率。 1 1 2 复合服务和复合服务标准 在服务计算中,原子服务是最基本的构造元素,即内部不包含其他服务的服 务。服务复合则是将多个原子服务进行组合来构造s o a 应用的技术。所谓服务 复合( s e r v i c ec o m p o s i t i o n ) 是指以特定方式按照应用的业务逻辑将若干服务组合 成为一个业务应用的方法、过程和技术。通过服务复合技术而产生的业务应用本 身也可以封装为一个服务,由于该服务的业务功能是由其包含的若干服务组合而 成,因此将这种服务称为复合服务( c o m p o s i t es e r v i c e ) ,复合服务中包含的服务 称为成员服务( c o m p o n e n ts e r v i c e ) 。其中成员服务可以是一个原子服务,也可 以是另一个复合服务。 使用复合服务的好处主要体现在以下几个方面: 1 ) 通过将若干个原子服务进行组合,复合服务可以提供新的增值服务,满 足新的业务需求,使得软件的功能得以扩展; 2 ) 复合服务在服务粒度上实现了软件重用的目标,不仅节省了网络分布式 应用的开发成本,而且提高了服务组件的可重用性和利用率; 3 ) 服务复合提供了良好的封装性,通过将细粒度的原子服务组合成粗粒度 第1 章绪论 的、实现一定业务功能的复合服务,可以使用户无需了解软件应用的内 部结构和实现,而只关心应用的访问接口和业务功能,有效降低了软件 系统的复杂性。 服务复合作为一种构造软件应用的技术,不仅仅包含软件架构技术,还包含 一系列与s o a 应用开发的生命周期相关的技术和规范,如描述复合服务模型的 语言规范、对业务流程模型进行可视化设计的技术、将业务流程模型转换成可执 行的复合服务代码的模型转换技术、复合服务的部署和执行环境、复合服务运行 时监控技术以及复合服务的自恢复技术等。下面介绍复合服务的重要标准 w s b p e l 。 w s b p e l 作为w e b 服务协议栈中的业务流程协议是复合服务中最重要的标 准,它建立在i b m 的w s f l 语言和m i c r o s o f t 的x i _ a n g 语言之上,同时具有 w s f l 的流程图特征和x l a n g 的代数特征。w s b p e l 的早期版本b p e l 4 w s 1 1 a n d r e w se ta 1 ,2 0 0 3 在2 0 0 3 年发布后得到广泛的应用。在2 0 0 7 年,国际标 准化组织o a s i s 又推出了新的版本w s b p e l2 0 j o r d a na n de v d e m o n ,2 0 0 7 1 , 进一步完善了业务流程描述语言。 w s b p e l 规范中包含四个主要的部分:消息流,控制流,数据流和流程编制, 具体内容如下: 消息流 b p e l 中的消息流由基本活动控制,这些基本活动包括调用w e b 服务的 操作,等待外部客户调用的 操作,生成响应的输出操作 等。作为一种w e b 服务组合语言,b p e l 通过调用其他服务和接收客户的调用请 求实现交互。前者通过 实现,而后者则通过 和 来实现。 一个参与者或者是服务的请求者或者是被调用的服务方。 控制流 b p e l 的控制流包括各种结构模块,能够定义同步、可选分支控制转移流。 包括顺序结构 ,分支结构 ,循环结构 和 , 可选分支结构 ,并行分支结构 , 分组执行结构。各个模块 之间还可以通过 实现连接依赖关系。一个 活动可以定义迁移条件, 条件是使用流程中的变量来定义的布尔表达式。 数据流 b p e l 定义了用户之间有状态的信息交互。业务流程的状态包括参与者之间 交换信息的内容,业务逻辑数据以及发送到参与者的合成消息。b p e l 的数据流 通过共享的全局可视数据 来隐含地实现不同活动之间的信息传递。所 有的数据 定义了特定流程的上下文环境,这些数据是w s d l 消息的集 第1 章绪论 合,代表了正确执行业务流程所需数据,例如路由的决策和发送到参与者的合成 消息。 包含的所有数据构成了业务流程的状态。 之间通过 活动实现数据元素的交换。 活动不仅允许数据的操作,而且可 以动态地绑定到不同的服务实现。 流程编制 b p e l 通过服务链接来建立参与者之间端对端的联系。 可以是任何 被调用的服务或者调用流程的服务。每个 映射到一个相应的参与角色。 一个参与者在不同的流程中可以有不同的角色。数据 被用来管理服务 请求数据的持久化。参与者通过定义 以双向的方式连接到一个 流程。 定义了一个连接关系的架构,在其中,一个参与者声明 w s d l 和 结构来实现双向的交互。 此外,w s b p e l 规范还定义了基本的异常处理机制,通过f a u l t h a n d l e r 、 c o m p e n s a t i o n h a n d l e r 和e v e n t h a n d l e r 分别执行异常操作、补偿操作和事件处理操 作。但具体的异常处理逻辑还需要由流程的设计人员开发实现,无法自动生成, 而且将正常的业务逻辑和异常处理逻辑混合在一起,增加了流程开发和维护的难 度。 1 1 3 复合服务的可靠性保障需求 在基于i n t e r n e t 的服务环境中,由于传统的可靠性保障技术,如硬件容错、 软件白盒测试等,与w e b 服务自身的自治、白管理、松耦合的特征之间存在着 很多不匹配,因此w e b 服务在运行时发生服务失效的异常是难以避免的 m o s e r e t a 1 ,2 0 0 6 ,a a r o ne ta 1 ,2 0 0 1 】。而复合服务中的任何一个成员服务失效都可能导致整 个复合服务的失效,因此复合服务的可靠性就是其中所有成员服务可靠性的乘 积。即使绝大多数成员服务的可靠性很高,只要存在一个或少数几个不可靠的成 员服务都会导致复合服务的可靠性处于很低的水平。另外,复合服务的业务操作 可能需要跨越多个成员服务,网络分布式应用本身所具有的异构性、分布性和动 态性也会带来更多不可预测的异常,从而导致复合服务的可靠性下降。由于在 i n t e r n e t 环境中利用现有的w e b 服务构成的复合服务的可靠性普遍较低,因此需 要解决的一个重要问题是如何保障复合服务的可靠性以满足客户的需求? 复合 服务本身的可靠性由原子服务的可靠性和服务环境的可靠性共同决定: 原子服务的可靠性 复合服务本身的可靠性由内部组成的成员服务的可靠性决定,因此需要提高 原子服务的可靠性。目前越来越多的研究成果保障w e b 服务获得更高的可靠性。 相关的服务可靠性研究主要分为两个方面:一种是通过扩展传统的容错方法来提 第1 章绪论 高w e b 服务的可靠性,主要思想是防止或避免服务失效的发生,这类解决方案 通常代价比较高。另一种方法并没有考虑如何避免可能的服务失效,而是研究如 何在服务失效发生后快速恢复正常。这两方面研究相互结合共同保障原子服务的 可靠性。 服务环境的可靠性 即使单个原子服务的可靠性较高,复合服务所处的服务环境也会影响复合服 务的可靠性。主要原因在于w e b 服务的异构性和自治性,以及i n t e m e t 网络的多 变性和不确定性,导致复合服务在调用服务时无法保证使用的服务是有效的,也 无法保证网络的传输是正常的。因此需要一种灵活有效的机制在这种动态多变的 环境中保障复合服务的可靠性。 目前研究人员提出了w s - r e l i a b l e m e s s a g i n g d a v i s e t a l ,2 0 0 6 】和 w s r e l i a b i l i t y o a s i s ,2 0 0 4 规范来保障w e b 服务在不可靠的通信网络上消息传 输的可靠性。但目前还没有复合服务的相关协议能有效解决复合服务的可靠性问 题。 通常在网络应用中,可以采取冗余机制利用可靠性较低的功能组件来构建可 靠性较高的软件系统。例如,p 2 p 网络应用,其中每个参与者都无法保证提供资 源的服务在任何时刻都有效,然而通过资源冗余仍然保证了资源传输的整体可靠 性,满足了用户对应用可靠性的要求。同样,冗余机制能够极大的提高复合服务 的可靠性。由于复合服务中的成员服务具有冗余特征,即存在多个能够实现相同 业务功能的w e b 服务。因此,即使单个w e b 服务的可靠性较低,通过服务冗余 的方式依然可以获得可靠性很高的服务。例如,一个旅行代理服务提供了一个复 合服务,其中包括三个由其他企业所提供的w e b 服务:机票预定服务,租车服 务和旅馆预订服务。由于每一个成员服务都存在大量的冗余服务,旅行代理的复 合服务在其中某个服务出现失效或者其他原因不可用时,仍然能够为客户提供同 样的功能,保证了复合服务的可靠性。 服务冗余是服务环境的一个重要特征,在网络中会不断出现相同或相似功能 的w e b 服务。如果一个w e b 服务对于服务提供者来说是有利可图的,那么其他 的服务提供商也会开发出功能类似的w e b 服务发布到服务环境中,因此w e b 服 务会出现大量的冗余。由于不同的服务提供者所实现的w e b 服务的技术不同, 各个冗余服务的服务质量也会有所差异,而这种服务的异构性使得冗余的w e b 服务同时失效的概率很小。 由此可见,复合服务可以充分利用服务冗余机制,在不可靠的原子服务和服 务环境的基础上保障复合服务运行时的可靠性。在复合服务执行过程中,当某个 成员服务失效时,复合服务可以重新调用另一个具有同样功能的冗余服务,替换 第1 章绪论 失效的成员服务。但由于服务环境的动态性和原子服务的自治性,如果采取手工 的方法来处理复合服务出现的异常,会不切实际。下面将分析现有的研究工是如 何实现复合服务自恢复的。 1 2 复合服务自恢复研究现状 1 2 1 自治计算和自恢复技术 自治计算( a u t o n o m i cc o m p u t i n g ) 是i b m 于2 0 0 1 年1 0 月提出的一个新概念, 其灵感来自人体复杂的自主神经系统 p a u lh o r n ,2 0 0 1 ,j e f f r e y , 2 0 0 3 。在无意识的 情况下,由自主神经系统控制着体温、呼吸等基本活动,使大脑从这些基本但是 很重要的功能中解放出来。自治计算的思想是能以类似的方式来管理软件系统的 基本控制,使软件系统在无需人工干预的情况下自动的运行。i b m 将自治计算 定义为“能够保证软件系统基础设施服务质量的自主管理技术”,它开辟了一个 新的软件研究领域 i b m ,2 0 0 4 】。 自治计算的主要研究内容是使软件能够提供自主管理功能。i b m 提出的方法 是在w e b 服务的基础上,建立类似于多a g e n t 系统的自主系统 s t e v ee ta 1 ,2 0 0 4 】。 自主管理单元包括两个主要模块:被管理组件和自主管理器。被管理组件是被管 理的资源,自主管理器和被管理组件通过传感器和效应器进行交互。传感器复杂 提供收集系统状态信息,而效应器提供改变系统状态的接口。自主管理器是一个 实现自主管理功能的模块,由监视( m o n i t o r ) 、分析( a n a l y z e ) 、计划( p l a n ) 以及执 行( e x e c u t e ) t 个模块组成。这四个模块构成了一个控制环路,简称m a p e ,每个 模块的功能如下: 1 ) 监视模块一负责收集、汇总、过滤和管理从被管理对象那里收集到的详细 状态信息。 2 ) 分析模块一负责对管理对象的运行状态进行建模和分析,使自主管理器能 够了解当前的系统状态并帮助预测未来可能发生的情况。 3 ) 计划模块一负责设计对象管理所需采取的动作,自动生成管理策略来执行 组件的管理。 4 ) 执行模块一负责管理策略的执行,对被管理组件进行相应的操作。 自主管理器的m a p e 控制环路包含自配置、自恢复、自优化和自保护四种功 能,如表1 1 所示,模块之间所使用的数据和信息存放在自主管理器的知识库中, 实现数据和信息的共享。 第1 章绪论 表1 1自治计算自主管理功能 属性内容 自配置能够在运行中动态地对自身进行配置,当在 一个计算机系统环境中部署新组件或发生变 化时,基础设施能够进行调整一在人工干预 最小的情况下。 自恢复基础设施能够检测到软件系统的异常,然后 修复或屏蔽这些异常,提供不间断的软件应 用可用性。 自优化指计算机系统环境能够在人工干预最小的情 况下高效地分配资源和提高使用率。 自保护当敌意或入侵行为发生时,一个自保护环境 能够检测到它们并采取自主措施,使自己不 易受到未经授权的访问和使用、病毒、拒绝 服务性攻击及一般异常的破坏。 自治计算是计算机软件系统的一种管理思想,也是一个全新的研究领域,随 着“自治计算 概念的提出,软件自恢复技术的研究开始兴起,但是对自恢复的 定义、范围以及作用,不同的学者有着不同的观点。在a c ms i g s o f t w o r k s h o p o ns e l f - h e a l i n gs y s t e m s ( w o s s 0 2 ) 会议上,研究人员对容错技术和自恢复技术 的关系、自恢复技术的研究范畴等进行进一步的讨论,认为自恢复技术首先是指 软件系统处理异常的能力,其次是指软件系统适应环境变化的能力【r o g e r i oe t a l 。,2 0 0 3 1 。目前学术界关于白恢复技术的相关研究很多,它们往往和容错技术 ( f a u l tt o l e r a n c e ) 、可靠性系统( d e p e n d a b l es y s t e m ) 、软件形式化方法( f o r m a l t e c h n i q u e ) 、分布式智能系统( d i s t r i b u t e di n t e l l i n g e n ts y s t e m ) 、网格计算( g r i d c o m p u t i n g ) 、服务计算( s e r v i c eo r i e n t e dc o m p u t i n g ) 等紧密联系。 文献 p h i l i pk o o p m n a ,2 0 0 3 1 对自恢复技术的相关研究进行整理,并提出了自 恢复的问题空间,他认为自恢复技术包含了异常建模、系统响应动作、系统完整 性保障以及系统环境适应等四方面内容。 加州大学伯克莱分校与斯坦福大学合作进行面向恢复的计算 ( r e c o v e r y o r i e n t e dc o m p u t i n g ,r o c ) 项目,试图以一种简单的可置换的软件组件 来简化系统修复 n a f t a l y , 2 0 0 3 1 。r o c 为了提高软件系统的可用性,对各种因素 引起的失效问题进行自动修复。例如,系统范围内的撤销操作( u n d o ) 、集成的异 常诊断支持功能、自恢复机制的在线验证以及自恢复系统的模块化设计等,来实 现系统自恢复的目的。 第1 章绪论 为了提高软件系统的自动化管理水平,研究人员还研究了配置管理语言【r d e l e m o s ,2 0 0 2 、自恢复策略驱动的管l 里 a l a ne ta 1 ,2 0 0 4 和多a g e n t 技术【gt o n t ie t a 1 ,2 0 0 3 1 等在自恢复研究领域中的应用。从自恢复计算的研究进展分析,目前自 恢复技术实现的主要方法是在软件系统管理中引入控制循环,针对可能的典型失 效,预先设定自恢复策略,提高系统在运行时处理错误的能力。这对软件系统的 设计阶段提出了更高的要求,但是在软件的设计阶段并不能预测到所有可能的异 常模式,所以,预先设定完备的恢复策略变得异常困难。因此,软件系统的自恢 复技术需要研究更加主动的自恢复方法,需要能够主动预防异常和诊断异常,提 高系统的可靠性。 1 2 2 复合服务恢复技术 在本节,我们对复合服务的异常恢复技术相关研究进行调研,并分析它们应 用于复合服务的白恢复时带来的好处及具有的不足。研究统计表明,在传统软件 领域,如操作系统领域、工作流等领域,软件应用开发和执行中超过5 0 的时 间是用于进行异常处l 里 s a a s t a m o i n e n ,1 9 9 5 1 。而在服务领域,这个比例已经达到 了8 0 k u o ,2 0 0 4 1 。通常复合服务的业务逻辑是通过业务流程来描述,和工作 流管理系统类似,而工作流
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防雷隐蔽工程检测方案(3篇)
- 农业气象灾害防御体系构建与实施效果评估报告
- 猫咪线描画课件教学
- 高中语文小说类课文优化教学例谈
- 工程保险营销企划方案(3篇)
- 高墙天台改造工程方案(3篇)
- 牧场铲车安全培训心得课件
- 安全教育培训饮酒课件
- 农业产业链升级2025年农产品无损检测技术发展路径研究报告
- 廉洁建设面试题库及答案
- 2024陆上风电项目造价指标
- 生命教育 课件 .第一章 生命诞生
- 2025年安徽省农业职业技能大赛(水生物病害防治员)备赛试题库(含答案)
- HACCP体系评审表范本
- openEuler系统管理与服务器配置 课件 第8章网络连接
- 《民营经济促进法》解读与案例分析课件
- DG∕TJ 08-2035-2014 建设工程监理施工安全监督规程
- 中国2型糖尿病运动治疗指南(2024版)及要点解读
- 兽医体系及兽医基础知识的学习
- 小学四年级美术社团活动计划
- 同济大学浙江学院《通信原理实验》2023-2024学年第一学期期末试卷
评论
0/150
提交评论