手机云端管家平台的设计与实现

2011-09-06 07:34张长学邢燕霞
移动通信 2011年9期
关键词:云端备份客户端

张长学 邢燕霞

摘要与PC相比,手机在CPU主频、存储空间、待机时间、操作便利性方面存在明显劣势,用户更需要将大量终端不便处理的数据转移到云端。而3G网络和智能手机的普及,为移动云计算带来了新的发展契机。文章从运营商的角度,提出了一种手机云端管家平台的构想和具体实现方案。方案聚焦手机的基础、常用功能,着眼于为手机提供文档、软件、信息、通讯等的云端管理功能,为运营商的云计算业务发展和部署提出了一种具体的应用场景。

关键词云计算手机管家Resin Triad推送远程备份Android Launcher

1引言

传统手机的功能主要体现为语音电话、短信等基本通讯功能。在2G时代,手机的数据功能多集中在WAP浏览、资源下载等方面。随着3G业务的普及和智能手机的广泛应用,涌现出数以十万计的海量移动互联网应用。这些应用借助丰富的网络资源,极大地扩展了手机呈现的内容;但同时,它们多侧重于获取特定类别的信息,如邮件、游戏、多媒体信息等。对于手机的基础资料管理,如电话簿、短信、通话记录等的网络备份,也有一些应用提供了部分解决方案。但是,受制于技术方案的局限性和用户使用习惯等因素,此类应用的深度和广度都有所限制。

一些手机厂商也先后推出了具有云计算技术特征的定制化服务,典型的如Moto Blur和HTC Sense界面,都提供了服务器端备份用户资料及用户远程管理手机数据的功能,受到了用户的欢迎。但是,其界面只适用于本品牌手机,功能上仍有不足。更重要的是,如果没有运营商在技术和运营方面的支持,一些有吸引力的功能就无法实现,实际使用效果也会大打折扣。

近年来,云计算概念的出现,使强大的计算能力通过互联网自由流通成为可能,并为各种应用提供了一种崭新的应用模式,拓展了服务的性能和应用范围。借助云计算的理念和技术,并从网络运营商的角度出发,本文提出了手机云端管家的构想,以期为在网移动终端提供全面的云端备份、远程管理服务,并详细阐述了技术方案和关键技术点。

本系统的核心理念是:基于强大的后台计算能力和云计算技术,为手机用户提供全面的数据存储和备份、软件管理等服务;同时,汇聚来自运营商、第三方的信息和能力,为用户提供远程、多界面访问手机的途径,并实现资料管理、通信等基础功能。

2功能设计

随着iPhone、Android、WindowsPhone 7等智能手机操作系统的出现,手机具备了强大的扩展能力,可以安装大量第三方应用,手机实际上已成为一个综合的网络信息终端。大量的互联网应用、运营商业务都相继推出针对各种智能平台版本的客户端软件。但是,在一些与用户实际使用体验密切相关、手机最常用、最基本的功能方面,仍然存在一些缺陷。例如:软件的分类显示、升级提示、恶意警示等;用户对手机资料备份、一键转机等功能需求强烈;某些场合下,用户需要在其他屏幕和界面上对手机进行远程操作;远程定位、防盗的途径。

这些问题,基本上都不能通过手机本地软件进行解决,而需要后台服务器的支持,并配合客户端软件的信息呈现,才能加以解决。本文所述手机云端管家平台,就是期望通过将手机上的资料、信息等同步到云端平台,实现“云端手机”的概念;同时,借助平台的信息聚合和推送能力,为手机提供全方位的信息和管理服务。

本系统的核心是用于存储用户数据并整合互联网数据和运营商业务能力的云端平台。在手机上,将平台信息展示界面及后台同步功能与手机桌面程序整合。作为远程管理的途径,系统同样应有支持通过Web页面访问云平台,并间接管理手机的能力。

基于上述分析,确定本系统架构如图1所示。

针对手机的常用需求,云管家平台一方面汇聚电信网厅、软件商店、地图网站、资讯网站等合作方提供的信息,通过用户页面和客户端软件两种界面提供给用户;另一方面,通过收集手机客户端、用户网页上传的用户信息,为用户提供账户、通信记录、号簿、文档、软件等方面的备份及管理服务。用户可通过客户端和门户网站两种方式访问自己手机上的资源,管理电话簿、通话记录、短信、文档等资料。具体功能包括:

◆账户管理:短信数量、通话时长、上网流量、账户余额等信息的显示;

◆通信助理:短信内容、通话记录的备份及网站访问;

