Crowdsourcing task allocation method, device, electronic device and storage medium

By combining a group-noising and popularity-aware fuzzy distance collection method with an optimization algorithm, the problem of balancing privacy protection and task allocation utility in spatial crowdsourcing task allocation is solved, and the average travel distance is minimized and the task allocation utility is improved while protecting user location privacy.

CN115391637BActive Publication Date: 2025-09-05BEIJING UNIV OF POSTS & TELECOMM
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210772391.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-30
Publication Date
2025-09-05
Estimated Expiration
2042-06-30

AI Technical Summary

Technical Problem

In spatial crowdsourcing task allocation, how to reasonably allocate tasks to minimize the average travel distance while protecting the privacy of participants, while considering the preferences of participants and the actual feasibility of tasks.

Method used

Through the grouping and noisy mechanism, the real positions within each group are used to generate fuzzy representative positions. Combined with the popularity-aware fuzzy distance collection method, the optimal grouping is generated and task assignment is performed. The alternating direction multiplier method and Lagrange multiplier method are used to optimize the grouping process to ensure privacy protection and task assignment utility.

Benefits of technology

While protecting the user's location privacy, the average travel distance of task assignment is reduced, the utility of task assignment is improved, the number of partitions of the privacy budget is reduced, and the accuracy and efficiency of task assignment are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115391637B_ABST
    Figure CN115391637B_ABST
Patent Text Reader

Abstract

The present application provides a crowdsourcing task allocation method, device, electronic device, and storage medium, including: obtaining original task group data after noise injection from a server; obtaining a preference set from a client terminal, grouping the preference set based on the original task group data to generate a preference group, adjusting the preference group to generate an optimal group; generating a fuzzy representative position based on the location information of each crowdsourcing task within the optimal group, thereby determining a fuzzy distance; and obtaining a crowdsourcing task allocation result generated by the server based on the fuzzy distance. The present application uses a group noise addition mechanism to generate a fuzzy position using the real position within each group, which brings a higher probability that the fuzzy position is closer to the real position. At the same time, due to the clustering of tasks within each preference group, each user's privacy budget only needs to be divided a few times, providing privacy protection for each user's location while obtaining an allocation result with a smaller travel distance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data distribution technology, and in particular to a crowdsourcing task distribution method, device, electronic device and storage medium. Background Art

[0002] Spatial crowdsourcing is a typical crowdsourcing model that uses unspecified participants to complete spatial tasks, such as distributing coupons and monitoring the surrounding environment by moving participants to a target location. In spatial crowdsourcing, each participant can only be assigned a limited number of tasks due to time or space constraints. For example, a participant may only have time for work or work near their home, and tasks far from these locations should not be assigned to them. Therefore, how to assign tasks that a participant can objectively complete is a key issue. Task allocation methods that minimize the average travel distance and assign participants to tasks that they prefer are an effective way to address this problem.

[0003] However, disclosing real-world locations may pose a significant risk to participants’ privacy, as uploaded locations may reveal living habits or other sensitive information. Without proper privacy protection, participants may be reluctant to participate in spatial crowdsourcing systems. Summary of the Invention

[0004] In view of this, the purpose of this application is to propose a crowdsourcing task allocation method, device, electronic device and storage medium.

[0005] Based on the above objectives, this application provides a crowdsourcing task allocation method, which is applied to a client terminal and includes:

[0006] Obtaining original task group data after noise injection on the server side; wherein the noise injected on the server side is obtained by generating a representative position based on the position information of each group of crowdsourcing tasks;

[0007] Obtaining a preference set of the client terminal, grouping the preference set according to the original task grouping data to generate a preference group, and adjusting the preference group according to the distance from a representative position of the preference group to each crowdsourcing task in the group to generate an optimal group;

[0008] generating a fuzzy representative position based on the position information of each crowdsourcing task in the optimal group, determining a fuzzy distance from the fuzzy representative position to the client terminal, and transmitting the fuzzy distance to the server;

[0009] Acquire a crowdsourcing task allocation result generated by the server according to the fuzzy distance, and perform crowdsourcing task allocation according to the crowdsourcing task allocation result.

[0010] In some implementations, the noise injected by the server is specifically:

[0011]

[0012] Among them, E(total) is the injected noise, C is the crowdsourcing task grouping set of a specific customer, and C k Group the kth crowdsourcing tasks for a specific customer, E G Injecting noise for privacy protection, E IL is the information loss, ε is the privacy protection budget, |C| is the number of grouping results for a specific customer, |C k | is the number of tasks in the kth crowdsourcing task group, q is the random variable that traverses the tasks in the group, μ and μ′ k are the representative position in the set group and the representative position after noise addition in the kth group, t q C k The qth task in the group.

[0013] In some implementations, the original task grouping data is determined by:

[0014] The number of tasks in each group of the original task group data is made equal by using an alternating direction multiplier method and a Lagrange multiplier method, thereby generating the original task group data.

[0015] In some embodiments, adjusting the preference grouping according to the distance between the representative position of the preference grouping and each crowdsourcing task in the group includes:

[0016] Adjusting the preference grouping by using grouping parameters and quantity parameters;

[0017] The grouping parameters are specifically

[0018]

[0019]

[0020] in, To merge k groups into r groups, the maximum intra-group sum is: Merge j groups into the maximum intra-group sum of r-1 groups, G q .d1 is C k is the kth crowdsourcing task group for a specific customer, μ is the representative position in the set group, t q C k The qth task in the group, is the grouping parameter, |C| is the number of groups of the grouping result of a specific customer, and G is a preset non-negative structure set;

[0021] The quantity parameters are specifically

[0022]

[0023] Among them, ω is the quantity parameter, ρ is the number of tasks in the preference group.

[0024] In some embodiments, generating a fuzzy representative position using the position information of each crowdsourcing task in the optimal group includes:

[0025] Determining a representative position of each group of the optimal grouping, and calculating a probability of each representative position becoming the fuzzy representative position, thereby generating the fuzzy representative position;

[0026] The representative position of each group in the optimal grouping is specifically

[0027]

[0028] Among them, μ k is the representative position in the kth group, C k Group the kth crowdsourcing tasks for a specific customer, |C k | is the number of tasks in the kth crowdsourcing task group, Y i For the i-th crowdsourcing task t i The number of times it appears in the preference group, M is the total number of crowdsourcing tasks, t j is the jth crowdsourcing task;

[0029] The probability is specifically

[0030]

[0031] Among them, P(μ′ k |μ k ) is the probability, ε is the privacy protection budget, μ k and μ′ k are the representative position in the k-th group and the representative position after noise addition in the k-th group, C k Group the kth crowdsourcing task for a specific customer, z is C k The specific location of a crowdsourcing task within the group.

[0032] Based on the same concept, the present application also provides a crowdsourcing task allocation device, which is applied to a client terminal and includes:

[0033] An acquisition module is configured to acquire original task group data after noise is injected by the server; wherein the noise injected by the server is obtained by generating a representative position based on the position information of each group of crowdsourcing tasks;

[0034] a generation module, configured to obtain a preference set of the client terminal, group the preference set according to the original task grouping data to generate a preference group, and adjust the preference group according to the distance from the representative position of the preference group to each crowdsourcing task in the group to generate an optimal group;

[0035] a determination module, configured to generate a fuzzy representative position based on the position information of each crowdsourcing task in the optimal group, determine a fuzzy distance from the fuzzy representative position to the client terminal, and transmit the fuzzy distance to the server;

[0036] The allocation module obtains the crowdsourcing task allocation result generated by the server according to the fuzzy distance, and performs crowdsourcing task allocation according to the crowdsourcing task allocation result.

[0037] In some implementations, the noise injected by the server is specifically:

[0038]

[0039] Among them, E(total) is the injected noise, C is the crowdsourcing task grouping set of a specific customer, and C k Group the kth crowdsourcing tasks for a specific customer, E G Injecting noise for privacy protection, E IL is the information loss, ε is the privacy protection budget, |C| is the number of grouping results for a specific customer, |C k | is the number of tasks in the kth crowdsourcing task group, q is the random variable that traverses the tasks in the group, μ and μ′ k are the representative position in the set group and the representative position after noise addition in the kth group, t q C k The qth task in the group.

[0040] In some implementations, the original task grouping data is determined by:

[0041] The number of tasks in each group of the original task group data is made equal by using an alternating direction multiplier method and a Lagrange multiplier method, thereby generating the original task group data.

[0042] Based on the same concept, the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements any of the above methods when executing the program.

[0043] Based on the same concept, the present application also provides a non-transitory computer-readable storage medium, which stores computer instructions, and the computer instructions are used to enable the computer to implement any of the methods described above.

[0044] As can be seen from the above, the present application provides a crowdsourcing task allocation method, device, electronic device and storage medium, including: obtaining the original task group data after noise injection on the server side; obtaining the preference set of the client terminal, grouping the preference set according to the original task group data to generate a preference group, adjusting the preference group to generate an optimal group; generating a fuzzy representative position through the location information of each crowdsourcing task in the optimal group, thereby determining the fuzzy distance; obtaining the crowdsourcing task allocation result generated by the server side based on the fuzzy distance. The present application uses a group noise addition mechanism. Since the real position within each group is used to generate the fuzzy position, this brings a higher probability that the fuzzy position is closer to the real position. At the same time, due to the clustering of tasks within each preference group, the privacy budget of each user only needs to be divided several times, while providing privacy protection for each user's location, an allocation result with a smaller travel distance is obtained. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following briefly introduces the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are merely embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0046] Figure 1 A flowchart of a crowdsourcing task allocation method proposed in an embodiment of the present application;

[0047] Figure 2(a) to Figure 2(j) A schematic diagram showing a performance comparison between the crowdsourcing task allocation method proposed in an embodiment of the present application and existing methods;

[0048] Figure 3(a) to Figure 3(f) A schematic diagram comparing the performance of the OGAL method proposed in the embodiment of the present application with existing methods;

[0049] Figure 4(a) to Figure 4(b) A schematic diagram comparing the performance of the PODC method proposed in the embodiment of the present application with that of the existing method;

[0050] Figure 5 A schematic diagram of the structure of a crowdsourcing task allocation device proposed in an embodiment of the present application;

[0051] Figure 6 This is a schematic diagram of the electronic device structure proposed in an embodiment of the present application. DETAILED DESCRIPTION

[0052] In order to make the purpose, technical solutions and advantages of this specification more clear, this specification is further described in detail below in combination with specific embodiments and with reference to the accompanying drawings.

[0053] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the embodiments of the present application should have the usual meanings understood by people with ordinary skills in the field to which this application belongs. The "first", "second" and similar words used in the embodiments of the present application do not indicate any order, quantity or importance, but are only used to distinguish different components. "Include" or "comprise" and similar words mean that the elements, objects or method steps that appear before the word cover the elements, objects or method steps listed after the word and their equivalents, without excluding other elements, objects or method steps. "Connect" or "connected" and similar words are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0054] As described in the background technology section, in the existing technical field, geographic indistinguishability (Geo-I) is currently the gold standard for dealing with the problem of location privacy protection. Unlike spatial fuzzification technology, it replaces a user's location with a limited area. At the same time, the protection level of Geo-I does not rely on the attacker's prior knowledge, and it does not assume the existence of a trusted server. Finally, it can be simply and effectively implemented through the Planar Laplacian mechanism (PL). Through PL, the location of users participating in the crowdsourcing task has been perturbed before being sent to the server. Since the precise location never leaves the user's client terminal, it can effectively protect other attack targets outside the user's local area (such as the server), thereby combating potential privacy leakage risks. In the current field, PL has been widely used in various applications, such as LP-Guardian, LP-Doctor, etc.

[0055] However, while researching the problem of task allocation with a preference set under the premise of Geo-I protecting user location, we found that existing techniques require each user to first exclude tasks they do not want to perform and use the remaining tasks as their preference set, or directly select the set of tasks they want to perform. The server then assigns a user to each task to minimize the average travel distance, while using Geo-I to protect each user's location. Although existing techniques have well studied the problem of task allocation with user location protection, current techniques implicitly assume that users can perform any task, which may not be realistic in practice. Furthermore, due to the randomness and unbounded nature of PL, the amount of injected noise can be excessive.

[0056] Considering the above practical situation, in specific application scenarios, users who are the target of crowdsourcing tasks generally prefer locations near their residence or workplace. This leads to a certain clustering of tasks within a user's preference set. Therefore, if some locations are geographically close to each other, these locations can be replaced with a fuzzy location. This allows for a balance between location privacy and location utility using grouped noise addition. Specifically, as an extreme example, if the locations within a preference set are identical, using grouped noise addition results in no information loss other than the injected noise, and the noise only needs to be injected once. Subsequently, to improve the utility of task allocation under Geo-I, the injected noise of the grouped noise addition mechanism can be minimized. It is also worth noting that this scheme allows the privacy budget to be split based on the number of groups of tasks within the preference set. Although directly perturbing the user's location using PL and uploading it to the server can avoid privacy budget partitioning and maintain Geo-I, the perturbed location may deviate significantly from the true location. Consequently, the calculated fuzzy distance also contains a significant amount of injected noise, reducing the utility of task allocation.

[0057] Furthermore, the present embodiment proposes a crowdsourcing task allocation scheme. This scheme utilizes a group-noising mechanism. By utilizing the true location within each group to generate a fuzzy location, this scheme creates a higher probability of the fuzzy location being closer to the true location. Furthermore, due to the clustering of tasks within each preference group, each user's privacy budget only needs to be split a few times. This ensures privacy for each user's location while also resulting in an allocation result with a shorter travel distance.

[0058] In some embodiments, to address the low utility of the aforementioned existing solutions for specific scenarios, this application proposes a task allocation method via group-based noise addition (CANOE) that satisfies geographic indistinguishability. The overall idea of ​​this method is that each user uploads the distance from their real location to the fuzzy location of the preferred task instead of uploading their own fuzzy location. Here, we first describe the CANOE algorithm in detail.

