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、將所述系統標識符、所述待同步數據和所述第一日志索引發送給所述數據接收端。
19、可選地,在一些實施例中,所述第一處理單元具體用于:
20、查詢所述數據接收端最近一次反饋的第二日志索引;其中,所述第二日志索引用于表征所述數據接收端完成同步的一個批次的待同步數據中,處于末尾位置的日志數據對應的日志索引;
21、從所述第二日志索引對應的日志數據的下一條日志數據開始,抽取第一個數的日志數據作為當前批次的待同步數據。
22、可選地,在一些實施例中,所述第一處理單元具體用于:
23、檢測當前時間節點下正在進行數據同步的數據接收端的第二個數,以及當前時間節點之前的第一預設時段中接收到的數據同步請求的第三個數;
24、根據所述第二個數和所述第三個數,確定抽取當前批次的待同步數據時所使用的所述第一個數;
25、其中,所述第一個數和所述第二個數負相關,且所述第一個數和所述第三個數負相關。
26、可選地,在一些實施例中,所述第一處理單元還用于:
27、記錄向所述數據接收端發送當前批次的待同步數據的第一時間節點;
28、若所述第一時間節點之后的第二預設時段內收到所述數據接收端反饋的與所述當前批次對應的第二日志索引,根據所述當前批次對應的第二日志索引,抽取下一批次的待同步數據;
29、若所述第一時間節點之后的第二預設時段內未收到所述數據接收端反饋的與所述當前批次對應的第二日志索引,重新將當前批次的所述待同步數據發送給所述數據接收端。
30、可選地,在一些實施例中,所述第二處理單元具體用于:
31、獲取所述數據接收端的系統標識符;
32、根據所述業務處理邏輯對所述日志數據進行處理,得到所述日志數據對應的處理數據;
33、當新增的所述處理數據的數據量達到預設容量閾值,或者距離上一次發送所述處理數據的時長達到預設時長閾值,查詢當前預處理的最后一條日志數據對應的第三日志索引;
34、將所述系統標識符、所述處理數據和所述第三日志索引發送給所述數據接收端。
35、可選地,在一些實施例中,所述檢測單元具體用于:
36、檢測與所述數據接收端之間的網絡環境參數;
37、根據所述網絡環境參數,確定所述數據接收端對應的網絡質量評分;
38、若所述網絡質量評分大于預設評分閾值,確定所述數據接收端對應的數據同步模式為所述實時同步模式;
39、若所述網絡質量評分小于或者等于所述預設評分閾值,確定所述數據接收端對應的數據同步模式為所述批量同步模式。
40、可選地,在一些實施例中,所述數據發送端為分布式源數據系統,所述分布式源數據系統包括主節點和多個從節點,所述主節點用于向多個所述數據接收端進行數據同步傳輸;所述獲取單元具體用于:
41、通過所述主節點獲取原始數據;
42、通過所述主節點對所述原始數據進行轉換,得到屬于通用數據交換格式的標準數據;
43、通過所述主節點將所述標準數據發送到各個所述從節點,并通過所述從節點對所述標準數據進行共識,將共識后的所述標準數據確定為目標數據。
44、可選地,在一些實施例中,所述獲取單元具體用于:
45、通過所述主節點對所述標準數據進行哈希處理,得到第一哈希值;
46、通過所述主節點將所述標本文檔來自技高網...
【技術保護點】
1.一種數據同步方法,其特征在于,用于數據發送端,所述數據發送端向多個數據接收端進行數據同步傳輸,且所述數據發送端預存有各個所述數據接收端的業務處理邏輯;所述方法包括:
2.根據權利要求1所述的數據同步方法,其特征在于,所述獲取目標數據之后,所述方法還包括:
3.根據權利要求2所述的數據同步方法,其特征在于,所述向所述數據接收端發送所述目標數據,包括:
4.根據權利要求3所述的數據同步方法,其特征在于,所述根據所述日志索引,抽取若干條所述日志數據作為當前批次的待同步數據,包括:
5.根據權利要求4所述的數據同步方法,其特征在于,所述第一個數通過以下步驟確定:
6.根據權利要求3所述的數據同步方法,其特征在于,所述方法還包括:
7.根據權利要求2所述的數據同步方法,其特征在于,所述根據所述業務處理邏輯對所述目標數據進行處理,并批量向所述數據接收端發送處理后的目標數據,包括:
8.根據權利要求1-7中任一項所述的數據同步方法,其特征在于,所述檢測與各個所述數據接收端之間的網絡傳輸狀態,根據所述網絡傳輸
9.根據權利要求1所述的數據同步方法,其特征在于,所述數據發送端為分布式源數據系統,所述分布式源數據系統包括主節點和多個從節點,所述主節點用于向多個所述數據接收端進行數據同步傳輸;
10.根據權利要求9所述的數據同步方法,其特征在于,所述通過所述主節點將所述標準數據發送到各個所述從節點,并通過所述從節點對所述標準數據進行共識,包括:
11.根據權利要求4所述的數據同步方法,其特征在于,所述數據發送端為分布式源數據系統,所述分布式源數據系統包括主節點和多個從節點,所述主節點用于向多個所述數據接收端進行數據同步傳輸;所述方法還包括:
12.一種數據同步裝置,其特征在于,用于數據發送端,所述數據發送端向多個數據接收端進行數據同步傳輸,且所述數據發送端預存有各個所述數據接收端的業務處理邏輯;所述裝置包括:
13.一種電子設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至11中任意一項所述的一種數據同步方法。
14.一種計算機可讀存儲介質,所述存儲介質存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至11中任意一項所述的一種數據同步方法。
15.一種計算機程序產品,包括計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至11中任意一項所述的一種數據同步方法。
...【技術特征摘要】
1.一種數據同步方法,其特征在于,用于數據發送端,所述數據發送端向多個數據接收端進行數據同步傳輸,且所述數據發送端預存有各個所述數據接收端的業務處理邏輯;所述方法包括:
2.根據權利要求1所述的數據同步方法,其特征在于,所述獲取目標數據之后,所述方法還包括:
3.根據權利要求2所述的數據同步方法,其特征在于,所述向所述數據接收端發送所述目標數據,包括:
4.根據權利要求3所述的數據同步方法,其特征在于,所述根據所述日志索引,抽取若干條所述日志數據作為當前批次的待同步數據,包括:
5.根據權利要求4所述的數據同步方法,其特征在于,所述第一個數通過以下步驟確定:
6.根據權利要求3所述的數據同步方法,其特征在于,所述方法還包括:
7.根據權利要求2所述的數據同步方法,其特征在于,所述根據所述業務處理邏輯對所述目標數據進行處理,并批量向所述數據接收端發送處理后的目標數據,包括:
8.根據權利要求1-7中任一項所述的數據同步方法,其特征在于,所述檢測與各個所述數據接收端之間的網絡傳輸狀態,根據所述網絡傳輸狀態確定各個所述數據接收端對應的數據同步模式,包括:
9.根據權利要求1所述的數據同步方法,其特征在于,所述數據發送端為分布式源數據系統,所述分...
【專利技術屬性】
技術研發人員:金韜,劉長輝,
申請(專利權)人:騰訊科技深圳有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。