流量統(tǒng)計方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種流量統(tǒng)計方法及裝置,在該方法中,采用同一計數器分別為N種類型報文中的每種類型報文設置輸入控制參數,N為正整數且N≥2,每個輸入控制參數均為正整數且N個輸入控制參數互異;在第一預設時刻到達時,從計數器中獲取N個計數值,N個計數值包括:預設端口在第一預設時刻接收到的N種類型報文的數量總和以及N-1個輸入控制參數計數,每個輸入控制參數計數與從N種類型報文中選取的N-1種類型報文的輸入控制參數呈線性相關且與每個輸入控制參數計數對應的N-1種類型報文部分相同;通過N個輸入控制參數和N個計數值分別統(tǒng)計N種類型報文中的每種類型報文在第一預設時刻的流量,進而節(jié)省了計數器資源。
【專利說明】流量統(tǒng)計方法及裝置
【技術領域】
[0001]本發(fā)明涉及通信領域,具體而言,涉及一種流量統(tǒng)計方法及裝置。
【背景技術】
[0002]隨著因特網和計算機技術的飛速發(fā)展,人類進入了信息化社會。由于網絡的迅猛發(fā)展以及相關網絡應用的廣泛普及,互聯(lián)網已經逐漸成為人們日常工作與生活中不可或缺的部分。但是,由于目前現(xiàn)有網絡的用戶訪問量和數據流量的急劇增長,其處理能力與計算強度也相應地增大,因此,對網絡的實時監(jiān)控和流量統(tǒng)計顯得越發(fā)重要。
[0003]相關技術中流量統(tǒng)計的實現(xiàn)方式主要有以下三種:其一是由代理服務器實現(xiàn)、其二是由本地路由器實現(xiàn)、其三是由自制網橋實現(xiàn)。然而,不管采用何種實現(xiàn)方式,其均采用了計數器技術。由此可見,計數器資源的多少是限制流量統(tǒng)計的一個關鍵因素。相關技術中計數器技術的主流實現(xiàn)方式都是對報文的數量和報文的字節(jié)數同時進行統(tǒng)計,此類實現(xiàn)方式通常采用一個計數器只能對一種數據流量完成流量統(tǒng)計。如果遇到計數器資源緊張的情況,計數器資源就將成為限制流量統(tǒng)計的至關重要的因素。如果遇到特殊情況,例如:在某些具體功能的實現(xiàn)需要同時讀取兩類數據流量的計數時,由于兩個計數器的同時操作不可避免的出現(xiàn)時間差,難以確保計數精度。
【發(fā)明內容】
[0004]本發(fā)明提供了一種流量統(tǒng)計方法及裝置,以至少解決相關技術中采用同一個計數器僅能對一種類型報文的流量進行統(tǒng)計的問題。
[0005]根據本發(fā)明的一個方面,提供了一種流量統(tǒng)計方法。
[0006]根據本發(fā)明的流量統(tǒng)計方法包括:采用同一計數器分別為N種類型報文中的每種類型報文設置輸入控制參數,其中,N為正整數且N > 2,每個輸入控制參數均為正整數且N個輸入控制參數互異;在第一預設時刻到達時,從計數器中獲取N個計數值,其中,N個計數值包括:預設端口在第一預設時刻接收到的N種類型報文的數量總和以及N-1個輸入控制參數計數,每個輸入控制參數計數與從N種類型報文中選取的N-1種類型報文的輸入控制參數呈線性相關,并且與每個輸入控制參數計數對應的N-1種類型報文部分相同;通過N個輸入控制參數和N個計數值分別統(tǒng)計N種類型報文中的每種類型報文在第一預設時刻的流量。
[0007]優(yōu)選地,在采用計數器分別為每種類型報文設置輸入控制參數之前,還包括:分別提取M種類型報文中的每種類型報文的轉發(fā)信息,其中,M為正整數且M SN;根據轉發(fā)信息從M種類型報文中確定N種類型報文。
[0008]優(yōu)選地,分別提取M種類型報文中的每種類型報文的轉發(fā)信息包括:分別獲取M種類型報文中的每種類型報文的特征信息,并對特征信息進行解析;從解析后的特征信息中提取轉發(fā)信息。
[0009]優(yōu)選地,在根據轉發(fā)信息從M種類型報文中確定N種類型報文之后,還包括:根據N種類型報文的數量總和與N個輸入控制參數將計數器劃分為N個位域,其中,N個位域中的每個位域分別與N種類型報文的數量總和計數以及N-1個輸入控制參數計數中每種計數
--對應。
[0010]優(yōu)選地,在根據轉發(fā)信息從M種類型報文中確定N種類型報文之后,還包括:在第二預設時刻到達時,再次從計數器中獲取N個計數值;通過N個輸入控制參數和再次獲取到的N個計數值分別統(tǒng)計N種類型報文中的每種類型報文在第二預設時刻的流量;采用N種類型報文中的每種類型報文在第一預設時刻的流量與N種類型報文中的每種類型報文在第二預設時刻的流量計算N種類型報文中的每種類型報文在預設時間段內的流量,其中,預設時間段為從第一預設時刻至第二預設時刻。
[0011 ] 優(yōu)選地,在通過N個輸入控制參數和N個計數值分別統(tǒng)計N種類型報文中的每種類型報文在第一預設時刻的流量之后,還包括:根據N種類型報文中的每種類型報文的特征信息分別對各種類型報文進行轉發(fā)。
[0012]根據本發(fā)明的另一方面,提供了一種流量統(tǒng)計裝置。
[0013]根據本發(fā)明的流量統(tǒng)計裝置包括:設置模塊,用于采用同一計數器分別為N種類型報文中的每種類型報文設置輸入控制參數,其中,N為正整數且N > 2,每個輸入控制參數均為正整數且N個輸入控制參數互異;第一獲取模塊,用于在第一預設時刻到達時,從計數器中獲取N個計數值,其中,N個計數值包括:預設端口在第一預設時刻接收到的N種類型報文的數量總和以及N-1個輸入控制參數計數,每個輸入控制參數計數與從N種類型報文中選取的N-1種類型報文的輸入控制參數呈線性相關,并且與每個輸入控制參數計數對應的N-1種類型報文部分相同;第一統(tǒng)計模塊,用于通過N個輸入控制參數和N個計數值分別統(tǒng)計N種類型報文中的每種類型報文在第一預設時刻的流量。
[0014]優(yōu)選地,上述裝置還包括:提取模塊,用于分別提取M種類型報文中的每種類型報文的轉發(fā)信息,其中,M為正整數且MSN ;確定模塊,用于根據轉發(fā)信息從M種類型報文中確定N種類型報文。
[0015]優(yōu)選地,提取模塊包括:獲取單元,用于分別獲取M種類型報文中的每種類型報文的特征信息,并對特征信息進行解析;提取單元,用于從解析后的特征信息中提取轉發(fā)信肩、O
[0016]優(yōu)選地,上述裝置還包括:劃分模塊,用于根據N種類型報文的數量總和與N個輸入控制參數將計數器劃分為N個位域,其中,N個位域中的每個位域分別與N種類型報文的數量總和計數以及N-1個輸入控制參數計數中每種計數一一對應。
[0017]優(yōu)選地,上述裝置還包括:第二獲取模塊,用于在第二預設時刻到達時,再次從計數器中獲取N個計數值;第二統(tǒng)計模塊,用于通過N個輸入控制參數和再次獲取到的N個計數值分別統(tǒng)計N種類型報文中的每種類型報文在第二預設時刻的流量;計算模塊,用于采用N種類型報文中的每種類型報文在第一預設時刻的流量與N種類型報文中的每種類型報文在第二預設時刻的流量計算N種類型報文中的每種類型報文在預設時間段內的流量,其中,預設時間段為從第一預設時刻至第二預設時刻。
[0018]優(yōu)選地,上述裝置還包括:轉發(fā)模塊,用于根據N種類型報文中的每種類型報文的特征信息分別對各種類型報文進行轉發(fā)。
[0019]通過本發(fā)明,采用同一計數器分別為N種類型報文中的每種類型報文設置輸入控制參數,N為正整數且N > 2,每個輸入控制參數均為正整數且N個輸入控制參數互異;在第一預設時刻到達時,從計數器中獲取N個計數值,該N個計數值包括:預設端口在第一預設時刻接收到的N種類型報文的數量總和以及N-1個輸入控制參數計數,每個輸入控制參數計數與從N種類型報文中選取的N-1種類型報文的輸入控制參數呈線性相關,并且與每個輸入控制參數計數對應的N-1種類型報文部分相同;通過N個輸入控制參數和N個計數值分別統(tǒng)計N種類型報文中的每種類型報文在第一預設時刻的流量,解決了相關技術中采用同一個計數器僅能對一種類型報文的流量進行統(tǒng)計的問題,進而節(jié)省了計數器資源,并且確保了在同一時刻對多種類型的報文進行流量統(tǒng)計的精度,提高了網絡的靈活性與穩(wěn)定性。
【專利附圖】
【附圖說明】
[0020]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
[0021]圖1是根據本發(fā)明實施例的流量統(tǒng)計方法的流程圖;
[0022]圖2是根據本發(fā)明優(yōu)選實施例的流量統(tǒng)計方法的流程圖;
[0023]圖3是根據本發(fā)明實施例的流量統(tǒng)計裝置的結構框圖;
[0024]圖4是根據本發(fā)明優(yōu)選實施例的流量統(tǒng)計裝置的結構框圖。
【具體實施方式】
[0025]下文中將參考附圖并結合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0026]圖1是根據本發(fā)明實施例的流量統(tǒng)計方法的流程圖。如圖1所示,該方法可以包括以下處理步驟:
[0027]步驟S102:采用同一計數器分別為N種類型報文中的每種類型報文設置輸入控制參數,其中,N為正整數且N > 2,每個輸入控制參數均為正整數且N個輸入控制參數互異;
[0028]步驟S104:在第一預設時刻到達時,從計數器中獲取N個計數值,其中,N個計數值包括:預設端口在第一預設時刻接收到的N種類型報文的數量總和以及N-1個輸入控制參數計數,每個輸入控制參數計數與從N種類型報文中選取的N-1種類型報文的輸入控制參數呈線性相關,并且與每個輸入控制參數計數對應的N-1種類型報文部分相同;
[0029]步驟S106:通過N個輸入控制參數和N個計數值分別統(tǒng)計N種類型報文中的每種類型報文在第一預設時刻的流量。
[0030]相關技術中,采用同一個計數器僅能對一種類型報文的流量進行統(tǒng)計。采用如圖1所示的方法,采用同一計數器分別為N種類型報文中的每種類型報文設置輸入控制參數,N為正整數且N > 2,每個輸入控制參數均為正整數且N個輸入控制參數互異;在第一預設時刻到達時,從計數器中獲取N個計數值,該N個計數值包括:預設端口在第一預設時刻接收到的N種類型報文的數量總和以及N-1個輸入控制參數計數,每個輸入控制參數計數與從N種類型報文中選取的N-1種類型報文的輸入控制參數呈線性相關,并且與每個輸入控制參數計數對應的N-1種類型報文部分相同;通過N個輸入控制參數和N個計數值分別統(tǒng)計N種類型報文中的每種類型報文在第一預設時刻的流量,解決了相關技術中采用同一個計數器僅能對一種類型報文的流量進行統(tǒng)計的問題,進而節(jié)省了計數器資源,并且確保了在同一時刻對多種類型的報文進行流量統(tǒng)計的精度,提高了網絡的靈活性與穩(wěn)定性。
[0031]作為本發(fā)明的一個優(yōu)選實施例,假設采用同一個計數器在tl時刻同時統(tǒng)計的A類報文的流量和B類報文的流量,該計數器為A類報文設置的輸入控制參數為a,該計數器為B類報文設置的輸入控制參數為b,其中,a和b均為正整數,且a古b。在tl時刻讀取計數器,得到A類報文和B類報文的數量總和的計數為countl,輸入控制參數的計數為count2,此時,如果進一步假設A類報文的流量為X,B類報文的流量為Y,則可以得出如下二元一次方程組:
[0032]X+Y=countl......方程式 I
[0033]aX+bY=count2......方程式 2
[0034]由于a、b、countl和count2均已知,因此可以計算出:
[0035]X= (count2 - bcountl) / (a - b)
[0036]Y= (acountl - count2) / (a - b)
[0037]即在tl時刻,采用同一個計數器可以得出A類報文的流量為(Count2 - bcountl)/ (a - b), B 類報文的流量為(acount1- count2) / (a - b)。
[0038]作為本發(fā)明的另一個優(yōu)選實施例,假設采用同一個計數器在tl時刻同時統(tǒng)計的A類報文的流量、B類報文的流量以及C類報文的流量,該計數器為A類報文設置的輸入控制參數為a,該計數器為B類報文設置的輸入控制參數為b,該計數器為C類報文設置的輸入控制參數為C,其中,a、b、c均為正整數,且a#b古C。在tl時刻讀取計數器,得到A類報文、B類報文和C類報文的數量總和的計數為countl,A類報文和B類報文的輸入控制參數的計數為count2,B類報文和C類報文的輸入控制參數的計數為count3。此時,如果進一步假設A類報文的流量為X,B類報文的流量為Y,C類報文的流量為Z,則可以得出如下三元一次方程組:
[0039]X+Y=countl......方程式 I
[0040]aX+bY=count2......方程式 2
[0041]bY+cZ=count3......方程式 3
[0042]由于a、b、C、countl、count2和count3均已知,因此可以計算出:
[0043]X= (count2 - bcountl) / (a - b)
[0044]Y= (acountl - count2) / (a - b)
[0045]Z= [a (bcountl - count3) - b (bcount2 - count3) ]/ (ac - be)
[0046]即在tl時刻,采用同一個計數器可以得出A類報文的流量為(Count2 -bcountl)/ (a_b),B 類報文的流量為(acountl - count2)/ (a_b), C 類報文的流量為[a (bcountl -count3) - b (bcount2 - count3) ]/ (ac_bc)。
[0047]需要說明的是,上述優(yōu)選實施例僅用于對權利要求1所記載的技術方案進行解釋,并不構成對本發(fā)明的限制,如果采用同一個計數器對N種類型報文的流量進行統(tǒng)計,則可以建立N元一次方程組進行求解。
[0048]優(yōu)選地,在步驟S102,采用計數器分別為每種類型報文設置輸入控制參數之前,還可以包括以下操作:
[0049]步驟S1:分別提取M種類型報文中的每種類型報文的轉發(fā)信息,其中,M為正整數且M彡N ;
[0050]步驟S2:根據轉發(fā)信息從M種類型報文中確定N種類型報文。
[0051]在優(yōu)選實施例中,假設在預設端口接收到M種類型報文,首先可以分別從每種類型報文中獲取該種類型報文的轉發(fā)信息;然后通過轉發(fā)信息中的預設標志位來確定此種類型報文是否需要進行流量統(tǒng)計,如果不需要,則可以直接將此種類型的報文進行轉發(fā),如果需要,則可以采用上述統(tǒng)計方法在預設時刻對此種類型報文的流量進行統(tǒng)計。
[0052]優(yōu)選地,在上述步驟SI中,分別提取M種類型報文中的每種類型報文的轉發(fā)信息可以包括以下步驟:
[0053]步驟Sll:分別獲取M種類型報文中的每種類型報文的特征信息,并對特征信息進行解析;
[0054]步驟S12:從解析后的特征信息中提取轉發(fā)信息。
[0055]在優(yōu)選實施例中,報文的特征信息可以包括但不限于以下至少之一:
[0056]( I)報文進入的端口( PORT )信息;
[0057](2)報文中攜帶的虛擬局域網(VLAN)信息,其中,可以包括:單層標簽(TAG)、雙層TAG ;
[0058](3) VLAN優(yōu)先級信息;
[0059](4)轉發(fā)標簽信息;
[0060](5)報文的源媒體接入控制(MAC)地址和目的MAC地址;
[0061](6)報文的源因特網協(xié)議(IP)地址和目的IP地址;
[0062](7 )傳輸控制協(xié)議(TCP )端口號。
[0063]上述轉發(fā)信息的提取可以分為以下兩個操作步驟:
[0064]第一步、對接收到的報文中的特征信息進行解析,解析出來的特征信息可以包含上述各項內容,然而并非每次均需提取上述全部信息,而是需要結合當前執(zhí)行的報文轉發(fā)流程從中進行選擇;
[0065]第二步、準備將報文送入相應的轉發(fā)流程,在此之前,需要從上述特征信息中提取轉發(fā)信息以確定是否需要對此種類型的報文進行流量統(tǒng)計。
[0066]優(yōu)選地,在步驟S2,根據轉發(fā)信息從M種類型報文中確定N種類型報文之后,還可以包括以下步驟:
[0067]步驟S3:根據N種類型報文的數量總和與N個輸入控制參數將計數器劃分為N個位域,其中,N個位域中的每個位域分別與N種類型報文的數量總和計數以及N-1個輸入控制參數計數中每種計數一一對應。
[0068]在優(yōu)選實施例中,如果采用同一個計數器同時對N種類型報文進行流量統(tǒng)計,那么可以將該計數器劃分成N個位域,其中一個位域對應N種類型報文的數量總和計數,而其余的N-1個位域可以與N-1個輸入控制參數計數中的每種計數一一對應。
[0069]優(yōu)選地,在步驟S2,根據轉發(fā)信息從M種類型報文中確定N種類型報文之后,還可以包括以下操作:
[0070]步驟S4:在第二預設時刻到達時,再次從計數器中獲取N個計數值;
[0071]步驟S5:通過N個輸入控制參數和再次獲取到的N個計數值分別統(tǒng)計N種類型報文中的每種類型報文在第二預設時刻的流量;
[0072]步驟S6:采用N種類型報文中的每種類型報文在第一預設時刻的流量與N種類型報文中的每種類型報文在第二預設時刻的流量計算N種類型報文中的每種類型報文在預設時間段內的流量,其中,預設時間段為從第一預設時刻至第二預設時刻。
[0073]在優(yōu)選實施例中,如果需要得到預設時間段內(例如:從tl時刻至t2時刻)各種類型報文的流量統(tǒng)計對比,則可以在tl時刻讀取計數器中N個位域中的全部計數,再根據該計數器為每種類型報文設置的輸入控制參數,以統(tǒng)計出各種類型報文在tl時刻的流量;同理,按照上述方式可以統(tǒng)計出各種類型報文在t2時刻的流量。最后,每種類型報文分別采用在t2時刻的流量統(tǒng)計與在tl時刻的流量統(tǒng)計執(zhí)行減法操作,從而得到此種類型報文在預設時間段內的流量統(tǒng)計,以實現(xiàn)不同類型報文在預設時間段內的流量統(tǒng)計對比。由此可見,僅通過簡單地運算即可實現(xiàn)不同類型報文之間在預設時間段內的流量統(tǒng)計對比,而且是在同一個計數器中完成的,確保了流量統(tǒng)計的精度。
[0074]優(yōu)選地,在步驟S106,通過N個輸入控制參數和N個計數值分別統(tǒng)計N種類型報文中的每種類型報文在第一預設時刻的流量之后,還可以包括處理步驟:
[0075]步驟S7:根據N種類型報文中的每種類型報文的特征信息分別對各種類型報文進行轉發(fā)。
[0076]在優(yōu)選實施例中,如果已經完成對上述N種類型報文的流量統(tǒng)計,那么可以分別將每種類型報文送入相應的轉發(fā)流程。此時可以從上述特征信息中提取一項或多項作為邏輯端口(Logic Port)表的索引,例如:對于二層轉發(fā)的報文,需要獲取報文進入的PORT信息以及攜帶的VLAN信息;對于一個三層轉發(fā)的報文,需要獲取報文的目的IP地址;而對于一個標簽轉發(fā)的報文,則需要獲取報文中攜帶的標簽信息。
[0077]下面結合圖2所示的優(yōu)選實施方式對上述優(yōu)選實施過程做進一步的描述。
[0078]圖2是根據本發(fā)明優(yōu)選實施例的流量統(tǒng)計方法的流程圖。如圖2所示,該方法可以包括以下處理步驟:
[0079]步驟S202:根據預設端口接收到的多種類型報文,分別獲取每種類型報文的特征信息,然后從獲取到的特征信息中提取該種類型報文的轉發(fā)信息;
[0080]在該優(yōu)選實施例中,流量統(tǒng)計方法并不具體區(qū)分報文的類型,即報文的類型可以是數據報文,例如:普通的二三層報文,也可以是多協(xié)議標簽交換(Mult1-Protocol LabelSwitching,簡稱為MPLS)報文、邊緣到邊緣的偽線仿真(Pseudo-Wire Emulat1n Edgeto Edge,簡稱為PWE3)報文,還可以是檢測報文,例如:操作、管理和維護(Operat1nsAdministrat1n and Maintenance,簡稱為 0AM)報文,雙向轉發(fā)檢測(Bidirect1nalForwarding Detect1n,簡稱為 BFD)報文,連接故障管理(Connectivity FaultManagement,簡稱為 CFM)報文。
[0081]步驟S204:根據每種類型報文的轉發(fā)信息判斷是否需要對此種類型報文進行流量統(tǒng)計,如果需要進行流量統(tǒng)計,則繼續(xù)執(zhí)行步驟S206,執(zhí)行流量統(tǒng)計操作;否則,轉到步驟 S216 ;
[0082]步驟S206:申請和管理相應的計數器資源,其中,可以包括:計數器的內存容量(需要根據報文的種類確定)、計數器的標識信息;
[0083]步驟S208:計數器分別為每種類型報文進行輸入控制參數的設置,此時輸入的并非此種類型報文的實際長度,而是一個可配置的參數值;針對每種類型報文的流量統(tǒng)計僅能采用一個參數值,各種類型報文的輸入控制參數均為正整數,并且對每種類型報文進行流量統(tǒng)計使用的輸入控制參數互不相同;
[0084]步驟S210:開始使用同一個計數器實現(xiàn)對多種不同類型報文的流量進行統(tǒng)計;
[0085]步驟S212:在T時刻讀取計數器的流量統(tǒng)計結果,可以包括:各種類型報文數量總和的計數以及多個輸入控制參數計數;
[0086]步驟S214:通過同一計數器對不同類型報文設置不同的輸入控制參數,以及得到的需要同時統(tǒng)計的多種類型報文的報文數量總和計數、多個輸入控制參數計數,然后建立多元一次方程組即可得到在T時刻需要同時統(tǒng)計的各種類型報文的流量;
[0087]步驟S216:根據各種類型報文的特征信息中的轉發(fā)路徑信息,分別將每種類型報文轉發(fā)至相應的目的地。
[0088]由此可見,在該優(yōu)選實施例中,在保證每種類型報文正常轉發(fā)的前提下,成功地完成了對各種類型報文的流量統(tǒng)計,滿足了計數器資源緊張或者需要同時讀取多個不同流量統(tǒng)計的特定網絡功能和診斷方式的實現(xiàn),例如:在執(zhí)行OAM診斷時,經常需要對某時間段內的收發(fā)數據包進行統(tǒng)計,而按照該優(yōu)選實施例中提供的統(tǒng)計方式可以有效地避免讀取時間誤差,確保了流量統(tǒng)計精度。采用同一個計數器資源實現(xiàn)多種不同類型報文的流量統(tǒng)計,從而節(jié)省了計數器資源,同時,流量統(tǒng)計的判斷還可以細化至每條數據流,由此提高了網絡的靈活性和穩(wěn)定性。
[0089]圖3是根據本發(fā)明實施例的流量統(tǒng)計裝置的結構框圖。如圖3所示,該流量統(tǒng)計裝置可以包括:設置模塊100,用于采用同一計數器分別為N種類型報文中的每種類型報文設置輸入控制參數,其中,N為正整數且N > 2,每個輸入控制參數均為正整數且N個輸入控制參數互異;第一獲取模塊102,用于在第一預設時刻到達時,從計數器中獲取N個計數值,其中,N個計數值包括:預設端口在第一預設時刻接收到的N種類型報文的數量總和以及N-1個輸入控制參數計數,每個輸入控制參數計數與從N種類型報文中選取的N-1種類型報文的輸入控制參數呈線性相關,并且與每個輸入控制參數計數對應的N-1種類型報文部分相同;第一統(tǒng)計模塊104,用于通過N個輸入控制參數和N個計數值分別統(tǒng)計N種類型報文中的每種類型報文在第一預設時刻的流量。
[0090]采用如圖3所示的裝置,解決了相關技術中采用同一個計數器僅能對一種類型報文的流量進行統(tǒng)計的問題,進而節(jié)省了計數器資源,并且確保了在同一時刻對多種類型的報文進行流量統(tǒng)計的精度,提高了網絡的靈活性與穩(wěn)定性。
[0091]優(yōu)選地,如圖4所示,上述裝置還可以包括:提取模塊106,用于分別提取M種類型報文中的每種類型報文的轉發(fā)信息,其中,M為正整數且M > N ;確定模塊108,用于根據轉發(fā)信息從M種類型報文中確定N種類型報文。
[0092]優(yōu)選地,上述提取模塊106可以包括:獲取單元(圖中未示出),用于分別獲取M種類型報文中的每種類型報文的特征信息,并對特征信息進行解析;提取單元(圖中未示出),用于從解析后的特征信息中提取轉發(fā)信息。
[0093]優(yōu)選地,如圖4所示,上述裝置還可以包括:劃分模塊110,用于根據N種類型報文的數量總和與N個輸入控制參數將計數器劃分為N個位域,其中,N個位域中的每個位域分別與N種類型報文的數量總和計數以及N-1個輸入控制參數計數中每種計數一一對應。
[0094]優(yōu)選地,如圖4所示,上述裝置還可以包括:第二獲取模塊112,用于在第二預設時刻到達時,再次從計數器中獲取N個計數值;第二統(tǒng)計模塊114,用于通過N個輸入控制參數和再次獲取到的N個計數值分別統(tǒng)計N種類型報文中的每種類型報文在第二預設時刻的流量;計算模塊116,用于采用N種類型報文中的每種類型報文在第一預設時刻的流量與N種類型報文中的每種類型報文在第二預設時刻的流量計算N種類型報文中的每種類型報文在預設時間段內的流量,其中,預設時間段為從第一預設時刻至第二預設時刻。
[0095]優(yōu)選地,如圖4所示,上述裝置還可以包括:轉發(fā)模塊118,用于根據N種類型報文中的每種類型報文的特征信息分別對各種類型報文進行轉發(fā)。
[0096]從以上的描述中,可以看出,上述實施例實現(xiàn)了如下技術效果(需要說明的是這些效果是某些優(yōu)選實施例可以達到的效果):本發(fā)明所提供的技術方案通過從接收到的多種類型報文中獲取每種類型報文的特征信息,然后從特征信息中提取每種類型報文所對應的轉發(fā)信息。如果需要對此種類型報文進行流量統(tǒng)計,則申請相應的計數器資源,通過對同一計數器設置輸入控制參數的控制,實現(xiàn)需要同時計數的多種類型報文的數量總和計數和輸入控制參數計數,然后通過簡單地運算,即可在同一時刻得到每種類型報文的流量統(tǒng)計,滿足了計數器資源緊張或者需要同時讀取多個不同流量統(tǒng)計的特定網絡功能和診斷方式的實現(xiàn),從而節(jié)省了計數器資源,同時,流量統(tǒng)計的判斷還可以細化至每條數據流,由此提高了網絡的靈活性和穩(wěn)定性。
[0097]顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。
[0098]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種流量統(tǒng)計方法,其特征在于,包括: 采用同一計數器分別為N種類型報文中的每種類型報文設置輸入控制參數,其中,N為正整數且N > 2,每個輸入控制參數均為正整數且N個輸入控制參數互異; 在第一預設時刻到達時,從所述計數器中獲取N個計數值,其中,所述N個計數值包括:預設端口在所述第一預設時刻接收到的所述N種類型報文的數量總和以及N-1個輸入控制參數計數,每個輸入控制參數計數與從所述N種類型報文中選取的N-1種類型報文的輸入控制參數呈線性相關,并且與所述每個輸入控制參數計數對應的N-1種類型報文部分相同; 通過所述N個輸入控制參數和所述N個計數值分別統(tǒng)計所述N種類型報文中的每種類型報文在所述第一預設時刻的流量。
2.根據權利要求1所述的方法,其特征在于,在采用所述計數器分別為所述每種類型報文設置所述輸入控制參數之前,還包括: 分別提取M種類型報文中的每種類型報文的轉發(fā)信息,其中,M為正整數且M > N ; 根據所述轉發(fā)信息從所述M種類型報文中確定所述N種類型報文。
3.根據權利要求2所述的方法,其特征在于,分別提取所述M種類型報文中的每種類型報文的轉發(fā)信息包括: 分別獲取所述M種類型報文中的每種類型報文的特征信息,并對所述特征信息進行解析; 從解析后的特征信息中提取所述轉發(fā)信息。
4.根據權利要求2所述的方法,其特征在于,在根據所述轉發(fā)信息從所述M種類型報文中確定所述N種類型報文之后,還包括: 根據所述N種類型報文的數量總和與所述N個輸入控制參數將所述計數器劃分為N個位域,其中,所述N個位域中的每個位域分別與所述N種類型報文的數量總和計數以及N-1個輸入控制參數計數中每種計數一一對應。
5.根據權利要求2所述的方法,其特征在于,在根據所述轉發(fā)信息從所述M種類型報文中確定所述N種類型報文之后,還包括: 在第二預設時刻到達時,再次從所述計數器中獲取N個計數值; 通過所述N個輸入控制參數和所述再次獲取到的N個計數值分別統(tǒng)計所述N種類型報文中的每種類型報文在所述第二預設時刻的流量; 采用所述N種類型報文中的每種類型報文在所述第一預設時刻的流量與所述N種類型報文中的每種類型報文在所述第二預設時刻的流量計算所述N種類型報文中的每種類型報文在預設時間段內的流量,其中,所述預設時間段為從所述第一預設時刻至所述第二預設時刻。
6.根據權利要求2所述的方法,其特征在于,在通過所述N個輸入控制參數和所述N個計數值分別統(tǒng)計所述N種類型報文中的每種類型報文在所述第一預設時刻的流量之后,還包括: 根據所述N種類型報文中的每種類型報文的特征信息分別對各種類型報文進行轉發(fā)。
7.一種流量統(tǒng)計裝置,其特征在于,包括: 設置模塊,用于采用同一計數器分別為N種類型報文中的每種類型報文設置輸入控制參數,其中,N為正整數且N > 2,每個輸入控制參數均為正整數且N個輸入控制參數互異; 第一獲取模塊,用于在第一預設時刻到達時,從所述計數器中獲取N個計數值,其中,所述N個計數值包括:預設端口在所述第一預設時刻接收到的所述N種類型報文的數量總和以及N-1個輸入控制參數計數,每個輸入控制參數計數與從所述N種類型報文中選取的N-1種類型報文的輸入控制參數呈線性相關,并且與所述每個輸入控制參數計數對應的N-1種類型報文部分相同; 第一統(tǒng)計模塊,用于通過所述N個輸入控制參數和所述N個計數值分別統(tǒng)計所述N種類型報文中的每種類型報文在所述第一預設時刻的流量。
8.根據權利要求7所述的裝置,其特征在于,所述裝置還包括: 提取模塊,用于分別提取M種類型報文中的每種類型報文的轉發(fā)信息,其中,M為正整數且M彡N ;確定模塊,用于根據所述轉發(fā)信息從所述M種類型報文中確定所述N種類型報文。
9.根據權利要求8所述的裝置,其特征在于,所述提取模塊包括: 獲取單元,用于分別獲取所述M種類型報文中的每種類型報文的特征信息,并對所述特征信息進行解析; 提取單元,用于從解析后的特征信息中提取所述轉發(fā)信息。
10.根據權利要求8所述的裝置,其特征在于,所述裝置還包括: 劃分模塊,用于根據所述N種類型報文的數量總和與所述N個輸入控制參數將所述計數器劃分為N個位域,其中,所述N個位域中的每個位域分別與所述N種類型報文的數量總和計數以及N-1個輸入控制參數計數中每種計數一一對應。
11.根據權利要求8所述的裝置,其特征在于,所述裝置還包括:第二獲取模塊,用于在第二預設時刻到達時,再次從所述計數器中獲取N個計數值; 第二統(tǒng)計模塊,用于通過所述N個輸入控制參數和所述再次獲取到的N個計數值分別統(tǒng)計所述N種類型報文中的每種類型報文在所述第二預設時刻的流量; 計算模塊,用于采用所述N種類型報文中的每種類型報文在所述第一預設時刻的流量與所述N種類型報文中的每種類型報文在所述第二預設時刻的流量計算所述N種類型報文中的每種類型報文在預設時間段內的流量,其中,所述預設時間段為從所述第一預設時刻至所述第二預設時刻。
12.根據權利要求8所述的裝置,其特征在于,所述裝置還包括: 轉發(fā)模塊,用于根據所述N種類型報文中的每種類型報文的特征信息分別對各種類型報文進行轉發(fā)。
【文檔編號】H04L12/26GK104243226SQ201310247017
【公開日】2014年12月24日 申請日期:2013年6月20日 優(yōu)先權日:2013年6月20日
【發(fā)明者】程銀魁, 錢勇 申請人:中興通訊股份有限公司