0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過利用關(guān)鍵點控制實現(xiàn)網(wǎng)絡(luò)終端設(shè)備在線升級的方案

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-08-09 08:05 ? 次閱讀

隨著嵌入式操作系統(tǒng)技術(shù)的發(fā)展,在網(wǎng)絡(luò)終端設(shè)備中有越來越廣泛的應(yīng)用。在實際使用中,為了擴(kuò)展業(yè)務(wù)功能、解決軟件中存在的問題和提升設(shè)備性能,或者為了滿足設(shè)備的定制業(yè)務(wù)(如廣告業(yè)務(wù)),需要對嵌入式設(shè)備的軟件系統(tǒng)或者資源文件及時進(jìn)行更新,就是軟件系統(tǒng)的升級業(yè)務(wù)。目前,嵌入式設(shè)備軟件更新有2種方式:一種是在本地使用PC機(jī)通過串口(或者網(wǎng)口)將軟件下載到設(shè)備中完成軟件系統(tǒng)的升級;另一種是利用網(wǎng)絡(luò)進(jìn)行在線升級。前者只能在本地進(jìn)行軟件升級操作,不能夠批量更新,適合于實驗室調(diào)試使用,而后者能夠?qū)W(wǎng)絡(luò)中在線終端進(jìn)行批量升級,得到廣泛的應(yīng)用。實際上,軟件在線升級已經(jīng)成為網(wǎng)絡(luò)終端設(shè)備的一項基本功能,軟件在線升級的方案不同,升級過程的特點和安全性也不相同。

1 系統(tǒng)軟件升級常用方案

網(wǎng)絡(luò)終端設(shè)備的系統(tǒng)軟件保存在FLASH中,系統(tǒng)啟動時把系統(tǒng)軟件加載到內(nèi)存中運行,軟件升級的本質(zhì)是從網(wǎng)絡(luò)下載新的系統(tǒng)軟件內(nèi)容,把原來系統(tǒng)軟件內(nèi)容擦除,然后寫入新的系統(tǒng)軟件,系統(tǒng)重啟后加載新的系統(tǒng)軟件。常用的升級方案包括單系統(tǒng)升級方案和雙系統(tǒng)升級方案:

(1)單系統(tǒng)升級方案(如圖1所示):系統(tǒng)啟動后進(jìn)行正常的業(yè)務(wù)功能,此時網(wǎng)絡(luò)后臺檢測終端版本號判斷是否有新版本可升級,如果檢測到當(dāng)前終端的版本號低于最新版本號,則立即從網(wǎng)絡(luò)下載升級包啟動升級過程,在用戶進(jìn)行業(yè)務(wù)功能的過程中后臺完成對于原系統(tǒng)軟件的擦除,并寫入新的系統(tǒng)軟件和更新當(dāng)前版本號。該升級過程對于用戶是透明的,用戶只有在終端重啟后再加載新的系統(tǒng)軟件。但是該升級方案的安全性比較弱,因為如果內(nèi)容擦除后終端斷電或者重啟,則終端中系統(tǒng)軟件被破壞,沒有可用的系統(tǒng)軟件,終端以后再不能正常啟動,必須技術(shù)支持人員到現(xiàn)場完成軟件修復(fù)升級。另外,如果新寫入的系統(tǒng)軟件因為網(wǎng)絡(luò)傳輸或者其他原因存在錯誤時,也會上面的結(jié)果。這種升級方案存在較明顯的安全性缺陷,現(xiàn)在已經(jīng)較少使用。

通過利用關(guān)鍵點控制實現(xiàn)網(wǎng)絡(luò)終端設(shè)備在線升級的方案

(2)雙系統(tǒng)升級方案(如圖2所示):為了增強(qiáng)升級過程的安全性,出現(xiàn)了雙系統(tǒng)的升級方案,通常的處理是終端中存在一個基本運行系統(tǒng)和一個正常運行系統(tǒng),分別處于FLASH的不同分區(qū)中,基本運行系統(tǒng)只用于升級正常運行系統(tǒng)軟件,正常運行系統(tǒng)完成用戶的正常業(yè)務(wù)。業(yè)務(wù)過程中自動從網(wǎng)絡(luò)檢測最新版本號,判斷是否需要升級系統(tǒng)軟件,如果檢測到有需要升級的系統(tǒng)軟件,則終端設(shè)置從基本運行系統(tǒng)啟動并提示用戶重啟系統(tǒng)。終端從基本運行系統(tǒng)啟動后,從網(wǎng)絡(luò)下載正常運行系統(tǒng)軟件并完成升級過程,寫入完成后更新當(dāng)前版本號,設(shè)置從正常運行系統(tǒng)啟動后重啟,終端從正常運行系統(tǒng)啟動,進(jìn)行正常的用戶業(yè)務(wù)。

