用于拼车服务的方法和系统

文档序号:1439810 发布日期:2020-02-14 浏览:18次 >En<

阅读说明:本技术 用于拼车服务的方法和系统 (Method and system for car pooling service ) 是由 杨宝通 于 2017-10-31 设计创作,主要内容包括:用于拼车服务的方法,包括获取由服务请求者请求的待处理运输服务。所述待处理运输服务可以包括第一出发点和第一目的地。该方法还可以包括基于所述第一出发点和所述第一目的地,为所述待处理运输服务确定第一上车位置和从所述第一上车位置出发的第一出发时间。该方法还可以包括基于所述待处理运输服务和可共享运输服务,确定目标服务提供者,所述可共享运输服务已经被所述目标服务提供者接受并且尚未完成。(A method for ride-share services includes obtaining a pending transportation service requested by a service requester. The pending transport service may include a first departure point and a first destination. The method may also include determining a first pick-up location and a first departure time from the first pick-up location for the pending transportation service based on the first departure point and the first destination. The method may also include determining a target service provider based on the pending transport service and a sharable transport service, the sharable transport service having been accepted by the target service provider and not yet completed.)

用于拼车服务的方法和系统

技术领域

本申请涉及按需服务系统,更具体地说,涉及用于拼车服务的方法和系统。

背景技术

拼车运输服务是指将两个或以上运输服务组合成新的运输服务的安排。拼车运输服务可以提高运力。然而,在现有的拼车系统和方法中存在诸如效率低和用户体验差的一些问题。因此,期望提供用于拼车的系统和方法以提高效率和用户体验。

发明内容

本申请的一部分附加特性可以在下面的描述中进行说明,通过对以下描述和相应附图的检查或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。

根据本申请的第一方面,用于拼车服务的系统可以包括存储设备和被配置用于与存储设备通信一个或以上处理器。存储设备可以包括一组指令。当所述一个或以上处理器执行所述一组指令时,所述一个或以上处理器可以用于执行一个或以上以下操作。一个或以上处理器可以获取服务请求者请求的待处理运输服务。待处理运输服务可以包括第一出发点和第一目的地。一个或以上处理器可以基于所述第一出发点和所述第一目的地,为所述待处理运输服务确定第一上车位置和从所述第一上车位置出发的第一出发时间。一个或以上处理器可以基于所述待处理运输服务和可共享运输服务,确定目标服务提供者,所述可共享运输服务已经被所述目标服务提供者接受并且尚未完成。

在一些实施例中,一个或以上处理器可以将与目标服务提供者有关的信息发送给服务请求者。

在一些实施例中,为了基于所述待处理运输服务和所述可共享运输服务来确定所述目标服务提供者,一个或以上处理器可以基于所述第一上车位置以及一个或以上候选服务提供者中的每一个的位置,确定所述一个或以上候选服务提供者。一个或以上处理器可以通过过滤所述一个或以上候选服务提供者,基于以下至少一个来确定一个或以上过滤服务提供者:所述第一上车位置、所述第一出发时间、所述第一目的地、与所述一个或以上候选服务提供者中的至少一个相关联的候选运输服务的第二上车位置、从所述候选运输服务的所述第二上车位置出发的第二出发时间、所述候选运输服务的第二目的地、或所述一个或以上候选服务提供者中的至少一个的所述位置。一个或以上处理器可以从一个或以上过滤服务提供者中确定目标服务提供者。

在一些实施例中,第一上车位置与一个或以上候选服务提供者中的每一个的位置之间的距离可以小于预设距离,或者从一个或以上候选服务提供者中的每一个的位置到第一上车位置的行驶时间可能小于预设时间段。

在一些实施例中,为了从一个或以上候选服务提供者中确定一个或以上过滤服务提供者,一个或以上处理器可以基于第一上车位置和第一目的地确定第一原始路线。一个或以上处理器可以基于所述第一上车位置、所述第一目的地、与所述一个或以上候选服务提供者中的所述至少一个相关联的所述候选运输服务的所述第二目的地,以及所述第二上车位置和所述一个或以上候选服务提供者中的至少一个的所述位置中的至少一个,确定第一共享路线。一个或以上处理器可以将第一原始路线与第一共享路线进行比较。一个或以上处理器可以基于一个或以上候选服务提供者中的至少一个的位置和第二个目的地来确定第二原始路线。一个或以上处理器可以基于所述第一上车位置、所述第一目的地、所述第二目的地,以及所述第二上车位置和所述一个或以上候选服务提供者中的所述至少一个的所述位置中的至少一个,确定第二共享路线。一个或以上处理器可以将第二原始路线与第二共享路线进行比较。一个或以上处理器可以基于所述第一原始路线和所述第一共享路线之间的比较结果和所述第二原始路线与所述第二共享路线之间的比较结果,确定是否将所述一个或以上候选服务提供者中的所述至少一个确定为所述过滤服务提供者。

在一些实施例中,为了从一个或以上候选服务提供者确定一个或以上过滤服务提供者,一个或以上处理器可以从一个或以上候选服务提供者中的至少一个的位置至第一上车位置的第一方向。一个或以上处理器可以确定从一个或以上候选服务提供者中的至少一个的位置到第二目的地的位置的第二方向。一个或以上处理器可以确定第一方向和第二方向之间的角度。一个或以上处理器可以确定该角度是否小于阈值角度。一个或以上处理器可以响应于关于所述角度是否小于所述阈值角度的确定结果,确定是否选择所述一个或以上的候选服务提供者中的所述至少一个为所述过滤服务提供者。

在一些实施例中,为了从一个或以上候选服务提供者中确定一个或以上过滤服务提供者,一个或以上处理器可以基于一个或以上候选服务提供者中的至少一个的位置、第一上车位置、第二上车位置、第二出发时间来确定一个或以上候选服务提供者中的至少一个到第一上车位置的预计到达时间(ETA)。一个或以上处理器可以确定所述一个或以上候选服务提供者中的所述至少一个到所述第一上车位置的所述预计到达时间和所述第一出发时间之间的时间差。一个或以上处理器可以确定时间差是否小于阈值差。一个或以上处理器可以响应于关于所述时间差是否小于所述阈值差的确定结果,确定是否选择所述一个或以上候选服务提供者中的所述至少一个为所述过滤服务提供者。

在一些实施例中,为了从一个或以上候选服务提供者中确定一个或以上过滤服务提供者,一个或以上处理器可以基于一个或以上候选服务提供者中的至少一个的位置、第一上车位置、第一出发时间、第二上车位置来确定一个或以上候选服务提供者中的至少一个到第二上车位置的预计到达时间(ETA)。一个或以上处理器可以确定所述一个或以上候选服务提供者中的所述至少一个到所述第二上车位置的所述预计到达时间和所述第二出发时间之间的时间差。一个或以上处理器可以确定时间差是否小于阈值差。一个或以上处理器可以响应于关于所述时间差是否小于所述阈值差的确定结果,确定是否选择所述一个或以上候选服务提供者中的所述至少一个作为所述过滤服务提供者。

在一些实施例中,为了从一个或以上候选服务提供者确定一个或以上过滤服务提供者,一个或以上处理器可以确定一个或以上请求的数量,所述一个或以上请求中的每一个拥有与所述第一上车位置一致的上车位置,所述一个或以上请求已经被所述一个或以上候选服务提供者中的所述至少一个接受并且尚未完成。一个或以上处理器可以确定所述数量是否小于阈值数量。一个或以上处理器可以响应于关于所述数量是否小于所述阈值数量的确定结果,确定是否选择所述一个或以上候选服务提供者中的所述至少一个为所述过滤服务提供者。

在一些实施例中,一个或以上处理器可以将待处理运输服务发送到目标服务提供者。

根据本申请的另一方面,用于拼车服务的方法可以包括以下操作的一个或以上。一个或以上处理器可以获取服务请求者请求的待处理运输服务。待处理运输服务可以包括第一出发点和第一目的地。一个或以上处理器可以基于所述第一出发点和所述第一目的地,为所述待处理运输服务确定第一上车位置和从所述第一上车位置出发的第一出发时间。一个或以上处理器可以基于所述待处理运输服务和可共享运输服务,确定目标服务提供者,所述可共享运输服务已经被所述目标服务提供者接受并且尚未完成。

根据本申请的又一方面,非暂时性计算机可读介质可以包括至少一个一组指令。至少一个一组指令可以由计算机服务器的一个或以上处理器执行。一个或以上处理器可以获取服务请求者请求的待处理运输服务。待处理运输服务可以包括第一出发点和第一目的地。一个或以上处理器可以基于所述第一出发点和所述第一目的地,为所述待处理运输服务确定第一上车位置和从所述第一上车位置出发的第一出发时间。一个或以上处理器可以基于所述待处理运输服务和可共享运输服务,确定目标服务提供者,所述可共享运输服务已经被所述目标服务提供者接受并且尚未完成。

根据本申请的又一方面,用于拼车服务的系统可以包括输入/输出模块,用于获取服务请求者请求的待处理运输服务。待处理运输服务可以包括第一出发点和第一目的地。用于拼车服务的系统还可以包括服务信息确定模块,用于基于第一出发点和第一目的地,为待处理运输服务确定第一上车位置和从第一上车位置出发的第一出发时间。用于拼车服务的系统还可以包括提供者确定模块,用于基于所述待处理运输服务和可共享运输服务,确定目标服务提供者,所述可共享运输服务已经被所述目标服务提供者接受并且尚未完成。

附图说明

本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例是非限制性的示例性实施例,在这些实施例中,各图中相同的编号表示相似的结构,其中:

图1是根据本申请的一些实施例所示的示例性按需服务系统的框图;

图2是根据本申请的一些实施例所示的计算设备的示例性硬件和软件组件的示意图;

图3是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图;

图4是根据本申请的一些实施例所示的示例性处理引擎的框图;

图5是根据本申请的一些实施例所示的为服务请求者确定目标服务提供者的示例性过程的流程图;

图6是根据本申请的一些实施例所示的确定目标服务提供者的示例性过程的流程图;

图7是根据本申请的一些实施例所示的选择候选服务提供者的示例性过程的流程图;

图8是根据本申请的一些实施例所示的选择候选服务提供者的示例性过程的流程图;

图9是根据本申请的一些实施例所示的选择候选服务提供者的示例性过程的流程图;

图10是根据本申请的一些实施例所示的选择候选服务提供者的示例性过程的流程图;以及

图11是根据本申请的一些实施例所示的选择候选服务提供者的示例性过程的流程图。

具体实施方式

以下描述是为了使本领域的普通技术人员能够实施和利用本申请并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所公开的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。

本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中,术语“包括”和/或“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。

在考虑了作为本申请一部分的附图的描述内容后,本申请的特征和特点以及操作方法、结构的相关元素的功能、各部分的组合、制造的经济性变得显而易见。然而,应当理解,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。

本申请中使用了流程图用来说明根据本申请的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或以上其他操作添加到这些流程图中。也可以从流程图中删除一个或以上操作。

