System and method for recommending a pickup point

By using the starting point and historical data of the request terminal terminal, determine and recommend the car spots, solve the problem of insufficient GPS information in the existing technology, and improve the recommendation accuracy and stability of the recommendation of the car point.

CN112154473BActive Publication Date: 2025-01-28BEIJING DIDI INFINITY TECH & DEV CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN201880093319.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2018-05-28
Publication Date
2025-01-28
Estimated Expiration
2038-08-13

AI Technical Summary

Technical Problem

In the existing online taxi-hailing services, when determining the boarding point based on GPS information, there are problems of insufficient accuracy and stability.

Method used

By obtaining the starting point position from the request terminal, and determining the candidate on the car point based on this location and historical data, the location information of the candidate is recommended to the car point, and finally send the recommendation to the request terminal.

Benefits of technology

The accuracy and stability of the recommendation on the car point has been improved, and the misleading due to the inadequate GPS information is reduced, and a more reliable ride experience is provided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112154473B_ABST
    Figure CN112154473B_ABST
Patent Text Reader

Abstract

A method for recommending a boarding point is provided. The method may include one or more of the following operations. A starting point location may be obtained from a requester terminal. Based on the starting point location and historical data, one or more candidate boarding points may be determined. The historical data may include one or more historical starting point locations whose distances from the starting point location are within a threshold. Location information of the one or more candidate boarding points may be obtained. Based on the location information of the one or more candidate boarding points, one or more recommended boarding points may be selected from the one or more candidate boarding points. The one or more recommended boarding points may be sent to the requester terminal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application generally relates to online-to-offline (O2O) services and platforms, and more specifically, to methods and systems for recommending pickup points for transportation services and platforms. Background Art

[0002] O2O services, especially online taxi services, have become increasingly popular. When a service requester (e.g., a passenger) uses a user terminal to request a car via an online car service platform, the server usually recommends a pick-up point for the service requester and a service provider (e.g., a driver) who provides transportation services to the service requester. The pick-up point is usually determined based on the global positioning system (GPS) information of the user terminal. The problem with determining the pick-up point based on GPS information is that the GPS information lacks accuracy and stability in some cases. Therefore, it is desirable to provide a system and method for recommending a pick-up point that is more accurate and stable. Summary of the invention

[0003] In a first aspect of the present application, a system may include at least one storage medium storing instructions and at least one processor communicating with the at least one computer-readable storage medium. When executing the instructions, the at least one processor may be used to perform a method including one or more of the following operations. The method includes: a starting point location may be obtained from a requester terminal; based on the starting point location and historical data, one or more candidate boarding points may be determined, the historical data including one or more historical starting points within a threshold distance from the starting point location; location information of the one or more candidate boarding points may be obtained; based on the location information of the one or more candidate boarding points, one or more recommended boarding points may be selected from the one or more candidate boarding points; the one or more recommended boarding points may be sent to the requester terminal.

[0004] In some embodiments, when the instruction is executed to determine the one or more candidate boarding points based on the starting position and the historical data, the at least one processor may be used to perform one or more of the following operations: based on the historical data, a historical boarding point corresponding to each of the one or more historical starting positions may be determined. Based on one or more historical boarding points corresponding to the one or more historical starting positions, the one or more candidate boarding points may be determined.

[0005] In some embodiments, when the instructions are executed to determine the historical boarding point corresponding to each of the one or more historical starting positions, the at least one processor may be configured to perform one or more of the following operations: a first path of a history requester terminal relative to the historical starting position may be obtained. A second path of a history provider terminal relative to the historical starting position may be obtained. A junction point of the first path and the second path may be determined. When the junction point can be projected into a road segment of an updated highway map, the junction point is designated as the historical boarding point corresponding to the historical starting position.

[0006] In some embodiments, the first path may include one or more first point sets. Each first position set may reflect a historical position of the historical requester terminal. The second path may include one or more second point sets. Each second point set may reflect a historical position of the historical provider terminal. When performing the operation of determining the intersection of the first path and the second path, the at least one processor may be configured to perform one or more of the following operations: in the one or more first point sets and the one or more second point sets, a matching pair of the first point set and the second point set may be determined. Based on the second point set of the matching pair, the intersection of the first path and the second path may be determined.

[0007] In some embodiments, when the instruction is executed to select the one or more recommended boarding points, the at least one processor may be used to perform one or more of the following operations: for each of the one or more candidate boarding points, an optimal path from the starting position to each of the one or more candidate boarding points may be identified. It may be determined whether each of the optimal paths includes a road intersection. When it is determined that the optimal path includes a road intersection, the candidate boarding point corresponding to the optimal path including the road intersection may be deleted from the candidate boarding points that may be the recommended boarding points.

[0008] In some embodiments, when the instruction is executed to send the one or more recommended boarding points to the requester terminal, the at least one processor may be configured to perform one or more of the following operations: the one or more recommended boarding points may be sorted. Based on the sorting result, the one or more recommended boarding points may be partially or completely sent to the requester terminal.

[0009] In some embodiments, when the instruction is executed to sort the one or more recommended boarding points, the at least one processor may be used to perform one or more of the following operations: usage information related to one or more historical starting points corresponding to the one or more recommended boarding points may be obtained. Based on the usage information, the one or more recommended boarding points may be sorted.

[0010] In some embodiments, when the instruction is executed to sort the one or more recommended boarding points, the at least one processor may be used to perform one or more of the following operations: obtaining road segment information related to the one or more recommended boarding points. Based on the road segment information, sorting the one or more recommended boarding points.

[0011] In some embodiments, when executing the instructions, the at least one processor may update a road map including at least two road segments surrounding the starting location.

[0012] In a second aspect of the present application, a method that can be implemented on a computing device. The computing device may include at least one processor, at least one computer-readable storage medium, and a communication platform connected to a network. The method may include one or more of the following operations: a starting point location may be obtained from a requester terminal. Based on the starting point location and historical data, one or more candidate boarding points may be determined. The historical data may include one or more historical starting points whose distance from the starting point location is within a threshold. Location information of the one or more candidate boarding points may be obtained. Based on the location information of the one or more candidate boarding points, one or more recommended boarding points may be selected from the one or more candidate boarding points. The one or more recommended boarding points may be sent to the requester terminal.

[0013] In a third aspect of the present application, a non-transitory computer-readable storage medium that can store instructions, when the instructions are executed by at least one processor of the system, causes the system to perform a method including one or more of the following operations: a starting point location can be obtained from a requester terminal. Based on the starting point location and historical data, one or more candidate boarding points can be determined. The historical data may include one or more historical starting points whose distance from the starting point location is within a threshold. Location information of the one or more candidate boarding points can be obtained. Based on the location information of the one or more candidate boarding points, one or more recommended boarding points can be selected from the one or more candidate boarding points. The one or more recommended boarding points can be sent to the requester terminal.

[0014] Some additional features of the present application may be explained in the following description. Some additional features of the present application will be apparent to those skilled in the art through study of the following description and corresponding drawings or understanding of the production or operation of the embodiments. The features of the present application may be realized and achieved through practice or use of the methods, means and combinations of various aspects of the specific embodiments described below. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The present application will be further described by exemplary embodiments. These exemplary embodiments will be described in detail by the accompanying drawings. These embodiments are non-limiting exemplary embodiments, in which the same numbers in each figure represent similar structures, wherein:

[0016] Figure 1 is a schematic diagram of an exemplary O2O service system according to some embodiments of the present application;

[0017] Figure 2 is a schematic diagram of exemplary hardware and software components of a computing device according to some embodiments of the present application;

[0018] Figure 3 is a schematic diagram of exemplary hardware and / or software components of a mobile device on which a terminal can be implemented according to some embodiments of the present application;

[0019] Figure 4 is a block diagram of an exemplary processing engine according to some embodiments of the present application;

[0020] Figure 5 is a flowchart of an exemplary process of recommending a boarding point according to certain embodiments of the present application;

[0021] Figure 6 is a flowchart of an exemplary process of determining one or more candidate boarding points according to some embodiments of the present application;

[0022] Figure 7 is a flowchart of an exemplary process for determining a historical pickup point corresponding to a historical starting point position in a historical service order according to some embodiments of the present application;

[0023] Figure 8 is a flowchart of an exemplary process for determining whether to select a candidate boarding point as a recommended boarding point according to some embodiments of the present application; and

[0024] Fig. 9 is an exemplary road map around a historical starting point location according to some embodiments of the present application. DETAILED DESCRIPTION

[0025] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the accompanying drawings required for use in the description of the embodiments will be briefly introduced below. However, it should be understood by those skilled in the art that the present application can be implemented without these details. In other cases, in order to avoid unnecessarily obscuring some aspects of the present application, the present application has been described in a relatively high-level overview of known methods, procedures, systems, components and / or circuits. For those of ordinary skill in the art, it is obvious that various changes can be made to the disclosed embodiments, and without departing from the principles and scope of the present application, the general principles defined in the present application can be applied to other embodiments and application scenarios. Therefore, the present application is not limited to the embodiments shown, but conforms to the broadest scope consistent with the scope of the application.

[0026] The terms used in this application are only used to describe specific exemplary embodiments and do not limit the scope of this application. The singular forms "one", "an" and "said" used in this application may also include plural forms, unless the context clearly indicates an exception. It should also be understood that, as in the specification of this application, the terms "including" and "comprising" only indicate the presence of the features, wholes, steps, operations, components and / or parts, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, components, parts and / or combinations thereof.

[0027] It should be understood that the "system", "engine", "unit", "module" and / or "block" used herein are a method for distinguishing different elements, components, parts, portions or assemblies at different levels in ascending order. However, these terms may be replaced by another term if they achieve the same purpose.

