Method and apparatus for recommending a boarding site and electronic device
By employing a multi-party secure ranking algorithm, the system automatically recommends the most likely departure station when user travel data remains within the same domain across different travel channels. This solves the problem of users not recording their departure station due to network anomalies, enabling automated station registration, reducing fare evasion rates, and protecting user privacy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-05-09
- Publication Date
- 2026-04-07
AI Technical Summary
In public transportation systems, there is a problem where users fail to record their exit station due to network anomalies, resulting in fare discrepancies. The current process for adding the exit station relies on manual selection by the user, which poses a risk of fare evasion.
Using a multi-party secure ranking algorithm, when user travel data in different travel channels does not leave the domain, the algorithm automatically recommends the most likely departure station to complete the supplementary registration through ranking and geographic location analysis.
It enables automated recommendation of supplementary registration stations, reducing fare evasion rates, minimizing losses for public transportation operators, and ensuring that user privacy data is not leaked.
Smart Images

Figure CN116720010B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of Internet technology, and in particular to a method, apparatus, and electronic device for recommending bus stop registration points. Background Technology
[0002] With the application of mobile payment in public transportation, users can use their mobile devices to scan QR codes to ride public transport. The public transport company then settles the fare with the payment company. Typically, a user's fare is calculated based on the stations where they scan their QR codes upon entry and exit, determining the route from the origin to the destination.
[0003] However, in certain special circumstances (such as network anomalies), the exit station may not be recorded when exiting the station, resulting in the problem that although the person has exited the station, the fare has not been settled normally.
[0004] When a user swipes their phone to enter the station the next time, they will be prompted to manually register their previous exit station. This process is called subway station registration. Summary of the Invention
[0005] This specification provides an embodiment of a method, apparatus, and electronic device for recommending stops for passengers to make up for lost stops.
[0006] According to a first aspect of the embodiments of this specification, a method for recommending bus stop registration points is provided, the method comprising:
[0007] If the current travel channel detects that the user needs to board the next exit station in response to the user's entry request, it queries the user's previous travel data stored in the current travel channel.
[0008] Based on a multi-party secure sorting algorithm, the user's ride data stored in other ride channels and the user's ride data in the current ride channel are sorted in chronological order. The multi-party secure sorting algorithm is used to determine the sorting result between the user's ride data in the current ride channel and other ride channels when other ride channels do not send the stored user ride data.
[0009] Based on the station names corresponding to each user's travel data in the sorting results, recommend additional stations to the user.
[0010] Optionally, the multi-party secure sorting algorithm, which sorts the user's previous ride data stored in other ride channels and the user's ride data in the current ride channel according to time order, includes:
[0011] The current travel channel is paired with other travel channels in pairs, and the following processing is performed on each pair of travel channels:
[0012] The post-entry event time in the user ride data stored in their respective ride channels is split into two parts;
[0013] Inverse the post-entry event time of any boarding route, which is divided into two parts.
[0014] Swap the post-entry event times for any part of the two boarding routes;
[0015] Sum the post-entry event times after the exchange within each boarding channel, and then sum the sums of the two boarding channel results again;
[0016] If the summation result is negative again, the user travel data of the travel channel with the inverse value will be ranked before the user travel data of the other travel channel.
[0017] If the summation result is positive again, the user travel data of the travel channel with the inverse value will be placed after the user travel data of the other travel channel.
[0018] Optionally, the multi-party secure sorting algorithm, which sorts the user's previous ride data stored in other ride channels and the user's ride data in the current ride channel according to time order, includes:
[0019] The current travel channel is paired with other travel channels in pairs, and the following processing is performed on each pair of travel channels:
[0020] The post-entry event time in the user travel data stored in their respective travel channels is encrypted in order-preserving manner to obtain the ciphertext post-entry event time.
[0021] Based on the magnitude of the post-entry event time of the encrypted data from the two travel channels, the sorting result of user travel data between the two travel channels is determined.
[0022] Optionally, the method further includes:
[0023] Obtain the post-entry event geographic location of each user's travel data in the sorting results;
[0024] The station name corresponding to each user's travel data is determined based on the geographical location of the event after entering the station.
[0025] Optionally, determining the station name corresponding to each user's travel data based on the geographical location of the event after entering the station includes:
[0026] Obtain the names of stations within a preset radius of the geographical location of the event after entry into the station;
[0027] Calculate the distance between the geographical location of the site corresponding to the site name and the geographical location of the inbound event;
[0028] The station name with the smallest distance is determined as the station name corresponding to the user's travel data where the geographical location of the event after entering the station is located.
[0029] Optionally, recommending supplementary registration stations to the user based on the station names corresponding to each user's travel data in the sorting results includes:
[0030] The station name corresponding to the latest user's travel data in the sorting results is determined as the supplementary registration station and recommended to the user.
[0031] Optionally, recommending supplementary registration stations to the user based on the station names corresponding to each user's travel data in the sorting results includes:
[0032] The station names corresponding to a preset number of user travel data with later times in the sorting results are recommended to the user, so that the user can select one of the recommended station names as the supplementary registration station.
[0033] According to a second aspect of the embodiments of this specification, an apparatus for recommending bus stop registration points is provided, the apparatus comprising:
[0034] The response unit, when the current travel channel detects that the user needs to board the next exit station in response to the user's entry request, queries the user's previous travel data stored in the current travel channel.
[0035] The sorting unit, based on a multi-party secure sorting algorithm, sorts the user's previous ride data stored in other ride channels and the user's ride data in the current ride channel according to time order; wherein, the multi-party secure sorting algorithm is used to determine the sorting result between the user's ride data in the current ride channel and other ride channels when other ride channels do not send the stored user ride data.
[0036] The recommendation unit recommends supplementary stations to the user based on the station names corresponding to each user's travel data in the ranking results.
[0037] Optionally, the sorting unit includes:
[0038] The processing subunit combines the current travel channel with other travel channels in pairs. For each pair of travel channels, the following subunit is used for processing:
[0039] The sub-units are split into two parts, which are the post-entry event times stored in the user ride data within their respective ride channels.
[0040] Find the inverse sub-unit: inverse the post-entry event time of any boarding channel, which is divided into two parts.
[0041] The exchange subunit exchanges the post-entry event time for any part of the two boarding channels;
[0042] The summation subunit sums the post-entry event times after the exchange within each boarding channel, and then sums the summation results of the two boarding channels again.
[0043] For the sorting sub-unit, if the summation result is negative again, the user travel data of the travel channel with the inverse value will be placed before the user travel data of the other travel channel; if the summation result is positive again, the user travel data of the travel channel with the inverse value will be placed after the user travel data of the other travel channel.
[0044] Optionally, the sorting unit includes:
[0045] The processing subunit combines the current travel channel with other travel channels in pairs. For each pair of travel channels, the following subunit is used for processing:
[0046] The encryption subunit performs order-preserving encryption on the post-entry event time in the user travel data stored in their respective travel channels to obtain the ciphertext post-entry event time.
[0047] The sorting subunit determines the sorting result between user travel data in the two travel channels based on the magnitude of the post-entry event time of the encrypted data in the two travel channels.
[0048] Optionally, the device further includes:
[0049] The acquisition unit acquires the post-entry event geographic location of each user's travel data in the sorting results;
[0050] The determining unit determines the station name corresponding to each user's travel data based on the geographical location of the event after entering the station.
[0051] Optionally, the determining unit includes:
[0052] The acquisition subunit acquires the names of stations within a preset radius of the geographical location of the event after entering the station;
[0053] The calculation subunit calculates the distance between the geographical location of the site corresponding to the site name and the geographical location of the inbound event;
[0054] The sub-unit is determined by identifying the station name with the smallest distance as the station name corresponding to the user's travel data where the geographical location of the event after entering the station is located.
[0055] Optionally, the recommendation unit includes:
[0056] The station name corresponding to the latest user's travel data in the sorting results is determined as the supplementary registration station and recommended to the user.
[0057] Optionally, the recommendation unit includes:
[0058] The station names corresponding to a preset number of user travel data with later times in the sorting results are recommended to the user, so that the user can select one of the recommended station names as the supplementary registration station.
[0059] According to a third aspect of the embodiments of this specification, an electronic device is provided, comprising:
[0060] processor;
[0061] Memory used to store processor-executable instructions;
[0062] The processor is configured to perform any of the above-mentioned methods for recommending additional boarding stations.
[0063] This specification provides an embodiment of a scheme for recommending stations for passengers to make up for lost travel. Using a multi-party secure ranking algorithm, and assuming that user travel data does not leave the domain across multiple travel channels, the scheme determines the most likely departure station for the user's previous travel based on the user travel data stored within each travel channel. These departure stations are then recommended to the user for them to choose from when making up for lost travel. This not only enables automatic station registration but also eliminates the risk of personal data leakage because user travel data for each travel channel remains within the domain. Attached Figure Description
[0064] Figure 1 This is a flowchart of a method for recommending bus stop registration points provided in one embodiment of this specification;
[0065] Figure 2 This is a schematic diagram of a multi-party secure ordering calculation process provided in one embodiment of this specification;
[0066] Figure 3 This is a schematic diagram showing the user's actual route for their last ride, reconstructed from the user ride data shown in Tables 1-6 provided in this manual.
[0067] Figure 4 This is a schematic diagram of the site login interface on a user terminal provided in one embodiment of this specification;
[0068] Figure 5 This is a hardware structure diagram of a device for recommending boarding stations according to an embodiment of this specification;
[0069] Figure 6This is a schematic diagram of a device for recommending boarding stations according to an embodiment of this specification. Detailed Implementation
[0070] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with this specification. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this specification as detailed in the appended claims.
[0071] The terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to be limiting of this specification. The singular forms “a,” “the,” and “the” as used in this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items. Multiples in this document may refer to two or more cases.
[0072] It should be understood that although the terms first, second, third, etc., may be used in this specification to describe various information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this specification, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."
[0073] As mentioned earlier, the widespread use of mobile devices for QR code payment for public transportation has significantly reduced queuing time for ticket purchases, making travel more convenient. To cater to different passengers, public transportation companies collaborate with various third-party platforms, opening up different payment channels that allow users to scan QR codes. For example, payment apps, instant messaging apps, and the public transportation operator's own mobile app can all generate QR codes for entry.
[0074] However, because different travel channels are generally independent, each travel channel company treats user travel data as a core asset and does not disclose it publicly. Furthermore, user travel data, being personal data, involves privacy and cannot be easily transferred outside the platform. This creates data silos, allowing some users to artificially create one-sided transactions (only showing the entry point, not the exit point) to evade fares. These one-sided transactions, lacking an exit point, cannot be properly settled, causing losses for public transportation operators.
[0075] Although users can add a site when they visit the site again, the added site is entirely manually selected by the user. Users can choose the site with the lowest cost as the added site.
[0076] Therefore, there is a need to provide a way to determine the user's most likely exit station last time to help complete the supplementary station registration for the ride.
[0077] To address the aforementioned issues, this manual provides a recommended route completion point scheme. This scheme aims to reconstruct a user's actual travel route based on travel data recorded from their previous ride across multiple travel channels, and then determine the user's most likely exit point based on that route to facilitate route completion. This reduces the proportion of one-sided transactions and minimizes losses for public transportation operators.
[0078] Furthermore, by employing a multi-party secure sorting algorithm, the user's actual travel route can be reconstructed within the domain of their previous travel data across all travel channels. Thus, since the user's travel data remains within the domain, there is no risk of personal data leakage, thereby protecting user privacy.
[0079] The public transportation vehicles mentioned above can refer to public transportation scenarios such as subways, buses, urban light rail, and trains that are equipped with facilities such as entrance gates and exit gates, and can realize the function of scanning QR codes to board.
[0080] The following can be used as a reference. Figure 1 The example shown illustrates that this method can be applied to the server-side of any transportation channel, where the server-side can be a server, a server cluster, or a cloud platform built from a server cluster corresponding to that transportation channel; the method may include the following steps:
[0081] Step 210: If the current travel channel finds that the user needs to board the next exit station in response to the user's entry request, query the user's previous travel data stored in the current travel channel.
[0082] Step 220: Based on the multi-party secure sorting algorithm, sort the user's previous ride data stored in other ride channels and the user's ride data in the current ride channel according to time order; wherein, the multi-party secure sorting algorithm is used to determine the sorting result between the user's ride data in the current ride channel and other ride channels when other ride channels do not send the stored user ride data.
[0083] Step 230: Based on the station name corresponding to each user's travel data in the sorting results, recommend supplementary stations to the user.
[0084] This specification applies to at least two travel channels. These include the travel channel used by the user when entering the station, and other travel channels not used by the user. When a user's mobile terminal has multiple travel channels installed, the current travel channel is considered one, and the other travel channels can be one or more. That is, in this embodiment, the current travel channel is one, while the other travel channels can be one or more. "Multiple" here includes two or more. Generally speaking, the more travel channels available, the more comprehensive the user's travel data can be, the more accurate the reconstructed user travel path, and the more accurate the ultimately recommended supplementary registration station.
[0085] In practical applications, user ride data is recorded and stored in a standardized data format. This specification provides an example of the composition of user ride data.
[0086] User travel data may include, but is not limited to: user ID, arrival time, post-arrival event time, and post-arrival event geographic location.
[0087] The user identifier refers to information that uniquely identifies a user and is used to determine which user generated the ride data. The user identifier can be, for example, a user account, user ID, user mobile phone number, etc. This specification does not limit its specific type.
[0088] The entry time refers to the moment the user scans the code to enter the station, used to determine the start time of a journey. The entry time can be recorded as a timestamp, or in a format such as year, month, day, hour, minute, and second. This specification does not limit its format.
[0089] The post-entry event time refers to the moment when a user performs a relevant event through their channel after the entry time. The post-entry event time is generally recorded in the same format as the aforementioned entry time.
[0090] The events referred to here are various business functions provided by the channel, such as connecting to the station's Wi-Fi (such as subway station Wi-Fi), browsing news, watching videos, making VoIP calls, etc.
[0091] The following explanation uses real-world examples. After entering the site, users can obtain the password for the site's public Wi-Fi through various channels to connect. Obtaining the Wi-Fi password triggers one event, and successfully connecting to the Wi-Fi by entering the password triggers another. For example, suppose the channel also provides a news section. After entering the site, users can browse news; each time a user clicks on a news article, an event is triggered. This specification only records the time and geographical location of events after entering the site; the specific nature of the events is not important.
[0092] The post-entry event geolocation refers to the location data recorded when a user performs a related event through their channel after entering the station. Specifically, this geolocation can be location data recorded by the positioning device in the mobile terminal. Geographical location data is generally referred to as LBS (Location Based Services) data. The post-entry event geolocation can be recorded in the form of latitude and longitude coordinates.
[0093] The following further illustrates this with specific examples. As shown above, the user ride data in this manual includes two parts: one part is the user ride data stored in the current ride channel, and the other part is the user ride data stored in other ride channels.
[0094] The user ride data stored in other ride-hailing channels is shown in Table 1 below:
[0095]
[0096] Table 1
[0097] The user ride data currently stored in the ride-hailing channels is shown in Table 2 below:
[0098]
[0099] Table 2
[0100] The user travel data in Tables 1 and 2 above are stored locally on the server corresponding to their respective travel channels. Since the user's current entry request carries a user identifier, the historical user travel data for that user identifier can be filtered using that identifier. Furthermore, because the user travel data also records the entry time, the user travel data after the most recent entry time can be used as a benchmark to determine the user's previous travel record.
[0101] After retrieving user travel data as shown in Table 2 from the current travel channel and user travel data as shown in Table 1 from other travel channels, the current travel channel can use a multi-party secure sorting algorithm to securely sort Table 1 and Table 2 according to time order (i.e., the time of entry after arrival). This ensures that the user travel data does not leave the domain, determining the temporal order of the user travel data; and then, based on the temporal order and the station corresponding to each user travel data entry, reconstructing the user's previous travel route.
[0102] In this specification, the multi-party secure sorting algorithm is a sorting algorithm that achieves sorting without the data leaving its domain. Specifically, it obtains the sorting result between local user travel data and user travel data from other travel channels within the current travel channel, without other travel channels sending the stored user travel data. The sorting result is a sorting sequence number and does not involve any user travel data.
[0103] In one embodiment, step 220 may specifically include:
[0104] Step A1: Combine the current travel channel with other travel channels in pairs, and process each pair of travel channels as follows:
[0105] Step A2: Divide the post-entry event time in the user travel data stored in each travel channel into two parts;
[0106] Step A3: Inverse the post-entry event time for any boarding route, which is divided into two parts;
[0107] Step A4: Swap the post-entry event times for any part of the two boarding channels;
[0108] Step A5: Sum the post-entry event times after the exchange within each boarding channel, and sum the sums of the two boarding channel results again;
[0109] Step A6: If the summation result is negative again, the user travel data of the travel channel with the inverse value will be ranked before the user travel data of the other travel channel; or, if the summation result is positive again, the user travel data of the travel channel with the inverse value will be ranked after the user travel data of the other travel channel.
[0110] The following is for reference Figure 2 The diagram illustrates a multi-party security sequencing calculation process. This example uses two boarding routes as an example, and for ease of understanding, the event time after entering the station is simplified to a numerical value. Figure 2 The user ride data for the first ride channel shows an event time of 10 after entering the station; the user ride data for the second ride channel shows an event time of 15 after entering the station.
[0111] First, the post-entry event time in the user ride data stored in their respective ride channels is split into two parts. Figure 2In this example, the post-entry event time 10 for the first travel channel is split into 3 and 7; the post-entry event time 15 for the second travel channel is split into 5 and 10. Note that the post-entry event times are still stored within the travel channel and have not left the domain; the splitting can be performed by each individual travel channel. However, if the various travel channels agree, a trusted third party can also be responsible for execution. For example, a local execution program provided by a trusted third party can split the post-entry event time locally within each travel channel. Alternatively, the local post-entry event time can be provided to a trusted third party for splitting. Splitting through a trusted third party can prevent travel channels from cheating or tampering with user travel data. The splitting can be random.
[0112] Next, the post-entry event time of any boarding route is inverted by dividing it into two parts. Figure 2 In the middle, the inverse of the post-entry event times 5 and 10 after the second boarding channel is split is used to obtain the post-entry event times -5 and -10.
[0113] Then, swap the post-entry event times for any part of the two boarding routes. Figure 2 In this case, the post-entry event time 3 of the first boarding channel is swapped with the post-entry event time -10 of the second boarding channel.
[0114] Finally, sum the post-entry event times after the exchange within each boarding channel, and sum the results of the two boarding channels again. Figure 2 In the first boarding channel, the post-entry event time includes 7 and -10, with a sum of -3; the post-entry event time after the second boarding channel exchange includes 3 and -5, with a sum of -2. Summing the sum of -3 from the first boarding channel and the sum of -2 from the second boarding channel again yields a sum of -5.
[0115] Since the summation result is negative, the user travel data from the second travel channel is ranked before the user travel data from the third travel channel. In other words, the user travel data from the second travel channel is ranked before the user travel data from the first travel channel.
[0116] It's worth noting that since the post-entry event time 15 for the second boarding lane is longer than that for the first boarding lane (post-entry event time 10), post-entry event time 15 should indeed be ranked before post-entry event time 10. This demonstrates that the aforementioned multi-party safety ranking is correct. Furthermore, regardless of how the order is split or swapped, it doesn't actually affect the final ranking result; in other words, the result of the aforementioned multi-party safety ranking is unique.
[0117] Through the aforementioned multi-party security sorting calculations, since the user travel data exchanged between travel channels is based on the event time after station entry, and this event time is only a fragmented portion of the event time after station entry, even if this exchanged user travel data is leaked, the complete user travel data cannot be derived. Therefore, the aforementioned multi-party security sorting provides a high level of data security, ensuring that users' personal data is not leaked.
[0118] This specification also provides another multi-party secure ordering scheme, specifically step 220, which may include:
[0119] Step B1: Combine the current travel channel with other travel channels in pairs, and process each pair of travel channels as follows:
[0120] Step B2: Encrypt the post-entry event time in the user travel data stored in their respective travel channels in order-preserving manner to obtain the ciphertext post-entry event time;
[0121] Step B3: Based on the magnitude of the post-entry event time of the encrypted data from the two travel channels, determine the sorting result of the user travel data between the two travel channels.
[0122] The order-preserving encryption can refer to an encryption algorithm that preserves the original order of the plaintext after encryption. For example, the order-preserving encryption algorithm may include the OPE (Order-Preserving Encryption) algorithm.
[0123] By employing order-preserving encryption and multi-party secure sequencing, although user travel data may leave the domain, it is encrypted ciphertext data that is leaked. Therefore, even if leaked, it is the ciphertext that is leaked, not the plaintext user travel data. Thus, plaintext user travel data can still be considered as not leaving the domain. This order-preserving encryption and multi-party secure sequencing also provides a high level of data security, ensuring that users' personal data is not leaked.
[0124] After understanding the above multi-party secure sorting, the sorting results of step 220 are shown in the rank field of Tables 3 and 4 below:
[0125] The user ride data stored in other ride-hailing channels is shown in Table 3 below:
[0126]
[0127] Table 3
[0128] The user ride data currently stored in the ride-hailing channels is shown in Table 4 below:
[0129]
[0130] Table 4
[0131] After calculating the ranking results of user travel data between the current travel channel and other travel channels based on the multi-party secure ranking algorithm, it is also necessary to determine the station name corresponding to each user travel data.
[0132] Since user travel data is recorded when users use the services provided by the travel channels after entering the station, and the user is not necessarily located at the station at the time of recording the travel data, but may be located in the section between two stations, the user travel data does not actually record station name information.
[0133] However, re-registering a site requires the site name. Therefore, the site name the user was likely located at at the time can be determined based on the geographical location of the event after entering the site. Specifically, this could include:
[0134] Obtain the post-entry event geographic location of each user's travel data in the sorting results;
[0135] The station name corresponding to each user's travel data is determined based on the geographical location of the event after entering the station.
[0136] In this embodiment, the names of stations near the geographical location of the event after entering the station can be queried based on the information provided by the navigation map, and then determined as the station names where the user's travel data is located.
[0137] In one embodiment, the geographic location of a post-entry event may yield multiple station names in the vicinity. Therefore, determining the station name corresponding to each user's travel data based on the post-entry event geographic location includes:
[0138] Obtain the names of stations within a preset radius of the geographical location of the event after entry into the station;
[0139] Calculate the distance between the geographical location of the site corresponding to the site name and the geographical location of the inbound event;
[0140] The station name with the smallest distance is determined as the station name corresponding to the user's travel data where the geographical location of the event after entering the station is located.
[0141] Thus, by calculating the distance between each station and the geographical location of the event after entry, the station with the smallest distance is determined as the station name of the geographical location of the event after entry. Based on Tables 3 and 4 above, Tables 5 and 6 are obtained as follows:
[0142] The user ride data stored in other ride-hailing channels is shown in Table 5 below:
[0143]
[0144] Table 5
[0145] The user ride data currently stored in the ride-hailing channels is shown in Table 6 below:
[0146]
[0147] Table 6
[0148] After determining the station name corresponding to each user's ride data in the sorting results, the user's actual route for their last ride can be reconstructed.
[0149] Based on the sorting results in Tables 5 and 6 above, the determined site names, and combined with... Figure 3 The diagram showing the vehicle's route can reconstruct the user's last travel route: Baogang Avenue -> Changgang -> Beijing Road -> Gongyuanqian -> Ximenkou -> Jiangnanxi.
[0150] Finally, the current channel can recommend additional registration stations to the user based on the station names corresponding to each user's travel data in the sorting results.
[0151] In one implementation, the station name corresponding to the user's latest travel data in the sorting results can be identified as the supplementary registration station and recommended to the user.
[0152] In another implementation, the station names corresponding to a preset number of user travel data with later times in the sorting results can be recommended to the user, so that the user can select one of the recommended station names as the supplementary registration station.
[0153] Taking Tables 5 and 6 above as examples, assuming the output is the names of the top 3 stations in reverse rank, the most likely exit station for the above user is {user001: (Gongyuanqian, Ximenkou, Jiangnanxi)}.
[0154] like Figure 4 The diagram shows the site completion interface on the user terminal. When a user scans the code to enter the station using the current travel channel, the system detects that the user's previous travel was a one-way transaction (missing an exit station), triggering the display of this interface. Figure 4 The prompt message in the left image. When the user clicks "Add Station," the aforementioned implementation of recommending additional stations is triggered, suggesting station names to the user; and adjusting to... Figure 4 The interface shown on the right displays the available registration points for users (Gongyuanqian, Ximenkou, Jiangnanxi). Users can select one of these points to complete the registration and settle the fare for their previous ride.
[0155] This specification provides an embodiment of a scheme for recommending stations for passengers to make up for lost travel. Using a multi-party secure ranking algorithm, and assuming that user travel data does not leave the domain across multiple travel channels, the scheme determines the most likely departure station for the user's previous travel based on the user travel data stored within each travel channel. These departure stations are then recommended to the user for them to choose from when making up for lost travel. This not only enables automatic station registration but also eliminates the risk of personal data leakage because user travel data for each travel channel remains within the domain.
[0156] Corresponding to the aforementioned method embodiment for recommending boarding stops, this specification also provides embodiments of a device for recommending boarding stops. These devices can be implemented in software, hardware, or a combination of both. Taking software implementation as an example, as a logical device, it is formed by the processor of its host device reading the corresponding computer business program instructions from non-volatile memory into memory for execution. From a hardware perspective, such as... Figure 5 The diagram shown is a hardware structure diagram of the device used for the boarding pass check-in station recommended in this manual, except... Figure 5 In addition to the processor, network interface, memory, and non-volatile storage shown, the device in the embodiment may also include other hardware depending on the actual function of the recommended boarding station, which will not be described in detail here.
[0157] Please see Figure 6 This is a block diagram of a device for recommending boarding stations according to an embodiment of this specification, the device corresponding to... Figure 1 The illustrated embodiment shows that the apparatus includes:
[0158] Response unit 310, when the current travel channel responds to the user's entry request and finds that the user needs to board the next exit station, queries the user's previous travel record stored in the current travel channel for user travel data;
[0159] The sorting unit 320, based on a multi-party secure sorting algorithm, sorts the user's previous ride data stored in other ride channels and the user's ride data in the current ride channel according to time order; wherein, the multi-party secure sorting algorithm is used to determine the sorting result between the user's ride data in the current ride channel and other ride channels when other ride channels do not send the stored user ride data.
[0160] Recommendation unit 330 recommends supplementary registration stations to the user based on the station names corresponding to each user's travel data in the sorting results.
[0161] Optionally, the sorting unit 320 includes:
[0162] The processing subunit combines the current travel channel with other travel channels in pairs. For each pair of travel channels, the following subunit is used for processing:
[0163] The sub-units are split into two parts, which are the post-entry event times stored in the user ride data within their respective ride channels.
[0164] Find the inverse sub-unit: inverse the post-entry event time of any boarding channel, which is divided into two parts.
[0165] The exchange subunit exchanges the post-entry event time for any part of the two boarding channels;
[0166] The summation subunit sums the post-entry event times after the exchange within each boarding channel, and then sums the summation results of the two boarding channels again.
[0167] For the sorting sub-unit, if the summation result is negative again, the user travel data of the travel channel with the inverse value will be placed before the user travel data of the other travel channel; if the summation result is positive again, the user travel data of the travel channel with the inverse value will be placed after the user travel data of the other travel channel.
[0168] Optionally, the sorting unit 320 includes:
[0169] The processing subunit combines the current travel channel with other travel channels in pairs. For each pair of travel channels, the following subunit is used for processing:
[0170] The encryption subunit performs order-preserving encryption on the post-entry event time in the user travel data stored in their respective travel channels to obtain the ciphertext post-entry event time.
[0171] The sorting subunit determines the sorting result between user travel data in the two travel channels based on the magnitude of the post-entry event time of the encrypted data in the two travel channels.
[0172] Optionally, the device further includes:
[0173] The acquisition unit acquires the post-entry event geographic location of each user's travel data in the sorting results;
[0174] The determining unit determines the station name corresponding to each user's travel data based on the geographical location of the event after entering the station.
[0175] Optionally, the determining unit includes:
[0176] The acquisition subunit acquires the names of stations within a preset radius of the geographical location of the event after entering the station;
[0177] The calculation subunit calculates the distance between the geographical location of the site corresponding to the site name and the geographical location of the inbound event;
[0178] The sub-unit is determined by identifying the station name with the smallest distance as the station name corresponding to the user's travel data where the geographical location of the event after entering the station is located.
[0179] Optionally, the recommendation unit 330 includes:
[0180] The station name corresponding to the latest user's travel data in the sorting results is determined as the supplementary registration station and recommended to the user.
[0181] Optionally, the recommendation unit 330 includes:
[0182] The station names corresponding to a preset number of user travel data with later times in the sorting results are recommended to the user, so that the user can select one of the recommended station names as the supplementary registration station.
[0183] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.
[0184] The specific implementation process of the functions and roles of each unit in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.
[0185] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of the solution in this specification according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0186] above Figure 6 The diagram describes the internal functional modules and structure of a device that recommends passenger stop registration points. Its core execution entity can be an electronic device, including:
[0187] processor;
[0188] Memory used to store processor-executable instructions;
[0189] The processor is configured as an embodiment of the method for recommending supplementary boarding stations as described in any of the preceding embodiments.
[0190] In the embodiments of the above-described electronic device, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor, and the aforementioned memory can be read-only memory (ROM), random access memory (RAM), flash memory, hard disk, or solid-state drive. The steps of the methods disclosed in the embodiments of this specification can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in the processor.
[0191] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the electronic device embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0192] Other embodiments of this specification will readily occur to those skilled in the art upon consideration of the specification and practice of the embodiments disclosed herein. This specification is intended to cover any variations, uses, or adaptations that follow the general principles of this specification and include common knowledge or customary techniques in the art not disclosed herein. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of this specification are indicated by the following claims.
[0193] It should be understood that this specification is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this specification is limited only by the appended claims.
Claims
1. A method for recommending stops for supplementary travel, the method comprising: If the current travel channel detects that the user needs to board the next exit station in response to the user's entry request, it queries the user's previous travel data stored in the current travel channel. The current travel channel is based on a multi-party secure sorting algorithm, which sorts the user's travel data stored in other travel channels and the user's travel data in the current travel channel according to time order. The user travel data in both the current and other travel channels includes the arrival time, the post-arrival event time, and the post-arrival event geographical location. The post-arrival event time represents the moment when the user performs a relevant event through their channel during the travel period after the arrival time, and the post-arrival event geographical location represents the location data recorded when the user performs the relevant event through their channel during the travel period after the arrival time. The multi-party secure sorting algorithm is used to sort the post-arrival event geographical locations of the current and other travel channels sequentially according to the order of the post-arrival event time, without other travel channels sending their stored user travel data. The sorting result includes the sorting sequence number of the post-arrival event geographical location in the current travel channel and the sorting sequence number of the post-arrival event geographical location in the other travel channels. The current travel channel recommends supplementary login stations to the user based on the station name corresponding to the geographical location of each post-entry event in the sorting results.
2. The method according to claim 1, wherein sorting the user's previous ride data stored in other ride channels and the user's ride data in the current ride channel according to time order based on the multi-party secure sorting algorithm includes: The current travel channel is paired with other travel channels in pairs, and the following processing is performed on each pair of travel channels: The post-entry event time in the user ride data stored in their respective ride channels is split into two parts; Inverse the post-entry event time of any boarding route, which is divided into two parts. Swap the post-entry event times for any part of the two boarding routes; Sum the post-entry event times after the exchange within each boarding channel, and then sum the sums of the two boarding channel results again; If the summation result is negative again, the user travel data of the travel channel with the inverse value will be ranked before the user travel data of the other travel channel. If the summation result is positive again, the user travel data of the travel channel with the inverse value will be placed after the user travel data of the other travel channel.
3. The method according to claim 1, wherein sorting the user's previous ride data stored in other ride channels and the user's ride data in the current ride channel according to time order based on the multi-party secure sorting algorithm includes: The current travel channel is paired with other travel channels in pairs, and the following processing is performed on each pair of travel channels: The post-entry event time in the user travel data stored in their respective travel channels is encrypted in order-preserving manner to obtain the ciphertext post-entry event time. Based on the magnitude of the post-entry event time of the encrypted data from the two travel channels, the sorting result of user travel data between the two travel channels is determined.
4. The method according to claim 1, further comprising: Obtain the post-entry event geographic location of each user's travel data in the sorting results; The station name corresponding to each user's travel data is determined based on the geographical location of the event after entering the station.
5. The method according to claim 4, wherein determining the station name corresponding to each user's travel data based on the geographical location of the post-entry event includes: Obtain the names of stations within a preset radius of the geographical location of the event after entry into the station; Calculate the distance between the geographical location of the site corresponding to the site name and the geographical location of the event after entering the site; The station name with the smallest distance is determined as the station name corresponding to the user's travel data where the geographical location of the event after entering the station is located.
6. The method according to claim 1, wherein recommending supplementary login sites to the user based on the site name corresponding to the geographical location of each post-entry event in the sorting result includes: The site name corresponding to the geographical location of the latest post-entry event in the sorting results is identified as the supplementary login site and recommended to the user.
7. The method according to claim 1, wherein recommending supplementary login sites to the user based on the site name corresponding to the geographical location of each post-entry event in the sorting result includes: The system recommends the site names corresponding to a preset number of later post-entry events in the sorting results to the user. This allows the user to select one of the recommended site names as the replacement login site.
8. An apparatus for recommending stops for supplementary boarding on public transport, the apparatus comprising: The response unit, when the current travel channel detects that the user needs to board the next exit station in response to the user's entry request, queries the user's previous travel data stored in the current travel channel. The sorting unit, based on a multi-party secure sorting algorithm, sorts the user's previous travel data stored in other travel channels and the user's travel data in the current travel channel according to time order. The user travel data in both the current and other travel channels includes entry time, post-entry event time, and post-entry event geographical location. The post-entry event time represents the moment when the user performs a relevant event through their channel during the travel period after the entry time, and the post-entry event geographical location represents the location data recorded when the user performs the relevant event through their channel during the travel period after the entry time. The multi-party secure sorting algorithm, without other travel channels sending stored user travel data, sequentially sorts the post-entry event geographical locations of the current and other travel channels according to the order of the post-entry event time to obtain a sorting result. The sorting result includes the sorting sequence number of the post-entry event geographical location of the current travel channel and the sorting sequence number of the post-entry event geographical location of the other travel channels. The recommendation unit recommends supplementary login stations to the user based on the station name corresponding to the geographical location of each post-entry event in the sorting results.
9. The apparatus according to claim 8, wherein the sorting unit comprises: The processing subunit combines the current travel channel with other travel channels in pairs. For each pair of travel channels, the following subunit is used for processing: The sub-units are split into two parts, which are the post-entry event times stored in the user ride data within their respective ride channels. Find the inverse sub-unit: inverse the post-entry event time of any boarding channel, which is divided into two parts. The exchange subunit exchanges the post-entry event time for any part of the two boarding channels; The summation subunit sums the post-entry event times after the exchange within each boarding channel, and then sums the summation results of the two boarding channels again. For the sorting sub-unit, if the summation result is negative again, the user travel data of the travel channel with the inverse value will be placed before the user travel data of the other travel channel; if the summation result is positive again, the user travel data of the travel channel with the inverse value will be placed after the user travel data of the other travel channel.
10. The apparatus according to claim 8, wherein the sorting unit comprises: The processing subunit combines the current travel channel with other travel channels in pairs. For each pair of travel channels, the following subunit is used for processing: The encryption subunit performs order-preserving encryption on the post-entry event time in the user travel data stored in their respective travel channels to obtain the ciphertext post-entry event time. The sorting subunit determines the sorting result between user travel data in the two travel channels based on the magnitude of the post-entry event time of the encrypted data in the two travel channels.
11. The apparatus of claim 8, further comprising: The acquisition unit acquires the post-entry event geographic location of each user's travel data in the sorting results; The determining unit determines the station name corresponding to each user's travel data based on the geographical location of the event after entering the station.
12. The apparatus according to claim 11, wherein the determining unit comprises: The acquisition subunit acquires the names of stations within a preset radius of the geographical location of the event after entering the station; The calculation subunit calculates the distance between the geographical location of the site corresponding to the site name and the geographical location of the event after entering the site; The sub-unit is determined by identifying the station name with the smallest distance as the station name corresponding to the user's travel data where the geographical location of the event after entering the station is located.
13. The apparatus of claim 8, wherein the recommending unit comprises: The site name corresponding to the geographical location of the latest post-entry event in the sorting results is identified as the supplementary login site and recommended to the user.
14. The apparatus of claim 8, wherein the recommending unit comprises: The system recommends the site names corresponding to a preset number of later post-entry events in the sorting results to the user. This allows the user to select one of the recommended site names as the replacement login site.
15. An electronic device comprising: processor; Memory used to store processor-executable instructions; The processor is configured as the method described in any one of claims 1-7.
Citation Information
Patent Citations
Verifiable distributed privacy data comparing and sorting method and device
CN102984156A
Risk prevention and control method, device and system based on multi-party security calculation
CN110992037A