System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 差分文件的还原方法及电子设备技术_技高网

差分文件的还原方法及电子设备技术

技术编号:40119783 阅读:10 留言:0更新日期:2024-01-23 20:28
本申请实施例提供了一种差分文件的生成方法、还原方法及电子设备。在该差分文件的生成方法中,服务器侧将每组增量更新数据中包括的Diff数据和Extra数据进行分块划分及压缩处理,并基于得到的各Diff数据压缩分块和各Extra数据压缩分块进行数据编码以生成差分文件。由此,终端侧进行差分文件还原处理时,可以将Diff数据压缩分块或Extra数据压缩分块作为一个独立的差分还原处理单元,使得终端侧的RAM内存消耗更小,进而终端侧能够通过较小的RAM内存空间实现差分数据还原功能。

【技术实现步骤摘要】

本申请涉及智能终端,尤其涉及一种差分文件的生成方法、还原方法及电子设备。


技术介绍

1、为了完善终端设备的功能、增强设备稳定性、修补设备缺陷或漏洞(bug)时,往往需要对终端设备的固件进行升级。

2、目前,通常采用空中下载(over the air,ota)技术对终端设备进行在线固件升级。ota升级方式主要包括整包升级和差分包升级。为了提升升级包传输效率及固件升级效率,终端设备多采用差分包升级方式,也即只针对固件的差异部分进行升级。

3、其中,终端设备采用差分包升级方式进行在线固件升级时,首先需要对差分文件进行还原,而对差分文件的还原操作需要占用ram(random access memory,随机存取存储器)内存。因此,针对ram资源受限的终端设备(例如穿戴式设备等),如何采用差分包升级的方式进行固件升级是需要解决的问题。


技术实现思路

1、为了解决上述技术问题,本申请实施例提供一种差分文件的生成方法、还原方法及电子设备。在本申请实施例中,服务器侧将每组增量更新数据中包括的diff数据和extra数据进行分块划分及压缩处理,并基于得到的各diff数据压缩分块和各extra数据压缩分块进行数据编码以生成差分文件。由此,终端侧进行差分文件还原处理时,可以将diff数据压缩分块或extra数据压缩分块作为一个独立的差分还原处理单元,使得终端侧的ram内存消耗更小,进而终端侧能够通过较小的ram内存空间实现差分数据还原功能。

2、第一方面,本申请实施例提供一种差分文件的生成方法。该方法应用于服务器,包括:服务器端获取基于bsdiff算法生成的增量更新patch数据;其中,patch数据中包括至少一组增量更新数据,每组增量更新数据中包括差异diff数据和/或新增extra数据;针对每组增量更新数据,服务器端将diff数据按照分块尺寸划分,得到至少一个diff数据分块,将extra数据按照分块尺寸划分,得到至少一个extra数据分块,并分别对每个diff数据分块和每个extra数据分块进行数据压缩,生成各diff数据压缩分块和各extra数据压缩分块;其中,分块尺寸是根据电子设备的ram内存空间确定的;服务器端分别对每组增量更新数据中包括的各diff数据压缩分块和各extra数据压缩分块进行数据编码,生成与patch数据对应的差分文件。

3、其中,分块尺寸可以与电子设备可用于差分文件还原的ram内存空间的尺寸确定的。示例性的,针对不同型号的电子设备生成差分文件时,分块尺寸可以采用不同的值。

4、这样,由于差分文件的数据编码是基于diff数据压缩分块和extra数据压缩分块进行的,则电子设备对差分文件进行还原处理时可以将diff数据压缩分块或extra数据压缩分块作为一个独立的差分还原处理单元,使得终端侧的ram内存消耗更小,进而终端侧能够通过较小的ram内存空间实现差分数据还原功能。

5、由此,根据本实施例提供的差分文件的生成方法得到的差分文件,适用于轻量级电子设备进行数据还原处理,也适用于其他可用于差分还原的ram内存空间较小的其他电子设备进行数据还原处理。

6、根据第一方面,当电子设备能够申请m字节ram内存空间用于差分文件还原时,分块尺寸设置为(m-n1-n2*2)/2字节;其中,电子设备在m字节ram内存空间中划分第一ram内存区域、第二ram内存区域、第三ram内存区域、第四ram内存区域和第五ram内存区域;第二ram内存区域和第四ram内存区域分别为第一ram内存区域和第三ram内存区域的安全缓冲区域,安全缓冲区域占用n2字节的ram内存;第五ram内存区域用于运行数据压缩算法,占用n1字节的ram内存;第一ram内存区域和第三ram内存区域均占用(m-n1-n2*2)/2字节的ram内存。

7、这样,服务器端可以根据电子设备的能力灵活调整分块尺寸的大小,提升了差分文件生成方法的适用性。

