亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Hadoop的民航日志分析系統(tǒng)及應(yīng)用

        2017-03-06 00:10:08李建曾新勵(lì)
        軟件導(dǎo)刊 2017年1期
        關(guān)鍵詞:并行計(jì)算

        李建+曾新勵(lì)

        摘要摘要:民航信息系統(tǒng)日志包含大量信息,但由于日志數(shù)據(jù)非結(jié)構(gòu)化,不易被讀取且數(shù)據(jù)量巨大,難以通過人工分析得出有價(jià)值信息。Hadoop分布式計(jì)算技術(shù)恰好可以很好地解決這個(gè)問題。設(shè)計(jì)了基于Hadoop的民航日志分析系統(tǒng),系統(tǒng)結(jié)合數(shù)據(jù)挖掘領(lǐng)域經(jīng)典的KNN分類算法,對(duì)算法進(jìn)行了并行化改進(jìn),給出算法在Hadoop平臺(tái)的MapReduce編程模型上的執(zhí)行流程。對(duì)系統(tǒng)進(jìn)行單機(jī)和集群測(cè)試,集群系統(tǒng)在處理較大規(guī)模數(shù)據(jù)時(shí)更高效。實(shí)驗(yàn)結(jié)果證明,系統(tǒng)具有較高的執(zhí)行效率和可擴(kuò)展性,對(duì)民航日志分析具有較高的實(shí)用價(jià)值。

        關(guān)鍵詞關(guān)鍵詞:日志分析;Hadoop;KNN算法;并行計(jì)算;MapReduce

        DOIDOI:10.11907/rjdk.162386

        中圖分類號(hào):TP319文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2017)001010004

        引言

        隨著民航信息化建設(shè)的深入,民航信息系統(tǒng)越來越多,復(fù)雜度越來越高。系統(tǒng)每天產(chǎn)生大量日志數(shù)據(jù),這些數(shù)據(jù)記錄著系統(tǒng)的運(yùn)行狀態(tài)。目前民航系統(tǒng)日志數(shù)據(jù)分為兩部分:①過去運(yùn)行生成的大文件,約56GB;②每天生成的文件,大約是200-300MB。日志是apache common格式,分析系統(tǒng)產(chǎn)生的日志數(shù)據(jù)成為了解系統(tǒng)安全與可擴(kuò)展性的重要途徑,相關(guān)業(yè)務(wù)指標(biāo)可供運(yùn)營(yíng)決策者使用。

        由于日志信息不易讀懂且數(shù)據(jù)量不斷增長(zhǎng),利用人工或傳統(tǒng)分析技術(shù)難以發(fā)掘出有效信息。Hadoop提供的分布式計(jì)算技術(shù)為解決此問題提供了思路。Hadoop平臺(tái)提供的分布式文件存儲(chǔ)和并行計(jì)算能力,充分利用了集群高速運(yùn)算和存儲(chǔ)的優(yōu)點(diǎn),用戶可在不了解分布式底層細(xì)節(jié)的情況下,利用Hadoop所提供的MapReduce并行計(jì)算框架,開發(fā)一個(gè)高度可擴(kuò)展的分布式處理系統(tǒng),進(jìn)行大數(shù)據(jù)分類工作。

        數(shù)據(jù)分類作為數(shù)據(jù)挖掘領(lǐng)域的重要分支,是數(shù)據(jù)挖掘非常重要的研究方向[1],其中KNN分類算法是數(shù)據(jù)挖掘領(lǐng)域的經(jīng)典算法[2]。該算法是一種基于實(shí)例的學(xué)習(xí)算法,其核心是根據(jù)已知對(duì)象與未知對(duì)象之間相似度的比較來對(duì)未知對(duì)象進(jìn)行分類。當(dāng)給定一個(gè)未知實(shí)例時(shí),KNN 分類算法根據(jù)與該實(shí)例最近的k個(gè)實(shí)例進(jìn)行分類。

        本文基于Hadoop平臺(tái)下的MapReduce并行技術(shù),研究并實(shí)現(xiàn)民航日志分析系統(tǒng)。利用Hadoop提供的分布式存儲(chǔ)來存放日志數(shù)據(jù),結(jié)合KNN數(shù)據(jù)挖掘算法對(duì)數(shù)據(jù)進(jìn)行更深層次的分析,提高數(shù)據(jù)利用價(jià)值。算法整體分為數(shù)據(jù)預(yù)處理、訓(xùn)練、分類3個(gè)階段。KNN分類算法進(jìn)行MapReduce并行化的基本思路是:首先將訓(xùn)練樣本和測(cè)試樣本數(shù)據(jù)預(yù)處理并上傳到Hadoop的文件系統(tǒng)中,然后將計(jì)算量很大的數(shù)據(jù)預(yù)處理階段和訓(xùn)練階段作業(yè)內(nèi)容交由Map計(jì)算過程處理,完成測(cè)試樣本與訓(xùn)練樣本的歐式距離計(jì)算,再將Map計(jì)算結(jié)果提交到Reduce進(jìn)行數(shù)據(jù)分類,最終得到測(cè)試樣本分類結(jié)果。

        實(shí)驗(yàn)選取系統(tǒng)產(chǎn)生的幾組日志數(shù)據(jù)在Hadoop集群上測(cè)試,并與單機(jī)環(huán)境比對(duì)。實(shí)驗(yàn)結(jié)果證明,集群系統(tǒng)具有較高的執(zhí)行效率、良好的加速比和擴(kuò)展性。

        1相關(guān)工作

        1.1Hadoop平臺(tái)

        Hadoop是Apache軟件基金會(huì)的開源項(xiàng)目,也是并行處理大規(guī)模數(shù)據(jù)的代表性產(chǎn)品。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,利用Hadoop提供的分布式系統(tǒng)基礎(chǔ)架構(gòu)開發(fā)分布式應(yīng)用,將集群存儲(chǔ)資源、網(wǎng)絡(luò)資源和計(jì)算資源統(tǒng)一起來,實(shí)現(xiàn)海量數(shù)據(jù)的高速運(yùn)算和存儲(chǔ)。Hadoop層次結(jié)構(gòu)如圖1所示。

        Hadoop框架最核心的設(shè)計(jì)是HDFS和MapReduce。HDFS是一個(gè)分布式文件系統(tǒng),具有高容錯(cuò)性特點(diǎn),可以部署在廉價(jià)硬件上,由一個(gè)名稱節(jié)點(diǎn)(NameNode)和N個(gè)數(shù)據(jù)節(jié)點(diǎn)(DataNode)組成。 NameNode節(jié)點(diǎn)是整個(gè)文件系統(tǒng)的管理節(jié)點(diǎn),它維護(hù)著整個(gè)文件系統(tǒng)的目錄樹,文件根目錄的元信息和每個(gè)文件對(duì)應(yīng)的數(shù)據(jù)塊列表,接收用戶的操作請(qǐng)求,以及數(shù)據(jù)塊列表到具體存儲(chǔ)數(shù)據(jù)DataNode節(jié)點(diǎn)的映射。集群中的DataNode節(jié)點(diǎn)在NameNode節(jié)點(diǎn)的統(tǒng)一調(diào)度下提供數(shù)據(jù)文件的存儲(chǔ)服務(wù),并且提供數(shù)據(jù)塊的創(chuàng)建、刪除和復(fù)制功能[4]。

        1.2MapReduce分布式計(jì)算框架

        MapReduce是一種并行編程模型,基于HDFS基礎(chǔ)上實(shí)現(xiàn),主要針對(duì)大規(guī)模數(shù)據(jù)集的并行計(jì)算。MapReduce編程模型原理:JobTracker主節(jié)點(diǎn)負(fù)責(zé)接收用戶提交的作業(yè),負(fù)責(zé)啟動(dòng)、跟蹤任務(wù)執(zhí)行,對(duì)大數(shù)據(jù)集按塊進(jìn)行分割,然后將數(shù)據(jù)塊分發(fā)到若干個(gè)TaskTracker節(jié)點(diǎn)上。TaskTracker節(jié)點(diǎn)負(fù)責(zé)執(zhí)行用戶自定義的MapReduce任務(wù),并將執(zhí)行完成得到的結(jié)果返回JobTracker主節(jié)點(diǎn)。整個(gè)計(jì)算過程中,數(shù)據(jù)的輸入輸出均采用鍵值對(duì)形式。MapReduce執(zhí)行流程如圖2所示。

        1.3KNN分類算法

        KNN分類算法是一種基于實(shí)例的學(xué)習(xí)算法,其原理簡(jiǎn)單、易于實(shí)現(xiàn)。算法原理是將訓(xùn)練實(shí)例和測(cè)試實(shí)例看作n維空間內(nèi)的點(diǎn),給定一條測(cè)試實(shí)例,搜索n維空間,找出與測(cè)試實(shí)例最相近的k個(gè)點(diǎn),最后取這k個(gè)點(diǎn)中的多數(shù)類作為測(cè)試實(shí)例類別。相似度的度量方法采用空間內(nèi)兩個(gè)點(diǎn)的距離來衡量。兩點(diǎn)間距離越大,表示兩個(gè)點(diǎn)越不相似。選擇歐幾里得距離作為度量方法。由于KNN分類算法需要多次掃描數(shù)據(jù)集,前后之間沒有計(jì)算順序上的相關(guān)性,每個(gè)待分類的樣本都可以獨(dú)立進(jìn)行KNN分類,因此可以用并行化方法來實(shí)現(xiàn)KNN算法。

        2日志分析系統(tǒng)設(shè)計(jì)

        2.1系統(tǒng)架構(gòu)

        系統(tǒng)日志處理流程:①日志采集;②存儲(chǔ);③日志清洗;④分析;⑤顯示,結(jié)構(gòu)如圖3所示。日志采集階段負(fù)責(zé)將日志服務(wù)器中指定的日志數(shù)據(jù)上傳到Hadoop集群中的HDFS文件系統(tǒng)。由于日志記錄中往往包含噪聲,需先進(jìn)行必要的數(shù)據(jù)清洗,將清洗后存放在HDFS上的數(shù)據(jù)作為分析階段的數(shù)據(jù)輸入。分析階段KNN算法結(jié)合MapReduce編程模型,整體分為訓(xùn)練和分類兩個(gè)部分。KNN分類算法進(jìn)行MapReduce并行化的基本思路:首先JobTracker主節(jié)點(diǎn)接受用戶請(qǐng)求,啟動(dòng)TaskTracker節(jié)點(diǎn)執(zhí)行Map計(jì)算開始樣本訓(xùn)練,完成測(cè)試樣本與訓(xùn)練樣本的歐式距離計(jì)算;然后在執(zhí)行Map計(jì)算的節(jié)點(diǎn)執(zhí)行Combine函數(shù)對(duì)數(shù)據(jù)進(jìn)行規(guī)約處理,以減少提交到Reduce節(jié)點(diǎn)的數(shù)據(jù)量;當(dāng)Reduce節(jié)點(diǎn)收到中間計(jì)算結(jié)果后進(jìn)入分類階段,對(duì)測(cè)試樣本進(jìn)行分類處理。分析結(jié)果仍然存儲(chǔ)在HDFS文件系統(tǒng)中,最后經(jīng)過頁面展示以可視化形式顯示給用戶。

        2.2日志采集階段

        日志采集階段使用flume技術(shù)。flume是一個(gè)分布式數(shù)據(jù)收集系統(tǒng),也是Hadoop生態(tài)系統(tǒng)的重要組件之一,具有高可靠、高可用、事務(wù)管理、失敗重啟等功能。flume啟動(dòng)通過后臺(tái)腳本定時(shí)執(zhí)行,數(shù)據(jù)處理速度快[5]。flume核心是agent,agent是一個(gè)java進(jìn)程,運(yùn)行在日志收集端Web服務(wù)器中,通過agent收集每一個(gè)前端Web服務(wù)器中產(chǎn)生的日志數(shù)據(jù),然后暫存起來,再發(fā)送到目的地HDFS存儲(chǔ)系統(tǒng)。

        2.3數(shù)據(jù)預(yù)處理階段

        使用flume把日志數(shù)據(jù)導(dǎo)入到HDFS中,再使用MapReduce對(duì)HDFS中的原始數(shù)據(jù)進(jìn)行清洗,將Web日志數(shù)據(jù)向量化表示。一條Web日志記錄往往不完整或者包含噪聲,實(shí)際使用時(shí)并無用處,需要預(yù)先處理[6]。例如請(qǐng)求一個(gè)URL頁面時(shí),與頁面相關(guān)的js或樣式文件圖片等信息也會(huì)記錄在日志中,需要在預(yù)處理中刪除后綴為jpg等圖片格式、js等相關(guān)記錄行,只保留用戶IP地址、請(qǐng)求時(shí)間、請(qǐng)求方法、請(qǐng)求內(nèi)容、請(qǐng)求前的跳轉(zhuǎn)地址、瀏覽器類型及操作系統(tǒng)類型、服務(wù)器返回狀態(tài)相關(guān)內(nèi)容。實(shí)際情況中用戶可能使用代理或本地緩存,不同用戶可能使用相同IP地址訪問同一URL。對(duì)用戶進(jìn)行個(gè)體識(shí)別有3種方法:如果用戶使用不同IP訪問同一URL則視為不同用戶;如果使用相同IP但瀏覽器和操作系統(tǒng)不同則視為不同用戶;如果用戶的請(qǐng)求頁面與之前的跳轉(zhuǎn)頁面沒有超鏈接關(guān)系也視為不同用戶[7]。識(shí)別出用戶后就可以用戶為單位識(shí)別單個(gè)用戶所訪問的所有頁面,用戶訪問網(wǎng)站時(shí)所瀏覽的所有頁面組成一個(gè)用戶記錄,然后根據(jù)訪問內(nèi)容將用戶分為不同用戶群。得到清洗后的數(shù)據(jù)仍然存儲(chǔ)在HDFS中,保留可計(jì)算的屬性值,最后剩下的屬性值用空格分開,減輕后期數(shù)據(jù)處理壓力,然后將訓(xùn)練數(shù)據(jù)上傳到HDFS指定目錄下,將測(cè)試數(shù)據(jù)上傳到指定待處理路徑下,作為分析階段的輸入數(shù)據(jù)。

        2.4訓(xùn)練階段

        訓(xùn)練階段主要任務(wù)是讀取包含用戶記錄的訓(xùn)練樣本與測(cè)試樣本,分別計(jì)算測(cè)試樣本與每個(gè)訓(xùn)練樣本的歐式距離,此任務(wù)交由Map函數(shù)執(zhí)行。Map函數(shù)對(duì)訓(xùn)練樣本按行讀取,把讀取到的數(shù)據(jù)以鍵值對(duì)的形式作為函數(shù)的輸入數(shù)據(jù),其中key為行號(hào),value為訓(xùn)練樣本每行的樣本數(shù)據(jù)及樣本類別,輸入數(shù)據(jù)形式為<行號(hào),樣本>。然后計(jì)算訓(xùn)練樣本與測(cè)試樣本的相似度,即它們之間的歐式距離,并記錄訓(xùn)練樣本類別,最后將結(jié)果以對(duì)的形式存入context集合中。其中輸出數(shù)據(jù)對(duì)的形式為<測(cè)試樣本行號(hào),向量集合<相似度值,訓(xùn)練樣本類別>>。Map函數(shù)偽代碼如下:

        3.1實(shí)驗(yàn)環(huán)境及數(shù)據(jù)選取

        為驗(yàn)證基于Hadoop的民航日志分析系統(tǒng)性能和有效性,本實(shí)驗(yàn)選取7臺(tái)服務(wù)器,1個(gè)主節(jié)點(diǎn)和5個(gè)從節(jié)點(diǎn),前者主要配置為HDFS元數(shù)據(jù)節(jié)點(diǎn),負(fù)責(zé)管理分布式數(shù)據(jù)和分解任務(wù)的執(zhí)行,后者配置為數(shù)據(jù)節(jié)點(diǎn),負(fù)責(zé)分布式數(shù)據(jù)存儲(chǔ)以及任務(wù)的執(zhí)行。剩下的一臺(tái)作為與集群對(duì)比的單機(jī)。本實(shí)驗(yàn)的輸入數(shù)據(jù)為民航系統(tǒng)產(chǎn)生的幾組日志數(shù)據(jù)。數(shù)據(jù)集具有52維,共計(jì)692 012個(gè)樣本,其中訓(xùn)練樣本為498 542個(gè),測(cè)試樣本為193 470個(gè),數(shù)據(jù)集大小3 000MB。

        3.2單機(jī)處理比較實(shí)驗(yàn)

        本實(shí)驗(yàn)分別在Hadoop集群和單機(jī)環(huán)境下處理數(shù)據(jù)規(guī)模逐漸增大的數(shù)據(jù)集,分別統(tǒng)計(jì)系統(tǒng)運(yùn)行耗時(shí)長(zhǎng)短,對(duì)結(jié)果進(jìn)行對(duì)比分析。對(duì)比結(jié)果如表1所示。

        3.3集群性能實(shí)驗(yàn)

        本實(shí)驗(yàn)內(nèi)容為:運(yùn)行KNN分類算法的一臺(tái)計(jì)算機(jī)與運(yùn)行改進(jìn)后并行算法的Hadoop集群在處理相同規(guī)模數(shù)據(jù)時(shí),從數(shù)據(jù)讀入到處理完成所需要的時(shí)間。對(duì)比實(shí)驗(yàn)中,測(cè)試元組及樣本數(shù)據(jù)量相同,Hadoop集群中節(jié)點(diǎn)數(shù)目逐步增加,實(shí)驗(yàn)結(jié)果如圖4所示,橫坐標(biāo)為節(jié)點(diǎn)數(shù),縱坐標(biāo)為作業(yè)完成時(shí)間,單位為毫秒。

        圖4中虛線表示單機(jī)處理所用時(shí)間,基本保持在6 000ms不變。實(shí)線表示Hadoop集群處理所用時(shí)間,曲線變化較為明顯。剛開始集群只有單個(gè)節(jié)點(diǎn)時(shí)任務(wù)執(zhí)行所需時(shí)間要遠(yuǎn)高于單機(jī)所需時(shí)間,集群節(jié)點(diǎn)達(dá)到兩個(gè)時(shí)任務(wù)執(zhí)行時(shí)間比單機(jī)所花時(shí)間略長(zhǎng)。隨著Hadoop集群節(jié)點(diǎn)數(shù)增加,任務(wù)執(zhí)行所需的時(shí)間逐步減少,特別是當(dāng)節(jié)點(diǎn)數(shù)超過3個(gè)時(shí),集群優(yōu)勢(shì)開始顯現(xiàn),當(dāng)節(jié)點(diǎn)數(shù)達(dá)到7個(gè)時(shí),時(shí)間節(jié)省非常明顯,體現(xiàn)出當(dāng)擴(kuò)大Hadoop集群規(guī)模時(shí),實(shí)施KNN并行算法有助于減少任務(wù)執(zhí)行所需時(shí)間。當(dāng)節(jié)點(diǎn)數(shù)目少于2個(gè)時(shí),效率卻遠(yuǎn)低于單機(jī),集群優(yōu)勢(shì)無法體現(xiàn)。因?yàn)镠adoop集群任務(wù)的分發(fā)和任務(wù)的啟動(dòng)需要消耗一定的計(jì)算資源,集群之間數(shù)據(jù)的交互需要通過網(wǎng)絡(luò)傳輸,數(shù)據(jù)的讀取依賴于網(wǎng)絡(luò)的傳輸速度,尤其是實(shí)際計(jì)算任務(wù)時(shí)間在總時(shí)間中所占比例較小時(shí),集群優(yōu)勢(shì)難以體現(xiàn)。相對(duì)于單機(jī)執(zhí)行而言,數(shù)據(jù)只需在本地處理一次性讀入內(nèi)存,因此處理速度相對(duì)較快。由此可知,隨著節(jié)點(diǎn)數(shù)的增加,Hadoop集群的執(zhí)行效率要優(yōu)于單機(jī)上的執(zhí)行效率,且隨著數(shù)據(jù)量的逐漸增大,優(yōu)勢(shì)越加明顯。

        4結(jié)語

        民航系統(tǒng)日志分析與管理是民航系統(tǒng)日常管理的重要保障。本文基于Hadoop平臺(tái)使用MapReduce編程模型結(jié)合KNN算法,設(shè)計(jì)了民航日志分析系統(tǒng)。利用Hadoop集群在大數(shù)據(jù)處理上的優(yōu)勢(shì),高效地進(jìn)行日志數(shù)據(jù)分析與挖掘,具有很高的實(shí)用價(jià)值,實(shí)驗(yàn)達(dá)到了預(yù)期目標(biāo)。相關(guān)實(shí)驗(yàn)結(jié)果表明,在Hadoop平臺(tái)上處理大規(guī)模數(shù)據(jù)集時(shí),在數(shù)據(jù)規(guī)模相同的情況下,算法的執(zhí)行效率與集群規(guī)模有明顯關(guān)系。當(dāng)集群規(guī)模逐步擴(kuò)大,節(jié)點(diǎn)越多,加速比越明顯。下一步將嘗試將更多的算法移植到Hadoop集群中,進(jìn)行更深入的研究。

        參考文獻(xiàn):

        [1]JIAWEI HAN,MICHELINE,KAMBER.數(shù)據(jù)挖掘概念與技術(shù)[M].北京:機(jī)械工業(yè)出版社,2007:2031.

        [2]COVER T,P HART.Nearest neighbor pattern classification[J].IEEE Trans on Information Theory,1967,13(1):2127.

        [3]陸嘉恒.Hadoop實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2011:180203.

        [4]金松昌.基于HDFS的多用戶并行文件IO的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2010:13.

        [5]高洪,楊慶平,黃展江.基于Hadoop平臺(tái)的大數(shù)據(jù)分析關(guān)鍵技術(shù)標(biāo)準(zhǔn)化探討[J].信息技術(shù)與標(biāo)準(zhǔn)化,2013(5):2324.

        [6]朱鶴樣.Web日志挖掘中數(shù)據(jù)預(yù)處理算法的研究[D].大連:大連交通大學(xué),2010.

        [7]趙瑩瑩,韓元杰.Web日志數(shù)據(jù)挖掘中數(shù)據(jù)預(yù)處理模型的研究與建立[J].現(xiàn)代電子技術(shù),2007(4):103105.

        猜你喜歡
        并行計(jì)算
        云計(jì)算中MapReduce分布式并行處理框架的研究與搭建
        矩陣向量相乘的并行算法分析
        并行硬件簡(jiǎn)介
        基于Matlab的遙感圖像IHS小波融合算法的并行化設(shè)計(jì)
        科技視界(2016年11期)2016-05-23 08:13:35
        免费一级欧美大片久久网| 国产欧美日韩va另类在线播放| 18黑白丝水手服自慰喷水网站| 激情久久av一区av二区av三区 | 国产精品欧美一区二区三区不卡 | 色男色女午夜福利影院| 丝袜人妻一区二区三区| 欧洲熟妇色xxxx欧美老妇多毛图片| 久久这里只有精品9| 久久伊人中文字幕有码久久国产 | av成人资源在线播放| 一区二区三区免费看日本| 中国丰满人妻videoshd| 少妇精品无码一区二区三区| 日韩极品视频在线观看| 国产av一区二区亚洲精品| 国产在线 | 中文| 国产一极毛片| 91精品国产综合久久久蜜臀九色| 日本中文一区二区在线观看| 日日澡夜夜澡人人高潮| 国产成人精品麻豆| 国产又色又爽的视频在线观看91| 插鸡网站在线播放免费观看| 日日碰狠狠添天天爽超碰97| 亚洲精品国产不卡在线观看| 性感美女脱内裤无遮挡| 男女猛烈xx00免费视频试看| 亚洲妇女水蜜桃av网网站| 国产精品一级av一区二区| 少妇人妻中文久久综合| 久久久久亚洲av片无码v| 91亚洲国产三上悠亚在线播放| 亚洲一区二区三区精品久久av| 内射口爆少妇麻豆| 国产成人精品三级麻豆| 亚洲av精品一区二区三| 欧美最猛性xxxx| 亚洲人成无码www久久久| 国产精品毛片99久久久久| 开心久久综合婷婷九月|