CN112685132A - 一种koji任务执行方法、装置、设备及可读存储介质 - Google Patents

一种koji任务执行方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN112685132A
CN112685132A CN202011547011.3A CN202011547011A CN112685132A CN 112685132 A CN112685132 A CN 112685132A CN 202011547011 A CN202011547011 A CN 202011547011A CN 112685132 A CN112685132 A CN 112685132A
Authority
CN
China
Prior art keywords
koji
tasks
temporary
available
resource
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.)
Granted
Application number
CN202011547011.3A
Other languages
English (en)
Other versions
CN112685132B (zh
Inventor
王文宽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN202011547011.3A priority Critical patent/CN112685132B/zh
Priority claimed from CN202011547011.3A external-priority patent/CN112685132B/zh
Publication of CN112685132A publication Critical patent/CN112685132A/zh
Application granted granted Critical
Publication of CN112685132B publication Critical patent/CN112685132B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请公开了一种koji任务执行方法、装置、设备及可读存储介质。本申请公开的方法包括:获取并基于yaml文件生成多个koji任务;若koji任务的数量大于当前的可用进程集中的进程数量,且专用资源集中的可用资源量小于预设阈值,则基于临时资源集创建临时进程,并将临时进程添加至可用进程集,得到更新进程集;将多个koji任务分发至更新进程集中的各个进程,以利用更新进程集中的各个进程执行多个koji任务。本申请不构建可执行多个koji任务的、专用于编译的资源池,而是利用其它临时资源分担一部分koji任务,既可顺利完成任务,又不会在任务完成后造成资源闲置,避免了资源浪费。本申请提供的一种koji任务执行装置、设备及可读存储介质,也同样具有上述技术效果。

Description

一种koji任务执行方法、装置、设备及可读存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种koji任务执行方法、装置、设备及可读存储介质。
背景技术
构建操作***的RPM(Redhat Package Manager)包时,需要执行多个koji任务,此时需要大量的计算资源。为此,需要构建专用于编译的设备资源池,以完成这些koji任务。但由于所构建的设备资源池专用于执行koji任务,因此RPM包构建完成后,这些设备资源会闲置,造成了资源浪费。其中,Koji为构建RPM包的软件工具,koji任务即基于Koji工具构建RPM包所需要执行的计算任务。
因此,如何避免专用于编译的设备资源闲置,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种koji任务执行方法、装置、设备及可读存储介质,以避免专用于编译的设备资源池闲置。其具体方案如下:
第一方面,本申请提供了一种koji任务执行方法,包括:
获取yaml文件,并基于所述yaml文件生成多个koji任务;
若所述koji任务的数量大于当前的可用进程集中的进程数量,且专用资源集中的可用资源量小于预设阈值,则基于临时资源集创建临时进程,并将所述临时进程添加至所述可用进程集,得到更新进程集;所述专用资源集包括专用于编译的设备资源;所述临时资源集包括临时用于编译的设备资源;
将所述多个koji任务分发至所述更新进程集中的各个进程,以利用所述更新进程集中的各个进程执行所述多个koji任务。
优选地,还包括:
若所述koji任务的数量不大于所述进程数量,则将所述多个koji任务分发至所述可用进程集中的各个进程,以利用所述可用进程集中的各个进程执行所述多个koji任务。
优选地,还包括:
若所述专用资源集中的可用资源量不小于所述预设阈值,则基于所述专用资源集创建目标进程;
将所述目标进程添加至所述可用进程集,得到所述更新进程集,并执行所述将所述多个koji任务分发至所述更新进程集中的各个进程,以利用所述更新进程集中的各个进程执行所述多个koji任务的步骤。
优选地,所述基于临时资源集创建临时进程之前,还包括:
判断所述临时资源集中的可用资源量是否小于所述预设阈值;
若否,则执行所述基于临时资源集创建临时进程的步骤。
优选地,还包括:
若所述临时资源集中的可用资源量小于所述预设阈值,则从所述多个koji任务中选择当前可执行的目标任务;
将所述目标任务分发至所述可用进程集中的各个进程,以利用所述可用进程集中的各个进程执行所述目标任务,并将所述多个koji任务中除所述目标任务外的任务添加至等待队列。
优选地,所述基于临时资源集创建临时进程,包括:
查询所述临时资源集中是否存在停用的原设备;所述原设备为虚拟机或容器;
若是,则在所述原设备中创建所述临时进程;
若否,则基于所述临时资源集创建新设备,并在所述新设备中创建所述临时进程。
优选地,还包括:
在所述多个koji任务执行完成后,若所述原设备和/或所述新设备在预设时长内未使用,则删除所述原设备和/或所述新设备。
第二方面,本申请提供了一种koji任务执行装置,包括:
生成模块,用于获取yaml文件,并基于所述yaml文件生成多个koji任务;
执行模块,用于若所述koji任务的数量大于当前的可用进程集中的进程数量,且专用资源集中的可用资源量小于预设阈值,则基于临时资源集创建临时进程,并将所述临时进程添加至所述可用进程集,得到更新进程集;所述专用资源集包括专用于编译的设备资源;所述临时资源集包括临时用于编译的设备资源;
分发模块,用于将所述多个koji任务分发至所述更新进程集中的各个进程,以利用所述更新进程集中的各个进程执行所述多个koji任务。
第三方面,本申请提供了一种koji任务执行设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的koji任务执行方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的koji任务执行方法。
通过以上方案可知,本申请提供了一种koji任务执行方法,包括:获取yaml文件,并基于所述yaml文件生成多个koji任务;若所述koji任务的数量大于当前的可用进程集中的进程数量,且专用资源集中的可用资源量小于预设阈值,则基于临时资源集创建临时进程,并将所述临时进程添加至所述可用进程集,得到更新进程集;所述专用资源集包括专用于编译的设备资源;所述临时资源集包括临时用于编译的设备资源;将所述多个koji任务分发至所述更新进程集中的各个进程,以利用所述更新进程集中的各个进程执行所述多个koji任务。
可见,本申请在基于yaml文件生成多个koji任务后,先判断koji任务的数量与当前的可用进程集中的进程数量的大小,若koji任务的数量大于当前的可用进程集中的进程数量,且专用资源集中的可用资源量小于预设阈值,则表明可用进程集无法执行完这些koji任务,且专用资源集已达到负载极限,也不能再使用专用资源集执行任务。因此基于临时资源集创建临时进程,然后将临时进程添加至可用进程集,得到更新进程集;将多个koji任务分发至更新进程集中的各个进程,以利用更新进程集中的各个进程执行多个koji任务。其中,专用资源集包括专用于编译的设备资源;临时资源集包括临时用于编译的设备资源,本申请不构建可执行多个koji任务的、专用于编译的资源池,而是利用其它临时资源分担一部分koji任务,既可以顺利完成这些任务,又不至于在这些任务完成后,造成资源闲置,从而提高了专用于编译的设备资源的利用率,避免了资源浪费。
相应地,本申请提供的一种koji任务执行装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种koji任务执行方法流程图;
图2为本申请公开的一种资源初始化示意图;
图3为本申请公开的一种任务生成示意图;
图4为本申请公开的一种任务分发流程图;
图5为本申请公开的一种koji任务执行装置示意图;
图6为本申请公开的一种koji任务执行设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,当需要执行多个koji任务时,需要构建专用于编译的设备资源池,以完成这些koji任务。但由于所构建的设备资源池专用于执行koji任务,因此RPM包构建完成后,这些设备资源会闲置,造成了资源浪费。为此,本申请提供了一种koji任务执行方案,能够利用原专用资源池和临时资源池顺利完成任务,又不至于在任务完成后造成资源闲置,从而提高了专用于编译的设备资源的利用率,避免了资源浪费。
参见图1所示,本申请实施例公开了一种koji任务执行方法,包括:
S101、获取yaml文件,并基于yaml文件生成多个koji任务。
yaml文件中包括构建RPM包所需的参数和文件。一般地,一个koji任务可以构建多个RPM包。同一个RPM包也可能由多个koji任务共同构建完成。
S102、若koji任务的数量大于当前的可用进程集中的进程数量,且专用资源集中的可用资源量小于预设阈值,则基于临时资源集创建临时进程,并将临时进程添加至可用进程集,得到更新进程集。
其中,专用资源集包括专用于编译的设备资源;临时资源集包括临时用于编译的设备资源。本申请中的进程均指kojid进程。
在RPM包的构建过程中,需要对yaml文件进行编译处理,因此专用资源集中包括专用于编译的一些设备资源,基于这些设备资源可创建虚拟机或容器,然后在虚拟机或容器中运行相应进程,以执行koji任务。一般可以利用MBS(Module Build Service,模块编译构建服务)工具解析yaml文件,以便对yaml文件进行编译。执行koji任务的过程即:对yaml文件进行编译,构建RPM包的过程。
临时用于编译的设备资源(如虚拟机或容器)处于闲置状态,其原来可能用于支持其他办公业务,本实施例临时调用其执行koji任务。临时资源集包括临时用于编译的设备资源,基于这些设备资源也可以创建虚拟机或容器,然后在虚拟机或容器中运行相应进程,以执行koji任务。
在一种具体实施方式中,还包括:若koji任务的数量不大于进程数量,则表明可用进程集可以顺利执行完这些koji任务,因此直接将多个koji任务分发至可用进程集中的各个进程,以利用可用进程集中的各个进程执行多个koji任务。
在一种具体实施方式中,还包括:若专用资源集中的可用资源量(如CPU、内存占用量等)不小于预设阈值,则表明专用资源集还没有达到负载极限,其中还有可用资源可以使用,因此基于专用资源集创建目标进程;将目标进程添加至可用进程集,得到更新进程集,并执行将多个koji任务分发至更新进程集中的各个进程,以利用更新进程集中的各个进程执行多个koji任务的步骤。其中,基于专用资源集创建目标进程,包括:基于专用资源集创建新设备,并在新设备中创建目标进程。
S103、将多个koji任务分发至更新进程集中的各个进程,以利用更新进程集中的各个进程执行多个koji任务。
其中,分发koji任务时可使用koji-hub分发组件。
在一种具体实施方式中,基于临时资源集创建临时进程之前,还包括:判断临时资源集中的可用资源量是否小于预设阈值;若否,则表明临时资源集中的可用资源足够多,利用临时资源集分担koji任务不会影响临时资源集原来支持的业务运行情况,因此执行基于临时资源集创建临时进程的步骤。
在一种具体实施方式中,还包括:若临时资源集中的可用资源量小于预设阈值,则表明临时资源集已达到负载极限,暂不能调用其资源分担koji任务,因此从多个koji任务中选择当前可执行的目标任务;将目标任务分发至可用进程集中的各个进程,以利用可用进程集中的各个进程执行目标任务,并将多个koji任务中除目标任务外的任务添加至等待队列,以便目标任务执行完成后,执行等待队列中的任务。当然,还可以设置第二个、第三个甚至更多临时资源集,以分担koji任务。例如:若专用资源集、第一个临时资源集都已达到负载极限,那么可以检查第二个临时资源集是否达到负载极限,在第二个临时资源集没有达到负载极限时,在第二个临时资源集中创建进程来执行koji任务。
在一种具体实施方式中,基于临时资源集创建临时进程,包括:查询临时资源集中是否存在停用的原设备;原设备为虚拟机或容器;若是,则在原设备中创建临时进程;若否,则基于临时资源集创建新设备,并在新设备中创建临时进程。新设备如虚拟机或容器。
在一种具体实施方式中,在所述多个koji任务执行完成后,若所述原设备和/或所述新设备在预设时长内未使用,则表明原设备和/或所述新设备属于闲置设备,因此可以删除所述原设备和/或所述新设备,以释放计算机资源。此时,被删除设备中的进程也需要从进程集中移除。
可见,本申请实施例在基于yaml文件生成多个koji任务后,先判断koji任务的数量与当前的可用进程集中的进程数量的大小,若koji任务的数量大于当前的可用进程集中的进程数量,且专用资源集中的可用资源量小于预设阈值,则表明可用进程集无法执行完这些koji任务,且专用资源集已达到负载极限,也不能再使用专用资源集执行任务。因此基于临时资源集创建临时进程,然后将临时进程添加至可用进程集,得到更新进程集;将多个koji任务分发至更新进程集中的各个进程,以利用更新进程集中的各个进程执行多个koji任务。其中,专用资源集包括专用于编译的设备资源;临时资源集包括临时用于编译的设备资源,本申请不构建可执行多个koji任务的、专用于编译的资源池,而是利用其它临时资源分担一部分koji任务,既可以顺利完成这些任务,又不至于在这些任务完成后,造成资源闲置,从而提高了专用于编译的设备资源的利用率,避免了资源浪费。
本申请实施例公开了一种koji任务执行方案,包括:初始化步骤和动态控制步骤。
参见图2所示,初始化步骤包括:
(1)构建分布式可用资源池G=S+V+K,并初始化可用资源池,其中,S为专用资源池,V和K为两个临时资源池。
(2)设置S的优先级为高,V和K的优先级为低。V和K的优先级可以相同,也可以不同,V和K的优先级相同与否不影响方案的具体实现。
(3)设置负载阈值。
当然,优先级和负载阈值的设定还可以综合S、V、K的当前负载情况进行设置。但S的优先级需要高于V或K的优先级。
动态控制步骤包括任务生成部分和任务分发部分。
参见图3所示,任务生成部分包括:
(1)任务提交者向MBS提交yaml文件,以请求MBS进行编译。
(2)MBS解析yaml文件,向koji-hub请求RPM编译,以得到各个任务。
(3)各个任务向Koji-hub注册。
其中,KVM(Kernel-based Virtual Machine)是基于Linux内核的一种虚拟化方式,Dist-git为存放RPM包的管理仓库。Kojira为后台守护程序。
参见图4所示,任务分发部分包括:
(1)当任务数目小于或者等于当前kojid进程时,koji-hub直接分发任务到各个kojid进程。
(2)当任务数目大于当前kojid进程时,选择优先级最大的资源池(即S),若S的可用资源小于等于负载阈值,则选择次优先级的资源池V或K;
(3)若S的可用资源大于负载阈值,则在S中申请创建虚拟机或容器,以便在虚拟机或容器中创建kojid进程来分担任务。
(4)若资源池V或K的可用资源不小于负载阈值,则查看其中是否有暂停的容器或者虚拟机;若有暂停的容器或者虚拟机,则在其中创建kojid进程来分担任务。
(5)若资源池V或K的可用资源不小于负载阈值,且其中没有暂停的容器或者虚拟机,那么在V或K中申请创建虚拟机或容器,以便在新创建的虚拟机或容器中创建kojid进程来分担任务。
(6)针对任一个虚拟机或容器,若其执行某一个任务完成后,判断是否有新的任务等待编译,若有,则接收新的任务;否则,停止当前实例,并启动2小时的定时器。若定时期间,虚拟机或容器一直未使用,则删除容器或者虚拟机,以释放计算机资源。
本实施例在基于模块构建操作***RPM包时,不但可以基于容器且可以基于虚拟机启动编译服务,并且能动态调整编译资源,能最大化利用现有计算机资源,可适用于docker容器集群的云原生环境,又可以在KVM虚拟机环境实施。
下面对本申请实施例提供的一种koji任务执行装置进行介绍,下文描述的一种koji任务执行装置与上文描述的一种koji任务执行方法可以相互参照。
参见图5所示,本申请实施例公开了一种koji任务执行装置,包括:
生成模块501,用于获取yaml文件,并基于yaml文件生成多个koji任务;
执行模块502,用于若koji任务的数量大于当前的可用进程集中的进程数量,且专用资源集中的可用资源量小于预设阈值,则基于临时资源集创建临时进程,并将临时进程添加至可用进程集,得到更新进程集;专用资源集包括专用于编译的设备资源;临时资源集包括临时用于编译的设备资源;
分发模块503,用于将多个koji任务分发至更新进程集中的各个进程,以利用更新进程集中的各个进程执行多个koji任务。
在一种具体实施方式中,还包括:
又一执行模块,用于若koji任务的数量不大于进程数量,则将多个koji任务分发至可用进程集中的各个进程,以利用可用进程集中的各个进程执行多个koji任务。
在一种具体实施方式中,还包括:
再一执行模块,用于若专用资源集中的可用资源量不小于预设阈值,则基于专用资源集创建目标进程;将目标进程添加至可用进程集,得到更新进程集,并执行将多个koji任务分发至更新进程集中的各个进程,以利用更新进程集中的各个进程执行多个koji任务的步骤。
在一种具体实施方式中,还包括:
判断模块,用于判断临时资源集中的可用资源量是否小于预设阈值;若否,则执行基于临时资源集创建临时进程的步骤。
在一种具体实施方式中,还包括:
选择模块,用于若临时资源集中的可用资源量小于预设阈值,则从多个koji任务中选择当前可执行的目标任务;
选择性执行模块,用于将目标任务分发至可用进程集中的各个进程,以利用可用进程集中的各个进程执行目标任务,并将多个koji任务中除目标任务外的任务添加至等待队列。
在一种具体实施方式中,执行模块具体用于:
查询临时资源集中是否存在停用的原设备;原设备为虚拟机或容器;
若是,则在原设备中创建临时进程;
若否,则基于临时资源集创建新设备,并在新设备中创建临时进程。
在一种具体实施方式中,还包括:
删除模块,用于在所述多个koji任务执行完成后,若所述原设备和/或所述新设备在预设时长内未使用,则删除所述原设备和/或所述新设备。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种koji任务执行装置,该装置不构建可执行多个koji任务的、专用于编译的资源池,而是利用其它临时资源分担一部分koji任务,既可以顺利完成这些任务,又不至于在这些任务完成后,造成资源闲置,从而提高了专用于编译的设备资源的利用率,避免了资源浪费。
下面对本申请实施例提供的一种koji任务执行设备进行介绍,下文描述的一种koji任务执行设备与上文描述的一种koji任务执行方法及装置可以相互参照。
参见图6所示,本申请实施例公开了一种koji任务执行设备,包括:
存储器601,用于保存计算机程序;
处理器602,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种koji任务执行方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的koji任务执行方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种koji任务执行方法,其特征在于,包括:
获取yaml文件,并基于所述yaml文件生成多个koji任务;
若所述koji任务的数量大于当前的可用进程集中的进程数量,且专用资源集中的可用资源量小于预设阈值,则基于临时资源集创建临时进程,并将所述临时进程添加至所述可用进程集,得到更新进程集;所述专用资源集包括专用于编译的设备资源;所述临时资源集包括临时用于编译的设备资源;
将所述多个koji任务分发至所述更新进程集中的各个进程,以利用所述更新进程集中的各个进程执行所述多个koji任务。
2.根据权利要求1所述的koji任务执行方法,其特征在于,还包括:
若所述koji任务的数量不大于所述进程数量,则将所述多个koji任务分发至所述可用进程集中的各个进程,以利用所述可用进程集中的各个进程执行所述多个koji任务。
3.根据权利要求1所述的koji任务执行方法,其特征在于,还包括:
若所述专用资源集中的可用资源量不小于所述预设阈值,则基于所述专用资源集创建目标进程;
将所述目标进程添加至所述可用进程集,得到所述更新进程集,并执行所述将所述多个koji任务分发至所述更新进程集中的各个进程,以利用所述更新进程集中的各个进程执行所述多个koji任务的步骤。
4.根据权利要求1所述的koji任务执行方法,其特征在于,所述基于临时资源集创建临时进程之前,还包括:
判断所述临时资源集中的可用资源量是否小于所述预设阈值;
若否,则执行所述基于临时资源集创建临时进程的步骤。
5.根据权利要求4所述的koji任务执行方法,其特征在于,还包括:
若所述临时资源集中的可用资源量小于所述预设阈值,则从所述多个koji任务中选择当前可执行的目标任务;
将所述目标任务分发至所述可用进程集中的各个进程,以利用所述可用进程集中的各个进程执行所述目标任务,并将所述多个koji任务中除所述目标任务外的任务添加至等待队列。
6.根据权利要求1所述的koji任务执行方法,其特征在于,所述基于临时资源集创建临时进程,包括:
查询所述临时资源集中是否存在停用的原设备;所述原设备为虚拟机或容器;
若是,则在所述原设备中创建所述临时进程;
若否,则基于所述临时资源集创建新设备,并在所述新设备中创建所述临时进程。
7.根据权利要求6所述的koji任务执行方法,其特征在于,还包括:
在所述多个koji任务执行完成后,若所述原设备和/或所述新设备在预设时长内未使用,则删除所述原设备和/或所述新设备。
8.一种koji任务执行装置,其特征在于,包括:
生成模块,用于获取yaml文件,并基于所述yaml文件生成多个koji任务;
执行模块,用于若所述koji任务的数量大于当前的可用进程集中的进程数量,且专用资源集中的可用资源量小于预设阈值,则基于临时资源集创建临时进程,并将所述临时进程添加至所述可用进程集,得到更新进程集;所述专用资源集包括专用于编译的设备资源;所述临时资源集包括临时用于编译的设备资源;
分发模块,用于将所述多个koji任务分发至所述更新进程集中的各个进程,以利用所述更新进程集中的各个进程执行所述多个koji任务。
9.一种koji任务执行设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的koji任务执行方法。
10.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的koji任务执行方法。
CN202011547011.3A 2020-12-23 一种koji任务执行方法、装置、设备及可读存储介质 Active CN112685132B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011547011.3A CN112685132B (zh) 2020-12-23 一种koji任务执行方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011547011.3A CN112685132B (zh) 2020-12-23 一种koji任务执行方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112685132A true CN112685132A (zh) 2021-04-20
CN112685132B CN112685132B (zh) 2024-08-02

Family

ID=

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382049A (zh) * 2021-05-31 2021-09-10 山东英信计算机技术有限公司 一种模块化构建工具mbs的管理***及装置
CN113721918A (zh) * 2021-08-06 2021-11-30 苏州浪潮智能科技有限公司 一种基于koji进行编译和软件源制作的方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382049A (zh) * 2021-05-31 2021-09-10 山东英信计算机技术有限公司 一种模块化构建工具mbs的管理***及装置
CN113382049B (zh) * 2021-05-31 2022-04-19 山东英信计算机技术有限公司 一种模块化构建工具mbs的管理***及装置
CN113721918A (zh) * 2021-08-06 2021-11-30 苏州浪潮智能科技有限公司 一种基于koji进行编译和软件源制作的方法和装置
CN113721918B (zh) * 2021-08-06 2023-08-04 苏州浪潮智能科技有限公司 一种基于koji进行编译和软件源制作的方法和装置

Similar Documents

Publication Publication Date Title
EP3394750B1 (en) Code execution request routing
US9588789B2 (en) Management apparatus and workload distribution management method
TW201818261A (zh) 應用的擴容方法、裝置和系統
US20080034365A1 (en) System and method for providing hardware virtualization in a virtual machine environment
US20120278813A1 (en) Load balancing
CN110209484B (zh) 基于多云和安全映射的可信云任务调度***及方法
CN110750336B (zh) 一种OpenStack虚拟机内存热扩容方法
EP1525529A2 (en) Method for dynamically allocating and managing resources in a computerized system having multiple consumers
CN111061432B (zh) 一种业务迁移方法、装置、设备及可读存储介质
Zhang et al. Scheduling bag-of-tasks applications on hybrid clouds under due date constraints
US8701095B2 (en) Add/remove memory pressure per object
WO2021227954A1 (zh) 基于容器集群的应用访问请求处理
CN110162397B (zh) 资源分配方法、装置及***
CN110659131A (zh) 任务处理方法、电子装置、计算机设备及存储介质
Vanmechelen et al. Conservative distributed discrete event simulation on Amazon EC2
CN108073423A (zh) 一种加速器加载方法、***和加速器加载装置
CN111104219A (zh) 虚拟核心与物理核心的绑定方法、装置、设备及存储介质
Galante et al. A programming-level approach for elasticizing parallel scientific applications
CN114615340A (zh) 一种请求处理方法、装置、计算机设备和存储装置
CN114816709A (zh) 任务调度方法、装置、服务器及可读存储介质
RU2599945C2 (ru) Система и способ пополнения базы данных при одновременной антивирусной проверке объектов на множестве виртуальных машин
CN112685132B (zh) 一种koji任务执行方法、装置、设备及可读存储介质
CN112685132A (zh) 一种koji任务执行方法、装置、设备及可读存储介质
CN114942846A (zh) Gpu资源调度方法、装置、设备及存储介质
CN110750330A (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