本文作者:kaifamei

一种应用部署方法及装置与流程

更新时间:2025-01-10 22:48:08 0条评论

一种应用部署方法及装置与流程



1.本技术涉及计算机技术领域,尤其涉及一种应用部署方法及装置。


背景技术:

2.容器云平台是基于一个或多个硬件设备搭建的,用于为用户提供计算和/或存储服务等。用户可在容器云平台上部署自己的应用,借助容器云平台提供的硬件资源运行该应用。用户将应用部署在容器云平台的过程又可以称为上云。
3.目前,一种上云的方式为:容器云平台的工作人员或用户对应用进行编译、以及制作镜像,进而将镜像文件部署在容器云平台上。由此可见,该方式中,上云过程均需依赖手动操作,需要耗费大量的时间,导致上云效率较低。


技术实现要素:

4.本技术提供一种应用部署方法及装置,用于提高应用部署的效率。
5.第一方面,本技术提供一种应用部署方法,应用于第一设备,所述方法包括:对至少一个功能模块中的每个功能模块的描述文件进行编译,获得至少一个代码文件,所述至少一个功能模块用于实现应用的功能;将所述至少一个代码文件中的每个代码文件分别加载到镜像环境中,获得至少一个第一镜像文件;根据所述至少一个功能模块的层级关系,依次配置所述至少一个第一镜像文件,获得应用压缩包,所述应用压缩包用于部署所述应用,所述至少一个功能模块的层级关系用于表示所述至少一个功能模块之间的功能依赖关系;将所述应用压缩包部署在容器云平台上。
6.在本技术实施例中,第一设备可直接对应用所需的至少一个功能模块的描述文件进行编译,并将代码文件(即编译结果)进行镜像制作,获得镜像文件,并基于至少一个功能模块之间的层级关系,进行应用压缩包,从而将该应用压缩包部署在容器云平台上,在该实施例中,第一设备可自动完成应用部署,减少用户的手动操作,从而有利于提高部署应用的效率。
7.在一种可能的实施方式中,所述方法还包括:接收配置的第一信息,所述第一信息包括所述至少一个功能模块中的每个功能模块的模块标识;确定所述至少一个功能模块中的每个功能模块对应的编译参数,其中,所述每个功能模块对应的编译参数包括所述每个功能模块对应的描述文件在所述第一设备中的地址,以及将每个功能模块编译后所需的代码文件的格式;根据所述每个功能模块对应的描述文件在所述第一设备中的地址,调用所述每个功能模块中的描述文件;根据所述每个功能模块编译后所需的代码文件的格式,对每个功能模块中的描述文件编译,获得所述至少一个代码文件。
8.在该实施方式中,第一设备可根据第一信息灵活调取每个功能模块的描述文件,无需工作人员手动输入功能模块的描述文件,减少了工作人员的工作量,也有利于提高了应用部署的效率。并且,第一设备可根据第一信息中的模块标识,灵活地配置应用所需的描述文件,使得第一设备可支持部署多种应用。
9.在一种可能的实施方式中,所述方法还包括:根据镜像导入脚本,解压所述应用压缩包,获得至少一个第二镜像文件,所述至少一个第二镜像文件的层级关系与所述至少一个功能模块的层级关系对应;将所述至少一个第二镜像文件发送给所述容器云平台。
10.在该实施方式中,第一设备在获取应用压缩包时,便可根据预先存储的镜像导入脚本将应用压缩包进行解压,并将获得的包含层级关系的至少一个第二镜像文件发送给容器云平台。基于该镜像导入脚本,第一设备可直接完成应用压缩包的解压以及发送过程,无需工作人员进行手动操作,进一步提高了应用部署的工作效率。
11.在一种可能的实施方式中,所述方法还包括:修改所述应用压缩包的标签,其中,修改后的标签用于指示所述容器云平台的地址。
12.在该实施方式中,第一设备还可将应用压缩包的标签修改为容器云平台的标签,无需工作人员手动修改,保证了应用压缩包部署在容器云平台上的兼容性。
13.在一种可能的实施方式中,所述方法还包括:按照所述层级关系,确定所述至少一个第一镜像文件的配置顺序;按照所述配置顺序,加载和压缩所述至少一个第一镜像文件,获得所述应用压缩包。
14.在该实施方式中,第一设备可按照层级关系对至少一个镜像文件进行压缩,使得应用压缩包在解压后,可获得具有层级关系的至少一个第二镜像文件。简化了应用部署的方法,提高了应用部署效率。
15.在一种可能的实施方式中,所述方法还包括:解析预存的所述应用的应用前端模板,获得所述至少一个功能模块的层级关系,其中,所述应用前端模板用于定义所述至少一个功能模块的功能依赖关系。
16.在该实施方式中,第一设备可从应用前端模块处直接获得至少一个功能模块的层级关系,进而第一设备可直接将该层级关系应用于应用压缩包中,简化了配置层级关系的方法,加快了生成应用压缩包的效率,进而提高了应用部署效率。
17.在一种可能的实施方式中,所述应用为视频云存储应用,所述至少一个功能模块包括元数据功能模块、目录功能模块、数据存储功能模块和运维模块。所述元数据功能模块用于记录视频数据的元数据;所述目录功能模块用于记录元数据的目录;所述数据存储功能模块用于存储视频数据;所述运维功能模块用于维护所述至少一个功能模块的功能。
18.在该实施方式中,第一设备将视频云存储应用部署到容器云平台上,可将视频云存储应用划分为各个功能模块进行部署,各个功能模块即元数据功能模块、目录功能模块、数据存储功能模块和运维模块,从而减少了第一设备的压力,提高了应用部署效率。
19.第二方面,本技术提供一种应用部署方法,应用于容器云平台,所述方法包括:接收至少一个第二镜像文件,所述第二镜像文件的层级关系与至少一个功能模块的层级关系对应,所述层级关系用于表示所述至少一个功能模块之间的功能依赖关系,所述至少一个功能模块用于实现应用的功能;运行所述至少一个第二镜像文件,获得所述至少一个功能模块。
20.在本技术实施例中,容器云平台接收至少一个第二镜像文件后,直接运行着至少一个第二镜像文件,便可直接获取至少一个功能模块,完成应用部署,简化了应用部署的方法,提高了应用部署的效率。
21.在一种可能的实施方式中,所述方法还包括:确定所述至少一个功能模块中的每
个功能模块的环境参数,其中,所述每个功能模块的环境参数用于确定所述每个功能模块的地址;将所述至少一个功能模块中的一个功能模块的环境参数发送给所述至少一个功能模块中除了所述一个功能模块之外的其他功能模块。
22.在该实施方式中,容器云平台可为至少一个功能模块中的每个功能模块配置一个与地址关联的环境参数,并将每个功能模块的环境参数发送给其他功能模块,以使每个功能模块均可根据其他功能模块的环境参数确定其他功能模块的地址,避免了因至少一个功能模块中的每个功能模块在容器云平台的不同服务器上,导致每个功能模块之间无法获取地址的情况。
23.在一种可能的实施方式中,所述方法还包括:接收第二信息,所述第二信息用于指示所述至少一个功能模块的每个功能模块所需的存储空间大小;根据所述每个功能模块所需的存储空间的大小,为所述每个功能模块分配符合所述每个功能模块所需的存储空间大小的存储空间。
24.在该实施方式中,容器云平台还可根据第二信息为每个功能模块分配所需的存储空间,避免了后续每个功能模块因存储空间过小,导致服务无法正常运行的情况出现。
25.在一种可能的实施方式中,所述方法还包括:确定所述至少一个功能模块的每个功能模块对应的服务的类型;若所述至少一个功能模块的一个功能模块的服务的类型为外部访问的服务,则将所述服务的地址发送给外部节点,所述外部节点为与所述一个功能模块所在的节点不同的节点。
26.在该实施方式中,容器云平台还可基于每个功能模块对应的服务的类型,将每个功能模块的地址发送给的外部节点,使得外部节点可成功访问相应的服务。
27.第三方面,本技术提供一种应用部署装置,包括:处理模块,用于对至少一个功能模块中的每个功能模块的描述文件进行编译,获得至少一个代码文件,所述至少一个功能模块用于实现应用的功能,将所述至少一个代码文件中的每个代码文件分别加载到镜像环境中,获得至少一个第一镜像文件,以及根据所述至少一个功能模块的层级关系,依次配置所述至少一个第一镜像文件,获得应用压缩包,所述应用压缩包用于部署所述应用,所述至少一个功能模块的层级关系用于表示所述至少一个功能模块之间的功能依赖关系;收发模块,用于将所述应用压缩包部署在容器云平台上。
28.第四方面,本技术提供一种应用部署装置,包括:收发模块,用于接收至少一个第二镜像文件,所述第二镜像文件的层级关系与至少一个功能模块的层级关系对应,所述至少一个功能模块用于表示所述至少一个功能模块之间的功能依赖关系,所述至少一个功能模块用于实现应用的功能;处理模块,用于运行所述至少一个第二镜像文件,获得所述至少一个功能模块。
29.第五方面,本技术实施例提供一种应用部署系统,该应用部署系统包括第三方面所述的通信装置以及第四方面所述的通信装置。
30.第六方面,本技术实施例提供一种应用部署装置,包括:处理器和存储器;其中:所述存储器存储有指令,当所述指令被所述处理器执行时,使得所述远端设备执行第一方面和第二方面中任一所述的方法。
31.第七方面,本技术实施例提供一种计算机存储介质,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行第一方面
和第二方面中任一所述的方法。
32.关于第三方面至第七方面的有益效果可参照前文第一方面或第二方面论述的内容,此处不再列举。
附图说明
33.图1为本技术实施例提供的一种应用部署方法的应用场景示意图;
34.图2为本技术实施例提供的一种应用部署方法的流程示意图;
35.图3为本技术实施例提供的一种部署应用后的容器云平台的结构示意图;
36.图4、图5、图6和图7为本技术实施例提供的几种应用部署装置的结构示意图。
具体实施方式
37.为了更好地理解本技术提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
38.为了便于更好地理解本技术实施例的技术方案,下面对本技术实施例涉及的技术名词进行介绍。
39.1、应用,本技术实施例中的应用泛指可以实现一个或多个功能的软件模块,该应用可以是独立运行的软件程序,或者也可以是独立运行的软件程序中的一个子模块等。
40.请参照图1,为本技术实施例提供的一种应用部署方法的应用场景示意图,或者可以理解为一种应用部署系统的结构示意图。如图1所示,该系统包括第一设备101和容器云平台102。第一设备101和容器云平台102之间可相互进行有线或无线通信。
41.其中,第一设备101泛指具有处理能力的设备。例如,第一设备为服务器或终端设备。服务器例如为云服务器、通用服务器、超长指令集架构(very long instruction word,vliw)服务器、精简指令集(reduced instruction set computing,risc)服务器或复杂指令系统计算机(complex instruction set computer,cisc)服务器等。其中,终端设备是指具有通信处理控制功能的通用计算机输入输出设备,例如为个人计算机(personal computer,pc)、平板、笔记本电报或掌上电脑等。
42.可选的,第一设备101可安装有客户端,容器云平台102与客户端之间可相互通信。客户端可理解为运行在容器云平台102中的软件程序。
43.容器云平台102泛指可为一个或多个用户提供业务的平台,例如为用户提供存储和/计算服务,存储服务例如提供视频存储服务。容器云平台102可以包括一个或多个节点,每个节点可以是一个计算设备或一个计算设备中的软件模块等,计算设备例如为服务器,服务器的实现形式可参照前文。容器云平台102例如为开源容器编排系统(kubernetes,kube或k8s),相应的,容器云平台102可包括一个或多个工作节点和主节点。主节点用于控制多个工作节点,每个工作节点用于运行应用。
44.示例性的,第一设备101可在用户的触发操作下,编译生成应用的应用压缩包,进而将应用压缩包部署在容器云平台上。其中,第一设备101具体编译生成应用压缩包的过程将在下文中论述。例如,容器云平台为k8s,则容器云平台运行应用压缩包之后,相当于运行了一个或多个pod。
45.在一种可能的实施方式中,第一设备101可设置在容器云平台中102,这种情况下
第一设备101和容器云平台102可视为一个设备。
46.请参照图2,为本技术实施例提供的一种应用部署方法的流程示意图。图2所示的实施例中涉及的第一设备例如为图1所示的第一设备101,图2所示的实施例涉及的容器云平台例如为图1所述的容器云平台102。
47.s201,第一设备对至少一个功能模块中的每个功能模块的描述文件进行编译,获得至少一个代码文件。
48.一个功能模块用于实现应用所需的一个功能,一个功能模块又可以称为一个组件,且可理解为应用中用于实现一个功能的软件模块,应用例如为视频云存储应用。至少一个功能模块用于实现当前所需部署的应用所需的功能。至少一个功能模块例如包括元数据功能模块、目录功能模块、数据存储功能模块、运维功能模块、协议功能模块和数据库功能模块中的一个或多个。元数据功能模块用于记录视频数据的元数据。目录功能模块用于记录元数据的目录。数据存储功能模块用于存储视频数据。运维功能模块用于维护至少一个功能模块的功能。协议功能模块用于实现对数据进行封装。
49.作为一个示例,第一设备可以根据当前所需部署的应用的功能信息,确定这至少一个功能模块。其中,功能信息可以是用户输入的,或者是第一设备基于应用的开发需求信息识别得到的,或者从其他设备接收得到的。例如,用户在第一设备的界面中的输入该功能信息,相应的,第一设备可获得该第一信息。
50.作为另一个示例,第一设备可根据第一信息,确定这至少一个功能模块。其中,第一信息可以是用户输入的,或者从其他设备接收得到的。其中,第一信息包括至少一个功能模块中的每个功能模块的模块标识。
51.具体的,第一设备可预存有多个功能模块中每个功能模块的信息,每个功能模块的信息包括功能模块的标识以及功能模块的描述文件。第一设备可在界面中显示多个功能模块各自的标识,用户选择其中的至少一个标识,第一设备基于用户的操作,获得第一信息,也就确定了至少一个功能模块。
52.每个功能模块的描述文件可以用于描述每个功能模块的实现方式,每个功能模块的描述文件例如为每个功能模块的源代码或脚本等,每个功能模块的描述文件的形式例如为可扩展标记语言(extensible markup language,xml)。
53.作为一个示例,第一设备可根据第一信息,确定至少一个功能模块中每个功能模块的编译参数。每个功能模块的编译参数包括每个功能模块的描述文件在第一设备中的地址以及至少一个功能模块中的每个功能模块编译后的代码文件的格式。可选的,每个功能模块的编译参数还包括至少一个功能模块的每个功能模块的编译命令。
54.下面以第一设备编译的功能模块为目录模块为例,对目录模块的编译参数进行举例说明。目录模块的编译参数还包括:git仓库地址、待编译的分支、待编译分支的版本号、编译命令和编译产物。git仓库地址表示目录模块的描述文件在第一设备的地址,例如为url,待编译分支表示目录模块待编译的分支,例如为branch,待编译分支的版本号表示目录模块编译的版本,例如为commit_id,编译命令表示第一设备开始编译目录模块的描述文件,例如为makecmd,编译产物表示第一设备编译目录模块的描述文件后生成的代码文件的格式,例如为.dll、.out、.exe和.obj等。
55.由于描述文件并非是设备(如第一设备或容器云平台)可直接执行的代码,因此在
本技术实施例中,第一设备可对至少一个功能模块中每个功能模块对应的描述文件进行编译,从而获得至少一个代码文件。其中,至少一个代码文件中的每个代码文件对应一个功能模块。一个代码文件可理解为设备可执行的代码文件,且用于实现一个功能模块的功能。
56.具体的,第一设备根据至少一个功能模块的每个功能模块的描述文件在第一设备中的地址,调用每个功能模块对应的描述文件,从而获得至少一个描述文件。第一设备根据至少一个功能模块中的每个功能模块编译后的代码文件的格式,对至少一个描述文件进行编译,从而获得至少一个代码文件。
57.第一设备对每个描述文件进行编译的过程可以是相同的,下面以第一设备编译一个描述文件进行说明。
58.具体的,一个描述文件可包括与该描述文件包括至少一个功能子模块的描述子文件,至少一个功能子模块用于实现与该描述文件对应的功能模块。可选的,这至少一个功能子模块可具有第一层级关系,该第一层级关系可理解为至少一个功能子模块的功能之间的依赖关系,或可理解为至少一个功能子模块之间的调用关系。第一设备对该描述文件进行编译时,可按照第一层级关系,对这至少一个功能子模块的描述子文件进行依次编译,从而获得该描述文件对应的一个代码文件。
59.其中,第一设备可按照第一顺序,依次对至少一个描述文件进行编译,或者可以同时对至少一个描述文件进行编译。其中,第一顺序可以是第一设备预存的,或者用户配置在第一设备中的,或者第一顺序可以是根据描述文件确定的。
60.例如,至少一个描述文件中的每个描述文件记录了描述文件对应的功能模块所依赖的其他功能模块,其他功能模块为至少一个功能模块中除了该描述文件对应的功能模块之外的功能模块,第一设备可根据至少一个描述文件,从而确定第一顺序。
61.例如,至少一个功能模块包括目录功能模块和协议功能模块,其中,协议功能模块包括网络框架功能子模块和日志功能子模块。第一设备根据至少一个描述文件确定目录功能模块依赖协议功能模块的网络框架功能子模块和日志功能子模块。因此,第一设备确定第一顺序为:先编译协议功能模块对应的描述文件,再编译目录功能模块对应的描述文件。
62.s202,第一设备将至少一个代码文件中的每个代码文件分别加载到镜像环境中,获得至少一个第一镜像文件。
63.其中,至少一个第一镜像文件中的一个镜像文件对应至少一个功能模块中的一个功能模块。其中一个第一镜像文件可理解为一个功能模块的代码文件的镜像,或者可理解为包含均镜像环境的代码文件。一个镜像文件可实现与一个功能模块的功能或服务。
64.由于代码文件并未包含运行环境,因此在本技术实施例,第一设备还可对至少一个代码文件中的每个代码文件加载到镜像环境中,从而获得至少一个第一镜像文件。
65.示例性的,镜像环境例如为from,镜像文件可承载在容器文件(dockerfile)中,换言之,容器文件可包括镜像环境。第一设备将每个代码文件加载到容器文件中,获得一个第一镜像文件,以此类推,第一设备可获得至少一个镜像文件。其中,容器文件还包括镜像制作指令和第一工作目录。镜像制作指令用于包括将代码文件转换为镜像文件过程中的指令,例如为copy和add。第一工作目录为执行镜像操作的目录,例如为workdir。
66.第一设备可按照第二顺序,对至少一个代码文件的每个代码文件进行处理,共获得至少一个第一镜像文件。第二顺序可以是被预配置在第一设备中的,或者是第一设备获
得代码文件的先后顺序。
67.s203,根据至少一个功能模块的层级关系,依次配置至少一个第一镜像文件,获得应用压缩包。
68.至少一个功能模块的层级关系也可以称为第二层级关系。第二层级关系用于表示至少一个功能模块之间的功能依赖关系,或者也可理解为至少一个镜像文件的依赖关系。
69.其中一个第一镜像文件对应至少一个功能模块中的一个功能模块。第一设备可按照第二层级关系,配置至少一个第一镜像文件,从而获得应用压缩包。应用压缩包可用于实现应用的功能,或者可理解为应用的安装文件包。
70.第二层级关系可以是被预配置在第一设备中的,或者第一设备根据应用前端模块中解析得到的。应用前端模板为前文中待部署的应用的,定义了第二层级关系。应用前端模块可以是被预配置在第一设备中的,或者从其他设备接收的,或者根据用户在第一设备上的配置操作生成的。
71.第一设备按照第二层级关系,确定至少一个第一镜像文件的配置顺序,并将至少一个第一镜像文件按照配置顺序加载和压缩为应用压缩包。
72.具体的,第一设备将至少一个第一镜像文件中无需依赖其他功能模块的功能模块对应的第一镜像文件放置在第一层,将依赖第一层的第一镜像文件的第一镜像文件放置在第二层,将依赖第一层和第二层的第一镜像文件的第一镜像文件放置在第三层,以此类推,第一设备可获得一个具有第二层级关系的应用压缩包。
73.可选的,第一设备可配置应用压缩包的标签,该标签用于指示应用压缩包所属的设备,由于此时应用压缩包在第一设备上,因此应用压缩包的标签则为第一设备的地址,地址例如为域名和/或ip等。
74.s204,第一设备将应用压缩包部署在容器云平台上。
75.第一设备可将应用压缩包直接发送给容器云平台,容器云平台解压该应用压缩包,运行解压后的结果,也就相当于完成了应用的部署。
76.或者,第一设备可对应用压缩包进行解压,从而获得至少一个第二镜像文件,并将至少一个第二镜像文件发送给容器云平台。容器云平台运行至少一个第二镜像文件,也就相当于完成了应用的部署。
77.在这种情况下,s204包括s240a和s204b,其中,s204a为:第一设备解压应用压缩包,获得至少一个第二镜像文件。s204b为:第一设备向容器云平台发送至少一个第二镜像文件。相应的,容器云平台接收来自第一设备的至少一个第二镜像文件。
78.第一设备获得应用压缩包之后,可调用预存的镜像导入脚本,对应用压缩包进行解压,从而获得至少一个第二镜像文件。
79.其中,镜像导入脚本可包括压缩指令。第一设备基于压缩指令,对应用压缩包进行解压,获得包含第二层级关系的至少一个第二镜像文件。至少一个第二镜像文件可理解为是配置第二层级关系后的至少一个第一镜像文件。换言之,至少一个第二镜像文件的层级关系与至少一个功能模块的层级关系相对应。至少一个第二镜像文件中的一个第二镜像文件对应至少一个功能模块中的一个功能模块。至少一个第二镜像文件中的每个第二镜像文件具有与至少一个功能模块中的每个功能模块相同的功能或服务。
80.第一设备进而这至少一个第二镜像文件发送给容器云平台,也就相当于第一设备
将应用压缩包部署在了容器云平台上。由于第二镜像文件包含了镜像环境以及设备可执行的代码,因此容器云平台可直接运行这至少一个第二镜像文件。
81.在应用压缩包具有标签的情况下,第一设备在向容器云平台发送应用压缩包之前,第一设备可将应用压缩包的标签从第一设备的地址修改为容器云平台的地址,容器云平台的地址可具体为容器云平台的域名或服务的地址等。
82.s205,容器云平台运行至少一个第二镜像文件,获得至少一个功能模块。
83.容器云平台运行至少一个第二镜像文件,也就相当于运行了至少一个功能模块。并且,这至少一个功能模块也可视为运行的应用。
84.作为一个示例,容器云平台可为运行的这至少一个功能模块中的每个功能模块确定环境参数。其中,每个功能模块的环境参数用于确定每个功能模块的地址,或可理解为每个功能模块的环境参数与每个功能模块的地址关联。例如,环境参数包括功能模块的地址,或者例如环境参数可为具体的数值,例如为0、1、2、3......等。
85.容器云平台确定至少一个功能模块中的每个功能模块的环境参数后,可将每个功能模块的环境参数发送给至少一个功能模块中的其他功能模块,使得至少一个功能模块中的每个功能模块可感知其他功能模块的存在。
86.具体的,这至少一个功能模块中的每个功能模块可能运行在容器云平台上的不同的工作节点上,这种情况下,至少一个功能模块的一个功能模块可通过其他功能模块的环境参数,确定其他功能模块的地址,进而与其他功能模块建立通信。
87.为了保证每个功能模块可顺利运行,在本技术实施例,容器云平台根据第二信息,为运行的至少一个功能模块分配存储空间。其中,第二信息用于指示至少一个功能模块的每个功能模块所需的存储空间大小。存储空间具体可为容器云平台上的硬盘空间和/或内存空间等。
88.第二信息可以是第一设备根据至少一个第二镜像文件的大小确定的,或者是从用户或其他设备接收。
89.在一种可能的实施方式中,容器云平台还可为至少一个功能模块分配相应的服务,如果某个功能模块的服务的类型为外部访问的服务,那么容器云平台还可将该服务的地址发送给外部节点。外部节点是指与该功能模块所在的节点不同的节点。如此,便于外部节点通过该服务的地址访问该功能模块提供的功能。
90.其中,任意两个功能模块可能对应一个服务,或者对应两个服务,本技术实施例对此不做具体限定。
91.例如,请参照图3,功能模块1运行在容器云平台的工作节点1上,功能模块2运行在容器云平台的工作节点2上,容器云平台为功能模块1和2均配置了服务1,且服务1为外部可访问的服务,那么容器云平台可将服务1的地址暴露给外部节点,使得外部节点可确定该服务1的地址,进而访问工作节点1和2。
92.基于相同的发明构思,本技术实施例还提供了几种通信装置的结构示意图。
93.请参照图4,为本技术实施例提供的一种应用部署装置的结构示意图。如图4所示,该应用部署装置400包括收发模块401和处理模块402。该应用部署装置可用于实现前文第一设备的功能。
94.示例性的,处理模块402,用于对至少一个功能模块中的每个功能模块的描述文件
进行编译,获得至少一个代码文件,至少一个功能模块用于实现应用的功能,将至少一个代码文件中的每个代码文件分别加载到镜像环境中,获得至少一个第一镜像文件,以及根据至少一个功能模块的层级关系,依次配置至少一个第一镜像文件,获得应用压缩包,应用压缩包用于部署应用,至少一个功能模块的层级关系用于表示至少一个功能模块之间的功能依赖关系。
95.收发模块401,用于将应用压缩包部署在容器云平台上。
96.处理模块402,还用于接收配置的第一信息,第一信息包括至少一个功能模块中的每个功能模块的模块标识;确定至少一个功能模块中的每个功能模块对应的编译参数,其中,每个功能模块对应的编译参数包括每个功能模块对应的描述文件在第一设备中的地址,以及将每个功能模块编译后所需的代码文件的格式;根据每个功能模块对应的描述文件在第一设备中的地址,调用每个功能模块中的描述文件;根据每个功能模块编译后所需的代码文件的格式,对每个功能模块中的描述文件编译,获得至少一个代码文件。
97.处理模块402,还用于根据镜像导入脚本,解压应用压缩包,获得至少一个第二镜像文件,至少一个第二镜像文件的层级关系与至少一个功能模块的层级关系对应;收发模块401,还用于将至少一个第二镜像文件发送给容器云平台。
98.处理模块402,还用于修改应用压缩包的标签,其中,修改后的标签用于指示容器云平台的地址。
99.处理模块402,还用于按照层级关系,确定至少一个第一镜像文件的配置顺序;按照配置顺序,加载和压缩至少一个第一镜像文件,获得应用压缩包。
100.处理模块402,还用于解析预存的应用的应用前端模板,获得至少一个功能模块的层级关系,其中,应用前端模板用于定义至少一个功能模块的功能依赖关系。
101.请参照图5,为本技术实施例提供的一种应用部署装置的结构示意图。如图5所示,该应用部署装置500包括收发模块501和处理模块502。其中该应用部署装置500可用于实现前文容器云平台的功能。
102.示例性的,收发模块501,用于接收至少一个第二镜像文件,第二镜像文件的层级关系与至少一个功能模块的层级关系对应,至少一个功能模块用于表示至少一个功能模块之间的功能依赖关系,至少一个功能模块用于实现应用的功能。
103.处理模块502,用于运行至少一个第二镜像文件,获得至少一个功能模块。
104.处理模块502,还用于确定至少一个功能模块中的每个功能模块的环境参数,其中,每个功能模块的环境参数用于确定每个功能模块的地址;收发模块501,还用于将至少一个功能模块中的一个功能模块的环境参数发送给至少一个功能模块中除了一个功能模块之外的其他功能模块。
105.收发模块501,还用于接收第二信息,第二信息用于指示至少一个功能模块的每个功能模块所需的存储空间大小;处理模块502,还用于根据每个功能模块所需的存储空间的大小,为每个功能模块配置每个功能模块所需的存储空间。
106.处理模块502,还用于确定至少一个功能模块的每个功能模块对应的服务的类型;收发模块501,还用于若至少一个功能模块的一个功能模块的服务的类型为外部访问的服务,则将服务的地址发送给外部节点,外部节点为与一个功能模块所在的节点不同的节点。
107.请参照图6,为本技术实施例提供一种应用部署装置的结构示意图。如图6所示,该
应用部署装置600包括至少一个处理器601,以及与至少一个处理器通信连接的存储器602。
108.其中存储器602存储有可被至少一个处理器601执行的指令,至少一个处理器601通过执行存储器602的指令实现如前文第一设备执行的任一项所述的应用部署的方法。
109.作为一个示例,图6中的处理器601可以实现前文图4中处理模块402的功能。
110.请参照图7,为本技术实施例提供一种应用部署装置的结构示意图。如图7所示,该应用部署装置700包括至少一个处理器701,以及与至少一个处理器通信连接的存储器702。
111.其中存储器702存储有可被至少一个处理器701执行的指令,至少一个处理器701通过执行存储器702的指令实现如前文容器云平台执行的任一项所述的应用部署的方法。
112.作为一个示例,图7中的处理器701可以实现前文图5中处理模块502的功能。
113.本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如前文任一所述的应用部署的方法。
114.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
115.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
116.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
117.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
118.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-13-1088-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-11-27 21:27:18

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论