固件分段解压缩的方法和计算设备技术

技术编号:36119348 阅读:58 留言:0更新日期:2022-12-28 14:24
本申请实施例提供一种固件分段解压缩的方法和计算设备,获取压缩固件,对压缩固件中的各个分段压缩包进行解压缩获得各个分段固件,组合各个分段固件形成原始固件,对压缩固件进行解压缩所占用的总数据空间小于压缩固件的数据量加上原始固件的数据量之和。由于在解压缩过程中,每解压缩一段固件释放一段空间,分段固件可以存储于已完成解压缩的分段压缩包释放的空间内,则对压缩固件进行解压缩所占用的总数据空间小于压缩固件的数据量加上原始固件的数据量之和。并且已完成解压缩的分段压缩包和未完成解压缩的分段压缩包所在空间不重合,分段固件不会占用未完成解压的分段压缩包所在空间,从而在安全解压缩的情况下节省存储器空间。省存储器空间。省存储器空间。

【技术实现步骤摘要】
固件分段解压缩的方法和计算设备


[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]当所述原始固件的数据量大于所述第一空间区域的容量,从所述原始固件中划分出第一段固件存储于所述第一空间区域,所述第一段固件的数据量等于所述第一空间区域的容量;
[0036]当所述原始固件除了所述第一段固件后的数据量小于或等于所述第二空间区域的容量,将所述原始固件除了所述第一段固件后的数据存储于所述第二空间区域。
[0037]本实施例提供的固件分段解压缩的方法,原始固件的数据量大于第一空间区域的容量时,从原始本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种固件分段解压缩的方法,其特征在于,包括:获取压缩固件,所述压缩固件包括多个分段压缩包,每个所述分段压缩包对应一段固件;对所述多个分段压缩包进行解压缩,获得多个分段固件,组合所述多个分段固件形成原始固件;其中,对所述压缩固件进行解压缩所占用的总数据空间小于所述压缩固件的数据量加上所述原始固件的数据量之和。2.根据权利要求1所述的方法,其特征在于,所述多个分段压缩包中包括第一压缩包和第二压缩包;所述对所述多个分段压缩包进行解压缩,包括:在第一数据空间中对所述第一压缩包进行解压缩后,释放所述第一压缩包占用的第二数据空间;所述第二压缩包进行解压缩时可占用数据空间为所述第二数据空间加上所述第一数据空间除去所述解压缩后的第一压缩包占用的数据空间;所述第一数据空间的容量小于所述原始固件的数据量。3.根据权利要求2所述的方法,其特征在于,所述第一压缩包的数据量大于或等于所述第二压缩包的数据量。4.根据权利要求1所述的方法,其特征在于,在所述获取压缩固件之前,所述方法还包括:将所述原始固件分为多段固件,分别对所述多段固件中的每段固件进行压缩生成所述多个分段压缩包,组装所述多个分段压缩包生成所述压缩固件。5.根据权利要求4所述的方法,其特征在于,所述组装所述多个分段压缩包生成所述压缩固件之后,所述方法还包括:对所述压缩固件进行签名;所述对所述多个分段压缩包进行解压缩,具体包括:对所述压缩固件的签名进行验证,验证通过后对所述多个分段压缩包进行解压缩。6.根据权利要求4所述的方法,其特征在于,所述将所述原始固件分为多段固件,分别对所述多段固件中的每段固件进行压缩生成所述多个分段压缩包,组装所述多个分段压缩包生成所述压缩固件,具体包括:将所述原始固件分为多段固件,为每段所述原始固件进行标号,分别对所述多段固件中的每段固件进行压缩生成分段压缩包,按照每段原始固件的标号组装各个分段压缩包生成所述压缩固件。7.根据权利要求6所述的方法,其特征在于,所述组合所述多个分段固件形成原始固件,具体包括:按照每个所述分段固件对应的标号依次组合所述多个分段固件形成原始固件。8.根据权利要求7所述的方法,...

【专利技术属性】
技术研发人员:李剑
申请(专利权)人:超聚变数字技术有限公司
类型:发明
国别省市:

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

1