本發(fā)明涉及通信,具體涉及一種報文處理方法、設(shè)備、介質(zhì)及產(chǎn)品。
背景技術(shù):
1、在基于pcie協(xié)議的集中式非透明橋(non-transparent?bridge,縮寫ntb)方案中,現(xiàn)有的實現(xiàn)方式采用源端ntep(ntbendpoint)與目標端ntep多對一的拓撲結(jié)構(gòu)及鏈接關(guān)系。隨著應(yīng)用場景的拓展與數(shù)據(jù)傳輸需求的提升,該方案暴露出顯著弊端:當多個源端ntep在同一時間段內(nèi)同時向同一個目標端ntep高速傳輸大量數(shù)據(jù)時,各源端之間會對目標端的流量資源和負載處理能力產(chǎn)生激烈競爭。
2、由于目標端的處理和緩沖能力有限,極易出現(xiàn)超負荷運行狀態(tài),進而導(dǎo)致傳輸橋阻塞。而傳輸橋作為公共且主要的傳輸路徑,一旦阻塞,不僅會中斷競爭源端的數(shù)據(jù)傳輸,還會波及其他無關(guān)數(shù)據(jù)的正常傳輸,使得整個拓撲結(jié)構(gòu)中的數(shù)據(jù)傳輸效率大幅下降,甚至可能引發(fā)數(shù)據(jù)傳輸鏈路癱瘓,嚴重影響系統(tǒng)穩(wěn)定性和數(shù)據(jù)通信的可靠性。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明實施例提供了一種報文處理方法、設(shè)備、介質(zhì)及產(chǎn)品,以解決多個源端ntep同時向同一目標端ntep高速傳輸大量數(shù)據(jù)時,易因目標端流量和負載競爭導(dǎo)致傳輸橋阻塞,影響數(shù)據(jù)傳輸效率、系統(tǒng)穩(wěn)定性及可靠性的問題。
2、第一方面,本發(fā)明實施例提供了一種報文處理方法,所述方法應(yīng)用于源端,所述方法包括:
3、獲取源端當前接收的第一通信報文,所述第一通信報文包括報文分類標識;
4、利用所述報文分類標識確定所述第一通信報文對應(yīng)的報文重傳策略;
5、按照所述報文重傳策略確定第一重傳報文,并傳輸所述第一重傳報文傳輸至目標端;
6、若傳輸所述第一重傳報文的過程中存在反向壓力,則基于所述第一重傳報文以及重傳緩存中有效的通信報文,確定第二重傳報文,并傳輸所述第一重傳報文傳輸至目標端,其中,有效的通信報文為未接收目標端確認的報文。
7、進一步的,所述利用所述報文分類標識確定所述第一通信報文對應(yīng)的報文重傳策略,包括:
8、若所述報文分類標識為跨域類型,則確定所述報文重傳策略為按照條件緩存并按需重傳;
9、若所述報文分類標識為流控類型,則確定所述報文重傳策略為循環(huán)執(zhí)行重傳。
10、進一步的,所述按照所述報文重傳策略確定第一重傳報文,包括:
11、若所述報文分類標識為跨域類型,則讀取所述第一通信報文的報文數(shù)據(jù)。其中,所述報文數(shù)據(jù)中包括標簽字段;
12、從重傳緩存中查詢所述標簽字段對應(yīng)的存儲位置,將所述報文數(shù)據(jù)存儲至所述存儲位置,并將所述報文數(shù)據(jù)對應(yīng)的重傳標記更新為有效;
13、按照所述源端所配置的仲裁規(guī)則對所述第一通信報文進行仲裁,確定第一重傳報文。
14、進一步的,在傳輸所述第一重傳報文傳輸至目標端之后,所述方法還包括:
15、獲取目標端的負荷情況以及所述源端與所述目標端之間的網(wǎng)絡(luò)情況;
16、利用所述負荷情況以及所述網(wǎng)絡(luò)情況,分析所述源端傳輸?shù)谝恢貍鲌笪牡倪^程中是否存在反向壓力,得到分析結(jié)果。
17、進一步的,所述基于所述第一重傳報文以及重傳緩存中有效的通信報文,確定第二重傳報文,包括:
18、觸發(fā)超時重傳計時機制生效,基于所述超時重傳計時機制暫停向所述目標端發(fā)送通信報文,并啟動超時重傳計時器進行計時,得到第一計時數(shù)據(jù);
19、當所述計時數(shù)據(jù)達到預(yù)設(shè)閾值時,從所述重傳緩存中獲取所有重傳標記為有效的通信報文;
20、將所有重傳標記為有效的通信報文進行一次循環(huán)發(fā)送,并檢測當前是否存在反向壓力;
21、若不存在反向壓力,則按照所述源端所配置的仲裁規(guī)則對所述第一重傳報文以及所有重傳標記為有效的通信報文進行仲裁,得到所述第一重傳報文。
22、進一步的,所述按照所述報文重傳策略確定第一重傳報文,包括:
23、若所述報文分類標識為流控類型,則遍歷重傳緩存,篩選出所有重傳標記為有效的通信報文;
24、將所述重傳緩存中所有重傳標記為有效的通信報文進行一次循環(huán)發(fā)送,并將超時重傳計時器清零,并重新計時,得到第二計時數(shù)據(jù);
25、當所述第二計時數(shù)據(jù)達到預(yù)設(shè)閾值時,則將重傳緩存中所有重傳標記為有效的通信報文作為所述第一通信報文。
26、進一步的,所述基于所述第一重傳報文以及重傳緩存中有效的通信報文,確定第二重傳報文,包括:
27、觸發(fā)超時重傳計時機制生效,基于所述超時重傳計時機制暫停向所述目標端發(fā)送通信報文,并啟動超時重傳計時器進行計時,得到第一計時數(shù)據(jù);
28、當所述計時數(shù)據(jù)達到預(yù)設(shè)閾值時,從所述重傳緩存中獲取所有重傳標記為有效的通信報文;
29、將所有重傳標記為有效的通信報文進行一次循環(huán)發(fā)送,并檢測當前是否存在反向壓力;
30、若不存在反向壓力,則按照所述源端所配置的仲裁規(guī)則對所述第一重傳報文以及所有重傳標記為有效的通信報文進行仲裁,得到所述第一重傳報文。
31、進一步的,所述方法還包括:
32、若所述報文分類標識既不為流控類型,也不為跨域類型,則讀取所述第一通信報文的報文數(shù)據(jù)。其中,所述報文數(shù)據(jù)中包括標簽字段;
33、從重傳緩存中查詢所述標簽字段對應(yīng)的存儲位置,將所述報文數(shù)據(jù)存儲至所述存儲位置,并將所述報文數(shù)據(jù)對應(yīng)的重傳標記更新為無效。
34、第二方面,本發(fā)明實施例提供了一種報文處理方法,所述方法應(yīng)用于目標端,所述方法包括:
35、接收源端傳輸?shù)牡诙ㄐ艌笪?,其中,所述源端用于上述實施例的方法?/p>
36、解析所述第二通信報文,確定所述第二通信報文是否為請求報文;
37、若所述第二通信報文是請求報文時,則經(jīng)檢測所述目標端當前是否阻塞,得到檢測結(jié)果;
38、執(zhí)行所述檢測結(jié)果對應(yīng)的報文響應(yīng)操作,得到響應(yīng)報文,并對所述響應(yīng)報文進行仲裁,將仲裁后的響應(yīng)報文發(fā)送至所述源端。
39、進一步的,所述執(zhí)行所述檢測結(jié)果對應(yīng)的報文響應(yīng)操作,得到響應(yīng)報文,包括:
40、若所述檢測結(jié)果為目標端阻塞,則檢測記錄緩存中是否存在所述源端對應(yīng)的報文傳輸記錄;
41、若所述記錄緩存中存在所述源端對應(yīng)的報文傳輸記錄,則獲取所述報文傳輸記錄中存儲的第一標識字段以及所述第二通信報文中包括的第二標識字段;
42、對比所述第一標識字段以及所述第二標識字段;
43、將所述第一標識字段和所述第二標識字段中最小的標識字段更新至所述記錄緩存,并生成流控類型的通信報文,將所述流控類型的通信報文作為所述響應(yīng)報文。
44、進一步的,所述方法還包括:
45、若所述記錄緩存中不存在所述源端對應(yīng)的報文傳輸記錄,則將所述第二通信報文中包括的第二標識字段更新至所述記錄緩存,并生成流控類型的通信報文,將所述流控類型的通信報文作為所述響應(yīng)報文。
46、進一步的,所述執(zhí)行所述檢測結(jié)果對應(yīng)的報文響應(yīng)操作,得到響應(yīng)報文,包括:
47、若所述檢測結(jié)果為目標端未阻塞,檢測記錄緩存中所述源端對應(yīng)的報文傳輸記錄;
48、基于所述報文傳輸記錄中記載的標識字段判斷所述源端的報文傳輸記錄是否有效;
49、若所述報文傳輸記錄有效,則對比所述標識字段的字段值與期望值,得到對比結(jié)果;
50、根據(jù)所述對比結(jié)果生成相應(yīng)的響應(yīng)報文。
51、進一步的,所述根據(jù)所述對比結(jié)果生成相應(yīng)的響應(yīng)報文,包括:
52、若所述對比結(jié)果為所述標識字段的字段值與期望值一致,則清除所述第二通信報文中標識字段的有效標記;
53、若所述對比結(jié)果為所述標識字段的字段值與期望值不一致,則生成流控類型的通信報文,將所述流控類型的通信報文作為所述響應(yīng)報文。
54、第三方面,本發(fā)明實施例提供了一種計算機設(shè)備,包括:存儲器和處理器,存儲器和處理器之間互相通信連接,存儲器中存儲有計算機指令,處理器通過執(zhí)行計算機指令,從而執(zhí)行上述第一方面或其對應(yīng)的任一實施方式的方法。
55、第四方面,本發(fā)明實施例提供了一種計算機可讀存儲介質(zhì),該計算機可讀存儲介質(zhì)上存儲有計算機指令,計算機指令用于使計算機執(zhí)行上述第一方面或其對應(yīng)的任一實施方式的方法。
56、本技術(shù)通過獲取第一通信報文的報文分類標識來確定對應(yīng)的重傳策略,能針對性地處理不同類型報文。在傳輸?shù)谝恢貍鲌笪臅r,若遇到反向壓力,基于第一重傳報文及重傳緩存中未獲目標端確認的有效通信報文確定第二重傳報文。這樣,源端可根據(jù)目標端實際狀態(tài)靈活調(diào)整傳輸策略,避免盲目高速發(fā)送大量數(shù)據(jù)。比如,當檢測到反向壓力,不會繼續(xù)不顧目標端負載地傳輸,而是重新規(guī)劃重傳報文,減少目標端瞬間接收的數(shù)據(jù)量,緩解流量競爭,降低傳輸橋阻塞風(fēng)險,進而提升數(shù)據(jù)傳輸效率,保障系統(tǒng)穩(wěn)定運行,增強數(shù)據(jù)通信可靠性,有效解決了基于多對一拓撲結(jié)構(gòu)下的相關(guān)問題。