欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

虛擬機(jī)備份方法、備份裝置及宿主機(jī)與流程

文檔序號:11635192閱讀:512來源:國知局
虛擬機(jī)備份方法、備份裝置及宿主機(jī)與流程

本發(fā)明涉及計算機(jī)領(lǐng)域,特別涉及一種虛擬機(jī)備份方法、備份裝置及宿主機(jī)。



背景技術(shù):

虛擬機(jī)(virtualmachine,簡稱vm)是指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個完全隔離環(huán)境中的完整系統(tǒng)。虛擬機(jī)在運(yùn)行時,由虛擬機(jī)所在的主機(jī),即宿主機(jī)為虛擬機(jī)虛擬出各種硬件單元,例如虛擬機(jī)內(nèi)存和虛擬機(jī)硬盤等。虛擬機(jī)內(nèi)存中的數(shù)據(jù)由虛擬機(jī)自身進(jìn)行管理,而虛擬機(jī)硬盤上的數(shù)據(jù)則由宿主機(jī)存儲和管理。

圖1所示為現(xiàn)有技術(shù)中虛擬機(jī)的結(jié)構(gòu)示意圖,如圖1所示,虛擬機(jī)101使用的所有資源,例如cpu、內(nèi)存、網(wǎng)絡(luò)、存儲資源均來源于宿主機(jī)102,宿主機(jī)102將自身資源,例如虛擬多處理器、虛擬機(jī)群集文件系統(tǒng)、虛擬網(wǎng)卡和交換機(jī)、存儲協(xié)議棧、網(wǎng)絡(luò)協(xié)議棧及設(shè)備驅(qū)動程序以共享的方式提供給虛擬機(jī)101使用,以使虛擬機(jī)101能夠?qū)ν馓峁└鞣N業(yè)務(wù)服務(wù)。通常,虛擬機(jī)101對外提供各種服務(wù)是通過虛擬機(jī)內(nèi)部的應(yīng)用(aplication,簡稱app)103來實現(xiàn)的。

為保證運(yùn)行數(shù)據(jù)不丟失,或保證系統(tǒng)故障后能盡快恢復(fù),虛擬機(jī)需要經(jīng)常性的備份,并且保證備份數(shù)據(jù)與運(yùn)行數(shù)據(jù)相一致。虛擬機(jī)的備份數(shù)據(jù)與運(yùn)行數(shù)據(jù)相一致也可以稱為虛擬機(jī)的一致性?,F(xiàn)有技術(shù)中,虛擬機(jī)的備份方式有兩種,一種是冷備份,冷備份是在虛擬機(jī)關(guān)閉時將數(shù)據(jù)進(jìn)行備份;另一種是熱備份,熱備份是在虛擬機(jī)保持工作時對數(shù)據(jù)進(jìn)行備份。

冷備份可以很好的保證虛擬機(jī)的一致性,但是冷備份需要關(guān)閉虛擬機(jī),虛擬機(jī)被關(guān)閉時無法對外提供服務(wù),因此較少采用冷備份。熱備份無需關(guān)閉虛擬機(jī),但是虛擬機(jī)運(yùn)行時,虛擬機(jī)內(nèi)部應(yīng)用的數(shù)據(jù)會首先保存在緩存中,然后寫入虛擬機(jī)硬盤中,即虛擬機(jī)硬盤中的數(shù)據(jù)是隨時被讀寫和更新的,在備份過程是,數(shù)據(jù)也是隨時更新的。因此,現(xiàn)有技術(shù)中熱備份的方法無法實時的對虛擬機(jī)硬盤中更新數(shù)據(jù)進(jìn)行備份,造成虛擬機(jī)備份過程中的數(shù)據(jù)丟失,無法保證虛擬機(jī)備份的一致性。

可見,現(xiàn)有技術(shù)中還沒有一種備份方法即可以在備份時對外提供虛擬機(jī)功能,又能保證虛擬機(jī)備份的一致性的方法。



技術(shù)實現(xiàn)要素:

有鑒于此,本發(fā)明實施例的目的是提供一種虛擬機(jī)備份方法及備份裝置,在對外提供虛擬機(jī)功能的情況下備份數(shù)據(jù)時,保證備份數(shù)據(jù)的一致性。

為了解決上述技術(shù)問題,本發(fā)明實施例公開了如下技術(shù)方案:

第一方面,提供了一種虛擬機(jī)備份方法,應(yīng)用于與宿主機(jī),所述宿主機(jī)上創(chuàng)建有多個虛擬機(jī),在用戶需要對所述宿主機(jī)上的虛擬機(jī)中的數(shù)據(jù)備份時,下達(dá)一虛擬機(jī)備份命令,所述宿主機(jī)接收到所述備份命令時,即中斷待備份源虛擬機(jī)的業(yè)務(wù),并創(chuàng)建克隆虛擬機(jī)及所述克隆虛擬機(jī)的克隆硬盤。

在克隆硬盤建好后,則建立所述克隆硬盤與所述源虛擬機(jī)的源硬盤的存儲空間的映射關(guān)系,然后將所述源虛擬機(jī)的運(yùn)行數(shù)據(jù)鏡像至所述克隆虛擬機(jī),以使所述克隆虛擬機(jī)根據(jù)所述運(yùn)行數(shù)據(jù)開始運(yùn)行,并設(shè)置所述克隆虛擬機(jī)接收io請求,這樣所述克隆虛擬機(jī)即可接管源虛擬機(jī)的業(yè)務(wù)。這時即可恢復(fù)執(zhí)行所中斷的所述源虛擬機(jī)的業(yè)務(wù),使在接收到用戶的備份命令時還未執(zhí)行的io請求繼續(xù)執(zhí)行,以保證數(shù)據(jù)的一致性。

