Recording data processing method and device
By generating recording files and records on the call center server, and using the message subscription database and asynchronous push mechanism to store them in the target database, the problem of low efficiency of cross-call recording file query is solved, and fast and convenient omni-channel recording file query is achieved.
Patent Information
- Application Number
- CN202310012561.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-05
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2043-01-05
AI Technical Summary
In the omnichannel call center cluster of multiple call centers, the prior art cannot realize recording file query across call centers, resulting in inefficiency in query.
After generating recording files and recording records on the server side of each call center, the recording files are stored to the file storage server, and the recording records are written to the message subscription database. The recording records are stored in the target database through asynchronous push, ensuring that the recording records of all call centers are stored in the target database.
It realizes the rapid query of recording files of omnichannel call center clusters through any call center, which improves query efficiency and convenience, and reduces the impact on call performance under high concurrency.
Smart Images

Figure CN116132590B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of data processing, and in particular, to a method and apparatus for processing recording data. Background Art
[0002] Currently, with the rapid development of computer technology and communication technology, the application of seat personnel making calls to customers through a call center is becoming more and more widespread; among them, in order to ensure the traceability of the call process, corresponding recording files and recording records are usually stored for each call event, so that the corresponding recording files can be listened to based on the recording records subsequently; however, in the prior art, for an omnichannel call center cluster including multiple call centers, the multiple call centers are independent of each other, and the recording files and recording records of different call centers are respectively stored in their own databases. Therefore, only the recording files of their own can be queried under the login page of any call center, and cross-call center query of recording files is not supported, so that it is impossible to quickly query the recording files of the entire channel. Summary of the Invention
[0003] The purpose of the embodiments of the present application is to provide a method and apparatus for processing recording data, which can realize quickly querying the recording files of an omnichannel call center cluster composed of N call centers through any call center, that is, cross-call center query of recording files is supported among multiple call centers.
[0004] In order to achieve the above technical solution, the embodiments of the present application are implemented as follows:
[0005] In a first aspect, a method for processing recording data provided by an embodiment of the present application is applied to a server of any target call center among N call centers, and the method includes:
[0006] After monitoring the end of a target call event, generating a recording file of the target call event and a recording record of the recording file; storing the recording file in a file storage server; writing the recording record into a message subscription database of the target call center; the recording record in the message subscription database is used to be consumed and written into a target database, so that the target database stores the recording records of the N call centers.
[0007] In a second aspect, a device for processing recording data provided by an embodiment of the present application is arranged on a server of any target call center among N call centers, and the device includes:
[0008] A recording data generation module, configured to generate a recording file of the target call event and a recording record of the recording file after monitoring the end of the target call event;
[0009] The first data processing module is configured to store the recording file in a file storage server;
[0010] The second data processing module is configured to write the recording record into the message subscription database of the target call center; the recording records in the message subscription database are used to be consumed and written into a target database, so that the target database stores the recording records of the N call centers.
[0011] In a third aspect, a recording data processing device provided by an embodiment of the present application includes:
[0012] A processor; and a memory arranged to store computer-executable instructions, the executable instructions being configured to be executed by the processor, the executable instructions including steps for performing the method as described in the first aspect.
[0013] In a fourth aspect, a storage medium provided by an embodiment of the present application, wherein the storage medium is used to store computer-executable instructions, and the executable instructions cause a computer to perform the steps of the method as described in the first aspect.
[0014] It can be seen that in the embodiment of the present application, for the server of any target call center among the N call centers, after monitoring the end of the target call event, a recording file of the target call event and a recording record of the recording file are generated; then, the recording file corresponding to the target call event is stored in the file storage server; the recording record corresponding to the target call event is written into the message subscription database of the target call center; wherein, the recording records in the message subscription database are used to be consumed and written into the target database, so that the target database stores all the recording records of the N call centers. On the one hand, in this way, the recording record of any to-be-query recording file can be directly obtained from the target database, and then based on this recording record, the recording file of any call center among the N call centers can be quickly obtained, thereby realizing the quick query of the recording files of the omnichannel call center cluster composed of the N call centers through any call center, that is, only by logging in to the access page of any call center, the recording files of all call centers can be queried, saving the steps of logging in to the access pages of different call centers respectively, and improving the query efficiency and convenience of the recording files; on the other hand, by adding a message subscription database (i.e., message middleware) for each call center, first storing the recording records in their respective message subscription databases, and then using an asynchronous push method to store the recording records in the target database (i.e., by asynchronously consuming the recording records in the message middleware for transfer storage), in this way, the server of the call center can weaken the data storage performance and focus more on the call performance (that is, ensuring that the priority of normal calls is higher than the priority of data storage). Even when the call concurrency is relatively large, since the recording records are written asynchronously, the impact on the call performance caused by concurrent writing of the recording records can be reduced, thereby ensuring that all recording records are stored in the target database without affecting the call performance. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments recorded in one or more of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0016] Figure 1 The first flow diagram of the recording data processing method provided by the embodiment of the present application;
[0017] Figure 2 The first implementation principle diagram of the recording data processing method provided by the embodiment of the present application;
[0018] Figure 3 The second implementation principle diagram of the recording data processing method provided by the embodiment of the present application;
[0019] Figure 4 It is the second process schematic diagram of the audio data processing method provided by the embodiment of the present application;
[0020] Figure 5 It is the third implementation principle schematic diagram of the audio data processing method provided by the embodiment of the present application;
[0021] Figure 6 It is the fourth implementation principle schematic diagram of the audio data processing method provided by the embodiment of the present application;
[0022] Figure 7 It is the schematic diagram of the module composition of the audio data processing device provided by the embodiment of the present application;
[0023] Figure 8 It is the structural schematic diagram of the audio data processing device provided by the embodiment of the present application. Detailed implementation manners
[0024] In order to enable those skilled in the art to better understand the technical solutions in one or more of the present applications, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of one or more of the present applications, rather than all the embodiments. Based on the embodiments in one or more of the present applications, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0025] It should be noted that, without conflict, the embodiments and features in one or more of the present applications can be combined with each other. The embodiments of the present application will be described in detail below with reference to the drawings and in conjunction with the embodiments.
[0026] One or more embodiments of the present application provide a method and device for processing recorded voice data. Considering that after generating a recorded voice record of a target call event, if the recorded voice record is directly written into a unified relational database, then in the case of a relatively large call concurrency, the server of the call center needs to concurrently write the recorded voice records into the unified relational database. This will inevitably affect the performance of the call center in concurrently processing call services, that is, the server of the call center needs to simultaneously consider the performance of data storage and the performance of call service processing. Based on the above problems, in the technical solution, after the server of any target call center among N call centers generates a recorded voice file and a recorded voice record of the recorded voice file, the recorded voice file corresponding to the target call event is stored in a file storage server; the recorded voice record corresponding to the target call event is written into the message subscription database of the target call center; wherein, the recorded voice records in the message subscription database are used to be consumed and written into the target database, so that the target database stores all the recorded voice records of N call centers. On the one hand, in this way, the recorded voice record of any recorded voice file to be queried can be directly obtained from the target database, and then the recorded voice file of any call center among N call centers can be quickly obtained based on the recorded voice record, so as to realize that the recorded voice file of the omnichannel call center cluster composed of N call centers can be quickly queried through any call center, that is, only by logging in to the access page of any call center, the recorded voice files of all call centers can be queried, saving the steps of logging in to the access pages of different call centers respectively, and improving the query efficiency and convenience of the recorded voice files. On the other hand, by adding a message subscription database (i.e., a message middleware) for each call center, first storing the recorded voice records in their respective message subscription databases, and then using an asynchronous push method to store the recorded voice records in the target database (i.e., by asynchronously consuming the recorded voice records in the message middleware for transfer storage), the server of the call center can weaken the data storage performance and focus more on the call performance (that is, ensure that the priority of normal call is higher than the priority of data storage). Even in the case of a relatively large call concurrency, since the recorded voice records are written asynchronously, the impact on the call performance due to concurrent writing of the recorded voice records can be reduced, so as to ensure that all the recorded voice records are stored in the target database without affecting the call performance.
[0027] Specifically, the embodiment of the present application provides a recording data processing system, which includes: a business processing server of each call center among N call centers, a message subscription database deployed for each call center, and a target database; wherein, the N call centers correspond to different call service types, that is, the business processing servers of different call centers are used to process different call services. For example, the N call centers may include an operation department call center, an asset management department call center, and an outsourced business call center; the message subscription database can be used as a message middleware, which can be independent of the business processing server of the call center or can be set in the business processing server of the call center; the target database may include a search engine database. Correspondingly, the recording records of the N call centers are all stored in a unified search engine database, and the business processing servers of the N call centers are all communicatively connected to the search engine database; the target database may also include a relational database of non-target call centers among the N call centers, or the target database may further include relational databases of the N call centers, that is, the recording records of the target call centers are not only stored in their respective relational databases but also stored in the relational databases of other call centers. Correspondingly, the recording records of the N call centers are stored in each relational database of the call centers, and the business processing servers of the N call centers are respectively communicatively connected to their respective relational databases; specifically, the specific process of the above recording data processing method includes:
[0028] The business processing server of any target call center among the N call centers, after monitoring the end of the target call event, generates a recording file of the target call event and a recording record of the recording file.
[0029] The above business processing server stores the recording file of the target call event; specifically, the recording file of the target call event can be stored on the disk of the local file storage server of the target call center, or the recording file of the target call event can be stored in a unified file storage server.
[0030] The above business processing server writes the recording record of the target call event into the message subscription database of the target call center; wherein, the recording records in the message subscription database are used to be consumed and written into the target database, so that the target database stores the recording records of the N call centers.
[0031] In the above application scenario, on the one hand, since all the recording records of N call centers are stored in the target database, any recording record of a to-be-query recording file can be directly obtained from the target database, and then the recording file of any call center among the N call centers can be quickly obtained based on the recording record, so as to realize that any call center can quickly query the recording files of the omnichannel call center cluster composed of N call centers, that is, only by logging in to the access page of any call center can the recording files of all call centers be queried, saving the step of logging in to the access pages of different call centers respectively, and improving the query efficiency and convenience of the recording files; on the other hand, by adding a message subscription database (i.e., message middleware) for each call center, first storing the recording records in their respective message subscription databases, and then storing the recording records in the target database in an asynchronous push manner (i.e., by asynchronously consuming the recording records in the message middleware for transfer storage), the server of the call center can weaken the data storage performance and focus more on the call performance (i.e., ensuring that the priority of normal calls is higher than the priority of data storage). Even when the call concurrency is relatively large, since the recording records are written asynchronously, the impact on the call performance caused by concurrent writing of the recording records can be reduced, so as to ensure that all recording records are stored in the target database without affecting the call performance.
[0032] Figure 1 The first flow diagram of the recording data processing method provided by one or more embodiments of the present application Figure 1 The method in can be executed by the server of any target call center among N call centers. As Figure 1 shown, the method at least includes the following steps:
[0033] S102, after monitoring the end of the target call event, generate a recording file of the target call event and a recording record of the recording file; wherein, the above target call event can be a call event in which a seat operator makes an outbound call to a target customer, or a call event in which a seat operator answers an incoming call from a target customer; the above recording record can include multiple information fields. For example, each recording record can include at least one of a recording id, a customer phone number, a start recording time, an end recording time, a recording file address, and a call center domain name (i.e., used to mark the source of the recording record, that is, to mark which call center the recording record comes from).
[0034] S104, store the recording file of the above target call event in a file storage server; specifically, the file storage server can be a local file storage server of the target call center, can be independent of the business processing server of the call center, or can belong to the business processing server of the call center; the file storage server can be a unified file storage server shared by multiple call centers.
[0035] S106. Write the recording of the above target call event into the message subscription database of the target call center. The recording in the message subscription database is used to be consumed and written into the target database, so that the target database stores the recordings of N call centers.
[0036] Specifically, the recording of the target call event is generated by the first specific component (i.e., the message producer, such as the recording management component) deployed in the server of the target call center. This recording is first written into its respective message subscription database (i.e., the message middleware, such as the kafka service). Then, the recording in the message subscription database is consumed by the second specific component (i.e., the message consumer, such as the dataExchange component) deployed in the server of the target call center, and the recording is written into the target database. That is, the recording is first written into its respective message middleware, and then the recording in the message middleware is consumed by an asynchronous push method to store the recording in the target database.
[0037] Among them, in the specific implementation, the following two implementation methods can be used to store the recordings of each target call event. The first implementation method can be to store all the recordings of N call centers in a unified search engine database. The second implementation method can be to store all the recordings of N call centers in the relational databases of each call center, that is, each relational database of the call center stores the recordings of N call centers.
[0038] Specifically, for the first implementation method of recording storage, that is, storing all the recordings of N call centers in a unified search engine database. Among them, the above target database includes the search engine database.
[0039] Correspondingly, the above S106, writing the recording of the above target call event into the message subscription database of the target call center, specifically includes:
[0040] Write the recording of the above target call event to the target topic in the message subscription database of the target call center; among them, the recordings under the target topic are used to be consumed and written to the target index in the above search engine database. In this way, since any target call center among the N call centers consumes the recordings under the target topic in its own message subscription database and writes them to the corresponding target index in the above search engine database, therefore, the recordings of different target call centers are stored under different target indexes in the search engine database, that is, the recordings of a certain target call center are stored respectively under the N target indexes in the search engine database, that is, all recordings are stored under the N target indexes in the search engine database; in addition, instead of directly writing the recordings to the search engine database, the recordings are stored in the search engine database by means of an asynchronous push method with the help of a message middleware, which can ensure the call performance of the call center to a greater extent.
[0041] Among them, the above search engine database is a data storage form applied in the field of search engines, and any one of Solr, Elasticsearch, and Splunk can be selected; since the search engine can crawl a large amount of data and store it in a specific format by using an inverted index, which is an open-source search engine with fast query speed, good performance, and strong scalability. In this way, directly relying on the search engine database without excessive query performance tuning can achieve fast query of the required information during retrieval, that is, it can meet the quick response of the agent or quality inspection personnel during query.
[0042] Specifically, the above search engine database contains target indexes corresponding to different target call centers, and the recording records of different target call centers are written under the corresponding target indexes; the name of the target topic in the message subscription database of the target call center, the name of the target index in the search engine database, and the domain name of the target call center correspond to each other; for example, N call centers include Call Center A, Call Center B, and Call Center C. The domain name of Call Center A can be www.A.com, the domain name of Call Center B can be www.B.com, and the domain name of Call Center C can be www.C.com. Correspondingly, if the target call center is Call Center A, the name of the target topic in the message subscription database of Call Center A can be A.callRecord.topic, and the name of the target index created in the search engine database for Call Center A can also be A.callRecord.topic; if the target call center is Call Center B, the name of the target topic in the message subscription database of Call Center B can be B.callRecord.topic, and the name of the target index created in the search engine database for Call Center B can also be B.callRecord.topic; if the target call center is Call Center C, the name of the target topic in the message subscription database of Call Center C can be C.callRecord.topic, and the name of the target index created in the search engine database for Call Center C can also be C.callRecord.topic.
[0043] In addition, it should be noted that the name of the above target topic and the name of the corresponding target index may be the same or different. In this embodiment of the present application, the case where the two are the same is used for illustration, but the present application does not limit this.
[0044] In a specific embodiment, as Figure 2 shown, still taking N call centers including Call Center A, Call Center B, and Call Center C as an example, the above recording data processing system includes: a server corresponding to each call center, a message subscription database deployed on each server (such as message middleware kafka, and the target topic corresponding to the target call center is configured in kafka), a relational database corresponding to each call center (such as a mysql database), and a search engine database (i.e., the target database, such as Elasticsearch, abbreviated as ES). And a preset data transmission channel (such as logstash) is deployed between the search engine database and the server of the call center, which is used to collect recording records from N call centers by subscribing to the target topic in kafka and transfer them to the search engine database; specifically, the specific implementation process of the recording data processing method is given, which mainly includes:
[0045] (1) If the target call center is Call Center A, then after the server of Call Center A monitors the end of the target call event, it generates a recording file of the target call event and a recording record of this recording file;
[0046] The server of Call Center A stores the recording file of the target call event; and writes the recording record of the target call event under the target topic of the message subscription database of Call Center A (such as A.callRecord.topic, abbreviated as A.topic); among them, the recording record under the target topic of the message subscription database of Call Center A is used to be consumed and written into the target index corresponding to Call Center A in the search engine database (such as A.callRecord.topic, abbreviated as A.topic); in addition, not only the recording record of Call Center A is stored in the search engine database, but also a copy of the recording record of Call Center A can be written into the relational database of Call Center A;
[0047] (2) If the target call center is Call Center B, then after the server of Call Center B monitors the end of the target call event, it generates a recording file of the target call event and a recording record of this recording file;
[0048] The server of Call Center B stores the recording file of the target call event; and writes the recording record of the target call event under the target topic of the message subscription database of Call Center B (such as B.callRecord.topic, abbreviated as B.topic); among them, the recording record under the target topic of the message subscription database of Call Center B is used to be consumed and written into the target index corresponding to Call Center B in the search engine database (such as B.callRecord.topic, abbreviated as B.topic); in addition, not only the recording record of Call Center B is stored in the search engine database, but also a copy of the recording record of Call Center B can be written into the relational database of Call Center B;
[0049] (3) If the target call center is Call Center C, then after the server of Call Center C monitors the end of the target call event, it generates a recording file of the target call event and a recording record of this recording file;
[0050] The server of call center C stores the recording files of target call events; and writes the recording records of the target call events under the target topic of the message subscription database of call center C (such as C.callRecord.topic, hereinafter referred to as C.topic); among them, the recording records under the target topic of the message subscription database of call center C are used to be consumed and written into the corresponding target index of call center C in the search engine database (such as C.callRecord.topic, hereinafter referred to as C.topic); in addition, not only the recording records of call center C are stored in the search engine database, but also a copy of the recording records of call center C is written into the relational database of call center C;
[0051] After the recording records under the target topics of the message subscription databases corresponding to call center A, call center B, and call center C are consumed and written into the corresponding target indexes of call center A, call center B, and call center C in the search engine database respectively, the search engine database stores all the recording records of call center A, call center B, and call center C; specifically, the search engine database includes the target index A.callRecord.topic corresponding to call center A, the target index B.callRecord.topic corresponding to call center B, and the target index C.callRecord.topic corresponding to call center C. The recording records of call center A are stored under the target index A.callRecord.topic, the recording records of call center B are stored under the target index B.callRecord.topic, and the recording records of call center C are stored under the target index C.callRecord.topic.
[0052] Specifically, for the second implementation method of recording record storage, that is, all the recording records of N call centers are stored in the relational databases of each call center, that is, the relational databases of each call center store the recording records of N call centers; among them, the above-mentioned target database includes the relational databases of non-target call centers among N call centers;
[0053] Correspondingly, in the above S106, writing the recording records of the above target call events into the message subscription database of the target call center specifically includes:
[0054] Step 1, write the recording records of the above target call events into the relational database of the target call center;
[0055] Specifically, the recording of the target call event can be directly written into the relational database of the target call center; alternatively, the recording of the target call event can be first written into the target topic of the message subscription database of the target call center, and then the second specific component deployed in the server of the target call center consumes the recording in the target topic of the message subscription database and writes the recording into the relational database of the target call center;
[0056] Step 2, write the recording of the above target call event into a non-target topic of the message subscription database of the target call center; among them, the recordings in the non-target topic are used to be consumed and written into the relational database of the non-target call center. In this way, since the relational databases of the non-target call centers among the N call centers not only store their own recordings but also store the recordings of other target call centers, the relational databases of each call center store all the recordings of the N call centers; in addition, instead of directly writing the recordings into the relational database of the non-target call center, the recordings are stored in the relational database of the non-target call center by means of an asynchronous push through a message middleware, which can ensure the call performance of the call center to a greater extent.
[0057] Specifically, the server of the target call center writes the recordings in the non-target topic into the relational database of the non-target call center by calling the preset interface of the non-target call center (such as the public API interface, that is, the service interface provided by the call center for third-party calls).
[0058] Specifically, if the target call center is Call Center A, the non-target call centers include Call Center B and Call Center C. Correspondingly, the non-target topics of the message subscription database of the target call center can include B.callRecord.topic and C.callRecord.topic; if the target call center is Call Center B, the non-target call centers include Call Center A and Call Center C. Correspondingly, the non-target topics of the message subscription database of the target call center can include A.callRecord.topic and C.callRecord.topic; if the target call center is Call Center C, the non-target call centers include Call Center A and Call Center B. Correspondingly, the non-target topics of the message subscription database of the target call center can include A.callRecord.topic and B.callRecord.topic.
[0059] In addition, it should be noted that for a certain target call center, the recording records of the target call center can be written only under some non-target topics in the message subscription database of the target call center, rather than under all non-target topics in the message subscription database of the target call center. That is, it can be flexibly configured which relational databases of non-target call centers the recording records of the target call center are stored in. Specifically, for each target call center, an other call center configuration parameter (such as otherCallCenter) can be configured. For example, if otherCallCenter = B, C is configured in call center A, then the recording records of call center A need to be written under the non-target topics B.callRecord.topic and C.callRecord.topic in the message subscription database of call center A. Correspondingly, the recording records of call center A will be written into the relational database of call center B and the relational database of call center C. Another example is that if otherCallCenter = B is configured in call center A, then the recording records of call center A need to be written under the non-target topic B.callRecord.topic in the message subscription database of call center A, and will not be written under the non-target topic C.callRecord.topic in the message subscription database of call center A. Correspondingly, the recording records of call center A will only be written into the relational database of call center B, and will not be written into the relational database of call center C.
[0060] In specific implementation, for the second implementation method of the above recording record storage, for the specific implementation process of writing the recording record into the relational database of the target call center, it can be the second sub-implementation method 1, directly writing the recording record into the relational database of the target call center, or the second sub-implementation method 2, first writing the recording record under the target topic in the message subscription database of the target call center, and then writing the recording record into the relational database of the target call center by consuming the recording record under the target topic. Specifically, for the second sub-implementation method 2, the above target database also includes the relational database of the target call center.
[0061] Correspondingly, step 1 above, writing the recording record of the above target call event into the relational database of the target call center specifically includes:
[0062] Writing the recording record of the above target call event under the target topic in the message subscription database of the target call center;
[0063] Recordings under the target topic of the message subscription database of the consumer target call center and write the recordings to the relational database of the target call center; specifically, the second specific component (i.e., message consumer, such as the dataExchange component) deployed in the server of the target call center consumes the recordings under the target topic of the message subscription database of the target call center (i.e., message middleware, such as kafka service) to write the recordings to the relational database of the target call center; in addition, similarly, the recordings are not directly written to the relational database of the target call center, but are stored in the relational database of the target call center by means of asynchronous push through the message middleware, which can further ensure the call performance of the call center to a greater extent.
[0064] Specifically, if the target call center is Call Center A, the target topic of the message subscription database of the target call center may include A.callRecord.topic; if the target call center is Call Center B, the target topic of the message subscription database of the target call center may include B.callRecord.topic; if the target call center is Call Center C, the target topic of the message subscription database of the target call center may include C.callRecord.topic.
[0065] In a specific embodiment, as Figure 3 shown, still taking N call centers including Call Center A, Call Center B, and Call Center C as an example, the above recording data processing system includes: servers respectively corresponding to each call center, message subscription databases (such as message middleware kafka, where the target topics corresponding to the target call centers and non-target topics corresponding to non-target call centers are configured) respectively deployed on each server, relational databases (such as mysql databases) respectively corresponding to each call center, correspondingly, the target database includes the relational databases respectively corresponding to each call center; specifically, the specific implementation process of the recording data processing method is given, mainly including:
[0066] (1) If the target call center is Call Center A, after the server of Call Center A monitors the end of the target call event, generate a recording file of the target call event and a recording record of the recording file;
[0067] The server of Call Center A stores the recording file of the target call event; and writes the recording record of the target call event under the target topic (such as A.callRecord.topic) of the message subscription database of Call Center A and under the non-target topics (such as B.callRecord.topic and C.callRecord.topic) of the message subscription database of Call Center A; among them, the recording records under the target topic of the message subscription database of Call Center A are used to be consumed and written into the relational database of Call Center A, and the recording records under the non-target topics of the message subscription database of Call Center A are used to be consumed and written into the relational databases of other call centers except Call Center A; specifically, the recording records under the non-target topic B.callRecord.topic are used to be consumed and written into the relational database of Call Center B, and the recording records under the non-target topic C.callRecord.topic are used to be consumed and written into the relational database of Call Center C; in this way, the relational databases of each call center all store the recording records of Call Center A;
[0068] (2) If the target call center is Call Center B, then after the server of Call Center B monitors the end of the target call event, it generates the recording file of the target call event and the recording record of this recording file;
[0069] The server of Call Center B stores the recording file of the target call event; and writes the recording record of the target call event under the target topic (such as B.callRecord.topic) of the message subscription database of Call Center B and under the non-target topics (such as A.callRecord.topic and C.callRecord.topic) of the message subscription database of Call Center B; among them, the recording records under the target topic of the message subscription database of Call Center B are used to be consumed and written into the relational database of Call Center B, and the recording records under the non-target topics of the message subscription database of Call Center B are used to be consumed and written into the relational databases of other call centers except Call Center B; specifically, the recording records under the non-target topic A.callRecord.topic are used to be consumed and written into the relational database of Call Center A, and the recording records under the non-target topic C.callRecord.topic are used to be consumed and written into the relational database of Call Center C; in this way, the relational databases of each call center all store the recording records of Call Center B;
[0070] (3) If the target call center is Call Center C, then after the server of Call Center C monitors the end of the target call event, it generates the recording file of the target call event and the recording record of this recording file;
[0071] The server of call center C stores the recording files of target call events; and writes the recording records of the target call events under the target topic (such as C.callRecord.topic) of the message subscription database of call center C and under the non-target topics (such as A.callRecord.topic and B.callRecord.topic) of the message subscription database of call center C; wherein, the recording records under the target topic of the message subscription database of call center C are used to be consumed and written into the relational database of call center C, and the recording records under the non-target topics of the message subscription database of call center C are used to be consumed and written into the relational databases of other call centers except call center C; specifically, the recording records under the non-target topic A.callRecord.topic are used to be consumed and written into the relational database of call center A, and the recording records under the non-target topic B.callRecord.topic are used to be consumed and written into the relational database of call center B; thus, the relational databases of each call center store the recording records of call center C.
[0072] After the recording records under the target topics and non-target topics of the message subscription databases corresponding to call center A, call center B, and call center C are consumed and written into the corresponding relational databases respectively, the relational databases of each call center store all the recording records of call center A, call center B, and call center C.
[0073] It should be noted that the target call center and non-target call centers are relative. If a certain call center is regarded as the target call center, then other call centers can be regarded as non-target call centers; for example, if the target call center is call center A, correspondingly, the non-target call centers include call center B and call center C; another example, if the target call center is call center B, correspondingly, the non-target call centers include call center A and call center C; still another example, if the target call center is call center C, correspondingly, the non-target call centers include call center A and call center B.
[0074] Furthermore, considering the second implementation method for the above recording record storage, during the process of writing the recording records of the target call center to the non-target call centers, there may be a situation where the recording record writing fails. To ensure the integrity of the recording records in the relational databases of each call center, after writing the recording records of the above target call events under the non-target topics of the message subscription database of the target call center in the above step two, it further includes:
[0075] If the writing of the above recording record fails in the relational database of any non-target call center, the above recording record is stored in a preset writing failure list; wherein, the preset writing failure list is stored in the relational database of the target call center.
[0076] When the current moment meets the preset data rewriting constraint conditions, the recording records in the above preset writing failure list are written into the relational database of the corresponding non-target call center.
[0077] Specifically, refer to the above Figure 3 , when the target call center is Call Center A, if a recording record under the non-target topic B.callRecord.topic in the message subscription database of Call Center A is consumed and written into the relational database of Call Center B, and a writing failure occurs during the process, the recording record with the writing failure is stored in the preset writing failure list in the relational database of Call Center A; then, the recording record is written into the relational database of Call Center B again at a preset time interval. If the rewriting is successful, the recording record in the preset writing failure list is deleted.
[0078] In specific implementation, two information record lists can be configured in the relational database of each call center. For example, the first information record list call_record_all_env and the second list call_record_sendToOtherEnv_Fail; wherein, the first information record list is used to store the recording records of all call centers, and the second information record list (i.e., the preset writing failure list) is used to store the recording records with writing failures, that is, the recording records with failed pushing to other call centers.
[0079] Furthermore, for the specific implementation process of generating the recording record of the target recording event, since some information fields in the recording record can be known at the beginning stage of the target call event, and some other information fields in the recording record can only be known at the end stage of the target call event, based on this, the above method further includes:
[0080] After monitoring the start of the target call event, an initial recording record of the target call event is generated; wherein, the initial recording record includes multiple first fields and at least one second field, the first fields are non-empty fields, and the values of the second fields are empty.
[0081] Among them, the above multiple first fields may include at least one of recording id, customer phone number, start recording time, and call center domain name; the above at least one second field may include at least one of end recording time and recording file address.
[0082] Correspondingly, in the above S102, after monitoring the end of the target call event, a recording file of the target call event and a recording record of the recording file are generated, specifically including:
[0083] After monitoring the end of the target call event, a recording file of the target call event is generated, and the second field is assigned a value to obtain the recording record after field assignment of the recording file.
[0084] Specifically, if at least one of the above second fields includes the end recording time and the recording file address, after the target call event ends, the end recording time and the recording file address in the initial recording record of the target call event are assigned values to obtain the final recording record; then, the final recording record of the target call event is written into the message subscription database of the target call center.
[0085] Furthermore, for the process of querying and listening to the recording file, as Figure 4 shown, after writing the recording record of the target call event into the message subscription database of the target call center in the above S106, it further includes:
[0086] S108, receiving a recording file query request from the client; wherein, the recording file query request carries a query keyword;
[0087] Wherein, the query keyword carried in the recording file query request is used to indicate which recording files to query. For example, if it is necessary to query the recording files of a certain day or a certain period of time, the query keyword can be a specific date, such as December 25, 2022; another example is that if it is necessary to query the recording files of customers from a certain region, the query keyword can also be the first few digits of the customer's phone number.
[0088] S110, in response to the recording file query request, determining a set of call centers to be queried according to the pre-stored query range configuration information; wherein, the set of call centers to be queried includes the target call center and at least one non-target call center;
[0089] Specifically, the above-mentioned pre-stored query scope configuration information is used to indicate which recording files of non-target call centers are allowed to be queried; still taking N call centers including call center A, call center B, and call center C as an example. For instance, for the target call center being call center A, if the pre-stored query scope configuration information corresponding to call center A includes call center B and call center C, it is determined that the client logging in to call center A can query the recording files of call center A, call center B, and call center C. Correspondingly, the target call center in the call center set to be queried includes call center A, and at least one non-target call center in the call center set to be queried includes call center B and call center C; another example, for the target call center being call center B, if the pre-stored query scope configuration information corresponding to call center B includes call center A and call center C, it is determined that the client logging in to call center B can query the recording files of call center A, call center B, and call center C. Correspondingly, the target call center in the call center set to be queried includes call center B, and at least one non-target call center in the call center set to be queried includes call center A and call center C; yet another example, for the target call center being call center C, if the pre-stored query scope configuration information corresponding to call center C includes call center A and call center B, it is determined that the client logging in to call center C can query the recording files of call center A, call center B, and call center C. Correspondingly, the target call center in the call center set to be queried includes call center C, and at least one non-target call center in the call center set to be queried includes call center A and call center B.
[0090] In addition, it should be noted that the above-mentioned pre-stored query scope configuration information can be configured according to actual needs. For example, if a request to query recording files is made through call center A and only the recording files of call center A and call center B are allowed to be queried, then the pre-stored query scope configuration information corresponding to call center A includes the identification information of call center B and does not include the identification information of call center C, that is, the pre-stored query scope configuration information corresponding to different call centers can be flexibly configured.
[0091] S112. Based on the first identification information of the above-mentioned target call center and the second identification information of at least one non-target call center, obtain the target recording record set corresponding to the above-mentioned query keyword from the target database;
[0092] Among them, the above first identification information may be the unique identification information of the target call center. For example, a unique string may be used as the unique identification information of the target call center, or the domain name of the target call center may be used as the unique identification information of the target call center; the above second identification information may be the unique identification information of non-target call centers. For example, a unique string may be used as the unique identification information of non-target call centers, or the domain name of non-target call centers may be used as the unique identification information of non-target call centers.
[0093] Specifically, still taking N call centers including call center A, call center B, and call center C as an example. For example, for the target call center being call center A, correspondingly, at least one non-target call center may include call center B and call center C; if the query keyword includes a specific date, such as December 25, 2022, then the above target recording record set includes the recording records in the recordings of call center A with the end recording time of December 25, 2022, the recording records in the recordings of call center B with the end recording time of December 25, 2022, and the recording records in the recordings of call center C with the end recording time of December 25, 2022; another example is that for the target call center being call center B, correspondingly, at least one non-target call center may include call center A and call center C; if the query keyword includes a specific date, such as December 25, 2022, then the above target recording record set includes the recording records in the recordings of call center A with the end recording time of December 25, 2022, the recording records in the recordings of call center B with the end recording time of December 25, 2022, and the recording records in the recordings of call center C with the end recording time of December 25, 2022.
[0094] S114, based on the above target recording record set, obtain the corresponding recording files; and send the above recording files to the client; among them, the recording files corresponding to each recording record in the target recording record set can be obtained, and the media stream of the recording file can be read and sent to the client.
[0095] Specifically, after obtaining the target recording record set, the corresponding recording files can be listened to according to the recording file addresses included in each recording record in the target recording record set. Thus, it can be known that whether the quality inspection personnel log in to the access page of Call Center A, or the access page of Call Center B, or the access page of Call Center C through the client, they can request to query together the recording files with the end recording time of December 25, 2022 in the recording files of Call Center A, the recording files with the end recording time of December 25, 2022 in the recording files of Call Center B, and the recording files with the end recording time of December 25, 2022 in the recording files of Call Center C. Among them, the access page of the call center can be the recording management and query page for seat personnel or quality inspection personnel.
[0096] Among them, considering that the recording records of each target call event can be stored in the above two implementation methods; that is, the first implementation method can be to store all the recording records of N call centers in a unified search engine database; the second implementation method can be to store all the recording records of N call centers in the relational databases of each call center. Based on this, for different specific implementation methods of storing recording records, the specific implementation processes of querying and listening to recording files are also different.
[0097] Specifically, for the above first implementation method, that is, storing all the recording records of N call centers in a unified search engine database; in the process of querying and listening to recording files, among them, the above target database includes a search engine database.
[0098] Correspondingly, in S112 above, based on the first identification information of the above target call center and the second identification information of at least one non-target call center, obtaining the target recording record set corresponding to the above query keyword from the target database specifically includes:
[0099] Determining a first target index based on the first identification information of the above target call center, and determining a second target index based on the second identification information of the above at least one non-target call center;
[0100] Obtaining a first subset of recording records whose values of a specified field include the above query keyword from under the first target index of the above search engine database; and obtaining a second subset of recording records whose values of the specified field include the above query keyword from under the second target index of the above search engine database. Specifically, the specified field corresponds to the type of the query keyword. For example, if the query keyword is a specific date, the specified field is the end recording time in the recording record; another example is that if the query keyword is the first few digits of the customer's phone number, the specified field is the customer's phone number in the recording record.
[0101] Based on the above first subset of recorded audio and the second subset of recorded audio, determine the set of target recorded audio corresponding to the above query keywords.
[0102] In a specific embodiment, based on the above Figure 2 , as Figure 5 shown, for the query and playback process of recorded audio files, a specific implementation process of the recorded audio data processing method is given, which mainly includes:
[0103] (1) If the target call center is Call Center A, the server of Call Center A receives a recorded audio file query request from the client; among them, the recorded audio file query request carries query keywords; that is, the client requests to query the recorded audio file by logging in to the access page of Call Center A.
[0104] In response to the above recorded audio file query request, the server of Call Center A determines the set of call centers to be queried according to the pre-stored query scope configuration information; specifically, if the pre-stored query scope configuration information corresponding to Call Center A includes Call Center B and Call Center C, the target call centers in the set of call centers to be queried include Call Center A, and at least one non-target call center in the set of call centers to be queried includes Call Center B and Call Center C.
[0105] The server of Call Center A determines the first target index based on the first identification information of Call Center A (such as the domain name www.A.com) (that is, the target index corresponding to the target topic in the message subscription database of Call Center A, such as A.callRecord.topic), and determines the second target index based on the second identification information of Call Center B and Call Center C (such as the domain names www.B.com and www.C.com) (that is, the target indexes corresponding to the target topics in the message subscription databases of Call Center B and Call Center C, such as B.callRecord.topic and C.callRecord.topic).
[0106] The server of Call Center A obtains a first subset of recorded audio whose specified field value contains the above query keywords from under the first target index of the above search engine database; and obtains a second subset of recorded audio whose specified field value contains the above query keywords from under the second target index of the above search engine database; specifically, if the query keyword includes a specific date, such as December 25, 2022, the above first subset of recorded audio includes the recorded audio in Call Center A whose end recording time is December 25, 2022; the above second subset of recorded audio includes the recorded audio in Call Center B whose end recording time is December 25, 2022, and the recorded audio in Call Center C whose end recording time is December 25, 2022.
[0107] The server of Call Center A determines the target recording record set corresponding to the above query keyword based on the above first recording record subset and second recording record subset; for example, the above target recording record set includes the recording records in the recording records of Call Center A with the end recording time of December 25, 2022, the recording records in the recording records of Call Center B with the end recording time of December 25, 2022, and the recording records in the recording records of Call Center C with the end recording time of December 25, 2022;
[0108] The server of Call Center A obtains the corresponding recording files based on the above target recording record set; and reads the media stream of the above recording files and sends it to the client.
[0109] (2) If the target call center is Call Center B, the server of Call Center B receives the recording file query request from the client; among them, the recording file query request carries the query keyword; that is, the client requests to query the recording file by logging in to the access page of Call Center B;
[0110] In response to the above recording file query request, the server of Call Center B determines the set of call centers to be queried according to the pre-stored query range configuration information; specifically, if the pre-stored query range configuration information corresponding to Call Center B includes Call Center A and Call Center C, the target call center in the set of call centers to be queried includes Call Center B, and at least one non-target call center in the set of call centers to be queried includes Call Center A and Call Center C;
[0111] The server of Call Center B determines the first target index (that is, the target index corresponding to the target topic in the message subscription database of Call Center B, such as B.callRecord.topic) based on the first identification information of Call Center B (such as the domain name www.B.com), and determines the second target index (that is, the target indexes corresponding to the target topics in the message subscription databases of Call Center A and Call Center C, such as A.callRecord.topic and C.callRecord.topic) based on the second identification information of Call Center A and Call Center C (such as the domain name www.A.com and the domain name www.C.com);
[0112] The server of Call Center B obtains a first subset of recording records whose specified field values contain the above query keyword from the first target index of the above search engine database; and obtains a second subset of recording records whose specified field values contain the above query keyword from the second target index of the above search engine database; specifically, if the query keyword includes a specific date, such as December 25, 2022, then the above first subset of recording records includes the recording records in the recording records of Call Center B whose recording end time is December 25, 2022; the above second subset of recording records includes the recording records in the recording records of Call Center A whose recording end time is December 25, 2022, and the recording records in the recording records of Call Center C whose recording end time is December 25, 2022;
[0113] The server of Call Center B determines the target recording record set corresponding to the above query keyword based on the above first subset of recording records and the second subset of recording records; for example, the above target recording record set includes the recording records in the recording records of Call Center A whose recording end time is December 25, 2022, the recording records in the recording records of Call Center B whose recording end time is December 25, 2022, and the recording records in the recording records of Call Center C whose recording end time is December 25, 2022;
[0114] The server of Call Center B obtains the corresponding recording files based on the above target recording record set; and reads the media stream of the above recording files and sends it to the client.
[0115] (3) If the target call center is Call Center C, then the server of Call Center C receives the recording file query request from the client; among them, the recording file query request carries the query keyword; that is, the client requests to query the recording file by logging in to the access page of Call Center C.
[0116] In response to the above recording file query request, the server of Call Center C determines the set of call centers to be queried according to the pre-stored query range configuration information; specifically, if the pre-stored query range configuration information corresponding to Call Center C includes Call Center A and Call Center B, then the target call center in the set of call centers to be queried includes Call Center C, and at least one non-target call center in the set of call centers to be queried includes Call Center A and Call Center B;
[0117] The server of call center C determines a first target index (i.e., the target index corresponding to the target topic in the message subscription database of call center C, such as C.callRecord.topic) based on the first identification information of call center C (such as the domain name www.C.com), and determines a second target index (i.e., the target indexes corresponding to the target topic in the message subscription databases of call center A and call center B, such as A.callRecord.topic and B.callRecord.topic) based on the second identification information of call center A and call center B (such as the domain name www.A.com and the domain name www.B.com);
[0118] The server of call center C obtains a first subset of recording records whose values of specified fields contain the above query keywords from under the first target index of the above search engine database; and obtains a second subset of recording records whose values of specified fields contain the above query keywords from under the second target index of the above search engine database; specifically, if the query keyword includes a specific date, such as December 25, 2022, then the above first subset of recording records includes the recording records in call center C whose recording end time is December 25, 2022; the above second subset of recording records includes the recording records in call center A whose recording end time is December 25, 2022, and the recording records in call center B whose recording end time is December 25, 2022;
[0119] The server of call center C determines a target set of recording records corresponding to the above query keyword based on the above first subset of recording records and the second subset of recording records; for example, the above target set of recording records includes the recording records in call center A whose recording end time is December 25, 2022, the recording records in call center B whose recording end time is December 25, 2022, and the recording records in call center C whose recording end time is December 25, 2022;
[0120] The server of call center C obtains the corresponding recording files based on the above target set of recording records; and reads the media stream of the above recording files and sends it to the client.
[0121] Specifically, for the above second implementation method, that is, all the recording records of N call centers are stored in the relational databases of each call center; in the process of querying and listening to the recording files, among them, the above target database includes the relational database of the target call center;
[0122] Correspondingly, the above S112 obtains the target recording record set corresponding to the above query keyword from the target database based on the first identification information of the above target call center and the second identification information of at least one non-target call center, specifically including:
[0123] Determine the first target information based on the first identification information of the above target call center, and determine the second target information based on the second identification information of the above at least one non-target call center;
[0124] Obtain a third subset of recording records from the relational database of the target call center, where the value of the call center domain name field is the above first target information and the value of the specified field contains the above query keyword; and obtain a fourth subset of recording records from the relational database of the target call center, where the value of the call center domain name field is the above second target information and the value of the specified field contains the above query keyword;
[0125] Determine the target recording record set corresponding to the above query keyword based on the above third subset of recording records and the fourth subset of recording records.
[0126] In a specific embodiment, on the basis of the above Figure 3 as shown in Figure 6 a specific implementation process of the recording data processing method is given for the query and listening process of the recording file, mainly including:
[0127] (1) If the target call center is call center A, the server of call center A receives a recording file query request from the client; where the recording file query request carries a query keyword; that is, the client requests to query the recording file by logging in to the access page of call center A.
[0128] The server of call center A responds to the above recording file query request and determines the set of call centers to be queried according to the pre-stored query range configuration information; specifically, if the pre-stored query range configuration information corresponding to call center A includes call center B and call center C, the target call center in the set of call centers to be queried includes call center A, and at least one non-target call center in the set of call centers to be queried includes call center B and call center C;
[0129] The server of call center A determines the first target information (i.e., the domain name abbreviation of call center A, such as A) based on the first identification information of call center A (such as the domain name www.A.com), and determines the second target information (i.e., the domain name abbreviations of call center B and call center C, such as B and C) based on the second identification information of call center B and call center C (such as the domain names www.B.com and www.C.com);
[0130] The server of Call Center A retrieves a third subset of recording records from the relational database of Call Center A, where the value of the call center domain name field is the above first target information and the value of the specified field contains the above query keyword; and retrieves a fourth subset of recording records from the relational database of Call Center A, where the value of the call center domain name field is the above second target information and the value of the specified field contains the above query keyword; specifically, if the query keyword includes a specific date, such as December 25, 2022, then the above third subset of recording records includes the recording records in Call Center A whose recording end time is December 25, 2022; the above fourth subset of recording records includes the recording records in Call Center B whose recording end time is December 25, 2022, and the recording records in Call Center C whose recording end time is December 25, 2022;
[0131] Based on the above third subset of recording records and the fourth subset of recording records, the server of Call Center A determines the target recording record set corresponding to the above query keyword; for example, the above target recording record set includes the recording records in Call Center A whose recording end time is December 25, 2022, the recording records in Call Center B whose recording end time is December 25, 2022, and the recording records in Call Center C whose recording end time is December 25, 2022;
[0132] Based on the above target recording record set, the server of Call Center A retrieves the corresponding recording files; and reads the media stream of the above recording files and sends it to the client.
[0133] (2) If the target call center is Call Center B, then the server of Call Center B receives the recording file query request from the client; where the recording file query request carries the query keyword; that is, the client requests to query the recording file by logging in to the access page of Call Center B.
[0134] In response to the above recording file query request, the server of Call Center B determines the set of call centers to be queried according to the pre-stored query range configuration information; specifically, if the pre-stored query range configuration information corresponding to Call Center B includes Call Center A and Call Center C, then the target call center in the set of call centers to be queried includes Call Center B, and at least one non-target call center in the set of call centers to be queried includes Call Center A and Call Center C;
[0135] The server of Call Center B determines the first target information (i.e., the domain name abbreviation of Call Center B, such as B) based on the first identification information of Call Center B (such as the domain name www.B.com), and determines the second target information (i.e., the domain name abbreviations of Call Center A and Call Center C, such as A and C) based on the second identification information of Call Center A and Call Center C (such as the domain names www.A.com and www.C.com);
[0136] The server of Call Center B obtains a third subset of recorded calls from the relational database of Call Center B, where the value of the call center domain name field is the above first target information and the value of the specified field contains the above query keyword; and obtains a fourth subset of recorded calls from the relational database of Call Center B, where the value of the call center domain name field is the above second target information and the value of the specified field contains the above query keyword; specifically, if the query keyword includes a specific date, such as December 25, 2022, then the above third subset of recorded calls includes the recorded calls in Call Center B with the end recording time of December 25, 2022; the above fourth subset of recorded calls includes the recorded calls in Call Center A with the end recording time of December 25, 2022, and the recorded calls in Call Center C with the end recording time of December 25, 2022;
[0137] The server of Call Center B determines the target set of recorded calls corresponding to the above query keyword based on the above third subset of recorded calls and the fourth subset of recorded calls; for example, the above target set of recorded calls includes the recorded calls in Call Center A with the end recording time of December 25, 2022, the recorded calls in Call Center B with the end recording time of December 25, 2022, and the recorded calls in Call Center C with the end recording time of December 25, 2022;
[0138] The server of Call Center B obtains the corresponding recorded call files based on the above target set of recorded calls; and reads the media stream of the above recorded call files and sends them to the client.
[0139] (3) If the target call center is Call Center C, the server of Call Center C receives the recorded call file query request from the client; the recorded call file query request carries the query keyword; that is, the client requests to query the recorded call file by logging in to the access page of Call Center C.
[0140] In response to the above recording file query request, the server of Call Center C determines the set of call centers to be queried according to the pre-stored query scope configuration information. Specifically, if the pre-stored query scope configuration information corresponding to Call Center C includes Call Center A and Call Center B, the target call centers in the set of call centers to be queried include Call Center C, and at least one non-target call center in the set of call centers to be queried includes Call Center A and Call Center B.
[0141] The server of Call Center C determines the first target information (i.e., the domain name abbreviation of Call Center C, such as C) based on the first identification information of Call Center C (such as the domain name www.C.com), and determines the second target information (i.e., the domain name abbreviations of Call Center A and Call Center B, such as A and B) based on the second identification information of Call Center A and Call Center B (such as the domain names www.A.com and www.B.com).
[0142] The server of Call Center C obtains a third subset of recording records from the relational database of Call Center C, where the value of the call center domain name field is the above first target information and the value of the specified field contains the above query keyword; and obtains a fourth subset of recording records from the relational database of Call Center C, where the value of the call center domain name field is the above second target information and the value of the specified field contains the above query keyword. Specifically, if the query keyword includes a specific date, such as December 25, 2022, the above third subset of recording records includes the recording records in the recording records of Call Center C with the end recording time of December 25, 2022; the above fourth subset of recording records includes the recording records in the recording records of Call Center A with the end recording time of December 25, 2022, and the recording records in the recording records of Call Center B with the end recording time of December 25, 2022.
[0143] The server of Call Center C determines the target recording record set corresponding to the above query keyword based on the above third subset of recording records and the fourth subset of recording records. For example, the above target recording record set includes the recording records in the recording records of Call Center A with the end recording time of December 25, 2022, the recording records in the recording records of Call Center B with the end recording time of December 25, 2022, and the recording records in the recording records of Call Center C with the end recording time of December 25, 2022.
[0144] The server of Call Center C obtains the corresponding recording files based on the above target recording record set; and reads the media stream of the above recording files and sends it to the client.
[0145] In another specific embodiment, considering the need for unified storage of recording files, a unified file storage server and a recording management server may be provided. Correspondingly, quality inspectors can not only request to query recording files through the servers of Call Center A, Call Center B, or Call Center C, but also request to query recording files through the recording management server. The specific implementation process of the recording data processing method mainly includes:
[0146] The recording management server receives a recording file query request from the client; wherein, the recording file query request carries a query keyword; that is, the client requests to query the recording file by logging in to a unified access page (i.e., this access page is different from the access pages of Call Center A, Call Center B, and Call Center C).
[0147] In response to the above recording file query request, the recording management server determines a set of call centers to be queried according to the pre-stored query range configuration information; wherein, the set of call centers to be queried includes N call centers.
[0148] Based on the identification information of the above N call centers, the recording management server obtains a set of target recording records corresponding to the above query keyword from the target database; wherein, the target database includes a search engine database or a relational database of any one of the N call centers.
[0149] Based on the above set of target recording records, the recording management server obtains the corresponding recording files from the unified file storage server; and sends the above recording files to the client.
[0150] It should be noted that, to ensure the call service performance of the call center server, the recording files are not directly stored in the unified file storage server, but first stored in the local disk of the call center, and then periodically transferred to the unified file storage server. In this way, even in the case of a large call concurrency, the call service function of the call center will not be affected by writing recording files; for example, the recording files are transferred to the unified file storage server every evening. Therefore, if the agent or quality inspector needs to query the recording files of the current day, they can query through the call center server, and if the agent or quality inspector needs to query the historical recording files, they can query through the call center server or the recording management server.
[0151] In the recording data processing method according to the embodiments of the present application, the server of any target call center among N call centers, after monitoring the end of a target call event, generates a recording file of the target call event and a recording record of the recording file; then, stores the recording file corresponding to the target call event in a file storage server; and writes the recording record corresponding to the target call event into the message subscription database of the target call center; wherein, the recording records in the message subscription database are used to be consumed and written into a target database, so that the target database stores all the recording records of the N call centers. On the one hand, in this way, the recording record of any recording file to be queried can be directly obtained from the target database, and then based on this recording record, the recording file of any call center among the N call centers can be quickly obtained, thereby realizing that the recording files of the omnichannel call center cluster composed of the N call centers can be quickly queried through any call center, that is, only by logging in to the access page of any call center, the recording files of all call centers can be queried, saving the steps of logging in to the access pages of different call centers respectively, and improving the query efficiency and convenience of the recording files. On the other hand, by adding a message subscription database (i.e., a message middleware) for each call center, first storing the recording records in their respective message subscription databases, and then using an asynchronous push method to store the recording records in the target database (i.e., by asynchronously consuming the recording records in the message middleware for transfer storage), the server of the call center can weaken the data storage performance and focus more on the call performance (i.e., ensuring that the priority of normal calls is higher than the priority of data storage). Even in the case of a relatively large call concurrency, since the recording records are written asynchronously, the impact on the call performance caused by concurrent writing of the recording records can be reduced, thereby ensuring that all recording records are stored in the target database without affecting the call performance.
[0152] Corresponding to the above Figures 2 to 6 described recording data processing method, based on the same technical concept, the embodiments of the present application further provide a recording data processing device, which is set in the server of any target call center among N call centers, Figure 7 is a schematic diagram of the module composition of the recording data processing device provided by the embodiments of the present application. This device is used to execute Figures 2 to 6 the described recording data processing method, as Figure 7 shown, this device includes:
[0153] A recording data generation module 702, which is used to generate a recording file of the target call event and a recording record of the recording file after monitoring the end of the target call event;
[0154] A first data processing module 704, which is used to store the recording file in a file storage server;
[0155] A second data processing module 706, configured to write the recording into a message subscription database of the target call center; the recording in the message subscription database is used to be consumed and written into a target database, so that the target database stores recordings of the N call centers.
[0156] In the recording data processing device according to the embodiment of the present application, after the server of any target call center among the N call centers monitors the end of a target call event, it generates a recording file of the target call event and a recording record of the recording file; then, stores the recording file corresponding to the target call event in a file storage server; writes the recording record corresponding to the target call event into a message subscription database of the target call center; wherein, the recording record in the message subscription database is used to be consumed and written into a target database, so that the target database stores all the recording records of the N call centers. On the one hand, in this way, the recording record of any recording file to be queried can be directly obtained from the target database, and then based on this recording record, the recording file of any call center among the N call centers can be quickly obtained, thereby realizing that through any call center, the recording files of the omnichannel call center cluster composed of the N call centers can be quickly queried, that is, only by logging in to the access page of any call center, the recording files of all call centers can be queried, saving the steps of logging in to the access pages of different call centers respectively, and improving the query efficiency and convenience of the recording files; on the other hand, by adding a message subscription database (i.e., a message middleware) for each call center, first storing the recording records in their respective message subscription databases, and then using an asynchronous push method to store the recording records in the target database (i.e., by asynchronously consuming the recording records in the message middleware for transfer storage), in this way, the server of the call center can weaken the data storage performance and focus more on the call performance (that is, ensuring that the priority of normal calls is higher than the priority of data storage). Even when the call concurrency is relatively large, since the recording records are written asynchronously, the impact on the call performance caused by concurrent writing of the recording records can be reduced, so as to ensure that all the recording records are stored in the target database without affecting the call performance.
[0157] It should be noted that the embodiment of the recording data processing device in the present application and the embodiment of the recording data processing method in the present application are based on the same inventive concept. Therefore, for the specific implementation of this embodiment, reference can be made to the corresponding recording data processing method described above, and the repeated parts will not be elaborated.
[0158] Furthermore, corresponding to the Figures 2 to 6 method shown above, based on the same technical concept, the embodiment of the present application also provides a recording data processing device, which is used to execute the above-mentioned recording data processing method, as Figure 8 shown.
[0159] Recording data processing devices can vary significantly due to differences in configuration or performance. They can include one or more processors 801 and a memory 802. One or more application programs or data can be stored in the memory 802. Among them, the memory 802 can be for transient storage or persistent storage. The application programs stored in the memory 802 can include one or more modules (not shown in the figure), and each module can include a series of computer-executable instructions for the recording data processing device. Further, the processor 801 can be configured to communicate with the memory 802 and execute a series of computer-executable instructions in the memory 802 on the recording data processing device. The recording data processing device can also include one or more power supplies 803, one or more wired or wireless network interfaces 804, one or more input / output interfaces 805, one or more keyboards 806, etc.
[0160] In a specific embodiment, the recording data processing device includes a memory and one or more programs. One or more of the programs are stored in the memory, and one or more of the programs can include one or more modules. Each module can include a series of computer-executable instructions for the recording data processing device and is configured to be executed by one or more processors. The one or more programs include computer-executable instructions for performing the following:
[0161] After monitoring the end of a target call event, generate a recording file of the target call event and a recording record of the recording file; store the recording file in a file storage server; write the recording record into the message subscription database of the target call center; the recording records in the message subscription database are used to be consumed and written into a target database, so that the target database stores the recording records of the N call centers.
[0162] In the recording data processing device according to the embodiments of the present application, the server of any target call center among N call centers, after monitoring the end of a target call event, generates a recording file of the target call event and a recording record of the recording file; then, stores the recording file corresponding to the target call event in a file storage server; and writes the recording record corresponding to the target call event into the message subscription database of the target call center; wherein, the recording records in the message subscription database are used to be consumed and written into a target database, so that the target database stores all the recording records of the N call centers. On the one hand, in this way, the recording record of any recording file to be queried can be directly obtained from the target database, and then based on this recording record, the recording file of any call center among the N call centers can be quickly obtained, thereby realizing that the recording files of the omnichannel call center cluster composed of the N call centers can be quickly queried through any call center, that is, only by logging in to the access page of any call center, the recording files of all call centers can be queried, saving the steps of logging in to the access pages of different call centers respectively, and improving the query efficiency and convenience of the recording files; on the other hand, by adding a message subscription database (i.e., a message middleware) for each call center, first storing the recording records in their respective message subscription databases, and then using an asynchronous push method to store the recording records in the target database (i.e., by asynchronously consuming the recording records in the message middleware for transfer storage), in this way, the server of the call center can weaken the data storage performance and focus more on the call performance (i.e., ensuring that the priority of normal calls is higher than the priority of data storage). Even in the case of a relatively large call concurrency, since the recording records are written asynchronously, the impact on the call performance caused by concurrent writing of the recording records can be reduced, so as to ensure that all the recording records are stored in the target database without affecting the call performance.
[0163] It should be noted that the embodiments of the recording data processing device in the present application and the embodiments of the recording data processing method in the present application are based on the same inventive concept. Therefore, the specific implementation of this embodiment can refer to the corresponding recording data processing method described above, and the repeated parts will not be elaborated.
[0164] Further, corresponding to the Figures 2 to 6 method shown above, based on the same technical concept, the embodiments of the present application also provide a storage medium for storing computer-executable instructions. In a specific embodiment, the storage medium can be a USB flash drive, an optical disc, a hard disk, etc. When the computer-executable instructions stored in the storage medium are executed by a processor, the following process can be realized:
[0165] After monitoring the end of the target call event, generate a recording file of the target call event and a recording record of the recording file; store the recording file in a file storage server; write the recording record into the message subscription database of the target call center; the recording records in the message subscription database are used to be consumed and written into a target database, so that the target database stores the recording records of the N call centers.
[0166] When the computer-executable instructions stored in the storage medium in the embodiments of the present application are executed by a processor, on the server side of any target call center among the N call centers, after monitoring the end of the target call event, generate a recording file of the target call event and a recording record of the recording file; then, store the recording file corresponding to the target call event in a file storage server; write the recording record corresponding to the target call event into the message subscription database of the target call center; wherein, the recording records in the message subscription database are used to be consumed and written into a target database, so that the target database stores all the recording records of the N call centers. On the one hand, in this way, the recording record of any recording file to be queried can be directly obtained from the target database, and then based on this recording record, the recording file of any call center among the N call centers can be quickly obtained, thereby realizing that the recording files of the omnichannel call center cluster composed of the N call centers can be quickly queried through any call center, that is, only need to log in to the access page of any call center to query the recording files of all call centers, saving the steps of logging in to the access pages of different call centers respectively, and improving the query efficiency and convenience of the recording files; on the other hand, by adding a message subscription database (i.e., message middleware) for each call center, first store the recording records in their respective message subscription databases, and then use the asynchronous push method to store the recording records in the target database (i.e., transfer and store by asynchronously consuming the recording records in the message middleware), so that the server side of the call center can weaken the data storage performance and focus more on the call performance (that is, ensure that the priority of normal call is higher than the priority of data storage). Even when the call concurrency is relatively large, since the recording records are written asynchronously, the impact on the call performance caused by concurrent writing of the recording records can be reduced, so as to ensure that all the recording records are stored in the target database without affecting the call performance.
[0167] It should be noted that the embodiments of the storage medium in the present application and the embodiments of the recording data processing method in the present application are based on the same inventive concept. Therefore, the specific implementation of this embodiment can refer to the corresponding recording data processing method described above, and the repeated parts will not be elaborated.
[0168] The above describes specific embodiments of the present application. Other embodiments are within the scope of the appended claims. In some cases, the acts or steps recited in the claims may be performed in a different order than in the embodiments and still achieve the desired results. Additionally, the processes depicted in the figures do not necessarily require the particular order or sequential order shown to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous. Those skilled in the art will understand that the embodiments of the present application may be provided as a method, system, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application may take the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) that contain computer-usable program code. The present application is described with reference to the flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and combinations of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing device produce a means for implementing the functions specified in the process Figure 1 one process or multiple processes and / or blocks Figure 1 These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a particular manner, such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction means that implements the functions specified in the process Figure 1 one process or multiple processes and / or blocks Figure 1 These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operational steps are performed on the computer or other programmable device to produce a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in the process Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0169] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory. Memory may include non-permanent memory 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. Memory is an example of a computer-readable medium. Computer-readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer-readable instructions, data structures, modules of programs, 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, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic 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. As defined herein, computer-readable media does not include transitory media, such as modulated data signals and carrier waves. It should also be noted that the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device that includes a series of elements includes not only those elements, but also other elements that are not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of further restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device that includes the elements.
[0170] Embodiments of the present application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. One or more embodiments of the present application may also be practiced in a distributed computing environment where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media including storage devices. Each embodiment in the present application is described in a progressive manner. For the same or similar parts among the embodiments, reference may be made to each other. Each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and reference may be made to the corresponding parts of the method embodiment for the relevant content. The above is only the embodiments of this document and is not used to limit this document. For those skilled in the art, this document may have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this document shall be included within the scope of the claims of this document.
Claims
1. A method for processing recorded data, characterized in that A server applied to any target call center among N call centers, the method comprising: After monitoring the end of a target call event, generating a recording file of the target call event and a recording record of the recording file; Storing the recording file in a file storage server, which is shared by the N call centers, where N>1; Writing the recording record into the message subscription database of the target call center; the recording records in the message subscription database are used to be consumed and written into a target database, so that the target database stores the recording records of the N call centers.
2. The method according to claim 1, wherein The target database includes a search engine database; The writing the recording record into the message subscription database of the target call center includes: Writing the recording record under a target topic in the message subscription database of the target call center; the recording records under the target topic are used to be consumed and written under a target index in the search engine database.
3. The method according to claim 1, wherein The target database includes a relational database of non-target call centers among the N call centers; The writing the recording record into the message subscription database of the target call center includes: Writing the recording record into the relational database of the target call center; and Writing the recording record under a non-target topic in the message subscription database of the target call center; the recording records under the non-target topic are used to be consumed and written into the relational database of the non-target call center.
4. The method according to claim 3, wherein The target database further includes a relational database of the target call center; The writing the recording record into the relational database of the target call center includes: Writing the recording record under a target topic in the message subscription database of the target call center; Consuming the recording record under the target topic and writing the recording record into the relational database of the target call center.
5. The method according to claim 3, characterized in that, After writing the recording record under a non-target topic in the message subscription database of the target call center, it further includes: If the writing of the recording record into the relational database of any non-target call center fails, storing the recording record in a preset writing failure list; the preset writing failure list is stored in the relational database of the target call center; When the current moment meets a preset data rewrite constraint condition, writing the recording records in the preset writing failure list into the relational database of the corresponding non-target call center.
6. The method according to claim 1, characterized in that, The method further includes: After monitoring the start of a target call event, generating an initial recording record of the target call event; the initial recording record includes a plurality of first fields and at least one second field, the first fields are non-empty fields, and the value of the second field is empty; After monitoring the end of a target call event, generating a recording file of the target call event and a recording record of the recording file includes: after monitoring the end of a target call event, generating a recording file of the target call event, and assigning a value to the second field to obtain a recording record with the fields of the recording file assigned values.
7. The method according to any one of claims 1 to 6, characterized in that, After writing the recorded call into the message subscription database of the target call center, the following steps are further included: Receiving a query request for a recorded file from a client; the query request for the recorded file carries a query keyword; In response to the query request for the recorded file, determining a set of call centers to be queried according to pre-stored query scope configuration information; the set of call centers to be queried includes the target call center and at least one non-target call center; Based on the first identification information of the target call center and the second identification information of the at least one non-target call center, obtaining a set of target recorded calls corresponding to the query keyword from the target database; Based on the set of target recorded calls, obtaining corresponding recorded files; and sending the recorded files to the client.
8. The method according to claim 7, wherein The target database includes a search engine database; The step of obtaining a set of target recorded calls corresponding to the query keyword from the target database based on the first identification information of the target call center and the second identification information of the at least one non-target call center includes: Based on the first identification information of the target call center, determining a first target index, and based on the second identification information of the at least one non-target call center, determining a second target index; Obtaining a first subset of recorded calls whose values in a specified field contain the query keyword from under the first target index of the search engine database; and obtaining a second subset of recorded calls whose values in the specified field contain the query keyword from under the second target index of the search engine database; Based on the first subset of recorded calls and the second subset of recorded calls, determining the set of target recorded calls corresponding to the query keyword.
9. The method according to claim 7, wherein The target database includes a relational database of the target call center; The step of obtaining a set of target recorded calls corresponding to the query keyword from the target database based on the first identification information of the target call center and the second identification information of the at least one non-target call center includes: Based on the first identification information of the target call center, determining first target information, and based on the second identification information of the at least one non-target call center, determining second target information; Obtaining a third subset of recorded calls whose value in the call center domain name field is the first target information and whose value in the specified field contains the query keyword from the relational database of the target call center; and obtaining a fourth subset of recorded calls whose value in the call center domain name field is the second target information and whose value in the specified field contains the query keyword from the relational database of the target call center; Based on the third subset of recorded calls and the fourth subset of recorded calls, determining the set of target recorded calls corresponding to the query keyword.
10. A recording data processing device, characterized in that, A server provided in any target call center among N call centers, the device includes: A recorded data generation module, configured to generate a recorded file of the target call event and a recorded record of the recorded file after monitoring the end of the target call event; A first data processing module, configured to store the recorded file in a file storage server, where the file storage server is shared by the N call centers, and N is greater than 1; A second data processing module, configured to write the recording record into a message subscription database of the target call center; the recording records in the message subscription database are used to be consumed and written into a target database, so that the target database stores the recording records of the N call centers.
11. A recording data processing device, characterized in that, The device includes: A processor; and A memory arranged to store computer-executable instructions, the executable instructions being configured to be executed by the processor, the executable instructions including steps for executing the method according to any one of claims 1 to 9.
12. A storage medium, characterized in that, The storage medium is used to store computer-executable instructions, and the executable instructions cause a computer to execute the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Data processing method and device, equipment and computer readable storage medium
CN110062112A