一种软件安装方法及装置与流程

文档序号:12363029阅读:198来源:国知局
一种软件安装方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种软件安装方法及装置。



背景技术:

信息化技术飞速发展的今天,越来越多的企业开始使用云计算,IT的价值已经开始向云模式迁移。但对于IT应用架构自身而言,随着用户应用数量和规模的不断增长,使用的操作系统、中间件、数据库及应用程序也越来越多。目前,用户若需要在服务器或虚拟机上安装应用软件,通常是通过手动的方式在服务器或虚拟机上安装应用软件。但是由于手工安装的方法容易出错,并且出错后问题难以定位,因此会影响工作效率,增加维护成本。对于需要安装多套应用软件的情况,则需要管理员重复进行手工安装,工作效率极低。



技术实现要素:

有鉴于此,本发明提供一种软件安装方法及装置,来解决现有技术中手工安装导致的工作效率低的问题。

具体地,本发明是通过如下技术方案实现的:

本发明提供一种软件安装方法,所述方法应用于应用部署平台设备,所述方法包括:

在本地创建软件安装设备对应的软件安装模板,所述软件安装模板中至少包含该软件安装设备需要安装的软件安装包和软件安装时所需的软件安装参数信息;

将用户选择的软件安装模板中软件安装设备需要的软件安装包发送到所述软件安装设备;

当所述软件安装设备需要安装软件时,向所述软件安装设备发送携带所述软件安装参数信息的安装命令,以使所述软件安装设备接收到所述安装命令后基于所述软件安装包以及所述参数信息进行软件安装。

进一步的,创建所述软件安装模板的方法包括:

获取软件安装信息,所述软件安装信息包含软件安装程序、安装脚本以及安装该软件需要的参数项;

将所述软件安装信息组织成软件安装包并存储;

基于软件安装设备需要安装的软件安装包、以及由参数项和参数项对应的参数值组成的软件安装参数信息创建软件安装模板。

进一步的,获取所述软件信息的方法包括:

确定需要安装的软件类型,当软件类型为预定义软件时,在本地获取所述预定义软件对应的软件信息,其中该软件信息中的参数项为已有的参数项;当软件类型为自定义软件时,获取用户上传的所述自定义软件对应的软件信息,其中该软件信息中的参数项为用户自定义设置的参数项。

进一步的,基于软件安装设备需要安装的软件安装包、以及由参数项和参数项对应的参数值组成的软件安装参数信息创建软件安装模板,具体包括:

确定当前是否已创建了软件安装设备,如果是,则在已创建的软件安装设备中选择需要安装软件的软件安装设备;如果否,则创建新的软件安装设备。

本发明还提供一种软件安装方法,所述方法应用于软件安装设备,所述方法包括:

接收应用部署平台设备发送的软件安装模板中的所述软件安装设备需要安装的软件安装包;

接收所述应用部署平台设备发送的安装命令,所述安装命令中携带了所述软件安装模板中所述软件安装设备安装软件时所需的软件安装参数信息;

基于所述软件安装包以及所述软件安装参数信息进行软件安装。

基于相同的构思,本发明还提供一种软件安装装置,所述装置应用于应用部署平台设备,所述装置包括:

模板创建单元,用于在本地创建软件安装设备对应的软件安装模板,所述软件安装模板中至少包含该软件安装设备需要安装的软件安装包和软件安装时所需的软件安装参数信息;

第一发送单元,用于将用户选择的软件安装模板中软件安装设备需要的软件安装包发送到所述软件安装设备;

第二发送单元,用于当所述软件安装设备需要安装软件时,向所述软件安装设备发送携带所述软件安装参数信息的安装命令,以使所述软件安装设备接收到所述安装命令后基于所述软件安装包以及所述参数信息进行软件安装。

进一步的,所述模板创建单元,具体包括:

获取子单元,用于获取软件安装信息,所述软件安装信息包含软件安装程序、安装脚本以及安装该软件需要的参数项;

组织子单元,用于将所述软件安装信息组织成软件安装包并存储;

