数据更新方法、装置、存储介质和电子设备制造方法及图纸

技术编号:38106919 阅读:10 留言:0更新日期:2023-07-06 09:29
本公开涉及数据更新方法、装置、存储介质和电子设备。上述数据更新方法包括基于外部存储器获取差分数据,差分数据用于指示当前固件数据和新固件数据之间的差异,差分数据包括变更数据和至少一组控制数据块,控制数据块用于指示整合变更数据与当前固件数据所需的控制信息;基于内存容量和至少一组控制数据块中的每一控制数据块,对变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据;基于至少一组控制数据块各自对应的局部更新数据生成目标固件数据,目标固件数据为当前固件数据的更新版本。本公开可以解决在内存容量受限时,设备升级数据过大而无法升级的问题,能够节省数据传输的流量和时间。能够节省数据传输的流量和时间。能够节省数据传输的流量和时间。

【技术实现步骤摘要】
数据更新方法、装置、存储介质和电子设备


[0001]本公开涉及计算机
,尤其涉及数据更新方法、装置、存储介质和电子设备。

技术介绍

[0002]在运行内存受限的设备上,现有的固件升级方法,基本都采用的是分段差分的方法,差分效率不高,而对于使用低功耗传输网络通讯升级的嵌入端设备中,例如,窄带物联网(Narrow Band Internet of Things,NB

IoT)或者远距离无线电(Long Range Radio,LoRa),在流量受限、带宽受限的情况下,全量升级浪费流量和数据传输时间,无法适应较低规格的微控值单元(Microcontroller Unit,MCU) 。

技术实现思路