[0028] Generally, the words "module", "unit" or "block" used herein refer to logic embodied in hardware or firmware, or a collection of software instructions. The modules, units or blocks described herein may be implemented as software and / or hardware, and may be stored in any type of non-transitory computer-readable medium or other storage device. In some embodiments, software modules / units / blocks may be compiled and linked to an executable program. It should be understood that software modules may be called from other modules / units / blocks or from themselves, and / or may be called in response to detected events or interrupts. Software modules / units / blocks configured for execution on a computing device may be provided on a computer-readable medium, such as a compact disc, a digital video disc, a flash drive, a disk, or any other tangible medium, or a digital download (and may be initially stored in a compressed or installable format, requiring installation, decompression or decryption prior to execution). The software code herein may be partially or completely stored in a storage device of a computing device performing the operation, and applied in the operation of the computing device. Software instructions may be embedded in firmware, such as an erasable programmable read-only memory (EPROM). It should also be understood that hardware modules / units / blocks may be included in connected logical components, such as gates and triggers, and / or may include programmable units, such as programmable gate arrays or processors. The modules / units / blocks or computing device functions described herein may be implemented as software modules / units / blocks, but may be represented in hardware or firmware. Generally, the modules / units / blocks described herein refer to logical modules / units / blocks, which may be combined with other modules / units / blocks or divided into sub-modules / sub-units / sub-blocks, despite their physical organization or storage. The description may apply to a system, an engine, or a portion thereof.

[0029] It should be understood that when a unit, engine, module or block is referred to as being "connected," "connected to," or "coupled to" another unit, engine, module or block, unless the context clearly indicates otherwise, it may be directly connected or coupled to or communicate with the other unit, engine, module or block, or there may be intermediate units, engines, modules or blocks. In this application, the term "and / or" may include any one or more of the relevant listed items or combinations thereof.

[0030] These and other features, characteristics and functions and methods of operation of the related structural elements of the present application, as well as the combination of components and manufacturing economy, may become more apparent from the following description of the accompanying drawings, which form a part of the specification of this application. However, it should be understood that the drawings are for illustration and description purposes only and are not intended to limit the scope of the present application. It should be understood that the drawings are not drawn to scale.

[0031] Flowcharts are used in this application to illustrate the operations performed by the system according to some embodiments of the application. It should be understood that the operations in the flow charts may not be performed in order. Instead, various steps may be processed in reverse order or simultaneously. At the same time, one or more other operations may also be added to these flow charts. One or more operations may also be deleted from the flow charts.

[0032] The embodiments of the present application can be applied to different transportation systems, including but not limited to one or a combination of land, ocean, aviation, aerospace, etc. The following description takes a transportation service system as an example. This is only for the convenience of description and the present application cannot be limited to the scope of the embodiments. The transportation service system may include one or a combination of land, ocean, aviation, aerospace, etc. The transportation system may also include any transportation system for application management and / or distribution, for example, it may include a system for sending and / or receiving express delivery.

[0033] The application scenarios of the different embodiments of the present application may include, but are not limited to, one or more web pages, browser plug-ins and / or extensions, client terminals, customized systems, internal company analysis systems, artificial intelligence robots, etc., or any combination thereof. It should be understood that the application scenarios of the systems and methods disclosed herein are only some examples or embodiments. Those skilled in the art, without further creative effort, may apply these drawings to other application scenarios. For example, other similar servers.

[0034] The terms "passenger", "requester", "service requester" and "customer" in this application can be used to refer to an individual, entity or tool that requests or orders a service, and can be used interchangeably. Similarly, the "driver", "provider", "service provider" and "supplier" described in this application are interchangeable and refer to an individual, entity or tool that provides a service or assists in providing a service. The term "user" in this application can refer to an individual, entity or tool that can request a service, order a service, provide a service or facilitate the provision of a service. For example, a user can be a requester, a passenger, a driver, an operator, etc., or any combination thereof. In this application, "requester" and "requester terminal" can be used interchangeably, and "provider" and "provider terminal" can be used interchangeably.

[0035] The terms "request", "service", "service request" and "order" in this application may be used to refer to a request initiated by a passenger, requester, service requester, customer, driver, provider, service provider, supplier, etc. or any combination thereof, and may be used interchangeably. The service request may be accepted by any of the passenger, requester, service requester, customer, driver, provider, service provider or supplier. A service request may be charged or free.

[0036] The positioning technology used in this application can be based on the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the Compass Navigation System (COMPASS), the Galileo Positioning System, the Quasi-Zenith Satellite System (QZSS), the Wireless Fidelity (WiFi) positioning technology, etc., or any combination thereof. One or more of the above positioning technologies can be used interchangeably in this application.

[0037] The present application relates to a system and method for determining one or more recommended boarding points from a starting position obtained from a requester terminal. Based on the starting position and historical data, the system and method can determine one or more candidate boarding points. The historical data may include one or more historical starting positions whose distance from the starting position is within a threshold. One or more historical boarding points corresponding to the one or more historical starting positions can be designated as one or more candidate boarding points. The system and method can also select one or more recommended boarding points from the one or more candidate boarding points. For example, the candidate boarding points far from the starting position can be deleted from the candidate boarding points that may be the recommended boarding points. For another example, the candidate boarding points corresponding to the optimal path containing the road intersection can be deleted from the candidate boarding points that may be the recommended boarding points. The system and method can also send the one or more recommended boarding points to the requester terminal.

[0038] Figure 1 1 is a block diagram of an exemplary O2O service system 100 according to some embodiments of the present application. For example, the O2O service system 100 may be an online transportation service platform for transportation services. The O2O service system 100 may include a server 110, a network 120, a requester terminal 130, a provider terminal 140, a vehicle 150, a storage device 160, and a navigation system 170.

[0039] The O2O service system 100 can provide at least two services. Exemplary services may include taxi calling service, chauffeur service, express service, carpooling service, bus service, driver rental service and shuttle service. In some embodiments, the O2O service may be any online service, such as meal reservation, shopping, etc., or any combination thereof.

[0040] In some embodiments, server 110 may be a single server or a server group. The server group may be centralized or distributed (for example, server 110 may be a distributed system). In some embodiments, server 110 may be local or remote. For example, server 110 may access information and / or data stored in requester terminal 130, provider terminal 140 and / or storage device 160 via network 120. For another example, server 110 may be directly connected to requester terminal 130, provider terminal 140 and / or storage device 160 to access stored information and / or data. In some embodiments, server 110 may be implemented on a cloud platform. By way of example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an internal cloud, a multi-layer cloud, etc., or any combination thereof. In some embodiments, server 110 may be in the present application. Figure 2 The described computing device 200 includes one or more components.

[0041] In some embodiments, the server 110 may include a processing engine 112. The processing engine 112 may process information and / or data related to the service request to perform one or more functions described herein. For example, the processing engine 112 may determine one or more alternative provider terminals in response to the service request received from the requester terminal 130. In some embodiments, the processing engine 112 may include one or more processing engines (e.g., a single-chip processing engine or a multi-chip processing engine). By way of example only, the processing engine 112 may include a central processing unit (CPU), an application specific integrated circuit (ASIC), an application specific instruction set processor (ASIP), a graphics processing unit (GPU), a physical operation processing unit (PPU), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic device (PLD), a controller, a microcontroller unit, a reduced instruction set computer (RISC), a microprocessor, etc., or any combination thereof.

[0042] The network 120 can facilitate the exchange of information and / or data. In some embodiments, one or more components of the O2O service system 100 (e.g., server 110, requester terminal 130, provider terminal 140, vehicle 150, storage device 160, and navigation system 170) can send information and / or data to other components of the O2O service system 100 via the network 120. For example, the server 110 can receive a service request from the requester terminal 130 via the network 120. In some embodiments, the network 120 can be any form of wired or wireless network, or any combination thereof. As an example only, the network 120 can include a cable network, a wired network, an optical fiber network, a telecommunications network, an internal network, the Internet, a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), a metropolitan area network (MAN), a public switched telephone network (PSTN), a Bluetooth network, a ZigBee network, a near field communication (NFC) network, etc., or any combination thereof. In some embodiments, the network 120 can include one or more network access points. For example, the network 120 may include wired or wireless network access points, such as base stations and / or Internet exchange points 120 - 1 , 120 - 2 , through which one or more components of the O2O service system 100 may connect to the network 120 to exchange data and / or information.

[0043] In some embodiments, the passenger may be the owner of the requester terminal 130. In some embodiments, the owner of the requester terminal 130 may be someone other than the passenger. For example, the owner A of the requester terminal 130 may use the requester terminal 130 to send a service request for passenger B or receive a service confirmation and / or information or instructions from the server 110. In some embodiments, the service provider may be a user of the provider terminal 140. In some embodiments, the user of the provider terminal 140 may be someone other than the service provider. For example, the user C of the provider terminal 140 may use the provider terminal 140 to receive a service request and / or information or instructions from the server 110 for the service provider D. In some embodiments, "passenger" and "passenger terminal" may be used interchangeably, and "service provider" and "provider terminal" may be used interchangeably. In some embodiments, the provider terminal may be associated with one or more service providers (e.g., a night shift service provider or a day shift service provider).

