肖 晴
(中國電信股份有限公司上海分公司總工程師室 上海 200021)
目前,移動(dòng)互聯(lián)網(wǎng)正處于快速發(fā)展的黃金階段。經(jīng)過了大型機(jī)、小型機(jī)、個(gè)人電腦、桌面互聯(lián)網(wǎng)之后,人們正跑步進(jìn)入移動(dòng)互聯(lián)網(wǎng)新時(shí)代。據(jù)統(tǒng)計(jì)[1],中國移動(dòng)通信集團(tuán)公司(以下簡稱中國移動(dòng))互聯(lián)網(wǎng)市場2008年、2009年連續(xù)兩年超過100%高速增長,截至2010年底,中國移動(dòng)互聯(lián)網(wǎng)市場用戶規(guī)模達(dá)2.88億,環(huán)比2009年增速達(dá)40.5%,預(yù)測2012年中國移動(dòng)互聯(lián)網(wǎng)用戶數(shù)將超過互聯(lián)網(wǎng)用戶數(shù)。
與此同時(shí),電信運(yùn)營商則不得不面對“被管道化”的尷尬境地。統(tǒng)計(jì)數(shù)據(jù)顯示[2]:中國移動(dòng)通信集團(tuán)廣東有限公司(以下簡稱廣東移動(dòng))2010年上半年40%以上的數(shù)據(jù)流量來自騰訊QQ業(yè)務(wù),多地移動(dòng)公司信道資源的最大份額消耗者也是QQ。隨著社交網(wǎng)站、無線視頻等移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)的普及,愈來愈多的內(nèi)容提供商在成功吸引了大量用戶的同時(shí),正以低廉的成本不斷消耗著運(yùn)營商的無線頻譜、信道、人力等資源。
云計(jì)算的部署可以讓企業(yè)巨大的后臺(tái)計(jì)算與儲(chǔ)存能力充分地發(fā)揮出來,與之對應(yīng)的則是終端的性能瓶頸會(huì)逐漸消失,云計(jì)算將會(huì)幫助手機(jī)實(shí)現(xiàn)超越PC的運(yùn)算能力,這對于CDMA手機(jī)尤為重要。目前,CDMA手機(jī)中仍有超過1/3的手機(jī)硬件性能較低,難以支持各種移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù),CDMA 3G手機(jī)中仍有約70%的手機(jī)使用BREW軟件平臺(tái),而基于BREW的應(yīng)用遠(yuǎn)遠(yuǎn)少于基于各種智能手機(jī)操作系統(tǒng)的應(yīng)用,導(dǎo)致在CDMA手機(jī)上移動(dòng)互聯(lián)網(wǎng)應(yīng)用推廣困難。
另一方面,云計(jì)算技術(shù)實(shí)現(xiàn)應(yīng)用托管,在云端匯聚電信能力和互聯(lián)網(wǎng)能力,將其開放給開發(fā)者,可以改變運(yùn)營商對移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)參與程度低的狀況,通過平臺(tái)運(yùn)營,提升運(yùn)營商在產(chǎn)業(yè)鏈中的地位。
因此,基于云計(jì)算技術(shù)提供移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù),是電信運(yùn)營商在移動(dòng)互聯(lián)網(wǎng)時(shí)代提高競爭力,避免淪為單純“管道”的重要手段。
那是不是說,云計(jì)算時(shí)代的手機(jī),都是“瘦終端”呢?顯然不是,因?yàn)槭謾C(jī)的演進(jìn)趨勢絕不是僅成為一個(gè)縮小版的PC。手機(jī)有麥克風(fēng)、揚(yáng)聲器、相機(jī),甚至GPS芯片、重力感應(yīng)裝置(G-sensor),這些附屬設(shè)備分開來看沒有什么作用,但是如果在手機(jī)的后端平臺(tái)應(yīng)用了云計(jì)算,結(jié)合了3G帶寬和合理的資費(fèi)后,手機(jī)的麥克風(fēng)就能成為用戶的耳朵,手機(jī)的相機(jī)就能成為用戶的眼睛,GPS芯片就能成為用戶的向?qū)А謾C(jī)的移動(dòng)性和便攜性,使得手機(jī)與用戶的日常生活結(jié)合更為緊密,手機(jī)在用戶體驗(yàn)上遠(yuǎn)遠(yuǎn)超過了PC。充分利用手機(jī)的這些特性,移動(dòng)互聯(lián)網(wǎng)將會(huì)超越傳統(tǒng)互聯(lián)網(wǎng)。
移動(dòng)互聯(lián)網(wǎng)環(huán)境下的應(yīng)用服務(wù),云是服務(wù)的核心,端是服務(wù)的載體與呈現(xiàn)途徑,同時(shí)也是用戶參與業(yè)務(wù)互動(dòng)的重要渠道,端對用戶的服務(wù)體驗(yàn)、業(yè)務(wù)的推廣都影響巨大。因此,發(fā)展移動(dòng)互聯(lián)網(wǎng)應(yīng)用更需要關(guān)注“端”。
云計(jì)算與移動(dòng)互聯(lián)網(wǎng)的結(jié)合,是一種“云+端”架構(gòu),是云端與終端的協(xié)同,下文提出了一種基于統(tǒng)一客戶端的“云+端”架構(gòu),并介紹了其技術(shù)特點(diǎn)、應(yīng)用案例和業(yè)務(wù)優(yōu)勢。
移動(dòng)互聯(lián)網(wǎng)“云+端”架構(gòu),由云平臺(tái)、云手機(jī)以及能力開放層、外部應(yīng)用服務(wù)、應(yīng)用開發(fā)測試環(huán)境組成,云平臺(tái)和云手機(jī)是核心,如圖1所示。
2.1.1 云平臺(tái)
云平臺(tái)由云終端接入服務(wù)器、應(yīng)用服務(wù)器、資源匯聚網(wǎng)關(guān)、管理平臺(tái)、門戶5部分構(gòu)成。
(1)云終端接入服務(wù)器
負(fù)責(zé)云客戶端的接入,并提供下述3個(gè)功能:空中網(wǎng)協(xié)議處理,完成空中網(wǎng)二進(jìn)制協(xié)議與應(yīng)用層XML協(xié)議之間的轉(zhuǎn)換;下載服務(wù),提供云客戶端和云手機(jī)上應(yīng)用客戶端的更新;用戶認(rèn)證,根據(jù)手機(jī)號(hào)生成并維護(hù)用戶身份信息,以支持第三方應(yīng)用對用戶身份的需求。
(2)應(yīng)用服務(wù)器
根據(jù)要處理的業(yè)務(wù)類型的不同,分成兩類應(yīng)用服務(wù)器。A型應(yīng)用服務(wù)器,直接對應(yīng)用客戶端提供服務(wù),無需訪問外部應(yīng)用。B型應(yīng)用服務(wù)器,是云平臺(tái)和外部服務(wù)之間的橋梁,在外部服務(wù)和應(yīng)用客戶端之間進(jìn)行協(xié)議轉(zhuǎn)換。
A型和B型應(yīng)用服務(wù)器最重要的作用是:在應(yīng)用服務(wù)器側(cè)完成業(yè)務(wù)邏輯的處理,讓云手機(jī)只負(fù)責(zé)結(jié)果的展現(xiàn),從而簡化“端”的處理流程,體現(xiàn)“云”的作用。
(3)資源匯聚網(wǎng)關(guān)
應(yīng)用服務(wù)器在向云手機(jī)提供服務(wù)的過程中,可以通過資源匯聚網(wǎng)關(guān)調(diào)用電信網(wǎng)絡(luò)能力、電信IT能力和互聯(lián)網(wǎng)能力等。從而豐富應(yīng)用的類型,提升用戶的使用體驗(yàn)。電信網(wǎng)絡(luò)能力,如短信、彩信、WAP push、定位能力等;電信IT能力,如統(tǒng)一認(rèn)證能力等;互聯(lián)網(wǎng)能力,如Google地圖的API等。
當(dāng)一個(gè)現(xiàn)有應(yīng)用移植到云平臺(tái)時(shí),需要外部應(yīng)用對云平臺(tái)提供接口。通過該接口,外部應(yīng)用可以將自己的資源延伸到云平臺(tái)中,用戶將像通過互聯(lián)網(wǎng)一樣使用相應(yīng)的資源。如果某個(gè)外部應(yīng)用的資源只為一個(gè)特定的應(yīng)用開放,則該接口是外部應(yīng)用服務(wù)與B型應(yīng)用服務(wù)器的專用接口。如果某個(gè)外部應(yīng)用的資源可以向所有云平臺(tái)上的應(yīng)用開放,則外部應(yīng)用的資源就封裝成一種“互聯(lián)網(wǎng)能力”,該接口就是外部資源與資源匯聚網(wǎng)關(guān)的開放接口。例如,可以將社區(qū)應(yīng)用封裝成開放的“社區(qū)應(yīng)用能力”,云手機(jī)上的應(yīng)用調(diào)用該接口,就可以讓用戶通過云手機(jī),直接注冊為社區(qū)的用戶,與社區(qū)中原有的用戶成為好友,在社區(qū)中發(fā)布文章、上傳照片等。
(4)管理平臺(tái)
管理平臺(tái)實(shí)現(xiàn)“云+端”應(yīng)用的訂購、計(jì)費(fèi)、發(fā)布、升級管理,以及對使用“云+端”應(yīng)用的用戶的管理、記錄用戶使用日志,對可供調(diào)用的外部能力資源進(jìn)行管理,并且可以按用戶、按應(yīng)用、按使用的資源分別進(jìn)行統(tǒng)計(jì)分析。發(fā)布管理和資源管理是“云+端”架構(gòu)中相當(dāng)重要的模塊,可以保證基于“云+端”架構(gòu)的移動(dòng)互聯(lián)網(wǎng)應(yīng)用的安全性、可管可控性。發(fā)布管理包括應(yīng)用的審核、部署、測試、發(fā)布、升級、注銷等;資源管理包括互聯(lián)網(wǎng)資源的審核、發(fā)布、更新等。
(5)門戶
門戶分成運(yùn)營商門戶和開發(fā)者門戶。運(yùn)營商門戶是運(yùn)營商進(jìn)行應(yīng)用審核、資源審核和發(fā)布、云客戶端升級程序發(fā)布、統(tǒng)計(jì)用戶使用行為的門戶。開發(fā)者門戶為開發(fā)者提供應(yīng)用測試與發(fā)布的入口。
2.1.2 云手機(jī)
云手機(jī)是運(yùn)行了云客戶端的手機(jī)。云客戶端運(yùn)行在基礎(chǔ)軟件之上,各種云應(yīng)用則運(yùn)行在云客戶端之上,如圖2所示。
云客戶端主要包括以下功能模塊。
(1)硬件抽象層
硬件抽象層屏蔽手機(jī)底層復(fù)雜的業(yè)務(wù)處理邏輯,屏蔽不同手機(jī)平臺(tái)、不同手機(jī)品牌的硬件接口的差異性。第三方廠商可以方便地通過腳本語言引擎調(diào)用這些接口,達(dá)到快速開發(fā)、快速適配的目的。
(2)腳本語言引擎
腳本語言引擎是一個(gè)JavaScript的虛擬機(jī)。其功能為:對客戶端JavaScript腳本進(jìn)行解釋和執(zhí)行;進(jìn)行簡單的客戶端業(yè)務(wù)邏輯處理,如數(shù)學(xué)計(jì)算、游戲邏輯處理等。
(3)UI引擎
UI引擎根據(jù)界面描述語言進(jìn)行展現(xiàn)。主要功能有:將JavaScript指令翻譯成用戶可以看到的視覺效果;實(shí)現(xiàn)各種UI控件的排版、坐標(biāo)的設(shè)定;實(shí)現(xiàn)UI特效的優(yōu)化展現(xiàn),比如3D效果、透明效果、平移效果等。
(4)核心庫 API
核心庫API涵蓋了界面/交互、文件、通信、多媒體、系統(tǒng)和手機(jī)本地操作等各方面的功能。目前云客戶端可以提供的API分為:核心JavaScript對象、布局控件(容器)、基礎(chǔ)控件、聯(lián)網(wǎng)控件、其他控件5類。核心JavaScript對象定義了基本的數(shù)據(jù)類型,如 Array、Boolean、Number、String 等;基礎(chǔ)控件和布局控件都是用于客戶端界面展現(xiàn)的API;聯(lián)網(wǎng)控件提供了訪問網(wǎng)絡(luò)的API;其他控件則提供了一些基礎(chǔ)的 DOM 對象操作的 API,如 Script、Style、Windows等。
(5)在線升級
在線升級功能與云平臺(tái)配合,實(shí)現(xiàn)云客戶端自身和各種云應(yīng)用的自動(dòng)升級。
圖3描述了云手機(jī)訪問云平臺(tái)應(yīng)用的典型業(yè)務(wù)流程。在整個(gè)業(yè)務(wù)流程中,分成3個(gè)不同的階段,使用不同的協(xié)議:
·云客戶端與終端接入服務(wù)器之間,為空中傳輸部分,此部分使用二進(jìn)制格式,降低數(shù)據(jù)流量;
·終端接入服務(wù)器與應(yīng)用服務(wù)器之間,此部分使用HTTP協(xié)議作為承載,用XML格式描述數(shù)據(jù);
·應(yīng)用服務(wù)器與外部互聯(lián)網(wǎng)服務(wù)之間,此部分是由外部互聯(lián)網(wǎng)服務(wù)定義的專用接口,可以使用任何網(wǎng)絡(luò)協(xié)議,通常使用基于HTTP協(xié)議,承載XML格式數(shù)據(jù)或Web Service。
“云+端”架構(gòu)在終端側(cè)的技術(shù)實(shí)現(xiàn)上有多種方式,常見的有瀏覽器方式、Widget方式、統(tǒng)一客戶端方式。本文提出的“云+端”架構(gòu)采用統(tǒng)一客戶端方式,有如下4個(gè)技術(shù)優(yōu)勢。
(1)云客戶端是輕量級客戶端,其安裝包只有100多KB,對手機(jī)資源要求低
云客戶端對于手機(jī)的最低硬件配置要求為:300 MHz CPU,2 MB內(nèi)存,2 MB剩余存儲(chǔ)空間,240×320邏輯屏幕分辨率;對于手機(jī)的系統(tǒng)軟件幾乎沒有要求,在BREW軟件平臺(tái)上就可以運(yùn)行,也提供了針對Android操作系統(tǒng)的版本;要求網(wǎng)絡(luò)連接速度32 kbit/s以上,即在Ev-Do和cdma2000 1x網(wǎng)絡(luò)環(huán)境下都可以運(yùn)行。大多數(shù)的CDMA中低端手機(jī)都可以滿足上述要求。
(2)云客戶端方式與普通手機(jī)上網(wǎng)方式相比,占用網(wǎng)絡(luò)流量少
云客戶端與接入服務(wù)器之間的數(shù)據(jù)傳輸采用二進(jìn)制格式,且只傳輸所請求的數(shù)據(jù)內(nèi)容,不需要傳輸界面描述信息及排版樣式數(shù)據(jù),可以節(jié)省流量和減少對界面格式數(shù)據(jù)解析計(jì)算產(chǎn)生的運(yùn)算消耗。實(shí)驗(yàn)數(shù)據(jù)表明:獲取同樣內(nèi)容,云客戶端需要消耗的流量比WAP瀏覽器方式小,僅為后者的30%~40%。
云客戶端啟動(dòng)后,只在與平臺(tái)交互時(shí)才占用空口鏈路,整個(gè)運(yùn)行過程中,云客戶端和終端接入服務(wù)器之間沒有心跳操作,客戶端沒有額外占用無線網(wǎng)絡(luò)資源。
(3)云手機(jī)應(yīng)用采用JavaScript腳本語言開發(fā),具有跨平臺(tái)、普及率高、功能性強(qiáng)、支持異步方式等優(yōu)勢,便于開發(fā)者使用
JavaScript腳本語言本身是一種輕量級語言。從開發(fā)技術(shù)上說,云手機(jī)應(yīng)用的開發(fā)有如下特點(diǎn):網(wǎng)絡(luò)訪問對象模型非常簡單,便于進(jìn)行協(xié)議設(shè)計(jì)和代碼的編寫;提供豐富的界面控件,節(jié)約了大量控件設(shè)計(jì)和界面框架代碼編寫的工作量,縮短開發(fā)周期;網(wǎng)絡(luò)訪問采用異步模型,在網(wǎng)絡(luò)數(shù)據(jù)請求的過程中,用戶界面依然可以正常地展示和操作并得到及時(shí)的響應(yīng),因此可以獲得比較好的用戶體驗(yàn);布局方式和界面展示靈活,與WAP相比實(shí)現(xiàn)的界面更為美觀。
(4)與 WAP、Widget相比,云客戶端支持的應(yīng)用類型豐富
云客戶端具有硬件抽象層,可以與手機(jī)本地能力相結(jié)合,相當(dāng)于將手機(jī)本地的能力開放給開發(fā)者,因此可以支持WAP、Widget無法實(shí)現(xiàn)的應(yīng)用類型。目前已支持調(diào)用手機(jī)短信功能、語音輸入、讀取手機(jī)上存儲(chǔ)的文件等,今后還將支持定位、讀取通信錄等功能。
中國電信股份有限公司上海分公司開發(fā)的 “e云手機(jī)”及e云手機(jī)平臺(tái),是“云+端”架構(gòu)的實(shí)際應(yīng)用。
“e云手機(jī)”是一款BREW終端,預(yù)裝了云客戶端——云寶盒。進(jìn)入云寶盒界面,即可看到世博搜索、新浪愛問、e云存儲(chǔ)、動(dòng)漫世界、QQ社區(qū)、休閑游戲、天翼湘財(cái)7個(gè)應(yīng)用,后期又增加了天翼微博、天翼短信、189郵箱、天翼展廳、星空博客等9個(gè)應(yīng)用,涵蓋了搜索、社區(qū)、瀏覽、游戲、云存儲(chǔ)、微博、閱讀、短信等大部分移動(dòng)互聯(lián)網(wǎng)應(yīng)用種類,各級界面如圖4所示。這些應(yīng)用都運(yùn)行在云端,平臺(tái)自動(dòng)調(diào)配資源、配置服務(wù)、啟動(dòng)服務(wù)。終端側(cè)主要負(fù)責(zé)界面展現(xiàn)和用戶交互以及調(diào)用手機(jī)自身的能力(通話、短信、攝像頭、聲音播放、錄音等)。
通過“e云手機(jī)”案例,可以看到,“云+端”架構(gòu)對運(yùn)營商發(fā)展移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)有著重要意義。
(1)降低應(yīng)用對手機(jī)硬件能力的要求
對于CDMA手機(jī)而言,“云+端”架構(gòu)使移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)能覆蓋到市場中容量最大的中低端手機(jī),客戶通過中低端手機(jī)能夠享受到高端手機(jī)的服務(wù)。以 “語音搜索”為例,e云手機(jī)只要將語音錄制下來,編碼成聲音格式文件,傳到云平臺(tái),云平臺(tái)將聲音格式文件解碼后再進(jìn)行語音識(shí)別,匹配出搜索結(jié)果后傳回e云手機(jī),在e云手機(jī)上顯示結(jié)果。通過這種處理方式,e云手機(jī)無需具備語音識(shí)別功能,降低了對手機(jī)的要求。
(2)減少終端適配工作量
手機(jī)只要適配云客戶端,通過“云+端”方式提供的應(yīng)用無需再進(jìn)行適配,只要進(jìn)入云寶盒,就可獲得各種應(yīng)用。云寶盒實(shí)現(xiàn)了移動(dòng)互聯(lián)網(wǎng)應(yīng)用針對多種手機(jī)的一次開發(fā),廣泛適配,解決了終端種類多,應(yīng)用適配難度大的問題。由此,可大大加快終端應(yīng)用部署的周期,以e云手機(jī)為例,1個(gè)月內(nèi)就完成9個(gè)應(yīng)用的開發(fā)和測試工作。而且,云寶盒實(shí)現(xiàn)了對BREW的適配,在目前BREW應(yīng)用匱乏的情況下,對應(yīng)用推廣有著重要的促進(jìn)作用。例如,通過云寶盒,天翼微博成為BREW手機(jī)上第一個(gè)可大規(guī)模部署和使用的微博客戶端。
(3)為運(yùn)營商提供了應(yīng)用發(fā)布和推送的平臺(tái)
只要是在云平臺(tái)上部署的應(yīng)用,都會(huì)自動(dòng)呈現(xiàn)在進(jìn)入云寶盒后的大廳里,方便用戶使用。從應(yīng)用推廣角度來說,這一特點(diǎn)比“應(yīng)用商店”更為有利,因?yàn)閼?yīng)用商店只是陳列了商品,買不買由用戶決定,而云寶盒模式,用戶一旦安裝了“云寶盒”,就自動(dòng)獲得了云寶盒中的所有應(yīng)用,云端增加一個(gè)應(yīng)用,終端上也會(huì)相應(yīng)地增加一個(gè)圖標(biāo),無需用戶下載、安裝,應(yīng)用就直接推送給了用戶。
從兩方面完善云平臺(tái)的功能。
(1)加強(qiáng)管理功能
目前的云平臺(tái)重點(diǎn)實(shí)現(xiàn)終端接入、應(yīng)用轉(zhuǎn)換的功能,今后要強(qiáng)化應(yīng)用計(jì)費(fèi)、用戶管理、統(tǒng)計(jì)分析功能,并與ISMP、UDB建立接口,使得云手機(jī)用戶納入U(xiǎn)DB的統(tǒng)一管理,云手機(jī)上的應(yīng)用納入ISMP的統(tǒng)一管理。
(2)拓展云平臺(tái)對外接口
提煉出更多云平臺(tái)與能力開放層的接口,匯聚更多的電信能力,如位置服務(wù)能力、用戶終端狀態(tài)信息等,豐富“云+端”架構(gòu)提供的應(yīng)用類型。
前文已介紹了目前云客戶端可以提供的API。今后,需要進(jìn)一步優(yōu)化API效率,擴(kuò)展支持更多的媒體和交互類型、界面組件,以支持更為豐富的應(yīng)用,提高用戶體驗(yàn)。需要擴(kuò)展的控件有:豐富頁面表現(xiàn)能力的控件,實(shí)現(xiàn)3D效果、透明效果、動(dòng)畫效果等;類瀏覽器控件,對HTML頁面和WAP頁面進(jìn)行過濾和結(jié)構(gòu)化處理,提高內(nèi)容的處理和引入能力;調(diào)用手機(jī)GPS定位能力的控件;提供多媒體播放、流媒體播放能力的控件。
要吸引更多的“云+端”業(yè)務(wù),要從兩方面完善開發(fā)環(huán)境。
·在技術(shù)手段上:提供API(云端和終端)、SDK、可視化編程與測試環(huán)境、Sample程序。
·在業(yè)務(wù)模式上:建立開發(fā)者社區(qū),建立良性循環(huán)的利益分成機(jī)制,以吸引開發(fā)者,同時(shí),通過手機(jī)預(yù)裝的方式,擴(kuò)大云客戶端的覆蓋用戶范圍。
“云+端”架構(gòu)是移動(dòng)互聯(lián)網(wǎng)與云計(jì)算結(jié)合的產(chǎn)物。對于開發(fā)者,它提供了開放的電信服務(wù)能力、豐富的API、完整的SDK,為開發(fā)者屏蔽了終端的差異,減少終端適配量,便于應(yīng)用推廣;對于運(yùn)營商,它構(gòu)造了“能力聚合+應(yīng)用托管+業(yè)務(wù)運(yùn)營”的綜合平臺(tái),提升了運(yùn)營商在移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)鏈中的地位;對于用戶,它使得低端手機(jī)用戶也可以獲取豐富的移動(dòng)互聯(lián)網(wǎng)服務(wù),使低端手機(jī)通過“云”成為互聯(lián)網(wǎng)手機(jī)?!霸疲恕奔軜?gòu)將在實(shí)踐中不斷完善和豐富,為創(chuàng)造合作共贏的移動(dòng)互聯(lián)網(wǎng)良性生態(tài)環(huán)境而努力。
1 易觀國際.易觀智庫:2012年中國移動(dòng)互聯(lián)網(wǎng)用戶數(shù)將超傳統(tǒng)互聯(lián)網(wǎng).http://www.analysys.com.cn/cache/1194/96257.html,2011