本申請涉及計算機數據處理,尤其涉及一種基于異構處理架構的高速處理系統及方法。
背景技術:
1、網絡流量的增長和愈加復雜的網絡應用推動著新的網絡架構不斷發展。sdn架構因其數據平面與控制平面分離,通過軟件對控制平面進行編程從而集中數據平面等特點實現了控制平面上的可編程性,有效解決了傳統網絡設備功能固定的缺點。
2、但目前現有sdn技術的可編程性特點僅限于網絡的控制平面,數據平面能支持的轉發協議和包轉發處理邏輯仍主要由功能已經被固定的交換機設備決定,數據平面的可編程性在很大程度上仍然被功能固定的包處理硬件制約。
技術實現思路
1、本申請實施例提供了一種基于異構處理架構的高速處理系統及方法,解決了現有技術的缺陷,本申請通過將p4程序部署到特定的硬件平臺上,將網絡的可編程性延伸到數據平面,為全可編程網絡設備提供了新的方案。
2、本申請實施例第一方面提供了一種基于異構處理架構的高速處理系統,該系統包括:解析器、匹配-操作管道與逆解析器,所述解析器用于將用戶提交的p4程序編譯成匹配-操作管道內的配置信息;所述匹配-操作管道用于基于所述配置信息對輸入數據包進行報頭匹配以及操作流水線執行得到處理后數據;所述逆解析器用于將處理后數據進行重組并轉換成p4返回數據形式返還給用戶;
3、其中,所述匹配-操作管道包括多個核心模塊,所述核心模塊包括通過axi總線連接的輸入仲裁單元、包處理單元以及輸出緩存單元;
4、所述輸入仲裁單元,用于采用輪詢方式對輸入數據包進行處理,得到有效報文數據并發送至所述包處理單元;
5、所述包處理單元,用于根據所述配置信息對所述有效報文數據進行處理,得到處理后數據包并發送至輸出隊列單元;
6、所述輸出隊列單元,用于將所述處理后數據包通過axi總線傳入到輸出端。
7、在一個可選地實施例中,所述配置信息為用戶定義的數據包處理功能的配置信息。
8、在一個可選地實施例中,所述每個核心模塊的輸入端口與多個所述的核心模塊對應,所述輸入端口包括:至少兩個網口和至少一個dma接口,所述網口與dma接口均與匹配-操作管道連接。
9、在一個可選地實施例中,所述輸入仲裁單元包括:
10、分析子單元,用于采用輪詢方式獲取輸入數據包并進行分析,得到地址定位信息和目標數據;所述地址定位信息為目標信息的輸出端口的地址信息;
11、處理子單元,基于所述地址定位信息對所述目標數據進行處理得到有效報文數據。
12、在一個可選地實施例中,包處理單元包括:
13、配置子單元,用于根據所述配置信息對所述有效報文數據進行處理,得到處理后數據包;
14、查找子單元,用于根據所述有效報文數據的具體地址及目的地址查找路由表,得到查找結果,
15、輸出子單元,用于基于所述查找結果生成對應的輸出隊列選擇信息并基于所述輸出隊列選擇信息將所述查找結果發送至所述輸出隊列單元。
16、在一個可選地實施例中,所述輸出隊列單元包括多個輸出隊列,每個輸出隊列由緩沖區以及讀寫指針構成,用于緩存處理后數據包并基于所述查找結果按照先入先出的順序進行輸出。
17、根據本實施例的第二方面,提供一種基于異構處理架構的高速處理方法,基于本申請實施例的第一方面所提供的基于異構處理架構的高速處理實現,所述方法包括:
18、對用戶提交的p4程序進行編譯,得到匹配-操作管道的配置信息;
19、基于所述配置信息對輸入數據包進行報頭匹配以及操作流水線執行得到處理后數據;
20、將處理后數據進行重組并轉換成p4返回數據形式返還給用戶。
21、在一個可選地實施例中,所述基于所述配置信息對輸入數據包進行報頭匹配以及操作流水線執行得到處理后數據包括:
22、采用輪詢方式對輸入數據包進行處理,得到有效報文數據;
23、根據所述配置信息對所述有效報文數據進行處理,得到處理后數據包。
24、在一個可選地實施例中,所述采用輪詢方式對輸入數據包進行處理,得到有效報文數據,包括:
25、采用輪詢方式獲取輸入數據包并進行分析,得到地址定位信息和目標數據,所述地址定位信息為目標信息的輸出端口的地址信息;
26、基于所述地址定位信息對所述目標數據進行處理得到有效報文數據。
27、在一個可選地實施例中,所述根據所述配置信息對所述有效報文數據進行處理,得到處理后數據包包括:
28、根據所述配置信息對所述有效報文數據進行處理,得到處理后數據包;
29、根據所述有效報文數據的具體地址及目的地址查找路由表,得到查找結果,
30、基于所述查找結果生成對應的輸出隊列選擇信息,并基于所述查找結果,生成處理后數據包。
31、本申請提供的可選地的基于異構處理架構的高速處理系統及方法,該系統包括:解析器、匹配-操作管道與逆解析器,其中,解析器用于將用戶提交的p4程序編譯成匹配-操作管道內的配置信息;匹配-操作管道用于基于配置信息對輸入數據包進行報頭匹配以及操作流水線執行得到處理后數據;逆解析器用于將處理后數據進行重組并轉換成p4返回數據形式返還給用戶;匹配-操作管道包括多個核心模塊,核心模塊包括通過axi總線連接的輸入仲裁單元、包處理單元以及輸出緩存單元。本發明提出的解析器與逆解析器的存在使得系統能夠與用戶的p4程序實現高度的交互性和兼容性,用戶可以根據自身需求靈活定制數據包處理邏輯,準確地執行并反饋結果。其次,匹配-操作管道中的核心模塊設計,尤其是輸入仲裁單元、包處理單元和輸出隊列單元之間的緊密協作與精細分工,極大地提高了系統對數據包的處理效率和準確性。輸入仲裁單元的輪詢分析與處理機制能夠有效應對多源數據包輸入,包處理單元基于配置信息的靈活處理能力可滿足各種復雜的網絡處理需求,輸出隊列單元的有序緩存與輸出控制則保障了系統輸出的穩定性和可靠性。
32、此外,多個核心模塊的并行處理能力以及axi總線的高速數據傳輸特性,使得系統能夠在大規模網絡數據處理場景下表現出色,有效提升整個網絡系統的性能和響應速度,為現代網絡技術領域的發展提供了強有力的技術支持。
1.一種基于異構處理架構的高速處理系統,其特征在于,包括:解析器、匹配-操作管道與逆解析器,所述解析器用于將用戶提交的p4程序編譯成匹配-操作管道內的配置信息;所述匹配-操作管道用于基于所述配置信息對輸入數據包進行報頭匹配以及操作流水線執行得到處理后數據;所述逆解析器用于將處理后數據進行重組并轉換成p4返回數據形式返還給用戶;
2.根據權利要求1所述的基于異構處理架構的高速處理系統,其特征在于,所述配置信息為用戶定義的數據包處理功能的配置信息。
3.根據權利要求2所述的基于異構處理架構的高速處理系統,其特征在于,所述每個核心模塊的輸入端口與多個所述的核心模塊對應,所述輸入端口包括:至少兩個網口和至少一個dma接口,所述網口與dma接口均與匹配-操作管道連接。
4.根據權利要求3所述的基于異構處理架構的高速處理系統,其特征在于,所述輸入仲裁單元包括:
5.根據權利要求1所述的基于異構處理架構的高速處理系統,其特征在于,包處理單元包括:
6.根據權利要求5所述的基于異構處理架構的高速處理系統,其特征在于,所述輸出隊列單元包括多個輸出隊列,每個輸出隊列由緩沖區以及讀寫指針構成,用于緩存處理后數據包并基于所述查找結果按照先入先出的順序進行輸出。
7.一種基于異構處理架構的高速處理方法,所述方法基于權利要求16任一所述的系統實現,包括:
8.根據權利要求7所述的一種基于異構處理架構的高速處理方法,其特征在于,所述基于所述配置信息對輸入數據包進行報頭匹配以及操作流水線執行得到處理后數據包括:
9.根據權利要求8所述的一種基于異構處理架構的高速處理方法,其特征在于,所述采用輪詢方式對輸入數據包進行處理,得到有效報文數據,包括:
10.根據權利要求8所述的一種基于異構處理架構的高速處理方法,其特征在于,所述根據所述配置信息對所述有效報文數據進行處理,得到處理后數據包包括: