[發明專利]差分文件生成方法、基于該差分文件的升級方法及系統在審
| 申請號: | 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.szxzyx.cn/pat/books/201810005556.8/2.html,轉載請聲明來源鉆瓜專利網。





