Task scheduling method and device, computer equipment, storage medium and program product

By monitoring the backlog of tasks in the task pool within the distributed business system and implementing migration strategies based on timeliness, tasks are migrated from the low-timeliness pool to the high-timeliness pool, thus resolving the task backlog problem and achieving timely task processing and system stability.

CN120975436APending Publication Date: 2025-11-18湖南长银五八消费金融股份有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510992413.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-18
Publication Date
2025-11-18

AI Technical Summary

Technical Problem

In distributed business systems, existing task scheduling methods are inefficient, leading to task backlog and untimely processing, which affects the stability of the business system, especially in time-sensitive business scenarios where the best processing opportunity may be missed.

Method used

By monitoring the backlog of tasks in the task pool, the task types are determined and migration strategies are matched according to the task timeliness. Backlogged tasks are migrated from the low-timeliness task pool to the high-timeliness task pool, and tasks are dynamically scheduled to avoid accumulation. The migration strategy is triggered by time points and countdowns, and forced allocation is implemented in the highest timeliness task pool.

Benefits of technology

It improved the timeliness and overall efficiency of task processing, reduced the risk of untimely task processing, and ensured the stability of the business system and the efficiency of handling urgent tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120975436A_ABST
    Figure CN120975436A_ABST
Patent Text Reader

Abstract

The invention relates to a task scheduling method and device, computer equipment, a storage medium and a computer program product. The method comprises the following steps: in response to backlog task monitoring events triggered for a plurality of task pools, determining respective task types of the task pools; each task type has different task timeliness; for each task pool, determining a task migration strategy matched with the task type under the condition that the task type corresponding to the task pool has an upper-level task type; the task timeliness of the upper-level task type is higher than that of the task type; if it is determined that the to-be-migrated task meeting the task backlog condition exists in the task pool according to the task migration strategy, the to-be-migrated task is transferred from the task pool to a target migration task pool corresponding to the upper-level task type. By adopting the method, the task processing efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of task processing, and in particular to a task scheduling method and device, computer equipment, a storage medium and a computer program product. BACKGROUND

[0002] With the gradual expansion of the business scale in the business scenario, the current business system usually adopts large-scale distributed architecture deployment in order to process the increasing massive tasks of the business system.

[0003] In the business system deployed in a distributed architecture, task scheduling is a key technology that can improve the task processing efficiency of the business system. At present, when performing task scheduling, the tasks to be processed are usually allocated to the corresponding task execution objects depending on human experience, or the common task scheduling algorithm is used for task scheduling, such as using the KM algorithm to allocate tasks in batches at a fixed time every day.

[0004] However, the allocation efficiency of the task scheduling method depending on human experience is low and the error rate is high. In a time-sensitive business scenario, manual task allocation is likely to cause the task to miss the best processing opportunity. For example, in the electric sales business scenario, the average time consumed by manual task allocation is 8.7 minutes, which is likely to miss the best communication period for communication with customers. And the task scheduling by the task scheduling algorithm is likely to cause task backlog, affecting the task processing efficiency. SUMMARY

[0005] Therefore, it is necessary to provide a task scheduling method, device, computer equipment, computer readable storage medium and computer program product capable of improving the task processing efficiency in view of the above technical problems.

[0006] In a first aspect, the present application provides a task scheduling method. The method comprises:

[0007] In response to a backlog task monitoring event triggered for a plurality of task pools, determining the task type of each of the task pools; each of the task types has different task timeliness;

[0008] For each of the task pools, if there is a higher-level task type corresponding to the task type, determining a task migration strategy matched with the task type; the task timeliness of the higher-level task type is higher than that of the task type;

[0009] If there is a to-be-migrated task satisfying the task backlog condition in the task pool according to the task migration strategy, the to-be-migrated task is transferred from the task pool to a target migration task pool corresponding to the higher-level task type.

[0010] In a second aspect, the present application also provides a task scheduling apparatus. The apparatus comprises:

[0011] an event response module configured to determine a respective task type of each of the plurality of task pools in response to a backlog task monitoring event triggered for the plurality of task pools, wherein each of the task types has a different task time limit;

[0012] a migration strategy determination module configured to determine, for each of the plurality of task pools, a task migration strategy matching the task type of the task pool in a case where there is a higher-level task type of the task type, wherein the task time limit of the higher-level task type is higher than the task time limit of the task type;

[0013] a task migration module configured to transfer, if there is a to-be-migrated task satisfying a task backlog condition in the task pool according to the task migration strategy, the to-be-migrated task from the task pool to a target migration task pool corresponding to the higher-level task type.

[0014] In a third aspect, the present application also provides a computer device. The computer device comprises a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the task scheduling method when executing the computer program.

[0015] In a fourth aspect, the present application also provides a computer readable storage medium. The computer readable storage medium stores a computer program, and the computer program implements the steps of the task scheduling method when executed by a processor.

[0016] The task scheduling method, apparatus, computer device, storage medium and computer program product can determine a respective task type of each of the plurality of task pools in response to a backlog task monitoring event triggered for the plurality of task pools, wherein each of the task types has a different task time limit, determine, for each of the plurality of task pools, a task migration strategy matching the task type of the task pool in a case where there is a higher-level task type of the task type, and transfer, if there is a to-be-migrated task satisfying a task backlog condition in the task pool according to the task migration strategy, the to-be-migrated task from the task pool to a target migration task pool corresponding to the higher-level task type. Through backlog task monitoring for each of the plurality of task pools, the task pool having a backlog task can be determined in time, and the task pool having a higher task time limit is determined for the backlog task according to the task type of the task pool, so as to realize dynamic scheduling of tasks among the plurality of task pools, reduce the risk of delayed task processing due to task accumulation, and effectively improve the overall task processing efficiency of the business system. BRIEF DESCRIPTION OF DRAWINGS

[0017] Figure 1 An application environment diagram for a task scheduling method in an embodiment;

[0018] Figure 2 A flowchart diagram of a task scheduling method in an embodiment;

[0019] Figure 3 A flowchart diagram of a task scheduling method in another embodiment;

[0020] Figure 4 A flowchart diagram of a task scheduling method in another embodiment;

[0021] Figure 5 A flowchart diagram of a method for determining a target allocation object for a task to be forcibly allocated from among task execution objects in an embodiment;

[0022] Figure 6 A diagram of a task work queue in an embodiment;

[0023] Figure 7 A diagram of an urgent task pull-in method in an embodiment;

[0024] Figure 8 A flowchart diagram of a task scheduling method in another embodiment;

[0025] Figure 9 A flowchart diagram of a task scheduling method in another embodiment;

[0026] Figure 10 A block diagram of a task management system in an embodiment;

[0027] Figure 11 A flowchart diagram of a task classification method performed by a task classifier in an embodiment;

[0028] Figure 12 A flowchart diagram of a task issuance method performed by a task scheduler in an embodiment;

[0029] Figure 13 A diagram of task allocation for an electric telemarketer task work queue in an embodiment;

[0030] Figure 14 A flowchart diagram of an urgent task forced allocation triggered by an urgent task fuse in an embodiment;

[0031] Figure 15 A queue conversion diagram for a task scheduler in an embodiment;

