專利名稱:一種軟件升級方法、裝置及嵌入式設備的制作方法
技術領域:
本發(fā)明涉及嵌入式系統(tǒng)領域,尤其涉及一種軟件升級的方法、裝置及嵌入式設備。
背景技術:
現(xiàn)在的嵌入式系統(tǒng),越來越多地使用模塊化技術(基于進程管理的操作系統(tǒng)技 術)。每個進程可單獨提供程序文件進行更新。嵌入式設備廠商為了方便產(chǎn)品發(fā)布,往往 采取將引導程序和所有應用程序打成一個完整安裝包提供給用戶進行升級。每次升級的 時候,往往都需要將安裝包中的所有程序映像全部更新,一方面,在嵌入式設備中,系 統(tǒng)運行往往由一個相對比較穩(wěn)定的引導程序來引導,而廠商發(fā)行的安裝包往往連同引導 程序一起發(fā)布,而引導程序只有較少的情況下才需要升級,按照現(xiàn)在的軟件升級方法, 每次升級必然對引導程序進行升級,一旦升級過程中,引導程序升級失敗,將導致整個 設備崩潰,無法繼續(xù)升級以及運行任何軟件。另外一方面,用戶可能只是想解決原有應 用程序中的某些bug,只是想升級其中的一部分應用程序。因此,目前的升級方法無法實 現(xiàn)按照實際需求進行升級。另外,在軟件升級過程中,如果出現(xiàn)意外掉電、網(wǎng)絡異?;蛟O備故障的情況導 致部分軟件升級失敗的情況時,有可能會導致該應用程序被破壞而無法運行,這時需要 針對該程序回滾到上一個版本,或者用戶發(fā)覺新版本的一些功能運行不符合自己的預 期,也希望能夠回退到舊版本運行,在這種情況下,現(xiàn)有軟件升級技術通常還需要再獲 取到上一個發(fā)行版本的完整的安裝包,再重新升級一次,才能實現(xiàn)軟件版本的回滾,但 這種方法只能實現(xiàn)將安裝包中的所有程序都回滾到上一個版本,而不能實現(xiàn)按照實際需 求將部分程序回滾到上一個版本。
發(fā)明內(nèi)容
本發(fā)明提供一種軟件升級的方法、裝置及嵌入式設備,用于實現(xiàn)按照實際需求 對軟件進行升級。本發(fā)明提供的一種軟件升級的方法,包括依次讀取軟件升級安裝包中的每個安裝項;針對每個安裝項,讀取其中的策略文件,獲取該安裝項對應的程序的升級策 略;所述升級策略預先指定;根據(jù)所述升級策略確定是否需要對該安裝項對應的程序進行升級;并在確定需 要對所述程序進行升級時,使用該安裝項中的軟件映像對所述程序進行升級。本發(fā)明實施例提供的軟件升級的裝置,包括安裝項讀取單元,用于依次讀取軟件升級安裝包中的每個安裝項;升級策略獲取單元,用于針對每個安裝項,讀取其中的策略文件,獲取該安裝 項對應的程序的升級策略;所述升級策略預先指定;
升級單元,用于根據(jù)所述升級策略確定是否需要對該安裝項對應的程序進行升 級;并在確定需要對所述程序進行升級時,使用該安裝項中的軟件映像對所述程序進行 升級。本發(fā)明實施例提供的嵌入式設備,包括本發(fā)明實施例提供的上述軟件升級的裝置。本發(fā)明實施例的有益效果包括本發(fā)明實施例提供的軟件升級的方法、裝置及嵌入式設備,在進行軟件升級 時,依次讀取軟件升級安裝包中的每個安裝項,針對每個安裝項,讀取其中的策略文 件,獲取該安裝項對應的升級策略,根據(jù)升級策略判斷是否需要對安裝項對應的程序進 行升級,在確定需要升級時,使用安裝項中的軟件映像對程序進行升級,本發(fā)明實施例 可實現(xiàn)針對每個程序,根據(jù)實際的升級需要,分別設定相應的升級策略,更為靈活地按 照不同的升級策略分別控制嵌入式設備中各個軟件的升級操作,彌補了現(xiàn)有嵌入式設備 升級過程中無法按照實際需要進行升級的缺陷。
圖1為本發(fā)明實施例提供的軟件升級的方法的流程圖;圖2為本發(fā)明實施例提供的主安裝包的結構示意圖;圖3為本發(fā)明實施例提供的補丁安裝包的結構示意圖;圖4為本發(fā)明實施例提供的對軟件進行升級的步驟的具體流程圖;圖5為本發(fā)明實施例提供的軟件升級的裝置的結構示意圖。
具體實施例方式下面結合附圖,對本發(fā)明實施例提供的一種軟件升級的方法、裝置及嵌入式設 備分別進行詳細地說明。本發(fā)明實施例提供的軟件升級的方法,如圖1所示,包括下述步驟SlOU依次讀取軟件升級安裝包中的每個安裝項;S102、針對每個安裝項,讀取其中的策略文件,根據(jù)策略文件獲取該安裝項對 應的程序的升級策略;該程序的升級策略預先指定;S103、根據(jù)該升級策略確定是否需要對該安裝項對應的程序進行升級;如果確 定需要升級,那么執(zhí)行下述步驟S104 ;否則,執(zhí)行下述步驟S105;退出流程;S104、使用該安裝項中的軟件映像對所述程序進行升級,然后轉向S105;S105 ;退出流程。本發(fā)明實施例提供的軟件升級安裝包可以有兩種,一種是主安裝包,另一種為 補丁安裝包;主安裝包是一個完整的軟件映像,主體是主程序的軟件映像,在主程序的 軟件映像之后,附加有至少一個應用程序的安裝項。引導程序基本上不需要進行升級, 如果需要對引導程序進行升級,主安裝包中還可以包括引導程序的安裝項。補丁安裝包中,只含有需要升級的至少一個應用程序的安裝項。主安裝包的生成方式說明如下針對每個待升級的應用程序,將該應用程序的升級策略寫入對應的策略文件,將該策略文件與用于升級的該應用程序的軟件映像打包生成模塊映像作為一個應用程序 安裝項;將用于升級的所述主程序的軟件映像和各個應用程序安裝項打包生成主安裝 包。如果主安裝包中還包括引導程序的安裝項的話,上述主安裝包的生成過程中還 包括針對待升級的引導程序,將該引導程序的升級策略寫入對應的策略文件,將該策略 文件與用于升級該引導程序的軟件映像打包生成模塊映像作為引導程序安裝項;相應 地,打包生成主安裝包的過程還需要將引導程序安裝項也打包在主安裝包內(nèi)。補丁安裝包的生成方式說明如下針對每個待升級的應用程序,將該應用程序的升級策略寫入對應的策略文件, 將該策略文件與用于升級該應用程序的軟件映像打包生成模塊映像作為該應用程序的安 裝項;將各個應用程序的安裝項打包生成補丁安裝包。圖2是主安裝包的結構示意圖,其中模塊映像1 3是應用程序1 3的安裝 項,Bootloader是引導程序的安裝項。圖3是補丁安裝包的結構示意圖,其中模塊映像 1 3是應用程序1 3的安裝項。本發(fā)明實施例中,每個安裝項中的策略文件是可執(zhí)行程序映像的形式,將升級 策略按照指定格式寫成。一個典型的策略文件的內(nèi)容如下[iteml] version = 10.4 (02***) ^Release (62376)cmp = rangepolicy = upgrade[item2]version = 10.4 (02***) ^Release (62396)該策略文件中的升級策略表明,將嵌入式設備上的程序的版本號介于 10.4(2)62376 10.4(2)62396之間時,需要將該程序升級為當前安裝項中的軟件映像。
又如 [iteml]version = 10.4 (02***) ^Release (*)cmp = <policy = upgrade[item2]version = 10.6 (*****) *Release (*)cmp => =policy = upgrade該策略文件中的升級策略表明,當嵌入式設備上的程序的版本號小于10.4(2)版 本或者在10.6版本以上時,需要對該程序都要升級為當前安裝項中的軟件映像。當然,策略文件中的升級策略也可以指定程序在特定的版本上不進行任何升級,此種情況下,設置上述策略文件中的policy的值等于不升級(noupgrade)即可。上述步驟S103和步驟S104中,根據(jù)根據(jù)升級策略確定是否需要對該安裝項對應 的程序進行升級,以及確定需要對所述程序進行升級時,使用該安裝項中的軟件映像對 所述程序進行升級,具體執(zhí)行過程如圖4所示,包括S401、判斷當前嵌入式系統(tǒng)中該程序的版本是否屬于獲取到的升級策略指定的 需要升級的版本區(qū)間;若是,執(zhí)行步驟S402,若否,執(zhí)行步驟S404;S402、確定需要對該安裝項對應的程序進行升級,進一步判斷該程序的軟件映 像是否完整無誤,若完整無誤,執(zhí)行步驟S403,若否,執(zhí)行步驟S405;判斷程序的軟件映像是否完整無誤,可以使用CRC校驗的方式進行判斷,具體 方法屬于現(xiàn)有技術,在此不再進行詳述。S403、使用安裝項中的軟件映像替換當前嵌入式系統(tǒng)中的程序;然后轉向步驟 S405 ;S404、確定不需要對該安裝項對應的程序進行升級;然后轉向執(zhí)行步驟S405 ;S405、結束流程。本發(fā)明實施例中,如果采用主安裝包的方式對軟件進行升級,那么需要在嵌入 式設備啟動后,由引導程序例如bootloader加載主安裝包中主程序映像并運行,主程序運 行之后,在讀取各安裝項的升級策略,判斷是否需要對各個應用程序進行升級,如果需 要升級,使用安裝項中軟件映像替換掉當前的嵌入式系統(tǒng)中的程序即可。在主程序和應 用程序完成升級過程之后,嵌入式設備重啟,之后就按照新的版本運行了。在使用新的主安裝包對軟件升級過程之前,需要先使用當前升級使用的新的主 安裝包更新嵌入式設備中保存的主安裝包。在嵌入式設備出廠時,本地就保存有一個主安裝包,此后,一旦使用主安裝包 或者使用補丁安裝包對嵌入式設備的軟件進行升級時,都相應地對該主安裝包進行更 新。對保存的主安裝包進行更新的目的是使得當前保存的主安裝包的安裝項中軟件映像 的版本始終保持與嵌入式設備當前運行的軟件的版本一致。為了滿足按需進行軟件版本的回滾的要求,在對嵌入式設備保存的主安裝包更 新的步驟之前,還需要對嵌入式設備保存的該主安裝包進行備份,生成一個備份主安裝 包,若如此經(jīng)過多次升級操作后,嵌入式設備本地就會保存若干個歷史的備份主安裝 包。進一步地,生成備份主安裝包的過程中,還可以判斷存儲的各歷史備份主安裝 包的總數(shù)量是否超過設定的上限,若是,則刪除各歷史備份主安裝包中保存時間最早的 備份主安裝包。這樣可以盡可能備份比較新的版本的主安裝包,滿足版本回滾的需要, 同時節(jié)約嵌入式系統(tǒng)的存儲資源。假設用戶最多需要將程序回滾至前3個版本,那么本地只需要最多保存3個歷史 主安裝包(不包括本次升級后生成的備份主裝包),如果判斷當前保存的歷史主安裝包的 數(shù)量超過了 3個,那么,刪除各歷史備份主安裝包中保存時間最早的備份主安裝包,也 就是刪掉各歷史備份主安裝包中軟件版本最低的備份主安裝包。本發(fā)明實施例在使用主安裝包進行升級的過程中,如果主程序升級失敗,那么 可以通過自動加載本次升級之前生成的備份安裝包中的主程序,自動將主程序回滾至本次升級之前的版本狀態(tài)。避免了升級過程中如果主程序升級失敗導致整個設備無法正常 啟動的問題。在使用主安裝包對軟件進行升級之后,需要根據(jù)用戶的需要將指定的的程序回 滾至指定版本時,執(zhí)行下述流程1、從保存的各歷史的備份主安裝包中查找指定版本對應的備份主安裝包;2、依次讀取該備份主安裝包中的各安裝項;3、判斷讀取的安裝項是否是該指定的程序對應的安裝項;若是,執(zhí)行下述步驟 4 ;4、將該安裝項中的軟件映像替換當前嵌入式系統(tǒng)中的該指定的程序。在本發(fā)明實施例中,如果在使用主安裝包進行軟件升級后,還使用補丁安裝包 對軟件進行升級,那么,在使用補丁安裝包對軟件升級的步驟之前,還包括將嵌入式 設備當前保存的主安裝包進行備份,生成備份主安裝包的步驟。使用補丁安裝包對軟件進行升級的過程與使用主安裝包進行軟件升級的過程類 似,不同之處在于,使用補丁安裝包中的軟件映像覆蓋嵌入式系統(tǒng)中舊的軟件映像之 后,不需要重啟整個操作系統(tǒng),只需要重啟升級過的應用程序即可。在使用補丁安裝包對軟件升級的步驟之后,還可以執(zhí)行將補丁安裝包與保存主 安裝包進行合并的操作,具體地,用戶可以使用操作系統(tǒng)的升級程序的合并命令進行操 作。該合并的操作,即使用補丁安裝包中的應用程序的安裝項,更新當前保存的主安裝 包中應用程序的安裝項,使得當前嵌入式設備保存的主安裝包中的應用程序的安裝項中 軟件映像的版本,在經(jīng)過補丁安裝包的升級之后,也能夠隨時與當前嵌入式系統(tǒng)中正在 運行的程序的版本保持一致。具體的合并方法包括判斷補丁安裝包中的模塊映像在保存的主安裝包中是 否有對應的模塊映像,如果有,則進一步判斷兩者的版本號是否一致,若一致,則不替 換,若不一致,則使用補丁安裝包中的模塊映像替換掉保存的主安裝包中對應的模塊映 像。如果補丁安裝包中的模塊映像在保存的主安裝包中不存在對應的模塊映像,那么在 保存的主安裝包中新增該模塊映像。經(jīng)過上述合并過程之后,補丁安裝包可以不保存,在嵌入式設備中始終保存與 當前正在運行的程序的版本一致的主安裝包即可。如果下一次需要使用主安裝包或者補 丁安裝包進行升級時,由于在升級之前,需要對嵌入式設備保存主安裝包(經(jīng)過合并之 后的主安裝包)進行備份,生成備份安裝包,用戶如果需要將軟件版本回滾至經(jīng)過補丁 安裝包升級后的軟件版本,只要選擇該備份安裝包即可實現(xiàn)版本回滾。較佳地,為了快速準確地診斷軟件在升級過程中出現(xiàn)的各種故障,本發(fā)明實施 例還提供了自動的記錄升級日志的技術方案,升級程序執(zhí)行各項升級操作時,將升級過 程日志和升級失敗日志,在輸出的同時,記錄在嵌入式設備本地存儲介質(zhì)中,每條日志 記錄日志發(fā)生的時間戳標識。用戶如果未能及時查看輸出的升級過程和升級失敗的日 志,事后也可以通過查詢嵌入式設備保存的日志記錄,快速準確地診斷出升級過程中出 現(xiàn)故障的原因?;谕话l(fā)明構思,本發(fā)明實施例還提供了一種軟件升級的裝置及嵌入式設 備,由于該裝置及設備解決問題的原理與前述一種軟件升級的方法相似,因此該裝置和嵌入式設備的實施可以參見方法的實施,重復之處不再贅述。本發(fā)明實施例提供的軟件升級的裝置,如圖5所示,包括安裝項讀取單元501,用于依次讀取軟件升級安裝包中的每個安裝項;升級策略獲取單元502,用于針對每個安裝項,讀取其中的策略文件,獲取該安 裝項對應的程序的升級策略;所述升級策略預先指定;升級單元503,用于根據(jù)所述升級策略確定是否需要對該安裝項對應的程序進行 升級;并在確定需要對所述程序進行升級時,使用該安裝項中的軟件映像對所述程序進 行升級。進一步地,如圖5所示,本發(fā)明實施例提供的軟件升級的裝置,當使用為主安 裝包作為所述升級安裝包進行升級時,還包括主安裝包更新單元504,用于使用主安裝包對軟件升級過程之前,使用當前升級 使用的主安裝包更新嵌入式設備中保存的主安裝包。相應地,如圖5所示,本發(fā)明實施例提供的軟件升級的裝置,進一步地還可以 包括主安裝包備份單元505,用于在使用當前升級使用的主安裝包更新嵌入式設備保 存的主安裝包之前,對所述嵌入式設備保存的主安裝包進行備份,生成備份主安裝包; 并判斷當前存儲的各歷史的主安裝包的備份主安裝包及當前備份主安裝包的總數(shù)量是否 超過設定的上限,若是,則刪除各歷史的備份主安裝包中保存時間最早的備份主安裝 包。相應地,如圖5所示,本發(fā)明實施例提供的軟件升級的裝置,進一步地還可以 包括軟件回滾處理單元506,用于從保存的各歷史的備份主安裝包中查找指定版本對 應的備份主安裝包;依次讀取該備份主安裝包中的各安裝項;判斷讀取的安裝項是否是 該指定的程序對應的安裝項;若是,將該安裝項中的軟件映像替換當前嵌入式系統(tǒng)中的 該指定的程序。進一步地,當使用為主安裝包作為所述升級安裝包進行軟件升級之后,若還使 用補丁安裝包進行軟件升級,上述主安裝包更新單元504,還用于在使用補丁安裝包對軟 件升級的步驟之后,使用所述補丁安裝包中的應用程序的安裝項,更新當前保存的主安 裝包中的應用程序的安裝項。相應地,主安裝包備份單元505,還用于在使用補丁安裝包對軟件升級的步驟之 前,將嵌入式設備當前保存的主安裝包進行備份,生成備份主安裝包。本發(fā)明實施例還提供了一種嵌入式設備,該嵌入式設備中包括本發(fā)明實施例提 供的軟件升級的裝置。本發(fā)明實施例提供的軟件升級的方法、裝置及嵌入式設備,在進行軟件升級 時,依次讀取軟件升級安裝包中的每個安裝項,針對每個安裝項,讀取其中的策略文 件,獲取該安裝項對應的升級策略,根據(jù)升級策略判斷是否需要對安裝項對應的程序進 行升級,在確定需要升級時,使用安裝項中的軟件映像對程序進行升級,本發(fā)明實施例 可實現(xiàn)針對每個程序,根據(jù)實際的升級需要,分別設定相應的升級策略,更為靈活地按 照不同的升級策略分別控制嵌入式設備中各個軟件的升級操作,彌補了現(xiàn)有嵌入式設備 升級過程中無法按照實際需要進行升級的缺陷。進一步地,本發(fā)明實施例提供了兩種具體的軟件升級安裝包以及對應的升級方法,主安裝包是包含主程序映像及各應用程序安裝項的軟件升級包,通過每次升級之 前,對保存的主安裝包進行備份的方式,可以方便地從保存的各個歷史的備份主安裝包 中查找到對應版本的軟件映像,從而實現(xiàn)按照實際需求進行部分軟件的版本回滾,而無 需像現(xiàn)有技術那樣,需要將安裝包中所有的程序都實現(xiàn)版本回滾。本發(fā)明實施例提供的 另一種軟件升級安裝包即補丁安裝包,僅包含應用程序的安裝項,用戶可以根據(jù)需要, 只對補丁安裝包中的軟件全部或者部分進行升級,進一步地提高了軟件升級的靈活度。 并且在補丁安裝包對軟件升級完成后,將補丁安裝包與當前主安裝包進行合并,使得當 前主安裝包始終保持與當前嵌入式設備中運行的軟件的版本一致,在嵌入式設備出現(xiàn)故 障無法運行時,可使用主安裝包進行升級操作,及時回到故障之前的狀態(tài)。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的 精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的 范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權利要求
1.一種軟件升級的方法,其特征在于,包括 依次讀取軟件升級安裝包中的每個安裝項;針對每個安裝項,讀取其中的策略文件,并根據(jù)讀取的策略文件獲取該安裝項對應 的程序的升級策略,所述升級策略預先指定;根據(jù)所述升級策略確定是否需要對該安裝項對應的程序進行升級;并在確定需要對 所述程序進行升級時,使用該安裝項中的軟件映像對所述程序進行升級。
2.如權利要求1所述的方法,其特征在于,軟件升級安裝包為主安裝包或補丁安裝包;所述主安裝包中包含主程序的軟件映像以及至少一個應用程序的安裝項; 所述補丁安裝包中的安裝項包括至少一個應用程序的安裝項; 使用所述主安裝包進行軟件升級時,在所述依次讀取軟件升級包中的每個安裝項之 前,還包括嵌入式設備啟動后,引導程序加載主安裝包中的主程序的軟件映像并運行。
3.如權利要求2所述的方法,其特征在于,所述主安裝包按照下述方式生成針對每個待升級的應用程序,將該應用程序的升級策略寫入對應的策略文件,將 該策略文件與用于升級該應用程序的軟件映像打包生成模塊映像作為一個應用程序安裝 項;將用于升級所述主程序的軟件映像和應用程序安裝項打包生成主安裝包; 所述補丁安裝包按照下述方式生成針對每個待升級的應用程序,將該應用程序的升級策略寫入對應的策略文件,將 該策略文件與用于升級該應用程序的軟件映像打包生成模塊映像作為該應用程序的安裝 項;將各個應用程序的安裝項打包生成補丁安裝包。
4.如權利要求1所述的方法,其特征在于,根據(jù)所述升級策略確定是否需要對該安裝 項對應的程序進行升級,包括判斷當前嵌入式系統(tǒng)中所述程序的版本是否屬于獲取到的所述升級策略指定的需要 升級的版本區(qū)間;若是,確定需要對該安裝項對應的程序進行升級,若否,確定不需要對該安裝項對 應的程序進行升級。
5.如權利要求4所述的方法,其特征在于,所述使用該安裝項中的軟件映像對所述程 序進行升級,包括判斷所述安裝項中的軟件映像是否完整無誤;在判斷安裝項中的的軟件映像完整無 誤時,使用安裝項中的軟件映像替換當前嵌入式系統(tǒng)中所述程序。
6.如權利要求2所述的方法,其特征在于,使用主安裝包對軟件升級過程之前,還包括使用當前升級使用的主安裝包更新嵌入式設備中保存的主安裝包。
7.如權利要求6所述的方法,其特征在于,使用當前升級使用的主安裝包更新嵌入式 設備保存的主安裝包之前,還包括對所述嵌入式設備保存的主安裝包進行備份,生成備份主安裝包;判斷存儲的各歷史的備份主安裝包的總數(shù)量是否超過設定的上限,若是,則刪除各 歷史的備份主安裝包中保存時間最早的備份主安裝包。
8.如權利要求7所述的方法,其特征在于,在使用主安裝包對軟件升級的過程中,如 果主程序升級失敗,還包括自動加載本次升級之前生成的備份主安裝包中的主程序。
9.如權利要求2所述的方法,其特征在于,在使用主安裝包進行軟件升級之后,若還 使用補丁安裝包對軟件進行升級,在使用補丁安裝包對軟件升級的步驟之前,還包括將嵌入式設備當前保存的主安裝包進行備份,生成備份主安裝包;在使用補丁安裝包對軟件升級的步驟之后,還包括使用所述補丁安裝包中的應用程序的安裝項,更新當前嵌入式設備保存的主安裝包 中的應用程序的安裝項。
10.如權利要求7-9任一項所述的方法,其特征在于,用戶需要將指定的程序回滾至 指定版本時,還包括從保存的各歷史的備份主安裝包中查找指定版本對應的備份主安裝包;依次讀取該備份主安裝包中的各安裝項;判斷讀取的安裝項是否是該指定的程序對應的安裝項;若是,將該安裝項中的軟件映像替換當前嵌入式系統(tǒng)中的該指定的程序。
11.一種軟件升級的裝置,其特征在于,包括安裝項讀取單元,用于依次讀取軟件升級安裝包中的每個安裝項;升級策略獲取單元,用于針對每個安裝項,讀取其中的策略文件,獲取該安裝項對 應的程序的升級策略;所述升級策略預先指定;升級單元,用于根據(jù)所述升級策略確定是否需要對該安裝項對應的程序進行升級; 并在確定需要對所述程序進行升級時,使用該安裝項中的軟件映像對所述程序進行升 級。
12.如權利要求11所述的裝置,其特征在于,當使用為主安裝包作為所述升級安裝包 進行升級時,還包括主安裝包更新單元,用于使用主安裝包對軟件升級過程之前,使用當前升級使用的 主安裝包更新嵌入式設備中保存的主安裝包。
13.如權利要求12所述的裝置,其特征在于,還包括主安裝包備份單元,用于在 使用當前升級使用的主安裝包更新嵌入式設備保存的主安裝包之前,對所述嵌入式設備 保存的主安裝包進行備份,生成備份主安裝包;并判斷當前存儲的各歷史的主安裝包的 備份主安裝包及當前備份主安裝包的總數(shù)量是否超過設定的上限,若是,則刪除各歷史 的備份主安裝包中保存時間最早的備份主安裝包。
14.如權利要求13所述的裝置,其特征在于,當使用為主安裝包作為所述升級安裝包 進行軟件升級之后,若還使用補丁安裝包進行軟件升級,所述主安裝包更新單元,還用 于在使用補丁安裝包對軟件升級的步驟之后,使用所述補丁安裝包中的應用程序的安裝 項,更新當前保存的主安裝包中的應用程序的安裝項;所述主安裝包備份單元,還用于在使用補丁安裝包對軟件升級的步驟之前,將嵌入 式設備當前保存的主安裝包進行備份,生成備份主安裝包。
15.如權利要求13或14所述的裝置,其特征在于,還包括軟件回滾處理單元,用于在用戶需要將指定的程序回滾至指定版本時,從保存的各 歷史的備份主安裝包中查找指定版本對應的備份主安裝包;依次讀取該備份主安裝包中 的各安裝項;判斷讀取的安裝項是否是該指定的程序對應的安裝項;若是,將該安裝項 中的軟件映像替換當前嵌入式系統(tǒng)中的該指定的程序。
16.—種嵌入式設備,其特征在于,包括如權利要求11 15任一項所述的軟件升級 的裝置。
全文摘要
本發(fā)明公開了一種軟件升級的方法、裝置及嵌入式設備。其中方法包括依次讀取軟件升級安裝包中的每個安裝項;針對每個安裝項,讀取其中的策略文件,獲取該安裝項對應的程序的升級策略;升級策略預先指定;根據(jù)升級策略確定是否需要對該安裝項對應的程序進行升級;并在確定需要對該程序進行升級時,使用該安裝項中的軟件映像對該程序進行升級。本發(fā)明實施例在軟件升級包中除了攜帶軟件映像之外,還根據(jù)實際的升級需要,攜帶對應的升級策略,實現(xiàn)按照預先指定的升級策略對軟件進行升級。
文檔編號G06F9/445GK102023881SQ20101058820
公開日2011年4月20日 申請日期2010年12月14日 優(yōu)先權日2010年12月14日
發(fā)明者葉建興 申請人:福建星網(wǎng)銳捷網(wǎng)絡有限公司