软件升级方法及相关装置制造方法及图纸

技术编号:33022057 阅读:17 留言:0更新日期:2022-04-15 08:55
本申请实施例提供了一种软件升级方法及相关装置,方法包括:向服务器发送针对第一应用程序的第一更新请求;接收来自服务器的第一更新包,第一更新包为第一应用程序的版本更新差分包,版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,第二安装包为第一安装包的前一个版本的安装包,第一安装包为第一应用程序的最新版本的安装包;将第一更新包拆分成多个资源块;将多个资源块合并到第一应用程序中,以将第一应用程序更新为与第一安装包的版本对应的第一应用程序。这样,就实现了对应第一应用程序的增量更新,缩小了更新安装包的大小,且能够在应用程序运行时进行更新。行更新。行更新。

【技术实现步骤摘要】
软件升级方法及相关装置


[0001]本申请属于软件升级领域,具体涉及一种软件升级方法及相关装置。

技术介绍

[0002]目前,现有的软件升级一般使用插件化方案,应用开发者可以手动将部分代码单独打包下发到应用中并且通过安卓Android系统的加载机制实时生效。
[0003]但是该插件化方案对代码的侵入性强,而且需要开发者投入比较高的开发成本,还会涉及到诸多系统兼容问题,安全性较低。

技术实现思路

