A Redis-based outbound calling method, device and conversation system

By introducing Redis to manage data to be called out in the robot outgoing call system, the application system's insufficient perception of outgoing call data and waste of resources is solved, real-time perception and resource optimization are achieved, and the continuity and efficiency of telephone calls are ensured.

CN115499549BActive Publication Date: 2024-12-31BEIJING TAIJI HUABAO HIGH-TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211123734.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-15
Publication Date
2024-12-31
Estimated Expiration
2042-09-15

AI Technical Summary

Technical Problem

In the existing robot outbound call system, the application system needs to read outbound call data in the database regularly, and cannot sense the existence of outbound call data in real time, resulting in wasted soft-switch resources and the next round of calls cannot be triggered in time.

Method used

The Redis-based outgoing call method is adopted, and the session callback information transmitted by the soft switch module is obtained, and the data to be outgoing call is read and managed from the Redis module is sensed in real time, and the resource utilization is optimized and the next round of outgoing call is triggered.

Benefits of technology

Real-time perception of outbound call data by the application system, avoid resource waste, ensure that the next round of data can be read in time after the telephone call is over, and make full use of soft-switch resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115499549B_ABST
    Figure CN115499549B_ABST
Patent Text Reader

Abstract

This application provides a Redis-based outbound calling method, apparatus, and session system. The Redis-based outbound calling method includes: obtaining session callback information transmitted by the softswitch module; reading pre-stored outbound calling data from the Redis module based on the session callback information and sending it to the softswitch module. This application's Redis-based outbound calling method introduces Redis to control the application system and softswitch for intelligent outbound calling, which has the following advantages: 1. The application system can detect the existence of outbound calling data in real time; 2. Server resources are not wasted in large quantities; 3. After a call ends, the system can actively trigger whether to read the data for the next round of outbound calls; 4. It fully utilizes the outbound calling resources of the softswitch.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of telephone outbound calling technology, and in particular to a Redis-based outbound calling method, a Redis-based outbound calling device, and a conversation system. Background Art

[0002] In the prior art, in a robot outbound call system, data to be called out in a database is involved, and a soft switch for outbound calls is used to transmit the data to be called out to an application system of the soft switch.

[0003] The process is as follows: the data to be called outbound is transmitted to the application system through the interface, and the application system parses, verifies, cleans, and processes it into the correct data format, and then stores the data in the database. The subsequent process is to read the data to be called outbound from the database through the application system, transmit it to the soft switch for outbound calls, and store the generated data in the database after the outbound call is completed.

[0004] The existing methods have the following problems:

[0005] 1. The application system needs to set a scheduled time to run and read data;

[0006] 2. The application system cannot sense whether there is data to be called out;

[0007] 3. Outbound call resources of soft switch will be wasted, and outbound calls cannot be made efficiently;

[0008] 4. When a call ends, the batch application cannot be triggered to proceed with the next call. Summary of the invention

[0009] In order to solve at least one of the above technical problems, the present application provides a Redis-based outbound calling method to solve the above technical problem.

[0010] The present application provides an outbound calling method based on Redis, and the outbound calling method based on Redis includes:

[0011] Get the session callback information transmitted by the soft switch module;

[0012] The outbound call data pre-stored in the Redis module is read from the Redis module according to the session callback information and sent to the soft switch module.

[0013] Optionally, before acquiring the session callback information transmitted by the soft switch module, the Redis-based outbound calling method further includes:

[0014] Get multiple pieces of data to be called out;

[0015] Passing the number of data to be called out to the Redis module, so that the Redis module records the total amount of data to be called out;

[0016] Each piece of the pending outbound call data is stored in the pending outbound call database.

[0017] Optionally, after storing each piece of the outbound call data in the database, the outbound call method based on the Redis module further includes:

[0018] Get the concurrent quantity information of soft switch module lines;

[0019] According to the concurrent number information of the soft switch module line, multiple outbound call data are read into the Redis module for cache, so that the soft switch module can read the outbound call data from the Redis module according to its own concurrent number.

[0020] Optionally, the reading the outbound call data pre-stored in Redis from Redis according to the session callback information and sending it to the soft switch module includes:

