一种套装软件的部署方法及装置与流程

文档序号:19827776发布日期:2020-02-04 12:03阅读:323来源:国知局
一种套装软件的部署方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种套装软件的部署方法及装置。



背景技术:

企业应用软件是指可以在系统软件之外的所有应用软件上运行的应用,以满足企业各部门各方面的需求。

目前,在为企业部署由至少两个企业应用软件组合而成的套装软件时,由于不同的企业应用软件所要求的部署环境可能不同,因此,需要人工针对企业的部署环境,对部署套装软件中的每一个企业应用软件进行单独部署。

针对现有技术提供的套装软件的部署方法,通过人工逐个部署套软软件中的每一个企业应用软件,需要花费大量的时间,从而导致套装软件的部署效率低。



技术实现要素:

本发明实施例提供了一种套装软件的部署方法及装置,能够提高套转软件的部署效率。

第一方面,本发明实施例提供了一种套装软件的部署方法,包括:

获取来自客户端的目标请求,其中,所述目标请求用于请求由至少两个企业应用软件组成的套装软件;

从第一docker平台中,获取与所述目标请求相匹配的至少两个待组合docker镜像,其中,所述第一docker平台中存储有至少两个企业应用软件的docker镜像;

对所述至少两个待组合docker镜像进行组合打包,生成组合镜像;

将所述组合镜像返回给所述客户端,以使所述客户端在第二docker平台中安装所述组合镜像解析后的所述套装软件。

优选地,

所述对所述至少两个待组合docker镜像进行组合打包,生成组合镜像,包括:

对所述至少两个待组合docker镜像进行组合打包,生成待测试镜像;

在第三docker平台中,安装所述待测试镜像解析后的待测试软件;

对所述待测试软件进行测试;

当所述待测试软件在所述第三docker平台中测试通过时,将所述待测试软件作为所述组合镜像。

优选地,

所述对所述至少两个待组合docker镜像进行组合打包,生成待测试镜像,包括:

执行预设的组合脚本,利用所述组合脚本读取每一个所述待组合docker镜像的运行参数;

利用所述组合脚本,对读取到的所述运行参数进行组合编辑,生成待测试镜像。

优选地,

在所述获取来自客户端的目标请求之前,进一步包括:

在第一docker平台中,搭建docker镜像仓库;

获取至少两个企业应用软件;

分别将每一个所述企业应用软件制作成docker镜像,并将各个所述docker镜像存储到所述docker镜像仓库中;

所述从第一docker平台中,获取与所述目标请求相匹配的至少两个待组合docker镜像,包括:

从所述docker镜像仓库中,获取与所述目标请求相匹配的至少两个待组合docker镜像。

优选地,

在所述分别将每一个所述企业应用软件制作成docker镜像之后,在所述将各个所述docker镜像存储到所述docker镜像仓库中之前,进一步包括:

利用所述docker镜像仓库,分别设置每一个所述docker镜像的标签;

所述将各个所述docker镜像存储到所述docker镜像仓库中,包括:

将设置标签后的各个所述docker镜像存储到所述docker镜像仓库中;

所述从所述docker镜像仓库中,获取与所述目标请求相匹配的至少两个待组合docker镜像,包括:

从设置的各个所述docker镜像标签中,确定与所述目标请求相匹配的至少两个待组合docker镜像标签;

从所述docker镜像仓库中,分别获取每一个所述待组合docker镜像标签指示的待组合docker镜像。

第二方面,本发明实施例提供了一种套装软件的部署装置,包括:

请求获取模块,用于获取来自客户端的目标请求,其中,所述目标请求用于请求由至少两个企业应用软件组成的套装软件;

数据获取模块,用于从第一docker平台中,获取与所示请求获取模块获取的所述目标请求相匹配的至少两个待组合docker镜像,其中,所述第一docker平台中存储有至少两个企业应用软件的docker镜像;

镜像编辑模块,用于对所述数据获取模块获取的所述至少两个待组合docker镜像进行组合打包,生成组合镜像;

信息响应模块,用于将所述镜像编辑模块生成的所述组合镜像返回给所述客户端,以使所述客户端在第二docker平台中安装所述组合镜像解析后的所述套装软件。

优选地,

所述镜像编辑模块,包括:组合子模块和测试子模块;

