持续集成系统中的任务动态调度方法和系统技术方案

技术编号:33289954 阅读:57 留言:0更新日期:2022-05-01 00:06
本发明专利技术公开了持续集成系统中的任务动态调度方法和系统,解决了构建任务顺序不合理导致的效率问题,同时提升了持续集成系统的整体性能。其技术方案为:系统包括:构建节点分配模块,用于根据构建任务的所需资源标签,将该构建任务分配到对应的构建节点;任务基本优先级分配模块,用于根据该构建任务的参数量化该构建任务的基础价值,并为各构建任务分配不同的权重参数,以调节每一个任务属性对总基础价值的影响大小;任务动态优先级调度模块,用于根据任务的剩余价值密度与执行紧迫性对构建任务进行动态调度;构建资源负载分析模块,用于根据各构建节点的任务执行负载情况,自动实现构建资源的包括扩容与伸缩在内的调整方案。构建资源的包括扩容与伸缩在内的调整方案。构建资源的包括扩容与伸缩在内的调整方案。

【技术实现步骤摘要】
持续集成系统中的任务动态调度方法和系统


[0001]本专利技术涉及一种任务调度技术,具体涉及一种应用于持续集成系统中的任务动态调度技术。

技术介绍

[0002]企业级DevOps实践中,持续集成的效率非常重要,而目前大多数的持续集成系统根据构建任务启动的先后决定先后顺序,这种模式在应对多样性的构建场景时不够灵活,可能会导致很多问题,例如:排队等待中的构建任务可能存在重要的紧急的构建任务无法优先执行,正在执行的构建任务可能存在重要性较低的任务占据系统资源等,分配不合理的构建任务顺序,很容易造成构建资源的抢占与浪费,影响持续集成系统的性能与效率,因此如何调度这些不同类型的构建任务,使得构建资源可以得到高效的利用,成为一个关键问题。
[0003]同时,在持续集成系统中,通常会遇到构建资源不足的问题,需要运维人员人工添加机器节点来减轻负载压力,这种需要人工介入的需求比较耗时耗力,也影响了整体构建的效率,如何自动且合理的调整构建资源也是一个需要解决的问题。

技术实现思路

