




已阅读5页,还剩57页未读, 继续免费阅读
(计算机应用技术专业论文)工作流系统事务处理的研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学硕士学位论文 摘要 工作流管理是计算机科学技术中的一个重要分支。它是研究过程管理的计算机技 术。该技术起源于上个世纪7 0 年代中后期,最初是针对办公自动化系统中的流程管理 而问世,其后发展为针对业务过程进行管理的一门新兴技术分支。经过二十多年的研究 发展,工作流技术取得了很大的发展并得到了日益广泛的应用。随着网络的普及, i n t e m e t 的快速发展,工作流系统的外部环境发生了巨大的改变,原来集中式的、同质 的、面向桌面的环境逐渐朝着分布的、异质的、面向网络的方向发展。随着环境的复杂 化,工作流更需要稳定性、可靠性。 事务已经成为设计与编制高可靠性软件系统的最重要的概念。事务的概念来自于数 据库研究领域,用于解决数据的并发访问和出错恢复问题。将事务的概念和相应的事务 处理方法引入工作流系统,是工作流技术进步的一个重要标志。如何使工作流技术与事 务处理技术结合起来,提高工作流系统的稳定性和可靠性,正是本文研究的出发点。 本文对工作流管理系统中的事务和事务处理进行了深入的研究,分析比较了工作流 管理系统中事务概念与传统事务、高级事务的不同,从而明确了工作流管理系统中事务 处理需要解决的问题的重点与难点。在此分析的基础之上,提出了一个具膏事务支持的 工作流模型。为了保证关键业务活动的正确、可靠执行,该模型不仅引入活动的事务处 理级别,并且提出了事务范围的概念,并从应用语义的角度对它进行扩展。此外,还提 出了一组事务恢复执行模式,其目的是为了保证事务范围具有放松了的原子性,恢复执 行模式能根据模型中的事务语义灵活有效的进行失败恢复。在上述研究的基础上,开发 了工作流管理系统f l e x w o r k 介绍了其总体功能结构,重点讨论了过程定义子系统的事 务语义表达,运行服务子系统的分析与设计,以及重要功能部分的体系结构。本文旨在 为工作流技术中事务处理方面的研究进行既有学术价值又有实用价值的积极探索。 关键词:事务;恢复;工作流;工作流管理系统 工作流系统事务处理的研究与应用 r e s e a r c ha n d a p p l i c a t i o n o ft r a n s a c f i o np r o c e s si nw o r k f l o w s y s t e m a b s t r a c t w o r k f l o wm a n a g e m e n ti s 趾i m p o r t a n tb r a n c hi nc o m p u t e rt e c h n o l o g y i ti s p r o c e s s m a n a g e m e n tc e n t e r e d o r i g i n a l l y , t h i st e c h n o l o g ye m e r g i n gf r o mf i e l d so f p r o c e s sm a n a g e m e n t i no f f i c ea u t o m a t i o ns y s t e mi n19 7 0 s s i n c et h e n , i td e v e l o p e d 盟2 e wt e c h n o l o g ya i ma t b u s i n e s sp r o c e s sm a n a g e m e m d u r i n ga b o u tt w e n t i e sy e a r s ,w o r k f i o wt e c h n o l o g yh a sb e e n d e v e l o p e d 抽c r e 越i n g l ya n du s e dw i d e l y 1 ko r i g i m lc n a l i z e dh o m o g e n e o u sa n dd e s k t o p o r i e n t e dt e c h n o l o g yh a sd e v e l o p e dt o w a r dd i s t r i b u t e dh e t e r o g e n o n sa n dn e t w o r ko r i e n t e d t e c h n o l o g y w i t h t h ee n v i r o n m e n tb e , c o m em o r e c o m p l e x , t h ew 砌o wm a n a g e m e n ts y s t e m n e e d sm o r e r e l i a b i l i t ya n ds t a b i l i v y t r a n s a c t i o np r o c e s si sc o m eo ft h er e s e a r c hf i e l d so fd a t a b a s em a n a g e m e n ts y s t e m , a d o p t i n gt h ed a t a - e e n t r i ca p p r o a c h , a i ma te 】耻眦d a t ac o n s i s t e n c y t m n s a c f i o ni nt r a d i t i o n a l d a t a b a s ea p p l i c a t i o ni sn o ti n t e r a c t i v e ,a n d1 1 1 1 1l i t t l et i m e s oa c c u s t o m e dm e t h o do f t r a n s a c t i o n p r o c e s s ,c o n c u r r e n c yc o n t r o la n dr e c o v e r yc a ns u p p o r tw e l lt h o s ea p p l i c a t i o n s o u rr e s e a r c h s t ti sh o wt oa t t a c ht h et r a n s a c t i o np r o c e s sc h a r a c t e ri n t ow o r l d l o wm a n a g e m e n ts y s t e m , t o e n s t l r et h ed a t ac o n s i s t e n c yi nw o r k f l o w i nt h i sp a p e rw e a n a l y s i st h ed i f f e r e n c eb e t w e e n t h e 衄n s a c t i o ni nw f m sa n dt r a d i t i o n a l w a n s a e f i o l l ,a d v a n c e dt r a n s a c t i o n b a s e do nt h ea n a l y s i sw ec o n c l u d e dw h a t st h em o s t i m p o r t a n ta n dd i f f i c u l ti nt h et r a n s a c t i o np r o c e s s i n gi n 、目m s w l t l lt h ec o n c l u s i o n , aw t m s m o d e lw i t ht r a n s a c t i o n a lf e a t u r ew a sp r o p o s e d t om a k et h ew o r k f l o wm a n a g e m e n t s y s t e m t o b em o r er e l i a b l ea n dr o b u s t , i nt h em o d e l w ea d dt h el e v e lo ft r a n s a c t i o n a lp r o c e s s i n gt o a c t i v i t ya n dd e f i n et r a n s a c t i o ns p h e r et ot h em o d e l f r o mt h ea p p l i c a t i o np o h a to fv i e w , w e e x p a n d e dt h et n m s a c t i o ns p h e r e i nt h ei r a n s a c t i o ns p h e r ew ep r o v i d et h er u l e sf o rt r a n s a c t i o n r e c o v e r yt og u a r a n t e et h ew o r l c f l o wp r o c e s sb ec 艘r e c te n dc o n s i s t e n t 、ed i s c u s st h ed e s i g n a n di m p l e m e n t a t i o no ft h et r a n s a c t i o n e x p r e s s i o n i np r o c e s sd 萌n i f i o ns u b s y s t e ma n d e n a c t m e n ts e r v i c es u b s y s t e mo ff l e x w o r k ,w h i c hi saw o r k f l o wm a n a g e m e n ts y s t e mw i t h s u p p o r to f 恤, m s a c t i o n ,ee x p e c tm a l0 1 1 r w o r kw i l ld os o m eh e l pi nt h et r a n s a c t i o n a l w o r k f l o wm a n a g e m e n t s y s t e m o nb o ms c i e n t i f i ca n d u t i l i t ya s p e c t k e yw o r d s :t r a n s a c t i o n ;r e c o v e r y ;w o r k f l o w ;w o r k f l o wm a n a g e m e n ts y s t e m 一 火连理工大学硕士学位论文 引言 工作流技术是进入9 0 年代以后计算机应用领域的一个新的研究热点,i n t e r n e t 和 i n t r a n e t 应用的普及、网络技术和计算机技术的迅猛发展都为工作流技术逐步走向成熟 奠定了坚实的技术基础。同时,随着现代企业的经营规模和生产规模的日益扩大,它所 包含的信息资源迅速增长,相应的业务过程也越来越复杂,企业的大多数应用系统有如 下需求:有足够的能力定义组织结构和业务过程所需要的功能。业务过程经常涉及 许多不周地域的资源之间的协作,包括人员、信息、计算机和各种应用软件等。系统 的运行过程中需要人与系统之问的交互性。具有错误处理和失败1 阪复能力。显然,传 统的企业组织机构和运作方式及其信息化手段已经不能够满足现代企业信息化的需要, 工作流技术就是解决上述问题的有力工具。现代企业的需求为工作流技术的应用提供了 广阔的市场前景。 工作流管理系统( 简称工作流系统) 巨大的潜在市场和广阔的应用领域吸引了来自 全世界研究机构及软件厂商越来越多的关注。国内外许多大学和研究机构开展了很多工 作流的研究项目,并取得了众多硬究成果,对工作流技术的发展做出了积极的贡献。目 前国内外的工作流产品及工作流原型系统数以千计,文献【1 】是一些著名的工作流产品, 文献 2 ,3 】是一些较有影响力的工作流原型系统。其中,比较著名的有i b m 公司 a l m a d e n 研究中心开发的基于持久消息队列的分布式工作流管理系统e x o t i c a f m q m 、 佐治亚大学计算机系研究开发的具有自适应能力的工作流管理系统m e t e o r 和基于分布 式主动数据库技术的工作流管理系统w 1 d e 、清华大学研究开发的用于集威制造的工作 流管理系统c i m f l o w 等。但是这些工作流系统没有支持事务处理或者对事务处理支持 的不充分然而,工作流管理系统的广泛使用,业务过程运行环境的复杂化,系统的正 确性和可靠性成为成败的关键,缺乏事务处理支持严重阻碍了工作流管理系统走向市 场。为了增强工作流管理系统的健壮性以及在实际环境中的可用性,我们需要在工作流 管理系统中加入新的特性。工作流中的事务处理便是必需的特性之一。 本文围绕工作流管理系统中的事务概念、事务模型及事务处理机制展开研究。在深 入理解事务概念的基础之上,分析比较了工作流管理系统中的事务与传统事务、高级事 务的区别,明确了工作流管理系统中需要事务来解决的相关问题以及工作流管理系统中 事务的特性、复杂性,在“令牌驱动式计算模型【4 】的基础上,扩充了活动的事务语 义,增加了事务范围、可选活动、补偿活动等语义元素。结合该模型,我们提出了事务 i :作流系统事务处理的研究与应州 恢复的执行模式,从而提高工作流管理系统的可用性和效率。同时,针对业务过程中关 键部分的需求,将事务范围扩充为严格原子范围、可选原子范围以及异常原子范围。 根据上述研究结果,设计开发了具有事务处理功能的工作管理系统f l e x w o r k 。 较之其他工作流管理系统,f l e x w o r k 具有以下显著特点: 坚实的计算模型令牌驱动式工作流计算模型。以此计算模型构造的业务流程的 模型具有以下特点:与领域无关:由于使用了p e t r i 网,因此有充分的模拟能力和丰富 的分析方法,能正确表达业务流程中出现的各种情况,如同步,竞争,条件转移和循环 等:方便灵活,可以方便地对业务流程定义进行修改;可重用,可以把已有的业务流程 定义嵌套在新的业务流程的定义中,减轻了工作量,提高了可靠性。 实用性控制流的多样性,不但能够支持顺序、分支、合并、循环等多种控制结 构,而且扩展了分支与合并的内涵( 将分支扩展为无条件分支、a n d 条件分支、o r 条件 分支、x o r 条件分支等多种情况,将合并扩展为a n d 同步合并、o r 同步合并、x o r 同步合 并、a s y n 异步合并等多种情况) ;可以通过可视化工具对系统运行、系统安全、系统日 志等进行管理,同时可以实时地跟踪工作流的运行,并图形化地显示工作流的运行进度 情况以及工作流运行统计信息。 可靠性提供了活动的事务语义,定义了活动不同级别的可靠性:运行服务增加 事务处理模块,保证过程能有效、健壮地运行:引入了原予范圈,保证关键业务部分的 原子性:从应用语义的角度扩展了原予范围,并可以定制原予范围类型;在事务范围 内,对活动的逻辑错误提供了系统级的恢复执行模式。 平台无关性f l e x w o r k 在实现时完全采用了j a v a 技术,由于j a v a 技术具有平台 无关性,所以不受操作系统平台的限制。 2 大连- n 2 f 大学硕士学位论文 1 工作流管理系统中的事务处理概述 1 1 工作流管理系统研究现状及发展趋势 工作流技术是实现企业业务过程建模、业务过程优化、业务过程管理与集成,从而 最终实现b p m ( b u s i n e s sp e r f o r m a n c em a n a g e m e n t ) 目标的核心技术。按照工作流管理 联盟( w f m c w o 舢o wm a n a g e m e n tc o a l i t i o n ) 的定义,工作流就是业务过程的自 动化或者半自动化【5 】。清华大学的范玉顺教授对工作流做了进一步的解释,认为工作流 应该能够描述业务过程以下几个方面的问题:即业务过程是什么( 由哪些活动、任务组 成,也就是控制流与信息流的定义) :由谁来做( 人或者计算机应用程序,就是组织角 色的定义) 【6 】。 工作流管理系统就是在某种计算机形式化表示的工作流逻辑驱动下,完整地定义、 管理和执行工作流的软件系统 7 】。所有工作流管理系统都支持三个功能:建立时功能、 运行时控制功能、运行时交互功能。一个工作流管理系统可详细划分为以下五大部件: 过程定义工具;工作流运行服务;客户端应用程序;被调用的应用和i t 工具及管理监 控工具。w f m c 的工作流系统参考模型就是包含这些部件和接口的通用模型,如图1 1 所示: 工 作 流 管 理 工 具 接口j i 兰兰兰兰三兰 接口ll 工作流执行服务l 其它工作流执行服 接口l 务 工作流机l pil 工作流机 接口2li接口3 工作流客1i 工作流机直接 户应用 il 调用的应用 图1 1w f m c 工作流管理系统 f i g 1 1w o r k f l o w r e f e r e n c em o d e l 下面我们对各部分的功能和接口进行说明 3 :【:作流系统事务处理的研究与应刚 过程定义工具的主要功能是给用户提供一种对实际业务流程进行分析和建模的手 段,并生成业务流程的可被计算机识别和处理的形式化描述。接口一( 工作流过程定义 读写接口) 定义了过程定义工具与工作流运行服务之间标准的交互格式和a p i 调用。 工作流运行服务的功能是借助一个或多个工作流引擎为工作流的执行提供一个运行 时环境,解释并激活过程定义,控制过程实例的执行过程和活动顺序,添加工作项目到 用户的工作项列表以及在必要时激活应用或i t 工具。可以说工作流运行服务是一个工 作流管理系统的控制中心。 客户端应用程序是给用户,严格的说是流程的参与者,提供一种处理过程实例运行 过程中需要人工参与任务的手段,一般为一个以图像方式交互的应用。每个任务被作一 个工作项,它包括任务处理上的要求( 如任务内容、时间限制等) 以及待处理的数据对 象信息等。同时整个w f m s 为每个用户维护一个工作项列表,它是当前需要该用户处 理的所有任务的集合。 被调用的应用和i t 工具指工作流运行服务在过程实例运行过程中调用的,用来处 理应用数据的应用程序或i t 工具。接口三( 调用应用接口) 就是希望提供一些标准的 服务供应代理使用。目前该接口还有待深入研究,较常用的是在数据处理时如何方便、 无缝地激活第三方应用,如m i c r o s o f tw o r d 或邮件服务等 8 。 管理,监控工具该部件的功能是对工作流管理系统中过程实例的状态进行管理和监 控。通过该工具,管理人员可以了解业务执行情况,也可以干预流程的执行。它与工作 流执行服务之间的交互通过接口五( 管理及监控接口) 来完成。 上述五个接口被统称为w o r k f l o w a p i ( w a p i ) 9 1 。这些标准的制定对于实现不同厂 家的产品之间的互操作( 如用一个厂家的管理与监控工具去管理另外一个厂家的工作流 执行服务) 及基于工作流执行服务开发新的应用具有重要意义。 接下来,我们再看看这些部件和接口是如何工作,共同完成一个工作流管理系统的 功能。首先,流程设计人员使用过程定义工具将现实中的业务流程定义成计算机可识别 的形式化过程定义。工作流执行服务通过接口一得到这些定义,由工作引擎创建过程实 例,解释过程定义和决定哪些活动可以执行;在实例的执行过程中,工作流引擎负责定 制活动的执行顺序和把活动和相关信息以工作项的形式发送给每个参与者,并在必要时 激活其它应用或i t 工具,同时,工作流执行服务也可以通过接口四,利用其它的工作 流执行服务执行某些子流程。另一方面,管理人员可以通过接口五利用监控管理工具和 工作流执行服务交互,监控整个流程的执行过程,随时给出报告或做出反映,如停止某 4 大连理工大学硕士学位论文 一不恰当的过程实例。最后,对于每个任务参与者,只需通过接口二获取自己的工作表 单,完成其中的工作项并提交即可。直至任务的目标达成,过程实例结束其生命周期。 在工作流管理系统的实施上也存在非常多的问题需要研究,这些问题的解决对于提 高工作流管理系统的性能具有重要意义 1 0 1 。 ( 1 ) 在c o r b a 技术和w e b 技术得到广泛重视的今天,研究开发在c o r b a 环境 下,w e b 页面方式的工作流管理系统具有非常重要的应用价值,在佐治亚大学计算机系 开发的m e t e o r 在这方面取得了良好的成果。分布环境下的工作流机的合作问题也是受 到广泛关注的重要闯题,它对于提高工作流管理系统的性能具有重要的意义。 ( 2 ) 异常处理和错误恢复问题:对于制造企业这样的一个复杂的应用系统,出现 异常和错误是非常正常的情况,对于工作流管理系统不仅要求它在正常情况下能够发挥 作用,更重要的是要求它能灵地处理各种异常情况,并且在某个节点发生错误时能够保 证整个系统不会发生崩溃。目前大多数工作流管理系统都提供了异常隋况处理策略、系 统容错能力、故障恢复策略、数据保护及数据恢复方法。 ( 3 ) 融入事务管理概念:在工作流管理中融入事务管理的概念和模型方法可以显 著提高工作流管理系统处理大规模业务应用的能力,目前这个工作已经得至f j 畏多研究人 员的重视。 1 2 工作流管理系统中事务处理的引入 尽管工作流技术从最初的萌芽发展到现在已经有了很大的进步,在完成业务过程的 功能方面越来越丰富,但工作流技术并不成熟。1 5 1 前尚没有一种工作流产品或原型系统 能够在过程执行的可靠性与一致性方面达到与关系数据库管理系统同水平的功能。这种 差异性正是由于工作流管理系统中没有充分的事务支持而引起的 11 。 以下我们具体分析工作流管理系统由于缺少事务处理支持而引起的不足。分别从错 误处理、满足业务需求、多实例并发执行、工作流数据的一致性几个方面进行说明。 由于w f m s 使用一种以过程为中心的方法,业务过程预先被定义,如果没有事务 处理的支持,w f m s 的错误处理将变得非常复杂【1 2 。在一些异常情况或者其他特定 事件,如客户要求取消某已经完成的工作项时,需要对业务过程进行适当改变,以便工 作流过程能够继续执行,然而,所有过程实例依照固定的过程定义执行,用户没有办法 改变过程结构,即使在实际的业务需求允许的情况下。使用条件结构方法 1 3 1 ,在运行 时刻,根据不同的条件选择不同的执行结构虽然是一种解决方法,但是,并非所有的异 常都可以在过程定义时刻预测到,设计实现一个系统可以支持不可预知的异常是非常必 要的。但也具有相当的复杂性。文献 1 4 1 是对该问题不同方面的一些研究。没有事务处 5 : 作流系统事务处理的研究与应用 型的支持,解决这样的问题非常复杂。一个简单的流程,为了保证可靠性,建模端定义 的复杂程度已经大大增加,如果,流程变得复杂,相应的定义就更加复杂。这种方法在 实际中不具备可行性,是引入的复杂程度,二是不可能将所有可能出现的错误都在建 模时刻给出定义。 在企业业务过程中有些关键活动之间有执行上的关联,要求要么都成功执行,要么 都不做。w f v l s 中的事务可以满足实际中的这类业务需求。例如,一个工作流过程涉及 两个公司c l 、c 2 的参与,公司c l 从客户处得到订单,然后把订购的配送工作外包给 另一个公司c 2 。c l 需要检查客户信誉及其帐户余额决定客户是否具有支付能力,c 2 公 司预备货品。这两个子过程的执行需要原子性保证,亦即,如果客户不具备支付能力, 则不需要准备货品,反之,亦然。然而,检查客户信誉可能需要比较长的时间,假设, 大多数情况下,检查客户信誉都会成功执行,如果先执行检查客户信誉,再执行订购的 配送,则客户响应时间过长,严重影响客户满意度。显然,串行化执行来保证原子性的 方法不符合实际的需求。工作流运行环境的复杂性,如工作流的执行需要跨组织边界, 运行平台的分布性、异质性、自治性,活动执行的长时间特点等等都给工作流的事务处 理带来复杂性和新的特性。 工作流管理系统需要保证系统处于一致状态,但由于工作流中的活动的运行时间通 常很长,可以是几小时甚至是几天,工作流管理系统中的事务处理提供的隔离性必须根 据应用语义在不同级别上放宽。例如,某零售商与供货方在地理位置上相距很远,当一 批货正在运输过程中时,如果客户在线查看库存清单,会发现没有可购买的货物,这种 隔离性对于工作流的睦活动特性来说不合适,可能会因此而丢失不该丢失的订单,给企 业带来损失。工作流中对隔离性的实现要有其特殊的处理方法。 在一个组织或企业复杂的应用环境中,往往会有多个工作流模型定义也就是业务流 程存在,这些业务流程或业务流程中的几部分往往具有事务的特性。在某一时刻,这些 工作流模型定义会有多个实例在运行,它们各自以不同的执行速度向前推进,不同实例 的任务可能要以一个排它的方式存取某个共享资源,这个共享资源管理器可能又不具有 并发控制机制。如何协调这些排它的执行需求,使每个实例的执行不会由于缺乏资源而 无法继续,使每个实例的执行结果不受其他实例的执行影响等等,这就是工作流管理系 统中的并发控制问题。 出于工作流系统外界环境复杂多变,工作流实例的执行过程中必然会出现各种异常 情况,由此导致工作流执行阶段的数据出现错误,这些数据可能涵盖了从工作流控制数 据、工作流相关数据到工作流应用数据的全部工作流运行时的数据空间。对于工作流控 6 一 大连理工大学硕士学位论文 制数据,可能会出现工作流实例和活动实例状态数据的不一致;对于工作流相关数据, 工作流参与者可能会使用过时数据或文档:对于工作流应用数据,则可能会导致在外部 数据源中读出,写入错误的数据。因此,必须采用有效措施来保护工作流数据的致 性。以提高工作流系统运行时的可靠性,增强异常处理的能力 1 5 。 由以上分析可以看出,在工作流管理系统中必须引入事务的概念并提供灵活的事务 处理方法,没有事务支持,工作流管理系统不可能真正走向成熟。 1 3 工作流管理系统中事务处理的研究现状 工作流管理系统的广泛使用,业务过程运行环境的复杂化,系统的正确性和可靠性 成为成败的关键,缺乏事务处理支持严重阻碍了工作流管理系统走向市场。为了增强工 作流管理系统的健壮性以及在实际环境巾的可用性,我们需要在工作流管理系统中引入 事务概念并提供灵活的事务处理方法。 目前有很多工作流系统都支持事务处理,很多系统中的事务处理模型都是通过对高 级事务模型进行扩展而来。我们首先对目前较成熟的支持事务处理的工作流系统中采用 的事务模型进行总结,然后介绍支持工作流事务的典型产品。 1 3 1 事务模型的发展 工作流的一致性管理要求在某种意义上同数据库一致性管理要求有相同或相似之 处。只不过工作流管理对象和涉及问题比数据库管理数据复杂的多。传统经典的数据库 事务概念在数据库操作一致性管理方面取得了巨大的成功,但它不能满足工作流任务一 致的管理要求。为了更好地描述和解决工作流一致性问题,人们尝试对传统事务的概念 和模型进行修改以适应工作流管理的需要。这方面的研究进展首先是在传统事务模型 的基础上,提出了许多高级事务模型,如嵌套事务模型、多层事务模型,s a g a s 等 等,然后突破数据库的限制,真萨以工作流为研究领域,围绕工作流一致性提出全新的 事务模型,如c o n t r a c t s 模型、事务工作流模型等等。事务模型的发展,对工作流致 性研究有着重要的意义。 m o s s 等人提出的嵌套事务模型( n e s t e dt r a n s a c t i o n ) 1 6 是突破传统事务模型的一 个重要里程碑。嵌套事务允许把一个事务分解成若干子事务,允许子事务继续分解,由 此形成一个层次分明树状事务结构。嵌套事务模型中,各子事务可按定规则提交,允 许失败的子事务按一定规则执行意外附带子事务。以使整个事务尽可能地不受某个子事 务失败的影响;当然,失败的予事务也可导致父事务失败,进而迫使失败子事务的兄弟 7 一 j :作流系统事务处理的研究与应用 事务失败( 即使已提交成功,也将被擞消) 。嵌套事务模型的提出,使事务具备更强的 灵活性,该模型已在许多实用或原型系统中实施。 h g a r c i a - m o l i n a 等人提出的s a g a s 模型 1 7 ,是另外一个著名的高级事务模型, 它是一利用于解决长事务问题的事务模型。该模型突破传统事务隔离性的限制,允许事 务在全部提交之前释放某些占用的资源,以提高事务并行性,减少长事务长久占据资源 带来的压力。在s a g a s 模型中,允许在事务的各部分间建立明确的数据流和控制流, 这同工作流思想有相似之处,但远不能满足工作流的复杂管理要求。 著名的数据库扩展高级事务模型还有很多,在此不一一阐述,这些扩展模型的根本 目标还是在于满足数据库的一致性需求,虽然对传统事务的放松,在某些方面、某种程 度上更能适应工作流一致性要求,但还不能全面有效地满足工作流一致性需求,甚至这 些模型还没有把适应工作流一致性作为主要目标进行研究。 德国s t u t t g a r t 大学提出的c o n t r a c t s 模型【1 8 ,突破了事务以数据一致性为核心目标 的概念,把事务的概念同时用于数据库和工作流领域,但该模型有许多问题,如不能很 好处理补偿事务次序等等。 g e o r g i a 大学提出的t r a n s a c t i o nw o r k f l o w 模型 1 9 】,是针对工作流领域致性问题 重要里程碑。事务工作流借鉴数据库事务一致性保证技术,包括数据库分布事务的两阶 段提交技术,来管理工作流任务执行的一致性,给出了按照任务间依赖规则刻画和实现 任务一致性的方法,在工作流一致性管理方面取得了重大进展,但事务工作流模型依然 有许多不足之处,如任务致性复杂、不直观等等,有待进一步改进。 1 3 2 典型产品 i b ma l m a d e n 研究中心开展研究项目e x o t i c a 将a t m 的概念引入到工作流环境 中,项目研究的目标就是要开发能处理大型、异质、分布的已有系统,这要求工作流系 统具有可靠性、可扩展性和可用性,该项目的一个研究方向是综合工作流系统和高级事 务模型。研究结果表明,工作流系统是a t m 的个超集,因为工作流系统涵盖了过程 以及面向用户的概念,这些是大多数a t m 所没有的。一个f o w m a r k 过程定义中,集 成了s a g a 模型和柔性模型。f l o w m a r kw f m s 采用般补偿的方法提供了部分回退的 功能。一个工作流中的一些活动组成一个范围s ,s 中的活动要么全部成功执行,要么 全部补偿。一个范围( s p h e r e ) 是基本的一个错误原子单元。范围可以相互嵌套也可以相 互重叠。如果一个活动失败,包含它的s p h e r e 立即开始补偿( s p h e r ei s b a c k e do u t ) 。其他 包含这个s p h e r e 的范围也必须补偿,这个过程可以递归( 称为级联b a c k o u o 。 8 大连理。1 、大学硕士学位论文 w i d e ( w o r k f l o w o n i n t e l l i g e n ta n d d i s t r i b u t e dd a t a b a s ee n v i r o n m e n t ) 是来自西班牙、意 大利和荷兰的五个合作伙伴联合开发的工作流管理系统。在w i d e 中,集成了扩展的 s a g a 模型和嵌套事务模型。 w i d e 项目中,事务管理由两层组成,高层事务管理针对于长时间运行过程所需要 的事务属性。该层基于s a g a 模型,a c i d 属性有不同程度的放松提供了全局事务。 在s a g a 模型中,一个全局事务分为着干步骤,步骤结束之时,动作结果提交到数据 库中,通过补偿动作来取消完成的动作产生的结果。在w i d e 项目中,s a g a 模型被扩 展用来支持灵活的回退。w i d e 定义了s a f e - p o i n t s 来标识过程状态,这些s a f e - p o i n t s 把 语义工作单元分离丌来。尽管这些s a f e p o i n t s 集成在s a g a 模型中,不能独立定制,但 可以看作是一个原子的语义单元。 低层的事务模型是基于嵌套事务模型,提供更为严格的a c i d 属性。低层事务管理 独立于高层。高层的扩展并不影响到低层。 l | 3 3 现有事务处理方案的不足之处 目前工作流管理系统在事务处理方面主要存在以下不足: ( 1 ) 没有一个通用的事务模型。为了更好地描述工作流的事务特性和解决工作流 的事务处理问题,人们提出了许多种先进事务模型。但是,时至今日,许多研究还停留 在理论阶段,没有真正地实现。人们仿佛没有兴趣将它们融入到产品中,原因是由于这 些先进事务模型本身的先天不足造成的。先进事务模型强调以数据痒为中心,这样做虽 然提供了一个良好的理论框架,但是限制了这些模型的弹性,忽略了许多重要的设计问 题。不管各利,扩展事务模型在支持它们初始目标系统是多么成功,也只是反映了在竞争 合作环境中可能出现的相互关系集合的几个方面,它们仅仅体现了复杂信息系统中所发 生的相互关系的一个子集。一个在某个应用领域下保证了正确性的扩展事务模型在另 一个领域却可能无法保证正确性,在某个应用领域给出的限制在另一个领域却可能不需 要。例如:s a g a s 模型在一些银行数据库领域无法保证正确性:在c a d c a m 领域中嵌 套模型不允许共享未提交数据的限制将极大降低系统的性能。另一个方面,当一个新兴 的应用领域出现时,可能所有的扩展事务模型都不能满足要求需要定义新的扩展事务模 型。 ( 2 ) 工作流恢复机制没有得到充分的研究。近几年来,人们提出t j l 个先进事务 的恢复机制来支持非传统的复杂应用,例如长时问运行的多个活动扩展事务模型或多 库等。在大多情况下,这些机制是从数据库观点发展来的,通过这些先进事务模型来保 证共享数据库的一致性,完整性和安全性。尽管它们支持一些复杂应用的a c i d ( 原子 9 一i :作流系统事务处理的研究与庶用 性,一致性,隔离性,耐久性) 属性可以被放松,这些机制能够提供定义良好的失败语 义和复杂的恢复特点它们的基本思想是使用传统数据库先进事务作为构建模型,反映 更现实的环境。它们中的大部分恢复处理机制依旧围绕先进事务的,并且,合并先进事 务模型和工作流管理系统的特征来支持复杂应用中的语义失败和恢复处理。现存的比较 有影响的工作流原型系统,在恢复处理的设计上都存在着诸多不足:美国佐治亚大学研 制的m e t e o r 2 系统对于具有多级事务特性的工作流任务处理方面的研究存在明显的不足 奥地利的克拉根福大学的w a m o 系统对于工作流的恢复模型的定义,只考虑补偿的情 况,过于简单;欧洲委会e s p r i t 项目的w i d e 系统中由于工作流的错误处理是基于规 则的,因而对任务的要求比较严格,即任务对象的操作必须是可以量化处理的。这样就 极大地限制了这个系统的使用范围。 ( 3 ) 缺乏支持事务处理的工作流产品。尽管现在有许多工作流管理系统称为商业 产。蜀,但是很少引入事务的概念。这些系统与事务模型是正交的。它们源于7 0 年代的 j c l 和8 0 年代的o a 侧重于办公过程的自动化和文档管理。由于现在制造业的不断发 展,要求工作流管理系统能够支持更加复杂的、长时间运行的业务活动,并可以保证在 并发环境中的正确运行。另外,在工作流环境中不能单纯地引入数据库中的先进事务概 念。因此,在工作流管理系统中,不但要考虑事务方面的因素,更要考虑组织结构、用 户接口、监控、分布和异构等方面的因素。 1 4 本文的主要工作及其创新点 目前工作流管理系统中的事务研究主要采用的方法是对高级事务模型进行扩展,把 扩展后的模型应用到工作流系统中,使工作流系统具有处理复杂事务的特性。这种方法 对高级事务模型扩展后,需要把扩展后的模型与工作流模型进行无缝的集成,才能解决 具有“工作流特点的事务”问题。但目前对高级事务模型的扩展研究还存在很多不足, 不能与工作流模型很好的整合。 本文采用方法是以工作流模型为基础,引入事务特性,使工作流模型支持事务处 理。这种方法的优点是事务特性可以灵活定制,不依赖某种特定的事务模型,同时工作 流模型可以独立扩展,但会增加建摸时的难度。 为了更好的研究工作流中的事务,需要区分工作流中的事务和传统事务以及高级事 务的不同,分析比较这种不同有助于理解工作流管理系统中事务处理的难点,从而可以 根掘工作流的特性得到有效的处理方法,本文的研究内容之一是分析比较了工作流中的 事务与传统事务、高级事务的不同,指出工作流中事务所具有的特性以及工作流管理系 统中事务处理的难点所在。 1 0 一 人连理:l 大学硕士学位论文 在分析比较的基础上我们对基于p e t r i 网的信牌驱动的工作流模型进行扩充,使得 建模工程师能够根据业务需求指定活动的事务属性。 本文中的工作流模型在对活动定义了相应的事务特性之外,还引入了事务范围的概 念,将事务性聚焦到某些关键业务活动之上,保证了可靠性的同时带来了一定的灵活 性。 原子范围限定了事务范围的原子性,从业务需求出发,我们将原予范围扩展为严格 原子范围、可选原子范围以及异常原子范围,提供了一种可定制的原子范围概念,以处 理不同情况、不同级别的原子性需求。 事务主要是异常情况下保护关键、j k 务能够可靠正确的执行,由于工作流的运行环境 具有分布、异质、自治的特点,工作流系统运行期间可能发生的错误复杂多样,出错原 因也多种多样,也j 年是由于工作流系统的组成部件发生故障,也可能是任务级的错误。 本文提出一个可扩展的层次错误模型,对于不同类型的错误,分别提出不同的处理方 法。 对于错误模型的任务级的逻辑错误,分别从用户层和系统层提供了事务恢复处理。 捉供用户层的恢复手段是为了满足用户的阐退请求,而系统层的事务恢复处理模式基于 模型中活动的事务属性提出的一组恢复执行模式。 本文针对目前工作流事务处理中急需解决的问题展开研究工作,对工作流的事务处 理相关的一系列问题进行探讨,本文所提出的事务处理方法与前人的工作相比具有如下 创新点: ( 1 ) 本文的方法不同于a c t a ,因为我们不考虑一个特定的事务模型,只考虑一 个特定工作流的事务需求,从需求层开始,然后把这样的需求映射到工作流模型中。 a c t a 方法可以用来开发一种新的事务模型,然后可以把它应用列工作流定义中,但这 不能将a c t a 的定义和工作流直接结合。 ( 2 ) c o n t r a c t 模型为原子单元分配了严格的原子性和隔离性,在本文的方法中, 原子性作为种独立属性,可以由用户自出定义。 ( 3 ) 已有的产品采用的方法是将高级事务模型( a t m ) 应用到工作流中,采用这样 勺方法使得: 作流管理系统中的事务处理受到高级事务模型的限制,本文的工作流事务 处理不依赖于任何一种特定的高级事务模型,我们扩展了工作流模型,赋予活动事务语 义,提供灵活的事务恢复执行模式,从需求出发的可定制原子性是它不同于其他产品的 主要特点。 : :作流系统事务处理的研究与应_ ; j 1 5 本文的组织结构 本文围绕工作流管理系统中的事务概念、事务模型及事务处理机制展开研究。全文 组织如下:第一章介绍了工作流管理系统和工作流管理系统中事务处理的研究现状,提 出了本文的研究内容。第二章回顾了事务的概念,分析对比了工作流事务与传统事务以 及高级事务的区别,通过分析,总结工作流管理系统中事务处理的难点。第三章详细介 绍了基于事务语义的工作流模型,包括模型组成元素、模型的控制结构、活动的事务语 义。第四章介绍工作流执行过程中的错误处理、事务恢复执行模式。第五章介绍过程 定义子系统的事务处理模块和运行服务子系统的设计与实现。最后对全文进行总结,并 对工作流管理系统中的事务研究进行了展望,提出了进一步的研究内容和方向。 ,1 2 大连理工大学硕士学位论文 2 工作流事务模型研究 事务的概念不能直接移植到工作流管理系统中,因为工作流自身的特点以及工作流 运行环境的复杂性都使得工作流中的事务与传统事务以及高级事务存在巨大的区别,过 去在工作流管理系统中的事务研究中,没有系统化的分析比较这种区别,本章是对事务 概念的深入理解以及工作流自身特点的分析基础上比较了工作流事务与传统事务与高级 事务不同,进一步总结出工作流管理系统中事务处理的难点,这样的分析比较是我们的 研究基础,同时对进一步的研究起到了一定的指导作用。 工作流中的事务超出了数据库事务和a t m 的范围。虽然,工作流中的活动会涉及 数据库事务,但大多数工作流应用超出了以数据为中心的数据库范围,也超出了具有事 务语义的底层设施的范围,工作流自身的以过程为中心的特点以及它的运行环境的异质 性、分布性、和非事务性的主要特征,使得工作流事务与传统事务以及a t m 中的事务 存在很多不同之处,本章首先阐明事务的概念,以及传统事务和高级事务的特点,并对 较成熟的高级事务模型进行详细的介绍。重点分析比较工作流事务与传统事务的不同, 工作流事务与a t m 中的事务处理的刁i 同,并指出了工作流管理系统中的事务处理的难 点。 2 1 传统的事务概念 事务的概念最早是在数据库领域中提出的。所谓事务是指一组逻辑操作单元,使数 据从一种一致状态变换到另一利,一致状态。为确保数据库中数据的一致性,数据的操作 应当是离散的成组的逻辑单元。当它全部完成时,数据的一致性可以保持,而当这个单 元中的一部分操作失败,整个事务应全部视为错误,所有从起始点以后的操作应全部回 退到开始状态。 按照j g r a y 的定义,事务是用户定义的一个数据库操作序列,这些操作要么都 做,要么都不做,是一个不可分割的工作单位 2 0 。 2 ,1 1 事务的状态 一个事务开始运行后,其结果如何是难以预测的。为了保障系统赋予事务a c i d 特 性,必须记载事务的状态,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- everydayuse课件教学课件
- 信使课件教学课件
- 2025年护理学基础题库及答案重点
- 第九课 爱要怎么说说课稿小学心理健康五年级下册大百科版
- 第一課 日本について说课稿新编日语第四册重排本-新编日语
- DR基础知识培训课件
- 2025年神外护理题库及答案
- 2025年小狗生育护理知识题库及答案
- 2025年大专护理管理题库及答案
- 2024-2025学年高中化学 第三章 有机化合物 第三节 生活中两种常见的有机物 第2课时说课稿2 新人教版必修2
- 北京市国内旅游合同书
- 公司品牌建设五年规划
- 第二单元 三国两晋南北朝的民族交融与隋唐统一多民族封建国家的发展 知识清单 高中历史统编版(2019)必修中外历史纲要上册
- 居室环境的清洁与消毒
- GB/T 39766-2021人类生物样本库管理规范
- GB/T 2900.50-2008电工术语发电、输电及配电通用术语
- GB/T 2518-2008连续热镀锌钢板及钢带
- GB/T 1689-2014硫化橡胶耐磨性能的测定(用阿克隆磨耗试验机)
- 第二讲国外教育评价的发展历程
- 中外管理思想史-课件
- 教育学原理课后答案主编项贤明
评论
0/150
提交评论