[0032] Figure 16A flowchart of a process for task scheduler to perform work saturation control for each telesales agent in an embodiment;

[0033] Figure 17 A full scheduling schematic diagram of a task scheduling method in an embodiment;

[0034] Figure 18 A structural block diagram of a task scheduling device in an embodiment;

[0035] Figure 19 An internal structural diagram of a computer device in an embodiment. DETAILED DESCRIPTION

[0036] In order to make the purposes, technical solutions and advantages of the present application clearer, further detailed description will be made to the present application in combination with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, and are not used to limit the present application.

[0037] The task scheduling method provided by the embodiments of the present application can be applied in an application environment as shown in the figure. Figure 1 The task management system 102 communicates with the business system 104 through a network. The data storage system can store data required to be processed by the task management system 102. The data storage system can be integrated on the task management system 102, or placed on the cloud or other network servers. The task management system 102 can receive the business tasks dispatched by the business system 104, and store the business tasks into the corresponding task pool. In the process of scheduling and managing the business tasks, the task management system 102 can determine the task types of each task pool in response to the backlog task monitoring events triggered for the multiple task pools, each task type has different task timeliness, for each task pool, in the case that there is a higher-level task type for the task type corresponding to the task pool, a task migration strategy matched with the task type is determined. If it is determined according to the task migration strategy that there is a to-be-migrated task in the task pool that meets the task backlog condition, the to-be-migrated task is transferred from the task pool to the target migration task pool corresponding to the higher-level task type.

[0038] The task management system 102 can be integrated on a terminal or a server. The terminal can be, but is not limited to, various personal computers, notebook computers, smart phones, tablet computers, Internet of Things devices and portable wearable devices. The Internet of Things device can be a smart speaker, a smart television, a smart air conditioner, a smart vehicle device, etc. The portable wearable device can be a smart watch, a smart bracelet, a head-mounted device, etc. The server can be implemented by an independent server or a server cluster composed of multiple servers.

[0039] The business system 104 is a comprehensive management system for interfacing with customers to generate corresponding business tasks. It can be understood that the task management system 102 can interface with a single or multiple business systems 104, and the corresponding business systems 104 are different in different business scenarios. For example, in the context of electric sales, the business system 104 can be each electric sales business system or electric sales workbench in the context of electric sales.

[0040] In one embodiment, as shown in Figure 2 , a task scheduling method is provided, which is taken as an example of the task management system 102 in Figure 1 for illustration, including the following steps:

[0041] S202, in response to the backlog task monitoring event triggered for multiple task pools, determining the task type of each task pool.

[0042] Among them, the task pool is a logical or physical container that can be used to store business tasks to be processed. The business tasks in the task pool can be stored in the form of a task queue. The task management system 102 can extract tasks from the task pool according to actual scheduling needs and assign them to corresponding task execution objects for processing.

[0043] The task type is a type parameter for classifying each task pool according to the task timeliness required for processing the tasks to be allocated in the task pool. Different task pools correspond to different task types, and different task types have different task timeliness. The task timeliness of the task type is related to the task timeliness required for processing the tasks to be allocated in the task pool. Among them, the task timeliness refers to the maximum length of time allowed for the task corresponding to the task type to be created to be completed, which is used to represent the processing speed requirement of the task. The higher the task timeliness, the shorter the maximum length of time allowed for the task corresponding to the task type to be created to be completed, for example, 15 minutes of task timeliness is higher than 1 hour of task timeliness.

[0044] For example, in the context of electric sales, the task pool can include urgent single task pool, time single task pool, and daily single task pool. The urgent single task pool is used to store tasks that need to be processed within 15 minutes based on the current time. The task type corresponding to the urgent single task pool is urgent single task, and the task timeliness is 15 minutes. The time single task pool is used to store tasks that need to be processed within 1 hour based on the current time. The task type of the time single task pool is time single task, and the task timeliness is 1 hour. The daily single task pool is used to store tasks that need to be processed and completed on the same day based on the current time. The task type of the daily single task pool is daily single task, and the task timeliness is from the time of receiving the task to the task execution deadline of the same day.

[0045] It can be understood that the task type of the task pool can include a pre-arranged task type in addition to the real-time task types such as the urgent single task, the time single task, and the day single task.

[0046] Also taking the electric tapping scenario as an example, the task pool can further include a pre-arranged urgent single task pool, a pre-arranged time single task pool, and a pre-arranged day single task pool. The pre-arranged urgent single task pool is used to store pre-arranged tasks with a fixed processing time period and a processing time period within 15 minutes, and the pre-arranged urgent single task pool does not need to process the pre-arranged tasks temporarily within 15 minutes based on the current time. The task type of the pre-arranged urgent single task pool is the pre-arranged urgent single task. The pre-arranged time single task pool is used to store pre-arranged tasks with a fixed processing time period and a processing time period within 1 hour, and the pre-arranged time single task pool does not need to process the pre-arranged tasks temporarily within 1 hour based on the current time. The task type of the pre-arranged time single task pool is the pre-arranged time single task. The pre-arranged day single task pool is used to store all tasks except the urgent single task, the pre-arranged urgent single task, the time single task, the pre-arranged time single task, and the day single task. The task type of the pre-arranged day single task pool is the pre-arranged day single task.

[0047] The backlog task monitoring event is used to instruct the task management system to monitor the backlog tasks of the task pools. It can be understood that the backlog task monitoring event can be triggered by the task management system, for example, a time event is written in the task management system in advance to trigger the task management system to monitor the backlog tasks of the task pools. The backlog task monitoring event can also be triggered by the task management personnel, for example, the task management personnel triggers the backlog task monitoring event on the task management system through the management terminal.

[0048] In one embodiment, the designer can set a time event in the task management system to instruct the task management system to monitor the backlog tasks every preset time period. The preset time period can be determined according to the highest task time limit in the task type of each task pool, for example, the highest task time limit is 15 minutes, and the preset time period can be set to 1 minute, that is, the task management system will respond to the backlog task monitoring event of the task pools every minute to monitor the backlog tasks of the task pools.

[0049] Specifically, the task management system determines the task type of each task pool in response to the backlog task monitoring event triggered for the task pools.

[0050] In one embodiment, the task management system can determine the task type of each task pool according to the task identifier of each task pool and the preset mapping relationship between the task identifier and the task type.

[0051] S204, for each task pool, if there is a higher-level task type corresponding to the task type of the task pool, a task migration strategy matching the task type is determined.

[0052] For example, when the task type is a daily single task, the higher-level task type can be a time single task with a higher task time limit than the daily single task. When the task type is a time single task, the higher-level task type can be an urgent single task with a higher task time limit than the time single task. For example, when the task type is a pre-urgent single task, the higher-level task type can be an urgent single task. When the task type is a pre-time single task, the higher-level task type can be a time single task. When the task type is a pre-daily single task, the higher-level task type can be a daily single task.

[0053] For example, when the task type is a daily single task, the higher-level task type can be a time single task with a higher task time limit than the daily single task. When the task type is a time single task, the higher-level task type can be an urgent single task with a higher task time limit than the time single task. For example, when the task type is a pre-urgent single task, the higher-level task type can be an urgent single task. When the task type is a pre-time single task, the higher-level task type can be a time single task. When the task type is a pre-daily single task, the higher-level task type can be a daily single task.

