本申請涉及數據處理,特別是涉及一種數據同步方法、裝置、計算機設備、存儲介質和程序產品。
背景技術:
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、上述數據同步方法、裝置、計算機設備、存儲介質和程序產品,周期性的檢測發送節點的網絡帶寬,并根據各周期檢測到的網絡帶寬確定發送節點的帶寬狀態;根據帶寬狀態對應的數據同步策略,向分布式系統中的接收節點同步傳輸待同步數據;數據同步策略用于在不同的帶寬狀態下,將快照數據和/或增量數據同步傳輸至接收節點。本申請實施例可以根據各周期檢測到的網絡帶寬,準確地確定發送節點的帶寬狀態,從而能夠根據不同的帶寬狀態,實時切換至帶寬狀態對應的數據同步策略進行數據同步,即可采用最高效的數據同步策略實現跨節點的數據同步,故能夠提高跨節點的數據同步的效率。
1.一種數據同步方法,其特征在于,應用于分布式系統中的任一個發送節點,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述根據所述帶寬狀態對應的數據同步策略,向所述分布式系統中的接收節點同步傳輸待同步數據,包括:
3.根據權利要求1所述的方法,其特征在于,若所述待同步數據包括多個待同步數據,所述根據所述帶寬狀態對應的數據同步策略,向所述分布式系統中的接收節點同步傳輸待同步數據,包括:
4.根據權利要求1-3中任一項所述的方法,其特征在于,所述根據各周期檢測到的網絡帶寬確定所述發送節點的帶寬狀態,包括:
5.根據權利要求1-3中任一項所述的方法,其特征在于,所述方法還包括:
6.一種數據同步方法,其特征在于,應用于分布式系統中的接收節點,所述方法包括:
7.根據權利要求6所述的方法,其特征在于,所述對所述待同步數據和所述接收節點中的已存儲數據進行數據合并,得到合并數據,包括:
8.一種數據同步裝置,其特征在于,所述裝置包括:
9.一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至7中任一項所述的方法的步驟。
10.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至7中任一項所述的方法的步驟。