專利名稱::一種骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集方法和系統(tǒng)的制作方法
技術領域:
:本發(fā)明涉及網(wǎng)絡技術,尤其涉及一種骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集方法和系統(tǒng)。
背景技術:
:基于統(tǒng)計、應用等各個方面的需求,需要在例如電信運營商骨干網(wǎng)絡的傳輸鏈路上對互聯(lián)網(wǎng)用戶的網(wǎng)上行為活動數(shù)據(jù)進行全面的采集和獲取。通常來說,電信運營商骨干網(wǎng)絡大多采用萬兆帶寬(即IOGbps)網(wǎng)絡傳輸鏈路,如何從電信運營商骨干網(wǎng)絡傳輸鏈路中迅速實時地獲得到網(wǎng)絡用戶上網(wǎng)行為數(shù)據(jù),從技術上存在很大的挑戰(zhàn)和困難。目前業(yè)界還沒有基于電信運營商骨干網(wǎng)絡層面的用戶上網(wǎng)行為數(shù)據(jù)采集解決方案。本申請人在申請?zhí)枮?00910143895.3的申請中,提供了一種媒體技術平臺(MediaTechnologyPlatform,以下簡稱MTP)。MTP是一個基于互聯(lián)網(wǎng)寬帶用戶上網(wǎng)行為的為互聯(lián)網(wǎng)網(wǎng)站提供根據(jù)用戶偏好進行內(nèi)容定制的智能化信息服務技術平臺。MTP需要獲得電信運營商中心的所有互聯(lián)網(wǎng)寬帶用戶的全部網(wǎng)上行為活動數(shù)據(jù),為互聯(lián)網(wǎng)網(wǎng)站提供根據(jù)用戶偏好進行內(nèi)容定制的智能化信息服務。由于電信運營商骨干網(wǎng)絡大多采用萬兆帶寬網(wǎng)絡傳輸鏈路,即lOGbps,因此MTP數(shù)據(jù)采集子系統(tǒng)需要能夠直接從萬兆鏈路中獲取真實的用戶上網(wǎng)行為數(shù)據(jù)并提供給數(shù)據(jù)分析子系統(tǒng)。MTP數(shù)據(jù)采集子系統(tǒng)需要解決的問題是如何從電信運營商省級中心的萬兆網(wǎng)絡傳輸鏈路中實時地獲得到寬帶用戶上網(wǎng)行為數(shù)據(jù),以供MTP的數(shù)據(jù)分析及數(shù)據(jù)驅(qū)動子系統(tǒng)使用。
發(fā)明內(nèi)容本發(fā)明要解決的一個技術問題是提供一種骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集方法,能夠?qū)崿F(xiàn)對骨干網(wǎng)絡鏈路中用戶上網(wǎng)數(shù)據(jù)的采集,效率高。根據(jù)本發(fā)明的一個方面,提供一種骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集方法,包括捕獲骨干網(wǎng)鏈路中包含HTTP請求報文的數(shù)據(jù)包采用并行處理從數(shù)據(jù)包中根據(jù)HTTP協(xié)議解析提取用戶訪問的網(wǎng)站頁面URL、以及反映用戶上網(wǎng)行為的HTTP字段信息;根據(jù)URL模式特征樹過網(wǎng)站頁面URL進行過濾,獲得需要抓取頁面內(nèi)容的網(wǎng)站頁面URL;以異步方式抓取所述過濾后的網(wǎng)站頁面URL的頁面內(nèi)容。根據(jù)本發(fā)明的方法的一個實施例,該用戶上網(wǎng)行為數(shù)據(jù)采集方法還包括步驟采用基于狀態(tài)機的多模匹配方法將網(wǎng)站頁面URL與過濾規(guī)則進行比較,以過濾掉不需要抓取的網(wǎng)站頁面URL。根據(jù)本發(fā)明的方法的一個實施例,根據(jù)URL模式特征樹對網(wǎng)站頁面URL進行過濾的步驟包括將網(wǎng)站頁面URL與非主頁面URL模式特征樹和已抓取過的URL模式特征樹索引表進行比較,過濾掉不需要抓取的網(wǎng)站頁面URL。根據(jù)本發(fā)明的方法的一個實施例,該用戶上網(wǎng)行為數(shù)據(jù)采集方法還包括步驟將URL頁面內(nèi)容的可獲取狀態(tài)實時動態(tài)地反饋回URL模式特征樹。根據(jù)本發(fā)明的方法的一個實施例,還包括步驟從數(shù)據(jù)包中根據(jù)TCP/IP協(xié)議解析提取用戶的IP地址;根據(jù)用戶IP地址查詢數(shù)據(jù)庫中用戶IP-UserID映射服務,以獲得用戶的UserlD。本發(fā)明提供的骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集方法,從骨干網(wǎng)鏈路中捕獲數(shù)據(jù)包,從數(shù)據(jù)包中解析獲得URL地址,對獲得的URL地址進行根據(jù)URL模式特征樹進行過濾,對過濾后的URL進行頁面內(nèi)容抓取,大大提高了對URL頁面內(nèi)容抓取的速度,滿足了在骨干網(wǎng)絡中提取大量用戶訪問頁面的內(nèi)容提取要求。對URL進行過濾,可以剔除大量的不需要抓取內(nèi)容的URL,大大提高了處理效率。本發(fā)明要解決的一個技術問題是提供一種骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng),能夠?qū)崿F(xiàn)對骨干網(wǎng)絡鏈路中用戶上網(wǎng)數(shù)據(jù)的采集,效率高。根據(jù)本發(fā)明的另一方面,提供一種用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng),包括數(shù)據(jù)包捕獲設備,用于捕獲骨干網(wǎng)鏈路中包含HTTP請求報文的數(shù)據(jù)包;URL提取設備,用于從數(shù)據(jù)包中根據(jù)HTTP協(xié)議解析提取用戶訪問的網(wǎng)站頁面URL、以及反映用戶上網(wǎng)行為的HTTP字段信息;URL過濾設備,用于根據(jù)URL模式特征樹對提取的網(wǎng)站頁面URL進行過濾,獲得需要抓取面內(nèi)容的網(wǎng)站頁面URL;頁面內(nèi)容抓取設備,用于準實時地抓取所述過濾后的網(wǎng)站頁面URL的頁面內(nèi)容。根據(jù)本發(fā)明的系統(tǒng)的一個實施例,該系統(tǒng)還包括經(jīng)驗規(guī)則過濾設備,用于采用基于狀態(tài)機的多模匹配方法將網(wǎng)站頁面URL與經(jīng)驗規(guī)則表中的過濾規(guī)則進行比較,以過濾掉不需要抓取的網(wǎng)站頁面URL。根據(jù)本發(fā)明的系統(tǒng)的一個實施例,URL過濾設備將網(wǎng)站頁面URL與非主頁面URL模式特征樹和已抓取過的URL模式特征樹索引表做比較,過濾掉不需要抓取的網(wǎng)站頁面URL。根據(jù)本發(fā)明的系統(tǒng)的一個實施例,該系統(tǒng)還包括特征樹反饋設備,用于將URL頁面內(nèi)容的可獲取狀態(tài)實時動態(tài)地反饋到URL模式特征樹。根據(jù)本發(fā)明的系統(tǒng)的一個實施例,該系統(tǒng)還包括用戶ID獲取設備,用于從數(shù)據(jù)鏈路幀中根據(jù)TCP/IP協(xié)議解析提取用戶的IP地址,根據(jù)用戶IP地址查詢數(shù)據(jù)庫中用戶IP-UserID映射服務獲得用戶的UserlD。本發(fā)明提供的骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng),通過數(shù)據(jù)包捕獲設備從骨干網(wǎng)鏈路中捕獲數(shù)據(jù)包,通過URL提取設備從數(shù)據(jù)包中解析獲得URL地址,通過URL過濾設備對獲得的URL地址進行根據(jù)URL模式特征樹進行過濾,通過頁面內(nèi)容抓取設備對過濾后的URL進行頁面內(nèi)容抓取,大大提高了對URL頁面內(nèi)容抓取的速度,滿足了在骨干網(wǎng)絡中提取大量用戶訪問頁面的內(nèi)容提取要求。對URL進行過濾,可以剔除大量的不需要抓取內(nèi)容的URL,大大提高了處理效率。圖1示出本發(fā)明的骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集方法的一個實施例的流程圖;圖2示出本發(fā)明的一個URL模式特征樹的圖示;圖3示出本發(fā)明的骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集方法的另一個實施例的流程圖;圖4示出Lucene的索引文件的概念結(jié)構(gòu);圖5示出本發(fā)明的Lucene的索引文件結(jié)構(gòu);圖6示出本發(fā)明的實施例中網(wǎng)站頁面URL過濾和抓取的圖示;圖7示出本發(fā)明的骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集方法的另一個實施例的圖示;圖8示出本發(fā)明的用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng)的一個實施例的結(jié)構(gòu)圖;圖9示出本發(fā)明的用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng)的另一個實施例的結(jié)構(gòu)圖;圖10示出本發(fā)明的用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng)的又一個實施例的結(jié)構(gòu)圖。具體實施例方式下面參照附圖對本發(fā)明進行更全面的描述,其中說明本發(fā)明的示例性實施例。圖1示出本發(fā)明的骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集方法的一個實施例的流程圖。如圖1所示,在步驟102,捕獲骨干網(wǎng)鏈路中包含HTTP(HypertextTransferProtocol,超文本傳輸協(xié)議)請求報文的數(shù)據(jù)包。例如,在低速骨干網(wǎng)網(wǎng)絡鏈路上可以采用系統(tǒng)中斷方式從網(wǎng)卡設備中獲得串行網(wǎng)絡鏈路幀數(shù)據(jù)流,在高速骨干網(wǎng)網(wǎng)絡鏈路上可以采用軟件輪詢方式從網(wǎng)卡設備中獲得高速串行網(wǎng)絡鏈路幀數(shù)據(jù)流,以DMA(DirectMemoryAccess,肓接內(nèi)存訪問)方式將網(wǎng)絡鏈路幀數(shù)據(jù)存儲到多個內(nèi)存緩存區(qū)內(nèi)。在步驟104,從數(shù)據(jù)包中根據(jù)HTTP協(xié)議解析提取用戶訪問的網(wǎng)站頁面URL(UniformResourceLocator,統(tǒng)一資源定位符)、以及反映用戶上網(wǎng)行為的HTTP字段信息。采用并行化方法處理捕獲到的包含HTTP請求的數(shù)據(jù)幀,例如采用多線程方式并行處理數(shù)據(jù)幀,解析HTTP協(xié)議,提取出用戶所訪問的網(wǎng)站頁面URL地址、用戶在該網(wǎng)站上的HTTPCookie、本次用戶訪問的Referrer等信息。在一個實施例中,還從捕獲的數(shù)據(jù)包中解析TCP/IP協(xié)議提取用戶的IPdnternetProtocol,因特網(wǎng)協(xié)議)地址、用戶訪問的網(wǎng)站IP地址、和訪問時間;根據(jù)用戶IP地址查詢基于例如電信運營商RADIUS(RemoteAuthenticationDialInUserService,遠程用戶撥號認證系統(tǒng))數(shù)據(jù)庫的用戶IP-UserID(用戶標識)映射服務,以獲得用戶的UserlD。在步驟106,根據(jù)URL模式特征樹對網(wǎng)站頁面URL進行過濾,獲得需要抓取頁面內(nèi)容的網(wǎng)站頁面URL。URL模式特征樹根據(jù)網(wǎng)站頁面URL的結(jié)構(gòu)特征構(gòu)建,以反映URL的層級屬性關系。例如,將網(wǎng)站頁面的URL與分布式的非主頁面URL模式特征樹和/或已抓取過的URL模式特征樹做比較,快速過濾掉不需要抓取的網(wǎng)站頁面的URL。稍后將對URL模式特征樹進行介紹和說明。在步驟108,以異步方式抓取過濾后的網(wǎng)站頁面URL的頁面內(nèi)容。例如,實時獲取網(wǎng)站頁面URL,采用異步方式抓取頁面內(nèi)容,并以分布式方法解析頁面內(nèi)容,提取出頁面包含的文本信息,實現(xiàn)準實時地抓取URL頁面內(nèi)容。下面對URL模式特征樹進行介紹。字符串模式是指對一個具有特定順序的字符序列(即字符串)的命名,通??梢杂迷撟址鳛槠淠J矫Q。URL模式就是指該URL的字符序列。URL模式特征樹是將若干URL字符串按照它們的字符序列組織成一個樹型結(jié)構(gòu)。舉一個URL模式特征樹的簡單例子,根據(jù)URL字符串baidu、gaogle、和sioa可構(gòu)建的URL模式特征樹如圖2所示。在圖2中,URL模式特征樹中的每個節(jié)點結(jié)構(gòu)包括標簽(label)、深度(cbpth)、字符(ch)、孩子節(jié)點(Pattern_Tree_Node_childs)、孩子節(jié)點個數(shù)(nchild)等域;其中標簽表示這個節(jié)點在哪個模式串中,深度表示該節(jié)點在樹中深度;字符表示該節(jié)點的實際字符,孩子節(jié)點表示256個子孩子節(jié)點(ASCII碼0),孩子節(jié)點個數(shù)表示孩子節(jié)點中的孩子節(jié)點的個數(shù)。根據(jù)垃圾URL模式構(gòu)建非主頁面URL模式特征樹,根據(jù)已經(jīng)抓取過的URL模式構(gòu)建已抓取過的URL模式特征樹。在上述實施例中,從骨干網(wǎng)鏈路中捕獲數(shù)據(jù)包,從數(shù)據(jù)包中解析獲得URL地址,對獲得的URL地址進行根據(jù)URL模式特征樹進行過濾,對過濾后的URL進行頁面內(nèi)容抓取,大大提高了對URL頁面內(nèi)容抓取的速度,滿足了在骨干網(wǎng)絡中提取大量用戶訪問頁面的內(nèi)容提取要求。對于骨干網(wǎng)絡捕獲的數(shù)據(jù)包,分配到多個緩沖區(qū)中并行處理,提高了處理的速度和效率。而對URL進行過濾,可以剔除大量的不需要抓取內(nèi)容的URL,大大提高了后續(xù)處理效率。采用異步方式抓取頁面內(nèi)容,并以分布式方法解析頁面內(nèi)容,可以做到頁面內(nèi)容抓取的準實時性。圖3示出本發(fā)明的骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集方法的另一個實施例的流程圖。如圖3所示,在步驟302,在高速網(wǎng)絡鏈路上采用軟件輪詢方式從網(wǎng)卡設備中獲得高速串行網(wǎng)絡鏈路幀數(shù)據(jù)流。在步驟304,例如以DMA方式將高速串行網(wǎng)絡鏈路幀數(shù)據(jù)存儲到多個內(nèi)存緩存區(qū)內(nèi)。在步驟306,采用多線程方式并行處理各個內(nèi)存緩沖區(qū)內(nèi)的數(shù)據(jù)幀,解析獲得用戶IP地址和網(wǎng)站頁面URL。例如,解析TCP/IP協(xié)議,提取出用戶的IP地址、用戶訪問的網(wǎng)站IP地址、和訪問時間;解析HTTP協(xié)議,提取出用戶所訪問的網(wǎng)站頁面URL地址、用戶在該網(wǎng)站上的HTTPCookie、本次用戶訪問的Referrer等信息。在步驟308,根據(jù)用戶IP地址查詢基于MTP基于電信運營商RADIUS數(shù)據(jù)庫的用戶IP-UserID映射服務,以獲得用戶的UserlD。在步驟310,采用基于狀態(tài)機的多模匹配方法將需要過濾的URL與經(jīng)驗規(guī)則列表中的所有過濾規(guī)則做一次性比較,快速過濾掉不需要抓取的URL。一個基于狀態(tài)機的多模式匹配方法的例子是AC-BM(Aho_Corasick-Boyer-Moore算法的縮寫),下面將對AC-BM進行更具體的介紹。在步驟312,將需要過濾的URL與分布式的非主頁面URL模式特征樹索引表和已抓取過的URL模式特征樹索引表做比較,快速過濾掉不需要抓取的URL。非主頁面URL模式特征樹用于判斷一個URL判斷是不是垃圾URL,如果是,則不需要對其頁面內(nèi)容進行抓取,如果不是,則通過已抓取過的URL特征樹索引表來判斷該URL是已經(jīng)被抓取還是沒有被抓取,如果是已經(jīng)抓取,則把這URL對應的頁面信息關聯(lián)起來并保存,不需要提供給后面的頁面抓取模塊,如果沒有被抓取,則提供給后面的頁面抓取模塊進行頁面內(nèi)容的抓取。URL模式特征樹索引表與URL模式特征樹的功能相似,但是由于已抓取過的URL數(shù)量巨大,通常不會以URL模式特征樹的方式在內(nèi)存中建立龐大的樹型結(jié)構(gòu),而是在外部存儲上以文件索引形式來實現(xiàn)。下面將結(jié)合圖4和圖5介紹URL模式特征樹索引表的具體實現(xiàn)。在步驟314,頁面抓取程序采用非阻塞方式發(fā)送網(wǎng)站頁面URL后立即返回,然后以異步I/O方式等待網(wǎng)站相應并獲得相應頁面內(nèi)容。此外,對所發(fā)送的頁面URL的DNS解析結(jié)果進行緩存,以供重復使用。需要指出,步驟308、310和312之間的順序關系并不限定為上述實施例所示,可以根據(jù)需要進行調(diào)整。下面對AM-BM進行介紹。在本發(fā)明中的實施例中,AM-BM算法用于對給定一個URL判斷在此URL中是否能找到URL模式樹中的字符串,返回的是個真假值,而URL模式樹包含了需要過濾的字符串,比如flash、jpg、flv、myyouxi等。BM跳(下稱“壞字符跳”)是指當某個字符匹配不上時應該怎么跳,并用一個長度為256的整型數(shù)組來保存256個字符在失配時的離模式樹根的距離。壞字符跳數(shù)組的初始化步驟如下(1)每次失配跳的最大長度應該小于所有模式串中最短的模式串的長度;(2)先把256個字母的壞字符跳初始化為最短的模式串的長度;(3)根據(jù)所有的模式串的前最短的模式串的長度的字母來覆蓋一下這個字母的壞字符跳。首先對壞字符跳數(shù)組進行初始化,所有初始化完畢,舉個例子來完成一次從后向前匹配過程待匹配的字符串http://www.vsabancl.com/ebaircgooeh3si9489.flvygaogleuxia.jeg每次比較跳動的長度11111113比較過程的詳細描述如下從待匹配的字符串的后長度為最小模式串長度的字符開始比較,在本例中是從a.jeg中的a開始比較,a跟模式樹比較失配a字母的壞字符跳為4,而失配的是第一個字母所以只跳一步,接著比較ia.jeg,依此類推直到gleuxia.jeg,此時字母g匹配,當前位置前進一位,下個字母為1,比較失配,1字母的壞字符跳是4,當前位置前進了一位,所以這跳的步伐為4_1=3當壞字符跳減去當前位置前進的數(shù)為負數(shù)時,只跳一步。下面對URL模式特征樹索引表進行說明。圖4示出Lucene的索引文件的概念結(jié)構(gòu)。如圖4所示,Lucene索引index由若干段(segment)組成,每一段由若干的文檔(document)組成,每一個文檔由若干的域(field)組成,每一個域由若干的項(term)組成。項是最小的索引概念單位,它直接代表了一個字符串以及其在文件中的位置、出現(xiàn)次數(shù)等信息。域是一個關聯(lián)的元組,由一個域名和一個域值組成,域名是一個字串,域值是一個項,比如將“標題”和實際標題的項組成的域。文檔是提取了某個文件中的所有信息之后的結(jié)果,這些組成了段,或者稱為一個子索引。子索引可以組合為索引,也可以合并為一個新的包含了所有合并項內(nèi)部元素的子索引??梢钥闯?,Lucene的索引結(jié)構(gòu)在概念上為傳統(tǒng)的倒排索引結(jié)構(gòu)。從概念上映射到結(jié)構(gòu)中,索引(index)被處理為一個目錄(文件夾),其中含有的所有文件即為其內(nèi)容,這些文件按照所屬的段不同分組存放,同組的文件擁有相同的文件名,不同的擴展名。此外還有三個文件,它們分別是segments,deletable和lock文件,都沒有擴展名,分別用來保存所有的段的記錄、保存已刪除文件的記錄和控制讀寫的同步。每個段(例如,segmentl)包含一組文件,它們的文件擴展名不同,但是文件名均為記錄在文件segments中段的名字。具體情況參見如下的結(jié)構(gòu)圖5。在圖5中,每個段的文件中,主要記錄了兩大類的信息域集合與項集合。這兩個集合中所含有的文件在圖5中均有表明。由于索引信息是靜態(tài)存儲的,域集合與項集合中的文件組采用了一種類似的存儲辦法一個小型的索引文件,運行時載入內(nèi)存;一個對應于索引文件的實際信息文件,可以按照索引中指示的偏移量隨機訪問;索引文件與信息文件在記錄的排列順序上存在隱式的對應關系,即索引文件中按照“索引項1、索引項2...”排列,則信息文件則也按照“信息項1、信息項2...”排列。比如在圖5所示文件中,segmentl.fdx與segmentl.fdt之間,segmentl.tii與segmentl.tis、segmentl.prx、segmentl.frq之間,都存在這樣的組織關系。而域集合與項集合之間則通過域的在域記錄文件(比如segmentl.fnm)中所記錄的域記錄號維持對應關系,在圖5中segmentl.fdx與segmentl.tii中就是通過這種方式保持聯(lián)系。這樣,域集合和項集合不僅僅聯(lián)系起來,而且其中的文件之間也相互聯(lián)系起來。此外,標準化因子文件和被刪除文檔文件則提供了一些程序內(nèi)部的輔助設施(標準化因子用在評分排序機制中,被刪除文檔是一種偽刪除手段)。這樣,整個段的索引信息就通過這些文檔有機的組成。下面對根據(jù)非主頁面URL模式特征樹和已抓取的URL模式特征索引表對URL進行過濾進行介紹。該過濾過程具體步驟如下(1)為非主頁面URL(垃圾URL)和已抓取過的URL分別創(chuàng)建各自的分布式URL模式特征索引表文件1.1.選擇值域范圍均勻的哈希(Hash)函數(shù),并根據(jù)值域范圍確定用來存儲URL模式特征索引表節(jié)點的分布式節(jié)點數(shù)目,以及每個節(jié)點對應的哈希值范圍;1.2.用哈希函數(shù)對輸入的URL生成哈希值;1.3.根據(jù)輸入的URL的哈希值對該URL建立索引,并將索引文件存放至對應的分布式節(jié)點上;(2)將需要過濾的URL與分布式的非主頁面URL和已抓取過的URL的URL模式特征索引表比較,確定該URL是否需要抓取2.1.用哈希函數(shù)對需要過濾的URL生成哈希值;2.2.根據(jù)待過濾的URL的哈希值確定與其最相似的URL所在的分布式節(jié)點,并將該URL發(fā)送至相應節(jié)點處理;2.3.收到待過濾的URL的節(jié)點將該URL與該節(jié)點上存儲的已有URL比較,確定該URL是否已存在,如果存在則過濾掉該URL,如果不存在確認該URL的內(nèi)容需要被抓取。需要抓取的URL通過后面的頁面內(nèi)容抓取程序進行抓取。在網(wǎng)頁內(nèi)容被抓取后,根據(jù)本發(fā)明的一個實施例,將URL頁面內(nèi)容的可獲取狀態(tài)實時動態(tài)地反饋回URL模式特征樹。圖6示出本發(fā)明的實施例中網(wǎng)站頁面URL過濾和抓取的圖示。如圖6所示,網(wǎng)站頁面URL經(jīng)過網(wǎng)站頁面URL過濾器,過濾掉不需要抓取的網(wǎng)站頁9面URL,將需要抓取的網(wǎng)站頁面URL發(fā)送給網(wǎng)站頁面URL爬蟲,網(wǎng)站頁面URL爬蟲對網(wǎng)站頁面URL的頁面內(nèi)容進行抓?。蝗绻ト〉较鄳撁鎯?nèi)容,則一方面將頁面內(nèi)容發(fā)送給多個分布式的HTTP協(xié)議解析器,并提取出用戶瀏覽過的頁面文本內(nèi)容數(shù)據(jù),另一方面將該網(wǎng)站頁面URL反饋回已抓取過的URL模式特征樹;如果抓取不到頁面內(nèi)容,則將網(wǎng)站頁面URL反饋回給非主頁面URL模式特征樹。例如,設置了一個定時器,每隔一分鐘會把反饋來的已抓取過的URL添加到已抓取過的URL模式特征樹索引表文件中,如果抓不到頁面內(nèi)容則判定該URL為垃圾URL,對它的處理同樣是定時地把它反饋并添加到垃圾URL模式特征樹索引表文件中。圖7示出本發(fā)明的骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集方法的另一個實施例的圖示。如圖7所示,從骨干網(wǎng)網(wǎng)絡設備接口捕獲串行網(wǎng)絡鏈路幀數(shù)據(jù)流,并存儲于多個數(shù)據(jù)緩沖區(qū)1、2、3.....η內(nèi);多線程并行化處理多個緩沖區(qū)1、2、3.....η內(nèi)的網(wǎng)絡鏈路幀數(shù)據(jù),從中提取出包括網(wǎng)站頁面URL在內(nèi)的用戶頁面訪問信息;過濾網(wǎng)站頁面URL,抓取過濾后的網(wǎng)站頁面URL對應的頁面內(nèi)容,解析頁面內(nèi)容;將頁面內(nèi)容抓取過程中已經(jīng)抓取和無法抓取的網(wǎng)站頁面URL反饋URL過濾模塊。下面具體介紹本發(fā)明的方法的一個應用例。在該應用例中,通過本發(fā)明的方法,在萬兆網(wǎng)絡鏈路中實時地捕獲包含HTTP請求報文的原始數(shù)據(jù)鏈路幀,捕獲速度達到每秒2萬個數(shù)據(jù)幀,約為平均200(介于150到300之間)次的網(wǎng)站頁面訪問請求;從原始數(shù)據(jù)鏈路幀中根據(jù)TCP/IP和HTTP協(xié)議實時地解析提取用戶訪問過的網(wǎng)站頁面URL地址、以及其它反映用戶上網(wǎng)行為的HTTP字段信息,用戶上網(wǎng)記錄生成速度達到每秒2萬個;根據(jù)URL模式特征樹實時地篩選出需要獲取相應頁面內(nèi)容的網(wǎng)站頁面URL,過濾速度達到每秒10萬個URL;以異步方式從互聯(lián)網(wǎng)上快速抓取大量URL頁面內(nèi)容,并將URL頁面內(nèi)容的可獲取狀態(tài)實時動態(tài)地反饋URL模式特征樹,抓取速度達到每秒80-100個網(wǎng)站頁面,實現(xiàn)了準實時地對頁面內(nèi)容進行抓取。雖然上述應用例中提供了一個本發(fā)明的方法在萬兆網(wǎng)絡鏈路中的性能,但是,本領域的技術人員應當理解,通過提高硬件性能或者其它方式,本發(fā)明的方法可以獲得更高的性能,可以用于更高帶寬的網(wǎng)絡鏈路中用戶上網(wǎng)數(shù)據(jù)的采集。同樣,根據(jù)具體硬件或者應用環(huán)境的不同,實現(xiàn)性能也可能低于上述應用例的性能。通過本發(fā)明的方法,實現(xiàn)了實時截獲萬兆鏈路中包含HTTP請求報文的原始數(shù)據(jù)包;實現(xiàn)了從原始數(shù)據(jù)包中實時提取用戶IP地址、網(wǎng)站頁面URL地址、和其它相關的用戶上網(wǎng)信息數(shù)據(jù);實現(xiàn)了對海量網(wǎng)站頁面URL地實時過濾和對頁面內(nèi)容的準實時抓取。需要指出,雖然在實施例和應用例中介紹了本發(fā)明的方法在萬兆骨干網(wǎng)絡鏈路中的實現(xiàn)和應用,但是,本領域的技術人員應當理解,上述實施例僅為解釋說明本發(fā)明,并不用于限定本發(fā)明。本發(fā)明的方法同樣可以用于更高或者較低帶寬的網(wǎng)絡鏈路中。圖8示出本發(fā)明的用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng)的一個實施例的結(jié)構(gòu)圖。如圖8所示,該數(shù)據(jù)采集系統(tǒng)實施例包括數(shù)據(jù)包捕獲設備81、URL提取設備82、URL過濾設備83和頁面內(nèi)容抓取設備84。其中,數(shù)據(jù)包捕獲設備81用于捕獲骨干網(wǎng)鏈路中包含HTTP請求報文的數(shù)據(jù)包;URL提取設備82用于從數(shù)據(jù)包中根據(jù)HTTP協(xié)議解析提取用戶訪問的網(wǎng)站頁面URL、以及反映用戶上網(wǎng)行為的HTTP字段信息;URL過濾設備83用于根據(jù)URL模式特征樹對提取的網(wǎng)站頁面URL進行過濾,獲得需要抓取面內(nèi)容的網(wǎng)站頁面URL;頁面內(nèi)容抓取設備84用于準實時地抓取過濾后的網(wǎng)站頁面URL的頁面內(nèi)容。根據(jù)本發(fā)明的一個實施例,數(shù)據(jù)包捕獲設備81在高速骨干網(wǎng)上采用軟件輪詢方式從網(wǎng)卡設備中獲得高速串行網(wǎng)絡鏈路幀數(shù)據(jù)流,以DMA方式將高速串行網(wǎng)絡鏈路幀數(shù)據(jù)存儲到多個緩沖區(qū)中;URL提取設備82采用多線程并行處理方式從數(shù)據(jù)包中根據(jù)HTTP協(xié)議解析提取用戶訪問的網(wǎng)站頁面URL。根據(jù)本發(fā)明的一個實施例,URL過濾設備83將網(wǎng)站頁面URL與非主頁面URL模式特征樹和已抓取過的URL模式特征樹索引表做比較,過濾掉不需要抓取的網(wǎng)站頁面URL。圖9示出本發(fā)明的用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng)的另一個實施例的結(jié)構(gòu)圖。在該實施例中,除了數(shù)據(jù)包捕獲設備81、URL提取設備82、URL過濾設備83和頁面內(nèi)容抓取設備84,還可選地包括用戶ID獲取設備95和特征樹反饋設備96。其中,用戶ID獲取設備95用于從數(shù)據(jù)鏈路幀中根據(jù)TCP/IP協(xié)議解析提取用戶的IP地址,根據(jù)用戶IP地址查詢數(shù)據(jù)庫中用戶IP-UserID映射服務獲得用戶的UserlD。特征樹反饋設備96用于將URL頁面內(nèi)容的可獲取狀態(tài)實時動態(tài)地反饋到URL模式特征樹。圖10示出本發(fā)明的用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng)的又一個實施例的結(jié)構(gòu)圖。該實施例和圖8的實施例相比,除了包括數(shù)據(jù)包捕獲設備81、URL提取設備82、URL過濾設備83和頁面內(nèi)容抓取設備84,還包括經(jīng)驗規(guī)則過濾設備105。經(jīng)驗規(guī)則過濾設備105用于采用基于狀態(tài)機的多模匹配方法將網(wǎng)站頁面URL與經(jīng)驗規(guī)則表中的過濾規(guī)則進行比較,以過濾掉不需要抓取的網(wǎng)站頁面URL。本領域的技術人員應當理解,本發(fā)明提供的系統(tǒng)中的各個設備,可以分別作為單獨的裝置存在,或者一個設備集成在一個裝置上存在。本發(fā)明上述實施例的用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng)用框示出以說明它們的功能。這些功能塊可以用硬件、軟件、固件、中間件、微代碼、硬件描述語音或者它們的任意組合來實現(xiàn)。例來說,一個或者兩個功能塊都可以利用運行在微處理器、數(shù)字信號處理器(DSP)或任何其他適當平臺上的代碼實。代碼可以表示過程、功能、子程序、程序、例行程序、子例行程序、模塊或者指令、數(shù)據(jù)結(jié)構(gòu)或程序語句的任意組合。代碼可以位于計算機可讀介質(zhì)中。計算機可讀介質(zhì)可以包括一個或者多個存儲設備,例如,包括RAM存儲器、閃存存儲器、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、移動硬盤、CD-ROM或本領域公知的其他任何形式的存儲介質(zhì)。計算機可讀介質(zhì)還可以包括編碼數(shù)據(jù)信號的載波??蛇x地,或者除此之外,一個或者兩個功能模塊都可以利用專用集成電路(ASIC)、控制器、微控制器、狀態(tài)機、現(xiàn)場可編程門陣列(FPGA)或者其他可編程邏輯器件、離散門或者晶體管邏輯、離散硬件部件、或者它們的任意組合實現(xiàn)。本領域技術人員將意識到硬件、固件和軟件配置在這些情況下的可替換性,以及如何最好地實現(xiàn)每個特定應用地所述功能。本發(fā)明提供的骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng),通過數(shù)據(jù)包捕獲設備從骨干網(wǎng)鏈路中捕獲數(shù)據(jù)包,通過URL提取設備從數(shù)據(jù)包中解析獲得URL地址,通過URL過濾設備對獲得的URL地址進行根據(jù)URL模式特征樹進行過濾,通過頁面內(nèi)容抓取設備對過濾后的URL進行頁面內(nèi)容抓取,大大提高了對URL頁面內(nèi)容抓取的速度,滿足了在骨干網(wǎng)絡中提取大量用戶訪問頁面的內(nèi)容提取要求。對URL進行過濾,可以剔除大量的不需要抓取內(nèi)容的URL,大大提高了處理效率。本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領域的普通技術人員而言是顯然的。選擇和描述實施例是為了更好說明本發(fā)明的原理和實際應用,并且使本領域的普通技術人員能夠理解本發(fā)明從而設計適于特定用途的帶有各種修改的各種實施例。權(quán)利要求一種骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集方法,其特征在于,包括捕獲骨干網(wǎng)鏈路中包含超文本傳輸協(xié)議HTTP請求報文的數(shù)據(jù)包采用并行處理從數(shù)據(jù)包中根據(jù)HTTP協(xié)議解析提取用戶訪問的網(wǎng)站頁面統(tǒng)一資源定位符URL、以及反映用戶上網(wǎng)行為的HTTP字段信息;根據(jù)URL模式特征樹過網(wǎng)站頁面URL進行過濾,獲得需要抓取頁面內(nèi)容的網(wǎng)站頁面URL;以異步方式抓取所述過濾后的網(wǎng)站頁面URL的頁面內(nèi)容。2.根據(jù)權(quán)利要求1所述的用戶上網(wǎng)行為數(shù)據(jù)采集方法,其特征在于,還包括采用基于狀態(tài)機的多模匹配方法將網(wǎng)站頁面URL與過濾規(guī)則進行比較,以過濾掉不需要抓取的網(wǎng)站頁面URL。3.根據(jù)權(quán)利要求1或2所述的用戶上網(wǎng)行為數(shù)據(jù)采集方法,其特征在于,所述根據(jù)URL模式特征樹對網(wǎng)站頁面URL進行過濾的步驟包括將網(wǎng)站頁面URL與非主頁面URL模式特征樹索引表和已抓取過的URL模式特征樹索引表進行比較,過濾掉不需要抓取的網(wǎng)站頁面URL。4.根據(jù)權(quán)利要1所述的用戶上網(wǎng)行為數(shù)據(jù)采集方法,其特征在于,還包括將URL頁面內(nèi)容的可獲取狀態(tài)實時動態(tài)地反饋回URL模式特征樹。5.根據(jù)權(quán)利要求1所述的用戶上網(wǎng)行為數(shù)據(jù)采集方法,其特征在于,所述捕獲骨干網(wǎng)鏈路中包含HTTP請求報文的數(shù)據(jù)包的步驟包括在高速骨干網(wǎng)上采用軟件輪詢方式從網(wǎng)卡設備中獲得高速串行網(wǎng)絡鏈路幀數(shù)據(jù)流;以直接內(nèi)存訪問方式將高速串行網(wǎng)絡鏈路幀數(shù)據(jù)存儲到多個緩沖區(qū)中;和/或所述從數(shù)據(jù)包中根據(jù)HTTP協(xié)議解析提取用戶訪問的網(wǎng)站頁面URL的步驟包括采用多線程并行處理方式從數(shù)據(jù)包中根據(jù)HTTP協(xié)議解析提取用戶訪問的網(wǎng)站頁面URL。6.根據(jù)權(quán)利要求1所述的用戶上網(wǎng)行為數(shù)據(jù)采集方法,其特征在于,還包括從數(shù)據(jù)包中根據(jù)TCP/IP協(xié)議解析提取用戶的IP地址;根據(jù)用戶IP地址查詢數(shù)據(jù)庫中用戶IP-UserID映射服務,以獲得用戶的用戶標識。7.一種用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng),其特征在于,包括數(shù)據(jù)包捕獲設備,用于捕獲骨干網(wǎng)鏈路中包含HTTP請求報文的數(shù)據(jù)包;統(tǒng)一資源定位符URL提取設備,用于從數(shù)據(jù)包中根據(jù)超文本傳輸協(xié)議HTTP協(xié)議解析提取用戶訪問的網(wǎng)站頁面URL、以及反映用戶上網(wǎng)行為的HTTP字段信息;URL過濾設備,用于根據(jù)URL模式特征樹對提取的網(wǎng)站頁面URL進行過濾,獲得需要抓取面內(nèi)容的網(wǎng)站頁面URL;頁面內(nèi)容抓取設備,用于準實時地抓取所述過濾后的網(wǎng)站頁面URL的頁面內(nèi)容。8.根據(jù)權(quán)利要求7所述的用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng),其特征在于,還包括經(jīng)驗規(guī)則過濾設備,用于采用基于狀態(tài)機的多模匹配方法將網(wǎng)站頁面URL與經(jīng)驗規(guī)則表中的過濾規(guī)則進行比較,以過濾掉不需要抓取的網(wǎng)站頁面URL。9.根據(jù)權(quán)利要求7或8所述的用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng),其特征在于,所述URL過濾設備將網(wǎng)站頁面URL與非主頁面URL模式特征樹和已抓取過的URL模式特征樹索引表做比較,過濾掉不需要抓取的網(wǎng)站頁面URL。10.根據(jù)權(quán)利要求7所述的用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng),其特征在于,還包括特征樹反饋設備,用于將URL頁面內(nèi)容的可獲取狀態(tài)實時動態(tài)地反饋到URL模式特征樹。11.根據(jù)權(quán)利要求7所述的用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng),其特征在于,所述數(shù)據(jù)包捕獲設備在高速骨干網(wǎng)上采用軟件輪詢方式從網(wǎng)卡設備中獲得高速串行網(wǎng)絡鏈路幀數(shù)據(jù)流,以直接內(nèi)存訪問方式將高速串行網(wǎng)絡鏈路幀數(shù)據(jù)存儲到多個緩沖區(qū)中;和/或URL提取設備采用多線程并行處理方式從數(shù)據(jù)包中根據(jù)HTTP協(xié)議解析提取用戶訪問的網(wǎng)站頁面URL。12.根據(jù)權(quán)利要求7所述的用戶上網(wǎng)行為數(shù)據(jù)采集系統(tǒng),其特征在于,還包括用戶ID獲取設備,用于從數(shù)據(jù)鏈路幀中根據(jù)TCP/IP協(xié)議解析提取用戶的IP地址,根據(jù)用戶IP地址查詢數(shù)據(jù)庫中用戶IP-UserID映射服務獲得用戶的用戶標識。全文摘要本發(fā)明公開一種骨干網(wǎng)鏈路中用戶上網(wǎng)行為數(shù)據(jù)采集方法,該方法包括捕獲骨干網(wǎng)鏈路中包含HTTP請求報文的數(shù)據(jù)包,采用并行處理從數(shù)據(jù)包中根據(jù)HTTP協(xié)議解析提取用戶訪問的網(wǎng)站頁面URL、以及反映用戶上網(wǎng)行為的HTTP字段信息;根據(jù)URL模式特征樹過網(wǎng)站頁面URL進行過濾,獲得需要抓取頁面內(nèi)容的網(wǎng)站頁面URL;以異步方式抓取所述過濾后的網(wǎng)站頁面URL的頁面內(nèi)容。通過本發(fā)明的方法和系統(tǒng),能夠?qū)崟r截獲萬兆鏈路中包含HTTP請求報文的原始數(shù)據(jù)包;實現(xiàn)了從原始數(shù)據(jù)包中實時提取用戶IP地址、網(wǎng)站頁面URL地址、和其它相關的用戶上網(wǎng)信息數(shù)據(jù);實現(xiàn)了對海量網(wǎng)站頁面URL地實時過濾和對頁面內(nèi)容的準實時抓取。文檔編號H04L29/06GK101909079SQ20101023279公開日2010年12月8日申請日期2010年7月15日優(yōu)先權(quán)日2010年7月15日發(fā)明者劉軍,張雁冰,王強,胡平申請人:北京邁朗世訊科技有限公司