亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于嵌入式裝置Linux的多狀態(tài)備份和快速恢復(fù)方法

文檔序號:6374890閱讀:347來源:國知局
專利名稱:基于嵌入式裝置Linux的多狀態(tài)備份和快速恢復(fù)方法
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種基于嵌入式裝置Linux的多狀態(tài)備份和快速恢復(fù)方法。
背景技術(shù)
嵌入式設(shè)備主要是由嵌入式處理器、相關(guān)支撐硬件和嵌入式軟件系統(tǒng)組成,它是集軟硬件于一體的可獨(dú)立工作的器件。嵌入式軟件包括與硬件相關(guān)的底層軟件、操作系統(tǒng)、圖形界面、通信協(xié)議、數(shù)據(jù)庫系統(tǒng)和應(yīng)用軟件等。嵌入式Linux作為一種主要的開源免費(fèi)、功能強(qiáng)大的操作系統(tǒng)被廣泛地應(yīng)用于眾多的嵌入式設(shè)備中。從軟件角度來看,嵌入式設(shè)備具有不可修改性、配置較低、系統(tǒng)專業(yè)性和實(shí)時(shí)性較強(qiáng)等特點(diǎn)。因此,對于各種專用的嵌入式設(shè)備,實(shí)現(xiàn)通用的多狀態(tài)備份和快速恢復(fù)功能對于縮短工作中斷時(shí)間、適應(yīng)復(fù)雜工作環(huán)境、改善用戶體驗(yàn),都是很有意義的。
嵌入式Linux具有源碼開放、安全可靠、內(nèi)核可定制等特點(diǎn),是眾多嵌入式設(shè)備系統(tǒng)平臺的首選。但是由于Linux基于文件的體系結(jié)構(gòu),系統(tǒng)啟動(dòng)時(shí)間過長的問題難以根本改善,再計(jì)入各應(yīng)用程序的加載時(shí)間,一般要花費(fèi)幾十秒。

