一种基于组包的部署方法和相关装置与流程

未命名 08-07 阅读:80 评论:0


1.本技术涉及大数据领域,具体涉及一种基于组包的部署方法和相关装置。


背景技术:

2.随着科技的飞速发展,软件具有微服务化的趋势,具体的,软件中包括多个模块,微服务化是指将单一模块划分成多个微小的服务,服务之间互相协调、互相配合。
3.相关技术中主要采用人工方法来对软件中的多个模块进行部署,由于一个模块通常需要部署在多个机器上,此时,部署人员为了完成软件中多个模块的部署会需要花费较多的时间。鉴于此,如何实现软件的快速部署是目前亟需解决的问题。


技术实现要素:

4.本技术实施例提供了一种基于组包的部署方法和相关装置,将目标模块和目标程序包之间的对应关系存储于对应关系文档中,进而能够根据对应关系文档,将目标程序包分别自动部署至对应的机器集群中,从而实现程序包的快速部署。
5.有鉴于此,本技术实施例第一方面提供一种基于组包的部署方法,包括:
6.获取m个目标模块对应的m个目标程序包,m个所述目标模块构成目标软件,m≥2;
7.对m个所述目标程序包和对应关系文档进行打包,得到目标组包,所述对应关系文档用于存储m个所述目标模块和m个所述目标程序包之间的m个对应关系;
8.响应于针对所述目标软件的部署消息,对所述目标组包进行解析得到m个所述目标程序包和所述对应关系文档;
9.根据所述对应关系文档,将m个所述目标程序包分别部署至对应的m个机器集群,所述机器集群包括用于运行所述目标模块的全部机器。
10.可选的,所述根据所述对应关系文档,将m个所述目标程序包分别部署至对应的m个机器集群,包括:
11.根据所述对应关系文档,确定m个所述目标程序包分别对应的m个所述目标模块;
12.将m个所述目标程序包分别部署至分别对应的m个所述目标模块相对应的m个所述机器集群。
13.可选的,所述方法还包括:
14.对m个所述目标程序包进行解析,确定m个所述目标程序包分别对应的m个发布对象;
15.根据m个所述发布对象之间的运行关系,确定所述m个目标程序包的部署顺序;
16.所述将m个所述目标程序包分别部署至对应的m个机器集群,包括:
17.按照所述部署顺序,将m个所述目标程序包分别部署至对应的m个机器集群。
18.可选的,所述对m个所述目标程序包和对应关系文档进行打包,得到目标组包,包括:
19.对m个所述目标程序包、m个信息摘要算法值和所述对应关系文档进行打包,得到
所述目标组包,所述目标组包中所述目标程序包和所述信息摘要算法值一一对应。
20.本技术实施例第二方面提供一种基于组包的部署装置,包括:
21.获取单元,用于获取m个目标模块对应的m个目标程序包,m个所述目标模块构成目标软件,m≥2;
22.打包单元,用于对m个所述目标程序包和对应关系文档进行打包,得到目标组包,所述对应关系文档用于存储m个所述目标模块和m个所述目标程序包之间的m个对应关系;
23.解析单元,用于响应于针对所述目标软件的部署消息,对所述目标组包进行解析得到m个所述目标程序包和所述对应关系文档;
24.部署单元,用于根据所述对应关系文档,将m个所述目标程序包分别部署至对应的m个机器集群,所述机器集群包括用于运行所述目标模块的全部机器。
25.可选的,部署单元用于:
26.根据所述对应关系文档,确定m个所述目标程序包分别对应的m个所述目标模块;
27.将m个所述目标程序包分别部署至分别对应的m个所述目标模块相对应的m个所述机器集群。
28.可选的,所述装置还包括确定单元,用于:
29.对m个所述目标程序包进行解析,确定m个所述目标程序包分别对应的m个发布对象;
30.根据m个所述发布对象之间的运行关系,确定所述m个目标程序包的部署顺序;
31.部署单元,用于:
32.按照所述部署顺序,将m个所述目标程序包分别部署至对应的m个机器集群。
33.可选的,打包单元用于:
34.对m个所述目标程序包、m个信息摘要算法值和所述对应关系文档进行打包,得到目标组包,所述目标组包中所述目标程序包和所述信息摘要算法值一一对应。
35.本技术实施例第三方面提供一种电子设备,包括:
36.存储器,用于存储可执行指令;
37.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的基于组包的部署方法。
38.本技术实施例第四方面提供一种计算机可读介质,存储有可执行指令,用于被处理器执行时,实现本技术实施例提供的基于组包的部署方法。
39.综上所述,本技术实施例提供了一种基于组包的部署方法和相关装置,该方法包括:获取m个目标模块对应的m个目标程序包,m个目标模块构成目标软件,m≥2;对m个目标程序包和对应关系文档进行打包,得到目标组包,对应关系文档用于存储m个目标模块和m个目标程序包之间的m个对应关系;响应于针对目标软件的部署消息,对目标组包进行解析得到m个目标程序包和对应关系文档;根据对应关系文档,将m个目标程序包分别部署至对应的m个机器集群,机器集群包括用于运行目标模块的全部机器。通过上述方法,将目标模块和目标程序包之间的对应关系存储于对应关系文档中,进而能够根据对应关系文档,将目标程序包分别自动部署至对应的机器集群中,从而实现程序包的快速部署。
附图说明
40.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
41.图1为本技术实施例提供的一种基于组包的部署方法的流程图;
42.图2为本技术实施例提供的一种多个目标程序包的部署顺序的示意图;
43.图3为本技术实施例提供的一种基于组包的部署装置的示意图。
具体实施方式
44.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
46.相关技术中主要采用人工方法来对软件中的多个模块进行部署,由于一个模块通常需要部署在多个机器上,此时,部署人员为了完成软件中多个模块的部署会需要花费较多的时间。鉴于此,如何实现软件的快速部署是目前亟需解决的问题。
47.鉴于此,本技术实施例提供了一种基于组包的部署方法和相关装置,将目标模块和目标程序包之间的对应关系存储于对应关系文档中,进而能够根据对应关系文档,将目标程序包分别自动部署至对应的机器集群中,从而实现程序包的快速部署。
48.需要说明的是,本技术提供的一种基于组包的部署方法和相关装置可用于大数据领域或金融领域。上述仅为示例,并不对本技术提供的一种基于组包的部署方法和相关装置的应用领域进行限定。
49.下面通过方法实施例来对本技术提供的一种基于组包的部署方法和相关装置进行说明,如图1所示,该方法包括:
50.s101、获取m个目标模块对应的m个目标程序包,m≥2。
51.由于在软件的实际部署过程中,一个软件通常包括多个模块,对此,可以获取m个目标模块对应的m个目标程序包,其中,m个目标模块构成目标软件,每一个目标模块和每一个目标程序包一一对应,目标程序包可以为tar、war、zip、jar等格式,例如当目标软件包括名称为“deposit-application”、“deposit-client”和“deposit-provider”这三个目标模块时,就可以获取对应的名称为“desposit-application.jar”、“desposit-client.jar”和“desposit-provider.jar”的三个目标程序包。
52.s102、对m个目标程序包和对应关系文档进行打包,得到目标组包。
53.m个目标程序包和m个目标模块之间一一对应,在本实施例中,对应关系文档用于存储m个目标模块和m个目标程序包之间的m个对应关系,对应关系文档可以是txt格式,例如名称为“tsf-package-list.txt”的对应关系文档中可以存储下述内容:
[0054]“desposit-application:desposit-application.jar:0c7bb33b61e297b5c903e840dfddd1d5
[0055]
desposit-client:desposit-client.jar:dgcbb65b61e0d7b5ccd4340dfddd1d5
[0056]
desposit-provider:desposit-provider.jar:836ac82cfa6fff247847387966e8f97e”[0057]
该对应关系文档中就体现名称为“deposit-application”、“deposit-client”和“deposit-provider”的三个目标模块和名称为“desposit-application.jar”、“desposit-client.jar”和“desposit-provider.jar”的三个目标程序包之间的三个对应关系。
[0058]
对m个目标程序包和对应关系文档进行打包,就可以得到目标组包,目标组包可以包括tar.gz、zip等格式,为了便于后续步骤中对目标组包的解析,可以按照预设打包规则进行打包,预设打包规则可以由部署人员根据需要自行设定,在实际应用中,预设打包规则可以是:打包得到的组包总共包括三层内容,其中,第一层和组包的名称一致,例如“20210224092640_bvsd-sfd_deposit_tsf.zip”的组包的第一层是“20210224092640_bvsd-sfd_deposit_tsf”;第二层包括两个部分,第一个部分包括构成软件的多个模块的名称和分别对应的多个程序包的名称,可以通过冒号进行分隔,第二部分包括对应关系文档;第三层包括多个程序包。
[0059]
在一种可能的实现方式中,s102中对m个目标程序包和对应关系文档进行打包,得到目标组包,包括:
[0060]
对m个目标程序包、m个信息摘要算法值和对应关系文档进行打包,得到目标组包,目标组包中目标程序包和信息摘要算法值一一对应。
[0061]
由于在打包过程中,m个目标程序包可能会存在丢包情况,对此,可以将和m个目标程序包一一对应的m个信息摘要算法值(md值)一起进行打包,信息摘要算法值用于标识对应的目标程序包是否发生丢包情况。
[0062]
通过在打包过程中加入和m个目标组包一一对应的m个信息摘要算法值能够对丢包情况进行识别。
[0063]
s103、响应于针对目标软件的部署消息,对目标组包进行解析得到m个目标程序包和对应关系文档。
[0064]
针对目标软件的部署消息表示针对目标软件需要进行部署,此时,可以对目标组包进行解析,得到目标组包中包括的m个目标程序包和对应关系文档。
[0065]
s104、根据对应关系文档,将m个目标程序包分别部署至对应的m个机器集群。
[0066]
机器集群包括可运行目标模块的全部机器,机器包括平台服务器(platform as a service,paas)等各种服务器。
[0067]
由于对应关系文档中包括m个目标程序包和m个目标模块之间的对应关系,故可以根据该对应关系文档,将m个目标程序包分别部署至可以运行对应的目标模块的机器集群中,实现m个目标程序包在多个机器上的自动部署,即实现了m个目标程序包的快速部署。
[0068]
在一种可能的实现方式中,s104中根据对应关系文档,将m个目标程序包分别部署至对应的m个机器集群,包括:
[0069]
根据对应关系文档,确定m个目标程序包分别对应的m个目标模块;
[0070]
将m个目标程序包分别部署至分别对应的m个目标模块相对应的m个机器集群。
[0071]
由于对应关系文档中包括m个目标程序包和m个目标模块之间的对应关系,故可以根据该对应关系文档,先确定m个目标程序包分别对应的m个目标模块,由于机器集群是指能够运行目标模块的全部机器,即m个目标模块都有一一对应的机器集群,故可以将m个目标程序包分别部署至对应的m个目标模块相对应的m个机器集群上。
[0072]
在一种可能的实现方式中,基于组包的部署方法还包括:
[0073]
对m个目标程序包进行解析,确定m个目标程序包分别对应的m个发布对象;
[0074]
根据m个发布对象之间的运行关系,确定m个目标程序包的部署顺序;
[0075]
s104中将m个目标程序包分别部署至对应的m个机器集群,包括:
[0076]
按照部署顺序,将m个目标程序包分别部署至对应的m个机器集群。
[0077]
在m个目标程序包的实际部署过程中,由于每个目标程序包对应的发布对象通常是不同的,发布对象是指对应的目标程序包的内容需要发布的对象,不同的发布对象之间可能存在一定的运行关系,例如目标程序包a对应的发布对象a可能需要目标程序包b对应的发布对象b运行之后才能运行,此时,如果对m个目标程序包进行随机部署,有可能会让先部署的目标程序包在成功部署之后仍然无法顺利运行。
[0078]
对此,可以对m个目标程序包进行解析,通过解析m个目标程序包的内容,可以根据内容确定m个目标程序包分别对应的m个发布对象,然后根据m个发布对象的运行关系,确定m个目标程序包的部署顺序,具体的,需要依赖其他发布对象才能运行的发布对象,应该被部署在所依赖的发布对象之后,如图2所示,发布对象“2-1”和发布对象“2-2”都依赖于发布对象“1-1”的运行,发布对象“1-2”则不依赖于发布对象“1-1”的运行,故对应的部署顺序可以是先部署发布对象“1-1”对应的目标程序包,然后部署发布对象“2-1”和发布对象“2-2”分别对应的目标程序包,发布对象“1-2”对应的目标程序包可以独立部署。
[0079]
在确定了m个目标程序包的部署顺序之后,可以按照部署顺序,将m个目标程序包分别部署至对应的m个机器集群,从而保证目标程序包在成功部署之后即可顺利运行。
[0080]
由此可见,本技术实施例提供了一种基于组包的部署方法,该方法包括:获取m个目标模块对应的m个目标程序包,m个目标模块构成目标软件,m≥2;对m个目标程序包和对应关系文档进行打包,得到目标组包,对应关系文档用于存储m个目标模块和m个目标程序包之间的m个对应关系;响应于针对目标软件的部署消息,对目标组包进行解析得到m个目标程序包和对应关系文档;根据对应关系文档,将m个目标程序包分别部署至对应的m个机器集群,机器集群包括用于运行目标模块的全部机器。通过上述方法,将目标模块和目标程序包之间的对应关系存储于对应关系文档中,进而能够根据对应关系文档,将目标程序包分别自动部署至对应的机器集群中,从而实现程序包的快速部署。
[0081]
在前述图1-2所对应的实施例的基础上,图3为本技术实施例提供的一种基于组包的部署装置的示意图,基于组包的部署装置300包括:
[0082]
获取单元301,用于获取m个目标模块对应的m个目标程序包,m个所述目标模块构成目标软件,m≥2;
[0083]
打包单元302,用于对m个所述目标程序包和对应关系文档进行打包,得到目标组包,所述对应关系文档用于存储m个所述目标模块和m个所述目标程序包之间的m个对应关系;
[0084]
解析单元303,用于响应于针对所述目标软件的部署消息,对所述目标组包进行解析得到m个所述目标程序包和所述对应关系文档;
[0085]
部署单元304,用于根据所述对应关系文档,将m个所述目标程序包分别部署至对应的m个机器集群,所述机器集群包括可运行所述目标模块的全部机器。
[0086]
在一种可能的实现方式中,部署单元304用于:
[0087]
根据所述对应关系文档,确定m个所述目标程序包分别对应的m个所述目标模块;
[0088]
将m个所述目标程序包分别部署至分别对应的m个所述目标模块相对应的m个所述机器集群。
[0089]
在一种可能的实现方式中,所述装置还包括确定单元,用于:
[0090]
对m个所述目标程序包进行解析,确定m个所述目标程序包分别对应的m个发布对象;
[0091]
根据m个所述发布对象之间的运行关系,确定所述m个目标程序包的部署顺序;
[0092]
部署单元304,用于:
[0093]
按照所述部署顺序,将m个所述目标程序包分别部署至对应的m个机器集群。
[0094]
在一种可能的实现方式中,打包单元302用于:
[0095]
对m个所述目标程序包、m个信息摘要算法值和所述对应关系文档进行打包,得到目标组包,所述目标组包中所述目标程序包和所述信息摘要算法值一一对应。
[0096]
需要说明的是,本技术上述实施例提供的各个模块的具体工作过程可相应地参考上述方法实施例中的相应的实施方式,此处不再赘述。
[0097]
由此可见,获取m个目标模块对应的m个目标程序包,m个目标模块构成目标软件,m≥2;对m个目标程序包和对应关系文档进行打包,得到目标组包,对应关系文档用于存储m个目标模块和m个目标程序包之间的m个对应关系;响应于针对目标软件的部署消息,对目标组包进行解析得到m个目标程序包和对应关系文档;根据对应关系文档,将m个目标程序包分别部署至对应的m个机器集群,机器集群包括用于运行目标模块的全部机器。通过上述方法,将目标模块和目标程序包之间的对应关系存储于对应关系文档中,进而能够根据对应关系文档,将目标程序包分别自动部署至对应的机器集群中,从而实现程序包的快速部署。
[0098]
本技术另一实施例提供了一种电子设备,包括:
[0099]
存储器,用于存储可执行指令;
[0100]
处理器,用于执行存储器中存储的可执行指令时,实现本技术实施例上述方法实施例中方法。
[0101]
本技术另一实施例提供了一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本技术实施例上述的方法实施例中方法。
[0102]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些
功能究竟以硬件还是软件方式来执行,取决于技术方案的特定模块和设计约束条件。专业技术人员可以对每个特定的模块来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0103]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种基于组包的部署方法,其特征在于,所述方法包括:获取m个目标模块对应的m个目标程序包,m个所述目标模块构成目标软件,m≥2;对m个所述目标程序包和对应关系文档进行打包,得到目标组包,所述对应关系文档用于存储m个所述目标模块和m个所述目标程序包之间的m个对应关系;响应于针对所述目标软件的部署消息,对所述目标组包进行解析得到m个所述目标程序包和所述对应关系文档;根据所述对应关系文档,将m个所述目标程序包分别部署至对应的m个机器集群,所述机器集群包括用于运行所述目标模块的全部机器。2.根据权利要求1所述的部署方法,其特征在于,所述根据所述对应关系文档,将m个所述目标程序包分别部署至对应的m个机器集群,包括:根据所述对应关系文档,确定m个所述目标程序包分别对应的m个所述目标模块;将m个所述目标程序包分别部署至分别对应的m个所述目标模块相对应的m个所述机器集群。3.根据权利要求1所述的部署方法,其特征在于,所述方法还包括:对m个所述目标程序包进行解析,确定m个所述目标程序包分别对应的m个发布对象;根据m个所述发布对象之间的运行关系,确定所述m个目标程序包的部署顺序;所述将m个所述目标程序包分别部署至对应的m个机器集群,包括:按照所述部署顺序,将m个所述目标程序包分别部署至对应的m个机器集群。4.根据权利要求1所述的部署方法,其特征在于,所述对m个所述目标程序包和对应关系文档进行打包,得到目标组包,包括:对m个所述目标程序包、m个信息摘要算法值和所述对应关系文档进行打包,得到所述目标组包,所述目标组包中所述目标程序包和所述信息摘要算法值一一对应。5.一种基于组包的部署装置,其特征在于,所述装置包括:获取单元,用于获取m个目标模块对应的m个目标程序包,m个所述目标模块构成目标软件,m≥2;打包单元,用于对m个所述目标程序包和对应关系文档进行打包,得到目标组包,所述对应关系文档用于存储m个所述目标模块和m个所述目标程序包之间的m个对应关系;解析单元,用于响应于针对所述目标软件的部署消息,对所述目标组包进行解析得到m个所述目标程序包和所述对应关系文档;部署单元,用于根据所述对应关系文档,将m个所述目标程序包分别部署至对应的m个机器集群,所述机器集群包括用于运行所述目标模块的全部机器。6.根据权利要求5所述的部署装置,其特征在于,部署单元用于:根据所述对应关系文档,确定m个所述目标程序包分别对应的m个所述目标模块;将m个所述目标程序包分别部署至分别对应的m个所述目标模块相对应的m个所述机器集群。7.根据权利要求5所述的部署装置,其特征在于,所述装置还包括确定单元,用于:对m个所述目标程序包进行解析,确定m个所述目标程序包分别对应的m个发布对象;根据m个所述发布对象之间的运行关系,确定所述m个目标程序包的部署顺序;部署单元,用于:
按照所述部署顺序,将m个所述目标程序包分别部署至对应的m个机器集群。8.根据权利要去5所述的部署装置,其特征在于,打包单元用于:对m个所述目标程序包、m个信息摘要算法值和所述对应关系文档进行打包,得到目标组包,所述目标组包中所述目标程序包和所述信息摘要算法值一一对应。9.一种电子设备,其特征在于,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至4任一项所述的基于组包的部署方法。10.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至4任一项所述的基于组包的部署方法。

技术总结
本申请提供了一种基于组包的部署方法和相关装置,可应用于大数据领域或金融领域,该方法包括:获取M个目标模块对应的M个目标程序包,M个目标模块构成目标软件,M≥2;对M个目标程序包和对应关系文档进行打包,得到目标组包,对应关系文档用于存储M个目标模块和M个目标程序包之间的M个对应关系;响应于针对目标软件的部署消息,对目标组包进行解析得到M个目标程序包和对应关系文档;根据对应关系文档,将M个目标程序包分别部署至对应的M个机器集群,机器集群包括用于运行目标模块的全部机器。通过上述方法,能够根据对应关系文档,将目标程序包分别自动部署至对应的机器集群中,从而实现程序包的快速部署。而实现程序包的快速部署。而实现程序包的快速部署。


技术研发人员:吴宪 胡涛 孙顺吉
受保护的技术使用者:中国银行股份有限公司
技术研发日:2023.06.15
技术公布日:2023/8/5
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