[0059] In the CANOE algorithm, two types of noise are first used to obtain appropriate groupings, namely the information loss caused by replacing a group of positions with one position and the injected noise injected for privacy protection. In this way, the tasks in each user's preference set are grouped, and by minimizing the above two types of noise and the inferred constraints, an optimal global grouping method with adaptive local adjustment (OGAL) is proposed. In the OGAL method, in order to group the preferred tasks of each user, a mixed integer nonlinear programming problem (MINLP) with non-convex constraints can be formalized to perform optimal global grouping (Optimized Global Grouping) to obtain a coarse-grained global grouping result, and the grouping result is sent to each user. Since the existing solutions are all for convex optimization problems, and the processing of non-convex constraints has the characteristics of NP-hard, based on Benders Decomposition (BD) and Alternating Direction Method of Multipliers (ADMM), this application designs a solution method with convergence guarantee. Each user then applies their preferred tasks and preference sets to the global grouping results to obtain their own preliminary grouping results. To further improve the effectiveness of the grouping results, this application proposes an adaptive local adjustment method (ALA) to enable each user to adaptively adjust the grouping results to obtain the optimal number of groups and the grouping results within each group.

[0060] After obtaining the optimal grouping for each user, it adds noise to each group and calculates the distance required for task assignment. Note that if there are too many candidate users for a task, the server may select a suboptimal user to complete the task. This application assumes that a task can only be assigned to one user, and a user can only be assigned to one task. Furthermore, directly using PL may result in excessive noise injection. To address this, this application designs a popularity-aware obfuscated distance collection (PODC) method, where popularity refers to the number of times a task appears in a preference set. The key idea is to generate fuzzy locations while considering both the popularity of the task and the tasks within the same group. Since a generated fuzzy location is constrained to the same group as the task, the distance between the two is relatively small, resulting in good utility. In PODC, an optimization problem is first formalized to generate a representative location within each group. Then, noise locations are generated for each group through noise sampling. Finally, each user calculates the distance from their true location to the noise location and uploads it to the server. Finally, after the server obtains the fuzzy distance from each user location to the task location, it can call the non-privacy task allocation algorithm to perform task allocation to obtain the final allocation result.

[0061] like Figure 1 FIG. 1 is a flow chart of a crowdsourcing task allocation method proposed in this application, which specifically includes:

[0062] Step 101 , obtaining original task group data after noise injection on the server side; wherein the noise injected on the server side is obtained by generating a representative position according to the position information of each group of crowdsourcing tasks.

[0063] In this step, the server will perform initial task grouping planning based on the public location of each crowdsourcing task (i.e., the location information of the crowdsourcing task). The initial task grouping can be performed by formalizing a mixed integer nonlinear programming problem with non-convex constraints. The grouping result formed after the grouping is completed is the original task grouping data.

[0064] According to the aforementioned application, it is necessary to first perform coarse-grained global grouping. For this purpose, two types of noise need to be injected first, namely the noise injected for privacy protection and the information loss caused by replacing a group of positions with one position. In some embodiments, during the grouping process, it is necessary to first inject noise for user privacy protection.

[0065]

[0066] Among them, C kGroup the kth crowdsourcing tasks for a specific customer, E G is the injected noise for privacy protection, r and θ are the distance and disturbance angle of the fuzzy position generated by the privacy protection mechanism when the PL mechanism is satisfied, ε is the privacy protection budget, and D(r,θ) is the probability density function of generating the fuzzy position, which is expressed as

[0067] Then, quantify the information loss caused by using one position to represent a group of positions

[0068]

[0069] Among them, E IL is the information loss, w i For the i-th user, μ and μ′ k are the representative position in the set group and the representative position after noise addition in the kth group, t j and t q Group C k The jth task and the qth task in the group, and q can be a random variable that traverses the tasks in the group, |C k | is the number of tasks in the kth crowdsourcing task group.

[0070] The overall noise injected is

[0071]

[0072] Among them, E(total) is the injected noise, C is the crowdsourcing task grouping set of a specific customer, and C k Group the kth crowdsourcing tasks for a specific customer, E G Injecting noise for privacy protection, E IL is the information loss, ε is the privacy protection budget, |C| is the number of grouping results for a specific customer, |C k | is the number of tasks in the kth crowdsourcing task group, q is the random variable that traverses the tasks in the group, μ and μ′ k are the representative position in the set group and the representative position after noise addition in the kth group, t q C k The qth task in the group.

[0073] Then, in order to minimize the overall noise, it was found that each group needed to be as balanced as possible, that is,

[0074]

[0075] Where Q is another symbol to represent the number of groups. When |C1|=|C2|=…=|C Q|, the overall noise is minimized. In other words, the number of tasks in the group needs to be as equal as possible. To this end, the Balance-Aware Grouping method (BAG) is proposed. In the BAG method, in order to meet the above constraints, the following optimization problem is formalized:

[0076]

[0077]

[0078] The first part of the function is to minimize the distance within the group, and the second part is to balance the clustering. Among them, u is the membership degree of a specific group, μ is the representative position of a specific group or the cluster center of the specific group, and u ik For the i-th crowdsourcing task x i The membership degree of the kth group, N is the total number of users, a ik is an auxiliary variable with a value of 0 or 1, and The first two constraints are Non-negative Constraint and Normalizing Constraint, which respectively mean that the membership is not negative and their sum is 1. The third constraint is Boolean Constraint, which means that a task belongs to only one group.

[0079] Here, it can be noted that the above problem is a mixed integer nonlinear programming problem MINLP with non-convex constraints, which has the characteristics of NP-hard. However, the existing nonlinear optimization technology can only handle convex optimization objectives, so it is necessary to design a corresponding solution. Here, based on BD Bendes decomposition, this embodiment designs an alternating optimization method with convergence guarantee. The overall strategy is to decompose the above optimization problem into two modules, optimize a set of variables in each module, and iterate the optimization until convergence. First, the Boolean Constraint needs to be processed. Inspired by the alternating direction multiplier method ADMM, the auxiliary matrix S is introduced, each element of which is a ik .

[0080]

[0081]

[0082] Among them, μ k is the representative position in the k-th group, or called the cluster center of the k-th group, S T is the transpose of the auxiliary matrix S, S T S is the transpose of S times S.

[0083] Then, using the Lagrange multiplier method, we can get

[0084]

[0085] Furthermore, in order to obtain S, we need

[0086]

[0087] stS-Z=0

[0088] Where Z is an auxiliary matrix of the same size as S. Solving for Z = (2I + τ) -1 (τS + U), where τ > 0 is a shrinkage factor, I is a diagonal matrix of the same size as S, meaning only the diagonal elements are 1 and all other elements are 0, and U is a Lagrange multiplier of the same size as S. And the auxiliary matrix Among them, the V matrix is ​​an auxiliary matrix of the same size as the S matrix, which is used to update the S matrix. ij is the element in the i-th row and j-th column of the matrix V.

[0089] Finally, on the server side, update μ by 1) k 2) Update u ik ; 3) Update Z; 4) Update S; 5) Set U = u + τ(SZ); 6) Set τ = 1.1τ; 7) Repeat steps 1-6 until convergence to complete the initial task grouping and generate the original task grouping data.

[0090] Step 102: Obtain the preference set of the client terminal, group the preference set according to the original task grouping data to generate preference groups, adjust the preference groups according to the distance from the representative position of the preference group to each crowdsourcing task in the group, and generate the optimal group.

[0091] In this step, the preference set is the user's preferred set, obtained through user input or adjustment. It defines the set of crowdsourcing tasks that the user can perform. The original task grouping data obtained in step 101 can be used to group tasks within the preference set based on this initial grouping. These preference groups are then adjusted based on representative positions to generate optimal groupings. The representative position is a theoretical position derived from the actual position of each task within a group of crowdsourcing tasks. This can be obtained by taking the mean of these actual positions, or by determining the cluster center through clustering.

[0092] In some embodiments, the following constraints can be obtained first:

[0093]

[0094] This constraint represents the distance from the representative position in a certain group to each task in the group and satisfies the above inequality. For the sake of convenience, it is assumed that the overall constraint is called Balance Constraint, and the above constraint is called Intra-group Constraint. It is necessary to satisfy the above constraints as much as possible at the same time. Since the fewer the number of elements in the group, the easier it is to implement the Intra-group Constraint, and it is also conducive to the implementation of the Balance Constraint. Therefore, the overall strategy of this embodiment is to deal with the Intra-group Constraint first, which can be achieved by designing a method based on dynamic programming to minimize the maximum intra-group sum (Minimize the Maximum Sum based on dynamic programming, MMS). Then, this application designs a migration-based Grouping Adjustment (MGA) method to implement the Balance Constraint constraint with as few times as possible.

[0095] Specifically, given a non-negative structure set G. Each element G i Contains a group C k and two attributes G q .d1 and G q .d2. These two properties represent and Each group in G has been sorted according to its distance to the user's real location. After that, we need to merge |G| groups into |C| non-empty continuous groups and minimize the maximum G q .d1. For example, suppose the ordered array formed by the five groups is [8, 2, 4, 9, 8]. That is, |G| = 5. Assuming the number of groups |C| = 2, the merged groups are [8, 2, 4] and [9, 8], because the maximum sum is 17, which comes from max(8+4+2,9+8), which is also the minimum sum. Note that [8, 2, 9] is not a valid group, so 2 and 9 are not adjacent in the original array.

[0096] In particular, in MMS, it is assumed that It represents the maximum value when the first k groups are merged into r groups, and the state transition equation is as follows:

[0097]

[0098] To merge k groups into r groups, the maximum intra-group sum is: Merge j groups into the maximum intra-group sum of r-1 groups, Gq .d1 is C k is the kth crowdsourcing task group for a specific customer, μ is the representative position in the set group, t q C k The qth task in the group. It represents the maximum intra-group sum of merging the first k (k≤|G||) groups into r (r≤|C|) groups, which is the larger of merging j groups into r-1 groups and merging the j+1th to kth groups into one group. Each user traverses all k and r and returns

[0099]

[0100] in, is the grouping parameter, |C| is the number of groups of the grouping result of a specific customer, and G is a preset non-negative structure set. Then we can get Adjust the grouping. Specifically, start with the first group, and merge the subsequent groups into it until G i .d1>G i .d2 or

[0101] After processing the Intra-group Constraint using the MMS algorithm, we now need to process the BalanceConstraint to determine the optimal number of tasks within each group. Data induction shows that the minimum number of groups is required when the number of tasks within a group is relatively balanced. Furthermore, after MMS, some groups may have a large number of tasks while others may have a small number. To reduce the number of migrations required to adjust groupings, the following problem can be formalized in MGA:

[0102] Given an array [x1,x2…x |C| ] Where ρ is the number of tasks in the preference group. Here we need to find the minimum number of adjustments that makes the elements in the group relatively balanced, that is,

[0103]

[0104] Among them, ω is the quantity parameter, ρ is the number of tasks within the preferred group. The optimal solution to the above problem is the median of the corresponding array of non-negative integers, which is ω. After obtaining ω, the client terminal can adjust the number of tasks in each group. In particular, if the number of tasks in a group exceeds ω, the excess tasks are evenly distributed among several nearby groups.

[0105] This can finally be done by grouping parameters And the quantity parameter ω to finally get the optimal grouping.

[0106] Step 103 : generating a fuzzy representative position based on the position information of each crowdsourcing task in the optimal group, determining a fuzzy distance from the fuzzy representative position to the client terminal, and transmitting the fuzzy distance to the server.

[0107] In this step, after obtaining the optimal grouping of each user through step 102, it adds noise to each group and calculates and uploads the distance from its own real position to the representative position in the group to the server for subsequent task allocation. Specifically, first obtain a representative position for each group, and then add noise to the position. The more intuitive method currently available is to upload the distance from the user's precise position to the fuzzy cluster center to the server. However, considering the "Matthew effect" of tasks, that is, some tasks are only in the preference set of a small number of tasks, and other tasks are in the preference set of most users. Then tasks in multiple user preference sets are more likely to be assigned incorrectly, resulting in a larger average travel distance. In order to reduce the average travel distance, these popular tasks should be given priority. In addition, due to the unboundedness and randomness of the planar Laplace distribution of PL, directly using PL to add noise to the representative position may result in the addition of excessive noise.

[0108] To this end, this application proposes a popularity-aware obfuscated distance collection method (PODC). First, the number of times each task becomes a task in the preference set is calculated, and this number is called "popularity". The popularity is then integrated to generate a representative position for each group. Then, the representative position is noised by sampling. Finally, the distance from the own position to the weighted value is calculated and uploaded to the server for task allocation. Since the generated fuzzy position is limited to the range formed by the tasks within the group, it can be expected that PODC can bring better utility.

[0109] Specifically, first define popularity where Y i For the i-th crowdsourcing task t i The number of times it appears in the preference group, M is the total number of crowdsourcing tasks, t j is the jth crowdsourcing task.

[0110] First, to generate a weighted representative position μ k , we can formalize the following problem:

[0111]

[0112] The solution is:

[0113]

[0114] Among them, μ k is the representative position in the kth group, C k Group the kth crowdsourcing tasks for a specific customer, |C k | is the number of tasks in the kth crowdsourcing task group, Y i For the i-th crowdsourcing task t i The number of times it appears in the preference group, M is the total number of crowdsourcing tasks, t j For the jth crowdsourcing task

[0115] Afterwards, it can be noted that if a position is far away from the true position, the probability of that position being an ambiguous position needs to be reduced. k Sampling generates a fuzzy representative position μ′ k The probability of μ k and μ′ k Therefore, μ′ is generated k The probability of is set as follows

[0116]

[0117] Among them, P(μ′ k |μ k ) is the probability, ε is the privacy protection budget, μ k and μ′ k are the representative position in the k-th group and the representative position after noise addition in the k-th group, C k Group the kth crowdsourcing task for a specific customer, z is C k The specific location of a crowdsourcing task within the group.

[0118] Furthermore, according to μ k and P(μ′ k |μ k ) to obtain the fuzzy representative position.

[0119] Finally, after obtaining each fuzzy representative location, each client terminal locally calculates the distance from its actual location to the fuzzy representative location and uses this distance as the distance between the task in the group corresponding to the fuzzy representative location and the user's actual location, i.e., the fuzzy distance. This fuzzy distance is then transmitted to the server.

[0120] Step 104 : obtaining a crowdsourcing task allocation result generated by the server according to the fuzzy distance, and performing crowdsourcing task allocation according to the crowdsourcing task allocation result.

