A method and related device for adjusting outbound call dispatching rate
By calculating the ratio of the acquisition amount of outbound call data to the processing rate and adjusting the time interval of outbound call scheduling, the problem of mismatch between the scheduling rate and processing capacity in traditional outbound call systems is solved, and efficient resource utilization is achieved.
Patent Information
- Application Number
- CN202210748862.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-29
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2042-06-29
AI Technical Summary
Traditional outbound call systems are difficult to match the scheduling rate and processing capabilities of outbound call data, resulting in resource loss and waste.
By calculating the ratio of the acquisition amount of outgoing call data and the processing rate, and adjusting the second time interval when the first time interval and the pre-stored second time interval are inconsistent, the second time interval is adjusted to match the processing capability.
The outgoing call data scheduling rate and processing rate are matched, reducing resource loss and waste.
Smart Images

Figure CN115134463B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of financial technology, and in particular to a method and related device for adjusting an outbound call dispatch rate. Background Art
[0002] With the development of communication technology, traditional outbound call systems are difficult to meet the changing needs of the market. At present, enterprises can use the intelligent outbound call dispatching system to implement the dispatching and execution of outbound call tasks. The intelligent outbound call dispatching system uses an asynchronous task scheduling framework, which is implemented through a thread pool at the bottom layer. The time interval for dispatching outbound call data is pre-set, and technicians can modify it regularly in the change window through the internal system of the enterprise. However, manually modifying the time interval for controlling the dispatching of outbound call data may cause a mismatch between the rate of outbound call data dispatching and the processing capacity of outbound call data, which in turn causes resource loss and waste.
[0003] Therefore, it is hoped to provide a method to reduce resource loss and waste. Summary of the invention
[0004] The present application provides a method and related device for adjusting the outbound call scheduling rate, so that the rate of outbound call data scheduling can match the processing capacity of the outbound call data, thereby reducing resource loss and waste.
[0005] In the first aspect, the present application provides a method for adjusting the outbound call scheduling rate, which can be executed by a device for adjusting the outbound call scheduling rate, or by a component (such as a chip, a chip system, etc.) configured in the device for adjusting the outbound call scheduling rate, or by a logic module or software that can realize all or part of the functions of the device for adjusting the outbound call scheduling rate, and the present application does not limit this.
[0006] Exemplarily, the method includes: calculating a first time interval, the first time interval being a ratio of a predefined amount of acquired outbound call data to a processing rate of the outbound call data; acquiring a prestored second time interval, the second time interval being used to determine a time for acquiring the outbound call data next time; adjusting the second time interval if the first time interval and the second time interval are inconsistent; and acquiring the outbound call data based on the adjusted second time interval.
[0007] It can be seen that the first time interval is a time interval calculated by considering the processing capacity of the outbound call data. When the second time interval is inconsistent with the first time interval, the second time interval is adjusted so that the adjusted second time interval can match the current processing capacity. In other words, the scheduling rate and processing rate of the outbound call data can be matched, which is conducive to reducing resource loss and waste.
[0008] In combination with the first aspect, in a possible implementation manner of the first aspect, adjusting the second time interval includes: determining a third time interval; and adjusting the second time interval based on the third time interval.
[0009] In combination with the first aspect, in a possible implementation of the first aspect, if the first time interval is greater than the second time interval, the determined third time interval is greater than the second time interval; or, if the first time interval is less than the second time interval, the determined third time interval is less than the second time interval.
[0010] In combination with the first aspect, in a possible implementation of the first aspect, if the first time interval is greater than the second time interval, the third time interval = the second time interval × (1 + offset coefficient %); or, if the first time interval is less than the second time interval, the third time interval = the second time interval × (1 - offset coefficient %); wherein the offset coefficient is obtained from a database.
[0011] In combination with the first aspect, in a possible implementation of the first aspect, the offset coefficient stored in the database can be updated in response to a user operation.
[0012] In combination with the first aspect, in a possible implementation of the first aspect, the method further includes: determining a processing rate of outbound call data, wherein the processing rate of outbound call data is a ratio of a processing amount of outbound call data within a preset time period to a duration of the preset time period.
[0013] In combination with the first aspect, in a possible implementation of the first aspect, determining the processing rate of the outbound call data includes: periodically determining the processing rate of the outbound call data.
[0014] In combination with the first aspect, in a possible implementation manner of the first aspect, the second time interval is pre-stored in a database, and obtaining the pre-stored second time interval includes: obtaining the second time interval from the database.
[0015] In combination with the first aspect, in a possible implementation of the first aspect, adjusting the second time interval based on the third time interval includes: storing the third time interval in the database to update the second time interval in the database.
[0016] In combination with the first aspect, in a possible implementation of the first aspect, the second time interval stored in the database can be updated in response to a user operation.
[0017] In combination with the first aspect, in a possible implementation of the first aspect, the database includes a cache database.
[0018] In a second aspect, the present application provides a device for adjusting an outbound call scheduling rate, comprising a calculation unit, an acquisition unit, and an adjustment unit. The calculation unit is used to calculate a first time interval, which is a ratio of a predefined amount of outbound call data to a processing rate of the outbound call data; the acquisition unit is used to acquire a pre-stored second time interval, which is used to determine the time for acquiring the outbound call data next time; the adjustment unit is used to adjust the second time interval when the first time interval and the second time interval are inconsistent; the acquisition unit is also used to acquire the outbound call data based on the adjusted second time interval.
[0019] In a third aspect, the present application provides a device for adjusting an outbound call dispatch rate, the device comprising a processor. The processor is coupled to a memory and can be used to execute a computer program in the memory to implement the method described in the first aspect and any possible implementation of the first aspect.
[0020] Optionally, the device in the third aspect also includes a memory.
[0021] Optionally, the device in the third aspect further includes a communication interface, and the processor is coupled to the communication interface.
[0022] In a fourth aspect, the present application provides a chip system comprising at least one processor for supporting the implementation of the functions involved in the above-mentioned first aspect and any possible implementation method of the first aspect, for example, receiving or processing the data involved in the above-mentioned method, etc.
[0023] In one possible design, the chip system also includes a memory, which is used to store program instructions and data, and the memory is located inside or outside the processor.
[0024] The chip system may be composed of the chip, or may include the chip and other discrete devices.
[0025] In a fifth aspect, the present application provides a computer-readable storage medium, on which a computer program (also referred to as code, or instructions) is stored. When the computer program is run by a computer, the method described in the above-mentioned first aspect and any possible implementation of the first aspect is executed.
[0026] In a sixth aspect, the present application provides a computer program product, comprising: a computer program (also referred to as code, or instructions), which, when executed, enables the method described in the above-mentioned first aspect and any possible implementation of the first aspect to be executed.
[0027] It should be understood that the second to sixth aspects of the present application correspond to the technical solutions of the first aspect of the present application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar and will not be repeated here.
[0028] It should also be understood that the method and related device for adjusting the outbound call dispatch rate provided in the present application can be applied to the field of financial technology as well as other fields. The present application does not limit this. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Figure 1 It is a schematic diagram of an application scenario applicable to the method provided in the embodiment of the present application;
[0030] Figure 2 is a schematic flow chart of a method for adjusting an outbound call dispatch rate provided in an embodiment of the present application;
[0031] Figure 3 It is a flowchart of outbound call scheduling provided by an embodiment of the present application;
[0032] Figure 4 It is a flowchart of adjusting the time interval for obtaining outbound call data provided by an embodiment of the present application;
[0033] Figure 5 is a schematic block diagram of a device for adjusting an outbound call scheduling rate provided in an embodiment of the present application;
[0034] Figure 6 It is another schematic block diagram of the device for adjusting the outbound call scheduling rate provided in an embodiment of the present application. DETAILED DESCRIPTION
[0035] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0036] To facilitate understanding of the method provided by the present application, the terms involved in the present application are first explained below.
[0037] 1. Intelligent outbound call dispatching system: refers to a system that can complete batch outbound calls for customers. During the execution of outbound call tasks, the outbound call tasks can also be paused, restarted, terminated, etc. according to actual conditions. Among them, each outbound call task can include multiple outbound call data, such as the customer's phone number, so that the intelligent outbound call dispatching system can make outbound calls based on the above outbound call data.
[0038] 2. Thread pool: refers to a collection of created threads. Using thread pool can improve performance. The thread pool creates a large number of idle threads when the system starts. After obtaining the task data, the task can be passed to the thread pool. The thread pool will start a thread to execute the above task, that is, to make an outbound call based on the data. After the execution is completed, the thread will not die, but return to the thread pool again and become idle, waiting to execute the next task.
[0039] 3. Asynchronous task scheduling framework: It is a framework that implements task management in an asynchronous way, and is implemented through a thread pool at the bottom. The intelligent outbound call scheduling system can implement the scheduling of outbound call tasks based on the asynchronous task scheduling framework.
[0040] Exemplarily, the bottom layer encapsulates the thread pool, and the intelligent outbound call dispatching system can obtain a batch of outbound call data from the database each time, and put the outbound call data into the asynchronous task dispatching framework after obtaining the outbound call data. The asynchronous task dispatching framework dispatches through the thread pool. If the number of this dispatch (that is, the number of outbound call data obtained from the database) is less than or equal to the number of core threads, it is directly dispatched and sent; if the number of this dispatch (that is, the number of outbound call data obtained from the database) is greater than the number of core threads, the remaining outbound call data is put into the queue and waits for the next dispatch. For example, if the number of core threads is 10 and the number of this dispatch (that is, the number of outbound call data obtained from the database) is 20, 10 data will be sent, and the other 10 data will be put into the queue and wait for the next dispatch.
[0041] In order to more clearly describe the method provided in the embodiment of the present application, the application scenario applicable to the embodiment of the present application is described below. It is understandable that the application scenario described in the embodiment of the present application is to more clearly illustrate the technical solution of the embodiment of the present application, and does not constitute a limitation on the technical solution provided in the embodiment of the present application.
[0042] Figure 1 Schematic diagram of an application scenario applicable to the method provided in the embodiment of the present application. Figure 1 As shown, the technician can manually modify the time interval between two acquisitions of outbound call data in the change window of the enterprise internal system through the electronic device 110, that is, manually control the dispatch rate of the outbound call data. Among them, the electronic device 110 can be connected to the server 120 for communication, and the server 120 can present a user interface through the electronic device 110. The user interface provides an interface for the technician to interact with the server 120. The technician can send data or information to the server 120 by inputting or selecting in the user interface. Accordingly, the server 120 can obtain the outbound call data from the database based on the data or information input by the technician, and dispatch and issue it to complete the outbound call.
[0043] It should be understood that Figure 1The scenario shown is only an example, and the server 120 may be a single physical device or a server cluster consisting of multiple physical devices.
[0044] With the development of communication technology, traditional outbound call systems are difficult to meet the changing needs of the market. At present, enterprises can use the intelligent outbound call scheduling system to implement the scheduling and execution of outbound call tasks. The intelligent outbound call scheduling system uses an asynchronous task scheduling framework, which is implemented through a thread pool at the bottom. For example, Figure 1 In the scenario shown, the intelligent outbound call scheduling system is deployed on the server 120, and the time interval for scheduling outbound call data is pre-set. The technician can use the electronic device 110 to regularly modify it in the change window via the internal system of the enterprise, so that the intelligent outbound call scheduling system can schedule the outbound call data based on the above-mentioned modified time interval. However, manual modification of the time interval for controlling scheduling may cause a mismatch between the rate of outbound call data scheduling and the processing capacity of outbound call data, thereby causing resource loss and waste.
[0045] To solve the above problems, the present application provides a method for adjusting the outbound call scheduling rate, by adjusting the time interval for scheduling outbound call data by considering the processing rate of the outbound call data, so that the rate of outbound call data scheduling matches the processing capacity of the outbound call data, which is conducive to reducing resource loss and waste.
[0046] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0047] Figure 2 It is a schematic flowchart of a method 200 for adjusting an outbound call scheduling rate provided in an embodiment of the present application. Figure 2 The method 200 shown may include steps 210 to 240. Each step in the method 200 is described in detail below.
[0048] It should be understood that Figure 2 The method 200 shown uses the device for adjusting the outbound call scheduling rate as the execution subject, but it should not constitute any limitation on the execution subject of the method. As long as it can execute the program that records the code of the method provided by the present application, it can execute the method provided by the embodiment of the present application. For example, the device for adjusting the outbound call scheduling rate can also be replaced by a component configured in the device for adjusting the outbound call scheduling rate (such as a chip, a chip system, etc.), or other functional modules that can call and execute the program. It should also be understood that the device for adjusting the outbound call scheduling rate can be, for example, the intelligent outbound call scheduling system as described above, deployed in Figure 1 On the server 120 shown in .
[0049] Step 210, calculating a first time interval.
[0050] The first time interval is a ratio of a predefined amount of acquired outbound call data to a processing rate of the outbound call data. The predefined amount of acquired outbound call data refers to a predefined amount of acquired outbound call data each time. The outbound call data includes but is not limited to the customer's telephone number, and the outbound call data is used to make outbound calls to the customer.
[0051] Exemplarily, the predefined amount of outbound call data to be acquired is 50, and the processing rate of the outbound call data is 10 per second, that is, 10 calls can be made per second. The device for adjusting the outbound call scheduling rate can calculate the first time interval = 50 ÷ 10 = 5 seconds. In other words, based on the above processing rate of the outbound call data, it takes 5 seconds to process the 50 acquired data. This provides a reference for determining the time to acquire the next outbound call data.
[0052] Optionally, before calculating the first time interval, Figure 2 The method shown also includes: determining a processing rate of outbound call data, where the processing rate of outbound call data is a ratio of the processing volume of outbound call data within a preset time period to the duration of the preset time period.
[0053] The device for adjusting the outbound call scheduling rate can calculate the processing rate of the outbound call data based on the processing volume of the outbound call data in the preset time period and the duration of the preset time period. For example, if the device for adjusting the outbound call scheduling rate counts that the processing volume of the outbound call data in the first 5 seconds is 50, then the processing rate of the outbound call data in the first 5 seconds = 50 ÷ 5 = 10 / second.
[0054] The device for adjusting the outbound call scheduling rate determines the processing rate of the outbound call data by the processing volume of the outbound call data within a preset time period and the duration of the preset time period, so as to calculate the first time interval based on the above processing rate and the predefined acquisition volume of the outbound call data for adjusting the second time interval. In this way, the influence of the processing rate of the outbound call data on the second time interval for determining the time to acquire the outbound call data can be considered, which is beneficial to reduce resource loss and waste.
[0055] Optionally, determining the processing rate of the outbound call data includes: periodically determining the processing rate of the outbound call data.
[0056] Exemplarily, a timed task can be set, for example, to determine the processing rate of outbound call data once every 5 seconds, that is, to determine the processing rate of outbound call data once with a period of 5 seconds, so as to calculate the first time interval, which is then compared with the second time interval to adjust the second time interval, that is, to regulate the second time interval according to the processing rate of the outbound call data, which helps to reduce resource loss and waste.
[0057] Step 220: Obtain a pre-stored second time interval.
[0058] The second time interval is used to determine the time for acquiring the outbound call data next time.
[0059] For example, if the second time interval is 5 seconds, the outbound call data may be acquired every 5 seconds.
[0060] Optionally, the second time interval is pre-stored in a database, and the obtaining the pre-stored second time interval includes: obtaining the second time interval from the database.
[0061] For example, the second time interval may be pre-stored in a cache database (such as a remote dictionary service (Redis) database), and the device for adjusting the outbound call scheduling rate may obtain the second time interval from the cache database. For another example, the second time interval may be pre-stored in other types of databases, and the device for adjusting the outbound call scheduling rate may obtain the second time interval from other types of databases. For another example, the second time interval may be pre-stored in a cache database and other types of databases, that is, a copy of the second time interval is pre-stored in the cache database, and a copy of the second time interval is also pre-stored in other types of databases. In this way, obtaining the pre-stored second time interval from the cache database can improve the reading efficiency. Even if the second time interval is not read in the cache database, it can be read from other types of databases to ensure that the device for adjusting the outbound call scheduling rate can obtain the pre-stored second time interval.
[0062] Step 230: If the first time interval and the second time interval are inconsistent, adjust the second time interval.
[0063] The device for adjusting the outbound call scheduling rate adjusts the second time interval when the first time interval calculated based on the processing rate of the outbound call data is inconsistent with the acquired pre-stored second time interval.
[0064] In a possible implementation, the device for adjusting the outbound call scheduling rate may determine a third time interval, and adjust the second time interval based on the third time interval, wherein the third time interval is related to the second time interval.
[0065] Optionally, if the first time interval is greater than the second time interval, the determined third time interval is greater than the second time interval; or, if the first time interval is less than the second time interval, the determined third time interval is less than the second time interval.
[0066] Exemplarily, if the first time interval is greater than the second time interval, the device for adjusting the outbound call scheduling rate may increase the second time interval. As can be seen from the above, the larger the first time interval is, the slower the processing rate of the outbound call data is. Increasing the second time interval, that is, reducing the scheduling sending rate, can reduce the pressure of downstream processing of outbound call data when resources are saturated. In addition, when the outbound call data is not processed, the request for scheduling to send the outbound call data will be rejected. Increasing the second time interval can avoid resource loss caused by multiple rejections of scheduling to send outbound call data due to the large amount of acquired outbound call data.
[0067] If the first time interval is smaller than the second time interval, and the determined third time interval is smaller than the second time interval, the device for adjusting the outbound call scheduling rate may reduce the second time interval. As can be seen from the foregoing, the smaller the first time interval, the faster the processing rate of the outbound call data. Reducing the second time interval, that is, increasing the scheduling sending rate, can make full use of the outbound call channel resources, which is conducive to minimizing resource waste.
[0068] A specific method for determining the third time interval is provided below.
[0069] If the first time interval is greater than the second time interval, the third time interval = the second time interval × (1 + offset coefficient %); or, if the first time interval is less than the second time interval, the third time interval = the second time interval × (1 - offset coefficient %); wherein the offset coefficient is obtained from the database.
[0070] Exemplarily, if the first time interval is greater than the second time interval, the device for adjusting the outbound call scheduling rate determines the third time interval = the second time interval × (1 + offset coefficient%); if the first time interval is less than the second time interval, the device for adjusting the outbound call scheduling rate determines the third time interval = the second time interval × (1-offset coefficient%). For example, the offset coefficient obtained from the database is 0.3, and the second time interval is 5 seconds. If the first time interval is greater than the second time interval, the device for adjusting the outbound call scheduling rate determines the third time interval = 5 × (1 + 30%) = 6.5 seconds; if the first time interval is less than the second time interval, the device for adjusting the outbound call scheduling rate determines the third time interval = 5 × (1-30%) = 3.5 seconds.
[0071] Optionally, the offset coefficient stored in the database can be updated in response to a user operation.
[0072] In other words, the offset coefficient stored in the database can be manually modified. The technician can modify the offset coefficient based on the processing volume, processing rate, or acquisition volume of outbound call data. For example, the technician can input the modified offset coefficient through the front-end system, and in response to the technician's input operation, the offset coefficient in the database is updated to the modified offset coefficient, which is conducive to flexible regulation of the offset coefficient.
[0073] Optionally, adjusting the second time interval based on the third time interval includes: storing the third time interval in a database to update the second time interval in the database.
[0074] Exemplarily, the device for adjusting the outbound call scheduling rate can store the determined third time interval in the database to update the second time interval in the database. In other words, the third time interval is the adjusted second time interval and can be used to determine the next time to obtain outbound call data.
[0075] Optionally, the second time interval stored in the database can be updated in response to a user operation.
[0076] In other words, the second time interval stored in the database can be manually modified. For example, a technician can input the modified second time interval through the front-end system, and in response to the technician's modification, the second time interval in the database is updated to the modified second time interval, which is conducive to flexibly adjusting the time interval for obtaining outbound call data, that is, flexibly adjusting the scheduling rate of outbound call data.
[0077] Step 240: Acquire outbound call data based on the adjusted second time interval.
[0078] The adjusted second time interval is used to determine the time for acquiring the outbound call data next time. In other words, the device for adjusting the outbound call scheduling rate determines the time for acquiring the outbound call data next time based on the adjusted second time interval.
[0079] Exemplarily, the adjusted second time interval (ie, the third time interval) in the database is 3 seconds, and the device for adjusting the outbound call scheduling rate obtains the outbound call data every 3 seconds.
[0080] Optionally, the database mentioned in the embodiments of the present application includes a cache database.
[0081] In an embodiment of the present application, the database includes a cache database, such as a Redis database.
[0082] Exemplarily, the offset coefficient, the second time interval, the amount of data acquired for each outbound call, etc. may be stored in a cache database (such as a Redis database). It should be understood that the above-mentioned offset coefficient, the second time interval, the amount of data acquired for each outbound call, etc. may also be stored in other types of databases, or may be stored in the cache database and other types of databases at the same time, and the embodiments of the present application are not limited to this.
[0083] Figure 3 This is a flow chart of outbound call scheduling provided by the embodiment of the present application. Figure 3 The process of scheduling outbound call data based on the adjusted second time interval is described in detail.
[0084] It should be understood that Figure 3 The time interval for obtaining outbound call data shown in Figure 2 The time interval obtained by the method shown. It should also be understood that Figure 3 The method shown can be executed by an intelligent outbound call dispatching system, for example.
[0085] Step 310, start the application.
[0086] Among them, the application refers to the front-end outbound call page, for example, you can create an outbound call task, approve an outbound call task, start an outbound call task, etc. After starting the outbound call task, you can get the outbound call data from the database and send it to the thread pool.
[0087] Step 320, obtaining the task type.
[0088] Task types include but are not limited to outbound call task types and task status adjustment types. Outbound call task types refer to making outbound calls after obtaining outbound call data. Task status adjustment types refer to adjusting task status. For example, the outbound call status is from 8 a.m. to 11 a.m., and the outbound call status is stopped from 11 a.m. to 2 p.m. Task status adjustment types refer to when to make an outbound call or when to suspend outbound calls, etc., and a task type that adjusts these statuses. When the time to trigger the status adjustment is reached, its status is adjusted.
[0089] Step 330, determine whether the number of task types is greater than i.
[0090] Wherein, i is an integer, i≥0. If not, then the process ends; if so, then the process continues to execute step 340.
[0091] The process of step 330 is to create a thread pool cyclically, and each task type corresponds to a thread pool. For example, an outbound call task corresponds to a thread pool, and a task status adjustment task corresponds to another thread pool.
[0092] Exemplarily, there are 2 types of tasks, i starts from 0, 2 is greater than 0, so step 340 is executed to initialize the thread pool, and i=0+1=1, so that the next time, 1 is greater than 0, and another thread pool will continue to be initialized until the number of task types is less than or equal to i.
[0093] Step 340, initialize the thread pool.
[0094] Step 350, determine whether the current thread pool queue value is greater than or equal to 1000.
[0095] If yes, execute step 390 , if no, execute step 360 .
[0096] It should be understood that in some embodiments, the thread pool queue is an unbounded queue, that is, there is no need to determine the queue value, and therefore, step 350 may not be executed and step 360 may be executed directly.
[0097] Step 360: Obtain the time interval from the cache database.
[0098] The cache database may be, for example, a Redis database. The time interval is Figure 2 The adjusted time interval shown, or the time interval modified by the technician through the front-end system, takes into account the impact on the processing rate of outbound call data, which is conducive to reducing resource loss and waste.
[0099] Step 370: Obtain an outbound call data set based on the time interval.
[0100] Based on the above-obtained time interval, the time for obtaining the outbound call data is determined, and then the outbound call data set is obtained at the corresponding time, and the outbound call data set includes multiple outbound call data.
[0101] Step 380: Submit the outbound call data in the outbound call data set to the thread pool for execution.
[0102] Exemplarily, the outbound call data can be submitted to the thread pool for execution through a loop statement. For example, if 10 outbound call data are obtained, the outbound call data are put into the work thread one by one. The work thread is a thread that executes and sends it to the downstream through the work thread, and then the downstream executes the outbound call, that is, the call is made. Among them, the time interval between putting two outbound call data into the work thread can be 10 milliseconds.
[0103] Step 390, sleep for 1 minute.
[0104] It should be understood that Figure 3 The sleep time shown in is only an example and should not constitute any limitation to the embodiments of the present application. For example, in some embodiments, the sleep time may also be a random number between 0 and 1000 milliseconds.
[0105] Figure 4 This is an example of adjusting the time interval for obtaining outbound call data provided by the embodiment of the present application. Figure 4 The process of adjusting the time interval for obtaining outbound call data is described in detail. It should be understood that Figure 4 The method shown may be performed by a device for adjusting an outbound call scheduling rate.
[0106] Step 410, calculating the time interval t1 according to the processing rate and the acquisition amount in the previous 5 minutes.
[0107] Exemplarily, the device for adjusting the outbound call scheduling rate calculates the processing rate of the outbound call data in the previous 5 minutes according to the processing volume of the outbound call data in the previous 5 minutes, and then calculates the time interval t1 according to the predefined acquisition volume of the outbound call data, that is, the time required to process the acquired outbound call data at the above processing rate. For example, t1 = acquisition volume / processing rate.
[0108] Step 420, determine whether t1 is less than t2.
[0109] If yes, then execute step 430; if no, then execute step 440. t2 is a time interval stored in the database, and t2 is used to determine the time for obtaining the outbound call data next time.
[0110] Step 430, determine t3 = t2×(1-x%).
[0111] If t1<t2, the device for adjusting the outbound call dispatching rate determines t3=t2×(1-x%), where x is an offset coefficient, 0<x≤1, and the offset coefficient can be obtained from a database.
[0112] Step 440, determine t3 = t2 x (1 + x%).
[0113] If t1>t2, the device for adjusting the outbound call dispatching rate determines t3=t2×(1+x%), where x is an offset coefficient, 0<x≤1, and the offset coefficient can be obtained from a database.
[0114] Step 450, put t3 into the cache database.
[0115] Exemplarily, the device for adjusting the outbound call scheduling rate may put t3 into the cache database to update t2 in the cache database, that is, t3 is the adjusted t2, which is used to determine the time for obtaining the outbound call data next time.
[0116] Optionally, the time interval t2 in the cache database may also be updated in response to a user's operation. For example, the user may modify the time interval through the front-end system, and the time interval in the database is updated in response to the user's modification.
[0117] Based on the above technical solution, it can be seen that the first time interval is a time interval calculated by considering the processing capacity of the outbound call data. When the second time interval is inconsistent with the first time interval, the second time interval is adjusted so that the adjusted second time interval can match the current processing capacity. In other words, the scheduling rate and processing rate of the outbound call data can be matched, which is conducive to reducing resource loss and waste.
[0118] Figure 5 It is a schematic block diagram of an apparatus 500 for adjusting an outbound call scheduling rate provided in an embodiment of the present application.
[0119] like Figure 5 As shown, the device 500 may include: a calculation unit 510, an acquisition unit 520, and an adjustment unit 530. The device 500 may be used to implement Figures 2 to 4 The method described in any one of the embodiments shown.
[0120] For example, when the apparatus 500 is used to implement Figure 2 In the method described in the illustrated embodiment, the calculation unit 510 is used to calculate a first time interval, where the first time interval is a ratio of a predefined amount of acquired outbound call data to a processing rate of the outbound call data; the acquisition unit 520 is used to acquire a prestored second time interval, where the second time interval is used to determine a time for acquiring the outbound call data next time; the adjustment unit 530 is used to adjust the second time interval when the first time interval and the second time interval are inconsistent; the acquisition unit 520 is also used to acquire the outbound call data based on the adjusted second time interval.
[0121] Optionally, the adjusting unit 530 is specifically configured to determine a third time interval; and adjust the second time interval based on the third time interval.
[0122] Optionally, if the first time interval is greater than the second time interval, the determined third time interval is greater than the second time interval; or, if the first time interval is less than the second time interval, the determined third time interval is less than the second time interval.
[0123] Optionally, if the first time interval is greater than the second time interval, the third time interval = the second time interval × (1 + offset coefficient %); or, if the first time interval is less than the second time interval, the third time interval = the second time interval × (1 - offset coefficient %); wherein the offset coefficient is obtained from a database.
[0124] Optionally, the shift coefficient stored in the database can be updated in response to a user operation.
[0125] Optionally, the calculation unit 510 is further configured to determine a processing rate of the outbound call data, where the processing rate of the outbound call data is a ratio of a processing amount of the outbound call data within a preset time period to a duration of the preset time period.
[0126] Optionally, the calculation unit 510 is specifically configured to periodically determine a processing rate of the outbound call data.
[0127] Optionally, the acquiring unit 520 is specifically configured to acquire the second time interval from the database.
[0128] Optionally, the adjusting unit 530 is specifically configured to store the third time interval in the database to update the second time interval in the database.
[0129] Optionally, the second time interval stored in the database can be updated in response to a user operation.
[0130] Optionally, the database includes a cache database.
[0131] It should be understood that the division of units in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, each functional unit in each embodiment of the present application may be integrated into a processor, or may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional modules.
[0132] Figure 6 It is a schematic block diagram of an apparatus 600 for adjusting an outbound call scheduling rate provided in an embodiment of the present application.
[0133] The device 600 can be used to implement the above Figures 2 to 4 The method described in any one of the embodiments shown in the drawings. The device 600 may be a chip system. In the embodiment of the present application, the chip system may be composed of a chip, or may include a chip and other discrete devices.
[0134] like Figure 6 As shown, the apparatus 600 may include at least one processor 610 .
[0135] Exemplarily, the processor 610 may be used to calculate a first time interval, which is a ratio of a predefined amount of acquired outbound call data to a processing rate of the outbound call data; obtain a pre-stored second time interval, which is used to determine the time for next acquisition of outbound call data; if the first time interval and the second time interval are inconsistent, adjust the second time interval; and obtain the outbound call data based on the adjusted second time interval. For details, please refer to the detailed description in the method example, which will not be described here.
[0136] The device 600 may also include at least one memory 620, which may be used to store program instructions and / or data. The memory 620 is coupled to the processor 610. The coupling in the embodiment of the present application is an indirect coupling or communication connection between devices, units or modules, which may be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules. The processor 610 may operate in conjunction with the memory 620. The processor 610 may execute program instructions stored in the memory 620. At least one of the at least one memory may be included in the processor.
[0137] The apparatus 600 may also include a communication interface 630 for communicating with other devices via a transmission medium, so that the apparatus 600 can communicate with other devices. The communication interface 630 may be, for example, a transceiver, an interface, a bus, a circuit, or a device capable of implementing transceiver functions. The processor 610 may use the communication interface 630 to send and receive data and / or information, and to implement Figures 2 to 4 The method described in any one of the embodiments shown.
[0138] The specific connection medium between the processor 610, the memory 620 and the communication interface 630 is not limited in the embodiment of the present application. Figure 6 The processor 610, the memory 620 and the communication interface 630 are connected via a bus 640. The bus 640 is Figure 6 The connections between the other components are shown in bold lines, which are only for illustration and are not intended to be limiting. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 6 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0139] The present application also provides a chip system, which includes at least one processor for implementing the above Figures 2 to 4 The method described in any one of the embodiments shown.
[0140] In one possible design, the chip system also includes a memory, which is used to store program instructions and data, and the memory is located inside or outside the processor.
[0141] The chip system may be composed of the chip, or may include the chip and other discrete devices.
[0142] The present application also provides a computer program product, the computer program product comprising: a computer program (also referred to as code, or instruction), when the computer program is executed, causes the computer to execute the following Figures 2 to 4 The method described in any one of the embodiments shown.
[0143] The present application also provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program (also referred to as code or instruction). When the computer program is executed, the computer executes the following Figures 2 to 4 The method described in any one of the embodiments shown.
[0144] It should be noted that the method and related device for adjusting the outbound call scheduling rate provided in the embodiments of the present application can be applied to the field of financial technology, and can also be applied to any field other than the field of financial technology, and the present application does not limit this.
[0145] It should be understood that the processor in the embodiment of the present application can be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method embodiment can be completed by the hardware integrated logic circuit or software instructions in the processor. The above processor can be a general processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or the hardware and software modules in the decoding processor can be combined to perform. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
[0146] It should also be understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0147] The terms "unit", "module" and the like used in this specification may be used to represent a computer-related entity, hardware, firmware, a combination of hardware and software, software, or software in execution.
[0148] It will be appreciated by those skilled in the art that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or in combination with computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application. In the several embodiments provided in this application, it should be understood that the disclosed devices, equipment and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of the modules is only a logical function division, and there may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.
[0149] The modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0150] In addition, each functional module in each embodiment of the present application may be integrated into one processing module, or each module may exist physically separately, or two or more units may be integrated into one module.
[0151] In the above embodiments, the functions of each functional module can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital video disc (DVD)), or a semiconductor medium (eg, a solid state disk (SSD)).
[0152] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard drives, ROM, RAM, magnetic disks, or optical disks.
[0153] 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.
Claims
1. A method for adjusting an outbound call dispatch rate, characterized in that: include: calculating a first time interval, where the first time interval is a ratio of a predefined amount of acquired outbound call data to a processing rate of the outbound call data; Acquire a pre-stored second time interval, where the second time interval is used to determine a time for acquiring outbound call data next time; When the first time interval is inconsistent with the second time interval, adjusting the second time interval; The outbound call data is obtained based on the adjusted second time interval.
2. The method according to claim 1, characterized in that The adjusting the second time interval includes: determining a third time interval; Based on the third time interval, the second time interval is adjusted.
3. The method according to claim 2, characterized in that If the first time interval is greater than the second time interval, the determined third time interval is greater than the second time interval; or, If the first time interval is smaller than the second time interval, the determined third time interval is smaller than the second time interval.
4. The method according to claim 3, characterized in that If the first time interval is greater than the second time interval, the third time interval=second time interval×(1+offset coefficient %); or, If the first time interval is smaller than the second time interval, the third time interval=the second time interval×(1-offset coefficient %); The offset coefficient is obtained from a database.
5. The method according to claim 4, characterized in that The shift coefficient stored in the database can be updated in response to a user's operation.
6. The method according to claim 1, characterized in that The method further comprises: A processing rate of the outbound call data is determined, where the processing rate of the outbound call data is a ratio of a processing amount of the outbound call data within a preset time period to a duration of the preset time period.
7. The method according to claim 6, characterized in that The determining the processing rate of the outbound call data includes: The processing rate of outbound call data is periodically determined.
8. The method according to claim 2, characterized in that The second time interval is pre-stored in a database, and obtaining the pre-stored second time interval includes: The second time interval is obtained from the database.
9. The method according to claim 8, characterized in that The adjusting the second time interval based on the third time interval includes: The third time interval is stored in the database to update the second time interval in the database.
10. The method according to claim 9, characterized in that The second time interval stored in the database can be updated in response to a user operation.
11. The method according to any one of claims 4, 5, 8 to 10, characterized in that The database includes a cache database.
12. A device for adjusting an outbound call dispatch rate, characterized in that: include: a calculation unit, configured to calculate a first time interval, wherein the first time interval is a ratio of a predefined amount of acquired outbound call data to a processing rate of the outbound call data; an acquisition unit, used for acquiring a pre-stored second time interval, where the second time interval is used for determining a time for acquiring outbound call data next time; An adjusting unit, configured to adjust the second time interval when the first time interval is inconsistent with the second time interval; The acquisition unit is further configured to acquire the outbound call data based on the adjusted second time interval.
13. A device for adjusting an outbound call dispatch rate, characterized in that: comprising a processor and a memory in communication with the processor; wherein, The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 1 to 11.
14. A computer-readable storage medium, characterized in that: The invention comprises a computer program, which, when being run on a computer, causes the computer to execute the method according to any one of claims 1 to 11.
15. A computer program product, characterized in that The invention comprises a computer program which, when being executed, causes a computer to execute the method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Dynamic predictive intelligent automatic outbound system algorithm
CN110166641A
Method and device for limiting number outbound, electronic equipment and storage medium
CN113438177A