一種基于MapReduce算法的并行識(shí)別、統(tǒng)計(jì)網(wǎng)頁(yè)URL的方法
【專利摘要】本發(fā)明公開了一種基于MapReduce算法的并行識(shí)別、統(tǒng)計(jì)網(wǎng)頁(yè)URL的方法,包括步驟:將捕獲的網(wǎng)絡(luò)數(shù)據(jù)流量以block(塊,默認(rèn)大小64M)為單位分散存儲(chǔ)在HDFS(分布式文件系統(tǒng))中;提取URL之前,重組HTTP請(qǐng)求;執(zhí)行Job1,從重組后的HTTP請(qǐng)求中并行提取URL;執(zhí)行Job2,從提取出的URL中識(shí)別出頁(yè)面URL。本方法提供了一種穩(wěn)定、可靠、均勻且低成本的并行識(shí)別、統(tǒng)計(jì)網(wǎng)頁(yè)URL的方法。
【專利說(shuō)明】—種基于MapReduce算法的并行識(shí)別、統(tǒng)計(jì)網(wǎng)頁(yè)URL的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)大數(shù)據(jù)流量分析領(lǐng)域。目的在于提出一種基于MapReduce算法的并行識(shí)別、統(tǒng)計(jì)網(wǎng)頁(yè)URL的方法。
【背景技術(shù)】
[0002]近些年來(lái),電子商務(wù)給人們帶了便利、實(shí)惠,越來(lái)越多的人群尤其是年輕一代偏向于網(wǎng)上消費(fèi),電子商務(wù)市場(chǎng)競(jìng)爭(zhēng)日趨白熱化。與此同時(shí),網(wǎng)絡(luò)上充斥著大量的釣魚網(wǎng)站、垃圾頁(yè)面,威脅著人們的上網(wǎng)安全。通過(guò)分析網(wǎng)絡(luò)流量提取、統(tǒng)計(jì)網(wǎng)頁(yè)URL,可以反映各類群體所感興趣的商品類別,有助于運(yùn)營(yíng)商、各大電子商務(wù)企業(yè)把握趨勢(shì),擬定營(yíng)銷策略、提高企業(yè)競(jìng)爭(zhēng)力。另一方面可以從提取到的URL中檢測(cè)、識(shí)別含有不良信息的頁(yè)面加入黑名單,優(yōu)化網(wǎng)民的上網(wǎng)環(huán)境。
[0003]傳統(tǒng)的URL提取技術(shù)通過(guò)提取HTTP請(qǐng)求報(bào)文的Referer字段或者拼接GET字段和Host字段來(lái)實(shí)現(xiàn)。前者僅能體現(xiàn)頁(yè)面URL,不能統(tǒng)計(jì)訪問(wèn)記錄。而后者雖然可以統(tǒng)計(jì)訪問(wèn)記錄,但不能識(shí)別哪些URL屬于網(wǎng)頁(yè)。
[0004]隨著互聯(lián)網(wǎng)的迅速發(fā)展,網(wǎng)民數(shù)量的不斷增多,互聯(lián)網(wǎng)所產(chǎn)生的流量也急劇攀升。有相關(guān)研究表明,截至2013年整個(gè)互聯(lián)網(wǎng)流量為56EB(1EB = 10億GB),預(yù)計(jì)2020年全球互聯(lián)網(wǎng)流量將達(dá)到驚人的350億TB(1TB = 1024GB),如何合理、有效且低成本的存儲(chǔ)、分析這些數(shù)據(jù)成為一大難題。目前尚缺乏在Hadoop平臺(tái)上識(shí)別、統(tǒng)計(jì)網(wǎng)頁(yè)URL的方法。
[0005]基于以上問(wèn)題本發(fā)明利用Hadoop實(shí)現(xiàn)URL提取、過(guò)濾、網(wǎng)頁(yè)URL識(shí)別和統(tǒng)計(jì)的功能。Hadoop的優(yōu)勢(shì)在于可以利用HDFS,穩(wěn)定、可靠、均勻且低成本的將數(shù)據(jù)復(fù)制到集群中的各個(gè)節(jié)點(diǎn),根據(jù)項(xiàng)目需要靈活的編寫MapReduce程序,以鍵值對(duì)的形式對(duì)數(shù)據(jù)進(jìn)行并行處理,通過(guò)增加結(jié)點(diǎn)來(lái)滿足更高要求的任務(wù)。與此同時(shí),Hadoop還支持對(duì)數(shù)據(jù)的壓縮、排序、聚合、銜接傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)等功能。
【發(fā)明內(nèi)容】
[0006]針對(duì)以上現(xiàn)有技術(shù)中的不足,本發(fā)明的目的在于提供一種面向網(wǎng)絡(luò)大數(shù)據(jù)流量的,能夠識(shí)別、統(tǒng)計(jì)、過(guò)濾頁(yè)面URL的基于MapReduce算法的并行識(shí)別、統(tǒng)計(jì)網(wǎng)頁(yè)URL的方法,本發(fā)明的技術(shù)方案如下:一種基于MapReduce算法的并行識(shí)別、統(tǒng)計(jì)網(wǎng)頁(yè)URL的方法,其包括以下步驟:
[0007]101、獲取網(wǎng)絡(luò)的數(shù)據(jù)流量,并將網(wǎng)絡(luò)數(shù)據(jù)流量以塊block為單位存儲(chǔ)在分布式文件系統(tǒng)HDFS中;
[0008]102、將步驟101中存儲(chǔ)的網(wǎng)絡(luò)數(shù)據(jù)流量進(jìn)行HTTP請(qǐng)求重組,形成重組后的HTTP請(qǐng)求報(bào)文;
[0009]103、讀入步驟102中經(jīng)過(guò)重組后的HTTP請(qǐng)求報(bào)文,并將該經(jīng)過(guò)重組后的HTTP請(qǐng)求報(bào)文轉(zhuǎn)化為鍵值對(duì)〈五元組,HTTP請(qǐng)求 >,利用正則表達(dá)式提取GET字段及Host字段拼成URL,完成對(duì)URL資源的一次訪問(wèn)請(qǐng)求,當(dāng)未提取到GET字段及Host字段時(shí)則讀取下一個(gè)請(qǐng)求,返回步驟103;
[0010]若URL提取成功,則接著利用正則表達(dá)式提取鍵值對(duì)〈五元組,HTTP請(qǐng)求 > 中HTTP請(qǐng)求報(bào)文的Referer字段。根據(jù)提交方已有的廣告過(guò)濾規(guī)則對(duì)Referer字段進(jìn)行過(guò)濾,并將過(guò)濾后的Referer字段的值存入提交方數(shù)據(jù)庫(kù)Referer DB ;跳轉(zhuǎn)至步驟104 ;
[0011]104、過(guò)濾以gif/jpg/png/js/css/swf/flv結(jié)尾的頁(yè)面元素URL,生成輸出鍵值對(duì)〈URL, I〉,其中URL為過(guò)濾掉gif/jpg/png/js/css/swf/flv結(jié)尾的頁(yè)面元素后的URL, I代表一次訪問(wèn);
[0012]105、重復(fù)步驟103和104,統(tǒng)計(jì)得到若干個(gè)輸出鍵值對(duì)<URL,1>,將輸出鍵值對(duì)〈URL,1>中相同URL匯聚到一起,組成帶有所有訪問(wèn)記錄的鍵值對(duì)〈URL,list⑴>,list (I)相當(dāng)于U,1,1,……,1},即記錄了相同URL的每一次訪問(wèn);
[0013]106、將步驟105中帶有所有訪問(wèn)記錄的鍵值對(duì)〈URL,Iist(I) >中的URL與步驟103中的提交方數(shù)據(jù)庫(kù)Referer DB中的Referer值相匹配,若匹配成功到則為頁(yè)面URL,輸出該輸出鍵值對(duì)〈URL,list(l)> ;若匹配失敗則讀取下一條記錄,完成網(wǎng)頁(yè)URL的并行識(shí)別、統(tǒng)計(jì)。
[0014]進(jìn)一步的,步驟103中的鍵值對(duì)〈五元組,HTTP請(qǐng)求〉中,五元組為源IP、目的IP、源端口、目的端口、傳輸層協(xié)議。HTTP請(qǐng)求格式為
[0015]
【權(quán)利要求】
1.一種基于MapReduce算法的并行識(shí)別、統(tǒng)計(jì)網(wǎng)頁(yè)URL的方法,其特征在于,包括以下步驟: 101、獲取網(wǎng)絡(luò)的數(shù)據(jù)流量,并將網(wǎng)絡(luò)數(shù)據(jù)流量以塊block為單位存儲(chǔ)在分布式文件系統(tǒng)HDFS中; 102、將步驟101中存儲(chǔ)的網(wǎng)絡(luò)數(shù)據(jù)流量進(jìn)行HTTP請(qǐng)求重組,形成重組后的HTTP請(qǐng)求報(bào)文; 103、讀入步驟102中經(jīng)過(guò)重組后的HTTP請(qǐng)求報(bào)文,并將該經(jīng)過(guò)重組后的HTTP請(qǐng)求報(bào)文轉(zhuǎn)化為鍵值對(duì)〈五元組,HTTP請(qǐng)求〉,利用正則表達(dá)式提取GET字段及Host字段拼成URL,完成對(duì)URL資源的一次訪問(wèn)請(qǐng)求,當(dāng)未提取到GET字段及Host字段時(shí)則讀取下一個(gè)請(qǐng)求,返回步驟103 ; 若URL提取成功,則接著利用正則表達(dá)式提取鍵值對(duì)〈五元組,HTTP請(qǐng)求 > 中HTTP請(qǐng)求報(bào)文的Referer字段。根據(jù)提交方已有的廣告過(guò)濾規(guī)則對(duì)Referer字段進(jìn)行過(guò)濾,并將過(guò)濾后的Referer字段的值存入提交方數(shù)據(jù)庫(kù)Referer DB ;跳轉(zhuǎn)至步驟104 ; 104、過(guò)濾以gif/jpg/png/js/css/swf/flv結(jié)尾的頁(yè)面元素URL,生成輸出鍵值對(duì)〈URL, I〉,其中URL為過(guò)濾掉gif/jpg/png/js/css/swf/flv結(jié)尾的頁(yè)面元素后的URL, I代表一次訪問(wèn); 105、重復(fù)步驟103和104,統(tǒng)計(jì)得到若干個(gè)輸出鍵值對(duì)〈URL,1>,將輸出鍵值對(duì)〈URL,1>中相同URL匯聚到一起,組成帶有所有訪問(wèn)記錄的鍵值對(duì)〈URL, list(l)>, Iist(I)相當(dāng)于{I, I, I,......,1},即記錄了相同URL的每一次訪問(wèn); 106、將步驟105中帶有所有訪問(wèn)記錄的鍵值對(duì)〈URL,list(I) >中的URL與步驟103中的提交方數(shù)據(jù)庫(kù)Referer DB中的Referer值相匹配,若匹配成功到則為頁(yè)面URL,輸出該輸出鍵值對(duì)〈URL,list(l)> ;若匹配失敗則讀取下一條記錄,完成網(wǎng)頁(yè)URL的并行識(shí)別、統(tǒng)計(jì)。
2.根據(jù)權(quán)利要求1所述的基于MapReduce算法的并行識(shí)別、統(tǒng)計(jì)網(wǎng)頁(yè)URL的方法,其特征在于,步驟103中的鍵值對(duì)〈五元組,HTTP請(qǐng)求〉中,五元組為源IP、目的IP、源端口、目的端口、傳輸層協(xié)議。
3.根據(jù)權(quán)利要求1所述的基于MapReduce算法的并行識(shí)別、統(tǒng)計(jì)網(wǎng)頁(yè)URL的方法,其特征在于,步驟103中的提取URL正則表達(dá)式分別為:(? < = GET\s) (.+) (\sHTTP/l\.1)和(? < = Host:\s) (.+)(? =\r\n),前者用于提取GET字段,后者用于提取Host字段^提取 Referer 字段的正則表達(dá)式為:(? < = Referer:\s) (.+)(? = \r\n)。
【文檔編號(hào)】H04L12/24GK103986606SQ201410227643
【公開日】2014年8月13日 申請(qǐng)日期:2014年5月27日 優(yōu)先權(quán)日:2014年5月27日
【發(fā)明者】雒江濤, 高偉, 楊軍超, 王小平, 鄧生雄, 劉勇, 申健 申請(qǐng)人:重慶郵電大學(xué)