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