移动位置服务中网络地图服务迁移研究*

2012-10-08 01:58蔡志明王钦敏
电信科学 2012年4期
关键词:位置服务客户端终端

蔡志明,胡 驰,王钦敏

(1.福建工程学院电子信息与电气工程系 福州 350108;2.福建工程学院福建省汽车电子与电驱动技术重点实验室 福州350108;3.福州大学福建省空间信息工程研究中心 福州350002)

1 引言

随着无线通信技术的快速发展,手机、PDA和上网笔记本等移动终端的使用者数量已经远远超过使用PC机的用户数。同时,随着移动终端内置的GPS定位和移动服务提供商的基站定位技术的推广,Wi-Fi、GPRS、3G等无线网络的广泛覆盖,移动位置服务(location based service,LBS)的应用变得越来越广泛。移动位置服务是指移动终端通过内置的定位模块、基站定位或者人工输入与位置相关的信息(如地址、邮编)等多种途径获取位置信息,并在地理信息服务平台的支持下,为用户提供与位置相关的服务。移动位置服务呈现给用户的表达形式主要有文字、图片、地图等。其中,电子地图因其直观、可叠加各种丰富的时空信息等特性,在移动位置服务中应用最为普遍。

如何为用户提供良好的地图服务,现有的研究做了大量卓有成效的工作。参考文献[1]对采用SVG(一种通用的互联网矢量图形语言)描述与表达空间信息的方法进行了系统的研究,在移动地图服务方面,借助SVG浏览器实现SVG矢量图形的可视化。参考文献[2]提出的基于J2EE平台的位置服务系统,利用Mobile SVG实现移动终端地图数据的可视化。参考文献[3]采用kXML对SVG地图文件进行解析,并用Java编程实现矢量地图在移动终端的显示。参考文献[4]利用现有的Web GIS软件平台和空间数据引擎,构建了一个浏览器/服务器模式的遥感地图影像的网络发布系统,实现了地图的在线浏览、查询、编辑等。参考文献[5]结合目前地图服务提供商,如Google Map、微软的Virtual Earth以及灵图(提供中国地图服务)等提供的公用地图API,进行业务逻辑封装,以获取网络电子地图。参考文献[6]提出一种网络与自主导航相结合的方案,其思想是先在移动终端预先存储地图数据,以后再实时下载增量更新。参考文献[7]提出一种遵循OGC的WMS(Web map service,Web地图服务)和 W FS(Web feature service,Web要素服务)标准的的LBS应用架构,该架构可以满足各种中档移动终端通过移动互联网访问网络地图的需求。在学术界研究地图服务这一复杂而又广泛的问题时,工程界却把复杂的问题简单化,寻找到了一种较为有效并广泛使用的方法。Google最先采用地图瓦片技术,并对外提供公用API,获得了巨大成功。此后,其他的一些地图服务商也采用类似的技术使得网络地图服务变得十分流行。为此,OGC也在2010年推出网络地图瓦片服务实现标准[8]。

2 地图服务模式选择

从现有的研究和应用可以看出,电子地图服务形式主要有客户端/服务器(client/server,C/S)模式和浏览器/服务器(browser/server,B/S)模式两种。在C/S模式下,客户端应用一般用J2ME、eVC、.net等编程环境进行开发,适用于具有Java虚拟机、Windows Mobile操作系统的移动终端。移动终端可以从服务器下载电子地图到本地进行调用,得到较高的响应速度;存在的缺陷是需要为各种异构的移动终端量身定制不同的客户端应用程序,用户在移动漫游时也可能需要经常更新下载电子地图。在B/S模式下,移动终端不需要安装附加的插件,通过Web浏览器便可实时调用服务器上的电子地图。谷歌、百度的网络电子地图服务便属于这种模式,这也是国际开放地理信息联盟OGC提倡的地图服务模式。存在的缺陷是由于不是本地调用,响应速度较慢。

在早期的研究中,除了移动终端的存储容量和内存均非常小外,无线网络数据传输的带宽成为移动电子地图服务的主要障碍。为了减小数据传输量,大量的研究放在电子地图的存储结构和压缩算法上。由于涉及地图数据的编码、解码、解析、格式转换、图形渲染等,而这些是普通Web浏览器无法实现的,因此C/S模式自然成为首选模式。但对于每一种具体的应用,都要求移动客户端安装一个相应的应用程序并不实际。例如,已有的一些智能手机上捆绑安装了一些与地图服务相关的应用,如交通、旅游、气象服务等,而更多的服务仍需要移动用户自己下载安装。随着各种富客户端设备,如MID、iPhone等带有功能强大的Web浏览器的移动终端设备的推出,特别是3G/4G无线通信技术的应用和逐步推广,通信带宽将不再是LBS的主要瓶颈。考虑到各种移动终端的异构性(操作系统、硬件配置等不同)和用户使用的方便性,用户通过Web浏览器访问各种地图服务(即B/S模式)是较为理想的选择,具有普适性。

