订单的处理方法、装置、计算机设备及存储介质与流程

文档序号:19476143发布日期:2019-12-21 02:49阅读:169来源:国知局
订单的处理方法、装置、计算机设备及存储介质与流程

本申请涉及计算机信息处理技术领域,特别是涉及一种订单的处理方法、装置、计算机设备及存储介质。



背景技术:

随着社会经济的发展和进步,小轿车已渐渐步入寻常百姓的家庭,成为居民出行的必备工具。在车主的行车过程中,轿车往往会留有空余的座位,导致座位资源的浪费。因此,出现了顺风车(又称为拼车、搭便车),即在出行过程中可以给同一条路线上的乘客顺便提供搭载服务。

一般情况下,在乘客通过打车软件下单后,服务器将乘客订单进行广播。在车主完成行程订单的发布后,打车软件跳转到乘客行程订单列表。车主可以通过乘客行程订单列表选择与自己行程在起止地点、出发时刻、出行人数相匹配的订单。

但是,在传统技术中,车主在选择乘客行程订单的过程中存在效率低下的技术问题。



技术实现要素:

基于此,有必要针对传统技术中车主在选择乘客行程订单的过程中存在的效率低下的技术问题,提供一种订单的处理方法、装置、计算机设备及存储介质。

一种订单的处理方法,所述方法包括:

获取司机订单信息和乘客订单信息,所述司机订单信息包括司机起点坐标和司机终点坐标,所述乘客订单信息包括乘客起点坐标和乘客终点坐标;

根据所述司机起点坐标和所述司机终点坐标,确定司机驾车路线的外接区域;

根据所述乘客订单信息和所述司机订单信息,判断乘客订单与司机订单是否匹配,若匹配,则确定所述司机订单与乘客订单的匹配结果;

根据所述乘客起点坐标、所述乘客终点坐标和所述外接区域内途经点的坐标集合,计算所述乘客订单与所述司机订单之间的顺路度;

若所述顺路度不小于预设顺路度阈值,从所述司机订单与乘客订单的匹配结果中,选择所述顺路度所对应的所述乘客订单、所述司机订单分别作为推荐的乘客订单、推荐的司机订单。

上述订单的处理方法,通过根据乘客起点坐标、乘客终点坐标和外接区域内途经点的坐标集合,计算乘客订单与司机订单之间的顺路度;若顺路度不小于预设顺路度阈值,从司机订单与乘客订单的匹配结果中,选择顺路度所对应的乘客订单、司机订单分别作为推荐的乘客订单、推荐的司机订单。实现在司机订单与乘客订单的匹配结果中确定顺路度不小于预设顺路度阈值的乘客订单和司机订单,可以快速地为乘客提供匹配的司机订单、为司机提供匹乘客订单,解决了司机在选择乘客订单或者乘客选择司机订单时存在的效率低的技术问题。

附图说明

图1a为一个实施例中订单的处理方法的应用环境图;

图1b为一个实施例中乘客终端显示司机订单详情列表的示意图;

图1c为一个实施例中司机终端显示乘客订单详情列表的示意图;

图2为一个实施例中订单的处理方法的流程示意图;

图3为一个实施例中司机订单设置界面的示意图;

图4为一个实施例中订单的处理方法的流程示意图;

图5为一个实施例中订单的处理方法的流程示意图;

图6为一个实施例中订单的处理方法的流程示意图;

图7为一个实施例中订单的处理方法的流程示意图;

图8为一个实施例中订单的处理方法的流程示意图;

图9为一个实施例中订单的处理装置的结构框图;

图10为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

请参见图1a,本申请一个实施例提供的应用环境的示意图。该应用环境可以包括:司机终端110、与司机终端110通信连接的服务器120和与服务器120通信连接的乘客终端130。司机终端110和乘客终端130分别安装有出行的应用程序。司机通过司机终端110上的应用程序设置司机出发时刻、可提供座位数、顺路度、是否开启自动接单,还可以设置司机起点和司机终点等,通过触发确定按钮发布对应的司机订单。乘客通过乘客终端130上的应用程序设置乘客出发时刻、乘车人数,还可以设置乘客起点和乘客终点等,通过触发确定按钮发布对应的乘客订单。服务器120接收乘客订单信息和司机订单信息,并将乘客订单信息和司机订单信息保存。服务器120获取司机订单信息和乘客订单信息,司机订单信息包括司机起点坐标和司机终点坐标,乘客订单信息包括乘客起点坐标和乘客终点坐标;根据司机起点坐标和司机终点坐标,确定司机驾车路线的外接区域;根据乘客订单信息和司机订单信息,判断乘客订单与司机订单是否匹配,若匹配,则确定司机订单与乘客订单的匹配结果;根据乘客起点坐标、乘客终点坐标和外接区域内途经点的坐标集合,计算乘客订单与司机订单之间的顺路度;若顺路度不小于预设顺路度阈值,从司机订单与乘客订单的匹配结果中,选择顺路度所对应的乘客订单、司机订单分别作为推荐的乘客订单、推荐的司机订单。请参见图1b,服务器120将推荐的司机订单推送至乘客终端130,乘客终端130显示司机订单详情列表。请参见图1c,服务器120将推荐的乘客订单推送给司机终端110,司机终端110显示乘客订单详情列表。进一步地,若司机终端开启自动接单功能,符合司机终端抢单条件的订单会被自动接单,并将司机终端和乘客终端发布的订单进行关联。若司机终端没有开启自动接单功能,则符合条件的乘客订单只会推送到司机终端的乘客订单列表,并不会对订单进行关联。可以理解的是,司机终端110、乘客终端130可以是诸如手机、平板电脑、电子书阅读器、多媒体播放设备、可穿戴设备、pc等电子设备。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种订单的处理方法。以该方法应用于图1的服务器120中为例进行说明,包括以下步骤:

s210、获取司机订单信息和乘客订单信息。

其中,司机订单信息包括司机起点坐标和司机终点坐标,乘客订单信息包括乘客起点坐标和乘客终点坐标。具体地,当司机使用司机终端提交司机订单时,将已经设置的司机订单信息发送至服务器,服务器接收到司机订单信息并保存,可以保存至该服务器本地,也可以保存至与该服务器通信连接的另一服务器。当乘客使用乘客终端提交乘客订单时,将已经设置的乘客订单信息发送至服务器,服务器接收到乘客订单信息并保存,可以保存至该服务器本地,也可以保存至与该服务器通信连接的另一服务器。当司机终端或者乘客终端开启自动接单功能时,服务器可以从本地获取司机订单信息和乘客订单信息,也可以从与该服务器通信连接的另一台服务器获取司机订单信息和乘客订单信息。

s220、根据司机起点坐标和司机终点坐标,确定司机驾车路线的外接区域。

其中,司机驾车路线是指自司机起点至司机终点规划的驾车路线,该司机驾车路线具有一个向驾车路线四周扩张的外接区域,外接区域可以是四边形等多边形形状,该外接区域覆盖规划的驾车路线的所有途经点。具体地,服务器接收到司机订单信息,司机订单信息中包括司机起点坐标和司机终点坐标,可以在服务器本地根据司机起点坐标和司机终点坐标确定经过司机起点和司机终点的直线,根据经过司机起点和司机终点的直线、司机起点坐标以及司机终点坐标确定司机驾车路线的外接区域,司机起点坐标以及司机终点坐标位于该外接区域内。进一步地,设置外接区域的调节系数对外接区域的大小进行调节,或者设置向外延伸的距离对外接区域的大小进行调节。优选地,外接区域可以是矩形,根据司机起点坐标和司机终点坐标确定一条直线,将矩形外接区域的对角线设置在该条直线上,且自司机起点与司机终点向外扩张一段预设距离确定矩形外接区域的两个顶点,从而可以确定司机驾车路线的矩形外接区域。司机起点和司机终点可以位于矩形外接区域内部,并不与矩形外接区域的顶点重合。

s230、根据乘客订单信息和司机订单信息,判断乘客订单与司机订单是否匹配,若匹配,则确定司机订单与乘客订单的匹配结果。

具体地,乘客订单信息可以反映乘客的用车需求,司机订单信息可以反映司机的行程安排,将乘客订单信息与司机订单信息进行比较,判断乘客的用车需求与司机的行程安排是否相互匹配,即判断乘客订单与司机订单是否匹配。若两者匹配,确定司机订单与乘客订单的匹配结果。可以理解的是,司机订单与乘客订单的匹配结果可以是乘客订单与司机订单的对应关系列表。且与司机订单匹配的乘客订单数量大于等于1。

s240、根据乘客起点坐标、乘客终点坐标和外接区域内途经点的坐标集合,计算乘客订单与司机订单之间的顺路度。

其中,顺路度是用于评价司机是否为乘客提供顺风车的一个参数,顺路度可以是以司机驾车路线为基准,乘客起点和乘客终点确定的乘客路线与司机驾车路线的匹配程度。具体地,为了评价司机是否为乘客提供顺风车,需要评估司机直接从司机起点至司机终点的原始驾车路线与司机提供顺风车后的接单驾车路线的拟合度。由于已知乘客订单信息中的乘客起点坐标、乘客终点坐标,且根据司机订单信息中的司机起点坐标和司机终点坐标确定了司机驾车路线的外接区域,该外接区域覆盖驾车路线的所有途经点,则根据乘客起点坐标、乘客终点坐标和外接区域内途经点的坐标集合进行计算,得到乘客订单与司机订单之间的顺路度,以评估司机接单的代价。

s250、若顺路度不小于预设顺路度阈值,从司机订单与乘客订单的匹配结果中,选择顺路度所对应的乘客订单、司机订单分别作为推荐的乘客订单、推荐的司机订单。

其中,预设顺路度阈值是司机通过司机终端设置的与乘客订单匹配的条件,预设顺路度阈值的大小可以根据乘客订单的数量或者地理位置而设定。当乘客订单与司机订单之间的顺路度超过预设顺路度阈值,可以将该乘客订单推荐至该司机终端。具体地,司机通过司机终端设置预设顺路度阈值,将计算的乘客订单与司机订单之间的顺路度与预设顺路度阈值进行比较,若顺路度不小于预设顺路度阈值,从司机订单与乘客订单的匹配结果中,选择顺路度所对应的乘客订单作为推荐的乘客订单,选择顺路度所对应的司机订单作为推荐的司机订单。

本实施例中,通过获取司机订单信息和乘客订单信息,且司机订单信息包括司机起点坐标和司机终点坐标,乘客订单信息包括乘客起点坐标和乘客终点坐标;根据司机起点坐标和司机终点坐标,确定司机驾车路线的外接区域;根据乘客订单信息和司机订单信息,判断乘客订单与司机订单是否匹配,若匹配,则确定司机订单与乘客订单的匹配结果;根据乘客起点坐标、乘客终点坐标和外接区域内途经点的坐标集合,计算乘客订单与司机订单之间的顺路度;若顺路度不小于预设顺路度阈值,从司机订单与乘客订单的匹配结果中,选择顺路度所对应的乘客订单、司机订单分别作为推荐的乘客订单、推荐的司机订单。实现在司机订单与乘客订单的匹配结果中确定顺路度不小于预设顺路度阈值的乘客订单和司机订单,可以快速地为乘客提供匹配的司机订单、为司机提供匹乘客订单,解决了司机在选择乘客订单或者乘客选择司机订单时存在的效率低的技术问题。

在一个实施例中,司机订单信息还包括司机出发时刻和可载人数;乘客订单信息还包括乘客出发时刻和乘车人数。根据乘客订单信息和司机订单信息,判断乘客订单与司机订单是否匹配,若匹配,则确定与司机订单匹配的乘客订单,包括:判断乘客出发时刻与司机出发时刻之间的时间间隔是否不大于预设时间阈值;判断乘车人数是否不大于可载人数;若乘客出发时刻与司机出发时刻之间的时间间隔不大于预设时间阈值,且乘车人数不大于可载人数,则判定乘客订单与司机订单匹配,并确定与司机订单匹配的乘客订单。

