《一种基于SHELL的软件版本升级工作方法.pdf》由会员分享,可在线阅读,更多相关《一种基于SHELL的软件版本升级工作方法.pdf(7页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102025778A43申请公布日20110420CN102025778ACN102025778A21申请号201010559307722申请日20101125H04L29/08200601G06F9/44520060171申请人成都勤智数码科技有限公司地址610041四川省成都市成都高新区天韵路150号高新国际广场D座404室72发明人廖昕杨涛陈松54发明名称一种基于SHELL的软件版本升级工作方法57摘要本发明公开了一种基于SHELL的软件升级管理方法,该方法包括以下步骤1在版本服务器上开通FTP服务2通过管理台在FTP服务器放置一个存放最新版本信息文件3终端通过FTP协。
2、议下载版本文件4终端将最新的版本号和本地版本号文件进行比较,如果最新版本与本地版本一致,则无需升级;如果最新版本高于本地版本,则通过FTP协议从指定路径下载新版本,并解压执行软件升级操作。5如果更新成功,则修改本地版本号为升级后的版本号;如果更新失败,则执行回退操作。6将升级结果上传至版本服务器;7通过CRON定期执行步骤16。本发明方法可以保证软件版本的一致性,并且完全通过成熟的FTP协议和SHELL脚本实现,简单稳定,易于维护。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书3页附图2页CN102025792A1/1页21一种基于SHELL的软件版本升级工。
3、作方法,其特征在于该方法包括以下步骤1在版本服务器上开通FTP服务2管理台在FTP服务器放置一个存放最新版本号和版本路径的文件3终端通过FTP协议下载版本文件;4所述终端将最新的版本号和本地版本号文件进行比较,如果最新版本与本地版本一致,则无需升级;如果最新版本高于本地版本,则通过FTP协议从指定路径下载新版本,并解压执行软件升级操作;5如果更新成功,则修改本地版本号为升级后的版本号;如果更新失败,则执行回退操作;6将升级结果上传至前述版本服务器;7通过CRON定期执行以上步骤16。2一种专门应用如权利要求1所述的基于SHELL的软件版本升级工作方法的装置,其特征在于该装置包括终端、版本服务器。
4、和管理台;所述终端包括版本检测模块、版本下载模块、升级模块、回退模块、升级结果上报模块。3根据权利要求2所述的装置,其特征在于所述终端全部通过UNIXSHELL实现;其脚本对管理人员是可读可审计的,安全性可验证。4根据权利要求2所述的装置,其特征在于终端SHELL运行在被管设备内部,软件升级下载从被管设备发起。5根据权利要求2所述的装置,其特征在于终端SHELL是通过CRON调度的,采集周期调整粒度可精确到分钟。6根据权利要求2所述的装置,其特征在于所述版本服务器的特征在于其基于FTP服务器搭建,终端、管理台与服务器间通过FTP协议进行通信。7根据权利要求2所述的装置,其特征在于所述版本服务器。
5、可以支持双击甚至多机集群。权利要求书CN102025778ACN102025792A1/3页3一种基于SHELL的软件版本升级工作方法技术领域0001本发明涉及IT运维领域,特别是UNIX/LINUX环境下运维软件版本升级工作方法。0002背景技术0003在银行、证券、保险等行业中,由于稳定性,可靠性需要,其大多数业务系统运行在UNIX/LINUX平台下。由于业务需求的不断变化,软件需要不断被更新。传统方法是技术人员按照升级步骤进行手动更新。当设备数量多时,耗费大量人力;并且容易因人为疏忽导致出错;如果更新频繁,出错可能性更大。另外,有些业务系统对升级的时间有特殊要求,比如要求只能在某一时刻升。
6、级,或者数百个系统必须要在1分钟内升级完毕;这些要求,手工方式都无法满足。0004说明CRONUNIX/LINUX下的任务调度进程。发明内容0005本发明提供了一种简单有效的方法和相关部件,保证软件版本升级的一致性和正确性。在本发明中,版本管理部件包括终端SHELL、版本服务器和管理台。版本服务器上安装FTP服务器;相关的升级内容和版本信息均存放在版本服务器上。终端SHELL包括CRON调度SHELL、版本检测SHELL、版本下载SHELL、升级SHELL、回退SHELL、升级结果上报SHELL等。0006版本检测SHELL主要通过FTP登录版本服务器,下载最新版本信息文件;从版本信息文件中读。
7、取版本号;并将其与本地版本信息文件中的版本号进行比较;如果两者不一致,则本地版本需要更新。0007版本下载SHELL根据版本信息文件内容,通过FTP从版本服务器指定路径下载升级SHELL,回退SHELL以及升级文件包。如果下载失败,会重试指定次数。下载下来的文件存放在临时文件夹中。0008升级SHELL和回退SHELL负责实现具体的版本升级操作;包括停止当前正在运行的业务系统;对要修改的内容进行备份以便出错时回退;复制要升级的内容;复制完毕后重新启动业务系统,并修改本地版本信息文件;如果升级过程中出现问题,无法成功升级,则执行回退SHELL,根据备份文件复原。0009升级结果上报SHELL将升。
8、级过程日志和升级结果上传到版本服务器。技术人员可以在版本服务器上集中查看升级结果,无须逐台登录每个终端查看。0010CRON调度SHELL定期执行上述操作,保证版本能够按预期的时间和频度进行更新。0011管理台负责对版本服务器上的版本进行管理。说明书CN102025778ACN102025792A2/3页40012本发明提供的方法能解决软件升级管理的自动化,保证版本的一致性;采用本方法制作的装置是透明可审计的,装置的安全性和可靠性有保障。同时简化了装置开发过程,提高了开发效率,能够快速满足软件升级的各种情况,具有很好的可适应性。当终端数量较大时,能极大地降低人力投入,防止升级出错;可以支持双机。
9、或多机集群,并可处理各种升级失败的情况,提高了升级的可靠性和并发能力。附图说明0013本发明将通过例子并参照附图的方式说明,其中图1是升级工作原理图。0014图2是升级工作步骤图。具体实施方式0015本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。0016本说明书包括任何附加权利要求、摘要和附图中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。0017下面将结合附图对本发明做进一步的说明如图1,本发明软件版本升级装置包括终端、版本服。
10、务器和管理台。终端运行在各安装有带升级软件的系统内,终端数量可能数百或数千个。版本服务器中搭建了FTP服务器,相关版本文件均存放在版本服务器中。新版本的添加和管理是通过管理台实现的。0018终端SHELL在CRON调度下定期执行,其包括版本检测,版本下载,升级或回退以及结果上报等功能。CRON调度的周期可精确到分钟。终端和版本服务器之间的通信基于FTP协议,其需要在终端中设置版本服务器的IP,用户名和密码。如果要提高升级装置的可靠性或并发处理能力,可以通过设置多个IP来实现热备或负载均衡。0019如图2所示,升级步骤包括以下步骤1当有新版本需要发布时,管理员通过管理台将升级包发布到版本服务器。。
11、00202终端按照CRON的调度,发起版本检测操作,即读取版本服务器地址,相关用户名和口令,通过FTP下载版本信息文件。如果下载失败,则记录日志;同时若有多个版本服务器可选,则尝试其它版本服务器,直到找到可用的版本服务器为止。00213如果版本信息文件下载成功,终端将最新的版本号和本地版本号文件进行比较,如果最新版本与本地版本一致,则无需升级,则本次升级过程结束;如果最新版本高于本地版本,则通过FTP协议从指定路径下载新版本。00224新版本下载后,执行升级脚本。升级脚本先对检查升级包是否完备,升级条件是否全部满足。如果满足,则现在准备,包括对原有文件进行备份;如果需要停止业务,则自动停止相关。
12、进程;然后执行文件复制操作。升级SHELL在停止业务前让所有升级准备就绪,以让业务停止时间尽可能短。00235如果更新成功,则修改本地版本号为升级后的版本号;如果更新失败,则执行回退操作,这包括恢复备份的文件,重新启动业务进程。说明书CN102025778ACN102025792A3/3页500246终端将升级结果上传至版本服务器;7管理人员可通过管理台查看每台设备的升级结果。0025从上述说明可知,本发明中的软件升级管理工作方法及其装置,不仅可以灵活、方便、有效的实现不同要求的自动升级,避免了手工执行升级带来的额外资源浪费和出错可能,并且还通过失败重试、多机集群、错误回滚等多种机制保证了升级的可靠性;其装置基于UNIXSHELL实现,对管理人员是可读可审计的,使管理人员可以识别并预防升级对业务系统潜在的风险,保证了升级的安全性。0026本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。说明书CN102025778ACN102025792A1/2页6图1说明书附图CN102025778ACN102025792A2/2页7图2说明书附图CN102025778A。