已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)迁移工作流中的过程完整性控制研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 摘要 迁移工作流技术是近年来工作流研究的新方向,因其采用移动a g e n t 技术实 现,特别适合频繁的网络断连,以及需要大量调用远程服务的分布式并发处理过 程。迁移工作流包括工作流引擎、迁移实例和工作位置三要素,迁移实例是工作 流的执行主体,基于移动a g e n t 技术实现,它能携带代码和状态数据在不同的工 作位置迁移利用本地服务调用完成业务流程;工作流引擎负责工作流定义、全局 信息维护和创建派遣迁移实例等。 迁移工作流系统的基本事务属性有:失败原子性、工作流独立性和工作流数 据一致性。迁移工作流过程完整性是指迁移工作流的所有任务满足失败原子性并 最终按照工作流定义全部有序完成的性质,既包括主流程和各级子流程完整执 行,也包括每个任务都要完整执行。迁移工作流过程完整性控制从两个层次出发, 首先解决任务片的完整性控制,然后以此为基础实现整个流程的完整性控制。过 程完整性控制包含两个涵义:一是提供容错恢复功能,保证单个任务都完整执行; 二是保证任务的依赖关系,保证流程按照工作流定义完整执行。 对任务片的完整性控制,首先从任务片的组成结构入手,用任务片生成树表 示任务间的依赖关系,并在任务片执行时在任务片树中记录每个任务的执行状 态,然后对失败任务按与一或逻辑反映出对任务片的影响,依此来指导迁移恢复。 按照上述思想,文中提出了任务片完整性控制算法。 过程完整性控制以任务片的完整性控制为基础,在迁移实例执行过程中,遇 到分叉结构派生子迁移实例,在汇聚结构合并子迁移实例,利用递归思想,直至 最小层次的执行过程成为若干串行的任务片。按照上述思想,文中提出了过程完 整性控制算法。 为验证过程完整性控制算法的有效性,本文在移动计算实验室迁移工作流管 理系统平台上实现了该算法,并通过实验用例的执行结果表明了算法的实用价 值。通过加入过程完整性控制,迁移实例能够在遇到执行异常时保持业务流程的 连续执行并最终实现过程完整性,由此可以看出,过程完整性控制算法对于增强 系统的可靠性具有重要作用。 本文算法以提供迁移恢复工作位置足够多为假设,在实际应用环境下这种相 山东大学硕士学位论文 对简单的算法的真实效力可能会有所下降,因此尚需改进工作。另外,本文算法 主要解决迁移工作流执行过程完整性问题,而没有涉及数据正确性和一致性的探 讨,如何将它们融入过程完整性控制,丰富本文提出的迁移工作流事务实现模型, 成为有待后续研究的问题。 关键词:迁移工作流;迁移实例;过程完整性;任务片;弱迁移策略 i i 山东大学硕士学位论文 a b s t r a c t m i g r a t i n gw o r k f l o wb e c o m e san e wr e s e a r c ht r e n d i n go fw o r k f l o wn o w a d a y s , a n db yi m p l e m e n t i n gw i t hm o b i l ea g e n tt e c h n o l o g yi t sf i tf o rd i s t r i b u t e da n d c o n c u r r e n ti n t e r a c t i o nw h i c hi si nf r e q u e n td i s c o n n e c t i n ge n v i r o n m e n ta n dw i m e n o r m o u si n v o c a t i o n st or e m o t es e r v i c e s m i g r a t i n gw o r k f l o wc o n t a i n st h r e ee l e m e n t s a sw o r k f l o we n g i n e ,m i g r a t i n gi n s t a n c ea n dw o r k p l a c e m i g r a t i n gi n s t a n c e ( m i ) i st h e e x e c u t o ro fw o r k f l o wa n db a s e do nm o b i l ea g e n ts ot h a ti tc a nc a r r yc o d ea n dd a t at o m i g r a t eo n t od i f f e r e n tw o r k p l a c e st oc a l ll o c a ls e r v i c e st of u f i np r o c e s s w o r k f l o w e n g i n ei sr e s p o n s i b l ef o rd e f i n i n gw o r k f l o w , m a i n t a i n i n go v e r a l li n f o r m a t i o na n d c r e a t i n gm i g r a t i n gi n s t a n c e s m i g r a t i n gw o r k f l o ws h o u l ds u p p o r tt h r e et r a n s a c t i o n a lp r o p e r t i e sa sf a i l u r e a t o m i c i t y , w o r k f l o wi s o l a t i o na n dw o r k f l o wd a t ac o n s i s t e n c y m i g r a t i n gw o r k f l o w p r o c e s si n t e g r i t ym e a n st h a ta l lt a s k sk e e pf a i l u r ea t o m i c i t ya n df i n i s hf o l l o w i n g w o r k f l o ws p e c i f i c a t i o ns ot h a tm a i np r o c e s sa n ds u bp r o c e s s e ss h o u l db ee x e c u t e d c o m p l e t e l ya n ds oa se a c ht a s k p r o c e s si n t e g r i t yc o n t r o lf o rm i g r a t i n gw o r k f l o w ( m w p i c ) c o n t r o l st w ol e v e l s ,a n df i r s t l yi tw i l lw o r ko u tt ok e e pi n t e g r i t yo ft a s k b l o c k ,a n dt h e ni tw i l lc o n t r o lt h ei n t e g r i t yo fp r o c e s s m w p i ch a st w oi m p l i c a t i o n s , a n df i r s t l yi ts h o u l db ee q u i p p e dw i t hf a i l u r er e c o v e r yf a c i l i t i e st om a k ee a c ht a s k c o m p l e t e l ye x e c u t e d ,a n ds e c o n d l yi ts h o u l df o l l o wt h ed e p e n d e n c yr e l a t i o n s h i p b e t w e e nt a s k st ok e e pp r o c e s si n t e g r i t ya ss p e c i f i e d t a s kb l o c ki n t e g r i t yc o n t r o l ( t b i c ) w i l lf i r s t l yd e s c r i b ec o m p o s i t i o no ft a s k b l o c k 、) l ,i t has p a n n i n gt r e e ,a n dt h e nl a b e lt a s ks t a t e so nt r e en o d e sa n ds u m m a r i z e t a s kb l o c ks t a t e 、 ,i la n d o rl o g i c f i n a l l yt h et a s kb l o c kw i l lb ed e c i d e dh o wt od o m i g r a t i n gr e c o v e r ya c c o r d i n gt os p a n n i n gt r e e s ot h et b i ca l g o r i t h mi sp r o p o s e di n t h e p a p e r m w p i ca l g o r i t h md e p e n d so nt b i c ,a n df o rw h o l ep r o c e s si tw i l ld e r i v e m u l t i p l e sf o rb r a n c hs u b - p r o c e s s e s ,w h i l em e r g i n gt h e mf o ra g g r e g a t i o n b y r e c u r s i v ed e r i v i n g , t h em i n i m u ms u b - p r o c e s si st r a n s f o r m e di n t os e r i a lt a s kb l o c k s s o t h em w p i c a l g o r i t h mi sp r o p o s e di nt h ep a p e r t ov e r i f yt h em w p i ca l g o r i t h mi ti sf u l f i l l e do n m i g r a t i n g w o r k f l o w m a n a g e m e n ts y s t e mi nm o b i l ec o m p u t i n gl a b w i n le x p e r i m e n tr e s u l t ,i ti si l l u s t r a t e d t h a tm w p i cm a k e st h ew h o l ep r o c e s s k e e p i n gc o n t i n u o u sw o r k i n gt o af i n a l i i i 山东大学硕士学位论文 a c c o m p l i s h m e n tc a r e l e s st h ee ) ( t e m a le x c e p t i o n sa n de n h a n c e st h es y s t e ms t a b i l i t y t h ea l g o r i t h mp r e s u m e st h e r ea r ep l e n t yo fw o r k p l a c e ss u p p o r t i n gf o rm i g r a t i n g r e c o v e r ys ot h a ti t se f f i c i e n c ym a yb el o w e ro nr e a l i s t i cc i r c u m s t a n c e s s ot h e a l g o r i t h mn e e d st ob ei m p r o v e d w h a t sm o r e ,t h ea l g o r i t h mp a y sm a i na t t e n t i o n st o w o r k f l o wi n t e g r i t yw i t h o ma n yt od a t ac o r r e c t n e s sa n dc o n s i s t e n c y h o wt oc o m b i n e i n t e g r i t ya n dc o r r e c t n e s ss o l u t i o n st o g e t h e rt o e n r i c ht h er e a l i z a t i o nm o d e lo f t r a n s a c t i o n a lp r o p e r t i e so fm i g r a t i n gw o r k f l o wi sap r o b l e mr e q u i r i n gf u t u r es t u d y i v k e y w o r d s :m i g r a t i n gw o r k f l o w ;m i g r a t i n gi n s t a n c e ;p r o c e s si n t e g r i t y ; t a s kb l o c k ;w e a km i g r a t i n gs t r a t e g y 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:壹塞因立 e t 期:理殴,豆12 翌 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:起宏图) 导师签名: 日 山东大学硕士学位论文 第1 章绪论 1 1 课题研究的背景和意义 工作流是业务过程的全部或部分自动化,在此过程中,文档、信息或者任务 按照一系列过程规则在不同的参与者之间流转,实现组织成员间的协调工作以期 达到业务的总体目标【l 】。工作流技术是实现企业业务过程建模、自动化过程仿真 分析、业务过程优化、业务过程管理与集成,从而实现业务过程的自动化的核心 技术。企业生产经营活动是由一系列业务过程交织在一起组成的,通过运用工作 流技术可以将这些业务过程的执行自动化,并对其进行有效的管理以提高企业的 办公效率,增强企业的标准化和规范化。 移动a g e n t 技术的发展为工作流提供了新的实现技术,利用a g e n t 的智能性可 以将业务的执行逻辑封装在a g e n t 中,屏蔽现实业务的千差万别,使服务提供方 易于实现同构的、易于部署的平台;同时利用a g e n t 的移动性,满足了现代企业 经营过程分布式的需求。迁移工作流是将移动计算技术应用于工作流管理的一项 新技术 2 , 3 1 ,因其采用移动a g e n t 技术实现,特别适合频繁的网络断连,以及需要 大量调用远程服务的分布式并发处理过程。迁移工作流包括工作流引擎、迁移实 例和工作位置三要素1 4 j ,迁移实例可以在某个工作位置上利用本地资源执行一项 或多项任务。当迁移实例发现当前工作位置不能满足其执行任务的要求时,便携 带任务说明书和当前执行结果迁移到另一个能满足其要求的工作位置上继续执 行;工作流引擎掌握所有工作位置的资源状况与服务能力,能够依据业务流程的 总目标和子目标,规划何时、何地与如何创建或派生迁移实例;工作位置是迁移 实例的运行场所,每个工作位置都必须是可认证的,并且为迁移实例提供可靠的 本地服务。迁移工作流很好地解决了传统工作流所欠缺的柔性、自适应性、规范 性等问题,大大提高了工作流系统适应动态环境的灵活性。 迁移工作流要从理论阶段走向应用阶段,首先要保证系统的稳定性和可靠 性。迁移工作流系统不同于传统的基于引擎调度的工作流系统,迁移实例在不同 的工作位置就地利用工作流服务,因此迁移实例自身异常和工作位置异常都会导 致迁移工作流执行过程的失败。传统的工作流事务处理策略极大地提高了工作流 执行的完整性和正确性,但不能很好地适应迁移工作流新模式。正是在此背景下, 山东大学硕士学位论文 本文旨在提出一个适应迁移工作流特征的事务实现模型,并着重解决迁移工作流 过程完整性控制的问题。 1 2 迁移工作流的研究现状 迁移工作流是工作流发展的新方向,基于移动计算范式实现,采用远程程序 设计代替传统的远程过程调用,更好地支持了工作流发展分布性和异构性需求。 使用移动a g e n t 技术实现的迁移实例,能够携带代码和数据在工作位置间移动, 就近利用本地服务完成预定的业务目标。迁移实例是在运行时刻定义的,是在工 作位置上不断合并静态工作流说明、本地规则和策略以及用户决策的结果f 5 】。 从文献 3 首次提出迁移工作流的概念以来,迁移工作流的研究主要集中在 系统模型和架构、通信模型和安全模型等方面,但对迁移工作流事务模型以及过 程完整性控制方面的研究尚不完善。 事务概念最早起源于数据库管理系统,旨在保证数据操作的完整性和一致 性。传统事务模型在应对长事务方面表现出严重不足,于是提出了扩展事务模型, 包括嵌套事务、s a g a s 、多层事务和柔性事务等。扩展事务模型通常把一系列的 操作分组为嵌套或层次化结构,在s a g a s 中首次提出应用补偿机制来撤销已提交 事务的影响,并且放宽了传统模型中的a c i d 属性1 6 1 。随着工作流技术的发展,人 们在扩展事务模型的基础上提出了事务性工作流【7 】的概念,并研究相应的事务工 作流模型礤d 1 1 ,同时对异常处理【l 厶1 4 1 和并发控制 1 5 , 1 6 1 进行了大量研究。 为适应迁移工作流的特点,文献 5 】指出迁移工作流的事务属性应包括失败 原子性、工作流隔离性和工作流数据一致性等,并指出前向错误恢复和补偿机制 可以用于控制迁移工作流的失败原子性,执行原子单元划分和层次结构的全局时 间戳服务可以用于控制迁移工作流的独立性,工作流输入输出参数的合并关系 可以用于控制工作流数据的一致性,但没有给出明确的事务实现模型。 文献【1 7 1 中基于软件复制的主一备服务器策略实现的工作位置服务器容错功 能,同时借鉴已有的异常处理措施可以实现本地故障恢复机制。但是,迁移工作 流过程完整性控制不仅要靠本地恢复,还要通过迁移恢复实现,如何在迁移恢复 过程中保证执行语义完整性,使得整个流程完整执行且仅执行一次,成为本文研 究的主要方向和解决的关键问题。 2 山东大学硕士学位论文 1 3 本文的工作与创新 本文的主要工作如下: 1 、分析了迁移工作流中的事务属性特征,给出了相关概念,阐明了迁移工 作流过程完整性控制的含义,提出了迁移工作流事务实现模型; 2 、分析迁移工作流的执行模式,给出了任务片树和管理域的概念,提出了 迁移工作流过程完整性控制算法,并分析了算法的性能: 3 、在迁移工作流管理系统中实现了过程完整性控制算法,实现了类代码加 载、迁移实例派生等关键技术; 4 、设计实验用例验证了过程完整性控制算法的可行性,通过分析实验用例 的运行结果说明算法的容错能力。 本文主要创新点: 1 、提出了一种迁移工作流事务实现模型,该模型结合了迁移工作流的事务 属性特征和传统工作流的事务处理策略,为迁移工作流的事务处理提供了可行的 解决方案; 2 、提出了一种迁移工作流过程完整性控制算法,该算法首先采用弱迁移策 略保证任务执行的完整性,然后在任务片完整性控制的基础上实现业务过程的完 整性控制,实验结果表明,该算法提高了迁移实例的成功率,增强了系统的可靠 性。 1 4 本文组织结构 本文的内容结构如下: 第1 章说明工作流技术的用途和发展,分析迁移工作流系统的优势和研 究现状并指出本文的研究方向,最后介绍本文的主要工作和创新 点。 第2 章 介绍工作流的概念及相关技术,阐述移动a g e n t 技术的基础知识 和运行机制,详细说明迁移工作流模型定义和各部分的实现框 架。 第3 章论述工作流事务解决的主要问题,说明工作流事务属性相关概 念;介绍传统的异常处理和容错技术;分析迁移工作流事务属性 山东大学硕士学位论文 特征,阐述过程完整性控制的涵义,给出迁移工作流事务实现模 型。 第4 章给出迁移工作流过程完整性控制算法,包括算法涉及的术语和概 念,以及算法使用的数据结构;结合弱迁移策略实现任务的完整 性,给出任务片完整性控制算法和基于它的过程完整性控制算 法,并分析算法的性能。 第5 章讲述算法实现过程中涉及的关键技术,展示了算法相关数据结构 的设计和实现,通过实验用例的运行结果分析算法的有效性。 第6 章总结全文并提出展望。 4 山东大学硕士学位论文 第2 章迁移工作流基础 2 1 引言 移动a g e n t 是构成迁移工作流系统的基础,移动a g e n t 计算是由一组称为 移动a g e n t 软件实体合作完成的,移动a g e n t 是移动计算模式中的基本计算单 元。其计算模型、行为特征是研究迁移实例模型定义和实现的基础;其迁移机制 直接为迁移实例迁移提供参考,也为过程完整性控制采用的弱迁移策略提供依 据;其协作模型也为迁移实例派生和管理提供指导。 根据工作流联盟关于工作流和工作流管理系统的定义,以移动a g e n t 作为流 程执行主体,提出了迁移工作流模型定义和系统框架。迁移实例、迁移工作流管 理引擎以及工作位置的定义和结构框架的提出,成为迁移工作流管理系统实现的 理论依据。 2 2 移动a g e n t 计算相关技术 2 2 1 移动计算模式 移动a g e n t 【1 8 1 是一个运行于开放、动态网络环境中的封装良好之计算实体, 它代表用户自主地在网络上移动,完成指定的任务,通常,移动a g e n t 由数据、 操作和行为规则封装而成。它具有自主性、移动性、协作性和安全性等特性: 1 ) 自主性:指a g e n t 拥有对自身状态和操作的控制能力,具有对环境的应 变和决策能力,无需用户干预按照自己的意愿完成特定的任务; 2 ) 移动性:指a g e n t 可以在任意站点上暂时中断执行,在异构网络( 如 i n t e m e t ) 上移动,并在需要的站点上停留下来再恢复执行; 3 ) 协作性:体现为若干移动a g e n t 可在网络中相互通信并合作完成某一任 务; 4 ) 安全性:体现为移动a g e n t 及a g e n t 运行环境抵御恶意攻击和无意破坏 的能力。 关于移动a g e n t 的早期论述可参考文献 1 9 2 1 】等。致力于移动a g e n t 标准化 的组织有o m g ( o b j e c tm a n a g e m e n tg r o u p ) 2 2 1 、f i p a ( f o u n d a t i o nf o ri n t e l l i g e n t 山东大学硕士学位论文 p h y s i c a la g e n t s ) 2 3 1 等。o m g 提出了m a s i f ( m o b i l ea g e n ts y s t e mi n t e r o p e r a b i l i t y f a c i l i t y ) 标准,用以解决移动a g e n t 系统间的互操作问题。f i p a 则提出了包括移 动a g e n t 抽象体系结构、消息传输、路由协议、查询语言、a g e n t 通信语言、a g e n t 互操作协议等一系列的标准。著名的移动a g e n t 的研究机构包括美国d a r t m o u t h 大学、日本i b m 公司【2 5 l 、日本米泽实验室【2 6 1 、德国s t u t t g a r t 大学”1 、我国南 京大学2 8 l 等。 2 2 2 迁移机制 移动a g e n t 的迁移可分为强迁移和弱迁移两种类型【2 9 1 。强迁移是语句级指令 级的迁移,移动a g e n t 迁移后从程序断点处恢复执行。移动a g e n t 的强迁移类似于 主机之间的进程迁移。弱迁移是过程级的迁移,移动a g e n t 迁移后重新启动执行。 相对而言,强迁移实现难度大于弱迁移,但由于强迁移允许比较自由的方式编写 任务代码,不像弱迁移那样对任务代码有严格的约束,因此,强迁移方式下对任 务的描述能力好于弱迁移。 移动a g e n t 要求能够在异构主机之间迁移运行,而j a v a 语言不但具有良好的 跨平台特性,还在一定程度上支持代码移动( 如j a v a 语言所提供的对象序列化机 制、动态类加载机制等) ,因此j a v a 语言非常适合于编写移动a g e n t 程序。现已知 嗍w g j a g e n t 系统有6 0 多种【3 0 l ,它们中的绝大多数是基于j a v a 语言构造的。在这 些系统中,又仅有少数系统实现了移动a g e n t 强迁移,包括w a s p ”l 、j a v a g o 2 6 1 、 j a v a g o x 3 2 l 、c i a 3 3 j 年t l n o m a d s 3 4 】等。 移动a g e n t 的迁移不同于单纯、简单的代码迁移,本质上说,是移动a g e n t 在 异构环境中的计算状态的迁移和恢复执行,它实现的是计算迁移。在一个移动 a g e n t 的计算迁移过程中,必须确保a g e n t 实体位置的变迁不影响整个移动a g e n t 系统的计算完整性。这其中涉及到大量的状态捕获、封装、迁移和恢复工作【”1 。 移动a g e n t 迁移与线程迁移d 6 】1 3 刀既有联系又有区别。首先,移动a g e i l t 迁移和 线程迁移面临许多相同的问题,如代码迁移、执行状态捕获与恢复、中间执行结 果的迁移、资源迁移与访问等。移动a g e n t 迁移和线程迁移可相互借鉴这些问题 的解决办法。其次,移动a g e n t 迁移与线程迁移的要求不同。并行系统,如集群 系统中,线程迁移一般为同构主机之间的迁移,而移动a g e n t i :i :i 于运行环境复杂, 必须具有在异构主机之间迁移的能力。线程迁移其迁移请求一般是由外部对象 6 山东大学硕士学位论文 ( 如操作系统) 发起的,是被动迁移,而移动a g e n t 迁移更强调自主迁移。 基于j a v a 的移动a g e n t 强迁移的内容如图2 1 所示删。 程序计数器迁移 多线程迁移 堆栈迁移 对象迁移 资源迁移 界面迁移 图2 - 1 移动a g e n t 强迁移所包含的内容 图2 1 中,程序计数器迁移指程序控制的迁移,即迁移之后控制能够恢复到 断点处;堆栈迁移指局部变量的迁移:资源迁移指移动a g e n t 所访问的资源,如 文件、网络连接等的迁移;界面迁移指迁移之后移动a g e n t 的界面能够在屏幕上 恢复,移动a g e n t 能够继续与用户进行交互。 实现移动a g e n t 强迁移,关键在于捕获线程执行状态。访问堆比较容易,使 用j a v a 语言提供的对象序列化技术,对移动a g e n t 作对象序列化即可保存其引用 的堆中的全部对象。访问方法调用栈和操作数栈则比较困难。出于安全方面的考 虑,j v m 不允许j a v a 程序直接访问其方法调用栈。达到这个目的,有两种基本思 路:一是在j v m 级别访问方法调用栈和操作数栈:是在应用程序级别构造方法 调用栈的等价形式。根据现有的支持强迁移的移动a g e n t 系统,以及相关领域的 研究结果,基于j a v a 的移动a g e n t 强迁移实现方法主要可分为如下四种类型,它 们的区别体现在如何捕获和恢复线程执行状态上: 1 ) 基于代码变换的方法。又可分为基于源代码变换和基于字节码变换两种 类型,前者如w a s p 和j a v a g o ,后者女1 :1 j a v a g o x $ 1 :l b r a k e s 【3 9 1 。 2 ) 基于j v m 接口的方法。j v m 提供了开发接e l j p d a ,使用这些接口可以捕 获和恢复线程执行状态,! t i l c l a 、m j a v a m p i 【4 0 1 。 3 ) 扩展j v m 的方法。通过扩展j v m ,使得j a v a 程序能够捕获线程执行状态, 如s u m a t r a t 4 1 1 、i t s t 3 6 1 、m e r p a t l 4 2 1 、s u m a 4 3 i 矛 i j e s s i c a 2 t 3 7 1 。 4 ) 自行构造支持线程状态捕获的j a v a 虚拟机的方法,! i :i n o m a d s 。 7 ,fj1l,-1j【 移 移 迁 迁 行 据 执 数 ,、【 移 移 迁 迁 码 态 代 状,f1【 移迁强 山东大学硕士学位论文 2 2 3 协作模型 移动a g e n t 之间的协作从底层到高层可分为消息传输、会话、协作三个层次, 如图2 2 所示。消息传输层依托于底层网络,向上提供移动a g e n t 位置透明的消息 传输服务。会话层提供两个( 或多个) 移动a g e n t 之间的交互会话服务。通常, 移动a g e n t 之间使用主体通信语言进行会话。著名的主体通信语言如i k q m l 和 f i p a 提出的a c l ,以言语行为理论为基础,定义了多种通信动作( c o m m u n i c a t i v e a c t ) 以完成移a g e n t # _ i n - j 会话4 4 1 。协作层支持具有共同目标的移动a g e n t i 拘协 同工作过程,一般提供对某种协作模型的支持,如会话模型、会议模型、黑板模 型,以及基于t u p l es p a c e 的协作模型4 5 1 等。 图2 - 2 移动a g e n t 协作的层次模型 2 3 迁移工作流基本概念 2 。3 1 工作流和工作流管理系统 工作流管理联盟( 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 年成立之后,颁布了一系列工作流管理系统相关标 准和技术规范,标志着工作流技术开始进入了相对成熟和快速发展的阶段。 工作流管理联盟为工作流提供的定义是【l 】:工作流是一类能够完全或者部分 自动执行的经营过程,它根据一系列过程规则,使文档、信息或任务能够在不同 的执行者之间传递与执行。 从工作流定义中可以看出,工作流是经营过程的一种计算机化的表示模型, 定义了完成整个过程需要的各种参数。这些参数包括对过程中每一个步骤的定 义、步骤间的执行顺序、条件以及数据流的建立、每一步骤由谁负责以及每一个 活动所需要的应用程序。作为计算机支持的协同工作的一部分,工作流要解决的 主要问题是:为实现某个预期的业务目标或为促使此目标的实现,在多个参与者 8 山东大学硕士学位论文 之间利用计算机按某种预定规则自动传递文档、信息或者任务。 从工作流定义中可以看出,工作流是经营过程的一个计算机实现。经营过程 是为了实现企业某个经营目标的一个过程,它在部分或者全部组织机构和人员的 参与下,利用企业资源( 包括所需的处理设备、通信设备、计算机硬件、软件等 等) ,按照预先确定的规则,在参与者和组织机构之间进行文档、信息、任务的 传递和处理( 包括经营决策) ,从而实现规定的经营目标。经营过程包含如下几个 方面的问题: 1 ) 经营过程的目标是什么 2 ) 经营过程分为哪些任务和步骤( 条件、规则) 3 ) 由谁来做( 组织、角色) 4 ) 采用什么方式完成经营过程 5 ) 做的怎样( 监控) 工作流管理系统【删是一种在工作流形式化表示的驱动下,通过软件的执行而 完成工作流定义、管理及执行的系统,其主要目标是对业务过程中各步骤( 或称 活动、环节) 发生的先后次序及同各步骤相应人力或信息资源的调用等进行管理 而实现业务过程的自动化。当然此种管理可能会在不同的信息及通信环境下实 现,所涉及的范围可以小至几人的工作组,也可以大到企业( 机构) 与企业( 机构) 之间。它包含有三大功能模块:建立时功能、运行时实例控制功能、运行时同用 户及应用的交互功能。其中各模块的具体功能如下: 1 ) 建立时功能:主要涉及工作流过程和相关活动的定义与建模功能; 羹) 运行时实例控制功能:在特定的运行环境下,执行工作流过程,并完成 每个过程中活动的排序和调度功能; 3 ) 运行时的人机交互功能:实现各种活动执行过程中用户与i t 应用工具之 间的交互。 2 3 2 迁移工作流的定义 迁移工作流是工作流技术与移动a g e n t 技术的结合。工作流完成某种业务过 程,业务过程由活动及活动之间的依赖关系组成。活动间的依赖关系包括数据依 赖和控制依赖两种类型。活动包括活动主体、活动客体( 任务和数据) 、活动规则 ( 任务执行与协调) 和外部环境( 对活动主体提供数据和功能服务,即工作流服务) 9 山东大学硕士学位论文 四部分。外部环境由工作位置提供,活动之间的依赖关系由迁移工作流引擎保证, 而业务过程中的活动被映射为携带任务说明书和工作位置列表的迁移实例。迁移 实例可以在某个工作位置上利用本地资源执行一项或多项任务,当迁移实例发现 当前工作位置不能满足其任务需求时,迁移实例迁移到下一个能满足其需求的工 作位置上继续执行。多个迁移实例可以并行工作。由此,可以将工作流的全部或 部分自动化解释为多个迁移实例之间的集散式协同工作过程,每个迁移实例都按 照迁移工作流管理引擎的意图有序地执行一个目标相对独立的活动。迁移工作流 模型可以明显地改善传统工作流管理的灵活性和分布性,适合于需要传递大量数 据和需要大量调用远程服务的分布式并发工作流过程。 定义2 1 迁移工作流【4 j 迁移工作流m w f 是一个四元组( w i d ,m i ,、肥m w e n g i n e ) ,其中,w i d 是迁 移工作流标识:m i = m i l ,m i 2 ,r n j 。) 是迁移实例的集合;、p = w p l ,w p 2 ,w p m ) 是m i 中所有迁移实例的工作位置集合,w p 在拓扑结构上构成一个连通网络( 可 靠连接或非可靠连接) ;m w e n g i n e = e m i ,e w p 是面向工作流目标的迁移工作流 引擎,其中,e m i 是迁移实例管理引擎,e w p 是工作位置管理引擎。 e l l l i 在工作流执行期间按照工作流的过程定义对迁移实例进行统一管理,包 括迁移实例的创建、派遣、跟踪、回收、迁移实例的工作控制和多迁移实例协调 等,因此,它不仅掌握所有m i m i 的外部特征、工作任务、当前位置和当前状 态( 例如迁移态、执行态、等待态、消亡态等) ,而且控制迁移实例之间的活动依 赖关系;e w d 负责全局工作位置空间w p 的管理,并且对每个m i 实施容许的 工作位置授权和组织,因此,它知道每个工作位置w p w p 的地址和工作流服 务能力( 服务类型、服务方式、服务角色等) 。 2 4 迁移工作流系统框架 迁移工作流管理系统由迁移工作流管理引擎、迁移实例和工作位置三部分组 成【4 】,如图2 3 所示。迁移工作流管理引擎( 以下简称管理引擎) 按照工作流的过程 定义创建迁移实例,为其分派任务,并将其派遣到初始工作位置上启动执行。管 理引擎还包括迁移实例的跟踪、回收、工作控制和多迁移实例协调等功能。工作 位置是迁移实例的执行场所,它为迁移实例提供执行环境和工作流服务。工作位 置包括停靠站服务器和它所关联的工作站网络。迁移实例迁移到一个工作位置, 1 0 山东大学硕士学位论文 指其迁移到该工作位置的停靠站服务器,然后通过停靠站服务器以对象引用方式 访问工作站网络所提供的服务。出于安全方面的考虑,不再允许迁移实例迁移到 工作站网络的计算机上。每个迁移实例完成一个相对独立的业务过程,它可以在 某个工作位置上利用本地资源和本地服务执行业务过程的一项或多项任务。当迁 移实例发现当前工作位置不能满足其任务需求时,它可以携带任务说明书和当前 执行结果迁移到另一个能满足其要求的工作位置上继续执行。 迁移实例一要求可靠连接不要求可靠连接 图2 3 迁移工作流系统框架 2 4 1 迁移工作流管理引擎 迁移工作流管理引擎是整个系统的发动机。它负责迁移工作流实例的创建, 按照数据依赖关系和控制依赖关系对迁移实例的运行进行协调,对运行期间的迁 移实例的追踪,全局工作位置的管理,以及故障处理。一个迁移工作流的运行要 从引擎开始。引擎管理着所有相关工作位置的信息,包括服务能力、服务类型、 资源等信息。以判断该工作位置是否满足迁移实例的需求,作为其迁移位置。其 体系结构如图2 - 4 所示。 e m i 的基本功能包括对迁移实例的创建、派遣、跟踪、回收和多迁移实例协 调。工作流执行时,e m j 按照工作流过程定义创建多个迁移实例。当一个新迁移 实例l l l i 创建成功时,e m i 在迁移实例表中为它添加一条记录,用于描述n l i 的标 识、外部特征、工作任务和工作流服务需求,并且通知追踪设施记录其当前位置 和当前状态,追踪设施开始对其进行监控。迁移实例协调机制根据工作流的过程 定义和迁移实例之间的活动依赖关系,进行多迁移实例的顺序或并发派遣控制, 山东大学硕士学位论文 迁移实例之间的数据依赖关系通过共享空间实现。迁移实例m i 完成任务后可以 依据具体情况在工作位置直接杀死,或回到创建地( 称作回收) 将其缓存复用。 各工作位置的服务引擎向e w p 报告本地所能提供的工作流服务类型和服务 能力等信息。e w p 的初始化工作是根据全局工作位置的资源和服务能力完成全局 工作位置的组织。当一个新的迁移实例被创建成功时e m i 首先向e w p 提出生成 r n j 迁移域r i p 的申请;然后e w p 根据r i l i 任务列表中说明的工作流服务需求和各 个工作位置的资源服务能力,为其生成迁移位置表,并将r n j 的可认证标识和特 征通知m p 空间的所有工作位置。 e 耐r 丽耍丽升 = 垒i - o o o _ _ _ _ _ 一 蕊 迁移实例 创建和管理 二 迁移实例 追踪设施 迁移实例列表 o _ _ _ l _ _ _ o - _ i o f 迁移实例1 i 迁移实例2 迁移实例1 1 当前何置 当前状态 通信代理 愿 迁移实例位置 树生成与管理 图2 - 4 迁移工作流引擎的体系结构 2 4 2 工作位置的定义和结构 定义2 2 工作位置1 4 j 工作位置w p e e w p 是一个五元组( w p i d ,w p s ,w p r , n ,m p e n g i n e ) ,其中, w p i d 是可认证的工作位置标识;w p s 是即能够为所有迁移实例提供的功能服务 集合;w p r 是w p 能够为所有迁移实例提供的数据服务集合;n ( 1 ) 是工作 位置w p 容许同时运行的迁移实例个数;m p e n g i n e 是w p 的服务引擎。 功能服务集合w p s = , , ) ,每个功能服务项包括服务内容w s i 、服务实体s e r v e r i 和服务方式 t y p e i 、三部分,服务实体可以是人、计算机程序或其它工具,服务方式可以是自 一一一一一一一 鲎蕊 山东大学硕士学位论文 动或手工;数据服务集合w p r = , , w r n ,驴) ,其中,w r i 是数据内容,a i 是访问权限,i = l ,2 ,n ;m p e n g i n e 是w p 的服务引擎,它管理并 报告本地工作流服务能力,接受迁移实例的查询,完成迁移实例的认证、接受与 迁移驱动,为移入的迁移实例构建工作环境、并按照本地服务策略组织和调度本 地工作流服务,以及实施本地安全保护等。在特殊许可时,m p e n g i n e 可以在迁 移工作流引擎的授权下进行迁移实例的创建( 复制) 和回收。 每一个工作位置由代表该位置的停靠站服务器和工作机局域网络组成。停靠 站服务器是迁移实例的执行场所,出于安全方面的考虑,仅允许迁移实例迁移到 停靠站上,而不能继续迁移到后台的局域网络的工作机上。工作机提供各种不同 的工作流服务,迁移实例通过服务代理获得工作机提供的服务。工作位置的体系 结构如下图2 - 5 所示。 图2 5 工作位置体系结构图 工作流引擎负责完成工作流过程定义、生成迁移实例、协调迁移实例运行, 而停靠站服务器则是迁移实例实际运行的场所。工作流引擎是整个迁移工作流系 统的中心节点,而停靠站服务器受工作流引擎管理,向工作流引擎提供工作流服 务。 一般地,迁移工作流系统中不同的停靠站服务器提供不同的工作流服务。但 并不排除不同停靠站服务器提供的工作流服务之间有重叠,甚至完全相同。停靠 站服务器以各自的工作流服务,构成工组流系统运行的基础设施。诸停靠站服务 器之间有相互通信并协调运行的义务。例如,迁移实例的迁移实际上是在源停靠 站服务器和目的停靠站服务器的协作下完成的。又如,停靠站服务器之间需要交 1 3 山东大学硕士学位论文 换运行统计数据,如负载情况,资源使用情况,以便能够对工作流管理系统进行 全局优化。 停靠站服务器后台关联着一个由若干工作机组成的工作机网络
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 1147.1-2025中小功率内燃机第1部分:通用技术规范
- GB/T 13570-2025单轴木工铣床术语和精度
- GB/T 28845-2025领带丝织物
- 【正版授权】 ISO 2719:2025 EN Determination of flash point - Pensky-Martens closed cup method
- TCECS 1530-2024 轨道交通工程InSAR形变监测标准
- TCECS 265-2024 曝气生物滤池工程技术规程
- 个人汽车质押协议书
- 公司签了保密协议书
- 医疗技术保密协议书
- 代工厂签约合同范本
- 【社区工作者真题试卷】未来教育2025年社区工作者考试及答案
- 2025年杭州入团考试题库及答案
- 东方航空秋招笔试题及答案
- 2025年大学《文化遗产-国际文化遗产保护》考试备考试题及答案解析
- 《快乐的小河》新课标课件(第二课时)
- 法学生职业规划
- 2025年河北廊坊霸州市公安局公开招聘警务辅助人员100名考试笔试备考试题及答案解析
- 数据安全管理培训
- 2025年双十一全网销售数据解读报告
- 狼疮脑病的护理
- 《海滨小城》教学课件(第二课时)
评论
0/150
提交评论