摘 要:伴隨著云計算的出現(xiàn),傳統(tǒng)數(shù)據(jù)庫的存儲功能已不適合云端下的服務操作要求。在分析了目前的云數(shù)據(jù)庫的架構(gòu)及數(shù)據(jù)庫的組成形式后,采用樹型數(shù)據(jù)庫的方式作為云計算數(shù)據(jù)庫組織方式。然后在原有的金字塔中的瓦片存儲算法的基礎(chǔ)上,利用探測法思想對其進行改進。通過仿真實驗證明改進后的算法在數(shù)據(jù)存儲上縮短了時間,提高了效率,為云計算下的數(shù)據(jù)庫其他操作提供了較好的訪問基礎(chǔ)。
關(guān)鍵詞:云計算;金字塔算法;樹型服務器
引言
伴隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,云計算受到人們廣泛關(guān)注,應用領(lǐng)域也在不斷擴大,人們希望降低設備投入與管理成本,但又需要具有可伸縮的擴展性高的服務商提供服務,如何高效存儲和管理企業(yè)的龐大數(shù)據(jù)成為數(shù)據(jù)庫服務的問題。云計算服務器概念的提出滿足了這方面的需求。它是一種很好的解決方案,將數(shù)據(jù)遷入到云服務中,通過云存儲的方式可以更好的滿足數(shù)據(jù)信息存儲的要求。
文章在云服務的數(shù)據(jù)存儲方式中,采用樹型數(shù)據(jù)庫進行數(shù)據(jù)存儲,同時在金字塔模型的瓦片思想的基礎(chǔ)上對存儲算法進行了改進,通過實驗證明,這種改進后算法能夠在樹型數(shù)據(jù)庫中縮小數(shù)據(jù)存儲的時間,同時為數(shù)據(jù)庫中的其他操作提供基礎(chǔ)。
1 云計算數(shù)據(jù)庫
云計算數(shù)據(jù)庫的構(gòu)架共分為三層。第一層為應用層,負責向用戶提供服務SDK和OSS機制。第二層是服務層,負責向應用層提供服務,第三層為數(shù)據(jù)存儲層,提供數(shù)據(jù)物理的存儲。
應用層中SDK主要解決對象和關(guān)系型數(shù)據(jù)的映射關(guān)系,根據(jù)應用程序的對象類,自動生成關(guān)系型結(jié)構(gòu)和索引。OSS機制本質(zhì)就是Web服務的組合,主要是對服務層進行封裝,為應用層提供安全服務、數(shù)據(jù)服務等。服務層主要是由分布服務層和應用服務層組成,分布服務層采用主節(jié)點和子節(jié)點的組成方式,當主節(jié)點和子節(jié)點運行程序的時候,主節(jié)點接受來自應用服務層的查詢,并將結(jié)果返回應用服務層,應用服務層主要來自應用層的OSS的請求和來自數(shù)據(jù)存儲層的檢索請求。數(shù)據(jù)存儲層是由程序和數(shù)據(jù)庫實例組成,其主要功能是存儲數(shù)據(jù)和處理數(shù)據(jù)的操作。數(shù)據(jù)存儲層可以采用物理機或者虛擬機。數(shù)據(jù)庫實例用來存儲和處理數(shù)據(jù)的要求。
云計算平臺下使用關(guān)系型數(shù)據(jù)庫來進行存儲,與原來的本地數(shù)據(jù)庫存儲方式不同,這是因為云計算下的服務器承受來自不同用戶的數(shù)據(jù)訪問要求,這些用戶所需要的數(shù)據(jù)可能具有異構(gòu)性,在云計算中要滿足大量來自應用層的客戶數(shù)據(jù)存儲和訪問的要求,這些需要滿足實時性高的要求。
2 一種金字塔云數(shù)據(jù)庫算法
金字塔模型是使用在影像數(shù)據(jù)管理中的一種有效模型,其利用多分辨金字塔模型和影像分塊技術(shù),對原始圖像進行分層,再對每層進行分塊,這樣可提高數(shù)據(jù)的存儲率。使用MapReduce思想來提高影像金字塔的構(gòu)建和查詢速度。金字塔模型在云數(shù)據(jù)庫中數(shù)據(jù)存儲會消耗較長時間,不利于云服務中數(shù)據(jù)的存儲,并對數(shù)據(jù)的查詢和修改產(chǎn)生影響。
2.1 金字塔瓦片描述
金字塔模型采用瓦片來進行數(shù)據(jù)的存儲描述,瓦片采用坐標(level,tx,ty)來進行標識,其中l(wèi)evel表示瓦片所在的層,tx標識瓦片所在行,ty標識瓦片所在列。文章將這個概念應用到云服務數(shù)據(jù)庫中進行數(shù)據(jù)描述。假設在第N層上有row行和col列,則一共有row*col個瓦片。對每一個瓦片采用從上到下,從左到右定義為(leveli,txi,tyi),其中l(wèi)eveli表示第i個瓦片所在的層數(shù),txi表示第i個瓦片的橫坐標,tyi表示第i個瓦片的縱坐標。
2.2 改進型的瓦片層間的映射方法
根據(jù)分層分塊原則,第N層上一個瓦片對應著第N+1層上的有且僅有的4個瓦片,為了能夠顯示瓦片,提高數(shù)據(jù)存儲的最大利用率,文章采用探測式的瓦片存儲方式,步驟如下:
(1)對節(jié)點個數(shù)進行判斷,如果是奇數(shù)個節(jié)點,進行節(jié)點個數(shù)+1,否則就不變。
(2)根據(jù)瓦片編碼原則,將瓦片分布在不同的位置上。
(3)采用探測的方式,當前的數(shù)據(jù)節(jié)點進行選擇瓦片,瓦片的編號(numx+ky)%(numtotal+i)i∈(0,3)。其中,numx為瓦片編號,ky為數(shù)據(jù)點編號,numtotal為瓦片總個數(shù)。
(4)當出現(xiàn)一次選擇的瓦片數(shù)與前面相同時,自動將后一次選擇的瓦片數(shù)自動往后移動一個,直至空位置為止。
3 實驗分析
文章以學校為例,將局域網(wǎng)中分布位置不同的4臺PC機作為客戶端模擬云計算中的客戶端,設置一臺服務器在模擬云計算的服務器,采用CloudSim平臺,采用3.0GHZ的酷睿CPU和2GDDR3,Windows xp操作系統(tǒng)。
4 結(jié)束語
文章在研究了目前云計算服務架構(gòu)的基礎(chǔ)上,通過引入樹型數(shù)據(jù)庫來進一步優(yōu)化數(shù)據(jù)的存儲問題,通過引入金字塔模型中的瓦片思想,對其進行了改進,通過仿真實驗表明,改進后的算法能夠較好的解決數(shù)據(jù)存儲的問題,對于提高網(wǎng)絡使用效率,增加網(wǎng)絡運營都具有一定的參考價值。
參考文獻
[1]林子雨,賴永炫,林 ,等.云數(shù)據(jù)庫研究[J].軟學報,2012,23(5):1148-1166.
[2]張龍立.云存儲技術(shù)探討[J].電信科學,2010(S1):71-74.
[3]高建秀.云存儲在數(shù)字資源長期保存中的應用探討[J].現(xiàn)代圖書情報技術(shù),2010(6):1-6.
[4]彭英,萬劍華,吳楠.一種基于云計算的分布式油田物探數(shù)據(jù)存儲與服務平臺[J].計算機研究與發(fā)展,2012(S1):224-228.
作者簡介:石鋒(1971,5-),男,陜西澄城,西北工業(yè)大學本科畢業(yè),西安航空學院工作,副教授,專業(yè)方向:軟件技術(shù)。