專利名稱:數(shù)據(jù)轉(zhuǎn)移控制方法及裝置的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)轉(zhuǎn)移方法及裝置,更具體地,涉及數(shù)據(jù)轉(zhuǎn)移控制方法及裝置。
背景技術:
目前,隨著網(wǎng)絡應用的日益廣泛以及不同領域的業(yè)務種類的日益豐富,保持多個 服務器中的數(shù)據(jù)的一致性和實時性變的越來越重要。但是,在轉(zhuǎn)移大量的數(shù)據(jù)的過程中會 遇到很多技術問題,例如,當待轉(zhuǎn)移的數(shù)據(jù)量較大時,完成全部數(shù)據(jù)的轉(zhuǎn)移需要較長的一段 時間,在此期間,如果用戶對源數(shù)據(jù)庫的某一記錄進行了修改操作,而該記錄已經(jīng)轉(zhuǎn)移完 成,則目標數(shù)據(jù)庫中對應的記錄將仍然保持用戶操作前的狀態(tài)。因此,在現(xiàn)有的數(shù)據(jù)轉(zhuǎn)移方 法中,一般都要求在數(shù)據(jù)轉(zhuǎn)移過程中禁止用戶對數(shù)據(jù)進行操作。然而,現(xiàn)有的以定期停機方 式進行的數(shù)據(jù)批量轉(zhuǎn)移方法不能滿足對數(shù)據(jù)實時性和一致性的要求,也不能有效控制數(shù)據(jù) 轉(zhuǎn)移速度,并且會使服務暫時中斷。
發(fā)明內(nèi)容
為了解決上述現(xiàn)有技術方案所存在的缺陷,本發(fā)明提出了一種可以控制數(shù)據(jù)轉(zhuǎn)移 速度,并能保持數(shù)據(jù)的實時性和一致性的數(shù)據(jù)轉(zhuǎn)移控制方法及裝置。本發(fā)明的目的是通過以下技術方案實現(xiàn)的一種數(shù)據(jù)轉(zhuǎn)移控制方法,所述數(shù)據(jù)轉(zhuǎn)移控制方法包括如下步驟(Al)讀取配置信息;(A2)根據(jù)所述配置信息選擇轉(zhuǎn)移模式,并使用系統(tǒng)當前時間和時間片以及所選擇 的轉(zhuǎn)移模式確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間;(A3)基于所述轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間依次讀取數(shù)據(jù)記錄,并完成轉(zhuǎn)移任務 記錄表;(A4)將所述轉(zhuǎn)移任務記錄表發(fā)送給轉(zhuǎn)移任務執(zhí)行模塊,以完成數(shù)據(jù)轉(zhuǎn)移任務;(A5)根據(jù)當前的轉(zhuǎn)移模式以及所述時間片重新確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時 間,并返回步驟(A3)。在上面所公開的方案中,優(yōu)選地,所述轉(zhuǎn)移模式包括實時模式和非實時模式。在上面所公開的方案中,優(yōu)選地,所述數(shù)據(jù)記錄具有時間相關字段,用于記錄該數(shù) 據(jù)記錄被操作完成時的當前系統(tǒng)時間。在上面所公開的方案中,可選地,在所述實時模式下,步驟(A2)進一步包括如下 步驟獲取當前系統(tǒng)時間;將當前系統(tǒng)時間減去特定時間作為轉(zhuǎn)移開始時間;將所述轉(zhuǎn)移 開始時間加上時間片作為轉(zhuǎn)移結束時間,其中,所述特定時間為η秒,且0 <n <60。在上面所公開的方案中,可選地,在所述實時模式下,步驟(A3)進一步包括如下 步驟讀取狀態(tài)為“操作完成”的所有數(shù)據(jù)記錄;依次判斷每條數(shù)據(jù)記錄的操作完成時間是 否小于所述轉(zhuǎn)移結束時間并大于所述轉(zhuǎn)移開始時間;如果數(shù)據(jù)記錄的操作完成時間小于所 述轉(zhuǎn)移結束時間并大于所述轉(zhuǎn)移開始時間,則將所述數(shù)據(jù)記錄的狀態(tài)更新為“待轉(zhuǎn)移”,并同時更新所述轉(zhuǎn)移任務記錄表。在上面所公開的方案中,可選地,在所述實時模式下。步驟(A5)進一步包括如 下步驟讀取系統(tǒng)當前時間;將所述系統(tǒng)當前時間減去所述特定時間作為備選轉(zhuǎn)移開始時 間;將所述備選轉(zhuǎn)移開始時間加上所述時間片作為新的轉(zhuǎn)移結束時間;判斷所述備選轉(zhuǎn)移 開始時間是否大于上次轉(zhuǎn)移結束時間,如果所述備選轉(zhuǎn)移開始時間大于上次轉(zhuǎn)移結束時 間,則將所述備選轉(zhuǎn)移開始時間作為新的轉(zhuǎn)移開始時間,否則,將上次轉(zhuǎn)移結束時間作為新 的轉(zhuǎn)移開始時間。在上面所公開的方案中,可選地,在所述非實時模式下,步驟(A2)進一步包括如 下步驟獲取當前系統(tǒng)時間;根據(jù)配置信息設置轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間。在上面所公開的方案中,可選地,在所述非實時模式下,步驟(A3)進一步包括如 下步驟讀取狀態(tài)為“操作完成”的所有數(shù)據(jù)記錄;依次判斷每條數(shù)據(jù)記錄的操作完成時間 是否小于所述轉(zhuǎn)移結束時間;如果數(shù)據(jù)記錄的操作完成時間小于所述轉(zhuǎn)移結束時間,則將 所述數(shù)據(jù)記錄的狀態(tài)更新為“待轉(zhuǎn)移”,并同時更新所述轉(zhuǎn)移任務記錄表。在上面所公開的方案中,可選地,在所述非實時模式下,步驟(A5)進一步包括如 下步驟將所述轉(zhuǎn)移結束時間作為新的轉(zhuǎn)移開始時間,并將所述轉(zhuǎn)移結束時間加上所述時 間片作為新的轉(zhuǎn)移結束時間;讀取系統(tǒng)當前時間并判斷所述系統(tǒng)當前時間是否大于所述 新的轉(zhuǎn)移結束時間;如果所述系統(tǒng)當前時間小于所述新的轉(zhuǎn)移結束時間,則等待并在特定 時間后重復讀取及判斷,如果所述系統(tǒng)當前時間大于所述新的轉(zhuǎn)移結束時間,則返回步驟 (A3)。本發(fā)明的目的也可以通過以下技術方案實現(xiàn)一種數(shù)據(jù)轉(zhuǎn)移控制裝置,所述數(shù)據(jù)轉(zhuǎn)移控制裝置包括初始化模塊、模式選擇模塊、 主控制模塊、數(shù)據(jù)記錄讀取模塊、轉(zhuǎn)移任務調(diào)度模塊和轉(zhuǎn)移起止時間設置模塊,其中,所述初始化模塊與所述主控制模塊相連接,用于讀取配置信息,并將所述配置信 息發(fā)送給所述主控制模塊;所述主控制模塊分別與初始化模塊、模式選擇模塊、數(shù)據(jù)記錄讀取模塊、轉(zhuǎn)移任務 調(diào)度模塊和轉(zhuǎn)移起止時間設置模塊相連接,用于根據(jù)接收到的所述配置信息調(diào)用所述模式 選擇模塊進行轉(zhuǎn)移模式的選擇,并將選擇的轉(zhuǎn)移模式發(fā)送給所述轉(zhuǎn)移起止時間設置模塊, 在接收到所述數(shù)據(jù)記錄讀取模塊發(fā)送的數(shù)據(jù)記錄后,根據(jù)由所述轉(zhuǎn)移起止時間設置模塊確 定的轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間完成轉(zhuǎn)移任務記錄表,并將所述轉(zhuǎn)移任務記錄表發(fā)送給 所述轉(zhuǎn)移任務調(diào)度模塊;所述模式選擇模塊與所述主控制模塊相連接,用于接受所述主控制模塊的調(diào)用而 選擇轉(zhuǎn)移模式,并將選擇的轉(zhuǎn)移模式發(fā)送給所述主控制模塊;所述數(shù)據(jù)記錄讀取模塊與所述主控制模塊相連接,用于讀取數(shù)據(jù)記錄,并將讀取 的數(shù)據(jù)記錄發(fā)送給所述主控制模塊;所述轉(zhuǎn)移任務調(diào)度模塊與所述主控制模塊相連接,用于將接收到的轉(zhuǎn)移任務記錄 表發(fā)送給轉(zhuǎn)移任務執(zhí)行裝置。以完成數(shù)據(jù)轉(zhuǎn)移任務;所述轉(zhuǎn)移起止時間設置模塊與所述主控制模塊相連接,用于根據(jù)所述所選擇的轉(zhuǎn) 移模式和時間片以及系統(tǒng)當前時間確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間。在上面所公開的方案中,優(yōu)選地,所述轉(zhuǎn)移模式包括實時模式和非實時模式。
在上面所公開的方案中,優(yōu)選地,所述數(shù)據(jù)記錄具有時間相關字段,用于記錄該數(shù) 據(jù)記錄被操作完成時的當前系統(tǒng)時間。在上面所公開的方案中,可選地,在所述實時模式下,所述轉(zhuǎn)移起止時間設置模塊 在第一次確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間時包括如下工作過程獲取當前系統(tǒng)時間;將 當前系統(tǒng)時間減去特定時間作為轉(zhuǎn)移開始時間;將所述轉(zhuǎn)移開始時間加上時間片作為轉(zhuǎn)移 結束時間,其中,所述特定時間為η秒,且0 < η < 60。在上面所公開的方案中,可選地,在所述實時模式下,所述轉(zhuǎn)移起止時間設置模塊 在非第一次確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間時包括如下工作過程讀取系統(tǒng)當前時間; 將所述系統(tǒng)當前時間減去所述特定時間作為備選轉(zhuǎn)移開始時間;將所述備選轉(zhuǎn)移開始時間 加上所述時間片作為新的轉(zhuǎn)移結束時間;判斷所述備選轉(zhuǎn)移開始時間是否大于上次轉(zhuǎn)移結 束時間,如果所述備選轉(zhuǎn)移開始時間大于上次轉(zhuǎn)移結束時間,則將所述備選轉(zhuǎn)移開始時間 作為新的轉(zhuǎn)移開始時間,否則,將上次轉(zhuǎn)移結束時間作為新的轉(zhuǎn)移開始時間。在上面所公開的方案中,可選地,在所述實時模式下,所述主控制模塊包括如下工 作過程依次判斷每條數(shù)據(jù)記錄的操作完成時間是否小于所述轉(zhuǎn)移結束時間并大于所述轉(zhuǎn) 移開始時間;如果數(shù)據(jù)記錄的操作完成時間小于所述轉(zhuǎn)移結束時間并大于所述轉(zhuǎn)移開始時 間,則將所述數(shù)據(jù)記錄的狀態(tài)更新為“待轉(zhuǎn)移”,并同時更新所述轉(zhuǎn)移任務記錄表。在上面所公開的方案中,可選地,在所述非實時模式下,所述轉(zhuǎn)移起止時間設置模 塊在第一次確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間時包括如下工作過程獲取當前系統(tǒng)時間; 根據(jù)配置信息設置轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間。在上面所公開的方案中,可選地,在所述非實時模式下,所述轉(zhuǎn)移起止時間設置模 塊在非第一次確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間時包括如下工作過程將上一次轉(zhuǎn)移結束 時間作為新的轉(zhuǎn)移開始時間,并將上一次轉(zhuǎn)移結束時間加上所述時間片作為新的轉(zhuǎn)移結束 時間;讀取系統(tǒng)當前時間并判斷所述系統(tǒng)當前時間是否大于所述新的轉(zhuǎn)移結束時間;如果 所述系統(tǒng)當前時間小于所述新的轉(zhuǎn)移結束時間,則等待并在特定時間后重復讀取及判斷, 如果所述系統(tǒng)當前時間大于所述新的轉(zhuǎn)移結束時間,則返回步驟(A3)。在上面所公開的方案中,可選地,在所述非實時模式下,所述主控制模塊包括如下 工作過程依次判斷每條數(shù)據(jù)記錄的操作完成時間是否小于所述轉(zhuǎn)移結束時間;如果數(shù)據(jù) 記錄的操作完成時間小于所述轉(zhuǎn)移結束時間,則將所述數(shù)據(jù)記錄的狀態(tài)更新為“待轉(zhuǎn)移”, 并同時更新所述轉(zhuǎn)移任務記錄表。本發(fā)明所公開的數(shù)據(jù)轉(zhuǎn)移控制方法及裝置具有如下優(yōu)點由于本發(fā)明所公開的數(shù) 據(jù)轉(zhuǎn)移控制方法及裝置具有基于時間片的數(shù)據(jù)轉(zhuǎn)移控制機制,因而可以確保數(shù)據(jù)轉(zhuǎn)移的實 時性和一致性,并且可以根據(jù)用戶需求控制數(shù)據(jù)轉(zhuǎn)移速度,即可根據(jù)數(shù)據(jù)量的大小任意調(diào) 整時間片的大小,從而有效地控制了數(shù)據(jù)轉(zhuǎn)移的速度和對系統(tǒng)資源占用的壓力。
結合附圖,本發(fā)明的技術特征以及優(yōu)點將會被本領域技術人員更好地理解,其 中圖1為根據(jù)本發(fā)明的實施例的數(shù)據(jù)轉(zhuǎn)移控制方法實時模式下的流程圖;圖2為根據(jù)本發(fā)明的實施例的數(shù)據(jù)轉(zhuǎn)移控制方法非實時模式下的流程圖3為根據(jù)本發(fā)明的實施例的數(shù)據(jù)轉(zhuǎn)移控制裝置的結構圖。
具體實施例方式圖1為根據(jù)本發(fā)明的實施例的數(shù)據(jù)轉(zhuǎn)移控制方法實時模式下的流程圖。圖2為根 據(jù)本發(fā)明的實施例的數(shù)據(jù)轉(zhuǎn)移控制方法非實時模式下的流程圖。如圖1-2所示,本發(fā)明所 公開的數(shù)據(jù)轉(zhuǎn)移控制方法包括如下步驟(Al)讀取配置信息;(A2)根據(jù)所述配置信息選擇 轉(zhuǎn)移模式,并使用系統(tǒng)當前時間和時間片以及所選擇的轉(zhuǎn)移模式確定轉(zhuǎn)移開始時間和轉(zhuǎn)移 結束時間;(A3)基于所述轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間依次讀取數(shù)據(jù)記錄,并完成轉(zhuǎn)移任 務記錄表;(A4)將所述轉(zhuǎn)移任務記錄表發(fā)送給轉(zhuǎn)移任務執(zhí)行模塊,由所述轉(zhuǎn)移任務執(zhí)行模 塊完成數(shù)據(jù)轉(zhuǎn)移任務;(A5)根據(jù)當前的轉(zhuǎn)移模式以及所述時間片重新確定轉(zhuǎn)移開始時間 和轉(zhuǎn)移結束時間,并返回步驟(A3)。其中,所述轉(zhuǎn)移模式包括實時模式和非實時模式。使用 所述實時模式,本發(fā)明所公開的數(shù)據(jù)轉(zhuǎn)移控制方法可以快速地將剛生成的數(shù)據(jù)從源數(shù)據(jù)庫 轉(zhuǎn)移到目標數(shù)據(jù)庫,并可控制轉(zhuǎn)移速度。使用所述非實時模式,本發(fā)明所公開的數(shù)據(jù)轉(zhuǎn)移控 制方法可以將數(shù)據(jù)完整地從源數(shù)據(jù)庫轉(zhuǎn)移到目標數(shù)據(jù)庫,并可控制轉(zhuǎn)移速度。在本發(fā)明所 公開的數(shù)據(jù)轉(zhuǎn)移控制方法中,所述時間片的含義如下根據(jù)配置信息將時間段人為劃分成 邏輯上的若干小段,所述一小段的時間即為一個時間片。所述配置信息中包含所述時間片 的配置信息。在本發(fā)明所公開的數(shù)據(jù)轉(zhuǎn)移控制方法中,源數(shù)據(jù)庫中的數(shù)據(jù)記錄具有時間相關字 段,用于記錄該數(shù)據(jù)記錄被操作完成時的當前系統(tǒng)時間。如圖1所示,在實時模式下,本發(fā)明所公開的數(shù)據(jù)轉(zhuǎn)移控制方法的步驟(A2)進一 步包括如下步驟獲取當前系統(tǒng)時間;將當前系統(tǒng)時間減去特定時間作為轉(zhuǎn)移開始時間; 將所述轉(zhuǎn)移開始時間加上時間片作為轉(zhuǎn)移結束時間。步驟(A3)進一步包括如下步驟讀取 狀態(tài)為“操作完成”的所有數(shù)據(jù)記錄;依次判斷每條數(shù)據(jù)記錄的操作完成時間是否小于轉(zhuǎn)移 結束時間并大于所述轉(zhuǎn)移開始時間;如果數(shù)據(jù)記錄的操作完成時間小于所述轉(zhuǎn)移結束時間 并大于所述轉(zhuǎn)移開始時間,則將所述數(shù)據(jù)記錄的狀態(tài)更新為“待轉(zhuǎn)移”,并同時更新所述轉(zhuǎn) 移任務記錄表。步驟(A5)進一步包括如下步驟讀取系統(tǒng)當前時間;將所述系統(tǒng)當前時間 減去所述特定時間作為備選轉(zhuǎn)移開始時間;將所述備選轉(zhuǎn)移開始時間加上所述時間片作為 新的轉(zhuǎn)移結束時間;判斷所述備選轉(zhuǎn)移開始時間是否大于上次轉(zhuǎn)移結束時間,如果所述備 選轉(zhuǎn)移開始時間大于上次轉(zhuǎn)移結束時間,則將所述備選轉(zhuǎn)移開始時間作為新的轉(zhuǎn)移開始時 間,否則,將上次轉(zhuǎn)移結束時間作為新的轉(zhuǎn)移開始時間。其中,所述特定時間由用戶動態(tài)配 置,例如,可以是η秒(0<η<60)。如圖1所示,本發(fā)明所公開的數(shù)據(jù)轉(zhuǎn)移控制方法的實 時轉(zhuǎn)移模式具有如下優(yōu)點在數(shù)據(jù)量很大的情況下,能夠?qū)斍跋到y(tǒng)時間之前η秒的數(shù)據(jù) 實時的轉(zhuǎn)移到目標數(shù)據(jù)庫,適用于實時性要求很高的轉(zhuǎn)移系統(tǒng),例如實時監(jiān)控。如圖2所示,在非實時模式下,本發(fā)明所公開的數(shù)據(jù)轉(zhuǎn)移控制方法的步驟(Α2)進 一步包括如下步驟獲取當前系統(tǒng)時間;根據(jù)配置信息設置轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時 間。步驟(A3)進一步包括如下步驟讀取狀態(tài)為“操作完成”的所有數(shù)據(jù)記錄;依次判斷每 條數(shù)據(jù)記錄的操作完成時間是否小于轉(zhuǎn)移結束時間;如果數(shù)據(jù)記錄的操作完成時間小于所 述轉(zhuǎn)移結束時間,則將所述數(shù)據(jù)記錄的狀態(tài)更新為“待轉(zhuǎn)移”,并同時更新所述轉(zhuǎn)移任務記 錄表。步驟(Α5)進一步包括如下步驟將所述轉(zhuǎn)移結束時間作為新的轉(zhuǎn)移開始時間,并將所述轉(zhuǎn)移結束時間加上所述時間片作為新的轉(zhuǎn)移結束時間;讀取系統(tǒng)當前時間并判斷所述 系統(tǒng)當前時間是否大于所述新的轉(zhuǎn)移結束時間;如果所述系統(tǒng)當前時間小于所述新的轉(zhuǎn)移 結束時間,則等待并在特定時間后重復讀取及判斷,如果所述系統(tǒng)當前時間大于所述新的 轉(zhuǎn)移結束時間,則返回步驟(A3)。如圖2所示,本發(fā)明所公開的數(shù)據(jù)轉(zhuǎn)移控制方法的非實時 轉(zhuǎn)移模式具有如下優(yōu)點可以通過時間片的不同配置進而控制數(shù)據(jù)轉(zhuǎn)移速度,并在轉(zhuǎn)移開 始后,數(shù)據(jù)記錄不會丟失,從而可以被完整地轉(zhuǎn)移到目標數(shù)據(jù)庫。圖3為根據(jù)本發(fā)明的實施例的數(shù)據(jù)轉(zhuǎn)移控制裝置的結構圖。如圖3所示,本發(fā)明 所公開的數(shù)據(jù)轉(zhuǎn)移控制裝置包括初始化模塊2、模式選擇模塊3、主控制模塊5、數(shù)據(jù)記錄讀 取模塊4、轉(zhuǎn)移任務調(diào)度模塊6和轉(zhuǎn)移起止時間設置模塊7。其中,所述初始化模塊2與主 控制模塊5相連接,用于讀取配置信息1,并將所述配置信息1發(fā)送給主控制模塊5。所述 主控制模塊5分別于其他各模塊相連接,用于根據(jù)接收到的配置信息1調(diào)用模式選擇模塊3 設置數(shù)據(jù)轉(zhuǎn)移模式并將選擇的數(shù)據(jù)轉(zhuǎn)移模式發(fā)送給轉(zhuǎn)移起止時間設置模塊7,在接收到數(shù) 據(jù)記錄模塊4發(fā)送的數(shù)據(jù)記錄后,根據(jù)由轉(zhuǎn)移起止時間設置模塊7確定的轉(zhuǎn)移開始時間和 轉(zhuǎn)移結束時間完成轉(zhuǎn)移任務記錄表,并將所述轉(zhuǎn)移任務記錄表發(fā)送給轉(zhuǎn)移任務調(diào)度模塊6。 所述模式選擇模塊3與主控制模塊5相連接,用于接受主控制模塊5的調(diào)用而選擇數(shù)據(jù)轉(zhuǎn) 移模式,并將選擇的數(shù)據(jù)轉(zhuǎn)移模式發(fā)送給主控制模塊5。所述數(shù)據(jù)記錄讀取模塊4與主控制 模塊5相連接,用于讀取數(shù)據(jù)記錄,并將讀取的數(shù)據(jù)記錄發(fā)送給主控制模塊5。所述轉(zhuǎn)移任 務調(diào)度模塊6與主控制模塊5相連接,用于將接收到的轉(zhuǎn)移任務記錄表發(fā)送給轉(zhuǎn)移任務執(zhí) 行裝置。以完成數(shù)據(jù)轉(zhuǎn)移任務。所述轉(zhuǎn)移起止時間設置模塊7與主控制模塊5相連接,用 于根據(jù)所述所選擇的數(shù)據(jù)轉(zhuǎn)移模式和時間片以及系統(tǒng)當前時間確定轉(zhuǎn)移開始時間和轉(zhuǎn)移 結束時間。其中,所述數(shù)據(jù)轉(zhuǎn)移模式包括實時模式和非實時模式。在本發(fā)明所公開的數(shù)據(jù) 轉(zhuǎn)移控制裝置中,所述配置信息中包含所述時間片的配置信息。在本發(fā)明所公開的數(shù)據(jù)轉(zhuǎn)移控制裝置中,源數(shù)據(jù)庫中的數(shù)據(jù)記錄具有時間相關字 段,用于記錄該數(shù)據(jù)記錄被操作完成時的當前系統(tǒng)時間。如圖3所示,在實時模式下,所述轉(zhuǎn)移起止時間設置模塊7在第一次確定轉(zhuǎn)移開始 時間和轉(zhuǎn)移結束時間時包括如下工作過程獲取當前系統(tǒng)時間;將當前系統(tǒng)時間減去特定 時間作為轉(zhuǎn)移開始時間;將所述轉(zhuǎn)移開始時間加上時間片作為轉(zhuǎn)移結束時間。在實時模式 下,所述轉(zhuǎn)移起止時間設置模塊7在非第一次確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間時包括如 下工作過程讀取系統(tǒng)當前時間;將所述系統(tǒng)當前時間減去所述特定時間作為備選轉(zhuǎn)移開 始時間;將所述備選轉(zhuǎn)移開始時間加上所述時間片作為新的轉(zhuǎn)移結束時間;判斷所述備選 轉(zhuǎn)移開始時間是否大于上次轉(zhuǎn)移結束時間,如果所述備選轉(zhuǎn)移開始時間大于上次轉(zhuǎn)移結束 時間,則將所述備選轉(zhuǎn)移開始時間作為新的轉(zhuǎn)移開始時間,否則,將上次轉(zhuǎn)移結束時間作為 新的轉(zhuǎn)移開始時間。在實時模式下,所述主控制模塊5包括如下工作過程依次判斷每條數(shù) 據(jù)記錄的操作完成時間是否小于轉(zhuǎn)移結束時間并大于所述轉(zhuǎn)移開始時間;如果數(shù)據(jù)記錄的 操作完成時間小于所述轉(zhuǎn)移結束時間并大于所述轉(zhuǎn)移開始時間,則將所述數(shù)據(jù)記錄的狀態(tài) 更新為“待轉(zhuǎn)移”,并同時更新所述轉(zhuǎn)移任務記錄表。在本發(fā)明所公開的數(shù)據(jù)轉(zhuǎn)移控制裝置的實時轉(zhuǎn)移模式下,所述特定時間由用戶動 態(tài)配置,例如,可以是η秒(η <60)。如圖3所示,本發(fā)明所公開的數(shù)據(jù)轉(zhuǎn)移控制裝置的實 時轉(zhuǎn)移模式具有如下優(yōu)點在數(shù)據(jù)量很大的情況下,能夠?qū)斍跋到y(tǒng)時間之前η秒的數(shù)據(jù)實時的轉(zhuǎn)移到目標數(shù)據(jù)庫,適用于實時性要求很高的轉(zhuǎn)移系統(tǒng),例如實時監(jiān)控。如圖3所示,在非實時模式下,所述轉(zhuǎn)移起止時間設置模塊7在第一次確定轉(zhuǎn)移開 始時間和轉(zhuǎn)移結束時間時包括如下工作過程獲取當前系統(tǒng)時間;根據(jù)配置信息設置轉(zhuǎn)移 開始時間和轉(zhuǎn)移結束時間。在非實時模式下,所述轉(zhuǎn)移起止時間設置模塊7在非第一次確 定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間時包括如下工作過程將上一次轉(zhuǎn)移結束時間作為新的轉(zhuǎn) 移開始時間,并將上一次轉(zhuǎn)移結束時間加上所述時間片作為新的轉(zhuǎn)移結束時間;讀取系統(tǒng) 當前時間并判斷所述系統(tǒng)當前時間是否大于所述新的轉(zhuǎn)移結束時間;如果所述系統(tǒng)當前時 間小于所述新的轉(zhuǎn)移結束時間,則等待并在特定時間后重復讀取及判斷,如果所述系統(tǒng)當 前時間大于所述新的轉(zhuǎn)移結束時間,則返回步驟(A3)。在非實時模式下,所述主控制模塊5 包括如下工作過程依次判斷每條數(shù)據(jù)記錄的操作完成時間是否小于轉(zhuǎn)移結束時間;如果 數(shù)據(jù)記錄的操作完成時間小于所述轉(zhuǎn)移結束時間,則將所述數(shù)據(jù)記錄的狀態(tài)更新為“待轉(zhuǎn) 移”,并同時更新所述轉(zhuǎn)移任務記錄表。如圖2所示,本發(fā)明所公開的數(shù)據(jù)轉(zhuǎn)移控制裝置的 非實時數(shù)據(jù)轉(zhuǎn)移模式具有如下優(yōu)點可以通過時間片的不同配置進而控制數(shù)據(jù)轉(zhuǎn)移速度, 并在轉(zhuǎn)移開始后,數(shù)據(jù)記錄不會丟失,從而可以被完整地轉(zhuǎn)移到目標數(shù)據(jù)庫。盡管本發(fā)明是通過上述的優(yōu)選實施方式進行描述的,但是其實現(xiàn)形式并不局限于 上述的實施方式。應該認識到在不脫離本發(fā)明主旨和范圍的情況下,本領域技術人員可以 對本發(fā)明做出不同的變化和修改。
權利要求
1.一種數(shù)據(jù)轉(zhuǎn)移控制方法,所述數(shù)據(jù)轉(zhuǎn)移控制方法包括如下步驟(Al)讀取配置信息;(A2)根據(jù)所述配置信息選擇轉(zhuǎn)移模式,并使用系統(tǒng)當前時間和時間片以及所選擇的轉(zhuǎn) 移模式確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間;(A3)基于所述轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間依次讀取數(shù)據(jù)記錄,并完成轉(zhuǎn)移任務記錄表;(A4)將所述轉(zhuǎn)移任務記錄表發(fā)送給轉(zhuǎn)移任務執(zhí)行模塊,由所述轉(zhuǎn)移任務執(zhí)行模塊完成 數(shù)據(jù)轉(zhuǎn)移任務;(A5)根據(jù)當前的轉(zhuǎn)移模式以及所述時間片重新確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間,并 返回步驟(A3)。
2.根據(jù)權利要求1所述的數(shù)據(jù)轉(zhuǎn)移控制方法,其特征在于,所述轉(zhuǎn)移模式包括實時模 式和非實時模式。
3.根據(jù)權利要求1-2中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制方法,其特征在于,所述 數(shù)據(jù)記錄具有時間相關字段,用于記錄該數(shù)據(jù)記錄被操作完成時的當前系統(tǒng)時間。
4.根據(jù)權利要求1-3中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制方法,其特征在于,在所 述實時模式下,步驟(A2)進一步包括如下步驟獲取當前系統(tǒng)時間;將當前系統(tǒng)時間減去 特定時間作為轉(zhuǎn)移開始時間;將所述轉(zhuǎn)移開始時間加上時間片作為轉(zhuǎn)移結束時間,其中,所 述特定時間為η秒,且0 < η < 6 0。
5.根據(jù)權利要求1-3中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制方法,其特征在于,在所 述實時模式下,步驟(A3)進一步包括如下步驟讀取狀態(tài)為“操作完成”的所有數(shù)據(jù)記錄; 依次判斷每條數(shù)據(jù)記錄的操作完成時間是否小于所述轉(zhuǎn)移結束時間并大于所述轉(zhuǎn)移開始 時間;如果數(shù)據(jù)記錄的操作完成時間小于所述轉(zhuǎn)移結束時間并大于所述轉(zhuǎn)移開始時間,則 將所述數(shù)據(jù)記錄的狀態(tài)更新為“待轉(zhuǎn)移”,并同時更新所述轉(zhuǎn)移任務記錄表。
6.根據(jù)權利要求1-3中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制方法,其特征在于,在所 述實時模式下,步驟(Α5)進一步包括如下步驟讀取系統(tǒng)當前時間;將所述系統(tǒng)當前時間 減去所述特定時間作為備選轉(zhuǎn)移開始時間;將所述備選轉(zhuǎn)移開始時間加上所述時間片作為 新的轉(zhuǎn)移結束時間;判斷所述備選轉(zhuǎn)移開始時間是否大于上次轉(zhuǎn)移結束時間,如果所述備 選轉(zhuǎn)移開始時間大于上次轉(zhuǎn)移結束時間,則將所述備選轉(zhuǎn)移開始時間作為新的轉(zhuǎn)移開始時 間,否則,將上次轉(zhuǎn)移結束時間作為新的轉(zhuǎn)移開始時間。
7.根據(jù)權利要求1-3中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制方法,其特征在于,在所 述非實時模式下,步驟(Α2)進一步包括如下步驟獲取當前系統(tǒng)時間;根據(jù)配置信息設置 轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間。
8.根據(jù)權利要求1-3中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制方法,其特征在于,在所 述非實時模式下,步驟(A3)進一步包括如下步驟讀取狀態(tài)為“操作完成”的所有數(shù)據(jù)記 錄;依次判斷每條數(shù)據(jù)記錄的操作完成時間是否小于所述轉(zhuǎn)移結束時間;如果數(shù)據(jù)記錄的 操作完成時間小于所述轉(zhuǎn)移結束時間,則將所述數(shù)據(jù)記錄的狀態(tài)更新為“待轉(zhuǎn)移”,并同時 更新所述轉(zhuǎn)移任務記錄表。
9.根據(jù)權利要求1-3中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制方法,其特征在于,在所 述非實時模式下,步驟(Α5)進一步包括如下步驟將所述轉(zhuǎn)移結束時間作為新的轉(zhuǎn)移開始時間,并將所述轉(zhuǎn)移結束時間加上所述時間片作為新的轉(zhuǎn)移結束時間;讀取系統(tǒng)當前時間 并判斷所述系統(tǒng)當前時間是否大于所述新的轉(zhuǎn)移結束時間;如果所述系統(tǒng)當前時間小于所 述新的轉(zhuǎn)移結束時間,則等待并在特定時間后重復讀取及判斷,如果所述系統(tǒng)當前時間大 于所述新的轉(zhuǎn)移結束時間,則返回步驟(A3)。
10.一種數(shù)據(jù)轉(zhuǎn)移控制裝置,所述數(shù)據(jù)轉(zhuǎn)移控制裝置包括初始化模塊、模式選擇模塊、 主控制模塊、數(shù)據(jù)記錄讀取模塊、轉(zhuǎn)移任務調(diào)度模塊和轉(zhuǎn)移起止時間設置模塊,其中,所述初始化模塊與所述主控制模塊相連接,用于讀取配置信息,并將所述配置信息發(fā) 送給所述主控制模塊;所述主控制模塊分別與初始化模塊、模式選擇模塊、數(shù)據(jù)記錄讀取模塊、轉(zhuǎn)移任務調(diào)度 模塊和轉(zhuǎn)移起止時間設置模塊相連接,用于根據(jù)接收到的所述配置信息調(diào)用所述模式選擇 模塊進行轉(zhuǎn)移模式的選擇,并將選擇的轉(zhuǎn)移模式發(fā)送給所述轉(zhuǎn)移起止時間設置模塊,在接 收到所述數(shù)據(jù)記錄讀取模塊發(fā)送的數(shù)據(jù)記錄后,根據(jù)由所述轉(zhuǎn)移起止時間設置模塊確定的 轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間完成轉(zhuǎn)移任務記錄表,并將所述轉(zhuǎn)移任務記錄表發(fā)送給所述 轉(zhuǎn)移任務調(diào)度模塊;所述模式選擇模塊與所述主控制模塊相連接,用于接受所述主控制模塊的調(diào)用而選擇 轉(zhuǎn)移模式,并將選擇的轉(zhuǎn)移模式發(fā)送給所述主控制模塊;所述數(shù)據(jù)記錄讀取模塊與所述主控制模塊相連接,用于讀取數(shù)據(jù)記錄,并將讀取的數(shù) 據(jù)記錄發(fā)送給所述主控制模塊;所述轉(zhuǎn)移任務調(diào)度模塊與所述主控制模塊相連接,用于將接收到的轉(zhuǎn)移任務記錄表發(fā) 送給轉(zhuǎn)移任務執(zhí)行裝置,由所述轉(zhuǎn)移任務執(zhí)行裝置完成數(shù)據(jù)轉(zhuǎn)移任務;所述轉(zhuǎn)移起止時間設置模塊與所述主控制模塊相連接,用于根據(jù)所述所選擇的轉(zhuǎn)移模 式和時間片以及系統(tǒng)當前時間確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間。
11.根據(jù)權利要求10所述的數(shù)據(jù)轉(zhuǎn)移控制裝置,其特征在于,所述轉(zhuǎn)移模式包括實時 模式和非實時模式。
12.根據(jù)權利要求10-11中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制裝置,其特征在于,所 述數(shù)據(jù)記錄具有時間相關字段,用于記錄該數(shù)據(jù)記錄被操作完成時的當前系統(tǒng)時間。
13.根據(jù)權利要求10-12中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制裝置,其特征在于,在 所述實時模式下,所述轉(zhuǎn)移起止時間設置模塊在第一次確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間 時包括如下工作過程獲取當前系統(tǒng)時間;將當前系統(tǒng)時間減去特定時間作為轉(zhuǎn)移開始時 間;將所述轉(zhuǎn)移開始時間加上時間片作為轉(zhuǎn)移結束時間,其中,所述特定時間為η秒,且0 < η < 60。
14.根據(jù)權利要求10-12中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制裝置,其特征在于,在 所述實時模式下,所述轉(zhuǎn)移起止時間設置模塊在非第一次確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時 間時包括如下工作過程讀取系統(tǒng)當前時間;將所述系統(tǒng)當前時間減去所述特定時間作為 備選轉(zhuǎn)移開始時間;將所述備選轉(zhuǎn)移開始時間加上所述時間片作為新的轉(zhuǎn)移結束時間;判 斷所述備選轉(zhuǎn)移開始時間是否大于上次轉(zhuǎn)移結束時間,如果所述備選轉(zhuǎn)移開始時間大于上 次轉(zhuǎn)移結束時間,則將所述備選轉(zhuǎn)移開始時間作為新的轉(zhuǎn)移開始時間,否則,將上次轉(zhuǎn)移結 束時間作為新的轉(zhuǎn)移開始時間。
15.根據(jù)權利要求10-12中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制裝置,其特征在于,在所述實時模式下,所述主控制模塊包括如下工作過程依次判斷每條數(shù)據(jù)記錄的操作完成 時間是否小于所述轉(zhuǎn)移結束時間并大于所述轉(zhuǎn)移開始時間;如果數(shù)據(jù)記錄的操作完成時間 小于所述轉(zhuǎn)移結束時間并大于所述轉(zhuǎn)移開始時間,則將所述數(shù)據(jù)記錄的狀態(tài)更新為“待轉(zhuǎn) 移”,并同時更新所述轉(zhuǎn)移任務記錄表。
16.根據(jù)權利要求10-12中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制裝置,其特征在于,在 所述非實時模式下,所述轉(zhuǎn)移起止時間設置模塊在第一次確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時 間時包括如下工作過程獲取當前系統(tǒng)時間;根據(jù)配置信息設置轉(zhuǎn)移開始時間和轉(zhuǎn)移結束 時間。
17.根據(jù)權利要求10-12中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制裝置,其特征在于,在 所述非實時模式下,所述轉(zhuǎn)移起止時間設置模塊在非第一次確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束 時間時包括如下工作過程將上一次轉(zhuǎn)移結束時間作為新的轉(zhuǎn)移開始時間,并將上一次轉(zhuǎn) 移結束時間加上所述時間片作為新的轉(zhuǎn)移結束時間,讀取系統(tǒng)當前時間并判斷所述系統(tǒng)當 前時間是否大于所述新的轉(zhuǎn)移結束時間;如果所述系統(tǒng)當前時間小于所述新的轉(zhuǎn)移結束時 間,則等待并在特定時間后重復讀取及判斷過程,如果所述系統(tǒng)當前時間大于所述新的轉(zhuǎn) 移結束時間,則返回步驟(A3)。
18.根據(jù)權利要求10-12中任一個權利要求所述的數(shù)據(jù)轉(zhuǎn)移控制裝置,其特征在于, 在所述非實時模式下,所述主控制模塊包括如下工作過程依次判斷每條數(shù)據(jù)記錄的操作 完成時間是否小于所述轉(zhuǎn)移結束時間;如果數(shù)據(jù)記錄的操作完成時間小于所述轉(zhuǎn)移結束時 間,則將所述數(shù)據(jù)記錄的狀態(tài)更新為“待轉(zhuǎn)移”,并同時更新所述轉(zhuǎn)移任務記錄表。
全文摘要
本發(fā)明提出了一種數(shù)據(jù)轉(zhuǎn)移控制方法及裝置。其中,所述數(shù)據(jù)轉(zhuǎn)移控制方法包括如下步驟讀取配置信息;根據(jù)所述配置信息選擇轉(zhuǎn)移模式,并使用系統(tǒng)當前時間和時間片以及所選擇的轉(zhuǎn)移模式確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間;基于所述轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間依次讀取數(shù)據(jù)記錄,并完成轉(zhuǎn)移任務記錄表;將所述轉(zhuǎn)移任務記錄表發(fā)送給轉(zhuǎn)移任務執(zhí)行模塊,以完成數(shù)據(jù)轉(zhuǎn)移任務;根據(jù)當前的轉(zhuǎn)移模式以及所述時間片重新確定轉(zhuǎn)移開始時間和轉(zhuǎn)移結束時間,并進行后續(xù)處理。
文檔編號G06F17/30GK102004746SQ20091019502
公開日2011年4月6日 申請日期2009年9月2日 優(yōu)先權日2009年9月2日
發(fā)明者白玫, 陳林 申請人:中國銀聯(lián)股份有限公司