具体地,乘客通过乘客终端提交乘客订单信息至服务器,乘客订单信息包括乘客出发时刻和乘车人数。司机通过司机终端提交司机订单信息至服务器,司机订单信息还包括司机出发时刻和可载人数。可以理解的是,乘客订单信息和司机订单信息都还包括其他参数,比如乘客订单信息还包括是否愿意拼座,此处不做具体限定。当服务器接收到乘客订单信息时,查找对应的司机终端,并获取司机终端设置的司机订单信息,根据乘客订单信息和司机订单信息进行匹配。服务器根据乘客出发时刻和司机出发时刻计算两者的时间间隔,将乘客出发时刻与司机出发时刻之间的时间间隔与预设时间阈值进行比较以判断司机订单与乘客订单是否匹配。服务器将乘车人数与可载人数进行比较以判断司机订单与乘客订单是否匹配。当乘客出发时刻与司机出发时刻之间的时间间隔不大于预设时间阈值且乘车人数不大于可载人数时,判定乘客订单与司机订单匹配,并确定与司机订单匹配的乘客订单。进一步地,在确定与司机订单匹配的乘客订单之后,开始查找开启自动接单功能的司机终端,可以根据开启自动接单功能的司机终端设置的司机订单信息从匹配的乘客订单中选择符合抢单条件且顺路度最高的乘客订单,并建立司机终端与该乘客订单的对应关系。

示例性地,如图3所示,司机的出发时刻:取司机发布行程时设置的出发时刻,允许修改,发布的行程为市内行程时,可以将出发时刻设置为前后15分钟、前后30分钟、前后1小时,默认选择前后15分钟,发布的行程为跨城行程时,可设置为前后30分钟、前后45分钟、前后1小时,默认前后30分钟。司机提供的可载人数:枚举1、2、3、4座,允许修改。抢单为乘客出行人数小于或者等于设置座位数的行程。

本实施例中,当乘客出发时刻与司机出发时刻之间的时间间隔不大于预设时间阈值且乘车人数不大于可载人数时,判定乘客订单与司机订单匹配,并确定与司机订单匹配的乘客订单。使得乘客订单与司机订单匹配更加合理,增加了乘客订单与司机订单自动匹配成功的概率。

在一个实施例中,如图4所示,根据乘客订单信息和司机订单信息,判断乘客订单与司机订单是否匹配,包括以下步骤:

s410、根据司机起点坐标与乘客起点坐标,估算自司机起点到达乘客起点所需的行车时长;

s420、根据司机出发时刻和行车时长,计算司机到达乘客起点的时刻;

s430、根据司机到达乘客起点的时刻与乘客出发时刻,计算司机等待乘客的时长;

s440、若司机等待乘客的时长不大于预设的时间阈值,判定司机订单与乘客订单匹配。

具体地,根据司机起点坐标与每个乘客起点坐标,可以根据第三方导航得出从司机起点到乘客起点位置所需的时长,并根据司机出发时刻和司机到达每个乘客起点所需的行车时长,计算司机到达乘客起点的时刻,计算机到达乘客起点的时刻与乘客出发时刻的时间间隔,即为司机等待乘客的时长。为了防止司机等待乘客过长时间,通过预设的时间阈值进行限定。将司机等待乘客的时长与预设的时间阈值进行比较,若司机等待乘客的时长不大于预设的时间阈值,判定司机订单与乘客订单匹配。可以理解的是,为了防止乘客等待司机过长时间,同样可以通过预设的时间阈值进行限定,比如预设的时间可以为正以限定司机等待乘客的时长,可以为负以限定乘客等待司机的时长,在此不再赘述。

本实施例中,通过计算司机等待乘客的时长,并根据司机等待乘客的时长判断司机订单为乘客订单是否合理,避免等待时间过长,使得乘客订单与司机订单匹配更加合理,提升乘客和司机的出行效率。

在一个实施例中,若司机等待乘客的时长不大于预设的时间阈值,判定司机订单与乘客订单匹配,包括:判断司机等待乘客的时长是否不大于预设的第一时间阈值;若司机等待乘客的时长不大于预设的第一时间阈值,则判断司机等待乘客的时长是否不大于预设的第二时间阈值,其中,第二时间阈值不大于第一时间阈值;若司机等待乘客的时长不大于预设的第二时间阈值,判定司机订单与乘客订单匹配。

其中,为了减轻服务器的计算压力,通过设置第一时间阈值和第二时间阈值完成司机订单与乘客订单匹配工作,且第二时间阈值不大于第一时间阈值。即采用较大的第一时间阈值粗略的完成司机订单与乘客订单的匹配工作,采用较小的第二时间阈值进一步地缩小司机订单与乘客订单之间匹配结果的范围,从中精确地筛选出匹配度更高的订单,使得乘客订单与司机订单匹配更加合理。具体地,将司机等待乘客的时长与预设的第一时间阈值进行比较,对司机订单或者乘客订单进行初步的粗略筛选。若司机等待乘客的时长不大于预设的第一时间阈值,将司机等待乘客的时长与预设的第二时间阈值进行比较,对粗略筛选得到的司机订单或者乘客订单进一步地精确筛选。当司机等待乘客的时长不大于预设的第二时间阈值时,判定司机订单与乘客订单匹配。

