在復(fù)制初始化中生成初始副本的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明的各實(shí)施方式涉及數(shù)據(jù)復(fù)制(data replication),更具體地,涉及用于在 復(fù)制初始化(replication initialization)中生成初始副本(initial copy)的方法和裝 置。
【背景技術(shù)】
[0002] 隨著數(shù)據(jù)存儲(chǔ)技術(shù)W及網(wǎng)絡(luò)通信技術(shù)的發(fā)展,目前已經(jīng)提出了分布式數(shù)據(jù)存儲(chǔ)的 概念。在分布式數(shù)據(jù)存儲(chǔ)中,數(shù)據(jù)不再位于單一的數(shù)據(jù)節(jié)點(diǎn),而是可W分布在位于相同或者 不同物理地點(diǎn)的多個(gè)數(shù)據(jù)節(jié)點(diǎn)中。進(jìn)一步,為了提供更加可靠的數(shù)據(jù)存儲(chǔ),在分布式數(shù)據(jù)存 儲(chǔ)系統(tǒng)中,可W在多個(gè)數(shù)據(jù)節(jié)點(diǎn)中存儲(chǔ)數(shù)據(jù)對(duì)象的多個(gè)備份,從而在部分?jǐn)?shù)據(jù)節(jié)點(diǎn)出現(xiàn)故 障時(shí),可W基于其他未出現(xiàn)故障的數(shù)據(jù)節(jié)點(diǎn)中的備份來恢復(fù)故障節(jié)點(diǎn)中的數(shù)據(jù)。
[0003] 目前,數(shù)據(jù)庫中的數(shù)據(jù)量隨著用戶需求的增長(zhǎng)而變得越來越大。當(dāng)在分布式數(shù)據(jù) 存儲(chǔ)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)之間復(fù)制數(shù)據(jù)(例如,從北京的數(shù)據(jù)節(jié)點(diǎn)向上海的數(shù)據(jù)節(jié)點(diǎn)復(fù)制數(shù) 據(jù))時(shí),可能會(huì)花費(fèi)數(shù)小時(shí)甚至數(shù)天的時(shí)間。盡管提高各個(gè)數(shù)據(jù)節(jié)點(diǎn)之間的帶寬可W提高 數(shù)據(jù)復(fù)制的效率,然而,提高數(shù)據(jù)帶寬需要大量人力和物力開銷;此外,由于在各個(gè)數(shù)據(jù)節(jié) 點(diǎn)之間的數(shù)據(jù)傳輸量并不穩(wěn)定,基于數(shù)據(jù)傳輸量的峰值需求來設(shè)置網(wǎng)絡(luò)傳輸帶寬,將造成 帶寬資源的極大浪費(fèi)。
[0004] 復(fù)制初始化是指在不同數(shù)據(jù)節(jié)點(diǎn)之間第一次同步數(shù)據(jù)的步驟,在復(fù)制初始化期 間,需要將源節(jié)點(diǎn)中的全部數(shù)據(jù)拷貝至目標(biāo)節(jié)點(diǎn)。在數(shù)據(jù)復(fù)制領(lǐng)域中,通常在復(fù)制初始化期 間需要較大的數(shù)據(jù)傳輸量,而當(dāng)已經(jīng)在目標(biāo)節(jié)點(diǎn)中存在初始副本的情況下,則僅需要較小 的數(shù)據(jù)傳輸量即可確保目標(biāo)節(jié)點(diǎn)與源節(jié)點(diǎn)的同步。因而,如何提高復(fù)制初始化的效率并且 在復(fù)制初始化期間快速地生成初始副本,成為數(shù)據(jù)復(fù)制領(lǐng)域的一個(gè)研究熱點(diǎn)。
【發(fā)明內(nèi)容】
[0005] 因而,期望開發(fā)一種能夠在復(fù)制初始化期間方便并且快速地生成初始副本的技術(shù) 方案,期望該技術(shù)方案可W盡可能地重用已經(jīng)存在于目標(biāo)節(jié)點(diǎn)中的數(shù)據(jù)塊(data block), 并且基于該數(shù)據(jù)塊和/或源節(jié)點(diǎn)中的其他數(shù)據(jù)塊來在目標(biāo)節(jié)點(diǎn)中生成源節(jié)點(diǎn)中的待復(fù)制 的源卷(source volume)的初始副本。
[0006] 在本發(fā)明的一個(gè)實(shí)施方式中,提供了一種用于在復(fù)制初始化中生成初始副本的方 法,包括;接收從源節(jié)點(diǎn)向目標(biāo)節(jié)點(diǎn)復(fù)制源卷W生成源卷的初始副本的請(qǐng)求;針對(duì)源卷中 包括的至少一個(gè)源數(shù)據(jù)塊中的當(dāng)前源數(shù)據(jù)塊,在目標(biāo)節(jié)點(diǎn)中搜索與當(dāng)前源數(shù)據(jù)塊相對(duì)應(yīng)的 目標(biāo)數(shù)據(jù)塊;W及利用目標(biāo)數(shù)據(jù)塊更新初始副本。
[0007] 在本發(fā)明的一個(gè)實(shí)施方式中,在目標(biāo)節(jié)點(diǎn)中搜索與當(dāng)前源數(shù)據(jù)塊相對(duì)應(yīng)的目標(biāo)數(shù) 據(jù)塊包括:獲取與當(dāng)前源數(shù)據(jù)塊相關(guān)聯(lián)的包括一個(gè)或者多個(gè)候選目標(biāo)數(shù)據(jù)塊的列表,候選 目標(biāo)數(shù)據(jù)塊是目標(biāo)節(jié)點(diǎn)中的與當(dāng)前源數(shù)據(jù)塊具有歷史拷貝關(guān)系的目標(biāo)數(shù)據(jù)塊;W及響應(yīng)于 候選目標(biāo)數(shù)據(jù)塊與當(dāng)前源數(shù)據(jù)塊相匹配,將候選目標(biāo)數(shù)據(jù)塊標(biāo)識(shí)為目標(biāo)數(shù)據(jù)塊。
[0008] 在本發(fā)明的一個(gè)實(shí)施方式中,進(jìn)一步包括:在源卷中選擇與初始副本中的目標(biāo)數(shù) 據(jù)塊相對(duì)應(yīng)的源數(shù)據(jù)塊W外的源數(shù)據(jù)塊,W形成源數(shù)據(jù)塊集合;W及從源節(jié)點(diǎn)向目標(biāo)節(jié)點(diǎn) 拷貝源數(shù)據(jù)塊集合中的源數(shù)據(jù)塊W更新初始副本。
[0009] 在本發(fā)明的一個(gè)實(shí)施方式中,提供了一種用于在復(fù)制初始化中生成初始副本的裝 置,包括:接收模塊,配置用于接收從源節(jié)點(diǎn)向目標(biāo)節(jié)點(diǎn)復(fù)制源卷W生成源卷的初始副本的 請(qǐng)求;搜索模塊,配置用于針對(duì)源卷中包括的至少一個(gè)源數(shù)據(jù)塊中的當(dāng)前源數(shù)據(jù)塊,在目標(biāo) 節(jié)點(diǎn)中搜索與當(dāng)前源數(shù)據(jù)塊相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)塊;W及更新模塊,配置用于利用目標(biāo)數(shù)據(jù) 塊更新初始副本。
[0010] 在本發(fā)明的一個(gè)實(shí)施方式中,搜索模塊包括:列表獲取模塊,配置用于獲取與當(dāng)前 源數(shù)據(jù)塊相關(guān)聯(lián)的包括一個(gè)或者多個(gè)候選目標(biāo)數(shù)據(jù)塊的列表,候選目標(biāo)數(shù)據(jù)塊是目標(biāo)節(jié)點(diǎn) 中的與當(dāng)前源數(shù)據(jù)塊具有歷史拷貝關(guān)系的目標(biāo)數(shù)據(jù)塊;W及第Η標(biāo)識(shí)模塊,配置用于響應(yīng) 于候選目標(biāo)數(shù)據(jù)塊與當(dāng)前源數(shù)據(jù)塊相匹配,將候選目標(biāo)數(shù)據(jù)塊標(biāo)識(shí)為目標(biāo)數(shù)據(jù)塊。
[0011] 在本發(fā)明的一個(gè)實(shí)施方式中,進(jìn)一步包括;集合形成模塊,配置用于在所述源卷中 選擇與所述初始副本中的目標(biāo)數(shù)據(jù)塊相對(duì)應(yīng)的源數(shù)據(jù)塊W外的源數(shù)據(jù)塊,W形成源數(shù)據(jù)塊 集合;W及拷貝模塊,配置用于從所述源節(jié)點(diǎn)向所述目標(biāo)節(jié)點(diǎn)拷貝所述源數(shù)據(jù)塊集合中的 源數(shù)據(jù)塊W更新所述初始副本。
[0012] 采用本發(fā)明所述的方法和裝置,可W在充分考慮目標(biāo)節(jié)點(diǎn)中的數(shù)據(jù)塊和源節(jié)點(diǎn)中 的數(shù)據(jù)的對(duì)應(yīng)關(guān)系的情況下,盡可能地利用在目標(biāo)節(jié)點(diǎn)中已經(jīng)存在的數(shù)據(jù)塊來在目標(biāo)節(jié)點(diǎn) 中生成源卷的初始副本。
【附圖說明】
[0013] 通過結(jié)合附圖對(duì)本公開示例性實(shí)施方式進(jìn)行更詳細(xì)的描述,本公開的上述W及其 他目的、特征和優(yōu)勢(shì)將變得更加明顯,其中,在本公開示例性實(shí)施方式中,相同的參考標(biāo)號(hào) 通常代表相同部件。
[0014] 圖1示意性示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器的 框圖;
[0015] 圖2示意性示出了一個(gè)示例性的云計(jì)算環(huán)境;
[0016] 圖3示意性示出了云計(jì)算環(huán)境50 (圖2)提供的一組功能抽象層;
[0017] 圖4Α-圖4Β示意性示出了根據(jù)一個(gè)技術(shù)方案的用于在復(fù)制初始化中生成初始副 本的技術(shù)方案的圖示;
[0018] 圖5Α-圖5Β示意性示出了根據(jù)本發(fā)明的實(shí)施方式的用于在數(shù)據(jù)初始化中生成初 始副本的技術(shù)方案的圖示;
[0019] 圖6示意性示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于在數(shù)據(jù)初始化中生成初始 副本的方法的流程圖;
[0020] 圖7示意性示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的數(shù)據(jù)塊的標(biāo)簽(1油el)的結(jié)構(gòu)的 框圖;
[0021] 圖8A-圖8C示意性示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于在數(shù)據(jù)初始化中生 成初始副本的技術(shù)方案的圖示;W及
[0022] 圖9示意性示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于在數(shù)據(jù)初始化中生成初始 副本的裝置的框圖。
【具體實(shí)施方式】
[0023] 下面將參照附圖更詳細(xì)地描述本公開的優(yōu)選實(shí)施方式。雖然附圖中顯示了本公開 的優(yōu)選實(shí)施方式,然而應(yīng)該理解,可W W各種形式實(shí)現(xiàn)本公開而不應(yīng)被送里闡述的實(shí)施方 式所限制。相反,提供送些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的 范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0024] 首先應(yīng)當(dāng)理解,盡管本公開包括關(guān)于云計(jì)算的詳細(xì)描述,但其中記載的技術(shù)方案 的實(shí)現(xiàn)卻不限于云計(jì)算環(huán)境,而是能夠結(jié)合現(xiàn)在已知或W后開發(fā)的任何其他類型的計(jì)算環(huán) 境而實(shí)現(xiàn)。
[0025] 云計(jì)算是一種服務(wù)交付模式,用于對(duì)共享的可配置計(jì)算資源池進(jìn)行方便、按需的 網(wǎng)絡(luò)訪問??膳渲糜?jì)算資源是能夠W最小的管理成本或與服務(wù)提供者進(jìn)行最少的交互就能 快速部署和釋放的資源,例如可W是網(wǎng)絡(luò)、網(wǎng)絡(luò)帶寬、服務(wù)器、處理、內(nèi)存、存儲(chǔ)、應(yīng)用、虛擬 機(jī)和服務(wù)。送種云模式可W包括至少五個(gè)特征、至少Η個(gè)服務(wù)模型和至少四個(gè)部署模型。 [002引特征包括:
[0027] 按需自助式服務(wù);云的消費(fèi)者在無需與服務(wù)提供者進(jìn)行人為交互的情況下能夠單 方面自動(dòng)地按需部署諸如服務(wù)器時(shí)間和網(wǎng)絡(luò)存儲(chǔ)等的計(jì)算能力。
[0028] 廣泛的網(wǎng)絡(luò)接入;計(jì)算能力可W通過標(biāo)準(zhǔn)機(jī)制在網(wǎng)絡(luò)上獲取,送種標(biāo)準(zhǔn)機(jī)制促進(jìn) 了通過不同種類的瘦客戶機(jī)平臺(tái)或厚客戶機(jī)平臺(tái)(例如移動(dòng)電話、膝上型電腦、個(gè)人數(shù)字 助理PDA)對(duì)云的使用。
[0029] 資源池:提供者的計(jì)算資源被歸入資源池并通過多租戶(multi-tenant)模式服 務(wù)于多重消費(fèi)者,其中按需將不同的實(shí)體資源和虛擬資源動(dòng)態(tài)地分配和再分配。一般情況 下,消費(fèi)者不能控制或甚至并不知曉所提供的資源的確切位置,但可W在較高抽象程度上 指定位置(例如國(guó)家、州或數(shù)據(jù)中必),因此具有位置無關(guān)性。
[0030] 迅速彈性:能夠迅速、有彈性地(有時(shí)是自動(dòng)地)部署計(jì)算能力,W實(shí)現(xiàn)快速擴(kuò)展, 并且能迅速釋放來快速縮小。在消費(fèi)者看來,用于部署的可用計(jì)算能力往往顯得是無限的, 并能在任意時(shí)候都能獲取任意數(shù)量的計(jì)算能力。
[0031] 可測(cè)量的服務(wù):云系統(tǒng)通過利用適于服務(wù)類型(例如存儲(chǔ)、處理、帶寬和活躍用戶 賬號(hào))的某種抽象程度的計(jì)量能力,自動(dòng)地控制和優(yōu)化資源效用。可W監(jiān)測(cè)、控制和報(bào)告資 源使用情況,為服務(wù)提供者和消費(fèi)者雙方提供透明度。
[003引服務(wù)模型如下:
[0033] 軟件即服務(wù)(Saa巧:向消費(fèi)者提供的能力是使用提供者在云基礎(chǔ)架構(gòu)上運(yùn)行的 應(yīng)用。可W通過諸如網(wǎng)絡(luò)瀏覽器的瘦客戶機(jī)接口(例如基于網(wǎng)絡(luò)的電子郵件)從各種客戶 機(jī)設(shè)備訪問應(yīng)用。除了有限的特定于用戶的應(yīng)用配置設(shè)置外,消費(fèi)者既不管理也不控制包 括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)、存儲(chǔ)、乃至單個(gè)應(yīng)用能力等的底層云基礎(chǔ)架構(gòu)。
[0034] 平臺(tái)即服務(wù)(Paa巧:向消費(fèi)者提供的能力是在云基礎(chǔ)架構(gòu)上部署消費(fèi)者創(chuàng)建或 獲得的應(yīng)用,送些應(yīng)用利用提供者支持的程序設(shè)計(jì)語言和工具創(chuàng)建。消費(fèi)者既不管理也不 控制包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)或存儲(chǔ)的底層云基礎(chǔ)架構(gòu),但對(duì)其部署的應(yīng)用具有控制 權(quán),對(duì)應(yīng)用巧管環(huán)境配置可能也具有控制權(quán)。
[0035] 基礎(chǔ)架構(gòu)即服務(wù)(laa巧:向消費(fèi)者提供的能力是消費(fèi)者能夠在其中部署并運(yùn)行 包括操作系統(tǒng)和應(yīng)用的任意軟件的處理、存儲(chǔ)、網(wǎng)絡(luò)和其他基礎(chǔ)計(jì)算資源。消費(fèi)者既不管理 也不控制底層的云基礎(chǔ)架構(gòu),但是對(duì)操作系統(tǒng)、存儲(chǔ)和其部署的應(yīng)用具有控制權(quán),對(duì)選擇的 網(wǎng)絡(luò)組件(例如主機(jī)防火墻)可能具有有限的控制權(quán)。
[003引部署模型如下:
[0037] 私有云;云基礎(chǔ)架構(gòu)單獨(dú)為某個(gè)組織運(yùn)行。云基礎(chǔ)架構(gòu)可W由該組織或第Η方管 理并且可W存在于該組織內(nèi)部或外部。
[0038] 共同體云:云基礎(chǔ)架構(gòu)被若干組織共享并支持有共同利害關(guān)系(例如任務(wù)使命、 安全要求、政策和合規(guī)考慮)的特定共同體。共同體云可W由共同體內(nèi)的多個(gè)組織或第Η 方管理并且可W存在于該共同體內(nèi)部或外部。
[0039] 公共云:云基礎(chǔ)架構(gòu)向公眾或大型產(chǎn)業(yè)群提供并由出售云服務(wù)的組織擁有。
[0040] 混合云:云基礎(chǔ)架構(gòu)由兩個(gè)或更多部署模型的云(私有云、共同體云或公共云)組 成,送些云依然是獨(dú)特的實(shí)體,但是通過使數(shù)據(jù)和應(yīng)用能夠移植的標(biāo)準(zhǔn)化技術(shù)或私有技術(shù) (例如用于云之間的負(fù)載平衡的云突發(fā)流量分擔(dān)技術(shù))綁定在一起。
[0041] 云計(jì)算環(huán)境是面向服務(wù)的,特點(diǎn)集中在無狀態(tài)性、低禪合性、模塊性和語意的互操 作性。云計(jì)算的核必是包含互連節(jié)點(diǎn)網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)。
[0042] 現(xiàn)在參考圖1,其中顯示了云計(jì)算節(jié)點(diǎn)的一個(gè)例子。圖1顯示的云計(jì)算節(jié)點(diǎn)10僅 僅是適合的云計(jì)算節(jié)點(diǎn)的一個(gè)示例,不應(yīng)對(duì)本發(fā)明實(shí)施方式的功能和使用范圍帶來任何限 巧||??傊朴?jì)算節(jié)點(diǎn)10能夠被用來實(shí)現(xiàn)和/或執(zhí)行W上所述的任何功能。
[0043] 云計(jì)算節(jié)點(diǎn)10具有計(jì)算機(jī)系統(tǒng)/服務(wù)器12,其可與眾多其他通用或?qū)S糜?jì)算系 統(tǒng)環(huán)境或配置一起操作。眾所周知,適于與計(jì)算機(jī)系統(tǒng)/服務(wù)器12 -起操作的計(jì)算系統(tǒng)、 環(huán)境和/或配置的例子包括但不限于:個(gè)人計(jì)算機(jī)系