[0121] In this step, after the server obtains the fuzzy distance from each user to the task, the server can call the non-privacy task allocation algorithm to perform task allocation to obtain the allocation result. Specifically, for each task, the server selects the user closest to it. In some embodiments, the server can call the greedy non-privacy task allocation algorithm (Greedy Non-privacy Task Allocation algorithm, GreNTA) to perform task allocation to obtain the allocation result. For example, for the first crowdsourcing task t1, assuming that there are three users w1, w3, and w5 who prefer this task, and the distances from them are 1.5km, 1.6km, and 1.4km respectively, then user w5 can be assigned to the task. Since in this embodiment, it is assumed that a task can only be assigned to one user, and a user can only be assigned to do one task, then after this, user w5 and crowdsourcing task t1 become unavailable. Then, the server can continue to greedily allocate other crowdsourcing tasks except t1. Afterwards, after the server completes the final crowdsourcing task allocation, the crowdsourcing task allocation result is sent to the client terminal, so that the client terminal performs crowdsourcing task allocation according to the crowdsourcing task allocation result.

[0122] In a specific embodiment, to verify the effectiveness of crowdsourcing task allocation in this embodiment, we used the widely used real-world datasets, the TKY and TD datasets, for experimental verification. The TKY dataset is a subway and office dataset from Tokyo, containing 325 subway stations and 503 office addresses. It contains 573,708 check-in records. The TD dataset contains 9,019 taxi pickup records. Drivers are assumed to be users, and passengers are crowdsourcing tasks. We randomly selected 500 users and 368 crowdsourcing tasks for verification.

[0123] Here, we can use the widely used Average Travel Distance (ATD) to measure the utility of task assignment results. The smaller the value, the better. |A| is the number of successfully assigned tasks. The formal definition of ATD is as follows:

[0124]

[0125] Here, (w, t) represents the assignment of user w to crowdsourcing task t, and |A| represents the number of (w, t) pairs successfully assigned.

[0126] In order to highlight the superiority of the CANOE algorithm, it is compared with the following algorithms.

[0127] (1) No Privacy algorithm (NoPriv): To prove the utility loss, this includes a non-private version of CANOE.

[0128] (2) Differential Geo-obfuscation (DGO): This is a differential privacy method. Specifically, it adds noise to the user's location by formalizing a constrained optimization problem.

[0129] (3) Incentive-based Task Allocation (IBA): This method uses the Laplace mechanism to perform personalized task allocation.

[0130] (4) Probability-based Task Allocation (PBA): This method uses the Laplace mechanism to compare which worker is closer to a task, thereby achieving task allocation.

[0131] (5) Tree-based Task Allocation (TBA): It uses a tree-based privacy mechanism to select the nearest reachable user for each task.

[0132] The following describes the effect and performance of the method of this embodiment by comparing the ATD experimental results of CANOE of the method of this embodiment with those of the existing method.

[0133] Five parameters will affect the effectiveness of CANOE, as shown in Table 1.

[0134]

[0135] Table 1 Description of parameters affecting CANOE

[0136] Figures 2(a) and 2(b) show the utility comparisons of each comparison algorithm and CANOE when ε varies. It can be observed that CANOE outperforms the comparison algorithms in all cases. On the one hand, for each group, the generated fuzzy location range is limited by combining the locations of tasks within the same group, resulting in a higher probability that the fuzzy location is close to the true location. On the other hand, by adding noise to the groups, a task is more likely to be assigned to the optimal user that minimizes the average travel distance. These two factors together make CANOE insensitive to ε. In contrast, for DGO, the task assigned to a user may not be in their preferred task set. In this case, the task can only be assigned to the user closest to them, resulting in a larger ATD. For IBA, when the server determines the user to assign a task by comparing the distances between different users and tasks, multiple probability comparisons are required in a single iteration, resulting in a high level of noise in the resulting decision. This leads to incorrect decisions and inevitably poor utility. For PBA, due to the randomness of the probabilistic approximation used when post-processing the fuzzy locations generated by the PL, the processed locations may be far from the true location. For TBA, it generates ambiguous positions based on a priori position ranges. However, different position ranges may lead to different results, making it unsuitable for deployment in practical applications. Moreover, it may not be possible to obtain the position range in advance in practice.

[0137] Figures 2(c) and 2(d) show the impact of the number of preferred tasks, ρ, on the experimental results. It can be observed that all methods perform better as the number of samples increases. This is because, when the number of tasks is fixed, a larger number of samples leads to a greater probability of assigning each task to a better user.

[0138] Figures 2(e) and 2(f) show the impact of the number of users on the experimental results. It can be observed that as the number of users increases, the performance of all methods improves. This is because a larger number of users makes it more likely that tasks will be assigned to tasks that are actually close to them, thus reducing the ATD.

[0139] Figure 2(g) and Figure 2(h) show the impact of the number of tasks on the experimental results. It can be observed that as the number of tasks increases, the performance of all methods improves. This is because more tasks reduce the number of options for each task.

[0140] Figures 2(i) and 2(j) show the impact of the number of groups on the experimental results. We can observe that as the number of groups increases, the ATD remains relatively stable. This is because the method of this embodiment adaptively determines the initial number of groups, making it more robust with respect to the number of groups.

[0141] To verify the effectiveness of OGAL, we first validate OGAL as a whole and then verify the impact of its core components, BAG and ALA, which are used to perform global original task grouping and local adjustment grouping of preference sets, respectively.

[0142] To comprehensively validate OGAL, we compared it with three baseline algorithms: Global Grouping (GG), Local Grouping (LG), and Global Local Grouping (GL). For GG, the server simply groups tasks and sends the grouping pattern to each user. For LG, each user only performs local adjustments. For GL, the server first uses the existing k-means algorithm to perform grouping instead of our designed BAG, and then each user continues to use the k-means algorithm to perform local adjustments.

[0143] As shown in Figures 3(a) and 3(b), we can see that, first, as ε increases, LG performs better than GG. This is because the number of tasks in each user's preference set is much smaller than the total number of tasks, and GG would introduce too much information loss. Second, GL performs better than LG, demonstrating the effectiveness of grouping and noise addition. Third, OGAL performs better than the aforementioned baseline algorithms. This is because OGAL achieves better global and local grouping, minimizing overall noise.

[0144] In order to verify the impact of BAG, three baseline algorithms are used, namely, NoneExponential Constraint (NEC), None Bool Algorithm (NBA), and None Balance Constraint (NBC). For NEC, it makes u ik = 0. For NBA, when solving the S subproblem, a random value is given to S. For NBC, the grouping is performed without considering the Balance Constraint to verify the error.

[0145] As shown in Figures 3(c) and 3(d), NBA and NBC perform poorly. This is because NBC introduces a significant amount of noise when the Balance Constraint is not considered. Furthermore, the formalized problem may not converge for NBA. Second, NEC performs better than NBA and NBC, but worse than BAG. This validates the effectiveness of noise minimization and the Exponential Constraint. Without the Exponential Constraint, crowdsourcing tasks that should have been divided into multiple groups are instead grouped into a single group, resulting in significant information loss. Third, BGA performs best because it minimizes noise and ensures convergence.