發(fā)明內(nèi)容
為克服上述缺陷,本發(fā)明提供了一種基于嵌入式裝置Linux的多狀態(tài)備份和快速恢復(fù)方法,大大縮短了嵌入式Linux設(shè)備從上電至期望工作狀態(tài)的時(shí)間,一般可在5秒之內(nèi),而且縮短了設(shè)備工作中斷時(shí)間,對于復(fù)雜環(huán)境下的嵌入式設(shè)備很有裨益,解決了系統(tǒng)啟動(dòng)時(shí)間過長的問題,具有恢復(fù)時(shí)間短、易用性好和資源占用少的特點(diǎn)。為實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于嵌入式裝置Linux的多狀態(tài)備份和快速恢復(fù)方法,包括狀態(tài)備份過程和快速恢復(fù)過程,其特征在于,所述狀態(tài)備份過程包括步驟(101).保存應(yīng)用環(huán)境下相關(guān)的工作狀態(tài),轉(zhuǎn)化為應(yīng)用信息快照和應(yīng)用功能快照,壓縮寫入Flash中的對應(yīng)配置選項(xiàng)區(qū)塊;(102).在退出應(yīng)用環(huán)境后,保存設(shè)備驅(qū)動(dòng)層的工作狀態(tài),轉(zhuǎn)化為驅(qū)動(dòng)快照,壓縮寫A Flash ;(103).保存CPU的狀態(tài)信息和Linux的運(yùn)行環(huán)境,即形成內(nèi)核快照,將內(nèi)核快照壓縮寫入Flash ;其中,F(xiàn)lash包括Flash分區(qū)O、Flash分區(qū)I、Flash分區(qū)2和Flash分區(qū)3。所述快速恢復(fù)過程包括步驟(201).拷貝 Flash 中的 FastRecover BIOS 至內(nèi)存中執(zhí)行;(202).解壓、解析Flash中的內(nèi)核快照和驅(qū)動(dòng)快照,初始化相應(yīng)的CPU寄存器、內(nèi)存和外設(shè);(203).確定需要加載的配置選項(xiàng)號,解壓并解析Flash中對應(yīng)的應(yīng)用信息快照和應(yīng)用功能快照至指定內(nèi)存;
(204).嵌入式裝置的控制權(quán)交由Linux,獲取對應(yīng)的應(yīng)用信息腳本、應(yīng)用功能腳本,由其進(jìn)行順序地初始化。本發(fā)明提供的優(yōu)選技術(shù)方案中,所述步驟101包括如下步驟(101-1).利用腳本程序檢測設(shè)備的當(dāng)前應(yīng)用狀態(tài),獲取內(nèi)核模塊信息、進(jìn)程運(yùn)行信息、磁盤掛載信息和應(yīng)用配置信息,并將它們整合為應(yīng)用信息腳本;(101-2).將應(yīng)用信息腳本轉(zhuǎn)化為應(yīng)用信息快照格式;(101-3).分析主功能器件的當(dāng)前寄存器表,及該器件相關(guān)接口部分的配置寄存器值,形成應(yīng)用功能腳本;(101-4).將應(yīng)用功能腳本轉(zhuǎn)化為應(yīng)用功能快照格式;(101-5).將應(yīng)用信息快照和應(yīng)用功能快照壓縮填入Flash分區(qū)3的配置選項(xiàng)N塊 區(qū),N的選擇根據(jù)多狀態(tài)選擇策略的規(guī)則確定,至此就把應(yīng)用的某種狀態(tài)完整保存進(jìn)行N區(qū)塊中。本發(fā)明提供的第二優(yōu)選技術(shù)方案中,在所述步驟101-3中,主功能器件就是設(shè)備中的多狀態(tài)保存對象,所述多狀態(tài)保存對象包括工業(yè)交換機(jī)的交換芯片和無源光網(wǎng)絡(luò)終端的PON芯片。本發(fā)明提供的第三優(yōu)選技術(shù)方案中,所述步驟101中的使用Perl腳本語言探測應(yīng)用環(huán)境下的進(jìn)程運(yùn)行、模塊加載、磁盤掛載和應(yīng)用配置獲取應(yīng)用信息,記錄狀態(tài)信息,并拷貝配置文件。本發(fā)明提供的第四優(yōu)選技術(shù)方案中,所述步驟102包括如下步驟(102-1).殺掉運(yùn)行的應(yīng)用進(jìn)程、卸載掉已掛載的盤符、并卸載掉已加載的內(nèi)核模塊;(102-2).保存各外設(shè)驅(qū)動(dòng)模塊的寄存器值及相關(guān)接口的寄存器值,形成驅(qū)動(dòng)寄存器表;(102-3).將驅(qū)動(dòng)寄存器表轉(zhuǎn)化為驅(qū)動(dòng)快照;(102-4).將驅(qū)動(dòng)快照壓縮,并填入Flash分區(qū)2中。本發(fā)明提供的第五優(yōu)選技術(shù)方案中,所述步驟103包括如下步驟(103-1).保存當(dāng)前CPU的各寄存器狀態(tài)值,獲取內(nèi)存中Linux運(yùn)行相關(guān)的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化為內(nèi)存表;(103-2).將所述寄存器值和內(nèi)存表統(tǒng)一轉(zhuǎn)化為內(nèi)核快照;(103-3).將內(nèi)核快照壓縮填入Flash分區(qū)I中。本發(fā)明提供的第六優(yōu)選技術(shù)方案中,所述步驟201包括如下步驟(201-1).系統(tǒng)上電或者重啟時(shí),首先加載bootloader,在bootloader中選擇是否進(jìn)入FastRecover模式;(201-2).拷貝Flash分區(qū)O中的FastRecoer BIOS至內(nèi)存并執(zhí)行;其中,F(xiàn)astRecoer BIOS具有解壓縮、恢復(fù)快照的功能。本發(fā)明提供的第七優(yōu)選技術(shù)方案中,所述步驟202包括如下步驟(202-1).解壓并解析Flash分區(qū)I中的內(nèi)核快照,恢復(fù)相應(yīng)的CPU寄存器、內(nèi)存中的Linux相關(guān)數(shù)據(jù)結(jié)構(gòu);(202-2).解壓并解析Flash分區(qū)2中的驅(qū)動(dòng)快照,恢復(fù)外設(shè)寄存器、相關(guān)接口寄存器,并對外設(shè)進(jìn)行初始化。本發(fā)明提供的第八優(yōu)選技術(shù)方案中,所述步驟203包括如下步驟(203-1).根據(jù)面向應(yīng)用的多狀態(tài)選擇策略確定需要加載的配置選項(xiàng)N值;(203-2).解壓并解析Flash分區(qū)3中配置選項(xiàng)塊N中的應(yīng)用信息快照和應(yīng)用功能快照至指定內(nèi)存區(qū)域;其中,各個(gè)N值對應(yīng)不同的應(yīng)用狀態(tài);多狀態(tài)劃分根據(jù)具體應(yīng)用確定,包括與具體應(yīng)用策略對應(yīng)的多種狀態(tài),即每種狀態(tài)適應(yīng)一種應(yīng)用策略;區(qū)分裝置的全速或低速運(yùn)行的狀態(tài);和區(qū)分裝置的省電模式或是正常模式的狀態(tài)。本發(fā)明提供的第九優(yōu)選技術(shù)方案中,所述步驟204包括如下步驟(204-1).嵌入式裝置的控制權(quán)交給Linux內(nèi)核主程序,并在內(nèi)存指定位置獲取應(yīng) 用信息腳本和應(yīng)用功能腳本;(204-2).按照應(yīng)用信息腳本掛載磁盤、加載模塊、執(zhí)行進(jìn)程和配置參數(shù);(204-3).按照應(yīng)用功能腳本初始化相應(yīng)的主功能器件。與現(xiàn)有技術(shù)比,本發(fā)明提供的一種基于嵌入式裝置Linux的多狀態(tài)備份和快速恢復(fù)方法,可以大大縮嵌入式Linux設(shè)備從上電至期望工作狀態(tài)的時(shí)間,一般可在5秒之內(nèi),縮短了設(shè)備工作中斷時(shí)間,對于復(fù)雜環(huán)境下的嵌入式設(shè)備很有裨益;而且,可以事先面向多種應(yīng)用狀態(tài)保存多個(gè)狀態(tài)配置選項(xiàng),恢復(fù)時(shí)根據(jù)具體情況還原至期望狀態(tài),靈活適應(yīng)多種現(xiàn)場使用情況;還有,對嵌入式Linux改動(dòng)較小,大部分是對嵌入式Linux的模型抽象,獨(dú)立編程,僅需做少部分的Linux代碼補(bǔ)丁,便于該方法在多種專用嵌入式Linux設(shè)備上應(yīng)用;再者,采用壓縮格式保存各種快照映像,大大地減少Flash的資源需求,對CPU和內(nèi)存也無特殊要求。


