关于程序员:送外卖也要黑科技阿里移动感知技术应用揭秘

4次阅读

共计 6016 个字符,预计需要花费 16 分钟才能阅读完成。

简介:送餐路上外卖骑手们所处的地位不仅牵动着大家的心,在本地生存的场景下,也是订单配送和调度零碎的重要一环。其中骑手是否已到店取餐看似简略却难以精确观测。针对这一问题,阿里本地生存科技核心建设了基于挪动感知的 aBeacon 零碎来精确地观测骑手到店和离店行为。这一工作成绩也发表在了网络系统畛域的顶级会议 NSDI’21 上。本文将从实现原理为大家做一个简略介绍。
image.png

一 背景
作为本地生存的一个重要组成部分,外卖曾经进入千千万万的家庭。置信很多小伙伴曾经留神到,饿了么的每一个订单,咱们都会及时向用户告诉这一单当初所处的状态,比方“商户接单”,“骑手到店”,“骑手送达”等。这个实时状态的更新,不仅能让用户及时理解本人外卖到了哪里,对于整个平台的骑手调度和工夫预估都有着重要意义。

而在所有的节点中,骑手到店前后的两个节点“骑手到店”和“骑手取餐”对于整个平台的价值就更为重要,次要体现在以下三个方面:

工夫预估

骑手到店的工夫是骑手从接单位置到商户地位的终止工夫,而骑手离店的工夫则是骑手从商户地位到用户地位的起始工夫。把握这些精确的工夫,能给工夫预估模型提供精确的标签用于模型训练。咱们在 APP 里看到的“预估配送工夫”就是这样计算出来的。同时,晓得骑手在商户地位等了多长时间,咱们就能够晓得商户筹备这一单须要多长时间,也就是商户的“出餐工夫”。而把握了精确的出餐工夫,咱们在给某一单找适合骑手的时候就能更加地熟能生巧了。

骑手调度

当用户在外卖平台下单后,平台就会开始为这一单寻找适合的骑手来配送,这个过程就叫骑手调度。骑手调度是一个简单的过程,须要思考同时思考商户,骑手和用户的地位,还要思考骑手身上已有的单和商户正在筹备的单。一个总的准则是,让更近的,更顺路的骑手去取单。如果咱们晓得了骑手到店的精确工夫,咱们就能够晓得骑手在以后时刻的具体位置,并且可能预估出骑手在将来一段时间的大略地位。这就给咱们的骑手调度提供了精确牢靠的数据源。

超时单判责

尽管调度零碎会尽力保障每一单都尽快送达,但还是会有一些状况导致少部分运单会超时,给用户带来不好的体验。为了晋升调度零碎的性能,缩小超时单。咱们首先须要晓得超时的起因,从而在将来的调度中作出改良。超时的两个次要起因是“商户已出餐但骑手未到店”和“骑手已到店但商户未出餐”。在没有明确数据的状况下,这两个对抗的起因往往会呈现“公说公有理,婆说婆有理”的状况。如果咱们可能精确取得骑手到店的工夫,这一窘境就会迎刃而解。

二 挑战
既然获取精确的骑手到店工夫是如此重要的问题,为什么现有的办法还是无奈很好的解决这个问题呢?这是因为思考到本地生存的场景,要取得精确的骑手到店工夫,面临着以下几方面的挑战:

GPS 在室内的漂移

当初手机定位最罕用的办法就是 GPS 定位。但无论是 GPS,还是咱们最近刚组网胜利的北斗零碎,其本质上都须要手机里的芯片来接管地球上方的卫星信号。但商户的地位往往是在室内,当咱们在室内环境时,GPS 信号会受到建筑物的遮挡,导致 GPS 信号强劲甚至齐全失去信号。这个时候 GPS 的精确度就会从几米扩充到几百米甚至几公里,导致 GPS 信号呈现漂移。因为这一漂移景象的存在,咱们须要划定一个范畴来判断骑手是否达到了商户。当咱们用一个较小的范畴时,可能会呈现“骑手已到店但咱们认为没到”,如果咱们用一个较大的范畴,那么骑手到店工夫的准确性则会大打折扣。

商户在不同楼层的垂直散布

