【技术实现步骤摘要】
一种差分数据编码方法、系统和差分升级方法
[0001]本专利技术涉及软件升级和数据压缩
,尤其涉及一种差分数据编码方法、系统和差分升级方法。
技术介绍
[0002]由于差分效果好、运行速度快,广泛应用的开源差分算法Bsdiff已经成为现实意义上的差分编码格式。
[0003]然而Bsdiff的应用前提是使用某种压缩算法,因为它对于新老文件的引用差异使用了简单的减法,得到的差异长度和原来相同,如果不压缩则差分补丁和原始文件大小相同。而某些低端嵌入式设备,比如智能电表和穿戴设备,运行内存非常小,无法支持一般的解压缩算法。并且升级还原时先将Bsdiff的控制数据和差异数据所有的数据全部解压出来,对内存的需求很大,低端嵌入式设备无法应用。
技术实现思路
[0004]基于上述问题,本专利技术提供一种差分数据编码方法、系统和差分升级方法,旨在解决现有Bsdiff编码方式对内存需求大等技术问题。
[0005]一种差分数据编码方法,包括:
[0006]步骤A1,获取新版本软件和旧版本软件之间的差异 ...
【技术保护点】
【技术特征摘要】
1.一种差分数据编码方法,其特征在于,包括:步骤A1,获取新版本软件和旧版本软件之间的差异内容,所述差异内容由若干差异块组成,所述差异块包括差异引用部分和新增部分;步骤A2,通过第一特征参数抽取得到所述差异内容的控制元数据,通过第二特征参数抽取得到所述差异内容的差异数据;所述控制元数据包括每个所述差异块的三元组,所述差异数据包括每个所述差异块的所述差异引用部分的差异信息,所述三元组包括所述差异块的差异引用部分的引用长度、新增部分的新增长度以及跳转至下一个差异块的所述差异引用部分的起始位置的跳转偏移量;步骤A3,将所述三元组的总数写入头部;步骤A4,将所述控制元数据、所述差异数据以及由每个所述差异块的所述新增部分构成的新增数据作为差分数据,根据所述头部和所述差分数据形成差分文件。2.如权利要求1所述的一种差分数据编码方法,其特征在于,在所述步骤A2中,每个所述差异块的所述差异信息包括所述差异引用部分中出现的差异字节序列以及差异位置数据;所述差异位置数据包括:首次出现的所述差异字节序列与所述差异引用部分的起始位置的间距;以及相邻的所述差异字节序列之间的间距。3.如权利要求2所述的一种差分数据编码方法,其特征在于,所述头部指定所述差异位置数据的打包方式;在所述步骤A2中,将所述差异位置数据构成整型数组;在所述步骤A4中,将所述整型数组根据所述头部指定的所述打包方式进行打包。4.如权利要求2所述的一种差分数据编码方法,其特征在于,所述头部指定差分数据的组织方式;在所述步骤A4中,按照所述头部指定的差分数据的组织方式组织所述控制元数据、所述差异数据和所述新增数据形成所述差分文件。5.如权利要求4所述的一种差分数据编码方法,其特征在于,所述头部指定的差分数据的组织方式为平面式;在所述步骤A4中,将所述控制元数据、所述差异数据和所述新增数据三种类型数据按照预定顺序进行组织形成所述差分文件。6.如权利要求4所述的一种差分数据编码方法,其特征在于,所述头部指定的差分数据的组织方式为交织式;在所述步骤A4中,将每个所述差异块的所述三元组、所述差异信息和所述新增数据作为一个基本数据单元,按照所述差异块的顺序组织所述基本数据单元形成...
【专利技术属性】
技术研发人员:孙荣卫,
申请(专利权)人:上海艾拉比智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。