当前位置:新闻中心行业动态 → 正文

如何在应用中快速稳定地实现 LBS 服务?!

责任编辑:editor004 作者:刘芸 |来源:企业网D1Net  2016-11-07 12:36:34 本文摘自:INFOQ

随着移动互联网的发展,人们的衣食住行越来越离不开 LBS(基于位置的服务),如何在自己的应用中快速稳定地实现 LBS 服务也就成为了业内比较关注的话题。

2016 年 10 月 20 日,由 QCon 与高德开放平台联合举办的“高德 LBS 技术专场”于 QCon 上海 2016 分会场顺利举办。会上高德开放平台高级产品经理杨巍、高德开放平台资深研发经理朴春植、高德开放平台技术专家刘魁(骏征)3 位专家分别从什么是 LBS 服务,为什么要用 LBS 服务,如何快速实现 LBS 服务,如何保证其稳定性几个方面展开了分享。

LBS 服务的定义与意义

LBS 服务是指通过电信移动运营商的无线电通讯网络或外部定位方式,获取移动终端用户的位置信息,在 GIS 平台的支持下,为用户提供相应服务的一种增值业务。它包括两层含义:首先是确定移动设备或用户所在的地理位置;其次是提供与位置相关的各类信息服务,如找到手机用户的当前地理位置,然后为其寻找 1 公里范围内的宾馆、影院、图书馆、加油站等的名称和地址。所以说 LBS 就是要借助互联网或无线网络,在固定用户或移动用户之间,完成定位和服务两大功能。

高德开放平台的主要任务就是将高德地图专业的定位、地图、导航等位置能力和 LBS 服务以 API、SDK 的形式开放出来,供合作伙伴和开发者使用。覆盖领域包括社交媒体、社交出行、物流外卖、新闻资讯等行业。据统计,2015 年下半年到 2016 年上半年高德开放平台与行业用户(只选了比较有代表性的 3 个)共享 LBS 能力的占比分别是:出行 85%;外送 60%;主流社交 80%。

从上图可以看出出行行业的占比最高,其最出色的两个服务是实时路况和个性化导航。那么,LBS 服务如何助力出行?它给我们的生活带来哪些便利呢?杨巍老师结合实际案例分享了《共享出行的 LBS 实践》。

以共享单车为例,LBS 服务可以帮助确定使用者当前的位置及附近的车辆;帮助指引路线,包括步行线路规划指引最佳找车路线(规避“死胡同”、“隔堵墙”等问题,引导用户走最佳的找车路线节约时间)、骑行路线规划提供预估路程和时间(提供短途出行目的地的预估路程,提供到达目的地的预计通勤时间,可根据通勤时间计算预估费用);帮助轨迹纠偏提供真实骑行轨迹;帮助圈出地理围栏,保证运力平稳……

LBS 服务技术实践与经验分享

高德开放平台为 30 万 App 提供了 LBS 服务,拥有大量的 LBS 服务技术实战经验。LBS 覆盖了很多行业,但游戏行业还较为空白,朴春植老师分享了《LBS 与游戏结合实战》,介绍了在游戏行业中如何实践 LBS 服务。

大部分 LBS 相关的开发者都不用关心手机是如何定位的,其实在做移动端优化时,了解定位原理还是非常有用的,比如怎么省电,如何处理高频位置变化的情况。实现定位有以下 3 种方式:第一种是 GPS ;第二种是用基站塔来标记位置;最后一种是通过 Wifi 标记位置。如何选择适合产品需求的定位模式,减少定位频次(按时间、距离)呢?详见下图。

分类 类型 精准度 特点 调用方式
GPS GPS/A*GPS 2~10m 准确、耗时长、耗电 定位SDK+系统接口
网站 基站 500~5000m 大致位置 定位SDK
网站 Wi-Fi 20~200m 较为准确、快速省电 定位SDK

为什么要说游戏行业?从高德开放平台的数据来看,LBS 在各行业都有所覆盖,唯独缺少游戏行业。以下是朴老师总结的几个 LBS 与游戏相结合的痛点和难点。

在做游戏的时候,需要自定义地添加一个 Render,把每一帧回调。还需要一个重要的相互转换接口,利用它可以在缩放、移动地图的时候,把人物的位置与游戏的位置结合起来,下图提供了主要技术原理。

如何确保 LBS 服务载体平台的稳定性

面对一个开放平台,用户最关心的是什么?

使用简单:API 设计适配多元化应用场景,可扩展性强;稳定性:崩溃率低,拥有合理的框架、健全的代码扫描 review 机制、自动化;响应速度:通过网络请求、渲染速度、异步等优化来加快响应速度;包大小:越小越好;隐私:编码安全性,数据输入安全(二进制 + AES + RSA),https 对域名进行强校验。

高德开放平台的业务特点是服务稳定性要求高、流量不均匀、流量易出现突增、节假日流量出现高峰。为了满足业务需求,平台采取了哪些措施呢?高德开放平台技术专家刘魁(骏征)分享了《在线服务的流量管控实践》,主要包括在线服务限流和七层负载流量切换(L7)上的业务实践。

服务限流包括集群限流和单机本地限流。集群限流以机房为维度,对 key/cip和 和同类引擎 QPS 约束。

集群限流的过程中会遇到同步扩容的问题,而这个问题需要单机限流来解决:以单机为维度,对接口或接口组 QPS 约束;精准到 URI 维度,提供默认值。

七层负载切换(L7) 包括手动和自动切换,是结合 DNS 四层切换的一种快速流量切换方案。

L7 切流方式如下图所示,可以通过平台手动切流和自动切流两种方式触发切流,自动互切加锁,手动切流优先,实现实时业务监控。

手动切换是通过平台手动切流,哪块有问题单切哪一块,这样实际上降低了切流的风险。自动切流,是基于业务监控的,它是一个无人职守的方案,适用于无人看管的时候,可以降低服务时长。

最后,刘老师指出,不论服务做得多好,都没有办法保证一定没有问题,一定要有一套完整的报警和容灾措施。

相信通过本专题,您对 LBS 服务一定有了更加深入的理解。篇幅原因,只选了部分内容列入文中,想了解更多请移步QCon 上海 2016 官网下载讲师完整 PPT,关注 QCon 公众号后期还可以看到精彩视频。

关键字:LBS切换方案

本文摘自:INFOQ

x 如何在应用中快速稳定地实现 LBS 服务?! 扫一扫
分享本文到朋友圈
当前位置:新闻中心行业动态 → 正文

如何在应用中快速稳定地实现 LBS 服务?!

责任编辑:editor004 作者:刘芸 |来源:企业网D1Net  2016-11-07 12:36:34 本文摘自:INFOQ

随着移动互联网的发展,人们的衣食住行越来越离不开 LBS(基于位置的服务),如何在自己的应用中快速稳定地实现 LBS 服务也就成为了业内比较关注的话题。

2016 年 10 月 20 日,由 QCon 与高德开放平台联合举办的“高德 LBS 技术专场”于 QCon 上海 2016 分会场顺利举办。会上高德开放平台高级产品经理杨巍、高德开放平台资深研发经理朴春植、高德开放平台技术专家刘魁(骏征)3 位专家分别从什么是 LBS 服务,为什么要用 LBS 服务,如何快速实现 LBS 服务,如何保证其稳定性几个方面展开了分享。

LBS 服务的定义与意义

LBS 服务是指通过电信移动运营商的无线电通讯网络或外部定位方式,获取移动终端用户的位置信息,在 GIS 平台的支持下,为用户提供相应服务的一种增值业务。它包括两层含义:首先是确定移动设备或用户所在的地理位置;其次是提供与位置相关的各类信息服务,如找到手机用户的当前地理位置,然后为其寻找 1 公里范围内的宾馆、影院、图书馆、加油站等的名称和地址。所以说 LBS 就是要借助互联网或无线网络,在固定用户或移动用户之间,完成定位和服务两大功能。

高德开放平台的主要任务就是将高德地图专业的定位、地图、导航等位置能力和 LBS 服务以 API、SDK 的形式开放出来,供合作伙伴和开发者使用。覆盖领域包括社交媒体、社交出行、物流外卖、新闻资讯等行业。据统计,2015 年下半年到 2016 年上半年高德开放平台与行业用户(只选了比较有代表性的 3 个)共享 LBS 能力的占比分别是:出行 85%;外送 60%;主流社交 80%。

