CN111124465A - 一种跨网络c/s程序远程升级方法及系统 - Google Patents

一种跨网络c/s程序远程升级方法及系统 Download PDF

Info

Publication number
CN111124465A
CN111124465A CN201911192923.0A CN201911192923A CN111124465A CN 111124465 A CN111124465 A CN 111124465A CN 201911192923 A CN201911192923 A CN 201911192923A CN 111124465 A CN111124465 A CN 111124465A
Authority
CN
China
Prior art keywords
upgrading
client
upgrade
file
server
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.)
Granted
Application number
CN201911192923.0A
Other languages
English (en)
Other versions
CN111124465B (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.)
Wuhan Hongxin Technology Service Co Ltd
Original Assignee
Wuhan Hongxin Technology Service 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 Wuhan Hongxin Technology Service Co Ltd filed Critical Wuhan Hongxin Technology Service Co Ltd
Priority to CN201911192923.0A priority Critical patent/CN111124465B/zh
Publication of CN111124465A publication Critical patent/CN111124465A/zh
Application granted granted Critical
Publication of CN111124465B publication Critical patent/CN111124465B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种跨网络C/S程序远程升级方法及系统,该方法包括:客户端中的主程序启动后,通过客户端升级文件连接服务器获取服务端升级文件;客户端升级文件包括前一次下载的升级包名称及前一次升级进程中各执行节点对应的执行结果;服务端升级文件包括本次升级的升级包名称;当两者中的升级包名称一致时,遍历客户端升级文件中各执行节点的执行结果,并从执行结果为失败的执行节点开始继续执行升级进程;本发明通过接续升级提升了软件升级的自动化过程,节约了软件运维成本,使整个升级过程更加有效率;通过定时和/或定点升级增加了软件升级的灵活性,可以差异化定制不同的客户端,同时可以错峰更新,减少服务器压力。

Description

