首页> 中国专利> 一种UNIX环境软件系统升级方法

一种UNIX环境软件系统升级方法

摘要

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

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-22

    授权

    授权

  • 2015-12-30

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20150914

    实质审查的生效

  • 2015-12-02

    公开

    公开

说明书

技术领域

本发明属于计算机技术领域,尤其涉及一种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批处理脚本部署在操作系统环境为WindowsServer的中间 管理机上,shell脚本则驻留在操作系统环境为UNIX的应用系统服务器中,其 中,DOS批处理脚本和shell脚本共同完成了升级方法的核心业务逻辑。

当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情 况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但 这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号