一种应用热升级方法及系统技术方案

技术编号:39725022 阅读:9 留言:0更新日期:2023-12-17 23:30
本发明专利技术涉及应用热升级技术领域,具体为一种应用热升级方法及系统

【技术实现步骤摘要】
一种应用热升级方法及系统


[0001]本专利技术涉及一种应用热升级方法及系统,属于应用热升级



技术介绍

[0002]目前,现场控制终端中安装有较多的应用,通过安装不同的应用实现各种不同的功能

但已发布的应用版本常常不是完美的,存在一些缺陷或者功能不完善的情况,这时应用开发商便会针对缺陷进行修复或者增加应用的功能,以提高使用者的体验

在开发商发布了新版本的应用时,为保证能够使用应用的最新功能,需要对安装的应用进行及时的升级

现有技术中在对各个应用进行更新过程中,通过网络或移动存储介质将新版本安装包载入本机,为避免由文件操作权限引起的升级失败和修改程序文件导致的崩溃等问题,在新软件安装前会停止旧版本运行,中断数据交互

这是因为当前升级会直接覆盖原有旧版本应用的程序,而旧版本应用在运行过程中,使得执行代码

配置文件发生变更,导致应用程序崩溃,所以必须停止旧版本应用,再做新版本的升级

这种处理方式极大地影响了对于数据连续性

实时性要求较高的业务,并提高了后期业务数据分析复杂度


技术实现思路

[0003]本专利技术的目的是提供一种应用热升级方法及系统,用以解决现有技术中在应用版本更新时需要中断数据交互导致数据连续性差的问题

[0004]为实现上述目的,本专利技术所提供的技术方案以及各技术方案的有益有效如下:
[0005]本专利技术的一种应用热升级方法,包括如下步骤:
[0006]1)
解析应用新版本安装包,获取应用新版本的硬件配置信息

应用配置信息

应用初始化时间和应用运行状态检测时间;进而依据硬件配置信息分配硬件资源,依据应用配置信息创建数据库表操作;
[0007]2)
启动应用新版本,为应用新版本开辟新的容器并启动应用新版本,进而开启容器初始化时间和应用初始化时间计时;
[0008]3)
容器初始化时间到后获取容器运行状态,若容器运行状态为正常,则开启应用新版本的输入,封锁应用新版本的输出;在应用初始化时间到后启动应用自检,若应用运行状态检测时间内收到的自检结果为正常,则切断应用旧版本的输入输出,停止应用旧版本的运行,置空并卸载应用旧版本的容器,使能应用新版本的输出

[0009]其有益效果为:本专利技术将容器技术应用于应用升级中,在应用需要升级并启动应用新版本时,为应用的新版本开辟新的容器,使应用新版本和旧版本共同运行,避免了应用版本更新迭代时导致的应用业务中止的问题,保证了业务的连续性和实时性

而且,在新版本对应的容器运行状态和应用运行状态均正常后,即完成应用旧版本到新版本的切换后,置空并卸载应用旧版本的容器,避免了应用旧版本容器因为进程退出触发容器重启问题,也避免了由于应用旧版本容器退出失败而导致的进程资源无法清理的情况出现

[0010]进一步地,若应用运行状态检测时间内未收到自检结果或者应用运行状态检测时
间内收到的自检结果为异常,则切断应用新版本的输入,停止应用新版本的运行,置空并卸载应用新版本的容器

[0011]其有益效果为:在应用运行状态检测时间内未收到自检结果或者应用运行状态检测时间内收到的自检结果为异常,说明此次应用运行过程存在问题,因而置空并卸载应用新版本的容器

[0012]进一步地,解析应用新版本安装包获取的信息还包括应用
ID
信息

应用版本信息和应用热升级标识,所述应用
ID
信息和应用版本信息用于区分不同应用版本的不同输出通道

[0013]进一步地,在应用热升级完成后,需对旧数据库执行备份

清理

合并以及替代操作

[0014]其有益效果为:在应用热升级完成后,对旧数据库进行管理,以保证应用所在终端的安全可靠运行

[0015]进一步地,在应用热升级完成后,还需将应用新版本的容器名称修改应用旧版本的容器名称

[0016]其有益效果为:上述操作可以防止容器间接口访问异常的情况出现

[0017]本专利技术的一种应用热升级系统,包括热升级管理模块