本实施例中,通过设置第一时间阈值和第二时间阈值,对司机订单或者乘客订单进行粗略筛选和精确筛选,分两次完成司机订单与乘客订单的匹配工作,得到更加精确地匹配结果,提升乘客和司机的出行效率,避免服务器端无法正确且高效地完成匹配过程。

在一个实施例中,如图5所示,根据司机起点坐标与乘客起点坐标,估算自司机起点到达乘客起点所需的行车时长,包括以下步骤:

s510、根据司机起点坐标与乘客起点坐标确定司机接上乘客的行车距离;

s520、根据行车速度和司机接上乘客的行车距离,估算自司机起点到达乘客起点所需的行车时长;

若司机等待乘客的时长不大于预设的时间阈值,判定司机订单与乘客订单匹配,包括:

s530、若司机接上乘客的行车距离不大于预设的距离阈值且司机等待乘客的时长不大于预设的时间阈值,判定司机订单与乘客订单匹配。

具体地,为了接乘客,司机驾车从司机起点前往乘客起点,服务器已知司机起点坐标和乘客起点坐标,可以根据司机起点坐标与乘客起点坐标规划司机接上乘客的行车路线并获得司机接上乘客的行车距离。根据行车速度和司机接上乘客的行车距离得到自司机起点到达乘客起点所需的行车时长。为了使得乘客起点与司机起点之间的距离在一个合理范围内,且提高司机空余座位的利用率,可以设置一个预设的距离阈值,根据司机与乘客的各自的起点计算出司机接上乘客的行车距离,该距离必须在预设的距离阈值以内。预设的距离阈值可以根据实际情况比如地理位置、出发日期而设定。将司机接上乘客的行车距离与预设的距离阈值进行比较,若司机接上乘客的行车距离不大于预设的距离阈值且司机等待乘客的时长不大于预设的时间阈值,判定司机订单与乘客订单匹配。

本实施例中,从距离和时间两方面提出乘客订单与司机订单的匹配条件,不仅提升司机空余座位的利用率,而且使得乘客订单与司机订单匹配更加合理。

在一个实施例中,如图6所示,在根据司机起点坐标和司机终点坐标,确定司机驾车路线的外接区域之后,该方法还包括:

s610、判断乘客起点坐标和乘客终点坐标是否位于外接区域内;

根据乘客订单信息和司机订单信息,判断乘客订单与司机订单是否匹配,若匹配,则确定与司机订单匹配的乘客订单,包括:

s620、若乘客起点坐标和乘客终点坐标位于外接区域内,则判定乘客订单与司机订单匹配。

具体地,为了避免司机接单导致过多额外的行车路程,对乘客起点的位置和乘客终点的位置进行限定,需要将乘客起点和乘客终点限定在司机驾车路线的外接区域内。服务器获取司机订单信息和乘客订单信息,乘客订单信息包括乘客起点坐标和乘客终点坐标,司机订单信息包括司机起点坐标和司机终点坐标。根据司机起点坐标和司机终点坐标,确定司机驾车路线的外接区域,从而判断乘客起点坐标和乘客终点坐标是否位于外接区域内。若乘客起点坐标和乘客终点坐标位于外接区域内,则判定乘客订单与司机订单匹配。

在一个实施例中,如图7所示,根据乘客起点坐标、乘客终点坐标和外接区域内途经点的坐标集合,计算乘客订单与司机订单之间的顺路度,包括以下步骤:

s710、从外接区域内途经点的坐标集合中确定距离乘客起点最近的点,计算距离乘客起点最近的点与乘客起点之间的第一行车距离;

s720、从外接区域内途经点的坐标集合中确定距离乘客终点最近的点,计算距离乘客终点最近的点与乘客终点之间的第二行车距离;

s730、根据司机起点坐标与乘客起点坐标,计算司机起点与乘客起点之间的第一直线距离;

s740、根据司机终点坐标与乘客终点坐标,计算司机终点与乘客终点之间的第二直线距离;

