雲計算在系統運用中的五大雲計算的核心技術

  轉載  http://cloud.csdn.net/a/20100810/277973.html

 

 

雲計算系統運用了許多技術,其中以編程模型、數據管理技術、數據存儲技術、虛擬化技術、雲計算平臺管理技術最爲關鍵。

(1)編程模型

MapReduce是Google開發的java、Python、C++編程模型,它是一種簡化的分佈式編程模型和高效的任務調度模型,用於大規模數據集(大於1TB)的並行運算。嚴格的編程模型使雲計算環境下的編程十分簡單。 MapReduce模式的思想是將要執行的問題分解成Map(映射)和Reduce(化簡)的方式,先通過Map程序將數據切割成不相關的區塊,分配(調度)給大量計算機處理,達到分佈式運算的效果,再通過Reduce程序將結果彙整輸出。

(2) 海量數據分佈存儲技術

雲計算系統由大量服務器組成,同時爲大量用戶服務,因此雲計算系統採用分佈式存儲的方式存儲數據,用冗餘存儲的方式保證數據的可靠性。雲計算系統中廣泛使用的數據存儲系統是Google的GFS和Hadoop團隊開發的GFS的開源實現HDFS。

GFS即Google文件系統(Google File System),是一個可擴展的分佈式文件系統,用於大型的、分佈式的、對大量數據進行訪問的應用。GFS的設計思想不同於傳統的文件系統,是針對大規模數據處理和Google應用特性而設計的。它運行於廉價的普通硬件上,但可以提供容錯功能。它可以給大量的用戶提供總體性能較高的服務。

一個GFS集羣由一個主服務器(master)和大量的塊服務器 (chunkserver)構成,並被許多客戶(Client)訪問。主服務器存儲文件系統所以的元數據,包括名字空間、訪問控制信息、從文件到塊的映射以及塊的當前位置。它也控制系統範圍的活動,如塊租約(lease)管理,孤兒塊的垃圾收集,塊服務器間的塊遷移。主服務器定期通過HeartBeat消息與每一個塊服務器通信,給塊服務器傳遞指令並收集它的狀態。GFS中的文件被切分爲64MB的塊並以冗餘存儲,每份數據在系統中保存3個以上備份。

客戶與主服務器的交換只限於對元數據的操作,所有數據方面的通信都直接和塊服務器聯繫,這大大提高了系統的效率,防止主服務器負載過重。

(3) 海量數據管理技術

雲計算需要對分佈的、海量的數據進行處理、分析,因此,數據管理技術必需能夠高效的管理大量的數據。雲計算系統中的數據管理技術主要是Google的BT(BigTable)數據管理技術和Hadoop團隊開發的開源數據管理模塊HBase。

BT是建立在GFS, Scheduler, Lock Service和MapReduce之上的一個大型的分佈式數據庫,與傳統的關係數據庫不同,它把所有數據都作爲對象來處理,形成一個巨大的表格,用來分佈存儲大規模結構化數據。

Google的很多項目使用BT來存儲數據,包括網頁查詢,Google earth和Google金融。這些應用程序對BT的要求各不相同:數據大小(從URL到網頁到衛星圖象)不同,反應速度不同(從後端的大批處理到實時數據服務)。對於不同的要求,BT都成功的提供了靈活高效的服務。

(4)虛擬化技術

通過虛擬化技術可實現軟件應用與底層硬件相隔離,它包括將單個資源劃分成多個虛擬資源的裂分模式,也包括將多個資源整合成一個虛擬資源的聚合模式。虛擬化技術根據對象可分成存儲虛擬化、計算虛擬化、網絡虛擬化等,計算虛擬化又分爲系統級虛擬化、應用級虛擬化和桌面虛擬化。

(5)雲計算平臺管理技術

雲計算資源規模龐大,服務器數量衆多並分佈在不同的地點,同時運行着數百種應用,如何有效的管理這些服務器,保證整個系統提供不間斷的服務是巨大的挑戰。

雲計算系統的平臺管理技術能夠使大量的服務器協同工作,方便的進行業務部署和開通,快速發現和恢復系統故障,通過自動化、智能化的手段實現大規模系統的可靠運營。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章