本發明涉及通信,具體的說,涉及的是一種數據交互方法、裝置、設備及存儲介質。
背景技術:
1、分布式機器學習中,參與計算的主機使用通信算子完成計算數據的交互,當前通信算子接口的通用實現為:分布式計算的主機之間建立點到點鏈接,通過單播的方式實現端到端的計算數據交互。這種交互方式對于源端來講,相同的數據載荷,源端發往不同目的端需要從內存中反復獲取數據并分別進行封裝,降低了源端的處理性能,另外,數據載荷雖然封裝了不同的報文頭,但是在數據轉發時存在部分路徑重合的情況,重合路徑的部分增加了網絡擁塞的風險。
技術實現思路
1、基于此,本發明提供了一種數據交互方法、裝置、設備及存儲介質,其能夠通過獲取源端和目的端來確定組播樹,以在源端進行數據分發時,調用通信算子將待處理數據通過組播樹進行數據分發,源端無需反復從內存中獲取數據和封裝不同的報文信息,提高了源端的處理性能,且降低了網絡擁塞的風險。
2、為實現上述目的,本發明實施例提供了一種數據交互方法,包括:
3、確定參與數據交互的源端和目的端;
4、獲取以所述源端為組播源且所述目的端為組播成員的組播樹,以用于所述源端調用預設的通信算子,將待處理數據通過所述組播樹分發給所述目的端。
5、作為上述方案的改進,所述獲取以所述源端為組播源且所述目的端為組播成員的組播樹之后,還包括:
6、基于所述通信算子,獲取待處理數據;
7、將所述待處理數據封裝成報文;
8、將所述報文發送給離所述源端最近的轉發設備,以使所述轉發設備通過所述組播樹將所述待處理數據分發給所述目的端。
9、作為上述方案的改進,所述基于所述通信算子,獲取待處理數據,包括:
10、獲取原始數據;
11、當所述通信算子為scatter時,調用scatter確定所述原始數據中需發送給各個所述目的端的數據段;基于所述組播樹的拓撲結構,自下而上地將所有所述數據段拼接成待處理數據;
12、當所述通信算子為broadcast時,以所述原始數據為待處理數據。
13、作為上述方案的改進,所述報文攜帶有所述報文的轉發路徑信息、所述報文在轉發路徑上的轉發設備需對所述待處理數據執行的數據操作以及所述轉發設備執行所述數據操作時所依據的操作數據邊界。
14、作為上述方案的改進,所述報文攜帶有所述報文的轉發路徑信息,所述轉發路徑信息由所述組播樹的最短轉發路徑確定。
15、作為上述方案的改進,所述將所述待處理數據封裝成報文,包括:采用srv6協議或者隧道協議對所述待處理數據進行封裝;
16、若所述待處理數據采用srv6協議封裝得到所述報文,所述報文的optional?tlv中記錄有針對所述報文的數據操作類型、所述數據操作的起始位置和長度,或者,所述報文的optional?tlv中記錄有針對所述報文的數據操作類型、所述數據操作的起始位置和終止位置。
17、為實現上述目的,本發明實施例還提供了一種數據交互裝置,包括:
18、端側確定模塊,用于確定參與數據交互的源端和目的端;
19、組播樹獲取模塊,用于獲取以所述源端為組播源且所述目的端為組播成員的組播樹,以用于所述源端調用預設的通信算子,將待處理數據通過所述組播樹分發給所述目的端。
20、作為上述方案的改進,還包括:
21、數據獲取模塊,用于基于所述通信算子,獲取待處理數據;
22、數據封裝模塊,用于將所述待處理數據封裝成報文;
23、數據分發模塊,用于將所述報文發送給離所述源端最近的轉發設備,以使所述轉發設備通過所述組播樹將所述待處理數據分發給所述目的端。
24、為實現上述目的,本發明實施例還提供了一種數據交互設備,包括處理器、存儲器以及存儲在所述存儲器中且被配置為由所述處理器執行的計算機程序,所述處理器執行所述計算機程序時實現如上述任一實施例所述的數據交互方法。
25、為實現上述目的,本發明實施例還提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質包括存儲的計算機程序,其中,在所述計算機程序運行時控制所述計算機可讀存儲介質所在設備執行如上述任一實施例所述的數據交互方法。
26、與現有技術相比,本發明實施例公開的數據交互方法、裝置、設備及存儲介質,首先,確定參與數據交互的源端和目的端;然后,獲取以所述源端為組播源且所述目的端為組播成員的組播樹,以用于所述源端調用預設的通信算子,將待處理數據通過所述組播樹分發給所述目的端,源端無需反復從內存中獲取數據和封裝不同的報文信息,提高了源端的處理性能,且降低了網絡擁塞的風險。
1.一種數據交互方法,其特征在于,包括:
2.如權利要求1所述的數據交互方法,其特征在于,所述獲取以所述源端為組播源且所述目的端為組播成員的組播樹之后,還包括:
3.如權利要求2所述的數據交互方法,其特征在于,所述基于所述通信算子,獲取待處理數據,包括:
4.如權利要求2所述的數據交互方法,其特征在于,所述報文攜帶有所述報文的轉發路徑信息、所述報文在轉發路徑上的轉發設備需對所述待處理數據執行的數據操作以及所述轉發設備執行所述數據操作時所依據的操作數據邊界。
5.如權利要求2所述的數據交互方法,其特征在于,所述報文攜帶有所述報文的轉發路徑信息,所述轉發路徑信息由所述組播樹的最短轉發路徑確定。
6.如權利要求2所述的數據交互方法,其特征在于,所述將所述待處理數據封裝成報文,包括:采用srv6協議或者隧道協議對所述待處理數據進行封裝;
7.一種數據交互裝置,其特征在于,包括:
8.如權利要求7所述的數據交互裝置,其特征在于,還包括:
9.一種數據交互設備,其特征在于,包括處理器、存儲器以及存儲在所述存儲器中且被配置為由所述處理器執行的計算機程序,所述處理器執行所述計算機程序時實現如權利要求1至6中任意一項所述的數據交互方法。
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質包括存儲的計算機程序,其中,在所述計算機程序運行時控制所述計算機可讀存儲介質所在設備執行如權利要求1至6中任意一項所述的數據交互方法。