一种通过云端集中管理版本的实现方法

文档序号:6538092阅读:117来源:国知局
一种通过云端集中管理版本的实现方法
【专利摘要】一种通过云端集中管理版本的实现方法,该方法的实现依托以下产品模块实现:所述产品模块包括配置管理云中心CMCC、cma代理cmaAgent和客户端工具CMA;所述配置管理云中心CMCC作用包括,用于实现V6组件的维护、项目业务系统定义、项目主机定义、部署组件和项目主机之间的关联关系定义。本发明解决了在相同的产品项目比较多的情况下,解决各个项目版本不同步问题。本发明还解决人工发布程序比较繁琐问题,提高发布的质量,减少工作量,提高发布效率。本发明围绕现有的V6组件包的结构进行分析与设计,与传统组件程序包发布的最大区别是实现了组件发布的自动化、痕迹化、减少人工干预,提供程序包发布效率。
【专利说明】一种通过云端集中管理版本的实现方法
【技术领域】
[0001]本发明涉及一种通过云端集中管理版本的实现方法,属于云管理的【技术领域】。
【背景技术】
[0002]软件的版本管理属于一个重要的课题,特别在面临多个项目的情况下,版本的管理会变得非常困难,如何保证各个项目版本的一致,并在项目发布过程中面临复杂的生产环境都能做到快速、有效,这需要从产品研发的角度和版本管理的角度都需要做相关的改进。通常项目的发布都是通过人为、手工进行,而每个项目的服务器又是千差万别的,在虚拟化、分布式越来越流行的情况下,发布是一个很繁琐又容易出现差错的工作,人为的、非自动化的工作越多,生产系统出现问题的可能性越大,因为发布导致系统的可用性下降,这是一个项目会经常遇到的问题。

【发明内容】

