本公開涉及網(wǎng)絡(luò)限速領(lǐng)域,具體地,涉及一種多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的方法和裝置。
背景技術(shù):
對(duì)于網(wǎng)絡(luò)設(shè)備廠商而言,限速主要就是限制整體防火墻的網(wǎng)絡(luò)轉(zhuǎn)發(fā)速度?,F(xiàn)有技術(shù)中,限速的方式主要有兩種,一種是當(dāng)局域網(wǎng)共用一個(gè)網(wǎng)絡(luò)的時(shí)候,為了防止個(gè)別員工下載大型軟件或者游戲而影響整體的網(wǎng)絡(luò)速度;一種是限制某個(gè)接口的流量不能超過(guò)一定速度,上述兩種方式是基于內(nèi)部接口和ip方面的網(wǎng)絡(luò)限速。
現(xiàn)有技術(shù)中的限速軟件功能如下。License是軟件使用范圍授權(quán),換言之,License在防火墻的限速中起的作用就是授權(quán)買家可以體驗(yàn)到網(wǎng)絡(luò)真實(shí)轉(zhuǎn)發(fā)性能速度最大值。對(duì)于網(wǎng)絡(luò)設(shè)備廠商出售的防火墻設(shè)備而言,License的限速不同,其轉(zhuǎn)發(fā)的吞吐性能不同。比如一個(gè)防火墻的轉(zhuǎn)發(fā)性能最大為160G/s,購(gòu)買了120G/s的防火墻的License的用戶,其防火墻的轉(zhuǎn)發(fā)最大性能僅能為120G/s,過(guò)一段時(shí)間用戶覺得這種配置的防火墻性能不夠用,可以升級(jí)License為160G/s的防火墻,即在硬件的性能可以達(dá)到一定的最大值的情況下,可以通過(guò)license將其真正運(yùn)行時(shí)的速度限制為想要的速度。
但是限速軟件的限速功能是十分耗費(fèi)性能的,因?yàn)檐浖匏賻缀醵际菍⒚總€(gè)核收到報(bào)文的字節(jié)數(shù)每秒進(jìn)行累加獲得總流量值,這會(huì)涉及到計(jì)算每個(gè)cpu從各個(gè)接口收到的報(bào)文的總流量值。而且限速是以秒為單位,也就是說(shuō)每秒轉(zhuǎn)發(fā)流量值達(dá)到限速值后,要立刻停掉流量,不再進(jìn)行轉(zhuǎn)發(fā)。這需要在收到每個(gè)報(bào)文后都要判斷每個(gè)核從各個(gè)接口的收到報(bào)文的字節(jié)總數(shù)和當(dāng)前報(bào)文的字節(jié)數(shù)之和是否超過(guò)了License的限速值。
多核網(wǎng)絡(luò)下統(tǒng)計(jì)不同cpu的轉(zhuǎn)發(fā)報(bào)文的總流量值,會(huì)出現(xiàn)同一cpu訪問(wèn)其他cpu的轉(zhuǎn)發(fā)報(bào)文的總流量值,同時(shí)還要包包計(jì)算所有核的總流量值,這是一個(gè)十分耗費(fèi)性能的開銷。由于該計(jì)算過(guò)程是每核操作,且多核均需要統(tǒng)計(jì)總流量值,這就會(huì)涉及到資源競(jìng)爭(zhēng)的問(wèn)題。如果一個(gè)高性能吞吐可以做到160G/s的多核防火墻,增加了限速功能后,很有可能轉(zhuǎn)發(fā)的吞吐性能就變成了100G/s,甚至更少。
隨著科技的不斷發(fā)展,現(xiàn)在的防火墻已經(jīng)是多核處理器的天下。既然是多核處理,必然涉及到資源的競(jìng)爭(zhēng)和互斥。對(duì)于基于多核的網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備,幾乎所有廠商都是使用加鎖的方式來(lái)避免競(jìng)爭(zhēng),使得限速必然會(huì)導(dǎo)致正常的網(wǎng)絡(luò)轉(zhuǎn)發(fā)性能大幅下降。如果這部分限速?zèng)]實(shí)現(xiàn)好,基本上就會(huì)做到高性能處理器變?yōu)榈托阅芴幚砥鳎湎匏俟δ軠S為只能靠硬件配置(比如cpu由4核變?yōu)?核,來(lái)實(shí)現(xiàn)限速由20G/s變?yōu)?0G/s)來(lái)實(shí)現(xiàn),無(wú)法用軟件實(shí)現(xiàn),極大的增加了成本。
技術(shù)實(shí)現(xiàn)要素:
本公開的目的是提供一種可以減少總流量值的計(jì)算量且優(yōu)化性能的多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的方法和裝置。
為了實(shí)現(xiàn)上述目的,根據(jù)本公開的第一方面,提供一種多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的方法,所述方法應(yīng)用于所述多核網(wǎng)絡(luò)中的任一核,所述方法包括:獲取初始時(shí)間閾值,其中,所述初始時(shí)間閾值為初始的多核網(wǎng)絡(luò)總流量值的檢測(cè)時(shí)間點(diǎn);在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值,其中,所述目標(biāo)時(shí)間閾值初始為所述初始時(shí)間閾值;在所述總流量值達(dá)到預(yù)設(shè)的所述多核網(wǎng)絡(luò)單位時(shí)間內(nèi)的最大允許流量值時(shí),丟棄后續(xù)接收到的報(bào)文。
可選地,當(dāng)所述目標(biāo)時(shí)間閾值為所述初始時(shí)間閾值時(shí),所述在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值包括:在到達(dá)目標(biāo)時(shí)間閾值時(shí),通過(guò)硬件驅(qū)動(dòng)獲取所述多核網(wǎng)絡(luò)中每個(gè)網(wǎng)卡在所述目標(biāo)時(shí)間閾值內(nèi)的流量值;對(duì)所述每個(gè)網(wǎng)卡在所述目標(biāo)時(shí)間閾值內(nèi)的流量值進(jìn)行累加,獲得所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值。
可選地,所述方法還包括:在所述總流量值未達(dá)到所述最大允許流量值、并且所述總流量值與所述最大允許流量值之間的差值大于第一預(yù)設(shè)差值時(shí),實(shí)時(shí)記錄自所述初始時(shí)間閾值后的自身流量值;根據(jù)當(dāng)前的總流量值、所述最大允許流量值、單位時(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量、和當(dāng)前的目標(biāo)時(shí)間閾值,確定下一目標(biāo)時(shí)間閾值;在所述下一目標(biāo)時(shí)間閾值未到達(dá)時(shí)間收斂值時(shí),重新執(zhí)行所述在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值的步驟,其中,所述時(shí)間收斂值為所述多核網(wǎng)絡(luò)的總流量值最近N次達(dá)到所述最大允許流量值的時(shí)間點(diǎn)中的最小時(shí)間點(diǎn),其中,N為大于或等于2的自然數(shù)。
可選地,當(dāng)所述目標(biāo)時(shí)間閾值不為所述初始時(shí)間閾值時(shí),所述在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值包括:在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)中其他各核記錄的自所述初始時(shí)間閾值后的流量值;將所記錄的自身流量值、獲取到的其他各核記錄的流量值、以及所述多核網(wǎng)絡(luò)在所述初始時(shí)間閾值內(nèi)的總流量值進(jìn)行累加,獲得所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值。
可選地,所述根據(jù)當(dāng)前的總流量值、所述最大允許流量值、單位時(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量、和當(dāng)前的目標(biāo)時(shí)間閾值,確定下一目標(biāo)時(shí)間閾值,包括:
通過(guò)以下公式確定下一目標(biāo)時(shí)間閾值:
Time=Time_last+1/(Real/(Max-Cur)+1)
其中,Time是所述下一目標(biāo)時(shí)間閾值;
Time_last是所述當(dāng)前的目標(biāo)時(shí)間閾值;
Real是所述最大轉(zhuǎn)發(fā)吞吐量;
Max是所述最大允許流量值;
Cur是所述當(dāng)前的總流量值。
可選地,所述方法還包括:在所述總流量值未達(dá)到所述最大允許流量值且所述總流量值與所述最大允許流量值之間的差值小于或等于所述第一預(yù)設(shè)差值,或者所述下一目標(biāo)時(shí)間閾值到達(dá)所述時(shí)間收斂值時(shí),實(shí)時(shí)記錄自所述初始時(shí)間閾值后的自身流量值,并實(shí)時(shí)獲取所述多核網(wǎng)絡(luò)中其他各核記錄的自所述初始時(shí)間閾值后的流量值;將實(shí)時(shí)記錄的自身流量值、實(shí)時(shí)獲取到的其他各核記錄的流量值、以及所述多核網(wǎng)絡(luò)在所述初始時(shí)間閾值內(nèi)的總流量值進(jìn)行累加,獲得所述多核網(wǎng)絡(luò)的實(shí)時(shí)總流量值;在所述實(shí)時(shí)總流量值達(dá)到所述最大允許流量值時(shí),丟棄后續(xù)接收到的報(bào)文。
可選地,所述多核網(wǎng)絡(luò)包括配置核和同步核;
在所述方法應(yīng)用于配置核時(shí),所述獲取初始時(shí)間閾值包括:
獲取所述多核網(wǎng)絡(luò)單位時(shí)間內(nèi)的最大允許流量值以及單位時(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量;
根據(jù)以下公式計(jì)算所述初始時(shí)間閾值:
Time0=1/(Real/Max+1)
其中,Real是所述最大轉(zhuǎn)發(fā)吞吐量;
Max是所述最大允許流量值;
Time0是所述初始時(shí)間閾值;
在所述方法應(yīng)用于同步核時(shí),所述獲取初始時(shí)間閾值包括:
從所述配置核獲取所述初始時(shí)間閾值。
根據(jù)本公開的第二方面,提供一種多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的裝置,所述裝置應(yīng)用于所述多核網(wǎng)絡(luò)中的任一核,所述裝置包括:第一獲取模塊,用于獲取初始時(shí)間閾值,其中,所述初始時(shí)間閾值為初始的多核網(wǎng)絡(luò)總流量值的檢測(cè)時(shí)間點(diǎn);第二獲取模塊,用于在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值,其中,所述目標(biāo)時(shí)間閾值初始為所述初始時(shí)間閾值;第一處理模塊,用于在所述第二獲取模塊獲取到的所述總流量值達(dá)到預(yù)設(shè)的所述多核網(wǎng)絡(luò)單位時(shí)間內(nèi)的最大允許流量值時(shí),丟棄后續(xù)接收到的報(bào)文。
可選地,所述第二獲取模塊包括:第一獲取子模塊,用于當(dāng)所述目標(biāo)時(shí)間閾值為所述初始時(shí)間閾值時(shí),在到達(dá)目標(biāo)時(shí)間閾值時(shí),通過(guò)硬件驅(qū)動(dòng)獲取所述多核網(wǎng)絡(luò)中每個(gè)網(wǎng)卡在所述目標(biāo)時(shí)間閾值內(nèi)的流量值;第一累加子模塊,用于對(duì)所述第一獲取子模塊獲取到的所述每個(gè)網(wǎng)卡在所述目標(biāo)時(shí)間閾值內(nèi)的流量值進(jìn)行累加,獲得所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值。
可選地,所述裝置還包括:記錄模塊,用于在所述第二獲取模塊獲取到的所述總流量值未達(dá)到所述最大允許流量值、并且所述總流量值與所述最大允許流量值之間的差值大于第一預(yù)設(shè)差值時(shí),實(shí)時(shí)記錄自所述初始時(shí)間閾值后的自身流量值;時(shí)間閾值確定模塊,用于根據(jù)當(dāng)前的總流量值、所述最大允許流量值、單位時(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量、和當(dāng)前的目標(biāo)時(shí)間閾值,確定下一目標(biāo)時(shí)間閾值;在所述下一目標(biāo)時(shí)間閾值未到達(dá)時(shí)間收斂值時(shí),重新觸發(fā)所述第二獲取模塊在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值,其中,所述時(shí)間收斂值為所述多核網(wǎng)絡(luò)的總流量值最近N次達(dá)到所述最大允許流量值的時(shí)間點(diǎn)中的最小時(shí)間點(diǎn),其中,N為大于或等于2的自然數(shù)。
可選地,當(dāng)所述目標(biāo)時(shí)間閾值不為所述初始時(shí)間閾值時(shí),所述第二獲取模塊包括:第二獲取子模塊,用于當(dāng)所述目標(biāo)時(shí)間閾值不為所述初始時(shí)間閾值時(shí),在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)中其他各核記錄的自所述初始時(shí)間閾值后的流量值;第二累加子模塊,用于將所述記錄模塊所記錄的自身流量值、所述第二獲取子模塊獲取到的其他各核記錄的流量值、以及所述多核網(wǎng)絡(luò)在所述初始時(shí)間閾值內(nèi)的總流量值進(jìn)行累加,獲得所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值。
可選地,所述時(shí)間閾值確定模塊用于通過(guò)以下公式確定所述下一目標(biāo)時(shí)間閾值:
Time=Time_last+1/(Real/(Max-Cur)+1)
其中,Time是所述下一目標(biāo)時(shí)間閾值;Time_last是所述當(dāng)前的目標(biāo)時(shí)間閾值;Real是所述最大轉(zhuǎn)發(fā)吞吐量;Max是所述最大允許流量值;Cur是所述當(dāng)前的總流量值。
可選地,所述裝置還包括:第三獲取模塊,用于在所述第二獲取模塊獲取到的所述總流量值未達(dá)到所述最大允許流量值且所述總流量值與所述最大允許流量值之間的差值小于或等于所述第一預(yù)設(shè)差值,或者所述時(shí)間閾值確定模塊所確定的所述下一目標(biāo)時(shí)間閾值到達(dá)所述時(shí)間收斂值時(shí),實(shí)時(shí)記錄自所述初始時(shí)間閾值后的自身流量值,并實(shí)時(shí)獲取所述多核網(wǎng)絡(luò)中其他各核記錄的自所述初始時(shí)間閾值后的流量值;多核累加模塊,用于將所述第三獲取模塊實(shí)時(shí)記錄的自身流量值、所述第三獲取模塊實(shí)時(shí)獲取到的其他各核記錄的流量值、以及所述多核網(wǎng)絡(luò)在所述初始時(shí)間閾值內(nèi)的總流量值進(jìn)行累加,獲得所述多核網(wǎng)絡(luò)的實(shí)時(shí)總流量值;第二處理模塊,用于在所述多核累加模塊獲得的所述實(shí)時(shí)總流量值達(dá)到所述最大允許流量值時(shí),丟棄后續(xù)接收到的報(bào)文。
可選地,所述多核網(wǎng)絡(luò)包括配置核和同步核;
在所述裝置應(yīng)用于配置核時(shí),所述第一獲取模塊用于獲取所述多核網(wǎng)絡(luò)單位時(shí)間內(nèi)的最大允許流量值以及單位時(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量,并根據(jù)以下公式計(jì)算所述初始時(shí)間閾值:
Time0=1/(Real/Max+1)
其中,Real是所述最大轉(zhuǎn)發(fā)吞吐量;
Max是所述最大允許流量值;
Time0是所述初始時(shí)間閾值;
在所述裝置應(yīng)用于同步核時(shí),所述第一獲取模塊用于從所述配置核獲取所述初始時(shí)間閾值。
通過(guò)上述技術(shù)方案,在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取多核網(wǎng)絡(luò)在該目標(biāo)時(shí)間閾值內(nèi)的總流量值,對(duì)于網(wǎng)絡(luò)轉(zhuǎn)發(fā)流量值的計(jì)算非包包進(jìn)行統(tǒng)計(jì)總流量值,而是基于時(shí)間點(diǎn)進(jìn)行統(tǒng)計(jì),由此,可以降低多核下統(tǒng)計(jì)功能對(duì)性能的影響。由此,上述方案可以最大化減少軟件計(jì)算量,降低計(jì)算的開銷,從而降低網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的性能開銷。
本公開的其他特征和優(yōu)點(diǎn)將在隨后的具體實(shí)施方式部分予以詳細(xì)說(shuō)明。
附圖說(shuō)明
附圖是用來(lái)提供對(duì)本公開的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與下面的具體實(shí)施方式一起用于解釋本公開,但并不構(gòu)成對(duì)本公開的限制。在附圖中:
圖1是多核網(wǎng)絡(luò)的示意圖;
圖2是根據(jù)本公開的一種實(shí)施方式提供的多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的方法的流程圖;
圖3是根據(jù)本公開的另一種實(shí)施方式提供的多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的方法的流程圖;
圖4是根據(jù)本公開的一種實(shí)施方式提供的多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的裝置的框圖;
圖5是根據(jù)本公開的另一種實(shí)施方式提供的多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的裝置的框圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本公開的具體實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。應(yīng)當(dāng)理解的是,此處所描述的具體實(shí)施方式僅用于說(shuō)明和解釋本公開,并不用于限制本公開。
根據(jù)本公開的第一方面,提供一種多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的方法。該多核網(wǎng)絡(luò)包括配置核和同步核。圖1所示,為多核網(wǎng)絡(luò)的示意圖。如圖1所示,在該多核網(wǎng)絡(luò)中,配置核只有一個(gè),為所有同步核中的第一個(gè)同步核,主要負(fù)責(zé)初始時(shí)間閾值的初始化配置和多核網(wǎng)絡(luò)的總流量值最近N次達(dá)到多核網(wǎng)絡(luò)單位時(shí)間內(nèi)的最大允許流量值Max的時(shí)間點(diǎn)中的最小時(shí)間點(diǎn)的統(tǒng)計(jì)更新。在本公開中,當(dāng)提及總流量值達(dá)到最大允許流量值時(shí),是指總流量值大于或等于該最大允許流量值。反之,當(dāng)提及總流量值未達(dá)到最大允許流量值時(shí),是指總流量值小于該最大允許流量值。
同步核為參與轉(zhuǎn)發(fā)的所有核,主要功能是在單位時(shí)間內(nèi)(通常為1s)的實(shí)時(shí)總流量值達(dá)到該最大允許流量值Max時(shí),停止每個(gè)同步核的流量轉(zhuǎn)發(fā)。其中,多核網(wǎng)絡(luò)單位時(shí)間內(nèi)的最大允許流量值Max為L(zhǎng)icense軟件授權(quán)用戶可以體驗(yàn)到的多核網(wǎng)絡(luò)實(shí)際在單位時(shí)間內(nèi)的最大轉(zhuǎn)發(fā)吞吐量。例如,以背景技術(shù)所舉示例為例,假設(shè)License軟件授權(quán)用戶可以體驗(yàn)到的網(wǎng)絡(luò)實(shí)際轉(zhuǎn)發(fā)性能速度最大值為120G/s,并且以1s為單位時(shí)間,則有:Max=120G。
在多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)系統(tǒng)中,每個(gè)網(wǎng)卡都有多個(gè)發(fā)送隊(duì)列和接收隊(duì)列,網(wǎng)卡與各個(gè)核建立的是全連接的隊(duì)列關(guān)系,每個(gè)核既可以從所有網(wǎng)卡接收數(shù)據(jù)包,也可以向所有網(wǎng)卡發(fā)送數(shù)據(jù)包。
圖2所示,為根據(jù)本公開的一種實(shí)施方式提供的多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的方法的流程圖。如圖2所示,所述方法應(yīng)用于所述多核網(wǎng)絡(luò)中的任一核,該方法包括:
在步驟S21中,獲取初始時(shí)間閾值,其中,所述初始時(shí)間閾值為初始的多核網(wǎng)絡(luò)總流量值的檢測(cè)時(shí)間點(diǎn)。
如上所述,所述多核網(wǎng)絡(luò)可以包括配置核和同步核。在所述方法應(yīng)用于配置核時(shí),所述獲取初始時(shí)間閾值包括:
獲取多核網(wǎng)絡(luò)單位時(shí)間內(nèi)的最大允許流量值Max以及單位時(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量Real。以背景技術(shù)所舉示例為例,假設(shè)防火墻的最大轉(zhuǎn)發(fā)速度為160G/s,并且以1s為單位時(shí)間,則有:?jiǎn)挝粫r(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量Real=160G。
在獲得最大允許流量值Max和最大轉(zhuǎn)發(fā)吞吐量Real之后,根據(jù)以下公式計(jì)算初始時(shí)間閾值:
Time0=1/(Real/Max+1)
其中,Real是所述最大轉(zhuǎn)發(fā)吞吐量;Max是所述最大允許流量值;Time0是所述初始時(shí)間閾值。
在所述方法應(yīng)用于同步核時(shí),所述獲取初始時(shí)間閾值包括:從所述配置核獲取所述初始時(shí)間閾值。
假設(shè)Real=160G,Max=120G,則根據(jù)以上公式,可以計(jì)算出Time0=0.43s,該時(shí)間點(diǎn)即為初始的多核網(wǎng)絡(luò)總流量值的檢測(cè)時(shí)間點(diǎn)。
在步驟S22中,在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取多核網(wǎng)絡(luò)在目標(biāo)時(shí)間閾值內(nèi)的總流量值,其中,所述目標(biāo)時(shí)間閾值初始為所述初始時(shí)間閾值Time0。
當(dāng)目標(biāo)時(shí)間閾值為初始時(shí)間閾值Time0時(shí),所述在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值包括:在到達(dá)目標(biāo)時(shí)間閾值時(shí),通過(guò)硬件驅(qū)動(dòng)獲取所述多核網(wǎng)絡(luò)中每個(gè)網(wǎng)卡在所述目標(biāo)時(shí)間閾值內(nèi)的流量值;對(duì)所述每個(gè)網(wǎng)卡在所述目標(biāo)時(shí)間閾值內(nèi)的流量值進(jìn)行累加,獲得所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值。
示例地,所述每個(gè)網(wǎng)卡在所述目標(biāo)時(shí)間閾值內(nèi)的流量值的累加值Sum(即,多核網(wǎng)絡(luò)在初始時(shí)間閾值內(nèi)的總流量值)的計(jì)算方式為:
其中,Sumi表示第i個(gè)網(wǎng)卡在所述目標(biāo)時(shí)間閾值內(nèi)的流量值;L表示網(wǎng)卡總數(shù)。
使用驅(qū)動(dòng)接口獲取硬件網(wǎng)卡的收發(fā)吞吐來(lái)統(tǒng)計(jì)多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)的總流量值,同每個(gè)核與每個(gè)網(wǎng)卡交互的所有報(bào)文都要做累加操作的軟件計(jì)算相比,極大的減少了計(jì)算量。
需要說(shuō)明的是,在本公開中,通過(guò)硬件驅(qū)動(dòng)獲得各網(wǎng)卡在目標(biāo)時(shí)間閾值內(nèi)的流量值,并對(duì)各網(wǎng)卡在該目標(biāo)時(shí)間閾值內(nèi)的流量值進(jìn)行累加這樣的方式,得到多核網(wǎng)絡(luò)在目標(biāo)時(shí)間閾值內(nèi)的總流量值,僅限于在目標(biāo)時(shí)間閾值為初始時(shí)間閾值Time0的情況。例如,假設(shè)Time0=0.43s,則在到達(dá)0.43s時(shí),通過(guò)硬件驅(qū)動(dòng)獲取各網(wǎng)卡在從0s~0.43s期間的流量值,并進(jìn)行累加操作,以獲得多核網(wǎng)絡(luò)在0s~0.43s期間的總流量值。
在步驟S23中,在所述總流量值達(dá)到預(yù)設(shè)的所述多核網(wǎng)絡(luò)單位時(shí)間內(nèi)的最大允許流量值(即,上述的Max)時(shí),丟棄后續(xù)接收到的報(bào)文。示例地,在該總流量值達(dá)到最大允許流量值Max時(shí),記錄當(dāng)前時(shí)間,并將當(dāng)前時(shí)間之后到1s結(jié)束時(shí)的報(bào)文直接丟棄。
通過(guò)上述技術(shù)方案,在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取多核網(wǎng)絡(luò)在該目標(biāo)時(shí)間閾值內(nèi)的總流量值,對(duì)于網(wǎng)絡(luò)轉(zhuǎn)發(fā)流量值的計(jì)算非包包進(jìn)行統(tǒng)計(jì)總流量值,而是基于時(shí)間點(diǎn)進(jìn)行統(tǒng)計(jì),由此,可以降低多核下統(tǒng)計(jì)功能對(duì)性能的影響。由此,上述方案可以最大化減少軟件計(jì)算量,降低計(jì)算的開銷,從而降低網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的性能開銷。
圖3所示,為根據(jù)本公開的另一種實(shí)施方式提供的多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的方法的流程圖。如圖3所示,在圖2的基礎(chǔ)上,該方法還可以包括:
在步驟S31中,判斷所述總流量值是否小于最大允許流量值,在總流量值小于最大允許流量值時(shí),轉(zhuǎn)入步驟S32,否則,在總流量值不小于最大允許流量值時(shí),轉(zhuǎn)入步驟S23。
在步驟S32中,在總流量值與最大允許流量值之間的差值大于第一預(yù)設(shè)差值時(shí),實(shí)時(shí)記錄自所述初始時(shí)間閾值后的自身流量值。其中,該第一預(yù)設(shè)差值可以為用戶按需設(shè)定的差值,或者為默認(rèn)的經(jīng)驗(yàn)值。當(dāng)總流量值與最大允許流量值之間的差值大于第一預(yù)設(shè)差值時(shí),表示多核網(wǎng)絡(luò)當(dāng)前時(shí)間段內(nèi)的已轉(zhuǎn)發(fā)的總流量值與最大允許流量值之間還存在一定的差距,此時(shí)還可以計(jì)算下一個(gè)目標(biāo)時(shí)間閾值以獲取在到達(dá)下一目標(biāo)時(shí)間閾值時(shí)的總流量值。假設(shè)Real=160G,Max=120G,第一預(yù)設(shè)差值為40G,且通過(guò)硬件驅(qū)動(dòng)獲取到的各網(wǎng)卡在0s~0.43s期間的流量值的累加值為40G,此時(shí),多核網(wǎng)絡(luò)的總流量值與最大允許流量值Max之間的差值為80G,大于第一預(yù)設(shè)差值40G,因此,從0.43s開始,各同步核開始實(shí)時(shí)記錄自初始時(shí)間閾值Time0后的自身流量值。
在步驟S33中,根據(jù)當(dāng)前的總流量值、所述最大允許流量值、單位時(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量、和當(dāng)前的目標(biāo)時(shí)間閾值,確定下一目標(biāo)時(shí)間閾值。
其中,根據(jù)當(dāng)前的總流量值、所述最大允許流量值、單位時(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量、和當(dāng)前的目標(biāo)時(shí)間閾值,確定下一目標(biāo)時(shí)間閾值,包括:通過(guò)以下公式確定下一目標(biāo)時(shí)間閾值:
Time=Time_last+1/(Real/(Max-Cur)+1)
其中,Time是所述下一目標(biāo)時(shí)間閾值;Time_last是所述當(dāng)前的目標(biāo)時(shí)間閾值;Real是所述最大轉(zhuǎn)發(fā)吞吐量;Max是所述最大允許流量值;Cur是所述當(dāng)前的總流量值。
示例地,假設(shè)Real=160G,Max=120G,在到達(dá)初始時(shí)間閾值0.43s時(shí),通過(guò)硬件驅(qū)動(dòng)獲取到的各網(wǎng)卡在0s~0.43s期間的流量值的累加值為40G,即Cur=40G,Time_last=Time0=0.43s,則根據(jù)以上公式,可以計(jì)算出Time=0.76s,該時(shí)間點(diǎn)即為下一目標(biāo)時(shí)間閾值,也就是,下一個(gè)多核網(wǎng)絡(luò)總流量值的檢測(cè)時(shí)間點(diǎn)。
在步驟S34中,判斷下一目標(biāo)時(shí)間閾值是否到達(dá)時(shí)間收斂值。在本公開中,當(dāng)提及下一目標(biāo)時(shí)間閾值到達(dá)時(shí)間收斂值時(shí),是指該下一目標(biāo)時(shí)間閾值大于或等于該時(shí)間收斂值。反之,當(dāng)提及下一目標(biāo)時(shí)間閾值未到達(dá)時(shí)間收斂值時(shí),是指該下一目標(biāo)時(shí)間閾值小于該時(shí)間收斂值。在下一目標(biāo)時(shí)間閾值未到達(dá)時(shí)間收斂值時(shí),轉(zhuǎn)入步驟S22,繼續(xù)執(zhí)行在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值的步驟以及后續(xù)的步驟,其中,所述時(shí)間收斂值為所述多核網(wǎng)絡(luò)的總流量值最近N次達(dá)到所述最大允許流量值的時(shí)間點(diǎn)中的最小時(shí)間點(diǎn),其中,N為大于或等于2的自然數(shù)。
示例地,N被設(shè)置為60,則時(shí)間收斂值為多核網(wǎng)絡(luò)的總流量值最近60次達(dá)到所述最大允許流量值的時(shí)間點(diǎn)中的最小時(shí)間點(diǎn)。例如,假設(shè)該時(shí)間收斂值為0.8s,由于計(jì)算得出的下一目標(biāo)時(shí)間閾值為0.76s,尚未到達(dá)該時(shí)間收斂值0.8s,因此,在0.43s~0.76s內(nèi),各同步核要實(shí)時(shí)記錄自身的流量值。
通過(guò)上述技術(shù)方案,根據(jù)第一預(yù)設(shè)差值判斷是否要計(jì)算下一目標(biāo)時(shí)間閾值,并以本秒內(nèi)實(shí)際總流量值為基準(zhǔn)計(jì)算下一目標(biāo)時(shí)間閾值,可以提高目標(biāo)時(shí)間閾值的計(jì)算的實(shí)時(shí)性和準(zhǔn)確性。同時(shí)通過(guò)比較下一目標(biāo)時(shí)間閾值與最近N次達(dá)到最大允許流量值的最小時(shí)間點(diǎn)的大小,可以將相近數(shù)秒的時(shí)間內(nèi)達(dá)到最大允許流量值的時(shí)間點(diǎn)作為參考點(diǎn),使得時(shí)間閾值的選取不僅僅是靠理論計(jì)算,還與實(shí)際網(wǎng)絡(luò)狀況相結(jié)合,增加了計(jì)算限速轉(zhuǎn)發(fā)網(wǎng)絡(luò)總流量值的準(zhǔn)確性。
可選地,當(dāng)所述目標(biāo)時(shí)間閾值不為所述初始時(shí)間閾值時(shí),所述在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值包括:在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)中其他各核記錄的自所述初始時(shí)間閾值后的流量值;將所記錄的自身流量值、獲取到的其他各核記錄的流量值、以及所述多核網(wǎng)絡(luò)在所述初始時(shí)間閾值內(nèi)的總流量值進(jìn)行累加,獲得所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值。
示例地,在到達(dá)初始時(shí)間閾值Time0之后,每核開始記錄自身流量值。在當(dāng)前時(shí)間為初始時(shí)間閾值Time0之后且尚未到達(dá)下一目標(biāo)時(shí)間閾值時(shí),每核實(shí)時(shí)記錄自身流量值,其中,每核所記錄的是從初始時(shí)間閾值Time0起自身的流量值。假設(shè)多核網(wǎng)絡(luò)包括同步核cpu1、cpu2和cpu3,同步核cpu1計(jì)算自身的流量值Sumcpu1,同步核cpu2、cpu3只能讀取Sumcpu1,不能更改;同步核cpu2計(jì)算自身的流量值Sumcpu2,同步核cpu1、cpu3只能讀取Sumcpu2,不能更改;同步核cpu3計(jì)算自身的流量值Sumcpu3,同步核cpu1、cpu2只能讀取Sumcpu3,不能更改。在同步核cpu1接收到數(shù)據(jù)包時(shí),同步核cpu1更新自身的流量值Sumcpu1,即用當(dāng)前自身的流量值與轉(zhuǎn)發(fā)的數(shù)據(jù)包的流量值之和作為新的自身流量值賦值。例如,假設(shè)同步核cpu1接收到數(shù)據(jù)包p1,該數(shù)據(jù)包p1的字節(jié)數(shù)為pkt,則有:
Sumcpu1=Sumcpu1+pkt
以上述示例為例,在0.43s~0.76s內(nèi),各同步核要實(shí)時(shí)記錄自身的流量值,直到到達(dá)0.76s時(shí),以同步核cpu1為例,其獲取其他各核記錄的流量值,即,Sumcpu2和Sumcpu3,并與自身記錄的流量值Sumcpu1進(jìn)行累加,可以得到多核網(wǎng)絡(luò)在自初始時(shí)間閾值Time0到本次目標(biāo)時(shí)間閾值期間的總流量值。之后,再與多核網(wǎng)絡(luò)在初始時(shí)間閾值Time0內(nèi)的總流量值Sum進(jìn)行求和操作,獲得多核網(wǎng)絡(luò)在本次目標(biāo)時(shí)間閾值內(nèi)的總流量值。示例地,可以通過(guò)以下公式來(lái)計(jì)算多核網(wǎng)絡(luò)在本次目標(biāo)時(shí)間閾值內(nèi)的總流量值,即,當(dāng)前的總流量值Cur:
其中,Sumcpui表示第i個(gè)同步核記錄的、在自初始時(shí)間閾值Time0至本次目標(biāo)時(shí)間閾值期間的流量值;M表示多核網(wǎng)絡(luò)中的同步核總數(shù)。
可選地,該方法還可以包括:
在所述總流量值未達(dá)到所述最大允許流量值且所述總流量值與所述最大允許流量值之間的差值小于或等于所述第一預(yù)設(shè)差值,或者所述下一目標(biāo)時(shí)間閾值到達(dá)所述時(shí)間收斂值時(shí),實(shí)時(shí)記錄自所述初始時(shí)間閾值后的自身流量值,并實(shí)時(shí)獲取所述多核網(wǎng)絡(luò)中其他各核記錄的自所述初始時(shí)間閾值后的流量值;
將實(shí)時(shí)記錄的自身流量值、實(shí)時(shí)獲取到的其他各核記錄的流量值、以及所述多核網(wǎng)絡(luò)在所述初始時(shí)間閾值內(nèi)的總流量值進(jìn)行累加,獲得所述多核網(wǎng)絡(luò)的實(shí)時(shí)總流量值;
在所述實(shí)時(shí)總流量值達(dá)到最大允許流量值時(shí),丟棄后續(xù)接收到的報(bào)文。
在該實(shí)施例中,當(dāng)總流量值與最大允許流量值之間的差值小于或等于第一預(yù)設(shè)差值,表示當(dāng)前網(wǎng)絡(luò)已轉(zhuǎn)發(fā)的流量已經(jīng)比較接近最大允許流量值,需要實(shí)時(shí)監(jiān)測(cè)網(wǎng)絡(luò)的轉(zhuǎn)發(fā)流量;或者,在下一目標(biāo)時(shí)間閾值到達(dá)時(shí)間收斂值時(shí),表示在下一目標(biāo)時(shí)間閾值內(nèi),該網(wǎng)絡(luò)轉(zhuǎn)發(fā)的總流量值可能會(huì)達(dá)到該最大允許流量值,需要實(shí)時(shí)監(jiān)測(cè)網(wǎng)絡(luò)的轉(zhuǎn)發(fā)流量。
示例的,假設(shè)在0s~0.76s內(nèi),多核網(wǎng)絡(luò)的總流量值Cur=75G,此時(shí)總流量值Cur與最大允許流量值Max之間的差值為45G,大于第一預(yù)設(shè)差值40G,根據(jù)上述計(jì)算下一目標(biāo)時(shí)間閾值的公式,計(jì)算得出下一目標(biāo)時(shí)間閾值為0.97s、大于時(shí)間收斂值0.8s。此時(shí),從0.76s時(shí)刻開始,每個(gè)同步核在接收到數(shù)據(jù)包時(shí),都要實(shí)時(shí)更新自身流量值,且在接收到數(shù)據(jù)包實(shí)時(shí)獲取其他同步核的流量值。將實(shí)時(shí)記錄的自身流量值、實(shí)時(shí)獲取到的其他各核記錄的流量值、以及多核網(wǎng)絡(luò)在初始時(shí)間閾值Time0內(nèi)的總流量值Sum進(jìn)行累加,可以獲得多核網(wǎng)絡(luò)的實(shí)時(shí)總流量值。在該實(shí)時(shí)總流量值達(dá)到最大允許流量值時(shí),丟棄后續(xù)接收到的報(bào)文。
通過(guò)上述技術(shù)方案,在網(wǎng)絡(luò)當(dāng)前已轉(zhuǎn)發(fā)的總流量值已經(jīng)比較接近最大允許流量值或者是下一目標(biāo)時(shí)間閾值大于時(shí)間收斂值時(shí),對(duì)網(wǎng)絡(luò)轉(zhuǎn)發(fā)的流量進(jìn)行包包統(tǒng)計(jì)。由于在該統(tǒng)計(jì)過(guò)程中,每核只累加自身的總流量值,不涉及到更改其他同步核的總流量值,幾乎無(wú)競(jìng)爭(zhēng)資源,可以降低性能的消耗。同時(shí)通過(guò)分段執(zhí)行不同的流量統(tǒng)計(jì)方法,更加準(zhǔn)確地在達(dá)到最大允許流量值時(shí)停止流量,實(shí)現(xiàn)高精度的限速設(shè)置,使得多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的總流量值的統(tǒng)計(jì)更加準(zhǔn)確,優(yōu)化限速的性能。
本公開中,在最大允許流量值Max小于單位時(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量Real時(shí),執(zhí)行本公開提供的上述多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的方法。否則,在最大允許流量值Max大于或等于單位時(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量Real時(shí),同步核和配置核每秒無(wú)需計(jì)算統(tǒng)計(jì)點(diǎn),在配置核初始化的過(guò)程中就將同步核中的軟件調(diào)用限速函數(shù)的布爾變量設(shè)為false,從而設(shè)置同步核不進(jìn)行限速計(jì)算,整體限速性能開銷為零。
對(duì)于大多數(shù)情況,如果多核網(wǎng)絡(luò)的單位時(shí)間內(nèi)的最大允許流量值Max大于或等于單位時(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量Real時(shí),在進(jìn)行網(wǎng)絡(luò)轉(zhuǎn)發(fā)時(shí),限速功能對(duì)防火墻的吞吐等性能無(wú)任何影響。在此種情況下,可以大大減少統(tǒng)計(jì)每核總流量的計(jì)算量,同時(shí)可以簡(jiǎn)化限速的流程。
根據(jù)本公開的第二方面,提供一種多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的裝置。圖4所示,為根據(jù)本公開的一種實(shí)施方式提供的多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的裝置的框圖。如圖4所示,該裝置應(yīng)用于所述多核網(wǎng)絡(luò)中的任一核,該裝置10包括:
第一獲取模塊101,用于獲取初始時(shí)間閾值,其中,所述初始時(shí)間閾值為初始的多核網(wǎng)絡(luò)總流量值的檢測(cè)時(shí)間點(diǎn);
第二獲取模塊102,用于在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值,其中,所述目標(biāo)時(shí)間閾值初始為所述初始時(shí)間閾值;
第一處理模塊103,用于在所述第二獲取模塊102獲取到的所述總流量值達(dá)到預(yù)設(shè)的所述多核網(wǎng)絡(luò)單位時(shí)間內(nèi)的最大允許流量值時(shí),丟棄后續(xù)接收到的報(bào)文。
可選地,所述第二獲取模塊102包括:
第一獲取子模塊,用于當(dāng)所述目標(biāo)時(shí)間閾值為所述初始時(shí)間閾值時(shí),在到達(dá)目標(biāo)時(shí)間閾值時(shí),通過(guò)硬件驅(qū)動(dòng)獲取所述多核網(wǎng)絡(luò)中每個(gè)網(wǎng)卡在所述目標(biāo)時(shí)間閾值內(nèi)的流量值;
第一累加子模塊,用于對(duì)所述第一獲取子模塊獲取到的所述每個(gè)網(wǎng)卡在所述目標(biāo)時(shí)間閾值內(nèi)的流量值進(jìn)行累加,獲得所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值。
圖5所示,為根據(jù)本公開的另一種實(shí)施方式提供的多核網(wǎng)絡(luò)轉(zhuǎn)發(fā)限速的裝置的框圖。如圖5所示,在圖4的基礎(chǔ)上,該裝置10還可以包括:
記錄模塊201,用于在所述第二獲取模塊102獲取到的所述總流量值未達(dá)到所述最大允許流量值、并且所述總流量值與所述最大允許流量值之間的差值大于第一預(yù)設(shè)差值時(shí),實(shí)時(shí)記錄自所述初始時(shí)間閾值后的自身流量值;
時(shí)間閾值確定模塊202,用于根據(jù)當(dāng)前的總流量值、所述最大允許流量值、單位時(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量、和當(dāng)前的目標(biāo)時(shí)間閾值,確定下一目標(biāo)時(shí)間閾值;在所述下一目標(biāo)時(shí)間閾值未到達(dá)時(shí)間收斂值時(shí),重新觸發(fā)所述第二獲取模塊102在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值,其中,所述時(shí)間收斂值為所述多核網(wǎng)絡(luò)的總流量值最近N次達(dá)到所述最大允許流量值的時(shí)間點(diǎn)中的最小時(shí)間點(diǎn),其中,N為大于或等于2的自然數(shù)。
可選地,所述第二獲取模塊102包括:
第二獲取子模塊,用于當(dāng)所述目標(biāo)時(shí)間閾值不為所述初始時(shí)間閾值時(shí),在到達(dá)目標(biāo)時(shí)間閾值時(shí),獲取所述多核網(wǎng)絡(luò)中其他各核記錄的自所述初始時(shí)間閾值后的流量值;
第二累加子模塊,用于將所述記錄模塊201所記錄的自身流量值、所述第二獲取子模塊獲取到的其他各核記錄的流量值、以及所述多核網(wǎng)絡(luò)在所述初始時(shí)間閾值內(nèi)的總流量值進(jìn)行累加,獲得所述多核網(wǎng)絡(luò)在所述目標(biāo)時(shí)間閾值內(nèi)的總流量值。
可選地,所述時(shí)間閾值確定模塊202用于通過(guò)以下公式確定所述下一目標(biāo)時(shí)間閾值:
Time=Time_last+1/(Real/(Max-Cur)+1)
其中,Time是所述下一目標(biāo)時(shí)間閾值;
Time_last是所述當(dāng)前的目標(biāo)時(shí)間閾值;
Real是所述最大轉(zhuǎn)發(fā)吞吐量;
Max是所述最大允許流量值;
Cur是所述當(dāng)前的總流量值。
可選地,該裝置10還可以包括:
第三獲取模塊,用于在所述第二獲取模塊102獲取到的所述總流量值未達(dá)到所述最大允許流量值且所述總流量值與所述最大允許流量值之間的差值小于或等于所述第一預(yù)設(shè)差值,或者所述時(shí)間閾值確定模塊202所確定的所述下一目標(biāo)時(shí)間閾值到達(dá)所述時(shí)間收斂值時(shí),實(shí)時(shí)記錄自所述初始時(shí)間閾值后的自身流量值,并實(shí)時(shí)獲取所述多核網(wǎng)絡(luò)中其他各核記錄的自所述初始時(shí)間閾值后的流量值;
多核累加模塊,用于將所述第三獲取模塊實(shí)時(shí)記錄的自身流量值、所述第三獲取模塊實(shí)時(shí)獲取到的其他各核記錄的流量值、以及所述多核網(wǎng)絡(luò)在所述初始時(shí)間閾值內(nèi)的總流量值進(jìn)行累加,獲得所述多核網(wǎng)絡(luò)的實(shí)時(shí)總流量值;
第二處理模塊,用于在所述多核累加模塊獲得的所述實(shí)時(shí)總流量值達(dá)到所述最大允許流量值時(shí),丟棄后續(xù)接收到的報(bào)文。
可選地,該多核網(wǎng)絡(luò)包括配置核和同步核;
在所述裝置10應(yīng)用于配置核時(shí),所述第一獲取模塊101用于獲取所述多核網(wǎng)絡(luò)單位時(shí)間內(nèi)的最大允許流量值以及單位時(shí)間內(nèi)防火墻的最大轉(zhuǎn)發(fā)吞吐量,并根據(jù)以下公式計(jì)算所述初始時(shí)間閾值:
Time0=1/(Real/Max+1)
其中,Real是所述最大轉(zhuǎn)發(fā)吞吐量;
Max是所述最大允許流量值;
Time0是所述初始時(shí)間閾值;
在所述裝置10應(yīng)用于同步核時(shí),所述第一獲取模塊101用于從所述配置核獲取所述初始時(shí)間閾值。
關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。
以上結(jié)合附圖詳細(xì)描述了本公開的優(yōu)選實(shí)施方式,但是,本公開并不限于上述實(shí)施方式中的具體細(xì)節(jié),在本公開的技術(shù)構(gòu)思范圍內(nèi),可以對(duì)本公開的技術(shù)方案進(jìn)行多種簡(jiǎn)單變型,這些簡(jiǎn)單變型均屬于本公開的保護(hù)范圍。
另外需要說(shuō)明的是,在上述具體實(shí)施方式中所描述的各個(gè)具體技術(shù)特征,在不矛盾的情況下,可以通過(guò)任何合適的方式進(jìn)行組合,為了避免不必要的重復(fù),本公開對(duì)各種可能的組合方式不再另行說(shuō)明。
此外,本公開的各種不同的實(shí)施方式之間也可以進(jìn)行任意組合,只要其不違背本公開的思想,其同樣應(yīng)當(dāng)視為本公開所公開的內(nèi)容。