所述组合子模块,用于对所述至少两个待组合docker镜像进行组合打包,生成待测试镜像;

所述测试子模块,用于对所述组合子模块生成的所述待测试软件进行测试;当所述待测试软件在所述第三docker平台中测试通过时,将所述待测试软件作为所述组合镜像。

优选地,

所述组合子模块,用于执行预设的组合脚本,利用所述组合脚本读取每一个所述待组合docker镜像的运行参数;利用所述组合脚本,对读取到的所述运行参数进行组合编辑,生成待测试镜像。

优选地,

进一步包括:仓库管理模块;

所述仓库管理模块,用于在第一docker平台中,搭建docker镜像仓库;分别将所述数据获取模块获取的至少两个企业应用软件中的每一个所述企业应用软件制作成docker镜像,并将各个所述docker镜像存储到所述docker镜像仓库中;

所述数据获取模块,进一步用于获取所述至少两个企业应用软件;从所述docker镜像仓库中,获取与所述目标请求相匹配的至少两个待组合docker镜像。

优选地,

所述仓库管理模块,进一步用于利用所述docker镜像仓库,分别设置每一个所述docker镜像的标签;将设置标签后的各个所述docker镜像存储到所述docker镜像仓库中;

所述数据获取模块,用于从所述docker镜像仓库中,分别获取每一个所述待组合docker镜像标签指示的待组合docker镜像。

本发明提供了一种套装软件的部署方法及装置,在获取到来自客户端用于请求由至少两个企业应用软件组成的套装软件的目标请求时,由于第一docker平台中存储有至少两个企业应用软件的docker镜像,因此,从第一docker平台中可以获取用于组合套装软件的组合镜像的待组合docker镜像,通过对各个待组合docker镜像进行组合打包生成组合镜像后,返回给客户端。由于套装软件是由至少两个企业应用软件组成,并且客户端中设置有第二docker平台,可以屏蔽掉客户端部署环境的差异性,因此仅通过安装套装软件,即可完成软件的部署工作,避免了大量现场调试软件的工作,缩短套装软件的部署时间,提高套装软件的部署效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例提供的一种套装软件的部署方法的流程图;

图2是本发明一实施例提供的另一种套装软件的部署方法的流程图;

图3是本发明一实施例提供的一种套装软件的部署的结构示意图;

图4是本发明一实施例提供的另一种套装软件的部署的结构示意图;

图5是本发明一实施例提供的又一种套装软件的部署的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种套装软件的部署方法,包括:

步骤101:获取来自客户端的目标请求,其中,所述目标请求用于请求由至少两个企业应用软件组成的套装软件;

步骤102:从第一docker平台中,获取与所述目标请求相匹配的至少两个待组合docker镜像,其中,所述第一docker平台中存储有至少两个企业应用软件的docker镜像;

步骤103:对所述至少两个待组合docker镜像进行组合打包,生成组合镜像;

步骤104:将所述组合镜像返回给所述客户端,以使所述客户端在第二docker平台中安装所述组合镜像解析后的所述套装软件。

在本发明实施例中,在获取到来自客户端用于请求由至少两个企业应用软件组成的套装软件的目标请求时,由于第一docker平台中存储有至少两个企业应用软件的docker镜像,因此,从第一docker平台中可以获取用于组合套装软件的组合镜像的待组合docker镜像,通过对各个待组合docker镜像进行组合打包生成组合镜像后,返回给客户端。由于套装软件是由至少两个企业应用软件组成,并且客户端中设置有第二docker平台,可以屏蔽掉客户端部署环境的差异性,因此仅通过安装套装软件,即可完成软件的部署工作,避免了大量现场调试软件的工作,缩短套装软件的部署时间,提高套装软件的部署效率。

在本发明一实施例中,所述对所述至少两个待组合docker镜像进行组合打包,生成组合镜像,包括:

对所述至少两个待组合docker镜像进行组合打包,生成待测试镜像;

在第三docker平台中,安装所述待测试镜像解析后的待测试软件;

对所述待测试软件进行测试;

当所述待测试软件在所述第三docker平台中测试通过时,将所述待测试软件作为所述组合镜像。

