Robot outbound method, device and equipment and storage medium

Through dynamic allocation and optimization of resource allocation, the utilization rate of robot outbound call resources is improved, the problems of low resource utilization and high cost in the existing technology are solved, and more efficient outbound call task processing is achieved.

CN119211424APending Publication Date: 2024-12-27中邮消费金融有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411228777.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-03
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

The resource utilization rate in existing robot outbound calls technology is low, resulting in high hardware and software costs, and uneven resource allocation leads to waste.

Method used

When receiving an outgoing call task, text to voice resources, voice to text resources and line resources are dynamically allocated, tasks are performed through cluster nodes, and resource allocation is performed according to task priority and available resources, optimizing the concurrency quantity and resource utilization rate.

Benefits of technology

The utilization rate of robot outbound call resources has been improved, the cost of outbound call has been reduced, and the balanced allocation and rational utilization of resources has been achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119211424A_ABST
    Figure CN119211424A_ABST
Patent Text Reader

Abstract

The invention discloses a robot outbound method, device and equipment and a storage medium, and relates to the technical field of robot outbound, and the method comprises the steps: when an outbound task is received, distributing corresponding outbound resources and concurrency quantity for the outbound task, the outbound resources comprising text-to-voice resources, voice-to-text resources and line resources; executing the outbound task through the cluster node based on the outbound resource and the concurrent quantity; querying the started target outbound task, and judging whether an outbound client exists in the target outbound task or not to obtain a query result; determining available resources according to the query result; and performing resource allocation based on the available resources and the query result. According to the method, the started target outbound task is queried, the available resources are determined according to the query result, and resource redistribution is performed based on the available resources and the query result. Compared with an existing mode of fixedly distributing corresponding resources for the outbound task, the mode can improve the utilization rate of the outbound resources and reduce the outbound cost.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot outbound calling technology, and in particular to a robot outbound calling method, device, equipment and storage medium. Background Art

[0002] The resources required for robot outbound calls include line concurrency resources, automatic speech recognition resources (ASR) and text-to-speech resources (TTS). Every time a robot makes a call, it needs to occupy line, ASR and TTS resources at the same time. Therefore, each resource will affect the concurrent number of customers' outbound calls at the same time, which indirectly affects the overall outbound call volume of the robot. The general resource control method for traditional robot outbound calls is to ensure that each resource is sufficient while meeting the demand. Traditional outbound call resource control has some obvious shortcomings. While ensuring that the daily outbound call volume is met, it is necessary to ensure that each resource is sufficient, especially ASR resources and TTS resources. These two resources consume a large number of GPUs, which will increase hardware and software costs. Line resources need to be purchased from operators. The higher the CAPS value, the greater the number of concurrency, and the higher the cost. At the same time, due to the uncertainty of outbound call strategies, scenarios and customers, the use of resources will be unevenly distributed. In order to meet the needs of a certain scenario, a large amount of resources need to be invested. At some idle moments, the resources cannot be reasonably used, resulting in a waste of resources. Therefore, how to improve the resource utilization of robot outbound calls has become a technical problem that needs to be solved urgently. Summary of the invention

[0003] The main purpose of this application is to provide a robot outbound calling method, device, equipment and storage medium, aiming to solve the technical problem of low utilization rate of existing robot outbound calling resources.

[0004] To achieve the above purpose, the present application proposes a robot outbound calling method, which includes:

[0005] When an outbound call task is received, corresponding outbound call resources and concurrent quantity are allocated to the outbound call task, wherein the outbound call resources include text-to-speech resources, speech-to-text resources and line resources;

[0006] Executing the outbound call task through a cluster node based on the outbound call resources and the concurrent quantity;

[0007] Query the started target outbound call task, determine whether the target outbound call task has an outbound call customer, and obtain the query result;

[0008] Determine available resources according to the query result;

[0009] Resource allocation is performed based on the available resources and the query result.

[0010] Optionally, the step of allocating resources based on the available resources and the query result includes:

[0011] Determine, based on the query result, whether there is an effective outbound call task for an outbound call customer;

[0012] Determining the priority of the effective outbound call task;

[0013] Outbound call resources are allocated to the valid outbound call task according to the priority and the available resources.

