[發(fā)明專利]固件升級(jí)方法、電能表、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)在審
| 申請(qǐng)?zhí)枺?/td> | 202210129315.0 | 申請(qǐng)日: | 2022-02-11 |
| 公開(公告)號(hào): | CN114510256A | 公開(公告)日: | 2022-05-17 |
| 發(fā)明(設(shè)計(jì))人: | 錢波;張平;梁勝民 | 申請(qǐng)(專利權(quán))人: | 杭州明特科技有限公司 |
| 主分類號(hào): | G06F8/658 | 分類號(hào): | G06F8/658;G06F12/02 |
| 代理公司: | 北京維正專利代理有限公司 11508 | 代理人: | 劉美蓮 |
| 地址: | 311100 浙江省杭州市余杭區(qū)*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 升級(jí) 方法 電能表 計(jì)算機(jī) 設(shè)備 存儲(chǔ) 介質(zhì) | ||
本申請(qǐng)涉及一種固件升級(jí)方法、電能表、計(jì)算機(jī)設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。其中,該方法包括:在服務(wù)器生成用于更新第一固件文件的第三固件文件,在進(jìn)行固件升級(jí)時(shí)從存儲(chǔ)空間中自前向后地逐個(gè)讀取第一固件文件和第三固件文件中不屬于待刪除文件塊的文件塊到內(nèi)存空間,并采用與文件塊的類型對(duì)應(yīng)的處理方式進(jìn)行處理得到待拼接文件塊,最后將待拼接文件塊依次拼接到空文件中得到第二固件文件。通過本申請(qǐng),解決了現(xiàn)有的增量更新方式對(duì)內(nèi)存資源的占用大的問題,降低了增量更新對(duì)內(nèi)存資源的占用。
技術(shù)領(lǐng)域
本申請(qǐng)涉及程序更新領(lǐng)域,尤其是涉及一種固件升級(jí)方法、電能表、計(jì)算機(jī)設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù)
設(shè)備的固件升級(jí)采用增量更新方式可以減少服務(wù)器和設(shè)備之間傳輸數(shù)據(jù)量,提高升級(jí)效率。
BSdiff算法是一種被廣泛使用的增量更新算法,該算法包括diff過程和patch過程。diff過程中,服務(wù)器計(jì)算新版本固件與舊版本固件之間的差異,并對(duì)該差異進(jìn)行編碼和壓縮,生成補(bǔ)丁文件。在patch過程中,設(shè)備解壓縮補(bǔ)丁文件中指定的數(shù)據(jù),并按照相應(yīng)的解碼規(guī)則應(yīng)用補(bǔ)丁文件和舊版本固件,從而構(gòu)建出新版本固件。
在diff過程中每次對(duì)固定或者不固定長(zhǎng)度的文件塊進(jìn)行處理,得到一組數(shù)據(jù),這組數(shù)據(jù)包括:diff string(差分文件塊)、extra string(增量文件塊)以及對(duì)應(yīng)的控制信息。因此最后的補(bǔ)丁文件中包含了多組數(shù)據(jù)。在設(shè)備端的patch過程中,一方面需要將一組數(shù)據(jù)讀入到內(nèi)存空間中,基于控制信息還原新版固件文件的某個(gè)片段;一方面,每組數(shù)據(jù)的控制信息中的偏移量信息都是局部的偏移量信息,要得到文件片段在新版固件文件中的偏移量信息還需要占用內(nèi)存資源進(jìn)行額外的計(jì)算,另一方面還需要申請(qǐng)一個(gè)更大的內(nèi)存空間用來存儲(chǔ)新版本固件文件的各個(gè)片段,當(dāng)拼接得到完整的新版固件文件后,再將新版固件文件寫入到存儲(chǔ)空間中。現(xiàn)有的增量更新方法對(duì)設(shè)備的內(nèi)存資源占用較高。
發(fā)明內(nèi)容
本申請(qǐng)?zhí)峁┮环N固件升級(jí)方法、電能表、計(jì)算機(jī)設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),以解決現(xiàn)有的增量更新方式對(duì)內(nèi)存資源的占用大的問題。
第一方面,本申請(qǐng)實(shí)施例提供了一種固件升級(jí)方法,包括:
獲取用于將第一固件文件升級(jí)為第二固件文件的升級(jí)壓縮包;
解壓所述升級(jí)壓縮包,將解壓得到的第三固件文件和控制信息存儲(chǔ)到存儲(chǔ)空間,其中,所述第三固件文件包括差分文件塊和增量文件塊,且所述第三固件文件與所述第二固件文件的長(zhǎng)度相等,所述控制信息包括所述增量文件塊的偏移量信息和待刪除文件塊的偏移量信息,所述存儲(chǔ)空間中還預(yù)先存儲(chǔ)有第一固件文件;
從所述存儲(chǔ)空間中自前向后地逐個(gè)讀取所述第一固件文件和所述第三固件文件中不屬于待刪除文件塊的文件塊至內(nèi)存空間,將所述控制信息讀取至所述內(nèi)存空間;
對(duì)所述文件塊按照文件塊類型和所述控制信息中的偏移量信息確定的處理方式進(jìn)行處理,其中,所述處理方式包括以下之一:將兩個(gè)文件塊合并為待拼接文件塊、選擇所述第三固件文件的文件塊作為待拼接文件塊;
在所述存儲(chǔ)空間創(chuàng)建空文件,并將所述待拼接文件塊依次拼接到所述空文件,得到第二固件文件。
在其中的一些實(shí)施例中,所述內(nèi)存空間包括第一內(nèi)存空間、第二內(nèi)存空間和第三內(nèi)存空間,所述第一內(nèi)存空間用于存放所述第一固件文件的文件塊,所述第二內(nèi)存空間用于存放所述第三固件文件的文件塊,所述第三內(nèi)存空間用于存放所述控制信息中的至少一個(gè)偏移量信息及其對(duì)應(yīng)的文件塊的類型信息;其中,所述第一內(nèi)存空間與所述第二內(nèi)存空間的大小相等且均不小于所述第一固件文件和所述第三固件文件的文件塊的最大值。
在其中的一些實(shí)施例中,讀取到內(nèi)存空間中的兩個(gè)文件塊的大小相等且為固定值。
在其中的一些實(shí)施例中,讀取到內(nèi)存空間中的兩個(gè)文件塊的大小為可變值,該可變值根據(jù)預(yù)先設(shè)置的文件塊的最大值或所述控制信息中的偏移量信息確定。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州明特科技有限公司,未經(jīng)杭州明特科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210129315.0/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種機(jī)頂盒Loader模塊升級(jí)方法及其機(jī)頂盒
- 產(chǎn)品升級(jí)的方法和設(shè)備
- 一種機(jī)頂盒的升級(jí)方法和裝置
- 網(wǎng)絡(luò)設(shè)備升級(jí)方法、升級(jí)服務(wù)器、終端設(shè)備及存儲(chǔ)介質(zhì)
- 無人機(jī)系統(tǒng)中的模塊升級(jí)方法及待升級(jí)模塊
- 一種基于主分結(jié)構(gòu)的應(yīng)用升級(jí)及升級(jí)版本控制方法及系統(tǒng)
- 一種升級(jí)方法及裝置
- 一種終端升級(jí)方法、裝置、終端及存儲(chǔ)介質(zhì)
- 一種車輛升級(jí)方法、裝置、終端及存儲(chǔ)介質(zhì)
- 設(shè)備升級(jí)方法、裝置及服務(wù)器
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 雙桌面遠(yuǎn)程控制系統(tǒng)及方法
- 一種基于網(wǎng)絡(luò)的計(jì)算機(jī)信息檢索系統(tǒng)與方法
- 一種基于網(wǎng)絡(luò)的計(jì)算機(jī)信息檢索系統(tǒng)與方法
- 一種基于網(wǎng)絡(luò)的計(jì)算機(jī)信息檢索系統(tǒng)與方法
- 雙計(jì)算機(jī)系統(tǒng)
- 制導(dǎo)雷達(dá)計(jì)算機(jī)系統(tǒng)
- 一種服務(wù)部署方法及裝置
- 一種計(jì)算機(jī)集成系統(tǒng)及故障自動(dòng)切換方法
- 一種計(jì)算機(jī)信息安全監(jiān)控系統(tǒng)
- 混合型量子計(jì)算機(jī)架構(gòu)及其執(zhí)行計(jì)算任務(wù)的方法





