馮巖星,聶開勛,應(yīng)依依
(浙江浙能數(shù)字科技有限公司,杭州 310000)
互聯(lián)網(wǎng)的快速發(fā)展帶動了云計算數(shù)據(jù)量的增長,為了保證云計算的效率最大化,需要在數(shù)據(jù)訪問與共享的過程中,平衡并優(yōu)化云計算資源的分配策略[1]。異構(gòu)云計算的體系結(jié)構(gòu)能夠?qū)⒂邢薜馁Y源進行分配,從而不受空間的限制,實現(xiàn)快速的網(wǎng)絡(luò)部署。在異構(gòu)云計算的運行過程中,會產(chǎn)生海量的多源數(shù)據(jù),這些數(shù)據(jù)中包含了大量的有效信息,對這些數(shù)據(jù)進行高效的利用,是目前人們研究的課題[2]。想要高效利用以上的海量數(shù)據(jù),首先需要能夠?qū)崿F(xiàn)這些數(shù)據(jù)的精準(zhǔn)訪問。因此,針對異構(gòu)云計算海量多源數(shù)據(jù)進行精準(zhǔn)訪問,已經(jīng)衍生出了多種多樣的技術(shù)模式。當(dāng)前最常用的就是將異構(gòu)云計算中的數(shù)據(jù)進行在線共享。但是目前異構(gòu)云計算中的數(shù)據(jù)多源化嚴(yán)重,在傳統(tǒng)的集群模式數(shù)據(jù)共享過程中,由于難以統(tǒng)一數(shù)據(jù)的格式,因此其共享方法的學(xué)習(xí)泛化能力較弱,影響了最終的數(shù)據(jù)共享結(jié)果。為了實現(xiàn)異構(gòu)云計算海量多源數(shù)據(jù)的高效利用,本文設(shè)計了一種異構(gòu)云計算海量多源數(shù)據(jù)在線共享方法。
為了使異構(gòu)云計算中存在的海量多源數(shù)據(jù)實現(xiàn)精準(zhǔn)的在線共享,首先要將多源數(shù)據(jù)的格式進行歸一化轉(zhuǎn)換。在轉(zhuǎn)換多源數(shù)據(jù)格式的過程中,首先要對異構(gòu)云計算中個體數(shù)據(jù)進行三維仿真。以異構(gòu)云計算中的數(shù)據(jù)分布情況為例,進行歸一化處理[3]。云計算中的數(shù)據(jù)量大,數(shù)據(jù)分布密度不均勻,首先對該區(qū)域進行網(wǎng)格劃分,并計算出某區(qū)域內(nèi)的平均數(shù)據(jù)密度,計算公式為
上式中,ρaverage表示目標(biāo)區(qū)域范圍內(nèi)的平均數(shù)據(jù)密度,S表示異構(gòu)云計算中的網(wǎng)格區(qū)域面積,Ni表示網(wǎng)格區(qū)域內(nèi)所有數(shù)據(jù)的集合。按照上式計算出區(qū)域內(nèi)各個小網(wǎng)格中的實際數(shù)據(jù)密度[4-5]。首先提取目標(biāo)區(qū)域網(wǎng)格內(nèi)的數(shù)據(jù)密度值,并將各個網(wǎng)格內(nèi)的數(shù)據(jù)密度進行累加,重復(fù)以上操作,此時判斷是否完成目標(biāo)區(qū)域內(nèi)所有網(wǎng)格的遍歷,如果完成遍歷,那么則求取平均的數(shù)據(jù)密度值,完成計算[6-7]。經(jīng)過以上的流程,可以得到異構(gòu)云計算中的海量多源數(shù)據(jù)的密度情況。在完成密度的計算之后,需要利用得到的數(shù)據(jù)進行三維分布仿真,在此過程中將不同源數(shù)據(jù)進行格式轉(zhuǎn)換。針對紋理數(shù)據(jù)格式轉(zhuǎn)換來說,本文所選擇的是頻譜法。首先提取數(shù)據(jù)的特征矩陣,獲取其中某數(shù)據(jù)點的坡度值,并進行坡度歸一化。歸一化的公式如式(2)所示:
式(2)中,(K,L)表示數(shù)據(jù)點的坐標(biāo),g(K,L)代表該點的坡度值,gmax表示多源數(shù)據(jù)中的數(shù)據(jù)最大坡度值,Ng為歸一化常數(shù),根據(jù)實際情況確定常數(shù)的值。根據(jù)上述的流程,可以得到以后云計算中的多源數(shù)據(jù)密度變化情況,并將其轉(zhuǎn)換到一個歸一化的單位,以便于和多源數(shù)據(jù)中其他類型的數(shù)據(jù)實現(xiàn)同步共享。
完成多源數(shù)據(jù)的格式歸一化處理之后,在共享過程中,本文將基于Hadoop 開發(fā)的訪問接口進行重新定義,使其適用于多個異構(gòu)云計算環(huán)境,并實現(xiàn)每個云服務(wù)節(jié)點之間實時交互,保證數(shù)據(jù)的良好共享與傳輸?;贖adoop 的訪問接口對整個數(shù)據(jù)流提供分布式存取控制引擎技術(shù)??芍С謱崟r數(shù)據(jù)請求和在線數(shù)據(jù)請求。Hadoop 接口在存儲業(yè)務(wù)中提供存儲管理技術(shù)、數(shù)據(jù)存儲分析技術(shù)、動態(tài)數(shù)據(jù)存儲技術(shù)、網(wǎng)絡(luò)通信業(yè)務(wù)技術(shù)等。該訪問接口還支持異構(gòu)云計算環(huán)境下本地存儲服務(wù)器訪問。
從圖1可以看出,接口中另外還有一個訪問接口提供給異構(gòu)云計算環(huán)境下訪問本地存儲服務(wù)器訪問接口,即圖1中的這種訪問接口也可支持異構(gòu)云計算環(huán)境下對本地存儲服務(wù)器的訪問接口。該訪問接口提供了多個訪問接口,它們通過互連協(xié)議,互相傳遞數(shù)據(jù)給對方。這些訪問接口還可提供本地和異構(gòu)云服務(wù)節(jié)點之間的網(wǎng)絡(luò)通信接口,并在這兩個接口中進行數(shù)據(jù)校驗。
圖1 訪問接口示意圖
對于多源數(shù)據(jù)共享,最基本的就是必須要有完善的基礎(chǔ)設(shè)施來支撐。企業(yè)如果沒有完善的基礎(chǔ)設(shè)施和管理系統(tǒng),不可能實現(xiàn)多源數(shù)據(jù)在線共享。在異構(gòu)云計算中海量多源數(shù)據(jù)的在線共享實現(xiàn)過程中,所需要使用到的設(shè)備功能需要滿足總體的要求。數(shù)據(jù)的在線共享過程主要由服務(wù)器、存儲單元、通信單元和應(yīng)用單元組成。其中數(shù)據(jù)共享管理系統(tǒng)主要是指系統(tǒng)中服務(wù)器端部分。服務(wù)器端將收集的數(shù)據(jù)從存儲單元中分拆出來,然后通過Hadoop 算法自動更新。在使用過程中,只需執(zhí)行特定流程即可。比如:系統(tǒng)中每個存儲單元生成一個請求數(shù)據(jù),需要完成該請求數(shù)據(jù)后,從存儲單元中提取該請求信息并返回給客戶端,這樣就完成了數(shù)據(jù)共享處理。為了減少服務(wù)器開銷,也可以采用共享訪問接口模式進行數(shù)據(jù)共享處理。使用Hadoop 技術(shù)將處理結(jié)果從網(wǎng)絡(luò)發(fā)送到客戶端節(jié)點。客戶端利用異構(gòu)云計算中大量資源將數(shù)據(jù)發(fā)送給客戶端節(jié)點進行處理以提高處理速度,同時為用戶提供數(shù)據(jù)交換服務(wù),為服務(wù)器提供安全、可靠、高速通道。
本文提出基于Hadoop 技術(shù)和用戶接口技術(shù)兩種方式,以實現(xiàn)數(shù)據(jù)在線共享和Hadoop 網(wǎng)絡(luò)安全保障等。下面以Hadoop 瀏覽器為例介紹該方案實施過程。首先,根據(jù)系統(tǒng)需求部署Hadoop服務(wù)器集群,在集群中部署客戶端??蛻舳耸紫韧ㄟ^客戶端與數(shù)據(jù)共享服務(wù)的Hadoop 客戶端(home person service)建立連接,用戶訪問資源時需驗證身份信息。驗證成功后,從客戶端中獲取相應(yīng)訪問權(quán)限并使用訪問接口向異構(gòu)云平臺獲取資源。用戶在訪問平臺時使用訪問應(yīng)用內(nèi)不同接口。當(dāng)平臺訪問數(shù)據(jù)庫時,訪問接口請求訪問服務(wù)接口并返回請求結(jié)果。數(shù)據(jù)共享服務(wù)平臺提供實時數(shù)據(jù)傳輸和網(wǎng)絡(luò)連接。
為了驗證本文所設(shè)計的異構(gòu)云計算海量所有數(shù)據(jù)的在線共享方法在實際應(yīng)用中的有效性,進行了共享方法對象性能驗證。實驗中選擇人造數(shù)據(jù)集Hyperp 和真實數(shù)據(jù)集,共同作為方法性能驗證的共享數(shù)據(jù)集,真實數(shù)據(jù)集共三組,分 別 為Heterogeneity activity(Activity)、Forest cover type(Covertype)和KDDCUP1999(Kdd),人造數(shù)據(jù)集主要是由數(shù)據(jù)生成器隨機構(gòu)建的數(shù)據(jù)集,并在其中添加多源異構(gòu)數(shù)據(jù),因此存在一定的漸進式概念漂移等現(xiàn)象。在真實數(shù)據(jù)集中,也同樣存在明顯的異構(gòu)漂移特征。數(shù)據(jù)集的詳細(xì)信息如表1所示。
表1 實驗數(shù)據(jù)集信息
在以上數(shù)據(jù)集中,分別使用不同的數(shù)據(jù)共享方法對其進行在線共享,并分析不同方法下的泛化學(xué)習(xí)能力。選擇的傳統(tǒng)在線共享方法為MCEL 方法和RDEL 方法,所測試的分布式環(huán)境共有4個局部的節(jié)點,在每個節(jié)點上都可以配置一個本地的學(xué)習(xí)器,并同時適配一個標(biāo)記過的訓(xùn)練數(shù)據(jù)集,以及一個測試資料集。在實驗的過程中,將驗證資料集進行分割,得到無重疊數(shù)據(jù)的四個子集,并使子集和四個部分的節(jié)點一一對應(yīng)。節(jié)點上的初始練習(xí)數(shù)據(jù)集都是由子集隨機分成采樣得到的,因此本文中建立的訓(xùn)練集數(shù)據(jù)源都是1000。而設(shè)置的節(jié)點之間的實時共享資料則包括所有原始數(shù)據(jù)、協(xié)方差矩陣均值的向量集合以及微簇集合。為了在實驗中更好地描述數(shù)據(jù)共享過程中隨機到達的情況,局部節(jié)點的數(shù)據(jù)共享速度會在不同的時間有不同的體現(xiàn)。
為了對不同數(shù)據(jù)共享方法的泛化能力進行量化,本文選擇度量指標(biāo)為錯誤率(ER)和查準(zhǔn)率查全率的調(diào)和平均數(shù)(F1),其中F1的計算公式為
上式中,P表示查準(zhǔn)率,R表示查全率。在實驗的開始階段,各個節(jié)點的學(xué)習(xí)器是依靠初始的訓(xùn)練集進行構(gòu)建的。實驗結(jié)果記錄的過程中,對第一個到達節(jié)點的數(shù)據(jù)塊開始記錄,依次使用不同的數(shù)據(jù)塊對學(xué)習(xí)器進行測試,記錄實驗結(jié)果,并對不同共享方法下的結(jié)果進行記錄。
三種不同的在線共享方法在不同數(shù)據(jù)集中結(jié)果如表2~表4所示。
表2 不同方法的ER測試結(jié)果 單位:GB
表3 不同方法的F1測試結(jié)果 單位:GB
表4 不同方法的共享數(shù)據(jù)量測試結(jié)果 單位:GB
從上表的數(shù)據(jù)可以看出,在本文所設(shè)計的數(shù)據(jù)在線共享方法中,共享數(shù)據(jù)量最高,ER與F1 的平均值在三種方法中最低,這說明本文所設(shè)計的異構(gòu)云計算海量多源數(shù)據(jù)的在線共享方法相對于兩種傳統(tǒng)方法來說,在數(shù)據(jù)共享的過程中泛化能力最好。綜合上述實驗結(jié)果來分析,本文方法的泛化能力較好,也就是說,當(dāng)不同共享方法下的假設(shè)空間相似時,不同方法學(xué)到的假設(shè)空間不存在交集,此時本文設(shè)計的共享方法能夠在一定的誤差范圍內(nèi),最大程度上還原共享數(shù)據(jù)。
本文針對異構(gòu)云計算數(shù)據(jù)的共享與訪問過程中存在的多種問題,提出了一種分布式節(jié)點訪問技術(shù)和異構(gòu)云計算數(shù)據(jù)共享方式。共享過程中采用分布式共享技術(shù)提供了多種數(shù)據(jù)訪問接口以及網(wǎng)絡(luò)安全保障等多項技術(shù)方案,為不同規(guī)模的異構(gòu)云計算平臺實現(xiàn)了資源共享、資源調(diào)度等一系列技術(shù)方案。并在此基礎(chǔ)上提出了一個針對異構(gòu)云平臺,海量多源數(shù)據(jù)在線共享與管理需求的先進技術(shù)方案,實現(xiàn)系統(tǒng)平臺具有可移植性強、功能完善、維護簡單、使用成本低等優(yōu)點。本文所設(shè)計的共享方法可廣泛用于政府部門、科研機構(gòu)、高校、數(shù)據(jù)中心等用戶在線數(shù)據(jù)共享管理與使用之中,同時也為異構(gòu)云計算技術(shù)提供豐富的應(yīng)用場景,具有較強的推廣應(yīng)用價值。