硬件管理模块

数据管理模块和容器管理模块;热升级管理模块用于解析应用新版本安装包,获取应用新版本的硬件配置信息

应用配置信息

应用初始化时间和应用运行状态检测时间;还用于:容器初始化时间到后获取容器运行状态,若容器运行状态为正常,则开启应用新版本的输入,封锁应用新版本输出;在应用初始化时间到后启动应用自检,若应用运行状态检测时间内收到的自检结果为正常,则切断应用旧版本的输入输出,停止应用旧版本的运行,使能应用新版本的输出;硬件管理模块用于依据硬件配置信息分配硬件资源;数据管理模块用于依据应用配置信息创建数据库表操作;容器管理模块用于为应用新版本开辟新的容器,还用于置空并卸载应用旧版本的容器

[0018]其有益效果为:本专利技术设计了一套应用热升级系统,该系统中设置有容器管理模块,该容器管理模块可以在应用需要升级并启动应用新版本时,为应用的新版本开辟新的容器,从而使应用新版本和旧版本共同运行,避免了应用版本更新迭代时导致的应用业务中止的问题,保证了业务的连续性和实时性

而且,在新版本对应的容器运行状态和应用运行状态均正常后,即完成应用旧版本到新版本的切换后,置空并卸载应用旧版本的容器,避免了应用旧版本容器因为进程退出触发容器重启问题,也避免了由于应用旧版本容器退出失败而导致的进程资源无法清理的情况出现

[0019]进一步地,所述热升级管理模块还用于在应用运行状态检测时间内未收到自检结果或者应用运行状态检测时间内收到的自检结果为异常时,切断应用新版本的输入,停止应用新版本的运行;所述容器管理模块还用于在应用运行状态检测时间内未收到自检结果或者应用运行状态检测时间内收到的自检结果为异常时置空并卸载应用新版本的容器

[0020]其有益效果为:在应用运行状态检测时间内未收到自检结果或者应用运行状态检测时间内收到的自检结果为异常,说明此次应用运行过程存在问题,因而置空并卸载应用新版本的容器

[0021]进一步地,解析应用新版本安装包获取的信息还包括应用
ID
信息

应用版本信息
和应用热升级标识,所述应用
ID
信息和应用版本信息用于区分不同应用版本的不同输出通道

[0022]进一步地,所述数据管理模块还用于在应用热升级完成后,对旧数据库执行备份

清理
...

【技术保护点】

【技术特征摘要】
1.
一种应用热升级方法,其特征在于,包括如下步骤:
1)
解析应用新版本安装包,获取应用新版本的硬件配置信息

应用配置信息

应用初始化时间和应用运行状态检测时间;进而依据硬件配置信息分配硬件资源,依据应用配置信息创建数据库表操作;
2)
启动应用新版本,为应用新版本开辟新的容器并启动应用新版本,进而开启容器初始化时间和应用初始化时间计时;
3)
容器初始化时间到后获取容器运行状态,若容器运行状态为正常,则开启应用新版本的输入,封锁应用新版本的输出;在应用初始化时间到后启动应用自检,若应用运行状态检测时间内收到的自检结果为正常,则切断应用旧版本的输入输出,停止应用旧版本的运行,置空并卸载应用旧版本的容器,使能应用新版本的输出
。2.
根据权利要求1所述的应用热升级方法,其特征在于,若应用运行状态检测时间内未收到自检结果或者应用运行状态检测时间内收到的自检结果为异常,则切断应用新版本的输入,停止应用新版本的运行,置空并卸载应用新版本的容器
。3.
根据权利要求1所述的应用热升级方法,其特征在于,解析应用新版本安装包获取的信息还包括应用
ID
信息

应用版本信息和应用热升级标识,所述应用
ID
信息和应用版本信息用于区分不同应用版本的不同输出通道
。4.
根据权利要求1所述的应用热升级方法,其特征在于,在应用热升级完成后,需对旧数据库执行备份

清理

合并以及替代操作
。5.
根据权利要求1~4任一项所述的应用热升级方法,其特征在于,在应用热升级完成后,还需将应用新版本的容器名称修改应用旧版本的容器名称
。6.
一种应用热升级系统,其特征在于,包括热升级管理模块

硬件管...

【专利技术属性】
技术研发人员:彭飞
申请(专利权)人:北京中碳创科数字能源技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1