該升級方案克服上單系統(tǒng)升級方案中安全性的缺陷,升級過程中如果出現(xiàn)終端異常斷電或者重啟,只有正常運行系統(tǒng)軟件的被破壞,最小備份系統(tǒng)保持正常是升級功能,系統(tǒng)重啟后繼續(xù)從最小備份系統(tǒng)啟動,完成系統(tǒng)升級功能。目前網(wǎng)絡(luò)設(shè)備中常會使用該升級,但這種升級方案每次都需要重啟系統(tǒng),且用戶需要停止業(yè)務(wù)進(jìn)行系統(tǒng)軟件的升級,整個升級過程用戶只能等待,對于現(xiàn)在用戶體驗越來越重要的終端設(shè)備,該升級方案有較明顯的易用性缺陷。

2 基于關(guān)鍵點控制的系統(tǒng)軟件升級方案

基于關(guān)鍵點控制的升級方案是針對于上述雙系統(tǒng)升級方案的優(yōu)化和改進(jìn),通過業(yè)務(wù)分析和統(tǒng)計,為了修改增強(qiáng)業(yè)務(wù)功能或者修改BUG,終端升級的絕大部分場景是需要升級正常運行系統(tǒng),如果能夠?qū)崿F(xiàn)在正常運行系統(tǒng)中能夠升級自身,升級過程對用戶透明,則能夠解做到絕大部分升級過程用戶不可見。同時由于基本運行系統(tǒng)也會存在BUG或者需要增強(qiáng)功能,也有需要升級基本運行系統(tǒng)的情況。

本方案通過在系統(tǒng)中設(shè)定關(guān)鍵點,在升級過程中通過關(guān)鍵點值控制升級的流程,保證系統(tǒng)軟件升級安全性,同時做到升級過程對用戶透明,而且除了能夠升級正常運行系統(tǒng)外還可以升級基本運行系統(tǒng)(如基本運行系統(tǒng)中存在BUG需要修改時),增強(qiáng)了終端的靈活性,另外升級過程引入了XML格式的升級控制文件,有效的控制了網(wǎng)絡(luò)版本的兼容性。關(guān)鍵點記錄了當(dāng)前系統(tǒng)軟件的狀態(tài)。根據(jù)當(dāng)前系統(tǒng)軟件狀態(tài)的不同,軟件升級的流程不同,在基本運行系統(tǒng)和正常運行系統(tǒng)中都包含下面的關(guān)鍵點,各個關(guān)鍵點的取值和代表含義如下:

(1)系統(tǒng)啟動未驗證(SSNV):系統(tǒng)升級完成后沒有啟動過,此時不能保證系統(tǒng)能夠正常啟動,不能保證系統(tǒng)能夠運行業(yè)務(wù)功能,即沒有驗證系統(tǒng)的升級功能;正常運行系統(tǒng)處于SSNV狀態(tài)時,不能在該正常運行系統(tǒng)下升級基本運行系統(tǒng),否則可能會出現(xiàn)2個系統(tǒng)都不能正常啟動的狀態(tài)。同樣基本運行系統(tǒng)處于SSNV狀態(tài)時,不能在該基本運行系統(tǒng)中升級正常運行系統(tǒng)。

(2)系統(tǒng)升級未驗證(SUNV):系統(tǒng)已經(jīng)正常啟動,業(yè)務(wù)功能正常運行,但沒有驗證系統(tǒng)的升級功能。如果正常運行系統(tǒng)的升級功能沒有驗證,則不能在該系統(tǒng)下升級基本運行系統(tǒng),否則可能會造成基本運行系統(tǒng)被破壞,同時正常運行系統(tǒng)沒有升級功能的情況,以后終端再也不具有在線升級的功能。同樣基本運行系統(tǒng)處于SUNV狀態(tài)時,不能在正常運行系統(tǒng)中直接升級正常運行系統(tǒng)本身,需要重啟進(jìn)入基本運行系統(tǒng)進(jìn)行升級;

(3)系統(tǒng)升級已驗證(SUV):系統(tǒng)除了業(yè)務(wù)功能正常外,升級功能已經(jīng)驗證過,能夠進(jìn)行正常的升級。該狀態(tài)表明系統(tǒng)功能完全經(jīng)過驗證,如基本運行系統(tǒng)處于SUV狀態(tài),則在正常運行系統(tǒng)中可以自動升級自身,正常運行系統(tǒng)處于SUV狀態(tài)時,可以在正常運行系統(tǒng)中升級基本運行系統(tǒng)。