[0014] Optionally, the step of allocating outbound call resources to the valid outbound call task according to the priority and the available resources includes:

[0015] Determine a first outbound call task with the highest priority among the valid outbound call tasks according to the priority;

[0016] Calculate the number of allocatable resources according to the available resources;

[0017] Evenly distribute the allocatable resources to the first outbound call task.

[0018] Optionally, the step of determining available resources according to the query result includes:

[0019] Determine, based on the query result, that there is no invalid outbound call task for the outbound call customer;

[0020] Performing resource downgrading on the invalid outbound call task to obtain a resource downgrading result;

[0021] Determine, based on the query result, whether there is an effective outbound call task for an outbound call customer;

[0022] Maintaining the existing resources of the effective outbound call task unchanged and determining resource occupancy information;

[0023] Determine available resources according to the resource occupancy information and the resource degradation result.

[0024] Optionally, after the step of allocating resources based on the available resources and the query result, the method further includes:

[0025] Determine the concurrency value of each cluster node;

[0026] Determine whether the concurrent value is greater than a preset threshold;

[0027] When the concurrency value is greater than a preset threshold, determining whether there is a historical task on the cluster node;

[0028] When there are historical tasks on the cluster node, modify the number of concurrent outbound calls according to the historical tasks and the currently assigned tasks;

[0029] When there is no historical task in the cluster node, a new outbound call task is created according to the currently assigned task.

[0030] Optionally, the step of executing the outbound call task through a cluster node based on the outbound call resources and the concurrent quantity includes:

[0031] Determine a target concurrent number according to the outbound call resources and the concurrent number;

[0032] Get the number of nodes in the cluster;

[0033] Determine the actual concurrent number of the cluster nodes according to the target concurrent number and the number of nodes;

[0034] The outbound call task is executed through the cluster node according to the actual concurrent number.

[0035] Optionally, after the step of allocating resources based on the available resources and the query result, the method further includes:

[0036] Get outbound call information of outbound call tasks;

[0037] determining resource utilization according to the outbound call information;

[0038] Determine resources to be expanded based on the resource utilization rate, and perform resource expansion based on the resources to be expanded.

[0039] In addition, to achieve the above purpose, the present application also proposes a robot outbound calling device, the robot outbound calling device comprising:

[0040] A resource allocation module, configured to allocate corresponding outbound call resources and concurrent quantity to an outbound call task upon receiving the outbound call task, wherein the outbound call resources include text-to-speech resources, speech-to-text resources and line resources;

[0041] An outbound call task execution module, used for executing the outbound call task through a cluster node based on the outbound call resources and the concurrent quantity;

[0042] A query module, used to query the started target outbound call task, determine whether there is an outbound call customer for the target outbound call task, and obtain the query result;

[0043] A determination module, used to determine available resources according to the query result;

[0044] A resource reallocation module is used to allocate resources based on the available resources and the query result.

[0045] In addition, to achieve the above-mentioned purpose, the present application also proposes a robot outbound call device, which includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, and the computer program is configured to implement the steps of the robot outbound call method described above.

[0046] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by the processor, the steps of the robot outbound call method described above are implemented.

[0047] When receiving an outbound call task, the present application allocates corresponding outbound call resources and concurrent numbers for the outbound call task, wherein the outbound call resources include text-to-speech resources, speech-to-text resources, and line resources; executes the outbound call task through the cluster node based on the outbound call resources and the concurrent number; queries the initiated target outbound call task, determines whether there are outbound call customers for the target outbound call task, and obtains the query result; determines available resources based on the query result; and allocates resources based on the available resources and the query result. Since the present application queries the initiated target outbound call task, the available resources are determined based on the query result, and the resources are reallocated based on the available resources and the query result. Compared with the existing method of fixedly allocating corresponding resources to outbound call tasks, the above method of the present application can improve the utilization rate of outbound call resources and reduce outbound call costs. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0049] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0050] Figure 1 A flowchart of the first embodiment of the robot outbound calling method of the present application is provided;

[0051] Figure 2 A flowchart diagram of the second embodiment of the robot outbound calling method of the present application;

[0052] Figure 3 A schematic diagram of node update provided for the second embodiment of the robot outbound calling method of the present application;

