当前位置:首页 > 短网址资讯

58速运“里程计算”优化与演进

www.ft12.com9年前 (2017-08-24)短网址资讯1655

58速运货物运输,滴滴快递网约车,司机端都是按照行驶公里数收费的,所以“里程”的准确性,是这类业务的一个核心难题,“里程计算”方案演进,以及其中优化思想,是本文要讨论的问题

 

一、直接调用地图API

这是最容易想到的方法,最省事,但司机往往不是按照预定的路线行驶的,很有可能因为堵车、道路封闭等改变路线,所以直接调用地图API,一次性计算出一个预估值,不太靠谱

 

优化方案:根据实际路线计算里程

 

二、司机APP实时计算增量里程,服务端存储总里程

过程如下

1)货车位置不停的在改变,司机APP每隔一段时间(例如1s)记录一次GPS,即打点

2)实时计算相邻两点的距离,上报服务端

3)服务端存储总里程

 

潜在问题GPS可能不准确,偶尔会有噪点,一旦有噪点,相邻两点的距离会很远,导致最终总里程可能比实际里程远

 

优化方案:不能实时计算增量,而应该先打点,最终统一计算,这样才有机会去除噪点

 

三、打点上报服务端,服务端统一计算里程

过程如下

1)货车位置不停的在改变,司机APP每秒打一个点,上报服务端

2)服务端将打点落地,记录数据库

3)到达目的地后,服务端对于所有点进行统一处理,一次性计算里程,可以去除噪点

 

潜在问题假设每单平均货运时长1小时,即每单要打3600个点,58速运每天100w订单,即总共要打36亿个点,每个点对应数据库一个写请求,则数据库的写压力大概在每秒4w次,扛不住

 

优化方案批量写是一种常见的降低数据库压力的方案

 

四、客户端实时打点,压缩后批量上传

过程如下

1)司机APP每秒在本地打点,每隔一段时间(例如20s),压缩,上报服务端,服务端压力从4w降低到2k

2)服务端解压,批量写入队列

3)队列中的点,每隔一段时间(例如2s)再写入数据库

 

优化成果大大降低了数据库压力(由于存储量较大,实际优化的过程中,使用Hbase进行了优化存储)

 

其他问题:数据库压力降下来了,但到达目的地后,一个订单打的所有点计算里程,成本较高,如何减少计算量

 

优化方案:去除无效点

 

五、打点过滤,提高效率

什么样的打点是无效点,需要去除呢?

1噪点原则:连续打点,偏移量较大的噪点,需要去除

2同点原则:相同位置的点可以去除,因为移动路径为0

3速度原则:行驶速度超过合理范围的点,需要去除

4角度原则:理论上订单轨迹是平滑有序的,如果角度反复折回,可以视为无效点

 

潜在问题:如果司机APP有断网或者信号不好,可能会漏点,导致计算出的总距离小于实际距离,给司机带来损失

 

优化方案:补点

 

六、事后补点,数据修正,计算里程

如何进行补点,如何进行数据修正呢?

1补点:车辆行驶过程中,如果有中断路线,采用“地图路径规划”的方式补点

2修正:采用卡尔曼滤波算法,对轨迹进行整形

3计算里程:按照点到点的距离,进行累加

 

总结

“里程计算”的优化历程:

  • 直接调用地图API

  • 司机APP实时计算增量里程,服务端存储总里程

  • 打点上报服务端,服务端统一计算里程

  • 客户端实时打点,压缩后批量上传

  • 打点过滤,提高效率

  • 事后补点,数据修正,计算里程


“里程计算”业务并不是所有公司都会涉及到,但其中的优化思路,很多还是可以借鉴的:

  • 单次与统筹:客户端单次记录与计算是不靠谱的,应该由服务端来实施,综合所有数据,去除噪点

  • 单次与批量:单次操作,压力较大,不好压缩;批量操作能大大降低压力,并且压缩比高

  • 全量与过滤:全量计算成本较高,过滤掉无效数据,能够降低计算量,提高精确性

  • 补充与修正:对于少量缺少的数据,可以预测补充,平滑修正

希望大家有收获。

扫描二维码推送至手机访问。

版权声明:本文由短链接发布,如需转载请注明出处。

本文链接:https://www.ft12.com/article_430.html

分享给朋友:

相关文章

FT12短网址教你如何利用大数据算法定位网站性能瓶颈(BOSS)

FT12短网址教你如何利用大数据算法定位网站性能瓶颈(BOSS)

FT12短网址资讯:架构师非常关注性能问题,上篇文章中我们介绍了京东的自动化压测体系 ForceBot,这篇文章来自 LinkedIn 的技术博客,介绍如何通过大数据算法来分析调用数据,自动定位性能瓶颈。本文由高可用架构翻译。背景我们 FT…

收个快递也能中500万?顺丰到底为何要涉足彩票

收个快递也能中500万?顺丰到底为何要涉足彩票

现在的人,越来越懒了。 懒得自己做饭,成就了外卖订餐平台美团和饿了么。 懒得自己去商店买东西,成就了网购平台淘宝、天猫、京东,当然还包括一大批提供服务的快递公司。 而如今,快递公司顺丰还打算让人懒得去线下体彩店买彩票,选择联手国家体彩…

开着市值2000亿的公司,却跑去卖猪肉,他说赚钱只是顺便的事情…

开着市值2000亿的公司,却跑去卖猪肉,他说赚钱只是顺便的事情…

但凡接触过互联网行业的,无人不识网易和短网址。作为一个优秀的互联网公司,它的作品也向来让人满意。率先推出了中文全文检索、免费邮件系统、网上虚拟社区等,还研发了一款史诗级的国产网络网游。十多年经久不衰的《梦幻西游》,《大话西游》,《短链接》等…

域名解析实践——HTTPDNS

几乎一切需求网络连接的使用都会依赖域名体系(Domain Name System,DNS)。域名解析效劳一般作为一次网络连接的先导,将人们便于记忆的计算机名称解析成计算机合适处理的网络地址。因而DNS安稳效劳是上述网络使用正常运转的条件,地…

给干妈开5万月薪,美女CEO烧光5000万?刷爆朋友圈后剧情再反转

“改变世界的逆行者。”——真格基金创始合伙人徐小平曾在《从0到1》,这本被中国创投界奉为“圣经”的书中,写下序言对创业者给予这样的评价。但当创业者与投资人反目成仇,说起话来也是丝毫不留情面。在刚刚过去的周末,不少人的朋友圈就被空空狐创始人和…

“色流”产业十年风云录:40万大军,吸食百亿利润

“色流”产业十年风云录:40万大军,吸食百亿利润

色流群体如蚂蚁一般,跟随着流量蜜罐迁移,经历多个时代的轮回变迁,并分食百亿级别市场……标题:“色流”产业十年风云录:40万大军,吸食百亿利润来源:一本财经,已授权『互联网的一些事』,转载请联系作者。在“流量为王”的时代,流量在某种意义上,就…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。