專利名稱:在不同地點(diǎn)間建立數(shù)據(jù)鏡像的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在不同地點(diǎn)(site)間建立數(shù)據(jù)鏡像的系統(tǒng)、方法和程序。
背景技術(shù):
災(zāi)難恢復(fù)系統(tǒng)通常針對(duì)兩類故障,即在單個(gè)時(shí)間點(diǎn)上的突然的災(zāi)難性故障和在一個(gè)時(shí)間段上的數(shù)據(jù)丟失。在第二類逐漸型的災(zāi)難中,卷的更新可能會(huì)丟失。為協(xié)助恢復(fù)數(shù)據(jù)更新部分,可在遠(yuǎn)端位置提供數(shù)據(jù)副本。這種雙份副本的或影子副本通常是在應(yīng)用系統(tǒng)向主存儲(chǔ)器設(shè)備寫新數(shù)據(jù)時(shí)做成的。本主題專利申請(qǐng)受讓人國際商用機(jī)器公司(IBM)提供兩個(gè)系統(tǒng)用于在第二地點(diǎn)保持?jǐn)?shù)據(jù)的遠(yuǎn)處副本,它們是擴(kuò)展遠(yuǎn)程復(fù)制(XRC)和對(duì)等(peer-to-peer)遠(yuǎn)程復(fù)制(PPRC)。這些系統(tǒng)提供一種方法,用于恢復(fù)在最后一次安全備份與系統(tǒng)故障之間的數(shù)據(jù)更新部分。這種數(shù)據(jù)影隨(shadowing)系統(tǒng)還能提供非恢復(fù)目的的附加遠(yuǎn)程副本,如在遠(yuǎn)程地點(diǎn)的本地訪問。IBM的XRC和PPRC系統(tǒng)在IBM出版文獻(xiàn)“遠(yuǎn)程復(fù)制管理員指南和參考”(IBM文件SC35-0169-02號(hào)(IBM版權(quán)1994,1996)中描述,該出版文獻(xiàn)在這里被全文納入作為參考。
在數(shù)據(jù)被鏡像的后備系統(tǒng)中,數(shù)據(jù)保存在卷對(duì)中。一個(gè)卷對(duì)由在主存儲(chǔ)器設(shè)備中的一卷和在輔助存儲(chǔ)器設(shè)備中的一個(gè)相應(yīng)卷組成,該相應(yīng)卷包括主卷中保持的數(shù)據(jù)的相同副本。通常,該對(duì)中的主卷將保持在主直接訪問存儲(chǔ)器設(shè)備(DASD)中,而該對(duì)中的輔助卷則保持在影隨主DASD上數(shù)據(jù)的輔助DASD中。可提供主存儲(chǔ)器控制器以控制對(duì)主DASD的訪問,并可提供輔助存儲(chǔ)器控制器以控制對(duì)輔助DASD的訪問。
當(dāng)在源卷和目標(biāo)卷之間建立對(duì)等關(guān)系時(shí),一個(gè)初始復(fù)制操作被啟動(dòng),以把全部源卷中的全部道復(fù)制到有對(duì)等關(guān)系的目標(biāo)卷。初始復(fù)制以設(shè)定在代表源卷中各道的位圖中設(shè)定位開始,以指出把該源道復(fù)制到相應(yīng)的目標(biāo)道。作為第一次掃過卷位圖的一部分,主存儲(chǔ)器控制器將異步地從該關(guān)系的第一卷中的第一道復(fù)制到相應(yīng)的目標(biāo)道,直至最后一卷的最后一道。在復(fù)制該關(guān)系中包括的各卷每一道之后,主存儲(chǔ)器控制器將把被復(fù)制道的相應(yīng)位設(shè)置為“斷(off)”,以指出該道已被復(fù)制。如果在這第一次掃過位圖表期間收到對(duì)一道的更新,則與要更新的這一道對(duì)應(yīng)的位被設(shè)置為“通(on)”。在第二次掃過位圖表期間,只有其相應(yīng)位為“通”的那些源道被異步復(fù)制到相應(yīng)的目標(biāo)存儲(chǔ)道。再有,在第二階段期間,收到的對(duì)本地主存儲(chǔ)器的任何更新被同步復(fù)制到輔助地點(diǎn)。這樣,在第一次掃過位圖表之后,對(duì)該關(guān)系中源道的任何更新被同步復(fù)制,這里直至對(duì)該目標(biāo)道的寫完成時(shí)才向應(yīng)用返回完成。
為優(yōu)化初始復(fù)制操作期間對(duì)帶寬的使用,所建立的初始復(fù)制可被分成若干子集,從而在初始復(fù)制期間可成組復(fù)制各卷。例如,如果在該關(guān)系中有100卷,可針對(duì)例如5卷組成的一組進(jìn)行第一次和第二次掃過位圖表,以實(shí)現(xiàn)初始復(fù)制。然后針對(duì)相繼的下一個(gè)卷組進(jìn)行第一次和第二次掃過位圖表。在進(jìn)行了對(duì)一個(gè)卷組的第一次掃過位表之后,對(duì)這些已被第一次掃過之后的各卷的任何寫入將被同步復(fù)制到相應(yīng)的目標(biāo)道。然而,因?yàn)橥綄懞透鞒跏紡?fù)制集共用同一個(gè)物理連接,隨著更多卷完成它們的初始復(fù)制,由于進(jìn)行了第一次掃過的卷數(shù)的增多,同步寫的次數(shù)也增多。這些與正在進(jìn)行的初始復(fù)制操作共用帶寬的同步寫的次數(shù)增多可能造成傳輸延遲,從而向發(fā)起對(duì)源道進(jìn)行更新的應(yīng)用返回完成時(shí)的延遲增大。同步寫用于通過保證直至更新部分被成功地鏡像到目標(biāo)道才返回完成來改善在輔助地點(diǎn)的數(shù)據(jù)完整性。
發(fā)明內(nèi)容
本發(fā)明提供建立數(shù)據(jù)鏡像的方法、系統(tǒng)和程序。在主存儲(chǔ)器中的多個(gè)源數(shù)據(jù)單元和在輔助存儲(chǔ)器中的多個(gè)相應(yīng)的目標(biāo)數(shù)據(jù)單元之間建立關(guān)系。發(fā)起一個(gè)操作,以進(jìn)行該關(guān)系中的全部源數(shù)據(jù)單元到相應(yīng)的目標(biāo)數(shù)據(jù)單元的復(fù)制。接收對(duì)源數(shù)據(jù)的更新并確定是否指出為第一寫方式。如果指示為第一復(fù)制寫,則以第一寫方式把對(duì)源數(shù)據(jù)單元的更新復(fù)制到相應(yīng)的目標(biāo)數(shù)據(jù)單元。否則,如果未指出第一寫方式,則以第二寫方式把更新復(fù)制到源數(shù)據(jù)單元對(duì)應(yīng)的目標(biāo)數(shù)據(jù)單元。如果未指出第一寫方式,則確定對(duì)屬于該關(guān)系的所有數(shù)據(jù)單元的寫次數(shù)是否低于一個(gè)閾值,如果對(duì)屬于該關(guān)系的所有數(shù)據(jù)單元的寫次數(shù)低于該閾值,則指出第一寫方式。
在某些實(shí)現(xiàn)中,第一寫方式包含同步寫方式,而這里第二寫方式包含異步寫方式。
在又一些實(shí)現(xiàn)中,提供一個(gè)數(shù)據(jù)結(jié)構(gòu)指出要復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元的源數(shù)據(jù)單元。在該數(shù)據(jù)結(jié)構(gòu)中做出指示,指出把全部源數(shù)據(jù)單元復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元,作為以第二寫方式進(jìn)行初始復(fù)制操作的一部分。
再有,該數(shù)據(jù)結(jié)構(gòu)可被處理,以確定該數(shù)據(jù)結(jié)構(gòu)中指出的源數(shù)據(jù)單元供復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元,而被確定的全部源數(shù)據(jù)單元可以以第二寫方式復(fù)制到相應(yīng)的目標(biāo)數(shù)據(jù)單元,這里對(duì)以第二寫方式復(fù)制的目標(biāo)數(shù)據(jù)單元的更新被復(fù)制,作為復(fù)制被確定的全部源數(shù)據(jù)單元的一部分。
在又一些實(shí)現(xiàn)中,在該關(guān)系中的源和目標(biāo)數(shù)據(jù)單元是以卷對(duì)形式存在的,這里確定對(duì)于屬于該關(guān)系的全部數(shù)據(jù)單元的寫次數(shù)是否低于一個(gè)閾值包含確定對(duì)于所有卷對(duì)的寫次數(shù)是否低于該閾值,這里如果對(duì)于屬于該關(guān)系的全部卷對(duì)的寫次數(shù)低于該閾值,則對(duì)該關(guān)系中的全部卷對(duì)指出第一寫方式。
所描述的實(shí)現(xiàn)提供技術(shù)供在主存儲(chǔ)器和輔助存儲(chǔ)器之間建立數(shù)據(jù)鏡像,對(duì)于不同情況使用不同的寫方式以優(yōu)化鏡像復(fù)制操作的性能。
現(xiàn)在參考附圖,各圖中的相似參考數(shù)字代表相應(yīng)的部件圖1是方塊圖,說明在其中實(shí)現(xiàn)本發(fā)明各方面的網(wǎng)絡(luò)計(jì)算環(huán)境;圖2、3、4顯示為管理主存儲(chǔ)器地點(diǎn)和輔助存儲(chǔ)器地點(diǎn)之間數(shù)據(jù)鏡像操作所進(jìn)行的操作;圖5顯示為在災(zāi)難恢復(fù)之后重新同步主存儲(chǔ)器地點(diǎn)所進(jìn)行的操作;以及圖6顯示該網(wǎng)絡(luò)環(huán)境中的計(jì)算部件(如存儲(chǔ)器控制器和監(jiān)視系統(tǒng))的體系結(jié)構(gòu)。
具體實(shí)施例方式
在下面的描述中將參考附圖,這些附圖構(gòu)成本發(fā)明的一部分并以圖說明本發(fā)明的若干實(shí)施例。應(yīng)該理解,可以利用其他實(shí)施例,而且可進(jìn)行結(jié)構(gòu)上和操作上的改變而不脫離本發(fā)明的范圍。
圖1顯示一個(gè)網(wǎng)絡(luò)計(jì)算環(huán)境,在其中可實(shí)現(xiàn)本發(fā)明的各方面。主存儲(chǔ)器控制器2a和輔助存儲(chǔ)器控制器2b通過連接4通信。存儲(chǔ)器控制器2a和2b每個(gè)有存儲(chǔ)器管理軟件6a、6b以及附屬的存儲(chǔ)器系統(tǒng)8a、8b。存儲(chǔ)器系統(tǒng)8a和8b分別包括卷10a、10b、...、10n和12a、12b、...、12n。存儲(chǔ)器控制器2a、2b可位于彼此相對(duì)靠近的地理區(qū)域,如在同一建筑物中,在同一校園或同一城市中的不同建筑物中等,或者在遠(yuǎn)距離的地理位置,如相距數(shù)千英里的不同大陸等。在存儲(chǔ)器控制器2a、2b之間的連接器4可以包含專線或網(wǎng)絡(luò),如光纜連接、存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)、局域網(wǎng)(LAN)等。替代地,連接4可包含內(nèi)聯(lián)網(wǎng)或因特網(wǎng)。主機(jī)系統(tǒng)10包括可針對(duì)存儲(chǔ)器系統(tǒng)8a、8b進(jìn)行輸入/輸出(I/O)操作的應(yīng)用。
存儲(chǔ)器控制器2a和2b將進(jìn)一步包括處理器組合體(未示出)并可包含本領(lǐng)域已知的任何存儲(chǔ)器控制器或服務(wù)器,如IBM企業(yè)存儲(chǔ)器服務(wù)器(ESS),3990存儲(chǔ)器控制器等(企業(yè)存儲(chǔ)器服務(wù)器是IBM的注冊(cè)商標(biāo))。存儲(chǔ)器系統(tǒng)8a、8b可包含任何存儲(chǔ)器設(shè)備陣列,如單純盤群(Justa Bunch of Disks)(JBOD)、獨(dú)立冗余盤陣列(RAID)、虛擬化設(shè)備等。存儲(chǔ)器管理軟件6a、6b可包括允許對(duì)數(shù)據(jù)建立鏡像和在故障事件時(shí)進(jìn)行數(shù)據(jù)恢復(fù)的代碼,如在IBM PPRC擴(kuò)展距離(XD)程序中包括的代碼,以允許通過較短或較長(zhǎng)的距離進(jìn)行數(shù)據(jù)鏡像。對(duì)IBM PPRC擴(kuò)展距離程序的更詳細(xì)描述見IBM出版文獻(xiàn)“IBM全存儲(chǔ)器企業(yè)存儲(chǔ)器服務(wù)器PPRC擴(kuò)展距離”,其文件號(hào)為SG24-6568-00(IBM)版權(quán),2002年6月),該出版文獻(xiàn)在這里被全文納入作為參考。
存儲(chǔ)器管理軟件6a保持標(biāo)識(shí)卷對(duì)(即源道和相應(yīng)目標(biāo)道)的復(fù)制關(guān)系14信息,這些卷對(duì)被包括在一個(gè)復(fù)制關(guān)系中,使得源卷中的道被鏡像到目標(biāo)卷中的道。為每卷保持位圖16,其中包括該卷中每道對(duì)應(yīng)的一位。用于一個(gè)卷集的位圖中的一位指出對(duì)一道的更新(或要復(fù)制的初始數(shù)據(jù))是否已被復(fù)制到相應(yīng)的目標(biāo)道。進(jìn)一步,同步方式標(biāo)志18指出對(duì)源卷的寫是應(yīng)異步處理(其中在對(duì)輔助存儲(chǔ)器8b應(yīng)用寫操作之前向應(yīng)用返回完成)還是應(yīng)同步處理(其中只在收到對(duì)輔助存儲(chǔ)器8b應(yīng)用了寫操作的確認(rèn)之后才返回完成)。
圖2顯示根據(jù)本發(fā)明的實(shí)現(xiàn)由源管理軟件6a進(jìn)行的操作,以進(jìn)行源卷10a、10b、...、10n中的源卷中的源到目標(biāo)卷12b、12b、...、12n中的相應(yīng)道的初始復(fù)制。當(dāng)在源和目標(biāo)卷之間建立(在塊50)復(fù)制關(guān)系時(shí),如建立對(duì)等復(fù)制關(guān)系時(shí),存儲(chǔ)管理軟件6a把所建立的關(guān)系中源卷卷位圖16中的全部位設(shè)置(在塊52)為“通(on)”——指出這些源道需要被復(fù)制(被同步)到輔助存儲(chǔ)器8b中的目標(biāo)卷12a、12b、...、12m。然后對(duì)所建立的關(guān)系中的每個(gè)源卷i進(jìn)行循環(huán)(在塊54至56)。對(duì)源卷i中的每道j,在塊56至64進(jìn)行內(nèi)部循環(huán)。如果(在塊58)在卷i的位圖16中道j的相應(yīng)位是“通”,則道j被異步復(fù)制(在塊60)到輔助存儲(chǔ)器8b中的相應(yīng)目標(biāo)道。在卷i的位圖16中的道j的位被置為(在塊62)“斷”,指出由這一位代表的源道已被復(fù)制過了。如果(在塊58)在卷i的位圖16中道j的相應(yīng)位是“斷”,則控制進(jìn)入塊64,考慮是否復(fù)制卷i中的下一道。
在處理了代表該關(guān)系中源道的位圖16中全部位之后,如果(在塊68)同步方式標(biāo)志18被置成指出是同步地處理寫操作,則存儲(chǔ)器管理軟件6a確定是否(在塊70)仍有要復(fù)制的道,如在源卷位置16中任何一個(gè)設(shè)置為“通”的位所指出的那樣。如果是,則控制回到塊54去處理全部卷位圖,以復(fù)制任何對(duì)應(yīng)位值為“通”的源道。否則,如果再?zèng)]有要異步復(fù)制的道,則控制結(jié)束,于是完成了同步化。再有,如果(在塊68)同步方式標(biāo)志18指出更新部分被異步復(fù)制,則控制進(jìn)入塊54以繼續(xù)進(jìn)行異步復(fù)制。請(qǐng)注意,根據(jù)圖3的邏輯,當(dāng)在該關(guān)系的卷位圖16中指出的要復(fù)制的道數(shù)低于一個(gè)閾值數(shù)時(shí),同步方式被設(shè)置。
對(duì)于圖2的邏輯,在塊54至56的步驟可以繼續(xù)進(jìn)行,直至同步方式被設(shè)置并且該關(guān)系中的源和目標(biāo)卷被同步,即該關(guān)系中所有卷的位圖都指出再?zèng)]有要復(fù)制的卷了。這一連續(xù)操作可在PPRC XD異步方式下實(shí)現(xiàn),直至源和目標(biāo)卷完全被同步。
圖3顯示由存儲(chǔ)器管理軟件6a進(jìn)行的把同步方式標(biāo)志18設(shè)為“通”的操作。如果當(dāng)前寫方式是異步的,即同步方式標(biāo)志18為“斷”,則存儲(chǔ)器管理軟件6a將在塊80周期性地啟動(dòng)一個(gè)過程。如果(在塊82)在該關(guān)系中的源卷全部位圖16中的全部位的百分?jǐn)?shù)小于一個(gè)閾值百分?jǐn)?shù),則存儲(chǔ)器管理軟件6a發(fā)出(在塊84)一個(gè)或多個(gè)命令,以把剛剛檢測(cè)過的該關(guān)系中全部卷對(duì)的寫方式轉(zhuǎn)換成同步方式。同步方式標(biāo)志18被設(shè)為“通”(在塊86),以指出對(duì)該關(guān)系中源道的新寫入被同步復(fù)制到目標(biāo)道。如果(在塊82)沒有滿足于閾值的條件,則控制結(jié)束。
所描述的實(shí)現(xiàn)通過處理從源到目標(biāo)的異步數(shù)據(jù)復(fù)制使響應(yīng)主機(jī)寫的延遲極小化,從而使得對(duì)主機(jī)4應(yīng)用的寫請(qǐng)求沒有延遲。對(duì)于該關(guān)系中的全部目標(biāo)和源卷對(duì),在已把足夠數(shù)量的源道復(fù)制到輔助存儲(chǔ)器之后,以同步方式處理對(duì)源道的寫入,因?yàn)槿缇砦粓D16中指出的異步復(fù)制道數(shù)被認(rèn)為不足以會(huì)過度延遲同步寫處理過程。這樣,在該關(guān)系中全部卷上的寫個(gè)數(shù)準(zhǔn)備好進(jìn)行同步方式處理之前,沒有任何卷會(huì)受到同步延遲。例如,如果有大量道要異步復(fù)制,如卷位圖16中指出的那樣,則由于要進(jìn)行大量異步寫造成的帶寬和傳輸延遲,同步寫會(huì)被顯著延遲。然而,如果待進(jìn)行異步寫的道數(shù)足夠少,則異步復(fù)制將不會(huì)過度延遲同步寫。何時(shí)切換到對(duì)寫的同步復(fù)制,其判據(jù)值可設(shè)置為如全部源卷中全部道的百分之幾。在另一些實(shí)現(xiàn)中,用作閾值的值可設(shè)為將使初始復(fù)制和響應(yīng)主機(jī)寫請(qǐng)求都達(dá)到最優(yōu)化的經(jīng)驗(yàn)確定值。如果帶寬基本上是由初始復(fù)制操作消耗的話,所描述的實(shí)現(xiàn)將異步復(fù)制對(duì)源道的更新部分,直至要異步復(fù)制的數(shù)據(jù)量已降到不會(huì)過度延遲同步寫的程度的時(shí)候?yàn)橹埂?br>
圖4顯示根據(jù)本發(fā)明的實(shí)現(xiàn)為處理對(duì)源道的更新由存儲(chǔ)器管理軟件6a進(jìn)行的操作。在接收(在塊100)對(duì)一個(gè)復(fù)制關(guān)系中的源道所進(jìn)行的更新時(shí),如果(在塊102)同步方式標(biāo)志18被設(shè)置為“斷”,表明該更新要被異步復(fù)制,則存儲(chǔ)器管理軟件6a(在塊104)把在卷位圖16中與被更新道對(duì)應(yīng)的那一位設(shè)為“通”。當(dāng)其后由存儲(chǔ)器管理軟件6a處理卷位圖16從而異步復(fù)制道(作為圖2描述的操作的一部分)時(shí),被更新的源道將被復(fù)制(在塊106)到相應(yīng)的目標(biāo)道。如果(在塊102)同步方式標(biāo)志18為“通”而且如果(在塊108)與要更新的源道對(duì)應(yīng)的位是“通”,則該相應(yīng)位被設(shè)為“斷”(在塊110)并且該道被同步復(fù)制(在塊112)到輔助存儲(chǔ)器8b中的目標(biāo)道??商娲兀瑥膲K108的“是”分支,控制將結(jié)束,而該更新將在執(zhí)行圖2所示邏輯期間被異步復(fù)制。如果(在塊108)與要更新的源道對(duì)應(yīng)的位是“斷”,則被更新的道將被同步復(fù)制(在塊112)。
在主存儲(chǔ)器8a處發(fā)生故障的情況下,復(fù)制關(guān)系將被中斷,操作將在輔助地點(diǎn)重新開始,包括輔助存儲(chǔ)器控制器2b和存儲(chǔ)器8b。圖5顯示根據(jù)本發(fā)明的實(shí)現(xiàn)在主地點(diǎn)變?yōu)榭捎弥笥纱鎯?chǔ)器管理軟件6a進(jìn)行的重新同步到主存儲(chǔ)器8a的操作。為重新同步到主存儲(chǔ)器8a(在塊150),在輔助存儲(chǔ)器控制器2b,在輔助存儲(chǔ)器8b(作為源)的卷12a、12b、...、12n和主存儲(chǔ)器8a(作為目標(biāo))的卷10a、10b、...、10n之間建立一個(gè)復(fù)制關(guān)系,如對(duì)等復(fù)制關(guān)系(如PPRC)。然后輔助存儲(chǔ)器管理軟件6b將進(jìn)行(在塊154)針對(duì)圖2所描述的操作,把源卷12a、12b、...、12n從輔助存儲(chǔ)器8b(源)復(fù)制到主存儲(chǔ)器8a(目標(biāo))。輔助存儲(chǔ)器控制器2b將進(jìn)一步進(jìn)行(在塊156)圖4的操作,以處理重新同步期間從主機(jī)4對(duì)輔助存儲(chǔ)器8b的任何更新。
當(dāng)主存儲(chǔ)器8a與輔助存儲(chǔ)器8b完全同步時(shí),即卷位圖指出沒有要復(fù)制到目標(biāo)道的源道時(shí),輔助存儲(chǔ)器控制2b將終止(在塊158)主機(jī)對(duì)輔助存儲(chǔ)器8b的訪問并終止(在塊160)輔助存儲(chǔ)器8b(作為源)和主存儲(chǔ)器8a(作為目標(biāo))之間的復(fù)制關(guān)系(卷對(duì))。在主存儲(chǔ)器控制器2a處,主存儲(chǔ)器管理軟件6a將在主存儲(chǔ)器8a和輔助存儲(chǔ)器8b之間建立一個(gè)沒有初始復(fù)制的關(guān)系,這里主存儲(chǔ)器8a是源,輔助存儲(chǔ)器8b是目標(biāo)。然后,主機(jī)4將被重新啟動(dòng)(在塊164)和初始化,使I/O指向主存儲(chǔ)器8a。
所描述的實(shí)現(xiàn)提供的技術(shù)用于處理一個(gè)關(guān)系中的源道到相應(yīng)目標(biāo)道的初始復(fù)制和在初始復(fù)制期間對(duì)源道的更新,從而同時(shí)做到返回道更新完成的延遲極小化和保證輔助復(fù)制的同步。再有,所描述的實(shí)現(xiàn)提供在某一點(diǎn)更新的同步復(fù)制,以保證當(dāng)需要因故障而切換到輔助存儲(chǔ)器時(shí)在輔助存儲(chǔ)器處數(shù)據(jù)的同時(shí)性。
補(bǔ)充的實(shí)現(xiàn)詳情所描述的用于在主地點(diǎn)和輔助地點(diǎn)之間建立數(shù)據(jù)鏡像的技術(shù)可以作為方法、裝置或制造品,通過使用標(biāo)準(zhǔn)的編程和/或工程技術(shù)產(chǎn)生軟件、固件、硬件或它們的任何組合來實(shí)現(xiàn)。如這里所使用的術(shù)語“制造品”是指在硬件邏輯(如集成電路芯片、可編程門陣列(PGA)、專用集成電路(ASIC)等)或計(jì)算機(jī)可讀介質(zhì)中實(shí)現(xiàn)的代碼或邏輯,這里的計(jì)算機(jī)可讀介質(zhì)內(nèi)磁存儲(chǔ)介質(zhì)(如硬盤驅(qū)動(dòng)器、軟盤、磁帶等)、光存儲(chǔ)器(CD-ROM、光盤等)、易失或非易失存儲(chǔ)器設(shè)備(如EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可編程邏輯等)。在計(jì)算機(jī)可讀介質(zhì)中的代碼由處理器組合體訪問和執(zhí)行。用以實(shí)現(xiàn)優(yōu)選實(shí)施例的代碼可進(jìn)一步通過傳輸介質(zhì)或通過網(wǎng)絡(luò)從文件服務(wù)器進(jìn)行訪問。在這些情況中,用以實(shí)現(xiàn)該代碼的制造品可包含傳輸媒介,如網(wǎng)絡(luò)傳輸線、無線傳輸媒介,以及通過空間傳輸?shù)男盘?hào)、無線電波、紅外線信號(hào)等。這樣,“制造品”可包含用于體現(xiàn)該代碼的介質(zhì)。此外,“制造品”可包含用于體現(xiàn)、處理和執(zhí)行該代碼的硬件和軟件部件的組合。當(dāng)然,本領(lǐng)域技術(shù)人員將會(huì)認(rèn)識(shí)到,對(duì)這一配置可做許多修改而不脫離本發(fā)明的范圍,而且該制造品可以包含本領(lǐng)域已知的任何信息承載介質(zhì)。
所描述的實(shí)現(xiàn)是針對(duì)IBM PPRC擴(kuò)展距離計(jì)算環(huán)境進(jìn)行描述的。然而,所描述的用于保持一致性的實(shí)現(xiàn)能被應(yīng)用于在不同于這里描述的其他計(jì)算和銷售環(huán)境中和使用其他數(shù)據(jù)復(fù)制協(xié)議和程序。
在某些實(shí)現(xiàn)中,在源設(shè)備中的數(shù)據(jù)被安排在道和卷中。在另一些系統(tǒng)中,存儲(chǔ)器的數(shù)據(jù)單元可包含不同于道的單元,如塊、子塊等,而且這些數(shù)據(jù)單元可被組合成不同于卷的存儲(chǔ)單元。
在所描述的實(shí)現(xiàn)中,如果要復(fù)制的源道數(shù)量低于某一閾值,如在復(fù)制關(guān)系中包括的全部源道的百分之幾,則啟動(dòng)同步方式復(fù)制對(duì)源道的更新。在另一些實(shí)現(xiàn)中,可以使用另外的閾值。
在所描述的實(shí)現(xiàn)中,位圖被用于指出一個(gè)源道是否需要被復(fù)制到相應(yīng)的目標(biāo)道。在另一些實(shí)現(xiàn)中,本領(lǐng)域已知的任何數(shù)據(jù)結(jié)構(gòu)可用標(biāo)識(shí)在該關(guān)系中要復(fù)制到相應(yīng)目標(biāo)道的源道。
在所描述的實(shí)現(xiàn)中,對(duì)該關(guān)系中涉及的全部卷進(jìn)行同步方式的應(yīng)用。在另一些實(shí)現(xiàn)中,可以逐卷地或以少于全部源卷的某種其他組合來應(yīng)用同步方式,從而可以同步地處理對(duì)某些源卷中一些道的更新,而以異步方式處理對(duì)其他源卷中一些道的更新。在這樣的實(shí)現(xiàn)中,可以逐卷地應(yīng)用閾值以確定何時(shí)對(duì)那個(gè)卷應(yīng)用同步方式。
圖2-5所示邏輯顯示按一定順序發(fā)生的某些事件。在另一些實(shí)現(xiàn)中,某些操作可以以不同的順序進(jìn)行,被修改或去掉。再有,可對(duì)上述邏輯添加步驟而且仍然與所描述的實(shí)現(xiàn)一致。再有,這里描述的操作可以順序地發(fā)生,而某些操作可被并行處理。還有,這些操作可由單個(gè)處理單元進(jìn)行,或者由分布式處理單元進(jìn)行。
圖6顯示由網(wǎng)絡(luò)部件(如圖1中所示存儲(chǔ)控制器和主機(jī))構(gòu)成的計(jì)算機(jī)體系結(jié)構(gòu)200的一個(gè)實(shí)現(xiàn)。體系結(jié)構(gòu)200可包括處理器202(例如微處理器)、存儲(chǔ)器204(例如易失性存儲(chǔ)器設(shè)備)和存儲(chǔ)器206(例如非易失性存儲(chǔ)器,如磁盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器、帶驅(qū)動(dòng)器等)。存儲(chǔ)器206可包含內(nèi)部存儲(chǔ)器設(shè)備或外掛的或網(wǎng)絡(luò)可訪問的存儲(chǔ)器。存儲(chǔ)器206中的程序被加載到存儲(chǔ)器204中并由處理器202執(zhí)行,其操作方式是本領(lǐng)域公知的。該體系結(jié)構(gòu)進(jìn)一步包括網(wǎng)卡208,使能與網(wǎng)絡(luò)通信。輸入設(shè)備210用于提供用戶向處理器202的輸入,可包括鍵盤、鼠標(biāo)、輸入筆、麥克風(fēng)、觸摸敏感顯示屏或本領(lǐng)域公知的任何其他激勵(lì)或輸入機(jī)構(gòu)。輸出設(shè)備212能呈現(xiàn)從處理器202或其部件傳送的信息,這些部件如顯示監(jiān)視器、打印機(jī)、存儲(chǔ)器等。
前面已經(jīng)為了說明和描述的目的展現(xiàn)了對(duì)本發(fā)明的各種實(shí)施例的描述。但并不想把本發(fā)明完全地局限于所公開的精確形式。考慮上述教導(dǎo),許多修改和改變是可能的。本發(fā)明的范圍不是要由這一詳細(xì)描述來限定,而是要由這里所附權(quán)利要求來限定。上文的說明、實(shí)例和數(shù)據(jù)提供了對(duì)本發(fā)明整體的制造和使用的完整描述。由于能做出本發(fā)明的許多實(shí)施例而不脫離本發(fā)明的精神和范圍,本發(fā)明存在于這里所附權(quán)利要求之中。
權(quán)利要求
1.一種為數(shù)據(jù)建立鏡像的方法,包括在主存儲(chǔ)器中的多個(gè)源數(shù)據(jù)單元和輔助存儲(chǔ)器中的多個(gè)相應(yīng)的目標(biāo)數(shù)據(jù)單元之間建立關(guān)系;發(fā)起一個(gè)操作,以進(jìn)行該關(guān)系中全部源數(shù)據(jù)單元向相應(yīng)目標(biāo)數(shù)據(jù)單元的初始復(fù)制;接收對(duì)源數(shù)據(jù)單元的更新;確定是否指出第一寫方式;如果指出第一復(fù)制寫,則以第一寫方式把對(duì)源數(shù)據(jù)單元的更新復(fù)制到相應(yīng)的目標(biāo)數(shù)據(jù)單元;如果沒有指出第一寫方式,則以第二寫方式把對(duì)源數(shù)據(jù)單元的更新復(fù)制到相應(yīng)的目標(biāo)數(shù)據(jù)單元;如果沒有指出第一寫方式,則確定對(duì)屬于該關(guān)系的全部數(shù)據(jù)單元的寫數(shù)目是否低于一個(gè)閾值;以及如果對(duì)屬于該關(guān)系的全部數(shù)據(jù)單元的寫數(shù)目是低于該閾值,則指出第一寫方式。
2.權(quán)利要求1的方法,其中第一寫方式包含同步寫方式,而其中的第二寫方式包含異步寫方式。
3.權(quán)利要求1的方法,其中作為初始復(fù)制的一部分而被復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元的源數(shù)據(jù)單元是以第一寫方式被復(fù)制的。
4.權(quán)利要求1的方法,進(jìn)一步包含提供一個(gè)數(shù)據(jù)結(jié)構(gòu),用于指出要復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元的源數(shù)據(jù)單元;以及在該數(shù)據(jù)結(jié)構(gòu)中指出把全部源數(shù)據(jù)單元復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元,作為以第二寫方式進(jìn)行初始復(fù)制操作的一部分。
5.權(quán)利要求4的方法,進(jìn)一步包含處理該數(shù)據(jù)結(jié)構(gòu),以確定在該數(shù)據(jù)結(jié)構(gòu)中指出的要復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元的源數(shù)據(jù)單元;把所確定的源數(shù)據(jù)單元全部以第二寫方式復(fù)制到相應(yīng)的目標(biāo)數(shù)據(jù)單元,其中以第二寫方式被復(fù)制的對(duì)目標(biāo)數(shù)據(jù)單元的更新被復(fù)制,作為對(duì)所確定的全部源數(shù)據(jù)單元進(jìn)行復(fù)制的一部分。
6.權(quán)利要求5的方法,進(jìn)一步包含響應(yīng)對(duì)更新的接收,如果沒有指出第一寫方式,則在數(shù)據(jù)結(jié)構(gòu)中指出把被更新的源數(shù)據(jù)單元復(fù)制到目標(biāo)數(shù)據(jù)單元。
7.權(quán)利要求5的方法,其中處理數(shù)據(jù)結(jié)構(gòu)和復(fù)制所確定的全部源數(shù)據(jù)單元的步驟一直進(jìn)行到該數(shù)據(jù)結(jié)構(gòu)不指出任何要復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元的任何源數(shù)據(jù)單元時(shí)為止。
8.權(quán)利要求7的方法,其中初始復(fù)制包含第一次進(jìn)行處理該數(shù)據(jù)結(jié)構(gòu)和復(fù)制所確定的全部源數(shù)據(jù)單元的步驟。
9.權(quán)利要求1的方法,其中該關(guān)系中的源和目標(biāo)數(shù)據(jù)單元組成卷對(duì),其中確定對(duì)屬于該關(guān)系的全部數(shù)據(jù)單元的寫數(shù)目是否低于一個(gè)閾值包含確定對(duì)全部卷對(duì)的寫數(shù)目是否低于閾值,其中如果對(duì)屬于該關(guān)系的全部卷對(duì)的寫數(shù)目低于該閾值,則對(duì)該關(guān)系中的全部卷對(duì)指出第一寫方式。
10.權(quán)利要求9的方法,其中確定要復(fù)制的源數(shù)據(jù)單元數(shù)是否少于該閾值數(shù)包含確定指出要被復(fù)制的源數(shù)據(jù)單元數(shù)占該關(guān)系中全部源數(shù)據(jù)單元數(shù)的百分?jǐn)?shù)是否少于閾值數(shù)。
11.一種為數(shù)據(jù)建立鏡像的系統(tǒng),包含一個(gè)主存儲(chǔ)器;一個(gè)輔助存儲(chǔ)器;在主存儲(chǔ)器中的多個(gè)源數(shù)據(jù)單元和輔助存儲(chǔ)器中的多個(gè)相應(yīng)的目標(biāo)數(shù)據(jù)單元之間建立關(guān)系的裝置;發(fā)起一個(gè)操作,以進(jìn)行該關(guān)系中全部源數(shù)據(jù)單元向相應(yīng)目標(biāo)數(shù)據(jù)單元的初始復(fù)制的裝置;接收對(duì)源數(shù)據(jù)單元的更新的裝置;確定是否指出第一寫方式的裝置;如果指出第一復(fù)制寫,則以第一寫方式把對(duì)源數(shù)據(jù)單元的更新復(fù)制到相應(yīng)的目標(biāo)數(shù)據(jù)單元的裝置;如果沒有指出第一寫方式,則以第二寫方式把對(duì)源數(shù)據(jù)單元的更新復(fù)制到相應(yīng)的目標(biāo)數(shù)據(jù)單元的裝置;如果沒有指出第一寫方式,則確定對(duì)屬于該關(guān)系的全部數(shù)據(jù)單元的寫數(shù)目是否低于一個(gè)閾值的裝置;以及如果對(duì)屬于該關(guān)系的全部數(shù)據(jù)單元的寫數(shù)目是低于該閾值,則指出第一寫方式的裝置。
12.權(quán)利要求11的系統(tǒng),其中第一寫方式包含同步寫方式,而其中的第二寫方式包含異步寫方式。
13.權(quán)利要求11的系統(tǒng),進(jìn)一步包含包含一個(gè)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)器;在該數(shù)據(jù)結(jié)構(gòu)中指出要復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元的源數(shù)據(jù)單元的裝置;以及在該數(shù)據(jù)結(jié)構(gòu)中指出把全部源數(shù)據(jù)單元復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元,作為以第二寫方式進(jìn)行初始復(fù)制操作一部分的裝置。
14.權(quán)利要求13的系統(tǒng),進(jìn)一步包含處理該數(shù)據(jù)結(jié)構(gòu)以確定在該數(shù)據(jù)結(jié)構(gòu)中指出的要復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元的源數(shù)據(jù)單元的裝置;把所確定的源數(shù)據(jù)單元全部以第二寫方式復(fù)制到相應(yīng)的目標(biāo)數(shù)據(jù)單元的裝置,其中以第二寫方式被復(fù)制的對(duì)目標(biāo)數(shù)據(jù)單元的更新被復(fù)制,作為對(duì)所確定的全部源數(shù)據(jù)單元進(jìn)行復(fù)制的一部分。
15.權(quán)利要求14的系統(tǒng),進(jìn)一步包含響應(yīng)對(duì)更新的接收,如果沒有指出第一寫方式,則在數(shù)據(jù)結(jié)構(gòu)中指出把被更新的源數(shù)據(jù)單元復(fù)制到目標(biāo)數(shù)據(jù)單元的裝置。
16.權(quán)利要求15的系統(tǒng),其中處理數(shù)據(jù)結(jié)構(gòu)和復(fù)制所確定的全部源數(shù)據(jù)單元的步驟一直進(jìn)行到該數(shù)據(jù)結(jié)構(gòu)中不指出任何要復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元的任何源數(shù)據(jù)單元時(shí)為止。
17.權(quán)利要求14的系統(tǒng),其中該關(guān)系中的源和目標(biāo)數(shù)據(jù)單元組成卷對(duì),其中確定對(duì)屬于該關(guān)系的全部數(shù)據(jù)單元的寫數(shù)目是否低于一個(gè)閾值的裝置確定對(duì)全部卷對(duì)的寫數(shù)目是否低于該閾值,其中如果對(duì)屬于該關(guān)系的全部卷對(duì)的寫數(shù)目低于該閾值,則對(duì)該關(guān)系中的全部卷對(duì)指出第一寫方式。
18.權(quán)利要求17的系統(tǒng),其中確定要復(fù)制的源數(shù)據(jù)單元數(shù)是否少于該閾值數(shù)的裝置確定指出要被復(fù)制的源數(shù)據(jù)單元數(shù)占該關(guān)系中全部源數(shù)據(jù)單元數(shù)的百分?jǐn)?shù)是否少于閾值數(shù)。
19.一種用于在主存儲(chǔ)器和輔助存儲(chǔ)器之間進(jìn)行數(shù)據(jù)鏡像的制造品,其中該制造品使得一些操作被執(zhí)行,所述操作包含在主存儲(chǔ)器中的多個(gè)源數(shù)據(jù)單元和輔助存儲(chǔ)器中的多個(gè)相應(yīng)的目標(biāo)數(shù)據(jù)單元之間建立關(guān)系;發(fā)起一個(gè)操作,以進(jìn)行該關(guān)系中全部源數(shù)據(jù)單元向相應(yīng)目標(biāo)數(shù)據(jù)單元的初始復(fù)制;接收對(duì)源數(shù)據(jù)單元的更新;確定是否指出第一寫方式;如果指出第一復(fù)制寫,則以第一寫方式把對(duì)源數(shù)據(jù)單元的更新復(fù)制到相應(yīng)的目標(biāo)數(shù)據(jù)單元;如果沒有指出第一寫方式,則以第二寫方式把對(duì)源數(shù)據(jù)單元的更新復(fù)制到相應(yīng)的目標(biāo)數(shù)據(jù)單元;如果沒有指出第一寫方式,則確定對(duì)屬于該關(guān)系的全部數(shù)據(jù)單元的寫數(shù)目是否低于一個(gè)閾值;以及如果對(duì)屬于該關(guān)系的全部數(shù)據(jù)單元的寫數(shù)目是低于該閾值,則指出第一寫方式。
20.權(quán)利要求19的制造品,其中第一寫方式包含同步寫方式,而其中的第二寫方式包含異步寫方式。
21.權(quán)利要求19的制造品,其中作為初始復(fù)制的一部分而被復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元的源數(shù)據(jù)單元是以第一寫方式被復(fù)制的。
22.權(quán)利要求19的制造品,其中這些操作進(jìn)一步包含提供一個(gè)數(shù)據(jù)結(jié)構(gòu),用于指出要復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元的源數(shù)據(jù)單元;以及在該數(shù)據(jù)結(jié)構(gòu)中指出把全部源數(shù)據(jù)單元復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元,作為以第二寫方式進(jìn)行初始復(fù)制操作的一部分。
23.權(quán)利要求22的制造品,其中所述操作進(jìn)一步包含處理該數(shù)據(jù)結(jié)構(gòu),以確定在該數(shù)據(jù)結(jié)構(gòu)中指出的要復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元的源數(shù)據(jù)單元;把所確定的源數(shù)據(jù)單元全部以第二寫方式復(fù)制到相應(yīng)的目標(biāo)數(shù)據(jù)單元,其中以第二寫方式被復(fù)制的對(duì)目標(biāo)數(shù)據(jù)單元的更新被復(fù)制,作為對(duì)所確定的全部源數(shù)據(jù)單元進(jìn)行復(fù)制的一部分。
24.權(quán)利要求23的制造品,其中所述操作進(jìn)一步包含響應(yīng)對(duì)更新的接收,如果沒有指出第一寫方式,則在數(shù)據(jù)結(jié)構(gòu)中指出把被更新的源數(shù)據(jù)單元復(fù)制到目標(biāo)數(shù)據(jù)單元。
25.權(quán)利要求23的制造品,其中處理數(shù)據(jù)結(jié)構(gòu)和復(fù)制所確定的全部源數(shù)據(jù)單元的步驟一直進(jìn)行到該數(shù)據(jù)結(jié)構(gòu)中不指出任何要復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元的任何源數(shù)據(jù)單元時(shí)為止。
26.權(quán)利要求25的制造品,其中初始復(fù)制包含第一次進(jìn)行處理該數(shù)據(jù)結(jié)構(gòu)和復(fù)制所確定的全部源數(shù)據(jù)單元的步驟。
27.權(quán)利要求19的制造品,其中該關(guān)系中的源和目標(biāo)數(shù)據(jù)單元組成卷對(duì),其中確定對(duì)屬于該關(guān)系的全部數(shù)據(jù)單元的寫數(shù)目是否低于一個(gè)閾值包含確定對(duì)全部卷對(duì)的寫數(shù)目是否低于該閾值,其中如果對(duì)屬于該關(guān)系的全部卷對(duì)的寫數(shù)目低于該閾值,則對(duì)該關(guān)系中的全部卷對(duì)指出第一寫方式。
28.權(quán)利要求27的制造品,其中確定要復(fù)制的源數(shù)據(jù)單元數(shù)是否少于該閾值數(shù)包含確定指出要被復(fù)制的源數(shù)據(jù)單元數(shù)占該關(guān)系中全部源數(shù)據(jù)單元數(shù)的百分?jǐn)?shù)是否少于閾值數(shù)。
全文摘要
提供了為數(shù)據(jù)建立鏡像的方法、系統(tǒng)和程序。在主存儲(chǔ)器中的多個(gè)源數(shù)據(jù)單元和輔助存儲(chǔ)器中的多個(gè)相應(yīng)的目標(biāo)數(shù)據(jù)單元之間建立關(guān)系。發(fā)起一個(gè)操作以進(jìn)行該關(guān)系中全部源數(shù)據(jù)單元到相應(yīng)目標(biāo)數(shù)據(jù)單元的初始復(fù)制。接收對(duì)源數(shù)據(jù)的更新并確定是否指出第一寫方式。如果指出第一復(fù)制寫,則以第一寫方式把對(duì)源數(shù)據(jù)單元的更新復(fù)制相應(yīng)目標(biāo)數(shù)據(jù)單元。否則,如果沒有指出第一寫方式,則以第二寫方式把對(duì)源數(shù)據(jù)單元的更新復(fù)制到相應(yīng)目標(biāo)數(shù)據(jù)單元。如果沒有指出第一寫方式,則確定對(duì)屬于該關(guān)系的全部數(shù)據(jù)單元的寫數(shù)目是否低于一個(gè)閾值,如果對(duì)屬于該關(guān)系的全部數(shù)據(jù)單元的寫數(shù)目是低于該閾值,則指出第一寫方式。
文檔編號(hào)H04L29/08GK1591344SQ20041004906
公開日2005年3月9日 申請(qǐng)日期2004年6月11日 優(yōu)先權(quán)日2003年6月18日
發(fā)明者布倫特·卡梅隆·比爾茲利, 威廉·弗蘭克·米克卡 申請(qǐng)人:國際商業(yè)機(jī)器公司