在本发明实施例中,在对与目标请求相匹配的至少两个待组合docker组合打包后,需要在第三docker平台中,对组合打包后的待测试镜像进行解析,安装解析后的待测试软件,然后再对待测试软件进行测试,以使确定待测试软件运行是否异常,当确定待测试软件在第三docker平台中测试通过时,可以将待测试软件作为组合镜像返回给客户端,以便客户端在第二docker平台中安装解析后的套装软件,完成套装软件的部署。

在本发明一实施例中,所述对所述至少两个待组合docker镜像进行组合打包,生成待测试镜像,包括:

执行预设的组合脚本,利用所述组合脚本读取每一个所述待组合docker镜像的运行参数;

利用所述组合脚本,对读取到的所述运行参数进行组合编辑,生成待测试镜像。

在本发明实施例中,在对待组合docker进行组合打包时,可以运行预设的组合脚本,分别读取待组合docker镜像中的运行参数,然后进行组合编辑,生成由各个待组合docker镜像组成的组合镜像,完成各个待组合docker镜像的组合工作,以简化客户端部署套装软件时的工作量。

在本发明一实施例中,在所述获取来自客户端的目标请求之前,进一步包括:

在第一docker平台中,搭建docker镜像仓库;

获取至少两个企业应用软件;

分别将每一个所述企业应用软件制作成docker镜像,并将各个所述docker镜像存储到所述docker镜像仓库中;

所述从第一docker平台中,获取与所述目标请求相匹配的至少两个待组合docker镜像,包括:

从所述docker镜像仓库中,获取与所述目标请求相匹配的至少两个待组合docker镜像。

在本发明实施例中,为了便于第一docker平台管理各个docker镜像,可以在第一docker平台中搭建docker镜像仓库,例如,将获取的docker镜像仓库的镜像上传到第一docker平台中,然后在第一docker平台中对docker镜像仓库的镜像进行解析,获得docker镜像仓库,再进行安装,即可完成docker镜像仓库的搭建。再将制作的各个docker镜像放入到docker镜像仓库进行存储,以便对docker镜像进行统一管理。

在本发明一实施例中,在所述分别将每一个所述企业应用软件制作成docker镜像之后,在所述将各个所述docker镜像存储到所述docker镜像仓库中之前,进一步包括:

利用所述docker镜像仓库,分别设置每一个所述docker镜像的标签;

所述将各个所述docker镜像存储到所述docker镜像仓库中,包括:

将设置标签后的各个所述docker镜像存储到所述docker镜像仓库中;

所述从所述docker镜像仓库中,获取与所述目标请求相匹配的至少两个待组合docker镜像,包括:

从设置的各个所述docker镜像标签中,确定与所述目标请求相匹配的至少两个待组合docker镜像标签;

从所述docker镜像仓库中,分别获取每一个所述待组合docker镜像标签指示的待组合docker镜像。

在本发明实施例中,通过执行第一docker平台中的docker镜像仓库分别为每一个docker镜像打上标签,然后再将设置标签后的docker镜像存储到docker镜像仓库中,以使获取到来自客户端的目标请求后,依据docker镜像上的标签,从docker镜像中查找与目标请求相匹配的待组合docker镜像,以缩短查找待组合docker镜像的时间。

如图2所示,为了更加清楚的说明本发明的技术方案及优点,下面对本发明实施例提供的一种套装软件的部署方法,具体可以包括以下步骤:

步骤201:在第一docker平台中,搭建docker镜像仓库。

步骤202:获取至少两个企业应用软件。

步骤203:分别将每一个企业应用软件制作成docker镜像。

具体地,通过在设置有第一docker平台的环境中搭建docker镜像仓库,以便在将至少两个企业应用软件制作成docker镜像后,通过docker镜像仓库对docker镜像进行管理。

步骤204:利用docker镜像仓库,分别设置每一个docker镜像的标签。

步骤205:将设置标签后的各个docker镜像存储到docker镜像仓库中。

具体地,基于第一docker平台中的docker镜像仓库,可以为各个docker镜像打上标签,以便在将docker镜像存储到docker镜像仓库后,基于标签识别docker镜像。

步骤206:获取来自客户端的目标请求,其中,目标请求用于请求由至少两个企业应用软件组成的套装软件。

步骤207:从设置的各个docker镜像标签中,确定与目标请求相匹配的至少两个待组合docker镜像标签。

