羅根源
重慶師范大學涉外商貿學院數學與計算科學學院,重慶 401520
在原始模式下,我們建立一套完整IT系統需要購買硬件、軟件等基礎設施外,還需要買軟件的許可認證,需要專業人員維護。當IT行業的規模不斷擴大時,我們還要繼續升級換代各種軟硬件設施以滿足需要。在很多情況下,計算機軟、硬件等資源不是人們真實的需求,它是為了完成工作提高效率的輔助工具。診對個人計算機而言,最底層的是硬件,光有硬件的計算叫裸機,沒有太多的用途,我們還需要安裝一系列的軟件才能使用,目前大多數軟件需要收費。然而很多軟件是我們不經常用到的,購買這樣的軟件對用戶而言是很不劃算的。基于此人們提出這樣一種服務,建立一個能夠提供人們需要的所有軟件租用平臺。這樣以來我們只需花費很少的資金在軟件產品的購置上,人們可以共享這些軟件資源,基于此提出了云計算的思想,實際上云計算是想達到將計算、服務和應用作為一種普通公共設施提供給人們,使人們能夠共享資源,比如,像人們使用生活資源水、電、氣一樣。
云計算(Cloud Computing)是由分布式計算(Distributed Computing)、網格計算(Grid Computing )、并行計算(Parallel Computing)等多種傳統計算機技術和網絡技術發展的產物。以互聯網絡為載體把多個成本相對偏低的計算實體組合成一個強大的計算能力系統,并借助IaaS、PaaS、SaaS、MSP[1]等先進的商業模式把這種非常強大的計算能力分布到多個用戶終端手中。Cloud Computing的一個中心思想就是通過不斷提高“云”的處理能力,來減少用戶終端的處理負擔,使得用戶終端形成一個簡單的輸入輸出設備。并能按需分享“云”的強大計算處理能力。
云計算是一種新興的超級大規模計算方式,是以數據為中心的一種數據密集型的超級計算。在多個領域有其獨特技術,如數據存儲、數據管理、編程模型、虛擬化技術等,再次基礎上還牽涉了許多云計算的其他技術,如表1所示。主要介紹云計算特有的技術,包括數據存儲技術,數據管理技術,編程模式等。
云計算系統是由云端大量的服務器組成,用戶使用云端的資源為大量用戶服務,因此在云計算系統中采用分布式存儲的方式存儲數據,用冗余存儲的方式保證數據的可靠性。在云計算系統中廣較為泛使用的數據存儲系統是由Google公司的GFS和Hadoop開發團隊開發的GFS的開源實現HDFS。
GFS文件系統(Google File System),是一個可擴展的分布式文件系統它能對大量數據進行訪問和應用,用于較大型的分布式的。GFS的設計理念區別于原始的文件系統,主要針對大規模數據處理和Google應用特性而設計的。運行于較為便宜的一般硬件上,具有較強的容錯能力,它能為用戶提供很好的服務。
GFS集群主要由一個主服務器(master)和大量的塊服務器(chunkserver)構成[2],而且被大量客戶所訪問。主服務器存儲文件系統所有的數據,包括訪問控制信息、名字空間、從文件到塊的映射以及塊的當前位置。它能控制系統范圍的一系列活動,比如,孤塊的垃圾收集、塊服務器間的塊遷移、租約(lease)管理。主服務器在規定的時間定期通過HeartBeat消息與每一個塊服務器通信,將其消息傳遞結塊服務器,并傳遞指令收集它的狀態。
客戶與主服務器的交換可以對元數據操作,全部數據方面的通信都直接和塊服務器聯系,這種模式大大提高了系統的效率,減小主服務器的負載。
云計算需要對海量的數據進行處理、分布、分析研究,因此,所有的數據管理技術必需能高效的管理超大規模的數據。云計算系統中的數據管理技術主要是Google的Hadoop團隊開發的開源數據管理模塊HBase和T(BigTable)數據管理技術[3]。
BT是基于 GFS的 Lock Service、Scheduler、MapReduce之上的一個大型的分布式數據庫,與傳統的關系數據庫有所區別,它將所有對象作為數據來處理,形成一個巨大的數據鏈,用來分布存儲大規模結構化數據。
MapReduce是由Google公司開發的C++、Python、java、編程模型,它是一種簡化的分布式編程模型和高效的任務調度模型,用于大規模數據集的并行運算大于,以1TB為單位量。具有嚴格的編程模型使得在云計算環境下的編程很簡單。MapReduce模式的觀點是把將要執行的問題分解成Reduce(化簡)[4]、Map(映射)的方式,先用Map程序將數據分割成不相關的區塊,分配給大量計算機處理,達到分布式運算的效果,通過Reduce程序將結果匯整輸出。
該技術可以實現軟硬件平臺的分離,能將單一資源劃分成多個虛擬資源的裂分模式,還包括將多個資源整組成一個虛擬資源的聚合模式。虛擬化技術根據對象可分網絡虛擬化、計算虛擬化、存儲虛擬化等,計算虛擬化又分為應用級虛擬化、桌面虛擬化、系統級虛擬化、。
云計算整體資源規模復雜體系大,是因為服務器分散在不同的地點,使用于多個不同的領域,要保證這些服務器正常的運轉是該學科研究的問題。
云計算系統各類平臺管理技術能夠使大量的服務器協同工作,方便的進行各類業務部署和開通,快速發現和恢復系統故障,通過智能化、自動化的手段實現大規模系統的可靠運營。