[0146] In order to verify the effectiveness of ALA, five baseline algorithms were used, namely, NoneDynamic programming Bool (NDB), None Intra-group Constraint (NIC), None Dynamic programming for Intra-group constraint (NDI), MMS, and MGA. For NDB, it does not execute the balance constraint. For NIC, it does not execute the Intra-group Constraint constraint. For NDI, it executes the Intra-group Constraint constraint but does not apply dynamic programming. For MMS, it only executes MGA to determine the optimal number of tasks in each group. For MGA, it only executes MMS to determine the optimal intra-group distance.

[0147] As shown in Figures 3(e) and 3(f), MMS outperforms MGA. Furthermore, NDB outperforms all other compared algorithms except ALA. This is because MMS paves the way for MGA. Furthermore, according to previous analysis, MMS injects less noise than PL. Because intra-group constraints are closely related to PL, relatively good results can be achieved even without MMS to address intra-group constraints. Secondly, MMS and MGA perform the worst, demonstrating their need to jointly address local adjustments. Finally, ALA performs the best. This is because MMS and MGA minimize the noise in each user's group.

[0148] To validate the effectiveness of PODC, five comparison algorithms were used. Note that PODC consists of two phases: determining a representative location for each group and generating a fuzzy representative location. The comparison algorithms, including Popularity-Aware Location Obfuscation (PLO), Popularity-Aware Geography Obfuscation (PGO), Popularity-Aware Location Verification (PLV), Popularity-Aware Geography Verification (PGV), and Popularity-Aware Location Networking (PLN), differ in their representative location determination and fuzzy location generation methods. For PLO, the average representative location for each group is obtained, and noise is added using PLV. For PGO, the average representative location for each group is obtained, and noise is added using a designed noise addition method. For PLV, only tasks as far away as possible from other tasks in the group are considered, and noise is added using PLV. For PGV, the only difference from PLV is the use of a new noise location generation method for generating fuzzy locations. For PLN, the position determination method of representative design and PL added noise are adopted.

[0149] As shown in Figures 4(a) and 4(b), we can see that, first, PGO and PGV, with the exception of PODC, perform better than the other methods. This is because the designed fuzzy position generation method contributes more to accuracy. Second, PGV outperforms PGO, and PLN outperforms PLV, demonstrating the effectiveness of the representative position determination method. Finally, PODC performs best because the designed representative position determination method minimizes information loss, and the fuzzy localization method minimizes injected noise.

[0150] As can be seen from the above, a crowdsourcing task allocation method according to an embodiment of the present application includes: obtaining the original task grouping data after noise injection on the server side; obtaining the preference set of the client terminal, grouping the preference set according to the original task grouping data to generate a preference group, adjusting the preference group to generate an optimal group; generating a fuzzy representative position through the location information of each crowdsourcing task in the optimal group, thereby determining the fuzzy distance; and obtaining the crowdsourcing task allocation result generated by the server side according to the fuzzy distance. The present application uses a group noise adding mechanism. Since the real position in each group is used to generate the fuzzy position, this brings a higher probability that the fuzzy position is closer to the real position. At the same time, due to the clustering of tasks in each preference group, the privacy budget of each user only needs to be divided several times, providing privacy protection for each user's location while obtaining an allocation result with a smaller travel distance.

[0151] It should be noted that the method of the embodiment of the present application can be performed by a single device, such as a computer or server. The method of the embodiment of the present application can also be applied in a distributed scenario and completed by multiple devices working together. In the case of such a distributed scenario, one of the multiple devices may only perform one or more steps of the method of the embodiment of the present application, and the multiple devices will interact with each other to complete the method described.

[0152] It should be noted that the above description is of specific embodiments of the present application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the above embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0153] In an optional exemplary embodiment, the noise injected by the server is specifically:

[0154]

[0155] Among them, E(total) is the injected noise, C is the crowdsourcing task grouping set of a specific customer, and C k Group the kth crowdsourcing tasks for a specific customer, E G Injecting noise for privacy protection, E IL is the information loss, ε is the privacy protection budget, |C| is the number of grouping results for a specific customer, |C k | is the number of tasks in the kth crowdsourcing task group, q is the random variable that traverses the tasks in the group, μ and μ′ kare the representative position in the set group and the representative position after noise addition in the kth group, t q C k The qth task in the group.

[0156] In an optional exemplary embodiment, the original task grouping data is determined by:

[0157] The number of tasks in each group of the original task group data is made equal by using an alternating direction multiplier method and a Lagrange multiplier method, thereby generating the original task group data.

[0158] In this embodiment, it can be noted that the problem in the aforementioned steps is a mixed integer nonlinear programming problem MINLP with non-convex constraints, which has the characteristics of NP-hard. However, existing nonlinear optimization techniques can only handle convex optimization objectives, so corresponding solutions need to be designed. Here, based on BD Bendes decomposition, this embodiment designs an alternating optimization method with convergence guarantee. The overall strategy is to decompose the above optimization problem into two modules, optimize a set of variables in each module, and iterate the optimization until convergence. First, the Boolean Constraint needs to be processed. Inspired by the alternating direction multiplier method ADMM, the auxiliary matrix S is introduced, each element of which is a ik .

[0159]

[0160]

[0161] Among them, μ k is the representative position in the k-th group, or called the cluster center of the k-th group.

[0162] Then, using the Lagrange multiplier method, we can get

[0163]

[0164] Furthermore, in order to obtain S, we need

[0165]

[0166] stS-Z=0

[0167] Where Z is an auxiliary matrix of the same size as S. Solving for Z = (2I + τ) -1 (τS+U), where τ>0 is the shrinkage factor and U is a Lagrange multiplier of the same scale as S. And the auxiliary matrix

[0168] Finally, on the server side, update μ by 1) k2) Update u ik ; 3) Update Z; 4) Update S; 5) Set U = U + τ(SZ); 6) Set τ = 1.1; 7) Repeat steps 1-6 until convergence to complete the initial task grouping and generate the original task grouping data.

[0169] In an optional exemplary embodiment, adjusting the preference grouping according to the distance between the representative position of the preference grouping and each crowdsourcing task in the group includes:

[0170] Adjusting the preference grouping by using grouping parameters and quantity parameters;

[0171] The grouping parameters are specifically

[0172]

[0173]

[0174] in, To merge k groups into r groups, the maximum intra-group sum is: Merge j groups into the maximum intra-group sum of r-1 groups, G q .d1 is C k is the kth crowdsourcing task group for a specific customer, μ is the representative position in the set group, t q C k The qth task in the group, is the grouping parameter, |C| is the number of groups of the grouping result of a specific customer, and G is a preset non-negative structure set;

[0175] The quantity parameters are specifically

[0176]

[0177] Among them, ω is the quantity parameter, ρ is the number of tasks in the preference group.

[0178] In an optional exemplary embodiment, generating a fuzzy representative position using the position information of each crowdsourcing task in the optimal group includes:

[0179] Determining a representative position of each group of the optimal grouping, and calculating a probability of each representative position becoming the fuzzy representative position, thereby generating the fuzzy representative position;

[0180] The representative position of each group in the optimal grouping is specifically

[0181]