[0044] In some embodiments, the requester terminal 130 may include a mobile device 130-1, a tablet computer 130-2, a laptop computer 130-3, a vehicle-mounted device 130-4, etc., or any combination thereof. In some embodiments, the mobile device 130-1 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, etc., or any combination thereof. In some embodiments, the smart home device may include a smart lighting device, a smart appliance control device, a smart monitoring device, a smart TV, a smart camera, an intercom, etc., or any combination thereof. In some embodiments, the wearable device may include a smart bracelet, smart shoes and socks, smart glasses, a smart helmet, a smart watch, smart clothing, a smart backpack, a smart accessory, etc., or any combination thereof. In some embodiments, the smart mobile device may include a smart phone, a personal digital assistant (PDA), a gaming device, a navigation device, a point of sale (POS), etc., or any combination thereof. In some embodiments, the virtual reality device and / or the augmented virtual reality device may include a virtual reality helmet, virtual reality glasses, virtual reality goggles, augmented reality helmets, augmented reality glasses, augmented reality goggles, etc., or any combination thereof. For example, the virtual reality device and / or the augmented reality device may include Google TM Glass, Oculus Rift, HoloLens or Gear VR, etc. In some embodiments, the in-vehicle device 130-4 may include an in-vehicle computer, an in-vehicle TV, etc. In some embodiments, the requester terminal 130 may be a device with positioning technology for locating the position of the passenger and / or the requester terminal 130.

[0045] The provider terminal 140 may include at least two provider terminals 140-1, 140-2, ..., 140-n. In some embodiments, the provider terminal 140 may be a device similar to or the same as the requester terminal 130. In some embodiments, the provider terminal 140 may be customized to enable online on-demand transportation services. In some embodiments, the provider terminal 140 may be a device with positioning technology for locating a service provider, a provider terminal 140, and / or a vehicle 150 associated with the provider terminal 140. In some embodiments, the requester terminal 130 and / or the provider terminal 140 may communicate with another positioning device to determine the location of a passenger, a requester terminal 130, a service provider, and / or a provider terminal 140. In some embodiments, the requester terminal 130 and / or the provider terminal 140 may periodically send positioning information to the server 110. In some embodiments, the provider terminal 140 may also periodically send an availability status to the server 110. The availability status may indicate whether the vehicle 150 associated with the provider terminal 140 is available to carry a passenger. For example, the requester terminal 130 and / or the provider terminal 140 may send the positioning information and the availability status to the server 110 every 30 minutes. For another example, the requester terminal 130 and / or the provider terminal 140 may send the positioning information and the availability status to the server 110 each time the user logs into a mobile application related to the online on-demand transportation service.

[0046] In some embodiments, the provider terminal 140 may correspond to one or more vehicles 150. The vehicle 150 may pick up passengers and deliver them to a destination. The vehicle 150 may include at least two vehicles 150-1, 150-2, ..., 150-n. One vehicle may correspond to one type of service (e.g., taxi service, driver service, express service, carpooling service, bus service, driver rental service, or shuttle service).

[0047] The storage device 160 may store data and / or instructions. In some embodiments, the storage device 160 may store data obtained from the requester terminal 130 and / or the provider terminal 140. In some embodiments, the storage device 160 may store data and / or instructions used by the server 110 to execute or use to complete the exemplary methods described in the present application. In some embodiments, the storage device 160 may include a mass storage, a removable memory, a volatile read-write memory, a read-only memory (ROM), etc., or any combination thereof. Exemplary mass storage may include a disk, an optical disk, a solid-state drive, etc. Exemplary removable memory may include a flash drive, a floppy disk, an optical disk, a memory card, a compressed disk, a tape, etc. Exemplary volatile read-write memory may include a random access memory (RAM). Exemplary RAM may include a dynamic random access memory (DRAM), a double data rate synchronous dynamic random access memory (DDR SDRAM), a static random access memory (SRAM), a thyristor random access memory (T-RAM), and a zero capacitance random access memory (Z-RAM), etc. Exemplary read-only memories may include mask read-only memories (MROMs), programmable read-only memories (PROMs), erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), compact disk read-only memories (CD-ROMs), and digital versatile disk read-only memories, etc. In some embodiments, the storage device 160 may be executed on a cloud platform. By way of example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an internal cloud, a multi-layer cloud, etc., or any combination thereof.

[0048] In some embodiments, the storage device 160 may be connected to the network 120 to communicate with one or more components of the O2O service system 100 (e.g., the server 110, the requester terminal 130, or the provider terminal 140). One or more components of the O2O service system 100 may access data or instructions stored in the storage device 160 via the network 120. In some embodiments, the storage device 160 may be directly connected to or communicate with one or more components of the O2O service system 100 (e.g., the server 110, the requester terminal 130, the provider terminal 140). In some embodiments, the storage device 160 may be part of the server 110.

[0049] The navigation system 170 may determine information related to the object, for example, one or more of the requester terminal 130, the provider terminal 140, the vehicle 150, etc. In some embodiments, the navigation system 170 may be a global positioning system (GPS), a global navigation satellite system (GLONASS), a compass navigation system (COMPASS), a Beidou navigation satellite system, a Galileo positioning system, a quasi-zenith satellite system (QZSS), etc. The information may include the location, altitude, speed, acceleration, or current time of the object. The navigation system 170 may include one or more satellites, for example, satellite 170-1, satellite 170-2, and satellite 170-3. Satellites 170-1 to 170-3 may determine the above information independently or collectively. The satellite navigation system 170 may send the above information to the network 120, the requester terminal 130, the provider terminal 140, or the vehicle 150 via a wireless connection.

[0050] In some embodiments, one or more components of the O2O service system 100 (e.g., server 110, requester terminal 130, provider terminal 140) may allow access to the storage device 160. In some embodiments, when one or more conditions are met, one or more components of the O2O service system 100 may read and / or modify information related to passengers, service providers, and / or the public. For example, after a service is completed, the server 110 may read and / or modify the information of one or more passengers. For another example, after a service is completed, the server 110 may read and / or modify the information of one or more service providers.

[0051] In some embodiments, the information exchange of one or more components of the O2O service system 100 can be initiated by requesting a service. The object of the service request can be any product. In some embodiments, the product can include food, medicine, goods, chemical products, electrical appliances, clothing, cars, houses, luxury goods, etc., or any combination thereof. In some embodiments, the product can include service products, financial products, knowledge products, Internet products, etc., or any combination thereof. Internet products can include personal host products, website products, mobile Internet products, commercial host products, embedded products, etc., or any combination thereof. Mobile Internet products can be used for software, programs, systems, etc. of mobile terminals, or any combination thereof. Mobile terminals can include tablet computers, laptop computers, mobile phones, personal digital assistants (PDAs), smart watches, POS devices, on-board computers, on-board televisions, wearable devices, etc., or any combination thereof. For example, a product can be any software and / or application used on a computer or mobile phone. The software and / or application can be related to socializing, shopping, transportation, entertainment, learning, investment, etc., or any combination thereof. In some embodiments, the transportation-related system software and / or application may include travel software and / or application, vehicle dispatch software and / or application, map software and / or application, etc. In the vehicle dispatch software and / or application, the vehicle may include a horse, a carriage, a rickshaw (e.g., a wheelbarrow, a bicycle, a tricycle, etc.), a car (e.g., a taxi, a bus, a private car, etc.), a train, a subway, a ship, an aircraft (e.g., an airplane, a helicopter, a space shuttle, a rocket, a hot air balloon, etc.), etc., or any combination thereof.

[0052] Those skilled in the art will appreciate that when the elements (or components) of the O2O service system 100 are executed, the elements may be executed by electrical signals and / or electromagnetic signals. For example, when the requester terminal 130 sends a service request to the server 110, the processor of the requester terminal 130 may generate an electrical signal encoding the request. The processor of the requester terminal 130 may then send the electrical signal to an output port. If the requester terminal 130 communicates with the server 110 via a wired network, the output port may be physically connected to a cable, which further transmits the electrical signal to an input port of the server 110. If the requester terminal 130 communicates with the server 110 via a wireless network, the output port of the requester terminal 130 may be one or more antennas, which convert the electrical signal into an electromagnetic signal. Similarly, the provider terminal 130 may receive instructions and / or service requests from the server 110 via electrical signals or electromagnetic signals. In an electronic device, when its processor processes instructions, for example, the requester terminal 130, the provider terminal 140 and / or the server 110 issues instructions and / or performs actions, the instructions and / or actions are performed through electrical signals. For example, when the processor retrieves or obtains data from a storage medium, an electrical signal can be sent to a read / write device of the storage medium, and the read / write device can read the structured data in the storage medium or write the structured data to the storage medium. The structured data can be transmitted to the processor via a bus of the electronic device in the form of an electrical signal. Here, an electrical signal can refer to an electrical signal, a series of electrical signals and / or at least two discontinuous electrical signals.

[0053] Figure 2 is a schematic diagram of an exemplary computing device according to some embodiments of the present application. The computing device may be a computer, for example Figure 1 The server 110 and / or a computer with specific functions in the computing device 200 are configured to implement any specific system according to some embodiments of the present application. The computing device 200 can be configured to implement any component that performs one or more functions disclosed in the present application. For example, the server 110 can be implemented by a hardware device, software program, firmware, or any combination thereof of a computer such as the computing device 200. For simplicity, Figure 2 Only one computing device is depicted. In some embodiments, the functionality of the computing device, which may be required to provide recommended pickup points, may be implemented by a group of similar platforms in a distributed fashion to spread the processing load of the system.

[0054] The computing device 200 may include a communication terminal 250, which may be connected to a network for implementing data communication. The computing device 200 may also include a processor 220, which is configured to execute instructions and includes one or more processors. The illustrative computer platform may include an internal communication bus 210, different types of program storage units and data storage units (e.g., a hard disk 270, a read-only memory (ROM) 230, a random access memory (RAM) 240), various data files suitable for computer processing and / or communication, and some program instructions that may be executed by the processor 220. The computing device 200 may also include an input / output device 260, which may support the input and output of data flows between the computing device 200 and other components. In addition, the computing device 200 may receive programs and data through a communication network.