创建子单元,用于基于软件安装设备需要安装的软件安装包、以及由参数项和参数项对应的参数值组成的软件安装参数信息创建软件安装模板。

进一步的,所述获取子单元,具体用于确定需要安装的软件类型,当软件类型为预定义软件时,在本地获取所述预定义软件对应的软件信息,其中该软件信息中的参数项为已有的参数项;当软件类型为自定义软件时,获取用户上传的所述自定义软件对应的软件信息,其中该软件信息中的参数项为用户自定义设置的参数项。

进一步的,所述创建子单元,还用于确定当前是否已创建了软件安装设备,如果是,则在已创建的软件安装设备中选择需要安装软件的软件安装设备;如果否,则创建新的软件安装设备。

本发明还提供一种软件安装装置,所述装置应用于软件安装设备,所述装置包括:

第一接收单元,用于接收应用部署平台设备发送的软件安装模板中的所述软件安装设备需要安装的软件安装包;

第二接收单元,用于接收所述应用部署平台设备发送的安装命令,所述安装命令中携带了所述软件安装模板中所述软件安装设备安装软件时所需的软件安装参数信息;

软件安装单元,用于基于所述软件安装包以及所述软件安装参数信息进行软件安装。

由此可见,本发明可以使应用部署平台设备在本地创建软件安装设备对应的软件安装模板,所述软件安装模板中至少包含该软件安装设备需要安装的软件安装包和软件安装时所需的软件安装参数信息;然后将用户选择的软件安装模板中软件安装设备需要的软件安装包发送到所述软件安装设备;并当所述软件安装设备需要安装软件时,向所述软件安装设备发送携带所述软件安装参数信息的安装命令,以使所述软件安装设备接收到所述安装命令后基于所述软件安装包以及所述参数信息进行软件安装。因此本发明可以代替手工安装,实现在软件安装设备例如虚拟机上自动批量安装应用软件,从而简化了安装操作过程,提高了工作效率。

附图说明

图1是本发明一种示例性实施方式中的一种软件安装方法的处理流程图;

图2是本发明一种示例性实施方式中的另一种软件安装方法的处理流程图;

图3本发明一种示例性实施方式中的软件安装交互流程图;

图4a本发明一种示例性实施方式中的软件安装装置所在应用部署平台设备的硬件结构图;

图4b本发明一种示例性实施方式中的一种软件安装装置的逻辑结构图;

图5a本发明一种示例性实施方式中的软件安装装置所在软件安装设备的硬件结构图;

图5b本发明一种示例性实施方式中的另一种软件安装装置的逻辑结构图。

具体实施方式

为了解决现有技术存在的问题,本发明提供一种软件安装方法及装置,可以使应用部署平台设备在本地创建软件安装设备对应的软件安装模板,所述软件安装模板中至少包含该软件安装设备需要安装的软件安装包和软件安装时所需的软件安装参数信息;然后将用户选择的软件安装模板中软件安装设备需要的软件安装包发送到所述软件安装设备;并当所述软件安装设备需要安装软件时,向所述软件安装设备发送携带所述软件安装参数信息的安装命令,以使所述软件安装设备接收到所述安装命令后基于所述软件安装包以及所述参数信息进行软件安装。因此本发明可以代替手工安装,实现在虚拟机上自动批量安装应用软件,从而简化了安装操作过程,提高了工作效率。

请参考图1,是本发明一种示例性实施方式中的一种软件安装方法的处理流程图,所述方法应用于应用部署平台设备,所述应用部署平台设备通常用于为用户提供向软件安装设备部署应用的平台,所述软件安装设备通常为虚拟机或服务器。所述方法包括:

步骤101、在本地创建软件安装设备对应的软件安装模板,所述软件安装模板中至少包含该软件安装设备需要安装的软件安装包和软件安装时所需的软件安装参数信息;

在本实施例中,所述应用部署平台设备中可以根据用户设置等方式创建并保存多个软件安装模板,在每个软件安装模板中,可以为所述软件安装设备设置一个或多个需要安装的软件安装包和软件安装时所需的软件安装参数信息。