[0182] Among them, μk is the representative position in the kth group, C k Group the kth crowdsourcing tasks for a specific customer, |C k | is the number of tasks in the kth crowdsourcing task group, Y i For the i-th crowdsourcing task t i The number of times it appears in the preference group, M is the total number of crowdsourcing tasks, t j is the jth crowdsourcing task;

[0183] The probability is specifically

[0184]

[0185] Among them, P(μ′ k |μ k ) is the probability, ε is the privacy protection budget, μ k and μ′ k are the representative position in the k-th group and the representative position after noise addition in the k-th group, C k Group the kth crowdsourcing task for a specific customer, z is C k The specific location of a crowdsourcing task within the group.

[0186] Based on the same concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a crowdsourcing task allocation device.

[0187] refer to Figure 5 , the crowdsourcing task allocation device includes:

[0188] The acquisition module 210 is used to acquire the original task group data after the server injects noise; wherein the noise injected by the server is obtained by generating a representative position according to the position information of each group of crowdsourcing tasks.

[0189] The generation module 220 is used to obtain the preference set of the client terminal, group the preference set according to the original task grouping data to generate preference groups, and adjust the preference groups according to the distance from the representative position of the preference group to each crowdsourcing task in the group to generate the optimal group.

[0190] The determination module 230 is configured to generate a fuzzy representative position based on the position information of each crowdsourcing task in the optimal group, determine a fuzzy distance from the fuzzy representative position to the client terminal, and transmit the fuzzy distance to the server.

[0191] The allocation module 240 obtains the crowdsourcing task allocation result generated by the server according to the fuzzy distance, and performs crowdsourcing task allocation according to the crowdsourcing task allocation result.

[0192] For the convenience of description, the above devices are described as being divided into various modules according to their functions. Of course, when implementing the embodiments of the present application, the functions of each module can be implemented in the same or multiple software and / or hardware.

[0193] The device of the above embodiment is used to implement the corresponding crowdsourcing task allocation method in the above embodiment, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.

[0194] In an optional exemplary embodiment, the noise injected by the server is specifically:

[0195]

[0196] Among them, E(total) is the injected noise, C is the crowdsourcing task grouping set of a specific customer, and C k Group the kth crowdsourcing tasks for a specific customer, E G Injecting noise for privacy protection, E IL is the information loss, ε is the privacy protection budget, |C| is the number of grouping results for a specific customer, |C k | is the number of tasks in the kth crowdsourcing task group, q is the random variable that traverses the tasks in the group, μ and μ′ k are the representative position in the set group and the representative position after noise addition in the kth group, t q C k The qth task in the group.

[0197] In an optional exemplary embodiment, the original task grouping data is determined by:

[0198] The number of tasks in each group of the original task group data is made equal by using an alternating direction multiplier method and a Lagrange multiplier method, thereby generating the original task group data.

[0199] In an optional exemplary embodiment, the generating module 220 is further configured to:

[0200] Adjusting the preference grouping by using grouping parameters and quantity parameters;

[0201] The grouping parameters are specifically

[0202]

[0203]

[0204] in, To merge k groups into r groups, the maximum intra-group sum is: Merge j groups into the maximum intra-group sum of r-1 groups, Gq .d1 is C k is the kth crowdsourcing task group for a specific customer, μ is the representative position in the set group, t q C k The qth task in the group, is the grouping parameter, |C| is the number of groups of the grouping result of a specific customer, and G is a preset non-negative structure set;

[0205] The quantity parameters are specifically

[0206]

[0207] Among them, ω is the quantity parameter, ρ is the number of tasks in the preference group.

[0208] In an optional exemplary embodiment, the determining module 230 is further configured to:

[0209] Determining a representative position of each group of the optimal grouping, and calculating a probability of each representative position becoming the fuzzy representative position, thereby generating the fuzzy representative position;

[0210] The representative position of each group in the optimal grouping is specifically

[0211]

[0212] Among them, μ k is the representative position in the kth group, C k Group the kth crowdsourcing tasks for a specific customer, |C k | is the number of tasks in the kth crowdsourcing task group, Y i For the i-th crowdsourcing task t i The number of times it appears in the preference group, M is the total number of crowdsourcing tasks, t j is the jth crowdsourcing task;

[0213] The probability is specifically

[0214]

[0215] Among them, P(μ′ k |μ k ) is the probability, ε is the privacy protection budget, μ k and μ′ k are the representative position in the k-th group and the representative position after noise addition in the k-th group, C k Group the kth crowdsourcing task for a specific customer, z is C k The specific location of a crowdsourcing task within the group.

[0216] Based on the same concept, corresponding to any of the above-mentioned embodiments and methods, the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and runnable on the processor, wherein when the processor executes the program, the crowdsourcing task allocation method described in any of the above embodiments is implemented.

[0217] Figure 6 10 is a schematic diagram showing a more specific hardware structure of an electronic device provided in this embodiment. The device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are communicatively connected to each other within the device via the bus 1050.

[0218] The processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.

[0219] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage devices, dynamic storage devices, etc. The memory 1020 can store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 1020 and is called and executed by the processor 1010.

[0220] The input / output interface 1030 is used to connect input / output modules to implement information input and output. The input / output modules can be configured as components within the device (not shown in the figure) or can be externally connected to the device to provide corresponding functions. Input devices may include a keyboard, mouse, touch screen, microphone, various sensors, etc., and output devices may include a display, speaker, vibrator, indicator light, etc.

[0221] The communication interface 1040 is used to connect to a communication module (not shown) to enable communication between the device and other devices. The communication module can communicate via a wired method (such as USB, network cable, etc.) or a wireless method (such as mobile network, WiFi, Bluetooth, etc.).

[0222] The bus 1050 comprises a path for transmitting information between the various components of the device (eg, the processor 1010 , the memory 1020 , the input / output interface 1030 , and the communication interface 1040 ).

[0223] It should be noted that although the above device only shows the processor 1010, the memory 1020, the input / output interface 1030, the communication interface 1040, and the bus 1050, in a specific implementation, the device may also include other components necessary for normal operation. In addition, it will be understood by those skilled in the art that the above device may only include the components necessary to implement the embodiments of this specification, and does not necessarily include all the components shown in the figure.

[0224] The electronic device of the above embodiment is used to implement the corresponding crowdsourcing task allocation method in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.

[0225] Based on the same concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a non-transitory computer-readable storage medium, which stores computer instructions, and the computer instructions are used to enable the computer to execute the crowdsourcing task allocation method described in any of the above embodiments.

[0226] The computer-readable media of this embodiment include permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.

[0227] The computer instructions stored in the storage medium of the above embodiment are used to enable the computer to execute the crowdsourcing task allocation method described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0228] Those skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the present application (including the claims) is limited to these examples. Within the scope of the present application, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other variations of the different aspects of the embodiments of the present application as described above, which are not provided in detail for the sake of simplicity.

[0229] In addition, for simplicity of description and discussion, and in order not to make the embodiment of the application difficult to understand, the known power supply / ground connection with integrated circuit (IC) chip and other components may or may not be shown in the accompanying drawings provided. In addition, the device can be shown in the form of a block diagram to avoid making the embodiment of the application difficult to understand, and this also takes into account the following fact, that is, the details of the embodiment of these block diagram devices are highly dependent on the platform to be implemented in the embodiment of the application (that is, these details should be fully within the scope of understanding of those skilled in the art). When specific details (for example, circuit) are set forth to describe exemplary embodiments of the application, it will be apparent to those skilled in the art that the embodiment of the application can be implemented without these specific details or when these specific details are changed. Therefore, these descriptions should be considered to be illustrative rather than restrictive.