在B/S模式下,移动客户端对服务器的依赖很大。用户在漫游的情况下,网络连接,特别是远程服务器的连接经常不可靠,同时服务器的负载也在动态变化。因此如何提高网络地图服务的QoS(涉及吞吐量、时延、可用性、可靠性等)成了研究的热点[9]。现有可用的解决方法有:在服务器端生成地图瓦片图像,并建立不同比例尺度的瓦片图像的索引来满足客户端快速调用的需求[10];在服务器端采用空间数据库连接池来应对大规模用户的并发访问[11];采用多级地图瓦片缓存技术[9]等。同时,对于移动位置服务来说,如何设计一种移动网络地图服务架构,使得地图服务应用与具体的地图数据提供者、移动终端等无关,也是值得关注的问题。本文提出一种网络地图服务迁移的架构——MobileWMS,实现了地图服务、地图服务应用和地图数据等的分离与迁移。

3 网络地图服务迁移

3.1 术语说明

(1)WMS 和 WFS[8]

WMS和WFS是OGC制定的网络地图服务的两个重要标准。WMS提供客户端向一个或者多个分布式地理空间数据库服务器请求地图服务的接口,服务器端根据服务请求定义的地理图层、查询范围等读取空间数据,并以地图图片的形式发送给客户端,同时允许客户端进行一些基本的查询。由于地图矢量数据本身不包含数据如何显示的信息,OGC引入了SLD(styled layer descriptor)。SLD是一种XML格式的文档,用来描述各种地理实体如何显示。用户可以通过自定义SLD实现地图不同样式的显示;和WMS返回地图图片不同,WFS返回给客户的是可编辑和可进行空间分析的地理要素。已有部分开源软件实现了WMS、WFS服务标准。例如,GeoServer实现了符合WMS、WFS标准的空间数据发布、编辑和共享架构,并通过集成OpenLayers客户端实现地图图片、地理要素信息的叠加与浏览。下文以WMS直接表示实现了WMS标准的地图服务器。

(2)网络地图服务应用

利用WMS提供基础地图服务(按区域划分,包括可选的行政区划、道路、河流、绿地、分类建筑用地等多个图层),并借助于WFS,在基础地图上叠加地理要素信息,形成各种行业的专题地图的应用服务。

(3)URI

统一资源标识符(uniform resource identifier,URI)用于对网络上的各种资源(包括网页、各种格式的文档、程序、服务等)进行定位,其内容主要包括协议、该资源的主机IP地址(包括端口号)以及主机资源的具体地址(如目录和文件名等)3个部分。其中,相对URI用于指向同一机器上的资源。

(4)Web 服务容器

驻留并运行在各种私有或者公有的物理服务器上,为各种Web项目提供运行环境的软件平台,常见的有由Apache软件基金会资助研发的Tomcat和微软公司的IIS。

(5)Web 应用

指驻留并运行在Web服务容器中的各种Web项目。每个Web服务容器中允许同时运行多个Web项目。

3.2 基本原理

在互联网通信中,随着传输距离的增大,物理链路的传输时延、不同网络之间的切换以及路由选择开销也逐渐增加,同时传输中的不确定性因素,如网络拥塞、中断的概率也随之增加。在应用中,为了克服这些缺点,现在一般采用镜像服务器的分布式服务方式,让用户访问就近的服务器。网络地图服务作为不断增长的在线服务,经常被大量的全球用户循环访问,其数据流量主要是地图图片数据。以瓦片大小为512 dpi×512 dpi的png格式的地图图片为例,其大小大于10 KB。客户端显示时,需要多个地图瓦片进行拼接,同时用户在漫游、缩放等操作中需要动态下载地图瓦片,为此WMS服务器的负载很重。因此在移动网络地图服务应用中,如果将WMS部分分离出来,对WMS进行复制并迁移(迁移到性能较好、网络带宽较大的服务器上或者用户所在地,或者随着移动用户的漫游一起动态迁移),便可以获得较好的服务带宽,降低网络时延和网络拥塞概率等,同时分摊WMS主服务器的负载,从而提高服务质量。以网络时延为例,在福州某高校对全国各地的102所高校进行Ping测试网络时延,剔除少数不连通以及与平均时延差异较大的异常值,得到该校与各个高校的直线距离和平均网络时延的关系,如图 1所示。可以看出,平均网络时延随着距离的增加而增加,这也部分说明了服务靠近用户可以提高服务的质量。

3.3 服务迁移架构与功能实现