[0004]以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
[0005]本专利技术的目的在于解决上述问题,提供了一种持续集成系统中的任务动态调度方法和系统,解决了构建任务顺序不合理导致的效率问题,同时提升了持续集成系统的整体性能。
[0006]本专利技术的技术方案为:本专利技术揭示了一种持续集成系统的任务动态调度系统,系统包括构建节点分配模块、任务基本优先级分配模块、任务动态优先级调度模块、以及构建资源负载分析模块,其中:
[0007]构建节点分配模块,用于根据构建任务的所需资源标签,将该构建任务分配到对应的构建节点;
[0008]任务基本优先级分配模块,用于根据该构建任务的参数量化该构建任务的基础价值,并为各构建任务分配不同的权重参数,以调节每一个任务属性对总基础价值的影响大小;
[0009]任务动态优先级调度模块,用于根据任务的剩余价值密度与执行紧迫性对构建任务进行动态调度;
[0010]构建资源负载分析模块,用于根据各构建节点的任务执行负载情况,自动实现构建资源的包括扩容与伸缩在内的调整方案。
[0011]根据本专利技术的持续集成系统的任务动态调度系统的一实施例,构建节点分配模块进一步配置为:用户通过模板化步骤创建构建任务,其中每一个模板化步骤设定所需的环境资源标签,以标识每个步骤执行所依赖的对应的环境,当构建节点具有构建任务的所有资源标签合集时,该构建任务则分配到该对应的构建节点执行,当有多个构建节点均满足该构建任务时,则分配目前负载最低的构建节点来执行该构建任务。
[0012]根据本专利技术的持续集成系统的任务动态调度系统的一实施例,任务基本优先级分配模块中的构建任务的参数包括:任务用途、重要程度,任务类型,任务构建状态,被依赖的任务个数。
[0013]根据本专利技术的持续集成系统的任务动态调度系统的一实施例,任务动态优先级调度模块中的任务的剩余价值密度是由下述公式计算:
[0014][0015]其中,T表示任务预计执行时间,t表示已执行时间,V表示任务基础价值,m表示任务即时价值产生速度的变化大小。
[0016]根据本专利技术的持续集成系统的任务动态调度系统的一实施例,任务动态优先级调度模块中的任务的执行紧迫性是由下述公式计算:
[0017][0018]其中,T表示任务预计执行时间,t表示已执行时间,n用来调节任务紧迫性对任务动态优先级的影响大小,d表示任务截止时刻,τ表示当前时刻。
[0019]根据本专利技术的持续集成系统的任务动态调度系统的一实施例,通过调节m和n两个参数的大小来调节任务剩余价值密度与执行紧迫性对任务动态优先级的影响权重。
[0020]根据本专利技术的持续集成系统的任务动态调度系统的一实施例,任务动态优先级调度模块对构建任务进行动态调度的过程中,设置抢占阈值系数k,只有当等待任务中的动态优先级大于目前正在执行的任务动态优先级乘以抢占阈值系数k之后的乘积值,才可以抢占资源执行,否则继续执行当前执行的任务。
[0021]根据本专利技术的持续集成系统的任务动态调度系统的一实施例,构建资源负载分析模块进一步配置为:在每个构建节点设置后台数据采集程序,记录构建节点的负载情况,将构建节点的负载情况推送到管理员界面,后台数据采集程序同时记录各构建节点的任务执行成功率与执行效率,对任务排队时间长度高于一设定值的构建节点进行自动扩容。
[0022]本专利技术还揭示了一种持续集成系统的任务动态调度方法,方法包括:
[0023]步骤1:构建任务被触发启动,构建出任务队列;
[0024]步骤2:根据构建任务的环境资源标签,将构建任务分配到对应的满足条件的构建节点上;
[0025]步骤3:按照构建节点分组,根据任务属性计算各构建任务的基础价值与预计执行时间;
[0026]步骤4:计算任务的动态优先级,并根据优先级来动态调度构建任务,其中任务动态优先级的计算是由构建任务的剩余价值密度和执行紧迫性得到的;
[0027]步骤5:进入等待队列,判断未执行任务的数量是否大于设置的扩容阈值,若大于
扩容阈值则构建资源自动扩容、添加节点,并将这些未执行的构建任务重新分配构建节点后返回步骤3,若小于扩充阈值则返回步骤4中。
[0028]根据本专利技术的持续集成系统的任务动态调度方法的一实施例,步骤3进一步包括:
[0029]计算构建任务的基础价值是由构建任务的各个参数与其对应的影响权重的乘积加总而成;
[0030]计算构建任务的预计执行时间是采用:若之前构建过则取构建任务历史构建时间的平均值,若未构建过则取同一个构建节点任务预计执行时间的平均值。
[0031]根据本专利技术的持续集成系统的任务动态调度方法的一实施例,步骤4进一步包括:
[0032]第一步,计算所有执行任务与等待任务的动态优先级,步骤3中基础价值最高的构建任务首先获得执行权,然后实时计算系统中各个构建任务的动态优先级,其中任务动态优先级为其中,T表示任务预计执行时间,t表示已执行时间,V表示任务基础价值,m表示任务即时价值产生速度的变化大小,n用来调节任务紧迫性对任务动态优先级的影响大小,d表示任务截止时刻,τ表示当前时刻;
[0033]第二步,将上一步骤计算得出的任务动态优先级进行排序,当目前的执行任务优先级乘以抢占阈值系数k的乘积,与目前最高动态优先级的任务做比较,若乘积大于最高动态优先级则进入步骤5,若乘积小于最高动态优先级则由任务抢占系统资源开始执行,在任务抢占系统资源开始执行后,还与等待任务同时计算动态优先级,进行动态调度。
[0034]本专利技术对比现有技术有如下的有益效果:本专利技术对持续集成系统的构建任务进行动态优先本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种持续集成系统的任务动态调度系统,其特征在于,系统包括构建节点分配模块、任务基本优先级分配模块、任务动态优先级调度模块、以及构建资源负载分析模块,其中:构建节点分配模块,用于根据构建任务的所需资源标签,将该构建任务分配到对应的构建节点;任务基本优先级分配模块,用于根据该构建任务的参数量化该构建任务的基础价值,并为各构建任务分配不同的权重参数,以调节每一个任务属性对总基础价值的影响大小;任务动态优先级调度模块,用于根据任务的剩余价值密度与执行紧迫性对构建任务进行动态调度;构建资源负载分析模块,用于根据各构建节点的任务执行负载情况,自动实现构建资源的包括扩容与伸缩在内的调整方案。2.根据权利要求1所述的持续集成系统的任务动态调度系统,其特征在于,构建节点分配模块进一步配置为:用户通过模板化步骤创建构建任务,其中每一个模板化步骤设定所需的环境资源标签,以标识每个步骤执行所依赖的对应的环境,当构建节点具有构建任务的所有资源标签合集时,该构建任务则分配到该对应的构建节点执行,当有多个构建节点均满足该构建任务时,则分配目前负载最低的构建节点来执行该构建任务。3.根据权利要求1所述的持续集成系统的任务动态调度系统,其特征在于,任务基本优先级分配模块中的构建任务的参数包括:任务用途、重要程度,任务类型,任务构建状态,被依赖的任务个数。4.根据权利要求1所述的持续集成系统的任务动态调度系统,其特征在于,任务动态优先级调度模块中的任务的剩余价值密度是由下述公式计算:其中,T表示任务预计执行时间,t表示已执行时间,V表示任务基础价值,m表示任务即时价值产生速度的变化大小。5.根据权利要求4所述的持续集成系统的任务动态调度系统,其特征在于,任务动态优先级调度模块中的任务的执行紧迫性是由下述公式计算:其中,T表示任务预计执行时间,t表示已执行时间,n用来调节任务紧迫性对任务动态优先级的影响大小,d表示任务截止时刻,τ表示当前时刻。6.根据权利要求5所述的持续集成系统的任务动态调度系统,其特征在于,通过调节m和n两个参数的大小来调节任务剩余价值密度与执行紧迫性对任务动态优先级的影响权重。7.根据权利要求6所述的持续集成系统的任务动态调度系统,其特征在于,任务动态优先级调度模块对构建任务进行动态调度的过程中,设置抢占阈值系数k,只有当等待任务中的动态优先级大于目前正在执行的任务动态优先级乘以抢占阈值系数k之后的乘...

【专利技术属性】
技术研发人员:李凡谢恒马克陈冬严
申请(专利权)人:上海金融期货信息技术有限公司
类型:发明
国别省市:

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

1