CN102025778A - 一种基于Shell的软件版本升级工作方法 - Google Patents

一种基于Shell的软件版本升级工作方法 Download PDF

Info

Publication number
CN102025778A
CN102025778A CN2010105593077A CN201010559307A CN102025778A CN 102025778 A CN102025778 A CN 102025778A CN 2010105593077 A CN2010105593077 A CN 2010105593077A CN 201010559307 A CN201010559307 A CN 201010559307A CN 102025778 A CN102025778 A CN 102025778A
Authority
CN
China
Prior art keywords
version
server
upgrading
shell
ftp
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.)
Pending
Application number
CN2010105593077A
Other languages
English (en)
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.)
Chengdu Qinzhi Digital Technology Co Ltd
Original Assignee
Chengdu Qinzhi Digital Technology Co Ltd
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 Chengdu Qinzhi Digital Technology Co Ltd filed Critical Chengdu Qinzhi Digital Technology Co Ltd
Priority to CN2010105593077A priority Critical patent/CN102025778A/zh
Publication of CN102025778A publication Critical patent/CN102025778A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于Shell的软件升级管理方法,该方法包括以下步骤:(1)在版本服务器上开通FTP服务;(2)通过管理台在ftp服务器放置一个存放最新版本信息文件;(3)终端通过ftp协议下载版本文件;(4)终端将最新的版本号和本地版本号文件进行比较,如果最新版本与本地版本一致,则无需升级;如果最新版本高于本地版本,则通过ftp协议从指定路径下载新版本,并解压执行软件升级操作。(5)如果更新成功,则修改本地版本号为升级后的版本号;如果更新失败,则执行回退操作。(6)将升级结果上传至版本服务器;(7)通过cron定期执行步骤1-6。本发明方法可以保证软件版本的一致性,并且完全通过成熟的ftp协议和shell脚本实现,简单稳定,易于维护。

Description

一种基于Shell的软件版本升级工作方法
技术领域
本发明涉及IT运维领域,特别是Unix/Linux环境下运维软件版本升级工作方法。
 
