(信息与通信工程专业论文)web服务事务容错模型研究与设计.pdf_第1页
(信息与通信工程专业论文)web服务事务容错模型研究与设计.pdf_第2页
(信息与通信工程专业论文)web服务事务容错模型研究与设计.pdf_第3页
(信息与通信工程专业论文)web服务事务容错模型研究与设计.pdf_第4页
(信息与通信工程专业论文)web服务事务容错模型研究与设计.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

(信息与通信工程专业论文)web服务事务容错模型研究与设计.pdf.pdf 免费下载

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

文档简介

南京邮电大学硕士研究生学位论文摘要 摘要 w e b 服务技术为企业应用环境集成提供了一个新的高效解决方案,基于x m l 、s o a p 、 w s d l 和u d d i 等协议的标准接口实现了异构的分布式自治系统之间的互操作性。除互操 作性之外,事务特性也是w e b 服务商用普及的关键因素,传统的w e b 服务通常无法保证 必需的可靠性。而w e b 服务的事务型业务流程要求很高的可靠性来保证执行结果的一致。 即在出现故障的情况下,参与者必须采取必要的动作才能保证正确的全局状态。本文拟对 w e b 服务事务建模,并提出一个可靠的框架,该框架利用日志技术和系统恢复机制,为事 务型业务流程中所涉及到的服务提供容错功能。对事务的容错研究包括原子事务容错和业 务事务容错。 论文首先介绍了课题的背景和研究内容,接着描述了w e b 服务的概念、体系结构及其 关键技术,介绍了w e b 服务事务的主要模型,对w e b 服务容错方面的相关研究进行了探 讨,介绍了b t p 和w s c tw e b 服务事务协议。在现有的w e b 服务事务规范的基础上, 研究了容错模型的框架结构、日志技术和系统恢复机制,设计了符合w s c t 规范的w e b 服务事务容错模型。并详细描述了基于w s a t 和w s b a 的w e b 服务事务容错模型的设 计和实现,最后给出了基于w s a t 和w s b a 的w e b 服务事务容错测试流程和性能分析, 从而验证了w e b 服务事务容错模型的可行性。 关键词:w e b 服务、事务、容错、w s a t 、w s b a 南京邮电大学硕士研究生学位论文 a b s t r a c t a b s t r a c t w e bs e r v i c e st e c h n o l o g yp r o v i d e san e wa n de f f i c i e n ts o l u t i o nf o rt h ei n t e g r a t i o no f e n t e r p r i s ea p p l i c a t i o ne n v i r o n m e n t ,w h i c hg u a r a n t e e st h ei n t e r o p e r a b i l i t yb e t w e e nh e t e r o g e n e o u s , a u t o n o m o u sa n dd i s t r i b u t e ds y s t e m su s i n gas t a n d a r di n t e r f a c eb a s e do nx m l ,s o a p , w s d l a n du d d i a p a r tf r o mt h ei n t e r o p e r a b i l i t y , t r a n s a c t i o n a lp r o p e r t i e sa r ea ni m p o r t a n tf a c t o ri nt h e w i d ea p p l i c a t i o no fw e bs e r v i c e sw i mc o i t l i i 1 e r c e c o n v e n t i o n a lw e bs e r v i c e s ,h o w e v e r , f r e q u e n t l yl a c kr e l i a b i l i t y w e bs e r v i c e s b a s e dt r a n s a c t i o n a lb u s i n e s sp r o c e s s e sr e q u i r eh i g h - - d e g r e er e l i a b i l i t yt og u a r a n t e ec o n s i s t e n c yi nr e s u l t s p a r t i c i p a n t sm u s tt a k en e c e s s a r ya c t i o n st o m a i n t a i nt h e p r o c e s si nag l o b a l l y - c o r r e c ts t a t e i nc a s eo ff a i l u r e s w em o d e lt h ew e b s e r v i c e s - b a s e dt r a n s a c t i o n sa n dp r e s e n tar e l i a b l ef r a m e w o r kt h a tp r o v i d e sf a u l tt o l e r a n c et ot h e s e r v i c e si n v o l v e di nat r a n s a c t i o n a lb u s i n e s sp r o c e s sb ym e a n so ft e c h n i q u e si nl o g g i n ga n d s y s t e mr e c o v e r y e m p h a s i si sp l a c e do nf a u l tt o l e r a n c ei nb o t ha t o m i ct r a n s a c t i o n sa n db u s i n e s s t r a n s a c t i o n s t h i st h e s i sf i r s t g i v e sab r i e fi n t r o d u c t i o nt o t h eb a c k g r o u n do ft h e p r o j e c ta n dt h e c o r r e s p o n d i n gr e s e a r c h ,w h i c hi sf o l l o w e db yad e s c r i p t i o no ft h ec o n c e p t s ,a r c h i t e c t u r ea n d t e c h n i q u e so fw e bs e r v i c e s w e bs e r v i c e st r a n s a c t i o n sa n dm o d e l so fw e bs e r v i c e st r a n s a c t i o n s a r ep r e s e n t e d ,r e l a t e dr e s e a r c hi nw e bs e r v i c e sf a u l tt o l e r a n c ea r ee x p l o r e d ,a n dc o o r d i n a t i o n p r o t o c o l so fw e bs e r v i c e st r a n s a c t i o n ss u c ha sb t pa n dw s c ta r ei n t r o d u c e d t h e no nt h e b a s i so fe x i s t i n gw e bs e r v i c e st r a n s a c t i o np r o t o c o l s ,r e s e a r c hi sm a d eo nt h es t r u c t u r eo fw e b s e r v i c e st r a n s a c t i o nf a u l tt o l e r a n c em o d e la n dt h et e c h n i q u e si nl o g g i n ga n ds y s t e mr e c o v e r y , a n dw e bs e r v i c e st r a n s a c t i o nf a u l tt o l e r a n c em o d e li sd e s i g n e dw h i c hc o n f o r m st ot h ew s c t p r o t o c o l s t h ef i n a lp a r to ft h i sp a p e rg i v e sad e t a i l e dd e s c r i p t i o no ft h ed e s i g n ,i m p l e m e n t a t i o n a n dt e s t i n gp r o c e s so fw e bs e r v i c e st r a n s a c t i o nf a u l tt o l e r a n c em o d e lb a s e do nw s a ta n d w s b a ,w h i c hv e r i t i e st h ef e a s i b i l i t yo ft h em o d e l k e yw o r d s :w e bs e r v i c e s ,t r a n s a c t i o n ,f a u l tt o l e r a n c e ,w s - a t ,w s b a i i 南京邮电大学硕士研究生学位论文专用术语注释表 专用术语注释表 英文缩写英文全称中文全称 2 p ct 、) l r o p h a s ec o m m i tp r o t o c o l两阶段提交协议 a t o m i c i t y , c o n s i s t e n c y , 原子性、一致性、 a c ) i s o l a t i o n , d u r a b i l i t y隔离性、持续性 b p e lb u s i n e s sp r o c e s se x e c u t i o nl a n g u a g e业务流程执行语言 b t pb u s i n e s st r a n s a c t i o np r o t o c o l业务事务协议 d b m sd a t a b a s em a n a g e m e n ts y s t e m数据库管理系统 f t pf i l et r a n s f e rp r o t o c o l文件传输协议 h t t p h y p e r t e x tt r a n s f e rp r o t o c o l超文本传输协议 基于j a v a 开源的事 j o t mj a v ao p e nt r a n s a c t i o nm a n a g e r 务处理管理器 i 冲c r e m o t ep r o c e d u r ec a l l远程过程调用协议 s g m ls t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e标准通用标记语言 s m t p s i m p l em a i lt r a n s f e rp r o t o c o l简单邮件传输协议 s o a 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 p s i m p l eo b j e c ta c c e s sp r o t o c o l 简单对象访问协议 u n i v e r s a l d e s c r i p t i o n , d i s c o v e r ya n d 统一描述、发现和 u d d i i n t e g r a t i o n集成 u r lu n i f o r mr e s o u r c el o c a t o r 统一资源定位符 w 3 c肋r i dw i d e 腑6c o n s o r t i u m 万维网理事会 w s黝s e r v i c e sw 曲服务 w s a tw 曲s e r v i c e sa t o m i ct r a n s a c t i o nw 曲服务原子事务 w s b aw e bs e r v i c e sb u s i n e s sa c t i v i t yw 曲服务业务事务 w s c w 曲s e r v i c e sc o o r d i n a t i o nw 曲服务协调规范 w e bs e r v i c e s c o m p o s i t ea p p l i c a t i o n w e b 服务组合应用 w s c a f f r a m e w o r k 框架 w s c f w e bs e r v i c e sc o o r d i n a t i o nf r a m e w o r kw 曲服务协调框架 w s c t xw 曲s e r v i c e sc o n t e x t w e b 服务上下文 w s t x mw e bs e r v i c e st r a n s a c t i o nm a n a g e m e n tw e b h 艮务事务管理 i i i 南京邮电大学硕士研究生学位论文专用术语注释表 协议 w s d lw e bs e r v i c e sd e s c r i p t i o nl a n g u a g ew e b 服务描述语言 w s i f谬的s e r v i c e si n v o c a t i o nf r a m e w o r kw 曲服务调用框架 w s t砌s e r v i c e st r a n s a c t i o n w 曲服务事务规范 x m le x t e n s i b l em a r k u pl a n g u a g e可扩展标记语言 i v 南京邮电大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取 得的研究成果。尽我所知,除了中文特别加以标注和致谢的地方外,论文中 不包含其他人已经发表或撰写过的研究成果,也不包含为获得南京邮电大学 或其他教育机构的学位或证书而使用过的材料。与我同工作的同志对本研 究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名一王佳堡日期:! i :兰:! 兰 南京邮电大学学位论文使用授权声明 南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留本人所送 交学位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存 论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密 论文外,允许论文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分 内容。论文的公布( 包括刊登) 授权南京邮电大学研究生部办理。 研究生签名:蹲导师签名:三阻日期:兰竺五j 丝 南京邮电大学硕士研究生学位论文第一章绪论 第一章绪论 1 1 背景介绍 w e b 服务技术作为一种新型的面向服务的分布式计算模式,利用简单对象访问协议 ( s o a p ) 和w e b 服务描述语言( w s d l ) 等广为接受的标准协议可以方便地实现i n t e m e t 上跨平台、松耦合的异构应用的交互和集成。此外,诸如w e b 服务业务流程执行语言 ( w s b p e l ) 能够方便地将不同的w e b 服务组合成规范的业务流程以实现企业间的协作。 这些特性使得w e b 服务技术成为构建s o a 的最佳平台。然而,对于商务处理的企业级应 用,单有互操作性是远远不够的,必须结合事务的概念才能保证业务流程产生一致可靠的 结果。不过众所周知,传统的w e b 服务通常无法保证操作的稳定性,导致最终的事务型流 程缺乏可靠性和一致性的保障。因此,为了保证事务型流程的完整性,可以通过为异构环 境下自治的参与者( 业务流程中涉及的w e b 服务) 提供容错功能来满足要求。 容错是保证w e b 服务可靠性和可用性的关键机制【l 】,使得系统在故障恢复后仍然能够 继续正确执行。任何一个关键计算领域的应用开发者都可能要面临容错问题。容错是保障 系统可靠性的核心技术,属于分布式系统研究的基础问题。对于推动w e b 服务的应用而 言,w e b 服务容错具有重要意义。具体来说,w e b 服务容错是针对w e b 服务系统为了防止 严重的故障导致服务不可用而采用的冗余技术,w e b 服务事务容错主要利用补偿操作取消 之前的事务操作影响来满足w e b 服务可靠性的要求。 本文研究的内容来源于事务型工作流。工作流是一些活动,活动是由不同实体组成的 有序执行流。而事务型工作流是在工作流基础上,使用分布式系统作为支撑并且支持某些 事务特性。本文拟采用由b e a 、i b m 和m i c r o s o f t 共同制订的w s t f 2 】规范族来定义规范实 体以加强事务特性。该规范族主要包含w s a t 和w s b a 两个事务协议以及支持这两个协 议的可挂接协调框架w s c : 1 w s c 【3 】:定义了用于共享有关多个服务共同执行活动的信息的协调上下文 ( c o o r d i n a t i o nc o n t e x t ) ,以及负责创建活动和注册参与者的协调和注册服务。w s c 是可 扩展的,这使其成为新的协调者类型的一个集成部分。 2 w s a t 4 】:目标对象是现有的短交互和具有完全a c i d 5 】特性的事务型系统。为了 保证原子性,w s a t 可用的事务协议是由两阶段提交协议衍生而来,特征就是结果非全有 即全无。为了保证一致性和独立性,w s a t 事务遵循嵌套关闭模型:个体操作( 比如子事 务) 的效果对于他人是不可见的。 3 w s b a 6 :不同于前,目标对象定位于涉及长持续时间业务流程的应用程序。其 南京邮电大学硕士研究生学位论文第一章绪论 中原子性协议( a t o m i c o u t c o m e ) 规定所有参与者必须确认或者取消自己的工作,而混合 性协议( m i x e d o u t c o m e ) 适用于最终结果不取决于所有参与者一致表决的事务。在w s b a 标准中,事务遵循嵌套开放模型:操作立即永久化并对他人可见。另外还需要定义补偿操 作以便执行撤销操作。 本文采用如前所述的多个标准来创建事务型工作流,并在已有成果的深入分析研究基 础上,理清了w e b 服务事务容错的关键技术,对w e b 服务事务容错模型的体系结构、w e b 服务事务容错事务协议、日志技术和系统恢复机制等作了详细分析,并给出了w e b 服务事 务容错模型实现及其测试的过程。 1 2 研究内容 本文研究的主要内容包括以下几个方面: 1 在w e b 服务事务容错体系结构方面,主要研究了w e b 服务事务容错模型的组成与 结构,包括具有容错功能的协调者和参与者的组成结构,以及模型中主要函数的实现等。 2 在w e b 服务事务容错事务协议方面,主要研究了协议所涉及到的状态,以及具有 容错能力的协调者和参与者协调机制等。 3 在w e b 服务事务容错机制方面,主要研究了如何利用日志技术实现w e b 服务事务 的故障恢复。日志技术的研究内容包括协调者日志结构和组成、参与者同志结构和组成、 协调者所记录的日志状态和内容、参与者所记录的日志状态和内容、强制写日志的时机等。 故障恢复过程包括协调者恢复、参与者恢复、应用状态恢复、事务协议恢复等。 4 基于以上研究内容,设计实现了一个w e b 服务事务容错模型,并通过旅行代理应 用实例部署实现了两种类型的演示服务,分别为代表基于原子事务的演示服务和基于长持 续时间的业务事务的演示服务。最后对w e b 服务事务容错模型的可行性及其性能进行了测 试分析。 1 3 论文结构 本文共分七章: 第一章:绪论。介绍了本课题的背景和研究内容,说明了本人在课题中所做的实际工 作和进行的理论研究,最后概要地讲述了各章节的内容。 第二章:w e b 服务与w e b 服务事务及容错。首先介绍w e b 服务的概念和体系结构, 并且分析当前w e b 服务使用的关键技术。接着介绍了w e b 服务事务及其基本特性,以及 主要的分布式事务模型。最后介绍了w e b 服务容错方面的相关研究。 第三章:w 曲服务事务协议。介绍了w e b 服务事务的特点,以及w e b 服务事务处理 2 南京邮电大学硕士研究生学位论文第一章绪论 中存在的各种主要事务机制( b t p 、w s c 厂r ) 。最后指出了现有事务处理机制的不足。 第四章:w e b 服务事务容错模型。阐述了w e b 服务事务容错模型结构和模型中各角色 结构及相互之间的交互过程,接着研究了模型采用的日志技术和系统恢复机制。 第五章:原型系统实现。详细描述了原型系统的类结构及部分主要函数实现。最后详 细分析了基于w s - a t 和w s b a 协调类型的演示服务的实现过程。 第六章:原型系统测试。给出了基于w s a t 和w s b a 事务类型的测试环境和测试流 程,并评测了容错系统的性能,最后分析了系统可改进之处。 第七章:结束语。对本论文的工作做了一个总结,并展望了在进一步研究中尚待解决 完善的工作。 宣室坚皇奎兰堡主里窒生堂垡垒奎 笙三童竺里堑量! 竺壁堑皇箜垄查丝 第二章w e b 服务与w e b 服务事务及容错 2 1w e b 服务概述 w e b 服务是描述_ 些操作( 利用标准化的x m l 消息传递机制可以通过网络访问这些 操作) 的接口。它是用标准的、规范的x m l 概念描述的,称为w e b 服务的服务描述。这 一描述囊括了与服务交互需要的全部细节,包括消息格式( 详细描述操作) 、传输协议和 位置。该接口隐藏了实现服务的细节,这允许并支持基于w e b 服务的应用程序成为松散耦 合、面向组件和跨平台实现。w e b 服务履行一项特定的任务或一组任务。w e b 服务可以单 独或同其它w e b 服务一起用于实现复杂的组合或商业交易。 2 1 1w e b 服务的体系结构 w e b 服务采用面向服务的架构( s o a ) ,完整的w e b 服务体系基于三种角色之间的交 互,即服务提供者、服务代理和服务请求者【7 1 。它们之间的交互一般包括发布、查找与绑 定操作。这些角色和操作一起作用于w e b 服务构件即w e b 服务软件模块。在典型情况下, 服务提供者定义w e b 服务的服务描述并把它发布到服务代理。服务请求者使用查找操作从 服务代理检索服务描述,然后使用服务描述与服务提供者进行绑定并调用w e b 服务实现交 互。体系结构图如图2 1 所示: 图2 - lw e b 服务体系结构 2 1 2w | e b 服务相关技术标准 w e b 服务技术由一系列的协议和标准组成,包括消息的数据编码标准( x m l ) 、w e b 服务消息传输协议( s o a p ) 、w e b 服务描述语言( w s d l ) 和w e b 服务发现标准( u d d i ) 。 以上这些标准构成了w e b 服务的基础。 1 x m l 8 】 x m l 是s g m l 的最小完备子集。它作为一种新的i n t e m e t 上的数据交换标准技术,也 是w e b 服务中信息描述和交换的标准规范。它使用标记来界定内容,允许用户定义任意复 杂度的结构,具有良好的扩展性;它具有自描述性,适合数据交换和共享;x m l 的另一个 4 南京邮电大学硕士研究生学位论文第二章w e b 服务与w e b 服务事务及容错 特点是平台无关性,它独立于具体的平台和厂商,确保了结构化数据的统一。总之,x m l 为w e b 服务提供了统一的数据格式,包括消息、服务描述以及工作流描述等不同层次协议 都采用x m l 作为定义语言。 2 s o a p t 9 】 s o a p 为在一个松散的、分布的环境中使用x m l 对等地交换结构化和类型化的信息 提供了一个简单且轻量级的机制。s o a p 本身并不定义任何应用语义,如编程模型或特定 语义实现,它只是定义了一种简单的机制,通过一个模块化的包装模型和对模块中特定格 式编码的数据的重编码机制来表示应用语义。s o a p 的这项能力使得它可以被很多类型的 系统用于从消息到远程过程调用( i 心c ) 的延伸。 s o a p 主要由以下四部分组成:封装( e n v e l o p e ) 、编码规则( e n c o d i n gr u l e s ) 、r p c 表 示( r p cr e p r e s e n t a t i o n ) 、绑定( b i n d i n g ) 。虽然这四个部分都作为s o a p 的一部分,但它 们在功能上是彼此独立的。特别地,封装和编码规则是被定义在不同的x m l 命名空间中, 这使得定义更加简单。 s o a p 可以和各种网络协议( 如h r r p 、s m t p 、f t p ) 相结合使用,或者用这些协议 重新封装后使用。s o a p 用x m l 进行消息编码,因此在调用过程中人和机器都极易处理 消息。另外,利用s o a p 消息的方便性使各种s o a p 执行能快速聚合在一起,保证了更大 范围的协同工作。借助x m l 和s o a p ,集成和交互的问题将从层次上被简化。x m l 提供 了跨平台的数据编码和组织方法,而s o a p 建立在x m l 之上,定义了一种跨系统平台的 信息交换的简单包装方法。绑定于h 1 _ 瞪之上的s o a p 协议,可以跨语言、跨操作系统进 行远程过程调用,实现了编程语言与系统平台的无关性。 3 w s d l 1 0 】 w s d l 是一种使用x m l 对w e b 服务进行描述的语言,其主要功能是使w e b 服务提供 者能够将自己的服务生成相关的文档发布给服务请求者。文档的内容包括服务的传输方 式、服务方法接口、接口参数和服务路径等内容。服务请求者可以通过这个文档来创建相 应的请求信息,通过h t t p 传递给w e b 服务提供者;w e b 服务在完成服务请求后,将信息 返回给服务请求者。 从抽象的层次来看,w s d l 有三个主要的元素:数据形态的定义、抽象操作、服务链 接。上述主要元素可以在个别的x m l 文档中作详细叙述,在各种组合中引入,最后来产 生w e b 服务描述,或者是被一起定义于单一的文档中。数据形态的定义决定信息的结构和 内容,抽象操作决定信息内容的操作方式,而服务链接决定携带信息至目的地的网络传输。 4 i j d d i i l l 5 南京邮电大学硕士研究生学位论文第二章w e b 服务与w e b 服务事务及容错 u d d i 是一个用于分布式网络环境下w e b 服务的信息注册规范,这是一个意图建立全 球化的、平台无关的、开放式的构架计划。它同时也是该规范的可实现的访问集合,通过 这样的实现,一个业务实体能够将自身的w e b 服务的信息进行发布,从而使其它业务实体 能够发现这些信息。 u d d i 的核心组件是u d d i 注册中心,它是一个使用x m l 文档来描述企业及其提供的 w e b 服务。所有的注册信息都存储在u d d i 注册中心。u d d i 注册中心则是对所有提供公 共u d d i 注册服务站点的统称,凡是实现u d d i 规范的站点都可以称为u d d i 操作入口站 点,站点之间通过复制机制保持彼此之间的内容同步。 2 1 3w e b 服务的特点 w e b 服务比远程过程访问技术具有更多优势,不仅为那些使用第三方w e b 服务的应用 程序提供了很多的便利,而且作为w e b 服务的应用程序本身就具有很多良好的特性: 1 完好的封装性:w e b 服务是一种部署在w e b 上的对象,具备对象的封装性。使用 者只能看到对象提供的功能接口。 2 松散耦合性:这一特性来源于对象组件技术。当一个w e b 服务的实现发生变更的 时候,调用者是不会感到这一点的,对于调用者来说,只要w e b 服务的调用接口不变, w e b 服务实现的任何变更对它们来说都是透明的,甚至是当w e b 服务的实现平台发生迁移 时,用户都可以对此一无所知。 3 规范性:作为w e b 服务,其所有公共的协议完全需要使用开放的标准协议进行描 述、传输和交换。标准的协议实现了服务提供者、服务代理和服务请求者之间的相互独立。 4 高度可集成性:由于w e b 服务采取简单的、易理解的标准w e b 协议作为组件接口 描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是c o r b a 、d c o m 还是e j b 都可以通过这一个标准的协议进行互操作,实现了在当前环境下最高的可集成性。 2 2w e b 服务事务简介 事务是构建可靠的分布式应用程序的基本概念。事务是一种用来确保应用程序的所有 参与方都能达到彼此已达成协定的输出结果的机制。传统上,事务具有以下被称作a c i d 的属性:原子性( a t o m i c i t y ) 如果成功,则所有操作都发生,如果不成功,则所有操 作都不发生;一致性( c o n s i s t e n c y ) 应用程序在完成的时候才进行有效状态的转变; 隔离性( i s o l a t i o n ) 在事务成功完成之前,各项操作的结果都不能被外界共享;持久 性( d u r a b i l i t y ) 事务一旦成功完成,各项修改都能从故障中恢复过来。 随着网络技术的发展和应用需求的变化,事务处理向分布式事务处理演变,而分布式 6 堕塞堂皇奎兰堡主婴壅皇兰垡垒塞笙三兰! 些里堑皇坠! 墅墅至箜墨查丝 事务已成为构造可靠分布式应用的基础【1 2 】。实现分布式事务的关键技术包括事务控制、事 务提交与故障恢复等。 在i n t e m e t 环境下,w e b 服务事务存在诸如长事务、自治性、异构性和故障频发性等 特点,其对分布式事务提出了新的需求。由于w e b 服务事务存在以上特点,在处理w e b 服务事务时将面临一系列待解决的问题。为了解决上述问题,需要放宽w e b 服务事务对 a c i d 的要求,w e b 服务事务模型不但要支持传统的a c i d 事务,还要能够支持非a c i d 事务,以便适应w e b 服务事务自身的特点。目前,针对w e b 服务事务的研究尚处于起步 阶段,已有工作还没有形成一个完整的体系。工业界侧重于研究w e b 服务事务规范和协议 的标准化,而学术界则主要关注w e b 服务事务的模型和底层支撑技术。 传统的平面事务模型严格支持事务的a c i d 特性,但这些特性严重地限制了w e b 服务 组合的可用性。平面事务模型对于分布式环境下的软件系统来说,对事务的属性要求过于 严格,其执行也过于简单,无法满足许多复杂的业务事务的要求。尤其是在w e b 服务事务 中,对事务性的要求不同于传统的数据库管理系统。它不仅包含类似数据库中的冲突,还 包含诸如商业逻辑的变迁等因素,而且支撑w e b 服务组合运行的底层支撑平台( 如通信平 台、网络设备等) 也十分复杂。因此,w e b 服务本身的复杂性要求不能完全套用传统的事 务模型,而要根据服务组合的特点进行必要的扩展,以适应新的要求。w e b 服务事务模型 对传统事务模型进行了扩展,以满足组合应用的要求,并提高模型的表述能力( 如减少由 于事务同步所造成的事务阻塞和放弃) 。 在平面事务模型单层事务结构的基础上,学术界相继设计了很多复杂事务模型试图处 理或部分地处理面临的问题,这些模型可以适用于特定条件下的事务情形。其中主要有下 面几种模型架构: 1 嵌套事务模型【1 3 】 对传统事务模型的改进,其中一个很重要的步骤就是,将单一层次的事务结构扩展为 多层次结构。一个嵌套事务模型包括了一组子事务,而这些子事务又可以递归包含其它的 子事务,这样就构成了一个事务树。子事务在父事务执行后开始执行,而只有当所有子事 务全部执行结束后,父事务才结束。如果一个父事务被放弃,则所有的子事务均要被放弃。 然而,一旦子事务执行失败,那么父事务可以选择自己的恢复策略,比如,可以执行另一 个子事务( 称为应急子事务) 来完成替代功能。嵌套事务模型提供了一个全局的完全隔离 性,并提供了比传统事务模型更高的事务间的并发性。 2 开放的嵌套事务模型【1 4 】 开放的嵌套事务模型,通过使已经提交的子事务提供对其它并行执行的嵌套事务的可 7 南京邮电大学硕士研究生学位论文 第二章w e b 服务与w e b 服务事务及容错 见性,放宽了隔离性的要求。通过这种方式,并发性得到提高。为了避免对已提交的子事 务结果使用的不一致,只有那些和已提交的子事务相交互的子事务才可以使用提交的结 果。如果两个事务的执行结果与执行的先后顺序无关,则这两个事务是可交互的。 3 s a g a s 模型【1 5 j s a g a s 模型可以处理长事务。一个s a g a s 模型包括了一组子事务t l ,t n ,这些 子事务严格满足a c i d 属性,并且已预先定义好执行顺序。每个子事务分别有自己的补偿 子事务c l ,c l l 。如果所有子事务均成功提交,那么整个s a g a s 模型也成功完成。如果 其中子事务执行失败,如t k ,那么已经提交的子事务t l ,t k - l 通过分别执行补偿事务 c k - l ,c l 来完成撤销。s a g a s 模型放宽了完全隔离性的要求,增加了事务间的并发性。 s a g a s 模型也可以嵌套。嵌套s a g a s 结构把长事务分解为层次化的事务机构,它放宽了 事务的原子性要求,这样通过补偿事务来取消失败事务的影响,使得前向恢复成为可能。 2 3w 曲服务容错简介 目前w e b 服务的应用已成为一个研究热点,包括对w e b 服务协议的标准化问题和w e b 服务核心支撑技术( 如:服务组合、服务发现、服务安全等) 展开了大量的研究工作【l6 1 。 但是目前w e b 服务仍有许多关键问题尚待解决。其中,w e b 服务的可靠性是非常重要的一 个方面【1 7 】。例如在w e b 服务应用领域,尽管构成w e b 服务的底层数据库管理系统能保证 本地数据一致性,但通过工作流等技术将多个w e b 服务组合成新的业务活动后,在出现故 障时( 如:结点故障、通信故障和数据库等系统故障) ,它们可能会失去状态,使得流程 处于未知状态,这样会导致流程不一致。为了使组合w e b 服务的执行顺利进行,如果出现 上述情况,则该服务的执行必须进行服务组件的替换或者重构流程,即在执行中需要对失 效的组件进行快速替换,或者对服务流程进行重构并进行优化,这样才能保证服务组合的 服务质量。可见良好的容错处理方式是保障w e b 服务组合可靠性的保证。本文中容错模型 的主要目标是在故障恢复后让运行的业务流程从故障点重新开始正常执行,确保组合服务 的结果一致性。 传统意义上,容错是指计算机系统对来自系统内或系统外的故障威胁,仍能够保持正 常工作性能的能力,即当系统发生故障时,它的可用性、机密性和完整性等性能尽量不受 破坏或少受破坏,并能进行故障定位、系统重构和恢复。在分布式环境中,系统中的单个 组件和维持系统正常工作的环境都可能会失效,这就要求系统在单个组件失效的时候,失 效的组件不应该妨碍系统向其它相关的组件获取信息【1 8 】。 w e b 服务松耦合环境中的事务容错处理已成为一个研究热点,并得到广泛关注。i v a n v a s q u e z 等人提出一个w e b 服务事务容错模型o p e n w s t r a n s a c t i o n 1 9 】。该模型系统通过使 r 南京邮电大学硕士研究生学位论文第二章w e b 服务与w e b 服务事务及容错 用事务日志记录保存事务生存期中事务关键事件的历史以及数据库操作信息。通过使用应 用程序恢复机制,在操作故障之后,使用日志提供的信息重构事务状态以及重做必要操作, 使发生故障的事务恢复正常执行以达到正确状态。该模型系统的不足之处在于模型考虑的 只是嵌套结构的分布式事务,对于为更加复杂的业务流程提供容错功能时可能出现的问题 缺乏思考。其次,恢复机制中只考虑了单一协调者的情况,参与者在执行恢复时,只能通 过向原有协调者发送请求等待回应。另外中国科学院提出的基于移动a g e n t 的复合w e b 服 务容错模型【2 0 】,目前只是提出一种处理模型而没有实现。f a w s 2 1 1 从服务提供者角度出发, 在w e b 服务平台中提供了失效检测及日志等容错机制,为服务请求者提供透明的可用服务 访问机制。接受到客户请求后,平台依次将请求转发给主副服务实现,直至该请求被处理。 日志机制负责记录所有的请求消息,以此来保证该请求消息不会丢失。此外,它还提供了 失效检测机制,及时发现不可用的服务。f t w e b 2 2 】是由巴西的s a n t o s 等研制的w e b 服务 容错平台,基于服务模型,主要支持主动复制模式。它通过扩展基本的w e b 服务运行环境 来实现容错功能。其它服务组合的容错研究主要有扩展标准协议为w e b 服务提供容错能 力。如f t s o a p 2 3 】是国立台湾海洋大学研制的w e b 服务容错平台,基于服务模型,主要 支持被动复制模式。它通过扩展w s d l ,引入服务组的概念来实现容错功能。文献【2 4 】扩展 u d d i 标准提出主动u d d i 的方法,建立一种基于代理的u d d i 复制机制。 2 4 本章小结 本章对w e b 服务、w e b 服务事务及w e b 服务事务容错进行概述,有利于对所研究内 容的理解。首先介绍了w e b 服务的体系结构和关键技术,并对w e b 服务自身的特点进行 了阐述。然后从研究传统的a c i d 事务开始,分析了事务模型发展的过程,并对现有事务 的主要模型作了一些深入的描述,包括嵌套事务模型,开放嵌套事务模型,s a g a s 模型 等。最后介绍了w e b 服务容错方面的相关研究。 9 南京邮电大学硕士研究生学位论文 第三苹w e b 服务事务协议 第三章w e b 服务事务协议 尽管存在着各种方案、协议及方法,事务处理仍然是w e b 服务中一个基本尚未解决的 问题。原因很多,比如很难对互操作层里所发生的动作进行协调并映射到可执行环境中; w e b 服务是松耦合的,而现有的事务处理技术是为紧耦合环境设计的,等等。在此情形下, 业界各厂商、组织纷纷单独或者联合制定、发布了相关事务处理规范,提出各自的w e b 服 务事务协议。 3 1o a s i sb t p 3 1 1 概述 b t p 2 5 1 协议是o a s i s 组织在2 0 0 2 年提出的个事务处理协议。它基于事务的两阶段 提交协议( 2 p c ) ,用于松耦合的分布式服务之间编排业务流程,以获得来自参与业务各方 的一致结果。在b t p 协议中引入了两种类型的扩展事务:原子事务和内聚事务。其中,原 子事务是指所有的参与者在整个事务提交前都必须得到一致确认的事务。如果任何一个参 与者无法确认,则整个事务将被取消;而内聚事务指的是不需要所有参与者的操作都确认 后才提交的事务。只要部分参与者确认,那么整个事务就可以提交【2 6 】。图3 1 具体描述了 在b t p 协议中的协调者和参与者通过消息交互实现事务的状态转换: s u p e r i o r ( c o o r d i n a t o r ) g e n e r a t e di n f e r i o r ( p a r t i c i p a n t ) g e n e r a t e d 叶一一一一一一一一一一一一 图3 - 1b t p 事务状态转换图 图3 1 中的椭圆结点表示事务状态,它描述了发送消息者代表的事务所处的当前状态。 协调者和参与者通过判断当前状态和发送的消息类型进行状态转换;其中虚线表示参与者 ( p a r t i c i p a n t ) 产生的消息,实线表示协调者( c o o r d i n a t o r ) 产生的消息,线上的注释表示 了传递的消息。在整个协调过程中共有e n r o l l e d 、e n r o l l i n g 、r e s i g n i n g 、p r e p a r i n g 、p r e p a r e d 、 c o n f i r m i n g 、c a n c e l l i n g 、a u t o c o n f i r m 、a u t o - c a n c e l 和c o m p l e t e d 等十种状态。其中 1 0 壹室堂皇奎兰堡圭婴窒竺堂垡迨壅 蔓三雯! 竺竖堑翌墨垫坚 a u t o c o n f i r m 和a u t o c a n c e l 状态是参与者的自发状态,是参与者自主决定提交或者取消 事务后的状态,不是由其它的行为所引起。 当参与者参与到事务当中并且完成了注册,则进入到了事务的协调阶段。在事务的协 调阶段中上述十种状态的具体说明如表3 1 所示。 表3 - 1 事务状态表 状态协调者说明参与者说明 ( s t a t e ) ( m e a n i n gf r o mc o o r d i n a t o r )( m e a n i n gf r o mp a r t i c i p a n o 对e n r o l 消息做出响应,已经向参与 e n r o l l e d 收到e n r o l l e d 消息 者发送了e n r o l l e d 消息 e n r o l l i n g 无已经发送了e n r o l 消息 r e s i g n i n g 无 已经发送了r e s i g n 消息 已经接收到p r

温馨提示

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

评论

0/150

提交评论