馮巖星,聶開勛,應依依
(浙江浙能數字科技有限公司,杭州 310000)
互聯網的快速發展帶動了云計算數據量的增長,為了保證云計算的效率最大化,需要在數據訪問與共享的過程中,平衡并優化云計算資源的分配策略[1]。異構云計算的體系結構能夠將有限的資源進行分配,從而不受空間的限制,實現快速的網絡部署。在異構云計算的運行過程中,會產生海量的多源數據,這些數據中包含了大量的有效信息,對這些數據進行高效的利用,是目前人們研究的課題[2]。想要高效利用以上的海量數據,首先需要能夠實現這些數據的精準訪問。因此,針對異構云計算海量多源數據進行精準訪問,已經衍生出了多種多樣的技術模式。當前最常用的就是將異構云計算中的數據進行在線共享。但是目前異構云計算中的數據多源化嚴重,在傳統的集群模式數據共享過程中,由于難以統一數據的格式,因此其共享方法的學習泛化能力較弱,影響了最終的數據共享結果。為了實現異構云計算海量多源數據的高效利用,本文設計了一種異構云計算海量多源數據在線共享方法。
為了使異構云計算中存在的海量多源數據實現精準的在線共享,首先要將多源數據的格式進行歸一化轉換。在轉換多源數據格式的過程中,首先要對異構云計算中個體數據進行三維仿真。以異構云計算中的數據分布情況為例,進行歸一化處理[3]。云計算中的數據量大,數據分布密度不均勻,首先對該區域進行網格劃分,并計算出某區域內的平均數據密度,計算公式為
上式中,ρaverage表示目標區域范圍內的平均數據密度,S表示異構云計算中的網格區域面積,Ni表示網格區域內所有數據的集合。按照上式計算出區域內各個小網格中的實際數據密度[4-5]。首先提取目標區域網格內的數據密度值,并將各個網格內的數據密度進行累加,重復以上操作,此時判斷是否完成目標區域內所有網格的遍歷,如果完成遍歷,那么則求取平均的數據密度值,完成計算[6-7]。經過以上的流程,可以得到異構云計算中的海量多源數據的密度情況。在完成密度的計算之后,需要利用得到的數據進行三維分布仿真,在此過程中將不同源數據進行格式轉換。針對紋理數據格式轉換來說,本文所選擇的是頻譜法。首先提取數據的特征矩陣,獲取其中某數據點的坡度值,并進行坡度歸一化。歸一化的公式如式(2)所示:
式(2)中,(K,L)表示數據點的坐標,g(K,L)代表該點的坡度值,gmax表示多源數據中的數據最大坡度值,Ng為歸一化常數,根據實際情況確定常數的值。根據上述的流程,可以得到以后云計算中的多源數據密度變化情況,并將其轉換到一個歸一化的單位,以便于和多源數據中其他類型的數據實現同步共享。
完成多源數據的格式歸一化處理之后,在共享過程中,本文將基于Hadoop 開發的訪問接口進行重新定義,使其適用于多個異構云計算環境,并實現每個云服務節點之間實時交互,保證數據的良好共享與傳輸。基于Hadoop 的訪問接口對整個數據流提供分布式存取控制引擎技術。可支持實時數據請求和在線數據請求。Hadoop 接口在存儲業務中提供存儲管理技術、數據存儲分析技術、動態數據存儲技術、網絡通信業務技術等。該訪問接口還支持異構云計算環境下本地存儲服務器訪問。
從圖1可以看出,接口中另外還有一個訪問接口提供給異構云計算環境下訪問本地存儲服務器訪問接口,即圖1中的這種訪問接口也可支持異構云計算環境下對本地存儲服務器的訪問接口。該訪問接口提供了多個訪問接口,它們通過互連協議,互相傳遞數據給對方。這些訪問接口還可提供本地和異構云服務節點之間的網絡通信接口,并在這兩個接口中進行數據校驗。

