李強(qiáng) 金雨超 郭景贊
在傳統(tǒng)的Gn數(shù)據(jù)解析過程中,業(yè)務(wù)類型里“未知服務(wù)”的占比通常在70%以上。為了提高解析結(jié)果的分析價值,結(jié)合數(shù)據(jù)分析和數(shù)據(jù)挖掘技術(shù)對DNS解析流量字段進(jìn)行細(xì)分,該設(shè)計方案在最大化利用原始數(shù)據(jù)的同時,能從多維度細(xì)分用戶網(wǎng)絡(luò)業(yè)務(wù),優(yōu)化結(jié)果可以為用戶畫像、用戶標(biāo)簽、用戶群體特征等分析應(yīng)用提供有力支持。
數(shù)據(jù)挖掘 數(shù)據(jù)解析 網(wǎng)絡(luò)業(yè)務(wù)類型劃分 聚類算法
1 引言
21世紀(jì)信息和通信技術(shù)高速發(fā)展,技術(shù)的進(jìn)步給人們的日常生活帶來了諸多便利。通訊是社會交往中的重要紐帶,推動著數(shù)字信息的發(fā)展。通信行業(yè)的大數(shù)據(jù)應(yīng)用,能夠優(yōu)化移動通信網(wǎng)絡(luò),開拓更豐富的服務(wù)業(yè)務(wù),為移動用戶提供更精準(zhǔn)、更便捷的服務(wù)。
Gn數(shù)據(jù)是Gn口原始碼流解析得到的數(shù)據(jù),主要反映用戶使用各類數(shù)據(jù)業(yè)務(wù)的詳細(xì)情況。在傳統(tǒng)的Gn數(shù)據(jù)解析過程中,流量類型里“未識別TCP流量業(yè)務(wù)”、“未識別UDP流量業(yè)務(wù)”和“DNS解析流量業(yè)務(wù)”等類型均被劃為未知服務(wù)。這樣的計算模型會導(dǎo)致解析結(jié)果里未知服務(wù)的占比很高。
本文針對原始Gn數(shù)據(jù),提出了一種新的網(wǎng)絡(luò)業(yè)務(wù)分類方法:利用大數(shù)據(jù)并行計算模式解析DNS業(yè)務(wù)里的URL,解析結(jié)果通過挖掘算法(基于密度的聚類算法)模型處理,以確立新的網(wǎng)絡(luò)業(yè)務(wù)類型。
2 技術(shù)介紹
2.1 大數(shù)據(jù)處理步驟
大數(shù)據(jù)的飛速發(fā)展已經(jīng)影響到了各行各業(yè),其中信息、互聯(lián)網(wǎng)和通信行業(yè)受到的影響最大。大數(shù)據(jù)的到來恰逢通信行業(yè)的轉(zhuǎn)型過渡階段,給這個行業(yè)注入了新鮮的血液。
大數(shù)據(jù)處理方法通常為四步,分別是原始數(shù)據(jù)的采集、數(shù)據(jù)導(dǎo)入和預(yù)處理、數(shù)據(jù)的統(tǒng)計和分析以及數(shù)據(jù)挖掘。下面將按照這四個步驟的順序進(jìn)行闡述。
(1)數(shù)據(jù)采集
數(shù)據(jù)的采集階段是指用數(shù)據(jù)庫來接收以Web、App等形式傳送的數(shù)據(jù),在大數(shù)據(jù)的采集過程中,最主要的問題是處理高并發(fā)數(shù),同一時間點可能會有上萬條申請操作。而采集階段通常采用的優(yōu)化方式是在這些數(shù)據(jù)庫之間進(jìn)行分時分片管理和負(fù)載均衡。
(2)數(shù)據(jù)導(dǎo)入和預(yù)處理
數(shù)據(jù)導(dǎo)入指的是將原始數(shù)據(jù)導(dǎo)入到分布式存儲集群,并且在導(dǎo)入過程中,對數(shù)據(jù)做去除噪聲點、篩選特定條件等清洗工作。導(dǎo)入和預(yù)處理過程中面臨的主要效率瓶頸是網(wǎng)絡(luò)帶寬和磁盤IO。
(3)數(shù)據(jù)統(tǒng)計和分析
大數(shù)據(jù)場景下的統(tǒng)計與分析主要通過分布式計算集群來對數(shù)據(jù)進(jìn)行分析和分類匯總等,在這一階段,最常用的兩個計算框架是Hadoop和Spark。統(tǒng)計與分析遇到的主要問題是,分析時所涉及的數(shù)據(jù)量通常很大,其對系統(tǒng)資源會造成極大的占用。
(4)數(shù)據(jù)挖掘
數(shù)據(jù)挖掘階段是一個知識發(fā)現(xiàn)的過程,一般沒有預(yù)先設(shè)定好的主題。比較典型的算法有用于聚類分析的K-means算法、用于統(tǒng)計學(xué)習(xí)的SVM算法和用于分類的Na?ve-Bayes算法。該過程的特點主要是用于挖掘的算法一般比較復(fù)雜,考慮到系統(tǒng)資源的開銷,需要選擇合適的計算框架。
2.2 基于聚點密度和距離的高效聚類算法
把一個數(shù)據(jù)集分割成不同的類或簇,使得同簇內(nèi)數(shù)據(jù)對象的相似性盡可能大,不同簇中數(shù)據(jù)對象的差異性也盡可能地大,通常采用聚類算法。從傳統(tǒng)的聚類分析方法來看,在進(jìn)行聚類之前都需要先確定要聚類的類別數(shù)目,然而在現(xiàn)實運營數(shù)據(jù)的分析過程中,聚類的類別結(jié)果通常是未知的,一般要經(jīng)過多次實驗來獲得相對合適的聚類數(shù)目??紤]到本文中要分析的數(shù)據(jù)是多維度的結(jié)構(gòu)化數(shù)據(jù),且聚類結(jié)果不需要人工干預(yù),可以參考Alex Rodriguez和Alessandro Laio提出的新的聚類算法,下面對此聚類算法做簡要介紹。
該算法假設(shè)所確定的類簇中心點是由一些局部密度相對其較低的點所環(huán)繞,并且這些點與其他高局部密度點(其他類簇中心點)的距離都比較大。首先定義兩個值:局部密度ρi以及到其他高局部密度點的距離δi。
ρi=Σj X(dij-dc) `(1)
(2)
公式中dc是一個臨界變量值,是一個預(yù)先設(shè)定的參數(shù)。從公式(1)和(2)可以得出,ρi相當(dāng)于和點i的距離差值小于dc的點的個數(shù)。由于該算法只對ρi的相對值敏感,所以面對大數(shù)據(jù)量時,為了算法的健壯性,對dc的選擇最好使得平均每個點的鄰居數(shù)為所有點數(shù)量的1%~2%。
δi=minj:ρj>ρi (dij) (3)
根據(jù)公式(3),δi用來表示點i和點j直接的距離,其中ρj>ρi。對于ρ值最大的點,設(shè)置其δi=maxj (dij)。
局部密度ρi和據(jù)其他中心點距離δi的值均很大的點被認(rèn)為是類簇的中心。局部密度較小但是δi較大的點則是異常點。在確定了類簇中心之后,非中心點屬于其距離最近的類簇中心所代表的類簇。
圖1是以ρ為橫坐標(biāo)、以δ為縱坐標(biāo)的決策圖??梢钥吹?,1號和10號兩個點的ρi和δi都比較大,可以作為聚類焦點。11、12、13三個點的δi比較大,但是ρi較?。ㄖ車c密度太?。?,所以是異常點,在聚類過程中將被清洗掉。
3 服務(wù)類型劃分系統(tǒng)模型設(shè)計
傳統(tǒng)的Gn數(shù)據(jù)解析過程中,在流量類型字段里,將“未識別TCP流量業(yè)務(wù)”、“未識別UDP流量業(yè)務(wù)”和“DNS解析流量業(yè)務(wù)”劃為未知服務(wù)。這樣的計算模型導(dǎo)致Gn數(shù)據(jù)解析后,業(yè)務(wù)類型里會有很高占比的未知服務(wù)。解決大量的“未知服務(wù)”的分類結(jié)果,既可以最大化地利用原始數(shù)據(jù),又可以在多維度的情況下,細(xì)分用戶的網(wǎng)絡(luò)業(yè)務(wù)。系統(tǒng)采用分布式集群架構(gòu),如圖2所示,分為數(shù)據(jù)獲取、數(shù)據(jù)清洗、數(shù)據(jù)解析、數(shù)據(jù)云存儲、數(shù)據(jù)模型挖掘、挖掘結(jié)果分析幾個步驟。
數(shù)據(jù)獲取階段,將Gn接口數(shù)據(jù)通過FTP的方式將數(shù)據(jù)傳送給數(shù)據(jù)清洗模塊。
數(shù)據(jù)清洗主要是完成無效字段的替換,將RNC解析流量對應(yīng)URL為空的記錄刪除,并完成目標(biāo)數(shù)據(jù)的選取,將Gn原始數(shù)據(jù)類型中流量類型為RNC解析流量的記錄截取出來。
數(shù)據(jù)解析,如圖3所示,所映射的URL包括查詢的域名及查詢類型。解析URL需要解析協(xié)議(如http、https)、域名或IP、端口號(如7001、8080)、Web上下文、URI,請求資源地址等。此處需要解析出域名,并將其存儲為一個新的字段。做一個URL映射表,將訪問域名進(jìn)行歸類映射,例如SINA映射為新聞咨詢?yōu)g覽,tianya映射為討論類論壇,weibo映射為社交網(wǎng)絡(luò)等。
數(shù)據(jù)云存儲階段,將解析后的數(shù)據(jù)以Parquet文件塊的形式存儲在HDFS上,作為數(shù)據(jù)挖掘接入口。
數(shù)據(jù)挖掘模型采用2.2節(jié)介紹的基于聚點密度和距離的高效聚類算法。將解析后的數(shù)據(jù)作為輸入端,通過挖掘模型計算,自動生成聚類結(jié)果。此處需要注意的是,由于算法中dc變量值(表示測量點臨界間距)需要事先設(shè)定好,所以為了得到合理的結(jié)果,需多次對數(shù)據(jù)進(jìn)行訓(xùn)練,找到一個符合業(yè)務(wù)分析需求的特定值。另外,根據(jù)用戶實際使用情況,同一種業(yè)務(wù)在不同時間段會產(chǎn)生不同的用戶體驗需求,以及每個人會有不同的使用習(xí)慣等,將輸入?yún)?shù)定為業(yè)務(wù)發(fā)生時間、RNC解析URL域名、年齡這三個字段。
4 計算結(jié)果分析
經(jīng)過多次訓(xùn)練,得到聚類分析結(jié)果,分別為:
(1)深夜(22:00—24:00),年齡<34,社交網(wǎng)絡(luò);
(2)中午(11:00—13:00),26<年齡<32,新聞資訊瀏覽。
傳統(tǒng)方式的Gn數(shù)據(jù)解析后,服務(wù)類型分為流媒體業(yè)務(wù)、下載業(yè)務(wù)、即時通信、瀏覽業(yè)務(wù)和未知服務(wù)五類。結(jié)合聚類分析的結(jié)果可以初步判斷,在未知服務(wù)內(nèi)會有大部分人喜歡深夜使用社交網(wǎng)絡(luò)服務(wù),以及會有很多青年人會選擇在中午的時候瀏覽新聞咨詢??梢試L試在服務(wù)類型中將第五類未知服務(wù)新分出一類:社交網(wǎng)絡(luò)服務(wù),其確定的方法可以按照聚類的方式倒推,即匹配其解析后的URL。
5 結(jié)束語
本文對比傳統(tǒng)的Gn數(shù)據(jù)解析方式,提出了一種基于數(shù)據(jù)挖掘的網(wǎng)絡(luò)業(yè)務(wù)類型劃分方法。在實際應(yīng)用中,該方法在處理大規(guī)模數(shù)據(jù)和高維數(shù)據(jù)時性能有待于提高。針對這種情況,有學(xué)者提出一種在高維空間挖掘映射聚類的方法PCKA,它能從多個維度中篩選出相關(guān)的維度,并根據(jù)相關(guān)維度進(jìn)行聚類。另一方面,如需要對全國范圍的Gn數(shù)據(jù)業(yè)務(wù)分類,應(yīng)使用更全面的數(shù)據(jù)進(jìn)行模型訓(xùn)練。
參考文獻(xiàn):
[1] 陳宇. 京廣高鐵GPRS業(yè)務(wù)Gn接口數(shù)據(jù)監(jiān)測的應(yīng)用[J]. 鄭鐵科技, 2013(1): 23.
[2] 韓宇. 基于數(shù)據(jù)挖掘的聯(lián)通運營監(jiān)控模塊的設(shè)計與實現(xiàn)[D]. 沈陽: 東北大學(xué), 2011.
[3] 陳平,郭蘭珂,方俊湘. 微信業(yè)務(wù)的識別方法研究[J]. 移動通信, 2013,37(18): 80-83.
[4] 鄭桂鳳. 移動互聯(lián)網(wǎng)的用戶行為分析系統(tǒng)的設(shè)計與實現(xiàn)[D]. 北京: 北京郵電大學(xué), 2010.
[5] 閆春榮,牟宏蕾,郝亞飛. 移動通信大數(shù)據(jù)信息在決策分析平臺中的應(yīng)用方案研究[J]. 移動通信, 2016,40(10): 24-28.
[6] 李玲俐. 數(shù)據(jù)挖掘中分類算法綜述[J]. 重慶師范大學(xué)學(xué)報: 自然科學(xué)版, 2011(4): 44-47.
[7] 劉明吉,王秀峰. 數(shù)據(jù)挖掘中的數(shù)據(jù)預(yù)處理[J]. 計算機(jī)科學(xué), 2000,27(4): 54-57.
[8] 胡志風(fēng). 大數(shù)據(jù)在職務(wù)犯罪偵查模式轉(zhuǎn)型中的應(yīng)用[J]. 國家檢察官學(xué)院學(xué)報, 2016(4): 144-153.
[9] 鄭雅麗. 圖書館應(yīng)用大數(shù)據(jù)的策略研究[J]. 科技視界, 2015(12): 163-164.
[10] Usama Fayyad, Gregory Piatetsky-Shapiro, Padhraic Smyth. From data mining to knowledge discovery in databases[J]. AI magazine, 1996,17(3): 37.
[11] Liao Shu-Hsien, Pei-Hui Chu, Pei-Yuan Hsiao. Data mining techniques and applications–A decade review from 2000 to 2011[J]. Expert Systems with Applications, 2012,39(12): 11303-11311. ★