背景技术
在银行、证券、保险等行业中,由于稳定性,可靠性需要,其大多数业务系统运行在UNIX/Linux平台下。由于业务需求的不断变化,软件需要不断被更新。传统方法是技术人员按照升级步骤进行手动更新。当设备数量多时,耗费大量人力;并且容易因人为疏忽导致出错;如果更新频繁,出错可能性更大。另外,有些业务系统对升级的时间有特殊要求,比如要求只能在某一时刻升级,或者数百个系统必须要在1分钟内升级完毕;这些要求,手工方式都无法满足。
说明:
Cron:Unix/Linux下的任务调度进程。
发明内容
本发明提供了一种简单有效的方法和相关部件,保证软件版本升级的一致性和正确性。在本发明中,版本管理部件包括终端Shell、版本服务器和管理台。版本服务器上安装FTP服务器;相关的升级内容和版本信息均存放在版本服务器上。终端Shell包括cron调度shell、版本检测shell、版本下载shell、升级shell、回退shell、升级结果上报shell等。
版本检测shell主要通过ftp登录版本服务器,下载最新版本信息文件;从版本信息文件中读取版本号;并将其与本地版本信息文件中的版本号进行比较;如果两者不一致,则本地版本需要更新。
版本下载shell根据版本信息文件内容,通过ftp从版本服务器指定路径下载升级shell,回退shell以及升级文件包。如果下载失败,会重试指定次数。下载下来的文件存放在临时文件夹中。
升级shell和回退shell负责实现具体的版本升级操作;包括停止当前正在运行的业务系统;对要修改的内容进行备份以便出错时回退;复制要升级的内容;复制完毕后重新启动业务系统,并修改本地版本信息文件;如果升级过程中出现问题,无法成功升级,则执行回退shell,根据备份文件复原。
升级结果上报shell将升级过程日志和升级结果上传到版本服务器。技术人员可以在版本服务器上集中查看升级结果,无须逐台登录每个终端查看。
Cron调度shell定期执行上述操作,保证版本能够按预期的时间和频度进行更新。
管理台负责对版本服务器上的版本进行管理。
本发明提供的方法能解决软件升级管理的自动化,保证版本的一致性;采用本方法制作的装置是透明可审计的,装置的安全性和可靠性有保障。同时简化了装置开发过程,提高了开发效率,能够快速满足软件升级的各种情况,具有很好的可适应性。当终端数量较大时,能极大地降低人力投入,防止升级出错;可以支持双机或多机集群,并可处理各种升级失败的情况,提高了升级的可靠性和并发能力。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是升级工作原理图。
图2是升级工作步骤图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
下面将结合附图对本发明做进一步的说明
如图1,本发明软件版本升级装置包括终端、版本服务器和管理台。终端运行在各安装有带升级软件的系统内,终端数量可能数百或数千个。版本服务器中搭建了FTP服务器,相关版本文件均存放在版本服务器中。新版本的添加和管理是通过管理台实现的。
终端shell在cron调度下定期执行,其包括版本检测,版本下载,升级或回退以及结果上报等功能。Cron调度的周期可精确到分钟。终端和版本服务器之间的通信基于FTP协议,其需要在终端中设置版本服务器的IP,用户名和密码。如果要提高升级装置的可靠性或并发处理能力,可以通过设置多个IP来实现热备或负载均衡。
如图2所示,升级步骤包括以下步骤:
1.当有新版本需要发布时,管理员通过管理台将升级包发布到版本服务器。
2.终端按照cron的调度,发起版本检测操作,即读取版本服务器地址,相关用户名和口令,通过FTP下载版本信息文件。如果下载失败,则记录日志;同时若有多个版本服务器可选,则尝试其它版本服务器,直到找到可用的版本服务器为止。
3.如果版本信息文件下载成功,终端将最新的版本号和本地版本号文件进行比较,如果最新版本与本地版本一致,则无需升级,则本次升级过程结束;如果最新版本高于本地版本,则通过ftp协议从指定路径下载新版本。
4. 新版本下载后,执行升级脚本。升级脚本先对检查升级包是否完备,升级条件是否全部满足。如果满足,则现在准备,包括对原有文件进行备份;如果需要停止业务,则自动停止相关进程;然后执行文件复制操作。升级shell在停止业务前让所有升级准备就绪,以让业务停止时间尽可能短。
5. 如果更新成功,则修改本地版本号为升级后的版本号;如果更新失败,则执行回退操作,这包括恢复备份的文件,重新启动业务进程。
6.终端将升级结果上传至版本服务器;
7.管理人员可通过管理台查看每台设备的升级结果。 
从上述说明可知,本发明中的软件升级管理工作方法及其装置,不仅可以灵活、方便、有效的实现不同要求的自动升级,避免了手工执行升级带来的额外资源浪费和出错可能,并且还通过失败重试、多机集群、错误回滚等多种机制保证了升级的可靠性;其装置基于Unix Shell实现,对管理人员是可读可审计的,使管理人员可以识别并预防升级对业务系统潜在的风险,保证了升级的安全性。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

Claims (7)

1.一种基于Shell的软件版本升级工作方法,其特征在于该方法包括以下步骤:
(1)在版本服务器上开通FTP服务;
(2)管理台在ftp服务器放置一个存放最新版本号和版本路径的文件
(3)终端通过ftp协议下载版本文件;
 (4)所述终端将最新的版本号和本地版本号文件进行比较,如果最新版本与本地版本一致,则无需升级;如果最新版本高于本地版本,则通过ftp协议从指定路径下载新版本,并解压执行软件升级操作;