[0053] Figure 4 This is a schematic diagram of the module structure of the robot outbound calling device according to an embodiment of the present application;

[0054] Figure 5 This is a schematic diagram of the device structure of the hardware operating environment involved in the robot outbound calling method in the embodiment of the present application.

[0055] The purpose, features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0056] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.

[0057] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.

[0058] The main solution of the embodiment of the present application is: when an outbound call task is received, corresponding outbound call resources and concurrent quantity are allocated to the outbound call task, and the outbound call resources include text-to-speech resources, speech-to-text resources and line resources; based on the outbound call resources and the concurrent quantity, the outbound call task is executed through the cluster node; the started target outbound call task is queried to determine whether the target outbound call task has an outbound call customer, and the query result is obtained; the available resources are determined according to the query result; and the resources are allocated based on the available resources and the query result.

[0059] Since this application is a query-initiated target outbound call task, available resources are determined based on the query results, and resources are redistributed based on the available resources and the query results. Compared with the existing method of allocating corresponding resources to outbound call tasks, the above method of this application can improve the utilization rate of outbound call resources and reduce outbound call costs.

[0060] It should be noted that the execution subject of this embodiment may be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device capable of realizing the above functions, a robot outbound calling device, etc. The following takes a robot outbound calling device as an example to illustrate this embodiment and the following embodiments.

[0061] Based on this, the embodiment of the present application provides a robot outbound calling method, referring to Figure 1 , Figure 1 This is a flow chart of the first embodiment of the robot outbound calling method of the present application.

[0062] In this embodiment, the robot outbound calling method includes steps S10 to S40:

[0063] Step S10, when an outbound call task is received, corresponding outbound call resources and concurrent quantity are allocated to the outbound call task, wherein the outbound call resources include text-to-speech resources, speech-to-text resources and line resources;

[0064] It should be noted that the outbound call task may be an outbound call task generated according to business needs. For example, according to business needs, it is necessary to make outbound calls to 1,000 customers, then the outbound call task is to make outbound calls to 1,000 customers. The outbound call resources include text-to-speech resources (TTS), speech-to-text resources (AS R) and line resources (CAPS resources). Specifically, the line resource configuration includes the line name, the supported CAPS value, and the number of line concurrencies, that is, the number of customers that a line can call simultaneously. TTS resources include TTS information, the total number of resources, and the TTS information may include manufacturer information. ASR resource configuration includes ASR information, the total number of resources, and the ASR information may include manufacturer information, that is, manufacturer-related information of which manufacturer is purchased and the purchase quantity, etc. The concurrency number may be the number of customers that can be called simultaneously configured for the call task with customers. The actual concurrency number of the call task depends on the number of allocated resources. Each outbound call needs to rely on 1 line resource, 1 TTS resource and 1 ASR resource. The actual concurrency number is the minimum value of the allocated line resources, TTS resources and ASR resources. For example, even if the number of concurrent calls allocated to an outbound call task is 10, but the line resources, TTS resources, and ASR resources allocated thereto are 4, 5, and 9 respectively, the actual number of concurrent calls for the outbound call task is 4. The allocation of the corresponding outbound call resources and concurrent calls to the outbound call task may be to allocate a certain number of concurrent calls, line resources, TTS resources, and ASR resources to the outbound call task according to information such as the priority of the outbound call task and the number of outbound call customers, and the outbound call task uses a certain line of a certain operator, a certain tone of a certain manufacturer, and other information. In order to avoid wasting resources, the number of line resources, TTS resources, and ASR resources may be equal.

[0065] It should be understood that during a call, the speech-to-text function is mainly responsible for converting the words spoken by the customer into text in real time. The configuration information of the ASR resources can be defined in advance. ASR may include different manufacturers, and the number of resources for each manufacturer is different. Parameter information can be configured in advance during the ASR resource configuration. The core parameter is to configure the total number of resources for each manufacturer. During a call, the text-to-speech function is mainly responsible for converting the response words into audio and broadcasting them through the phone. The configuration information of the TTS resources is defined in advance. TTS may include different manufacturers, and the number of resources for each manufacturer is different. Parameter information can be configured in advance during the TTS resource configuration. The core parameter is to configure the total number of resources for each manufacturer. When selecting the outbound call line, in order to ensure the connection rate, multiple line providers are selected, so different lines will be accessed. The CAPS value and call concurrency value of each line are not the same. Parameter information can be configured in advance during the line resource configuration. The core parameter is to configure the total number of resources for each line.

