專利名稱:計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通過(guò)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)增量同步的方法,特別涉及一種基于硬盤保護(hù)卡的計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法。
背景技術(shù):
機(jī)房維護(hù)軟件環(huán)境的傳統(tǒng)方式是使用硬盤還原技術(shù)及網(wǎng)絡(luò)克隆技術(shù),以學(xué)校機(jī)房為例,在新學(xué)期的開(kāi)始,網(wǎng)絡(luò)管理員首先需要與授課教師聯(lián)系,以確定機(jī)房個(gè)人電腦PC的軟件環(huán)境需求,學(xué)校機(jī)房一般面向整個(gè)學(xué)校,軟件環(huán)境比較復(fù)雜,所以,網(wǎng)絡(luò)管理員在確定了本學(xué)期的機(jī)房軟件環(huán)境后,仍需要至少一周的時(shí)間在機(jī)房主控計(jì)算機(jī)上建立這種環(huán)境模板,包括進(jìn)行磁盤規(guī)劃,操作系統(tǒng)選擇,各種教學(xué)軟件的安裝試用等等,完成機(jī)房主控端的安裝之后,網(wǎng)絡(luò)管理員再利用保護(hù)卡的網(wǎng)絡(luò)克隆功能將主控端的軟件環(huán)境克隆到機(jī)房其余PC中。
傳統(tǒng)的機(jī)房維護(hù)產(chǎn)品如硬盤保護(hù)卡、還原卡等存在以下兩個(gè)主要缺點(diǎn)1、網(wǎng)絡(luò)克隆速度慢,隨著軟件技術(shù)的發(fā)展,功能的增多,軟件產(chǎn)品本身的尺寸呈現(xiàn)爆炸性增長(zhǎng),如現(xiàn)代操作系統(tǒng)比早期的操作系統(tǒng)在軟件尺寸上增長(zhǎng)了幾十甚至幾千倍,現(xiàn)有的網(wǎng)絡(luò)克隆的方式一般都是采取整個(gè)硬盤分區(qū)克隆的方式,網(wǎng)絡(luò)管理員做一次網(wǎng)絡(luò)克隆往往需要很長(zhǎng)的時(shí)間,而且操作較繁瑣。
2、由于是基于整個(gè)硬盤分區(qū)所做的克隆,所以軟件環(huán)境一旦部署就無(wú)法變更,只能重新部署。
由于以上缺陷,機(jī)房管理員對(duì)授課教師在學(xué)期中間提出的軟件環(huán)境變更請(qǐng)求,如增加一些教學(xué)軟件感到非常反感,因?yàn)檫@可能要占用機(jī)房管理員一整個(gè)工作日來(lái)布置新的軟件環(huán)境,然后再進(jìn)行網(wǎng)絡(luò)克隆。對(duì)于網(wǎng)吧而言,軟件環(huán)境的變更需求更是非常頻繁。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中網(wǎng)絡(luò)克隆速度慢,軟件環(huán)境一旦部署就無(wú)法變更只能重新克隆的技術(shù)的缺陷,本發(fā)明提供一種計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法,為了達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案。該計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法包括如下步驟步驟一、在服務(wù)端對(duì)磁盤做分區(qū)劃分,準(zhǔn)備所需磁盤數(shù)據(jù)內(nèi)容,建立原始還原點(diǎn);步驟二、將服務(wù)端磁盤分區(qū)信息,保護(hù)區(qū)數(shù)據(jù)、原始還原點(diǎn)信息克隆到客戶端磁盤上;步驟三、若需要客戶端磁盤數(shù)據(jù)與服務(wù)端磁盤數(shù)據(jù)保持同步,則首先在服務(wù)端通過(guò)掃描磁盤獲取增量數(shù)據(jù)信息。
步驟四、服務(wù)端向客戶端發(fā)送增量數(shù)據(jù)信息,客戶端接收服務(wù)端發(fā)送的增量數(shù)據(jù)信息并執(zhí)行數(shù)據(jù)合并操作。
步驟五、服務(wù)端在完成發(fā)送任務(wù)后執(zhí)行數(shù)據(jù)合并操作。
由于采用了上述技術(shù)方案,與現(xiàn)有技術(shù)相比,本發(fā)明所述的方法使得機(jī)房軟件環(huán)境變更時(shí),無(wú)需重新部署,每次軟件環(huán)境變化后只需要將服務(wù)端的映射區(qū)數(shù)據(jù)集合、新增數(shù)據(jù)集合及映射關(guān)系表傳送到客戶端,客戶端首先依據(jù)映射關(guān)系表完成數(shù)據(jù)的回寫、追加等操作,然后重新構(gòu)建位示圖和清空映射關(guān)系表以及映射區(qū)就可做到與服務(wù)端的軟件環(huán)境一致,不需要再進(jìn)行重新布置和完全克隆,所需時(shí)間只和變化的軟件數(shù)據(jù)量相關(guān)。從而克服了現(xiàn)有技術(shù)中的網(wǎng)絡(luò)克隆速度慢,軟件環(huán)境一旦部署就無(wú)法變更只能重新克隆的技術(shù)的缺陷。機(jī)房?jī)?nèi)所有客戶端計(jì)算機(jī)都可以在短時(shí)間內(nèi)同步更新到服務(wù)端計(jì)算機(jī)所擁有的軟件環(huán)境。
圖1為本發(fā)明所述方法的流程圖;圖2為本發(fā)明所述方法的狀態(tài)圖。
具體實(shí)施例方式
本發(fā)明是基于如下的一個(gè)網(wǎng)絡(luò)環(huán)境包含至少一個(gè)客戶端;一個(gè)服務(wù)端;連接服務(wù)端和客戶端的網(wǎng)絡(luò)。
在一最佳實(shí)施例中以基于硬盤保護(hù)卡的方式實(shí)現(xiàn),在服務(wù)端和客戶端都裝有硬盤保護(hù)卡及其附帶程序。硬盤保護(hù)卡用于在物理上截獲磁盤的讀寫請(qǐng)求,實(shí)現(xiàn)還原點(diǎn)建立功能,甚至還包括網(wǎng)絡(luò)的傳輸功能,用于在服務(wù)端和客戶端傳輸數(shù)據(jù)和控制命令等。
所述硬盤保護(hù)卡完成硬盤數(shù)據(jù)的保護(hù)與還原功能,具體原理為在某一時(shí)刻建立還原點(diǎn),建立位示圖,保護(hù)區(qū)及映射區(qū)。位示圖用于標(biāo)識(shí)磁盤數(shù)據(jù)的空閑或已使用的狀態(tài),在第一次建立還原點(diǎn)時(shí),磁盤數(shù)據(jù)只有兩種狀態(tài),即使用狀態(tài)和空閑狀態(tài);保護(hù)區(qū)為一邏輯的概念,保護(hù)區(qū)內(nèi)的數(shù)據(jù)在建立還原點(diǎn)之后不能直接修改或刪除,只能通過(guò)映射方式來(lái)操作;映射區(qū)用于保存建立還原點(diǎn)之后對(duì)保護(hù)區(qū)數(shù)據(jù)的修改數(shù)據(jù)。在還原點(diǎn)建立后,使用軟、硬件方式截獲所有的磁盤讀寫請(qǐng)求,如果截獲到的磁盤寫請(qǐng)求要修改保護(hù)區(qū)數(shù)據(jù),則首先判斷是否是初次寫,若是,則首先拷貝一份保護(hù)區(qū)內(nèi)的數(shù)據(jù)到映射區(qū)內(nèi),然后再將磁盤寫請(qǐng)求轉(zhuǎn)向到映射區(qū)操作,同時(shí)將保護(hù)區(qū)數(shù)據(jù)塊與映射區(qū)數(shù)據(jù)塊之間的映射關(guān)系記錄到映射關(guān)系表中,并在位示圖中標(biāo)識(shí)為映射狀態(tài),標(biāo)識(shí)此數(shù)據(jù)塊在還原點(diǎn)建立后被修改過(guò);如果截獲到的磁盤讀寫請(qǐng)求是針對(duì)已經(jīng)被映射過(guò)的區(qū)域,那么直接將這種請(qǐng)求依據(jù)前面記錄的映射關(guān)系轉(zhuǎn)向到映射區(qū)操作,如果是對(duì)保護(hù)區(qū)的讀請(qǐng)求則直接下發(fā)給硬盤驅(qū)動(dòng);如果截獲的寫請(qǐng)求是針對(duì)還原點(diǎn)時(shí)刻的空閑磁盤塊,則直接下發(fā)給磁盤驅(qū)動(dòng),這些在還原點(diǎn)時(shí)刻為空閑硬盤塊,在建立還原點(diǎn)之后又被操作系統(tǒng)分配使用的數(shù)據(jù)塊集合以下簡(jiǎn)稱為“新增數(shù)據(jù)集合”。對(duì)于上述保護(hù)機(jī)制,還原到還原點(diǎn)建立時(shí)刻的磁盤狀態(tài)非常簡(jiǎn)單,只要恢復(fù)建立還原點(diǎn)時(shí)的原始位示圖、清除映射關(guān)系表及映射區(qū)數(shù)據(jù)內(nèi)容即可。
本發(fā)明所述的硬盤保護(hù)卡可以以硬盤的一個(gè)扇區(qū)、一個(gè)簇為最小保護(hù)單位,也可以以一個(gè)自定義的數(shù)據(jù)塊為最小保護(hù)單位,所述的數(shù)據(jù)塊由2的正整數(shù)次冪個(gè)扇區(qū)組成,正整數(shù)次冪的大小根據(jù)磁盤空間的大小和空間利用率的要求來(lái)確定。
本發(fā)明所使用的硬盤都必需支持邏輯尋址模式LBA。網(wǎng)絡(luò)可以是局域網(wǎng)或廣域網(wǎng),傳輸方式可以是有線的也可以是無(wú)線的。
以下結(jié)合附圖1及附圖2詳細(xì)說(shuō)明本發(fā)明的實(shí)現(xiàn)步驟步驟1首先在已安裝操作系統(tǒng)的服務(wù)端計(jì)算機(jī)上安裝磁盤過(guò)濾驅(qū)動(dòng),建立原始還原點(diǎn),原始還原點(diǎn)是指第一次建立還原點(diǎn),還原點(diǎn)實(shí)際上是一個(gè)時(shí)間標(biāo)識(shí),用來(lái)區(qū)別建立還原點(diǎn)前后的磁盤狀態(tài)。在建立還原點(diǎn)時(shí),在服務(wù)端通過(guò)掃描分析,用位示圖記錄當(dāng)前服務(wù)端計(jì)算機(jī)磁盤上各個(gè)分區(qū)中數(shù)據(jù)的使用狀態(tài),在原始還原點(diǎn)磁盤數(shù)據(jù)塊的狀態(tài)只有兩種,即空閑狀態(tài)和已使用狀態(tài)。在服務(wù)端磁盤空閑區(qū)域或者操作系統(tǒng)的不可見(jiàn)磁盤區(qū)域保留足夠容量的磁盤空間建立映射區(qū)以及存儲(chǔ)還原點(diǎn)信息。還原點(diǎn)信息是指能夠使磁盤數(shù)據(jù)恢復(fù)到還原點(diǎn)的必要的信息,至少包括位示圖、映射關(guān)系表、映射區(qū)的位置及大小等。在原始還原點(diǎn),主要是建立位示圖標(biāo)識(shí)出磁盤的使用狀況,映射關(guān)系表,映射區(qū)可以在實(shí)際使用時(shí)再建立。在建立原始還原點(diǎn)后服務(wù)端即處于如圖2所示的原始軟件環(huán)境S1狀態(tài)。所述操作系統(tǒng)的不可見(jiàn)區(qū)域可以通過(guò)HPA(Host Protected Area)或者隱藏分區(qū)技術(shù)實(shí)現(xiàn)。
步驟2、網(wǎng)絡(luò)克隆服務(wù)端的磁盤分區(qū)信息、保護(hù)區(qū)數(shù)據(jù)到客戶計(jì)算機(jī)的磁盤中,同時(shí)網(wǎng)絡(luò)克隆服務(wù)端還原點(diǎn)信息到客戶端,在克隆及拷貝操作完成后客戶端將會(huì)具備同服務(wù)端計(jì)算機(jī)相同的軟件環(huán)境,此時(shí)客戶端的磁盤數(shù)據(jù)狀態(tài)與服務(wù)器端保持一致,如附圖2中所示的客戶端S1狀態(tài),相當(dāng)于與服務(wù)端在同一時(shí)刻建立了還原點(diǎn)。
本發(fā)明通過(guò)保護(hù)卡及其附帶程序完成網(wǎng)絡(luò)克隆及拷貝功能,所述的網(wǎng)絡(luò)克隆不只是對(duì)服務(wù)端磁盤分區(qū)信息以及分區(qū)內(nèi)數(shù)據(jù)的克隆,而且還能夠?qū)⒎?wù)端還原點(diǎn)信息、保護(hù)區(qū)數(shù)據(jù)、映射區(qū)數(shù)據(jù)以及新增數(shù)據(jù)集合克隆到客戶端,這樣就保證了客戶端在成功克隆后的使用過(guò)程中不會(huì)破壞還原點(diǎn)時(shí)刻硬盤中已經(jīng)存在的有效數(shù)據(jù)。
步驟3、在網(wǎng)絡(luò)克隆完成之后,當(dāng)服務(wù)端磁盤數(shù)據(jù)內(nèi)容發(fā)生了變化,需要客戶端與服務(wù)端磁盤數(shù)據(jù)同步則執(zhí)行步驟4,如果不需要同步則不作任何操作。
在完成步驟2后,在服務(wù)端計(jì)算機(jī)的使用過(guò)程中,截獲所有的硬盤寫請(qǐng)求,將可能破壞保護(hù)區(qū)數(shù)據(jù)的請(qǐng)求通過(guò)掛接的鉤子函數(shù)或者硬件電路轉(zhuǎn)向到映射區(qū)當(dāng)中,同時(shí)記錄這種映射關(guān)系到映射關(guān)系表和位示圖中,保護(hù)區(qū)數(shù)據(jù)集合和映射區(qū)數(shù)據(jù)集合在物理磁盤扇區(qū)上沒(méi)有交集;如果截獲的寫請(qǐng)求是針對(duì)保護(hù)區(qū)及映射區(qū)之外的磁盤空閑區(qū)域的,則允許其通過(guò)并直接下發(fā),這部分?jǐn)?shù)據(jù)稱為新增數(shù)據(jù)。映射表與映射區(qū)內(nèi)容記錄對(duì)保護(hù)區(qū)數(shù)據(jù)的更改。如圖2所示對(duì)服務(wù)端原始軟件環(huán)境狀態(tài)所做更改C1包括了映射區(qū)數(shù)據(jù)集合的內(nèi)容和新增數(shù)據(jù)集合的內(nèi)容。保護(hù)映射區(qū)中的數(shù)據(jù)塊,使其不會(huì)遭受操作系統(tǒng)的破壞,可以通過(guò)再映射或者偽成功的方式。
針對(duì)映射區(qū)所處位置的不同,可以采用不同的映射區(qū)保護(hù)方法。如果映射區(qū)創(chuàng)建在操作系統(tǒng)可見(jiàn)分區(qū)內(nèi),可以采用映射算法,即截獲操作系統(tǒng)對(duì)映射區(qū)的寫請(qǐng)求,將請(qǐng)求映射到映射區(qū)的其他空閑區(qū)域;如果映射區(qū)創(chuàng)建在操作系統(tǒng)不可見(jiàn)的隱藏分區(qū)內(nèi),可以采用偽成功的方式,即截獲操作系統(tǒng)對(duì)映射區(qū)的寫請(qǐng)求,不實(shí)際執(zhí)行寫請(qǐng)求,只是返回寫請(qǐng)求成功完成的狀態(tài)給操作系統(tǒng)。
在完成步驟2后,在客戶端計(jì)算機(jī)的使用過(guò)程中,截獲所有的磁盤寫請(qǐng)求,將可能破壞保護(hù)區(qū)的請(qǐng)求通過(guò)掛接的驅(qū)動(dòng)程序的鉤子函數(shù)或者硬件電路轉(zhuǎn)向到映射區(qū),同時(shí)記錄這種映射關(guān)系到映射關(guān)系表和位示圖中。如果截獲的寫請(qǐng)求是針對(duì)保護(hù)區(qū)和映射區(qū)之外的磁盤空閑區(qū)域,允許其通過(guò)并直接下發(fā)。圖2所示對(duì)客戶端軟件環(huán)境狀態(tài)所做更改C2包括了映射區(qū)數(shù)據(jù)集合的內(nèi)容和新增數(shù)據(jù)集合的內(nèi)容。保護(hù)客戶端映射區(qū),使其不會(huì)遭受操作系統(tǒng)的破壞,可以通過(guò)再保護(hù)或者偽成功的方式。
在服務(wù)端和客戶端計(jì)算機(jī)中,如果截獲到的磁盤讀請(qǐng)求是針對(duì)保護(hù)區(qū)數(shù)據(jù)的,那么,應(yīng)該首先在映射關(guān)系表中查找是否存在映射關(guān)系,如果存在,那么保護(hù)區(qū)中原始數(shù)據(jù)塊的內(nèi)容必然已經(jīng)發(fā)生過(guò)映射寫,此時(shí),依據(jù)映射關(guān)系表轉(zhuǎn)向讀請(qǐng)求到映射區(qū)中相應(yīng)數(shù)據(jù)塊;對(duì)于其他讀請(qǐng)求,直接下發(fā)。在操作系統(tǒng)和應(yīng)用程序看來(lái),在進(jìn)行映射后對(duì)保護(hù)區(qū)中數(shù)據(jù)塊的讀寫都是成功的,是透明的,操作系統(tǒng)的運(yùn)行不受影響。
舉例來(lái)說(shuō),在建立還原點(diǎn)時(shí)刻T之前有扇區(qū)LBA#X是已用扇區(qū),屬于保護(hù)區(qū)數(shù)據(jù)集合,在時(shí)刻T以后用戶對(duì)計(jì)算機(jī)的操作過(guò)程中,假設(shè)對(duì)這LBA#X扇區(qū)進(jìn)行改寫,鉤子函數(shù)或硬件過(guò)濾電路截獲得到改寫請(qǐng)求后,在映射區(qū)中分配一個(gè)空閑扇區(qū),假設(shè)為L(zhǎng)BA#Y,首先拷貝保護(hù)區(qū)LBA#X的數(shù)據(jù)到映射區(qū)的LBA#Y中,然后將對(duì)扇區(qū)LBA#X的請(qǐng)求轉(zhuǎn)向到對(duì)扇區(qū)LBA#Y,并記錄映射關(guān)系(X→Y)到映射關(guān)系表M中,以后,如果再有對(duì)扇區(qū)LBA#X的讀寫,因?yàn)橐呀?jīng)存在映射關(guān)系(X→Y)均轉(zhuǎn)向到對(duì)LBA#Y的讀寫請(qǐng)求。
客戶端在首次克隆以后的使用過(guò)程中,一直處于保護(hù)模式,即保護(hù)區(qū)數(shù)據(jù)集合不能被破壞,這是執(zhí)行以下步驟的前提,因此客戶端在克隆后的使用過(guò)程中不能解除所在的保護(hù)模式。相應(yīng)的服務(wù)器端在建立還原點(diǎn)之后也必須一直處于保護(hù)模式,不能在之后的使用過(guò)程中解除保護(hù),否則必須重新執(zhí)行步驟1至步驟2。
如果服務(wù)端的軟件環(huán)境發(fā)生了變化,需要使客戶端與服務(wù)器保持軟件環(huán)境的同步的話,則通知客戶端執(zhí)行相應(yīng)同步操作,本發(fā)明不限制通知的方式,本實(shí)施例使用網(wǎng)絡(luò)方式由服務(wù)端通過(guò)網(wǎng)絡(luò)發(fā)送操作指令,而且可以單獨(dú)指定哪臺(tái)或哪幾臺(tái)客戶端執(zhí)行同步操作。
步驟4、服務(wù)端掃描服務(wù)端磁盤獲取增量數(shù)據(jù)信息。
增量數(shù)據(jù)信息主要包括1)比照位示圖服務(wù)端通過(guò)掃描分析當(dāng)前服務(wù)端計(jì)算機(jī)磁盤各個(gè)保護(hù)分區(qū)(如受保護(hù)的磁盤C區(qū)、D區(qū)等)中存在的非空閑的數(shù)據(jù)塊的分布情況,建立比照位示圖;2)新增數(shù)據(jù)集合通過(guò)比較比照位示圖和前一還原點(diǎn)備份位示圖找到新增數(shù)據(jù)集合。
3)映射關(guān)系表保存了從前一還原點(diǎn)到當(dāng)前時(shí)間所有保護(hù)區(qū)與映射區(qū)之間數(shù)據(jù)塊的映射關(guān)系。
4)映射區(qū)映射區(qū)包含了從前一還原點(diǎn)到當(dāng)前時(shí)間所有對(duì)保護(hù)區(qū)數(shù)據(jù)的修改,所述前一還原點(diǎn)可能是原始還原點(diǎn),也可能是上一次執(zhí)行同步操作時(shí)所建立的還原點(diǎn);在每次建立還原點(diǎn)時(shí)都會(huì)建立一個(gè)位示圖的備份,以下稱為備份位示圖,用于下一次比較發(fā)現(xiàn)新增數(shù)據(jù)和數(shù)據(jù)恢復(fù)時(shí)使用。通過(guò)比照位示圖和前一還原點(diǎn)備份位示圖的比較就能夠發(fā)現(xiàn)自上一次還原點(diǎn)建立之后所有新增的數(shù)據(jù)。如在前一還原點(diǎn)位示圖中標(biāo)為空閑,而在比照位示圖中標(biāo)為已占用的數(shù)據(jù)塊就是操作系統(tǒng)新分配的數(shù)據(jù)塊,屬于新增數(shù)據(jù)集合。
步驟5、服務(wù)端發(fā)送映射關(guān)系表、映射區(qū)數(shù)據(jù)集合、新增數(shù)據(jù)集合到客戶端,此時(shí)如圖2所示,客戶端包含了原始軟件環(huán)境狀態(tài)S1和服務(wù)端原始軟件環(huán)境狀態(tài)所做更改C1;接下來(lái)在客戶端執(zhí)行數(shù)據(jù)合并操作,數(shù)據(jù)合并的步驟包括a.將所接收到的服務(wù)端發(fā)來(lái)的映射區(qū)數(shù)據(jù)集合依據(jù)所接收到的服務(wù)端映射關(guān)系表中的映射關(guān)系寫入到客戶端磁盤的保護(hù)區(qū)的原始數(shù)據(jù)塊中。
b.追加所接收到的服務(wù)端新增數(shù)據(jù)集合到客戶端保護(hù)區(qū)中,即將新增數(shù)據(jù)集合中的數(shù)據(jù)塊設(shè)置成保護(hù)塊,成為客戶端保護(hù)區(qū)的一部分。
c.然后清空本地的映射區(qū)和映射關(guān)系表,清空操作的目的就是解除原有客戶端的保護(hù)區(qū)與映射區(qū)內(nèi)數(shù)據(jù)塊之間的映射關(guān)系。
d.分析當(dāng)前客戶端磁盤各個(gè)保護(hù)分區(qū)中存在的非空閑的數(shù)據(jù)塊的分布情況,構(gòu)建客戶端當(dāng)前位示圖。
如圖2所示,此時(shí)客戶端經(jīng)過(guò)數(shù)據(jù)合并后進(jìn)入到一個(gè)新的狀態(tài)S2。
步驟6、服務(wù)端執(zhí)行數(shù)據(jù)合并操作。
在服務(wù)端向所有的客戶端發(fā)送完映射關(guān)系表、映射區(qū)數(shù)據(jù)塊集合、新增數(shù)據(jù)集合后,服務(wù)端執(zhí)行數(shù)據(jù)合并操作,服務(wù)端的數(shù)據(jù)合并類似客服端,步驟如下a、依據(jù)映射關(guān)系表將映射區(qū)數(shù)據(jù)寫入保護(hù)區(qū);b、將新增數(shù)據(jù)集合添加到保護(hù)區(qū);c、清空映射關(guān)系表、映射區(qū)的內(nèi)容。
d、分析當(dāng)前服務(wù)端磁盤各個(gè)保護(hù)分區(qū)中存在的非空閑的數(shù)據(jù)塊的分布情況,構(gòu)建服務(wù)端當(dāng)前位示圖,并建立當(dāng)前位示圖的備份;當(dāng)前位示圖與比照位示圖的區(qū)別在于他反映了數(shù)據(jù)合并后的磁盤的使用狀態(tài),在以后的磁盤操作中以當(dāng)前位示圖為基礎(chǔ)進(jìn)行保護(hù)操作。
如圖2所示,服務(wù)端經(jīng)過(guò)數(shù)據(jù)合并后也進(jìn)入到新的狀態(tài)S2,此時(shí)服務(wù)端和客戶端都進(jìn)入到一個(gè)新的一致的狀態(tài)即S2狀態(tài)。
在服務(wù)端和客戶端在完成數(shù)據(jù)合并操作后,服務(wù)端和客戶端中硬盤有效數(shù)據(jù)是相同一致的,相當(dāng)于同時(shí)在服務(wù)端和客戶端建立的新的還原點(diǎn),為區(qū)別于原始還原點(diǎn)將此類還原點(diǎn)稱為當(dāng)前還原點(diǎn)。對(duì)于服務(wù)端可以以此還原點(diǎn)為基礎(chǔ)記錄新的軟件環(huán)境的變更,而客戶端計(jì)算機(jī)在以后的使用過(guò)程中可以隨時(shí)還原到完成數(shù)據(jù)合并時(shí)的狀態(tài)即新的還原點(diǎn)時(shí)的狀態(tài)。
此步驟不限制使用以何種方式來(lái)完成數(shù)據(jù)的傳送及步驟的控制等操作,可以由硬盤保護(hù)卡及其附帶程序通過(guò)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn),也可以由其它方式來(lái)實(shí)現(xiàn)。
當(dāng)下一次需要同步客戶端與服務(wù)端的硬盤數(shù)據(jù)的時(shí)候,可以以數(shù)據(jù)合并完成后的狀態(tài)為基礎(chǔ),迭代執(zhí)行步驟4至步驟5,完成下一次的數(shù)據(jù)同步。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,本領(lǐng)域技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法,包括如下步驟步驟一、在服務(wù)端準(zhǔn)備所需磁盤數(shù)據(jù)內(nèi)容,建立原始還原點(diǎn);步驟二、將服務(wù)端磁盤分區(qū)信息,保護(hù)區(qū)數(shù)據(jù)、原始還原點(diǎn)信息克隆到客戶端磁盤上;步驟三、若需要客戶端磁盤數(shù)據(jù)與服務(wù)端磁盤數(shù)據(jù)保持同步,則首先在服務(wù)端通過(guò)掃描磁盤獲取增量數(shù)據(jù)信息;步驟四、服務(wù)端向客戶端發(fā)送增量數(shù)據(jù)信息,客戶端接收服務(wù)端發(fā)送的增量數(shù)據(jù)信息并執(zhí)行數(shù)據(jù)合并操作;步驟五、服務(wù)端在完成發(fā)送任務(wù)后執(zhí)行數(shù)據(jù)合并操作。
2.如權(quán)利要求1所述的計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法,其特征在于,所述步驟一中,原始還原點(diǎn)為服務(wù)端第一次建立的還原點(diǎn),所述準(zhǔn)備磁盤數(shù)據(jù)主要是指在已安裝操作系統(tǒng)的服務(wù)端計(jì)算機(jī)上安裝磁盤過(guò)濾驅(qū)動(dòng),并分析當(dāng)前服務(wù)端磁盤各個(gè)保護(hù)分區(qū)中存在的非空閑的數(shù)據(jù)塊的分布情況。
3.如權(quán)利要求2所述的計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法,其特征在于,所述步驟二中,原始還原點(diǎn)信息至少包括位示圖、映射區(qū)的位置及大小。
4.如權(quán)利要求3所述的計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法,其特征在于,所述步驟三中,增量數(shù)據(jù)信息包含比照位示圖、映射關(guān)系表、映射區(qū)數(shù)據(jù)集合、新增數(shù)據(jù)集合,服務(wù)端通過(guò)如下方式建立比照位示圖及獲取新增數(shù)據(jù)集合步驟1、服務(wù)端通過(guò)掃描分析當(dāng)前服務(wù)端計(jì)算機(jī)磁盤各個(gè)保護(hù)分區(qū)中存在的非空閑的數(shù)據(jù)塊的分布情況,創(chuàng)建比照位示圖;步驟2、通過(guò)比照位示圖和前一還原點(diǎn)備份位示圖的比較找到新增數(shù)據(jù)集合。
5.如權(quán)利要求4所述的計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法,其特征在于,所述步驟四中,增量數(shù)據(jù)信息包括映射關(guān)系表、映射區(qū)數(shù)據(jù)集合、新增數(shù)據(jù)集合,客戶端通過(guò)如下步驟進(jìn)行數(shù)據(jù)合并步驟a、將接收到的所述映射區(qū)數(shù)據(jù)集合依據(jù)所述映射關(guān)系表寫入到客戶端磁盤的保護(hù)區(qū)中;步驟b、追加所接收到新增數(shù)據(jù)集合到客戶端保護(hù)區(qū)中;步驟c、清空客戶端映射區(qū)及映射關(guān)系表的內(nèi)容;步驟d、分析當(dāng)前客戶端磁盤各個(gè)保護(hù)分區(qū)中存在的非空閑的數(shù)據(jù)塊的分布情況,構(gòu)建客戶端當(dāng)前位示圖。
6.如權(quán)利要求5所述的計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法,其特征在于,所述步驟五中,服務(wù)端通過(guò)如下步驟進(jìn)行數(shù)據(jù)合并步驟a、依據(jù)映射關(guān)系表將映射區(qū)數(shù)據(jù)寫入保護(hù)區(qū);步驟b、將新增數(shù)據(jù)集合添加到保護(hù)區(qū);步驟c、分析當(dāng)前服務(wù)端磁盤各個(gè)保護(hù)分區(qū)中存在的非空閑的數(shù)據(jù)塊的分布情況,構(gòu)建服務(wù)端當(dāng)前位示圖,并建立當(dāng)前位示圖的備份;步驟d、清空映射關(guān)系表、映射區(qū)的內(nèi)容。
7.如權(quán)利要求6所述的計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法,其特征在于,在完成所述步驟二后服務(wù)端與客戶端始終都處于保護(hù)狀態(tài)。
8.如權(quán)利要求7所述的計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法,其特征在于,使用硬盤保護(hù)卡來(lái)實(shí)現(xiàn)磁盤數(shù)據(jù)的保護(hù),所述步驟四中由硬盤保護(hù)卡來(lái)完成增量數(shù)據(jù)信息的發(fā)送及接收。
9.如權(quán)利要求8所述的計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法,其特征在于,所述硬盤保護(hù)卡是以自定義大小的數(shù)據(jù)塊為最小數(shù)據(jù)保護(hù)單位對(duì)磁盤數(shù)據(jù)進(jìn)行保護(hù)與還原操作。
10.如權(quán)利要求9所述的計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法,其特征在于,所述映射區(qū)通過(guò)動(dòng)態(tài)緩沖區(qū)以及隱藏分區(qū)技術(shù)或HPA技術(shù)來(lái)實(shí)現(xiàn),通過(guò)再保護(hù)或者偽成功的方式對(duì)映射區(qū)中的數(shù)據(jù)塊進(jìn)行保護(hù),使其不會(huì)遭受操作系統(tǒng)的破壞。
全文摘要
本發(fā)明公開(kāi)了一種通過(guò)網(wǎng)絡(luò)進(jìn)行計(jì)算機(jī)磁盤數(shù)據(jù)增量同步的方法,特別涉及一種基于硬盤保護(hù)卡的機(jī)房硬盤數(shù)據(jù)的網(wǎng)絡(luò)增量同步的方法,本發(fā)明的步驟為在服務(wù)端建立初始數(shù)據(jù)環(huán)境,通過(guò)硬盤保護(hù)卡進(jìn)行網(wǎng)絡(luò)克隆使得服務(wù)端與客戶端硬盤數(shù)據(jù)保持一致,當(dāng)需要客戶端與服務(wù)端數(shù)據(jù)同步時(shí),服務(wù)端通過(guò)掃描磁盤建立比照位示圖通過(guò)與前一還原點(diǎn)位示圖的比較獲得增量數(shù)據(jù)信息,并發(fā)送到客戶端,服務(wù)端與客戶端執(zhí)行數(shù)據(jù)合并后數(shù)據(jù)狀態(tài)保持一致并可作為下一次增量同步的基礎(chǔ),迭代執(zhí)行。利用本發(fā)明的方法,機(jī)房及網(wǎng)吧計(jì)算機(jī)硬盤數(shù)據(jù)環(huán)境可以隨時(shí)變更,無(wú)需重新布署,節(jié)省了時(shí)間提高了效率。
文檔編號(hào)G06F12/00GK1960361SQ200610103838
公開(kāi)日2007年5月9日 申請(qǐng)日期2006年8月2日 優(yōu)先權(quán)日2006年8月2日
發(fā)明者劉文斌 申請(qǐng)人:劉文斌