此外,虽然在本申请中披露的系统和方法主要关于按需运输服务,但还应该理解,这仅是一个示例性实施例。本申请的系统和方法可能适用于其他任一种按需服务。例如,本申请的系统和方法可以应用于不同的运输系统,包括陆地、海洋、航空航天等,或其任意组合。运输系统的车辆可以包括出租车、私家车、顺风车、公共汽车、火车、动车、高铁、地铁、船只、飞机、宇宙飞船、热气球、无人驾驶车辆、自行车、三轮车、摩托车等、或其任意组合。运输系统还可以包括应用管理和/或分配的任何运输系统,例如,用于发送和/或接收快递的系统,或用于取出服务的系统。本申请的系统或方法的应用场景可以包括网页、浏览器插件、客户端、客户系统、内部分析系统、人工智能机器人等,或其任意组合。

本申请中的术语“乘客”、“请求者”、“服务请求者”和“客户”可用于表示请求或订购服务的个人、实体或工具,并且可互换使用。此外,本申请中的术语“司机”、“提供者”、“服务提供者”和“供应者”可用于表示提供服务或协助提供服务的个人、实体或工具,并且可互换使用。本申请中的词语“用户”可以指代可以请求服务、订购服务、提供服务或促进提供服务的个体、实体或工具。例如,用户可以是乘客、司机、操作者等或其任意组合。在本申请中,术语“乘客”和“乘客终端”可以互换使用,且术语“司机”和“司机终端”可以互换使用。

本申请中的术语“服务请求”是指由乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者、供应者等或任何人发起的请求,或其任何组合。该服务请求可以被乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者或供应者中的任一者接受。所述服务请求可以是收费的或免费的。

本申请中使用的定位技术可以包括全球定位系统(Global Positioning System,GPS)、全球卫星导航系统(Global Navigation Satellite System,GLONASS)、北斗导航系统(Compass Navigation System,COMPASS)、伽利略定位系统、准天顶卫星系统(Quasi-Zenith Satellite System,QZSS)、无线保真(Wireless Fidelity,WiFi)定位技术等,或其任何组合。以上定位技术中的一个或以上可以在本申请中交换使用。

本申请的一个方面涉及用于与在线按需服务(例如,出租车服务)相关的拼车的系统和方法。在接收到乘客运输服务请求之后,包括出发地和目的地,在线按需服务平台可以为乘客确定上车位置和从上车位置出发的出发时间。在线按需服务平台可以基于上车位置、目的地和出发时间为乘客识别一名司机,以将该运输服务与由该司机正在提供服务的另一运输服务相结合。

应该注意的是,在线按需运输服务,例如在线拼车服务,是一种仅根植于后互联网时代的新形式的服务。它为用户和服务提供者提供了仅在后互联网时代才可能实现的技术方案。在前互联网时代,当用户在街上叫一辆出租车时,出租车的请求和接受只可能发生在乘客和一个看得见该乘客的出租车司机之间。如果所述乘客通过电话呼叫出租车,所述服务的请求和接受只发生在所述乘客和一个服务提供者(例如,出租车公司或者代理商)之间。如果司机想要提供拼车服务,司机必须面对面询问乘客并通过司机的经验确定是否可以向乘客提供拼车服务。然而,线上拼车服务会即时并且自动地获取交易请求并寻找可组合的交易请求。拼车服务还可以允许将一个服务请求即时并自动地分配给大量的个体服务提供者(例如,出租车司机),同时允许至少两个服务提供者同时或即时响应该服务请求。因此,通过互联网,所述在线按需运输系统可以为用户和服务提供方提供一个更加高效的交易平台,这在传统的前互联网时代的运输服务系统中是无法实现的。

图1是根据本申请的一些实施例所示的示例性按需服务系统的示意图。例如,按需服务系统100可以是用于运输服务的在线按需运输服务系统,例如出租车、司机服务、送货服务、拼车、公交服务、外卖服务、司机租用和班车服务。为简洁起见,本申请中描述的方法和/或系统可以以出租车服务为例。应当注意出租车服务仅用于说明目的,并非旨在限制本申请的范围。对于具有普通技能的本领域的人员,本申请中描述的方法和/或系统可以应用于其他类似的情况,例如送货服务等。

按需服务系统100可以包括服务器110、网络120、请求者终端130、提供者终端140、存储设备150和定位系统160。服务器110可以包含处理引擎112。

在一些实施例中,服务器110可以是单个服务器或服务器组。所述服务器组可以是集中式的或分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的或远程的。例如,服务器110可通过网络120存取储存在请求者终端130、提供者终端140和/或存储设备150内的信息和/或数据。又例如,服务器110可以直接连接到请求者终端130、提供者终端140和/或存储设备150以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等,或其任意组合。在一些实施例中,服务器110可以在图2中描述的包含了一个或者多个组件的计算设备200上执行。

在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理与按需服务有关的信息和/或数据。例如,处理引擎112可以为服务请求者确定目标服务提供者。在一些实施例中,所述处理引擎112可以包括一个或以上处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅作为示例,处理引擎112可以包括一个或以上硬件处理器,例如中央处理单元(CPU)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、图像处理单元(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等,或其任意组合。

网络120可以促进信息和/或数据的交换。在一些实施例中,按需服务系统100中的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140、存储设备150和定位系统160)可以通过网络120向按需服务系统100中的其他组件发送信息和/或数据。例如,服务器110可以经由网络120从请求者终端130获取/得到服务请求。在一些实施例中,网络120可以是任何类型的有线或无线网络,或其组合。仅作为示例,网络120可以包括缆线网络、有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网络(LAN)、广域网路(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络、近场通讯(NFC)网络等,或其任意组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括有线或无线网络接入点,比如基站及/或互联网交换点120-1、120-2……通过该网络接入点,按需服务系统100的一个及以上组件可以连接至网络120以交换信息和/或数据。

在一些实施例中,请求者可以是请求者终端130的用户。在一些实施例中,请求者终端130的用户可以为除该请求者之外的其他人。例如,请求者终端130的用户A可以通过请求者终端130为用户B发送服务请求,或从服务器110处接收服务和/或信息或指令。在一些实施例中,提供者可以是提供者终端140的用户。在一些实施例中,提供者终端140的用户可以为除该提供者之外的其他人。例如,提供者终端140的用户C可以为用户D通过提供者终端140接收服务请求和/或从服务器110处接收信息或指令。在一些实施例中,“请求者”和“请求者终端”可互换使用,“提供者”和“提供者终端”可互换使用。

在一些实施例中,请求者终端130可以包括移动设备130-1、平板计算机130-2、膝上型计算机130-3、车载设备130-4等,或其任意组合。在一些实施例中,移动设备130-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,可穿戴设备可以包括手环、鞋袜、眼镜、头盔、手表、衣物、背包、智慧配饰等,或其任意组合。在一些实施例中,移动设备可以包括移动电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)设备、膝上型电脑、台式机等,或任何其组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括Google GlassTM,RiftConTM,FragmentsTM,Gear VRTM等。在一些实施例中,机动车载设备130-4可以包括车载计算机、车载电视等。在一些实施例中,请求者终端130可以是具有定位技术的设备,用于定位请求者终端130(例如,服务请求者)和/或请求者终端130的用户的位置。

在一些实施例中,提供者终端140可以是与请求者终端130类似或相同的设备。在一些实施例中,提供者终端140可以是利用定位技术来定位提供者终端140(例如,服务提供者)和/或提供者终端140的用户的位置的设备。在一些实施例中,请求者终端130和/或提供者终端140可以与一个或以上其他定位设备通信以确定请求者、请求者终端130、提供者和/或提供者终端140的位置。在一些实施例中,请求者终端130和/或提供者终端140可以向服务器110传送定位信息。

存储设备150存储数据和/或指令。在一些实施例中,存储设备150可以存储从请求者终端130和/或提供者终端140中获取的数据。例如,存储设备150可以存储从提供者终端140获取的服务提供者的实时位置。在一些实施例中,存储设备150可以存储服务器110可以执行用于执行本发明中描述的示例性方法的数据和/或指令。例如,存储设备150可以存储服务器110可以执行或使用的指令,以为服务请求者确定目标服务提供者。在一些实施例中,存储设备150可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等,或其任何组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性易失性读写内存可以包括随机存取存储器(RAM)。示例性RAM可以包括动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDR SDRAM)、静态随机存取存储器(SRAM)、晶闸管随机存取存储器(T-RAM)和零电容随机存取存储器(Z-RAM)等。示例性只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,所述存储设备150可以在云平台上实现。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等,或其任何组合。

在一些实施例中,存储设备150可连接到网络120,以与按需服务系统100的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140)通信。按需服务系统100的一个或以上组件可以经由网络120访问存储设备150中存储的数据或指令。在一些实施例中,存储设备150可以与按需服务系统100的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140)直接连接或者进行通信。在一些实施例中,按需服务系统100的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140)可以具有访问存储设备150的许可。在一些实施例中,存储设备150可以是服务器110的一部分。

定位系统160可以确定与对象相关联的信息,例如,请求者终端130、提供者终端140等。例如,定位系统160可以确定请求者终端130的当前位置。在一些实施例中,定位系统160可以是全球定位系统(GPS)、全球导航卫星系统(GLONASS)、罗盘导航系统(COMPASS)、北斗导航卫星系统(BDS)、伽利略定位系统,准天顶卫星系统(QZSS)等。该信息可以包括对象的位置、高度、速度、或加速度,或当前时间。位置可以是坐标的形式,例如纬度坐标和经度坐标等。定位系统160可以包括一个或以上的卫星,例如卫星160-1、160-2卫星、和卫星160-3。卫星160-1至160-3可以独立地或共同地确定上述信息。定位系统160可以经由无线连接将上述信息发送到网络120、请求者终端130或提供者终端140。

在一些实施例中,可以通过请求服务来实现按需服务系统100的一个或以上组件的信息交换。服务请求的对象可以为任何产品。在一些实施方案中,产品可以是有形产品或非物质产品。有形产品可以包括食品、药品、商品、化学产品、电器、服装、汽车、房屋、奢侈品等,或其任何组合。无形产品可以包括服务产品、金融产品、知识产品、互联网产品等,或其任何组合。互联网产品可以包括个人主机产品、网站产品、移动互联网产品、商业主机产品、嵌入式产品等,或其任意组合。移动互联网产品可以用于移动终端的软件、程序、系统等,或其任何组合。移动终端可以包括平板电脑、笔记本电脑、移动电话、个人数字助理(PDA)、智能手表、销售点(POS)设备、车载电脑、车载电视、可穿戴设备等,或其任何组合。例如,产品可以是在计算机或移动电话上使用的任一软件和/或应用。该软件和/或应用程序可以与社交、购物、交通、娱乐、学习、投资等,或其任和组合相关。在一些实施例中,与运输相关联的软件及/或应用程序可以包括旅游软件和/或应用程序、车辆调度软件及/或应用程序、地图软件及/或应用程序等。在车辆调度软件和/或应用程序中,车辆可以包括马、马车、人力车(例如,独轮车、自行车、三轮车等)、汽车(例如,出租车、公共汽车、私人汽车等)、火车、地铁、船舶、飞行器(例如,飞机、直升机、航天飞机、火箭、热气球等)等,或其任意组合。