圖1 訪問接口示意圖
對于多源數據共享,最基本的就是必須要有完善的基礎設施來支撐。企業如果沒有完善的基礎設施和管理系統,不可能實現多源數據在線共享。在異構云計算中海量多源數據的在線共享實現過程中,所需要使用到的設備功能需要滿足總體的要求。數據的在線共享過程主要由服務器、存儲單元、通信單元和應用單元組成。其中數據共享管理系統主要是指系統中服務器端部分。服務器端將收集的數據從存儲單元中分拆出來,然后通過Hadoop 算法自動更新。在使用過程中,只需執行特定流程即可。比如:系統中每個存儲單元生成一個請求數據,需要完成該請求數據后,從存儲單元中提取該請求信息并返回給客戶端,這樣就完成了數據共享處理。為了減少服務器開銷,也可以采用共享訪問接口模式進行數據共享處理。使用Hadoop 技術將處理結果從網絡發送到客戶端節點。客戶端利用異構云計算中大量資源將數據發送給客戶端節點進行處理以提高處理速度,同時為用戶提供數據交換服務,為服務器提供安全、可靠、高速通道。
本文提出基于Hadoop 技術和用戶接口技術兩種方式,以實現數據在線共享和Hadoop 網絡安全保障等。下面以Hadoop 瀏覽器為例介紹該方案實施過程。首先,根據系統需求部署Hadoop服務器集群,在集群中部署客戶端。客戶端首先通過客戶端與數據共享服務的Hadoop 客戶端(home person service)建立連接,用戶訪問資源時需驗證身份信息。驗證成功后,從客戶端中獲取相應訪問權限并使用訪問接口向異構云平臺獲取資源。用戶在訪問平臺時使用訪問應用內不同接口。當平臺訪問數據庫時,訪問接口請求訪問服務接口并返回請求結果。數據共享服務平臺提供實時數據傳輸和網絡連接。
為了驗證本文所設計的異構云計算海量所有數據的在線共享方法在實際應用中的有效性,進行了共享方法對象性能驗證。實驗中選擇人造數據集Hyperp 和真實數據集,共同作為方法性能驗證的共享數據集,真實數據集共三組,分 別 為Heterogeneity activity(Activity)、Forest cover type(Covertype)和KDDCUP1999(Kdd),人造數據集主要是由數據生成器隨機構建的數據集,并在其中添加多源異構數據,因此存在一定的漸進式概念漂移等現象。在真實數據集中,也同樣存在明顯的異構漂移特征。數據集的詳細信息如表1所示。

表1 實驗數據集信息
在以上數據集中,分別使用不同的數據共享方法對其進行在線共享,并分析不同方法下的泛化學習能力。選擇的傳統在線共享方法為MCEL 方法和RDEL 方法,所測試的分布式環境共有4個局部的節點,在每個節點上都可以配置一個本地的學習器,并同時適配一個標記過的訓練數據集,以及一個測試資料集。在實驗的過程中,將驗證資料集進行分割,得到無重疊數據的四個子集,并使子集和四個部分的節點一一對應。節點上的初始練習數據集都是由子集隨機分成采樣得到的,因此本文中建立的訓練集數據源都是1000。而設置的節點之間的實時共享資料則包括所有原始數據、協方差矩陣均值的向量集合以及微簇集合。為了在實驗中更好地描述數據共享過程中隨機到達的情況,局部節點的數據共享速度會在不同的時間有不同的體現。
為了對不同數據共享方法的泛化能力進行量化,本文選擇度量指標為錯誤率(ER)和查準率查全率的調和平均數(F1),其中F1的計算公式為
上式中,P表示查準率,R表示查全率。在實驗的開始階段,各個節點的學習器是依靠初始的訓練集進行構建的。實驗結果記錄的過程中,對第一個到達節點的數據塊開始記錄,依次使用不同的數據塊對學習器進行測試,記錄實驗結果,并對不同共享方法下的結果進行記錄。
三種不同的在線共享方法在不同數據集中結果如表2~表4所示。

表2 不同方法的ER測試結果 單位:GB

表3 不同方法的F1測試結果 單位:GB

表4 不同方法的共享數據量測試結果 單位:GB
從上表的數據可以看出,在本文所設計的數據在線共享方法中,共享數據量最高,ER與F1 的平均值在三種方法中最低,這說明本文所設計的異構云計算海量多源數據的在線共享方法相對于兩種傳統方法來說,在數據共享的過程中泛化能力最好。綜合上述實驗結果來分析,本文方法的泛化能力較好,也就是說,當不同共享方法下的假設空間相似時,不同方法學到的假設空間不存在交集,此時本文設計的共享方法能夠在一定的誤差范圍內,最大程度上還原共享數據。
本文針對異構云計算數據的共享與訪問過程中存在的多種問題,提出了一種分布式節點訪問技術和異構云計算數據共享方式。共享過程中采用分布式共享技術提供了多種數據訪問接口以及網絡安全保障等多項技術方案,為不同規模的異構云計算平臺實現了資源共享、資源調度等一系列技術方案。并在此基礎上提出了一個針對異構云平臺,海量多源數據在線共享與管理需求的先進技術方案,實現系統平臺具有可移植性強、功能完善、維護簡單、使用成本低等優點。本文所設計的共享方法可廣泛用于政府部門、科研機構、高校、數據中心等用戶在線數據共享管理與使用之中,同時也為異構云計算技術提供豐富的應用場景,具有較強的推廣應用價值。