基于云计算的LBS应用研究

2016-05-30 10:48彭红
软件工程 2016年10期
关键词:云计算

彭红

摘 要:伴随着移动互联网的发展,基于位置的服务LBS(location Based Service)服务应用市场爆发式发展。随着大数据时代的到来,人们的位置信息数据规模巨大,如何利用云计算平台处理LBS应用及相关服务成为人们下一步的研究重点。本项目基于对LBS在国内外的应用的研究,讨论云计算平台在LBS相关服务中实现方式;并基于高德地图位置云服务,构建基于Android黄冈旅游手机客户端系统。

关键词:位置的服务;高德地图;云计算;旅游导航

中图分类号:TP399 文献标识码:A

1 引言(Introduction)

基于位置的服务LBS是指通过电信移动运营商的无线电通讯网络或外部定位方式,获取移动终端用户的位置信息,在GIS平台的支持下,为用户提供相应服务的一种增值业务[1]。

随着移动互联网飞速发展,人与手机成为了形影不离的好伙伴,围绕位置提供服务成为可能,比如现在流行的位置签到、查询周边各类商家信息、周边打折促销提示、基于位置的交友软件和为个人用户提供的定位服务等。LBS几乎成为了各类APP的标配[2]。2015年—2020年移动位置服务(LBS)产业市场竞争格局分析与投资风险预测报告指出:2014年1月—10月,全球基于位置的服务使用人数已多达14亿之多[3]。由此可见,移动互联网时代手机移动定位服务已经形成了巨大的市场规模,并且将会有更多更广泛的应用。手机软件加强对LBS的服务将会为软件厂商带来持久增长的盈利,同时为用户提供更多的便利。

2 LBS在国内外的应用研究(Application of LBS at

home and abroad)

2.1 LBS在国内外的研究

LBS首先从美国发展起来,随后在测绘和车辆跟踪定位等领域得到广泛的重视和应用。常用的LBS服务包括Foursquare、Google attitude等。Foursquare当前用户数量约为1000万。据报道,美国总统奥巴马已经开始使用Foursquare[4,5]。

在我国,武汉大学李德仁院士早在2002年就提出开展空间信息与移动通信集成应用的研究,推动了我国LBS应用发展[6]。伴随着移动互联网的发展,我国LBS服务个人应用市场爆发式发展,催生了中国的全球十大互联网公司:阿里巴巴、百度、腾讯、搜狐。LBS应用模式的已由最初的盛大切客,迅速被广泛应用在微信、手机QQ、微博、大众点评等著名产品。当前的LBS应用范围不仅包括生活服务等个人位置信息服务,还包含博物馆系统、自动导游系统等行业应用甚至为政府公共政务所用,其涵盖范围非常宽广。

2.2 LBS应用相关服务功能及应用

LBS成为各大移动应用的标配,比如微信“摇一摇”、美团团购、“嘀嘀打车”等, LBS 都是其必备的功能基础。LBS应用相关服务一般包括四种模式:签到模式、生活服务模式、优惠信息推送模式、GPS定位模式等。

LBS签到服务(LBS Check.In)是指利用手机等移动通信终端共享位置,通过签到的方式进行交友互动的移动位置服务[7,8]。签到服务使用移动通信网络为数据传输通道,基于位置共享,进行同城或者附近交友活动,加强地理距离较近的陌生人之间的联系,为同城或者同小区交友提供平台。生活服务模式基于位置信息,为用户提供便利的生活服务。用户可以基于位置信息,方便地查看当地或附近餐饮、生活服务、休闲娱乐等商家服务信息,把线下实体店铺以“网店”的方式呈现在用户面前,用户不仅可以了解到需要的相关生活服务类各家店铺的位置、电话等,还可以方便地查看诸如用户评论等信息。通过本地生活服务的平台,用户不仅可以全面便捷地查看所在地的商户信息,还可以更透明更全面地了解这些店铺的特点,选择自己需要的店铺或服务。优惠信息推送模式可以根据用户的定位信息,精准发送优惠信息,给线下商户提供良好的推广渠道,促销信息可以精准地投送到目的用户。GPS定位模式可以准确定位用户所在位置,让用户知道自己的精确坐标,为相关应用提供位置服务。常见的应用有跑步类和导航类。

3 云计算平台在LBS相关服务的应用(Cloud

computing platform on LBS)

随着移动互联网的不断发展,位置服务的数据对象也变得越来越复杂。位置需求越来越大的背景下,如何将移动互联网时代的海量信息服务数据(也称大数据)有效地管理起来是亟待解决的问题。

3.1 云计算

