一种程序镜像构建方法、系统、计算设备及可读存储介质技术方案

技术编号:27593640 阅读:58 留言:0更新日期:2021-03-10 10:12
本发明专利技术公开了一种程序镜像构建方法,适于在计算设备中执行,计算设备与第一镜像中心、镜像构建服务器通信连接,镜像构建服务器与多个编译服务器连接,方法包括:获取应用程序的基本信息;根据基本信息生成应用程序的第一镜像文件;将第一镜像文件上传到第一镜像中心;通过镜像构建服务器启动编译服务器对应用程序的编译过程,以便生成目标镜像文件。本发明专利技术一并公开了相应的系统、计算设备及可读存储介质。质。质。

【技术实现步骤摘要】
一种程序镜像构建方法、系统、计算设备及可读存储介质


[0001]本专利技术涉及高性能计算领域,尤其涉及一种程序镜像构建方法、系统、计算设备及可读存储介质。

技术介绍

[0002]在超级计算中心中运行的应用程序,在编译时需要该超级计算中心的网卡、GPU的硬件驱动、CPU工具链以及MPI库等信息,而用户本地缺乏这样的软硬件环境,需要登录该超级计算中心对应的特定编译服务器进行编译,如果当前应用程序需要在多个超算中心运行,需要分别将应用程序代码传输到多个超算中心对应的多个编译服务器上分别进行编译,编译过程繁琐,不易操作。同时,当多个用户使用同一个超算账号编译不同应用程序时,由于只有一个工作目录,应用所需的环境变量保存于内存中,退出登录就会丢失,每次登录后需重新手工加载。

技术实现思路

