王培海,劉宴兵,2,肖云鵬,陶長順
(1.重慶郵電大學移動互聯(lián)網(wǎng)中心 重慶 400065;2.重慶重郵信科通信技術(shù)有限公司 重慶 400065)
隨著3G、LTE等移動通信技術(shù)的不斷發(fā)展,移動互聯(lián)網(wǎng)帶寬得到大幅度的提升,通過移動設備訪問互聯(lián)網(wǎng),獲取自己所需的信息的方式,成為一種新的趨勢并逐漸融入到人們的日常生活中,催生出豐富的移動應用。為了緩解終端壓力,應當轉(zhuǎn)移終端應用的需求來源,云計算[1]是一個很好的選擇。移動設備的易攜帶和移動性限制了其對資源的擁有。云計算雖然聚合了豐富的計算和存儲資源,但移動性較差。將云計算與移動互聯(lián)網(wǎng)有機結(jié)合[2],終端應用對資源的高需求轉(zhuǎn)移到云平臺上,在真正意義上實現(xiàn)輕量級終端訪問互聯(lián)網(wǎng)的瘦終端,滿足移動用戶對快速響應時間的期望,同時使移動用戶可以隨時、隨地獲取云計算服務,這正好體現(xiàn)了“anytime,anywhere”的思想。
本文研究基于云計算與SOA架構(gòu)的移動應用,參照“云+端”的設計模式,移動設備以中間件的方式獲取云服務。針對移動設備的弱計算環(huán)境,造成訪問效率較低的特征,本文提出移動設備通過中間件方式訪問云服務,較好地解決了終端環(huán)境資源受限的瓶頸。
云計算是一種新型的計算模型,它通過互聯(lián)網(wǎng)將計算任務分布在大量計算機構(gòu)成的資源池上,使用戶按需獲取各種信息服務[3]。移動云計算在云計算基礎上發(fā)展而來,給移動互聯(lián)網(wǎng)的發(fā)展注入新的活力。目前,移動云計算在學術(shù)界得到廣泛的重視,各個研究機構(gòu)紛紛開始做相關(guān)研究。惠普實驗室將云環(huán)境下的資源與SOA服務模式緊密相連[4],將云資源以服務提供的方式供用戶使用,降低了運營商的IT成本。但并沒有考慮移動終端用戶的環(huán)境因素,只是針對傳統(tǒng)的Web終端。加拿大徹溫大學對智能終端使用移動云服務做了相關(guān)研究[5],提出一種基于云計算的服務中間件,解決終端訪問云服務的關(guān)鍵問題。但對于該中間件應用的開發(fā)比較單一,不能為多終端異構(gòu)平臺提供一個統(tǒng)一的編程接口。Berkeley有學者提出一種新穎的克隆云架構(gòu)[6],將終端應用上資源密集型的計算或存儲轉(zhuǎn)移到具有終端運行環(huán)境的云平臺上,以此增強終端應用的能力。不足的是這種模型僅針對智能終端,并沒有對普通移動設備加以考慮。因此,針對移動應用調(diào)用云計算能力的缺陷,將中間件技術(shù)引入到終端應用的開發(fā)中,通過中間件提供的統(tǒng)一編程接口,來屏蔽多終端平臺之間的差異性,減少終端應用重復開發(fā)的成本,對移動應用的發(fā)展有比較深遠的意義。
Web服務為多終端異構(gòu)平臺資源協(xié)同提供了有效的手段。但在移動環(huán)境中,網(wǎng)絡帶寬、內(nèi)存大小、計算能力、存儲空間以及電源的續(xù)航能力等資源非常受限[7]。傳統(tǒng)的Web服務已經(jīng)無法較好地滿足移動環(huán)境下異構(gòu)設備互聯(lián)互通的需求。因此,資源受限的移動設備如何有效地使用云服務,得到學術(shù)界、工業(yè)界的高度重視。云服務中間件集成了云計算能力的中間件平臺,能夠動態(tài)調(diào)度底層虛擬資源滿足云端業(yè)務需求,能夠?qū)Ψ植际酱鎯μ峁U展支撐能力[8]。資源受限的云服務是云計算與移動網(wǎng)絡、服務計算和嵌入式系統(tǒng)相結(jié)合的產(chǎn)物,在移動終端應用等領域有廣闊的應用前景[9]。
眾所周知,云計算服務端聚合了豐富的計算和存儲資源,通過SOA技術(shù)將云計算資源以服務的形式發(fā)布出去,供不同的移動設備訪問,解決移動環(huán)境資源受限的瓶頸。移動設備通過中間件獲取云服務接口,充當移動設備和云服務端之間的橋梁,同時也是云服務的提供者和使用者。云服務中間件通過建立Web應用服務器實例,來屏蔽不同終端操作系統(tǒng)的異構(gòu)性,提供統(tǒng)一的計算存儲平臺和運行環(huán)境。本文設計了一種面向移動設備的云服務中間件模型,其系統(tǒng)架構(gòu)如圖1所示。
移動設備端的邏輯結(jié)構(gòu)較為簡單。Input/Output用于訪問中間件,把用戶輸入的參數(shù)發(fā)出去,等待返回結(jié)果,在移動設備上顯示出來。環(huán)境感知模塊用于實時監(jiān)控設備的網(wǎng)絡狀況、電池容量等,當?shù)竭_一定閾值時,中斷與中間件的連接。RM(record manager)用于保存數(shù)據(jù)記錄,可以將云服務端返回的數(shù)據(jù)保存在本地的移動設備上,便于用戶在網(wǎng)絡中斷后可以繼續(xù)訪問這些數(shù)據(jù)。
云服務器端主要業(yè)務邏輯體現(xiàn)在云服務注冊中,將計算和存儲資源以服務的形式發(fā)布出去,同時添加到云服務注冊模塊中,中間件層通過云服務接口對云服務進行訪問??紤]到移動設備的弱處理能力,對云服務返回的復雜數(shù)據(jù)進行相應處理,使得適應終端顯示。緩存模塊主要用于對云服務端返回的大量數(shù)據(jù)進行臨時存儲,緩解終端接收的壓力。
當中間件收到服務請求時,檢索用戶所要求的服務是否存在,如果請求的服務存在,就將云服務接口返回給服務調(diào)用模塊,由它完成具體服務的調(diào)用。如果沒有相對應的服務,表示服務不存在,給移動設備返回出錯信息。訪問流程如圖2所示。
中間件作為移動終端和云服務器之間的一層支撐軟件,一方面給移動終端提供訪問云服務的平臺,以便移動用戶可以無縫地訪問云服務器上的資源。另一方面負責移動終端與云服務端的通信,符合“中間件=平臺+通信”的定義。由于移動環(huán)境的特殊性和移動網(wǎng)絡的不穩(wěn)定性,因此面向云服務的移動中間件的關(guān)鍵技術(shù)包括以下兩個方面。
移動云服務是將網(wǎng)絡中的各種資源有效地聚合在一起,為移動用戶服務。因移動用戶要在多個無線網(wǎng)絡間不斷地切換,訪問云平臺提供的不同服務,因此需要采用云服務發(fā)現(xiàn)技術(shù)來找到所需的云服務。本文采用一種SOA服務發(fā)現(xiàn)機制 UDDI(universal description,discovery and integration)[10],移動終端利用它可以發(fā)現(xiàn)暴露給終端的云服務。云平臺作為服務的提供者將自身的服務以WSDL發(fā)布到注冊中心,供請求方調(diào)用;移動終端作為服務請求方查找相應的服務,以WSDL調(diào)用服務,通過SOAP協(xié)議與云平臺進行交互,其體系結(jié)構(gòu)如圖3所示。
本文的移動云服務發(fā)現(xiàn)機制是一種用于建立高度動態(tài)C/S的協(xié)議集合,將移動端和云平臺之間的交互標準化。移動用戶與云平臺間最基本的交互是云服務的發(fā)現(xiàn)。云服務發(fā)現(xiàn)定義了移動終端用戶如何找到服務目錄,進行服務注冊或匹配的協(xié)議,支持多種協(xié)議形式,包括單播發(fā)現(xiàn)、多播發(fā)現(xiàn)和廣播發(fā)現(xiàn)等。云服務目錄提供了集中式的注冊機制,云服務在服務目錄中暴露其服務信息,移動用戶通過查找目錄或服務發(fā)現(xiàn)機制找到所需服務。在整個云服務發(fā)現(xiàn)過程中,中間件通過IaaS層的服務接口動態(tài)創(chuàng)建虛擬機,并完成業(yè)務邏輯的部署,根據(jù)云端業(yè)務的并發(fā)訪問情況動態(tài)調(diào)度云中底層的虛擬資源,實現(xiàn)資源對云端用戶的透明,集群技術(shù)能力向中間件上轉(zhuǎn)移的一種動態(tài)實現(xiàn),真正實現(xiàn)計算和存儲能力的彈性伸縮。同時,還提供垃圾收集功能,主要是實現(xiàn)系統(tǒng)的自愈合功能,當服務退出網(wǎng)絡或出現(xiàn)異常導致云服務不再可用時,借助垃圾收集機制刪除服務的相關(guān)狀態(tài)信息,回收資源。
考慮到移動終端資源受限的瓶頸,在中間件平臺中用并行數(shù)據(jù)處理模塊來對數(shù)據(jù)進行相應的處理,使其滿足移動終端對數(shù)據(jù)實時響應和時延較小的要求。綜合移動終端的這些缺陷,將交互數(shù)據(jù)按2 MB大小進行分塊,并將其按一定次序標記,同時為每個數(shù)據(jù)塊分配一個線程。另外,新開辟一條線程用于發(fā)送控制信息,指明數(shù)據(jù)所對應的文件塊序號以及文件相關(guān)信息。云服務端將接收到的文件塊保存到一個臨時文件中,當接收到文件塊的數(shù)量與控制信息中數(shù)量一致時,則表示數(shù)據(jù)接收完成,同時按相應次序合并文件塊,刪除臨時文件。終端數(shù)據(jù)傳輸速度快,網(wǎng)絡利用率高,終端數(shù)據(jù)時延較小,用戶體驗度在很大程度上得到提高。其流程如圖4所示。
考慮到電源的續(xù)航能力,通過采用并行數(shù)據(jù)傳輸技術(shù)解決了終端海量數(shù)據(jù)傳輸?shù)南到y(tǒng)承載能力問題。該模塊的核心功能是將傳輸?shù)臄?shù)據(jù)按照一定的要求進行分塊處理,并按順序標記每塊數(shù)據(jù),對中途數(shù)據(jù)塊傳輸失敗的數(shù)據(jù)支持斷點續(xù)傳,這在一定程度上解決了以往由于數(shù)據(jù)傳輸量過大而導致的傳輸耗時較長、數(shù)據(jù)傳輸頻繁失敗、數(shù)據(jù)更新不及時等問題。由于移動網(wǎng)絡是動態(tài)變化的,保證終端數(shù)據(jù)與云服務端的數(shù)據(jù)一致性,采用緩存技術(shù)來降低終端的負載,提高數(shù)據(jù)傳輸速度,增大用戶體驗度;同時存儲訪問度較高的數(shù)據(jù),減少終端的時延。
為了更好地對中間件做出評估,系統(tǒng)測試由硬件環(huán)境和軟件環(huán)境兩部分組成。硬件環(huán)境是由5臺普通PC機構(gòu)成的集群系統(tǒng);軟件環(huán)境由Ubunt 9.04和Android 2.2模擬器構(gòu)成。
為驗證模型的可行性與穩(wěn)定性,在此基礎上開發(fā)了一個面向移動終端的云備份系統(tǒng),將備份作為一種服務提供給移動終端,對云備份的數(shù)據(jù)傳輸速率進行測試,以判斷系統(tǒng)的穩(wěn)定性,如圖5所示。從圖中可以看出,手機云備份系統(tǒng)的傳輸速率能夠維持在一個相當穩(wěn)定的狀態(tài)下,從而間接說明該中間件模型的穩(wěn)定性與可靠性。同時,基于中間件的云備份系統(tǒng)將終端數(shù)據(jù)備份到云平臺上,有效地解決了移動設備存儲空間的不足,在較大程度上解放終端受限的約束,用戶體驗度得到提高。
隨著移動終端設備的快速發(fā)展,云計算模式受到廣泛關(guān)注,未來將會有更多的移動用戶采用移動設備享用云服務。考慮到移動設備資源受限的瓶頸,本文結(jié)合云計算、中間件以及SOA的相關(guān)技術(shù)實現(xiàn)了面向云服務結(jié)構(gòu)的移動中間件模型,為在移動環(huán)境下訪問云服務提供了一種通用解決方案;通過中間件技術(shù)將云服務封裝成一個統(tǒng)一的接口,降低了終端應用重復開發(fā)的成本,真正意義上實現(xiàn)了跨不同終端異構(gòu)平臺之間的交互,同時利用多線程技術(shù)對終端數(shù)據(jù)進行并行分塊處理,使得數(shù)據(jù)傳輸速率得到提高,終端用戶體驗度增強。未來的工作將集中在提供多協(xié)議支持、安全以及離線處理上,并對服務質(zhì)量保證做深入研究。
1 Michael A,Armando F,Rean G,et al.A view of cloud computing.Communications of the ACM,2010,53(4):50~58
2 Srikanth B,Kamlesh D.A cloud based software testing paradigm formobile applications.ACM Software Engineering Notes,2011,36(4):1~4
3 劉鵬.云計算.北京:電子工業(yè)出版社,2010
4 Afkham Azeez,Srinath Perera,Dimuthu Gamage,etal.Multi-tenant SOA middleware for cloud computing.In:IEEE 3rd International Conference on Cloud Computing,Miami,Florida,USA,2010
5 Qian Wang,Ralph Deters.SOA’s last mile connecting smartphones to the service cloud.In:IEEE International Conference on Cloud Computing,Los Angeles,California,USA,2009
6 Byung-Gon Chun,Petros Maniatis.Augmented smartphone applications through clone cloud execution.In:Proceedings of the 12th Conference on Hot Topics in Operating Systems,Switzerland,May 2009
7 李剛,孫紅梅,李智等.資源受限的Web服務.計算機學報,2010,33(2):193~207
8 Fung Po Tso,Lin Cui,Lizhou Zhang,et al.Building a platform to bridge low end mobile phones and cloud computing services.ZTE Communications,2011,9(1):22~26
9 Jianzong Wang,Varman P,Changsheng Xie.Middleware enabled data sharing on cloud storage services.In:the 5th International Workshop on Middleware for Service Oriented Computing,Bangalore,India,2010
10 余浩,朱成,丁鵬.SOA實踐.北京:電子工業(yè)出版社,2009