范孟可,王 攀
(南京郵電大學(xué) 物聯(lián)網(wǎng)學(xué)院,江蘇 南京 210003)
基于Hadoop的固網(wǎng)寬帶終端識別技術(shù)研究和實現(xiàn)
范孟可,王 攀
(南京郵電大學(xué) 物聯(lián)網(wǎng)學(xué)院,江蘇 南京 210003)
隨著大數(shù)據(jù)時代的來臨,大數(shù)據(jù)在各個行業(yè)應(yīng)用越來越廣泛。大數(shù)據(jù)在運(yùn)營商行業(yè)的應(yīng)用也很普遍,但同時也遇到了很多技術(shù)問題,其中家庭畫像的塑造是運(yùn)營商大數(shù)據(jù)的一個核心問題。如何提取和識別固網(wǎng)寬帶下的終端類型是一個有待解決的問題。不像移動網(wǎng),固網(wǎng)寬帶由于沒有信令通道,所以不攜帶任何準(zhǔn)確的終端信息,因而對固網(wǎng)下的終端類型識別比較困難。傳統(tǒng)方法都是采用解析和匹配HTTP GET報文中的UA字段進(jìn)行識別。但這種方法由于UA的非標(biāo)準(zhǔn)化,以及終端數(shù)量和種類眾多的緣故而導(dǎo)致終端類型的識別準(zhǔn)確率低下。文中采用Hadoop框架,利用Hive中UDF的方法,結(jié)合分布式爬蟲獲取終端庫,可以更加快速準(zhǔn)確地識別出用戶上網(wǎng)終端信息。實驗結(jié)果表明,終端識別準(zhǔn)確率可以達(dá)到92%以上,相比傳統(tǒng)方法有了大幅提升。
終端識別;Hadoop;User Defined Function (UDF);分布式爬蟲;固網(wǎng)寬帶;大數(shù)據(jù)運(yùn)營
當(dāng)今,隨著計算機(jī)技術(shù)的發(fā)展,大數(shù)據(jù)被應(yīng)用到生活中的各行各業(yè)。大數(shù)據(jù)已經(jīng)是行業(yè)的趨勢,當(dāng)今時代也是“大數(shù)據(jù)”[1]時代。
傳統(tǒng)的電信運(yùn)營商還只是把數(shù)據(jù)簡單地保存起來,沒有發(fā)揮數(shù)據(jù)的價值。而隨著信息技術(shù)的快速發(fā)展,運(yùn)營商開始意識到數(shù)據(jù)對企業(yè)日常的管理和營銷的支撐具有重大意義。因此,運(yùn)營商建立了一些企業(yè)信息化系統(tǒng)為公司的經(jīng)營決策[2]和資源配置提供幫助。這些系統(tǒng)包括企業(yè)的管理系統(tǒng)、運(yùn)營支撐系統(tǒng)、市場營銷支撐系統(tǒng)等。相對于互聯(lián)網(wǎng)商,電信運(yùn)營商的最大優(yōu)勢是它擁有用戶的全流量數(shù)據(jù),是用戶數(shù)據(jù)[3]的第一接口。電信運(yùn)營商擁有用戶身份信息、網(wǎng)絡(luò)狀態(tài)、終端、業(yè)務(wù)識別、位置、社交關(guān)系、消費(fèi)信用等信息,而且這些信息具有很大的商業(yè)價值。另外手機(jī)、PAD等移動終端是移動互聯(lián)網(wǎng)時代必不可少的物品。電信運(yùn)營商需要對用戶使用的移動終端做深入研究,以此來提升用戶體驗,提高自己的用戶量。因此進(jìn)行終端型號識別以及終端功能配置識別具有很大的意義。
(1)不僅能夠減輕無線網(wǎng)絡(luò)中數(shù)據(jù)業(yè)務(wù)負(fù)擔(dān),而且能提高服務(wù)質(zhì)量。固網(wǎng)寬帶自建家庭WiFi是一個很好的解決方案。統(tǒng)計有多少移動終端支持WiFi功能對于運(yùn)營商來說是需要解決的問題。
(2)對于傳統(tǒng)市場營銷,往往通過區(qū)域劃分來反映相應(yīng)的用戶商業(yè)價值。但隨著互聯(lián)網(wǎng)的發(fā)展,區(qū)域劃分并不能準(zhǔn)確代表用戶的商業(yè)價值[4]。現(xiàn)在提出通過用戶終端、用戶上網(wǎng)行為和用戶訂閱的業(yè)務(wù)來分析用戶潛在的商業(yè)價值。
因此,為了滿足以上類似的要求,研究互聯(lián)網(wǎng)中用戶的移動終端類型成為重要課題。然而,在這個大數(shù)據(jù)時代,人們的生活中出現(xiàn)了很多新型移動互聯(lián)網(wǎng)業(yè)務(wù),比如微信等即時通信、支付寶等手機(jī)支付、百度地圖等導(dǎo)航服務(wù)和直播平臺等。而且當(dāng)今移動互聯(lián)網(wǎng)用戶量巨大,在網(wǎng)絡(luò)方面4G的普及,電信百兆寬帶的提倡,大大提高了網(wǎng)絡(luò)速率。在智能終端[5]方面,硬件處理性能和軟件功能都有大幅提高。這些因素導(dǎo)致網(wǎng)絡(luò)流量數(shù)據(jù)[6]空前巨大,這些海量的用戶數(shù)據(jù),對于數(shù)據(jù)處理能力也提出了更高的要求,傳統(tǒng)的計算方式已經(jīng)不能滿足當(dāng)前數(shù)據(jù)量的要求。然而云計算模型Hadoop框架使對海量的數(shù)據(jù)處理[7]和挖掘成為可能。Hadoop的出現(xiàn)為人們提供了一個可靠的共享存儲和處理分析系統(tǒng),使人們在存儲和分析大數(shù)據(jù)時更加高效,其分布式文件系統(tǒng)HDFS可以實現(xiàn)數(shù)據(jù)的分布式存儲。
基于此,文中采用Hadoop框架,對用戶終端進(jìn)行識別。提出了自己的識別方法并通過實驗進(jìn)行驗證。
對于移動用戶終端,最早是根據(jù)HTTP報文的User-Agent(UA)報文頭獲取終端性能[8]信息。
早期,互聯(lián)網(wǎng)是基于文本的,用戶是通過敲命令的方式訪問互聯(lián)網(wǎng)。后來開發(fā)出了瀏覽互聯(lián)的工具,這些工具稱為用戶代理,即User-Agent。通過對User-Agent[9]進(jìn)行解析,可以獲得用戶終端的瀏覽器、操作系統(tǒng)、字符集和終端型號等。各種各樣的HTTP請求報文[10]格式和字符集在不斷變換,網(wǎng)絡(luò)開發(fā)者無法應(yīng)對,因此,標(biāo)準(zhǔn)化組織提出了兩個規(guī)范:
(1)萬維網(wǎng)協(xié)會提出了復(fù)合配置/偏好設(shè)置(CC/PP)標(biāo)準(zhǔn)化,即移動終端需要采用統(tǒng)一標(biāo)準(zhǔn)的格式向網(wǎng)絡(luò)服務(wù)上傳移動終端配置信息。
(2)開放移動聯(lián)盟提出了一個CC/PP詳細(xì)字典,即User Agent Profile (UAProff)。UAProff可以用來表示移動終端信息,而且在不好的無線網(wǎng)絡(luò)中,網(wǎng)絡(luò)服務(wù)根據(jù)終端性能,可以高效地在終端顯示內(nèi)容。一個移動終端如果遵循了UAProff標(biāo)準(zhǔn),當(dāng)它向服務(wù)端發(fā)送HTTP請求時,請求報文中會包含終端信息的XML文件URL。服務(wù)端獲取URL后,讀取XML文件,得到終端信息。
雖然發(fā)布了以上兩個標(biāo)準(zhǔn),但是市場的移動終端類型很多,很多都沒有遵循以上標(biāo)準(zhǔn),致使終端識別沒有得到好的解決。這時開源項目WURFL(Wireless Universal Resource File)提出了另一種解決方案。UA字段中含有很多用戶移動終端的信息,WURFL就是基于UA自身內(nèi)容進(jìn)行終端識別。WURFL首先將UA的內(nèi)容與包含終端信息的配置文件進(jìn)行文本匹配,這樣Web服務(wù)器就可以識別終端的型號和品牌。這種方式突破了UA格式的限制,然而仍有缺陷,因為它識別的終端信息需要依賴自身的資料庫。當(dāng)今的用戶終端市場上,移動終端日益更新,但是WURFL資料庫中終端型號及終端信息的更新速度遠(yuǎn)遠(yuǎn)趕不上用戶終端的腳步,因此這種終端識別的準(zhǔn)確率不是很高。
另外,傳統(tǒng)上對User-Agent獲取終端信息時,采用基于字符串匹配的方法。這種方法就是對User-Agent獲取能夠代表終端類的字符串,然后與一個內(nèi)容很大的機(jī)器詞典中的詞條進(jìn)行逐一匹配或者按照某種算法進(jìn)行匹配,如果配到了,則獲取到終端類型。該種方法實現(xiàn)簡單,但是對于海量的用戶數(shù)據(jù)來說具有很大的缺點(diǎn)。首先大容量的機(jī)器詞典一般存于文件或者數(shù)據(jù)庫中,占用很大的資源,而且匹配時對于機(jī)器詞典具有很大的依賴性,不同詞典會導(dǎo)致不同的結(jié)果。其次,當(dāng)數(shù)據(jù)量很大時,終端匹配的效率非常低。當(dāng)數(shù)據(jù)量超過千萬級別時,數(shù)據(jù)庫的性能會直線下降。上述方法幾乎不能完成海量數(shù)據(jù)的用戶終端型號識別。
文中是對User-Agent進(jìn)行分析,獲取相應(yīng)用戶終端信息。對User-Agent進(jìn)行分詞[11],采用正則表達(dá)式[12],首先過濾掉不代表用戶終端信息的字符串,然后特定位置的字符串通過正則表達(dá)式獲取。因為各種移動終端較多,比如手機(jī)、平板、PC等,因此通過統(tǒng)計不同終端類型,寫出不同的正則表達(dá)式進(jìn)行匹配,得到一個正則表達(dá)式的配置文件。然后利用分布式爬蟲獲取電商上各種終端型號的相關(guān)信息作終端庫信息。利用Hadoop/hive分布式快速處理大數(shù)據(jù)[13]量的特點(diǎn)進(jìn)行終端匹配。為了使開發(fā)方便快捷,使用hive中的UDF功能,對用戶終端類型進(jìn)行識別。
2.1Hadoop簡介
Hadoop[14]是Apache組織管理的一個開源項目,是對于Google云計算理論Big Table、MapReduce、GFS的軟件實現(xiàn)。Hadoop可以讓用戶在不了解底層細(xì)節(jié)的情況下開發(fā)MapReduce程序,并可以運(yùn)算和存儲在硬件配置較低的商用集群上。Hadoop主要包含兩個核心組件,即分布式文件系統(tǒng)HDFS和分布式計算模型MapReduce。HDFS[15]是Hadoop的分布式文件系統(tǒng),包含兩種節(jié)點(diǎn):namenode(管理者)和datanode(工作者)。namenode負(fù)責(zé)管理整個文件系統(tǒng)的命名空間,維護(hù)文件系統(tǒng)的樹及樹內(nèi)的所有文件目錄,并將這些元數(shù)據(jù)保存在namenode的本地磁盤上。namenode也同時記錄每個塊及各個塊的數(shù)據(jù)節(jié)點(diǎn)信息。HDFS文件系統(tǒng)實際存儲是由datanode負(fù)責(zé),根據(jù)需要存儲和檢索的數(shù)據(jù)塊,定期向namenode發(fā)送它們所存儲塊的列表,從而與namenode進(jìn)行交互。MapReduce是一個編程框架模型,可以進(jìn)行穩(wěn)定、高效、超大數(shù)據(jù)量的分布式分析計算。MapReduce的執(zhí)行主要包含Map和Reduce兩個過程,當(dāng)Map過程結(jié)束后還會進(jìn)行Shuffle/Sort過程,負(fù)責(zé)對Map產(chǎn)生的輸出進(jìn)行排序和把Map輸出傳遞給Reduce。
2.2Hive/UDF
Hive[16-17]是構(gòu)建在Hadoop上的數(shù)據(jù)倉庫平臺,其目的是讓Hadoop上的數(shù)據(jù)操作與傳統(tǒng)的SQL相結(jié)合,讓開發(fā)更簡單。Hive可以在HDFS上構(gòu)建數(shù)據(jù)倉庫來存儲結(jié)構(gòu)化的數(shù)據(jù),這些數(shù)據(jù)來源于HDFS的原始數(shù)據(jù)。Hive擁有類似SQL的HiveQL查詢語言,可以進(jìn)行存儲、查詢、變換數(shù)據(jù)、分析數(shù)據(jù)等操作。通過解析HiveQL[18]語句,在底層被轉(zhuǎn)換成MapReduce操作。更方便的是,Hive提供自定義函數(shù),即UDF(User Defined Function)。雖然Hive中內(nèi)置許多函數(shù),但通常并不能滿足用戶的需求,因此Hive提供了自定義函數(shù)的開發(fā)。用戶根據(jù)自己的需求編寫相應(yīng)的函數(shù),從而更方便地對數(shù)據(jù)進(jìn)行處理。在使用時,可以將自定義的函數(shù)打成jar包,在Hive會話中添加自定義jar文件,然后創(chuàng)建函數(shù),繼而使用。另外,也可以將自定義函數(shù)寫到Hive的內(nèi)置函數(shù)中,使之成為默認(rèn)函數(shù),這樣就不需要在使用時重新創(chuàng)建。通過上述內(nèi)容不難發(fā)現(xiàn),使用Hive中的HiveQL語句比編寫MapReduce代碼更簡單,而且提供UDF功能,更減少了開發(fā)的代碼。
2.3網(wǎng)絡(luò)爬蟲-WebMagic爬蟲框架
網(wǎng)絡(luò)通常類比成一個蜘蛛網(wǎng),每個節(jié)點(diǎn)就是一個網(wǎng)站,蜘蛛絲就是網(wǎng)站的鏈接,聯(lián)系著各個網(wǎng)站。網(wǎng)絡(luò)爬蟲的基本原理就是通過網(wǎng)頁中的鏈接地址來找到下一個網(wǎng)頁,通常從網(wǎng)站主頁面開始,讀取網(wǎng)頁HTML內(nèi)容,通過解析HTML內(nèi)容獲取到想要的內(nèi)容和其中的鏈接地址,然后從這個鏈接地址跳轉(zhuǎn)到下一個網(wǎng)頁,再進(jìn)行解析。就這樣一直不斷地重復(fù)下去,直到把這個網(wǎng)站上的所有網(wǎng)頁都分析完為止。
WebMagic是一個開源的Java垂直爬蟲框架,目標(biāo)是簡化爬蟲的開發(fā)流程,讓開發(fā)者注重邏輯功能開發(fā)。其主要功能包括:頁面下載、鏈接提取、URL管理和內(nèi)容分析與持久化。WebMagic中的各組件如下:
(1)Downloader組件:采用Apache HttpClient對頁面進(jìn)行下載,獲取頁面的HTML以便后續(xù)處理。
(2)PageProcessor組件:采用基于XPath和CSS的選擇器,對網(wǎng)頁的HTML內(nèi)容進(jìn)行解析,得到想要的信息。另外還可以從中獲取新的頁面鏈接。
(3)Schedule組件:主要負(fù)責(zé)對獲取的URL進(jìn)行管理并去掉重復(fù)的URL。開發(fā)人員不僅可以使用基于JDK的內(nèi)存隊列來管理URL,也可以通過Redis對URL進(jìn)行分布式管理。
(4)Pipeline組件:對爬取結(jié)果進(jìn)行自定義,獲取想要的數(shù)據(jù)格式,并且可以將結(jié)果保存到文件中或數(shù)據(jù)庫中,以實現(xiàn)數(shù)據(jù)的永久保存。
基于Hadoop的電信運(yùn)營商海量數(shù)據(jù)處理需要做到:
(1)不僅能夠海量讀取、存儲多種結(jié)構(gòu)的用戶數(shù)據(jù),還能對已有的數(shù)據(jù)倉庫進(jìn)行監(jiān)控和管理。
(2)能夠?qū)Υ笠?guī)模的數(shù)據(jù)進(jìn)行高效處理運(yùn)算,具有高數(shù)據(jù)吞吐量的功能。
(3)為了提高市場評估和網(wǎng)絡(luò)運(yùn)營能力,需要具有高拓展性,支持低成本數(shù)據(jù)挖掘,同時兼容多種應(yīng)用。
(4)實時性的數(shù)據(jù)分析要求不高。
基于以上的數(shù)據(jù)特性和目標(biāo),根據(jù)Hadoop和Hive的特性,對電信寬帶下的用戶終端信息進(jìn)行挖掘,可以更快地處理海量數(shù)據(jù),以及更方便地對用戶終端信息進(jìn)行挖掘。同時編寫UDF將源數(shù)據(jù)進(jìn)行預(yù)處理,從而得到人們期望處理的數(shù)據(jù)格式。Hive可以方便地插入用戶編寫的處理代碼并在查詢中調(diào)用它們。由此可以看出,利用hive執(zhí)行任務(wù)的效率低于直接用MapReduce程序執(zhí)行任務(wù)的效率,但是Hive給廣大用戶提供了最寶貴的SQL接口,并且避免了編寫繁瑣的MapReduce程序。為此,做出以下技術(shù)方案,如圖1所示。
圖1 技術(shù)方案
因為用戶數(shù)據(jù)中包含用戶終端信息的字段,不是規(guī)則的,無法直接通過HQL語句特定的函數(shù)進(jìn)行處理,所以采用UDF對用戶終端的字段進(jìn)行處理。通過對用戶數(shù)據(jù)中含有UA的字段進(jìn)行分析,寫出能獲取到用戶終端類型的正則表達(dá)式,寫成配置文件,作為正則匹配。UDF函數(shù)邏輯如圖2所示。
圖2 UDF函數(shù)邏輯
4.1實驗環(huán)境
CDH的Hadoop集群,一個namenode節(jié)點(diǎn),五個datanode節(jié)點(diǎn)。
namenode配置:CPU的型號為Intel 2650,內(nèi)存為16 G。
datanode配置:CPU為Intel 2650,內(nèi)存32 G。
4.2實驗數(shù)據(jù)
(1)用戶上網(wǎng)源數(shù)據(jù)。
為了驗證該技術(shù)方案,搭建了實驗測試環(huán)境,包括100臺終端(PC/PAD/PHONE/盒子),采集了12個月的數(shù)據(jù),共計1 000萬條。數(shù)據(jù)記錄包含字段有用戶寬帶賬號、用戶終端信息、用戶訪問的URL。解析用戶的UA就是在包含用戶終端信息的字段中。這個字段的部分?jǐn)?shù)據(jù)如圖3所示。
(2)識別用戶終端UA的正則表達(dá)式文件。
這個文件中的正則表達(dá)式觀察用戶上網(wǎng)的源數(shù)據(jù)中包含用戶終端信息的字段,寫出能匹配出用戶UA的正則表達(dá)式。
4.3實驗步驟
(1)創(chuàng)建用戶終端表。
create tablet_user_terminal_info (
username string,
ua string
dalvik/1.6.0(linux;u;android4.4.2;pe-tl10build/huaweipe-tl10)dalvik/1.6.0(linux;u;android4.4.2;huaweip7-l05build/huaweip7-l05)dalvik/1.6.0(linux;u;android4.4.4;coolpad8675-abuild/ktu84p)dalvik/2.1.0(linux;u;android5.1;m1metalbuild/lmy47i)dalvik/2.1.0(linux;u;android5.0.2;vivoy51abuild/lrx22g)qiyivideo/7.5(ios;com.qiyi.iphone;ios9.3.2;iphone6,2)dalvik/2.1.0(linux;u;android5.0.2;x600build/abxcnop5501304131s)
圖3 源數(shù)據(jù)的UA字段
)
row format delimited
fields terminated by ' ';
(2)將編寫解析UA的udf程序打成的jar包導(dǎo)到Hive的環(huán)境變量中。
addjar /home/shkd/20160418/udf/datamining-1.0-SNAPSHOT-jar-with-dependencies.jar;
(3)創(chuàng)造臨時函數(shù)uaparse,解析源數(shù)據(jù)中包含用戶終端UA的信息的字段。
create temporary functionuaparse as 'cn.com.runtrend.datamining.udf.UAParserUDF'
(4)在Hive腳本調(diào)用創(chuàng)建的臨時函數(shù),經(jīng)解析結(jié)構(gòu)存入t_user_terminal_info。
insert intot_user_terminal_info select username,uaparse (ua) from t_etlr_userinfo;
其中,t_etlr_userinfo為用戶上網(wǎng)源數(shù)據(jù)表。
(5)將解析UA中能代表用戶終端類型的字段與終端庫進(jìn)行匹配,獲取最終的終端類型。
4.4實驗結(jié)果
t_user_terminal_info的部分內(nèi)容見表1。
表1 t_user_terminal_info的部分內(nèi)容
將解析的UA與終端庫進(jìn)行匹配,最后對類型進(jìn)行匯總,得到識別的不同終端類型數(shù)量,如圖4所示。
圖4 識別的終端類型數(shù)量
4.5實驗評估
對于其他用戶終端,采用準(zhǔn)確率進(jìn)行評估。記各種終端的總樣本數(shù)為n,準(zhǔn)確識別的數(shù)量為m,識別終端的準(zhǔn)確率為c=m/n*100%。對于上面實驗得到的識別準(zhǔn)確率如圖5所示。
圖5 識別的終端準(zhǔn)確率
最終識別的準(zhǔn)確率并不是非常高,這其中存在一些主要原因:
(1)爬蟲獲取的終端庫可能并不完整,導(dǎo)致有些識別的終端不能被匹配到;
(2)正則匹配的配置文件中,正則匹配表達(dá)式并不完善,從而導(dǎo)致識別的終端出錯。
因此,正則表達(dá)式的配置文件和爬蟲的終端標(biāo)準(zhǔn)庫需要不斷更新,才能提高識別的準(zhǔn)確率。
通過實驗發(fā)現(xiàn),基于Hadoop/Hive集群可以實現(xiàn)對家庭固網(wǎng)寬帶下用戶終端信息的識別。Hadoop集群具有高可靠性、高拓展性、高容錯性。為分析固網(wǎng)寬帶用戶提供了一種非常好的技術(shù)手段。利用Hadoop平臺更高效,對電信寬帶用戶能精準(zhǔn)挖掘有用信息,實現(xiàn)流量變現(xiàn)。另外,Hive提供SQL接口,利用SQL可以更方便地使用Hadoop,而且Hive還提供自定義函數(shù),避免了復(fù)雜的MapReduce程序的編寫,讓開發(fā)更簡單。
[1] 張 引,陳 敏,廖小飛.大數(shù)據(jù)應(yīng)用的現(xiàn)狀與展望[J].計算機(jī)研究與發(fā)展,2013,50:216-233.
[2] 馮明麗,陳志彬.基于電信運(yùn)營商的大數(shù)據(jù)解決方案分析[J].通信與信息技術(shù),2013(5):36-40.
[3] Baghel S K,Keshav K,Manepalli V R.An investigation into traffic analysis for diverse data applications on smartphones[C]//National conference on communications.[s.l.]:IEEE,2012:1-5.
[4] 陳 勇.大數(shù)據(jù)及其商業(yè)價值[J].通信與信息技術(shù),2013(1):59-60.
[5] 王研昊,馬媛媛,楊 明,等.基于隱性標(biāo)識符的零權(quán)限Android智能終端識別[J].東南大學(xué)學(xué)報:自然科學(xué)版,2015,45(6):1046-1050.
[6] Sagiroglu S,Sinanc D.Big data:a review[C]//International conference on collaboration technologies and systems.[s.l.]:IEEE,2013:42-47.
[7] 程 瑩,張云勇,徐 雷,等.基于Hadoop及關(guān)系型數(shù)據(jù)庫的海量數(shù)據(jù)分析研究[J].電信科學(xué),2010,26(11):47-50.
[8] 梁其峰.WLAN終端識別技術(shù)研究[J].科技傳播,2013(18):186-188.
[9] Wu T,Xu Z,Ni L,et al.Towards a media fragment URI aware user agent[C]//Web information system and application conference.[s.l.]:IEEE,2014:37-42.
[10] La V H,Fuentes R,Cavalli A R.Network monitoring using MMT:an application based on the user-agent field in HTTP headers[C]//International conference on advanced information networking and applications.[s.l.]:[s.n.],2016:147-154.
[11] 何 莘,王琬蕪.自然語言檢索中的中文分詞技術(shù)研究進(jìn)展及應(yīng)用[J].情報科學(xué),2008,26(5):787-791.
[12] 徐 乾,鄂躍鵬,葛敬國,等.深度包檢測中一種高效的正則表達(dá)式壓縮算法[J].軟件學(xué)報,2009,20(8):2214-2226.
[13] Pal A,Agrawal S.An experimental approach towards big data for analyzing memory utilization on a hadoop cluster using HDFS and MapReduce[C]//International conference on networks & soft computing.[s.l.]:[s.n.],2014:442-447.
[14] White T.Hadoop權(quán)威指南[M].北京:清華大學(xué)出版社,2015.
[15] 劉 鵬,黃宜華,陳衛(wèi)衛(wèi).實戰(zhàn)Hadoop開啟通向云計算的捷徑[M].北京:電子工業(yè)出版社,2011.
[16] 謝 恒,王 梅,樂嘉錦,等.基于hive的計算結(jié)果特征提取與重用策略[J].計算機(jī)研究與發(fā)展,2015,52(9):2014-2024.
[17] Ganesh S,Binu A.Statistical analysis to determine the performance of multiple beneficiaries of educational sector using Hadoop-Hive[C]//International conference on data science & engineering.[s.l.]:IEEE,2014:32-37.
[18] Bhardwaj A,Vanraj,Kumar A,et al.Big data emerging technologies:a casestudy with analyzing twitter data using apache hive[C]//International conference on recent advances in engineering & computational sciences.[s.l.]:IEEE,2015:1-6.
ResearchandImplementationofTerminalIdentificationTechnologyofFixed-lineBroadbandBasedonHadoop
FAN Meng-ke,WANG Pan
(School of Internet of Things,Nanjing University of Posts and Telecommunications,Nanjing 210003,China)
With the coming of the era of big data,big data is more and more widely applied in various industries,which is also done in operators industry,but many technical problems are found simultaneously,of which family portraits of shaping is a core for operators of large data.How to extract and identify the terminal type of fixed-line broadband is a problem needed to be solved.Unlike mobile network,fixed-line broadband don’t take any accurate terminal information due to lack of signaling channel,so it is hard to conduct terminal type identification in fixed-line.The traditional method adopts UA fields of HTTP GET message parsing and matching for identification,but it is low in identification accuracy because of UA non-standardized and the large amounts of terminal number and varieties.Based on the Hadoop framework,the UDF of Hive is used,and combined with the distributed crawler for obtainment of terminal library,the user terminal information online is identified more quickly and accurately.According to the experiment,the accuracy of terminal identification can reach above 92%,a substantial increase compared with the traditional method.
terminal identification;Hadoop;User Defined Function (UDF);distributed crawler;fixed-line broadband;big data operations
2016-11-27
2017-03-29 < class="emphasis_bold">網(wǎng)絡(luò)出版時間
時間:2017-08-01
2015江蘇省產(chǎn)學(xué)研前瞻性聯(lián)合研究項目(BY2015011-02)
范孟可(1990-),男,碩士研究生,研究方向為大數(shù)據(jù)分析技術(shù)。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170801.1552.048.html
TP31
A
1673-629X(2017)11-0171-05
10.3969/j.issn.1673-629X.2017.11.037