云计算(Cloud Computing)是一种新兴的共享基础架构的方法,其将大量用网络连接起来的计算资源进行统一管理和调度,构成一个计算资源池向用户提供按需服务[9,10]。随着计算机软硬件资源的发展和大数据时代的来临,数据的量级在大规模扩大,云计算技术提供的资源池可以提供更大更强的计算能力,云计算也正被越来越广泛地应用于许多方面。

云计算是一个四层结构:硬件层、基础架构层、平台层和应用层。云计算的商业模式也基于这个层次结构,分为三类:架构即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。基于云平台的LBS系统可以使得移动终端、Web终端等设备通过移动互联网来访问位置云,获取位置服务信息。借助云平台强大的计算能力,LBS位置服务可以更好地解决多用户请求、多任务处理等问题。同时云计算平台的高可靠性、高扩展性、虚拟化、按需服务等特点[11,12]保证了在大规模位置信息的处理模式下,LBS应用可以定位准、扩展性好、服务能力强。

当今许多企业都应用云平台为自己提供更强大、更全面、更安全的计算服务。国外移动互联网巨头推出的常用云计算平台有Google公司注重分布式存储和编程的云计算平台、IBM公司使用多层次虚拟化技术的“蓝云”平台,以及亚马逊注重网络远程操作的弹性计算云平台;国内最近几年云计算技术的发展也非常迅速。百度公司拥有注重Web应用的BAE云平台,阿里巴巴公司推出的注重弹性计算的阿里云平台也获得广泛的使用和一致认可。基于位置服务的高德地图副总裁郄建军在2013易观互联网创新大会上透露,高德正在实现LBS云平台的开放。

3.2 基于云计算的LBS特点

LBS服务端设计为云计算工作模式,移动终端、Web终端等通过移动网络和互联网来访同LBS服务云,获取位置信息服务。云平台强大的计算能力,很好地满足了多用户请求、多任务处理等问题。利用LBS服务云既有利于整合优势的计算资源,还有利于减轻客户端的开发成本和计算压力,更重要的是极大地提高了系统的扩展能力,方便服务的接入和服务的迅速开发。

3.3 云计算的LBS系统架构

云计算的LBS系统前段可以通过移动客户端Mobile Client和网络客户端Web Client访问。Mobile Client端,配备GPS定位装置从而拥有了定位服务,并通过移动网络提供地图服务。Web Client端包括两方面功能,一是作为普通用户访问的一个门户,二是给系统管理员提供友好的管理平台。提供查询定位的接入、访问、组合、响应服务的是Service Engine,它是系统的关键组成部分。主要由连接管理器ConnectionManager和定位服务工具Location Service Accessor两部分组成。

4 基于高德LBS云平台的应用(Application on

AMAP LBS cloud computing platform)

伴随着随着近年来的旅游业的蓬勃发展,基于LBS的导航系统发展迅速。中国政府网2015年6月发布公告,国务院批复同意《大别山革命老区振兴发展规划》,规划包括湖北省黄冈市全境。2015年3月,黄冈市推进智慧旅游,全市所有旅游景区实施“一票通”,标志着我市的旅游业快速发展时代的到来。

但现有的通用导航产品设计单一,内容不够详细个性化,不能完全满足各种旅游用户和不同旅游线路的需求。在大力发展黄冈旅游的背景下,可以开发基于高德地图云平台的个性化LBS应用系统:黄冈旅游手机客户端。

高德云平台为开发者提供给了位置数据免费存储、检索、展现服务及应用开发服务。高德地图API是一套为开发者免费提供的基于高德地图的应用程序接口,包括JavaScript、iOS、Andriod、Web服务等版本,开发系统可以使用高德云平台开发者API接口,利用云平台和开放的API,基于“自有数据”在线制作地图,搭建O2O应用等基于云平台的LBS应用服务APP。

本文基于Eclipse安卓开发工具ADT(Android Development Tools),利用高德云平台应用程序接口,构建基于Android黄冈旅游手机客户端系统。具体功能结构图如图1所示。

为了保证高德 Android SDK的功能正常使用,开发者需要申请高德Key且配置到项目中。只需注册登录就可免费获取基于高德地图云平台的高德Key,创建自己的应用、网站或电子名片中加入地图,标注公司位置等项目,实现出行类、O2O应用类的功能。

4.1 地图显示

开发高德LBS应用程序的步骤为:首先下载安装Android Studio,然后获取高德Key,接下来就可以创建Activity项目。

创建项目需要从官网下载特定的地图版本后解压缩,配置AndroidManifest.xml文件与XML布局文件,然后就可以显示地图。部分代码如下:

(1)在AndroidManifest.xml的application标签中配置Key:

(2)在布局xml文件中添加地图控件:

android:id="@+id/map"

android:layout_height="match_parent"

android:layout_width="match_parent">

(3)地图展示

连接Android设备或者使用Android模拟器,就可以运行模块,查看项目里的地图展示。

