Task allocation method and device, storage medium and computer equipment

By dynamically adjusting the case allocation strategy in the financial market, the problem that traditional distribution solutions cannot cope with market changes is solved, and workload balancing and efficient task allocation is achieved.

CN119886712APending Publication Date: 2025-04-25CHINA TELECOM BESTPAY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411996293.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

Traditional case allocation plans cannot respond to dynamic changes in the financial market in a timely manner, resulting in unstable operational efficiency and uneven distribution of workloads, which affects business processing results.

Method used

By obtaining the initial allocation strategy, the initial allocation task of the processing object is determined, and the preset target number is adjusted, and it is determined whether the adjusted task number meets the predetermined conditions until the target allocation strategy is determined.

Benefits of technology

It realizes flexible adjustment of distribution strategies to ensure balanced workload distribution and improves the efficiency of financial transaction operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119886712A_ABST
    Figure CN119886712A_ABST
Patent Text Reader

Abstract

The invention discloses a task allocation method and device, a storage medium and computer equipment. The method comprises the following steps: acquiring an initial allocation strategy for allocating to-be-allocated tasks to a plurality of processing objects; determining respective initial allocation tasks of the plurality of processing objects according to an initial allocation strategy; according to a preset target number of allocation tasks, sequentially adjusting the respective initial allocation tasks of the plurality of processing objects to obtain respective adjusted allocation tasks of the plurality of processing objects; judging whether the quantity of the adjusted distributed tasks of the plurality of processing objects meets a preset condition or not, and whether the task distribution frequency reaches a preset frequency or not; and under the condition that the conditions are met, determining a target allocation strategy. The technical problem of low financial transaction operation efficiency caused by market dynamic change and uneven workload is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of risk management, and in particular to a task allocation method, device, storage medium and computer equipment. Background Art

[0002] In the financial sector, the stability of operational efficiency and adaptability to market dynamics have always been the focus of the industry. However, traditional case allocation plans are often based on fixed rules and preset ratios. This rigid allocation model is powerless in the face of complex and changing financial markets. Due to the rapid changes in the market environment, such as adjustments to financial policies and fluctuations in economic conditions, the number, nature and difficulty of cases may change significantly. The traditional fixed allocation method cannot respond to these changes in a timely manner, resulting in unstable operational efficiency, which may affect task progress and increase operating costs. Secondly, with the continuous development of the financial market, the capabilities of business personnel, the characteristics of cases, and external factors are constantly changing. These changes may involve multiple aspects such as the skill level of business personnel, the risk level of cases, and the trading willingness of customers. Traditional allocation methods often fail to fully consider these factors, resulting in uneven distribution of workload among business personnel, which in turn affects the business processing effect.

[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention

[0004] Embodiments of the present invention provide a task allocation method, apparatus, storage medium and computer equipment to at least solve the technical problem of low efficiency of financial transaction operations caused by market dynamic changes and uneven workload.

[0005] According to one aspect of an embodiment of the present invention, a task allocation method is provided, comprising: obtaining an initial allocation strategy for allocating tasks to be allocated to multiple processing objects; determining the initial allocation tasks of each of the multiple processing objects according to the initial allocation strategy; adjusting the initial allocation tasks of each of the multiple processing objects in turn according to a preset target number of allocated tasks to obtain adjusted allocated tasks of each of the multiple processing objects; judging whether the number of adjusted allocated tasks of each of the multiple processing objects meets a predetermined condition, and judging whether the number of times the allocated tasks of the multiple processing objects are adjusted reaches a predetermined number; determining the target allocation strategy when the number of adjusted allocated tasks of each of the multiple processing objects meets the predetermined condition, or when the number of times the allocated tasks of the multiple processing objects are adjusted reaches a predetermined number.

[0006] Optionally, determining whether the number of adjusted assigned tasks for each of the multiple processing objects meets a predetermined condition includes: respectively determining the difference between the number of adjusted assigned tasks for each of the multiple processing objects and a target number to obtain multiple differences; and determining that the number of adjusted assigned tasks for each of the multiple processing objects meets the predetermined condition when the multiple differences are all within a predetermined range.

[0007] Optionally, according to a preset target number of assigned tasks, the initial assigned tasks of each of the multiple processing objects are adjusted in turn to obtain adjusted assigned tasks of each of the multiple processing objects, including: according to the target number, the initial assigned tasks of the target processing object are adjusted in the following manner to obtain the adjusted assigned tasks of the target processing object, and the adjusted assigned tasks of each of the multiple processing objects are determined in turn: tasks transferred out of other processing objects are received; the sum of the number of initial assigned tasks of the target processing object and the number of tasks transferred out of other processing objects is determined as the current assigned number; a target difference is determined by subtracting the target number from the current assigned number; when the target difference is less than a predetermined threshold, the target processing object is marked as an assignable object, and the adjusted assigned tasks of the target processing object are determined based on the initial assigned tasks of the target processing object and the tasks transferred out of other processing objects; when the target difference is greater than the predetermined threshold, the transferred tasks in the initial assigned tasks of the target processing object are assigned to the assignable processing objects, and the remaining tasks of the initial assigned tasks of the target processing object are used as the adjusted assigned tasks of the target processing object.

[0008] Optionally, the transferred tasks from the initial assigned tasks of the target processing object are assigned to the assignable processing objects, including: determining the current number of adjustments to the tasks of the target processing object; determining the current adjustment parameters based on the current number of adjustments and a pre-set initial adjustment parameter; rounding up the product of the current adjustment parameter and the target number to obtain the number of transferred tasks; and according to the number of transferred tasks, transferring the transferred tasks from the initial assigned tasks of the target processing object to the assignable processing objects.

[0009] Optionally, according to the number of transferred-out tasks, transferring-out tasks from the initial assigned tasks of the target processing object are transferred to the assignable processing objects, and also includes: obtaining priority information of each of multiple tasks included in the initial assigned tasks of the target processing object; determining the transfer-out tasks from the initial assigned tasks of the target processing object according to the priority information of each of the multiple tasks and the number of transferred-out tasks; and transferring the transfer-out tasks to the assignable processing objects.

[0010] Optionally, the initial allocation strategy is determined by the following steps: determining the correlation between any two tasks in the tasks to be allocated; dividing the tasks to be allocated into multiple groups of tasks according to the correlation between any two tasks in the tasks to be allocated; and respectively allocating the multiple groups of tasks to multiple processing objects.

[0011] According to another aspect of an embodiment of the present invention, a task allocation device is also provided, including: an initial strategy acquisition module, used to obtain an initial allocation strategy for allocating tasks to be allocated to multiple processing objects; an initial task allocation module, used to determine the initial allocation tasks of each of the multiple processing objects according to the initial allocation strategy; an allocation strategy adjustment module, used to adjust the initial allocation tasks of each of the multiple processing objects in turn according to a preset target number of allocation tasks, so as to obtain adjusted allocation tasks of each of the multiple processing objects; a termination condition judgment module, used to judge whether the number of adjusted allocation tasks of each of the multiple processing objects meets a predetermined condition, and judge whether the number of times the allocation tasks of the multiple processing objects are adjusted reaches a predetermined number; an allocation strategy determination module, used to determine the target allocation strategy when the number of adjusted allocation tasks of each of the multiple processing objects meets a predetermined condition, or when the number of times the allocation tasks of the multiple processing objects are adjusted reaches a predetermined number.

[0012] According to another aspect of an embodiment of the present invention, a non-volatile storage medium is provided, the non-volatile storage medium including a stored program, wherein when the program is running, the device where the non-volatile storage medium is located is controlled to execute any one of the above-mentioned task allocation methods.

[0013] According to another aspect of the embodiments of the present invention, a computer device is provided. The computer device includes a processor, and the processor is used to run a program. When the program is run, any one of the above-mentioned task allocation methods is executed.

[0014] According to yet another aspect of an embodiment of the present invention, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, any one of the above-mentioned task allocation methods is implemented.

[0015] In an embodiment of the present invention, a heuristic algorithm is used to dynamically allocate tasks. By obtaining an initial allocation strategy, the initial allocation tasks of each of the multiple processing objects are determined according to the initial allocation strategy. According to the target number of allocated tasks, the initial allocation tasks of the multiple processing objects are adjusted in turn, and it is determined whether the number of adjusted allocated tasks meets the predetermined conditions and whether the number of task allocations reaches the predetermined number. When the above conditions are met, the target allocation strategy is determined, so as to achieve the purpose of flexibly adjusting the allocation strategy and ensuring the balanced distribution of the workload, thereby realizing the technical effect of efficient and reasonable task allocation and improving the overall processing efficiency, and further solving the technical problem of low efficiency of financial transaction operations caused by dynamic market changes and uneven workload. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:

[0017] Figure 1 A hardware structure block diagram of a computer terminal for implementing a task allocation method is shown;

[0018] Figure 2 is a flowchart of a task allocation method provided according to an embodiment of the present invention;

[0019] Figure 3 is a schematic diagram of a specific case flow provided according to an embodiment of the present invention;

[0020] Figure 4 4 is a structural block diagram of a task allocation device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0021] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0022] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0023] According to an embodiment of the present invention, a method embodiment of task allocation is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0024] The method embodiment provided in the first embodiment of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Figure 1 FIG. 1 shows a hardware structure block diagram of a computer terminal for implementing a task allocation method. Figure 1 As shown, the computer terminal 10 may include one or more (102a, 102b, ..., 102n are used to illustrate) processors (the processor may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 104 for storing data. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the BUS bus), a network interface, a power supply and / or a camera. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.

[0025] It should be noted that the one or more processors and / or other data processing circuits described above may generally be referred to herein as "data processing circuits". The data processing circuits may be embodied in whole or in part as software, hardware, firmware, or any other combination thereof. In addition, the data processing circuit may be a single independent processing module, or may be incorporated in whole or in part into any of the other components in the computer terminal 10. As described in the embodiments of the present application, the data processing circuit acts as a processor control (e.g., selection of a variable resistor terminal path connected to an interface).

[0026] The memory 104 can be used to store software programs and modules of application software, such as program instructions / data storage devices corresponding to the task allocation method in the embodiment of the present invention. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, the task allocation method of the above-mentioned application program is realized. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor, and these remote memories may be connected to the computer terminal 10 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0027] The display may be, for example, a touch screen liquid crystal display (LCD) that enables a user to interact with a user interface of the computer terminal 10 .

[0028] Figure 2 is a flowchart of a task allocation method according to an embodiment of the present invention. Figure 2 As shown, the method comprises the following steps:

[0029] Step S201, obtaining an initial allocation strategy for allocating tasks to be allocated to multiple processing objects;

[0030] In this step, an initial allocation strategy is pre-set based on the collected task information and the analysis results of the processing objects, for example, all tasks are evenly allocated to each processing object.

[0031] Step S202, determining initial allocation tasks for each of the multiple processing objects according to the initial allocation strategy;

[0032] In this step, before starting the dynamic task allocation, the task list is initialized first, and an empty task list is created for each processing object. If the processing object has unfinished tasks in the original task list, the task is added to the new task list; then according to the initial allocation strategy, the tasks are initially allocated to each processing object as the basis for subsequent task allocation adjustments. In the financial field, the task to be allocated can be a certain financial business, and the processing object can be a business person in the financial industry. For example, the task to be allocated can be a credit collection business, and the processing object can be a collection person.

[0033] Step S203, adjusting the initial assigned tasks of the plurality of processing objects in turn according to the preset target number of assigned tasks, to obtain the adjusted assigned tasks of the plurality of processing objects;

[0034] In this step, the pre-set target number of assigned tasks is the dynamically adjusted target benchmark. Through multiple iterative processing, in each iteration, the tasks of each processing object are adjusted one by one, and the tasks of business personnel with high workloads are transferred to business personnel with low workloads. After completing one traversal, the next round of iterative adjustment is carried out. In this way, the number of tasks assigned to each processing object after allocation can be as close to its target number as possible.

[0035] Step S204, determining whether the number of the respective adjusted assigned tasks of the plurality of processing objects meets a predetermined condition, and determining whether the number of times the assigned tasks of the plurality of processing objects are adjusted reaches a predetermined number;

[0036] In this step, the number of iterations and the accuracy of task allocation in step S203 can be limited. Due to the limitations of computing power and time costs, the iteration is terminated when the workload of all processing objects is within an acceptable range, or when the predetermined number of iterations or time limit is reached.

[0037] Step S205 , when the number of the respective adjusted assigned tasks of the plurality of processing objects meets a predetermined condition, or when the number of times the assigned tasks of the plurality of processing objects are adjusted reaches a predetermined number, a target allocation strategy is determined.

[0038] In this step, if any of the above conditions is met, that is, the number of tasks is balanced or the maximum number of adjustments is reached, the system considers that a relatively optimal allocation strategy has been found, stops further adjustments, and applies the final allocation strategy to the actual task allocation.

[0039] Through the above steps, the purpose of flexibly adjusting the allocation strategy and ensuring balanced distribution of workload is achieved, thereby realizing efficient and reasonable task allocation and improving the technical effect of overall processing efficiency, thereby solving the technical problem of low efficiency of financial transaction operations caused by market dynamics and uneven workload.

[0040] As an optional embodiment, it can be achieved through the following steps: judging whether the number of adjusted assigned tasks of each of the multiple processing objects meets the predetermined conditions, including: respectively determining the difference between the number of adjusted assigned tasks of each of the multiple processing objects and the target number to obtain multiple differences; when the multiple differences are all within a predetermined range, determining that the number of adjusted assigned tasks of each of the multiple processing objects meets the predetermined conditions.

[0041] Optionally, at each iteration or after a certain period of time, the workload of each processing object is updated according to the case allocation situation. For each processing object, the difference between the number of currently assigned tasks and the preset target number is calculated, i.e., the workload difference. Multiple workload differences are compared with a preset threshold. If all of them are less than the preset threshold, it is considered that the adjusted number of assigned tasks of each of the multiple processing objects meets the predetermined condition. The preset threshold represents the tolerable error range between the actual number of assigned tasks and the target number of tasks.

[0042] As an optional embodiment, it can be achieved through the following steps: according to a preset target number of assigned tasks, the initial assigned tasks of each of the multiple processing objects are adjusted in turn to obtain the adjusted assigned tasks of each of the multiple processing objects, including: according to the target number, the initial assigned tasks of the target processing object are adjusted in the following manner to obtain the adjusted assigned tasks of the target processing object, and the adjusted assigned tasks of each of the multiple processing objects are determined in turn: receiving tasks transferred out of other processing objects; determining the sum of the number of initial assigned tasks of the target processing object and the number of tasks transferred out of other processing objects as the current assigned number; determining a target difference obtained by subtracting the target number from the current assigned number; when the target difference is less than a predetermined threshold, marking the target processing object as an assignable object, and determining the adjusted assigned tasks of the target processing object based on the initial assigned tasks of the target processing object and the tasks transferred out of other processing objects; when the target difference is greater than a predetermined threshold, assigning the transferred tasks in the initial assigned tasks of the target processing object to the assignable processing objects, and using the remaining tasks of the initial assigned tasks of the target processing object as the adjusted assigned tasks of the target processing object.

[0043] Optionally, for each target processing object j, the current workload Current_Load_j is first calculated, and the previous workload is equal to the sum of the number of initially assigned tasks of the target processing object and the number of tasks transferred from other processing objects. Then the difference Difference_j between its current workload Current_Load_j and the target workload Target_Load_j is calculated. If the difference Difference_j is less than a predetermined threshold, such as Difference_j is negative, it means that the workload of the target processing object j is too light, and it is necessary to transfer cases from other processing objects to the target processing object j. At this time, the target processing object is marked as an assignable object, and the number of transferred tasks is calculated by Cases_To_Add_Or_Remove=Adjustment_Factor×Difference_j. The result of this calculation formula may be a decimal. In order to make the number of tasks of the target processing object after adjustment not exceed the target number, the calculation result is rounded down to obtain the number of transferred tasks. If the difference Difference_j is greater than the predetermined threshold, such as Difference_j is positive, it means that the workload of the target processing object j is too heavy, and it is necessary to transfer cases from the target processing object j to other processing objects.

[0044] As an optional embodiment, it can be achieved through the following steps: transferring tasks from the initial assigned tasks of the target processing object to the assignable processing objects, including: determining the current number of adjustments to the tasks of the target processing object; determining the current adjustment parameters based on the current number of adjustments and the pre-set initial adjustment parameters; rounding up the product of the current adjustment parameters and the target number to obtain the number of transferred tasks; and according to the number of transferred tasks, transferring tasks from the initial assigned tasks of the target processing object to the assignable processing objects.

[0045] Optionally, first, it is necessary to obtain the number of adjustments t, that is, the number of iterations, for the current task of the target processing object. This variable is a natural number. Secondly, according to the number of adjustments t, the preset initial adjustment factor Initial_AF and the decay rate Decay_Rate, the current adjustment factor Adjustment_Factor is calculated. The calculation method is Adjustment_Factor = Initial_AF × (1-Decay_Rate) t . As the iterations proceed, the adjustment factor will gradually decrease, which means that the number of cases adjusted each time will also gradually decrease, making the allocation more stable. The number of tasks transferred is calculated by Cases_To_Add_Or_Remove = Adjustment_Factor × Difference_j. The result of this calculation may be a decimal. To ensure that all tasks can be assigned, the calculation result is rounded up to obtain the number of transferred tasks. Finally, according to the transfer-out strategy formulated in the previous step, the current tasks are reallocated, and the transferred-out tasks in the initial assigned tasks of the target processing object are assigned to the assignable processing objects.

[0046] As an optional embodiment, it can be achieved through the following steps: according to the number of transferred-out tasks, transferring the transferred-out tasks in the initial assigned tasks of the target processing object to the assignable processing objects, and also including: obtaining the priority information of each of the multiple tasks included in the initial assigned tasks of the target processing object; determining the transferred-out tasks in the initial assigned tasks of the target processing object according to the priority information of each of the multiple tasks and the number of transferred-out tasks; and transferring the transferred-out tasks to the assignable processing objects.

[0047] Optionally, when determining the transfer-out tasks and assigning the transfer-out tasks to the assignable processing objects, first, for each task in the initial assigned tasks of the target processing object, its priority information, such as urgency, customer credit rating, etc., can be obtained by querying the database or other means. Secondly, based on the priority of each task and the number of tasks that need to be transferred out, tasks with lower or higher priorities are preferentially selected for transfer out. The specific strategy for selecting transfer-out tasks based on priority can be formulated by relevant personnel such as system administrators. Finally, the transfer-out tasks determined according to the transfer-out strategy are assigned to the assignable processing objects, while considering the work capacity of the recipient and the current task load to ensure reasonable allocation.

[0048] As an optional embodiment, it can be implemented through the following steps: the initial allocation strategy is determined by the following steps: determining the correlation between any two tasks in the tasks to be allocated; dividing the tasks to be allocated into multiple groups of tasks according to the correlation between any two tasks in the tasks to be allocated; and respectively allocating the multiple groups of tasks to multiple processing objects.

[0049] Optionally, before the task allocation method starts to be executed, task binding and task group generation may be performed. First, a data structure containing all the tasks to be assigned is required, such as a list or a database. The data structure contains all the information of each task, such as the task amount, the urgency of the task, and the correlation with other tasks, etc. Among them, the task correlation is related to the corresponding project, customer, region, etc. of the task. For example, tasks belonging to the same customer have strong correlation. Secondly, all the tasks to be assigned are traversed, and the tasks with strong correlation are bound. The number of tasks and the total amount of the bound task group are calculated in real time. Finally, for the multiple task groups generated in the previous step, the task list, the total number of tasks and the total amount contained in them are generated, and the above multiple task groups are allocated to multiple processing objects according to a certain strategy. For example, when the number of processing objects is less than or equal to the number of task groups, the task groups are evenly allocated to each processing object. When the number of processing objects is greater than the number of task groups, the task groups are first allocated one-to-one to the processing objects, and then the task groups with a large number of tasks and weak correlation are split and allocated to the processing objects that have not been assigned tasks. In the case of a small number of tasks, it is allowed that there are processing objects that are not assigned task groups, mainly to ensure that all tasks included in a task group are assigned to the same person as much as possible.

[0050] As a specific embodiment, it can be implemented by the following steps:

[0051] First, define the processing objects, that is, the number of business personnel, initialize the case list, and determine the workload. Assume that financial company A has 100 business personnel, create an empty case list for each business personnel, at this time all cases are unassigned, and set the target workload of each business personnel to 5 cases.

[0052] Secondly, calculate the adjustment factor. In the first iteration, the parameters need to be initialized, the initial adjustment factor Initial_AF is set to 0.5, the decay rate Decay_Rate is set to 0.1, and the time variable t is set to 0. In each iteration, the adjustment factor Adjustment_Factor = Initial_AF × (1-Decay_Rate) is calculated t , for example, at the initial Adjustment Factor =0.5×(1-0.1) 0 =0.5.

[0053] Then, assign or remove cases. Traverse each business person, and for each business person j (j ranges from 1 to 100), perform the following steps: Calculate the difference between the current workload and the target workload Difference_j = Current_Load_j-Target_Load_j, where Current_Load_j is the current workload of business person j, that is, the number of cases, and Target_Load_j is the target workload, which is 5 cases here; If Difference_j>0, that is, business person j's workload is too heavy, remove Cases_To_Add_Or_Remove from business person j's case list Cases are transferred from the business personnel with a heavier workload to business personnel j, where Cases_To_Add_Or_Remove = round up (Adjustment_Factor*Difference_j). When transferring cases, the system considers the dependencies and priorities between cases. For example, if two cases involve the same customer, they should be assigned to the same business personnel. In addition, the system gives priority to cases that are overdue for a long time.

[0054] Finally, the above process is iterated and updated to determine the termination conditions and determine the task allocation plan. After each iteration or after a certain period of time, the workload of each business person is updated according to the case allocation situation, and the adjustment factor is recalculated. Due to the effect of the attenuation factor, the adjustment factor gradually decreases with the increase of the number of iterations t. When the workload of all business personnel is within an acceptable range, such as the difference with the average workload is within ±1 case, or when the predetermined number of iterations (such as 100 times) or time limit (such as 1 hour) is reached, the iteration is terminated and the current plan is used as the final task allocation plan.

[0055] Figure 3 is a schematic diagram of a specific case flow according to an embodiment of the present invention, such as Figure 3 As shown, firstly, the order cases are merged and initially allocated; the initial adjustment factor, decay rate and time variable are set, the adjustment factor is calculated, the workload is updated, the difference between the actual and target workloads is calculated for each business person, the number of transferred cases is calculated and the transfer operation is performed; the termination condition is checked, if the workload of all business persons is within an acceptable range or reaches the predetermined number of iterations, the iteration is terminated, otherwise the adjustment factor is calculated and the next round of iterative adjustment is entered.

[0056] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should know that the present invention is not limited by the described action sequence, because according to the present invention, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.

[0057] Through the description of the above implementation methods, those skilled in the art can clearly understand that the task allocation method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present invention.

[0058] According to an embodiment of the present invention, a task allocation device for implementing the above task allocation method is also provided. Figure 4 is a structural block diagram of a task allocation device provided according to an embodiment of the present invention. Figure 4As shown, the task allocation device includes: an initial strategy acquisition module 41, an initial task allocation module 42, an allocation strategy adjustment module 43, a termination condition judgment module 44 and an allocation strategy determination module 45. The task allocation device is described below.

[0059] An initial strategy acquisition module 41 is used to acquire an initial allocation strategy for allocating tasks to be allocated to multiple processing objects;

[0060] An initial task allocation module 42, configured to determine initial allocation tasks for each of the plurality of processing objects according to the initial allocation strategy;

[0061] An allocation strategy adjustment module 43 is used to adjust the initial allocation tasks of each of the plurality of processing objects in turn according to a preset target number of allocation tasks to obtain adjusted allocation tasks of each of the plurality of processing objects;

[0062] The termination condition judgment module 44 is used to judge whether the number of the adjusted assigned tasks of the plurality of processing objects meets a predetermined condition, and to judge whether the number of times the assigned tasks of the plurality of processing objects are adjusted reaches a predetermined number;

[0063] The allocation strategy determination module 4 is used to determine the target allocation strategy when the number of the adjusted allocated tasks of the plurality of processing objects meets a predetermined condition, or when the number of times the allocated tasks of the plurality of processing objects are adjusted reaches a predetermined number.

[0064] It should be noted that the above-mentioned initial strategy acquisition module 41, initial task allocation module 42, allocation strategy adjustment module 43, termination condition judgment module 44 and allocation strategy determination module 45 correspond to steps S201 to S205 in the embodiment, and the examples and application scenarios implemented by the multiple modules and the corresponding steps are the same, but are not limited to the contents disclosed in the above-mentioned embodiment. It should be noted that the above-mentioned modules as part of the device can be run in the computer terminal 10 provided in the embodiment.

[0065] An embodiment of the present invention may provide a computer device. Optionally, in this embodiment, the computer device may be located in at least one network device among multiple network devices of a computer network. The computer device includes a memory and a processor.

[0066] Among them, the memory can be used to store software programs and modules, such as the program instructions / modules corresponding to the task allocation method and device in the embodiment of the present invention. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, that is, realizing the above-mentioned task allocation method. The memory may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include a memory remotely arranged relative to the processor, and these remote memories may be connected to the computer terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0067] The processor can call the information and application programs stored in the memory through the transmission device to execute the following steps: obtain an initial allocation strategy for allocating the tasks to be allocated to multiple processing objects; determine the initial allocation tasks of each of the multiple processing objects according to the initial allocation strategy; adjust the initial allocation tasks of each of the multiple processing objects in turn according to the preset target number of allocation tasks to obtain the adjusted allocation tasks of each of the multiple processing objects; determine whether the number of adjusted allocation tasks of each of the multiple processing objects meets the predetermined conditions, and determine whether the number of times the allocation tasks of the multiple processing objects are adjusted reaches the predetermined number; when the number of adjusted allocation tasks of each of the multiple processing objects meets the predetermined conditions, or when the number of times the allocation tasks of the multiple processing objects are adjusted reaches the predetermined number, determine the target allocation strategy.

[0068] Optionally, the processor may also execute program code for the following steps: determining whether the number of adjusted assigned tasks for each of the multiple processing objects meets predetermined conditions, including: respectively determining the difference between the number of adjusted assigned tasks for each of the multiple processing objects and the target number to obtain multiple differences; and when the multiple differences are all within a predetermined range, determining that the number of adjusted assigned tasks for each of the multiple processing objects meets the predetermined conditions.

[0069] Optionally, the processor may also execute program code for the following steps: adjusting the initial allocated tasks of multiple processing objects in turn according to a preset target number of allocated tasks to obtain adjusted allocated tasks for each of the multiple processing objects, including: determining the adjusted allocated tasks for each of the multiple processing objects in turn in the following manner to adjust the initial allocated tasks of the target processing object according to the target number: receiving tasks transferred out of other processing objects; determining the sum of the number of initial allocated tasks of the target processing object and the number of tasks transferred out of other processing objects as the current allocated number; determining a target difference obtained by subtracting the target number from the current allocated number; when the target difference is less than a predetermined threshold, marking the target processing object as an allocatable object, and determining the adjusted allocated tasks for the target processing object based on the initial allocated tasks of the target processing object and the tasks transferred out of other processing objects; when the target difference is greater than a predetermined threshold, allocating the transferred tasks in the initial allocated tasks of the target processing object to the allocatable processing objects, and using the remaining tasks of the initial allocated tasks of the target processing object as the adjusted allocated tasks of the target processing object.

[0070] Optionally, the processor may also execute program code for the following steps: allocating the transferred tasks from the initial assigned tasks of the target processing object to the assignable processing objects, including: determining the current number of adjustments to the tasks of the target processing object; determining the current adjustment parameters based on the current number of adjustments and the pre-set initial adjustment parameters; rounding up the product of the current adjustment parameters and the target number to obtain the number of transferred tasks; and allocating the transferred tasks from the initial assigned tasks of the target processing object to the assignable processing objects based on the number of transferred tasks.

[0071] Optionally, the processor may also execute the program code of the following steps: allocating the transferred-out tasks in the initial assigned tasks of the target processing object to the assignable processing objects according to the number of transferred-out tasks, and also including: obtaining the priority information of each of the multiple tasks included in the initial assigned tasks of the target processing object; determining the transferred-out tasks in the initial assigned tasks of the target processing object according to the priority information of each of the multiple tasks and the number of transferred-out tasks; and allocating the transferred-out tasks to the assignable processing objects.

[0072] Optionally, the processor may also execute program code of the following steps: the initial allocation strategy is determined by the following steps: determining the correlation between any two tasks among the tasks to be allocated; dividing the tasks to be allocated into multiple groups of tasks according to the correlation between any two tasks among the tasks to be allocated; and respectively allocating the multiple groups of tasks to multiple processing objects.

[0073] By adopting the embodiment of the present invention, a scheme for task allocation is provided. By obtaining an initial allocation strategy, determining the initial allocation tasks of each of the multiple processing objects according to the initial allocation strategy, adjusting the initial allocation tasks of each of the multiple processing objects in turn according to the target number of the allocation tasks, judging whether the number of the adjusted allocation tasks meets the predetermined conditions, and whether the number of task allocations reaches the predetermined number, determining the target allocation strategy when the above conditions are met, achieving the purpose of flexibly adjusting the allocation strategy and ensuring balanced distribution of workload, thereby solving the technical problem of low efficiency of financial transaction operations caused by market dynamic changes and uneven workload in the related technology.

[0074] A person of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing the hardware related to the terminal device through a program, and the program can be stored in a non-volatile storage medium, and the storage medium may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0075] The embodiment of the present invention further provides a non-volatile storage medium. Optionally, in this embodiment, the non-volatile storage medium can be used to store the program code executed by the task allocation method provided in the above embodiment.

[0076] Optionally, in this embodiment, the non-volatile storage medium may be located in any computer terminal in a computer terminal group in a computer network, or in any mobile terminal in a mobile terminal group.

[0077] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for executing the following steps: obtaining an initial allocation strategy for allocating tasks to be allocated to multiple processing objects; determining the initial allocation tasks of each of the multiple processing objects according to the initial allocation strategy; adjusting the initial allocation tasks of each of the multiple processing objects in turn according to a preset target number of allocated tasks to obtain adjusted allocated tasks of each of the multiple processing objects; determining whether the number of adjusted allocated tasks of each of the multiple processing objects meets a predetermined condition, and determining whether the number of times the allocated tasks of the multiple processing objects are adjusted reaches a predetermined number; determining the target allocation strategy when the number of adjusted allocated tasks of each of the multiple processing objects meets the predetermined condition, or when the number of times the allocated tasks of the multiple processing objects are adjusted reaches a predetermined number.

[0078] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for executing the following steps: determining whether the number of adjusted assigned tasks of each of the multiple processing objects meets a predetermined condition, including: respectively determining the difference between the number of adjusted assigned tasks of each of the multiple processing objects and the target number to obtain multiple differences; when the multiple differences are all within a predetermined range, determining that the number of adjusted assigned tasks of each of the multiple processing objects meets the predetermined condition.

[0079] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for executing the following steps: according to a preset target number of assigned tasks, adjusting the initial assigned tasks of multiple processing objects in sequence to obtain adjusted assigned tasks of each of the multiple processing objects, including: according to the target number, adjusting the initial assigned tasks of the target processing object in the following manner to obtain the adjusted assigned tasks of the target processing object, and determining the adjusted assigned tasks of each of the multiple processing objects in sequence: receiving tasks transferred out of other processing objects; determining the sum of the number of initial assigned tasks of the target processing object and the number of tasks transferred out of the other processing objects as the current assigned number; determining a target difference obtained by subtracting the target number from the current assigned number; when the target difference is less than a predetermined threshold, marking the target processing object as an assignable object, and determining the adjusted assigned tasks of the target processing object based on the initial assigned tasks of the target processing object and the tasks transferred out of the other processing objects; when the target difference is greater than a predetermined threshold, assigning the transferred tasks in the initial assigned tasks of the target processing object to the assignable processing objects, and using the remaining tasks of the initial assigned tasks of the target processing object as the adjusted assigned tasks of the target processing object.

[0080] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for executing the following steps: allocating the transferred tasks from the initial assigned tasks of the target processing object to the allocable processing objects, including: determining the current number of adjustments to the tasks of the target processing object; determining the current adjustment parameter based on the current number of adjustments and a pre-set initial adjustment parameter; rounding up the product of the current adjustment parameter and the target number to obtain the number of transferred tasks; and allocating the transferred tasks from the initial assigned tasks of the target processing object to the allocable processing objects based on the number of transferred tasks.

[0081] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for executing the following steps: allocating the transferred-out tasks in the initial assigned tasks of the target processing object to the allocable processing objects based on the number of transferred-out tasks, and also includes: obtaining the priority information of each of the multiple tasks included in the initial assigned tasks of the target processing object; determining the transferred-out tasks in the initial assigned tasks of the target processing object based on the priority information of each of the multiple tasks and the number of transferred-out tasks; and allocating the transferred-out tasks to the allocable processing objects.

[0082] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for executing the following steps: the initial allocation strategy is determined by the following steps: determining the correlation between any two tasks in the tasks to be assigned; dividing the tasks to be assigned into multiple groups of tasks according to the correlation between any two tasks in the tasks to be assigned; and respectively allocating the multiple groups of tasks to multiple processing objects.

[0083] An embodiment of the present invention further provides a computer program product, including a computer program, which implements the steps of the task allocation method in each embodiment of the present application when the computer program is executed by a processor.

[0084] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.

[0085] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0086] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

[0087] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0088] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0089] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a non-volatile storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes.

[0090] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A task allocation method, characterized in that: include: Obtaining an initial allocation strategy for allocating tasks to be allocated to multiple processing objects; Determining the initial allocation tasks of each of the plurality of processing objects according to the initial allocation strategy; According to a preset target number of assigned tasks, respectively, the initial assigned tasks of the plurality of processing objects are adjusted in sequence to obtain respectively adjusted assigned tasks of the plurality of processing objects; Determining whether the number of the adjusted assigned tasks of each of the plurality of processing objects meets a predetermined condition, and determining whether the number of times the assigned tasks of the plurality of processing objects are adjusted reaches a predetermined number; When the number of the respectively adjusted assigned tasks of the plurality of processing objects satisfies a predetermined condition, or when the number of times the assigned tasks of the plurality of processing objects are adjusted reaches a predetermined number, a target assignment strategy is determined.

2. The method according to claim 1, characterized in that The determining whether the adjusted number of assigned tasks of each of the plurality of processing objects meets a predetermined condition comprises: respectively determining the difference between the number of the adjusted assigned tasks of each of the plurality of processing objects and the target number to obtain a plurality of difference values; When the plurality of difference values ​​are all within a predetermined range, it is determined that the adjusted numbers of the assigned tasks of the plurality of processing objects meet a predetermined condition.

3. The method according to claim 1, characterized in that The step of adjusting the respective initial assigned tasks of the plurality of processing objects in sequence according to the preset target number of assigned tasks to obtain the respective adjusted assigned tasks of the plurality of processing objects comprises: According to the target quantity, the following method is adopted to adjust the initial allocation task of the target processing object to obtain the adjusted allocation task of the target processing object, and the adjusted allocation tasks of each of the multiple processing objects are determined in sequence: Receive tasks transferred from other processing objects; Determine the sum of the number of initially allocated tasks of the target processing object and the number of tasks transferred from other processing objects as the current allocated number; Determine a target difference value obtained by subtracting the target quantity from the current allocated quantity; In the case where the target difference is less than a predetermined threshold, marking the target processing object as an assignable object, and determining the adjusted assigned task of the target processing object according to the initial assigned task of the target processing object and the tasks transferred out of the other processing objects; When the target difference is greater than the predetermined threshold, the transferred tasks in the initial assigned tasks of the target processing object are assigned to the assignable processing objects, and the remaining tasks of the initial assigned tasks of the target processing object are used as the adjusted assigned tasks of the target processing object.

4. The method according to claim 3, characterized in that The step of allocating the transferred tasks from the initially allocated tasks of the target processing object to the allocable processing objects includes: Determine the current number of adjustments to be made to the task of the target processing object; Determining a current adjustment parameter according to the current adjustment number and a preset initial adjustment parameter; The product of the current adjustment parameter and the target quantity is rounded up to obtain the quantity of the transfer-out tasks; According to the number of the transferred-out tasks, the transferred-out tasks in the initial assigned tasks of the target processing object are allocated to the assignable processing objects.

5. The method according to claim 4, characterized in that The step of allocating the transferred tasks from the initial allocated tasks of the target processing object to the assignable processing object according to the number of the transferred tasks further includes: Obtaining priority information of each of a plurality of tasks included in the initial assigned tasks of the target processing object; Determining the transfer-out tasks in the initial assigned tasks of the target processing object according to the priority information of each of the plurality of tasks and the number of the transfer-out tasks; The transfer-out task is assigned to the assignable processing object.

6. The method according to claim 1, characterized in that The initial allocation strategy is determined by the following steps: Determine the correlation between any two tasks among the tasks to be assigned; According to the correlation between any two tasks among the tasks to be assigned, the tasks to be assigned are divided into multiple groups of tasks; The plurality of groups of tasks are respectively allocated to the plurality of processing objects.

7. A task allocation device, characterized in that: include: An initial strategy acquisition module, used to acquire an initial allocation strategy for allocating tasks to be allocated to multiple processing objects; An initial task allocation module, used to determine the initial allocation tasks of each of the plurality of processing objects according to the initial allocation strategy; An allocation strategy adjustment module, used to adjust the initial allocation tasks of each of the plurality of processing objects in turn according to a preset target number of allocation tasks, to obtain adjusted allocation tasks of each of the plurality of processing objects; A termination condition judgment module, used to judge whether the number of the adjusted assigned tasks of each of the plurality of processing objects meets a predetermined condition, and to judge whether the number of times the assigned tasks of the plurality of processing objects are adjusted reaches a predetermined number; The allocation strategy determination module is used to determine the target allocation strategy when the number of the adjusted allocated tasks of the multiple processing objects meets the predetermined condition, or when the number of times the allocated tasks of the multiple processing objects are adjusted reaches a predetermined number.

8. A non-volatile storage medium, characterized in that: The non-volatile storage medium includes a stored program, wherein when the program is executed, the device where the non-volatile storage medium is located is controlled to execute the task allocation method according to any one of claims 1 to 6.

9. A computer device, characterized in that: include: Memory and processor, The memory stores a computer program; The processor is used to execute the computer program stored in the memory, and when the computer program is run, the processor executes the task allocation method according to any one of claims 1 to 6.

10. A computer program product comprising computer instructions, characterized in that: The computer instructions are executed by a processor to implement the task allocation method described in any one of claims 1 to 6.