在所述克隆虛擬機(jī)運(yùn)行期間,如果到所述克隆虛擬機(jī)執(zhí)行數(shù)據(jù)操作為對所述源硬盤中的數(shù)據(jù)進(jìn)行修改時,則將修改后的數(shù)據(jù)記錄至所述克隆硬盤中,并對記錄的位置進(jìn)行標(biāo)記。在偵測到所述源虛擬機(jī)的業(yè)務(wù)執(zhí)行完成之后,則關(guān)閉所述源虛擬機(jī),開始備份所述源硬盤中的數(shù)據(jù)。

在偵測到數(shù)據(jù)備份結(jié)束后,根據(jù)所述映射關(guān)系將所述克隆硬盤中被標(biāo)記的位置處的數(shù)據(jù)復(fù)制至所述克隆硬盤被標(biāo)記的位置處所映射的所述源硬盤的位置,并設(shè)置所述源硬盤為所述克隆虛擬機(jī)的硬盤。

這樣,在對虛擬機(jī)中的數(shù)據(jù)進(jìn)行備份時,通過創(chuàng)建包括克隆硬盤的克隆虛擬機(jī),將虛擬機(jī)在備份過程中執(zhí)行的業(yè)務(wù)轉(zhuǎn)移至所述克隆虛擬機(jī)執(zhí)行,并將虛擬機(jī)備份過程中,將對源虛擬機(jī)中存儲的數(shù)據(jù)的修改記錄在所述克隆硬盤中,并對修改的數(shù)據(jù)進(jìn)行標(biāo)記,如此,在虛擬機(jī)的數(shù)據(jù)備份完成之后,可用克隆硬盤中記錄的修改數(shù)據(jù)更新所述源虛擬機(jī)中的數(shù)據(jù),如此,在保證備份數(shù)據(jù)的一致性的同時,也不會中斷虛擬機(jī)的業(yè)務(wù),從而提高了虛擬機(jī)的運(yùn)行效率。

可選的,在建立所述克隆硬盤與所述源硬盤的存儲空間的映射關(guān)系時,可以先將所述源硬盤和克隆硬盤分別按照預(yù)設(shè)大小分割為多個存儲塊,然后建立源存儲塊的地址與克隆存儲塊的地址的映射關(guān)系。

通過這樣的劃分方式,可以使源硬盤中的每個存儲塊都對應(yīng)一個克隆存儲塊,這樣,可以精確的標(biāo)記被修改的源存儲塊,及記錄在克隆存儲塊中的修改數(shù)據(jù)。

可選地,可以通過為所述映射表中的每個源存儲塊的地址與克隆存儲塊的地址映射關(guān)系設(shè)置更新標(biāo)識來標(biāo)記被修改的源存儲塊,具體方法為將記錄所述修改后的數(shù)據(jù)的克隆存儲塊的地址所在的映射關(guān)系對應(yīng)的更新標(biāo)記設(shè)置為已更新。

更過所述更新標(biāo)識可以方便的標(biāo)識出所述源硬盤中被修改的數(shù)據(jù)。

對所述源硬盤中的數(shù)據(jù)進(jìn)行修改可以是在備份時間點(diǎn)所述源硬盤中存儲的數(shù)據(jù)的基礎(chǔ)上寫入新的數(shù)據(jù),或者是對在備份時間點(diǎn)所述源硬盤中存儲的數(shù)據(jù)的更新,也可以是在備份時間點(diǎn)所述源硬盤中存儲的數(shù)據(jù)的基礎(chǔ)上刪除數(shù)據(jù)。

可選地,在恢復(fù)執(zhí)行源虛擬機(jī)所終端的業(yè)務(wù)后,在偵測到所述源虛擬機(jī)執(zhí)行的數(shù)據(jù)操作對所述源硬盤中的數(shù)據(jù)進(jìn)行更新時,判斷所述數(shù)據(jù)更新請求所更新的源存儲塊的地址所在的映射關(guān)系對應(yīng)的更新標(biāo)識是否為已更新,在確定所述數(shù)據(jù)更新請求所更新的源存儲塊的地址所在的映射關(guān)系對應(yīng)的更新標(biāo)識不是已更新時,將所述數(shù)據(jù)更新請求所更新的源存儲塊中被更新數(shù)據(jù)拷貝至所述數(shù)據(jù)更新請求所更新的源存儲塊對應(yīng)的克隆存儲塊,在所述數(shù)據(jù)更新請求所更新的源存儲塊中寫入所述數(shù)據(jù)更新請求中的更新數(shù)據(jù);并將所述數(shù)據(jù)更新請求所更新的源存儲塊對應(yīng)的更新標(biāo)識設(shè)置為已更新。

由于源虛擬機(jī)中執(zhí)行的業(yè)務(wù)也被鏡像至所述克隆虛擬機(jī),所以在所述克隆虛擬機(jī)中也會執(zhí)行跟源虛擬機(jī)相同的業(yè)務(wù),所以,在對源虛擬機(jī)中的數(shù)據(jù)進(jìn)行更新時,也需要將源虛擬機(jī)中被更新的數(shù)據(jù)轉(zhuǎn)移至所述克隆存儲塊中,以便所述克隆虛擬機(jī)后續(xù)用到該數(shù)據(jù)。

可選的,在所述克隆虛擬機(jī)運(yùn)行期間,對讀io請求進(jìn)行處理的方法如下:

接收讀io請求;

判斷所述讀io請求所讀取的克隆存儲塊對應(yīng)的更新標(biāo)識是否為已更新;

確定所述讀io請求所讀取的克隆存儲塊對應(yīng)的更新標(biāo)識為未更新時,從所述所讀取的克隆存儲塊對應(yīng)的源存儲塊中讀取數(shù)據(jù);

確定所述讀io請求所讀取的克隆存儲塊對應(yīng)的更新標(biāo)識為已更新時,從所述所讀取的克隆存儲塊中讀取數(shù)據(jù)。

