System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及數據處理,尤其涉及一種數據同步方法、裝置及電子設備。
技術介紹
1、隨著數據業務的增長、不同功能與場景下的不同數據的分化,對不同種類數據庫之間進行數據同步處理的需求越來越高。
2、相關技術中,對不同數據庫之間的數據進行同步處理的方法通常是利用人工對數據表進行分片抽取,即人工選擇主鍵或者常用條件列作為分片鍵,并基于該分片鍵對數據進行分片,然后基于分片進行數據同步。然而,人工進行數據分片的數據同步處理方式可能導致某些分片上的數據量過大,另一些分片上的數據量過小,導致數據傾斜,進而影響數據同步效率和數據同步的準確性。因此,需要提供一種能夠提高數據同步的效率以及數據同步準確性的數據同步方法。
技術實現思路
1、本專利技術實施例的目的是提供一種數據同步方法、裝置及電子設備,以解決現有技術中數據同步準確性較差、數據同步效率較低的問題。
2、為解決上述技術問題,本專利技術實施例是這樣實現的:
3、第一方面,本專利技術實施例提供的一種數據同步方法,所述方法包括:
4、接收對源數據庫中的表結構數據的同步請求;
5、基于所述源數據庫中的表結構數據確定第一分片鍵,并基于所述第一分片鍵和預設的數據分片數量生成與所述源數據庫對應的數據分布直方圖,所述數據分布直方圖中包括基于第一分片鍵所劃分的多個第一分片數據;
6、基于所述源數據庫的字段選擇性信息、字段類型信息以及所述數據分布直方圖對應的數據分布信息,從所述第一分片鍵中確定
7、基于所述數據分布直方圖中每個第一分片數據所對應的數據量以及分片平均數據量,對所述數據分布直方圖中的第一分片數據進行調整以使每個分片數據間的數據量差異小于預設的數據量閾值,得到第二分片數據;
8、基于所述第二分片鍵和所述第二分片數據對應的取值范圍,構造用于進行分片抽數處理的分片規則,基于所述分片規則從所述源數據庫抽取分片數據,并將所抽取的分片數據同步到目標數據庫。
9、第二方面,本專利技術實施例提供了一種數據同步裝置,所述裝置包括:
10、請求接收模塊,用于接收對源數據庫中的表結構數據的同步請求;
11、數據分布直方圖生成模塊,用于基于所述源數據庫中的表結構數據確定第一分片鍵,并基于所述第一分片鍵和預設的數據分片數量生成與所述源數據庫對應的數據分布直方圖,所述數據分布直方圖中包括基于第一分片鍵所劃分的多個第一分片數據;
12、第二分片鍵確定模塊,用于基于所述源數據庫的字段選擇性信息、字段類型信息以及所述數據分布直方圖對應的數據分布信息,從所述第一分片鍵中確定用于對源數據庫進行分片的第二分片鍵;
13、數據調整模塊,用于基于所述數據分布直方圖中每個第一分片數據所對應的數據量以及分片平均數據量,對所述數據分布直方圖中的第一分片數據進行調整以使每個分片數據間的數據量差異小于預設的數據量閾值,得到第二分片數據;
14、數據同步模塊,用于基于所述第二分片鍵和所述第二分片數據對應的取值范圍,構造用于進行分片抽數處理的分片規則,基于所述分片規則從所述源數據庫抽取分片數據,并將所抽取的分片數據同步到目標數據庫。
15、第三方面,本專利技術實施例提供一種電子設備,包括處理器、存儲器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序被所述處理器執行時實現上述實施例提供的數據同步方法的步驟。
16、第四方面,本專利技術實施例提供一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲計算機程序,所述計算機程序被處理器執行時實現上述實施例提供的數據同步方法的步驟。
17、第五方面,本專利技術實施例提供一種計算機程序產品,計算機程序產品包括計算機程序,計算機程序被處理器執行時實現上述實施例提供的數據同步方法的步驟。
18、由以上本專利技術實施例提供的技術方案可見,本專利技術實施例通過接收對源數據庫中的表結構數據的同步請求,首先基于源數據庫中的表結構數據確定第一分片鍵,并基于第一分片鍵和預設的數據分片數量生成與源數據庫對應的數據分布直方圖,其次基于源數據庫的字段選擇性信息、字段類型信息以及數據分布直方圖對應的數據分布信息,從第一分片鍵中確定用于對源數據庫進行分片的第二分片鍵,然后基于數據分布直方圖中每個第一分片數據所對應的數據量以及分片平均數據量,對數據分布直方圖中的第一分片數據進行調整以使每個分片數據間的數據量差異小于預設的數據量閾值,得到第二分片數據,最后基于第二分片鍵和第二分片數據對應的取值范圍,構造用于進行分片抽數處理的分片規則,基于分片規則從源數據庫抽取分片數據,并將所抽取的分片數據同步到目標數據庫。這樣,通過采集源數據庫中的表結構數據并生成數據分布直方圖,初步確定第一分片鍵和第一分片數據,并基于字段選擇性信息、字段類型信息以及數據分布直方圖對應的數據分布信息確定第二分片鍵,能夠提高分片鍵選擇的準確性,進而提高后續數據同步的準確性以及效率。通過對數據分布直方圖中第一分片數據的調整得到第二分片數據,能夠有效避免數據傾斜,提高數據的分布均勻性和平衡性,從而提高數據并發處理的效率,進而提高數據同步效率。基于字段選擇性信息、字段類型信息以及數據分布直方圖對應的數據分布信息確定第二分片鍵,能夠客觀反映分片鍵的選擇性能、查詢性能以及數據分布均勻性,從而提高第二分片鍵的可靠性和準確性,進而提高數據同步的準確性和效率。
本文檔來自技高網...【技術保護點】
1.一種數據同步方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述表結構數據包括:數據的字段類型、索引、約束中的一種或多種,所述基于所述源數據庫中的表結構數據確定第一分片鍵,包括:
3.根據權利要求1所述的方法,其特征在于,所述基于所述源數據庫的字段選擇性信息、字段類型信息以及所述數據分布直方圖對應的數據分布信息,從所述第一分片鍵中確定用于對源數據庫進行分片的第二分片鍵,包括:
4.根據權利要求1所述的方法,其特征在于,所述基于所述數據分布直方圖中每個第一分片數據所對應的數據量以及分片平均數據量,對所述數據分布直方圖中的第一分片數據進行調整以使每個分片數據間的數據量差異小于預設的數據量閾值,得到第二分片數據,包括:
5.根據權利要求1所述的方法,其特征在于,所述基于所述分片規則從所述源數據庫抽取分片數據,包括:
6.根據權利要求1所述的方法,其特征在于,將所抽取的分片數據同步到目標數據庫,包括:
7.一種數據同步裝置,其特征在于,所述裝置包括:
8.一種電子設備,其特
9.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲計算機程序,所述計算機程序被處理器執行時實現如權利要求1至6中任一項所述的數據同步方法的步驟。
10.一種計算機程序產品,其特征在于,包括計算機程序,該計算機程序被處理器執行時實現權利要求1至6中任一項所述的數據同步方法的步驟。
...【技術特征摘要】
1.一種數據同步方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述表結構數據包括:數據的字段類型、索引、約束中的一種或多種,所述基于所述源數據庫中的表結構數據確定第一分片鍵,包括:
3.根據權利要求1所述的方法,其特征在于,所述基于所述源數據庫的字段選擇性信息、字段類型信息以及所述數據分布直方圖對應的數據分布信息,從所述第一分片鍵中確定用于對源數據庫進行分片的第二分片鍵,包括:
4.根據權利要求1所述的方法,其特征在于,所述基于所述數據分布直方圖中每個第一分片數據所對應的數據量以及分片平均數據量,對所述數據分布直方圖中的第一分片數據進行調整以使每個分片數據間的數據量差異小于預設的數據量閾值,得到第二分片數據,包括:
5.根據權利要求1所述的方法,其特征在于...
【專利技術屬性】
技術研發人員:孫占峰,翁樂怡,陳青青,陳健飛,張皓恒,
申請(專利權)人:中國移動通信集團浙江有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。