步骤102、将用户选择的软件安装模板中软件安装设备需要的软件安装包发送到所述软件安装设备;

当用户在所述应用部署平台设备中多个软件安装模板中确定任意一个软件安装模板时,该应用部署平台设备可以获取该软件安装模板中软件安装设备需要的软件安装包,然后将该软件安装包推送到所述软件安装设备。

步骤103、当所述软件安装设备需要安装软件时,向所述软件安装设备发送携带所述软件安装参数信息的安装命令,以使所述软件安装设备接收到所述安装命令后基于所述软件安装包以及所述参数信息进行软件安装。

当所述软件安装设备需要安装软件时,该应用部署平台设备进一步向所述软件安装设备发送携带所述软件安装参数信息的安装命令,以使所述软件安装设接收到所述安装命令后基于所述软件安装包以及所述参数信息进行软件安装。在本发明可选的实施例中,所述安装命令可以为JSON消息,该JSON消息中包括所述软件安装设备在安装软件时所需的软件安装参数信息。由于现有技术中,用户需要在软件安装设备上手动设置安装软件时所需的软件安装参数信息,而本发明可以将该软件安装参数信息在软件安装模板中设置好,并可以通过安装命令将软件安装参数信息发送到软件安装设备,从而实现在软件安装设备上自动安装软件,从而可以提高安装效率。

至此,图1所示的软件安装步骤结束。

相比于现有技术,本发明中图1所示的软件安装方法可以代替手工安装,实现在软件安装设备例如虚拟机上自动批量安装应用软件,从而简化了安装操作过程,提高了工作效率。

上述步骤101中所述的软件安装模板通常可以由用户在该应用部署平台设备提供的平台中创建,具体创建过程包括:

首先,应用部署平台设备可以通过向用户提供的平台获取用户所选的软件信息,该软件信息包括软件安装程序、安装脚本,以及该软件安装时所需的参数项,其中这些参数项还未设置参数值。

需要说明的是,用户在选择软件信息时,可以分为预定义软件和自定义软件。其中,所述预定义软件是应用部署平台设备中已设置的常用软件,其中预定义软件的软件信息中包括该软件的软件安装程序、安装脚本以及该软件安装时所需的参数项,预定义软件中的参数项多为常用的标准参数项,用户无法对其进行修改;所述自定义软件是应用部署平台设备中未设置的、由用户上传的软件,其中自定义软件的软件信息中也包括该软件的软件安装程序、安装脚本以及该软件安装时所需的参数项,而不同于预定义软件的是,自定义软件中的参数项可以由用户进行编辑,例如用户可以在自定义软件信息中添加用户名和密码等参数项之后,应用部署平台设备可以将该软件信息组织为软件安装包并存储在本地。

然后,应用部署平台设备可以确定当前是否已创建了软件安装设备,如果是,则可以在已创建的软件安装设备中选择需要安装软件的软件安装设备;如果否,则可以创建新的软件安装设备以适用该软件安装模板。

最后,应用部署平台设备基于软件安装设备需要安装的软件安装包、以及由参数项和参数项对应的参数值组成的软件安装参数信息创建软件安装设备对应的软件安装模板。在该软件安装模板中,一个软件安装设备可以对应多个软件安装包,一个软件安装包也可以对应多个软件安装设备,不同的软件安装包和软件安装设备分别通过软件标识和设备标识进行区分,所述软件标识可以是软件ID,设备标识可以是设备的IP地址,从而保证批量安装的准确性,提高批量安装的工作效率。

安装结束后,应用部署平台设备可以接收并显示软件安装设备发送的安装结果,所述安装结果包括安装成功和安装失败。当安装结果为安装失败时,该安装结果中还可以包括失败原因等信息,以便于问题回溯。

根据本发明所提供的软件安装方法,对于软件安装设备也具有不同的改进。请参考图2,是本发明一种示例性实施方式中的另一种软件安装方法的处理流程图,所述方法应用于软件安装设备,所述方法包括:

步骤201、接收应用部署平台设备发送的软件安装模板中的所述软件安装设备需要安装的软件安装包;

在本实施例中,所述应用部署平台设备中可以包括所述软件安装设备对应的多个软件安装模板,每个软件安装模板中包括软件安装设备所需的软件安装包及软件安装参数信息。当用户在多个软件安装模板中确定一个软件安装模板时,该软件安装设备会收到该应用部署平台设备发送的被选中的软件安装模板中的软件安装设备对应的软件安装包,然后软件安装设备可以将该软件安装包保存在本地。

步骤202、接收所述应用部署平台设备发送的安装命令,所述安装命令中携带了所述软件安装模板中所述软件安装设备安装软件时所需的软件安装参数信息;

在需要该软件安装设备安装该软件时,软件安装设备接收所述应用部署平台设备发送的安装命令,所述安装命令中携带了所述软件安装模板中所述软件安装设备安装软件时所需的软件安装参数信息。

步骤203、基于所述软件安装包以及所述软件安装参数信息进行软件安装。

该软件安装设备获取安装命令中的软件安装参数信息后,会根据该软件安装参数信息及已存的软件安装包进行软件安装。

安装结束后,软件安装设备可以向应用部署平台设备发送安装结果,所述安装结果包括安装成功和安装失败。当安装结果为安装失败时,该安装结果中还可以包括失败原因等信息,以便于问题回溯。

至此,图2所示的软件安装步骤结束。

相比于现有技术,本发明的软件安装方法可以代替手工安装,实现在软件安装设备例如虚拟机上自动批量安装应用软件,并可以反馈安装结果便于问题回溯,从而简化了安装操作过程,提高了工作效率。

为使本发明的目的、技术方案及优点更加清楚明白,下面结合图3的交互流程对本发明的具体实施方案作进一步地详细说明。

步骤301、用户在应用部署平台设备中设置软件安装模板;

该应用部署平台设备为用户提供平台进行软件安装模板的创建。假设用户选择自定义软件,则应用部署平台设备首先会获取用户上传自定义软件,其中包括软件安装程序和安装脚本;之后,用户可以设置该软件安装所需要的参数项,例如通过编辑、新建等来修改或增加任意多个参数项,例如用户可以在需要注册登录的软件中增加用户名Username和密码Password两个参数项(此参数仅为示例性说明,实际应用中可以增加其他参数,此处不做限定);该应用部署平台设备获取上述信息后,可将所述软件安装程序、安装脚本和参数项打包成一个软件安装包,所述软件安装包具有软件名称及软件ID,该软件ID与安装脚本和软件本体中的软件ID相同;之后,用户还可以在平台中选择所需的软件安装设备并记录该软件安装设备的IP地址,并设置软件安装时所有参数项对应的参数值。当用户在该平台中完成设置后,该应用部署平台设备会将上述软件安装包、软件安装设备的IP地址以及软件安装时所有参数项及其对应的参数值等资源生成软件安装模板。

步骤302、应用部署平台设备保存该软件安装模板;

步骤303、用户选择该软件安装模板;

步骤304、应用部署平台设备获取该软件安装模板中的软件安装设备的IP地址和对应的软件安装包及软件ID;

步骤305、应用部署平台设备根据该软件安装设备的IP地址推送软件安装包到软件安装设备;

步骤306、软件安装设备接收该软件安装包并保存;

步骤307、应用部署平台设备向软件安装设备发送JSON消息;

所述JSON消息中包括需要安装的软件ID以及软件安装时所有参数项及其对应的参数值。

步骤308、软件安装设备根据收到的JSON消息进行软件安装;

当软件安装设备收到的JSON消息后,获取所述JSON消息中的需要安装的软件ID,通过该软件ID查找对应的软件安装包;并根据该软件安装包及软件安装时所有参数项及其对应的参数值进行软件安装。

步骤309、软件安装设备向应用部署平台设备反馈携带该软件ID的安装结果;

