1.一種多核中央處理器CPU的負載均衡方法,其特征在于,應用于通信設備,所述通信設備包括硬件分流模塊、接收端口以及至少兩個CPU核,其中,每個接收端口配置為與至少兩個CPU核綁定,與同一個接收端口綁定的CPU核配置為分別綁定所述接收端口的一個或多個接收隊列;
所述負載均衡方法包括:
針對每個接收端口,硬件分流模塊根據(jù)分流規(guī)則將報文分類,并根據(jù)所述接收端口的接收隊列與報文類型的分配關系,將所述報文轉發(fā)至與所述報文所屬的報文類型存在分配關系的接收隊列;
所述接收端口接收到所述報文后,產(chǎn)生硬件中斷,并將所述硬件中斷同時上報給與所述接收端口綁定的所有CPU核;
接收到所述硬件中斷的每個CPU核在軟中斷處理過程中,從與本CPU核綁定的接收隊列讀取報文。
2.根據(jù)權利要求1所述的負載均衡方法,其特征在于,所述硬件分流模塊至少包括CPU芯片的硬件分類單元以及直接內(nèi)存存取DMA單元;
所述硬件分流模塊根據(jù)分流規(guī)則將報文分類,并根據(jù)所述接收端口的接收隊列與報文類型的分配關系,將所述報文轉發(fā)至與所述報文所屬的報文類型存在分配關系的接收隊列,包括:
所述硬件分類單元根據(jù)分流規(guī)則將報文分類;
所述DMA單元根據(jù)所述接收端口的接收隊列與報文類型的分配關系,將所述報文轉發(fā)至與所述報文所屬的報文類型存在分配關系的接收隊列。
3.根據(jù)權利要求1所述的負載均衡方法,其特征在于,所述硬件分流模塊包括外置交換芯片、CPU芯片的硬件分類單元以及直接內(nèi)存存取DMA單元;
所述硬件分流模塊根據(jù)分流規(guī)則將報文分類,并根據(jù)所述接收端口的接收隊列與報文類型的分配關系,將所述報文轉發(fā)至與所述報文所屬的報文類型存在分配關系的接收隊列,包括:
所述外置交換芯片根據(jù)分流規(guī)則將報文分類,并根據(jù)接收端口的接收隊列與報文類型的分配關系,修改所述報文的優(yōu)先級,并將所述報文發(fā)送給所述硬件分類單元;
所述硬件分類單元匹配所述報文的優(yōu)先級;
所述DMA單元將所述報文轉發(fā)至對應所述優(yōu)先級的接收隊列。
4.根據(jù)權利要求1至3任一項所述的負載均衡方法,其特征在于,所述分流規(guī)則包括:
匹配報文為以下任一大類:管理類報文、非管理類網(wǎng)絡協(xié)議IP報文、非管理類非IP報文;
在所述報文屬于非管理類IP報文時,按照所述報文的IP地址,細分所述報文所屬的報文類型。
5.根據(jù)權利要求4所述的負載均衡方法,其特征在于,所述負載均衡方法還包括:
針對所述接收端口,所述接收到所述硬件中斷的每個CPU核在報文處理過程中,記錄不同報文類型的數(shù)據(jù)流的流量;
滿足預定條件的CPU核根據(jù)預定時長內(nèi)與所述接收端口綁定的所有CPU核記錄的不同報文類型的數(shù)據(jù)流的流量,更新所述接收端口的接收隊列與報文類型的分配關系。
6.根據(jù)權利要求5所述的負載均衡方法,其特征在于,所述滿足預定條件的CPU核根據(jù)預定時長內(nèi)與所述接收端口綁定的所有CPU核記錄的不同報文類型的數(shù)據(jù)流的流量,更新所述接收端口的接收隊列與報文類型的分配關系,包括:
根據(jù)預定時長內(nèi)與所述接收端口綁定的所有CPU核記錄的不同報文類型的數(shù)據(jù)流的流量,計算非管理類IP報文的數(shù)據(jù)流以及非管理類非IP報文的數(shù)據(jù)流的流量總和;
根據(jù)所述流量總和以及用于處理報文的CPU核的數(shù)目,確定CPU核的平均負載流量;
根據(jù)非管理類IP報文的數(shù)據(jù)流的流量、非管理類非IP報文的數(shù)據(jù)流的流量以及CPU核的平均負載流量,給非管理類IP報文的數(shù)據(jù)流以及非管理類非IP報文的數(shù)據(jù)流指定所述接收端口的接收隊列,以滿足給每個接收隊列分配的數(shù)據(jù)流的總流量之間的差值小于或等于閾值。
7.根據(jù)權利要求6所述的負載均衡方法,其特征在于,所述滿足預定條件的CPU核根據(jù)預定時長內(nèi)與所述接收端口綁定的所有CPU核記錄的不同報文類型的數(shù)據(jù)流的流量,更新所述接收端口的接收隊列與報文類型的分配關系,還包括:
在給非管理類IP報文的數(shù)據(jù)流以及非管理類非IP報文的數(shù)據(jù)流指定所述接收端口的接收隊列之后,給管理類報文的數(shù)據(jù)流指定所述接收端口的索引最大的接收隊列;其中,與所述接收端口綁定的所有CPU核中的負載最小的CPU核配置為與所述接收端口的索引最大的接收隊列綁定。
8.一種多核中央處理器CPU的負載均衡裝置,其特征在于,包括:硬件分流模塊、接收端口以及至少兩個CPU核;其中,每個接收端口配置為與至少兩個CPU核綁定,與同一個接收端口綁定的CPU核配置為分別綁定所述接收端口的一個或多個接收隊列;
所述硬件分流模塊,用于針對每個接收端口,根據(jù)分流規(guī)則將報文分類,并根據(jù)所述接收端口的接收隊列與報文類型的分配關系,將所述報文轉發(fā)至與所述報文所屬的報文類型存在分配關系的接收隊列;
所述接收端口,用于在接收到所述報文后,產(chǎn)生硬件中斷,并將所述硬件中斷同時上報給與所述接收端口綁定的所有CPU核;
接收到所述硬件中斷的每個CPU核,用于在軟中斷處理過程中,從與本CPU核綁定的接收隊列讀取報文。
9.根據(jù)權利要求8所述的負載均衡裝置,其特征在于,所述硬件分流模塊至少包括CPU芯片的硬件分類單元以及直接內(nèi)存存取DMA單元;
其中,所述硬件分類單元,用于根據(jù)分流規(guī)則將報文分類;
所述DMA單元,用于根據(jù)所述接收端口的接收隊列與報文類型的分配關系,將所述報文轉發(fā)至與所述報文所屬的報文類型存在分配關系的接收隊列。
10.根據(jù)權利要求8所述的負載均衡裝置,其特征在于,所述硬件分流模塊包括外置交換芯片、CPU芯片的硬件分類單元以及直接內(nèi)存存取DMA單元;
所述外置交換芯片,用于根據(jù)分流規(guī)則將報文分類,并根據(jù)接收端口的接收隊列與報文類型的分配關系,修改所述報文的優(yōu)先級,并將所述報文發(fā)送給所述硬件分類單元;
所述硬件分類單元,用于匹配所述報文的優(yōu)先級;
所述DMA單元,用于將所述報文轉發(fā)至對應所述優(yōu)先級的接收隊列。
11.根據(jù)權利要求8至10任一項所述的負載均衡裝置,其特征在于,所述分流規(guī)則包括:
匹配報文為以下任一大類:管理類報文、非管理類網(wǎng)絡協(xié)議IP報文、非管理類非IP報文;
在所述報文屬于非管理類IP報文時,按照所述報文的IP地址,細分所述報文所屬的報文類型。
12.根據(jù)權利要求11所述的負載均衡裝置,其特征在于,
所述CPU核,還用于在接收到接收端口的所述硬件中斷后,在報文處理過程中,記錄不同報文類型的數(shù)據(jù)流的流量;
滿足預定條件的CPU核,還用于根據(jù)預定時長內(nèi)與所述接收端口綁定的所有CPU核記錄的不同報文類型的數(shù)據(jù)流的流量,更新所述接收端口的接收隊列與報文類型的分配關系。
13.根據(jù)權利要求12所述的負載均衡裝置,其特征在于,所述滿足預定條件的CPU核,用于根據(jù)預定時長內(nèi)與所述接收端口綁定的所有CPU核記錄的不同報文類型的數(shù)據(jù)流的流量,計算非管理類IP報文的數(shù)據(jù)流以及非管理類非IP報文的數(shù)據(jù)流的流量總和;根據(jù)所述流量總和以及用于處理報文的CPU核的數(shù)目,確定CPU核的平均負載流量;根據(jù)非管理類IP報文的數(shù)據(jù)流的流量、非管理類非IP報文的數(shù)據(jù)流的流量以及CPU核的平均負載流量,給非管理類IP報文的數(shù)據(jù)流以及非管理類非IP報文的數(shù)據(jù)流指定所述接收端口的接收隊列,以滿足給每個接收隊列分配的數(shù)據(jù)流的總流量之間的差值小于或等于閾值。
14.根據(jù)權利要求13所述的負載均衡裝置,其特征在于,所述滿足預定條件的CPU核,還用于在給非管理類IP報文的數(shù)據(jù)流以及非管理類非IP報文的數(shù)據(jù)流指定所述接收端口的接收隊列之后,給管理類報文的數(shù)據(jù)流指定所述接收端口的索引最大的接收隊列;其中,與所述接收端口綁定的所有CPU核中的負載最小的CPU核配置為與所述接收端口的索引最大的接收隊列綁定。