[0021] According to the acquired session callback information transmitted by the soft switch module, the total amount of the outbound call data recorded by the Redis module is reduced;

[0022] Determine whether the total amount of outbound call data recorded by the reduced Redis module is less than a preset threshold. If not,

[0023] Determine whether there is any cached outbound call data in the Redis module. If so,

[0024] The outbound call data cached in the Redis module is passed to the soft switch module.

[0025] Optionally, the reading the outbound call data pre-stored in the Redis module from the Redis module according to the session callback information and sending the data to be called out to the soft switch module further includes:

[0026] Determine whether the total amount of outbound call data recorded by the reduced Redis module is less than a preset threshold. If so,

[0027] Generate reminder notification information.

[0028] Optionally, the reading the outbound call data pre-stored in the Redis module from the Redis module according to the session callback information and sending the data to be called out to the soft switch module further includes:

[0029] Determine whether there is any cached outbound call data in the Redis module. If not,

[0030] Acquire a preset outbound call database, wherein the preset outbound call database includes at least one preset outbound call data and basic information of each preset outbound call data;

[0031] Randomly obtain multiple pieces of pending outbound call data in the pending outbound call database;

[0032] Each randomly acquired outbound call data is compared with each preset outbound call data in the preset outbound call database to determine whether there is the same outbound call data as the preset outbound call data. If so,

[0033] Obtaining basic information of preset outbound call data that is the same as the outbound call data;

[0034] For each of the randomly acquired pieces of outbound call data and the pieces of outbound call data for which basic information has not been acquired, a first estimated outbound call duration is set;

[0035] Obtaining a first average outbound calling time according to each first estimated outbound calling time;

[0036] Setting a second estimated outbound call duration according to each piece of outbound call data in each piece of the acquired basic information;

[0037] Obtain a second average outbound call time according to each second estimated outbound call time;

[0038] Obtaining an average outbound call duration based on the first average outbound call time and the second average outbound call time;

[0039] Determine whether the average outbound call time obtained is greater than the preset threshold. If not,

[0040] Randomly replace one or more pieces of outbound call data among the randomly obtained pieces of outbound call data, and repeatedly obtain the average outbound call time of each piece of outbound call data after random replacement, until the average outbound call time is greater than a preset threshold;

[0041] The randomly acquired pieces of waiting outbound call data that are larger than a preset threshold are passed to the Redis module for caching.

[0042] Optionally, the basic information of the preset outbound call data includes historical time;

[0043] The step of setting the second estimated outbound call duration for each of the outbound call data in each of the acquired basic information includes:

[0044] The historical duration of each preset outbound call data is used as the second estimated outbound call duration of the outbound call data which is the same as the preset outbound call data.

[0045] Optionally, the Redis-based outbound calling method further includes:

[0046] Obtaining user information of each piece of data to be called out, wherein the user information includes user age information and / or user occupation information;

[0047] The step of setting a first estimated outbound call duration for each of the randomly acquired outbound call data and the outbound call data for which basic information has not been acquired comprises:

[0048] A first estimated outbound call duration is set for each piece of outbound call data randomly obtained according to the user age information and / or user occupation information and for each piece of outbound call data for which basic information has not been obtained.

[0049] The present application also provides a Redis-based outbound call device, the Redis-based outbound call device comprising:

[0050] A callback information acquisition module, the callback information acquisition module is used to obtain session callback information transmitted by the soft switch module;

[0051] The sending module is used to read the outbound call data pre-stored in Redis from Redis according to the session callback information and send it to the soft switch module.

[0052] The present application also provides a conversation system, which includes a Redis-based outbound call device, a Redis module, and a soft switch module; wherein:

[0053] The Redis-based outbound calling device, the Redis module, and the soft switch module cooperate to implement the Redis-based outbound calling method as described above.

[0054] The Redis-based outbound calling method of the present application introduces Redis to control the application system and soft switch to perform intelligent outbound calling, which can have the following advantages:

[0055] 1. The application system can sense the existence of pending outbound call data in real time;

[0056] 2. Server resources will not cause a lot of useless waste;

[0057] 3. After an outbound call ends, it can actively trigger whether to read the data of the next outbound call;

[0058] 4. Make full use of the outbound call resources of soft switch. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] Figure 1 This is a flowchart of a preferred embodiment of the outbound calling method based on Redis of the present application;

[0060] Figure 2 It is a schematic diagram of an electronic device capable of implementing the Redis-based outbound calling method of an embodiment of the present application. DETAILED DESCRIPTION

[0061] In order to make the purpose, technical scheme and advantages of the implementation of this application clearer, the technical scheme in the implementation of this application will be described in more detail in combination with the drawings in the implementation of this application. In the drawings, the same or similar reference numerals throughout represent the same or similar elements or elements with the same or similar functions. The described implementation is a part of the implementation of this application, not all of the implementations. The implementation described below with reference to the drawings is exemplary and is intended to be used to explain this application, and cannot be understood as a limitation on this application. Based on the implementation in this application, all other implementations obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application. The implementation of this application is described in detail below in combination with the drawings.

[0062] Figure 1 It is a flowchart of a preferred embodiment of the outbound calling method based on Redis of the present application.

[0063] like Figure 1 The Redis-based outbound calling methods shown include:

[0064] Step 1: Obtain the session callback information transmitted by the soft switch module;

[0065] Step 2: Read the outbound call data pre-stored in the Redis module from the Redis module according to the session callback information and send it to the soft switch module.

[0066] The Redis-based outbound calling method of the present application introduces Redis to control the application system and soft switch to perform intelligent outbound calling, which can have the following advantages:

[0067] 1. The application system can sense the existence of pending outbound call data in real time;

[0068] 2. Server resources will not cause a lot of useless waste;

[0069] 3. After an outbound call ends, it can actively trigger whether to read the data of the next outbound call;

[0070] 4. Make full use of the outbound call resources of soft switch.

[0071] In this embodiment, before obtaining the session callback information transmitted by the soft switch module, the Redis-based outbound call method further includes:

[0072] Get multiple pieces of pending outbound call data;

[0073] The number of data to be called out is passed to the Redis module, so that the Redis module records the total amount of data to be called out;

[0074] Each piece of the pending outbound call data is stored in the pending outbound call database.

[0075] In this embodiment, after storing each piece of the outbound call data in the database, the outbound call method based on the Redis module further includes:

[0076] Get the concurrent quantity information of soft switch module lines;

[0077] According to the concurrent number information of the soft switch module line, multiple outbound call data are read into the Redis module for cache, so that the soft switch module can read the outbound call data from the Redis module according to its own concurrent number.

[0078] In this embodiment, the method of reading the pre-stored outbound call data in Redis from Redis according to the session callback information and sending the data to be called outbound from Redis to the soft switch module includes:

[0079] According to the acquired session callback information transmitted by the soft switch module, the total amount of the outbound call data recorded by the Redis module is reduced;

[0080] Determine whether the total amount of outbound call data recorded by the reduced Redis module is less than a preset threshold. If not,

[0081] Determine whether there is any cached outbound call data in the Redis module. If so,

[0082] The outbound call data cached in the Redis module is passed to the soft switch module.

[0083] In this embodiment, the step of reading the pre-stored outbound call data in the Redis module according to the session callback information and sending the data to be called outbound from the Redis module to the soft switch module further includes:

[0084] Determine whether the total amount of outbound call data recorded by the reduced Redis module is less than a preset threshold. If so,

[0085] Generate reminder notification information.

[0086] In this embodiment, reading the outbound call data pre-stored in the Redis module from the Redis module according to the session callback information and sending it to the soft switch module further includes:

[0087] Determine whether there is any cached data to be called out in the Redis module. If not,

[0088] Acquire a preset outbound call database, wherein the preset outbound call database includes at least one preset outbound call data and basic information of each preset outbound call data;

[0089] Randomly obtain multiple pieces of pending outbound call data in the pending outbound call database;

[0090] Each randomly acquired outbound call data is compared with each preset outbound call data in the preset outbound call database to determine whether there is the same outbound call data as the preset outbound call data. If so,

[0091] Obtaining basic information of preset outbound call data that is the same as the outbound call data;

[0092] For each of the randomly acquired pieces of outbound call data and the pieces of outbound call data for which basic information has not been acquired, a first estimated outbound call duration is set;

[0093] Obtaining a first average outbound calling time according to each first estimated outbound calling time;

[0094] Setting a second estimated outbound call duration according to each piece of outbound call data in each piece of the acquired basic information;

[0095] Obtain a second average outbound call time according to each second estimated outbound call time;

[0096] Obtaining an average outbound call duration based on the first average outbound call time and the second average outbound call time;

[0097] Determine whether the average outbound call time obtained is greater than the preset threshold. If not,

[0098] Randomly replace one or more pieces of outbound call data among the randomly obtained pieces of outbound call data, and repeatedly obtain the average outbound call time of each piece of outbound call data after random replacement, until the average outbound call time is greater than a preset threshold;

[0099] The randomly acquired pieces of waiting outbound call data that are larger than a preset threshold are passed to the Redis module for caching.

[0100] In this way, the Redis module can be given a relatively average outbound call data in terms of the time required for caching the phone calls, thereby preventing the parallel lines of the soft switch module from often making calls of shorter duration or no one answering them, while some lines often make calls of longer duration. In addition, each batch of outbound call data to be cached in the subsequent database can be made to have a relatively average time, preventing the problem that the cached outbound call data need to be used for a long time or the remaining outbound call data in the database need to be used for a long time. After all, the later the call is made, the greater the probability that the user will not answer it. For example, if the call time is from 4 pm to 10 pm, the probability of people not answering the call around 10 o'clock may be greater. If the method of the present application is not used, it is likely that some calls that have been recorded before and answered by someone may not be answered due to the late time.

[0101] In particular, the method of the present application can be dialed by a robot on the one hand, and may also be dialed by a person. If the above method is used for allocation, it can prevent the possibility that a person often needs to dial numbers that take less time.

[0102] In this embodiment, the basic information of the preset outbound call data includes the historical time;

[0103] Setting the second estimated outbound call duration according to each of the outbound call data in each of the acquired basic information includes:

[0104] The historical duration of each preset outbound call data is used as the second estimated outbound call duration of the outbound call data which is the same as the preset outbound call data.

[0105] In this embodiment, the Redis-based outbound calling method further includes:

[0106] Obtaining user information of each piece of data to be called out, wherein the user information includes user age information and / or user occupation information;

[0107] The step of setting a first estimated outbound call duration for each of the randomly acquired outbound call data and the outbound call data for which basic information has not been acquired comprises:

[0108] A first estimated outbound call duration is set for each piece of outbound call data randomly obtained according to the user age information and / or user occupation information and for each piece of outbound call data for which basic information has not been obtained.

[0109] The present application is further described in detail below by way of examples. It should be understood that the examples do not constitute any limitation to the present application.

[0110] Get multiple pieces of data for outbound calls. For example, if the customer uploads 100 pieces of data for outbound calls, the multiple pieces of data for outbound calls are 100 pieces of data for outbound calls.

[0111] After receiving 100 pieces of data to be called outbound, the number of pieces of data to be called outbound is passed to the Redis module, so that the Redis module records the total amount of data to be called outbound. Specifically, the total amount of data to be called outbound is set to the cache of the Redis module: set call_num 100.

[0112] Each piece of the pending outbound call data is stored in the pending outbound call database, that is, 100 pieces of the pending outbound call data are stored in the pending outbound call database.

[0113] Get the concurrent number information of the soft switch module line, for example, the concurrent number of the soft switch line is 5;

[0114] According to the concurrent number information of the soft switch module line, multiple outbound call data are read into the Redis module cache, so that the soft switch module can read the outbound call data from the Redis module according to its own concurrent number. Specifically, 3 times the concurrent number is generally read, that is, 15 records are read from the database into the KV cache of the Redis module: lpush call_datas call1 call2...call15.

[0115] The soft switch takes the waiting outbound call data with the same line concurrency from the KV cache. This time, it takes the data of call1-call5 for outbound calls. The command is used to take the elements: lrange call_datas 0 4.

[0116] In outbound calls, some calls are not connected or the conversation ends prematurely. For example, in this implementation, if call 3 ends, the soft switch will initiate a session callback message, for example, a session disconnection callback message sent due to session disconnection;