可選的,在根據(jù)所述映射關(guān)系將克隆硬盤中被標(biāo)記的位置處的數(shù)據(jù)復(fù)制至克隆硬盤被標(biāo)記的位置處所映射的源硬盤的位置時,首先確定被設(shè)置為已更新的更新標(biāo)識對應(yīng)的映射關(guān)系中的克隆存儲塊;將所述被設(shè)置為已更新的更新標(biāo)識對應(yīng)的映射關(guān)系中的克隆存儲塊所存儲的數(shù)據(jù)復(fù)制至所述被設(shè)置為已更新的更新標(biāo)識對應(yīng)的映射關(guān)系中的源存儲塊;然后將所述被設(shè)置為已更新的更新標(biāo)識設(shè)置為未更新。

這樣,在數(shù)據(jù)復(fù)制完成后,也對修改標(biāo)記進(jìn)行設(shè)置,可以使在此期間接收到讀io請求時,可以根據(jù)所述修改標(biāo)記判斷出所讀取數(shù)據(jù)的位置。

可選地,在偵測到數(shù)據(jù)備份結(jié)束后,接收到數(shù)據(jù)寫入請求時,將所述數(shù)據(jù)寫入請求中的待寫入數(shù)據(jù)寫入所述源硬盤中,并將寫入所述待寫入數(shù)據(jù)的源存儲塊對應(yīng)的更新標(biāo)識設(shè)置為未更新。

可選地,在所述克隆硬盤中的數(shù)據(jù)全部復(fù)制至所述源硬盤后,可以刪除所述克隆硬盤和所述映射表。

第二方面,提供了一種虛擬機(jī)備份裝置,所述備份裝置包括創(chuàng)建單元、標(biāo)記單元、備份單元、讀取單元、及更新單元,所述創(chuàng)建單元、標(biāo)記單元、備份單元、讀取單元、及更新單元執(zhí)行的功能與第一方面的提供的方法相對應(yīng),在此不再贅述。

第三方面,提供一種宿主機(jī),所述宿主機(jī)包括:處理器、內(nèi)存、硬盤、通訊接口、系統(tǒng)總線,所述處理器、內(nèi)存、硬盤和通信接口之間通過系統(tǒng)總線連接并完成相互間的通信,所述內(nèi)存中用于存儲計算機(jī)執(zhí)行指令,所述宿主機(jī)運(yùn)行時,所述處理器執(zhí)行所述內(nèi)存中的計算機(jī)執(zhí)行指令以利用所述宿主機(jī)中的硬件資源建立虛擬機(jī),并執(zhí)行第一方面所提供的方法。通過本發(fā)明所提供的實施例,在對虛擬機(jī)中的數(shù)據(jù)進(jìn)行備份時,通過創(chuàng)建包括克隆硬盤的克隆虛擬機(jī),將虛擬機(jī)在備份過程中執(zhí)行的業(yè)務(wù)轉(zhuǎn)移至所述克隆虛擬機(jī)執(zhí)行,并將虛擬機(jī)備份過程中,將對源虛擬機(jī)中存儲的數(shù)據(jù)的修改記錄在所述克隆硬盤中,并對修改的數(shù)據(jù)進(jìn)行標(biāo)記,如此,在虛擬機(jī)的數(shù)據(jù)備份完成之后,可用克隆硬盤中記錄的修改數(shù)據(jù)更新所述源虛擬機(jī)中的數(shù)據(jù),如此,在保證備份數(shù)據(jù)的一致性的同時,也不會中斷虛擬機(jī)的業(yè)務(wù),從而提高了虛擬機(jī)的運(yùn)行效率。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1所示為現(xiàn)有技術(shù)中虛擬機(jī)的結(jié)構(gòu)示意圖;

圖2所示為本發(fā)明實施例的宿主機(jī)的結(jié)構(gòu)圖;

圖3所示為本發(fā)明實施例的虛擬機(jī)備份方法的流程圖;

圖4所示為本發(fā)明實施例的建立源硬盤與克隆硬盤的存儲空間的映射關(guān)系的示意圖;

圖5所示為本發(fā)明實施例在克隆虛擬機(jī)運(yùn)行期間,對源硬盤中的數(shù)據(jù)進(jìn)行更新的示意圖;

圖6所示為本發(fā)明實施例的克隆虛擬機(jī)讀數(shù)據(jù)的示意圖;

圖7所示為本發(fā)明實施例在源虛擬機(jī)運(yùn)行期間,對源硬盤中的數(shù)據(jù)進(jìn)行更新的示意圖;

圖8所示為本發(fā)明實施例將所述克隆硬盤中的數(shù)據(jù)復(fù)制至所述源硬盤的示意圖;及

圖9所示為本發(fā)明實施例提供的一種數(shù)據(jù)備份裝置的模塊圖。

通過上述附圖,已示出本發(fā)明明確的實施例,后文中將有更詳細(xì)的描述。這些附圖和文字描述并不是為了通過任何方式限制本發(fā)明構(gòu)思的范圍,而是通過參考特定實施例為本領(lǐng)域技術(shù)人員說明本發(fā)明的概念。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。

為了全面理解本發(fā)明,在以下詳細(xì)描述中提到了眾多具體的細(xì)節(jié),但是本領(lǐng)域技術(shù)人員應(yīng)該理解,本發(fā)明可以無需這些具體細(xì)節(jié)而實現(xiàn)。在其他實施例中,不詳細(xì)描述公知的方法、過程、組件和電路,以免不必要地導(dǎo)致實施例模糊。

本發(fā)明實施例對源虛擬機(jī)的源硬盤中的數(shù)據(jù)進(jìn)行備份時,可創(chuàng)建一個克隆虛擬機(jī)及克隆硬盤,并將源虛擬機(jī)中的運(yùn)行數(shù)據(jù)轉(zhuǎn)移至克隆虛擬機(jī)并對后續(xù)訪問源虛擬機(jī)的io請求進(jìn)行重定向,是所述克隆虛擬機(jī)接管所述源虛擬機(jī)的業(yè)務(wù),并在數(shù)據(jù)備份完成后,用克隆硬盤中與源硬盤中不一致的數(shù)據(jù)覆蓋源硬盤中的數(shù)據(jù),并將所述源硬盤作為所述克隆虛擬機(jī)的硬盤,這樣,在備份所述源虛擬機(jī)中的數(shù)據(jù)時,在不中斷虛擬機(jī)所執(zhí)行業(yè)務(wù)的情況下,保證備份數(shù)據(jù)的一致性。

