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

在復(fù)制環(huán)境中的協(xié)調(diào)的存儲(chǔ)管理操作的制作方法

文檔序號(hào):6504965閱讀:128來(lái)源:國(guó)知局
專(zhuān)利名稱:在復(fù)制環(huán)境中的協(xié)調(diào)的存儲(chǔ)管理操作的制作方法
本專(zhuān)利申請(qǐng)的部分包含受著作權(quán)保護(hù)的內(nèi)容。著作權(quán)人不反對(duì)任何人傳真復(fù)制專(zhuān)利文件或?qū)@_(kāi),當(dāng)專(zhuān)利文件發(fā)表在專(zhuān)利商標(biāo)局文件或記錄中時(shí),但在其它方面保留全部著作權(quán)。
背景技術(shù)
信息推動(dòng)企業(yè)。對(duì)于日益依賴于用于企業(yè)的日常運(yùn)作的數(shù)據(jù)和信息的企業(yè),由于數(shù)據(jù)丟失或數(shù)據(jù)損毀造成的意外停工會(huì)損害它們的聲譽(yù)和收益。企業(yè)日益意識(shí)到由數(shù)據(jù)損毀和丟失帶來(lái)的成本,并采取措施來(lái)對(duì)這樣的事件作計(jì)劃并從中恢復(fù)。通常這些措施包括制作主數(shù)據(jù)或生產(chǎn)數(shù)據(jù)的備份副本,這些數(shù)據(jù)是用于企業(yè)運(yùn)作的“活”數(shù)據(jù)。主數(shù)據(jù)的備份副本在不同的物理存儲(chǔ)設(shè)備上制作,并且通常在遠(yuǎn)程位置,以確保主數(shù)據(jù)的版本始終和連續(xù)地可用。
當(dāng)出現(xiàn)硬件和/或軟件故障時(shí),以及在隨后的恢復(fù)期間,兩個(gè)關(guān)心區(qū)域防止數(shù)據(jù)丟失并維持主數(shù)據(jù)存儲(chǔ)器和備份數(shù)據(jù)存儲(chǔ)器之間的一致性。一致性確保即使主數(shù)據(jù)的備份副本不同于主數(shù)據(jù)(例如對(duì)備份副本的更新可能落后于對(duì)主數(shù)據(jù)的更新),備份副本也表示在前一個(gè)時(shí)間點(diǎn)實(shí)際存在的主數(shù)據(jù)的狀態(tài)。如果應(yīng)用程序?qū)χ鲾?shù)據(jù)完成一系列寫(xiě)操作A、B和C,則可以通過(guò)防止寫(xiě)操作對(duì)數(shù)據(jù)的備份副本以彼此相反的順序發(fā)生而維持一致性。備份副本不應(yīng)反映主數(shù)據(jù)中實(shí)際從未發(fā)生的狀態(tài),例如,如果寫(xiě)操作C在寫(xiě)操作B之前完成可能發(fā)生的狀態(tài)。一組操作中某些寫(xiě)操作可以并行發(fā)生,并且某些或者所有寫(xiě)操作可以以原子方式實(shí)行,以達(dá)到輔助節(jié)點(diǎn)上數(shù)據(jù)的一致性狀態(tài)。
一種達(dá)到一致性并避免數(shù)據(jù)丟失的方法是確保對(duì)主數(shù)據(jù)進(jìn)行的每次更新也對(duì)備份副本進(jìn)行,最好是實(shí)時(shí)的。通常這樣的“復(fù)制”更新由管理主數(shù)據(jù)的同一個(gè)應(yīng)用程序在本地對(duì)主數(shù)據(jù)的一個(gè)或者多個(gè)“鏡像”副本進(jìn)行。數(shù)據(jù)的鏡像副本通常維持在附屬于主節(jié)點(diǎn)或者可由主節(jié)點(diǎn)直接訪問(wèn)的設(shè)備上,因此容易遭受主節(jié)點(diǎn)故障或通過(guò)主節(jié)點(diǎn)訪問(wèn)的數(shù)據(jù)的損毀的影響。
因此,在本地制作鏡像副本不能防止數(shù)據(jù)丟失,并且主數(shù)據(jù)通常被復(fù)制到輔助站點(diǎn)。然而,在遠(yuǎn)程站點(diǎn)維持?jǐn)?shù)據(jù)的副本帶來(lái)了另一個(gè)問(wèn)題。當(dāng)主數(shù)據(jù)被損毀并且損毀主數(shù)據(jù)的更新結(jié)果通過(guò)復(fù)制傳播到數(shù)據(jù)的備份副本時(shí),需要對(duì)已經(jīng)制作的每一個(gè)數(shù)據(jù)的副本“取消”被損毀的數(shù)據(jù)并將主數(shù)據(jù)恢復(fù)到以前的狀態(tài)。以前,這個(gè)問(wèn)題已經(jīng)通過(guò)從在主數(shù)據(jù)被損毀之前制作的備份副本中恢復(fù)主數(shù)據(jù)來(lái)解決。備份副本通常在具有與存儲(chǔ)主數(shù)據(jù)的存儲(chǔ)設(shè)備相同的存取速度的存儲(chǔ)設(shè)備上制作。一旦主數(shù)據(jù)被恢復(fù),整個(gè)一組主數(shù)據(jù)被復(fù)制到每個(gè)備份副本,以確保主數(shù)據(jù)和備份副本之間的一致性。只有這時(shí)使用主數(shù)據(jù)的正常操作,諸如更新和復(fù)制,才可以重新開(kāi)始。
前面所述的將整個(gè)一組主數(shù)據(jù)復(fù)制到每個(gè)備份副本的技術(shù)確保了數(shù)據(jù)在主站點(diǎn)和輔助站點(diǎn)之間是一致的。然而,當(dāng)只有主數(shù)據(jù)的小的子集改變時(shí),將整個(gè)一組主數(shù)據(jù)復(fù)制到每個(gè)備份副本使用了不必要的網(wǎng)絡(luò)帶寬。另外,跨過(guò)網(wǎng)絡(luò)復(fù)制整個(gè)一組主數(shù)據(jù)需要大量的時(shí)間以建立數(shù)據(jù)的備份副本,特別是當(dāng)涉及大量的數(shù)據(jù)時(shí),諸如幾千兆字節(jié)的數(shù)據(jù)時(shí)。所有這些因素延遲了正常操作的重新開(kāi)始,并可能因?yàn)橥9せㄙM(fèi)公司大量的資金。
所需要的是能夠維持主數(shù)據(jù)的一致的、最新的副本,其能夠在發(fā)現(xiàn)主數(shù)據(jù)的損毀或主節(jié)點(diǎn)的故障后快速地重新開(kāi)始操作。

發(fā)明內(nèi)容
本發(fā)明提供以使用最少的網(wǎng)絡(luò)帶寬的有效的、低成本的方式在輔助節(jié)點(diǎn)上維持主數(shù)據(jù)的最新、一致的副本的能力。當(dāng)作為不是在復(fù)制期間獲取的程序驅(qū)動(dòng)寫(xiě)操作的操作的結(jié)果修改數(shù)據(jù)時(shí),維持主數(shù)據(jù)的最新、一致的副本而無(wú)需復(fù)制被修改的數(shù)據(jù)。在數(shù)據(jù)相同的時(shí)間點(diǎn)對(duì)主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行所選擇的存儲(chǔ)管理操作,以確保所存儲(chǔ)的數(shù)據(jù)保持一致。對(duì)于那些對(duì)數(shù)據(jù)進(jìn)行大規(guī)模變化的操作,諸如重新組織存儲(chǔ)在盤(pán)上的數(shù)據(jù)或者從在較早的時(shí)間點(diǎn)制作的數(shù)據(jù)副本中恢復(fù)數(shù)據(jù),避免將被修改的數(shù)據(jù)復(fù)制到輔助數(shù)據(jù)存儲(chǔ)器節(jié)省了時(shí)間和資金。
這些所選擇的存儲(chǔ)管理操作包括產(chǎn)生存儲(chǔ)在主數(shù)據(jù)存儲(chǔ)器中的被修改的數(shù)據(jù)的操作,其中被修改的數(shù)據(jù)不被復(fù)制到輔助節(jié)點(diǎn)。例如,從快照卷中恢復(fù)數(shù)據(jù)是影響存儲(chǔ)在主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)的操作,但是其中由恢復(fù)產(chǎn)生的被修改的數(shù)據(jù)不被復(fù)制。
選擇其它存儲(chǔ)管理操作以對(duì)主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行,其中這些操作是不直接改變主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)但可能影響存儲(chǔ)在主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)的操作。例如,諸如創(chuàng)建快照卷的配置變化不影響存儲(chǔ)在主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù),而是制作了該數(shù)據(jù)的副本。然而,如果快照卷以后用于恢復(fù)主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù),并且在那時(shí)快照卷的副本不在輔助數(shù)據(jù)存儲(chǔ)器中,則主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)變得不一致。因此,創(chuàng)建快照的操作被包括在所選擇的對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行的操作中。本發(fā)明確保包含用于恢復(fù)主數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)的副本的輔助快照卷可用于恢復(fù)輔助數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)的副本。通過(guò)在主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器中提供相同的數(shù)據(jù),可以避免復(fù)制每個(gè)在恢復(fù)期間變化的數(shù)據(jù)項(xiàng)目。