从上图可以看出出行行业的占比最高,其最出色的两个服务是实时路况和个性化导航。那么,LBS 服务如何助力出行?它给我们的生活带来哪些便利呢?杨巍老师结合实际案例分享了《共享出行的 LBS 实践》。

以共享单车为例,LBS 服务可以帮助确定使用者当前的位置及附近的车辆;帮助指引路线,包括步行线路规划指引最佳找车路线(规避“死胡同”、“隔堵墙”等问题,引导用户走最佳的找车路线节约时间)、骑行路线规划提供预估路程和时间(提供短途出行目的地的预估路程,提供到达目的地的预计通勤时间,可根据通勤时间计算预估费用);帮助轨迹纠偏提供真实骑行轨迹;帮助圈出地理围栏,保证运力平稳……

LBS 服务技术实践与经验分享

高德开放平台为 30 万 App 提供了 LBS 服务,拥有大量的 LBS 服务技术实战经验。LBS 覆盖了很多行业,但游戏行业还较为空白,朴春植老师分享了《LBS 与游戏结合实战》,介绍了在游戏行业中如何实践 LBS 服务。

大部分 LBS 相关的开发者都不用关心手机是如何定位的,其实在做移动端优化时,了解定位原理还是非常有用的,比如怎么省电,如何处理高频位置变化的情况。实现定位有以下 3 种方式:第一种是 GPS ;第二种是用基站塔来标记位置;最后一种是通过 Wifi 标记位置。如何选择适合产品需求的定位模式,减少定位频次(按时间、距离)呢?详见下图。

分类 类型 精准度 特点 调用方式
GPS GPS/A*GPS 2~10m 准确、耗时长、耗电 定位SDK+系统接口
网站 基站 500~5000m 大致位置 定位SDK
网站 Wi-Fi 20~200m 较为准确、快速省电 定位SDK

为什么要说游戏行业?从高德开放平台的数据来看,LBS 在各行业都有所覆盖,唯独缺少游戏行业。以下是朴老师总结的几个 LBS 与游戏相结合的痛点和难点。

在做游戏的时候,需要自定义地添加一个 Render,把每一帧回调。还需要一个重要的相互转换接口,利用它可以在缩放、移动地图的时候,把人物的位置与游戏的位置结合起来,下图提供了主要技术原理。

如何确保 LBS 服务载体平台的稳定性

面对一个开放平台,用户最关心的是什么?

使用简单:API 设计适配多元化应用场景,可扩展性强;稳定性:崩溃率低,拥有合理的框架、健全的代码扫描 review 机制、自动化;响应速度:通过网络请求、渲染速度、异步等优化来加快响应速度;包大小:越小越好;隐私:编码安全性,数据输入安全(二进制 + AES + RSA),https 对域名进行强校验。

高德开放平台的业务特点是服务稳定性要求高、流量不均匀、流量易出现突增、节假日流量出现高峰。为了满足业务需求,平台采取了哪些措施呢?高德开放平台技术专家刘魁(骏征)分享了《在线服务的流量管控实践》,主要包括在线服务限流和七层负载流量切换(L7)上的业务实践。

服务限流包括集群限流和单机本地限流。集群限流以机房为维度,对 key/cip和 和同类引擎 QPS 约束。

集群限流的过程中会遇到同步扩容的问题,而这个问题需要单机限流来解决:以单机为维度,对接口或接口组 QPS 约束;精准到 URI 维度,提供默认值。

七层负载切换(L7) 包括手动和自动切换,是结合 DNS 四层切换的一种快速流量切换方案。

L7 切流方式如下图所示,可以通过平台手动切流和自动切流两种方式触发切流,自动互切加锁,手动切流优先,实现实时业务监控。

手动切换是通过平台手动切流,哪块有问题单切哪一块,这样实际上降低了切流的风险。自动切流,是基于业务监控的,它是一个无人职守的方案,适用于无人看管的时候,可以降低服务时长。

最后,刘老师指出,不论服务做得多好,都没有办法保证一定没有问题,一定要有一套完整的报警和容灾措施。

相信通过本专题,您对 LBS 服务一定有了更加深入的理解。篇幅原因,只选了部分内容列入文中,想了解更多请移步QCon 上海 2016 官网下载讲师完整 PPT,关注 QCon 公众号后期还可以看到精彩视频。

关键字:LBS切换方案

本文摘自:INFOQ

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^