一種關(guān)鍵點(diǎn)控制的嵌入式設(shè)備自動(dòng)在線升級(jí)
摘要:給出了一種控制網(wǎng)絡(luò)嵌入式設(shè)備在線升級(jí)的方案,采用了關(guān)鍵點(diǎn)控制的方法,實(shí)現(xiàn)了升級(jí)過程自動(dòng)檢測(cè)選擇升級(jí)流程,升級(jí)前后不需要重啟設(shè)備,升級(jí)過程用戶不可見,較大地改進(jìn)了常用升級(jí)方案的用戶友好性。在此重點(diǎn)結(jié)合網(wǎng)絡(luò)設(shè)備升級(jí)保證系統(tǒng)安全性的要求,通過關(guān)鍵點(diǎn)的配合控制,保證升級(jí)對(duì)系統(tǒng)的全面安全。該升級(jí)方案在嵌入式網(wǎng)絡(luò)設(shè)備上進(jìn)行驗(yàn)證,結(jié)果證明了方法的正確性和可靠性。
本文引用地址:http://cafeforensic.com/article/149025.htm關(guān)鍵詞:在線升級(jí);正常運(yùn)行系統(tǒng);基本運(yùn)行系統(tǒng);關(guān)鍵點(diǎn)控制
隨著嵌入式操作系統(tǒng)技術(shù)的發(fā)展,在網(wǎng)絡(luò)終端設(shè)備中有越來越廣泛的應(yīng)用。在實(shí)際使用中,為了擴(kuò)展業(yè)務(wù)功能、解決軟件中存在的問題和提升設(shè)備性能,或者為了滿足設(shè)備的定制業(yè)務(wù)(如廣告業(yè)務(wù)),需要對(duì)嵌入式設(shè)備的軟件系統(tǒng)或者資源文件及時(shí)進(jìn)行更新,就是軟件系統(tǒng)的升級(jí)業(yè)務(wù)。目前,嵌入式設(shè)備軟件更新有2種方式:一種是在本地使用PC機(jī)通過串口(或者網(wǎng)口)將軟件下載到設(shè)備中完成軟件系統(tǒng)的升級(jí);另一種是利用網(wǎng)絡(luò)進(jìn)行在線升級(jí)。前者只能在本地進(jìn)行軟件升級(jí)操作,不能夠批量更新,適合于實(shí)驗(yàn)室調(diào)試使用,而后者能夠?qū)W(wǎng)絡(luò)中在線終端進(jìn)行批量升級(jí),得到廣泛的應(yīng)用。實(shí)際上,軟件在線升級(jí)已經(jīng)成為網(wǎng)絡(luò)終端設(shè)備的一項(xiàng)基本功能,軟件在線升級(jí)的方案不同,升級(jí)過程的特點(diǎn)和安全性也不相同。
1 系統(tǒng)軟件升級(jí)常用方案
網(wǎng)絡(luò)終端設(shè)備的系統(tǒng)軟件保存在FLASH中,系統(tǒng)啟動(dòng)時(shí)把系統(tǒng)軟件加載到內(nèi)存中運(yùn)行,軟件升級(jí)的本質(zhì)是從網(wǎng)絡(luò)下載新的系統(tǒng)軟件內(nèi)容,把原來系統(tǒng)軟件內(nèi)容擦除,然后寫入新的系統(tǒng)軟件,系統(tǒng)重啟后加載新的系統(tǒng)軟件。常用的升級(jí)方案包括單系統(tǒng)升級(jí)方案和雙系統(tǒng)升級(jí)方案:
(1)單系統(tǒng)升級(jí)方案(如圖1所示):系統(tǒng)啟動(dòng)后進(jìn)行正常的業(yè)務(wù)功能,此時(shí)網(wǎng)絡(luò)后臺(tái)檢測(cè)終端版本號(hào)判斷是否有新版本可升級(jí),如果檢測(cè)到當(dāng)前終端的版本號(hào)低于最新版本號(hào),則立即從網(wǎng)絡(luò)下載升級(jí)包啟動(dòng)升級(jí)過程,在用戶進(jìn)行業(yè)務(wù)功能的過程中后臺(tái)完成對(duì)于原系統(tǒng)軟件的擦除,并寫入新的系統(tǒng)軟件和更新當(dāng)前版本號(hào)。該升級(jí)過程對(duì)于用戶是透明的,用戶只有在終端重啟后再加載新的系統(tǒng)軟件。但是該升級(jí)方案的安全性比較弱,因?yàn)槿绻麅?nèi)容擦除后終端斷電或者重啟,則終端中系統(tǒng)軟件被破壞,沒有可用的系統(tǒng)軟件,終端以后再不能正常啟動(dòng),必須技術(shù)支持人員到現(xiàn)場(chǎng)完成軟件修復(fù)升級(jí)。另外,如果新寫入的系統(tǒng)軟件因?yàn)榫W(wǎng)絡(luò)傳輸或者其他原因存在錯(cuò)誤時(shí),也會(huì)上面的結(jié)果。這種升級(jí)方案存在較明顯的安全性缺陷,現(xiàn)在已經(jīng)較少使用。
(2)雙系統(tǒng)升級(jí)方案(如圖2所示):為了增強(qiáng)升級(jí)過程的安全性,出現(xiàn)了雙系統(tǒng)的升級(jí)方案,通常的處理是終端中存在一個(gè)基本運(yùn)行系統(tǒng)和一個(gè)正常運(yùn)行系統(tǒng),分別處于FLASH的不同分區(qū)中,基本運(yùn)行系統(tǒng)只用于升級(jí)正常運(yùn)行系統(tǒng)軟件,正常運(yùn)行系統(tǒng)完成用戶的正常業(yè)務(wù)。業(yè)務(wù)過程中自動(dòng)從網(wǎng)絡(luò)檢測(cè)最新版本號(hào),判斷是否需要升級(jí)系統(tǒng)軟件,如果檢測(cè)到有需要升級(jí)的系統(tǒng)軟件,則終端設(shè)置從基本運(yùn)行系統(tǒng)啟動(dòng)并提示用戶重啟系統(tǒng)。終端從基本運(yùn)行系統(tǒng)啟動(dòng)后,從網(wǎng)絡(luò)下載正常運(yùn)行系統(tǒng)軟件并完成升級(jí)過程,寫入完成后更新當(dāng)前版本號(hào),設(shè)置從正常運(yùn)行系統(tǒng)啟動(dòng)后重啟,終端從正常運(yùn)行系統(tǒng)啟動(dòng),進(jìn)行正常的用戶業(yè)務(wù)。
該升級(jí)方案克服上單系統(tǒng)升級(jí)方案中安全性的缺陷,升級(jí)過程中如果出現(xiàn)終端異常斷電或者重啟,只有正常運(yùn)行系統(tǒng)軟件的被破壞,最小備份系統(tǒng)保持正常是升級(jí)功能,系統(tǒng)重啟后繼續(xù)從最小備份系統(tǒng)啟動(dòng),完成系統(tǒng)升級(jí)功能。目前網(wǎng)絡(luò)設(shè)備中常會(huì)使用該升級(jí),但這種升級(jí)方案每次都需要重啟系統(tǒng),且用戶需要停止業(yè)務(wù)進(jìn)行系統(tǒng)軟件的升級(jí),整個(gè)升級(jí)過程用戶只能等待,對(duì)于現(xiàn)在用戶體驗(yàn)越來越重要的終端設(shè)備,該升級(jí)方案有較明顯的易用性缺陷。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論