本申請涉及數(shù)據(jù)通信領(lǐng)域,尤其涉及一種流表卸載系統(tǒng)、方法、設備以及集群。
背景技術(shù):
1、隨著云計算網(wǎng)絡的發(fā)展,需要轉(zhuǎn)發(fā)的數(shù)據(jù)量越來越大,為了減少主機的負擔,可以將數(shù)據(jù)轉(zhuǎn)發(fā)卸載到卸載硬件中。當數(shù)據(jù)轉(zhuǎn)發(fā)卸載到卸載硬件之后,數(shù)據(jù)報文就直接根據(jù)卸載硬件中存儲的流表項轉(zhuǎn)發(fā),無須主機參與,從而有效節(jié)約主機的資源。當網(wǎng)絡中需要快速處理大量的數(shù)據(jù)報文時,能夠迅速準確地讀取流表項以確定數(shù)據(jù)報文的處理方式是降低網(wǎng)絡壓力的關(guān)鍵。如果流表項的讀取效率低下,會導致數(shù)據(jù)報文在處理過程中出現(xiàn)延遲、丟包等問題,影響網(wǎng)絡的實時性、吞吐量和整體性能表現(xiàn),甚至可能引發(fā)網(wǎng)絡擁塞和性能瓶頸。
技術(shù)實現(xiàn)思路
1、本申請?zhí)峁┝艘环N流表卸載系統(tǒng)、方法、設備以及集群,能夠有效提高流表項的讀取效率。
2、第一方面,提供了一種流表卸載系統(tǒng),包括:
3、卸載硬件,包括多個存儲庫,每個存儲庫包括一個或者多個存儲單元,每個存儲單元用于存儲流表項;
4、主機,包括索引位圖,所述索引位圖包括多個索引組,所述多個索引組和所述多個存儲庫之間存在一一對應關(guān)系,所述索引組包括多個索引位,所述多個索引位和所述多個存儲單元之間存在一一對應關(guān)系,每個索引位用于在指示值為第一值時指示對應的存儲單元中存儲有流表項,在所述指示值為第二值時指示對應的存儲單元中沒有存儲流表項,所述主機用于根據(jù)所述索引位圖中各個索引組中的各個索引位的指示值選擇第一索引位,從而確定所述第一索引位對應的第一存儲單元用于存儲第一流表項,以使得流表項在多個存儲庫中均勻分布,并將所述第一存儲單元的地址以及第一流表項發(fā)送給所述卸載硬件;
5、所述卸載硬件,還用于接收所述第一存儲單元的地址以及第一流表項,根據(jù)所述第一存儲單元的地址將所述第一流表項存儲到所述第一存儲單元中。
6、上述方案中,主機通過對索引位圖找到卸載硬件中的合適位置,從而可以將流表項均勻地散布在卸載硬件的不同存儲庫中,由于不同的存儲庫中可以同時進行流表項的讀取、寫入以及查找等等操作,流表項的分布越均勻,就越能夠有效提高流表項的讀取效率。
7、在一些可能的設計中,所述主機還用于將所述第一流表項的索引值存儲到所述第一索引位中,在需要刪除所述第一流表項時,根據(jù)所述第一流表項的索引值以及所述索引位圖確定所述第一存儲單元的地址,將所述第一存儲單元的地址發(fā)送給所述卸載硬件;
8、所述卸載硬件,還用于根據(jù)所述第一存儲單元的地址將所述第一存儲單元中的第一流表項進行刪除。
9、在一些可能的設計中,所述主機還用于在需要刪除第二流表項時,根據(jù)所述第二流表項的索引值以及所述索引位圖確定第二存儲庫中的第二存儲單元的地址,將所述第二存儲單元的地址發(fā)送給所述卸載硬件;
10、所述卸載硬件,還用于在刪除所述第一流表項的同時,根據(jù)所述第二存儲單元的地址將所述第二存儲單元中的第二流表項進行刪除。
11、上述方案中,可以同時對不同的存儲庫中的流表項進行刪除,從而提高了流表項刪除的效率。
12、在一些可能的設計中,所述卸載硬件還用于在接收到第一數(shù)據(jù)報文以及第二數(shù)據(jù)報文時,同時從所述卸載硬件中的第一存儲庫的第一存儲單元中讀取第一流表項以及從所述卸載硬件中的第二存儲庫的第二存儲單元中讀取第二流表項,根據(jù)所述第一流表項將所述第一數(shù)據(jù)報文進行轉(zhuǎn)發(fā),根據(jù)所述第二流表項將所述第二數(shù)據(jù)報文進行轉(zhuǎn)發(fā)。
13、上述方案中,可以同時從不同的存儲庫中讀取流表項,并根據(jù)流表項進行數(shù)據(jù)轉(zhuǎn)發(fā),從而提高數(shù)據(jù)轉(zhuǎn)發(fā)的效率。
14、在一些可能的設計中,所述第一數(shù)據(jù)報文為第一隧道報文,所述第二數(shù)據(jù)報文為第二隧道報文。
15、在一些可能的設計中,所述主機還用于根據(jù)所述索引位圖中各個索引組中的各個索引位的指示值選擇各個索引組中指示值為第一值的數(shù)量最少的索引組中指示值為第二值的索引位作為第一索引位。
16、在一些可能的設計中,所述主機還用于在存儲庫中選擇剩余空間最多的存儲庫對應的索引組中指示值為第二值的索引位作為第一索引位。
17、第二方面,提供了一種流表卸載方法,包括:
18、通過卸載硬件提供多個存儲庫,每個存儲庫包括一個或者多個存儲單元,每個存儲單元用于存儲流表項;
19、通過主機提供索引位圖,所述索引位圖包括多個索引組,所述多個索引組和所述多個存儲庫之間存在一一對應關(guān)系,所述索引組包括多個索引位,所述多個索引位和所述多個存儲單元之間存在一一對應關(guān)系,每個索引位用于在指示值為第一值時指示對應的存儲單元中存儲有流表項,在所述指示值為第二值時指示對應的存儲單元中沒有存儲流表項,
20、通過所述主機根據(jù)所述索引位圖中各個索引組中的各個索引位的指示值選擇第一索引位,從而確定所述第一索引位對應的第一存儲單元用于存儲第一流表項,以使得流表項在多個存儲庫中均勻分布,并將所述第一存儲單元的地址以及第一流表項發(fā)送給所述卸載硬件;
21、通過卸載硬件接收所述第一存儲單元的地址以及第一流表項,根據(jù)所述第一存儲單元的地址將所述第一流表項存儲到所述第一存儲單元中。
22、第三方面,提供了一種計算設備,包括流表卸載系統(tǒng)以及存儲單元,所述流表卸載系統(tǒng)以及所述存儲單元之間能夠進行通信,所述流表卸載系統(tǒng)為如第一方面任一項所述的系統(tǒng)。
23、第四方面,提供了一種計算設備集群,包括流表卸載系統(tǒng)以及存儲單元,所述流表卸載系統(tǒng)以及所述存儲單元之間能夠進行通信,所述流表卸載系統(tǒng)為如第一方面任一項所述的系統(tǒng)。
1.一種流表卸載系統(tǒng),其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述第一數(shù)據(jù)報文為第一隧道報文,所述第二數(shù)據(jù)報文為第二隧道報文。
6.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,
8.一種流表卸載方法,其特征在于,包括:
9.一種計算設備,其特征在于,包括流表卸載系統(tǒng)以及存儲單元,所述流表卸載系統(tǒng)以及所述存儲單元之間能夠進行通信,所述流表卸載系統(tǒng)為如權(quán)利要求1-7任一項所述的系統(tǒng)。
10.一種計算設備集群,其特征在于,包括流表卸載系統(tǒng)以及存儲單元,所述流表卸載系統(tǒng)以及所述存儲單元之間能夠進行通信,所述流表卸載系統(tǒng)為如權(quán)利要求1-7任一項所述的系統(tǒng)。