專利名稱:一種無線升級手機軟件的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件升級領(lǐng)域,尤其涉及一種無線升級手機軟件的方法及系統(tǒng)。
背景技術(shù):
由于電子技術(shù)的發(fā)展較快,技術(shù)革新周期相當(dāng)短,造成軟件的更新?lián)Q代,需要對軟件進行升級。隨著手機的軟件功能越來越復(fù)雜,基于軟件的缺陷數(shù)量與軟件功能呈正比的原理,此類系統(tǒng)在解決軟件缺陷或者添加新功能時,需要更新軟件的幾率就會越來越大。為了提高服務(wù)質(zhì)量及廠家信譽,對于已經(jīng)售出的手機上的軟件缺陷的修復(fù)也將是一項重要的任務(wù)。設(shè)備管理/ 無線固件更新(DM/ FOTA: Device Management/ Firmware Over-The-Air)技術(shù)的升級方式是一種全新的將手機軟件由舊版本升級到新版本的無線升級軟件方式。其原理是根據(jù)特殊的算法將軟件新舊版本之間的差別做成一個軟件包,手機將軟件包從服務(wù)器上下載到手機里,由手機完成軟件版本的升級。該升級方式操作方便,使用戶可以在最短的時間內(nèi)享受到升級軟件后最新服務(wù),給用戶使用帶來好的體驗,也有利于手機廠商更加快速地向市場推出具有新功能的手機。但是無線固件更新升級時會修改引導(dǎo)加載程序和內(nèi)核,并相應(yīng)修改受信鏡像模塊中的相關(guān)校驗值,也就是要升級受信鏡像模塊,當(dāng)在升級受信鏡像模塊過程中若出現(xiàn)手機突然斷電等導(dǎo)致手機升級中斷的意外事件,將會使手機無法再使用,沒有安全保障。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種安全的無線升級手機軟件的方法及系統(tǒng),使手機在無線升級情況下即使發(fā)生突然斷電等中斷手機升級的意外事件也不會導(dǎo)致手機出現(xiàn)不能修復(fù)的錯誤。為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案
本發(fā)明涉及的一種無線升級手機軟件的方法包括以下步驟
51、從服務(wù)器下載軟件升級包,設(shè)置進入恢復(fù)模式的重啟原因和升級標(biāo)志;
52、啟動固件引導(dǎo)程序加載并校驗受信鏡像模塊中原始設(shè)備引導(dǎo)加載模塊的校驗值,并加載運行原始設(shè)備引導(dǎo)加載模塊;
53、啟動原始設(shè)備引導(dǎo)加載模塊加載并校驗備份受信鏡像模塊中引導(dǎo)加載程序的校驗
值;
54、校驗引導(dǎo)加載程序的校驗值是否成功;
否,則重新燒錄軟件信息;
是,則加載并運行引導(dǎo)加載程序,進入步驟S5 ;
55、啟動引導(dǎo)加載程序檢查是否有升級標(biāo)志;
否,則加載正常模式的內(nèi)核,并正常啟動;是,則加載并運行恢復(fù)模式的內(nèi)核,掛載備份受信鏡像模塊,進入步驟S6 ;
56、啟動固件無線更新升級工具開始運行升級過程,并更新備份受信鏡像模塊;
57、清除升級標(biāo)志。本發(fā)明還提供了一種無線升級手機軟件的系統(tǒng),包括
下載裝置,從服務(wù)器下載軟件升級包,設(shè)置進入恢復(fù)模式的重啟原因和升級標(biāo)志;第一校驗裝置,啟動固件引導(dǎo)程序加載并校驗受信鏡像模塊中原始設(shè)備引導(dǎo)加載模塊的校驗值,并加載運行原始設(shè)備引導(dǎo)加載模塊;
第二校驗裝置,啟動原始設(shè)備引導(dǎo)加載模塊加載并校驗備份受信鏡像模塊中引導(dǎo)加載程序的校驗值;
第三校驗裝置,校驗引導(dǎo)加載程序的校驗值是否成功;
否,則重新燒錄軟件信息;
是,則加載并運行引導(dǎo)加載程序;
檢查裝置,啟動引導(dǎo)加載程序檢查是否有升級標(biāo)志;
否,則加載正常模式的內(nèi)核,并正常啟動;
是,則加載并運行恢復(fù)模式的內(nèi)核,掛載備份受信鏡像模塊;
升級裝置,啟動固件無線更新升級工具開始運行升級過程,并更新備份受信鏡像模
塊;
清除裝置,清除升級標(biāo)志。與現(xiàn)有技術(shù)相比本發(fā)明具有如下有益效果本發(fā)明提供的一種無線升級手機軟件的方法及系統(tǒng),通過引入備份受信鏡像模塊,在手機軟件的無線固件更新升級過程中,升級的是備份受信鏡像模塊,如果在升級備份受信鏡像模塊時出現(xiàn)錯誤,破壞的是備份受信鏡像模塊,而使受信鏡像模塊得到保護。備份受信鏡像模塊受到破壞后可以通過燒錄軟件信息來進行恢復(fù),從而保障手機在無線固件更新升級過程中的安全。
圖I是現(xiàn)有技術(shù)無線升級手機軟件的方法流程圖。圖2是本發(fā)明實施例提供的無線升級手機軟件的方法流程圖。圖3是本發(fā)明實施例提供的無線升級手機軟件的系統(tǒng)結(jié)構(gòu)框圖。
具體實施例方式為了使本發(fā)明所解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。圖I是現(xiàn)有技術(shù)無線升級手機軟件的方法流程圖,該無線升級方法包括以下步驟
I、從服務(wù)器下載軟件升級包,設(shè)置進入恢復(fù)模式的重啟原因和升級標(biāo)志。所述軟件升級包是比較新版本的系統(tǒng)鏡像文件和手機系統(tǒng)當(dāng)前版本的系統(tǒng)鏡像文件得到的差分包。所述設(shè)置進入恢復(fù)模式的重啟原因和升級標(biāo)志具體是指將一個進入恢復(fù)模式的重啟原因和升級標(biāo)志寫入寄存器。所述恢復(fù)模式即手機軟件升級時進入的模式。
2、啟動固件引導(dǎo)程序(Bootrom)加載并校驗受信鏡像模塊(TIM :Trusted ImageModule)中原始設(shè)備引導(dǎo)加載模塊(OBM :OEM Boot-Ioader Module)中的校驗值,如果校驗成功,則加載并運行原始設(shè)備引導(dǎo)加載模塊。手機中的受信鏡像模塊中存儲有原始設(shè)備引導(dǎo)加載模塊的校驗值,引導(dǎo)加載程序(BLOB)的校驗值以及內(nèi)核(kernel)的校驗值,用來校驗相關(guān)的原始設(shè)備引導(dǎo)加載模塊、引導(dǎo)加載程序及內(nèi)核三個部分的數(shù)據(jù)是否有被破壞或者是未經(jīng)加密簽名的文件。原始設(shè)備引導(dǎo)加載模塊在出廠之后默認是固定不讓修改的,故此步驟中校驗受信鏡像模塊中原始設(shè)備引導(dǎo)加載模塊的校驗值在最開始沒被升級破壞的情況下一般可以通過。但是一旦校驗原始設(shè)備引導(dǎo)加載模塊的校驗值不能通過就無法啟動原始設(shè)備引導(dǎo)加載模塊,由于手機的燒錄軟件信息就存儲在原始設(shè)備引導(dǎo)加載模塊中,這樣手機就不能通過重新燒錄手機軟件信息來恢復(fù)使用,導(dǎo)致手機完全無法使用。3、啟動原始設(shè)備引導(dǎo)加載模塊加載并校驗受信鏡像模塊中引導(dǎo)加載程序的校驗值。4、校驗引導(dǎo)加載程序的校驗值是否成功。校驗不成功,因為原始設(shè)備引導(dǎo)加載模 塊已經(jīng)啟動,我們可以通過重新燒錄軟件信息的方式恢復(fù)手機使用,如果校驗成功,則加載并運行引導(dǎo)加載程序。5、啟動引導(dǎo)加載程序檢查是否有升級標(biāo)志。如果重啟原因不是設(shè)置的升級標(biāo)志,則加載正常模式的內(nèi)核,并正常啟動。所述正常模式即手機正常啟動的模式。如果重啟原因是定義好的升級標(biāo)志的話,手機進入一個專門的升級模式,也就是恢復(fù)模式,加載并把控制權(quán)交給內(nèi)核。加載并運行恢復(fù)模式的內(nèi)核,掛載受信鏡像模塊。6、啟動固件無線更新升級工具開始運行升級過程,并更新受信鏡像模塊。在固件無線更新升級工具開始運行升級過程中更改引導(dǎo)加載程序和內(nèi)核,相應(yīng)地,更新受信鏡像模塊中儲存的引導(dǎo)加載程序的校驗值以及內(nèi)核的校驗值,在更新更新受信鏡像模塊的過程若出現(xiàn)手機沒電等中斷升級的意外情況,受信鏡像模塊中的校驗值就會出現(xiàn)錯誤,而受信鏡像模塊中包括原始設(shè)備引導(dǎo)加載模塊的校驗值、引導(dǎo)加載程序的校驗值以及內(nèi)核的校驗值,雖然更新的只是引導(dǎo)加載程序的校驗值以及內(nèi)核的校驗值,但是只要引導(dǎo)加載程序的校驗值以及內(nèi)核的校驗值任何一個出現(xiàn)錯誤都會導(dǎo)致整個受信鏡像模塊不能打開,從而在下次進行升級過程中上述步驟2中校驗受信鏡像模塊中原始設(shè)備引導(dǎo)加載模塊的校驗值這一步驟不能通過,那么就無法加載運行原始設(shè)備引導(dǎo)加載模塊,由于手機的燒錄軟件信息就存儲在原始設(shè)備引導(dǎo)加載模塊中,因此不能通過重新燒錄手機軟件信息來恢復(fù)使用。7、啟動固件無線更新升級工具清除升級標(biāo)志。8、升級標(biāo)志清除后重新啟動手機。從上述現(xiàn)有的無線升級手機軟件的方法中我們可以知道,現(xiàn)有的無線升級手機軟件的方法若在升級受信鏡像模塊過程中出現(xiàn)手機突然斷電等中斷升級的意外事件將會導(dǎo)致手機無法再使用,沒有安全保障。為克服上述技術(shù)問題,本發(fā)明實施例提供一種安全的無線升級手機軟件的方法。如圖2所示,是本發(fā)明實施例提供的無線升級手機軟件的方法流程圖,該無線升級方法包括以下步驟
SI、從服務(wù)器下載軟件升級包,設(shè)置進入恢復(fù)模式的重啟原因和升級標(biāo)志。所述軟件升級包是比較新版本的系統(tǒng)鏡像文件和手機系統(tǒng)當(dāng)前版本的系統(tǒng)鏡像文件得到的差分包。所述設(shè)置進入恢復(fù)模式的重啟原因和升級標(biāo)志具體是指將一個進入恢復(fù)模式的重啟原因和升級標(biāo)志寫入寄存器。所述恢復(fù)模式即手機軟件升級時進入的模式。S2、啟動固件引導(dǎo)程序加載并校驗受信鏡像模塊中原始設(shè)備引導(dǎo)加載模塊的校驗值,并加載運行原始設(shè)備引導(dǎo)加載模塊。本實施例中的受信鏡像模塊中存儲有原始設(shè)備引導(dǎo)加載模塊校驗值,用來校驗原始設(shè)備引導(dǎo)加載模塊的數(shù)據(jù)是否有被破壞或者是未經(jīng)加密簽名的文件。原始設(shè)備引導(dǎo)加載模塊在出廠之后默認是固定不讓修改的,故此步驟中校驗受信鏡像模塊中原始設(shè)備引導(dǎo)加載模塊的校驗值一般可以通過。如果校驗成功,則加載并運行原始設(shè)備引導(dǎo)加載模塊。S3、啟動原始設(shè)備引導(dǎo)加載模塊加載并校驗備份受信鏡像模塊(DTIM: DoubleTrusted Image Module)中引導(dǎo)加載程序的校驗值。本實施例中的備份受信鏡像模塊中存儲有引導(dǎo)加載程序的校驗值以及內(nèi)核的校驗值,用來校驗引導(dǎo)加載程序和內(nèi)核兩個部分數(shù)據(jù)是否有被破壞或者是未經(jīng)加密簽名的文件。
S4、校驗引導(dǎo)加載程序的校驗值是否成功。校驗不成功,因為原始設(shè)備引導(dǎo)加載模塊已經(jīng)啟動,我們可以通過重新燒錄軟件信息的方式恢復(fù)手機使用,如果校驗成功,則加載并運行引導(dǎo)加載程序。S5、啟動引導(dǎo)加載程序檢查是否有升級標(biāo)志。如果重啟原因不是定義的升級標(biāo)志,則加載正常模式的內(nèi)核,并正常啟動。所述正常模式即手機正常啟動的模式。如果重啟原因是定義好的升級標(biāo)志的話,手機進入一個專門的升級模式,也就是恢復(fù)模式,加載并運行恢復(fù)模式的內(nèi)核,掛載備份受信鏡像模塊。S6、啟動固件無線更新升級工具開始運行升級過程,并更新備份受信鏡像模塊。在固件無線更新升級工具開始運行升級過程中更改引導(dǎo)加載程序和內(nèi)核,相應(yīng)地,更新備份受信鏡像模塊中儲存的引導(dǎo)加載程序的校驗值以及內(nèi)核的校驗值,在更新更新受信鏡像模塊的過程若出現(xiàn)手機沒電等中斷升級的意外情況,只有備份受信鏡像模塊的校驗值出現(xiàn)錯誤,從而破壞掉備份受信鏡像模塊,但是因為受信鏡像模塊沒有被更改和破壞,因此可以通過重新燒錄手機軟件信息來恢復(fù)使用。而受信鏡像模塊中只包括原始設(shè)備引導(dǎo)加載模塊的校驗值,在軟件進行升級的過程中并沒有被更改,所以在下次進行升級過程中上述步驟S2中校驗受信鏡像模塊中原始設(shè)備引導(dǎo)加載模塊的校驗值這一步驟一直可以通過,由于手機的燒錄軟件信息就存儲在原始設(shè)備引導(dǎo)加載模塊中,因此就算在升級過程中出現(xiàn)中斷升級的意外情況也可以通過重新燒錄手機軟件信息來恢復(fù)手機的使用。 S7、啟動固件無線更新升級工具清除升級標(biāo)志。S8、升級標(biāo)志清除后重新啟動手機。圖3是本發(fā)明實施例提供的無線升級手機軟件的系統(tǒng)結(jié)構(gòu)框圖。本發(fā)明實施例提供的一種無線升級手機系統(tǒng),包括下載裝置100、下載裝置100、第二校驗裝置300、第三校驗裝置400、檢查裝置500、升級裝置600、清除裝置700及重啟裝置800。下載裝置100,用于從服務(wù)器下載軟件升級包,設(shè)置進入恢復(fù)模式的重啟原因和升級標(biāo)志。第一校驗裝置200,用于啟動固件引導(dǎo)程序加載并校驗受信鏡像模塊中原始設(shè)備引導(dǎo)加載模塊的校驗值,并加載運行原始設(shè)備引導(dǎo)加載模塊。受信鏡像模塊存儲有原始設(shè)備引導(dǎo)加載模塊的校驗值。第二校驗裝置300,用于啟動原始設(shè)備引導(dǎo)加載模塊加載并校驗備份受信鏡像模塊中引導(dǎo)加載程序的校驗值。備份受信鏡像模塊中存儲有引導(dǎo)加載程序的校驗值以及內(nèi)核的校驗值。第三校驗裝置400,用于校驗引導(dǎo)加載程序的校驗值是否成功。若校驗不成功,則重新燒錄軟件信息。若校驗成功,則加載并運行引導(dǎo)加載程序。檢查裝置500,用于啟動引導(dǎo)加載程序檢查是否有升級標(biāo)志。若沒有升級標(biāo)志則加載正常模式的內(nèi)核,并正常啟動手機。若有升級標(biāo)志,則加載并運行恢復(fù)模式的內(nèi)核,掛載備份受信鏡像模塊。升級裝置600,用于啟動固件無線更新升級工具開始運行升級過程,并更新備份受信鏡像模塊。更新備份受信鏡像模塊中儲存的引導(dǎo)加載程序的校驗值以及內(nèi)核的校驗值,在更新更新受信鏡像模塊的過程若出現(xiàn)手機沒電等中斷升級的意外情況,只有備份受信鏡像模塊的校驗值出現(xiàn)錯誤,從而破壞掉備份受信鏡像模塊,但是因為受信鏡像模塊沒有被更改和破壞,因此可以通過重新燒錄手機軟件信息來恢復(fù)使用。清除裝置700,用于啟動固件無線更新升級工具清除升級標(biāo)志。在升級過程完成后,清除裝置700會清除升級標(biāo)志,使下一次手機啟動的時候,不會進入系統(tǒng)升級的狀態(tài)。重啟裝置800,用于清除升級標(biāo)志后重新啟動手機。與現(xiàn)有技術(shù)相比本發(fā)明的實施例具有如下有益效果本發(fā)明的實施例提供的一種無線升級手機軟件的方法及系統(tǒng),將原始設(shè)備引導(dǎo)加載模塊的校驗值和儲存在受信鏡像模塊,將引導(dǎo)加載程序的校驗值以及內(nèi)核的校驗值儲存在備份受信鏡像模塊,在手機軟件的升級過程中,升級的是備份受信鏡像模塊,如果在升級備份受信鏡像模塊時出現(xiàn)錯誤,破壞的是備份受信鏡像模塊,而受信鏡像模塊得到保護。備份受信鏡像模塊受到破壞后可以通過燒錄軟件信息來進行恢復(fù),從而保障手機在無線固件更新升級過程中的安全。這對手機生產(chǎn)商和終端用戶來說都有極大的好處。對生產(chǎn)商來說,不會因為一次下載失敗而使手機報廢,可以極大地提高經(jīng)濟效益。對用戶來說,可以享受更多的最新業(yè)務(wù)和優(yōu)質(zhì)的服務(wù)。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種無線升級手機軟件的方法,其特征在于,包括以下步驟 51、從服務(wù)器下載軟件升級包,設(shè)置進入恢復(fù)模式的重啟原因和升級標(biāo)志; 52、啟動固件引導(dǎo)程序加載并校驗受信鏡像模塊中原始設(shè)備引導(dǎo)加載模塊的校驗值,并加載運行原始設(shè)備引導(dǎo)加載模塊; 53、啟動原始設(shè)備引導(dǎo)加載模塊加載并校驗備份受信鏡像模塊中引導(dǎo)加載程序的校驗值; 54、校驗引導(dǎo)加載程序的校驗值是否成功; 否,則重新燒錄軟件信息; 是,則加載并運行引導(dǎo)加載程序,進入步驟S5 ; 55、啟動引導(dǎo)加載程序檢查是否有升級標(biāo)志; 否,則加載正常模式的內(nèi)核,并正常啟動; 是,則加載并運行恢復(fù)模式的內(nèi)核,掛載備份受信鏡像模塊,進入步驟S6 ; 56、啟動固件無線更新升級工具開始運行升級過程,并更新備份受信鏡像模塊; 57、清除升級標(biāo)志。
2.根據(jù)權(quán)利要求I所述的ー種無線升級手機軟件的方法,其特征在于,所述受信鏡像模塊存儲有原始設(shè)備引導(dǎo)加載模塊的校驗值,所述備份受信鏡像模塊中存儲有引導(dǎo)加載程序的校驗值以及內(nèi)核的校驗值。
3.根據(jù)權(quán)利要求I所述的ー種無線升級手機軟件的方法,其特征在于,所述軟件升級包是比較新版本的系統(tǒng)鏡像文件和手機系統(tǒng)當(dāng)前版本的系統(tǒng)鏡像文件得到的差分包。
4.根據(jù)權(quán)利要求I所述的ー種無線升級手機軟件的方法,其特征在于,所述步驟S7還包括以下步驟 58、重新啟動手機。
5.根據(jù)權(quán)利要求I所述的ー種無線升級手機軟件的方法,其特征在于,所述原始設(shè)備弓I導(dǎo)加載模塊存儲有燒錄軟件信息。
6.一種無線升級手機軟件的系統(tǒng),其特征在于,包括 下載裝置,從服務(wù)器下載軟件升級包,設(shè)置進入恢復(fù)模式的重啟原因和升級標(biāo)志; 第一校驗裝置,啟動固件引導(dǎo)程序加載并校驗受信鏡像模塊中原始設(shè)備引導(dǎo)加載模塊的校驗值,并加載運行原始設(shè)備引導(dǎo)加載模塊; 第二校驗裝置,啟動原始設(shè)備引導(dǎo)加載模塊加載并校驗備份受信鏡像模塊中引導(dǎo)加載程序的校驗值; 第三校驗裝置,校驗引導(dǎo)加載程序的校驗值是否成功; 否,則重新燒錄軟件信息; 是,則加載并運行引導(dǎo)加載程序; 檢查裝置,啟動引導(dǎo)加載程序檢查是否有升級標(biāo)志; 否,則加載正常模式的內(nèi)核,并正常啟動; 是,則加載并運行恢復(fù)模式的內(nèi)核,掛載備份受信鏡像模塊; 升級裝置,啟動固件無線更新升級工具開始運行升級過程,并更新備份受信鏡像模塊; 清除裝置,清除升級標(biāo)志。
7.根據(jù)權(quán)利要求6所述的ー種無線升級手機軟件的系統(tǒng),其特征在于,還包括重啟裝置,用于清除升級標(biāo)志后重新啟動手機。
全文摘要
本發(fā)明公開了一種無線升級手機軟件的方法,包括以下步驟步驟1、下載軟件升級包并設(shè)置升級標(biāo)志;步驟2、校驗受信鏡像模塊中原始設(shè)備引導(dǎo)加載模塊的校驗值;步驟3、校驗備份受信鏡像模塊中引導(dǎo)加載程序的校驗值;步驟4、校驗引導(dǎo)加載程序的校驗值是否成功,檢驗成功加載引導(dǎo)加載程序;步驟5、檢查是否有升級標(biāo)志,無升級標(biāo)志則加載正常模式的內(nèi)核,并正常啟動;有升級標(biāo)志則加載并運行恢復(fù)模式的內(nèi)核,掛載備份受信鏡像模塊;步驟6、運行升級過程,并更新備份受信鏡像模塊;步驟7、清除升級標(biāo)志。本發(fā)明還公開了一種無線升級手機軟件的系統(tǒng)。本發(fā)明提供的一種無線升級手機軟件的方法及系統(tǒng)可以保障手機在無線升級過程中的安全。
文檔編號G06F9/445GK102693139SQ20111007318
公開日2012年9月26日 申請日期2011年3月25日 優(yōu)先權(quán)日2011年3月25日
發(fā)明者張雷 申請人:比亞迪股份有限公司