孟寅子
摘 要移動(dòng)云計(jì)算可以看作是,將作為一種商業(yè)計(jì)算模型的云計(jì)算應(yīng)用于移動(dòng)環(huán)境中所形成概念。本文主要闡述在移動(dòng)云計(jì)算模式下應(yīng)用開(kāi)發(fā)所需用到的關(guān)鍵技術(shù),主要對(duì)移動(dòng)云計(jì)算體系結(jié)構(gòu)、IaaS平臺(tái)彈性擴(kuò)展機(jī)制及開(kāi)源的IaaS平臺(tái)OpenNebula做有針對(duì)性的研究,闡明移動(dòng)云計(jì)算模式作為一種計(jì)算密集型應(yīng)用開(kāi)發(fā)解決方案的意義。
【關(guān)鍵詞】移動(dòng)云計(jì)算 IaaS 彈性擴(kuò)展 OpenNebula
移動(dòng)設(shè)備由于其便攜性、體積小等特點(diǎn),雖然在各個(gè)方面都在向智能化演進(jìn),但短時(shí)間內(nèi)其處理能力還是難以和計(jì)算機(jī)相比。因此可以借助基于云計(jì)算模式服務(wù)器存儲(chǔ)和處理應(yīng)用,從而弱化對(duì)移動(dòng)終端設(shè)備的處理需求,在后臺(tái),云計(jì)算的存儲(chǔ)量和計(jì)算能力也解決了手機(jī)存儲(chǔ)量有限和丟失信息的問(wèn)題。
1 移動(dòng)云計(jì)算體系結(jié)構(gòu)
移動(dòng)云計(jì)算可以分為四層,接收層,基本管理層,虛擬層和物理層。
1.1 接收層
也叫接受控制層,包括客戶端的服務(wù)界面,服務(wù)注冊(cè)和合理服務(wù)接收。
1.2 基本管理層
在云計(jì)算技術(shù)中,管理層位于服務(wù)和服務(wù)器集群之間,在移動(dòng)云計(jì)算系統(tǒng)架構(gòu)中提供管理、服務(wù)和管理系統(tǒng)。
1.3 虛擬層
虛擬層即虛擬項(xiàng)例如計(jì)算池,存儲(chǔ)池和網(wǎng)絡(luò)池,虛擬功能可由軟件功能實(shí)現(xiàn),包括虛擬環(huán)境,虛擬系統(tǒng),虛擬平臺(tái)等等。
1.4 物理層
物理層主要描述了支持移動(dòng)云服務(wù)的硬件設(shè)備和技術(shù),它可以是便宜的計(jì)算機(jī)也可以是非智能手機(jī)。
2 IaaS云計(jì)算彈性擴(kuò)展機(jī)制
在(基礎(chǔ)設(shè)施作為服務(wù))IaaS中,虛擬機(jī)作為資源提供給用戶,用戶通過(guò)虛擬機(jī)獲得所需要的計(jì)算能力。在彈性云計(jì)算平臺(tái)中會(huì)提供一些模板,用于虛擬機(jī)的創(chuàng)建,這些模板一般按照CPU的計(jì)算能力、內(nèi)存大小來(lái)劃分。創(chuàng)建虛擬機(jī)所需的系統(tǒng)軟件通常來(lái)自于IaaS環(huán)境所提供的鏡像文件,除虛擬機(jī)所需OS外,還可將用戶的應(yīng)用程序、配置等一起打包成為加密機(jī)器鏡像。
在一個(gè)虛擬機(jī)創(chuàng)建完成之后,它可被上傳到被IaaS提供商所托管的資源環(huán)境中去,并利用IaaS提供商的原始存儲(chǔ)(例如資源調(diào)度、負(fù)載均衡、服務(wù)監(jiān)控等機(jī)制)對(duì)這臺(tái)虛擬機(jī)進(jìn)行相關(guān)配置。用戶在IaaS環(huán)境中,就像在使用裸機(jī)和磁盤一樣,即可以將Windows作為操作系統(tǒng)運(yùn)行其上,也可將Linux作為操作系統(tǒng)運(yùn)行其上,允許用戶動(dòng)態(tài)申請(qǐng)或釋放節(jié)點(diǎn)是IaaS區(qū)別于傳統(tǒng)分布式服務(wù)器集群最大的優(yōu)勢(shì)。
3 OpenNebula:IaaS彈性云平臺(tái)
OpenNebula是Amazon云計(jì)算EC2的一種開(kāi)源實(shí)現(xiàn),是IaaS平臺(tái)的典型代表。下面主要介紹虛擬化、網(wǎng)絡(luò)、主機(jī)與集群、存儲(chǔ)這四個(gè)子系統(tǒng)。
3.1 虛擬化子系統(tǒng)
虛擬化子系統(tǒng)負(fù)責(zé)與主機(jī)上的虛擬機(jī)監(jiān)控程序進(jìn)行通信,其負(fù)責(zé)在一個(gè)虛擬機(jī)生命周期中對(duì)其進(jìn)行的各種操作。其通過(guò)相應(yīng)的驅(qū)動(dòng)器與主機(jī)中的虛擬機(jī)監(jiān)控程序進(jìn)行通信,在創(chuàng)建一個(gè)虛擬機(jī)時(shí),應(yīng)該指定其hypervisor的類型,驅(qū)動(dòng)器可以看作是一個(gè)接口,虛擬化子系統(tǒng)通過(guò)這個(gè)接口與使用響應(yīng)虛擬化技術(shù)的hypervisor進(jìn)行通信。在OpenNebula管理的主機(jī)底層操作系統(tǒng)必須基于Linux,但可以安裝不同的Linux發(fā)行版本,不同的主機(jī)可以采用不用的虛擬化技術(shù)。
3.2 網(wǎng)絡(luò)子系統(tǒng)
OpenNebula提供了一個(gè)容易使用的可定制化的網(wǎng)絡(luò)子系統(tǒng),以便更好的整合現(xiàn)存數(shù)據(jù)中心特定的網(wǎng)絡(luò)要求。OpenNebula需要一個(gè)網(wǎng)絡(luò),以便前端節(jié)點(diǎn)通過(guò)網(wǎng)絡(luò)訪問(wèn)各個(gè)主機(jī),從而管理和監(jiān)控各主機(jī)的虛擬機(jī)監(jiān)控程序,以及傳送鏡像文件。為了使位于不同主機(jī)中的,虛擬機(jī)之間可以進(jìn)行網(wǎng)絡(luò)通信,默認(rèn)配置是將虛擬機(jī)的網(wǎng)絡(luò)接口連接到其物理主機(jī)的網(wǎng)橋上。當(dāng)運(yùn)行一個(gè)虛擬機(jī)后,OpenNebula將這個(gè)虛擬的網(wǎng)絡(luò)接口連接到一個(gè)網(wǎng)橋,或者連接到一個(gè)自定義的虛擬網(wǎng)絡(luò)中。這樣虛擬機(jī)就可以訪問(wèn)不同網(wǎng)絡(luò),公網(wǎng)或者是私網(wǎng)。
3.3 存儲(chǔ)子系統(tǒng)
Datastore(數(shù)據(jù)倉(cāng)庫(kù))是一個(gè)存儲(chǔ)介質(zhì),用于存儲(chǔ)虛擬機(jī)所需用到的磁盤鏡像,一個(gè)數(shù)據(jù)倉(cāng)庫(kù)將會(huì)通過(guò)SAN/NAS servers進(jìn)行備份,完整安裝好的OpenNebula通常會(huì)有多種類型的Datastore,OpenNebula里的磁盤鏡像可以有四種類型,每種類型都可以有多個(gè)Datastore對(duì)其進(jìn)行存儲(chǔ)。存儲(chǔ)系統(tǒng)允許用戶在數(shù)據(jù)倉(cāng)庫(kù)中存儲(chǔ)磁盤鏡像,這些磁盤鏡像可以用于定義虛擬機(jī)的操作系統(tǒng),或者用于與其他用戶數(shù)據(jù)共享。
3.4 主機(jī)和集群系統(tǒng)
主機(jī)是一臺(tái)可以運(yùn)行虛擬機(jī)實(shí)例服務(wù)器,并且與OpenNebula的前端服務(wù)器相連接,OpenNebula可以部署在異構(gòu)配置的主機(jī)上,例如可以用基于版本的不同虛擬機(jī)監(jiān)控器和基于不同版本的Linux主機(jī)搭建同一個(gè)OpenNebula平臺(tái)。集群是共享數(shù)據(jù)倉(cāng)庫(kù)和虛擬網(wǎng)絡(luò)的主機(jī)的集合,集群通常能夠提供負(fù)載均衡、高可靠性、高性能計(jì)算。
4 結(jié)束語(yǔ)
以智能手機(jī)為代表的移動(dòng)設(shè)備在性能上的表現(xiàn)與過(guò)去相比已經(jīng)顯著提高,各種基于移動(dòng)設(shè)備的面向計(jì)算密集型復(fù)雜應(yīng)用也隨之而來(lái),基于移動(dòng)云平臺(tái)的服務(wù)器可以利用彈性云計(jì)算技術(shù)有效解決服務(wù)器端維護(hù)和管理比較繁瑣,且擴(kuò)展困難,資源利用率較低等問(wèn)題。同時(shí)云計(jì)算將這些自我維護(hù)和管理的虛擬計(jì)算資源集中起來(lái),通過(guò)專門軟件實(shí)現(xiàn)自動(dòng)管理,用戶可動(dòng)態(tài)申請(qǐng)部分資源,有利于提高效率、降低成本。
參考文獻(xiàn)
[1]鄧茹月,覃川,謝顯中.移動(dòng)云計(jì)算的應(yīng)用現(xiàn)狀及存在問(wèn)題分析[J].重慶郵電大學(xué)學(xué)報(bào):自然科學(xué)版,2012,24(6):716-723.
[2]P.Marshall,K.Keahey,and T.Freeman.
"Elastic Site:Using Clouds to Elastically Extend Site Resources"[C].IEEE/ACM International Symposium on Cluster,Cloud and Grid Computing(CCGrid 2010),May 2010.
[3]D Milojii,IM Llorente,RS Montero.
OpenNebula:A Cloud Management Tool [C].Internet Computing IEEE,2011,15(2):11-14.
作者單位
山東省農(nóng)村信用社聯(lián)合社 山東省濟(jì)南市 250000