CN102025778A - 一种基于Shell的软件版本升级工作方法 - Google Patents
一种基于Shell的软件版本升级工作方法 Download PDFInfo
- 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
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
技术领域
本发明涉及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所述的装置,其特征在于:所述版本服务器可以支持双击甚至多机集群。
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)
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)
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 | 中兴通讯股份有限公司 | 阅读器版本管理系统、回退系统、回退方法以及升级方法 |
-
2010
- 2010-11-25 CN CN2010105593077A patent/CN102025778A/zh active Pending
Patent Citations (5)
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)
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 |