新四季網

數據同步方法及裝置的製作方法

2023-10-06 13:23:29 1

專利名稱:數據同步方法及裝置的製作方法
技術領域:
本發明涉及資料庫技術領域,尤其涉及一種數據同步方法及裝置。
背景技術:
隨著計算機網絡的發展,網上消費已經深入到人們的日常生活之中,相應的實時 交易系統所處理的數據量不斷增加。很多網絡實時交易系統不得不將原來的一個資料庫實 例,按不同功能模塊,分成兩個或多個資料庫實例,以降低資料庫訪問壓力。比如,將資料庫 分為在線資料庫和後線資料庫,在線資料庫負責聯機交易處理,後線資料庫負責批量交易、 客服查詢、統計分析等。 由於多個資料庫實例的應用,導致了資料庫之間的數據同步成為最關鍵的技術之 一。通常需要將在線資料庫同步到後線資料庫,並且在同步時需要考慮實時性和正確性; 同時,由於設計的功能不同,對應的表結構可能有所差異,需要在同步時能支持欄位的映射 (甚至一對多的映射)或者表名的映射(設置一對多、多對一的映射),並且也可能不是全 部數據都同步,而是僅僅針對指定條件的數據進行同步。 現有的數據同步方法需要在實時交易時,單獨記錄數據的變化情況,並利用同步 程序輪詢數據變化情況,根據輪詢的結果,將變化的數據從源資料庫中取出,再對應的添加 到目標資料庫中。但是輪詢源資料庫表的變化情況會帶來一定的系統開銷,因此輪詢周期 的設定就存在兩難的情況,輪詢周期設得過長,會導致同步數據的滯後,目標資料庫無法滿 足資料庫同步的實時性需求;而輪詢周期設置得過短,則會導致源資料庫系統的巨大開銷, 從而影響源資料庫的響應速度。

發明內容
本發明實施例提供一種數據同步方法及其裝置,用以解決現有數據同步技術中系 統開銷過大的問題。 本發明實施例提供了一種數據同步的方法,包括獲得對應源資料庫的操作日誌 記錄,所述操作日誌記錄用於記錄當前時刻之前的規定時長內對源資料庫的各操作行為和 操作信息;根據獲得的操作日誌記錄的每一條記錄對應的操作行為和操作信息,對目標數 據庫執行對應的操作。 本發明實施例提供了一種數據同步的裝置,包括操作日誌記錄獲取單元,用於獲 得對應源資料庫的操作日誌記錄,所述操作日誌記錄用於記錄當前時刻之前的規定時長內 對源資料庫的各操作行為和操作信息;數據同步單元,用於根據操作日誌記錄獲取單元獲 得的操作日誌記錄的每一條記錄對應的操作行為和操作信息,對目標資料庫執行對應的操 作。 本發明實施例提供的數據同步方法及其裝置,通過讀取源資料庫的日誌,解析針 對源資料庫的數據操作,並在目標資料庫上執行相同的數據操作,實現資料庫之間的數據 同步。本發明實施例提供的數據同步方法及其裝置降低了數據同步方法中的系統開銷,提
4高了數據同步的實時性和準確性。


圖1是本發明實施例1提供的數據同步方法的流程圖;
圖2是本發明實施例2提供的數據同步裝置的結構示意圖。
具體實施例方式
本發明通過解析源資料庫事務日誌來提取數據變化情況,將其轉換成SQL語句, 並在目標資料庫上執行,對目標資料庫執行相同的數據操作,以此完成源資料庫與目標數 據庫之間的數據同步。 資料庫事務日誌完整記錄了源資料庫發生的每一次數據變化,並且按照數據變化 的時間順序,記錄了數據處理、事務提交、事務回滾等操作。事務日誌可以準確的反應源數 據庫數據變化的順序、內容以及事務的操作用戶等信息。通過解析事務日誌,可以完全再 現導致數據變化的SQL語句,並將語句在目標資料庫實例上運行,實現數據的同步;同時可 以通過查看由解析日誌得到的SQL語句和提交對應事務的用戶,追溯每一個數據操作的來 源,實現數據的監控。 本發明實施例1提供了一種數據同步方法,如圖1所示,具體包括 S101、獲得對應源資料庫的操作日誌記錄,所述操作日誌記錄用於記錄當前時刻
之前的規定時長內對源資料庫的各操作行為和操作信息; 通過調用資料庫引擎提供的應用程式編程接口 (API, ApplicationProgramming Interface),可以在源資料庫中讀取資料庫的事務日誌。為了提高效率,可以從源資料庫中 一次讀取當前時刻之前一定時間長度內的所有事務日誌記錄。改時間長度由數據同步的實 時性要求以及系統的處理能力決定。事務日誌記錄中包括針對資料庫的操作的記錄,為操 作日誌記錄。操作日誌記錄的每條記錄裡包括了針對源資料庫的操作行為和操作信息。
操作日誌記錄中針對數據的操作行為主要有數據更新(insert/update/ delete/undo insert/undo update/undo delete)禾口事務提交(commit)、回滾(rollback) 等操作。可以通過讀取的事務日誌記錄的二進位標識碼將上述針對數據操作的日誌記錄與 其他日誌記錄區分並將其讀取出來。 為了提高整個操作的效率,可以採用多線程異步處理機制。當採用多線程機制時, 讀取線程在讀取到事務日誌記錄後,將區分出來的操作日誌記錄壓入"原始日誌隊列"。如 果讀取線程讀取到的日誌記錄數量小於指定條數,則表明已經達到事務日誌的末尾,此時, 讀取線程睡眠一段時間之後再重試讀取。 S102、根據獲得的操作日誌記錄的每一條記錄對應的操作行為和操作信息,對目 標資料庫執行對應的操作。 將得到的針對數據操作的操作日誌記錄,根據日誌記錄的類型、格式等對相應的 日誌記錄進行解析處理,得到對源資料庫中數據的操作行為和操作信息,將其轉換為相應 的對資料庫進行數據處理的指令。可以是轉換為相應SQL語句。 可以根據事務ID建立對應的日誌記錄列表, 一般一個日誌記錄對應一個事務,當 遇到大事務(一個事務下有很多條的日誌記錄)的情況下,所有操作針對的是同一個操作
5信息進行的,或者同樣的操作行為針對不同的操作信息進行的,此時可以將大事務對應的 所有操作日誌記錄進行合併處理。並且可以將對應的日誌列表部分序列化保存到磁碟上, 從而可以防止內存溢出; 在對源資料庫的日誌記錄進行解析時,當出現撤銷操作(undo)的日誌記錄時,則 在日誌記錄中先前解析出針對資料庫的操作中的找到對應的需要被撤銷的操作,將兩個操 作合併,相互抵消,不必在目標資料庫中執行,這樣將有效地提高數據同步的處理效率;
當採用多線程異步處理機制時,從"原始日誌隊列"中提取操作日誌記錄,出現事 務提交(commit)日誌記錄時,則將對應事務操作的日誌記錄,轉換成原始SQL語句然後全 部壓入"已解析日誌隊列"(此操作根據"已解析日誌隊列"和"同步隊列"中的日誌數量動 態處理,當"已解析日誌隊列"中記錄過多時,可以將再現SQL語句的過程放到後續步驟中 進行處理)。 遇到事務回滾日誌記錄時,則刪除相應的操作日誌記錄對應的操作行為和操作信 息,不進行數據同步,從而提高數據同步的效率。 在目標資料庫中進行操作時,可以首先判斷操作是否滿足目標資料庫的過濾條件
(例如阻止針對某些數據內容的操作或者阻止某些固定的操作等),當不滿足過濾條件時, 操作不予執行;否則在目標資料庫中執行源資料庫中獲得的操作日誌記錄對應的操作行為
和操作信息,實現數據的同步。 當採用多線程異步處理機制時,從"已解析日誌隊列"中提取記錄,由於不同的數 據庫表對應不同的"同步隊列"和同步線程,所以,需要將具體的操作行為和操作信息或者 轉換得到的SQL語句等內容壓入對應資料庫表的"同步隊列"(每個資料庫表一個"同步隊 列"和一個同步線程); 資料庫表的同步線程從"同步隊列"中提取操作行為和操作信息,如果尚未轉換成 SQL語句,則根據操作行為和操作信息進行轉換得到SQL語句,然後在目標資料庫中執行相 應的SQL語句,完成數據的同步。 對應於本發明實施例1提供的數據同步的方法,本發明實施例2提供了一種數據 同步的裝置,其結構示意圖如圖2所示,包括 操作日誌記錄獲取單元201,用於獲得對應源資料庫的操作日誌記錄,所述操作日 志記錄用於記錄當前時刻之前的規定時長內對源資料庫的各操作行為和操作信息;
數據同步單元202,用於根據操作日誌記錄獲取單元201獲得的操作日誌記錄的 每一條記錄對應的操作行為和操作信息,對目標資料庫執行對應的操作。
數據同步單元包括 記錄合併處理子單元2021,根據操作日誌記錄獲取單元201獲得的操作日誌記錄 中的每一條記錄對應的操作行為和/或操作信息,對各條記錄進行合併處理。
記錄合併處理子單元2021用於將對應相同操作信息的操作行為和對應的撤銷該 操作行為分別所在的記錄進行合併處理; 記錄合併處理子單元2021還可以用於將各條記錄中包含相同操作行為的記錄進
行合併處理;或者用於將各條記錄中包含相同操作信息的記錄進行合併處理。 數據同步子單元2022,用於基於記錄合併處理子單元2021合併得到的各條記錄
中的每一條記錄對應的操作行為和操作信息,對目標資料庫執行對應的操作。
數據同步單元202包括 指令生成子單元2023,用於根據操作日誌記錄獲取單元201獲得的操作日誌記錄 的每一條記錄對應的操作行為和操作信息,生成對應的包括該操作信息的、具有指示目標 資料庫執行對應操作行為的指令; 數據同步子單元2024,用於基於指令生成子單元2023生成的指令對目標資料庫 執行對應的操作。 相對於現有的數據同步方法及設備,本發明實施例不需要輪詢源資料庫來得到每 一個在線交易的記錄,從而減少了對源資料庫數據的訪問次數,降低資料庫壓力的效果明 顯;並且能夠滿足數據同步的高實時性的要求。 顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精 神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍 之內,則本發明也意圖包含這些改動和變型在內。
權利要求
一種數據同步的方法,其特徵在於,包括獲得對應源資料庫的操作日誌記錄,所述操作日誌記錄用於記錄當前時刻之前的規定時長內對源資料庫的各操作行為和操作信息;根據獲得的操作日誌記錄的每一條記錄對應的操作行為和操作信息,對目標資料庫執行對應的操作。
2. 如權利要求1所述的方法,其特徵在於,根據操作日誌記錄的每一記錄對應的操作 行為和操作信息,對目標資料庫執行對應的操作,包括根據獲得的操作日誌記錄中的每一條記錄對應的操作行為和/或操作信息,對各條記 錄進行合併處理;基於合併後得到的各條記錄中的每一條記錄對應的操作行為和操作信息,對目標數據 庫執行對應的操作。
3. 如權利要求2所述的方法,其特徵在於,所述對各條記錄進行合併處理,包括 將對應相同操作信息的操作行為和對應的撤銷該操作行為分別所在的記錄進行合併處理。
4. 如權利要求2所述的方法,其特徵在於,所述對各條記錄進行合併處理,包括 將各條記錄中包含相同操作行為的記錄進行合併處理;或 將各條記錄中包含相同操作信息的記錄進行合併處理。
5. 如權利要求1或2所述的方法,其特徵在於,所述對目標資料庫執行對應的操作,具 體為根據每一條記錄對應的操作行為和操作信息,生成對應的包括該操作信息的、具有指 示目標資料庫執行對應操作行為的指令;以及基於生成的指令對目標資料庫執行對應的操作。
6. 如權利要求5所述的方法,其特徵在於,所述指令為基於SQL語句的指令。
7. —種數據同步的裝置,其特徵在於,包括操作日誌記錄獲取單元,用於獲得對應源資料庫的操作日誌記錄,所述操作日誌記錄 用於記錄當前時刻之前的規定時長內對源資料庫的各操作行為和操作信息;數據同步單元,用於根據操作日誌記錄獲取單元獲得的操作日誌記錄的每一條記錄對 應的操作行為和操作信息,對目標資料庫執行對應的操作。
8. 如權利要求7所述的裝置,其特徵在於,所述數據同步單元包括 記錄合併處理子單元,根據操作日誌記錄獲取單元獲得的操作日誌記錄中的每一條記錄對應的操作行為和/或操作信息,對各條記錄進行合併處理;數據同步子單元,用於基於記錄合併處理子單元合併得到的各條記錄中的每一條記錄 對應的操作行為和操作信息,對目標資料庫執行對應的操作。
9. 如權利要求8所述的裝置,其特徵在於,所述記錄合併處理子單元通過將對應相同 操作信息的操作行為和對應的撤銷該操作行為分別所在的記錄進行合併處理。
10. 如權利要求8所述的裝置,其特徵在於,所述記錄合併處理子單元通過將各條記錄 中包含相同操作行為的記錄進行合併處理;或通過將各條記錄中包含相同操作信息的記錄進行合併處理。
11. 如權利要求7所述的裝置,其特徵在於,所述數據同步單元包括指令生成子單元,用於根據操作日誌記錄獲取單元獲得的操作日誌記錄的每一條記錄 對應的操作行為和操作信息,生成對應的包括該操作信息的、具有指示目標資料庫執行對 應操作行為的指令;指令執行子單元,用於基於指令生成子單元生成的指令對目標資料庫執行對應的操作。
全文摘要
本發明實施例提供了一種數據同步的方法,包括獲得對應源資料庫的操作日誌記錄,所述操作日誌記錄用於記錄當前時刻之前的規定時長內對源資料庫的各操作行為和操作信息;根據獲得的操作日誌記錄的每一條記錄對應的操作行為和操作信息,對目標資料庫執行對應的操作。本發明實施例提供的數據同步方法通過讀取源資料庫的日誌,解析針對源資料庫的數據操作,並在目標資料庫上執行相同的數據操作,實現資料庫之間的數據同步。本發明實施例提供的數據同步方法及其裝置降低了數據同步方法中的系統開銷,提高了數據同步的實時性和準確性。
文檔編號G06F17/30GK101719149SQ200910241240
公開日2010年6月2日 申請日期2009年12月3日 優先權日2009年12月3日
發明者吳宏強, 陳瑛綺 申請人:聯動優勢科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