[0230] Although the present invention has been described in conjunction with specific embodiments thereof, many alternatives, modifications, and variations of these embodiments will be apparent to those skilled in the art based on the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may utilize the embodiments discussed.

[0231] The embodiments of the present application are intended to cover all such substitutions, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the scope of protection of this application.

Claims

1. A crowdsourcing task allocation method, characterized in that: Applied to client terminals, including: Obtaining original task group data after noise injection on the server side; wherein the noise injected on the server side is obtained by generating a representative position based on the position information of each group of crowdsourcing tasks; Obtaining a preference set of the client terminal, grouping the preference set according to the original task grouping data to generate a preference group, and adjusting the preference group according to the distance from a representative position of the preference group to each crowdsourcing task in the group to generate an optimal group; generating a fuzzy representative position based on the position information of each crowdsourcing task in the optimal group, determining a fuzzy distance from the fuzzy representative position to the client terminal, and transmitting the fuzzy distance to the server; Obtaining a crowdsourcing task allocation result generated by the server according to the fuzzy distance, so as to perform crowdsourcing task allocation according to the crowdsourcing task allocation result; The adjusting the preference grouping according to the distance from the representative position of the preference grouping to each crowdsourcing task in the group includes: Adjusting the preference grouping by using grouping parameters and quantity parameters; The grouping parameters are specifically in, To merge k groups into r groups, the maximum intra-group sum is: Merge j groups into the maximum intra-group sum of r-1 groups, G q .d1 is C k is the kth crowdsourcing task group for a specific customer, μ is the representative position in the set group, t q C k The qth task in the group, is the grouping parameter, |C| is the number of groups of the grouping result of a specific customer, and G is a preset non-negative structure set; The quantity parameters are specifically Among them, ω is the quantity parameter, ρ is the number of tasks in the preference group; Generating a fuzzy representative position using the position information of each crowdsourcing task in the optimal group includes: Determining a representative position of each group of the optimal grouping, and calculating a probability of each representative position becoming the fuzzy representative position, thereby generating the fuzzy representative position; The representative position of each group in the optimal grouping is specifically Among them, μ k is the representative position in the kth group, C k Group the kth crowdsourcing tasks for a specific customer, |C k | is the number of tasks in the kth crowdsourcing task group, Y i For the i-th crowdsourcing task t i The number of times it appears in the preference group, M is the total number of crowdsourcing tasks, t j is the jth crowdsourcing task; The probability is specifically Among them, P(μ′ k |μ k ) is the probability, ε is the privacy protection budget, μ k and μ′ k are the representative position in the k-th group and the representative position after noise addition in the k-th group, C k Group the kth crowdsourcing task for a specific customer, z is C k The specific location of a crowdsourcing task within the group.

2. The method according to claim 1, characterized in that The noise injected by the server is specifically: Among them, E(total) is the injected noise, C is the crowdsourcing task grouping set of a specific customer, and C k Group the kth crowdsourcing tasks for a specific customer, E G Injecting noise for privacy protection, E IL is the information loss, ε is the privacy protection budget, |C| is the number of grouping results for a specific customer, |C k | is the number of tasks in the kth crowdsourcing task group, q is the random variable that traverses the tasks in the group, μ and μ′ k are the representative position in the set group and the representative position after noise addition in the kth group, t q C k The qth task in the group.

3. The method according to claim 1, characterized in that The original task grouping data is determined in the following manner: The number of tasks in each group of the original task group data is made equal by using an alternating direction multiplier method and a Lagrange multiplier method, thereby generating the original task group data.

4. A crowdsourcing task allocation device, characterized in that: Applied to client terminals, including: An acquisition module is configured to acquire original task group data after noise is injected by the server; wherein the noise injected by the server is obtained by generating a representative position based on the position information of each group of crowdsourcing tasks; a generation module, configured to obtain a preference set of the client terminal, group the preference set according to the original task grouping data to generate a preference group, and adjust the preference group according to the distance from the representative position of the preference group to each crowdsourcing task in the group to generate an optimal group; a determination module, configured to generate a fuzzy representative position based on the position information of each crowdsourcing task in the optimal group, determine a fuzzy distance from the fuzzy representative position to the client terminal, and transmit the fuzzy distance to the server; an allocation module, which obtains a crowdsourcing task allocation result generated by the server according to the fuzzy distance, and performs crowdsourcing task allocation according to the crowdsourcing task allocation result; The adjusting the preference grouping according to the distance from the representative position of the preference grouping to each crowdsourcing task in the group includes: Adjusting the preference grouping by using grouping parameters and quantity parameters; The grouping parameters are specifically in, To merge k groups into r groups, the maximum intra-group sum is: Merge j groups into the maximum intra-group sum of r-1 groups, G q .d1 is C k is the kth crowdsourcing task group for a specific customer, μ is the representative position in the set group, t q C k The qth task in the group, is the grouping parameter, |C| is the number of groups of the grouping result of a specific customer, and G is a preset non-negative structure set; The quantity parameters are specifically Among them, ω is the quantity parameter, ρ is the number of tasks in the preference group; Generating a fuzzy representative position using the position information of each crowdsourcing task in the optimal group includes: Determining a representative position of each group of the optimal grouping, and calculating a probability of each representative position becoming the fuzzy representative position, thereby generating the fuzzy representative position; The representative position of each group in the optimal grouping is specifically Among them, μ k is the representative position in the kth group, C k Group the kth crowdsourcing tasks for a specific customer, |C k | is the number of tasks in the kth crowdsourcing task group, Y i For the i-th crowdsourcing task t i The number of times it appears in the preference group, M is the total number of crowdsourcing tasks, t j is the jth crowdsourcing task; The probability is specifically Among them, P(μ′ k |μ k ) is the probability, ε is the privacy protection budget, μ k and μ′ k are the representative position in the k-th group and the representative position after noise addition in the k-th group, C k Group the kth crowdsourcing task for a specific customer, z is C k The specific location of a crowdsourcing task within the group.

5. The device according to claim 4, characterized in that The noise injected by the server is specifically: Among them, E(total) is the injected noise, C is the crowdsourcing task grouping set of a specific customer, and C k Group the kth crowdsourcing tasks for a specific customer, E G Injecting noise for privacy protection, E IL is the information loss, ε is the privacy protection budget, |C| is the number of grouping results for a specific customer, |C k | is the number of tasks in the kth crowdsourcing task group, q is the random variable that traverses the tasks in the group, μ and μ′ k are the representative position in the set group and the representative position after noise addition in the kth group, t q C k The qth task in the group.

6. The device according to claim 4, characterized in that The original task grouping data is determined in the following manner: The number of tasks in each group of the original task group data is made equal by using an alternating direction multiplier method and a Lagrange multiplier method, thereby generating the original task group data.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the method according to any one of claims 1 to 3 is implemented.

8. A non-transitory computer-readable storage medium, characterized in that The non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to cause the computer to implement the method according to any one of claims 1 to 3.