[0117] According to the session callback information, the outbound call data pre-stored in the Redis module is read from the Redis module and sent to the soft switch module. Specifically, the following steps are adopted:

[0118] According to the acquired session callback information transmitted by the soft switch module, the total amount of the outbound call data recorded by the Redis module is reduced, that is, when the callback signal is received, call_num will be decremented in the KV cache: decrcall_num. Through this instruction, the value of call_num becomes 99.

[0119] It is determined whether the total amount of the outbound call data recorded by the reduced Redis module is less than a preset threshold. Specifically, it is determined whether the value of call_num is greater than 0. If it is equal to 0, it is determined that there is no outbound call data in the database.

[0120] If the value of call_num is greater than 0, it is determined whether there is any cached data to be called outbound in the Redis module. Specifically, it is determined how much data to be called outbound is left in call_datas. The command llen call_datas can be used to determine the amount of data in the list.

[0121] If the data in call_datas is still greater than the line concurrency, there is sufficient data to be called outbound, and the data will not be read from the database temporarily. The data to be called outbound cached in the Redis module can be passed to the soft switch module.

[0122] If after the above judgment, it is determined whether the total amount of outbound call data recorded by the reduced Redis module is less than the preset threshold, if so, then

[0123] Generate reminder notification information, and send the reminder notification information to the human-computer interaction interface to enable the user to understand the current situation.

[0124] If the data in call_datas is less than the line concurrency, the data of the pending outbound calls will be read from the pending outbound call database and set to call_datas: lpush call_datas call11 call12...call30

[0125] Repeat the above steps until the data volume of call_num is 0. At this time, the application system will no longer be triggered to read the pending outbound call data, because the application system has determined that there is no pending outbound call data in the database.

[0126] At this time, there is still data to be called out in call_datas. The soft switch will continue to take the data to be called out from call_datas to ensure the concurrency of the line. When the amount of data in the call_datas list is 0, there is no data to be called out in the database and KV cache, and the outbound call task is completed.

[0127] In this embodiment, the data of pending outbound calls is read from the pending outbound call database in the following manner:

[0128] Acquire a preset outbound call database, wherein the preset outbound call database includes at least one preset outbound call data and basic information of each preset outbound call data;

[0129] Randomly obtain multiple pieces of pending outbound call data in the pending outbound call database;

[0130] Each randomly acquired outbound call data is compared with each preset outbound call data in the preset outbound call database to determine whether there is the same outbound call data as the preset outbound call data. If so,

[0131] Obtaining basic information of preset outbound call data that is the same as the outbound call data;

[0132] For each of the randomly acquired pieces of outbound call data and the pieces of outbound call data for which basic information has not been acquired, a first estimated outbound call duration is set;

[0133] Obtaining a first average outbound calling time according to each first estimated outbound calling time;

[0134] Setting a second estimated outbound call duration according to each piece of outbound call data in each piece of the acquired basic information;

[0135] Obtain a second average outbound call time according to each second estimated outbound call time;

[0136] Obtaining an average outbound call duration based on the first average outbound call time and the second average outbound call time;

[0137] Determine whether the average outbound call time obtained is greater than the preset threshold. If not,

[0138] Randomly replace one or more pieces of outbound call data among the randomly obtained pieces of outbound call data, and repeatedly obtain the average outbound call time of each piece of outbound call data after random replacement, until the average outbound call time is greater than a preset threshold;

[0139] The randomly acquired pieces of waiting outbound call data that are larger than a preset threshold are passed to the Redis module for caching.

[0140] For example, suppose there are 3 pieces of data to be called in the outbound call database, namely A, B, C, D, and E, among which three pieces of data A, B, and C are randomly obtained.

[0141] Obtain a preset database for outbound calls, wherein the preset database for outbound calls includes at least one preset data for outbound calls and basic information of each preset data for outbound calls. For example, in this embodiment, the preset data for outbound calls are A' and B', wherein the historical time for A' is 9 minutes, and the historical time for B' is 3 minutes, and the second average outbound call time is 6 minutes.

