本發(fā)明屬于數(shù)據(jù)備份容災(zāi)領(lǐng)域,特別是涉及一種文件備份方法、系統(tǒng)及具有該系統(tǒng)的客戶端。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,如今絕大部分企業(yè)都使用計(jì)算機(jī)來運(yùn)作自己的核心業(yè)務(wù),由此而產(chǎn)生的數(shù)據(jù)也成為企業(yè)的核心財(cái)富,如何有效地保護(hù)這些核心數(shù)據(jù)也成為了企業(yè)面臨的巨大挑戰(zhàn)和關(guān)注的焦點(diǎn)。
目前對企業(yè)數(shù)據(jù)保護(hù)來說比較頭疼困難的是海量小文件的備份。在實(shí)際的IT工作環(huán)境中,經(jīng)常存在著文件數(shù)量非常巨大,每個(gè)文件的數(shù)據(jù)量又很小的情況,比如辦公文件、圖片文件、小視頻等。這些文件變化并不頻繁,對于這樣的環(huán)境,傳統(tǒng)的增量備份或者差異備份方式速度很慢,并且會耗費(fèi)大量的時(shí)間和系統(tǒng)資源。這是由于傳統(tǒng)的備份方法在備份時(shí)會對備份客戶端中的每個(gè)文件進(jìn)行特性描述,建立一個(gè)文件特性描述列表,在備份服務(wù)端也會建立相應(yīng)的文件特性描述列表,在備份時(shí)會將兩個(gè)特性列表進(jìn)行對比,將那些在客戶端和服務(wù)端不匹配的文件進(jìn)行備份。對于海量小文件的環(huán)境,這種方法顯然不合適,會耗費(fèi)大量時(shí)間在文件特性列表的建立和對比上。此外,傳統(tǒng)的方法以及一些改進(jìn)的方法在備份小文件時(shí)都是從文件的角度對單個(gè)小文件進(jìn)行復(fù)制備份,這其中包括了文件的打開、讀取、關(guān)閉三個(gè)操作,在面對海量小文件時(shí),這三個(gè)操作也是非常耗時(shí)的。
因此,如何提供一種文件備份方法、系統(tǒng)及具有該系統(tǒng)的客戶端,以解決現(xiàn)有技術(shù)中針對海量小文件的備份操作非常耗時(shí)等缺陷,實(shí)已成為本領(lǐng)域從業(yè)者亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種文件備份方法、系統(tǒng)及具有該系統(tǒng)的客戶端,用于解決現(xiàn)有技術(shù)中針對海量小文件的備份操作非常耗時(shí)的問題。
為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明一方面提供一種文件備份方法,應(yīng)用于包括客戶端和與所述客戶端通信連接的服務(wù)器端的通信網(wǎng)絡(luò)中,所述文件備份方法包括以下步驟:通過指定網(wǎng)絡(luò)協(xié)議將所述服務(wù)器端上的一磁盤區(qū)域掛載在所述客戶端上,形成一虛擬磁盤;在所述客戶端的磁盤區(qū)域選擇一備份數(shù)據(jù)源,且于所述客戶端的內(nèi)存上創(chuàng)建用于監(jiān)控備份數(shù)據(jù)源的輸入/輸出數(shù)據(jù)的變化狀況第一數(shù)據(jù)位圖,和用于交換所述第一數(shù)據(jù)位圖中輸入/輸出數(shù)據(jù)的變化狀況的第二數(shù)據(jù)位圖;初始掃描所述備份數(shù)據(jù)源的系統(tǒng)位圖,讀取所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù),并將讀取到的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)復(fù)制至所述客戶端上形成的虛擬磁盤;待所述備份數(shù)據(jù)源的系統(tǒng)位圖掃描完畢后,根據(jù)預(yù)設(shè)的數(shù)據(jù)備份參數(shù),監(jiān)控所述第一數(shù)據(jù)位圖和第二數(shù)據(jù)位圖,通過所述第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況切換至所述第二數(shù)據(jù)位圖,根據(jù)所述第二數(shù)據(jù)位圖所記錄的變化,從備份數(shù)據(jù)源對應(yīng)的數(shù)據(jù)塊中讀取發(fā)生變化的輸入/輸出數(shù)據(jù),并將其復(fù)制到所述虛擬磁盤。
于本發(fā)明的一實(shí)施例中,待所述備份數(shù)據(jù)源的系統(tǒng)位圖掃描完畢后,輸出快照指令,以便所述服務(wù)器端對復(fù)制至所述客戶端上形成的虛擬磁盤的輸入/輸出數(shù)據(jù)執(zhí)行快照處理。
于本發(fā)明的一實(shí)施例中,所述備份數(shù)據(jù)源包括多個(gè)存儲輸入/輸出數(shù)據(jù)的數(shù)據(jù)塊,將每一數(shù)據(jù)塊與一比特位相對應(yīng);初始掃描所述備份數(shù)據(jù)源的系統(tǒng)位圖,當(dāng)讀取到與數(shù)據(jù)塊相對應(yīng)的比特位為1時(shí),表示該數(shù)據(jù)塊中存儲有輸入/輸出數(shù)據(jù),將該數(shù)據(jù)塊中存儲的輸入/輸出數(shù)據(jù)復(fù)制至所述客戶端上形成的虛擬磁盤;同時(shí),啟動(dòng)所述第一數(shù)據(jù)位圖,以使其記錄備份數(shù)據(jù)源中發(fā)生變化輸入/輸出數(shù)據(jù);當(dāng)讀取到與數(shù)據(jù)塊相對應(yīng)的比特位為0時(shí),表示該數(shù)據(jù)塊中未存儲輸入/輸出數(shù)據(jù)。
于本發(fā)明的一實(shí)施例中,所述預(yù)設(shè)的數(shù)據(jù)備份參數(shù)包括數(shù)據(jù)同步周期和快照周期。
于本發(fā)明的一實(shí)施例中,所述文件備份方法還包括:待所述備份數(shù)據(jù)源的系統(tǒng)位圖掃描完畢后,判斷當(dāng)前時(shí)刻是否到達(dá)所述數(shù)據(jù)同步周期,若否,則繼續(xù)監(jiān)控第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況;若是,通過所述第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況切換至所述第二數(shù)據(jù)位圖,并逐位掃描所述第二數(shù)據(jù)位圖中與數(shù)據(jù)塊對應(yīng)的比特位,若與數(shù)據(jù)塊對應(yīng)的比特位為1,則讀取所述第二數(shù)據(jù)位圖中比特位為1對應(yīng)的數(shù)據(jù)塊,并將該數(shù)據(jù)塊中的輸入/輸出數(shù)據(jù)復(fù)制至所述虛擬磁盤,復(fù)制后將該比特位置為0;在掃描完畢所述第二數(shù)據(jù)位圖后,產(chǎn)生可恢復(fù)時(shí)間點(diǎn)。
于本發(fā)明的一實(shí)施例中,所述文件備份方法還包括:判斷當(dāng)前時(shí)間是否達(dá)到所述快照周期,若是,輸出快照指令,以便所述服務(wù)器端對復(fù)制至所述客戶端上形成的虛擬磁盤的發(fā)生變化的輸入/輸出數(shù)據(jù)執(zhí)行快照處理;若否,則繼續(xù)監(jiān)控第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況。
本發(fā)明另一方面提供一種文件備份系統(tǒng),應(yīng)用于包括客戶端和與所述客戶端通信連接的服務(wù)器端的通信網(wǎng)絡(luò)中,所述文件備份系統(tǒng)包括:掛載模塊,用于通過指定網(wǎng)絡(luò)協(xié)議將所述服務(wù)器端上的一磁盤區(qū)域掛載在所述客戶端上,形成一虛擬磁盤;創(chuàng)建模塊,用于在所述客戶端的磁盤區(qū)域選擇一備份數(shù)據(jù)源,于所述客戶端的內(nèi)存上創(chuàng)建用于監(jiān)控備份數(shù)據(jù)源的輸入/輸出數(shù)據(jù)的變化狀況的第一數(shù)據(jù)位圖,和用于交換所述第一數(shù)據(jù)位圖中輸入/輸出數(shù)據(jù)的變化狀況的第二數(shù)據(jù)位圖;初始化備份模塊,用于初始掃描所述備份數(shù)據(jù)源的系統(tǒng)位圖,讀取所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù),并將讀取到的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)復(fù)制至所述客戶端上形成的虛擬磁盤;增量備份模塊,用于待所述備份數(shù)據(jù)源的系統(tǒng)位圖掃描完畢后,根據(jù)預(yù)設(shè)的數(shù)據(jù)備份參數(shù),監(jiān)控所述第一數(shù)據(jù)位圖和第二數(shù)據(jù)位圖,通過所述第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況切換至所述第二數(shù)據(jù)位圖,根據(jù)所述第二數(shù)據(jù)位圖所記錄的變化,從備份數(shù)據(jù)源對應(yīng)的數(shù)據(jù)塊中讀取發(fā)生變化的輸入/輸出數(shù)據(jù),并將其復(fù)制到所述虛擬磁盤。
于本發(fā)明的一實(shí)施例中,所述備份數(shù)據(jù)源包括多個(gè)存儲輸入/輸出數(shù)據(jù)的數(shù)據(jù)塊,將每一數(shù)據(jù)塊與一比特位相對應(yīng);所述初始化備份模塊用于初始掃描所述備份數(shù)據(jù)源的系統(tǒng)位圖,當(dāng)讀取到與數(shù)據(jù)塊相對應(yīng)的比特位為1時(shí),表示該數(shù)據(jù)塊中存儲有輸入/輸出數(shù)據(jù),將該數(shù)據(jù)塊中存儲的輸入/輸出數(shù)據(jù)復(fù)制至所述客戶端上形成的虛擬磁盤;啟動(dòng)所述第一數(shù)據(jù)位圖,以使其記錄備份數(shù)據(jù)源中發(fā)生變化的輸入/輸出數(shù)據(jù);當(dāng)讀取到與數(shù)據(jù)塊相對應(yīng)的比特位為0時(shí),表示該數(shù)據(jù)塊中未存儲輸入/輸出數(shù)據(jù)。
于本發(fā)明的一實(shí)施例中,所述預(yù)設(shè)的數(shù)據(jù)備份參數(shù)包括數(shù)據(jù)同步周期和快照周期;所述增量備份模塊包括:第一增量處理單元,用于待所述備份數(shù)據(jù)源的系統(tǒng)位圖掃描完畢后,判斷當(dāng)前時(shí)刻是否到達(dá)所述數(shù)據(jù)同步周期,若否,則繼續(xù)監(jiān)控第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況;若是,通過所述第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況切換至所述第二數(shù)據(jù)位圖,并逐位掃描所述第二數(shù)據(jù)位圖中與數(shù)據(jù)塊對應(yīng)的比特位,若與數(shù)據(jù)塊對應(yīng)的比特位為1,則讀取所述第二數(shù)據(jù)位圖中比特位為1對應(yīng)的數(shù)據(jù)塊,并將該數(shù)據(jù)塊中的輸入/輸出數(shù)據(jù)復(fù)制至所述虛擬磁盤,復(fù)制后將該比特位置為0;在掃描完畢所述第二數(shù)據(jù)位圖后,產(chǎn)生可恢復(fù)時(shí)間點(diǎn);第二增量處理單元,用于判斷當(dāng)前時(shí)間是否達(dá)到所述快照周期,若是,輸出快照指令,以便所述服務(wù)器端對復(fù)制至所述客戶端上形成的虛擬磁盤的發(fā)生變化的輸入/輸出數(shù)據(jù)執(zhí)行快照處理;若否,則繼續(xù)監(jiān)控第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)發(fā)生變化的輸入/輸出數(shù)據(jù)。
本發(fā)明又一方面提供一種客戶端,所述客戶端包括所述的文件備份系統(tǒng)
如上所述,本發(fā)明的文件備份方法、系統(tǒng)及具有該系統(tǒng)的客戶端,具有以下有益效果:
本發(fā)明所述的文件備份方法、系統(tǒng)及具有該系統(tǒng)的客戶端通過更新位圖記錄系統(tǒng)I/O變化,通過切換更新位圖和交換位圖來周期性同步數(shù)據(jù),并且每隔一定時(shí)間周期對已備份數(shù)據(jù)做一次快照處理達(dá)到了避免了傳統(tǒng)方法建立和對比文件特性描述列表的耗時(shí)操作,同時(shí)也避免了備份海量小文件時(shí)頻繁的打開、讀取、關(guān)閉文件的耗時(shí)操作,既能高效地備份小文件,又通過周期性打快照保證了數(shù)據(jù)的可靠性的技術(shù)效果。
附圖說明
圖1顯示為本發(fā)明的文件備份方法的方法流程示意圖。
圖2顯示為本發(fā)明所采用的iSCSI協(xié)議的協(xié)議結(jié)構(gòu)示意圖。
圖3顯示為本發(fā)明的文件備份方法中S5的具體流程示意圖。
圖4顯示為本發(fā)明的文件備份系統(tǒng)于一實(shí)施例中的原理結(jié)構(gòu)示意圖。
圖5顯示為本發(fā)明的客戶端于一實(shí)施例中的原理結(jié)構(gòu)示意圖。
元件標(biāo)號說明
1 文件備份系統(tǒng)
11 掛載模塊
12 創(chuàng)建模塊
13 初始化備份模塊
14 增量備份模塊
141 第一增量處理單元
142 第二增量處理單元
2 客戶端
S1~S5 步驟
S51~S59 步驟
具體實(shí)施方式
以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的具體實(shí)施方式加以實(shí)施或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說明的是,在不沖突的情況下,以下實(shí)施例及實(shí)施例中的特征可以相互組合。
需要說明的是,以下實(shí)施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時(shí)的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時(shí)各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
本發(fā)明所述的文件備份方法、系統(tǒng)及具有該系統(tǒng)的客戶端的技術(shù)原理為:
通過iSCSI協(xié)議將遠(yuǎn)端備份控制臺上的一塊磁盤區(qū)域掛載到本地生產(chǎn)機(jī)上的虛擬磁盤。在系統(tǒng)啟動(dòng)初始化數(shù)據(jù)復(fù)制的同時(shí),創(chuàng)建兩個(gè)位圖——更新位圖和交換位圖,并啟動(dòng)其中的更新位圖記錄系統(tǒng)的I/O變化。當(dāng)系統(tǒng)完成初始化復(fù)制時(shí),切換更新位圖和交換位圖,切換后,更新位圖繼續(xù)記錄系統(tǒng)變化I/O,同時(shí)掃描交換位圖,將在初始化復(fù)制過程中有I/O變化的數(shù)據(jù)塊讀取并存儲到虛擬磁盤中,掃描完成后重置交換位圖,并對虛擬磁盤打一次快照。設(shè)置一個(gè)同步周期和一個(gè)快照周期,每隔一個(gè)同步周期的時(shí)間就將更新位圖和交換位圖的內(nèi)容互換,掃描交換位圖,得到一個(gè)可恢復(fù)時(shí)間點(diǎn);每隔一個(gè)快照周期的時(shí)間就對虛擬磁盤打一次快照。這樣就可以實(shí)現(xiàn)小文件的永久增量備份。
實(shí)施例一
本實(shí)施例提供一種文件備份方法,其特征在于,應(yīng)用于包括客戶端和與所述客戶端通信連接的服務(wù)器端的通信網(wǎng)絡(luò)中,所述文件備份方法包括以下步驟:
通過指定網(wǎng)絡(luò)協(xié)議將所述服務(wù)器端上的一磁盤區(qū)域掛載在所述客戶端上,形成一虛擬磁盤;
在所述客戶端的磁盤區(qū)域選擇一備份數(shù)據(jù)源,且于所述客戶端的內(nèi)存上創(chuàng)建用于監(jiān)控備份數(shù)據(jù)源的輸入/輸出數(shù)據(jù)的變化狀況的第一數(shù)據(jù)位圖,和用于交換所述第一數(shù)據(jù)位圖中輸入/輸出數(shù)據(jù)的變化狀況的第二數(shù)據(jù)位圖;
初始掃描所述備份數(shù)據(jù)源的系統(tǒng)位圖,讀取所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù),并將讀取到的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)復(fù)制至所述客戶端上形成的虛擬磁盤;
待所述備份數(shù)據(jù)源的系統(tǒng)位圖掃描完畢后,根據(jù)預(yù)設(shè)的數(shù)據(jù)備份參數(shù),監(jiān)控所述第一數(shù)據(jù)位圖和第二數(shù)據(jù)位圖,通過所述第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變換狀況切換至所述第二數(shù)據(jù)位圖,根據(jù)所述第二數(shù)據(jù)位圖所記錄的變化,從備份數(shù)據(jù)源對應(yīng)的數(shù)據(jù)塊中讀取發(fā)生變化的輸入/輸出數(shù)據(jù),并將其復(fù)制到所述虛擬磁盤。
以下將結(jié)合圖示對本實(shí)施例所提供的文件備份方法進(jìn)行詳細(xì)說明。本實(shí)施例所述的文件備份方法應(yīng)用于包括客戶端和與所述客戶端通信連接的服務(wù)器端的通信網(wǎng)絡(luò)中。所述客戶端包括智能手機(jī),平板電腦,筆記本電腦,臺式機(jī)等終端設(shè)備。于本實(shí)施例中,所述客戶端為筆記本電腦。所述筆記本電腦中硬盤分為卷C,卷D,卷E。請參閱圖1,顯示為文件備份方法的方法流程示意圖。如圖1所示,所述文件備份方法包括以下幾個(gè)步驟:
S1,通過指定網(wǎng)絡(luò)協(xié)議將所述服務(wù)器端上的一磁盤區(qū)域掛載在所述客戶端上,形成一虛擬磁盤F。在本實(shí)施例中,所述指定網(wǎng)絡(luò)協(xié)議為iSCSI協(xié)議。請參閱圖2,顯示為iSCSI協(xié)議的協(xié)議結(jié)構(gòu)示意圖。
S2,在所述客戶端的磁盤區(qū)域選擇一備份數(shù)據(jù)源(于本實(shí)施例中,選擇所述客戶端的卷D為備份數(shù)據(jù)源),在所述客戶端的系統(tǒng)啟動(dòng)初始數(shù)據(jù)復(fù)制的同時(shí),在所述客戶端的系統(tǒng)內(nèi)存上創(chuàng)建第一數(shù)據(jù)位圖和第二數(shù)據(jù)位圖。在本實(shí)施例中,所述第一數(shù)據(jù)位圖用于監(jiān)控備份數(shù)據(jù)源卷D中輸入/輸出數(shù)據(jù)的變化狀況。所述第一數(shù)據(jù)位圖,又稱為更新位圖,也是一塊內(nèi)存緩沖區(qū),該緩沖區(qū)中的每一個(gè)比特位對應(yīng)于受監(jiān)控的備份數(shù)據(jù)源的一個(gè)數(shù)據(jù)塊,如果該比特位為1,則表示該數(shù)據(jù)塊中有變化的I/O數(shù)據(jù);如果該比特位為0則表示該數(shù)據(jù)塊沒有變化的I/O數(shù)據(jù)。一個(gè)數(shù)據(jù)塊的大小可以通過用戶自行設(shè)定,通常對應(yīng)于系統(tǒng)的最小分配單元,即一個(gè)簇大小或者一個(gè)系統(tǒng)block大小。在本實(shí)施例中,所述輸入/輸出數(shù)據(jù)包括辦公文件、圖片文件、小視頻等小文件。
所述第二數(shù)據(jù)位圖,又稱為交換位圖,其大小等于所述更新位圖的大小。所述第二數(shù)據(jù)位圖用于交換所述第一數(shù)據(jù)位圖中輸入/輸出數(shù)據(jù)的變化狀況,以使得系統(tǒng)能夠周期性將發(fā)生變化的數(shù)據(jù)塊寫入虛擬磁盤F中。
S3,初始掃描所述備份數(shù)據(jù)源的系統(tǒng)位圖,讀取所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù),并將讀取到的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)復(fù)制至所述客戶端上形成的虛擬磁盤。在本實(shí)施例中,所述備份數(shù)據(jù)源(卷D)包括多個(gè)存儲輸入/輸出數(shù)據(jù)的數(shù)據(jù)塊,將每一數(shù)據(jù)塊與一比特位相對應(yīng)。所述比特位用1或0表示。與比特位為1對應(yīng)的數(shù)據(jù)塊,表示該數(shù)據(jù)塊中存儲的輸入/輸出數(shù)據(jù);與比特位為0對應(yīng)的數(shù)據(jù)塊,表示該數(shù)據(jù)塊中未存儲輸入/輸出數(shù)據(jù)。
具體地,初始掃描所述備份數(shù)據(jù)源的系統(tǒng)位圖,當(dāng)讀取到與數(shù)據(jù)塊相對應(yīng)的比特位為1時(shí),表示該數(shù)據(jù)塊中存儲有輸入/輸出數(shù)據(jù),將該數(shù)據(jù)塊中存儲的輸入/輸出數(shù)據(jù)復(fù)制至所述客戶端上形成的虛擬磁盤F;當(dāng)讀取到與數(shù)據(jù)塊相對應(yīng)的比特位為0時(shí),表示該數(shù)據(jù)塊中未存儲輸入/輸出數(shù)據(jù)。在本實(shí)施例中,初始化將卷D中存儲的輸入/輸出數(shù)據(jù)復(fù)制至虛擬磁盤F的同時(shí),啟動(dòng)所述更新位圖,以使其記錄卷D中多個(gè)數(shù)據(jù)塊中發(fā)生變化的輸入/輸出數(shù)據(jù)。
S4,待所述備份數(shù)據(jù)源的系統(tǒng)位圖掃描完畢后,輸出快照指令至通過iSCSI協(xié)議與所述客戶端連接的服務(wù)器端,以便所述服務(wù)器端對復(fù)制至所述客戶端上形成的虛擬磁盤F的輸入/輸出數(shù)據(jù)執(zhí)行快照處理。
S5,待所述備份數(shù)據(jù)源的系統(tǒng)位圖掃描完畢后,根據(jù)預(yù)設(shè)的數(shù)據(jù)備份參數(shù),監(jiān)控所述第一數(shù)據(jù)位圖和第二數(shù)據(jù)位圖,通過所述第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況切換至所述第二數(shù)據(jù)位圖,根據(jù)所述第二數(shù)據(jù)位圖所記錄的變化,從備份數(shù)據(jù)源對應(yīng)的數(shù)據(jù)塊中讀取發(fā)生變化的輸入/輸出數(shù)據(jù),并將其復(fù)制到所述虛擬磁盤。本實(shí)施例,所述預(yù)設(shè)的數(shù)據(jù)備份參數(shù)包括數(shù)據(jù)同步周期和快照周期。請參閱圖3,顯示為S5的具體流程示意圖。如圖3所示,所述S5具體包括以下幾個(gè)步驟:
S51,待所述備份數(shù)據(jù)源的系統(tǒng)位圖掃描完畢后,判斷當(dāng)前時(shí)刻是否到達(dá)所述數(shù)據(jù)同步周期,若否,則執(zhí)行步驟S52,即繼續(xù)監(jiān)控第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況,即變化的輸入/輸出數(shù)據(jù)的數(shù)據(jù)塊對應(yīng)的比特位為1,未變化的數(shù)據(jù)塊對應(yīng)的比特位為0;若是,則執(zhí)行步驟S53。
S53,通過所述第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況切換至所述第二數(shù)據(jù)位圖,并逐位掃描所述第二數(shù)據(jù)位圖中與數(shù)據(jù)塊對應(yīng)的比特位。
S54,判斷是否掃描完畢所述第二數(shù)據(jù)位圖,若是,則執(zhí)行步驟S55,即在掃描完畢所述第二數(shù)據(jù)位圖后,產(chǎn)生可恢復(fù)時(shí)間點(diǎn)。所述可恢復(fù)時(shí)間點(diǎn),是可以將所述客戶端的系統(tǒng)恢復(fù)到某個(gè)狀態(tài)的時(shí)間點(diǎn),本實(shí)施例中,每隔一數(shù)據(jù)同步周期,會將這段時(shí)間段內(nèi)的變化I/O數(shù)據(jù)同步復(fù)制到所述服務(wù)器端上,每同步復(fù)制一次就會產(chǎn)生一個(gè)時(shí)間點(diǎn),基于該時(shí)間點(diǎn)可以將系統(tǒng)恢復(fù)到該時(shí)間點(diǎn)所處的狀態(tài)。例如,下午2點(diǎn)啟動(dòng)所述第一數(shù)據(jù)位圖,以記錄卷D中發(fā)生變化的輸入/輸出數(shù)據(jù),每隔一數(shù)據(jù)同步周期(2小時(shí)),那就是下午4點(diǎn)將下午2點(diǎn)到4點(diǎn)間變化I/O數(shù)據(jù)同步復(fù)制到所述服務(wù)器端上,那么下午2點(diǎn)就為可恢復(fù)時(shí)間點(diǎn),基于該時(shí)間點(diǎn)可以將客戶端的卷D恢復(fù)到下午2點(diǎn)時(shí)所處的狀態(tài)。若否,則執(zhí)行步驟S56。
S56,掃描所述第二數(shù)據(jù)位圖中與數(shù)據(jù)塊對應(yīng)的比特位是否為1,若是,即與數(shù)據(jù)塊對應(yīng)的比特位為1,則執(zhí)行步驟S57,讀取所述第二數(shù)據(jù)位圖中比特位為1對應(yīng)的數(shù)據(jù)塊,并將該數(shù)據(jù)塊復(fù)制至所述虛擬磁盤,復(fù)制后將該比特位置為0。若否,則返回步驟S53,繼續(xù)逐位掃描所述第二數(shù)據(jù)位圖中與數(shù)據(jù)塊對應(yīng)的比特位。
在本實(shí)施例中,在執(zhí)行完步驟S55后,繼續(xù)執(zhí)行步驟S58,判斷當(dāng)前時(shí)間是否達(dá)到所述快照周期,若是,則執(zhí)行步驟S59,即輸出快照指令,以便所述服務(wù)器端對復(fù)制至所述客戶端上形成的虛擬磁盤的發(fā)生變化的輸入/輸出數(shù)據(jù)執(zhí)行快照處理;若否,則返回步驟S52,繼續(xù)監(jiān)控第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)發(fā)生變化的輸入/輸出數(shù)據(jù)。
本實(shí)施例還提供一種文件備份系統(tǒng)1,應(yīng)用于包括客戶端和與所述客戶端通信連接的服務(wù)器端的通信網(wǎng)絡(luò)中。請參閱圖4,顯示為文件備份系統(tǒng)的原理結(jié)構(gòu)示意圖。如圖4所示,所述文件備份系統(tǒng)1包括:掛載模塊11、創(chuàng)建模塊12、初始化備份模塊13、及增量備份模塊14。
所述掛載模塊11用于通過指定網(wǎng)絡(luò)協(xié)議將所述服務(wù)器端上的一磁盤區(qū)域掛載在所述客戶端上,形成一虛擬磁盤。
與所述掛載模塊11連接的創(chuàng)建模塊12用于在所述客戶端的磁盤區(qū)域選擇一備份數(shù)據(jù)源,于所述客戶端的內(nèi)存上創(chuàng)建用于監(jiān)控備份數(shù)據(jù)源中輸入/輸出數(shù)據(jù)的變化狀況的第一數(shù)據(jù)位圖,和用于交換所述第一數(shù)據(jù)位圖中輸入/輸出數(shù)據(jù)的變化狀況的第二數(shù)據(jù)位圖。
與所述掛載模塊11和創(chuàng)建模塊12連接的初始化備份模塊13用于初始掃描所述備份數(shù)據(jù)源的系統(tǒng)位圖,讀取所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù),并將讀取到的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)復(fù)制至所述客戶端上形成的虛擬磁盤。在本實(shí)施例中,所述備份數(shù)據(jù)源包括多個(gè)存儲輸入/輸出數(shù)據(jù)的數(shù)據(jù)塊,將每一數(shù)據(jù)塊與一比特位相對應(yīng)。
具體地,所述初始化備份模塊13用于初始掃描所述備份數(shù)據(jù)源的系統(tǒng)位圖,當(dāng)讀取到與數(shù)據(jù)塊相對應(yīng)的比特位為1時(shí),表示該數(shù)據(jù)塊中存儲有輸入/輸出數(shù)據(jù),將該數(shù)據(jù)塊中存儲的輸入/輸出數(shù)據(jù)復(fù)制至所述客戶端上形成的虛擬磁盤;啟動(dòng)所述第一數(shù)據(jù)位圖,以使其記錄備份數(shù)據(jù)源中發(fā)生變化的輸入/輸出數(shù)據(jù);當(dāng)讀取到與數(shù)據(jù)塊相對應(yīng)的比特位為0時(shí),表示該數(shù)據(jù)塊中未存儲輸入/輸出數(shù)據(jù)。
與所述掛載模塊11、創(chuàng)建模塊12和初始化備份模塊13連接的增量備份模塊14用于待所述備份數(shù)據(jù)源的系統(tǒng)位圖掃描完畢后,根據(jù)預(yù)設(shè)的數(shù)據(jù)備份參數(shù),監(jiān)控所述第一數(shù)據(jù)位圖和第二數(shù)據(jù)位圖,通過所述第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況切換至所述第二數(shù)據(jù)位圖,根據(jù)所述第二數(shù)據(jù)位圖所記錄的變化,從備份數(shù)據(jù)源對應(yīng)的數(shù)據(jù)塊中讀取發(fā)生變化的輸入/輸出數(shù)據(jù),并將其復(fù)制到所述虛擬磁盤。在本實(shí)施例中,所述預(yù)設(shè)的數(shù)據(jù)備份參數(shù)包括數(shù)據(jù)同步周期和快照周期。
具體地,繼續(xù)參閱圖4,所述增量備份模塊14包括:
第一增量處理單元141用于待所述備份數(shù)據(jù)源的系統(tǒng)位圖掃描完畢后,判斷當(dāng)前時(shí)刻是否到達(dá)所述數(shù)據(jù)同步周期,若否,則繼續(xù)監(jiān)控第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況;若是,通過所述第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況切換至所述第二數(shù)據(jù)位圖,并逐位掃描所述第二數(shù)據(jù)位圖中與數(shù)據(jù)塊對應(yīng)的比特位,若與數(shù)據(jù)塊對應(yīng)的比特位為1,則從卷D中讀取所述第二數(shù)據(jù)位圖中比特位為1對應(yīng)的數(shù)據(jù)塊,并將該數(shù)據(jù)塊中的輸入/輸出數(shù)據(jù)復(fù)制至所述虛擬磁盤,復(fù)制后將該比特位置為0;在掃描完畢所述第二數(shù)據(jù)位圖后,產(chǎn)生可恢復(fù)時(shí)間點(diǎn)。
第二增量處理單元142用于判斷當(dāng)前時(shí)間是否達(dá)到所述快照周期,若是,輸出快照指令,以便所述服務(wù)器端對復(fù)制至所述客戶端上形成的虛擬磁盤的發(fā)生變化的輸入/輸出數(shù)據(jù)執(zhí)行快照處理;若否,則繼續(xù)監(jiān)控第一數(shù)據(jù)位圖記錄的所述備份數(shù)據(jù)源內(nèi)輸入/輸出數(shù)據(jù)的變化狀況。
本實(shí)施例所述的文件備份方法及系統(tǒng)通過更新位圖記錄系統(tǒng)I/O變化,通過切換更新位圖和交換位圖來周期性同步數(shù)據(jù),并且每隔一定時(shí)間周期對已備份數(shù)據(jù)做一次快照處理。本實(shí)施例達(dá)到了所述的文件備份方法及系統(tǒng)避免了傳統(tǒng)方法建立和對比文件特性描述列表的耗時(shí)操作,同時(shí)也避免了備份海量小文件時(shí)頻繁的打開、讀取、關(guān)閉文件的耗時(shí)操作,既能高效地備份小文件,又通過周期性打快照保證了數(shù)據(jù)的可靠性的技術(shù)效果。
實(shí)施例二
本實(shí)施例提供一種客戶端2,請參閱圖5,顯示為客戶端的原理結(jié)構(gòu)示意圖。如圖5所示,所述客戶端2包括實(shí)施例一中所描述的文件備份系統(tǒng)1。
綜上所述,本發(fā)明所述的文件備份方法、系統(tǒng)及具有該系統(tǒng)的客戶端通過更新位圖記錄系統(tǒng)I/O變化,通過切換更新位圖和交換位圖來周期性同步數(shù)據(jù),并且每隔一定時(shí)間周期對已備份數(shù)據(jù)做一次快照處理達(dá)到了避免了傳統(tǒng)方法建立和對比文件特性描述列表的耗時(shí)操作,同時(shí)也避免了備份海量小文件時(shí)頻繁的打開、讀取、關(guān)閉文件的耗時(shí)操作,既能高效地備份小文件,又通過周期性打快照保證了數(shù)據(jù)的可靠性的技術(shù)效果。所以,本發(fā)明有效克服了現(xiàn)有技術(shù)中的種種缺點(diǎn)而具高度產(chǎn)業(yè)利用價(jià)值。
上述實(shí)施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實(shí)施例進(jìn)行修飾或改變。因此,舉凡所屬技術(shù)領(lǐng)域中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。