一种用于为构建过程中的任务分配资源的方法和系统技术方案

技术编号:10577234 阅读:155 留言:0更新日期:2014-10-29 10:55
本发明专利技术属于软件工程领域,公开了一种用于为构建过程中的任务分配资源的方法。该构建过程包括多个任务,该方法包括:获取任务元数据,所述任务元数据包括所述多个任务中第二任务的任务类型;获取执行元数据,所述执行元数据包括所述多个任务中第一任务的执行结果,其中所述第二任务依赖所述第一任务的执行结果;根据所述任务元数据和所述执行元数据确定所述第二任务需要的资源。本发明专利技术还公开了一种用于为构建过程中的任务分配资源的系统。通过采用本发明专利技术提供的方法和系统,可以动态的确认构建过程中的任务所需的资源,并据此进行动态的资源分配,从而提高资源的利用率,也提高了构建过程的效率。

【技术实现步骤摘要】
【专利摘要】本专利技术属于软件工程领域,公开了一种用于为构建过程中的任务分配资源的方法。该构建过程包括多个任务,该方法包括:获取任务元数据,所述任务元数据包括所述多个任务中第二任务的任务类型;获取执行元数据,所述执行元数据包括所述多个任务中第一任务的执行结果,其中所述第二任务依赖所述第一任务的执行结果;根据所述任务元数据和所述执行元数据确定所述第二任务需要的资源。本专利技术还公开了一种用于为构建过程中的任务分配资源的系统。通过采用本专利技术提供的方法和系统,可以动态的确认构建过程中的任务所需的资源,并据此进行动态的资源分配,从而提高资源的利用率,也提高了构建过程的效率。【专利说明】一种用于为构建过程中的任务分配资源的方法和系统
本专利技术涉及软件工程领域,更具体地,涉及一种用于为构建过程中的任务分配资 源的方法和系统。
技术介绍
在软件工程中,构建(build)系统得到越来越广泛的应用。一个构建过程通常包 括了从获取软件代码一直到形成可发布软件产品的多个阶段。图2示出了一个典型的构建 过程。这个构建过程中包括了多个任务,如获取源代码、编译、运行测试例、以及发布。 对于每一个构建过程,需要消费相应的资源,通常会在最初阶段静态分配相应的 资源。这些静态分配的资源在构建过程中不会动态变化,从而导致整个构建过程中有时资 源过剩而其他构建过程无法消费过剩的资源,而有时资源不足导致构建过程的时间过长。
技术实现思路
考虑到解决现有技术中存在的问题,本专利技术实施例提供了一种用于为构建过程中 的任务分配资源的方法,以提高资源利用效率。进一步的本专利技术实施例还提供了一种用于 为构建过程中的任务分配资源的系统。 根据本专利技术的一个方面,提供了一种用于为构建过程中的任务分配资源的方法, 所述构建过程包括多个任务,所述方法包括获取任务元数据,所述任务元数据包括所述多 个任务中第二任务的任务类型;获取执行元数据,所述执行元数据包括所述多个任务中第 一任务的执行结果,其中所述第二任务依赖所述第一任务的执行结果;根据所述任务元数 据和所述执行元数据确定所述第二任务需要的资源。 根据本专利技术的另一个方面,提供了一种用于为构建过程中的任务资源分配的系 统,其中,所述构建过程包括多个任务,所述系统包括:第一捕获模块,被配置为获取任务元 数据,所述任务元数据包括所述多个任务中第二任务的任务类型;第二捕获模块,被配置为 获取执行元数据,所述执行元数据包括所述多个任务中第一任务的执行结果,其中所述第 二任务依赖所述第一任务的执行结果;资源需求确认模块,被配置为根据所述第一捕获模 块获取的任务元数据和所述第二捕获模块获取的执行元数据确定所述第二任务需要的资 源。 本专利技术所提供的技术方案可以在构建过程中动态的分配资源,从而提高资源的使 用效率。 【专利附图】【附图说明】 通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其 它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号 通常代表相同部件。 图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框 图; 图2示出了一种典型的构建过程的示例; 图3示出了本专利技术实施例一种用于为构建过程中的任务分配资源的方法的流程 示意图; 图4示出了本专利技术实施例一种用于为构建过程中的任务分配资源的系统的结构 示意图; 图5示出了本专利技术实施例另一种用于为构建过程中的任务分配资源的系统的结 构示意图。 【具体实施方式】 下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开 的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方 式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的 范围完整的传达给本领域的技术人员。 所属
的技术人员知道,本专利技术可以实现为系统、方法或计算机程序产品。 因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括 固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为"电路"、"模 块"或"系统"。此外,在一些实施例中,本专利技术还可以实现为在一个或多个计算机可读介质 中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。 可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计 算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限 于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算 机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便 携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储 器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、 或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程 序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号, 其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括一但 不限于一电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是 计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者 传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限 于一无线、电线、光缆、RF等等,或者上述的任意合适的组合。 可以以一种或多种程序设计语言或其组合来编写用于执行本专利技术操作的计算机 程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++, 还包括常规的过程式程序设计语言一诸如"C"语言或类似的程序设计语言。程序代码可以 完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部 分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在 涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或 广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提 供商来通过因特网连接)。 下面将参照本专利技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或 框图描述本专利技术。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方 框的组合,都可以由计算机程序指令实现。这些计算机程序占领可以提供给通用计算机、专 用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指 令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中 规定的功能/操作的装置。 也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置 以特定方式工作的计算机可读介质中,这样,存储在计算机可读本文档来自技高网
...
一种用于为构建过程中的任务分配资源的方法和系统

【技术保护点】
一种用于为构建过程中的任务分配资源的方法,所述构建过程包括多个任务,所述方法包括:获取任务元数据,所述任务元数据包括所述多个任务中第二任务的任务类型;获取执行元数据,所述执行元数据包括所述多个任务中第一任务的执行结果,其中所述第二任务依赖所述第一任务的执行结果;根据所述任务元数据和所述执行元数据确定所述第二任务需要的资源。

【技术特征摘要】

【专利技术属性】
技术研发人员:谭佳杨博李彤刘昕鹏张连平王夕宁
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1