[發明專利]通信模塊遠程升級方法及系統在審
| 申請號: | 202210413878.2 | 申請日: | 2022-04-20 |
| 公開(公告)號: | CN114518897A | 公開(公告)日: | 2022-05-20 |
| 發明(設計)人: | 尹志斌;甄巖;鄭利斌;陳文彬;霍超;慕迪;趙沖;尚舒野;楊東文 | 申請(專利權)人: | 北京智芯微電子科技有限公司 |
| 主分類號: | G06F8/658 | 分類號: | G06F8/658 |
| 代理公司: | 北京潤平知識產權代理有限公司 11283 | 代理人: | 何智超 |
| 地址: | 100192 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 通信 模塊 遠程 升級 方法 系統 | ||
1.一種通信模塊遠程升級方法,其特征在于,所述方法包括:
響應于升級指令,生成差分升級包;
基于優化后的bsdiff算法,對差分升級包進行操作順序重新排序;
通過重新排序后的差分升級包對通信模塊中的原始固件進行差分升級;
完成差分升級后,判斷升級結果,并在升級結果為升級成功后上報升級完成確認信號。
2.根據權利要求1所述的方法,其特征在于,所述通過重新排序后的差分升級包對通信模塊中的原始固件進行差分升級,包括:
通過重新排序后的差分升級包對通信模塊中的舊版本文件進行直接替換或插入。
3.根據權利要求1所述的方法,其特征在于,所述差分升級包包括:
頭部區域、控制區域、差異數據區域和插入數據區域;
所述頭部區域為差分升級包的身份標識區域;
所述控制區域為差分升級包的屬性信息記錄區域;
所述差異數據區域為待升級的新版本文件區別于舊版本文件的差異數據區域;
所述插入數據區域為待升級的新版本文件區別于舊版本文件的新增數據區域。
4.根據權利要求1所述的方法,其特征在于,所述生成差分升級包,包括:
基于bsdiff算法獲得差分升級包,包括:
讀取升級前的舊版本文件的固件信息,對所述固件信息的后綴進行字典培訓,獲得后綴排序數組;
基于所述后綴排序數組遍歷待升級的新版本文件,定位待升級的新版本文件與升級前的舊版本文件之間完全相同的序列;
以所述完全相同的序列為基準,按固定區域范圍向新版本文件中該基準的兩端進行擴展,每識別到一個與舊版本文件完全不匹配的區域,便對應將該區域存入待升級文件的差分升級包,直至擴展遍歷所有新版本文件,獲得差分升級包。
5.根據權利要求1所述的方法,其特征在于,所述優化后的bsdiff算法為:
依據預設有向圖和拓撲排序,對原始bsdiff算法中的操作順序進行重新排序;所述重新排序的規則為:
先排序無讀寫沖突的操作順序,后排序存在讀寫沖突的操作順序;
對無讀寫沖突的操作順序直接進行對應的操作處理;
對存在讀寫沖突的操作順序增設文件指針控制操作處理。
6.根據權利要求5所述的方法,其特征在于,所述文件指針控制操作處理包括:
確定當前文件指針的所指位置,從該所指位置開始拷貝預設數量的字節至內存中,并在舊版本文件的數據包前增加記錄該所指位置的字段;
基于拷貝的預設數量的字節和所述差分升級包在舊版本文件該所指位置進行相加或插入,完成一次新文件片段更新步驟,并根據文件指針偏移規則進行一次文件指針偏移步驟;
重復所述新文件片段更新步驟和文件指針偏移步驟,直到所述文件指針遍歷文件完成,完成差分升級包操作順序更新。
7.根據權利要求1所述的方法,其特征在于,所述判斷升級結果,包括:
獲取舊版本文件的版本身份信息;
在完成通信模塊升級后,獲取升級完成后的版本文件的身份信息;
對比舊版本文件的身份信息和升級完成后的版本文件的身份信息,若二者不同,判斷升級結果為升級成功。
8.根據權利要求1所述的方法,其特征在于,所述判斷升級結果,包括:
在完成通信模塊升級后,獲取升級完成后的版本文件的身份信息;
對比升級完成后的版本文件的身份信息與預設的新版本文件的身份信息,若二者相同,判斷升級結果為升級成功。
9.根據權利要求1所述的方法,其特征在于,所述方法還包括:
當判斷升級結果為升級失敗時,重新執行差分升級操作;
若重新經過預設次數的差分升級后,依舊判定為升級失敗,則輸出報警信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京智芯微電子科技有限公司,未經北京智芯微電子科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210413878.2/1.html,轉載請聲明來源鉆瓜專利網。





