一种应用程序升级方法技术

技术编号:39752266 阅读:4 留言:0更新日期:2023-12-17 23:50
本申请涉及计算机技术领域,具体涉及一种应用程序升级方法

【技术实现步骤摘要】
一种应用程序升级方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,具体涉及一种应用程序升级方法

装置

电子设备及存储介质


技术介绍

[0002]在应用程序实际使用的过程中,由于功能扩展或者出现
bug
,需要不断地对应用程序进行升级

更新

在相关技术中,通过重启应用程序,加载最新版本的数据包,从而实现应用程序的更新

但这种更新方式,可能打断用户正在使用应用程序的行为,或者需要用户等待一定时间进行更新后再使用,降低了用户的使用体验

因此,如何避免升级对应用程序的不利影响,仍是一个亟待解决的问题


技术实现思路

[0003]本申请的目的之一提出了一种应用程序升级方法,以解决或至少部分地解决相关技术中应用程序升级时中断用户的使用过程,或需等待升级完成后才能使用应用程序,降低用户体验的问题

本申请的目的之二在于提供一种应用程序升级装置,目的之三在于提供一种电子设备,目的之四在于提供一种非易失性存储介质

[0004]为了实现上述目的,本申请的技术方案如下:
[0005]一种应用程序升级方法,包括:
[0006]获取升级请求信息,生成与所述升级请求信息对应的升级任务,所述升级请求信息包括应用程序标识;
[0007]确定所述应用程序标识对应的业务模块,所述应用程序标识对应的业务模块为动态库;所述应用程序标识对应的业务模块包括位于第一存储中心的第一业务模块

位于第二存储中心的第二业务模块,所述第一业务模块和所述第二业务模块,在无所述升级请求信息的情况下,同时支持同一应用程序的运行;
[0008]利用所述第一存储中心的所述第一业务模块单独支持所述应用程序的运行,控制所述第二存储中心的所述第二业务模块,执行所述升级任务;
[0009]在所述第二业务模块完成所述升级任务后,利用所述第二业务模块单独支持所述应用程序的运行,控制所述第一业务模块,执行所述升级任务

[0010]可选的,所述第一存储中心和所述第二存储中心各包括一个集群模块,集群模块记录有各自所属的存储中心中,各个业务模块接口的引用计数;所述方法还包括:
[0011]在所述业务模块的接口被调用时,将所述引用计数的值加一;
[0012]在所述业务模块的接口调用完成时,将所述引用计数的值减一

[0013]可选的,位于所述第一存储中心的集群模块为第一集群模块,位于所述第二存储中心中集群模块为第二集群模块;所述利用第一存储中心的所述第一业务模块单独支持所述应用程序的运行,控制所述第二存储中心的所述第二业务模块,执行所述升级任务,包括:
[0014]通过所述第二存储中心的所述第二集群模块,控制所述第二存储中心的所述第二业务模块接口,停止响应新的调用请求,以使所述第一存储中心的所述第一业务模块单独响应所述应用程序新的调用请求;
[0015]确定所述第二存储中心中所述第二业务模块的所述引用计数是否清零;
[0016]在所述第二存储中心中,所述第二业务模块的所述引用计数为零的情况下,卸载所述第二存储中心中所述第二业务模块;
[0017]在所述第二存储中心中重新加载所述应用程序标识对应的

最新版本的所述业务模块

[0018]可选的,利用第二存储中心的所述第二业务模块单独支持所述应用程序的运行,包括:
[0019]检测所述第二存储中心的所述第二业务模块的版本是否为最新版本;
[0020]在所述第二存储中心的所述第二业务模块的版本为最新版本的情况下,控制所述第二存储中心的所述第二业务模块接口,恢复响应新的调用请求

[0021]可选的,控制所述第一存储中心的所述第一业务模块,执行所述升级任务,包括:
[0022]通过所述第一存储中心的所述第一集群模块,控制所述第一存储中心的所述第一业务模块接口,停止响应新的调用请求;以使所述第二存储中心的所述第二业务模块单独响应所述应用程序新的调用请求;
[0023]在所述第一存储中心中,所述第一业务模块接口的所述引用计数为零的情况下,卸载所述第一存储中心的所述第一业务模块;
[0024]在所述第一存储中心中重新加载所述应用程序标识对应的

最新版本的所述业务模块

[0025]可选的,所述方法还包括:
[0026]查询所述应用程序标识对应的所述业务模块的最新版本号;
[0027]在所述业务模块的最新版本号,和当前存储中心中的所述业务模块的版本号不一致的情况下,生成所述升级请求消息;
[0028]将所述升级请求消息,发送至所述第一集群模块和
/
或所述第二集群模块