◆文档管家:号簿、文档等的备份、同步;

◆软件管家:软件分类,安全、升级提醒,推荐软件;

◆Web远程管理:对手机远程定位、锁定、管理数据;

◆信息服务:天气、快讯、财经、电信业务信息推送;

◆用户行为分析及信息精准推送:根据特定的维度,对用户使用习惯进行感知、分析,并有针对性地提供个性化、定制化服务。

3系统方案设计

本节将简要介绍系统所采用的主要技术方案和路线。

3.1基于Resin 4.0应用服务器的云端管家平台

为支持海量用户的数据存储、资料管理、精准分析及推送需求,需要系统提供强大的后台计算和弹性部署能力。经综合比较,选择Resin 4.0应用服务器作为平台引擎。Resin是一个性能优良、使用广泛的ApplicationServer,是一个对servlet和JSP都提供了良好支持的服务器引擎。从4.0版本开始,Resin提供了在云计算环境下部署和扩展的能力(如图2)。

Resin 4.0架构的核心部件是由3台服务器构成的Triad,负责持久化数据的存储及系统中动态服务器的实时更新记录。系统中动态服务器(DS)负责为应用提供后台服务。在这种架构中,可随时根据需要增加或移除一个DS,从而实现高度弹性部署。新DS上线时即向Triad声明并注册,随即导入所需要的应用数据。Triad上的应用及数据有更新时,也将通知DS,使其保持最新状态。Triad充当DS的持久化数据存储器,DS通过Java EE会话过程或Java Cache API访问共享数据。这种Triad+DS的架构简化了应用的部署和管理。系统维护将主要集中在Triad服务器上,DS的增减对系统总体性能影响不大。在负载均衡方面,Resin 4.0的软件负载均衡机制可随时将用户请求分发到合适的DS。根据设置的不同,均衡器可采用“各服务器负载尽量平均”或“用到的服务器最少”的不同策略。新的访问请求一旦分发到一个服务器,则来自同一客户端的后续请求将继续分发到同一服务器。

此外,为满足部署规模的增加,通过将同一集群分割为不同节点(Pods),Resin 4.0还支持将同一集群远程、异质网络的部署(如图3)。

在这种情况下,系统需指定某一节点为主节点,负责节点间数据和资源的调度。每个节点都有一个Triad,负责管理本地Object Cache、分发会话、

存储数据等。DS仍然只需与本地Triad交互,而所有节点可看作为同一应用提供服务的功能单元。数据和应用则可在全部节点共享。这样,就构成了一个真正的分布式、弹性部署的云平台架构。

结合本项目实际需求,需要支持Web接入服务器。因此平台及Web服务侧总体架构如图4所示。

实验证明,本方案架构具有较高的可靠性、扩展性和综合性能。

3.2基于Android平台的客户端软件

Android平台问世以来,因其友好的UI界面、强大的功能,得到了迅速发展和普及;同时,其开源、开放特性以及开发工具便利性也使其受到开发者的青睐。本系统以Android平台为例,实现云端管家客户端的开发。

强大的云端功能,需要通过运行在手机上的客户端软件来展现。手机管家的功能,要求客户端始终运行,才能实时监测到用户通信记录的改变、文档的增删、软件的增删等变化。同时,服务器端发起的同步和推送,也要求客户端始终运行,才能最大限度地发挥管家软件的功能。

经分析,我们采用Android桌面程序(Launcher)充当云端管家的客户端程序。这种方案的优点是:程序可始终运行,能最大程度地检测手机上的事件;同时,Launcher程序有多个屏幕的界面,便于定制信息窗口等UI界面,使用户能随时查看云端平台的更新动态。

通过监听手机启动、接打电话、收发电信等事件,并周期性查询用户文档、检测联系人列表等方式,Launcher程序可随时了解到手机上的更新情况,并在与服务器同步时根据用户的设定上传和备份资料。

在软件管理方面,借助云端的信息整合、推送功能,Launcher可提供软件分类、升级提示、热门推荐、远程安装及恶意软件警示等功能。以软件分类为例,可以依据云端提供的分类信息,将用户手机上安装的大量软件,以功能等为维度,分类显示以方便查找和定位。其实现过程为:平台侧通过第三方软件商店收集所有Android平台软件的名称、package名、类别、作者、截图、详细描述、版本信息等;Launcher启动时上传本机已安装的程序列表,向平台请求所有这些程序的类别属性,并根据属性将其展现在相应的种类中。

3.3实时显示手机界面的Web网页

