CN110618855A - Task allocation method and device, electronic equipment and storage medium - Google Patents

Task allocation method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN110618855A
CN110618855A CN201811594048.4A CN201811594048A CN110618855A CN 110618855 A CN110618855 A CN 110618855A CN 201811594048 A CN201811594048 A CN 201811594048A CN 110618855 A CN110618855 A CN 110618855A
Authority
CN
China
Prior art keywords
task
distribution
weight
current
allocation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811594048.4A
Other languages
Chinese (zh)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Time Business Technology Co Ltd
Original Assignee
Beijing Time Business Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Time Business Technology Co Ltd filed Critical Beijing Time Business Technology Co Ltd
Priority to CN201811594048.4A priority Critical patent/CN110618855A/en
Publication of CN110618855A publication Critical patent/CN110618855A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence

Abstract

The disclosure discloses a task allocation method, a task allocation device, electronic equipment and a storage medium. The method comprises the following steps: the method comprises the steps of obtaining single distribution weight and accumulated distribution weight of at least two objects of an allocable task, determining the current distribution weight of each object according to the single distribution weight and the accumulated distribution weight, determining the distribution object of the current task according to the current distribution weight and the distribution rule of each object, wherein the distribution object is used for executing the current task. Based on the technical scheme, the traditional task allocation method based on fixed weight is broken through, the current allocation weight capable of representing the current state of the object is determined based on the single allocation weight and the accumulated allocation weight of each object, the current task is allocated based on the current allocation weight, and the task allocation according to the expected proportion can be guaranteed when personnel movement, weight allocation and task quantity change, so that the task allocation error is reduced, and the management effect is improved.

Description

Task allocation method and device, electronic equipment and storage medium
Technical Field
The present disclosure relates to data processing technologies, and in particular, to a task allocation method and apparatus, an electronic device, and a storage medium.
Background
When the number of tasks and the number of execution objects are unique, a task allocation strategy needs to be set to allocate the tasks. For example, the task allocation policy may be to poll the execution objects and allocate a plurality of tasks to each execution object equally, the task allocation policy may also be to allocate the tasks to each execution object according to a preset proportion, where the proportions of the execution objects may be the same or different, and the task allocation policy may also be in a random allocation manner.
However, the average distribution in the task distribution policy cannot meet the demand of differentiated management, the distribution ratio as the probability distribution can only reach the desired distribution ratio when the quantity is large, and the situation opposite to the desired ratio is likely to occur when the data quantity is small.
Disclosure of Invention
The disclosure provides a task allocation method, a task allocation device, an electronic device and a storage medium, so as to realize the efficiency and fairness of task allocation.
In a first aspect, an embodiment of the present disclosure provides a task allocation method, where the method includes:
acquiring single distribution weight and accumulated distribution weight of at least two objects of an allocable task;
determining the current distribution weight of each object according to the single distribution weight and the accumulated distribution weight;
and determining the distribution object of the current task according to the current distribution weight and the distribution rule of each object, wherein the distribution object is used for executing the current task.
In the foregoing solution, optionally, the determining the current distribution weight of each object according to the single distribution weight and the cumulative distribution weight includes:
and performing preset rule operation on the single distribution weight and the accumulated distribution weight of each object, and determining an operation result as the current distribution weight of the object.
In the foregoing scheme, optionally, determining an allocation object of the current task according to the current allocation weight and the allocation rule of each object includes:
sorting the current distribution weights of the objects;
and determining an object corresponding to the current distribution weight in the preset sorting range in the sorting as a distribution object of the current task.
In the foregoing scheme, optionally, when the number of objects corresponding to the current allocation weight in the preset sorting range is greater than or equal to 2, determining an allocation object of the current task according to the number of tasks allocated to each object within a preset time period; alternatively, the first and second electrodes may be,
and determining the distribution object of the current task according to the single distribution weight and the distributed task number of the object corresponding to the current distribution weight in the preset sequencing range.
In the foregoing scheme, after determining the allocation object of the current task according to the current allocation weight and the allocation rule of each object, optionally, the method further includes:
and updating the cumulative distribution weight of each object after the current task is distributed based on the current distribution weight of each object and the distribution object of the current task.
In the foregoing solution, optionally, the updating, based on the current distribution weight of each object and the distribution object of the current task, the cumulative distribution weight of each object after the current task is distributed includes:
for the distribution object of the current task, performing difference according to the current distribution weight and the sum of the task weights, and updating the obtained difference value into the cumulative distribution weight of the distribution object, wherein the sum of the task weights is the sum of single distribution weights of at least two objects of the distributable task;
for other objects than the assigned object, updating the current assigned weight to the cumulative assigned weight of the other objects.
In the foregoing scheme, optionally, obtaining the single assignment weight of at least two objects of an assignable task includes:
determining the task category of the current task;
screening at least two objects capable of distributing the current task according to the task category, and acquiring single distribution weights of the at least two objects under the task category, wherein the single distribution weights are in direct proportion to the execution efficiency of the task type.
In a second aspect, an embodiment of the present disclosure further provides a task allocation apparatus, where the apparatus includes:
the weight acquisition module is used for acquiring single distribution weights and accumulated distribution weights of at least two objects of the distributable task;
the current distribution weight determining module is used for determining the current distribution weight of each object according to the single distribution weight and the accumulated distribution weight;
and the distribution object determining module is used for determining a distribution object of the current task according to the current distribution weight and the distribution rule of each object, and the distribution object is used for executing the current task.
In the foregoing solution, optionally, the current allocation weight determining module is configured to:
and performing preset rule operation on the single distribution weight and the accumulated distribution weight of each object, and determining an operation result as the current distribution weight of the object.
In the foregoing solution, optionally, the allocation object determining module includes:
the weight sorting unit is used for sorting the current distribution weights of the objects;
and the first assignment object determining unit is used for determining an object corresponding to the current assignment weight in the preset ordering range in the ordering as an assignment object of the current task.
In the foregoing solution, optionally, the allocation object determining module further includes:
and the second allocated object determining unit is used for determining the allocated objects of the current task according to the number of tasks allocated to each object in a preset time period when the number of objects corresponding to the current allocation weight of the preset sequencing range is greater than or equal to 2.
In the foregoing solution, optionally, the allocation object determining module further includes:
and the third distribution object determining unit is used for determining the distribution object of the current task according to the single distribution weight and the distributed task number of the object corresponding to the current distribution weight in the preset sorting range when the object number of the current distribution weight in the preset sorting range is greater than or equal to 2.
In the foregoing solution, optionally, the apparatus further includes:
and the cumulative distribution weight updating module is used for updating the cumulative distribution weight of each object after the current task is distributed based on the current distribution weight of each object and the distribution object of the current task after the distribution object of the current task is determined according to the current distribution weight and the distribution rule of each object.
In the foregoing solution, optionally, the cumulative distribution weight updating module is configured to:
for the distribution object of the current task, performing difference according to the current distribution weight and the sum of the task weights, and updating the obtained difference value into the cumulative distribution weight of the distribution object, wherein the sum of the task weights is the sum of single distribution weights of at least two objects of the distributable task;
for other objects than the assigned object, updating the current assigned weight to the cumulative assigned weight of the other objects.
In the foregoing scheme, optionally, the weight obtaining module is configured to:
determining the task category of the current task;
screening at least two objects capable of distributing the current task according to the task category, and acquiring single distribution weights of the at least two objects under the task category, wherein the single distribution weights are in direct proportion to the execution efficiency of the task type.
In a third aspect, an embodiment of the present disclosure further provides an electronic device, where the electronic device includes:
one or more processors;
a memory for storing one or more programs;
when executed by the one or more processors, cause the one or more processors to implement a task assignment method as in any of the embodiments of the present disclosure.
In a fourth aspect, the disclosed embodiments also provide a computer-readable storage medium, on which a computer program is stored, which when executed by a processor implements the task allocation method according to any one of the disclosed embodiments.
According to the task allocation method provided by the embodiment of the disclosure, the single allocation weight and the cumulative allocation weight of at least two objects of an allocable task are obtained, the current allocation weight of each object is determined according to the single allocation weight and the cumulative allocation weight, the allocation object of the current task is determined according to the current allocation weight and the allocation rule of each object, and the allocation object is used for executing the current task. Based on the technical scheme, the traditional task allocation method based on fixed weight is broken through, the current allocation weight capable of representing the current state of the object is determined based on the single allocation weight and the accumulated allocation weight of each object, the current task is allocated based on the current allocation weight, and the task allocation according to the expected proportion can be guaranteed when personnel movement, weight allocation and task quantity change, so that the task allocation error is reduced, and the management effect is improved.
Drawings
Fig. 1 is a flowchart of a method of task allocation provided in an embodiment of the present disclosure;
fig. 2 is a flowchart of a method of task allocation provided in the second embodiment of the present disclosure;
fig. 3 is a flowchart of a method of task allocation provided in a third embodiment of the present disclosure;
fig. 4 is a schematic structural diagram of a task allocation apparatus according to a fourth embodiment of the present disclosure;
fig. 5 is a schematic structural diagram of an electronic device according to a fifth embodiment of the present disclosure.
Detailed Description
The present disclosure is described in further detail below with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the disclosure and are not limiting of the disclosure. It should be further noted that, for the convenience of description, only some of the structures relevant to the present disclosure are shown in the drawings, not all of them.
In the following embodiments, optional features and examples are provided in each embodiment, and various features described in the embodiments may be combined to form a plurality of alternatives, and each numbered embodiment should not be regarded as only one technical solution.
Example one
Fig. 1 is a flowchart of a task allocation method provided in an embodiment of the present disclosure, where the present embodiment is applicable to a case where a task is allocated to an executor, and the method may be executed by a task allocation apparatus, which may be composed of hardware and/or software and may be generally integrated in an electronic device such as a mobile phone, a tablet, and a computer. The method specifically comprises the following steps:
and S110, acquiring single distribution weight and accumulated distribution weight of at least two objects of the distributable task.
And S120, determining the current distribution weight of each object according to the single distribution weight and the accumulated distribution weight.
S130, determining the distribution object of the current task according to the current distribution weight and the distribution rule of each object, wherein the distribution object is used for executing the current task.
The task assignable object may be a natural person, an electronic device such as a computer, a mobile phone, a tablet computer, a server, a display, a camera, or a thread capable of executing a task in an electronic device system, and the like, which is not limited in this embodiment.
When the task is distributed, the object of the currently distributed task is determined, for example, when the object is a natural person, the person with the execution capacity and the task execution time is determined as the object of the distributed task, for example, companies including employees a, b, c and d all have the task execution capacity, but only b, c and d (a leave) having the task execution time are determined, and then the object of the distributed task is determined as b, c and d. For example, when the objects are electronic devices or system threads, whether each object has a fault and is idle at the task execution time is determined, and the object which has no fault and has the task execution time is determined as the object which can be assigned with the task.
In this embodiment, the single-time assignment weights of the objects are used to characterize the task performance of the object, for example, the single-time assignment weights of the objects a, b, and c that can assign the tasks are 3, 2, and 1, respectively, which indicates that the task performance of the object a is the strongest, and the object b is the second worst, and the object c is the worst. Optionally, the single-time assignment weight of the object may be fixedly set, or may be changed in real time according to a preset condition. The preset condition may be set according to a user requirement, for example, the preset condition may be task execution efficiency, the higher the task execution efficiency is, the larger the single assignment weight is, and correspondingly, the lower the task execution efficiency is, the smaller the single assignment weight is. Optionally, the task execution efficiency of each object is periodically counted, and when the task execution efficiency is improved, the single-time assignment weight of the object may be increased. For example, the preset condition may be, but is not limited to, one or more of the following: the task execution quantity, the task execution result and the task evaluation. In some embodiments, the proportion of the single assigned weight for each object may be the desired task assignment proportion for each object.
The cumulative assignment weight of the object is used to represent the assigned task state of the object, and is determined based on the historical task assignment condition and the single assignment weight of each object during the historical task assignment. The numerical relationship between the number of the distributed tasks and the cumulative distribution weight is determined according to the calculation mode of the cumulative distribution weight, and in some embodiments, the greater the number of the received tasks is, the greater the cumulative distribution weight is; the larger the number of accepted tasks is, the smaller the cumulative distribution weight is; it is also possible that there is no linear relationship between the number of tasks assigned and the value of the cumulative assignment weight. Illustratively, the cumulative distribution weight of the object may be determined according to the task calculation distributed within a preset time period, which may be one day, one month, one year, or the like, for example, the cumulative distribution weight may be cleared every month and recalculated.
In this embodiment, each time a task is assigned, the current assignment weight of each object is determined based on the single assignment weight and the cumulative assignment weight of each assignable task object, and the assignment object of the current task is determined according to the current assignment weight and a preset assignment rule. The determining of the current distribution weight of each object based on the single distribution weight and the cumulative distribution weight of each assignable task object may be performing a preset rule operation on the single distribution weight and the cumulative distribution weight of each object, and determining the operation result as the current distribution weight, where the preset rule operation may be, but is not limited to, addition, subtraction, multiplication, division and the like. Illustratively, the single-time distribution weight and the cumulative distribution weight of each object are summed, and the sum of the single-time distribution weight and the cumulative distribution weight is determined as the current distribution weight of the object. For example, the single assignment weights of objects a, b, and c of assignable tasks are 3, 2, and 1, respectively, the cumulative assignment weights are 1, 0, and 2 in order, and the current assignment weights of a, b, and c, which are obtainable based on the addition of the single assignment weights and the cumulative assignment weights, are 4, 2, and 3.
In this embodiment, determining the allocation object of the current task based on the current allocation weight of each object, and optionally, determining the allocation object of the current task according to the current allocation weight and the allocation rule of each object includes: sorting the current distribution weights of the objects; and determining an object corresponding to the current distribution weight in the preset sorting range in the sorting as a distribution object of the current task. For example, the current allocation weights are numerically sorted, and an object corresponding to the current allocation weight at the top of the sorting order or the last of the sorting order may be determined as an allocation object of the current task. It should be noted that, the preset rule operation for calculating the current distribution weight is matched with the distribution rule for distributing the task, the distribution rule may be determined based on the preset rule operation for calculating the current distribution weight, or the preset rule operation for determining the current distribution weight based on the distribution rule, which is not limited in this embodiment. And executing the task allocation method based on the same matched preset rule operation and allocation rule within the period from the accumulated weight zero clearing of the user to the next accumulated weight zero clearing.
In some embodiments, when the number of objects corresponding to the current assignment weight in the preset sorting range is greater than or equal to 2, determining an assignment object of the current task according to the number of tasks already assigned to each object in a preset time period. For example, taking the case that the current tasks are allocated to the object whose current allocation weights are the maximum values, when the current allocation weights of two or more objects are the maximum values, the number of allocated tasks of the object with the maximum current allocation weight is determined, and the current tasks are allocated to the object whose number of allocated tasks is the minimum. If the number of the assigned tasks of each object is the same, the current task can be randomly assigned to the object with the maximum current assignment weight. The assigned task number may be the assigned task number of each object after the cumulative assignment weight is cleared.
In some embodiments, when the number of objects of the current assignment weight of the preset sorting range is greater than or equal to 2, the assignment object of the current task may be further determined according to the single assignment weight and the number of assigned tasks of the object corresponding to the current assignment weight of the preset sorting range. For example, taking the case that the current tasks are allocated to the objects whose current allocation weights are the maximum values, when the current allocation weights of two or more objects are the maximum values, determining the number of allocated tasks of the object with the maximum current allocation weight, determining the proportion of the number of allocated tasks of each object, comparing the proportion of the number of allocated tasks of each object with the proportion of the single allocation weight, and determining the allocated objects of the current tasks according to the comparison result. Illustratively, the current weight assignment weights of B and C are the same and are maximum values, and the proportion of the single assignment weights of B and C is 2: and 1, if the ratio of the number of the tasks distributed by the second task to the number of the tasks distributed by the third task is 1:1, determining that the second task is in a task lack state according to a comparison result, and determining that the second task is a distribution object of the current task. For example, if the proportion of the number of the assigned tasks B and C is the same as the proportion of the single assignment weight, the current tasks can be randomly assigned.
In one embodiment, the single distribution weight and the cumulative distribution weight of each object are added, the sum of the single distribution weight and the cumulative distribution weight is determined as the current distribution weight of each object, the maximum value in the current distribution weight of each object is determined, and the user corresponding to the maximum current distribution weight is determined as the distribution object of the current task. The above embodiment is only one executable example, and in other embodiments, the current allocation weight may be determined based on other operation rules, and the allocation object of the current task may be determined based on other allocation rules, which is not limited in this embodiment.
It should be noted that, if the number of assignable objects is only 1, it is only necessary to assign the current task to the assignable object without determining the single assignment weight and the cumulative assignment weight of the assignable object, and to mediate the cumulative assignment weight of the assignable object after the task is assigned.
According to the technical scheme of the embodiment, the single distribution weight and the cumulative distribution weight of at least two objects of the distributable task are obtained, the current distribution weight of each object is determined according to the single distribution weight and the cumulative distribution weight, the distribution object of the current task is determined according to the current distribution weight and the distribution rule of each object, and the distribution object is used for executing the current task. Based on the technical scheme, the traditional task allocation method based on fixed weight is broken through, the task execution capacity and the allocated task state of each object are comprehensively considered, the current allocation weight capable of representing the current state of the object is determined based on the single allocation weight and the cumulative allocation weight, the current task is allocated based on the current allocation weight, the task allocation according to the expected proportion can be guaranteed when personnel movement, weight allocation and the task amount change, the task allocation error is reduced, and the management effect is improved.
Example two
Fig. 2 is a schematic flowchart of a task allocation method according to a second embodiment of the present disclosure. The present embodiment is embodied on the basis of various alternatives in the above-described embodiments. The method specifically comprises the following steps:
s210, acquiring single distribution weight and accumulated distribution weight of at least two objects of the distributable task.
And S220, determining the current distribution weight of each object according to the single distribution weight and the accumulated distribution weight.
S230, determining the distribution object of the current task according to the current distribution weight and the distribution rule of each object, wherein the distribution object is used for executing the current task.
S240, updating the cumulative distribution weight of each object after the current task is distributed based on the current distribution weight of each object and the distribution object of the current task.
In this embodiment, after the current task is allocated, the cumulative allocation weight of each object after the current task is allocated is determined, which is convenient for the accuracy of the next task allocation. The updating method of the cumulative distribution weight is matched with the distribution rule of the current task, for example, if the distribution rule of the current task is to distribute the current task to the object corresponding to the maximum value of the current distribution weight, the cumulative distribution weight of the distributed object of the current task is reduced to reduce the distribution probability of the object in the next task, and correspondingly, the cumulative distribution weight of the object without distributed task can be maintained, or the cumulative distribution weight of the object without distributed task is increased to increase the distribution probability of the object without distributed task in the next task; if the distribution rule of the current task is to distribute the current task to the object corresponding to the minimum value of the current distribution weight, increasing the cumulative distribution weight of the current task distribution object to reduce the distribution weight of the object in the next task, and correspondingly, maintaining the cumulative distribution weight of the object without the task, or reducing the cumulative distribution weight of the object without the task to improve the distribution probability of the object without the task in the next task and improve the fairness of task distribution.
In some embodiments, the updating the cumulative distribution weight of each object after the current task is distributed based on the current distribution weight of each object and the distribution object of the current task includes: and for the distribution object of the current task, performing difference according to the current distribution weight and the total task weight, and updating the obtained difference value into the cumulative distribution weight of the distribution object, wherein the total task weight is the sum of single distribution weights of at least two objects of the distributable task. For other objects than the assigned object, updating the current assigned weight to the cumulative assigned weight of the other objects.
Taking the allocation object as a natural person as an example, since various emergencies (such as leave of an employee, new employee entry, leave of an employee, etc.) occur during work of the natural person, the problem of uneven allocation easily occurs in the task allocation process. Illustratively, taking house source tasks (for example, house-viewing tasks, house-purchasing tasks, house-renting tasks, and the like) as an example, an allocation method of the house source tasks is explained to ensure that the tasks are allocated according to a desired proportion when personnel and weight change. A certain house source company comprises employees A, B, C and D, wherein the single distribution weights of the employees A, B, C and D are 1, 2, 3 and 4, the initial cumulative distribution weights are 0, when the first house source task is received and distributed, the objects capable of distributing the tasks are determined to be the employees A, B, C and D, determining that the current distribution weights of the employees A, B, C and D are 1, 2, 3 and 4 according to the sum of the single distribution weight and the cumulative distribution weight, distributing the current task to the employee D with the maximum current distribution weight, correspondingly, the cumulative distribution weights of the employees A, B, C and D after the first house resource task is distributed are 1, 2, 3 and-6 respectively, the cumulative distribution weight of the first room source task is the same as the current distribution weight of the first room source task, and the cumulative distribution weight of the second room source task is updated to be the difference between the current distribution weight and the sum (10) of the single distribution weights; when a second room source task is received for distribution, determining that objects capable of distributing tasks are employees A, B and D (leave for C), determining that the current distribution weights of the employees A, B and D are 2, 4 and-2 according to the sum of the single distribution weight and the cumulative distribution weight, and distributing the current tasks to the employee B with the maximum current distribution weight, wherein the cumulative distribution weights of the employees A, B, C and D after the second room source task is distributed are respectively 2, -3, 3 and-2, the cumulative distribution weights of the employees A and D are the same as the current distribution weight distributed by the second room source task, the cumulative distribution weight of the employee B is updated to be the difference between the current distribution weight distributed by the second room source task and the sum of the single distribution weight (7), and the cumulative distribution weight of the employee C is kept unchanged; when a third house source task is received for distribution, determining that objects capable of distributing tasks are employees A, B, C and D, the single distribution weights of the employees A, B, C and D are adjusted to be 4, 3, 2 and 1, determining that the current distribution weights of the employees A, B, C and D are 6, 0, 5 and-1 according to the sum of the single distribution weights and the cumulative distribution weights, distributing the current tasks to the employees A with the maximum current distribution weight, correspondingly, the cumulative distribution weights of the employees A, B, C and D after the third house source task is distributed are respectively-4, 0, 5 and-1, wherein the cumulative distribution weight of the employees A, B and C is the same as the current distribution weight of the third house source task, the cumulative distribution weight of the employees A is updated to be the difference between the current distribution weight of the third house source task and the sum (10) of the single distribution weights, and the rest on the same.
In this embodiment, each time of task allocation, current allocation weights are determined based on single allocation weights and cumulative allocation weights of objects capable of allocating tasks, and task allocation is performed, where the current allocation weights are only related to objects capable of allocating tasks, are unrelated to other objects, and do not affect other objects, and it can be ensured that allocation is performed according to an expected allocation proportion in a process of personnel adjustment or weight adjustment.
EXAMPLE III
Fig. 3 is a schematic flowchart of a task allocation method according to a third embodiment of the present disclosure. The present embodiment is embodied on the basis of various alternatives in the above-described embodiments. The method specifically comprises the following steps:
and S310, determining the task type of the current task.
S320, screening at least two objects capable of distributing the current task according to the task category, and obtaining the single distribution weight of the at least two objects under the task category.
S330, determining the current distribution weight of each object according to the single distribution weight and the accumulated distribution weight.
S340, determining the distribution object of the current task according to the current distribution weight and the distribution rule of each object, wherein the distribution object is used for executing the current task.
And S350, updating the cumulative distribution weight of each object after the current task is distributed based on the current distribution weight of each object and the distribution object of the current task.
In this embodiment, the single assignment weights of the objects under the task categories may be the same or different, for example, taking a house source task as an example, the single assignment weight of the employee a for assigning a renting task is 3, and the single assignment weight of the employee a for assigning a selling task is 2, where the single assignment weight of each task category may be determined according to one or more of task execution efficiency, task execution number, and task execution degree of the task type, and for example, the single assignment weight of the task category may be proportional to the execution efficiency of the object for executing the task of the task category.
When the task is distributed, the task category of the current task is determined, and the task objects which can be distributed and the single distribution weight of each object are determined according to the task category. The cumulative assignment weight of each object is accumulated based on each task assignment, and is independent of the task type. In the embodiment, the tasks are classified, and the single distribution weight of different task types of each object is set, so that the flexibility of different task distribution is improved.
Taking house source tasks as an example, the task categories of the house source tasks can comprise house renting tasks and house selling tasks, a house source company comprises employees A, B and C, wherein the single distribution weights of the house renting tasks of the employees A, B and C are 1, 2 and 3, the single distribution weights of the house selling tasks are 2, 3 and 1, the initial cumulative distribution weights are 0, the first task is a house renting task, the distributable objects are the employees A, B and C, the current distribution weights of the employees A, B and C can be determined to be 1, 2 and 3, the first task is distributed to the employee C with the maximum current distribution weight, and correspondingly, the cumulative distribution weights of the employees A, B and C after the first task is distributed are 1, 2 and-3; the second task is a house selling task, the assignable objects are employees A, B and C, the current assignment weights of the employees A, B and C can be determined to be 4, 5 and-2, the second task is assigned to the employee B with the largest current assignment weight, correspondingly, the cumulative assignment weights of the employees A, B and C after the second task is assigned are 4, -1 and-2, and the like.
In the task allocation method provided in this embodiment, when task allocation is performed, a task class of a current task to be allocated is determined, objects to which the task can be allocated and a single allocation weight of each object are determined based on the task class, a current allocation weight is determined based on an accumulated allocation weight of each object and the single allocation weight of the task class, and an allocation object of the current task is further determined. According to the technical scheme, the problem of complex task allocation under multiple task categories is solved, the execution capacity and the allocated task state of each object to different categories are comprehensively considered, the multi-category tasks are rapidly allocated, the task allocation efficiency and precision are improved, and task allocation disputes are avoided.
Example four
Fig. 4 is a schematic structural diagram of a task allocation apparatus provided in an embodiment of the present disclosure, and referring to fig. 4, the task allocation apparatus includes: a weight obtaining module 410, a current distribution weight determining module 420 and a distribution object determining module 430, which are described in detail below.
A weight obtaining module 410, configured to obtain a single distribution weight and a cumulative distribution weight of at least two objects of an allocable task;
a current distribution weight determining module 420, configured to determine a current distribution weight of each object according to the single distribution weight and the cumulative distribution weight;
and an allocation object determining module 430, configured to determine an allocation object of the current task according to the current allocation weight and the allocation rule of each object, where the allocation object is used to execute the current task.
The task allocation device provided by this embodiment breaks through a traditional task allocation method based on fixed weights, determines a current allocation weight capable of representing the current state of an object based on a single allocation weight and an accumulated allocation weight of each object, and allocates a current task based on the current allocation weight, so that when personnel movement, weight allocation and task amount change, task allocation according to an expected proportion can be guaranteed, task allocation errors are reduced, and management effects are improved.
Optionally, the current assignment weight determining module is configured to:
and performing preset rule operation on the single distribution weight and the accumulated distribution weight of each object, and determining an operation result as the current distribution weight of the object.
Optionally, the allocation object determining module includes:
the weight sorting unit is used for sorting the current distribution weights of the objects;
and the first assignment object determining unit is used for determining an object corresponding to the current assignment weight in the preset ordering range in the ordering as an assignment object of the current task.
Optionally, the allocation object determining module further includes:
and the second allocated object determining unit is used for determining the allocated objects of the current task according to the number of tasks allocated to each object in a preset time period when the number of objects corresponding to the current allocation weight of the preset sequencing range is greater than or equal to 2.
Optionally, the allocation object determining module further includes:
and the third distribution object determining unit is used for determining the distribution object of the current task according to the single distribution weight and the distributed task number of the object corresponding to the current distribution weight in the preset sorting range when the object number of the current distribution weight in the preset sorting range is greater than or equal to 2.
Optionally, the apparatus further comprises:
and the cumulative distribution weight updating module is used for updating the cumulative distribution weight of each object after the current task is distributed based on the current distribution weight of each object and the distribution object of the current task after the distribution object of the current task is determined according to the current distribution weight and the distribution rule of each object.
Optionally, the cumulative distribution weight updating module is configured to:
for the distribution object of the current task, performing difference according to the current distribution weight and the sum of the task weights, and updating the obtained difference value into the cumulative distribution weight of the distribution object, wherein the sum of the task weights is the sum of single distribution weights of at least two objects of the distributable task;
for other objects than the assigned object, updating the current assigned weight to the cumulative assigned weight of the other objects.
Optionally, the weight obtaining module is configured to:
determining the task category of the current task;
screening at least two objects capable of distributing the current task according to the task category, and acquiring single distribution weights of the at least two objects under the task category, wherein the single distribution weights are in direct proportion to the execution efficiency of the task type.
The task allocation device provided by the embodiment of the disclosure can execute the task allocation method provided by any embodiment of the disclosure, and has corresponding functional modules and beneficial effects for executing the task allocation method.
EXAMPLE five
Referring now to FIG. 5, a block diagram of an electronic device 500 suitable for use in implementing embodiments of the present disclosure is shown. The electronic devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., car navigation terminals), and the like, and fixed terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 5 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 5, electronic device 500 may include a processing means (e.g., central processing unit, graphics processor, etc.) 501 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)502 or a program loaded from a storage means 508 into a Random Access Memory (RAM) 503. In the RAM 503, various programs and data necessary for the operation of the electronic apparatus 500 are also stored. The processing device 501, the ROM 502, and the RAM 503 are connected to each other through a bus 504. An input/output (I/O) interface 505 is also connected to bus 504.
Generally, the following devices may be connected to the I/O interface 505: input devices 506 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 507 including, for example, a Liquid Crystal Display (LCD), speakers, vibrators, and the like; storage devices 508 including, for example, magnetic tape, hard disk, etc.; and a communication device 509. The communication means 509 may allow the electronic device 500 to communicate with other devices wirelessly or by wire to exchange data. While fig. 5 illustrates an electronic device 500 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 509, or installed from the storage means 508, or installed from the ROM 502. The computer program performs the above-described functions defined in the methods of the embodiments of the present disclosure when executed by the processing device 501.
It should be noted that the computer readable medium in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, 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 disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring single distribution weight and accumulated distribution weight of at least two objects of an allocable task; determining the current distribution weight of each object according to the single distribution weight and the accumulated distribution weight; and determining the distribution object of the current task according to the current distribution weight and the distribution rule of each object, wherein the distribution object is used for executing the current task.
Alternatively, the computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: receiving a node evaluation request comprising at least two internet protocol addresses; selecting an internet protocol address from the at least two internet protocol addresses; returning the selected internet protocol address; wherein the received internet protocol address indicates an edge node in the content distribution network.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of a unit does not in some cases constitute a limitation of the unit itself, for example, the first retrieving unit may also be described as a "unit for retrieving at least two internet protocol addresses".
EXAMPLE six
The sixth embodiment of the present disclosure further provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a task allocation apparatus, implements a task allocation method according to the first embodiment of the present disclosure, where the method includes: acquiring single distribution weight and accumulated distribution weight of at least two objects of an allocable task; determining the current distribution weight of each object according to the single distribution weight and the accumulated distribution weight; and determining the distribution object of the current task according to the current distribution weight and the distribution rule of each object, wherein the distribution object is used for executing the current task.
Of course, the computer program stored on the computer readable storage medium provided by the embodiments of the present disclosure is not limited to implement the method operations described above when being executed, and may also implement the relevant operations in the task allocation method provided by any embodiments of the present disclosure.
From the above description of the embodiments, it is obvious for a person skilled in the art that the present disclosure can be implemented by software and necessary general hardware, and certainly can be implemented by hardware, but in many cases, the former is a better embodiment. Based on such understanding, the technical solutions of the present disclosure may be embodied in the form of a software product, which may be stored in a computer-readable storage medium, such as a floppy disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a FLASH Memory (FLASH), a hard disk or an optical disk of a computer, and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute the methods according to the embodiments of the present disclosure.
It should be noted that, in the embodiment of the task allocation apparatus, the included units and modules are merely divided according to functional logic, but are not limited to the above division as long as the corresponding functions can be implemented; in addition, specific names of the functional units are only used for distinguishing one functional unit from another, and are not used for limiting the protection scope of the present disclosure.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present disclosure and the technical principles employed. Those skilled in the art will appreciate that the present disclosure is not limited to the particular embodiments described herein, and that various obvious changes, adaptations, and substitutions are possible, without departing from the scope of the present disclosure. Therefore, although the present disclosure has been described in greater detail with reference to the above embodiments, the present disclosure is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present disclosure, the scope of which is determined by the scope of the appended claims.

Claims (10)

1. A task allocation method, comprising:
acquiring single distribution weight and accumulated distribution weight of at least two objects of an allocable task;
determining the current distribution weight of each object according to the single distribution weight and the accumulated distribution weight;
and determining the distribution object of the current task according to the current distribution weight and the distribution rule of each object, wherein the distribution object is used for executing the current task.
2. The method of claim 1, wherein determining a current assigned weight for each of the objects based on the single assigned weight and the cumulative assigned weight comprises:
and performing preset rule operation on the single distribution weight and the cumulative distribution weight of each object, and determining an operation result as the current distribution weight of each object, wherein the preset rule operation is matched with the distribution rule.
3. The method of claim 1, wherein determining the assignment object for the current task based on the current assignment weight and the assignment rule for each of the objects comprises:
sorting the current distribution weights of the objects;
and determining an object corresponding to the current distribution weight in the preset sorting range in the sorting as a distribution object of the current task.
4. The method according to claim 3, wherein when the number of objects corresponding to the current assignment weight in the preset sorting range is greater than or equal to 2, the assignment object of the current task is determined according to the number of tasks already assigned to each object in a preset time period; alternatively, the first and second electrodes may be,
and determining the distribution object of the current task according to the single distribution weight of the object corresponding to the current distribution weight in the preset sequencing range.
5. The method of claim 1, wherein after determining the assignment object for the current task based on the current assignment weight and the assignment rule for each of the objects, further comprising:
and updating the cumulative distribution weight of each object after the current task is distributed based on the current distribution weight of each object and the distribution object of the current task.
6. The method of claim 5, wherein updating the cumulative distribution weight of each object after the current task is distributed based on the current distribution weight of each object and the distribution object of the current task comprises:
for the distribution object of the current task, performing difference according to the current distribution weight and the sum of the task weights, and updating the obtained difference value into the cumulative distribution weight of the distribution object, wherein the sum of the task weights is the sum of single distribution weights of at least two objects of the distributable task;
for other objects than the assigned object, updating the current assigned weight to the cumulative assigned weight of the other objects.
7. The method of claim 1, wherein obtaining a single assigned weight for at least two objects of an assignable task comprises:
determining the task category of the current task;
screening at least two objects capable of distributing the current task according to the task category, and acquiring single distribution weights of the at least two objects under the task category, wherein the single distribution weights are in direct proportion to the execution efficiency of the task type.
8. A task assigning apparatus, comprising:
the weight acquisition module is used for acquiring single distribution weights and accumulated distribution weights of at least two objects of the distributable task;
the current distribution weight determining module is used for determining the current distribution weight of each object according to the single distribution weight and the accumulated distribution weight;
and the distribution object determining module is used for determining a distribution object of the current task according to the current distribution weight and the distribution rule of each object, and the distribution object is used for executing the current task.
9. An electronic device, characterized in that the device comprises:
one or more processors;
a memory for storing one or more programs;
when executed by the one or more processors, cause the one or more processors to implement a task allocation method as recited in any one of claims 1-7.
10. A computer-readable storage medium, on which a computer program is stored, which program, when being executed by a processor, carries out a method for task allocation according to any one of claims 1 to 7.
CN201811594048.4A 2018-12-25 2018-12-25 Task allocation method and device, electronic equipment and storage medium Pending CN110618855A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811594048.4A CN110618855A (en) 2018-12-25 2018-12-25 Task allocation method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811594048.4A CN110618855A (en) 2018-12-25 2018-12-25 Task allocation method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN110618855A true CN110618855A (en) 2019-12-27

Family

ID=68920174

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811594048.4A Pending CN110618855A (en) 2018-12-25 2018-12-25 Task allocation method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN110618855A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948106A (en) * 2020-09-07 2021-06-11 深圳市明源云科技有限公司 Task allocation method and device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929718A (en) * 2012-09-17 2013-02-13 江苏九章计算机科技有限公司 Distributed GPU (graphics processing unit) computer system based on task scheduling
US20130268941A1 (en) * 2012-04-09 2013-10-10 Ludmila Cherkasova Determining an allocation of resources to assign to jobs of a program
US9183016B2 (en) * 2013-02-27 2015-11-10 Vmware, Inc. Adaptive task scheduling of Hadoop in a virtualized environment
CN106339802A (en) * 2016-08-24 2017-01-18 深圳市讯方技术股份有限公司 Task allocation method, task allocation device and electronic equipment
CN107229511A (en) * 2017-05-11 2017-10-03 东软集团股份有限公司 Cluster task equalization scheduling method, device, storage medium and electronic equipment
CN108537619A (en) * 2018-03-05 2018-09-14 新智数字科技有限公司 A kind of method for allocating tasks, device and equipment based on maximum-flow algorithm
CN108805397A (en) * 2018-04-24 2018-11-13 平安科技(深圳)有限公司 Electronic device, the method and storage medium for distributing task
CN108846544A (en) * 2018-04-27 2018-11-20 淘然视界(杭州)科技有限公司 A kind of distribution method and system of mark task

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130268941A1 (en) * 2012-04-09 2013-10-10 Ludmila Cherkasova Determining an allocation of resources to assign to jobs of a program
CN102929718A (en) * 2012-09-17 2013-02-13 江苏九章计算机科技有限公司 Distributed GPU (graphics processing unit) computer system based on task scheduling
US9183016B2 (en) * 2013-02-27 2015-11-10 Vmware, Inc. Adaptive task scheduling of Hadoop in a virtualized environment
CN106339802A (en) * 2016-08-24 2017-01-18 深圳市讯方技术股份有限公司 Task allocation method, task allocation device and electronic equipment
CN107229511A (en) * 2017-05-11 2017-10-03 东软集团股份有限公司 Cluster task equalization scheduling method, device, storage medium and electronic equipment
CN108537619A (en) * 2018-03-05 2018-09-14 新智数字科技有限公司 A kind of method for allocating tasks, device and equipment based on maximum-flow algorithm
CN108805397A (en) * 2018-04-24 2018-11-13 平安科技(深圳)有限公司 Electronic device, the method and storage medium for distributing task
CN108846544A (en) * 2018-04-27 2018-11-20 淘然视界(杭州)科技有限公司 A kind of distribution method and system of mark task

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948106A (en) * 2020-09-07 2021-06-11 深圳市明源云科技有限公司 Task allocation method and device

Similar Documents

Publication Publication Date Title
US11082357B2 (en) Facilitating dynamic hierarchical management of queue resources in an on-demand services environment
US8443373B2 (en) Efficient utilization of idle resources in a resource manager
US9887930B1 (en) Aggregating resource requests
CN111464659A (en) Node scheduling method, node pre-selection processing method, device, equipment and medium
US8869149B2 (en) Concurrency identification for processing of multistage workflows
CN113742114A (en) System current limiting method and device
CN111861225A (en) Task allocation method and device, electronic equipment and storage medium
CN116166395A (en) Task scheduling method, device, medium and electronic equipment
CN109783236B (en) Method and apparatus for outputting information
CN114035895A (en) Global load balancing method and device based on virtual service computing capacity
CN112130997B (en) Resource allocation method and device
CN110618855A (en) Task allocation method and device, electronic equipment and storage medium
CN113159628A (en) Task allocation method and device
CN112241319A (en) Method, electronic device and computer program product for balancing load
WO2013140412A1 (en) A method and system for distributed computing of jobs
CN115729645A (en) Micro-service configuration method and device, electronic equipment and readable storage medium
CN113918344A (en) Resource demand allocation method, device, equipment and computer readable medium
CN111694670B (en) Resource allocation method, apparatus, device and computer readable medium
CN111694672B (en) Resource allocation method, task submission method, device, electronic equipment and medium
WO2021068585A1 (en) Resource processing method and apparatus, electronic device, and medium
CN112561301A (en) Work order distribution method, device, equipment and computer readable medium
CN111427682A (en) Task allocation method, system, device and equipment
CN112148448B (en) Resource allocation method, apparatus, device and computer readable medium
CN110633142A (en) Block chain consensus method, management node, electronic device, and storage medium
CN115220910B (en) Resource scheduling method, device and equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination