支持动态调度工作流D―Flow Engine设计与实现.docVIP

支持动态调度工作流D―Flow Engine设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
支持动态调度工作流D―Flow Engine设计与实现

支持动态调度工作流D―Flow Engine设计与实现   摘 要:基于流程与活动两个级别考虑,提出支持动态调度的工作流D―Flow Engine;从动态路由和流程多版本方面分析了其动态调度特性。通过在流程建模阶段扩展工作流管理联盟的工作流元模型相关定义,重点分析了动态路由和多版本流程迁移在流程运行阶段的调度实现。实践表明,D―Flow Engine提高了工作流的适应性,满足了企业对工作流动态性的需求。   关键词:工作流; 动态性; 元模型; 路由   中图分类号:TP391文献标志码:A   文章编号:1001―3695(2007)03―0173―04   随着工作流技术的快速发展以及在实际应用中的不断深入,人们对工作流系统提出了更多的功能要求,其中一个主要问题是工作流系统的灵活性和动态性。传统工作流的工作过程分为建模阶段和运行阶段。建模阶段是对一个工作流程进行模型定义;运行阶段是工作流执行服务对工作流定义进行解释执行。由于现实的工作流系统可能无法事先确定所有过程,并且过程之间的关系在执行期间并不是一成不变的,工作流系统缺乏柔性和动态性。如何使工作流系统具有灵活的动态性和自适应能力,已经成为目前工作流管理系统研究的一个热点。??   在可适应动态工作流方面,研究者们进行了广泛的探索研究。文献[1]讨论了工作流实际运行中可能出现的各种异常;根据其影响大小进行分类,分析了如何预防、检测和恢复异常,并应用在工作流系统Endeavors中。文献[2]描述了一个具有动态路由和操作控制机制的工作流实现框架,提出了其构成三要素,即工作流控制表、约束序列和基于事件的管理规则。文献[3]利用继承思想提出了工作流继承保留转换规则,以此来解决流程动态迁移带来的一系列问题。文献[4]采用一个正确性评价来确保流程运行时能够在流程定义规则改变的情况下顺利地进行动态迁移。文献[5]介绍了一个有改善性能的工作流路由调度算法。文献[6]中的Reflection 方法采用工作流执行过程中人机不断交互来完成一个具有动态执行的工作流程。??   以上各种研究方法从适应性、动态性等角度出发,采用各种具体方法试图使工作流系统具备动态柔性特征。但另一方面,工作流的基本特征就是业务逻辑与应用相分离,可以从模型方面出发改善其动态适应能力。本文设计并实现了一个支持动态调度的工作流引擎D―Flow Engine,给出了其工作流元模型,重点研究了工作流的流程动态调度服务,最后结合应用实例进行了研究并给出结论。??      1 D―Flow Engine工作流元模型??   如图1所示,D―Flow Engine工作流元模型有两个层次,即核心模型和支撑模型。核心模型是以流程、活动等过程模型为中心,另外还包含数据模型和应用模型;支撑模型主要包括组织模型、资源模型、权限模型和时间模型。??   图1 D―Flow Engine工作流元模型   支撑模型是任何一个工作流模型所必需的,但同时它们又经常与企业中其他应用系统有所关联,为了实现工作流系统的集成性和柔性,有必要将它们分为独立的一类。??   D―Flow Engine的动态性主要体现在两个方面:①流程的适应性,即一个流程定义能够根据用户的不同需求而实例化出满足不同需求的流程实例;②活动任务的分配,即每次活动激活分配任务时能够根据当时的实际需要来分配合适的任务执行人。文献[7]中详细讨论了活动任务的动态分配,不在本文论述之列。D―Flow Engine在流程动态调度方面支持动态路由和多版本流程,可以根据时间分为两个方面,即建模阶段和运行阶段。建模阶段的动态性是指工作流定义时能够定义一个流程的动态特性;运行阶段的动态性是指工作流程实例能够修改预先定义的流程或一些不可预测的变化。      2 流程动态调度   2.1 工作流建模阶段对动态调度的支持??   一个工作流程由活动(Activity)和迁移(Transition)组成,根据两者之间的关系,传统工作流系统提供了串行、分叉、合并、循环等基本路由调度。但企业的实际应用往往比较复杂,用户在结束一个活动任务后,有可能需要跳过某个(些)活动节点继续执行;或者用户认为目前任务状态没有满足需求,需要重新反馈到前面某个活动节点重复执行。由于人为等不确定因素的存在,在流程建模定义时很难对这些动态路由直接用迁移清晰地表明出来。D―Flow Engine在提供了串行等基本路由的基础上还支持跳跃和反馈路由。??   定义1 跳跃路由:某活动A的活动实例执行完成后不激活后续活动而跳跃激活后面某个活动B使流程继续执行,而在A、B之间不存在直接迁移,则活动A到B的路由为跳跃路由。??   定义2 反馈路由:某活动A的活动实例执行完成后,在不存在迁移的情况下,激活

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档