[0003]针对现有技术的不足,本发明涉及一种通过云端集中管理版本的实现方法。本发明所述方法在保证产品版本一致的情况下,解决自动发布的问题;本发明在形成正式版本后,软件项目通过版本管理云端服务获取软件的最新版本,并通过发布客户端获取这些信息,确认发布到哪个版本之后,通过发布工具自动将正式软件版本更新到项目的生产系统上。
[0004]本发明的技术方案如下:
[0005]一种通过云端集中管理版本的实现方法,该方法的实现依托以下产品模块实现:
[0006]所述产品模块包括配置管理云中心CMCC、cma代理cmaAgent和客户端工具CMA ;
[0007]所述配置管理云中心CMCC作用包括,用于实现V6组件的维护、项目业务系统定义、项目主机定义、部署组件和项目主机之间的关联关系定义;
[0008]所述V6组件细分为多个版本管理单元,一个V6组件即指V6里面的一个版本管理单元,称WAR包;所述项目业务系统是指利用计算机硬件、软件、网络通信设备,进行信息的收集、传输、加工、储存、更新和维护的IT设备群;所述项目主机定义是指项目业务系统里所述计算机硬件作为项目主机资源的添加、维护;所述部署组件是指V6组件对应的war包,即一个要发布到项目主机上完整程序包;所述关联关系定义是指V6组件和项目主机之间的依赖关系建立与维护;一般情况,只有将V6组件和项目主机之间的关系定义清楚,才能确定V6组件需要部署到哪个项目主机上为客户端工具CMA提供服务;
[0009]所述cma代理cmaAgent部署在所述项目主机上,用于实现项目主机和客户端工具CMA进行数据通讯,以实现文件的上传与下载,所述的文件为客户端工具CMA从所述配置管理云中心CMCC下载的组件版本文件和项目主机里面部署组件的特殊配置文件;
[0010]所述客户端工具CMA用于实现从所述配置管理云中心CMCC获取所述项目主机上组件的版本信息、从所述配置管理云中心CMCC将版本包下载到本地、分析本地组件包,远程备份程序,所述备份程序为所述V6组件部署在项目主机里对应的war包,最后将本地分析的版本包打包发布到所述目标主机上;一般情况下,从所述配置管理云中心CMCC下载的版本包里面包含了两部分的内容,一是需要正式发布到项目主机上的程序包,二是版本包里面的附件,本地分析版本包的目的是将版本包里面需要正式发布到项目主机上的程序包和版本包里面的附件分离开来,这样所述客户端工具CMA就可以看到本次升级包里面都有哪些需要正式发布的文件,哪些是发布之前需要浏览的附件,比如SQL等相关文件等,最后再将分离出来需要正式发布到项目主机上多个版本包进行合并,最终打成一个正式发布包发布到项目主机上;
[0011]一种利用上述产品模块通过云端集中管理版本的实现方法,包括步骤如下:
[0012](I)系统工程师登录所述配置管理云中心CMCC,选择要发布的变更包,选择要部署的项目测试环境,部署变更包的到项目测试环境,并在项目测试环境中测试变更包:若测试不通过,则查找原因;若测试通过,则配置管理云中心CMCC把变更包状态改为可发布状态,所述的可发布状态包括在配置管理云中心CMCC记录的变更包发布版本信息;
[0013](2)客户端工具CMA调用配置管理云中心CMCC发布的webservice服务,发送请求到配置管理云中心CMCC进行身份验证:若验证通过,则配置管理云中心CMCC会发送验证成功信息响应客户端工具CMA,并告之客户端工具CMA检查项目主机上部署组件的版本信息;
[0014](3)验证通过后,客户端工具CMA从配置管理云中心CMCC提取到本项目主机上各个部署组件的最新版本和部署信息,并从配置管理云中心CMCC提取到各个组件对应的安装变更包;
[0015](4) CMA客户端选择打算安装的变更包后,开始从配置管理云中心CMCC的FTP服务器上下载选择的变更包,将变更包下载到本地;
[0016](5)变更包下载完成之后,CMA客户端开始分析下载的变更包;所述客户端工具CMA逐个分析变更包,将所述变更包里面正式发布的程序包(jsp、class等相关文件)和附件(升级说明文件、SQL脚本文件等)分离开来;如果对于同一个部署组建下载了多个变更版本包的话,则客户端工具CMA会将分析完成的多个版本程序包进行合并:即高版本的程序包覆盖低版本程序包,最终形成一个需要发布到项目主机上的程序包;
[0017](6)在发布版本升级包之前全部备份项目主机上的组件包;为了避免升级过程中带来的风险,所以CMA客户端会对项目主机上的组件包进行远程备份(备份方式:全备);
[0018](7 )远程备份完组件包之后,CMA客户端会将在分析阶段分析好的最终版本程序包发布到项目主机上:首先客户端工具CMA向项目主机发起socket通讯请求,项目主机接收到CMA客户端发送的通讯请求之后,为CMA客户端打开传送文件的端口,这样CMA客户端和项目主机的连接建立好之后,CMA客户端将版本升级包文件发送到目标主机,完成选择组件的升级;
[0019](S)CMA客户端将组件版本包升级完成之后,会向配置管理云中心CMCC发送请求,将升级信息发送到配置管理云中心CMCC,所述的升级信息包括版本包下载信息、版本分析信息和版本升级信息;配置管理云中心CMCC接收CMA客户端发来的请求,将版本更新信息维护到配置管理云中心CMCC数据库,所述版本更新信息包括更新组件版本信息和记录历史升级信息。
[0020]配置管理云中心CMCC:简称CMCC云端;该部分主要围绕现有V6组件部署架构,V6组件版本包结构,以及传统组件发布情况进行分析与设计,其核心实现技术采用了Hibernate注解和Spring控制反转。
[0021]客户端工具CMA:该部分主要围绕整个V6组件包的发布流程进行分析与设计,发布流程包括组件包选择、组件包下载、组件包分析、远程组件包备份、执行发布核心五大环节。核心实现技术是SWT插件。
[0022]cma代理cmaAgent:该部分主要围绕项目远程主机和个人PC之间的通信进行设计与分析,核心功能包括远程主机开启通讯监听端口,远程主机执行客户端PC发送的数据通信请求,远程主机和个人PC数据的实时传输。核心技术为JAVA Socket。
[0023]软件:这里指CMA客户端软件
[0024]软件版本信息:这里指CMA客户端工具的版本信息,每次CMA客户端工具升级之后都会形成相应的版本号信息。
[0025]项目:这里的项目是指以省为单位的V6产品线,比如山东V6项目,北京V6项目等。
[0026]项目上的组件:这里指项目上的V6组件,一个V6组件在实施部署到各个省的项目上之后,就成为了项目组件。比如说V6里面CO组件(订单中心组件)实施部署到山东项目上之后,就可以命名为山东项目的CO (订单中心)组件。
[0027]项目上的组件的版本信息:项目上组件的版本信息指V6组件部署到项目上之后,在项目上的组件都会记录自身的版本信息,CMCC只要将项目上组件的版本信息和CMCC记录的组件版本信息进行比较 就知道项目上组件在CMCC端是否有新版本。
[0028]版本包:V6组件包的升级包。每个版本包都有一个唯一的版本号。
[0029]本地组件包:本地组件包是指CMA客户端从CMCC端将组件版本包下载到本地之后的版本包,也就是存放到本地的版本包。
[0030]项目,项目业务系统,项目组件,项目主机,他们之间的包含关系可以这么描述:项目组件包部署到项目主机,项目主机被添加到项目业务系统,项目业务系统从属于项目。比如说山东V6项目里面维护了 B业务系统,B业务系统那个里面维护了 C1、C2、C3…等主机,Cl主机里面部署了 CO组件等。
[0031]本发明的优势在于:
[0032]本发明解决了在相同的产品项目比较多的情况下,解决各个项目版本不同步问题。本发明还解决人工发布程序比较繁琐问题,提高发布的质量,减少工作量,提高发布效率。本发明围绕现有的V6组件包的结构进行分析与设计,与传统组件程序包发布的最大区别是实现了组件发布的自动化、痕迹化、减少人工干预,提供程序包发布效率。
【专利附图】