Web网页为用户提供远程访问、管理手机的途径。网页被设计为可实时查看并操控手机的实时界面。用户通过账户、密码方式登录Web门户后,云端平台通过推送方式唤醒手机客户端。客户端截取手机当前屏幕,经压缩、加密后发送到网站,网页随即原样显示手机屏幕画面。用户可用鼠标、键盘操作网页上呈现的手机界面,所有点击、拖拽、文字输入动作等都将被获取并发送到手机端。手机根据点击的位置等,在本机执行相应操作,如同用户直接操作手机一样。手机完成操作后,还将周期性抓取屏幕并上传,并在网页上刷新显示。这样,用户就可以随时通过Web方式访问到自己的手机并进行操作。

在手机遗忘、丢失或者用户希望借助PC操作手机的场合,这种方式尤其有用。另外,在手机丢失、被盗时,用户还可通过网页定位自己的手机,并选择远程锁定、销毁、备份手机上的资料等操作。

借助集成运营商的短信网关、语音电话等能力开放API,用户可在网页上直接进行打电话、发短信等操作。

Web门户与客户端间典型的交互流程如图5所示。

3.4通信协议

在本系统中,用户随时可能通过手机客户端、PC客户端或网页更新数据,这些更新需要及时同步到云端管家平台,并由平台进行统一管理。平台获取第三方资讯或用户通过各种途径更新数据后,也需要将其及时推送到客户端。其中的重点,是手机客户端与平台之间的交互过程。

手机客户端与服务平台之间采用HTTPS协议作为传输协议进行报文的传输。客户端以HTTPS-POST的方式上送请求,报文结构采用XML文本的方式传输命令和数据,并嵌入在HTTP请求或者相应的数据体内。服务平台按照请求报文中的内容做出响应的处理后,会将返回的结果同样以XML文本的形式传输结果数据。报文结构如图6所示:

一次典型的客户端主动连接平台的通信流程如图7所示。

为及时获取更新信息,客户端需要频繁连接云端平台,这对手机的上网流量、电量消耗都比较大。对于某些类型的终端,本系统支持通过短信实时推送机制。具体方法是:当云端平台需要连接某一用户的客户端时,即通过运营商的短信网关,向该用户所用的手机发送一条特殊格式的短信(账号与手机号码的对应关系由运营商的推送平台维护);该短信到达手机时,在后台通知客户端软件,执行特定操作,如连接云端平台或更新UI显示。通过这种方式,可保证用户手机、网页、平台上的信息始终同步。

4效果演示

通过将手机上的资料备份到云端。用户可以随时随地通过各种类型的终端访问到自己的资料,并可远程操控自己的手机;另一方面,通过汇聚大量与手机基础、常用功能相关的信息,云端平台可为手机提供多种有价值的服务。

在软件管理方面,在Android桌面原有软件列表界面上可呈现出新的元素。图8分别显示了分类、升级提示、恶意软件警示等效果。

借助云端推送,手机可在主屏幕醒目位置随时了解实用信息,尤其是与运营商相关的信息。如天气、新闻、手机资费信息、新业务提醒等(如图9)。

在资料备份方面,用户可随时进行“备份与恢复”,将平台侧和本地数据进行同步。根据用户设定,同步可涵盖文档、通话记录、短信、号码簿、软件等内容(如图10)。

用户Web门户设计见图11。用户可在网页上直观地查看、操控自己的手机实时界面,并管理手机上的多种资料。同时,可直接点击按钮,通过云端平台集成的运营商通信能力接口,实现电话、短信等功能。

5结束语

本文提出的手机云端管家系统,基于Resin 4.0应用服务器引擎搭建核心服务平台,具有良好的广域分布、弹性部署性能。配合手机客户端、Web页面等多种访问方式,为手机用户提供了界面友好、功能全面的云端手机管理服务。在功能上较为新颖、人性化,并具有较好的扩展能力,技术上有一定的创新性。

本系统具有一定的云计算技术特点。但值得指出的是,云计算本身是一个内涵广泛、且不断演化的概念,包含多种专业的技术领域。本系统在一定程度上借鉴了云计算的思想和技术,本文只是简要介绍了系统实现的部分功能和技术方案。相信随着智能手机和通信网络的快速发展,云计算在移动设备中会有更广阔的应用前景。

猜你喜欢
云端备份客户端
云端之城
创建vSphere 备份任务
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
美人如画隔云端
行走在云端
云端创意
旧瓶装新酒天宫二号从备份变实验室
出版原图数据库迁移与备份恢复