專利名稱:數(shù)據(jù)遷移方法、系統(tǒng)、數(shù)據(jù)遷移服務器及數(shù)據(jù)接口服務器的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)遷移技術領域,特別涉及數(shù)據(jù)遷移方法、系統(tǒng)、數(shù)據(jù)遷 移服務器及數(shù)據(jù)接口服務器。
背景技術:
數(shù)據(jù)遷移是指數(shù)據(jù)從一種媒質轉換為另外一種媒質或者從一種格式轉 換為另外一種格式的過程,例如將一塊硬盤的數(shù)據(jù)轉移到另一塊硬盤中,或
者將WORD格式文件轉換為PDF格式文件等。對于單個數(shù)據(jù)來說,遷移的 過程中,被遷移的數(shù)據(jù)是無法被使用的,只有當數(shù)據(jù)遷移完成后,該數(shù)據(jù)才 可以祐 沐問或》多改。
受當前的技術限制,目前一般數(shù)據(jù)遷移的速度還不夠理想,尤其是海量 數(shù)據(jù)的遷移,例如將數(shù)據(jù)庫中的大量數(shù)據(jù)遷移到另一數(shù)據(jù)庫中,由于數(shù)據(jù)的 數(shù)量巨大,完成全部數(shù)據(jù)的遷移很可能需要數(shù)天甚至數(shù)周的時間,在這期間, 如果用戶對原數(shù)據(jù)庫的某個數(shù)據(jù)進行了寫入或修改的操作,而該數(shù)據(jù)已經(jīng)遷 移完成,那么全部數(shù)據(jù)遷移至新數(shù)據(jù)庫中后,在新數(shù)據(jù)庫中的該數(shù)據(jù)將仍保 持用戶操作前的狀態(tài),不會反映用戶的操作,造成用戶操作失效。因此,現(xiàn) 有的數(shù)據(jù)遷移方法中, 一般都要求在數(shù)據(jù)遷移過程,禁止用戶對數(shù)據(jù)進行操 作。
圖1為現(xiàn)有數(shù)據(jù)遷移系統(tǒng)的結構圖,該系統(tǒng)包括原始數(shù)據(jù)服務器101、 目的數(shù)據(jù)服務器102、遷移服務器103和數(shù)據(jù)接口服務器104。
在數(shù)據(jù)遷移過程中,遷移服務器103重復執(zhí)行從原始數(shù)據(jù)服務器101中 讀取數(shù)據(jù)并遷移至目的數(shù)據(jù)服務器102的操作,直到所有數(shù)據(jù)遷移完畢,在 此期間,數(shù)據(jù)接口服務器104會停止對用戶發(fā)送的數(shù)據(jù)操作指令的響應,停
止數(shù)據(jù)服務,在所有數(shù)據(jù)遷移完畢后,數(shù)據(jù)接口服務器104將數(shù)據(jù)操作接口 從原來指向原始數(shù)據(jù)服務器101修改為指向目的數(shù)據(jù)服務器102,并開啟數(shù) 據(jù)服務。
對于上述現(xiàn)有的數(shù)據(jù)遷移系統(tǒng)及遷移方法來說,數(shù)據(jù)遷移過程將導致數(shù) 據(jù)服務暫停,用戶將不能對數(shù)據(jù)進行任何操作,這將極大地影響正常的數(shù)據(jù) 服務,給數(shù)據(jù)服務的用戶帶來極大不便。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種數(shù)據(jù)遷移方法,使用戶在數(shù)據(jù)遷移過程中仍然可 以使用數(shù)據(jù)服務,對數(shù)據(jù)進行操作。
本發(fā)明實施例提供一種數(shù)據(jù)遷移系統(tǒng),使用戶在數(shù)據(jù)遷移過程中仍然可 以使用數(shù)據(jù)服務,對數(shù)據(jù)進行操作。
本發(fā)明實施例提供一種數(shù)據(jù)遷移服務器,使用戶在數(shù)據(jù)遷移過程中仍然 可以使用數(shù)據(jù)服務,對數(shù)據(jù)進行操作。
本發(fā)明實施例提供一種數(shù)據(jù)接口服務器,使用戶在數(shù)據(jù)遷移過程中仍然 可以使用數(shù)據(jù)服務,對數(shù)據(jù)進行操作。
為達到上述目的,本發(fā)明的技術方案具體是這樣實現(xiàn)的
一種數(shù)據(jù)遷移方法,該方法包括
對原始數(shù)據(jù)進行遷移,在數(shù)據(jù)遷移過程中,根據(jù)原始數(shù)據(jù)的遷移狀態(tài), 為原始數(shù)據(jù)設置狀態(tài)標記;
當接收到用戶對原始數(shù)據(jù)的操作指令時,根據(jù)原始數(shù)據(jù)的狀態(tài)標記執(zhí)行 操作指令。
一種數(shù)據(jù)遷移系統(tǒng),該系統(tǒng)包括
原始數(shù)據(jù)服務器,用于保存原始數(shù)據(jù);
目標數(shù)據(jù)服務器,用于保存遷移后的原始數(shù)據(jù);
數(shù)據(jù)遷移服務器,用于對原始數(shù)據(jù)服務器中的所有原始數(shù)據(jù)進行遷移, 將遷移后的原始數(shù)據(jù)保存在所述目標數(shù)據(jù)服務器,并根據(jù)原始數(shù)據(jù)的遷移狀
態(tài),設置原始數(shù)據(jù)的狀態(tài)標記,并將與原始數(shù)據(jù)對應的狀態(tài)標記保存于狀態(tài)
標記服務器;
狀態(tài)標記服務器,用于保存與原始數(shù)據(jù)對應的狀態(tài)標記;
數(shù)據(jù)接口服務器,用于在數(shù)據(jù)遷移過程中,當接收到用戶對原始數(shù)據(jù)的 操作指令時,根據(jù)從所述狀態(tài)標記服務器讀取的原始數(shù)據(jù)的狀態(tài)標記,對所 述原始數(shù)據(jù)服務器中保存的原始數(shù)據(jù),或目標數(shù)據(jù)服務器中保存的遷移后的 原始數(shù)據(jù)執(zhí)行操作指令。
一種數(shù)據(jù)遷移服務器,該服務器包括
數(shù)據(jù)遷移模塊,用于對原始數(shù)據(jù)進行遷移;
標記設置模塊,用于在所述數(shù)據(jù)遷移模塊對原始數(shù)據(jù)進行遷移的過程 中,根據(jù)原始數(shù)據(jù)的遷移狀態(tài),為原始數(shù)據(jù)設置狀態(tài)標記,并將所述并將與 原始數(shù)據(jù)對應的狀態(tài)標記進行保存。
一種數(shù)據(jù)接口服務器,該服務器包括 指令接收模塊,用于接收用戶對原始數(shù)據(jù)的操作指令; 指令執(zhí)行模塊,用于根據(jù)原始數(shù)據(jù)的狀態(tài)標記執(zhí)行操作指令。 由上述的技術方案可見,本發(fā)明的這種通過對原始數(shù)據(jù)進行遷移,在數(shù) 據(jù)遷移過程中,根據(jù)原始數(shù)據(jù)的遷移狀態(tài),為原始數(shù)據(jù)設置狀態(tài)標記;當接 收到用戶對原始數(shù)據(jù)的操作指令時,根據(jù)原始數(shù)據(jù)的狀態(tài)標記執(zhí)行操作指令 的數(shù)據(jù)遷移方法、系統(tǒng)、數(shù)據(jù)遷移服務器及數(shù)據(jù)接口服務器,可以通過狀態(tài) 標記確定原始數(shù)據(jù)的遷移狀態(tài),從而確定對原始數(shù)據(jù)或遷移后的原始數(shù)據(jù)進 行操作,從而避免在數(shù)據(jù)遷移過程中,對數(shù)據(jù)進行操作可能出現(xiàn)的操作失效 等問題,使用戶在數(shù)據(jù)遷移過程中仍然可以使用數(shù)據(jù)服務,對數(shù)據(jù)進行操作, 無需在遷移過程中停止數(shù)據(jù)服務。
圖1為現(xiàn)有數(shù)據(jù)遷移系統(tǒng)的結構圖2為本發(fā)明實施例的數(shù)據(jù)遷移方法的總體流程圖3為本發(fā)明實施例的數(shù)據(jù)遷移方法的數(shù)據(jù)遷移部分的具休流程圖; 圖4為本發(fā)明實施例的數(shù)據(jù)遷移方法的數(shù)據(jù)服務部分的具體流程圖; 圖5為本發(fā)明實施例的數(shù)據(jù)遷移系統(tǒng)的結構圖; 圖6為本發(fā)明實施例的數(shù)據(jù)遷移服務器的結構圖; 圖7為本發(fā)明實施例的數(shù)據(jù)接口服務器的結構圖。
具體實施例方式
為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下參照附圖并舉 實施例,對本發(fā)明進一步詳細說明。
本發(fā)明主要是在對原始數(shù)據(jù)進行遷移時,根據(jù)原始數(shù)據(jù)的遷移狀態(tài),為 原始數(shù)據(jù)設置狀態(tài)標記;在數(shù)據(jù)遷移過程中,若接收到用戶對原始數(shù)據(jù)的操 作指令,則根據(jù)原始數(shù)據(jù)的狀態(tài)標記執(zhí)行操作指令。
圖2為本發(fā)明實施例的數(shù)據(jù)遷移方法的總體流程圖,如圖2所示,該流 程包括兩大部分,其中步驟201和202為數(shù)據(jù)遷移部分,步驟203為數(shù)據(jù)服 務部分。
步驟201,對原始數(shù)據(jù)進行遷移。
對原始數(shù)據(jù)進行遷移的具體過程很多,例如可以每次讀取一個原始數(shù)據(jù) 并進行遷移,遷移完成后再讀取下一個原始數(shù)據(jù)進行遷移,直到所有原始數(shù) 據(jù)遷移完畢;也可以一次讀取多個原始數(shù)據(jù)同時進行遷移, 一次讀取的多個 原始數(shù)據(jù)都遷移完畢后,再讀取多個原始數(shù)據(jù)進行遷移,直到所有原始數(shù)據(jù) 遷移完畢;本發(fā)明并不限定具體的遷移過程,可以采用任何現(xiàn)有遷移方式, 因此這里不再贅述。
步驟202,根據(jù)原始數(shù)據(jù)的遷移狀態(tài),為原始數(shù)據(jù)設置狀態(tài)標記。 在對原始數(shù)據(jù)進行遷移的過程中,將根據(jù)原始數(shù)據(jù)的遷移狀態(tài),為原始 數(shù)據(jù)設置狀態(tài)標記,例如將未進行遷移和遷移失敗的原始數(shù)據(jù)設置狀態(tài)標記 為未遷移;將正在進行遷移的原始數(shù)據(jù)設置狀態(tài)標記為正在遷移;將遷移成 功的原始數(shù)據(jù)設置狀態(tài)標記為已遷移等等。其中,將未進行遷移的原始數(shù)據(jù)
設置狀態(tài)標記為未遷移的步驟即在所有的原始數(shù)據(jù)都未進行遷移前,將所有 的原始數(shù)據(jù)的狀態(tài)標記設置為未遷移。另外,根據(jù)遷移狀態(tài)的劃分的不同, 還可以進一步細化遷移狀態(tài),例如對于數(shù)據(jù)量較大的單個數(shù)據(jù),如視頻文件, 數(shù)據(jù)遷移前后對數(shù)據(jù)的讀取和寫入可能也要耗費較長時間,對于這樣的原始 數(shù)據(jù),可以適當增加數(shù)據(jù)讀取中、數(shù)據(jù)寫入中等狀態(tài),當然,狀態(tài)標記也需 要相應地增加,具體遷移狀態(tài)如何劃分,以及狀態(tài)標記的種類,可以根據(jù)具 體需要而定。
具體狀態(tài)標記可以用0、 1、 2等數(shù)字來表示,例如0表示未遷移,l表 示正在遷移,2表示已經(jīng)遷移,也可以使用A、 B、 C等字母來表示,具體 表示方法根據(jù)實際需要而定,這里不再贅述。
步驟201、 202在實際操作中是沒有先后順序的,設置標記的操作和遷 移過程是同步進行的,此處為清楚表達才分為先后兩個步驟來描述。
步驟203,當接收到用戶對原始數(shù)據(jù)的操作指令時,根據(jù)原始數(shù)據(jù)的狀 態(tài)標記執(zhí)行操作指令。
其中用戶的操作指令可以是讀取、寫入、修改等等,本發(fā)明并不限定具 體操作指令。
另外,根據(jù)原始數(shù)據(jù)的狀態(tài)標記執(zhí)行操作指令的具體可以包括若原始 數(shù)據(jù)的狀態(tài)標記為未遷移,則對未遷移的原始數(shù)據(jù)執(zhí)行操作指令;若狀態(tài)標 記為已遷移,則對遷移后的原始數(shù)據(jù)執(zhí)行操作指令;若狀態(tài)標記為正在遷移, 則可以根據(jù)原始數(shù)據(jù)的數(shù)據(jù)量大小,采取不同的措施;例如,若原始數(shù)據(jù)的 數(shù)據(jù)量比較小, 一般幾秒鐘就可以遷移完畢,這時,可以暫停執(zhí)行操作指令, 等待原始數(shù)據(jù)的狀態(tài)標記變?yōu)槲催w移或已遷移后,再執(zhí)行相應狀態(tài)下的操作 指令;若原始數(shù)據(jù)的數(shù)據(jù)量比較大,可能等待的時間會比較長,可能會造成 用戶的不愉快,這時,就可以直接停止執(zhí)行操作指令,并向用戶發(fā)出提示, 提示用戶該原始數(shù)據(jù)正在遷移,讓用戶稍候再進行操作;當然也可以提示用 戶預計遷移完成的時間,讓用戶選擇等待或者取消本次操作,具體如何提示 用戶、是否提示用戶,可以根據(jù)實際需要而定,這里不再贅述。
圖3為本發(fā)明實施例的數(shù)據(jù)遷移方法的數(shù)據(jù)遷移部分的具體流程圖,如 圖3所示,該流程包括
步驟301,讀取原始數(shù)據(jù)。
讀取原始數(shù)據(jù)進行遷移前,所有原始數(shù)據(jù)的狀態(tài)為未遷移。 步驟302,設置該原始數(shù)據(jù)的狀態(tài)標記為正在遷移。 成功讀取一個未遷移的原始數(shù)據(jù)并開始遷移時,該原始數(shù)據(jù)的遷移狀態(tài) 為正在遷移。
步驟303,對該原始數(shù)據(jù)進行遷移,若成功,則執(zhí)行步驟304,若失敗, 則執(zhí)行步驟305。
步驟304,設置該原始數(shù)據(jù)的狀態(tài)標記為已遷移。 原始數(shù)據(jù)遷移成功時,該原始數(shù)據(jù)的遷移狀態(tài)為已遷移; 步驟305,設置該原始數(shù)據(jù)的狀態(tài)標記為未遷移。 原始數(shù)據(jù)遷移失敗時,該原始數(shù)據(jù)的遷移狀態(tài)為未遷移。 步驟306,判斷該原始數(shù)據(jù)是否為最后一個需要遷移的原始數(shù)據(jù),若是, 則結束流程,否則返回步驟301。
反復執(zhí)行步驟301-306直到最后一個需要遷移的原始數(shù)據(jù)遷移成功,即 可完成全部原始數(shù)據(jù)的遷移。對于遷移失敗的原始數(shù)據(jù),應作為需要遷移的 原始數(shù)據(jù),在下一次遷移過程中進行遷移,直至遷移成功;或者也可以等其 它原始數(shù)據(jù)全部遷移成功后,再進行遷移,直至遷移成功。
圖4為本發(fā)明實施例的數(shù)據(jù)遷移方法的數(shù)據(jù)服務部分的具體流程圖,如 圖4所示,該流程包括
步驟401,接收用戶對原始數(shù)據(jù)的操作指令。
步驟402,讀取原始數(shù)據(jù)的狀態(tài)標記,若狀態(tài)標記為未遷移,則執(zhí)行步 驟403,若狀態(tài)標記為已遷移,則執(zhí)行步驟404,若狀態(tài)標記為正在遷移, 則執(zhí)行步驟405。
步驟403,對原始數(shù)據(jù)執(zhí)行操作指令。
根據(jù)用戶的操作指令,對未遷移的原始數(shù)據(jù)進行搡作,例如用戶的操作
指令是寫入,則對原始數(shù)據(jù)進行寫入操作,操作執(zhí)行完成后結束流程。
步驟404,對遷移后的原始數(shù)據(jù)執(zhí)行操作指令。
根據(jù)用戶的操作指令,對遷移后的原始數(shù)據(jù)進行操作,例如用戶的操作 指令是寫入,則對遷移后的原始數(shù)據(jù)進行寫入操作,操作執(zhí)行完成后結束流程。
步驟405,不執(zhí)行操作指令。
如果原始數(shù)據(jù)正在遷移,可以不執(zhí)行用戶的操作指令,也可以進一步發(fā) 出提示,提示用戶稍候再試,或者暫停執(zhí)行操作指令,待原始數(shù)據(jù)的狀態(tài)標 記變?yōu)槲催w移或者已遷移時,執(zhí)行步驟403或404,操作執(zhí)行完成后結束流程。
圖5為本發(fā)明實施例的數(shù)據(jù)遷移系統(tǒng)結構圖,如圖5所示,該系統(tǒng)包括
原始數(shù)據(jù)服務器501,用于保存原始數(shù)據(jù);可以是一個服務器,也可以是 由多個服務器組成的服務器群,當然也可以是任何數(shù)據(jù)存儲設備。
目標數(shù)據(jù)服務器502,用于保存遷移后的原始數(shù)據(jù);可以是一個服務器, 也可以是由多個服務器組成的服務器群,當然也可以是任何數(shù)據(jù)存儲設備。
數(shù)據(jù)遷移服務器503,用于對原始數(shù)據(jù)服務器501中的原始數(shù)據(jù)進行遷移, 將遷移后的原始數(shù)據(jù)保存在所述目標數(shù)據(jù)服務器502,并根據(jù)原始數(shù)據(jù)的遷移 狀態(tài),為原始數(shù)據(jù)設置狀態(tài)標記;并將與原始數(shù)據(jù)對應的狀態(tài)標記保存于所述 狀態(tài)標記服務器504。
狀態(tài)標記服務器504,用于保存與原始數(shù)據(jù)對應的狀態(tài)標記。
數(shù)據(jù)接口服務器505,用于在數(shù)據(jù)遷移過程中,當接收到用戶對原始數(shù) 據(jù)的操作指令時,根據(jù)從所述狀態(tài)標記服務器504中讀取的與原始數(shù)據(jù)對應 的狀態(tài)標記,對所述原始數(shù)據(jù)服務器中保存的原始數(shù)據(jù),或目標數(shù)據(jù)服務器 中保存的遷移后的原始數(shù)據(jù)執(zhí)行操作指令。
其中,數(shù)據(jù)遷移服務器503為原始數(shù)據(jù)設置狀態(tài)標記的具體操作可以 為將未進行遷移和遷移失敗的原始數(shù)據(jù)設置狀態(tài)標記為未遷移;將正在進 行遷移的原始數(shù)據(jù)設置狀態(tài)標記為正在遷移;將遷移成功的原始數(shù)據(jù)設置狀
態(tài)標記為已遷移。其中,將未進行遷移的原始數(shù)據(jù)設置狀態(tài)標記為未遷移的 操作中包括在所有的原始數(shù)據(jù)都未進行遷移前,所有的原始數(shù)據(jù)的狀態(tài)標記 預先設置為未遷移。
狀態(tài)標記服務器504除了用于保存原始數(shù)據(jù)的狀態(tài)標記外,還可以提供 設置狀態(tài)標記和得到狀態(tài)標記的原子操作的接口,當然,如果業(yè)務要求不高 也可以是非原子操作。所述原子操作是一種不可分割的基本操作。而數(shù)據(jù)遷 移服務器503和數(shù)據(jù)接口服務器505,可以通過上述接口直接調用狀態(tài)標記 服務器504提供的功能,通過簡單的原子操作,對狀態(tài)標記進行設置或者讀 取。這將減輕數(shù)據(jù)遷移服務器503和數(shù)據(jù)接口服務器505的處理負擔。
數(shù)據(jù)接口服務器505根據(jù)原始數(shù)據(jù)的狀態(tài)標記執(zhí)行操作指令的具體操 作可以為若狀態(tài)標記為未遷移,則對原始數(shù)據(jù)執(zhí)行操作指令;若狀態(tài)標記 為已遷移,則對遷移后的原始數(shù)據(jù)執(zhí)行操作指令;若狀態(tài)標記為正在遷移, 則暫停執(zhí)行操作指令,等待原始數(shù)據(jù)的狀態(tài)標記變?yōu)槲催w移或已遷移后,執(zhí) 行未遷移或已遷移狀態(tài)的相應操作指令;或者不執(zhí)行搡作指令,并向用戶發(fā) 出提示;或者提示用戶選擇等待或取消本次操作,若用戶選擇等待,則暫停 執(zhí)行操作指令,等待原始數(shù)據(jù)的狀態(tài)標記變?yōu)槲催w移或已遷移后,執(zhí)行操作 指令;若選擇取消,則不執(zhí)行操作指令。
當然,狀態(tài)標記服務器504的功能還可以集成在數(shù)據(jù)遷移服務器503中, 此時,該系統(tǒng)包才舌
原始數(shù)據(jù)服務器501,用于保存原始數(shù)據(jù);
目標數(shù)據(jù)服務器502,用于保存遷移后的原始數(shù)據(jù);
數(shù)據(jù)遷移服務器503,用于對原始數(shù)據(jù)服務器501中的所有原始數(shù)據(jù)進 行遷移,將遷移后的原始數(shù)據(jù)保存在所述目標數(shù)據(jù)服務器502,并根據(jù)原始 數(shù)據(jù)的遷移狀態(tài),設置并保存與原始數(shù)據(jù)對應的狀態(tài)標記;
數(shù)據(jù)接口服務器505,用于在數(shù)據(jù)遷移過程中,當接收到用戶對原始數(shù) 據(jù)的操作指令時,根據(jù)數(shù)據(jù)遷移服務器503中保存的狀態(tài)標記執(zhí)行操作指 令。
另外,原始數(shù)據(jù)服務器501和目標數(shù)據(jù)服務器502也可以是同一個服務 器,原始數(shù)據(jù)和遷移后的原始數(shù)據(jù)可以保存在同 一 個服務器中。
圖6為本發(fā)明實施例的數(shù)據(jù)遷移服務器的結構圖,如圖6所示,該服務 器包括
數(shù)據(jù)遷移模塊601,用于對原始數(shù)據(jù)進行遷移。
標記設置模塊602,用于在所述數(shù)據(jù)遷移模塊601對原始數(shù)據(jù)進行遷移的 過程中,根據(jù)原始數(shù)據(jù)的遷移狀態(tài),為原始數(shù)據(jù)設置狀態(tài)標記,并將所述與原 始數(shù)據(jù)對應的狀態(tài)標記進行保存。
若系統(tǒng)中存在獨立的狀態(tài)標記服務器,則所述標記設置模塊602將所述與 原始數(shù)據(jù)對應的狀態(tài)標記保存于狀態(tài)標記服務器;如果狀態(tài)標記服務器集成于 數(shù)據(jù)遷移服務器中,此時,數(shù)據(jù)遷移服務器可以進一步包括
標記保存模塊603,用于保存與原始數(shù)據(jù)對應的狀態(tài)標記。
所述標記設置模塊602,將所述與原始數(shù)據(jù)對應的狀態(tài)標記保存于所述標 記保存模塊603中。
其中,標記設置模塊602具體包括
第一設置單元604,將未進行遷移和遷移失敗的原始數(shù)據(jù)設置狀態(tài)標記為 未遷移。
第二設置單元605,將正在進行遷移的原始數(shù)據(jù)設置狀態(tài)標記為正在遷移。 第三設置單元606,將遷移成功的原始數(shù)據(jù)設置狀態(tài)標記為已遷移。 設置單元的數(shù)量可以根據(jù)狀態(tài)標記的數(shù)量進行調整,也可以合并為一個
設置單元,視實際需要而定。
圖7為本發(fā)明實施例的數(shù)據(jù)接口服務器的結構圖,如圖7所示,該服務
器包括
指令接收模塊701,用于接收用戶對原始數(shù)據(jù)的操作指令。 指令執(zhí)行模塊702,用于根據(jù)獲取的原始數(shù)據(jù)的狀態(tài)標記執(zhí)行操作指令。 狀態(tài)標記保存的位置不同,指令執(zhí)行模塊702獲取原始數(shù)據(jù)對應的狀態(tài) 標記的具體方法也將不同,例如從狀態(tài)標記服務器中讀取,或從數(shù)據(jù)遷移服
務器中讀取等等,這里不再贅述。
其中,指令執(zhí)行模塊702具體包括
第一執(zhí)行單元703,若原始數(shù)據(jù)的狀態(tài)標記為未遷移,則對原始數(shù)據(jù)執(zhí) 行操作指令;
第二執(zhí)行單元704,若原始數(shù)據(jù)的狀態(tài)標記為已遷移,則對遷移后的原 始數(shù)據(jù)執(zhí)行操作指令;
第三執(zhí)行單元705,若原始數(shù)據(jù)的狀態(tài)標記為正在遷移,則暫停執(zhí)行操 作指令,等待原始數(shù)據(jù)的狀態(tài)標記變?yōu)槲催w移或已遷移后,執(zhí)行相應狀態(tài)下 的操作指令;或者不執(zhí)行操作指令,并向用戶發(fā)出提示;或者提示用戶選擇 等待或取消本次操作,若用戶選擇等待,則暫停執(zhí)行操作指令,等待原始數(shù) 據(jù)的狀態(tài)標記變?yōu)槲催w移或已遷移后,執(zhí)行操作指令;若選擇取消,則不執(zhí) 行操作指令。
執(zhí)行單元的數(shù)量可以根據(jù)狀態(tài)標記的數(shù)量進行調整,也可以合并為一個 執(zhí)行單元,視實際需要而定。
由上述的實施例可見,本發(fā)明的數(shù)據(jù)遷移方法、系統(tǒng)、數(shù)據(jù)遷移服務器 及數(shù)據(jù)接口服務器通過狀態(tài)標記可以確定原始數(shù)據(jù)的遷移狀態(tài),從而確定對 原始數(shù)據(jù)或遷移后的原始數(shù)據(jù)進行操作,從而避免在數(shù)據(jù)遷移過程中,對數(shù) 椐進行操作可能出現(xiàn)的操作失效等問題,使用戶在數(shù)據(jù)遷移過程中仍然可以 使用數(shù)據(jù)服務,對數(shù)據(jù)進行操作,無需停止數(shù)據(jù)服務。
所應理解的是,以上所述僅為本發(fā)明的較佳實施方式而已,并不用于限 定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等 同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1、一種數(shù)據(jù)遷移方法,其特征在于,該方法包括對原始數(shù)據(jù)進行遷移,在數(shù)據(jù)遷移過程中,根據(jù)原始數(shù)據(jù)的遷移狀態(tài),為原始數(shù)據(jù)設置狀態(tài)標記;當接收到用戶對原始數(shù)據(jù)的操作指令時,根據(jù)原始數(shù)據(jù)的狀態(tài)標記執(zhí)行操作指令。
2、 如權利要求1所述的數(shù)據(jù)遷移方法,其特征在于,所述對原始數(shù)據(jù)進行 遷移包括讀取一個未遷移的原始數(shù)據(jù),對該原始數(shù)據(jù)進行遷移,若遷移成功則繼續(xù) 讀取下一個未遷移的原始數(shù)據(jù)進行遷移,否則再次讀取該原始數(shù)據(jù)進行遷移, 直至所有原始lt據(jù)遷移成功;或者同時讀取多個未遷移的原始數(shù)據(jù),并同時對該多個原始數(shù)據(jù)進行遷移,若多個原始數(shù)據(jù)均遷移成功則繼續(xù)讀取多個未遷移的原始數(shù)據(jù)進行遷移,否則 再次讀取遷移不成功的原始li據(jù)進行遷移,直至所有原始數(shù)據(jù)遷移成功。
3、 如權利要求1或2所述的數(shù)據(jù)遷移方法,其特征在于,所述根據(jù)原始數(shù) 據(jù)的遷移狀態(tài),為原始數(shù)據(jù)設置狀態(tài)標記包括將未進行遷移和遷移失敗的原始數(shù)據(jù)設置狀態(tài)標記為未遷移; 將正在進行遷移的原始數(shù)據(jù)設置狀態(tài)標記為正在遷移; 將遷移成功的原始數(shù)據(jù)設置狀態(tài)標記為已遷移。
4、 如權利要求3所述的數(shù)據(jù)遷移方法,其特征在于,所述根據(jù)原始數(shù)據(jù)的 狀態(tài)標記執(zhí)行操作指令,包括若原始數(shù)據(jù)的狀態(tài)標記為未遷移,則對原始數(shù)據(jù)執(zhí)行操作指令; 若原始數(shù)據(jù)的狀態(tài)標記為已遷移,則對遷移后的原始數(shù)據(jù)執(zhí)行操作指令; 若原始數(shù)據(jù)的狀態(tài)標記為正在遷移,則暫停執(zhí)行操作指令,等待原始數(shù)據(jù)的狀態(tài)標記變?yōu)槲催w移或已遷移后,執(zhí)行操作指令;或者不執(zhí)行操作指令,并向用戶發(fā)出提示。
5、 一種數(shù)據(jù)遷移系統(tǒng),其特征在于,該系統(tǒng)包括 原始數(shù)據(jù)服務器,用于保存原始數(shù)據(jù); 目標數(shù)據(jù)服務器,用于保存遷移后的原始數(shù)據(jù);數(shù)據(jù)遷移服務器,用于對原始數(shù)據(jù)服務器中的所有原始數(shù)據(jù)進行遷移,將 遷移后的原始數(shù)據(jù)保存在所述目標數(shù)據(jù)服務器,并根據(jù)原始數(shù)據(jù)的遷移狀態(tài), 設置原始數(shù)據(jù)的狀態(tài)標記,并將與原始數(shù)據(jù)對應的狀態(tài)標記保存于狀態(tài)標記服 務器;狀態(tài)標記服務器,用于保存與原始數(shù)據(jù)對應的狀態(tài)標記; 數(shù)據(jù)接口服務器,用于在數(shù)據(jù)遷移過程中,當接收到用戶對原始數(shù)據(jù)的操 作指令時,根據(jù)從所述狀態(tài)標記服務器讀取的原始數(shù)據(jù)的狀態(tài)標記,對所述原 始數(shù)據(jù)服務器中保存的原始數(shù)據(jù),或目標數(shù)據(jù)服務器中保存的遷移后的原始數(shù) 據(jù)執(zhí)行操作指令。
6、 如權利要求5所述的數(shù)據(jù)遷移系統(tǒng),其特征在于,所述狀態(tài)標記服務器 集成于數(shù)據(jù)遷移服務器中。
7、 如權利要求5或6所述的數(shù)據(jù)遷移系統(tǒng),其特征在于,所述數(shù)據(jù)遷移服 務器根據(jù)原始數(shù)據(jù)的遷移狀態(tài),設置原始數(shù)據(jù)的狀態(tài)標記,具體包括將未進行遷移和遷移失敗的原始數(shù)據(jù)設置狀態(tài)標記為未遷移; 將正在進行遷移的原始數(shù)據(jù)設置狀態(tài)標記為正在遷移; 將遷移成功的原始數(shù)據(jù)設置狀態(tài)標記為已遷移。
8、 如權利要求7所述的數(shù)據(jù)遷移系統(tǒng),其特征在于,所述數(shù)據(jù)接口服務器 根據(jù)原始數(shù)據(jù)的狀態(tài)標記執(zhí)行操作指令,具體包括若原始數(shù)據(jù)的狀態(tài)標記為未遷移,則對原始數(shù)據(jù)執(zhí)行操作指令; 若原始數(shù)據(jù)的狀態(tài)標記為已遷移,則對遷移后的原始數(shù)據(jù)執(zhí)行操作指令; 若原始數(shù)據(jù)的狀態(tài)標記為正在遷移,則暫停執(zhí)行操作指令,等待原始數(shù)據(jù)的狀態(tài)標記變?yōu)槲催w移或已遷移后,執(zhí)行操作指令;或者不執(zhí)行操作指令,并向用戶發(fā)出提示。
9、 一種數(shù)據(jù)遷移服務器,其特征在于,該服務器包括數(shù)據(jù)遷移模塊,用于對原始數(shù)據(jù)進行遷移;標記設置模塊,用于在所述數(shù)據(jù)遷移模塊對原始數(shù)據(jù)進行遷移的過程中, 根據(jù)原始數(shù)據(jù)的遷移狀態(tài),為原始數(shù)據(jù)設置狀態(tài)標記,并將所述與原始數(shù)據(jù)對 應的狀態(tài)標記進行保存。
10、 如權利要求9所述的數(shù)據(jù)遷移服務器,其特征在于,所述標記設置模 塊將所述與原始數(shù)據(jù)對應的狀態(tài)標記保存于狀態(tài)標記服務器;或者,該數(shù)據(jù)遷移服務器進一步包括 標記保存模塊,用于保存與原始數(shù)據(jù)對應的狀態(tài)標記; 所述標記設置模塊將所述與原始數(shù)據(jù)對應的狀態(tài)標記保存于所述標記保存 模塊。
11、 如權利要求9或IO所述的數(shù)據(jù)遷移服務器,其特征在于,所述標記設 置模塊包括第一狀態(tài)設置單元,將未進行遷移和遷移失敗的原始數(shù)據(jù)設置狀態(tài)標記為 未遷移;第二狀態(tài)設置單元,將正在進行遷移的原始數(shù)據(jù)設置狀態(tài)標記為正在遷移; 第三狀態(tài)設置單元,將遷移成功的原始數(shù)據(jù)設置狀態(tài)標記為已遷移。
12、 一種數(shù)據(jù)接口服務器,其特征在于,該服務器包括 指令接收模塊,用于接收用戶對原始數(shù)據(jù)的操作指令; 指令執(zhí)行模塊,用于根據(jù)原始數(shù)據(jù)的狀態(tài)標記執(zhí)行操作指令。
13、 如權利要求12所述的數(shù)據(jù)接口服務器,其特征在于,所述指令執(zhí)行模 塊包括第一指令執(zhí)行單元,若原始數(shù)據(jù)的狀態(tài)標記為未遷移,則對原始數(shù)據(jù)執(zhí)行 操作指令;第二指令執(zhí)行單元,若原始數(shù)據(jù)的狀態(tài)標記為已遷移,則對遷移后的原始 數(shù)據(jù)執(zhí)行操作指令;第三指令執(zhí)行單元,若原始數(shù)據(jù)的狀態(tài)標記為正在遷移,則暫停執(zhí)行操作 指令,等待原始數(shù)據(jù)的狀態(tài)標記變?yōu)槲催w移或已遷移后,執(zhí)行操作指令;或者 不執(zhí)行操作指令,并向用戶發(fā)出提示。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)遷移方法,該方法對原始數(shù)據(jù)進行遷移,在數(shù)據(jù)遷移過程中,根據(jù)原始數(shù)據(jù)的遷移狀態(tài),為原始數(shù)據(jù)設置狀態(tài)標記;當接收到用戶對原始數(shù)據(jù)的操作指令時,根據(jù)原始數(shù)據(jù)的狀態(tài)標記執(zhí)行操作指令。本發(fā)明還同時公開了一種數(shù)據(jù)遷移系統(tǒng),一種數(shù)據(jù)遷移服務器及一種數(shù)據(jù)接口服務器,該方法、系統(tǒng)、數(shù)據(jù)遷移服務器及數(shù)據(jù)接口服務器可以通過狀態(tài)標記確定原始數(shù)據(jù)的遷移狀態(tài),從而確定對原始數(shù)據(jù)或遷移后的原始數(shù)據(jù)進行操作,從而避免在數(shù)據(jù)遷移過程中,對數(shù)據(jù)進行操作可能出現(xiàn)的操作失效等問題,使用戶在數(shù)據(jù)遷移過程中仍然可以使用數(shù)據(jù)服務,對數(shù)據(jù)進行操作,無需停止數(shù)據(jù)服務。
文檔編號G06F9/46GK101364186SQ20081016711
公開日2009年2月11日 申請日期2008年9月27日 優(yōu)先權日2008年9月27日
發(fā)明者林 康 申請人:騰訊科技(深圳)有限公司