




已阅读5页,还剩64页未读, 继续免费阅读
(计算机软件与理论专业论文)网格环境下工作流引擎集群的调度优化研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 耽l e : 脚: n a n l e : 。r 鼯e a r c ho n l 曲l i i l go p t i i i l i z a t i o n 南rw o 收n o w 伽哩乒 c l u s t e ri l l 鲫铷肮r o n m e n t c o i 印u t e rs 0 脚a r ea n dn l e 0 巧 c o n g y u ( 舢c i a t ep m 瓶s 0 r ) a b s t r a c t w r o r k 0 wt o c h 1 0 9 斌a 佗w i d e l y 璐。di l lp r a c t i i o f 姗d 缸gb u s i n 鹤sp r o c e 鹦 p l a t 南n n 蛋d rv i 跚a lo 礓孤l i z a t i o l l a st h ed 明,e l o p m e n to fi n t e m 税,m o r e 砸证m o r e 、,i 跚a lo 玛锄i z a t i 0 船c 伽d db r e a l 【t l 聃u 曲n l er 9 西o m ll i l 】疵a t i 0 i l ;b e c o i md i s t m 吡t e d o 礓硼l 础i o n sb a s e do ni n t 锄e t a n dt h eb u s i i l 骼sp r o c e 鹃鼯s u p l ) 0 r t o db y 、,i s u a l o r 翻觑i o na r e 脚r ec 0 n p l i c a t e dt h 觚b e 旬r e i no r d 盯t 0s u p p o r t 跚c hp c e s s 豁,t 1 坞 v i s u a lo 玛硼l 谢i o nn e e d san e wk i n do fw o r 姐o we 】【毗i o ns e r v i c e - t 1 1 ec l l l s t 盯 a p p l i c a t i o no fw r o r k 帖we n 舀m s 1 kc l i l s t 盯a p p l i c a t i o ns h o u l do 脓也e 湖e 0 p 耐i o ni n t e r e 断t h e 砌融r 铋tk i l l d so fw o r k n o wa 垮嘣,觚da1 】n i 南m c 0 删删i l i c a t i o n 州o c o l 趾dm a m g c 脒斌s y s t 锄f o rt l l e 锄g i n 髂 g f i dc 0 删) u t a t i o ni st l l e 矗i h co fn e 呐o r kt e d l 1 0 9 i c s 1 kc l p t mg r i ds e r 疵翳 a r c 蜥t e c 舰l r e ( o g s a ) r e 蝉删sa ne v o l u t i o n 毒0 w a r d sag f i ds y 或锄缸d h i t e c ! t i m e b a s e do nw r e bs 盯v i c 鹤c o n c e p t sa n dt e c :i l i 的1 0 西e s n o wg 耐t 既i h l o l o g i e sa n 飞 l i m i t e dt 0 跚讲 o r t i 锄c ep r o j e c t s ,m 锄yd i 矗毓k 砌o f r e s o u r c 骼c a nb ei l l t 咧e d i n 伊i dp l a t 向mo ni n t 锄武伽c 0 婶u t 撕o ni st h ei s tp o w 柏lt o o l st 0i n t 咧e d d i 丘h a 吐l 【j 醯d so f 托戳娜“冷i nd i s t r i b u t e dc 0 如叫a t i o na l v j 的脚n a l t a h n i o na :b o u tb l m d i n gw o f k f l o we n g i n ec l l l s t e fa p p l i c a t i o ni n 伊i dc i i v i r o m 玳m ti s o 自白e di nt 1 1 i sp a p 瓯a c c o r d i i 培w - e bs e r v i c er e s o l l f c ef f a m e w o r k ( w s i 之f ) 嗽唧i a r d , b 觞e 伊i ds e r v i c e 伽lb eb u i l dt 0 跚p p o nd 诳研e n tk 砌so f w o r k n o we n 咖e g r i d s e r v i c 懿。妇陆a 珊i i 缸呲n 赋h o dt 0o p e 豫t e 妇e n t 垴1 1 d so fw o r k 日o w 即g i l l e 蝴 网格环境下工作流引擎集群的调度优化研究 学位论文使用授权声明 本人完全了解中山大学有关保留、使用学位论文的规定, 即:学校有权保留学位论文并向国家主管部门或其指定机构 送交论文的电子版和纸质版,有权将学位论文用于非赢利目 的的少量复制并允许论文进入学校图书馆、院系资料室被查 阅,有权将学位论文的内容编入有关数据库进行检索,可以 采用复印、缩印或其他方法保存学位论文。 学位论文作者签名: 狮瓦铲 日期:斌年r 月悬日 导师签名: 日期:矽帝,月矿日 中山大学硕士论文 网格环境下工作流引擎集群的调度优化研究 1 1 课题背景 第一章引言 工作流技术【1 1 和网格计术【2 1 是当今计算机领域的研究热点。近年来,随着 w e b 服务技术的成熟,工作流和网格都逐渐与w - e b 服务技术相融合。基于w 曲 服务技术的服务组合技术成为工作流技术在分布式领域发展的新方向,新一代的 服务工作流产品逐渐代替传统工作流产品,成为虚拟组织构建分布式业务流程平 台的首选【3 】。尤其是在基于广域互联网的大型虚拟组织中,往往需要构建由多个 工作流引擎协同工作的工作流集群应用,以满足日趋复杂的业务流程应用的需 要。工作流引擎集群应用应当可以整合不同类型的工作流引擎,提供虚拟的统一 操作引擎的方式和建立监控管理引擎的机制,并且兼容组织遗留的工作流管理系 统。现阶段对于在分布式环境下构建工作流引擎集群应用还没有一个成熟的解决 方案。 网格计算是分布式计算的前沿技术,服务网格体系o g s a ( o r i e n ts e i c e g r i d 眦咖e ) 架构【4 】是当前网格技术发展的新方向。网格技术不再局限于发 展初期对计算资源的共享和对计算密集型任务的支持,而是试图实现互联网上所 有资源的全面连通,达到消除信息孤岛,实现信息资源共享最大化的效果。2 0 0 4 年1 月,网格技术和w r e b 服务技术结合的新标准“w s r e s o u r c ef r a m e w o r k 和 “w s n 0 雠咖i o n ( 简称w s r f 框架) 【5 】发布。该标准是o g s a 架构的具体实 现,标志着服务网格技术走向成熟。服务网格平台是现阶段在分布式环境下整合 异构型资源的最佳选择,因此在本课题中,提出以服务网格平台为基础,构建分 布式环境下的工作流引擎集群应用的通用解决方案。 1 2 课题研究目标 本课题提出了分布式环境下工作流引擎集群应用的通用解决方案。课题包括 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 两个研究目标: 1 ) 在面向服务的网格体系o g s a 架构中,依据服务网格标准w s l 心框架实 现用于封装工作流引擎的网格服务。并将这些网格服务按照实践中虚拟组织的架 构,组织成一个完整的工作流引擎集群应用。 2 ) 从优化集群应用整体性能的角度出发,依据网格技术中通过网格任务调 度来提升网格应用性能的方法,为集群应用设计一个工作流网格任务调度机制。 提出一个可以提高网格服务对工作流网格任务的服务质量,并在应用运行期间维 持网格服务负载均衡的网格任务调度算法。 1 3 国内外相关研究 1 3 1 工作流引擎集群应用相关研究 工作流引擎集群应用是工作流执行服务的一种,是支持大型的分布式虚拟组 织构建业务流程平台的关键技术。现阶段在许多研究者都将工作流引擎集群作为 分布式工作流模型中的工作流集成的一个环节来讨论。如文献 6 】中提出了支持 分布式工作流模型的工作流管理系统,就是针对跨地域跨组织工作流集成的研 究,工作流引擎集成是其中的一个重要的实现细节。文献【7 】中提出了基于w e b 服务的分布式工作流系统架构,阐述了采用调用w r e b 服务的方式来实现跨组织 的工作流引擎之间的相互交互的方法,这也属于工作流引擎集群应用所要解决的 一个问题。 现有对工作流引擎集群的研究存在以下两个问题: 1 ) 难以解决不同工作流产品的异构性问题。 工作流技术发展至今,成熟的工作流产品数不胜数,来自不同实现平台,不 同设计规范的工作流产品是典型的异构性资源。从整合现有虚拟组织中遗留的工 作流管理系统,或者兼容未来新工作流产品的角度出发,工作流引擎集群应用必 须具备支持异构型工作流引擎的能力,否则在具体实践中会增加应用实现的成本 和风险。 2 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 2 ) 对工作流引擎集群结构和虚拟组织架构相结合的研究不足。 集群应用和虚拟组织架构的联系非常紧密,集群应用的结构就是虚拟组织架 构在业务流程中的映射。对于现实应用中的虚拟组织而言,组织架构不会是永远 不变的,组织架构的调整会直接对集群应用的结构造成影响。如何令集群应用灵 活的应对虚拟组织的架构,在应用运行期间能够及时相应组织架构的变动,进行 动态调整并避免对运行中的集群应用造成影响,这是工作流引擎集成应用必须解 决的问题。当前的研究中还缺乏对这一问题的深入探讨。 1 3 2 网格任务调度相关研究 网格任务调度是优化网格应用性能的关键问题,该问题研究的对象是网格应 用环境中的网格任务和网格服务资源【引。在本课题中,网格任务就是工作流业务 流程,而网格服务资源也限定于能执行工作流流程的工作流引擎服务。在网格环 境下工作流引擎集群应用中,网格任务调度问题的实质就是为每一个工作流网格 任务选择一个能够以高服务质量完成该业务流程的工作流引擎网格服务,并在集 群应用运行过程中保持多个工作流引擎网格服务的负载均衡。 在现阶段对网格任务调度问题的相关研究中,一般将网格任务调度定义为基 于某种策略或算法,为网格任务集合中的每一个任务选择一个适合完成该任务的 资源,即在任务和服务间建立一种映射关系,是一个小口完全问趔引。 网格应用涉及多种相关者,不同的相关者对于网格应用有不同的期许。例如: 网格应用的用户希望自己发布的任务能得到高质量服务,或者以一个较低的成本 来调用网格资源;而网格应用的管理者则希望能在满足用户基本需求的同时保持 一个合理的负载均衡状态。从不同相关者的角度出发,可以提出不同的调度算法: 重视服务质量,成本因素,或者网格资源负载均衡。 网格任务调度算法往往不以求得最优解为目标,而多是采用启发式算法的思 想,以求得到一个近似的最优解【9 1 0 1 。现有对网格任务调度的研究一般可以归结 为两种基本模式:眦l i 模式和b a t c h 模式;以及两种基本调度策略:静态调 度策略和动态调度策略。 o m l i 鹏模式是指网格任务在到达任务集合的时候马上决策由哪个网格服务 3 中山大学硕士论文 网格环境下工作流引擎集群的调度优化研究 来执行,0 睡l i i l e 模式下做出的调度决策都是针对单一任务的,尽可能使这一个 任务能得到最优的调度结果。而b a t c h 模式则是对若干个任务组成的批处理任务 做出调度决策。这若干个任务会被组成一个新的任务序列,每个任务的提交顺序, 等待时间,服务执行时间都会被基于某种调度策略重新进行安排,最终得到一个 对于整个批处理任务而言最优化的结果。这两种不同的调度模式适用于不同类型 的网格任务。眦l i i l e 模式适合某些需要考虑任务执行顺序且各任务之间存在相 互依赖关系,实时性较强的网格任务,而b a t c h 模式则适用于对性能要求较高, 可以准确预计任务规模( 如:任务执行时间长度) 的网格任务。 1 3 2 1 网格任务调度策略相关研究 网格任务调度的两种基本策略:静态调度策略和动态调度策略。这两者是从 两个不同的角度来实现任务调度。静态调度策略着眼于为网格任务匹配一个最适 合的网格服务,而动态调度策略则是通过分析网格应用运行期的各种动态因素来 保证网格应用运行期间中各个网格服务资源的负载均衡。 1 ) 静态网格任务调度策略 静态网格任务调度策略【l l 】的主要思路:在任务调度之前收集所有可用的网格 服务组成网格服务集合;再将所有待执行的网格任务集中到一个集合中,并对任 务进行分类,归结出数种任务类型。之后分析任务类型和所有网格服务之间的映 射关系集合。 映射关系主要关注两方面:网格服务预测完成某一种类型任务的时间和成 本。分析的结果通过一个数据结构保存起来,在调度过程,从任务集合中提取一 个任务,参照数据结构中所保存的分析结果,预测每个网格服务完成该网格任务 的时间和成本,依据局部最优的原则,将任务分配到预测完成时间最短或成本最 低的网格服务上。静态调度策略的优势在于高效,在任务调度前耗费少量时间和 成本分析完网格任务的类型和可提供服务的网格资源之间的映射关系集合后,在 调度过程中很快就可以根据之前保存的信息做出决策,符合并发度高且对要求高 性能的网格应用的要求。 静态调度策略的缺点非常明显:首先在调度初期所建立的映射关系集合容易 受网格这个不断变化的动态环境影响。网格服务所能提供的服务质量并不是固定 4 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 不变的,而会随着其依赖的服务器变化而变化,而网格任务的类型也有可能随网 格用户的变动而改变,一旦这两者出现了变化,那映射关系集合可信度就会降低。 其次很多调度算法在做出调度决策的时候都是基于局部最优的原则,会在所有网 格服务中选择预测完成时间最短,或者完成成本最低的一个,由于网格服务本身 的服务质量和所依赖的服务器负荷状态等动态因素无法立即在映射关系集合中 体现出来,所以局部最优的原则很容易导致大部分的网格任务集中在少数几个高 性能网格服务,从而造成网格应用的整体负载不均衡的情况。 在基于静态调度策略的众多算法中,m 酢m i n 算法【1 2 1 3 】是其中最具有代表性 的一种,它是启发式网格任务调度算法研究的雏形。m 酢m i i l 算法思想如下:将 待执行的以种类型的网格任务组织为一个任务集合,搜集朋个可完成任务的网 格服务,形成册个网格服务对刀种任务类型的映射关系集合,维护成一个向i x 露) 的偏差矩阵。在任务调度过程中,计算每个网格任务对应m 个网格服务 的预测完成时间,从埘个预测完成时间中挑选出的能以最快时间完成任务的一 个服务,将该任务绑定到该网格服务上,最后从任务序列中删除该任务,重复这 个过程直到任务序列为空则调度结束。对于早期以计算密集型任务为主的网格应 用而言,m “m i i l 算法能达到一定的调度优化效果。但对于越来越多的非计算密 集型网格应用,如工作流流程网格应用,只考虑时间和成本这两个因素是难以达 到一个理想的调度效果。 2 ) 动态网格任务调度策略 静态调度策略的出发点在于为每个网格任务匹配一个最佳的网格服务,以此 优化网格应用的性能,但忽视了网格应用在运行过程中可能出现的负载不均衡问 题。而动态调度策略【1 4 】正是针对这一缺点提出来的。 动态调度策略的主体思路在于:避免在做出调度决策时,过于依赖静态调度 策略在算法调度初期所分析的映射关系。而是在网格应用运行期间记录下可用网 格服务的服务记录( 网格服务完成某一类型任务的完成时间,成本,成功率等因 素) ,并结合网格服务所依赖的服务器的运行现状( 包括服务器的现负荷,网格 服务的任务列表等信息) ,将这些信息定期汇总回馈给调度算法。调度算法根据 反馈信息将任务分配给负载较低的一个服务,以此来平衡应用中所有网格服务的 5 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 负载。 动态调度策略延续了静态调度策略所建立的映射关系集合,但不局限于靠固 定的映射关系集来做出调度决策,而是可以在调度过程中结合动态变化的网格环 境和使用经验不断优化这个映射关系集,这更符合启发式算法的思想。静态调度 策略奠定了网格任务调度的基础,而动态调度策略则在这个基础上做出了很大的 改进。 现有基于动态调度策略的任务调度算法: 文献【1 6 】提出了“基于c a d 玲的网格任务反馈调度算法一,该算法会在任务 调度过程中搜集已完成任务的资源信息,如最近一次请求提交时间、任务完成时 间等信息存放在一个c h e 空间中。这些信息可以从某种程度上反应出各个不同 的网格服务的负载情况。依据c a c h e 中所存放的这些反馈信息来调整网格任务 序列,将同一时间运行的网格任务错开到各个网格服务上,而在任务结束后又尽 快安排新的任务衔接上,尽量保持所有的网格服务都处于一个满负荷高效运行的 状态。这种算法考虑到了实际运行环境中网格服务的负载对于整体调度策略调整 的重要性,给出了一个根据实时反馈信息来进行调度决策,尽可能兼顾网格服务 负载的方案。 文献 1 7 】提出了“基于历史记录更新的资源查找策略”,该算法在执行过程 中会统计所有从任务调度发出的服务请求信息。基础的网格服务请求转发策略有 四种:随机,基于经验+ 随机,最佳近邻,最佳近邻+ 经验。在调度过程中结合 这四种策略,记录所有服务收到的请求转发信息,收到请求越多,也意味着该服 务的负载越重,做出调度决策的时候避免向负载已经偏高的资源提交任务,以此 来达到负载均衡的效果。 这两种动态调度算法的共同点在于在任务调度和执行过程中对映射关系和 调度策略不断进行调整,每一次做出调度决策的时候都会兼顾网格服务的历史记 录和实时的负载状态。 1 3 2 2 引入服务质量评估的网格任务调度研究 静态调度和动态调度这两种策略是在网格计算初期所提出的,它们所面对的 网格任务对象都是计算密集型的网格任务。但随着网格计算的发展,不同类型的 6 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 参与者( 包括人或软件) 相互作用,并根据需要调用其他的i t 工具或 应用。 3 ) 工作流引擎:一个软件服务或引擎为工作流实例提供运行期执行环境。工作 流引擎是工作流管理系统的核心,完整的工作流引擎应该包括以下功能: 根据流程定义描述创建新的工作流流程实例; 管理流程实例的属性; 将工作项提交给合适的资源; 管理和处理触发; 在活动执行中启动应用软件; 记录历史数据; 提供工作流的统计信息; 监控工作流过程的一致性。 4 ) 工作流执行服务:执行服务包括创建新的流程实例,基于流程程定义生成工 作项,再匹配到相应的资源上,支持活动的执行以及记录工作流的历史记录。 执行服务由一个或多个工作流引擎组成,在一个含有多个工作流引擎的执行 服务中,工作被分布到多个引擎上。 5 ) 工作流引擎操作:根据工作流参考模型,工作流引擎操作分为三个级别, 引擎级别操作; 流程级别操作; 活动级别操作。 6 ) 工作流集群应用:工作流集群应用是支持大型分布式虚拟组织构建业务流程 平台的关键技术,是工作流集成的一个环节。 2 1 2 服务组合技术和服务工作流 依据工作流技术的思想,工作流管理系统可以整合一个虚拟组织内部的各个 业务环节和分布于组织中各个虚拟结点上的应用,实现良好的业务流程规划,以 及通过业务重组来提高对不断变化的业务流程的适应能力。但传统工作流管理系 统存在以下缺陷:传统工作流大多采用了专有技术,这使得业务流程与虚拟组织 应用的结合变得非常复杂,通常需要很长时间进行部署和实施,而与虚拟组织外 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 b p e l 4 w s 流程的定义创建流程实例,并执行这个流程。m i v ce n d p 0 缸公司为 a c t i v e b p e l 提供了商业和开源两个版本,目前已经发布到4 0 版本。国内很多 正在开发基于b p e l 产品的中小型软件厂商,其实现的很多基础性内容和思想都 参考自a c t h r e b p e l 【2 9 l 。 2 ) o 髓c l e b p m 0 慨c l eb p m 全称是o m c l eb p e lp r o c e 鼹m a m g e r ,是o 豫c l c 公司中间件产 品,也是o m c l e 公司大力推广的s o a 解决方案中最重要组件之一。o m c l cb p m 在2 0 0 1 年已经面市,当时的版本是4 o 。作为一个成熟的支持业务流程平台的服 务工作流产品,o 薯l eb p m 包括了一个支持业务流程执行语言( b p e l 4 w s ) 的引 擎、一个管理控制台、以及一个用于设计业务流程的图形化建模界面,也有健壮 的通信和路由功能。o r a c l cb p m 能够运行在所有主流的j 2 e e 兼容的应用服务器 之上,提供了对多种标准( 包括:b p e l ,帆,x s l t :毯m ,m i s ,j c i a 以及 w r e b 服务) 的本地化支持。o r a c l eb p m 是目前最成熟,得到业界认可的商业化 服务工作流产品【3 叭。 2 2 面向服务的网格体系架构 2 2 1 网格技术概述 “网络的前方是网格 ,网格计算最初是为了满足科研学术项目对于大规模 科学运算能力的需求而出现的技术【2 】。通过该技术可以整合分布在广域范围内的 计算型资源。随着互联网技术的不断发展,网格技术不再局限于为科研学术项目 提供计算型资源服务,分布于互联网上的各式资源如:计算资源,存储资源,通 信资源,软件资源,信息资源,知识资源等都被不断地整合到网格平台中,网格 技术发展的方向是尽可能整合分布于互联网上的各种资源,实现资源共享的最大 化。当越来越多资源被整合到网格中,一个新的需求出现了,网格用户需要一个 要求最低的共通特性访问技术来获取这些资源的服务,w r e b 服务技术的成熟正好 可以满足这一需求。 1 3 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 b p e l 4 w s 流程的定义创建流程实例,并执行这个流程。m i v ce n d p 0 缸公司为 a c t i v e b p e l 提供了商业和开源两个版本,目前已经发布到4 0 版本。国内很多 正在开发基于b p e l 产品的中小型软件厂商,其实现的很多基础性内容和思想都 参考自a c t h r e b p e l 【2 9 l 。 2 ) o 髓c l e b p m 0 慨c l eb p m 全称是o m c l eb p e lp r o c e 鼹m a m g e r ,是o 豫c l c 公司中间件产 品,也是o m c l e 公司大力推广的s o a 解决方案中最重要组件之一。o m c l cb p m 在2 0 0 1 年已经面市,当时的版本是4 o 。作为一个成熟的支持业务流程平台的服 务工作流产品,o 薯l eb p m 包括了一个支持业务流程执行语言( b p e l 4 w s ) 的引 擎、一个管理控制台、以及一个用于设计业务流程的图形化建模界面,也有健壮 的通信和路由功能。o r a c l cb p m 能够运行在所有主流的j 2 e e 兼容的应用服务器 之上,提供了对多种标准( 包括:b p e l ,帆,x s l t :毯m ,m i s ,j c i a 以及 w r e b 服务) 的本地化支持。o r a c l eb p m 是目前最成熟,得到业界认可的商业化 服务工作流产品【3 叭。 2 2 面向服务的网格体系架构 2 2 1 网格技术概述 “网络的前方是网格 ,网格计算最初是为了满足科研学术项目对于大规模 科学运算能力的需求而出现的技术【2 】。通过该技术可以整合分布在广域范围内的 计算型资源。随着互联网技术的不断发展,网格技术不再局限于为科研学术项目 提供计算型资源服务,分布于互联网上的各式资源如:计算资源,存储资源,通 信资源,软件资源,信息资源,知识资源等都被不断地整合到网格平台中,网格 技术发展的方向是尽可能整合分布于互联网上的各种资源,实现资源共享的最大 化。当越来越多资源被整合到网格中,一个新的需求出现了,网格用户需要一个 要求最低的共通特性访问技术来获取这些资源的服务,w r e b 服务技术的成熟正好 可以满足这一需求。 1 3 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 2 2 2 服务网格技术 基于删l 的w r e b 服务技术在各种异构平台之上构筑了一层通用的、与平台 无关的信息和服务交换设旌,从而屏蔽了互联网中千差万别的差异,使信息和服 务畅通无阻地在计算机之间流动。w r c b 服务技术的这种特性完全符合网格平台上 整合分布异构型资源的需求,因此很快被引入到新的网格协议标准中。 1 ) o g s a 架构 2 0 0 2 年2 月全球网格论坛g g f 会议,在网格协议制定上具有最大发言权的 g 1 0 b u s 项目组和i b m 公司共同倡议了一个全新的网格标准架构o g s a ( 0 p g 耐s e 州c 锱加c h i t e c t l l r e ) 。 o g s a 架构把原有的网格协议标准g l o b 璐与以商用为主的w 曲服务技术标 准结合起来,确立了面向服务的网格体系架构。这一体系架构的思想是:网格中 各类资源的一切对外功能都以网格服务( g l 谢s e r v i 嘲来体现,并借助一些现成 的、与平台无关的技术,如儿、s o a p 、w s d l 、u d d i 等,来实现对网格服 务的描述、查找、访问和信息传输等功能。如此一来,一切平台以及资源本身的 异构性都被屏蔽,满足网格平台整合分布式异构资源,实现资源共享最大化的目 标。在确立o g s a 架构后,g 1 0 b u s 项目组很快提出了架构的具体实现方案:o g s i ( 0 l p 既g r i ds e 州c ei i l 丘a s t n j c t l 鹏) 服务标准框架【3 1 ,3 2 1 。 2 ) o g s i 框架 o g s i 框架对w r e b 服务技术标准中的、7 v ;如服务定义语言w s d l 和咀。 s c h 锄的进行了扩展。在o g s i 框架中首先提出了网格服务的概念,并针对网 格服务定义了一套标准化的接口,主要包括:服务实例的创建、命名和生命期管 理、服务状态数据的声明和查看、服务数据的异步通知、服务实例集合的表达和 管理,以及一般的服务调用错误的处理等。但是对w s d l 和x m ls c h e m 的扩 展导致了基于o g s i 框架网格服务在实践中得不到现有的w r e b 服务工具环境的 支持,而且将服务的状态,标志和生命周期管理等内容都封装在w 曲服务中, 违反了w c b 服务纯服务化,无状态的宗旨,因此o g s i 网格服务在具体实践中 并不成功。为了解决o g s i 框架这一问题,g l o b 吣项目组于2 0 0 4 年和i b m ,卯 等六家公司一起推出了w s r f ( 撇灿s 疵r e 洲l r c ef r 跚础) 和 1 4 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 服务发现,用来识别和描述虚拟组织中的组件 资源状态信息,启用元调度程序的调度操作 针对相应资源的使用情况的应用描述和执行监督 虚拟组织范围内的状态监控,用于容错或故障诊断的目的 m d s 网格目录服务是由为网格信息服务提供的资源和客户端工具组成的, 它包括以下3 个组件: w sm d si n d e xs e 州该服务搜集网格服务资源的状态信息,并将其 存入一个存储单元。通常来说,虚拟组织会部署一个或多个用于索引的服务,这 些服务随后搜集该虚拟组织中所有可用的网格资源的数据。 w s 加s 吲g g e rs e 而c e 该服务按照管理员的指示,从网格资源中搜集 服务相关数据,并将这些数据传递给适当的程序,从而根据事件执行各种操作。 w s sa g 刖穆a 泐这是另外两个服务构建于其上的软件框架。 a g 蓼e g a t o r 框架负责对a g g r c g a 幻r 源中的数据进行搜集、管理和编索引,并将 这些数据发送给一个趣踺芦9 9 a t o r 接收器进行处理。 在本课题中,m d s 网格目录服务是实现工作流集群应用与虚拟组织结构映 射关系,以及工作流网格任务调度的重要基础组件。 1 6 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 第三章网格环境下工作流引擎集群应用方案 3 1 工作流引擎集群的应用背景 工作流产品以工作流执行服务的形式在许多虚拟组织的业务流程平台得到 广泛应用。在工作流技术发展的初期,大多数的工作流执行服务只由单一工作流 引擎构成就足以支撑需虚拟组织的大部分业务流程。但随着虚拟组织规模的不断 增长,组织所支持的业务流程也日趋于复杂化。单一工作流引擎已经难以满足这 些组织结构的需求,在大量实践中往往将复数个工作流引擎部署到每一个需要参 与到组织业务流程中的节点上,再把这些引擎通过一些逻辑组织起来进行协同工 作。部署在组织节点上的工作流引擎即可以独立完成本节点的业务流程,也可以 与其他引擎进行协同工作,形成一个工作流引擎集群应用。根据w m i c 的工作 流参考模型,引擎集群应用也是一种工作流执行服务,相比单个工作流引擎的执 行服务,工作流引擎集群应用能够提供更高性能,更高可靠性的服务,同时对虚 拟组织中大规模,复杂业务流程也有更好的支持,如图3 1 所示。 图3 1 :虚拟组织中工作流引擎集群应用 在实践中最常见的一种应用场景是对涉及到多个组织节点的综合型业务的 1 7 中山大学硕士论文 网格环境下工作流引擎集群的调度优化研究 支持:如图3 2 所示的例子,大规模的主流程实例运行于第一级的工作流引擎中, 主流程实例中的多个活动在运行期被扩展成子流程实例,子流程实例交由下级组 织结点中的第二级工作流引擎执行,第一级工作流引擎同步或者异步等待第二级 工作流引擎执行完子流程实例后,再继续完成主流程实例。 图3 2 :工作流业务流程扩展 图3 2 所描述的应用场景是一个典型的需要工作流引擎集群应用支持的例 子,一个大型虚拟组织的业务流程往往就是由虚拟组织下属的各个子结点中的子 业务流程组合而成的。如果一个大型组织中只依靠一个工作流引擎跨越整个虚拟 组织中的每个结点来支持业务流程,不论是性能表现,工作效率或者是业务的灵 活性都会有瓶颈,甚至难以完成一些复杂的并发流程。只有工作流引擎集群应用 才能满足大型分布式虚拟组织构建业务流程平台的需求。 工作流引擎集群应用所要解决的主要问题有两个: 1 ) 成熟的集群应用应当能够支持多种类型的工作流产品,否则在具体的应 用中会有极大的局限性。因此集群应用必须为不同类型的工作流引擎提供统一的 虚拟化操作接口,并且建立一个共同的通讯协议,以及管理和监控所有工作流引 擎的统一机制。统一的虚拟化接口可以向最终用户屏蔽不同类型工作流产品带来 的异构性,而管理和监控机制则是为集群应用建立任务调度管理机制,异常处理 或容错处理等关系到应用整体性能表现的应用逻辑的基础。 2 ) 为工作流引擎集群应用和虚拟组织的架构建立对应关系。工作流引擎集 1 8 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 群应用最终是服务于虚拟组织的业务流程应用的,因此集群应用的结构就是一个 虚拟组织架构在业务流程平台上的映射。特别是对于动态的虚拟组织,组织的架 构和支持的业务会随着组织的发展而变化,因此工作流引擎应用也应当能够适应 这些变化,尽量保持应用结构的灵活性和可扩展性。 3 2 构建工作流引擎集群应用的难点和解决方案 一个成熟的集群应用解决方案必须能够兼容多种类型的工作流产品,而构 建工作流引擎集群应用的难点就在于解决不同类型工作流产品的异构性。 工作流产品的类型繁多,主流的软件厂商都有自己的工作流产品,j 2 e e 平 台,n e t 平台和其他平台都有成熟的工作流产品。工作流产品的差异表现在: 某些产品的接口设计符合w 伽c 的规范,但也有不少产品是应用了其他独立的 设计规范;某些产品的业务流程描述采用w o 涯c 支持的? d l 标准,而有些则 用的是微软公司支持的) a l a n g 标准。工作流产品是典型的异构型资源,这给构 建工作流引擎集群应用带来了很大的困难。 正如上文所描述,工作流引擎集群应用首先要提供给用户统一的虚拟操作接 口,才能够整合已有的工作流管理系统,并保持对未来新的工作流产品的扩展性。 对于不同类型的工作流产品,为了统一它们的操作接口和通讯协议,就需要在应 用中添加匹配引擎接口以及信息传递渠道的逻辑。每多支持一种工作流产品就会 多出一些这样的逻辑,导致集群应用实现的成本不断增加。为了避免这种情况, 现有的大多数集群应用方案不得不明确规定支持具体某几类工作流产品,这就给 应用的实现带来了很大的局限性。不但难以整合某些虚拟组织的结点上已有的工 作流管理系统,只能重新建立一套工作流管理系统来替换原有系统,大大增加构 建集群应用的成本。同时也限制了集群应用的扩展性。假设有新的高性能,或高 性价比的工作流产品出现,虚拟组织的用户就会陷入一个两难的境地,如果采用 新的工作流产品就需要大规模修改原有集成应用的逻辑,如果不采用新的工作流 产品,那也迟早会遇到性能或成本要求上的瓶颈。 解决异构性问题的最佳方案就是引入一个适用于整合异构性组件的中间件, 通过这个中间件将类型各异的工作流引擎虚拟成具有统一操作接口和信息交换 1 9 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 协议的组件。根据第二章相关技术原理中对服务网格技术的介绍,服务网格平台 是当前最适合于整合分布式异构型资源的平台。在本课题中,引入服务网格体系 o g s a 架构和服务网格标准w s l 江框架的具体实现g 1 0 1 ,u sr i 硒墩i t4 网格工具 包来作为工作流引擎集群应用的平台。设计具有统一虚拟操作接口的网格服务来 封装不同类型的工作流引擎,所有对工作流引擎的操作都会转换为对网格服务的 操作,借由网格服务来解决工作流引擎的异构性问题。 图3 - 3 :网格服务包含工作流引擎 如图3 3 所示,来源于不同厂商,不同实现平台的异构工作流引擎,例如: o m c k 公司提供的o m c l eb p m ,j b o s s 项目组旗下的j b p m ,觚i v e 脚缸公 司提供的黼b p e l 等,都被封装到符合w s i 强规范的网格服务中( g 耐 s e r v i c e ) ,并发布到网格容器中。对于应用层中的用户逻辑和应用程序而言,它 们通过访问网格容器得到的就不再是一个个异构的工作流引擎,而是一些已经统 一了操作接口,可以直接实现工作流引擎功能的网格服务。 另外对于网格服务而言,只要是基于同一个网格平台,信息交换的协议就是 统一的,在使用网格服务封装工作流引擎后,不同类型工作流引擎问的相互通讯 转化成为网格服务问的相互通讯,解决了通讯协议不一致的问题。同时在网格环 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 沟通的现状,相同的一个业务流程在两种不同类型的工作流产品间可能有两种不 同的描述方式。而所有基于服务组合技术的服务工作流产品所采用的业务描述语 言都是服务组合技术的标准:b p e l 4 、s 规范,因此在服务工作流的集群应用中 可以完全回避业务流程描述规范不同带来的问题。 综合以上的两个因素,在本次的课题中,我们以服务工作流为基础来构建集 群应用。上文提到的o r l eb p m ,a 吐i v 招p e l 等都是服务工作流产品,这些产 品在性能表现上,实现的基础平台,接口设计上都不尽相同,但在引入了面向服 务的网格架构作为集群应用的平台后,我们就可以得到一个可行性很高的服务工 作流引擎集群应用方案。 整个方案中包含以下两个关键问题: 1 如何依据o g s a 架构和w s i 强框架,在g l o b 嘴1 l ( i t s 网格平台中实现 封装了服务工作流引擎的网格服务。 2 将工作流引擎网格服务组织成可以灵活对应虚拟组织结构的工作流引擎 集群应用。 3 3 2 封装服务工作流引擎的基础网格服务 服务工作流引擎的特征是将工作流引擎操作接口以w r e b 服务的方式提供给 用户,但w r e b 服务无法直接作为网格服务存在于网格应用中。 3 3 2 1 w 曲服务与网格服务的区别 w c b 服务技术提供了一种基于服务的框架结构,框架内的w r e b 服务一般被 认为是一种永久的、无状态的资源。 “永久指的是一个w r e b 服务通常是一个持久性服务,其生命期与承载它 的w r e b 服务容器密切关联,当容器启动后,w 曲服务就可以一直提供服务,直 到服务容器停止,w 曲服务也随之被销毁而失去作用。而“无状态 则意味着每 一个w r e b 服务都是独立的,在实现时它不依赖于其他w 由服务的上下文和状态。 w _ c b 服务也不会保留与它所服务的客户对话过程中任何相关的中间状态信息,当 一个w r e b 服务结束则相关的中间状态信息都通过儿文件传回给用户,不会在 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 w r e b 服务所在的容器内留下任何记录,这也就是所谓的“纯服务化一。无状态的 w r e b 服务被认为是一种较好的工程实践,这是因为无状态意味着如果在服务运行 过程中出现异常或错误,只需要重启服务即可,无需考虑之前的交互,这样确保 了服务的可靠性。 不过“永久 和“无状态 这两个w 曲服务的重要特征对于网格应用而言是 不适用的。在网格环境中,强调的是对网格环境内所有服务资源的高效率利用, 尽可能避免资源闲置的情况发生,这样才能体现网格应用的高并发度和高性能。 因此在服务网格体系中,一个网格服务必须能够对应多个网格服务实例,通过不 同的网格服务实例可以对来自不同用户 x 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 定义语言w s d l 和x 池s c h e m a 的扩展来解决具有状态属性的w - e b 服务的问题, 并确立了网格服务的概念和所包含的一些基本元素。但是o g s i 框架缺乏对现有 w c b 服务架构的兼容,许多现有的w r e b 服务工具无法在o g s i 框架下使用,因 此o g s i 框架得不到实际应用的支持,很快被w s i 江框架取代。 w s r f 框架是当前服务网格体系中网格服务的实现标准,它解决了无状态, 永久的w 曲服务和有状态,具有短暂生命周期的网格应用两者间的矛盾。w s r f 框架对w r e b 服务规范进行扩展的同时,考虑到了对现有的w r e b 服务技术工具的 支持,保留了w e b 服务“无状态”这一特征,通过弓l 入“资源 ( w sr e 觥) 这一概念来表示中间状态信息,中间状态信息保存在称为资源的单独实体内,每 一个资源具有一个惟一的身份标志符( r e s o u r l 已e v ) 。在w s i 强框架中,网格 服务等于无状态的w ,e b 服务加上有状态的资源。用无状态的w r e b 服务实现了网 格服务应提供的服务,有状态资源则保持着用户与网格服务的交互中间状态。 当用户请求一个网格服务的时候,先由资源工厂创建一个与用户请求相关的 有状态资源,也就是一个网格服务的实例,再把该资源和用户所请求的无状态的 w 曲服务绑定,随后通过一个标准化端点引用结构一端点引用( 脚缸 r e 觚e ) ,把访问该资源和获取w 曲服务的途径返回给网格用户。在本课题的 应用中,“无状态 的服务就是针对不同类型服务工作流引擎的网格服务,而“资 源 就是代表具体的某一个引擎的网格服务实例。 文献 5 】中给出了w s r f 框架包含的5 个标准化协议规范,如表3 1 : 表3 1 :w s r f 框架中的五个规范 中山大学硕士论文网格环境下工作流引擎集群的调度优化研究 其中w s r c s o u r c ep r o p 叭斌和w s r e :s o l l r c el i 蠡缸m 两个协议是实现一个网 格服务的重点。 w s r e s o 嘣:ep p 瞰i e s 定义了如何使用x m i ,文档来描述w s r c u r o e , 以及如何对资源进行查询和修改。该文档是w s r c s 伽的状态视图或投影。 w s r 船o w c el i 触i i n e 定义了与w s 一风;s 0 哪c e 生命周期相关的机制,全部的网格 服务实例创建都使用了工厂设计模式。有状态资源通常是由资源工厂创建的,用 户想资源工厂发出创建资源( 网格服务实例) 的请求,资源工厂的将返回一个指 向新的有状态资源( 网格服务实例) 的端点引用给用户。 3 3 2 3 工作流引擎网格服务 通过上文对w e b 服务和网格服务两者的对比分析,以及对服务网格实现标准 w s i 强框架的介绍,可以明确实现工作流引擎网格服务的关键在于如何把服务工 作流引擎的w e b 服务访问方式转化成为网格服务的访问方式。 工作流引擎网格服务是构建工作流引擎集群应用的基础。集群应用首先必须 可以支持若干种不同类型的服务工作流引擎,对于每一种服务工作流产品,都需 要有一个对应该产品的工作流引擎网格服务( w r o 出胁we n 粤面es e 而) 。就如图 3 4 所示,分别有名为a c t i v 出p e l w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- QE工程师工作总结
- 宫颈癌疫苗专家共识解读
- 主任医师2025年度工作总结
- 业务培训工作总结
- 开颅手术的护理配合及注意事项
- 护理专业我的职业梦想
- 全域经营商业解读
- 三下乡支教总结汇报
- 消防安全培训内容公司课件
- 医院护士院感汇报
- 2024-2030年中国边境经济合作区行业市场发展分析及经验案例与投资趋势研究报告
- 大决战电影赏析课件
- 中药郁金课件
- 爆破飞石控制措施
- 《水飞蓟提取物质量要求》
- 梅毒艾滋乙肝三病
- 带状疱疹的中医护理方案
- 重庆市面向西南大学定向选调2024届大学毕业生2024年国家公务员考试考试大纲历年真题3453笔试难、易错历年高频考点荟萃附带答案解析(附后)
- 知情同意书模板(新闻采访)
- 药用植物生态学药用植物与光的关系课件
- 东北财经大学网络教育成人学位英语考试往年真题试卷
评论
0/150
提交评论