下面將結(jié)合實施例對本發(fā)明實施例所提供的技術(shù)方案做詳細(xì)說明。

如圖2所示,為本發(fā)明實施例的宿主機(jī)20的結(jié)構(gòu)圖。所述宿主機(jī)20可包括處理器201、內(nèi)存202、硬盤204、通訊接口207、系統(tǒng)總線200。處理器201、內(nèi)存202、硬盤204和通信接口207之間通過系統(tǒng)總線200連接并完成相互間的通信。

處理器201可能為單核或多核中央處理單元,或者為特定集成電路,或者為被配置成實施本發(fā)明實施例的一個或多個集成電路。

內(nèi)存202可以為高速ram存儲器,也可以為非易失性存儲器(non-volatilememory),例如至少一個磁盤存儲器,內(nèi)存202用于存儲計算機(jī)執(zhí)行指令。具體的,計算機(jī)執(zhí)行指令中可以包括程序代碼。

在所述宿主機(jī)20運(yùn)行時,所述處理器201執(zhí)行所述內(nèi)存中的計算機(jī)執(zhí)行指令203以利用所述宿主機(jī)中的硬件資源建立多個虛擬機(jī),如源虛擬機(jī)208及克隆虛擬機(jī)209,在所述硬盤204中為所述源虛擬機(jī)208及克隆虛擬機(jī)209分別建立源硬盤205及克隆硬盤206。所述克隆虛擬機(jī)209及克隆硬盤206是在將所述源虛擬機(jī)208的源硬盤205中的數(shù)據(jù)備份至所述備份存儲器30時創(chuàng)建的,下面將結(jié)合圖3所示的虛擬機(jī)備份方法的流程圖說明所述源虛擬機(jī)中的備份過程。

如圖3所示,本發(fā)明實施例的虛擬機(jī)備份方法包括:

步驟301,接收備份命令,中斷源虛擬機(jī)的業(yè)務(wù),創(chuàng)建克隆虛擬機(jī)及所述克隆虛擬機(jī)的克隆硬盤。

本發(fā)明實施例中,源虛擬機(jī)208的業(yè)務(wù)為所述虛擬機(jī)正在執(zhí)行的i/o請求,中斷源虛擬機(jī)208的業(yè)務(wù)即將所述源虛擬機(jī)208正在執(zhí)行的io請求掛起。

在實際應(yīng)用時,在接收到備份命令后,可以先中斷源虛擬機(jī)的業(yè)務(wù),再創(chuàng)建克隆虛擬機(jī)及克隆虛擬機(jī)的克隆硬盤,也可以先創(chuàng)建克隆虛擬機(jī)及克隆虛擬機(jī)的克隆硬盤再中斷源虛擬機(jī)的業(yè)務(wù),具體可以根據(jù)實際情況設(shè)定兩者的順序。

步驟302,建立所述克隆硬盤與所述源虛擬機(jī)的源硬盤的存儲空間的映射關(guān)系。

在建立所述克隆硬盤與所述源硬盤的存儲空間的映射關(guān)系時,先將所述源硬盤和克隆硬盤分別按照預(yù)設(shè)大小分割為多個存儲塊,然后再建立源存儲塊的地址與克隆存儲塊的地址的映射關(guān)系。

在創(chuàng)建所述克隆虛擬機(jī)209及克隆硬盤206時,可首先獲取所述源虛擬機(jī)208及源硬盤205的參數(shù),根據(jù)所述源虛擬機(jī)208及源硬盤205的參數(shù)創(chuàng)建所述克隆虛擬機(jī)209及克隆硬盤206,所述克隆硬盤206的容量與所述源硬盤205的容量相等。

在建立所述克隆硬盤206與所述源硬盤205的存儲空間的映射關(guān)系時,首先將所述源硬盤205和克隆硬盤206分別按照預(yù)設(shè)大小分割為多個存儲塊,然后建立源存儲塊的地址與克隆存儲塊的地址的映射關(guān)系。

圖4所示為所述克隆硬盤與所述源硬盤的存儲空間的映射關(guān)系的示意圖,源硬盤205和克隆硬盤206都被分割為多個存儲塊,例如源硬盤205的源存儲塊2051和2052等,以及克隆硬盤206的克隆存儲塊2061和2062。

所述克隆硬盤206與所述源硬盤205的存儲空間的映射關(guān)系包括源存儲塊的地址與源存儲塊對應(yīng)的克隆存儲塊的地址,每個對應(yīng)關(guān)系可設(shè)置一個更新標(biāo)識。如圖4所示,每個對應(yīng)關(guān)系對應(yīng)的更新標(biāo)識可以通過獨(dú)立的列表401所示,所述列表401包括存儲塊索引號和索引號對應(yīng)的更新標(biāo)識。存儲塊索引號pa~pe指向各自對應(yīng)的對應(yīng)關(guān)系。在其他實施方式中,所述更新標(biāo)識也可與所述源存儲塊與克隆存儲塊的對應(yīng)關(guān)系記錄在一起,而不需要通過所述獨(dú)立的列表401來記錄。更新標(biāo)識包括已更新或未更新,圖4所示的實施例中,以0表示數(shù)據(jù)未更新,以1標(biāo)識數(shù)據(jù)已更新。在本發(fā)明其他實施例中,也可以用1表示數(shù)據(jù)未更新,用0標(biāo)識數(shù)據(jù)已更新。所述更新標(biāo)識的作用將在下文做詳細(xì)介紹。

克隆硬盤與所述源硬盤的存儲空間的映射關(guān)系,以及對應(yīng)的更新標(biāo)識可以采用映射表的形式,也可以采用其他形式,在此不再贅述。