[0055] Figure 3 is a schematic diagram of exemplary hardware and / or software components of an exemplary mobile device 300 on which a terminal may be implemented according to some embodiments of the present application. Figure 3 As shown, mobile device 300 may include a communication platform 310, a display 320, a graphics processing unit (GPU) 330, a central processing unit (CPU) 340, an input / output 350, a memory 360, a mobile operating system (OS) 370, and a storage 390. In some embodiments, any other suitable components, including but not limited to a system bus or a controller (not shown), may also be included in mobile device 300.

[0056] In some embodiments, the operating system 370 (e.g., iOS TM 、Android TM 、Windows Phone TM The mobile device 300 may be downloaded from the storage 390 to the memory 360 and executed by the CPU 340. The application 380 may include a browser or any other suitable mobile application for receiving and presenting information related to image processing or other information from the O2O service system 100. The user's interaction with the information stream may be implemented through the I / O 350 and provided to the storage device 160, the server 110 and / or other components of the O2O service system 100. In some embodiments, the mobile device 300 may be an exemplary embodiment corresponding to the requester terminal 130 or the provider terminal 140.

[0057] In order to implement the various modules, units and functions thereof described in this application, a computer hardware platform can be used as the hardware platform of one or more components described herein. A computer with a user interface component can be used to implement a personal computer (PC) or any other type of workstation or terminal device. If properly programmed, a computer can also serve as a system.

[0058] Figure 4 4 is a block diagram of an exemplary processing engine 112 according to some embodiments of the present application. The processing engine 112 may include a collection module 410, a determination module 420, a selection module 430, a sorting module 440, and a transmission module 450.

[0059] The modules may be all or part of the hardware circuitry of the processing engine 112. The modules may also be implemented as an application or a set of instructions that are read and executed by the processing engine 112. In addition, the modules may be any combination of hardware circuitry and applications / instructions. For example, a module may be part of the processing engine 112 when the processing engine executes the application / instruction set.

[0060] The acquisition module 410 may be configured to obtain information related to the O2O service system 100. In some embodiments, the acquisition module 410 may obtain information related to but not limited to locations (e.g., starting location, historical starting location, candidate boarding point, recommended boarding point), service orders, users (e.g., service requesters, service providers), paths (e.g., paths of requester terminals, paths of provider terminals), etc., or any combination thereof. For example, the acquisition module 410 may obtain the starting location where the requester terminal 130 wants and / or needs to receive O2O services. As another example, the acquisition module 410 may obtain location information of one or more candidate boarding points corresponding to the starting location. As another example, the acquisition module 410 may obtain the paths of historical requester terminals or historical provider terminals in at least a portion of the historical service order process.

[0061] The determination module 420 may be configured to determine one or more candidate boarding points corresponding to the starting position. In some embodiments, the determination module 420 may determine one or more locations that are easily identifiable and within a first threshold distance from the starting position, and designate the locations as candidate boarding points. In some embodiments, based on the starting position and historical data, the determination module 420 may determine the candidate boarding points. For example, based on historical starting positions within a second threshold distance from the starting position, the determination module 420 may determine the candidate boarding points. More descriptions of the determination of candidate boarding points may be found elsewhere in this application. For example, see operation 520 and its related description.

[0062] In some embodiments, the determination module 420 may also be configured to determine a historical boarding point corresponding to a historical starting point location in a historical service order. For example, the determination module 420 may determine an intersection point of a first path of a historical requester terminal and a second path of a historical provider terminal. The determination module 420 may then designate the intersection point as a historical boarding point corresponding to the historical starting point location. More descriptions of the determination of historical boarding points may be found elsewhere in this application. For example, see Figure 7 and its related description.

[0063] The selection module 430 may be configured to select one or more recommended boarding points from one or more candidate boarding points. In some embodiments, the selection module 430 may select the recommended boarding point randomly or based on the location information of one or more candidate boarding points. For example, based on the corresponding distance between the candidate boarding point and the starting position, the selection module 430 may select the recommended boarding point. For another example, the selection module 430 may identify the optimal path from the starting position to each candidate boarding point. In some embodiments, the selection module 430 may also determine whether the optimal path of the candidate boarding point includes a road intersection, and select the recommended boarding point based on whether the determined optimal path includes a road intersection. More descriptions of the selection of the recommended boarding point may be found elsewhere in this application. For example, see operation 540 and related descriptions.

[0064] The sorting module 440 may be configured to sort one or more recommended pickup points related to the O2O service system 100. For example, the sorting module 440 may sort one or more recommended pickup points corresponding to the starting location. In some embodiments, one or more recommended pickup points may be sorted based on, for example, location information, usage information, road segment information, etc., or any combination thereof. More descriptions of the sorting of recommended pickup points may be found elsewhere in this application. For example, see operation 550 and related descriptions.

[0065] The transmission module 450 may be configured to transmit information and / or instructions to one or more components in the O2O service system 100. For example, the transmission module 450 may send information and / or instructions to the requester terminal 130 and / or the provider terminal 140. In some embodiments, the transmission module 450 may send one or more recommended boarding points corresponding to the starting position to the requester terminal 130, and the requester terminal 130 initiates a service order from the starting position. Additionally or alternatively, the transmission module 450 may send one or more recommended boarding points to the corresponding provider terminal 140 that accepts the service order. In some embodiments, based on the sorting results of one or more recommended boarding points, the transmission module 450 may send part or all of one or more recommended boarding points corresponding to the starting position. More descriptions of the transmission of the recommended boarding points may be found elsewhere in this application. For example, see operation 560 and related descriptions.

[0066] It should be noted that the above description of processing engine 112 is provided only for the purpose of illustration, and is not intended to limit the scope of the application. For those of ordinary skill in the art, various changes and modifications can be made according to the description of the application. However, these changes and modifications will not deviate from the scope of the application. In certain embodiments, two or more modules can be integrated into a unit to perform its function. For example, determination module 420 and selection module 430 can be integrated into a single module to perform its function. In certain embodiments, module can be divided into at least two units.

[0067] Figure 5 is a flowchart of an exemplary process for recommending a boarding point according to some embodiments of the present application. At least a portion of process 500 may be performed in the following manner: Figure 2 The computing device 200 shown or Figure 3 In some embodiments, one or more operations of process 500 may be performed on a mobile device 300 as shown. Figure 1 The O2O service system 100 shown in FIG. 5 is implemented in FIG. 5. In some embodiments, one or more steps in the process 500 may be stored in the storage device 160 and / or the memory (e.g., ROM 230, RAM 240, etc.) as instructions, and called and / or executed by the server 110 (e.g., the processing engine 112 in the server 110, or the CPU 220 of the processing engine 112 in the server 110). In some embodiments, the instructions may be transmitted in the form of electronic current or electrical signals.

[0068] In 510, the acquisition module 410 may obtain a starting location from the requester terminal 130. As used herein, the starting location may refer to a location where the requester terminal 130 wants and / or needs to receive O2O services. The O2O services may include, but are not limited to, taxi services, driver services, express car services, carpooling services, bus services, driver rental services, shuttle services, food delivery services, etc., or any combination thereof. The starting location may be any location. For example, the starting location may include, but is not limited to, a building (e.g., a hospital, a supermarket, a school), a station (e.g., a bus stop, a train station), a location along a street, a crossroad, a landscape (e.g., a mountain, a river, a scenic spot), etc., or any sub-part (e.g., a specific exit of a building) or a combination thereof.

[0069] In some embodiments, the starting position may be the current position of the requester terminal 130. For example, when the requester opens an application for the O2O service installed on the requester terminal 130 or initiates a service request through the requester terminal 130 and / or the application, the current position of the requester terminal 130 may be set as the starting position. The current position of the requester terminal 130 may be determined based on positioning technology, such as but not limited to GPS positioning technology, base station positioning technology, WIFI positioning technology, etc. In some embodiments, the current position of the requester terminal 130 may be automatically sent to the acquisition module 410.

[0070] In some embodiments, the starting location may be input by the requester via the requester terminal 130 and then sent to the collection module 410. The requester may input the starting location by typing, writing, using his / her voice, making gestures, touching the interface of the requester terminal 130, etc. or any combination thereof. For example, the requester may input the starting location by touching the screen of the requester terminal 130. For illustration purposes only, the requester terminal 130 may display a map on which the starting location is marked by a pin, and the requester may move the starting location by dragging the pin on the map. The moved starting location may be set as the starting location. In some embodiments, since the positioning technology cannot provide complete precision and accuracy, the current location of the requester terminal 130 obtained by the collection module 410 may not be completely accurate or accurate. Similarly, in some embodiments, the current and historical locations of the requester terminal 130 and the provider terminal 140 provided by the positioning technology may or may not be completely accurate or accurate. The present invention provides methods and systems for reducing the impact of such insufficient precision and accuracy, and providing recommended boarding points despite such defects.

[0071] In some embodiments, the starting location may be related to a service request initiated by the requester terminal 130. The service request may include a real-time service request, an appointment request, and / or any other request for one or more types of services. A real-time request may indicate that the requester wishes to receive an O2O service at the current moment or at a limited time that is reasonably close to the current moment. An appointment request may indicate that the requester wishes to pre-schedule an O2O service (e.g., at a defined time that is not close to the current moment). In some embodiments, a service request may be initiated to request the service of a user of the requester terminal 130. For example, a user of the requester terminal 130 may initiate his / her own service request via the requester terminal 130. In some embodiments, a service request may be initiated for another user (or another requester terminal 130). For example, a user of the requester terminal 130 may initiate a service request for another user via the requester terminal 130. Although embodiments of the present embodiment known to those skilled in the art may be applied to request service scenarios for others, the description below uses a request service self scenario as an example.

[0072] In 520, the determination module 420 may determine one or more candidate pickup points. The candidate pickup points may refer to candidate locations where the service provider may pick up the requester of the requester terminal 130. The candidate pickup points may include any location.

[0073] In some embodiments, the candidate boarding point may be an easily identifiable location within a first threshold distance from the starting location. For example, one or more candidate boarding points may include a crossroads, a building, a bus stop, a community gate, a park gate, a school gate, and / or any easily identifiable location within a first threshold distance from the starting location. The first threshold distance may be any positive value, for example, including but not limited to 5m, 10m, 20m, 50m, 100m, or 200m, etc. The first threshold distance may be a default parameter stored in a storage device (e.g., storage device 160), or may be set by a user of the O2O service system 100. In some embodiments, the first threshold may be determined by one or more components in the O2O service system 100, such as but not limited to the processing engine 112. In some embodiments, the first threshold distance may vary with request time, requester, starting location, etc. As an example only, the first threshold distance relative to the starting location in a city may be less than the first threshold distance relative to the starting location in a suburb.

[0074] In some embodiments, based on the starting position and historical data, one or more candidate boarding points can be determined. Historical data may include any information related to historical service orders that occurred within a historical time and within a certain area. The historical time may be any historical time point, historical time interval (e.g., peak time, daytime), historical date part (e.g., weekday, weekend, holiday or festival), etc., or any combination thereof. A specific area may be any area including the starting position. A specific area may be of any size and shape. For example, a specific area may be an area within a specific radius around the starting position. In some embodiments, historical data related to historical service orders may include, but are not limited to, historical order time, historical service requester, historical requester terminal, historical service provider, historical provider terminal, historical boarding point, a second path of a historical requester terminal and / or a historical provider terminal, a service price in the process of a historical service order, a historical boarding point, a service type (e.g., carpooling service, non-carpooling service), etc., or any combination thereof. In some embodiments, historical data may be obtained from an external source and / or one or more components in the O2O service system 100, such as the requester terminal 130 and / or the storage device 160.

[0075] In some embodiments, the historical data may include information related to one or more historical service orders initiated at a historical starting location within a second threshold distance from the starting location. The second threshold distance may be any positive value, such as but not limited to 5m, 10m, 20m, 50m, 100m or 200m, etc. The second threshold distance may be a default parameter stored in a storage device (e.g., storage device 160), or may be set by a user of the O2O service system 100. In some embodiments, the second threshold may be determined by one or more components in the O2O service system 100, such as but not limited to the processing engine 112. In some embodiments, the second threshold distance may vary with request time, requester, starting location, etc.

[0076] In some embodiments, the determination module 420 may obtain or determine one or more historical boarding points corresponding to one or more historical starting positions within a second threshold distance from the starting position. Based on the historical boarding points, the determination module 420 may also determine candidate boarding points. More descriptions on determining one or more candidate boarding points may be found elsewhere in this application. For example, see Figure 6 and 7 and related descriptions.

[0077] In some embodiments, the historical data may include information related to one or more historical boarding points within a third threshold distance from the starting position. The third threshold distance may be any positive value, such as but not limited to 5m, 10m, 20m, 50m, 100m or 200m, etc. The third threshold distance may be a default parameter stored in a storage device (e.g., storage device 160), or set by a user of the O2O service system 100. In some embodiments, the third threshold may be determined by one or more components in the O2O service system 100, such as but not limited to the processing engine 112. In some embodiments, the third threshold distance may vary with the request time, requester, starting position, etc. The determination module 420 may specify one or more historical boarding points as one or more candidate boarding points within the third threshold distance from the starting position.

[0078] In 530, the acquisition module 410 may obtain location information of one or more candidate pickup points. In some embodiments, the location information of the candidate pickup points may include, but is not limited to, the address of the candidate pickup point (e.g., longitude and latitude coordinates), the distance between the candidate pickup point and the starting point, the road section information related to the candidate pickup point, the use of information related to the candidate pickup point, etc., or any combination thereof.

[0079] The distance between the candidate pickup point and the starting position can be a straight-line distance or a path distance between the two positions. The segment information may include information related to the road (also referred to herein as a segment) leading to the candidate pickup point. In some embodiments, the segment information may include an identification (ID) of a segment in a highway map, a junction between a segment and other segments, an adjacent segment of a segment, a historical service order occurring on the segment, a historical starting position, a historical pickup point, and / or a historical destination along the path, etc., or any combination thereof. In some embodiments, a highway map including at least two segments around the starting position may be continuously or periodically updated. The segment information associated with the candidate pickup point may be continuously or periodically updated by updating the highway map. For example, although the ID of the segment in the highway map may be 0001 in May 2017, the ID of the segment may be changed to 0003 in the updated highway map in October 2017. Usage information may include any information that may indicate the use of a candidate pickup point. By way of example only, usage information may include, but is not limited to, the number or frequency of times that a candidate pickup point is used as a historical starting position, a historical destination, or a historical pickup point in one or more historical service orders.

[0080] In 540, the selection module 430 may select one or more recommended boarding points from one or more candidate boarding points. In some embodiments, the selection module 430 may select a recommended boarding point from the candidate boarding points randomly or based on the location information of the candidate boarding points. For example, based on the corresponding distances between the candidate boarding points and the starting position, the selection module 430 may select a recommended boarding point. The recommended boarding points may include all candidate boarding points whose distances from the starting position are within a threshold, the first N candidate boarding points closest to the starting position, etc., or any combination thereof. For another example, based on the number of times or frequency that the candidate boarding point serves as a historical boarding point in one or more historical service orders, the selection module 430 may select a recommended boarding point. In some embodiments, a candidate boarding point that has served as a historical boarding point for more than a certain number of times may be selected as a recommended boarding point.

[0081] In some embodiments, for each candidate pickup point, the selection module 430 may identify an optimal path from the candidate pickup point to the starting location. In some embodiments, the selection module 430 may also determine whether the optimal path for the candidate pickup point includes a road intersection, and select a recommended pickup point based on whether the determined optimal path includes a road intersection. Further description of the determination of whether to select a candidate pickup point as a recommended pickup point may be found elsewhere in this application. For example, see Figure 8 and related descriptions.

[0082] At 550, the sorting module 440 may sort the one or more recommended pickup points. In some embodiments, the one or more recommended pickup points may be sorted based on, for example, location information, usage information, road segment information, etc., or any combination thereof. For example, the sorting module 440 may sort (e.g., in descending order) the recommended pickup points based on their distance to the starting location.

[0083] For another example, the sorting module 440 may sort the recommended pickup points according to usage information of the recommended pickup points. The usage information may include, but is not limited to, the number of times or frequencies that the candidate pickup points are used as historical starting locations, historical destinations, or historical pickup points in one or more historical service orders. For example, based on the number of times or frequencies (the number of times within a predetermined time period) that the candidate pickup points are used as historical starting locations, the sorting module 440 may sort the candidate pickup points, for example, from high to low.

[0084] In some embodiments, the recommended pickup point may include one or more historical pickup points as described in conjunction with 520. The sorting module 440 may determine the popularity of these recommended pickup points based on their usage information, and then sort the recommended pickup points based on their popularity, for example, from high to low. When the recommended pickup point corresponds to a single historical starting point location in one or more historical service orders, the popularity of the recommended pickup point may be equal to the number of historical service orders for the recommended pickup point initiated at the historical starting point location and used as the historical pickup point. For example, the number of historical service orders for the recommended pickup point initiated at the historical starting point location and used as the historical pickup point is 5, and based on the number 5, the sorting module 440 may determine the popularity of the recommended pickup point (e.g., the popularity may be quantified as 5).

[0085] When the recommended pickup point corresponds to at least two historical starting points in one or more historical service orders, the popularity of the recommended pickup point can be determined according to the following formula (1):

[0086]

[0087] Among them, p location represents the popularity of the recommended boarding point, n represents the number of historical starting positions corresponding to the recommended boarding point, i represents the i-th historical starting position corresponding to the recommended boarding point, and p i represents the number of historical service orders initiated at the i-th historical starting point and used as the recommended boarding point for historical boarding points, d i represents the attenuation factor of the i-th historical starting point position. In some embodiments, d i It can be determined according to formula (2) as follows:

[0088]

[0089] Where r represents a distance parameter, and dist represents the distance between the starting position and the i-th historical starting position. In some embodiments, r may be a default parameter stored in a storage device (e.g., storage device 160) or set by a user of the O2O service system 100. In some embodiments, r may be equal to half of the second threshold distance as described in conjunction with 520. For example, in 520, the determination module 420 may determine one or more historical starting positions within 50 meters from the starting position, and then designate the historical boarding points corresponding to the historical starting positions as recommended boarding points. r may be equal to half of 50 meters (i.e., 25 meters).

[0090] In some embodiments, based on the road segment information, the sorting module 440 can sort one or more recommended boarding points. The road segment information may be related to the road segment where the recommended boarding point is located. For example, the sorting module 440 can sort the road segment where the recommended boarding point is located, and then sort the recommended boarding points according to the sorting results of the road segments. In some embodiments, the sorting module 440 can sort the recommended boarding points located on the high-ranked road segment ahead of the recommended boarding points located on the low-ranked road segment.

[0091] In some embodiments, the sorting module 440 can determine the popularity of the road segments where the recommended pickup points are located, and sort the road segments based on their popularity, for example, from high to low. In some embodiments, the popularity of the road segment can be measured by, for example, but not limited to, population density or building density of the road segment, some historical pickup points along the road segment, some historical destinations along the road segment, some historical starting locations along the road segment, etc. or any combination thereof. In some embodiments, the popularity of the road segment can be determined according to the following formula (3):

[0092]

[0093] Among them, p link represents the heat of the road section, m represents the number of recommended boarding points along the road section, j represents the jth recommended boarding point along the road section, and p′ j represents the popularity of the recommended boarding points along the road segment, and d′ j represents the attenuation factor of the jth recommended boarding point. In some embodiments, d′ j It can be determined according to formula (4) as follows:

[0094]

[0095] Among them, r represents the distance parameter, and dist represents the distance between the starting point and the jth recommended boarding point.

[0096] In some embodiments, the sorting module 440 may sort the recommended boarding points according to the usage information of the recommended boarding points and the road section information related to the location of the recommended boarding points. For example, based on the sorting result of the road section, the sorting module 440 may sort the recommended boarding points. Then, based on the usage information of the sorted recommended boarding points, the sorting module 440 may further sort the sorted recommended boarding points located on the same road section.

[0097] In 560, based on the ranking result, the transmission module 450 may send part or all of the one or more recommended pickup points to the requester terminal 130. In some embodiments, the transmission module 450 may send part or all of the one or more recommended pickup points to the requester terminal 130 via the network 120. For example, the transmission module 450 may send the top N recommended pickup points among the one or more recommended pickup points to the requester terminal 130. N may be any positive integer value (e.g., 1, 2, 3, 4, or 5) or any percentage value (e.g., 10%, 20%, 30%, 40%, or 90%).

[0098] In some embodiments, the transmission module 450 may also send the recommended pickup points to the provider terminal 140 (e.g., the driver's terminal) that accepts the service request initiated by the requester terminal 130. In some embodiments, the requester terminal 130 and / or the provider terminal 140 may display the recommended pickup points to the service requester and / or the service provider. In some embodiments, only the top recommended pickup points in the sorting results may be displayed (e.g., the top 3 recommended pickup points, the top 5 recommended pickup points, or the top 10% recommended pickup points, etc.). In some embodiments, based on the sorting results, the recommended pickup points may be displayed in different ways. For example, the size of the recommended pickup points may be inversely proportional to the ranking in the sorting results (e.g., the first recommended pickup point has the largest size, etc.). For another example, the top 3 in the sorting results may be displayed in red, and the other recommended pickup points may be displayed in gray. In some embodiments, the manner in which one or more recommended pickup points are displayed may be set by the service requester of the requester terminal 130 and / or the service provider of the provider terminal 140.

[0099] In some embodiments, the service requester and / or service provider can interact with the displayed recommended pickup points. As an example only, the service requester can select a desired pickup point through the recommended pickup points, such as but not limited to clicking or reading a desired pickup point.

[0100] It should be noted that the above description of process 500 is provided for illustrative purposes only and is not intended to limit the scope of the present application. For those of ordinary skill in the art, various changes and modifications can be made based on the description of the present application. However, these changes and modifications will not deviate from the scope of the present application. In some embodiments, one or more operations in process 500 can be omitted, or one or more additional operations can be added. For example, 530 and 540 can be omitted. Determination module 420 can designate the candidate boarding point determined in 520 as a recommended boarding point. For another example, 550 and / or 560 can be omitted.

[0101] Figure 6600 is a flowchart of an exemplary process for determining one or more candidate boarding points according to some embodiments of the present application. At least a portion of process 600 may be performed in the following manner: Figure 2 The computing device 200 shown or Figure 3 In some embodiments, one or more operations of process 600 may be implemented in the O2O service system 100, such as Figure 1 In some embodiments, one or more steps in process 600 may be stored in the form of instructions in storage device 160 and / or memory (e.g., ROM 230, RAM 240, etc.), and called and / or executed by server 110 (e.g., processing engine 112 in server 110 or CPU 220 of processing engine 112 in server 110). In some embodiments, a portion of all of process 600 may be executed to implement the above-described process in combination with the above-described process. Figure 5 Operation 520 is described.

[0102] In 610, based on the historical data, the determination module 420 may determine one or more historical boarding points corresponding to each of the one or more historical starting locations. As described in conjunction with 520, the historical starting location may be located within a second threshold distance from the starting location. The historical data associated with the historical starting location may include information associated with one or more historical service orders initiated at the historical starting location. In some embodiments, the historical data associated with the historical starting location may include historical boarding points of historical service orders initiated at the historical starting location. For each historical starting location, based on the historical data, the determination module 420 may obtain a historical boarding point corresponding to the historical starting location.

[0103] In some embodiments, the historical data related to the historical starting point location may include a first path of a historical requester terminal and a second path of a historical provider terminal in each historical service order initiated at the historical starting point location. In some embodiments, based on the intersection of the two paths, a historical boarding point corresponding to the historical starting point location in the historical service order may be determined. More description of the determination of the historical boarding point corresponding to the historical starting point location in the historical service order may be found elsewhere in this application. See, e.g. Figure 7 and related descriptions.

[0104] In 620, based on one or more historical boarding points corresponding to one or more historical starting positions, the determination module 420 can determine one or more candidate boarding points. In some embodiments, the determination module 420 can designate all historical boarding points as candidate boarding points. In some embodiments, based on one or more selection criteria, the determination module 420 can designate a portion of one or more historical boarding points as candidate boarding points. The selection criteria may include, but are not limited to, the distance between the historical boarding point and the starting position, the number or frequency of the historical boarding point as the historical starting position, the historical destination, or the historical boarding point, or any combination thereof. For example, a historical boarding point within a threshold distance from the starting position may be designated as a candidate boarding point. In some embodiments, the determination module 420 may remove repeated historical starting positions in the historical starting positions and designate the remaining historical starting positions as candidate boarding points.

[0105] Figure 7 700 is a flowchart of an exemplary process for determining a historical pickup point corresponding to a historical starting point position in a historical service order according to some embodiments of the present application. At least a portion of process 700 may be performed in a Figure 2 The computing device 200 shown or Figure 3 Implementation is performed on the mobile device 300 shown in FIG. In some embodiments, one or more operations of process 700 may be performed on a mobile device 300 as shown in FIG. Figure 1 In some embodiments, one or more steps in process 700 may be stored in the storage device 160 and / or memory (e.g., ROM 230, RAM 240, etc.) as instructions, and called and / or executed by the server 110 (e.g., the processing engine 112 in the server 110 or the CPU 220 of the processing engine 112 in the server 110). In some embodiments, process 700 may be repeatedly executed for each historical starting point position in operation 610, such as in combination with Figure 6 As described.

[0106] In 710, the acquisition module 410 may acquire a first path of a historical requester terminal corresponding to the historical starting point location. In 720, the acquisition module 410 may acquire a second path of a historical provider terminal corresponding to the historical starting point location. In some embodiments, the historical requester terminal corresponding to the historical starting point location may refer to a requester terminal that initiated a historical service order from the historical starting point location. In some embodiments, the historical provider terminal corresponding to the historical starting point location may refer to a provider terminal that accepted a historical service order initiated by a historical requester terminal from the historical starting point location.

[0107] The first path may refer to the travel path of the historical requester terminal during at least part of the historical service order. For example, the first path may include the travel path of the historical requester terminal during the entire process of the historical service order (i.e., from the historical starting point to the destination). As another example, the first path may include the travel path of the historical requester terminal from the historical starting point to the intersection of the first path and the second path. As an example only, the paths of the passenger and the driver in the historical service order may intersect after the driver picks up the passenger.

[0108] In some embodiments, the first path may include at least two points (or locations) of the historical requester terminal in at least a portion of the process of the historical service order. In some embodiments, the historical requester terminal may be a device with positioning technology for locating the historical requester terminal. Additionally or alternatively, the historical requester terminal may communicate with another positioning device to determine the location of the historical requester terminal. The historical requester terminal may continuously or periodically send its location to the server 110 (e.g., the processing engine 112). For example, the historical requester terminal may periodically (e.g., every 3 seconds) send its location to the processing engine 112. In some embodiments, the processing engine 112 (e.g., the determination module 420) may then determine the first path by connecting the locations received from the historical requester terminal.

[0109] In some embodiments, the processing engine 112 (e.g., the determination module 420) may further divide the points in the first path into one or more first point sets according to a division rule. For example, the determination module 420 may divide the points into first point sets according to a predetermined time interval (e.g., 10s, 30s, 50s, or 100s). One or more points received from a historical requester terminal within a predetermined time interval may be placed in the same first point set. For another example, the determination module 420 may divide the points into first point sets according to a predetermined distance (e.g., 0.1m, 0.5m, 1m, or 3m). One or more points whose distance from each other is less than a predetermined distance and form a clustered group may be placed in the same first point set. In some embodiments, different first point sets may include different points. Additionally or alternatively, different first point sets may include one or more identical points.

[0110] In some embodiments, the division rule (e.g., the predetermined time interval) may be set by a user of the O2O service system 100 or determined by one or more components in the O2O service system 100 (e.g., the determination module 420). In some embodiments, the division rule may be adjusted according to different situations. As an example only, the predetermined time interval of peak hours (e.g., 7:00 to 9:00 a.m.) may be longer than the predetermined time interval of non-peak hours (e.g., 14:00 to 16:00 p.m.). In some embodiments, the determination module 420 may also send the first path (including the points and / or the first point set of the first path) to a storage device (e.g., the storage device 160) for storage. The acquisition module 410 may access and retrieve the first path from the storage device.

[0111] The second path may refer to the path of travel of the history provider terminal in at least part of the process of the history service order. In some embodiments, the second path may include at least two points (or positions) of the history provider terminal in at least part of the process of the history service order. In some embodiments, the second path may include one or more second point sets. The determination module 420 may divide the points of the second path into one or more second point sets according to the division rule. For example, the determination module 420 may divide the points of the second path into the second point set according to a predetermined time interval (e.g., 10s, 30s, 50s, or 100s). One or more points received from the history provider terminal within a predetermined time interval may be placed in the same second point set. For another example, the determination module 420 may divide the points into the second point set according to a predetermined distance (e.g., 0.1 meters, 0.5 meters, 1 meter, or 3 meters). One or more points that are less than the predetermined distance between each other and form a clustered group may be placed in the same second point set. In some embodiments, the points of the first path and the points of the second path may be divided according to the same division rule.

[0112] In 730, the determination module 420 may determine the intersection of the first path and the second path. In some embodiments, the intersection may refer to the point of convergence of the first path and the second path, after which the first path and the second path begin to overlap each other. In some embodiments, the first path may include one or more first point sets, and the second path may include one or more second point sets, as described in conjunction with steps 710 and 720. The intersection may be determined based on a matching pair of the first point set and the second point set in one or more first point sets and one or more second point sets. In some embodiments, the first point set and the second point set collected at the same (or substantially the same) time point may be considered as a pair of the first point set and the second point set. The matching pair of the first point set and the second point set may be the first pair in the first point set and the second point set, wherein the first point set and the second point set at least partially overlap each other.

[0113] In some embodiments, the intersection point may be the center point of the second point set of the matching pair. In some embodiments, as described in conjunction with operations 710 and 720, one or more points in the second path received from the history provider terminal within a predetermined time interval may be placed in the same second point set. The center point of the second point set may be a point received at a time point closest to the middle of the predetermined time interval among the points in the second point set. In some embodiments, one or more points in the second path that are less than a predetermined distance from each other and form a clustered group may be placed in the same second point set. The center point of the second point set may be the midpoint of the path closest to the second point set, the midpoint of the path being the midpoint of a line connecting points in the second point set, or connecting the two farthest points in the second point set.

[0114] In 740, the determination module 420 may designate the intersection as a historical boarding point corresponding to the historical starting point location. In some embodiments, after determining the intersection, the determination module 420 may further project the coordinates of the intersection onto a road map including the area around the historical starting point location. When the history requester terminal initiates a historical service order from the historical starting point location, the road map may be a new road map or a historical road map. If the intersection is projected onto a point on a road segment in the road map, the determination module 420 may designate the intersection as a historical boarding point. If the intersection is projected onto a point outside any road segment in the road map, the determination module 420 may designate the location where the history provider (e.g., driver) starts charging the history requester terminal for the service as the location of the historical boarding point.

[0115] Figure 8 800 is a flowchart of an exemplary process for determining whether to select a candidate boarding point as a recommended boarding point according to some embodiments of the present application. At least a portion of process 800 may be performed in the following manner: Figure 2 The computing device 200 shown or Figure 3 800 is implemented on the mobile device 300 shown. In some embodiments, one or more operations of process 800 may be performed on the mobile device 300 shown in FIG. Figure 1 In some embodiments, one or more steps in process 800 may be stored in the storage device 160 and / or the memory (e.g., ROM 230, RAM 240, etc.) as instructions, and called and / or executed by the server 110 (e.g., the processing engine 112 in the server 110 or the CPU 220 of the processing engine 112 in the server 110). In some embodiments, process 800 may be repeatedly executed for each of the one or more candidate boarding points to implement the above-mentioned method. Figure 5 Operation 540 is described.

[0116] In 810, the selection module 430 can identify an optimal path from the starting location to the candidate pickup point. In some embodiments, the optimal path can be selected from at least two possible paths from the starting location to the candidate pickup point in a highway map including the area around the starting location. In some embodiments, the optimal path can be selected based on, for example, but not limited to, travel time, travel distance (e.g., straight-line distance or path distance), the number of traffic lights, the requester's preferences, etc., or any combination thereof. For example, the path with the shortest travel time among the possible paths can be selected as the optimal path. In some embodiments, the optimal path can be a straight line connecting the starting location and the candidate pickup point.

[0117] In 820, the selection module 430 may determine whether the optimal path includes a road intersection. In some embodiments, if the user must cross a road section (or highway) along the optimal path, the selection module 430 may determine that the optimal path includes a road intersection. On the other hand, if the user does not need to cross any road section (or highway) along the optimal path, the selection module 430 may determine that the optimal path does not include a road intersection. In some embodiments, the selection module 430 may obtain one or more road sections where other candidate pickup points are located, and determine whether the optimal path intersects with one or more road sections where other candidate pickup points are located. When it is determined that the optimal path intersects with one or more road sections where other candidate pickup points are located, the selection module 430 may determine that the optimal path includes a road intersection. On the other hand, if the optimal path does not intersect with one or more road sections where other candidate pickup points are located, the selection module 430 may determine that the optimal path does not include a road intersection.

[0118] In response to determining that the optimal path includes a road intersection, the processing engine 112 may perform processes 800 to 830. In 830, the selection module 430 may remove the candidate pickup points corresponding to the optimal path including the road intersection from the candidate pickup points that may be the recommended pickup points.

[0119] In response to determining that the optimal path does not include a road intersection, the processing engine 112 can perform processes 800 to 840. In 840, the selection module 430 can designate the candidate pickup point as a recommended pickup point. In some embodiments, the recommended pickup point can be further sent to the requester terminal.

[0120] In some embodiments, process 800 may be repeated for one or more candidate pickup points corresponding to the starting location to determine whether to select a candidate pickup point as a recommended pickup point. If all candidate pickup points are deleted and there is no possible push-cart pickup point, selection module 430 may select a recommended pickup point from the candidate pickup points according to other selection techniques described elsewhere in this application (e.g., operation 540 and its description). For example, selection module 430 may select a recommended pickup point based on the corresponding distance between the candidate pickup point and the starting location. In some embodiments, determination module 420 may re-determine one or more other candidate pickup points corresponding to the starting location by implementing operation 520.

[0121] Examples

[0122] Fig. 9 is an exemplary road map around the historical starting location 910 according to some embodiments of the present application. Fig. 9 As shown, the historical starting point 910 has two candidate boarding points, namely, candidate boarding point A and candidate boarding point B. Candidate boarding point A is located at road segment 2. Path 920 represents the optimal path from the historical starting point 910 to candidate boarding point A, and the user must follow the optimal path to cross road segment 1. Therefore, since path 920 may include road intersections, candidate boarding point A may be used as a possible recommended boarding point. Figure 8 Similarly, since the path 930 from the historical starting point location 910 to the candidate pickup point B may include a road intersection, the candidate pickup point B may also be deleted as a possible cart pickup point. Fig. 9 The examples shown in are provided for illustration purposes only and are not intended to limit the scope of the present application. The historical starting location 910, the candidate pickup point A, and / or the candidate pickup point B may be located at any location in the road map.

[0123] The basic concepts have been described above. Obviously, for those of ordinary skill in the art who have read this application, the above invention disclosure is only for example and does not constitute a limitation of this application. Although not explicitly stated here, those of ordinary skill in the art may make various modifications, improvements and amendments to this application. Such modifications, improvements and amendments are suggested in this application, so such modifications, improvements and amendments still belong to the spirit and scope of the exemplary embodiments of this application.

[0124] At the same time, the present application uses specific words to describe the embodiments of the present application. For example, "one embodiment", "an embodiment", and / or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of the present application. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. In addition, some features, structures or characteristics in one or more embodiments of the present application can be appropriately combined.

[0125] In addition, it will be appreciated by those skilled in the art that various aspects of the present application may be illustrated and described by a number of patentable categories or situations, including any new and useful combination of processes, machines, products or substances, or any new and useful improvements thereto. Accordingly, various aspects of the present application may be performed entirely by hardware, entirely by software (including firmware, resident software, microcode, etc.), or by a combination of hardware and software. The above hardware or software may all be referred to as "blocks", "modules", "engines", "units", "components" or "systems". In addition, various aspects of the present application may take the form of a computer program product embodied in one or more computer-readable media, wherein computer-readable program code is contained therein.

[0126] A computer readable signal medium may include a propagated data signal containing computer program code, for example, in baseband or as part of a carrier wave. Such propagated signals may be in a variety of forms, including electromagnetic, optical, etc., or any suitable combination. A computer readable signal medium may be any computer readable medium other than a computer readable storage medium, which may be connected to an instruction execution system, device or apparatus to communicate, propagate or transmit a program for use. The program code on a computer readable signal medium may be propagated via any suitable medium, including radio, cable, fiber optic cable, RF, etc., or any combination of the above.

[0127] The computer program code required for the operation of each part of the present application can be written in any one or more programming languages, including object-oriented programming languages ​​such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, etc., conventional procedural programming languages ​​such as C programming language, Visual Basic, Fortran1703, Perl, COBOL 1702, PHP, ABAP, dynamic programming languages ​​such as Python, Ruby and Groovy, or other programming languages, etc. The program code can be run completely on the user's computer, or run on the user's computer as an independent software package, or run partially on the user's computer and partially on the remote computer, or run completely on the remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any network form, such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (e.g., via the Internet), or in a cloud computing environment, or used as a service such as software as a service (SaaS).

[0128] In addition, unless explicitly stated in the claims, the order of the processing elements and sequences described in the present application, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and methods of the present application. Although the above disclosure discusses some invention embodiments that are currently considered useful through various examples, it should be understood that the class details are only for illustrative purposes, and the attached claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the essence and scope of the embodiments of the present application. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.

[0129] Similarly, it should be noted that in order to simplify the description disclosed in this application and thus help understand one or more embodiments of the invention, in the above description of the embodiments of the present application, multiple features are sometimes combined into one embodiment, figure or description thereof. However, the method of the present application should not be interpreted as reflecting the intention that the claimed object material to be scanned requires more features than those explicitly stated in each claim. In fact, the features of the embodiment are less than all the features of the single embodiment disclosed above.

Claims

1. A system comprising: at least one computer-readable storage medium containing a set of instructions; at least one processor in communication with the at least one computer-readable storage medium, wherein when executing the instructions, the at least one processor is configured to: Obtain the origin location from the requester terminal; Determining one or more candidate boarding points based on the starting point location and historical data, wherein the historical data includes one or more historical starting point locations whose distances from the starting point location are within a threshold, including: Determining a historical boarding point corresponding to each of the one or more historical starting positions based on the historical data includes: Acquire a first path of a historical requester terminal corresponding to the historical starting point position; Acquire a second path of the history provider terminal corresponding to the history starting point position; determining an intersection point of the first path and the second path; When the intersection point can be projected into the road segment of the updated highway map, designating the intersection point as a historical boarding point corresponding to the historical starting point position; and When the intersection is projected outside the road segment of the updated highway map, specifying the location where the history provider terminal starts to charge the history requester terminal is the history boarding point corresponding to the history starting point; and determining the one or more candidate pickup points based on one or more historical pickup points corresponding to the one or more historical starting locations, the candidate pickup points comprising easily identifiable locations within a first threshold distance from the starting location, the first threshold distance varying with request time, requester, and / or starting location; Acquire location information of the one or more candidate boarding points, wherein the location information of the candidate boarding points includes at least one of an address of the candidate boarding point, a distance between the candidate boarding point and the starting point, road segment information related to the candidate boarding point, and usage information related to the candidate boarding point, wherein the road segment information includes at least historical service orders occurring on the road segment, historical starting point locations, historical boarding points, and / or historical destinations along the road segment; selecting one or more recommended boarding points from the one or more candidate boarding points based on the location information of the one or more candidate boarding points; and The one or more recommended boarding points are sent to the requester terminal.

2. The system according to claim 1, characterized in that: The first path includes more than one first point set, each first point set reflects a historical position of the historical requester terminal, The second path includes more than one second point set, each second point set reflects a historical position of the history provider terminal, and To determine the intersection of the first path and the second path, the at least one processor is further configured to: Determine matching pairs of the first point set and the second point set among the one or more first point sets and the one or more second point sets; as well as The intersection point of the first path and the second path is determined based on the second point set of the matching pairs.

3. The system according to any one of claims 1 to 2, characterized in that: To select the one or more recommended boarding points, the at least one processor is further configured to: For each of the one or more candidate boarding points, Identifying an optimal path from the starting location to each of the one or more candidate boarding points; Determining whether each of the optimal paths contains a road intersection; as well as When it is determined that the optimal path includes a road intersection, the candidate boarding points corresponding to the optimal path including the road intersection are deleted from the candidate boarding points that may be recommended boarding points.

4. The system according to any one of claims 1 to 2, characterized in that: To send the one or more recommended boarding points to the requester terminal, the at least one processor is further configured to: sorting the one or more recommended boarding points; and Based on the sorting result, part or all of the one or more recommended boarding points are sent to the requester terminal.

5. The system according to claim 4, characterized in that To sort the one or more recommended boarding points, the at least one processor is further configured to: Obtaining usage information related to one or more historical starting points corresponding to the one or more recommended boarding points; and The one or more recommended boarding points are ranked based on the usage information.

6. The system according to claim 4, characterized in that To sort the one or more recommended boarding points, the at least one processor is further configured to: Acquiring road section information related to the one or more recommended boarding points; and Based on the road section information, the one or more recommended boarding points are sorted.

7. The system according to claim 1 or 2 or 5 or 6, characterized in that: When executing the instructions, the at least one processor is further configured to: A road map including at least two road segments surrounding the starting location is updated.

8. A method implemented on a computing device, the computing device comprising at least one processor, at least one computer-readable storage medium, and a communication platform connected to a network, the method comprising: Obtain the origin location from the requester terminal; Determining one or more candidate boarding points based on the starting point location and historical data, wherein the historical data includes one or more historical starting point locations whose distances from the starting point location are within a threshold, including: Determining a historical boarding point corresponding to each of the one or more historical starting positions based on the historical data includes: Acquire a first path of a historical requester terminal corresponding to the historical starting point position; Acquire a second path of the history provider terminal corresponding to the history starting point position; determining an intersection point of the first path and the second path; When the intersection point can be projected into the road segment of the updated highway map, designating the intersection point as a historical boarding point corresponding to the historical starting point position; and When the intersection is projected outside the road segment of the updated highway map, specifying the location where the history provider terminal starts to charge the history requester terminal is the history boarding point corresponding to the history starting point; and determining the one or more candidate pickup points based on one or more historical pickup points corresponding to the one or more historical starting locations, the candidate pickup points comprising easily identifiable locations within a first threshold distance from the starting location, the first threshold distance varying with request time, requester, and / or starting location; Acquire location information of the one or more candidate boarding points, wherein the location information of the candidate boarding points includes at least one of an address of the candidate boarding point, a distance between the candidate boarding point and the starting point, road segment information related to the candidate boarding point, and usage information related to the candidate boarding point, wherein the road segment information includes at least historical service orders occurring on the road segment, historical starting point locations, historical boarding points, and / or historical destinations along the road segment; selecting one or more recommended boarding points from the one or more candidate boarding points based on the location information of the one or more candidate boarding points; and The one or more recommended boarding points are sent to the requester terminal.

9. The method according to claim 8, characterized in that: The first path includes more than one first point set, each first point set reflects a historical position of the historical requester terminal, The second path includes more than one second point set, each second point set reflects a historical position of the history provider terminal, and Determining the intersection point of the first path and the second path includes: Determining matching pairs of the first point set and the second point set among the one or more first point sets and the one or more second point sets; and Based on the second point set of the matching pairs, a junction point of the first path and the second path is determined.

10. The method according to any one of claims 8 to 9, characterized in that: The selecting of more than one recommended boarding point includes: For each of the one or more candidate boarding points, Identifying an optimal path from the starting location to each of the one or more candidate boarding points; determining whether each of the optimal paths contains a road intersection; and When it is determined that the optimal path includes a road intersection, the candidate boarding points corresponding to the optimal path including the road intersection are deleted from the candidate boarding points that may be recommended boarding points.

11. The method according to any one of claims 8 to 9, characterized in that: The sending the one or more recommended boarding points to the requester terminal includes: sorting the one or more recommended boarding points; and Based on the sorting result, all or part of the one or more recommended boarding points are sent to the requester terminal.

12. The method according to claim 11, characterized in that The sorting of the one or more recommended boarding points includes: Obtaining usage information related to one or more historical starting points corresponding to the one or more recommended boarding points; and The one or more recommended boarding points are ranked based on the usage information.

13. The method according to claim 12, characterized in that The sorting of the one or more recommended boarding points includes: Acquiring road section information related to the one or more recommended boarding points; and Based on the road section information, the one or more recommended boarding points are sorted.

14. The method according to claim 8 or 9 or 12 or 13, characterized in that: Executing the instruction includes: A road map including at least two road segments surrounding the starting location is updated.

15. A non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor of a system, cause the system to perform a method comprising: Obtain the starting point location from the requester terminal; Determining one or more candidate boarding points based on the starting point location and historical data, wherein the historical data includes one or more historical starting point locations whose distances from the starting point location are within a threshold, including: Determining a historical boarding point corresponding to each of the one or more historical starting positions based on the historical data includes: Acquire a first path of a historical requester terminal corresponding to the historical starting point position; Acquire a second path of the history provider terminal corresponding to the history starting point position; determining an intersection point of the first path and the second path; When the intersection point can be projected into the road segment of the updated highway map, designating the intersection point as a historical boarding point corresponding to the historical starting point position; and When the intersection is projected outside the road segment of the updated highway map, specifying the location where the history provider terminal starts to charge the history requester terminal is the history boarding point corresponding to the history starting point; and determining the one or more candidate pickup points based on one or more historical pickup points corresponding to the one or more historical starting locations, the candidate pickup points comprising easily identifiable locations within a first threshold distance from the starting location, the first threshold distance varying with request time, requester, and / or starting location; Acquire location information of the one or more candidate boarding points, wherein the location information of the candidate boarding points includes at least one of an address of the candidate boarding point, a distance between the candidate boarding point and the starting point, road segment information related to the candidate boarding point, and usage information related to the candidate boarding point, wherein the road segment information includes at least historical service orders occurring on the road segment, historical starting point locations, historical boarding points, and / or historical destinations along the road segment; selecting one or more recommended boarding points from the one or more candidate boarding points based on the location information of the one or more candidate boarding points; and The one or more recommended boarding points are sent to the requester terminal.

Citation Information

Patent Citations

  • Method and device for determining starting point of order

    CN104715286A

  • System and method for correcting get-on position in electronic map based on passenger taxi-calling historic data

    CN104796856A

  • Passenger taxi-hiring history data-based system and method for correcting boarding location on electronic map

    WO2016008390A1