一种差分固件包的制作方法、固件包的更新方法及装置制造方法及图纸

技术编号:39292704 阅读:7 留言:0更新日期:2023-11-07 11:00
本发明专利技术提供一种差分固件包的制作方法、固件包的更新方法及装置,该方法,包括:获取第一版本的固件包中的第一代码数据和第二版本的固件包中的第二代码数据;其中,所述固件包包括:易变代码区和非易变代码区,所述易变代码区和非易变代码区是根据固件包的代码数据的应用特性划分得到;将所述第二代码数据与所述第一代码数据进行差分处理,得到所述第二代码数据相对于所述第一代码数据的差分信息;将所述差分信息进行压缩处理,得到第二版本的固件包的差分固件包。本发明专利技术中,通过在代码中区分易变代码区和非易变代码区,使得新旧固件版本之间的二进制内容变化范围缩小,新老版本间对应代码块相关性提高,提高差分算法效率,减小差分固件包大小。差分固件包大小。差分固件包大小。

【技术实现步骤摘要】
一种差分固件包的制作方法、固件包的更新方法及装置


[0001]本专利技术涉及嵌入式设备远程升级领域,尤其涉及一种差分固件包的制作方法、固件包的更新方法及装置。

技术介绍

[0002]现有技术中,对于升级包的制作方法,一种是通过直接对芯片固件进行简单差分,压缩,得到了最终的差分固件包,无法解决芯片固件差分时差分效率较低,制作出的差分升级包固件较大问题,也无法解决芯片固件包整体差分,对嵌入式设备RAM(Random Access Memory,随机存取存储器)、ROM(Read

Only Memory,只读存储器)空间要求较大的问题,造成嵌入式设备远程升级过程中,数据传输量太大,使得流量费用高、传输时间长,对RAM、ROM空间要求大,使得设备硬件成本高,给嵌入式设备远程升级带来安全风险和推广阻力;另一种是通过对芯片固件进行简单分割,然后对每个分割单元进行单独差分、压缩,再组合成最终的差分固件包,这种方式会造成新老版本各分割单元间的相关性大大降低,无法有效控制差分包大小,使得实际生成的差分包总大小快速膨胀,不能有效解决ROM、RAM占用大的问题,并且还增大了流量消耗和升级时间。

技术实现思路

[0003]本专利技术实施例提供了一种差分固件包的制作方法、固件包的更新方法及装置,用于解决现有技术中简单差分导致的数据传输量大、差分效率低以及无法解决ROM、RAM占用大的问题。
[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]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种差分固件包的制作方法,其特征在于,包括:获取第一版本的固件包中的第一代码数据和第二版本的固件包中的第二代码数据;其中,所述固件包包括:易变代码区和非易变代码区,所述易变代码区和非易变代码区是根据固件包的代码数据的应用特性划分得到;将所述第二代码数据与所述第一代码数据进行差分处理,得到所述第二代码数据相对于所述第一代码数据的差分信息;将所述差分信息进行压缩处理,得到第二版本的固件包的差分固件包。2.根据权利要求1所述的差分固件包的制作方法,其特征在于,获取第二固件包中的第二代码数据,之前还包括:获取第二固件包的代码数据和所述代码数据的应用特性;根据所述代码数据的应用特性将所述代码数据分为易变代码区和非易变代码区。3.根据权利要求2所述的差分固件包的制作方法,其特征在于,根据所述代码数据的应用特性将所述代码数据分为易变代码区和非易变代码区,之后还包括:根据所述易变代码区中的代码数据的功能模块,对所述易变代码区中的代码数据进行分段,得到多个代码块。4.根据权利要求3所述的差分固件包的制作方法,其特征在于,得到多个代码块,之后还包括:在相邻的两个代码块之间留出预设距离的空隙。5.一种固件包的更新方法,其特征在于,包括:获取第二版本的固件包的差分固件包;所述差分固件包通过以下方式获得:获取第一版本的固件包中的第一代码数据和第二版本的固件包中的第二代码数据;其中,所述固件包包括:易变代码区和非易变代码区,所述易变代码区和非易变代码区是根据固件包的代码数据的应用特性划分得到;将所述第二代码数据与所述第一代码数据进行差分处理,得到所述第二代码数据相对于所述第一代码数据的差分信息;将所述差分信息进行压缩处理,得到第二版本的固件包的差分固件包;解压所述差分固件包,获取所述差分固件包中的差分信息;根据所述差分信息和原始固件包中的代码数据还原出新的固件包;将所述新固件包替换所述原始固件包。6.一种差分固件包的制作装置,其特征在于,包括:第一获取模块,...

【专利技术属性】
技术研发人员:谢刚亮樊超林紫微
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1