流量統(tǒng)計方法及裝置制造方法
【專利摘要】本發(fā)明提供一種流量統(tǒng)計方法及裝置,其中,所述方法包括:解析待處理的網(wǎng)絡(luò)流,獲取第一計數(shù)值c和第一分組字節(jié)數(shù)l;根據(jù)預(yù)設(shè)的第一字節(jié)數(shù)表,獲取所述第一分組字節(jié)數(shù)l對應(yīng)的的值;若所述第一計數(shù)值c大于等于所述的值,則確定第一中間值pA和第二中間值pB的大??;若第一中間值pA大于等于所述第二中間值pB,則將所述第一計數(shù)值c增加1,獲得累計所述網(wǎng)絡(luò)流的第二計數(shù)值c'。上述方法能夠?qū)崿F(xiàn)在高速網(wǎng)絡(luò)中快速準(zhǔn)確的統(tǒng)計各設(shè)備的網(wǎng)絡(luò)流量。
【專利說明】流量統(tǒng)計方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機技術(shù),尤其涉及一種流量統(tǒng)計方法及裝置。
【背景技術(shù)】
[0002]目前,互聯(lián)網(wǎng)中網(wǎng)絡(luò)測量對于互聯(lián)網(wǎng)的計費、規(guī)劃和安全等都非常重要,可保證互聯(lián)網(wǎng)的有序發(fā)展?;诰W(wǎng)絡(luò)流的測量是網(wǎng)絡(luò)測量中的一種重要技術(shù)。
[0003]網(wǎng)絡(luò)流為在兩個設(shè)備之間的具有一定共同特征(如相同五元組)的單向或雙向的一系列數(shù)據(jù)包。基于網(wǎng)絡(luò)流的被動測量(passive traffic measurement)是網(wǎng)絡(luò)流測量的一個分支。
[0004]現(xiàn)有技術(shù)中,可在互聯(lián)網(wǎng)的任一設(shè)備中設(shè)置流量測量裝置實現(xiàn)對網(wǎng)路流的測量。業(yè)內(nèi)人士提出了非線性采樣流量統(tǒng)計算法對網(wǎng)絡(luò)流的大小(即網(wǎng)絡(luò)流的分組個數(shù))和容量(即網(wǎng)絡(luò)流的字節(jié)數(shù))進行測量。
[0005]非線性采樣流量統(tǒng)計算法是一種用于流長度統(tǒng)計的概率計數(shù)算法。該算法分為兩個部分:計數(shù)器更新部分和反向估計部分。
[0006]然而,在計數(shù)器更新部分需要采用高精度的浮點運算方式,在低速網(wǎng)絡(luò)中采用浮點運算還能夠得到有效的測量結(jié)果,但是在高速網(wǎng)絡(luò)中采用浮點運算需要較長的時間,且無法得到有效的測量結(jié)果,導(dǎo)致對網(wǎng)絡(luò)流的估計不準(zhǔn)確。
【發(fā)明內(nèi)容】
[0007]本發(fā)明提供一種流量統(tǒng)計方法及裝置,用于實現(xiàn)在高速網(wǎng)絡(luò)中快速準(zhǔn)確的統(tǒng)計各設(shè)備的網(wǎng)絡(luò)流量。
[0008]第一方面,本發(fā)明提供一種流量統(tǒng)計方法,包括:
[0009]解析待處理的網(wǎng)絡(luò)流,獲取第一計數(shù)值c和第一分組字節(jié)數(shù)I ;
[0010]根據(jù)預(yù)設(shè)的第一字節(jié)數(shù)表,獲取所述第一分組字節(jié)數(shù)I對應(yīng)的「k>g, η的值;
[0011]若所述第一計數(shù)值C大于等于所述/I的值,則確定第一中間值PA和第二中間值PB的大小;
[0012]若第一中間值pA大于等于所述第二中間值PB,則將所述第一計數(shù)值c增加1,獲得累計所述網(wǎng)絡(luò)流的第二計數(shù)值C,。
[0013]可選地,所述方法還包括:
[0014]若所述第一中間值pA小于所述第二中間值pB,則將所述第一計數(shù)值c作為累計所述網(wǎng)絡(luò)流的第二計數(shù)值C’。
[0015]可選地,若所述第一計數(shù)值c大于等于所述「1g61]的值,則確定第一中間值PA和第二中間值PB的大小,包括:
[0016]根據(jù)下述的公式一和公式二分別確定第一中間值pA和第二中間值PB ;
[0017]pA = I 公式一;[0018]pB = [f (c+1) -f (c) ] Xm 公式二;
[0019]其中,I為第一分組字節(jié)數(shù),f (C)為根據(jù)所述第一計數(shù)值C、從預(yù)設(shè)的第一計數(shù)值表中查找獲取,f(c+l)為根據(jù)所述第一計數(shù)值c+1從預(yù)設(shè)的第一計數(shù)值表中查找獲取,m為偽隨機數(shù),且m為32位的正數(shù)。
[0020]可選地,所述方法還包括:
[0021]若所述第一計數(shù)值c小于所述.ftogA Il的值,則確定第一中間值PA和第二中間值PB的大小;
[0022]所述確定第一中間值pA和第二中間值pB的大小,包括:
[0023]根據(jù)下述的公式三和公式四確定第一中間值pA和第二中間值PB ;
[0024]pA = 1+f (c) -f (logbz+ (e-8) logb2-l)公式三;
[0025]pB = [f (logbz+(e-8) logb2)-f (logbz+(e-8) logb2-l)] Xm 公式四;
[0026]其中,I為第一分組字節(jié)數(shù),b = 1+1/256 ;
[0027]f(c)為根據(jù)所述第一計數(shù)值c從預(yù)設(shè)的第一計數(shù)值表中查找獲取;
[0028]f (logbz+(e-8) logb2)為根據(jù)1gbZ+(e_8) logb2的值從預(yù)設(shè)的第一計數(shù)值表中查找獲取;
[0029]為根據(jù)1gbZ+ (e-8) logb2_l的值從預(yù)設(shè)的第一計數(shù)值表中f (logbz+ (e_8)logb2-l)查找獲??;
[0030]m為偽隨機數(shù),且m為32位的正數(shù);
[0031]1gbZ的值為根據(jù)z值從預(yù)設(shè)的第一字節(jié)數(shù)表中查找獲取;
[0032](e-8) logb2的值為根據(jù)e值從預(yù)設(shè)的第二字節(jié)數(shù)表查找獲取;
[0033]z = 1+f (C)+1/(b-1)公式五;
[0034]若根據(jù)所述公式五獲得的z值小于1024,則e為0,則將z值和e值分別作為最終使用的z值和e值;
[0035]若根據(jù)所述公式五獲得的z值大于等于1024,則將所述z值轉(zhuǎn)換為無符號二進制數(shù),并對所述無符號二進制數(shù)進行右移的移位運算,直至移位運算后的無符號二進制數(shù)對應(yīng)的z值小于1024,則將移位運算后的無符號二進制數(shù)對應(yīng)的小于1024的z值作為最終使用的z值;以及
[0036]對所述無符號二進制數(shù)進行右移的移位運算時,所述無符號二進制數(shù)每進行右移的移位運算一次,所述e在起始值上增加I,所述e的起始值為0,直至移位運算后的無符號二進制數(shù)對應(yīng)的z值小于1024時,得到的e值作為最終使用的e值;
[0037]相應(yīng)地,若第一中間值pA大于等于所述第二中間值pB,則根據(jù)下述的公式六獲得累計所述網(wǎng)絡(luò)流的第二計數(shù)值C,,
[0038]c,= 1gbZ+(e-8) logb2 公式六。
[0039]可選地,所述方法還包括:
[0040]若所述第一中間值pA小于所述第二中間值PB,則根據(jù)下述的公式七,獲得累計所述網(wǎng)絡(luò)流的第二計數(shù)值C’,
[0041]c,= 1gbZ+(e-8) logb2-l 公式七。
[0042]可選地,所述方法還包括:
[0043]封裝所述網(wǎng)絡(luò)流的第二計數(shù)值C,,并將封裝的第二計數(shù)值C,輸出。[0044]可選地,所述預(yù)設(shè)的第一計數(shù)值表根據(jù)下述的公式八獲??;
【權(quán)利要求】
1.一種流量統(tǒng)計方法,其特征在于,包括: 解析待處理的網(wǎng)絡(luò)流,獲取第一計數(shù)值C和第一分組字節(jié)數(shù)I ; 根據(jù)預(yù)設(shè)的第一字節(jié)數(shù)表,獲取所述第一分組字節(jié)數(shù)I對應(yīng)的flog,f|的值; 若所述第一計數(shù)值c大于等于所述「log^l的值,則確定第一中間值pA和第二中間值PB的大小; 若第一中間值PA大于等于所述第二中間值PB,則將所述第一計數(shù)值c增加I,獲得累計所述網(wǎng)絡(luò)流的第二計數(shù)值C,。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 若所述第一中間值PA小于所述第二中間值pB,則將所述第一計數(shù)值c作為累計所述網(wǎng)絡(luò)流的第二計數(shù)值C,。
3.根據(jù)權(quán)利要求1所述的方,其特征在于,若所述第一計數(shù)值c大于等于所述的值,則確定第一中間值PA和第二中間值pB的大小,包括: 根據(jù)下述的公式一和公式二分別確定第一中間值PA和第二中間值PB ; PA = I 公式一;
pB = [f (c +1) -f (c) ] Xm 公式二; 其中,I為第一分組字節(jié)數(shù),f(c)為根據(jù)所述第一計數(shù)值C、從預(yù)設(shè)的第一計數(shù)值表中查找獲取,f(c+l)為根據(jù)所述第一計數(shù)值c+1從預(yù)設(shè)的第一計數(shù)值表中查找獲取,m為偽隨機數(shù),且m為32位的正數(shù)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 若所述第一計數(shù)值c小于所述的值,則確定第一中間值PA和第二中間值pB的大小; 所述確定第一中間值PA和第二中間值PB的大小,包括: 根據(jù)下述的公式三和公式四分別確定第一中間值PA和第二中間值PB ;
pA = 1+f (c) -f (logbz+ (e-8) logb2_l)公式三;
pB = [f(logbz+(e-8) logb2)-f (logbz+(e-8) logb2-l)] Xm 公式四; 其中,I為第一分組字節(jié)數(shù),b = 1+1256 ; f (c)為根據(jù)所述第一計數(shù)值c從預(yù)設(shè)的第一計數(shù)值表中查找獲??; f (logbz+(e-8) logb2)為根據(jù)logbz+(e_8) logb2的值從預(yù)設(shè)的第一計數(shù)值表中查找獲?。? f (logbz+(e-8) logb2-l)為根據(jù)logbz+(e_8) logb2_l的值從預(yù)設(shè)的第一計數(shù)值表中查找獲??; m為偽隨機數(shù),且m為32位的正數(shù); 1gbZ的值為根據(jù)z值從預(yù)設(shè)的第一字節(jié)數(shù)表中查找獲取; (e-8) logb2的值為根據(jù)e值從預(yù)設(shè)的第二字節(jié)數(shù)表查找獲?。? z = 1+f (c)+l (b-1)公式五; 若根據(jù)所述公式五獲得的z值小于1024,則e為0,則將z值和e值分別作為最終使用的z值和e值;若根據(jù)所述公式五獲得的Z值大于等于1024,則將所述Z值轉(zhuǎn)換為無符號二進制數(shù),并對所述無符號二進制數(shù)進行右移的移位運算,直至移位運算后的無符號二進制數(shù)對應(yīng)的z值小于1024,則將移位運算后的無符號二進制數(shù)對應(yīng)的小于1024的z值作為最終使用的z值;以及 對所述無符號二進制數(shù)進行右移的移位運算時,所述無符號二進制數(shù)每進行右移的移位運算一次,所述e在起始值上增加1,所述e的起始值為0,直至移位運算后的無符號二進制數(shù)對應(yīng)的z值小于1024時,得到的e值作為最終使用的e值; 相應(yīng)地,若第一中間值PA大于等于所述第二中間值PB,則根據(jù)下述的公式六獲得累計所述網(wǎng)絡(luò)流的第二計數(shù)值c’, C,= logbz+(e-8) logb2 公式六。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 若所述第一中間值PA小于所述第二中間值pB,則根據(jù)下述的公式七,獲得累計所述網(wǎng)絡(luò)流的第二計數(shù)值C,, c,= logbz+(e-8) logb2-l 公式七。
6.根據(jù)權(quán)利要求1至5任一所述的方法,其特征在于,所述方法還包括: 封裝所述網(wǎng)絡(luò)流的第二計數(shù)值C,,并將封裝的第二計數(shù)值C’輸出。
7.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述預(yù)設(shè)的第一計數(shù)值表根據(jù)下述的公式八獲取;
8.一種流量統(tǒng)計裝置,其特征在于,包括: 第一處理單元,用于解析待處理的網(wǎng)絡(luò)流,獲取第一計數(shù)值c和第一分組字節(jié)數(shù)I ; 第二處理單元,用于根據(jù)預(yù)設(shè)的第一字節(jié)數(shù)表,獲取所述第一分組字節(jié)數(shù)I對應(yīng)的「iog6r!的值; 判斷單元,用于判斷所述第一計數(shù)值C和所述的值的大小,在所述第一計數(shù)值c大于等于所述的值時,判斷第一中間值pA和第二中間值PB的大??; 獲取單元,用于在所述判斷單元確定第一中間值PA大于等于所述第二中間值pB,則將所述第一計數(shù)值c增加1,獲得累計所述網(wǎng)絡(luò)流的第二計數(shù)值C,。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述獲取單元,還用于 在所述判斷單元確定第一中間值PA小于所述第二中間值pB,則將所述第一計數(shù)值c作為累計所述網(wǎng)絡(luò)流的第二計數(shù)值C,。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,判斷單元,具體用于 在確定所述第一計數(shù)值c大于等于所述「1gll ,1的值時,根據(jù)下述的公式一和公式二分別確定第一中間值PA和第二中間值pB ; PA = I公式一;
pB = [f (c+l)-f (c)] Xm 公式二;其中,I為第一分組字節(jié)數(shù),f(c)為根據(jù)所述第一計數(shù)值C、從預(yù)設(shè)的第一計數(shù)值表中查找獲取,f(c+l)為根據(jù)所述第一計數(shù)值c+1從預(yù)設(shè)的第一計數(shù)值表中查找獲取,m為偽隨機數(shù),且m為32位的正數(shù); 在確定所述第一計數(shù)值c小于所述「log, η的值時,根據(jù)下述的公式三和公式四分別確定第一中間值PA和第二中間值pB ;
pA = 1+f (c) -f (logbz+ (e-8) logb2_l)公式三;
pB = [f(logbz+(e-8) logb2)-f (logbz+(e-8) logb2-l)] Xm 公式四; 其中,I為第一分組字節(jié)數(shù),b = 1+1/256 ; f (c)為根據(jù)所述第一計數(shù)值c從預(yù)設(shè)的第一計數(shù)值表中查找獲取; f (logbz+(e-8) logb2)為根據(jù)logbz+(e_8) logb2的值從預(yù)設(shè)的第一計數(shù)值表中查找獲?。? f (logbz+(e-8) logb2-l)為根據(jù)logbz+(e_8) logb2_l的值從預(yù)設(shè)的第一計數(shù)值表中查找獲取; m為偽隨機數(shù),且m為32位的正數(shù); 1gbZ的值為根據(jù)z值從預(yù)設(shè)的第一字節(jié)數(shù)表中查找獲??; (e-8) logb2的值為根據(jù)e值從預(yù)設(shè)的第二字節(jié)數(shù)表查找獲?。? z = 1+f (c)+1/(b-Ι)公式五; 若根據(jù)所述公式五獲得的z值小于1024,則e為0,則將z值和e值分別作為最終使用的z值和e值; 若根據(jù)所述公式五獲得的z值大于等于1024,則將所述z值轉(zhuǎn)換為無符號二進制數(shù),并對所述無符號二進制數(shù)進行右移的移位運算,直至移位運算后的無符號二進制數(shù)對應(yīng)的z值小于1024,則將移位運算后的無符號二進制數(shù)對應(yīng)的小于1024的z值作為最終使用的z值;以及 對所述無符號二進制數(shù)進行右移的移位運算時,所述無符號二進制數(shù)每進行右移的移位運算一次,所述e在起始值上增加1,所述e的起始值為0,直至移位運算后的無符號二進制數(shù)對應(yīng)的z值小于1024時,得到的e值作為最終使用的e值; 相應(yīng)地,所述獲取單元,具體用于 在判斷單元確定的所述第一中間值PA大于等于所述第二中間值pB時,則根據(jù)下述的公式六獲得累計所述網(wǎng)絡(luò)流的第二計數(shù)值C,, C,= logbz+(e-8) logb2 公式六; 在判斷單元確定的所述第一中間值PA小于所述第二中間值PB時,則根據(jù)下述的公式七,獲得累計所述網(wǎng)絡(luò)流的第二計數(shù)值C,,c,= logbz+(e-8) logb2-l 公式七。
【文檔編號】H04L12/26GK104009868SQ201410200744
【公開日】2014年8月27日 申請日期:2014年5月13日 優(yōu)先權(quán)日:2014年5月13日
【發(fā)明者】黎陽, 武昊, 汪漪, 劉斌 申請人:清華大學(xué)