Task allocation method and device
Through the automated task allocation method, decision factors and greedy algorithms are used to solve the problems of inefficiency and high cost caused by manual production scheduling in software development project management, and efficient automatic allocation of tasks and reasonable production arrangements are achieved.
Patent Information
- Application Number
- CN202110061087.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-18
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2041-01-18
AI Technical Summary
In the prior art, task allocation in the field of software development project management mainly relies on manual production scheduling, resulting in the problem of task arrangement based on experience, low task completion efficiency and high project cost.
Automatic assignment of tasks is achieved by obtaining the tag factor, the tag of the task to be assigned, the tag of the ID to be matched, and the maturity cardinality, and assigning the task to be assigned to the to be matched ID corresponding to the minimum decision factor.
It improves task completion efficiency, reduces project completion time and project cost, and avoids the arbitrary and inefficient manual production schedule.
Smart Images

Figure CN112766719B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cloud computing technology, and in particular to a task allocation method and device. Background Art
[0002] With the continuous development of information technology and Internet finance, in order to cope with the rapidly changing needs, project development generally turns to agile development mode, organizing demand clarification, design coding, test acceptance, and product delivery according to the demand dimension, and realizing the delivery of demand in a shorter time. In the current project management practice, a demand is decomposed into several tasks, each of which includes three stages: design, coding, and testing, and is ultimately assigned to the team's designers, coders, and testers to complete. Considering the sequential nature of the task stages and the dependencies between tasks, which makes task allocation have a certain time sequence, the current task allocation in the field of software development project management is essentially a scheduling problem.
[0003] In order to complete all requirements within the specified time, the industry usually uses manual scheduling to determine the scheduling time for each requirement and the designers, coders, and testers who will complete the task. The main problems of manual scheduling are that task scheduling is based on experience, task completion efficiency is low, and project costs are too high. Summary of the invention
[0004] The main purpose of the embodiments of the present invention is to provide a task allocation method and device to achieve automatic task allocation, reasonably arrange production, improve task completion efficiency, and reduce project completion time and project cost.
[0005] In order to achieve the above object, an embodiment of the present invention provides a task allocation method, including:
[0006] Obtain the label factor, the label of the task to be assigned, the labels of n IDs to be matched, and the maturity bases of n IDs to be matched; where n is an integer greater than 1;
[0007] Determine the decision factors of the n IDs to be matched according to the label factor, the label of the task to be assigned, the labels of the n IDs to be matched, and the maturity bases of the n IDs to be matched;
[0008] Assign the task to be assigned to the ID to be matched corresponding to the smallest decision factor among the n decision factors.
[0009] The embodiment of the present invention further provides a task allocation device, comprising:
[0010] An acquisition module, used to acquire a label factor, a label of a task to be assigned, labels of n IDs to be matched, and a maturity base of n IDs to be matched; wherein n is an integer greater than 1;
[0011] A decision factor determination module, used to determine the decision factors of n to-be-matched IDs according to the label factor, the label of the task to be assigned, the labels of the n to-be-matched IDs and the maturity bases of the n to-be-matched IDs;
[0012] The task allocation module is used to allocate the task to be allocated to the ID to be matched corresponding to the minimum decision factor among the n decision factors.
[0013] An embodiment of the present invention further provides a computer device, comprising a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor implements the steps of the task allocation method when executing the computer program.
[0014] An embodiment of the present invention further provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the task allocation method are implemented.
[0015] The task allocation method and device of the embodiment of the present invention obtain the label factor, the label of the task to be allocated, the label of the ID to be matched and the maturity base to determine the decision factor, and allocate the task to be allocated to the ID to be matched corresponding to the minimum decision factor, so as to realize automatic allocation of tasks, reasonably arrange production, improve task completion efficiency, and reduce project completion time and project cost. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0017] Figure 1 is a flow chart of a task allocation method in an embodiment of the present invention;
[0018] Figure 2 is a flow chart for determining tasks to be assigned in an embodiment of the present invention;
[0019] Figure 3 is a flow chart of determining an ID to be matched in an embodiment of the present invention;
[0020] Figure 4 is a structural block diagram of a task allocation device in an embodiment of the present invention;
[0021] Figure 5 is a structural block diagram of a task allocation device in another embodiment of the present invention;
[0022] Figure 6 is a structural block diagram of a user input module in another embodiment of the present invention;
[0023] Figure 7 is a structural block diagram of a task division module in another embodiment of the present invention;
[0024] Figure 8 is a structural block diagram of a result output module in another embodiment of the present invention;
[0025] Fig. 9 yes Figure 5 Functional flow chart of the module in the figure;
[0026] Fig.10 It is a structural block diagram of a computer device in an embodiment of the present invention. DETAILED DESCRIPTION
[0027] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0028] Those skilled in the art will appreciate that the embodiments of the present invention may be implemented as a system, device, apparatus, method or computer program product. Therefore, the present disclosure may be specifically implemented in the following forms, namely: complete hardware, complete software (including firmware, resident software, microcode, etc.), or a combination of hardware and software.
[0029] In view of the fact that the task scheduling in the prior art is based on experience, the task completion efficiency is low and the project cost is too high, the embodiment of the present invention provides a task allocation method, which adopts the method of task allocation one by one, greedily selects the optimal match of the task through the decision factor of the task and the personnel ID; according to the principle that the personnel are not idle on the day, the task is allocated and scheduled through the date dimension, which can realize the automatic allocation of tasks, reasonably arrange production, improve the efficiency of task completion, and reduce the project completion time and project cost. The present invention is described in detail below with reference to the accompanying drawings.
[0030] Figure 1 FIG. 1 is a flowchart of a task allocation method according to an embodiment of the present invention. Figure 1 As shown, the task allocation method includes:
[0031] S101: Obtain a label factor, a label of a task to be assigned, labels of n IDs to be matched, and a maturity base of the n IDs to be matched.
[0032] Here, n is an integer greater than 1.
[0033] Table 1
[0034]
[0035]
[0036] Table 2
[0037]
[0038]
[0039] Table 3
[0040]
[0041]
[0042] Table 1 is a task portrait table, Table 2 is a personnel portrait table, and Table 3 is a parameter information table. As shown in Tables 1-3, the demand items are decomposed into sub-items, and each sub-item is portraited to allocate and schedule tasks. Each sub-item includes a design task, a coding task, and a testing task. The nature of the "sub-items" mentioned in the present invention is a design task, a coding task, or a testing task, and each sub-item needs to arrange the corresponding type of personnel to complete the design, coding, or testing of the sub-item in sequence.
[0043] Figure 2 is a flow chart for determining tasks to be assigned in an embodiment of the present invention. Figure 2 As shown, the tasks to be assigned include:
[0044] S201: Sort tasks according to task parameters.
[0045] In specific implementation, when the current time is earlier than the start time of the requirement item corresponding to the task, the task will not be sorted. Since the scheduling of tasks is determined by the time schedule of the currently assigned personnel, the earlier the task is assigned, the earlier the completion time will be, given the same other conditions. However, each requirement item to which a task belongs has an end time requirement, so it is necessary to ensure that the task with an earlier end time of the requirement item is assigned in advance, that is, it has the highest priority. When the end time of the requirement items is the same, some special tasks will be assigned to designated personnel (including designers, coders, and testers) for the purpose of cultivating a certain ability of developers. Considering that if such tasks cannot be assigned in advance, there may be premature saturation of designated personnel, resulting in the inability to obtain the task later, the priority of tasks with characteristic requirements is also higher. In addition to the above priority requirements, the task itself has attributes such as risk and value. Within the scope of the assignable personnel, it is necessary to prioritize high-risk and high-value tasks to personnel with higher maturity as much as possible through dimensions such as personnel level, average assessment value in the past three quarters, and defect density, so as to maximize the reasonable allocation of resources. Therefore, all tasks can be sorted according to the above priority requirements. Finally, considering that many tasks have dependencies, that is, the completion time of the coding task that needs to meet the sub-item is later than the completion time of the coding task of the dependent sub-item, if the dependent task has not been scheduled, it cannot be guaranteed that the scheduled task can meet the dependency. Therefore, it is necessary to make subtle adjustments based on the initial sorting to advance the dependent task. The specific implementation is: if the initial sorting has met the requirements of the dependency, no additional adjustment is required, otherwise the order of the dependent task of the task can be advanced to the previous position of the sub-item.
[0046] For example, the end time of the requirement item corresponding to the task is the first priority of sorting. Tasks are sorted from early to late according to the end time of the requirement item; whether the task has a designated person is the second priority of sorting. When the end time of the requirement item is the same, the task of the designated person is placed before the task of the undesignated person; the personnel level is the third priority of sorting. Tasks are sorted from high to low according to the personnel level corresponding to the task; the average assessment value of the past three quarters is the fourth priority of sorting. Tasks are sorted from high to low according to the average assessment value of the past three quarters corresponding to the task; the defect density is the fifth priority of sorting. Tasks are sorted from low to high according to the defect density corresponding to the task; finally, determine whether the dependent sub-item numbers of the sorted tasks meet the dependency relationship: if the dependency relationship between tasks is task X→task Y→task Z, and the sorted tasks are task Z→task X→task Y, then put task X and task Y in front of task Z, and change it to task X→task Y→task Z.
[0047] Among them, the software development process has a special requirement that design reviews need to be completed uniformly within a certain period of time. Therefore, before assigning tasks daily, all tasks need to be sorted in the order of non-design priority, so as to ensure that the design end time of all tasks meets the design completion time requirements as much as possible.
[0048] S202: Determine that the task ranked first is the task to be assigned.
[0049] After tasks and personnel are allocated through the greedy algorithm, production scheduling is required. Production scheduling is to schedule the time according to the actual workload in accordance with the personnel's time schedule while meeting the fair workload saturation and the actual workload upper limit, so as to obtain the start time and end time of the task to determine the idle personnel (idle ID) for the next task. The results of personnel scheduling and task scheduling will be temporarily stored in the computer memory. Among them, the fair workload saturation is equal to the product of the basic fair workload saturation and the development and test input ratio corresponding to the personnel ID; the actual workload upper limit is equal to the product of the basic workload upper limit and the development and test input ratio corresponding to the personnel ID.
[0050] Figure 3 is a flow chart of determining an ID to be matched in an embodiment of the present invention. Figure 3 As shown, determining the ID to be matched includes:
[0051] S301: Determine the historical end time corresponding to each ID according to the historical task start time corresponding to each ID and the historical actual workload corresponding to each ID.
[0052] In one embodiment, it further includes: determining the historical actual workload corresponding to each ID based on the historical decision factors of each ID and the fair workload of each historical task.
[0053] In one embodiment, the method further includes: determining a historical decision factor of each ID according to the label factor, the label of the historical task, the label of each ID and the maturity cardinality of each ID.
[0054] In specific implementation, the historical decision factors of each ID are determined based on the label factor, the label of the historical task, the label of each ID, and the maturity base of each ID, including:
[0055] The number of label matches between each ID and historical tasks is determined based on the labels of historical tasks and the labels of each ID; the historical decision factor of each ID is determined based on the label factor, the number of label matches between each ID and historical tasks, and the maturity base of each ID.
[0056] The historical actual workload is equal to the product of the historical decision factor and the fair workload of the historical task:
[0057] Historical actual workload = fair workload of historical tasks × historical decision factor;
[0058] The historical decision factor is determined according to the following formula:
[0059] DecisionFactor(i)=U(i)×V^(W1(i)+W2(i));
[0060] Among them, DecisionFactor(i) is the historical decision factor of the ith ID, U(i) is the maturity base of the ith ID, V is the label factor, W1(i) is the number of matches between the ith ID and the technical labels of the historical tasks, and W2(i) is the number of matches between the ith ID and the business labels of the historical tasks. The fair workload can be divided into design fair workload, coding fair workload and testing fair workload according to the task type.
[0061] It can be seen from the formula for determining historical decision factors and historical actual workload that when there is no match between the ID (personnel ID) and the technical label of the historical task, and between the ID and the business label of the historical task, the time required to complete the historical task corresponding to the ID is the fair workload time of the historical task; if there is a label match, it means that the historical task and the ID are more compatible, and the actual time required to complete the task will be reduced accordingly according to the value of the decision factor, so that the task can be completed faster and better, and the project cost can be reduced as much as possible.
[0062] Among them, the time required to complete the historical task corresponding to the personnel ID can be determined based on the historical actual workload corresponding to the ID, the fair workload saturation and the actual workload upper limit, and then the historical end time can be determined based on the historical task start time and the time required to complete the historical task corresponding to the ID.
[0063] S302: Determine an idle ID according to the historical end time corresponding to each ID.
[0064] Among them, when the historical end time corresponding to the ID is on the same day, the corresponding fair workload is less than the fair workload saturation, and the corresponding actual workload is less than the actual workload upper limit, it can be determined that the ID is an idle ID.
[0065] S303: Select n IDs to be matched from the idle IDs according to the required parameters corresponding to the task to be assigned.
[0066] In specific implementation, the required parameters corresponding to the task include the type of task to be assigned (design task, coding task or testing task), whether to specify a designer, whether to specify a coder, whether to specify a tester, the personnel level, the average assessment value in the past three quarters and the defect density requirement. The present invention can select an ID that meets the above required parameters from the idle IDs as the ID to be matched.
[0067] For example, if the type of task to be assigned is a design task, and no designer is specified, and the personnel level is required to be greater than or equal to level A, the average assessment value in the past three quarters is greater than B, and the defect density is greater than C, then the ID whose personnel type is a designer, whose personnel level is greater than or equal to level A, whose average assessment value in the past three quarters is greater than B, and whose defect density is greater than C is selected from the idle IDs as the ID to be matched. Among them, the ID to be matched is generally selected from the idle IDs of the day. If there is no idle ID on the day, the ID to be matched is selected from the idle IDs of the next day.
[0068] S102: Determine the decision factors of the n IDs to be matched according to the label factor, the label of the task to be assigned, the labels of the n IDs to be matched, and the maturity bases of the n IDs to be matched.
[0069] In one embodiment, S102 includes: determining the number of label matches between n IDs to be matched and the tasks to be assigned based on the labels of the tasks to be assigned and the labels of n IDs to be matched; determining the decision factor of the n IDs to be matched based on the label factor, the number of label matches between the n IDs to be matched and the tasks to be assigned, and the maturity base of the n IDs to be matched.
[0070] Among them, the labels include technical labels and business labels. According to the label of the task to be assigned and the labels of the n IDs to be matched, the number of matches between the ID to be matched and the technical labels of the task to be assigned and the number of matches between the ID to be matched and the business labels of the task to be assigned can be determined.
[0071] For a task to be assigned, there may be multiple idle personnel who meet the requirements on the same day (identified by employee number (ID), i.e., idle ID), so it is necessary to perform optimal matching according to certain rules, and on the basis of meeting rigid requirements (such as the end time of the demand item, dependencies, etc.), shorten the actual completion time of the task (the time required to complete the task) as much as possible, so as to achieve the purpose of cost control. The present invention defines technical tags and business tags in the input personnel portrait and task portrait, and determines the decision factor through the following formula to characterize the matching degree between the task and the ID. The greedy algorithm is used to find the optimal matching ID to minimize the decision factor, and its objective function is:
[0072] f=min DecisionFactor(i),i=1,2,...,n;
[0073] DecisionFactor(i)=U(i)×V^(W1(i)+W2(i));
[0074] Among them, DecisionFactor(i) is the decision factor of the i-th ID to be matched, U(i) is the maturity base of the i-th ID to be matched, V is the label factor, W1(i) is the number of matches between the i-th ID to be matched and the technical label of the task to be assigned, and W2(i) is the number of matches between the i-th ID to be matched and the business label of the task to be assigned.
[0075] S103: Allocate the task to be assigned to the ID to be matched corresponding to the minimum decision factor among the n decision factors.
[0076] Table 4
[0077]
[0078]
[0079] Table 4 is the task output table. Sub-item allocation is to output Jira tasks. As shown in Table 4, after determining the ID to be matched corresponding to the task to be assigned, the corresponding ID, the fair workload corresponding to the task, and the time when the task starts can be output according to the task type. According to the process of determining the time required to complete the historical task corresponding to the ID, the time required to complete the task to be assigned corresponding to the ID to be matched can be determined in the same way to determine the task completion time.
[0080] Figure 1 The execution subject of the task allocation method shown can be a task allocation device located on a computer. Figure 1 As can be seen from the process shown, the task allocation method of the embodiment of the present invention obtains the label factor, the label of the task to be assigned, the label of the ID to be matched, and the maturity base to determine the decision factor, and assigns the task to be assigned to the ID to be matched corresponding to the minimum decision factor, so as to realize automatic allocation of tasks, reasonably arrange production, improve task completion efficiency, and reduce project completion time and project cost.
[0081] Table 5
[0082] serial number Output Project Output information description 1 Contract Pricing Actual pricing of the project 2 Project Cost The actual cost of the project
[0083] Table 5 is the cost output table. As shown in Table 5, the cost of a project refers to the sum of the labor costs required to actually complete all tasks. If the salary of personnel is settled on a daily basis, the cost calculation formula for each person is:
[0084] Personnel cost = employee unit price × time required to complete the task × professional manager cost allocation;
[0085] When the cost of a project is less than the contract price, it means that the project is profitable. Otherwise, it is necessary to consider whether the staffing and contract pricing are reasonable, so as to achieve the goal of cost control.
[0086] If after task allocation (production scheduling) it is prompted that production scheduling is not successful, it may be due to too few designers, resulting in the inability to complete all design tasks before the design completion time, or too few coding testers, resulting in the inability to complete tasks before the end time of the requirement items, or unreasonable configuration of fair workload saturation or unreasonable configuration of actual workload upper limit, etc., and it is necessary to adjust and re-use the present invention for processing until production scheduling is successful.
[0087] The specific process of the embodiment of the present invention is as follows:
[0088] 1. Determine the actual historical workload corresponding to each ID based on the historical decision factors of each ID and the fair workload of each historical task.
[0089] 2. Determine the historical end time corresponding to each ID based on the historical task start time corresponding to each ID and the historical actual workload corresponding to each ID.
[0090] 3. Determine the idle ID based on the historical end time corresponding to each ID.
[0091] 4. Select n IDs to be matched from the idle IDs according to the required parameters corresponding to the task to be assigned.
[0092] 5. Sort the tasks according to the task parameters and determine that the task ranked first is the task to be assigned.
[0093] 6. Determine the decision factors of the n IDs to be matched based on the label factor, the label of the task to be assigned, the labels of the n IDs to be matched, and the maturity bases of the n IDs to be matched.
[0094] 7. Assign the task to be assigned to the ID to be matched corresponding to the smallest decision factor among the n decision factors.
[0095] In summary, in order to solve the problem of uneven work distribution, task mismatch, waste of time and human resources and excessive project costs caused by manual scheduling in the field of software development project management, the present invention provides a task allocation method based on decision factors and greedy algorithms. Under the general framework of the greedy algorithm, decision factors are used to characterize the matching degree of tasks and IDs, so as to achieve the purpose of optimizing the division of labor. At the same time, multiple constraints are applied to the matching process, while ensuring rationality and correctness, and finally obtaining a better feasible solution for the scheduling problem. Its advantages are as follows:
[0096] 1. Computerized production scheduling is automated to greatly improve efficiency.
[0097] 2. The algorithm is used to select the best match between personnel ID and tasks, thus avoiding the randomness of manual scheduling, improving the rationality of scheduling results, and reducing project costs.
[0098] Based on the same inventive concept, an embodiment of the present invention further provides a task allocation device. Since the principle of solving the problem by the device is similar to that of the task allocation method, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be repeated.
[0099] Figure 4 It is a structural block diagram of a task allocation device in an embodiment of the present invention. Figure 5 It is a structural block diagram of a task allocation device in another embodiment of the present invention. Figure 6 It is a structural block diagram of a user input module in another embodiment of the present invention. Figure 7 It is a structural block diagram of a task division module in another embodiment of the present invention. Figure 8 It is a structural block diagram of a result output module in another embodiment of the present invention. Fig. 9 yes Figure 5 Functional flow chart of the modules in the figure. Figure 4-Figure 9 As shown, the task allocation device includes:
[0100] An acquisition module, used to acquire a label factor, a label of a task to be assigned, labels of n IDs to be matched, and a maturity base of n IDs to be matched; wherein n is an integer greater than 1;
[0101] A decision factor determination module, used to determine the decision factors of n to-be-matched IDs according to the label factor, the label of the task to be assigned, the labels of the n to-be-matched IDs and the maturity bases of the n to-be-matched IDs;
[0102] The task allocation module is used to allocate the task to be allocated to the ID to be matched corresponding to the minimum decision factor among the n decision factors.
[0103] In one embodiment, it also includes:
[0104] A sorting module, used to sort tasks according to task parameters;
[0105] The to-be-assigned task determination module is used to determine the task ranked first as the to-be-assigned task.
[0106] In one embodiment, it also includes:
[0107] A historical end time determination module is used to determine the historical end time corresponding to each ID according to the historical task start time corresponding to each ID and the historical actual workload corresponding to each ID;
[0108] An idle ID determination module is used to determine an idle ID according to the historical end time corresponding to each ID;
[0109] The to-be-matched ID selection module is used to select n to-be-matched IDs from the idle IDs according to the required parameters corresponding to the tasks to be assigned.
[0110] In one embodiment, it also includes:
[0111] The historical actual workload determination module is used to determine the historical actual workload corresponding to each ID based on the historical decision factors of each ID and the fair workload of each historical task.
[0112] In one embodiment, it also includes:
[0113] The historical decision factor determination module is used to determine the historical decision factor of each ID according to the label factor, the label of the historical task, the label of each ID and the maturity cardinality of each ID.
[0114] In one embodiment, the decision factor determination module includes:
[0115] A first label matching number determining unit, used to determine the number of label matching between n to-be-matched IDs and the to-be-assigned tasks according to the label of the to-be-assigned tasks and the labels of the n to-be-matched IDs;
[0116] The decision factor determination unit is used to determine the decision factors of the n IDs to be matched according to the label factor, the number of label matches between the n IDs to be matched and the tasks to be assigned, and the maturity bases of the n IDs to be matched.
[0117] In one embodiment, the historical decision factor determination module includes:
[0118] A second label matching number determining unit, used to determine the number of label matching between each ID and the historical task according to the label of the historical task and the label of each ID;
[0119] The historical decision factor determination unit determines the historical decision factor of each ID according to the label factor, the number of label matches between each ID and the historical tasks, and the maturity cardinality of each ID.
[0120] like Figure 5-Figure 9 As shown, in actual application, the task allocation device includes: a user input module, a task division module and a result output module.
[0121] The user input module includes an acquisition module, which specifically includes a task portrait configuration unit, a personnel portrait configuration unit and a parameter information configuration unit.
[0122] The task profile configuration unit is used to input the task profile table.
[0123] The personnel portrait configuration unit is used to input the personnel portrait table.
[0124] The parameter information configuration unit is used to input the parameter information table.
[0125] The task division module includes a task preprocessing unit and a strategy execution unit.
[0126] The task preprocessing unit includes a sorting module and a to-be-assigned task determination module.
[0127] The strategy execution unit includes a historical end time determination module, an idle ID determination module, a to-be-matched ID selection module, a historical actual workload determination module, a historical decision factor determination module and a decision factor determination module.
[0128] The result output module is used to output the results of personnel scheduling and task scheduling stored in the computer memory in a certain format, including Jira task output unit and cost output unit.
[0129] The Jira task output unit includes a task allocation module for outputting Jira tasks, and the Jira tasks include data in a task output table.
[0130] The cost output unit is used to output the cost and contract pricing of the project.
[0131] like Fig. 9 As shown, Figure 5 The functions of the module are as follows:
[0132] 1. The user input module obtains the task portrait table, personnel portrait table and parameter information table.
[0133] 2. The task division module sorts all tasks according to parameters such as the end time of the requirement item, personnel level, defect density, etc., with the sorting priority decreasing in turn to ensure that timing requirements and high-value requirements are implemented first; then, based on the decision factor, the greedy algorithm is used to select the optimal ID of the task to be assigned.
[0134] 3. Determine whether there are any unscheduled tasks.
[0135] 4. If there is no idle ID on the day, select the ID to be matched from the idle IDs of the next day, and enter the task division module again to perform optimal division of labor matching.
[0136] 5. If all tasks have been scheduled, the result output module will output the Jira task output table and cost output table to the user.
[0137] In summary, the task allocation device of the embodiment of the present invention obtains the label factor, the label of the task to be assigned, the label of the ID to be matched, and the maturity base to determine the decision factor, and assigns the task to be assigned to the ID to be matched corresponding to the minimum decision factor, so as to realize automatic allocation of tasks, reasonably arrange production, improve task completion efficiency, and reduce project completion time and project cost.
[0138] The embodiment of the present invention also provides a specific implementation of a computer device capable of implementing all the steps in the task allocation method in the above embodiment. Fig.10 is a block diagram of a computer device in an embodiment of the present invention, see Fig.10 , the computer equipment specifically includes the following contents:
[0139] Processor (processor) 1001 and memory (memory) 1002.
[0140] The processor 1001 is used to call the computer program in the memory 1002. When the processor executes the computer program, all the steps in the task allocation method in the above embodiment are implemented. For example, when the processor executes the computer program, the following steps are implemented:
[0141] Obtain the label factor, the label of the task to be assigned, the labels of n IDs to be matched, and the maturity bases of n IDs to be matched; where n is an integer greater than 1;
[0142] Determine the decision factors of the n IDs to be matched according to the label factor, the label of the task to be assigned, the labels of the n IDs to be matched, and the maturity bases of the n IDs to be matched;
[0143] Assign the task to be assigned to the ID to be matched corresponding to the smallest decision factor among the n decision factors.
[0144] In summary, the computer device of the embodiment of the present invention obtains the label factor, the label of the task to be assigned, the label of the ID to be matched, and the maturity base to determine the decision factor, and assigns the task to be assigned to the ID to be matched corresponding to the minimum decision factor, so as to realize automatic allocation of tasks, reasonably arrange production, improve task completion efficiency, and reduce project completion time and project cost.
[0145] The embodiment of the present invention also provides a computer-readable storage medium capable of implementing all the steps of the task allocation method in the above embodiment. The computer-readable storage medium stores a computer program. When the computer program is executed by a processor, all the steps of the task allocation method in the above embodiment are implemented. For example, when the processor executes the computer program, the following steps are implemented:
[0146] Obtain the label factor, the label of the task to be assigned, the labels of n IDs to be matched, and the maturity bases of n IDs to be matched; where n is an integer greater than 1;
[0147] Determine the decision factors of the n IDs to be matched according to the label factor, the label of the task to be assigned, the labels of the n IDs to be matched, and the maturity bases of the n IDs to be matched;
[0148] Assign the task to be assigned to the ID to be matched corresponding to the smallest decision factor among the n decision factors.
[0149] In summary, the computer-readable storage medium of an embodiment of the present invention obtains the label factor, the label of the task to be assigned, the label of the ID to be matched, and the maturity base to determine the decision factor, and assigns the task to be assigned to the ID to be matched corresponding to the minimum decision factor, so as to realize automatic allocation of tasks, reasonably arrange production, improve task completion efficiency, and reduce project completion time and project cost.
[0150] The specific embodiments described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
[0151] Those skilled in the art may also understand that the various illustrative logical blocks, units, and steps listed in the embodiments of the present invention may be implemented by electronic hardware, computer software, or a combination of the two. In order to clearly demonstrate the interchangeability of hardware and software, the various illustrative components, units, and steps described above have generally described their functions. Whether such functions are implemented by hardware or software depends on the specific application and the design requirements of the entire system. Those skilled in the art may use various methods to implement the described functions for each specific application, but such implementation should not be understood as exceeding the scope of protection of the embodiments of the present invention.
[0152] The various illustrative logic blocks, or units, or devices described in the embodiments of the present invention can be implemented or operated by a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field programmable gate array or other programmable logic device, a discrete gate or transistor logic, a discrete hardware component, or any combination of the above. The general-purpose processor can be a microprocessor, and optionally, the general-purpose processor can also be any conventional processor, controller, microcontroller or state machine. The processor can also be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors combined with a digital signal processor core, or any other similar configuration.
[0153] The steps of the method or algorithm described in the embodiments of the present invention can be directly embedded in hardware, a software module executed by a processor, or a combination of the two. The software module can be stored in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable disk, a CD-ROM, or other storage media of any form in the art. Exemplarily, the storage medium can be connected to the processor so that the processor can read information from the storage medium and can write information to the storage medium. Optionally, the storage medium can also be integrated into the processor. The processor and the storage medium can be arranged in an ASIC, and the ASIC can be arranged in a user terminal. Optionally, the processor and the storage medium can also be arranged in different components in the user terminal.
[0154] In one or more exemplary designs, the above functions described in the embodiments of the present invention can be implemented in hardware, software, firmware or any combination of the three. If implemented in software, these functions can be stored on a computer-readable medium, or transmitted in the form of one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media that facilitate the transfer of computer programs from one place to another. The storage medium can be any available medium that can be accessed by any general or special computer. For example, such computer-readable media can include but are not limited to RAM, ROM, EEPROM, CD-ROM or other optical disk storage, disk storage or other magnetic storage devices, or any other medium that can be used to carry or store program codes in the form of instructions or data structures and other forms that can be read by general or special computers, or general or special processors. In addition, any connection can be appropriately defined as a computer-readable medium, for example, if the software is transmitted from a website site, server or other remote resource through a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL) or wirelessly, such as infrared, wireless and microwave, it is also included in the defined computer-readable medium. The disk and disc include compact disk, laser disk, optical disk, DVD, floppy disk and blue-ray disk. Disks usually copy data magnetically, while discs usually copy data optically with lasers. The above combination can also be included in computer readable media.
Claims
1. A task allocation method, characterized in that: include: Initially sort all tasks, including: The end time of the requirement item corresponding to the task is the first priority of sorting. Tasks are sorted from early to late according to the end time of the requirement item. Whether the task has a designated person is the second priority of sorting. When the end time of the requirement item is the same, the task of the designated person is placed before the task of the undesignated person. The personnel level is the third priority of sorting. Tasks are sorted from high to low according to the personnel level corresponding to the task. The average assessment value of the past three quarters is the fourth priority of sorting. Tasks are sorted from high to low according to the average assessment value of the past three quarters corresponding to the task. The defect density is the fifth priority of sorting. Tasks are sorted from low to high according to the defect density corresponding to the task. If the initial sorting meets the requirements of the dependency relationship, no additional adjustment is made. Otherwise, the order of the dependent tasks of the task is advanced to the previous one of the sub-items. The sub-items include: design tasks, coding tasks and test tasks. The nature of the sub-items is design tasks, coding tasks or test tasks. Each sub-item needs to complete the design, coding or testing of the sub-item in sequence. Determine the task ranked first as the task to be assigned; Obtain the label factor, the label of the task to be assigned, the labels of n IDs to be matched, and the maturity bases of n IDs to be matched; where n is an integer greater than 1; Determine the decision factor of the n to-be-matched IDs according to the label factor, the label of the to-be-assigned task, the labels of the n to-be-matched IDs, and the maturity base of the n to-be-matched IDs; Allocate the task to be assigned to the ID to be matched corresponding to the minimum decision factor among the n decision factors; Determining the decision factors of the n to-be-matched IDs according to the label factor, the label of the to-be-assigned task, the labels of the n to-be-matched IDs, and the maturity bases of the n to-be-matched IDs includes: Determine the number of matches between the n IDs to be matched and the labels of the tasks to be assigned according to the labels of the tasks to be assigned and the labels of the n IDs to be matched; Determine the decision factor of the n IDs to be matched according to the label factor, the number of label matches between the n IDs to be matched and the tasks to be assigned, and the maturity base of the n IDs to be matched; The decision factor is determined according to the following formula: DecisionFactor(i)=U(i)×V^(W1(i)+W2(i)); Among them, DecisionFactor(i) is the decision factor of the i-th ID to be matched, U(i) is the maturity base of the i-th ID to be matched, V is the label factor, W1(i) is the number of matches between the i-th ID to be matched and the technical label of the task to be assigned, and W2(i) is the number of matches between the i-th ID to be matched and the business label of the task to be assigned.
2. The task allocation method according to claim 1, characterized in that: Also includes: Determine the historical end time corresponding to each ID based on the historical task start time corresponding to each ID and the historical actual workload corresponding to each ID; Determine the idle ID based on the historical end time corresponding to each ID; Select n IDs to be matched from the idle IDs according to the required parameters corresponding to the task to be assigned.
3. The task allocation method according to claim 2, characterized in that: Also includes: The historical actual workload corresponding to each ID is determined based on the historical decision factors of each ID and the fair workload of each historical task.
4. The task allocation method according to claim 3, characterized in that: Also includes: The historical decision factor of each ID is determined according to the label factor, the label of the historical task, the label of each ID and the maturity base of each ID.
5. The task allocation method according to claim 4, characterized in that: Determining the historical decision factor of each ID according to the label factor, the label of the historical task, the label of each ID and the maturity base of each ID includes: Determine the number of matches between each ID and the label of the historical task according to the label of the historical task and the label of each ID; The historical decision factor of each ID is determined according to the label factor, the number of label matches between each ID and the historical tasks, and the maturity cardinality of each ID.
6. A task allocation device, characterized in that: include: The initial sorting module is used to perform initial sorting of all tasks; The initial sorting module is specifically used for: The first priority of sorting is the end time of the requirement item corresponding to the task. Tasks are sorted from early to late according to the end time of the requirement item. The second priority of sorting is whether the task has a designated person. When the end time of the requirement item is the same, the task of the designated person is placed before the task of the undesignated person. The third priority of sorting is the personnel level. Tasks are sorted from high to low according to the personnel level corresponding to the task. The fourth priority of sorting is the average assessment value of the past three quarters. Tasks are sorted from high to low according to the average assessment value of the past three quarters corresponding to the task. Defect density is the fifth priority of sorting. Tasks are sorted from low to high according to their corresponding defect density. The dependent task adjustment module is used to: if the initial sorting meets the requirements of the dependency relationship, no additional adjustment is made; otherwise, the order of the dependent tasks of the task is advanced to the previous one of the sub-items; the sub-items include: design tasks, coding tasks and test tasks; the nature of the sub-items is design tasks, coding tasks or test tasks, and each sub-item needs to complete the design, coding or test of the sub-item in sequence; A task-to-be-assigned module, used to determine the task ranked first as the task to be assigned; An acquisition module, used to acquire a label factor, a label of a task to be assigned, labels of n IDs to be matched, and a maturity base of n IDs to be matched; wherein n is an integer greater than 1; A decision factor determination module, used to determine the decision factors of n to-be-matched IDs according to the label factor, the label of the to-be-assigned task, the labels of the n to-be-matched IDs and the maturity bases of the n to-be-matched IDs; A task allocation module, used for allocating the to-be-allocated task to the to-be-matched ID corresponding to the minimum decision factor among the n decision factors; The decision factor determination module comprises: A first label matching number determining unit, used to determine the number of label matching between n to-be-matched IDs and the to-be-assigned tasks according to the label of the to-be-assigned tasks and the labels of the n to-be-matched IDs; A decision factor determination unit, used to determine the decision factors of the n IDs to be matched according to the label factor, the number of label matches between the n IDs to be matched and the tasks to be assigned, and the maturity base of the n IDs to be matched; The decision factor determination unit is specifically used for: The decision factor is determined according to the following formula: DecisionFactor(i)=U(i)×V^(W1(i)+W2(i)); Among them, DecisionFactor(i) is the decision factor of the i-th ID to be matched, U(i) is the maturity base of the i-th ID to be matched, V is the label factor, W1(i) is the number of matches between the i-th ID to be matched and the technical label of the task to be assigned, and W2(i) is the number of matches between the i-th ID to be matched and the business label of the task to be assigned.
7. A computer device comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that: When the processor executes the computer program, the steps of the task allocation method according to any one of claims 1 to 5 are implemented.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the task allocation method according to any one of claims 1 to 5 are implemented.
Citation Information
Patent Citations
Resource management method, device and equipment and readable storage medium
CN109685301A
Task distribution method and device for financial system, electronic equipment and storage medium
CN109919417A