在 GPS 漂移之外,商户在不同楼层的垂直散布也会给骑手到店的精确断定带来艰难。当商户散布在不同楼层时,即便咱们通过 GPS 判断出骑手曾经在程度方向上达到商户左近,但因为没有垂直方向的信息,咱们依然无奈精确判断出骑手到店的具体工夫。现在越来越多的商户都散布在商场的不同楼层,这部分订单的骑手到店工夫就很难观测。尽管 GPS 会返回一个海拔信息,但在理论的利用中咱们发现这个值往往是不够精确的。

商户环境的动态性和骑手手机的多样性

一些室内定位的办法通过收集特定环境的声音指纹,光指纹或者磁场强度指纹来建设指纹库,而后通过指纹比照来判断手机所处的地位。实践上如果咱们可能采集商户环境的指纹,并和骑手手机收到的信号进行比对,就能够判断骑手是否曾经达到商户。但因为商户环境的动态性,比方装修革新和人来人往带来的实时扰动,咱们很难建设一个稳固的指纹库来进行比对。同时,因为声光磁的指纹收集受到手机硬件的影响,骑手手机的多样性也对指纹库的建设带来很大挑战。

基于 Wi-Fi 的办法的局限性

随着越来越多的室内环境有 Wi-Fi 信号的笼罩,基于 Wi-Fi 信号的室内定位也失去了充沛钻研。但基于 Wi-Fi 办法也有两个局限性:一是继续的 Wi-Fi 扫描会带来极大的能耗累赘,这对于工作极度依赖手机的骑手很不敌对;二是出于隐衷爱护等起因,iOS 零碎只反对获取以后连贯的 Wi-Fi 信息,而不反对获取 Wi-Fi 扫描的列表,但骑手在取餐过程中很少连贯商户的 Wi-Fi。这两个起因导致了基于 Wi-Fi 的定位办法无奈实用于骑手到店的场景。

三 解决方案
当咱们把骑手到店观测问题形象进去,能够发现这是挪动感知(Mobile Sensing)畛域经典的“室内定位(Indoor Localization)”或者“存在监测(Presence Detection)”的问题。挪动感知是指利用挪动设施上的网络信号或声光电磁等传感器信号对用户的地位,行为,场景等进行感知的技术。手机上的计步性能,以及智能手表提供的心率监测和睡眠监测等性能,都是挪动感知技术在生活中的具体利用。近些年来,随着挪动设施的降级,研究者们也在摸索挪动感知的新利用,比方用 Wi-Fi 信号感知键盘敲击和老人摔倒,用手机话筒来检测醉驾,用新的传感器来感知用户的情绪和压力状态等。

这些钻研也给咱们的到店观测问题提供了很多思路,比方基于 Wi-Fi 的室内定位,基于特定光信号和声信号的定位办法等。然而通过下面的探讨咱们能够看出,这些办法都难以很好地解决骑手到店观测问题。针对这一状况,咱们设计并部署了 aBeacon 零碎,一个基于蓝牙信号的挪动感知零碎,来解决骑手到店观测的问题。其实基于蓝牙的挪动感知并不是一个全新的技术,苹果公司在 2013 年提出基于蓝牙的 iBeacon 协定用于挪动感知[1],2016 年蓝牙 5.0 中的新特色(更低功耗,更大范畴)真正让蓝牙感知技术得以落地。蓝牙挪动感知的原理就是通过在特定地位部署一些继续发送蓝牙信号的 Beacon 设施,同时手机进行继续的扫描来感知四周的蓝牙 Beacon 信号,从而来判断手机是否达到了特定地位。

image.png

基于这样的感知技术,咱们建设了 aBeacon 零碎,如图 1 所示,零碎由三局部组成:部署在商户的蓝牙 Beacon 硬件、骑手 APP 内的蓝牙监听模块和平台服务器上的后端模块。在骑手配送过程中,APP 上的蓝牙监听模块会继续监听四周的蓝牙 Beacon 信号,当骑手达到商户左近(比方 10 米范畴内)时,手机会监听到该商户内的蓝牙 Beacon 信号,并把该数据和以后工夫戳上传到服务器,服务器通过和预置的 Beacon 地图进行比对,就能够失去该骑手达到该商户的精确工夫。在 Beacon 硬件方面,咱们采纳了自主定制的硬件,在降低成本的同时保障了蓝牙播送的品质,同时引入了加密技术来爱护商户的地位隐衷。在手机监听模块方面,咱们通过设计一个动静监听模块,在保障到店判断能力的前提下升高了能耗。