[0066] Step S20: Execute the outbound call task through the cluster nodes based on the outbound call resources and the concurrency quantity.

[0067] It should be noted that the execution of the outbound call task through the cluster nodes based on the outbound call resources and the concurrency quantity can be to execute the outbound call task in a cluster manner. Specifically, according to the outbound call resources and the concurrency quantity, the outbound call task is evenly distributed to each node in the cluster, so that each node simultaneously executes the assigned outbound call task. For example, if an outbound call task has M concurrencies and there are N nodes in total, then the concurrency number of each node is M / N. The outbound call resources are allocated to each node according to the concurrency number of each node. When M > N, each node will be assigned an outbound call task. If the reallocated resources become larger, then each node needs to update the concurrency number of the outbound call task according to the latest concurrency number. That is, if the previous outbound call task of this node has not been completed, then update the concurrency number of the outbound call task according to the previous concurrency number and the currently assigned concurrency number. When M < N, some nodes will not start the outbound call task.

[0068] Furthermore, to avoid resource waste, step S20 may include: determining the target concurrency quantity according to the outbound call resources and the concurrency quantity;

[0069] Obtaining the number of nodes of the cluster nodes;

[0070] Determining the actual concurrency number of the cluster nodes according to the target concurrency quantity and the number of nodes;

[0071] Executing the outbound call task through the cluster nodes according to the actual concurrency number.

[0072] It should be noted that each outbound call requires 1 line resource, 1 TTS resource and 1 ASR resource. It occupies one concurrency number. Therefore, the actual outbound concurrency number of the outbound call task depends on the minimum value of the line resources, TTS resources, ASR resources and the allocated concurrency number in the outbound call resources. Therefore, the target concurrency number can be the concurrency number of outbound calls that the outbound call task can actually perform based on the outbound call resources and the concurrency number. The number of nodes of the cluster node is the current number of nodes in the cluster, and the number of nodes can be increased according to the outbound call situation of the node. The actual concurrency number of the cluster node determined according to the target concurrency number and the number of nodes can be actual concurrency number = target concurrency number / number of nodes. The execution of the outbound call task through the cluster node according to the actual concurrency number can be to allocate the corresponding outbound call resources to the corresponding cluster node according to the actual concurrency number, so that the cluster node starts the outbound call task based on the outbound call resources to perform robot outbound calls.

[0073] Step S30, querying the started target outbound call task, determining whether there is an outbound call customer for the target outbound call task, and obtaining a query result;

[0074] It should be noted that the querying of the activated target outbound call task may be to query all currently activated outbound call tasks, and then query whether the activated outbound call task has a customer according to the activated outbound call task to obtain the query result.

[0075] Step S40: determining available resources according to the query result, and performing resource allocation based on the available resources and the query result.

[0076] It should be noted that the determination of available resources based on the query results can be that for an outbound call task that does not have an outbound customer, the concurrency of the task is extracted, and only the preset default minimum concurrency is retained. The allocated outbound call resources are extracted while the concurrency is reduced to ensure that the outbound call resources maintain the minimum concurrency. The reason for retaining the minimum concurrency is to ensure that when a customer is imported for the task, the call can be called out immediately. If there is an outbound call task for an outbound customer, the configured concurrency is kept unchanged to ensure that the concurrency of the business configuration is not reallocated, and in the absence of excess resources, the business needs are limitedly guaranteed. After the concurrency and resource extraction, the current available resources are counted. The resource allocation based on the available resources and the query results can be to determine the outbound call task for which a customer exists based on the query results, and determine the priority of the outbound call task for which a customer exists, and allocate the available resources to the outbound call task with the highest priority based on the priority. The statistics of currently available resources can be to determine the total number of concurrent tasks occupied by outbound calling customers, the minimum number of concurrent tasks reserved by tasks without outbound calling customers, and to count the number of concurrent tasks used by each resource and each manufacturer, and calculate the remaining number of resources for each resource and each manufacturer. The remaining number of concurrent tasks for each resource = the total number of concurrent tasks for the resource - the total number of concurrent tasks occupied by customers - the total number of concurrent tasks reserved by tasks without customers.