[0003]为了解决上述提出的至少一个技术问题,本公开提出了数据更新方法、装置、存储介质和电子设备。
[0004]根据本公开的一方面,提供了一种数据更新方法,其包括:基于外部存储器获取差分数据,所述差分数据用于指示当前固件数据和新固件数据之间的差异,所述差分数据包括变更数据和至少一组控制数据块,所述控制数据块用于指示整合所述变更数据与当前固件数据所需的控制信息;基于内存容量和所述至少一组控制数据块中的每一控制数据块,对所述变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据;基于所述至少一组控制数据块各自对应的局部更新数据生成目标固件数据,所述目标固件数据为所述当前固件数据的更新版本。
[0005]在一些可能的实施方式中,所述控制数据块包括差异控制信息和增量控制信息,所述基于内存容量和所述至少一组控制数据块中每一控制数据块,对所述变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据,包括:针对每一控制数据块,基于所述内存容量确定所述差异控制信息对应的第一占存阈值和所述增量控制信息对应的第二占存阈值;确定所述变更数据中所述当前控制块数据的差异控制信息对应的第一目标数据和所述增量控制信息对应的第二目标数据;比较所述第一目标数据的数据占存量与所述第一占存阈值,得到第一比较结果;比较所述第二目标数据的数据占存量与所述第二占存阈值,得到第二比较结果;基于所述第一比较结果进行所述第一目标数据的融合,以及基于所述第二比较结果进行所述第二目标数据的融合,得到所述每一控制数据块对应的局部更新数据。
[0006]在一些可能的实施方式中,所述局部更新数据包括局部差异数据,若所述第一比较结果为所述第一目标数据的数据占存量大于等于所述第一占存阈值,所述基于所述第一比较结果进行所述第一目标数据的融合包括:
确定所述当前固件数据中所述差异控制信息对应的待融合数据;以所述第一占存阈值为所述第一目标数据和所述待融合数据对应的单次数据处理量上限,对所述第一目标数据和所述待融合数据进行批次融合处理,得到多个批次各自对应的融合分量数据;将各所述融合分量数据存储至外部存储器,得到所述每一控制数据块中所述差异控制信息对应的局部差异数据。
[0007]在一些可能的实施方式中,所述局部更新数据包括局部新增数据,若所述第二比较结果为所述第二目标数据的数据占存量大于等于所述第二占存阈值,所述基于所述第二比较结果进行所述第二目标数据的融合包括:以所述第二占存阈值为所述第二目标数据对应的单次数据处理量上限,对所述第二目标数据进行批次分割处理,得到多个批次各自对应的新增分量数据;将各所述新增分量数据存储至外部存储器,得到所述每一控制数据块中所述新增控制信息对应的局部新增数据。
[0008]在一些可能的实施方式中,所述局部更新数据包括局部差异数据,若所述第一比较结果为所述第一目标数据的数据占存量小于所述第一占存阈值,所述基于所述第一比较结果进行所述第一目标数据的融合包括:确定所述当前固件数据中所述差异控制信息对应的待融合数据;将所述第一目标数据和所述待融合数据进行单次融合处理,得到单次处理对应的融合分量数据;将所述融合分量数据存储至外部存储器,得到所述每一控制数据块中所述差异控制信息对应的局部差异数据。
[0009]在一些可能的实施方式中,所述局部更新数据包括局部新增数据,所述局部更新数据包括局部新增数据,若所述第二比较结果为所述第二目标数据的数据占存量小于所述第二占存阈值,所述基于所述第二比较结果进行所述第二目标数据的融合包括:对所述第二目标数据进行一次分割处理,得到单次处理对应的新增分量数据;将所述新增分量数据存储至外部存储器,得到所述每一控制数据块中所述新增控制信息对应的局部新增数据。
[0010]在一些可能的实施方式中,在所述基于外部存储器获取差分数据之前,所述方法还包括:获取至少一个固件差分子包,所述固件差分子包是基于内存容量对根据旧固件数据和新固件数据进行差异分析得到的差分文件进行切割并压缩得到的;解压所述至少一个固件差分子包,得到差分数据。
[0011]在一些可能的实施方式中,在所述基于所述至少一组控制数据块各自对应的局部更新数据生成目标固件数据之后,所述方法还包括:将所述目标固件数据进行正确性验证;若验证通过,基于所述目标固件数据更新所述本地固件数据。
[0012]根据本公开的第二方面,提供数据更新装置,所述装置包括:差分数据获取模块,用于基于外部存储器获取差分数据,所述差分数据用于指示当前固件数据和新固件数据之间的差异,所述差分数据包括变更数据和至少一组控制数据
块,所述控制数据块用于指示整合所述变更数据与当前固件数据所需的控制信息;局部更新数据确定模块,用于基于内存容量和所述至少一组控制数据块中每一控制数据块,对所述变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据;目标固件数据生成模块,用于基于所述至少一组控制数据块各自对应的局部更新数据生成目标固件数据,所述目标固件数据为所述当前固件数据的更新版本。根据本公开的第三方面,提供了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面中任意一项所述的数据更新方法。
[0013]根据本公开的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如第一方面中任意一项所述的数据更新方法。
[0014]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
[0015]实施本公开,具有如下有益效果:基于外部存储器获取差分数据,差分数据用于指示当前固件数据和新固件数据之间的差异,差分数据包括变更数据和至少一组控制数据块,控制数据块用于指示整合变更数据与当前固件数据所需的控制信息;基于内存容量和至少一组控制数据块中的每一控制数据块,对变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据;根据运行内存的内存容量对差分数据中的变更数据进行分批次处理,防止运行内本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据更新方法,其特征在于,所述方法包括:基于外部存储器获取差分数据,所述差分数据用于指示当前固件数据和新固件数据之间的差异,所述差分数据包括变更数据和至少一组控制数据块,所述控制数据块用于指示整合所述变更数据与当前固件数据所需的控制信息;基于内存容量和所述至少一组控制数据块中的每一控制数据块,对所述变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据;基于所述至少一组控制数据块各自对应的局部更新数据生成目标固件数据,所述目标固件数据为所述当前固件数据的更新版本。2.根据权利要求1所述的方法,其特征在于,所述控制数据块包括差异控制信息和增量控制信息,所述基于内存容量和所述至少一组控制数据块中每一控制数据块,对所述变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据,包括:针对每一控制数据块,基于所述内存容量确定所述差异控制信息对应的第一占存阈值和所述增量控制信息对应的第二占存阈值;确定所述变更数据中所述当前控制块数据的差异控制信息对应的第一目标数据和所述增量控制信息对应的第二目标数据;比较所述第一目标数据的数据占存量与所述第一占存阈值,得到第一比较结果;比较所述第二目标数据的数据占存量与所述第二占存阈值,得到第二比较结果;基于所述第一比较结果进行所述第一目标数据的融合,以及基于所述第二比较结果进行所述第二目标数据的融合,得到所述每一控制数据块对应的局部更新数据。3.根据权利要求2所述的方法,其特征在于,所述局部更新数据包括局部差异数据,若所述第一比较结果为所述第一目标数据的数据占存量大于等于所述第一占存阈值,所述基于所述第一比较结果进行所述第一目标数据的融合包括:确定所述当前固件数据中所述差异控制信息对应的待融合数据;以所述第一占存阈值为所述第一目标数据和所述待融合数据对应的单次数据处理量上限,对所述第一目标数据和所述待融合数据进行批次融合处理,得到多个批次各自对应的融合分量数据;将各所述融合分量数据存储至外部存储器,得到所述每一控制数据块中所述差异控制信息对应的局部差异数据。4.根据权利要求2所述的方法,其特征在于,所述局部更新数据包括局部新增数据,若所述第二比较结果为所述第二目标数据的数据占存量大于等于所述第二占存阈值,所述基于所述第二比较结果进行所述第二目标数据的融合包括:以所述第二占存阈值为所述第二目标数据对应的单次数据处理量上限,对所述第二目标数据进行批次分割处理,得到多个批次各自对应的新增分量数据;将各所述新增分量数据存储至外部存储器,得到所述每一控制数据块中所述新增控制信息对应的局部新增数据。5.根据权利要求2所述...

【专利技术属性】
技术研发人员:李明星杨冬强黄泳王文义
申请(专利权)人:杭州华塑科技股份有限公司
类型:发明
国别省市:

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

1