比照后面提到的几个挑战,咱们能够发现,因为蓝牙信号本身的个性,Beacon 信号在室内环境的流传仅限于几米到几十米的范畴(置信大家应用蓝牙耳机和鼠标都有相似的感触),因而基于蓝牙的到店判断不会呈现 GPS 那样几百米的误差,能够极大进步骑手到店观测的准确性。同时,因为蓝牙信号的穿墙能力较差,因而只有当骑手达到商户所在的楼层时才会接管到蓝牙信号,这样就防止了商户楼层带来的影响。此外,咱们通过标准化的部署流程,使得 Beacon 硬件部署在商户的骑手取餐处的上方,防止了商户内动静环境的扭转对信号的影响。蓝牙协定的标准化和手机硬件的成熟化也升高了骑手手机硬件对到店观测的影响。此外,因为蓝牙监听属于非连贯通信,骑手应用蓝牙耳机的性能也不会受到影响。最初,和 Wi-Fi 相比,蓝牙监听的功耗也很低,咱们的试验证实,Beacon 监听每天只会给骑手手机带来 3% 的额定功耗累赘。

总体来说,aBeacon 零碎的次要奉献在于将蓝牙感知的技术真正利用到骑手到店观测的问题中,并解决了一系列理论利用中的挑战,比方能耗,可靠性,隐衷爱护等,并且从实践层面上对系统的老本和效用进行剖析,从而领导今后大规模感知零碎的落地。

在零碎的设计中,咱们思考了上面的一些指标:

老本

老本是咱们上线一个商业化的零碎所必须思考的因素之一。aBeacon 零碎的老本包含两局部:aBeacon 设施的硬件老本,和大规模部署的老本。在硬件老本方面,咱们通过对硬件的定制来降低成本。在部署老本方面,咱们通过简化硬件部署的流程,从而在业务经理的帮忙下升高部署老本。

寿命

出于易用性的思考,咱们的 aBeacon 硬件采纳了电池供电的形式。这样电池的容量就成为了限度零碎寿命的次要因素。但在两年的运行之后,咱们发现除了电池的寿命,环境变动也是影响零碎寿命的重要因素。

可靠性

可靠性是指在所有的骑手到店行为中,有多大比例能够被 aBeacon 零碎观测到。在理论中,可靠性受到包含部署品质,商户环境,骑手手机等诸多因素的影响。

效用

骑手到店观测给整个零碎提供了更精确的数据,它带来的效用是根底但难以间接掂量的,因而咱们采纳超时率这一掂量整个调度零碎的指标来评估 aBeacon 的效用。

在零碎的设计过程中,咱们首先量化了下面的四个指标,而后建设这四个指标和咱们要优化的终极目标——aBeacon 带来的累积收益——之间的量化关系。因而,咱们能够在这个量化关系的领导下对各个因素进行衡量。

在这样的设计思路的领导下,aBeacon 零碎的部署和运行次要蕴含了两个次要环节:

设计与测试

基于老本和设计自由度的思考,咱们抉择自主定制 aBeacon 设施,同时自主定制还能让咱们嵌入隐衷爱护等其余性能。在大规模的部署前,咱们筛选了几个商场进行小规模的测试。在测试中,咱们将自主定制的 aBeacon 设施和另一种商用的 Beacon 设施同时部署在商户里。通过比照测试,咱们发现采纳自主定制的 aBeacon 设施能够在压缩老本的同时达到和商用 Beacon 设施同样的可靠性。

image.png

部署与运行

在小规模测试后,从 2018 年 1 月开始,如图 2 所示,咱们在上海的 12000 余家商户里部署了 aBeacon 设施。咱们用一份蕴含“部署在哪里”、“怎么固定”、“如何绑定”等问题的部署手册来领导业务经理进行部署。在运行过程中,咱们通过后盾收集的数据,能够对所有设施进行实时监控,所有设施被分类为“衰弱”、“部署谬误”、“下线”等状态。咱们针对不同的设施还能够采取不同的保护措施,比方针对“部署谬误”的设施进行重新部署。

