Task processing method, electronic equipment, storage medium and program product
The task reachability probability is calculated based on the privacy radius and desired travel distance in the user information, and the task information is sent to the user with the highest reachability probability. This solves the complex problem of privacy parameter determination in the existing technology, and achieves a simplified process and efficient task allocation.
Patent Information
- Application Number
- CN202510639302.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-16
- Publication Date
- 2025-09-16
AI Technical Summary
In existing technologies, differential privacy technology is complex and relies on professional knowledge when determining privacy parameters, which increases the threshold for technology application and makes it difficult to effectively protect the location privacy of mobile marketing team members.
By receiving the privacy radius and desired travel distance from the user information, the user's confused location and desired activity area are determined, and the task reachability probability is calculated based on the task location. The task information is sent to the user with the highest reachability probability, reducing the complexity of the privacy parameter determination process.
On the premise of ensuring privacy security, the process of determining privacy parameters is simplified, the usability of privacy protection technology in task processing is improved, and efficient task allocation is achieved.
Smart Images

Figure CN120653383A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a task processing method, electronic equipment, storage medium, and program product. Background Art
[0002] In banking, mobile marketing team members communicate with the bank's task processing system through mobile devices, receive tasks, and go to designated locations to promote business and provide customer service. If the task processing system obtains members' real-time location information, this information may be obtained by malicious third parties, resulting in the leakage of members' privacy.
[0003] In existing technologies, differential privacy technology is used to add random noise to query results, making it difficult for attackers to infer sensitive information, thereby protecting personal privacy information. Random noise is generated from a specific probability distribution based on the privacy budget and query sensitivity. The privacy budget reflects the strength of privacy protection.
[0004] However, the privacy budget must be determined based on the specific application scenario and the need for privacy protection. Experimentation is also required to comprehensively evaluate the balance between the privacy budget, data availability, and privacy protection effectiveness to determine the most appropriate privacy budget. This makes the determination of privacy parameters in differential privacy technology complex and specialized, raising the barrier to application. Summary of the Invention
[0005] The embodiments of the present application provide a task processing method, electronic device, storage medium, and program product to reduce the complexity of the privacy parameter determination process and the reliance on professional knowledge, and to improve the usability of privacy protection technology during task processing while ensuring privacy security.
[0006] In a first aspect, an embodiment of the present application provides a task processing method, including:
[0007] Determining, based on the received user information of the plurality of users, a first desired activity area and a private activity area for each user; wherein the first desired activity area is determined based on the obfuscated location and desired travel distance in the user information, and the private activity area is determined based on the obfuscated location and privacy radius in the user information;
[0008] Receive task information; the task information includes multiple subtasks and the task location of each subtask;
[0009] Determine a candidate user set based on the task information and the first intended activity area of each user; the candidate user in the candidate user set is at least one user from the plurality of users;
[0010] For each candidate user, the task reachability probability of the candidate user is calculated based on the candidate user's private activity area and the task location of each subtask;
[0011] Based on the task reachability probability corresponding to each candidate user, the task information is sent to the target user; wherein the target user is the user with the highest task reachability probability among the candidate users.
[0012] In a possible implementation, in combination with the first aspect, determining a set of candidate users based on task information and the first intended activity area of each user includes:
[0013] Based on the task location of each subtask, determine the corresponding minimum enclosing rectangle;
[0014] For each user's first intended activity area, determining whether the first intended activity area has an intersection area with any minimum bounding rectangle;
[0015] If so, the user corresponding to the desired activity area is determined as a candidate user;
[0016] If not, the user corresponding to the desired activity area is determined as a non-candidate user.
[0017] In one possible implementation, in combination with the first aspect, determining the task reachability probability of the candidate user based on the candidate user's private activity area and the task location of each subtask includes:
[0018] Generate multiple sampling points within the privacy activity area of the candidate user;
[0019] For each sampling point, calculate the distance from the sampling point to the task location of each subtask and obtain the minimum distance among multiple distances;
[0020] Compare the minimum distance corresponding to each sampling point with the desired travel distance of the candidate user, and obtain the number of sampling points whose minimum distance is smaller than the desired travel distance;
[0021] The task reachability probability of the candidate user is obtained based on the ratio of the first number of sampling points to the second number of sampling points, wherein the second number of sampling points is the number of multiple sampling points.
[0022] In a possible implementation, in combination with the first aspect, after sending the task information to the target user, the method further includes:
[0023] Receive task response information sent by the target user;
[0024] If the task response information indicates that the task is not accepted, the target user is deleted from the candidate user set, and the operation of sending task information to the target user based on the task reachability probability corresponding to each candidate user is repeated.
[0025] In a second aspect, an embodiment of the present application provides a task processing method, including:
[0026] Obtain the user's real location, privacy radius, and desired travel distance;
[0027] Determine the user's obfuscated location based on the real location and privacy radius;
[0028] Send user information to the server; user information includes the user's obfuscated location, privacy radius, and desired travel distance;
[0029] Receive task information sent by the server; task information is sent when the server determines that the user has the highest probability of reaching the task based on the task information and user information;
[0030] According to the actual location, desired travel distance and task information, a task response message is sent to the server; the task response message includes whether to accept the task or not.
[0031] In one possible implementation, in combination with the second aspect, determining the user's obfuscated location based on the real location and the privacy radius includes:
[0032] Determine the user's privacy activity area based on the real location and privacy radius;
[0033] Randomly select k locations in the privacy activity area; where k is an integer greater than 0;
[0034] The average position of k positions is calculated and used as the confusion position.
[0035] In one possible implementation, in combination with the second aspect, task response information is sent to the server based on the actual location, the desired travel distance, and the task information, including:
[0036] Determine the second desired activity area based on the actual location and desired travel distance;
[0037] Determining whether the task location in the task information is within the second desired activity area;
[0038] If so, a task response message including acceptance of the task is sent to the server;
[0039] If not, a task response message including the rejection of the task is sent to the server.
[0040] In a third aspect, an embodiment of the present application provides a task processing device, including:
[0041] An acquisition module is used to receive user information of multiple users; the user information includes obfuscated location, desired travel distance, and privacy radius;
[0042] The acquisition module is also used to receive task information; the task information includes multiple subtasks and the task location of each subtask;
[0043] a processing module configured to determine a first desired activity area and a private activity area for each user; wherein the first desired activity area is determined based on the obfuscated location and desired travel distance in the user information, and the private activity area is determined based on the obfuscated location and privacy radius in the user information;
[0044] The processing module is further configured to determine a candidate user set based on the task information and the first intended activity area of each user; the candidate user in the candidate user set is at least one user from the plurality of users;
[0045] The processing module is further configured to calculate, for each candidate user, a task reachability probability of the candidate user based on the candidate user's private activity area and the task location of each subtask;
[0046] The control module is used to send task information to a target user based on the task attainability probability corresponding to each candidate user; wherein the target user is the user with the highest task attainability probability among the candidate users.
[0047] In one possible implementation, in combination with the third aspect, the processing module determines a set of candidate users based on the task information and the first intended activity area of each user, specifically for:
[0048] Based on the task location of each subtask, determine the corresponding minimum enclosing rectangle;
[0049] For each user's first intended activity area, determining whether the first intended activity area has an intersection area with any minimum bounding rectangle;
[0050] If so, the user corresponding to the desired activity area is determined as a candidate user;
[0051] If not, the user corresponding to the desired activity area is determined as a non-candidate user.
[0052] In one possible implementation, in combination with the third aspect, the processing module determines the task reachability probability of the candidate user based on the candidate user's private activity area and the task location of each subtask, specifically for:
[0053] Generate multiple sampling points within the privacy activity area of the candidate user;
[0054] For each sampling point, calculate the distance from the sampling point to the task location of each subtask and obtain the minimum distance among multiple distances;
[0055] Compare the minimum distance corresponding to each sampling point with the desired travel distance of the candidate user, and obtain the number of sampling points whose minimum distance is smaller than the desired travel distance;
[0056] The task reachability probability of the candidate user is obtained based on the ratio of the first number of sampling points to the second number of sampling points, wherein the second number of sampling points is the number of multiple sampling points.
[0057] In a possible implementation, in combination with the third aspect, after the control module sends the task information to the target user, the device further includes:
[0058] The acquisition module is used to receive the task response information sent by the target user;
[0059] The control module is used to delete the target user from the candidate user set if the task response information is not to accept the task, and repeatedly perform the operation of sending task information to the target user based on the task reachability probability corresponding to each candidate user.
[0060] In a fourth aspect, an embodiment of the present application provides a task processing device, including:
[0061] The acquisition module is used to obtain the user's real location, privacy radius, and desired travel distance;
[0062] A processing module, configured to determine the user's obfuscated location based on the real location and the privacy radius;
[0063] The processing module is also used to send user information to the server; the user information includes the user's obfuscated location, privacy radius and desired travel distance;
[0064] The acquisition module is also used to receive task information sent by the server; the task information is sent when the server determines that the user is the user with the highest probability of reaching the task based on the task information and user information;
[0065] The control module is used to send task response information to the server based on the actual location, the desired travel distance and the task information; the task response information includes accepting the task or not accepting the task.
[0066] In one possible implementation, in combination with the fourth aspect, the processing module determines the user's obfuscated location based on the real location and the privacy radius, specifically for:
[0067] Determine the user's privacy activity area based on the real location and privacy radius;
[0068] Randomly select k locations in the privacy activity area; where k is an integer greater than 0;
[0069] The average position of k positions is calculated and used as the confusion position.
[0070] In one possible implementation, in combination with the fourth aspect, the control module sends task response information to the server based on the actual location, the desired travel distance, and the task information, specifically for:
[0071] Determine the second desired activity area based on the actual location and desired travel distance;
[0072] Determining whether the task location in the task information is within the second desired activity area;
[0073] If so, a task response message including acceptance of the task is sent to the server;
[0074] If not, a task response message including the rejection of the task is sent to the server.
[0075] In a fifth aspect, an embodiment of the present application provides a task processing device, including: a memory, a processor;
[0076] Memory stores computer-executable instructions;
[0077] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the above first aspect and / or various possible implementations of the first aspect.
[0078] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the first aspect above and / or various possible implementation methods of the first aspect.
[0079] In a seventh aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the above first aspect and / or various possible implementation methods of the first aspect.
[0080] The embodiments of the present application provide a task processing method, electronic device, storage medium, and program product. By receiving user information from multiple users, where the user information includes a privacy parameter (privacy radius) that reflects the degree of the user's need for privacy protection, combined with the task location, the task's reachability probability is determined, and the task information is sent to the user with the highest probability, thereby reducing the complexity of the privacy parameter determination process and the dependence on professional knowledge, and improving the usability of privacy protection technology in the task processing process while ensuring privacy security. BRIEF DESCRIPTION OF THE DRAWINGS
[0081] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0082] Figure 1 A schematic diagram of a scenario of a task processing method provided in this application;
[0083] Figure 2 A schematic diagram of a task processing method provided in this application Figure 1 ;
[0084] Figure 3 A schematic diagram of a task processing method provided in this application Figure 2 ;
[0085] Figure 4 A schematic diagram of the processing process of a task processing method provided in this application
[0086] Figure 5 A schematic diagram of the structure of the task processing device provided in this application;
[0087] Figure 6 This is a schematic diagram of the structure of the electronic device provided in this application.
[0088] The above drawings illustrate specific embodiments of the present application, which will be described in more detail below. These drawings and the textual description are not intended to limit the scope of the present application in any way, but rather to illustrate the concepts of the present application to those skilled in the art by reference to specific embodiments. DETAILED DESCRIPTION
[0089] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
[0090] First, let’s explain the terms involved in this application:
[0091] R-tree: A balanced tree structure specifically designed for indexing spatial data. It divides spatial objects into multiple rectangular regions and stores these regions as tree nodes. R-trees support efficient spatial queries, such as range queries and nearest neighbor queries. R-trees maintain tree balance and ensure query efficiency through dynamic node splitting and merging mechanisms.
[0092] Monte Carlo method: A numerical calculation method based on random sampling, widely used in probability calculation, statistical simulation, and optimization problems. This method generates a large number of random samples to approximate the solution to complex problems. In spatial crowdsourcing, Monte Carlo method can be used to estimate the distribution of points in a region that meet specific conditions.
[0093] Spatial crowdsourcing: Spatial crowdsourcing is a method of leveraging internet users to collect, process, and analyze spatial data. It typically involves geolocation tasks such as map production, data verification, and location-related services. Spatial crowdsourcing platforms allow users to submit and receive tasks while protecting user privacy and data security.
[0094] Privacy protection: In the field of information technology, privacy protection refers to taking measures to protect personal information from unauthorized access, collection, use, disclosure, modification, or destruction. In this application, privacy protection specifically focuses on protecting the location information of mobile marketing team members to prevent it from being leaked during task processing.
[0095] Obfuscated location: Obfuscated location is a privacy protection technology that protects the user's location privacy by replacing the user's real location information with a blurred, randomly generated location area. In this invention, obfuscated location is used to generate a privacy protection area that contains the real location;
[0096] Candidate set: In the task processing algorithm, the candidate set refers to a group of potential performers screened according to specific conditions. In this application, the candidate set consists of mobile marketing team members who meet the task requirements, and their location information is stored in the R-tree index;
[0097] Reachability: refers to the probability that a team member can reach a specified location within a given time. In this application, the reachability probability of team members is calculated using the Monte Carlo method to assess their likelihood of completing the task.
[0098] Multi-location task processing: This is the process of assigning tasks with multiple locations to appropriate executors. In this application, task processing takes into account the location privacy protection and reachability of team members.
[0099] Privacy radius: It is a distance value specified by team members to determine the size of the obfuscated location area. The larger the privacy radius, the larger the obfuscated location area, thus providing a higher level of privacy protection.
[0100] Figure 1 A scenario diagram of a task processing method provided in this application, such as Figure 1 As shown, the specific application scenario of this application is the process in which the task issuing terminal communicates with the user terminal device through the server to process the task. Figure 1The illustrated scenario includes a server 102, a task publishing terminal 103, and a user terminal device 101, wherein the user terminal device 101 includes multiple terminal devices, for example, terminal device 1, terminal device 2, ..., and terminal device N. The server 102 communicates with the user terminal devices 101 of multiple users to obtain user information of each user, including user location information; on the other hand, the server 102 communicates with the task publishing terminal 103 to obtain task information containing multiple subtasks, including location information of each subtask; based on the user information and task information, the server 102 determines the user terminal device to which the task information is to be sent.
[0101] Based on the above scenarios, it can be seen that in the existing technology, personal privacy information is protected by adding random noise generated based on the privacy budget and query sensitivity to the query results through differential privacy technology. However, the process of determining privacy parameters is complicated and relies on professionals to determine the appropriate privacy parameter values based on professional knowledge and experimental verification.
[0102] The present application provides a task processing method that receives user information from multiple users, where the user information contains privacy parameters that reflect the degree of privacy protection demand of the users. Combined with the task location, the task is determined to determine the probability that the user's task can be reached, and the task information is sent to the user with the highest probability. This technical method solves the technical problem in the prior art that the privacy parameter determination process is complicated and relies on professionals to determine the appropriate privacy parameter values based on professional knowledge and experimental verification.
[0103] The following specific embodiments describe in detail the technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0104] Figure 2 A schematic diagram of a task processing method provided in this application Figure 1 ,like Figure 2 As shown, the method includes:
[0105] S201. The user terminal obtains the user's real location, privacy radius, and desired travel distance.
[0106] The real location is the user's current real-time location, which can be a location point; for example, the real location can be a geographic coordinate point, a plane rectangular coordinate point, a grid coordinate point, etc.
[0107] The privacy radius is a distance value set by the user based on his or her privacy needs. It is a privacy parameter. The larger the value, the higher the level of privacy protection. For example, the privacy radius can be 100 meters, 500 meters, etc.
[0108] The desired travel distance is the maximum distance the user is willing to travel, and this distance can be set by the user according to his or her needs.
[0109] S202: The user terminal determines the user's obfuscated location based on the real location and the privacy radius.
[0110] Obfuscated location is alternative location data generated by specific algorithms or rules to prevent the leakage of real location information.
[0111] S203: The user terminal sends the user information to the server.
[0112] Correspondingly, the server receives user information, including the user's obfuscated location, privacy radius, and desired travel distance.
[0113] S204: The server determines the first intended activity area and the private activity area of each user according to the received user information of the multiple users.
[0114] The first desired activity area is an activity range that the user can accept, and is determined based on the confusion location and desired travel distance in the user information.
[0115] The privacy activity area is determined based on the obfuscation location and privacy radius in the user information.
[0116] S205: The server receives task information.
[0117] The task information includes multiple subtasks and the task location of each subtask.
[0118] S206: The server determines a set of candidate users based on the task information and the first desired activity area of each user.
[0119] The candidate user in the candidate user set is at least one user among the multiple users.
[0120] S207: The server calculates the task reachability probability of each candidate user based on the candidate user's private activity area and the task location of each subtask.
[0121] S208: The server sends the task information to the user terminal of the target user.
[0122] Correspondingly, the user terminal of the target user receives the task information.
[0123] The target user is the user with the highest task reachability probability among the candidate users.
[0124] S209: After receiving the task information, the user terminal of the target user sends task response information to the server according to the real location, the desired travel distance and the task information.
[0125] Correspondingly, the server receives the task response information from the user terminal, wherein the task response information includes whether the task is accepted or not accepted.
[0126] An embodiment of the present application provides a task processing method, which receives user information from multiple users, including privacy parameters determined by the users based on their privacy protection needs, and then combines the task location to determine the user's task reachability probability, and sends the task information to the user with the highest reachability probability, thereby reducing the complexity of the privacy parameter determination process and the dependence on professional knowledge, and improving the usability of privacy protection technology in the task processing process while ensuring privacy security.
[0127] Figure 3 A schematic diagram of a task processing method provided in this application Figure 2 ,like Figure 3 As shown, this embodiment Figure 2 Based on the embodiment, the task processing process is described in detail. The method includes:
[0128] S301. The user terminal obtains the user's real location, privacy radius, and desired travel distance.
[0129] The real location is the user's current real-time location, which can be a location point; for example, the real location can be a geographic coordinate point, a plane rectangular coordinate point, a grid coordinate point, etc.
[0130] The privacy radius is a distance value set by the user based on his or her privacy needs. It is a privacy parameter. The larger the value, the higher the level of privacy protection. For example, the privacy radius can be 100 meters, 500 meters, etc.
[0131] The desired travel distance is the maximum distance a user is willing to travel.
[0132] S302: The user terminal determines the user's obfuscated location based on the real location and the privacy radius.
[0133] Obfuscated location is alternative location data generated by specific algorithms or rules to prevent the leakage of real location information.
[0134] The process of determining the user's obfuscation location may include: determining the user's privacy activity area based on the user's real location and privacy radius; randomly selecting k locations in the privacy activity area; calculating the average location of the k locations and using the average location as the obfuscation location; where k is an integer greater than 0.
[0135] S303: The user terminal sends the user information to the server.
[0136] Correspondingly, the server receives user information, including the user's obfuscated location, privacy radius, and desired travel distance.
[0137] S304: The server determines the first desired activity area and the private activity area of each user according to the received user information of the multiple users.
[0138] The first desired activity area is an activity range that the user can accept, and is determined based on the confusion location and desired travel distance in the user information.
[0139] The privacy activity area is determined based on the obfuscation location and privacy radius in the user information.
[0140] S305: The server receives task information.
[0141] The task information includes multiple subtasks and the task location of each subtask.
[0142] S306: The server determines the intersection between each user's first desired activity area and any sub-location area.
[0143] Based on the task position of each subtask, the corresponding minimum bounding rectangle is determined; for each user's first intended activity area, it is determined whether the first intended activity area has an intersection area with any minimum bounding rectangle.
[0144] S307: The server determines a candidate user set based on the intersection condition.
[0145] The candidate user in the candidate user set is at least one user among the multiple users.
[0146] If it is determined that the user's first intended activity area intersects with the minimum bounding rectangle of any subtask location, the user is determined as a candidate user.
[0147] If it is determined that the user's first intended activity area does not intersect with the minimum bounding rectangles of all subtask positions, the user is determined as a non-candidate user.
[0148] S308: The server generates multiple sampling points in the privacy activity area of each candidate user.
[0149] S309: The server determines the first number of sampling points.
[0150] The process of the server determining the number of first sampling points includes: generating multiple sampling points within the privacy activity area of the candidate user; calculating, for each sampling point, the distance from the sampling point to the task location of each subtask to obtain the minimum distance among the multiple distances; comparing the minimum distance corresponding to each sampling point with the desired travel distance of the candidate user to obtain the number of first sampling points whose minimum distance is less than the desired travel distance; and obtaining the number of first sampling points whose minimum distance is less than the desired travel distance by comparing the minimum distance from the sampling point to the task location with the desired travel distance of the user.
[0151] S310: The server obtains a task reachability probability of the candidate user according to a ratio of the number of the first sampling points to the number of the second sampling points.
[0152] The second number of sampling points is the number of multiple sampling points.
[0153] S311. The server sends task information to the user terminal of the target user.
[0154] Correspondingly, the target user receives the task information through the user terminal. The target user is the user with the highest probability of achieving the task among the candidate users.
[0155] S312: After receiving the task information, the user terminal of the target user sends task response information to the server according to the actual location, the desired travel distance and the task information.
[0156] Correspondingly, the server receives the task response information from the user terminal, wherein the task response information includes whether the task is accepted or not accepted.
[0157] Specifically, the process of the target user sending task response information to the server through the user terminal includes: first determining the second desired activity area based on the actual location and the desired travel distance; then judging whether the task location in the task information is within the second desired activity area; if so, sending task response information including acceptance of the task to the server; if not, sending task response information including rejection of the task to the server.
[0158] In one feasible implementation, the user terminal can automatically trigger the generation of corresponding task response information and send it to the server based on the result of determining whether the task location is within the second desired activity area. For example, if the result of the determination is that the task location is within the user's second desired activity area, the user terminal automatically generates task response information including acceptance of the task; if the result of the determination is that the task location is not within the user's second desired activity area, the user terminal automatically generates task response information including rejection of the task.
[0159] In another feasible implementation, the user can decide whether to accept the task. That is, based on the result of determining whether the task location is within the second desired activity area, the user is provided with the result of the determination and the option to accept or reject the task. Based on the user's selection, corresponding task response information is generated and sent to the server.
[0160] For example, suppose the task information includes three subtasks, namely subtask A, subtask B, and subtask C. If the task location of subtask A is within the user's second desired activity area, but the task locations of subtasks B and C are not within the second desired activity area, the user terminal provides the user with the judgment result and the option to accept or reject the task.
[0161] At this point, the user can select the corresponding option based on their preferences. If the user selects the "Accept Task" option, then even if the task locations corresponding to subtasks B and C are not within the user's second desired activity area, the user must still perform the three subtasks A, B, and C. If the user selects the "Do Not Accept Task" option, then even if the task location corresponding to subtask A is within the user's second desired activity area, the user does not need to perform subtask A.
[0162] It is understood that after the user selects the option of "accept task", the user terminal generates a task response message containing the task acceptance and sends it to the server. After the user selects the option of "do not accept task", the user terminal generates a task response message containing the task not accepting and sends it to the server.
[0163] S313. The server performs target user management and task decision-making based on the task response information.
[0164] Depending on the content of the task response information, the methods for executing target user management and task decision-making are also different, including the following two methods:
[0165] If the task response information indicates that the task is not accepted, the target user is deleted from the candidate user set, and S311 is repeated to send the task information to the user terminal of the new target user;
[0166] If the task response information is to accept the task, the user information is deleted and the task processing process ends.
[0167] An embodiment of the present application provides a task processing method, which receives user information from multiple users, including privacy parameters determined by the users based on their privacy protection needs, and then combines the task location to determine the user's task reachability probability, and sends the task information to the user with the highest reachability probability, thereby reducing the complexity of the privacy parameter determination process and the dependence on professional knowledge, and improving the usability of privacy protection technology in the task processing process while ensuring privacy security.
[0168] In a task processing method provided in an embodiment of the present application, a user terminal sends user information to a server, which includes an obfuscated location and a privacy radius; the server first screens out a set of candidate users based on multiple subtask locations in the received task information and user information, and then calculates the task reachability probability of the candidate users, and takes the user with the highest reachability probability as the target user, and sends the task information to the target user; the user terminal determines to send a task response message containing acceptance or rejection of the task to the server based on the user information including the intended travel distance. The privacy radius and intended travel distance mentioned in the above process can be set by the user according to his or her own needs. Therefore, through the above technical means, it is possible to reduce the complexity of the privacy parameter determination process and the dependence on professional knowledge, and improve the usability of privacy protection technology in the task processing process while ensuring privacy security, so as to achieve the effect of efficiently allocating users to tasks at multiple locations.
[0169] Based on any of the above embodiments, Figure 4 , through a specific example, a task processing method is explained in detail.
[0170] Figure 4 This is a diagram of the processing process of a task processing method provided in an embodiment of the present application. Figure 4 In the task processing process of the bank's mobile marketing team, the server used in the diagram is a space crowdsourcing server, and the user terminal is a mobile phone. The space crowdsourcing server communicates with multiple mobile devices through the network to process tasks. The specific task processing process includes:
[0171] S401. Complete location obfuscation on mobile devices of marketing team members.
[0172] Location obfuscation refers to converting the point location of a bank's mobile marketing team member into a circular area; the point location is the real location of the marketing team member; the circular area is the privacy activity area with the obfuscated location as the center and the privacy radius as the radius; the privacy radius reflects the degree of privacy protection for marketing team members, and is generally determined by marketing team members based on their actual wishes.
[0173] Specifically, the way a mobile phone obtains user information includes: obtaining the current real-time location through the location service function, which is used as the real location of the marketing team members. w ; Obtain the privacy radius r of marketing team members through user input w , Desired travel distance d w .
[0174] Specifically, the process of the mobile phone completing location obfuscation includes: Figure 4 The confusion process, with the real position l w is the center of the circle, r w The circle with radius c(l w ,r w ), randomly select k points in this circle and calculate the average value of these points as the new confusion position l ′ w , to confuse the position l ′ w is the center of the circle, and the privacy radius r w As the radius, we get the new confusion area c(l ′ w ,r w ), and it can be determined that the confusion area must contain the real location of the marketing team members. w .
[0175] Specifically, after the mobile phone determines the obfuscated location, it communicates with the space crowdsourcing server and sends the user information to the space crowdsourcing server; the user information includes the obfuscated location l ′ w , privacy radius r w , Desired travel distance d w .
[0176] Optional, obfuscate position l ′ w A marketing team member can also enter a coordinate point on their mobile phone as a confusion location. The coordinate point is determined by the marketing team member based on their actual situation. For example, a marketing team member wants to accept tasks near a certain location with the location as the center of the circle.
[0177] Optional, privacy radius r w and desired travel distance d w There can be a default value. For example, if the user does not enter the privacy radius and desired travel distance, the default value will be sent to the spatial crowdsourcing server.
[0178] S402. Construct a set of candidate marketing team members.
[0179] After receiving the task location information, the spatial crowdsourcing server determines the set of marketing team members eligible for the task based on the task and user information. The process of constructing the marketing team member set involves first storing user information and indexing each marketing team member using an R-tree. Upon receiving a task, the server then determines the appropriate marketing team member based on the task location, confusion location, and desired travel distance.
[0180] Specifically, the process of storing index in R-tree is to find the minimum rectangle containing the intended activity area as the minimum bounding rectangle for storing index, and the user information is stored on the leaf node; the intended activity area is based on the confusion position l ′ w is the center of the circle, and the desired travel distance d w The radius is the center area of the circle.
[0181] Specifically, the process of determining marketing team members suitable for performing a task includes: finding the minimum enclosing rectangle that contains the locations of each subtask in the task, and obtaining leaf nodes that intersect with the minimum enclosing rectangle through pruning query. The marketing team members stored in these leaf nodes constitute the set of candidate marketing team members for the task.
[0182] S403. Sort the candidate marketing team member set.
[0183] The sorting process can be implemented by randomly sampling within the privacy activity area of each marketing team member through the Monte Carlo algorithm, calculating the task reachability probability of each marketing team member, and sorting the candidate marketing team member set according to this probability.
[0184] Specifically, the process of sorting the candidate marketing team member set by the Monte Carlo algorithm includes: ′ w ,r w ) randomly select K sampling points, K is the number of Monte Carlo sampling; each sampling point is recorded as l, and the shortest distance from each sampling point to each subtask position is recorded as d(l,t). Calculate all sampling points that meet d w The number of sampling points with a minimum distance from the sampling point to each subtask location is less than or equal to the distance the marketing team members are willing to travel, which is recorded as N(l|d w ≥d(l,t)); Use the following formula to calculate the probability of marketing team members being reachable p(d(w,t) <d w ):
[0185]
[0186] For example, a marketing team member has a desired travel distance of 10 kilometers. Five sampling points are selected within their private activity area. The shortest distances from these five sampling points to the locations of the subtasks are 1 km, 8 km, 20 km, 10 km, and 30 km, respectively. Based on the above description, the number of Monte Carlo sampling K is 5; among all the sampling points, the shortest distances of three sampling points are less than or equal to the desired travel distance of 10 kilometers, so N(l|d w ≥d(l,t)) is equal to 3; finally, according to the reachability calculation formula, the reachability probability of this marketing team member is 3 / 5.
[0187] S404: Perform task processing and output the allocation result.
[0188] The process of task processing may be an orderly attempt to assign tasks to candidate marketing team members; the assignment result may be information about the task processing result output after the task processing is completed, and the information content includes task information and information of the marketing team member who accepts the task.
[0189] Specifically, assuming that the sorted candidate marketing team set A = {a, b, c, d, e}, each element in the set represents a marketing team member, the task processing process includes: the spatial crowdsourcing server sends task information to the marketing team member a who ranks first in the candidate marketing team set A; after the marketing team member a's mobile phone receives the task information, it calculates based on the member's actual location and desired travel distance to determine whether the shortest distance to the location of each subtask in the task is less than or equal to the member's desired travel distance; if so, the server sends a response message accepting the task; if not, it sends a response message not accepting the task.
[0190] The space crowdsourcing server receives the response information sent by the mobile phone of marketing team member A and performs target user management and task decision-making. Depending on the content of the task response information, the target user management and task decision-making methods are different, including the following two methods:
[0191] If the response information is to accept the task, the task processing is ended, and the marketing team member a is deleted from the R-tree structure, so that the marketing team member a will not appear in the candidate marketing team member set of other subsequent tasks.
[0192] If the response information is not to accept the task, the marketing team member a is deleted from the candidate marketing team member set A = {a, b, c, d, e} to obtain the set A = {b, c, d, e}, and then repeat step S404.
[0193] Optionally, after receiving the task information, marketing team member A's mobile phone may display a message prompting marketing team member A to enter a response. For example, marketing team member A can enter whether to accept or reject the task based on their own wishes. This input result can be entirely based on marketing team member A's wishes and is unrelated to their actual location or desired travel distance.
[0194] Optionally, after the mobile phone of marketing team member a receives the task information, a message prompt may be sent to prompt marketing team member a to enter the response information by himself. If the user fails to enter the response information within the specified time, the mobile phone will calculate based on the member's actual location and desired travel distance to determine whether the distance to the task is within the member's desired travel distance. If so, the server will send a response message to accept the task; otherwise, it will send a response message to reject the task.
[0195] Optionally, the output allocation result may also be that the spatial crowdsourcing server sends the task processing result to the task publisher, so that the task publisher can understand the task processing status in a timely manner.
[0196] It should be noted that in Figure 4 The processing process shown in the embodiment does not constitute a specific limitation on the task processing method proposed in this application. In other embodiments of this application, the process of a task processing method may include: Figure 4 The embodiment has more or fewer steps. For example, a task processing method may include Figure 4 Some steps in the embodiment, or Figure 4 Some steps in the embodiment may be replaced by steps having the same functions, or, Figure 4 Some steps in the embodiments may be split into multiple steps, etc.
[0197] Figure 5 A structural diagram of a task processing device provided in this application is shown as follows: Figure 4 As shown, the task processing device provided in this embodiment includes:
[0198] The acquisition module 501 is used to obtain the user's real location, privacy radius and desired travel distance.
[0199] The processing module 502 is configured to determine the obfuscated location of the user based on the real location and the privacy radius.
[0200] The processing module 502 is further configured to send user information to the server; the user information includes the user's obfuscated location, privacy radius, and desired travel distance.
[0201] The acquisition module 501 is further configured to receive task information sent by the server; the task information is sent when the server determines that the user is the user with the highest probability of reaching the task based on the task information and user information.
[0202] The control module 503 is used to send task response information to the server according to the real location, the desired travel distance and the task information; the task response information includes whether to accept the task or not.
[0203] In one possible implementation, the processing module 502 determines the user's obfuscated location based on the real location and the privacy radius, and is specifically configured to: determine the user's privacy activity area based on the real location and the privacy radius; randomly select k locations within the privacy activity area; where k is an integer greater than 0; and calculate the average location of the k locations, using the average location as the obfuscated location.
[0204] In one possible implementation, the control module 503 sends task response information to the server based on the actual location, the intended travel distance, and the task information, specifically for: determining the second intended activity area based on the actual location and the intended travel distance; determining whether the task location in the task information is within the second intended activity area; if so, sending task response information including acceptance of the task to the server; if not, sending task response information including rejection of the task to the server.
[0205] The task processing device provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effects are similar, and are not described in detail in this embodiment.
[0206] Figure 6 This is a schematic diagram of the structure of the electronic device provided in this application. Figure 6 As shown, the electronic device 60 provided in this embodiment includes: at least one processor 601 and a memory 602. Optionally, the device 60 further includes a communication component 603. The processor 601, the memory 602 and the communication component 603 are connected via a bus 604.
[0207] During the specific implementation process, at least one processor 601 executes the computer-executable instructions stored in the memory 602, so that the at least one processor 601 performs the above method.
[0208] The specific implementation process of the processor 601 can be found in the above method embodiment. Its implementation principle and technical effects are similar and will not be repeated here in this embodiment.
[0209] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the present invention may be directly executed by a hardware processor or by a combination of hardware and software modules in the processor.
[0210] The memory may include a high-speed memory (Random Access Memory, RAM), and may also include a non-volatile memory (NVM), such as at least one disk memory.
[0211] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. Buses can be classified as address buses, data buses, and control buses. For ease of illustration, the buses in the drawings of this application are not limited to just one bus or just one type of bus.
[0212] The present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.
[0213] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the above method is implemented.
[0214] The above-mentioned readable storage medium can be implemented by any type of volatile or non-volatile memory device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general-purpose or special-purpose computer.
[0215] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be an integral part of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (ASIC). Of course, the processor and the readable storage medium can also exist in a device as discrete components.
[0216] The division of units is merely a logical functional division; actual implementations may employ alternative divisions, for example, combining or integrating multiple units or components into another system, or omitting or disabling certain features. Furthermore, any coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between devices or units, whether electrical, mechanical, or otherwise, through some interface.
[0217] Units described as separate components may or may not be physically separate, and 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 these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0218] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0219] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the various embodiments of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, and other media that can store program code.
[0220] Those skilled in the art will appreciate that all or part of the steps in the above-described method embodiments can be implemented using hardware associated with program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0221] Finally, it should be noted that those skilled in the art will readily identify other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses, or adaptations of the present invention that follow the general principles of the present invention and include common knowledge or customary techniques in the art not disclosed herein. The present invention is not limited to the precise structure described above and illustrated in the accompanying drawings, and various modifications and variations may be made without departing from the scope thereof. The scope of the present invention is limited solely by the appended claims.
Claims
1. A task processing method, characterized in that: The method comprises: Determining, based on the received user information of the plurality of users, a first desired activity area and a private activity area for each user; wherein the first desired activity area is determined based on the obfuscated location and desired travel distance in the user information, and the private activity area is determined based on the obfuscated location and privacy radius in the user information; Receive task information; the task information includes multiple subtasks and the task location of each subtask; Determining a candidate user set based on the task information and the first intended activity area of each user; wherein the candidate user in the candidate user set is at least one user among the multiple users; For each of the candidate users, calculating the task reachability probability of the candidate user according to the privacy activity area of the candidate user and the task location of each subtask; Based on the task attainability probability corresponding to each candidate user, the task information is sent to a target user; wherein the target user is the user with the highest task attainability probability among the candidate users.
2. The method according to claim 1, characterized in that The determining of a set of candidate users based on the task information and the first intended activity area of each user includes: Determine a corresponding minimum bounding rectangle based on the task position of each subtask; For each user's first intended activity area, determining whether the first intended activity area intersects with any of the minimum bounding rectangles; If yes, the user corresponding to the desired activity area is determined as the candidate user; If not, the user corresponding to the desired activity area is determined as a non-candidate user.
3. The method according to claim 1, characterized in that The determining, based on the privacy activity area of the candidate user and the task location of each subtask, a task reachability probability of the candidate user includes: generating a plurality of sampling points within the privacy activity area of the candidate user; For each of the sampling points, respectively calculating the distance from the sampling point to the task position of each of the subtasks, and obtaining the minimum distance among multiple distances; Comparing the minimum distance corresponding to each sampling point with the desired travel distance of the candidate user, respectively, to obtain the number of first sampling points where the minimum distance is smaller than the desired travel distance; The task reachability probability of the candidate user is obtained based on a ratio of the first number of sampling points to the second number of sampling points, wherein the second number of sampling points is the number of the plurality of sampling points.
4. The method according to claim 1, wherein After sending the task information to the target user, the method further includes: Receiving task response information sent by the target user; If the task response information indicates that the task is not accepted, the target user is deleted from the candidate user set, and the operation of sending the task information to the target user based on the task reachability probability corresponding to each candidate user is repeated.
5. A task processing method, characterized in that: The method comprises: Obtain the user's real location, privacy radius, and desired travel distance; Determining an obfuscated location of the user according to the real location and the privacy radius; Sending user information to the server; the user information includes the user's obfuscated location, privacy radius, and desired travel distance; receiving task information sent by the server; the task information is sent when the server determines, based on the task information and the user information, that the user is the user with the highest probability of reaching the task; Sending task response information to the server according to the real location, the desired travel distance and the task information; the task response information includes accepting the task or not accepting the task.
6. The method according to claim 5, characterized in that The determining, based on the real location and the privacy radius, of the obfuscated location of the user includes: determining a privacy activity area of the user according to the real location and the privacy radius; Randomly select k locations in the privacy activity area; where k is an integer greater than 0; An average position of the k positions is calculated and used as the confusion position.
7. The method according to claim 5, characterized in that The sending task response information to the server according to the real location, the desired travel distance, and the task information includes: determining a second desired activity area according to the actual location and the desired travel distance; determining whether the task location in the task information is within the second desired activity area; If so, sending the task response information including the task acceptance to the server; If not, the task response information including the task rejection is sent to the server.
8. An electronic device, characterized in that: include: Memory, processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor performs the method according to any one of claims 1 to 4 or any one of claims 5 to 7.
9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method according to any one of claims 1 to 4 or any one of claims 5 to 7.
10. A computer program product, characterized in that The method comprises a computer program, which implements the method according to any one of claims 1 to 4 or any one of claims 5 to 7 when the computer program is executed by a processor.