CN102736946B - 一种应用节点的批量部署方法及装置 - Google Patents
一种应用节点的批量部署方法及装置 Download PDFInfo
- Publication number
- CN102736946B CN102736946B CN201110089496.0A CN201110089496A CN102736946B CN 102736946 B CN102736946 B CN 102736946B CN 201110089496 A CN201110089496 A CN 201110089496A CN 102736946 B CN102736946 B CN 102736946B
- Authority
- CN
- China
- Prior art keywords
- software package
- information
- application node
- software
- snapshot info
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供了一种应用节点的批量部署方法及装置,其中,所述方法包括:构造应用节点原型机,所述原型机中记录有应用节点的软件包列表信息,以及,软件包所含配置文件的修改信息;在所述原型机上,依据所述软件包列表信息和软件包所含配置文件的修改信息生成应用节点的快照信息,所述快照信息包括修改后的软件包信息,被修改的软件包信息及其修改内容信息;在目标服务器上,依据所述应用节点的快照信息部署应用节点;包括:依据修改后的软件包信息安装对应的软件包;以及,依据所述被修改的软件包信息及其修改内容信息对相应软件包的对应内容进行修改。本发明可以简化应用节点批量部署的流程,提高应用节点批量部署的效率,并大幅降低操作风险。
Description
技术领域
本申请涉及应用节点数据处理的技术领域,特别是涉及一种应用节点的批量部署方法及一种应用节点的批量部署装置。
背景技术
在拥有上百台乃至千台服务器的企业级网的络应用中,需要将开发好的应用节点在服务器集群上进行部署。如电子商务网站的广告运算引擎集群、展现前端集群、存储集群、Jboss(JBoss是一个开源的符合J2EE规范的应用服务器)集群、中间件服务集群等集群服务,在集群需要扩容、部署、升级、回滚、还原、重用时,对集群服务器上的应用节点进行批量分发、拷贝和配置等部署操作。在本申请申请中,应用节点是指,物理服务器或虚拟服务器及其计算机操作***,使用软件作为计算机应用服务的主机载体单位。
以在Linux服务器上使用RPM(RedhatPackageManager,软件包管理器)进行软件部署为例,目前,普遍应用于服务器集群的应用节点批量部署方法主要有以下几种:
第一种,使用tar.gz格式的压缩包或同功能压缩包部署:
假设应用节点由软件a、b、c组成,其中,软件a需要修改配置a.conf1,软件b、c无需修改配置,此应用节点需要部署至200台服务器上。采用tar.gz包的部署方式,首先分别解压缩软件a、b、c的三个tar.gz包,并拷贝至对应***目录,然后手工修改a.conf1,完成第1台服务器的部署;余下的199台服务器反复执行上述操作。通过编写批量脚本,可以略微提升这种部署方式的效率,但该部署方法的执行效率仍然十分低下,并且在部署过程中非常容易出错,尤其在处理大数量级应用节点的批量部署时,有极大的操作风险。
第二种、使用Yum包部署:
公知的是,Yum全称为YellowdogUpdater,Modified。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。假设应用节点由软件a、b、c组成,其中,软件a需要修改配置a.conf1,软件b、c无需修改配置,此应用节点需要部署至200台服务器上。采用Yum包的部署方式,使用yuminstallabc命令安装三个软件包,文件自动按照软件包指定路径部署至目标目录,手工修改a.conf1,完成第1台服务器的部署,余下的199台服务器反复执行上述操作。通过编写批量脚本,可以提升这种部署方式的效率。相对于使用tar.gz包部署的方法,Yum包部署方法的效率能有所提升,但在修改配置时容易出错,尤其在处理大数量级应用节点的批量部署时,错误时常会发生,有极大的操作风险。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:创造性地提出一种能快速、有效地在服务器集群上进行应用节点批量部署的机制,用以简化应用节点批量部署的流程,提高应用节点批量部署的效率,并大幅降低操作风险。
发明内容
本申请所要解决的技术问题是提供一种应用节点的批量部署方法和装置,用以简化应用节点批量部署的流程,提高应用节点批量部署的效率,并大幅降低操作风险。
为了解决上述问题,本申请公开了一种应用节点的批量部署方法,包括:
构造应用节点原型机,所述应用节点原型机中记录有应用节点的软件包列表信息,以及,软件包所含配置文件的修改信息;
在所述应用节点原型机上,依据所述应用节点的软件包列表信息和软件包所含配置文件的修改信息生成应用节点的快照信息,所述快照信息包括修改后的软件包信息,被修改的软件包信息及其修改内容信息;
在目标服务器上,依据所述应用节点的快照信息部署应用节点;所述部署操作包括:
依据所述修改后的软件包信息安装对应的软件包;以及,
依据所述被修改的软件包信息及其修改内容信息对相应软件包的对应内容进行修改。
优选的,所述依据应用节点的软件包列表信息和软件包所含配置文件的修改信息生成应用节点的快照信息的步骤包括:
依据软件包所含配置文件的修改信息获取当前修改的软件包,并提取软件包中对应的修改内容信息;
依据所述应用节点的软件包列表信息和当前被修改的软件包信息,获得修改后的软件包信息。
优选的,所述软件包存储在软件仓库服务器中,所述依据应用节点的软件包列表信息和软件包所含配置文件的修改信息生成应用节点的快照信息的步骤包括:
依据所述应用节点的软件包列表信息确定满足预设条件的软件包;
在所述满足预设条件的软件包中,依据软件包所含配置文件的修改信息确定当前被修改的软件包信息;
依据当前被修改的软件包信息从软件仓库服务器中获取对应的软件包;
按照所述软件包所含配置文件的修改信息提取所获取软件包中的对应内容,依据该内容生成所述软件包的修改内容信息;
依据所述应用节点的软件包列表信息和当前被修改的软件包信息,获得修改后的软件包信息。
优选的,所述应用节点的软件包列表信息包括软件包归属性,所述软件包归属性包括操作***归属性和非操作***归属性,所述满足预设条件的软件包为所述软件包归属性为非操作***归属性的软件包。
优选的,在目标服务器上依据应用节点的快照信息部署应用节点的步骤之前,还包括:
在应用节点原型机上保存所述应用节点的快照信息;
在目标服务器上导入所述应用节点的快照信息。
优选的,在目标服务器上依据应用节点的快照信息部署应用节点的步骤之前,还包括:
将所述应用节点的快照信息保存至中央快照存储服务器,并为所述应用节点的快照信息分配版本信息;
从所述中央快照存储服务器获取最新版本的应用节点的快照信息。
优选的,所述应用节点的快照信息以文本文件的格式进行保存。
优选的,所述依据被修改的软件包信息及其修改内容信息对相应软件包的对应内容进行修改的步骤包括:
在所述满足预设条件的软件包中,依据被修改的软件包信息确定相应的软件包;
依据所述修改内容信息,提取所述软件包中的对应内容并进行修改。
优选的,所述部署操作还包括:
依据软件包列表信息删除所述列表之外的已安装软件包。
优选的,所述应用节点的软件包列表信息还包括软件包名称、软件包版本以及平台架构信息;所述应用节点的快照信息还包括快照信息标识、快照信息形成时间、满足预设条件的软件包数量、不满足预设条件的软件包数量、满足预设条件的软件包信息和不满足预设条件的软件包信息。
本申请还公开了一种应用节点的批量部署装置,包括:
原型机构造模块,用于构造应用节点原型机,所述应用节点原型机中记录有应用节点的软件包列表信息,以及,软件包所含配置文件的修改信息;
快照抓取模块,用于在所述应用节点原型机上,依据所述应用节点的软件包列表信息和软件包所含配置文件的修改信息生成应用节点的快照信息,所述快照信息包括修改后的软件包信息,被修改的软件包信息及其修改内容信息;
应用克隆模块,用于在目标服务器上,依据所述应用节点的快照信息部署应用节点;
所述应用克隆模块包括:
安装子模块,用于依据所述修改后的软件包信息安装对应的软件包;以及,
配置修改子模块,用于依据所述被修改的软件包信息及其修改内容信息对相应软件包的对应内容进行修改。
优选的,所述快照抓取模块包括:
修改内容软件包获取子模块,用于依据软件包所含配置文件的修改信息获取当前修改的软件包,并提取软件包中对应的修改内容信息;
目标主机与快照信息软件包补集列表获取子模块,用于依据所述应用节点的软件包列表信息和当前被修改的软件包信息,获得修改后的软件包信息。
优选的,所述的装置还包括:
软件仓库服务器,用于存储所述软件包;
所述快照抓取模块包括:
软件包分类筛选子模块,用于依据所述应用节点的软件包列表信息确定满足预设条件的软件包;
修改软件包确定子模块,用于在所述满足预设条件的软件包中,依据软件包所含配置文件的修改信息确定当前被修改的软件包信息;
软件包获取子模块,用于依据当前被修改的软件包信息从软件仓库服务器中获取对应的软件包;
生成软件包内容修改信息子模块,用于按照所述软件包所含配置文件的修改信息提取所获取软件包中的对应内容,依据该内容生成所述软件包的修改内容信息;
目标主机与快照信息软件包补集列表获取子模块,用于依据所述应用节点的软件包列表信息和当前被修改的软件包信息,获得修改后的软件包信息。
优选的,所述应用节点的软件包列表信息包括软件包归属性,所述软件包归属性包括操作***归属性和非操作***归属性,所述满足预设条件的软件包为所述软件包归属性为非操作***归属性的软件包。
优选的,所述的装置还包括:
本地保存模块,用于在应用节点原型机上保存所述应用节点的快照信息;
快照信息配置模块,用于在目标服务器上导入所述应用节点的快照信息。
优选的,所述的装置还包括:
服务器存储模块,用于将所述应用节点的快照信息保存至中央快照存储服务器,并为所述应用节点的快照信息分配版本信息;
快照信息获取模块,用于从所述中央快照存储服务器获取最新版本的应用节点的快照信息。
优选的,所述应用节点的快照信息以文本文件的格式进行保存。
优选的,所述配置修改子模块包括:
软件包定位单元,用于在所述满足预设条件的软件包中,依据被修改的软件包信息确定相应的软件包;
内容修改单元,用于依据所述修改内容信息,提取所述软件包中的对应内容并进行修改。
优选的,所述应用克隆模块还包括:
删除子模块,用于依据软件包列表信息删除所述列表之外的已安装软件包。
优选的,所述应用节点的软件包列表信息还包括软件包名称、软件包版本以及平台架构信息;所述应用节点的快照信息还包括快照信息标识、快照信息形成时间、满足预设条件的软件包数量、不满足预设条件的软件包数量、满足预设条件的软件包信息和不满足预设条件的软件包信息。
与现有技术相比,本申请具有以下优点:
1、本申请通过构建应用节点的软件包模型,并抓取应用节点的软件包状态实现应用节点的快照功能,以及,依据抓取的应用节点快照进行应用节点的克隆,实现操作***软件包、应用软件包的部署;本申请能快速、有效地在服务器集群上进行应用节点批量部署,简化了应用节点批量部署的流程,提高了应用节点批量部署的效率,并大幅降低操作风险,尤其对大数量级应用节点的部署效率有极大提高,出错几率近乎为零,并能实现快照版本的升级和回滚功能。
2、本申请大大降低了安装部署时操作失误引发的风险和复杂命令和不同场景行为差异带来的困惑;通过自身的功能和特征,将使得对应用和服务的重塑、还原、克隆、回滚等工作变得异常简单,使得开发到测试、生产之间的应用传递环节和过程变得更加简洁透明和轻松。
附图说明
图1是本申请的一种应用节点的批量部署方法实施例1的流程图
图2是本申请的一种应用节点的批量部署方法实施例2的流程图;
图3是本申请的一种应用节点的批量部署装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请的主要思想包括:提出一种基于软件包管理的应用节点快照和克隆机制,通过构建应用节点的软件包模型,并抓取应用节点的软件包状态实现应用节点的快照功能,以及,依据抓取的应用节点快照进行应用节点的克隆,实现操作***软件包、应用软件包的部署。一种易于理解的比喻为:提取应用服务的DNA信息并克隆出该应用服务。
参考图1,示出了本申请的一种应用节点的批量部署方法实施例1的流程图,具体可以包括以下步骤:
步骤101、构造应用节点原型机,所述应用节点原型机中记录有应用节点的软件包列表信息,以及,软件包所含配置文件的修改信息;
所述应用节点原型机可以理解为应用节点的样本服务器。以在Linux***中应用本申请实施例为例,用户可以使用yum/rpm等命令获取RPM软件包在***上进行安装,并确定应用节点构成的所有软件均为RPM软件包,以及,按照当前开发或应用需求修改RPM软件包的配置文件,以完成整个应用节点原型机的构造。
作为本申请实施例的一种具体应用的示例,所述应用节点的软件包列表信息可以包括软件包名称、软件包版本以及平台架构信息;例如,RPM软件包管理器所记录的软件名称、版本和平台架构信息。所述软件包所含配置文件的修改信息可以为修改的RPM软件包配置文件的具体内容,可以通过应用节点原型机上的软件配置和同版本未经修改的软件配置的归一化比对输出获得。
步骤102、在所述应用节点原型机上,依据所述应用节点的软件包列表信息和软件包所含配置文件的修改信息生成应用节点的快照信息,所述快照信息包括修改后的软件包信息、被修改的软件包信息及其修改内容信息;
在本申请的一种优选实施例中,所述步骤102可以包括如下子步骤:
子步骤1021、依据软件包所含配置文件的修改信息,获取当前修改的软件包,并提取软件包中对应的修改内容信息;
子步骤1022、依据所述应用节点的软件包列表信息和当前被修改的软件包信息,获得修改后的软件包信息。
以在Linux***中应用本申请实施例为例,依据修改的RPM软件包配置文件的具体内容,可以获得当前需要修改的RPM软件包信息,如RPM软件包的名称,依据该信息获取对应的RPM软件包,如从预置的软件包存储服务器上下载对应的RPM软件包,然后依据需要修改的具体内容提取所述RPM软件包中的对应内容并进行相应修改。
步骤103、在目标服务器上,依据所述应用节点的快照信息部署应用节点;所述部署操作包括以下子步骤:
子步骤1031、依据所述修改后的软件包信息安装对应的软件包;以及,
子步骤1032、依据所述被修改的软件包信息及其修改内容信息对相应软件包的对应内容进行修改。
作为本申请的一种优选实施例,在执行步骤103之前,可以包括以下步骤:
在应用节点原型机上保存所述应用节点的快照信息;
在目标服务器上导入所述应用节点的快照信息。
应用本实施例,在具体实现中,抓取的应用节点快照信息可以保存到应用节点原型机,在这种情况下,在部署应用节点之前,可以采用文件拷贝的方式在目标服务器上导入所述应用节点的快照信息。
作为本申请的另一种优选实施例,在执行步骤103之前,可以包括以下步骤:
将所述应用节点的快照信息保存至中央快照存储服务器,并为所述应用节点的快照信息分配版本信息;
从所述中央快照存储服务器获取最新版本的应用节点的快照信息。
应用本实施例,在具体实现中,抓取的应用节点快照信息可以通过postAPI接口(基于提交的应用程序编程接口)提交到中央快照存储服务器进行存储和版本控制,在这种情况下,则可以通过getAPI接口(基于获取的应用程序编程接口)从所述中央快照存储服务器获取最新版本的应用节点的快照信息进行应用节点的部署。
在具体实现中,为提高平台适用性,所述应用节点的快照信息可以以文本文件的格式进行保存。
参考图2,示出了本申请的一种应用节点的批量部署方法实施例2的流程图,具体可以包括以下步骤:
步骤201、构造应用节点原型机,所述应用节点原型机中记录有应用节点的软件包列表信息,以及,软件包所含配置文件的修改信息;
步骤202、在所述应用节点原型机上,依据所述应用节点的软件包列表信息和软件包所含配置文件的修改信息生成应用节点的快照信息,所述快照信息包括修改后的软件包信息,被修改的软件包信息及其修改内容信息;
本步骤具体可以包括以下子步骤:
子步骤2021、依据所述应用节点的软件包列表信息确定满足预设条件的软件包;
子步骤2022、在所述满足预设条件的软件包中,依据软件包所含配置文件的修改信息确定当前被修改的软件包信息;
子步骤2023、依据当前被修改的软件包信息从软件仓库服务器中获取对应的软件包;
子步骤2024、按照所述软件包所含配置文件的修改信息提取所获取软件包中的对应内容,依据该内容生成所述软件包的修改内容信息;
子步骤2025、依据所述应用节点的软件包列表信息和当前被修改的软件包信息,获得修改后的软件包信息。
作为一种具体应用的示例,所述应用节点的软件包列表信息包括软件包归属性,所述软件包归属性可以包括操作***归属性和非操作***归属性,所述满足预设条件的软件包则可以为所述软件包归属性为非操作***归属性的软件包。
以在Linux***中应用本申请实施例为例,首先可以通过RPM相关命令(RPMDB)获取操作***上所有的RPM软件包列表,然后根据RPM软件包的组命名和用户指定的归属性(cust)参数,或者,根据RPM软件包的组(Group)标签,将所有的RPM软件包划分为操作***归属性的软件包(BaseRPMS)和非操作***归属性的软件包(CustRPMS)。
依据修改的RPM软件包配置文件的具体内容,对非操作***归属性的软件包(CustRPMS)进行校验,获得当前需要修改的非操作***归属性的软件包信息,如RPM软件包的名称,然后从软件仓库服务器上下载对应的软件包,依据需要修改的具体内容提取所述RPM软件包中的对应内容并进行相应修改。
例如,对于非操作***归属性的软件包(CustRPMS)的校验可以使用unix的比较命令(diff)进行文本比较实现,对于操作***归属性的软件包(BaseRPMS)则不进行校验。需要修改的软件包信息是根据修改软件包配置文件的内容而产生的,修改的内容可以使用diff-u标准输出记录在应用节点的快照信息中。
在本申请的一种优选实施例中,所述应用节点的快照信息还可以包括:快照信息标识、快照信息形成时间、满足预设条件的软件包数量、不满足预设条件的软件包数量、满足预设条件的软件包信息和不满足预设条件的软件包信息。
当然,上述应用节点的快照信息的内容及生成方式仅仅用作示例,本领域技术人员根据实际情况设置应用节点快照信息的内容,并采用任一种合适的生成方式都是可行的,例如,还可以在所述应用节点快照信息中设置注释信息等,本申请对此无需加以限制。
步骤203、在目标服务器上,依据所述应用节点的快照信息部署应用节点;所述部署操作包括以下子步骤:
子步骤2031、依据所述修改后的软件包信息安装对应的软件包;
子步骤2032、在所述满足预设条件的软件包中,依据被修改的软件包信息确定相应的软件包;依据所述修改内容信息,提取所述软件包中的对应内容并进行修改;
子步骤2033、依据软件包列表信息删除所述列表之外的已安装软件包。
本步骤用以完成应用节点的克隆,实现操作***软件包、应用软件包的部署。在具体实现中,可以在在目标服务器上安装克隆组件程序,并触发执行,安装克隆组件从软件仓库服务器获取RPM软件包并执行安装,根据应用节点的快照信息还原更改过的配置,一次克隆的过程即执行完毕。具体而言,克隆过程执行时,首先通过中央快照存储服务器或存储在本地的快照信息文件获取快照信息,然后根据应用节点的快照信息检查已存在、需卸载、需更改的软件包,进行安装、卸载、修改配置等自动化处理工作。在本实施例中,对于具有操作***归属性的软件包(BaseRPMS)可以执行安装操作,对于具有非操作***归属性的软件包(CustRPMS)可以执行安装和配置修改操作,对于多余的软件包则执行删除操作。
例如,在目标服务器上已有A,B,C,D,e,f,x,y,z九个软件包,应用节点快照信息中记录的BaseRPMS列表为:A,B,C;CustRPMS列表为:e,f,g,h;应用本实施例在当前服务上部署应用节点时,则需要安装D,g,h;需要配置e,f软件包,需要删除x,y,z软件包。
为使本领域技术人员更好地理解本申请,以下提供一种实现本申请实施例的具体示例。
(1)在一个应用节点服务器上使用软件包构建所需应用节点;
(2)对该应用节点命名,命名方式为:主机名、主机组名、应用模型;
(3)对该应用节点进行快照信息的抓取:
首先获取操作***上的全部软件列表,根据RPM分组标签将分为操作***归属性软件包(BaseRPMS)列表和(非操作***归属性软件包)CustRPMS列表,然后对有改动的CUST软件包进行校验,和软件仓库服务器上的未改动软件包进行对比,保存修改的内容至应用节点的快照信息中,并将BaseRPMS列表、CustRPMS列表、改变的软件包列表和修改内容、主机名和抓取时间写入应用节点的快照信息中,将快照信息存放在本地或者提交至中央快照存储服务器。
(4)获取应用节点的快照信息,针对BaseRPMS软件包做存在检查,***上不存在则存入需要安装的BaseRPMS;CustRPMS包列表作版本、和存在检查,***上不存在则存入需要安装的CustRPMS,对有变化的软件包中的文件按照快照信息中提供的修改信息进行修改,将属性还原为软件包中的文件属性;合并待删除列表和待安装列表,执行删除多余RPM和安装所需RPM的操作,以及,删除因命令产生的临时文件。
为进一步说明本申请,以下通过与现有技术对比进一步阐述本申请实施例的优点:
1、应用服务节点服务器部署效率的提升:
使用传统yum命令将经过软件包在yum服务器上的逐一检索、与用户准确度的交互确认、执行安装的过程,用户需要记忆软件包名称、版本和安装顺序,安装完毕后需要手工修改相应的配置文件以便达到所需的软件配置。而使用本申请实施例则无需人工记忆软件包列表、安装步骤、配置修改内容,避开了软件在服务器上的逐一检索、交互和确认;
2、应用服务节点服务器构造作业的传递效率提升:
现有技术中的应用服务节点服务器部署需要长达十几甚至几十页的的部署手册,一个典型的手册中记录了服务器环境信息、注意事项、安装命令、软件配置的修改方法、修改内容,以及操作步骤和顺序,效率低下、无助于生产效率的改进和提高,在操作上浪费大量的工程师时间;而本申请实施例的快照传递信息为一个快照名称,***自动识别服务器环境、自动安装获取软件、自动对安装顺序进行排序处理、自动修改软件配置。
3、应用服务节点服务器构造作业的学习成本降低:
现有技术中的部署作业需要一个具备丰厚***管理工程师背景的工程师对软件包管理、软件配置、***配置的学习,而本申请实施例将这些学习成本转化为***的自动流程和机制——依据快照的软件获取过程、软件安装过程、软件配置过程,从而使得用户无需学习yum/rpm等复杂的***管理命令和软件配置方法即可对应用服务节点服务器进行部署和安装。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
参考图3,示出了一种应用节点的批量部署装置实施例的结构框图,具体可以包括以下模块:
原型机构造模块301,用于构造应用节点原型机,所述应用节点原型机中记录有应用节点的软件包列表信息,以及,软件包所含配置文件的修改信息;
快照抓取模块302,用于在所述应用节点原型机上,依据所述应用节点的软件包列表信息和软件包所含配置文件的修改信息生成应用节点的快照信息,所述快照信息包括修改后的软件包信息,被修改的软件包信息及其修改内容信息;
应用克隆模块303,用于在目标服务器上,依据所述应用节点的快照信息部署应用节点;
所述应用克隆模块303可以包括以下子模块:
安装子模块,用于依据所述修改后的软件包信息安装对应的软件包;以及,
配置修改子模块,用于依据所述被修改的软件包信息及其修改内容信息对相应软件包的对应内容进行修改。
作为本申请的一种优选实施例,所述快照抓取模块可以包括以下子模块:
修改内容软件包获取子模块,用于依据软件包所含配置文件的修改信息获取当前修改的软件包,并提取软件包中对应的修改内容信息;
目标主机与快照信息软件包补集列表获取子模块,用于依据所述应用节点的软件包列表信息和当前被修改的软件包信息,获得修改后的软件包信息。
作为本申请的另一种优选实施例,本申请的应用节点批量部署装置还可以包括用于存储所述软件包的软件仓库服务器304,所述快照抓取模块可以包括以下子模块:
软件包分类筛选子模块,用于依据所述应用节点的软件包列表信息确定满足预设条件的软件包;
修改软件包确定子模块,用于在所述满足预设条件的软件包中,依据软件包所含配置文件的修改信息确定当前被修改的软件包信息;
软件包获取子模块,用于依据当前被修改的软件包信息从软件仓库服务器中获取对应的软件包;
生成软件包内容修改信息子模块,用于按照所述软件包所含配置文件的修改信息提取所获取软件包中的对应内容,依据该内容生成所述软件包的修改内容信息;
目标主机与快照信息软件包补集列表获取子模块,用于依据所述应用节点的软件包列表信息和当前被修改的软件包信息,获得修改后的软件包信息。
作为一种具体应用的示例,所述应用节点的软件包列表信息可以包括软件包归属性,所述软件包归属性可以包括操作***归属性和非操作***归属性,在本实施例中,所述满足预设条件的软件包可以为所述软件包归属性为非操作***归属性的软件包。
在具体实现中,还可以采用本地保存模块在应用节点原型机上保存所述应用节点的快照信息;在这种情况下,在部署应用节点之前,可以采用快照信息配置模块在目标服务器上导入所述应用节点的快照信息。
作为另一种具体实现的方式,还可以采用服务器存储模块将所述应用节点的快照信息保存至中央快照存储服务器305,并为所述应用节点的快照信息分配版本信息;在这种情况下,则可以通过快照信息获取模块从所述中央快照存储服务器获取最新版本的应用节点的快照信息。
优选的是,在本申请实施例中,所述应用节点的快照信息可以以文本文件的格式进行保存。
在本申请的一种优选实施例中,所述配置修改子模块可以包括:
软件包定位单元,用于在所述满足预设条件的软件包中,依据被修改的软件包信息确定相应的软件包;
内容修改单元,用于依据所述修改内容信息,提取所述软件包中的对应内容并进行修改。
在具体应用中,所述应用克隆模块还可以包括:
删除子模块,用于依据软件包列表信息删除所述列表之外的已安装软件包。
作为一种具体应用的示例,所述应用节点的软件包列表信息还可以包括软件包名称、软件包版本以及平台架构信息;所述应用节点的快照信息还可以包括快照信息标识、快照信息形成时间、满足预设条件的软件包数量、不满足预设条件的软件包数量、满足预设条件的软件包信息和不满足预设条件的软件包信息。
由于本实施例基本相应于前述图1和图2所示的方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此就不赘述了。
需要说明的是,本申请装置实施例和***实施例中所涉及的模块、子模块和单元可以为软件,可以为硬件,也可以为软件和硬件的组合。
本申请可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上对本申请所提供的一种应用节点的批量部署方法和一种应用节点的批量部署装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (20)
1.一种应用节点的批量部署方法,其特征在于,包括:
构造应用节点原型机,所述应用节点原型机为应用节点的样本服务器,其中记录有应用节点的软件包列表信息,以及,软件包所含配置文件的修改信息;所述软件包所含配置文件的修改信息为修改的软件包配置文件的具体内容;
在所述应用节点原型机上,依据所述应用节点的软件包列表信息和软件包所含配置文件的修改信息生成应用节点的快照信息,所述快照信息包括修改后的软件包信息,被修改的软件包信息及软件包的修改内容信息;
在目标服务器上,依据所述应用节点的快照信息部署应用节点;所述部署操作包括:
依据所述修改后的软件包信息安装对应的软件包;以及,
依据所述被修改的软件包信息及其修改内容信息对相应软件包的对应内容进行修改。
2.如权利要求1所述的方法,其特征在于,所述依据应用节点的软件包列表信息和软件包所含配置文件的修改信息生成应用节点的快照信息的步骤包括:
依据软件包所含配置文件的修改信息获取当前修改的软件包,并提取软件包中对应的修改内容信息;
依据所述应用节点的软件包列表信息和当前被修改的软件包信息,获得修改后的软件包信息。
3.如权利要求1所述的方法,其特征在于,所述软件包存储在软件仓库服务器中,所述依据应用节点的软件包列表信息和软件包所含配置文件的修改信息生成应用节点的快照信息的步骤包括:
依据所述应用节点的软件包列表信息确定满足预设条件的软件包;
在所述满足预设条件的软件包中,依据软件包所含配置文件的修改信息确定当前被修改的软件包信息;
依据当前被修改的软件包信息从软件仓库服务器中获取对应的软件包;
按照所述软件包所含配置文件的修改信息提取所获取软件包中的对应内容,依据该内容生成所述软件包的修改内容信息;
依据所述应用节点的软件包列表信息和当前被修改的软件包信息,获得修改后的软件包信息。
4.如权利要求3所述的方法,其特征在于,所述应用节点的软件包列表信息包括软件包归属性,所述软件包归属性包括操作***归属性和非操作***归属性,所述满足预设条件的软件包为所述软件包归属性为非操作***归属性的软件包。
5.如权利要求1所述的方法,其特征在于,在目标服务器上依据应用节点的快照信息部署应用节点的步骤之前,还包括:
在应用节点原型机上保存所述应用节点的快照信息;
在目标服务器上导入所述应用节点的快照信息。
6.如权利要求1所述的方法,其特征在于,在目标服务器上依据应用节点的快照信息部署应用节点的步骤之前,还包括:
将所述应用节点的快照信息保存至中央快照存储服务器,并为所述应用节点的快照信息分配版本信息;
从所述中央快照存储服务器获取最新版本的应用节点的快照信息。
7.如权利要求5或6所述的方法,其特征在于,所述应用节点的快照信息以文本文件的格式进行保存。
8.如权利要求3所述的方法,其特征在于,所述依据被修改的软件包信息及其修改内容信息对相应软件包的对应内容进行修改的步骤包括:
在所述满足预设条件的软件包中,依据被修改的软件包信息确定相应的软件包;
依据所述修改内容信息,提取所述软件包中的对应内容并进行修改。
9.如权利要求1所述的方法,其特征在于,所述部署操作还包括:
依据软件包列表信息删除所述列表之外的已安装软件包。
10.如权利要求3所述的方法,其特征在于,所述应用节点的软件包列表信息还包括软件包名称、软件包版本以及平台架构信息;所述应用节点的快照信息还包括快照信息标识、快照信息形成时间、满足预设条件的软件包信息和不满足预设条件的软件包信息;
其中,所述满足预设条件的软件包信息包括满足预设条件的软件包数量,所述不满足预设条件的软件包信息包括不满足预设条件的软件包数量。
11.一种应用节点的批量部署装置,其特征在于,包括:
原型机构造模块,用于构造应用节点原型机,所述应用节点原型机为应用节点的样本服务器,其中记录有应用节点的软件包列表信息,以及,软件包所含配置文件的修改信息;所述软件包所含配置文件的修改信息为修改的软件包配置文件的具体内容;
快照抓取模块,用于在所述应用节点原型机上,依据所述应用节点的软件包列表信息和软件包所含配置文件的修改信息生成应用节点的快照信息,所述快照信息包括修改后的软件包信息,被修改的软件包信息及软件包的修改内容信息;
应用克隆模块,用于在目标服务器上,依据所述应用节点的快照信息部署应用节点;
所述应用克隆模块包括:
安装子模块,用于依据所述修改后的软件包信息安装对应的软件包;以及,
配置修改子模块,用于依据所述被修改的软件包信息及其修改内容信息对相应软件包的对应内容进行修改。
12.如权利要求11所述的装置,其特征在于,所述快照抓取模块包括:
修改内容软件包获取子模块,用于依据软件包所含配置文件的修改信息获取当前修改的软件包,并提取软件包中对应的修改内容信息;
获取子模块,用于依据所述应用节点的软件包列表信息和当前被修改的软件包信息,获得修改后的软件包信息。
13.如权利要求11所述的装置,其特征在于,还包括:
软件仓库服务器,用于存储所述软件包;
所述快照抓取模块包括:
软件包分类筛选子模块,用于依据所述应用节点的软件包列表信息确定满足预设条件的软件包;
修改软件包确定子模块,用于在所述满足预设条件的软件包中,依据软件包所含配置文件的修改信息确定当前被修改的软件包信息;
软件包获取子模块,用于依据当前被修改的软件包信息从软件仓库服务器中获取对应的软件包;
生成软件包内容修改信息子模块,用于按照所述软件包所含配置文件的修改信息提取所获取软件包中的对应内容,依据该内容生成所述软件包的修改内容信息;
获取子模块,用于依据所述应用节点的软件包列表信息和当前被修改的软件包信息,获得修改后的软件包信息。
14.如权利要求13所述的装置,其特征在于,所述应用节点的软件包列表信息包括软件包归属性,所述软件包归属性包括操作***归属性和非操作***归属性,所述满足预设条件的软件包为所述软件包归属性为非操作***归属性的软件包。
15.如权利要求11所述的装置,其特征在于,还包括:
本地保存模块,用于在应用节点原型机上保存所述应用节点的快照信息;
快照信息配置模块,用于在目标服务器上导入所述应用节点的快照信息。
16.如权利要求11所述的装置,其特征在于,还包括:
服务器存储模块,用于将所述应用节点的快照信息保存至中央快照存储服务器,并为所述应用节点的快照信息分配版本信息;
快照信息获取模块,用于从所述中央快照存储服务器获取最新版本的应用节点的快照信息。
17.如权利要求15或16所述的装置,其特征在于,所述应用节点的快照信息以文本文件的格式进行保存。
18.如权利要求13所述的装置,其特征在于,所述配置修改子模块包括:
软件包定位单元,用于在所述满足预设条件的软件包中,依据被修改的软件包信息确定相应的软件包;
内容修改单元,用于依据所述修改内容信息,提取所述软件包中的对应内容并进行修改。
19.如权利要求11所述的装置,其特征在于,所述应用克隆模块还包括:
删除子模块,用于依据软件包列表信息删除所述列表之外的已安装软件包。
20.如权利要求13所述的装置,其特征在于,所述应用节点的软件包列表信息还包括软件包名称、软件包版本以及平台架构信息;所述应用节点的快照信息还包括快照信息标识、快照信息形成时间、满足预设条件的软件包信息和不满足预设条件的软件包信息;
其中,所述满足预设条件的软件包信息包括满足预设条件的软件包数量,所述不满足预设条件的软件包信息包括不满足预设条件的软件包数量。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110089496.0A CN102736946B (zh) | 2011-04-11 | 2011-04-11 | 一种应用节点的批量部署方法及装置 |
HK12111694.2A HK1171097A1 (zh) | 2011-04-11 | 2012-11-16 | 種應用節點的批量部署方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110089496.0A CN102736946B (zh) | 2011-04-11 | 2011-04-11 | 一种应用节点的批量部署方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102736946A CN102736946A (zh) | 2012-10-17 |
CN102736946B true CN102736946B (zh) | 2015-12-16 |
Family
ID=46992497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110089496.0A Active CN102736946B (zh) | 2011-04-11 | 2011-04-11 | 一种应用节点的批量部署方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102736946B (zh) |
HK (1) | HK1171097A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019732B (zh) * | 2012-12-25 | 2015-12-02 | 天维尔信息科技股份有限公司 | 一种基于省市县一体化软件的安装部署方法及*** |
CN104516754A (zh) * | 2013-09-30 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 一种应用程序的批量安装方法和装置 |
CN104636135B (zh) * | 2014-12-31 | 2018-05-04 | 北京奇虎科技有限公司 | 一种节点访问方法和***、客户端代理和客户端 |
CN105224326A (zh) * | 2015-09-30 | 2016-01-06 | 北京恒华伟业科技股份有限公司 | 一种***代码的增量部署方法及装置 |
CN106610853A (zh) * | 2015-10-26 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 一种应用部署方法和装置 |
CN105487891A (zh) * | 2015-11-26 | 2016-04-13 | 航天恒星科技有限公司 | 一种分布式集群的部署方法及*** |
CN107391092B (zh) * | 2016-05-16 | 2021-01-26 | 北京京东振世信息技术有限公司 | 自动部署关联软件的方法和*** |
CN106201502B (zh) * | 2016-07-06 | 2019-12-06 | ***股份有限公司 | 一种跨主机应用程序部署方法及装置 |
CN106209450B (zh) * | 2016-07-08 | 2019-07-02 | 深圳前海微众银行股份有限公司 | 服务器故障切换方法及应用自动化部署*** |
CN106293819A (zh) * | 2016-08-03 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种基于快照的批量部署方法和*** |
CN107885539A (zh) * | 2016-09-28 | 2018-04-06 | 平安科技(深圳)有限公司 | 一种中间件管理方法及服务器 |
CN106130750A (zh) * | 2016-09-29 | 2016-11-16 | 安徽四创电子股份有限公司 | 一种基于私有Yum库的大数据平台升级方法 |
CN106656552A (zh) * | 2016-09-30 | 2017-05-10 | 上海冰穹网络科技有限公司 | 一种数据平台***的扩展方法、***及电子设备 |
CN108399083B (zh) * | 2017-02-07 | 2021-04-30 | 北京京东尚科信息技术有限公司 | 一种***部署方法、装置、电子设备和存储介质 |
CN108574586A (zh) * | 2017-03-09 | 2018-09-25 | 北京百悟科技有限公司 | 一种基于角色匹配的应用部署方法、***及装置 |
CN106980521A (zh) * | 2017-03-31 | 2017-07-25 | 山东超越数控电子有限公司 | 一种类Fedora***RPM包预安装的方法 |
CN107203397B (zh) * | 2017-05-24 | 2021-02-05 | 广州四三九九信息科技有限公司 | 移动应用的运行方法和装置 |
CN107562435A (zh) * | 2017-09-01 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种基于快照的批量升级方法和*** |
CN109558143B (zh) * | 2017-09-22 | 2022-02-22 | 北京国双科技有限公司 | 一种集群中部署应用的方法及装置 |
CN108616384B (zh) * | 2018-03-26 | 2021-12-28 | 山东昭元信息科技有限公司 | 一种集中式的服务管理部署工具及方法 |
CN108376076A (zh) * | 2018-05-28 | 2018-08-07 | 郑州云海信息技术有限公司 | 一种安装软件的方法和装置 |
CN109445800B (zh) * | 2018-11-02 | 2022-05-03 | 中国人民银行清算总中心 | 一种基于分布式***的版本自动部署方法及*** |
CN109542504A (zh) * | 2018-12-03 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种Linux节点的节点信息收集方法及装置 |
CN111435302B (zh) * | 2019-01-14 | 2023-06-20 | 阿里巴巴集团控股有限公司 | 一种应用程序的处理方法及装置 |
CN109885333B (zh) * | 2019-02-21 | 2022-04-05 | 北京致远互联软件股份有限公司 | 数据包管理方法、装置以及电子设备 |
CN110083401A (zh) * | 2019-03-12 | 2019-08-02 | 平安普惠企业管理有限公司 | 应用程序配置的调整方法、装置、计算机设备及存储介质 |
CN110209480B (zh) * | 2019-05-17 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 一种数据包的操作方法、装置及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731738A (zh) * | 2005-08-30 | 2006-02-08 | 西安交通大学 | 大规模计算机集群***节点的自动化快速部署方法 |
CN1848787A (zh) * | 2006-04-30 | 2006-10-18 | 西安交通大学 | 一种集群服务器***节点的自动化快速部署方法 |
CN101420325A (zh) * | 2008-11-21 | 2009-04-29 | 华为技术有限公司 | 一种软件包的自动部署方法、装置和*** |
CN101453367A (zh) * | 2007-11-30 | 2009-06-10 | 华为技术有限公司 | 软件部署方法和***及软件部署服务器和用户服务器 |
CN101689121A (zh) * | 2007-06-28 | 2010-03-31 | 微软公司 | 安全软件部署 |
CN101695077A (zh) * | 2009-09-30 | 2010-04-14 | 曙光信息产业(北京)有限公司 | 一种虚拟机的操作***部署方法、***及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741905A (zh) * | 2009-11-30 | 2010-06-16 | 曙光信息产业(北京)有限公司 | 集群的快速部署方法 |
-
2011
- 2011-04-11 CN CN201110089496.0A patent/CN102736946B/zh active Active
-
2012
- 2012-11-16 HK HK12111694.2A patent/HK1171097A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731738A (zh) * | 2005-08-30 | 2006-02-08 | 西安交通大学 | 大规模计算机集群***节点的自动化快速部署方法 |
CN1848787A (zh) * | 2006-04-30 | 2006-10-18 | 西安交通大学 | 一种集群服务器***节点的自动化快速部署方法 |
CN101689121A (zh) * | 2007-06-28 | 2010-03-31 | 微软公司 | 安全软件部署 |
CN101453367A (zh) * | 2007-11-30 | 2009-06-10 | 华为技术有限公司 | 软件部署方法和***及软件部署服务器和用户服务器 |
CN101420325A (zh) * | 2008-11-21 | 2009-04-29 | 华为技术有限公司 | 一种软件包的自动部署方法、装置和*** |
CN101695077A (zh) * | 2009-09-30 | 2010-04-14 | 曙光信息产业(北京)有限公司 | 一种虚拟机的操作***部署方法、***及设备 |
Also Published As
Publication number | Publication date |
---|---|
HK1171097A1 (zh) | 2013-03-15 |
CN102736946A (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102736946B (zh) | 一种应用节点的批量部署方法及装置 | |
CN104793946B (zh) | 基于云计算平台的应用部署方法和*** | |
CN103955363B (zh) | 一种程序升级安装包的制作方法 | |
US8255899B2 (en) | Techniques for upgrade dependency management | |
CN109240654A (zh) | 基于模板的开发方法及*** | |
CN109298871B (zh) | 一种电网智能调度***软件版本监测部署方法 | |
CN107506219A (zh) | 一种基于Android***的通用版本升级方法 | |
US9128724B2 (en) | Configuring assembly of a system using supplied architectural artifacts | |
CN103425468B (zh) | 插件式软件集成方法及装置 | |
JP2021530766A (ja) | データウェアハウスへの発行 | |
CN103324474B (zh) | 基于Linux操作***跨体系构造ISO的方法及模块 | |
CN107391104A (zh) | 一种客户端与react native代码的更新依赖管理方法、装置及*** | |
CN106055330A (zh) | 一种应用程序的管理方法及*** | |
CN109284106A (zh) | 业务规则的发布管理方法、电子装置及可读存储介质 | |
CN106598657A (zh) | 一种云平台应用一键部署的方法 | |
CN107025108B (zh) | 从源代码管理(scm)***将分级数据导出到产品生命周期管理(plm)*** | |
CN108228170B (zh) | 一种嵌入式软件构件化定制组装方法 | |
CN104583997A (zh) | 可与连续递送一起使用的全局特征库 | |
CN102054041A (zh) | 元数据升级方法和*** | |
CN103501341A (zh) | 一种Web服务的创建方法及装置 | |
CN103984554A (zh) | 软件设计文档的生成方法及装置 | |
CN112596706A (zh) | 模式化代码生成方法、装置和计算机可读存储介质 | |
CN107315596A (zh) | 一种代码自动打包部署方法和装置 | |
CN108334374A (zh) | 组件动态加载与执行的方法和装置 | |
CN106487567A (zh) | 一种网元模型管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1171097 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1171097 Country of ref document: HK |