通過(guò)參照附圖可以更好地理解本發(fā)明,并且其許多目的、特征和優(yōu)點(diǎn)對(duì)于本領(lǐng)域的技術(shù)人員很明顯。
圖1示出本發(fā)明可運(yùn)行的系統(tǒng)環(huán)境的例子;圖2是用于在輔助節(jié)點(diǎn)上維持主數(shù)據(jù)的一致和最新的副本的方法的一個(gè)例子的流程圖;圖3A-3F示出在圖1的系統(tǒng)中發(fā)生的一系列操作;圖3A示出對(duì)數(shù)據(jù)的一系列更新,其后創(chuàng)建主數(shù)據(jù)的快照;圖3B示出在創(chuàng)建圖3A的快照后發(fā)生的對(duì)數(shù)據(jù)的另一系列更新;圖3C示出由圖3A和3B的更新產(chǎn)生的數(shù)據(jù)復(fù)制和插入復(fù)制流的命令;
圖3D示出圖3C的命令到達(dá)輔助節(jié)點(diǎn);圖3E示出在輔助節(jié)點(diǎn)上創(chuàng)建快照以響應(yīng)在輔助節(jié)點(diǎn)上執(zhí)行命令;圖3F示出在圖3A和3B的所有更新被寫(xiě)入輔助節(jié)點(diǎn)上的存儲(chǔ)器后的系統(tǒng);圖4是可用于運(yùn)行本發(fā)明的計(jì)算機(jī)系統(tǒng)的實(shí)例性配置;在不同的附圖中使用相同的附圖標(biāo)記表示相似或相同的項(xiàng)目。
具體實(shí)施例方式
為了全面地理解本發(fā)明,請(qǐng)參照下面詳細(xì)的說(shuō)明,包括所附的權(quán)利要求,以及上述的附圖。盡管本發(fā)明關(guān)于幾個(gè)實(shí)施例進(jìn)行了描述,但是本發(fā)明并不局限于這里所述的特定形式。相反,它意味著覆蓋可合理地包括在由所附的權(quán)利要求所限定的本發(fā)明的范圍內(nèi)的替換、修改以及等同。
在下面的描述中,出于說(shuō)明的目的,描述了許多特定細(xì)節(jié)以提供對(duì)本發(fā)明的全面理解。然而,對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō),很明顯,本發(fā)明無(wú)需這些特定細(xì)節(jié)也能實(shí)現(xiàn)。
在說(shuō)明書(shū)中,參照“一個(gè)實(shí)施例”或“實(shí)施例”是說(shuō)在本發(fā)明的至少一個(gè)實(shí)施例中包括關(guān)于實(shí)施例所描述的特定特征、結(jié)構(gòu)或特性。在說(shuō)明書(shū)的不同地方出現(xiàn)的短語(yǔ)“在一個(gè)實(shí)施例中”不是必須都指同一個(gè)實(shí)施例,也不是指除了其它實(shí)施例之外相互分離或可選的實(shí)施例。另外,描述了各種可通過(guò)某些實(shí)施例顯示而不通過(guò)其它實(shí)施例顯示的特征。同樣,描述了各種可以是對(duì)某些實(shí)施例的要求而不是對(duì)其它實(shí)施例的要求的要求。
術(shù)語(yǔ)在這里,術(shù)語(yǔ)“一致的”和“一致性”用于描述數(shù)據(jù)的備份副本,其或者是該數(shù)據(jù)的準(zhǔn)確副本或者是準(zhǔn)確地表示該數(shù)據(jù)在前一個(gè)時(shí)間點(diǎn)存在時(shí)該數(shù)據(jù)的狀態(tài)。為了準(zhǔn)確地表示數(shù)據(jù)在前一個(gè)時(shí)間點(diǎn)存在時(shí)數(shù)據(jù)的狀態(tài),當(dāng)數(shù)據(jù)的寫(xiě)操作和復(fù)制正在進(jìn)行時(shí),術(shù)語(yǔ)“一致性”用于表明備份副本包括由已經(jīng)在該前一個(gè)時(shí)間點(diǎn)完成的所有寫(xiě)操作產(chǎn)生的數(shù)據(jù)。另外,為了一致,備份副本不能包括由在該前一個(gè)時(shí)間點(diǎn)還沒(méi)有開(kāi)始的寫(xiě)操作產(chǎn)生的數(shù)據(jù)。下面討論確定由在該前一個(gè)時(shí)間點(diǎn)進(jìn)行的寫(xiě)操作產(chǎn)生的數(shù)據(jù)的一致性。
當(dāng)備份副本包括、部分包括、或者不包括所有由正在進(jìn)行的寫(xiě)操作寫(xiě)入的數(shù)據(jù)時(shí),由正在進(jìn)行的寫(xiě)操作寫(xiě)入的數(shù)據(jù)和在前一個(gè)時(shí)間點(diǎn)并行更新不同數(shù)據(jù)的數(shù)據(jù)可以被認(rèn)為是一致的。例如,假定當(dāng)主節(jié)點(diǎn)故障時(shí),塊1到4包含值“AAAA”,并行的寫(xiě)操作正在進(jìn)行以將塊1和2的值變?yōu)椤癇B”。塊1-4中的數(shù)據(jù)可以被認(rèn)為是與具有值“AAAA”(表明在該前一個(gè)時(shí)間點(diǎn)之前沒(méi)有完成任何寫(xiě)操作)、“BAAA”(表明在前一個(gè)時(shí)間點(diǎn)之前已經(jīng)完成對(duì)塊1的寫(xiě)操作,但沒(méi)有完成對(duì)塊2的寫(xiě)操作)、“ABAA”(表明在前一個(gè)時(shí)間點(diǎn)之前已經(jīng)完成對(duì)塊2的寫(xiě)操作,但沒(méi)有完成對(duì)塊1的寫(xiě)操作)或“BBAA”(表明在前一個(gè)時(shí)間點(diǎn)之前已經(jīng)完成兩個(gè)寫(xiě)操作)的備份副本一致。
當(dāng)在一個(gè)時(shí)間只出現(xiàn)這四種情形中的一種時(shí),根據(jù)執(zhí)行寫(xiě)操作的定時(shí),每種情形表示主數(shù)據(jù)的一個(gè)有效的可能狀態(tài),并因此可以被認(rèn)為是一致的。為了確保在復(fù)制期間數(shù)據(jù)的嚴(yán)格一致性,使得輔助數(shù)據(jù)是主數(shù)據(jù)的前一個(gè)狀態(tài)的準(zhǔn)確副本,某些實(shí)施例可中止寫(xiě)操作一段短時(shí)間以允許正在進(jìn)行的寫(xiě)操作在復(fù)制這些寫(xiě)操作的結(jié)果之前完成。
術(shù)語(yǔ)“寫(xiě)操作”和“更新操作”被交替使用以描述對(duì)數(shù)據(jù)進(jìn)行變化。當(dāng)對(duì)數(shù)據(jù)使用術(shù)語(yǔ)“變化”和“修改”時(shí),“變化”和“修改”包括添加新的數(shù)據(jù)以及更新現(xiàn)有的數(shù)據(jù)。當(dāng)對(duì)于數(shù)據(jù)存儲(chǔ)器的配置使用術(shù)語(yǔ)“變化”和“修改”時(shí),“變化”和“修改”包括改變現(xiàn)有的配置和/或添加新配置。
數(shù)據(jù)存儲(chǔ)器可以采用由一個(gè)或者多個(gè)物理設(shè)備構(gòu)成的組,諸如一個(gè)或者多個(gè)動(dòng)態(tài)或靜態(tài)隨機(jī)存取存儲(chǔ)設(shè)備、一個(gè)或者多個(gè)磁或光數(shù)據(jù)存儲(chǔ)盤(pán)或者一個(gè)或者多個(gè)其它類(lèi)型的存儲(chǔ)設(shè)備。對(duì)于主數(shù)據(jù)的備份副本,優(yōu)選地,備份存儲(chǔ)設(shè)備是諸如盤(pán)的直接存取存儲(chǔ)設(shè)備,而不是諸如磁帶的順序存取存儲(chǔ)設(shè)備。因?yàn)楸P(pán)通常被分組以形成用于存儲(chǔ)主數(shù)據(jù)的備份副本的邏輯存儲(chǔ)卷,所以在此,將“存儲(chǔ)器”、“數(shù)據(jù)存儲(chǔ)器”和“數(shù)據(jù)存儲(chǔ)單元”與“卷”和“存儲(chǔ)卷”交替使用;然而,本領(lǐng)域的技術(shù)人員可以認(rèn)識(shí)到,這里所述的系統(tǒng)和過(guò)程也可以應(yīng)用于其它類(lèi)型的存儲(chǔ)器,并且術(shù)語(yǔ)“卷”的使用并不意味著限制。在此,存儲(chǔ)主數(shù)據(jù)的存儲(chǔ)卷被稱為主卷,存儲(chǔ)主數(shù)據(jù)的備份副本存儲(chǔ)卷被稱為備份卷、輔助卷或遠(yuǎn)程卷。在這里,存儲(chǔ)數(shù)據(jù)快照的存儲(chǔ)卷被稱為快照卷。
術(shù)語(yǔ)“主機(jī)”和“節(jié)點(diǎn)”被交替使用以描述計(jì)算機(jī)系統(tǒng),其在下面圖4的討論中描述。在這里,網(wǎng)絡(luò)中管理主數(shù)據(jù)/卷的節(jié)點(diǎn)被稱為主節(jié)點(diǎn),網(wǎng)絡(luò)中維持主數(shù)據(jù)的備份副本而不是主數(shù)據(jù)本身的節(jié)點(diǎn)被稱為輔助節(jié)點(diǎn)、備份節(jié)點(diǎn)或遠(yuǎn)程節(jié)點(diǎn)。
術(shù)語(yǔ)“數(shù)據(jù)部分”可包括所有的數(shù)據(jù),或者僅僅一些而不是所有的數(shù)據(jù)。同樣,術(shù)語(yǔ)操作的“組”或“子集”可包括所有的操作或者僅僅一些而不是所有的操作。
導(dǎo)言本發(fā)明提供以使用最少的網(wǎng)絡(luò)帶寬的有效、低成本的方式在輔助節(jié)點(diǎn)上維持主數(shù)據(jù)的最新、一致的副本的能力。當(dāng)作為不是在復(fù)制期間獲取的程序驅(qū)動(dòng)寫(xiě)操作的操作的結(jié)果修改數(shù)據(jù)時(shí),可以維持主數(shù)據(jù)的最新、一致的副本,而無(wú)需復(fù)制被修改的數(shù)據(jù)。在數(shù)據(jù)相同的時(shí)間點(diǎn)對(duì)主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行所選擇的存儲(chǔ)管理操作,以確保所存儲(chǔ)的數(shù)據(jù)保持一致。
對(duì)主數(shù)據(jù)存儲(chǔ)器執(zhí)行的每個(gè)操作沒(méi)有都對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行以達(dá)到主數(shù)據(jù)和輔助數(shù)據(jù)的一致性;相反,只有被選擇的存儲(chǔ)管理操作對(duì)主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器都執(zhí)行。對(duì)主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器都執(zhí)行的這類(lèi)操作包括產(chǎn)生存儲(chǔ)在主數(shù)據(jù)存儲(chǔ)器中的被修改的數(shù)據(jù)的操作,其中被修改的數(shù)據(jù)不被復(fù)制到輔助節(jié)點(diǎn)。例如,從快照卷中恢復(fù)數(shù)據(jù)是影響存儲(chǔ)在主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)的操作,但是其中由恢復(fù)產(chǎn)生的被修改的數(shù)據(jù)不被復(fù)制。
選擇其它類(lèi)型的存儲(chǔ)管理操作以對(duì)主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器都執(zhí)行,其中這些操作不直接改變主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù),但可能影響存儲(chǔ)在主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)。例如,諸如創(chuàng)建快照卷的配置變化不影響存儲(chǔ)在主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù),但是制作了該數(shù)據(jù)的副本,稱為快照??煺詹恍枰獙?xiě)入物理存儲(chǔ)設(shè)備,因此可以是存儲(chǔ)器中的“虛擬”副本,其可用于重構(gòu)主數(shù)據(jù)存儲(chǔ)器中數(shù)據(jù)的狀態(tài)。然而,如果快照以后用于恢復(fù)主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù),并且快照卷的副本在輔助節(jié)點(diǎn)上不可用于恢復(fù)那時(shí)的輔助數(shù)據(jù)存儲(chǔ)器,那么主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)變得不一致,或者需要昂貴的操作來(lái)恢復(fù)一致性。恢復(fù)一致性的操作的一個(gè)例子是將所有由恢復(fù)操作修改的數(shù)據(jù)復(fù)制到輔助數(shù)據(jù)存儲(chǔ)器。本發(fā)明確保包含用于恢復(fù)主數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)的副本的輔助快照卷可用于恢復(fù)輔助數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)。通過(guò)在主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器中提供相同的數(shù)據(jù),可以避免復(fù)制每個(gè)在恢復(fù)期間變化的數(shù)據(jù)項(xiàng)目。
應(yīng)當(dāng)包括在一組操作中的操作的例子包括改變主數(shù)據(jù)存儲(chǔ)器的大小、制作主數(shù)據(jù)存儲(chǔ)器的快照、制作快照的快照、恢復(fù)快照、刷新快照和通過(guò)應(yīng)用程序?qū)?shù)據(jù)寫(xiě)入快照的操作。這些操作應(yīng)當(dāng)在相同的各個(gè)時(shí)間點(diǎn)對(duì)復(fù)制流中的數(shù)據(jù)發(fā)生。寫(xiě)操作的順序與復(fù)制流的協(xié)調(diào)確保在對(duì)主數(shù)據(jù)存儲(chǔ)器的兩個(gè)操作之間執(zhí)行的所有寫(xiě)操作都適用于在對(duì)輔助節(jié)點(diǎn)的兩個(gè)操作之間的輔助數(shù)據(jù)存儲(chǔ)器,并因此適用于相同的數(shù)據(jù)。
在主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器中具有相同的數(shù)據(jù)的狀態(tài)可以被表示為“快照樹(shù)”,其中在主節(jié)點(diǎn)上的主數(shù)據(jù)的每個(gè)副本(快照)都具有在輔助節(jié)點(diǎn)上的相同數(shù)據(jù)的對(duì)應(yīng)副本(快照)。通過(guò)對(duì)包含相同數(shù)據(jù)的快照樹(shù)執(zhí)行相同的操作,可以在被修改的數(shù)據(jù)由一個(gè)操作產(chǎn)生并且在復(fù)制期間沒(méi)有被獲取時(shí)避免復(fù)制被修改的數(shù)據(jù)。如上所述,快照不需要被寫(xiě)入物理存儲(chǔ)設(shè)備,因此可以是存儲(chǔ)器中的“虛擬”副本,其可用于重構(gòu)主數(shù)據(jù)的狀態(tài)。
圖1示出了本發(fā)明可運(yùn)行的系統(tǒng)環(huán)境的例子。示出了兩個(gè)節(jié)點(diǎn),主節(jié)點(diǎn)110A和輔助節(jié)點(diǎn)110B。軟件應(yīng)用程序115A和存儲(chǔ)管理器/復(fù)制器120A在主節(jié)點(diǎn)110A上運(yùn)行。應(yīng)用程序115A管理可存儲(chǔ)在變化日志130A和數(shù)據(jù)存儲(chǔ)器140A中的主數(shù)據(jù)。
變化日志130A可被認(rèn)為是“階段區(qū)域(staging area)”,數(shù)據(jù)的變化在被寫(xiě)入數(shù)據(jù)存儲(chǔ)器140A之前寫(xiě)入該變化日志130A中。諸如變化日志130A的變化日志,也可以簡(jiǎn)單地稱為日志,在本領(lǐng)域是公知的,并且可以采用幾種不同的方式實(shí)現(xiàn);例如,日志中的條目可以表示將對(duì)數(shù)據(jù)的特定區(qū)域執(zhí)行的操作。可選擇地,日志可以被構(gòu)建為維持關(guān)于每個(gè)區(qū)域的一組操作。其它類(lèi)型的日志結(jié)構(gòu)也是可以的,運(yùn)行本發(fā)明不需要特定類(lèi)型的變化日志實(shí)現(xiàn)。本發(fā)明可以無(wú)需使用日志實(shí)現(xiàn),只要執(zhí)行寫(xiě)操作使得數(shù)據(jù)保持一致。
存儲(chǔ)管理器/復(fù)制器120A通過(guò)應(yīng)用程序115A攔截對(duì)主數(shù)據(jù)的寫(xiě)操作,并將主數(shù)據(jù)的變化復(fù)制到輔助節(jié)點(diǎn)110B。只要應(yīng)用更新使得輔助數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)與主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)一致,由存儲(chǔ)管理器/復(fù)制器120A執(zhí)行的一類(lèi)復(fù)制可以是同步的、異步的和/或周期性的。當(dāng)應(yīng)用程序115A和存儲(chǔ)管理器/復(fù)制器120A可以在同一個(gè)計(jì)算機(jī)系統(tǒng)上運(yùn)行時(shí),諸如主節(jié)點(diǎn)110A,由主節(jié)點(diǎn)110A表示的硬件和軟件配置可以變化。應(yīng)用程序115A和存儲(chǔ)管理器/復(fù)制器120A可在不同的計(jì)算機(jī)系統(tǒng)上運(yùn)行,變化日志130A可以存儲(chǔ)在非永久性或永久性數(shù)據(jù)存儲(chǔ)器中,數(shù)據(jù)存儲(chǔ)器140A是存儲(chǔ)在邏輯存儲(chǔ)設(shè)備上的一組數(shù)據(jù)的邏輯表示,其中該邏輯存儲(chǔ)設(shè)備可以包括一個(gè)或者多個(gè)物理存儲(chǔ)設(shè)備。
另外,雖然示出了在主節(jié)點(diǎn)110A內(nèi)應(yīng)用程序115A、存儲(chǔ)管理器/復(fù)制器120A、變化日志130A和數(shù)據(jù)存儲(chǔ)器140A之間的連接,但是本領(lǐng)域的技術(shù)人員將了解這些連接僅僅是示例性的目的,而其它連接配置是可以的。例如,應(yīng)用程序115A、存儲(chǔ)管理器/復(fù)制器120A、變化日志130A和數(shù)據(jù)存儲(chǔ)器140A中的一個(gè)或者多個(gè)可以在物理上位于由主節(jié)點(diǎn)110A表示的節(jié)點(diǎn)的外面,但是連接到該節(jié)點(diǎn)。
輔助數(shù)據(jù)存儲(chǔ)器140B在邏輯上與主數(shù)據(jù)存儲(chǔ)器140A分離,并且也可以在物理上分離,雖然不需要物理的分離以實(shí)現(xiàn)本發(fā)明。主節(jié)點(diǎn)110A的存儲(chǔ)管理器/復(fù)制器120A通過(guò)復(fù)制鏈路102C與輔助節(jié)點(diǎn)110B的存儲(chǔ)管理器/復(fù)制器120B進(jìn)行通信。輔助節(jié)點(diǎn)110B也包括用于存儲(chǔ)主數(shù)據(jù)的副本的變化日志130B和數(shù)據(jù)存儲(chǔ)器140B,并且輔助節(jié)點(diǎn)110B的硬件和軟件配置也可以有類(lèi)似的變化。
因?yàn)榇鎯?chǔ)管理器/復(fù)制器120A被配置為通過(guò)應(yīng)用程序115A攔截對(duì)主數(shù)據(jù)的寫(xiě)操作并復(fù)制被改變的數(shù)據(jù),所以作為執(zhí)行其它不涉及應(yīng)用程序115的操作(諸如在數(shù)據(jù)存儲(chǔ)器140A中重新格式化盤(pán))的結(jié)果而進(jìn)行的主數(shù)據(jù)的修改可以不被復(fù)制。參照?qǐng)D2進(jìn)一步討論這樣的操作。
圖2是用于在輔助節(jié)點(diǎn)上維持主數(shù)據(jù)的一致和最新的副本的方法的一個(gè)例子的流程圖。在“對(duì)主數(shù)據(jù)存儲(chǔ)器執(zhí)行一組操作”步驟210中,對(duì)主數(shù)據(jù)存儲(chǔ)器執(zhí)行包含一個(gè)或者多個(gè)操作的一組操作。在該組操作中的每個(gè)操作,或者修改存儲(chǔ)在主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù),或者修改主數(shù)據(jù)存儲(chǔ)器的配置。在將所選擇的數(shù)據(jù)從主數(shù)據(jù)存儲(chǔ)器拷貝(例如復(fù)制)到至少一個(gè)輔助存儲(chǔ)器期間,執(zhí)行該組操作。對(duì)主數(shù)據(jù)存儲(chǔ)器執(zhí)行的每個(gè)操作沒(méi)有都對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行;只有被選擇的操作包括在該組操作中。
在一個(gè)實(shí)施例中,如果給定的操作修改了主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù),則只有當(dāng)被修改的數(shù)據(jù)沒(méi)有在將所選擇的數(shù)據(jù)從主數(shù)據(jù)存儲(chǔ)器拷貝(復(fù)制)到輔助數(shù)據(jù)存儲(chǔ)器期間被獲取時(shí),被修改的數(shù)據(jù)才被復(fù)制到輔助數(shù)據(jù)存儲(chǔ)器。然而,被修改的數(shù)據(jù)的一部分而不是全部從主數(shù)據(jù)存儲(chǔ)器復(fù)制到輔助數(shù)據(jù)存儲(chǔ)器也在本發(fā)明的范圍內(nèi)。
如果給定的操作僅修改主數(shù)據(jù)存儲(chǔ)器的配置,那么如果該操作是可以在以后影響主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)的被選擇類(lèi)型的操作,則該給定的操作對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行。作為這種配置變化的例子,可以創(chuàng)建快照卷。本發(fā)明還包括使該組操作對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行,使得主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)與輔助數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)是一致的。例如,如果該組操作產(chǎn)生被修改的數(shù)據(jù),并且被修改的數(shù)據(jù)沒(méi)有包括在所選擇的復(fù)制到輔助數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)中,那么在對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行該組操作后,被修改的數(shù)據(jù)的副本被存儲(chǔ)在輔助數(shù)據(jù)存儲(chǔ)器中。在該組操作中的每個(gè)操作被執(zhí)行之前,作為在主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器中具有相同數(shù)據(jù)的結(jié)果,數(shù)據(jù)是一致的。因此,無(wú)需復(fù)制在復(fù)制期間受該組操作影響的每個(gè)數(shù)據(jù)項(xiàng)目,就使數(shù)據(jù)一致。
該組操作可例如由圖1的存儲(chǔ)管理器/復(fù)制器120A執(zhí)行。存儲(chǔ)管理器/復(fù)制器120A用作用于對(duì)主數(shù)據(jù)存儲(chǔ)器執(zhí)行一組操作的執(zhí)行模塊、裝置或指令的例子,雖然執(zhí)行模塊、裝置或指令的其它實(shí)施例也在本發(fā)明的范圍內(nèi)。這種可以提供執(zhí)行模塊、裝置或指令的功能的商業(yè)上可用的存儲(chǔ)管理器/復(fù)制器的例子是Veritas Volume Manger和Veritas VolumeReplicator產(chǎn)品的結(jié)合,可以從位于加利福尼亞山景城的Veritas軟件公司獲取。
從“對(duì)主數(shù)據(jù)存儲(chǔ)器執(zhí)行一組操作”步驟210以后,控制進(jìn)行到“識(shí)別與復(fù)制流中數(shù)據(jù)的變化有關(guān)的每個(gè)操作各自的時(shí)間”步驟220。與復(fù)制流中進(jìn)行的變化有關(guān)的每個(gè)操作的時(shí)間可用于確保對(duì)輔助數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)的每次更新的正確排序,用于維持與主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)的一致性。下面參照?qǐng)D3B和3C討論一種用于識(shí)別與復(fù)制流中數(shù)據(jù)的變化有關(guān)的操作的時(shí)間的技術(shù)。
從“識(shí)別與復(fù)制流中數(shù)據(jù)的變化有關(guān)的每個(gè)操作各自的時(shí)間”步驟220以后,控制進(jìn)行到“使一組操作中的每個(gè)操作在復(fù)制流中相同的各個(gè)時(shí)間對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行”步驟230。如上所述,為了維持主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)的一致性,應(yīng)當(dāng)執(zhí)行操作使得對(duì)配置或者數(shù)據(jù)的變化對(duì)輔助數(shù)據(jù)存儲(chǔ)器在相同的各個(gè)時(shí)間(例如以相同的順序)進(jìn)行,其中這些變化已經(jīng)對(duì)主數(shù)據(jù)存儲(chǔ)器進(jìn)行了。
存儲(chǔ)管理器/復(fù)制器120A用作用于使一組操作對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行以使得輔助數(shù)據(jù)包括由該組操作產(chǎn)生的被修改的數(shù)據(jù)的使動(dòng)模塊、裝置或指令的例子,雖然使動(dòng)模塊、裝置或指令的其它實(shí)現(xiàn)也在本發(fā)明的范圍內(nèi)。如上所述,商業(yè)上可用的存儲(chǔ)管理器/復(fù)制器的例子是Veritas VolumeManger和Veritas Volume Replicator產(chǎn)品的結(jié)合,其可以從位于加利福尼亞山景城的Veritas軟件公司獲取。
存儲(chǔ)管理器/復(fù)制器120A也可以被認(rèn)為是其它類(lèi)型的模塊、裝置和指令的例子,包括快照創(chuàng)建模塊、裝置或指令,用于創(chuàng)建快照和創(chuàng)建輔助數(shù)據(jù)存儲(chǔ)器的對(duì)應(yīng)快照;恢復(fù)模塊、裝置或指令,用于從主數(shù)據(jù)存儲(chǔ)器的快照中恢復(fù)一部分主數(shù)據(jù)存儲(chǔ)器,并使輔助數(shù)據(jù)存儲(chǔ)器的對(duì)應(yīng)部分從對(duì)應(yīng)的快照中恢復(fù);插入模塊、裝置或指令,用于插入命令以執(zhí)行操作;發(fā)送模塊、裝置或指令,用于發(fā)送命令以執(zhí)行操作;以及同步模塊、裝置或指令,用于同步主數(shù)據(jù)的兩個(gè)快照,并使輔助數(shù)據(jù)的對(duì)應(yīng)兩個(gè)快照同步。也可以用存儲(chǔ)管理器/復(fù)制器120A實(shí)現(xiàn)模塊、裝置和指令,以執(zhí)行其它功能??蛇x擇地,上面參照存儲(chǔ)管理器/復(fù)制器120A描述的功能可以實(shí)現(xiàn)為分開(kāi)的存儲(chǔ)管理器和復(fù)制模塊,或者其它與上述實(shí)現(xiàn)不同的方式。
圖3A-3F示出了在圖1A的系統(tǒng)中發(fā)生的一系列操作。示出了對(duì)數(shù)據(jù)的各種更新,以及創(chuàng)建主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器的快照卷,使得最終的快照是相同的。
圖3A示出了對(duì)主存儲(chǔ)器中的數(shù)據(jù)的一系列更新,其后創(chuàng)建主數(shù)據(jù)的快照。在操作3.1,應(yīng)用程序115A通過(guò)存儲(chǔ)管理器/復(fù)制器120A執(zhí)行對(duì)主節(jié)點(diǎn)110A上的被復(fù)制的存儲(chǔ)器組240A的卷240A2產(chǎn)生更新(也稱為寫(xiě)操作的結(jié)果或被修改的數(shù)據(jù))的一組操作。這些更新包括更新220-a到220-i,每個(gè)更新按連續(xù)的(字母)順序發(fā)生。在這里,一組更新也被稱為復(fù)制流。在操作3.2,制作卷240A2的對(duì)應(yīng)快照240A2-ss。創(chuàng)建快照240A2-ss是影響主數(shù)據(jù)存儲(chǔ)器140A的配置的操作,其中,主數(shù)據(jù)存儲(chǔ)器140A包括被復(fù)制的存儲(chǔ)器組240A??煺?40A2-ss包含由一組更新220-a到220-i產(chǎn)生的數(shù)據(jù)。
圖3B示出了在圖3A的快照創(chuàng)建后發(fā)生的另一組更新。操作3.3示出對(duì)卷240A2的一組更新220-j到220-m。如該例所示的,更新220-i是在創(chuàng)建快照240A2-ss的快照操作之前的最后一個(gè)寫(xiě)操作的結(jié)果,而更新220-j是在快照操作后的第一個(gè)寫(xiě)操作的結(jié)果。
圖3C示出了由圖3A和3B的更新所產(chǎn)生的數(shù)據(jù)的復(fù)制和插入復(fù)制流的命令。主存儲(chǔ)卷240A2示出所有的更新220-a到220-m已經(jīng)被寫(xiě)入。當(dāng)數(shù)據(jù)從應(yīng)用程序115A經(jīng)過(guò)存儲(chǔ)管理器/復(fù)制器120A傳送到卷240A2時(shí),存儲(chǔ)管理器/復(fù)制器120A獲取每個(gè)寫(xiě)操作的結(jié)果用于復(fù)制。示出了來(lái)自主節(jié)點(diǎn)110A上的存儲(chǔ)管理器/復(fù)制器120A和輔助節(jié)點(diǎn)110B上的存儲(chǔ)管理器/復(fù)制器120B的復(fù)制流。在輔助節(jié)點(diǎn)110B的卷240B2內(nèi)示出更新220-a,其已經(jīng)作為復(fù)制流的第一個(gè)寫(xiě)操作的結(jié)果被復(fù)制。示出更新220-b正在存儲(chǔ)管理器/復(fù)制器120B和卷240B2之間傳送,而更新220-c正在到達(dá)存儲(chǔ)管理器/復(fù)制器120B。
示出了在220-c之后到220-i的更新在主節(jié)點(diǎn)110A和輔助節(jié)點(diǎn)110B之間傳輸,其后是命令210。命令210是用于執(zhí)行快照創(chuàng)建操作的指令并在某個(gè)位置被插入復(fù)制流中,以確保對(duì)主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器的每個(gè)更新按相同的順序進(jìn)行。示出了在復(fù)制流中的命令210后,更新220-j到220-m正在被復(fù)制。雖然在更新220-m后沒(méi)有示出其它更新,但是不需要直到輔助節(jié)點(diǎn)110B被同步才停止對(duì)主節(jié)點(diǎn)110A的更新。當(dāng)執(zhí)行用于同步主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)的操作時(shí),復(fù)制可以繼續(xù)。然而,停止復(fù)制,等待所有更新被復(fù)制到輔助數(shù)據(jù)存儲(chǔ)器,當(dāng)所有更新已經(jīng)被復(fù)制時(shí)執(zhí)行操作,然后重新開(kāi)始復(fù)制也在本發(fā)明的范圍內(nèi)。
圖3D示出命令210到達(dá)輔助節(jié)點(diǎn)。此時(shí),更新220-a到220-i被存儲(chǔ)在輔助數(shù)據(jù)存儲(chǔ)器240B2中。在命令210之后,跟隨著在傳輸中的更新,包括更新220-j到更新220-m。
圖3E示出在輔助節(jié)點(diǎn)上創(chuàng)建快照以響應(yīng)在輔助節(jié)點(diǎn)110B上執(zhí)行命令210。已經(jīng)創(chuàng)建了快照卷240B2-ss,包含更新220-a到220-i。更新220-j到220-m處于正在被復(fù)制到輔助節(jié)點(diǎn)110B上的卷240B2中的處理中。
圖3F示出在圖3A和3B的所有更新被寫(xiě)入輔助節(jié)點(diǎn)上的存儲(chǔ)器后的系統(tǒng)。輔助節(jié)點(diǎn)110B上的卷240B2包含更新220-a到220-m中的每個(gè)更新,并且是主節(jié)點(diǎn)110A上的卷240A2的副本。輔助節(jié)點(diǎn)110B上的快照卷220B2-ss包含更新220-a到220-i,并且是主節(jié)點(diǎn)110A上的快照卷220A2-ss的副本。作為將復(fù)制流中的命令210插入在創(chuàng)建快照卷240A2-ss之前的最后一個(gè)操作和創(chuàng)建后的第一個(gè)操作之間的結(jié)果,快照卷240B2-ss已經(jīng)被創(chuàng)建為快照卷240A2-ss的準(zhǔn)確副本。該過(guò)程進(jìn)行得更加有效,因?yàn)槌艘呀?jīng)被復(fù)制為復(fù)制流的一部分的數(shù)據(jù)外,不需要發(fā)送數(shù)據(jù)通過(guò)網(wǎng)絡(luò)。插入單個(gè)命令能夠在輔助節(jié)點(diǎn)110B上創(chuàng)建副本而無(wú)需再次復(fù)制數(shù)據(jù)部分。
當(dāng)操作制作主數(shù)據(jù)存儲(chǔ)器的快照時(shí),使該操作對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行包括制作輔助數(shù)據(jù)存儲(chǔ)器的對(duì)應(yīng)快照。在對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行該操作后,第一數(shù)據(jù)存儲(chǔ)器的快照包含第一數(shù)據(jù),而第二數(shù)據(jù)存儲(chǔ)器的對(duì)應(yīng)快照包含第一數(shù)據(jù)的副本。
當(dāng)操作從主數(shù)據(jù)存儲(chǔ)器的另一個(gè)備份副本中恢復(fù)數(shù)據(jù)的一部分時(shí),從數(shù)據(jù)存儲(chǔ)器的對(duì)應(yīng)備份副本中恢復(fù)輔助數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)的對(duì)應(yīng)部分。例如,如果從主節(jié)點(diǎn)上的快照中恢復(fù)主數(shù)據(jù),那么從駐留在輔助節(jié)點(diǎn)上的快照的對(duì)應(yīng)副本中恢復(fù)輔助節(jié)點(diǎn)上的主數(shù)據(jù)的副本。通過(guò)確保對(duì)主節(jié)點(diǎn)的一組操作中的每個(gè)操作也對(duì)輔助節(jié)點(diǎn)發(fā)生,包括創(chuàng)建快照,快照的對(duì)應(yīng)副本也駐留在輔助節(jié)點(diǎn)上。輔助數(shù)據(jù)存儲(chǔ)器中的對(duì)應(yīng)快照是第一數(shù)據(jù)存儲(chǔ)器中的快照的副本,因此可用于執(zhí)行具有相同數(shù)據(jù)的輔助數(shù)據(jù)存儲(chǔ)器的恢復(fù)。
當(dāng)操作同步主數(shù)據(jù)存儲(chǔ)器的兩個(gè)快照時(shí),使該操作對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行包括同步輔助數(shù)據(jù)存儲(chǔ)器的對(duì)應(yīng)第一快照與對(duì)應(yīng)第二快照。如果主數(shù)據(jù)存儲(chǔ)器的第一快照包含第一數(shù)據(jù),那么輔助數(shù)據(jù)存儲(chǔ)器的對(duì)應(yīng)第一快照包含輔助數(shù)據(jù)存儲(chǔ)器同步后的第一數(shù)據(jù)的副本。同樣,如果第一數(shù)據(jù)存儲(chǔ)器的第二快照包含第二數(shù)據(jù),則第二數(shù)據(jù)存儲(chǔ)器的對(duì)應(yīng)快照包含輔助數(shù)據(jù)存儲(chǔ)器同步后的第二數(shù)據(jù)的副本。
在一個(gè)實(shí)施例中,當(dāng)與主數(shù)據(jù)存儲(chǔ)器相關(guān)聯(lián)的節(jié)點(diǎn)出現(xiàn)故障時(shí),如果為復(fù)制指定的一組變化中的未決變化還沒(méi)有在輔助數(shù)據(jù)存儲(chǔ)器中進(jìn)行,則識(shí)別該變化。然后,在輔助數(shù)據(jù)存儲(chǔ)器中進(jìn)行該未決變化。
在至少一個(gè)實(shí)施例中,當(dāng)在輔助節(jié)點(diǎn)上創(chuàng)建快照卷時(shí),在主快照卷和輔助節(jié)點(diǎn)上的對(duì)應(yīng)快照卷之間建立復(fù)制關(guān)系。建立復(fù)制關(guān)系使得主快照中數(shù)據(jù)的變化被包括在所選擇的被復(fù)制到輔助節(jié)點(diǎn)上的對(duì)應(yīng)快照的數(shù)據(jù)中。由于復(fù)制關(guān)系,輔助節(jié)點(diǎn)上的對(duì)應(yīng)快照卷將保持與主快照卷的同步,因?yàn)閷?duì)主快照卷進(jìn)行的每個(gè)更新都將被復(fù)制到輔助節(jié)點(diǎn)上的對(duì)應(yīng)快照卷中。
本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,對(duì)應(yīng)的快照卷和復(fù)制關(guān)系可以在超過(guò)一個(gè)的輔助節(jié)點(diǎn)上建立。上述技術(shù)使大量的主數(shù)據(jù)的副本能夠被維持,對(duì)數(shù)據(jù)的更新只需被復(fù)制到輔助節(jié)點(diǎn)一次,命令被包括在復(fù)制流中以執(zhí)行其它操作,甚至改變數(shù)據(jù)的操作。
當(dāng)周期性地執(zhí)行復(fù)制使得在某些事件后或在設(shè)置的時(shí)間間隔屆滿后復(fù)制一組變化時(shí),可能期望使未決的一組變化在發(fā)生每個(gè)存儲(chǔ)管理操作后被復(fù)制。這將確保在對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行存儲(chǔ)管理操作之前,相同的變化按相同的順序應(yīng)用于輔助數(shù)據(jù)存儲(chǔ)器。
將對(duì)數(shù)據(jù)的一組變化從主數(shù)據(jù)存儲(chǔ)器復(fù)制到輔助數(shù)據(jù)存儲(chǔ)器的復(fù)制模塊可以通過(guò)執(zhí)行該操作的軟件以外的軟件執(zhí)行。期望在這種實(shí)現(xiàn)中配置復(fù)制軟件,使得在對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行操作以前,對(duì)主數(shù)據(jù)存儲(chǔ)器中數(shù)據(jù)的一組未決的變化對(duì)輔助數(shù)據(jù)存儲(chǔ)器進(jìn)行。
具有在復(fù)制中近似相同的點(diǎn)執(zhí)行的操作的實(shí)施例在本發(fā)明的另一個(gè)實(shí)施例中,命令可以在近似于在主節(jié)點(diǎn)110A上執(zhí)行操作的時(shí)間從主節(jié)點(diǎn)110A發(fā)送到輔助節(jié)點(diǎn)110B,而無(wú)需確保命令在復(fù)制流中的準(zhǔn)確點(diǎn)執(zhí)行,只要對(duì)主節(jié)點(diǎn)和輔助節(jié)點(diǎn)按相同的順序執(zhí)行更新即可。其它機(jī)制可用于確保命令在近似相同的時(shí)間點(diǎn)發(fā)布,而無(wú)需將命令插入復(fù)制流中。例如,一對(duì)快照可以在近似相同的時(shí)間在主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器中創(chuàng)建。
在這個(gè)實(shí)施例的例子中,對(duì)主數(shù)據(jù)的第二組變化可以在快照在主數(shù)據(jù)存儲(chǔ)器上創(chuàng)建之后并在輔助數(shù)據(jù)存儲(chǔ)器上的快照創(chuàng)建操作之前發(fā)生。例如,第二組變化可能已經(jīng)被記入復(fù)制日志但是還沒(méi)有被復(fù)制。第二組變化被識(shí)別為應(yīng)該在輔助數(shù)據(jù)存儲(chǔ)器中進(jìn)行的變化,使得主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)是一致的。一旦建立了一對(duì)快照,這兩個(gè)快照可以通過(guò)識(shí)別兩個(gè)快照之間的具有差異的數(shù)據(jù)區(qū)域并且只針對(duì)所識(shí)別的區(qū)域?qū)?shù)據(jù)從主快照復(fù)制到輔助快照而非常快速地同步。該同步操作確保對(duì)輔助數(shù)據(jù)存儲(chǔ)器進(jìn)行第二組變化,使得它與主數(shù)據(jù)存儲(chǔ)器相一致。
一種用于同步兩個(gè)快照卷的技術(shù)描述在申請(qǐng)?zhí)枮?0/610,603(代理編號(hào)VRT0011US,客戶卷號(hào)VRTS0073)的名稱為“Flexible Hierarchy ofRelationships and Operations in Data Volumes(數(shù)據(jù)卷中靈活的關(guān)系和操作層次)”的美國(guó)專(zhuān)利申請(qǐng)中,其申請(qǐng)日為2003年7月1日,發(fā)明人為Anand A.Kekre,John A.Colgrove,Oleg Kiselev,Ronald S.Karr和Niranjan S.Pendharkar。
具有單獨(dú)的安全域的實(shí)施例在另一個(gè)實(shí)施例中,可以對(duì)主節(jié)點(diǎn)和輔助節(jié)點(diǎn)建立單獨(dú)的安全域,使得對(duì)主數(shù)據(jù)存儲(chǔ)器執(zhí)行操作的用戶或者過(guò)程必須通過(guò)附加的安全屏障以對(duì)輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行相同的操作。通常,當(dāng)復(fù)制原因是高可用性和災(zāi)難恢復(fù)性時(shí),輔助數(shù)據(jù)存儲(chǔ)器在物理上與主數(shù)據(jù)存儲(chǔ)器分離,并且主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器由各自的節(jié)點(diǎn)管理。通常,主節(jié)點(diǎn)可以訪問(wèn)主數(shù)據(jù)的所有鏡像副本,不可訪問(wèn)的輔助數(shù)據(jù)意味著讀取操作必須對(duì)主數(shù)據(jù)本身(或者對(duì)主節(jié)點(diǎn)上的數(shù)據(jù)的副本)執(zhí)行。然而,當(dāng)從數(shù)據(jù)安全的角度考慮時(shí),主節(jié)點(diǎn)對(duì)輔助數(shù)據(jù)的不可訪問(wèn)性提供附加的安全屏障以保護(hù)數(shù)據(jù)的備份副本不受損毀。如果主數(shù)據(jù)的安全被惡意入侵者、管理員錯(cuò)誤或有故障的軟件或硬件危及,則只有本地可訪問(wèn)的存儲(chǔ)器直接受到危害。另外,為了損毀備份數(shù)據(jù),必須越過(guò)該附加的安全屏障并且必須重復(fù)損毀數(shù)據(jù)的破壞行為。
再次參照?qǐng)D1,用于具有單獨(dú)的安全域的實(shí)施例的系統(tǒng)結(jié)構(gòu)被設(shè)計(jì)為使得主節(jié)點(diǎn)110A可以在單獨(dú)的安全域內(nèi)操作而輔助節(jié)點(diǎn)110B不能。復(fù)制鏈路102C可以被配置為只允許存儲(chǔ)管理器/復(fù)制器120A和120B訪問(wèn)而不允許在主節(jié)點(diǎn)110A上運(yùn)行的應(yīng)用程序115A或其它過(guò)程訪問(wèn)。主節(jié)點(diǎn)110A和輔助節(jié)點(diǎn)110B的訪問(wèn)賬戶可以被配置為具有不同的密碼,特別是系統(tǒng)管理和特權(quán)賬戶。因?yàn)榇鎯?chǔ)管理器/復(fù)制器120A被配置為攔截應(yīng)用程序115A對(duì)主數(shù)據(jù)的寫(xiě)操作和復(fù)制被改變的數(shù)據(jù),所以作為執(zhí)行不涉及應(yīng)用程序115A的其它破壞活動(dòng)(諸如在數(shù)據(jù)存儲(chǔ)器140A中重新格式化盤(pán))的結(jié)果而進(jìn)行的對(duì)主數(shù)據(jù)的改變不會(huì)被復(fù)制。
作為附加的安全特征,系統(tǒng)被設(shè)計(jì)為使得復(fù)制鏈路102C是主節(jié)點(diǎn)110A的安全域和輔助節(jié)點(diǎn)110B的安全域之間的唯一通信鏈路。系統(tǒng)也可以被配置為使得只有符合由存儲(chǔ)管理器/復(fù)制器120A和120B使用的協(xié)議的數(shù)據(jù)通過(guò)復(fù)制鏈路102C傳輸。當(dāng)主數(shù)據(jù)存儲(chǔ)器140A和輔助數(shù)據(jù)存儲(chǔ)器140B通過(guò)存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN,未示出)連接時(shí),系統(tǒng)可以被配置為將主數(shù)據(jù)存儲(chǔ)器140A和輔助數(shù)據(jù)存儲(chǔ)器140B實(shí)現(xiàn)為兩個(gè)不同的物理網(wǎng)絡(luò)的部分,以提供附加的安全屏障。
在該具有單獨(dú)的安全域的實(shí)施例中,主節(jié)點(diǎn)110A不直接訪問(wèn)數(shù)據(jù)存儲(chǔ)器140B。為了訪問(wèn)輔助節(jié)點(diǎn)110B上的數(shù)據(jù),主節(jié)點(diǎn)110A向輔助節(jié)點(diǎn)110B請(qǐng)求數(shù)據(jù),并對(duì)主數(shù)據(jù)存儲(chǔ)器140A中的數(shù)據(jù)執(zhí)行操作。接著,存儲(chǔ)管理器/復(fù)制器120A通過(guò)復(fù)制鏈路102C將更新復(fù)制到存儲(chǔ)管理器/復(fù)制器120B。
一種用于在單獨(dú)的安全域中維持主數(shù)據(jù)和輔助數(shù)據(jù)的技術(shù)在申請(qǐng)?zhí)枮?0/669,475(代理號(hào)為VRT0096,客戶卷號(hào)為VRTS0395)的名稱為“Synchronous Replication for System and Data Security(用于系統(tǒng)和數(shù)據(jù)安全的同步復(fù)制)”的美國(guó)專(zhuān)利申請(qǐng)中描述,其申請(qǐng)日為2003年10月31日,發(fā)明人為Oleg Kiselev。
本發(fā)明的上述實(shí)施例可以在多種計(jì)算和聯(lián)網(wǎng)環(huán)境中實(shí)現(xiàn)。下面參照?qǐng)D4描述可用于實(shí)現(xiàn)本發(fā)明的實(shí)例性的計(jì)算環(huán)境。
實(shí)例性的計(jì)算機(jī)系統(tǒng)圖4是可用于實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)系統(tǒng)410的框圖。計(jì)算機(jī)系統(tǒng)410包括總線412,其使計(jì)算機(jī)系統(tǒng)410的主要子系統(tǒng)互連,諸如中央處理器414、系統(tǒng)存儲(chǔ)器417(通常是RAM,但還可以包括ROM、閃存等等)、輸入/輸出控制器418、諸如經(jīng)由音頻輸出接口422的揚(yáng)聲器系統(tǒng)420的外部音頻設(shè)備、諸如經(jīng)由顯示適配器426的顯示屏424、串行端口428和430、鍵盤(pán)432(與鍵盤(pán)控制器433相連)、存儲(chǔ)器接口434、可以接收軟盤(pán)438的軟盤(pán)驅(qū)動(dòng)器437、可以與光纖信道網(wǎng)絡(luò)490連接的主機(jī)總線適配器(HBA)接口卡435A、可以連接到SCSI總線439的主機(jī)總線適配器(HBA)接口卡435B和可以接收光盤(pán)442的光盤(pán)驅(qū)動(dòng)器440的外部設(shè)備。還包括鼠標(biāo)446(或者其它點(diǎn)擊設(shè)備,通過(guò)串行端口428連接到總線412)、調(diào)制解調(diào)器447(通過(guò)串行端口430連接到總線412)和網(wǎng)絡(luò)接口448(直接連接到總線412)。
總線412允許中央處理器414和系統(tǒng)存儲(chǔ)器417之間進(jìn)行數(shù)據(jù)通信,如前面所述,系統(tǒng)存儲(chǔ)器417可包括只讀存儲(chǔ)器(ROM)或者閃存(未示出)和隨機(jī)存取存儲(chǔ)器(RAM)(未示出)。RAM通常是加載有操作系統(tǒng)和應(yīng)用程序的主要存儲(chǔ)器,并通常提供至少64兆字節(jié)的存儲(chǔ)空間。在其它代碼中,ROM或閃存可包含基本輸入輸出系統(tǒng)(BIOS),其控制諸如與外圍組件進(jìn)行交互的基本硬件操作。駐留在計(jì)算機(jī)系統(tǒng)410中的應(yīng)用程序通常存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,并通過(guò)該介質(zhì)訪問(wèn),諸如硬盤(pán)驅(qū)動(dòng)器(例如固定盤(pán)444)、光盤(pán)驅(qū)動(dòng)器(例如光盤(pán)驅(qū)動(dòng)器440)、軟盤(pán)單元437或其它存儲(chǔ)介質(zhì)。另外,當(dāng)通過(guò)網(wǎng)絡(luò)調(diào)制解調(diào)器447或接口448訪問(wèn)時(shí),應(yīng)用程序可以采用根據(jù)應(yīng)用程序和數(shù)據(jù)通信技術(shù)調(diào)制的電信號(hào)。
存儲(chǔ)器接口434與計(jì)算機(jī)系統(tǒng)410的其它存儲(chǔ)器接口可以連接到標(biāo)準(zhǔn)的計(jì)算機(jī)可讀介質(zhì),以存儲(chǔ)和/或檢索信息,諸如固定盤(pán)驅(qū)動(dòng)器444。固定盤(pán)驅(qū)動(dòng)器444可以是計(jì)算機(jī)系統(tǒng)的一部分或者可以是單獨(dú)并可通過(guò)其它接口系統(tǒng)訪問(wèn)的。調(diào)制解調(diào)器447可以提供通過(guò)電話鏈路到遠(yuǎn)程服務(wù)器的直接連接,或者通過(guò)因特網(wǎng)服務(wù)提供商(ISP)到因特網(wǎng)的直接連接。網(wǎng)絡(luò)接口448可以提供通過(guò)直接網(wǎng)絡(luò)鏈路到遠(yuǎn)程服務(wù)器的直接連接,或者通過(guò)POP(接入點(diǎn))到因特網(wǎng)的直接連接。網(wǎng)絡(luò)接口448可以使用無(wú)線技術(shù)提供這種連接,包括數(shù)字蜂窩電話連接、蜂窩數(shù)字分組數(shù)據(jù)(CDPD)連接、數(shù)字衛(wèi)星數(shù)據(jù)連接等等。
許多其它設(shè)備或子系統(tǒng)(未示出)可以采用類(lèi)似的方式連接(例如條形碼閱讀器,文檔掃描器,數(shù)碼相機(jī)等等)。相反,實(shí)現(xiàn)本發(fā)明不需要提供如圖4所示的所有設(shè)備。設(shè)備和子系統(tǒng)可以采用與圖4所示的不同的方式相互連接。如圖4所示的計(jì)算機(jī)系統(tǒng)的運(yùn)行在本領(lǐng)域中是容易知道的,在本申請(qǐng)中沒(méi)有詳細(xì)討論。用于實(shí)現(xiàn)本發(fā)明的代碼可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,諸如系統(tǒng)存儲(chǔ)器417、固定盤(pán)444、光盤(pán)442或軟盤(pán)438中的一個(gè)或者多個(gè)。另外,計(jì)算機(jī)系統(tǒng)410可以是任何類(lèi)型的計(jì)算設(shè)備,因此包括個(gè)人數(shù)字助理(PDA)、網(wǎng)絡(luò)設(shè)備、X-窗口終端或者其它這類(lèi)計(jì)算設(shè)備。在計(jì)算機(jī)系統(tǒng)410上提供的操作系統(tǒng)可以是MS-DOS、MS-WINDOWS、OS/2、UNIX、Linux或者其它已知的操作系統(tǒng)。計(jì)算機(jī)系統(tǒng)410還支持許多因特網(wǎng)訪問(wèn)工具,包括例如具有JavaScript解釋器的HTTP網(wǎng)頁(yè)瀏覽器,如Netscape Navigator、Microsoft Explorer等等。
其它實(shí)施例本發(fā)明很好地獲得上述的優(yōu)點(diǎn)以及固有的優(yōu)點(diǎn)雖然本發(fā)明已經(jīng)通過(guò)參考本發(fā)明特定的實(shí)施例來(lái)描寫(xiě)、描述和限定,但是這些參考不應(yīng)解釋為對(duì)本發(fā)明的限制,也不能推斷出這種限制。如呈現(xiàn)給本領(lǐng)域的技術(shù)人員那樣,本發(fā)明在形式和功能上能夠進(jìn)行相當(dāng)多的修改、變化和等同。所描述和描寫(xiě)的實(shí)施例僅僅是例子,而不是本發(fā)明的范圍的窮盡。
前述的詳細(xì)說(shuō)明已經(jīng)通過(guò)使用框圖、流程圖和例子陳述了本發(fā)明的各種實(shí)施例。本領(lǐng)域的技術(shù)人員知道,每個(gè)框圖組件、流程圖步驟、由使用的例子示出的操作和/或組件可以通過(guò)大范圍的硬件、軟件、固件或者其任意結(jié)合來(lái)單獨(dú)地和/或結(jié)合地實(shí)現(xiàn)。
本發(fā)明已經(jīng)在全功能計(jì)算機(jī)系統(tǒng)的上下文中被描述,然而,本領(lǐng)域的技術(shù)人員將知道,本發(fā)明能夠被分布成具有多種形式的程序產(chǎn)品,并且不管實(shí)際執(zhí)行分布的信號(hào)承載介質(zhì)的特定類(lèi)型,本發(fā)明都同樣適用。信號(hào)承載介質(zhì)的例子包括諸如軟盤(pán)和CD-ROM的可記錄介質(zhì),諸如數(shù)字和模擬通信鏈路的傳輸類(lèi)型介質(zhì),以及將來(lái)開(kāi)發(fā)的介質(zhì)存儲(chǔ)和分布系統(tǒng)。
上述實(shí)施例可以通過(guò)執(zhí)行某些任務(wù)的軟件模塊實(shí)現(xiàn)。在這里討論的軟件模塊包括腳本、批處理或其它可執(zhí)行的文件。軟件模塊可以存儲(chǔ)在諸如盤(pán)驅(qū)動(dòng)器的機(jī)器可讀或者計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì)中。根據(jù)本發(fā)明的實(shí)施例的用于存儲(chǔ)軟件模塊的存儲(chǔ)設(shè)備可以是例如磁軟盤(pán)、硬盤(pán)或諸如CD-ROM或CD-R的光盤(pán)。根據(jù)本發(fā)明的實(shí)施例的用于存儲(chǔ)固件或硬件模塊的存儲(chǔ)設(shè)備還可以包括基于半導(dǎo)體的存儲(chǔ)器,其可以永久地、可移動(dòng)地或遠(yuǎn)程地連接到微處理器/存儲(chǔ)系統(tǒng)。因此,這些模塊可以存儲(chǔ)在計(jì)算機(jī)系統(tǒng)存儲(chǔ)器內(nèi)以配置計(jì)算機(jī)系統(tǒng),以執(zhí)行這些模塊的功能。其它新的和不同類(lèi)型的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以用于存儲(chǔ)這里所述的模塊。
上述說(shuō)明是本發(fā)明的示例而不應(yīng)被認(rèn)為是限制。在本發(fā)明的范圍內(nèi)可以有其它實(shí)施例。本領(lǐng)域的技術(shù)人員可以容易實(shí)現(xiàn)提供在此公開(kāi)的結(jié)構(gòu)和方法所需的步驟,并將理解,這些步驟的處理參數(shù)和順序僅以例子的方式給出,并且可以改變以實(shí)現(xiàn)期望的結(jié)構(gòu)以及修改,而這些都在本發(fā)明的范圍內(nèi)。根據(jù)前述的說(shuō)明書(shū),可以對(duì)這里所公開(kāi)的實(shí)施例進(jìn)行變化和修改而不脫離本發(fā)明的范圍。因此,本發(fā)明僅由所附的權(quán)利要求的范圍限定,在所有方面對(duì)等同物給出全面的認(rèn)識(shí)。
權(quán)利要求
1.一種方法,包括對(duì)第一數(shù)據(jù)存儲(chǔ)器執(zhí)行一組操作,其中,對(duì)所述第一數(shù)據(jù)存儲(chǔ)器的所述一組操作中的每一個(gè)操作執(zhí)行以下操作中的至少一個(gè)從所述第一數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)中產(chǎn)生被修改的數(shù)據(jù);以及改變所述第一數(shù)據(jù)存儲(chǔ)器的配置;以及在將所選擇的所述第一數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)復(fù)制到第二數(shù)據(jù)存儲(chǔ)器期間,執(zhí)行所述一組操作;以及使所述一組操作對(duì)所述第二數(shù)據(jù)存儲(chǔ)器執(zhí)行,其中,如果所述一組操作產(chǎn)生所述被修改的數(shù)據(jù),并且所述被修改的數(shù)據(jù)的一部分沒(méi)有包括在所選擇的復(fù)制到所述第二數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù),則在所述一組操作對(duì)所述第二數(shù)據(jù)存儲(chǔ)器執(zhí)行以后,所述第二數(shù)據(jù)存儲(chǔ)器包括所述被修改的數(shù)據(jù)的一部分的副本。
2.如權(quán)利要求1所述的方法,其中,所述一組操作中的一個(gè)操作從第三數(shù)據(jù)存儲(chǔ)器中的第三數(shù)據(jù)中恢復(fù)所述第一數(shù)據(jù)存儲(chǔ)器中的第一數(shù)據(jù)的一部分;所述的使所述一組操作對(duì)所述第二數(shù)據(jù)存儲(chǔ)器執(zhí)行包括使所述第二數(shù)據(jù)存儲(chǔ)器中的第二數(shù)據(jù)的對(duì)應(yīng)部分從第四數(shù)據(jù)存儲(chǔ)器中的第四數(shù)據(jù)中恢復(fù),其中,在恢復(fù)所述第一數(shù)據(jù)的一部分后和在使所述第二數(shù)據(jù)的對(duì)應(yīng)部分恢復(fù)后,所述第一數(shù)據(jù)的一部分和所述第二數(shù)據(jù)的一部分是相同的。
3.如權(quán)利要求1所述的方法,其中,所述一組操作中的一個(gè)操作使所述第一數(shù)據(jù)存儲(chǔ)器中的第一數(shù)據(jù)與第三數(shù)據(jù)存儲(chǔ)器中的第三數(shù)據(jù)同步;所述的使所述一組操作對(duì)所述第二數(shù)據(jù)存儲(chǔ)器執(zhí)行包括使所述第二數(shù)據(jù)存儲(chǔ)器中的第二數(shù)據(jù)與對(duì)應(yīng)于所述第三數(shù)據(jù)存儲(chǔ)器的第四數(shù)據(jù)存儲(chǔ)器中的第四數(shù)據(jù)同步,其中,在同步所述第一數(shù)據(jù)后和在使所述第二數(shù)據(jù)同步后,所述第一數(shù)據(jù)和所述第二數(shù)據(jù)是相同的。
4.如權(quán)利要求1所述的方法,其中,所述一組操作中的一個(gè)操作通過(guò)創(chuàng)建與所述第一數(shù)據(jù)存儲(chǔ)器有關(guān)的第一快照數(shù)據(jù)存儲(chǔ)器,改變所述第一數(shù)據(jù)存儲(chǔ)器的配置,其中,第一數(shù)據(jù)存儲(chǔ)器中的第一數(shù)據(jù)的第一快照被存儲(chǔ)在所述第一快照數(shù)據(jù)存儲(chǔ)器中;所述的使所述一組操作對(duì)所述第二數(shù)據(jù)存儲(chǔ)器執(zhí)行包括使與所述第二數(shù)據(jù)存儲(chǔ)器有關(guān)的第二快照數(shù)據(jù)存儲(chǔ)器被創(chuàng)建,其中,所述第二數(shù)據(jù)存儲(chǔ)器中的第二數(shù)據(jù)的第二快照被存儲(chǔ)在所述第二快照數(shù)據(jù)存儲(chǔ)器中;所述第一快照和所述第二快照包括相同的數(shù)據(jù)。
5.如權(quán)利要求4所述的方法,還包括在所述第二快照數(shù)據(jù)存儲(chǔ)器被創(chuàng)建后,在所述第一快照數(shù)據(jù)存儲(chǔ)器和所述第二快照數(shù)據(jù)存儲(chǔ)器之間建立復(fù)制關(guān)系,其中,所述復(fù)制關(guān)系使所述第一快照數(shù)據(jù)存儲(chǔ)器中隨后被修改的數(shù)據(jù)包括在所選擇的復(fù)制到所述第二快照數(shù)據(jù)存儲(chǔ)器中的快照數(shù)據(jù)中。
6.如權(quán)利要求5所述的方法,其中,當(dāng)所選擇的數(shù)據(jù)被復(fù)制到所述第二數(shù)據(jù)存儲(chǔ)器中時(shí),隨后被修改的數(shù)據(jù)被復(fù)制到所述第二快照數(shù)據(jù)存儲(chǔ)器中。
7.如權(quán)利要求1所述的方法,其中,如果在執(zhí)行所述一組操作期間的第一個(gè)時(shí)間點(diǎn)所述一組操作的第一個(gè)操作對(duì)所述第一數(shù)據(jù)存儲(chǔ)器執(zhí)行;以及當(dāng)所述第一個(gè)操作對(duì)所述第一數(shù)據(jù)存儲(chǔ)器執(zhí)行時(shí),所述第一數(shù)據(jù)存儲(chǔ)器包括第一數(shù)據(jù);那么,在第二個(gè)時(shí)間點(diǎn)當(dāng)所述第一個(gè)操作對(duì)所述第二數(shù)據(jù)存儲(chǔ)器執(zhí)行時(shí),所述第二數(shù)據(jù)存儲(chǔ)器包括所述第一數(shù)據(jù)的副本。
8.如權(quán)利要求1所述的方法,其中,如果在執(zhí)行所述一組操作期間的第一個(gè)時(shí)間點(diǎn),所述第一數(shù)據(jù)存儲(chǔ)器包含第一數(shù)據(jù),那么,在第二個(gè)時(shí)間點(diǎn),當(dāng)所述第二數(shù)據(jù)存儲(chǔ)器表示在所述第一個(gè)時(shí)間點(diǎn)的第一數(shù)據(jù)存儲(chǔ)器時(shí),所述第二數(shù)據(jù)存儲(chǔ)器包含所述第一數(shù)據(jù)的副本。
9.如權(quán)利要求1所述的方法,其中,所述一組操作包括所述一組操作的有序的子集,其中,在所述操作的有序子集中的操作以連續(xù)的順序?qū)λ龅谝粩?shù)據(jù)存儲(chǔ)器和所述第二數(shù)據(jù)存儲(chǔ)器都執(zhí)行。
10.如權(quán)利要求1所述的方法,其中,在所述第一數(shù)據(jù)存儲(chǔ)器上,在所述連續(xù)的順序中的特定點(diǎn)產(chǎn)生所述被修改的數(shù)據(jù);所述特定點(diǎn)在所述連續(xù)的順序中的第一單獨(dú)點(diǎn)和所述連續(xù)的順序中的第二單獨(dú)點(diǎn)之間;所述第一單獨(dú)時(shí)間點(diǎn)和所述第二單獨(dú)時(shí)間點(diǎn)在所述連續(xù)的順序中相鄰;所述的使所述一組操作對(duì)所述第二數(shù)據(jù)存儲(chǔ)器執(zhí)行包括使產(chǎn)生所述被修改的數(shù)據(jù)的副本發(fā)生在所述第二數(shù)據(jù)存儲(chǔ)器上、在所述連續(xù)的順序中的特定點(diǎn)。
11.如權(quán)利要求10所述的方法,其中,所述的使產(chǎn)生所述被修改的數(shù)據(jù)的副本發(fā)生在所述特定點(diǎn)包括在所選擇的從所述第一數(shù)據(jù)存儲(chǔ)器復(fù)制到所述第二數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)中插入命令以在所述特定點(diǎn)產(chǎn)生所述被修改的數(shù)據(jù)的副本。
12.如權(quán)利要求1所述的方法,其中,有序操作的子集包括所述一組操作中的所有操作。
13.如權(quán)利要求1所述的方法,其中,所述一組組操作還包括所述一組操作的無(wú)序的子集,其中,所述無(wú)序的子集在所述連續(xù)的順序中的特定點(diǎn)執(zhí)行;所述連續(xù)的順序中的特定點(diǎn)在所述連續(xù)的順序中的第一單獨(dú)點(diǎn)和所述連續(xù)的順序中的第二單獨(dú)時(shí)間點(diǎn)之間;所述第一單獨(dú)時(shí)間點(diǎn)在所述連續(xù)的順序中與所述第二單獨(dú)時(shí)間點(diǎn)相鄰;所述無(wú)序的子集中的每個(gè)操作可以與所述無(wú)序的子集中的其它操作同時(shí)執(zhí)行。
14.如權(quán)利要求1所述的方法,其中,所述的使所述一組操作對(duì)所述第二數(shù)據(jù)存儲(chǔ)器執(zhí)行包括使執(zhí)行所述一組操作的至少一個(gè)命令對(duì)所述第二數(shù)據(jù)存儲(chǔ)器執(zhí)行。
15.如權(quán)利要求1所述的方法,其中,所述的所選擇的數(shù)據(jù)包括由于寫(xiě)操作而修改的第一數(shù)據(jù)。
16.如權(quán)利要求15所述的方法,其中,所述一組操作不包括所述寫(xiě)操作。
17.如權(quán)利要求1所述的方法,其中,所述的所選擇的數(shù)據(jù)還包括存儲(chǔ)在所述第一數(shù)據(jù)存儲(chǔ)器中的第一數(shù)據(jù)的快照的一部分,所述快照的一部分由于第二寫(xiě)操作而被修改。
18.如權(quán)利要求17所述的方法,其中,所述一組操作不包括所述第二寫(xiě)操作。
19.如權(quán)利要求1所述的方法,其中,在將所述的所選擇的數(shù)據(jù)復(fù)制到所述第二數(shù)據(jù)存儲(chǔ)器后,所述第二數(shù)據(jù)存儲(chǔ)器還包含所述的所選擇的數(shù)據(jù)的副本。
20.如權(quán)利要求1所述的方法,還包括在與所述第一數(shù)據(jù)存儲(chǔ)器相關(guān)聯(lián)的主節(jié)點(diǎn)出現(xiàn)故障后,識(shí)別所述第一數(shù)據(jù)存儲(chǔ)器中所述所選擇的數(shù)據(jù)的一部分,其中,所述一部分還沒(méi)有被復(fù)制到所述第二數(shù)據(jù)存儲(chǔ)器中,并且僅使所述一部分復(fù)制到所述第二數(shù)據(jù)存儲(chǔ)器中,使得所述第一數(shù)據(jù)和所述第二數(shù)據(jù)是相同的。
21.如權(quán)利要求1所述的方法,還包括識(shí)別所述第一數(shù)據(jù)存儲(chǔ)器中的第二被修改的數(shù)據(jù),其中,所述第二被修改的數(shù)據(jù)在所述一組操作對(duì)所述第一數(shù)據(jù)存儲(chǔ)器執(zhí)行之前并在對(duì)所述第二數(shù)據(jù)存儲(chǔ)器執(zhí)行之后產(chǎn)生;以及所述第二被修改的數(shù)據(jù)沒(méi)有包括在所選擇的復(fù)制到所述第二數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)中;以及僅使所述第二被修改的數(shù)據(jù)復(fù)制到所述第二數(shù)據(jù)存儲(chǔ)器中,使得所述第二數(shù)據(jù)和所述第一數(shù)據(jù)是相同的。
22.一種系統(tǒng),包括執(zhí)行裝置,用于對(duì)第一數(shù)據(jù)存儲(chǔ)器執(zhí)行一組操作,其中,對(duì)所述第一數(shù)據(jù)存儲(chǔ)器的所述一組操作中的每一個(gè)操作執(zhí)行以下操作中的至少一個(gè)操作從所述第一數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)中產(chǎn)生被修改的數(shù)據(jù);以及改變所述第一數(shù)據(jù)存儲(chǔ)器的配置;以及在將所選擇的所述第一數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)復(fù)制到第二數(shù)據(jù)存儲(chǔ)器期間,執(zhí)行所述一組操作;以及使動(dòng)裝置,用于使所述一組操作對(duì)所述第二數(shù)據(jù)存儲(chǔ)器執(zhí)行,其中,如果所述一組操作產(chǎn)生所述被修改的數(shù)據(jù),并且所述被修改的數(shù)據(jù)的一部分沒(méi)有包括在所選擇的復(fù)制到所述第二數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù),則在所述一組操作對(duì)所述第二數(shù)據(jù)存儲(chǔ)器執(zhí)行后,所述第二數(shù)據(jù)存儲(chǔ)器中的第二數(shù)據(jù)包括所述被修改的數(shù)據(jù)的一部分的副本。
23.如權(quán)利要求22所述的系統(tǒng),其中,所述一組操作包括所述一組操作的有序的子集,其中,所述操作的有序子集中的操作以連續(xù)的順序?qū)λ龅谝粩?shù)據(jù)存儲(chǔ)器和所述第二數(shù)據(jù)存儲(chǔ)器執(zhí)行。
24.如權(quán)利要求23所述的系統(tǒng),還包括第二使動(dòng)裝置,用于使產(chǎn)生所述被修改的數(shù)據(jù)的副本發(fā)生在所述第二數(shù)據(jù)存儲(chǔ)器上、在所述連續(xù)的順序中的特定點(diǎn),其中,在所述第一數(shù)據(jù)存儲(chǔ)器上,在所述連續(xù)的順序中的特定點(diǎn)產(chǎn)生所述被修改的數(shù)據(jù);所述特定點(diǎn)在所述連續(xù)的順序中的第一單獨(dú)時(shí)間點(diǎn)和所述連續(xù)的順序中的第二單獨(dú)時(shí)間點(diǎn)之間;所述第一單獨(dú)時(shí)間點(diǎn)和所述第二單獨(dú)時(shí)間點(diǎn)在所述連續(xù)的順序中相鄰。
25.如權(quán)利要求24所述的系統(tǒng),還包括插入裝置,用于在所選擇的從所述第一數(shù)據(jù)存儲(chǔ)器復(fù)制到所述第二數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)中插入命令以在所述特定點(diǎn)產(chǎn)生被修改的數(shù)據(jù)的副本。
26.如權(quán)利要求23所述的系統(tǒng),其中,所述一組操作還包括所述一組操作的無(wú)序的子集,其中,所述無(wú)序的子集在所述連續(xù)的順序中的特定點(diǎn)執(zhí)行;所述連續(xù)的順序中的特定點(diǎn)在所述連續(xù)的順序中的第一單獨(dú)時(shí)間點(diǎn)和所述連續(xù)的順序中的第二單獨(dú)時(shí)間點(diǎn)之間;所述第一單獨(dú)時(shí)間點(diǎn)在所述連續(xù)的順序中與所述第二單獨(dú)時(shí)間點(diǎn)相鄰;所述無(wú)序的子集中的每個(gè)操作可以與所述無(wú)序的子集中的其它操作同時(shí)執(zhí)行。
全文摘要
一種方法、系統(tǒng)、計(jì)算機(jī)系統(tǒng)和計(jì)算機(jī)可讀介質(zhì),用于在作為不是在復(fù)制期間獲取的程序驅(qū)動(dòng)寫(xiě)操作的操作的結(jié)果修改數(shù)據(jù)時(shí)維持主數(shù)據(jù)的最新、一致的副本,而無(wú)需復(fù)制被修改的數(shù)據(jù)。在數(shù)據(jù)相同的時(shí)間點(diǎn)對(duì)主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器執(zhí)行所選擇的存儲(chǔ)管理操作,以確保數(shù)據(jù)存儲(chǔ)器內(nèi)存儲(chǔ)的數(shù)據(jù)保持一致性。這些所選擇的存儲(chǔ)管理操作包括產(chǎn)生存儲(chǔ)在主數(shù)據(jù)存儲(chǔ)器中的被修改的數(shù)據(jù)的操作,其中被修改的數(shù)據(jù)的一部分沒(méi)有被復(fù)制到輔助節(jié)點(diǎn)。選擇其它類(lèi)型的存儲(chǔ)管理操作以對(duì)主數(shù)據(jù)存儲(chǔ)器和輔助數(shù)據(jù)存儲(chǔ)器都執(zhí)行,其中這些操作不直接改變主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù),但可能影響存儲(chǔ)在主數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)。
文檔編號(hào)G06F11/20GK1902595SQ200480039656
公開(kāi)日2007年1月24日 申請(qǐng)日期2004年12月30日 優(yōu)先權(quán)日2003年12月31日
發(fā)明者J·A·科爾格羅夫, R·S·卡爾, O·基謝廖夫 申請(qǐng)人:維里塔斯管理公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
寿宁县| 墨玉县| 长葛市| 湘乡市| 肃宁县| 青浦区| 当阳市| 调兵山市| 耒阳市| 石渠县| 肃南| 乌什县| 额尔古纳市| 三明市| 冕宁县| 高密市| 东乌珠穆沁旗| 新竹县| 新乡市| 铜梁县| 穆棱市| 教育| 年辖:市辖区| 绥化市| 姜堰市| 武冈市| 调兵山市| 黔南| 谢通门县| 五寨县| 诏安县| 南阳市| 临洮县| 临武县| 修文县| 塔河县| 抚宁县| 余庆县| 平原县| 三明市| 万盛区|