Outbound task scheduling method and device, equipment and storage medium
By using message middleware and task queue grouping in the enterprise outbound call business, the priority and data transmission channel are dynamically adjusted, which solves the problem of low efficiency in outbound call task execution and realizes efficient and timely outbound call task processing.
Patent Information
- Application Number
- CN202510953764.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-10
- Publication Date
- 2025-10-10
AI Technical Summary
In the outbound calling business of enterprises, the outbound calling task volume and urgency of different business parties are different, resulting in low execution efficiency and problems such as mutual impact between tasks and waste of resources.
Business data is received through the message middleware and written into the task queue. The task queue is grouped by priority and business party. The target set, queue and data of the outbound call task are determined in a preset manner. The priority is dynamically adjusted to give priority to high-priority tasks, and data transmission is separated using emergency and non-emergency transmission channels.
It improves the execution efficiency of outbound call tasks, reduces the mutual impact between tasks, avoids resource waste, and ensures the timeliness of outbound call tasks.
Smart Images

Figure CN120768993A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the communication technology, and particularly, to an outbound task scheduling method and device, equipment and storage medium. BACKGROUND
[0002] In some business scenarios, enterprises often need to process a large amount of business data, and make phone calls to users based on the data, that is, outbound business, and communicate with users by phone.
[0003] Generally, the business party sends the related business data of the outbound task to the outbound system, and the outbound system executes the corresponding outbound task according to the order of receiving the business data.
[0004] However, the business of enterprises is complex and diverse, and the outbound task amount of different business parties is different, and the urgency of outbound tasks is different. When the amount of business data of each business party is large, the data of different business parties affect each other, and the execution efficiency is low. SUMMARY
[0005] The embodiments of the present disclosure provide an outbound task scheduling method, device, equipment and storage medium, which can improve the execution efficiency of outbound tasks and ensure the timeliness of outbound tasks.
[0006] In one aspect of the embodiments of the present disclosure, an outbound task scheduling method is provided, comprising: receiving business data sent by a business party through a message middleware; writing the business data into a task queue corresponding to the business party, wherein a same task queue is used to store the business data of a same business party, the task queue corresponds to at least one task set, and the number of task sets to which a task queue with a higher priority belongs is greater than the number of priorities to which a task queue with a lower priority belongs; determining a target task set corresponding to an outbound task to be executed this time from the at least one task set based on a first preset manner, and determining a target task queue corresponding to the outbound task to be executed this time from the target task set based on a second preset manner; determining target business data corresponding to the outbound task to be executed this time from the target task queue based on a third preset manner, and executing the outbound task based on the target business data.
[0007] Optionally, after executing the outbound task based on the target business data, the method further comprises: adjusting the priority of the target task queue based on the task execution result of the outbound task corresponding to the target business data; correspondingly adjusting the task set to which the target task queue belongs based on the adjusted priority.
[0008] Optionally, adjusting the priority of the target task queue based on the task execution result of the outbound call task corresponding to the target business data includes: In response to the outbound call task corresponding to the target business data being successfully executed, and the priority of the target outbound call task queue being not the highest priority, raising the priority of the target task queue; In response to the outbound call task corresponding to the target service data failing to execute, and the priority of the target outbound call task queue is not the lowest priority, lowering the priority of the target task queue; The method further comprises: In response to the target task queue meeting a preset downgrade condition and the priority of the target task queue being not the lowest priority, the priority of the target task queue is lowered, and the preset downgrade condition includes at least one of the following conditions: the business data does not exist in the target task queue, and the outbound call line corresponding to the target queue is invalid.
[0009] Optionally, adjusting the task set to which the target task queue belongs based on the adjusted priority includes: In response to a decrease in the priority of the target task queue, adding a task set to which the target outbound task queue belongs; In response to the priority of the target task queue being increased, the task set to which the target outbound call task queue belongs is reduced.
[0010] Optionally, determining a target task set corresponding to the currently executed outbound call task from the at least one task set based on a first preset manner, and determining a target task queue corresponding to the currently executed outbound call task from the target task set based on a second preset manner, includes: Randomly determine a first preset number of task sets from the at least one task set as the target task set, and randomly determine a second preset number of task queues from the target task set as the target task queue; or, Determining the target task set from the at least one task set according to a first polling order, and determining the target task queue from the target task set according to a second polling order; The determining, based on the third preset manner, target service data corresponding to the currently executed outbound call task from the target task queue includes: Randomly determining a third preset amount of business data from the target task queue as the target business data; or, The target service data is determined from the target task queue according to a third polling order.
[0011] Optionally, the message middleware is provided with at least two transmission channels, the at least two transmission channels including an emergency transmission channel and a non-emergency transmission channel, the business party is used to transmit the business data of the emergency outbound call task to the emergency transmission channel, and transmit the business data of the non-emergency outbound call task to the non-emergency channel; The receiving of business data sent by the business party through the message middleware includes: The service data is received through the emergency transmission channel and the non-emergency transmission channel respectively.
[0012] Optionally, the method further includes: The business data change trend and outbound call task change trend of each task queue are obtained through the business monitoring system, and alarm information is generated in response to the preset alarm conditions being met; The preset alarm condition includes at least one of the following conditions: the data volume of the business data is lower than the data volume threshold, the data volume reduction rate of the business data reaches a first rate threshold, the task volume decrease rate of the successfully executed outbound call task reaches a second rate threshold, and the execution frequency of the outbound call task is lower than the frequency threshold.
[0013] Another aspect of the embodiments of the present disclosure provides an outbound call task scheduling device, comprising: The receiving module is used to receive business data sent by the business party through the message middleware; a data writing module, configured to write the business data into a task queue corresponding to the business party, wherein the same task queue is used to store the business data of the same business party, the task queues each belong to at least one task set, and the number of task sets to which a task queue with a higher priority belongs is greater than the number of task sets to which a task queue with a lower priority belongs; a determination module, configured to determine, based on a first preset method, a target task set corresponding to the currently executed outbound call task from the at least one task set, and to determine, based on a second preset method, a target task queue corresponding to the currently executed outbound call task from the target task set; The outbound call module is used to determine the target business data corresponding to the outbound call task being executed this time from the target task queue based on a third preset method, and execute the outbound call task based on the target business data.
[0014] Another aspect of the present disclosure provides an outbound call task scheduling system, wherein the outbound call task scheduling system is configured to: Receive business data sent by the business party through the message middleware; write the service data into the task queue corresponding to the service provider, wherein the same task queue is used to store the service data of the same service provider, the task queue corresponds to at least one task set, and the number of task sets to which the task queue with a higher priority belongs is greater than the number of task sets to which the task queue with a lower priority belongs; determine, based on a first preset manner, a target task set corresponding to the outbound call task to be executed this time from the at least one task set, and determine, based on a second preset manner, a target task queue corresponding to the outbound call task to be executed this time from the target task set; determine, based on a third preset manner, target service data corresponding to the outbound call task to be executed this time from the target task queue, and execute the outbound call task based on the target service data.
[0015] In another aspect of the embodiments of the present disclosure, an electronic device is provided, comprising: a memory configured to store a computer program; a processor configured to execute the computer program stored in the memory, and when the computer program is executed, the method in the above aspect is implemented.
[0016] In another aspect of the embodiments of the present disclosure, a computer readable storage medium is provided, which stores a computer program, and when the computer program is executed by a processor, the method in the above aspect is implemented.
[0017] In another aspect of the embodiments of the present disclosure, a computer program is provided, which comprises computer program instructions, and when the computer program instructions are executed by a processor, the method in the above aspect is implemented.
[0018] According to the embodiments of the present disclosure, after receiving the service data sent by the service provider through the message middleware, the service data is written into different task queues according to the corresponding service provider, and the service data of different service providers is stored in separate queues to realize service data isolation. In addition, the more the number of task sets to which the task queue with a higher priority belongs, the greater the probability that the task queue with a higher priority is extracted to execute the outbound call task, that is, the higher the priority of the task queue, the higher the execution rate of the outbound call task. Compared with the execution mode of the outbound call task of first come first served or different business rotation, the mutual influence between businesses can be reduced, and the waste of resources caused by task empty running can be avoided, thereby improving the execution efficiency of the outbound call task and ensuring the timeliness of the outbound call task.
[0019] The technical solutions of the present disclosure will be further described in detail below with reference to the drawings and embodiments. BRIEF DESCRIPTION OF DRAWINGS
[0020] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0021] The present disclosure can be more clearly understood from the following detailed description with reference to the accompanying drawings, in which: Figure 1 This is a flow chart of an embodiment of the outbound call task scheduling method disclosed herein; Figure 2 A schematic diagram of a task set shown as an exemplary embodiment of the present disclosure; Figure 3 This is a flow chart of another embodiment of the outbound call task scheduling method disclosed herein; Figure 4 A flowchart showing a priority adjustment process according to an exemplary embodiment of the present disclosure; Figure 5 This is a schematic diagram showing dual-channel transmission of service data according to an exemplary embodiment of the present disclosure; Figure 6 This is a structural diagram of an embodiment of the outbound call task scheduling device disclosed herein; Figure 7 This is a structural diagram of another embodiment of the outbound call task scheduling device disclosed herein; Figure 8 The figure is a schematic structural diagram of an application embodiment of the electronic device disclosed herein. DETAILED DESCRIPTION
[0022] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that unless otherwise specifically stated, the relative arrangement of components and steps, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure.
[0023] Those skilled in the art will understand that the terms "first" and "second" in the embodiments of the present disclosure are only used to distinguish different steps, devices or modules, and do not represent any specific technical meanings, nor do they indicate a necessary logical order between them.
[0024] It should also be understood that in the embodiments of the present disclosure, “a plurality of” may refer to two or more than two, and “at least one” may refer to one, two, or more than two.
[0025] It should also be understood that any component, data or structure mentioned in the embodiments of the present disclosure can generally be understood as one or more, unless explicitly limited or otherwise indicated in the context.
[0026] In addition, the term "and / or" in this disclosure is merely a description of the association relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this disclosure generally indicates that the related objects are in an "or" relationship.
[0027] It should also be understood that the description of the various embodiments in this disclosure focuses on the differences between the various embodiments, and the same or similar aspects thereof can be referenced with each other. For the sake of brevity, they will not be described one by one.
[0028] At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship.
[0029] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses.
[0030] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered part of the specification.
[0031] It should be noted that like reference numerals and letters refer to like items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.
[0032] Figure 1 The flowchart of the outbound call task scheduling method provided by an exemplary embodiment of the present disclosure is as follows. The outbound call task scheduling method of the embodiment of the present disclosure can be implemented by an electronic device equipped with a service database for storing service data and an outbound call task scheduling system.
[0033] like Figure 1 As shown, the method includes the following steps: Step 101: Receive business data sent by the business party through the message middleware.
[0034] In one possible implementation, when a business party has an outbound call task demand, it can send relevant business data to the message middleware, and the consumer of the message middleware (an electronic device equipped with a scheduling module) receives the business data. The business data may include the outbound call number of the outbound call object (i.e., the user) and other data related to the content of the outbound call task, such as the user's identity information, the user's interaction data, etc. (the business data in the embodiment of the present disclosure is obtained with the user's authorization). For example, the business party includes a house rental platform, and its corresponding outbound call task is to recommend suitable houses to users who have browsed houses by telephone. The business data sent by the business party includes data such as the outbound call number of each user, the house type and geographical location of the browsed houses, etc.
[0035] Schematically, the message middleware can be implemented using tools such as Apache Kafka, RabbitMQ, and RocketMQ.
[0036] Step 102: Write the business data into the task queue corresponding to the business party.
[0037] The same task queue is used to store business data of the same business party. The task queue corresponds to at least one task set, and the number of task sets to which the task queue with higher priority belongs is greater than the number of task sets to which the task queue with lower priority belongs.
[0038] In one possible implementation, different business parties correspond to different task queues. Each business party has a unique business party code. When sending business data, the business party adds its own business party code to the business data. After receiving the business data, the electronic device can write the business data to the corresponding task queue based on the business party code carried in the business data, thereby achieving data isolation between different business parties.
[0039] Optionally, after receiving the business data, the business data can be pre-imported into the corresponding cache queue according to the business party, and then the business data in each cache queue can be written into the corresponding task queue in the database. The database is provided with at least one task set, and the task queue is assigned to a corresponding number of task sets according to the priority of the task queue. For example, Figure 2As shown, there are 10 task sets in the database, and the task queues have 10 priority levels. A task queue with priority 1 (the lowest priority) belongs only to task set 1 (TaskSet1), a task queue with priority 2 belongs to both task sets 1 and 2 (TaskSet1 and TaskSet2), and so on. A task queue with priority 10 (the highest priority) belongs to all 10 task sets (TaskSet1 through TaskSet10). This prioritization method increases the probability of extracting business data from higher-priority task queues, thereby improving the efficiency of outbound call execution for these higher-priority task queues.
[0040] Illustratively, a unique queue identifier may be set for each task queue, and the queue identifier may be copied to the task set to which the task queue belongs, thereby eliminating the need to copy actual business data multiple times for storage, thereby reducing the storage space occupied by business data.
[0041] Step 103: Based on the first preset method, determine the target task set corresponding to the outbound call task being executed this time from at least one task set, and based on the second preset method, determine the target task queue corresponding to the outbound call task being executed this time from the target task set.
[0042] Step 104: Based on the third preset method, the target business data corresponding to the outbound call task to be executed this time is determined from the target task queue, and the outbound call task is executed based on the target business data.
[0043] In one possible implementation, a first preset number of task sets (for example, 1 task set is extracted, hereinafter referred to as the target task set) can be randomly selected from the task set, and then a second preset number of task queues (for example, 1 task queue is extracted, hereinafter referred to as the target task queue) can be randomly selected from the target task set, and a third preset number of target business data (for example, one business data, hereinafter referred to as the target business data) can be randomly determined from the target task queue, and an outbound call task can be executed based on the extracted target business data. After the outbound call task is executed, the next round of target business data extraction can continue. Alternatively, the target task set can be determined from the task set according to a first preset order, the target task queue can be determined from the target task set according to a second preset order, and the target business data can be determined from the target task queue according to a third preset order. For example, the first n business data (the n business data written into the task queue the earliest) in the determined target task queue can be determined as the target business data according to the preset order, where n is a positive integer.
[0044] Based on the embodiment of the present disclosure, after receiving the business data sent by the business party through the message middleware, the business data is written into different task queues according to the corresponding business parties, and the business data of different business parties are stored in separate queues to achieve business data isolation. Among them, the higher the priority of the task queue, the more task sets it belongs to, so that when extracting business data from the queue group to execute the outbound call task, the higher the probability that the task queue with higher priority will be extracted to execute the outbound call task is greater, that is, the higher the priority of the task queue, the higher the outbound call task execution rate. Compared with the outbound call task execution method of first-come-first-served or different businesses executing in rotation, it can reduce the mutual influence between businesses and avoid the waste of resources caused by empty task running, thereby improving the execution efficiency of the outbound call task and ensuring the timeliness of the outbound call task.
[0045] In a possible implementation, the priority of the task queue may be dynamically adjusted based on the execution status of the outbound call task. After step 103, the outbound call task scheduling method provided by the embodiment of the present disclosure may further include the following steps: Step 301: Adjust the priority of the target task queue based on the task execution result of the outbound call task corresponding to the target business data.
[0046] In one possible implementation, if the outbound call task corresponding to the target business data is successfully executed, the task success rate of the target task queue to which the target business data belongs is improved, thereby increasing the priority of the target task queue, allowing the outbound call tasks of the target task queue to be executed first, thereby improving the efficiency of outbound call task execution. Conversely, if the outbound call task corresponding to the target business data fails, the task success rate of the target task queue is reduced. In order to prevent the target task queue from affecting the outbound call tasks of other outbound call task queues, the priority of the target task queue can be lowered. Optionally, the above 301 may specifically include the following steps: Step 301a: In response to the outbound call task corresponding to the target service data being successfully executed and the priority of the target task queue being not the highest priority, the priority of the target task queue is increased.
[0047] Step 301b: In response to the outbound call task corresponding to the target service data failing to execute and the priority of the target task queue not being the lowest priority, lower the priority of the target task queue.
[0048] Indicatively, in response to the successful execution of the outbound call task corresponding to the target business data and the priority of the target task queue is not the highest priority, the priority of the target task queue is raised by one level; in response to the failure of the outbound call task corresponding to the target business data and the priority of the target task queue is not the lowest priority, the priority of the target task queue is lowered by one level.
[0049] In another possible implementation, the priority of the outbound task queue can be adjusted based on information such as the success ratio or frequency of the outbound task execution of the task queue. For example, if the outbound task corresponding to the target business data is successfully executed, but the success frequency of the outbound task execution of the target task queue does not reach the preset frequency (the number of successes within a preset time length), the priority of the target task queue will not be adjusted.
[0050] In addition, the business data changes and outbound call lines of each task queue can be continuously monitored, and the priority of the task queue can be adjusted. The outbound call task scheduling method provided by the embodiment of the present disclosure can also include the following steps: In response to the target task queue meeting a preset downgrade condition and the priority of the target task queue being not the lowest priority, the priority of the target task queue is lowered.
[0051] The preset degradation condition includes at least one of the following conditions: there is no business data in the target task queue, and the outbound call line corresponding to the target queue is invalid.
[0052] When there is no business data in the target task queue, or the outbound call line corresponding to the target queue is invalid, the task queue cannot execute the outbound call task or there is no outbound call task to be executed. In order to avoid the task being extracted from this task queue and causing the task to run in vain and waste scheduling resources, the priority of the target task queue can be lowered, for example, by one level or adjusted to the lowest priority.
[0053] Optionally, each task queue can be initially created with a preset priority (e.g., the lowest priority), with its priority dynamically adjusted as outbound call tasks are executed. Furthermore, for businesses whose outbound call tasks are often more urgent, the corresponding task queue can be pre-set to the highest priority based on actual needs.
[0054] Step 302: Based on the adjusted priority, the task set to which the target task queue belongs is correspondingly adjusted.
[0055] When the priority of the target task queue is adjusted, the task set to which the target task queue belongs is adjusted accordingly. Optionally, step 302 may specifically include the following steps: Step 302a: In response to the priority of the target task queue being lowered, the task set to which the target task queue belongs is added.
[0056] Step 302b: In response to the priority increase of the target task queue, reduce the task set to which the target task queue belongs.
[0057] In one possible implementation, based on the increase in the priority level of the target task queue, the task sets to which the target task queues belong are increased by a corresponding number, and the queue identifiers of the target task queues are copied to the newly added task sets; based on the decrease in the priority level of the target task queue, the task sets to which the target task queues belong are reduced by a corresponding number, and the queue identifiers of the target task queues are deleted from the reduced task sets.
[0058] Indicatively, if the priority of the target task queue is raised by one level, a task set belonging to the target task queue is added. For example, the priority of the target task queue before the priority adjustment is level 2, and the corresponding task sets are task set 1 and task set 2. The priority of the target task queue after the priority adjustment is level 3, then one task set is added, and the corresponding task sets after adjustment are task set 1, task set 2 and task set 3.
[0059] Figure 4 A flowchart for dynamically adjusting the priority of a task queue is shown. The process specifically includes: 401, executing an outbound call task; 402, determining whether to upgrade or downgrade, if upgrading, executing steps 403 to 404, if downgrading, executing steps 405 to 406; step 403, upgrading; step 404, copying the queue identifier to the newly added task set; step 405, downgrading; step 406, removing the queue identifier from the reduced task set.
[0060] In a possible implementation, each round of outbound call task execution may randomly select a task set and a task queue to execute the outbound call task. The process of determining the target task queue in step 103 may include the following steps: Randomly determine a first preset number of task sets from at least one task set as target task sets, and randomly determine a second preset number of task queues from the target task set as target task queues; or, A target task set is determined from at least one task set according to a first polling order, and a target task queue is determined from the target task set according to a second polling order.
[0061] The process of determining the target business data in step 104 may include the following steps: Randomly determining a third preset amount of business data from the target task queue as target business data; or, The target business data is determined from the target task queue according to the third polling order.
[0062] Randomly determine a first preset number (e.g., one) of task sets from the task set as the target task set, or determine the target task set from at least one task set in the first polling order (e.g., determine one task set as the target task set each time in the order of task sets 1 to 10). Each task set has the same probability of being selected. Since the higher the priority of a task queue, the more task sets it belongs to, the higher the probability that the task set to which the higher priority task queue belongs will be selected, which in turn increases the probability that the task queue with higher priority will be selected. For the target task queue, since the business data therein is the business data of the same business party, randomly determine a third preset number of business data as the target business data, or extract the first m (e.g., one) business data that enter the queue in order of precedence as the target business data, where m is a positive integer.
[0063] In one possible implementation, Figure 5 As shown, the message middleware is provided with at least two transmission channels, which include an emergency transmission channel and a non-emergency transmission channel. The business party transmits the business data of the emergency outbound call task to the emergency transmission channel, and transmits the business data of the non-emergency outbound call task to the non-emergency channel.
[0064] The above step 101 may specifically include the following steps: Business data is received through the emergency transmission channel and the non-emergency transmission channel respectively.
[0065] In the embodiment of the present disclosure, business data is received by splitting the dual channels, and a separate transmission channel (i.e., the emergency transmission channel) is provided for the business data of emergency outbound call tasks. This can avoid clogging of the transmission channel when the business data of ordinary outbound call tasks are transmitted in a centralized manner, resulting in a higher delay in the transmission of business data for emergency outbound call tasks, affecting the timeliness of emergency outbound call tasks. In addition, compared with the method of setting up different transmission channels for each business party, there is no need to monitor the consumption of a large number of channels, and fewer resources are required for channel access and maintenance.
[0066] In one possible implementation, the service monitoring system can be connected to the outbound call task scheduling system to generate service alerts by observing changes in service data and the execution of outbound call tasks. The outbound call task scheduling method provided by the embodiment of the present disclosure may also include the following steps: The business data change trend and outbound call task change trend of each task queue are obtained through the business monitoring system, and alarm information is generated in response to meeting the preset alarm conditions.
[0067] Among them, the preset alarm conditions include at least one of the following conditions: the data volume of business data is lower than the data volume threshold, the data volume reduction rate of business data reaches the first rate threshold, the task volume decrease rate of successfully executed outbound call tasks reaches the second rate threshold, and the execution frequency of outbound call tasks is lower than the frequency threshold.
[0068] Optionally, if the data volume of the business data is lower than the data volume threshold, or the data volume reduction rate of the business data reaches a first rate threshold, the business system of the corresponding business party may have an abnormality that causes the business data to be unable to be uploaded, and the business monitoring system can generate an alarm message and send it to the electronic device of the corresponding business party; if the task volume reduction rate of the successfully executed outbound call task reaches a second rate threshold, or the execution frequency of the outbound call task is lower than the frequency threshold, the outbound call line corresponding to the task queue may have an abnormality, and the business monitoring system can generate an alarm message and send it to the electronic device of the corresponding line maintenance personnel. In addition, for abnormal task queues, they can be downgraded, such as reducing the priority to the lowest priority, to avoid affecting the outbound call tasks of other business parties during the abnormal period. Through real-time monitoring by the business monitoring system, the use of outbound call resources becomes more transparent.
[0069] Figure 6 The following is a block diagram of an outbound call task scheduling device provided by an exemplary embodiment of the present disclosure. The outbound call task scheduling device includes: Receiving module 601, used to receive business data sent by the business party through the message middleware; The data writing module 602 is used to write the business data received by the receiving module 601 into the task queue corresponding to the business party, wherein the same task queue is used to store the business data of the same business party, and the task queues belong to at least one task set, and the number of task sets to which the higher-priority task queues belong is greater than the number of task sets to which the lower-priority task queues belong; Determining module 603, configured to determine a target task set corresponding to the currently executed outbound call task from at least one task set based on a first preset method, and to determine a target task queue corresponding to the currently executed outbound call task from the target task set based on a second preset method; The outbound call module 604 is configured to determine, based on a third preset method, target service data corresponding to the outbound call task to be executed this time from the target service queue determined by the determination module 603, and execute the outbound call task based on the target service data.
[0070] Optionally, in a possible implementation, as Figure 7 As shown, the outbound call task scheduling device also includes: The level adjustment module 701 is used to adjust the priority of the target task queue based on the task execution result of the outbound call task corresponding to the target business data; The grouping adjustment module 702 is configured to adjust the task set to which the target task queue belongs based on the priority adjusted by the level adjustment module 701 .
[0071] Optionally, in a possible implementation manner, the level adjustment module 701 is further configured to: In response to the outbound call task corresponding to the target business data being successfully executed, and the priority of the target task queue being not the highest priority, raising the priority of the target task queue; In response to the outbound call task corresponding to the target business data failing to execute, and the priority of the target task queue is not the lowest priority, lowering the priority of the target task queue; In response to the target task queue meeting a preset downgrade condition and the priority of the target task queue being not the lowest priority, the priority of the target task queue is lowered. The preset downgrade condition includes at least one of the following conditions: there is no business data in the target task queue, and the outbound call line corresponding to the target queue is invalid.
[0072] Optionally, in a possible implementation manner, the group adjustment module 702 is further configured to: In response to a decrease in the priority of the target task queue, adding a task set to which the target task queue belongs; In response to the priority of the target task queue being increased, the task set to which the target task queue belongs is reduced.
[0073] Optionally, in a possible implementation manner, the determining module 603 is further configured to: Randomly determine a first preset number of task sets from at least one task set as target task sets, and randomly determine a second preset number of task queues from the target task set as target task queues; or, Determine a target task set from at least one task set according to a first polling order, and determine a target task queue from the target task set according to a second polling order; The outbound call module 604 is further configured to: Randomly determining a third preset amount of business data from the target task queue as target business data; or, The target business data is determined from the target task queue according to the third polling order.
[0074] Optionally, in a possible implementation, the message middleware is provided with at least two transmission channels, the at least two transmission channels including an emergency transmission channel and a non-emergency transmission channel, the business party being used to transmit business data of emergency outbound call tasks to the emergency transmission channel, and to transmit business data of non-emergency outbound call tasks to the non-emergency channel; The receiving module 601 is further configured to: Business data is received through the emergency transmission channel and the non-emergency transmission channel respectively.
[0075] Optionally, in a possible implementation manner, the outbound call task scheduling device further includes: An alarm module is used to obtain the business data change trend and outbound call task change trend of each task queue through the business monitoring system, and generate alarm information in response to meeting the preset alarm conditions; The preset alarm conditions include at least one of the following conditions: the data volume of business data is lower than the data volume threshold, the data volume reduction rate of business data reaches a first rate threshold, the task volume decrease rate of the executed outbound call task reaches a second rate threshold, and the execution frequency of the outbound call task is lower than the frequency threshold.
[0076] Each embodiment in this specification is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The parts of the embodiments that are the same, similar, or corresponding can be referred to each other. Since the method, device, system, and equipment embodiments are basically corresponding, the relevant parts can be referred to the description of the corresponding parts. The methods, devices, systems, and equipment of the embodiments of the present disclosure also correspond to each other in terms of specific implementation methods and beneficial technical effects. The relevant contents can be referenced to each other and will not be repeated here.
[0077] The present disclosure also provides an outbound call task scheduling system, which interfaces with a business party and is integrated with an outbound call system. The outbound call task scheduling system is used to: Receive business data sent by the business party through the message middleware; Write the business data into the task queue corresponding to the business party, where the same task queue is used to store the business data of the same business party. Each task queue corresponds to at least one task set, and the number of task sets to which the task queue with higher priority belongs is greater than the number of task sets to which the task queue with lower priority belongs; Determine, based on a first preset method, a target task set corresponding to the currently executed outbound call task from at least one task set, and determine, based on a second preset method, a target task queue corresponding to the currently executed outbound call task from the target task set; Based on the third preset method, the target business data corresponding to the outbound call task to be executed this time is determined from the target task queue, and the outbound call task is executed based on the target business data.
[0078] In addition, an embodiment of the present disclosure further provides an electronic device, including: memory for storing computer programs; The processor is configured to execute the computer program stored in the memory, and when the computer program is executed, the outbound call task scheduling method described in any one of the above embodiments of the present disclosure is implemented.
[0079] Figure 8 This is a schematic diagram of the structure of an application embodiment of the electronic device disclosed in the present invention. Figure 8 The electronic device according to the embodiment of the present disclosure is described. The electronic device may be either or both of the first device and the second device, or a standalone device independent of them, and the standalone device may communicate with the first device and the second device to receive collected input signals from them.
[0080] like Figure 8 As shown, the electronic device includes one or more processors and memory.
[0081] The processor may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device to perform desired functions.
[0082] The memory may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory. Non-volatile memory may include, for example, read-only memory (ROM), a hard disk, or flash memory. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor may execute the program instructions to implement the outbound call task scheduling methods of the various embodiments of the present disclosure described above and / or other desired functions.
[0083] In one example, the electronic device may further include an input device and an output device, and these components are interconnected via a bus system and / or other forms of connection mechanisms (not shown).
[0084] In addition, the input device may also include, for example, a keyboard, a mouse, and the like.
[0085] The output device can output various information to the outside, including determined distance information, direction information, etc. The output device can include, for example, a display, a speaker, a printer, a communication network and a remote output device connected thereto, and the like.
[0086] Of course, to simplify, Figure 8Only some of the components related to the present disclosure in the electronic device are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, the electronic device may further include any other appropriate components according to specific application scenarios.
[0087] In addition to the above-mentioned methods and devices, an embodiment of the present disclosure may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps of the outbound call task scheduling method according to various embodiments of the present disclosure described in the above part of this specification.
[0088] The computer program product may be written in any combination of one or more programming languages to implement the operations of the disclosed embodiments, including object-oriented programming languages such as Java, C++, and conventional procedural programming languages such as C or similar programming languages. The program code may be executed entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0089] In addition, an embodiment of the present disclosure may also be a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, enables the processor to execute the steps of the outbound call task scheduling method according to various embodiments of the present disclosure described in the above part of this specification.
[0090] The computer-readable storage medium may be any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may include, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0091] Those skilled in the art will understand that all or part of the steps of implementing the above-mentioned method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above-mentioned method embodiment; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk, etc. Various media that can store program codes.
[0092] The basic principles of the present disclosure have been described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, and effects mentioned in this disclosure are merely illustrative and not restrictive, and should not be construed as necessarily possessed by each embodiment of the present disclosure. Furthermore, the specific details disclosed above are provided for illustrative purposes and to facilitate understanding, rather than as limitations. These details do not limit the present disclosure to necessarily being implemented using these specific details.
[0093] Each embodiment in this specification is described in a progressive manner, with each embodiment focusing on its differences from the other embodiments. References to the same or similar parts between the various embodiments are sufficient. For system embodiments, since they largely correspond to method embodiments, their description is relatively simple. For relevant parts, references to the description of the method embodiments are sufficient.
[0094] The block diagrams of the devices, devices, equipment, and systems involved in this disclosure are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As will be appreciated by those skilled in the art, these devices, devices, equipment, and systems can be connected, arranged, or configured in any manner. Words such as "include," "comprise," "have," and the like are open-ended words, meaning "including but not limited to," and can be used interchangeably therewith. The words "or" and "and" used herein refer to the words "and / or" and can be used interchangeably therewith, unless the context clearly indicates otherwise. The word "such as" used herein refers to the phrase "such as but not limited to," and can be used interchangeably therewith.
[0095] The methods and apparatus of the present disclosure may be implemented in many ways. For example, the methods and apparatus of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above unless otherwise specified. In addition, in some embodiments, the present disclosure may also be implemented as programs recorded in a recording medium, which include machine-readable instructions for implementing the methods according to the present disclosure. Thus, the present disclosure also covers recording media that store programs for executing the methods according to the present disclosure.
[0096] It should also be noted that in the apparatus, device, and method of the present disclosure, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present disclosure.
[0097] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown herein, but rather to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0098] The above description has been provided for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present disclosure to the forms disclosed herein. Although a number of example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations thereof.
Claims
1. A method for scheduling outbound call tasks, characterized in that: include: Receive business data sent by the business party through the message middleware; Writing the business data into the task queue corresponding to the business party, wherein the same task queue is used to store the business data of the same business party, the task queue corresponds to at least one task set, and the number of task sets to which the task queue with a higher priority belongs is greater than the number of task sets to which the task queue with a lower priority belongs; Determine, based on a first preset method, a target task set corresponding to the currently executed outbound call task from the at least one task set, and determine, based on a second preset method, a target task queue corresponding to the currently executed outbound call task from the target task set; Based on the third preset method, the target business data corresponding to the outbound call task to be executed this time is determined from the target task queue, and the outbound call task is executed based on the target business data.
2. The method according to claim 1, characterized in that After executing the outbound call task based on the target business data, the method further includes: Adjusting the priority of the target task queue based on the task execution result of the outbound call task corresponding to the target business data; Based on the adjusted priority, the task set to which the target task queue belongs is adjusted accordingly.
3. The method according to claim 2, characterized in that The adjusting the priority of the target task queue based on the task execution result of the outbound call task corresponding to the target business data includes: In response to the outbound call task corresponding to the target service data being successfully executed, and the priority of the target task queue being not the highest priority, raising the priority of the target task queue; In response to the outbound call task corresponding to the target service data failing to execute, and the priority of the target task queue is not the lowest priority, lowering the priority of the target task queue; The method further comprises: In response to the target task queue meeting a preset downgrade condition and the priority of the target task queue being not the lowest priority, the priority of the target task queue is lowered, and the preset downgrade condition includes at least one of the following conditions: the business data does not exist in the target task queue, and the outbound call line corresponding to the target queue is invalid.
4. The method according to claim 2, characterized in that The step of adjusting the task set to which the target task queue belongs based on the adjusted priority includes: In response to a decrease in the priority of the target task queue, adding a task set to which the target task queue belongs; In response to the priority of the target task queue being increased, the task set to which the target task queue belongs is reduced.
5. The method according to any one of claims 1 to 4, characterized in that: The determining, based on the first preset manner, a target task set corresponding to the currently executed outbound call task from the at least one task set, and determining, based on the second preset manner, a target task queue corresponding to the currently executed outbound call task from the target task set, includes: Randomly determine a first preset number of task sets from the at least one task set as the target task set, and randomly determine a second preset number of task queues from the target task set as the target task queue; or, Determining the target task set from the at least one task set according to a first polling order, and determining the target task queue from the target task set according to a second polling order; The determining, based on the third preset manner, target service data corresponding to the currently executed outbound call task from the target task queue includes: Randomly determining a third preset amount of business data from the target task queue as the target business data; or, The target service data is determined from the target task queue according to a third polling order.
6. The method according to any one of claims 1 to 4, characterized in that: The message middleware is provided with at least two transmission channels, the at least two transmission channels including an emergency transmission channel and a non-emergency transmission channel, the business party is used to transmit the business data of the emergency outbound call task to the emergency transmission channel, and transmit the business data of the non-emergency outbound call task to the non-emergency channel; The receiving of business data sent by the business party through the message middleware includes: The service data is received through the emergency transmission channel and the non-emergency transmission channel respectively.
7. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: The business data change trend and outbound call task change trend of each task queue are obtained through the business monitoring system, and alarm information is generated in response to the preset alarm conditions being met; The preset alarm condition includes at least one of the following conditions: the data volume of the business data is lower than the data volume threshold, the data volume reduction rate of the business data reaches a first rate threshold, the task volume decrease rate of the successfully executed outbound call task reaches a second rate threshold, and the execution frequency of the outbound call task is lower than the frequency threshold.
8. An outbound call task scheduling device, characterized in that: include: The receiving module is used to receive business data sent by the business party through the message middleware; a data writing module, configured to write the business data into a task queue corresponding to the business party, wherein the same task queue is used to store the business data of the same business party, the task queues each belong to at least one task set, and the number of task sets to which a task queue with a higher priority belongs is greater than the number of task sets to which a task queue with a lower priority belongs; a determination module, configured to determine, based on a first preset method, a target task set corresponding to the currently executed outbound call task from the at least one task set, and to determine, based on a second preset method, a target task queue corresponding to the currently executed outbound call task from the target task set; The outbound call module is used to determine the target business data corresponding to the outbound call task being executed this time from the target task queue based on a third preset method, and execute the outbound call task based on the target business data.
9. An outbound call task scheduling system, characterized in that: The outbound call task scheduling system is used to: Receive business data sent by the business party through the message middleware; Writing the business data into the task queue corresponding to the business party, wherein the same task queue is used to store the business data of the same business party, the task queue corresponds to at least one task set, and the number of task sets to which the task queue with a higher priority belongs is greater than the number of task sets to which the task queue with a lower priority belongs; Determine, based on a first preset method, a target task set corresponding to the currently executed outbound call task from the at least one task set, and determine, based on a second preset method, a target task queue corresponding to the currently executed outbound call task from the target task set; Based on the third preset method, the target business data corresponding to the outbound call task to be executed this time is determined from the target task queue, and the outbound call task is executed based on the target business data.
10. An electronic device, characterized in that: include: Memory for storing computer programs; A processor is configured to execute a computer program stored in the memory, and when the computer program is executed, implements the method described in any one of claims 1 to 7.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
12. A computer program product comprising computer program instructions, characterized in that When the computer program instructions are executed by a processor, the method according to any one of claims 1 to 7 is implemented.