CN109104469A - 一种通用远程升级系统及方法 - Google Patents
一种通用远程升级系统及方法 Download PDFInfo
- Publication number
- CN109104469A CN109104469A CN201810824733.5A CN201810824733A CN109104469A CN 109104469 A CN109104469 A CN 109104469A CN 201810824733 A CN201810824733 A CN 201810824733A CN 109104469 A CN109104469 A CN 109104469A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- upgrade
- service end
- client
- task
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明特别涉及一种通用远程升级系统及方法。该通用远程升级系统,包括升级服务端,升级客户端和信令中心;所述升级服务端负责发布升级任务,所述信令中心实时监测客户端和服务端是否在线并且推送升级服务端命令给升级客户端,所述升级客户端是远程升级功能的核心,负责接收升级服务端的指令,下载升级包,自动执行本地软件升级的操作。该通用远程升级系统及方法,完全在软件层实现,不需要添加特殊的硬件设备,且不依赖于某个软件,能够远程自动升级终端上的所有软件,功能可扩展,支持回滚操作,安全性高,适应范围广,部署方便。
Description
技术领域
本发明涉及终端升级技术领域,特别涉及一种通用远程升级系统及方法。
背景技术
终端升级功能是终端进行功能更改和优化的必要功能,随着当前技术和业务需求频繁的变更,终端软件的版本更替越来越频繁,终端升级功能在当下环境下愈发重要。
现有的终端升级技术主要有两种:一是手动升级,下载或者拷贝升级程序到本地后手动执行升级;二是软件的自动更新功能,终端上的某个软件在启动的时候根据服务器上版本信息进行版本检测,如果发现最新版本则进行更新。
上述两种升级方式一是比较繁琐,需要人工操作;二是局限性太大,升级功能必须嵌套进被程序里面,如果终端软件本身并没有自动更新的功能则升级必须依赖人工操作,而且针对多个软件,升级方式可能各不相同,极不方便。
针对以上情况,本发明提出了一种通用远程升级系统及方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的通用远程升级系统及方法。
本发明是通过如下技术方案实现的:
一种通用远程升级系统,其特征在于:包括升级服务端,升级客户端和信令中心,终端上的所有软件通过升级客户端对应统一的升级服务端,所述信令中心是升级服务端和升级客户端保持长连接的中转站,通过websocket通信实现;所述升级服务端负责发布升级任务,所述信令中心实时监测客户端和服务端是否在线并且推送升级服务端命令给升级客户端,所述升级客户端是远程升级功能的核心,负责接收升级服务端的指令,下载升级包,自动执行本地软件升级的操作。
所述信令中心通过心跳机制检测升级客户端是否在线,升级服务端通过信令中心监控升级客户端的状态,同时将升级服务端的升级任务主动推送给升级客户端,使升级客户端完成升级任务。
一种基于通用远程升级系统的升级方法,其特征在于,包括以下步骤:
(1)升级服务端主动推送升级任务,或者被动的响应升级客户端是否需要升级的询问;
(2)然后,升级客户端将需要升级的客户端最新版本下载到本地,通过自动化操作执行相应终端软件的升级;客户端的升级过程完全不需要人工干预,只需升级服务端发布升级任务,升级客户端就会自动执行所有任务的下载安装操作;
(3)升级成功后,升级客户端反馈给升级服务端升级结果。
所述升级任务包括特殊任务和普通任务;所述特殊任务负责更新升级客户端以及相关的依赖库,使升级客户端能够动态扩展,支持升级客户端自升级;所述普通任务是针对终端上各种软件的升级任务,服务端发布普通任务的时候不仅要上传对应的升级包还要附带升级参数,以通知升级客户端需要对升级程序进行的额外操作;所述普通任务还包括扩展操作任务,当升级客户端在自动升级出现异常时,升级服务端的管理员通过扩展操作任务进行修复或者补充升级。
所述扩展操作任务包括推送cmd命令,文件复制和删除拷贝操作以及修改配置文件操作,相当于给升级服务端增加了远程控制客户端的功能。
所述升级客户端的升级模式包括主动升级模式和被动升级模式。
所述主动升级模式是指当升级服务端发布立即执行升级任务的指令时,该指令通过信令中心中转给升级客户端,升级客户端根据指令去负责下载的url上下载响应的升级包,并执行升级操作,升级完毕后反馈结果给服务端。
所述被动升级模式是指当升级客户端不在线或者升级服务端管理员想避开终端使用高峰期来进行延时升级时,升级服务端发布被动升级任务,任务发布后升级服务端并不通过信令中心传递升级信号,而是等待升级客户端主动查询升级任务;升级客户端会在每次终端启动时或者在指定时间点直接向升级服务端升级任务查询url上查询是否有升级任务,如果有则执行升级并且反馈升级结果。
所述升级客户端还包括回滚功能,每次执行升级任务之前,都首先将原程序备份到回滚区,如果升级过程中出现异常,首先向升级服务端发送升级异常的信息,然后从回滚区恢复升级失败的程序,从而避免因升级异常引起的终端功能异常。
本发明的有益效果是:该通用远程升级系统及方法,完全在软件层实现,不需要添加特殊的硬件设备,且不依赖于某个软件,能够远程自动升级终端上的所有软件,功能可扩展,支持回滚操作,安全性高,适应范围广,部署方便。
附图说明
附图1为本发明通用远程升级系统及方法架构示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图和实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该通用远程升级系统,包括升级服务端,升级客户端和信令中心,终端上的所有软件通过升级客户端对应统一的升级服务端,所述信令中心是升级服务端和升级客户端保持长连接的中转站,通过websocket通信实现;所述升级服务端负责发布升级任务,所述信令中心实时监测客户端和服务端是否在线并且推送升级服务端命令给升级客户端,所述升级客户端是远程升级功能的核心,负责接收升级服务端的指令,下载升级包,自动执行本地软件升级的操作。
所述信令中心通过心跳机制检测升级客户端是否在线,升级服务端通过信令中心监控升级客户端的状态,同时将升级服务端的升级任务主动推送给升级客户端,使升级客户端完成升级任务。
该基于通用远程升级系统的升级方法,包括以下步骤:
(1)升级服务端主动推送升级任务,或者被动的响应升级客户端是否需要升级的询问;
(2)然后,升级客户端将需要升级的客户端最新版本下载到本地,通过自动化操作执行相应终端软件的升级;客户端的升级过程完全不需要人工干预,只需升级服务端发布升级任务,升级客户端就会自动执行所有任务的下载安装操作;
(3)升级成功后,升级客户端反馈给升级服务端升级结果。
所述升级任务包括特殊任务和普通任务;所述特殊任务负责更新升级客户端以及相关的依赖库,使升级客户端能够动态扩展,支持升级客户端自升级;
因为升级客户端除了下载升级包外还需要针对不同的终端程序进行不同的升级操作。比如有的升级包只需要下载下来拷贝到某个位置,有的升级包必须执行安装程序并且选择相应配置进行安装,有的升级包需要先卸载再安装等。针对这些形形色色的操作升级客户端必须能够动态扩展,以便支持更多的终端软件升级,所以升级客户端必须能够支持自升级。
所述普通任务是针对终端上各种软件的升级任务,服务端发布普通任务的时候不仅要上传对应的升级包还要附带升级参数,以通知升级客户端需要对升级程序进行的额外操作;比如有的安装程序安装完毕后需要配置参数,就将这些参数写在升级参数里面一并发布,升级客户端会在升级完成后自动将升级参数写入到相应配置文件里面;所述普通任务还包括扩展操作任务,因为终端上软件种类越多,升级客户端需要自动执行的功能越复杂,自动升级出现异常的可能性就越大;当升级客户端在自动升级出现异常时,升级服务端的管理员通过扩展操作任务进行修复或者补充升级。
所述扩展操作任务包括推送cmd命令,文件复制和删除拷贝操作以及修改配置文件操作,相当于给升级服务端增加了远程控制客户端的功能。
所述升级客户端的升级模式包括主动升级模式和被动升级模式。
所述主动升级模式是指当升级服务端发布立即执行升级任务的指令时,该指令通过信令中心中转给升级客户端,升级客户端根据指令去负责下载的url上下载响应的升级包,并执行升级操作,升级完毕后反馈结果给服务端。
所述被动升级模式是指当升级客户端不在线或者升级服务端管理员想避开终端使用高峰期来进行延时升级时,升级服务端发布被动升级任务,任务发布后升级服务端并不通过信令中心传递升级信号,而是等待升级客户端主动查询升级任务;升级客户端会在每次终端启动时或者在指定时间点直接向升级服务端升级任务查询url上查询是否有升级任务,如果有则执行升级并且反馈升级结果。
所述升级客户端还包括回滚功能,每次执行升级任务之前,都首先将原程序备份到回滚区,如果升级过程中出现异常,首先向升级服务端发送升级异常的信息,然后从回滚区恢复升级失败的程序,从而避免因升级异常引起的终端功能异常。
该通用远程升级系统及方法,相比传统的手动升级方法明显优势:
(1)节省运维人力:通过自动远程升级可以避免原来纯粹为了升级而进行的现场运维。
(2)可扩展性高:通过升级客户端的自升级功能可以扩展支持多种多样的终端软件升级。
(3)安全性高:通过升级服务端的扩展操作任务和升级客户端的回滚功能可以有效避免和修复因意外情况引起的终端异常。
综上所述,该通用远程升级系统及方法减少了企业的运维成本,增加了终端升级安全性,并且升级功能可扩展,能够有效适应终端设备对软件更新的需求,适宜推广应用。
Claims (9)
1.一种通用远程升级系统及方法,其特征在于:包括升级服务端,升级客户端和信令中心,终端上的所有软件通过升级客户端对应统一的升级服务端,所述信令中心是升级服务端和升级客户端保持长连接的中转站,通过websocket通信实现;所述升级服务端负责发布升级任务,所述信令中心实时监测客户端和服务端是否在线并且推送升级服务端命令给升级客户端,所述升级客户端是远程升级功能的核心,负责接收升级服务端的指令,下载升级包,自动执行本地软件升级的操作。
2.根据权利要求1所述的通用远程升级系统,其特征在于:所述信令中心通过心跳机制检测升级客户端是否在线,升级服务端通过信令中心监控升级客户端的状态,同时将升级服务端的升级任务主动推送给升级客户端,使升级客户端完成升级任务。
3.根据权利要求1-2所述的通用远程升级系统的升级方法,其特征在于,包括以下步骤:
升级服务端主动推送升级任务,或者被动的响应升级客户端是否需要升级的询问;
然后,升级客户端将需要升级的客户端最新版本下载到本地,通过自动化操作执行相应终端软件的升级;客户端的升级过程完全不需要人工干预,只需升级服务端发布升级任务,升级客户端就会自动执行所有任务的下载安装操作;
升级成功后,升级客户端反馈给升级服务端升级结果。
4.根据权利要求3所述的通用远程升级系统的升级方法,其特征在于:所述升级任务包括特殊任务和普通任务;所述特殊任务负责更新升级客户端以及相关的依赖库,使升级客户端能够动态扩展,支持升级客户端自升级;所述普通任务是针对终端上各种软件的升级任务,服务端发布普通任务的时候不仅要上传对应的升级包还要附带升级参数,以通知升级客户端需要对升级程序进行的额外操作;所述普通任务还包括扩展操作任务,当升级客户端在自动升级出现异常时,升级服务端的管理员通过扩展操作任务进行修复或者补充升级。
5.根据权利要求4所述的通用远程升级系统的升级方法,其特征在于:所述扩展操作任务包括推送cmd命令,文件复制和删除拷贝操作以及修改配置文件操作,相当于给升级服务端增加了远程控制客户端的功能。
6.根据权利要求3所述的通用远程升级系统的升级方法,其特征在于:所述升级客户端的升级模式包括主动升级模式和被动升级模式。
7.根据权利要求6所述的通用远程升级系统的升级方法,其特征在于:所述主动升级模式是指当升级服务端发布立即执行升级任务的指令时,该指令通过信令中心中转给升级客户端,升级客户端根据指令去负责下载的url上下载响应的升级包,并执行升级操作,升级完毕后反馈结果给服务端。
8.根据权利要求6所述的通用远程升级系统的升级方法,其特征在于:所述被动升级模式是指当升级客户端不在线或者升级服务端管理员想避开终端使用高峰期来进行延时升级时,升级服务端发布被动升级任务,任务发布后升级服务端并不通过信令中心传递升级信号,而是等待升级客户端主动查询升级任务;升级客户端会在每次终端启动时或者在指定时间点直接向升级服务端升级任务查询url上查询是否有升级任务,如果有则执行升级并且反馈升级结果。
9.根据权利要求7或8所述的通用远程升级系统的升级方法,其特征在于:所述升级客户端还包括回滚功能,每次执行升级任务之前,都首先将原程序备份到回滚区,如果升级过程中出现异常,首先向升级服务端发送升级异常的信息,然后从回滚区恢复升级失败的程序,从而避免因升级异常引起的终端功能异常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810824733.5A CN109104469A (zh) | 2018-07-25 | 2018-07-25 | 一种通用远程升级系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810824733.5A CN109104469A (zh) | 2018-07-25 | 2018-07-25 | 一种通用远程升级系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109104469A true CN109104469A (zh) | 2018-12-28 |
Family
ID=64847440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810824733.5A Pending CN109104469A (zh) | 2018-07-25 | 2018-07-25 | 一种通用远程升级系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109104469A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889579A (zh) * | 2019-01-24 | 2019-06-14 | 江苏中云科技有限公司 | 云计算环境下的通用升级系统 |
CN109918104A (zh) * | 2019-02-01 | 2019-06-21 | 视联动力信息技术股份有限公司 | 一种自动升级系统和方法 |
CN110471680A (zh) * | 2019-07-23 | 2019-11-19 | 武汉格罗夫氢能汽车有限公司 | 用于氢能汽车控制器软件升级及失败回滚的控制方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938470A (zh) * | 2010-08-12 | 2011-01-05 | 漳州市顺和达软件有限公司 | 客户端软件升级系统及方法 |
CN102387165A (zh) * | 2010-08-27 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 软件升级系统及方法 |
CN103701856A (zh) * | 2013-11-29 | 2014-04-02 | 四川长虹电器股份有限公司 | 一种定义及终端设备获取升级包的方法 |
US20140304697A1 (en) * | 2011-12-01 | 2014-10-09 | Tencent Technology (Shenzhen) Company Limited | Method and system for upgrading software |
CN105183496A (zh) * | 2015-07-21 | 2015-12-23 | 浪潮软件集团有限公司 | 一种基于国产cpu和操作系统的软件自动升级和推送方法 |
CN107623735A (zh) * | 2017-09-26 | 2018-01-23 | 天津麒麟信息技术有限公司 | 一种征信机系统中基于openssl的精准更新升级系统及方法 |
CN108182075A (zh) * | 2017-12-29 | 2018-06-19 | 成都三零凯天通信实业有限公司 | 一种通过socket通信方式自动升级目标软件的程序 |
-
2018
- 2018-07-25 CN CN201810824733.5A patent/CN109104469A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938470A (zh) * | 2010-08-12 | 2011-01-05 | 漳州市顺和达软件有限公司 | 客户端软件升级系统及方法 |
CN102387165A (zh) * | 2010-08-27 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 软件升级系统及方法 |
US20140304697A1 (en) * | 2011-12-01 | 2014-10-09 | Tencent Technology (Shenzhen) Company Limited | Method and system for upgrading software |
CN103701856A (zh) * | 2013-11-29 | 2014-04-02 | 四川长虹电器股份有限公司 | 一种定义及终端设备获取升级包的方法 |
CN105183496A (zh) * | 2015-07-21 | 2015-12-23 | 浪潮软件集团有限公司 | 一种基于国产cpu和操作系统的软件自动升级和推送方法 |
CN107623735A (zh) * | 2017-09-26 | 2018-01-23 | 天津麒麟信息技术有限公司 | 一种征信机系统中基于openssl的精准更新升级系统及方法 |
CN108182075A (zh) * | 2017-12-29 | 2018-06-19 | 成都三零凯天通信实业有限公司 | 一种通过socket通信方式自动升级目标软件的程序 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889579A (zh) * | 2019-01-24 | 2019-06-14 | 江苏中云科技有限公司 | 云计算环境下的通用升级系统 |
CN109889579B (zh) * | 2019-01-24 | 2021-01-26 | 江苏中云科技有限公司 | 云计算环境下的通用升级系统 |
CN109918104A (zh) * | 2019-02-01 | 2019-06-21 | 视联动力信息技术股份有限公司 | 一种自动升级系统和方法 |
CN109918104B (zh) * | 2019-02-01 | 2022-01-11 | 视联动力信息技术股份有限公司 | 一种自动升级系统和方法 |
CN110471680A (zh) * | 2019-07-23 | 2019-11-19 | 武汉格罗夫氢能汽车有限公司 | 用于氢能汽车控制器软件升级及失败回滚的控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109104469A (zh) | 一种通用远程升级系统及方法 | |
CN113946358B (zh) | 一种基于车辆管理系统的自动驾驶车辆软件远程升级方法 | |
US7003767B2 (en) | System and method for remotely updating software applications | |
US9195480B2 (en) | Associated plug-in management method, device and system | |
EP1004078B1 (en) | Regeneration agent for back-up software | |
US9158528B2 (en) | Forcibly completing upgrade of distributed software in presence of failures | |
CN105335183A (zh) | 一种软件升级方法及系统 | |
CN101316189A (zh) | 一种实现网络设备升级的方法、系统和设备 | |
CN102546246A (zh) | 一种软件自动升级的方法及系统 | |
EP3273363B1 (en) | Zero downtime database updates with database configuration changes | |
CN102609281A (zh) | 分布式软件补丁更新方法及系统 | |
CN102571860A (zh) | 一种管理插件的方法、装置及系统 | |
CN110912728B (zh) | 一种操作系统补丁批量自动化更新管理方法及系统 | |
WO2021223471A1 (zh) | 一种配置文件集中管理系统、方法及装置 | |
CN102681875A (zh) | 一种通用的驱动程序自动更新方法 | |
EP2513786A1 (en) | A method of updating versioned software using a shared cache | |
CN104518903B (zh) | 线上业务巡检方法、系统及装置 | |
US11789826B2 (en) | Distributed software replication and replacement system | |
CN116820493A (zh) | 一种镜像文件部署方法、系统、设备及存储介质 | |
JP5319619B2 (ja) | スケールアウト構成に対応したソフトウェア配布システム、方法、及びプログラム | |
CN105183657A (zh) | 一种web界面的测试系统及方法 | |
CN111324365A (zh) | 一种超融合系统升级的方法和设备 | |
CN112688794A (zh) | Yang模型的管理方法、装置、系统、设备及存储介质 | |
CN115202680A (zh) | 在线远程自动升级本地客户端的系统及方法 | |
CN101556583B (zh) | 有效控制嵌入式linux文件系统版本的方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181228 |