步骤208:从docker镜像仓库中,分别获取每一个待组合docker镜像标签指示的待组合docker镜像。

具体地,当获取到来自客户端用于请求,由企业应用软件z1、企业应用软件x1和企业应用软件c1组成的套装软件的目标请求时,可以基于套装软件中各个企业应用软件的标识,从docker镜像仓库中获取与企业应用软件z1、企业应用软件x和企业应用软件c相匹配的待组合docker镜像标签z2、x2和c2,再基于待组合docker镜像标签z2、x2和c2识别获取待组合docker镜像z2、x2和c2。

步骤209:执行预设的组合脚本,利用组合脚本读取每一个待组合docker镜像的运行参数。

步骤210:利用组合脚本,对读取到的运行参数进行组合编辑,生成待测试镜像。

具体地,通过执行预设的组合脚本,读取所要组合的待组合docker镜像的运行参数,可以减少镜像组合时的人工参与情况,再对运行参数进行组合编辑,生成由各个待组合docker镜像组成的待测试镜像,完成镜像的组合打包工作。

步骤211:在第三docker平台中,安装待测试镜像解析后的待测试软件。

步骤212:对待测试软件进行测试。

步骤213:当待测试软件在第三docker平台中测试通过时,将待测试软件作为组合镜像。

具体地,为了保证套装软件在客户端能够正常运行,在对各个待组合docker进行组合打包后,需要将组合打包后的待测试镜像在第三docker凭条中进行安装测试,当且仅当待测试镜像在第三docker平台中测试通过时,将其作为组合镜像返回给客户端,以使在客户端中安装部署。由于客户端中设置有第二docker平台,因此可以通过docker屏蔽掉客户端运行环境的差异性,避免了安装套装软件时需要大量现场调试、测试企业软件的工作、使得套装软件部署更简单、减少因可部署环境的巨大差异带来的额外工作。

步骤214:将组合镜像返回给客户端,以使客户端在第二docker平台中安装组合镜像解析后的套装软件。

具体地,为了提高组合镜像传输过程中的安全性,可以对客户端所请求的套装软件的第一信息和组合镜像进行哈希计算,获得第一哈希值,然后将第一哈希值和组合镜像分别返回给客户端,这样客户端在接收到组合镜像和第一哈希值后,由于客户端明确套装软件的第一信息,因此,可以基于套装软件的第一信息和接收到的组合镜像进行哈希计算,获得第二哈希值,通过将第一哈希值与第二哈希值进行比对,可以确定组合镜像在传输途中是否被篡改,例如,在第一哈希值与第二哈希值相同时,可以确定组合镜像在传输过程中未被篡改。由于第一哈希值和组合镜像不是同时传输给客户端,所以可以防止第一哈希值和组合镜像被同时窃取。

具体地,套装软件的第一信息包括:套装软件中各个企业应用软件的标识信息(例如,软件名称、版本信息)。

如图3所示,一种套装软件的部署装置,包括:

请求获取模块301,用于获取来自客户端的目标请求,其中,所述目标请求用于请求由至少两个企业应用软件组成的套装软件;

数据获取模块302,用于从第一docker平台中,获取与所示请求获取模块301获取的所述目标请求相匹配的至少两个待组合docker镜像,其中,所述第一docker平台中存储有至少两个企业应用软件的docker镜像;

镜像编辑模块303,用于对所述数据获取模块302获取的所述至少两个待组合docker镜像进行组合打包,生成组合镜像;

信息响应模块304,用于将所述镜像编辑模块生303成的所述组合镜像返回给所述客户端,以使所述客户端在第二docker平台中安装所述组合镜像解析后的所述套装软件。

在本发明实施例中,在请求获取模块获取到来自客户端用于请求由至少两个企业应用软件组成的套装软件的目标请求时,由于第一docker平台中存储有至少两个企业应用软件的docker镜像,因此,数据获取模块从第一docker平台中可以获取用于组合套装软件的组合镜像的待组合docker镜像,信息响应模块通过镜像编辑模块对各个待组合docker镜像进行组合打包生成组合镜像后,返回给客户端。由于套装软件是由至少两个企业应用软件组成,并且客户端中设置有第二docker平台,可以屏蔽掉客户端部署环境的差异性,因此仅通过安装套装软件,即可完成软件的部署工作,避免了大量现场调试软件的工作,缩短套装软件的部署时间,提高套装软件的部署效率。

