




已阅读5页,还剩62页未读, 继续免费阅读
(计算机应用技术专业论文)事务工作流技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 工作流技术是实现业务过程自动化的一种有效手段,事务处理技 术对于提高工作流管理系统w t m s ( w o r k f l o wm a n a g e m e n ts y s t e m ) 的 可靠性具有重要作用。在2 0 世纪9 0 年代,人们将各种扩展事务模 型与工作流技术相融合,衍生出事务工作流( t r a n s a c t i o n a lw o r k f l o w ) 技术,该技术对于支持分布、异构、复杂的关键业务过程的自动化、 推动其迈向实用具有重要意义。 针对目前过程模型对事务性支持的不足,本文提出了一种事务工 作流过程模型t f p m ,该模型支持过程的嵌套结构,并引入隔离域概 念及错误恢复属性使之满足工作流的事务性需求。针对当前事务工作 流系统中存在的各种并发情况,提出了基于隔离域的并发调度算法, 该算法允许用户通过合理设置过程中的隔离域及各种隔离属性来有 效的避免工作流系统中因为各种并发执行而产生的丢失修改、读取脏 数据等现象发生,并且该算法可以使用户根据业务的具体需要,灵活 的定制过程的隔离级别,提高过程实例的并发度。提出了基于过程执 行历史的错误恢复算法,该算法充分考虑了事务工作流中的各种并发 情况,当活动出现运行错误时根据活动所属隔离域判断所需补偿的活 动范围,补偿时根据过程执行历史进行补偿,从而减小了补偿代价。 针对已有工作流产品和原型系统缺乏对工作流事务性支持的情况,设 计了一个事务工作流原型系统t f l o w ,该原型系统为事务工作流的执 行提供并发调度策略和正确性保证。 本文在事务工作流过程模型、并发控制、错误恢复及事务工作流 原型系统等方面的研究为事务工作流的研究提供了新的思路和方法。 关键词事务工作流,并发控制,隔离域,错误恢复,过程执行历史 a b s t r a c t w o r k f l o wm a r i a g e m e n ts y s t e 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 e b u s i n e s sp r o c e s s e s s i n c ep r o c e s si u s t a n c e so f t e na c c e s ss h a r e dp e r s i s t e n t d a t aa n dr u nc 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 n o r d e rt oe n h a n c et h er e l i a b i l i t yo fw f m sa n dt oe n s u r et h ec o r r e c t n e s so f t h e c o m p l e xb u s i n e s sp r o c e s s e s i nd i s t r i b u t e da n dh e t e r o g e n e o u s e n v i r o n m e n t ,i ti si m p o r t a n tt og u a r a n t e et h o s et r a n s a c t i o n a lp r o p e r t i e s i n t h ee a r l y 1 9 9 0 s ,t h et e r mt 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 o c l e a r l yr e c o g n i z et h er e l e v a n c e o ft r a n s a c t i o n s t ow o r k f l o w s t h e d e v e l o p m e n to ft 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 r t a n c e f o rp u s h i n gw o r k f l o wt e c h n o l o g yi n t op r a c t i c e t r a n s a c t i o n a lw o r k f l o w t e c h n o l o g yh a sb e e nar e s e a r c hf o c u so nb o t ht r a n s a c t i o nm a n a g e m e n t a n dw o r k f l o wa r e a s t os o l v ee x i s t i n gp r o b l e m s ,w ep r o p o s eap r o c e s sm o d e lt f p mo f t h et r a n s a c t i o n a lw o r k f l o w , w h i c hi n t r o d u c e st h en e s t i n gs t r u c t u r e ,g i v e t h ed e f i n i t i o no f t h i sm o d e l a n dt h ed e f i n i t i o no f t h ei s o l a t i o ns p h e r e ,t h e t y p e so ft h ef a i l u r er e c o v e r y , w h i c hs u p p o r tt h ec o n c u r r e n c yc o n t r o l b a s e do nt h ei s o l a t i o ns p h e r ea n dt h ef a i l u r er e c o v e r yb a s e do nt h e p r o c e s se x e c u t i o nh i s t o r y a n a l y z et h ec o n c u r r e n c yp h e n o m e n ao ft h e w o r k f l o wm a n a g e m e n ts y s t e m p r o p o s eas c h e d u l i n ga l g o r i t h m ,w h i c h c a na v o i d st h el o s tu p d a t ea n dt h ed i r t yr e a dp h e n o m e n ab a s eo nt h e a p p r o p r i a t es e t t i n go ft h ei s o l a t i o ns p h e r ea n dt h ei s o l a t i o np r o p e r t y ,t h e u s e rc a ns e tt h ei s o l a t i o nl e v e lb a s e do nt h eb u s i n e s sp r o c e s s a n d i m p r o v et h ec o n c u r r e n c yo ft h ep r o c e s si n s t a n c e a n a l y z et h ec a u s e so f t h ew o r k f l o ws y s t e m s f a i l u r e s ,c o m p a r t m e n t a l i z e t h et y p eo ft h e s e f a i l u r e s ,a n dt h e np r o p o s et h ef a i l u r er e c o v e r ya l g o r i t h mw h i c hb a s e do n t h ep r o c e s se x e c u t i o nh i s t o r y t h i sa l g o r i t h mc a nr e d u c et h es p h e r eo ft h e c o m p e n s a t i o n d e s i g nap r o t o t y p eo ft h et r a n s a c t i o n a lw o r k f l o ws y s t e m n a m e dt f l o w , w h i c hs o l v e st h e p r o b l e mo ft h ee x i s t i n gw o r k f l o w p r o d u c t s o r p r o t o t y p e s t h i sp r o t o t y p ep r o v i d e si n t e g r a t i o n o f c o n c u r r e n c ys c h e d u l e ra n dw o r k f l o we n g i n e t f l o wi s af r a m e w o r kt h a t p r o v i d e sc o n c t l r r e n c ya n dr e c o v e r y c o r r e c t n e s s g u a r a n t e e s f o rt h e e x e c u t i o no f t r a n s a c t i o n a lw o r k f l o w o u rr e s e a r c ho nt r a n s a c t i o n a lw o r k f l o wm o d e l ,c o n c u r r e n c yc o n t r 0 1 f a i l u r er e c o v e r ya n dt r a n s a c t i o n a lw o r k f l o wp r o t o t y p e p r o v i d e san e w a p p r o a c ha n da nn e wi d e af o rr e s e a r c ho nt r a n s a c t i o n a lw o r k f l o w k e yw o r d st r a n s a c t i o n a lw o r k f l o w ,c o n c u r r e n c yc o n t r o l 。i s o l a t i o n s p h e r e ,f a i l u r er e c o v e r y ,p r o c e s se x e c u t i n gh i s t o r y 原创性声明 木人声明,所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的成果。尽我所知,除论文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 中南大学或其他单位的学位或证明而使用过的材料。与我共同工作的 同志对本研究所作的贡献已在论文的致谢语中作了明确的说明。 作者签名:盘区鱼迅日期:丝年三月鱼日 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校有 权保留学位论文,允许学位论文被套阅和借阅:学校可以公布学位论 文的全部或部分内容,可以采用复印、缩印或其它手段保存学位论文; 学校可根据国家或湖南省有关部门规定送交学位论文。 作者签名:叠函逸 导师签r 期:迎 年士a 加兑 蕴 硕士学位论文 第一章绪论 1 1 工作流技术及相关研究 工作流是一类可以完全或者部分自动完成的业务过程,依据一系列过程规 则,文档、信息或任务能够在不同的参与者之问传递,从而实现分布、异构、自 治的信息与资源的有机协调,最终完成特定的业务目俐1 1 。工作流管理系统 ( w o r k f l o wm a n a g e m e n ts y s t e m ,简称为w f m s ) 能够在信息技术的支持下,通 过合理地调用和分配有关的信息及人力资源,有效协调和控制分布节点上构成工 作流的各个环节,使之按照一定的规则执行,从而有助于业务过程的集成、自动 化和管理1 2 】。工作流管理技术以其灵活性和适应性在分布应用领域中占有重要的 一席之地。 1 1 1工作流的起源与发展 工作流的概念起源于生产组织和办公自动化领域。它是针对日常工作中具有 固定程序的活动而提出的一个概念。目的是将工作分解成定义良好的任务,角色 按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办事效率、 降低生产成本、提高企业生产经营管理水平和企业竞争力的目的。 工作流管理系统的雏形出现在8 0 年代初期,纸张是各行各业中进行日常业 务活动所不可替代的载体,这种古老的载体在信息的处理、组织、存储以及查询 检索方面都是低效的,那时计算机尚未作为信息处理工具而出现。因此人们希望 出现一种无纸化的、计算机操控的工作环境m 。一些公司、企业也建立了自己专 用的或者可商品化的表单传递应用系统,通常运行在大型机或小型机上,用于实 现日常表单处理的电子化与自动化。 到了8 0 年代中期,早期的工作流管理系统出现,主要包括f i l e n e t 和v i e w s t a r 等公司把图像扫描、复合文档、结构化路由、实例跟踪、关键字索引以及光盘存 储等功能结合在一起形成的一种全过程支持某些业务过程的集成化的软件。这也 说明工作流从最初的诞生之日起就是作为一种面向过程的系统集成技术而出现 的,只不过限于当时的计算机发展水平,它所集成的功能较为简单而已。 进入9 0 年代,随着计算机的普及、网络的延伸,现代企业的信息资源越来 越表现出一种异构、分布、松散耦合的特点,企业的分散性、决策制定的分散性、 对日常业务活动详尽信息的需求以及c l i e n t s e r v e r 体系结构、分布式处理技术的 硕士学位论文 绪论 日益成熟,在这种不可抗拒的技术背景下,工作流管理系统也由最初的创建无纸 办公环境转而成为同化企业复杂信息环境、实现业务过程自动执行的必要工具。 这样的一个转变,把工作流技术带入了一个崭新的发展阶段,使得人们从更深的 层次、更广的领域上对工作流展开了研究。 工作流技术的标准化组织工作流管理联盟( w o r k f l o wm a n a g e m e n tc o a l i t i o n , 简称w f m c ) 于1 9 9 3 年成立,它的成立标志着工作流技术在计算机应用研究领 域之中被明确地划分出来,相应的概念与术语也得到了人们的承认。在全球范围 内,对工作流的技术研究以及相关的产品开发进入了更为繁荣的阶段,更多、更 新的技术被集成进来,文件管理系统、数据库、电子邮件、移动式计算、i n t e r a c t 服务等都已被容纳到工作流管理系统之中。 1 1 2工作流参考模型 随着工作流技术的不断发展,应用需求的不断扩大,出现了众多具有工作流 管理功能的商业产品和原型系统。这些产品和系统都有自己的特点,例如在系统 结构的设计、所支持业务过程的特点、所运行的环境、所提供的协议和接口规范 等方面各不相同。但是,对于大型应用而言,某种w f m s 可能不能满足其所有 需求,这时往往需要集成不同的产品或者系统,从而要求不同的产品和系统能够 实现互连和互操作。在这种需求的推动下,工作流管理联盟( w f m c ) 颁布了工 作流参考模型【l 】,成为w f m s 的系统架构、有关概念和接口规范的重要标准。 图1 1 描述了工作流参考模型的主要组成和接口,其中,工作流a p i ( w a p i ) 是 由工作流执行服务为其它工具和应用提供的编程接口,包括五类接口功能。工作 流参考模型对于不同工作流产品之间的交互以及利用工作流执行服务开发过程 自动化应用具有重要意义。 图1 - 1 工作流参考模型 - 2 - 硕士学位论文绪论 1 、工作流执行服务器 工作流执行服务器是由一个或多个工作流引擎组成,为过程实例和活动提供 运行环境,负责解释和激活过程定义。工作流引擎为工作流实例提供部分或者全 部的运行环境,其主要功能包括解释过程定义,控制过程实例的执行,如创建、 激活、挂起、终止一个实例,为过程的活动导航,与用户交互,提供调用外部应 用程序的接口,提供控制、管理和审查功能等等。 2 、过程定义工具 过程定义工具主要是为业务过程提供分析、描述及建模的功能,可将业务过 程表达为计算机可识别的形式,即w f m s 建立时功能的主要任务。接口l 定义 了过程定义工具与工作流执行服务之间的交互,即设计环境与运行环境之间交互 的规范,以使不同的建模工具产生的过程定义可以输入到不同工作流产品的运行 环境中。 3 、工作流客户应用 w f m s 为每个用户维护一个工作列表,即工作流引擎分配给用户的任务序 列。用户通过工作流客户应用从工作流引擎获取工作项和工作流相关数据。接口 2 定义了工作流执行服务同客户应用程序和工作列表处理程序之间的交互,包括 会话连接的建立、过程实例控制、过程状态管理、工作列表和工作项处理、数据 处理、应用调用等等。 4 、被调应用程序 w f m s 在运行过程中有时需要调用外部应用程序,以处理工作流应用数据, 或者完成某种系统本身不能完成的工作,或者与其他系统进行集成,这种交互是 由接口3 定义的。接口3 主要规定了调用外部应用程序的详细信息格式,如被 调应用的类型、地址、参数等,以及外部应用程序返回数据的格式。 5 、管理和监控工具 管理和监控工具为用户提供管理和监控w f m s 的运行状态、查看w f m s 运 行的历史记录的功能,具体包括用户管理、角色管理、审计管理、资源控制、过 程管理、过程状态监控,等等,从而可以获得工作流实例运行状态的完整视图。 接口5 定义了管理和监控工具与工作流执行服务之间的交互。 1 2 事务处理技术 事务处理概念诞生于2 0 世纪7 0 年代初,最早源于数据库管理系统。事务 处理技术为数据库管理系统( d a t a b a s em a n a g e m e n ts y s t e m 简称d b m s ) 的真正 成熟和实用化,以及顺利进入市场起到了关键作用 4 1 。作为保证共享信息并发访 问的一致性和失效恢复的正确性的一种有效手段,事务处理技术对于提高关键业 硕士学位论文 务系统的开发效率及维护系统运行的正确性非常重要。 随着网络的出现,基于分布式数据资源的应用成为一种需求,事务处理技术 从集中走向分布,其表现就是事务作用域跨越多个分布节点,分布性和异构性己 经成为现代企业计算环境的显著特征。分布事务处理在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 c r n e t 上电子商务以及万维网的发 展将进一步扩展事务处理技术的高端市场【5 】。 1 2 1基本概念及属性 事务的概念最早是在数据库领域中提出的。所谓事务是指构成一个逻辑工作 单元的操作集合,其正确执行需要保证a c i d 特性【6 】。为确保数据库中数据的一 致性,数据的操作应当是离散的成组的逻辑单元。当它全部完成时,数据的一致 性可以保持,而当这个单元中的一部分操作失败,整个事务应全部视为错误,所 有从起始点以后的操作应全部回退到开始状态。 事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是 一个不可分割的原子单位。由事务的定义很容易引出传统事务的四个主要特性, 即原子性( 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 ) ,这四个特性简称a c i d 特性,其含义如下: l 、原子性:一个事务中所有的操作是不可分割的,全部操作要么全做要么 全不做,不允许部分完成,不存在部分执行的事务。 2 、一致性:事务执行的结果必须是使数据库从一个一致性状态变迁到另一 个一致性状态,没有其它中间状态的存在。 3 、隔离性:一个事务的执行不能被其他事务干扰,即一个事务内部的操作 及使用的数据对其它并发事务是隔离的,并发执行的各事务问不能相互干扰。隔 离性是事务可并发执行的保证。 4 、持久性:一个事务一旦提交,它对数据库中数据的改变就是永久性的, 接下来的其它操作和故障不能引起事务的撤销。 在数据库系统中,事务的正确性由d b m s 予以保证。一般地讲,d b m s 通 过恢复协议保证事务的原子性和一致性,通过并发控制协议保证事务的隔离性, 通过提交协议保证事务的持久性。 硕士学位论文绪论 1 2 2 扩展事务模型 传统的数据库事务模型在数据库操作一致性管理方面取得了巨大的成功,但 它并不能有效的解决包含长事务的系统的正确执行问题,所以为了解决长事务问 题,人们提出了很多的扩展事务模型,它们从不同程度上放宽了a c i d 属性,在 保证系统的正确性和一致性的同时,使得复杂应用更具有可用性。扩展事务模型 主要包括:嵌套事务、s a g a s 、多层事务、分支汇合事务模型、柔性事务模型。 l 、嵌套事务模型 嵌套事务 7 1 的出发点是将平面事务扩充成一个层次结构。一个嵌套事务由一 些子事务组成,每一个子事务可以递归地包含自己的子事务,从而组成了一棵事 务树。只有当父事务开始之后,子事务才能运行;并且只有在所有的子事务结束 后,父事务才能结束。当父事务回滚时,它的所有子事务也必须回滚。 2 、s a g a s 模型 与嵌套事务不同,s a g a s l 8 】是一组子事务组成的线性序列,而不是嵌套结构。 它是面向长事务的。一个s a g a 由一组子事务t l ,t 2 t n 组成,其中的每一个子事 务都对应一个补偿事务c 。对任何一个s a g a ,只有当所有子事务按顺序依次提交 后,s a g a 才成功完成;若其中某个子事务t i 失败,那么系统将通过逆序执行补偿 子事务来撤销t i 和静面已经提交的i 1 个子事务的操作结果。s a g a s 模型首次引 入了补偿事务的概念,利用应用语义来“补偿”已执行事务的更新效果。s a g a s 不再是提供严格的a c i d 特性,而是松弛原子性。 3 、多层事务模型 多层事务1 9 1 是嵌套事务的更一般形式。多层事务的子事务可以在全局事务结 束前提交或者回滚,从而释放自己占用的资源。如果全局事务回滚,它通过执行 补偿子事务来取消己提交的子事务的作用。一个补偿子事务c i 在语义上取消已 提交事务t i 的作用,因此在执行完t ic i 后系统的状态和执行该序列前的系统状 态是一致的。但是,如果某个事务在执行过程中观测了另外一个事务的结果,而 后来该子事务被补偿,这时系统状态就可能不一致。 4 、分支汇合事务模型 分支汇合事务模型【lo 】是由c o l u m i b a 大学的c k a i s e r 和c p i l 等在研究非封 闭( o p e n e n d e d ) 活动时提出的。非封闭活动的特点将产生长时间事务。分支汇合 事务模型采用动态重构技术,对活动的各个并发事务进行动态的修改。一种操作 是将一个正在进行的事务分成两个可串行的事务,它们从此可以独立地运行:另 一种操作是将两个正在进行的可串行事务合并成一个事务。分支事务产生的新事 务不是原来事务的子事务,也不存在父事务,两个新事务之间是完全独立的;而 硕士学位论文 汇合事务的结果则是一个普通事务。两种操作的结果对执行的串行化没有影响, 只是部分影响了并发的原子性。 5 、柔性事务模型 柔性事务模型( f l e x i b l et r a n s a c t i o n s ) 【1 1 1 - - 种适用于多数据库系统的事务模 型。一个柔性事务包含多个子事务,这些子事务通过p r e c e d e n c e 和p r e f e r e n c e 两 种约束关系组合在一起。子事务按其完成保i 正( t e r m i n a t i o ng u a r a n t e e ) 分成可补偿 事务、可重复事务和p i v o t 事务三种类型:可补偿事务是指可以补偿的子事务, 可重复事务是指执行有限次数后最终提交的事务,而p i v o t 事务是除了这两种类 型以外的其他事务。 1 3 事务工作流研究现状 某些应用领域的业务过程自动化要求一个工作流或其子过程作为一个整体 要么正确提交,要么回滚退出,并且当多个工作流实例或者一个工作流实例内部 并发访问底层资源时,无论是否出现失效,一个事务工作流的执行必须将系统从 一个一致状态转换到另一个一致状态,即工作流具有事务特性。 尽管扩展事务模型的提出对于长事务的执行有了一定的支持,但对于工作流 而言扩展事务模型的结构都很有局限性,扩展事务模型中所预先定义的许多属性 对于工作流应用而言可能不必要,有些甚至在实际应用中是无法实现的,如s a g a s 模型假设所有的活动都存在相对应的补偿活动,这在工作流的实际应用中是不成 立的,所以人们提出了事务工作流的概念。 事务工作流这一术语最早是由a s h e t h 等人在文献 1 2 1 中提出的,但尚无被 普遍认可的定义。从广义的角度来看,具有事务需求的工作流就是事务工作流。 事务工作流涉及分布环境中多个相关任务的协调执行,其整个过程或者整个子过 程需要保证某几种事务特性。事务工作流采用扩展事务模型的思想描述其正确性 准则,如补偿、日志记录等来保证数据一致性以及可靠性。 1 3 1事务工作流原型系统 事务工作流的研究来源于扩展事务模型,但前者比后者具有更丰富的语义。 尽管两者之间存在差异,但这并不妨碍扩展事务模型的思想用于事务工作流中, 以保证后者执行的一致性和可靠性。 事务工作流的研究始于2 0 世纪9 0 年代初期,到目前为止,己经出现了多 个具有代表性的研究项目和原型系统,包括c o n t r a c t s 模型、f l o w m a r k 、w a m o 、 m e t e o r 、o p e r a w i s e 、w i d e c r o s s f l o w 等,下面着重介绍这些研究中的 硕士学位论文绪论 事务管理技术。 l 、c o n t r a c t s 模型1 1 3 】 该模型是德国s t u t t g a r t 大学的a r e u t e r 等人提出的一个事务工作流模型。 一个c o n t r a c t 就是一个工作流,由一系列事先定义好的步骤组成,按照一定的 控制流脚本执行。每个步骤都是一个符合a c i d 特性的事务。c o n t r a c t s 中引入 了补偿机制,并发控制和恢复是合并在一起考虑的。一个c o n t r a c t 是正确的, 当且仅当它处于初始状态或者处于结束状态或者每一个步骤的补偿步骤都能够 保证执行。并发执行的过程之间冲突的唯一来源就是当一个过程修改对象状态的 方式导致另一过程的补偿活动不能执行。为保证补偿步骤能够执行,为各个步骤 建立以谓词形式表达的约束条件。每个步骤完成时,检验其谓词表达式,若为真, 则可以提交,否则即认为发生了并发冲突,系统将获取相关信息,初始化补偿步 骤来解决冲突。该方法放松了隔离性,步骤在执行过程中其某些操作的结果就已 对外可见,提高了并发度。但在实际应用中,并不是每个步骤都是可补偿的。 2 、f l o w m a r k 1 4 】 f l o w m a r k 是i b ma l m a d e i l 研究中心e x o t i c a 项目的一部分,致力于大规模 工作流管理系统的可用性、可伸缩性和可靠性研究。f l o w m a r k 并没有实现事务 管理的基础设施,不是真正意义上的事务工作流系统,但是它支持出错情况下的 部分向后恢复和向前恢复,支持s a g a s 和柔性事务在f l o w m a r k 上的模拟执行, 事实上验证了这两种扩展事务模型在工作流管理系统中的适用性和可行性。 3 、w a m o t l 5 】 w a m o 是奥地利k l a g e n f u r t 大学j e d e r 提出的工作流模型。该模型支持多 种复杂控制结构,这些结构也是错误恢复的原子单位。其工作流描述语言w a d l 支持事务特性的描述,例如某些任务是不允许被补偿和撤销的,因此,一个工作 流定义的执行中若要补偿该类型的任务,则该定义是不安全的。w a m o 采用的 是柔性事务模型的思想。 4 、m e t e o r 2 f 1 6 j m e t e o r 2 是g e o r g i a 大学l s d i s 实验室研究开发的支持大规模复杂应用 的自适应工作流管理系统。该系统支持多种活动类型,提供灵活的异常处理和错 误恢复管理功能,支持补偿、等价替换以及用户编程定制等错误恢复机制。 5 、o p e r a w i s e 1 7 】 0 p e ra 懈,i s e 是瑞士联邦工学院开发的一个通用的工作流管理内核。根据 任务对原子性的要求以及任务的提交语义的不同将其分类。o p e r a 的事务模型 思想源于柔性事务模型。w i s e 项目的过程引擎基于o p e r a 项目,是跨组织的 工作流管理系统。 硕士学位论文绪论 6 、w i d e c r o s s f l o w t l 8 1 w i d e 是荷兰u t w e n t y 大学研究开发的事务工作流系统。它提供全局事务和 本地事务的双层事务管理结构:全局事务负责过程一级的事务保证,采用s a g a s 模型的思想,并对其进行扩展,支持基于s a f e p o i n t 的部分补偿以及完全补偿方 法;本地事务就是活动一级的相对执行时间较短的事务,采用的是嵌套事务模型。 c r o s s f f o w 是基于w i d e 项目的面向动态虚拟企业的跨组织工作流管理系 统,基于不同企业间建立的一个电子合同,在出现错误时,根据不同的回滚模式 ( 完全补偿和部分补偿) 和回滚范围( 组织内部和跨组织的) ,动态形成灵活的 回滚语义,组织内部的恢复采用w i d e 己有的机制。 1 3 2事务工作流的并发控制及调度 工作流中的事务往往是长事务,而且在系统中会同时存在不同过程访问共享 资源或者若干个工作流实例并发执行的情况,这意味着事务问冲突和死锁的概率 有所增加,一旦冲突或死锁发生,传统方法只能使冲突中事务等待或重启,其结 果是或者是引起长时间的等待,或者长事务被撤消造成多用户数小时乃至数天所 做的大量工作废弃,这在工作流系统中是难以忍受的。所以事务工作流中的并发 控制及调度是人们研究的一个热点。 目前,适合于长事务并发控制方法的研究主要有利它锁( a l t r u i s t i c ) 协议、基 于n t p v 模型的方法以及基于语义的处理方法【1 9 1 。这些方法代表了不同的工作 成果。其中,利它锁方法虽不能完全解决长事务并发控制的问题,却可以明显缓 解事务的长期等待,只是它对于资源的访问有一定限制,并且事先要知道各事务 访问共享资源的先后顺序,这使得实现起来相对困难;n t p v 模型中,嵌套事 务、多版本、谓词三个概念的存在,使n t p v 模型适于描述长事务,有利于提 高系统并发度,但其算法复杂,其有效性有待验证。 利它锁方法、n t p v 的并发控制方法并不是针对事务工作流应用提出的, 均未能很好地考虑工作流应用的分布性、合作性、用户参与性等特点。在文献【2 0 】 中采用基于语义的处理方法,通过任务锁、干预表等来保证工作流任务的有效性, 从而保证工作流并发执行的语义正确性。该方法从工作流的语义角度出发束解决 工作流的并发问题。 在工作流引擎中,存在各工作流实例同时访问共享资源的情况,为了可串行 化执行和避免死锁,提高并发度,人们应用调度算法来控制并发事务工作流的执 行【捌。另外由于组成事务工作流的平面事务具有不同的完成特性1 2 1 】,为了保证 系统在出现错误时能正确恢复,系统只允许最多一个事务工作流执行不可补偿事 务,这样大大的限制了事务工作流执行的并发度。 善 硕士学位论文 绪论 文献 2 1 1 主要是针对工作流系统中存在不可补偿事务的情况提出的,它定义 了基于事务类型和事务实例的两种粒度的冲突关系。通过结合两种粒度的冲突检 测,文中提出的调度算法在两方面提高了并发度:一方面,细粒度冲突检测减少 了事务工作流之间的冲突概率;另一方面,粗粒度的冲突检测能够预测事务工作 流是否会在将来发生冲突,而不会发生冲突的工作流可以安全地并发执行,从而 有效的提高并发度。 1 3 3事务工作流的错误恢复 事务工作流系统中的错误与基于经典事务的软件系统中的错误是有很大不 同的。工作流管理系统中的错误恢复不仅涉及到数据层面的错误问题( 如数据一 致性) ,而且还包括在组织机构层面引发的错误问题等等。所以在工作流管理系 统中要有一个有效的错误模型来支持,对产生的错误能及时做出响应并启动相应 的恢复策略。 补偿的范围是事务工作流中人们所关注的一个方面。部分补偿和完全补偿是 工作流的传统方法,c o n t r a c t s 、f l o w m a r k 、w a m o 、o p e r a 、w i d e 等工作流 系统采用基于平坦流图的失效恢复机制,即静态确定补偿范围的方法。完全补偿 的方法从失效结点开始,逆向回滚至工作流起始点,补偿域是整个工作流;部分 补偿的方法事先确定补偿终止点,失效时逆向回溯至该点。文献 2 4 1 认为对于 长期运行且结构复杂的事务工作流失效时需要补偿至静态定义的某一活动甚至 起始活动,代价较大,所以提出了一种层次式的失效恢复算法。该算法基于执行 历史而不是工作流定义进行补偿,可简化循环结构的恢复,针对活动的恢复策略 进行层次式的向上规约处理,动态确定补偿终止点,可有效减少补偿代价。 目前,事务工作流的错误恢复机制普遍采用的是向前恢复和向后恢复两种机 制。向前恢复是指在子事务出现失败后,通过重做、重试,或者启动一个等价子 事务的方法继续做未完成的工作;而向后恢复是终止失败时未完成的子事务,通 过补偿等手段取消已完成工作造成的影响。恢复机制的选择通常与具体应用背景 有关。 不论采用的是哪种恢复机制,当前事务工作流所采取的措施是先将错误类型 进行划分t 2 3 2 5 2 6 ,然后在发生错误时再根据其具体所属的类型启动相应的恢复策 略。在文献 2 3 1 结合了向前恢复和向后恢复两种机制。首先对活动的事务属性 进行详细的划分,认为事务工作流的子过程可能作为一个原子整体,也可能是非 事务性的实体:然后根据工作流活动调用的外部应用程序、执行环境、业务逻辑 等的差异来确定其恢复特点,然后应用层次式的恢复方法提出恢复模式和恢复策 略,在运行出错时根据不同的恢复属性加以控制。但这种机制的前提是在运行期 硕士学位论文 绪论 间的各种错误类型都可以事先进彳亍定位,这样就忽略了存在某些不可预测错误的 情况,所以对于事务工作流的错误恢复还需要有更灵活的方式来加以控制口7 】。 1 4 论文相关工作及内容安排 1 4 1研究内容 本文首先深入研究了工作流的事务性特征,总结了当前工作流中事务性研究 的主要方向,然后针对工作流的事务性需求,以及运行在分布、异构等环境下的 特定,提出了事务工作流过程模型t f p m ,该模型放宽了工作流的隔离性及原子 性特征。引入了隔离域的概念,通过隔离域来控制过程运行中的并发问题,并且 基于过程的执行历史对出错活动进行处理,设计了错误恢复算法,该错误恢复算 法充分考虑了过程实例及活动实例并发的情况,减少补偿的代价。在系统实现阶 段根据模型的事务特征,设计了相应的事务建模语言以支持事务建模工作,并且 设计了并发调度器及错误恢复管理器两个重要的引擎组成部分。 1 4 2研究目的与意义 在工作流系统中加入事务特性能够保证工作流的正常运行,而当前事务工作 流管理系统中的事务研究主要采用的是对扩展事务模型进行扩展,把扩展后的事 务模型应用到工作流系统中来实现事务工作流的方法。这种做法的缺陷是工作流 系统没有统一的模型基础,无法做到扩展后的模型与工作流模型进行无缝集成。 所以需要针对事务工作流本身的特点来设计事务工作流管理系统。 事务工作流比扩展事务模型拥有更丰富的语义,它结合了工作流技术和事务 处理技术,其研究对于提高工作流系统的可靠性和实用性具有重要意义。其中, 并发控制及错误恢复是事务处理技术研究的重点,而在当前的事务工作流管理系 统研究现状中,并发控制及错误恢复都存在某些缺陷,所以这两个方向的研究对 于事务工作流的发展具有重要意义。 1 4 3 内容安排 论文包括六章: 第一章介绍了工作流及事务的相关概念和当前研究的现状,以及本文研究的 主要内容和论文的结构安排。 第二章描述了事务工作流过程模型的相关概念。包括该模型中所涉及的基本 硕士学位论文绪论 元素及采用的事务属性,事务属性主要包括隔离域的定义及活动的错误恢复属性 的划分。 第三章首先分析了当前并发控制中存在的读取脏数据等现象及工作流的并 发类型,然后应用基于隔离域的方法来控制过程及活动的并发,设计了相应的并 发调度算法并对算法进行了分析。 第四章首先分析了工作流中错误产生的原因和错误类型的划分,然后介绍了 基于过程执行历史的错误恢复方法,最后介绍怎样应用该方法来进行错误恢复控 制。 第五章主要针对前面提出的并发控制及错误恢复方法进行详细设计及实现。 首先介绍系统的框架,采用的数据结构及建模语言等,然后详细讲述并发控制及 错误恢复的具体实现。 第六章对本文的工作进行总结,并指出当前系统的不足及以后研究的重点。 硕七学位论文事务工作流的过程模型 2 1 引言 第二章事务工作流的过程模型 工作流的自动化执行依赖于业务过程的形式化描述,以保证过程参与者之间 任务的传递、数据的一致性和过程的可靠性【2 8 。2 9 1 而一个工作流管理系统采用的 工作流过程模型直接决定了该系统能否较好地对企业或机构的业务过程建模。工 作流管理系统中的事务处理研究必须建立在工作流过程模型的基础上,所以首先 在这一章提出一种事务工作流过程模型t f p m 。 以往的事务模型通过扩展和发掘新的描述对象的机制,来提高面向复杂操作 的事务处理能力。但是,多数扩展只是针对某类特定应用需求,并且是相对独立 的。因此,这些事务模型不能直接用于事务工作流的建模中【4 l 矧。本章提出了 一种事务工作流的过程模型t f p m ,t f p m 支持嵌套结构。系统的底层提供严格 a c i d 特性的平面事务,这些平面事务之间相互隔离;系统的高层提供具有松弛 事务特性的事务工作流。对这些事务工作流而言,平面事务是以黑盒形式出现的 基本构造块。概括起来t f p m 具有如下三个方面的特点: l 、抽取了扩展事务模型的某些思想。例如,由于事务工作流的长期运行性, 严格的隔离性是不可取的,因此允许执行中间结果对外可见,这就要求引入补偿 的概念,才能支持错误产生时完全或者部分撤销执行结果。再如,针对网络的异 构性和应用的复杂性,允许工作流的活动具有不同的事务恢复属性。 2 、模型中的嵌套结构。在t f p m 中,允许过程中存在嵌套结构,即过程可 以包含子过程,子过程也可以包含其自身的子过程直到最小粒度活动。这种嵌套 结构与实际的应用中过程的结构相符。在实际的工作流系统中,某一工作流过程 中可能含有另外一个过程,而且某些过程是提取出来的可作为多个过程的予过程 而使用的。所以采用嵌套结构才复合现实的需求。 3 、以活动为基本单位设计相关的事务属性。以往的一些事务模型很少考虑 工作流的嵌套结构,这在实际的应用中对于并发控制和错误恢复而言是不符合现 实的。而采用的嵌套结构可以基于活动这个基本单位来划分隔离域,用于并发控 制,同时可以采用补偿机制用于过程的错误恢复,有效的缩小补偿的范围。 硕士学位论文事务工作流的过程模型 2 2 过程模型t f p m 2 2 1 事务工作流过程定义元模型 工作流过程定义的元模型描述了工作流过程模型中的各个元素、元素属性及 元素之间的关系。在w f m c 所定义的工作流过程定义元模型的基础上,为支持 工作流的事务属性,对该模型进行了扩充,如图2 - 1 所示( 填充色为扩展的部分) 。 在一个过程中包含多个隔离域,而一个隔离域由若干个活动组成,具体的定义及 描述在下面的小节中加以介绍。 2 2 2 基本概念 图2 - 1 事务工作流过程定义元模型 定义2 1 ( 过程) :一个过程可以定义为一个二元组w = ( g o ) 。其中g 是一 个有向图,可表示为二元组l ) ,这里a = a l a 2 a n l ) 为节点的集合,l = l l , 1 2 ,l n 2 ) 为连接弧的集合,l i = 为从a i 到a k 的连接弧,a i ,a i 【a ,0 一 0 l , 0 2 ,o n 3 ,其中o 表示a 中各节点访问的抽象数据对象组成的集合。 过程w 的起始节点集记为s 。,结束节点集记为e w ,则有下面的式子成立: 瓯= q 彳l _ 1 q 口,a q 4 ,) ( 上) 硕士学位论文事务工作流的过程模型 e 0 = 吼a l - , ( s a , a a k 口f ) ( 三) ) 定义2 - 2 ( 子过程) :工作流的一个子过程,记为p = ( g ,o ) ,其中g = ( a7 ,l7 ) 是g 的一个有向子图,这里a 7 a ,l l ,o 为a7 访问的抽象数据 对象集合,d ,子过程也是工作流。 定义2 3 ( 活动) :当且g 为平凡图时,p 所定义的子过程只包含一个节点, 将这种不可再分的子过程称作为过程的一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机组成原理 课件 8 输入输出系统
- XXXX年选人用人专项整治党性分析报告范文
- 巡察组写巡察报告课件
- 输电线路运行培训课件
- 尾矿作业安全培训教程课件
- 国际知识产权贸易合同创新成果转化与许可使用
- 生态旅游区土石方运输与景观建设合同
- 风力发电场工程项目建议书编制与环境影响评价规范
- 专项项目出差人员管理服务合同
- 离婚子女抚养权争夺人民法院协议调解合同
- 中国昆曲课件
- 大学健身房管理细则
- 2025中国临床肿瘤学会CSCO肿瘤厌食-恶病质综合征诊疗指南解读课件
- 中药材生产与加工专业教学标准(高等职业教育专科)2025修订
- 公司内部电子发票管理制度
- 2025至2030中国乳清粉行业发展分析及前景趋势与投资报告
- 乡村医生招聘面试题及答案详解
- 傅里叶级数习题课
- 医疗质量与医疗安全十八项核心制度
- DB31T 329.24-2019 重点单位重要部位安全技术防范系统要求 第24部分:高校
- 某某医疗机构纳入定点后使用医疗保障基金的预测性分析报告
评论
0/150
提交评论