摘 要:近年來互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,特別是隨著云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)等技術(shù)的日趨成熟,我們已經(jīng)進入了大數(shù)據(jù)時代。數(shù)據(jù)的挖掘應(yīng)用,將對人們生產(chǎn)、生活產(chǎn)生巨大影響,基于云計算的數(shù)據(jù)挖掘平臺較傳統(tǒng)的數(shù)據(jù)挖掘系統(tǒng)有較大優(yōu)勢,基于此,本文簡單分析了基于云計算的數(shù)據(jù)挖掘平臺架構(gòu),并詳細論述了基于云計算數(shù)據(jù)挖掘平臺的關(guān)鍵技術(shù),希望由此能夠為相關(guān)業(yè)內(nèi)人士帶來一定啟發(fā)。
關(guān)鍵詞:云計算;數(shù)據(jù)挖掘平臺;挖掘算法并行化技術(shù)
中圖分類號:TP311.13 文獻標識碼:A 文章編號:1004-7344(2018)18-0315-02
前 言
滿足數(shù)據(jù)挖掘需求、保證平臺實時性和可交互性、實現(xiàn)數(shù)據(jù)資源高效運用均屬于基于云計算數(shù)據(jù)挖掘平臺建構(gòu)的主要需求,這些需求的真正滿足便需要得到合理架構(gòu)與相關(guān)技術(shù)的支持,而為了最大化基于云計算數(shù)據(jù)挖掘平臺效用發(fā)揮、實現(xiàn)數(shù)據(jù)挖掘平臺的更廣泛應(yīng)用,正是本文圍繞該課題開展具體研究的原因所在。
1 基于云計算的數(shù)據(jù)挖掘平臺架構(gòu)
1.1 基本設(shè)計
圖1、圖2分別為基于云計算的數(shù)據(jù)挖掘平臺總體架構(gòu)、基于云計算的數(shù)據(jù)挖掘平臺具體架構(gòu),相較于傳統(tǒng)的數(shù)據(jù)挖掘平臺,云計算技術(shù)的引入實現(xiàn)了挖掘能力的提升。在基于云計算的數(shù)據(jù)挖掘平臺設(shè)計中,采用了分層設(shè)計思想和面向組件的設(shè)計思路,設(shè)計在總體上分為三層,自上而下依次為數(shù)據(jù)挖掘云服務(wù)層、數(shù)據(jù)挖掘能力層、云計算支撐平臺層,由此即可實現(xiàn)系統(tǒng)監(jiān)控、資源調(diào)度、資源管理、資源安全四方面運維管理服務(wù)的提供[1]。
1.2 層級劃分
為更深入了解本文設(shè)計的基于云計算數(shù)據(jù)挖掘平臺,本文將對該平臺架構(gòu)層級劃分進行詳細介紹,具體層級劃分如下所示:①數(shù)據(jù)挖掘云服務(wù)層。該層主要負責對外提供數(shù)據(jù)挖掘云服務(wù),為保證服務(wù)質(zhì)量,采用了多樣的服務(wù)能力分鐘接口形式,主要包括本地應(yīng)用程序編程接口(API)、HTTP、XML、Webservice、Restful、對象訪問協(xié)議(SOAP)等多種形式,數(shù)據(jù)挖掘云服務(wù)層還能夠同時支持結(jié)構(gòu)化查詢語言(SQL)語句的訪問,且在此基礎(chǔ)上還能夠?qū)崿F(xiàn)云服務(wù)的自動調(diào)用(在解析引擎基礎(chǔ)上)。此外,各個業(yè)務(wù)系統(tǒng)還能夠根據(jù)業(yè)務(wù)、數(shù)據(jù)實現(xiàn)數(shù)據(jù)挖掘云服務(wù)的組裝和調(diào)用。②數(shù)據(jù)挖掘能力層。該層主要負責數(shù)據(jù)挖掘的基礎(chǔ)能力,數(shù)據(jù)挖掘云服務(wù)層功能的實現(xiàn)便需要得到能力層的支持,數(shù)據(jù)并行處理框架、算法服務(wù)管理屬于數(shù)據(jù)挖掘能力層的主要構(gòu)成。值得注意的是,為提升數(shù)據(jù)挖掘平臺潛力,采用了能夠支持第三方挖掘算法工具接入的數(shù)據(jù)挖掘能力層設(shè)計,如Mathout、Weka等分布式算法庫,同時也能夠提供內(nèi)部推薦算法庫和數(shù)據(jù)挖掘算法。③云計算支撐平臺層。該層主要提供數(shù)據(jù)庫存儲、分布式文件存儲以及計算能力,本文研究的基于云計算數(shù)據(jù)挖掘平臺可配合企業(yè)自主研發(fā)的云計算平臺使用,也可以使用中興通訊等第三方提供的云計算平臺[2]。
1.3 實現(xiàn)思路
為更直觀了解本文研究的云計算數(shù)據(jù)挖掘平臺,筆者還將簡單介紹該平臺的實現(xiàn)思路,數(shù)據(jù)挖掘平臺數(shù)據(jù)庫優(yōu)化、XML文件挖掘系統(tǒng)建立、數(shù)據(jù)挖掘明確化均屬于其中關(guān)鍵,具體思路如下所示:①數(shù)據(jù)挖掘平臺數(shù)據(jù)庫優(yōu)化。需關(guān)注維護數(shù)據(jù)可用性、關(guān)系數(shù)據(jù)庫、數(shù)據(jù)關(guān)聯(lián)配置實現(xiàn)數(shù)據(jù)挖掘平臺數(shù)據(jù)庫優(yōu)化,維護數(shù)據(jù)可用性需進行數(shù)據(jù)結(jié)構(gòu)化式的資源處理,關(guān)系數(shù)據(jù)庫則的應(yīng)用則主要負責SCL配置文件的數(shù)據(jù)建模,數(shù)據(jù)關(guān)聯(lián)配置則需要借助數(shù)據(jù)庫相關(guān)技術(shù),通過映射關(guān)系轉(zhuǎn)換SCL配置文件屬于其中關(guān)鍵。②XML文件挖掘系統(tǒng)建立。需開展XML挖掘部分的優(yōu)化,以此實現(xiàn)該部分架構(gòu)的優(yōu)化,這一過程需基于云計算方法建立編程對象模型。③數(shù)據(jù)挖掘步驟。具體的數(shù)據(jù)挖掘步驟可描述為:“確定數(shù)據(jù)挖掘的主題→處理相關(guān)數(shù)據(jù)→建立數(shù)據(jù)挖掘模型→評價數(shù)據(jù)挖掘模型”,通過反復(fù)開展的模型建立、評價,即可實現(xiàn)高質(zhì)量的數(shù)據(jù)挖掘,這一過程中需得到商業(yè)挖掘工具的支持,將所需要的數(shù)據(jù)資源分配給相應(yīng)客戶功能也將由此得以實現(xiàn),基于云計算的數(shù)據(jù)挖掘平臺數(shù)據(jù)挖掘效率將因此處于較高水平。
2 基于云計算數(shù)據(jù)挖掘平臺的關(guān)鍵技術(shù)
相較于傳統(tǒng)的數(shù)據(jù)挖掘平臺架構(gòu),基于云計算的數(shù)據(jù)挖掘平臺架構(gòu)在可擴展性、海量數(shù)據(jù)處理、成本與服務(wù)等層面均存在顯著優(yōu)勢,并能夠支持大范圍分布式數(shù)據(jù)挖掘的設(shè)計和應(yīng)用,這主要是由于云計算技術(shù)能夠構(gòu)建高吞吐量的云計算系統(tǒng),計算策略由HPC向HTC的轉(zhuǎn)變也源于云計算系統(tǒng)的廣泛應(yīng)用影響,而對于本文研究的云計算數(shù)據(jù)挖掘平臺來說,其功能的實現(xiàn)必須得到云計算技術(shù)、服務(wù)管理和服務(wù)調(diào)度技術(shù)、挖掘算法并行化技術(shù)的支持,因此本文對這類技術(shù)進行了較為深入的闡述。
2.1 分布式計算
作為實現(xiàn)海量數(shù)據(jù)挖掘的有效手段,分布式計算屬于本文研究的中心,其在數(shù)據(jù)挖掘平臺中的應(yīng)用已經(jīng)獲得了理論和實踐的認可。分布式計算由并行計算和分布式存儲組成,云計算平臺則提供實現(xiàn)分布式計算的計算能力。Kosmos文件系統(tǒng)、Hadoop分布式文件系統(tǒng)、Google文件系統(tǒng)均屬于業(yè)界較為常見的分布式文件系統(tǒng),Google提出的分布式文件系統(tǒng)理論則屬于三種分布式文件系統(tǒng)的源頭。此外,Map Reduce、Pregel兩種典型的分布式計算框架同樣在基于云計算的數(shù)據(jù)挖掘平臺中發(fā)揮著關(guān)鍵性作用,其中Map Reduce屬于并行計算框架,主要用于搜索、數(shù)據(jù)倉庫、數(shù)據(jù)挖掘領(lǐng)域,而Pregel則屬于迭代處理計算框架,主要用于疾病爆發(fā)路徑、交通線路、WEB搜索等領(lǐng)域,由此數(shù)據(jù)挖掘任務(wù)的完成便無需考慮數(shù)據(jù)分布、任務(wù)調(diào)度、任務(wù)并行、任務(wù)容錯、負載平衡、系統(tǒng)容錯等細節(jié),平臺維護成本降低、研發(fā)效率提升均將由此實現(xiàn)[3]。
2.2 服務(wù)管理和服務(wù)調(diào)度技術(shù)
服務(wù)管理和服務(wù)調(diào)度技術(shù)同樣屬于基于云計算數(shù)據(jù)挖掘平臺的關(guān)鍵技術(shù)組成,該技術(shù)主要負責提供服務(wù)管理和服務(wù)調(diào)度功能。其中,服務(wù)管理功能主要負責服務(wù)注冊、服務(wù)暴露等功能的統(tǒng)一,并能夠?qū)崿F(xiàn)本地服務(wù)能力暴露、第三方數(shù)據(jù)挖掘能力的接入,數(shù)據(jù)挖掘平臺服務(wù)能力由此即可實現(xiàn)較好擴展;服務(wù)調(diào)度功能作用發(fā)揮則需要關(guān)注服務(wù)和資源匹配情況、服務(wù)優(yōu)先級,服務(wù)的隔離、并行互斥可由此解決,數(shù)據(jù)挖掘平臺云服務(wù)的可靠、安全也將由此得到保障。
2.3 挖掘算法并行化技術(shù)
挖掘算法并行技術(shù)屬于本文研究的核心,云計算平臺基礎(chǔ)能力的利用需要得到挖掘算法并行化技術(shù)的支持,算法并行、策略選擇均會因此受到影響,為直觀展示挖掘算法并行化技術(shù),本文將使用K-means聚類算法并行化Map Reduce并行計算框架進行該技術(shù)的介紹,由此也能夠更深入了解本文研究的云計算數(shù)據(jù)挖掘平臺。其中,K-means聚類算法的基本理念可以概括為聚類性能指標最小化,而進行最小化處理聚類集中每一樣本點到類簇中心點距離平方之和,即可獲得聚類準則函數(shù),K-means聚類算法的流程可以描述為:“開始→從數(shù)據(jù)集中隨機選取k個樣本作為聚類中心→將每一個樣本聚類到離自己最近的k個樣本之一→計算每一個聚類均值→使用計算得出的均值替換原有聚類中心→聚類中心未改變→結(jié)束”,如該流程中替換原有聚類中心導致聚類中心改變,便需要重新回到第三步驟,由此不斷重復(fù)即可最終完成準則函數(shù)收斂,一般情況會采用平方誤差準則,即:
E=p-m
其中E、p、Ci、mi分別為數(shù)據(jù)集中所有對象的平方誤差、空間中的點、簇、Ci的均值,基于該公式不難發(fā)現(xiàn),每個簇中的每個對象,必須在求和前首先求出對象到其簇中心的均值的平方。
簡單了解K-means聚類算法后,即可介紹該算法的并行化思路。K-means聚類算法的聚類劃分需圍繞聚類中心進行,因此本文主要介紹聚類中心的并行更新。在隨機的初始化k個聚類中心后,當前k個聚類中心的值會在每一次任務(wù)的執(zhí)行后更新,而在Mapper(映射)階段,每個樣本Os均需要進行最近聚類中心Oi的計算,由此即可輸出,其中0≤i≤k-1;而在Reducer(化簡)階段,Map Reduce框架會進行相同鍵值的收集,離著最近的樣本也會作為值進行收集,這樣Reducer即可實現(xiàn)k個聚類中心的重新估計,上述樣本屬于該環(huán)節(jié)的關(guān)鍵,這一過程的計算可描述為:
Oi=
由此,在一輪Map Reduce結(jié)束后,便能夠完成新的聚類中心計算,而通過對比上一輪聚類中心與本輪聚類中心差異度,即可確定算法是否收斂。
3 結(jié) 論
綜上所述,基于云計算的數(shù)據(jù)挖掘平臺具備較高推廣潛力,在此基礎(chǔ)上,本文涉及的數(shù)據(jù)挖掘平臺數(shù)據(jù)庫優(yōu)化、數(shù)據(jù)挖掘步驟、服務(wù)管理和服務(wù)調(diào)度技術(shù)、挖掘算法并行化技術(shù)等內(nèi)容,則提供了可行性較高的云計算數(shù)據(jù)挖掘平臺建設(shè)路徑,而為了進一步提高平臺功能,內(nèi)部數(shù)據(jù)挖掘私有云的建設(shè)、數(shù)據(jù)挖掘平臺的SaaS化均需要得到業(yè)界人士的關(guān)注。
參考文獻
[1]曾 俊.一種基于Hadoop架構(gòu)的并行挖掘算法研究[J].現(xiàn)代電子技術(shù),2018,4101:117~119+124.
[2]趙 芬,張麗云,趙苗苗.生態(tài)環(huán)境大數(shù)據(jù)平臺架構(gòu)和技術(shù)初探[J].生態(tài)學雜志,2017,3603:824~832.
[3]劉建東.云計算下數(shù)據(jù)挖掘平臺架構(gòu)及其關(guān)鍵技術(shù)的探索[J].科技與創(chuàng)新,2017,06:128+132.
收稿日期:2018-6-11
作者簡介:謝天杰(1986-),男,本科,主要從事信息技術(shù)工作。
譚思敏(1988-),女,本科,主要從事標準化工作。