CN110990033B - 远程升级方法及系统 - Google Patents
远程升级方法及系统 Download PDFInfo
- Publication number
- CN110990033B CN110990033B CN201911002231.5A CN201911002231A CN110990033B CN 110990033 B CN110990033 B CN 110990033B CN 201911002231 A CN201911002231 A CN 201911002231A CN 110990033 B CN110990033 B CN 110990033B
- Authority
- CN
- China
- Prior art keywords
- program
- upgrade
- version
- response
- action
- 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.)
- Active
Links
Classifications
-
- 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
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
本申请公开了远程升级方法及系统,其中所述方法包括:响应于进行程序升级,调用网关接口,至少将压缩程序包的网址、版本、完整性校验码和请求类型参数传递给网关;根据所述请求类型参数修改升级程序启动配置参数中的动作标识并通知守护进程重启升级程序;升级程序读取所述启动配置参数并根据所述动作标识修改程序版本。本发明使能实现简单便捷、安全稳定且兼容多种容器的程序升级。
Description
技术领域
本申请涉及电数字数据处理领域,尤其涉及远程升级方法及系统。
背景技术
目前,医疗互联网系统的升级完全依赖于实施人员现场操作。操作疏忽、不按操作步骤实施等导致问题增多,增加时间成本。此外,现有医疗互联网系统更新慢,一个功能或者bug的更新,从发布到产品的完全更新完成,周期太长,成本高。再者,现有医疗互联网系统更新无法做到定制化,对运行环境、容器等会强依赖,而且无法恢复到之前用过的版本。因此,需要一种简单便捷、安全稳定、对容器松耦合的升级方法。
发明内容
为了克服现有技术中存在的不足,本发明要解决的技术问题是提供一种远程升级方法及系统,其使得程序升级简单便捷、安全稳定及对容器松耦合。
为解决上述技术问题,根据本发明的第一方面,提供一种远程升级方法,该方法包括:
响应于进行程序升级,调用网关接口,至少将压缩程序包的网址、版本、完整性校验码和请求类型参数传递给网关;
根据所述请求类型参数修改升级程序启动配置参数中的动作标识并通知守护进程重启升级程序;
升级程序读取所述启动配置参数并根据所述动作标识修改程序版本。
作为本发明所述方法的改进,所述方法还包括:响应于所述动作标识为升级,根据版本号规则将压缩程序包解压缩到以版本号命名的文件中,并执行复制上一个版本配置命令,然后执行压缩程序包中的启动脚本。
作为本发明所述方法的另一种改进,所述方法还包括:响应于启动失败,对启动失败次数进行计数并修改所述启动配置参数中的失败次数计数。
作为本发明所述方法的又一种改进,所述方法还包括:响应于失败次数计数超过预设阈值,将所述启动配置参数中的动作标识修改为回退,并配置回退的程序版本。
作为本发明所述方法的再一种改进,所述方法还包括:响应于所述动作标识为启动或回退,根据版本号,寻址到相应目录,执行压缩程序包中的启动脚本。
作为本发明所述方法的另一种改进,所述方法还包括:在执行启动脚本之前新建临时文件作为执行标识。
作为本发明所述方法的又一种改进,所述方法还包括:在执行启动脚本之后修改升级程序配置文件。
为解决上述技术问题,根据本发明的第二方面,提供一种远程升级系统,该系统包括:
传递模块,用于响应于进行程序升级,调用网关接口,至少将压缩程序包的网址、版本、完整性校验码和请求类型参数传递给网关;
修改模块,用于根据所述请求类型参数修改升级程序启动配置参数中的动作标识并通知守护进程重启升级程序;
升级模块,用于升级程序读取所述启动配置参数并根据所述动作标识修改程序版本。
为解决上述技术问题,根据本发明的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明的远程升级方法的步骤。
为解决上述技术问题,根据本发明的第四方面,提供一种计算机设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中所述处理器执行所述计算机程序时实现本发明的远程升级方法的步骤。
通过根据传递的参数修改升级程序的启动参数配置,本发明支持升级程序的启动参数、环境配置的个性化,从而支持升级的应用广泛,对容器松耦合(兼容性高)。只需要在远端手工上传升级程序压缩包及版本就可以完成医院院内程序的变更,十分简单便捷。此外,本发明技术支持版本的多次失败自动重试回退,保证应用的最大存活,提高安全稳定性。
结合附图阅读本发明实施方式的详细描述后,本发明的其它特点和优点将变得更加清楚。
附图说明
图1为根据本发明方法的一实施例的流程图;
图2为根据本发明系统的一实施例的框图。
为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
具体实施方式
下面参照附图对本发明的实施方式和实施例进行详细说明。
通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
图1示出了根据本发明的远程升级方法的一优选实施例的流程图。
在步骤S102,在例如医疗互联网系统的需要升级的压缩程序包(应用、安装或升级脚本)准备好之后,调用网关接口,将压缩程序包的网址、版本、完整性校验码、请求类型参数等传递给网关。请求类型参数可以是升级程序版本、启动当前版本或回退到先前版本。
在步骤S104,根据传递给网关的请求类型参数修改升级程序启动配置参数中的动作标识并通知守护进程(看门狗)重启升级程序。动作标识可以是升级、启动或回退。
在步骤S106,升级程序读取启动配置参数,根据动作标识确定动作类型。如果动作标识为升级,则处理进行到步骤S108。如果动作标识为启动或回退,则处理进行到步骤S150。
在步骤S108,下载压缩程序包。
在步骤S110,根据版本号规则将压缩程序包解压缩到以版本号命名的文件中,并执行复制上一个版本配置命令,然后执行压缩程序包中的启动脚本。在实施例中,在执行启动脚本之前还可新建临时文件作为执行标识。如果有一个升级请求,程序正在执行中,如下载或解压会比较耗时,在执行以上过程中,又来一个升级或回退请求,此时,通过文件标识来返回第二个无效请求。相应地,在执行启动脚本之后删除该临时文件标识。
在步骤S112,在执行启动脚本之后修改升级程序配置文件,升级程序配置文件可以是一个json文本,其内容包括当前版本、上一个版本、请求状态(升级、回退、启动)、失败次数等。这个配置文件在升级、回退成功时更新。
在步骤S150,根据版本号,寻址到相应目录,执行压缩程序包中的启动脚本。同样,在执行启动脚本之前也可新建临时文件作为执行标识。然后处理进行到步骤S112。
在实施例中,传递给网关的参数还可包括启动失败重试次数阈值。在该情形下,如果因端口占用等而启动失败,对启动失败次数进行计数并修改启动配置参数中的失败次数计数。当失败次数计数超过预设阈值时,将启动配置参数中的标识修改为回退,并配置回退的程序版本(通常为最近的一个历史版本),然后执行步骤S150,确保应用的最大存活。
图2示出了根据本发明的远程升级系统的一优选实施例的框图,该系统包括:传递模块202,用于响应于进行程序升级,调用网关接口,至少将压缩程序包的网址、版本、完整性校验码和请求类型参数传递给网关;修改模块204,用于根据所述请求类型参数修改升级程序启动配置参数中的动作标识并通知守护进程重启升级程序;升级模块206,用于升级程序读取所述启动配置参数并根据所述动作标识修改程序版本。
在此所述的多个不同实施方式或者其特定特征、结构或特性可在本发明的一个或多个实施方式中适当组合。另外,在某些情形下,只要适当,流程图中和/或流水处理描述的步骤顺序可修改,并不必须精确按照所描述的顺序执行。另外,本发明的多个不同方面可使用软件、硬件、固件或者其组合和/或执行所述功能的其它计算机实施的模块或装置进行实施。本发明的软件实施可包括保存在计算机可读介质中并由一个或多个处理器执行的可执行代码。计算机可读介质可包括计算机硬盘驱动器、ROM、RAM、闪存、便携计算机存储介质如CD-ROM、DVD-ROM、闪盘驱动器和/或具有通用串行总线(USB)接口的其它装置,和/或任何其它适当的有形或非短暂计算机可读介质或可执行代码可保存于其上并由处理器执行的计算机存储器。本发明可结合任何适当的操作系统使用。
除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。
前面说明了本发明的一些优选实施例,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。本领域技术人员可以在本发明技术构思的启发和不脱离本发明内容的基础上对本发明做出各种变型和修改,这些变型或修改仍落入本发明的保护范围之内。
Claims (10)
1.一种远程升级方法,其特征在于,所述方法包括:
响应于进行程序升级,调用网关接口,至少将压缩程序包的网址、版本、完整性校验码和请求类型参数传递给网关,其中所述请求类型参数为升级程序版本、启动当前版本或回退到先前版本;
根据所述请求类型参数修改升级程序启动配置参数中的动作标识并通知守护进程重启升级程序,其中所述动作标识为升级、启动或回退;
升级程序读取所述启动配置参数并根据所述动作标识修改程序版本。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述动作标识为升级,根据版本号规则将压缩程序包解压缩到以版本号命名的文件中,并执行复制上一个版本配置命令,然后执行压缩程序包中的启动脚本。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于启动失败,对启动失败次数进行计数并修改所述启动配置参数中的失败次数计数。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
响应于失败次数计数超过预设阈值,将所述启动配置参数中的动作标识修改为回退,并配置回退的程序版本。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述动作标识为启动或回退,根据版本号,寻址到相应目录,执行压缩程序包中的启动脚本。
6.根据权利要求2或5所述的方法,其特征在于,所述方法还包括:
在执行启动脚本之前新建临时文件作为执行标识。
7.根据权利要求2或5所述的方法,其特征在于,所述方法还包括:
在执行启动脚本之后修改升级程序配置文件。
8.一种远程升级系统,其特征在于,所述系统包括:
传递模块,用于响应于进行程序升级,调用网关接口,至少将压缩程序包的网址、版本、完整性校验码和请求类型参数传递给网关,其中所述请求类型参数为升级程序版本、启动当前版本或回退到先前版本;
修改模块,用于根据所述请求类型参数修改升级程序启动配置参数中的动作标识并通知守护进程重启升级程序,其中所述动作标识为升级、启动或回退;
升级模块,用于升级程序读取所述启动配置参数并根据所述动作标识修改程序版本。
9.根据权利要求8所述的系统,其特征在于,所述升级模块用于响应于所述动作标识为升级,根据版本号规则将压缩程序包解压缩到以版本号命名的文件中,并执行复制上一个版本配置命令,然后执行压缩程序包中的启动脚本。
10.根据权利要求8所述的系统,其特征在于,所述升级模块用于响应于所述动作标识为启动或回退,根据版本号,寻址到相应目录,执行压缩程序包中的启动脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911002231.5A CN110990033B (zh) | 2019-10-21 | 2019-10-21 | 远程升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911002231.5A CN110990033B (zh) | 2019-10-21 | 2019-10-21 | 远程升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990033A CN110990033A (zh) | 2020-04-10 |
CN110990033B true CN110990033B (zh) | 2023-07-18 |
Family
ID=70082213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911002231.5A Active CN110990033B (zh) | 2019-10-21 | 2019-10-21 | 远程升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990033B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732290B (zh) * | 2020-12-28 | 2023-06-16 | 青岛海尔科技有限公司 | 设备升级方法、装置、存储介质及电子装置 |
CN117278340B (zh) * | 2023-11-23 | 2024-02-13 | 瑞纳智能设备股份有限公司 | 实现低功耗阀固件升级的方法及存储介质、电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021382A (zh) * | 2017-12-22 | 2018-05-11 | 深圳华意隆电气股份有限公司 | 一种嵌入式设备远程升级系统、方法以及嵌入式设备 |
CN108984193A (zh) * | 2018-06-21 | 2018-12-11 | 深圳伊泉净品科技有限公司 | 软件服务部署方法 |
CN110119283A (zh) * | 2019-05-15 | 2019-08-13 | 浪潮通用软件有限公司 | 一种应用更新处理方法、装置及系统、应用更新系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038549A (zh) * | 2007-03-28 | 2007-09-19 | 北京启明星辰信息技术有限公司 | 一种可跨系统的软件升级方法 |
CN101697133A (zh) * | 2009-10-26 | 2010-04-21 | 中兴通讯股份有限公司 | 软件升级方法、软件升级系统以及客户端 |
CN102195817B (zh) * | 2011-05-25 | 2014-09-17 | 上海华为技术有限公司 | 一种软件升级方法和装置以及软件回退方法和装置 |
US10725867B2 (en) * | 2018-03-21 | 2020-07-28 | Cisco Technology, Inc. | Tracking microservices using a state machine and generating digital display of rollback paths |
-
2019
- 2019-10-21 CN CN201911002231.5A patent/CN110990033B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021382A (zh) * | 2017-12-22 | 2018-05-11 | 深圳华意隆电气股份有限公司 | 一种嵌入式设备远程升级系统、方法以及嵌入式设备 |
CN108984193A (zh) * | 2018-06-21 | 2018-12-11 | 深圳伊泉净品科技有限公司 | 软件服务部署方法 |
CN110119283A (zh) * | 2019-05-15 | 2019-08-13 | 浪潮通用软件有限公司 | 一种应用更新处理方法、装置及系统、应用更新系统 |
Non-Patent Citations (2)
Title |
---|
一种二次Bootloader升级和回退的设计与实现;韩艳芬 等;《计算机技术与发展》;第19卷(第10期);第89-93页 * |
反病毒软件升级后台管理系统的设计与实现;汤玮;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-69 * |
Also Published As
Publication number | Publication date |
---|---|
CN110990033A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108121559B (zh) | 配置文件推送方法、服务器及存储介质 | |
TWI533216B (zh) | 作業系統更新方法 | |
EP2375323A1 (en) | Firmware image update and management | |
CN110990033B (zh) | 远程升级方法及系统 | |
EP3113018A1 (en) | Method and apparatus for running version file | |
CN113010217B (zh) | 一种bios参数设置方法、装置、电子设备及存储介质 | |
WO2018032757A1 (zh) | 组件升级的方法及装置 | |
EP2945055A1 (en) | Application upgrade method and device | |
CN103036706A (zh) | 应用升级异常的本地处理方法 | |
CN108920691B (zh) | 前端静态资源的管理方法、装置、计算机设备及存储介质 | |
CN107908417B (zh) | 固件升级方法及电子设备 | |
CN110932891A (zh) | 防出错ota升级方法、装置、计算机设备及存储介质 | |
CN106775754A (zh) | 应用的兼容性处理方法及装置 | |
CN109857579B (zh) | 一种数据处理方法及相关装置 | |
JP2013235504A (ja) | ソフトウェア配信システム、ソフトウェア配信方法 | |
CN110580167A (zh) | 一种系统升级方法、智能设备及服务器 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN106933604B (zh) | 一种系统升级方法及装置 | |
CN106681761B (zh) | 一种交互式升级的方法及系统 | |
CN115658152A (zh) | 固件升级方法、固件、电子设备和计算机可读存储介质 | |
CN113961220A (zh) | 程序自动更新方法及装置 | |
CN113419760A (zh) | 打开/保存工程文件的方法、装置、计算机设备和介质 | |
CN114416133B (zh) | 一种嵌入式文件数据更新方法及系统 | |
CN110825406A (zh) | 一种软件升级的方法及相关设备 | |
CN111240752B (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 |