Data processing method and apparatus
By optimizing carpooling route planning and taking into account road network structure and the locations of passengers and drivers, the detour problem caused by ignoring complex road conditions in existing technologies has been solved, resulting in a more efficient carpooling service.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-16
- Publication Date
- 2026-04-07
AI Technical Summary
Existing carpooling route planning methods fail to effectively consider the complexities of actual road network structures, such as one-way restrictions and inconvenient turning at intersections, resulting in additional detours that increase travel time and mileage, thus affecting service efficiency and quality.
By determining the driver's starting point, the set of passenger pick-up points, the set of passenger drop-off points, and the driver's destination as driving nodes, a candidate order and a directed graph are generated based on these nodes to optimize the pick-up and drop-off order and pick-up and drop-off points, taking into account the positions of the driver and passengers and the driving direction.
This reduces travel time and mileage, improves the efficiency and quality of carpooling services, and ensures a better travel experience for passengers.
Smart Images

Figure CN119809069B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of Internet technology, and in particular to a data processing method and apparatus. Background Technology
[0002] Against the backdrop of rapid development in the internet economy, ride-sharing services, such as carpooling, have gradually become an important part of urban transportation. Carpooling services integrate the travel needs of multiple passengers, achieving efficient resource utilization and cost sharing, thus improving user travel efficiency and experience. This model relies on precise route planning and efficient matching algorithms to optimize travel paths.
[0003] In existing technologies, carpooling route planning mainly adopts the shortest path principle-based method, which calculates an optimal pick-up and drop-off order to minimize the total travel distance, given the driver's location and the passenger set.
[0004] However, existing technologies only consider the nearest pick-up and drop-off points, ignoring the complexities that may exist in the actual road network structure, such as one-way restrictions and inconvenient turning at intersections. This may result in drivers having to take extra detours to pick up passengers or drop them off at their destinations, even when following the so-called "optimal" route, increasing unnecessary travel time and mileage, and affecting service efficiency and quality. Summary of the Invention
[0005] In view of this, the purpose of this invention is to provide a data processing method and apparatus that can reduce travel time and mileage, and improve service efficiency and service quality.
[0006] In a first aspect, embodiments of the present invention provide a data processing method, the method comprising:
[0007] Determine the driving nodes of the target driver, wherein the driving nodes include the driver's starting point, a set of at least one target passenger's pick-up points, a set of at least one target passenger's drop-off points, and the driver's ending point;
[0008] At least one candidate order is determined based on the driving nodes, wherein the candidate order is the sorting of the driving nodes;
[0009] Determine the directed graph corresponding to each candidate order;
[0010] The target order and target site are determined based on the directed graph of each candidate order.
[0011] In some embodiments, determining the target driver's driving node includes:
[0012] Identify the target driver and at least one target passenger;
[0013] Determine the starting point and ending point of the target driver;
[0014] Determine the set of boarding points and the set of alighting points for the target passengers.
[0015] In some embodiments, determining the target driver and at least one target passenger includes:
[0016] In response to the triggering event, the target driver and target passenger are identified;
[0017] The triggering events include at least one of the following: adding passengers to the group-buying queue, canceling orders by passengers who have already joined the group-buying queue, deviation from the route, and abnormal road conditions.
[0018] In some embodiments, determining the set of pick-up points and the set of drop-off points for the target passengers includes:
[0019] The set of pick-up points is generated based on the departure point of the target passenger, and the set of pick-up points includes at least one candidate pick-up point;
[0020] The drop-off point set is generated based on the destination of the target passenger, and the drop-off point set includes at least one candidate drop-off point.
[0021] In some embodiments, the candidate order satisfies the following conditions:
[0022] The driver's starting point is the first travel node;
[0023] The driver's destination is the last travel point;
[0024] The boarding points of the same passenger are grouped before the alighting points.
[0025] In some embodiments, the edge weights of the directed graph are road mileage and / or estimated travel time.
[0026] In some embodiments, determining the target order and target site based on the directed graph of the candidate orders includes:
[0027] The target path corresponding to each candidate order is determined based on the directed graph corresponding to each candidate order;
[0028] The target order and target stations are determined based on the target path.
[0029] In some embodiments, determining the target path corresponding to each subsequent order based on the directed graph corresponding to each candidate order includes:
[0030] Based on the directed graph corresponding to each candidate order, determine the candidate path corresponding to each subsequent order;
[0031] The optimal candidate path is determined as the target path.
[0032] In some embodiments, determining the target order and target sites based on the target path includes:
[0033] The candidate order corresponding to the target path is determined as the target order;
[0034] The candidate sites corresponding to the target path are determined as the target sites.
[0035] In some embodiments, the method further includes:
[0036] A planned path is generated and sent based on the target order and target sites.
[0037] In some embodiments, the method further includes:
[0038] A carpooling plan is generated and executed based on the target order and target stations.
[0039] In a second aspect, embodiments of the present invention provide a data processing apparatus, the apparatus comprising:
[0040] A node determination unit is used to determine the driving node of the target driver. The driving node includes the driver's starting point, a set of at least one target passenger's boarding point, a set of at least one target passenger's alighting point, and the driver's ending point.
[0041] A candidate order determination unit is used to determine at least one candidate order based on the driving nodes, wherein the candidate order is the sorting of the driving nodes;
[0042] The directed graph determination unit is used to determine the directed graph corresponding to each candidate order;
[0043] The result acquisition unit is used to determine the target order and target site based on the directed graph of each candidate order.
[0044] Thirdly, embodiments of the present invention provide an electronic device, including a memory and a processor, wherein the memory is used to store one or more computer program instructions, wherein the one or more computer program instructions are executed by the processor to implement the method as described in the first aspect.
[0045] Fourthly, embodiments of the present invention provide a computer program product comprising a computer program, wherein when the computer program is run on a computer, the computer executes the method described in the first aspect above.
[0046] Fifthly, embodiments of the present invention provide a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, implement the method described in the first aspect.
[0047] The technical solution of this invention uses the driver's starting point, the set of passenger pick-up points, the set of passenger drop-off points, and the driver's destination as driving nodes. Based on the driving nodes, a candidate order and a corresponding directed graph are determined. Then, the target order and target station are determined based on the directed graphs of each candidate order. Therefore, considering the variability of passenger pick-up and drop-off points, an optimal pick-up / drop-off order and stations are obtained, reducing travel time and mileage, and improving service efficiency and quality. Attached Figure Description
[0048] The above and other objects, features and advantages of the present invention will become clearer from the following description of embodiments of the invention with reference to the accompanying drawings, in which:
[0049] Figure 1 This is a schematic diagram of the data processing system according to an embodiment of the present invention;
[0050] Figure 2 It is a schematic diagram of a proportional path planning;
[0051] Figure 3 This is a flowchart of the data processing method according to the first embodiment of the present invention;
[0052] Figure 4 This is a flowchart illustrating the determination of driving nodes according to an embodiment of the present invention;
[0053] Figure 5 This is a schematic diagram of a directed graph according to an embodiment of the present invention;
[0054] Figure 6 This is a flowchart of the target order and target sites in an embodiment of the present invention;
[0055] Figure 7 This is a flowchart illustrating the determination of the target path according to an embodiment of the present invention;
[0056] Figure 8 This is a schematic diagram of a directed graph according to another embodiment of the present invention;
[0057] Figure 9 This is a schematic diagram of path planning according to an embodiment of the present invention;
[0058] Figure 10 This is a flowchart of the data processing method according to the second embodiment of the present invention;
[0059] Figure 11 This is a schematic diagram of a data processing device according to an embodiment of the present invention;
[0060] Figure 12 This is a schematic diagram of an electronic device according to an embodiment of the present invention. Detailed Implementation
[0061] The present application is described below based on embodiments, but it is not limited to these embodiments. In the detailed description of the present application below, certain specific details are described in detail. Those skilled in the art can fully understand the present application without these details. To avoid obscuring the substance of the present application, well-known methods, processes, flows, elements, and circuits are not described in detail.
[0062] Furthermore, those skilled in the art should understand that the accompanying drawings provided herein are for illustrative purposes only and are not necessarily drawn to scale.
[0063] Unless the context explicitly requires it, words such as "including" or "contains" throughout the application should be interpreted as including rather than exclusive or exhaustive; that is, meaning "including but not limited to".
[0064] In the description of this application, it should be understood that the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance. Furthermore, in the description of this application, unless otherwise stated, "a plurality of" means two or more.
[0065] The solutions described in this specification and embodiments, if involving the processing of personal information, will be processed only under the premise of having a legal basis (such as obtaining the consent of the personal information subject, or being necessary for the performance of a contract), and will only be processed within the scope stipulated or agreed upon. A user's refusal to process personal information beyond what is necessary for basic functions will not affect the user's use of basic functions.
[0066] Figure 1 This is a schematic diagram of a data processing system according to an embodiment of the present invention. Figure 1 As shown, the data processing system of this embodiment includes a server 1, at least one driver terminal 2, and at least one passenger terminal 3. The server 1, driver terminal 2, and passenger terminal 3 are connected via the Internet or other communication networks to achieve information exchange and service provision.
[0067] Server 1 is responsible for managing and coordinating data and services, and can also process data tasks from multiple driver and passenger terminals in real time. The server performs core functions including, but not limited to, matching algorithms, route planning, and billing systems. Additionally, the server supports API interfaces for integration with other third-party service platforms, such as payment gateways and map service providers.
[0068] Driver terminal 2 is used to receive order information from the server and display important information such as navigation instructions and passenger location to the driver. In addition, drivers can also use the driver terminal to update their status (such as whether they can accept orders), communicate with passengers, and provide feedback after completing an order. The driver terminal can be implemented through mobile devices or specially designed in-vehicle devices, such as smartphones, tablets, or dedicated hardware.
[0069] Passenger terminal 3 refers to the smart device that passengers use to initiate a ride request, such as an application on a smartphone or tablet. Passengers can use the passenger terminal to enter their destination, select the service type (such as regular travel, carpooling, etc.), and view the estimated arrival time and cost. Once the order is confirmed, the passenger terminal will also provide information about the pick-up and drop-off vehicle, such as license plate number, vehicle model, color, and driver information.
[0070] When a passenger submits a ride request, their terminal sends the relevant information to the server. The server then uses a specific algorithm to select qualified drivers and pushes the order details to the selected driver's terminal. During the trip, both the driver and passenger can synchronize with the server through their respective terminals to ensure that both receive the latest trip information in a timely manner. After the trip, the driver's terminal uploads the driving data to the server, completing the order settlement process.
[0071] This invention uses a carpooling scenario as an example. Passengers select the "carpooling" service option through an application on their passenger terminal and enter their departure and destination locations. After passenger confirmation, the passenger terminal organizes this data into a structured request and sends it to the server. Drivers can proactively post their availability or willingness to accept orders within a specific time period on their driver terminal, including information such as the number of seats available and the service area. This information is also sent to the server to better match potential passengers. Upon receiving the request from the passenger terminal, the server activates a matching algorithm, comprehensively considering factors such as the location of currently active drivers, route planning, and estimated arrival time, while also evaluating possible carpooling routes to ensure the most optimized overall trip arrangement. Once a suitable driver and potential carpooling partners are found, the server creates a carpooling order and sends a notification to the selected driver terminal, while also informing the passenger of the carpooling details, including estimated waiting time and fare. The driver terminal receives the notification from the server, displaying content including the passenger's location, pick-up and drop-off points, and other necessary information. For carpooling orders, drivers can also see information about all passengers participating in the carpooling. Drivers decide whether to accept the order based on their own circumstances. If accepted, the trip will begin according to the system's recommended optimal pick-up and drop-off order; if refused, the server will continue to search for other qualified drivers. Once the driver accepts the order and confirms readiness, the system automatically updates the status and pushes the latest trip progress information to all relevant parties, marking the official start of the carpooling order execution phase.
[0072] It should be noted that the above carpooling process is only an example provided by the embodiments of the present invention. The embodiments of the present invention do not limit the process of drivers placing orders and passengers placing orders, and it can be implemented in various ways.
[0073] During the process of matching passengers and drivers and planning routes, the server not only needs to select suitable stations (pick-up and drop-off points) for passengers, but also needs to arrange a reasonable pick-up and drop-off order for drivers to ensure the efficiency of the overall trip and the user experience.
[0074] Figure 2 This is a schematic diagram of a proportional path planning algorithm. (For example...) Figure 2 As shown, the departure point and destination are the passenger's origin and destination. In traditional methods, the server usually selects the location closest to the passenger's departure point as the pick-up point (e.g., ...). Figure 2 In E1, the system selects the closest location to the destination as the drop-off point. However, this strategy may require vehicles to take extra detours to reach these points, increasing travel time and distance. For example, in... Figure 2 In the scenario shown, if the passenger is at the entrance of the residential area and the driver is on the opposite road, the traditional solution would be to direct the driver to the nearest pick-up point. This would inevitably require the driver to turn around to pick up the passenger and then turn around again to take them to their destination, resulting in unnecessary detours.
[0075] To address the aforementioned problems, this invention introduces an improved route planning algorithm that considers not only the passenger's origin and destination but also the driver's current location, driving direction, and the direction of the destination. Through this method, the system can identify better pick-up and drop-off points, such as... Figure 2 The algorithm utilizes lane F to allow passengers to board directly from one side of the road, reducing vehicle detour distance and time. Furthermore, when multiple possible pick-up or drop-off points exist, the algorithm dynamically evaluates the cost (including time and distance) of each option and selects the optimal solution based on real-time traffic conditions and other factors. This overcomes the inefficiency of existing technologies that only recommend the nearest pick-up or drop-off point, minimizing local detours while ensuring the overall route is as short as possible, thus improving overall trip efficiency. It is also suitable for optimizing the pick-up and drop-off order for multiple passengers in carpooling scenarios, ensuring a significantly improved travel experience for all participants. By comprehensively considering the actual locations and driving directions of both drivers and passengers, a more rational and efficient route planning is achieved, ultimately saving time and reducing operating costs.
[0076] Figure 3 This is a flowchart of the data processing method according to the first embodiment of the present invention. Figure 3As shown, the data processing method of this embodiment of the invention includes the following steps:
[0077] Step S110: Determine the target driver's driving node.
[0078] In this embodiment, the driving nodes include a driver's starting point, a set of at least one target passenger's boarding points, a set of at least one target passenger's alighting points, and a driver's destination. The set of boarding points includes one or more candidate boarding points, and the set of alighting points includes one or more candidate alighting points. The data processing method of this embodiment mainly determines the optimal order of each driving node, determines the optimal boarding point from multiple candidate boarding points, and determines the optimal alighting point from multiple candidate alighting points. Each passenger corresponds to one set of boarding points and one set of alighting points.
[0079] Figure 4 This is a flowchart illustrating the determination of driving nodes according to an embodiment of the present invention. Figure 4 As shown, determining the target driver's driving node involves the following steps:
[0080] Step S111: Identify the target driver and at least one target passenger.
[0081] In this embodiment, the server determines the target driver and target passenger in response to a triggering event. The triggering event includes at least one of the following: adding a passenger to a shared ride, a passenger canceling an order, deviation from the planned route, and abnormal road conditions.
[0082] In this embodiment of the invention, the triggering event is divided into two order acceptance stages: adding passengers to be shared with other passengers is in the driver-passenger matching stage, and canceling orders by passengers who have already shared with other passengers, deviation from the route, and abnormal road conditions are in the route planning stage.
[0083] During the driver-passenger matching phase, the server identifies target drivers and at least one target passenger by recalling potential carpooling relationships. Specifically, the server first receives carpooling requests from various passenger terminals, which include the passenger's origin, destination, and other preference information. Based on this data, the server builds a passenger database containing multiple passengers seeking to carpool. Simultaneously, the server also acquires a driver database containing multiple drivers who can participate in carpooling. "Drivers available for carpooling" refers to drivers who currently have no accepted passengers or, although they have accepted passengers, still have available seats. "Passengers who have already carpooled" refers to passengers who have completed two-way confirmation with the driver and established a binding relationship. The server matches passengers seeking carpooling in the passenger database with drivers available for carpooling in the driver database according to predetermined rules to recall driver-passenger combinations that may complete carpooling, i.e., "carpoolable relationships." These rules can be based on various factors, such as the number of seats, driving route, and driving direction, and can be used individually or in combination to ensure optimal matching results. Finally, the target drivers and target passengers identified from the recalled carpoolable relationships will proceed to the next step of route planning and service arrangement.
[0084] For example, suppose there are three passengers in the passenger pool, A1, A2, and A3, waiting to share a ride, and two drivers in the driver pool, B1 and B2, who can share rides. B1 currently has no passengers already sharing rides, while B2 has passenger C1 but still has available seats. Based on preset matching rules, the server analyzes each passenger's destination, travel time, and preferences, as well as each driver's location, direction of travel, and available seats. The results are: Passenger A1 can only share rides with driver B1; Passenger A2 can share rides with both drivers B1 and B2; Passenger A3 can only share rides with driver B2. In this case, the possible sharing relationships include:
[0085] Relationship R1: Driver B1, Passenger A1;
[0086] Relationship R2: Driver B1, Passenger A2;
[0087] Relationship R3: Driver B1, Passengers A1, A2;
[0088] Relationship R4: Driver B2, Passengers A2, C1;
[0089] Relationship R5: Driver B2, Passengers A3, C1;
[0090] Relationship R6: Driver B2, Passengers A2, A3, C1.
[0091] For each possible pairing relationship, the target driver and target passenger are the driver and passenger in the pairing relationship.
[0092] During the route planning phase, when triggering events such as order cancellation by passengers who have already shared their rides, deviation from the planned route, or abnormal road conditions occur, the route needs to be replanned. In this case, the target driver is the driver corresponding to the triggering event, and the target passengers are the passengers who have already shared their rides with the target driver.
[0093] Step S112: Determine the starting point and ending point of the target driver.
[0094] In this embodiment, the starting point of the target driver can be determined based on the driver's current location or the driver's settings. Specifically, the starting point can be the driver's current location, which can be obtained by the positioning function of the vehicle or driver terminal. Alternatively, the starting point can be preset by the driver; for example, the driver can preset the starting point for their planned trip.
[0095] The destination for the target driver can be determined by the server or based on the driver's settings. Specifically, if the driver has pre-set a destination, that destination will be designated as the driver's destination; for example, in a ridesharing scenario, the driver needs to set a destination. If the driver has not set a destination, the server will determine a virtual terminal as the driver's destination; for example, in a real-time ridesharing scenario, the driver does not need to set a destination, and the server can set a hotspot area as the driver's destination.
[0096] Step S113: Determine the set of boarding points and the set of alighting points for the target passengers.
[0097] In this embodiment, the set of boarding points includes one or more candidate boarding points, and the set of alighting points includes one or more candidate alighting points.
[0098] Specifically, for each target passenger, a set of pick-up points is generated based on the passenger's departure point, and a set of drop-off points is generated based on the passenger's destination. The departure point and destination are input by the passenger when placing the order. The server, according to a predetermined location retrieval method, retrieves one or more candidate pick-up points based on the departure point and generates the set of pick-up points, and retrieves one or more candidate drop-off points based on the destination and generates the set of drop-off points.
[0099] Therefore, through the technical solution of this invention, the passenger's pick-up point is dynamically variable before the passenger's order is answered (i.e., during the driver-passenger matching stage). The optimal pick-up point may differ when the passenger is matched with different fellow passengers or drivers. The passenger's drop-off point is also dynamically variable before reaching the destination. If other fellow passengers join or cancel their rides, the passenger's optimal drop-off point changes with the route. During the ride-sharing trip, if traffic congestion occurs, or if there are temporary traffic controls, construction / road closures, or other abnormal road conditions, the ride-sharing route is changed in real time, and the passenger's drop-off point also changes accordingly. If the driver deviates from the planned route during the trip, the route is replanned, and the passenger's drop-off point also changes accordingly. This provides a flexible and efficient travel service. Passengers can enjoy shorter waiting times and more convenient pick-up and drop-off locations, improving the overall travel experience. Simultaneously, dynamically adjusting the drop-off point based on actual conditions during the trip ensures that passengers can reach the optimal drop-off point near their destination as quickly as possible. The server can react quickly to real-time traffic conditions (such as traffic congestion, road construction, etc.), automatically replanning routes and adjusting pick-up and drop-off points to ensure the safety and punctuality of the trip.
[0100] Step S120: Determine at least one candidate order based on the driving node.
[0101] In this embodiment, the candidate order is the sorting of the driving nodes. Specifically, the candidate order satisfies the following conditions:
[0102] The driver's starting point is the first travel node;
[0103] The driver's destination is the last travel point;
[0104] The boarding points of the same passenger are grouped before the alighting points.
[0105] For example, suppose the result of determining the driver's driving nodes is as follows: the target driver is B3, the target passengers include A4 and A5, the driver's starting point is P1, the driver's ending point is P2, the set of passenger A4's boarding points is P3, the set of passenger A4's alighting points is P4, the set of passenger A5's boarding points is P5, and the set of passenger A5's alighting points is P6.
[0106] Based on the conditions that the driver's starting point is the first driving node, the driver's ending point is the last driving node, and the set of pick-up points for the same target passenger precedes the set of drop-off points, the generated candidate order includes:
[0107] P1, P3, P4, P5, P6, P2;
[0108] P1, P3, P5, P4, P6, P2;
[0109] P1, P3, P5, P6, P4, P2;
[0110] P1, P5, P3, P4, P6, P2;
[0111] P1, P5, P3, P6, P4, P2;
[0112] P1, P5, P6, P3, P4, P2.
[0113] Thus, the candidate order can be obtained.
[0114] Step S130: Determine the directed graph corresponding to each candidate order.
[0115] In this embodiment, a directed graph corresponding to each candidate order is determined according to the sorting of each driving node in the candidate order. In the directed graph, each driving node is arranged in the order of the candidate order, and for every two adjacent driving nodes, each station of the superior driving node can be connected to each station of the subordinate order-taking node. For a station, the starting and ending stations of the target driver are themselves, and the stations of the target passenger's pick-up and drop-off points are the candidate pick-up and candidate drop-off points.
[0116] Furthermore, the edge weights of the directed graph are road mileage and / or estimated travel time. That is, the edge weight of each pair of connected nodes (or stations) is the corresponding mileage or estimated arrival time.
[0117] In some embodiments, the edge weight between the driver's destination and its previous driving node is set to 0 or close to 0 or a low value.
[0118] Figure 5 This is a schematic diagram of a directed graph according to an embodiment of the present invention. Figure 5 In the illustrated embodiment, it is assumed that the result of determining the driver's driving nodes is as follows: the target driver is B3, the target passengers include A4 and A5, the driver's starting point is P1, the driver's ending point is P2, the set of boarding points for passenger A4 is P3, including three candidate boarding points Q11, Q12, and Q13, the set of alighting points for passenger A4 is P4, including two candidate alighting points R11 and R12, the set of boarding points for passenger A5 is P5, including two candidate boarding points Q21 and Q22, and the set of alighting points for passenger A5 is P6, including three candidate alighting points R21, R22, and R23. The final generated candidate order includes the six types shown in step S120 above. This embodiment of the invention uses the third candidate order P1, P3, P5, P6, P4, and P2 as an example for illustration. The directed graph is as follows. Figure 5 As shown, it represents the sequence in which the target driver starts from driver's starting point P1, picks up passenger A4, then picks up passenger A5, drops off passenger A5, drops off passenger A4 again, and finally reaches driver's ending point P2.
[0119] Step S140: Determine the target order and target site based on the directed graph of each candidate order.
[0120] In this embodiment, the corresponding target order and target station are determined based on the candidate orders of the directed graph obtained above. The target station includes the target boarding point and the target alighting point.
[0121] Figure 6 This is a flowchart illustrating the target order and target sites in an embodiment of the present invention. For example... Figure 6 As shown, determining the target order and target site based on the directed graph of each candidate order includes the following steps:
[0122] Step S141: Determine the target path corresponding to each candidate order based on the directed graph corresponding to each candidate order.
[0123] In this embodiment, as shown in the directed graph above, for every two adjacent driving nodes, each station of the upper-level driving node can be connected to each station of the lower-level order-receiving node. This results in multiple possible driving paths within a candidate sequence, and this embodiment of the invention requires selecting the optimal path as the target path from all possible driving paths.
[0124] Specifically, Figure 7 This is a flowchart illustrating the determination of the target path according to an embodiment of the present invention. For example... Figure 7 As shown, determining the target path corresponding to each subsequent order based on the directed graph corresponding to each candidate order includes the following steps:
[0125] Step S1411: Determine the candidate paths corresponding to each subsequent order based on the directed graph corresponding to each candidate order.
[0126] In this embodiment, the candidate path is the optimal path among all possible driving paths in a candidate order. Figure 5 Taking the directed graph shown as an example, there are a total of 3*2*3*2 = 36 possible travel paths. For example, P1, Q11, Q21, R21, R11, P2 is one possible travel path; and P1, Q12, Q21, R22, R11, P2 is another possible travel path. After listing all possible travel paths, the sum of edge weights for each possible travel path is determined, and the path with the smallest sum of edge weights is selected as the candidate path. That is, for each candidate order, the travel path with the smallest sum of edge weights is selected as the candidate path.
[0127] Figure 8 This is a schematic diagram of a directed graph according to another embodiment of the present invention. Figure 8 The directed graph shown is Figure 5The directed graphs shown belong to the same candidate order. However... Figure 8 The diagram only shows one possible driving path (P1, Q11, Q21, R21, R11, P2) and its corresponding edge weights (W11, W21, W31, W41, W51). Correspondingly, the sum of the edge weights is W11 + W21 + W31 + W41 + W51. Based on the same principle, after obtaining the sum of the edge weights for each possible driving path, the driving path with the smallest sum of edge weights is selected as the candidate path.
[0128] Therefore, after processing through the above steps, a candidate path can be obtained for each candidate order.
[0129] Step S1412: Determine the optimal candidate path as the target path.
[0130] In this embodiment, after obtaining the candidate paths for each candidate order, the optimal candidate path is determined as the target path.
[0131] Step S142: Determine the target order and target stations based on the target path.
[0132] In this embodiment, after determining the target path, the candidate order corresponding to the target path is determined as the target order, and the candidate sites corresponding to the target path are determined as the target sites.
[0133] by Figure 5 Taking an example, suppose the target path is P1, Q12, Q21, R22, R11, P2. Since the target path corresponds to the candidate order P1, P3, P5, P6, P4, P2, the target order is P1, P3, P5, P6, P4, P2. Simultaneously, the stations in the target path are the target stations, i.e., Q12, Q21, R22, R11 are the target stations. Therefore, through the above steps, the optimal pick-up / drop-off order and the optimal pick-up / drop-off stations can be obtained.
[0134] Figure 9 This is a schematic diagram of path planning according to an embodiment of the present invention. Figure 9 As shown, using the data processing method of this embodiment of the invention, the final determined boarding point is E3. Figure 2 In comparison, it can reduce the mileage and time of the entire pick-up and drop-off process.
[0135] To achieve more intelligent and efficient carpooling route planning, this embodiment of the invention not only considers the passenger's origin and destination, but also comprehensively takes into account the driver's current location, driving direction, and direction to the destination. For example... Figure 9 As shown, the final boarding point determined by this method is E3, compared to the traditional method (such as...). Figure 2As shown in the diagram, this significantly reduces the mileage and time throughout the entire pick-up and drop-off process. Specifically, before assigning a ride to a driver, the platform recommends multiple candidate pick-up and drop-off points to passengers to ensure the optimal choice. For example, regarding pick-up point recommendations, the platform might offer the current passenger two pick-up station options: E1 and E2. Passengers can walk from one station to the other via passage F. If the nearest driver is only at the station shown in the diagram, pick-up point E2 can be recommended, even if it means the passenger needs to walk a little further. This minimizes the total distance for the driver to pick up and drop off the passenger, thus achieving the most efficient carpooling route planning globally.
[0136] The technical solution of this invention overcomes the problem of local detours caused by recommending only the nearest pick-up and drop-off points in the prior art. It can minimize unnecessary detours while ensuring the overall route is as short as possible, thus improving the efficiency of the entire journey. For example, in Figure 9 Choosing E3 as the pick-up point not only reduces driver waiting time and mileage but also improves the overall travel experience for passengers. Furthermore, this method can address the optimization of pick-up and drop-off order for multiple passengers in carpooling scenarios, ensuring a significant improvement in the travel experience for all participants. Thus, by comprehensively considering factors such as candidate pick-up and drop-off points for drivers and passengers, as well as pick-up and drop-off order, a more rational and efficient route planning is achieved, ultimately saving time and reducing operating costs while improving user experience and service quality.
[0137] This invention uses the driver's starting point, the set of passenger pick-up points, the set of passenger drop-off points, and the driver's destination as driving nodes. Based on these driving nodes, a candidate order and corresponding directed graph are determined. Then, the target order and target station are determined based on the directed graphs of each candidate order. Therefore, considering the variability of passenger pick-up and drop-off points, an optimal pick-up / drop-off order and stations are obtained, reducing travel time and mileage, and improving service efficiency and quality.
[0138] Furthermore, after obtaining the target order and target stations, subsequent processing can be performed based on the target order and target stations, such as generating and executing a carpooling plan based on the target order and target stations.
[0139] Figure 10 This is a flowchart of the data processing method according to the second embodiment of the present invention. Figure 10 As shown, the data processing method includes the following steps:
[0140] Step S210: Obtain the departure and destination points entered by the passenger.
[0141] In this embodiment, the passenger terminal obtains the input departure point and destination.
[0142] Step S220: Passenger issues order.
[0143] In this embodiment, after the passenger enters their departure and destination on the passenger terminal, the passenger selects a carpooling mode of transportation and places an order.
[0144] Step S230: Recall candidate sites.
[0145] In this embodiment, the server recalls candidate stations. Specifically, this embodiment divides passengers into passengers who have already joined a group order and passengers who are waiting to join a group order. Passengers waiting to join a group order are those who placed orders through steps S210 and S220, but the order allocation has not yet been completed. Passengers who have already joined a group order are those who have been assigned to a driver.
[0146] For passengers seeking to share a ride, the server retrieves candidate pick-up and drop-off points based on their origin and destination. For passengers already sharing a ride, the server uses the stations already retrieved during the ride-sharing phase as candidate stations. Candidate stations include both pick-up and drop-off points.
[0147] Step S240: Recall the possible relationships.
[0148] In this embodiment, the server recalls potential carpooling relationships. The server matches passengers in the passenger database seeking carpooling with drivers in the driver database according to predetermined rules to recall possible driver-passenger combinations, i.e., "potential carpooling relationships." These rules can be based on various factors, such as the number of seats, driving route, and driving direction, and can be used individually or in combination to ensure optimal matching results. Finally, the target drivers and passengers identified from the recalled potential carpooling relationships will proceed to the next step of route planning and service arrangement.
[0149] For example, suppose that after passenger A7 places an order, after matching the drivers in the driver database, driver B4, driver B5, and driver B6 can be matched with passenger A7. Then the possible relationships include: (A7, B4), (A7, B5), and (A7, B6).
[0150] Step S250: Obtain the optimal combinable relationship, optimal order, and optimal site.
[0151] In this embodiment, for each possible concatenation relationship, the corresponding target order and target site are obtained through the above steps S110-S140. That is, a corresponding target order and target site can be obtained for each possible concatenation relationship.
[0152] Furthermore, the travel cost corresponding to each combinable relationship is determined based on the target order and target station. Specifically, the travel cost can be determined based on information such as total mileage and total travel time.
[0153] Based on the travel cost corresponding to each possible combination relationship, the optimal combination relationship is selected. The target order and target station corresponding to the optimal combination relationship are then determined as the optimal order and optimal station.
[0154] Step S260: Execute the group buying process.
[0155] In this embodiment, the group-buying process is executed according to the optimal group-buying relationship. For example, the server assigns passengers in the optimal group-buying relationship to drivers to complete the group-buying; or, the server sends push notifications to passengers and drivers according to the passengers and drivers in the optimal group-buying relationship, and completes the group-buying after waiting for confirmation from the driver and passengers.
[0156] Furthermore, after the group purchase is completed, a pick-up and drop-off route is generated based on the optimal order and optimal station and sent to passengers and drivers.
[0157] This invention uses the driver's starting point, the set of passenger pick-up points, the set of passenger drop-off points, and the driver's destination as driving nodes. Based on these driving nodes, a candidate order and corresponding directed graph are determined. Then, the target order and target station are determined based on the directed graphs of each candidate order. Therefore, considering the variability of passenger pick-up and drop-off points, an optimal pick-up / drop-off order and stations are obtained, reducing travel time and mileage, and improving service efficiency and quality.
[0158] In some embodiments, after obtaining the target order and target stations, subsequent processing can be performed based on the target order and target stations, such as generating and sending a planned route based on the target order and target stations. Specifically, in the route planning stage, a planned route is generated based on the target order and target stations and sent to passengers and drivers.
[0159] Figure 11 This is a schematic diagram of a data processing apparatus according to an embodiment of the present invention. Figure 11 As shown, the data processing apparatus of this embodiment includes a node determination unit 111, a candidate order determination unit 112, a directed graph determination unit 113, and a result acquisition unit 114. The node determination unit 111 is used to determine the driving nodes of the target driver, wherein the driving nodes include the driver's starting point, a set of at least one set of pick-up points for target passengers, a set of at least one set of drop-off points for target passengers, and the driver's destination. The candidate order determination unit 112 is used to determine at least one candidate order based on the driving nodes, wherein the candidate order is a sorting of the driving nodes. The directed graph determination unit 113 is used to determine the directed graph corresponding to each candidate order. The result acquisition unit 114 is used to determine the target order and target station based on the directed graphs of the candidate orders.
[0160] In some embodiments, the node determination unit includes:
[0161] The first determining subunit is used to determine the target driver and at least one target passenger;
[0162] The second determining subunit is used to determine the driver's starting point and driver's ending point for the target driver;
[0163] The third determining subunit is used to determine the set of boarding points and the set of alighting points for the target passengers.
[0164] In some embodiments, the first determining subunit is configured to:
[0165] In response to the triggering event, the target driver and target passenger are identified;
[0166] The triggering events include at least one of the following: adding passengers to the group-buying queue, canceling orders by passengers who have already joined the group-buying queue, deviation from the route, and abnormal road conditions.
[0167] In some embodiments, the third determining subunit includes:
[0168] The boarding point set determination module is used to generate the boarding point set based on the departure point of the target passenger, wherein the boarding point set includes at least one candidate boarding point;
[0169] The drop-off point set determination module is used to generate the drop-off point set based on the destination of the target passenger, wherein the drop-off point set includes at least one candidate drop-off point.
[0170] In some embodiments, the candidate order satisfies the following conditions:
[0171] The driver's starting point is the first travel node;
[0172] The driver's destination is the last travel point;
[0173] The boarding points of the same passenger are grouped before the alighting points.
[0174] In some embodiments, the edge weights of the directed graph are road mileage and / or estimated travel time.
[0175] In some embodiments, the result acquisition unit includes:
[0176] The target path determination subunit is used to determine the target path corresponding to each candidate order based on the directed graph corresponding to each candidate order;
[0177] The target result subunit is used to determine the target order and target stations based on the target path.
[0178] In some embodiments, the target path determination subunit includes:
[0179] The candidate path determination module is used to determine the candidate path corresponding to each subsequent order based on the directed graph corresponding to each candidate order.
[0180] The target path determination module is used to determine the optimal candidate path as the target path.
[0181] In some embodiments, the target result subunit includes:
[0182] The target order determination module is used to determine the candidate order corresponding to the target path as the target order;
[0183] The target site determination module is used to determine the candidate sites corresponding to the target path as the target site.
[0184] In some embodiments, the apparatus further includes:
[0185] The route planning unit is used to generate and send a planned route based on the target order and target stations.
[0186] In some embodiments, the method further includes:
[0187] The carpooling plan generation unit is used to generate and execute carpooling plans based on the target order and target stations.
[0188] This invention uses the driver's starting point, the set of passenger pick-up points, the set of passenger drop-off points, and the driver's destination as driving nodes. Based on these driving nodes, a candidate order and corresponding directed graph are determined. Then, the target order and target station are determined based on the directed graphs of each candidate order. Therefore, considering the variability of passenger pick-up and drop-off points, an optimal pick-up / drop-off order and stations are obtained, reducing travel time and mileage, and improving service efficiency and quality.
[0189] Figure 12 This is a schematic diagram of an electronic device according to an embodiment of the present invention. (For example...) Figure 12 As shown, Figure 12The illustrated electronic device is a general-purpose data processing device, comprising a general-purpose computer hardware architecture, including at least a processor 121 and a memory 122. The processor 121 and memory 122 are connected via a bus 123. The memory 122 is adapted to store instructions or programs executable by the processor 121. The processor 121 can be a standalone microprocessor or a collection of one or more microprocessors. Thus, the processor 121 executes the instructions stored in the memory 122, thereby performing the method flow of the embodiments of the present invention as described above to process data and control other devices. The bus 123 connects the aforementioned components together, and also connects these components to a display controller 124, a display device, and an input / output (I / O) device 125. The input / output (I / O) device 125 can be a mouse, keyboard, modem, network interface, touch input device, motion-sensing input device, printer, and other devices known in the art. Typically, the input / output device 125 is connected to the system via an input / output (I / O) controller 126.
[0190] Those skilled in the art will understand that embodiments of this application can be provided as methods, apparatus (devices), or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0191] This application is described with reference to flowchart illustrations of methods, apparatus (devices), and computer program products according to embodiments of this application. It should be understood that each step in the flowchart can be implemented by computer program instructions.
[0192] These computer program instructions may be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including an instruction means, the implementation process of which is described in the instruction means. Figure 1 The function specified in one or more processes.
[0193] These computer program instructions may also be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing device, produce instructions for implementing processes. Figure 1 A device for a function specified in one or more processes.
[0194] Another embodiment of the present invention relates to a non-volatile storage medium for storing a computer-readable program for use by a computer to execute some or all of the above-described method embodiments.
[0195] That is, those skilled in the art will understand that all or part of the steps in the methods of the above embodiments can be implemented by a program specifying the relevant hardware. This program is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0196] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A data processing method, characterized in that, The method includes: In response to a triggering event, a target driver and a target passenger are identified, said triggering event including at least one of the following: adding a passenger to a shared ride, a passenger canceling a shared ride, deviation from the route, and abnormal road conditions; The driving nodes are determined based on the target driver and target passengers. The driving nodes include the driver's starting point, a set of pick-up points for each target passenger, a set of drop-off points for each target passenger, and the driver's destination. Each target passenger corresponds to a set of pick-up points and a set of drop-off points. The set of pick-up points and drop-off points are different for each target passenger. The set of pick-up points is generated based on the departure point of the target passenger and includes multiple candidate pick-up points. The set of drop-off points is generated based on the destination of the target passenger and includes multiple candidate drop-off points. At least one candidate order is determined based on the driving nodes, wherein the candidate order is the sorting of the driving nodes, and the candidate order satisfies the following conditions: the driver's starting point is the first driving node, the driver's ending point is the last driving node, and the set of boarding points for the same passenger is located before the set of alighting points. A directed graph corresponding to each candidate order is determined. In the directed graph, there are directed edges between every two adjacent driving nodes, and between all stations of the previous driving node and all stations of the next driving node. The weight of the edge is the road mileage and / or estimated travel time between the corresponding stations. The target order and target station are determined based on the directed graph of each candidate order, wherein the target station is the candidate boarding point in the set of boarding points of the target passenger and the candidate alighting point in the set of alighting points. Specifically, determining the target order and target station based on the directed graph of each candidate order involves: based on the directed graph of each candidate order, calculating the sum of edge weights for each driving path and selecting the driving path with the smallest sum of edge weights to determine the target order and target station.
2. The method according to claim 1, characterized in that, The determination of the target order and target site based on the directed graph of each candidate order includes: The target path corresponding to each candidate order is determined based on the directed graph corresponding to each candidate order; The target order and target stations are determined based on the target path.
3. The method according to claim 2, characterized in that, The step of determining the target path corresponding to each subsequent order based on the directed graph corresponding to each candidate order includes: Based on the directed graph corresponding to each candidate order, determine the candidate path corresponding to each subsequent order; The optimal candidate path is determined as the target path.
4. The method according to claim 2, characterized in that, Determining the target order and target stations based on the target path includes: The candidate order corresponding to the target path is determined as the target order; The candidate sites corresponding to the target path are determined as the target sites.
5. The method according to claim 1, characterized in that, The method further includes: A planned path is generated and sent based on the target order and target sites.
6. The method according to claim 1, characterized in that, The method further includes: A carpooling plan is generated and executed based on the target order and target stations.
7. A data processing apparatus, characterized in that, The device includes: The trigger event acquisition unit is used to determine the target driver and the target passenger in response to a trigger event, wherein the trigger event includes at least one of the following: adding a passenger to the group-buying service, a passenger canceling a group-buying service, deviation from the route, and abnormal road conditions. A node determination unit is used to determine driving nodes based on the target driver and target passengers. The driving nodes include the driver's starting point, a set of pick-up points for each target passenger, a set of drop-off points for each target passenger, and the driver's destination. Each target passenger corresponds to one set of pick-up points and one set of drop-off points. The set of pick-up points and drop-off points are different for each target passenger. The set of pick-up points is generated based on the departure point of the target passenger and includes multiple candidate pick-up points. The set of drop-off points is generated based on the destination of the target passenger and includes multiple candidate drop-off points. A candidate order determination unit is used to determine at least one candidate order based on the driving nodes, wherein the candidate order is the sorting of the driving nodes, and the candidate order satisfies the following conditions: the driver's starting point is the first driving node, the driver's ending point is the last driving node, and the set of boarding points for the same passenger is located before the set of alighting points. A directed graph determination unit is used to determine the directed graph corresponding to each candidate order. In the directed graph, there are directed edges between every two adjacent driving nodes and between all stations of the previous driving node and all stations of the next driving node. The weight of the edge is the road mileage and / or estimated travel time between the corresponding stations. The result acquisition unit is used to determine the target order and target station based on the directed graph of each candidate order, wherein the target station is the candidate boarding point in the set of boarding points of the target passenger and the candidate alighting point in the set of alighting points. Specifically, the result acquisition unit is used to determine the target order and target station by calculating the sum of edge weights of each driving path and selecting the driving path with the smallest sum of edge weights based on the directed graph of each candidate order.
8. An electronic device comprising a memory and a processor, characterized in that, The memory is used to store one or more computer program instructions, wherein the one or more computer program instructions are executed by the processor to implement the method as described in any one of claims 1-6.
9. A computer program product, the computer program product comprising a computer program, characterized in that, When the computer program is run on a computer, the computer performs the method according to any one of claims 1-6.
10. A computer-readable storage medium storing computer program instructions thereon, characterized in that, The computer program instructions, when executed by a processor, implement the method as described in any one of claims 1-6.
Citation Information
Patent Citations
Car sharing route providing method, client side, server and car sharing system
CN107682419A
Smart carpool matching method
CN108416480A