鄧小盾
(西安外事學院 陜西西安710077)
一種基于大數據的網絡日志分析模型構建研究
鄧小盾
(西安外事學院 陜西西安710077)
針對海量web日志數據在存儲和計算方面存在的問題,結合當前的大數據技術,提出一種基于Hadoop與聚類分析的網絡日志分析模型。利用Hadoop中的MapReduce編程模型對海量Web日志進行處理;利用HDFS結合的方式對數據進行存儲;利用聚類分析算法構建web日志分析模型,對用戶行為進行分析。最后通過搭建Hadoop測試環境對日志分析系統功能進行測試,并與單機系統比較,驗證了該設計方案的優勢。
大數據;web日志;MapReduce編程模型;HDFS;聚類分析
隨著我國信息技術的不斷發展,在各個企業、公共部門等結構內部網絡中,積累了大量的軟件和硬件資源,如交換機、路由器、防火墻PC服務器、Unix小型機、各類業務應用系統、中間件、數據庫等。這些設備每天持續不斷產生大量日志,并對這些日志進行記錄。對于日志文件,作為不同軟硬件資源運行中對故障問題和用戶行為記錄的一個重要工具,受到廣泛的關注。通過日志可監控系統運行,查看不同硬件的故障,并保護系統的安全等,從而發現其中的異常行為,為及時處置網絡安全事件提供參考。而隨著大量日志的產生,日志的存儲開始由原來的GB開始往TB或PB級別發展。同時,傳統日志分析中采用的單機技術對海量數據進行處理,這給數據存儲和分析帶來很大的技術瓶頸。對此,針對這些問題,大數據技術開始被人們關注,并應用到對海量數據的處理中,典型的代表則是谷歌Hadoop平臺下的Google MapReduce和GFS等存儲工具。在Hadoop平臺下,集成了對數據存儲、數據處理和數據管理等全部功能,并成為了當前大數據應用的標準,特別是在對海量數據的搜索、挖掘和分析。
對此,本文針對傳統日志分析的缺陷,從web日志分析角度出發,在Hadoop平臺下,提出一種基于MapReduce編程模型和聚類分析的行為日志模型,并對其進行了詳細的實現。
本文提出的基于Hadoop平臺下的web日志分析系統主要包含以下幾個功能模塊:日志預處理模塊、日志存儲模塊、日志挖掘模塊。其中,日志預處理是數據挖掘的前提,對數據處理的好壞直接決定系統的運行;數據存儲包含系統數據存儲架構,是系統運行的保障;日志挖掘主要負責對預處理的文件進行挖掘分析,從而挖掘出有用的信息。具體功能見如圖1所示。

圖1 系統功能需求分析
針對圖1所示的功能,設計出一款主要針對海量日志數據的用戶行為系統,從而旨在改變傳統單機技術在海量數據分析方面存在的局限,提高數據分析和挖掘的效率。架構具體見如圖2所示。

圖2 系統整體架構設計
通過圖2看出,Hadoop集群層是整個日志行為分析系統的基礎,為整個提供軟硬件和網絡支撐。在該層中由1個主服務器和N個從服務器組成;HDFS分布式文件處理系統主要負責對數據進行存儲,并提供與MapReduce層調用的接口;MapReduce計算層主要負責對海量數據采用映射/規約等方式進行并行運算,從而將任務分配給下屬的各個節點,在通過處理后,將信息整合進行整合得到最終結果;業務邏輯層主要利用Hadoop的集群環境對日志數據進行存儲,并運用MapReduce的計算來分析日志用戶的行為偏好。
數據預處理作為該系統的一個重要模塊,是數據挖掘的基礎。本系統則將數據直接存入到HDFS文件系統中,默認切分為每塊為64 MB大小的文件,保存在各個DataNode上。而為了加快對原始數據的清理和識別,引入MapReduce編程模型,其具體原理如圖3所示。
1)Map階段
在Map階段,主要輸入web日志中的每條記錄,輸出格式為<key,value>鍵值對,其中key表示用戶ID,value表示<鏈接地址、上一跳鏈接地址、時間>。對于Map階段來看,其主要實現對數據的清理。具體步驟為:
①對web日志進行切分處理,并分割不同數據的屬性;
②判斷數據請求方式是否為“GET”,如不是,刪除該數據,如是,繼續處理;

圖3 MapReduce工作原理
③判斷文件格式是否在要求的文件格式中,如沒有,刪除;
④判斷該日志返回的標識碼是否在200~299之間,如不在,刪除,如在則按照標準格式輸出。
2)Reduce階段
Reduce階段主要完成對對應的Map處理數據的合并。在該階段引入Combiner函數。具體步驟為:
①使用迭代器遍歷每個記錄的value,取出其中的ip,并將其放入到USIt容器中。
②遍歷USIt容器,判斷ip是否相同,如不同則視作新用戶。
對存儲模塊的設計則采用HDFS文件處理系統與Mysql組合的方式,其中HDFS主要負責存儲全部數據,Mysql負責存儲從HDFS系統中導出的數據,從而為數據挖掘奠定基礎。為了將HDFS系統中的文件導入到Mysql中,引入sqoop工具,從而將HDFS中的數導入到Mysql中。具體實現架構如圖4所示。

