[发明专利]分布式工作流执行有效
申请号: | 201110127071.4 | 申请日: | 2011-05-06 |
公开(公告)号: | CN102236578A | 公开(公告)日: | 2011-11-09 |
发明(设计)人: | D·范威尔兹恩;J·范格格;H·J·M·梅杰 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 高见 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 工作流 执行 | ||
技术领域
本发明涉及进程管理,尤其涉及分布式工作流执行。
背景技术
工作流系统表示进程管理技术的应用。工作流是定义进程或过程的操作方面的有组织的互相关任务集合。具体而言,工作流可定义任务如何结构化、负责实体以及任务的相对排序等。因此,工作流方便进程的自动化设计、控制和监视。
一种公知工作流是企业工作流,该企业工作流使业务进程自动化,以使得文档、信息和/或任务被传递至各个人以便根据程序规则来行动。例如,个人可以按顺序执行某一指定工作,并且随后在完成时其他人的工作可以启动。实际上,工作的传递基于先前任务的完成来自动化和控制。作为示例,贷款评估或批准进程可被表示为工作流。
还能够在计算机系统及相关联的功能、而不是单独的人类相关任务的上下文中采用工作流。作为示例,可采用被称为构建系统(build system)的专用工作流系统来方便程序开发或构建。
构建系统使得能够如同构建一样脚本化并执行各种各样的程序开发任务,包括将源代码编译成二进制代码、测试和开发,等等。虽然很容易从命令提示中调用对单个文件的开发操作,但类似地对通常是具有复杂依赖性的大量文件发起这些操作的困难却呈指数地增加。构建系统被设计成通过使开发者能够描述并且随后数次发起对各自具有特定功能的分立代码单元的一系列调用的执行来帮助该情形。例如,构建系统可允许在对一个或多个组件源文件作出改变时快速重新编译程序。
工作流和构建尤其在大小和复杂性方面持续增长。工作流执行时间取决于工作流的大小和复杂性。因此,工作流执行时间持续增加。
发明内容
下面呈现了简化的发明内容,以便提供对所公开主题的某些方面的基本概念。本发明内容不是广泛性的概观。它并不旨在标识关键/重要元素,也不旨在划定所要求保护主题的范围。其唯一目的是以简化形式呈现一些概念,作为稍后呈现的更详细描述的序言。
简言之,本公开通常涉及优化工作流执行。工作流可被自动调度以跨多个自治计算实体来执行。具体而言,可以根据计算成本、通信成本以及其它因素,将工作流任务编组成集合以在多个自治计算实体上执行。在工作流显式地指定任务和项目依赖性的情况下,可以利用依赖性来进行精细编组。此外,这些依赖性还可以用来将重新执行限于受与例如多个自治计算实体中的一个或多个等相关联的失败影响的工作流部分。
为实现上述及相关目的,在此结合以下描述和附图描述了所要求保护主题的某些说明性方面。这些方面指示可实践本主题的各种方式,它们均落在所要求保护主题的范围之内。当结合附图阅读以下详细描述时,本发明的其他优点和新颖特征将变得显而易见。
附图说明
图1是工作流系统的框图。
图2示出可以结合到工作流中的示例性转移图。
图3是工作流系统的主-从配置的框图。
图4是利用云系统/服务的工作流系统的框图。
图5是资源推荐系统的框图。
图6是工作流调度方法的流程图。
图7是本地工作流执行方法的流程图。
图8是工作流失败恢复方法的流程图。
图9是资源推荐方法的流程图。
图10是示出用于本公开各方面的合适操作环境的示意性框图。
具体实施方式
以下细节一般涉及跨多个自治计算实体(例如计算机、虚拟机...)的工作流执行。工作流的大小和复杂性在增长。因此,工作流执行时间持续增加。这会带来问题,至少因为例如添加功能或解决缺陷的工作流修改变得成本越来越高。通过跨多个自治计算实体并发地执行工作流,执行时间可以显著降低,从而减小修改花费等。
可以考虑许多因素以自动地确定最优分布。例如,可以计入计算成本和通信成本。更具体而言,可以在单个计算实体上编组任务与划分任务以跨多个计算实体执行之间达到平衡。此外,与具有隐式或隐藏和/或粗糙的依赖性的工作流不同,可以通过利用显式且精确指定的工作流依赖性来细粒化(编组和/或划分。
还可以利用工作流依赖性以处理分布式系统的副产品,即失败。与要求工作流从开始重新执行不同,可以只重新调度工作流中包括取决于失败计算的任务的部分。此外,可以使用相同或不同工作流的先前运行的状态信息来进一步减小需要被执行以从失败中恢复或者以其它方式执行/重新执行工作流并返回一致状态的工作量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110127071.4/2.html,转载请声明来源钻瓜专利网。