[0077] Further, in order to improve the efficiency of resource allocation, the step of determining available resources according to the query result includes: determining, according to the query result, that there are no invalid outbound call tasks for outbound call customers;

[0078] Performing resource downgrading on the invalid outbound call task to obtain a resource downgrading result;

[0079] Determine, based on the query result, whether there is an effective outbound call task for an outbound call customer;

[0080] Maintaining the existing resources of the effective outbound call task unchanged and determining resource occupancy information;

[0081] Determine available resources according to the resource occupancy information and the resource degradation result.

[0082] It should be noted that the resource downgrading of the invalid outbound call task may be to reduce the resources of the invalid outbound call task to a preset reserved resource number, that is, to retain the default minimum concurrency number. For example, the preset reserved resource number is 2. Then, when there is no outbound customer for the outbound call task, only two concurrency numbers, two TTS resources, two ASR resources and two line resources are reserved for the invalid outbound call task without outbound customers. It is sufficient to ensure that when there is a customer imported into the invalid outbound call task, it can be called out immediately. The resource occupancy information may be the number of resources occupied by the valid outbound call task with outbound customers. The determination of available resources based on the resource occupancy information and the resource downgrading result may be to obtain available resources based on the total number of resources of each resource minus the resources occupied in the resource occupancy information and the resource downgrading result. For example: let the total number of TTS resources be T, and the number of resources configured for each outbound call task be Y. If each task has a customer making an outbound call, the number of TTS resources that can be allocated is T-(Y1+Y2+Y3...). If the minimum number of reserved resources for each task is 2, and some tasks have no outbound customers, the number of TTS resources that can be allocated is T-(2+2+Y3...), and Yi represents the i-th outbound task. Let the total number of ASR resources be A, and the number of resources configured for each outbound task be S. If each task has a customer making an outbound call, the number of ASR resources that can be allocated is A-(S1+S2+S3...). If the minimum number of reserved resources for each task is 2, and some tasks have no outbound customers, the number of ASR resources that can be allocated is A-(2+2+S3...), and Si represents the i-th outbound task. Let the total number of line resources be N, and the number of resources configured for each outbound task be M. If each task has a customer making an outbound call, the number of line resources that can be allocated is N-(M1+M2+M3...). If the minimum number of reserved resources for each task is 2, and some tasks have no outbound customers, then the number of line resources that can be allocated is N-(2+2+M3...), where Mi represents the i-th outbound task.

[0083] Furthermore, in order to improve the outbound call efficiency, after step S40, the method further includes: obtaining outbound call information of the outbound call task;

[0084] determining resource utilization according to the outbound call information;

[0085] Determine resources to be expanded based on the resource utilization rate, and perform resource expansion based on the resources to be expanded.

[0086] It should be noted that the outbound call information may include information such as the number of customers, start time, end time, usage information of outbound call resources, and concurrent quantity of the outbound call task. Determining the resource utilization rate according to the outbound call information may be determining the utilization rate of TTS resources, ASR resources, and line resources according to the outbound call information, and may be the working time / (working time + idle time) of each resource. Determining the resources to be expanded based on the resource utilization rate may be determining the resources with the highest utilization rate according to the resource utilization rate, and expanding the resources with the highest utilization rate. If it is TTS resources and / or ASR resources, they can be expanded by purchasing or adding servers. If it is line resources, they can be expanded by purchasing. If in the resource utilization rate, the utilization rates of the above three resources are all greater than the preset utilization threshold, the above three resources can be expanded at the same time.

[0087] When receiving an outbound call task, this embodiment allocates corresponding outbound call resources and concurrent numbers for the outbound call task, and the outbound call resources include text-to-speech resources, speech-to-text resources, and line resources; executes the outbound call task through the cluster node based on the outbound call resources and the concurrent number; queries the initiated target outbound call task, determines whether the target outbound call task has an outbound customer, and obtains a query result; determines available resources based on the query result; and allocates resources based on the available resources and the query result. Since this embodiment queries the initiated target outbound call task, determines available resources based on the query result, and reallocates resources based on the available resources and the query result. Compared with the existing method of fixedly allocating corresponding resources to outbound call tasks, the above method of this embodiment can improve the utilization rate of outbound call resources and reduce outbound call costs.

