專利名稱:嵌入式終端設(shè)備的軟件升級(jí)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種軟件的升級(jí)裝置及方法,尤其涉及一種嵌入式終端設(shè)備的軟件升級(jí)方法及裝置。
背景技術(shù):
機(jī)頂盒軟件升級(jí)是一項(xiàng)重要的內(nèi)容,尤其是IPTV,交互式機(jī)頂盒的出現(xiàn),使得機(jī)頂盒的內(nèi)容和服務(wù)越來(lái)越新,越來(lái)越豐富,軟件升級(jí)也變得非常頻繁,設(shè)計(jì)一種高效、可靠的軟件升級(jí)、啟動(dòng)的策略和方法,成為機(jī)頂盒軟件技術(shù)的非常重要的一項(xiàng)內(nèi)容?,F(xiàn)有的機(jī)頂盒軟件的升級(jí)方法包括以下三種方法一中國(guó)專利CN101719072公開了一種嵌入式終端設(shè)備的軟件升級(jí)方法及升級(jí)裝置,其公開了一種嵌入式終端設(shè)備的軟件升級(jí)方法及升級(jí)裝置,所述軟件升級(jí)方法包括在終端設(shè)備系統(tǒng)啟動(dòng)后、應(yīng)用程序運(yùn)行前,檢測(cè)終端設(shè)備是否需要升級(jí)的步驟,以及在需要升級(jí)時(shí)執(zhí)行升級(jí)過程的步驟。方法二中國(guó)專利CN101567962公開了一種機(jī)頂盒的雙Loade r升級(jí)方法,包括如下步驟開機(jī)后,CPU首先運(yùn)行Marter程序,檢測(cè)是否有升級(jí)要求;有則先跳轉(zhuǎn)到主 Loader進(jìn)行升級(jí);若主Loader被破壞,則跳到備份Loader進(jìn)行升級(jí);如果檢測(cè)到?jīng)]有升級(jí)要求或者兩個(gè)Loader都被破壞,則跳轉(zhuǎn)到應(yīng)用程序;在Loader程序升級(jí)順利結(jié)束并重新啟動(dòng)后,由Marter程序負(fù)責(zé)對(duì)兩Loader進(jìn)行比對(duì),用升級(jí)后的新的Loader替換掉原來(lái)的未升級(jí)的Loader,再跳轉(zhuǎn)到應(yīng)用程序。方法三中國(guó)專利CN101714093公開了一種機(jī)頂盒的三段式雙備份Loader升級(jí)方法,該方法是在機(jī)頂盒FLASH的不同存儲(chǔ)空間,存放兩Loader程序及一 Booter程序,該兩 Loader程序分別為可互換的主Loader程序和從Loader程序,該主Loader程序和從Loader 程序輪流更新,互為備份,升級(jí)跳轉(zhuǎn)使用最新的模塊。在實(shí)現(xiàn)上述本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題1.升級(jí)自身軟件,軟件是單段式的程序(沒有備份),這樣升級(jí)過程中如果出現(xiàn)故障,如出現(xiàn)突然斷電、斷網(wǎng)的情況,容易導(dǎo)致自身軟件被破壞,從而導(dǎo)致軟件本身運(yùn)行不正常,機(jī)頂盒不能正常工作,只能通過人工重裝軟件的方法進(jìn)行,效率低。2.方法二中的機(jī)頂盒雖然采用了雙備份的升級(jí)方法,但升級(jí)過程還是升級(jí)本身軟件,相對(duì)于方法一來(lái)說只是多了一次升級(jí)機(jī)會(huì)而已,如果兩次升級(jí)失敗,還是出現(xiàn)方法一的問題,并不能有效的解決升級(jí)出錯(cuò)問題。3.方法二中的機(jī)頂盒雖然采用了雙備份的升級(jí)方法,機(jī)頂盒升級(jí)失敗后沒有將軟件恢復(fù)到升級(jí)前的狀態(tài)(老版本),沒有很好的容錯(cuò)處理,有些情況下需要升級(jí)失敗機(jī)頂盒重啟后老版本軟件依然能運(yùn)行。4.方法三中的軟件升級(jí)雖然完成(升級(jí)分區(qū)已經(jīng)寫入了新的軟件),但新版本軟件并不能正常啟動(dòng),機(jī)頂盒不具備恢復(fù)到上一個(gè)版本的功能,從而機(jī)頂盒軟件雖然升級(jí)成功但仍然不能正常運(yùn)行。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供一種高效、穩(wěn)定的嵌入式終端設(shè)備的軟件升級(jí)方法及裝置。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案一種嵌入式終端設(shè)備的軟件升級(jí)方法,嵌入式終端設(shè)備的通道包括第一通道及第二通道,升級(jí)前,第一通道與第二通道的狀態(tài)為老版本軟件的正常啟動(dòng)狀態(tài);所述軟件升級(jí)方法包括以下步驟正常啟動(dòng)第一通道;檢測(cè)是否有新版本軟件需要升級(jí);當(dāng)檢測(cè)到有新版本軟件需要升級(jí)時(shí),將第二通道設(shè)置成老版本軟件的升級(jí)狀態(tài);升級(jí)第二通道;檢測(cè)第二通道的升級(jí)是否成功;當(dāng)檢測(cè)到第二通道的升級(jí)失敗時(shí),重啟嵌入式終端設(shè)備并將第二通道同步為老版本軟件,并將第二通道的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài)。一種嵌入式終端設(shè)備的軟件升級(jí)裝置,嵌入式終端設(shè)備的通道包括第一通道及第二通道;所述軟件升級(jí)裝置包括狀態(tài)設(shè)置模塊,用于設(shè)置第一通道及第二通道的狀態(tài),升級(jí)前,將第一通道與第二通道的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài);升級(jí)時(shí),將第二通道的狀態(tài)設(shè)置為老版本軟件的升級(jí)狀態(tài);升級(jí)失敗時(shí),將第二通道的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài);檢測(cè)模塊,用于檢測(cè)是否有新版本軟件需要升級(jí),并檢測(cè)第二通道是否成功升級(jí);升級(jí)模塊,用于在檢測(cè)到有新版本軟件需要升級(jí)時(shí),升級(jí)第二通道;備份模塊,用于在檢測(cè)到第二通道的升級(jí)失敗時(shí),通過重啟嵌入式終端設(shè)備而將第二通道同步為老版本軟件。本發(fā)明實(shí)施例提供的嵌入式終端設(shè)備的軟件升級(jí)方法及裝置,在第二通道的升級(jí)失敗時(shí)能將第二通道恢復(fù)到升級(jí)前的狀態(tài)(老版本軟件的正常啟動(dòng)狀態(tài)),依然可以再次進(jìn)行升級(jí),不會(huì)影響嵌入式終端設(shè)備軟件的運(yùn)行,而且該過程的實(shí)現(xiàn)是自動(dòng)完成的,高效、 可靠、穩(wěn)定,最大程度減少嵌入式終端設(shè)備在軟件升級(jí)過程中的故障。
圖1為本發(fā)明應(yīng)用的嵌入式終端設(shè)備中通道的結(jié)構(gòu)框圖。
圖2為本發(fā)明嵌入式終端設(shè)備的軟件升級(jí)方法的流程圖。
圖3為圖2的接續(xù)流程圖。
圖4為本發(fā)明嵌入式終端設(shè)備的通道狀態(tài)變化的流程圖。
圖5為本發(fā)明嵌入式終端設(shè)備的軟件升級(jí)方法的實(shí)施例的流程圖。
圖6為圖5的接續(xù)流程圖。
圖7為本發(fā)明嵌入式終端設(shè)備的軟件升級(jí)方法的實(shí)施例的流程圖。
圖8為圖7的接續(xù)流程圖。
圖9為本發(fā)明嵌入式終端設(shè)備的軟件升級(jí)裝置的原理框圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例嵌入式終端設(shè)備的軟件升級(jí)方法及裝置進(jìn)行詳細(xì)描述。如圖1所示,嵌入式終端設(shè)備可為機(jī)頂盒、數(shù)字電視、交互式網(wǎng)絡(luò)電視或其它嵌入式終端設(shè)備,嵌入式終端設(shè)備的通道包括兩個(gè)通道,一個(gè)通道包括KernelA和AppA,另一個(gè)通道包括KernelB和AppB,嵌入式終端設(shè)備在通電開機(jī)時(shí),CPU首先運(yùn)行BootLoader程序, 由BootLoader程序中檢測(cè)是否需要升級(jí),并根據(jù)兩個(gè)通道的狀態(tài)決定啟用哪個(gè)通道。如圖2、圖3所示,嵌入式終端設(shè)備包括第一通道與第二通道,升級(jí)前,第一通道與第二通道的狀態(tài)為老版本軟件的正常啟動(dòng)狀態(tài);嵌入式終端設(shè)備的軟件升級(jí)方法包括以下步驟,步驟110 正常啟動(dòng)第一通道;步驟120 檢測(cè)是否有新版本軟件需要升級(jí);當(dāng)檢測(cè)到有新版本軟件需要升級(jí)時(shí), 執(zhí)行步驟130 ;否則結(jié)束流程;步驟130 將第二通道設(shè)置成老版本軟件的升級(jí)狀態(tài);步驟140 升級(jí)第二通道;步驟150 檢測(cè)第二通道的升級(jí)是否成功;當(dāng)檢測(cè)到第二通道的升級(jí)失敗時(shí),執(zhí)行步驟160 ;當(dāng)檢測(cè)到第二通道的升級(jí)成功時(shí),執(zhí)行步驟170 ;步驟160 重啟嵌入式終端設(shè)備并將第二通道同步為老版本軟件,并將第二通道的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài);并結(jié)束流程;步驟170 將第一通道的狀態(tài)設(shè)置為等待備份新版本軟件,將第二通道的狀態(tài)設(shè)置為新版本軟件的正常啟動(dòng)狀態(tài);步驟171 重啟嵌入式終端設(shè)備并啟動(dòng)第二通道的新版本軟件;步驟172 檢測(cè)第二通道的新版本軟件是否正常啟動(dòng);當(dāng)檢測(cè)到第二通道的新版本軟件正常啟動(dòng)時(shí),執(zhí)行步驟173 ;否則,執(zhí)行步驟174 ;步驟173 將第一通道同步為新版本軟件,并將第一通道的狀態(tài)設(shè)置為新版本軟件的正常啟動(dòng)狀態(tài),并結(jié)束流程;步驟174 將第一通道設(shè)置成老版本軟件的正常啟動(dòng)狀態(tài),而將第二通道設(shè)置成新版本軟件的錯(cuò)誤啟動(dòng)狀態(tài);步驟175 重啟嵌入式終端設(shè)備,正常啟動(dòng)第一通道并將第二通道同步為老版本軟件,并將第二通道的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài)。圖4中第一通道為主通道A,第二通道為備份通道B,通道的狀態(tài)利用數(shù)字及字母表示,例如本實(shí)施例中的數(shù)字分別表示以下幾種狀態(tài),而本實(shí)施例中的new表示新版本軟件,old表示老版本軟件。5、4:表示該通道為正常啟動(dòng)狀態(tài)。當(dāng)?shù)谝淮螁?dòng)失敗后,第二次啟動(dòng)前通道的狀態(tài)用數(shù)字4表示;其余狀況下,正常啟動(dòng)狀態(tài)用數(shù)字5表示。3 表示該通道啟動(dòng)錯(cuò)誤狀態(tài)。2 表示該通道軟件版本為老版本,等待備份為新版本。1 表示該通道為正在升級(jí)狀態(tài)。
如圖4、圖5、圖6所示,當(dāng)?shù)谝煌ǖ罏橹魍ǖ繟,第二通道為備份通道B時(shí),升級(jí)前, 主通道A的狀態(tài)為老版本軟件的正常啟動(dòng)狀態(tài),備份通道B的狀態(tài)為老版本軟件的正常啟動(dòng)狀態(tài),升級(jí)處理過程中主通道A與備份通道B的狀態(tài)可根據(jù)相應(yīng)的步驟改變,其中,啟動(dòng)主通道的次數(shù)為兩次,若第一次啟動(dòng)主通道失敗,則設(shè)置主通道的狀態(tài)為再次啟動(dòng),若第二次啟動(dòng)主通道失敗,則設(shè)置主通道的狀態(tài)為錯(cuò)誤啟動(dòng)狀態(tài),然后重啟嵌入式終端設(shè)備并啟動(dòng)備份通道,接著進(jìn)入步驟300 ;具體如下所示步驟200 第一次啟動(dòng)主通道A并檢測(cè)是否成功;若成功,則執(zhí)行步驟220 ;若失敗,設(shè)置主通道A的狀態(tài)為再次啟動(dòng)狀態(tài),再執(zhí)行步驟201 ;步驟201 第二次啟動(dòng)主通道A并檢測(cè)是否成功;若成功,則執(zhí)行步驟220 ;若失敗,設(shè)置主通道A的狀態(tài)為錯(cuò)誤啟動(dòng)狀態(tài),重啟嵌入式終端設(shè)備后執(zhí)行步驟300 ;步驟220 檢測(cè)是否有新版本軟件需要升級(jí);當(dāng)檢測(cè)到有新版本軟件需要升級(jí)時(shí), 執(zhí)行步驟230;否則結(jié)束流程;步驟230 將備份通道B設(shè)置成老版本軟件的升級(jí)狀態(tài);步驟MO 升級(jí)備份通道B ;步驟250 檢測(cè)備份通道B的升級(jí)是否成功;當(dāng)檢測(cè)到備份通道B的升級(jí)失敗時(shí), 執(zhí)行步驟260 ;當(dāng)檢測(cè)到備份通道B的升級(jí)成功時(shí),執(zhí)行步驟270 ;步驟沈0 重啟嵌入式終端設(shè)備并將備份通道B同步為老版本軟件,并將備份通道 B的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài);并結(jié)束流程;步驟270 將主通道A的狀態(tài)設(shè)置為等待備份新版本軟件,將備份通道B的狀態(tài)設(shè)置為新版本軟件的正常啟動(dòng)狀態(tài);步驟271 重啟嵌入式終端設(shè)備并啟動(dòng)備份通道B的新版本軟件;步驟272 檢測(cè)備份通道B的新版本軟件是否正常啟動(dòng);當(dāng)檢測(cè)到備份通道B的新版本軟件正常啟動(dòng)時(shí),執(zhí)行步驟273 ;否則,執(zhí)行步驟274 ;步驟273 將主通道A同步為新版本軟件,并將主通道A的狀態(tài)設(shè)置為新版本軟件的正常啟動(dòng)狀態(tài),并結(jié)束流程;步驟274 將主通道A設(shè)置成老版本軟件的正常啟動(dòng)狀態(tài),而將備份通道B設(shè)置成新版本軟件的錯(cuò)誤啟動(dòng)狀態(tài);步驟275 重啟嵌入式終端設(shè)備,正常啟動(dòng)主通道A并將備份通道B同步為老版本軟件,并將備份通道B的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài)。如圖4、圖7、圖8所示,當(dāng)?shù)谝煌ǖ罏閭浞萃ǖ繠,第二通道為主通道A時(shí),升級(jí)前, 主通道A的狀態(tài)為老版本軟件的正常啟動(dòng)狀態(tài),備份通道B的狀態(tài)為老版本軟件的正常啟動(dòng)狀態(tài),升級(jí)處理過程中主通道A與備份通道B的狀態(tài)可根據(jù)相應(yīng)的步驟改變,其中,啟動(dòng)主通道失敗的次數(shù)為兩次后重啟嵌入式終端設(shè)備,將進(jìn)入以下步驟,具體如下所示步驟300 第一次啟動(dòng)備份通道B并檢測(cè)是否成功;若成功,設(shè)置備份通道B的狀態(tài)為正常啟動(dòng)狀態(tài),再執(zhí)行步驟320 ;若失敗,設(shè)置備份通道B的狀態(tài)為再次啟動(dòng)狀態(tài),再執(zhí)行步驟301 ;步驟301 第二次啟動(dòng)備份通道B并檢測(cè)是否成功;若成功,設(shè)置備份通道B的狀態(tài)為正常啟動(dòng)狀態(tài),再執(zhí)行步驟320 ;若失敗,設(shè)置備份通道B的狀態(tài)為錯(cuò)誤啟動(dòng)狀態(tài),再結(jié)束流程;
步驟320 檢測(cè)是否有新版本軟件需要升級(jí);當(dāng)檢測(cè)到有新版本軟件需要升級(jí)時(shí), 執(zhí)行步驟330;否則結(jié)束流程;步驟330 將主通道A設(shè)置成老版本軟件的升級(jí)狀態(tài);步驟;340 升級(jí)主通道A ;步驟350 檢測(cè)主通道A的升級(jí)是否成功;當(dāng)檢測(cè)到主通道A的升級(jí)失敗時(shí),執(zhí)行步驟360 ;當(dāng)檢測(cè)到主通道A的升級(jí)成功時(shí),執(zhí)行步驟270 ;步驟360 重啟嵌入式終端設(shè)備并將主通道A同步為老版本軟件,并將主通道A的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài);并結(jié)束流程;步驟370 將備份通道B的狀態(tài)設(shè)置為等待備份新版本軟件,將主通道A的狀態(tài)設(shè)置為新版本軟件的正常啟動(dòng)狀態(tài);步驟371 重啟嵌入式終端設(shè)備并啟動(dòng)主通道A的新版本軟件;步驟372 檢測(cè)主通道A的新版本軟件是否正常啟動(dòng);當(dāng)檢測(cè)到主通道A的新版本軟件正常啟動(dòng)時(shí),執(zhí)行步驟373 ;否則,執(zhí)行步驟374 ;步驟373 將備份通道B同步為新版本軟件,并將備份通道B的狀態(tài)設(shè)置為新版本軟件的的正常啟動(dòng)狀態(tài),并結(jié)束流程;步驟374 將備份通道B設(shè)置成老版本軟件的正常啟動(dòng)狀態(tài),而將主通道A設(shè)置成新版本軟件的錯(cuò)誤啟動(dòng)狀態(tài);步驟375 重啟嵌入式終端設(shè)備,正常啟動(dòng)備份通道B并將主通道A同步為老版本軟件,并將主通道A的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài)。如圖9所示,嵌入式終端設(shè)備可為機(jī)頂盒、數(shù)字電視、交互式網(wǎng)絡(luò)電視或其它嵌入式終端設(shè)備,本發(fā)明嵌入式終端設(shè)備的軟件升級(jí)裝置包括狀態(tài)設(shè)置模塊30,用于設(shè)置第一通道及第二通道的狀態(tài),升級(jí)前,將第一通道與第二通道的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài);升級(jí)時(shí),將第二通道的狀態(tài)設(shè)置為老版本軟件的升級(jí)狀態(tài);升級(jí)失敗時(shí),將第二通道的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài);檢測(cè)模塊40,用于檢測(cè)是否有新版本軟件需要升級(jí),并檢測(cè)通道是否成功升級(jí);升級(jí)模塊50,用于在檢測(cè)到有新版本軟件需要升級(jí)時(shí),升級(jí)第二通道;備份模塊60,用于在檢測(cè)到第二通道的升級(jí)失敗時(shí),通過重啟嵌入式終端設(shè)備而將第二通道同步為老版本軟件。檢測(cè)模塊40檢測(cè)到第二通道的升級(jí)成功時(shí),通過狀態(tài)設(shè)置模塊30將第一通道的狀態(tài)設(shè)置為等待備份新版本軟件,將第二通道的狀態(tài)設(shè)置為新版本軟件的正常啟動(dòng)狀態(tài)。且檢測(cè)模塊40還用于檢測(cè)通道是否成功啟動(dòng);檢測(cè)模塊40檢測(cè)到第二通道的新版本軟件啟動(dòng)成功時(shí),通過備份模塊60將第一通道同步為新版本軟件,并通過狀態(tài)設(shè)置模塊30將第一通道的狀態(tài)設(shè)置成新版本軟件的正常啟動(dòng)狀態(tài)。檢測(cè)模塊40檢測(cè)到第二通道的新版本軟件啟動(dòng)失敗時(shí),由狀態(tài)設(shè)置模塊30將第一通道設(shè)置成老版本軟件的正常啟動(dòng)狀態(tài),而將第二通道設(shè)置成新版本軟件的錯(cuò)誤啟動(dòng)狀態(tài)。重啟嵌入式終端設(shè)備,檢測(cè)模塊40檢測(cè)到第一通道為老版本軟件的正常啟動(dòng)狀態(tài),且第二通道為新版本軟件的錯(cuò)誤啟動(dòng)狀態(tài),則正常啟動(dòng)第一通道,通過備份模塊60將第二通道同步為老版本軟件,并通過狀態(tài)設(shè)置模塊30將第二通道的狀態(tài)設(shè)置成老版本軟
9件的正常啟動(dòng)狀態(tài)。當(dāng)?shù)谝煌ǖ罏橹魍ǖ?,所述第二通道為備份通道時(shí),啟動(dòng)主通道的次數(shù)可為兩次, 檢測(cè)模塊40檢測(cè)到第一次啟動(dòng)主通道成功后,通過狀態(tài)設(shè)置模塊30將主通道設(shè)置成正常啟動(dòng)狀態(tài);檢測(cè)模塊40檢測(cè)到第一次啟動(dòng)主通道失敗后,狀態(tài)設(shè)置模塊30設(shè)置主通道的狀態(tài)為再次啟動(dòng);檢測(cè)模塊40檢測(cè)到第二次啟動(dòng)主通道成功后,通過狀態(tài)設(shè)置模塊30將主通道設(shè)置成正常啟動(dòng)狀態(tài),而將備份通道設(shè)置成老版本軟件的升級(jí)狀態(tài);而檢測(cè)模塊40檢測(cè)到第二次啟動(dòng)主通道失敗后,狀態(tài)設(shè)置模塊30設(shè)置主通道的狀態(tài)為錯(cuò)誤啟動(dòng)狀態(tài),然后重啟嵌入式終端設(shè)備并啟動(dòng)備份通道。當(dāng)?shù)谝煌ǖ罏閭浞萃ǖ?,所述第二通道為主通道時(shí),重啟嵌入式終端設(shè)備并啟動(dòng)備份通道,其中,啟動(dòng)備份通道的次數(shù)為兩次,檢測(cè)模塊40檢測(cè)到第一次啟動(dòng)備份通道成功后,通過狀態(tài)設(shè)置模塊30將備份通道設(shè)置成正常啟動(dòng)狀態(tài),而將主通道設(shè)置成老版本軟件的升級(jí)狀態(tài);檢測(cè)模塊40檢測(cè)到第一次啟動(dòng)備份通道失敗后,狀態(tài)設(shè)置模塊30設(shè)置備份通道的狀態(tài)為再次啟動(dòng),檢測(cè)模塊40檢測(cè)到第二次啟動(dòng)備份通道成功后,通過狀態(tài)設(shè)置模塊30將備份通道設(shè)置成正常啟動(dòng)狀態(tài),而將主通道設(shè)置成老版本軟件的升級(jí)狀態(tài)。以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種嵌入式終端設(shè)備的軟件升級(jí)方法,嵌入式終端設(shè)備的通道包括第一通道及第二通道,升級(jí)前,第一通道與第二通道的狀態(tài)為老版本軟件的正常啟動(dòng)狀態(tài);其特征在于所述軟件升級(jí)方法包括以下步驟,(1)正常啟動(dòng)第一通道;(2)檢測(cè)是否有新版本軟件需要升級(jí);(3)當(dāng)檢測(cè)到有新版本軟件需要升級(jí)時(shí),將第二通道設(shè)置成老版本軟件的升級(jí)狀態(tài);(4)升級(jí)第二通道;(5)檢測(cè)第二通道的升級(jí)是否成功;(6)當(dāng)檢測(cè)到第二通道的升級(jí)失敗時(shí),重啟嵌入式終端設(shè)備并將第二通道同步為老版本軟件,并將第二通道的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài)。
2.根據(jù)權(quán)利要求1所述的嵌入式終端設(shè)備的軟件升級(jí)方法,其特征在于,在步驟(5)之后還包括以下步驟,(7)在檢測(cè)到第二通道的升級(jí)成功時(shí),將第一通道的狀態(tài)設(shè)置為等待備份新版本軟件, 將第二通道的狀態(tài)設(shè)置為新版本軟件的正常啟動(dòng)狀態(tài)。
3.根據(jù)權(quán)利要求2所述的嵌入式終端設(shè)備的軟件升級(jí)方法,其特征在于,在步驟(7)之后還包括以下步驟,(7-1)重啟嵌入式終端設(shè)備并啟動(dòng)第二通道的新版本軟件;(7-2)檢測(cè)第二通道的新版本軟件是否正常啟動(dòng);(7-3)當(dāng)檢測(cè)到第二通道的新版本軟件正常啟動(dòng)時(shí),將第一通道同步為新版本軟件,并將第一通道的狀態(tài)設(shè)置為新版本軟件的正常啟動(dòng)狀態(tài)。
4.根據(jù)權(quán)利要求3所述的嵌入式終端設(shè)備的軟件升級(jí)方法,其特征在于,在步驟(7-2) 之后還包括以下步驟,(7-4)當(dāng)檢測(cè)到第二通道的新版本軟件啟動(dòng)失敗時(shí),將第一通道沒置成老版本軟件的正常啟動(dòng)狀態(tài),而將第二通道設(shè)置成新版本軟件的錯(cuò)誤啟動(dòng)狀態(tài)。
5.根據(jù)權(quán)利要求4所述的嵌入式終端設(shè)備的軟件升級(jí)方法,其特征在于,在(7-4)之后還包括以下步驟,(7-5)重啟嵌入式終端設(shè)備,正常啟動(dòng)第一通道并將第二通道同步為老版本軟件,并將第二通道的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài)。
6.根據(jù)權(quán)利要求1-5中任一項(xiàng)所述的嵌入式終端設(shè)備的軟件升級(jí)方法,其特征在于, 所述第一通道為主通道,所述第二通道為備份通道。
7.根據(jù)權(quán)利要求6所述的嵌入式終端設(shè)備的軟件升級(jí)方法,其特征在于,啟動(dòng)主通道的次數(shù)為兩次,在第一次啟動(dòng)主通道失敗后,設(shè)置主通道的狀態(tài)為再次啟動(dòng),接著進(jìn)入步驟 ⑴。
8.根據(jù)權(quán)利要求1-5中任一項(xiàng)所述的嵌入式終端設(shè)備的軟件升級(jí)方法,其特征在于, 所述第一通道為備份通道,所述第二通道為主通道。
9.根據(jù)權(quán)利要求8所述的嵌入式終端設(shè)備的軟件升級(jí)方法,其特征在于,在步驟(1)之前還包括以下步驟,啟動(dòng)主通道失敗。
10.根據(jù)權(quán)利要求9所述的嵌入式終端設(shè)備的軟件升級(jí)方法,其特征在于,啟動(dòng)主通道失敗的次數(shù)為兩次,在第一次啟動(dòng)主通道失敗后,設(shè)置主通道的狀態(tài)為再次啟動(dòng),在第二次啟動(dòng)主通道失敗后,設(shè)置主通道的狀態(tài)為錯(cuò)誤啟動(dòng)狀態(tài),然后重啟嵌入式終端設(shè)備并啟動(dòng)備份通道,接著進(jìn)入步驟(1)。
11.根據(jù)權(quán)利要求10所述的嵌入式終端設(shè)備的軟件升級(jí)方法,其特征在于,啟動(dòng)第一通道的次數(shù)為兩次,在第一次啟動(dòng)第一通道失敗后,設(shè)置第一通道的狀態(tài)為再次啟動(dòng),接著進(jìn)入步驟(1)。
12.—種嵌入式終端設(shè)備的軟件升級(jí)裝置,嵌入式終端設(shè)備的通道包括第一通道及第二通道;其特征在于所述軟件升級(jí)裝置包括狀態(tài)設(shè)置模塊,用于設(shè)置第一通道及第二通道的狀態(tài),升級(jí)前,將第一通道與第二通道的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài);升級(jí)時(shí),將第二通道的狀態(tài)設(shè)置為老版本軟件的升級(jí)狀態(tài);檢測(cè)模塊,用于檢測(cè)是否有新版本軟件需要升級(jí),并檢測(cè)第二通道是否成功升級(jí);升級(jí)模塊,用于在檢測(cè)到有新版本軟件需要升級(jí)時(shí),升級(jí)第二通道;備份模塊,用于在檢測(cè)到第二通道的升級(jí)失敗時(shí),通過重啟嵌入式終端設(shè)備而將第二通道同步為老版本軟件,并將第二通道的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài)。
13.根據(jù)權(quán)利要求12所述的嵌入式終端設(shè)備的軟件升級(jí)裝置,其特征在于,檢測(cè)模塊檢測(cè)到第二通道的升級(jí)成功時(shí),通過狀態(tài)設(shè)置模塊將第一通道的狀態(tài)設(shè)置為等待備份新版本軟件,將第二通道的狀態(tài)設(shè)置為新版本軟件的正常啟動(dòng)狀態(tài)。
14.根據(jù)權(quán)利要求13所述的嵌入式終端設(shè)備的軟件升級(jí)裝置,其特征在于,檢測(cè)模塊檢測(cè)到第二通道的新版本軟件啟動(dòng)成功時(shí),通過備份模塊將第一通道同步為新版本軟件, 并通過狀態(tài)設(shè)置模塊將第一通道的狀態(tài)設(shè)置為新版本軟件的正常啟動(dòng)狀態(tài)。
15.根據(jù)權(quán)利要求13所述的嵌入式終端設(shè)備的軟件升級(jí)裝置,其特征在于,檢測(cè)模塊檢測(cè)到第二通道的新版本軟件啟動(dòng)失敗時(shí),由狀態(tài)設(shè)置模塊將第一通道設(shè)置成老版本軟件的正常啟動(dòng)狀態(tài),而將第二通道設(shè)置成新版本軟件的錯(cuò)誤啟動(dòng)狀態(tài)。
16.根據(jù)權(quán)利要求15所述的嵌入式終端設(shè)備的軟件升級(jí)裝置,其特征在于,重啟嵌入式終端設(shè)備,檢測(cè)模塊檢測(cè)到第一通道為老版本軟件的正常啟動(dòng)狀態(tài),且第二通道為新版本軟件的錯(cuò)誤啟動(dòng)狀態(tài),則正常啟動(dòng)第一通道,通過備份模塊將第二通道同步為老版本軟件,并通過狀態(tài)設(shè)置模塊將第二通道的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài)。
17.根據(jù)權(quán)利要求12-16中任一項(xiàng)所述的嵌入式終端設(shè)備的軟件升級(jí)裝置,其特征在于,所述第一通道為主通道,所述第二通道為備份通道。
18.根據(jù)權(quán)利要求17所述的嵌入式終端設(shè)備的軟件升級(jí)裝置,其特征在于,啟動(dòng)主通道的次數(shù)為兩次,在第一次啟動(dòng)主通道失敗后,狀態(tài)設(shè)置模塊設(shè)置主通道的狀態(tài)為再次啟動(dòng),第二次啟動(dòng)主通道成功后,通過狀態(tài)設(shè)置模塊將主通道設(shè)置成正常啟動(dòng)狀態(tài),而將備份通道設(shè)置成老版本軟件的升級(jí)狀態(tài)。
19.根據(jù)權(quán)利要求12-16中任一項(xiàng)所述的嵌入式終端設(shè)備的軟件升級(jí)裝置,其特征在于,所述第一通道為備份通道,所述第二通道為主通道。
20.根據(jù)權(quán)利要求19所述的嵌入式終端設(shè)備的軟件升級(jí)裝置,其特征在于,重啟嵌入式終端設(shè)備,當(dāng)檢測(cè)模塊檢測(cè)到啟動(dòng)主通道失敗兩次之后,啟動(dòng)備份通道。
21.根據(jù)權(quán)利要求20所述的嵌入式終端設(shè)備的軟件升級(jí)裝置,其特征在于,啟動(dòng)主通道失敗的次數(shù)為兩次,在第一次啟動(dòng)主通道失敗后,狀態(tài)設(shè)置模塊設(shè)置主通道的狀態(tài)為再次啟動(dòng),在第二次啟動(dòng)主通道失敗后,狀態(tài)設(shè)置模塊設(shè)置主通道的狀態(tài)為錯(cuò)誤啟動(dòng)狀態(tài),然后重啟嵌入式終端設(shè)備并啟動(dòng)備份通道。
22.根據(jù)權(quán)利要求21所述的嵌入式終端設(shè)備的軟件升級(jí)裝置,其特征在于,啟動(dòng)備份通道的次數(shù)為兩次,在第一次啟動(dòng)備份通道失敗后,狀態(tài)設(shè)置模塊設(shè)置備份通道的狀態(tài)為再次啟動(dòng),第二次啟動(dòng)備份通道成功后,通過狀態(tài)設(shè)置模塊將備份通道設(shè)置成正常啟動(dòng)狀態(tài),而將主通道設(shè)置成老版本軟件的升級(jí)狀態(tài)。
全文摘要
本發(fā)明公開一種嵌入式終端設(shè)備的軟件升級(jí)方法及裝置,其中,嵌入式終端設(shè)備的通道包括第一通道及第二通道,升級(jí)前,第一通道與第二通道的狀態(tài)為老版本軟件的正常啟動(dòng)狀態(tài);所述軟件升級(jí)方法包括以下步驟正常啟動(dòng)第一通道;檢測(cè)是否有新版本軟件需要升級(jí);當(dāng)檢測(cè)到有新版本軟件需要升級(jí)時(shí),將第二通道設(shè)置成老版本軟件的升級(jí)狀態(tài);升級(jí)第二通道;檢測(cè)第二通道的升級(jí)是否成功;當(dāng)檢測(cè)到第二通道的升級(jí)失敗時(shí),重啟嵌入式終端設(shè)備并將第二通道同步為老版本軟件,并將第二通道的狀態(tài)設(shè)置為老版本軟件的正常啟動(dòng)狀態(tài)。所述軟件升級(jí)裝置包括狀態(tài)設(shè)置模塊、檢測(cè)模塊、升級(jí)模塊及備份模塊,當(dāng)檢測(cè)到升級(jí)失敗時(shí),能將通道恢復(fù)到升級(jí)前的狀態(tài),以減少嵌入式終端設(shè)備在軟件升級(jí)過程中的故障。
文檔編號(hào)G06F9/445GK102163152SQ20101051972
公開日2011年8月24日 申請(qǐng)日期2010年10月26日 優(yōu)先權(quán)日2010年10月26日
發(fā)明者劉立華 申請(qǐng)人:青島海信傳媒網(wǎng)絡(luò)技術(shù)有限公司