[0054] For example, when the task type is a daily single task, the higher-level task type can be a time single task with a higher task time limit than the daily single task. When the task type is a time single task, the higher-level task type can be an urgent single task with a higher task time limit than the time single task. For example, when the task type is a pre-urgent single task, the higher-level task type can be an urgent single task. When the task type is a pre-time single task, the higher-level task type can be a time single task. When the task type is a pre-daily single task, the higher-level task type can be a daily single task.

[0055] Specifically, for each task pool, the task management system can determine whether the task type corresponding to the task pool has a higher-level task type. If so, it means that the backlog tasks in the task pool have a transferable task pool, and the task management system can determine a task migration strategy matching the task type.

[0056] In one embodiment, the task management system can find the corresponding relationship between each task type and each task migration strategy pre-mapped to determine the task migration strategy matching the task type corresponding to the current task pool.

[0057] S206, if there is a task to be migrated that meets the task backlog condition in the task pool according to the task migration strategy, the task to be migrated is transferred from the task pool to the target migration task pool corresponding to the higher-level task type.

[0058] The task backlog condition is a preset judgment condition for judging whether a to-be-assigned task in the task pool is a backlog task, and the task backlog condition can be determined by a designer in advance according to the task migration strategy corresponding to the task pool. Therefore, different task migration strategies correspond to different task backlog conditions.

[0059] Specifically, after determining the task migration strategy matching the task type, the task management system can determine whether there is a to-be-migrated task satisfying the task backlog condition in the task pool according to the task migration strategy. If not, it indicates that the task execution remaining time of each to-be-assigned task in the task pool does not reach the task backlog time threshold at the current time, and the to-be-assigned task can continue to be stored in the task pool for waiting execution. If yes, it indicates that the task execution remaining time of a to-be-assigned task in the task pool has reached the task backlog time threshold at the current time, and if it continues to wait in the task pool, it may cause the risk of not timely processing the task. Therefore, the task management system can transfer the to-be-migrated task from the task pool to the target migration task pool corresponding to the upper-level task type. For example, when there is a to-be-migrated task satisfying the task backlog condition in the single task pool, the to-be-migrated task can be transferred to the target migration task pool corresponding to the upper-level task type, that is, the urgent single task pool.

[0060] In the above task scheduling method, in response to the backlog task monitoring event for multiple task pools, the task type of each task pool is determined, wherein each task type corresponds to different task time limits. For each task pool, if there is an upper-level task type with higher task time limit in the task type corresponding to the task pool, a task migration strategy matching the task type is determined. If it is determined according to the task migration strategy that there is a to-be-migrated task satisfying the task backlog condition in the task pool, it indicates that the task backlog has occurred in the task pool, and not processing it easily leads to not timely processing the to-be-assigned task in the task pool, affecting the operation stability of the entire business system. Therefore, the to-be-migrated task can be transferred from the task pool to the target migration task pool corresponding to the upper-level task type. By monitoring the backlog task of each task pool, the task pool with the backlog task can be determined in time, and the task pool with higher task time limit is determined for the migration of the backlog task according to the task type corresponding to the task pool. In this way, the dynamic scheduling of the task pools is realized, the risk of not timely processing the task due to task accumulation is reduced, and the overall task processing efficiency of the business system is effectively improved.

[0061] In one embodiment, the task scheduling method further comprises: in the case that the trigger action of the task migration strategy is a time point, determining the trigger time point of the task migration strategy. If the current time point is at the trigger time point and there is a to-be-assigned task in the task pool, the to-be-assigned task is determined as a to-be-migrated task satisfying the task backlog condition.

[0062] The trigger action as a time point trigger refers to that the task migration strategy is automatically executed at a preset fixed time point, and the trigger time point is the execution time of the task migration strategy. For example, the trigger time point of the task migration strategy corresponding to the daily single task can be determined according to the task execution deadline of the day. If the current task execution deadline is 18:00, 19:00 can be determined as the trigger time point of the task migration strategy corresponding to the daily single task.

[0063] Specifically, the task management system determines the trigger action of the task migration strategy according to the strategy information of the task migration strategy. In the case that the trigger action of the task migration strategy is a time point trigger, it means that all the to-be-assigned tasks in the task pool need to be completed within the trigger time point. The task management system can first determine the trigger time point of the task migration strategy, and then compare the current time point with the trigger time point. If the current time point is at the trigger time point and there is a to-be-assigned task in the task pool, the to-be-assigned task is determined as a to-be-migrated task that meets the task backlog condition.

[0064] Taking the task migration strategy corresponding to the daily single task as an example, the trigger time point of the task migration strategy is 19:00 of the day. The task management system can first determine whether the current time point is 19:00. If yes, it further judges whether there is a to-be-assigned task in the daily single task pool. If yes, the to-be-assigned task is determined as a to-be-migrated task that meets the task backlog condition. The task management system can migrate the to-be-assigned task to the daily single task pool to avoid the situation that the daily single task is delayed to become an urgent task.

[0065] In one of the embodiments, if the current time point is not at the trigger time point, or there is no to-be-assigned task in the task pool, it is determined that there is no to-be-migrated task that meets the task backlog condition in the task pool.

[0066] In the above embodiments, for the task migration strategy whose trigger action is a time point trigger, the task management system can quickly judge whether there is a backlog task in the task pool by comparing the current time point with the trigger time point of the strategy and the remaining unassigned tasks in the task pool, which effectively improves the judgment accuracy and processing efficiency of the backlog task.

[0067] In one embodiment, as shown in Figure 3 The task scheduling method further includes the following steps:

[0068] S302, in the case that the trigger action of the task migration strategy is a countdown trigger, the trigger countdown duration of the task migration strategy is determined.

[0069] The trigger action is a countdown trigger, which means that the task migration strategy is automatically executed when the trigger countdown duration is zero. The trigger countdown duration is the time span from the creation of the to-be-assigned task to the triggering of the migration. For example, the trigger countdown duration of the task migration strategy corresponding to a single task can be 45 minutes, that is, when the waiting time of each single task reaches 45 minutes, the single task can be determined as a to-be-migrated task.

[0070] It can be understood that the trigger countdown duration can be determined according to the task time limit of the task type and the task time limit of the upper-level task type. For example, if the task time limit of the task type is 1 hour and the task time limit of the upper-level task type is 15 minutes, the trigger countdown duration can be 45 minutes. If the task time limit of the task type is 2 hours and the task time limit of the upper-level task type is 30 minutes, the trigger countdown duration can be 90 minutes.

[0071] Specifically, the task management system determines the trigger action of the task migration strategy according to the strategy information of the task migration strategy. In the case that the trigger action of the task migration strategy is a countdown trigger, it means that each to-be-assigned task in the task pool has its own processing time period, which is a time interval composed of a task creation time point and a task deadline time point. The to-be-assigned task needs to be processed and completed within the corresponding processing time period. The task management system can determine the trigger countdown duration of the task migration strategy.

[0072] S304, obtaining the task creation time point of each to-be-assigned task in the task pool.

