[发明专利]编译资源分配方法、装置、电子设备及存储介质在审
申请号: | 202111509715.6 | 申请日: | 2021-12-10 |
公开(公告)号: | CN114168294A | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 赵岩 | 申请(专利权)人: | 北京鲸鲮信息系统技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京市铸成律师事务所 11313 | 代理人: | 陈晓欣;包莉莉 |
地址: | 100080 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编译 资源 分配 方法 装置 电子设备 存储 介质 | ||
本申请提出一种编译资源分配方法、装置、电子设备及存储介质。本申请的技术方案包括:响应于第一应用程序的编译请求,获取所述第一应用程序在历史编译过程中的历史资源占用情况;基于所述第一应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息;基于所述资源占用冲突的相关信息,确定所述第一应用程序以及所述当前编译队列中的至少部分应用程序的编译启动时间。采用本申请的技术方案,可以均衡编译资源,提高应用程序并列编译的效率。
技术领域
本申请涉及计算机技术领域,尤其涉及一种编译资源分配方法、装置、电子设备及存储介质。
背景技术
Docker是一个开源的应用容器引擎,开发者利用容器可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。
Docker容器与虚拟机类似,但二者在原理上有所不同。容器是将操作系统层虚拟化,虚拟机则是将硬件虚拟化,因此容器更具有便携性,可以更高效地利用服务器。Docker容器在Linux系统中运行,并与其他容器共享运行该Linux系统的主机的内核。Docker容器运行一个离散进程,不占用任何其他可执行文件的内存,能够将进程隔离起来。因此,业界采用Docker容器来编译软件包,可以避免软件包的编译过程与Linux系统中的其他进程之间的互相干扰。
但是,在采用容器大批量地进行并行编译时,容易出资源分配不均衡的现象。
发明内容
本申请实施例提供一种编译资源分配方法、装置、电子设备及存储介质,以解决相关技术存在的问题,技术方案如下:
第一方面,本申请实施例提供一种编译资源分配方法,包括:
响应于第一应用程序的编译请求,获取所述第一应用程序在历史编译过程中的历史资源占用情况;
基于所述第一应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息;
基于所述资源占用冲突的相关信息,确定所述第一应用程序以及所述当前编译队列中的至少部分应用程序的编译启动时间。
第二方面,本申请实施例提供一种编译资源分配装置,包括:
历史情况获取模块,用于响应于第一应用程序的编译请求,获取所述第一应用程序在历史编译过程中的历史资源占用情况;
冲突预测模块,用于基于所述第一应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息;
时间确定模块,用于基于所述资源占用冲突的相关信息,确定所述第一应用程序以及所述当前编译队列中的至少部分应用程序的编译启动时间。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任一种实施方式中的编译资源分配方法。
第四方面,本申请实施例一种非瞬时计算机可读存储介质,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现本申请任一种实施方式中的编译资源分配方法。
上述技术方案中的优点或有益效果至少包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鲸鲮信息系统技术有限公司,未经北京鲸鲮信息系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111509715.6/2.html,转载请声明来源钻瓜专利网。