[0142] C does not exist in the preset outbound call database. The user information of C includes the user age information and / or the user occupation information. For example, C's occupation is a student and his age is 16 years old. Then, the first estimated outbound call time of C can be obtained by manually assigning values ​​or making a preset timetable.

[0143] For example, the preset schedule may include multiple age groups, each age group will be given an estimated outbound call time, and then a weight is assigned to each occupation. For example, the weight of students is 0.9, and the weight of ordinary white-collar workers is 0.5. The weight is multiplied by the estimated outbound call time of the age group to obtain the first estimated outbound call time. For example, assuming that the estimated outbound call time corresponding to 16 years old is 10 minutes, and the weight of students is 0.9 minutes, the first estimated outbound call time is 10*0.9, which is 9 minutes.

[0144] After obtaining the first average outbound call time and the second average outbound call time, the first average outbound call time and the second average outbound call time are added together to obtain the average value to obtain the average outbound call time, that is, 9 minutes + 6 minutes = 15 minutes, and 15 minutes divided by 2 is 7.5 minutes.

[0145] It is determined whether the obtained average outbound call time is greater than a preset threshold, for example, the preset time is 7 minutes. If it exceeds the threshold, the randomly obtained pieces of waiting outbound call data greater than the preset threshold are passed to the Redis module for caching.

[0146] If it does not exceed the preset time, for example, the preset time is 8 minutes, then replace any one or more of A, B, and C with D and / or E in the database, and recalculate according to the above method so that the final average outbound call time obtained is greater than the preset threshold.

[0147] It is understandable that if any combination cannot exceed the preset threshold, the combination with the largest average outbound call time is cached.

[0148] The present application also provides an outbound call device based on Redis, which includes a callback information acquisition module and a sending module. The callback information acquisition module is used to obtain the session callback information transmitted by the soft switch module; the sending module is used to read the outbound call data pre-stored in Redis from Redis according to the session callback information and send it to the soft switch module.

[0149] The present application also provides a conversation system, which includes a Redis-based outbound calling device, a Redis module, and a soft switching module; wherein the Redis-based outbound calling device, the Redis module, and the soft switching module cooperate to implement the Redis-based outbound calling method as described above.

[0150] It can be understood that the above description of the method is also applicable to the description of the device.

[0151] The present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and capable of running on the processor. When the processor executes the computer program, the above-mentioned creep noise analysis method for a vehicle braking system is implemented.

[0152] The present application also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it can implement the above-mentioned creep noise analysis method for a vehicle braking system.

[0153] Figure 2 It is an exemplary structural diagram of an electronic device that can implement the Redis-based outbound calling method provided according to an embodiment of the present application.

[0154] like Figure 2 As shown, the electronic device includes an input device 501, an input interface 502, a central processor 503, a memory 504, an output interface 505, and an output device 506. The input interface 502, the central processor 503, the memory 504, and the output interface 505 are interconnected through a bus 507, and the input device 501 and the output device 506 are connected to the bus 507 through the input interface 502 and the output interface 505, respectively, and then connected to other components of the electronic device. Specifically, the input device 504 receives input information from the outside, and transmits the input information to the central processor 503 through the input interface 502; the central processor 503 processes the input information based on the computer executable instructions stored in the memory 504 to generate output information, temporarily or permanently stores the output information in the memory 504, and then transmits the output information to the output device 506 through the output interface 505; the output device 506 outputs the output information to the outside of the electronic device for use by the user.

[0155] That is to say, Figure 2 The electronic device shown may also be implemented as comprising: a memory storing computer executable instructions; and one or more processors, which may implement the combination of Figure 1 Describes the Redis-based outbound calling method.

[0156] In one embodiment, Figure 2 The electronic device shown can be implemented to include: a memory 504 configured to store executable program codes; and one or more processors 503 configured to run the executable program codes stored in the memory 504 to execute the Redis-based outbound calling method in the above-mentioned embodiment.

[0157] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0158] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0159] Computer readable media include permanent and non-permanent, removable and non-removable, and the media can be implemented by any method or technology to store information. The information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk read-only memory (CD-ROM), data versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.

[0160] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0161] In addition, it is obvious that the word "comprising" does not exclude other units or steps. Multiple units, modules or devices stated in the device claim can also be implemented by one unit or the overall device through software or hardware.

[0162] 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 a module, a program segment or a part of a code includes one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, 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 identified 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 the total flow chart can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0163] The processor referred to in this embodiment may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.

[0164] The memory can be used to store computer programs and / or modules. The processor realizes various functions of the device / terminal equipment by running or executing the computer programs and / or modules stored in the memory and calling the data stored in the memory. The memory can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.), etc. In addition, the memory can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0165] In this embodiment, if the module / unit integrated in the device / terminal equipment is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present invention implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. Although the present application is disclosed as above in terms of a preferred embodiment, it is not intended to limit the present application. Any technical personnel in this field may make possible changes and modifications without departing from the spirit and scope of the present application. Therefore, the scope of protection of the present application shall be based on the scope defined by the claims of the present application.

[0166] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0167] In addition, it is obvious that the word "comprising" does not exclude other units or steps. Multiple units, modules or devices stated in the device claim can also be implemented by one unit or the overall device through software or hardware.

[0168] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.

Claims

1. A Redis-based outbound calling method, characterized in that: The Redis-based outbound calling method includes: Get the session callback information transmitted by the soft switch module; Read the outbound call data pre-stored in the Redis module from the Redis module according to the session callback information and send it to the soft switch module; Before acquiring the session callback information transmitted by the soft switch module, the Redis-based outbound calling method further includes: Get multiple pieces of data to be called out; Passing the number of data to be called out to the Redis module, so that the Redis module records the total amount of data to be called out; Storing each piece of pending outbound call data in a pending outbound call database; After storing each piece of the outbound call data in the database, the Redis-based outbound call method further includes: Get the concurrent quantity information of soft switch module lines; According to the concurrent number information of the soft switch module line, multiple outbound call data are read into the Redis module for cache, so that the soft switch module can read the outbound call data from the Redis module according to its own concurrent number; The method of reading the pre-stored outbound call data from Redis according to the session callback information and sending the data to be called outbound from Redis to the soft switch module includes: According to the acquired session callback information transmitted by the soft switch module, the total amount of the outbound call data recorded by the Redis module is reduced; Determine whether the total amount of outbound call data recorded by the reduced Redis module is less than a preset threshold. If not, Determine whether there is any cached outbound call data in the Redis module. If so, Pass the outbound call data cached in the Redis module to the soft switch module; The method of reading the pre-stored outbound call data in the Redis module according to the session callback information and sending the data to be called outbound from the Redis module further includes: Determine whether the total amount of outbound call data recorded by the reduced Redis module is less than a preset threshold. If so, Generate reminder notification information; The method of reading the pre-stored outbound call data in the Redis module according to the session callback information and sending the data to be called outbound from the Redis module further includes: Determine whether there is any cached outbound call data in the Redis module. If not, Acquire a preset outbound call database, wherein the preset outbound call database includes at least one preset outbound call data and basic information of each preset outbound call data; Randomly obtain multiple pieces of pending outbound call data in the pending outbound call database; Each randomly acquired outbound call data is compared with each preset outbound call data in the preset outbound call database to determine whether there is the same outbound call data as the preset outbound call data. If so, Obtaining basic information of preset outbound call data that is the same as the outbound call data; For each of the randomly acquired pieces of outbound call data and the pieces of outbound call data for which basic information has not been acquired, a first estimated outbound call duration is set; Obtaining a first average outbound calling time according to each first estimated outbound calling time; Setting a second estimated outbound call duration according to each piece of outbound call data in each piece of the acquired basic information; Obtain a second average outbound call time according to each second estimated outbound call time; Obtaining an average outbound call duration according to the first average outbound call duration and the second average outbound call duration; Determine whether the average outbound call time obtained is greater than the preset threshold. If not, Randomly replace one or more pieces of outbound call data among the randomly obtained pieces of outbound call data, and repeatedly obtain the average outbound call time of each piece of outbound call data after random replacement, until the average outbound call time is greater than a preset threshold; The randomly acquired pieces of waiting outbound call data that are larger than a preset threshold are passed to the Redis module for caching.