[0073] The task creation time point refers to the corresponding time when the to-be-assigned task is created, which can be recorded in the task attribute information of the to-be-assigned task.

[0074] Specifically, the task management system can traverse the task attribute information of all to-be-assigned tasks in the task pool to determine the task creation time point of each to-be-assigned task.

[0075] S306, for each to-be-assigned task, determining the waiting duration of the to-be-assigned task according to the current time point and the task creation time point.

[0076] The waiting duration of the to-be-assigned task refers to the specific duration information that the to-be-assigned task has been waiting from the creation to the current time.

[0077] Specifically, for each to-be-assigned task, the task management system can determine the time period duration between the current time point and the task creation time point as the waiting duration of the to-be-assigned task.

[0078] S308, if the waiting duration is equal to the trigger countdown duration, the to-be-assigned task is determined as a to-be-migrated task that meets the task backlog condition.

[0079] Specifically, the task management system can compare the waiting time with the countdown time. If the waiting time is equal to the countdown time, the task to be assigned can be identified as a task that meets the backlog conditions and is to be migrated.

[0080] Taking the monitoring of backlogged tasks in the time-limited task pool as an example, the countdown timer for triggering the task migration strategy corresponding to the time-limited task can be 45 minutes. The task management system can traverse each task to be assigned in the time-limited task pool, determine the task creation time of each task to be assigned, compare the task creation time with the current time, and determine the waiting time of each task to be assigned. If the waiting time is equal to 45 minutes, that is, if the remaining time of the task to be assigned is only 15 minutes, the task to be assigned can be determined as a task to be migrated that meets the backlog conditions, and migrated to the urgent task pool to wait for assignment and processing, thereby reducing the timeout risk of time-limited tasks.

[0081] In the above embodiments, for the task migration strategy triggered by a countdown, the task management system can quickly determine whether there are backlogged tasks in the task pool by comparing the waiting time of the task to be assigned with the trigger countdown time, which effectively improves the accuracy of backlog task judgment and processing efficiency, and reduces the risk of task processing timeout.

[0082] In one embodiment, such as Figure 4 As shown, the task scheduling method also includes the following steps:

[0083] S402, if there is no parent task type for the task type in the task pool, determine the task forced allocation strategy that matches the task type.

[0084] The task forced allocation strategy is an emergency allocation strategy that directly assigns execution resources to backlogged tasks that are already at their highest time limit. It's understandable that the task forced allocation strategy may include triggering actions and task allocation logic. It's also understandable that, since the task management system may interface with multiple business systems, each business system may have a task type corresponding to its highest time limit. The task management system needs to determine a task forced allocation strategy that matches the task type to achieve the effect of isolating task allocation strategies across business systems.

[0085] Specifically, if a task type in the task pool does not have a parent task type, that task type is considered to have the highest timeliness. If there are backlogged tasks in the task pool corresponding to that task type, they need to be assigned and processed immediately to avoid delays in task processing. The task management system can determine a mandatory task assignment strategy that matches the task type.

[0086] For example, in the context of telemarketing, urgent tasks are the task type with the highest timeliness and do not have a superior task type. Therefore, when there are backlogged tasks in the urgent task pool, the task management system will perform a forced allocation action on the backlogged tasks, forcibly assigning them to the task execution object for execution.

[0087] Specifically, when the task management system determines that there is no parent task type for the task type corresponding to the task pool, it can determine a task assignment strategy that matches the task type based on the task type identifier.

[0088] S404. If, according to the task forced allocation strategy, it is determined that there are tasks in the task pool that meet the task backlog conditions and are to be forcibly allocated, then the target allocation object for the task to be forcibly allocated is determined from each task execution object.

[0089] In this context, a task execution object is a work object used to receive and execute tasks allocated from various task pools. It can be considered a resource unit for executing tasks, such as a server node, a delivery rider, or a customer service agent. Each task execution object can maintain a task work queue to hold tasks awaiting execution.

[0090] Specifically, the task management system can determine whether there are any tasks in the task pool that meet the backlog conditions and are waiting to be forcibly assigned, based on the task forced assignment strategy. If so, it can determine the target assignment object for the task to be forcibly assigned from among the task execution objects.

[0091] In one embodiment, the task forced allocation strategy is triggered by an event. When there are tasks to be allocated in the task pool, these tasks are considered backlogged tasks awaiting forced allocation. For example, if there are tasks to be allocated in the urgent task pool, these tasks are tasks awaiting forced allocation and need to be allocated and executed immediately.

[0092] S406, the task to be forcibly assigned is identified as an urgent task, and the urgent task is assigned to the target assignment object.

[0093] Specifically, the task management system can identify tasks to be forcibly assigned as urgent tasks and then assign them to the target allocation object.

[0094] In the above embodiments, for task types with the highest timeliness, if there are backlogged tasks in the task pool corresponding to the task type, the task management system can identify the backlogged tasks as tasks to be forcibly assigned, determine the target assignment object for them among the task execution objects, and assign the tasks to be forcibly assigned as emergency tasks to the target assignment object. This can effectively improve the processing efficiency of emergency tasks and reduce the risk of untimely processing of emergency tasks.

[0095] In one embodiment, such asFigure 5 As shown, S404 determines the target allocation object from each task execution object to be forcibly assigned a task, including:

[0096] S502, count the number of urgent tasks that each task execution object can accommodate, and the number of assigned tasks that meet the task backlog conditions and are awaiting mandatory assignment.

[0097] Specifically, for each task execution object, the task management system can count the number of urgent tasks that the task execution object can currently accommodate. At the same time, the task management system will also count the number of tasks to be forcibly assigned that need to be assigned.

[0098] S504, when the number of assigned tasks exceeds the number of emergency tasks, determine the target assignment object to be forcibly assigned tasks from among the task execution objects based on the emergency task saturation of each task execution object.

[0099] Among them, emergency task saturation refers to the emergency task load rate of the current task execution object, which can represent the number of emergency tasks waiting to be executed at the current moment. It can be understood that the higher the emergency task saturation, the more emergency tasks are placed in the task work queue of the task execution object, and the lower the emergency task saturation, the fewer emergency tasks are placed in the task work queue of the task execution object.

[0100] Specifically, the task management system can compare the number of assigned tasks with the number of urgent tasks. If the number of assigned tasks is greater than the number of urgent tasks, it means that each task execution object cannot accommodate all the tasks to be forcibly assigned at once. Therefore, the task management system can calculate the urgent task saturation of each task execution object and determine the target allocation object for the tasks to be forcibly assigned from each task execution object based on the urgent task saturation of each task execution object.

[0101] In one embodiment, the emergency saturation is calculated as: the number of emergency tasks in the execution period to which the current time point belongs / the preset number of tasks that can be placed in each execution period. For example, if the task work queue uses a 15-minute execution period and the preset number of tasks that can be placed in each execution period is 3, then the emergency saturation is the ratio of the number of emergency tasks set in the task work queue from the current time point to the 15-minute period to 3.

[0102] In one embodiment, the task management system can sort the task execution objects in ascending order according to their respective urgency saturation. Based on the sorted sequence, the task work queue insertion logic is executed sequentially until all task work queues have been traversed. By traversing the task execution objects according to urgency saturation, priority can be given to assigning tasks to those with lower urgency saturation. Furthermore, since this sorting process is performed in real time, unassigned tasks awaiting forced assignment can wait for the sorted sequence to be updated before being assigned, until all tasks are fully allocated.