圖4 存儲架構
在對大數據的挖掘中,常用的方法包括關聯規則、回歸分析、聚類等,其中K-means聚類是最為簡單,也是最為高效的算法。其核心思想是以樣本空間中的個點作為中心點,通過迭代,對其周圍的樣本進行歸類并重新計算中心點的值,直到收斂。雖然該方法簡單,但是在該算法中最為關鍵的K值往往是根據經驗來確定。為解決該問題,通常會通過反復的實驗,從而取一個較好的聚類K值。對此本文結合以往的研究,提出一種最小最大距離算法對K值進行確定。該方法的核心思想是在對web日志進行聚類的過程中,選取原點作為初始點的參照點,選擇一個最遠和最近的點作為初始點,計算數據集合中點到這兩點的距離。將K-means放到MapReduce中,具體算法則可以描述為如圖5所示。

圖5 基于K-means的MapReduce并行化處理
搭建基于Hadoop的平臺,總共5臺計算機,其中一臺為主服務器,其他的4臺為從服務器。安裝Java6版本,Mysql數據庫采用5.5版本,Hadoop采用2.3版本。
通過上述環境的搭建,可以得到如圖6所示的數據處理對比結果。

圖6 分布式和單機式數據處理結果對比圖

圖7 日志聚類結果
通過圖7可以看出,采用基于Hadoop的集群其數據處理的大小要遠遠大于傳統的單機處理方式。同時通過引入K-means算法對web文本日志進行分析,得到總共5類不同的活躍用戶,其中每一類的數據都是通過IP解析得到,并得到第三類、第五類的訪問最多,最值得我們關注。
針對傳統單機處理基礎存在的弊端,引入基于Hadoop的平臺,從而大大提提高了數據處理的效率,同時引入K-means算法對日志進行挖掘分析,取得良好的效果,可有效地根據用戶IP得到其行為特征,從而為大數據技術的進一步利用提供了參考,也奠定了未來應用的基礎。
[1]嚳巖龍,羅壯,楊說,等.基于hadoop的高性能海量數據處理平臺研究[J].計算機科學,2013,40(3):100-103.
[2]周詩慧,殷建.Hadoop平臺下的并行Web日志挖掘算法[J].計算機工程,2013(6):43-46.
[3]馬漢達,郝曉宇,馬仁慶.基于Hadoop的并行PSO-kmeans算法實現Web日志挖掘[J].計算機科學,2015(S1):470-473.
[4]任凱,鄧武,俞琰.基于大數據技術的網絡日志分析系統研究[J].現代電子技術,2016(2):39-41,44.
[5]于兆良,張文濤,葛慧,等.基于Hadoop平臺的日志分析模型[J].計算機工程與設計,2016(2):338-344,428.
[6]張春生,郭長杰,尹兆濤.基于大數據技術的IT基礎設施日志分析系統設計與實現[J].微型電腦應用,2016(6):49-52.
[7]陳潔,于永剛,劉明恒,等.安全管理平臺中基于云計算的日志分析系統設計[J].計算機工程,2015(2):21-25.
[8]江小平,李成華,向文,等.k-means聚類算法的MapReduce并行化實現[J].華中科技大學學報:自然科學版,2011(S1):120-124.
[9]周婷,張君瑛,羅成.基于Hadoop的K-means聚類算法的實現[J].計算機技術與發展,2013(7):18-21.
[10]李洪成,吳曉平,陳燕.MapReduce框架下支持差分隱私保護的k-means聚類方法[J].通信學報,2016(2):124-130.
[11]李歡,劉鋒,朱二周.基于改進K-means算法的海量數據分析技術研究[J].微電子學與計算機,2016(5):52-57.
[12]楊勇,任淑霞,冉娟,李春青.基于粒子群優化的k-means改進算法實現Web日志挖掘[J].計算機應用,2016(S1):29-32,36.
[13]衣治安,王月.基于MapReduce的K_means并行算法及改進[J].計算機系統應用,2015(6):188-192.
[14]謝雪蓮,李蘭友.基于云計算的并行K-means聚類算法研究[J].計算機測量與控制,2014(5):1510-1512.
[15]何佩佩,謝穎華.云環境下K-means算法的并行化[J].微型機與應用,2015(24):25-27,31.
Research on the construction of a network log analysis model based on large data
DENG Xiao-dun
(Xi'an International University,Xi'an710077,China)
In view of the problems existing in the storage and computation of massive web log data,a new network log analysis model based on Hadoop and cluster analysis is proposed.To deal with the massive Web log using MapReduce programming model in Hadoop;using the combination of HDFS for data storage;model Web log analysis algorithm based on clustering,user behavior analysis.Finally,the function of the log analysis system is tested by building the Hadoop test environment,and the advantages of the design scheme are verified by comparing with the single machine system.
big data;web log;mapReduce programming model;HDFS;cluster analysis
TN0
A
1674-6236(2017)23-0097-04
2016-10-11稿件編號:201610039
2015—2016年度陜西省高教學會高水平民辦大學建設研究項目(15GJ044);2016年度西安市社會科學規劃基金項目(16IN13);2016年度陜西省教育廳科學研究項目(16JK2178)
鄧小盾(1979—),女,陜西涇陽人,碩士,講師。研究方向:大數據、人工智能。