現在社會上云的概念被鋪天蓋地地議論著,究竟什么是云.可以說它是一種現代計算機技術發展的產物,但與其他技術有所區別的是它以網絡為基礎和依托的.所有在云端的服務都是客戶端遠程發送請求,由網絡另一端的云朵進行操作,在通過網絡傳回給客戶.公司企業可以通過租用云服務的方式,使用提供商的硬件設備軟件資源等來進行大規模的數據存儲和運算.因此云可以是廣域網或者某個局域網內硬件、軟件、網絡等一系列資源統一在一起的一個綜合稱呼.云服務的概念包含基礎設施服務(IaaS)、平臺服務(PaaS)、軟件服務(SaaS)以及web2.0和其他最新技術.云的應用主要分為云計算和云存儲.云計算瞳3是分布式處理、并行處理和網格計算的發展,是透過網絡將龐大的計算處理程序自動分拆成無數個較小的子程序,再交由多部服務器所組成的龐大系統經計算分析之后將處理結果回傳給用戶.通過云計算技術,網絡服務提供者可以在數秒之內處理數以千萬計甚至億計的信息,達到和“超級計算機”同樣強大的網絡服務.而且云端利用虛擬化技術等有效利用小型機服務器資源,不僅降低企業客戶端用戶機器運算能耗,也可提高企業本身資源的利用率.
云存儲是在云計算概念上延伸和發展出來的一個新的概念.云計算時代可以拋棄U盤等移動設備,比如利用Google云存儲技術要新建一個文檔,只需要進入Google Docs頁面,新建文檔,編輯內容,保存起來,然后,直接將文檔的URL分享給其他人,他們可以直接打開瀏覽器訪問URL.此時我們再也不用擔心因PC硬盤的損壞而發生資料丟失事件,云存儲的系統已經為我們進行了容災備份,只需要我們有網絡可以訪問就可以進行如在自己電腦上一樣的用戶體驗.
隨著電子設備廣泛應用,互聯網技術快速發展,市場商業運營模式擴大,企業的數據量正在急劇膨脹.海量數據的出現使企業不得不思考海量數據的存儲和計算等.為了解決這種海量數據處理問題,包括海量數據存儲容量、計算速度、傳送帶寬及處理成本等等,根據用戶需求,Amazon等公司提供了云端服務系統.
多副本的產生主要是為了保障不發生由于硬件故障而引起的數據丟失.而現在,面對復雜的網絡環境下的多副本,不僅僅是為了保證數據不丟失,還包括對數據讀寫的訪問速度,數據容災性及可靠性等方面的考慮.多副本技術的產生也引起對一系列針對多副本管理策略的討論,何時何地創建副本,怎樣選擇最佳副本并快速定位進行訪問,哪些副本可以被刪除廢棄和如何保證副本之問的一致性等技術問題都在考慮范圍.在傳統的分布式系統中已經有很多成熟的多副本管理技術來應對上述問題.
1、多副本管理
本節將從多副本傳統的創建技術、多副本選擇技術、多副本定位技術、多副本刪除技術及多副本一致性保障技術這5個方面簡述現有技術,并將現有的P2P環境和網格環境下的多副本管理方法與云環境下的多副本管理方法比較進行簡要闡述.
1.1多副本創建技術
副本創建技術分為靜態的副本創建和動態副本創建,對于現在討論及應用的最多的動態副本創建的策略.而且無論何種的文件系統,策略代價評估規則都必須考慮到運行系統負載、存儲終端效率、網絡狀況和數據副本尺寸大小等物理特性因素,并結合用戶訪問特征,最終確定此時是否適合副本的創建并按照放置策略選擇最佳的放置位置.本文也主要討論如何動態的確定創建副本的最佳時機、創建副本數量和副本的放置策略.目前,針對不同網絡拓撲已有的副本創建策略,如表1中所列各種創建策略,其優缺點進行了對比.
1)無副本策略:又稱之為緩存策略,就是不產生任何副本.將所有的數據都儲存在系統中的某個節點上,該節點可看作是該網格系統層次結構的根節點.在一定的訪問模式下,測出各種副本策略相應的響應時間和帶寬消耗,以無副本策略的參數值作為參照,比較其他策略的優劣.若其他策略產生的參數值都比該策略的參數值差,則不予考慮.
2)最佳客戶策略:該策略主要基于對歷史訪問記錄的統計,在每個網格節點詳細記錄每個文件訪問歷史詞組,這個記錄列表詳細描述節點對文件的請求次數和請求該文件的節點編號.在該策略中,某節點在給定的時間間隔內檢查其上是否有文件的訪問次數超過事先給出的閾值,并找出訪問次數超過這個閾值的節點,然后標識該節點為該文件的最佳客戶,并在該節點上拷貝一個副本.生成副本之后,清除該文件在所有節點上的訪問記錄,然后重復上述過程,產生下一個周期的最佳客戶,這必然會在一定程度上提高數據的訪問效率和減少帶寬的消耗.這種復制策略的副本創建請求由服務端發出,在一定時候不能及時地反映客戶端的需求,可能會造成客戶端存儲資源的浪費或者存儲資源的不足兩種極端.
3)瀑布式策略:主要針對具有層次結構的分級存儲系統,利用三級瀑布思想,系統中根節點的訪問次數超過了一定的限額,就在下一層中尋找最佳節點創建該文件的副本,當下一層中對這個文件副本的訪問次數又超過限額,最終在客戶端創建了該文件的副本.這種復制策略能夠比較合理地將數據分布在層次網格結構的各層節點中,最終實現系統負載的均衡性.應用到其他的類型的網格拓撲結構就有比較大的局限性.
4)普通緩存策略:當有文件讀寫請求時,該用戶節點就在本地拷貝一個副本.但是針對于容量很大的大文件請求,就需要客戶節點有足夠的存儲空間,并且緩存數據的更新速度應該很快.這樣就對客戶節點的存儲空間提出了很高的要求,它是以犧牲客戶節點的存儲開銷以求系統的高效運作.
5)緩存瀑布式策略:這是綜合瀑布式策略和普通緩存策略的優點的一種策略,副本文件仍然在客戶節點本地生成,Master將周期性地標識出熱點文件,即請求次數超過閾值的文件,并按照級噴泉策略在最佳客戶路徑上生成各級節點副本.這樣可以發現,用戶通常就是網格中的葉子節點.網格中的任一節點均可以充當Master.特殊的情況下,用戶節點可以充當它的相鄰節點的服務器.該策略合理地在各個網格節點中分布數據的同時,實現了客戶端的快速訪問,以開銷大量的存儲資源為代價.因此,采用該策略時應該權衡訪問的速度和存儲資源的開銷.
6)快速擴展策略:該策略將在從根節點到客戶節點路徑上的所有節點上拷貝副本.就是說當一個客戶需要某個文件時,根節點服務器會將該文件的副本存儲在到達客戶節點所走過路徑上的每一個節點上,從而達到數據快速擴展的效果.該存儲網格數據管理種策略在能夠加快訪問速度和減少帶寬消耗的同時存儲資源,對存儲資源提出了更為苛刻的要求,在數據網格中每一個節點都應該有足夠在數據訪問速度和存儲資源富余的情況下可以采用該種策略.
7)基于市場應用的副本創建策略:應不同的需求產生不同的策略,揚長避短.如基于螞蟻算法的文件創建.在考慮絡帶寬和磁盤讀寫速度等物理因素和存儲代價和傳輸通信代價的同時,如何確定最優的副本創建路徑.這里的最優策略可以是時間代價最優,花費代價最優和性價比指數最優.在對等網絡中,副本放置算法就是一個完全意義的NP.再如基于經濟學模型的復制策略,按照反向拍賣協議確定副本創建位置及進行副本選擇,它將數據傳輸時間作為拍賣的價格指標.該模型在評估數據復制價值時存在這樣的問題:節點往往根據自身利益進行決策,因而不一定得到全局最佳效益.
1.2多副本定位技術
多副本定位技術要求Master通過用戶遞交的特定信息,如數據對象的名字、ID或關鍵字等,能夠快速準確地在整個廣域分布的系統內高效找到并返回數據對象的物理位置信息.不同網絡拓撲結構也有不同的副本定位技術.
現在已經存在十分成熟的兩種定位策略集中式資源定位和分布式資源定位.集中式資源定位是指系統利用一個唯一確定的目錄結構作為索引服務器,目錄中包含當前系統中所有共享資源的元數據信息,需要定位時只需到索引服務器進行查詢.這種定位方法理解容易、實現簡單、使用方便,但是其擴展性和可靠性較差,不適合大型系統,特別是大型的網格環境.而分布式資源定位在系統中建立分布式的索引服務器,而非集中式管理數據信息,其定位方法也可分為多種,如基于分布哈希表的資源定位方法,通過對節點間拓撲關系以及資源位置的精確控制,可以保證系統中的資源一定能夠通過某種特定的查找方法被找到,并具有較高的查詢效率,其典型的應用系統包括OceanStore,CFS和Pastry等.基于無結構的資源定位方法[73的查詢多采用廣播查詢、隨機轉發和有選擇性轉發等查找算法.該定位方法無需花費很大的代價維護分布哈希表,但是其查詢效率較低,且并不保證系統中的資源一定能夠被找到,采用無結構資源定位的典型系統包括Gnutella,Freenet和Free Haven等.
在數據網格環境下,討論最多的便是Globus提出的目錄副本服務的副本定位技術和基于這種技術提出的各種改進算法,如Globus和歐洲數據網格項目聯合提出的Giggle架構.Globus的副本定位采用類似于P2P中的集中式目錄結構管理,實現簡單,但擴展性、可靠性不強.另外,歐洲數據網格項目組也曾提出的層次式副本定位策略,該策略中所有邏輯文件都在副本目錄的根節點中出現,因此根節點將非常龐大,可擴展性、可靠性和查詢性能都比較差.后來Globus和歐洲數據網格項目聯合提出的Giggle架構采用了一個通用的層次式副本目錄結構,在具體應用時需要結合應用的具體特征設置參數的取值.通過改變參數的取值可以改變副本目錄的結構和性能,這項技術得到了廣泛應用.
可見分布式的副本定位方法SRB(Storage resource broker)、Globus這些著名的數據網格管理技術由于它們的副本定位都是采用集中式的目錄,限制了系統的可擴展性和可靠性.而很多研究者也在這些的基礎上提出了可擴展的分布式副本定位方法凹].力求將副本定位信息平均地分布在多個索引節點上,簡單易實現且具備動態遷移和可擴展的特性.
1.3多副本選擇技術
副本選擇策略負責根據用戶的要求選擇最佳副本,不同應用所對應的副本選擇標準不盡不同,可以是副本的響應時間、副本的可靠性以及訪問代價等.由于實際應用中網格環境的動態復雜性,加之副本較多的情況下,影響副本選擇的因素較多,往往是綜合多種因素進行預測尋找最優解.
1)基于性能模型的預測:系統對性能要求十分高時,要通過為數據網格系統建立性能模型來對系統中副本的響應時間進行預測.實現預測的關鍵在于建立網格系統的性能模型并獲取模型所需的物理參數.但它的缺點是需要訪問大量底層物理設備的詳細信息.
2)基于訪問歷史信息的預測:Master或者Slaves中保存副本訪問的詳細歷史信息,以此來預測副本的響應時間.基于訪問歷史信息的性能預測的實現包括兩個關鍵問題:性能度量信息的獲取和基于度量信息的性能預測.在實際應用中,需要在度量信息量和預測的精度之間進行有效折中.
1.4多副本刪除技術
由于副本數目可能由于訪問量的減少而變得相對較多,或者副本過多引起網絡訪問不夠通暢等原因,提出副本刪除策略可以保證存儲空間的優化,實現網絡性能的提高.無論是通過用戶通知的刪除或者系統根據副本訪問量的動態刪除,都要在保證數據安全一致的情況下執行,這樣可以提高存儲資源的利用率.對于多副本的刪除也有以下幾種策略.
1)延遲刪除:當刪除一條被引用的數據時,可以利用該技術實現.原始數據被刪除后,并不急于刪除引用它所生成的副本文件,而是當再有數據要訪問所引用文件時,再進行刪除.但一旦副本數較多,或者有些資源不再被訪問,此方法會造成存儲資源的嚴重浪費.
2)線下刪除:當數據涉及關聯的入口數據較多,一旦執行起來會產生很大的系統消耗,就可以采用線下刪除的方法,選擇在系統負載比較低的時候觸發任務.
3)不刪除:如果對副本生命期限進行設定,在有效期內,我們并不消耗額外的系統資源去刪除它們.但是隨其使用頻率或者動態策略的調整,可以對其有效期時限進行重新設定.
1.5多副本一致性技術
數據建立副本或者在多用戶同時讀寫數據時,往往會造成副本狀態不一致的問題.而為保證副本一致性的CAP性能,我們要求副本具有物理上的一致,即表示同一個事實的數據應相同,也稱數據的相容性和邏輯上的一致,即不同數據之間業務邏輯的一致性.但無論哪種一致,我們都通過數據強一致性和數據弱一致性兩類來研究數據一致性維護技術.
數據強一致性數據副本之間保持實時的一致性,通過事務控制和同步復制執行保持各副本在任何時刻數據的絕對一致.強一致性確保并發的修改操作不會發生沖突,但是過多的副本數量會造成副本管理瓶頸,因為過多的副本數一般是基于過多用戶的訪問,當過多用戶并發請求讀寫數據時,系統的可用性、連通性就將受到限制.而且強一致性對硬件的要求非常高,大量節點同步幾乎是不可能的.另外,對分布系統的穩定性和連通性要求也比較高,一旦某個副本不可用則可能導致整個系統的癱瘓.數據弱一致性又被稱作最終一致性,只要在到達一定條件下保證了各副本數據一致即可.可通過現有的異步復制和數據復制兩種基本復制技術來實現副本進行一致性校驗.與強一致性相比,弱一致性提高了系統包容通信失效和節點失效的能力.弱一致性是對復制算法的最低要求,如果滿足不了最終一致,副本內容可能總是保持在“被破壞”的狀態,從而導致放棄該副本甚至整個系統不可用;其次,弱一致性提供的最終一致性服務總是盡最大努力在副本之間快速地傳播更新,實際上對許多應用來講這已經足夠了.Amazon云系統S3所使用的就是這種數據弱一致性技術.針對海量數據一致性,有人提出了更新一致性維護策略,用戶更新所訪問的數據對象,并提交到系統中;系統根據設計的一致性維護方法在多個副本間進行更新傳播;副本按照不同的順序接收更新,然后根據一定的規則應用更新,最終達到一致狀態.
2、云環境下的多副本管理技術探討
多副本是通過利用物理存儲資源對數據進行備份.云環境下的多副本管理主要是依托于現在新型的云存儲技術,云存儲又是依托于云計算而發展出來的.云存儲是將互聯網上不同結構不同類型的存儲設備通過應用軟件集合起來,利用集群應用、網格技術或分布式文件系統等功能,提供對外數據存儲和業務訪問等服務.云存儲可以是指云計算的存儲部分,即虛擬化的、易于擴展的存儲資源池.云存儲也意味著存儲可以作為一種服務,通過網絡提供給用戶.換句話說,云存儲并非傳統意義上的硬件設備,而是一種基于硬件存儲資源、網絡設備、應用軟件和接人口等一系列的復雜網絡服務系統.
目前要在云環境下考慮多副本管理技術就要綜合云平臺特性及客戶需求,有不同的策略,如表2中所述,云環境下要考慮一些額外影響因素.在云環境下存在多數據中心,這種復雜情況下的數據副本管理不僅要依賴于傳統多副本管理方法,還要針對云環境下不同應用優化服務策略.優秀的副本管理策略直接影響用戶體驗.在海量數據云存儲的環境下的多副本創建問題、選擇策略、動態遷移技術和多副本一致性的方法討論則成為重點方向.云環境下的副本選擇則比較復雜,而且是其他副本管理的基礎.它的選擇預測直接影響到副本創建時的放置策略,動態遷移時遷移哪個副本,副本一致性檢測時使用哪些副本進行校驗.和傳統選擇技術一樣要考慮地域分布、網絡負載均衡等綜合因素對訪問性能的限制,還要對訪問歷史記錄的分析決策.
云環境下的多副本創建主要考慮創建粒度和放置位置.對于使用云端服務的用戶,其數據量必然是大量的,甚至海量數據.最初創建副本時,結合副本選擇預測算法預測出熱點位置,并創建合理的副本數量.這可以保證大量的數據在多個數據中心的數據之間暢通傳輸.
對于在云環境下的副本一致性的管理,文獻提出了按照4個類別的應用程序的一致性,根據他們的閱讀頻率和更新頻率,然后設計相應的一致性策略.應用程序在運行時自動選擇最合適的戰略,以實現一致性,可用性和高性能之間的動態平衡.評價結果表明,該機制在保證數據一致性的同時還降低了操作帶來的負載消耗.文獻則提出了一種基于樹的一致性的方法,減小副本服務器對于引入云數據庫的部分一致和完全一致的狀態的依賴關系.保證從主服務器到所有副本服務器都在最可靠路徑上.因此,事務失敗的概率大大減少,這有助于提高不可靠的網絡性能和使吞吐量均勻.
云環境下的動態遷移技術則更多的是結合虛擬化技術應用.動態遷移和多副本技術可以簡單理解成計算機中的剪切與復制技術.如何選擇合適的節點做數據的容災備份或者熱點遷移地址,并且在保證服務不中斷的情況下迅速進行數據轉移.尤其在云環境下,用戶會產生不同的用戶需求,比如實時動態遷移過程等,延遲刪除與線下刪除等技術的結合使用可以.而且在云環境下的副本數據是海量存儲,分布式的文件系統將海量數據分割成較為小的數據,但需要處理的數據量依然很大.如果立即刪除會給系統突發地帶來相當大的負載,甚至可能會引起用戶訪問的響應率降低的任務.將刪除任務分割成很多很小的任務,分批地提交給系統定時線下處理.Aaron等人提出一種彈性云平臺下的動態遷移技術,有效進行非共享事務實時數據庫遷移.文獻提出的一種懶惰更新算法是分隔云的數據復制和數據訪問的過程,從而提高數據訪問的吞吐量和縮短響應時間.多副本技術在云環境下應用也更多討論的是副本動態遷移問題,充分利用了上述提到過的幾種技術策略,綜合性較強.
3、云環境下的多副本管理技術展望
在云環境下未來的研究中,多副本管理仍將是討論的重點,隨著海量數據的出現,相信云存儲及云端海量數據分析都將遇到挑戰.筆者認為,在云環境下,多副本管理可以從以下幾方面進行研究:
1)基于云平臺的數據遷移問題.云環境下對于數據遷移工作的部署,必將是大量數據由傳統的數據存儲中轉移到云存儲中.另外,在云存儲的海量數據中,如何備份容災和進行海量數據轉移也是很關鍵的問題.云平臺下的數據庫管理系統要具有可伸縮、容錯和彈性,這樣才能夠保證副本之間可以在不宕機的情況下進行無縫遷移復制,并且使用戶完全感覺不到.而這項技術是傳統多副本定位、刪除、一致性保證等技術融合,對于云存儲這種海量數據的處理以及面對超級多的用戶訪問,策略的完善更是刻不容緩.而在云環境下,無論是云計算或是云存儲都是基于虛擬化技術的實現,多副本存儲與虛擬化存儲的配合使用也是云平臺下多副本管理的研究值得思考的問題.虛擬機宕機之后的多副本存放與硬盤存儲設備的接管,都是遷移技術的難點所在.單是針對存儲資源的動態遷移已經是現在技術的難點,更值得提出的是對于云環境下多副本的處理,動態遷移哪個副本文件,副本選擇策略放置策略等技術在遷移過程中的應用,更將把這個云環境下的副本遷移技術難度推向一個新高度.
2)在云環境下,由于海量級的數據存在多個副本,對于像Google的GFS系統和Yahoo!的Hadoop這樣的系統,還要將其龐大的數據分割存放,其副本的選擇和放置策略則要經過精密計算.如何有效對碎片式的多副本數據進行整合調用將成為未來研究重點之一.海量數據的處理已經讓技術人員煞費苦心,對于分布式文件管理系統開發人員,數據的分割策略也是技術難點,而對于應用分布式存儲的云環境下的海量數據多副本管理這個課題,更將是難上加難.云環境下的多副本意味著海量數據的數量級更上一層樓,而數據分割分配策略也會因實際情況底層存儲系統不同而不同.因此,云環境下的海量分片式多副本管理仍面臨很多技術挑戰.
3)在云環境下對多用戶多應用的即時響應也是需要深度探討的問題.要求副本粒度隨著用戶數的變化而動態調整,使副本數不至于太多而浪費存儲空間,也不會太少而影響多用戶訪問速度.該刪除副本時是用哪種刪除策略才不會影響系統性能.
4)數據基于地理位置的感知也十分關鍵.隨著數據量增大,存放數據的云朵規模也越來越大,越來越多的應用被部署在不同地理空間上.如何改進傳統的放置和選擇多副本策略使之適應于云環境的大規模數據調用,使副本合理分布在不同的地理空間,以節省數據在傳輸過程的消耗并保證數據副本數容災性及可靠性必將是多副本在云存儲平臺的一個討論熱點.
5)當年伴隨云計算的提出,很多質疑聲音也出現了,那就是云安全的問題.對于云計算安全的處理一直是云技術發展的一個難點.用戶將大量私密數據存在云端,而在云環境下數據的多副本策略,既要保證數據不被外界截獲盜取,又要保證數據一致性無誤保存,又將是云存儲環境下的技術難點.副本數目越多,分布范圍越廣,其管理難度就會越大.,安全性也會越低.如何在云端對數據的多副本進行加密處理等措施是未來云端副本秘密安全性的重點.
4、結束語
云環境的應用已經越來越火熱,圍繞云存儲和云計算的多副本高可靠性、高性能的技術正在被慢慢挖掘.而云環境下多副本管理如何繼承傳統分布式存儲系統中的技術優點,如何對于傳統的多副本創建方法、放置技術、選擇刪除策略及一致性管理等方面進行優化改進,針對不同應用,又如何運用不同的技術管理方法實現云環境下的多副本管理.目前在云環境下的多副本管理研究較少.本文全面分析了傳統的多副本管理技術,并針對在云環境中所涉及到的多副本管理問題進行闡述,分析了不同的網絡環境、不同文件系統要求及不同的應用需求、多副本管理采用的不同側重的管理方法.
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:云環境下多副本管理綜述
本文網址:http://www.guhuozai8.cn/html/consultation/1083972246.html