[0003]为此,本专利技术提供了一种程序镜像构建方法、系统、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的问题。
[0004]根据本专利技术的一个方面,提供一种程序镜像构建方法,适于在计算设备中执行,计算设备与第一镜像中心、镜像构建服务器通信连接,镜像构建服务器与多个编译服务器连接,方法包括:获取应用程序的基本信息;根据基本信息生成应用程序的第一镜像文件;将第一镜像文件上传到第一镜像中心;通过镜像构建服务器启动编译服务器对应用程序的编译过程,以便生成目标镜像文件。
[0005]可选的,在根据本专利技术的程序镜像构建方法中,获取应用程序的基本信息包括:根据用户输入,获取应用程序的编程语言类型、应用程序代码文件的路径、依赖的第三方库路径、应用程序代码文件的加密密码以及应用程序对应的目标超算中心,其中目标超算中心是用户从超算中心列表中选择的用于执行应用程序的超算中心,超算中心列表从镜像构建服务器中获得,目标超算中心包括一个或多个。
[0006]可选的,在根据本专利技术的程序镜像构建方法中,根据基本信息生成应用程序的第一镜像文件包括:根据基本信息生成一个dockerfile;制作应用程序的编译脚本;生成一个守护进程文件;根据dockerfile、编译脚本、守护进程文件生成第一镜像文件。
[0007]可选的,在根据本专利技术的程序镜像构建方法中,通过镜像构建服务器启动编译服务器对应用程序的编译过程,以便生成目标镜像文件包括:根据目标超算中心获取对应的编译服务器,编译服务器包括一个或多个;登录镜像构建服务器,并通过镜像构建服务器的Ansible在目标超算中心对应的编译服务器中启动第一镜像文件,以便编译成目标镜像文件。
[0008]可选的,在根据本专利技术的程序镜像构建方法中,通过镜像构建服务器的Ansible在目标超算中心对应的编译服务器中启动第一镜像文件,并编译成目标镜像文件包括:通过
镜像构建服务器使目标超算中心对应的编译服务器从第一镜像中心拉取第一镜像文件,以便编译服务器挂载关联库并将第一镜像文件编译成目标镜像文件,关联库包括IB网卡、GPU硬件驱动库以及MPI库。
[0009]可选的,在根据本专利技术的程序镜像构建方法中,编译服务器挂载关联库并将第一镜像文件编译成目标镜像文件包括:根据关联库对第一镜像文件进行编译,并获得目标镜像文件;在目标镜像文件中加入特征码。
[0010]可选的,在根据本专利技术的程序镜像构建方法中,特征码根据应用程序的名称、时间戳、目标超算中心的名称、第一镜像文件的名称以及加密密码,通过SHA1算法获得。
[0011]可选的,在根据本专利技术的程序镜像构建方法中,根据关联库对第一镜像文件进行编译包括:若应用程序代码文件已加密,需要获取所述应用程序代码文件的加密密码。
[0012]可选的,在根据本专利技术的程序镜像构建方法中,编译服务器与目标镜像中心通信连接,目标镜像中心与超算中心通信连接,方法还包括:编译服务器将目标镜像文件推送到目标镜像中心,以便超算中心从目标镜像中心拉取相应的目标镜像文件,并运行目标镜像文件。
[0013]可选的,在根据本专利技术的程序镜像构建方法中,还包括:目标镜像中心接收到目标镜像文件后,对目标镜像文件的特征码进行校验。
[0014]根据本专利技术的又一个方面,提供一种程序镜像构建系统,包括镜像构建客户端、镜像构建服务器、第一镜像中心、编译服务器,其中,镜像构建客户端,适于执行如上的程序镜像构建方法中的任一方法;镜像构建服务器,适于完成在编译服务器上启动对应用程序的编译过程,以便生成目标镜像文件;第一镜像中心,适于存储镜像构建客户端生成的第一镜像文件;编译服务器,适于对应用程序代码进行编译。
[0015]可选的,在根据本专利技术的程序镜像构建系统中,还包括目标镜像中心、超算中心,其中,目标镜像中心,适于存储编译服务器编译完成的目标镜像文件,以便超算中心拉取相应的目标镜像文件,并运行目标镜像文件;超算中心,适于拉取并运行相应的目标镜像文件。
[0016]根据本专利技术的又一个方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行如上的程序镜像构建方法的指令。
[0017]根据本专利技术的又一方面,提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上的程序镜像构建方法。
[0018]在本专利技术的程序镜像构建方法中,根据应用程序的编译和运行所需的基本配置信息,将应用程序代码制作成第一镜像文件并推送到第一镜像中心,通过镜像构建服务器启动编译服务器的编译过程,编译服务器直接从第一镜像中心获取应用程序代码镜像,即使该应用程序需要多个编译服务器进行编译,用户也只需要将应用程序的第一镜像文件向第一镜像中心传输一次,避免向多个编译器拷贝应用程序,简化了应用程序的整个编译过程,并且多个编译服务器可同时下载、编译应用程序。同时,将应用程序的基本信息(即应用程序编译和运行的配置信息)包含在第一镜像文件中,而不是直接在编译服务器上设置,避免用户退出后重新登录时配置的丢失,进而需要再次重新进行手动加载。
附图说明
[0019]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0020]图1示出了根据本专利技术一个实施例的程序镜像构建系统100 的示意图;图2示出了根据本专利技术一个实施例的计算设备200的框图;图3示出了根据本专利技术一个实施例的程序镜像构建方法300的流程图。
[0021]具体实施方式
[0022]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种程序镜像构建方法,适于在计算设备中执行,所述计算设备与第一镜像中心、镜像构建服务器通信连接,所述镜像构建服务器与多个编译服务器连接,所述方法包括:获取应用程序的基本信息;根据所述基本信息生成所述应用程序的第一镜像文件;将所述第一镜像文件上传到所述第一镜像中心;通过所述镜像构建服务器启动所述编译服务器对所述应用程序的编译过程,以便生成目标镜像文件。2.如权利要求1所述的方法,其中,所述获取应用程序的基本信息包括:根据用户输入,获取所述应用程序的编程语言类型、应用程序代码文件的路径、依赖的第三方库路径、应用程序代码文件的加密密码以及应用程序对应的目标超算中心,其中所述目标超算中心是用户从超算中心列表中选择的用于执行所述应用程序的超算中心,所述超算中心列表从所述镜像构建服务器中获得,所述目标超算中心包括一个或多个。3.如权利要求1或2所述的方法,其中,所述根据所述基本信息生成所述应用程序的第一镜像文件包括:根据所述基本信息生成一个dockerfile;制作所述应用程序的编译脚本;生成一个守护进程文件;根据所述dockerfile、编译脚本、守护进程文件生成第一镜像文件。4.如权利要求2所述的方法,其中,所述通过所述镜像构建服务器启动所述编译服务器对所述应用程序的编译过程,以便生成目标镜像文件包括:根据所述目标超算中心获取对应的编译服务器,所述编译服务器包括一个或多个;登录所述镜像构建服务器,并通过所述镜像构建服务器的Ansible在所述目标超算中心对应的编译服务器中启动第一镜像文件,以便编译成目标镜像文件。5.如权利要求4所述的方法,其中,所述通过所述镜像构建服务器的Ansible在所述目标超算中心对应的编译服务器中启动第一镜像文件,以便编译成目标镜像文件包括:通过所述镜像构建服务器使所述目标超算中心对应的编译服务器从所述第一镜像中心拉取所述第一镜像文件,以便所述编译服务器挂载关联库并将所述第一镜像文件编译成目标镜像文件,所述关联库包括IB网卡、GPU硬件驱动库以及MPI库。6.如权利要求5所述的方法,其中,所述编译服务器挂载关联库并将所述第一镜像文件编译成目标镜像文件包括:根...

【专利技术属性】
技术研发人员:周进光毛登峰
申请(专利权)人:北京并行科技股份有限公司
类型:发明
国别省市:

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

1