软件升级方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:32109518 阅读:18 留言:0更新日期:2022-01-29 18:52
本申请提供了一种软件升级方法、装置、电子设备及计算机可读存储介质。该方法包括:响应于终端设备针对目标软件的软件升级请求,确定第二固件中的新增数据、第二数据和差分数据;将第二固件划分为多个数据块,并按照各数据块在第二固件中的先后,依次对每个数据块执行操作:若数据块对应的第一固件中的第一存储空间中存储有第三数据,则将第三数据整体移存到第一空间的空闲区域中;生成每个数据块对应的还原指示信息以及平移控制信息;根据新增数据、各差分数据、各数据块对应的还原指示信息以及各平移控制信息,生成差分包并发送至终端设备。本申请实现了在终端设备的升级过程中可以减少对终端设备的闪存的内容移动操作,提升整体性能。整体性能。整体性能。

【技术实现步骤摘要】
软件升级方法、装置、电子设备及计算机可读存储介质


[0001]本申请涉及计算机以及移动通信
,具体地,本申请涉及一种软件升级方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]在移动通信领域,终端设备制造商和运营商推出新功能和新业务的周期越来越短,同时软件的版本越来越多而复杂,很多未知的问题在用户的使用过程中不断的出现。为了解决这些问题,给用户带来更好的用户体验,一般由制造商和运营商共同将终端设备的系统软件对应的差分包放置于服务器供终端设备下载,以使终端设备基于该差分包将整个软件的版本进行升级。
[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]本申请实施例所提供的方案,通过响应于终端设备针对目标软件的软件升级请求,确定第二固件中的新增数据和在第一固件中存在相似数据的各第二数据、以及各第二数据与第一固件中的第一数据之间的差分数据;将第二固件划分为多个数据块,并按照各数据块在第二固件中的先后,依次对每个数据块执行以下操作:若数据块对应的第一固件中的第一存储空间中存储有第三数据,则将第一存储空间中的第三数据整体移存到第一空间的空本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件升级方法,其特征在于,包括:响应于终端设备针对目标软件的软件升级请求,确定第二固件中的新增数据和在第一固件中存在相似数据的各第二数据、以及各第二数据与第一固件中的第一数据之间的差分数据;将第二固件划分为多个数据块,并按照各数据块在第二固件中的先后,依次对每个数据块执行以下操作:若数据块对应的第一固件中的第一存储空间中存储有第三数据,则将第一存储空间中的第三数据整体移存到第一空间的空闲区域中;其中,第三数据属于各第一数据中除该数据块对应的相似数据之外的数据,第一空间为服务器中用于存储第一固件的空间;生成每个数据块对应的还原指示信息以及第一数据中存储位置发生过移动的各部分数据的平移控制信息;根据新增数据、各差分数据、各数据块对应的还原指示信息以及各平移控制信息,生成差分包并发送至终端设备,以使终端设备根据差分包和第一固件升级得到第二固件。2.根据权利要求1所述的方法,其特征在于,所述终端设备根据所述差分包和第一固件升级得到第二固件,包括:解析差分包,得到新增数据、各差分数据、各数据块对应的还原指示信息以及各平移控制信息;根据各平移控制信息,确定各平移控制信息在第二空间中对应的移动前的各第一子空间和移动后的第二子空间;其中,所述第二空间为所述终端设备中用于存储所述第一固件的空间;对于每个还原指示信息依次执行以下操作:确定还原一个数据块所需的数据,根据所确定的数据还原得到对应的数据块,并确定该数据块在第二空间中对应的第二存储空间;若该第二存储空间中不包含第一子空间,则将该数据块存储到第二存储空间;若该第二存储空间包含至少一个第一子空间,则根据该至少一个第一子空间对应的平移控制信息,将该至少一个第一子空间中的数据整体移存到该至少一个第一子空间对应的第二子空间中,并将该数据块存储到移除第一子空间后的第二存储空间。3.根据权利要求1或2所述的方法,其特征在于,所述将第一存储空间中的第三数据整体移存到第一空间的空闲区域中,包括:确定所述第三数据所需的存储空间大小;确定第一空间中的各空闲区域的大小;判断第一空间中是否存在大于或等于第三数据所需的存储空间大小的空闲区域,当存在时,将空间最小且大于或等于第三数据所需的存储空间大小的空闲区域确定为目标空间;将所述第三数据整体移存到所述目标空间中。4.根据权利要求3所述的方法,其特征在于,所述将第一存储空间中的第三数据整体移存到第一空间的空闲区域中,还包括:若第一空间中不存在大于或等于第三数据所需的存储空间大小的空闲区域,则将所述第三数据以分片数最小原则进行拆分,并将拆分后的分片数据移存到多个空闲区域中,其
中,所述多个空闲区域的空间大小不小于第三数据所需的存储空间大小。5.根据权利要求1或2所述的方法,其特征在于,将第二固件划分为多个数据块之后,还包括:根据划分结果确定出每个数据块中包括的各目标子数据和/或新增子数据,并确定每个目标子数据各自对应的相似数据和差分数据,其中,目标子数据为第二固件中属于第二数据的数据,新增子数据为第二固件中属于新增数据的数据;所述生成每个数据块对应的还原指示信息,包括:根据每个数据块中包括的各目标子数据和/或新增子数据确定该数据块对应的还原指示信息。6.根据权利要求5所述的方法,其特征在于,所述根据每个数据块中包括的各目标子数据和/或新增子数据确定该数据块对应的还原指示信息,包括:对于每个数据块,若该数据块为目标子数据,则该数据块对应的还原指示信息为第一指示信息;若该数据块为新增子数据,则该数据块对应的还原指示信息为第二指示信息;若该数据块包括目标子数据和新增子数据,则该数据块对应的还原指示信息包括第一指示信息和第二指示信息,其中,第一指示信息用于确定目标子数据对应的相似数据的存储空间,第二指示信息用于从新增数据中确定该数据块对应的新增子数据。7.根据权利要求6所述的方法,其特征在于,所述确定还原一个数据块所需的数据,并根据所确定的数据还原得到对应的数据块,包括:若该数据块对应的还原指示信息为第一指示信息,则根据第一指示信息确定该数据块对应的相似数据的存储空间,根据该存储空间中的相似数据和该相似数据对应的差分数据还原得到该数据块的数据;若该数据块对应的还原指示信息为第二指示信息,则根据第二指示信息从所述新增数据中确定该数据块对应的新增子数据,将该新增子数据确定为该数据块的数据;若该数据块对应的还原指示信息包括第一指示信息和第二指示信息,则根据第一指示信息确定该数据块对应的相似数据的存储空间,并根据该存储空间中的相似数据和该相似数据对应的差分数据还原得到该目标子数据,根据所述第二指示信息得到新增子数据,并根据所述目标子数据和新增子数据得到对应的数据块的数据。8.根据权利要求7所述的方法,其特征在于,对于一个目标子数据,该目标子数据的第一指示信息包括该目标子数据对应的相似数据的存储地址偏移和目标子数据大小,存储地址偏移是指相对于第一空...

【专利技术属性】
技术研发人员:李兴华贾煜涛
申请(专利权)人:广州全盛威信息技术有限公司
类型:发明
国别省市:

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

1