[0103] S506, when the number of assigned tasks is less than or equal to the number of emergency tasks, each task execution object is determined as the target assignment object for the task to be forcibly assigned.

[0104] Specifically, the task management system can compare the number of urgent tasks with the number of assigned tasks. If the number of assigned tasks is less than or equal to the number of urgent tasks, it means that each task execution object can currently accommodate all the tasks to be forcibly assigned. Therefore, the task management system can determine each task execution object as the target assignment object for the tasks to be forcibly assigned.

[0105] In one embodiment, after the task management system determines each task execution object as the target allocation object to be forcibly assigned a task, it can traverse each task execution object and execute the task insertion logic for each task work queue in turn.

[0106] The task work queue maintained by the task execution object can be divided into multiple minimum execution periods according to the task execution time. Each execution period can hold a preset number of tasks to be executed, and the tasks to be executed are sorted according to their deadlines.

[0107] In one embodiment, such as Figure 6 As shown, the task work queue can have a minimum execution period of 15 minutes, and a maximum of 3 tasks can be placed in a 15-minute minimum execution period.

[0108] Specifically, the task queueing logic involves finding the first non-urgent task in the task work queue and then inserting the currently pending urgent task before the non-urgent task. Understandably, the number of urgent tasks that can be inserted into each task work queue is related to the number of urgent tasks already existing in that queue.

[0109] In one embodiment, the number of emergency tasks to be inserted is equal to the preset number that can be placed in each execution period minus the number of emergency tasks already existing in the current task work queue. For example, if a minimum execution period can hold a maximum of 3 tasks to be executed, and there are already 2 emergency tasks in the current task work queue, then the number of emergency tasks to be inserted = 3 - 2 = 1. The specific insertion method is as follows: Figure 7 As shown.

[0110] In one embodiment, if the saturation of urgent tasks in the current task work queue reaches 100%, then inserting an urgent task is not allowed.

[0111] In the above embodiments, by comparing the number of emergency tasks with the number of assigned tasks, a target allocation object that is more in line with the actual load can be determined for each task to be forcibly allocated based on the comparison result. This can effectively improve the timeliness of execution of tasks to be forcibly allocated after they are assigned to the target allocation object and reduce the risk of untimely handling of emergency tasks.

[0112] In one embodiment, such as Figure 8 As shown, the task scheduling method also includes the following steps:

[0113] S802, in response to a task saturation monitoring event triggered for each task execution object, determines the task saturation of each task execution object within the monitoring period.

[0114] The task saturation monitoring event is used to instruct the task management system to monitor the task saturation of each task execution object. Similarly, the task saturation monitoring event can be triggered proactively by the task management system, for example, by pre-writing a time event to proactively trigger the system to monitor the task saturation of each task execution object. Alternatively, the task administrator can trigger the event for each task execution object via a management terminal within the task management system.

[0115] Task saturation refers to the load rate of pending tasks for a task execution object at the current moment, which can represent the number of tasks waiting to be executed at the current moment. Understandably, the higher the task saturation, the more pending tasks are placed in the task queue of the task execution object, resulting in higher resource utilization; conversely, the lower the task saturation, the fewer pending tasks are placed in the task queue of the task execution object, resulting in lower resource utilization.

[0116] The monitoring period is a preset time window used to monitor the task saturation of the task execution object. The monitoring period can be determined by the current time point and the preset monitoring duration. For example, if the preset monitoring duration is 1 hour, then the monitoring period is within 1 hour starting from the current time point.

[0117] Specifically, the task management system can respond to task saturation monitoring events triggered for each task execution object to determine the task saturation of each task execution object during the monitoring period.

[0118] In one embodiment, the task management system can respond to a task saturation monitoring event triggered for each task execution object, count the number of tasks to be executed allocated to each task execution object's task work queue during the monitoring period, and determine the task saturation of each task execution object during the monitoring period based on the number of tasks to be executed.

[0119] S804, the task execution object whose task saturation is lower than the preset saturation threshold is identified as the target receiving object.

[0120] The preset saturation threshold is used to determine whether a task execution object is in an allocable state. If the task saturation is below the preset threshold, it can be considered that the task execution object has surplus processing resources to handle new tasks, and allocating tasks to it will not pose an overload risk. If the task saturation is equal to or higher than the preset threshold, it can be considered that the task execution object currently does not have surplus task processing resources to handle new tasks, and allocating tasks to it is likely to pose an overload risk. Understandably, the preset saturation threshold can be determined in advance by the designer based on the execution capacity of the task execution object. Taking customer service personnel in a telemarketing system as an example, the preset saturation threshold can be determined based on the average time it takes for a customer service personnel in the telemarketing system to handle a telemarketing task; for example, the preset saturation threshold could be 60%.

[0121] Specifically, the task management system can compare the task saturation of each task execution object with a preset saturation threshold. If the task saturation of a task execution object is lower than the preset saturation threshold, the task management system can identify that task execution object as the target receiving object.

[0122] S806 determines the task scheduling priority of each task pool based on the task timeliness of each task type.

[0123] The task scheduling priority is determined by the task allocation order of each task pool based on the timeliness of each task type. The higher the task scheduling priority, the more likely the tasks to be assigned in the corresponding task pool will be assigned to the target receiving object.

[0124] Specifically, the task management system can determine the task scheduling priority of each task pool based on the timeliness of each task type. Understandably, the higher the task timeliness, the higher the task scheduling priority of the corresponding task pool; conversely, the lower the task timeliness, the lower the task scheduling priority of the corresponding task pool.

[0125] S808: Based on the task scheduling priority, traverse each task pool sequentially and assign the tasks to be assigned in each task pool to the target receiving object until the task saturation of the target receiving object is equal to the preset saturation threshold, or until there are no tasks to be assigned in each task pool.

[0126] Specifically, the task management system will sequentially traverse each task pool based on task scheduling priority, and assign the tasks to be assigned in each task pool to the target receiving object until the task saturation of the target receiving object is equal to the preset saturation threshold, or until there are no tasks to be assigned in each task pool.

[0127] Taking the task pool as an example, which includes an urgent task pool, an hourly task pool, and a daily task pool, since the time limit for urgent tasks is higher than that for hourly tasks, and the time limit for hourly tasks is higher than that for daily tasks, the task scheduling priority of each task pool should be: urgent task pool > hourly task pool > daily task pool. The task management system will first extract urgent tasks to be assigned from the urgent task pool and assign them to the target recipients. If there are no urgent tasks to be assigned in the urgent task pool, and there are still target recipients whose task saturation is lower than the preset saturation threshold, the task management system will continue to extract hourly tasks to be assigned from the hourly task pool and assign them to the target recipients. If there are no hourly tasks to be assigned in the hourly task pool, and there are still target recipients whose task saturation is lower than the preset saturation threshold, the task management system will continue to extract daily tasks to be assigned from the daily task pool and assign them to the target recipients. If there are no daily tasks to be assigned in the daily task pool, or if the task saturation of the target recipient is equal to the preset saturation threshold, task assignment will stop.

[0128] In the above embodiments, by monitoring the saturation of each task execution object, the task load of the task execution object can be perceived in real time, reducing the risk of overload. During the task allocation process, the task saturation of each task execution object can also provide a data basis for task allocation. By using priority traversal, it can be ensured that tasks with higher timeliness can be processed in a timely manner, improving the timeliness of processing urgent orders, and thus improving the task processing efficiency of the entire business system.

[0129] In one embodiment, such as Figure 9 As shown, the task scheduling method also includes:

[0130] S902, in response to the processing status monitoring event triggered for each task execution object, determines the working status of each task execution object.

[0131] Among them, the processing status monitoring event is used to instruct the task management system to monitor the processing status of each task execution object. It can be understood that the processing status monitoring event can be actively triggered by the task management system, for example, by pre-writing a time event in the task management system to actively trigger the task management system to monitor the processing status of each task execution object. The processing status monitoring event can also be manually triggered by task administrators on the task management system, for example, by task administrators triggering the processing status monitoring event for each task execution object on the task management system through a management terminal.

[0132] Among them, the working status of each task execution object is a status classification parameter used to characterize the real-time status of each task execution object. Taking the telemarketing business scenario as an example, the working status of the task execution object can include on-duty, off-duty, etc.

[0133] Specifically, the task management system can determine the working status of each task execution object in response to processing status monitoring events triggered for each task execution object. For example, the task management system can obtain the working status of the task execution object from the business system based on the object representation of the task execution object.

[0134] S904, if there are off-duty objects in the task execution objects whose work status is off-duty, determine the assigned tasks of the off-duty object during the off-duty period, and the target transfer object used to take over the assigned tasks.

[0135] Among them, the "off-duty object" refers to the task execution object that is unable to perform task processing during the off-duty period, and the "target transfer object" is the task execution object used to take over the assigned tasks that the off-duty object cannot process during the off-duty period.

[0136] Specifically, when the task management system determines that there are off-duty objects among the task execution objects whose work status is off-duty, it can determine the assigned tasks during the off-duty period from the off-duty object's task work queue, as well as the target transfer objects used to take over each assigned task.

[0137] In one embodiment, the task management system can identify the task execution objects with an "on-duty" status among the task execution objects as candidate transfer objects, and then, based on the task saturation of each candidate transfer object, identify the candidate transfer object with the lowest task saturation among the candidate transfer objects as the target transfer object.

[0138] In one embodiment, the task management system can identify the task execution object that is in a working state during the off-duty period and has the lowest task saturation as the target transfer object.

[0139] S906, based on the start and end times of each assigned task, determine the transfer position of each assigned task in the target transfer object.

[0140] The task execution start time is the earliest time when the assigned task can be executed, and the task execution end time is the latest time when the assigned task needs to be completed. Understandably, when transferring an assigned task to a target object, the transfer location of the assigned task needs to be determined first. The transfer location must satisfy the following conditions: the task execution start time is less than the time of the transfer location, and the task execution end time is greater than the time of the transfer location.

[0141] Specifically, the task management system can determine the transfer position of each assigned task in the target transfer object based on the task execution start time and task execution end time of each assigned task.

[0142] S908, for each assigned task, transfer the assigned task to the transfer position in the target transfer object.

[0143] Specifically, for each assigned task, the task management system can transfer the assigned task to the transfer location in the target transfer object.

[0144] In the above embodiments, by monitoring the processing status of each task execution object, the reallocation process of the assigned tasks can be triggered in a timely manner when the task execution object is off-duty, which effectively reduces the risk of delay of the assigned tasks and provides timeliness and efficiency of task processing in the business system.

[0145] In one embodiment, a task scheduling method is provided, which is applied to, for example... Figure 10 The task management system shown is an example of task scheduling in a telemarketing business scenario. The task management system can include a task classifier and a task scheduler.

[0146] The task grading system can receive telemarketing tasks assigned by various business systems and the telemarketing workbench, and perform tiered processing of these tasks. Telemarketing tasks can be categorized by timeliness into real-time orders and scheduled orders. Real-time orders can be further divided into urgent orders, hourly orders, and daily orders. Scheduled orders can be divided into scheduled urgent orders, scheduled hourly orders, and scheduled daily orders. Urgent orders are those processed within 15 minutes, hourly orders within 1 hour, and daily orders within 1 day.

[0147] The task scheduler is responsible for task scheduling and allocation, primarily handling task scheduling between the scheduled task pool queue and the real-time task pool queue, between real-time task pool queues, between real-time task pool queues and the task work queue, and within the task work queue itself. The task scheduler initiates a series of scheduled tasks to monitor for anomalies in the task work queue, real-time task pool queue, and scheduled task pool queue. It also monitors the work status of telemarketing employees, triggering task scheduling upon detecting any abnormal results.

[0148] The task classification method executed by the task classifier is as follows: Figure 11 As shown, after receiving an input telemarketing task, the task classifier can first determine whether the task execution period is within 15 minutes. If it is within 15 minutes, it can then determine whether the task deadline is less than the current time plus 15 minutes. If it is, the task is determined to be an urgent task; otherwise, it is determined to be a scheduled urgent task.

[0149] If the task execution period is not within 15 minutes, then continue to determine if the task execution period is within 1 hour. If it is within 1 hour, then continue to determine if the task deadline is less than the current time plus 1 hour. If it is less, then determine that the task is a time-based task. If it is not less, then determine that the task is a scheduled time-based task.

[0150] If the task execution period is not within 1 hour, then it is further determined whether the task deadline is within the same day. If it is, the task is determined to be a daily task; if it is not, the task is determined to be a scheduled daily task.

[0151] After classifying each task, the task classifier labels each task with its corresponding task type and then transmits each task to the task scheduler.

[0152] The task scheduler manages the task pool queues and task work queues. The task pool queues store unassigned tasks, and tasks in each queue are sorted by their execution deadline. The task pool queues can include: urgent task pool queues, scheduled urgent task pool queues, hourly task pool queues, scheduled hourly task pool queues, daily task pool queues, and scheduled daily task pool queues. The urgent, hourly, and daily task pool queues store tasks that require immediate processing, while the urgent, scheduled, hourly, and daily task pool queues store tasks waiting to be scheduled into these queues; these tasks do not directly participate in task allocation.

[0153] Each telemarketer maintains a task work queue, which stores assigned telemarketing tasks. The task work queue is divided into 15-minute intervals, and a maximum of 3 tasks can be assigned in a 15-minute interval. The tasks in the task work queue are also sorted by their deadlines.

[0154] The task dispatching process executed by the task scheduler is as follows: Figure 12 As shown, after receiving the telemarketing tasks issued by the task grading unit, the system obtains a task record table for the telemarketing tasks. This table records the execution status of historical telemarketing tasks, with specific fields including task ID, user ID, period ID, planned execution time, actual execution time, and execution period. The task ID represents the unique identifier of the task, the user ID represents the user ID corresponding to the task, and the period ID represents the unique identifier for a periodic task. For example, tasks requiring periodic tracking of new loan products might need to be revisited every two weeks. Due to the involvement of historical data statistics, periodic tasks are generally issued to a single, fixed telemarketer at once.