圖I為基于嵌入式裝置Linux的多狀態(tài)備份和快速恢復(fù)方法的概括流程圖。圖2為方法執(zhí)行的總體層次圖。圖3為狀態(tài)備份過程的流程圖。圖4為快速恢復(fù)過程的流程圖。
具體實(shí)施例方式如圖1、2所示的一種基于嵌入式裝置Linux的多狀態(tài)備份和快速恢復(fù)方法,包括狀態(tài)備份過程和快速恢復(fù)過程,所述狀態(tài)備份過程包括步驟步驟101 :保存應(yīng)用環(huán)境下相關(guān)的工作狀態(tài),轉(zhuǎn)化為應(yīng)用信息快照和應(yīng)用功能快照,壓縮寫入Flash中的對應(yīng)配置選項(xiàng)區(qū)塊。步驟102 :在退出應(yīng)用環(huán)境后,保存設(shè)備驅(qū)動(dòng)層的工作狀態(tài),轉(zhuǎn)化為驅(qū)動(dòng)快照,壓縮寫入Flash。步驟103 :保存CPU的狀態(tài)信息和Linux的運(yùn)行環(huán)境,即形成內(nèi)核快照,將內(nèi)核快照壓縮寫入Flash。所述快速恢復(fù)過程包括步驟步驟201 :拷貝Flash中的FastRecover BIOS至內(nèi)存中執(zhí)行,由該程序來主導(dǎo)后續(xù)的恢復(fù)過程。步驟202 :解壓、解析Flash中的內(nèi)核快照和驅(qū)動(dòng)快照,初始化相應(yīng)的CPU寄存器、內(nèi)存、外設(shè)。步驟203 :確定需要加載的配置選項(xiàng)號,解壓、解析Flash中對應(yīng)的應(yīng)用信息快照和應(yīng)用功能快照至指定內(nèi)存。步驟204 :控制權(quán)交由Linux,獲取對應(yīng)的應(yīng)用信息腳本、應(yīng)用功能腳本,由其進(jìn)行順序地初始化。所述步驟101中的應(yīng)用信息的獲取是使用Perl腳本語言探測應(yīng)用環(huán)境下的進(jìn)程運(yùn)行、模塊加載、磁盤掛載、應(yīng)用配置等狀況,記錄狀態(tài)信息,拷貝配置文件。所述步驟101中的應(yīng)用功能快照是針對主功能器件的狀態(tài)保存,即設(shè)備多狀態(tài)保存的主要對象,主功能器件的選擇根據(jù)具體情況來定,例如交換機(jī)中即可選擇設(shè)備中的交換芯片進(jìn)行狀態(tài)保存和恢復(fù),從而實(shí)現(xiàn)多種交換配置狀態(tài)的備份,當(dāng)然也可以針對多個(gè)功 能器件的組合狀態(tài)保存。具體實(shí)現(xiàn)是使用Perl腳本查看功能寄存器的狀態(tài),運(yùn)用預(yù)先設(shè)計(jì)的規(guī)則,將其轉(zhuǎn)化為相應(yīng)的配置腳本,此部分內(nèi)容需要根據(jù)應(yīng)用進(jìn)行定制設(shè)計(jì)。所述步驟102中退出應(yīng)用環(huán)境才進(jìn)行后續(xù)的狀態(tài)保存工作,即殺掉應(yīng)用進(jìn)程、卸載磁盤、卸載模塊后,這樣后續(xù)只需要備份一個(gè)最小的Linux系統(tǒng),從而簡化了對設(shè)備驅(qū)動(dòng)層和內(nèi)核層的狀態(tài)保存,同時(shí)使權(quán)利要求3中的配置選項(xiàng)保存完全面向應(yīng)用層,便于實(shí)現(xiàn)多狀態(tài)選擇策略。所述狀態(tài)備份步驟中多處使用快照功能和壓縮保存功能。這些功能都用C語言開發(fā),在Iinux環(huán)境下直接運(yùn)行的,其中快照功能根據(jù)對象不同有腳本快照、寄存器快照、內(nèi)存快照三種,分別用不同類型的數(shù)據(jù)結(jié)構(gòu)和算法來實(shí)現(xiàn)。壓縮保存功能用即是常用的GZIP格式完成的。所述步驟201中FastRecover BIOS是用C語言開發(fā)的,是一個(gè)獨(dú)立運(yùn)行的程序,在Linux啟動(dòng)之前承擔(dān)了恢復(fù)快照的工作,具有解壓、解析快照等功能,是權(quán)利要求5所述功能的逆操作。其中,各個(gè)N值對應(yīng)不同的應(yīng)用狀態(tài);多狀態(tài)劃分根據(jù)具體應(yīng)用確定,包括與具體應(yīng)用策略對應(yīng)的多種狀態(tài),即每種狀態(tài)適應(yīng)一種應(yīng)用策略;區(qū)分裝置的全速或低速運(yùn)行的狀態(tài);和區(qū)分裝置的省電模式或是正常模式的狀態(tài)。通過下面的實(shí)施例對狀態(tài)備份過程作進(jìn)一步解釋。如圖3所示,所述狀態(tài)備份過程包括步驟如下I.利用腳本程序檢測設(shè)備的當(dāng)前應(yīng)用狀態(tài),獲取內(nèi)核模塊信息、進(jìn)程運(yùn)行信息、磁盤掛載信息、應(yīng)用配置信息,并將它們整合為應(yīng)用信息腳本。2.將應(yīng)用信息腳本轉(zhuǎn)化為應(yīng)用信息快照格式。3.分析主功能器件的當(dāng)前寄存器表,及其相關(guān)接口的寄存器值,形成應(yīng)用功能腳本。此處的主功能器件就是設(shè)備中的多狀態(tài)保存的主要對象。4.將應(yīng)用功能腳本轉(zhuǎn)化為應(yīng)用功能快照格式。5.將應(yīng)用信息快照和應(yīng)用功能快照壓縮填入Flash分區(qū)3的配置選項(xiàng)N塊區(qū),N的選擇根據(jù)多狀態(tài)選擇策略的規(guī)則確定,至此就把應(yīng)用的某種狀態(tài)完整保存進(jìn)行N區(qū)塊中。6.殺掉運(yùn)行的應(yīng)用進(jìn)程、卸載掉已掛載的盤符、卸載掉已加載的內(nèi)核模塊。
7.保存此狀態(tài)下各外設(shè)驅(qū)動(dòng)模塊的寄存器值及相關(guān)接口的I寄存器值,形成驅(qū)動(dòng)寄存器表。8.將驅(qū)動(dòng)寄存器表轉(zhuǎn)化為驅(qū)動(dòng)快照。9.將驅(qū)動(dòng)快照壓縮,并填入Flash分區(qū)2中。10.保存當(dāng)前CPU的各寄存器狀態(tài)值,獲取內(nèi)存中Linux運(yùn)行相關(guān)的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化為內(nèi)存表。11.將上述寄存器值和內(nèi)存表統(tǒng)一轉(zhuǎn)化為內(nèi)核快照。12.將內(nèi)核快照壓縮填入Flash分區(qū)I中。13.至此,狀態(tài)備份過程完成,可以重啟或者關(guān)機(jī)。
通過下面的實(shí)施例對快速恢復(fù)過程作進(jìn)一步解釋。如圖4所示,所述快速恢復(fù)過程包括步驟I.系統(tǒng)上電或者重啟時(shí),首先加載bootloader,在bootloader中選擇是否進(jìn)入FastRecover 模式。2.拷貝Flash分區(qū)O中的FastRecoer BIOS至內(nèi)存,在內(nèi)存中執(zhí)行FastRecoerBI0S,該程序具有解壓縮、恢復(fù)快照等功能。3.解壓、解析Flash分區(qū)I中的內(nèi)核快照恢復(fù)相應(yīng)的CPU寄存器、內(nèi)存中的Linux相關(guān)數(shù)據(jù)結(jié)構(gòu)。4.解壓、解析Flash分區(qū)2中的驅(qū)動(dòng)快照恢復(fù)外設(shè)寄存器、相關(guān)接口寄存器,以及進(jìn)行一些必要外設(shè)初始化。5.根據(jù)狀態(tài)選擇策略確定需要加載的配置選項(xiàng)N值。6.解壓、解析Flash分區(qū)3中配置選項(xiàng)塊N中的應(yīng)用信息快照和應(yīng)用功能快照至指定內(nèi)存區(qū)域。7.控制權(quán)交給Linux內(nèi)核主程序Main,并在內(nèi)存指定位置獲取應(yīng)用信息腳本、應(yīng)用功能腳本8.按照應(yīng)用信息腳本掛載磁盤、加載模塊、執(zhí)行進(jìn)程、配置參數(shù)。9.按照應(yīng)用功能腳本初始化相應(yīng)的主功能器件至指定工作狀態(tài)。10.此時(shí)設(shè)備即完全恢復(fù)至期望的工作狀態(tài)。需要聲明的是,本發(fā)明內(nèi)容及具體實(shí)施方式
意在證明本發(fā)明所提供技術(shù)方案的實(shí)際應(yīng)用,不應(yīng)解釋為對本發(fā)明保護(hù)范圍的限定。本領(lǐng)域技術(shù)人員在本發(fā)明的精神和原理啟發(fā)下,可作各種修改、等同替換、或改進(jìn)。但這些變更或修改均在申請待批的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種基于嵌入式裝置Linux的多狀態(tài)備份和快速恢復(fù)方法,包括狀態(tài)備份過程和快速恢復(fù)過程,其特征在于,所述狀態(tài)備份過程包括步驟 (101).保存應(yīng)用環(huán)境下相關(guān)的工作狀態(tài),轉(zhuǎn)化為應(yīng)用信息快照和應(yīng)用功能快照,壓縮寫入Flash中的對應(yīng)配置選項(xiàng)區(qū)塊; (102).在退出應(yīng)用環(huán)境后,保存設(shè)備驅(qū)動(dòng)層的工作狀態(tài),轉(zhuǎn)化為驅(qū)動(dòng)快照,壓縮寫入Flash ; (103).保存CPU的狀態(tài)信息和Linux的運(yùn)行環(huán)境,即形成內(nèi)核快照,將內(nèi)核快照壓縮寫A Flash ; 其中,F(xiàn)lash包括Flash分區(qū)O、Flash分區(qū)I、Flash分區(qū)2和Flash分區(qū)3。
所述快速恢復(fù)過程包括步驟 (201).拷貝Flash中的FastRecoverBIOS至內(nèi)存中執(zhí)行; (202).解壓、解析Flash中的內(nèi)核快照和驅(qū)動(dòng)快照,初始化相應(yīng)的CPU寄存器、內(nèi)存和外設(shè); (203).確定需要加載的配置選項(xiàng)號,解壓并解析Flash中對應(yīng)的應(yīng)用信息快照和應(yīng)用功能快照至指定內(nèi)存; (204).嵌入式裝置的控制權(quán)交由Linux,獲取對應(yīng)的應(yīng)用信息腳本、應(yīng)用功能腳本,由其進(jìn)行順序地初始化。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述步驟101包括如下步驟 (101-1).利用腳本程序檢測設(shè)備的當(dāng)前應(yīng)用狀態(tài),獲取內(nèi)核模塊信息、進(jìn)程運(yùn)行信息、磁盤掛載信息和應(yīng)用配置信息,并將它們整合為應(yīng)用信息腳本; (101-2).將應(yīng)用信息腳本轉(zhuǎn)化為應(yīng)用信息快照格式; (101-3).分析主功能器件的當(dāng)前寄存器表,及該器件相關(guān)接口部分的配置寄存器值,形成應(yīng)用功能腳本; (101-4).將應(yīng)用功能腳本轉(zhuǎn)化為應(yīng)用功能快照格式; (101-5).將應(yīng)用信息快照和應(yīng)用功能快照壓縮填入Flash分區(qū)3的配置選項(xiàng)N塊區(qū),N的選擇根據(jù)多狀態(tài)選擇策略的規(guī)則確定,至此就把應(yīng)用的某種狀態(tài)完整保存進(jìn)行N區(qū)塊中。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述步驟101-3中,主功能器件就是設(shè)備中的多狀態(tài)保存對象,所述多狀態(tài)保存對象包括工業(yè)交換機(jī)的交換芯片和無源光網(wǎng)絡(luò)終端的PON芯片。
4.根據(jù)權(quán)利要求1-3所述的方法,其特征在于,所述步驟101中的使用Perl腳本語言探測應(yīng)用環(huán)境下的進(jìn)程運(yùn)行、模塊加載、磁盤掛載和應(yīng)用配置獲取應(yīng)用信息,記錄狀態(tài)信息,并拷貝配置文件。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述步驟102包括如下步驟 (102-1).殺掉運(yùn)行的應(yīng)用進(jìn)程、卸載掉已掛載的盤符、并卸載掉已加載的內(nèi)核模塊; (102-2).保存各外設(shè)驅(qū)動(dòng)模塊的寄存器值及相關(guān)接口的寄存器值,形成驅(qū)動(dòng)寄存器表; (102-3).將驅(qū)動(dòng)寄存器表轉(zhuǎn)化為驅(qū)動(dòng)快照; (102-4).將驅(qū)動(dòng)快照壓縮,并填入Flash分區(qū)2中。
6.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述步驟103包括如下步驟 (103-1).保存當(dāng)前CPU的各寄存器狀態(tài)值,獲取內(nèi)存中Linux運(yùn)行相關(guān)的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化為內(nèi)存表; (103-2).將所述寄存器值和內(nèi)存表統(tǒng)一轉(zhuǎn)化為內(nèi)核快照; (103-3).將內(nèi)核快照壓縮填入Flash分區(qū)I中。
7.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述步驟201包括如下步驟 (201-1).系統(tǒng)上電或者重啟時(shí),首先加載bootloader,在bootloader中選擇是否進(jìn)入FastRecover 模式; (201-2).拷貝Flash分區(qū)O中的FastRecoer BIOS至內(nèi)存并執(zhí)行; 其中,F(xiàn)astRecoer BIOS具有解壓縮、恢復(fù)快照的功能。
8.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述步驟202包括如下步驟 (202-1).解壓并解析Flash分區(qū)I中的內(nèi)核快照,恢復(fù)相應(yīng)的CPU寄存器、內(nèi)存中的Linux相關(guān)數(shù)據(jù)結(jié)構(gòu); (202-2).解壓并解析Flash分區(qū)2中的驅(qū)動(dòng)快照,恢復(fù)外設(shè)寄存器、相關(guān)接口寄存器,并對外設(shè)進(jìn)行初始化。
9.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述步驟203包括如下步驟 (203-1).根據(jù)面向應(yīng)用的多狀態(tài)選擇策略確定需要加載的配置選項(xiàng)N值; (203-2).解壓并解析Flash分區(qū)3中配置選項(xiàng)塊N中的應(yīng)用信息快照和應(yīng)用功能快照至指定內(nèi)存區(qū)域; 其中,各個(gè)N值對應(yīng)不同的應(yīng)用狀態(tài);多狀態(tài)劃分根據(jù)具體應(yīng)用確定,包括與具體應(yīng)用策略對應(yīng)的多種狀態(tài),即每種狀態(tài)適應(yīng)一種應(yīng)用策略;區(qū)分裝置的全速或低速運(yùn)行的狀態(tài);和區(qū)分裝置的省電模式或是正常模式的狀態(tài)。
10.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述步驟204包括如下步驟 (204-1).嵌入式裝置的控制權(quán)交給Linux內(nèi)核主程序,并在內(nèi)存指定位置獲取應(yīng)用信息腳本和應(yīng)用功能腳本; (204-2).按照應(yīng)用信息腳本掛載磁盤、加載模塊、執(zhí)行進(jìn)程和配置參數(shù); (204-3).按照應(yīng)用功能腳本初始化相應(yīng)的主功能器件。
全文摘要
本發(fā)明提供了一種基于嵌入式裝置Linux的多狀態(tài)備份和快速恢復(fù)方法,可以大大縮嵌入式Linux設(shè)備從上電至期望工作狀態(tài)的時(shí)間,一般可在5秒之內(nèi),縮短了設(shè)備工作中斷時(shí)間,對于復(fù)雜環(huán)境下的嵌入式設(shè)備很有裨益;而且,可以事先面向多種應(yīng)用狀態(tài)保存多個(gè)狀態(tài)配置選項(xiàng),恢復(fù)時(shí)根據(jù)具體情況還原至期望狀態(tài),靈活適應(yīng)多種現(xiàn)場使用情況;還有,對嵌入式Linux改動(dòng)較小,大部分是對嵌入式Linux的模型抽象,獨(dú)立編程,僅需做少部分的Linux代碼補(bǔ)丁,便于該方法在多種專用嵌入式Linux設(shè)備上應(yīng)用;再者,采用壓縮格式保存各種快照映像,大大地減少Flash的資源需求,對CPU和內(nèi)存也無特殊要求。
文檔編號G06F11/14GK102831034SQ20121028843
公開日2012年12月19日 申請日期2012年8月14日 優(yōu)先權(quán)日2012年8月14日
發(fā)明者于海, 虞躍, 姚啟桂, 鄧輝, 吳鵬, 陳磊, 王瑋, 侯功, 沈文, 喻強(qiáng), 黃治, 于鵬飛, 陳偉, 任杰, 張?jiān)鋈A, 孫曉艷 申請人:中國電力科學(xué)研究院, 國家電網(wǎng)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1