步驟303,將所述源虛擬機(jī)的運(yùn)行數(shù)據(jù)鏡像至所述克隆虛擬機(jī),以使所述克隆虛擬機(jī)根據(jù)所述運(yùn)行數(shù)據(jù)開始運(yùn)行,設(shè)置所述克隆虛擬機(jī)接收io請求,恢復(fù)執(zhí)行所中斷的所述源虛擬機(jī)的業(yè)務(wù)。

所述運(yùn)行數(shù)據(jù)包括所述源虛擬機(jī)208中的內(nèi)存中的數(shù)據(jù)、cpu寄存器中的數(shù)據(jù)、io請求堆棧中的io請求、網(wǎng)絡(luò)堆棧中的數(shù)據(jù)。所述源虛擬機(jī)208中的內(nèi)存中的數(shù)據(jù)為源虛擬機(jī)運(yùn)行所需要的數(shù)據(jù),所述cpu寄存器中的數(shù)據(jù)為當(dāng)前處理的進(jìn)程或者線程的狀態(tài)位信息,所述io請求堆棧中的io請求包括所述源虛擬機(jī)208正在處理的io請求及已經(jīng)接收但還未被處理的io請求,所述網(wǎng)絡(luò)堆棧中所存儲的數(shù)據(jù)為所述源虛擬機(jī)208要發(fā)送給外部的數(shù)據(jù)及從外部接收的數(shù)據(jù)。將所述運(yùn)行數(shù)據(jù)鏡像至所述克隆虛擬機(jī)209后,還需要設(shè)置所述克隆虛擬機(jī)接收io請求,這樣后續(xù)接收到的io請求就會發(fā)送至所述克隆虛擬機(jī)處理。在所述克隆虛擬機(jī)開始執(zhí)行業(yè)務(wù)開始,即可恢復(fù)執(zhí)行所中斷的所述源虛擬機(jī)的業(yè)務(wù)。由于用戶指示進(jìn)行備份的備份時間點(diǎn)為用戶下達(dá)備份命令(即接收到備份命令的時刻)開始算起,所以用戶需要的數(shù)據(jù)也為所述備份時間點(diǎn)之前接收到的所有數(shù)據(jù),但是由于處理器處理io請求的延時,備份時間點(diǎn)之前的io請求還沒有被及時處理,例如被正在執(zhí)行,或在io請求堆棧中還未被及時處理,所以在所述克隆虛擬機(jī)開始執(zhí)行業(yè)務(wù)開始,也需要恢復(fù)執(zhí)行所中斷的所述源虛擬機(jī)的業(yè)務(wù),以使備份時間點(diǎn)后,還未被寫入所述源硬盤的數(shù)據(jù)寫入所述源硬盤,從而保證數(shù)據(jù)的一致性。

步驟304,在偵測到所述克隆虛擬機(jī)執(zhí)行數(shù)據(jù)操作為對所述源硬盤中的數(shù)據(jù)進(jìn)行修改時,則將修改后的數(shù)據(jù)記錄至所述克隆硬盤中,并對記錄的位置進(jìn)行標(biāo)記,這里即可采用上述的更新標(biāo)識對源硬盤或者克隆硬盤數(shù)據(jù)更新的位置進(jìn)行標(biāo)記。

對所述源硬盤中的數(shù)據(jù)進(jìn)行修改可以是在備份時間點(diǎn)所述源硬盤中存儲的數(shù)據(jù)的基礎(chǔ)上寫入新的數(shù)據(jù),或者是對在備份時間點(diǎn)所述源硬盤中存儲的數(shù)據(jù)的更新,也可以是在備份時間點(diǎn)所述源硬盤中存儲的數(shù)據(jù)的基礎(chǔ)上刪除數(shù)據(jù)。

如果所述數(shù)據(jù)操作為寫入新數(shù)據(jù),則將待寫入的新數(shù)據(jù)存儲至所述克隆硬盤的空閑的克隆存儲塊中,并將寫入所述數(shù)據(jù)的克隆存儲塊對應(yīng)的更新標(biāo)記設(shè)置為已更新;如果所述數(shù)據(jù)操作為對源硬盤中的數(shù)據(jù)進(jìn)行更新,則根據(jù)源存儲塊與克隆存儲塊的映射關(guān)系,將所述更新數(shù)據(jù)寫入所述克隆硬盤中與所述待更新的源存儲塊對應(yīng)的克隆存儲塊中,并將待更新的源存儲塊(或者寫入更新數(shù)據(jù)的克隆存儲塊)的更新標(biāo)識設(shè)置為已更新。如果所述數(shù)據(jù)操作為對源硬盤中的數(shù)據(jù)進(jìn)行刪除,則將所述待刪除數(shù)據(jù)所在的源存儲塊(或者所述待刪除數(shù)據(jù)所在的源存儲塊對應(yīng)的克隆存儲塊)對應(yīng)的更新標(biāo)識設(shè)置為已更新。

下面通過具體應(yīng)用場景說明修改所述源硬盤中備份時間點(diǎn)存儲的數(shù)據(jù)時進(jìn)行標(biāo)記的過程。

圖5所示的應(yīng)用場景為在偵測到所述克隆虛擬機(jī)執(zhí)行數(shù)據(jù)操作為對所述源硬盤中的數(shù)據(jù)進(jìn)行更新。如圖5所示,源虛擬機(jī)包括源硬盤205,克隆虛擬機(jī)包括克隆硬盤206。

所述數(shù)據(jù)操作為需要將源硬盤205中的源存儲塊2053中的數(shù)據(jù)e更新為f,則首先在所述標(biāo)記列表501中找到所述源存儲塊2053對應(yīng)的更新標(biāo)識,即索引號pe對應(yīng)的更新標(biāo)識,確定所述更新標(biāo)識是否為已更新(更新標(biāo)識為1),從圖中可以看出,所述更新標(biāo)識不是已更新,即未更新(更新標(biāo)識為0),則將數(shù)據(jù)更新數(shù)據(jù)f寫入所述源存儲塊2053對應(yīng)的克隆硬盤206的克隆存儲塊2063中,并將標(biāo)記列表501中記錄的索引號pe對應(yīng)的更新標(biāo)識修改為已更新(由0修改為1)。另外一種情況下,即所述更新標(biāo)識為已更新時,則只需要將所述更新數(shù)據(jù)f寫入所述克隆存儲塊2063即可,而無需更改更新標(biāo)識。