[0029]可选的,在确定所述应用程序标识对应的业务模块之后,所述方法还包括:
[0030]检测所述应用程序标识对应的业务模块是否存在资源依赖关系和线程创建;
[0031]在确定所述应用程序标识对应的业务模块无资源依赖和线程创建的情况下,控制所述第一业务模块

所述第二业务模块,同时执行所述升级任务

[0032]一种应用程序升级装置,包括:
[0033]获取单元,用于获取升级请求信息,生成与所述升级请求信息对应的升级任务,所述升级请求信息包括应用程序标识;
[0034]确定单元,用于确定所述应用程序标识对应的业务模块,所述应用程序标识对应的业务模块为动态库;所述应用程序标识对应的业务模块包括位于第一存储中心的第一业务模块

位于第二存储中心的第二业务模块,所述第一业务模块和所述第二业务模块,在无所述升级请求信息的情况下,同时支持同一应用程序的运行;
[0035]第一升级单元,用于利用所述第一存储中心的所述第一业务模块单独支持应用程序的运行,控制所述第二存储中心的所述第二业务模块,执行所述升级任务;
[0036]第二升级单元,用于在所述第二业务模块完成所述升级任务后,利用所述第二业务模块单独支持所述应用程序的运行,控制所述第一业务模块,执行所述升级任务

[0037]一种电子设备,包括:
[0038]处理器;
[0039]用于存储处理器可执行指令的存储器;
[0040]其中,所述处理器被配置为执行上述的应用程序升级方法

[0041]一种非易失性存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述的应用程序升级方法

[0042]本申请的有益效果:
[0043]在本申请中,通过获取升级请求信息,生成与升级请求信息对应的升级任务,升级请求信息包括应用程序标识;确定应用程序标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种应用程序升级方法,其特征在于,所述方法包括:获取升级请求信息,生成与所述升级请求信息对应的升级任务,所述升级请求信息包括应用程序标识;确定所述应用程序标识对应的业务模块,所述应用程序标识对应的业务模块为动态库;所述应用程序标识对应的业务模块包括位于第一存储中心的第一业务模块

位于第二存储中心的第二业务模块;所述第一业务模块和所述第二业务模块,在所述无升级请求信息的情况下,同时支持同一应用程序的运行;利用所述第一存储中心的所述第一业务模块单独支持所述应用程序的运行,控制所述第二存储中心的所述第二业务模块,执行所述升级任务;在所述第二业务模块完成所述升级任务后,利用所述第二业务模块单独支持所述应用程序的运行,控制所述第一业务模块,执行所述升级任务
。2.
根据权利要求1所述的应用程序升级方法,其特征在于,所述第一存储中心和所述第二存储中心各包括一个集群模块,集群模块记录有各自所属的存储中心中,各个业务模块接口的引用计数;所述方法还包括:在所述业务模块的接口被调用时,将所述引用计数的值加一;在所述业务模块的接口调用完成时,将所述引用计数的值减一
。3.
根据权利要求2所述的应用程序升级方法,其特征在于,位于所述第一存储中心的集群模块为第一集群模块,位于所述第二存储中心中集群模块为第二集群模块;所述利用第一存储中心的所述第一业务模块单独支持所述应用程序的运行,控制所述第二存储中心的所述第二业务模块,执行所述升级任务,包括:通过所述第二存储中心的所述第二集群模块,控制所述第二存储中心的所述第二业务模块接口,停止响应新的调用请求,以使所述第一存储中心的所述第一业务模块单独响应所述应用程序新的调用请求;确定所述第二存储中心中所述第二业务模块的所述引用计数是否清零;在所述第二存储中心中,所述第二业务模块的所述引用计数为零的情况下,卸载所述第二存储中心中所述第二业务模块;在所述第二存储中心中重新加载所述应用程序标识对应的

最新版本的所述业务模块
。4.
根据权利要求3所述的应用程序升级方法,其特征在于,利用第二存储中心的所述第二业务模块单独支持所述应用程序的运行,包括:检测所述第二存储中心的所述第二业务模块的版本是否为最新版本;在所述第二存储中心的所述第二业务模块的版本为最新版本的情况下,控制所述第二存储中心的所述第二业务模块接口,恢复响应新的调用请求
。5.
根据权利要求3所述的应用程序升级方法,其特征在于,控制所述第一存储中心的所述第一业务模块,执行所述升级任务,包括:...

【专利技术属性】
技术研发人员:黄玉龙仇锋利杨善松
申请(专利权)人:苏州元脑智能科技有限公司
类型:发明
国别省市:

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

1