技術類型 具體技術設備架設 數據中心節能、節點互聯技術改善服務技術 可用性技術、容錯性技術資源管理技術 數據存儲技術、數據管理技術任務管理技術 數據切分技術、任務調度技術、編程模型

表1 云計算中的技術
目前,英特爾、微軟、亞馬遜、谷歌、 IBM、等公司都提出了“云計劃”。他都提出一個叫了 “藍云”的計劃。從此云計算在不同領域的價值得到了體現,由其是在商業價值方面得到了極大的發展。多家國內外學術機構也都對云計算進行全方位深層次的研究。谷歌同清華大學、華盛頓大學以及合作,啟動云計算學術合作計劃,推動了云計算的普及和發展, 加緊對云計算的研究。卡內基梅隆大學等對數據密集型的超級計算進行研究,本質上也是對云計算相關技術開展研究。
IDC 的調查統計顯 ,在以后的5年中云計算服務的各個領域將不斷增長,估計在2012年前后市場規模可達600億美元。此時云計算在企業得到了普及,并且有每年遞增的勢頭。預計在2012年,企業投入在云計算服務領域的支出將占整體 IT 成本30%,甚至在2013年提高至 IT 總支出的50%。基于此,云計算在國內外科研機構和企業的推動下得到不斷的發展[5]。
云計算有著非常廣闊的應用前景。如表2所示。云計算在科研、醫學、天文學、網絡安全、圖形圖像、安全等各個領域有著廣泛的應用前景。

表2 云計算的應用領域
盡管使用云計算服務有非常多的好處,但作為一項新興技術,云計算仍然存在著諸多的問題,使人們對其仍然抱有懷疑和觀望的態度,如何解決安全、技術、經濟、網絡、兼容性是云計算面臨的重要問題。其中安全是首要問題,云計算意味著企業將把類似客戶信息這類具有很高商業價值的數據存放到云計算服務提供商的手中,信息的安全性和私密性是用戶最為關心的事情。根據IDC的調查結果,將近75%的受訪企業認為安全是云計算發展路途上的最大挑戰。
云計算目前在多學科得到了極大的發展,隨之而來物聯網也不斷的在科學界引起重視,如何將云計算和物聯網有機的結合起來形成龐大的商業體系,將是學術界在未來多年研究的課題,云計算到低能不能執掌起物聯網,就目前還顯得幼小,云如何很更好的成為物聯網的后端是研究的一個方先。
[1]維基百科.Cloud Compting [EB/OL].[2009-03-10].http://en.wikipedia org/wiki/cloud-compting.
[2]中國云計算網.什么是云計?[EB/OL].[2008-05-14].http://www.coloudcomputing-chia cn.
[3]劉鵬.云計算實踐之道:戰略藍圖與技術架構[M].北京:清華大學出版社,2010.
[4]楊正洪,鄭齊心,吳寒.企業云計算架構與實施指南[M].北京:清華大學出版社,2010.
[5]雷萬云.云計算企業信息化建設策略與實踐[M].北京:清華大學出版社,2010.