核心代码如下:@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.basicmap_activity);//设置对应的XML布局文件

MapView mapView=(MapView)findViewById(R.id.map);

mapView.onCreate(savedInstanceState);//此方法必须重写

AMap aMap=mapView.getMap();

}

public class AmapActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.basicmap_activity);

MapView mapView=(MapView) findViewById(R.id.map);

mapView.onCreate(savedInstanceState);//此方法必须重写

AMap aMap=mapView.getMap();

aMap.setTrafficEnabled(true);//显示实时交通状况

//地图模式可选类型:MAP_TYPE_NORMAL,MAP_TYPE_SATELLITE,MAP_TYPE_NIGHT

aMap.setMapType(AMap.MAP_TYPE_SATELLITE);//卫星地图模式

}

}

4.2 路径规划

路径规划可以根据起终点和驾车路线的数据,使用DrivingRouteOverlay画出驾车路线图层,包括起终点和转弯点。使用类RouteSearch的calculateDriveRouteAsyn

(DriveRouteQuery query)方法进行驾车规划路径计算,在RouteSearch.OnRouteSearchListener接口回调方法void onDriveRouteSearched(DriveRouteResult driveRouteResult,int rCode)处理驾车路径规划结果。

4.3 POI搜索

高德提供了千万级别的POI(Point Of Interest,兴趣点)。在地图表达中,一个POI可代表一栋大厦、一家商铺、一处景点等。通过POI搜索,用户可以完成找餐馆、找景点、找厕所等等的功能。通过PoiSearch.Query(String query,String ctgr,String city)设置搜索条件,调用

PoiSearch的searchPOIAsyn()方法发送请求。通过回调接口onPoiSearched解析返回的结果,将查询到的POI以绘制点的方式显示在地图上。

4.4 天气预报

天气查询的请求参数类为WeatherSearch,city(城市)为必设参数,type(气象类型)为可选,包含有两种类型:WEATHER_TYPE_LIVE为实况天气,WEATHER_TYPE_FORECAST为预报天气,默认为实况天气。

位置服务(LBS)的地图显示、路径规划、POI搜索和实时天气预报等功能,为外地来黄冈旅游的游客提供优质的用户体验和服务,促进大别山旅游更好地快速发展,提高游客数量,提升游客满意度。

5 结论(Conclusion)

随着移动互联网的飞速发展,移动LBS技术面临着前所未有的发展机遇。结合云计算技术,引入开放APIs构建LBS应用是非常有前景的应用方向。随着云计算在移动互联网的应用逐渐发展,真正的移动互联网时代会为人们的生活带来更大的方便。

参考文献(References)

[1] Xuejun Zhang,et al.Privacy Quantification Model Based on the Bayes Conditional Risk in Location-Based Services[J].Tsinghua Science and Technology,2014,05:452-462.

[2] Yang Bo,et al.Efective Error-Tolerant Keyword Search for Secure Cloud Computing[J].Journal of Computer Science & Technology,2014,01:81-89.

[3] LIU Mengjun,et al.Privacy-preserving Distributed Location Proof Generating System[J].中国通信,2016,03:203-218.

[4] 周傲英,等.基于位置的服务:架构与进展[J].计算机学报,2011,07:155-1171.

[5] 崔金琦,陶先平.基于RFID的校园导航系统的设计与实现[J].计算机科学,2015,12:92-94;119.

[6] 谭钧.基于LBS技术与O2O模式的城市共同配送研究[J].物流技术,2015,22:126-129.

[7] 肖锋,侯岳,贾宝.情境建模下的LBS智能信息服务推送方法[J].测绘通报,2016,04:96-98;109.

[8] 杨生田,陈生莲.面向“互联网+”的地理信息服务[J].测绘通报,2015,S2:70-73;78.

[9] 李德毅,张天雷,黄立威.位置服务:接地气的云计算[J].电子学报,2014,04:786-790.

[10] 袁国泉.基于Android平台的LBS应用开发框架设计及其实现[D].南京大学,2012.

[11] 袁国泉,陶先平.基于云计算平台的LBS服务管理[J].计算机科学,2011,10:18-22.

[12] 刘经南.大数据与位置服务[J].测绘科学,2014,03:3-9.

作者简介:

彭 红(1983-),女,硕士,软件工程师,讲师.研究领域:计

算机应用,云计算.

猜你喜欢
云计算
云计算虚拟化技术在电信领域的应用研究
基于云计算的医院信息系统数据安全技术的应用探讨
谈云计算与信息资源共享管理
志愿服务与“互联网+”结合模式探究
云计算与虚拟化
基于云计算的移动学习平台的设计
基于云计算环境下的ERP教学改革分析
基于MapReduce的故障诊断方法
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用