Task allocation method and device, computer equipment and storage medium
By acquiring task requirements and job attribute information, and combining multi-dimensional rule filtering and task weight evaluation, the problems of invalid calculations and high failure rates in the task allocation process are solved, achieving efficient and accurate matching of tasks and job ends and meeting their importance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-28
- Publication Date
- 2026-04-07
AI Technical Summary
Existing technologies suffer from numerous invalid calculations and high task allocation failure rates during task allocation, especially when the number of tasks far exceeds the number of personnel, as existing methods fail to effectively achieve accurate matching between tasks and the work unit.
By acquiring task requirement information and job attribute information, and combining multi-dimensional preset rules, candidate tasks that are fully compatible with the capabilities of the job are selected from the task pool. The target task is selected by evaluating the task weight and matching score to ensure the compatibility and importance of the task with the job.
It significantly reduces the execution failure rate after task allocation, achieves efficient dynamic matching between tasks and the job end, and prioritizes the execution needs of high-priority and high-value tasks.
Smart Images

Figure CN121809894A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a task allocation method, apparatus, computer device, and storage medium. Background Technology
[0002] With the rapid popularization of the internet and the rapid increase in data scale and user numbers, the efficiency and accuracy of task allocation in business systems are becoming increasingly important. To improve the efficiency of task allocation and achieve reasonable scheduling of operators, a task allocation method needs to be designed.
[0003] Existing technologies typically approach task allocation by acquiring specific information or tagging data for each task, along with personnel capability data or tags. They then calculate the cost for each person to complete the task and finally select the person with the lowest cost as the task assignment recipient. However, existing methods usually require analyzing the task backlog for each worker before assignment. If the backlog reaches a certain threshold, even if a worker has the lowest cost to complete a particular task, it will not be assigned to them. Therefore, when the number of tasks far exceeds the number of workers, a significant amount of inefficient calculation may occur. Summary of the Invention
[0004] Therefore, it is necessary to provide a task allocation method, device, computer equipment, and storage medium to address the aforementioned technical problems, which can achieve accurate allocation of tasks and work terminals (operators).
[0005] Firstly, this application provides a task allocation method, including:
[0006] In response to a task acquisition request from the job terminal, the task association information of the task acquisition request is obtained; wherein, the task association information includes task requirement information and the terminal attribute information of the job terminal;
[0007] Based on the preset pooling rules and the task association information, the first candidate task that can be assigned to the job terminal is selected from the task pool of the business system.
[0008] Based on the task association information and the task weight of the first candidate task, a target task is selected from the first candidate task, and the target task is assigned to the job terminal.
[0009] In one embodiment, the number of preset pool exit rules is at least two;
[0010] The step of filtering first candidate tasks that can be assigned to the job terminal from the task pool of the business system according to the preset pooling rules and the task association information includes:
[0011] For each preset exit pool rule, if it is determined, based on the task association information, that the task acquisition request satisfies the preset exit pool rule, the preset exit pool rule is taken as the target exit pool rule.
[0012] Tasks in the task pool that meet the target exit rules are selected as the first candidate tasks that can be assigned to the job terminal.
[0013] In one embodiment, the task requirement information includes the task acquisition time;
[0014] The step of determining that the task acquisition request satisfies the preset pool exit rule based on the task association information includes:
[0015] If the task acquisition time falls within the effective period of the preset exit pool rule, and the terminal attribute information satisfies the terminal attribute matching condition of the preset exit pool rule, then the task acquisition request is determined to satisfy the preset exit pool rule.
[0016] In one embodiment, the task requirement information includes the number of tasks to be acquired and task tags; the terminal attribute information includes permission information, the organization identifier of the organization corresponding to the working terminal, and application information of operable business applications;
[0017] The step of selecting a target task from the first candidate tasks based on the task association information and the task weight of the first candidate tasks includes:
[0018] Based on the application information of each business application, obtain the application weight of the corresponding business application;
[0019] Based on the application weight of each business application, each operable business application is grouped to obtain at least one application group; wherein, the business applications contained in each application group have the same application weight.
[0020] For each application group, the total number of queries for that application group is determined based on the number of tasks acquired and the redundancy of that application group.
[0021] Based on the permission information, the task tag, and the organization identifier, construct task query conditions;
[0022] Based on the number of tasks acquired, the task query conditions, the total number of queries for each application group, the application tag to which the first candidate task belongs, and the task weight of the first candidate task, a target task is selected from the first candidate tasks.
[0023] In one embodiment, selecting a target task from the first candidate tasks based on the number of tasks acquired, the task query conditions, the total query volume of each application group, the application tag to which the first candidate task belongs, and the task weight of the first candidate task includes:
[0024] Based on the task query conditions, the total number of queries for each application group, and the application tag to which the first candidate task belongs, a second candidate task is selected from the first candidate task.
[0025] Based on the number of tasks acquired and the task weight of the second candidate task, a target task is selected from the second candidate task.
[0026] In one embodiment, the redundancy of each application group is determined based on at least one of the following: the total number of tasks corresponding to the application group, historical preemption conflict data, and the number of job terminals in the current job.
[0027] In one embodiment, the method further includes:
[0028] In response to a task entry request, the task to be entered into the pool carried by the task entry request is preprocessed according to the preset entry rules, and the preprocessed task to be entered into the pool of the business system is stored.
[0029] Secondly, this application also provides a task allocation device, comprising:
[0030] The request-response module is used to respond to a task acquisition request from the job terminal and acquire the task association information of the task acquisition request; wherein, the task association information includes task requirement information and the terminal attribute information of the job terminal;
[0031] The task filtering module is used to filter first candidate tasks that can be assigned to the job terminal from the task pool of the business system according to the preset pooling rules and the task association information.
[0032] The task allocation module is used to select a target task from the first candidate tasks based on the task association information and the task weight of the first candidate task, and to allocate the target task to the job terminal.
[0033] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0034] In response to a task acquisition request from the job terminal, the task association information of the task acquisition request is obtained; wherein, the task association information includes task requirement information and the terminal attribute information of the job terminal;
[0035] Based on the preset pooling rules and the task association information, the first candidate task that can be assigned to the job terminal is selected from the task pool of the business system.
[0036] Based on the task association information and the task weight of the first candidate task, a target task is selected from the first candidate task, and the target task is assigned to the job terminal.
[0037] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0038] In response to a task acquisition request from the job terminal, the task association information of the task acquisition request is obtained; wherein, the task association information includes task requirement information and the terminal attribute information of the job terminal;
[0039] Based on the preset pooling rules and the task association information, the first candidate task that can be assigned to the job terminal is selected from the task pool of the business system.
[0040] Based on the task association information and the task weight of the first candidate task, a target task is selected from the first candidate task, and the target task is assigned to the job terminal.
[0041] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, performs the following steps:
[0042] In response to a task acquisition request from the job terminal, the task association information of the task acquisition request is obtained; wherein, the task association information includes task requirement information and the terminal attribute information of the job terminal;
[0043] Based on the preset pooling rules and the task association information, the first candidate task that can be assigned to the job terminal is selected from the task pool of the business system.
[0044] Based on the task association information and the task weight of the first candidate task, a target task is selected from the first candidate task, and the target task is assigned to the job terminal.
[0045] The aforementioned task allocation method, apparatus, computer equipment, and storage medium, in response to a task acquisition request from the job end, acquire task association information from the task acquisition request. This task association information includes task requirement information and job end attribute information. Based on preset pooling rules and the task association information, a first candidate task that can be allocated to the job end is selected from the task pool of the business system. Based on the task association information and the task weight of the first candidate task, a target task is selected from the first candidate task and allocated to the job end. This scheme, by acquiring bidirectional correlation data between task requirement information and job end attribute information, and combining it with multi-dimensional preset pooling rules, selects candidate tasks from the task pool that are fully compatible with the job end's capabilities, avoiding basic mismatch issues such as the job end not supporting task types, and significantly reducing the execution failure rate after task allocation. Furthermore, by using a dual quantitative evaluation of matching degree score and task weight to select the target task, it ensures both the adaptability of the job end and the task, and prioritizes the execution needs of high-priority, high-value tasks, achieving optimal adaptation and importance. In addition, based on the job end actively acquiring tasks, it achieves efficient allocation through dynamic matching of personnel and tasks. Attached Figure Description
[0046] To more clearly illustrate the technical solutions in the embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0047] Figure 1 This is an application environment diagram of the task allocation method in one embodiment;
[0048] Figure 2 This is a flowchart illustrating a task allocation method in one embodiment;
[0049] Figure 3 This is a flowchart illustrating the process of selecting the first candidate task in one embodiment;
[0050] Figure 4 This is a flowchart illustrating the process of selecting a target task from a first candidate task in one embodiment;
[0051] Figure 5 This is a flowchart illustrating the process of selecting a target task from a first candidate task in another embodiment;
[0052] Figure 6 This is a flowchart illustrating the task allocation method in another embodiment;
[0053] Figure 7 This is a structural block diagram of a task allocation device in one embodiment;
[0054] Figure 8 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0055] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0056] The task allocation method provided in this application embodiment can be applied to, for example, Figure 1 In the application environment shown, the work terminal 101 can be the terminal corresponding to any worker; the business system 102 is an organic whole constructed by an enterprise to achieve specific business goals, consisting of hardware devices, software components, data resources, and business processes. The task allocation method provided in this embodiment can be executed by the backend server of the business system 102.
[0057] In one exemplary embodiment, such as Figure 2 As shown, a task allocation method is provided, which can be applied to... Figure 1 Taking the backend server of business system 102 as an example, the following steps are included:
[0058] S201, in response to the task retrieval request from the job end, retrieve the task association information of the task retrieval request.
[0059] The task retrieval request is used by the job client to obtain tasks from the business system. Task-related information includes task requirement information and job client attribute information. In this embodiment, task requirement information includes, but is not limited to, task retrieval time, task retrieval quantity, and task tags; job client attribute information includes permission information, the organization identifier of the corresponding organization of the job client, and application information of operable business applications.
[0060] It should be noted that, in this embodiment, all tasks in the task pool of the business system are stored in the task pool based on preset entry rules. Optionally, in response to a task entry request, the task to be entered into the pool carried by the task entry request is preprocessed according to the preset entry rules, and the preprocessed task to be entered into the pool is stored in the task pool of the business system. Specifically, the task entry request is subjected to data verification and preprocessing. Further, the preset entry rules are read from the Redis cache, and each configured preset entry rule is judged.
[0061] (1) Determine whether the current time period is within the effective time period of the preset pooling rule; otherwise, skip the preset pooling rule.
[0062] (2) If the task to be added to the pool is within the effective period of the preset entry rule, then determine whether the task to be added to the pool is within the scope of the preset entry rule; otherwise, skip the preset entry rule.
[0063] (3) By performing composite calculations on multiple attributes of the task entering the pool, if the task entry request is within the scope of the preset entry rules, intervention processing will be carried out according to the preset entry rules; otherwise, the preset entry rules will be skipped.
[0064] (4) The preset entry rules support plug-in intervention processing and can support various operations such as priority increase and VIP identification. If the preset entry rule is to increase the priority of the task, the priority will be automatically adjusted to the target priority. If the preset entry rule that the initial task request hits is to configure the VIP identifier, the VIP identifier will be automatically added to the task. If the preset entry rule that the task request hits is to dynamically tag, dynamic tags will be automatically added, etc.
[0065] In this embodiment of the application, the job end can actively initiate a task acquisition request, and after receiving the task acquisition request, the business system obtains the task association information carried in the task acquisition request.
[0066] S202, based on the preset pooling rules and task association information, select the first candidate task that can be assigned to the job end from the task pool of the business system.
[0067] Among them, the preset exit rules are the pre-defined exit rules for different tasks.
[0068] Optionally, the preset pooling rules are read from the Redis cache, and each task to be assigned in the task pool is traversed in an iterative manner; for each task to be assigned, the complete task requirement information is extracted and aligned with the task requirement information field in the task association information.
[0069] Furthermore, for the currently traversed tasks to be assigned, rule verification is performed one by one according to the priority order of the preset pooling rules. Only when all rules pass the verification is the task included in the first candidate task. If any rule fails, the task is skipped and the traversal of the next task begins.
[0070] In addition, based on task association information, all preset exit rules can be traversed to filter out those that match the task association information. Furthermore, based on the organization, role, and matched preset exit rules of the job client, the available tasks for the job client can be combined and selected as the first candidate tasks.
[0071] S203: Based on the task association information and the task weight of the first candidate task, select the target task from the first candidate task and assign the target task to the job end.
[0072] Optionally, the first candidate tasks can be sorted in descending order according to their task weights. Further, a number of first candidate tasks can be obtained based on the task with the highest sort number, and these can be used as target tasks. Finally, the target tasks can be assigned to the job.
[0073] In the above task allocation method, in response to a task acquisition request from the job end, the task association information of the task acquisition request is obtained. This task association information includes task requirement information and job end attribute information. Based on preset pooling rules and the task association information, a first-line candidate task that can be allocated to the job end is selected from the task pool of the business system. Based on the task association information and the task weight of the first-line candidate task, a target task is selected from the first-line candidate task and allocated to the job end. This scheme, by obtaining bidirectional correlation data between task requirement information and job end attribute information, and combining multi-dimensional preset pooling rules, selects candidate tasks from the task pool that are fully compatible with the capabilities of the job end, avoiding basic mismatch issues such as the job end not supporting task types, and significantly reducing the execution failure rate after task allocation. Furthermore, by using a dual quantitative evaluation of matching degree score and task weight to select the target task, it ensures both the compatibility between the job end and the task, and prioritizes the execution needs of high-priority, high-value tasks, achieving optimal compatibility and importance. In addition, based on the job end actively acquiring tasks, it achieves efficient allocation through dynamic matching of personnel and tasks.
[0074] Optionally, in an exemplary embodiment, the number of preset outflow rules is at least two; based on this, such as Figure 3 As shown, a method for selecting the first candidate task is provided, which specifically includes the following steps:
[0075] S301, for each preset exit pool rule, if it is determined from the task association information that the task acquisition request meets the preset exit pool rule, the preset exit pool rule is used as the target exit pool rule.
[0076] In this embodiment of the application, the task requirement information includes the task acquisition time.
[0077] Optionally, first verify whether the task association information meets the preset exit pool rules. For each preset exit pool rule, if the task acquisition time falls within the effective period of the preset exit pool rule and the terminal attribute information meets the terminal attribute matching conditions of the preset exit pool rule, then determine that the task acquisition request meets the preset exit pool rule. Specifically, for each preset exit pool rule, the following judgment can be made:
[0078] (1) Determine whether the time period in which the task is acquired is within the effective period of the preset exit pool rule; otherwise, skip the preset exit pool rule.
[0079] (2) By performing a composite matching of multiple attributes of the job end of the task acquisition request with the preset exit pool rule, if the request matches the preset exit pool rule, the preset exit pool rule will be used as the target exit pool rule.
[0080] S302, select tasks in the task pool that meet the target exit rules as the first candidate tasks to be assigned to the job.
[0081] Optionally, tasks that match the target exit rule configuration in the task pool can be selected as the first candidate tasks to be assigned to the job.
[0082] In this embodiment, it is first determined whether the task acquisition request from the job end meets a single preset exit rule. Only the matching rule is used as the target exit rule, and then tasks that meet the target rule are filtered from the task pool. This avoids the redundant verification of traditional methods that iterate through all tasks using all rules, ensuring that the filtering criteria are highly aligned with the job end's capabilities and task requirements, and reducing invalid filtering caused by rule-task mismatch.
[0083] Optionally, in an exemplary embodiment, the task requirement information includes the number of tasks to be acquired and task tags; the terminal attribute information includes permission information, the organization identifier of the corresponding organization of the working terminal, and application information of the operable business applications; based on this, such as Figure 4 As shown, a method for selecting a target task from a first candidate task is provided, which specifically includes the following steps:
[0084] S401: Based on the application information of each business application, obtain the application weight of the corresponding business application.
[0085] The application information for each business application refers to a structured data set describing the core attributes, operational characteristics, business value, and constraints of a single business application. The application weight for each business application can be pre-set by the system based on the importance of the business application.
[0086] Optionally, based on the application identifier in the application information of the business application, the application weight corresponding to the application identifier can be looked up from the application weight mapping table pre-stored in the system.
[0087] S402, based on the application weight of each business application, group each operable business application to obtain at least one application group.
[0088] Within each application group, the business applications contained therein have the same application weight.
[0089] It should be noted that for any business application with a given application weight, if there are no other business applications with the same application weight, that business application can be treated as a separate application group.
[0090] S403: For each application group, determine the total number of queries for the application group based on the number of tasks acquired and the redundancy of the application group.
[0091] The total query limit for an application group refers to the total number of tasks allowed to be queried from that application group. Redundancy for business applications refers to the additional task buffer allocated to each application to cope with business fluctuations, sudden increases in tasks, or changes in job requirements. The redundancy limit for an application group can be determined based on the redundancy limits of the business applications within that application group.
[0092] Optionally, for each application group, the sum of the number of tasks retrieved and the redundancy of the application group can be used as the total number of queries for the application group.
[0093] S404: Construct task query conditions based on permission information, task tags, and organization identifiers.
[0094] Among them, the task query conditions are used to filter out tasks from the first candidate tasks that the job client has the right to execute, that match the business attributes, and that belong to a valid scope.
[0095] Optionally, permission information, task tags, and organization identifiers can be combined to form constraints and construct task query conditions.
[0096] S405. Select the target task from the first candidate tasks based on the number of tasks obtained, the task query conditions, the total number of queries for each application group, the application tag to which the first candidate task belongs, and the task weight of the first candidate task.
[0097] Optionally, the first candidate task set is traversed, and standardization processing is performed on each task. The tasks are grouped according to their application groups to form an application group-task mapping table. Based on the application group-task mapping table, each application group is traversed. For each application group, all tasks within the group are extracted to form a subset of candidate tasks within the application group. If an application group has no corresponding task, the group is skipped and does not participate in the subsequent screening.
[0098] Furthermore, for each application group's subset of candidate tasks, task query condition filtering is performed. Each task is verified to meet all sub-conditions of the task query criteria. Tasks that meet all conditions are retained, forming a compliant task subset within the application group. Tasks that do not meet the conditions are filtered out, and the filtering log is recorded. The compliant task subsets within each application group are traversed, and the size of the subset is constrained according to the total query volume of the application group. Finally, the final candidate task subsets within all application groups are aggregated to form a global candidate task set.
[0099] For all tasks in the global candidate task set, sort them in descending order by task weight, and extract the number of tasks obtained from the sorted task list based on the number of tasks obtained by the job end, and use these extracted tasks as the target tasks.
[0100] In this embodiment, the application weight is determined based on the application information of the business application. Business applications with the same weight are grouped into the same application group to realize hierarchical management of the business. The consistent weight of business applications within the same application group indicates that their business priorities are similar. When allocating tasks, the overall scheduling can be based on the total query volume of the application group to avoid a single high-weight application monopolizing resources.
[0101] Optionally, in an exemplary embodiment, such as Figure 5 As shown, a method for selecting a target task from a first candidate task is provided, which specifically includes the following steps:
[0102] S501. Based on the task query conditions, the total number of queries for each application group, and the application tag to which the first candidate task belongs, select the second candidate task from the first candidate tasks.
[0103] Optionally, based on the task query conditions, tasks that meet the task query conditions can be queried from the first candidate tasks corresponding to each application group and used as the second candidate tasks.
[0104] S502, select the target task from the second candidate tasks based on the number of tasks acquired and the task weight of the second candidate task.
[0105] For example, suppose the number of tasks acquired is... The number of second candidate tasks is ,in, For the second candidate task, first sort them according to their task weights to obtain a sorted list of candidate tasks. Then, generate a random natural number. ,in:
[0106]
[0107] Top of the candidate task list The second candidate task is assigned as the first priority allocation scope. Let the allowed number of failed attempts to preempt a task within the first priority allocation range be . ,but:
[0108]
[0109] Iterate through the list of tasks in the first priority allocation range, preempt the task, add it to the cache, and lock it. If preemption fails, accumulate the failure count and set it to [value]. ,when When that happens, continue traversing within the second priority allocation range.
[0110] Second priority allocation scope For the first item in the preload list One task, to Given a set of tasks, let the allowed number of failed preemption attempts within the second priority allocation range be . ,but Iterate through the list of tasks in the first priority allocation range, preempt the task, add it to the cache, and lock it. If preemption fails, accumulate the number of failures, setting it to 0. ,when If the task count in the next priority allocation range is less than twice the number of tasks in the previous priority allocation range, the allowed number of failed task preemption attempts is also twice the allowed number of failed attempts in the previous round, until the preloaded list is fully allocated.
[0111] This algorithm reduces the idle rate of tasks and increases the task acquisition rate while ensuring that high-priority tasks are assigned first. When the number of target tasks reaches the task acquisition limit, or when there are no more tasks available for assignment, the pre-assignment of this request ends. The status of the locked tasks is updated to assigned, completing the task allocation process.
[0112] In this embodiment, the first stage filters second-candidate tasks based on query conditions, application tags, and the total query volume of application groups. This focuses on addressing the core issue of whether tasks meet allocation requirements, ensuring that the second-candidate tasks are a high-quality subset and laying the foundation for subsequent accurate selection. The second stage selects target tasks based on the number of tasks acquired and their weights. Without needing to consider compliance and scale constraints, it directly focuses on the priority of the tasks themselves. This ensures that the allocated tasks not only meet the actual workload requirements of the job client but also prioritize high-value, high-urgency core tasks.
[0113] Figure 6 This is a flowchart illustrating a task allocation method in another embodiment. Based on the above embodiments, this embodiment provides an optional example of a task allocation method. (Combined with...) Figure 6 The specific implementation process is as follows:
[0114] S601, in response to the task retrieval request from the job end, retrieves the task association information of the task retrieval request.
[0115] The task-related information includes task requirement information and terminal attribute information of the job client.
[0116] S602, if it is determined that the acquisition request of each task meets the preset exit pool rule based on the task association information, the preset exit pool rule shall be used as the target exit pool rule.
[0117] The task requirements information includes the task acquisition time.
[0118] Optionally, if the task acquisition time falls within the effective period of the preset exit pool rule and the terminal attribute information meets the terminal attribute matching condition of the preset exit pool rule, the task acquisition request is determined to meet the preset exit pool rule.
[0119] S603 selects tasks in the task pool that meet the target exit rules as the first candidate tasks to be assigned to the job.
[0120] S604: Based on the application information of each business application in the task association information, obtain the application weight of the corresponding business application.
[0121] S605: Based on the application weight of each business application, group each operable business application to obtain at least one application group.
[0122] In this group, the application weights of the business applications contained in each application group are the same.
[0123] S606 determines the total query volume for each application group based on the number of tasks acquired and the redundancy of each application group.
[0124] The redundancy of each application group is determined based on at least one of the following: the total number of tasks corresponding to the application group, historical preemption conflict data, and the number of job terminals in the current job.
[0125] S607: Construct task query conditions based on the permission information, task tags, and organization identifiers in the task association information.
[0126] S608: Select a second candidate task from the first candidate tasks based on the task query conditions, the total number of queries for each application group, and the application tag to which the first candidate task belongs.
[0127] S609, Select the target task from the second candidate task based on the number of tasks acquired and the task weight of the second candidate task.
[0128] S610 assigns target tasks to the job end.
[0129] The specific processes of S601-S610 described above can be found in the description of the above method embodiments. Their implementation principles and technical effects are similar, and will not be repeated here.
[0130] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0131] Based on the same inventive concept, this application also provides a task allocation device for implementing the task allocation method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more task allocation device embodiments provided below can be found in the limitations of the task allocation method described above, and will not be repeated here.
[0132] In one exemplary embodiment, such as Figure 7 As shown, a task allocation device 700 is provided, including: a request response module 710, a task filtering module 720, and a task allocation module 730, wherein:
[0133] The request-response module 710 is used to respond to the task acquisition request from the job terminal and obtain the task association information of the task acquisition request; wherein, the task association information includes task requirement information and the terminal attribute information of the job terminal.
[0134] The task filtering module 720 is used to filter the first candidate tasks that can be assigned to the job end from the task pool of the business system according to the preset pooling rules and task association information.
[0135] The task allocation module 730 is used to select a target task from the first candidate tasks based on the task association information and the task weight of the first candidate task, and to allocate the target task to the job end.
[0136] The aforementioned task allocation device, in response to a task acquisition request from the work unit, acquires the task association information of the request. This task association information includes task requirement information and work unit attribute information. Based on preset pooling rules and the task association information, it filters the first candidate tasks allowed for allocation to the work unit from the task pool of the business system. Based on the task association information and the task weight of the first candidate tasks, it selects a target task from the first candidate tasks and allocates the target task to the work unit. This solution, by acquiring bidirectional correlation data between task requirement information and work unit attribute information, and combining it with multi-dimensional preset pooling rules, filters candidate tasks from the task pool that are fully compatible with the work unit's capabilities, avoiding basic mismatch issues such as the work unit not supporting task types, significantly reducing the execution failure rate after task allocation. Furthermore, by using a dual quantitative evaluation of matching score and task weight to select the target task, it ensures both the adaptability of the work unit and the task, and prioritizes the execution needs of high-priority, high-value tasks, achieving optimal adaptation and importance. In addition, based on the work unit actively acquiring tasks, it achieves efficient allocation through dynamic matching of personnel and tasks.
[0137] In one embodiment, the number of preset pool exit rules is at least two; the task filtering module 720 includes:
[0138] The rule determination unit is used to determine, based on the task association information, if the task acquisition request meets the preset exit pool rule, to use the preset exit pool rule as the target exit pool rule for each preset exit pool rule.
[0139] The task filtering unit is used to select tasks in the task pool that meet the target exit rules as the first candidate tasks that can be assigned to the job.
[0140] In one embodiment, the task requirement information includes the task acquisition time; the rule determination unit is specifically used for:
[0141] If the task acquisition time falls within the effective period of the preset pooling rules, and the terminal attribute information meets the terminal attribute matching conditions of the preset pooling rules, then the task acquisition request is determined to meet the preset pooling rules.
[0142] In one embodiment, the task requirement information includes the number of tasks to be acquired and task tags; the terminal attribute information includes permission information, the organization identifier of the corresponding organization of the working terminal, and application information of the operable business applications; the task allocation module 730 includes:
[0143] The weight determination unit is used to obtain the application weight of the corresponding business application based on the application information of each business application.
[0144] The application grouping unit is used to group each operable business application according to the application weight of each business application to obtain at least one application group; wherein the application weights of the business applications contained in each application group are the same.
[0145] The total quantity determination unit is used to determine the total query quantity for each application group based on the number of tasks acquired and the redundancy of the application group.
[0146] The condition construction unit is used to construct task query conditions based on permission information, task tags, and organization identifiers.
[0147] The task determination unit is used to select the target task from the first candidate tasks based on the number of tasks acquired, the task query conditions, the total number of queries for each application group, the application tag to which the first candidate task belongs, and the task weight of the first candidate task.
[0148] In one embodiment, the task determination unit is specifically used for:
[0149] Based on the task query criteria, the total number of queries for each application group, and the application tag to which the first candidate task belongs, a second candidate task is selected from the first candidate tasks; based on the number of tasks obtained and the task weight of the second candidate task, a target task is selected from the second candidate tasks.
[0150] In one embodiment, the redundancy of each application group is determined based on at least one of the following: the total number of tasks corresponding to the application group, historical preemption conflict data, and the number of job terminals in the current job.
[0151] In one embodiment, the task allocation device 700 further includes a task pooling module, used for:
[0152] In response to a task entry request, the task to be entered into the pool is preprocessed according to the preset entry rules, and the preprocessed task to be entered into the pool is stored in the task pool of the business system.
[0153] Each module in the aforementioned task allocation device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0154] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 8As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and databases. The internal memory provides the environment for the operating system and computer programs stored in the non-volatile storage media to run. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements a task allocation method.
[0155] Those skilled in the art will understand that Figure 8 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0156] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0157] In response to a task retrieval request from the job client, the task association information of the task retrieval request is obtained; the task association information includes task requirement information and job client end attribute information.
[0158] Based on the preset pooling rules and task association information, the first candidate task that can be assigned to the job terminal is selected from the task pool of the business system.
[0159] Based on the task association information and the task weight of the first candidate task, the target task is selected from the first candidate task and assigned to the job end.
[0160] In one embodiment, the number of preset out-of-pool rules is at least two; when the processor executes the computer program to filter the first candidate tasks that can be assigned to the job end from the task pool of the business system according to the preset out-of-pool rules and task association information, it also performs the following steps:
[0161] For each preset exit pool rule, if it is determined that the task acquisition request meets the preset exit pool rule based on the task association information, the preset exit pool rule is used as the target exit pool rule; and the tasks in the task pool that meet the target exit pool rule are used as the first candidate tasks that can be assigned to the job end.
[0162] In one embodiment, the task requirement information includes the task acquisition time; when the processor executes a computer program to determine, based on the task association information, that the task acquisition request meets the preset pooling rules, it further performs the following steps:
[0163] If the task acquisition time falls within the effective period of the preset pooling rules, and the terminal attribute information meets the terminal attribute matching conditions of the preset pooling rules, then the task acquisition request is determined to meet the preset pooling rules.
[0164] In one embodiment, the task requirement information includes the number of tasks to be acquired and task tags; the terminal attribute information includes permission information, the organization identifier of the corresponding organization of the working terminal, and application information of the operable business applications; when the processor executes the computer program, it also implements the following steps:
[0165] Based on the application information of each business application, obtain the application weight of the corresponding business application; based on the application weight of each business application, group each operable business application to obtain at least one application group; wherein, the application weights of the business applications contained in each application group are the same; for each application group, determine the total query volume of the application group based on the number of tasks acquired and the redundancy of the application group; construct task query conditions based on permission information, task tags, and organization identifiers; select the target task from the first candidate tasks based on the number of tasks acquired, task query conditions, total query volume of each application group, the application tag to which the first candidate task belongs, and the task weight of the first candidate task.
[0166] In one embodiment, when the processor executes a computer program to select a target task from the first candidate tasks based on the number of tasks acquired, task query conditions, the total number of queries for each application group, the application tag to which the first candidate task belongs, and the task weight of the first candidate task, the processor further performs the following steps:
[0167] Based on the task query criteria, the total number of queries for each application group, and the application tag to which the first candidate task belongs, a second candidate task is selected from the first candidate tasks; based on the number of tasks obtained and the task weight of the second candidate task, a target task is selected from the second candidate tasks.
[0168] In one embodiment, when the processor executes a computer program, the redundancy of each application group is determined based on at least one of the following: the total number of tasks corresponding to the application group, historical preemption conflict data, and the number of job ends in the current job.
[0169] In one embodiment, when the processor executes a computer program, it also performs the following steps:
[0170] In response to a task entry request, the task to be entered into the pool is preprocessed according to the preset entry rules, and the preprocessed task to be entered into the pool is stored in the task pool of the business system.
[0171] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:
[0172] In response to a task retrieval request from the job client, the task association information of the task retrieval request is obtained; the task association information includes task requirement information and job client end attribute information.
[0173] Based on the preset pooling rules and task association information, the first candidate task that can be assigned to the job terminal is selected from the task pool of the business system.
[0174] Based on the task association information and the task weight of the first candidate task, the target task is selected from the first candidate task and assigned to the job end.
[0175] In one embodiment, the number of preset out-of-pool rules is at least two; when the processor executes the computer program to filter the first candidate tasks that can be assigned to the job end from the task pool of the business system according to the preset out-of-pool rules and task association information, it also performs the following steps:
[0176] For each preset exit pool rule, if it is determined that the task acquisition request meets the preset exit pool rule based on the task association information, the preset exit pool rule is used as the target exit pool rule; and the tasks in the task pool that meet the target exit pool rule are used as the first candidate tasks that can be assigned to the job end.
[0177] In one embodiment, the task requirement information includes the task acquisition time; when the processor executes a computer program to determine, based on the task association information, that the task acquisition request meets the preset pooling rules, it further performs the following steps:
[0178] If the task acquisition time falls within the effective period of the preset pooling rules, and the terminal attribute information meets the terminal attribute matching conditions of the preset pooling rules, then the task acquisition request is determined to meet the preset pooling rules.
[0179] In one embodiment, the task requirement information includes the number of tasks to be acquired and task tags; the terminal attribute information includes permission information, the organization identifier of the corresponding organization of the working terminal, and application information of the operable business applications; when the processor executes the computer program, it also implements the following steps:
[0180] Based on the application information of each business application, obtain the application weight of the corresponding business application; based on the application weight of each business application, group each operable business application to obtain at least one application group; wherein, the application weights of the business applications contained in each application group are the same; for each application group, determine the total query volume of the application group based on the number of tasks acquired and the redundancy of the application group; construct task query conditions based on permission information, task tags, and organization identifiers; select the target task from the first candidate tasks based on the number of tasks acquired, task query conditions, total query volume of each application group, the application tag to which the first candidate task belongs, and the task weight of the first candidate task.
[0181] In one embodiment, when the processor executes a computer program to select a target task from the first candidate tasks based on the number of tasks acquired, task query conditions, the total number of queries for each application group, the application tag to which the first candidate task belongs, and the task weight of the first candidate task, the processor further performs the following steps:
[0182] Based on the task query criteria, the total number of queries for each application group, and the application tag to which the first candidate task belongs, a second candidate task is selected from the first candidate tasks; based on the number of tasks obtained and the task weight of the second candidate task, a target task is selected from the second candidate tasks.
[0183] In one embodiment, when the processor executes a computer program, the redundancy of each application group is determined based on at least one of the following: the total number of tasks corresponding to the application group, historical preemption conflict data, and the number of job ends in the current job.
[0184] In one embodiment, when the processor executes a computer program, it also performs the following steps:
[0185] In response to a task entry request, the task to be entered into the pool is preprocessed according to the preset entry rules, and the preprocessed task to be entered into the pool is stored in the task pool of the business system.
[0186] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:
[0187] In response to a task retrieval request from the job client, the task association information of the task retrieval request is obtained; the task association information includes task requirement information and job client end attribute information.
[0188] Based on the preset pooling rules and task association information, the first candidate task that can be assigned to the job terminal is selected from the task pool of the business system.
[0189] Based on the task association information and the task weight of the first candidate task, the target task is selected from the first candidate task and assigned to the job end.
[0190] In one embodiment, the number of preset out-of-pool rules is at least two; when the processor executes the computer program to filter the first candidate tasks that can be assigned to the job end from the task pool of the business system according to the preset out-of-pool rules and task association information, it also performs the following steps:
[0191] For each preset exit pool rule, if it is determined that the task acquisition request meets the preset exit pool rule based on the task association information, the preset exit pool rule is used as the target exit pool rule; and the tasks in the task pool that meet the target exit pool rule are used as the first candidate tasks that can be assigned to the job end.
[0192] In one embodiment, the task requirement information includes the task acquisition time; when the processor executes a computer program to determine, based on the task association information, that the task acquisition request meets the preset pooling rules, it further performs the following steps:
[0193] If the task acquisition time falls within the effective period of the preset pooling rules, and the terminal attribute information meets the terminal attribute matching conditions of the preset pooling rules, then the task acquisition request is determined to meet the preset pooling rules.
[0194] In one embodiment, the task requirement information includes the number of tasks to be acquired and task tags; the terminal attribute information includes permission information, the organization identifier of the corresponding organization of the working terminal, and application information of the operable business applications; when the processor executes the computer program, it also implements the following steps:
[0195] Based on the application information of each business application, obtain the application weight of the corresponding business application; based on the application weight of each business application, group each operable business application to obtain at least one application group; wherein, the application weights of the business applications contained in each application group are the same; for each application group, determine the total query volume of the application group based on the number of tasks acquired and the redundancy of the application group; construct task query conditions based on permission information, task tags, and organization identifiers; select the target task from the first candidate tasks based on the number of tasks acquired, task query conditions, total query volume of each application group, the application tag to which the first candidate task belongs, and the task weight of the first candidate task.
[0196] In one embodiment, when the processor executes a computer program to select a target task from the first candidate tasks based on the number of tasks acquired, task query conditions, the total number of queries for each application group, the application tag to which the first candidate task belongs, and the task weight of the first candidate task, the processor further performs the following steps:
[0197] Based on the task query criteria, the total number of queries for each application group, and the application tag to which the first candidate task belongs, a second candidate task is selected from the first candidate tasks; based on the number of tasks obtained and the task weight of the second candidate task, a target task is selected from the second candidate tasks.
[0198] In one embodiment, when the processor executes a computer program, the redundancy of each application group is determined based on at least one of the following: the total number of tasks corresponding to the application group, historical preemption conflict data, and the number of job ends in the current job.
[0199] In one embodiment, when the processor executes a computer program, it also performs the following steps:
[0200] In response to a task entry request, the task to be entered into the pool is preprocessed according to the preset entry rules, and the preprocessed task to be entered into the pool is stored in the task pool of the business system.
[0201] It should be noted that the data involved in this application (including but not limited to data used for analysis, data stored, data displayed, etc.) are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0202] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0203] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0204] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A task allocation method, characterized in that, The method includes: In response to a task acquisition request from the job terminal, the task association information of the task acquisition request is obtained; wherein, the task association information includes task requirement information and the terminal attribute information of the job terminal; Based on the preset pooling rules and the task association information, the first candidate task that can be assigned to the job terminal is selected from the task pool of the business system. Based on the task association information and the task weight of the first candidate task, a target task is selected from the first candidate task, and the target task is assigned to the job terminal.
2. The method according to claim 1, characterized in that, The number of preset pool exit rules is at least two; The step of filtering first candidate tasks that can be assigned to the job terminal from the task pool of the business system according to the preset pooling rules and the task association information includes: For each preset exit pool rule, if it is determined, based on the task association information, that the task acquisition request satisfies the preset exit pool rule, the preset exit pool rule is taken as the target exit pool rule. Tasks in the task pool that meet the target exit rules are selected as the first candidate tasks that can be assigned to the job terminal.
3. The method according to claim 2, characterized in that, The task requirement information includes the task acquisition time; The step of determining that the task acquisition request satisfies the preset pool exit rule based on the task association information includes: If the task acquisition time falls within the effective period of the preset exit pool rule, and the terminal attribute information satisfies the terminal attribute matching condition of the preset exit pool rule, then the task acquisition request is determined to satisfy the preset exit pool rule.
4. The method according to claim 1, characterized in that, The task requirement information includes the number of tasks to be acquired and task tags; the terminal attribute information includes permission information, the organization identifier of the organization corresponding to the working terminal, and application information of operable business applications; The step of selecting a target task from the first candidate tasks based on the task association information and the task weight of the first candidate tasks includes: Based on the application information of each business application, obtain the application weight of the corresponding business application; Based on the application weight of each business application, each operable business application is grouped to obtain at least one application group; wherein, the business applications contained in each application group have the same application weight. For each application group, the total number of queries for that application group is determined based on the number of tasks acquired and the redundancy of that application group. Based on the permission information, the task tag, and the organization identifier, construct task query conditions; Based on the number of tasks acquired, the task query conditions, the total number of queries for each application group, the application tag to which the first candidate task belongs, and the task weight of the first candidate task, a target task is selected from the first candidate tasks.
5. The method according to claim 4, characterized in that, The step of selecting a target task from the first candidate tasks based on the number of tasks acquired, the task query conditions, the total query volume of each application group, the application tag to which the first candidate task belongs, and the task weight of the first candidate task includes: Based on the task query conditions, the total number of queries for each application group, and the application tag to which the first candidate task belongs, a second candidate task is selected from the first candidate task. Based on the number of tasks acquired and the task weight of the second candidate task, a target task is selected from the second candidate task.
6. The method according to claim 4, characterized in that, The redundancy of each application group is determined based on at least one of the following: the total number of tasks corresponding to the application group, historical preemption conflict data, and the number of job terminals in the current job.
7. The method according to claim 1, characterized in that, The method further includes: In response to a task entry request, the task to be entered into the pool is preprocessed according to a preset entry rule, and the preprocessed task to be entered into the pool is stored in the task pool of the business system.
8. A task allocation device, characterized in that, The device includes: The request-response module is used to respond to a task acquisition request from the job terminal and acquire the task association information of the task acquisition request; wherein, the task association information includes task requirement information and the terminal attribute information of the job terminal; The task filtering module is used to filter first candidate tasks that can be assigned to the job terminal from the task pool of the business system according to the preset pooling rules and the task association information. The task allocation module is used to select a target task from the first candidate tasks based on the task association information and the task weight of the first candidate task, and to allocate the target task to the job terminal.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.