(5)如果更新成功,则修改本地版本号为升级后的版本号;如果更新失败,则执行回退操作;
(6)将升级结果上传至前述版本服务器;
(7)通过cron定期执行以上步骤1-6。
2.一种专门应用如权利要求1所述的基于Shell的软件版本升级工作方法的装置,其特征在于:该装置包括终端、版本服务器和管理台;所述终端包括版本检测模块、版本下载模块、升级模块、回退模块、升级结果上报模块。
3.根据权利要求2所述的装置,其特征在于:所述终端全部通过Unix Shell实现;其脚本对管理人员是可读可审计的,安全性可验证。
4.根据权利要求2所述的装置,其特征在于:终端shell运行在被管设备内部,软件升级下载从被管设备发起。
5.根据权利要求2所述的装置,其特征在于:终端Shell是通过cron调度的,采集周期调整粒度可精确到分钟。
6.根据权利要求2所述的装置,其特征在于:所述版本服务器的特征在于其基于FTP服务器搭建,终端、管理台与服务器间通过FTP协议进行通信。
7.根据权利要求2所述的装置,其特征在于:所述版本服务器可以支持双击甚至多机集群。
CN2010105593077A 2010-11-25 2010-11-25 一种基于Shell的软件版本升级工作方法 Pending CN102025778A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105593077A CN102025778A (zh) 2010-11-25 2010-11-25 一种基于Shell的软件版本升级工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105593077A CN102025778A (zh) 2010-11-25 2010-11-25 一种基于Shell的软件版本升级工作方法

Publications (1)

Publication Number Publication Date
CN102025778A true CN102025778A (zh) 2011-04-20

Family

ID=43866624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105593077A Pending CN102025778A (zh) 2010-11-25 2010-11-25 一种基于Shell的软件版本升级工作方法

Country Status (1)