另一个很重要的问题是系统安全和隐衷爱护,这也是咱们在 aBeacon 设施的定制过程中作出的重要改良之一。因为传统的 iBeacon 协定是固定 ID 的明文播送,可能导致系统的安全性破绽。比方:

未受权的用户可能通过和平驾驶(wardriving)[2] 的办法来反推出 Beacon 设施的地位,并用于其余目标。
歹意攻击者可能通过在异地复制已有 Beacon 设施的蓝牙播送,向零碎中注入谬误的地位数据。
针对这一问题,咱们在自主定制的设施中对蓝牙播送进行加密,通过一种 TOTP[3]的加密算法,让所有 aBeacon 设施播送的 ID 内容定时进行变更,而 ID 和设施地位的映射关系存在只有受权用户能够拜访服务器。这样极大地提高了零碎的安全性。

四 成果
为了评估 aBeacon 零碎给整个配送过程带来的成果,咱们采纳了“超时率”这一总体指标作为指标。咱们用上海未部署 aBeacon 设施的一万多家商户作为参照,来评估部署了 aBeacon 设施的商户在部署前后超时率的变动。通过比照咱们发现,在总体上,通过一年的运行,aBeacon 零碎能够将超时率升高 0.24%,这使得咱们每年能够缩小超过 7 余万超时配送订单。

image.png

同时咱们还发现,aBeacon 零碎在不同楼层和不同的地区体现出较大的差异性。如图 3 所示,部署在 B2 层和 4 / 5 层的设施能够带来更大的效用,这其实也印证了咱们后面的剖析,骑手在这些楼层商户的精确到店工夫更难观测,通过部署 aBeacon 设施,咱们能够在这些商户获得更大的效用。

迄今为止,aBeacon 零碎为上海超过 10 万骑手提供精确的到店观测剖析,通过一直优化骑手配送流程,每年可缩小超过 7 余万超时配送订单,为超过 700 万的用户人群提供更优质服务。

五 探讨与发现
作为一篇介绍挪动感知技术大规模利用的文章,咱们在零碎设计和部署过程中的发现心愿能给后来者的工作带来更多启发。总的来说,咱们的发现包含以下两个方面:

(1)系统可靠性。在挪动感知畛域,研究者们为咱们带来了很多新的想法。但这些想法在理论落地的过程中都会遇到可靠性的问题,咱们用 aBeacon 零碎的部署过程阐明了,即便是用蓝牙信号进行存在感知这样一个简略的利用,零碎的可靠性也会受到硬件设施的部署和用户手机硬件等诸多因素的影响。因而在当前的钻研中,咱们须要在零碎设计的过程中更多地思考这些因素,让零碎就有更强的鲁棒性。

(2)aBeacon 零碎的局限之一就是咱们还须要部署和保护硬件设施,在起初的工作中,咱们仍在摸索采纳已有的终端设备作为虚构的 aBeacon 设施用以辅助骑手的定位。基于此,咱们正在发展 aBeacon+ 零碎的钻研工作,解决一些相干的问题,比方终端设备本身定位,以及隐衷爱护等。

六 总结
基于 aBeacon 零碎,阿里本地生存科技核心的论文“From Conception to Retirement : a Lifetime Story of a 3-Year-Old Operational Wireless Beacon System in the Wild”被计算机网络零碎畛域的顶级会议 NSDI’21 收录。作为首篇基于本地生存场景的零碎论文,这也代表了阿里本地生存科技核心在挪动感知方面的工作失去了来自网络系统畛域顶级会议的认可。在落地利用后,通过获取更精确的骑手到店和离店工夫,该零碎为全国超过 10 万骑手提供精确的到店观测剖析,通过一直优化骑手配送流程,每年可缩小超过 7 余万超时配送订单,为超过 700 万的用户人群提供优质服务。将来,在阿里巴巴本地生存和新批发的业务布局下,咱们还会继续增强相干畛域的钻研,将更多前沿技术投入到更多场景的经营剖析中,施展出更多作用,用技术服务用户。

原文链接:http://click.aliyun.com/m/100…

本文为阿里云原创内容,未经容许不得转载。

正文完
 0