李娜 余省威
摘 要: 云計算環(huán)境下的多服務器多分區(qū)系統(tǒng)中存在海量數(shù)據(jù),傳統(tǒng)串行數(shù)據(jù)挖掘方法對這些數(shù)據(jù)進行挖掘的過程中,無法對海量數(shù)據(jù)進行并行處理,挖掘效率低。針對該問題,設計云計算環(huán)境下多服務器多分區(qū)數(shù)據(jù)挖掘系統(tǒng),其包括基礎設施即服務層、平臺即服務層、軟件即服務層,可實現(xiàn)大規(guī)模數(shù)據(jù)的高效挖掘。系統(tǒng)通過平臺即服務層中的多服務器多分區(qū)數(shù)據(jù)處理模型,實現(xiàn)海量數(shù)據(jù)的分布式運算,并基于MapReduce機制實現(xiàn)K均值聚類數(shù)據(jù)挖掘算法的并行化,通過Map和Reduce函數(shù)實現(xiàn)多服務器多分區(qū)數(shù)據(jù)的并行挖掘。實驗結(jié)果表明,所設計系統(tǒng)大幅度降低了云計算環(huán)境下多服務器多分區(qū)數(shù)據(jù)的挖掘時間,提高了數(shù)據(jù)的挖掘效率和穩(wěn)定性。
關鍵詞: 云計算; 多服務器; 多分區(qū)數(shù)據(jù); 數(shù)據(jù)挖掘
中圖分類號: TN911?34; TP311 文獻標識碼: A 文章編號: 1004?373X(2017)10?0043?03
Abstract: Since there are mass data in the multi?server multi?partition system in cloud computing environment, the traditional serial data mining method cannot be carried out on the parallel processing of the mass data in the data mining process, and its mining efficiency is low, a cloud computing environment multi?server multi?partition data mining system was designed, which includes infrastructure, platform and software, and can realize efficient mass data mining. The system can realize the distributed operation of mass data through the multi?server multi?partition data processing model in the platform, and achieve parallelization of K?means clustering data mining algorithm based on MapReduce mechanism. The multi?server multi?partition data parallel mining is realized with Map and Reduce functions. The experimental results indicate that the designed system has greatly shortened multi?server multi?partition data mining time in the cloud computing environment, and improved the efficiency and stability of data mining.
Keywords: cloud computing; multi?server; multi?partition data; data mining
0 引 言
當前隨著信息時代的到來,云計算環(huán)境下的多服務器多分區(qū)網(wǎng)絡中的數(shù)據(jù)量呈現(xiàn)爆炸式增長[1]。采用有效的數(shù)據(jù)挖掘工具,可從這些數(shù)據(jù)中提取有價值的信息,能夠為人們的生產(chǎn)和生活提供服務。傳統(tǒng)的串行數(shù)據(jù)挖掘方法[2]無法對海量數(shù)據(jù)進行并行處理,挖掘效率低,存在較多弊端。因此,尋求有效方法,高效挖掘云計算環(huán)境下多服務器[3]多分區(qū)網(wǎng)絡中的數(shù)據(jù),具有重要應用意義。
1 云計算環(huán)境下多服務器多分區(qū)數(shù)據(jù)挖掘系統(tǒng)
1.1 系統(tǒng)結(jié)構(gòu)
基于云計算的多服務器多分區(qū)數(shù)據(jù)挖掘系統(tǒng)是一個低成本、高可靠性的海量并行數(shù)據(jù)挖掘系統(tǒng),其總體結(jié)構(gòu)如圖1所示。
基于云計算的多服務器多分區(qū)數(shù)據(jù)挖掘系統(tǒng)包括基礎設施即服務層、平臺即服務層和軟件即服務層。云計算環(huán)境下多服務器多分區(qū)網(wǎng)絡中的應用程序每一個都是獨立的,負責的每一項業(yè)務不同[4?6]。在這種環(huán)境下把多服務器分解優(yōu)化成數(shù)個虛擬機,極大地提高了物理機的使用頻率,有利于負載均衡和避免資源的浪費,在最大程度上提高了系統(tǒng)部署和在線活動的運行效率[7?8]。
多服務器多分區(qū)數(shù)據(jù)處理模型采用處理算法對分布式的數(shù)據(jù)進行有效的操作。資源管理服務為多服務器多分區(qū)數(shù)據(jù)處理模型輸送各項資源調(diào)配與對應的數(shù)據(jù)供應,增強多服務器多分區(qū)系統(tǒng)的伸展功能與穩(wěn)定性,解決硬件資源存在的使用率偏低的問題,處理傳統(tǒng)單機分析中的硬件資源浪費的現(xiàn)象。
1.2 多服務器多分區(qū)數(shù)據(jù)挖掘業(yè)務流程
多服務器多分區(qū)數(shù)據(jù)挖掘業(yè)務流程圖如圖2所示。
1.3 平臺即服務層中多服務器多分區(qū)數(shù)據(jù)處理模型設計
系統(tǒng)中的平臺即服務層將MapReduce數(shù)據(jù)處理模型當成多服務器多分區(qū)數(shù)據(jù)處理模型,采用Hadoop框架并利用MapReduce機制完成多服務器多分區(qū)數(shù)據(jù)的分布式運算。MapReduce包括Map過程和Reduce過程,其運行機制如圖3所示。Map過程如下:
(1) 云計算環(huán)境下的多服務器多分區(qū)數(shù)據(jù)能夠進行分片,設置各分片大約為64 MB,這些分片通過Map進行控制。Map進行控制的結(jié)果key?value保存到環(huán)形內(nèi)存緩沖區(qū)內(nèi),當該緩存區(qū)的大小達到閾值時,Map會塑造溢出文體存儲溢出的數(shù)據(jù)。
(2) 數(shù)據(jù)寫入磁盤前,應按照Reduce任務的數(shù)量對數(shù)據(jù)進行劃分,確保一個Reduce任務執(zhí)行一個分區(qū)的數(shù)據(jù)。后臺線程對各分區(qū)內(nèi)的數(shù)據(jù)大小進行排列,若在Map端設置了 Combiner,則其是微型的Reducer,可融合同樣的key,降低Map傳輸給Reduce的數(shù)據(jù)量。
(3) 結(jié)束Map任務輸出后,應融合溢出文件。通過數(shù)據(jù)壓縮過程降低云計算環(huán)境下多服務器多分區(qū)網(wǎng)絡中傳遞的數(shù)據(jù)量。
(4) 將分區(qū)中的數(shù)據(jù)復制給對應的Reduce任務。
Reduce過程如下:
(1) 單個Reduce采集多個Map輸出的數(shù)據(jù),并且對這些數(shù)據(jù)進行匯總。Reduce將數(shù)據(jù)保存到內(nèi)存緩存去,將溢出的輸出存儲到磁盤中。
(2) 存在多個溢出文件,這些文件通過后臺線程融合成一個排序文件。
(3) 融合溢出文件,將結(jié)果輸入Reduce函數(shù)。
2 K均值聚類方法的并行化實現(xiàn)
通過MapReduce框架對K均值聚類算法進行并行化處理,需要對map()和reduce()兩個函數(shù)進行設計。K均值聚類算法并行化是運算各數(shù)據(jù)對象同k個中心點間的距離時進行并行化操作。先對k個中心點進行初始化處理,再并行運算k個中心點同各數(shù)據(jù)對象間的距離,按照該距離劃分數(shù)據(jù)對象。并再次運算各簇的中心點,獲取新聚類中心,并循環(huán)執(zhí)行上述過程,直至達到最大迭代次數(shù)為止?;贛apReduce實現(xiàn)K均值聚類算法,主要過程為:
(1) Map過程:此時的map()函數(shù)需要運算各多服務器多分區(qū)數(shù)據(jù)對象到不同中心點的距離,獲取當前數(shù)據(jù)對象所屬的新聚類類型,函數(shù)的輸入項是各數(shù)據(jù)對象和前期迭代運算獲取的聚類中心點,輸出的中間結(jié)果表現(xiàn)形式是<所屬簇ID,記錄值>。
(2) Combine過程:為了降低中間數(shù)據(jù)的傳輸量同時減少通信成本,應該在map()函數(shù)運算完后進行Combine處理,能夠在不同的數(shù)據(jù)節(jié)點上,向內(nèi)存寫入map()函數(shù)輸出的中間結(jié)果。以上過程是在硬盤運行之前進行,可極大降低中間數(shù)據(jù)量。Combine的輸入項是<所屬簇ID,List<記錄值>>,其能夠從記錄值的List中,解析出數(shù)據(jù)的不同維度坐標值,再匯總這些維度值,統(tǒng)計當前List中的數(shù)據(jù)對象數(shù)量。Combine過程輸出結(jié)果為: <所屬簇ID,記錄總數(shù)、各維坐標匯總結(jié)果>。
(2) Reduce過程:Reduce過程能夠從前期Combine過程采集到中間結(jié)果,從中得到不同簇的樣本數(shù)量以及不同維坐標值的匯總結(jié)果,獲取新的中心坐標,將獲取的結(jié)果存儲到硬盤主函數(shù)中。主函數(shù)采集多服務器多分區(qū)數(shù)據(jù)初始中心點,并將該中心點反饋給不同的map()函數(shù),進而對總體K均值聚類算法的數(shù)據(jù)挖掘迭代過程進行控制,獲取總體多服務器多分區(qū)數(shù)據(jù)的挖掘結(jié)果。
3 實驗分析
通過實驗檢測本文設計的云計算環(huán)境下多服務器多分區(qū)數(shù)據(jù)挖掘方法的性能。實驗采用的樣本集為當前某系統(tǒng)中的數(shù)據(jù)庫,包括科技、生物、醫(yī)學、交通、社會、教育六種類型,為了創(chuàng)造云計算環(huán)境,將上述數(shù)據(jù)樣本復制形成1 GB,3 GB,9 GB,15 GB,20 GB,25 GB的數(shù)據(jù)。圖4為本文方法和傳統(tǒng)串行數(shù)據(jù)挖掘方法在不同數(shù)據(jù)集大小進行數(shù)據(jù)挖掘消耗的時間。從圖4可看出對小規(guī)模的多服務器多分區(qū)樣本數(shù)據(jù)集進行挖掘時,兩種方法的通信以及任務分配耗費的時間差別較??;但是對大規(guī)模的多服務器多分區(qū)樣本數(shù)據(jù)集進行挖掘時,本文方法耗費的時間遠遠低于傳統(tǒng)串行數(shù)據(jù)挖掘方法[9]。同時還能夠看出傳統(tǒng)串行數(shù)據(jù)挖掘方法挖掘時間隨著數(shù)據(jù)量的增加而增加,增加幅度較高,并且可以看出此方法在挖掘數(shù)據(jù)過程中的響應時間和運行效率逐漸降低;而本文方法挖掘海量數(shù)據(jù)的時間增加緩慢,運行效率較高。因此,本文方法大幅度降低了云計算環(huán)境下多服務器多分區(qū)數(shù)據(jù)的挖掘時間,提高了數(shù)據(jù)的挖掘效率。
由圖5可知,隨著數(shù)據(jù)量的不斷增加,本文方法的挖掘準確率高于傳統(tǒng)串行數(shù)據(jù)挖掘方法,并且變化較為平穩(wěn),而傳統(tǒng)串行數(shù)據(jù)挖掘方法的挖掘準確率出現(xiàn)下降趨勢,變化幅度較大,穩(wěn)定性差。
分析圖6、圖7可知,在節(jié)點數(shù)為2的情況下,樣本數(shù)量對不同方法的性能影響不高,但是隨著節(jié)點數(shù)據(jù)的增加,不同數(shù)據(jù)樣本數(shù)量下不同方法的性能加速比存在較大差異;可以看出,本文方法處理云計算環(huán)境下多服務器多分區(qū)數(shù)據(jù)的性能加速比優(yōu)于傳統(tǒng)串行數(shù)據(jù)挖掘方法,本文方法對海量數(shù)據(jù)進行挖掘的效率基本上呈現(xiàn)線性,并且隨著數(shù)據(jù)量的增加,本文方法的加速比不斷趨近于線性加速比。
圖6中,樣本大小在 3 GB,9 GB時,隨著節(jié)點數(shù)的增加,本文方法的加速比越來越靠近線性加速比。而圖7中,傳統(tǒng)串行數(shù)據(jù)挖掘方法對海量數(shù)據(jù)進行挖掘的效率線性趨勢較差,存在滯后問題。說明本文方法在云計算環(huán)境下提高了多服務器多分區(qū)數(shù)據(jù)的挖掘效率和性能,增強了系統(tǒng)的穩(wěn)定性。
4 結(jié) 論
本文設計了云計算環(huán)境下多服務器多分區(qū)數(shù)據(jù)挖掘系統(tǒng),其由基礎設施即服務層、平臺即服務層和軟件即服務層構(gòu)成。系統(tǒng)基于MapReduce實現(xiàn)K均值聚類數(shù)據(jù)挖掘算法的并行化實現(xiàn)過程,以及基于MapReduce中的map()和reduce()函數(shù)實現(xiàn)多服務器多分區(qū)數(shù)據(jù)的并行挖掘。通過實驗檢測結(jié)果能夠得出,本文設計的數(shù)據(jù)挖掘方法極大提高了多服務器多分區(qū)數(shù)據(jù)的挖掘效率和穩(wěn)定性。
參考文獻
[1] 王昌輝.云計算設備中大數(shù)據(jù)特征高效分類挖掘方法研究[J].現(xiàn)代電子技術,2015,38(22):55?58.
[2] 邱芬,張炘.云計算環(huán)境下多來源數(shù)據(jù)最優(yōu)選取模型仿真[J].計算機仿真,2014,31(11):179?182.
[3] 劉明偉,張曉濱,楊東山.移動環(huán)境下多情景源用戶情景序列的提取[J].西安工程大學學報,2015,29(6):746?750.
[4] 王曙霞,胡瑞敏,梁意文,等.云服務器中的不穩(wěn)定數(shù)據(jù)挖掘系統(tǒng)的研究與設計[J].現(xiàn)代電子技術,2016,39(6):49?52.
[5] 侯研.混合服務器時變網(wǎng)絡環(huán)境中潛在威脅挖掘模型[J].計算機仿真,2014,31(7):301?304.
[6] 郭晴,楊海霞,劉永泰.云計算環(huán)境下的復雜數(shù)據(jù)庫并行調(diào)度模型仿真[J].計算機仿真,2015,32(6):360?363.
[7] 劉鴿,葉宏,李運喜,等.基于多分區(qū)操作系統(tǒng)的多核確定性調(diào)度方法設計[J].航空計算技術,2016,46(1):99?102.
[8] 劉瑩,杜奕智,鄒樂.大圖挖掘中一種基于云計算的改進SpiderMine算法[J].微型電腦應用,2016,32(1):33?37.
[9] 張金娜,喻林.基于混合累積模式匹配的云數(shù)據(jù)特征分區(qū)融合算法[J].科技通報,2016,32(2):158?162.