[發(fā)明專利]一種設(shè)備固件空中升級的方法有效
| 申請?zhí)枺?/td> | 201710377054.3 | 申請日: | 2017-05-25 |
| 公開(公告)號: | CN107015817B | 公開(公告)日: | 2021-06-01 |
| 發(fā)明(設(shè)計)人: | 姜濤;孫志東;陳鵬 | 申請(專利權(quán))人: | 北京君泊網(wǎng)絡(luò)科技有限責(zé)任公司 |
| 主分類號: | G06F8/65 | 分類號: | G06F8/65;G06F8/71;G06F8/73 |
| 代理公司: | 北京君泊知識產(chǎn)權(quán)代理有限公司 11496 | 代理人: | 王程遠(yuǎn) |
| 地址: | 100083 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 設(shè)備 空中 升級 方法 | ||
1.一種設(shè)備固件空中升級的方法,其特征在于,服務(wù)器端對單個設(shè)備的多個獨立器件的升級文件進(jìn)行打包投遞,實現(xiàn)對多個獨立器件執(zhí)行共同升級,該方法包括:
步驟1,準(zhǔn)備數(shù)據(jù):服務(wù)器端確定設(shè)備的升級區(qū)域,包括需要升級的升級器件及升級器件指定的升級存儲區(qū)塊,所述服務(wù)器端根據(jù)升級區(qū)域制定待升級更新的數(shù)據(jù);
其中,步驟1具體包括:
步驟101,服務(wù)器端確定設(shè)備的升級器件及每個升級器件指定的升級存儲區(qū)塊;其中,設(shè)備開發(fā)時,對每個器件使用的存儲區(qū)塊進(jìn)行分塊,其中,部分字節(jié)用于基礎(chǔ)模塊組件,部分字節(jié)用于第一應(yīng)用程序組件,部分字節(jié)用于第二應(yīng)用程序組件,部分字節(jié)用于第三應(yīng)用程序組件,依次類推,當(dāng)某一應(yīng)用程序組件即某個升級器件的某一存儲區(qū)塊需要升級時,升級該應(yīng)用程序組件對應(yīng)的字節(jié)塊即可;
步驟102,針對每個升級器件判斷該升級器件的升級存儲區(qū)塊是否需要壓縮;
步驟103,對需要壓縮的升級存儲區(qū)塊進(jìn)行游程編碼壓縮;
步驟2,數(shù)據(jù)打包:針對每個升級器件,所述服務(wù)器端計算該升級器件的升級內(nèi)容的大小,并指定起始地址偏移量和指定長度,確定每個升級器件的固件長度,得到整體固件長度,同時,所述服務(wù)器端將所述整體固件長度生成CRC32校驗值;
步驟3,生成升級會話ID:所述服務(wù)器端按照時間戳和目標(biāo)設(shè)備的ID隨機(jī)生成一個固件升級會話ID;
步驟4,通知設(shè)備升級開始:所述服務(wù)器端通知所述設(shè)備開始固件升級會話,所述設(shè)備應(yīng)答所述服務(wù)器端后,開始進(jìn)入固件升級會話,若所述設(shè)備未進(jìn)行響應(yīng),則本次固件升級會話失??;
步驟5,升級包傳輸:所述服務(wù)器端將所述整體固件長度的字節(jié)投遞給所述設(shè)備,并按照1024字節(jié)一個幀段依次傳輸,所述設(shè)備每收到一個幀段,所述設(shè)備主動響應(yīng),當(dāng)所述設(shè)備收到所述整體固件長度的所有字節(jié),即全部的固件升級文件后確定傳輸完畢,否則所述服務(wù)器端按照指數(shù)退避算法進(jìn)行多次延時重傳,直到所述設(shè)備響應(yīng)為止,如果所述設(shè)備一直不響應(yīng),則本次固件升級會話失??;
步驟6,設(shè)備校驗:所述設(shè)備接收完全部的固件升級文件后,所述設(shè)備對所述整體固件長度的字節(jié)執(zhí)行CRC32正確性校驗,并與步驟2中所述服務(wù)器端生成的CRC32校驗值進(jìn)行比較,如果與步驟2中所述服務(wù)器端生成的CRC32校驗值相等,則正確性校驗通過,否則正確性校驗失敗,本次固件升級會話失?。?/p>
步驟7,設(shè)備升級:所述設(shè)備按照步驟2中所述服務(wù)器端的固件長度生成規(guī)則解析所述整體固件長度的字節(jié),并將解析后的內(nèi)容寫入升級固件存儲區(qū)域,所述設(shè)備重啟后從新的固件存儲區(qū)域引導(dǎo),如果引導(dǎo)成功則本次固件升級會話成功,如果引導(dǎo)失敗則所述設(shè)備從舊的固件存儲區(qū)域引導(dǎo),本次固件升級會話失敗,其中,新的固件存儲區(qū)域為解析后的內(nèi)容寫入之后的固件存儲區(qū)域,舊的固件存儲區(qū)域為解析后的內(nèi)容寫入之前的固件存儲區(qū)域。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,對每個器件的存儲區(qū)塊進(jìn)行分塊時,總字節(jié)數(shù)是T,分配B字節(jié)用于基礎(chǔ)模塊組件,分配A1字節(jié)用于第一個應(yīng)用程序組件,分配A2字節(jié)用于第二個應(yīng)用程序組件,依次類推,分配Ai字節(jié)用于第i個應(yīng)用程序組件,當(dāng)?shù)趈個應(yīng)用程序組件需要升級、且升級后的大小不超過Aj字節(jié)時,升級[B+(A1+A2+...+Aj-1),B+(A1+A2+...+Aj)]偏移量的字節(jié)塊即可,否則需升級[B+(A1+A2+...+Aj-1),T]偏移量的字節(jié)塊。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟102中判斷升級存儲區(qū)塊是否需要壓縮的標(biāo)準(zhǔn)為:對升級存儲區(qū)塊執(zhí)行游程編碼壓縮,如果編碼后的字節(jié)數(shù)比無編碼的字節(jié)數(shù)小5%及以上,則采取游程編碼,否則采取無編碼。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟2中,每個升級器件的固件長度為:升級內(nèi)容大小+升級器件ID開銷+指定起始地址偏移量和指定長度,所述整體固件長度為多個升級器件的固件長度之和。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟5中,所述服務(wù)器端按照指數(shù)退避算法進(jìn)行多次延時重傳的方法為:所述服務(wù)器端按照3s、6s、12s、24s、48s、96s的退避延時方式重傳6次直到所述設(shè)備響應(yīng)為止。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京君泊網(wǎng)絡(luò)科技有限責(zé)任公司,未經(jīng)北京君泊網(wǎng)絡(luò)科技有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710377054.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 傳感設(shè)備、檢索設(shè)備和中繼設(shè)備
- 簽名設(shè)備、檢驗設(shè)備、驗證設(shè)備、加密設(shè)備及解密設(shè)備
- 色彩調(diào)整設(shè)備、顯示設(shè)備、打印設(shè)備、圖像處理設(shè)備
- 驅(qū)動設(shè)備、定影設(shè)備和成像設(shè)備
- 發(fā)送設(shè)備、中繼設(shè)備和接收設(shè)備
- 定點設(shè)備、接口設(shè)備和顯示設(shè)備
- 傳輸設(shè)備、DP源設(shè)備、接收設(shè)備以及DP接受設(shè)備
- 設(shè)備綁定方法、設(shè)備、終端設(shè)備以及網(wǎng)絡(luò)側(cè)設(shè)備
- 設(shè)備、主設(shè)備及從設(shè)備
- 設(shè)備向設(shè)備轉(zhuǎn)發(fā)





