1.一種租賃柜設(shè)備終端遠(yuǎn)程固件升級(jí)及意外處理方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種租賃柜設(shè)備終端遠(yuǎn)程固件升級(jí)及意外處理方法,其特征在于:所述物理方式采用rs485通信和can通信傳輸數(shù)據(jù),通信單元根據(jù)固件硬件的設(shè)計(jì)文檔確定與終端單元的連接方式,決定單個(gè)數(shù)據(jù)包的最大數(shù)據(jù)載荷量,然后將待固件升級(jí)數(shù)據(jù)按照單個(gè)數(shù)據(jù)包的最大數(shù)據(jù)載荷量進(jìn)行分片,最后在每個(gè)分片數(shù)據(jù)中加入編號(hào)和總包號(hào),其中數(shù)據(jù)包是將待升級(jí)的固件分割成能獨(dú)立傳輸?shù)臄?shù)據(jù)單元,編號(hào)是分配給每個(gè)分片數(shù)據(jù)包的唯一標(biāo)識(shí)符,用于指示該數(shù)據(jù)包在所有分片數(shù)據(jù)包中的順序位置,總包號(hào)是待升級(jí)的數(shù)據(jù)被分割成的總數(shù)據(jù)包數(shù)量。
3.根據(jù)權(quán)利要求1所述的一種租賃柜設(shè)備終端遠(yuǎn)程固件升級(jí)及意外處理方法,其特征在于:所述消息數(shù)據(jù)表用于針對(duì)終端單元?jiǎng)?chuàng)建的用于存儲(chǔ)消息數(shù)據(jù)節(jié)點(diǎn)的集合,其中消息數(shù)據(jù)節(jié)點(diǎn)是通信單元產(chǎn)生的,并要下發(fā)至終端單元的單條固件升級(jí)數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的一種租賃柜設(shè)備終端遠(yuǎn)程固件升級(jí)及意外處理方法,其特征在于:所述消息數(shù)據(jù)處理器用來(lái)獲取消息數(shù)據(jù)表的數(shù)據(jù)節(jié)點(diǎn),并對(duì)消息數(shù)據(jù)節(jié)點(diǎn)進(jìn)行解析數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容,根據(jù)終端單元編號(hào)將數(shù)據(jù)發(fā)送至相應(yīng)的終端單元;消息處理器會(huì)對(duì)多個(gè)消息數(shù)據(jù)表進(jìn)行輪詢,若當(dāng)前消息數(shù)據(jù)表有消息節(jié)點(diǎn),則對(duì)消息節(jié)點(diǎn)進(jìn)行添加協(xié)議頭、進(jìn)行錯(cuò)誤檢測(cè)和糾正處理,查詢下一個(gè)消息數(shù)據(jù)表,將數(shù)據(jù)發(fā)送至相應(yīng)的終端單元。
5.根據(jù)權(quán)利要求1所述的一種租賃柜設(shè)備終端遠(yuǎn)程固件升級(jí)及意外處理方法,其特征在于:所述終端單元接收來(lái)自通信單元的數(shù)據(jù)通過對(duì)需要升級(jí)的終端單元編號(hào),將分片后的固件升級(jí)數(shù)據(jù)按照次序掛載至相應(yīng)的數(shù)據(jù)消息表,若用戶指令輸入,通信單元停止掛載固件升級(jí)數(shù)據(jù),將用戶指令掛載至相應(yīng)的數(shù)據(jù)表的尾部,再接著掛載固件升級(jí)數(shù)據(jù),直至固件升級(jí)數(shù)據(jù)掛載完成;數(shù)據(jù)處理器在輪詢數(shù)據(jù)表的過程中,根據(jù)當(dāng)前處理的數(shù)據(jù)類型為當(dāng)前數(shù)據(jù)增加標(biāo)簽,以標(biāo)識(shí)是升級(jí)指令數(shù)據(jù)還是用戶指令數(shù)據(jù),用戶指令,則進(jìn)行響應(yīng);升級(jí)指令數(shù)據(jù),則將升級(jí)數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)表中的待固件升級(jí)數(shù)據(jù)區(qū),每收到一條數(shù)據(jù)都要向通信單元進(jìn)行應(yīng)答,其中待固件升級(jí)數(shù)據(jù)區(qū)是終端單元中的消息數(shù)據(jù)表,用于臨時(shí)保存從通信單元接收的固件升級(jí)數(shù)據(jù)包,直到整個(gè)固件升級(jí)數(shù)據(jù)被完整下載。
6.根據(jù)權(quán)利要求1所述的一種租賃柜設(shè)備終端遠(yuǎn)程固件升級(jí)及意外處理方法,其特征在于:所述固件升級(jí)通過通信單元發(fā)送一個(gè)升級(jí)請(qǐng)求給終端單元,一旦終端單元接收到升級(jí)請(qǐng)求,終端單元會(huì)檢查當(dāng)前的網(wǎng)絡(luò)連接狀態(tài)和終端資源,使有足夠的空間和帶寬來(lái)下載和處理新的固件,通信單元發(fā)送固件升級(jí)數(shù)據(jù),終端單元?jiǎng)t接收固件數(shù)據(jù);通信過程中出現(xiàn)數(shù)據(jù)傳輸錯(cuò)誤或網(wǎng)絡(luò)中斷,終端單元根據(jù)前向糾錯(cuò)自動(dòng)糾正錯(cuò)誤;一旦升級(jí)請(qǐng)求被成功接收,終端單元將原有的固件版本備份至存儲(chǔ)設(shè)備中;備份完成后,終端單元將開始更新固件,其中終端資源是終端單元上用于完成升級(jí)過程的硬件和軟件資源。
7.根據(jù)權(quán)利要求6所述的一種租賃柜設(shè)備終端遠(yuǎn)程固件升級(jí)及意外處理方法,其特征在于:所述前向糾錯(cuò)通過在數(shù)據(jù)傳輸過程中,通過使用rs編碼算法,根據(jù)待發(fā)送的固件升級(jí)數(shù)據(jù)生成糾錯(cuò)碼,用于在終端單元檢測(cè)并糾正發(fā)生的錯(cuò)誤,將待固件升級(jí)數(shù)據(jù)和生成的糾錯(cuò)碼組合成數(shù)據(jù)包,通過rs485通信協(xié)議將組好的數(shù)據(jù)包發(fā)送到終端單元;終端單元接收到數(shù)據(jù)包后,使用rs解碼器檢測(cè)數(shù)據(jù)包中的錯(cuò)誤,若檢測(cè)到錯(cuò)誤,rs解碼器將利用糾錯(cuò)碼糾正錯(cuò)誤、若數(shù)據(jù)包在傳輸過程中丟失,終端單元根據(jù)已接收的數(shù)據(jù)包恢復(fù)丟失的數(shù)據(jù)包;數(shù)據(jù)包被成功接收并校正,終端單元對(duì)固件進(jìn)行升級(jí),其中rs解碼器通過高級(jí)編程語(yǔ)言實(shí)現(xiàn),用于解碼rs編碼生成的糾錯(cuò)碼。
8.根據(jù)權(quán)利要求1所述的一種租賃柜設(shè)備終端遠(yuǎn)程固件升級(jí)及意外處理方法,其特征在于:所述斷點(diǎn)續(xù)傳將待傳輸?shù)墓碳指畛啥鄠€(gè)數(shù)據(jù)包,每個(gè)數(shù)據(jù)包都有唯一的編號(hào),使數(shù)據(jù)能夠按照正確的順序重新組合;通信單元和終端單元都需要記錄每個(gè)數(shù)據(jù)包的傳輸正常或損壞,每個(gè)數(shù)據(jù)包傳輸后,使用前向糾錯(cuò)驗(yàn)證數(shù)據(jù)的完整性;終端單元需要記錄最后成功接收數(shù)據(jù)包的編號(hào),若傳輸過程中遇到嚴(yán)重錯(cuò)誤,終端單元根據(jù)記錄的數(shù)據(jù)包的編號(hào)進(jìn)行恢復(fù),終端單元能將升級(jí)狀態(tài)和進(jìn)度信息上報(bào)給通信單元,使其進(jìn)行遠(yuǎn)程監(jiān)控。
9.根據(jù)權(quán)利要求1所述的一種租賃柜設(shè)備終端遠(yuǎn)程固件升級(jí)及意外處理方法,其特征在于:所述意外情況是停電、中斷和重啟,包括當(dāng)通信單元向終端單元發(fā)送固件升級(jí)數(shù)據(jù)時(shí),若發(fā)生意外,終端單元將在重啟后從上次傳輸中斷的地方繼續(xù)接收數(shù)據(jù),一旦終端單元接收完固件升級(jí)數(shù)據(jù),它會(huì)進(jìn)入備份原固件的階段;若在備份階段發(fā)生意外情況,終端單元會(huì)檢查最后存儲(chǔ)的升級(jí)狀態(tài),若是備份狀態(tài),終端單元將認(rèn)為固件未受損,并繼續(xù)執(zhí)行備份操作;備份完成后,終端單元將進(jìn)入更新階段,為更新狀態(tài)并存儲(chǔ),若在更新階段發(fā)生意外,終端單元重啟后會(huì)檢查狀態(tài),狀態(tài)為更新狀態(tài),則固件可能已受損,終端單元將從備份區(qū)域恢復(fù)固件并重新啟動(dòng)。