基于會話的流量統計方法及裝置的制造方法
【技術領域】
[0001]本發明涉及互聯網通信技術領域,尤其涉及一種基于會話的流量統計方法及裝置。
【背景技術】
[0002]會話是嵌入式設備的一個重要功能,會話中記錄了報文的五元組信息,以及各種業務信息,通過會話可以方便的進行各種業務處理。
[0003]流量統計是嵌入式設備的重要功能,當前的流量統計沒有統一的流量統計方案。通常是某一應用系統具有單獨的流量統計方案,致使多個應用系統方案無法統一,過于復雜,整體統計不夠方便,有時某一應用系統的流量統計甚至沒有和會話關聯起來。
【發明內容】
[0004]本發明提供一種基于會話的流量統計方法及裝置,用于解決現有技術中流量統計過于復雜的問題。
[0005]第一方面,本發明提供一種基于會話的流量統計方法,包括:
[0006]當當前會話進入流量統計模塊時,流量統計模塊獲取當前會話的報文長度,同時獲取當前會話流經被統計模塊時被記錄的識別信息,所述識別信息為統計流量時的統計項;
[0007]當判斷當前會話為已記錄的會話時,流量統計模塊根據識別信息、當前會話報文長度和已記錄的會話總流量統計當前總流量并顯示。
[0008]優選地,還包括:當判斷當前會話為新建會話時,流量統計模塊根據識別信息和當前會話報文長度統計當前總流量并顯示。
[0009]優選地,還包括:當進入流量統計模塊的當前會話為新建會話時,流量統計模塊根據所述當前會話對應的識別信息,在相應的被統計模塊內分配統計元,將統計后的當前流量值記錄在統計元中。
[0010]優選地,還包括:當進入流量統計模塊的當前會話為已記錄的會話時,流量統計模塊根據所述當前會話對應的識別信息,從相應的被統計模塊內統計元處獲取已記錄的流量值,并與當前會話的流量值進行計算獲得當前總流量值,再將總流量值記錄在統計元中。[0011 ]優選地,還包括:對所述被統計模塊內的各個統計元進行歸類獲取統計元鏈表,并對統計元鏈表中各個統計元所對應的總流量進行排序并顯示。
[0012]優選地,所述識別信息包括用戶id或應用id。
[0013]第二方面,本發明提供一種基于會話的流量統計裝置,包括:
[0014]獲取模塊,用于接收當前會話時,從當前會話中獲取報文長度和識別信息,所述識別信息為所述當前會話流經被統計模塊時記錄在會話上的信息,所述識別信息為統計流量時的統計項;
[0015]統計模塊,用于當判斷當前會話為已記錄的會話時,根據識別信息、當前會話報文長度和已記錄的會話總流量統計當前總流量并顯示。
[0016]優選地,所述統計模塊,還用于當判斷當前會話為新建會話時,流量統計模塊根據識別信息和當前會話報文長度統計當前總流量并顯示。
[0017]優選地,還包括判斷分配模塊,用于判斷當前會話為新建會話后,根據所述當前會話對應的識別信息,在相應的被統計模塊內分配統計元,將統計后的當前流量值記錄在統計元中。
[0018]優選地,還包括排序模塊,用于對所述被統計模塊內的各個統計元進行歸類獲取統計元鏈表,并對統計元鏈表中各個統計元所對應的總流量進行排序并顯示。
[0019]由上述技術方案可知,本發明提供一種基于會話的流量統計方法及裝置,通過在當前會話進入流量統計模塊時,流量統計模塊獲取當前會話的報文長度,同時獲取當前會話流經被統計模塊時被記錄的識別信息。當判斷當前會話為已記錄的會話時,流量統計模塊根據識別信息、當前會話報文長度和已記錄的會話總流量統計當前總流量并顯示,以達到統計方法簡單,使用方便,適用于各種統計項流量統計的目的。
【附圖說明】
[0020]圖1為本發明實施例1提供的基于會話的流量統計方法的流程示意圖;
[0021]圖2為本發明實施例中被統計模塊和流量統計模塊的關系示意圖;
[0022]圖3為本發明實施例中以用戶id和應用id為例的流量統計示意圖;
[0023]圖4為本發明實施例2提供的基于會話的流量統計方法的流程示意圖;
[0024]圖5為本發明實施例3提供的基于會話的流量統計方法的流程示意圖;
[0025]圖6為本發明實施例4提供的基于會話的流量統計方法的流程示意圖。
[0026]圖7為本發明實施例5提供的基于會話的流量統計裝置的結構示意圖。
【具體實施方式】
[0027]下面結合附圖和實施例,對本發明的【具體實施方式】作進一步詳細描述。以下實施例用于說明本發明,但不用來限制本發明的范圍。
[0028]圖1示出了本發明實施例1提供的一種基于會話的流量統計方法,包括:
[0029]S11、當當前會話進入流量統計模塊時,流量統計模塊從當前會話中獲取報文長度和識別信息,所述識別信息為所述當前會話流經被統計模塊時記錄在會話上的信息,所述識別信息為統計流量時的統計項。在本步驟中,需要說明的是,如圖2所示為被統計模塊和流量統計模塊的關系示意圖,從圖中可以看出,流量統計模塊位于被統計模塊之后,即會話通過被統計模塊后才進入流量統計模塊。例如,所述被統計模塊可為用戶模塊或應用模塊,用于識別用戶id或應用id并記錄。這里所說的用戶id或應用id為在本步驟中所述的識別信息,也就是進行流量統計時的統計項。上述被統計模塊的限定僅僅為本發明實施例1中的具體實施例,對于其他類型的被統計模塊也在本發明的保護范圍之內。
[0030]當當前會話進入到流量統計模塊后,流量統計模塊首先獲取當前會話的報文長度,即流量大小。同時還獲取當前會話所屬的識別信息。也就是說,獲取的當前會話的流量大小只能記錄在相應的統計項上。如圖3所示為以用戶id和應用id為例的流量統計示意圖。在圖3中,用戶張三和用戶李四具有自己唯一的用戶id,兩人的會話均進入到被統計模塊A和被統計模塊B,其中,被統計模塊A為用戶模塊,用于識別會話中的用戶id,被統計模塊B為應用模塊,用于識別會話中的應用id。從圖3中可以看出,被統計模塊A識別后獲得的識別信息為張三和李四的id,為了更好的解釋本方案,在圖中以“張三”和“李四”示出。被統計模塊B識別后獲得識別信息為QQ,微信,百度,京東,為了更好的解釋說明本方案,在圖中以“QQ”“微信” “百度” “京東”示出。在本步驟中不涉及流量統計的內容,但為了對圖3進行完整說明需繼續進行解釋說明。在圖3中,流量統計模塊統計的后的信息可以從圖中看出。如李四,流量大小40bytes。即只統計李四所使用的總流量,不關注李四具體用了哪些應用產生的流量。如QQ,流量大小40bytes。即只統計使用QQ所產生的總流量,不關注具體是哪些用戶使用產生的流量。
[0031]S12、當判斷當前會話為已記錄的會話時,流量統計模塊根據識別信息、當前會話報文長度和已記錄的會話總流量統計當前總流量并顯示。在本步驟中,需要說明的是,由于在統計過程中,會存在與當前會話相同類型的會話已經被記錄統計過(若使用過QQ,后又使用QQ),故需要將已經被統計過的會話流量與當前會話所產生的流量一起進行統計,方可統計出總流量。
[0032]本發明提供一種基于會話的流量統計方法,通過在當前會話進入流量統計模塊時,流量統計模塊獲取當前會話的報文長度,同時獲取當前會話流經被統計模塊時被記錄的識別信息。當判斷當前會話為已記錄的會話時,流量統計模塊根據識別信息、當前會話報文長度和已記錄的會話總流量統計當前總流量并顯示,以達到統計方法簡單,使用方便,適用于各種統計項流量統計的目的。
[0033]另外,還需要說明的是,當判斷當前會話為新建會話時,流量統計模塊根據識別信息和當前會話報文長度統計當前總流量并顯示。如第一次使用QQ會話,其產生的流量直接進行統計后作為總流量進行顯示。
[0034]圖4示出了本發明實施例2提供的一種基于會話的流量統計方法,包括:
[0035]S21、當當前會話進入流量統計模塊時,流量統計模塊從當前會話中獲取報文長度和識別信息,所述識別信息為所述當前會話流經被統計模塊時記錄在會話上的信息,所述識別信息為統計流量時的統計項。
[0036]S22、當進入流量統計模塊的當前會話為新建會話時,流量統計模塊根據所述當前會話對應的識別信息,在相應的被統計模塊內分配統計元,將統計后的當前流量值記錄在統計元中。在本步驟中,需要說明的是,為了更好的直接使用某一會話的已記錄的流量統計值,故需要為該會話分配相關內存,即統計元。由統計元存儲已記錄的流量統計值。為此,需要在判斷當前會話為新建會話后,即在當前會話相應的被統計模塊中分配統計元,將統計后的當前流量值記錄在該統計元中。另外,對于如何在被統計模塊中分配統計元是成熟技術,在此不再贅述。
[0037]本發明實施例2所述流量統計方法除了具有本發明實施例1所具有的有益效果外,還通過為新建會話分配統計元存儲當前會話產生的流量值,以便后