国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      數(shù)據(jù)同步方法、裝置、設(shè)備及存儲介質(zhì)與流程

      文檔序號:40400637發(fā)布日期:2024-12-20 12:24閱讀:7來源:國知局
      數(shù)據(jù)同步方法、裝置、設(shè)備及存儲介質(zhì)與流程

      本技術(shù)涉及數(shù)據(jù)同步,特別是涉及數(shù)據(jù)同步方法、裝置、設(shè)備及存儲介質(zhì)。


      背景技術(shù):

      1、當(dāng)前,隨著信息技術(shù)的高速發(fā)展,相關(guān)的應(yīng)用已經(jīng)逐步融入到人們的生活中,為人們提供了各式各樣的服務(wù)。這些應(yīng)用可能涉及到各類的數(shù)據(jù)傳輸和處理,在一些場景下,不同的數(shù)據(jù)接收端需要保持數(shù)據(jù)的一致性,如果接收到的數(shù)據(jù)不一致,可能影響應(yīng)用的性能。此時,需要使用到數(shù)據(jù)同步技術(shù),將相同的數(shù)據(jù)同步分發(fā)給不同的數(shù)據(jù)接收端。

      2、相關(guān)技術(shù)中,在進行數(shù)據(jù)同步時,為了提高數(shù)據(jù)傳輸和處理的效率,一般是進行實時同步。比如說將數(shù)據(jù)放置在消息隊列中,不同的數(shù)據(jù)接收端可以直接從消息隊列內(nèi)讀取并處理數(shù)據(jù)。由于各個數(shù)據(jù)接收端都從同一消息隊列讀取數(shù)據(jù),保障了數(shù)據(jù)的一致性。但是,在實際應(yīng)用中發(fā)現(xiàn),有些數(shù)據(jù)接收端可能存在網(wǎng)絡(luò)傳輸狀態(tài)不佳的情況,無法及時獲取數(shù)據(jù)進行處理,導(dǎo)致網(wǎng)絡(luò)傳輸資源的利用率低,且影響數(shù)據(jù)處理的效率。


      技術(shù)實現(xiàn)思路

      1、本技術(shù)實施例提供了一種數(shù)據(jù)同步方法、裝置、設(shè)備及存儲介質(zhì),能夠提高網(wǎng)絡(luò)傳輸資源的利用率,改善數(shù)據(jù)傳輸和處理的效率。

      2、本技術(shù)實施例的一方面提供了一種數(shù)據(jù)同步方法,用于數(shù)據(jù)發(fā)送端,所述數(shù)據(jù)發(fā)送端向多個數(shù)據(jù)接收端進行數(shù)據(jù)同步傳輸,且所述數(shù)據(jù)發(fā)送端預(yù)存有各個所述數(shù)據(jù)接收端的業(yè)務(wù)處理邏輯;所述方法包括:

      3、獲取目標數(shù)據(jù);

      4、檢測與各個所述數(shù)據(jù)接收端之間的網(wǎng)絡(luò)傳輸狀態(tài),根據(jù)所述網(wǎng)絡(luò)傳輸狀態(tài)確定各個所述數(shù)據(jù)接收端對應(yīng)的數(shù)據(jù)同步模式;其中,所述數(shù)據(jù)同步模式包括實時同步模式和批量同步模式;

      5、若確定所述數(shù)據(jù)接收端對應(yīng)的數(shù)據(jù)同步模式為所述實時同步模式,向所述數(shù)據(jù)接收端發(fā)送所述目標數(shù)據(jù);

      6、若確定所述數(shù)據(jù)接收端對應(yīng)的數(shù)據(jù)同步模式為所述批量同步模式,查詢預(yù)存的所述數(shù)據(jù)接收端的所述業(yè)務(wù)處理邏輯,根據(jù)所述業(yè)務(wù)處理邏輯對所述目標數(shù)據(jù)進行處理,并批量向所述數(shù)據(jù)接收端發(fā)送處理后的目標數(shù)據(jù)。

      7、另一方面,本技術(shù)實施例提供了一種數(shù)據(jù)同步裝置,用于數(shù)據(jù)發(fā)送端,所述數(shù)據(jù)發(fā)送端向多個數(shù)據(jù)接收端進行數(shù)據(jù)同步傳輸,且所述數(shù)據(jù)發(fā)送端預(yù)存有各個所述數(shù)據(jù)接收端的業(yè)務(wù)處理邏輯;所述裝置包括:

      8、獲取單元,用于獲取目標數(shù)據(jù);

      9、檢測單元,用于檢測與各個所述數(shù)據(jù)接收端之間的網(wǎng)絡(luò)傳輸狀態(tài),根據(jù)所述網(wǎng)絡(luò)傳輸狀態(tài)確定各個所述數(shù)據(jù)接收端對應(yīng)的數(shù)據(jù)同步模式;其中,所述數(shù)據(jù)同步模式包括實時同步模式和批量同步模式;

      10、第一處理單元,用于若確定所述數(shù)據(jù)接收端對應(yīng)的數(shù)據(jù)同步模式為所述實時同步模式,向所述數(shù)據(jù)接收端發(fā)送所述目標數(shù)據(jù);

      11、第二處理單元,用于若確定所述數(shù)據(jù)接收端對應(yīng)的數(shù)據(jù)同步模式為所述批量同步模式,查詢預(yù)存的所述數(shù)據(jù)接收端的所述業(yè)務(wù)處理邏輯,根據(jù)所述業(yè)務(wù)處理邏輯對所述目標數(shù)據(jù)進行處理,并批量向所述數(shù)據(jù)接收端發(fā)送處理后的目標數(shù)據(jù)。

      12、可選地,在一些實施例中,所述裝置還包括轉(zhuǎn)換單元,所述轉(zhuǎn)換單元具體用于:

      13、按照鏈表的數(shù)據(jù)結(jié)構(gòu),將所述目標數(shù)據(jù)轉(zhuǎn)換為多條日志數(shù)據(jù);

      14、根據(jù)所述目標數(shù)據(jù)中的數(shù)據(jù)排序,確定各條所述日志數(shù)據(jù)對應(yīng)的日志索引。

      15、可選地,在一些實施例中,所述第一處理單元具體用于:

      16、獲取所述數(shù)據(jù)接收端的系統(tǒng)標識符;

      17、根據(jù)所述日志索引,抽取若干條所述日志數(shù)據(jù)作為當(dāng)前批次的待同步數(shù)據(jù),并查詢所述待同步數(shù)據(jù)中處于末尾位置的日志數(shù)據(jù)對應(yīng)的第一日志索引;

      18、將所述系統(tǒng)標識符、所述待同步數(shù)據(jù)和所述第一日志索引發(fā)送給所述數(shù)據(jù)接收端。

      19、可選地,在一些實施例中,所述第一處理單元具體用于:

      20、查詢所述數(shù)據(jù)接收端最近一次反饋的第二日志索引;其中,所述第二日志索引用于表征所述數(shù)據(jù)接收端完成同步的一個批次的待同步數(shù)據(jù)中,處于末尾位置的日志數(shù)據(jù)對應(yīng)的日志索引;

      21、從所述第二日志索引對應(yīng)的日志數(shù)據(jù)的下一條日志數(shù)據(jù)開始,抽取第一個數(shù)的日志數(shù)據(jù)作為當(dāng)前批次的待同步數(shù)據(jù)。

      22、可選地,在一些實施例中,所述第一處理單元具體用于:

      23、檢測當(dāng)前時間節(jié)點下正在進行數(shù)據(jù)同步的數(shù)據(jù)接收端的第二個數(shù),以及當(dāng)前時間節(jié)點之前的第一預(yù)設(shè)時段中接收到的數(shù)據(jù)同步請求的第三個數(shù);

      24、根據(jù)所述第二個數(shù)和所述第三個數(shù),確定抽取當(dāng)前批次的待同步數(shù)據(jù)時所使用的所述第一個數(shù);

      25、其中,所述第一個數(shù)和所述第二個數(shù)負相關(guān),且所述第一個數(shù)和所述第三個數(shù)負相關(guān)。

      26、可選地,在一些實施例中,所述第一處理單元還用于:

      27、記錄向所述數(shù)據(jù)接收端發(fā)送當(dāng)前批次的待同步數(shù)據(jù)的第一時間節(jié)點;

      28、若所述第一時間節(jié)點之后的第二預(yù)設(shè)時段內(nèi)收到所述數(shù)據(jù)接收端反饋的與所述當(dāng)前批次對應(yīng)的第二日志索引,根據(jù)所述當(dāng)前批次對應(yīng)的第二日志索引,抽取下一批次的待同步數(shù)據(jù);

      29、若所述第一時間節(jié)點之后的第二預(yù)設(shè)時段內(nèi)未收到所述數(shù)據(jù)接收端反饋的與所述當(dāng)前批次對應(yīng)的第二日志索引,重新將當(dāng)前批次的所述待同步數(shù)據(jù)發(fā)送給所述數(shù)據(jù)接收端。

      30、可選地,在一些實施例中,所述第二處理單元具體用于:

      31、獲取所述數(shù)據(jù)接收端的系統(tǒng)標識符;

      32、根據(jù)所述業(yè)務(wù)處理邏輯對所述日志數(shù)據(jù)進行處理,得到所述日志數(shù)據(jù)對應(yīng)的處理數(shù)據(jù);

      33、當(dāng)新增的所述處理數(shù)據(jù)的數(shù)據(jù)量達到預(yù)設(shè)容量閾值,或者距離上一次發(fā)送所述處理數(shù)據(jù)的時長達到預(yù)設(shè)時長閾值,查詢當(dāng)前預(yù)處理的最后一條日志數(shù)據(jù)對應(yīng)的第三日志索引;

      34、將所述系統(tǒng)標識符、所述處理數(shù)據(jù)和所述第三日志索引發(fā)送給所述數(shù)據(jù)接收端。

      35、可選地,在一些實施例中,所述檢測單元具體用于:

      36、檢測與所述數(shù)據(jù)接收端之間的網(wǎng)絡(luò)環(huán)境參數(shù);

      37、根據(jù)所述網(wǎng)絡(luò)環(huán)境參數(shù),確定所述數(shù)據(jù)接收端對應(yīng)的網(wǎng)絡(luò)質(zhì)量評分;

      38、若所述網(wǎng)絡(luò)質(zhì)量評分大于預(yù)設(shè)評分閾值,確定所述數(shù)據(jù)接收端對應(yīng)的數(shù)據(jù)同步模式為所述實時同步模式;

      39、若所述網(wǎng)絡(luò)質(zhì)量評分小于或者等于所述預(yù)設(shè)評分閾值,確定所述數(shù)據(jù)接收端對應(yīng)的數(shù)據(jù)同步模式為所述批量同步模式。

      40、可選地,在一些實施例中,所述數(shù)據(jù)發(fā)送端為分布式源數(shù)據(jù)系統(tǒng),所述分布式源數(shù)據(jù)系統(tǒng)包括主節(jié)點和多個從節(jié)點,所述主節(jié)點用于向多個所述數(shù)據(jù)接收端進行數(shù)據(jù)同步傳輸;所述獲取單元具體用于:

      41、通過所述主節(jié)點獲取原始數(shù)據(jù);

      42、通過所述主節(jié)點對所述原始數(shù)據(jù)進行轉(zhuǎn)換,得到屬于通用數(shù)據(jù)交換格式的標準數(shù)據(jù);

      43、通過所述主節(jié)點將所述標準數(shù)據(jù)發(fā)送到各個所述從節(jié)點,并通過所述從節(jié)點對所述標準數(shù)據(jù)進行共識,將共識后的所述標準數(shù)據(jù)確定為目標數(shù)據(jù)。

      44、可選地,在一些實施例中,所述獲取單元具體用于:

      45、通過所述主節(jié)點對所述標準數(shù)據(jù)進行哈希處理,得到第一哈希值;

      46、通過所述主節(jié)點將所述標準數(shù)據(jù)和所述第一哈希值發(fā)送到各個所述從節(jié)點;

      47、通過所述從節(jié)點對所述標準數(shù)據(jù)進行哈希處理,得到第二哈希值,并校驗所述第一哈希值和所述第二哈希值的一致性,得到所述標準數(shù)據(jù)對應(yīng)的一致性校驗結(jié)果;

      48、當(dāng)超過一半的所述從節(jié)點的一致性校驗結(jié)果為通過,確定所述標準數(shù)據(jù)完成共識。

      49、可選地,在一些實施例中,所述數(shù)據(jù)發(fā)送端為分布式源數(shù)據(jù)系統(tǒng),所述分布式源數(shù)據(jù)系統(tǒng)包括主節(jié)點和多個從節(jié)點,所述主節(jié)點用于向多個所述數(shù)據(jù)接收端進行數(shù)據(jù)同步傳輸;所述裝置還包括切換單元,所述切換單元具體用于:

      50、將所述主節(jié)點中的數(shù)據(jù)同步到各個所述從節(jié)點;

      51、檢測所述分布式源數(shù)據(jù)系統(tǒng)的運行狀態(tài);

      52、當(dāng)確定所述分布式源數(shù)據(jù)系統(tǒng)需要切換主節(jié)點時,從所述從節(jié)點中確定新的主節(jié)點;

      53、檢測舊的主節(jié)點中是否存在未完成的數(shù)據(jù)同步任務(wù);其中,所述未完成的數(shù)據(jù)同步任務(wù)為已發(fā)送待同步數(shù)據(jù)但未接收到所述數(shù)據(jù)接收端反饋對應(yīng)的所述第二日志索引的數(shù)據(jù)同步任務(wù);

      54、若所述舊的主節(jié)點中存在未完成的數(shù)據(jù)同步任務(wù),停止通過所述舊的主節(jié)點發(fā)送新的待同步數(shù)據(jù),直至所述未完成的數(shù)據(jù)同步任務(wù)完成或者超時,切換到所述新的主節(jié)點進行數(shù)據(jù)同步傳輸。

      55、另一方面,本技術(shù)實施例提供了一種電子設(shè)備,包括處理器以及存儲器;

      56、所述存儲器用于存儲計算機程序;

      57、所述處理器執(zhí)行所述計算機程序?qū)崿F(xiàn)前述的數(shù)據(jù)同步方法。

      58、另一方面,本技術(shù)實施例提供了一種計算機可讀存儲介質(zhì),所述存儲介質(zhì)存儲有計算機程序,所述計算機程序被處理器執(zhí)行實現(xiàn)前述的數(shù)據(jù)同步方法。

      59、另一方面,本技術(shù)實施例還提供了一種計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括計算機程序,該計算機程序存儲在計算機可讀存介質(zhì)中,計算機設(shè)備的處理器從計算機可讀存儲介質(zhì)讀取該計算機程序,處理器執(zhí)行該計算機程序,使得該計算機設(shè)備執(zhí)行實現(xiàn)前述的數(shù)據(jù)同步方法。

      60、本技術(shù)實施例至少包括以下有益效果:本技術(shù)提供一種數(shù)據(jù)同步方法、裝置、設(shè)備及存儲介質(zhì),本技術(shù)的方法可以應(yīng)用在數(shù)據(jù)發(fā)送端,該數(shù)據(jù)發(fā)送端用于向多個數(shù)據(jù)接收端進行數(shù)據(jù)同步傳輸,且預(yù)存有各個數(shù)據(jù)接收端的業(yè)務(wù)處理邏輯,該方法獲取目標數(shù)據(jù),對于每個數(shù)據(jù)接收端,檢測和它之間的網(wǎng)絡(luò)傳輸狀態(tài),從而確定該數(shù)據(jù)接收端使用實時同步模式還是批量同步模式,對于使用實時同步模式的數(shù)據(jù)接收端,直接發(fā)送目標數(shù)據(jù),提高目標數(shù)據(jù)傳輸?shù)綌?shù)據(jù)接收端的效率;對于使用批量同步模式的數(shù)據(jù)接收端,通過預(yù)存的與該數(shù)據(jù)接收端對應(yīng)的業(yè)務(wù)處理邏輯,對目標數(shù)據(jù)進行預(yù)處理,然后批量向數(shù)據(jù)接收端發(fā)送預(yù)處理后的目標數(shù)據(jù),提高目標數(shù)據(jù)的處理效率。本技術(shù)可以結(jié)合數(shù)據(jù)接收端對應(yīng)的網(wǎng)絡(luò)傳輸狀態(tài)來調(diào)整數(shù)據(jù)同步模式,盡可能提高網(wǎng)絡(luò)傳輸資源的利用率,改善數(shù)據(jù)傳輸和處理的效率。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1