步骤310、应用部署平台设备根据该软件ID显示该安装结果。

至此,图3所示的软件安装交互流程结束。

相比于现有技术,本发明通过在上传自定义软件时设置安装所需要的参数,能够适应所有自定义软件的安装参数要求,通过在创建软件安装模板时设置安装参数,满足不同的应用场景的参数设置,并通过这种将软件安装模板实例化的安装方式,满足管理员重复多次安装应用场景,极大提高管理员工作效率。

基于相同的构思,本发明还提供一种软件安装装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的软件安装装置作为一个逻辑意义上的装置,是通过其所在装置的CPU将存储器中对应的计算机程序指令读取后运行而成。

请参考图4a是本发明一种示例性实施方式中的软件安装装置所在应用部署平台设备的硬件结构图;所述装置应用于应用部署平台设备,该装置基本运行环境包括CPU,存储器以及其他硬件。从逻辑层面上来看,该软件安装装置400的逻辑结构如图4b所示,其中该装置400包括:

模板创建单元401,用于在本地创建软件安装设备对应的软件安装模板,所述软件安装模板中至少包含该软件安装设备需要安装的软件安装包和软件安装时所需的软件安装参数信息;

第一发送单元402,用于将用户选择的软件安装模板中软件安装设备需要的软件安装包发送到所述软件安装设备;

第二发送单元403,用于当所述软件安装设备需要安装软件时,向所述软件安装设备发送携带所述软件安装参数信息的安装命令,以使所述软件安装设备接收到所述安装命令后基于所述软件安装包以及所述参数信息进行软件安装。

可选的,所述模板创建单元401,具体包括:

获取子单元4011,用于获取软件安装信息,所述软件安装信息包含软件安装程序、安装脚本以及安装该软件需要的参数项;

组织子单元4012,用于将所述软件安装信息组织成软件安装包并存储;

创建子单元4013,用于基于软件安装设备需要安装的软件安装包、以及由参数项和参数项对应的参数值组成的软件安装参数信息创建软件安装模板。

可选的,所述获取子单元4011,具体用于确定需要安装的软件类型,当软件类型为预定义软件时,在本地获取所述预定义软件对应的软件信息,其中该软件信息中的参数项为已有的参数项;当软件类型为自定义软件时,获取用户上传的所述自定义软件对应的软件信息,其中该软件信息中的参数项为用户自定义设置的参数项。

可选的,所述创建子单元4013,还用于确定当前是否已创建了软件安装设备,如果是,则在已创建的软件安装设备中选择需要安装软件的软件安装设备;如果否,则创建新的软件安装设备。

请参考图5a是本发明一种示例性实施方式中的软件安装装置所在软件安装设备的硬件结构图;所述装置应用于软件安装设备,该装置基本运行环境包括CPU,存储器以及其他硬件。从逻辑层面上来看,该软件安装装置500的逻辑结构如图5b所示,其中该装置500包括:

第一接收单元501,用于接收应用部署平台设备发送的软件安装模板中的所述软件安装设备需要安装的软件安装包;

第二接收单元502,用于接收所述应用部署平台设备发送的安装命令,所述安装命令中携带了所述软件安装模板中所述软件安装设备安装软件时所需的软件安装参数信息;

软件安装单元503,用于基于所述软件安装包以及所述软件安装参数信息进行软件安装。

综上所述,本发明可以使应用部署平台设备在本地创建软件安装设备对应的软件安装模板,所述软件安装模板中至少包含该软件安装设备需要安装的软件安装包和软件安装时所需的软件安装参数信息;然后将用户选择的软件安装模板中软件安装设备需要的软件安装包发送到所述软件安装设备;并当所述软件安装设备需要安装软件时,向所述软件安装设备发送携带所述软件安装参数信息的安装命令,以使所述软件安装设备接收到所述安装命令后基于所述软件安装包以及所述参数信息进行软件安装。因此本发明可以代替手工安装,实现在软件安装设备例如虚拟机上自动批量安装应用软件,从而简化了安装操作过程,提高了工作效率。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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