云計算的出現(xiàn),使得數(shù)據(jù)挖掘平臺有了新的發(fā)展方向,也使得新一代的數(shù)據(jù)挖掘平臺成為可能。云計算是能夠提供動態(tài)資源、虛擬化和高可用的計算平臺。云計算平臺可被用來開發(fā)高性能的應(yīng)用程序。但是對于數(shù)據(jù)挖掘來說,海量數(shù)據(jù)本身具有噪聲、異構(gòu)、算法復(fù)雜、技術(shù)復(fù)雜等問題,而現(xiàn)在的云計算開發(fā)平臺并沒有提供數(shù)據(jù)規(guī)約等功能。因此文章通過對于數(shù)據(jù)挖掘、云計算的詳細(xì)描述和分析,提出了基于云計算的數(shù)據(jù)挖掘平臺。該平臺架構(gòu)基于云計算的基礎(chǔ)能力,并符合云計算軟件即服務(wù)(SaaS)的設(shè)計理念。該平臺還能極大減少運營商、企業(yè)在數(shù)據(jù)挖掘技術(shù)上的投入并能加快其挖掘業(yè)務(wù)的推出,縮短研發(fā)周期,進(jìn)一步提高產(chǎn)品收益。
1.基于云計算的數(shù)據(jù)挖掘策略
1.1 數(shù)據(jù)挖掘
數(shù)據(jù)挖掘是一個從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的實際數(shù)據(jù)中提取隱含在其中的但具有潛在實用信息和知識的過程。從數(shù)據(jù)挖掘的定義可以看出數(shù)據(jù)挖掘是知識發(fā)現(xiàn)領(lǐng)域的一個重要技術(shù),它涉及到人工智能、機(jī)器學(xué)習(xí)、模式識別、統(tǒng)計學(xué)等高技術(shù)領(lǐng)域,具體技術(shù)包括特征化、關(guān)聯(lián)、聚類、預(yù)測分析等。數(shù)據(jù)挖掘在互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)、電信、金融、科學(xué)研究等領(lǐng)域得到了廣泛的應(yīng)用,例如Facebook 的好友推薦、和淘寶網(wǎng)的商品推薦、銀行的防欺詐分析等。傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)建立在關(guān)系型數(shù)據(jù)庫、數(shù)據(jù)倉庫之上的,對數(shù)據(jù)進(jìn)行計算,找出隱藏在數(shù)據(jù)中的模型或關(guān)系,并在大規(guī)模的數(shù)據(jù)上進(jìn)行數(shù)據(jù)訪問和統(tǒng)計計算,整個挖掘的過程需要消耗大量的計算資源以及存儲資源。
隨著云時代的到來和移動互聯(lián)網(wǎng)的快速發(fā)展,數(shù)據(jù)規(guī)模從MB、級發(fā)展到TB、PB 級甚至EB、ZB 級,并且面臨著TB 級的增長速度,數(shù)據(jù)挖掘的要求和環(huán)境也變得越來越復(fù)雜,從而形成“數(shù)據(jù)量的急劇膨脹”和“ 數(shù)據(jù)深度分析需求的增長”這兩大趨勢,使得40 年來一直適用的數(shù)據(jù)庫系統(tǒng)架構(gòu)在海量數(shù)據(jù)挖掘方面顯得力不從心。
綜合上述,傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)及其體系架構(gòu)在云時代的海量數(shù)據(jù)中已經(jīng)出現(xiàn)了不少問題,其中首先是挖掘效率的問題,傳統(tǒng)的基于單機(jī)的挖掘算法或基于數(shù)據(jù)庫、數(shù)據(jù)倉庫的挖掘技術(shù)及并行挖掘已經(jīng)很難高效地完成海量數(shù)據(jù)的分析;其次高昂的軟硬件成本也阻止了云時代數(shù)據(jù)挖掘系統(tǒng)的發(fā)展;最后傳統(tǒng)的體系架構(gòu)不能完成挖掘算法能力的提供,基本是在以單個算法為整體模塊,用戶只能使用已有的算法或重新編寫算法完成自己獨特的業(yè)務(wù)。
云計算云計算是一種商業(yè)計算模式,它將計算任務(wù)分布在大量計算機(jī)構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)能夠根據(jù)需要獲取計算力、存儲空間和信息服務(wù)。同時云計算是并行計算、分布式計算和網(wǎng)格計算的發(fā)展,或者說是這些計算科學(xué)概念的商業(yè)實現(xiàn)。
通常認(rèn)為云計算包括以下3 個層次的服務(wù):基礎(chǔ)設(shè)施即服務(wù)(IaaS)、平臺即服務(wù)(PaaS)、SaaS;其中IaaS 提供以硬件設(shè)備為基礎(chǔ)的計算、存儲和網(wǎng)絡(luò)服務(wù),實現(xiàn)了對硬件資源的抽象并服務(wù)化提供,使得分布式計算和分布式存儲成為現(xiàn)實。
云計算具有一些特點:
(1)虛擬化。云計算支持用戶在任意位置使用各種終端以獲取應(yīng)用服務(wù),所請求的資源來自云而不是固定的、有形的實體,并且對于用戶來說只需要使用云提供的服務(wù)即可。
(2)通用性。云計算不針對特定的應(yīng)用,而是可以在云的支撐下構(gòu)造出千變?nèi)f化的應(yīng)用,同一個云可以同時支撐不同的應(yīng)用運行。
(3)高可擴(kuò)展性及超大規(guī)模。云的規(guī)?梢詣討B(tài)擴(kuò)展,并且這種動態(tài)擴(kuò)展對用戶是透明的,并且不影響用戶的業(yè)務(wù)和應(yīng)用。同時這種擴(kuò)展是超大規(guī)模的,如Google 云計算已經(jīng)擁有上百萬臺服務(wù)器,Amazon、IBM、微軟等也擁有幾十萬臺服務(wù)器。
(4)可靠性高。云計算使用多副本容錯、多計算節(jié)點同構(gòu)可互換等措施來保障服務(wù)的高可靠性。
(5)經(jīng)濟(jì)性好。云的特殊容錯機(jī)制導(dǎo)致可以采用廉價的節(jié)點來構(gòu)成云,而云的自動化集中式管理使得大量企業(yè)無需負(fù)擔(dān)日益高昂的數(shù)據(jù)中心管理成本。云的通用性使資源的利用率較之傳統(tǒng)系統(tǒng)大幅提升,因此用戶可以充分享受云的低成本優(yōu)勢。
1.3 數(shù)據(jù)挖掘云化策略
云計算的出現(xiàn)即給數(shù)據(jù)挖掘帶來了問題和挑戰(zhàn),也給數(shù)據(jù)挖掘帶來新的機(jī)遇——數(shù)據(jù)挖掘技術(shù)將會出現(xiàn)基于云計算的新模式。如何構(gòu)建基于云計算的數(shù)據(jù)挖掘平臺也將是業(yè)界面臨的主要問題之一,創(chuàng)建一個用戶參與、開發(fā)技術(shù)要求不高的、快速響應(yīng)的數(shù)據(jù)挖掘平臺也是迫切需要解決的問題。
從業(yè)界對云計算的理解來看,云計算動態(tài)的、可伸縮的計算能力使得高效的海量數(shù)據(jù)挖掘成為可能。云計算SaaS 功能的理解和標(biāo)準(zhǔn)化,使得基于的數(shù)據(jù)挖掘SaaS 化有了技術(shù)和理論的支持,也將使得數(shù)據(jù)挖掘面向大眾化和企業(yè)化。文章主要是從基于云計算平臺的數(shù)據(jù)挖掘服務(wù)化、挖掘算法并行化、挖掘算法組件化角度進(jìn)行構(gòu)建數(shù)據(jù)挖掘SaaS 平臺,如圖所示。
如圖1 所示,文章提出的基于云計算的數(shù)據(jù)挖掘平臺架構(gòu)采用分層的思想:首先底層支撐采用云計算平臺,并使用云計算平臺提供的分布存儲以及分布式計算能力完成數(shù)據(jù)挖掘計算能力的并行實現(xiàn);其次數(shù)據(jù)挖掘平臺在設(shè)計上采用分布式、可插拔組件化思路,支持多算法部署、調(diào)度等;最后數(shù)據(jù)挖掘平臺提供的算法能力采用服務(wù)的方式對外暴露,并支持不同業(yè)務(wù)系統(tǒng)的調(diào)用,從而較方便地實現(xiàn)業(yè)務(wù)系統(tǒng)的推薦、挖掘等相關(guān)功能需求。
圖1 基于云計算的數(shù)據(jù)挖掘平臺總體架構(gòu)圖
2.數(shù)據(jù)挖掘平臺云架構(gòu)
云計算的分布式存儲和分布式計算促使了新一代數(shù)據(jù)挖掘平臺的變革。圖2 是基于云的數(shù)據(jù)挖掘平臺架構(gòu)。考慮到挖掘算法和推薦算法的并行化和分布化是一個專門的、大的課題,因此文章暫不包含具體算法的并行化和云化的內(nèi)容。
如圖2 所示,該平臺是基于云計算平臺實現(xiàn)的數(shù)據(jù)挖掘云服務(wù)平臺,采用分層設(shè)計的思想以及面向組件的設(shè)計思路,總體上分為3 層,自下向上依次為:云計算支撐平臺層、數(shù)據(jù)挖掘能力層、數(shù)據(jù)挖掘云服務(wù)層。
圖2 基于云計算的數(shù)據(jù)挖掘平臺架構(gòu)
云計算支撐平臺層
云計算支撐平臺層主要是提供分布式文件存儲、數(shù)據(jù)庫存儲以及計算能力。中興通訊有自主研發(fā)的云計算平臺,該架構(gòu)可以基于企業(yè)自主研發(fā)的云計算平臺,也可以基于第三方提供的云計算平臺。
數(shù)據(jù)挖掘能力層
數(shù)據(jù)挖掘能力層主要是提供挖掘的基礎(chǔ)能力,包含算法服務(wù)管理、調(diào)度引起、數(shù)據(jù)并行處理框架,并提供對數(shù)據(jù)挖掘云服務(wù)層的能力支撐。該層可以支持第三方挖掘算法工具的接入,例如Weka、Mathout 等分布式算法庫,同時也可以提供內(nèi)部的數(shù)據(jù)挖掘算法和推薦算法庫。
數(shù)據(jù)挖掘云服務(wù)層
云服務(wù)層主要是對外提供數(shù)據(jù)挖掘云服務(wù),服務(wù)能力封裝的接口形式可以是多樣的,包括基于簡單對象訪問協(xié)議(SOAP) 的Webservice、、HTTP、XML 或本地應(yīng)用程序編程接口(API) 等多種形式。云服務(wù)層也可以支持基于結(jié)構(gòu)化查詢語言語句的訪問,并提供解析引擎,以自動調(diào)用云服務(wù)。各個業(yè)務(wù)系統(tǒng)可以根據(jù)數(shù)據(jù)和業(yè)務(wù)的需要調(diào)用、組裝數(shù)據(jù)挖掘云服務(wù)。
文章提出的基于云計算的數(shù)據(jù)挖掘平臺與傳統(tǒng)的數(shù)據(jù)挖掘系統(tǒng)架構(gòu)相比有高可擴(kuò)展性、海量數(shù)據(jù)處理能力、面向服務(wù)、硬件成本低廉等優(yōu)越性,可以支持大范圍分布式數(shù)據(jù)挖掘的設(shè)計和應(yīng)用。
3.基于云計算數(shù)據(jù)挖掘平臺的關(guān)鍵技術(shù)
3.1 云計算技術(shù)
分布式計算是解決海量數(shù)據(jù)挖掘任務(wù),提高海量數(shù)據(jù)挖掘的有效手段之一,在理論和實踐上已經(jīng)獲得證實。分布式計算包含了分布式存儲和并行計算兩個層面的內(nèi)容,而云計算平臺提供了分布式文件存儲和并行的計算能力,因此很好地解決了這兩個層面的內(nèi)容。下面主要分析幾個主流的分布式文件系統(tǒng)和分布式并行計算框架,以更好地構(gòu)建云計算數(shù)據(jù)挖掘平臺的核心支撐能力。
分布式文件系統(tǒng)有效地解決了海量數(shù)據(jù)存儲問題,并實現(xiàn)了位置透明、移動透明、性能透明、擴(kuò)展透明、高容錯、高安全、高性能等關(guān)鍵功能。目前業(yè)界比較流行分布式文件系統(tǒng)有Google 文件系統(tǒng)(GFS)、分布式文件系統(tǒng)(HDFS)、文件系統(tǒng)(KFS),這3 種分布式文件系統(tǒng)都是基于Goolgle 提出的分布式文件系統(tǒng)理論進(jìn)行研發(fā)的。Google提出的GFS 就是解決其海量數(shù)據(jù)存儲和搜索、分析等問題,而和KFS 是基于GFS 理論基礎(chǔ)上實現(xiàn)的開源系統(tǒng),并且在商業(yè)和學(xué)術(shù)領(lǐng)域得到了廣泛的應(yīng)用。
分布式并行計算框架對于高效完成數(shù)據(jù)挖掘計算任務(wù)極其重要,并且它對分布式計算的一些技術(shù)細(xì)節(jié)進(jìn)行了封裝,例如數(shù)據(jù)分布、任務(wù)并行、任務(wù)調(diào)度、負(fù)載平衡、任務(wù)容錯、系統(tǒng)容錯等,使用戶不需要考慮這些細(xì)節(jié),而只要考慮任務(wù)間的邏輯關(guān)系。這樣不僅可以提高研發(fā)的效率,還可以降低系統(tǒng)維護(hù)的成本。目前典型的分布式計算框架有:
MapReduce 是提出的一個并行計算框架,它可以在大量PC 機(jī)上并行執(zhí)行海量數(shù)據(jù)的收集和分析任務(wù)。它把如何進(jìn)行任務(wù)并行執(zhí)行、如何進(jìn)行數(shù)據(jù)分布、如何容錯、網(wǎng)絡(luò)帶寬時延等問題的解決方案編碼,并封裝在了一個庫里面,使用戶只需要執(zhí)行數(shù)據(jù)運算即可,而不必關(guān)心并行計算、容錯、數(shù)據(jù)分布、負(fù)載均衡等復(fù)雜的細(xì)節(jié)。同時它又對上層應(yīng)用提供良好簡單的抽象接口。MapReduce 主要應(yīng)用在搜索、數(shù)據(jù)倉庫、數(shù)據(jù)挖掘領(lǐng)域。
Pregel 是Google 提出的迭代處理計算框架,它具有高效、可擴(kuò)展和容錯的特性,并隱藏了分布式相關(guān)的細(xì)節(jié),展現(xiàn)給人們的僅僅是一個表現(xiàn)力很強(qiáng)、很容易編程的大型圖算法處理的計算框架。Pregel 的主要應(yīng)用場景是大型的圖計算,例如交通線路、疾病爆發(fā)路徑、WEB 搜索等相關(guān)領(lǐng)域。
Dryad 是微軟硅谷研究院創(chuàng)建的研究項目,主要用來提供一個基于windows 操作系統(tǒng)的分布式計算平臺,總體用來支持有向無環(huán)圖類 型數(shù)據(jù)流的并行程序。微軟于年宣布,停止對Dryad 進(jìn)行版本升級,轉(zhuǎn)投Hadoop 即MapReduce 計算框架。
目前業(yè)界開源的云計算平臺, 包含HDFS 和MapReduce,為海量數(shù)據(jù)挖掘平臺提供完備的云計算平臺支撐平臺。
3.2 數(shù)據(jù)匯集調(diào)度中心
數(shù)據(jù)匯集調(diào)度中心實現(xiàn)對接入本平臺的業(yè)務(wù)數(shù)據(jù)的匯集,可以解決不同數(shù)據(jù)的規(guī)約問題,并支持各種不同的源數(shù)據(jù)格式。源數(shù)據(jù)格式支持聯(lián)機(jī)事務(wù)處理系統(tǒng)(OLTP)數(shù)據(jù)、聯(lián)機(jī)分析處理系統(tǒng)(OLAP)數(shù)據(jù)、各種日志數(shù)據(jù)、爬蟲數(shù)據(jù)等,同時要提供多種數(shù)據(jù)同步方式,例如數(shù)據(jù)庫實時同步、socket 消息同步、文件傳輸協(xié)議同步等各種各樣的方式,如圖3所示。
圖3 數(shù)據(jù)匯集中心
數(shù)據(jù)匯集調(diào)度中心主要是完成對不同類型數(shù)據(jù)的匯集。本數(shù)據(jù)匯集調(diào)度中心采用模板化設(shè)計技術(shù),支持新數(shù)據(jù)的模板和元數(shù)據(jù)配置以達(dá)到不同業(yè)務(wù)數(shù)據(jù)的統(tǒng)一收集和規(guī)約。
3.3 服務(wù)調(diào)度和服務(wù)管理技術(shù)
為了能夠讓不同的業(yè)務(wù)系統(tǒng)使用本計算平臺,平臺必須要提供服務(wù)調(diào)度和服務(wù)管理功能。服務(wù)調(diào)度根據(jù)服務(wù)的優(yōu)先級以及服務(wù)和資源的匹配情況等進(jìn)行調(diào)度,解決服務(wù)的并行互斥、隔離等,保證數(shù)據(jù)挖掘平臺的云服務(wù)是安全、可靠的,并根據(jù)服務(wù)管控進(jìn)行調(diào)度控制。
服務(wù)管理實現(xiàn)統(tǒng)一的服務(wù)注冊、服務(wù)暴露等功能,不僅支持本地服務(wù)能力的暴露,也支持第三方數(shù)據(jù)挖掘能力的接入,很好地擴(kuò)展數(shù)據(jù)挖掘平臺的服務(wù)能力。
3.4 挖掘算法并行化技術(shù)
挖掘算法并行化是有效利用云計算平臺提供的基礎(chǔ)能力的關(guān)鍵技術(shù)之一,涉及到算法是否可以并行、以及并行策略的選擇等技術(shù)。文章通過K-means 聚類算法并行化并行計算框架來說明挖掘算法的并行化技術(shù)[13]。
3.4.1 K-means 算法的主要思想
K-means算法的主要思想是基于使聚類性能指標(biāo)最小化。這里所用的聚類準(zhǔn)則函數(shù)是聚類集中每一樣本點到該類簇中心點距離平方之和,并使它最小化。如圖4 所示,K 均值算法的處理流程如下:首先,隨機(jī)地選擇k 個對象,每個對象代表一個簇的初始均值和中心;對剩余的每個對象,則根據(jù)其與各個簇的均值距離,將它指派到最相似的簇;然后計算每個簇的新均值。這個過程不斷重復(fù),直到準(zhǔn)則函數(shù)收斂。通常,采用平方誤差準(zhǔn)則,其定義如圖(1)所示:
圖(1)K-means算法
其中,E 是數(shù)據(jù)集中所有對象的平方誤差和,p 是空間中的點,表示給定的對象,mi 是簇Ci 的均值。對于每個簇中的每個對象,首先要求出對象到其簇中心的均值的平方,然后再求和。
圖4 K-means算法流程圖
3.4.2 K-means 并行化思路
是以聚類中心來劃分聚類的,一旦k 個聚類中心確定了,聚類可立即完成。因此,這里主要講述如何并行實現(xiàn)更新聚類中心。
在隨機(jī)的初始化k 個聚類中心以后,每一次任務(wù)的執(zhí)行都會更新當(dāng)前個聚類中心的值。在映射階段,對于每一個樣本OS ,需要計算與其最近的聚類中心Oi (0≤i ≤k -1) ,然后輸出<i,OS >鍵值對。
在化簡(Reducer) 階段,框架會收集屬于相同鍵的值,相當(dāng)于對每個聚類中心Oi (0≤i ≤k-1) ,而離它最近的樣本都會作為值收集起來。這樣Reducer 里就可以利用這些樣本重新估計出k 個聚類中心,如圖(2)所示:
圖(2)K-means 并行化思路
這樣,在一輪MapReduce 完成后,新的聚類中心也已經(jīng)計算出來。通過比較本輪聚類中心與上一輪聚類中心差異度,可確定算法是否收斂。
4.結(jié)束語
文章通過對數(shù)據(jù)挖掘和云計算技術(shù)的發(fā)展分析,提出了基于云計算的數(shù)據(jù)挖掘平臺架構(gòu)以及數(shù)據(jù)挖掘服務(wù)化的思路。本平臺不僅僅是基于云計算實現(xiàn)了一個數(shù)據(jù)挖掘平臺,同時也對數(shù)據(jù)挖掘平臺進(jìn)行了化。本平臺可以為運營商、企業(yè)提供效益增值的數(shù)據(jù)挖掘應(yīng)用,同時也減少了運營商、企業(yè)在數(shù)據(jù)挖掘技術(shù)上的投入。運營商、企業(yè)即可以創(chuàng)建自己內(nèi)部的數(shù)據(jù)挖掘私有云,為內(nèi)部產(chǎn)品提供數(shù)據(jù)挖掘服務(wù),也可以提供數(shù)據(jù)挖掘公用云,為不同的企業(yè)提供數(shù)據(jù)挖掘服務(wù)。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:基于云計算的數(shù)據(jù)挖掘平臺架構(gòu)及其關(guān)鍵技術(shù)研究
本文網(wǎng)址:http://www.oesoe.com/html/support/11121511700.html