在MobileWMS网络地图服务迁移架构中,地图数据(map data)、地图显示样式 SLD、地图服务器(WMS)和地图服务应用(WMS application)是彼此分离且相互独立的,系统开发人员在发布地图服务应用后,可以只对其中一个或者数个进行部分或者全部更新、迁移等,如图 2所示。

假设广域网上不同地域的多个服务器通过Peer-to-Peer(P2P)对等方式互连,每个服务器上安装并运行Tomcat服务容器,相互之间可以查询对方的负载以及运行的服务。在MobileWMS服务迁移架构中,采用Java语言编程,利用Socket通信协议,实现Service Migration(服务迁移)服务,该服务部署在各个对等服务器的Tomcat容器中,并提供API调用接口,用于实现迁移数据、功能模块的压缩、异地传输、解压并重新部署等。

MobileWMS的各个模块功能如下。

·地图数据集:地图数据可以以矢量文件的形式存储,如shapefile、GML文件等;也可以存储在地图数据库服务器中。相对来说,以文件形式存储的地图数据更便于迁移。本文的地图数据采用shapefile格式。

·地图服务器:为了使WMS能在不同的Tomcat容器中进行迁移,要求WMS服务器必须是免安装的。现有 可 用 的 开 源 的 WMS 有 GeoServer[12]、MapServer[13]、Mapyrus[14]等。其中,Mapyrus的大小只有 2 MB,适于轻量型的快速迁移。

·地图服务应用:如前所述,在网络地图服务中,地图数据的传输占据了大部分的流量。因而,将地图服务应用项目分割成与地图有关和与地图无关的两部分。与地图无关的部分主要是一些简单文字、图片类的静态页面;地图相关的部分包含地图显示客户端OpenLayers、地理要素传输模块和远程控制触发模块。

·列表文件:以XML格式存储。URI List存放WMS服务器、地图数据以及SLD文档的相对URI;MobileWMS Delegate List则存放当前MobileWMS经过复制并迁移到异地服务器作为代理的迁移体(MobileWMS Delegate)的信息以及对等服务器的运行状态等。

如图 2所示,以移动终端通过无线局域网(WLAN)或者3G移动通信网络连接到互联网,访问远程服务器A(称为MobileWMS的家乡服务器)上的地图服务应用为例,MobileWMS的处理流程如下。

(1)MobileWMS接收远程移动终端的请求,根据其IP地址确定用户所在的地域。查询MobileWMS Delegate List,若用户所在地有生命周期未结束的代理迁移体,且其驻留的服务器负载较轻、带宽较大,则延长其生命周期,并转到步骤(3);否则执行步骤(2)。

(2)MobileWMS 通过 MobileWMS Delegate List查找 用户所在地域的性能较好的对等服务器B(称为MobileWMS的代理服务器),通过服务迁移把WMS、地图数据、SLD文档、URI List文档以及WMS Application地图部分的应用迁移到服务器B的Tomcat容器中重新发布。同时配置MobileWMS Delegate List中迁移体的生命周期。

(3)把用户的访问链接切换到用户所在地域的对等服务器的代理迁移体上。

(4)家乡MobileWMS通过远程控制对生命周期结束的MobileWMS Delegate进行就地销毁。网络地图服务结束。

地图显示客户端采用OpenLayers。调用WMS、获取地图数据以及指定SLD文档的主要代码如下:

3.4 实验测试与案例分析

3.4.1 测试原型

以移动用户访问远程气象服务为例,在广域网(WAN)环境下验证网络地图服务迁移的可行性。假设上海和杭州的移动用户访问发布于福州的气象服务,以对当前位于福建区域的台风进行实时跟踪。气象服务发布于福州某服务器(CPU 为 1.7 GHz,内存为 1.98 GB,带宽 3 Mbit/s)上。福州的气象服务应用以Mapyrus作为WMS服务器,当其接收到远程上海、杭州区域用户的请求后,将WMS服务复制并迁移到嘉兴市的某对等服务器(CPU为1.7 GHz,内存为1 GB,带宽3 Mbit/s)上,并将用户请求链接切换到该服务器上,如图3(a)所示。移动终端采用华为C8500 3G智能手机 (操作系统为 Android 2.1,CPU为 528 MHz,内存为512 MB ROM+256 MB RAM),通过电信天翼移动宽带无线网络接入internet访问气象服务。图3(b)为C8500访问气象服务对台风进行实时跟踪的界面。由于台风监测所需的基础地图服务已经迁移到嘉兴的代理服务器上,福州家乡服务器上的气象服务只需实时将少量当地监测的台风位置、覆盖区域等要素信息以WKT(well-known text)[8]格式,通过Socket协议发送到代理服务器的MobileWMS Delegate上。这些地理要素信息通过OpenLayers以矢量图层的形式叠加到Mapyrus生成的底层地图上,并进行实时刷新。

3.4.2 实验结果与分析