s750、根据司机起点和司机终点之间的原始行车距离、第一行车距离、第二行车距离、第一直线距离和第二直线距离进行计算,得到乘客订单与司机订单之间的顺路度。

具体地,该司机驾车路线具有一个向驾车路线四周扩张的外接区域,该外接区域覆盖规划的驾车路线的所有途经点。通过计算外接区域内各个途经点与乘客起点、乘客终点之间的距离,从而在外接区域内途经点的坐标集合中确定距离乘客起点最近的点和距离乘客终点最近的点。为了计算乘客订单与司机订单之间的顺路度,还需要计算距离乘客起点最近的点与乘客起点之间的第一行车距离以及距离乘客终点最近的点与乘客终点之间的第二行车距离。另外,根据司机起点坐标与乘客起点坐标,计算司机起点与乘客起点之间的第一直线距离,根据司机终点坐标与乘客终点坐标,计算司机终点与乘客终点之间的第二直线距离。由于已知司机起点坐标和司机终点坐标,可以根据司机起点坐标和司机终点坐标计算司机起点和司机终点之间的原始行车距离。在得到司机起点和司机终点之间的原始行车距离、第一行车距离、第二行车距离、第一直线距离和第二直线距离之后,由于司机起点和司机终点之间的原始行车距离、第一行车距离、第二行车距离、第一直线距离和第二直线距离可以在一定程度上反映乘客路线与司机驾车路线的匹配程度,因此利用司机起点和司机终点之间的原始行车距离、第一行车距离、第二行车距离、第一直线距离和第二直线距离确定乘客订单与司机订单之间的顺路度。

在一个实施例中,根据司机起点和司机终点之间的原始行车距离、第一行车距离、第二行车距离、第一直线距离和第二直线距离进行计算,得到乘客订单与司机订单之间的顺路度,包括:根据司机起点和司机终点之间的原始行车距离、第一行车距离、第二行车距离、第一直线距离和第二直线距离计算司机接上乘客后的绕路行车距离;计算司机起点和司机终点之间的原始行车距离与绕路行车距离的比值,得到乘客订单与司机订单之间的顺路度。

其中,原始行车距离是指司机不接乘客订单时从司机起点至司机终点的行车距离。绕路行车距离是指司机接上乘客后由司机起点至司机终点的行车距离。司机接上乘客后的绕路行车距离可以是司机接送乘客所产生的额外距离和原始行车距离之和。司机接送乘客所产生的额外距离可以根据第一行车距离、第二行车距离、第一直线距离和第二直线距离而确定。具体地,为了从司机起点至乘客起点去接乘客,司机原始的行车路线需要改变,产生第一段额外的行车距离,第一段额外的行车距离可以根据第一行车距离和第一直线距离得到。将乘客送至乘客终点,司机从乘客终点行驶至司机终点,会产生第二段额外的行车距离,第二段额外的行车距离可以根据第二行车距离和第二直线距离得到。根据第一段额外的行车距离、第二段额外的行车距离以及司机的原始行车距离计算司机接上乘客后的绕路行车距离,从而计算司机起点和司机终点之间的原始行车距离与绕路行车距离的比值,将该比值作为乘客订单与司机订单之间的顺路度。

本实施例中,结合实际情况对顺路度进行确定,能够更加准确地匹配司机订单和乘客订单。

在一个实施例中,按照如下公式计算司机订单与乘客订单之间的顺路度:

其中,h为顺路度,d为司机起点和司机终点之间的原始行车距离,dds为第一行车距离,dda为第二行车距离,das为第一直线距离,dae为第二直线距离,a,b,c,d分别为第一行车距离、第二行车距离、第一直线距离及第二直线距离所对应的预设系数。且预设系数a,b,c,d是根据城市路况等实际路况而设定的。不同的城市预设系数a,b,c,d可以相同,也可以不同。a,b,c,d的大小可以在不同的城市不同的路况通过大量的行车实验数据计算而得到。

进一步地,司机订单与乘客订单之间的顺路度计算公式还可以是:

同样的,预设系数a,b,c,d,e是根据城市路况等实际路况而设定的。不同的城市预设系数a,b,c,d,e可以相同,也可以不同。

