一種應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng)及方法
【專利摘要】本發(fā)明提供一種應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng),主要包括控制面模塊與數(shù)據(jù)面模塊,控制面模塊實(shí)現(xiàn)過濾規(guī)則的插入或刪除,數(shù)據(jù)面模塊實(shí)現(xiàn)數(shù)據(jù)報(bào)文的解析、過濾規(guī)則的匹配以及轉(zhuǎn)發(fā)數(shù)據(jù)的功能,控制面模塊與數(shù)據(jù)面模塊通過共享內(nèi)存進(jìn)行交互,將規(guī)則的配置與規(guī)則的匹配分離開,實(shí)現(xiàn)靈活配置的需求;同時(shí)提供一種基于上述系統(tǒng)的數(shù)據(jù)過濾方法,使用哈希算法與位圖算法相結(jié)合,實(shí)現(xiàn)靈活插入或刪除匹配規(guī)則。本發(fā)明在信令監(jiān)測(cè)系統(tǒng)或者上網(wǎng)日志管理系統(tǒng)中,實(shí)現(xiàn)上網(wǎng)數(shù)據(jù)過濾功能,通過控制面與數(shù)據(jù)面兩個(gè)模塊,將配置規(guī)則與匹配規(guī)則分開處理,充分利用多核處理器性能,實(shí)現(xiàn)高性能的實(shí)時(shí)數(shù)據(jù)過濾。
【專利說明】一種應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng)及方法,屬于移動(dòng)互聯(lián)網(wǎng)PS分組域數(shù)據(jù)領(lǐng)域,更具體的說,是涉及一種移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著寬帶無線接入技術(shù)和移動(dòng)終端技術(shù)的飛速發(fā)展,人們迫切希望能夠隨時(shí)隨地乃至在移動(dòng)過程中都能方便地從互聯(lián)網(wǎng)獲取信息和服務(wù),移動(dòng)互聯(lián)網(wǎng)應(yīng)運(yùn)而生并迅猛發(fā)展。電信運(yùn)營(yíng)商們通過不斷提高或新建傳輸網(wǎng)絡(luò)(2G/3G/LTE)來滿足越來越多的用戶需求;同時(shí)為了提供更好的服務(wù),通常會(huì)建立信令監(jiān)測(cè)系統(tǒng)或者上網(wǎng)日志管理系統(tǒng),用于跟蹤特定的小區(qū)、設(shè)備、用戶、業(yè)務(wù)類型(如:即時(shí)通信、視頻播放/下載等)的流量以及分析用戶行為,為業(yè)務(wù)質(zhì)量監(jiān)測(cè)、優(yōu)化和分析提供高效、及時(shí)的支撐手段,為移動(dòng)網(wǎng)絡(luò)運(yùn)行的穩(wěn)定性和安全性提供保障。
[0003]現(xiàn)有的系統(tǒng),為了滿足跟蹤過濾的需求,通常需要先將所有用戶的上網(wǎng)數(shù)據(jù),以及根據(jù)上網(wǎng)數(shù)據(jù)生成的CDR記錄,保存到服務(wù)器的磁盤陣列上,然后根據(jù)界面下發(fā)的條件,過濾出滿足條件的數(shù)據(jù)以及CDR記錄。但是由于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)量日益增長(zhǎng)(大數(shù)據(jù)時(shí)代的到來),按照現(xiàn)有系統(tǒng)需要的存儲(chǔ)設(shè)備越來越多,過濾的性能也成為了該系統(tǒng)的瓶頸。因此需要提供一種高性能的實(shí)時(shí)數(shù)據(jù)過濾方法,滿足移動(dòng)互聯(lián)網(wǎng)大數(shù)據(jù)處理的要求。
【發(fā)明內(nèi)容】
[0004]現(xiàn)有的系統(tǒng),為了保存所有用戶的上網(wǎng)數(shù)據(jù)以及CDR記錄,需要浪費(fèi)大量的存儲(chǔ)設(shè)備,這是極其消耗資源。而且隨著移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)量的日益增長(zhǎng),就需要不斷擴(kuò)大存儲(chǔ)設(shè)備,這也就增加了運(yùn)營(yíng)商的成本。
[0005]另外,從這些大量的用戶數(shù)據(jù)中過濾出特定條件(小區(qū)、設(shè)備、用戶、指定業(yè)務(wù))的數(shù)據(jù),消耗的時(shí)間比較長(zhǎng),不能滿足實(shí)時(shí)性的要求。
[0006]本發(fā)明就是要提供一種具有實(shí)時(shí)性、靈活配置的數(shù)據(jù)過濾系統(tǒng)及方法,該系統(tǒng)可以根據(jù)配置的過濾規(guī)則,實(shí)時(shí)輸出過濾規(guī)則的用戶上網(wǎng)數(shù)據(jù)或者CDR。具體而言:
[0007]本發(fā)明提供一種應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng),主要包括控制面模塊與數(shù)據(jù)面模塊,其特征在于:控制面模塊實(shí)現(xiàn)過濾規(guī)則的插入或刪除,數(shù)據(jù)面模塊實(shí)現(xiàn)數(shù)據(jù)報(bào)文的解析、過濾規(guī)則的匹配以及轉(zhuǎn)發(fā)數(shù)據(jù)的功能,控制面模塊與數(shù)據(jù)面模塊通過共享內(nèi)存進(jìn)行交互,將規(guī)則的配置與規(guī)則的匹配分離開,實(shí)現(xiàn)靈活配置的需求。
[0008]所述數(shù)據(jù)過濾系統(tǒng)采用多核的方式,其中控制面模塊占用I個(gè)處理核,數(shù)據(jù)面模塊使用剩余的所有處理核。
[0009]所述過濾規(guī)則分為三種:用戶身份規(guī)則、設(shè)備規(guī)則及業(yè)務(wù)規(guī)則。
[0010]所述用戶身份規(guī)則包括用戶的上網(wǎng)IP地址(USER_IP)、用戶的國際移動(dòng)用戶身份識(shí)別碼(MSI)、用戶的手機(jī)號(hào)碼(MSISDN)、用戶的小區(qū)位置(CELL_ID)。
[0011]所述設(shè)備規(guī)則包括設(shè)備的源IP地址(SRC_IP)、設(shè)備的目的IP地址(DST_IP);其中設(shè)備可以是PS域GN接口,核心網(wǎng)的SGSN設(shè)備、或者GGSN設(shè)備。
[0012]所述業(yè)務(wù)規(guī)則指用戶上網(wǎng)訪問的業(yè)務(wù)(SERVICE_TYPE),可以是QQ、微信、MSN、QQ視頻或P2P下載。
[0013]一條過濾規(guī)則至少包含上述三種規(guī)則的一種。
[0014]本發(fā)明還提供一種應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng)的數(shù)據(jù)過濾方法,包括以下步驟:
[0015](I)配置過濾規(guī)則,解析規(guī)則的內(nèi)容,每一條規(guī)則單獨(dú)生成哈希,在每一條規(guī)則對(duì)應(yīng)的哈希表中建立條件與該規(guī)則RULE_ID的映射關(guān)系,哈希表的沖突通過鏈表解決,而對(duì)于某一個(gè)條件值在多條規(guī)則中出現(xiàn)的情況,采用位圖算法解決;
[0016](2)解析上網(wǎng)數(shù)據(jù)報(bào)文,提取關(guān)鍵字;將關(guān)鍵字生成哈希,查找對(duì)應(yīng)關(guān)鍵字的哈希表,得到該條件查找的結(jié)果;
[0017](3)所有的關(guān)鍵字查找完成后,得到多個(gè)RULE_ID位圖,將所有的RULE_ID位圖做與運(yùn)算,得到整個(gè)數(shù)據(jù)包匹配的最終結(jié)果;
[0018](4)確定最終匹配的規(guī)則后,按照該條過濾規(guī)則的要求輸出對(duì)應(yīng)的數(shù)據(jù)報(bào)文或者CDR。
[0019]所述哈希表使用共享內(nèi)存來存儲(chǔ)。
[0020]本發(fā)明通過控制面與數(shù)據(jù)面兩個(gè)模塊,將配置規(guī)則與匹配規(guī)則分開處理,充分利用多核處理器性能,實(shí)現(xiàn)高性能的實(shí)時(shí)數(shù)據(jù)過濾。將用戶規(guī)則、設(shè)備規(guī)則以及業(yè)務(wù)類型規(guī)則相結(jié)合,提供了更加深入、精確的數(shù)據(jù)過濾功能。
【專利附圖】
【附圖說明】
[0021]圖1是系統(tǒng)結(jié)構(gòu)圖。
[0022]圖2是哈希結(jié)點(diǎn)位圖配置示意圖。
[0023]圖3是關(guān)鍵字查找方法圖。
[0024]圖4是根據(jù)查找結(jié)果得到最終結(jié)果示意圖。
【具體實(shí)施方式】
[0025]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)描述。
[0026]本發(fā)明采用如圖1所示的系統(tǒng)結(jié)構(gòu),主要包括兩大部分:控制面模塊與數(shù)據(jù)面模塊,其中控制面模塊實(shí)現(xiàn)過濾規(guī)則的插入或刪除,數(shù)據(jù)面模塊實(shí)現(xiàn)數(shù)據(jù)報(bào)文的解析、過濾規(guī)則的匹配以及轉(zhuǎn)發(fā)數(shù)據(jù)的功能。控制面模塊與數(shù)據(jù)面模塊通過共享內(nèi)存進(jìn)行交互,將規(guī)則的配置與規(guī)則的匹配分離開,實(shí)現(xiàn)靈活配置的需求。為了滿足高性能的要求,采用多核的方式,其中控制面模塊占用I個(gè)處理核,數(shù)據(jù)面模塊使用剩余的所有處理核(可以根據(jù)接入流量的大小進(jìn)行配置)。移動(dòng)互聯(lián)網(wǎng)的上網(wǎng)數(shù)據(jù)通過千兆或者萬兆模塊接入,數(shù)據(jù)面模塊進(jìn)行報(bào)文解析和處理,提取出過濾規(guī)則需要的關(guān)鍵字段,將滿足過濾規(guī)則的數(shù)據(jù)轉(zhuǎn)發(fā)出去。
[0027]本發(fā)明中,一條過濾規(guī)則分為三種:用戶身份規(guī)則、設(shè)備規(guī)則及業(yè)務(wù)規(guī)則,具體如下:
[0028]用戶身份規(guī)則包括用戶的上網(wǎng)IP地址(USER_IP)、用戶的國際移動(dòng)用戶身份識(shí)別碼(MSI)、用戶的手機(jī)號(hào)碼(MSISDN)、用戶的小區(qū)位置(CELL_ID);[0029]設(shè)備規(guī)則包括設(shè)備的源IP地址(SRC_IP)、設(shè)備的目的IP地址(DST_IP);其中設(shè)備可以是PS域GN接口,核心網(wǎng)的SGSN設(shè)備、或者GGSN設(shè)備;
[0030]業(yè)務(wù)規(guī)則指用戶上網(wǎng)訪問的業(yè)務(wù)(SERVICE_TYPE),如QQ、微信、MSN、QQ視頻,P2P下載等;
[0031]控制面配置過濾規(guī)則時(shí),三種規(guī)則都需要支持,本發(fā)明中采用“與”邏輯方式,即一條規(guī)則中配置了三種規(guī)則,則需要同時(shí)都滿足三種規(guī)則,才確定匹配這一條規(guī)則;一條過濾規(guī)則至少包含上述三種規(guī)則的一種;一條過濾規(guī)則分配一個(gè)唯一的RULE_ID。
[0032]一條過濾規(guī)則的配置格式如下:
[0033]insert rule USER_IP<value>IMSI<value>MSISDN<value>CELL_ID<value>SRC_IP<value>DST_IP<value>SERVICE_TYPE<value>
[0034]本發(fā)明采用如下處理流程:
[0035]首先配置過濾規(guī)則,控制面模塊負(fù)責(zé)解析規(guī)則的內(nèi)容,其解析的規(guī)則通過控制面的命令行輸入,控制面提供了用戶交互機(jī)制,允許用戶輸入命令,從而配置規(guī)則,每一個(gè)條件(USER_IP/MSI/MSISDN/CELL_ID/SRC_IP/DST_IP/SERVICE_TYPE)單獨(dú)生成哈希,在每一個(gè)條件對(duì)應(yīng)的哈希表中建立條件與RULE_ID的映射關(guān)系,哈希表的沖突通過鏈表解決,具體而言,就是哈希算法,使用關(guān)鍵字段(USER_IP/MSI/MSISDN/CELL_ID/SRC_IP/DST_IP/SERVICE_TYPE)的值,生成哈希值(一種簡(jiǎn)單的生成哈希值的算法即求余:關(guān)鍵字%哈希表最大值),新建結(jié)點(diǎn),保存rule_id的值。而對(duì)于關(guān)鍵字段值相同出現(xiàn)在多條規(guī)則的情況,使用后面敘述的位圖解決。而對(duì)于某一個(gè)條件值在多條規(guī)則(RULE_ID不同)中出現(xiàn)的情況,本發(fā)明中采用位圖(bitmap)算法解決,具體如下所述。
[0036]在每一個(gè)哈希結(jié)點(diǎn)中,如圖2所示(圖中X是指USER_IP/MSI/MSISDN/CELL_ID/SRC_IP/DST_IP/SERVICE_TYPE),保存一個(gè) RULE_ID 的位圖(每一個(gè) bit 位表示對(duì)應(yīng)的 RULE_ID,bitO對(duì)應(yīng)的是RULE_ID=0,bitN對(duì)應(yīng)的是RULE_ID=N)。通過條件查找到對(duì)應(yīng)哈希結(jié)點(diǎn),在哈希結(jié)點(diǎn)的RULE_ID位圖對(duì)應(yīng)bit位置1,比如RULE_ID=1,則位圖的bitl置I。如果某個(gè)條件沒有配置(如沒有配置USER_IP〈value>),則設(shè)置USER_IP條件的默認(rèn)RULE_ID位圖的對(duì)應(yīng)bit位,該bit位置為I。
[0037]哈希表使用共享內(nèi)存來存儲(chǔ),主要目的是把規(guī)則的解析與規(guī)則的匹配分離,控制面完成解析規(guī)則,生成規(guī)則哈希表映射后,數(shù)據(jù)面就只需要訪問哈希表完成規(guī)則匹配。
[0038]2)數(shù)據(jù)面模塊,解析上網(wǎng)數(shù)據(jù)報(bào)文,提取關(guān)鍵字(包括USER_IP/MSI/MSISDN/CELL_ID/SRC_IP/DST_IP/SERVICE_TYPE),其中頂SI/MSISDN/CELL_ID 需要接入 PS 域信令數(shù)據(jù),通過信令數(shù)據(jù)與上網(wǎng)業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)得到,SERVICE_TYPE需要根據(jù)業(yè)務(wù)識(shí)別模塊獲取,而USER_IP/SRC_IP/DST_IP可以直接從報(bào)文中提取。
[0039]關(guān)鍵字提取完成后,使用關(guān)鍵字生成哈希,查找對(duì)應(yīng)關(guān)鍵字的哈希表,如果找到結(jié)點(diǎn),則將該哈希結(jié)點(diǎn)RULE_ID位圖,與該條件的默認(rèn)RULE_ID位圖做或運(yùn)算,得到該條件查找的結(jié)果;如果沒有找到結(jié)點(diǎn),則記錄該條件的默認(rèn)RULE_ID位圖,作為該條件查找的結(jié)果。如圖3所示。
[0040]如圖4所示,所有的關(guān)鍵字查找完成后,得到多個(gè)RULE_ID位圖,將所有的RULE_ID位圖做與運(yùn)算,得到整個(gè)數(shù)據(jù)包匹配的最終結(jié)果。
[0041]匹配的最終RULE_ID位圖,可能有多個(gè)bit位值為1,本發(fā)明按照RULE_ID的大小順序作為優(yōu)先級(jí),從RULE_ID位圖中選擇第一個(gè)對(duì)應(yīng)bit位為I的RULE_ID (如8bit(bit0-bit7)值為00101001,按照網(wǎng)絡(luò)順序從左到右,bit2是第一個(gè)為I的位,則最終匹配的RULE_ID就是2,作為最終匹配規(guī)則。
[0042]確定最終匹配的規(guī)則后,按照該條過濾規(guī)則的要求輸出對(duì)應(yīng)的數(shù)據(jù)報(bào)文或者CDR。
[0043]本發(fā)明技術(shù)方案帶來的有益效果有:在信令監(jiān)測(cè)系統(tǒng)或者上網(wǎng)日志管理系統(tǒng)中,實(shí)現(xiàn)上網(wǎng)數(shù)據(jù)過濾功能,通過控制面與數(shù)據(jù)面兩個(gè)模塊,將配置規(guī)則與匹配規(guī)則分開處理,充分利用多核處理器性能,實(shí)現(xiàn)高性能的實(shí)時(shí)數(shù)據(jù)過濾。將用戶規(guī)則、設(shè)備規(guī)則以及業(yè)務(wù)類型規(guī)則相結(jié)合,提供了更加深入、精確的數(shù)據(jù)過濾功能。
【權(quán)利要求】
1.一種應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng),主要包括控制面模塊與數(shù)據(jù)面模塊,其特征在于:控制面模塊實(shí)現(xiàn)過濾規(guī)則的插入或刪除,數(shù)據(jù)面模塊實(shí)現(xiàn)數(shù)據(jù)報(bào)文的解析、過濾規(guī)則的匹配以及轉(zhuǎn)發(fā)數(shù)據(jù)的功能,控制面模塊與數(shù)據(jù)面模塊通過共享內(nèi)存進(jìn)行交互,將規(guī)則的配置與規(guī)則的匹配分離開,實(shí)現(xiàn)靈活配置的需求。
2.如權(quán)利要求1所述的應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng),其特征在于:所述數(shù)據(jù)過濾系統(tǒng)采用多處理核的方式,其中控制面模塊占用I個(gè)處理核,數(shù)據(jù)面模塊使用剩余的所有處理核。
3.如權(quán)利要求1或2所述的應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng),其特征在于:所述過濾規(guī)則分為三種:用戶身份規(guī)則、設(shè)備規(guī)則及業(yè)務(wù)規(guī)則。
4.如權(quán)利要求3所述的應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng),其特征在于:所述用戶身份規(guī)則包括用戶的上網(wǎng)IP地址(USER_IP)、用戶的國際移動(dòng)用戶身份識(shí)別碼(MSI)、用戶的手機(jī)號(hào)碼(MSISDN)、用戶的小區(qū)位置(CELL_ID)。
5.如權(quán)利要求3所述的應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng),其特征在于:所述設(shè)備規(guī)則包括設(shè)備的源IP地址(SRC_IP)、設(shè)備的目的IP地址(DST_IP),其中設(shè)備是PS域GN接口、核心網(wǎng)的SGSN設(shè)備、或者GGSN設(shè)備。
6.如權(quán)利要求3所述的應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng),其特征在于:所述業(yè)務(wù)規(guī)則指用戶上網(wǎng)訪問的業(yè)務(wù)(SERVICE_TYPE),可以是QQ、微信、MSN、QQ視頻或P2P下載。
7.如權(quán)利要求3所述的應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng),其特征在于:一條過濾規(guī)則至少包含用戶身份規(guī)則、設(shè)備規(guī)則及業(yè)務(wù)規(guī)則中的一種。
8.—種如權(quán)利要求1-7所述的應(yīng)用于移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)過濾系統(tǒng)的數(shù)據(jù)過濾方法,其特征在于:所述方法包括以下步驟: (1)配置過濾規(guī)則,解析規(guī)則的內(nèi)容,每一條規(guī)則單獨(dú)生成哈希,在每一條規(guī)則對(duì)應(yīng)的哈希表中建立條件與該規(guī)則RULE_ID的映射關(guān)系,哈希表的沖突通過鏈表解決,而對(duì)于某一個(gè)條件值在多條規(guī)則中出現(xiàn)的情況,采用位圖算法解決; (2)解析上網(wǎng)數(shù)據(jù)報(bào)文,提取關(guān)鍵字;將關(guān)鍵字生成哈希,查找對(duì)應(yīng)關(guān)鍵字的哈希表,得到該條件查找的結(jié)果; (3)所有的關(guān)鍵字查找完成后,得到多個(gè)RULE_ID位圖,將所有的RULE_ID位圖做與運(yùn)算,得到整個(gè)數(shù)據(jù)包匹配的最終結(jié)果; (4)確定最終匹配的規(guī)則后,按照該條過濾規(guī)則的要求輸出對(duì)應(yīng)的數(shù)據(jù)報(bào)文或者CDR。
9.如權(quán)利要求8所述的數(shù)據(jù)過濾方法,其特征在于:對(duì)于某一個(gè)條件值在多條規(guī)則中出現(xiàn)的情況,采用位圖算法解決,具體為:在每一個(gè)哈希結(jié)點(diǎn)中,保存一個(gè)RULE_ID的位圖,通過條件查找到對(duì)應(yīng)哈希結(jié)點(diǎn),在哈希結(jié)點(diǎn)的RULE_ID位圖對(duì)應(yīng)bit位置I ;如果某個(gè)條件沒有配置,則設(shè)置USER_IP條件的默認(rèn)RULE_ID位圖的對(duì)應(yīng)bit位,該bit位置為I。
10.如權(quán)利要求8所述的數(shù)據(jù)過濾方法,其特征在于:所述哈希表使用共享內(nèi)存來存儲(chǔ),把規(guī)則的解析與規(guī)則的匹配分離。
【文檔編號(hào)】H04L29/06GK103618733SQ201310656148
【公開日】2014年3月5日 申請(qǐng)日期:2013年12月6日 優(yōu)先權(quán)日:2013年12月6日
【發(fā)明者】張敏 申請(qǐng)人:北京中創(chuàng)信測(cè)科技股份有限公司