如图4所示,在本发明一实施例中,所述镜像编辑模块303,包括:组合子模块3031和测试子模块3032;

所述组合子模块3031,用于对所述至少两个待组合docker镜像进行组合打包,生成待测试镜像;

所述测试子模块3032,用于对所述组合子模块3031生成的所述待测试软件进行测试;当所述待测试软件在所述第三docker平台中测试通过时,将所述待测试软件作为所述组合镜像。

在本发明一实施例中,所述组合子模块,用于执行预设的组合脚本,利用所述组合脚本读取每一个所述待组合docker镜像的运行参数;利用所述组合脚本,对读取到的所述运行参数进行组合编辑,生成待测试镜像。

如图5所示,在本发明一实施例中,所述的套装软件的部署装置进一步包括:仓库管理模块401;

所述仓库管理模块401,用于在第一docker平台中,搭建docker镜像仓库;分别将所述数据获取模块302获取的至少两个企业应用软件中的每一个所述企业应用软件制作成docker镜像,并将各个所述docker镜像存储到所述docker镜像仓库中;

所述数据获取模块302,进一步用于获取所述至少两个企业应用软件;从所述docker镜像仓库中,获取与所述目标请求相匹配的至少两个待组合docker镜像。

在本发明一实施例中,所述仓库管理模块,进一步用于利用所述docker镜像仓库,分别设置每一个所述docker镜像的标签;将设置标签后的各个所述docker镜像存储到所述docker镜像仓库中;

所述数据获取模块,用于从所述docker镜像仓库中,分别获取每一个所述待组合docker镜像标签指示的待组合docker镜像。

本发明各个实施例至少具有如下有益效果:

1、在本发明一实施例中,在获取到来自客户端用于请求由至少两个企业应用软件组成的套装软件的目标请求时,由于第一docker平台中存储有至少两个企业应用软件的docker镜像,因此,从第一docker平台中可以获取用于组合套装软件的组合镜像的待组合docker镜像,通过对各个待组合docker镜像进行组合打包生成组合镜像后,返回给客户端。由于套装软件是由至少两个企业应用软件组成,并且客户端中设置有第二docker平台,可以屏蔽掉客户端部署环境的差异性,因此仅通过安装套装软件,即可完成软件的部署工作,避免了大量现场调试软件的工作,缩短套装软件的部署时间,提高套装软件的部署效率。

2、在本发明一实施例中,在对与目标请求相匹配的至少两个待组合docker组合打包后,需要在第三docker平台中,对组合打包后的待测试镜像进行解析,安装解析后的待测试软件,然后再对待测试软件进行测试,以使确定待测试软件运行是否异常,当确定待测试软件在第三docker平台中测试通过时,可以将待测试软件作为组合镜像返回给客户端,以便客户端在第二docker平台中安装解析后的套装软件,完成套装软件的部署。

3、在本发明一实施例中,在对待组合docker进行组合打包时,可以运行预设的组合脚本,分别读取待组合docker镜像中的运行参数,然后进行组合编辑,生成由各个待组合docker镜像组成的组合镜像,完成各个待组合docker镜像的组合工作,以简化客户端部署套装软件时的工作量。

4、在本发明一实施例中,为了便于第一docker平台管理各个docker镜像,可以在第一docker平台中搭建docker镜像仓库,例如,将获取的docker镜像仓库的镜像上传到第一docker平台中,然后在第一docker平台中对docker镜像仓库的镜像进行解析,获得docker镜像仓库,再进行安装,即可完成docker镜像仓库的搭建。再将制作的各个docker镜像放入到docker镜像仓库进行存储,以便对docker镜像进行统一管理。

5、在本发明一实施例中,通过执行第一docker平台中的docker镜像仓库分别为每一个docker镜像打上标签,然后再将设置标签后的docker镜像存储到docker镜像仓库中,以使获取到来自客户端的目标请求后,依据docker镜像上的标签,从docker镜像中查找与目标请求相匹配的待组合docker镜像,以缩短查找待组合docker镜像的时间。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃····〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1