專利名稱:將源數據遷移成目標數據的方法、系統(tǒng)和程序的制作方法
技術領域:
本發(fā)明涉及將源數據遷移成目標數據的方法、系統(tǒng)和程序。
背景技術:
為了建立和維護數據的鏡像拷貝或將數據轉移到目標位置的新位置,例如數據庫文件、目錄或任何數據組合的存儲元素可以從源存儲位置遷移到目標存儲位置,其中遷移后數據將從該目標位置訪問。例如在線或商業(yè)數據庫系統(tǒng)的轉移的許多大規(guī)模的數據轉移會花費大量的時間以便在網絡上遷移。而且,在遷移過程中,系統(tǒng)會需要允許事務處理繼續(xù)。各種硬件和軟件解決方案提供了在數據被遷移時向源和目標位置都傳送更新的機制。遷移操作通常包括對源數據的讀請求和然后向目標發(fā)出寫請求。遷移系統(tǒng)必須解決潛在能發(fā)生在當發(fā)起從應用到源數據的寫請求時,源數據正在被遷移成目標數據的沖突。例如,當舊的源數據正在寫入時如果接收到新的源數據,那么新的源數據就可能沒有遷移到目標位置。
一個已知的這個潛在沖突的解決方案是串行化訪問源數據,直到應用數據的寫或遷移完成,以至在未完成的寫或遷移完成之前,任何干涉的應用寫和遷移的操作都不允許發(fā)生。這延遲了向等待被當前寫或遷移操作釋放的鎖的請求返回完成。這樣,串行化防止了在源數據完成到目標數據的寫之前當數據正在遷移時執(zhí)行對源數據的寫。而且,如果塊發(fā)生了更新,那么就延遲對同一塊的遷移操作直到更新完成。與串行化有關的延遲能減慢對源數據寫操作和將源數據遷移成目標數據的執(zhí)行。
發(fā)明內容
提供了將源數據遷移成目標數據的方法、系統(tǒng)和程序。接收用于將應用數據寫到還沒有遷移成目標數據的源數據中的寫請求。為寫請求產生指示應用數據要寫入的源數據的信息。將應用數據寫入到源數據。接收將源數據遷移成目標數據的請求并且響應確定出所請求的要遷移的源數據與所產生的用于一個寫請求的信息中指示的源數據重疊而返回重試遷移請求的指示。
現在參考附圖,其中相同的標號在所有附圖中都表示對應部分。
圖1說明實施方式實現于的計算環(huán)境;圖2說明在干涉的寫中維護的信息;圖3說明處理到要遷移源數據的寫請求的操作;圖4說明遷移數據的操作;圖5說明當遷移數據時使用的讀緩沖區(qū);及圖6說明處理遷移請求的操作。
具體實施例方式
在下面描述中,參考組成本發(fā)明的一部分并且說明了本發(fā)明的幾個實施方式的附圖。應當理解,可以利用其它實施方式并且可以做結構的和操作的改變而不背離本發(fā)明的范圍。
圖1說明了包括存貯器4的計算系統(tǒng)2。在計算機2中的進程和線程在內核地址空間6或用戶地址空間8中執(zhí)行,其中在內核地址空間8中執(zhí)行的進程可以比那些在用戶地址空間8中執(zhí)行的進程以更高優(yōu)先級執(zhí)行。文件系統(tǒng)管理器10在內核地址空間6中執(zhí)行以處理由在用戶地址空間8中執(zhí)行的遷移管理器12和應用14發(fā)出的讀和寫的請求。遷移管理器12發(fā)起從源存儲18遷移源數據16中的塊到目標存儲22中目標數據20中的塊的操作。文件系統(tǒng)管理器10在調用遷移操作的命令下執(zhí)行遷移功能24來完成由遷移管理器12指定的數據的遷移操作。
源存儲18和目標存儲22可以在同一個存儲設備或系統(tǒng)中,或在分離的存儲設備或系統(tǒng)中實現。源存儲18和目標存儲22可以包含任何本領域已知的存儲設備,這樣一個存儲設備或多個相互連接的設備,例如盤驅動器,配置成獨立盤冗余陣列(RAID)、簡單盤集群(JBOD)、直接訪問存儲設備(DASD)、帶存儲設備、例如帶庫的單一或多個存儲單元等。計算機2通過連接26a和26b連接到源存儲18和目標存儲22。連接26a和26b可以包括任何本領域已知的存儲和主機間的接口,比如網絡連接(例如以太網、無線網、光纖信道等)或任何其它本領域已知的數據傳送接口,比如高級技術附加設備(ATA)、串行ATA(SATA)、小型計算機系統(tǒng)接口(SCSI)等,它們對主機2可以是外部的或內部的。
遷移圖28提供了源數據16中的數據單元怎樣對應到目標數據20中的單元的信息,使得源數據單元轉移到在遷移圖28中指示的相應的目標數據單元。遷移管理器12使用遷移圖28來確定將收到被遷移的源數據單元的目標數據單元。源數據16可以包括數據庫、大文件、數據集、邏輯目錄、邏輯卷、文件系統(tǒng)、程序、多媒體文件等。
干涉寫列表30包括每個從應用14接收的對作為由遷移管理器12發(fā)起的數據遷移操作的一部分正在遷移到目標數據20的源數據16單元的寫請求的條目。圖2說明了干涉寫列表30中的條目50中為來自應用14的寫請求維護的信息。條目50包括指示要對其進行寫的源數據16的開始的源起始地址52和寫的字節(jié)長度54,其中開始52和長度54指示在將更新的源數據16中請求的數據或單元。狀態(tài)域56指示寫請求未完成還是已經完成。
圖3說明由文件系統(tǒng)管理器10完成的處理對會從一個應用14遷移的源數據16的寫請求的操作。圖3中的操作可以通過文件系統(tǒng)管理器10執(zhí)行遷移功能24來實現,其中遷移功能24在執(zhí)行源數據經受遷移模式的操作時由文件系統(tǒng)管理器10調用。當從應用14接收到(在塊100)的對源數據16的寫請求時,如果(在塊102)寫數據不與任何在遷移圖28中指示為沒有遷移的源數據重疊,那么文件系統(tǒng)管理器10寫(在塊104)接收到的數據到源數據16和相應的目標數據20。否則如果來自應用14的寫數據與遷移圖28中指示為還沒有遷移的源數據16重疊,那么文件系統(tǒng)管理器10為接收到的寫請求增加(在塊106)條目50(圖2)到干涉寫列表30,指示要寫的請求的源數據,即,要寫入的數據的源開始52和字節(jié)長度54的數據,還有初始為未完成的狀態(tài)56。接收到的數據被寫(在塊108)到源數據16并且響應對源數據16的寫數據的完成,干涉寫列表30中的條目50的狀態(tài)56,即干涉應用寫請求的信息,被設置為(在塊110)完成。
圖4說明了由遷移管理器12執(zhí)行的實現遷移操作的操作。當發(fā)起(在塊150)將源數據遷移成目標數據的操作時,遷移管理器12處理(在塊152)遷移圖28來確定源數據16的遷移到相應的目標數據20的一個或多個單元。遷移管理器12發(fā)出(在塊154)使文件系統(tǒng)管理器10從源數據16遷移確定的單元到相應的目標數據20的遷移請求。當接收到對遷移請求(在塊156)的響應時,如果(在塊158)遷移成功,那么遷移管理器12更新(在塊160)遷移圖28來指示源數據單元已被寫并且成功地遷移到相應的目標數據20。當遷移(在塊158)不成功,那么確定(在塊162)是否應該重試遷移。如果是,控制返回到塊154來重新為沒有成功遷移的源數據16發(fā)出遷移請求。否則,如果遷移沒有重試,那么執(zhí)行(在塊164)任何其它的錯誤處理。
在某些實施方式中,遷移管理器12可以通過提交讀命令和例如圖5中讀緩沖區(qū)170的讀緩沖區(qū)到文件系統(tǒng)管理器10發(fā)起遷移操作。在提交讀緩沖區(qū)時,遷移管理器12會提交指針到讀緩沖區(qū)170。文件系統(tǒng)管理器10執(zhí)行管理器功能24來處理來自遷移管理器12的讀作為用于讀取請求的源數據16和將讀取的源數據寫到相應的目標存儲22中的目標數據20中的特定遷移命令。遷移管理器12開始可以通過例如IOCTL的帶外機制警告文件系統(tǒng)管理器10某個數據或存儲處于遷移狀態(tài)。IOCTL可以指定表示要遷移的設備或數據的打開文件描述符和由文件系統(tǒng)管理器10在當I/O命令中聲明有源存儲18或源數據16時執(zhí)行以遷移數據的遷移功能24。
管理器功能24可以通過返回指示遷移管理器12提供的讀緩沖區(qū)170(圖5)沒有包括所有請求的數據的對來自遷移管理器12的讀的響應,指示遷移操作沒有完成。為了使遷移管理器12重試遷移操作,遷移功能24可以放置指示遷移管理器12重試遷移操作的遷移重試代碼172到遷移管理器12提供的讀緩沖區(qū)170中。這樣,遷移功能24通過提供指示不是所有請求的數據都包括在讀緩沖區(qū)170中和在讀緩沖區(qū)170中包含遷移重試代碼172的信息的組合,向遷移管理器12指示重試遷移操作。遷移功能24可以通過重寫遷移重試代碼172所在的位置和在讀緩沖區(qū)170中寫入任何其它識別的錯誤代碼,在讀緩沖區(qū)170中提供不同的錯誤代碼。這樣,遷移管理器12當得到讀取沒有完成的通知時,可以尋找遷移重試代碼172或其它錯誤代碼來處理。
圖6說明了在文件系統(tǒng)管理器10調用以處理可以由來自遷移管理器12的讀請求發(fā)起的遷移請求的遷移功能24中編碼的操作。這個讀請求可以指示要遷移的源數據16,也可以指示在遷移圖28中指示的在哪里寫入源數據16的相應的目標數據20??蛇x地,遷移功能24可以處理遷移圖28來確定指示的源數據16要遷移到的相應的目標數據20。遷移功能24處理(在塊200)來自遷移管理器12到要遷移的源數據16的遷移請求。在某些實施方式中,這個請求可以包括帶有讀緩沖區(qū)170的到要遷移的源數據16的讀請求。如果(在塊202)被請求的要遷移的源數據16與具有未完成狀態(tài)56的干涉寫列表30中的任何條目50(圖2)重疊,那么遷移功能24返回(在塊204)指示重試讀操作的響應。在某些實施方式中,重試請求可以通過把遷移重試代碼172編碼到讀緩沖區(qū)170并返回指示少于所有請求的數據寫入到讀緩沖區(qū)170的消息來實現。這將保證遷移的源數據16是該數據最當前的版本并且源數據是在任何較新的應用數據應用后遷移的。
如果(在塊202)源數據16沒有與任何從應用14寫入到源數據16的數據重疊,如干涉寫列表30中的條目50所指示的,那么源數據16寫(在塊206)到遷移圖28指示的相應的目標數據20位置。如果(在塊208)要遷移的源數據16與干涉寫列表30中的任何條目重疊,不管狀態(tài)56(圖2)如何,即是未完成或完成,那么重試遷移,因為有可能當遷移發(fā)生時,從應用14到遷移的源數據16的未完成寫請求未完成或已完成。遷移功能24或一些其它處理然后通過在具有完成狀態(tài)56的干涉寫列表30上去除(在塊210)所有的條目對干涉寫列表30執(zhí)行清除操作。遷移功能24進行到塊204來重試讀操作(如,通過把遷移重 試代碼編碼到讀緩沖區(qū)并且返回指示少于所有的數據寫入到了讀緩沖區(qū)的消息。)響應重試讀取操作去除(在塊210)完成的條目,因為較早完成的干涉寫請求不會引起沖突或者寫入與重試的遷移操作不一致的數據。
如果(在塊208)寫入的源數據16沒有與來自干涉寫列表30中指示的應用14的任何寫請求重疊,那么遷移成功并且遷移功能24(或者一些其它進程)去除(在塊212)干涉寫列表30中具有完成狀態(tài)56(圖2)的所有條目50并且也去除在遷移圖28中在寫入的源數據之前寫入數據的那些條目50。遷移功能24然后給遷移請求返回(在塊214)完成。在以讀請求發(fā)起遷移請求的實施方式中,遷移功能24會給遷移管理器12返回指示讀緩沖區(qū)170包括所有請求的數據的響應。
按照所述的實施方式,當遷移數據時不需要鎖,以至于從應用14的寫或從遷移管理器12到有遷移關系的源數據16的遷移操作被允許不使用鎖或串行化來完成。這樣避免了對應用寫請求和遷移操作的延遲,這種延遲在使用鎖和串行化時會發(fā)生。代替使用鎖和串行化,使用某些所述的操作,如果有可能來自應用14的干涉寫請求會導致沖突或不一致數據的遷移,那么重試遷移操作。
其它實施方式細節(jié)所述的操作可以作為方法、裝置或使用標準的編程和/或工程技術產生軟件、固件、硬件或其任何組合的制品來實現。在這里使用的術語“制品”指在硬件邏輯(例如集成電路芯片、可編程門陣列(PGA)、專用集成電路(ASIC)等)或例如磁存儲介質(例如硬盤驅動器、軟盤、帶等)、光存儲(CD-ROM、光盤等)、易失性和非易失性存貯器設備(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件和可編程邏輯等)的計算機可讀介質中實現的代碼或邏輯。在計算機可讀介質中的代碼是通過處理器訪問和執(zhí)行的。優(yōu)選實施方式以其實現的代碼可以進一步通過傳輸介質或通過網絡從文件服務器訪問。在這種情況下,實現代碼的制品可以包括傳輸介質,例如網絡傳輸線、無線傳輸介質、通過空間傳播的信號、無線電波和紅外線信號等。這樣,“制品”可以包括代碼所嵌入的介質。另外,“制品”可以包括硬件和包含、處理和執(zhí)行代碼的軟件組件的組合。當然,本領域技術人員將認識到在不背離本發(fā)明范圍的情況下可以對這種配置進行許多修改,并且制品可以包括本領域已知的任何信息承載介質。
所述的操作可以通過電路完成,其中“電路”指硬件或者軟件或者它們的組合。用于執(zhí)行所述實施方式的操作的電路可以包括硬件設備,比如集成電路芯片、可編程門陣列(PGA)和專用集成電路(ASIC)等。電路也可以包括例如集成電路的處理器組件和在例如存貯器的計算機可讀介質中的代碼,其中代碼由處理器執(zhí)行,以執(zhí)行所述實施方式的操作。
在某些實施方式中,操作描述為由組件完成,組件例如文件系統(tǒng)管理器10、遷移功能24和遷移管理器12。在可選的實施方式中,所述操作可以由與所述的或附加的組件不同的組件完成。而且,描述為由在內核空間10或用戶空間8中的組件執(zhí)行的操作可以在具有與所述不同的優(yōu)先級的不同的地址空間中執(zhí)行。
圖3、4和6說明的操作顯示了特定的事件以特定的順序發(fā)生。在可選的實施方式中,某些操作可以以不同的順序執(zhí)行、修改或去除。而且,可以在上述邏輯中加入步驟并且仍然符合所述的實施方式。而且,這里所述的操作可以順序地發(fā)生或某些操作可以并行地處理。更進一步,操作可以由單一的處理單元或分布的處理單元執(zhí)行。
上述本發(fā)明的各種實施方式的說明的提出是為了說明和描述。它不打算是窮盡的或者要將本發(fā)明限制所公開的精確形式。根據上述教義,可能有許多修改和變化。本發(fā)明的范圍不打算是由該具體描述而是由其所附權利要求限定的。上述說明、例子和數據提供了制造和使用本發(fā)明的構成的完全描述。由于在不背離本發(fā)明的主旨和范圍的情況下可以作出本發(fā)明的許多實施方式,因此本發(fā)明在于下文所附的權利要求。
為避免疑問,在此貫穿說明書和權利要求書使用的術語“包括”不是要解釋成意思“只包括”。
權利要求
1.一種將源數據遷移成目標數據的方法,包括接收用于將應用數據寫到還沒有遷移成目標數據的源數據中的寫請求;產生指示應用數據要寫入的源數據的用于該寫請求的信息;將應用數據寫到源數據中;接收用于將源數據遷移成目標數據的請求;并且響應確定出所請求的要遷移的源數據與所產生的用于一個寫請求的信息中指示的源數據重疊,返回重試遷移請求的指示。
2.如權利要求1所述的方法,其中用于寫應用數據的寫請求來自應用并且遷移請求來自遷移程序。
3.如權利要求2所述的方法,其中應用和遷移程序在用戶地址空間執(zhí)行,并且其中所述接收寫請求、產生信息、寫所請求的數據、確定重疊和返回重試指示的步驟是由內核地址空間中執(zhí)行的至少一個進程執(zhí)行的。
4.如權利要求1、2或3所述的方法,其中所產生的用于一個寫請求的信息將應用數據的寫狀態(tài)指示為未完成或者完成,其中重試指示在將要遷移的源數據被轉移為目標數據之前并且響應確定出所請求的要遷移的源數據與所產生的用于一個具有未完成狀態(tài)的寫請求的信息中指示的源數據重疊而返回。
5.如前面任何一項權利要求所述的方法,其中所產生的用于一個寫請求的信息將寫狀態(tài)指示為未完成或者完成,其中重試指示在要遷移的源數據被轉移為目標數據之后并且響應確定出所請求的要遷移的源數據與所產生的用于一個具有未完成或完成狀態(tài)的寫請求的信息中指示的源數據重疊而返回。
6.如權利要求5所述的方法,進一步包括響應將應用數據寫到所產生的用于寫請求的信息中指示的源數據中,將所產生的用于一個寫請求的信息中的狀態(tài)設置為完成;其中為該寫請求將應用數據寫到源數據中和響應遷移請求將源數據遷移成目標數據的操作是相互獨立發(fā)生的。
7.如前面任何一項權利要求所述的方法,其中重試指示在將要遷移的源數據轉移成目標數據之前和將要遷移的源數據轉移成目標數據之后響應確定出所請求的要遷移的源數據與所產生的用于一個寫的信息中指示的源數據重疊而返回。
8.如前面任何一項權利要求所述的方法,其中所產生的信息將寫狀態(tài)指示為未完成或者完成,所述方法進一步包括在將源數據遷移成目標數據之后,去除所產生的用于具有完成狀態(tài)的寫請求的信息。
9.如權利要求8所述的方法,進一步包括響應將要遷移的源數據寫到目標數據中,去除所產生的用于對所述要遷移的源數據之前的源數據的寫請求的信息。
10.如前面任何一項權利要求所述的方法,其中返回重試遷移請求的指示包括在對遷移請求的響應中指示請求沒有完成;并且在響應中包括指示重試遷移請求的重試代碼。
11.如權利要求10所述的方法,其中遷移請求包括來自提供讀緩沖區(qū)的遷移進程的讀請求,并且其中在響應中指示遷移請求沒有完成包括指示不是所有請求的數據都包括在讀緩沖區(qū)中,并且其中重試代碼包含在響應讀請求而返回的讀緩沖區(qū)中的預定位置。
12.一種將源數據遷移成目標數據的系統(tǒng),包括源存儲位置;目標存儲位置;存貯器;能夠與源和目標存儲位置和存貯器通信的電路,其中電路能夠執(zhí)行(i)接收用于將應用數據寫到還沒有遷移成目標數據的源數據中的寫請求;(ii)在存貯器中產生指示應用數據要寫入的源數據的用于寫請求的信息;(iii)將應用數據寫到源存儲位置處的源數據中;(iv)接收將源數據遷移成目標存儲位置處的目標數據的請求;以及(v)響應確定出所請求的要遷移的源數據與所產生的用于一個寫請求的信息中指示的源數據重疊,返回重試遷移請求的指示。
13.如權利要求12所述的系統(tǒng),其中用于寫應用數據的寫請求來自應用并且遷移請求來自遷移程序。
14.如權利要求13所述的系統(tǒng),其中電路進一步能夠執(zhí)行產生用戶地址空間和內核地址空間,其中應用和遷移程序在用戶地址空間執(zhí)行,并且其中所述接收寫請求、產生信息、寫所請求的數據、確定重疊和返回重試指示的步驟是由內核地址空間中執(zhí)行的至少一個進程執(zhí)行的。
15.如權利要求12、13或14所述的系統(tǒng),其中所產生的用于一個寫請求的信息將應用數據的寫狀態(tài)指示為未完成或者完成,其中重試指示在要遷移的源數據被轉移成目標數據之前并且響應確定出所請求的要遷移的源數據與所產生的用于一個具有未完成狀態(tài)的寫請求的信息中指示的源數據重疊而返回。
16.如權利要求12、13、14或15所述的系統(tǒng),其中所產生的用于一個寫請求的信息將寫狀態(tài)指示為未完成或者完成,其中重試指示在要遷移的源數據被轉移成目標數據之后并且響應確定出所請求的要遷移的源數據與所產生的用于一個具有未完成或完成狀態(tài)的寫請求的信息中指示的源數據重疊而返回。
17.如權利要求16所述的系統(tǒng),其中電路進一步能夠執(zhí)行響應將應用數據寫到所產生的用于寫請求的信息中指示的源數據中,設置所產生的用于一個寫請求的信息中的狀態(tài)為完成,其中為寫請求將應用數據寫到源數據中和響應遷移請求將源數據遷移成目標數據的操作是相互獨立地發(fā)生的。
18.如權利要求12至17任何一項所述的系統(tǒng),其中重試指示在將要遷移的源數據轉移成目標數據之前和將要遷移的源數據轉移成目標數據之后響應確定出所請求的要遷移的源數據與在所產生的用于一個寫的信息中指示的源數據重疊而返回。
19.如權利要求12至18任何一項所述的系統(tǒng),其中產生的信息將寫狀態(tài)指示為未完成或者完成,其中電路進一步能夠完成在將源數據遷移成目標數據之后,去除所產生的用于具有完成狀態(tài)的寫請求的信息。
20.如權利要求19所述的系統(tǒng),其中電路進一步能夠執(zhí)行響應將要遷移的源數據寫到目標數據中,去除所產生的用于對所述要遷移的源數據之前的源數據的寫請求的信息。
21.如權利要求12至20任何一項所述的系統(tǒng),其中返回重試遷移請求的指示包括在對遷移請求的響應中指示請求沒有完成;并且在響應中包括指示重試遷移請求的重試代碼。
22.如權利要求21所述的系統(tǒng),其中遷移請求包括來自提供讀緩沖區(qū)的遷移進程的讀請求,并且其中在響應中指示遷移請求沒有完成包括指示不是所有請求的數據被包括在讀緩沖區(qū)中,并且其中重試代碼包含在響應讀請求而返回的讀緩沖區(qū)中的預定位置。
23.一種用于將源數據遷移成目標數據的制品,其中該制品使得執(zhí)行操作,所述操作包括接收將應用數據寫到還沒有遷移成目標數據的源數據中的寫請求;產生指示應用數據要寫入的源數據的用于寫請求的信息;將應用數據寫到源數據中;接收將源數據遷移成目標數據的請求;并且響應確定出所請求的要遷移的源數據與所產生的用于一個寫請求的信息中指示的源數據重疊,返回重試遷移請求的指示。
24.如權利要求23所述的制品,其中用于寫應用數據的寫請求來自應用并且遷移請求來自遷移程序。
25.如權利要求24所述的制品,其中應用和遷移程序在用戶地址空間執(zhí)行并且其中所述接收寫請求、產生信息、寫所請求的數據、確定重疊和返回重試指示的步驟是由內核地址空間中執(zhí)行的至少一個進程執(zhí)行的。
26.如權利要求23、24或25所述的制品,其中所產生的用于一個寫請求的信息將應用數據的寫狀態(tài)指示為未完成或者完成,其中重試指示在要遷移的源數據被轉移成目標數據之前并且響應確定出所請求的要遷移的源數據與產生的用于一個具有未完成狀態(tài)的寫請求的信息中指示的源數據重疊而返回。
27.如權利要求23至26任何一項所述的制品,其中所產生的用于一個寫請求的信息將寫狀態(tài)指示為未完成或者完成,其中重試指示在要遷移的源數據被轉移成目標數據之后并且響應確定出所請求的要遷移的源數據與所產生的用于一個具有未完成或完成狀態(tài)的寫請求的信息中指示的源數據重疊而返回。
28.如權利要求27所述的制品,其中操作進一步包括響應將應用數據寫到產生的用于寫請求的信息中指示的源數據,設置所產生的用于一個寫請求的信息中的狀態(tài)為完成;其中為寫請求將應用數據寫到源數據中和響應遷移請求將源數據遷移成目標數據的操作是相互獨立發(fā)生的。
29.如權利要求23至28任何一項所述的制品,其中重試指示在所請求的要遷移的源數據被轉移成目標數據之前和將要遷移的源數據轉移成目標數據之后響應確定出所請求的要遷移的源數據與所產生的用于一個寫的信息中指示的源數據重疊而返回。
30.如權利要求23至29任何一項所述的制品,其中產生的信息將寫狀態(tài)指示為未完成或者完成,其中操作進一步包括在將源數據遷移成目標數據之后,去除所產生的用于具有完成狀態(tài)的寫請求的信息。
31.如權利要求30所述的制品,其中操作進一步包括響應將要遷移的源數據寫到目標數據中,去除所產生的用于對所述要遷移的源數據之前的源數據的寫請求的信息。
32.如權利要求23至31任何一項所述的制品,其中返回重試遷移請求的指示包括在對遷移請求的響應中指示請求沒有完成;并且在響應中包括指示重試遷移請求的重試代碼。
33.如權利要求32所述的制品,其中遷移請求包括來自提供讀緩沖區(qū)的遷移進程的讀請求,并且其中在響應中指示遷移請求沒有完成包括指示不是所有請求的數據都被包括在讀緩沖區(qū)中,并且其中重試代碼包含在響應讀請求而返回的讀緩沖區(qū)中的預定位置。
全文摘要
提供了將源數據遷移成目標數據的方法、系統(tǒng)和程序。接收將應用數據寫到還沒有遷移成目標數據的源數據的寫請求。產生指示應用數據要寫入的源數據的用于寫請求的信息。應用數據寫入到源數據中。接收將源數據遷移成目標數據的請求并且響應確定出所請求的要遷移的源數據與所產生的用于一個寫請求的信息中指示的源數據重疊,返回重試遷移請求的指示。
文檔編號G06F11/20GK1934568SQ200580008004
公開日2007年3月21日 申請日期2005年5月10日 優(yōu)先權日2004年6月10日
發(fā)明者克里斯多弗·約漢·斯塔庫蒂斯, 威廉·羅伯特·哈塞爾頓 申請人:國際商業(yè)機器公司