[0088] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction, and will not be repeated in the following. Figure 2 , Figure 2 The flowchart provided for the second embodiment of the robot outbound calling method of the present application, the step S40: allocating resources based on the available resources and the query results, includes:

[0089] Step S401: determining, based on the query result, whether there is an effective outbound call task for an outbound call customer;

[0090] It should be noted that the effective outbound calling task may be an outbound calling task for which there are outbound calling customers.

[0091] Step S402: Determine the priority of the effective outbound call task;

[0092] It should be noted that the priority of the effective outbound call task may be the priority of the outbound call task configured when the outbound call task is generated according to business needs.

[0093] Step S403: allocating outbound call resources to the effective outbound call task according to the priority and the available resources.

[0094] It should be noted that allocating outbound call resources to the effective outbound call tasks according to the priorities and the available resources may be allocating more resources to outbound call tasks with higher priorities, and allocating less or no available resources to outbound call tasks with lower priorities.

[0095] Further, the step S403 may include: determining a first outbound call task with the highest priority among the valid outbound call tasks according to the priority;

[0096] Calculate the number of allocatable resources according to the available resources;

[0097] Evenly distribute the allocatable resources to the first outbound call task.

[0098] It should be noted that the first outbound call task may be the outbound call task with the highest priority among the valid outbound call tasks, and there may be multiple outbound call tasks. The calculation of the number of allocatable resources based on the available resources may be to calculate the allocatable numbers of line resources, TTS resources and ASR resources respectively. The uniform distribution of the number of allocatable resources to the first outbound call tasks may be to determine the number of allocatable resources for each first outbound call task based on the number of first outbound call tasks and the number of allocatable resources, and to allocate resources to the first outbound call tasks based on the number of allocatable resources. Among them, if the number of allocatable resources is less than the number of first outbound call tasks, the number of allocatable resources may be allocated to the first outbound call tasks by random allocation.

[0099] Furthermore, in order to improve the outbound call efficiency, after step S40, the method further includes: determining the concurrency value of each cluster node;

[0100] Determine whether the concurrent value is greater than a preset threshold;

[0101] When the concurrency value is greater than a preset threshold, determining whether there is a historical task on the cluster node;

[0102] When there are historical tasks on the cluster node, modify the number of concurrent outbound calls according to the historical tasks and the currently assigned tasks;

[0103] When there is no historical task in the cluster node, a new outbound call task is created according to the currently assigned task.

[0104] It should be noted that the determination of the concurrency value of each cluster node may be to determine the current concurrency value of each node in the cluster. The preset threshold may be 0, that is, to determine whether the concurrency value of the cluster node is greater than 0. If it is equal to 0, the outbound call task may be deleted. When the concurrency value is greater than the preset threshold, that is, when the concurrency value is not 0, determine whether there are historical tasks for the cluster node, that is, whether there are historical outbound call tasks that have not been deleted. If so, update the concurrency number of outbound calls based on the concurrency number corresponding to the historical tasks and the concurrency number of the currently assigned tasks. If there are no historical tasks for the cluster node, directly create a new outbound call task and execute it based on the resources and concurrency number corresponding to the currently assigned tasks. For details, please refer to Figure 3 , Figure 3 A schematic diagram of node update provided in Example 2 of the robot outbound calling method of this application, Figure 3 The concurrency number of detecting the current node of the current task in is the concurrency number of detecting the nodes in the cluster corresponding to the current outbound call task. Figure 3 The determination of whether a task exists is to determine whether there is a historical task in the node.

[0105] This embodiment determines the valid outbound call tasks of outbound customers based on the query results; determines the priority of the valid outbound call tasks; and allocates outbound call resources to the valid outbound call tasks based on the priority and the available resources. Compared with the existing outbound call methods, this embodiment has the characteristics of flexible and simple configuration, high timeliness, reasonable resource utilization, and no need for human intervention. In the case of fixed resources, more customers' outbound calls can be met, and all resources can be fully utilized to ensure balanced resource use. In the case of fixed business scenarios, fewer resources can be used to meet business scenarios, thereby saving costs. Automatic allocation of resources can achieve all-weather unattended processing without the need for human intervention, thereby saving labor costs.

