本發(fā)明涉及操作系統(tǒng)技術(shù)領(lǐng)域,特別是涉及一種用于終端設(shè)備的啟動方法和系統(tǒng)。
背景技術(shù):
由于操作系統(tǒng)的復雜度和種類不斷增加,其系統(tǒng)內(nèi)核與基于其上的軟件平臺的復雜度與量級也不斷增長。大型的系統(tǒng)內(nèi)核與軟件平臺因需要大量的初始化流程與文件加載,往往會造成系統(tǒng)啟動的延遲。
為解決上述問題,諸如休眠功能與掛起到硬盤之類的方法已經(jīng)被提出。休眠功能與硬盤掛起方法能通過在關(guān)閉系統(tǒng)時在非易失性介質(zhì)如磁盤、閃存中存儲隨機存取存儲器(ram)與cpu的狀態(tài)信息來賦予系統(tǒng)快速啟動的功能;被存儲的狀態(tài)信息在系統(tǒng)重啟時會被還原至原來的位置,其中,被存儲的狀態(tài)信息通稱為快照。
休眠的原理是將系統(tǒng)當前狀態(tài)保存在硬盤中的一個休眠文件里,接著所有設(shè)備關(guān)閉,重啟時自動調(diào)用硬盤保存的文件,恢復到關(guān)機前的狀態(tài),但恢復速度較慢;掛起是將當前狀態(tài)全部加載至內(nèi)存,硬盤停止供電,雖然此種方法恢復速度較快,但如果斷電,則系統(tǒng)狀態(tài)全部丟失,只能進行重啟。
因此,如何既能保證系統(tǒng)信息的安全性,又能保證系統(tǒng)重啟的速度,是本領(lǐng)域技術(shù)人員目前需要解決的技術(shù)問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種用于終端設(shè)備的啟動方法和系統(tǒng),既能保證系統(tǒng)信息的安全性,又能保證系統(tǒng)重啟的速度。
為解決上述技術(shù)問題,本發(fā)明提供了如下技術(shù)方案:
一種用于終端設(shè)備的啟動方法,包括:
預先根據(jù)目標終端設(shè)備的系統(tǒng)狀態(tài)信息生成對應(yīng)的快照;
將所述快照分離成若干快照塊;
將各所述快照塊存儲至預設(shè)非易失性存儲器;
判斷當前處于關(guān)閉狀態(tài)的所述目標終端設(shè)備是否要進行系統(tǒng)重啟;
若是,則將存儲在所述預設(shè)非易失性存儲器中的快照塊加載至預設(shè)的易失性存儲器中;
對所述目標終端設(shè)備進行系統(tǒng)重啟。
優(yōu)選地,所述將各所述快照塊存儲至預設(shè)非易失性存儲器,包括:判斷各所述快照塊是否符合預設(shè)的壓縮條件;若是,則對符合預設(shè)的壓縮條件的快照塊進行壓縮;將各壓縮后的快照塊以及不符合預設(shè)的壓縮條件的快照塊均存儲至預設(shè)非易失性存儲器;
相應(yīng)地,所述將存儲在所述預設(shè)非易失性存儲器中的快照塊加載至預設(shè)的易失性存儲器中,包括:將存儲在所述預設(shè)非易失性存儲器中的快照塊加載至預設(shè)的易失性存儲器中,并對加載至所述預設(shè)的易失性存儲器中的被壓縮的各快照塊進行解壓縮。
優(yōu)選地,所述將存儲在所述預設(shè)非易失性存儲器中的快照塊加載至預設(shè)的易失性存儲器中,并對加載至所述預設(shè)的易失性存儲器中的被壓縮的各快照塊進行解壓縮,包括:
將存儲在所述預設(shè)非易失性存儲器中的快照塊加載至預設(shè)的易失性存儲器中;
實時判斷所述預設(shè)的易失性存儲器中是否存儲有已加載完畢的快照塊;
若是,則判斷已加載完畢的快照塊是否是被壓縮的快照塊;
若是,則實時對該被壓縮的快照塊進行解壓縮。
優(yōu)選地,所述判斷各所述快照塊是否符合預設(shè)的壓縮條件,包括:
判斷各所述快照塊的壓縮時間和加載時間之和是否小于該快照塊的截止時間;
判斷各所述快照塊的壓縮比率是否處于預設(shè)的閾值范圍內(nèi)。
優(yōu)選地,所述將存儲在所述預設(shè)非易失性存儲器中的快照塊加載至預設(shè)的易失性存儲器中,包括:
判斷存儲在所述預設(shè)非易失性存儲器中的各所述快照塊是否包含系統(tǒng)重啟所必要的數(shù)據(jù);
若是,則將該快照塊加載至預設(shè)的易失性存儲器中。
一種用于終端設(shè)備的啟動系統(tǒng),包括:
快照生成模塊,預先根據(jù)目標終端設(shè)備的系統(tǒng)狀態(tài)信息生成對應(yīng)的快照;
快照分離模塊,用于將所述快照分離成若干快照塊;
非易失存儲模塊,用于存儲各所述快照塊;
判斷模塊,用于判斷當前處于關(guān)閉狀態(tài)的所述目標終端設(shè)備是否要進行系統(tǒng)重啟;
易失存儲模塊,用于在所述判斷模塊判定當前處于關(guān)閉狀態(tài)的所述目標終端設(shè)備要進行系統(tǒng)重啟時,加載存儲在所述非易失存儲模塊中的快照塊;
啟動模塊,用于根據(jù)所述易失存儲模塊加載的快照塊對所述目標終端設(shè)備進行系統(tǒng)重啟。
優(yōu)選地,所述非易失存儲模塊包括:第一判斷單元,用于判斷各所述快照塊是否符合預設(shè)的壓縮條件;壓縮單元,用于在所述第一判斷單元判定各所述快照塊符合預設(shè)的壓縮條件時,對符合預設(shè)的壓縮條件的快照塊進行壓縮;第一存儲單元,用于存儲各壓縮后的快照塊以及不符合預設(shè)的壓縮條件的快照塊;
相應(yīng)地,所述易失存儲模塊包括:加載單元,用于將存儲在所述非易失存儲模塊中的快照塊加載至第二存儲單元;所述第二存儲單元,用于存儲所述加載單元加載的快照塊;解壓單元,用于對所述第二存儲單元中的被壓縮的各快照塊進行解壓縮。
優(yōu)選地,所述易失存儲模塊還包括:
第二判斷單元,用于實時判斷所述第二存儲單元中是否存儲有已加載完畢的快照塊;
第三判斷單元,用于在所述第二判斷單元判定所述第二存儲單元中存儲有已加載完畢的快照塊時,判斷已加載完畢的快照塊是否是被壓縮的快照塊;
其中,所述解壓單元用于在所述第三判斷單元判定已加載完畢的快照塊是被壓縮的快照塊時,實時對該被壓縮的快照塊進行解壓縮。
優(yōu)選地,所述第一判斷單元包括:
第一判斷子單元,用于判斷各所述快照塊的壓縮時間和加載時間之和是否小于該快照塊的截止時間;
第二判斷子單元,用于判斷各所述快照塊的壓縮比率是否處于預設(shè)的閾值范圍內(nèi)。
優(yōu)選地,所述易失存儲模塊還包括:
第四判斷單元,用于判斷存儲在所述非易失性存儲模塊中的各所述快照塊是否包含系統(tǒng)重啟所必要的數(shù)據(jù);
其中,所述加載單元還用于在所述第四判斷單元判定存儲在所述非易失性存儲模塊中的各所述快照塊包含系統(tǒng)重啟所必要的數(shù)據(jù)時,將該快照塊加載至所述第二存儲單元。
與現(xiàn)有技術(shù)相比,上述技術(shù)方案具有以下優(yōu)點:
本發(fā)明所提供的一種用于終端設(shè)備的啟動方法,包括:預先根據(jù)目標終端設(shè)備的系統(tǒng)狀態(tài)信息生成對應(yīng)的快照;將快照分離成若干快照塊;將各快照塊存儲至預設(shè)非易失性存儲器;判斷當前處于關(guān)閉狀態(tài)的目標終端設(shè)備是否要進行系統(tǒng)重啟;若是,則將存儲在預設(shè)非易失性存儲器中的快照塊加載至預設(shè)的易失性存儲器中;對目標終端設(shè)備進行系統(tǒng)重啟。通過生成快照來保存終端設(shè)備的系統(tǒng)狀態(tài)信息,將快照存儲在非易失性存儲器中,避免了斷電造成系統(tǒng)狀態(tài)信息的丟失,保障了系統(tǒng)信號的安全性,而當需要進行系統(tǒng)重啟時,將非易失性存儲器中的快照加載到易失性存儲器,以將被存儲的系統(tǒng)狀態(tài)信息被還原至原來的位置,實現(xiàn)快速的重啟,既保證了系統(tǒng)信息的安全性,又保證了系統(tǒng)重啟的速度。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一種具體實施方式所提供的用于終端設(shè)備的啟動方法流程圖;
圖2為本發(fā)明一種具體實施方式所提供的快照分離示意圖圖;
圖3為本發(fā)明一種具體實施方式所提供的用于終端設(shè)備的啟動系統(tǒng)結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明的核心是提供一種用于終端設(shè)備的啟動方法和系統(tǒng),既能保證系統(tǒng)信息的安全性,又能保證系統(tǒng)重啟的速度。
為了使本發(fā)明的上述目的、特征和優(yōu)點能夠更為明顯易懂,下面結(jié)合附圖對本發(fā)明的具體實施方式做詳細的說明。
在以下描述中闡述了具體細節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以多種不同于在此描述的其它方式來實施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似推廣。因此本發(fā)明不受下面公開的具體實施的限制。
請參考圖1和圖2,圖1為本發(fā)明一種具體實施方式所提供的用于終端設(shè)備的啟動方法流程圖;圖2為本發(fā)明一種具體實施方式所提供的快照分離示意圖圖。
本發(fā)明的一種具體實施方式提供了一種用于終端設(shè)備的啟動方法,包括:
s11:預先根據(jù)目標終端設(shè)備的系統(tǒng)狀態(tài)信息生成對應(yīng)的快照。
在本實施方式中,快照所包含的系統(tǒng)狀態(tài)信息包含了目標終端設(shè)備的處理器、內(nèi)存和io設(shè)備等所有與終端有關(guān)的信息??梢愿鶕?jù)目標終端設(shè)備第一次啟動后的系統(tǒng)狀態(tài)信息生成快照。
s12:將快照分離成若干快照塊。
在本發(fā)明的一種實施方式中,快照可以被分為多個頁,每個快照塊包含了一個或多個頁,如圖2所示,一個快照可以被分為多個快照塊,在本實施方式中,將快照分為n+1個快照塊,n為大于0的整數(shù),并對各快照塊進行編號,編號從block#0到block#n。
s13:將各快照塊存儲至預設(shè)非易失性存儲器。
所謂的非易失性存儲器指的是硬盤和磁盤等存儲設(shè)備,非易失性存儲器即便在斷電的情況下也不會因為斷電丟失自身保存的數(shù)據(jù)。以實現(xiàn)系統(tǒng)狀態(tài)信息存儲的安全性。
s14:判斷當前處于關(guān)閉狀態(tài)的目標終端設(shè)備是否要進行系統(tǒng)重啟。
s15:若是,則將存儲在預設(shè)非易失性存儲器中的快照塊加載至預設(shè)的易失性存儲器中。
在本實施方式中,易失性存儲器指的是內(nèi)存等存儲器。
s16:對目標終端設(shè)備進行系統(tǒng)重啟。
根據(jù)易失性存儲器中的快照塊來實現(xiàn)對目標終端設(shè)備的重啟。
本實施方式所提供的用于終端設(shè)備的啟動方法,通過生成快照來保存終端設(shè)備關(guān)閉前的系統(tǒng)狀態(tài)信息,將快照存儲在非易失性存儲器中,避免了斷電造成系統(tǒng)狀態(tài)信息的丟失,保障了系統(tǒng)信號的安全性,而當需要進行系統(tǒng)重啟時,將非易失性存儲器中的快照加載到易失性存儲器,以將被存儲的系統(tǒng)狀態(tài)信息被還原至原來的位置,實現(xiàn)快速的重啟,既保證了系統(tǒng)信息的安全性,又保證了系統(tǒng)重啟的速度。
在本發(fā)明的一種實施方式中,將各快照塊存儲至預設(shè)非易失性存儲器,包括:判斷各快照塊是否符合預設(shè)的壓縮條件;若是,則對符合預設(shè)的壓縮條件的快照塊進行壓縮;將各壓縮后的快照塊以及不符合預設(shè)的壓縮條件的快照塊均存儲至預設(shè)非易失性存儲器;
相應(yīng)地,將存儲在預設(shè)非易失性存儲器中的快照塊加載至預設(shè)的易失性存儲器中,包括:將存儲在預設(shè)非易失性存儲器中的快照塊加載至預設(shè)的易失性存儲器中,并對加載至預設(shè)的易失性存儲器中的被壓縮的各快照塊進行解壓縮。
在本實施方式中,為了進一步提高目標終端設(shè)備的重啟速度,對快照塊進行了壓縮,以提高將快照塊加載至易失性存儲器中的效率。進一步地,判斷各快照塊是否符合預設(shè)的壓縮條件,包括:判斷各快照塊的壓縮時間和加載時間之和是否小于該快照塊的截止時間;判斷各快照塊的壓縮比率是否處于預設(shè)的閾值范圍內(nèi)。即根據(jù)各快照塊的解壓縮時間、加載時間、截止時間和塊壓縮比率等因素來決定是否壓縮各快照塊。若解加壓縮時間過長則會降低快系統(tǒng)重啟的效率。
若快照塊在系統(tǒng)啟動初期被加載,可以通過比較當前快照塊的壓縮時間和上一快照塊的加載時間而決定是否壓縮當前快照塊,若當前快照塊的壓縮時間大于上一快照塊的加載時間則不必壓縮該快照塊,否則,可以進行壓縮。也可以同時比較壓縮率和快照預設(shè)的閾值共同決定是否壓縮當前快照塊。進一步地,還可以通過比較快照塊的壓縮時間和加載時間之和和該快照塊的截止時間而決定是否壓縮,若壓縮時間和加載時間之和沒超過截止時間,則可以壓縮該快照塊。
在本實施方式中,為了進一步提高啟動效率,進一步地,將存儲在預設(shè)非易失性存儲器中的快照塊加載至預設(shè)的易失性存儲器中,并對加載至預設(shè)的易失性存儲器中的被壓縮的各快照塊進行解壓縮,包括:將存儲在預設(shè)非易失性存儲器中的快照塊加載至預設(shè)的易失性存儲器中;實時判斷預設(shè)的易失性存儲器中是否存儲有已加載完畢的快照塊;若是,則判斷已加載完畢的快照塊是否是被壓縮的快照塊;若是,則實時對該被壓縮的快照塊進行解壓縮??梢酝瑫r進行一個快照塊的加載和另一快照塊的解壓縮,例如,如圖2所示的n+1個快照塊均為被壓縮的快照塊,將block#0加載至易失性存儲器中,在后續(xù)的循環(huán)過程中,在加載block#1的同時對block#0進行解壓縮,并依此對后續(xù)的快照塊以并行的方式進行處理。當然,在本實施方式中,可以根據(jù)需要來對部分或全部快照塊進行壓縮,若加載的當前快照塊并未被壓縮,直接進行加載即可。
需要說明的是,所謂的加載時間指的是快照塊由非易失性存儲器到易失性存儲器的時間。各快照塊的截止時間指的是對應(yīng)快照塊需要進行完全加載的時間,在本實施方式中,快照塊需要在自身對應(yīng)的截止時間之內(nèi)完全加載,從而使終端設(shè)備從關(guān)機狀態(tài)運行至正常作業(yè)狀態(tài)。各快照塊的壓縮比率表明了各快照塊需要被削減的容量大小的程度。
在本發(fā)明的一種實施方式中,將存儲在預設(shè)非易失性存儲器中的快照塊加載至預設(shè)的易失性存儲器中,包括:判斷存儲在預設(shè)非易失性存儲器中的各快照塊是否包含系統(tǒng)重啟所必要的數(shù)據(jù);若是,則將該快照塊加載至預設(shè)的易失性存儲器中。
在本實施方式中,可以根據(jù)當前快照塊是否包含了系統(tǒng)啟動時需要加載的數(shù)據(jù)頁等信息決定當前快照塊是否為一個必要快照塊。若當前快照塊沒有包含系統(tǒng)啟動時需要加載的數(shù)據(jù)頁等信息,則當前快照塊就是一個非必要快照塊,則甚至無需加載至易失性存儲器中,這樣可以減少加載的快照塊的數(shù)量,從而減少加載時間。
例如block#0是一個必要快照塊,比較block#0的解壓縮時間與block#n的加載時間,也就是上個block的加載時間,若block#0的解壓縮時間小于block#n的加載時間,則進一步?jīng)Q定是否將block#0以一個高于預先設(shè)定的速率進行壓縮,若確定將block#0以一個高于預先設(shè)定的速率進行壓縮,則決策完畢,block#0可以被壓縮。
快照塊的加載和解壓縮可能同步進行。例如,block#0在時間t被加載,block#1在時間(t+1)被加載,如果block#0是一個壓縮快照塊,則block#1的加載和block#0的解壓縮可能同時進行;再例如,如果block#1不是壓縮快照塊,block#1的解壓縮可能不被運行;相同的,如果block#1是一個壓縮快照塊,block#2的加載和block#1的解壓縮可能在時間(t+2)同時進行。
需要說明的是,這種同步處理方式需要終端配置多個處理器。例如,如果終端配置了兩個處理器且兩個處理器獨立運行,則一個處理器可以被設(shè)置為處理快照塊的加載,另一個處理器被設(shè)置為處理快照塊的解壓縮。
請參考圖3,圖3為本發(fā)明一種具體實施方式所提供的用于終端設(shè)備的啟動系統(tǒng)結(jié)構(gòu)示意圖。
相應(yīng)地,本發(fā)明一種實施方式還提供了一種用于終端設(shè)備的啟動系統(tǒng),包括:快照生成模塊31,預先根據(jù)目標終端設(shè)備的系統(tǒng)狀態(tài)信息生成對應(yīng)的快照;快照分離模塊32,用于將快照分離成若干快照塊;非易失存儲模塊33,用于存儲各快照塊;判斷模塊34,用于判斷當前處于關(guān)閉狀態(tài)的目標終端設(shè)備是否要進行系統(tǒng)重啟;易失存儲模塊35,用于在判斷模塊判定當前處于關(guān)閉狀態(tài)的目標終端設(shè)備要進行系統(tǒng)重啟時,加載存儲在非易失存儲模塊33中的快照塊;啟動模塊36,用于根據(jù)易失存儲模塊35加載的快照塊對目標終端設(shè)備進行系統(tǒng)重啟。
進一步地,非易失存儲模塊包括:第一判斷單元,用于判斷各快照塊是否符合預設(shè)的壓縮條件;壓縮單元,用于在第一判斷單元判定各快照塊符合預設(shè)的壓縮條件時,對符合預設(shè)的壓縮條件的快照塊進行壓縮;第一存儲單元,用于存儲各壓縮后的快照塊以及不符合預設(shè)的壓縮條件的快照塊;相應(yīng)地,易失存儲模塊包括:加載單元,用于將存儲在非易失存儲模塊中的快照塊加載至第二存儲單元;第二存儲單元,用于存儲加載單元加載的快照塊;解壓單元,用于對第二存儲單元中的被壓縮的各快照塊進行解壓縮。
易失存儲模塊還包括:第二判斷單元,用于實時判斷第二存儲單元中是否存儲有已加載完畢的快照塊;第三判斷單元,用于在第二判斷單元判定第二存儲單元中存儲有已加載完畢的快照塊時,判斷已加載完畢的快照塊是否是被壓縮的快照塊;其中,解壓單元用于在第三判斷單元判定已加載完畢的快照塊是被壓縮的快照塊時,實時對該被壓縮的快照塊進行解壓縮。
第一判斷單元包括:第一判斷子單元,用于判斷各快照塊的壓縮時間和加載時間之和是否小于該快照塊的截止時間;第二判斷子單元,用于判斷各快照塊的壓縮比率是否處于預設(shè)的閾值范圍內(nèi)。
易失存儲模塊還包括:第四判斷單元,用于判斷存儲在非易失性存儲模塊中的各快照塊是否包含系統(tǒng)重啟所必要的數(shù)據(jù);其中,加載單元還用于在第四判斷單元判定存儲在非易失性存儲模塊中的各快照塊包含系統(tǒng)重啟所必要的數(shù)據(jù)時,將該快照塊加載至第二存儲單元
本實施方式所提供的用于終端設(shè)備的啟動系統(tǒng),通過生成快照來保存終端設(shè)備關(guān)閉前的系統(tǒng)狀態(tài)信息,將快照存儲在非易失性存儲器中,避免了斷電造成系統(tǒng)狀態(tài)信息的丟失,保障了系統(tǒng)信號的安全性,而當需要進行系統(tǒng)重啟時,將非易失性存儲器中的快照加載到易失性存儲器,以將被存儲的系統(tǒng)狀態(tài)信息被還原至原來的位置,實現(xiàn)快速的重啟,既保證了系統(tǒng)信息的安全性,又保證了系統(tǒng)重啟的速度。
綜上所述,本發(fā)明所提供的用于終端設(shè)備的啟動方法和系統(tǒng),當目標終端設(shè)備需要重啟時,從非易失性存儲器中調(diào)用快照的形式至易失性存儲器中,既保證了速度,又保證了安全性;將快照分離為若干快照塊,并對快照塊進行相應(yīng)的壓縮和解壓縮,進一步提高快照的存放效率,對快照塊的必要性判斷以及加載和解壓縮的時機的判斷和處理,進一步提高了終端設(shè)備的重啟速度。
以上對本發(fā)明所提供的一種用于終端設(shè)備的啟動方法和系統(tǒng)進行了詳細介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。