【附图说明】
[0033]图1为本发明的通信模块连接图;
[0034]图2为本发明中所述实现方法的流程图。
具体实施例
[0035]下面结合实施例和说明书附图对本发明做详细的说明,但不限于此。
[0036]实施例、
[0037]如图1-2所示。[0038]一种通过云端集中管理版本的实现方法,该方法的实现依托以下产品模块实现:
[0039]所述产品模块包括配置管理云中心CMCC、cma代理cmaAgent和客户端工具CMA ;
[0040]所述配置管理云中心CMCC作用包括,用于实现V6组件的维护、项目业务系统定义、项目主机定义、部署组件和项目主机之间的关联关系定义;
[0041]所述V6组件细分为多个版本管理单元,一个V6组件即指V6里面的一个版本管理单元,称WAR包;所述项目业务系统是指利用计算机硬件、软件、网络通信设备,进行信息的收集、传输、加工、储存、更新和维护的IT设备群;所述项目主机定义是指项目业务系统里所述计算机硬件作为项目主机资源的添加、维护;所述部署组件是指V6组件对应的war包,即一个要发布到项目主机上完整程序包;所述关联关系定义是指V6组件和项目主机之间的依赖关系建立与维护;一般情况,只有将V6组件和项目主机之间的关系定义清楚,才能确定V6组件需要部署到哪个项目主机上为客户端工具CMA提供服务;
[0042]所述cma代理cmaAgent部署在所述项目主机上,用于实现项目主机和客户端工具CMA进行数据通讯,以实现文件的上传与下载,所述的文件为客户端工具CMA从所述配置管理云中心CMCC下载的组件版本文件和项目主机里面部署组件的特殊配置文件;
[0043]所述客户端工具CMA用于实现从所述配置管理云中心CMCC获取所述项目主机上组件的版本信息、从所述配置管理云中心CMCC将版本包下载到本地、分析本地组件包,远程备份程序,所述备份程序为所述V6组件部署在项目主机里对应的war包,最后将本地分析的版本包打包发布到所述目标主机上;一般情况下,从所述配置管理云中心CMCC下载的版本包里面包含了两部分的内容,一是需要正式发布到项目主机上的程序包,二是版本包里面的附件,本地分析版本包的目的是将版本包里面需要正式发布到项目主机上的程序包和版本包里面的附件分离开来,这样所述客户端工具CMA就可以看到本次升级包里面都有哪些需要正式发布的文件,哪些是发布之前需要浏览的附件,比如SQL等相关文件等,最后再将分离出来需要正式发布到项目主机上多个版本包进行合并,最终打成一个正式发布包发布到项目主机上;
[0044]一种利用上述产品模块通过云端集中管理版本的实现方法,包括步骤如下:
[0045](I)系统工程师登录所述配置管理云中心CMCC,选择要发布的变更包,选择要部署的项目测试环境,部署变更包的到项目测试环境,并在项目测试环境中测试变更包:若测试不通过,则查找原因;若测试通过,则配置管理云中心CMCC把变更包状态改为可发布状态,所述的可发布状态包括在配置管理云中心CMCC记录的变更包发布版本信息;
[0046](2)客户端工具CMA调用配置管理云中心CMCC发布的webservice服务,发送请求到配置管理云中心CMCC进行身份验证:若验证通过,则配置管理云中心CMCC会发送验证成功信息响应客户端工具CMA,并告之客户端工具CMA检查项目主机上部署组件的版本信息;
[0047](3)验证通过后,客户端工具CMA从配置管理云中心CMCC提取到本项目主机上各个部署组件的最新版本和部署信息,并从配置管理云中心CMCC提取到各个组件对应的安装变更包;
[0048](4) CMA客户端选择打算安装的变更包后,开始从配置管理云中心CMCC的FTP服务器上下载选择的变更包,将变更包下载到本地;
[0049](5)变更包下载完成之后,CMA客户端开始分析下载的变更包;所述客户端工具CMA逐个分析变更包,将所述变更包里面正式发布的程序包(jsp、class等相关文件)和附件(升级说明文件、SQL脚本文件等)分离开来;如果对于同一个部署组建下载了多个变更版本包的话,则客户端工具CMA会将分析完成的多个版本程序包进行合并:即高版本的程序包覆盖低版本程序包,最终形成一个需要发布到项目主机上的程序包;
[0050](6)在发布版本升级包之前全部备份项目主机上的组件包;为了避免升级过程中带来的风险,所以CMA客户端会对项目主机上的组件包进行远程备份(备份方式:全备);[0051 ] (7 )远程备份完组件包之后,CMA客户端会将在分析阶段分析好的最终版本程序包发布到项目主机上:首先客户端工具CMA向项目主机发起socket通讯请求,项目主机接收到CMA客户端发送的通讯请求之后,为CMA客户端打开传送文件的端口,这样CMA客户端和项目主机的连接建立好之后,CMA客户端将版本升级包文件发送到目标主机,完成选择组件的升级;
[0052](S)CMA客户端将组件版本包升级完成之后,会向配置管理云中心CMCC发送请求,将升级信息发送到配置管理云中心CMCC,所述的升级信息包括版本包下载信息、版本分析信息和版本升级信息;配置管理云中心CMCC接收CMA客户端发来的请求,将版本更新信息维护到配置管理云中心CMCC数据库,所述版本更新信息包括更新组件版本信息和记录历史升级信息。
【权利要求】
1.一种通过云端集中管理版本的实现方法,该方法的实现依托以下产品模块实现: 所述产品模块包括配置管理云中心CMCC、cma代理cmaAgent和客户端工具CMA ; 所述配置管理云中心CMCC作用包括,用于实现V6组件的维护、项目业务系统定义、项目主机定义、部署组件和项目主机之间的关联关系定义; 所述V6组件细分为多个版本管理单元,一个V6组件即指V6里面的一个版本管理单元,称WAR包;所述项目业务系统是指利用计算机硬件、软件、网络通信设备,进行信息的收集、传输、加工、储存、更新和维护的IT设备群;所述项目主机定义是指项目业务系统里所述计算机硬件作为项目主机资源的添加、维护;所述部署组件是指V6组件对应的war包,SP一个要发布到项目主机上完整程序包;所述关联关系定义是指V6组件和项目主机之间的依赖关系建立与维护; 所述cma代理cmaAgent部署在所述项目主机上,用于实现项目主机和客户端工具CMA进行数据通讯,以实现文件的上传与下载,所述的文件为客户端工具CMA从所述配置管理云中心CMCC下载的组件版本文件和项目主机里面部署组件的特殊配置文件; 所述客户端工具CMA用于实现从所述配置管理云中心CMCC获取所述项目主机上组件的版本信息、从所述配置管理云中心CMCC将版本包下载到本地、分析本地组件包,远程备份程序,所述备份程序为所述V6组件部署在项目主机里对应的war包,最后将本地分析的版本包打包发布到所述目标主机上; 一种利用上述产品模块通过云端集中管理版本的实现方法,其特征在于,该方法包括步骤如下: (1)系统工程师登录所述配置管理云中心CMCC,选择要发布的变更包,选择要部署的项目测试环境,部署变更包的·到项目测试环境,并在项目测试环境中测试变更包:若测试不通过,则查找原因;若测试通过,则配置管理云中心CMCC把变更包状态改为可发布状态,所述的可发布状态包括在配置管理云中心CMCC记录的变更包发布版本信息; (2)客户端工具CMA调用配置管理云中心CMCC发布的webservice服务,发送请求到配置管理云中心CMCC进行身份验证:若验证通过,则配置管理云中心CMCC会发送验证成功信息响应客户端工具CMA,并告之客户端工具CMA检查项目主机上部署组件的版本信息; (3)验证通过后,客户端工具CMA从配置管理云中心CMCC提取到本项目主机上各个部署组件的最新版本和部署信息,并从配置管理云中心CMCC提取到各个组件对应的安装变更包; (4)CMA客户端选择打算安装的变更包后,开始从配置管理云中心CMCC的FTP服务器上下载选择的变更包,将变更包下载到本地; (5)变更包下载完成之后,CMA客户端开始分析下载的变更包;所述客户端工具CMA逐个分析变更包,将所述变更包里面正式发布的程序包和附件分离开来;如果对于同一个部署组建下载了多个变更版本包的话,则客户端工具CMA会将分析完成的多个版本程序包进行合并:即高版本的程序包覆盖低版本程序包,最终形成一个需要发布到项目主机上的程序包; (6)在发布版本升级包之前全部备份项目主机上的组件包; (7)远程备份完组件包之后,CMA客户端会将在分析阶段分析好的最终版本程序包发布到项目主机上:首先客户端工具CMA向项目主机发起socket通讯请求,项目主机接收到CMA客户端发送的通讯请求之后,为CMA客户端打开传送文件的端口,这样CMA客户端和项目主机的连接建立好之后,CMA客户端将版本升级包文件发送到目标主机,完成选择组件的升级; (S)CMA客户端将组件版本包升级完成之后,会向配置管理云中心CMCC发送请求,将升级信息发送到配置管理云中心CMCC,所述的升级信息包括版本包下载信息、版本分析信息和版本升级信息;配置管理云中心CMCC接收CMA客户端发来的请求,将版本更新信息维护到配置管理云中心CMCC数据库,所述版本更新信息包括更新组件版本信息和记录历史升级信息。`
【文档编号】G06F9/445GK103853585SQ201410056370
【公开日】2014年6月11日 申请日期:2014年2月19日 优先权日:2014年2月19日
【发明者】王伟兵, 宋家祈 申请人:浪潮软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1