Country Link
CN (1) CN102025778A (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360375A (zh) * 2011-09-29 2012-02-22 奇智软件(北京)有限公司 一种基于网络的文件更新管理方法及系统
CN102385614A (zh) * 2011-09-29 2012-03-21 奇智软件(北京)有限公司 一种终端文件更新管理方法及系统
CN102541593A (zh) * 2011-12-20 2012-07-04 福建星网视易信息系统有限公司 一种远程文件的版本快速比对方法
CN102868731A (zh) * 2012-08-27 2013-01-09 济南大学 软件在线升级及加速下载的方法和装置
CN103092749A (zh) * 2011-11-08 2013-05-08 苏州中茵泰格科技有限公司 测试环境部署的方法及系统
CN103092662A (zh) * 2013-02-04 2013-05-08 烽火通信科技股份有限公司 一种基于嵌入式操作系统的终端设备的软件模块升级方法
CN103152213A (zh) * 2013-04-08 2013-06-12 烽火通信科技股份有限公司 光通信系统中受控设备与网管之间协议同步的方法
CN103488503A (zh) * 2013-09-11 2014-01-01 天脉聚源(北京)传媒科技有限公司 软件更新方法及装置
CN103546912A (zh) * 2012-07-09 2014-01-29 中兴通讯股份有限公司 一种基站版本升级的方法、装置及系统
CN103995892A (zh) * 2011-09-29 2014-08-20 北京奇虎科技有限公司 文件更新方法
CN104090785A (zh) * 2014-06-19 2014-10-08 小米科技有限责任公司 应用程序提供方法、装置及系统
CN104699492A (zh) * 2013-12-06 2015-06-10 中兴通讯股份有限公司 一种软件升级方法和装置
CN104850445A (zh) * 2015-06-05 2015-08-19 东信和平科技股份有限公司 一种安全的软件升级方法、装置及系统
CN105094868A (zh) * 2014-05-13 2015-11-25 中兴通讯股份有限公司 一种软件升级方法、服务器及终端
CN105117263A (zh) * 2015-09-14 2015-12-02 北京空间飞行器总体设计部 一种unix环境软件系统升级方法
CN106250548A (zh) * 2016-08-12 2016-12-21 福建中金在线信息科技有限公司 一种代码更新方法
CN106910300A (zh) * 2017-01-18 2017-06-30 浙江维融电子科技股份有限公司 一种金融设备软件的升级方法
CN107172460A (zh) * 2017-06-16 2017-09-15 深圳市云联志远网络科技有限公司 网络电视升级方法、装置及计算机可读存储介质
CN108829424A (zh) * 2018-07-17 2018-11-16 武汉金运激光股份有限公司 一种远程部署更新的方法及设备
CN111371615A (zh) * 2020-03-04 2020-07-03 深信服科技股份有限公司 在线服务器、运维工具的更新方法及系统和可读存储介质
CN112181456A (zh) * 2020-09-24 2021-01-05 上海仙塔智能科技有限公司 整车版本管理方法、系统及计算机存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477500A (zh) * 2002-08-19 2004-02-25 万达信息股份有限公司 一种Client/Server架构下软件自动升级更新的方法
CN1690961A (zh) * 2004-04-30 2005-11-02 鸿富锦精密工业(深圳)有限公司 客户端程序自动更新系统及方法
CN101158906A (zh) * 2007-08-10 2008-04-09 林明辉 一种客户端程序自动更新升级的方法
CN101316189A (zh) * 2008-05-27 2008-12-03 华为技术有限公司 一种实现网络设备升级的方法、系统和设备
CN101826019A (zh) * 2009-03-02 2010-09-08 中兴通讯股份有限公司 阅读器版本管理系统、回退系统、回退方法以及升级方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477500A (zh) * 2002-08-19 2004-02-25 万达信息股份有限公司 一种Client/Server架构下软件自动升级更新的方法
CN1690961A (zh) * 2004-04-30 2005-11-02 鸿富锦精密工业(深圳)有限公司 客户端程序自动更新系统及方法
CN101158906A (zh) * 2007-08-10 2008-04-09 林明辉 一种客户端程序自动更新升级的方法
CN101316189A (zh) * 2008-05-27 2008-12-03 华为技术有限公司 一种实现网络设备升级的方法、系统和设备
CN101826019A (zh) * 2009-03-02 2010-09-08 中兴通讯股份有限公司 阅读器版本管理系统、回退系统、回退方法以及升级方法

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385614A (zh) * 2011-09-29 2012-03-21 奇智软件(北京)有限公司 一种终端文件更新管理方法及系统
CN102360375A (zh) * 2011-09-29 2012-02-22 奇智软件(北京)有限公司 一种基于网络的文件更新管理方法及系统
CN103995892A (zh) * 2011-09-29 2014-08-20 北京奇虎科技有限公司 文件更新方法
CN103995892B (zh) * 2011-09-29 2017-06-30 北京奇虎科技有限公司 文件更新方法
CN103092749A (zh) * 2011-11-08 2013-05-08 苏州中茵泰格科技有限公司 测试环境部署的方法及系统
CN102541593A (zh) * 2011-12-20 2012-07-04 福建星网视易信息系统有限公司 一种远程文件的版本快速比对方法
CN103546912A (zh) * 2012-07-09 2014-01-29 中兴通讯股份有限公司 一种基站版本升级的方法、装置及系统
CN102868731A (zh) * 2012-08-27 2013-01-09 济南大学 软件在线升级及加速下载的方法和装置
CN102868731B (zh) * 2012-08-27 2014-12-17 济南大学 软件在线升级及加速下载的方法和装置
CN103092662A (zh) * 2013-02-04 2013-05-08 烽火通信科技股份有限公司 一种基于嵌入式操作系统的终端设备的软件模块升级方法
CN103152213B (zh) * 2013-04-08 2015-09-16 烽火通信科技股份有限公司 光通信系统中受控设备与网管之间协议同步的方法
CN103152213A (zh) * 2013-04-08 2013-06-12 烽火通信科技股份有限公司 光通信系统中受控设备与网管之间协议同步的方法
CN103488503A (zh) * 2013-09-11 2014-01-01 天脉聚源(北京)传媒科技有限公司 软件更新方法及装置
CN103488503B (zh) * 2013-09-11 2016-06-15 天脉聚源(北京)传媒科技有限公司 软件更新方法及装置
CN104699492A (zh) * 2013-12-06 2015-06-10 中兴通讯股份有限公司 一种软件升级方法和装置
CN105094868A (zh) * 2014-05-13 2015-11-25 中兴通讯股份有限公司 一种软件升级方法、服务器及终端
CN104090785B (zh) * 2014-06-19 2017-12-29 小米科技有限责任公司 应用程序提供方法、装置及系统
CN104090785A (zh) * 2014-06-19 2014-10-08 小米科技有限责任公司 应用程序提供方法、装置及系统
CN104850445A (zh) * 2015-06-05 2015-08-19 东信和平科技股份有限公司 一种安全的软件升级方法、装置及系统
CN105117263A (zh) * 2015-09-14 2015-12-02 北京空间飞行器总体设计部 一种unix环境软件系统升级方法
CN105117263B (zh) * 2015-09-14 2018-06-22 北京空间飞行器总体设计部 一种unix环境软件系统升级方法
CN106250548A (zh) * 2016-08-12 2016-12-21 福建中金在线信息科技有限公司 一种代码更新方法
CN106910300A (zh) * 2017-01-18 2017-06-30 浙江维融电子科技股份有限公司 一种金融设备软件的升级方法
CN107172460A (zh) * 2017-06-16 2017-09-15 深圳市云联志远网络科技有限公司 网络电视升级方法、装置及计算机可读存储介质
CN108829424A (zh) * 2018-07-17 2018-11-16 武汉金运激光股份有限公司 一种远程部署更新的方法及设备
CN111371615A (zh) * 2020-03-04 2020-07-03 深信服科技股份有限公司 在线服务器、运维工具的更新方法及系统和可读存储介质
CN111371615B (zh) * 2020-03-04 2023-07-14 深信服科技股份有限公司 在线服务器、运维工具的更新方法及系统和可读存储介质
CN112181456A (zh) * 2020-09-24 2021-01-05 上海仙塔智能科技有限公司 整车版本管理方法、系统及计算机存储介质

Similar Documents

Publication Publication Date Title
CN102025778A (zh) 一种基于Shell的软件版本升级工作方法
US20200183896A1 (en) Upgrade of heterogeneous multi-instance database clusters
US7694181B2 (en) Automated software testing framework
US10805407B2 (en) Supporting high availability for orchestrated services
CN102609281B (zh) 分布式软件补丁更新方法及系统
CN107122270B (zh) 一种在服务的次要位置重放作业的方法、系统及存储介质
US8892712B2 (en) Upgrading enterprise managers
US9712418B2 (en) Automated network control
CN112463144B (zh) 分布式存储的命令行服务方法、系统、终端及存储介质
CN105653329A (zh) 一种应用管理的方法、装置及系统
US10795688B2 (en) System and method for performing an image-based update
CN103530150A (zh) 一种Linux操作系统远程更新的方法
CN109558147A (zh) 一种基于Jenkins和Gitlab的持续集成平台构建方法
CN108052336A (zh) 一种分布式软件升级系统及其实现方法
US8380729B2 (en) Systems and methods for first data capture through generic message monitoring
EP4130982A1 (en) Network-based solution module deployment platform
US11620122B2 (en) Automation controller for upgrading an IT infrastructure
CN104702423A (zh) 一种分布式系统的版本动态管理方法和装置
CN105765908B (zh) 一种多站点自动更新方法、客户端和系统
CN112558990A (zh) 一种车载安全计算机的维护升级方法及系统
CN111897794A (zh) 数据库的维护方法、装置、电子设备和存储介质
CN104657168A (zh) 一种客户端以及该客户端进行升级的方法
CN112925544B (zh) 更新应用程序的方法、装置、电子设备及计算机存储介质
JP2897354B2 (ja) プログラム環境管理方式
CN116132276A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110420