專利名稱:數據流量的統計方法
技術領域:
本發(fā)明涉及數據通信技術領域,更具體的說,涉及一種數據流量的統計方法。
背景技術:
隨著人類通過網絡進行信息交流的增加,在數據通信網絡中,網絡連接復雜性越來越高。小區(qū)用戶和企業(yè)網接入互聯網后,通過互聯網服務提供商建立跨地區(qū)連接的應用正在變得越來越普遍。
目前實際應用中,單純根據時間而不作服務質量和流量保證的收費方式,已不能滿足市場需求。例如,在數據通信領域一直以按使用時間計費為主,但隨著數據通信的發(fā)展,各種新業(yè)務的涌現,這種純粹按照時間計費的方式已經不能滿足用戶需求。例如,隨著無線數據業(yè)務的開展,出現了按數據流量計費的方式。
另外,運營商為了更好地開展一些新業(yè)務,希望對不同內容的數據流進行不同的計費。例如對于內部一些網絡資源采用低費率,對外部的網絡資源采用高費率;對于一些數據量大的業(yè)務采用低費率,例如視頻流,對于一些數據量小的業(yè)務,例如股票信息則采用高費率等。一些校園網和企業(yè)網也迫切需要網絡設備(交換機或路由器)能支持按數據包的內容進行靈活計費的方式,這些都需要對數據流量進行統計。
目前,對于數據業(yè)務,常采用的計費方法有兩種,即按時間計費和按數據流量計費。所述按時間計費就是只計算用戶上網的時間,按上網時間的長短來進行計費。該計費系統一般包括兩部分,一部分是用戶認證,就是保證用戶是合法用戶,認證的過程也就是用戶登錄的過程,只有通過認證的用戶才能登錄上網,另一部分,就是認證系統記錄用戶上網的起始時間和下網時間,并把這個數據發(fā)往計費中心,用于時間計費。
所述按流量計費就是按用戶實際產生的數據流量來進行計費。由于按數據流量計費比按時間計費更能真實反映用戶對網絡資源的消耗情況,因此更為合理。目前比較常用的數據流量統計方法是在網絡設備上將數據包按源、目的IP地址為特征項進行數據包統計;或者是將數據包按源、目的IP地址、端口號、協議類型為特征項進行數據包統計,根據目的IP地址可以精確到具體的網址,有了目的端口號和協議類型可以精確到網站提供的某個服務,這樣可以靈活的根據用戶訪問不同的網址,甚至不同的業(yè)務來進行計費,這樣的計費信息是非常詳細的。
該方法中把所有的數據包都固定的按源、目的IP地址,源、目的端口號,協議號為特征項進行分類統計,這樣做統計雖然很全面,但由于分類太細,需要占用大量的統計資源,例如,如果只需要統計某個用戶發(fā)出的數據流量,按照該方法就必須將該用戶訪問的所有服務的數據流都進行分類統計,如果該用戶訪問了上萬個服務則需建立上萬個統計項,這會消耗大量的系統資源。同時,由于還需要傳送大量的統計數據,也會嚴重降低整個系統的性能。
而且該方法中對所有的數據包進行統計,然后再根據統計流量進行計費,但是,目前不需要這樣的計費精度,一般只需要對某類的站點進行分類統計就可以了,沒有必要對每個站點都進行詳細的記錄,這樣的計費精度將導致的計費的數據量龐大,對計費數據的處理設備和傳輸設備的都提出了很高的要求。同時,該方法對大量不需要計費的數據包也進行統計,白白浪費系統資源。
另外,所述方法在組網上存在不可避免的缺陷,如果將計費設備串接在網絡流量的出口上,計費設備的引入會影響網絡的性能和可靠性,但如果采用將出口流量鏡像到計費設備上的方案,雖然對網絡性能和可靠性沒有影響,但用戶可以通過大量消耗計費資源的方式,來實現免費使用。
發(fā)明內容
本發(fā)明解決的技術問題是提供一種數據流量的統計方法,以解決目前由于精度的計費,導致計費流量的龐大,而占用大量的計費設備資源的問題。
為解決上述問題,本發(fā)明提供一種數據流量的統計方法,包括以下步驟A、預先配置計費組配置表;B、根據計費組信息和用戶IP地址生成統計流表;C、當有數據包到達時,根據所述數據包的源IP和目的IP地址,并結合所述計費組配置表中的配置信息去查找統計流表,若查詢到統計流表,則記錄該數據包相應的流量信息。
步驟A中所述計費組是具有相同計費屬性的多個IP地址的集合。
采用網段的方式預先為用戶配置計費組配置表,所述計費組配置表的內容包括計費組ID、訪問的目的IP地址、子網掩碼。
所述統計流表包括用戶IP地址和與其相對應的計費組ID,以及上行包計數、下行包計數或上行字節(jié)計數、下行字節(jié)計數。
步驟C中分別以所述數據包的源IP地址和目的IP地址查詢統計流表來獲得所述數據包的數據流向,若查詢到,則所述數據包的數據流向為需要計費統計的上行數據或下行數據;否則,該數據包不需要計費統計。
步驟C中根據所述數據流向的IP地址查詢計費組配置表,若能從該表中得到該用戶的計費組ID,則統計該用戶所對應計費組ID的數據包數和字節(jié)數,其具體實現過程包括根據所述上行數據的目的IP地址查詢計費組配置表,若查詢到,則獲得該用戶上行數據的計費組ID,并將該計費組ID所對應的上行包計數加一或/和所對應的上行字節(jié)計數加上所述數據包的字節(jié)數;或者是根據所述下行數據的源IP地址查詢計費組配置表,若查詢到,則獲得該用戶下行數據的計費組ID,并將該計費組ID所對應的下行包計數加一或/和所對應的下行字節(jié)計數加上所述數據包的字節(jié)數。
另外,本發(fā)明還提供一種網絡設備根據流量計費的方法,包括以下步驟A、在網絡設備上將與用戶通信的對端IP地址進行分組,其中計費屬性相同的IP地址設在同一計費組;B、網絡設備收到數據包時,查詢該數據包目的IP地址和源IP地址,并與上述用戶IP地址和計費組進行匹配,若匹配成功,則將數據包對應的流量記錄下來,用以生成計費信息。
在步驟B中,進一步判斷數據包相對于用戶是下行還是上行數據,并對上行和下行分別進行記錄。
所述計費組是同一個網段的IP地址的集合。
與現有技術相比,本發(fā)明具有以下有益效果本發(fā)明通過數據包的源IP地址和目的IP地址組來對該用戶的數據流量進行分類統計,即本發(fā)明能夠按照訪問的對象進行分類流量統計,使得數據流量統計計費更為靈活。統計效率高,只對用戶需要計費統計的數據包才進行統計,這樣不會有多余的數據包被統計,減少系統的統計資源。同時,本發(fā)明所述方法對統計資源的占用也是可控的,并且實現簡單,計費系統的安全性好,能保證計費的準確性和可靠性,又能夠很好的抵御各種攻擊對計費采集的影響,同時計費采集的數據量不大,對計費數據的傳輸和對計費設備要求不高。另外,本發(fā)明所述方法配置簡單,還可以直接串接在網絡中,也可以采用鏡像數據包的方式進行數據流量的計費統計,不但能保證計費準確,而且組網更方便。
圖1是本發(fā)明所述數據流量的統計方法的流程圖;圖2是本發(fā)明所述數據流量的統計方法的一實施例的流程圖;圖3是本發(fā)明另一種所述數據流量的統計方法另一實施例的流程圖;圖4是本發(fā)明另一種所述數據流量的統計方法的流程圖。
具體實施例方式
本發(fā)明的核心是根據不同的網站地址為用戶配置計費組配置表,所述計費組配置表與用戶通過認證上網的信息生成統計流表;當有數據包達到時,根據所述數據包的源IP地址和目的IP地址分別進行查詢進行計費組配置表和統計流表,從所述計費組配置表和統計流表中分別獲取所述數據包的流向(上行或下行)和計費組ID;并統計該用戶對應計費組ID的數據包數或字節(jié)數,如果沒有從計費組配置表或統計流表得到所述數據包的流向或計費組ID時,則不統計所述數據包。因此,本發(fā)明通過數據包的源IP地址和目的IP地址組來對該用戶的數據流量進行統計,從而能夠按訪問的對象進行分類統計,使得數據流量統計計費更為靈活。同時,本發(fā)明所述方法對統計資源的占用是可控的,并且實現簡單,統計效率高,能保證計費的準確性和可靠性。又能夠很好的抵御各種攻擊對計費采集的影響,同時計費采集的數據量不大,對計費數據的傳輸和對計費設備要求不高。
下面結合附圖對本發(fā)明做進一步的說明。
請參考圖1,為本發(fā)明所述數據流量的統計方法的流程圖。所述方法包括步驟步驟F10預先配置計費組配置表;步驟F11根據計費組信息和用戶IP地址生成統計流表;步驟F12當有數據包到達時,根據所述數據包的源IP和目的IP地址,并結合所述計費組配置表中的配置信息去查找統計流表,若查詢到統計流表,則記錄該數據包相應的流量信息(步驟F13)。
在所述方法的步驟C中,可以根據所述數據包的源IP和目的IP地址分別來查找統計流表或計費組配置表,獲得所述數據包的數據流向或計費組ID,再根據所述查詢到的該數據包的數據流向或計費組ID,去查找相應的計費組配置表或計費流表,并記錄該數據包相應的流量信息。具體的實現方式請參考圖2和圖3所示請參考圖2,為本發(fā)明所述數據流量的統計方法的一實施例的流程圖。所述方法包括步驟步驟S10預先配置計費組配置表;步驟S11根據計費組信息和用戶IP地址生成統計流表;步驟S12當有用戶的數據包到達時,根據所述數據包的數據流向查找計費組配置表,若能從中查到該用戶的計費組ID,則統計該用戶對應計費組ID的數據包數或字節(jié)數(步驟S13);否則,不統計所述數據包(步驟S14)。
在步驟S10中,所述根據不同網站的IP地址預先為用戶配置計費組配置表。所述計費組是根據用戶計費策略來配置的,就是指具有同一計費特性的一組IP地址,表明同一用戶訪問該IP地址的計費特性是相同的。比如,如果訪問國內的網址的流量的費率是一樣的,就把國內的網址配置成一個計費組;如果訪問日本的網址的流量的費率是一樣的,則把日本的網址配置成一個計費組。其實,對上網的數據流量的計費與我們打電話的計費類似,我們可以把市內劃為一個計費組,郊縣的劃為一個計費組,國內的劃為一個計費組,國際的劃為一個計費組,移動用戶的劃為一個計費組。如果用戶打電話通過網絡的同一組內的電話費率是一樣的。因此,對用戶上網的數據流量與上述打電話的原理類似。而本發(fā)明所述方法為了查找和配置方便,一般采用網段的方式進行配置,但并不限于這種配置,還可以根據其它方式進行配置。采用網段的方式進行配置時,其主要時根據配置計費組ID、網絡的IP地址、子網掩碼等幾個主要的參數來配置計費組配置表,且所述計費組配置表還可以包括計費屬性,如果是免費的,計費中心不對該計費組計費就可以了。所述計費組ID用于表征該計費組,網絡的IP地址就是用戶需要訪問的目的IP地址與子網掩碼配合,而組成一個目的IP網段。請參考表1,為以網段的方式來配置計費組配置表的。
表1
在步驟S11中,根據計費組配置信息與通過認證上網的用戶,生成統計流表。所述統計流表的生成過程為如果一個通過認證的用戶上網后,其用戶的源IP地址為10.10.10.10,假設根據用戶的計費策略,而為其配置了N個計費組,且每個計費組包括上行、下行包計數器和上行、下行字節(jié)計數器,所有這些參數就配置成一個統計流表項,且如果為用戶配置了N個計費組的統計流表詳見表2。
表2
由表2可知,所述N個計費組的統計流的一個表項的內容包括用戶的源IP地址、計費組ID,且所述計費組ID又包括上行包計數器、下行包計數器、上行字節(jié)計數器和下行字節(jié)計數器。所述計費組ID中的這四個計數器可以根據用戶需求適應性刪減。如果用戶只需要按字節(jié)數來統計收費,在所述的統計流表中只需要一個字節(jié)計數就可以了,但如果想根據上行、下行字節(jié)數按不同的費率來收費,就需要由上行、下行兩個字節(jié)計數來統計計費。如果用戶既需要根據數據包的個數來統計計費,又需要根據數據包的字節(jié)數來統計計費,且二者都需要分上行、下行分別來統計計費,則所述統計表的配置中就包括了上行、下行包計數和上行、下行字節(jié)計數項。也就是說,所述統計流表包括用戶的源IP地址和統計計數器,所述統計計數器用來記錄不同計費組ID對應的統計數據,需要統計的數據有上行、下行數據字節(jié)數和上行、下行包數或只統計上行、下行字節(jié)數和包數,也可以只統計兩者中的一個,總之所述統計流表是根據具體用戶的計費需求來確定的。
另外,所述統計流表是在生成后就固定不變了,因為其上網的用戶數和配置計費組數都是固定的,所以生成的統計流表也是固定的,且所述統計流表生成后與該用戶的行為無關。
在步驟S12中,當有數據包進入計費系統時,先以所述數據包的源IP地址查詢所述統計流表,如果在統計流表中查詢到(即命中),則表明是所述數據包的流向是上行,且所述數據包為上行數據;如果在該統計流表中沒有查詢到(即沒有命中),則再以數據包的目的IP地址來查詢統計流表,如果查詢到(即命中),則說明所述數據包的流向是下行,且所述數據包為下行數據。但是以數據包的源IP地址或者是目的IP地址兩個查詢的過程不分先后,誰先誰后都沒有關系。如果以該數據包的源IP地址或者是目的IP地址都沒有命中統計流表,則說明所述數據包不是需要統計計費的數據包,則丟棄。另外,所述數據包的流向不但可以通過查流表而得到,還可以通過其它方法來得到,例如可以根據指定端口,若出端口的是上行數據,則入端口就是下行數據,等等。因為所述根據指定的端口來獲得數據包的流量已是現有技術,在這里就不再贅述。
而且,若所述數據包是上行數據,則再以該數據包的目的IP地址查詢計費組配置表,若查詢到,則獲得該用戶上行數據的計費組ID,同時對步驟S11中所得到的統計流表的對應匹配項的對應計費組ID相關的計數器進行累計,即對于上行數據,需將該計費組ID所對應的上行包計數加一,同時將該計費組ID對應的上行字節(jié)計數加上本次所述數據包的字節(jié)數。
若所述數據包是下行數據,則再以該數據包的源IP地址查詢計費組配置表,若查詢到,則獲得該用戶下行數據的計費組ID,同時對步驟S11中所得到的統計流表的對應匹配項的對應計費組ID相關的計數器進行累計,即對于下行數據,需將該計費組ID所對應的下行包計數加一,同時將該計費組ID對應的下行字節(jié)計數加上本次所述數據包的字節(jié)數(步驟S13)。
若對于上行數據或下行數據再以該數據包的目的IP地址查詢計費組配置表都沒有命中(或查詢到)時,則說明所述數據包是不需要統計計費的數據包或是上網免費的數據包,將丟棄。
還請參考圖3,為本發(fā)明所述數據流量的統計方法另一實施例的流程圖,所述方法包括步驟步驟H10預先配置計費組配置表;步驟H11根據計費組信息和用戶IP地址生成統計流表;步驟H12當有用戶的數據包到達時,通過查詢計費組配置表獲取該用戶的計費組ID,并根據所述計費組ID和數據包的源IP地址查詢統計流表,若能查中,則獲取該數據包的流向,統計該用戶所對應計費組ID的數據包數或字節(jié)數(步驟H13);否則,不統計所述數據包(步驟H14)。
所述步驟H10與上述方法的步驟S10都是預先為用戶配置計費組配置表,其配置計費組的實現過程也相同。其中,計費組配置表詳見上述表1。如表1中所述計費組就是指具同一計費特性的一組IP地址,表明同一用戶訪問該IP的計費特性相同,為了查找和配置方便。本發(fā)明所述方法一般采用網段的方式進行配置計費組配置表。其主要是根據計費組ID、IP地址、子網掩碼和計費屬性等幾個特性參數來配置的,所述計費組ID用于表征該計費組,所述IP地址就是訪問的目的IP地址,該IP地址與子網掩碼配合來標識一個目的IP網段。
在步驟H11中,根據計費組配置信息與通過認證上網的用戶,生成統計流表。所述統計流表的生成過程為如果用戶通過其源IP地址61.10.0.0上網,且配置了計費組ID2,則生成上述表項包括該計費組對應的四個計數,如果還配置了計費組ID3則再生成一項,對于計費組ID為3,配置了幾個計費組就生成幾項,這個與前面的方法其實是一樣的,無非前面的計費組全部在一條記錄中,而所述方法把它分拆成幾個記錄,其內容是一樣的。因為上網的用戶數和配置計費組數都是固定的,所以生成的統計流表也是固定的。所述統計流表生成后與該用戶的行為無關。其所述統計流表詳見表3。由表3可知,所述統計流表內容包括源IP地址、計費組ID和統計計數器;而所述統計計數器是用來記錄上行、下行流量字節(jié)數和上行、下行包數或只統計上行、下行字節(jié)數和包數或者只統計兩者中的一個,總之所述統計流表是根據用戶的具體計費需求來確定的。
表3
在步驟H12中,當有數據包進入計費系統后,分別以該數據包的源IP地址和目的IP地址查詢計費組配置表,如果在該計費組配置表中查詢到(或命中計費組查詢表),就得到計費組ID;如果兩次都沒有查詢到,說明所述數據包是不需要計費統計的數據,將丟棄所述數據包。
如果以數據包的源IP地址通過查詢計費組配置表得到計費組ID,則所述該計費組ID與所述數據包的源IP地址去匹配(查詢)統計流表,如果命中,表明是下行數據,對下行相關的計數器進行累計,即將該計費組ID所對應的下行包計數加一和所對應的下行字節(jié)計數加上所述數據包的字節(jié)數。如果以數據包的目的IP查詢到計費組ID,則所述計費組ID與數據包的源IP地址去匹配(匹配)統計流表,如果命中,則對上行數據將上行數據相關的計數器進行統計,即將該計費組ID所對應的上行包計數加一和所對應的上行字節(jié)計數加上所述數據包的字節(jié)數。如果以數據包的源IP地址和目的IP地址來查詢計費組配置表都沒有命中(得到計費組ID),或者用得到的計費組ID與所述數據包的源或目的IP地址匹配(查詢)統計流表時,也沒有命中(查到)時,則說明所述數據包是不用計費統計的。
另外,本發(fā)明還提供一種網絡設備根據流量計費的方法,所述方法的流程圖詳見圖4,所述方法包括以下步驟步驟M10在網絡設備上將與用戶通信的對端IP地址進行分組,其中計費屬性相同的IP地址設在同一計費組;步驟M11網絡設備收到數據包時,查詢該數據包目的IP地址和源IP地址,并與上述用戶IP地址和計費組進行匹配,若匹配成功,則將數據包對應的流量記錄下來,用以生成計費信息(步驟M12)。
在步驟M11中,根據所述數據包目的IP地址和源IP地址來查找統計流表,若以目的IP地址查詢到時,則說明所述數據包是下行數據,若以源IP地址查詢到時,則說明所述數據包是上行數據,并根據所述上行數據或下行數據的目的IP地址和源IP地址查找計費組配置表,獲得計費組ID,并對所述計費組ID所對應的上行和下行數據流量進行記錄。具體的實現過程如前所述。其中,所述計費組是同一個網段的IP地址的集合。
以上所述僅是本發(fā)明的優(yōu)選實施方式,并不構成對本發(fā)明保護范圍的限定。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干修改、等同替換和改進等,這些修改、等同替換和改進均應包含在本發(fā)明的權利要求保護范圍之內。
權利要求
1.一種數據流量的統計方法,其特征在于,包括A、預先配置計費組配置表;B、根據計費組和用戶IP地址生成統計流表;C、當有數據包到達時,根據所述數據包的源IP和目的IP地址,并結合所述計費組配置表中的配置信息去查找統計流表,若查詢到統計流表,則記錄該數據包相應的流量信息。
2.根據權利要求1所述數據流量的統計方法,其特征在于,步驟A中所述計費組是具有相同計費屬性的多個IP地址的集合。
3.根據權利要求2所述數據流量的統計方法,其特征在于,采用網段的方式預先為用戶配置計費組配置表,所述計費組配置表的內容包括計費組ID、訪問的目的IP地址、子網掩碼。
4.根據權利要求1所述數據流量的統計方法,其特征在于,所述統計流表包括用戶IP地址和與其相對應的計費組ID,以及上行包計數、下行包計數或上行字節(jié)計數、下行字節(jié)計數。
5.根據權利要求1所述數據流量的統計方法,其特征在于,步驟C中分別以所述數據包的源IP地址和目的IP地址查詢統計流表來獲得所述數據包的數據流向,若查詢到,則所述數據包的數據流向為需要計費統計的上行數據或下行數據;否則,該數據包不需要計費統計。
6.根據權利要求5所述數據流量的統計方法,其特征在于,步驟C中根據所述數據流向的IP地址查詢計費組配置表,若能從該表中得到該用戶的計費組ID,則統計該用戶所對應計費組ID的數據包數和字節(jié)數,其具體實現過程包括根據所述上行數據的目的IP地址查詢計費組配置表,若查詢到,則獲得該用戶上行數據的計費組ID,并將該計費組ID所對應的上行包計數加一或/和所對應的上行字節(jié)計數加上所述數據包的字節(jié)數;或者是根據所述下行數據的源IP地址查詢計費組配置表,若查詢到,則獲得該用戶下行數據的計費組ID,并將該計費組ID所對應的下行包計數加一或/和所對應的下行字節(jié)計數加上所述數據包的字節(jié)數。
7.一種網絡設備根據流量計費的方法,其特征在于,包括以下步驟A、在網絡設備上將與用戶通信的對端IP地址進行分組,其中計費屬性相同的IP地址設在同一計費組;B、網絡設備收到數據包時,查詢該數據包目的IP地址和源IP地址,并與上述用戶IP地址和計費組進行匹配,若匹配成功,則將數據包對應的流量記錄下來,用以生成計費信息。
8.根據權利要求7所述網絡設備根據流量計費的方法,其特征在于,在步驟B中,進一步判斷數據包相對于用戶是下行還是上行數據,并對上行和下行分別進行記錄。
9.根據權利要求7所述網絡設備根據流量計費的方法,其特征在于,所述計費組是同一個網段的IP地址的集合。
全文摘要
本發(fā)明涉及一種數據流量的統計方法,所述方法包括步驟A.預先配置計費組配置表;B.根據計費組信息和用戶IP地址生成統計流表;C.當有數據包到達時,根據所述數據包的源IP和目的IP地址,并結合所述計費組配置表中的配置信息去查找統計流表,若查詢到統計流表,則記錄該數據包相應的流量信息。本發(fā)明以解決目前由于精度的計費而導致計費流量的龐大,而占用大量的計費設備資源。而本發(fā)明所述方法能夠按照訪問的對象對數據流量進行分類統計,使得數據流量統計計費更為靈活且統計效率高。
文檔編號H04L12/56GK1725708SQ200510080009
公開日2006年1月25日 申請日期2005年6月24日 優(yōu)先權日2005年6月24日
發(fā)明者盧勝文, 曹剛, 李曉, 章賢君, 祝東健 申請人:杭州華為三康技術有限公司