[发明专利]差分文件生成方法、基于该差分文件的升级方法及系统在审
| 申请号: | 201810005556.8 | 申请日: | 2018-01-03 |
| 公开(公告)号: | CN108279922A | 公开(公告)日: | 2018-07-13 |
| 发明(设计)人: | 葛文韬;李小禄 | 申请(专利权)人: | 深圳市泰比特科技有限公司 |
| 主分类号: | G06F8/658 | 分类号: | G06F8/658 |
| 代理公司: | 深圳市科吉华烽知识产权事务所(普通合伙) 44248 | 代理人: | 赵雪佳 |
| 地址: | 518000 广东省深圳市南山区南山街道科*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 差分文件 升级文件 匹配区 升级 数据段 差分算法 高度压缩 固件升级 建立索引 文件描述 终端升级 分文件 可重用 下载 搜索 消耗 压缩 合并 分析 | ||
本发明提供一种差分文件生成方法、基于该差分文件的升级方法及系统,属于终端升级技术领域。本发明差分文件生成方法包括:对旧升级文件建立索引,用于搜索可重用的数据段;分析新升级文件和旧升级文件,获取新旧升级文件的完全匹配区;以完全匹配区为间隔,以设定的差异为基准,向左右各扩展一定比例内容相近的区域,并与完全匹配区一起,合并计入DIFF区,其他的部分计入EXTRA区;生成差分文件:所述差分文件包括文件描述头和压缩后的三个数据段。本发明还提供一种基于所述差分文件的升级方法及系统。本发明的有益效果为:采用高度压缩的差分算法,只需下载差异部分,即可完成固件升级,降低了升级流量消耗,大大加快了升级速度。
技术领域
本发明涉及终端升级技术,尤其涉及一种差分文件生成方法,还涉及一种基于所述差分文件的升级方法及系统。
背景技术
在嵌入式项目开发过程中,往往无法一次达到最终设计目标,需要在运行过程中不断修复BUG或增加一些新的功能,因此不可避免要进行在线的升级。然而,受限于成本考虑,嵌入式软硬件环境不可能很强大,传统的升级方案需要对固件做完整备份,需要的程序存储空间往往超出了系统容量限制,不得不选择更加高端的CPU,大大增加了硬件成本;大多数应用环境下网速较慢,流量费用较高,执行完整升级时下载固件耗费时间较久,对业务本身会造成比较大的影响。
现有技术中,软件新老版本间的差异主要是代码或数据的变化,差异信息的大小通常远小于新版本软件的大小,但是由于编译器的优化因素,代码或数据段可能会发生移位或有着极小但大量且分散的差异,因此差分算法需要解决2个主要问题:一是如何高效的在老版本文件中寻找尽可能多的可用于构造新文件版本文件的数据段,二是如何尽可能缩减描述由老版本文件转换为新版本文件需要的字节数。
目前市面上主流的差分算法大致分为三类:
从上表可以看出,DicDiff在压缩率方面有较大的优势,使用后缀排序算法进行数据匹配,能够高效的找出尽可能多的旧数据重用,然而在实际的嵌入式应用中,代码的升级改动往往会引入大量不连续的微小变化,如图1所示,使之难以产生大断连续的可重用数据段,因此,基于完全匹配的DicDiff算法难以获得令人满意的效果。
发明内容
为解决现有技术中的问题,本发明提供一种差分文件生成方法,还提供一种基于所述差分文件的升级方法及系统,最大限度利用原有固件内容,只需要下载新老升级文件的差异部分,即可执行差异更新,生成正确的新固件,达到升级的目的。
本发明差分文件生成方法如下步骤:
A:对旧升级文件建立索引,用于搜索可重用的数据段;
B:分析新升级文件和旧升级文件:从头扫描新升级文件,并在老升级文件中搜索可重用的数据段,获取新旧升级文件的完全匹配区;
C:对新旧升级文件分区:以完全匹配区为间隔,以设定差异为基准,向左右各扩展一定比例内容相近的区域,并与完全匹配区一起,合并计入DIFF区,其他的部分计入EXTRA区;D:生成差分文件:所述差分文件包括文件描述头和压缩后的三个数据段,所述三个数据段分别为:
CTRL区:存储差分及插入操作的起始地址与长度的命令字;
DIFF区:存储差分串,所述差分串由新旧升级文件的DIFF区相减所得;
EXTRA区:步骤C中新升级文件的EXTRA区。
本发明作进一步改进,在步骤A中,采用快速后缀排序算法,快速构造旧升级文件数据段的后缀数组和名次数组,通过这两个数组可以快速匹配出新老升级文件可以共用的部分。
本发明作进一步改进,在步骤B中,完全匹配区的可重用的数据段需要满足以下条件:
(1)可重用的数据段要达到一定长度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市泰比特科技有限公司,未经深圳市泰比特科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810005556.8/2.html,转载请声明来源钻瓜专利网。





