移动互联网业务“云+端”架构的探索与实践

2011-06-27 03:00
电信科学 2011年1期
关键词:控件客户端架构

肖 晴

(中国电信股份有限公司上海分公司总工程师室 上海 200021)

1 移动互联网时代运营商面临的挑战与应对思路

1.1 移动互联网时代运营商面临的挑战

目前,移动互联网正处于快速发展的黄金阶段。经过了大型机、小型机、个人电脑、桌面互联网之后,人们正跑步进入移动互联网新时代。据统计[1],中国移动通信集团公司(以下简称中国移动)互联网市场2008年、2009年连续两年超过100%高速增长,截至2010年底,中国移动互联网市场用户规模达2.88亿,环比2009年增速达40.5%,预测2012年中国移动互联网用户数将超过互联网用户数。

与此同时,电信运营商则不得不面对“被管道化”的尴尬境地。统计数据显示[2]:中国移动通信集团广东有限公司(以下简称广东移动)2010年上半年40%以上的数据流量来自腾讯QQ业务,多地移动公司信道资源的最大份额消耗者也是QQ。随着社交网站、无线视频等移动互联网业务的普及,愈来愈多的内容提供商在成功吸引了大量用户的同时,正以低廉的成本不断消耗着运营商的无线频谱、信道、人力等资源。

1.2 云计算技术成为电信运营商发展移动互联网的必然选择

云计算的部署可以让企业巨大的后台计算与储存能力充分地发挥出来,与之对应的则是终端的性能瓶颈会逐渐消失,云计算将会帮助手机实现超越PC的运算能力,这对于CDMA手机尤为重要。目前,CDMA手机中仍有超过1/3的手机硬件性能较低,难以支持各种移动互联网业务,CDMA 3G手机中仍有约70%的手机使用BREW软件平台,而基于BREW的应用远远少于基于各种智能手机操作系统的应用,导致在CDMA手机上移动互联网应用推广困难。

另一方面,云计算技术实现应用托管,在云端汇聚电信能力和互联网能力,将其开放给开发者,可以改变运营商对移动互联网业务参与程度低的状况,通过平台运营,提升运营商在产业链中的地位。

因此,基于云计算技术提供移动互联网业务,是电信运营商在移动互联网时代提高竞争力,避免沦为单纯“管道”的重要手段。

1.3 移动互联网的云计算发展,需要关注“云+端”

那是不是说,云计算时代的手机,都是“瘦终端”呢?显然不是,因为手机的演进趋势绝不是仅成为一个缩小版的PC。手机有麦克风、扬声器、相机,甚至GPS芯片、重力感应装置(G-sensor),这些附属设备分开来看没有什么作用,但是如果在手机的后端平台应用了云计算,结合了3G带宽和合理的资费后,手机的麦克风就能成为用户的耳朵,手机的相机就能成为用户的眼睛,GPS芯片就能成为用户的向导……手机的移动性和便携性,使得手机与用户的日常生活结合更为紧密,手机在用户体验上远远超过了PC。充分利用手机的这些特性,移动互联网将会超越传统互联网。

移动互联网环境下的应用服务,云是服务的核心,端是服务的载体与呈现途径,同时也是用户参与业务互动的重要渠道,端对用户的服务体验、业务的推广都影响巨大。因此,发展移动互联网应用更需要关注“端”。

云计算与移动互联网的结合,是一种“云+端”架构,是云端与终端的协同,下文提出了一种基于统一客户端的“云+端”架构,并介绍了其技术特点、应用案例和业务优势。

2 移动互联网业务“云+端”架构

2.1 “云+端”总体架构

移动互联网“云+端”架构,由云平台、云手机以及能力开放层、外部应用服务、应用开发测试环境组成,云平台和云手机是核心,如图1所示。

2.1.1 云平台

云平台由云终端接入服务器、应用服务器、资源汇聚网关、管理平台、门户5部分构成。

(1)云终端接入服务器

负责云客户端的接入,并提供下述3个功能:空中网协议处理,完成空中网二进制协议与应用层XML协议之间的转换;下载服务,提供云客户端和云手机上应用客户端的更新;用户认证,根据手机号生成并维护用户身份信息,以支持第三方应用对用户身份的需求。

(2)应用服务器

根据要处理的业务类型的不同,分成两类应用服务器。A型应用服务器,直接对应用客户端提供服务,无需访问外部应用。B型应用服务器,是云平台和外部服务之间的桥梁,在外部服务和应用客户端之间进行协议转换。

A型和B型应用服务器最重要的作用是:在应用服务器侧完成业务逻辑的处理,让云手机只负责结果的展现,从而简化“端”的处理流程,体现“云”的作用。

(3)资源汇聚网关

应用服务器在向云手机提供服务的过程中,可以通过资源汇聚网关调用电信网络能力、电信IT能力和互联网能力等。从而丰富应用的类型,提升用户的使用体验。电信网络能力,如短信、彩信、WAP push、定位能力等;电信IT能力,如统一认证能力等;互联网能力,如Google地图的API等。

当一个现有应用移植到云平台时,需要外部应用对云平台提供接口。通过该接口,外部应用可以将自己的资源延伸到云平台中,用户将像通过互联网一样使用相应的资源。如果某个外部应用的资源只为一个特定的应用开放,则该接口是外部应用服务与B型应用服务器的专用接口。如果某个外部应用的资源可以向所有云平台上的应用开放,则外部应用的资源就封装成一种“互联网能力”,该接口就是外部资源与资源汇聚网关的开放接口。例如,可以将社区应用封装成开放的“社区应用能力”,云手机上的应用调用该接口,就可以让用户通过云手机,直接注册为社区的用户,与社区中原有的用户成为好友,在社区中发布文章、上传照片等。

(4)管理平台

管理平台实现“云+端”应用的订购、计费、发布、升级管理,以及对使用“云+端”应用的用户的管理、记录用户使用日志,对可供调用的外部能力资源进行管理,并且可以按用户、按应用、按使用的资源分别进行统计分析。发布管理和资源管理是“云+端”架构中相当重要的模块,可以保证基于“云+端”架构的移动互联网应用的安全性、可管可控性。发布管理包括应用的审核、部署、测试、发布、升级、注销等;资源管理包括互联网资源的审核、发布、更新等。

(5)门户

门户分成运营商门户和开发者门户。运营商门户是运营商进行应用审核、资源审核和发布、云客户端升级程序发布、统计用户使用行为的门户。开发者门户为开发者提供应用测试与发布的入口。

2.1.2 云手机

云手机是运行了云客户端的手机。云客户端运行在基础软件之上,各种云应用则运行在云客户端之上,如图2所示。

云客户端主要包括以下功能模块。

(1)硬件抽象层

硬件抽象层屏蔽手机底层复杂的业务处理逻辑,屏蔽不同手机平台、不同手机品牌的硬件接口的差异性。第三方厂商可以方便地通过脚本语言引擎调用这些接口,达到快速开发、快速适配的目的。

(2)脚本语言引擎

脚本语言引擎是一个JavaScript的虚拟机。其功能为:对客户端JavaScript脚本进行解释和执行;进行简单的客户端业务逻辑处理,如数学计算、游戏逻辑处理等。

(3)UI引擎

UI引擎根据界面描述语言进行展现。主要功能有:将JavaScript指令翻译成用户可以看到的视觉效果;实现各种UI控件的排版、坐标的设定;实现UI特效的优化展现,比如3D效果、透明效果、平移效果等。

(4)核心库 API

核心库API涵盖了界面/交互、文件、通信、多媒体、系统和手机本地操作等各方面的功能。目前云客户端可以提供的API分为:核心JavaScript对象、布局控件(容器)、基础控件、联网控件、其他控件5类。核心JavaScript对象定义了基本的数据类型,如 Array、Boolean、Number、String 等;基础控件和布局控件都是用于客户端界面展现的API;联网控件提供了访问网络的API;其他控件则提供了一些基础的 DOM 对象操作的 API,如 Script、Style、Windows等。

(5)在线升级

在线升级功能与云平台配合,实现云客户端自身和各种云应用的自动升级。

2.2 云手机访问云平台的典型业务流程

图3描述了云手机访问云平台应用的典型业务流程。在整个业务流程中,分成3个不同的阶段,使用不同的协议:

·云客户端与终端接入服务器之间,为空中传输部分,此部分使用二进制格式,降低数据流量;

·终端接入服务器与应用服务器之间,此部分使用HTTP协议作为承载,用XML格式描述数据;

·应用服务器与外部互联网服务之间,此部分是由外部互联网服务定义的专用接口,可以使用任何网络协议,通常使用基于HTTP协议,承载XML格式数据或Web Service。

2.3 基于统一客户端的“云+端”架构的技术优势

“云+端”架构在终端侧的技术实现上有多种方式,常见的有浏览器方式、Widget方式、统一客户端方式。本文提出的“云+端”架构采用统一客户端方式,有如下4个技术优势。

(1)云客户端是轻量级客户端,其安装包只有100多KB,对手机资源要求低

云客户端对于手机的最低硬件配置要求为:300 MHz CPU,2 MB内存,2 MB剩余存储空间,240×320逻辑屏幕分辨率;对于手机的系统软件几乎没有要求,在BREW软件平台上就可以运行,也提供了针对Android操作系统的版本;要求网络连接速度32 kbit/s以上,即在Ev-Do和cdma2000 1x网络环境下都可以运行。大多数的CDMA中低端手机都可以满足上述要求。

(2)云客户端方式与普通手机上网方式相比,占用网络流量少

云客户端与接入服务器之间的数据传输采用二进制格式,且只传输所请求的数据内容,不需要传输界面描述信息及排版样式数据,可以节省流量和减少对界面格式数据解析计算产生的运算消耗。实验数据表明:获取同样内容,云客户端需要消耗的流量比WAP浏览器方式小,仅为后者的30%~40%。

云客户端启动后,只在与平台交互时才占用空口链路,整个运行过程中,云客户端和终端接入服务器之间没有心跳操作,客户端没有额外占用无线网络资源。

(3)云手机应用采用JavaScript脚本语言开发,具有跨平台、普及率高、功能性强、支持异步方式等优势,便于开发者使用

JavaScript脚本语言本身是一种轻量级语言。从开发技术上说,云手机应用的开发有如下特点:网络访问对象模型非常简单,便于进行协议设计和代码的编写;提供丰富的界面控件,节约了大量控件设计和界面框架代码编写的工作量,缩短开发周期;网络访问采用异步模型,在网络数据请求的过程中,用户界面依然可以正常地展示和操作并得到及时的响应,因此可以获得比较好的用户体验;布局方式和界面展示灵活,与WAP相比实现的界面更为美观。

(4)与 WAP、Widget相比,云客户端支持的应用类型丰富

云客户端具有硬件抽象层,可以与手机本地能力相结合,相当于将手机本地的能力开放给开发者,因此可以支持WAP、Widget无法实现的应用类型。目前已支持调用手机短信功能、语音输入、读取手机上存储的文件等,今后还将支持定位、读取通信录等功能。

3 “云+端”架构应用案例

中国电信股份有限公司上海分公司开发的 “e云手机”及e云手机平台,是“云+端”架构的实际应用。

“e云手机”是一款BREW终端,预装了云客户端——云宝盒。进入云宝盒界面,即可看到世博搜索、新浪爱问、e云存储、动漫世界、QQ社区、休闲游戏、天翼湘财7个应用,后期又增加了天翼微博、天翼短信、189邮箱、天翼展厅、星空博客等9个应用,涵盖了搜索、社区、浏览、游戏、云存储、微博、阅读、短信等大部分移动互联网应用种类,各级界面如图4所示。这些应用都运行在云端,平台自动调配资源、配置服务、启动服务。终端侧主要负责界面展现和用户交互以及调用手机自身的能力(通话、短信、摄像头、声音播放、录音等)。

通过“e云手机”案例,可以看到,“云+端”架构对运营商发展移动互联网业务有着重要意义。

(1)降低应用对手机硬件能力的要求

对于CDMA手机而言,“云+端”架构使移动互联网业务能覆盖到市场中容量最大的中低端手机,客户通过中低端手机能够享受到高端手机的服务。以 “语音搜索”为例,e云手机只要将语音录制下来,编码成声音格式文件,传到云平台,云平台将声音格式文件解码后再进行语音识别,匹配出搜索结果后传回e云手机,在e云手机上显示结果。通过这种处理方式,e云手机无需具备语音识别功能,降低了对手机的要求。

(2)减少终端适配工作量

手机只要适配云客户端,通过“云+端”方式提供的应用无需再进行适配,只要进入云宝盒,就可获得各种应用。云宝盒实现了移动互联网应用针对多种手机的一次开发,广泛适配,解决了终端种类多,应用适配难度大的问题。由此,可大大加快终端应用部署的周期,以e云手机为例,1个月内就完成9个应用的开发和测试工作。而且,云宝盒实现了对BREW的适配,在目前BREW应用匮乏的情况下,对应用推广有着重要的促进作用。例如,通过云宝盒,天翼微博成为BREW手机上第一个可大规模部署和使用的微博客户端。

(3)为运营商提供了应用发布和推送的平台

只要是在云平台上部署的应用,都会自动呈现在进入云宝盒后的大厅里,方便用户使用。从应用推广角度来说,这一特点比“应用商店”更为有利,因为应用商店只是陈列了商品,买不买由用户决定,而云宝盒模式,用户一旦安装了“云宝盒”,就自动获得了云宝盒中的所有应用,云端增加一个应用,终端上也会相应地增加一个图标,无需用户下载、安装,应用就直接推送给了用户。

4 “云+端”架构后续发展建议

4.1 完善云平台功能

从两方面完善云平台的功能。

(1)加强管理功能

目前的云平台重点实现终端接入、应用转换的功能,今后要强化应用计费、用户管理、统计分析功能,并与ISMP、UDB建立接口,使得云手机用户纳入UDB的统一管理,云手机上的应用纳入ISMP的统一管理。

(2)拓展云平台对外接口

提炼出更多云平台与能力开放层的接口,汇聚更多的电信能力,如位置服务能力、用户终端状态信息等,丰富“云+端”架构提供的应用类型。

4.2 扩展云客户端的API

前文已介绍了目前云客户端可以提供的API。今后,需要进一步优化API效率,扩展支持更多的媒体和交互类型、界面组件,以支持更为丰富的应用,提高用户体验。需要扩展的控件有:丰富页面表现能力的控件,实现3D效果、透明效果、动画效果等;类浏览器控件,对HTML页面和WAP页面进行过滤和结构化处理,提高内容的处理和引入能力;调用手机GPS定位能力的控件;提供多媒体播放、流媒体播放能力的控件。

4.3 完善开发环境,吸引更多运行在“云+端”架构上的业务

要吸引更多的“云+端”业务,要从两方面完善开发环境。

·在技术手段上:提供API(云端和终端)、SDK、可视化编程与测试环境、Sample程序。

·在业务模式上:建立开发者社区,建立良性循环的利益分成机制,以吸引开发者,同时,通过手机预装的方式,扩大云客户端的覆盖用户范围。

5 结束语

“云+端”架构是移动互联网与云计算结合的产物。对于开发者,它提供了开放的电信服务能力、丰富的API、完整的SDK,为开发者屏蔽了终端的差异,减少终端适配量,便于应用推广;对于运营商,它构造了“能力聚合+应用托管+业务运营”的综合平台,提升了运营商在移动互联网产业链中的地位;对于用户,它使得低端手机用户也可以获取丰富的移动互联网服务,使低端手机通过“云”成为互联网手机。“云+端”架构将在实践中不断完善和丰富,为创造合作共赢的移动互联网良性生态环境而努力。

1 易观国际.易观智库:2012年中国移动互联网用户数将超传统互联网.http://www.analysys.com.cn/cache/1194/96257.html,2011

猜你喜欢
控件客户端架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
如何看待传统媒体新闻客户端的“断舍离”?
关于.net控件数组的探讨
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
WebGIS架构下的地理信息系统构建研究
一种基于FPGA+ARM架构的μPMU实现
ASP.NET服务器端验证控件的使用
客户端空间数据缓存策略