升級方案的具體控制流程中包含了關(guān)鍵點控制和判斷使用的時機(jī),終端啟動后判斷從哪個系統(tǒng)啟動,如果從正常運行系統(tǒng)啟動成功,此時假設(shè)正常運行系統(tǒng)的關(guān)鍵點狀態(tài)為SSNV狀態(tài),則設(shè)置為SUNV狀態(tài)(如圖3所示)。

通過利用關(guān)鍵點控制實現(xiàn)網(wǎng)絡(luò)終端設(shè)備在線升級的方案

系統(tǒng)運行過程中檢測到有新版本需要升級正常運行系統(tǒng),則判斷基本運行系統(tǒng)的關(guān)鍵點狀態(tài),如果為SUV狀態(tài),則直接在正常運行系統(tǒng)中升級該升級包,否則需要設(shè)置從基本運行系統(tǒng)啟動,并重啟終端后在基本運行系統(tǒng)中升級該升級包。如果檢測到需要升級基本運行系統(tǒng),則判斷正常運行系統(tǒng)關(guān)鍵點狀態(tài),如果為SUV狀態(tài),則直接在基本運行系統(tǒng)中升級該升級包,升級完成后設(shè)置正常運行系統(tǒng)的關(guān)鍵點狀態(tài)為SSNV狀態(tài),否則忽略該升級包(如圖4所示)。在基本運行系統(tǒng)啟動成功,如果此時基本運行系統(tǒng)的關(guān)鍵點狀態(tài)為SSNV狀態(tài),則設(shè)置為SUNV狀態(tài)(如圖5所示)。基本運行系統(tǒng)的主要功能就是完成正常運行系統(tǒng)的升級。啟動后如果檢測到有新版本需要升級正常運行系統(tǒng),則下載該升級包進(jìn)行升級業(yè)務(wù),升級完成后設(shè)置正常運行系統(tǒng)的關(guān)鍵點狀態(tài)為SSNV狀態(tài),并表示基本運行系統(tǒng)的關(guān)鍵點狀態(tài)為SUV狀態(tài)(如圖6所示)。

通過利用關(guān)鍵點控制實現(xiàn)網(wǎng)絡(luò)終端設(shè)備在線升級的方案

通過上述的關(guān)鍵點控制,該升級方案保證了任何情況下都有一個系統(tǒng)是能夠正常運行升級系統(tǒng),不會出現(xiàn)終端因為升級過程斷電等因素造成升級失敗后,不能再自動恢復(fù)的問題,對終端升級的安全性有較大的提升。例如在正常運行系統(tǒng)中升級正常運行系統(tǒng)時,基本運行系統(tǒng)保證是SUV狀態(tài),如果出現(xiàn)斷電情況,終端重啟后進(jìn)入基本運行系統(tǒng)中可以把正常運行系統(tǒng)升級;在正常運行系統(tǒng)中升級基本運行系統(tǒng)時,正常運行系統(tǒng)保證是SUV狀態(tài),如果出現(xiàn)斷電情況,終端重啟后進(jìn)入正常運行系統(tǒng)可以繼續(xù)升級基本運行系統(tǒng);在基本運行系統(tǒng)中升級正常運行系統(tǒng)時,基本運行系統(tǒng)保證是SUV狀態(tài),如果出現(xiàn)斷電情況,終端重啟后進(jìn)入基本運行系統(tǒng)可以繼續(xù)升級正常運行系統(tǒng)。該升級方案中不允許在基本運行系統(tǒng)中升級自身。

通過利用關(guān)鍵點控制實現(xiàn)網(wǎng)絡(luò)終端設(shè)備在線升級的方案

3 結(jié)語

該方法在醫(yī)療呼叫系統(tǒng)中進(jìn)行了應(yīng)用與驗證,嵌入式系統(tǒng)基于S3C2440處理器,負(fù)責(zé)系統(tǒng)中醫(yī)療信息的發(fā)布、查詢,語音呼叫及醫(yī)療增援服務(wù),其中床頭機(jī)、醫(yī)護(hù)機(jī)、門口機(jī)均采用該系統(tǒng),醫(yī)療呼叫系統(tǒng)需要全天候工作,不可能指定時間對系統(tǒng)升級,且升級過程需要用戶不可見,通過應(yīng)用本方法能夠方便的升級系統(tǒng)軟件,以修復(fù)軟件BUG或者增強(qiáng)軟件服務(wù)。升級過程中用戶不可見,且升級完成后不需要重啟終端,對于升級的易用性和友好性有較大改進(jìn)。

