王 勃,徐 靜
(陜西國防工業(yè)職業(yè)技術(shù)學(xué)院陜西西安710302)
云計(jì)算自出現(xiàn)伊始,就被廣泛的應(yīng)用到分布式計(jì)算機(jī)網(wǎng)絡(luò)處理上,面對大量的網(wǎng)絡(luò)服務(wù)器終端,如何能夠有效地將它們組合在一起,建立穩(wěn)定、快捷的服務(wù)網(wǎng)絡(luò)已經(jīng)成為云計(jì)算網(wǎng)絡(luò)急需解決的關(guān)鍵問題。面對服務(wù)器日益增大的網(wǎng)絡(luò)服務(wù)數(shù)據(jù)流,web數(shù)據(jù)挖掘不斷收取網(wǎng)絡(luò)中的數(shù)據(jù)源,通過Hadoop仿真平臺進(jìn)行相應(yīng)的計(jì)算、分析,該平臺能夠較成功的解決了云計(jì)算的分布式的復(fù)雜問題[1]。
云計(jì)算通過互聯(lián)網(wǎng)服務(wù)的方式,收集、處理大量相關(guān)數(shù)據(jù)軟件的能力,并將傳統(tǒng)基于客戶端的復(fù)雜運(yùn)算移植到云計(jì)算上,降低客戶端用戶的硬件要求,提升客戶端的各項(xiàng)速度。它具有分布處理(Distributed Computing)、網(wǎng)格計(jì)算(Grid Computing)和并行處理(Parallel Computing)等特點(diǎn),是虛擬化服務(wù)的結(jié)果。云計(jì)算能夠使客戶通過較低投資,獲取許多無限的網(wǎng)絡(luò)資源,同時(shí)云計(jì)算還對所有的數(shù)據(jù)安全性提供了較大的保證,實(shí)現(xiàn)了數(shù)據(jù)共享[2]。
WEB數(shù)據(jù)挖掘是以互聯(lián)網(wǎng)為載體,相關(guān)仿真平臺為依托,從大量的網(wǎng)絡(luò)WEB日志中發(fā)現(xiàn)未知的,有規(guī)律的網(wǎng)絡(luò)數(shù)據(jù)源,得到各類用戶在云計(jì)算環(huán)境下使用WEB的結(jié)構(gòu),WEB的內(nèi)容、調(diào)用WEB數(shù)據(jù)庫、使用記錄等相關(guān)信息并對其進(jìn)行挖掘。目前,WEB數(shù)據(jù)挖掘算法主要采用分類分析、頻繁序列模式分、關(guān)聯(lián)規(guī)則分析、聚類分析等多種挖掘形式,這些WEB挖掘算法在處理分布式網(wǎng)絡(luò)數(shù)據(jù)源時(shí)具有動態(tài)性強(qiáng)等特點(diǎn),使其更新速度、訪問頻率加快[3]。
Hadoop仿真平臺是一個(gè)基于分布式的網(wǎng)絡(luò)框架仿真平臺,該平臺能夠?qū)⒋罅康木W(wǎng)絡(luò)數(shù)據(jù)任務(wù)進(jìn)行分解,并將處理后的結(jié)果匯總輸出,同時(shí)還擁有簡化的,不需要改變原有網(wǎng)絡(luò)框架的可擴(kuò)展性,具有經(jīng)濟(jì)、運(yùn)行速度快等特點(diǎn)。其結(jié)構(gòu)示意圖如圖1所示。
圖1 Hadoop結(jié)構(gòu)示意圖
Hadoop仿真平臺是一個(gè)具有高度糾錯(cuò)性的系統(tǒng),該平臺把輸入數(shù)據(jù)按照相同的屬性分解為大量的數(shù)據(jù)模塊,通過Handle將數(shù)據(jù)模塊以并行方式處理,然后結(jié)果返還到主機(jī),并且輸出。其可用公式(1)表示。
在公式(1)中,Q為平臺的輸出數(shù)據(jù)值,m為數(shù)據(jù)模塊數(shù)量,n為單位時(shí)間,為單位時(shí)間處理數(shù)據(jù)的數(shù)量[5-7]。
云計(jì)算的Hadoop仿真平臺是由大量的服務(wù)器群組合而成的,這些服務(wù)器具有地域分布較廣,因此相對于一般平臺復(fù)雜程度更高,在云計(jì)算環(huán)境中,有效地利用了云計(jì)算的可擴(kuò)展性、穩(wěn)定性等特點(diǎn)組成該平臺,使平臺能夠存儲大量的客戶信息,而且不會因?yàn)榭蛻粜畔⒘髁康拇罅吭黾釉斐删W(wǎng)絡(luò)的堵塞。該平臺根據(jù)實(shí)際需要通過主網(wǎng)分支為多個(gè)支網(wǎng),支網(wǎng)又可分為多個(gè)子網(wǎng),最后形成一個(gè)類似于樹形的網(wǎng)絡(luò)結(jié)構(gòu)。其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 網(wǎng)絡(luò)結(jié)構(gòu)圖
由圖2可知該網(wǎng)絡(luò)結(jié)構(gòu)客戶端用戶通過SOAP OVER HTTPS協(xié)議實(shí)現(xiàn)與云計(jì)算服務(wù)器端的數(shù)據(jù)信息傳遞、計(jì)算與交換等功能,為了保證數(shù)據(jù)信息在交換過程中的安全性,使用HTTPS5協(xié)議作為網(wǎng)絡(luò)通訊協(xié)議,最終形成了一個(gè)網(wǎng)絡(luò)集合,使客戶端用戶、服務(wù)器端管理同時(shí)降低了運(yùn)行過程中對硬件的要求。節(jié)約大量的資源,最終使該網(wǎng)絡(luò)仿真平臺具有容納網(wǎng)絡(luò)流量、網(wǎng)絡(luò)交換容量和獲取網(wǎng)絡(luò)地圖信息等特征,可以形成一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)飽滿、網(wǎng)絡(luò)維護(hù)簡便、運(yùn)行成本低廉的網(wǎng)絡(luò)構(gòu)架[8-10]。
仿真平臺在建立軟件框架時(shí),需要使用MapReduce技術(shù)建立其編程模型,MapReduce表示Map(映射)和Reduce(歸約),該技術(shù)應(yīng)用于大量的數(shù)據(jù)并行計(jì)算,其最大的特點(diǎn)就是建立了輸入模式(Input)后,輸入任務(wù)分為兩個(gè)步驟,分別是Map和Reduce作業(yè)區(qū),在每個(gè)步驟中,都使用關(guān)鍵字Key,經(jīng)過高速運(yùn)算,得到輸出模式(Output)[11]。其核心結(jié)構(gòu)是:
由于運(yùn)算過程中產(chǎn)生的是臨時(shí)文件,因此其數(shù)據(jù)交換時(shí)間更加快捷,運(yùn)行速度得到大幅提升。MapReduce工作流程圖如圖3所示。
其工作流程步驟如下:
步驟一:使用庫文件MapReduce把程序分解為若干個(gè)小任務(wù),如圖中任務(wù)a,任務(wù)b,任務(wù)c,平臺要求分解的任務(wù)大小是16 M至64 M。
步驟二:通過調(diào)度功能將閑置的任務(wù)及時(shí)分配到Map或者Reduce作業(yè)區(qū),并且由調(diào)度功能按照平臺任務(wù)大小要求分配任務(wù)個(gè)數(shù)。
步驟三:在Map作業(yè)區(qū)的多個(gè)被分解的任務(wù)啟動,并且開始輸入數(shù)據(jù),開始讀取相關(guān)大小的數(shù)據(jù)信息,通過關(guān)鍵字Key傳遞相關(guān)函數(shù),并將計(jì)算過程中產(chǎn)生的臨時(shí)文件有效存儲。
步驟四:臨時(shí)文件的關(guān)鍵字Key將會及時(shí)存入本地空間中,并且會在Reduce作業(yè)區(qū)找到相對應(yīng)的位置,通過介質(zhì)文件將相關(guān)信息數(shù)據(jù)傳遞給Reduce作業(yè)區(qū)。Reduce產(chǎn)生的數(shù)據(jù)將會以輸出文件的方式輸出[12-13]。
7.1.1 苗期猝倒?。好绱矅?yán)格消毒,方法同上。底水澆足后,基本不大澆灌,出苗后噴施75%百菌清600倍液,或64%殺毒礬500倍液,每7~10天噴一次。
圖3 MapReduce工作流程圖
平臺的建立過程可用公式(2)表示。
其中,P表示平臺網(wǎng)絡(luò)分支及連接結(jié)構(gòu),gi表示分支的各條路線的帶寬,i表示分支的各條路線的常量,a表示建立該平臺的基本支出,bi表示網(wǎng)絡(luò)帶寬容量。k是簡捷的無向圖標(biāo),同時(shí)表明k是沒有重合的邊框[14]。
在建立平臺的過程中,需要對平臺的容錯(cuò)度做以評估,它是平臺的穩(wěn)定運(yùn)行的重要指標(biāo)之一,它的作用是在該仿真平臺相關(guān)信息點(diǎn)出現(xiàn)無效的情況下,進(jìn)行容錯(cuò)的能力,其可用公式(3)表示。
其中,L平臺容錯(cuò)度,X為容錯(cuò)常量,其取值范圍是X{1,2,3,4,5,6},如無特殊情況,X取值為3,t為時(shí)間變量值。
在該平臺建立的過程中,還使用了CRF(條件隨機(jī)場)算法,該算法可用公式(4)表示。
其中,Q(f)為該算法的表示方法,P(i)為所有子模塊的集合,其每個(gè)子模塊的非負(fù)的勢能函數(shù)為f[15-16]。
通過以上公式可知,其算法基本思想就是,在云計(jì)算的Hadoop仿真平臺中,為避免云計(jì)算網(wǎng)絡(luò)中相關(guān)數(shù)據(jù)任務(wù)長時(shí)間等待,不同任務(wù)又能夠根據(jù)實(shí)際情況變化調(diào)度優(yōu)先級,可以使用加權(quán)輪轉(zhuǎn)調(diào)度算法。其相關(guān)步驟如下:
步驟二:類tasktracker在有空閑存量的情況下,向子任務(wù)J發(fā)送任務(wù)執(zhí)行命令。子任務(wù)J接到相關(guān)命令后,將發(fā)送距離最近的任務(wù)分配執(zhí)行,同時(shí)執(zhí)行指針會指向下一個(gè)子任務(wù),繼續(xù)等待下一個(gè)類tasktracker發(fā)送的執(zhí)行命令。
步驟三:當(dāng)類tasktracker執(zhí)行命令到最后一個(gè)子任務(wù)時(shí),子任務(wù)J會自動排序新的任務(wù)集合,并將執(zhí)行指針指向第一個(gè)子任務(wù)。
類tasktracker的數(shù)據(jù)結(jié)構(gòu)如下:
在該算法過程中,各個(gè)子模塊經(jīng)過迭加運(yùn)算后,得到各條路線的最短路徑,降低了平臺的復(fù)雜度,得到運(yùn)行時(shí)間最短的平臺布局圖,提高了平臺的運(yùn)行效率[17-18]。
基于云計(jì)算的Web數(shù)據(jù)挖掘Hadoop仿真平臺的運(yùn)行,有效的驗(yàn)證了算法,同時(shí)得出了仿真結(jié)果。在仿真實(shí)驗(yàn)中,確定了平臺路線的數(shù)目,連接各條路線的信息點(diǎn),最終完成了網(wǎng)絡(luò)的布局。其仿真運(yùn)行結(jié)果如圖4所示。
由圖4可知,在該仿真實(shí)驗(yàn)中,設(shè)置了5,10,15,20,25,30等 6個(gè)信息點(diǎn),設(shè)置 20,40,60,80,100,120等6個(gè)時(shí)間節(jié)點(diǎn),隨著信息點(diǎn)的增加,各個(gè)子模塊的路線不斷增加,同時(shí)也得到了較多的時(shí)間,實(shí)現(xiàn)了該平臺的云計(jì)算實(shí)現(xiàn)是由主干交換部分和眾多樹狀子模塊網(wǎng)絡(luò)形成的構(gòu)想。
本文通過基于云計(jì)算的web數(shù)據(jù)挖掘Hadoop仿真平臺研究,分析了在云計(jì)算的普及和快速發(fā)展的情況下,Hadoop的結(jié)構(gòu)與流程,提出了基于云計(jì)算的Web數(shù)據(jù)挖掘Hadoop仿真平臺的設(shè)計(jì)與實(shí)現(xiàn)方法,完成了易于搭建的仿真平臺,建立了完整的網(wǎng)絡(luò)算法,通過仿真實(shí)驗(yàn)數(shù)據(jù)得出仿真平臺的實(shí)用性,也為最終達(dá)到云計(jì)算環(huán)境下的高速分布式計(jì)算的目標(biāo)提供了數(shù)據(jù)依據(jù)。
圖4 仿真結(jié)果運(yùn)行圖
[1]Liang Q,Wang Y Z,Zhang Y H.Resource Virtualization Model Using Hybrid-graph Reprsenetation and Conver-ging Algorithm for Cloud Computing[J].International Journal of Automation &Computing,2013,10(6):597-606.
[2]Oruganti S,Ding Q,Tabrizi N.Exploring HADOOP as a Platform for Distributed Association Rule Mining[C]//FUTURE COMPUTING 2013,The Fifth International Conference on Future Computational Technologies and Applications,2013:62-67.
[3]Jinbo Shang,Yu ZhengTong,EricChang,Yong Yu.Inferring gas and consumption pollution emission of vehicles throughout a city[C]//In Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining.ACM,2014:1027-1036
[4]Zhou X,Huang Y An improved parallel association rules algorithm based on MapReduce framework for big data[C]//Fuzzy Systems and Knowledge Discovery(FSKD) ,2014 11th International Conference on.IEEE,2014:284-288.
[5]Wen Yang,Yinan Dou.High Performance Distributed Indexing and Retrieval for Large Volume Traffic Log Datasets on the Cloud[C]//International Conference on Intelligent Human- Machine Systems and Cyemetics(IHMSC),2013:185-189.
[6]Vijay Rana,Gurdev Singh.Analysis of Web Mining Technology and Their Impact on Semantic Web[C]//International Gonferencr on Innovative Applications of Computational Intelligence on Power,Energy and Crontrols with their Impact on Humanity,20I4:5-11.
[7]郭建偉,李瑛,杜麗萍,等.基于hadoop平臺的分布式數(shù)據(jù)挖掘系統(tǒng)研究[J].中國科技信息,2013,13:81-83.
[8]楊勇,王偉.一種基于MapReduce的并行FP-growth算法[J].重慶郵電大學(xué)學(xué)報(bào):自然科學(xué)版,2013,25(5):651-670.
[9]戴小平,張宜力.Hadoop平臺下計(jì)算能力調(diào)度算法的改進(jìn)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2015(19):61-65.
[10]郝偉妓,周世健,彭大為.基于HADOOP平臺的云GIS構(gòu)架研究[[J].江西科學(xué),2013(1):109-112.
[11]劉義,景寧,陳犖,等.Map Reduce框架下基于R-樹的k-近鄰連接算法[J].軟件學(xué)報(bào),2013,24(8):1836-1851.
[12]葉可江,吳朝暉,姜曉紅,等.虛擬化云計(jì)算平臺的能耗管理[[J].計(jì)算機(jī)學(xué)報(bào),2013,35(6):209-223.
[13]李建江,崔健,王耽,等.MapReduce并行編程模型研究綜述[[J].電子學(xué)報(bào),2012,39(11):2635-2642.
[14]李燕,陳瑩,董秀蘭,等.基于神經(jīng)網(wǎng)絡(luò)的遙感圖像識別算法[[J].測繪與空間地理信息,2012,35(2):156-158.
[15]魯偉明,杜晨陽,魏寶剛,等.基于MapReduce的分布式近鄰傳播聚類算法[[J].計(jì)算機(jī)研究與發(fā)展,2012,49(8):1762-1772.
[16]崔杰,李陶深,蘭紅星.基于Hadoop的海量數(shù)據(jù)存儲平臺設(shè)計(jì)與開發(fā)[[J].計(jì)算機(jī)研究與發(fā)展,2012 49(S1):12-18.
[17]虞倩,戴月明.基于MapReduce的并行模糊C均值算法[J].計(jì)算機(jī)工程與應(yīng)用,2013,49(14):133-137.
[18]余思,桂小林,黃汝維,等.一種提高云存儲中小文件存儲效率的方案[J].西安交通大學(xué)學(xué)報(bào),2011,45(6):59-63.