CN112286663B - 任务调度方法及装置 - Google Patents
任务调度方法及装置 Download PDFInfo
- Publication number
- CN112286663B CN112286663B CN202011190932.9A CN202011190932A CN112286663B CN 112286663 B CN112286663 B CN 112286663B CN 202011190932 A CN202011190932 A CN 202011190932A CN 112286663 B CN112286663 B CN 112286663B
- Authority
- CN
- China
- Prior art keywords
- task
- scheduling
- heterogeneous server
- heterogeneous
- tasks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供一种任务调度方法及装置,涉及计算机技术领域。任务调度方法包括:获取待调度的任务的数量和异构服务器的数量以及目标次数;根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务。本发明能够实现任务的动态分配,可以灵活调度异构服务器的系统资源,提高任务的分配和处理效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种任务调度方法及装置。
背景技术
在软件开发实践中,为实现产品更高效高质地交付,每个项目每天都会进行多次集成工作,每次集成包括构建打包、安装部署、静态代码扫描及自动化测试等多个模块。这些高频率、重复性的持续集成工作需要一些可以管理及控制其集成全过程的自动化工具。持续集成工具Jenkins由于其开源免费,有丰富的插件支持,用户界面友好灵活,以及易使用易维护等特点,是目前使用最多的持续集成工具。为减轻Jenkins服务器的压力,目前Jenkins一般使用Master/Slave模式将任务分配到Slave机器上执行。随着devops的推行,目前自动化集成需求越来越多,集成工作包含的模块也越来越丰富。此时Jenkins并行任务越来越多,为满足时效要求,增加Slave服务器是一种常见的方法,而多个Slave服务器并行,就涉及到Slave服务器资源调度问题。
任务资源调度是计算机领域的基础课题之一,其核心是调度算法。由于实际系统环境多为不同特性的Slave服务器组成的异构并行系统。Slave服务器特性不同,处理同一个任务的处理时间也不相同,这给异构并行系统下的任务分配带来了很大的挑战。
如何合理地将并行任务分配到这些异构的Slave服务器上执行,使任务更快完成,是目前亟待解决的问题。
发明内容
针对现有技术中的问题,本发明提供一种任务调度方法及装置,实现任务的动态分配,可以灵活调度异构服务器的系统资源,提高任务的分配和处理效率。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种任务调度方法,包括:
获取待调度的任务的数量和异构服务器的数量以及目标次数;其中,所述目标次数为每个任务在每台异构服务器上需要执行的最少次数;
根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;其中,所述调度表中的信息包括:每个任务在每台异构服务器上的平均执行时间ET、每台异构服务器上已分配的任务数量及任务的预期完成时间点PT、目标次数、每个任务在每台异构服务器上已执行的次数Dx;
基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;
根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务。
进一步的,在所述根据更新后的调度表对下一个任务进行调度之前,还包括:
在异构服务器执行完一个待调度的任务后更新所述调度表。
其中,所述基于所述调度表中的信息对当前任务进行调度,包括:
确定所述次数Dx中小于所述目标次数的第一异构服务器组;
将所述当前任务调度至所述第一异构服务器组中任意一台异构服务器。
进一步的,所述基于所述调度表中的信息对当前任务进行调度,还包括:
确定所述次数Dx中均大于或等于所述目标次数,则所有的异构服务器组成第二异构服务器组;
根据平均执行时间ET和预期完成时间点PT计算所述第二异构服务器组中所述当前任务在各个异构服务器上的任务预期完成时间;
其中,所述任务预期完成时间是将当前任务分别调度至第二异构服务器组中的各个异构服务器后,第二异构服务器组中的各个异构服务器完成所述当前任务的预期完成时间;
将所述当前任务调度至任务预期完成时间最短的异构服务器。
其中,所述在调度后更新所述调度表,包括:
对所述调度表中的当前任务在每台异构服务器上已执行的次数Dx、每台异构服务器上已分配的任务个数N和每台异构服务器上已分配的任务的预期完成时间点PT进行更新。
其中,所述在异构服务器执行完一个待调度的任务后更新所述调度表,包括:
对所述调度表中的当前任务在每台异构服务器上已执行的次数Dx、每台异构服务器上已分配的任务个数N、每台异构服务器上已分配的任务的预期完成时间点PT和当前任务在每台异构服务器上的平均执行时间ET进行更新。
第二方面,本发明提供一种任务调度装置,包括:
获取单元,用于获取待调度的任务的数量和异构服务器的数量以及目标次数;其中,所述目标次数为每个任务在每台异构服务器上需要执行的最少次数;
生成单元,用于根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;其中,所述调度表中的信息包括:每个任务在每台异构服务器上的平均执行时间ET、每台异构服务器上已分配的任务数量及任务的预期完成时间点PT、目标次数、每个任务在每台异构服务器上已执行的次数Dx;
调度单元,用于基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;
迭代单元,用于根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务。
进一步的,还包括:
更新单元,用于在异构服务器执行完一个待调度的任务后更新所述调度表。
其中,所述调度单元包括:
第一判断用于,用于确定所述次数Dx中小于所述目标次数的第一异构服务器组;
第一调度模块,用于将所述当前任务调度至所述第一异构服务器组中任意一台异构服务器。
进一步的,所述调度单元还包括:
第二判断模块,用于确定所述次数Dx中均大于或等于所述目标次数,则所有的异构服务器组成第二异构服务器组;
计算模块,用于根据平均执行时间ET和预期完成时间点PT计算所述第二异构服务器组中所述当前任务在各个异构服务器上的任务预期完成时间;
其中,所述任务预期完成时间是将当前任务分别调度至第二异构服务器组中的各个异构服务器后,第二异构服务器组中的各个异构服务器完成所述当前任务的预期完成时间;
第二调度模块,用于将所述当前任务调度至任务预期完成时间最短的异构服务器。
其中,所述调度单元包括:
第一更新模块,用于对所述调度表中的当前任务在每台异构服务器上已执行的次数Dx、每台异构服务器上已分配的任务个数N和每台异构服务器上已分配的任务的预期完成时间点PT进行更新。
其中,所述更新单元包括:
第二更新模块,用于对所述调度表中的当前任务在每台异构服务器上已执行的次数Dx、每台异构服务器上已分配的任务个数N、每台异构服务器上已分配的任务的预期完成时间点PT和当前任务在每台异构服务器上的平均执行时间ET进行更新。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的任务调度方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的任务调度方法的步骤。
由上述技术方案可知,本发明提供一种任务调度方法及装置,通过获取待调度的任务的数量和异构服务器的数量以及目标次数;其中,所述目标次数为每个任务在每台异构服务器上需要执行的最少次数;根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;其中,所述调度表中的信息包括:每个任务在每台异构服务器上的平均执行时间ET、每台异构服务器上已分配的任务数量及任务的预期完成时间点PT、目标次数、每个任务在每台异构服务器上已执行的次数Dx;基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务,能够实现任务的动态分配,可以灵活调度异构服务器的系统资源,最小化任务的完成时间,进而提高任务的分配和处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的任务调度方法的第一流程示意图。
图2为本发明实施例中的任务调度方法的第二流程示意图。
图3为本发明实施例中的任务调度方法中步骤S102的第一流程示意图。
图4为本发明实施例中的任务调度方法中步骤S102的第二流程示意图。
图5为本发明全流程实施例的流程示意图。
图6为本发明实施例中的任务调度装置的结构示意图。
图7为本发明实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的任务调度方法是在异构系统下关于Jenkins的任务调度的方法,本发明提供的任务调度方法不改变Jenkins为任务设定好的调度顺序,仅涉及任务的分配或调度。考虑到实际执行任务的过程中受各类因素的影响,任务每次的执行时间并不是相等的,而是随机的、类似正态分布的。为保证预期的任务执行时间更准确、更接近实际执行时间,本发明提供的任务调度方法使用平均执行时间来代替任务执行时间。
需要说明的是,本发明提供的任务调度方法设置:至少将任务分配在每个异构服务器上执行d次来获取的平均执行时间。d值的大小可根据实际情况进行调节,比如异构服务器数量较少或每次任务执行时间差较大时,可适当将d值设定大一点,以获取更加准确的平均任务执行时间;异构服务器数量较多或者任务执行时间较稳定时,可适当将d值设定小一点,以避免多次无意义地将任务分配在执行时间很长的异构服务器上执行。
本发明提供一种任务调度方法的实施例,将Jenkins需要调度的并行任务模拟为一个由n个任务组成的集合V={V1,V2,...,Vi,...,Vn}(1≦i≦n);将Jenkins的异构服务器模拟为一个由p个异构的服务器组成的集合S={S1,S2,...,Sj,...,Sp}(1≦j≦p);来进行详细说明,参见图1,所述任务调度方法具体包含有如下内容:
S101:获取待调度的任务的数量和异构服务器的数量以及目标次数;其中,所述目标次数为每个任务在每台异构服务器上需要执行的最少次数;
在本步骤中,待调度的任务的数量即为需要调度的并行任务,由n个任务组成的集合V={V1,V2,...,Vi,...,Vn}(1≦i≦n);其中,Vi表示n个任务中的第i个任务。异构服务器的数量即:由p个异构的服务器组成的集合S={S1,S2,...,Sj,...,Sp}(1≦j≦p);Sj表示p个异构服务器中的第j个异构服务器。
需要说明的是,目标次数为每个任务在每台异构服务器上需要执行的最少次数,即任务需在每台异构服务器上执行的最少次数d。将任务分配在每个异构服务器上执行最少次数d来获取的平均执行时间。可以理解的是,d值的大小可根据实际情况进行调节。
S102:根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;其中,所述调度表中的信息包括:每个任务在每台异构服务器上的平均执行时间ET、每台异构服务器上已分配的任务数量及任务的预期完成时间点PT、目标次数、每个任务在每台异构服务器上已执行的次数Dx;
在本步骤中,定义了一张Jenkins任务调度信息的调度表,该调度表用于存储任务信息和异构服务器信息。
在本实施例中,该调度表包括以下信息:
(1)任务在异构服务器上已执行的次数D;其中,Di,j代表任务Vi在异构服务器Sj上已执行的次数。
(2)任务需在异构服务器上执行的最少次数d;
可以理解的是,最少次数d也就是目标次数,且p个异构服务器中均需要执行的最少次数d相同。
(3)任务在异构服务器上的平均执行时间ET;其中,ETi,j代表任务Vi在异构服务器Sj上的平均执行时间。
可以理解的是,同时定义当任务Vi未在异构服务器Sj上执行过时,初始化ETi,j=0。例如任务Vi第一次执行或异构服务器Sj为新增的服务器时。
(4)异构服务器上已分配的任务个数N;其中,Nj为异构服务器Sj上已分配的任务个数。
(5)异构服务器上已分配的任务的预期完成时间点PT;其中,PTi,j为任务Vi在异构服务器Sj上的预期完成时间点。
可以理解的是,同时定义当任务Vi在未被分配在异构服务器Sj上执行时,PTi,j=0。
(6)异构服务器可同时处理的任务个数P;其中,Pj为异构服务器Sj可同时处理的任务个数。
在本步骤中,根据待调度的任务的数量、异构服务器的数量和目标次数生成调度表。
可以理解的是,待调度任务中的当前任务x在p台异构服务器上已执行的次数为Dx,Dx组成的集合为{Dx1,Dx2,...,Dxj,...,Dxp}(1≦j≦p,p为异构服务器的数量)。
S103:基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;
在本步骤中,在任务进行调度时,先将当前任务分配给还未在异构服务器上执行d次的异构服务器;即:p个异构服务器执行待调度的任务中当前任务x的次数Dx小于目标次数(d次)的异构服务器。也就是{Dx1,Dx2,...,Dxj,...,Dxp}中所有小于d次的异构服务器。
当在所有异构服务器上均已执行至少d次时,再根据平均等待时间和平均执行时间来选取最合适的异构服务器。即:次数Dx中所有值均大于或等于d次时,根据异构服务器的平均等待时间和平均执行时间来选取最合适的异构服务器。最合适的异构服务器即为执行当前任务x的异构服务器。
需要说明的是,当对当前任务x分配或调度了异构服务器,则调度表中包括的信息发生了改变,具体是调度表中的:异构服务器上已分配的任务个数N和异构服务器上已分配的任务的预期完成时间点PT发生变,需要对调度表中的信息进行更新。
S104:根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务。
在本步骤中,根据更新后的调度表对待调度任务中的下一个任务进行调度,具体按照步骤S103中的方式将下一个任务分配或调度一个异构服务器,然后再次更的调度表。根据再次更新的对下下个任务分配或调度一个异构服务器,直至所有待调度的任务均完成调度。
从上述描述可知,本发明实施例提供的任务调度方法,通过获取待调度的任务的数量和异构服务器的数量以及目标次数;其中,所述目标次数为每个任务在每台异构服务器上需要执行的最少次数;根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;其中,所述调度表中的信息包括:每个任务在每台异构服务器上的平均执行时间ET、每台异构服务器上已分配的任务数量及任务的预期完成时间点PT、目标次数、每个任务在每台异构服务器上已执行的次数Dx;基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务,能够实现任务的动态分配,可以灵活调度异构服务器的系统资源,最小化任务的完成时间,进而提高任务的分配和处理效率。
在本发明的一种实施例中,参见图2,在所述任务调度方法中的步骤S104之前,还包含有步骤S105,具体包含有如下内容:
S105:在异构服务器执行完一个待调度的任务后更新所述调度表。
在本步骤中,任意一异构服务器在执行完任意一个带调度的任务后,该异构服务器上的:任务在异构服务器上已执行的次数D、任务在异构服务器上的平均执行时间ET、异构服务器上已分配的任务个数N和异构服务器上已分配的任务的预期完成时间点PT均发生变更,需要对任务后的调度表进行更新,以使对待调度的任务进行调度时,能够按照最新的调度表对任务进行调度,进而提高任务调度的准确性。
从上述描述可知,本实施例中在任务执行完成后能够对调度表进行更新,进而提高提高任务调度的准确性。
在本发明的一实施例中,提供所述任务调度方法的步骤S102一种具体实现方式,参见图3,具体包含有如下内容:
S1021:确定所述次数Dx中小于所述目标次数的第一异构服务器组;
在本步骤中,在任务进行调度时,先将当前任务分配给还未在异构服务器上执行d次的异构服务器;即:p个异构服务器执行待调度的任务中当前任务x的次数Dx小于目标次数(d次)的异构服务器,也就是{Dx1,Dx2,...,Dxj,...,Dxp}中所有小于d次的异构服务器,也就是第一异构服务器组。
S1022:将所述当前任务调度至所述第一异构服务器组中任意一台异构服务器。
在本步骤中,采用随机的方式将当前任务调度至第一异构服务器组中的异构服务器,完成当前任务的调度。
在本发明的一实施例中,所述任务调度方法的步骤S102一种具体实现方式中还包括步骤S1023、步骤S1024和步骤S1025,参见图4,具体包含有如下内容:
S1023:确定所述次数Dx中均大于或等于所述目标次数,则所有的异构服务器组成第二异构服务器组;
在本步骤中,在任务进行调度时,当在所有异构服务器上均已执行至少d次时,即次数Dx中所有值均大于或等于d次时,所有的异构服务器组成第二异构服务器组。
S1024:根据平均执行时间ET和预期完成时间点PT计算所述第二异构服务器组中所述当前任务在各个异构服务器上的任务预期完成时间;
其中,所述任务预期完成时间是将当前任务分别调度至第二异构服务器组中的各个异构服务器后,第二异构服务器组中的各个异构服务器完成所述当前任务的预期完成时间;
确定第二异构服务器组中各个异构服务器各自的任务预期完成时间。任务预期完成时间的长或短,表明异构服务器能够较慢或较快的执行完其对应的任务,进而可以确定最先完成其任务的异构服务器,即该异构服务器是最先空闲的服务器,可以将任务调度至该异构服务器。
在本步骤中,将当前任务分别调度至第二异构服务器组中的各个异构服务器后,计算各个异构服务器完成各自任务所需要的完成时间;根据将当前任务分别调度至各个异构服务器后的完成时间来确定较快的执行完其对应的任务的异构服务器。
在计算各个异构服务器各自对应的完成时间时,是根据异构服务器的平均等待时间和平均执行时间来选取最合适的异构服务器。最合适的异构服务器即为执行当前任务x的异构服务器。
以下以任务Vi调度至异构服务器Sj为例,对异构服务器的完成时间进行说明,具体包括:
当Nj<Pj时,一旦分配可立即执行,此时PTi,j为当前时间点T+ETi,j;
当Nj≧Pj时,在Sj上执行还需等待(Nj-Pj+1)个任务完成后才可执行。将Sj上PTi,j的值进行排序,取出第(Nj-Pj+1)个完成的任务Vm的预期完成时间点PTm,j,此时PTi,j=PTm,j+ETi,j;
其中,Nj为异构服务器Sj上已分配的任务个数,Pj为异构服务器Sj可同时处理的任务个数,PTi,j为任务Vi在异构服务器Sj上的预期完成时间点(即完成时间),T为当前时间点,ETi,j代表任务Vi在异构服务器Sj上的平均执行时间。
S1025:将所述当前任务调度至任务预期完成时间最短的异构服务器。
在本步骤中,将当前任务调度至任务预期完成时间最短的异构服务器,能够最大限度的调动异构服务器的资源,提升任务的处理效率。
在本发明的一实施例中,所述在调度后更新所述调度表,包括:
对所述调度表中的当前任务在每台异构服务器上已执行的次数Dx、每台异构服务器上已分配的任务个数N和每台异构服务器上已分配的任务的预期完成时间点PT进行更新。
在调度后,处理当前任务的异构服务器上的执行该当前任务的次数加1;
处理当前任务的异构服务器上已分配的任务个数加1;
处理当前任务的异构服务器上预期完成时间点PT采用下式进行计算(以下以任务Vi调度至异构服务器Sj为例进行说明):
当Nj<Pj时,一旦分配可立即执行,此时PTi,j为当前时间点T+ETi,j;
当Nj≧Pj时,在Sj上执行还需等待(Nj-Pj+1)个任务完成后才可执行。将Sj上PTi,j的值进行排序,取出第(Nj-Pj+1)个完成的任务Vm的预期完成时间点PTm,j,此时PTi,j=PTm,j+ETi,j;
其中,Nj为异构服务器Sj上已分配的任务个数,Pj为异构服务器Sj可同时处理的任务个数,PTi,j为任务Vi在异构服务器Sj上的预期完成时间点(即完成时间),T为当前时间点,ETi,j代表任务Vi在异构服务器Sj上的平均执行时间。
在本发明的一实施例中,在异构服务器执行完一个待调度的任务后更新所述调度表,包括:
对所述调度表中的当前任务在每台异构服务器上已执行的次数Dx、每台异构服务器上已分配的任务个数N、每台异构服务器上已分配的任务的预期完成时间点PT和当前任务在每台异构服务器上的平均执行时间ET进行更新。
在调度后,处理当前任务的异构服务器上的执行该当前任务的次数加1;
处理当前任务的异构服务器上已分配的任务个数减1;
处理当前任务的异构服务器上预期完成时间点PT采用下式进行计算(以下以任务Vi调度至异构服务器Sj为例进行说明):
当Nj<Pj时,一旦分配可立即执行,此时PTi,j为当前时间点T+ETi,j;
当Nj≧Pj时,在Sj上执行还需等待(Nj-Pj+1)个任务完成后才可执行。将Sj上PTi,j的值进行排序,取出第(Nj-Pj+1)个完成的任务Vm的预期完成时间点PTm,j,此时PTi,j=PTm,j+ETi,j;
当前任务在每台异构服务器上的平均执行时间ET采用下式进行计算(以下以任务Vi调度至异构服务器Sj为例进行说明):
ETi,j(NEW)=(ETi,j(OLD)xDi,j+RT)/(Di,j+1);
其中,Nj为异构服务器Sj上已分配的任务个数,Pj为异构服务器Sj可同时处理的任务个数,PTi,j为任务Vi在异构服务器Sj上的预期完成时间点(即完成时间),T为当前时间点,ETi,j代表任务Vi在异构服务器Sj上的平均执行时间。
为进一步地说明本方案,本发明提供一种任务调度方法的全流程实施例,当Jenkins为任务Vi分配异构服务器时,参见图5,所述任务调度方法具体包含有如下内容:
S1:获取Jenkins任务调度信息表中数据。
该数据包括:任务Vi在异构服务器Sj上已执行的次数Di,j;任务需在每台异构服务器上执行的最少次数d;任务Vi在异构服务器Sj上的平均执行时间ETi,j;异构服务器Sj上已分配的任务个数Nj;将任务Vi调度之异构服务器Sj后异构服务器Sj上已分配的任务的预期完成时间点PTi,j;异构服务器Sj可同时处理的任务个数Pj。
S2:是否还有待分配的任务在其上执行少于d次的异构服务器。
根据Di,j值的不同分以下两个场景使用不同分配方式进行任务分配,当还有待分配的任务在其上执行少于d次的异构服务器,即当存在Di,j<d时,执行步骤S3。
根据Di,j值的不同分以下两个场景使用不同分配方式进行任务分配,当不存在待分配的任务在其上执行少于d次的异构服务器,即当不存在Di,j<d时,执行步骤S5。
S3:随机将任务分配给未达到执行次数d的Sj;
S4:更新Jenkins任务调度信息表中相关数据。
更新任务调度信息表中PTi,j的值,同时更新Sj上已分配的任务个数Nj的值为Nj+1;
S5:计算任务Vi被分配在每个异构服务器上执行时的预期完成时间点PTi,j,主要包括以下两个情况:
(1-1)当Nj<Pj时,一旦分配可立即执行,此时PTi,j为当前时间点T+ETi,j;
(1-2)当Nj≧Pj时,在Sj上执行还需等待(Nj-Pj+1)个任务完成后才可执行。将Sj上PTi,j的值进行排序,取出第(Nj-Pj+1)个完成的任务Vm的预期完成时间点PTm,j,此时PTi,j=PTm,j+ETi,j;
S6:将任务Vi分配给PT值最小的异构服务器Sj,当任务Vi在异构服务器Sj执行完成后,根据实际执行时间RT计算并更新任务调度信息表中Vi在Sj上的平均执行时间ETi,j,ETi,j(NEW)=(ETi,j(OLD)xDi,j+RT)/(Di,j+1);同时更新PTi,j的值,更新Di,j的值为Di,j+1,更新Nj的值为Nj-1。
从上述描述可知,本发明提供一种任务调度方法的实施例,考虑实际执行过程中受各类因素的影响,任务每次的执行时间是随机的、类似正态分布的,本发明使用平均执行时间代替某一次的执行时间,使预期的任务执行时间更准确、更接近实际执行时间。为获取合理的平均执行时间,本发明将最少执行次数设定为一个变量值,可根据实际系统环境和执行情况进行快速调整。根据任务在当时情况下在异构服务器上的最早预期完成时间点来进行资源的动态分配,可以灵活调度系统资源,最小化任务完成时间。
本发明实施例提供一种能够实现所述任务调度方法中全部内容的任务调度装置的具体实施方式,参见图6,所述任务调度装置具体包括如下内容:
获取单元10,用于获取待调度的任务的数量和异构服务器的数量以及目标次数;其中,所述目标次数为每个任务在每台异构服务器上需要执行的最少次数;
生成单元20,用于根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;其中,所述调度表中的信息包括:每个任务在每台异构服务器上的平均执行时间ET、每台异构服务器上已分配的任务数量及任务的预期完成时间点PT、目标次数、每个任务在每台异构服务器上已执行的次数Dx;
调度单元30,用于基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;
迭代单元40,用于根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务。
进一步的,还包括:
更新单元50,用于在异构服务器执行完一个待调度的任务后更新所述调度表。
其中,所述调度单元包括:
第一判断用于,用于确定所述次数Dx中小于所述目标次数的第一异构服务器组;
第一调度模块,用于将所述当前任务调度至所述第一异构服务器组中任意一台异构服务器。
进一步的,所述调度单元还包括:
第二判断模块,用于确定所述次数Dx中均大于或等于所述目标次数,则所有的异构服务器组成第二异构服务器组;
计算模块,用于根据平均执行时间ET和预期完成时间点PT计算所述第二异构服务器组中所述当前任务在各个异构服务器上的任务预期完成时间;
其中,所述任务预期完成时间是将当前任务分别调度至第二异构服务器组中的各个异构服务器后,第二异构服务器组中的各个异构服务器完成所述当前任务的预期完成时间;
第二调度模块,用于将所述当前任务调度至任务预期完成时间最短的异构服务器。
其中,所述调度单元包括:
第一更新模块,用于对所述调度表中的当前任务在每台异构服务器上已执行的次数Dx、每台异构服务器上已分配的任务个数N和每台异构服务器上已分配的任务的预期完成时间点PT进行更新。
其中,所述更新单元包括:
第二更新模块,用于对所述调度表中的当前任务在每台异构服务器上已执行的次数Dx、每台异构服务器上已分配的任务个数N、每台异构服务器上已分配的任务的预期完成时间点PT和当前任务在每台异构服务器上的平均执行时间ET进行更新。
本发明提供的任务调度装置的实施例具体可以用于执行上述实施例中的任务调度方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
从上述描述可知,本发明实施例提供的任务调度装置,通过获取待调度的任务的数量和异构服务器的数量以及目标次数;其中,所述目标次数为每个任务在每台异构服务器上需要执行的最少次数;根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;其中,所述调度表中的信息包括:每个任务在每台异构服务器上的平均执行时间ET、每台异构服务器上已分配的任务数量及任务的预期完成时间点PT、目标次数、每个任务在每台异构服务器上已执行的次数Dx;基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务,能够实现任务的动态分配,可以灵活调度异构服务器的系统资源,最小化任务的完成时间,进而提高任务的分配和处理效率。
本申请提供一种用于实现所述任务调度方法中的全部或部分内容的电子设备的实施例所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现所述任务调度方法的实施例及用于实现所述任务调度装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图7为本申请实施例的电子设备9600的系统构成的示意框图。如图7所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图7是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,任务调度功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
获取待调度的任务的数量和异构服务器的数量以及目标次数;其中,所述目标次数为每个任务在每台异构服务器上需要执行的最少次数;
根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;其中,所述调度表中的信息包括:每个任务在每台异构服务器上的平均执行时间ET、每台异构服务器上已分配的任务数量及任务的预期完成时间点PT、目标次数、每个任务在每台异构服务器上已执行的次数Dx;
基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;
根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务。
从上述描述可知,本申请的实施例提供的电子设备,通过获取待调度的任务的数量和异构服务器的数量以及目标次数;其中,所述目标次数为每个任务在每台异构服务器上需要执行的最少次数;根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;其中,所述调度表中的信息包括:每个任务在每台异构服务器上的平均执行时间ET、每台异构服务器上已分配的任务数量及任务的预期完成时间点PT、目标次数、每个任务在每台异构服务器上已执行的次数Dx;基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务,能够实现任务的动态分配,可以灵活调度异构服务器的系统资源,最小化任务的完成时间,进而提高任务的分配和处理效率。
在另一个实施方式中,任务调度装置可以与中央处理器9100分开配置,例如可以将任务调度配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现任务调度功能。
如图7所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图7中所示的所有部件;此外,电子设备9600还可以包括图7中没有示出的部件,可以参考现有技术。
如图7所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本发明的实施例还提供能够实现上述实施例中的任务调度方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的任务调度方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
获取待调度的任务的数量和异构服务器的数量以及目标次数;其中,所述目标次数为每个任务在每台异构服务器上需要执行的最少次数;
根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;其中,所述调度表中的信息包括:每个任务在每台异构服务器上的平均执行时间ET、每台异构服务器上已分配的任务数量及任务的预期完成时间点PT、目标次数、每个任务在每台异构服务器上已执行的次数Dx;
基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;
根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务。
从上述描述可知,本发明实施例提供的计算机可读存储介质,通过获取待调度的任务的数量和异构服务器的数量以及目标次数;其中,所述目标次数为每个任务在每台异构服务器上需要执行的最少次数;根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;其中,所述调度表中的信息包括:每个任务在每台异构服务器上的平均执行时间ET、每台异构服务器上已分配的任务数量及任务的预期完成时间点PT、目标次数、每个任务在每台异构服务器上已执行的次数Dx;基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务,能够实现任务的动态分配,可以灵活调度异构服务器的系统资源,最小化任务的完成时间,进而提高任务的分配和处理效率。
虽然本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本领域技术人员应明白,本说明书的实施例可提供为方法、装置(系统)或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种任务调度方法,其特征在于,包括:
获取待调度的任务的数量和异构服务器的数量以及目标次数;其中,所述目标次数为每个任务在每台异构服务器上需要执行的最少次数;
根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;其中,所述调度表中的信息包括:每个任务在每台异构服务器上的平均执行时间ET、每台异构服务器上已分配的任务数量及任务的预期完成时间点PT、目标次数、每个任务在每台异构服务器上已执行的次数Dx;
基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;
根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务;
所述基于所述调度表中的信息对当前任务进行调度,包括:
确定所述次数Dx中小于所述目标次数的第一异构服务器组;
将所述当前任务调度至所述第一异构服务器组中任意一台异构服务器;
所述基于所述调度表中的信息对当前任务进行调度,还包括:
确定所述次数Dx中均大于或等于所述目标次数,则所有的异构服务器组成第二异构服务器组;
根据平均执行时间ET和预期完成时间点PT计算所述第二异构服务器组中所述当前任务在各个异构服务器上的任务预期完成时间;
其中,所述任务预期完成时间是将当前任务分别调度至第二异构服务器组中的各个异构服务器后,第二异构服务器组中的各个异构服务器完成所述当前任务的预期完成时间;
将所述当前任务调度至任务预期完成时间最短的异构服务器。
2.根据权利要求1所述的任务调度方法,其特征在于,在所述根据更新后的调度表对下一个任务进行调度之前,还包括:
在异构服务器执行完一个待调度的任务后更新所述调度表。
3.根据权利要求1所述的任务调度方法,其特征在于,所述在调度后更新所述调度表,包括:
对所述调度表中的当前任务在每台异构服务器上已执行的次数Dx、每台异构服务器上已分配的任务个数N和每台异构服务器上已分配的任务的预期完成时间点PT进行更新。
4.根据权利要求2所述的任务调度方法,其特征在于,所述在异构服务器执行完一个待调度的任务后更新所述调度表,包括:
对所述调度表中的当前任务在每台异构服务器上已执行的次数Dx、每台异构服务器上已分配的任务个数N、每台异构服务器上已分配的任务的预期完成时间点PT和当前任务在每台异构服务器上的平均执行时间ET进行更新。
5.一种任务调度装置,其特征在于,包括:
获取单元,用于获取待调度的任务的数量和异构服务器的数量以及目标次数;其中,所述目标次数为每个任务在每台异构服务器上需要执行的最少次数;
生成单元,用于根据所述待调度的任务的数量、所述异构服务器的数量和所述目标次数生成调度表;其中,所述调度表中的信息包括:每个任务在每台异构服务器上的平均执行时间ET、每台异构服务器上已分配的任务数量及任务的预期完成时间点PT、目标次数、每个任务在每台异构服务器上已执行的次数Dx;
调度单元,用于基于所述调度表中的信息对当前任务进行调度,并在调度后更新所述调度表;
迭代单元,用于根据更新后的调度表对待调度任务中的下一个任务进行调度,直至调度完成所有的待调度任务;
所述调度单元包括:
第一判断用于,用于确定所述次数Dx中小于所述目标次数的第一异构服务器组;
第一调度模块,用于将所述当前任务调度至所述第一异构服务器组中任意一台异构服务器;
所述调度单元还包括:
第二判断模块,用于确定所述次数Dx中均大于或等于所述目标次数,则所有的异构服务器组成第二异构服务器组;
计算模块,用于根据平均执行时间ET和预期完成时间点PT计算所述第二异构服务器组中所述当前任务在各个异构服务器上的任务预期完成时间;
其中,所述任务预期完成时间是将当前任务分别调度至第二异构服务器组中的各个异构服务器后,第二异构服务器组中的各个异构服务器完成所述当前任务的预期完成时间;
第二调度模块,用于将所述当前任务调度至任务预期完成时间最短的异构服务器。
6.根据权利要求5所述的任务调度装置,其特征在于,还包括:
更新单元,用于在异构服务器执行完一个待调度的任务后更新所述调度表。
7.根据权利要求5所述的任务调度装置,其特征在于,所述调度单元包括:
第一更新模块,用于对所述调度表中的当前任务在每台异构服务器上已执行的次数Dx、每台异构服务器上已分配的任务个数N和每台异构服务器上已分配的任务的预期完成时间点PT进行更新。
8.根据权利要求6所述的任务调度装置,其特征在于,所述更新单元包括:
第二更新模块,用于对所述调度表中的当前任务在每台异构服务器上已执行的次数Dx、每台异构服务器上已分配的任务个数N、每台异构服务器上已分配的任务的预期完成时间点PT和当前任务在每台异构服务器上的平均执行时间ET进行更新。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述的任务调度方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述的任务调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011190932.9A CN112286663B (zh) | 2020-10-30 | 2020-10-30 | 任务调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011190932.9A CN112286663B (zh) | 2020-10-30 | 2020-10-30 | 任务调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112286663A CN112286663A (zh) | 2021-01-29 |
CN112286663B true CN112286663B (zh) | 2023-09-01 |
Family
ID=74353392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011190932.9A Active CN112286663B (zh) | 2020-10-30 | 2020-10-30 | 任务调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286663B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459645A (zh) * | 2020-04-22 | 2020-07-28 | 百度在线网络技术(北京)有限公司 | 一种任务调度方法、装置和电子设备 |
CN111782360A (zh) * | 2020-06-28 | 2020-10-16 | 中国工商银行股份有限公司 | 分布式任务调度方法及装置 |
-
2020
- 2020-10-30 CN CN202011190932.9A patent/CN112286663B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459645A (zh) * | 2020-04-22 | 2020-07-28 | 百度在线网络技术(北京)有限公司 | 一种任务调度方法、装置和电子设备 |
CN111782360A (zh) * | 2020-06-28 | 2020-10-16 | 中国工商银行股份有限公司 | 分布式任务调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112286663A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110648054B (zh) | 机器人流程自动化的任务并行处理方法及装置 | |
US10572285B2 (en) | Method and apparatus for elastically scaling virtual machine cluster | |
CN107944566B (zh) | 一种机器学习方法、主节点、工作节点及系统 | |
CN112445575B (zh) | 多集群资源调度方法、装置及系统 | |
CN110851253B (zh) | 一种远程运维的方法、系统、存储介质及电子设备 | |
CN106302780B (zh) | 集群设备批量传输数据的方法、装置及系统、服务器 | |
CN111274033B (zh) | 一种资源部署方法、装置、服务器以及存储介质 | |
CN111796838A (zh) | Mpp数据库自动部署方法及装置 | |
CN114610499A (zh) | 任务调度方法、装置、计算机可读存储介质及电子设备 | |
CN113419846A (zh) | 资源配置方法和装置、电子设备及计算机可读存储介质 | |
CN112905338B (zh) | 计算资源自动分配方法及装置 | |
CN112286663B (zh) | 任务调度方法及装置 | |
CN114266357A (zh) | 联邦学习模型构建方法、装置、中心服务器以及客户端 | |
CN110764911A (zh) | 基于订单的资源调度方法、装置和控制系统 | |
CN113051245A (zh) | 用于迁移数据的方法、装置及系统 | |
CN111355751A (zh) | 任务调度方法及装置 | |
CN109871226B (zh) | 下载器的配置方法、装置、介质及电子设备 | |
CN111158885B (zh) | 作业调度系统中并发度控制方法及装置 | |
CN113360411A (zh) | 基于并行变异测试的代码覆盖率检测方法及装置 | |
CN112559158A (zh) | 微服务定时任务调度方法及装置 | |
CN110554906A (zh) | 虚拟机配置管理方法及装置 | |
CN111126604A (zh) | 模型训练方法、装置、服务器及存储介质 | |
CN109634653A (zh) | 一种基于组件化架构的资源配置方法及装置 | |
CN111414232B (zh) | 虚拟机模板数据处理方法及装置 | |
CN111176830A (zh) | 信息流的分配方法、装置及服务器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |