Task allocation method and device, electronic equipment and readable storage medium
By calculating the task matching coefficient and processing state coefficient, the most matching processing personnel are automatically allocated, which solves the problem of task allocation relies on subjective judgment in the existing technology, and achieves the rationality of task allocation and the efficiency of new product development.
Patent Information
- Application Number
- CN202411818975.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-11
- Publication Date
- 2025-04-01
AI Technical Summary
In the existing technology, task allocation mainly relies on the subjective judgment and experience of managers, resulting in unreasonable task allocation and delaying the development progress of new products.
By obtaining multiple target subtasks corresponding to the target task and the historical subtasks of the personnel to be selected, calculating the task matching coefficient and processing status coefficient, determining the target matching coefficient between the target subtask and the personnel to be selected, and automatically allocating the most matching processing personnel.
The rationality of task allocation is achieved, ensuring that the target subtasks are assigned to the processors whose processing capabilities and processing status are most matched, thereby improving the efficiency of new product development.
Smart Images

Figure CN119740816A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of information technology service technology, and specifically relates to a task allocation method, device, electronic device and readable storage medium. Background Art
[0002] Mobile Internet is a general term for the combination and practice of Internet technology, platform, business model and application with mobile communication technology. With the continuous advancement of technology, users can access the Internet and use various types of applications through mobile phones, such as email, social media, high-definition video, mobile payment and mobile office. In order to meet the growing needs of users, it is necessary to continuously promote the development of new products based on mobile Internet. In related technologies, the development speed of new products is promoted by using a development management system, in which the personnel allocation module can be used to manage and allocate developers and managers in the software development process, and the work progress and position of each person can be intuitively seen, so that managers can allocate tasks according to the work progress and position of developers.
[0003] However, the above task allocation mainly relies on the subjective judgment and experience of managers, which will cause unreasonable task allocation and delay the development progress of new products. Summary of the invention
[0004] The embodiments of the present application provide a task allocation method, device, electronic device and readable storage medium, which can solve the problem in the related art that task allocation mainly relies on the subjective judgment and experience of managers, which will cause unreasonable task allocation and thus delay the development progress of new products.
[0005] In the first aspect, an embodiment of the present application provides a task assignment method, the method comprising: obtaining multiple target subtasks corresponding to the target task and each historical subtask completed by each candidate for processing; for each of the target subtasks, determining the task matching coefficient between the target subtask and each of the historical subtasks according to the similarity between the target subtask and each of the historical subtasks and the completion information of the historical subtasks; determining the target matching coefficient between the target subtask and each of the candidate for processing according to the task matching coefficient and the processing status coefficient of each of the candidate for processing; determining the target candidate for processing corresponding to the target subtask according to the target matching coefficient; wherein the target candidate for processing is the candidate for processing with the highest target matching coefficient.
[0006] In the second aspect, an embodiment of the present application provides a task assignment device, which includes: an acquisition module, used to acquire multiple target subtasks corresponding to the target task and each historical subtask completed by each candidate for processing; a first determination module, used to determine, for each of the target subtasks, the task matching coefficient between the target subtask and each of the historical subtasks according to the similarity between the target subtask and each of the historical subtasks and the completion information of the historical subtasks; and to determine the target matching coefficient between the target subtask and each of the candidate for processing according to the task matching coefficient and the processing status coefficient of each of the candidate for processing; a second determination module, used to determine the target candidate for processing corresponding to the target subtask according to the target matching coefficient; wherein the target candidate for processing is the candidate for processing with the highest target matching coefficient.
[0007] In a third aspect, an embodiment of the present application provides an electronic device, which includes a processor, a memory, and a program or instruction stored in the memory and executable on the processor, wherein the program or instruction, when executed by the processor, implements the steps of the method described in the first aspect.
[0008] In a fourth aspect, an embodiment of the present application provides a readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented.
[0009] In a fifth aspect, an embodiment of the present application provides a chip, comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run a program or instruction to implement the steps of the method described in the first aspect.
[0010] In a sixth aspect, an embodiment of the present application provides a computer program product, comprising a computer program stored on a non-transitory computer-readable storage medium, wherein the computer program comprises a program or instructions, and when the program or instructions are executed, the steps of the method described in the first aspect are implemented.
[0011] In an embodiment of the present application, by obtaining multiple target subtasks corresponding to the target task and each historical subtask completed by each candidate for processing, for each of the target subtasks, according to the similarity between the target subtask and each of the historical subtasks and the completion information of the historical subtasks, the task matching coefficient between the target subtask and each of the historical subtasks is determined, thereby first determining the task matching degree between each target subtask and each of the historical subtasks, and the task matching degree can characterize the processing ability of the candidate for processing on the historical subtasks. Then, based on the task matching coefficient and the processing status coefficient of each of the candidates for processing, the target matching coefficient between the target subtask and each of the candidates for processing is determined, so that the matching degree between the target subtask and the candidates for processing can be comprehensively determined from the two aspects of task matching degree and the processing status of the candidates for processing, and the matching degree between the target subtask and the candidates for processing can be more accurately characterized. Then, based on the target matching coefficient, the candidates for processing with the highest target matching coefficient are determined as the target candidates for processing corresponding to the target subtask. Without the participation of management personnel, the allocation of target subtasks can be made more reasonable, and the target candidates for processing with processing capabilities and processing status that are more matched can be allocated to the target subtask, thereby efficiently developing new products. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1 It is a flowchart of a task allocation method provided in an embodiment of the present application; Figure 2 It is a flowchart of another task allocation method provided in an embodiment of the present application; Figure 3 It is a structural diagram of a task allocation device provided in an embodiment of the present application; Figure 4 It is a structural diagram of a task development system provided in an embodiment of the present application; Figure 5 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0013] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0014] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are generally of one type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.
[0015] The task allocation method, device, electronic device and readable storage medium provided in the embodiments of the present application are described in detail below with reference to the accompanying drawings through specific embodiments and their application scenarios.
[0016] Figure 1 The flowchart of a task allocation method provided by an embodiment of the present application is shown, and the method can be executed by an electronic device. Figure 1 , the method may include the following steps.
[0017] Step 102: Acquire multiple target subtasks corresponding to the target task and each historical subtask completed by each candidate processing personnel.
[0018] The target task is a newly created task to be implemented according to user needs. The target task can be decomposed into multiple target subtasks so that multiple subtasks can be assigned to multiple candidates for processing for collaborative processing, so as to efficiently achieve the target task. The various historical subtasks completed by each candidate can be used to evaluate their processing capabilities and analyze the matching degree between the candidate and the new target subtask.
[0019] Step 104 : for each of the target subtasks, determine the task matching coefficient between the target subtask and each of the historical subtasks according to the similarity between the target subtask and each of the historical subtasks and the completion information of the historical subtasks.
[0020] The similarity between the target subtask and each of the historical subtasks can be determined by a preset similarity calculation model based on the task information of the target subtask and the task information of the historical subtask, or can be determined by other feasible methods. The completion information of the historical subtask includes information generated by the selected processing personnel after processing the historical subtask for recording the processing status, such as the completion time of the historical subtask, error status, etc.
[0021] Step 106: Determine the target matching coefficient between the target subtask and each of the to-be-selected processing personnel according to the task matching coefficient and the processing status coefficient of each of the to-be-selected processing personnel.
[0022] The task matching coefficient is used to characterize the processing ability of the candidate processing personnel on the historical subtasks, and the processing status coefficient of the candidate processing personnel is used to characterize whether the candidate processing personnel can currently process the new target subtask.
[0023] Step 108: Determine the target candidate processing personnel corresponding to the target subtask according to the target matching coefficient.
[0024] Among them, the target candidate for processing is the candidate for processing with the highest target matching coefficient.
[0025] In an embodiment of the present application, by obtaining multiple target subtasks corresponding to the target task and each historical subtask completed by each candidate for processing, for each of the target subtasks, according to the similarity between the target subtask and each of the historical subtasks and the completion information of the historical subtasks, the task matching coefficient between the target subtask and each of the historical subtasks is determined, thereby first determining the task matching degree between each target subtask and each of the historical subtasks, and using the task matching degree to characterize the processing ability of the candidate for processing on the historical subtasks. Then, based on the task matching coefficient and the processing status coefficient of each of the candidates for processing, the target matching coefficient between the target subtask and each of the candidates for processing is determined, so that the matching degree between the target subtask and the candidates for processing can be comprehensively determined from the two aspects of task matching degree and the processing status of the candidates for processing, and the matching degree between the target subtask and the candidates for processing can be more accurately characterized. Then, based on the target matching coefficient, the candidates for processing with the highest target matching coefficient are determined as the target candidates for processing corresponding to the target subtask. Without the participation of management personnel, the allocation of target subtasks can be made more reasonable, and the target candidates for processing with processing capabilities and processing status that are more matched can be allocated to the target subtask, thereby efficiently developing new products.
[0026] In one implementation, the completion information of the historical subtask includes: the estimated completion time of the historical subtask, the actual completion time, the number of tests, and the number of vulnerabilities in each test; the above-mentioned step 104 determines the task matching coefficient between the target subtask and each of the historical subtasks based on the similarity between the target subtask and each of the historical subtasks and the completion information of the historical subtasks, and may include the following steps.
[0027] Step 1041 : determining the completion efficiency of the historical subtask according to the estimated completion time and the actual completion time.
[0028] The completion efficiency of the historical subtask can be determined by the following formula:
[0029] In the formula, For the estimated completion time, is the actual completion time. This formula expresses the ratio of the difference between the estimated completion time and the actual completion time to the estimated completion time, reflecting how much faster or slower the actual completion time of the historical subtask is than the estimated completion time.
[0030] Step 1042: Determine the error value of the historical subtask according to the number of tests and the number of vulnerabilities in each test.
[0031] The number of tests for each historical subtask and the number of vulnerabilities in each test are not all the same. The error value of each historical subtask is judged by combining the two. The error value of the above historical subtask can be determined by the following formula:
[0032] In the formula, C is the number of tests, is the number of vulnerabilities in the cth test.
[0033] Step 1043: Determine a task matching coefficient between the target subtask and each of the historical subtasks according to the similarity between the target subtask and each of the historical subtasks, the completion efficiency, and the error value.
[0034] The task matching coefficient between the target subtask and each of the historical subtasks can be determined by the following formula:
[0035] In the formula, is the task matching coefficient between the target subtask and the y-th historical subtask, is the similarity between the target subtask and the y-th historical subtask, and e is a natural constant.
[0036] In an embodiment of the present application, the completion efficiency of the historical subtask is judged by the estimated completion time of the historical subtask and the actual completion time, the error value of the historical subtask is judged by the number of tests and the number of vulnerabilities in each test, and the task matching coefficient between the target subtask and each historical subtask is determined by comprehensively considering the completion efficiency of the historical subtask, the error rate, and the similarity between the target subtask and the historical subtask. This can determine the matching degree between the target subtask that currently needs to be assigned and each historical subtask for allocating the target subtask.
[0037] In one implementation, the above-mentioned step 1043 determines the task matching coefficient between the target subtask and each of the historical subtasks according to the similarity between the target subtask and each of the historical subtasks, the completion efficiency and the error value, and may include the following steps.
[0038] Step 1043a: Determine, according to the task requirement information of the target subtask, a first weight value corresponding to the similarity, a second weight value corresponding to the completion efficiency, and a third weight value corresponding to the error value.
[0039] Among them, the first weight value corresponding to the similarity is used to reflect the importance of the similarity to the allocation of the target subtask. The second weight value corresponding to the completion efficiency is used to reflect the importance of the completion efficiency to the allocation of the target subtask. The third weight value corresponding to the error value is used to reflect the importance of the error value to the allocation of the target subtask.
[0040] Step 1043b, determines the task matching coefficient between the target subtask and each of the historical subtasks based on the similarity between the target subtask and each of the historical subtasks, the first weight value corresponding to the similarity, the completion efficiency, the second weight value corresponding to the completion efficiency, the error value, and the third weight value corresponding to the error value.
[0041] In an embodiment of the present application, the first weight value corresponding to the similarity, the second weight value corresponding to the completion efficiency, and the third weight value corresponding to the error value are determined through the task requirement information of the target subtask, so that each weight value is introduced when determining the task matching coefficient between the target subtask and each of the historical subtasks, so that for each target subtask, the task matching coefficient between the target subtask and each of the historical subtasks is more focused, so that the target subtasks can be allocated more reasonably.
[0042] In one implementation, before the above step 108 determines the target candidate for processing corresponding to the target subtask according to the target matching coefficient, the method further includes: step 107, determining the difficulty coefficient of the target subtask according to the task information of the target subtask.
[0043] In an embodiment of the present application, before assigning a target candidate for processing to a target subtask according to the target matching coefficient, the difficulty coefficient of the target subtask is determined according to the task information of the target subtask, and the difficulty coefficient of the target subtask is also taken into consideration. For example, target candidate for processing is assigned preferentially to target subtasks with higher difficulty coefficients, so that target subtasks with higher difficulty coefficients can be assigned to target candidate for processing personnel with better processing capabilities and better processing status, thereby improving the processing efficiency and quality of the target subtasks.
[0044] In one implementation, the task information of the target subtask includes: the number of functions to be completed of the target subtask, and other target subtasks connected to the target subtask. The above step 107 determines the difficulty coefficient of the target subtask according to the task information of the target subtask, which may include the following steps.
[0045] Step 1071, obtaining the maximum similarity between the target subtask and the historical subtask, and obtaining the number of other target subtasks that are connected to the target subtask.
[0046] In the case where there are multiple historical subtasks, the maximum similarity is obtained from the multiple similarities, that is, the historical subtask corresponding to the maximum similarity has a higher similarity with the target subtask, such as task difficulty.
[0047] Step 1072: Determine the difficulty coefficient of the target subtask according to the number of functions to be completed, the maximum similarity, and the number of connections.
[0048] The difficulty coefficient of the target subtask can be determined by the following formula:
[0049] In the formula, The preset basic difficulty coefficient for each target subtask, is the number of functions to be completed for the i-th target subtask, is the number of dockings for the i-th target subtask, is the maximum similarity of the i-th target subtask.
[0050] In an embodiment of the present application, the difficulty coefficient of the target subtask is determined based on the number of functions to be completed in the target subtask, the maximum similarity, and the number of dockings, so that the difficulty coefficient of the target subtask is also used as a criterion for allocating target subtasks, so that more reasonable target candidates are allocated to the target subtasks.
[0051] In one implementation, before obtaining the number of other target subtasks docked with the target subtask in the above step 1071, the method further includes: generating a subtask topology map corresponding to the target task according to the task information of the target subtask.
[0052] The subtask topology diagram is used to characterize the docking relationship between the target subtasks.
[0053] In an embodiment of the present application, the target task includes multiple target subtasks, that is, the target task can be decomposed into multiple target subtasks, and a subtask topology map corresponding to the target task is generated according to the task information of the target subtask, so that the sequence and the existing correlation relationships between the target subtasks, such as the docking relationship, can be more intuitively known according to the subtask topology map, so that the number of dockings of other target subtasks docked with the target subtask can be quickly obtained based on the subtask topology map, and each target candidate processing personnel can consider the logical relationship and corresponding interface settings with other target subtasks before and after the docking when processing the corresponding target subtask, so as to reduce the vulnerabilities caused by the docking and save the testing time of the target subtask and the time for repairing the vulnerabilities.
[0054] In one implementation, the above step 1071 of obtaining the number of other target subtasks that are docked with the target subtask includes the following steps.
[0055] Step 1071a: Searching for other target subtasks that are in a docking relationship with the target subtask from the subtask topology map.
[0056] Among them, the subtask topology diagram represents the docking relationship between the target subtasks in a logical form, with a certain target subtask as a node, and other target subtasks that have a docking relationship with the target subtask as other nodes. Whether there is a connection between the nodes can determine whether there is a docking relationship between the target subtask and other target subtasks.
[0057] Step 1071b, counting the number of other target subtasks to obtain the docking number.
[0058] In an embodiment of the present application, based on the created target task to subtask topology map, for each target subtask, other target subtasks that have a docking relationship with the target subtask are searched from the subtask topology map, and the number of other target subtasks found is counted, so as to obtain the number of dockings of other target subtasks that are docked with the target subtask.
[0059] In one implementation, the above-mentioned step 108 determines the target candidate processing personnel corresponding to the target subtask according to the target matching coefficient, including: according to the target matching coefficient, determining the target candidate processing personnel corresponding to the target subtask in order from high to low difficulty coefficients of the target subtask.
[0060] In an embodiment of the present application, the difficulty coefficient of the target subtask provides an allocation order for assigning target candidates for the target subtask, that is, the target subtask with a high difficulty coefficient can be assigned to the target candidate first, and then the target subtask with a low difficulty coefficient can be assigned to the target candidate, thereby speeding up the processing of the target subtask and saving time.
[0061] In one implementation, before determining the target candidate processing personnel corresponding to the target subtask according to the target matching coefficient in the above step 108, the method further includes: dividing the multiple target subtasks into multiple subtask sets according to different priorities.
[0062] The allocation of target subtasks in the same subtask set may be performed simultaneously or in a preset order.
[0063] Thus, determining the target candidate processing personnel corresponding to the target subtask according to the target matching coefficient includes: determining the target candidate processing personnel for each subtask set in order from high to low priority according to the target matching coefficient.
[0064] In an embodiment of the present application, by dividing the multiple target subtasks into multiple subtask sets according to different priorities, the target subtasks are allocated to each subtask set according to different priorities, and the target subtasks are allocated in order from high to low priority according to the target matching coefficient, thereby improving the efficiency of allocating target subtasks and ensuring that target subtasks with higher priorities can be allocated first.
[0065] In one implementation, the above-mentioned method of determining the target personnel to be selected for each of the subtask sets in order of priority from high to low according to the target matching coefficient includes: for each of the subtask sets, determining the target personnel to be selected for each target subtask in the subtask set in order of difficulty coefficients of the target subtasks from high to low according to the target matching coefficient.
[0066] In an embodiment of the present application, for each target subtask in each subtask set, target candidates are assigned to the target subtasks in order of difficulty coefficient from high to low according to the target matching coefficient, so that each target subtask in the same subtask set is assigned according to the difficulty coefficient, and target candidates are assigned to target subtasks with high difficulty coefficients first, and then target candidates are assigned to target subtasks with low difficulty coefficients. Overall, priority is given to assigning target subtasks with higher priorities, and in each subtask set, priority is given to assigning target subtasks with higher difficulty coefficients, thereby speeding up the processing of target subtasks and saving time.
[0067] In one implementation, the above-mentioned task allocation method may further include the following step: setting the estimated completion time of the target subtask according to the difficulty coefficient of the target subtask.
[0068] In an embodiment of the present application, an estimated completion time is set for a target subtask according to the difficulty coefficient of the target subtask, so that the setting of the estimated completion time is more reasonable.
[0069] In one implementation, the processing status coefficient of the above-mentioned candidate processing personnel is determined based on the idle status and on-the-job status of the candidate processing personnel.
[0070] The idle status of the candidate processing personnel includes the assigned target subtask to be processed and the unassigned target subtask to be processed. The on-the-job status of the candidate processing personnel includes on-the-job and off-the-job. When the candidate processing personnel are not assigned the target subtask to be processed and are on-the-job, their processing status coefficient is When the processing personnel to be selected have been assigned the target subtask to be processed or are not on duty, their processing status coefficient is 0.
[0071] In the embodiment of the present application, when the candidate processing personnel are not assigned the target subtask to be processed and are on duty, their processing status coefficient When the processing personnel to be selected have been assigned the target subtask to be processed or are not on duty, their processing status coefficient is 0, thereby avoiding assigning multiple target subtasks to the same target candidate processing personnel. Then the target matching coefficient between the target subtask and each of the candidate processing personnel can be determined by the following formula:
[0072] In the formula, is the target matching coefficient between the target subtask and the jth candidate for processing, is the processing status coefficient of the jth candidate for processing, is the task matching coefficient between the target subtask and the yth historical subtask, and Y is the number of historical subtasks of the jth candidate.
[0073] In one implementation, after determining the target candidate processing personnel corresponding to the target subtask according to the target matching coefficient in the above step 108, the method further includes the following steps.
[0074] Step 110 , in response to the processing operation of the target candidate processing personnel on the target subtask, testing the processed target subtask to obtain first test data.
[0075] The target subtask is processed and tested to detect errors in the target subtask, such as the number of vulnerabilities.
[0076] Step 112: in response to the target candidate processing personnel modifying the processed target subtask based on the first test data, testing the modified target subtask to obtain second test data.
[0077] Among them, after the vulnerability of the target subtask is modified, the test is performed again to continue to detect the error situation of the target subtask.
[0078] Step 114: store the first test data and the second test data.
[0079] In the embodiment of the present application, for the target subtask to which the target candidate processing personnel have been assigned, after the target candidate processing personnel processes the target subtask, the processed target subtask is tested to detect the error after processing the target subtask, thereby modifying the error, and testing again after modification, so as to continuously correct the loopholes of the target subtask and continuously improve the target subtask. The test data generated by each test is stored, which can be used to modify the target subtask on the one hand, and on the other hand, it can be used as relevant information of the new historical subtask to assist in the allocation of the new target subtask.
[0080] In one implementation, the above-mentioned task allocation method may further include: storing allocation data and monitoring data of the target subtask.
[0081] The allocation data includes the target subtask and the target candidate for processing corresponding to the target subtask; the monitoring data includes the estimated completion time and the actual completion time of the target subtask.
[0082] In the embodiment of the present application, by storing the allocation data and monitoring data of the target subtask, these data are used as relevant information of the new historical subtask to assist in the allocation of the new target subtask.
[0083] Figure 2 A flowchart of another task allocation method provided by an embodiment of the present application is shown in FIG. Figure 2 , the method comprises the following steps.
[0084] Step 201: Create a task list according to user needs and decompose it into several subtasks.
[0085] The subtask includes a subtask list.
[0086] Step 202: automatically generate a topology map based on the multiple subtask lists, and mark the priorities of the subtask lists according to the topology map.
[0087] Step 203, for the ith subtask, determine the difficulty coefficient of the ith subtask according to the number of functions that the subtask needs to complete, the number of other subtasks that the subtask needs to interface with, and the maximum similarity between the subtask and historical subtasks.
[0088] Among them, the number of functions that need to be completed in this subtask is obtained through the i-th subtask list ; Obtain the number of other subtasks that this subtask needs to connect to through the topology map ; By comparing the subtasks one by one with the historical subtasks, the maximum similarity between the subtask and the historical subtasks is obtained , and substitute it into the following formula to calculate the difficulty coefficient of the i-th subtask:
[0089] Among them, when the number of functions The more, the difficulty coefficient of the i-th subtask The larger the number of subtasks to be connected The more, the difficulty coefficient of the i-th subtask The larger the value, the greater the similarity between the ith subtask and the historical subtask. The smaller it is, the greater the difficulty coefficient of the i-th subtask The bigger.
[0090] Step 204, firstly divide each subtask into multiple groups according to the priority level, and then sort the subtasks in the same group according to the difficulty coefficient from high to low, and determine the task matching coefficient between the yth historical subtask and the subtasks in the task list, and the target matching coefficient between the subtask and the jth candidate for processing. That is, execute step 2041 to step 2042.
[0091] Among them, subtasks in the same group have no order of precedence and can be carried out at the same time. They can also be carried out in order of difficulty from high to low. First, assign matching engineers to subtasks with high difficulty coefficients, and then assign subtasks with low difficulty coefficients, which can speed up the project progress and save time.
[0092] Step 2041, obtain the historical subtasks completed by the j-th engineer, and determine the task matching coefficient between the y-th historical subtask and the subtasks in the task list based on the similarity between the subtask and the historical subtask, the estimated completion time corresponding to the historical subtask, the actual completion time, the number of tests, and the number of vulnerabilities in each test.
[0093] The task matching coefficient between the subtask and the y-th historical subtask can be determined by the following formula:
[0094] Among them, the similarity The larger the task matching coefficient is, the The bigger; The larger the task matching coefficient is, the The larger the value, the smaller the number of tests C is, and the task matching coefficient The larger the number of test vulnerabilities The smaller the task matching coefficient The task matching coefficient is calculated based on the number of vulnerabilities, number of tests, the difference between the actual completion time and the estimated time, and the similarity between tasks. Comprehensive calculation is performed to make the target matching coefficient of the jth engineer more accurate. It should be noted that the similarity between the two tasks It can be determined by existing calculation models or other calculation methods.
[0095] Step 2042, based on the task matching coefficient And the processing status coefficient of the jth candidate , determine the target matching coefficient between the subtask and the jth candidate .
[0096] Among them, the target matching coefficient between the subtask and the jth candidate can be determined by the following formula :
[0097] in, It is the average matching completion index of the jth engineer in the historical preset time period. It is more reasonable to evaluate the target matching coefficient of the jth engineer by the average matching completion index, avoiding the allocation of subtasks based solely on experience, making the allocation more reasonable.
[0098] Step 205: Determine the engineer with the highest matching coefficient for each subtask according to the target matching coefficient.
[0099] In the embodiment of the present application, the order of subtasks and the relationship between subtasks are firstly more intuitively known through the topological map, so that each engineer can consider the logical relationship with the previous and next subtasks and the corresponding interface settings when completing the corresponding subtask, reduce the occurrence of vulnerabilities after the subtasks are connected, and save the time of subtask testing and patching vulnerabilities. Subtask allocation is performed after comprehensive analysis of the relevant information of historical subtasks and each subtask list, making the subtask allocation more reasonable and more compatible with engineers, while reducing the workload of managers.
[0100] It should be noted that the task allocation method provided in the embodiment of the present application can be executed by a task allocation device or a control module in the task allocation device for executing the task allocation method. In the embodiment of the present application, the task allocation device provided in the embodiment of the present application is described by taking the task allocation method executed by the task allocation device as an example.
[0101] Figure 3 FIG. 1 is a schematic diagram showing the structure of a task allocation device provided in an embodiment of the present application. Figure 3 As shown, the device 300 includes: an acquisition module 31 , a first determination module 32 and a second determination module 33 .
[0102] Among them, the acquisition module 31 is used to acquire multiple target subtasks corresponding to the target task and the various historical subtasks completed by each candidate for processing; the first determination module 32 is used to determine, for each of the target subtasks, the task matching coefficient between the target subtask and each of the historical subtasks according to the similarity between the target subtask and each of the historical subtasks and the completion information of the historical subtasks; and to determine the target matching coefficient between the target subtask and each of the candidate for processing according to the task matching coefficient and the processing status coefficient of each of the candidate for processing; the second determination module 33 is used to determine the target candidate for processing corresponding to the target subtask according to the target matching coefficient; wherein the target candidate for processing is the candidate for processing with the highest target matching coefficient.
[0103] In one implementation, the completion information of the historical subtask includes: the estimated completion time, actual completion time, number of tests, and number of bugs in each test of the historical subtask. The first determination module 32 can be used to determine the completion efficiency of the historical subtask based on the estimated completion time and the actual completion time; determine the error value of the historical subtask based on the number of tests and the number of bugs in each test; and determine the task matching coefficient between the target subtask and each of the historical subtasks based on the similarity between the target subtask and each of the historical subtasks, the completion efficiency, and the error value.
[0104] In one implementation, the above-mentioned first determination module 32 can be used to determine the first weight value corresponding to the similarity, the second weight value corresponding to the completion efficiency, and the third weight value corresponding to the error value according to the task requirement information of the target subtask; determine the task matching coefficient between the target subtask and each of the historical subtasks according to the similarity between the target subtask and each of the historical subtasks, the first weight value corresponding to the similarity, the completion efficiency, the second weight value corresponding to the completion efficiency, the error value, and the third weight value corresponding to the error value.
[0105] In one implementation, the first determination module 32 may also be configured to determine the difficulty coefficient of the target subtask according to the task information of the target subtask.
[0106] In one implementation, the task information of the target subtask includes: the number of functions to be completed of the target subtask, and other target subtasks that are connected to the target subtask. The first determination module 32 can be used to obtain the maximum similarity between the target subtask and the historical subtask, and to obtain the number of other target subtasks that are connected to the target subtask; determine the difficulty coefficient of the target subtask based on the number of functions to be completed, the maximum similarity, and the number of connections.
[0107] In one implementation, the above-mentioned device 300 may also include an information processing module, which can be used to generate a subtask topology map corresponding to the target task based on the task information of the target subtask; wherein the subtask topology map is used to characterize the docking relationship between the target subtasks.
[0108] In one implementation, the first determination module 32 may be configured to search for other target subtasks that are connected to the target subtask from the subtask topology map; and count the number of other target subtasks to obtain the connection number.
[0109] In one implementation, the second determination module 33 may be used to determine the target candidate processing personnel corresponding to the target subtask in order from high to low difficulty coefficients of the target subtasks according to the target matching coefficients.
[0110] In one implementation, the above-mentioned information processing module can also be used to divide the multiple target subtasks into multiple subtask sets according to different priorities; thus, the second determination module 33 can be used to determine the target candidate processing personnel for each subtask set in turn according to the target matching coefficient and in order of priority from high to low.
[0111] In one implementation, the above-mentioned second determination module 33 can be used to determine the target candidate processing personnel corresponding to each target subtask in the subtask set in turn according to the target matching coefficient and in the order of the difficulty coefficient of the target subtask from high to low for each subtask set.
[0112] In one implementation, the above-mentioned device 300 may further include a setting module, which can be used to set the estimated completion time of the target subtask according to the difficulty coefficient of the target subtask.
[0113] In one implementation, the processing status coefficient of the candidate processing personnel is determined based on the idle status and on-duty status of the candidate processing personnel.
[0114] In one implementation, the above-mentioned device 300 may also include a testing module for testing the processed target subtask in response to the processing operation of the target candidate for processing on the target subtask to obtain first test data; in response to the modification operation of the target candidate for processing on the processed target subtask based on the first test data, testing the modified target subtask to obtain second test data; the above-mentioned device 300 may also include a storage module for storing the first test data and the second test data.
[0115] In one implementation, the storage module can also be used to store the allocation data and monitoring data of the target subtask; wherein the allocation data includes the target subtask and the target selected processing personnel corresponding to the target subtask; and the monitoring data includes the estimated completion time and actual completion time of the target subtask.
[0116] The task allocation device in the embodiment of the present application can be a device, or a component, integrated circuit, or chip in a terminal. The device can be a mobile electronic device, and for example, the mobile electronic device can be a mobile phone, a tablet computer, a laptop computer, a PDA, an in-vehicle electronic device, a wearable device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA), etc. The non-mobile electronic device can be a server, a network attached storage (NAS), a personal computer (PC), a television (TV), a teller machine, or a self-service machine, etc., and the embodiment of the present application does not specifically limit it.
[0117] The task allocation device in the embodiment of the present application may be a device having an operating system. The operating system may be an Android operating system, an iOS operating system, or other possible operating systems, which are not specifically limited in the embodiment of the present application.
[0118] The task allocation device provided in the embodiment of the present application can achieve Figure 1 and Figure 2 To avoid repetition, the various processes implemented in the method embodiment are not described here.
[0119] Figure 4A schematic diagram of the structure of a task development system provided in an embodiment of the present application is shown. Figure 4 The task development system 400 includes: a task creation and decomposition module 41, a topology map marking module 42, a storage module 43, multiple task development modules 44, a subtask allocation module 45 and a testing module 46. The subtask allocation module 45 includes a processing unit 451 and an allocation unit 452.
[0120] In the embodiment of the present application, a task list is created according to user needs by the task creation and decomposition module 41 and decomposed into several subtask lists. A topology map is automatically generated by the topology map marking module 42 according to the multiple subtask lists decomposed by the task creation and decomposition module 41, and the priorities of the subtask lists are marked according to the topology map. The topology map can more intuitively show the sequence of subtasks and the relationship between subtasks, so that each engineer can consider the logical relationship and corresponding interface settings with the previous and next subtasks when completing the corresponding subtasks, reduce the occurrence of vulnerabilities after the subtasks are connected, and save time for project testing and patching vulnerabilities. And the priorities of the subtasks are marked according to the topology map, which is convenient for the subsequent allocation of subtasks according to the priority.
[0121] Then, the processing unit 451 of the subtask allocation module 45 performs a comprehensive analysis on the historical data and each subtask list to obtain the subtask allocation data. Then, the subtask allocation data is sent to the corresponding task development module 44 through the allocation unit 452. By performing a comprehensive analysis on the historical data and each subtask list and then performing the subtask allocation, the subtask allocation is made more reasonable and more compatible with the engineer, while reducing the workload of the management personnel. Then, the engineer encodes the subtask through the task development module 44, and after the encoding is completed, it is sent to the test module 46. The test module 46 tests the subtask encoding completed by the engineer and obtains the first test data, and sends the first test data back to the original task development module 44. The engineer modifies the original encoding according to the first test data and sends it to the test module 46 again. The test module 46 tests the modified encoding again to obtain the second test data, and then sends it back to the original task development module 44. After multiple tests, the subtask is completed until the engineer does not need to modify it. After completion, the subtask allocation data, task monitoring data and test data are stored in the storage module 43 to obtain new historical data, which can be used to assist in the allocation of new target subtasks.
[0122] Based on the same technical concept, an embodiment of the present application further provides an electronic device, which is used to execute the above-mentioned task allocation method. Figure 5A schematic diagram of the structure of an electronic device for implementing various embodiments of the present application. The electronic device may have relatively large differences due to different configurations or performances, and may include a processor 501, a communications interface 502, a memory 503, and a communication bus 504, wherein the processor 501, the communications interface 502, and the memory 503 communicate with each other through the communication bus 504. The processor 501 can call a computer program stored in the memory 503 and can be run on the processor 501 to execute the various steps of the above-mentioned task allocation method embodiment, and can achieve the same technical effect, so it will not be repeated here to avoid repetition.
[0123] It should be noted that the electronic devices in the embodiments of the present application include: servers, terminals, or other devices except terminals.
[0124] The above electronic device structure does not constitute a limitation on the electronic device. The electronic device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently. For example, the input unit may include a graphics processing unit (GPU) and a microphone, and the display unit may be configured with a display panel in the form of a liquid crystal display, an organic light-emitting diode, etc. The user input unit includes a touch panel and at least one of other input devices. The touch panel is also called a touch screen. Other input devices may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which will not be repeated here.
[0125] The memory can be used to store software programs and various data. The memory may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instructions required for at least one function (such as a sound playback function, an image playback function, etc.), etc. In addition, the memory may include a volatile memory or a non-volatile memory, or the memory may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct memory bus random access memory (DRRAM).
[0126] The processor may include one or more processing units; optionally, the processor integrates an application processor and a modem processor, wherein the application processor mainly processes operations related to the operating system, user interface, and application programs, and the modem processor mainly processes wireless communication signals, such as a baseband processor. It is understandable that the modem processor may not be integrated into the processor.
[0127] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the various processes of the above-mentioned task allocation method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0128] The processor is a processor in the electronic device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0129] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned task allocation method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0130] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.
[0131] An embodiment of the present application also provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes a program or instructions. When the program or instructions are executed, the various processes of the above-mentioned task allocation method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, they are not repeated here.
[0132] It should be noted that, in this article, the terms "comprise", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise one..." do not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.
[0133] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.
[0134] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.
Claims
1. A task allocation method, characterized in that: include: Obtain multiple target subtasks corresponding to the target task and each historical subtask completed by each candidate processing personnel; For each of the target subtasks, determining a task matching coefficient between the target subtask and each of the historical subtasks according to the similarity between the target subtask and each of the historical subtasks and the completion information of the historical subtasks; Determine the target matching coefficient between the target subtask and each of the to-be-selected processing personnel according to the task matching coefficient and the processing status coefficient of each of the to-be-selected processing personnel; Determining the target candidate processing personnel corresponding to the target subtask according to the target matching coefficient; Among them, the target candidate for processing is the candidate for processing with the highest target matching coefficient.
2. The method according to claim 1, characterized in that The completion information of the historical subtask includes: the estimated completion time, actual completion time, number of tests, and number of vulnerabilities in each test of the historical subtask; determining the task matching coefficient between the target subtask and each of the historical subtasks according to the similarity between the target subtask and each of the historical subtasks and the completion information of the historical subtasks, includes: Determining the completion efficiency of the historical subtask according to the estimated completion time and the actual completion time; Determining an error value of the historical subtask according to the number of tests and the number of vulnerabilities in each test; A task matching coefficient between the target subtask and each of the historical subtasks is determined according to the similarity between the target subtask and each of the historical subtasks, the completion efficiency, and the error value.
3. The method according to claim 2, characterized in that The determining, according to the similarity between the target subtask and each of the historical subtasks, the completion efficiency, and the error value, a task matching coefficient between the target subtask and each of the historical subtasks includes: Determine, according to the task requirement information of the target subtask, a first weight value corresponding to the similarity, a second weight value corresponding to the completion efficiency, and a third weight value corresponding to the error value; The task matching coefficient between the target subtask and each of the historical subtasks is determined based on the similarity between the target subtask and each of the historical subtasks, the first weight value corresponding to the similarity, the completion efficiency, the second weight value corresponding to the completion efficiency, the error value, and the third weight value corresponding to the error value.
4. The method according to claim 1, characterized in that Before determining the target candidate processing personnel corresponding to the target subtask according to the target matching coefficient, the method further includes: Determine the difficulty coefficient of the target subtask according to the task information of the target subtask.
5. The method according to claim 4, characterized in that The task information of the target subtask includes: the number of functions to be completed of the target subtask, and other target subtasks connected to the target subtask; and determining the difficulty coefficient of the target subtask according to the task information of the target subtask includes: Obtaining the maximum similarity between the target subtask and the historical subtask, and obtaining the number of other target subtasks that are connected to the target subtask; The difficulty coefficient of the target subtask is determined according to the number of functions to be completed, the maximum similarity, and the number of connections.
6. The method according to claim 5, characterized in that Before obtaining the number of other target subtasks docked with the target subtask, the method further includes: Generate a subtask topology graph corresponding to the target task according to the task information of the target subtask; The subtask topology diagram is used to characterize the docking relationship between the target subtasks.
7. The method according to claim 6, characterized in that Obtaining the number of other target subtasks that are connected to the target subtask, including: From the subtask topology map, find other target subtasks that have a docking relationship with the target subtask; The number of other target subtasks is counted to obtain the docking number.
8. The method according to any one of claims 4 to 7, characterized in that: Determining the target candidate processing personnel corresponding to the target subtask according to the target matching coefficient includes: According to the target matching coefficient, the target candidates for processing corresponding to the target subtask are determined in sequence according to the difficulty coefficients of the target subtasks from high to low.
9. The method according to claim 4, characterized in that Before determining the target candidate processing personnel corresponding to the target subtask according to the target matching coefficient, the method further includes: Dividing the multiple target subtasks into multiple subtask sets according to different priorities; Determining the target candidate processing personnel corresponding to the target subtask according to the target matching coefficient includes: According to the target matching coefficient, the target candidate processing personnel for each of the subtask sets are determined in order from high to low priority.
10. The method according to claim 9, characterized in that The step of determining the target candidate processing personnel for each of the subtask sets in order of priority from high to low according to the target matching coefficient includes: For each of the subtask sets, according to the target matching coefficient, the target candidate processing personnel corresponding to each target subtask in the subtask set are determined in sequence in descending order of the difficulty coefficients of the target subtasks.
11. The method according to any one of claims 4 to 7, characterized in that: The method further comprises: According to the difficulty coefficient of the target subtask, the estimated completion time of the target subtask is set.
12. The method according to claim 1, characterized in that The processing status coefficient of the candidate processing personnel is determined based on the idle status and on-duty status of the candidate processing personnel.
13. The method according to claim 1, characterized in that After determining the target candidate processing personnel corresponding to the target subtask according to the target matching coefficient, the method further includes: In response to the processing operation of the target candidate processing personnel on the target subtask, testing the processed target subtask to obtain first test data; In response to a modification operation of the target candidate processing personnel on the processed target subtask based on the first test data, testing the modified target subtask to obtain second test data; The first test data and the second test data are stored.
14. The method according to claim 13, characterized in that The method further comprises: Storing the allocation data and monitoring data of the target subtask; The allocation data includes the target subtask and the target candidate for processing corresponding to the target subtask; the monitoring data includes the estimated completion time and the actual completion time of the target subtask.
15. A task allocation device, characterized in that: include: An acquisition module is used to acquire multiple target subtasks corresponding to the target task and various historical subtasks completed by each candidate processing personnel; A first determination module is used to determine, for each of the target subtasks, a task matching coefficient between the target subtask and each of the historical subtasks according to the similarity between the target subtask and each of the historical subtasks and the completion information of the historical subtasks; and to determine a target matching coefficient between the target subtask and each of the to-be-selected processing personnel according to the task matching coefficient and the processing status coefficient of each to-be-selected processing personnel; The second determination module is used to determine the target candidate processing personnel corresponding to the target subtask according to the target matching coefficient; wherein the target candidate processing personnel is the candidate processing personnel with the highest target matching coefficient.
16. An electronic device, characterized in that: It comprises a processor, a memory, and a program or instruction stored in the memory and executable on the processor, wherein the program or instruction, when executed by the processor, implements the steps of the task allocation method as claimed in any one of claims 1 to 14.
17. A readable storage medium, characterized in that: The readable storage medium stores a program or instruction, and when the program or instruction is executed by a processor, the steps of the task allocation method according to any one of claims 1 to 14 are implemented.
18. A computer program product, characterized in that The computer program product comprises a computer program stored on a non-transitory computer-readable storage medium, wherein the computer program comprises a program or an instruction, and when the program or the instruction is executed, the steps of the task allocation method according to any one of claims 1 to 14 are implemented.
Citation Information
Patent Citations
Task scheduling method and device
CN110264036A
Task allocation method and device
CN115392780A
Task processing method and device, electronic equipment, storage medium and program product
CN115883550A
Task allocation method, terminal and computer storage medium
CN118796391A
Development task allocation method and device and computer readable storage medium
CN118860637A
Cited By
Automatic distribution method and system for operation and maintenance tasks
CN121052614A
An operation and maintenance task automatic allocation method and system
CN121052614B