一种跨网络C/S程序远程升级方法及系统
技术领域
本发明属于互联网软件升级技术领域,更具体地,涉及一种跨网络C/S程序远程升级方法及系统。
背景技术
C/S架构即为客户端/服务器模式的应用系统,在C/S程序软件部署之后的漫长维护期内,无论是纠错性维护、适应性维护、完善性维护或增强、预防性维护或再工程,都需要涉及到软件的更新和升级。
如何选择最有效率,最节省成本同时可靠性最高的升级更新策略,一直都是软件管理者要思考的问题,同时如何能有效的帮助软件运维人员掌握升级动态,分析升级失败原因,以便在远程辅助现场调试时掌握主动,也是需要解决的问题。
目前常用的软件升级方法存在以下的缺点:有些升级程序只支持增量升级,有些只支持全量升级,不够全面;有些升级程序在失败的情况下不能回滚,造成程序不可用,可靠性太差;有些升级程序意外中断后不能自动恢复,自适性太差;有些升级程序不能定点定时升级,灵活性太差;还有一些升级程序无法实时查看各设备的升级结果,体验较差。
发明内容
针对现有技术的至少一个缺陷或改进需求,本发明提供了一种跨网络C/S程序远程升级方法及系统,通过接续升级提升了软件升级的自动化过程,节约了软件运维成本,使整个升级过程更加有效率;通过备份回滚大大增加了软件升级的安全性,减少因升级失败而导致的程序不能使用风险;通过定时和/或定点升级增加了软件升级的灵活性,以便对于不同客户,可以差异化定制不同的客户端,同时可以错峰更新,减少服务器压力。
为实现上述目的,按照本发明的一个方面,提供了一种跨网络C/S程序远程升级方法,包括以下步骤:
S1:客户端中的主程序启动后,通过配置的客户端升级文件连接服务器,获取服务端升级文件;
所述客户端升级文件包括前一次下载的升级包名称以及前一次升级进程中各执行节点对应的执行结果;所述执行节点包括下载、解压、备份和升级覆盖;
所述服务端升级文件包括本次升级的升级包名称;
S2:比较客户端升级文件和服务端升级文件,当两者中的升级包名称一致时,关闭所述客户端主程序,遍历客户端升级文件中各执行节点的执行结果,并从所述执行结果为失败的执行节点开始继续执行升级进程。
优选的,上述跨网络C/S程序远程升级方法,当两者中的升级包名称不一致时,关闭所述客户端主程序,进入下一步;
S3:下载服务器提供的升级包并进行解压,将下载、解压结果以及升级包的存放路径和解压路径更新到客户端升级文件中;所述升级包的内容包括待升级文件以及所述待升级文件的名称、属性和相对路径;
S4:根据升级包内容查找客户端主程序运行路径下的同名文件并进行备份,将备份结果以及备份路径更新到客户端升级文件中;
S5:利用升级包中的所述待升级文件覆盖客户端中的同名文件并将覆盖结果更新到客户端升级文件中。
优选的,上述跨网络C/S程序远程升级方法,步骤S5中,若全部升级文件均覆盖成功,则删除备份文件、升级包及其对应的解压文件;
若存在任一升级文件未覆盖成功,则利用步骤S4中的备份文件进行回滚以恢复客户端中的同名文件。
优选的,上述跨网络C/S程序远程升级方法还包括:
发送本次升级的回执文件给服务器,若升级失败,则所述回执文件中包括本次升级进程中执行结果为失败的执行节点。
优选的,上述跨网络C/S程序远程升级方法,所述服务端升级文件中还包括本次升级的升级开始时间,若当前时刻未到达所述升级开始时间,则继续运行客户端主程序。
优选的,上述跨网络C/S程序远程升级方法,所述服务端升级文件中还包括本次升级指定的客户端IP序列,若当前客户端IP未包含在所述客户端IP序列中,则继续运行客户端主程序。
优选的,上述跨网络C/S程序远程升级方法,所述服务端升级文件中还包括本次升级排除的文件类型和/或文件名。
按照本发明的另一个方面,还提供了一种跨网络C/S程序远程升级系统,包括服务器和客户端,所述服务器中部署有FTP或Http服务,用于存储升级包和服务端升级文件;所述服务端升级文件包括本次升级的升级包名称;
所述客户端中配置有升级工具和客户端升级文件,所述客户端升级文件包括前一次下载的升级包名称以及前一次升级进程中各执行节点对应的执行结果;所述执行节点包括下载、解压、备份和升级覆盖;
客户端中的主程序启动后,通过客户端升级文件连接FTP或Http服务以获取服务端升级文件;比较客户端升级文件和服务端升级文件,当两者中的升级包名称一致时,关闭所述客户端主程序,启动升级工具,所述升级工具遍历客户端升级文件中各执行节点的执行结果,并从所述执行结果为失败的执行节点开始继续执行升级进程。
优选的,上述跨网络C/S程序远程升级系统,当两者中的升级包名称不一致时,关闭所述客户端主程序,所述升级工具下载FTP或Http服务提供的升级包并进行解压,将下载、解压结果以及升级包的存放路径和解压路径更新到客户端升级文件中;所述升级包的内容包括待升级文件以及所述待升级文件的名称、属性和相对路径;
根据升级包内容查找客户端主程序运行路径下的同名文件并进行备份,将备份结果以及备份路径更新到客户端升级文件中;
利用升级包中的所述待升级文件覆盖客户端中的同名文件并将覆盖结果更新到客户端升级文件中。
优选的,上述跨网络C/S程序远程升级系统,若全部升级文件均覆盖成功,所述升级工具则删除备份文件、升级包及其对应的解压文件;
若存在任一升级文件未覆盖成功,所述升级工具则利用备份文件进行回滚以恢复客户端中的同名文件。
优选的,上述跨网络C/S程序远程升级系统,所述升级工具还用于发送本次升级的回执文件给服务器,若升级失败,则所述回执文件中包括本次升级进程中执行结果为失败的执行节点。
优选的,上述跨网络C/S程序远程升级系统,所述服务端升级文件中还包括本次升级的升级开始时间,若当前时刻未到达所述升级开始时间,则继续运行客户端主程序。
优选的,上述跨网络C/S程序远程升级系统,所述服务端升级文件中还包括本次升级指定的客户端IP序列,若当前客户端IP未包含在所述客户端IP序列中,则继续运行客户端主程序。
优选的,上述跨网络C/S程序远程升级系统,所述服务端升级文件中还包括本次升级排除的文件类型和/或文件名。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明提供的一种跨网络C/S程序远程升级方法及系统,通过将升级进程中各执行节点的执行结果记录在客户端升级文件,当客户端主程序在下一次启动之后,能够根据客户端升级文件获知前一次升级过程的进展,并从前一次升级失败的执行节点处继续执行升级过程,该执行节点之前的升级过程无需重复执行,节约了软件运维成本,使整个升级过程更加有效率。
(2)本发明提供的一种跨网络C/S程序远程升级方法及系统,通过对服务端升级文件进行配置,实现了客户端的定时和/或定点升级,增加了客户端程序升级的灵活性,实现差异化定制不同的客户端的升级过程,同时可以错峰更新,减少服务器压力。
(3)本发明提供的一种跨网络C/S程序远程升级方法及系统,升级过程中的任一个执行节点失败而结束或者升级成功而结束之后,客户端发送本次升级的回执文件给服务器,若升级成功,则告知成功;若升级失败,则告知失败,并在回执文件中记录本次升级进程中执行结果为失败的执行节点。运维人员通过服务器端获取该回执文件,对于运维人员掌握和分析现场升级动态,远程辅助调试,有明显的指导和帮助.
(4)本发明提供的一种跨网络C/S程序远程升级方法及系统,通过备份回滚大大增加了软件升级的安全性,减少了因升级失败而客户端程序不能使用的风险。
附图说明
图1是本发明实施例提供的跨网络C/S程序远程升级方法的流程图;
图2是本发明实施例提供的升级整体流程图;
图3是本发明实施例提供的客户端升级过程的详细流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
图1是本实施例提供的一种跨网络C/S程序远程升级方法的流程图,参见图1所示,该升级方法包括以下步骤:
S1:客户端中的主程序启动后,通过配置的客户端升级文件连接服务器,获取服务端升级文件;
其中,客户端升级文件包括前一次下载的升级包名称以及前一次升级进程中各执行节点对应的执行结果;所述执行节点包括下载、解压、备份和升级覆盖;
服务端升级文件包括本次升级的升级包名称;
S2:比较客户端升级文件和服务端升级文件,当两者中的升级包名称一致时,遍历客户端升级文件中各执行节点的执行结果,并从执行结果为失败的执行节点开始继续执行升级进程。
本实施例通过将升级进程中各执行节点的执行结果记录在客户端升级文件,当客户端主程序在下一次启动之后,能够根据客户端升级文件获知前一次升级过程的进展,并从前一次升级失败的执行节点处继续执行升级过程,该执行节点之前的升级过程无需重复执行,节约了软件运维成本,使整个升级过程更加有效率。
步骤S2中,当客户端升级文件和服务端升级文件中的升级包名称不一致时,关闭客户端主程序,进入以下升级过程:
S3:下载服务器端提供的升级包并进行解压,将下载、解压结果以及升级包的存放路径和解压路径更新到客户端升级文件中;盖升级包的内容包括待升级文件以及待升级文件的名称、属性和相对路径;
S4:根据升级包内容查找客户端主程序运行路径下的同名文件并进行备份,将备份结果以及备份路径更新到客户端升级文件中;
S5:利用升级包中的待升级文件覆盖客户端中的同名文件并将覆盖结果更新到客户端升级文件中;
若全部升级文件均覆盖成功,则删除备份文件、升级包及其对应的解压文件;
若存在任一升级文件未覆盖成功,则利用步骤S4中的备份文件进行回滚以恢复客户端中的同名文件;通过备份回滚大大增加了软件升级的安全性,减少了因升级失败而客户端程序不能使用的风险。
本次升级因任一个执行节点失败而结束或者升级成功而结束之后,客户端发送本次升级的回执文件给服务器,若升级成功,则告知成功,若升级失败,则告知失败,并在回执文件中记录本次升级进程中执行结果为失败的执行节点。运维人员通过服务器端获取该回执文件,对于运维人员掌握和分析现场升级动态,远程辅助调试,有明显的指导和帮助。
本实施例中,服务端升级文件中还包括本次升级的升级开始时间,该升级开始时间用于控制客户端的定时升级,若当前时刻未到达升级开始时间,则继续运行客户端主程序。
本实施例中,服务端升级文件中还包括本次升级指定的客户端IP序列,用于哭护短的定点升级,若当前客户端IP未包含在所述客户端IP序列中,则继续运行客户端主程序。
通过对服务端升级文件进行配置,实现了客户端的定时和/或定点升级,增加了客户端程序升级的灵活性,实现差异化定制不同的客户端的升级过程,同时可以错峰更新,减少服务器压力。
进一步地,本实施例中,服务端升级文件中还包括本次升级排除的文件类型和/或文件名,用于指定特定类型或特定文件名的文件本次不进行升级,提高升级过程的灵活性。
本实施例还提供了一种跨网络C/S程序远程升级系统,包括服务器和客户端,服务器发布升级文件,对各客户端中的应用程序进行升级;
本实施例中,服务器中部署有制作工具,该制作工具由版本管理者运行,用于将待发布的升级文件制作为压缩包,且该压缩包的名称为统一格式,例如:压缩包名称包含主程序名称+版本号+当前日期(精确到秒);压缩包内包含所有待升级的文件(dll文件、exe文件或其它文件)和一个说明文件(xml或json格式),若待升级的文件是客户端中全部的运行文件,则为全量升级,若待升级的文件是客户端中的部分运行文件,则为增量升级。说明文件内列出所有待升级文件的名称、属性(是否文件夹)和相对路径,作为升级覆盖的依据。版本管理者发布一次升级时,只需要通过制作工具选择要升级的文件,点击则会自动生成升级压缩包,且为统一的命名格式。
服务器端需要部署一套FTP服务器(或者Http服务),若服务器本身已有该服务,则可共用,无需重新部署。FTP服务或Http服务主要提供升级包下载,需在该服务根目录下创建一个固定的文件夹,用来专门放置升级包和服务端升级配置文件(以下简称服务端升级文件,xml或json格式),升级包不断的更新迭代,服务端升级文件名称不变,但内容需要随着升级包更改。本实施例中,服务端升级文件具体内容包含如下几条:
1.本次升级的升级包名称;
2.本次升级的开始时间,用于控制客户端的定时升级,如果未配置升级开始时间则为随时升级,说明客户端可随时执行程序升级;
3.本次升级指定的客户端IP序列,包含本次需要升级的所有客户端IP,用于定点升级,如果未配置客户端IP序列则摆明全部客户端均进行升级;
4.升级应排除的文件类型,用于指定某些类型的文件本次不进行升级;
5.升级应排除的具体文件名,用于指定某些具体的文件本次不进行升级。
客户端中部署有升级工具,客户端主程序自动调用该升级工具并运行,无需手动操作;升级工具用于从服务器端下载升级包,解压后完成升级。同时,该升级工具独立管理一个升级过程的配置文件(以下简称客户端升级文件,xml或json格式),该客户端升级文件包含以下信息:
1.最近一次下载的升级包名称;
2.最近一次下载升级包是否成功;
3.最近一次下载的升级包存放路径;
4.最近一次下载的升级包大小(M);
5.最近一次下载的升级包解压路径;
6.最近一次升级开始时间;
7.最近一次升级是否备份成功;
8.最近一次升级是否升级成功;
9.最近一次升级是否回滚成功(如果失败);
10.最近一次升级备份路径;
11.最近一次升级结束时间;
12.FTP服务端地址、登陆账号/密码(可不填默认)
13.FTP服务端指定下载路径。
升级工具主要实现对应客户端的升级,同时提供备份功能,以便在失败后可以进行回滚;升级工具及客户端升级文件配置在客户端主程序运行目录下,主程序每次启动时会根据客户端升级文件的配置去连接FTP服务器,并比较本地的最后一次升级包与FTP服务器上的服务端升级文件配置的升级包是否一致,若不一致,则证明有新的升级包,主程序即启动升级工具,开始下载包并执行升级。
图2是本实施例提供的升级整体流程图,结合图2,对服务器和客户端完成一次新升级的详细过程进行说明;
服务器端(版本管理者)发布一次新升级的详细流程:
步骤(11):运行制作工具,选择待升级文件(若全选,则为全量升级,若选择部分,则为增量升级);
步骤(12):生成升级压缩包,并拷贝到指定的FTP服务器文件夹;
步骤(13):更改服务端升级文件,填写最新升级包名称,其它选项可选填;
步骤(14):完成。
至此,服务器端的版本管理者或软件维护人员就已完成一次升级配置,剩下的就是各个客户端主程序来取升级包进行升级。
图3是本实施例提供的客户端升级过程的详细流程图,参见图3所示,客户端(主程序)执行一次新升级的详细流程包括:
步骤(21):启动客户端主程序,通过客户端升级文件连接FTP服务器,获取服务端升级文件;
步骤(22):比较二者,发现有新的升级包,则关闭主程序,启动升级工具;若发现不在升级IP序列或未到升级开始时间,则忽略以下步骤,继续运行主程序;
步骤(23):升级工具开始下载新的升级包,同时在客户端升级文件中记录下载升级包是否成功,以及下载的升级包名称、大小和存放路径,更新客户端升级文件至相应步骤;
步骤(24):下载完成,自动解压缩升级包,同时在客户端升级文件中记录解压是否成功、解压路径和升级开始时间,更新客户端升级文件至相应步骤;
步骤(25):按照解压后的说明文件内容,依次找到主程序运行路径下的同名文件,对同名文件进行备份,生成备份文件;
步骤(26):备份完成,同时在客户端升级文件中记录备份是否成功、备份文件的存储路径(备份路径),更新客户端升级文件至相应步骤;
步骤(27):开始执行升级覆盖,利用升级包中的待升级文件覆盖客户端中的同名文件;
步骤(28):覆盖完成,则删除备份文件、升级包及其对应的解压文件,同时在客户端升级文件中记录覆盖是否成功、升级结束时间,更新客户端升级文件至相应步骤;
步骤(29):发送回执文件至FTP服务器,告知升级结果;关闭升级工具,同时重新启动已完成升级的客户端主程序。
如此,整个客户端主程序的升级完成,但每次升级不可能如此顺遂,以下将列出在出现特殊情况时本系统的应对策略:
A.下载失败
如果在步骤(23)出了问题,则会继续如下步骤:下载失败,则会尝试重新下载,若仍失败,给出提示。由操作者选择是继续尝试还是暂时忽略本次升级,待下次程序启动后会再次尝试下载。忽略升级,本次升级则立即终止,下次启动主程序仍会继续该步骤执行。
B.解压失败
如果在步骤(24)出了问题,则会继续如下步骤:解压失败,提示操作者选择:手动解压还是暂时忽略本次升级。手动解压需解压到指定目录。忽略升级,则本次升级立即终止,下次启动主程序仍会继续该步骤执行。
C.备份失败
如果在步骤(25)出了问题,则会继续如下步骤:备份失败,升级终止,同时更新客户端升级文件至相应步骤,下次启动主程序仍会继续该步骤执行。
D.升级失败
如果在步骤(27)出了问题,则会继续如下步骤:覆盖文件即便有一个未成功,则使用备份的文件回滚,即所有因被替换而升级的的文件全部恢复成升级以前,同时更新客户端升级文件至相应步骤,下次启动主程序仍会继续该步骤执行。
最后,发送回执文件至FTP服务器,告知失败并发送失败原因,由软件维护人员查看升级失败原因,并给出解决方案。
由于升级过程在客户端升级文件中记录了每一个升级节点的执行结果,如果本次升级失败,客户端主程序在下次启动后比较客户端升级文件和服务端升级文件,如果发现本地的最后一次升级包与FTP服务器上的服务端升级文件配置的升级包一致,则启动升级工具,遍历客户端升级文件中各执行节点的执行结果,并从执行结果为失败的执行节点开始继续执行升级进程,实现接续升级。
相比于现有的升级方式,本发明提供的一种跨网络C/S程序远程升级方法及系统,通过备份回滚大大增加了软件升级的安全性,减少因升级失败而导致的程序不能使用风险;通过定时和/或定点升级增加了软件升级的灵活性,以便对于不同客户,可以差异化定制不同的客户端,同时可以错峰更新,减少服务器压力;另外,通过接续升级提升了软件升级的自动化过程,节约了软件运维成本,使整个升级过程更加有效率。同时,升级无论成功失败,都会回执给运维人员,对于运维人员掌握和分析现场升级动态,远程辅助调试,有明显的指导和帮助。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种跨网络C/S程序远程升级方法,其特征在于,包括以下步骤:
S1:客户端中的主程序启动后,通过配置的客户端升级文件连接服务器,获取服务端升级文件;
所述客户端升级文件包括前一次下载的升级包名称以及前一次升级进程中各执行节点对应的执行结果;所述执行节点包括下载、解压、备份和升级覆盖;
所述服务端升级文件包括本次升级的升级包名称;
S2:比较客户端升级文件和服务端升级文件,当两者中的升级包名称一致时,遍历客户端升级文件中各执行节点的执行结果,并从所述执行结果为失败的执行节点开始继续执行升级进程。
2.如权利要求1所述的跨网络C/S程序远程升级方法,其特征在于,当两者中的升级包名称不一致时,关闭所述客户端主程序,进入下一步;
S3:下载服务器提供的升级包并进行解压,将下载、解压结果以及升级包的存放路径和解压路径更新到客户端升级文件中;所述升级包的内容包括待升级文件以及所述待升级文件的名称、属性和相对路径;
S4:根据升级包内容查找客户端主程序运行路径下的同名文件并进行备份,将备份结果以及备份路径更新到客户端升级文件中;
S5:利用升级包中的所述待升级文件覆盖客户端中的同名文件并将覆盖结果更新到客户端升级文件中。
3.如权利要求2所述的跨网络C/S程序远程升级方法,其特征在于,步骤S5中,若全部升级文件均覆盖成功,则删除备份文件、升级包及其对应的解压文件;
若存在任一升级文件未覆盖成功,则利用步骤S4中的备份文件进行回滚以恢复客户端中的同名文件。
4.如权利要求1或3所述的跨网络C/S程序远程升级方法,其特征在于,还包括:
发送本次升级的回执文件给服务器,若升级失败,则所述回执文件中包括本次升级进程中执行结果为失败的执行节点。
5.如权利要求1或3所述的跨网络C/S程序远程升级方法,其特征在于,所述服务端升级文件中还包括本次升级的升级开始时间和/或本次升级指定的客户端IP序列;
若当前时刻未到达所述升级开始时间,则继续运行客户端主程序;
若当前客户端IP未包含在所述客户端IP序列中,则继续运行客户端主程序。
6.一种跨网络C/S程序远程升级系统,包括服务器和客户端,其特征在于,所述服务器中部署有FTP或Http服务,用于存储升级包和服务端升级文件;所述服务端升级文件包括本次升级的升级包名称;
所述客户端中配置有升级工具和客户端升级文件,所述客户端升级文件包括前一次下载的升级包名称以及前一次升级进程中各执行节点对应的执行结果;所述执行节点包括下载、解压、备份和升级覆盖;
客户端中的主程序启动后,通过客户端升级文件连接FTP或Http服务以获取服务端升级文件;比较客户端升级文件和服务端升级文件,当两者中的升级包名称一致时,启动升级工具,所述升级工具遍历客户端升级文件中各执行节点的执行结果,并从所述执行结果为失败的执行节点开始继续执行升级进程。
7.如权利要求6所述的跨网络C/S程序远程升级系统,其特征在于,当两者中的升级包名称不一致时,关闭所述客户端主程序,所述升级工具下载FTP或Http服务提供的升级包并进行解压,将下载、解压结果以及升级包的存放路径和解压路径更新到客户端升级文件中;所述升级包的内容包括待升级文件以及所述待升级文件的名称、属性和相对路径;
根据升级包内容查找客户端主程序运行路径下的同名文件并进行备份,将备份结果以及备份路径更新到客户端升级文件中;
利用升级包中的所述待升级文件覆盖客户端中的同名文件并将覆盖结果更新到客户端升级文件中。
8.如权利要求7所述的跨网络C/S程序远程升级系统,其特征在于,若全部升级文件均覆盖成功,所述升级工具则删除备份文件、升级包及其对应的解压文件;
若存在任一升级文件未覆盖成功,所述升级工具则利用备份文件进行回滚以恢复客户端中的同名文件。
9.如权利要求6或8所述的跨网络C/S程序远程升级系统,其特征在于,所述升级工具还用于发送本次升级的回执文件给服务器,若升级失败,则所述回执文件中包括本次升级进程中执行结果为失败的执行节点。
10.如权利要求6或8所述的跨网络C/S程序远程升级系统,其特征在于,所述服务端升级文件中还包括本次升级的升级开始时间和/或本次升级指定的客户端IP序列;
若当前时刻未到达所述升级开始时间,则继续运行客户端主程序;
若当前客户端IP未包含在所述客户端IP序列中,则继续运行客户端主程序。
CN201911192923.0A 2019-11-28 2019-11-28 一种跨网络c/s程序远程升级方法及系统 Active CN111124465B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911192923.0A CN111124465B (zh) 2019-11-28 2019-11-28 一种跨网络c/s程序远程升级方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911192923.0A CN111124465B (zh) 2019-11-28 2019-11-28 一种跨网络c/s程序远程升级方法及系统

Publications (2)

Publication Number Publication Date
CN111124465A true CN111124465A (zh) 2020-05-08
CN111124465B CN111124465B (zh) 2023-06-20

Family

ID=70497003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911192923.0A Active CN111124465B (zh) 2019-11-28 2019-11-28 一种跨网络c/s程序远程升级方法及系统

Country Status (1)

Country Link
CN (1) CN111124465B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112698855A (zh) * 2020-12-30 2021-04-23 浙江惠瀜网络科技有限公司 线上自动化部署服务器升级方法
CN113031987A (zh) * 2021-03-26 2021-06-25 山东英信计算机技术有限公司 一种客户端的升级方法、系统及装置

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040098427A1 (en) * 2002-11-18 2004-05-20 Luosheng Peng Device memory management during electronic file updating
US20060090095A1 (en) * 1999-03-26 2006-04-27 Microsoft Corporation Consistent cluster operational data in a server cluster using a quorum of replicas
CN101184309A (zh) * 2007-12-21 2008-05-21 深圳国人通信有限公司 直放站设备嵌入式系统远程升级方法
CN102223380A (zh) * 2011-07-07 2011-10-19 昆明伯尔瑞科技开发有限公司 一种基于网络服务的客户端自动升级框架及其应用
CN102331945A (zh) * 2011-09-16 2012-01-25 北京思创银联科技股份有限公司 基于电子商店的应用程序管理方法
US20120210312A1 (en) * 2009-10-26 2012-08-16 Zte Corporation Software upgrading method, software upgrading system and client
CN104156244A (zh) * 2014-08-06 2014-11-19 北京奇虎科技有限公司 一种软件升级的方法和装置
CN104199948A (zh) * 2014-09-13 2014-12-10 黄燕云 一种扫描二维码安装手机软件的方法以及装置
US20150100955A1 (en) * 2012-06-13 2015-04-09 Tencent Technology (Shenzhen) Company Limited Method and System for Updating Software
CN104899065A (zh) * 2015-06-11 2015-09-09 武汉虹信通信技术有限责任公司 一种可批量软件在线恢复与软件在线升级的方法和系统
CN104965743A (zh) * 2015-07-10 2015-10-07 许继电气股份有限公司 一种mmc子模块软件程序在线升级方法、系统及mmc子模块
CN105227680A (zh) * 2015-10-26 2016-01-06 广东佳学信息科技有限公司 一种智能设备文件下载有效性控制方法
CN105404536A (zh) * 2015-12-14 2016-03-16 广东欧珀移动通信有限公司 终端软件升级方法及终端软件升级装置
CN106911502A (zh) * 2017-02-22 2017-06-30 烽火通信科技股份有限公司 一种智能家庭网关设备的升级方法及系统
WO2017118334A1 (zh) * 2016-01-08 2017-07-13 阿里巴巴集团控股有限公司 一种日志收集客户端及其升级方法
CN108234572A (zh) * 2016-12-21 2018-06-29 青岛祥智电子技术有限公司 一种多终端软件并行下载升级方法
CN108959063A (zh) * 2017-05-25 2018-12-07 北京京东尚科信息技术有限公司 一种程序执行的方法和装置
CN109582340A (zh) * 2018-12-07 2019-04-05 安徽江淮汽车集团股份有限公司 一种电动汽车远程升级的方法及系统
CN110417850A (zh) * 2019-06-10 2019-11-05 网宿科技股份有限公司 软件配置获取方法、系统、服务器及介质
CN110474793A (zh) * 2019-07-10 2019-11-19 锐捷网络股份有限公司 一种网络设备的升级方法及装置
CN110502264A (zh) * 2019-08-23 2019-11-26 深圳融安网络科技有限公司 系统升级方法、终端及可读存储介质

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060090095A1 (en) * 1999-03-26 2006-04-27 Microsoft Corporation Consistent cluster operational data in a server cluster using a quorum of replicas
US20040098427A1 (en) * 2002-11-18 2004-05-20 Luosheng Peng Device memory management during electronic file updating
CN101184309A (zh) * 2007-12-21 2008-05-21 深圳国人通信有限公司 直放站设备嵌入式系统远程升级方法
US20120210312A1 (en) * 2009-10-26 2012-08-16 Zte Corporation Software upgrading method, software upgrading system and client
CN102223380A (zh) * 2011-07-07 2011-10-19 昆明伯尔瑞科技开发有限公司 一种基于网络服务的客户端自动升级框架及其应用
CN102331945A (zh) * 2011-09-16 2012-01-25 北京思创银联科技股份有限公司 基于电子商店的应用程序管理方法
US20150100955A1 (en) * 2012-06-13 2015-04-09 Tencent Technology (Shenzhen) Company Limited Method and System for Updating Software
CN104156244A (zh) * 2014-08-06 2014-11-19 北京奇虎科技有限公司 一种软件升级的方法和装置
CN104199948A (zh) * 2014-09-13 2014-12-10 黄燕云 一种扫描二维码安装手机软件的方法以及装置
CN104899065A (zh) * 2015-06-11 2015-09-09 武汉虹信通信技术有限责任公司 一种可批量软件在线恢复与软件在线升级的方法和系统
CN104965743A (zh) * 2015-07-10 2015-10-07 许继电气股份有限公司 一种mmc子模块软件程序在线升级方法、系统及mmc子模块
CN105227680A (zh) * 2015-10-26 2016-01-06 广东佳学信息科技有限公司 一种智能设备文件下载有效性控制方法
CN105404536A (zh) * 2015-12-14 2016-03-16 广东欧珀移动通信有限公司 终端软件升级方法及终端软件升级装置
WO2017118334A1 (zh) * 2016-01-08 2017-07-13 阿里巴巴集团控股有限公司 一种日志收集客户端及其升级方法
CN108234572A (zh) * 2016-12-21 2018-06-29 青岛祥智电子技术有限公司 一种多终端软件并行下载升级方法
CN106911502A (zh) * 2017-02-22 2017-06-30 烽火通信科技股份有限公司 一种智能家庭网关设备的升级方法及系统
CN108959063A (zh) * 2017-05-25 2018-12-07 北京京东尚科信息技术有限公司 一种程序执行的方法和装置
CN109582340A (zh) * 2018-12-07 2019-04-05 安徽江淮汽车集团股份有限公司 一种电动汽车远程升级的方法及系统
CN110417850A (zh) * 2019-06-10 2019-11-05 网宿科技股份有限公司 软件配置获取方法、系统、服务器及介质
CN110474793A (zh) * 2019-07-10 2019-11-19 锐捷网络股份有限公司 一种网络设备的升级方法及装置
CN110502264A (zh) * 2019-08-23 2019-11-26 深圳融安网络科技有限公司 系统升级方法、终端及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112698855A (zh) * 2020-12-30 2021-04-23 浙江惠瀜网络科技有限公司 线上自动化部署服务器升级方法
CN112698855B (zh) * 2020-12-30 2023-03-14 浙江惠瀜网络科技有限公司 线上自动化部署服务器升级方法
CN113031987A (zh) * 2021-03-26 2021-06-25 山东英信计算机技术有限公司 一种客户端的升级方法、系统及装置

