(计算机科学与技术专业论文)分布异构环境中事务工作流技术的研究.pdf_第1页
(计算机科学与技术专业论文)分布异构环境中事务工作流技术的研究.pdf_第2页
(计算机科学与技术专业论文)分布异构环境中事务工作流技术的研究.pdf_第3页
(计算机科学与技术专业论文)分布异构环境中事务工作流技术的研究.pdf_第4页
(计算机科学与技术专业论文)分布异构环境中事务工作流技术的研究.pdf_第5页
已阅读5页,还剩124页未读, 继续免费阅读

(计算机科学与技术专业论文)分布异构环境中事务工作流技术的研究.pdf.pdf 免费下载

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

文档简介

国防科学技术大学研究生院学位论文 了用于良构性判定的循环、弱序以及递归构造准则,并证明了准则的有效性。 3 为保证系统的数据一致性,在t w p m 模型的基础上,提出了基于冲突检 测的事务工作流动态并发调度算法c b d s 算法,该算法能够保证调度的正确 性,即可串行性和可恢复性,并且能够适应异构环境的需求,允许被调度活动具 有不同的恢复属性,允许完成了不可补偿活动的事务工作流实例的并发。由于并 发冲突引起的连锁夭折会降低系统性能,尤其对于已经执行较长时间的工作流, 因此进一步提出改进的算法c b d s + ,该算法支持基于q o s ( q u a l i t yo fs e r 、,i c e ) 的延迟调度策略和s a f e 集扩充策略,可减少连锁夭折,性能模拟表明该算法可 有效提高系统吞吐率。 4 为保证失效情况下的语义原子性,基于t w p m 模型,提出了一种层次式 事务工作流失效恢复算法h f r 。该算法针对活动的恢复策略进行层次式的向上规 约处理,动态确定补偿终止点,可有效减小补偿域,减少需要补偿的活动的数目, 从而以较少代价保证应用的语义原子性。证明了算法的正确性,且性能分析表明 h f r 算法的性能通常优于非层次的失效恢复算法。 5 将论文上述思想延伸并应用到基于w 曲s e r v i c e s 的事务工作流中。具有事 务需求的w e bs e n ,i c e s 组合是基于w c bs e r v i c e s 的事务工作流的种重要表现形 式。为保证w 曲s e “i c e s 组合的事务特性,按照事务协调思想的不同,本文将已 有的研究分为s n ( s t r i c t - n e s t e d ) 模式与更具灵活性和实用性的p o ( p r o c e s s o r i e m e d ) 模式,并提出了采用p o 模式的面向w c bs e r v i c e s 组合的事 务模型,基于该模型提出了种基于层次、局部自治的事务性失效恢复算法 h f r 4 w s ,该算法针对复杂的w 曲s e r v i c e s 应用结构。充分开发并利用服务已有 的不同事务支持,支持利用语义等价的服务的查找与选择提高组合的失效恢复能 力和动态适应性,分析表明该算法可有效避免不必要的补偿操作。 6 针对已有工作流产品和原型系统缺乏对工作流执行正确性的支持的情况, 实现了一个事务工作流框架t x b i z f l o w 。该框架支持事务管理的双层逻辑结构: 在工作流层次上对已有的基于j 2 e e 的工作流原型系统b i z f l o w 进行扩展,提 供并发调度器与工作流引擎的无缝集成以及事务性失效恢复管理器的支持,从而 支持过程一级基于p o 模式的事务管理;在活动层次上,采用基于j t a j t s 的事 务管理服务,支持粒度较小的活动一级的事务处理。t x b i z f l o w 为事务工作流的 执行提供并发和恢复的正确性保证。 综上所述,本文针对目前事务工作流的几个关键问题进行了探索,取得了一 定的研究成果。对于提高工作流应用的可靠性、推动工作流技术的实用化具有重 要的理论意义和应用价值。 框架 关键字:事务工作流,过程模型,并发调度,失效恢复,w c bs e r v i c e s ,实现 第页 国防科学技术大学研究生院学位论文 a b s t r a c t w o r k f l o wm a l l a g e m e n ts y s t c m sa r eu s e dt oc o o r d i n a t ea n da u t o m a t eb u s i n e s s p r o c e s s e s s i n c ep r o c e s si n s t a n c e so f t e n8 c c e s ss h a r e d p e r s j s t e n td a t aa n dr u n c o n c u r r e n t l y ,t h e ya r es u b j e c tt ot r a n s a c t i o n a lp r o p e r t i e s i no r d e rt oe n h a n c et h e r e j i a b i l i t yo fw f l sa n dt oe n s u r et h ec o r r e c t n e s so fc o n l p l e xb u s i n e s sp r o c e s s e si n d j s t r i b u t e da n dh e t e r o g e n e o u se n v i r o n m e n t , i ti s i m p o r t a n tt og u a r 柚t e et h o s e t r a n s a c t i o n a lp r o p e r t i e s b u tt r a n s a c t i o n si nw o r k n o wa p p l i c a t i o n sa r ed i 商e r e n tf r o m t m d i t i o n a ln a to n e s t h e ya r e t y p i c a l l yl o n gr u n n i n ga n d w i t h c o a r s e - g r a i n e d o p e r a t i o n s a n dt h er e c o v e r y g u a r a n t e e s o fd i f f e r n ta c t i v i t i e sa r ed i s s i m i l a l f u r 七h e r m o r e ,s e m a n t i c so ft h e 印p l i c a t i o n sa r er i c h f o re x a m p l e ,aw o r k f l o wi n s t a n c e m a yt e 咖i n a t es u c c e s s f u l l yi nd i 疗毫r e n tw a y s s oe v e na d v a n c e dt r a n s a c t i o nm o d e l s a n dm e t h o d sa r en o ts u i t a b l ef o rw o r k n o w a p p l i c a t i o n s i nt h ee a r l yl9 9 0 s ,t 1 1 et e n nt r a n s a c t i o n a lw o r k f l o ww a si n t r o d u c e dt oc l e a r l y f e c 0 2 n i z et h er e l e v a n c eo ft f 甜1 s a c t o n st ow o r k n o w s t h ed e v e l o p m e n to f t r a n s a c t i o n a lw o r k f l o wt e c h n o l o g yi so fg r e a ti m p o n a n c ef o rp u s h i n gw o r k 玎o w t e c h n o l o g yi n t op r a c t i c e t a n s a c t i o n a lw o r k f l o wt e c h n o l o g yh a sb e e nar e s e a r c h f o c u so fb o t ht r a n s a c t i o nm a n a 聆m e n ta n dw o r k n o wa r e a s t oe n s u r et h ec o 玎e n c t n e s so ft r a n s a c t i o n a lw o r k f l o 、b o t hd e n n e t i m ea n d r u n - t i m ef a c t o r sa r et ob ec o n s i d e r e d f i r s t l y ,i no r d e rt op r e c i s e l yd e s c r b ef e a t u r e so f t r a n s a c t i o n a lw o r k f l o w ,ap r o p e rt l l e o r e t j c a lm o d e lm u s tb eb u i l t s e c o n d l y ,t h e w e l l f b n n n e s so fm ed e f i n i t i i o no ft r a n s a c t i o n a lw o r k n o ws h o u l db ec h e c k e d 。s i n c e m i s m a t c ho fr e c o v e r yp o l i c i e so fd j f f e r e n tt r a n s a c t i o n a la c t i v i t i e sm a yl e a dt o v i o l a t i o no f 仃a n s a c t i o n a lp r o p e n i e s t h i r d l y t h ee x e c u t i o no fat r 蛐s a c t i o n a l w o r k n o wi n s t a n c em u s tb r i n gt h e8 y s t e m 矗o m8c o n s i s t e n ts t a t et oa n o t h e rc o n s i s t e n t s t a t e ,a n dj tm u s te n s u r et l l es e m a n t i cp r o p e r 够t h e r c f o r e ,c o n c u r r e n c yc o n t r o la l l d f a i l u r cr e c o v e r ym e c h a n i s ms h o u l db ep r o v i d e df o rt l l er u n - t i m ec o r r e c t n e s s t bs o l v ee x i s t i n gp r o b l e m s ,w eh a v em a d ec o m p r e h e n s i v er c s e a r c hw o r ko nt h e f o u o w i n 2j s s u e si nt h i sd i s s e n a t i o n :t h et r a n s a c t i o n a lw o r k f l o wm o d e l ,w e l l - f o m l n e s s v a l i d a t i o no ft r a n s a c t j o n a lw o r k n o wd e f i n i t j o n , c o n c u r r e n c ys c h e d u l i ng f a j l u r e r e c o v e r va i l dt l l ei m p l e m e n t a t i o nf h m e w o r ko ft r a n s a c t i o n a lw f m s w eu s e w e l l d e n n e ds e m a i l t i c st od e s c r i b et h ec h a r a c t e r i s t i c so fm m s a c t i o n a lw o r k n o w s a n d w ep r o p o s er e l e v a n ta l g o r i t h m sa n dm e c h a n i s m st oe n h 雠c et t i er e l i a b i l i t ya n d c o r r e c t i l e s so fw f m s s t h er e s e a r c hw o r ka l s oe x t e n d st ow e bs e r v i c e sb a s e d t r a n s a c t i o n 8 1w o r k f l o we n v i r o n i n e n tt om e e tt h et r 吼s a c t i o n a lr e q u i r e m e n t so fi o n g r u n n i n gc o m p l e xb u s j n e s sp m c e s s e si nd i s t r i b u t e d 蛐dh e t e r o g e n e o u se n v i r o n m e n t t h ec o n t r i b u t i o n so ft h i sd i s s e n a t i o ni n c l u d e : ( 1 ) w eh a v em a d ec o m p r e h e n s i v er e s e a r c h w o r ko nt r a n s a c t i o np r o c e s s i n g 第v 页 国防科学技术大学研究生院学位论文 图表目录 图1 1 x o p e nd t p 模型 图1 2o t s 系统的组成结构 图1 3工作流参考模型 图1 4w f m s 的主要功能及其相互关系 图1 5旅行预约的例子 图1 6存在并发的c i m 应用案例 图1 7一个企业动态联盟案例 图1 8本文的组织结构 图2 1 一个工作流过程定义的示意图 图2 2事务工作流的控制模式 图2 3 事务工作流的执行状态转换图 表2 1 运行时正确性准则的分类一 图2 4一个良构事务工作流的示意图 图2 5符合递归构造准则的事务工作流例子 图3 1事务工作流实例间的并发冲突 图3 2活动的冲突矩阵 图3 3 r e c 集、s a f e 集及其等待队列示意图 算法3 1 初始化事务工作流i n i t i a l i z ew f 算法3 2 活动的调度e x e c u t ea c t 算法3 3 事务工作流实例的夭折a b o r tw f 算法3 4 事务工作流实例的提交c o m m i tw f 算法3 5 改进的活动调度算法e x e c u t ea c tp l u s 图3 4 c b d s + 算法的r e c 集与s a f e 集 表3 1活动的冲突矩阵图的设置 图3 5不同并发规模下的性能比较 图3 6长期运行事务工作流实例所占百分比不同时的性能比较 表3 2比较准则:衡量是否适合分布异构环境中的实际应用 表3 3事务工作流并发调度算法的比较 图4 1图2 1 所示工作流过程定义的一个执行历史图 图4 2旅行预约服务的工作流过程定义 算法4 1 异常分发e x c e p t i o n d j s p e n s a t i o n 算法4 2 工作流失效恢复f l o w r e c o v e r y 算法4 3 失效活动预处理f a p r e h a i l d l i n g 算法4 4 块补偿图的生成b c g g e n e r a t i n g 图4 _ 3工作流过程定义中的某个块b h 。1 的层次结构 第1 页 o o一他n筋凹”弘加甜私孵弱鳃鼹甜弱硒卯醯卯他鸺为趴 国防科学技术大学研究生院学位论文 图5 1一个w e bs e r v i c e s 组合的定义及其层次结构一8 9 算法5 1w e bs e r v i c e s 组合的失效恢复h f r 4 w s 9 2 算法5 2 补偿图的生成c g g 9 3 图5 ,2一个组合示例9 4 图5 3生成的补偿图9 5 图5 4考虑层次间依赖关系时的补偿图9 5 图5 5基于h f r 4 w s 的失效恢复机制9 5 图6 1t x b i z f l o w 实现框架的组成1 0 2 图6 2良构性验证的工作过程,1 0 5 图6 3基于h f r 算法的失效恢复机制1 0 6 图6 4双层事务管理体系中的抽象层次关系1 0 7 图6 5基于实现框架t x b i z f l o w 的系统总体结构1 0 9 第1 i 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:金盎是控巫墟生塞签王佳速挂盎盟盈壅 学位论文作者签名: 箜j2日期:妒岁年7 月p 日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的金部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:量递是拉丕缝史塞查王堡逾挞盛数珏窒 学位论文作者签名: 作者指导教师签名: 日期:一岁年月p 日 日期:) 弦r 年,月,岁日 国防科学技术大学研究生院学位论文 第一章绪论 “事务”一词来源于拉丁语t r a n s a c t u s ,意为交易、执行、处理、完成、达 成一致等。在计算机领域,该词被赋予新的含义。事务处理概念诞生于2 0 世纪 7 0 年代初,最早源于数据库管理系统,这里事务指的是构成一个逻辑工作流单元 的操作集合,其正确执行需要保证a c i d 特性。事务处理技术为d b m s 的真正 成熟和实用化,以及顺利进入市场起到了关键作用,该技术的创始人和推动者j i m g r a y 博士也由于其创造性思维和开拓性工作获得图灵奖。作为保证共享信息并发 访问的一致性和失效恢复的正确性的一种有效手段,事务处理技术对于提高关键 业务系统的开发效率及维护系统运行的正确性非常重要。 经过3 0 余年的完善和发展,事务处理技术已成为现代信息技术的一个重要里 程碑,并在数据库之上的多种应用领域中得到推广,银行系统采用该技术进行储 户业务管理,证券交易所采用该技术进行股票交易,保险业采用该技术进行保险 购买和支付,酒店行业采用该技术进行酒店管理,制造业采用该技术进行过程调 度和控制,商贸企业采用该技术进行跨地区的业务管理,电信系统采用该技术进 行通话连接和记账,政府自动化系统采用该技术提供社会服务,军队系统采用该 技术进行作战任务的发出,等等。 随着网络的出现,基于分布式数据资源的应用成为一种需求,事务处理技术 从集中走向分布,其表现就是事务作用域跨越多个分布节点,分布性和异构性已 经成为现代企业计算环境的显著特征。分布事务处理在c o r b a 、j 2 e e 、d c o m 以及w e bs e r v i c e 等技术的支持下,变得更为切实可行。很多大型公司,如i b m 、 h p 、i o n a 、b e a 等都从出售事务处理系统中获得巨大利益。事务处理产品和服 务市场每年在创造数十亿美元的收益,而i n t e m e t 上电子商务以及万维网的发展 将进一步扩展事务处理技术的高端市场。 工作流技术是实现分布、异构环境中企业业务过程( b u s i n e s sp m c e s s ) 的建 模与仿真、分析与优化、管理与集成,从而最终实现业务过程自动化的有效手段。 工作流管理系统( w f m s ) 能够在信息技术的支持下,通过合理地调用和分配有 关的信息及人力资源,有效协调和控制分布节点上构成工作流的各个环节,使之 按照一定的规则执行,从而有助于业务过程的集成、自动化和管理。工作流管理 技术以其灵活性和适应性在分布应用领域中占有重要的一席之地。 工作流管理技术最初是由工作流产品开发公司推动并发展的,并在实际应用 中不断取得良好效果,从而逐渐得到人们的充分重视和迅速发展。相对于工作流 产品市场的繁荣,其相关理论研究稍显滞后,研究成果主要集中在w f m s 的体系 结构、模型、定义语言、系统互连和应用上。如何提高w f m s 的可靠性,以及提 供分布、异构的复杂业务过程的正确性保证成为需要进一步关注的问题。 2 0 世纪9 0 年代,人们将高级事务处理思想与工作流技术相融合,衍生出事 务工作流( t r a n s a c t i o n a lw o r k f l o w ) 的概念以及相关研究,该技术对于支持分布、 异构、复杂的关键业务过程的自动化、推动其迈向实用具有重要意义,成为十年 第l 页 来事务处理和工作流领域的研究热点之一。本文针对事务工作流技术已有工作的 不足,在事务工作流模型及其过程定义的合理性判定、并发调度、失效恢复以及 实现框架等方面进行了比较深入的研究,用定义良好的语义、算法和机制来提高 工作流管理系统的正确性和可靠性,并将研究进一步延伸并应用到基于w e b s e r v i c e s 的事务工作流中,从而能够更好地支持大规模、分布、异构、长期运行 的复杂业务过程。 本章首先介绍研究背景,包括事务处理和工作流技术;接着讨论工作流管理 中的事务需求,给出了应用案例,分析了工作流应用的特点、工作流中的事务与 传统事务的差异以及为何提出事务工作流的概念;然后给出论文工作的相关研究 的研究现状;随后阐述论文研究针对的问题、研究内容和主要工作;最后概括了 论文的组织结构。 1 1 事务处理技术及其相关研究 事务处理概念诞生于2 0 世纪7 0 年代初,随后在i b m 公司s a nj o e s 实验室研 制的数据库系统s y s t e mr 中首次被实现,8 0 年代初期形成了并发事务处理的竞 整的理论体系,并同关系数据库理论一起为数据库系统的研制奠定了基础。随后 诞生的商用数据库快速地在各类以数据为中心的企业应用中获得成功应用,使该 技术快速传播和推广。 随着应用需求的不断演化,事务处理技术已从最早的关系数据库管理系统向 多种事务信息系统发展,事务本身也从一系列数据库读写操作的集合延伸为具有 语义的抽象操作序列,事务处理从集中走向分布,事务模型从传统的平坦事务模 型( f i a tt r a n s a c t i o nm o d e l ) 发展到适应具有长期运行、协作等特征的多种扩展事 务模型( e t m :e x t e n d e dt r a n s a c t i o nm o d e l ) 川,并于9 0 年代早期与工作流相融 台,形成了事务工作流的研究体系( 事务工作流技术的引入及其研究现状将在第 1 3 和1 4 节中讨论) 。 为了对事务工作流技术的理论基础有更好的认识,本节从事务处理技术发展 演化的角度,比较全面地概括、分析了该技术的起源和发展,着重介绍了事务处 理的基本概念、核心技术、平坦事务模型,以及高级事务模型和方法。 1 1 1 基本概念 事务是构成一个逻辑工作单元的操作集合,这些操作是一个不可分割的整体。 以银行转账业务为例,资金从一个账户转到另一账户就是一个事务,转出和转入 两个操作要么都完成,要么都不执行,否则就会出现资金管理的不一致。在事务 的生命周期中,会经历多个事件,如开始( b e g i n ) 、提交( c o m m i t ) 、夭折( a b o r t ) 、 回滚( r o 】l b a c k ) ,分别对应事务的开始、成功结束、中止和回退至开始点。事务 的正确执行需要保证a c i d 四个特性,其中: a 是原子性( a t o m i c i t y ) ,又称“非全则无”( a l l - o r - n o t h i n g ) 特性,即一 个事务的所有操作是一个不可分割的整体; 第2 页 国防科学技术大学研究生院学位论文 c 是一致性( c o n s i s t e n e y ) ,是指事务的执行结果必须使数据库从一个一 致状态转化到另一个一致状态; i 是隔离性( i s o l a t i o n ) ,即一个事务的执行不受其它事务执行的影响,每 个事务的执行对其它事务不可见: d 是持久性( d u m b i l 崎) ,指一个事务成功提交后,即使出现失效,其所 做的更改是永久性的。 并发控制和恢复是事务处理技术的两个核心技术1 3 ,4 】,通常分别负责维护事务 的c 、i 和a 、d 特性。为保证事务的正确性,事务管理遵循两个原则:当无失效 发生时,并发执行的事务要满足某种调度性质,如可串行性,从而保证多个并发 执行事务的最终结果等价于某个串行执行的调度;当有失效发生时,能够正确地 进行恢复。例如,当资金从一个账户转出、并且尚未转入目标账号的时候出现系 统故障,数据库处于不致的状态,事务处理技术要负责保证故障发生后回退尚 未提交的事务,回退的结果就是将数据库恢复到该事务执行前的状态,从而保证 数据库的一致性。事务处理技术的一个重要特点就是a c i d 特性的保证对于应用 逻辑是透明的,因此开发者不必关心在并发和失效存在的情况下如何具体实现应 用执行的正确性保证。 大多数事务信息系统【5 采用的是传统的平坦事务模型,这存在很多不足之处。 例如,执行长事务( l o n gr u 肌i n gn 柚s a c t i o n ) 时,可能存在的并发冲突会引起 死锁并降低系统效率,延长事务的执行时间;另外,平坦事务模型的恢复机制不 够灵活。因此,研究者考虑到具体应用语义和依赖关系,适当放松对事务a c i d 特性的要求,提出了多种e t m ,这是事务工作流的一个重要理论基础。 1 1 2 相关研究 1 1 2 1 事务处理核心技术 并发控制 当多个事务并发访问、特别是更改共享资源的时候,可能产生并发访问冲突。 并发控制就是采用适当方法调度事务,避免并发执行的事务之间相互影响而产生 破坏一致性的结果。可串行化是衡量一个调度是否合理的重要准则,即判断一个 调度是否等价于某个串行调度。基本的并发控制技术包括锁方法、时戳法、乐观 方法和多版本机制。这些方法中某些方法的合理结合,可产生新的并发控制技术。 不同的并发控制技术的冲突策略、死锁与否以及适用性与它采用的具体基本方法 有关。 恢复机制 事务是恢复处理的基本单元。恢复机制负责保证事务的原予性和持久性。基 于日志的失效恢复和影子分页技术是两种基本的恢复机制。前者需要在发生失效 时,识别哪些事务需要r e d o ,哪些事务需要u n d o ,随后去执行这些必需的操作, 在此不可缺少的角色是日志。为了减少恢复时回溯的长度,需要周期性的设置检 查点。与基于日志的失效恢复技术不同的另一种技术叫做影子分页( s h a d o w 第3 页 p a g e ) 。该技术消除了日志记录的开销,无需r e d o 和u n d o ,失效恢复的速度较快; 但也存在数据分片、垃圾回收以及提交开销较大的缺点。 分布式事务处理 分布环境中,一个事务被划分成多个分布予事务。子事务不仅要与本地并发 执行的其他事务相互协调,还要与全局事务所产生的其它子事务相互协调。因此, 其并发控制和恢复机制都增加了难度。 对于采用锁方法进行并发控制而言,分布式事务给死锁检测增加了难度;对 于时戳法,需要保证玲布式系统中全局时戳的统一;对于乐观方法,分布式事务 提交时的冲突检测很复杂。分布式系统的恢复比较复杂,因为既要考虑全局事务 本身的原子性又要保证它们的局部子事务的原子性。节点失败和数据通信失败同 时存在的可能性使得情况更为复杂。常见的分布式提交协议是两阶段提交( 2 p c : 1 w op h a s ec o m m i t ) 协议。 1 1 。2 ,2 平坦事务模型 平坦事务模型是一种简单的事务模型,其事务性应用控制只有一层,事务的 a c i d 特性得到保证,适用于短事务和较为简单的应用。 t p m o n i t o r t pm o n i t o r 是执行事务处理应用、保证事务a c i d 特性的计算机系统。最初 仅强调事务处理的正确性,对用户的交互、应用系统的开发和维护都没有提供足 够的支持,如c i c s 和i m s 系统等。随着网络技术的发展。该技术向事务处理监 控中间件发展,提供负载平衡、系统管理,以及良好的适应性和跨平台性,如 t u x e d 0 、e n c j n a 和m t s 系统等。9 0 年代,出现了结合分布对象与t pm o n i t o r 技术的对象事务管理( o t m ) 技术。它具有事务管理功能及高可靠、高可用等优 点,同时又将分布式对象技术中良好的程序设计模型和方法,及高可伸缩性、可 管理性和便捷的遗留系统集成方法引入了事务处理之中,其代表产品主要有 m t s 、m 3 和o r b i x o t m 。 应用服务器 传统的中闻件在面向i n t e f n e t 的环境中凸现出能力的不足,于是一种实现中 间件的新的方式w e b 应用服务器技术应运而生。w 曲应用服务器是一类支持 企业提供面向开放式应用服务的软件系统产品,它不仅包括了对分布事务处理的 支持,还能够在成千上万的i n t e m e t 用户并发访问规模下,支持多种类型的客户 访问,及高可用的服务性能。 应用服务器通常位于三层客户绡r 务器结构的中间层,是事务监控中间件技术 面向i n t e m e t 应用需求的延伸。事实上,目前市场上主流的应用服务器技术,也 正是由那些分布计算中间件厂商或数据库厂商的产品所发展起来的。例如i b m w 曲s p h e r e 、b e aw e b l o g i c 、o r a c l e 9 i a s 、s u ni p l a n e t 等,通常都支持数据库连接、 事务管理、安全、负载平衡等功能。 相关规范 第4 页 国防科学技术大学研究生院学位论文 ( 1 ) x 0 p e nd i p 【6 】 分布事务处理( d t p :d i s t r i b u t e dt r 8 n s a c t i o np r o c e s s i n g ) 模型定义了一种软 件系统结构,该结构允许多个用户应用程序共享由不同的资源管理器提供的资源, 并且可以在全局事务中协调不同应用程序对资源管理器的事务性操作,如图1 1 : 应用程序 ( a p ) 图11 x ,o p e nd t p 模型 d t p 模型由三部分组成:应用程序( a p ) 定义事务的边界并指定组成事务的操 作;资源管理器( r m ) 提供对共享资源的访问;事务管理器( t m ) 管理全局事务正 确执行。a p 通过t x 接口调用t m ,开始和结束一个全局事务,通过a p r m 接 口在事务中调用r m 。蹦提供对共享资源的访问,一般来说,蹦的类型有多种, 可以是包括i n f o n t l i x ,o r a c l e ,s y b a s e 的d b m s ,或者事务性队列等。t m 和r m 通过x a 接口通讯,这个接口支持2 p c 协议,以保证全局事务的原子性提交。 ( 2 ) c o r b a o t s 对象事务服务( o t s :o b i e c tt r a n s a c t i o ns e n ,i c e ) 1 7 是由o m g 组织定义的一 种基于o r b 的事务处理服务。o t s 技术把分布式对象技术与事务处理技术结合 起来,能够有效地保证分布式事务的原子性和永久性,是目前分布式事务的一种 有效的解决方案。o t s 定义了一组跨越多个c o r b a 对象来完成事务管理的i d l 接口。由事务发起者界定事务边界,事务性对象和资源对象完成相关事务性操作, 这两部分组成0 t s 服务的应用系统,如图1 2 : 开 图12o 下s 系统的组成结构 o t s 支持优化的2 p c 协议,其中o t s 服务本身作为协调者,实现对多个参 与者,即资源对象操作的事务管理。o t s 提供显式和隐式两种事务上下文传播方 式。事务j 二下文代表事务相关信息,通过事务上下文的传播,可使一个执行环境 第5 页 中甚至不同执行环境中的多个线程与同一个事务相关联。o t s 支持平坦事务和嵌 套事务模型,但后者并不需要在o t s 实现中提供。如果将o t s 服务作为事务管 理器( t m ) ,d b m s 作为资源管理器( 1 t m ) ,o t s 的应用系统作为应用程序( a p ) , o t s 可以实现与x ,o p e nd t p 模型的无缝集成。 ( 3 ) j t s 与j 1 、a j 1 1 a ( j a v at r a n s a c t i o na p i ) 例和j t s ( j a v a1 1 r a n s a c t i o ns e r v i c e ) 是面向j a v a 的事务处理规范,通常用于j 2 e e 系统中。j 1 a 描述了一组标准a p i ,它由三部分 组成:事务性应用定义事务边界的高层应用接口;x o p e n x a 协议【9 1 的标准j a v a 映射,是事务管理器与资源管理器之间的接口;应用服务器控制事务的高层事务 管理接口。 j t s 是j 2 e e 规范中的事务处理规范,是c o r b a o t s 的j a v a 实现。j t s 规定 了事务管理器的实现方式。该事务管理器是在高层支持j a v a1 r a n s a c t i o na p i f j t a l 规范,并且在较底层实现o m go t ss p e c i f i c “o n 的j a v a 映像。应用程序从而可 利用j t a 的高层应用接口,使用j t s 所提供的事务处理服务,应用服务器可采用 j 1 a 的高层事务管理接口在应用服务器中提供事务管理功能,另外,j t s 还可以 利用j t a 提供的x o p e nx a 接口实现与多个资源管理器的交互,以完成各种数 据资源访问操作。由于j t s 实现了c o r b a o t s ,因此利用o t s 提供的相应接口 实现事务管理器之间的互操作。 资源管理器 通过资源管理器( r m :r e s o u r c em a n a g e r ) 可以访问其数据信息,数据库管 理系统、文件系统、事务性队列等都是r m 。下面介绍两种常见的i 蝴: ( 1 ) d b m s 事务处理功能是d b m s 的一项重要功能,用于管理本地事务的并发控制以及 失效恢复处理。同时,多数商用d b m s 实现了) ( ,0 p e nx a 协议接口,从而可以 作为一个事务分支以标准的方式加入到全局事务中,并与事务管理器进行交互, 协调完成该事务。 ( 2 ) 消息中间件 消息是消息中间件所管理的资源,消息中间件通常采用通道或者持久队列等 机制作为中介支持分布环境中消息的异步传送。消息中介通常具有消息存储与转 发的功能。为保证消息发送或者接收操作的可靠性与只发一次的语义,消息通信 中间件提供内部事务支持,使得多个消息操作可以作为一个原子整体完成,并且 在出现失效时,可以保证消息的一致性存储,这是早期事务性远程过程调用 ( t r a n s a c t i o n a lr p c ) 进一步发展的结果。除了内部事务,很多商用持久队列机 制,如l b m 的m q s e r i e s 、微软的m s m q 都支持x o p e nx a 协议,可以与大多 数支持x a 标准的其它资源管理器协同工作,完成一个分布事务。 1 1 2 _ 3 高级事务模型和方法 平坦事务模型在理论和商业领域都取得了重要的成果,但是人们普遍认识到 第6 页 它仍存在很多限制,于是出现了多种e t m 、框架和相应的方法。 几种常见的e t m 由于平坦事务模型不能很好地满足应用需求,研究人员按照应用语义建立合 适的事务组成结构,根据子事务问的依赖关系以及可见性要求,采用补偿和等价 替换等手段,适当调整并放松事务的a c i d 要求,提出了各种e t m ,常见的包括 嵌套( n e s t e d ) 事务1 10 1 、开放式嵌套( 0 p e n n e s t e d ) 事务【”l 、s a g a s l l 2 1 、分支汇 合( s p l i “j o i n ) 事务【1 3 j 、f 1 e x i b l e 事务【1 4 】等。 ( 1 ) 嵌套事务 从平坦事务模型到e t m ,一个重要的改进是事务由单层结构扩展为多层结 构。嵌套事务模型由e m o s s 提出,一个嵌套事务包括多个子事务,并允许子事 务进一步的递归包含关系,从而形成树形结构。子事务只有在父事务开始后才能 开始,父事务在所有子事务提交后方可提交,父事务回滚,则所有子事务都必须 回滚。子事务的失效可以采用等价替换( c o n t i n g 吼c y ) 的方法进行恢复。 嵌套事务的分层结构增加了事务的模块化程度,在失效处理时允许更细的粒 度,在事务内部具有更高的并发性,减少了处理的响应时间。 ( 2 ) 开放式嵌套事务 与嵌套事务模型相比,开放式嵌套事务模型支持更为放松的隔离性。该模型 中,已经提交了的子事务的结果对其它并发执行的子事务是可见的,从而可以得 到更高的并发度。这种可见性可能会引起数据访问的不一致,例如子事务t ,已经 提交,t 2 读取t l 的结果,但是t 1 由于某种原因被补偿,这时t 2 可能读到的是不正 确的数据。为了避免发生这种情况,只有与已提交事务可交换的子事务才被允许 访问其结果。如果两个事务的执行结果不因其执行顺序而改变,则称这两个事务 是可交换的。 该模型可以刻画面向对象等类型的数据库中的事务层次结构,每个层次对应 系统中某种粒度的抽象操作。例如,最高层对应数据库事务,次高层对应逻辑操 作,最低层对应读写操作。每一层具有独立的并发和日志机制。 ( 3 ) s a g a s s a g a s 由p r i n c e t o n 大学的h g a r c i a m o l i n a 等人提出,是一种用于解决长事 务问题的模型。一个s a g a 由个预先定义好执行顺序的子事务集合t 和一个相 对应的补偿子事务集合c t 组成。任意一个子事务k 都具有a c i d 特性,以保证 数据库的一致性。一旦子事务k 完成,通过释放锁定,它的操作结果对其它事务 而言就是可见的。只有当1 ,2 ,t 。按顺序依次提交后,一个s a g a 才被成 功地完成;如果其中某个子事务执行失败,比如是第k 个子事务t k ,那么系统将 通过执行补偿子事务c t k 来撤销t k 和前面已经提交的k _ 1 个子事务的操作结果, 补偿子事务按逆序执行。 s a g a s 中首次引入了补偿的概念,即通过应用语义取消已产生的结果,放松 了对原子性的要求;另外,子事务一旦提交就对其它子事务可见,放松了事务操 作隔离性的要求,增加了事务间的并发性。该模型的缺点在于要求为每个子事务 第7 页 国防科学技术大学研究生院学位论文 和尝试,其本身没有形成原型系统。 1 2 工作流技术概述 工作流是一类可以完全或者部分自动完成的业务过程,依据一系列过程规则, 文档、信息或任务能够在不同的参与者之间传递1 1 1 ,从而实现分布、异构、自治 的信息与资源的有机协调,最终完成特定的业务目标。一个工作流定义了某个特 定的业务过程,该过程由逻辑上更细粒度的子过程或者活动构成,予过程和活动 对应于业务过程中的子任务,完成某种具体操作。工作流的最基本元素就是活动 以及活动间的约束关系。活动间的约束关系包括控制流和数据流两种,前者定义 活动间的逻辑执行顺序,可以对应并发、串行、分支、循环、优先等多种控制结 构,后者描述的则是活动间的信息传递和交互,约束关系定义了工作流的执行规 则。 1 2 1 工作流参考模型 随着工作流技术的不断发展,应用需求的不断扩大,

温馨提示

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

评论

0/150

提交评论