在備份時間點(diǎn)在所述源硬盤中所存儲的數(shù)據(jù)的基礎(chǔ)上寫入新數(shù)據(jù)的場景和刪除數(shù)據(jù)的場景與上述更新數(shù)據(jù)的場景類似,在此不再舉例說明。

步驟305,在偵測到所述源虛擬機(jī)的業(yè)務(wù)執(zhí)行完成之后,關(guān)閉所述源虛擬機(jī),備份所述源硬盤中的數(shù)據(jù)。

在數(shù)據(jù)備份的過程中,如果所述克隆虛擬機(jī)接收到數(shù)據(jù)操作請求時,也通過上述方法對修改的數(shù)據(jù)進(jìn)行標(biāo)記。

在克隆虛擬機(jī)運(yùn)行期間,如果接收到讀io請求,則通過下面的方法執(zhí)行:

首先,所述克隆虛擬機(jī)接收讀io請求;

然后,判斷所述讀io請求所讀取的克隆存儲塊對應(yīng)的更新標(biāo)識是否為已更新;

當(dāng)確定所述讀io請求所讀取的克隆存儲塊對應(yīng)的更新標(biāo)識為未更新時,從所述所讀取的克隆存儲塊對應(yīng)的源存儲塊中讀取數(shù)據(jù);

確定所述讀io請求所讀取的克隆存儲塊對應(yīng)的更新標(biāo)識為已更新時,從所讀取的克隆存儲塊中讀取數(shù)據(jù)。

下面結(jié)合圖6說明克隆虛擬機(jī)運(yùn)行期間進(jìn)行數(shù)據(jù)讀取的方法。

在圖6所示的應(yīng)用場景中,源虛擬機(jī)包括源硬盤205,克隆虛擬機(jī)包括克隆硬盤206。

如圖6所示,當(dāng)所述克隆虛擬機(jī)接收到數(shù)據(jù)讀取請求時,首先確定所讀取數(shù)據(jù)對應(yīng)的克隆存儲塊2065對應(yīng)的更新標(biāo)記(也即源存儲塊2056對應(yīng)的更新標(biāo)識),當(dāng)克隆存儲塊2065對應(yīng)的更新標(biāo)識為0時,表示所述克隆存儲塊2065對應(yīng)的所述源存儲塊2055中的數(shù)據(jù)還未被更新,則直接從所述源存儲塊2054中讀取數(shù)據(jù)數(shù)據(jù)b。當(dāng)另外一個數(shù)據(jù)讀取請求所讀取數(shù)據(jù)對應(yīng)的克隆存儲塊2064對應(yīng)的更新標(biāo)識為1時,則表示所述克隆存儲塊2064對應(yīng)的源存儲塊2054中的數(shù)據(jù)已經(jīng)被修改,則從所述克隆存儲塊2064中讀取數(shù)據(jù)f。

在恢復(fù)執(zhí)行所中斷的所述源虛擬機(jī)的業(yè)務(wù)后,由于所述源虛擬機(jī)所執(zhí)行的業(yè)務(wù)也被鏡像至所述克隆虛擬機(jī),所以所述源虛擬機(jī)及所述克隆虛擬機(jī)會同時執(zhí)行相同的業(yè)務(wù),但是由于克隆虛擬機(jī)與源虛擬機(jī)并不同步,源虛擬機(jī)對源硬盤中的數(shù)據(jù)可能會早于克隆虛擬機(jī)對數(shù)據(jù)的更新,這樣,在克隆虛擬機(jī)需要讀取源硬盤中的數(shù)據(jù)時,則由于源硬盤的數(shù)據(jù)已經(jīng)被更新,則會導(dǎo)致錯誤,所以在這種情況下,需要將所述源硬盤中的數(shù)據(jù)先遷移至所述克隆虛擬機(jī),并設(shè)置更新標(biāo)記進(jìn)行標(biāo)記,具體方法為:

在偵測到所述源虛擬機(jī)執(zhí)行的數(shù)據(jù)操作為對所述源硬盤中的數(shù)據(jù)進(jìn)行更新時,判斷所述數(shù)據(jù)更新請求所更新的源存儲塊的地址所在的映射關(guān)系對應(yīng)的更新標(biāo)識是否為已更新;

確定所述數(shù)據(jù)更新請求所更新的源存儲塊的地址所在的映射關(guān)系對應(yīng)的更新標(biāo)識不是已更新時,將所述數(shù)據(jù)更新請求所更新的源存儲塊中被更新數(shù)據(jù)拷貝至所述數(shù)據(jù)更新請求所更新的源存儲塊對應(yīng)的克隆存儲塊;

在所述數(shù)據(jù)更新請求所更新的源存儲塊中寫入所述數(shù)據(jù)更新請求中的更新數(shù)據(jù);

將所述數(shù)據(jù)更新請求所更新的源存儲塊對應(yīng)的更新標(biāo)識設(shè)置為已更新。

如圖7所示,當(dāng)源存儲塊2056中的數(shù)據(jù)b要被更新為f時,則先確定所述源存儲塊2056對應(yīng)的修改標(biāo)記,當(dāng)所述源存儲塊2056對應(yīng)的修改標(biāo)記為0時,則將所述源存儲塊2056中存儲的數(shù)據(jù)b遷移至所述源存儲塊2056對應(yīng)的克隆存儲塊2066中,然后將所述更新數(shù)據(jù)f寫入所述源存儲塊2056中。相反地,如果所述源存儲塊2056對應(yīng)的修改標(biāo)記為1時,則直接將源存儲塊2056中的數(shù)據(jù)b更新為f,無需將數(shù)據(jù)b遷移至所述克隆存儲塊2066中,所述源存儲塊2056對應(yīng)的更新標(biāo)記也不必修改。步驟306,在偵測到數(shù)據(jù)備份結(jié)束后,根據(jù)所述映射關(guān)系將所述克隆硬盤中被標(biāo)記的位置處的數(shù)據(jù)復(fù)制至所述克隆硬盤被標(biāo)記的位置處所映射的所述源硬盤的位置,并設(shè)置所述源硬盤為所述克隆虛擬機(jī)的硬盤。

