CN113849160B - 编译任务的动态迁移方法、装置、电子设备及存储介质 - Google Patents
编译任务的动态迁移方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113849160B CN113849160B CN202111122247.7A CN202111122247A CN113849160B CN 113849160 B CN113849160 B CN 113849160B CN 202111122247 A CN202111122247 A CN 202111122247A CN 113849160 B CN113849160 B CN 113849160B
- Authority
- CN
- China
- Prior art keywords
- compiler
- target
- task
- compiling
- usage data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000005012 migration Effects 0.000 title claims abstract description 36
- 238000013508 migration Methods 0.000 title claims abstract description 36
- 238000012544 monitoring process Methods 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims description 36
- 238000004891 communication Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012806 monitoring device Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/37—Compiler construction; Parser generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种编译任务的动态迁移方法、装置、电子设备及存储介质。方法包括:监测编译机集群中各个编译机当前的第一资源使用数据;将编译机集群中第一资源使用数据大于或等于第一预设阈值的编译机确定原始编译机;确定原始编译机中满足迁移条件的目标编译任务;获取编译机集群中的目标编译机,将目标编译任务对应的任务文件从原始编译机迁移至目标编译机。本申请实施例通过监控各个编译机的资源使用数据确定需要进行任务迁移的原始编译机,然后根据资源使用数据筛选出编译机上的满足迁移条件的目标编译任务以及能够接收目标编译任务的目标编译机,最终对目标编译任务进行迁移,实现在现有环境下提高编译任务可使用的资源,提升编译工作效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种编译任务的动态迁移方法、装置、电子设备及存储介质。
背景技术
Koji是一套编译RPM包的软件***,用于包的,通常由Koji Hub和多个Kojid组成,Koji Hub根据提交的编译任务随机分配至各个Kojid(RPM包编译机),在实际编译过程中存在以下问题:不同RPM包编译时使用的硬件资源存在差异,这样会造成虽然不同Kojid(RPM包编译机)上编译任务数虽然相同,但是资源使用率却存在较大差异,有时会造成某个kojid(RPM包编译机)资源使用率过高,造成其卡顿,影响编译效率。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种编译任务的动态迁移方法、装置、电子设备及存储介质。
根据本申请实施例的一个方面,提供了一种编译任务的动态迁移方法,包括:
监测编译机集群中各个编译机当前的第一资源使用数据,其中,各个编译机中部署至少一个编译任务;
将所述编译机集群中第一资源使用数据大于或等于第一预设阈值的编译机确定原始编译机;
确定所述原始编译机中满足迁移条件的目标编译任务;
获取所述编译机集群中的目标编译机,将所述目标编译任务对应的任务文件从所述原始编译机迁移至所述目标编译机,其中,所述目标编译机是所述编译机集群中第一资源使用数据小于第一预设阈值的编译机。
进一步的,所述第一资源使用数据包括:第一中央处理器使用率和第一内存使用率;
所述将所述编译机集群中第一资源使用数据大于或等于第一预设阈值的编译机确定原始编译机,包括:
将所述编译机集群中第一中央处理器使用率大于或等于预设中央处理器使用率,和/或第一内存使用大于或等于预设内存使用率的编译机确定为原始编译机。
进一步的,所述确定所述原始编译机满足迁移条件的目标编译任务,包括:
查询所述原始编译机中各个进程对应的第二资源使用数据;
将所述第二资源使用数据大于或等于第二预设阈值的进程确定为目标进程;
将所述目标进程对应的编译任务确定为所述目标编译任务。
进一步的,所述获取所述编译机集群中的目标编译机,包括:
获取所述编译机集群中第一资源使用数据小于第一预设阈值的第一候选编译机,以及所述第一候选编译机对应的第三资源使用数据;
在所述第三资源使用数据与所述第二资源使用数据之和小于所述第一预设阈值的情况下,将所述第一候选编译机确定为所述目标编译机。
进一步的,所述获取所述编译机集群中的目标编译机,包括:
在所述编译机集群中不存在第一资源使用数据小于预设阈值的编译机,或,在所述第三资源使用数据与所述第二资源使用数据之和大于所述第一预设阈值的情况下,生成编译机创建任务;
基于所述编译机创建任务获取环境配置脚本;
根据所述环境配置脚本创建所述目标编译机。
进一步的,所述方法还包括:
获取编译机集群中第一资源使用数据小于或等于第三预设阈值的第二候选编译机;
查询所述第二候选编译机上部署的编译任务;
在所述第二候选编译机上不存在编译任务的情况下,释放所述第二候选编译机所使用的资源,并撤销所述第二候选编译机。
进一步的,所方法还包括:
在所述第二候选编译机不存在编译任务的情况下,获取所述第二候选编译机中编译任务对应的编译状态;
在所述编译状态属于异常状态的情况下,对所述第二候选编译机进行检测,得到检测结果;
在所述检测结果用于指示所述第二候选编译机故障的情况下,对所述第二候选编译机中编译任务执行迁移操作。
根据本申请实施例的另一个方面,还提供了一种编译任务的动态迁移装置,包括:
监测模块,用于监测编译机集群中各个编译机当前的第一资源使用数据,其中,各个编译机中存储有至少一个编译任务;
确定模块,用于将所述编译机集群中第一资源使用数据大于或等于第一预设阈值的编译机确定为原始编译机;
查询模块,用于确定所述原始编译机中满足迁移条件的目标编译任务;
处理模块,用于获取所述编译机集群中的目标编译机,将所述目标编译任务对应的任务文件从所述原始编译机迁移至所述目标编译机,其中,所述目标编译机是所述编译机集群中第一资源使用数据小于第一预设阈值的编译机。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
根据本申请实施例的另一方面,还提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例通过监控各个编译机的资源使用数据确定需要进行任务迁移的原始编译机,然后根据资源使用数据筛选出编译机上的满足迁移条件的目标编译任务以及能够接收目标编译任务的目标编译机,最终对目标编译任务进行迁移,实现在现有环境下提高编译任务可使用的资源,提升编译工作效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种编译任务的动态迁移方法的流程图;
图2为本申请另一实施例提供的一种编译任务的动态迁移方法的流程图;
图3为本申请另一实施例提供的一种编译任务的动态迁移方法的流程图;
图4为本申请实施例提供的一种编译任务的动态迁移装置的框图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个类似的实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请实施例提供了一种编译任务的动态迁移方法、装置、电子设备及存储介质。本发明实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。
根据本申请实施例的一方面,提供了一种编译任务的动态迁移方法的方法实施例。图1为本申请实施例提供的一种编译任务的动态迁移方法的流程图,如图1所示,该方法包括:
步骤S11,监测编译机集群中各个编译机当前的第一资源使用数据,其中,各个编译机中部署至少一个编译任务。
本申请实施例提供的方法适用于Koji***中的监控设备,监控设备主要用于对编译机集群中各个编译机的编译情况进行监控,编译机集群部署在Koji***。
在本申请实施例中,Koji***中Kojihub(任务分发设备)会对用户上传的编译任务进行随机分配,因此Koji***中各个编译机中会部署至少一个编译任务。
在本申请实施例中,Koji***中的监控设备主要采集各个编译机在当前周期内的第一资源使用数据,其中,第一资源使用数据包括:第一中央处理器使用率n1和第一内存使用率m1。第一中央处理器使用率即(CPU使用率)。
步骤S12,将编译机集群中第一资源使用数据大于或等于第一预设阈值的编译机确定原始编译机。
在本申请实施例中,监控设备统计编译机集群中各个编译机的第一资源使用数据,并根据第一资源使用数据对编译机进行排序,获取第一资源使用数据大于或等于第一预设阈值的编译机,并将该编译机确定为原始编译机。
在本申请实施例中,将编译机集群中第一资源使用数据大于或等于第一预设阈值的编译机确定原始编译机,包括:将第一中央处理器使用率大于第一预设中央处理器使用率,和/或,第一内存使用率大于或等于第一预设内存使用率的编译机确定原始编译机。
需要说明的是,本申请实施例通过按照第一资源使用数据对编译机进行排序,能够及时确定各个编译机的任务压力,并根据编译机的任务压力执行相应的编译任务调度。已提升整个编译机集群的的编译效率。
步骤S13,确定原始编译机中满足迁移条件的目标编译任务。
在本申请实施例中,步骤S13,确定原始编译机满足迁移条件的目标编译任务,包括以下步骤A1-A3:
步骤A1,查询原始编译机中各个进程对应的第二资源使用数据。
在本申请实施例中,监控装置从原始编译机中调取其当前运行的进程,以及各个进程对应的第二资源使用数据,第二资源使用数据包括:第二中央处理器使用率和第二内存使用率。
步骤A2,将第二资源使用数据大于或等于第二预设阈值的进程确定为目标进程。
在本申请实施例中,使用第二资源使用数据对各个进程进行排序,确定第二资源使用数据大于或等于第二预设阈值的进程,并将该进程确定为目标进程。
在本申请实施例中,第二资源数据大于或等于第二预设阈值包括:第二中央处理器使用率大于第二预设中央处理器使用率,和/或,第二内存使用率大于或等于第二预设内存使用率。
需要说明的是,本申请实施例通过采集各个进程的资源使用数据,能够确定哪些编译任务当前占用较多的物理资源,以便于后续对占用物力资源较多的编译任务进行迁移。
步骤A3,将目标进程对应的编译任务确定为目标编译任务。
在本申请实施例中,由于编译任务对应的目标进程占用了原始编译机过多的物理资源,因此需要将编译任务确定为目标编译任务,并对该任务进行迁移,以保证目标编译机的编译效率。
步骤S14,获取编译机集群中的目标编译机,将目标编译任务对应的任务文件从原始编译机迁移至目标编译机,其中,目标编译机是编译机集群中第一资源使用数据小于第一预设阈值的编译机。
在本申请实施例中,步骤S14,获取编译机集群中的目标编译机,包括以下步骤B1-B2:
步骤B1,获取编译机集群中第一资源使用数据小于第一预设阈值的第一候选编译机,以及第一候选编译机对应的第三资源使用数据。
在本申请实施例中,获取在当前周期内编译机集群中第一资源使用数据小于第一预设阈值的第一候选编译机,并确定第一候选编译机在当前周期内的资源使用数据确定为第三资源数据数据,第三资源使用数据包括第三中央处理器使用率以及第三内存使用率。
步骤B2,在第三资源使用数据与第二资源使用数据之和小于第一预设阈值的情况下,将第一候选编译机确定为目标编译机。
在本申请实施例中,在确定第三资源使用数据后,使用第三资源使用数据与第二资源使用数据进行计算,确定第三资源使用数据与第二资源使用数据的和值。
作为一个示例,第二资源使用数据包括第二中央处理器使用率n2以及第二内存使用率m2,第三资源使用数据包括第三中央处理器使用率n3以及第三内存使用率m3。然后计算第二中央处理器使用率n2和第三中央处理器使用率n3的和值为n4,计算第二内存使用率m2和第三内存使用率m3的和值为m4。如果n4小于第一预设中央处理器使用率,以及m4小于第一预设内存使用率,则将第一候选编译机确定为目标编译机。
需要说明的是,通过计算第三资源使用数据与第二资源使用数据之和,能够确定第一候选编译机在接收目标编译任务后,是否会影响目标编译机的效率。因此本申请实施例在其第三资源使用数据与第二资源使用数据之和小于第一预设阈值的情况下,将第一候选编译机确定为目标编译机。并将目标编译任务对应的任务文件从原始编译机迁移至目标编译机。
在本申请实施例中,目标迁移任务的迁移过程如下:从原始编译机中查询目标编译任务的存储地址,基于该存储地址调取目标编译任务对应的编译环境配置文件,源码文件及mock根目录,并将编译环境配置文件,源码文件及mock根目录进行打包,发送至目标编译机,已完成编译任务的调度。
在本申请实施例中,步骤S14,获取编译机集群中的目标编译机,包括以下步骤E1-E3:
步骤E1,在编译机集群中不存在第一资源使用数据小于预设阈值的编译机,或,在第三资源使用数据与第二资源使用数据之和大于第一预设阈值的情况下,生成编译机创建任务。
步骤E2,基于编译机创建任务获取环境配置脚本。
步骤E3,根据环境配置脚本创建目标编译机。
在本申请实施例中,如果编译机集群中不存在第一资源使用数据小于预设阈值的编译机,则生成编译机创建任务,此时根据编译机创建任务获取用户上传的环境配置脚本,并基于该配置脚本生成新的编译机,并将新创建的编译机确定为目标编译机。
在本申请另一实施例中,如果编译机集群中存在第一资源使用数据小于预设阈值的第一候选编译机,且第一候选编译机的第三资源使用数据与第二资源使用数据之和大于第一预设阈值,则确定第一候选编译机在接收目标编译任务后的编译效率会收到影响,因此在这种情况下,同样生成编译机创建任务,并基于该配置脚本生成新的编译机,并将新创建的编译机确定为目标编译机。
本申请实施例通过监控各个编译机的资源使用数据确定需要进行任务迁移的原始编译机,然后根据资源使用数据筛选出编译机上的满足迁移条件的目标编译任务以及能够接收目标编译任务的目标编译机,最终对目标编译任务进行迁移,实现在现有环境下提高编译任务可使用的资源,提升编译工作效率。
在本申请实施例中,图2为本申请实施例提供的一种编译任务的动态迁移方法的流程图,如图2所示,方法还包括:
步骤S21,获取编译机集群中第一资源使用数据小于或等于第三预设阈值的第二候选编译机。
步骤S22,查询第二候选编译机上部署的编译任务。
步骤S23,在第二候选编译机上不存在编译任务的情况下,释放第二候选编译机所使用的资源,并撤销第二候选编译机。
在本申请实施例中,监控装置还用于周期性获取编译机集群内第一资源使用数据小于或等于第三阈值的第二候选编译机,可以理解的,第二候选编译机可以是编译机集群内资源使用率较小的编译机,此时查询第二候选编译机上部署的编译任务,如果第二候选编译机上不存在编译任务的情况下,则确定第二候选编译机的编译任务编译完成,此时释放第二候选编译机使用的资源,并撤销第二候选编译机。
在本申请实施例中,通过周期性查询编译机集群内第一资源使用数据小于或等于第三阈值的编译机,并在该编译机中不存在编译任务的情况下,对该编译机进行撤销,从而增加其他编译机可使用的编译资源,有效保证编译机集群整体的编译效率。
在本申请实施例中,图3为本申请实施例提供的一种编译任务的动态迁移方法的流程图,如图3所示,方法还包括:
步骤S31,在第二候选编译机不存在编译任务的情况下,获取第二候选编译机中编译任务对应的编译状态;
步骤S32,在编译状态属于异常状态的情况下,对第二候选编译机进行检测,得到检测结果;
步骤S33,在检测结果用于指示第二候选编译机故障的情况下,对第二候选编译机中编译任务执行迁移操作。
以下为申请实施例提供的一种编译任务的动态迁移的方法,具体的流程如下:
步骤(1),任务分发设备(Kojihub)负责发送编译任务至各个RPM包编译机(Kojid),当Kojid上存在编译任务后,监控装置启动,负责查询各个Kojid上第一资源使用数据。每隔30s轮询一次,并对各个Kojid的第一资源使用数据进行排序;
步骤(2),如果查询到某个Kojid上第一资源使用数据大于或等于第一预设阈值,则将Kojid确定为原始编译机;
步骤(3),查询该Kojid上各个进程的第二资源使用率,并查询该进程读写的磁盘文件,从而得到该进程对应的编译任务;
步骤(4),查询当前其余Kojid的第三资源使用率,如果某个Kojid的第三资源使用率与第二资源使用率之和小于第一预设阈值,则将该Kojid确定为目标编译机;
步骤(5),将原始编译机上的环境配置文件,源码文件及mock根目录进行打包,迁移至目标编译机中,目标编译机对打包文件进行解压恢复并执行编译命令,恢复编译任务;
步骤(6),如果某个Kojid的第三资源使用率与第二资源使用率之和大于第一预设阈值装置,创建新kojid;
步骤(7),将原始编译机上的环境配置文件,源码文件及mock根目录进行打包,迁移至新的编译机中.
步骤(8),步骤(1)轮询到当前存在多个kojid第一资源使用数据低于第二预设阈值,查询该kojid上是否存在编译任务,如果不存在编译任务,则将no_build计数+1;
步骤(9),当no_build计数大于1时,执行kojid销毁任务,将kojid资源释放给主机用作其他业务需求。
图4为本申请实施例提供的一种编译任务的动态迁移装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该装置包括:
监测模块41,用于监测编译机集群中各个编译机当前的第一资源使用数据,其中,各个编译机中存储有至少一个编译任务;
确定模块42,用于将编译机集群中第一资源使用数据大于或等于第一预设阈值的编译机确定为原始编译机;
查询模块43,用于确定原始编译机中满足迁移条件的目标编译任务;
处理模块44,用于获取编译机集群中的目标编译机,将目标编译任务对应的任务文件从原始编译机迁移至目标编译机,其中,目标编译机是编译机集群中第一资源使用数据小于第一预设阈值的编译机。
在本申请实施例中,第一资源使用数据包括:第一中央处理器使用率和第一内存使用率;
在本申请实施例中,确定模块,用于将编译机集群中第一中央处理器使用率大于或等于预设中央处理器使用率,且第一内存使用大于或等于预设内存使用率的编译机确定为原始编译机。
在本申请实施例中,查询模块,用于查询原始编译机中各个进程对应的第二资源使用数据;并将第二资源使用数据大于或等于第二预设阈值的进程确定为目标进程;将目标进程对应的编译任务确定为目标编译任务。
在本申请实施例中,处理模块,用于获取编译机集群中第一资源使用数据小于第一预设阈值的第一候选编译机,以及第一候选编译机对应的第三资源使用数据;在第三资源使用数据与第二资源使用数据之和小于第一预设阈值的情况下,将第一候选编译机确定为目标编译机。
在本申请实施例中,处理模块,用于在编译机集群中不存在第一资源使用数据小于预设阈值的编译机,或,在第三资源使用数据与第二资源使用数据之和大于第一预设阈值的情况下,生成编译机创建任务;基于编译机创建任务获取环境配置脚本;根据环境配置脚本创建目标编译机。
在本申请实施例中,编译任务的动态迁移装置还包括:撤销模块,用于获取编译机集群中第一资源使用数据小于或等于第三预设阈值的第二候选编译机;查询第二候选编译机上部署的编译任务;在第二候选编译机上不存在编译任务的情况下,释放第二候选编译机所使用的资源,并撤销第二候选编译机。
在本申请实施例中,编译任务的动态迁移装置还包括:检测模块,用于在第二候选编译机不存在编译任务的情况下,获取第二候选编译机中编译任务对应的编译状态;在编译状态属于异常状态的情况下,对第二候选编译机进行检测,得到检测结果;在检测结果用于指示第二候选编译机故障的情况下,对第二候选编译机中编译任务执行迁移操作。
本申请实施例还提供一种电子设备,如图5所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现上述实施例的步骤。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的编译任务的动态迁移方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的编译任务的动态迁移方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk)等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种编译任务的动态迁移方法,其特征在于,包括:
监测编译机集群中各个编译机当前的第一资源使用数据,其中,各个编译机中部署至少一个编译任务;
将所述编译机集群中第一资源使用数据大于或等于第一预设阈值的编译机确定原始编译机;
确定所述原始编译机中满足迁移条件的目标编译任务;
获取所述编译机集群中的目标编译机,将所述目标编译任务对应的任务文件从所述原始编译机迁移至所述目标编译机,其中,所述目标编译机是所述编译机集群中第一资源使用数据小于第一预设阈值的编译机;
所述确定所述原始编译机满足迁移条件的目标编译任务,包括:
查询所述原始编译机中各个进程对应的第二资源使用数据;
将所述第二资源使用数据大于或等于第二预设阈值的进程确定为目标进程;
将所述目标进程对应的编译任务确定为所述目标编译任务;
所述获取所述编译机集群中的目标编译机,包括:
获取所述编译机集群中第一资源使用数据小于第一预设阈值的第一候选编译机,以及所述第一候选编译机对应的第三资源使用数据;
在所述第三资源使用数据与所述第二资源使用数据之和小于所述第一预设阈值的情况下,将所述第一候选编译机确定为所述目标编译机;
所述获取所述编译机集群中的目标编译机,包括:
在所述编译机集群中不存在第一资源使用数据小于预设阈值的编译机,或,在所述第三资源使用数据与所述第二资源使用数据之和大于所述第一预设阈值的情况下,生成编译机创建任务;
基于所述编译机创建任务获取环境配置脚本;
根据所述环境配置脚本创建所述目标编译机。
2.根据权利要求1所述的方法,其特征在于,所述第一资源使用数据包括:第一中央处理器使用率和第一内存使用率;
所述将所述编译机集群中第一资源使用数据大于或等于第一预设阈值的编译机确定原始编译机,包括:
将所述编译机集群中第一中央处理器使用率大于或等于预设中央处理器使用率,和/或第一内存使用大于或等于预设内存使用率的编译机确定为原始编译机。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取编译机集群中第一资源使用数据小于或等于第三预设阈值的第二候选编译机;
查询所述第二候选编译机上部署的编译任务;
在所述第二候选编译机上不存在编译任务的情况下,释放所述第二候选编译机所使用的资源,并撤销所述第二候选编译机。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述第二候选编译机不存在编译任务的情况下,获取所述第二候选编译机中编译任务对应的编译状态;
在所述编译状态属于异常状态的情况下,对所述第二候选编译机进行检测,得到检测结果;
在所述检测结果用于指示所述第二候选编译机故障的情况下,对所述第二候选编译机中编译任务执行迁移操作。
5.一种编译任务的动态迁移装置,其特征在于,包括:
监测模块,用于监测编译机集群中各个编译机当前的第一资源使用数据,其中,各个编译机中存储有至少一个编译任务;
确定模块,用于将所述编译机集群中第一资源使用数据大于或等于第一预设阈值的编译机确定为原始编译机;
查询模块,用于确定所述原始编译机中满足迁移条件的目标编译任务;
处理模块,用于获取所述编译机集群中的目标编译机,将所述目标编译任务对应的任务文件从所述原始编译机迁移至所述目标编译机,其中,所述目标编译机是所述编译机集群中第一资源使用数据小于第一预设阈值的编译机;
所述查询模块,用于查询所述原始编译机中各个进程对应的第二资源使用数据;将所述第二资源使用数据大于或等于第二预设阈值的进程确定为目标进程;将所述目标进程对应的编译任务确定为所述目标编译任务;
所述处理模块,用于获取所述编译机集群中第一资源使用数据小于第一预设阈值的第一候选编译机,以及所述第一候选编译机对应的第三资源使用数据;在所述第三资源使用数据与所述第二资源使用数据之和小于所述第一预设阈值的情况下,将所述第一候选编译机确定为所述目标编译机;
所述处理模块,用于在所述编译机集群中不存在第一资源使用数据小于预设阈值的编译机,或,在所述第三资源使用数据与所述第二资源使用数据之和大于所述第一预设阈值的情况下,生成编译机创建任务;基于所述编译机创建任务获取环境配置脚本;根据所述环境配置脚本创建所述目标编译机。
6.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时,由处理器执行上述权利要求1至4中任一项所述的方法步。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:
存储器,用于存放计算机程序;
处理器,用于通过运行存储器上所存放的程序来执行权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122247.7A CN113849160B (zh) | 2021-09-24 | 2021-09-24 | 编译任务的动态迁移方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122247.7A CN113849160B (zh) | 2021-09-24 | 2021-09-24 | 编译任务的动态迁移方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113849160A CN113849160A (zh) | 2021-12-28 |
CN113849160B true CN113849160B (zh) | 2023-11-14 |
Family
ID=78979239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111122247.7A Active CN113849160B (zh) | 2021-09-24 | 2021-09-24 | 编译任务的动态迁移方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849160B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116684468B (zh) * | 2023-08-02 | 2023-10-20 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694517A (zh) * | 2020-05-28 | 2020-09-22 | 新浪网技术(中国)有限公司 | 分布式数据迁移方法、***和电子设备 |
CN112764928A (zh) * | 2021-01-21 | 2021-05-07 | 苏州浪潮智能科技有限公司 | 一种编译资源动态管理的方法、装置及介质 |
-
2021
- 2021-09-24 CN CN202111122247.7A patent/CN113849160B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694517A (zh) * | 2020-05-28 | 2020-09-22 | 新浪网技术(中国)有限公司 | 分布式数据迁移方法、***和电子设备 |
CN112764928A (zh) * | 2021-01-21 | 2021-05-07 | 苏州浪潮智能科技有限公司 | 一种编译资源动态管理的方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113849160A (zh) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019227689A1 (zh) | 数据监控方法、装置、计算机设备及存储介质 | |
CN109800204B (zh) | 数据分配方法及相关产品 | |
CN109426510B (zh) | 软件处理方法、装置、电子设备及计算机可读存储介质 | |
CN106941420B (zh) | 一种集群应用环境升级方法及装置 | |
CN114356557B (zh) | 一种集群扩容方法及装置 | |
CN113849160B (zh) | 编译任务的动态迁移方法、装置、电子设备及存储介质 | |
CN115113997A (zh) | 一种任务调度方法、装置、电子设备及存储介质 | |
CN107577527B (zh) | 任务生成、调度方法及装置 | |
CN113704117A (zh) | 一种算法测试***、方法及装置 | |
CN114153668A (zh) | 自动化测试方法、装置、电子设备及存储介质 | |
CN112559565A (zh) | 一种异常检测方法、***及装置 | |
CN110290210B (zh) | 接口调用***中不同接口流量比例自动调配方法及装置 | |
CN111444017A (zh) | 多媒体数据处理方法、装置、***、电子设备及存储介质 | |
CN115037653B (zh) | 业务流量监控方法、装置、电子设备和存储介质 | |
CN113254245A (zh) | 一种存储集群的故障检测方法和*** | |
CN110955587A (zh) | 一种待更换设备确定方法及装置 | |
CN115580522A (zh) | 一种容器云平台运行状态的监控方法及装置 | |
CN114090268A (zh) | 容器管理方法及容器管理*** | |
CN117453665B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111754117A (zh) | 任务下发方法、装置、电子设备及存储介质 | |
CN111352710A (zh) | 进程管理方法及装置、计算设备、存储介质 | |
CN111614747B (zh) | 一种信息处理方法及装置 | |
CN116048859B (zh) | 分布式数据库故障诊断方法、装置、电子设备及存储介质 | |
CN114327867B (zh) | 一种内存资源的处理方法、装置、电子设备及存储介质 | |
CN111580925B (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 |