本發明涉及軟件領域,具體涉及一種終端設備系統升級方法。
背景技術:
隨著科技的發展,OTA(空中下載技術Over the Air Technology)被廣泛應用于各類終端設備產品中,提高了終端設備的便捷性。OTA是通過移動通信的空中接口對SIM卡數據及應用進行遠程管理的技術,其中,空中接口可以采用WAP、GPRS、CDMA1X、短消息等技術。
目前終端設備的升級主要采用如下方法,
在終端設備產品的非易失性存儲空間劃分出部分物理空間,存儲恢復系統。系統升級時,終端設備產品通過OTA技術下載升級文件并升級,若系統升級失敗,可以通過存儲的恢復系統對系統進行恢復。
然而,該升級方法需要占用較大的存儲空間,不僅增加了產品的成本,而且不能夠充分利用存儲空間。
技術實現要素:
本發明要解決的技術問題在于,針對現有技術的上述缺陷,提供一種充分利用存儲空間、穩定性較高的系統升級方法。
一種終端設備的系統升級方法,所述終端設備的系統包括運行系統和拓展系統,所述終端設備的非易失性存儲空間具有系統分區與拓展分區,所述系統分區用于存儲所述運行系統,所述拓展分區用于存儲所述拓展系統,所述終端設備系統的升級方法包括:
獲取恢復系統的文件,并將所述恢復系統燒錄至所述拓展分區;
獲取所述運行系統的升級文件,并燒錄至所述系統分區,以升級所述運行系統;
若所述運行系統升級失敗,則通過所述拓展分區燒錄的所述恢復系統啟動系統,重新獲取所述運行系統的升級文件,并燒錄至所述系統分區;
若所述運行系統升級成功,則下載所述拓展系統的升級文件,并燒錄至所述拓展分區。
其中一個實施例中,將所述恢復系統的文件、所述運行系統的升級文件、所述拓展系統的升級文件至少其一下載至所述終端設備的內存中,之后燒錄到相應的分區內。
其中一個實施例中,還包括:
在升級過程中,為所述終端設備的所述系統升級狀態設置標記;
升級失敗后查詢所述標記;
根據查詢到的所述標記繼續升級。
其中一個實施例中,所述為所述終端設備的所述系統升級狀態設置標記包括:
在燒錄所述恢復系統至所述拓展分區后,設置第一標記,所述運行系統升級成功后,設置第二標記,所述拓展系統升級成功后,設置第三標記,其中查詢的優先級為所述第三標記、所述第二標記、所述第一標記。
其中一個實施例中,根據查詢到的所述標記繼續升級包括:
若查詢到所述第三標記,則升級成功,重啟所述終端設備;
若查詢到所述第二標記,則重新下載所述拓展系統升級文件,并升級所述拓展系統;
若查詢到所述第一標記,則重新獲取所述運行系統升級文件,并升級所述運行系統。
其中一個實施例中,
所述為所述終端設備的所述系統升級狀態設置標記、根據查詢到的所述標記繼續升級還包括:
在獲取所述恢復系統的文件后,設置預先標記,其中所述預先標記的查詢優先級低于所述第一標記;
當查詢到所述預先標記時,重新獲取所述恢復系統的文件,并燒錄至所述拓展分區內。
其中一個實施例中,獲取所述恢復系統的文件前,所述終端設備的系統升級方法還包括如下步驟:
判斷待升級系統,
若所述待升級系統為所述拓展系統,下載所述拓展系統的升級文件,并燒錄至所述拓展分區,以升級所述拓展分區。
其中一個實施例中,還包括:
若所述拓展系統升級失敗,則通過所述運行系統重新下載所述拓展系統的升級文件,并燒錄至所述拓展分區。
其中一個實施例中,所述為所述終端設備的所述系統升級狀態設置標記還包括:
若所述待升級系統為所述拓展系統,下載所述拓展分區升級文件后,設置所述第二標記。
上述終端設備的系統升級方法,若運行系統升級失敗,可通過恢復系統重新升級運行系統,保證了終端設備系統升級的穩定性。并且,上述升級方法充分利用了終端設備的非易失性存儲空間,令非易失性存儲空間較小的終端設備同樣能夠穩定升級,節約了不必要的存儲空間,降低產品成本。
附圖說明
下面將結合附圖及實施例對本發明作進一步說明,附圖中:
圖1為本發明一實施例的終端設備系統升級方法的流程圖;
圖2為本發明一實施例的終端設備的系統升級方法的流程圖;
圖3為本發明一實施例的終端設備的系統升級方法步驟S101的流程圖;
圖4為圖3所示終端設備的系統升級方法部分步驟的流程圖;
圖5為圖3所示終端設備的系統升級方法步驟S104b的流程圖;
圖6為圖3所示終端設備的系統升級方法僅升級拓展系統時的流程圖。
具體實施方式
為了便于理解本發明,下面將參照相關附圖對本發明進行更全面的描述。附圖中給出了本發明的較佳實施方式。但是,本發明可以以許多不同的形式來實現,并不限于本文所描述的實施方式。相反地,提供這些實施方式的目的是使對本發明的公開內容理解的更加透徹全面。
終端設備的系統包括運行系統和拓展系統,終端設備包括非易失性存儲空間及內存,非易失性存儲空間可包括FLASH存儲介質,例如,NOR存儲介質、NAND存儲介質、EMMC存儲介質等。其中,非易失性存儲空間具有系統分區與拓展分區,系統分區用于存儲運行系統,拓展分區用于存儲拓展系統。
具體的,運行系統包括基礎系統、網絡支持模塊及OTA模塊。其中,基礎系統包括運行系統所需的最小系統,以保證終端設備系統能夠啟動,例如,基礎系統包括系統內核、根文件系統。網絡支持模塊使得終端設備系統能夠連接到互聯網,以使OTA模塊能夠下載網絡文件。拓展系統包括存儲的應用場景業務程序等。
進一步的,終端設備還包括應用分區,終端設備啟動引導程序設置于應用分區內,用于引導運行系統、恢復系統開機、升級。此外,一些不涉及OTA升級的文件也可以放入應用分區內,例如,終端設備的串號(SN號)。應用分區可通過有線連接進行升級,例如,通過USB連接升級。
需要說明的是,根據實際情況,也可以省略應用分區,此時啟動引導程序位于恢復系統或者運行系統內。當運行系統升級失敗時,可應用恢復系統內的啟動引導程序,當恢復系統燒錄失敗時,可應用運行系統的啟動引導程序。
如圖1所示,其為本發明一實施例的終端設備系統的升級方法10的流程圖。
本實施例中,終端設備系統為Linux系統。其他實施例中,終端設備也可為其他系統,例如Openwrt系統、安卓系統等。
終端設備系統的升級方法,包括:
步驟S101、獲取恢復系統的文件,并將恢復系統燒錄至拓展分區。
本實施例中,運行系統通過OTA模塊從網絡中下載恢復系統的文件,恢復系統的文件包括待升級運行系統的新版本的基礎系統文件、網絡支持模塊文件及OTA模塊文件。這樣,能夠簡化升級文件開發,減少開發時間。
在其他實施例中,恢復系統的文件包括當前運行系統的基礎系統文件、網絡支持模塊文件及OTA模塊文件。此時,恢復系統的文件既可以以當前版本運行系統為基礎生成,直接從運行系統中拷貝,即當恢復系統的文件與當前運行系統的文件相同,無需通過網絡下載恢復系統的文件;也可以通過OTA模塊從網絡下載。這樣,由于恢復系統與當前運行系統相同,能夠保證恢復系統的穩定性。
需要說明的是,運行系統也可以包括其他模塊,例如,語音模塊、安全算法模塊等。當運行系統包括其他模塊時,恢復系統的文件既可以包括運行系統中的全部文件,也可以僅包括能夠運行終端設備系統所需的必要文件,例如,包括基礎系統、網絡支持模塊及OTA模塊。
本實施例中,將恢復系統的文件燒錄至拓展分區后,拓展分區原始文件被覆蓋清除。這樣,能夠充分利用終端設備的存儲空間,無需為恢復系統提供單獨的存儲空間。
其他實施例中,若拓展分區空間足夠,恢復系統的文件也可以無需覆蓋拓展分區的原始數據,直接燒錄到拓展分區未寫入數據的存儲空間內。
步驟S102、獲取運行系統的升級文件,并燒錄至系統分區,以升級運行系統。
具體的,通過當前運行系統的OTA模塊從網絡中下載運行系統的升級文件,并升級運行系統。
其他實施例中,當恢復系統的文件與運行系統的升級文件相同時,也可以直接獲取恢復系統的文件,并將其燒錄至系統分區,此時,無需從網絡下載運行系統的升級文件。
步驟S103、判斷運行系統的升級狀態。
步驟S104a、若運行系統升級失敗,則通過拓展分區燒錄的恢復系統啟動系統,重新獲取運行系統的升級文件,并燒錄至系統分區。
獲取升級文件失敗、燒錄運行系統失敗均可造成運行系統升級失敗,此時通恢復系統啟動系統重新獲取運行系統的升級文件。具體的,通過恢復系統的OTA模塊,即新版本的OTA模塊,下載運行系統的升級文件,并升級運行系統。
步驟S104a結束后,進入步驟S103重新判斷運行系統的升級狀態。
步驟S104b、若運行系統升級成功,則下載拓展系統的升級文件,并燒錄至拓展分區。
具體的,通過升級后運行系統的OTA模塊下載拓展系統的升級文件,并升級拓展分區。本實施例中,燒錄至拓展分區的拓展系統升級文件覆蓋并清除在步驟S101中燒錄的恢復系統的相關數據,即拓展分區升級后,之前的數據被清空。
上述終端設備的系統升級方法,若運行系統升級失敗,可通過恢復系統重新升級運行系統,保證了終端設備系統升級的穩定性。并且,上述升級方法充分利用了終端設備的非易失性存儲空間,令非易失性存儲空間較小的終端設備同樣能夠穩定升級,節約了不必要的存儲空間,降低產品成本。
此外,上述升級方法同樣能夠應用在存儲空間較大的終端設備上,此時能夠充分利用終端設備的非易失性存儲空間。
進一步的,系統在升級過程中,恢復系統的文件、運行系統的升級文件、拓展系統的升級文件中至少其一下載至終端設備的內存中,之后燒錄到相應的分區內。本實施例中,各文件均下載至內存中。其他實施例中,也可以僅將恢復系統的文件、運行系統的升級文件下載至內存中,拓展系統的升級文件下載至終端設備的非易失性存儲空間內。
具體的,例如,在當前系統中構建Ramdisk系統,恢復系統及運行系統的基礎系統部分通過initramfs技術生成Ramdisk鏡像,即恢復系統的系統內核和根文件系統部分被壓縮成鏡像,以使系統在啟動過程中,系統內核加載后,自動加載根文件系統至內存中,從而在Ramdisk系統中升級系統。
將恢復系統的文件、運行系統的升級文件、拓展系統的升級文件下載至內存中,進一步提高了終端設備的對存儲空間的利用率,進而節約成本。
請一并參閱圖2,其為本發明一實施例的終端設備的系統升級方法的流程圖20。
判斷待升級系統。具體的,通過當前運行系統的OTA模塊獲取升級命令,并判斷升級分區。
若待升級系統為拓展系統,下載拓展系統的升級文件,并燒錄至拓展分區。具體的,通過當前運行系統的OTA模塊下載拓展系統的升級文件,并升級拓展分區。
若待升級系統為終端設備的系統,順序執行終端設備的系統升級方法10的各步驟,即步驟101~步驟104b。
這樣,令系統升級更加靈活,當僅需升級拓展系統分區時,簡化了升級文件的制作及升級過程,無需升級整個系統,簡化了升級過程。
需要說明的是,終端設備還可以在系統升級的各階段均具有恢復機制。
具體的,若步驟S101出現異常,例如,由于終端設備電力不足導致獲取恢復系統的文件失敗,或者燒錄恢復系統失敗,則重復步驟S101,直至步驟S101成功,進入步驟S102。
若步驟S102出現異常,即運行系統升級失敗,則通過步驟S104a重新升級運行系統,直至運行系統升級成功,進入步驟S104b。
若步驟S104b出現異常,即拓展系統升級失敗,則通過升級后的運行系統重新下載拓展系統的升級文件,并燒錄至拓展分區,直至拓展分區升級成功。
若僅需升級拓展系統時,拓展系統升級失敗,則通過當前的運行系統重新下載拓展系統的升級文件,并升級拓展分區,直至升級成功。
上述終端設備系統的升級方法,在升級的各階段均具有恢復機制,令系統在升級任意階段出現異常后均能夠重新升級,進一步保證了系統升級的穩定性。
進一步的,終端設備的系統升級方法,還可以包括:
在升級過程中,為終端設備的系統升級狀態設置標記。
在升級失敗后查詢設置的標記。
根據查詢到的標記繼續升級。
其中,標記存儲于應用分區內,并通過啟動引導程序查詢標記。根據需要,當終端設備的系統升級結束后,清除標記,例如在重啟終端設備時清除標記。
請一并參閱圖3至圖6,其分別為本發明一實施例的終端設備的系統升級方法的各步驟的流程圖。
如圖3所示,在獲取恢復系統的文件后,設置預先標記;在燒錄恢復系統至拓展分區后,設置第一標記;如圖4所示,運行系統升級成功后,即燒錄運行系統至系統分區成功后,設置第二標記;如圖5所示,拓展系統升級成功后,即燒錄拓展系統至拓展分區成功后,設置第三標記。如圖6所示,僅升級拓展分區時,下載拓展分區升級文件后,設置第二標記。其中,查詢的優先級為第三標記、第二標記、第一標記、預先標記。
若查詢到第三標記,則升級成功,無需繼續升級,重啟終端設備,若查詢到第二標記、第一標記、預先標記則根據查詢到的標記繼續升級。
具體的,若查詢到第二標記,則拓展系統升級失敗,其可為步驟S104b異常,或者僅升級拓展系統時,升級失敗,此時,重新下載拓展系統升級文件,并升級拓展系統。
若查詢到第一標記,則運行系統升級失敗,即步驟S102異常,此時,重新獲取運行系統升級文件,并升級運行系統。
若查詢到預先標記,則步驟S101異常,此時,重新獲取恢復系統的文件,并燒錄至拓展分區內。
升級運行系統時設置預先標記,僅升級拓展分區時設置第二標記,令終端設備在繼續升級的過程中,無需重新判斷待升級系統,便可直接下載需要的文件。
需要說明的是,根據實際情況,也可以在升級運行系統時,省略預先標記,此時,若未查詢到標記,則重新下載恢復系統的文件,并燒錄至拓展分區內。
以上實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發明專利范圍的限制。應當指出的是,對于本領域技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。