[0106] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the robot outbound calling method of the present application. More simple transformations based on this technical concept are all within the scope of protection of the present application.

[0107] This application also provides a robot outbound calling device, please refer to Figure 4 , the robot outbound calling device comprises:

[0108] The resource allocation module 10 is used to allocate corresponding outbound call resources and concurrent quantity to the outbound call task when receiving the outbound call task, and the outbound call resources include text-to-speech resources, speech-to-text resources and line resources;

[0109] An outbound call task execution module 20, configured to execute the outbound call task through a cluster node based on the outbound call resources and the concurrent quantity;

[0110] A query module 30 is used to query the started target outbound call task, determine whether there is an outbound call customer for the target outbound call task, and obtain a query result;

[0111] A determination module 40, configured to determine available resources according to the query result;

[0112] The resource reallocation module 50 is configured to allocate resources based on the available resources and the query result.

[0113] When receiving an outbound call task, this embodiment allocates corresponding outbound call resources and concurrent numbers for the outbound call task, and the outbound call resources include text-to-speech resources, speech-to-text resources, and line resources; executes the outbound call task through the cluster node based on the outbound call resources and the concurrent number; queries the initiated target outbound call task, determines whether the target outbound call task has an outbound customer, and obtains a query result; determines available resources based on the query result; and allocates resources based on the available resources and the query result. Since this embodiment queries the initiated target outbound call task, determines available resources based on the query result, and reallocates resources based on the available resources and the query result. Compared with the existing method of fixedly allocating corresponding resources to outbound call tasks, the above method of this embodiment can improve the utilization rate of outbound call resources and reduce outbound call costs.

[0114] The robot outbound calling device provided by the present application adopts the robot outbound calling method in the above embodiment, which can solve the technical problem of low utilization rate of existing robot outbound calling resources. Compared with the prior art, the beneficial effects of the robot outbound calling device provided by the present application are the same as the beneficial effects of the robot outbound calling method provided by the above embodiment, and other technical features in the robot outbound calling device are the same as the features disclosed in the above embodiment method, which will not be repeated here.

[0115] The present application provides a robot outbound call device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the robot outbound call method in the above-mentioned embodiment one.

[0116] Reference below Figure 5, which shows a schematic diagram of the structure of a robot outbound calling device suitable for implementing the embodiment of the present application. The robot outbound calling device in the embodiment of the present application may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 5 The robot outbound calling device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0117] like Figure 5 As shown, the robot outbound call device may include a processing device 1001 (e.g., a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM: Read Only Memory) 1002 or a program loaded from a storage device 1003 to a random access memory (RAM: Random Access Memory) 1004. In RAM1004, various programs and data required for the operation of the robot outbound call device are also stored. The processing device 1001, ROM1002, and RAM1004 are connected to each other through a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems can be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touch pad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the robot outbound calling device to communicate with other devices wirelessly or by wire to exchange data. Although the figure shows a robot outbound calling device with various systems, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems can be implemented or have alternatively.

[0118] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.

[0119] The robot outbound calling device provided by the present application adopts the robot outbound calling method in the above embodiment, which can solve the technical problem of low utilization rate of existing robot outbound calling resources. Compared with the prior art, the beneficial effects of the robot outbound calling device provided by the present application are the same as the beneficial effects of the robot outbound calling method provided by the above embodiment, and the other technical features of the robot outbound calling device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.

[0120] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0121] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

[0122] The present application provides a computer-readable storage medium having computer-readable program instructions (i.e., computer programs) stored thereon, and the computer-readable program instructions are used to execute the robot outbound calling method in the above-mentioned embodiment.

[0123] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination of the above.

[0124] The above-mentioned computer-readable storage medium may be included in the robot outbound calling device; or it may exist independently without being assembled into the robot outbound calling device.

[0125] The above-mentioned computer-readable storage medium carries one or more programs. When the above-mentioned one or more programs are executed by the robot outbound calling device, the robot outbound calling device executes the above-mentioned robot outbound calling method.

[0126] Computer program code for performing the operations of the present application may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0127] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0128] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.

[0129] The readable storage medium provided in the present application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned robot outbound calling method, and can solve the technical problem of low utilization rate of existing robot outbound calling resources. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in the present application are the same as the beneficial effects of the robot outbound calling method provided in the above-mentioned embodiment, and will not be elaborated here.

[0130] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.

Claims

1. A robot outbound calling method, characterized in that: The robot outbound calling method comprises the following steps: When an outbound call task is received, corresponding outbound call resources and concurrent quantity are allocated to the outbound call task, wherein the outbound call resources include text-to-speech resources, speech-to-text resources and line resources; Executing the outbound call task through a cluster node based on the outbound call resources and the concurrent quantity; Query the started target outbound call task, determine whether the target outbound call task has an outbound call customer, and obtain the query result; Determine available resources according to the query result; Resource allocation is performed based on the available resources and the query result.

2. The robot outbound calling method according to claim 1, characterized in that: The step of allocating resources based on the available resources and the query result comprises: Determine, based on the query result, whether there is an effective outbound call task for an outbound call customer; Determining the priority of the effective outbound call task; Outbound call resources are allocated to the valid outbound call task according to the priority and the available resources.

3. The robot outbound calling method according to claim 2, characterized in that: The step of allocating outbound call resources to the effective outbound call task according to the priority and the available resources comprises: Determine a first outbound call task with the highest priority among the valid outbound call tasks according to the priority; Calculate the number of allocatable resources according to the available resources; Evenly distribute the allocatable resources to the first outbound call task.

4. The robot outbound calling method according to claim 1, characterized in that: The step of determining available resources according to the query result comprises: Determine, based on the query result, that there is no invalid outbound call task for the outbound call customer; Performing resource downgrading on the invalid outbound call task to obtain a resource downgrading result; Determine, based on the query result, whether there is an effective outbound call task for an outbound call customer; Maintaining the existing resources of the effective outbound call task unchanged and determining resource occupancy information; Determine available resources according to the resource occupancy information and the resource degradation result.

5. The robot outbound calling method according to any one of claims 1 to 4, characterized in that: After the step of allocating resources based on the available resources and the query results, the method further includes: Determine the concurrency value of each cluster node; Determine whether the concurrent value is greater than a preset threshold; When the concurrency value is greater than a preset threshold, determining whether there is a historical task on the cluster node; When there are historical tasks on the cluster node, modify the number of concurrent outbound calls according to the historical tasks and the currently assigned tasks; When there is no historical task in the cluster node, a new outbound call task is created according to the currently assigned task.

6. The robot outbound calling method according to any one of claims 1 to 4, characterized in that: The step of executing the outbound call task through a cluster node based on the outbound call resources and the concurrent quantity includes: Determine a target concurrent number according to the outbound call resources and the concurrent number; Get the number of nodes in the cluster; Determine the actual concurrent number of the cluster nodes according to the target concurrent number and the number of nodes; The outbound call task is executed through the cluster node according to the actual concurrent number.

7. The robot outbound calling method according to any one of claims 1 to 4, characterized in that: After the step of allocating resources based on the available resources and the query results, the method further includes: Get outbound call information of outbound call tasks; determining resource utilization according to the outbound call information; Determine resources to be expanded based on the resource utilization rate, and perform resource expansion based on the resources to be expanded.

8. A robot outbound calling device, characterized in that: The robot outbound calling device comprises: A resource allocation module, configured to allocate corresponding outbound call resources and concurrent quantity to an outbound call task upon receiving the outbound call task, wherein the outbound call resources include text-to-speech resources, speech-to-text resources and line resources; An outbound call task execution module, used for executing the outbound call task through a cluster node based on the outbound call resources and the concurrent quantity; A query module, used to query the started target outbound call task, determine whether there is an outbound call customer for the target outbound call task, and obtain the query result; A determination module, used to determine available resources according to the query result; A resource reallocation module is used to allocate resources based on the available resources and the query result.

9. A robot outbound calling device, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the robot outbound calling method according to any one of claims 1 to 7.

10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the robot outbound calling method as described in any one of claims 1 to 7 are implemented.