摘要:本文對云計算的概念進行了簡要的介紹,比較系統、詳細地總結了云計算的關鍵技術:云平臺技術、虛擬化技術、數據存儲技術、數據管理技術、分布式編程與計算、云計算的業務接口以及云計算相關的安全技術等。
關鍵詞:云計算;關鍵技術;特點
一、云計算的概念
云計算(cloud computing)是一種新興的計算模型,是分布式計算、并行計算和網絡計算的發展。其最基本的概念,是透過網絡將龐大的計算處理程序自動分拆成無數個較小的子程序,再交由多個服務器所組成的龐大系統經搜尋、計算分析之后將處理結果回傳給用戶。最簡單的云計算技術在網絡服務中已經隨處可見,如搜尋引擎、網絡信箱等,使用者只要輸入簡單指令即能得到大量信息。
二、云計算的關鍵技術
云計算是一種新型的超級計算方式,以數據為中心,是一種數據密集型的超級計算。云計算的關鍵技術包括以下幾個方向:
1.云計算中的云平臺技術。
云計算平臺的主要特點是用戶不必關心云平臺底層的實現。用戶使用平臺,或使用云平臺發布第三方應用的開發者(服務提供商,或者云平臺用戶)只需要調用平臺提供的接口就可以在云平臺中完成自己的工作。利用虛擬化技術,云平臺提供商可以實現按需提供服務,這一方面降低了云的成本,另一方面保證了用戶的需求得到滿足。云平臺基于大規模的數據中心或者網絡,因此云平臺可以提供高性能的計算服務,并且對于云平臺用戶,云的資源幾乎是無限的。
2.虛擬化技術。
虛擬化技術是云計算系統的核心組成部分之一,是將各種計算及存儲資源充分整合和高效利用的關鍵技術。 虛擬化技術主要有以下幾種:
(1)服務器虛擬化。
在服務器虛擬化中,虛擬化軟件需要實現對硬件資源的分配、調度和管理,虛擬機與宿主操作系統及多個虛擬機間的隔離等功能,它的主要功能技術是在一個物理服務器上運行多個虛擬服務器;可以使一個物理服務器虛擬成若干個服務器使用。服務器的虛擬化還有無知覺故障恢復、負載均衡、統一管理以及快速部署等功能。
(2)存儲虛擬化。
存儲虛擬化的方式是將整個云系統存儲資源進行統一整合管理,為用戶提供一個統一的存儲空間。它的主要功能有:把存儲資源統一整合管理形成數據中心模式;用多個異構存儲服務器實現分布式存儲以統一模式訪問虛擬化后的用戶接口;將云存儲系統虛擬成用戶本地硬盤;它的功能還有節能減排、安全認證、數據加密、基層管理等功能。
(3)應用虛擬化。
應用虛擬化是把應用對底層系統和硬件的依賴抽象出來,從而解除應用與操作系統和硬件的耦合關系,應用程序運行在本地應用虛擬化環境中時,這個環境為應用程序屏蔽了底層可能與其他應用產生沖突的內容,從而使其具有良好的兼容性。
(4)平臺虛擬化。
平臺虛擬化是集成各種開發資源虛擬出的一個面向開發人員的統一接口,軟件開發人員可以方便地在這個虛擬平臺中開發各種應用并嵌入到云計算系統中,使其成為新的云服務供用戶使用。它的主要功能有:它支持各種通用的開發工具以及開發軟件,如C、C++、Java、C#、Basic等;它還有測試環境、服務計費、排名打分、升級更新和管理監控等功能。
(5)桌面虛擬化。
桌面虛擬化將用戶的桌面環境與其使用的終端設備解耦。服務器上存放的是每個用戶的完整桌面環境。用戶可以使用具有足夠處理和顯示功能的不同終端設備通過網絡訪問該桌面環境。它的主要功能有:集中在服務器端管理和配置PC環境及其他客戶端需要的軟件可以對企業數據、應用和系統進行集中管理、維護和控制,以減少現場支持工作量;它還有使用連續性、故障恢復、用戶自定義等功能。
3. 數據存儲技術。
云計算的數據存儲技術具有分布式、高吞吐率和高傳輸率的特點。為保證高可用、高可靠和經濟性,云計算采用分布式存儲的方式來存儲數據,采用冗余存儲的方式來保證存儲數據的可靠性,即為同一份數據存儲多個副本。目前數據存儲技術主要有Google的GFS(Google File System,非開源)以及Hadoop 開發團隊開發的HDFS(Hadoop Distributed File System,開源),目前這兩種技術已經成為事實標準。云計算的數據存儲技術未來的發展將集中在超大規模的數據存儲、數據加密和安全性保證以及繼續提高I/O速率等方面。
4. 數據管理技術。
云計算系統對大數據集進行處理、分析向用戶提供高效的服務。因此,數據管理技術必須能夠高效地管理大數據集。其次,如何在規模巨大的數據中找到特定的數據,也是云計算數據管理技術所必須解決的問題。
云計算的特點是對海量的數據存儲、讀取后進行大量的分析,如何提高數據的更新速率以及進一步提高隨機讀速率是未來的數據管理技術必須解決的問題。云計算的數據管理技術最著名的是Google的BigTable數據管理技術,由于采用列存儲的方式管理數據,如何提高數據的更新速率以及進一步提高隨機讀速率是未來的數據管理技術必須解決的問題。同時Hadoop開發團隊正在開發類似BigTable的開源數據管理模塊。
5. 分布式編程與計算。
為了使用戶能更輕松的享受云計算帶來的服務,讓用戶能利用該編程模型編寫簡單的程序來實現特定的目的,云計算上的編程模型必須十分簡單,必須保證后臺復雜的并行執行和任務調度向用戶和編程人員透明。當前各IT廠商提出的“云”計劃的編程工具均基于Map-Reduce的編程模型。Map-Reduce是一種處理和產生大規模數據集的編程模型,程序員在Map函數中指定對各分塊數據的處理過程,在Reduce函數中指定如何對分塊數據處理的中間結果進行歸約。用戶只需要指定map和reduce函數來編寫分布式的并行程序。
6. 云計算的業務接口。
為了方便用戶業務由傳統IT系統向云計算環境的遷移,云計算應對用戶提供統一的業務接口。業務接口的統一不僅方便用戶業務向云端的遷移,也會使用戶業務在云與云之間的遷移更加容易。在云計算時代,SOA架構和以Web Service為特征的業務模式仍是業務發展的主要路線。
7. 云計算相關的安全技術。
云計算模式帶來一系列的安全問題,包括用戶隱私的保護、用戶數據的備份和云計算基礎設施的防護等。云計算中虛擬服務的規模化、集約化和專業化改變了信息資源大量分散于端設備的格局,云計算本身可以通過安全作為服務的形式為改善互聯網安全作出貢獻。云計算中心可以實現集約化和專業化的安全服務,改變當前人人都在打補丁、個個都在殺病毒的狀況;還可以將備份作為一種服務形式,實現專門的云備份服務等。
三、結語
綜上所述,云計算最主要的特點是擁有大規模數據集,基于該數據集,向用戶提供服務。其技術實質是計算、存儲、服務器、應用軟件等IT軟硬件資源的虛擬化。通過云計算技術,網絡服務提供者可以在數秒之內,處理數以千萬計甚至億計的信息,達到和“超級計算機”同樣強大效能的網絡服務。
(作者單位:廣州市司法職業學校)
參考文獻:
[1]王鵬.云計算的關鍵技術與應用實例[M].北京:人民郵電出版社,2010.
[2] 李德毅,陳桂生,張海粟.云計算熱點問題分析[J] .中興通訊技術,2010,(4).
責任編輯:朱守鋰