Also Published As

Publication number Publication date
CN111124465B (zh) 2023-06-20

Similar Documents

Publication Publication Date Title
CN107729066B (zh) 一种基于svn资源库自动化构建发布方法与装置
CN108170448B (zh) 一种自动化高效进行软件更新版本发布的系统
USRE41162E1 (en) Method for providing scaleable restart and backout of software upgrades for clustered computing
CN107844386B (zh) 一种数据备份、恢复方法及装置
CN107844343B (zh) 一种复杂服务端应用系统的升级系统及方法
EP2482187A1 (en) Software upgrading method, software upgrading system and client
CN109491698B (zh) 基于热补丁的系统更新方法及装置
WO2011069730A1 (en) A method and system for managing configurations of system management agents in a distributed environment
CN111124465A (zh) 一种跨网络c/s程序远程升级方法及系统
CN111147272A (zh) 一种单服务器及多服务器运营平台升级方法
CN109522041A (zh) 客户端资源更新方法、装置、处理器、服务器及终端
CN105260209A (zh) 一种程序热更新解决方法
CN101453550A (zh) 一种机顶盒软件自动更新方法
CN105635277A (zh) 提供升级包的方法与装置以及升级客户端的方法与装置
CN107451108B (zh) 一种协同编辑文档的方法和系统
US6832374B2 (en) System and method for updating an executing executable file
CN112104501A (zh) 一种农机深松物联网终端设备的软件远程升级的方法
CN105389187B (zh) 一种系统更新的方法
CN110096290B (zh) 一种电池模拟器主控板软件升级方法
CN113282316A (zh) 一种物联网设备远程升级方法及装置
CN112615747A (zh) 一种网络设备自动部署配置的方法及装置
CN113721957A (zh) 对嵌入式设备固件部署升级的自动测试方法、装置和系统
CN115202680A (zh) 在线远程自动升级本地客户端的系统及方法
CN116820493A (zh) 一种镜像文件部署方法、系统、设备及存储介质
CN113760234B (zh) 一种软件开发方法和系统

Legal Events

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