CN105117263B - 一种unix环境软件***升级方法 - Google Patents

一种unix环境软件***升级方法 Download PDF

Info

Publication number
CN105117263B
CN105117263B CN201510583927.7A CN201510583927A CN105117263B CN 105117263 B CN105117263 B CN 105117263B CN 201510583927 A CN201510583927 A CN 201510583927A CN 105117263 B CN105117263 B CN 105117263B
Authority
CN
China
Prior art keywords
application server
upgrade package
file
upgrade
deployment
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
Application number
CN201510583927.7A
Other languages
English (en)
Other versions
CN105117263A (zh
Inventor
魏平
徐晨光
袁义
赵寒
宋文龙
张亮
王嘉春
谢政
罗成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Spacecraft System Engineering
Original Assignee
Beijing Institute of Spacecraft System Engineering
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Spacecraft System Engineering filed Critical Beijing Institute of Spacecraft System Engineering
Priority to CN201510583927.7A priority Critical patent/CN105117263B/zh
Publication of CN105117263A publication Critical patent/CN105117263A/zh
Application granted granted Critical
Publication of CN105117263B publication Critical patent/CN105117263B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种UNIX环境软件***升级方法,其包括以下步骤:步骤1,为升级包预先建立目录结构;步骤2,升级包的安装部署:步骤3,根据所有应用服务器中两两之间的配置差异建立规则映射表,然后将该规则映射表预先存储至所有应用服务器内;步骤3,综合规则映射表将安装成功的升级包适用到其他应用服务器上;步骤4,完成所有应用服务器完成自适应升级包的安装部署。本发明的UNIX环境软件***升级方法,正式环境补丁自动生成,没有手工更改补丁内容,补丁的正确性、一致性得到保障。

Description

一种UNIX环境软件***升级方法
技术领域
本发明属于计算机技术领域,尤其涉及一种UNIX环境软件***升级方法。
背景技术
企业内许多重要的软件***(如大型PDM***)通常部署在性能稳定的UNIX***或Linux等类Unix操作***环境中。如图1所示,***管理员个人操作终端一般与应用***服务器之间有防火墙隔离,管理员在个人操作终端通过相应端口或软件连接到服务器区管理中间机(一般为Windows操作***),然后再与应用***服务器建立连接进行管理操作。
应用***升级活动的进行受到升级环境的制约,应用***管理员得到升级补丁包后,通过操作终端按照如下步骤完成***升级:
①将升级补丁包导入操作终端机;
②经过认证穿过防火墙,与管理中间机建立连接;
③将升级补丁包上传至管理中间机;
④使用SSH客户端工具,与宿主操作***为UNIX(或其它类UNIX***)的应用***服务器建立连接,并将补丁包上传;
⑤按照开发方提供的升级说明,通过SSH客户端逐条输入命令,包括停止应用***服务、逐一部署补丁包中的文件、手工备份被替换的文件以及重启应用***服务等。
鉴于一般企业内部安全管理规定的要求以及应用***本身的部署特点,目前的升级流程是比较科学和相对固化的,但存在如下潜在缺陷:
①开发方提供的补丁正确,但如果补丁部署说明中升级步骤有一处有误,则可能导致升级失败;
②应用***管理人员直接登录到应用服务器进行操作,存在进行正常升级命令以外的误操作的可能,也许会因为一次升级引入不可预知的问题;
③不同的补丁包提供人员提供的补丁包形式上存在差异,应用管理人员对升级包维护的方式也存在差异,这些都会导致升级过程的不规范现象;
④当一次升级涉及数以百计的文件需要更新或添加时,过程相当繁琐而且容易出错;
⑤升级补丁先在测试环境上部署、测试通过后,可能还需手动修改部分文件内容,重新得到适用于正式生产环境的补丁包,更改的正确性靠人工保证;
⑥升级后如果需要回滚,特别是如果需要回滚到若干次升级前的状态,对于实施人员来说将是灾难。
华为技术有限公司专利CN102193805A公开了一种软件补丁升级方法,该方法可以自动生成备份程序,根据补丁包自动升级,并且当本次升级失败时可以自动回滚。但是该方法主要存在以下问题:
针对“自解释”:传统方式下,开发方提供升级包和升级操作说明,升级包中的文件可以平级放置(只要不重名),升级操作说明中会告诉操作实施人员如何逐一部署升级包中的文件。这存在如下潜在缺陷:一是如果开发方提供的升级包正确,但如果补丁部署说明中升级步骤有一处有误,则可能导致升级失败;二是实施人员直接登陆到应用服务器进行操作,存在进行正常升级命令以外的误操作的可能,也许会因为一次升级引入不可预知的问题;三是如果当一次升级涉及数以百计的文件需要更新或添加时,过程相当繁琐、耗时且容易出错。
针对补丁自动生成:传统方式下,如果一个应用***在不同的服务器上部署了多套,那么针对不同实例的应用***要提供不同的升级包文件,或者说在某一台服务器上部署测试通过的升级包要部署到另一台服务器上时,需要手工修改部分文件内容,例如对于测试***和正式***而言,升级包先在测试***上部署、测试通过后,可能还需手动修改部分文件内容,重新得到适用于正式生产环境的升级包,更改的正确性靠人工保证。
针对按需回滚:升级后,如果需要回滚,特别是如果需要回滚到若干次升级前的状态,对于实施人员来说将是灾难。华为技术有限公司专利CN102193805A公开了一种软件补丁升级方法,该方法可以自动生成备份程序,根据补丁包自动升级,并且当本次升级失败时可以自动回滚。但该方法仅支持当次升级失败后的回滚,不支持当次升级成功后由于其他需要进行回滚,或者将若干次之前升级操作全部回滚的需求。
发明内容
为解决上述问题,本发明提供一种UNIX环境软件***升级方法,正式环境补丁自动生成,没有手工更改补丁内容,补丁的正确性、一致性得到保障。
本发明的UNIX环境软件***升级方法,其包括以下步骤:
步骤1,为该UNIX环境软件***升级所使用的升级包预先建立目录结构,该补丁包目录结构包括所有的升级文件,所述升级文件根据目标放置位置设计的路径信息;
步骤2,升级包的安装部署:
将升级包通过终端传到应用服务器上,应用服务器对该升级包进行解压,并遍历升级包内的升级文件,根据路径信息将相应的升级文件传输至目标放置位置,然后进行判断:若目标放置位置上存在传输的升级文件,则先将目标放置位置上的原文件传输至备份库以备份文件夹的方式进行备份,然后将目标放置位置上的原文件替换为传输的升级文件;若目标放置位置上不存在传输的升级文件,则直接放置于目标位置;
安装部署完毕,同时备份库内建立一次升级的备份文件夹和在日志里记录一次本次升级的时间戳,该备份文件夹内包含本次升级之前替换的原文件,同时备份文件夹以该次升级时间戳命名;
步骤3,根据所有应用服务器中两两之间的配置差异建立规则映射表,然后将该规则映射表预先存储至所有应用服务器内;
设应用服务器A为经步骤2后的升级包安装部署完毕并经功能性能测试成功的应用服务器,并将应用服务器A上安装部署完毕并测试成功的升级包直接传输至升级包未安装部署完毕的应用服务器B上,该应用服务器B接收所述升级包并遍历其存储的规则映射表中的规则,并根据其中应用服务器A与应用服务器B的映射规则自动修正测试成功的升级包中文件内容,得到适用于应用服务器B的自适应升级包,应用服务器B根据步骤2的方式完成自适应升级包的安装部署;
步骤4,安装部署完毕并经功能性能测试成功的应用服务器对未安装部署完毕并经功能性能测试成功的应用服务器按照步骤3的方式,完成未安装部署完毕并经功能性能测试成功的应用服务器自适应升级包的安装部署,直至所有应用服务器完成自适应升级包的安装部署。
进一步的,上述应用服务器安装部署后,在使用过程出现故障,则读取备份库内的日志,得到所有历史升级的时间戳列表,根据故障定位时间戳列表中需要回滚的升级时间戳,从该升级时间戳至今所有的升级包根据时间戳的时间顺序逆向回滚。
进一步的,回滚的内容包括:
遍历备份库内本次回滚的备份文件夹,将每一个备份文件传输至原位置,并替换原位置上的升级文件。
有益效果:
本发明通过对补丁文件层级目录的编制要求,使得补丁文件可以“自解释”所应该放置的位置,省掉补丁文件放置说明。本发明正式环境补丁自动生成:正式生产环境的补丁是从测试环境测试通过的补丁经过依据规则表的自动更正而得到的,没有手工更改补丁内容,补丁的正确性、一致性得到保障。
另外本发明补丁按需回滚。该方法设计了完备的日志和补丁存储结构,管理员可根据需要一键快速回滚若干次补丁,使***恢复至需要的状态。
附图说明
图1为现有技术的UNIX环境软件***升级方法示意图;
图2为本发明的UNIX环境软件***升级方法流程图。
具体实施方式
本发明的技术方案如下:
一种UNIX环境软件***升级方法,其包括以下步骤:
步骤1,为该UNIX环境软件***升级所使用的升级包预先建立目录结构,该补丁包目录结构包括所有的升级文件,所述升级文件根据目标放置位置设计的路径信息。
步骤2,升级包的安装部署:
将升级包通过终端传到应用服务器上,应用服务器对该升级包进行解压,并遍历升级包内的升级文件,根据路径信息将相应的升级文件传输至目标放置位置,然后进行判断:若目标放置位置上存在传输的升级文件,则先将目标放置位置上的原文件传输至备份库以备份文件夹的方式进行备份,然后将目标放置位置上的原文件替换为传输的升级文件;若目标放置位置上不存在传输的升级文件,则直接放置于目标位置。
在补丁包安装过程中,不需要额外的补丁描述文件来说明用某个文件A去替换某个文件B,而是采用了基于补丁包目录结构“自解释”的特性,完成了补丁文件的备份和自动安装。
安装部署完毕,同时备份库内建立一次升级的备份文件夹和在日志里记录一次本次升级的时间戳,该备份文件夹内包含本次升级之前替换的原文件,同时备份文件夹以该次升级时间戳命名。
步骤3,根据所有应用服务器中两两之间的配置差异建立规则映射表,然后将该规则映射表预先存储至所有应用服务器内;
设应用服务器A为经步骤2后的升级包安装部署完毕并经功能性能测试成功的应用服务器,并将应用服务器A上安装部署完毕并测试成功的升级包直接传输至升级包未安装部署完毕的应用服务器B上,该应用服务器B接收所述升级包并遍历其存储的规则映射表中的规则,并根据其中应用服务器A与应用服务器B的映射规则自动修正测试成功的升级包中文件内容,得到适用于应用服务器B的自适应升级包,应用服务器B根据步骤2的方式完成自适应升级包的安装部署;
例如:配置差异包括IP地址、域名和***标识符等,在建立规则映射表时建立可能出现这些配置差异项的文件列表,如*.property、*.xml、*.conf等文件。若应用服务器A安装部署完毕并经功能性能测试成功后,将测试成功的升级包直接传输至应用服务器B上,该第应用服务器B接收测试成功的升级包,解压升级包,然后根据文件后缀过滤出可能需要替换内容的升级文件列表,然后逐个文件根据个性化差异配置项进行全文替换,自动修正得到适用于应用服务器B的自适应升级包。
步骤4,安装部署完毕并经功能性能测试成功的应用服务器对未安装部署完毕并经功能性能测试成功的应用服务器按照步骤3的方式,完成未安装部署完毕并经功能性能测试成功的应用服务器自适应升级包的安装部署,直至所有应用服务器完成自适应升级包的安装部署。
由于每次升级活动要先在应用***测试服务器上进行,待补丁通过验证后,才会将其应用到正式服务器上,而为了保证部署在测试***和正式***上的补丁版本的一致性,实际过程中不希望针对正式服务器再另出一份补丁。为此,本方案建立维护一份规则表,它描述了当补丁包中包含哪些文件时,需要针对不同的服务器在何处做出何种修改。这样,当补丁包在一台应用服务器上测试通过后,当前服务器会根据此规则描述表,自动替换相关文件中的指定内容,可以将此补丁包直接部署到其他应用服务器上,即实现了基于规则表的补丁内容自动更正,避免了因二次引入补丁包后导致的补丁包不一致性问题。
上述应用服务器安装部署后,在使用过程出现故障,则读取备份库内的日志,得到所有历史升级的时间戳列表,根据故障定位时间戳列表中需要回滚的升级时间戳,从该升级时间戳至今所有的升级包根据时间戳的时间顺序逆向回滚。遍历本次回滚的备份库内备份文件夹,将每一个备份文件传输至原位置,并替换原位置上的升级文件。
实际工作中,可能由于各种原因需要对之前部署的若干次补丁进行回滚,本方案专门维护一个日志库,每次升级操作都会产生一个独立的格式化日志文件存入日志库,当需要使应用***恢复到之前某个时刻的状态时,可以根据格式化的日志库将指定时刻之后所打的补丁包全部回滚;另外,当***出现问题需要做出评估时,完备的日志内容也可以为相关人员提供客观依据。
上述方法兼顾***升级、备份还原的特点,简化了常规的升级操作,提升了升级效率,平均升级时间较之以前节省80%以上,升级操作正确率可达100%;固化了升级流程,使得升级过程方便管理;完善了升级日志记录,易于出错后***状态恢复。
本发明的UNIX环境下的软件***升级方法可利用shell脚本在应用***服务器上实现升级过程的核心功能;在中间管理机上利用DOS批处理脚本通过SSH协议进行用户认证、远程shell脚本调用以及通过SCP协议实现补丁包上传。升级装置用到的DOS批处理脚本部署在操作***环境为Windows Server的中间管理机上,shell脚本则驻留在操作***环境为UNIX的应用***服务器中,其中,DOS批处理脚本和shell脚本共同完成了升级方法的核心业务逻辑。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (3)

1.一种UNIX环境软件***升级方法,其特征在于,包括以下步骤:
步骤1,为该UNIX环境软件***升级所使用的升级包预先建立补丁包目录结构,该补丁包目录结构包括所有的升级文件以及所述升级文件根据目标放置位置设计的路径信息;
步骤2,升级包的安装部署:
将升级包通过终端传到应用服务器上,应用服务器对该升级包进行解压,并遍历升级包内的升级文件,根据路径信息将相应的升级文件传输至目标放置位置,然后进行判断:若目标放置位置上存在传输的升级文件,则先将目标放置位置上的原文件传输至备份库以备份文件夹的方式进行备份,然后将目标放置位置上的原文件替换为传输的升级文件;若目标放置位置上不存在传输的升级文件,则直接放置于目标位置;
安装部署完毕,同时备份库内建立一次升级的备份文件夹和在日志里记录一次本次升级的时间戳,该备份文件夹内包含本次升级之前替换的原文件,同时备份文件夹以该次升级时间戳命名;
步骤3,根据所有应用服务器中两两之间的配置差异建立规则映射表,然后将该规则映射表预先存储至所有应用服务器内;
应用服务器A为经步骤2后的升级包安装部署完毕并经功能性能测试成功的应用服务器,并将应用服务器A上安装部署完毕并测试成功的升级包直接传输至升级包未安装部署完毕的应用服务器B上,该应用服务器B接收所述升级包并遍历其存储的规则映射表中的规则,并根据其中应用服务器A与应用服务器B的映射规则自动修正测试成功的升级包中文件内容,得到适用于应用服务器B的自适应升级包,应用服务器B根据步骤2的方式完成自适应升级包的安装部署;
步骤4,安装部署完毕并经功能性能测试成功的应用服务器对未安装部署完毕并经功能性能测试成功的应用服务器按照步骤3的方式,完成未安装部署完毕并经功能性能测试成功的应用服务器自适应升级包的安装部署,直至所有应用服务器完成自适应升级包的安装部署。
2.如权利要求1所述的UNIX环境软件***升级方法,其特征在于,上述应用服务器安装部署后,在使用过程出现故障,则读取备份库内的日志,得到所有历史升级的时间戳列表,根据故障定位时间戳列表中需要回滚的升级时间戳,从该升级时间戳至今所有的升级包根据时间戳的时间顺序逆向回滚。
3.如权利要求2所述的UNIX环境软件***升级方法,其特征在于,回滚的内容包括:
遍历备份库内本次回滚的备份文件夹,将每一个备份文件传输至原位置,并替换原位置上的升级文件。
CN201510583927.7A 2015-09-14 2015-09-14 一种unix环境软件***升级方法 Active CN105117263B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510583927.7A CN105117263B (zh) 2015-09-14 2015-09-14 一种unix环境软件***升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510583927.7A CN105117263B (zh) 2015-09-14 2015-09-14 一种unix环境软件***升级方法

Publications (2)

Publication Number Publication Date
CN105117263A CN105117263A (zh) 2015-12-02
CN105117263B true CN105117263B (zh) 2018-06-22

Family

ID=54665264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510583927.7A Active CN105117263B (zh) 2015-09-14 2015-09-14 一种unix环境软件***升级方法

Country Status (1)

Country Link
CN (1) CN105117263B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106941420B (zh) * 2017-03-16 2019-12-13 北京深思数盾科技股份有限公司 一种集群应用环境升级方法及装置
CN108664255B (zh) * 2017-03-27 2023-04-11 深圳市中兴通讯技术服务有限责任公司 一种软件升级方法及装置
CN107402780A (zh) * 2017-05-15 2017-11-28 梁亚柳 半自动更新版本软件工具
CN107273139A (zh) * 2017-07-05 2017-10-20 努比亚技术有限公司 一种***更新方法、设备及计算机可读存储介质
CN107844314B (zh) * 2017-12-22 2020-12-18 税友软件集团股份有限公司 一种升级Weblogic应用程序的方法及***
CN111190639A (zh) * 2019-12-26 2020-05-22 中国建设银行股份有限公司 适用于WebLogic的自动升级方法、***、装置及存储介质
CN112579358B (zh) * 2020-12-22 2024-03-22 深圳市科力锐科技有限公司 备份点检测方法、装置、设备及存储介质
CN114895943B (zh) * 2022-05-30 2024-05-28 山东浪潮科学研究院有限公司 一种应用配置增量分发与自动升级的实现方法与装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1858704A (zh) * 2006-02-07 2006-11-08 华为技术有限公司 升级程序的方法
CN101030157A (zh) * 2007-04-20 2007-09-05 北京搜狗科技发展有限公司 一种用户词库同步更新的方法和***
CN101038549A (zh) * 2007-03-28 2007-09-19 北京启明星辰信息技术有限公司 一种可跨***的软件升级方法
CN101854399A (zh) * 2010-06-09 2010-10-06 宇龙计算机通信科技(深圳)有限公司 一种网络数据的聚合方法及装置
CN101930379A (zh) * 2010-08-20 2010-12-29 上海普元信息技术股份有限公司 分布式软件***中服务器应用程序增量部署的结构及方法
CN102025778A (zh) * 2010-11-25 2011-04-20 成都勤智数码科技有限公司 一种基于Shell的软件版本升级工作方法
US8368915B1 (en) * 2006-06-23 2013-02-05 Open Invention Network, Llc System and method for printer driver management in an enterprise network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194542A (ja) * 1998-12-28 2000-07-14 Hitachi Maxell Ltd アプリケ―ション配布方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1858704A (zh) * 2006-02-07 2006-11-08 华为技术有限公司 升级程序的方法
US8368915B1 (en) * 2006-06-23 2013-02-05 Open Invention Network, Llc System and method for printer driver management in an enterprise network
CN101038549A (zh) * 2007-03-28 2007-09-19 北京启明星辰信息技术有限公司 一种可跨***的软件升级方法
CN101030157A (zh) * 2007-04-20 2007-09-05 北京搜狗科技发展有限公司 一种用户词库同步更新的方法和***
CN101854399A (zh) * 2010-06-09 2010-10-06 宇龙计算机通信科技(深圳)有限公司 一种网络数据的聚合方法及装置
CN101930379A (zh) * 2010-08-20 2010-12-29 上海普元信息技术股份有限公司 分布式软件***中服务器应用程序增量部署的结构及方法
CN102025778A (zh) * 2010-11-25 2011-04-20 成都勤智数码科技有限公司 一种基于Shell的软件版本升级工作方法

Also Published As

Publication number Publication date
CN105117263A (zh) 2015-12-02

Similar Documents

Publication Publication Date Title
CN105117263B (zh) 一种unix环境软件***升级方法
CN104252500B (zh) 一种数据库管理平台的故障修复方法和装置
US9940208B2 (en) Generating reverse installation file for network restoration
US8132046B2 (en) Synchronizing replicas of a database
US8548956B2 (en) Automated computing appliance cloning or migration
US8667096B2 (en) Automatically generating system restoration order for network recovery
US8990368B2 (en) Discovery of network software relationships
CN104679611B (zh) 数据资源复制方法以及装置
CN103200021B (zh) 网管***、客户端、服务端及实现批量配置数据的方法
CN104572357A (zh) 一种用于hdfs***的备份和恢复方法
CN109614283B (zh) 分布式数据库集群的监控***
US20080208958A1 (en) Risk assessment program for a directory service
US11782800B2 (en) Methods to automatically correct and improve system recovery and replication processes
CN107294924A (zh) 漏洞的检测方法、装置和***
WO2011022978A1 (zh) 一种备份数据及回退数据的方法和网管服务器
CN108804248B (zh) 一种卷实时保护数据的自动校验方法
JP5513926B2 (ja) 保守作業支援システム
CN101924794B (zh) 一种基于互联网实时监视软件运行总量的方法
CN101841425A (zh) 一种无代理的网络备份方法、装置和***
CN111125060A (zh) 一种数据库管理方法、***、设备及存储介质
CN111240700A (zh) 一种跨网段服务器os部署***及方法
US6578035B1 (en) Method for dynamic validation of a distributed database segment which yields a suitable successor
Cisco Troubleshooting Cisco UGM
Cisco Troubleshooting Cisco UGM
CN107026754B (zh) 一种单节点PaaS平台的自动化运维方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant