[發明專利]一種數據同步時的數據初始化方法有效
| 申請號: | 201811338934.0 | 申請日: | 2018-11-12 |
| 公開(公告)號: | CN109614444B | 公開(公告)日: | 2023-05-16 |
| 發明(設計)人: | 孫峰;付銓 | 申請(專利權)人: | 武漢達夢數據庫股份有限公司;華中科技大學 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F16/23 |
| 代理公司: | 武漢智嘉聯合知識產權代理事務所(普通合伙) 42231 | 代理人: | 黃君軍 |
| 地址: | 430000 湖北省武漢市東湖新技術開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 同步 初始化 方法 | ||
本發明公開一種數據同步時的數據初始化方法,包括以下步驟:步驟S1、在待初始化的裝載表上定義更新游標,在源端數據庫創建輔助表;步驟S2、撥動所述更新游標遍歷所述裝載表,并依次將所述更新游標所在行刪除,每完成設定值的刪除操作后在所述輔助表中插入裝載表的信息并回滾整個事務,直至遍歷完成;步驟S3、數據庫日志同步解析模塊通過分析上述過程的操作日志,完成所述裝載表的初始化。本發明提供的數據同步時的數據初始化方法,在初始化過程中不需要上表鎖,不會讀取到源端數據庫正在修改且沒有提交的行,不會影響到源端數據庫的正常工作。
技術領域
本發明涉及數據同步時數據初始化技術領域,具體涉及一種數據同步時的數據初始化方法。
背景技術
在搭建兩個數據庫之間的同步時,需要初始化目標端數據庫的數據。現有技術中,對加鎖機制的數據庫進行初始化時,通常需要對數據庫上表讀鎖,因此,數據庫在進行初始化的過程中,會拒絕外部寫訪問,導致初始化時用戶表無法訪問的問題,影響數據庫的正常使用。如果不上讀鎖,在初始化過程中容易出現讀取到數據庫中正在被修改且沒有提交的行,影響數據裝載的一致性。
發明內容
本發明的目的在于克服上述技術不足,提供一種數據同步時的數據初始化方法,解決現有技術中數據庫初始化需要上表讀鎖,容易出現讀取到數據庫中正在被修改且沒有提交的行,影響數據裝載一致性的技術問題。
為達到上述技術目的,本發明的技術方案提供一種數據同步時的數據初始化方法,包括以下步驟:
步驟S1、在待初始化的裝載表上定義更新游標,在源端數據庫創建輔助表;
步驟S2、撥動所述更新游標遍歷所述裝載表,并依次將所述更新游標所在行刪除,每完成設定值的刪除操作后在所述輔助表中插入裝載表的信息并回滾整個事務,直至遍歷完成;
步驟S3、數據庫日志同步解析模塊通過分析上述過程的操作日志,完成所述裝載表的初始化。
與現有技術相比,本發明的有益效果包括:本發明在初始化過程中,設置了設定值,每完成設定值個刪除操作就會進行回滾操作,將裝載表的刪除操作分成多段進行,使得進行數據初始化時,不再需要對裝載表上表鎖,只需對裝載表上行鎖即可。而回滾操作不會要求數據庫立即進行日志刷盤,可以減輕數據庫的IO負擔。由于初始化過程中只需要對裝載表上行鎖,因此很大程度上降低了初始化過程對源端數據庫的影響,在初始化過程中,用戶仍然可以正常訪問源端數據庫,讀取和修改裝載表上的數據。同時,本發明通過更新游標的撥動遍歷裝載表,當撥動到正在修改且沒有提交的行時,更新游標撥動就會被阻塞,避免了初始化時讀取到這些正在修改的臟數據,減小初始化過程對源端數據庫的數據修改操作的影響。
附圖說明
圖1是本發明提供的數據同步時的數據初始化方法的流程圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
如圖1所示,本發明的實施例1提供了一種數據同步時的數據初始化方法,包括以下步驟:
步驟S1、在待初始化的裝載表上定義更新游標,在源端數據庫創建輔助表;
步驟S2、撥動所述更新游標遍歷所述裝載表,并依次將所述更新游標所在行刪除,每完成設定值的刪除操作后在所述輔助表中插入裝載表的信息并回滾整個事務,直至遍歷完成;
步驟S3、數據庫日志同步解析模塊通過分析上述過程的操作日志,完成所述裝載表的初始化。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢達夢數據庫股份有限公司;華中科技大學,未經武漢達夢數據庫股份有限公司;華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811338934.0/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





