CN116360836B - 数据更新方法、装置、存储介质和电子设备 - Google Patents

数据更新方法、装置、存储介质和电子设备 Download PDF

Info

Publication number
CN116360836B
CN116360836B CN202310621859.3A CN202310621859A CN116360836B CN 116360836 B CN116360836 B CN 116360836B CN 202310621859 A CN202310621859 A CN 202310621859A CN 116360836 B CN116360836 B CN 116360836B
Authority
CN
China
Prior art keywords
data
firmware
target
difference
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310621859.3A
Other languages
English (en)
Other versions
CN116360836A (zh
Inventor
李明星
杨冬强
黄泳
王文义
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Huasu Technology Co ltd
Original Assignee
Hangzhou Huasu Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Huasu Technology Co ltd filed Critical Hangzhou Huasu Technology Co ltd
Priority to CN202310621859.3A priority Critical patent/CN116360836B/zh
Publication of CN116360836A publication Critical patent/CN116360836A/zh
Application granted granted Critical
Publication of CN116360836B publication Critical patent/CN116360836B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

数据更新方法、装置、存储介质和电子设备
技术领域
本公开涉及计算机技术领域,尤其涉及数据更新方法、装置、存储介质和电子设备。
背景技术
在运行内存受限的设备上,现有的固件升级方法,基本都采用的是分段差分的方法,差分效率不高,而对于使用低功耗传输网络通讯升级的嵌入端设备中,例如,窄带物联网(Narrow Band Internet of Things,NB-IoT)或者远距离无线电(Long Range Radio,LoRa),在流量受限、带宽受限的情况下,全量升级浪费流量和数据传输时间,无法适应较低规格的微控值单元(Microcontroller Unit,MCU) 。
发明内容
为了解决上述提出的至少一个技术问题,本公开提出了数据更新方法、装置、存储介质和电子设备。
根据本公开的一方面,提供了一种数据更新方法,其包括:
基于外部存储器获取差分数据,所述差分数据用于指示当前固件数据和新固件数据之间的差异,所述差分数据包括变更数据和至少一组控制数据块,所述控制数据块用于指示整合所述变更数据与当前固件数据所需的控制信息;
基于内存容量和所述至少一组控制数据块中的每一控制数据块,对所述变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据;
基于所述至少一组控制数据块各自对应的局部更新数据生成目标固件数据,所述目标固件数据为所述当前固件数据的更新版本。
在一些可能的实施方式中,所述控制数据块包括差异控制信息和增量控制信息,所述基于内存容量和所述至少一组控制数据块中每一控制数据块,对所述变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据,包括:
针对每一控制数据块,基于所述内存容量确定所述差异控制信息对应的第一占存阈值和所述增量控制信息对应的第二占存阈值;
确定所述变更数据中所述当前控制块数据的差异控制信息对应的第一目标数据和所述增量控制信息对应的第二目标数据;
比较所述第一目标数据的数据占存量与所述第一占存阈值,得到第一比较结果;
比较所述第二目标数据的数据占存量与所述第二占存阈值,得到第二比较结果;
基于所述第一比较结果进行所述第一目标数据的融合,以及基于所述第二比较结果进行所述第二目标数据的融合,得到所述每一控制数据块对应的局部更新数据。
在一些可能的实施方式中,所述局部更新数据包括局部差异数据,若所述第一比较结果为所述第一目标数据的数据占存量大于等于所述第一占存阈值,所述基于所述第一比较结果进行所述第一目标数据的融合包括:
确定所述当前固件数据中所述差异控制信息对应的待融合数据;
以所述第一占存阈值为所述第一目标数据和所述待融合数据对应的单次数据处理量上限,对所述第一目标数据和所述待融合数据进行批次融合处理,得到多个批次各自对应的融合分量数据;
将各所述融合分量数据存储至外部存储器,得到所述每一控制数据块中所述差异控制信息对应的局部差异数据。
在一些可能的实施方式中,所述局部更新数据包括局部新增数据,若所述第二比较结果为所述第二目标数据的数据占存量大于等于所述第二占存阈值,所述基于所述第二比较结果进行所述第二目标数据的融合包括:
以所述第二占存阈值为所述第二目标数据对应的单次数据处理量上限,对所述第二目标数据进行批次分割处理,得到多个批次各自对应的新增分量数据;
将各所述新增分量数据存储至外部存储器,得到所述每一控制数据块中所述新增控制信息对应的局部新增数据。
在一些可能的实施方式中,所述局部更新数据包括局部差异数据,若所述第一比较结果为所述第一目标数据的数据占存量小于所述第一占存阈值,所述基于所述第一比较结果进行所述第一目标数据的融合包括:
确定所述当前固件数据中所述差异控制信息对应的待融合数据;
将所述第一目标数据和所述待融合数据进行单次融合处理,得到单次处理对应的融合分量数据;
将所述融合分量数据存储至外部存储器,得到所述每一控制数据块中所述差异控制信息对应的局部差异数据。
在一些可能的实施方式中,所述局部更新数据包括局部新增数据,所述局部更新数据包括局部新增数据,若所述第二比较结果为所述第二目标数据的数据占存量小于所述第二占存阈值,所述基于所述第二比较结果进行所述第二目标数据的融合包括:
对所述第二目标数据进行一次分割处理,得到单次处理对应的新增分量数据;
将所述新增分量数据存储至外部存储器,得到所述每一控制数据块中所述新增控制信息对应的局部新增数据。
在一些可能的实施方式中,在所述基于外部存储器获取差分数据之前,所述方法还包括:
获取至少一个固件差分子包,所述固件差分子包是基于内存容量对根据旧固件数据和新固件数据进行差异分析得到的差分文件进行切割并压缩得到的;
解压所述至少一个固件差分子包,得到差分数据。
在一些可能的实施方式中,在所述基于所述至少一组控制数据块各自对应的局部更新数据生成目标固件数据之后,所述方法还包括:
将所述目标固件数据进行正确性验证;
若验证通过,基于所述目标固件数据更新所述本地固件数据。
根据本公开的第二方面,提供数据更新装置,所述装置包括:
差分数据获取模块,用于基于外部存储器获取差分数据,所述差分数据用于指示当前固件数据和新固件数据之间的差异,所述差分数据包括变更数据和至少一组控制数据块,所述控制数据块用于指示整合所述变更数据与当前固件数据所需的控制信息;
局部更新数据确定模块,用于基于内存容量和所述至少一组控制数据块中每一控制数据块,对所述变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据;
目标固件数据生成模块,用于基于所述至少一组控制数据块各自对应的局部更新数据生成目标固件数据,所述目标固件数据为所述当前固件数据的更新版本。
根据本公开的第三方面,提供了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面中任意一项所述的数据更新方法。
根据本公开的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如第一方面中任意一项所述的数据更新方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
实施本公开,具有如下有益效果:
基于外部存储器获取差分数据,差分数据用于指示当前固件数据和新固件数据之间的差异,差分数据包括变更数据和至少一组控制数据块,控制数据块用于指示整合变更数据与当前固件数据所需的控制信息;基于内存容量和至少一组控制数据块中的每一控制数据块,对变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据;根据运行内存的内存容量对差分数据中的变更数据进行分批次处理,防止运行内存超荷运行,或因数据量较大无法升级的情况。基于至少一组控制数据块各自对应的局部更新数据生成目标固件数据,目标固件数据为当前固件数据的更新版本,能达到节省数据升级流量和数据传输时间。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1示出根据本公开实施例的一种数据更新方法的流程示意图;
图2示出根据本公开实施例的局部更新数据确定方法的流程示意图;
图3示出根据本公开实施例的局部差异数据分量确定方法的流程示意图;
图4示出根据本公开实施例的局部新增数据分量确定方法的流程示意图;
图5示出根据本公开实施例的局部差异数据单次确定方法的流程示意图;
图6示出根据本公开实施例的局部新增数据单次确定方法的流程示意图;
图7示出根据本公开实施例的差分数据确定方法的流程示意图;
图8示出根据本公开实施例的本地固件数据更新方法的流程示意图;
图9示出根据本公开实施例的固件差分子包生成方法的流程示意图;
图10示出根据本公开实施例的目标固件数据生成方法的流程示意图;
图11示出根据本公开实施例的差异还原方法的流程示意图;
图12示出根据本公开实施例的一种数据更新装置的结构示意图;
图13示出根据本公开实施例的一种电子设备的框图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开实施例的一种数据更新方法的流程示意图,如图1所示,上述方法包括:
S101、基于外部存储器获取差分数据,差分数据用于指示当前固件数据和新固件数据之间的差异,差分数据包括变更数据和至少一组控制数据块,控制数据块用于指示整合变更数据与当前固件数据所需的控制信息;
本公开的执行主体可以为嵌入端设备,外部存储器可以为嵌入端设备的辅助存储器,用于存放当前暂未运行处理使用的数据或程序;外部存储器包括执行代码区域和备份区域。变更数据用于表征当前固件数据和新固件数据之间的差异数据和新增数据。控制数据块包括差异控制信息、增量控制信息和偏移字节信息,差异控制信息用于指向将当前固件数据和差异数据中的指定字节进行加运算,增量控制信息用于指向将新增数据中指定字节插入新固件数据中,偏移字节信息用于指向在旧固件数据中向指定方向移动指定字节。
在一些实施例中,外部存储器可以为非易失性存储器flash。嵌入端设备的外部存储器(Microcontroller Unit,MCU)用于存储差分数据,差分数据包括变更数据和至少一组控制数据块(ctrl block),变更数据包括差异数据(diff block)和新增数据(extrablock),差异数据用于表征当前固件数据和新固件数据之间字节的差值,新增数据用于表征新固件数据中新生成的字节值。
S102、基于内存容量和至少一组控制数据块中的每一控制数据块,对变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据;
内存容量用于表征嵌入端设备的MCU运行的主存储器的存储容量;根据内存容量、每一控制数据块中差异控制信息和增量控制信息指向数据量的大小,对变更数据和本地固件数据进行多次分量融合处理,每次分量处理的数据存储至外部存储器的备份区域,最终得到每一控制数据块对应的局部更新数据。
在一些实施例中,主存储器可以为随机存取存储器ram存储器。若某一控制数据块中差异控制信息指向数据量的大小大于内存容量的一半,将变更数据中差异控制信息指向的数据与本地固件数据进行多次融合处理,得到每一控制数据块的差异控制信息对应的局部差异数据,若某一控制数据块中新增控制信息指向数据量的大小大于内存容量,将变更数据中新增控制信息指向的数据进行多次处理,得到每一控制数据块的新增控制信息对应的局部新增数据。
S103、基于至少一组控制数据块各自对应的局部更新数据生成目标固件数据,目标固件数据为当前固件数据的更新版本。
将差分数据中所有控制数据块依序处理完成后,基于所有控制块数据各自对应的局部更新数据得到完整的目标固件数据。
在一些实施例中,依次将差分数据中的所有控制数据块(ctrl block)分量执行并存储至外部存储器的备份区域,得到备份区域中完整的目标固件数据。
上述技术方案,根据运行内存的内存容量对差分数据中的变更数据进行分批次处理,防止嵌入端设备的运行内存超荷运行,或因数据量较大无法升级的情况。差分升级能达到节省数据升级流量和数据传输时间。
请参阅图2,在一些实施例中,控制数据块包括差异控制信息、增量控制信息旧文件偏移信息,控制数据块可以包括第一数量x、第二数量y以及第三数量z;基于内存容量和至少一组控制数据块中每一控制数据块,对变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据,包括:
S1021、针对每一控制数据块,基于内存容量确定差异控制信息对应的第一占存阈值和增量控制信息对应的第二占存阈值;
S1022、确定变更数据中当前控制块数据的差异控制信息对应的第一目标数据和增量控制信息对应的第二目标数据;
S1023、比较第一目标数据的数据占存量与第一占存阈值,得到第一比较结果;
S1024、比较第二目标数据的数据占存量与第二占存阈值,得到第二比较结果;
S1025、基于第一比较结果进行第一目标数据的融合,以及基于第二比较结果进行第二目标数据的融合,得到每一控制数据块对应的局部更新数据。
第一占存阈值用于表征嵌入端设备的MCU一次处理差异控制信息对应的数据的最大数据量;第二占存阈值用于表征嵌入端设备的MCU一次处理新增控制信息对应的数据的最大数据量;第一占存阈值和第二占存阈值可以为同一阈值确定变更数据的差异数据中,差异控制信息对应的第一目标数据,比较第一目标数据的数据占存量与第一占存阈值,得到第一比较结果,基于第一比较结果将第一目标数据和当前固件数据进行分量融合处理,并将每次处理结果存储至外部存储器的备份区域;确定变更数据的新增数据中,新增控制信息对应的第二目标数据,比较第二目标数据的数据占存量与第二占存阈值,得到第二比较结果,基于第二比较结果将第二目标数据进行分量处理,并将每次处理结果存储至外部存储器的备份区域,将每一控制数据块(ctrl block)处理完成后,得到每一数据控制块对应的局部更新数据。
在一些实施例中,第一占存阈值和第二占存阈值可以为同一个占存阈值。
基于内存容量和至少一组控制数据块中每一控制数据块,对变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据,包括:
针对每一控制数据块,基于所述内存容量确定所述变更数据对应的占存阈值,占存阈值用于表征所述分量融合处理所需的内存容量上限:
确定变更数据中差异控制信息对应的第一目标数据和变更数据中增量控制信息对应的第二目标数据;
若第一目标数据或第二目标数据的占存量大于占存阈值,以占存阈值为最大的单次数据处理量,对第一目标数据和第二目标数据分别进行分量处理,以与所述当前固件数据进行分量融合,得到所述每一控制数据块对应的局部更新数据。
在一些实施例中,差异控制信息包括第一数量x,新增控制信息包括第二数量y;控制数据块还包括旧文件偏移信息,旧文件偏移信息包括第三数量z;差异控制信息用于指向将当前固件数据中的第一数量x个字节和差异数据中的第一数量x个字节进行加运算,增量控制信息用于指向将新增数据中第二数量y个字节插入新固件数据中,偏移字节信息用于指向在旧固件数据中向指定方向移动第三数量z个字节。
在一些实施例中,第一占存阈值和第二占存阈值可以为主存储器ram的最大存储容量maxsize的一半,主存储器ram的空间可平分为两部分,一部分用于拷贝变更数据,另一部分用于生成文件的缓存。确定变更数据的差异数据中第一数量x对应的数据为第一目标数据,第一数量x可以为第一目标数据的数据占存量,比较第一数量x和第一占存阈值的大小,得到第一比较结果,基于第一比较结果对第一目标数据进行分量融合处理;确定变更数据的新增数据中第二数量y对应的数据为第二目标数据,第二数量y可以为第一目标数据的数据占存量,比较第二数量y和第二占存阈值/>的大小,得到第二比较结果,基于第二比较结果对第二目标数据进行分量处理。
上述技术方案,针对每一控制数据块,基于内存容量处理相应的数据,解决了在主存储器ram存储空间受限的设备升级时,设备升级数据过大时无法升级的情况。
请参阅图3,在一些实施例中,局部更新数据包括局部差异数据,若第一比较结果为第一目标数据的数据占存量大于等于第一占存阈值,基于第一比较结果进行第一目标数据的融合包括:
S102511、确定当前固件数据中差异控制信息对应的待融合数据;
S102512、以第一占存阈值为第一目标数据和待融合数据对应的单次数据处理量上限,对第一目标数据和待融合数据进行批次融合处理,得到多个批次各自对应的融合分量数据;
S102513、将各融合分量数据存储至外部存储器,得到每一控制数据块中差异控制信息对应的局部差异数据。
在一些实施例中,基于偏移地址对差分数据中控制数据块(ctrl block)依序进行处理。若第一比较结果为第一目标数据的数据占存量大于等于第一占存阈值,即第一目标数据的数量量大于主存储器的数据量处理能力,将第一目标数据分为一个或多个第一占存阈值对应的数据量进行多批次处理,若最后剩余的第一目标数据的数据占存量小于第一占存阈值,将最后剩余的第一目标数据进行一次融合处理,将每批次的处理结果存储至外部存储器的备份区域,最后,得到每一控制数据块中差异控制信息对应的局部差异数据。
在一些实施例中,若第一比较结果为第一目标数据的数据占存量大于等于第一占存阈值,即差异控制信息中第一数量x的值大于等于第一占存阈值,获取第一目标数据中第一占存阈值大小的数据量,作为第一待处理数据,将第一待处理数据和待融合数据中第一占存阈值大小的数据量进行融合处理,得到第一处理结果,存储至外部存储器的备份区域;第一目标数据对应的数据占存量减少第一占存阈值;继续判断剩下的第一目标数据的数据占存量是否大于等于第一占存阈值,若剩下的第一目标数据的数据占存量大于或等于第一占存阈值,继续获取剩下的第一目标数据中第一占存阈值大小的数据量,作为第二待处理数据,将第二待处理数据和待融合数据中相应的第一占存阈值大小的数据进行融合处理,得到第二处理结果;若剩下的第一目标数据的数据占存量小于第一占存阈值,获取剩下的全部第一目标数据,作为第三待处理数据,将第三待处理数据和待融合数据中相应的数据进行融合处理,直至处理完所有的第一目标数据,基于所有的分量处理结果,得到控制数据块中差异控制信息对应的局部差异数据。
上述技术方案,针对控制数据块(ctrl block)中差异控制信息对应的数据量进行分批次处理,减少主存储器的运行时的数据存储量。
请参阅图4,在一些实施例中,局部更新数据包括局部新增数据,若第二比较结果为第二目标数据的数据占存量大于等于第二占存阈值,基于第二比较结果进行第二目标数据的融合包括:
S102521、以第二占存阈值为第二目标数据对应的单次数据处理量上限,对第二目标数据进行批次分割处理,得到多个批次各自对应的新增分量数据;
S102522、将各新增分量数据存储至外部存储器,得到每一控制数据块中新增控制信息对应的局部新增数据。
在一些实施例中,处理完第一目标数据后,若第二比较结果为第二目标数据的数据占存量大于等于第二占存阈值,即第二目标数据的数量量大于主存储器的数据量处理能力,将第二目标数据分为一个或多个第二占存阈值对应的数据量进行多批次处理,若最后剩余的第二目标数据的数据占存量小于第二占存阈值,将最后剩余的第二目标数据进行一次融合处理,将每批次的处理结果存储至外部存储器的备份区域,最后,得到每一控制数据块中新增控制信息对应的局部新增数据。
在一些实施例中,处理完差异控制信息中第一数量x对应的第一目标数据后,若第二比较结果为第二目标数据的数据占存量大于等于第二占存阈值,即新增控制信息中第二数量y的值大于等于第二占存阈值,获取第二目标数据中第二占存阈值大小的数据量,作为第一待获取数据,获取第一带获取数据并将第一待获取数据存储至外部存储器的备份区域;第二目标数据对应的数据占存量减少第二占存阈值;继续判断剩下的第二目标数据的数据占存量是否大于等于第二占存阈值,若剩下的第二目标数据的数据占存量大于或等于第二占存阈值,继续获取剩下的第二目标数据中第二占存阈值大小的数据量,作为第二待获取数据,获取第二待获取数据并存储至外部存储器的备份区域,若剩下的第二目标数据的数据占存量小于第二占存阈值,获取剩下的全部第二目标数据,作为第三待获取数据,将第三待获取数据存储至外部存储器的备份区域,直至处理完所有的第二目标数据,基于所有的分量处理结果,得到控制数据块中新增控制信息对应的局部新增数据。
上述技术方案,针对控制数据块(ctrl block)中新增控制信息对应的数据量进行分批次处理,减少主存储器的运行时的数据存储量。
请参阅图5,在一些实施例中,局部更新数据包括局部差异数据,若第一比较结果为第一目标数据的数据占存量小于第一占存阈值,基于第一比较结果进行第一目标数据的融合包括:
S102531、确定当前固件数据中差异控制信息对应的待融合数据;
S102532、将第一目标数据和待融合数据进行单次融合处理,得到单次处理对应的融合分量数据;
S102533、将融合分量数据存储至外部存储器,得到每一控制数据块中差异控制信息对应的局部差异数据。
若第一目标数据的数据占存量小于第一占存阈值,将第一目标数据和当前固件数据中差异控制信息对应的待融合数据进行一次性融合处理,并存储至外部存储器,得到每一数据块中差异控制信息对应的局部差异数据。
在一些实施例中,若第一目标数据小于主存储器的内存容量的一半,对第一目标数据进行一次性处理,并将处理结果存储至外部存储器的备份区域。
上述技术方案,确保针对每一控制数据块中差异控制信息对应的差异数据,主存储器处理的数据量不超过主存储器的能力,保证数据的正常更新。
请参阅图6,在一些实施例中,局部更新数据包括局部新增数据,局部更新数据包括局部新增数据,若第二比较结果为第二目标数据的数据占存量小于第二占存阈值,基于第二比较结果进行第二目标数据的融合包括:
S102541、对第二目标数据进行一次分割处理,得到单次处理对应的新增分量数据;
S102542、将新增分量数据存储至外部存储器,得到每一控制数据块中新增控制信息对应的局部新增数据。
若第二目标数据的数据占存量小于第二占存阈值,对第二目标数据进行一次性处理,并存储至外部存储器,得到每一数据块中差异控制信息对应的局部差异数据。
在一些实施例中,若第二目标数据小于主存储器的内存容量的一半,对第二目标数据进行一次性处理,并将处理结果存储至外部存储器的备份区域。
上述技术方案,确保针对每一控制数据块中新增控制信息对应的新增数据,确保主存储器处理的数据量不超过主存储器的能力,保证数据的正常更新。
请参阅图7,在一些实施例中,在基于外部存储器获取差分数据之前,方法还包括:
S201、获取至少一个固件差分子包,固件差分子包是基于内存容量对根据旧固件数据和新固件数据进行差异分析得到的差分文件进行切割并压缩得到的;
S202、解压至少一个固件差分子包,得到差分数据。
在一些实施例中,嵌入端设备的上位机根据旧固件数据和新固件数据进行差异分析,得到差分文件,根据内存容量对差分文件进行拆分,将拆分的所有差分子文件进行压缩处理,并添加数据包头信息,得到固件差分子包。上位机通过传输通道将固件差分子包依次发送至嵌入端设备。
嵌入端设备接收到固件差分子包后,基于接收时序依次解压固件差分子包,并存储至外部存储器的备份区域,得到差分数据。
在一些实施例中,上位机可利用差分算法bsdiff对旧固件数据和新固件数据进行差异分析,得到差异文件。可利用无损压缩库minilzo对拆分的差分子文件进行压缩处理。上位机可通过低功耗蓝牙(BLE)、窄带物联网(Narrow Band Internet of Things, NB-IoT)或远距离无线电(Long Range Radio,LoRa)传输方式传输固件差分子包至嵌入端设备。
上述技术方案,利用差分升级方式,对嵌入端设备进行数据更新,能够节省传输的流量,节约数据传输的时间。
请参阅图8,在一些实施例中,在基于至少一组控制数据块各自对应的局部更新数据生成目标固件数据之后,方法还包括:
S301、将目标固件数据进行正确性验证;
S302、若验证通过,基于目标固件数据更新本地固件数据。
将差分数据中的所有控制数据块处理完成后,基于预设验证方式对外部存储器的备份区域的目标固件数据进行正确性验证,若验证通过,将目标固件数据覆盖到外部存储器的执行代码区域,以使得固件进行升级。
在一些实施例中,利用哈希校验(hash)方式对备份区域的目标固件数据进行验证。
上述技术方案,通过正确性验证,确保数据更新的正确,保证本地固件数据的正确升级。
请参阅图9-图11,在一些实施例中,数据更新的具体实施方式如下:
S1、基于当前固件数据和新固件数据确定差分文件;
上位机通过差分算法bsdiff将当前固件数据和新固件数据进行差异分析,得到差分文件;
S2、基于内存容量拆分差分文件;
上位机通过主存储器的最大的内存容量对差分文件进行拆分,差分子文件;
S3、将差分子文件分别进行压缩处理,并添加包头信息,得到固件差分子包;
S4、通过传输通道将固件差分子包发送至嵌入端设备;
上位机将固件差分子包发送至嵌入端设备后,嵌入端设备进行如下处理:
T1、获取固件差分子包;
T2、依序对固件差分子包进行解压,并存储至外部存储器的备份区域;
将所有的固件差分子包解压存储至外部存储器的备份区域,得到差分数据;
T3、基于差分数据和当前固件数据进行差异还原,得到目标固件数据。
差异还原的具体步骤如下:
F1、基于差分数据的偏移地址确定当前的控制数据块;
差分数据包括至少一个控制数据块、差异数据和新增数据,控制数据块包括包括差异控制信息、增量控制信息旧文件偏移信息,差异控制信息包括第一数量x,新增控制信息包括第二数量y;控制数据块还包括旧文件偏移信息,旧文件偏移信息包括第三数量z;
根据主存储器的最大内容容量,确定差异控制信息对应的第一占存阈值和增量控制信息对应的第二占存阈值;
根据差异控制信息确定差异数据中对应的第一目标数据;
F2、判断第一目标数据的数据占存量是否小于第一占存阈值,若小于执行步骤F4,若大于或等于执行步骤F3;
F3、将第一目标数据中第一占存阈值的数据量与待融合数据中第一占存阈值的数据量进行融合处理并存储至备份区域,更新第一目标数据,重新执行步骤F2;
先处理第一目标数据中第一占存阈值对应的数据大小的数据,将待融合数据中相应的数据进行融合,将融合结果存储至备份区域,此时,第一目标数据中删除处理过的第一占存阈值的数据量的数据,继续对剩余的第一目标数据进行类似判断和处理。
F4、将第一目标数据与当前固件数据的待融合数据进行融合处理;
将数据占存量小于第一占存阈值的第一目标数据直接与当前固件数据中的待融合数据进行一次性融合处理;
F5、将每次处理得到的局部差异数据存储存储至外部存储器的备份区域;
当第一目标数据处理完成后,根据新增控制信息确定新增数据中对应的第二目标数据;
F6、判断控制数据块对应的第二目标数据的数据占存量是否小于第二占存阈值;
第二占存阈值和第一占存阈值可以相同;
F7、将第二目标数据中第二占存阈值的数据量进行处理并存储至备份区域,更新第二目标数据;
获取第二目标数据中第二占存阈值对应的数据量的数据,存储至备份区域,并排除第二目标数据中,已处理的第二占存阈值对应的数据量,重新执行步骤F6;
F8、将数据占存量小于第二占存阈值的第二目标数据进行一次性处理;
F9、得到的局部新增数据存储至外部存储器的备份区域;
F10、基于控制数据块更新当前固件数据的位置信息;
基于控制数据块中的差异控制信息、增量控制信息旧文件偏移信息移动当前固件数据中指针的位置信息;
F11、判断差分数据中的所有的控制数据块是否处理完成,若是,得到目标固件数据,若否,继续执行步骤F1。
上述技术方案,解决了在内存受限的设备升级过程中,设备升级数据过大时无法升级的情况,并且在数据更新过程中节省流量和数据传输时间。
请参阅图12,根据本公开的第二方面,提供数据更新装置,装置包括:
差分数据获取模块10,用于基于外部存储器获取差分数据,差分数据用于指示当前固件数据和新固件数据之间的差异,差分数据包括变更数据和至少一组控制数据块,控制数据块用于指示整合变更数据与当前固件数据所需的控制信息;
局部更新数据确定模块20,用于基于内存容量和至少一组控制数据块中每一控制数据块,对变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据;
目标固件数据生成模块30,用于基于至少一组控制数据块各自对应的局部更新数据生成目标固件数据,目标固件数据为当前固件数据的更新版本。
在一些实施例中,控制数据块包括差异控制信息和增量控制信息,局部更新数据确定模块,包括:
占存阈值确定单元,用于针对每一控制数据块,基于内存容量确定差异控制信息对应的第一占存阈值和增量控制信息对应的第二占存阈值;
目标数据确定单元,用于确定变更数据中当前控制块数据的差异控制信息对应的第一目标数据和增量控制信息对应的第二目标数据;
第一比较单元,用于比较第一目标数据的数据占存量与第一占存阈值,得到第一比较结果;
第二比较单元,用于比较第二目标数据的数据占存量与第二占存阈值,得到第二比较结果;
融合单元,用于基于第一比较结果进行第一目标数据的融合,以及基于第二比较结果进行第二目标数据的融合,得到每一控制数据块对应的局部更新数据。
在一些实施例中,局部更新数据包括局部差异数据,若第一比较结果为第一目标数据的数据占存量大于等于第一占存阈值,融合单元,包括:
第一待融合数据获取单元,用于获取当前固件数据中差异控制信息对应的待融合数据;
多批次融合单元,用于以第一占存阈值为第一目标数据和待融合数据对应的单次数据处理量上限,对第一目标数据和待融合数据进行批次融合处理,得到多个批次各自对应的融合分量数据;
第一局部差异数据获取单元,用于将各融合分量数据存储至外部存储器,得到每一控制数据块中差异控制信息对应的局部差异数据。
在一些实施例中,局部更新数据包括局部新增数据,若第二比较结果为第二目标数据的数据占存量大于等于第二占存阈值,融合单元包括:
多批次分割单元,用于以第二占存阈值为第二目标数据对应的单次数据处理量上限,对第二目标数据进行批次分割处理,得到多个批次各自对应的新增分量数据;
第一局部新增数据确定单元,用于将各新增分量数据存储至外部存储器,得到每一控制数据块中新增控制信息对应的局部新增数据。
在一些实施例中,局部更新数据包括局部差异数据,若第一比较结果为第一目标数据的数据占存量小于第一占存阈值,融合单元包括:
第二待融合数据获取单元,用于获取当前固件数据中差异控制信息对应的待融合数据;
单次融合单元,用于将第一目标数据和待融合数据进行单次融合处理,得到单次处理对应的融合分量数据;
第二局部差异数据获取单元,用于将融合分量数据存储至外部存储器,得到每一控制数据块中差异控制信息对应的局部差异数据。
在一些实施例中,局部更新数据包括局部新增数据,局部更新数据包括局部新增数据,若第二比较结果为第二目标数据的数据占存量小于第二占存阈值,融合单元包括:
单次分割处理单元,用于对第二目标数据进行一次分割处理,得到单次处理对应的新增分量数据;
第二局部新增数据确定单元,用于将新增分量数据存储至外部存储器,得到每一控制数据块中新增控制信息对应的局部新增数据。
在一些实施例中,装置还包括:
固件差分子包获取模块,用于获取至少一个固件差分子包,固件差分子包是基于内存容量对根据旧固件数据和新固件数据进行差异分析得到的差分文件进行切割并压缩得到的;
解压模块,用于解压至少一个固件差分子包,得到差分数据。
在一些实施例中,装置还包括:
验证模块,用于将目标固件数据进行正确性验证;
更新模块,用于若验证通过,基于目标固件数据更新本地固件数据。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本申请实施例提供了一种数据更新设备,该设备可以为终端或服务器,该数据更新设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的数据更新方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置等电子设备中执行。图13是本申请实施例提供的一种数据更新方法的电子设备的硬件结构框图。如图13所示,该电子设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)910(处理器910可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器930,一个或一个以上存储应用程序923或数据922的存储介质920(例如一个或一个以上海量存储设备)。其中,存储器930和存储介质920可以是短暂存储或持久存储。存储在存储介质920的程序可以包括一个或一个以上模块,每个模块可以包括对电子设备中的一系列指令操作。更进一步地,中央处理器910可以设置为与存储介质920通信,在电子设备900上执行存储介质920中的一系列指令操作。电子设备900还可以包括一个或一个以上电源960,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口940,和/或,一个或一个以上操作系统921,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
输入输出接口940可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备900的通信供应商提供的无线网络。在一个实例中,输入输出接口940包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口940可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图13所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备900还可包括比图13中所示更多或者更少的组件,或者具有与图13所示不同的配置。
本申请的实施例还提供了一种计算机可读存储介质,存储介质可设置于电子设备之中以保存用于实现方法实施例中一种数据更新方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的数据更新方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
由上述本申请提供的数据更新方法、装置、设备、终端、服务器、存储介质或计算机程序的实施例可见,本申请基于外部存储器获取差分数据,差分数据用于指示当前固件数据和新固件数据之间的差异,差分数据包括变更数据和至少一组控制数据块,控制数据块用于指示整合变更数据与当前固件数据所需的控制信息;基于内存容量和至少一组控制数据块中的每一控制数据块,对变更数据与本地固件数据进行分量融合处理,得到每一控制数据块对应的局部更新数据;根据运行内存的内存容量对差分数据中的变更数据进行分批次处理,防止运行内存超荷运行,或因数据量较大无法升级的情况。基于至少一组控制数据块各自对应的局部更新数据生成目标固件数据,目标固件数据为当前固件数据的更新版本。能达到节省数据升级流量和数据传输时间。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种数据更新方法,其特征在于,所述方法包括:
获取至少一个固件差分子包,所述固件差分子包是基于内存容量对根据旧固件数据和新固件数据进行差异分析得到的差分文件进行切割并压缩得到的;
解压所述至少一个固件差分子包,得到差分数据;
基于外部存储器获取差分数据,所述差分数据用于指示当前固件数据和新固件数据之间的差异,所述差分数据包括变更数据和至少一组控制数据块,所述控制数据块用于指示整合所述变更数据与当前固件数据所需的控制信息,所述外部存储器包括备份区域和执行代码区域,所述差分数据是基于接收到的所有的固件差分子包依序进行解压并存储至所述备份区域得到的,所述控制数据块包括差异控制信息和增量控制信息;
针对每一控制数据块,基于所述内存容量确定所述差异控制信息对应的第一占存阈值和所述增量控制信息对应的第二占存阈值;
确定所述变更数据中当前控制块数据的差异控制信息对应的第一目标数据和所述增量控制信息对应的第二目标数据;
比较所述第一目标数据的数据占存量与所述第一占存阈值,得到第一比较结果;
比较所述第二目标数据的数据占存量与所述第二占存阈值,得到第二比较结果;
基于所述第一比较结果进行所述第一目标数据的融合,以及基于所述第二比较结果进行所述第二目标数据的融合,得到所述每一控制数据块对应的局部更新数据;
基于所述至少一组控制数据块各自对应的局部更新数据生成目标固件数据,所述目标固件数据为所述当前固件数据的更新版本;
将所述目标固件数据覆盖到所述执行代码区域,以使得固件进行升级。
2.根据权利要求1所述的方法,其特征在于,所述局部更新数据包括局部差异数据,若所述第一比较结果为所述第一目标数据的数据占存量大于等于所述第一占存阈值,所述基于所述第一比较结果进行所述第一目标数据的融合包括:
确定所述当前固件数据中所述差异控制信息对应的待融合数据;
以所述第一占存阈值为所述第一目标数据和所述待融合数据对应的单次数据处理量上限,对所述第一目标数据和所述待融合数据进行批次融合处理,得到多个批次各自对应的融合分量数据;
将各所述融合分量数据存储至外部存储器,得到所述每一控制数据块中所述差异控制信息对应的局部差异数据。
3.根据权利要求1所述的方法,其特征在于,所述局部更新数据包括局部新增数据,若所述第二比较结果为所述第二目标数据的数据占存量大于等于所述第二占存阈值,所述基于所述第二比较结果进行所述第二目标数据的融合包括:
以所述第二占存阈值为所述第二目标数据对应的单次数据处理量上限,对所述第二目标数据进行批次分割处理,得到多个批次各自对应的新增分量数据;
将各所述新增分量数据存储至外部存储器,得到所述每一控制数据块中所述增量控制信息对应的局部新增数据。
4.根据权利要求1所述的方法,其特征在于,所述局部更新数据包括局部差异数据,若所述第一比较结果为所述第一目标数据的数据占存量小于所述第一占存阈值,所述基于所述第一比较结果进行所述第一目标数据的融合包括:
确定所述当前固件数据中所述差异控制信息对应的待融合数据;
将所述第一目标数据和所述待融合数据进行单次融合处理,得到单次处理对应的融合分量数据;
将所述融合分量数据存储至外部存储器,得到所述每一控制数据块中所述差异控制信息对应的局部差异数据。
5.根据权利要求1所述的方法,其特征在于,所述局部更新数据包括局部新增数据,所述局部更新数据包括局部新增数据,若所述第二比较结果为所述第二目标数据的数据占存量小于所述第二占存阈值,所述基于所述第二比较结果进行所述第二目标数据的融合包括:
对所述第二目标数据进行一次分割处理,得到单次处理对应的新增分量数据;
将所述新增分量数据存储至外部存储器,得到所述每一控制数据块中所述增量控制信息对应的局部新增数据。
6.根据权利要求1-5中任意一项所述的方法,其特征在于,在所述基于所述至少一组控制数据块各自对应的局部更新数据生成目标固件数据之后,所述方法还包括:
将所述目标固件数据进行正确性验证;
若验证通过,基于所述目标固件数据更新本地固件数据。
7.一种数据更新装置,其特征在于,所述装置包括:
固件差分子包获取模块,用于获取至少一个固件差分子包,所述固件差分子包是基于内存容量对根据旧固件数据和新固件数据进行差异分析得到的差分文件进行切割并压缩得到的;
解压模块,用于解压所述至少一个固件差分子包,得到差分数据;
差分数据获取模块,用于基于外部存储器获取差分数据,所述差分数据用于指示当前固件数据和新固件数据之间的差异,所述差分数据包括变更数据和至少一组控制数据块,所述控制数据块用于指示整合所述变更数据与当前固件数据所需的控制信息,所述外部存储器包括备份区域和执行代码区域,所述差分数据是基于接收到的所有的固件差分子包依序进行解压并存储至所述备份区域得到的,所述控制数据块包括差异控制信息和增量控制信息;
占存阈值确定模块,用于针对每一控制数据块,基于所述内存容量确定所述差异控制信息对应的第一占存阈值和所述增量控制信息对应的第二占存阈值;
目标数据确定模块,用于确定所述变更数据中当前控制块数据的差异控制信息对应的第一目标数据和所述增量控制信息对应的第二目标数据;
第一比较模块,用于比较所述第一目标数据的数据占存量与所述第一占存阈值,得到第一比较结果;
第二比较模块,用于比较所述第二目标数据的数据占存量与所述第二占存阈值,得到第二比较结果;
融合模块,用于基于所述第一比较结果进行所述第一目标数据的融合,以及基于所述第二比较结果进行所述第二目标数据的融合,得到所述每一控制数据块对应的局部更新数据;
目标固件数据生成模块,用于基于所述至少一组控制数据块各自对应的局部更新数据生成目标固件数据,所述目标固件数据为所述当前固件数据的更新版本;
目标固件数据转移模块,用于将所述目标固件数据覆盖到所述执行代码区域,以使得固件进行升级。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-6中任意一项所述的数据更新方法。
CN202310621859.3A 2023-05-30 2023-05-30 数据更新方法、装置、存储介质和电子设备 Active CN116360836B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310621859.3A CN116360836B (zh) 2023-05-30 2023-05-30 数据更新方法、装置、存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310621859.3A CN116360836B (zh) 2023-05-30 2023-05-30 数据更新方法、装置、存储介质和电子设备

Publications (2)

Publication Number Publication Date
CN116360836A CN116360836A (zh) 2023-06-30
CN116360836B true CN116360836B (zh) 2023-09-05

Family

ID=86941921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310621859.3A Active CN116360836B (zh) 2023-05-30 2023-05-30 数据更新方法、装置、存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN116360836B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113721967A (zh) * 2021-08-30 2021-11-30 苏州磐联集成电路科技股份有限公司 差分包生成方法,差分包生成设备,及升级方法
CN114780128A (zh) * 2022-05-18 2022-07-22 乐鑫信息科技(上海)股份有限公司 嵌入式设备固件更新方法、嵌入式设备及开发端设备
CN115509591A (zh) * 2022-10-10 2022-12-23 浙江工业大学 一种固件差异化热升级方法
CN116028095A (zh) * 2022-06-30 2023-04-28 荣耀终端有限公司 差分文件的生成方法、还原方法及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140351485A1 (en) * 2013-05-23 2014-11-27 Spansion Llc Differential File System for Computer Memory
KR20200089490A (ko) * 2019-01-17 2020-07-27 삼성전자주식회사 펌웨어 업데이트 방법 및 이를 수행하는 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113721967A (zh) * 2021-08-30 2021-11-30 苏州磐联集成电路科技股份有限公司 差分包生成方法,差分包生成设备,及升级方法
CN114780128A (zh) * 2022-05-18 2022-07-22 乐鑫信息科技(上海)股份有限公司 嵌入式设备固件更新方法、嵌入式设备及开发端设备
CN116028095A (zh) * 2022-06-30 2023-04-28 荣耀终端有限公司 差分文件的生成方法、还原方法及电子设备
CN115509591A (zh) * 2022-10-10 2022-12-23 浙江工业大学 一种固件差异化热升级方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
嵌入式设备远程在线升级技术;赵炯;贾培源;李中山;林旺城;;计算机工程(12);全文 *

Also Published As

Publication number Publication date
CN116360836A (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
US8902090B2 (en) Compressing and decompressing signal data
CN111262876B (zh) 基于区块链的数据处理方法、装置、设备以及存储介质
CN109683930B (zh) 空调设备程序升级方法、装置、系统和家电设备
EP3933573B1 (en) Zero differential upgrade method, non-volatile storage medium and electronic device
CN105389177A (zh) 一种软件版本确认方法、装置及系统
US20210329071A1 (en) Techniques for updating files
CN111111214A (zh) 一种游戏存档的处理方法、装置及系统
CN114780128A (zh) 嵌入式设备固件更新方法、嵌入式设备及开发端设备
CN112559462A (zh) 一种数据压缩方法、装置、计算机设备和存储介质
CN116360836B (zh) 数据更新方法、装置、存储介质和电子设备
US9350592B2 (en) Decompressing method and apparatus
CN102612079A (zh) 一种lte-ir接口数据压缩方法及其装置
CN109977675B (zh) 一种开源软件识别方法及装置
CN108880559B (zh) 数据压缩方法、数据解压缩方法、压缩设备及解压缩设备
CN108574947B (zh) 一种物联网测试方法及装置
CN112579141A (zh) 一种嵌入式系统的固件更新方法、装置、设备及存储介质
CN115421745A (zh) 设备远程升级方法、装置、终端及存储介质
CN114356386A (zh) 一种分块差分升级方法、终端设备和计算机可读存储介质
US20100287168A1 (en) Methods for compressing and decompressing mifare applications
WO2012033501A1 (en) Systems and methods for data compression
CN111800248A (zh) 基于虚拟载波数据方式实现的通信方法和装置
CN111367916A (zh) 一种数据存储方法及装置
US20190124180A1 (en) Packet compression and decompression
CN114422499B (zh) 一种文件下载方法、系统及装置
CN114881760B (zh) 基于区块链的数据管理方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant