Privacy-protected carpooling passenger matching method, device, equipment and storage medium
By initializing map information in online ride-hailing services, setting anchor points and calculating the shortest driving distance, combining filtering algorithms and obfuscating circuit technology, precise passenger matching under privacy protection is achieved, and the solution is to take into account both privacy protection and efficiency in the existing technology. Problem, improving the efficiency of carpooling.
Patent Information
- Application Number
- CN202111482116.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-06
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2041-12-06
AI Technical Summary
Existing online ride-hailing and ride-sharing services are difficult to achieve accurate passenger and driver itinerary matching while protecting user privacy, resulting in waste of resources and inefficiency.
By initializing map information, setting anchor points and calculating the shortest driving distance, obtaining the coarse-grained position of the passenger, analyzing the driver's order situation, using filtering algorithms and obfuscating circuit technology to obtain the shortest driving route, and achieving privacy-protected passenger matching.
On the premise of protecting user privacy, the shortest detour matching is accurately achieved, which improves the efficiency of carpooling and user experience, and reduces resource waste.
Smart Images

Figure CN114118618B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of online car-hailing, and in particular to a passenger matching method, apparatus, device and storage medium for privacy-protected carpooling. Background Art
[0002] In recent years, with the development of mobile communications and the sharing economy, online car-hailing services have rapidly emerged and become a popular way of travel. Online car-hailing platforms can quickly match passengers and drivers in real time based on the location information submitted by them, allowing passengers to make reservations with drivers in advance according to their needs, improving travel efficiency, and drivers can also use vehicle resources to register as online car-hailing drivers to earn income. However, as a location-based service, the protection of user location privacy is often overlooked. The leakage of location may expose the user's itinerary, identity and other information, causing many serious consequences. With the advent of the big data era, user data has exploded. Platforms can use big data to better improve user experience, but when providing services, they should first ensure user data security and protect user privacy from being leaked to third-party entities. However, incidents of third-party data hosting platforms leaking user sensitive data still occur from time to time. Therefore, the power of supervision alone is limited. Technology is needed to ensure that third parties cannot directly access user sensitive information and protect user privacy from malicious use from the source of the data; secondly, it is necessary to maximize platform efficiency and user experience on the basis of protecting user privacy. At present, there are few solutions that can take into account both user privacy and platform efficiency.
[0003] In the current carpooling process, the itinerary matching between drivers and passengers is not accurate enough, which often causes passengers who use carpooling to waste a lot of time. Drivers also often take detours during the carpooling process. Therefore, how to accurately match the itineraries of passengers and drivers has become a technical problem that needs to be solved urgently.
[0004] The above contents are only used to assist in understanding the technical solution of the present invention and do not constitute an admission that the above contents are prior art. Summary of the invention
[0005] The main purpose of the present invention is to provide a privacy-protected carpooling passenger matching method, device, equipment and storage medium, aiming to solve the technical problem that the existing technology cannot solve the problem of accurately achieving the shortest detour matching under the premise of protecting user privacy.
[0006] To achieve the above object, the present invention provides a method for matching passengers in a privacy-protected carpool, the method comprising:
[0007] Initializing map information, setting anchor points in the map information, and calculating the shortest driving distance between all anchor points as an initialization result;
[0008] Get the passenger information that sends the carpooling request, and obtain the coarse-grained location of the passenger's departure and destination based on the initialization result;
[0009] After receiving the carpooling acceptance information sent by the driver, analyzing whether there is an ongoing passenger order in the carpooling acceptance information;
[0010] If not, obtaining a first passenger set according to a filtering algorithm and the coarse-grained positions;
[0011] If yes, then obtain the existing trips of the driver, and use the filtering algorithm when there are existing passengers and the coarse-grained position to obtain the second passenger set;
[0012] The location information in the carpooling acceptance information of the driver and the first passenger set or the second passenger set are traversed to obtain the shortest driving route.
[0013] Optionally, the step of initializing the map information, setting anchor points in the map information, and calculating the shortest driving distance between all anchor points as the initialization result includes:
[0014] Acquire current map information, and divide the map information into a preset number of regions according to the principle of equal division;
[0015] Anchor points are set in each region, and the anchor point setting principle takes into account the number of adjacent edges and the distance to the center of the region;
[0016] Calculate the shortest driving distance between each anchor point and use the calculation result as the initialization result.
[0017] Optionally, the step of obtaining information of a passenger who sends a carpooling request and obtaining a coarse-grained location of a passenger's departure point and destination according to an initialization result includes:
[0018] Get the passenger information of the carpooling request and calculate the travel time t of the passenger to the anchor point based on the passenger information s →AP(s) and t d →AP(d), where s and d are his departure and destination respectively;
[0019] The current area location of the passenger in the map information is determined according to the departure place and the destination, and the area is used as the coarse-grained location corresponding to the passenger.
[0020] Optionally, if not, the step of obtaining the first passenger set according to the filtering algorithm and the coarse-grained position includes:
[0021] If there is no ongoing passenger order in the carpooling information currently accepted by the driver, the filtering range is retrieved and the passengers who send the carpooling request are screened according to the filtering range and the coarse-grained position corresponding to the driver to obtain a first passenger set.
[0022] Optionally, if yes, the step of obtaining the existing trips of the driver and obtaining the second passenger set by using the filtering algorithm when there are existing passengers and the coarse-grained position includes:
[0023] If there is an ongoing passenger order in the carpooling information currently accepted by the driver, obtain the driving route in the ongoing passenger order;
[0024] The filtering range is retrieved, the driving route is converted into a coarse-grained driving route, and a second passenger set is obtained according to the filtering range and the coarse-grained driving route.
[0025] Optionally, before the step of traversing the first passenger set or the second passenger set according to the location information in the received carpooling information of the driver to obtain the shortest driving route, the step further includes:
[0026] The passenger with the longest journey in the first passenger set and / or the second passenger set is taken as a root passenger, and other passengers in the same set are matched with the root passenger by path;
[0027] When the direction and the preset deviation both satisfy the root passenger's itinerary, the set to which the current root passenger belongs is updated.
[0028] Optionally, the step of obtaining a passenger with the longest journey in the first passenger set and / or the second passenger set as a root passenger, and performing path matching between other passengers in the same set and the root passenger includes:
[0029] Obtaining a passenger with the longest journey from the first passenger set and / or the second passenger set as a root passenger;
[0030] Obtaining the permitted time of all passengers in the first passenger set and / or the second passenger set;
[0031] Other passengers in the same group are path matched with the root passenger according to the allowable time and the garbled circuit technique.
[0032] In addition, to achieve the above-mentioned purpose, the present invention also proposes a privacy-protected carpooling passenger matching device, the device comprising:
[0033] An initialization module, used to initialize map information, set anchor points in the map information, and calculate the shortest driving distance between all anchor points as an initialization result;
[0034] The passenger acquisition module is used to obtain the passenger information that sends the carpooling request and obtain the coarse-grained location of the passenger's departure and destination based on the initialization result;
[0035] An information judgment module is used to analyze whether there is an ongoing passenger order in the carpooling acceptance information after receiving the carpooling acceptance information sent by the driver;
[0036] A first set module, for obtaining a first passenger set according to a filtering algorithm and the coarse-grained position if no;
[0037] A second set module is used for obtaining the existing trips of the driver and obtaining a second passenger set by using the filtering algorithm when there are existing passengers and the coarse-grained position;
[0038] The carpool matching module is used to traverse the location information in the carpool acceptance information of the driver and the first passenger set or the second passenger set to obtain the shortest driving route.
[0039] In addition, to achieve the above-mentioned purpose, the present invention also proposes a computer device, which includes: a memory, a processor, and a passenger matching program for privacy-preserving carpooling stored in the memory and executable on the processor, wherein the passenger matching program for privacy-preserving carpooling is configured to implement the passenger matching method for privacy-preserving carpooling as described above.
[0040] In addition, to achieve the above-mentioned purpose, the present invention also proposes a storage medium, on which a passenger matching program for privacy-preserving carpooling is stored. When the passenger matching program for privacy-preserving carpooling is executed by a processor, the steps of the passenger matching method for privacy-preserving carpooling as described above are implemented.
[0041] The present invention initializes map information, sets anchor points in the map information, calculates the shortest driving distance between all anchor points as the initialization result; obtains the passenger information of the carpooling request, and obtains the coarse-grained position of the passenger's departure place and destination according to the initialization result; after receiving the carpooling acceptance information sent by the driver, analyzes whether there is an ongoing passenger order in the carpooling acceptance information; if not, obtains a first passenger set according to a filtering algorithm and the coarse-grained position; if so, obtains the driver's existing itinerary, and obtains a second passenger set using the filtering algorithm when there are existing passengers and the coarse-grained position; traverses the position information in the driver's carpooling acceptance information and the first passenger set or the second passenger set to obtain the shortest driving route, thereby achieving a technical effect of accurately realizing the shortest detour match under the premise of protecting user privacy. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1It is a structural schematic diagram of a passenger matching device for privacy-protected carpooling in a hardware operating environment involved in an embodiment of the present invention;
[0043] Figure 2 It is a flow chart of a first embodiment of a passenger matching method for privacy-protected carpooling according to the present invention;
[0044] Figure 3 This is a workflow diagram of the execution subject in the first embodiment of the privacy protection carpooling passenger matching method of the present invention when working;
[0045] Figure 4 It is an algorithm for screening and filtering passengers in the first embodiment of the privacy protection carpooling passenger matching method of the present invention;
[0046] Figure 5 The first embodiment of the privacy protection carpooling passenger matching method of the present invention is a filtering algorithm for matching passengers when the driver already has passengers;
[0047] Figure 6 The first embodiment of the privacy protection carpooling passenger matching method of the present invention is a passenger combination selection algorithm
[0048] Figure 7 It is a legal path under the passenger combination of the first embodiment of the privacy protection carpooling passenger matching method of the present invention;
[0049] Figure 8 It is a time comparison circuit TC of the first embodiment of the privacy protection carpooling passenger matching method of the present invention;
[0050] Fig. 9 It is a SCMP circuit of a first embodiment of a passenger matching method for privacy-protected carpooling according to the present invention;
[0051] Fig.10 The first embodiment of the method for matching passengers in a privacy-protected carpooling system of the present invention is path planning C. pp . DETAILED DESCRIPTION
[0052] It should be understood that the specific embodiments described herein are only used to explain the present invention, and are not used to limit the present invention.
[0053] Reference Figure 1 , Figure 1 This is a schematic diagram of the structure of a passenger matching device for privacy-protected carpooling in the hardware operating environment involved in an embodiment of the present invention.
[0054] like Figure 1As shown, the passenger matching device for privacy-protected carpooling may include: a processor 1001, such as a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. Among them, the communication bus 1002 is used to realize the connection and communication between these components. The user interface 1003 may include a display screen (Display), an input unit such as a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a wireless fidelity (Wireless-Fidelity, WI-FI) interface). The memory 1005 may be a high-speed random access memory (Random Access Memory, RAM) memory, or a stable non-volatile memory (Non-Volatile Memory, NVM), such as a disk memory. The memory 1005 may also be a storage device independent of the aforementioned processor 1001.
[0055] Those skilled in the art will understand that Figure 1 The structure shown in the figure does not constitute a limitation on the passenger matching device for privacy protection carpooling, and may include more or less components than shown in the figure, or combine certain components, or arrange the components differently.
[0056] like Figure 1 As shown, the memory 1005 as a storage medium may include an operating system, a data storage module, a network communication module, a user interface module, and a privacy-protected carpooling passenger matching program.
[0057] exist Figure 1 In the passenger matching device for privacy-preserving carpooling shown, the network interface 1004 is mainly used for data communication with the network server; the user interface 1003 is mainly used for data interaction with the user; the processor 1001 and the memory 1005 in the passenger matching device for privacy-preserving carpooling of the present invention can be set in the passenger matching device for privacy-preserving carpooling, and the passenger matching device for privacy-preserving carpooling calls the passenger matching program for privacy-preserving carpooling stored in the memory 1005 through the processor 1001, and executes the passenger matching method for privacy-preserving carpooling provided in the embodiment of the present invention.
[0058] The embodiment of the present invention provides a privacy protection carpooling passenger matching method, referring to Figure 2 , Figure 2 This is a flow chart of a first embodiment of a method for matching passengers for privacy-preserving carpooling according to the present invention. In this embodiment, the method for matching passengers for privacy-preserving carpooling includes the following steps:
[0059] Step S10: Initialize map information, set anchor points in the map information, and calculate the shortest driving distance between all anchor points as the initialization result.
[0060] Furthermore, the step of initializing the map information, setting anchor points in the map information, and calculating the shortest driving distance between all anchor points as the initialization result includes: obtaining the current map information, dividing the map information into a preset number of areas according to the principle of equal division; setting anchor points in each area, wherein the anchor point setting principle takes into account the number of adjacent edges thereof and the distance to the center of the area; and calculating the shortest driving distance between each anchor point, and using the calculation result as the initialization result.
[0061] In the specific implementation, the execution subject of this embodiment is the carpooling service platform and the password server. The workflow of the execution subject of this embodiment when working is as follows: Figure 3 As shown in Figure 1, the system consists of four entities: drivers, passengers, ORH servers, and crypto servers. In the following, we use RS to represent the ORH server and CS to represent the crypto server. When drivers are idle or under capacity, they can submit their current status to RS to match new passengers for carpooling. When passengers need to carpool, they will also want to initiate a carpooling request to RS. Based on the received driver status and passenger request, RS will find a passenger combination with the smallest ATT for the driver.
[0062] It is understandable that the system needs to be initialized. First, the server divides the map into multiple areas of equal size, divides the anchor points of each area, and pre-calculates the shortest driving distance between all anchor points. Then CS generates a (pk, sk) public-private key pair and broadcasts the public key pk to other parties, including RS and users.
[0063] Step S20: Obtain information of the passenger who sends the carpooling request, and obtain the coarse-grained location of the passenger's departure place and destination according to the initialization result.
[0064] Furthermore, the step of obtaining the passenger information of the carpooling request and obtaining the coarse-grained location of the passenger's departure point and destination according to the initialization result includes: obtaining the passenger information of the carpooling request and calculating the travel time t of the passenger to the anchor point according to the passenger information. s →AP(s) and t d →AP(d), where s and d are his departure place and destination respectively; determine the current area of the passenger in the map information according to the departure place and destination, and use the area as the coarse-grained position corresponding to the passenger.
[0065] Step S30: After receiving the carpooling acceptance information sent by the driver, analyze whether there is an ongoing passenger order in the carpooling acceptance information.
[0066] Step S40: If not, obtaining a first passenger set according to a filtering algorithm and the coarse-grained positions.
[0067] In the specific implementation, Figure 4 As shown, Figure 4 RS uses the coarse-grained locations (i.e., the areas where the passengers are located) of their departure and destination to screen and filter passengers.
[0068] Furthermore, if not, the step of obtaining the first passenger set according to the filtering algorithm and the coarse-grained position includes: if there is no ongoing passenger order in the carpooling information currently accepted by the driver, calling the filtering range and screening the passengers who sent the carpooling request according to the filtering range and the coarse-grained position corresponding to the driver to obtain the first passenger set.
[0069] Step S50: If yes, then obtain the existing trips of the driver, and use the filtering algorithm when there are existing passengers and the coarse-grained position to obtain the second passenger set.
[0070] In a specific implementation, as shown in 5, Figure 5 A filtering algorithm for matching passengers when the driver already has a passenger.
[0071] Furthermore, if so, the driver's existing itinerary is obtained, and the step of obtaining the second passenger set by using the filtering algorithm when there are existing passengers and the coarse-grained position includes: if there is an ongoing passenger order in the carpooling information currently accepted by the driver, obtaining the driving route in the ongoing passenger order; calling the filtering range, generating a coarse-grained driving route from the driving route, and obtaining the second passenger set based on the filtering range and the coarse-grained driving route.
[0072] Step S60: Traverse the location information in the carpooling acceptance information of the driver and the first passenger set or the second passenger set to obtain the shortest driving route.
[0073] In the specific implementation, Figure 6 The algorithm shown, RS is for each passenger combination C j Calculated And package it up RS then performs the same blinding operation as before, generating CN random integers [a1, a2, ...a CN ], and then calculate the blinded ciphertext Then CS and RS jointly execute the RCS algorithm to select the best passenger combination. Finally, RS calculates the matching result and establishes a secure communication channel between the driver and the passenger to further communicate the details of the ride.
[0074] Furthermore, before the step of traversing the first passenger set or the second passenger set according to the location information in the received carpooling information of the driver to obtain the shortest driving route, it also includes: obtaining the passenger with the longest journey in the first passenger set and / or the second passenger set as the root passenger, and matching the paths of other passengers in the same set with the root passenger; when the direction and the preset deviation both meet the journey of the root passenger, updating the set where the current root passenger is located.
[0075] Furthermore, the step of obtaining the passenger with the longest journey in the first passenger set and / or the second passenger set as a root passenger, and performing path matching between other passengers in the same set and the root passenger, comprises: obtaining the passenger with the longest journey in the first passenger set and / or the second passenger set as the root passenger; obtaining the allowable time of all passengers in the first passenger set and / or the second passenger set; and performing path matching between other passengers in the same set and the root passenger based on the allowable time and the obfuscation circuit technology.
[0076] It should be noted that the garbled circuit technology was first proposed by Yao and used to solve the millionaire's problem. Later, due to its low operating efficiency, some optimized versions were proposed and applied. The garbled circuit proposed by Huang et al. used in this embodiment is a protocol designed for secure two-party computing under a semi-honest adversary model, which allows the two parties to safely execute any polynomial function and prevents the two parties from obtaining any other information except the function execution result. The design principle of the garbled circuit is to provide a circuit calculation method in which all circuit results inside the circuit are hidden except for the output circuit. Assume that Alice (circuit generator) and Bob (circuit executor) are two mutually untrusted entities. They need to jointly calculate a function F(x, y) without exposing their own outputs, where x∈{0, 1} n is Bob’s output, y∈{0,1} n is Alice’s output. They need to execute the garbled circuit protocol as follows:
[0077] First, Alice constructs a Boolean circuit C for function F, which accepts x=x1…x n and y = y1…y n As input, and output the result C(x, y). Let w1,…,w 2nAs the label of the circuit in circuit C. For each label w i , Alice chooses two independent keywords and Represent 0 and 1 respectively. For each input line (w i , w j ), the output circuit is w l Alice constructs a truth table for the obfuscated binary gate g∈C by calculating the outputs in four different cases and randomly shuffling the results:
[0078]
[0079] in It is a CPA-secure encryption system. G(C) is the obfuscated circuit representation of C, which contains the obfuscated truth table of each gate. Alice then sends the obfuscated circuit G(C) to Bob.
[0080] Let w1,…,w n and w n+1 ,…,w 2n represents the input lines of the circuit inputs x and y respectively. Alice sends the string Send to Bob. For 1≤i≤n, Alice and Bob jointly execute a 1-out-2 oblivious transfer (OT) protocol, where Alice's input is Bob's input is y i Through the OT protocol, Bob can Obtained under the premise At the same time, Alice cannot get Bob’s input y i .
[0081] At this point, Bob has obtained the garbled circuit and the 2n keywords corresponding to the 2n input lines in C. For each binary gate g∈C, Bob uses the corresponding keyword as input to decrypt and obtain the final output G(g), but Bob cannot know the output results of other internal gates. Bob uses the obtained 2n keywords as input to locally calculate the output keyword of each gate and finally obtain C(x, y).
[0082] In the specific implementation, RS and CS jointly perform matching calculations in two stages. In the first stage, RS and CS jointly calculate the shortest path for each passenger combination. Figure 7 As shown, each passenger combination contains v passengers, and RS usually chooses v = CAP d -OBR d If there is no CAP that meets the requirementsd -OBR d For a passenger combination C with v passengers, RS will try to find a combination with fewer passengers. After that, a comparison phase is used to find the passenger combination with the smallest ATT and the corresponding optimal path: For a passenger combination C with v passengers, RS will find the shortest path as follows:
[0083] For any passenger r in C i , i∈[1,v], all the position points As nodes in the graph, the shortest travel time between two points is the corresponding edge length Therefore, the path planning problem discussed here is how to find the shortest path through all nodes under ciphertext. Below we give the definition of path:
[0084] Given a passenger combination C, the carpooling route It can be regarded as a vector containing multiple nodes. The path represents the order of picking up and dropping off passengers. Each node contains a location information V i and a time limit An effective path It should contain all nodes in the graph, and satisfy the following restrictions:
[0085]
[0086]
[0087]
[0088] To find the shortest path, RS needs to compare the total travel time of all eligible paths. Figure 7 As shown, for all paths that meet the conditions, RS checks and selects the paths that will not exceed the time limit of any node. To this end, RS calculates the length of all edges in the graph under the ciphertext according to the formula and obtains Then RS for each path calculate:
[0089]
[0090] in, Represents the arrival node v i time consumption.
[0091] Each path RS must first compare whether the time to reach each node in the path exceeds its time limit. Assume T1, T2, ...T 2v are all p-bit integers. RS randomly selects 2v (k-1)-bit positive integers And do the following:
[0092]
[0093]
[0094] RS first and a1, a2, …a 2v According to the packaging, and then perform blinding operation, Add a random integer to each item in Similarly, for the time limit of each node, RS also randomly generates an integer And perform blind operation.
[0095] Then RS will and Sent to CS, they jointly perform the comparison function. and After that, CS first decrypts the ciphertext and unpacks the packed data. RS Holding and CS holds and them Figure 8 A common execution circuit TC, wherein the SCMP circuit included in the TC circuit is as follows Fig. 9 The circuit compares the arrival time of each node with the time limit. Only when the arrival time of all nodes is within the time limit, the circuit will output the total travel time of the path. Otherwise, the circuit will output a sufficiently large integer {1} p .
[0096] Finally, for all feasible paths, RS and CS jointly perform Fig.10 Circuit C pp To select the route with the shortest total travel time.
[0097] This embodiment initializes map information, sets anchor points in the map information, calculates the shortest driving distance between all anchor points as the initialization result; obtains the passenger information that sends the carpooling request, and obtains the coarse-grained position of the passenger's departure place and destination according to the initialization result; after receiving the carpooling acceptance information sent by the driver, analyzes whether there is an ongoing passenger order in the carpooling acceptance information; if not, obtains the first passenger set according to the filtering algorithm and the coarse-grained position; if so, obtains the driver's existing itinerary, and obtains the second passenger set using the filtering algorithm when there are existing passengers and the coarse-grained position; traverses the location information in the driver's carpooling acceptance information and the first passenger set or the second passenger set to obtain the shortest driving route, thereby achieving the technical effect of accurately realizing the shortest detour match under the premise of protecting user privacy.
[0098] In addition, an embodiment of the present invention further proposes a storage medium, on which a passenger matching program for privacy-preserving carpooling is stored. When the passenger matching program for privacy-preserving carpooling is executed by a processor, the steps of the passenger matching method for privacy-preserving carpooling as described above are implemented.
[0099] Other embodiments or specific implementations of the passenger matching device for privacy-protected carpooling of the present invention may refer to the above-mentioned method embodiments, which will not be described in detail here.
[0100] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or system including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or system. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or system including the element.
[0101] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0102] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a semi-finished software product, which is stored in a storage medium (such as a read-only memory / random access memory, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present invention.
[0103] The above are only preferred embodiments of the present invention, and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made using the contents of the present invention specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.
Claims
1. A privacy-preserving carpooling passenger matching method, characterized in that: The method comprises: Initializing map information, setting anchor points in the map information, and calculating the shortest driving distance between all anchor points as an initialization result; Get the passenger information that sends the carpooling request, and obtain the coarse-grained location of the passenger's departure and destination based on the initialization result; After receiving the carpooling acceptance information sent by the driver, analyzing whether there is an ongoing passenger order in the carpooling acceptance information; If not, obtaining a first passenger set according to a filtering algorithm and the coarse-grained positions; If yes, then obtain the existing trips of the driver, and use the filtering algorithm when there are existing passengers and the coarse-grained position to obtain the second passenger set; The location information in the carpooling acceptance information of the driver and the first passenger set or the second passenger set are traversed to obtain the shortest driving route.
2. The method according to claim 1, characterized in that The step of initializing the map information, setting anchor points in the map information, and calculating the shortest driving distance between all anchor points as the initialization result includes: Acquire current map information, and divide the map information into a preset number of regions according to the principle of equal division; Anchor points are set in each region, and the anchor point setting principle takes into account the number of adjacent edges and the distance to the center of the region; Calculate the shortest driving distance between each anchor point and use the calculation result as the initialization result.
3. The method according to claim 1, characterized in that The step of obtaining the passenger information of the carpooling request and obtaining the coarse-grained location of the passenger's departure place and destination according to the initialization result includes: Get the passenger information of the carpooling request and calculate the travel time t of the passenger to the anchor point based on the passenger information s→AP(s) and t d→AP(d) , where s and d are his departure and destination respectively; The current area location of the passenger in the map information is determined according to the departure place and the destination, and the area is used as the coarse-grained location corresponding to the passenger.
4. The method according to claim 1, characterized in that If not, the step of obtaining the first passenger set according to the filtering algorithm and the coarse-grained position comprises: If there is no ongoing passenger order in the carpooling information currently accepted by the driver, the filtering range is retrieved and the passengers who send the carpooling request are screened according to the filtering range and the coarse-grained position corresponding to the driver to obtain a first passenger set.
5. The method according to claim 1, characterized in that If so, the step of obtaining the existing itinerary of the driver and obtaining the second passenger set by using the filtering algorithm when there are existing passengers and the coarse-grained position includes: If there is an ongoing passenger order in the carpooling information currently accepted by the driver, obtain the driving route in the ongoing passenger order; The filtering range is retrieved, the driving route is converted into a coarse-grained driving route, and a second passenger set is obtained according to the filtering range and the coarse-grained driving route.
6. The method according to claim 1, characterized in that Before the step of traversing the first passenger set or the second passenger set according to the location information in the received carpooling information of the driver to obtain the shortest driving route, the method further includes: The passenger with the longest journey in the first passenger set and / or the second passenger set is taken as a root passenger, and other passengers in the same set are matched with the root passenger by path; When the direction and the preset deviation both satisfy the root passenger's itinerary, the set to which the current root passenger belongs is updated.
7. The method according to claim 6, characterized in that The step of obtaining the passenger with the longest journey in the first passenger set and / or the second passenger set as a root passenger, and performing path matching between other passengers in the same set and the root passenger comprises: Obtaining a passenger with the longest journey from the first passenger set and / or the second passenger set as a root passenger; Obtaining the permitted time of all passengers in the first passenger set and / or the second passenger set; Other passengers in the same group are path matched with the root passenger according to the allowable time and the garbled circuit technique.
8. A privacy-protected carpooling passenger matching device, characterized in that: The device comprises: An initialization module, used to initialize map information, set anchor points in the map information, and calculate the shortest driving distance between all anchor points as an initialization result; The passenger acquisition module is used to obtain the passenger information that sends the carpooling request and obtain the coarse-grained location of the passenger's departure and destination based on the initialization result; An information judgment module is used to analyze whether there is an ongoing passenger order in the carpooling acceptance information after receiving the carpooling acceptance information sent by the driver; A first set module, for obtaining a first passenger set according to a filtering algorithm and the coarse-grained position if no; A second set module is used for obtaining the existing trips of the driver and obtaining a second passenger set by using the filtering algorithm when there are existing passengers and the coarse-grained position; The carpool matching module is used to traverse the location information in the carpool acceptance information of the driver and the first passenger set or the second passenger set to obtain the shortest driving route.
9. A passenger matching device for privacy-protected carpooling, characterized in that: The device includes: a memory, a processor, and a passenger matching program for privacy-preserving carpooling stored in the memory and executable on the processor, wherein the passenger matching program for privacy-preserving carpooling is configured to implement the steps of the passenger matching method for privacy-preserving carpooling as described in any one of claims 1 to 7.
10. A storage medium, characterized in that: The storage medium stores a passenger matching program for privacy-preserving carpooling, and when the passenger matching program for privacy-preserving carpooling is executed by the processor, the steps of the passenger matching method for privacy-preserving carpooling as claimed in any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Carpooling method and device
CN105225472A
Flight-based car sharing method and system
CN108074050A
