Task allocation method and device
By calculating the matching degree between tasks and objects and adjusting the number of objects, the problem of lack of systematization and low stability of task distribution in the existing technology is solved, the structuring and automation of task distribution is realized, and efficiency and satisfaction are improved.
Patent Information
- Application Number
- CN202411404652.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-09
- Publication Date
- 2025-01-24
AI Technical Summary
In the existing technology, task allocation lacks systematization, low stability, low efficiency and energy-consuming dependence on human decision-making, which cannot effectively solve the task allocation problem of enterprises in the face of labor shortage and shortage of personnel.
By receiving the tasks to be assigned and counting the number of objects, it calculates the matching degree between tasks and objects based on the pre-configured attribute set, adjusts the number of objects to adapt to the number of tasks, and uses the preset task allocation method to allocate tasks.
It realizes the structuring and automation of task allocation, improves managers' decision-making efficiency, ensures the fairness and transparency of task allocation, and improves employee satisfaction and task efficiency.
Smart Images

Figure CN119358923A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a task allocation method and device. Background Art
[0002] With the vigorous development of corporate business, the demand for data analysis is gradually increasing, both in the front-end and back-end. Under the current situation of tight employment and staff shortage, managers have to face the problem of how to reasonably allocate tasks every day. Once the task allocation is unreasonable, it will cause the loss of business functions, untimely and unreasonable decision-making, and seriously affect business development directly, causing economic losses to the entire enterprise. For employees, the lack of a transparent and reasonable allocation plan will lead to reduced task processing efficiency, especially when the allocation is uneven, some employees are under too much pressure, which may cause staff turnover.
[0003] At present, there is a relatively mature Hungarian algorithm in academia for the problem of task allocation, but the application conditions of this algorithm are relatively harsh, requiring the number of tasks to be equal to the number of people. In reality, there are many cases where the number of tasks is greater than the number of employees, and there are almost no equal scenarios. In fact, managers rely more on human decision-making when assigning tasks, but this method lacks systematization, has low stability, is too dependent on the actual situation and managers make temporary decisions case by case, is inefficient and energy-consuming, etc. Summary of the invention
[0004] In view of this, an embodiment of the present invention provides a task allocation method and device, which can at least solve the problems of lack of systematization, low stability, low temporary decision-making efficiency and energy consumption in the task allocation in the prior art.
[0005] To achieve the above-mentioned purpose, according to one aspect of an embodiment of the present invention, a task assignment method is provided, including: receiving a first number of tasks to be assigned, and statistically processing a second number of objects in an object set of the tasks; based on a pre-configured attribute set, obtaining the task attribute value of each task to be assigned under each attribute, and the object attribute value of each object under each attribute; calculating the matching degree of the task attribute value and the object attribute value under the same attribute, and then using the attribute matching degree integration method to obtain the matching degree of each task to be assigned and each object; when the first number and the second number are not equal, using the matching degree to adjust the number of objects in the object set, so as to perform the task assignment operation using a preset task assignment method.
[0006] Optionally, the attribute set includes business attributes, and the process of calculating the business matching degree includes: obtaining the requirement document of each task to be assigned, performing word segmentation processing on the requirement document to calculate the TF-IDF value of each word segment, and then integrating to obtain the task business vector; obtaining the processed requirement document set of each object, integrating the requirement document set into one requirement document, performing word segmentation processing on the one requirement document to calculate the TF-IDF value of each word segment, and then integrating to obtain the object business vector; using the similarity between the task business vector and the object business vector as the business matching degree of each task to be assigned and each object.
[0007] Optionally, the calculating of the TF-IDF value of each participle includes: counting the number of occurrences of each participle in the demand document to determine the target participle with the largest number of occurrences; for each participle, taking the ratio of the number of occurrences of each participle to the number of occurrences of the target participle as the word frequency of each participle in the demand document; determining the total number of documents in a preset corpus, counting the number of documents in the preset corpus that include each participle, processing the total number of documents and the number of documents using an inverse document frequency calculation method to obtain an inverse document frequency of each participle; and taking the product of the word frequency and the inverse document frequency as the TF-IDF value of each participle.
[0008] Optionally, the attribute set includes application attributes, and the process of calculating the application matching degree includes: obtaining an output result table of each task to be assigned, and determining the level of each task to be assigned in the data warehouse hierarchy based on the output result table; obtaining the level of each task that has been processed by each object to average out the average level, and determining the difference between the level of each task to be assigned and the average level of each object; calculating the quotient of the difference and the total level of the data warehouse, processing the quotient in a preset manner, and obtaining the application matching degree of each task to be assigned and each object.
[0009] Optionally, the attribute set includes a difficulty attribute, and the process of calculating the difficulty matching includes: determining the difficulty of each task to be assigned, and determining the position level of each object; constructing a matching curve of task difficulty and object position level according to the difficulty of each task that each object has processed and the position level of each object; locating points corresponding to the difficulty of each task to be assigned and the position level of each object in the coordinate system to calculate the minimum distance from the points to the matching curve; determining the maximum distance from the minimum distances of each object to all tasks to be assigned, calculating the quotient of each minimum distance and the maximum distance, processing the quotient in a preset manner, and obtaining the difficulty matching degree of each task to be assigned and each object.
[0010] Optionally, the attribute set includes a time attribute, and the process of calculating the time matching includes: determining the expected completion time of each task to be assigned, determining the time difference between the current time and the expected completion time, and dividing the time difference into a first time period and a second time period in a specific manner; determining a first number of tasks processed by each object at each time point in the first time period, and a second number of tasks processed at each time point in the second time period; using a preconfigured average load rate calculation method, processing the first time period, the first number, the second time period, and the second number to obtain the average load rate of each object for each task to be assigned; determining the maximum average load rate from the average load rates of each object for all tasks to be assigned, calculating the quotient of each average load rate and the maximum average load rate, processing the quotient in a preset manner, and obtaining the time matching degree of each task to be assigned and each object.
[0011] Optionally, when the first number and the second number are not equal, using the matching degree to adjust the number of objects in the object set includes: when the first number is greater than the second number, calculating a first difference between the first number and the second number, selecting objects by the first difference in order of matching degree from large to small, and copying the objects by the first difference to the object set; when the first number is less than the second number, calculating a second difference between the second number and the first number, selecting objects by the second difference in order of matching degree from small to large, and removing the objects by the second difference from the object set.
[0012] Optionally, the task assignment operation performed using a preset task assignment method includes: constructing a comprehensive matching degree matrix based on the matching degree of each task to be assigned and each object, processing the comprehensive matching degree matrix using a preset coefficient matrix processing method to obtain a target coefficient matrix; if there is only one target element in the same row and column in the target coefficient matrix, marking the target element with a first mark; for the case where there are multiple target elements in the same row and column, marking any target element with a first mark, and marking other target elements in the column where the target element marked with the first mark is located with a second mark; counting the third number of target elements marked with the first mark, and when the first number and the third number are not equal, using a preset cap zero line operation method to adjust the number of target elements marked with the first mark to the first number; when the first number and the third number are equal, performing task assignment according to the tasks to be assigned and objects corresponding to the target elements marked with the first mark.
[0013] Optionally, the preset coefficient matrix processing method is used to process the comprehensive matching degree matrix to obtain a target coefficient matrix, including: determining the maximum matching degree in the comprehensive matching degree matrix, subtracting each matching degree from the maximum matching degree to obtain a first coefficient matrix; for each row in the first system matrix, determining the minimum value of each row, subtracting the minimum value from each value in each row to obtain a second coefficient matrix; for each column in the second coefficient matrix, determining the minimum value of each column, subtracting the minimum value from each value in each column to obtain a target coefficient matrix.
[0014] Optionally, the use of a preset zero-line drawing operation mode to adjust the number of target elements marked with the first mark to the first number includes: marking a third mark for the row where no target element marked with the first mark exists in the target coefficient matrix; marking a third mark for the column where the target element marked with the second mark exists in the row marked with the third mark; marking a third mark for the row where the target element marked with the first mark exists in the column marked with the third mark; drawing a horizontal line for the row not marked with the third mark and a vertical line for the column marked with the third mark to obtain a set of straight lines with the minimum number of straight lines covering all target elements; determining the minimum element from the elements of the uncovered straight lines, subtracting the minimum element from the row where the elements of the uncovered straight lines exist, and if there is a negative element, adding the minimum element to each element in the column where the negative element exists.
[0015] To achieve the above-mentioned purpose, according to another aspect of an embodiment of the present invention, a task allocation device is provided, including: a task receiving module, used to receive a first number of tasks to be allocated, and statistically process a second number of objects in an object set of the tasks; a matching degree calculation module, used to obtain the task attribute value of each task to be allocated under each attribute, and the object attribute value of each object under each attribute based on a pre-configured attribute set; calculate the matching degree of the task attribute value and the object attribute value under the same attribute, and then use the attribute matching degree integration method to obtain the matching degree of each task to be allocated and each object; an adjustment and allocation module, used to use the matching degree to adjust the number of objects in the object set when the first number and the second number are not equal, so as to perform the task allocation operation using the preset task allocation method.
[0016] Optionally, the attribute set includes business attributes, and the process of calculating the business matching degree includes: obtaining the requirement document of each task to be assigned, performing word segmentation processing on the requirement document to calculate the TF-IDF value of each word segment, and then integrating to obtain the task business vector; obtaining the processed requirement document set of each object, integrating the requirement document set into one requirement document, performing word segmentation processing on the one requirement document to calculate the TF-IDF value of each word segment, and then integrating to obtain the object business vector; using the similarity between the task business vector and the object business vector as the business matching degree of each task to be assigned and each object.
[0017] Optionally, the calculating of the TF-IDF value of each participle includes: counting the number of occurrences of each participle in the demand document to determine the target participle with the largest number of occurrences; for each participle, taking the ratio of the number of occurrences of each participle to the number of occurrences of the target participle as the word frequency of each participle in the demand document; determining the total number of documents in a preset corpus, counting the number of documents in the preset corpus that include each participle, processing the total number of documents and the number of documents using an inverse document frequency calculation method to obtain an inverse document frequency of each participle; and taking the product of the word frequency and the inverse document frequency as the TF-IDF value of each participle.
[0018] Optionally, the attribute set includes application attributes, and the process of calculating the application matching degree includes: obtaining an output result table of each task to be assigned, and determining the level of each task to be assigned in the data warehouse hierarchy based on the output result table; obtaining the level of each task that has been processed by each object to average out the average level, and determining the difference between the level of each task to be assigned and the average level of each object; calculating the quotient of the difference and the total level of the data warehouse, processing the quotient in a preset manner, and obtaining the application matching degree of each task to be assigned and each object.
[0019] Optionally, the attribute set includes a difficulty attribute, and the process of calculating the difficulty matching includes: determining the difficulty of each task to be assigned, and determining the position level of each object; constructing a matching curve of task difficulty and object position level according to the difficulty of each task that each object has processed and the position level of each object; locating points corresponding to the difficulty of each task to be assigned and the position level of each object in the coordinate system to calculate the minimum distance from the points to the matching curve; determining the maximum distance from the minimum distances of each object to all tasks to be assigned, calculating the quotient of each minimum distance and the maximum distance, processing the quotient in a preset manner, and obtaining the difficulty matching degree of each task to be assigned and each object.
[0020] Optionally, the attribute set includes a time attribute, and the process of calculating the time matching includes: determining the expected completion time of each task to be assigned, determining the time difference between the current time and the expected completion time, and dividing the time difference into a first time period and a second time period in a specific manner; determining a first number of tasks processed by each object at each time point in the first time period, and a second number of tasks processed at each time point in the second time period; using a preconfigured average load rate calculation method, processing the first time period, the first number, the second time period, and the second number to obtain the average load rate of each object for each task to be assigned; determining the maximum average load rate from the average load rates of each object for all tasks to be assigned, calculating the quotient of each average load rate and the maximum average load rate, processing the quotient in a preset manner, and obtaining the time matching degree of each task to be assigned and each object.
[0021] Optionally, the adjustment and allocation module is used to: when the first quantity is greater than the second quantity, calculate the first difference between the first quantity and the second quantity, select the first difference objects in order of matching degree from large to small, and copy the first difference objects to the object set; when the first quantity is less than the second quantity, calculate the second difference between the second quantity and the first quantity, select the second difference objects in order of matching degree from small to large, and eliminate the second difference objects from the object set.
[0022] Optionally, the adjustment and allocation module is used to: construct a comprehensive matching degree matrix according to the matching degree of each task to be assigned and each object, and process the comprehensive matching degree matrix using a preset coefficient matrix processing method to obtain a target coefficient matrix; if there is only one target element in the same row and column in the target coefficient matrix, mark the target element with a first mark; for the case where there are multiple target elements in the same row and column, mark any target element with a first mark, and mark other target elements in the column where the target element marked with the first mark is located with a second mark; count the third number of target elements marked with the first mark, and when the first number and the third number are not equal, use the preset cap zero line operation method to adjust the number of target elements marked with the first mark to the first number; when the first number and the third number are equal, perform task allocation according to the tasks to be assigned and objects corresponding to the target elements marked with the first mark.
[0023] Optionally, the adjustment and allocation module is used to: determine the maximum matching degree in the comprehensive matching degree matrix, subtract each matching degree from the maximum matching degree to obtain a first coefficient matrix; for each row in the first system matrix, determine the minimum value of each row, subtract the minimum value from each value in each row to obtain a second coefficient matrix; for each column in the second coefficient matrix, determine the minimum value of each column, subtract the minimum value from each value in each column to obtain a target coefficient matrix.
[0024] Optionally, the adjustment and allocation module is used to: mark the row where the target element marked with the first mark does not exist in the target coefficient matrix with a third mark; mark the column where the target element marked with the second mark is located in the row marked with the third mark, with a third mark; mark the row where the target element marked with the first mark is located in the column marked with the third mark, with a third mark; draw a horizontal line for the row not marked with the third mark, and draw a vertical line for the column marked with the third mark, to obtain a set of straight lines with the minimum number of straight lines covering all target elements; determine the minimum element from the elements of the uncovered straight lines, subtract the minimum element from the row where the elements of the uncovered straight lines are located, and if there is a negative element, add the minimum element to each element in the column where the negative element is located.
[0025] To achieve the above objective, according to another aspect of an embodiment of the present invention, a task allocation electronic device is provided.
[0026] The electronic device of the embodiment of the present invention includes: one or more processors; a storage device for storing one or more programs, when the one or more programs are executed by the one or more processors, the one or more processors implement any of the task allocation methods described above.
[0027] To achieve the above object, according to another aspect of an embodiment of the present invention, a computer-readable medium is provided, on which a computer program is stored, and when the program is executed by a processor, any of the above-mentioned task allocation methods is implemented.
[0028] To achieve the above object, according to another aspect of an embodiment of the present invention, a computer program product is provided. A computer program product according to an embodiment of the present invention includes a computer program, and when the program is executed by a processor, the task allocation method provided by the embodiment of the present invention is implemented.
[0029] According to the solution provided by the present invention, one embodiment of the above invention has the following advantages or beneficial effects: providing a set of structured automatic task allocation strategies to improve the decision-making efficiency of managers and the satisfaction of all parties by solving the enterprise task allocation problem. Specifically, firstly, the complex task allocation problem is structured and systematically interpreted to turn the abstract into the concrete, and then with the help of automated tools, efficient and transparent decision support is provided to ensure that the task allocation process is both fast and fair; through continuous technical optimization, the rationality and feasibility of the solution are guaranteed, and finally the synergy between business and technical departments is achieved, which significantly improves the satisfaction and acceptance of task allocation results, and solves the problems of low stability of existing task allocation, low efficiency of temporary decision-making, and energy consumption.
[0030] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with the specific implementation manner. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] The accompanying drawings are used to better understand the present invention and do not constitute an improper limitation of the present invention.
[0032] Figure 1 This is a main flow chart of a task allocation method according to an embodiment of the present invention;
[0033] Figure 2(a) shows the basic process of demand proposal and allocation;
[0034] Figure 2(b) and Figure 2(c) are schematic diagrams of the comprehensive matching matrix after adjusting the employee set;
[0035] Figure 3 is a flowchart of an optional task allocation method according to an embodiment of the present invention;
[0036] Figure 4 is a flowchart of another optional task allocation method according to an embodiment of the present invention;
[0037] Figure 5 is a flowchart of another optional task allocation method according to an embodiment of the present invention;
[0038] Figure 6 It is a schematic diagram of the minimum distance for difficulty matching calculation;
[0039] Figure 7 is a flowchart of another optional task allocation method according to an embodiment of the present invention;
[0040] Figure 8 is a flowchart of another optional task allocation method according to an embodiment of the present invention;
[0041] Fig. 9 is a schematic diagram of a standard Hungarian algorithm flow according to an embodiment of the present invention;
[0042] Figure 10(a), Figure 10(b), Figure 10(c) and Figure 10(d) are the specific processes of the algorithm;
[0043] Fig.11 It is a schematic diagram of the overall technical architecture of the overall process of an embodiment of the present invention;
[0044] Fig.12 is a schematic diagram of main modules of a task allocation device according to an embodiment of the present invention;
[0045] Fig.13 is an exemplary system architecture diagram to which embodiments of the present invention may be applied;
[0046] Fig.14It is a schematic diagram of the structure of a computer system of a mobile device or a server suitable for implementing an embodiment of the present invention. DETAILED DESCRIPTION
[0047] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0048] It should be noted that the collection, collection, updating, analysis, processing, use, transmission, storage and other aspects of user personal information involved in the technical solution of this disclosure are in compliance with the provisions of relevant laws and regulations, are used for legitimate purposes, and do not violate public order and good morals. Necessary measures are taken for user personal information to prevent illegal access to user personal information data and maintain the security of user personal information, network security and national security.
[0049] In addition to the Hungarian algorithm mentioned above, there are other ways to allocate tasks. Take growth-stage companies as an example. There are many companies in this stage and they are not standardized enough. First, they will be grouped and classified according to business relevance. Secondly, for companies with relatively mature data warehouses (i.e. data warehouses), they can be allocated according to the data warehouse layers. In addition, decisions are made based on the scheduling and emergency situations of employees' existing needs. When the demand is relatively regular and stable, the above method can be used for allocation. However, the demand usually occurs frequently and intensively at irregular intervals, or there are sudden and urgent demands, which far exceed the existing R&D capacity. At this time, in order to balance the needs of the business side and the development of employees as much as possible, we can only look at the scheduling situation, that is, whoever is free will do it, or whoever is capable will do it, which is simple and crude. In this way, there is a lot of opacity, unfairness and unreasonableness.
[0050] The current task allocation scheme lacks systematization and stability. It is too dependent on the actual situation and managers make temporary decisions on a case-by-case basis. It is inefficient and energy-consuming. Specifically, it is reflected in:
[0051] 1) There is a lack of systematic and structured interpretation of the task allocation problem. In the existing technology, more suggestions on task allocation are provided from the perspective of management science, which does not touch the essence of the problem. Moreover, there is a lack of a universal understanding and structured analysis of the current task allocation problem in enterprises.
[0052] 2) The decision-making process is inefficient, especially when there are many urgent demands but few and busy employees. Managers need to observe the employees' task saturation, task capabilities and task efficiency, etc. to decide on the best candidate. The whole process is time-consuming and inefficient.
[0053] 3) The decision-making process is not transparent. Similarly, when faced with many urgent demands and few busy employees, most decisions rely on managers’ manual decision-making. All such decisions are highly subjective, and employees are not clear about the principles of the decision, which leads to a certain degree of opacity.
[0054] 4) Unsatisfactory decision-making results. The results of task allocation are difficult to comprehensively consider all realistic situations and the needs of various roles. The party making the request may feel that the assigned employee does not understand the business in this field and communication is difficult; the assigned employee may be suspicious of taking on more tasks when the tasks are already full, etc., causing dissatisfaction on both sides.
[0055] Overall, the current task allocation methods of most companies are relatively traditional and casual, lacking a stable, transparent and reasonable task allocation solution. The main function of the present invention is to conduct a structured interpretation of the analysis of the task allocation problem within conventional enterprises and build a set of easy-to-understand conceptual models. Based on this model, according to the weight ratio of each dimension, under the action of the optimization algorithm, a reasonable, feasible, open and transparent task allocation solution is automatically generated, which improves the decision-making efficiency of managers and significantly improves the satisfaction of business parties and employees, thus entering a virtuous circle.
[0056] See also Figure 1 , which shows a main flow chart of a task allocation method provided by an embodiment of the present invention, comprising the following steps:
[0057] S101: receiving a first number of tasks to be assigned, and counting a second number of objects in an object set of the processing tasks;
[0058] S102: Based on a pre-configured attribute set, obtain a task attribute value of each to-be-assigned task under each attribute, and an object attribute value of each object under each attribute;
[0059] S103: Calculate the matching degree of the task attribute value and the object attribute value under the same attribute, and then use the attribute matching degree integration method to obtain the matching degree of each task to be assigned and each object;
[0060] S104: When the first number and the second number are not equal, the number of objects in the object set is adjusted using the matching degree, so as to perform a task allocation operation using a preset task allocation method.
[0061] In the above implementation, for steps S101 to S103, it is first necessary to structurally decompose the work allocation problem within the conventional enterprise and build a set of easy-to-understand conceptual models. Specifically, the basic process from the proposal to the allocation of requirements and the related roles and responsibilities are clarified. As shown in Figure 2, the roles involved in the entire process are mainly the following three categories: 1) Business party: propose requirements; 2) Manager: receive requirements and make decisions on task allocation based on the requirements and employee conditions; 3) Employee: the object of processing tasks, undertake a specific requirement (no decision is required).
[0062] In actual scenarios, the number of requirements is usually much larger than the number of employees. In view of the current business needs and the current status of employee task allocation, the present invention preferably divides tasks and employees into several key attributes:
[0063] Table 1 Key attributes of tasks and employees
[0064]
[0065] Based on the above classification, the automatic task allocation problem is transformed into the matching problem of tasks and employees with the above attribute classification. Further, the classification is abstracted and simplified again (classification 1-business; classification 2-application; classification 3-difficulty; classification 4-time), and tasks and employees can be represented by the following general attribute vectors:
[0066] Task / employee = <business, application, difficulty, time>
[0067] The matching degree between tasks and employees can be expressed by the similarity between the task and employee attribute vectors. The higher the similarity, the better the match. For enterprises at different stages of development, the relationship between these four categories can be adjusted by weights. Therefore, the matching index W between tasks and employees can be calculated by the following formula:
[0068] W i-j =x1*r1+x2*r2+x3*r3+x4*r4
[0069] Among them, W i-j represents the matching degree between the i-th task and the j-th employee, x 1,2,3,4 Represents the similarity calculation results of 4 categories, r 1,2,3,4 Represents the weight adjustment items of these four categories.
[0070] For step S104, assume that there are currently N tasks and M employees. The condition for task allocation using the traditional Hungarian algorithm is that N = M. The present invention realizes automatic allocation through optimization. First, compare the magnitudes of the number of tasks and employees, that is, compare the magnitudes of N and M. If N = M, the application condition of the Hungarian algorithm is satisfied, and the Hungarian algorithm is directly used to allocate tasks in the next step. In actual situations, the number of tasks N and the number of employees M are usually not equal. In such cases, it is necessary to first adjust the number of tasks and employees to meet the usage conditions of the standard Hungarian algorithm.
[0071] When N > M, the traditional Hungarian algorithm is not applicable. At this time, it is necessary to reset and adjust the employee set. If N > M, it means there are more tasks and fewer employees, so there must be employees who undertake more than one job. Therefore, it is necessary to expand the employee set. The expansion method is to sort the comprehensive matching degrees W of M employees in descending order, select the top (N - M) relatively matching employees, and together with the existing M employees, add them to the comprehensive matching degree matrix, and the matching degrees between these employees and the jobs are completely carried over. As shown in Figure 2(b), copy B and C and the calculated matching degrees, and then participate in the Hungarian algorithm operation for task allocation.
[0072] If N < M, it means there are fewer tasks and more employees, and not so many employees are needed to handle these tasks. Therefore, it is necessary to shrink the employee set. The shrinking method is to sort the comprehensive matching degrees W of M employees in ascending order, select the top (M - N) non-matching employees, and remove them from the existing employee set, and they do not need to participate in the operation directly. As shown in Figure 2(c), remove D and E and the calculated matching degrees, and then use the Hungarian algorithm operation for task allocation.
[0073] The method provided in the above embodiments collects and counts the number of tasks to be allocated and the objects participating in the allocation, comprehensively evaluates the specific values of each task and object under various attributes based on a preset attribute set, forms a matching matrix between tasks and objects by calculating the attribute matching degrees, and transforms the fuzzy task allocation problem into a clear mathematical process. In the case of a mismatch between the number of tasks and objects, by adjusting the object scale, the balance of the allocation process is ensured. Finally, a preset task allocation method is adopted to achieve efficient and accurate task allocation. The entire process is closely combined with mathematical algorithms, ensuring the automation and scientific nature of task allocation decisions.
[0074] See Figure 3 , which shows a schematic flowchart of an optional task allocation method according to an embodiment of the present invention, including the following steps:
[0075] S301: Obtain the requirement document of each task to be allocated, perform word segmentation processing on the requirement document to calculate the TF-IDF value of each word segment, and then integrate to obtain the task business vector;
[0076] S302: Obtain the set of requirement documents that each object has processed, integrate the set of requirement documents into one requirement document, perform word segmentation on the one requirement document to calculate the TF-IDF value of each word segment, and then integrate to obtain the object business vector;
[0077] S303: Use the similarity between the task business vector and the object business vector as the business matching degree between each task to be assigned and each object.
[0078] The key technology of the present invention lies in the calculation of the detailed matching degree of four classifications. This embodiment is only used to describe the calculation process of the business matching degree. On the one hand, the judgment of the business attributes of the task comes from the requirement document PRD (fully spelled Product Requirement Document); on the other hand, the judgment of the business attributes of the employee comes from all the requirement documents PRD that the employee has previously undertaken. Therefore, the idea of calculating the business matching degree is as follows: 1) Extract the TF-IDF vectors of the task and the employee through the TF-IDF algorithm; 2) Perform cosine similarity calculation.
[0079] First, perform word segmentation on the requirement document. After processing, the word frequency (TF) of each word segment can be calculated. The word frequency is the number of times a certain word segment appears in the entire document. In the present invention, the word frequency is standardized, and the formula for the processed word frequency is as follows: word frequency (TF) = the number of times a certain word segment appears in the requirement document / the number of times the word segment with the most appearances in the requirement document appears. Compared with the traditional way of calculating word frequency, due to standardization considerations in the present invention, the word frequencies of all word segments are 0 to 1, and the largest is 1. After standardization processing, the word frequency TF of each word segment satisfies the range of 0 to 1. The closer it is to 1, the more times the word appears.
[0080] Secondly, calculate the inverse document frequency (IDF). The necessity of this step is that there must be a large number of invalid words in regular documents, such as "de", "zai", "shi", etc. The purpose of calculating IDF is to eliminate the influence of these frequently occurring words on the final keyword judgment, which is equivalent to adding a weight concept to the word segments. Calculating IDF requires a corpus. The corpus in the present invention can be the default first 100 pages of the search engine or the Chinese Yellow Pages, etc., to distinguish common words such as "de", "zai", "shi" to remove the deviation of professional documents. Using the most common regular documents as a reference, the selected common words are more universal.
[0081] Inverse document frequency (IDF) = log(total number of documents in the corpus / (number of documents containing the word + 1). The more common a word is, the larger the denominator is, the smaller the inverse document frequency is, and the closer it is to 0. After obtaining the term frequency (TF) and inverse document frequency (IDF) of each segmented word, the TF-IDF index of the segmented word can be calculated. The formula is as follows: TF-IDF = term frequency (TF) * inverse document frequency (IDF). In this way, the TF-IDF value of each segmented word can be calculated. The TF-IDF value of the segmented words of the requirement document of the specified task and all the historical requirement documents of the employee are calculated respectively, and the segmented words are vectorized to obtain the vector group with TF-IDF value of the task and the employee.
[0082] Here is a specific example: the task's requirement document is A = {express waybill and express waybill and express amount summary}, the employee's historical requirement document is B = {express waybill number count and waybill sum}, the PRD number of all requirement documents that the employee has ever undertaken in the past may be greater than 1, for example, if 4 requirement documents are processed, these 4 requirement documents need to be combined into one before calculation.
[0083] The result after word segmentation is: Task A = Express / express / waybill / and / express / waybill / and / express / amount / summary, Employee B = Express / order number / count / and / waybill / sum. In this way, all the words {express / express / waybill amount / summary / order number / count / summary} are listed. Then the initial word frequency vector of A is A = (1,3,2,1,1,0,0,0,3,2), and the initial word frequency vector of B is B = (1,0,1,0,0,1,1,1,1,1), and after standardization, it is: Task A = (0.3,1,0.6,0.3,0.3,0,0,0,1,0.6), here keep one decimal place; Employee B = (0.3,0,0.3,0,0,0.3,0.3,0.3,0.3,0.3).
[0084] Assume that by searching the corpus of pages, the IDF inverse document frequency of each word is obtained as shown in Table 2:
[0085] Table 2
[0086] Participle IDF TF(A) TF(B) express delivery 0.9 0.3 0.3 Express 0.8 1 0 Waybill 0.5 0.6 0.3 Amount 0.15 0.3 0 Summary 0.1 0.3 0 Order Number 0.2 0 0.3 count 0.1 0 0.3 Sum 0.1 0 0.3 of 0 1 0.3 and 0 0.6 0.3
[0087] The business vectors of A and B are obtained: Task A = (0.27, 0.8, 0.3, 0.45, 0.03, 0, 0, 0, 0), Employee B = (0.27, 0, 0.15, 0, 0, 0.06, 0.03, 0.03, 0, 0). The cosine similarity between the two is calculated according to the cosine similarity formula:
[0088]
[0089] This similarity can be used to represent the business matching factor X1 of task A and employee B. The closer X1 is to 1, the more matching the task and employee are. In the above example, X1 calculated by A and B is 0.413. The specific calculation process is:
[0090]
[0091] The business matching factor X1 is positively correlated, that is, the larger the value, the more relevant it is.
[0092] See also Figure 4 , shows a schematic flow chart of another optional task allocation method according to an embodiment of the present invention, comprising the following steps:
[0093] S401: Obtaining an output result table of each task to be assigned, and determining the level of each task to be assigned in the data warehouse hierarchy according to the output result table;
[0094] S402: Obtaining the level of each task processed by each object to obtain an average level by averaging, and determining the difference between the level of each task to be assigned and the average level of each object;
[0095] S403: Calculate the quotient of the difference and the total level of the data warehouse, process the quotient in a preset manner, and obtain the application matching degree of each task to be assigned and each object.
[0096] This implementation is only used to describe the calculation process of business matching. The output result table of the task is used to determine its level in the data warehouse layering. The data warehouse layering is a traditional layered architecture design (ODS-DWD-DWS-CDM-ADS). The work of an employee can also be confirmed to be at a certain level. For example, XX employee is often responsible for the development of the ADS layer model, and the entire data link itself is hierarchical. Therefore, the application matching degree is calculated to calculate the matching situation between the layer where the task is located in the data warehouse and the layer where the employee's historical development result table is located in the data warehouse.
[0097] Assume that the data warehouse is divided into L layers, and the data warehouse layer where the task A is to be assigned is p layer. For example, the task is received through p layer. The historical average data warehouse layer of employee B is AVG(l), that is, the average of all historical data warehouse layers, denoted as q. Considering the standardization of the overall factor, the application matching factor X′x can be calculated using the following formula: X'2=|pq / L.
[0098] From the formula, we can see that the value range of X′2 is 0 to 1, and the smaller the value, the more relevant it is. In order to unify the relevance of each detailed factor, we further perform logarithmic function (i.e., preset method) processing: The application matching factor X2 is positively correlated, that is, the larger the value, the more relevant it is. a has no fixed value, and the monotonicity of the function can be ensured.
[0099] See also Figure 5 , shows a flowchart of another optional task allocation method according to an embodiment of the present invention, including the following steps:
[0100] S501: Determine the difficulty of each task to be assigned, and determine the position level of each object;
[0101] S502: constructing a matching curve between task difficulty and object position level according to the difficulty of each task processed by each object and the position level of each object;
[0102] S503: Locate a point corresponding to the difficulty of each task to be assigned and the position level of each object in the coordinate system to calculate the minimum distance between the point and the matching curve;
[0103] S504: Determine the maximum distance from the minimum distances of each object to all the tasks to be assigned, calculate the quotient of each minimum distance and the maximum distance, process the quotient in a preset manner, and obtain the difficulty matching degree of each task to be assigned and each object.
[0104] This implementation is only used to describe the calculation process of difficulty matching. Difficulty matching refers to the matching relationship between the complexity of a task and the employee's rank. The difficulty of a task can be considered from the complexity of the demand logic, the number of complex functions, the size of table data, etc., while the employee's rank is a determined rank. The present invention fits the matching curve of task difficulty and employee rank through the relationship between historical tasks and employees, denoted as F.
[0105] For example, some tasks require associating more than a dozen tables to operate, and some logic is not a simple query field, but requires aggregate calculations, or custom functions to process. The logic is complex, and the storage capacity of the tables involved is extremely large, such as TB level. This causes even big data Hadoop to run slowly, because it involves performance tuning behind the scenes, not just writing the logic and running it. Simple tasks, such as associating the student table with the score table, require a small number of associated tables and simple logic. The student number can be associated, and the amount of data involved in the table is not large. You can just write the logic and run it directly. Therefore, different tasks have different difficulties.
[0106] When calculating the difficulty matching factor X′3 between task A and employee B, the history F can be plotted. At the same time, a point is located in the coordinate system by the difficulty of task A and the rank of employee B. The difficulty matching factor X′3 required by the present invention is the minimum value k of the distance from the point to the curve. Figure 6 Similarly, in order to standardize the difficulty matching factor X3, the present invention preferably performs unit processing on each minimum value k, and the calculation of the final matching factor can be achieved by the following formula:
[0107]
[0108] From the formula, we can see that the value range of X′3 is 0 to 1, and the smaller the value, the more relevant it is. In order to unify the relevance of each detailed factor, we further perform logarithmic function processing: The difficulty matching factor X3 is positively correlated, that is, the larger the value, the more relevant it is.
[0109] See also Figure 7 , shows a flowchart of another optional task allocation method according to an embodiment of the present invention, including the following steps:
[0110] S701: Determine the expected completion time of each task to be assigned, determine the time difference between the current time and the expected completion time, and divide the time difference into a first time period and a second time period in a specific manner;
[0111] S702: Determine a first number of tasks processed by each object at each time point in a first time period, and a second number of tasks processed at each time point in a second time period;
[0112] S703: Using a pre-configured average load rate calculation method, processing the first time period, the first quantity, the second time period, and the second quantity, to obtain an average load rate of each object for each task to be assigned;
[0113] S704: Determine the maximum average load rate from the average load rates of each object for all tasks to be assigned, calculate the quotient of each average load rate and the maximum average load rate, process the quotient in a preset manner, and obtain the time matching degree of each task to be assigned and each object.
[0114] This implementation is only used to describe the calculation process of time matching. Time matching reflects the conflict between the expected completion time of the task and the employee's existing schedule. In the present invention, it is assumed that the expected completion time of the task is certain, and the time matching is reflected according to the employee's existing demand load between the current and expected completion time.
[0115] Assume that there are D days between the current time and the estimated completion time, and divide them into the first time period and the second time period in a specific way. In the present invention, it is preferred to distinguish between task days and holidays. Assume that there are d1 days for task days and d2 days for holidays, and d1+d2=D. Determine that the number of tasks that each employee can handle on task days is x1, and the number of tasks that can be handled on holidays is x2. Here, x1 and x2 can be defined by the employees themselves, or determined by statistics on the employees' processing in historical time periods. There is no restriction here. Taking into account the urgency of holiday scheduling tasks, an expansion factor γ needs to be added to the demand for holidays. The average load rate Q of employees for this task can be calculated using the following formula:
[0116]
[0117] In order to consider the overall standardization problem, the Q value is unitized, that is:
[0118]
[0119] From the formula, we can see that the value range of X′4 is 0 to 1, and the smaller the value, the more relevant it is. In order to unify the relevance of each detailed factor, we further perform logarithmic function processing: The time matching factor X4 is positively correlated, that is, the larger the value, the more relevant it is.
[0120] Above Figure 3 to Figure 7 The method provided in the embodiment comprehensively considers the four core dimensions of business, application, difficulty and time in the calculation of matching degree, and ensures the comprehensiveness and accuracy of matching degree calculation through a carefully designed algorithm. Specifically, business matching focuses on the fit between the task and the professional field of the object; application matching measures the degree of matching between the task level and the object level; difficulty matching evaluates the adaptability of task difficulty and object ability level; and time matching evaluates the coordination between task urgency and object available time. The calculation of these matching degrees not only takes into account the complex relationship of positive and negative correlations, but also ensures the consistency and comparability between different dimensions through overall standardization. In addition, the introduction of a personalized weight mechanism allows the importance of each dimension to be flexibly adjusted according to different scenarios, thereby generating a more targeted and practical matching degree, which greatly improves the accuracy and transparency of matching decisions.
[0121] See also Figure 8 , shows a flowchart of another optional task allocation method according to an embodiment of the present invention, including the following steps:
[0122] S801: constructing a comprehensive matching degree matrix according to the matching degree of each task to be assigned and each object, and processing the comprehensive matching degree matrix using a preset coefficient matrix processing method to obtain a target coefficient matrix;
[0123] S802: If there is only one target element in the same row and the same column of the target coefficient matrix, mark the target element with a first mark;
[0124] S803: if there are multiple target elements in the same row and the same column, mark any target element with a first mark, and mark other target elements in the column where the target element marked with the first mark is located with a second mark;
[0125] S804: counting a third number of target elements marked with the first mark, and when the first number and the third number are not equal, using a preset zero-line drawing operation mode to adjust the number of target elements marked with the first mark to the first number;
[0126] S805: When the first quantity and the third quantity are equal, perform task allocation according to the to-be-allocated tasks and objects corresponding to the target elements marked with the first mark.
[0127] This implementation is used to describe how to use the standard Hungarian algorithm for task assignment. First, based on the decomposition and calculation of the aforementioned detailed matching degree, and the different weights corresponding to each factor, the matching degree W between each employee and each task to be assigned is calculated. Assuming that there are N tasks and M employees, after calculating the matching degree W between each employee and each task in turn, the comprehensive matching degree matrix T can be obtained:
[0128]
[0129] Assume that N=M, and perform task allocation under the standard Hungarian algorithm. For ease of understanding, the present invention is illustrated by the following example. (In the example, each element of the matrix is an integer. In actual operation, the matrix T can be converted uniformly by multiplying the least common multiple)
[0130] Table 3
[0131] First Second C Man E A 10 5 9 18 11 B 13 19 6 12 14 C 3 2 4 4 5 D 18 9 12 17 15 E 11 6 14 19 10
[0132] There are 5 tasks to be assigned, ABCDE, and 5 employees, A, B, C, D, and E. The matching degree between each employee and the task is shown in the table above. The problem to be solved by the present invention is to which employee each task is assigned (1 to 1) so that the final total matching degree is the largest, that is, to solve the maximum value problem. The overall process can be seen in Fig. 9 shown.
[0133] First, the matching degree table needs to be transformed. The maximum value 19 in the table is used to subtract the value of each element, and the maximization problem is converted into a minimization problem. After processing Table 3, Table 4 is obtained:
[0134] Table 4
[0135] First Second C Man E A 9 14 10 1 8 B 6 0 13 7 5 C 16 17 15 15 14 D 1 10 7 2 4 E 8 13 5 0 9
[0136] s1: Determine the first coefficient matrix. That is, the content shown in the above table:
[0137]
[0138] s2: Row reduction. Update the first coefficient matrix so that each row of the first coefficient matrix is subtracted from the minimum value of the row, ensuring that each row has 0 elements, and obtain the following second coefficient matrix:
[0139]
[0140] s3: Column reduction. Update the second coefficient matrix so that each column of the second coefficient matrix is subtracted from the minimum value of the column, ensuring that each column has 0 elements, and obtain the following target coefficient matrix:
[0141]
[0142] The target coefficient matrix obtained through the above operation has at least one 0 element in each row and column. Next, you can assign tasks.
[0143] s4: Establish independent 0 elements. Starting from the first row / column, if there is only one 0 element in the row / column, mark the 0 element with 1 (i.e. the first mark), indicating that this task is assigned to a certain employee. Each time a 1 is marked, the other 0 elements in the same column as the 0 element are marked with 2, indicating that this task can no longer be handled by the employee corresponding to the column. Repeat this process until all 0 elements in the coefficient matrix have been marked with 1 or 2. The following matrix is obtained:
[0144]
[0145] s5: The number of independent 0 elements is equal to the number of tasks, and the assignment is successful. In this example, there are 4 independent 0 elements, that is, 0(1), which is less than the number of tasks 5, so the task assignment is unsuccessful.
[0146] s6: The number of independent 0 elements is less than the number of tasks, the assignment fails, and the zero-line operation needs to be performed. The specific steps are as follows: ① Mark the row where there is no 0 element marked as 1 (i.e., the third mark, which is only an example, and can actually be other marks, such as a triangle). For example, if the last row only includes 0 (2), mark the last row; ② In the row where "√" is marked, mark the column where the 0 element marked as 2 is located, such as marking the column where 0 (2) is located in the last row; ③ In the column where "√" is marked, mark the row where the 0 element marked as 1 is located, such as if the column where 0 (2) is located in the last row, its 0 (1) is in the first row, then mark the first row; ④ Repeat ② and ③ until no more rows or columns can be marked with √. The final result is shown in Figure 10 (a). ⑤ Draw a horizontal line for the rows without "√" and a vertical line for the columns with "√". In this way, a set of straight lines with the minimum number of straight lines covering all zero elements is obtained, as shown in Figure 10 (b).
[0147] s7: Update the matrix. The specific steps are as follows: ① Find a minimum element among the elements of the uncovered line, which is 4 in this example. ② Subtract this minimum element from each element in the row where the element of the uncovered line is located. At this time, negative elements will appear in the covered elements, as shown in Figure 10(c). ③ Add this minimum element to each element in the column where the negative element is located, such as adding 4, and the final result is:
[0148]
[0149] Then jump to S4 to re-establish the 0 element. At this time, the number of independent 0 elements is 5, which is equal to the number of tasks 5. See Figure 10 (d) and the assignment is successful. The task allocation is shown in Table 5. A-D, B-B, C-E, D-A, E-C. The maximum matching degree is: W=18+19+5+18+14=74.
[0150] Table 5
[0151] First Second C Man E A 10 5 9 18 11 B 13 19 6 12 14 C 3 2 4 4 5 D 18 9 12 17 15 E 11 6 14 19 10
[0152] The method provided in the above embodiment has made innovative improvements to the standard Hungarian algorithm, and has cleverly solved the problem of mismatch between the number of tasks and objects by introducing and calculating the comprehensive matching degree. Specifically, when the number of tasks and objects is not equal, it is only necessary to virtually expand or reduce the object set to ensure that the number of the two is consistent, and then the Hungarian algorithm can be directly applied. This improvement not only retains the efficient solution characteristics of the original algorithm, but also significantly improves the accuracy and rationality of the task allocation plan by integrating personalized matching degree calculations. In the end, whether in the ideal situation where the number of tasks and objects is equal, or in the actual challenge of unequal numbers, the variables can be flexibly adjusted to ensure the effective operation of the Hungarian algorithm, thereby deriving the optimal task allocation strategy.
[0153] See also Fig.11 , shows the overall technical architecture diagram of the sorting process, assuming that there are N tasks to be assigned and M employees:
[0154] S0: i represents the i-th job, j represents the j-th employee, i<=N, j<=M. Assume that initially i=0, j=0, first assign i=1, j=1 respectively.
[0155] S1-1: Calculate the business matching degree x1 of the j-th employee for the i-th job.
[0156] S1-2: Calculate the application matching degree x2 of the jth employee to the i-th job.
[0157] S1-3: Calculate the difficulty matching degree x3 of the jth employee to the i-th job.
[0158] S1-4: Calculate the time matching degree x4 of the jth employee for the i-th job.
[0159] S2: Managers take over the current situation according to department needs and appropriately adjust the weights of each part, r1-r4.
[0160] S3: Calculate the comprehensive matching degree of the jth employee to the ith job according to the formula:
[0161] W i-j =x1*r1+x2*r2+x3*r3+x4*r4
[0162] S4: Determine whether all employees have traversed all the tasks. First, determine whether the first employee has completed the calculation of the comprehensive matching degree W for all N tasks. If not, the task variable i+1 is increased; if the jth employee has completed the calculation of all N tasks, then j+1, i continues to be calculated from 1 until all N*M comprehensive matching degrees W are calculated.
[0163] S5-1: Determine the relationship between the number of jobs N and the number of employees M. If N=M, the application conditions of the Hungarian algorithm are met.
[0164] S6: Go directly to the next step to allocate work using the Hungarian algorithm.
[0165] S5-2, S7: When N>M, the traditional Hungarian algorithm is not applicable, and the variables need to be reset and adjusted. If N>M, it means that there are many jobs but few employees, and someone must be responsible for multiple jobs, so the employee set needs to be expanded. The expansion method is to sort the M employees in descending order according to their comprehensive matching degree W, take the first (NM) relatively matching employees, put them back into the employee set, and participate in the Hungarian algorithm operation of S6 together.
[0166] S5-3, S8: If N < M, it means there is less work and more employees, so there is no need for so many employees to handle this work. Therefore, it is necessary to reduce the employee set. The reduction method is to sort the comprehensive matching degrees W of M employees in ascending order, select the first (M - N) unmatched employees, remove them from the existing employee set, and then participate in the Hungarian algorithm operation in S6.
[0167] Through the innovative combination of concept modeling and the Hungarian algorithm, the present invention realizes the automation and optimization of task allocation, bringing about various positive effects. First, it transforms the abstract task allocation problem into an intuitive concept model, enabling both managers and employees to have a clear and quantitative understanding of the allocation criteria. Second, it provides managers with an efficient and objective decision-making tool, ensuring that task allocation is based on clear criteria, reducing subjective biases, and enhancing the fairness of allocation. At the same time, it fully considers the personal situations of employees, including business expertise, task load, and health status, effectively improving employee satisfaction and task efficiency, and reducing negative emotions. For the business side, accurately matching needs with executors not only reduces communication costs but also improves the quality and timeliness of task completion, enhancing satisfaction. From the enterprise level, it promotes cross-departmental collaboration, reduces internal friction, enhances team cohesion, injects vitality into the long-term development of the enterprise, and demonstrates the great potential of automated decision-making in improving organizational effectiveness.
[0168] See Fig.12 , which shows a schematic diagram of the main modules of a task allocation device 1200 provided by an embodiment of the present invention, including: a task receiving module 1201, configured to receive a first number of tasks to be allocated and count the second number of objects in the object set for processing tasks; a matching degree calculation module 1202, configured to obtain the task attribute values of each task to be allocated under each attribute and the object attribute values of each object under each attribute based on a pre-configured attribute set; calculate the matching degree between the task attribute values and the object attribute values under the same attribute, and then use the attribute matching degree integration method to obtain the matching degree between each task to be allocated and each object; an adjustment and allocation module 1203, configured to, when the first number and the second number are not equal, use the matching degree to adjust the number of objects in the object set to perform a task allocation operation using a preset task allocation method.
[0169] In the implementation device of the present invention, the attribute set includes business attributes, and the process of calculating the business matching degree includes: obtaining the requirement document of each task to be assigned, performing word segmentation processing on the requirement document to calculate the TF-IDF value of each word segmentation, and then integrating to obtain the task business vector; obtaining the processed requirement document set of each object, integrating the requirement document set into one requirement document, performing word segmentation processing on the one requirement document to calculate the TF-IDF value of each word segmentation, and then integrating to obtain the object business vector; using the similarity between the task business vector and the object business vector as the business matching degree of each task to be assigned and each object.
[0170] In the implementation device of the present invention, the calculation of the TF-IDF value of each participle includes: counting the number of occurrences of each participle in the demand document to determine the target participle with the largest number of occurrences; for each participle, taking the ratio of the number of occurrences of each participle to the number of occurrences of the target participle as the word frequency of each participle in the demand document; determining the total number of documents in a preset corpus, counting the number of documents in the preset corpus that include each participle, processing the total number of documents and the number of documents using an inverse document frequency calculation method to obtain the inverse document frequency of each participle; and taking the product of the word frequency and the inverse document frequency as the TF-IDF value of each participle.
[0171] In the implementation device of the present invention, the attribute set includes application attributes, and the process of calculating the application matching degree includes: obtaining the output result table of each task to be assigned, and determining the level of each task to be assigned in the data warehouse hierarchy based on the output result table; obtaining the level of each task that has been processed by each object to average out the average level, and determining the difference between the level of each task to be assigned and the average level of each object; calculating the quotient of the difference and the total level of the data warehouse, processing the quotient in a preset manner, and obtaining the application matching degree of each task to be assigned and each object.
[0172] In the implementation device of the present invention, the attribute set includes a difficulty attribute, and the process of calculating the difficulty matching degree includes: determining the difficulty of each task to be assigned, and determining the position level of each object; constructing a matching curve of task difficulty and object position level according to the difficulty of each task processed by each object and the position level of each object; locating the point corresponding to the difficulty of each task to be assigned and the position level of each object in the coordinate system to calculate the minimum distance from the point to the matching curve; determining the maximum distance from the minimum distance of each object to all tasks to be assigned, calculating the quotient of each minimum distance and the maximum distance, processing the quotient in a preset manner, and obtaining the difficulty matching degree of each task to be assigned and each object.
[0173] In the implementation device of the present invention, the attribute set includes a time attribute, and the process of calculating the time matching degree includes: determining the expected completion time of each task to be assigned, determining the time difference between the current time and the expected completion time, and dividing the time difference into a first time period and a second time period in a specific manner; determining a first number of tasks processed by each object at each time point in the first time period, and a second number of tasks processed at each time point in the second time period; using a pre-configured average load rate calculation method, processing the first time period, the first number, the second time period, and the second number to obtain the average load rate of each object for each task to be assigned; determining the maximum average load rate from the average load rates of each object for all tasks to be assigned, calculating the quotient of each average load rate and the maximum average load rate, processing the quotient in a preset manner, and obtaining the time matching degree of each task to be assigned and each object.
[0174] In the implementation device of the present invention, the adjustment and allocation module 1203 is used to: when the first number is greater than the second number, calculate the first difference between the first number and the second number, select the first difference objects in order of matching degree from large to small, and copy the first difference objects to the object set; when the first number is less than the second number, calculate the second difference between the second number and the first number, select the second difference objects in order of matching degree from small to large, and eliminate the second difference objects from the object set.
[0175] In the implementation device of the present invention, the adjustment and allocation module 1203 is used to: construct a comprehensive matching degree matrix according to the matching degree of each task to be allocated and each object, and use a preset coefficient matrix processing method to process the comprehensive matching degree matrix to obtain a target coefficient matrix; if there is only one target element in the same row and column in the target coefficient matrix, mark the target element with a first mark; for the case where there are multiple target elements in the same row and column, mark any target element with a first mark, and mark the other target elements in the column where the target element marked with the first mark is located with a second mark; count the third number of target elements marked with the first mark, and when the first number and the third number are not equal, use the preset cover zero line operation method to adjust the number of target elements marked with the first mark to the first number; when the first number and the third number are equal, perform task allocation according to the tasks to be allocated and objects corresponding to the target elements marked with the first mark.
[0176] In the implementation device of the present invention, the adjustment and allocation module 1203 is used to: determine the maximum matching degree in the comprehensive matching degree matrix, subtract each matching degree from the maximum matching degree to obtain a first coefficient matrix; for each row in the first system matrix, determine the minimum value of each row, subtract the minimum value from each value in each row to obtain a second coefficient matrix; for each column in the second coefficient matrix, determine the minimum value of each column, subtract the minimum value from each value in each column to obtain a target coefficient matrix.
[0177] In the implementation device of the present invention, the adjustment and allocation module 1203 is used to: mark the row where the target element marked with the first mark does not exist in the target coefficient matrix with a third mark; in the row marked with the third mark, mark the column where the target element marked with the second mark is located with a third mark; in the column marked with the third mark, mark the row where the target element marked with the first mark is located with a third mark; draw a horizontal line for the row not marked with the third mark, and draw a vertical line for the column marked with the third mark, to obtain a set of straight lines with the minimum number of straight lines covering all target elements; determine the minimum element from the elements of the uncovered straight lines, subtract the minimum element from the row where the elements of the uncovered straight lines are located, and if there is a negative element, add the minimum element to each element in the column where the negative element is located.
[0178] In addition, the specific implementation content of the device described in the embodiment of the present invention has been described in detail in the method described above, so the repeated content will not be described again here.
[0179] Fig.13 An exemplary system architecture 1300 to which the embodiments of the present invention may be applied is shown, including terminal devices 1301 , 1302 , 1303 , a network 1304 and a server 1305 (only an example).
[0180] Terminal devices 1301, 1302, 1303 can be various electronic devices with display screens and supporting web browsing, and various communication client applications are installed. Users can use terminal devices 1301, 1302, 1303 to interact with server 1305 through network 1304 to receive or send messages, etc.
[0181] The network 1304 is used to provide a medium for communication links between the terminal devices 1301, 1302, 1303 and the server 1305. The network 1304 may include various connection types, such as wired, wireless communication links or optical fiber cables.
[0182] The server 1305 may be a server that provides various services, such as a backend management server that provides support for shopping websites browsed by users using terminal devices 501, 502, and 503 (for example only). The backend management server may analyze and process the received data such as product information query requests, and feed back the processing results (such as target push information, product information - for example only) to the terminal device. It should be noted that the method provided in the embodiment of the present invention is generally executed by the server 1305, and accordingly, the device is generally set in the server 1305.
[0183] It should be understood that Fig.13 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to the implementation requirements.
[0184] Reference below Fig.14 , which shows a schematic diagram of the structure of a computer system 1400 of a terminal device suitable for implementing an embodiment of the present invention. Fig.14 The terminal device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0185] like Fig.14 As shown, the computer system 1400 includes a central processing unit (CPU) 1401, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1402 or a program loaded from a storage part 1408 into a random access memory (RAM) 1403. In the RAM 1403, various programs and data required for the operation of the system 1400 are also stored. The CPU 1401, the ROM 1402, and the RAM 1403 are connected to each other via a bus 1404. An input / output (I / O) interface 1405 is also connected to the bus 1404.
[0186] The following components are connected to the I / O interface 1405: an input section 1406 including a keyboard, a mouse, etc.; an output section 1407 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1408 including a hard disk, etc.; and a communication section 1409 including a network interface card such as a LAN card, a modem, etc. The communication section 1409 performs communication processing via a network such as the Internet. A drive 1410 is also connected to the I / O interface 1405 as needed. A removable medium 1411, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1410 as needed, so that a computer program read therefrom is installed into the storage section 1408 as needed.
[0187] In particular, according to the embodiments disclosed in the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present invention include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 1409, and / or installed from the removable medium 1411. When the computer program is executed by the central processing unit (CPU) 1401, the above-mentioned functions defined in the system of the present invention are executed.
[0188] It should be noted that the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0189] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0190] The modules involved in the embodiments of the present invention may be implemented by software or hardware. The modules described may also be set in a processor, for example, it may be described as: a processor includes a task receiving module, a matching degree calculation module, and an adjustment and allocation module. The names of these modules do not constitute a limitation on the modules themselves in some cases, for example, the adjustment and allocation module may also be described as a "task allocation module".
[0191] As another aspect, the present invention further provides a computer-readable medium, which may be included in the device described in the above embodiment; or may exist independently without being assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by a device, the device executes any of the above described task allocation methods.
[0192] The computer program product of the present invention comprises a computer program, and when the computer program is executed by a processor, the task allocation method in the embodiment of the present invention is implemented.
[0193] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A task allocation method, characterized in that: include: receiving a first number of tasks to be assigned, and counting a second number of objects in an object set of the processing tasks; Based on a pre-configured attribute set, obtain a task attribute value of each to-be-assigned task under each attribute, and an object attribute value of each object under each attribute; Calculate the matching degree between the task attribute value and the object attribute value under the same attribute, and then use the attribute matching degree integration method to obtain the matching degree between each task to be assigned and each object; In the case that the first quantity and the second quantity are not equal, the number of objects in the object set is adjusted using the matching degree, so as to perform the task allocation operation using a preset task allocation method.
2. The method according to claim 1, characterized in that The attribute set includes business attributes, and the process of calculating the business matching degree includes: Obtain the requirement document of each task to be assigned, perform word segmentation on the requirement document to calculate the TF-IDF value of each word segmentation, and then integrate them to obtain the task business vector; Obtaining a set of processed demand documents for each object, integrating the demand document set into one demand document, performing word segmentation processing on the one demand document to calculate the TF-IDF value of each word segmentation, and then integrating to obtain the object business vector; The similarity between the task business vector and the object business vector is used as the business matching degree between each task to be assigned and each object.
3. The method according to claim 2, characterized in that The calculation of the TF-IDF value of each word segment includes: Count the number of occurrences of each word in the requirement document to determine the target word with the highest number of occurrences; For each participle, the ratio of the number of occurrences of each participle to the number of occurrences of the target participle is used as the word frequency of each participle in the requirement document; Determine the total number of documents in a preset corpus, count the number of documents in the preset corpus that include each of the segmented words, process the total number of documents and the number of documents using an inverse document frequency calculation method, and obtain an inverse document frequency of each of the segmented words; The product of the word frequency and the inverse document frequency is used as the TF-IDF value of each word segment.
4. The method according to claim 1, characterized in that: The attribute set includes application attributes, and the process of calculating the application matching degree includes: Obtaining an output result table of each task to be assigned, and determining the level of each task to be assigned in the data warehouse hierarchy according to the output result table; Obtaining the level of each task processed by each object to obtain an average level by averaging, and determining the difference between the level of each task to be assigned and the average level of each object; The quotient of the difference and the total level of the data warehouse is calculated, and the quotient is processed in a preset manner to obtain the application matching degree of each task to be assigned and each object.
5. The method according to claim 1, characterized in that The attribute set includes the difficulty attribute, and the process of calculating the difficulty matching degree includes: Determine the difficulty of each task to be assigned, and determine the position level of each subject; According to the difficulty of each task handled by each subject and the position level of each subject, a matching curve of task difficulty and subject position level is constructed; Locate points corresponding to the difficulty of each task to be assigned and the job level of each object in the coordinate system to calculate the minimum distance between the points and the matching curve; The maximum distance is determined from the minimum distances of each object to all the tasks to be assigned, the quotient of each minimum distance and the maximum distance is calculated, and the quotient is processed in a preset manner to obtain the difficulty matching degree of each task to be assigned and each object.
6. The method according to claim 1, characterized in that The attribute set includes the time attribute, and the process of calculating the time matching degree includes: Determine the expected completion time of each task to be assigned, determine the time difference between the current time and the expected completion time, and divide the time difference into a first time period and a second time period in a specific manner; Determine a first number of tasks processed by each object at each time point in a first time period, and a second number of tasks processed at each time point in a second time period; Using a pre-configured average load rate calculation method, processing the first time period, the first quantity, the second time period, and the second quantity, to obtain an average load rate of each object for each task to be assigned; The maximum average load rate is determined from the average load rates of each object for all tasks to be assigned, the quotient of each average load rate and the maximum average load rate is calculated, and the quotient is processed in a preset manner to obtain the time matching degree of each task to be assigned and each object.
7. The method according to claim 1, characterized in that When the first number and the second number are not equal, adjusting the number of objects in the object set by using the matching degree includes: When the first number is greater than the second number, calculating a first difference between the first number and the second number, selecting the first difference number of objects in descending order of matching degree, and copying the first difference number of objects to the object set; When the first number is less than the second number, a second difference between the second number and the first number is calculated, and objects having the second difference are selected in ascending order of matching degree, and the objects having the second difference are removed from the object set.
8. The method according to claim 1 or 7, characterized in that: The using a preset task allocation method to perform a task allocation operation includes: According to the matching degree between each task to be assigned and each object, a comprehensive matching degree matrix is constructed, and the comprehensive matching degree matrix is processed using a preset coefficient matrix processing method to obtain a target coefficient matrix; If there is only one target element in the same row and column of the target coefficient matrix, the target element is marked with the first mark; If there are multiple target elements in the same row and column, mark any target element with a first mark, and mark other target elements in the column where the target element marked with the first mark is located with a second mark; Counting a third number of target elements marked with the first mark, and when the first number and the third number are not equal, using a preset zero-line drawing operation mode to adjust the number of target elements marked with the first mark to the first number; When the first quantity and the third quantity are equal, the tasks are allocated according to the to-be-allocated tasks and objects corresponding to the target elements marked with the first mark.
9. The method according to claim 8, characterized in that The method of processing the comprehensive matching degree matrix using a preset coefficient matrix processing method to obtain a target coefficient matrix includes: Determine the maximum matching degree in the comprehensive matching degree matrix, subtract each matching degree from the maximum matching degree, and obtain a first coefficient matrix; For each row in the first system matrix, determine the minimum value of each row, and subtract the minimum value from each value in each row to obtain a second coefficient matrix; For each column in the second coefficient matrix, the minimum value of each column is determined, and the minimum value is subtracted from each value in each column to obtain the target coefficient matrix.
10. The method according to claim 8, characterized in that The method of using a preset zero-line operation mode to adjust the number of target elements marked with a first mark to a first number includes: For the row where the target element marked with the first mark does not exist in the target coefficient matrix, mark the third mark; In the row marked with the third mark, mark the column where the target element marked with the second mark is located with the third mark; In the column marked with the third mark, mark the row where the target element marked with the first mark is located, mark the third mark; Draw a horizontal line for the rows without the third mark, and draw a vertical line for the columns marked with the third mark, and obtain a set of lines with the minimum number of lines covering all target elements; Determine the minimum element from the elements of the uncovered straight line, subtract the minimum element from the row where the element of the uncovered straight line is located, and if there is a negative element, add the minimum element to each element in the column where the negative element is located.
11. A task allocation device, characterized in that: include: A task receiving module, used for receiving a first number of tasks to be assigned, and counting a second number of objects in an object set of the processing tasks; A matching degree calculation module, used for obtaining the task attribute value of each to-be-assigned task under each attribute and the object attribute value of each object under each attribute based on a pre-configured attribute set; Calculate the matching degree between the task attribute value and the object attribute value under the same attribute, and then use the attribute matching degree integration method to obtain the matching degree between each task to be assigned and each object; The adjustment and allocation module is used to adjust the number of objects in the object set using the matching degree when the first number and the second number are not equal, so as to perform a task allocation operation using a preset task allocation method.
12. An electronic device, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 10.
13. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 10 is implemented.
14. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 10 is implemented.