本文分析了常用的網(wǎng)絡(luò)終端設(shè)備在線升級的方案,在保證在線升級過程安全的基礎(chǔ)上,通過對雙系統(tǒng)升級方法的優(yōu)化和改進(jìn),通過關(guān)鍵點狀態(tài)的記錄和判斷,實現(xiàn)了絕大部分情況下,可以在正常運行系統(tǒng)中直接升級正常運行系統(tǒng),升級完成后不需要重啟系統(tǒng),做到升級過程對用戶透明。同時在原來只能升級正常運行系統(tǒng)的基礎(chǔ)上,支持升級基本運行系統(tǒng)的功能,對于提升網(wǎng)絡(luò)終端設(shè)備在線升級的易用性和安全性有較大的幫助。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19118

    瀏覽量

    228869
  • 嵌入式
    +關(guān)注

    關(guān)注

    5060

    文章

    18980

    瀏覽量

    302259
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7489

    瀏覽量

    88558
收藏 人收藏

    評論

    相關(guān)推薦

    通過InConnect平臺實現(xiàn)終端設(shè)備遠(yuǎn)程訪問

    OpenVPN軟件客戶端; d.新增站點,默認(rèn)對等網(wǎng)絡(luò); e.新增終端,選擇剛新增的站點; f.確保云管理和VPN在線,站點/終端訪問虛擬IP成功,
    發(fā)表于 07-24 06:06

    【OK210申請】用戶級手持終端設(shè)備

    申請理由:由于項目的需求,需要為設(shè)備開發(fā)一個用戶級手持終端設(shè)備,以提高產(chǎn)品品質(zhì)和用戶體驗,所以想試試這款開發(fā)版。項目描述:使用嵌入式開發(fā)平臺,開發(fā)一個遠(yuǎn)程圖像采集顯示終端,并通過
    發(fā)表于 07-18 21:40

    通過MCU串口管理CC2530協(xié)調(diào)器。實現(xiàn)終端設(shè)備入網(wǎng)添加,刪除,網(wǎng)絡(luò)內(nèi)終端設(shè)備實時網(wǎng)絡(luò)狀態(tài)查詢,請問哪種方案更好?

    方式燒錄, MCU 可以支持同時用 ZNP_API 和 monitor_API 管理協(xié)調(diào)器嗎?如果可以,最好。主要目的是通過MCU 串口管理 協(xié)調(diào)器。實現(xiàn)終端設(shè)備入網(wǎng)添加,刪除,網(wǎng)絡(luò)
    發(fā)表于 06-01 03:36

    請問下:網(wǎng)絡(luò)建立好后,如果,協(xié)調(diào)器重啟后,為什么需要再次重啟終端設(shè)備?

    您好: ? ? ? ?請問下:網(wǎng)絡(luò)建立好后,如果,協(xié)調(diào)器重啟后,為什么需要再次重啟終端設(shè)備,我的協(xié)調(diào)器才能收到數(shù)據(jù)? ? ? ? ? 有沒有方法使得,在協(xié)調(diào)器復(fù)位后,不再重啟終端設(shè)備,終端設(shè)備
    發(fā)表于 06-24 00:46

    請問zigbee 終端設(shè)備如何離開當(dāng)前網(wǎng)絡(luò)?

    zigbee 終端設(shè)備如何離開當(dāng)前網(wǎng)絡(luò),恢復(fù)出廠設(shè)置嗎??
    發(fā)表于 08-08 06:05

    基于NXP i.MX6UL打造手持終端設(shè)備方案解決倉儲管理需求

    ` 近年來,隨著電子商務(wù)的迅猛發(fā)展,與倉儲物流相關(guān)的年總支出占GDP的比重越來越大,通過更智能的手持終端設(shè)備來對倉儲物流管理進(jìn)行改善,是降低成本的重要舉措,那么怎樣的嵌入式計算機(jī)產(chǎn)品可以完美貼合倉庫
    發(fā)表于 08-31 10:43

    如何利用ATmega64實現(xiàn)終端設(shè)備顯示控制?

    本文介紹了圖像點陣式液晶模塊CM320240與AVR單片機(jī)ATmega64相結(jié)合實現(xiàn)終端設(shè)備顯示控制的一種方法。給出了硬件電路的設(shè)計以及系統(tǒng)軟件架構(gòu)的搭建,并闡述了一種樹形菜單界面的設(shè)計方法。
    發(fā)表于 06-02 06:19

    如何利用現(xiàn)有局域網(wǎng),在不添加中間網(wǎng)關(guān)的情況下,控制終端設(shè)備。

    如何利用現(xiàn)有局域網(wǎng),在不添加中間網(wǎng)關(guān)的情況下,控制終端設(shè)備?,F(xiàn)有條件和計劃實現(xiàn)效果1、設(shè)備分散在多個房間、每個房間內(nèi)分散在多個位置。2、機(jī)柜
    發(fā)表于 12-23 14:54

    證通電子人臉支付終端設(shè)備ZT8623通過OpenHarmony兼容性測評

    金融支付解決方案,圍繞客戶需求進(jìn)行自主創(chuàng)新。其研發(fā)的人臉支付終端設(shè)備ZT8623通過人臉識別技術(shù)終端安全認(rèn)證,符合銀聯(lián)卡受理終端安全規(guī)范,支
    發(fā)表于 12-06 18:37

    證通電子人臉支付終端設(shè)備ZT8623通過OpenHarmony兼容性測評

    金融支付解決方案,圍繞客戶需求進(jìn)行自主創(chuàng)新。其研發(fā)的人臉支付終端設(shè)備ZT8623通過人臉識別技術(shù)終端安全認(rèn)證,符合銀聯(lián)卡受理終端安全規(guī)范,支
    發(fā)表于 12-23 11:26

    OLT(光纜終端設(shè)備)是什么

    OLT: optical line terminal(光纜終端設(shè)備),用于連接光纖干線的終端設(shè)備。OLT除了提供業(yè)務(wù)匯聚的功能外,還是集中網(wǎng)絡(luò)管理平臺。在OLT上可以實現(xiàn)基于
    發(fā)表于 03-08 19:49 ?5.5w次閱讀

    網(wǎng)絡(luò)終端設(shè)備的安裝與配置及結(jié)構(gòu)

    計算機(jī)網(wǎng)絡(luò)用戶主要通過網(wǎng)絡(luò)終端設(shè)備實現(xiàn)與計算機(jī)網(wǎng)絡(luò)的連接,獲取
    發(fā)表于 09-20 17:33 ?5次下載
    <b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>終端設(shè)備</b>的安裝與配置及結(jié)構(gòu)

    關(guān)鍵控制網(wǎng)絡(luò)嵌入式設(shè)備在線升級設(shè)計實現(xiàn)

    系統(tǒng)或者資源文件及時進(jìn)行更新,就是軟件系統(tǒng)的升級業(yè)務(wù)。目前,嵌入式設(shè)備軟件更新有2種方式:一種是在本地使用PC機(jī)通過串口(或者網(wǎng)口)將軟件下載到設(shè)備中完成軟件系統(tǒng)的
    發(fā)表于 10-24 10:21 ?0次下載
    <b class='flag-5'>關(guān)鍵</b><b class='flag-5'>點</b><b class='flag-5'>控制</b><b class='flag-5'>網(wǎng)絡(luò)</b>嵌入式<b class='flag-5'>設(shè)備</b><b class='flag-5'>在線</b><b class='flag-5'>升級</b>設(shè)計<b class='flag-5'>實現(xiàn)</b>

    基于關(guān)鍵控制網(wǎng)絡(luò)嵌入式設(shè)備在線升級實現(xiàn)

    系統(tǒng)或者資源文件及時進(jìn)行更新,就是軟件系統(tǒng)的升級業(yè)務(wù)。目前,嵌入式設(shè)備軟件更新有2種方式:一種是在本地使用PC機(jī)通過串口(或者網(wǎng)口)將軟件下載到設(shè)備中完成軟件系統(tǒng)的
    發(fā)表于 11-30 12:01 ?253次閱讀
     基于<b class='flag-5'>關(guān)鍵</b><b class='flag-5'>點</b><b class='flag-5'>控制</b>的<b class='flag-5'>網(wǎng)絡(luò)</b>嵌入式<b class='flag-5'>設(shè)備</b><b class='flag-5'>在線</b><b class='flag-5'>升級</b>的<b class='flag-5'>實現(xiàn)</b>

    2021華為開發(fā)者大會:超級終端設(shè)備體驗升級

    2021華為開發(fā)者大會超級終端設(shè)備體驗升級,分布式協(xié)同計算能力實現(xiàn)性能升級。
    的頭像 發(fā)表于 10-22 15:13 ?1566次閱讀
    2021華為開發(fā)者大會:超級<b class='flag-5'>終端設(shè)備</b>體驗<b class='flag-5'>升級</b>