鄭宇煜 陳栩聰 丘洪偉
【摘 要】隨著互聯(lián)網(wǎng)時(shí)代日新月異的發(fā)展,人們?cè)讷@取龐大信息量的同時(shí),如何從中挖掘出有用的信息成為了當(dāng)今世界的一大難題。傳統(tǒng)的數(shù)據(jù)挖掘算法在海量的信息下往往因?yàn)榫薮蟮挠?jì)算量導(dǎo)致速度減慢甚至無法運(yùn)行,這對(duì)傳統(tǒng)算法來說毫無疑問是瓶頸。解決這一問題的有效方法就是云計(jì)算平臺(tái)。云計(jì)算擅長處理大規(guī)模的數(shù)據(jù)和計(jì)算。將傳統(tǒng)數(shù)據(jù)挖掘算法部署到設(shè)計(jì)云計(jì)算平臺(tái)上運(yùn)行,上述瓶頸問題就可以解決了。
【關(guān)鍵詞】云計(jì)算;數(shù)據(jù)挖掘;系統(tǒng)架構(gòu);并行化
中圖分類號(hào): TP311.13;F49 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2019)36-0196-002
DOI:10.19694/j.cnki.issn2095-2457.2019.36.092
0 引言
當(dāng)今時(shí)代,在網(wǎng)絡(luò)技術(shù)的推廣與發(fā)展下,網(wǎng)絡(luò)帶來海量的信息,人們正處于“被信息淹沒,但又渴求知識(shí)”的困境。而隨著互聯(lián)網(wǎng)的快速發(fā)展、數(shù)據(jù)庫技術(shù)以及信息化水平的日趨完善,人類的知識(shí)儲(chǔ)備量正以指數(shù)方式高速增長。此時(shí)的人類迫切需要一種高端技術(shù),來處理這些雜亂無章的數(shù)據(jù),這種技術(shù)需要將傳統(tǒng)數(shù)據(jù)分析法與處理數(shù)據(jù)的復(fù)雜算法有機(jī)的結(jié)合在一起。因此,數(shù)據(jù)挖掘技術(shù)在此環(huán)境下誕生,將海量數(shù)據(jù)去假求真,提取出對(duì)人類有用的信息并轉(zhuǎn)化為知識(shí)。然而,很多傳統(tǒng)的數(shù)據(jù)挖掘算法僅僅適用于小規(guī)模輸入數(shù)據(jù),倘若大量輸入數(shù)據(jù),它們則會(huì)因計(jì)算量的增加而導(dǎo)致速度減慢,甚至無法運(yùn)行。
云計(jì)算的誕生正是為了解決這項(xiàng)瓶頸,它更實(shí)用于海量的數(shù)據(jù)處理和計(jì)算能力的巨大需求。將云計(jì)算技術(shù)應(yīng)用到數(shù)據(jù)挖掘算法中去,這給數(shù)據(jù)挖掘領(lǐng)域解決瓶頸問題帶來來新的希望。想要在數(shù)據(jù)挖掘算法中引入云計(jì)算思維,關(guān)鍵在于實(shí)現(xiàn)相關(guān)數(shù)據(jù)挖掘算法的并行化,使之能夠借助云計(jì)算平臺(tái)進(jìn)行海量計(jì)算以及保持高效率來處理海量數(shù)據(jù)。
云計(jì)算的概念最早是由美國谷歌公司提出,發(fā)展到如今,云計(jì)算已經(jīng)在全球范圍內(nèi)形成了一個(gè)龐大的市場(chǎng),全世界大部分IT廠商都已根據(jù)自身情況制定了“云計(jì)算計(jì)劃”。比較著名的案例有:IBM公司于2007年8月推出的“藍(lán)云”計(jì)劃;谷歌公司在2007年10月推出的“消費(fèi)云”計(jì)劃;雅虎公司也已使用開源展開來自己的云計(jì)算計(jì)劃。其中做的最出色的是谷歌公司制定的計(jì)劃,該計(jì)劃在實(shí)施過程中主要在全球搜索方面的具有強(qiáng)大的處理能力。
而我國的政府、學(xué)術(shù)界和產(chǎn)業(yè)界也早已對(duì)云計(jì)算的研究高度重視,相關(guān)的研究計(jì)劃如雨后春筍般快速涌現(xiàn)出來。其中值得一提的有關(guān)云計(jì)算研究的專項(xiàng)計(jì)劃有:國家“863計(jì)劃”、“973計(jì)劃”、國家自然科學(xué)基金等等。而早在2008年初,美國IBM公司就與無錫市政府合作創(chuàng)建來無錫軟件園云計(jì)算中心;同年1月,360安全企業(yè)計(jì)算也聯(lián)合VMware發(fā)布了“云安全”解決方案;此外還有中國聯(lián)通、中國電信等網(wǎng)絡(luò)運(yùn)營商也都有布局云計(jì)算計(jì)劃。
1 云計(jì)算
1.1 云計(jì)算的定義
云計(jì)算是一種分布在大規(guī)模數(shù)據(jù)中心,能動(dòng)態(tài)的提供各種服務(wù)器資源以滿足電商產(chǎn)業(yè)、科研等領(lǐng)域需求的計(jì)算平臺(tái)。它可以被看做是并行計(jì)算、分布式計(jì)算和網(wǎng)格計(jì)算的發(fā)展。云計(jì)算利用虛擬化技術(shù),對(duì)于不同用戶的不同需求來提供不同的服務(wù),主要提供所需的虛擬計(jì)算和系統(tǒng)資源,最終使普通用戶也能通過該技術(shù)實(shí)現(xiàn)海量數(shù)據(jù)操作以及大規(guī)模并行化計(jì)算,此外還為搭建統(tǒng)一開放的知識(shí)網(wǎng)絡(luò)系統(tǒng)提供了底層支持。
1.2 云計(jì)算的特點(diǎn)
1)規(guī)模大。云計(jì)算技術(shù)的使用需要具備一定規(guī)模的硬件基礎(chǔ),比如Google實(shí)現(xiàn)全球搜索處理使用的云計(jì)算服務(wù)器超過100萬,而其他的IT廠商如Yahoo、IBM、微軟等的云平臺(tái)則均擁有幾十萬臺(tái)服務(wù)器。云需要的規(guī)模大,反過來它帶來的收益也是巨大的,它能賦予使用者超前的計(jì)算能力。
2)虛擬化。云計(jì)算的使用不受用戶地點(diǎn)、終端的限制。用戶請(qǐng)求的服務(wù)將在遠(yuǎn)方的“云”中運(yùn)算,并將所需結(jié)果返回給用戶。
3)高可靠性。云計(jì)算通過副本和相關(guān)策略進(jìn)行容錯(cuò),通過計(jì)算節(jié)點(diǎn)同構(gòu)可互換等措施來保障服務(wù)的可靠性。因此“云”的可靠性高于本地計(jì)算機(jī)。
4)通用性。云計(jì)算可以使用多種應(yīng)用,多個(gè)平臺(tái),因此它還具有通用性的特點(diǎn)。
1.3 云計(jì)算的架構(gòu)
云計(jì)算是一個(gè)底層透明、高伸縮性、高可靠性且安全的底層架構(gòu),它具有友好的監(jiān)控和維護(hù)接口,并能根據(jù)用戶所需的服務(wù)抽象地將計(jì)算和存儲(chǔ)資源進(jìn)行動(dòng)態(tài)分配。
要想使用“云”,只需根據(jù)應(yīng)用程序接口規(guī)范來調(diào)用所需資源,而在不使用“云”的時(shí)候,則需要通過提高系統(tǒng)吞吐量來減少所需硬件的其他投資,這需要花更多的時(shí)間和精力。而大部分用戶都只關(guān)心業(yè)務(wù)都邏輯實(shí)現(xiàn),那么,針對(duì)數(shù)據(jù)挖掘?qū)崿F(xiàn),要想得到更加滿意的結(jié)果,可以將各種算法都部署到云計(jì)算平臺(tái)中去運(yùn)行,接著通過該平臺(tái)的接口或控制面板來響應(yīng)目標(biāo)時(shí)間。
1.4 現(xiàn)有云計(jì)算平臺(tái)簡介
現(xiàn)階段所擁有的云計(jì)算平臺(tái),已逐漸邁入成熟階段了。比如在數(shù)據(jù)存儲(chǔ)方面,Google Big table與Amazon Simple Storage Service等為實(shí)現(xiàn)龐大數(shù)據(jù)的分布式訪問與存儲(chǔ)提供了較為不錯(cuò)的支持。而在計(jì)算方面,Google App Engine基于云計(jì)算設(shè)計(jì)實(shí)現(xiàn)的應(yīng)用已可以便捷的部署其計(jì)算資源。
2 云計(jì)算環(huán)境下的數(shù)據(jù)挖掘
2.1 數(shù)據(jù)挖掘的任務(wù)
數(shù)據(jù)挖掘的主要任務(wù),即是將數(shù)據(jù)中的隱藏模式改為顯示模式。目前能夠發(fā)現(xiàn)的模式一般分為這兩種:描述型模式和預(yù)測(cè)型模式。描述型模式,將存在的數(shù)據(jù)的特性進(jìn)行刻畫并描述,找出存在的一般規(guī)律。預(yù)測(cè)型模式,通過時(shí)間時(shí)間序列,以時(shí)間為中心對(duì)過去的值和現(xiàn)在的值對(duì)未來的值進(jìn)行預(yù)測(cè)。
2.2 基于云計(jì)算的數(shù)據(jù)挖掘的系統(tǒng)架構(gòu)
2.2.1 傳統(tǒng)數(shù)據(jù)挖掘
傳統(tǒng)數(shù)據(jù)挖掘,主要有聚類分析、分類分析、回歸分析等。聚類分析,針對(duì)數(shù)據(jù)的相似性和差異性歸分類別;分類分析,與聚類分析類似,分類類別可以將數(shù)據(jù)歸分到已經(jīng)定好的類中;回歸分析,通過函數(shù)之間的映射關(guān)系發(fā)現(xiàn)屬性值之間的關(guān)系。
然而傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)難以應(yīng)對(duì)當(dāng)今復(fù)雜、龐大的數(shù)據(jù)信息。一方面是執(zhí)行效率低下,傳統(tǒng)數(shù)據(jù)挖掘技術(shù)主要是集中在底層開發(fā),難以實(shí)現(xiàn)數(shù)據(jù)處理的并行化,因而在處理TB級(jí)以上的數(shù)據(jù)時(shí)速度很慢。另一方面是精度低,傳統(tǒng)的數(shù)據(jù)挖掘難以在數(shù)據(jù)量提升的情況下保持準(zhǔn)確的計(jì)算,尤其難以應(yīng)對(duì)結(jié)構(gòu)化的數(shù)據(jù)。
2.2.2 基于云計(jì)算的數(shù)據(jù)挖掘系統(tǒng)模型
目標(biāo)系統(tǒng)是搭建于云計(jì)算之上的數(shù)據(jù)挖掘系統(tǒng),通過用戶界面和開放接口為各類終端用戶提供服務(wù)。用戶根據(jù)需求發(fā)送任務(wù),云端服務(wù)器將根據(jù)用戶需求動(dòng)態(tài)分配系統(tǒng)的計(jì)算和存儲(chǔ)能力,用戶方面也無需了解系統(tǒng)的實(shí)現(xiàn)和處理方法,系統(tǒng)執(zhí)行相應(yīng)程序并返回?cái)?shù)據(jù)挖掘結(jié)果。
數(shù)據(jù)挖掘系統(tǒng)模塊自底向上可以抽象的劃分為三個(gè)模塊,分別是算法模塊、應(yīng)用模塊、任務(wù)模塊。最底層為目標(biāo)系統(tǒng),主要用來提供應(yīng)用程序接口;而最頂層為開放和用戶接口,用戶可通過該接口來調(diào)用算法程序,并植入到自己的程序應(yīng)用中,這也體現(xiàn)了應(yīng)用的開放性。接下來,本文將按自底向上的順序來介紹中間各層提供的服務(wù)。
1)算法層。該層使用所提供的數(shù)據(jù)源,來實(shí)現(xiàn)算法的使用,以及管理相應(yīng)的接口。在數(shù)據(jù)集具有噪聲、異構(gòu)時(shí),調(diào)用數(shù)據(jù)清洗算法針對(duì)該數(shù)據(jù)集進(jìn)行處理,再存入云平臺(tái)的存儲(chǔ)中執(zhí)行數(shù)據(jù)挖掘算法;若數(shù)據(jù)集正常,則直接調(diào)用數(shù)據(jù)挖掘算法服務(wù)。
2)應(yīng)用層。應(yīng)用層對(duì)于整個(gè)數(shù)據(jù)挖掘流程所涉及的數(shù)據(jù)、算法之間的關(guān)系與順序進(jìn)行描述,以更好的維護(hù)應(yīng)用接口和調(diào)用服務(wù)。該層以插件方式管理各種任務(wù)定義文件,病應(yīng)用注冊(cè)與注銷服務(wù)來管理模塊,以此來維護(hù)維護(hù)相應(yīng)應(yīng)用的接口和調(diào)用服務(wù)。
3)用戶層。該層具有授權(quán)功能,可用來提供用戶身份驗(yàn)證。主要為用戶注冊(cè)、驗(yàn)證與授權(quán)服務(wù)提供相應(yīng)的可用接口。此外,為來保證平臺(tái)的安全性,還將授權(quán)信息作為調(diào)用下層各服務(wù)的通行證。
以上的各層均使用通訊語言的形式以提高各層的支持性,最后通過開放接口模式或最頂層的用戶界面來對(duì)用戶進(jìn)行開放。該目標(biāo)平臺(tái)架構(gòu)還可以根據(jù)用戶本身的需要對(duì)其他任意層進(jìn)行開發(fā),最后將所需要的服務(wù)置入系統(tǒng)內(nèi),這樣的舉措大大提高了系統(tǒng)的可用性和開放性,也是傳統(tǒng)數(shù)據(jù)挖掘平臺(tái)難以實(shí)現(xiàn)的。
3 結(jié)論
本文展示了云計(jì)算開發(fā)平臺(tái)的系統(tǒng)模型,針對(duì)現(xiàn)階段傳統(tǒng)數(shù)據(jù)挖掘系統(tǒng)和云計(jì)算環(huán)境下進(jìn)行了說明和比較。傳統(tǒng)的數(shù)據(jù)挖掘針對(duì)世界日益增長的數(shù)據(jù)量心有余而力不足,而云計(jì)算在處理大規(guī)模的數(shù)據(jù)和計(jì)算方面則是得心應(yīng)手,所以將兩者進(jìn)行結(jié)合開發(fā)云計(jì)算數(shù)據(jù)挖掘平臺(tái)就成了解決傳統(tǒng)數(shù)據(jù)挖掘難以解決的海量數(shù)據(jù)中的數(shù)據(jù)挖掘的問題。
【參考文獻(xiàn)】
[1]紀(jì)俊.一種基于云計(jì)算的數(shù)據(jù)挖掘平臺(tái)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[D].青島:青島大學(xué),2009.
[2]汪明.數(shù)據(jù)挖掘綜述[J].河北軟件職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012,14(1):45-48.
[3]李軍華.云計(jì)算及若干數(shù)據(jù)挖掘算法的MapReduce化研究[D].成都:電子科技大學(xué),2010.
[4]張建勛,古志民,鄭超.云計(jì)算研究進(jìn)展綜述[J].計(jì)算機(jī)應(yīng)用研究,2010,27(2):429-433.
[5]羅偉.數(shù)字校園云平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].廣東:華南理工大學(xué),2012.