System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據庫,特別是涉及一種數據同步中的數據校驗方法、裝置、計算機設備、計算機可讀存儲介質和計算機程序產品。
技術介紹
1、數據是各個行業的數字生命,承載數據的數據庫在各個領域中的核心地位不言而喻。當前數據庫種類眾多,特點各異,眾多不同的使用場景帶來了數據庫同步的需求。
2、在實際應用中,數據同步程序或數據庫系統可能會遇到各種無法預料的問題,導致在將數據同步到對端數據庫時出現異常,進而引發數據不一致的錯誤。特別是在對數據準確性要求極高的場景中,這種數據不一致的情況可能帶來無法估量的損失和負面影響。
3、為了保證同步數據的一致性,需要對兩個數據庫系統的同步數據進行數據校驗,及時發現潛在的問題。
4、目前主要是依靠數據同步工具的校驗功能進行數據校驗,但其存在數據校驗效率較低的技術問題。
技術實現思路
1、基于此,有必要針對上述技術問題,提供一種數據同步中的數據校驗方法、裝置、計算機設備、計算機可讀存儲介質和計算機程序產品。
2、第一方面,本申請提供了一種數據同步中的數據校驗方法,包括:
3、對待校驗表進行分片,得到所述待校驗表的數據分片信息;
4、若所述待校驗表的源數據庫和目標數據庫滿足數據庫中校驗條件,則根據所述數據分片信息分別在所述源數據庫和所述目標數據庫中運行校驗處理函數;其中,所述校驗處理函數,用于按照所述源數據庫和所述目標數據庫各自的存儲類型,將所述數據分片信息對應的數據庫數據進行拼接得到拼接數據后執
5、若所述待校驗表的源數據庫和目標數據庫未滿足數據庫中校驗條件,則根據所述數據分片信息和所述存儲類型,分別獲取所述源數據庫和所述目標數據庫的拼接數據,根據所述源數據庫和所述目標數據庫各自的所述拼接數據執行目標校驗函數,得到所述待校驗表的校驗結果。
6、在其中一個實施例中,在所述對待校驗表進行分片,得到所述待校驗表的數據分片信息之前,所述方法還包括:確定被選中表;若所述被選中表具有唯一標識,則將所述被選中表確定為所述待校驗表。
7、在其中一個實施例中,在所述若所述被選中表具有唯一標識,則將所述被選中表確定為所述待校驗表之后,所述方法還包括:判斷所述源數據庫和所述目標數據庫的同步任務是否存在延遲;若是,則執行所述對待校驗表進行分片,得到所述待校驗表的數據分片信息的步驟;若否,則在目標時間間隔后再執行所述判斷所述源數據庫和所述目標數據庫的同步任務是否存在延遲的步驟。
8、在其中一個實施例中,所述對待校驗表進行分片,得到所述待校驗表的數據分片信息,包括:根據所述待校驗表的唯一標識對所述待校驗表進行分片,得到所述待校驗表的數據分片信息;其中,所述唯一標識根據所述待校驗表的鍵信息確定;所述鍵信息包括復合主鍵、復合唯一鍵、類型為字符串的主鍵或類型為字符串的唯一鍵;所述數據分片信息包括:分片鍵、分片鍵的上邊界和下邊界。
9、在其中一個實施例中,在所述對待校驗表進行分片,得到所述待校驗表的數據分片信息之后,所述方法還包括:若所述源數據庫和所述目標數據庫支持數據庫中校驗,則獲取分別到所述源數據庫和所述目標數據庫的往返時延;若所述往返時延大于時延閾值,則獲取所述源數據庫和所述目標數據庫各自的負載;若所述源數據庫和所述目標數據庫各自的負載小于或等于負載閾值,則確定所述源數據庫和目標數據庫滿足數據庫中校驗條件。
10、在其中一個實施例中,所述根據所述數據分片信息和所述存儲類型,分別獲取所述源數據庫和所述目標數據庫的拼接數據,包括:若所述源數據庫和所述目標數據庫的所述存儲類型相同,則分別在所述源數據庫和所述目標數據庫中根據所述數據分片信息和所述存儲類型進行拼接得到所述拼接數據,分別從所述源數據庫和所述目標數據庫獲取所述拼接數據;若所述源數據庫和所述目標數據庫的所述存儲類型不同,則根據所述數據分片信息分別從所述源數據庫和所述目標數據庫中查詢對應的數據庫數據,根據所述源數據庫和所述目標數據庫各自的所述存儲類型,分別對各自的所述數據庫數據進行拼接得到所述拼接數據。
11、第二方面,本申請還提供了一種數據同步中的數據校驗裝置,包括:
12、分片處理模塊,用于對待校驗表進行分片,得到所述待校驗表的數據分片信息;
13、第一校驗處理模塊,用于若所述待校驗表的源數據庫和目標數據庫滿足數據庫中校驗條件,則根據所述數據分片信息分別在所述源數據庫和所述目標數據庫中運行校驗處理函數;其中,所述校驗處理函數,用于按照所述源數據庫和所述目標數據庫各自的存儲類型,將所述數據分片信息對應的數據庫數據進行拼接得到拼接數據后執行目標校驗函數,得到校驗信息;獲取所述源數據庫和所述目標數據庫各自的所述校驗信息,得到所述待校驗表的校驗結果;
14、第二校驗處理模塊,用于若所述待校驗表的源數據庫和目標數據庫未滿足數據庫中校驗條件,則根據所述數據分片信息和所述存儲類型,分別獲取所述源數據庫和所述目標數據庫的拼接數據,根據所述源數據庫和所述目標數據庫各自的所述拼接數據執行目標校驗函數,得到所述待校驗表的校驗結果。
15、第三方面,本申請還提供了一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執行所述計算機程序時實現以下步驟:
16、對待校驗表進行分片,得到所述待校驗表的數據分片信息;若所述待校驗表的源數據庫和目標數據庫滿足數據庫中校驗條件,則根據所述數據分片信息分別在所述源數據庫和所述目標數據庫中運行校驗處理函數;其中,所述校驗處理函數,用于按照所述源數據庫和所述目標數據庫各自的存儲類型,將所述數據分片信息對應的數據庫數據進行拼接得到拼接數據后執行目標校驗函數,得到校驗信息;獲取所述源數據庫和所述目標數據庫各自的所述校驗信息,得到所述待校驗表的校驗結果;若所述待校驗表的源數據庫和目標數據庫未滿足數據庫中校驗條件,則根據所述數據分片信息和所述存儲類型,分別獲取所述源數據庫和所述目標數據庫的拼接數據,根據所述源數據庫和所述目標數據庫各自的所述拼接數據執行目標校驗函數,得到所述待校驗表的校驗結果。
17、第四方面,本申請還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現以下步驟:
18、對待校驗表進行分片,得到所述待校驗表的數據分片信息;若所述待校驗表的源數據庫和目標數據庫滿足數據庫中校驗條件,則根據所述數據分片信息分別在所述源數據庫和所述目標數據庫中運行校驗處理函數;其中,所述校驗處理函數,用于按照所述源數據庫和所述目標數據庫各自的存儲類型,將所述數據分片信息對應的數據庫數據進行拼接得到拼接數據后執行目標校驗函數,得到校驗信息;獲取所述源數據庫和所述目標數據庫各自的所述校驗信息,得到所述待校驗表的校驗結果;若所述待校驗表的源數據庫和目標數據庫未滿足數據庫中校驗條件,則根據所本文檔來自技高網...
【技術保護點】
1.一種數據同步中的數據校驗方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,在所述對待校驗表進行分片,得到所述待校驗表的數據分片信息之前,所述方法還包括:
3.根據權利要求2所述的方法,其特征在于,在所述若所述被選中表具有唯一標識,則將所述被選中表確定為所述待校驗表之后,所述方法還包括:
4.根據權利要求1所述的方法,其特征在于,所述對待校驗表進行分片,得到所述待校驗表的數據分片信息,包括:
5.根據權利要求1所述的方法,其特征在于,在所述對待校驗表進行分片,得到所述待校驗表的數據分片信息之后,所述方法還包括:
6.根據權利要求1至5中任一項所述的方法,其特征在于,所述根據所述數據分片信息和所述存儲類型,分別獲取所述源數據庫和所述目標數據庫的拼接數據,包括:
7.一種數據同步中的數據校驗裝置,其特征在于,所述裝置包括:
8.一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至6中任一項所述的方法的步驟
9.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至6中任一項所述的方法的步驟。
10.一種計算機程序產品,包括計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至6中任一項所述的方法的步驟。
...【技術特征摘要】
1.一種數據同步中的數據校驗方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,在所述對待校驗表進行分片,得到所述待校驗表的數據分片信息之前,所述方法還包括:
3.根據權利要求2所述的方法,其特征在于,在所述若所述被選中表具有唯一標識,則將所述被選中表確定為所述待校驗表之后,所述方法還包括:
4.根據權利要求1所述的方法,其特征在于,所述對待校驗表進行分片,得到所述待校驗表的數據分片信息,包括:
5.根據權利要求1所述的方法,其特征在于,在所述對待校驗表進行分片,得到所述待校驗表的數據分片信息之后,所述方法還包括:
6.根據權利要求1至5中任一項所述的...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。