在根據(jù)映射關(guān)系將克隆硬盤中被標(biāo)記的位置處的數(shù)據(jù)復(fù)制至克隆硬盤被標(biāo)記的位置處所映射的源硬盤的位置時,首選確定被設(shè)置為已更新的更新標(biāo)識對應(yīng)的映射關(guān)系中的克隆存儲塊;將所述被設(shè)置為已更新的更新標(biāo)識對應(yīng)的映射關(guān)系中的克隆存儲塊所存儲的數(shù)據(jù)復(fù)制至所述被設(shè)置為已更新的更新標(biāo)識對應(yīng)的映射關(guān)系中的源存儲塊;將所述被設(shè)置為已更新的更新標(biāo)識設(shè)置為未更新。

然后可以刪除所述克隆硬盤和所述映射表。

在將克隆硬盤中的數(shù)據(jù)拷貝至所述源硬盤后后,克隆虛擬機(jī)209將取代源虛擬機(jī)208,對外提供業(yè)務(wù),此時克隆虛擬機(jī)209使用的是源硬盤205。

圖8所示為本發(fā)明實施例將所述克隆硬盤中的數(shù)據(jù)復(fù)制至所述源硬盤的示意圖。

如圖8所示,源虛擬機(jī)包括源硬盤205,克隆虛擬機(jī)包括克隆硬盤206。在復(fù)制數(shù)據(jù)時,先通過標(biāo)識列表901獲取更新標(biāo)識為1的克隆存儲塊,比如克隆存儲塊9022及克隆存儲塊9021,克隆存儲塊9022中存儲的數(shù)據(jù)為f,克隆存儲塊9021中,并沒有存儲數(shù)據(jù),表示之前對克隆存儲塊9021對應(yīng)的源存儲塊9011的進(jìn)行的數(shù)據(jù)操作為刪除操作,如此,在復(fù)制時,用更新標(biāo)記為1的所述克隆存儲塊中的數(shù)據(jù)覆蓋所述克隆存儲塊對應(yīng)的源存儲塊的數(shù)據(jù),即用克隆存儲塊9022中的數(shù)據(jù)f覆蓋源存儲塊9012中的數(shù)據(jù),用克隆存儲塊9021中的空數(shù)據(jù)覆蓋源存儲塊9011中的數(shù)據(jù)c,也可以為直接刪除所述數(shù)據(jù)c。再將克隆存儲塊中的數(shù)據(jù)復(fù)制至所述源存儲塊后,即可將更新標(biāo)記由1設(shè)置為0。

當(dāng)所述克隆硬盤標(biāo)記為已更新的克隆存儲塊中的數(shù)據(jù)全部拷貝至所述源硬盤后,則刪除克隆硬盤和映射表,此時由克隆虛擬機(jī)對外提供業(yè)務(wù)。

本發(fā)明實施例中,在偵測到數(shù)據(jù)備份結(jié)束后,接收到數(shù)據(jù)寫入請求時,將所述數(shù)據(jù)寫入請求中的待寫入數(shù)據(jù)寫入所述源硬盤中,并將寫入所述待寫入數(shù)據(jù)的源存儲塊對應(yīng)的更新標(biāo)識設(shè)置為未更新。

通過本發(fā)明實施例的方法,在對虛擬機(jī)中的數(shù)據(jù)進(jìn)行備份時,通過創(chuàng)建包括克隆硬盤的克隆虛擬機(jī),將虛擬機(jī)在備份過程中執(zhí)行的業(yè)務(wù)轉(zhuǎn)移至所述克隆虛擬機(jī)執(zhí)行,并將虛擬機(jī)備份過程中,將對源虛擬機(jī)中存儲的數(shù)據(jù)的修改記錄在所述克隆硬盤中,并對修改的數(shù)據(jù)進(jìn)行標(biāo)記,如此,在虛擬機(jī)的數(shù)據(jù)備份完成之后,可用克隆硬盤中記錄的修改數(shù)據(jù)更新所述源虛擬機(jī)中的數(shù)據(jù),如此,在保證備份數(shù)據(jù)的一致性的同時,也不會中斷虛擬機(jī)的業(yè)務(wù),從而提高了虛擬機(jī)的運(yùn)行效率。

如圖9所示,本發(fā)明實施例還提供一種數(shù)據(jù)備份裝置10,所述數(shù)據(jù)備份裝置包括創(chuàng)建單元11、標(biāo)記單元12、備份單元13、讀取單元14、及更新單元15。所述創(chuàng)建單元11用于接收備份命令,中斷源虛擬機(jī)的業(yè)務(wù),創(chuàng)建克隆虛擬機(jī)及所述克隆虛擬機(jī)的克隆硬盤,建立所述克隆硬盤與所述源虛擬機(jī)的源硬盤的存儲空間的映射關(guān)系,并將所述源虛擬機(jī)的運(yùn)行數(shù)據(jù)鏡像至所述克隆虛擬機(jī),以使所述克隆虛擬機(jī)根據(jù)所述運(yùn)行數(shù)據(jù)開始運(yùn)行,設(shè)置所述克隆虛擬機(jī)接收io請求,恢復(fù)執(zhí)行所中斷的所述源虛擬機(jī)的業(yè)務(wù)。

所述創(chuàng)建單元11在建立所述克隆硬盤與所述源硬盤的存儲空間的映射關(guān)系時,具體用于將所述源硬盤和克隆硬盤分別按照預(yù)設(shè)大小分割為多個存儲塊;建立源存儲塊的地址與克隆存儲塊的地址的映射關(guān)系。

