專利名稱:一種用于雙模終端的可靠軟件升級方法
技術(shù)領(lǐng)域:
本發(fā)明提供一種軟件升級方法,特別是涉及一種用于雙模終端的軟件升級方法。
背景技術(shù):
雙模終端通常采用IP (互聯(lián)網(wǎng)協(xié)議)升級方法對其終端軟件進(jìn)行升級,但是這種 方法存在不穩(wěn)定的因素,一旦升級過程意外斷電或者網(wǎng)絡(luò)傳輸失敗,便會升級失敗使系統(tǒng) 出現(xiàn)無法恢復(fù)的錯誤,比如雙模終端無法重啟或無法正常工作,必須依靠技術(shù)人員通過更 復(fù)雜的操作恢復(fù)錯誤使終端正常工作。
發(fā)明內(nèi)容
本發(fā)明的目的在于避免由升級失敗而造成雙模終端無法恢復(fù)正常,從而提出一種 用于雙模終端的可靠軟件升級方法,其技術(shù)方案保證即使升級失敗也不會影響雙模終端重 啟和正常工作,并且不需技術(shù)人員參與,終端在下一次啟動時系統(tǒng)自動重新升級至升級完 成。根據(jù)本發(fā)明提出的方法,當(dāng)前軟件(老版本軟件程序)分為系統(tǒng)模塊和應(yīng)用程序 模塊兩個部分,升級軟件(新版本軟件程序)也劃分為系統(tǒng)模塊和應(yīng)用程序模塊兩個部分。 當(dāng)前軟件也分為系統(tǒng)模塊和應(yīng)用程序模塊兩個部分。系統(tǒng)模塊由操作系統(tǒng)和終端升級模塊 組成;應(yīng)用程序模塊由瀏覽器、播放器和其他應(yīng)用程序組成。升級過程中終端系統(tǒng)自動為升 級軟件的系統(tǒng)模塊和應(yīng)用程序模塊匹配各自的校驗碼作為各自升級成功的標(biāo)識。在升級過程中當(dāng)前軟件的系統(tǒng)模塊以及升級軟件的系統(tǒng)模塊和應(yīng)用程序模塊寫 入閃存,閃存相應(yīng)的從邏輯上劃分為高地址和低地址兩部分,分別用于存儲系統(tǒng)模塊和應(yīng) 用程序模塊。本發(fā)明提出的升級方法是首先終端系統(tǒng)將當(dāng)前軟件的系統(tǒng)模塊備份到閃存的高 地址部分;接著從升級服務(wù)器獲得升級軟件的系統(tǒng)模塊,并為升級軟件的系統(tǒng)模塊校自動 生成一個校驗碼,將升級軟件的系統(tǒng)模塊和校驗碼寫入閃存低地址部分;最后終端系統(tǒng)從 升級服務(wù)器獲得升級軟件的應(yīng)用程序模塊,并為升級軟件的應(yīng)用程序模塊自動生成一個校 驗碼,將升級軟件的應(yīng)用程序模塊和校驗碼替換當(dāng)前軟件的系統(tǒng)模塊,寫入閃存高地址部 分,升級過程完成。采用本發(fā)明在升級過程中無論何時升級失敗,當(dāng)前軟件的系統(tǒng)模塊或升級軟件的 系統(tǒng)模塊,始終有一個保存在閃存中,只要系統(tǒng)模塊正常,終端系統(tǒng)便可正常的重新啟動, 啟動后系統(tǒng)檢驗閃存低地址和閃存高地址內(nèi)相應(yīng)模塊的校驗碼的完整性,由于升級失敗導(dǎo) 致校驗碼不完整,使得系統(tǒng)校驗不成功,系統(tǒng)將會自動從升級服務(wù)器中獲取升級軟件(升 級程序),直至升級完成。該升級方法也可以適用于具有IP功能的IPTV(網(wǎng)絡(luò)電視)終端。
圖1是正常情況下終端軟件在閃存中的保存位置圖;圖2是備份當(dāng)前軟件(老版本)系統(tǒng)模塊圖;圖3是成功寫入升級軟件(新版本)系統(tǒng)模塊圖;圖4是系統(tǒng)升級完成后終端軟件在閃存中的保存位置具體實施例方式本發(fā)明用于雙模終端的可靠軟件升級方法具體實施需要終端(具有IP功能)、升 級服務(wù)器和互聯(lián)網(wǎng)的支持。一旦軟件升級開始,終端首先自動與升級服務(wù)器連接,檢查硬件 版本和軟件版本,版本檢查通過后進(jìn)行升級軟件。通過本發(fā)明提出的方法,可以形成安全和 可靠的軟件升級模式。升級過程中出現(xiàn)意外或升級失敗,終端將在下一次啟動時自動重新 升級系統(tǒng),直到升級完成。本發(fā)明在升級過程的
具體實施例方式1.首選終端系統(tǒng)將當(dāng)前軟件的老版本系統(tǒng)模塊備份到閃存高地址中(此過程標(biāo) 記為步驟a)。此老版本系統(tǒng)模塊在閃存中的保存位置如附圖2所示。如果在執(zhí)行步驟a的 過程中系統(tǒng)斷電或網(wǎng)絡(luò)數(shù)據(jù)傳輸失敗,不影響終端的重新啟動,啟動后終端重新進(jìn)行步驟a。2.完成步驟a后終端系統(tǒng)從升級服務(wù)器獲得升級軟件的新版本系統(tǒng)模塊,并自動 計算和匹配此系統(tǒng)模塊的校驗碼,之后將新版本系統(tǒng)模塊和校驗碼寫入閃存的低地址部分 (此過程標(biāo)記為步驟b)。此新版本系統(tǒng)模塊在閃存中保存位置如附圖3所示。如果在執(zhí)行 步驟b的過程中系統(tǒng)斷電或網(wǎng)絡(luò)數(shù)據(jù)傳輸失敗,終端重啟后系統(tǒng)將自動檢測到閃存低地址 部分的校驗碼不正確,終端系統(tǒng)自動從高地址部分啟動,由于在之前的步驟a中老版本系 統(tǒng)模塊已經(jīng)備份到閃存的高地址中,因此終端終端系統(tǒng)可以正常啟動,終端系統(tǒng)重新執(zhí)行 步驟b。3.完整步驟b后終端系統(tǒng)從升級服務(wù)器獲得升級軟件的新版本應(yīng)用程序模塊,并 自動計算和匹配此應(yīng)用程序模塊的校驗碼,之后將新版本應(yīng)用程序模塊和校驗碼替換當(dāng)前 軟件的系統(tǒng)模塊,寫入閃存的高地址部分,升級過程完成(此過程標(biāo)記為步驟c)。此新版本 應(yīng)該程序模塊在閃存中保存位置如附圖4所示。如果在執(zhí)行步驟c的過程中系統(tǒng)斷電或網(wǎng) 絡(luò)數(shù)據(jù)傳輸失敗,終端完成步驟b可以正常啟動,重啟后系統(tǒng)將自動檢測到閃存的高地址 校驗碼不正確,終端系統(tǒng)重新執(zhí)行步驟c,直到完成升級。
權(quán)利要求
1.一種用于雙模終端的可靠軟件升級方法,其特征在于-當(dāng)前軟件分為系統(tǒng)模塊和應(yīng)用程序模塊兩個部分,升級軟件分為系統(tǒng)模塊和應(yīng)用程 序模塊兩個部分;-在升級過程中當(dāng)前軟件的系統(tǒng)模塊以及升級軟件的系統(tǒng)模塊和應(yīng)用程序模塊寫入閃 存內(nèi),閃存從邏輯上劃分為高地址和低地址兩部分,分別用于存儲系統(tǒng)模塊和應(yīng)用程序模 塊;-在升級過程中終端系統(tǒng)自動為升級軟件的系統(tǒng)模塊和應(yīng)用程序模塊匹配校驗碼作為 各自升級成功的標(biāo)識;-升級步驟首先當(dāng)前軟件的系統(tǒng)模塊備份在閃存的高地址部分,其次升級軟件的系 統(tǒng)模塊寫入閃存的低地址部分,最后升級軟件的應(yīng)用程序模塊替換當(dāng)前軟件的系統(tǒng)模塊寫 入閃存的高地址部分,升級完成。
2.根據(jù)權(quán)利要求1所述的系統(tǒng)模塊,其特征在于,由操作系統(tǒng)和終端升級模塊組成。
3.根據(jù)權(quán)利要求1所述的應(yīng)用程序模塊,其特征在于,由瀏覽器、播放器和其他應(yīng)用程 序組成。
全文摘要
本發(fā)明提供一種用于雙模終端的可靠軟件升級方法。首先當(dāng)前軟件的系統(tǒng)模塊備份在閃存的高地址部分,其次升級軟件的系統(tǒng)模塊寫入閃存的低地址部分,最后升級軟件的應(yīng)用程序模塊替換當(dāng)前軟件的系統(tǒng)模塊寫入閃存的高地址部分,升級完成。通過本發(fā)明提出的方法,可以形成安全和可靠的軟件升級模式。升級過程中出現(xiàn)意外或升級失敗,終端將在下一次啟動時自動重新升級系統(tǒng),直到升級完成。
文檔編號G06F9/445GK102081539SQ20111000503
公開日2011年6月1日 申請日期2011年1月12日 優(yōu)先權(quán)日2011年1月12日
發(fā)明者劉亞平, 秦綺玲, 蘇文娟 申請人:蘇州漢辰數(shù)字多媒體有限公司