2. The Redis-based outbound calling method according to claim 1, characterized in that: The basic information of the preset outbound call data includes the historical time; The step of setting the second estimated outbound call duration for each of the outbound call data in each of the acquired basic information includes: The historical duration of each preset outbound call data is used as the second estimated outbound call duration of the outbound call data which is the same as the preset outbound call data.

3. The Redis-based outbound calling method according to claim 2, characterized in that: The Redis-based outbound calling method further includes: Obtaining user information of each piece of data to be called out, wherein the user information includes user age information and / or user occupation information; The step of setting a first estimated outbound call duration for each of the randomly acquired outbound call data and the outbound call data for which basic information has not been acquired comprises: A first estimated outbound call duration is set for each piece of outbound call data randomly obtained according to the user age information and / or user occupation information and for each piece of outbound call data for which basic information has not been obtained.

4. An outbound calling device based on Redis, characterized in that: The Redis-based outbound calling device includes: A callback information acquisition module, the callback information acquisition module is used to obtain session callback information transmitted by the soft switch module; A sending module, which is used to read the outbound call data pre-stored in Redis from Redis according to the session callback information and send it to the soft switch module; Before acquiring the session callback information transmitted by the soft switch module, the Redis-based outbound calling device further includes: Get multiple pieces of data to be called out; The number of data to be called out is passed to the Redis module, so that the Redis module records the total amount of data to be called out; Storing each piece of pending outbound call data in a pending outbound call database; After storing each piece of the waiting outbound call data into the database, the Redis-based outbound call device further includes: Get the concurrent quantity information of soft switch module lines; According to the concurrent number information of the soft switch module line, multiple outbound call data are read into the Redis module for cache, so that the soft switch module can read the outbound call data from the Redis module according to its own concurrent number; The method of reading the pre-stored outbound call data from Redis according to the session callback information and sending the data to be called outbound from Redis to the soft switch module includes: According to the acquired session callback information transmitted by the soft switch module, the total amount of the outbound call data recorded by the Redis module is reduced; Determine whether the total amount of outbound call data recorded by the reduced Redis module is less than a preset threshold. If not, Determine whether there is any cached outbound call data in the Redis module. If so, Pass the outbound call data cached in the Redis module to the soft switch module; The method of reading the pre-stored outbound call data in the Redis module according to the session callback information and sending the data to be called outbound from the Redis module further includes: Determine whether the total amount of outbound call data recorded by the reduced Redis module is less than a preset threshold. If so, Generate reminder notification information; The method of reading the pre-stored outbound call data in the Redis module according to the session callback information and sending the data to be called outbound from the Redis module further includes: Determine whether there is any cached outbound call data in the Redis module. If not, Acquire a preset outbound call database, wherein the preset outbound call database includes at least one preset outbound call data and basic information of each preset outbound call data; Randomly obtain multiple pieces of pending outbound call data in the pending outbound call database; Each randomly acquired outbound call data is compared with each preset outbound call data in the preset outbound call database to determine whether there is the same outbound call data as the preset outbound call data. If so, Obtaining basic information of preset outbound call data that is the same as the outbound call data; For each of the randomly acquired pieces of outbound call data and the pieces of outbound call data for which basic information has not been acquired, a first estimated outbound call duration is set; Obtaining a first average outbound calling time according to each first estimated outbound calling time; Setting a second estimated outbound call duration according to each piece of outbound call data in each piece of the acquired basic information; Obtain a second average outbound call time according to each second estimated outbound call time; Obtaining an average outbound call duration according to the first average outbound call duration and the second average outbound call duration; Determine whether the average outbound call time obtained is greater than the preset threshold. If not, Randomly replace one or more pieces of outbound call data among the randomly obtained pieces of outbound call data, and repeatedly obtain the average outbound call time of each piece of outbound call data after random replacement, until the average outbound call time is greater than a preset threshold; The randomly acquired pieces of waiting outbound call data that are larger than a preset threshold are passed to the Redis module for caching.

5. A conversation system, characterized in that: The session system includes a Redis-based outbound call device, a Redis module, and a soft switch module; wherein, The Redis-based outbound calling device, Redis module, and soft switch module cooperate to implement the Redis-based outbound calling method as described in any one of claims 1 to 3.