8、根据第一方面,或者以上第一方面的任意一种实现方式,当电子设备能够申请m字节ram内存空间为m字节用于差分文件还原时,分块尺寸设置为((m-n1)/2-n2)字节;其中,电子设备在m字节ram内存空间中划分第一ram内存区域、第三ram内存区域和第五ram内存区域;第五ram内存区域用于运行数据压缩算法,占用n1字节的ram内存;第一ram内存区域和第三ram内存区域均占用(m-n1)/2字节的ram内存,在(m-n1)/2字节的ram内存中,包括n2字节的安全缓冲区域。

9、这样,服务器端可以根据电子设备的能力灵活调整分块尺寸的大小,提升了差分文件生成方法的适用性。

10、根据第一方面,或者以上第一方面的任意一种实现方式,服务器端将diff数据按照分块尺寸划分,得到至少一个diff数据分块,可以包括:服务器端将diff数据按照分块尺寸划分,得到n1个diff数据分块;其中,在n1个diff数据分块中,前(n1-1)个diff数据分块的尺寸为分块尺寸,第n1个diff数据分块的尺寸小于等于分块尺寸。

11、相应的,服务器端将extra数据按照分块尺寸划分,得到至少一个extra数据分块,可以包括:服务器端将extra数据按照分块尺寸划分,得到n2个diff数据分块;其中,在n2个extra数据分块中,前(n2-1)个diff数据分块的尺寸为分块尺寸,第n2个diff数据分块的尺寸小于等于分块尺寸。

12、根据第一方面,或者以上第一方面的任意一种实现方式,服务器端将diff数据按照分块尺寸划分,得到至少一个diff数据分块,可以包括:服务器端将diff数据按照分块尺寸划分,得到n1个diff数据分块;其中,在n1个diff数据分块中,前(n1-1)个diff数据分块的尺寸为分块尺寸,第n1个diff数据分块的尺寸小于等于分块尺寸,或者第n1个diff数据分块的尺寸大于分块尺寸;当第n1个diff数据分块的尺寸大于分块尺寸时,第n1个diff数据分块的尺寸与分块尺寸的差值,小于安全缓冲区内存尺寸的预设比例。

13、相应的,服务器端将extra数据按照分块尺寸划分,得到至少一个extra数据分块,可以包括:服务器端将extra数据按照分块尺寸划分,得到n2个diff数据分块;其中,在n2个extra数据分块中,前(n2-1)个diff数据分块的尺寸为分块尺寸,第n2个diff数据分块的尺寸小于等于分块尺寸,或者第n2个diff数据分块的尺寸大于分块尺寸;当第n2个extra数据分块的尺寸大于分块尺寸时,第n2个extra数据分块的尺寸与分块尺寸的差值,小于安全缓冲区内存尺寸的预设比例。

14、这样,在对diff数据和extra数据进行分块划分时,允许最后一块数据分块的尺寸略大于分块尺寸,以此避免对较小的一块数据分块进行处理而浪费ram内存资源。而且,由于电子设备进行差分文件还原时,申请的ram内存空间中会包含安全缓冲区,所以超出分块尺寸的一些数据可本文档来自技高网...

【技术保护点】

1.一种差分文件的还原方法,其特征在于,应用于电子设备中,包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求1所述的方法,其特征在于,所述差分文件的头部中填充所述第一分块尺寸;

4.根据权利要求1所述的方法,其特征在于,所述差分文件的头部中填充所述第二分块尺寸;

5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一运算为减运算,所述第二运算为加运算。

6.根据权利要求1所述的方法,其特征在于,所述差分文件的数据结构包括尾部,所述尾部中包括校验字段,所述校验字段的值为升级固件文件的哈希值;

7.根据权利要求1所述的方法,其特征在于,所述差分文件的头部中包括数据压缩块尺寸字段,所述数据压缩块尺寸字段的值用于指示所述差分文件中各个数据压缩分块的尺寸最大值;

8.根据权利要求1所述的方法,其特征在于,所述差分文件的头部中包括数据总长度字段,所述数据总长度字段的值用于指示升级固件文件中的数据总长度;

9.根据权利要求1所述的方法,其特征在于,所述电子设备为穿戴式设备,且所述电子设备的RAM内存空间小于第一预设阈值,或者,

10.一种电子设备,其特征在于,包括:

11.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-9中任一项所述的差分文件的还原方法。

...

【技术特征摘要】

1.一种差分文件的还原方法,其特征在于,应用于电子设备中,包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求1所述的方法,其特征在于,所述差分文件的头部中填充所述第一分块尺寸;

4.根据权利要求1所述的方法,其特征在于,所述差分文件的头部中填充所述第二分块尺寸;

5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一运算为减运算,所述第二运算为加运算。

6.根据权利要求1所述的方法,其特征在于,所述差分文件的数据结构包括尾部,所述尾部中包括校验字段,所述校验字段的值为升级固件文件的哈希值;

7.根据权利要求1所述的方法,其特征在于,所述...

【专利技术属性】
技术研发人员:王艳召张赠辉陈超黄九林
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1