[0155] The task scheduler verifies whether the users involved in a telemarketing task are returning users based on the task record table. If so, it queries the task execution record table to obtain historical telemarketer information and directly assigns the telemarketing task to the task work queue maintained by the historical telemarketer. Specifically, when each task is issued, it first needs to determine whether the user involved in the task has been telemarketed before. If so, it needs to find the telemarketer who last executed the telemarketing task. To improve telemarketing efficiency, telemarketing tasks for the same user will be assigned to the same telemarketer.

[0156] If the telemarketing task does not involve existing customers, the process continues to check if it is a recurring task. If it is, the telemarketers are sorted by task saturation, and the task is assigned to the task queue maintained by the highest-priority telemarketer. Specifically, if it is a recurring task, the telemarketers are sorted, the most suitable telemarketer is selected, and the recurring task is assigned to the selected telemarketer. For example, if a recurring task contains two specific telemarketing tasks that require a follow-up call every day, the processed telemarketer task queue would look like this: Figure 13 As shown, the dark-colored task identifier indicates the assigned telemarketing task.

[0157] The task saturation ranking for telemarketers is based on their task saturation over a two-week period. Saturation = number of tasks in the current time period / maximum number of telemarketing tasks. The maximum number of telemarketing tasks = number of remaining time periods × 3. The task queue uses 15-minute intervals, and 3 represents the theoretical maximum number of telemarketing tasks in a time period.

[0158] The task scheduler can perform task backlog control for each task work queue. Specifically, the task scheduler starts a timed task that runs every preset period of time, such as every 30 minutes, to determine the task backlog of each telemarketer's task work queue. If the current telemarketer's task delay rate reaches 30%, the task reallocation process needs to be triggered.

[0159] The specific implementation scheme of the redistribution process is to calculate the number of tasks that can be assigned to the current telemarketer's task queue in the next hour. For example, the calculation method is delay rate * 4 * 3, where 4 represents that 1 hour can be divided into 4 15-minute time periods, and 3 represents the theoretical number of tasks in 1 hour. If the delay rate of the current queue is 50%, the number of tasks that can be assigned is calculated to be 6.

[0160] Then, the task swapping between queues is performed. During the swapping, it is determined whether there are any extra empty slots in the work queue of the telemarketer tasks to be enqueued. The task start time must be less than the current time and the task end time must be greater than the current time. If these conditions are met, the insertion operation is performed directly. If there are still tasks that have not been enqueued after all queues have been traversed, they are directly written into the corresponding task pool queue.

[0161] The task scheduler can adjust the employee status of each telemarketer.

[0162] Specifically, the task scheduler can initiate a scheduled task that runs every preset time interval, such as every 2 minutes, to determine the work status of telemarketers. If a salesperson is on leave or absent from their post, a task redistribution process will be triggered. The specific process is the same as the telemarketer task backlog control process, the difference being that the employee status control redistribution process needs to reallocate all assigned order tasks during the absence period, such as all assigned order tasks within 1 hour of absence.

[0163] The task scheduler can regulate tasks in a real-time task pool queue.

[0164] Specifically, the task scheduler is equipped with a queue circuit breaker mechanism, which sets a task escalation channel triggered by a time window. This dynamically increases task priority over time, preventing the backlog of low-priority tasks from causing system instability.

[0165] The task scheduler uses a three-level circuit breaker, and the specific execution logic is shown in the table below.

[0166]

[0167] In this context, "daily task circuit breaker" refers to the relocation of unprocessed tasks from the last hour of the day in the daily task pool to the hourly task pool. "Hourly task circuit breaker" refers to the relocation of unprocessed tasks from the last 15 minutes of the hour in the hourly task pool to the urgent task pool. "Urgent task circuit breaker" triggers the forced allocation of urgent orders. Tasks in the urgent task pool are sorted by deadline; therefore, tasks at the front of the queue are those with the earliest deadlines and require priority processing.

[0168] Among them, the emergency order forced allocation process triggered by the emergency order circuit breaker is as follows: Figure 14 As shown. The task scheduler counts the number of urgent tasks to be assigned, denoted as Ts. It then iterates through all the task queues of telemarketers, summarizing the number of urgent tasks that can be accommodated in all task queues within 15 minutes, denoted as s. It checks if Ts is greater than or equal to s. If not, it iterates through all task queues and executes the task queue insertion logic. If so, it sorts the task queues according to their urgent task saturation and executes the task queue insertion logic sequentially until all queues have been traversed.

[0169] The "urgent order saturation" is calculated as: Urgent Order Saturation = Number of Urgent Orders in the Current Time Period / 3. The task queue uses 15-minute intervals, and 3 represents the theoretical maximum number of telemarketing orders in a given time period. The task insertion logic involves finding the first non-urgent order in the telemarketer's queue and inserting the current urgent order before it. The specific number of urgent orders inserted depends on the current number of urgent orders. If the saturation of urgent orders in the current queue has reached 100%, no more urgent orders will be inserted. Therefore, the number of urgent orders to insert = 3 - Number of Urgent Orders in the Current Task Queue.

[0170] For urgent orders that cannot be assigned in one go, they must wait for the next scheduling (1 minute) to be executed. Since not all tasks will be successfully completed through telemarketing, and if a user does not answer the phone, the task will be terminated quickly. Therefore, the above process will be repeated during the next scheduling to successfully assign the task. This real-time scheduling method can take into account the current workload of telemarketers as much as possible and handle the task scheduling logic in real time.

[0171] The task scheduler can adjust tasks for each scheduled task pool queue.

[0172] Specifically, the task scheduler has a queue transfer mechanism, which sets up a task upgrade channel triggered by a time window. It uses a three-layer transfer trigger, and the specific execution logic is shown in the table below:

[0173]

[0174] The task scheduler execution queue transition diagram is as follows:Figure 15 As shown.

[0175] The task scheduler can adjust the workload of each telemarketer.

[0176] Specifically, such as Figure 16 As shown, the task scheduler can initiate a scheduled task, executing every preset interval, such as every 3 minutes, to determine the saturation of each telemarketer's (not under task backlog control or employee status control) task queue for the next hour. If the saturation falls below 60%, a task enqueueing action is triggered. In the diagram, the task pool queue → work queue refers to the task enqueueing queue, where tasks are dequeued from the task pool queue. The appointment task pool queue → real-time task pool queue indicates that after iterating through all real-time task pools, if no scheduleable tasks are found, a task retrieval action is triggered, inserting tasks from the appointment task pool queue into the real-time task pool queue (these tasks must start before the current time) to facilitate data retrieval for the next scheduling iteration. Here, the appointment urgent task pool queue, appointment hourly task pool queue, and appointment daily task pool queue are retrieved sequentially. The total number of tasks retrieved equals the number of tasks required to reach 90% saturation minus the number of assigned tasks.

