專利名稱:嵌入式終端設備軟件升級方法及升級裝置的制作方法
技術領域:
本發(fā)明涉及一種軟件升級方法及升級裝置,具體地說,是涉及一種嵌入式終端設
備軟件升級方法及其裝置。
背景技術:
當前,基于嵌入式的終端設備大多采用遠程網(wǎng)絡下載軟件升級包及其配置文件, 實現(xiàn)設備應用程序的升級。在升級過程中,是用軟件升級包的新的應用程序數(shù)據(jù)來升級修 改系統(tǒng)中原有的應用程序數(shù)據(jù)?,F(xiàn)有技術中的嵌入式終端設備,是在執(zhí)行應用程序之后才 運行軟件升級包的升級;如果因突然斷電或其他原因導致升級失敗,應用程序將不可恢復, 無法正常運行,因此,也就無法繼續(xù)執(zhí)行升級過程,且導致整個終端設備無法正常工作。在 此情況下,需要生產(chǎn)廠家往終端設備重新燒寫應用程序,才能保證終端設備的工作。而生產(chǎn) 廠家重新燒寫應用程序的過程比較復雜,而且會導致終端設備用戶成本增加,因此,現(xiàn)有技 術中的對嵌入式終端設備升級過程要求較嚴格,絕對不允許斷電等可能導致升級失敗的非 法操作。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術中嵌入式終端設備升級過程要求嚴格、若升級失敗需要生產(chǎn) 廠家重新燒寫應用程序而引起的過程復雜和成本較高的技術問題,提供了一種嵌入式終端 設備軟件升級方法,實現(xiàn)在升級失敗、重啟機頂盒后,能夠重新進行應用程序軟件升級包的 升級過程。 為解決上述技術問題,本發(fā)明采用以下技術方案予以實現(xiàn) —種嵌入式終端設備軟件升級方法,該方法包括在終端設備系統(tǒng)啟動后、應用程 序運行前,檢測終端設備是否需要升級的步驟,以及在需要升級時執(zhí)行升級過程的步驟。
根據(jù)本發(fā)明所述的升級方法,在檢測不需要升級時或執(zhí)行完升級過程后,終端設 備運行應用程序。 根據(jù)本發(fā)明所述的升級方法,終端設備內(nèi)存中、區(qū)別于應用程序存儲分區(qū)的位置 設置有升級狀態(tài)標志,通過檢測所述升級狀態(tài)標志確定是否需要升級。
根據(jù)本發(fā)明所述的升級方法,所述升級過程具體包括下述步驟
檢測是否存在軟件升級包; 在存在軟件升級包時,判斷其是否符合升級規(guī)則; 在軟件升級包不存在或軟件升級包不符合升級規(guī)則時,重新下載軟件升級包,并 存儲至終端設備內(nèi)存中、區(qū)別于應用程序存儲分區(qū)的位置;在軟件升級包存在且符合升級 規(guī)則時,根據(jù)軟件升級包中的數(shù)據(jù)進行升級;
升級成功后,清除所述升級狀態(tài)標志。 其中,在判斷軟件升級包是否符合升級規(guī)則時,可采用下述方法通過對軟件升級 包的配置文件進行MD5值校驗,以判斷所述軟件升級包是否為完整升級包;在為完整升級
3包時,則判斷其符合升級規(guī)則。 本發(fā)明的另一目的是提供一種嵌入式終端設備軟件升級裝置,其特征在于,所述 裝置包括 檢測模塊,用于在終端設備系統(tǒng)啟動后、應用程序運行前,檢測終端設備是否需要 升級;以及 升級模塊,在終端設備系統(tǒng)啟動后、應用程序運行前啟動,用于對終端設備進行升 級。 根據(jù)本發(fā)明所述的升級裝置,還包括升級信息存儲模塊,設置在終端設備內(nèi)存中、
區(qū)別于應用程序存儲分區(qū)的位置,用于存儲軟件升級包及狀態(tài)標志。 其中,所述狀態(tài)標志包括標志是否升級的升級狀態(tài)標志。 根據(jù)本發(fā)明所述的裝置,所述檢測模塊檢測所述升級狀態(tài)標志,以確定終端設備 是否需要升級。 在本發(fā)明所述裝置中,所述嵌入式終端設備為網(wǎng)絡機頂盒。 與現(xiàn)有技術相比,本發(fā)明的優(yōu)點和積極效果是通過將升級過程獨立于終端設備 系統(tǒng)內(nèi)核與應用程序,在終端設備系統(tǒng)啟動后、應用程序運行前即執(zhí)行升級過程,且升級時 的判斷及軟件升級包的存儲均脫離系統(tǒng)內(nèi)核與應用程序,實現(xiàn)了嵌入式終端設備遠程下載 軟件升級包并升級應用程序;且若在升級過程中發(fā)生斷電或其他原因導致升級失敗,在終 端設備再次重啟后仍可重新升級,直至升級成功,有效解決了現(xiàn)有技術中因升級過程中的 突然斷電等原因導致升級失敗后不能再繼續(xù)升級、而需要生產(chǎn)廠家重新燒寫應用程序的問 題。
圖1是本發(fā)明所述嵌入式終端設備軟件升級方法一個實施例的流程圖;
圖2是本發(fā)明所述嵌入式終端設備軟件升級裝置一個實施例的結構示意圖。
具體實施例方式
下面結合附圖對本發(fā)明作進一步詳細的說明。 本發(fā)明針對現(xiàn)有技術中嵌入式終端設備的軟件升級是在運行應用程序后才執(zhí)行,
導致一旦升級失敗應用程序無法恢復、無法繼續(xù)升級的問題,提出了一種新的軟件升級方
法,該方法的核心是將升級過程獨立于系統(tǒng)應用程序,具體是在終端設備系統(tǒng)啟動后、應
用程序運行前,檢測終端設備是否需要升級的步驟,以及在需要升級時執(zhí)行升級過程的步
驟。這樣,在終端設備系統(tǒng)啟動后、不需要運行應用程序就可執(zhí)行升級過程,升級應用程序。
不管原有應用程序是否損壞,均不影響網(wǎng)絡機頂盒的正常工作,從而有效解決了現(xiàn)有技術
中的缺陷。
圖1示出了本發(fā)明嵌入式終端設備軟件升級方法一個實施例的流程圖。 該實施例的嵌入式終端設備為網(wǎng)絡機頂盒,下面結合附圖l,詳細描述所述網(wǎng)絡機
頂盒進行軟件升級的具體流程。 在需要對遠程用戶的網(wǎng)絡機頂盒應用程序進行升級時,程序發(fā)布方采用升級包制 作軟件制作新的軟件升級包,然后發(fā)布軟件升級包和軟件升級包配置文件到以太網(wǎng)絡上。發(fā)布方可以根據(jù)新軟件版本的特點,選擇發(fā)布自動升級版本或手動升級版本。遠程用戶根 據(jù)軟件升級包是自動升級還是手動升級,通過網(wǎng)絡選擇下載發(fā)布方發(fā)布的軟件升級包,然 后升級本地網(wǎng)絡機頂盒的應用程序,實現(xiàn)網(wǎng)絡機頂盒的更新。網(wǎng)絡機頂盒軟件升級的流程 如下 S101 :流程開始。 S102 :網(wǎng)絡機頂盒系統(tǒng)內(nèi)核啟動。網(wǎng)絡機頂盒開機后,首先執(zhí)行系統(tǒng)程序啟動機頂
S103 :檢測升級狀態(tài)標志。 在網(wǎng)絡機頂盒內(nèi)存中、區(qū)別于應用程序存儲分區(qū)的存儲位置開辟有升級信息存儲 區(qū)域,該存儲區(qū)域除用來存儲下載的軟件升級包外,還存儲有標志是否升級的升級狀態(tài)標 志。網(wǎng)絡機頂盒開機后,其后臺將根據(jù)用戶選擇的自動升級或手動升級從網(wǎng)絡上下載相應 的軟件升級包,在下載完軟件升級包后,將所述升級狀態(tài)標志置位。而在軟件升級過程中, 首先檢測所述升級狀態(tài)標志,以判斷是否需要升級。 S104 :根據(jù)檢測的升級狀態(tài)標志判斷是否需要升級。若需要升級,執(zhí)行步驟S106 ; 若不需要升級,執(zhí)行步驟S105。 S105 :在不需要升級時,運行網(wǎng)絡機頂盒中的應用程序,機頂盒正常工作。 S106 :在需要進行網(wǎng)絡升級時,判斷網(wǎng)絡機頂盒特定的存儲區(qū)域內(nèi)是否存在軟件
升級包。若存在軟件升級包,轉至步驟S109 ;否則執(zhí)行步驟S107。 S107 :在需要升級而內(nèi)存中不存在軟件升級包時,提示出錯,并執(zhí)行步驟S108。
S108 :通過網(wǎng)絡重新下載軟件升級包及其配置文件,并存儲至指定區(qū)域內(nèi)。
然后,轉至步驟S105執(zhí)行應用程序;下載的軟件升級包將在下次網(wǎng)絡機頂盒重啟 時進行升級更新。 S109:若需要升級、且內(nèi)存中存在軟件升級包時,判斷存在的軟件升級包是否符合 升級規(guī)則。如果符合升級規(guī)則,執(zhí)行步驟S110 ;若不符合升級規(guī)則,表明軟件升級包不完 整,需要重新下載,轉至步驟S107。
在該實施例中,采用下述方法判斷軟件升級包是否符合升級規(guī)則對軟件升級包 的配置文件進行MD5值校驗,若校驗正確,判定所述軟件升級包為完整升級包,符合升級規(guī) 則。若校驗不正確,則判定其不符合升級規(guī)則。
S110 :在軟件升級包符合升級規(guī)則時,進行軟件升級。 Slll :判斷升級是否成功。若升級成功,執(zhí)行步驟S112 ;若升級不成功,轉至步驟 S107。 在升級過程中,若因非斷電原因導致升級失敗,則轉至步驟S107提示出錯,并重
新下載軟件升級包。若因突然斷電導致升級失敗,則存儲在特定區(qū)域內(nèi)的升級狀態(tài)標志依
然存在,在網(wǎng)絡機頂盒上電重啟后,仍會在系統(tǒng)內(nèi)核啟動后首先檢測到需要升級,然后按照
上述過程執(zhí)行升級程序,在升級成功后,應用程序可以按照升級更新后的數(shù)據(jù)正常運行。 S112 :在升級成功后,清除升級狀態(tài)標志,即將升級狀態(tài)標志復位,重啟網(wǎng)絡機頂
盒。則在網(wǎng)絡機頂盒重啟后,檢測升級狀態(tài)標志已經(jīng)復位,不需要升級,則直接運行升級更
新后的應用程序。 S113:流程結束。
該實施例由于是在網(wǎng)絡機頂盒內(nèi)核啟動后首先執(zhí)行升級過程,判斷是否需要升
級。若需要升級,先執(zhí)行升級過程,且整個升級過程不依賴于應用程序的運行;只有在不需
要升級或升級成功后才啟動應用程序。若不需要升級,則按照原有正常的應用程序來運行;
若需要升級,即使原有應用程序因上次升級失敗造成損壞,由于該次首先進行升級,會首先
更新應用程序,因此,不會影響升級過程結束后的應用程序的正常運行。
圖2所示為本發(fā)明嵌入式終端設備軟件升級裝置一個實施例的結構示意圖。 該實施例仍以網(wǎng)絡機頂盒為例,所示網(wǎng)絡機頂盒包括有系統(tǒng)模塊和應用程序模
塊,還包括有軟件升級裝置,所述軟件升級裝置在系統(tǒng)模塊啟動后、應用程序模塊啟動前就
啟動運行。 所述軟件升級裝置包括有檢測模塊、升級模塊及升級信息存儲模塊。 所述升級信息存儲模塊是在網(wǎng)絡機頂盒內(nèi)存中、區(qū)別于應用程序存儲分區(qū)的一個
存儲區(qū)域,用來存儲軟件升級包及與軟件升級相關的狀態(tài)標志,如標志是否升級的升級狀
態(tài)標志等。 在網(wǎng)絡機頂盒系統(tǒng)模塊啟動后、應用程序模塊啟動前,所述檢測模塊檢測所述升 級信息存儲模塊中的升級狀態(tài)標志。若升級狀態(tài)標志置位,表示需要升級,則執(zhí)行升級模 塊;若升級狀態(tài)標志復位,表示不需要升級,則運行所述應用程序模塊,網(wǎng)絡機頂盒安裝應 用程序正常工作。 所述升級模塊作為軟件升級裝置的核心,負責執(zhí)行軟件的升級。在所述檢測模塊 檢測需要升級時,升級模塊將在所述升級信息存儲模塊中查找是否存在軟件升級包,并判 斷所存在的軟件升級包是否符合升級規(guī)則。在軟件升級包不存在或軟件升級包不符合升級 規(guī)則時,啟動網(wǎng)絡機頂盒的下載模塊重新從網(wǎng)絡上下載軟件升級包。在軟件升級包符合升 級規(guī)則時,啟動軟件升級,更新應用程序;并在升級成功后,清除所述升級信息存儲模塊中 的升級狀態(tài)標志。 當然,以上所述僅是本發(fā)明的一種優(yōu)選實施方式而已,應當指出,對于本技術領域 的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改 進和潤飾也應視為本發(fā)明的保護范圍。
權利要求
一種嵌入式終端設備軟件升級方法,其特征在于,該方法包括在終端設備系統(tǒng)啟動后、應用程序運行前,檢測終端設備是否需要升級的步驟,以及在需要升級時執(zhí)行升級過程的步驟。
2 根據(jù)權利要求1所述的嵌入式終端設備軟件升級方法,其特征在于,在檢測不需要 升級時或執(zhí)行完升級過程后,終端設備運行應用程序。
3. 根據(jù)權利要求1或2所述的嵌入式終端設備軟件升級方法,其特征在于,終端設備內(nèi) 存中、區(qū)別于應用程序存儲分區(qū)的位置設置有升級狀態(tài)標志,通過檢測所述升級狀態(tài)標志 確定是否需要升級。
4. 根據(jù)權利要求3所述的嵌入式終端設備軟件升級方法,其特征在于,所述升級過程具體包括下述步驟檢測是否存在軟件升級包;在存在軟件升級包時,判斷其是否符合升級規(guī)則;在軟件升級包不存在或軟件升級包不符合升級規(guī)則時,重新下載軟件升級包,并存儲 至終端設備內(nèi)存中、區(qū)別于應用程序存儲分區(qū)的位置;在軟件升級包存在且符合升級規(guī)則 時,根據(jù)軟件升級包中的數(shù)據(jù)進行升級;升級成功后,清除所述升級狀態(tài)標志。
5. 根據(jù)權利要求4所述的嵌入式終端設備軟件升級方法,其特征在于,通過對軟件升 級包的配置文件進行MD5值校驗,以判斷所述軟件升級包是否為完整升級包;在為完整升 級包時,則判斷其符合升級規(guī)則。
6. —種嵌入式終端設備軟件升級裝置,其特征在于,包括檢測模塊,用于在終端設備系統(tǒng)啟動后、應用程序運行前,檢測終端設備是否需要升 級;以及升級模塊,在終端設備系統(tǒng)啟動后、應用程序運行前啟動,用于對終端設備進行升級。
7. 根據(jù)權利要求6所述的嵌入式終端設備軟件升級裝置,其特征在于,還包括升級信 息存儲模塊,設置在終端設備內(nèi)存中、區(qū)別于應用程序存儲分區(qū)的位置,用于存儲軟件升級 包及狀態(tài)標志。
8. 根據(jù)權利要求7所述的嵌入式終端設備軟件升級裝置,其特征在于,所述狀態(tài)標志 包括標志是否升級的升級狀態(tài)標志。
9. 根據(jù)權利要求8所述的嵌入式終端設備軟件升級裝置,其特征在于,所述檢測模塊 檢測所述升級狀態(tài)標志,以確定終端設備是否需要升級。
10. 根據(jù)權利要求8所述的嵌入式終端設備軟件升級裝置,其特征在于,所述嵌入式終 端設備為網(wǎng)絡機頂盒。
全文摘要
本發(fā)明公開了一種嵌入式終端設備軟件升級方法及升級裝置,所述軟件升級方法包括在終端設備系統(tǒng)啟動后、應用程序運行前,檢測終端設備是否需要升級的步驟,以及在需要升級時執(zhí)行升級過程的步驟。應用本發(fā)明所述的軟件升級方法,能夠實現(xiàn)在升級失敗、重啟機頂盒后,重新進行應用程序軟件升級包的升級過程,有效解決了現(xiàn)有技術中因升級過程中的突然斷電等原因導致升級失敗后不能再繼續(xù)升級、而需要生產(chǎn)廠家重新燒寫應用程序的問題。
文檔編號H04N5/00GK101719072SQ20091023064
公開日2010年6月2日 申請日期2009年11月23日 優(yōu)先權日2009年11月23日
發(fā)明者王海亮 申請人:青島海信寬帶多媒體技術有限公司