(计算机软件与理论专业论文)web服务工作流重构机制与算法研究.pdf_第1页
(计算机软件与理论专业论文)web服务工作流重构机制与算法研究.pdf_第2页
(计算机软件与理论专业论文)web服务工作流重构机制与算法研究.pdf_第3页
(计算机软件与理论专业论文)web服务工作流重构机制与算法研究.pdf_第4页
(计算机软件与理论专业论文)web服务工作流重构机制与算法研究.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机软件与理论专业论文)web服务工作流重构机制与算法研究.pdf.pdf 免费下载

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

文档简介

山东大学硕士学位论文 摘要 网络环境的复杂多交使得w e b 服务本身具有诸多不确定因素,同时w e b 服 务的可用性也时常发生动态变化:用户期望可以在体验服务流程过程中,随时随 地的提出更多个性化的需求,以上诸多情况都可能导致w e b 服务工作流复杂化, 初始制定的服务流程在执行过程中发生异常,无法完成既定的流程任务目标。现 有w e b 服务工作流机制缺乏解决此类闯题的有效方法。为解决上述问题,本文 提出了w 曲服务工作流重构的概念。w 曲服务工作流重构技术是在运行过程中, 依据获得的流程异常信息和用户的新增需求信息,自动发现、调用、组合可用的 w e b 服务,对原流程进行部分或全部的调整,确保工作流顺利执行的相关技术, 是动态工作流在w 如服务领域的扩展研究。 本文基于课题组国家自然科学基金“智能流程应用模式中的关键问题研究” 项目的思想,在智能流程( s m a r t f l o w ) 应用模式下,综合分析产生w e b 服务工 作流异常的各种因素;查询网络中的可用服务,并采用w e b 服务的动态组合方 式,为重构操作选取适当服务:引入领域本体,增加服务语义方面的描述。目的 是使w e b 服务工作流能够适应实时变化的网络环境,应对由用户的新增需求和 w e b 服务本身的不确定因素所带来的影响,保障工作流顺利实现流程目标,进而 为用户提供更满意的个性化服务。 本文的主要贡献在于: l 、综合分析w e b 服务工作流重构的需求,提出相应的重构方法。在原流程 方案的基础上,由代价最小的地方做出调整,确保工作流功能完整,保障流程完 成既定目标。 2 、针对互联网环境中同时存在着数量众多、功能相同或相近、服务质量等 非功能特性各异的服务,提出了种基于图算法的服务动态组织方法,它将功能 相同或相似的w e b 服务聚合成个有向图,用于选取可替换失效服务的候选服 务集合。该方法能有效屏蔽w e b 服务物理上差异,较大幅度提高w e b 服务工作 流的可用性,更好的适应智能流程模式下动态服务组合的要求。 3 、构建了领域本体,计算语义关联度和服务间的相似性,为w e b 服务的选 山东大学硕士学位论文 取提供语义方面的描述。 本文作为智能流程平台项目在w e b 服务工作流执行保障方面的研究,综合 考虑了对工作流执行产生影响的可能情况,构建领域本体,采用了w e b 服务动 态组合选择方案以及w e b 服务工作流重构的算法,为巩固流程的稳定性和更好 的满足用户个性化需求构建提供了新的思路。 关键词:w e b 服务;智能流程:工作流重构;领域本体:动态服务组合; 图算法 i i 山东大学硕士学位论文 a b s t r a c t w e bs e r v i c e sa r o u n dt h en e t w o r ke n v i r o n m e n th a v em a n yc o m p l i c a t e d l ya n d d i v e r s i f i e de l e m e n t s a tt h es a n l et i m e ,u s a b i l i t yo ft h ew e bs e r v i c e so f t e nc h a n g e s d y n a m i c a l l y u s e r se x p e c tt op r o p o s et h em o r ep e r s o n a l i z e dd e m a n d sa n y t i m ea n d a n y w h e r ei nt h ee x p e r i e n c es e r v i c ef l o wp r o c e s s a l la b o v ep o s s i b l yc a u s ew e b s e r v i c e sw o r k f l o wc o m p l i c a t e d e x c e p t i o nm a yo c c u rw h i l et h ei n i t i a ls e r v i c e w o r k f l o wi se x e c u t i n g s ot h ew o r k f l o wc a n ta c h i e v ei t st a r g e t t h ee x i s t i n gw e b s e r v i c e sw o r k f l o wm e c h a n i s ml a c k ss o l u t i o nt o t h i sk i n do fq u e s t i o n s i no r d e rt o s o l v et h ep r o b l e m sa b o v e ,t h i sa r t i c l ep r o p o s e st h ew e bs e r v i c e sw o r k f l o wr e b u i l d i n g c o n c e p t t h ew e bs e r v i c e s w o r k f l o wr e b u i l d i n gt e c h n o l o g yu s e su n u s u a lf l o w i n f o r m a t i o na n du s e r sa d d i t i o n a ld e m a n di n f o r m a t i o nt ol o o kf o r , t r a n s f e r ,a n d c o m p o s ea v a i l a b l ew e b s e r v i c et om o d i f yp a r t so fi n i t i a lf l o wi nt h ep r o c e s s i tc a n g u a r a n t e e st h ew o r kc l a s ss m o o t he x e c u t i o n i ti s a l s oae x p a n s i o nr e s e a r c ho f d y n a m i cw o r k f l o wi nw e b t h es e r v i c ed o m a i n t h i sa r t i c l e ,b a s e do nt h ei d e a st h a tt h ea u t h o rd e v e l o p e di nn a t i o n a ln a t u r a l s c i e n c ef u n ds p o n s o r e dp r o j e c t r e s e a r c ho fs m a r t f l o wp a t t e m ,m a i n l yf o c u s e so n t h ep r o b l e m so fh o wt or e b u i l dt h ef o l l o w - u pw e bs e r v i c ew o r k f l o ww i t h o u ta n y c h a n g e st ot h ep a r t sf i n i s h e d t h eo b je c t i v ei st oa u t o m a t i c a l l yg e n e r a t ed i f f e r e n t b u s i n e s sp r o c e s sa c c o r d i n gt ot h eu s e rr e q u i r e m e n t s ,h e n c et op r o v i d es a t i s f a c t o r y c u s t o m i z e ds e r v i c e sb yo r g a n i z i n gv a r i o u sw e bs e r v i c e sa c c o r d i n g l y b a s e do n s m a r t f l o wa p p l i c a t i o n s ,t h i sa r t i c l ep r o p o s eam e t h o df o rw e bs e r v i c e sw o r k f l o w r e b u i l d i n g ,c o n s i d e r i n g av a r i e t yo ff a c t o r sf o rs e r v i c e sf a i l u r e s u s ead y n a m i cw e b s e i v i c e sc o m p o s i t i o na l g o r i t h m , b u i l dad o m a i no n t o l o g yt oi n c r e a s et h es e m a n t i c f u n c t i o n a c h i e v et h ei m p l e m e n t a t i o no fw e bs e r v i c e sw o r k f l o wc o n t i n u i t ya n d s t a b i l i 够 t h i sa r t i c l e sm a j o rc o n t r i b u t i o n sa r ea sf o l l o w s : 1 a n a l y s i so fu s e ra n de n v i r o n m e n t a lf a c t o r sl e a d i n gt os e r v i c ef a i l u r e ,a n d 山东大学硕士学位论文 p r o p o s eam e t h o df o rw o r k f l o wr e b u i l d i n g i nt h i sm e t h o d , w eo n l yr e b u i l dt h e n e c e s s a r yp a r to ft h ew o r k f l o ww i t h o u ta n yc h a n g e st ot h ep a r t sf i n i s h e r 2 p r o p o s es e r v i c ec o m p o s i t i o nm e c h a n i s mm o d e l ss e r v i c e sa sd i r e c t e da t t r i b u t e d g r a p h s ,m a i n t a i n sar e p o s i t o r yo fs e r v i c eg r a p h s ,a n dd y n a m i c a l l yc o m b i n e sm u l t i p l e b a s i cs e r v i c e si n t oc o m p l e xs e r v i c e s 3 c o n s t r u c t i o no fad o m a i no n t o l o g y ,a n dc a l c u l a t i o no fs i m i l a r i t yb e t w e e n s e r v i c e st op r o v id ead e s c r i p t i o no fs e m a n t i cf o rw e bs e r v i c e ss e l e c t i o n a sar e s e a r c ho nw e bs e r v i c ew o r k f l o ws e c u r i t yb a s e do nai n t e l l i g e n tt o u r i s m p l a t f o r m , t h i sa r t i c l eh a sc o n s i d e r e dm a n ys i t u a t i o n sw h i c hm a yh a v ei m p a c t so n w o r k f l o wc o u r s e ,b u i l tad o m a i no n t o l o g y ,u s e dad y n a m i cc o m b i n a t i o na l g o r i t h mo f w e bs e r v i c e sa n daw o r k f l o wr e c o n s t r u c t i o na l g o r i t h m i ti sv e r ys i g n i f i c a n tf o ru s e r s k e y w o r d s :w e bs e r v i c e ;s m a r t f l o w ;w o r k f l o wr e b u i l d i n g ;d o m a i n o n t o l o g y ;s e r v i c e sc o m b i n a t i o n ;g r a p h i c sa l g o r i t h m 原创性声明和关于学位论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。 对本文的研究作出重要贡献的个人和集体,均已在文中以明确方 式标明。本声明的法律责任由本人承担。 论文作者签名:殛丝 日 期:也卑:坐: 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同 意学校保留或向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅:本人授权山东大学可以将本学位论 文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或其他复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:鞠鲺 导师签名: 山东大学硕士学位论文 1 1 研究背景与意义 第一章绪论 随着网络中w e b 服务数量迅速增长、流程过程的复杂化、需求的快速变化、 各种新技术的不断涌现,w e b 服务工作流不再是静态固定的流程,它们常常需要 在流程过程中快速响应现实环境的变化和用户的新增需求。用计算机实现可重构 的流程过程成为w e b 服务工作流管理系统的新需求。 传统的w e b 服务工作流技术可以进行服务流程的建模、运行和管理,不过 无法提高流程的柔韧性。对于传统的w e b 工作流管理系统来说,当过程实例在 运行过程中遭遇w 曲服务失效时,原定的服务流程无法按照初始方案继续执行, 将发生异常,用户的流程体验也将随之中断,进而无法完成既定的工作流任务目 标。用户的新增需求也往往使原定流程措手不及,难以及时做出相应调整。管理 人员需要取消所有过程实例,提交新的过程定义,然后创建新的实例。这种做法 非常麻烦,浪费大量人力、物力和时间,这是用户不能容忍的。为了解决在运行 时因服务的可用性的实时变化和用户新增需求带来的问题,我们需要工作流引擎 具备可重构性能。w 曲服务工作流重构机制也就应运而生:依据运行时获得的流 程异常信息和用户的新增需求,自动发现、调用、组合可用的w e b 服务,对原 流程进行部分或全部的调整,确保工作流顺利执行的模型和方法。 传统w e b 服务工作流不能支持重构的关键在于:系统割裂了流程定义和流程 执行,所以其本质是僵化、不灵活的h 7 1 。 图1 - i 传统的w e b 服务工作流 山东大学硕士学位论文 因此为了实现重构性能,w e b 服务工作流需要这样的能力:工作流的定义过 程贯穿在整个工作流系统从设计到运行结束的全过程中。工作流管理系统在流程 实例运行时可以动态反馈修改信息给流程定义,系统根据这些信息来更新流程定 义。在流程定义和流程执行交替进行的过程中实现流程定义的修改,使流程定义 能适应现实环境。 模型建立时:流程定义 动态反馈ji 更新定义 模型实例运行时:流程执行 定义和执行交替进行,在 交替之中进行信息的动态 反馈,使流程能适应现实 环境的变化 图1 - 2 可重构的w e b 服务工作流 一般而言,工作流重构需要实现以下几个方面的重构: 1 、流程路由的重构: 流程受外部因素影响,为了适应外部因素,在运行时流程的路由需要一定的 修改。 2 、任务的重构: 任务执行内容的修改;任务的添加和删除;单一任务改变对与其相关的其他 任务的影响评估。这是本文的重点研究内容。 3 、资源的重构: 包括组织变动和资源划分变动。 在此背景下,本文通过研究执行中的流程如何应对用户新增需求和w e b 服 务可用性变化情况,提出w e b 服务工作流重构方法。其研究意义在于: l 、w e b 服务工作流的重构操作可在运行时完成,重构过程由系统自主完成, 对用户完全透明,提高工作流的稳性,降低因服务或资源失效而引起工作流异常 的风险,以满足用户的个性化需求。 2 、推进基于w e b 服务技术的电子商务建设和跨企业应用的发展,具有较高 2 山东大学硕士学位论文 的商业推广价值。 1 2 研究内容与创新 在新型的智能流程s m a r t f l o w 模式中,如何避免动态环境下,由服务和可用 资源的失效导致工作流的异常,流程及时做出调整应对用户在体验流程的过程中 提出的新需求,在保证用户个性化需求可满足的前提下,进行代价最小的调整等 问题的解决方案提出了更高的要求。 基于智能流程( s m a r t f l o w ) 的应用,本文提出了一种w e b 服务工作流的重 构机制和算法。综合考虑了导致服务失效的各种因素,为每种因素制定了相应的 解决策略。采用w e b 服务的动态组合方式,可以很好的满足s m a r t f l o w 去流程的 要求。并通过引入领域本体增加语义功能,使服务的选择更加贴近实际场景。实 现w e b 服务工作流执行的延续性和稳定性,更好地体现了用户的个性化需求。 简要说来,本文的主要贡献和创新如下: 1 、综合分析用户新增需求和环境因素导致服务失效的情况,提出w e b 服务 工作流重构的方法。 方法可保留流程中已经完成的部分,在原流程方案的基础上,定位重构部分, 由代价最小的地方做出调整,确保工作流功能完整,可以持续、稳定执行后续服 务流程。 2 、针对互联网环境中同时存在着数量众多、功能相同或相近、服务质量等 非功能特性各异的服务,提出了一种基于图算法的方法组织服务。 该算法将功能相同或相似的w e b 服务聚合成一个有向图,用作可替换失效 服务的候选服务集合。该方法能有效屏蔽w e b 服务物理上差异,较大幅度提高 w e b 服务工作流的可用性,更好的适应智能流程模式下动态服务组合的要求。 3 、构建了领域本体,计算语义关联度和服务间的相似性,为w e b 服务的选 取提供语义方面的描述。 本文作为智能流程平台项目在w e b 服务工作流执行保障方面的研究,综合 考虑了对工作流执行产生影响的可能情况,构建领域本体,采用了w e b 服务动 态组合选择方案以及w e b 服务工作流重构的算法,为巩固流程的稳定性和更好 的满足用户个性化需求构建提供了新的思路。 山东大学硕士学位论文 1 3 本文组织结构 本文的组织围绕w e b 服务工作流重构机制及算法展开,具体的组织结构如 下: 第一章是本文的绪论部分,重点描述了本文的研究背景,同时点明了本文 研究的意义。在总结了本文的内容和主要创新之后,本章列出了本文的组织结构。 第二章介绍了本文所涉及到的相关研究领域,并分析了各个领域的研究现 状,包括理论研究现状、实现方法现状和国内外相关研究项目。 第三章描述了w 曲服务工作流重构机制的基本组成架构,各组成部分及其 实现的功能,描述了工作流重构运转的基本过程。 第四章详细介绍了w e b 服务工作流重构算法的三个关键算法:候选服务生 成算法、服务相似性评价算法和流程重构算法,并对算法执行的效率进行分析。 第五章介绍了w e b 服务工作流重构机制的应用实例,说明该算法在具体场 景下的执行过程和结果,分析算法可能面对的情况和解决方案。 第六章对本文的研究工作进行了总结和归纳,并提出了下一步工作中,进 一步完善w e b 服务工作流重构机制与算法需要做的研究和工作。 本文的具体组织结构如图1 3 所示: 图1 3 文章整体结构图 4 山东大学硕士学位论文 第二章相关研究现状 2 1 理论研究现状 w e b h 艮务工作流重构的理论研究主要集中于工作流重构元模型,也就是说, 如何描述流程中动态变化的因素和制定对这些可变因素的操作集合。 在文献支持工作流动态变化的过程元模型h 钔中提出了支持动态特性的工 作流过程元模型,该元模型为动态过程模型的设计提供指导。作者从时间和工作 流组成的过程级别两个角度分析了其动态特性的表现,扩展了工作流管理联盟的 工作流元模型扩展后的过程元模型在工作流的建模阶段将动态特性进行描述和 定义,在工作流的执行阶段可以根据己定义的动态属性,处理过程的动态变化。 在文献ad e s i g na n di m p l e m e n t a t i o no fad i s t r i b u t e dw o r k f l o we n a c t m e n t s e r v i c e ) ) 删中将动态修改分为永久性修改和暂时性修改两类,其中永久性修改是 指过程定义被永久性修改,它对应的运行实例可以选择性地修改一个、部分或者 全部;暂时性修改是指仅仅运行的过程实例被修改,而过程定义并未修改。利用 动态修改工具,用户可以进行以下七种修改动作: ( 1 ) 定义新的活动,并将这个新活动插入过程定义中: ( 2 ) 定义新的控制流关系或者修改已有的控制流关系; ( 3 ) 定义新的条件或者修改已有的条件; ( 4 ) 修改过程的相关参数: ( 5 ) 修改活动块的类型; ( 6 ) 为手工活动定义修改参与者: ( 7 ) 删除活动。 在文献( ( a d e p tw o r k f l o w a d v a n c e dw o r k f l o wt e c h n o l o g yf o rt h ee f f i c i e n t s u p p o r to fa d a p t i v e ,e n t e r p r i s e - w i d ep r o c e s s e s 阻1 中提到的工作流管理系统 a d e p t w o r k f l o w 中,采用元模型法对动态工作流进行支持,在形式化过程定义 模型a d e p t 的基础上,定义一个动态修改操作的最小完全集a d e p t f l e x , a d e p f l e x 包括以下的操作:插入活动、删除活动、快速略过活动、跳到当前未激 活的部分、并行与串行执行的互换、动态迭代和动态回滚。 山东大学硕士学位论文 在文献工作流管理系统中动态修改技术的研究陋1 同中,作者针对现有工 作流系统中的过程模型的动态修改技术进行了研究,研究了单个过程和多个过程 的修改方法。在动态修改技术中,提出了过程模型的版本管理方法。在版本管理 中,给出了过程实例与过程模型之间的迁移算法。利用回滚技术有效的进行模型 间的迁移。从而可以实现不终止流程的运行来进行模型的动态修改。 在文献动态工作流建模方法的研究与设计嵋引中提出了一种基于事件一 条件一活动规则和活动组合的动态工作流建模方法。该方法用柔性活动封装流程 中的不确定因素,用选取规则和组合规则来约束柔性活动的具体化过程,并设计 了一个追求活动最高并发度的活动自动组合算法,以便最大限度地利用系统资 源,提高流程执行效率。文献中还提出了一个检验活动选取和活动组合的算法, 保证了柔性活动具体化后形成的子流程的合法性。 在文献基于事件响应e v e n tr e s p o n s e f 约动态工作流系统嘲1 提出了一种在企 业工作流管理系统中运用的,由协作的各企业提供的对事件响应的方案来实现动 态的工作流系统。通过工作流引擎灵活地调度、控制,利用基于约束的动态绑定 机制将事件的响应请求动态绑定到合适的事件响应者和响应提供者,从而柔性 地,协同地完成流程目标。 荷兰e i n d h o v e nu n i v e r s i t yo ft e c h n o l o g y 大学的w m p v a i ld e ra a l s t 在文章 ( ( h o wt oh a n d l ed y n a m i cc h a n g ea n dc a p t u r em a n a g e m e n ti n f o r m a t i o n ) ) 朝中,提出 用类似e r p 领域中b o m 的产品家族( p r o d u c tf a m i l y ) 的思想改进传统的过程定义, 提出了流程家族( p r o c e s sf a m i l y ) 的概念:抽象工作流过程模型( g e n e r i cw o r k f l o w p r o c e s sm o d e l ) ,如图2 1 所示。 抽象工作流过程模型用抽象工作流过程来统一不同的流程定义。抽象工作流 过程在运行过程中可以具体化为不同的流程定义( w m p v a nd e ra a l s t 称这些不 同的定义为流程变量) ,从而实现流程动态修改的效果。 6 山东大学硕士学位论文 :k 叮j 图2 1 抽象工作流过程模型( g e n e r i cw o r k f l o wp r o c e s sm o d e l ) 如图2 - 2 所示,抽象过程g e n e r i cp r o c e s s 可以具体化为p r o c e s sv a r i a n t l 、 p r o c e s sv a r i a n t 2 或者p r o c e s sv a r i a n t 3 流程定义。这三个不同的具体流程定义 称为抽象过程的不同过程版本。这些不同的过程版本之间存在状态的映射关系。 根据这些映射关系,可实现不同过程版本之间的流程实例的转移。 抽象过程 过程版本2 图2 - 2 抽象工作流过程模型中的工作流流程定义 3 山东大学硕士学位论文 2 2 实现方法现状 目前工作流重构的实现方法主要有: 1 、流程定义中置入提供动态信息设置的特定活动 在工作流流程的定义中定义提供参数预置的活动。当流程实例运行到该特定 活动的时候,该活动为用户提供路由、资源等参数的设置操作,从而实现运行时 的动态性。这种实现方法的好处是可以在传统的工作流系统上运用。然而这种方 法中对特定活动进行定义的代价比较高,因为需要将现实中许多情况都纳入活动 定义之中,而且整个流程定义比较复杂,对于建模人员来说比较难操作,对管理 人员也缺乏可读性。 2 、模糊定义法 流程的定义分两步走:在建模时只定义流程目标和子目标:在运行时再定义 具体的流程嵋制。这种方法的问题是:需要建模人员运行时对流程进行再定义,降 低了流程的运行效率,并且对用户运行时建模的要求比较高。 3 、工作流引擎直接支持的动态元模型法 对传统的工作流元模型添加专门的元素以描述动态性嵋利,这种方法在最高的 抽象层次对动态性进行描述和包装,并在工作流引擎里面实现动态元模型以及实 现对动态元素进行操作的接口。这种方法在工作流引擎里面提供了动态修改的渠 道,并且通过元模型保证动态修改的正确性和一致性。因此这种方法实用性比较 高。 然而目前元模型法的重点大多放在任务添加,删除以及任务间依赖关系更改 等小修小补的方面。而面对一些变动比较大的流程修改就束手无策了。只用一些 固定的修改原句来应付不可预测的现实改变显然是不够的。 4 、跳转网络 u n i v e r s i t yo f u l m 的s t e f a n i er i n d e r l e 、m a n f r e dr e i c h e r 印p e t e rd a d a m 在他们 的论文( ( e v a l u a t i o no fc o r r e c t n e s sc r i t e r i af o rd y n a m i cw o r k f l o wc h a n g e s ) ) 呻1 里 面提出了基于跳转网络的实现方法,以抽象过程模型为动态元模型进行流程建 模,通过在不同的过程版本之间建立跳转网络的方法来实现流程的动态修改。这 种实现方法在他们的原型系统里面得到了验证。 虽然跳转网络的实现方法是基于动态元模型( 抽象过程模型) 的,但是实现过 山东大学硕士学位论文 程中并不需要修改传统的工作流引擎以提供动态性的支持。它的实现是将动态模 型转换为带跳转网络的传统工作流模型,然后提交给工作流引擎去执行。用这种 方法使动态元模型在传统工作流引擎上得以实现。 跳转网络的实现方法的优点是:可以在传统工作流引擎上实现动态工作流。 其缺点是:工作流引擎要运行庞大复杂的带跳转网络的流程定义,降低了工作流 引擎的执行效率,并且给工作流引擎的监控和管理带来混乱:而且,跳转网络的 建模也比较复杂。 2 3 国内外的相关研究项目 无论采用什么技术,灵活性研究都是工作流系统的一个重点。如果服务流程 具有良好的结构,并且在运行时不需要临时变化,对于这种流程,现有的工作流 系统能够安全可靠的运行。然而,在现实中,w e b 服务流程很少是静态不变的, 现有工作流管理机制就不能很好的解决问题了,因此,这就极大的限制了当前工 作流技术的应用范围。另一方面,由于在对w e b 服务流程进行建模时不可能考 虑到所有的问题,有好多问题在建模时根本就没意识到,但是在运行的时候问题 就暴露出来了,而其过程模型和过程实例的运行是紧密的,用户只能完全按照模 型定义来执行流程。这样在实际的应用中给用户带来了一些非常“僵硬”甚至无 法满足实际要求的操作,阻碍了工作流系统在更广泛的领域内应用。这个时候需 要有一个灵活的、可重构的工作流系统来保证其正确运行。 在国外,德国u l m 大学r e i c h e r t 提出了一种支持动态修改工作流模型的机制 4 3 , 4 4 。这种机制提供了对工作流实例进行修改的能力,提出了调整任务状态,流 程中插入活动节点等方法。这种方法能够解决很多问题。但是这种修改对工作流 模型和实例来说是一种紧密祸合的关系,修改模型一定影响到过程实例。这对临 时性修改来说就是一种资源浪费。 美国c a l i f o r n i a 大学p e t e rj k a m m e r 3 等提出了一种部分执行和反馈的方法, 就是事先不定义整个流程,在实际运行的过程中运行到哪里,由当时的执行人生 成下一个任务项,将任务传递到下一个执行人,通过反馈的方式来通信。这种方 法很灵活,但是对用户来说复杂,工作量在某种程度上变得更大了。 而在国内,林成栋h 6 1 等提出了支持工作流重构的四种原语,i n s e r t t a s k ,f o r k t a s k , 山东大学硕士学位论文 j o i n t a s k 和m o d i f y c o n d i t i o n 。这些原语的提出也是很好的解决了工作流模型的动 态修改,但是也属于一种紧密祸合的解决办法。 l o 山东大学硕士学位论文 第三章w e b 服务工作流重构机制 现代w e b 服务工作流模式面向的是众多的普通用户,依据用户提供的个性 化需求信息,利用已注册的服务信息,制定出符合要求的服务流程,并监控和调 节流程的执行。在这种新形式下,执行中的w 曲服务流程更加灵活,需要能够 满足用户的即时需求,并对服务的实时变化做出及时的反应,对于确保流程的稳 定性和流畅性提出了更高的要求。 本文作为智能旅游平台项目在w e b 服务工作流执行保障方面的研究,综合 考虑了对工作流执行产生影响的可能情况,构建领域本体,采用了w e b 服务动 态组合选择方案以及w e b 服务工作流重构的算法,设计了可完成w e b 服务工作 流重构机制的模型。 3 1 模型基本架构 普通用户的需求通常复杂各异,并且可能随着流程的执行随时提出新的需 求:同时,受现实世界的各种因素的综合影响,服务本身也具有诸多不确定因素, 如服务的当前负载变化。以上这些方面都会影响到某个或某些服务的质量,从而 决定整个流程能否顺利执行。因此,必须设计一个友好、智能的功能模块,既可 用来获取、规范、分析用户的需求,又能捕获各类服务动态信息,指导服务流程 做出适应性的重构,以相对较小的代价确保流程的整体质量。因此,本文中的 w e b 服务工作流重构机制结合了语义技术、服务动态组合技术等某些思想,其整 体结构如图3 1 所示。 w e b 服务工作流重构模块的运行过程如下: 步骤一、w e b 服务流程执行的过程中,用户反馈其体验信息,依据自己的喜 好和当前所处状况,提出对后续流程的期望,如增加、删除或替换某( 些) 服务。 与此同时,服务提供商及时反映服务状态信息和周边环境信息,更新服务质量的 变化情况,引起服务可用性的改变。 步骤二、依据用户需求和服务质量的变化情况,判断当前流程是否需要重构。 当捕获流程重构需求后,定位当前服务流程当中需要被重构的部分。 步骤三、选取可用的服务替换被重构部分的失效服务,并将新增服务添加进 山东大学硕士学位论文 入流程中。以最小的代价对w e b 服务流程进行重构,保障流程顺利的执行。 步骤四、将修改后的候选服务流程递交用户审查,以决定是否按照新流程继 续执行。 门丽 竺 - - _ 图3 1w 曲服务流程重构过程 w 曲服务工作流重构模块操作过程中有两个参与者: l 、服务商:服务的提供者,通过服务注册中心公布自己的w e b 服务,并及 时更新服务的当前状态和可用性信息。 2 、 游客:服务的获取者,根据注册中心提供的信息检索功能,查到自 己关心的旅游信息,然后获取相应的服务。在体验服务流程的过程中,及时反馈 体验信息,更新用户需求。 同时,模块中还有两个辅助者帮助完成模块的相应功能: 1 、服务注册中心:主要功能是完成w e b 服务( 包括旅游信息、旅游服务等) 的注册,包含服务的内容、功能和可用性信息,并提供对注册信息的查找、建立、 修改、删除等功能。 2 、领域本体:提供服务语义方面的支持,将服务的有关属性与领域本体中 的概念相关联,可计算两服务间的相似性,依此为候选服务集合中的服务设定优 先级。 而w e b 服务工作流重构模块是本文重点讨论的模块,主要用来获取、规范、 分析用户的需求,捕获各类服务动态信息,指导服务流程做出适应性的重构,以 相对较小的代价确保流程的顺利执行,其主要构成将在下节详细描述。 1 2 圄囤 山东大学硕士学位论文 3 2 模块的组成 w e b 服务工作流重构的过程由系统自动完成,对用户完全透明。重构的过程 中,流程不发生中断或回滚,且不涉及已执行的部分,可确保流程执行的流程性 和完整性。 w e b 服务工作流重构模块由三个组件构成:需求交互组件、候选服务选取及 评价组件、流程重构组件。 3 2 1 需求交互组件 图3 2w e b 服务工作流重构模块 对w e b 服务工作流的重构需求由需求交互组件捕获,其来源主要有两个方 面:用户请求和服务异常。 用户在体验w e b 服务流程的过程中,可依据自身对已体验的服务的感受, 或遭遇突发事件,临时对后续服务流程提出新的要求,如增加或取消某个服务, 此时原流程已不能完全的满足于用户。 为保障服务的实时可用性,需要投放到具体的环境,因此受到各种自然和环 境因素的影响和制约。服务质量因时间和环境变化而各异。服务提供商及时更新 服务的质量、可用性信息,如海滨浴场因强风而被迫关闭、预约的餐厅座位已满 等等。 需求交互组件搜集此类信息,明确当前失效的服务,为后续服务流程的重构 山东大学硕士学位论文 提供准备。由流程重构组件得到的候选服务流程,也将由需求交互组件反馈给用 户审查。需求交互组件将获取用户对候选服务流程的意见,以决定是否按照候选 服务流程继续执行。 3 2 2 候选服务选取及评价组件 w e b 服务工作流重构需求注明了导致当前流程失效的关键服务( 由用户直接 指定,或服务提供商报告) 。为保障后续流程的继续执行及其质量,需要选取其 他服务对后续服务流程进行重构。 用来选取候选服务的基本思想是:首先,依据失效服务在流程中的位置和功 能,从服务库中,选出候选服务集合;然后,利用本体,计算候选服务集合与失 效服务的相关性,从中选取用于可替换失效服务的最佳候选服务。 使用这样的方法有如下好处: 服务库当中的服务种类和数量繁多,而针对每次应用于工作流重构的服务只 是其中的一部分。从服务提供的功能角度构建候选服务集合,限定关注和计算的 范围,既能确保流程的完整性,又可大大减少计算量。 将服务的语义属性与本体中的概念相关联,各种服务可以在语义层计算其相 似性和相异性,评价候选服务,从而使流程修改中的服务替换更加符合实际场景。 候选服务的选取和评价计算方法将在后续章节中详细介绍。 3 2 3 流程重构组件 由候选服务选取及评价组件推荐的候选服务组合,在功能和语义上可满足流 程重构的要求,为保障服务流程的顺利执行,需要将它投放到原流程中验。流程 重构组件将候选服务加入流程相应部分,将其作为一个整体,评价流程的质量, 决定该候选服务组合是否能够满足流程的需要。详细的算法将在后续的章节中进 行详细介绍。 1 4 山东大学硕士学位论文 暑! = i ii i 。i i 一| i i 一一! 苎一一一 ii ! ! ! ! ! 第四章w e b 服务工作流重构算法 本章将着重介绍w e b 服务工作流重构算法,由三个相对独立的算法组成:候 选服务生成算法、服务相似性评价算法和流程重构算法。当捕获服务流程重构需 求时,w e b 服务工作流重构算法仅从代价最小的地方进行重构。 4 1 候选服务生成算法 服务注册中心的服务种类和数量繁多,而应用于工作流重构的服务只是其中 的一部分。从服务所提供的功能角度构建候选服务集合,着眼于本次重构活动限 定关注和计算的范围,从中选择出可用于代替失效服务或满足用户需求的候选服 务组合,既能确保流程的完整性,又可大大减少计算量。 互联网环境中同时存在着而众多、功能相同或相近、服务质量等非功能特性 各异的服务。在由于在s m a r t f l o w 模式中,流程不再由专家或用户事先定制,而 是根据用户需求自动生成;流程的完成者不再是指定的服务,而是根据用户需求 自动选择;一个流程不再为众多用户服务,而是服务于指定的用户,充分体现个 性化;一个流程模型中不再有多个流程实例同时运行,而是有少量甚至只有一个 流程实例;流程模型不再长久有效,执行完毕后就被抛弃:流程模型不再是面面 俱到的复杂模型,相对更加简洁快捷。 基于以上要求本文提出了一种基于图算法的方法组织服务,它将功能相同或 相似的w e b 服务聚合成一个有向图。该有向图的生成有赖于本次的任务描述和 当前服务的可用性,故每次算法运行的结果不尽相同。该方法能有效屏蔽w e b 服务物理上差异,较大幅度提高w e b 服务工作流的可用性,更好的适应智能流 程模式下动态服务组合的要求。 4 1 1 服务的表示 每个服务都可以被表示成一个简单有向图q 一( 瞄五0 b d 。其中嵋表 示节点,用于表示服务本身;有向边写表示服务的输入和输出;弓表示节点 属性的集合,用于描述服务的参数,如位置、开销、吞吐量、最佳负载量等; d 。 山东大学硕士学位论文 表示边属性的集合,描述服务输入输出的参数,包含功能描述和语义描述等, 如数值的类型、格式等等。 图4 1 说明的是一个读取文件服务的例子。该服务输入的语义类型s y t y p e 为文件“f i l e ”,通过数值类型d a t y p e 文档“p d f ”传递。其输出的语义类型为 文本“t e x t ”,票据的数值类型也用“a s c i it e x t ”表达。 d a t y p e :a s c l lt e x t s i z e :4 m bn a m e :f i l e 。r e a d e r r a t e :1 2 8 k b p s l o c a t i o n :e l b c o s t :s 0 5 d e l a y :3 0 s e e 图4 - 1 服务的有向图示 任务通常由一个或者多个服务经过组合来完成。因此,任务可以被表示为服 务顺序执行,也可以通过有向图来表示q - 【昂j d t 】。其中节点 - 叱p 一】表示完成该任务的服务集合:服务之间的传递通过有向边集 已来描述;- 印k ) 描述各对应节点属性集合,如位置、开销、延迟 等;边集属性- 幔巾) 描述边集合的属性,如数据的类型、格式等。 为达成任务目标,组合中服务的执行是有顺序的,通过逻辑顺序和数据传递实现。 逻辑顺序指服务执行的先后次序,由有向边的方向表示:数据传递是相临服务间 中间最终结果的传输,通过前一服务的输出结果作为后一服务的输入条件实现。 可用服务及其相关信息通常保存在服务目录中。服务目录的组织方式可以是 集中式的,如s l p :也可以是分布式的,如j i n i 。本文以集中式的服务目录为例, 描述候选服务选取方法。 流程中的服务执行是有顺序的,并且通过传递数据以保持连贯性。逻辑流表 示服务执行的顺序,数据流完成数据交换,本文通过将服务表示有向图的方式实 现以上两个层面。 候选服务不仅要能够完整的实现失效服务所具有的功能,同时还要保障服务 1 6 山东大学硕士学位论文 间数据的传递,使流程前后衔接流畅。本文以失效服务或者用户新增的服务需求 的输入输出作为该算法的输入,选出可完成失效服务及新增任务功能的候选服 务集合。 通过将服务的输入输出属性划分为语义类型和数值类型,从而服务图示转 化为两层结构。第1 层架构基于语义类型,用于完成服务功能:第2 层基于数值 类型,完成数据流的传递。如

温馨提示

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

评论

0/150

提交评论