对于移动应用来说,与用户体验相关的因素主要有:服务的响应时间、服务价格和服务结果的易理解性和操作的方便性等。在此对上海、杭州的用户分别访问福州的气象服务应用以及迁移到嘉兴后的气象服务应用代理的响应时间进行比较,包括两类响应时间:总的连接时间(包括路由搜索、地图页面下载等)和单独地图页面下载时间。为了减小互联网网络波动对测试结果的影响,分10次进行测试,每次间隔大约2 h。测试参数介绍如下:

·访问远程MobileWMS时的总连接时间 (total link time of accessing to remote MobileWMS,TLTofARM);

·就近访问MobileWMS Delegate时的总连接时间(total link time of accessing to local MobileWMS delegate,TLTofALMD);

·访问远程MobileWMS时的地图页面下载时间(map page download time of accessing to remote MobileWMS,MPDTofARMD);

·就近访问MobileWMS Delegate时的地图页面下载时间(map page download time of accessing to local MobileWMS delegate,MPDTofALMD)。

测试结果如图 4所示。可以看出,在服务器性能和连接带宽接近时,通过把服务迁移到用户所在的地域,明显降低了地图服务的响应时间,在此称为“就近效应”。虽然“就近效应”并不是绝对存在,例如访问光纤连接的远程服务器可能比访问电缆连接的本地服务器的响应更快,但是,在同等服务器性能、网络环境以及均匀的网络拓扑结构下,“就近效应”一般是存在的。对于网络地图服务来说,通过迁移到性能较好的服务器上或者移动用户所在的地域,可以获得较好的服务体验。

4 结束语

本文分析了B/S网络地图服务模式在移动位置服务应用中的意义。针对传统WMS的集中服务方式响应速度慢、可扩展性差[9]等缺点,提出一种网络地图服务迁移架构——MobileWMS,通过实验测试验证了方案的可行性和有效性。该架构采用组件模块化方式实现了地图数据、显示样式、地图服务和地图服务应用的分离,方便实现地图数据、显示样式以及地图服务应用的在线实时更新。通过在对等服务器之间进行服务迁移,提供分布式的地图服务,提高了服务器的使用效率,也有利于实现个性化服务,可以作为移动位置服务新的增值服务方式。由于网络地图服务迁移涉及地学、通信、电子、计算机等多个学科领域,如何进一步提高应用系统的服务性能并提供个性化服务是今后研究的重点,此外还需要实现各个组件模块之间调用的标准API,以便于系统集成和应用。

1 李清泉,谢智颖,左小清等.基于SVG的空间信息描述与可视化表达.测绘学报,2005,34(1):58~63

2 吕志平,赵冬青,徐爱民等.位置服务系统(LBS)的构建.测绘科学,2005,30(2):92~94

3 朱三妹.基于开放标准的移动位置服务系统的设计与实现.武汉理工大学学报(交通科学与工程版),2006(30)

4 Fujun Zhao,Jingfa Zhang,Daiyong Cao.Dynamic Web map service for Web publishing system of mass remote sensing images.IEEE InternationalConference on Geoscience and Remote Sensing Symposium,2006:858~860

5 朱丽莉,王金华.手机定位服务系统的研究.华东理工大学学报(自然科学版),2007,33(B06):21~23

6 孙华波,刘岳峰,钱旭等.基于网络与自主导航结合的LBS终端软硬件设计.计算机工程与设计,2008,29(14):3 657~3 659,3 662

7 Fernando N,Dias D,Wijesekara S.A framework to develop location based services applications using OGC map services.5th International Conference on Information and Automation for Sustainability,2010:521~526

8 OGC Standards and Specifications.http://www.opengeospatial.org/standards

9 Davis C A,Kimo Yu J,Duarte-Figueiredo F L P.OGC Web map service implementation challenges for mobile computers.17th International Conference on Geoinformatics,2009:1~6

10 Yansheng Zhang,Dancheng Li,Zhiliang Zhu.A server side caching system for efficient Web map services.International Conference on Embedded Software and Systems Symposia,2008:32~37

11 梁清翰,沈占锋,骆剑承等.构建LBS系统的数据库连接池技术研究.计算机工程,2006,32(18):39~41

12 GeoServer.http://geoserver.org

13 MapServer.http://mapserver.org/

14 Mapyrus.http://mapyrus.sourceforge.net/

猜你喜欢
位置服务客户端终端
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
GSM-R手持终端呼叫FAS失败案例分析
大枢纽 云平台 客户端——中央人民广播电台的探索之路
互联互通 畅享未来 第12届卫星导航与位置服务运营商大会在深圳举行
第六届中国卫星导航与位置服务年会暨首届卫星应用国际博览会
中位协二十周年庆典暨第四届中国卫星导航与位置服务年会将在北京举行