[0004]本申请实施例提供了一种软件升级方法及相关装置,以期对应第一应用程序的增量更新。
[0005]第一方面,本申请实施例提供了一种软件升级方法,应用于第一用户设备,包括:向服务器发送针对第一应用程序的第一更新请求;接收来自所述服务器的第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包;将所述第一更新包拆分成多个资源块;将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。
[0006]第二方面,本申请实施例提供了一种软件升级方法,应用于服务器,包括:接收来自第一用户设备针对第一应用程序的第一更新请求;响应所述第一更新请求,向所述第一用户设备发送第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包,所述第一更新包用于以多个资源块的形式参与对所述第一应用程序的更新。
[0007]第三方面,本申请实施例提供了一种软件升级装置,应用于第一用户设备,包括:发送单元,用于向服务器发送针对第一应用程序的第一更新请求;接收单元,用于接收来自所述服务器的第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包;拆分单元,用于将所述第一更新包拆分成多个资源块;更新单元,用于将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。
[0008]第四方面,本申请实施例提供了一种软件升级装置,应用于服务器,包括:接收单元,用于接收来自第一用户设备针对第一应用程序的第一更新请求;发送单元,用于响应所述第一更新请求向所述第一用户设备发送第一更新包,所述第一更新包为所述第一应用程
序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包,所述第一更新包用于以多个资源块的形式参与对所述第一应用程序的更新
[0009]第五方面,本申请实施例提供了一种电子设备,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行本申请实施例第一方面至第四方面中任一方面的步骤的指令。
[0010]第六方面,本申请实施例提供了一种计算机存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如本实施例第一方面至第四方面中任一方面所描述的部分或全部步骤。
[0011]第七方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面至第四方面中任一方面所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
[0012]可以看出,本申请实施例中,首先通过向服务器发送针对第一应用程序的第一更新请求;接收来自所述服务器的第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包;将所述第一更新包拆分成多个资源块;将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。这样,就实现了对应第一应用程序的增量更新,缩小了更新安装包的大小,且能够在应用程序运行时进行更新。
附图说明
[0013]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1是本申请实施例提供的一种电子设备的示意图;
[0015]图2是本申请实施例提供的一种软件升级方法的流程示意图;
[0016]图3是本申请实施例提供的另一种软件升级方法的流程示意图;
[0017]图4a是本申请实施例提供的一种软件升级装置的功能单元组成框图;
[0018]图4b是本申请实施例提供的另一种软件升级装置的功能单元组成框图;
[0019]图5a是本申请实施例提供的另一种软件升级装置的功能单元组成框图;
[0020]图5b是本申请实施例提供的另一种软件升级装置的功能单元组成框图。
具体实施方式
[0021]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的
附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0022]本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0023]在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0024]下面先对本申请涉及到的相关术语进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件升级方法,其特征在于,应用于第一用户设备,包括:向服务器发送针对第一应用程序的第一更新请求;接收来自所述服务器的第一更新包,所述第一更新包为所述第一应用程序的版本更新差分包,所述版本更新差分包包括第一安装包相对于第二安装包的被更改文件的文件集合,所述第二安装包为所述第一安装包的前一个版本的安装包,第一安装包为所述第一应用程序的最新版本的安装包;将所述第一更新包拆分成多个资源块;将所述多个资源块合并到所述第一应用程序中,以将所述第一应用程序更新为与所述第一安装包的版本对应的第一应用程序。2.根据权利要求1所述的方法,其特征在于,所述将所述第一更新包拆分成多个资源块,包括:获取所述第一应用程序的初始安装包的安装过程记录;按照所述安装过程记录中所要加载的多个资源文件,将所述第一更新包拆分成对应的多个资源块。3.根据权利要求1所述的方法,其特征在于,所述将所述多个资源块合并到所述第一应用程序中,包括:确定所述多个资源块被加载到内存的第一加载顺序;根据所述第一加载顺序,将所述多个资源块依次合并到所述第一应用程序中。4.根据权利要求3所述的方法,其特征在于,所述确定所述多个资源块被加载到内存的第一加载顺序,包括:获取所述安装过程记录中所述多个资源文件中每个资源文件被加载到内存中的第一时间;将所述多个资源块中每个资源块与对应的资源文件的第一时间进行关联,得到以第一时间先后排序的第一加载顺序。5.根据权利要求3所述的方法,其特征在于,所述确定所述多个资源块被加载到内存的第一加载顺序,包括:获取加载顺序记录,所述加载顺序记录包括多个顺序标识,所述多个顺序标识与所述多个资源文件一一对应,所述多个顺序标识中的每个顺序标识用于指示对应的资源文件被加载到内存中的顺序;将所述多个资源块中每个资源块与对应的资源文件的顺序标识进行关联,得到以顺序标识先后排序的第一加载顺序。6.根据权利要求3所述的方法,其特征在于,所述根据所述第一加载顺序,将所述多个资源块依次合并到所述第一应用程序中,包括:按照所述第一加载顺序针对所述多个资源块依次执行如下操作:获取当前顺序需要处理的资源块;判断所述资源块相对于所述第一应用程序中对应的资源文件的更改类型,所述更改类型包括新增、删除和修改;根据所述更改类型将所述资源块与所述第一应用程序中对应的资源文件进行合并。7.根据权利要求6所述的方法,其特征在于,所述根据所述更改类型将所述资源块与所
述第一应用程序中对应的资源文件进行合并,包括:若所述更改类型为新增,则将所述资源块直接增加到对应的资源文件中;若所述更改类型为删除,则删除所述资源块对应的资源文件或者删除对应的资源文件中与所述资源块对应的单元;若所述更改类型为修改,则将所述资源块与所述资源文件进行替换。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:若检测到所述第一更新包中的部分内容没有对应的资源文件,则将所述部分内容直接增加到所述第一应用程序中。9.根据权利要求1

8任一项所述的方法,其特征在于,所述向服务器的发送针对第一应用程序的第一更新请求之前,包括:向所述服务器发送针对所述第一应用程序的版本询问消息;接收来自所述服务器的针对所述版本询问消息的第一版本响应消息;检测到所述第一版本响应消息指示所述第一应用程序不是最新版本。10.一种软件升级方法,其特征在于,应用于服务器,包括:接收来自第一用户设备针对第一应用程序的第一更新请求...

【专利技术属性】
技术研发人员:吴超
申请(专利权)人:广东明创软件科技有限公司
类型:发明
国别省市:

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

1