基于恢復(fù)服務(wù)的操作系統(tǒng)備份和恢復(fù)的方法及其設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明總的來(lái)說(shuō)涉及計(jì)算機(jī)操作系統(tǒng)領(lǐng)域,具體而言涉及用于操作系統(tǒng)備份和操作系統(tǒng)恢復(fù)的方法、系統(tǒng)以及相應(yīng)的計(jì)算設(shè)備。
【背景技術(shù)】
[0002]諸如臺(tái)式機(jī)、平板計(jì)算機(jī)之類(lèi)的計(jì)算設(shè)備的啟動(dòng)過(guò)程通常包括下列步驟:
[0003].計(jì)算設(shè)備上電,硬件復(fù)位,各硬件模塊初始化;
[0004].CPU (在平板計(jì)算機(jī)設(shè)備的情況下為應(yīng)用處理單元APU)復(fù)位;
[0005].CPU執(zhí)行B1S或者固件(以下將二者統(tǒng)稱為固件)中的程序,其中在固件中可能存放有高級(jí)配置和電源管理接口(ACPI)表格等硬件信息、或者操作系統(tǒng)激活碼(如Windows操作系統(tǒng)激活碼)等等;
[0006].執(zhí)行主引導(dǎo)記錄(MBR) /或保護(hù)性MBR ;
[0007].執(zhí)行引導(dǎo)加載器(Boot-Loader)、比如Elilo、Grub、Lilo、ARM引導(dǎo)加載器,具體細(xì)節(jié)可參見(jiàn):
[0008]http://blog.csdn.net/yx444/article/details/7060424:
[0009].執(zhí)行操作系統(tǒng)加載器(OS Loader);
[0010].啟動(dòng)操作系統(tǒng)。
[0011]當(dāng)操作系統(tǒng)安裝好以后,操作系統(tǒng)一般會(huì)為自己生成一個(gè)快照(snapshot),并且將該快照保存到獨(dú)立的分區(qū)、即恢復(fù)(recovery)分區(qū)中?;謴?fù)分區(qū)的內(nèi)容在操作系統(tǒng)正常運(yùn)行時(shí)不可見(jiàn)。當(dāng)操作系統(tǒng)本身被破壞時(shí),固件可以利用恢復(fù)分區(qū)中所保存的快照按照預(yù)定義的規(guī)則來(lái)重新恢復(fù)該操作系統(tǒng)。然而,恢復(fù)分區(qū)本身也可能受到破壞(例如由于病毒攻擊、用戶誤操作、物理存儲(chǔ)設(shè)備損壞等等),在這種情況下,傳統(tǒng)的系統(tǒng)恢復(fù)方案無(wú)法恢復(fù)操作系統(tǒng)。此外,固件中的ACPI表格信息也可能受到破壞,例如ACPI表格中的操作系統(tǒng)激活碼可能被刪除(此時(shí)用戶可能需要重新安裝系統(tǒng)并重新購(gòu)買(mǎi)操作系統(tǒng)激活碼),使得系統(tǒng)恢復(fù)難以進(jìn)行并且給用戶帶來(lái)?yè)p失。
[0012]另一方面,近年來(lái)隨著多種操作系統(tǒng)的興起,在同一計(jì)算設(shè)備上安裝多個(gè)操作系統(tǒng)的現(xiàn)象也變得常見(jiàn)。在多操作系統(tǒng)的情況下,與單操作系統(tǒng)相比操作系統(tǒng)本身更易于受到損壞。這是因?yàn)?,?dāng)多個(gè)操作系統(tǒng)中的第一操作系統(tǒng)活動(dòng)時(shí),雖然它不認(rèn)識(shí)也不能讀取另一不活動(dòng)的操作系統(tǒng)、即第二操作的分區(qū)中的內(nèi)容,但是第一操作系統(tǒng)在一些特權(quán)操作中或者在受到病毒攻擊時(shí)可能破壞或刪除第二操作系統(tǒng)的分區(qū)、甚至破壞固件中保存的第二操作系統(tǒng)的ACPI表格等重要信息。因此,在安裝多操作系統(tǒng)的計(jì)算設(shè)備中尤其需要一種高效的系統(tǒng)備份和恢復(fù)的方法。
【發(fā)明內(nèi)容】
[0013]從現(xiàn)有技術(shù)出發(fā),本發(fā)明的任務(wù)是提供可靠和高效的用于系統(tǒng)備份和系統(tǒng)恢復(fù)的方法、系統(tǒng)以及相應(yīng)的計(jì)算設(shè)備。
[0014]在本發(fā)明的第一方面的第一部分,該任務(wù)在系統(tǒng)備份方面通過(guò)一種在計(jì)算設(shè)備上進(jìn)行操作系統(tǒng)備份的方法來(lái)解決,該方法包括下列步驟:
[0015].生成操作系統(tǒng)的快照;以及
[0016].使用云服務(wù)將所述快照上傳到云端。
[0017]在本發(fā)明中,通過(guò)使用該方法,可以將操作系統(tǒng)的快照在計(jì)算設(shè)備本地以外的位置處為操作系統(tǒng)備份,從而提高備份的可靠性。而且,隨著近年來(lái)云存儲(chǔ)技術(shù)的普及,云存儲(chǔ)對(duì)于存儲(chǔ)大數(shù)據(jù)量而言是一個(gè)可靠和低成本的方案。此外,為了保證用戶隱私和安全性,可以在用戶上傳快照時(shí)以及在之后下載快照時(shí)對(duì)用戶進(jìn)行鑒權(quán),例如要求用戶提供相應(yīng)憑證(如用戶名、密碼等)。
[0018]本發(fā)明的方案可以應(yīng)用于各種計(jì)算設(shè)備、例如諸如智能手機(jī)、個(gè)人數(shù)字助理(PDA)、平板計(jì)算機(jī)、上網(wǎng)本、膝上型計(jì)算機(jī)之類(lèi)的便攜式計(jì)算設(shè)備、以及諸如臺(tái)式機(jī)、服務(wù)器、工作站之類(lèi)的非移動(dòng)計(jì)算設(shè)備。
[0019]在本發(fā)明的一個(gè)擴(kuò)展方案中,所述生成步驟和所述上傳步驟由所述操作系統(tǒng)中運(yùn)行的恢復(fù)服務(wù)來(lái)執(zhí)行。該恢復(fù)服務(wù)可以是操作系統(tǒng)的標(biāo)準(zhǔn)組件、由設(shè)備制造商提供或預(yù)裝的軟件程序、或者由第三方提供的軟件程序?;謴?fù)服務(wù)可以由制造商在操作系統(tǒng)安裝完成以后生成快照,也可以在用戶首次運(yùn)行操作系統(tǒng)時(shí)生成快照,還可以根據(jù)用戶選擇在合適的時(shí)刻生成快照。此外,恢復(fù)服務(wù)可以在生成快照以后對(duì)快照進(jìn)行壓縮或去除冗余信息以減小要上傳的數(shù)據(jù)量。
[0020]在本發(fā)明的另一擴(kuò)展方案中,所述系統(tǒng)的快照為全磁盤(pán)的內(nèi)容快照或者為部分分區(qū)的內(nèi)容快照。在備份全磁盤(pán)的內(nèi)容快照的情況下,可以更全面地恢復(fù)整個(gè)磁盤(pán),而在備份磁盤(pán)的部分分區(qū)的內(nèi)容快照的情況下,可以減小所生成的快照的數(shù)據(jù)量。用戶可以自由選擇備份范圍,例如可以選擇全磁盤(pán)備份,也可以選擇僅備份更重要的分區(qū)。
[0021]在本發(fā)明的一個(gè)優(yōu)選方案中,前述方法還包括下列步驟:
[0022].根據(jù)所述操作系統(tǒng)自上次上傳所述快照以來(lái)的改變生成增量快照;以及
[0023].將所述增量快照上傳到云端以更新所述快照。
[0024]在本發(fā)明中,通過(guò)該方法,可以不必每次都生成完整的快照、而是僅僅為內(nèi)容發(fā)生變化的部分生成增量快照,從而縮短生成快照的時(shí)間并減小要上傳的數(shù)據(jù)量。例如,操作系統(tǒng)可以通過(guò)在存儲(chǔ)器的驅(qū)動(dòng)程序或者文件系統(tǒng)或者操作系統(tǒng)的其它代碼路徑(code path)中插入鉤(Hook)的方法來(lái)探知哪個(gè)(些)邏輯塊地址(LBA)塊的內(nèi)容被寫(xiě)過(guò)(發(fā)生變化);或者恢復(fù)服務(wù)可以用枚舉的方法確定哪個(gè)(些)LBA塊的內(nèi)容是被寫(xiě)過(guò)的(發(fā)生變化):比如為當(dāng)前每個(gè)LBA塊中的內(nèi)容計(jì)算散列(Hash)值,并且將其與原LBA塊中的內(nèi)容的散列值比較(原LBA塊內(nèi)容的散列值可以保存在本地,或者臨時(shí)從云端獲取),如果散列值不同,則該LBA塊的內(nèi)容是新的。在確定內(nèi)容發(fā)生改變的LBA塊以后,為這些LBA塊生成快照并上傳到云端以更新快照。該LBA快照可以以增量?jī)?nèi)容形式,增量?jī)?nèi)容的壓縮形式,完整內(nèi)容形式,或者以完整內(nèi)容的壓縮形式上傳和存放。
[0025]在本發(fā)明的另一優(yōu)選方案中,在所述計(jì)算設(shè)備上安裝有第一操作系統(tǒng)和第二操作系統(tǒng),并且由當(dāng)前活動(dòng)的第一操作系統(tǒng)生成全磁盤(pán)快照或者為第二操作系統(tǒng)(第二操作系統(tǒng)當(dāng)前可以為活動(dòng)的,也可以為不活動(dòng)的)的分區(qū)生成快照;或者由當(dāng)前活動(dòng)的操作系統(tǒng)生成全磁盤(pán)快照或者為另一個(gè)操作系統(tǒng)的分區(qū)生成快照。在本發(fā)明中,通過(guò)使用該優(yōu)選方案,可以在多操作系統(tǒng)的情況下實(shí)現(xiàn)統(tǒng)一的備份功能,而不必在每個(gè)操作系統(tǒng)中分別實(shí)現(xiàn)備份功能。
[0026]在本發(fā)明的又一優(yōu)選方案中,在生成所述快照時(shí)關(guān)閉其它程序,和/或?qū)⑵渌绦蚣虞d到內(nèi)存中并且使這些程序不再寫(xiě)磁盤(pán),和/或使用陰影復(fù)制(Shadow Copy)技術(shù)。在本發(fā)明中,通過(guò)使用該優(yōu)選方案,可以維護(hù)數(shù)據(jù)的完整性。
[0027]在本發(fā)明的一個(gè)擴(kuò)展方案中,所述方法在所述生成步驟以后還包括:
[0028].將所述快照保存在所述計(jì)算設(shè)備本地;以及
[0029].延后到網(wǎng)絡(luò)可用時(shí)和/或者系統(tǒng)空閑時(shí)將所述快照上傳到云端。
[0030]在本申請(qǐng)中,通過(guò)該擴(kuò)展方案,可以將云端備份與本地備份相結(jié)合,從而提高備份的可靠性。
[0031]在本發(fā)明的一個(gè)優(yōu)選方案中,所述快照包含時(shí)間戳、分區(qū)表和ACPI表格信息。在本申請(qǐng)中,通過(guò)該優(yōu)選方案,可以在固件中的諸如分區(qū)表和ACPI表格之類(lèi)的信息受損的情況下恢復(fù)這些信息,從而為操作系統(tǒng)的恢復(fù)提供前提條件,同時(shí)通過(guò)在快照中包含時(shí)間戳,可以方便地對(duì)快照進(jìn)行管理。
[0032]在本發(fā)明的第一方面的第二部分,該任務(wù)在系統(tǒng)恢復(fù)方面由一種在計(jì)算機(jī)上進(jìn)行系統(tǒng)恢復(fù)的方法來(lái)解決,包括下列步驟:
[0033].使用云服務(wù)從云端下載操作系統(tǒng)的快照;以及
[0034].使用所述快照恢復(fù)所述操作系統(tǒng)。
[0035]在本發(fā)明中,通過(guò)該方法,可以實(shí)現(xiàn)更可靠的系統(tǒng)恢復(fù),因?yàn)榧词够謴?fù)分區(qū)遭到破壞,仍然可以使用根據(jù)本發(fā)明的方法來(lái)恢復(fù)系統(tǒng)。所述恢復(fù)例如可以通過(guò)恢復(fù)操作系統(tǒng)的分區(qū),或者恢復(fù)操作系統(tǒng)的系統(tǒng)文件等方式來(lái)進(jìn)行。此外,如上所述,為了保證用戶隱私和安全性,可以在用戶下載快照時(shí)對(duì)用戶進(jìn)行鑒權(quán),例如要求用戶提供相應(yīng)憑證(如用戶名、密碼等)。
[0036]在本發(fā)明的一個(gè)優(yōu)選方案中,所述快照是由計(jì)算設(shè)備的制造商上傳到云端的初始系統(tǒng)標(biāo)準(zhǔn)磁盤(pán)快照。在本發(fā)明中,通過(guò)該優(yōu)選方案,可以可靠地將操作系統(tǒng)恢復(fù)到初始狀態(tài),而且也不需要用戶上傳快照,由此實(shí)現(xiàn)計(jì)算設(shè)備的更佳用戶體驗(yàn)。
[0037]在本發(fā)明的一個(gè)擴(kuò)展方案中,由所述操作系統(tǒng)中運(yùn)行的恢復(fù)服務(wù)來(lái)執(zhí)行所述恢復(fù)步驟。在一些情況下,盡管操作系統(tǒng)受到破壞,但是操作系統(tǒng)本身仍然能夠運(yùn)行,且其中的恢復(fù)服務(wù)也能夠運(yùn)行,由此可以方便用戶在操作系統(tǒng)中進(jìn)行恢復(fù)操作。此外,有時(shí)操作系統(tǒng)是完好的,但是用戶仍然想將其恢復(fù)到以前的某個(gè)狀態(tài),因此用戶也可以使用該方案來(lái)恢復(fù)操作系統(tǒng)。
[0038]在本發(fā)明的一個(gè)優(yōu)選方案中,在所述計(jì)算設(shè)備上安裝有第一操作系統(tǒng)和第二操作系統(tǒng),并且由當(dāng)前活動(dòng)的第一操作系統(tǒng)為當(dāng)前不活動(dòng)的第二操作系統(tǒng)的分區(qū)執(zhí)行所述下載步驟和恢復(fù)步驟。在此,例如可以由當(dāng)前活動(dòng)的第一操作系統(tǒng)中的恢復(fù)服務(wù)來(lái)恢復(fù)當(dāng)前不活動(dòng)的第二操作系統(tǒng)的分區(qū)。該優(yōu)選方案是有利的,因?yàn)樵诙嗖僮飨到y(tǒng)中,往往一個(gè)操作系統(tǒng)因受到損壞而無(wú)法運(yùn)行,但是另一操作系統(tǒng)是能夠運(yùn)行的,利用該方案,可以實(shí)現(xiàn)交叉系統(tǒng)恢復(fù)、即用未受損的操作系統(tǒng)來(lái)恢復(fù)受損的操作系統(tǒng),