所述克隆硬盤與所述源虛擬機(jī)的源硬盤的存儲空間的映射關(guān)系的建立方法和將所述源虛擬機(jī)的運(yùn)行數(shù)據(jù)鏡像至所述克隆虛擬機(jī)的方法在方法實施例中做了詳細(xì)描述,在此不再贅述。

所述標(biāo)記單元12用于在偵測到所述克隆虛擬機(jī)執(zhí)行數(shù)據(jù)操作為對所述源硬盤中的數(shù)據(jù)進(jìn)行修改時,則將修改后的數(shù)據(jù)記錄至所述克隆硬盤中,并對記錄的位置進(jìn)行標(biāo)記。

所述標(biāo)記單元12在對記錄的位置進(jìn)行標(biāo)記時,具體用于將記錄所述修改后的數(shù)據(jù)的克隆存儲塊的地址所在的映射關(guān)系對應(yīng)的更新標(biāo)記設(shè)置為已更新。

所述標(biāo)記單元12還用于在偵測到所述源虛擬機(jī)執(zhí)行的數(shù)據(jù)操作對所述源硬盤中的數(shù)據(jù)進(jìn)行更新時,判斷所述數(shù)據(jù)更新請求所更新的源存儲塊的地址所在的映射關(guān)系對應(yīng)的更新標(biāo)識是否為已更新;確定所述數(shù)據(jù)更新請求所更新的源存儲塊的地址所在的映射關(guān)系對應(yīng)的更新標(biāo)識不是已更新時,將所述數(shù)據(jù)更新請求所更新的源存儲塊中被更新數(shù)據(jù)拷貝至所述數(shù)據(jù)更新請求所更新的源存儲塊對應(yīng)的克隆存儲塊;在所述數(shù)據(jù)更新請求所更新的源存儲塊中寫入所述數(shù)據(jù)更新請求中的更新數(shù)據(jù);將所述數(shù)據(jù)更新請求所更新的源存儲塊對應(yīng)的更新標(biāo)識設(shè)置為已更新。

所述備份單元13用于在偵測到所述源虛擬機(jī)的業(yè)務(wù)執(zhí)行完成之后,關(guān)閉所述源虛擬機(jī),備份所述源硬盤中的數(shù)據(jù)。

還包括讀取單元14,用于接收讀取所述克隆虛擬機(jī)中的數(shù)據(jù)的讀io請求接收;判斷所述讀io請求所讀取的克隆存儲塊對應(yīng)的更新標(biāo)識是否為已更新;確定所述讀io請求所讀取的克隆存儲塊對應(yīng)的更新標(biāo)識為未更新時,從所述所讀取的克隆存儲塊對應(yīng)的源存儲塊中讀取數(shù)據(jù);確定所述讀io請求所讀取的克隆存儲塊對應(yīng)的更新標(biāo)識為已更新時,從所述所讀取的克隆存儲塊中讀取數(shù)據(jù)。

所述更新單元15用于在偵測到數(shù)據(jù)備份結(jié)束后,根據(jù)所述映射關(guān)系將所述克隆硬盤中被標(biāo)記的位置處的數(shù)據(jù)復(fù)制至所述克隆硬盤被標(biāo)記的位置處所映射的所述源硬盤的位置,并設(shè)置所述源硬盤為所述克隆虛擬機(jī)的硬盤。

所述更新單元15具體用于確定被設(shè)置為已更新的更新標(biāo)識對應(yīng)的映射關(guān)系中的克隆存儲塊;將所述被設(shè)置為已更新的更新標(biāo)識對應(yīng)的映射關(guān)系中的克隆存儲塊所存儲的數(shù)據(jù)復(fù)制至所述被設(shè)置為已更新的更新標(biāo)識對應(yīng)的映射關(guān)系中的源存儲塊;將所述被設(shè)置為已更新的更新標(biāo)識設(shè)置為未更新。

在所述克隆硬盤中的數(shù)據(jù)復(fù)制完成之后,所述更新單元刪除所述克隆硬盤及映射表。

通過本發(fā)明實施例的方法,在對虛擬機(jī)中的數(shù)據(jù)進(jìn)行備份時,通過創(chuàng)建包括克隆硬盤的克隆虛擬機(jī),將虛擬機(jī)在備份過程中執(zhí)行的業(yè)務(wù)轉(zhuǎn)移至所述克隆虛擬機(jī)執(zhí)行,并將虛擬機(jī)備份過程中,將對源虛擬機(jī)中存儲的數(shù)據(jù)的修改記錄在所述克隆硬盤中,并對修改的數(shù)據(jù)進(jìn)行標(biāo)記,如此,在虛擬機(jī)的數(shù)據(jù)備份完成之后,可用克隆硬盤中記錄的修改數(shù)據(jù)更新所述源虛擬機(jī)中的數(shù)據(jù),如此,在保證備份數(shù)據(jù)的一致性的同時,也不會中斷虛擬機(jī)的業(yè)務(wù),從而提高了虛擬機(jī)的運(yùn)行效率。

對于系統(tǒng)實施例而言,由于其基本對應(yīng)于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。

本發(fā)明可以在由計算機(jī)執(zhí)行的計算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)中。

本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計算機(jī)可讀取存儲介質(zhì)中,這里所稱得的存儲介質(zhì),如:rom、ram、磁碟、光盤等。

還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了閘述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
罗山县| 德安县| 开远市| 石城县| 汉川市| 郸城县| 定安县| 古丈县| 宾川县| 棋牌| 开阳县| 桓台县| 拜城县| 通州区| 阿拉尔市| 建始县| 双桥区| 上犹县| 和硕县| 开封县| 长岛县| 社会| 株洲市| 玉田县| 鄂伦春自治旗| 黄浦区| 稻城县| 视频| 扎赉特旗| 洪雅县| 乌恰县| 安塞县| 岳普湖县| 黔东| 文化| 临邑县| 蓝田县| 兰州市| 鸡东县| 三穗县| 阿克陶县|