在一个实施例中,该方法还包括:从司机订单与乘客订单的匹配结果中选择顺路度最高的乘客订单,并推送至对应的司机终端。

具体地,当服务器接收到乘客订单信息时,获取司机终端设置的司机订单信息。服务器根据乘客出发时刻和司机出发时刻计算两者的时间间隔,将乘客出发时刻与司机出发时刻之间的时间间隔与预设时间阈值进行比较以判断司机订单与乘客订单是否匹配。服务器将乘车人数与可载人数进行比较以判断司机订单与乘客订单是否匹配。当乘客出发时刻与司机出发时刻之间的时间间隔不大于预设时间阈值且乘车人数不大于可载人数时,判定乘客订单与司机订单匹配,并确定与司机订单匹配的乘客订单。可以根据乘客设置的时间限定条件、距离限定条件以及司机设置的时间限定条件、距离限定条件,对司机订单与乘客订单的匹配结果中筛选出符合要求的订单。进一步地,根据司机起点和司机终点之间的原始行车距离、第一行车距离、第二行车距离、第一直线距离和第二直线距离计算乘客订单与司机订单之间的顺路度,按照顺路度的大小,为与司机订单匹配的乘客订单进行排序。若司机终端开启自动接单功能,则选择顺路度最高的乘客订单,并将顺路度最高的乘客订单自动分配给对应的司机订单,并推送至对应的司机终端。至此,完成了乘客订单与司机订单的匹配,可以通过应用程序的消息或者短信等方式同时通知乘客和司机获知该信息。可以理解的是,若司机终端没有开启自动接单功能,若产生新的乘客订单,服务器会继续根据乘客订单信息和司机订单信息判断两者是否匹配并计算顺路度是否满足条件,若是,则将新的乘客订单推荐给司机终端,司机终端显示的乘客订单详情列表包括该新的乘客订单。

本实施例中,实现了司机在设置出发时间、可载人数、顺路度后服务器会自动为司机匹配订单,当有符合匹配要求的乘客订单且确定顺路度最高则自动接单并通知司机,提高了接单的匹配成功率,节省了接单的时间,司机获得了更好的用户体验。

在一个实施例中,如图8所示,该方法还包括以下步骤:

s810、根据乘客起点坐标计算定位聚合信息;

s820、获取定位聚合信息处的乘客订单信息;

s830、根据定位聚合信息处的乘客订单信息更新推荐的乘客订单。

其中,定位聚合信息是由乘客起点坐标确定的地理区域、兴趣点(poi)或者乘客起点的路线信息等。具体地,通过geohash或者googles2根据乘客起点坐标计算定位聚合信息。geohash是一种地理编码,是一种分级的数据结构,把空间划分为网格由gustavoniemeyer提出的。googles2通过把球面碾成平面,首先在地球外面套了一个外切的正方体,从球心向外切正方体6个面分别投影,即googles2是把球面上所有的点都投影到外切正方体的6个面上。在此不再赘述。由于乘客订单信息中包括乘客起点坐标,则根据计算得到的计算定位聚合信息,获取定位聚合信处的乘客订单信息,若该地理位置附近的乘客订单有更新,则根据定位聚合信处的乘客订单信息更新推荐的乘客订单。

本实施例中,通过实时更新推荐的乘客订单,更加准确地处理乘客订单与司机订单的匹配工作,更大程度的满足乘客和司机的出行需求。

在一个实施例中,提供了一种订单的处理方法。以司机匹配乘客为例进行说明,该方法包括以下步骤:

s902、获取司机订单信息和乘客订单信息。

其中,司机订单信息包括司机起点坐标、司机终点坐标、司机出发时刻和可载人数,乘客订单信息包括乘客起点坐标、乘客终点坐标、乘客出发时刻和乘车人数。

s904、根据司机起点坐标和司机终点坐标,确定司机驾车路线的外接区域。

s906、若乘客出发时刻与司机出发时刻之间的时间间隔不大于预设时间阈值,且乘车人数不大于可载人数,则确定与司机订单匹配的乘客订单。

s908、根据司机起点坐标与乘客起点坐标确定司机接上乘客的行车距离。

s910、根据行车速度和司机接上乘客的行车距离,估算自司机起点到达乘客起点所需的行车时长。

s912、根据司机出发时刻和行车时长,计算司机到达乘客起点的时刻。

