專利名稱:一種gprs網絡中流量同用戶信息關聯(lián)的方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及計算機網絡,尤其涉及GPRS網絡。
背景技術:
國內移動用戶數量巨大,運營商競爭激烈,這就需要及時了解用戶需求和喜好,提 升自己的競爭優(yōu)勢。移動互聯(lián)網分析設備解決了這個問題,它能夠快速地為運營商提供第 一時間的市場響應,然而,由于電信核心網布局復雜,服務支持網關(GSN)沒有相應的用戶 信息接口,因此無法直接通過服務支持網關(GSN)獲取流量與用戶信息之間的關聯(lián)。GPRS (General Packet Radio Service,通用分組無線服務技術)是一種基于GSM 系統(tǒng)的無線分組交換技術,其能夠提供端到端的廣域無線IP連接。GPRS中的GN接口主要用于傳輸GTP報文,GTP報文承載了網絡流量信息,由于GTP 協(xié)議用的是同樣傳輸協(xié)議和端口號,因此為了區(qū)分每個用戶的網絡流量,GTP協(xié)議規(guī)定了 TEID (隧道號)以區(qū)分不同用戶的流量,并通過兩個TEID (隧道號)與唯一一個用戶流量相 對應,且該兩個隧道號(TEID)分別為從SGSN (GPRS服務支持節(jié)點)到GGSN (GPRS網關支持 節(jié)點)的隧道號及從GGSN到SGSN的隧道號。因此,對于通過GN接口的每個報文,僅僅通 過一個TEID(隧道號)無法直接獲得用戶相關信息。
發(fā)明內容
本發(fā)明提供了一種在GPRS網絡中獲取流量與用戶信息關聯(lián)的方法及系統(tǒng)。在第一方面,本發(fā)明提供了一種將流量與用戶信息關聯(lián)的方法。該方法首先接收 控制類型數據包,并對該數據包進行解析。然后將解析到的隧道號、狀態(tài)、手機IP地址、用 戶信息中的一個或多個內容,添加至所述狀態(tài)HASH表的節(jié)點中;其中,該狀態(tài)HASH表以隧 道號為關鍵字。然后將所述狀態(tài)HASH表中該節(jié)點的手機IP地址、用戶信息添加至該用戶 HASH表的節(jié)點中;其中,該用戶HASH表以手機IP地址為關鍵字。然后再接收數據類型的 數據包,并對該數據包進行解封裝,以得到該數據包所屬用戶的手機IP地址。最后以該手 機IP地址為關鍵字查找所述用戶HASH表,以獲得該數據包所屬用戶信息,從而使流量與用 戶信息得以關聯(lián)。在第二方面,本發(fā)明提供了一種在將流量與用戶信息關聯(lián)的設備。該設備包括接收控制類型數據包,并對該數據包進行解析的模塊;將解析到的隧道號、狀態(tài)、手機IP地址、用戶信息中的一個或多個內容,添加至所 述狀態(tài)HASH表的節(jié)點中的模塊;其中,該狀態(tài)HASH表以隧道號為關鍵字;將所述狀態(tài)HASH表中該節(jié)點的手機IP地址、用戶信息添加至該用戶HASH表相應 節(jié)點中的模塊;其中,該用戶HASH表以手機IP地址為關鍵字;接收數據類型的數據包,并對該數據包進行解封裝,以得到該數據包所屬用戶手 機IP地址的模塊;以該手機IP地址為關鍵字查找所述用戶HASH表,以獲得該數據包所屬用戶信息,
4從而使流量與用戶信息得以關聯(lián)的模塊。本發(fā)明利用GPRS網絡中的GN接口的固有屬性,通過兩張HASH(哈希)表來實現(xiàn) 每個數據包與用戶信息之間的關聯(lián),進而獲得了網絡流量與用戶信息之間的關聯(lián),從而解 決了僅通過一個TEI D(隧道號)無法直接獲得用戶相關信息的問題。本發(fā)明方法具有自 學習功能,能夠準確便捷獲取網絡流量與用戶信息的關聯(lián)關系,且隨著時間推移所獲得該 關聯(lián)關系越來越精確。
下面將參照附圖對本發(fā)明的具體實施方案進行更詳細的說明,在附圖中圖1是本發(fā)明一個實施例的流量與用戶信息關聯(lián)設備所處網絡位置的示意圖;圖2是本發(fā)明一個實施例的流量與用戶信息關聯(lián)的流程圖;圖3是基于TEID的狀態(tài)HASH表及基于IP地址的用戶HASH表的示意圖;圖4是本發(fā)明一個實施例的連接請求數據包執(zhí)行過程流程圖;圖5是本發(fā)明一個實施例的連接應答數據包執(zhí)行過程流程圖;圖6是本發(fā)明一個實施例的更新請求流程圖;圖7是本發(fā)明一個實施例的更新應答流程圖;圖8是本發(fā)明一個實施例的數據包與用戶信息關聯(lián)流程圖;圖9是本發(fā)明一個實施例的斷開連接請求數據包執(zhí)行過程流程圖。
具體實施例方式圖1是本發(fā)明一個實施例的流量與用戶信息關聯(lián)設備所處網絡位置的示意圖。圖1中,SGSN設備110即GPRS服務支持節(jié)點,其用于管理移動用戶數據,如用戶 身份識別,加密等;GGSN設備130即GPRS網關支持節(jié)點,其具有分配終端的IP地址及到外 部網絡的網關功能。該SGSN設備110通過交換機120與GGSN設備130進行信息交互,即 通過交換機120相互傳輸數據包。SGSN設備110與GGSN設備130之間通過交換機120相連,該交換機120可以是任 意一種普通交換機,其為SGSN設備110與GGSN設備130提供共享的電信號通路,以便SGCN 設備110與GGSN設備130能夠完成信息交換。流量與用戶信息關聯(lián)設備140用于映射交換機120中的數據信息,以便獲得 SGSN設備110與GGSN設備130之間相互傳輸的數據包,并通過解析該數據包以及通過兩 張HASH表,以得到每個數據包與用戶信息之間的關聯(lián)關系。其中,所述用戶信息包括用 戶手機號、手機IP地址、接入類型(2G、3G等類型)、服務質量(如最大上傳速率、最小上 傳速率等)、IMEI (International Mobile Equipment Identity,國際移動設備身份碼)、 IMSI (International Mobile Subscriber Identification Number,國際移動用戶識別碼) 等與用戶有關的信息。用戶信息分析設備150可以是任意一種用于分析用戶信息的模塊或設備,其接收 來自流量與用戶信息關聯(lián)設備140的每一數據包及其相應用戶信息,并對各用戶信息做統(tǒng) 計分析,以便獲得網絡流量與用戶信息之間的關聯(lián)關系。圖2是本發(fā)明一個實施例的流量與用戶信息關聯(lián)的流程圖。
在步驟210,流量與用戶信息關聯(lián)設備140接收來自交換機120的數據包,并根據 該數據包的包頭信息判定該數據包是否為GTP數據包,若該數據包為GTP數據包,則執(zhí)行步 驟220,否則,直接將該數據包發(fā)送至用戶信息分析模塊150。在步驟220,判定GTP數據包所屬類型,若該GTP數據包為GTP-C數據包,即控制 類型的GTP數據包,則執(zhí)行步驟230 ;若該GTP數據包為GTP-U數據包,即用戶數據類型的 GTP數據包,則執(zhí)行步驟260。其中,所述GTP-C數據包包括用戶建立連接、斷開連接等控制 類型的數據包。在步驟230,對GTP-C數據包進行解析,從而解析出用戶信息、TEID (隧道號)等, 其中用戶信息包括手機號、手機IP地址、接入類型、服務質量等信息;TEID包括TEID_SG和 TEID_GS,且 TEID_SG 為從 SGSN 到 GGSN 方向的 TEID,TEID_GS 為從 GGSN 到 SGSN 方向的 TEID。此外,該解析方法可以是任意一種數據包解析方法。在步驟240,根據步驟230解析出來的信息(用戶信息、TEID等),建立、更新或刪 除基于TEID的狀態(tài)HASH表(簡稱狀態(tài)HASH表)中的相應節(jié)點。其中,該狀態(tài)HASH表以 TEID (隧道號)為關鍵字,且包含Status (狀態(tài)),User_info (用戶信息)、IP_Address (手 機IP地址)等信息,參見圖3中的左圖。其中,該狀態(tài)HASH表中各節(jié)點所處位置,通過對 TEID (隧道號)采用HASH算法計算而得到。在步驟250,根據該狀態(tài)HASH表,建立、更新或刪除基于IP地址的用戶HASH表(簡 稱用戶HASH表)中的相應節(jié)點。其中,該用戶HASH表以IP_AddreSS (手機IP地址)為關 鍵字,且包含Userjnfo (用戶信息),如圖3中的右圖所示。其中,該用戶HASH表中各節(jié)點 所處位置,通過對IP地址采用任意一種HASH算法計算而得到。圖3是基于TEID的狀態(tài)HASH表及基于IP地址的用戶HASH表的示意圖,其中,左 圖為基于TEID的狀態(tài)HASH表,右圖為基于IP地址的用戶HASH表。由圖3中的左圖可以看出,該狀態(tài)HASH表中每個節(jié)點的關鍵字為TEID,且該關鍵 字或者為TEID_SG或者為TEID_GS,并且每個節(jié)點還包括Status、User_Info、IP_Address ; 其中,TEID_SG表示從SGSN設備到GGSN設備的TEID,TEID_GS表示從GGSN設備到SGSN設 備的TEID0由圖3中的右圖可以看出,該用戶HASH表中每個節(jié)點的關鍵字為IP_AddreSS,且 每個節(jié)點還包括User_Info。需要說明的是,流量與用戶信息關聯(lián)設備110接收到的數據包不同,解析出的 信息也不同;如對連接請求數據包進行解析,僅能解析出TEID_GS、Userjnfo,且User_ Info僅包含部分用戶信息;而對連接應答數據包進行解析,則能夠解析出TEID_GS、IP_ Address、User_Info,且User_Info為全部用戶信息;因此,對于不同數據包,所得到的HASH 表中每個節(jié)點信息不同。在步驟260,在流量與用戶信息關聯(lián)設備140接收到的數據包為GTP-U數據包時, 對該GTP-U數據包進行解封裝,以得到該數據包所屬用戶的IP_AddreSS (手機IP地址)。在步驟270,根據該GTP-U數據包所屬用戶的IP_AddreSS,查詢該用戶HASH表,從 而得到該GTP-U數據包及其所屬用戶信息。需要說明的是,由于網絡流量僅與GTP-U數據包有關,因此根據GTP-U數據包及其 所屬用戶信息,就能夠得到網絡流量與用戶信息之間的關聯(lián)關系。
在步驟280,用戶信息分析設備150接收來自流量與用戶信息關聯(lián)設備140的每個 GTP-U數據包及其所屬用戶信息,并對該信息做統(tǒng)計和分析,從而得到流量與用戶信息之間 的關聯(lián)關系。下面分別以建立連接、更新用戶信息、斷開連接、發(fā)送數據、查找用戶信息為例,詳 細闡述如何根據GTP-C數據包得到狀態(tài)HASH表和用戶HASH表中節(jié)點內容,以及如何獲得 各GTP-U數據包與用戶信息之間的關聯(lián)關系。需要說明的是,建立連接、更新用戶信息、斷開連接中所發(fā)送的數據包為GTP-C類 型數據包;雖然有多種GTP-C類型數據包,本實施例僅對建立連接、更新用戶信息、斷開連 接類型的GTP-C數據包做解析操作,其他控制類型數據包則不予關注,即不對其他控制類 型數據包做任何操作。(1)建立連接在傳輸數據之前首先需要建立連接,建立連接首先需要發(fā)送連接請求數據包。圖 4是本發(fā)明一個實施例的連接請求數據包執(zhí)行過程流程圖。在步驟410,接收連接請求數據包,通過該連接請求數據包的包頭判定出該連接請 求數據包為GTP數據包。在步驟420,根據該連接請求數據包中的內容,判定出該連接請求數據包為GTP-C 數據包。在步驟430,對該連接請求數據包進行解析,解析出該數據包的TEID_GS及該數據 包所屬用戶信息(USer_Inf0),其中,該用戶信息是用戶的部分信息(部分用戶信息)。在步驟440,在該狀態(tài)HASH表中建立一個以TEID_GS為關鍵字的節(jié)點1,并標記該 節(jié)點1的Status (狀態(tài))為連接請求狀態(tài),同時將步驟430解析出的部分用戶信息添加至 該節(jié)點1中。在此稱,以TEID_GS為關鍵字的節(jié)點為節(jié)點1,以TEID_SG為關鍵字的節(jié)點為 節(jié)點2,以IP_AddreSS為關鍵字的節(jié)點為節(jié)點3。連接請求數據包之后為連接應答數據包,圖5是本發(fā)明一個實施例的連接應答數 據包執(zhí)行過程流程圖。在步驟510,接收連接應答數據包,通過該連接應答數據包的包頭判定出該連接應 答數據包為GTP數據包。在步驟520,根據該連接應答數據包的內容,判定出該連接應答數據包類型為 GTP-C類型。在步驟530,對該連接應答數據包進行解析,解析出該數據包的TEID_SG、TEID_ GS、User_Info (用戶信息)、IP_Address (手機IP地址),其中,此次解析出的User_Info也 為部分用戶信息。在步驟540,在該狀態(tài)HASH表中,建立一個以TEID_SG為關鍵字的節(jié)點2,并標記 該節(jié)點2的Status (狀態(tài))為連接應答狀態(tài),同時將步驟530解析出的TEID_GS、IP_AddreSS 添加至該節(jié)點2中。在步驟550,將步驟530解析出來的部分用戶信息與步驟430解析出來的部分用戶 信息結合起來構成用戶的全部信息(即全部用戶信息),然后在該用戶HASH表中,建立一個 以IP_AddreSS(由步驟540得到)為關鍵字,且包含該全部用戶信息的節(jié)點3。在步驟551,刪除該狀態(tài)HASH表中節(jié)點1的用戶信息。
(2)更新用戶信息用戶信息有時會發(fā)生變化,如移動用戶位置發(fā)生變化,則該用戶信息中的用戶位 置信息發(fā)生了變化,因此需要對變化的用戶信息做更新。圖6是本發(fā)明一個實施例的更新 請求流程圖。在步驟610,接收更新請求數據包,通過對該更新請求數據包的包頭判定出該更新 請求數據包為GTP數據包。在步驟620,根據該更新請求數據包中的內容,判定出該更新請求數據包為GTP-C 數據包。在步驟630,對該更新請求數據包進行解析,解析出該數據包的TEID_GS及該數據 包所屬用戶的最新用戶信息(Userjnfo)。在步驟640,在狀態(tài)HASH表中建立一個以TEID_GS為關鍵字且包含該最新User_ Info的節(jié)點。一個例子中,該最新用戶信息是具有最新位置的用戶信息。更新請求數據包之后為更新應答數據包,圖7是本發(fā)明一個實施例的更新應答流 程圖。在步驟710,接收更新應答數據包,通過該更新應答數據包的包頭判定出該更新應 答數據包為GTP數據包。在步驟720,根據該更新應答數據包的內容,判定出該更新應答數據包類型為 GTP-C類型。在步驟730,對該更新應答數據包進行解析。在步驟740,若解析出該更新應答數據包為同意更新,則刪除以該TEID_GS為關鍵 字的且具有更新前用戶信息的節(jié)點。在步驟750,若解析出該更新應答數據包為不同意更新,則刪除以該TEID_GS為關 鍵字的該新建立節(jié)點。(3)查找用戶信息若在發(fā)送控制命令過程中查找用戶信息,即在GTP數據包為GTP-C數據包時,需 要通過TEID查找用戶信息。具體方法為,首先對該GTP-C數據包進行解析,解析出該數據 包的TEID ;然后以該TEID為關鍵字查找該狀態(tài)HASH表,從而得到該TEID所處節(jié)點的IP_ Address (手機IP地址);最后以該IP_AddreSS為關鍵字,查找該用戶HASH表,從而得到該 IP_Address所處節(jié)點的User_Info (用戶信息)。若在發(fā)送數據過程中查找用戶信息,即在GTP數據包為GTP-U數據包時,則需要通 過手機IP地址(IP_AddreSS)查找用戶信息。具體方法為,首先對數據類型的數據包進行 解封裝,以得到該GTP-U數據包的IP_AddreSS (手機IP地址),該解封裝方法可以是任意 一種常用解封裝方法;然后再以該IP_AddreSS為關鍵字,查找該用戶HASH表,從而得到該 IP_Address所處節(jié)點的User_Info (用戶信息)。(4)發(fā)送數據在建立連接之后斷開連接之前的發(fā)送數據過程中,可以通過對數據類型的數據包 (即GTP-U數據包)進行解封裝,再通過用戶HASH表得到GTP-U數據包所屬用戶信息,由于 網絡流量僅與數據類型的數據包有關,因此通過每個GTP-U數據包及其所屬用戶信息,就 能夠得到流量與用戶信息之間的關聯(lián)關系。圖8是本發(fā)明一個實施例的數據包與用戶信息
8關聯(lián)流程圖。在步驟810,接收發(fā)送數據的數據包,通過其包頭判定該數據包為GTP數據包。在步驟820,根據該發(fā)送數據數據包中的內容,判定出該數據包為GTP-U數據包。在步驟830,對該GTP-U數據包進行解封裝,從而得到該GTP-U數據包所屬用戶的 IP_Address (手機 IP 地址)。在步驟840,以該IP_AddreSS為關鍵字,查詢用戶HASH表,得到該GTP-U數據包所 屬用戶信息。在步驟850,對接收到的所有GTP-U數據包及其所屬用戶信息做統(tǒng)計分析,從而得 到流量與用戶信息之間的關聯(lián)關系。(5)斷開連接在數據傳輸完成后,用戶需要下線時,首先需要發(fā)送斷開連接數據包。圖9是本發(fā) 明一個實施例的斷開連接數據包執(zhí)行過程流程圖。在步驟910,接收該斷開連接數據包,并判定該斷開連接數據包為GTP數據包。在步驟920,根據該斷開連接數據包中的內容,判定出該數據包為GTP-C類型數據 包。在步驟930,對該GTP-C類型數據包進行解析,解析出該數據包的TEID_SG。在步驟940,以TEID_SG為關鍵字,查找該狀態(tài)HASH表中的相應節(jié)點2,同時得到 該節(jié)點2所包含的TEID_GS、IP_AddreSS,然后再刪除該節(jié)點2。在步驟950,以TEID_GS為關鍵字,查找該狀態(tài)HASH表中的相應節(jié)點1,然后刪除 該節(jié)點1。在步驟960,以IP_AddreSS為關鍵字,查找該用戶HASH表中的相應節(jié)點3,然后刪 除該節(jié)點3。顯而易見,在不偏離本發(fā)明的真實精神和范圍的前提下,在此描述的本發(fā)明可以 有許多變化。因此,所有對于本領域技術人員來說顯而易見的改變,都應包括在本權利要求 書所涵蓋的范圍之內。本發(fā)明所要求保護的范圍僅由所述的權利要求書進行限定。
9
權利要求
一種將流量與用戶信息關聯(lián)的方法,其特征在于,包括步驟a,接收控制類型數據包(GTP C數據包),并對該數據包進行解析;步驟b,將解析到的隧道號、狀態(tài)、手機IP地址、用戶信息中的一個或多個添加至所述狀態(tài)HASH表的節(jié)點中;其中,該狀態(tài)HASH表以隧道號(TEID)為關鍵字;步驟c,將所述狀態(tài)HASH表中該節(jié)點的手機IP地址、用戶信息添加至所述用戶HASH表的節(jié)點中;其中,該用戶HASH表以手機IP地址為關鍵字;步驟d,接收數據類型的數據包(GTP U數據包),并對該數據包進行解封裝,以得到該數據包所屬用戶的手機IP地址;步驟e,以該手機IP地址為關鍵字查找所述用戶HASH表,以獲得該數據包所屬用戶信息,從而使流量與用戶信息得以關聯(lián)。
2.如權利要求1所述的方法,其特征在于,所述步驟a之前包括接收數據包,并判定該 數據包是否為GTP數據包的步驟。
3.如權利要求1所述的方法,其特征在于,所述接收到的數據包為連接請求數據包; 則步驟a對該連接請求數據包進行解析,解析出該數據包的TEID_GS、該數據包所屬用戶信 息;其中,所述TEID_GS為從GGSN到SGSN的隧道號。
4.如權利要求1所述的方法,其特征在于,所述接收到的數據包為連接應答數據包;則 步驟a對該連接應答數據包進行解析,解析出該數據包的TEID_SG、TEID_GS、該數據包所屬 用戶信息、手機I P地址;其中,所述TEID_GS為從GGSN到SGSN的隧道號,TEID_SG為從 SGSN到GGSN的隧道號。
5.如權利要求1所述的方法,其特征在于,所述接收到的數據包為更新請求數據包,則 步驟a對該更新請求數據包進行解析,解析出該數據包的TEID_GS及該數據包所屬用戶的 最新用戶信息(Userjnfo)。
6.如權利要求5所述的方法,其特征在于,所述接收到的數據包為更新應答數據包,則 步驟a對該更新應答數據包進行解析,若解析出該更新應答數據包為同意更新,則刪除具 有舊用戶信息的節(jié)點,否則刪除該具有新用戶信息的節(jié)點。
7.如權利要求1所述的方法,其特征在于,所述接收到的數據包為斷開連接數據包;則 步驟a對該斷開連接數據包進行解析,解析出該數據包的TEID_SG ;其中,該TEID_SG為從 SGSN到GGSN的隧道號;然后以該TEID_SG為關鍵字,查找所述狀態(tài)HASH表中的節(jié)點,從而得到該節(jié)點所包含 的TEID_GS、手機IP地址,然后再刪除該節(jié)點;其中,該TEID_GS為從GGSN到SGSN的隧道 號;再以該TEID_GS為關鍵字,查找所述狀態(tài)HASH表中的節(jié)點,然后刪除該節(jié)點; 然后再以該手機IP地址為關鍵字,查找所述用戶HASH表中的節(jié)點,再刪除該節(jié)點。
8.如權利要求1所述的方法,其特征在于,所述狀態(tài)HASH表中節(jié)點所處位置,通過對所 述隧道號采用哈希算法而得到。
9.如權利要求1所述的方法,其特征在于,所述用戶HASH表中節(jié)點所處位置,通過對所 述手機IP地址采用哈希算法而得到。
10.一種在將流量與用戶信息關聯(lián)的設備,其特征在于,包括 接收控制類型數據包(GTP-C數據包),并對該數據包進行解析的模塊;將解析到的隧道號、狀態(tài)、手機IP地址、用戶信息中的一個或多個添加至所述狀態(tài) HASH表節(jié)點中的模塊;其中,該狀態(tài)HASH表以隧道號(TEID)為關鍵字;將所述狀態(tài)HASH表中該節(jié)點的手機IP地址、用戶信息添加至所述用戶HASH表節(jié)點中 的模塊;其中,該用戶HASH表以手機IP地址為關鍵字;接收數據類型的數據包(GTP-U數據包),并對該數據包進行解封裝,以得到該數據包 所屬用戶手機IP地址的模塊;以該手機IP地址為關鍵字查找所述用戶HASH表,以獲得該數據包所屬用戶信息,從而 使流量與用戶信息得以關聯(lián)的模塊。
11.如權利要求10所述的設備,其特征在于,該設備還包括判定其接收到的數據包是 否為GTP數據包的模塊。
全文摘要
本發(fā)明涉及一種GPRS網絡中流量同用戶信息關聯(lián)的方法及系統(tǒng)。本發(fā)明首先接收控制類型數據包,并對該數據包進行解析;然后將解析到的隧道號、狀態(tài)、手機IP地址、用戶信息中的一個或多個添加至所述狀態(tài)HASH表的節(jié)點中;然后再將所述狀態(tài)HASH表中該節(jié)點的手機IP地址、用戶信息添加至所述用戶HASH表的節(jié)點中;再接收數據類型的數據包,并對該數據包進行解封裝,以得到該數據包所屬用戶的手機IP地址;最后以該手機IP地址為關鍵字查找所述用戶HASH表,以獲得該數據包所屬用戶信息,從而使流量與用戶信息得以關聯(lián)。本發(fā)明能夠應用于需要獲取網絡流量和用戶關聯(lián)的系統(tǒng)中。
文檔編號H04W24/00GK101969654SQ201010289670
公開日2011年2月9日 申請日期2010年9月21日 優(yōu)先權日2010年9月21日
發(fā)明者劉怡臻, 劉鵬飛, 梁斌, 田禮軍 申請人:北京網康科技有限公司