图2是根据本申请的一些实施例所示的一种计算设备的示例性硬件和软件组件的示意图,其上可以实现本申请所述的处理引擎112。如图2所示,计算设备200可以包括处理器210、存储器220、输入/输出(I/O)230和通信端口240。

处理器210(例如,逻辑电路)可以执行计算机指令(例如,程序代码)并且根据这里描述的技术来执行处理引擎112的功能。例如,处理器210可以包括接口电路210-a和其中的处理电路210-b。接口电路可以被配置用于接收来自总线(图2中未示出)的电子信号,其中电子信号编码用于处理电路的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以经由总线从处理电路发出电信号。

所述计算机指令可以包括例如执行在此描述的特定功能的常规、程序、对象、组件、数据结构、过程、模块和功能。例如,处理器210可以为服务请求者确定目标服务提供者。在一些实施例中,处理器210可以包括一个或多个硬件处理器,诸如微控制器、微处理器、精简指令集计算机(RISC)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、中央处理单元(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高阶RISC机器(ARM)、可编程逻辑器件(PLD)、能够执行一个或多个功能的任何电路或处理器或类似物,或其任何组合。

仅仅为了说明,在计算设备200中仅描述了一个处理器。然而,应该注意的是,本申请中的计算设备200还可以包括多个处理器,由此执行的操作和/或方法步骤如本申请中所描述的一个处理器也可以由多个处理器联合地或单独地执行。例如,如果在本申请中,计算设备200的处理器执行步骤A和步骤B,应当理解的是,步骤A和步骤B也可以由计算设备200的两个或以上不同的处理器共同地或独立地执行(例如,第一处理器执行步骤A\第二处理器执行步骤B、或者第一和第二处理器共同地执行步骤A和步骤B)。

存储器220可以存储从请求者终端130、提供者终端140、存储设备150和/或按需服务系统100的任何其他组件获取的数据/信息。在一些实施例中,存储器220可以包括大容量存储器、可移动存储器、易失性读取和写入存储器和只读存储器(ROM)等,或其任意组合。例如,大容量存储器可以包括磁盘、光盘、固态驱动器等。可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘和磁带等。易失性读取和写入存储器可以包括随机存取存储器(RAM)。RAM可以包括动态RAM(DRAM)、双倍速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容(Z-RAM)等。示例性只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,存储器220可以储存服务器用来执行或使用来完成本申请中描述的示例性方法的数据和/或指令。例如,存储器220可以存储用于处理引擎112的程序,用于为服务请求者确定目标服务提供者。

I/O 230可以输入和/或输出信号、数据、信息等。在一些实施例中,I/O 230可以使用户与处理引擎112交互。例如,服务器110的操作员可以通过I/O 230输入与确定服务请求者的目标服务提供者有关的指令。在一些实施例中,I/O 230可以包括输入设备和输出设备。输入设备的示例可以包括键盘、鼠标、触摸屏、麦克风等,或其组合。输出设备的示例可以包括显示装置、扬声器、打印机、投影仪等,或其组合。示例性显示设备可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、曲面显示器、电视设备、阴极射线管(CRT)等,或其任意组合。

通信端口240可以连接到网络(例如,网络120)以促进数据通信。通信端口240可以在处理引擎112与请求者终端130、提供者终端140、定位系统160或存储设备150之间建立连接。连接可以是有线连接、无线连接、可以启用数据传输和/或接收的任何其他通信连接,和/或这些连接的任何组合。有线连接可以包括例如电缆、光缆、电话线等,或其任意组合。无线连接可以包括例如蓝牙链路、Wi-Fi链路、WiMax链路、WLAN链路、ZigBee链路、移动网络链路(例如3G、4G、5G等)等,或其组合。在一些实施例中,通信端口240可以是和/或包括标准化通信端口,诸如RS232、RS485等。

图3是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图,其上可以实现请求者终端130和/或提供者终端140。如图3所示,移动设备300可以包括通信平台310、显示器320、图形处理器(GPU)330、中央处理器(CPU)340、I/O 350、内存360和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可以包括在移动设备300内。在一些实施例中,移动操作系统(OS)370(例如,iOSTM、AndroidTM、Windows PhoneTM等)和一个或以上应用程序380可以从存储器390加载到内存360中以便被执行由CPU 340。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从处理引擎112接收和呈现与在线拼车运输服务或其他信息有关的信息,将与在线拼车运输服务或其他信息有关的信息发送给处理引擎112。用户交互信息可以经由输入/输出350实现,并经由网络120提供给处理引擎112和/或按需服务系统100的其他组件。例如,服务请求者可以通过请求者终端130的I/O 350原点和目的地。原点和目的地可以被发送到处理引擎112。

本领域普通技术人员应当理解,当按需服务系统100中的一个组件进行操作时,该组件可以通过电信号和/或电磁信号执行操作。例如,当处理引擎112处理诸如做出确定或识别信息的任务时,处理引擎112可以在其处理器中操作逻辑电路以处理这样的任务。当处理引擎112向请求者终端130和/或提供者终端140发送数据(例如,目标服务提供者、服务请求)时,处理引擎112的处理器可以生成编码/包括数据的电信号。处理引擎112的处理器然后可以将电信号发送到处理引擎112的输出端口。如果请求者终端130和/或提供者终端140经由有线网络与处理引擎112通信,处理引擎112的输出端口可以物理连接到电缆,电缆还可以将电信号发送到请求者终端130和/或提供者终端140的输入端口。如果请求者终端130和/或提供者终端140经由无线网络与处理引擎112通信,则处理引擎112的输出端口可以是一个或以上天线,其可以将电信号转换为电磁信号。在电子装置中,如请求者终端130、提供者终端140和或服务器110,当其处理器处理指令、发出指令和/或执行操作时,该指令和/或该操作通过电信号传导。例如,当处理器从存储介质(例如,存储设备150、存储器220)检索或保存数据时,它可以将电信号发送到存储介质的读/写设备,该读/写设备可以读取或写入结构化的存储介质中的数据。该结构化数据可以电信号的形式经由电子设备的总线传输至处理器。此处,电信号可以指一个电信号,一系列电信号和/或至少两个不连续的电信号。

图4是根据本申请的一些实施例所示的示例性处理引擎的框图。处理引擎112可以包括输入/输出模块410、服务信息确定模块420和提供者确定模块430。

输入/输出模块410可以获取服务请求者请求的待处理运输服务。在一些实施例中,待处理运输服务是指尚未被服务提供者接受的运输服务。

在一些实施例中,运输服务可以是使用车辆将对象从一个位置带到另一个位置的服务。所述对象可以包括乘客和/或货物。例如,该运输服务可以是计程车服务或送货服务。与运输服务有关的车辆可以包括出租车、私家车、顺风车、公共汽车、自行车、电动自行车、三轮车、摩托车、火车、子弹头列车、高速铁路、地铁、船舶、飞机、宇宙飞船、热气球、无人驾驶车辆等,或其任何组合。

在一些实施例中,输入/输出模块410可以从与服务请求者相关联的终端(例如,请求者终端130)接收待处理运输服务。在一些实施例中,请求者终端130(和/或提供者终端140)可以经由网络120通过安装在请求者终端130(和/或提供者终端140)中的应用程序(例如,图3中的应用程序380)与服务器110建立通信(例如,无线通信)。该应用程序可以与按需服务系统100相关联。例如,应用程序可以是与按需服务系统100相关联的打车应用程序。

待处理运输服务可以包括第一出发点和第一目的地。在一些实施例中,第一出发点和/或第一目的地可以是服务请求者通过请求者终端130(例如,图3中的I/O 350)输入的指定位置。在一些实施例中,请求者终端130可以自动获取第一出发点和/或第一目的地。例如,诸如“2017年10月13日上午10点在位置A开会”的事件记录在请求者终端130中的日历中。请求者终端130可以基于日历中的事件自动地将位置A确定为第一目的地。在一些实施例中,请求者终端130可以通过请求者终端130中的定位技术获取其位置(其被称为服务请求者的位置),例如,GPS、GLONASS、COMPASS、QZSS、BDS、WiFi定位技术等,或其任何组合。安装在请求者终端130中的应用程序可以指示请求者终端130将服务请求者的实时位置连续地或周期性地发送到服务器110。因此,服务器110可以实时地或基本上实时地获取服务请求者的位置。第一出发点可以是所述服务请求者的实时位置,该实时位置对应于输入/输出模块410获取待处理运输服务的时间点的所述服务请求者的实时位置,该实时位置是由请求者终端130通过定位技术(例如,GPS)获取的。

在一些实施例中,待处理运输服务可以对应于服务请求(也称为交易请求或请求)。在一些实施例中,服务请求可以由服务请求者通过请求者终端130正式发送。例如,当服务请求者通过向输入/输出模块410发送第一出发点和第一目的地来发起待处理运输服务时,服务请求者可以通过按下安装在请求者终端130中的应用程序的界面上的按钮来这样做。在接收到第一出发点和第一目的地时,输入/输出模块410可以确定已发出待处理运输服务,并确定待处理运输服务为服务请求。

在一些实施例中,待处理运输服务可以对应于服务请求者的意图。安装在请求者终端130中的应用程序可以指示请求者终端130连续地或周期性地监视来自服务请求者的输入并将该输入发送到按需服务系统100。因此,请求者终端130可以实时或基本上实时地向按需服务系统100报告服务请求者的输入。结果,当服务请求者输入第一出发点和/或第一目的地时,按需服务系统100可以接收足够的信息以确定服务请求者的意图。例如,当服务请求者输入第一出发点和第一目的地时,在将第一出发点和第一目的地发送到按需服务系统100之前,按需服务系统100可能已经收到第一出发点和第一目的地,并确定服务请求者打算请求运输服务。

在一些实施例中,待处理运输服务可以是实时运输服务或运输服务的预约。如这里所使用的,实时运输服务可以是请求者希望在当前时刻或对本领域普通人来说合理地接近当前时刻的特定时间进行所请求的交易(例如,运输服务)的服务,因此在按需服务系统100接收到服务请求之后,服务提供者需要立即或基本上立即出发。例如,如果定义的时间短于阈值,例如1分钟、5分钟或10分钟,则意图可以用于实时运输服务。需要预约的运输服务是指请求者希望在规定的时间进行所请求的交易,该时间对于本领域普通人来说距离当前时刻相当远,因此不需要服务提供者在按需服务系统100接收到服务请求之后立即或基本上立即出发。例如,如果定义的时间长于阈值,例如20分钟、2小时或1天,则运输服务可能需要预约。

服务信息确定模块420可以基于第一出发点和第一目的地为待处理运输服务确定第一上车位置和从第一上车位置出发的第一出发时间。

在一些实施例中,处理引擎112可以预先确定至少两个候选上车位置并且将所述至少两个候选上车位置存储在存储设备150和/或存储器220中。服务信息确定模块420可以选择所述至少两个候选上车位置中的一个作为第一上车位置。例如,服务信息确定模块420可以选择一个候选上车位置,在所述至少两个候选上车位置中,从所述第一上车位置到该候选上车位置的行驶距离最短。如这里所使用的,行驶距离是指从一个位置到另一个位置的路径的长度。

在一些实施例中,服务信息确定模块420可以从所述至少两个候选上车位置中选择两个或以上候选上车位置。输入/输出模块410可以将所选择的候选上车位置发送到请求者终端130。服务请求者可以从被选择的候选者上车位置中选择一个。服务信息确定模块420可以将服务请求者选择的候选上车位置确定为第一上车位置。

一些实施例中,服务信息确定模块420可以基于从第一出发点到第一上车位置的路线(例如,路线的长度、路线的道路状况)来确定从第一出发点到第一上车位置的预计到达时间。服务信息确定模块420可以基于从第一出发点到第一上车位置的预计到达时间来确定第一出发时间。例如,当前时间(例如,输入/输出模块410获取第一运输服务的时间点)是上午9:57。服务信息确定模块420可以确定从第一出发点到第一上车位置的步行距离是250米并且估计服务请求者从第一出发点到第一上车位置的行走时间是3分钟。服务信息确定模块420可以确定从第一出发点到第一上车位置的预计到达时间是上午10点。服务信息确定模块420可以将一个时间段(也称为缓冲时间),例如5分钟,添加到从第一出发点到第一上车位置的预计到达时间,并确定第一出发时间为上午10:05。

在一些实施例中,第一上车位置和第一出发时间可以被发送到请求者终端130并显示在请求者终端130上(例如,图3中的显示器320)。在一些实施例中,请求者终端130可以以文本、图像、视频、声音等或其任何组合显示第一上车位置和第一出发时间。例如,请求者终端130可以显示示出“请在上午10:05或之前到达国家图书馆”的文本。例如,请求者终端130可以在请求者终端130的地图上显示第一上车位置。

提供者确定模块430可以基于待处理运输服务(例如,第一上车位置、第一出发时间和第一目的地)来确定目标服务提供者。在一些实施例中,目标服务提供者可以是正在提供一个或以上可共享运输服务的服务提供者(也称为工作服务提供者)。如本文所使用的,可共享运输服务是指已经由服务提供者接受但尚未完成的运输服务,并且允许与一个或以上其他运输服务组合。在一些实施例中,目标服务提供者可以是在那时没有提供运输服务的服务提供者(也称为空闲服务提供者)。关于目标服务提供者的确定的细节可以在本申请的其他地方找到(例如,图6-图11及其描述)。

在一些实施例中,如果目标服务提供者正在提供一个或以上可共享运输服务,则所述待处理运输服务和所述一个或以上可共享运输服务可以组合为拼车运输服务。拼车运输服务可以指将两个或以上运输服务组合成新的运输服务的安排。例如,服务器110可以将两个出租车服务组合成新的运输服务。又例如,服务器110可以将两个送货服务组合成新的运输服务。作为又一示例,服务器110可以将出租车服务和送货服务组合到新的运输服务中。

输入/输出模块410(或处理引擎112和/或接口电路210-a)可以将与目标服务提供者有关的信息发送给服务请求者。在一些实施例中,输入/输出模块410可以将与目标服务提供者有关的信息发送到与服务请求者相关联的终端(例如,请求者终端130)。

在一些实施例中,请求者终端130(例如,图3中的显示器320)可以显示与目标服务提供者有关的信息,例如目标服务提供者的姓名、目标服务提供者的性别、目标服务提供者的电话号码、目标服务提供者的车牌号码、目标服务提供者的图片、目标服务提供者的实时位置、从目标服务提供者的实时位置到第一上车位置的行驶距离、从目标服务提供者的实时位置到第一上车位置的行驶时间、目标服务提供者到第一上车位置的预计到达时间(ETA)等,或其任何组合。

在一些实施例中,请求者终端130(例如,图3中的显示器320)可以显示与目标服务提供者正在提供的一个或以上可共享运输服务有关的信息,例如所述一个或以上可共享运输服务中的至少一个的上车位置、所述一个或以上可共享运输服务中的至少一个的目的地、从所述一个或以上可共享运输服务中的至少一个的上车位置出发的出发时间,所述一个或以上可共享运输服务中的至少一个的乘客数量等,或其任何组合。

图5是根据本申请的一些实施例所示的用于为服务请求者确定目标服务提供者的示例性过程的流程图。过程500可以在图1所示的按需服务系统100中实现。例如,过程500可以作为指令的形式(例如,应用程序)存储在存储设备150和/或存储器220中,并且由服务器110(例如,服务器110的处理引擎112、图2中所示的处理器210、或图4中所示的处理引擎112中的一个或多个模块)调用和/或执行。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程500可以通过未描述的一个或多个以上附加操作来完成,和/或没有所讨论的操作的一个或以上。另外,如图5所示和下面描述的过程500的操作的顺序不是限制性的。

在510中,输入/输出模块410(或处理引擎112和/或接口电路210-a)可以获取服务请求者请求的待处理运输服务。在一些实施例中,待处理运输服务是指尚未被服务提供者接受的运输服务。

在一些实施例中,运输服务可以是使用车辆将对象从一个位置带到另一个位置的服务。所述对象可以包括乘客和/或货物。例如,该运输服务可以是计程车服务或送货服务。与运输服务有关的车辆可以包括出租车、私家车、顺风车、公共汽车、自行车、电动自行车、三轮车、摩托车、火车、子弹头列车、高速铁路、地铁、船舶、飞机、宇宙飞船、热气球、无人驾驶车辆等,或其任何组合。

在一些实施例中,输入/输出模块410可以从与服务请求者相关联的终端(例如,请求者终端130)接收待处理运输服务。在一些实施例中,请求者终端130(和/或提供者终端140)可以通过网络120通过安装在请求者终端130(和/或提供者终端140)中的应用程序(例如,图3中的应用程序380)与服务器110建立通信(例如,无线通信)。该应用程序可以与按需服务系统100相关联。例如,应用程序可以是与按需服务系统100相关联的打车应用程序。

待处理运输服务可以包括第一出发点和第一目的地。在一些实施例中,第一出发点和/或第一目的地可以是服务请求者通过请求者终端130(例如,图3中的I/O 350)输入的指定位置。在一些实施例中,请求者终端130可以自动获取第一出发点和/或第一目的地。例如,诸如“2017年10月13日上午10点在位置A开会”之类的事件被记录在请求者终端130中的日历中。请求者终端130可以基于日历中的事件自动地将位置A确定为第一目的地。在一些实施例中,请求者终端130可以通过请求者终端130中的定位技术获取其位置(其被称为服务请求者的位置),例如、GPS、GLONASS、COMPASS、QZSS、BDS、WiFi定位技术等,或其任何组合。安装在请求者终端130中的应用程序可以指示请求者终端130将服务请求者的实时位置连续地或周期性地发送到服务器110。因此,服务器110可以实时地或基本上实时地获取服务请求者的位置。第一出发点可以是所述服务请求者的实时位置,该实时位置对应于输入/输出模块410获取待处理运输服务的时间点的所述服务请求者的实时位置,该实时位置是由请求者终端130通过定位技术(例如,GPS)获取的。

在一些实施例中,待处理运输服务可以对应于服务请求(也称为交易请求或请求)。在一些实施例中,服务请求可以由服务请求者通过请求者终端130正式发送。例如,当服务请求者通过向输入/输出模块410发送第一出发点和第一目的地来发起待处理的传输服务时,服务请求者可以通过按下安装在请求者终端130中的应用程序的界面上的按钮来这样做。在接收到第一出发点和第一目的地时,输入/输出模块410可以确定已发出待处理运输服务,并确定待处理运输服务为服务请求。

在一些实施例中,待处理运输服务可以对应于服务请求者的意图。安装在请求者终端130中的应用程序可以指示请求者终端130连续地或周期性地监视来自服务请求者的输入并将该输入发送到按需服务系统100。因此,请求者终端130可以实时或基本上实时地向按需服务系统100报告服务请求者的输入。结果,当服务请求者输入第一出发点和/或第一目的地时,按需服务系统100可以接收足够的信息以确定服务请求者的意图。例如,当服务请求者输入第一出发点和第一目的地时,在将第一出发点和第一目的地发送到按需服务系统100之前,按需服务系统100可能已经收到第一出发点和第一目的地,并确定服务请求者打算请求运输服务。

在一些实施例中,待处理运输服务可以是实时运输服务或运输服务的预约。如本文所用,实时运输服务可以是请求者希望在当前时刻或对本领域普通人来说合理地接近当前时刻的特定时间进行所请求的交易(例如,运输服务)的服务,因此在按需服务系统100接收到服务请求之后,服务提供者需要立即或基本上立即出发。例如,如果定义的时间短于阈值,例如1分钟、5分钟或10分钟,则意图可以用于实时运输服务。需要预约的运输服务是指请求者希望在规定的时间进行所请求的交易,该时间对于本领域普通人来说距离当前时刻相当远,因此不需要服务提供者在按需服务系统100接收到服务请求之后立即或基本上立即出发。例如,如果定义的时间长于阈值,例如20分钟、2小时或1天,则运输服务可能需要预约。

在520中,服务信息确定模块420(或处理引擎112,和/或处理电路210-b)可以基于第一出发点和第一目的地为待处理运输服务确定第一上车位置和从第一上车位置出发的第一出发时间。

在一些实施例中,处理引擎112可以预先确定至少两个候选上车位置并且将所述至少两个候选上车位置存储在存储设备150和/或存储器220中。服务信息确定模块420可以选择所述至少两个候选上车位置中的一个作为第一上车位置。例如,服务信息确定模块420可以选择一个候选上车位置,在所述至少两个候选上车位置中,从所述第一上车位置到该候选上车位置的行驶距离最短。如这里所使用的,行驶距离是指从一个位置到另一个位置的路径的长度。

在一些实施例中,服务信息确定模块420可以从所述至少两个候选上车位置中选择两个或以上候选上车位置。输入/输出模块410可以将所选择的候选上车位置发送到请求者终端130。服务请求者可以从被选择的候选者上车位置中选择一个。服务信息确定模块420可以将服务请求者选择的候选上车位置确定为第一上车位置。

在一些实施例中,服务信息确定模块420可以基于从第一出发点到第一上车位置的路线(例如,路线的长度、路线的道路状况)来确定从第一出发点到第一上车位置的预计到达时间。服务信息确定模块420可以基于从第一出发点到第一上车位置的预计到达时间来确定第一出发时间。例如,当前时间(例如,输入/输出模块410获取第一运输服务的时间点)是上午9:57。服务信息确定模块420可以确定从第一出发点到第一上车位置的步行距离是250米并且估计服务请求者从第一出发点到第一上车位置的行走时间是3分钟。服务信息确定模块420可以确定从第一出发点到第一上车位置的预计到达时间是上午10点。服务信息确定模块420可以将一个时间段(也称为缓冲时间),例如5分钟,添加到从第一出发点到第一上车位置的预计到达时间,并确定第一出发时间为上午10:05。

在一些实施例中,第一上车位置和第一出发时间可以被发送到请求者终端130并显示在请求者终端130上(例如,图3中的显示器320)。在一些实施例中,请求者终端130可以以文本、图像、视频、声音等的格式或其任何组合显示第一上车位置和第一出发时间。例如,请求者终端130可以显示示出“请在上午10:05或之前到达国家图书馆”的文本。例如,请求者终端130可以在请求者终端130的地图上显示第一上车位置。

在530中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以基于待处理运输服务(例如,第一上车位置、第一出发时间、和第一目的地)确定目标服务提供者。在一些实施例中,目标服务提供者可以是正在提供一个或以上可共享运输服务的服务提供者(也称为工作服务提供者)。如本文所使用的,可共享运输服务是指已经由服务提供者接受但尚未完成的运输服务,并且允许与一个或以上其他运输服务组合。在一些实施例中,目标服务提供者可以是在那时没有提供运输服务的服务提供者(也称为空闲服务提供者)。关于目标服务提供者的确定的细节可以在本申请的其他地方找到(例如,图6-图11及其描述)。

在一些实施例中,如果目标服务提供者正在提供一个或以上可共享运输服务,则所述待处理运输服务和所述一个或以上可共享运输服务可以组合为拼车运输服务。拼车运输服务可以指将两个或以上运输服务组合成新的运输服务的安排。例如,服务器110可以将两个出租车服务组合成新的运输服务。又例如,服务器110可以将两个送货服务组合成新的运输服务。作为又一示例,服务器110可以将出租车服务和送货服务组合到新的运输服务中。

在540中,输入/输出模块410(或处理引擎112和/或接口电路210-a)可以将与目标服务提供者有关的信息发送给服务请求者。在一些实施例中,输入/输出模块410可以将与目标服务提供者有关的信息发送到与服务请求者相关联的终端(例如,请求者终端130)。

在一些实施例中,请求者终端130(例如,图3中的显示器320)可以显示与目标服务提供者有关的信息,例如目标服务提供者的姓名、目标服务提供者的性别、目标服务提供者的电话号码、目标服务提供者的车牌号码、目标服务提供者的图片、目标服务提供者的实时位置、从目标服务提供者的实时位置到第一上车位置的行驶距离、从目标服务提供者的实时位置到第一上车位置的行驶时间、目标服务提供者到第一上车位置的预计到达时间(ETA)等,或其任何组合。

在一些实施例中,请求者终端130(例如,图3中的显示器320)可以显示与目标服务提供者正在提供的一个或以上可共享运输服务有关的信息,例如所述一个或以上可共享运输服务中的至少一个的上车位置、所述一个或以上可共享运输服务中的至少一个的目的地、从所述一个或以上可共享运输服务中的至少一个的上车位置出发的出发时间,所述一个或以上可共享运输服务中的至少一个的乘客数量等,或其任何组合。

图6是根据本申请的一些实施例所示的用于确定目标服务提供者的示例性过程的流程图。过程600可以在图1所示的按需服务系统100中实现。例如,过程600可以作为指令(例如,应用程序)的形式存储在存储设备150和/或存储器220中,并且由服务器110(例如,服务器的处理引擎112、在图2中示出的处理器210、或图4中所示的处理引擎112中的一个或以上模块)调用和/或执行。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程600可以通过未描述的一个或多个以上附加操作来完成,和/或没有所讨论的操作的一个或以上。另外,如图6所示和下面描述的过程600的操作的顺序不是限制性的。在一些实施例中,可以根据过程600来执行图5中所示的过程500的操作530。

在本申请中,可以以将两种运输服务组合成新的运输服务的拼车运输服务为例。应当理解,将两个运输服务组合为新的运输服务的拼车服务仅仅是为了说明的目的,并不旨在限制本申请的范围。在一些实施例中,本申请可以应用于将两种以上运输服务组合成新运输服务的拼车运输服务。

在本申请中,采用实时运输服务作为示例。应当注意实时运输服务仅用于说明目的,并非旨在限制本申请的范围。在一些实施例中,本申请可以应用于运输服务预约。

在610中,提供者确定模块430(或处理引擎112,和/或处理电路210-b)可以基于第一上车位置和一个或以上候选服务提供者中的每一个的位置确定所述一个或以上候选服务提供者。

在一些实施例中,提供者终端140可以通过提供者终端140中的定位技术获取其位置(其被称为候选服务提供者的位置),例如,GPS、GLONASS、COMPASS、QZSS、BDS、WiFi定位技术等,或其任何组合。安装在提供者终端140中的应用程序可以指示提供者终端140将候选服务提供者的实时位置连续地或周期性地发送到服务器110。因此,服务器110可以实时或基本上实时地获取候选服务提供者的位置。候选服务提供者的位置可以是实时位置,该实时位置对应于输入/输出模块410获取待处理运输服务的时间点,由提供者终端140通过定位技术(例如,GPS)获取。

在一些实施例中,提供者确定模块430可以根据预设距离(例如,3千米)和第一上车位置确定至少两个第一位置。所述至少两个第一位置中的每一个与第一上车位置之间的距离(例如,从所述至少两个第一位置中的每一个到第一上车位置的行驶距离或从所述至少两个第一位置中的每一个到第一上车位置的直线距离)可以小于预设距离。提供者确定模块430可以确定包括所述至少两个第一位置的第一区域。附加地或替代地,提供者确定模块430可以根据预定时间段(例如,5分钟)和第一上车位置确定至少两个第二位置。从所述至少两个第二位置中的每一个到第一上车位置的行驶时间可以在预设时间段内。提供者确定模块430可以确定包括所述至少两个第二位置的第二区域。与输入/输出模块410获取待处理运输服务的时间点对应的实时位置位于第一区域和/或第二区域中的工作服务提供者和/或空闲服务提供者可以被选择为候选服务提供者。第一上车位置与一个或以上候选服务提供者的位置之间的距离(例如,从一个或以上候选服务提供者中的每一个的位置到第一上车位置的行程距离或者从一个或以上候选服务提供者中的每一个的位置到第一上车位置之间的直线距离)可以小于预设距离,或从一个或以上候选服务提供者中的每一个的位置到第一上车位置的行驶时间可以小于预设时间段。

在一些实施例中,如果所述区域中不包括候选服务提供者,则输入/输出模块410可以向与服务请求者相关联的请求者终端130发送消息,指示没有针对第一运输服务的可用服务提供者。

在620中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以过滤一个或以上候选服务提供者以确定一个或以上过滤服务提供者。

在一些实施例中,如果在所述一个或以上候选服务提供者中没有工作服务提供者,则提供者确定模块430可以基于第一上车位置与所述一个或以上候选服务提供者中的每一个的位置之间的距离(例如,从所述一个或以上候选服务提供者中的每一个的位置到第一上车位置的行程距离或所述一个或以上候选服务提供者中的每一个的位置和第一上车位置之间的直线距离),和/或从所述一个或以上候选服务提供者中的每一个的位置到第一上车位置行驶时间,来确定一个或以上过滤服务提供者。例如,提供者确定模块430可以按照第一上车位置与所述一个或以上候选服务提供者中的每一个的位置之间的直线距离的升序对所述一个或以上候选服务提供者进行排名。提供者确定模块430可以将排名前5的候选服务提供者确定为过滤服务提供者。

在一些实施例中,如果在所述一个或以上候选服务提供者中存在至少一个工作服务提供者,则提供者确定模块430可以基于以下至少一个在所述一个或以上候选服务提供者中确定一个或以上过滤服务提供者:第一上车位置、第一出发时间、第一目的地、与所述一个或以上候选服务提供者中的至少一个(例如,所述至少一个工作服务提供者)相关联的候选运输服务的第二上车位置、与所述一个或以上候选服务提供者中的至少一个相关联的候选运输服务的从第二上车位置出发的第二出发时间、与所述一个或以上候选服务提供者中的至少一个相关联的候选运输服务的第二目的地、或者所述一个或以上候选服务提供者中的至少一个的位置。与候选服务提供者相关联的候选运输服务是指当输入/输出模块410获取待处理运输服务时由候选服务提供者正在提供的可共享运输服务。关于确定一个或以上过滤服务提供者的细节可以在本申请的其他地方找到(例如,图7-图11及其描述)。

在一些实施例中,如果没有工作服务提供者被确定为所述一个或以上过滤服务提供者,则提供者确定模块430可以从空闲服务提供者中确定一个或以上过滤服务提供者。如果没有工作服务提供者被确定为所述一个或以上过滤服务提供者,并且在所述一个或以上候选服务提供者中没有空闲服务提供者,输入/输出模块410可以向与服务请求者相关联的请求者终端130发送消息,该消息指示对于第一运输服务没有可用的服务提供者。

在630中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以从所述一个或以上过滤服务提供者中确定目标服务提供者。

在一些实施例中,如果待处理运输服务对应于请求,则输入/输出模块410可以将待处理运输服务发送到所述一个或以上过滤服务提供者。在一些实施例中,如果待处理运输服务对应于意图,则在服务请求者将待处理运输服务的请求发送到处理引擎112之后,输入/输出模块410可以将待处理运输服务发送到所述一个或多个过滤服务提供者。

在一些实施例中,提供者确定模块430可以确定所述一个或以上过滤服务提供者的数量是否大于阈值数量(例如,5)。响应于确定所述一个或以上过滤服务提供者的数量小于或等于阈值数量,输入/输出模块410可以将待处理运输服务发送到所述一个或以上过滤服务提供者。响应于确定所述一个或以上过滤服务提供者的数量大于阈值数量,输入/输出模块410可以将待处理运输服务发送到所述一个或以上过滤服务提供者中的一部分。仅作为示例,提供者确定模块430可以基于过程700-1100相关的结果来确定所述一个或以上过滤服务提供者中的每一个的分数。例如,对应于一个过滤服务提供者,该过滤服务提供者到达第一上车位置的ETA与第一出发时间之间的时间差越短,该过滤服务提供者的分数可能越高。提供者确定模块430可以基于所述一个或以上过滤服务提供者的分数以降序对所述一个或以上过滤服务提供者进行排名。输入/输出模块410可以将待处理运输服务发送到排名前5的过滤服务提供者。

在一些实施例中,提供者确定模块430可以将第一个接受待处理运输服务的过滤服务提供者确定为目标服务提供者。

图7是根据本申请的一些实施例所示的用于选择候选服务提供者的示例性过程的流程图。过程700可以在图1所示的按需服务系统100中实现。例如,过程700可以作为指令的形式(例如,应用程序)存储在存储设备150和/或存储器220中,并且由服务器110(例如,服务器110的处理引擎112、图2中所示的处理器210、或图4中所示的处理引擎112中的一个或多个模块)调用和/或执行。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程700可以通过未描述的一个或多个以上附加操作来完成,和/或没有所讨论的操作的一个或以上。另外,如图7所示和下面描述的过程700的操作的顺序不是限制性的。在一些实施例中,可以根据过程700来执行图6中所示的过程600的操作620。对于一个或以上候选服务提供者之一,服务器110可以执行过程700以确定是否将该候选服务提供者确定为过滤服务提供者。服务器110可以逐个或同时过滤所述一个或以上候选服务提供者中的至少一个。

在710中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以基于第一上车位置和第一目的地确定第一原始路线。

在一些实施例中,第一原始路线可以指在待处理运输服务未与其他运输服务组合的条件下从第一上车位置到第一目的地的路线。在一些实施例中,提供者确定模块430可以从第一上车位置到第一目的地的至少两个候选路线中选择一个路线作为第一原始路线。例如,第一原始路线可以是从第一上车位置到第一目的地的候选路线中具有最短长度的路线。又例如,第一原始路线可以是从第一上车位置到第一目的地的候选路线中具有最短行驶时间的路线。

在720中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以基于第一上车位置、第一目的地、与候选服务提供者相关联的候选运输服务的第二目的地,以及候选运输服务的第二上车位置和候选服务提供者的位置二者中的至少一个来确定第一共享路线。在一些实施例中,第一共享路线可以指在待处理运输服务与候选运输服务组合的条件下从第一上车位置到第一目的地的路线。在一些实施例中,候选服务提供者的位置可以是与输入/输出模块410获取待处理运输服务的时间点相对应的实时位置。

在一些实施例中,候选运输服务可以对应于候选服务提供者已接受的服务请求。例如,当输入/输出模块410获取待处理运输服务时,候选服务提供者(例如,司机)可能正在前往第二上车位置的路上以接送该候选运输服务的一个或以上乘客。又例如,当输入/输出模块410获取待处理运输服务时,候选服务提供者(例如,司机)可能正在第二上车位置处等待候选运输服务的一个或以上乘客。作为又一示例,当输入/输出模块410获取待处理运输服务时,候选服务提供者(例如,司机)可能已经接到了候选运输服务的一个或以上乘客并且正在前往第二目的地。

在一些实施例中,提供者确定模块430可以确定一条组合路线,该组合路线通过第一上车位置、第一目的地、第二目的地,以及第二上车位置和候选服务提供者的位置二者中的至少一个。例如,如果当输入/输出模块410获取待处理运输服务时候选服务提供者正在前往第二上车位置的途中,则提供者确定模块430可以确定一条组合路线,该组合路线通过该候选服务提供者的位置、第二上车位置、第二目的地、第一上车位置和第一目的地。又例如,如果候选服务提供者在输入/输出模块410获取待处理运输服务时到达第二上车位置,则提供者确定模块430可以确定一条组合路线,该组合路线通过第二上车位置、第二目的地、第一上车位置和第一目的地。作为又一示例,在输入/输出模块410获取待处理运输服务时,如果候选服务提供者正在前往第二目的地的途中,则提供者确定模块430可以确定一条组合路线,该组合路线通过候选服务提供者的位置、第二目的地、第一上车位置和第一目的地。

在一些实施例中,提供者确定模块430可以从通过第一上车位置、第一目的地、第二目的地,以及第二上车位置和候选服务提供者的位置二者中的至少一个的两个或以上的候选路线中选择一个作为组合路线。例如,组合路线可以是在通过第一上车位置、第一目的地、第二目的地,以及第二上车位置和候选服务提供者的位置二者中的至少一个的候选路线中具有最短长度的路线。又例如,组合路线可以是在通过第一上车位置、第一目的地、第二目的地,以及第二上车位置和候选服务提供者的位置二者中的至少一个的候选路线中具有最短行驶时间的路线。

提供者确定模块430可以选择组合路线的第一部分作为第一共享路线。组合路线的第一部分可以是从第一上车位置到第一目的地。

在730中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以将第一原始路线与第一共享路线进行比较以确定在待处理运输服务与该候选运输服务相结合的条件下,从第一上车位置到第一目的地,该候选服务提供者是否将绕道而行。提供者确定模块430还可以确定从第一上车位置到第一目的地的绕行(也称为第一绕行)是否超过阈值。

在一些实施例中,可以根据第一原始路线和第一原始路线的长度来确定第一绕行。例如,提供者确定模块430可以基于第一原始路线和第一共享路线的长度来比较第一原始路线和第一共享路线。提供者确定模块430可以确定第一原始路线的长度与第一共享路线的长度之间的第一长度差,并确定第一长度差的绝对值是否小于第一阈值长度(例如,3公里(km))。在一些实施例中,第一长度差可以在0.1至50km的范围内。在一些实施例中,第一长度差可以被限制在0.1至1km、1至2km、2至5km、5至10km、10至20km或20至50km的子范围内。响应于确定第一长度差的绝对值小于第一阈值长度,提供者确定模块430可确定第一绕行在阈值内。又例如,提供者确定模块430可以通过将第一长度差除以第一原始路线的长度来确定第一长度百分比。提供者确定模块430可以确定第一长度百分比是否小于第一阈值长度百分比(例如,5%)。在一些实施方案中,第一阈值长度百分比可以在1%至50%的范围内。在一些实施方案中,第一阈值长度百分比可以被限制在1%至5%、5%至10%、10%至20%或20%至50%的子范围内。响应于确定第一长度百分比小于第一阈值长度百分比,提供者确定模块430可以确定第一绕行在阈值内。作为又一示例,提供者确定模块430可以确定第一原始路线的长度与第一共享路线的长度之间的第一长度比。如果通过将第一共享路线长度除以第一原始路线的长度来确定第一长度比,则提供者确定模块430可以确定第一长度比是否大于第一阈值长度比(例如,0.8)。在一些实施例中,第一阈值长度比可以在0.5到1的范围内。在一些实施例中,第一阈值长度比可以被限制在0.5到0.55、0.55到0.6、0.6到0.7或0.7到1的子范围内。响应于确定第一长度比大于第一阈值长度比,提供者确定模块430可以确定第一绕行在阈值内。或者,如果通过将第一共享路线的长度除以第一原始路线的长度来确定第一长度比,则提供方确定模块430可以确定第一长度比是否小于第二阈值长度比(例如,1.25)。在一些实施例中,第二阈值长度比可以在1到1.5的范围内。在一些实施例中,第二阈值长度比可以被限制在1到1.05、1.05到1.1、1.1到1.2或1.2到1.5的子范围内。响应于确定第一长度比小于第二阈值长度比,提供者确定模块430可以确定第一绕行在阈值内。

可选地或另外地,可以根据第一原始路线和第一共享路线的行进时间来确定第一绕行。例如,提供者确定模块430可以确定第一原始路线的行驶时间与第一共享路线的行驶时间之间的第一时间差,并确定第一时间差的绝对值是否小于第一阈值时间(例如,10分钟)。在一些实施例中,第一阈值时间可以在0到50分钟的范围内。在一些实施例中,第一阈值时间可以被限制在0到5分钟、5到10分钟、10到20分钟或20到50分钟的子范围内。响应于确定第一时间差的绝对值小于第一阈值时间,提供者确定模块430可确定第一绕行在阈值内。又例如,提供者确定模块430可以通过将第一时间差除以第一原始路线的行驶时间来确定第一时间百分比。提供者确定模块430可以确定第一时间百分比是否小于第一阈值时间百分比(例如,5%)。在一些实施例中,第一阈值时间百分比可以在1%至50%的范围内。在一些实施例中,第一阈值时间百分比可以被限制在1%至5%、5%至10%、10%至20%或20%至50%的子范围内。响应于确定第一时间百分比小于第一阈值时间百分比,提供者确定模块430可以确定第一绕行在阈值内。作为又一示例,提供者确定模块430可以确定第一原始路线的行驶时间与第一共享路线的行驶时间之间的第一时间比。如果通过将第一原始路线的行驶时间除以第一共享路线的行驶时间来确定第一时间比,则提供者确定模块430可以确定第一时间比是否大于第一阈值时间比(例如,0.8)。在一些实施例中,第一阈值时间比可以在0.5到1的范围内。在一些实施例中,第一阈值时间比可以被限制在0.5到0.55、0.55到0.6、0.6到0.7或0.7到1的子范围内。响应于确定第一时间比大于第一阈值时间比,提供者确定模块430可以确定第一绕行在阈值内。或者,如果通过将第一共享路线的行驶时间除以第一原始路线的行驶时间来确定第一时间比,则提供者确定模块430可以确定第一时间比是否小于第二阈值时间比(例如,1.25)。在一些实施方案中,第二阈值时间比可以在1至1.5的范围内。在一些实施例中,第二阈值时间比可以被限制在1到1.05、1.05到1.1、1.1到1.2或1.2到1.5的子范围内。响应于确定第一时间比小于第二阈值时间比,提供者确定模块430可确定第一绕行在阈值内。

可选地或另外地,可以根据第一原始路线和第一共享路线的行驶时间和长度的组合来确定第一绕行。例如,响应于确定第一长度差的绝对值小于第一阈值长度并且确定第一时间差的绝对值小于第一阈值时间,提供者确定模块430可以确定第一绕行在阈值内。

在740中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以基于候选服务提供者的位置和第二目的地来确定第二原始路线。

在一些实施例中,第二原始路线可以是指候选运输服务未与其他运输服务组合的条件下从候选服务提供者的位置到第二目的地的路线。在一些实施例中,提供者确定模块430可以从候选服务提供者的位置到第二目的地的至少两个候选路线中选择一条路线作为第二原始路线。例如,第二原始路线可以是从候选服务提供者的位置到第二目的地的候选路线中具有最短长度的路线。又例如,第二原始路线可以是从候选服务提供者的位置到第二目的地的候选路线中具有最短行驶时间的路线。

在750中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以基于第一上车位置、第一目的地、第二目的地,以及第二上车位置和候选服务提供者的位置二者中的至少一个确定第二共享路线。在一些实施例中,第二共享路线可以指在待处理运输服务与所述候选运输服务组合的条件下从候选服务提供者的位置到第二目的地的路线。在一些实施例中,提供者确定模块430可以选择组合路线的第二部分作为第二共享路线。组合路线的第二部分可以是从候选服务提供者的位置到第二目的地的位置。

在760中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以将第二原始路线与第二共享路线进行比较以确定在待处理运输服务与所述候选运输服务相结合的条件下,从候选服务提供者的位置到第二目的地,候选服务提供者是否将绕道而行。提供者确定模块430还可以确定从候选服务提供者的位置到第二目的地的绕行(也称为第二绕行)是否超过阈值。

在一些实施例中,可以根据第二原始路线和第二原始路线的长度来确定第二绕行。例如,提供者确定模块430可以基于第二原始路线和第二共享路线的长度来比较第二原始路线和第二共享路线。提供者确定模块430可以确定第二原始路线的长度与第二共享路线的长度之间的第二长度差,并确定第二长度差的绝对值是否小于第二阈值长度(例如,3公里)。在一些实施例中,第二长度差可以在0.1至50km的范围内。在一些实施例中,第二长度差可以被限制在0.1至1km、1至2km、2至5km、5至10km、10至20km或20至50km的子范围内。响应于确定第二长度差的绝对值小于第二阈值长度,提供者确定模块430可以确定第二绕行在阈值内。又例如,提供者确定模块430可以通过将第二长度差除以第二原始路线的长度来确定第二长度百分比。提供者确定模块430可以确定第二长度百分比是否小于第二阈值长度百分比(例如,5%)。在一些实施方案中,第二阈值长度百分比可以在1%至50%的范围内。在一些实施方案中,第二阈值长度百分比可以被限制在1%至5%、5%至10%、10%至20%或20%至50%的子范围内。响应于确定第二长度百分比小于第二阈值长度百分比,提供者确定模块430可以确定第二绕行在阈值内。作为又一示例,提供者确定模块430可以确定第二原始路线的长度与第二共享路线的长度之间的第二长度比。如果通过将第二共享路线的长度除以第二共享路线的长度来确定第二长度比,则提供者确定模块430可以确定第二长度比是否大于第三阈值长度比(例如,0.8)。在一些实施例中,第三阈值长度比可以在0.5到1的范围内。在一些实施例中,第三阈值长度比可以被限制在0.5到0.55、0.55到0.6、0.6到0.7或0.7到1的子范围内。响应于确定第二长度比小于第三阈值长度比,提供者确定模块430可以确定第二绕行在阈值内。或者,如果通过将第二共享路线的长度除以第二原始路线长度来确定第二长度比,则提供方确定模块430可以确定第二长度比是否小于第四阈值长度比(例如,1.25)。在一些实施例中,第四阈值长度比可以在1到1.5的范围内。在一些实施例中,第四阈值长度比可以被限制在1到1.05、1.05到1.1、1.1到1.2或1.2到1.5的子范围内。响应于确定第二长度比小于第四阈值长度比,提供者确定模块430可以确定第二绕行在阈值内。

可选地或另外地,可以根据第二原始路线和第二共享路线的行驶时间来确定第一绕行。例如,提供者确定模块430可以确定第二原始路线的行驶时间与第二共享路线的行驶时间之间的第二时间差,并确定第二时间差的绝对值是否小于第二阈值时间(例如,10分钟)。在一些实施例中,第二阈值时间可以在0到50分钟的范围内。在一些实施例中,第二阈值时间可以被限制在0到5分钟、5到10分钟、10到20分钟或20到50分钟的子范围内。响应于确定第二时间差的绝对值小于第二阈值时间,提供者确定模块430可确定第二绕行在阈值内。又例如,提供者确定模块430可以通过将第二时间差除以第二原始路线的行驶时间来确定第二时间百分比。提供者确定模块430可以确定第二时间百分比是否小于第二阈值时间百分比(例如,5%)。在一些实施方案中,第二阈值时间百分比可以在1%至50%的范围内。在一些实施方案中,第二阈值时间百分比可以被限制在1%至5%、5%至10%、10%至20%或20%至50%的子范围内。响应于确定第二时间百分比小于第二阈值时间百分比,提供者确定模块430可确定第二次迂回在阈值内。作为又一示例,提供者确定模块430可以确定第二原始路线的行驶时间与第二共享路线的行驶时间之间的第二时间比。如果通过将第二原理线的行驶时间除以第二共享路线的行驶时间来确定第二时间比,则提供者确定模块430可以确定第二时间比是否大于第三阈值时间比(例如,0.8)。在一些实施例中,第三阈值时间比可以在0.5到1的范围内。在一些实施例中,第三阈值时间比可以被限制在0.5到0.55、0.55到0.6、0.6到0.7或0.7到1的子范围内。响应于确定第二时间比率大于第三阈值时间比率,提供者确定模块430可确定第二次绕道在阈值内。或者,如果通过将第二共享路线的行驶时间除以第二原始路线的行驶时间来确定第二时间比,则提供者确定模块430可以确定第二时间比是否小于第四阈值时间比(例如,1.25)。在一些实施方案中,第四阈值时间比可以在1至1.5的范围内。在一些实施例中,第四阈值时间比可以被限制在1到1.05、1.05到1.1、1.1到1.2或1.2到1.5的子范围内。响应于确定第二时间比率小于第四阈值时间比率,提供者确定模块430可确定第二次迂回在阈值内。

可选地或另外地,可以根据第二原始路线和第二共享路线的行驶时间和长度的组合来确定第二绕行。例如,响应于确定第二长度差的绝对值小于第二阈值长度并且确定第二时间差的绝对值小于第二阈值时间,提供者确定模块430可以确定第二绕行在阈值内。

在770中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以基于第一原始路线与第一共享路线之间的比较结果以及第二原始路线与第二共享路线之间的比较结果,确定是否将所述候选服务提供者确定为过滤服务提供者。

在一些实施例中,响应于确定在待处理运输服务与所述候选运输服务组合情况下第一绕行在阈值内,以及确定在待处理运输服务与所述候选运输服务相结合情况下第二次绕行在阈值内,提供者确定模块430可以将候选服务提供者确定为过滤服务提供者。

应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,变化和修改不会背离本申请的范围。例如,当提供者确定模块430仅通过确定第一绕行是否可接受来处理候选服务提供者时,可以省略操作740-760。例如,当提供者确定模块430仅通过确定第二绕行是否可接受来处理候选服务提供者时,可以省略操作710-730。

图8是根据本申请的一些实施例所示的用于选择候选服务提供者的示例性过程的流程图。过程800可以在图1所示的按需服务系统100中实现。例如,过程800可以作为指令的形式(例如,应用程序)存储在存储设备150和/或存储器220中,并且由服务器110(例如,服务器110的处理引擎112、图2中所示的处理器210、或图4中所示的处理引擎112中的一个或多个模块)调用和/或执行。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程800可以通过未描述的一个或多个以上附加操作来完成,和/或没有所讨论的操作的一个或以上。另外,如图8所示和下面描述的过程800的操作的顺序不是限制性的。在一些实施例中,可以根据过程800来执行图6中所示的过程600的操作620。对于一个或以上候选服务提供者中的一个,服务器110可以执行过程800以确定是否将该候选服务提供者确定为过滤服务提供者。服务器110可以逐个或同时过滤一个或以上候选服务提供者中的至少一个。

在810中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以确定从候选服务提供者的位置到第一上车位置的第一方向。

在820中,提供者确定模块430(或处理引擎112,和/或处理电路210-b)可以确定从候选服务提供者的位置到与候选服务提供者相关联的候选运输服务的第二目的地的第二方向。

在830中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以确定第一方向和第二方向之间的角度。在一些实施例中,第一方向和第二方向之间的角度(从第一方向到第二方向或从第二方向到第一方向的角度)可以小于或等于180°。

在840中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以确定所述角度是否小于阈值角度(例如,90°)。

在850中,响应于关于所述角度是否小于阈值角度的确定结果,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以确定是否将所述候选服务提供者确定为过滤服务提供者。当第一方向和第二方向之间的角度小于阈值角度时,所述候选服务提供者可以被确定为过滤服务提供者。例如,第一上车位置在候选服务提供者的位置的北边,第二个目的地在候选服务提供者的位置的北边。第一方向和第二方向之间的角度可以是0°,其小于阈值角度90°。提供者确定模块430可以将所述候选服务提供者确定为过滤服务提供者。又例如,第一上车位置位于候选服务提供者位置的北面,第二目的地位于候选服务提供者位置的南面。第一方向和第二方向之间的角度可以是180°,其大于阈值角度90°。提供者确定模块430可以不将所述候选服务提供者确定为过滤服务提供者。

应当注意以上描述仅用于说明的目的,而不是用于限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。例如,第一方向和第二方向之间的角度可以大于或等于180°。提供者确定模块430可以确定所述角度是否大于阈值(例如,270°)。响应于确定该角度大于阈值,所述候选服务提供者可以被选择作为至少一个候选服务提供者。

图9是根据本申请的一些实施例所示的用于选择候选服务提供者的示例性过程的流程图。过程900可以在图1所示的按需服务系统100中实现。例如,过程900可以作为指令(例如,应用程序)的形式存储在存储设备150和/或存储器220中,并且由服务器110(例如,服务器的处理引擎112调用和/或执行。在图2中示出的处理器210、或图4中所示的处理引擎112中的一个或以上模块)。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程900可以通过未描述的一个或多个以上附加操作来完成,和/或没有所讨论的操作的一个或以上。另外,如图9所示和下面描述的过程900的操作的顺序不是限制性的。在一些实施例中,可以根据过程900来执行图6中所示的过程600的操作620。对于一个或以上候选服务提供者中的一个,服务器110可以执行过程900以确定是否将所述候选服务提供者确定为过滤服务提供者。服务器110可以逐个或同时过滤一个或以上候选服务提供者中的至少一个。

在910中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以基于候选服务提供者的位置、第一上车位置、与候选服务提供者相关联的候选运输服务的第二上车位置、以及候选运输服务的第二出发时间确定候选服务提供者到第一上车位置的第一预计到达时间(ETA)。

在一些实施例中,提供者确定模块430可以确定组合路线,该组合路线通过第一上车位置、第一目的地、第二目的地,以及第二上车位置和候选服务提供者的位置二者中的至少一个。例如,如果当输入/输出模块410获取待处理运输服务时,候选服务提供者正在前往第二上车位置的途中,则提供者确定模块430可以确定通过候选服务提供者的位置、第二上车位置、第二目的地、第一上车位置和第一目的地的组合路线。又例如,如果在输入/输出模块410获取待处理运输服务时,候选服务提供者到达第二上车位置,则提供者确定模块430可以确定通过第二上车位置、第二目的地、第一上车位置和第一目的地的组合路线。作为又一示例,如果在输入/输出模块410获取待处理运输服务时,候选服务提供者在前往第二目的地的途中,则提供者确定模块430可以确定通过候选服务提供者的位置、第二目的地、第一上车位置和第一目的地的组合路线。提供者确定模块430可以基于从候选服务提供者的位置到第一上车位置的组合路线的一部分来确定候选服务提供者到第一上车位置的第一预计到达时间。

在一些实施例中,根据从候选服务提供者的位置到第一上车位置的组合路线的一部分,如果第二上车位置在候选服务提供者的位置和第一上车位置之间,表示候选服务提供者将首先接载候选运输服务的乘客,然后接载待处理运输服务的乘客,提供者确定模块430可以基于从候选服务提供者的位置到第二上车位置的行驶时间,从第二上车位置到第一上车位置的行驶时间,以及第二出发时间,确定候选服务提供者到第一上车位置的第一预计到达时间。例如,当前时间(例如,输入/输出模块410获取待处理运输服务的时间点)是上午10点,提供者确定模块430可以确定从候选服务提供者的位置到第二上车位置的行驶时间是5分钟,而从第二上车位置到第一上车位置的行驶时间是3分钟。第二出发时间是上午10点07分。提供者确定模块430可以确定候选服务提供者到达第一上车位置的第一预计到达时间是在上午10点10分。又例如,当前时间(例如,输入/输出模块410获取待处理运输服务的时间点)是上午10点,提供者确定模块430可以确定从候选服务提供者的位置到第二上车位置的行驶时间是5分钟,而从第二上车位置到第一上车位置的行驶时间是3分钟。第二出发时间是上午10点03分。提供者确定模块430可以确定候选服务提供者到达第一上车位置的第一预计到达时间是上午10点08分。

在一些实施例中,如果根据从候选服务提供者的位置到第一上车位置的组合路线的一部分,第二上车位置不在候选服务提供者的位置和第一上车位置之间,表示候选服务提供者将首先接载待处理运输服务的乘客,然后接载候选运输服务的乘客,或候选服务提供者已经接载了候选运输服务的乘客,提供者确定模块430可以根据从候选服务提供的位置到第一上车位置确定候选服务提供者到第一上车位置的第一预计到达时间。例如,当前时间(例如,输入/输出模块410获取待处理运输服务的时间点)是上午10点,提供者确定模块430可以确定从候选服务提供者到第一上车位置的位置的行驶时间是5分钟。提供者确定模块430可以确定候选服务提供者到第一上车位置的第一预计到达时间是上午10:05。

在920中,提供者确定模块430(或处理引擎112,和/或处理电路210-b)可以确定候选服务提供者到第一上车位置的第一预计到达时间与第一出发时间之间的第一时间差。在一些实施例中,提供者确定模块430可以通过从候选服务提供者到第一上车位置的第一预计到达时间减去第一出发时间来确定第一时间差。

在930中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以确定第一时间差是否小于第一阈值差(例如,5分钟)。第一阈值差可以是固定值,或者可以根据不同情况进行调整。例如,在高峰时段(例如,上午7:00至上午9:00),第一阈值差可能相对较长(例如,6分钟),因为服务提供者可能需要更长时间才能到达第一上车位置;而在其他时间(例如,上午10:00-12:00),第一阈值差可能相对较短(例如,2分钟),因为服务提供者可能需要更短的时间到达第一上车位置。

在940中,响应于关于第一时间差是否小于第一阈值差的确定结果,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以确定是否将所述候选服务提供者确定为过滤服务提供者。响应于确定候选服务提供者到第一上车位置的第一预计到达时间和第一出发时间之间的第一时间差小于第一阈值差,所述候选服务提供者可以被确定为过滤服务提供者。例如,候选服务提供者到第一上车位置的第一预计到达时间是上午9:58,而第一出发时间是上午10点。候选服务提供者到第一上车位置的第一预计到达时间和第一出发时间之间的第一时间差可以是2分钟,其小于第一阈值差5分钟。提供者确定模块430可以将所述候选服务提供者确定为过滤服务提供者。又例如,候选服务提供者到达第一上车位置的第一预计到达时间是下午4:52,而第一出发时间是下午5点。候选服务提供者到达第一上车位置的第一预计到达时间和第一出发时间之间的第一时间差可以是8分钟,其大于第一阈值差5分钟。提供者确定模块430可以不将所述候选服务提供者确定为过滤服务提供者。

图10是根据本申请的一些实施例所示的用于选择候选服务提供者的示例性过程的流程图。过程1000可以在图1所示的按需服务系统100中实现。例如,过程1000可以作为指令(例如,应用程序)的形式存储在存储设备150和/或存储器220中,并且由服务器110(例如,服务器的处理引擎112调用和/或执行、在图2中示出的处理器210、或图4中所示的处理引擎112中的一个或以上模块)。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程1000可以通过未描述的一个或多个以上附加操作来完成,和/或没有所讨论的操作的一个或以上。另外,如图10所示和下面描述的过程1000的操作的顺序不是限制性的。在一些实施例中,可以根据过程1000来执行图6中所示的过程600的操作620。对于一个或以上候选服务提供者之一,服务器110可以执行过程1000以确定是否将所述候选服务提供者确定为过滤服务提供者。服务器110可以逐个或同时过滤一个或以上候选服务提供者中的至少一个。

在1010中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以基于候选服务提供者位置、第一上车位置、第二上车位置和第一出发时间,确定所述候选服务提供者到候选运输服务的第二上车位置的第二预计到达时间(ETA)。所述候选运输服务与所述候选服务提供者相关联。

在一些实施例中,提供者确定模块430可以确定组合路线,该组合路线通过第一上车位置、第一目的地、第二目的地,以及第二上车位置和候选服务提供者的位置二者中的至少一个。例如,如果当输入/输出模块410获取待处理运输服务时,候选服务提供者正在前往第二上车位置的途中,则提供者确定模块430可以确定通过候选服务提供者的位置、第二上车位置、第二目的地、第一上车位置和第一目的地的组合路线。又例如,如果在输入/输出模块410获取待处理运输服务时,候选服务提供者到达第二上车位置,则提供者确定模块430可以确定通过第二上车位置、第二目的地、第一上车位置和第一目的地的组合路线。作为又一示例,如果在输入/输出模块410获取待处理运输服务时,候选服务提供者在前往第二目的地的途中,则提供者确定模块430可以确定通过该候选服务提供者的位置、第二目的地、第一上车位置和第一目的地的组合路线。提供者确定模块430可以基于从候选服务提供者的位置到第二上车位置的组合路线的一部分来确定候选服务提供者到第二上车位置的第二预计到达时间。

在一些实施例中,根据从候选服务提供者的位置到第二上车位置的组合路线的一部分,如果第一上车位置在候选服务提供者的位置和第二上车位置之间,表示候选服务提供者将首先接载待处理运输服务的乘客,然后接载候选运输服务的乘客,提供者确定模块430可以基于从候选服务提供者的位置到第一上车位置的行驶时间,从第一上车位置到第二上车位置的行驶时间,以及第一出发时间,确定候选服务提供者的第二预计到达时间。例如,当前时间(例如,输入/输出模块410获取待处理运输服务的时间点)是上午10点,提供者确定模块430可以确定从候选服务提供者的位置到第一上车位置的行驶时间是5分钟,而从第一上车位置到第二上车位置的行驶时间是3分钟。第一出发时间是上午10点07分。提供者确定模块430可以确定候选服务提供者到第二上车位置的第二预计到达时间是在上午10点10分。又例如,当前时间(例如,输入/输出模块410获取待处理运输服务的时间点)是上午10点,提供者确定模块430可以确定从候选服务提供者的位置到第一上车位置的行驶时间是5分钟,从第一上车位置到第二上车位置的行驶时间是3分钟。第一出发时间是上午10点02分。提供者确定模块430可以确定候选服务提供者到第二上车位置的第二预计到达时间是上午10:08。

在一些实施例中,如果根据从候选服务提供者的位置到第二上车位置的组合路线的一部分,第一上车位置不在候选服务提供者的位置和第二上车位置之间,表示候选服务提供者将首先接载候选运输服务的乘客,然后接载待处理运输服务的乘客,提供者确定模块430基于从候选服务提供者的位置到第二上车位置的行驶时间确定候选服务提供者到第二上车位置的的第二预计到达时间。例如,当前时间(例如,输入/输出模块410获取待处理运输服务的时间点)是上午10点,提供者确定模块430可以确定从候选服务提供者的位置到第二上车位置的行驶时间是5分钟。提供者确定模块430可以确定候选服务提供者到第二上车位置的第二预计到达时间是上午10点05分。

在1020中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以确定候选服务提供者到第二上车位置的第二预计到达时间与候选运输服务的第二出发时间之间的第二时间差。在一些实施例中,提供者确定模块430可以通过从候选服务提供者到第二上车位置的第二预计到达时间减去第二出发时间来确定第二时间差。

在1030中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以确定第二时间差是否小于第二阈值差(例如,5分钟)。第二阈值差可以是固定值,或者可以根据不同情况进行调整。例如,在高峰时段(例如,上午7:00-上午9:00),第二阈值差可能相对较长(例如,6分钟),因为服务提供者可能需要更长的时间才能到达第二上车位置;而在其他时间(例如,上午10:00-12:00),第二阈值差可能相对较短(例如,2分钟),因为服务提供者可能需要更短的时间来到达第二上车位置。

在1040中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以响应于关于第二时间差是否小于第二阈值差的确定结果,确定是否将所述候选服务提供者确定为过滤服务提供者。响应于确定第二时间差小于第二阈值差,所述候选服务提供者可以被确定为过滤服务提供者。例如,候选服务提供者到第二上车位置的第二预计到达时间是上午9:58,而第二出发时间是上午10点。第二时间差可以是2分钟,其小于第二阈值差5分钟。提供者确定模块430可以将所述候选服务提供者确定为过滤服务提供者。又例如,候选服务提供者到达第二上车位置的第二预计到达时间是下午4:52,而第二出发时间是下午5点。第二时间差可以是8分钟,其大于第二阈值差5分钟。提供者确定模块430可以不将所述候选服务提供者确定为过滤服务提供者。

图11是根据本申请的一些实施例所示的用于选择候选服务提供者的示例性过程的流程图。过程1100可以在图1所示的按需服务系统100中实现。例如,过程1100可以作为指令(例如,应用程序)的形式存储在存储设备150和/或存储器220中,并且由服务器110调用和/或执行(例如,服务器的处理引擎112在图2中示出的处理器210,或图4中所示的处理引擎112中的一个或以上模块)。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程1100可以通过未描述的一个或多个以上附加操作来完成,和/或没有所讨论的操作的一个或以上。另外,如图11所示和下面描述的过程1100的操作的顺序不是限制性的。在一些实施例中,可以根据过程1100来执行图6中所示的过程600的操作620。对于一个或以上候选服务提供者之一,服务器110可以执行过程1100以确定是否将候选服务提供者确定为过滤服务提供者。服务器110可以逐个或同时过滤一个或以上候选服务提供者中的至少一个。

在1110中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以确定一个或以上请求的计数,其中每个请求具有与第一上车位置一致的上车位置。所述一个或以上请求已经被候选服务提供者接受并且尚未完成。

在1120中,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以确定所述计数是否小于阈值计数(例如,3)。阈值计数可以是固定值,或者可以根据不同情况进行调整。例如,在高峰时段(例如,上午7点至上午9点),阈值计数可能相对较大(例如,4),因为服务提供者的需求量超过供应量;而在其他时间(例如,上午10点至中午12点),由于服务提供者的供应超过需求,阈值计数可能相对较小(例如,2)。

在1130,响应于关于所述计数是否小于阈值计数的确定结果,提供者确定模块430(或处理引擎112、和/或处理电路210-b)可以确定是否将所述候选服务提供者确定为过滤服务提供者。响应于确定具有与第一上车位置一致的上车位置的所述一个或以上请求的计数小于阈值计数,所述候选服务提供者可以被确定为过滤服务提供者。例如,所述计数可以是1,其小于阈值计数3。提供者确定模块430可以将所述候选服务提供者确定为过滤服务提供者。又例如,所述计数可以是4,其大于阈值计数3。提供者确定模块430可以不将候选服务提供者确定为过滤服务提供者。

在一些实施例中,提供者确定模块430可以基于过程700-1100的任何组合来确定一个或以上过滤服务提供者。例如,提供者确定模块430可以基于过程700在一个或以上候选服务提供者中过滤掉一个或以上的工作服务提供者。然后,提供者确定模块430可以在执行过程700之后基于过程800过滤掉剩余工作服务提供者中的一个或以上。提供者确定模块430可以在执行过程700和800之后确定剩余的工作服务提供者作为过滤服务提供者。

上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。

同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。

此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改良。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行,以上硬件或软件均可以被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以表现为位于一个或以上计算机可读介质中的计算机产品,所述产品包括计算机可读程序编码。

计算机可读信号介质可能包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。

本申请各方面操作所需的计算机程序码可以用一种或多种程序语言的任意组合编写,包括面向对象程序设计,如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python或类似的常规程序编程语言、如“C”编程语言、Visual Basic、Fortran2003、Perl、COBOL 2002、PHP、ABAP、动态编程语言如Python、Ruby和Groovy或其它编程语言。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。

此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

48页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:检测和响应警报

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!