s914、根据司机到达乘客起点的时刻与乘客出发时刻,计算司机等待乘客的时长。

s916、判断司机等待乘客的时长是否不大于预设的第一时间阈值以及司机接上乘客的行车距离是否不大于预设的距离阈值。

s918、若司机接上乘客的行车距离不大于预设的距离阈值且司机等待乘客的时长不大于预设的第一时间阈值,从与司机订单匹配的乘客订单中筛选对应的乘客订单,并判断司机等待乘客的时长是否不大于预设的第二时间阈值,其中,第二时间阈值小于第一时间阈值。

s920、从对应的乘客订单中进一步地筛选司机等待乘客的时长不大于预设的第二时间阈值的乘客订单。

s922、判断乘客起终点方向是否与司机行车方向一致以及乘客起点坐标和乘客终点坐标是否位于外接区域内。

s924、从司机等待乘客的时长不大于预设的第二时间阈值的乘客订单中,筛选方向一致且乘客起点坐标和乘客终点坐标位于外接区域内的乘客订单。

s926、从外接区域内途经点的坐标集合中确定距离乘客起点最近的点,计算距离乘客起点最近的点与乘客起点之间的第一行车距离。

s928、从外接区域内途经点的坐标集合中确定距离乘客终点最近的点,计算距离乘客终点最近的点与乘客终点之间的第二行车距离。

s930、根据司机起点坐标与乘客起点坐标,计算司机起点与乘客起点之间的第一直线距离。

s932、根据司机终点坐标与乘客终点坐标,计算司机终点与乘客终点之间的第二直线距离。

s934、根据司机起点和司机终点之间的原始行车距离、第一行车距离、第二行车距离、第一直线距离和第二直线距离计算司机接上乘客后的绕路行车距离。

s936、计算司机起点和司机终点之间的原始行车距离与绕路行车距离的比值,得到乘客订单与司机订单之间的顺路度。

其中,按照如下公式计算司机订单与乘客订单之间的顺路度:

其中,h为顺路度,d为司机起点和司机终点之间的原始行车距离,dds为第一行车距离,dda为第二行车距离,das为第一直线距离,dae为第二直线距离,a,b,c,d分别为第一行车距离、第二行车距离、第一直线距离及第二直线距离所对应的预设系数。

s938、从位于外接区域内的乘客订单中,筛选顺路度不小于预设顺路度阈值的乘客订单。

s940、按照顺利度的大小,对最终筛选得到的顺路度不小于预设顺路度阈值的乘客订单进行排序并保存。

s942、将顺路度最高的乘客订单推送至对应的司机终端,并向乘客终端发送订单匹配成功的消息。

需要说明的是,司机匹配乘客的过程是根据司机订单筛选乘客订单的过程,而乘客匹配司机的过程是乘客订单筛选司机订单的过程。在乘客匹配司机的过程中,在乘客订单保存数据库时,可以对乘客订单进行敏感词过滤、乘客起点经纬度纠正、线路聚合等操作。在对乘客订单保存后,可以根据乘客订单信息对司机订单进行匹配。具体地匹配过程与司机匹配乘客的过程相似,在此不再赘述。

应该理解的是,虽然上述各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,本申请提供一种订单的处理装置900,如图9所示,该装置包括:

订单信息获取模块910,用于获取司机订单信息和乘客订单信息,司机订单信息包括司机起点坐标和司机终点坐标,乘客订单信息包括乘客起点坐标和乘客终点坐标;

外接区域确定模块920,用于根据司机起点坐标和司机终点坐标,确定司机驾车路线的外接区域;

匹配结果确定模块930,用于根据乘客订单信息和司机订单信息,将乘客订单与司机订单进行匹配,且当匹配时,确定司机订单与乘客订单的匹配结果;

顺路度计算模块940,用于根据乘客起点坐标、乘客终点坐标和外接区域内途经点的坐标集合,计算乘客订单与司机订单之间的顺路度;

订单选择模块950,用于若顺路度不小于预设顺路度阈值,从司机订单与乘客订单的匹配结果中,选择顺路度所对应的乘客订单、司机订单分别作为推荐的乘客订单、推荐的司机订单。

关于订单的处理装置的具体限定可以参见上文中对于订单的处理方法的限定,在此不再赘述。上述订单的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种订单的处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的方法步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的方法步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1