当前位置: 首页 > 科技观察

送外卖也需要“黑科技”?阿里移动传感技术应用揭秘

时间:2023-03-21 22:36:50 科技观察

外卖骑手在外卖路上的位置,不仅牵动着每个人的心,更是本地生活场景中订单配送、调度系统的重要一环。其中,骑手是否到店取餐看似简单,却很难准确观察。针对这一问题,阿里本地生活技术中心建立了基于移动感知的Beacon系统,准确观察骑手的到达和离开行为。这项工作的成果也发表在了网络系统领域的顶级会议NSDI'21上。本文将从实现原理上给大家做一个简单的介绍。1背景作为当地生活的重要组成部分,外卖已经走进千家万户。相信很多朋友都注意到了,饿了么的每笔订单,我们都会及时通知用户订单的当前状态,比如“商家收到订单”、“骑手到达门店”、“骑手送货”等。.这种实时的状态更新,不仅可以让用户及时知道自己的外卖送餐地点,对于整个平台的骑手排班和时间预估也具有重要意义。在所有的节点中,骑手到店前后的两个节点,“骑手到店”和“骑手取餐”,对整个平台的价值来说是比较重要的,主要体现在以下几个方面三方面:骑手到达门店的时间预估时间为骑手从接单地点到商家所在地的结束时间,骑手离开门店的时间为开始骑手从商家所在地到用户所在地的时间。掌握这些准确的时间可以为模型训练的时间预测模型提供准确的标签。我们在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的定位方式无法应用于骑手到达门店的场景。三种解决方案当我们将骑手到店的问题抽象出来后,我们可以发现这是一个经典的移动传感领域的“室内定位”或“存在检测”问题。移动感知是指在移动设备上利用网络信号或声光、电磁等传感信号感知用户的位置、行为、场景等的技术。手机上的计步功能,以及智能手表提供的心率监测和睡眠监测功能,都是移动传感技术在生活中的具体应用。近年来,随着移动设备的升级换代,研究人员也在探索移动感知的新应用,如利用Wi-Fi信号检测键盘敲击和老年人跌倒、利用手机麦克风检测酒驾、利用新型传感器等来检测感知用户的情绪和压力状态等。这些研究也为我们的门店观察问题提供了很多思路,比如基于Wi-Fi的室内定位,基于特定光信号和声信号的定位方法等。但是,通过上面的讨论,我们可以看出,这些方式都很难很好的解决骑手的到店问题。针对这种情况,我们设计并部署了基于蓝牙信号的移动感知系统aBeacon系统,解决骑手到店的问题。事实上,基于蓝牙的移动传感并不是一项新技术。苹果在2013年提出了基于蓝牙的移动感知iBeacon协议[1],2016年蓝牙5.0中的新特性(更低功耗,更大范围)真正让蓝牙感知技术落地。蓝牙移动感应的原理是在特定位置部署一些持续发送蓝牙信号的Beacon设备,同时手机进行持续扫描,感应周围的蓝牙Beacon信号,从而判断手机是否有到达了一个特定的位置。图1aBeacon系统示意图基于这样的传感技术,我们建立了aBeacon系统,如图1所示,该系统由三部分组成:部署在商户的蓝牙Beacon硬件、骑手的蓝牙监控模块APP,平台服务器。后端模块。在骑手送货过程中,APP上的蓝牙监控模块会持续监控周围的蓝牙Beacon信号。将数据和当前时间戳上传至服务器,服务器通过与预设的Beacon地图进行比对,获取骑手到达商户的准确时间。Beacon硬件方面,我们采用自主定制的硬件,在保证蓝牙广播质量的同时降低成本。同时引入加密技术,保护商户位置隐私。在手机监控模块方面,我们设计了动态监控模块,在保证到店判断能力的前提下,降低能耗。对比上面提到的挑战,我们可以发现,由于蓝牙信号本身的特性,Beacon信号在室内环境中的传播被限制在几米到几十米的范围内(相信使用过的人都蓝牙耳机和鼠标都有类似的感受),所以基于蓝牙的到店判断不会像GPS一样出现几百米的误差,可以大大提高骑手的到店观察准确率。同时,由于蓝牙信号穿墙能力较差,骑行者只有到达商户所在楼层才会接收到蓝牙信号,避免了商户楼层的影响。此外,通过标准化部署流程,将Beacon硬件部署在商户骑手取餐区上方,避免商户内部动态环境变化对信号的影响。蓝牙协议的标准化和手机硬件的成熟也降低了骑手手机硬件对门店观察的影响。另外,由于蓝牙监控是非连接通讯,骑手使用蓝牙耳机也不会受到影响。最后,与Wi-Fi相比,蓝牙监控的功耗也很低。我们的实验证明,Beacon监控每天只会给骑行者的手机带来3%的额外电量消耗。总的来说,aBeacon系统的主要贡献是将蓝牙感知技术应用到骑手到店问题上,解决了实际应用中的一系列挑战,如能耗、可靠性、隐私保护等,并从理论层面分析系统的成本和效用,以指导未来大规模传感系统的实施。在系统的设计中,我们考虑了以下指标:成本成本是我们在推出商业系统时必须考虑的因素之一。aBeacon系统的成本包括两部分:aBeacon设备的硬件成本,以及大规模部署的成本。在硬件成本方面,我们通过定制硬件来降低成本。在部署成本方面,我们通过简化硬件部署流程,在业务经理的帮助下降低部署成本。寿命为了便于使用,我们的aBeacon硬件由电池供电。这样一来,电池的容量就成为限制系统寿命的主要因素。但经过两年的运行,我们发现除了电池的寿命,环境的变化也是影响系统寿命的重要因素。可靠性可靠性是指aBeacon系统可以观察到的所有骑手访问的百分比。在实践中,可靠性受部署质量、商户环境、骑手手机等多种因素影响。对公共事业骑手到商店的观察为整个系统提供了更准确的数据。它带来的效用是基本的,但很难直接衡量。所以我们用超时率这个衡量整个调度系统的指标来评价aBeacon的效用。在系统设计过程中,我们首先对上述四个指标进行量化,然后建立这四个指标与我们要优化的最终目标——aBeacon带来的累积收益之间的量化关系。因此,我们可以在这个定量关系的指导下对各个因素进行权衡。在这样的设计思路指导下,aBeacon系统的部署和运行主要包括两个主要环节:设计和测试。基于成本和设计自由度的考虑,我们选择自主定制aBeacon设备,同时自主定制还可以让我们嵌入隐私保护等功能。在大规模部署之前,我们选择了几个商场进行小规模测试。在测试中,我们在商户中同时部署了自己定制的aBeacon设备和另一台商用Beacon设备。通过对比测试,我们发现使用自主定制的aBeacon设备可以在降低成本的同时达到与商用Beacon设备相同的可靠性。图2aBeacon设备在上海的部署和运营经过小规模测试,从2018年1月开始,如图2所示,我们在上海12000多家商户部署了aBeacon设备。我们使用包含“在哪里部署”、“如何修复”、“如何绑定”等问题的部署手册来指导业务经理进行部署。在运行过程中,我们可以通过后台采集的数据实时监控所有设备,将所有设备分类为“健康”、“部署错误”、“离线”等状态。我们还可以针对不同的设备采取不同的维护措施,比如对“部署错误”的设备进行重新部署。另外一个很重要的问题就是系统安全和隐私保护,这也是我们在aBeacon设备定制过程中所做的重要改进之一。由于传统的iBeacon协议采用固定ID的明文广播方式,可能会导致系统出现安全漏洞。例如:未经授权的用户可能会通过wardriving[2]推断出Beacon设备的位置并将其用于其他目的。恶意攻击者可能通过在不同地方复制现有Beacon设备的蓝牙广播,将虚假位置数据注入系统。为了解决这个问题,我们在自定义设备中对蓝牙广播进行加密,采用TOTP[3]加密算法定时更改所有aBeacon设备广播的ID内容,ID与设备位置的映射关系存在仅授权用户可以访问服务器。这大大提高了系统的安全性。4.效果为了评价aBeacon系统对整个配送过程的效果,我们采用“超时率”这个综合指标作为指标。我们以上海10000多家未部署aBeacon设备的商户作为参考,评估部署aBeacon设备的商户在部署前后超时率的变化。通过对比我们发现,一般情况下,aBeacon系统运行一年后,可以降低0.24%的加班率,这让我们每年可以减少7万多个加班订单。图3aBeacon系统在不同楼层和不同区域的效果同时,我们还发现aBeacon系统在不同楼层和不同区域表现出很大的差异。如图3所示,部署在B2层和4/5层的设备可以带来更大的效用,这其实也印证了我们之前的分析。更难观察到骑手到达这些楼层的确切时间。通过部署aBeacon设备,我们可以在这些商户中实现更大的效用。截至目前,aBeacon系统已为上海超过10万骑手提供精准的店内观察和分析。通过不断优化骑手派送流程,每年可减少超过7万笔超时派送订单,为超过700万用户群体提供更优质的服务。V.DiscussionAndFindings作为一篇介绍移动传感技术大规模应用的文章,我们希望我们在系统设计和部署过程中的发现能给后来者的工作带来更多的启发。总体而言,我们的发现包括以下两个方面:(1)系统可靠性。在移动感知领域,研究人员给我们带来了很多新的想法。然而,这些想法在实际实施过程中会遇到可靠性问题。我们用aBeacon系统的部署过程来说明,即使是一个简单的应用,比如使用蓝牙信号进行存在感知,系统的可靠性也会受到硬件设备的影响。部署与用户的手机硬件等诸多因素有关。因此,在未来的研究中,我们需要在系统设计的过程中更多地考虑这些因素,使系统更加健壮。(2)aBeacon系统的局限之一是我们仍然需要部署和维护硬件设备。在后期的工作中,我们还在探索利用现有的终端设备作为虚拟aBeacon设备来辅助骑手定位。基于此,我们正在开展aBeacon+系统的研究工作,以解决终端设备自身定位、隐私保护等相关问题。6.总结基于aBeacon系统,阿里本地生命技术中心的论文《FromConceptiontoRetire:aLifetimeStoryofa3-Year-OldOperationalWirelessBeaconSystemintheWild》被NSDI'21收录,置顶计算机网络系统领域的会议。作为第一篇基于本地生活场景的系统论文,这也代表着阿里本地生活科技中心在移动感知方面的工作得到了网络系统领域顶级会议的认可。应用后,系统通过获取更准确的骑手到发时间,为全国超过10万名骑手提供准确的观察和分析。通过不断优化骑手配送流程,每年可减少7万余次超时配送。订单,为超过700万用户群体提供优质服务。未来,在阿里巴巴本地生活和新零售的业务布局下,我们将继续加强相关领域的研究,将更多前沿技术投入到更多场景的运营分析中,发挥更多作用,用技术服务用户.参考文献[1]AppleInc.iBeacon。https://developer.apple.com/ibeacon/,2020[2]维基百科,Wardriving,https://en.wikipedia.org/wiki/Wardriving,2020[3]维基百科。基于时间的一次性密码,https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm,2020。【本文为专栏作者《阿里巴巴官方技术》原创稿件,转载请联系原作者转载】戳这里,阅读本作者更多好文