[0177] A schematic diagram of the task scheduling method in this embodiment is shown below. Figure 17 As shown in the figure, the task scheduling method in this embodiment can establish a 6-dimensional classification system, namely urgent orders / hourly orders / daily orders × immediate / appointment orders, which solves the problem of the single scenario of telemarketing tasks, effectively distinguishes the timeliness of tasks, reduces the churn rate of high-value customers, and makes the task scheduling of the entire system more flexible. At the same time, by designing employee status control, task backlog control, and workload control methods, the problem of low resource utilization is specifically addressed. Real-time perception of task backlog status and employee status allows for timely management of order backlog issues, ensuring that the task delay rate is kept at a low level; real-time perception of the employee queue with insufficient workload allows for timely pull of tasks to the work queue, ensuring the timeliness of tasks through a push-pull combination. No manual intervention is required throughout the process, avoiding the problem of untimely response to urgent tasks due to manual order assignment. Through the real-time task pool queue control capability, urgent tasks to be processed are promptly identified and allocated, improving the overall response speed. A three-level circuit breaker allocation mechanism is used, with a task circuit breaker strategy triggered by a time window; a three-layer conversion mechanism is used, with a task transfer strategy triggered by a time window, to advance the task allocation process. Five control measures are employed, covering all consumer finance telemarketing business scenarios, to control employee status, task backlog, real-time task pool queues, scheduled task pool queues, and employee workload. These five control measures coordinate and complement each other, maintaining the entire system in a dynamic equilibrium. Furthermore, they can respond quickly to abnormal situations, demonstrating strong dynamic control capabilities.

[0178] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0179] Based on the same inventive concept, this application also provides a task scheduling apparatus for implementing the task scheduling method described above. The solution provided by this apparatus is similar to the implementation scheme described in the above method; therefore, the specific limitations in one or more task scheduling apparatus embodiments provided below can be found in the limitations of the task scheduling method described above, and will not be repeated here.

[0180] In one embodiment, such as Figure 18 As shown, a task scheduling device 1800 is provided, including: an event response module 1801, a migration strategy determination module 1802, and a task migration module 1803, wherein:

[0181] The event response module 1801 is used to respond to backlog task monitoring events triggered for multiple task pools and determine the task type of each task pool; each task type has a different task timeout.

[0182] The migration strategy determination module 1802 is used to determine a task migration strategy that matches the task type for each task pool, provided that there is a superior task type for the task type corresponding to the task pool; wherein the task timeliness of the superior task type is higher than that of the task type.

[0183] The task migration module 1803 is used to transfer the task to be migrated from the task pool to the target migration task pool corresponding to the previous level task type if it is determined from the task migration strategy that there are tasks to be migrated in the task pool that meet the task backlog conditions.

[0184] Each module in the aforementioned task scheduling device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0185] In one embodiment, a computer device is provided, which may be a task management system, and its internal structure diagram may be as follows: Figure 19 As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores data such as task types and task migration strategies. The network interface communicates with external terminals via a network connection. When executed by the processor, the computer program implements a task scheduling method.

[0186] Those skilled in the art will understand that Figure 19 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0187] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the specific steps of the above-described task scheduling method embodiment.

[0188] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the specific steps of the above-described task scheduling method embodiment.

[0189] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the specific steps of the above-described task scheduling method embodiment.

[0190] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the acquisition, storage, processing, and transmission of the data all comply with relevant laws and regulations.

[0191] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program using event-related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0192] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0193] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A task scheduling method, characterized in that, The method includes: In response to a backlog monitoring event triggered for multiple task pools, the task type for each task pool is determined; each task type has a different task time limit. For each task pool, if there is a parent task type for the task type corresponding to the task pool, a task migration strategy matching the task type is determined; the timeliness of the parent task type is higher than that of the task type. If, according to the task migration strategy, it is determined that there are tasks in the task pool that meet the backlog conditions and need to be migrated, then the tasks to be migrated are transferred from the task pool to the target migration task pool corresponding to the previous level task type.

2. The method according to claim 1, characterized in that, The method further includes: If the triggering action of the task migration strategy is a time-point trigger, determine the triggering time point of the task migration strategy; If the current time point is at the trigger time point and there are tasks to be assigned in the task pool, then the tasks to be assigned are determined as tasks to be migrated that meet the task backlog conditions.

3. The method according to claim 1, characterized in that, The method further includes: If the triggering action of the task migration strategy is a countdown trigger, determine the countdown duration for triggering the task migration strategy; Obtain the task creation time of each task to be assigned in the task pool; For each task to be assigned, the waiting time of the task to be assigned is determined based on the current time and the task creation time. If the waiting time is equal to the trigger countdown time, then the task to be assigned is determined as a task to be migrated that meets the task backlog condition.

4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: If there is no parent task type for the task type corresponding to the task pool, determine a task forced allocation strategy that matches the task type. If, according to the task forced allocation strategy, it is determined that there are tasks in the task pool that meet the task backlog conditions and are to be forcibly allocated, then the target allocation object for the task to be forcibly allocated is determined from each task execution object; the task execution object is used to receive and execute the tasks allocated from each of the task pools. The task to be forcibly assigned is identified as an urgent task, and the urgent task is assigned to the target assignment object.

5. The method according to claim 4, characterized in that, The step of determining the target allocation object for the task to be forcibly assigned from among the task execution objects includes: Calculate the number of urgent tasks that each task execution object can accommodate, and the number of tasks to be forcibly assigned that meet the task backlog conditions. If the number of assigned tasks is greater than the number of emergency tasks, the target assignment object to be forcibly assigned a task is determined from the task execution objects according to the emergency task saturation of each task execution object. If the number of assigned tasks is less than or equal to the number of emergency tasks, each of the task execution objects will be determined as the target assignment object for the task to be forcibly assigned.

6. The method according to claim 1, characterized in that, The method further includes: In response to a task saturation monitoring event for each task execution object, the task saturation of each task execution object during the monitoring period is determined; the task execution object is used to receive and execute tasks allocated from each task pool. Tasks with a task saturation level below a preset saturation threshold are identified as target receiving objects. The task scheduling priority of each task pool is determined based on the task timeliness of each task type. Based on the task scheduling priority, each task pool is traversed sequentially, and the tasks to be assigned in each task pool are assigned to the target receiving object until the task saturation of the target receiving object is equal to the preset saturation threshold, or until there are no tasks to be assigned in each task pool.

7. The method according to claim 6, characterized in that, The method further includes: In response to processing status monitoring events triggered for each of the task execution objects, the working status of each of the task execution objects is determined; If there is a departing object whose work status is off-duty among the task execution objects, determine the assigned tasks of the departing object during the off-duty time period, and the target transfer object for taking over each of the assigned tasks. Based on the start and end times of each assigned task, determine the transfer position of each assigned task within the target transfer object; For each assigned task, the assigned task is transferred to the transfer position in the target transfer object.

8. A task scheduling device, characterized in that, The device includes: The event response module is used to respond to backlog task monitoring events triggered for multiple task pools and determine the task type of each task pool; each task type has a different task time limit; The migration strategy determination module is used to determine a task migration strategy that matches the task type for each task pool, provided that there is a parent task type for the task type corresponding to the task pool; wherein the timeliness of the parent task type is higher than that of the task type. The task migration module is used to transfer the task to be migrated from the task pool to the target migration task pool corresponding to the previous level task type if it is determined from the task migration strategy that there are tasks to be migrated in the task pool that meet the task backlog conditions.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.