摘 要:作為下一代計算模式,云計算在各個領域均發(fā)揮著重要作用,受到各界的廣泛關注。分布服務器在云計算環(huán)境中處于核心位置,主要任務是組織和管理存儲于數(shù)據(jù)中心網(wǎng)絡節(jié)點的數(shù)據(jù)信息。提高容錯性、降低成本成為云計算環(huán)境下分布服務器研究的關鍵技術。本文針對如何提高容錯性,對分布式服務器相關容錯技術進行了研究,針對基于糾刪碼以及復制容錯的相關技術展開論述,為該領域的研究人員提供參考。
關鍵詞:云計算;分布服務器;容錯技術;數(shù)據(jù)中心網(wǎng)絡
引言
以互聯(lián)網(wǎng)技術為依托,云計算通過把多個由眾多服務器、網(wǎng)絡設備相級聯(lián)所構成的數(shù)據(jù)中心組織起來,以存儲海量數(shù)據(jù)信息,從而滿足應用層以及其他各種服務的要求,為其提供快捷、安全可靠的數(shù)據(jù)計算以及存取服務。
在用戶對數(shù)據(jù)存取時,存儲數(shù)據(jù)信息的介質(zhì)對執(zhí)行效率存在一定的影響,主要表現(xiàn)在影響數(shù)據(jù)存取的精準性及快捷性方面,這也就成為制約該項技術發(fā)展的瓶頸。在云計算網(wǎng)絡的各種應用場景中,為了提高用戶對節(jié)點數(shù)據(jù)進行存取的速度,采取以分布化存儲的方式,把海量數(shù)據(jù)存儲于數(shù)據(jù)中心不同的網(wǎng)絡節(jié)點上,以并行的方式對數(shù)據(jù)進行存取操作。這樣以來,對大量數(shù)據(jù)存儲的妥善組織及高效管理,對數(shù)據(jù)服務器的容錯性方面提出了更高的要求。
在提高服務器容錯性方法措施方面,可以通過利用專用數(shù)據(jù)存儲設備,或者采用高性能服務器等方法,而使用這些提高容錯性的方法時,要付出較高的代價。在云計算環(huán)境下,提高分布存儲服務器的容錯性,成為分布存儲服務面臨的一個亟待解決的重要問題。要對數(shù)據(jù)中心網(wǎng)絡節(jié)點間的互聯(lián)關系進行研究,從提高物理拓撲結構的容錯性著手,對存儲在網(wǎng)絡節(jié)點上的數(shù)據(jù)組織與管理策略進行探究,最終達到提高數(shù)據(jù)容錯性的目的。
1 基于復制的容錯技術
對原始數(shù)據(jù)進行復制為基本策略的容錯技術,通過對一個原始數(shù)據(jù)信息克隆出多個副本,把這些數(shù)據(jù)副本分散部署在不同的網(wǎng)絡服務器節(jié)點上。當某些數(shù)據(jù)突然失效時,通過對其他副本的訪問來獲取相關數(shù)據(jù)信息。該項服務器數(shù)據(jù)容錯技術主要對數(shù)據(jù)復制策略以及組織結構兩個方面進行關注。重點探究副本數(shù)據(jù)的克隆時機、副本數(shù)據(jù)的克隆數(shù)量、如何妥善部署等問題;以及如何有效管理這些原始數(shù)據(jù)和副本數(shù)據(jù)。
數(shù)據(jù)的組織結構主要對如何組織、管理大量數(shù)據(jù)對象及其副本進行研究,當前應用較為廣泛的組織結構主要包括以元數(shù)據(jù)服務器和P2P為基礎的兩種組織方式。
基于元數(shù)據(jù)服務器的組織結構通過把數(shù)據(jù)及其副本的元數(shù)據(jù)信息統(tǒng)一存儲在元數(shù)據(jù)服務器存儲上,通過對元數(shù)據(jù)服務器進行專業(yè)化、針對性操作管理的方式,達到集中式管理數(shù)據(jù)的目的。當用戶對數(shù)據(jù)信息進行存取操作時,首先和元數(shù)據(jù)服務器進行交互,在獲取到數(shù)據(jù)對象的位置、版本等信息之后,從相應的數(shù)據(jù)塊中進行存取操作。
為了把網(wǎng)絡節(jié)點對元數(shù)據(jù)服務器訪問的時間延遲縮短,通常采取的辦法是把網(wǎng)絡按照某種原則分割成多個簇,在各個已經(jīng)劃分的簇內(nèi)構建元數(shù)據(jù)服務器,最終形成元數(shù)據(jù)服務器集群;當用戶訪對網(wǎng)絡區(qū)域訪問時,按照就近原則和負載均衡原則,將用戶分配到距離近、負載輕的元數(shù)據(jù)服務器上,供其進行數(shù)據(jù)存取操作。這種以元數(shù)據(jù)服務器為基礎的組織方式相對較為簡單、便于管理,而訪問所有數(shù)據(jù)時,首先都要通過對元數(shù)據(jù)服務器訪問的方式獲得,這樣以來,在對服務器系統(tǒng)進行擴展時,元數(shù)據(jù)服務器就成為影響性能的瓶頸,而且可能存在單點失效的問題。為了降低元數(shù)據(jù)服務器的負載,采取構建元數(shù)據(jù)服務器集群的方式進行改進,這樣能夠分散單個元數(shù)據(jù)服務器的負載,從而降低單點服務器失效時對整個數(shù)據(jù)服務器系統(tǒng)的影響。
基于P2P的組織方式通過較為成熟的P2P技術,以P2P的方式組織所有網(wǎng)絡節(jié)點,各個網(wǎng)絡節(jié)點的角色是相互對等的關系,沒有劃分出客戶端和服務器。采取分布式哈希表的方式把數(shù)據(jù)存儲在網(wǎng)絡節(jié)點上,訪問時通過對哈希值的計算來得到數(shù)據(jù)的存放位置。在云計算條件下,采取P2P方式管理元數(shù)據(jù),采用一致性哈希方法對數(shù)據(jù)進行部署,分布到各個網(wǎng)絡節(jié)點上。一致性哈??臻g形成閉環(huán),通過在哈??臻g上隨機地給每個節(jié)點賦值,將節(jié)點構成環(huán)狀,而這些數(shù)值代表網(wǎng)絡節(jié)點在閉環(huán)上的位置,每個網(wǎng)絡節(jié)點負責對本身及其前繼節(jié)點之間的哈??臻g區(qū)域管理,每個數(shù)據(jù)由唯一Key標識,當數(shù)據(jù)要插入時,通過對Key進行哈希操作。
數(shù)據(jù)復制方法對數(shù)據(jù)的容錯性至關重要,對于復制方法的研究主要包括復制策略以及副本的放置策略兩個方面。
復制策略主要包括靜態(tài)以及動態(tài)兩種。靜態(tài)復制在數(shù)據(jù)剛剛進入時就創(chuàng)建指定數(shù)目的副本,然后依據(jù)副本部署策略把副本分布到各個網(wǎng)絡節(jié)點上。動態(tài)復制根據(jù)存儲空間、用戶需求、網(wǎng)絡狀況等一些參數(shù),動態(tài)地對副本進行創(chuàng)建或者刪除操作,適時地增加訪問較為頻繁的數(shù)據(jù)副本,以提高效率,使節(jié)點負載更加均衡化。
優(yōu)化放置策略有利于提高數(shù)據(jù)的容錯性,在部分副本失效后,用戶能夠通過訪問其他副本,獲得所需要的數(shù)據(jù)信息。良好的放置策略要加強對容錯性的考慮,使得副本能夠快速準確地放置到響應的網(wǎng)絡節(jié)點上。復制容錯技術通過創(chuàng)建多個副本,支持對數(shù)據(jù)進行并行訪問,極大地提高了訪問數(shù)據(jù)的效率。常規(guī)化的副本放置策略包括順序放置和隨機放置策略,能夠有效提高容錯性;更為現(xiàn)代化的放置策略在確保容錯性高的同時,并針對性地對提高副本放置效率以及訪問效率進行研究。
2 基于糾刪碼的容錯技術
糾刪碼容錯技術原理。當利用糾刪碼進行容錯時,首先把原始數(shù)據(jù)信息劃分為多個均等的數(shù)據(jù)塊,然后對這些數(shù)據(jù)塊進行編碼;在讀取數(shù)據(jù)時,只要獲得足夠數(shù)量的數(shù)據(jù)塊,即可解碼獲得原始數(shù)據(jù)信息。較多研究已在提高服務器容錯能力、降低編碼復雜度等方面提出了有效的編碼方法,依據(jù)編碼方式,可分為Reed-Solomon 碼、奇偶校驗碼、奇偶陣列碼以及低密度奇偶校驗碼等類型。
在容錯能力相同的情況下,糾刪碼容錯技術在存儲開銷方面相對較低。當某些數(shù)據(jù)塊失效時,復制容錯只需下載一塊數(shù)據(jù)即可完成數(shù)據(jù)修復,而糾刪碼容錯要下載多個數(shù)據(jù)塊才能通過解碼修復數(shù)據(jù),要占用較多網(wǎng)絡帶寬,給帶寬資源帶來巨大壓力,極大地影響了糾刪碼容錯的應用和推廣。因此,降低糾刪碼容錯技術的修復成本,成為該項技術迫切要解決的問題。
糾刪碼容錯技術修復保證了一定冗余度,在節(jié)點失效后重新構建冗余數(shù)據(jù)。已有較多針對糾刪碼較高的修復成本問題進行研究,根據(jù)不同的優(yōu)化方法,降低糾刪碼修復成本的方法包括基于網(wǎng)絡編碼的優(yōu)化方法以及基于度數(shù)限制的優(yōu)化方法。
糾刪碼容錯技術的修復成本由數(shù)據(jù)塊和冗余塊的度數(shù)分布情況決定,度數(shù)越高,修復時參與計算的數(shù)據(jù)塊以及冗余塊數(shù)目越大,修復成本越高。
4 結束語
作為分布存儲服務器中最常用的容錯技術,復制容錯技術易于實現(xiàn)與部署,支持并行訪問,能夠改善數(shù)據(jù)的讀取效率,在實際服務器系統(tǒng)中應用廣泛;糾刪碼容錯技術能夠節(jié)省存儲空間,但編、解碼計算開銷大,實現(xiàn)復雜,容錯修復占用較大網(wǎng)絡帶寬,與實際應用差距較大。作為云計算中的基礎服務,分布式存儲服務器要為各種應用提供數(shù)據(jù)存取服務,不同應用對容錯的要求不同,各種應用在容錯技術以及參數(shù)選擇方面存在較大差異。
參考文獻
[1]陳康,鄭緯民.云計算-系統(tǒng)實例與研究現(xiàn)狀[J].軟件學報,2009,20(5):1337-1348.
[2]肖儂,舒繼武,劉芳,等.存儲技術的研究發(fā)展現(xiàn)狀與趨勢[J].科技報告,2009.