Data acquisition method, device, electronic device and storage medium

By creating a new second thread in the intelligent voice navigation service to obtain user data, and providing a waiting interaction process through the first thread while waiting, the problem of long-term blank sound on the user side is solved and the user experience is improved.

CN115277958BActive Publication Date: 2025-03-21CHINA TELECOM CORP LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202210743995.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-28
Publication Date
2025-03-21
Estimated Expiration
2042-06-28

AI Technical Summary

Technical Problem

In the intelligent voice navigation service, the user side has a long time to get the return result, which can easily cause anxiety due to the long-term blank sound.

Method used

When voice interaction with the user through the first thread, if you need to obtain user data, a new second thread will start to obtain data. If the second thread is successfully established, the interactive process will be interrupted, and the first thread will use the preset waiting interaction process to communicate with the user voice until the data acquisition is completed.

Benefits of technology

In the process of obtaining user data, interaction is provided to avoid long-term blank sounds, alleviate user anxiety, and improve user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115277958B_ABST
    Figure CN115277958B_ABST
Patent Text Reader

Abstract

The embodiment of the present invention provides a data acquisition method, device, electronic device and storage medium. The method includes: in the process of performing voice interaction with a user through a first thread using a preset interaction process, if it is necessary to obtain user data, a new second thread is created to start obtaining user data. If the second thread is successfully established, the interaction process is interrupted, and voice interaction with the user is performed through the first thread using a preset waiting interaction process. If the user data is obtained, the waiting interaction process is ended and the user data is returned to the user. In the embodiment of the present invention, when it is necessary to obtain user data, the user data is obtained through the second thread, and voice interaction with the user is performed through the first thread using a preset waiting interaction process. In the process of obtaining user data, interaction can be provided to the user at the same time, avoiding long periods of blank sound, alleviating the user's anxiety during the waiting process, and improving the user's experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a data acquisition method, a data acquisition device, an electronic device and a computer-readable storage medium. Background Art

[0002] At present, most civil communication operators have launched intelligent voice navigation services, which allow users to access IVR (Interactive Voice Response, voice value-added services) services through channels such as 100XX, and complete business services such as "checking phone bills" and "checking traffic". In the process of business service execution, most of the data required to support business service execution needs to be obtained through various calls, such as checking whether the user is currently in arrears, checking the user's star rating, and checking whether the user is affected by group obstacles, etc., and organizing personalized speech for users based on specific data conditions, so as to provide better and more accurate services to users.

[0003] However, during the data access process, some interfaces may take a long time to obtain the returned results, or the interface response time may be long, resulting in the user hearing a long blank sound, which may easily cause anxiety in the user. Summary of the invention

[0004] The embodiments of the present invention provide a data acquisition method, device, electronic device and computer-readable storage medium to solve the problem that a user may easily feel anxious when hearing long periods of blank sound.

[0005] The embodiment of the present invention discloses a data acquisition method, comprising:

[0006] During the process of performing voice interaction with the user through the first thread using a preset interaction process, if user data needs to be obtained, a new second thread is created to start obtaining the user data;

[0007] If the second thread is successfully established, the interaction process is interrupted, and voice interaction is performed with the user through the first thread using a preset waiting interaction process;

[0008] If the user data is acquired, the waiting interaction process ends and the user data is returned to the user.

[0009] Optionally, the performing voice interaction with the user through the first thread by adopting a preset waiting interaction process includes:

[0010] Playing a first waiting voice to the user through the first thread;

[0011] When the first waiting voice is played, query whether the user data is acquired;

[0012] If the user data has not been completely acquired, a second waiting voice is played to the user through the first thread, and when the second waiting voice is finished being played, it is inquired whether the user data has been completely acquired;

[0013] If the user data acquisition is completed, the waiting interaction process ends.

[0014] Optionally, it also includes:

[0015] When the second thread is successfully established, generating a data acquisition credential;

[0016] The obtained user data is cached in a cache server, and the querying whether the user data is obtained includes:

[0017] querying the cache server whether there is a cache key corresponding to the data acquisition credential; wherein the cache key is generated based on the second thread when the user data cache on the cache server is completed;

[0018] If the cache server has a cache key corresponding to the data acquisition credential, determining that the user data acquisition is complete;

[0019] If the cache server does not have a cache key corresponding to the data acquisition credential, it is determined that the user data has not been acquired.

[0020] Optionally, returning the user data to the user includes:

[0021] The user data cached in the cache server is returned to the user.

[0022] Optionally, returning the user data to the user includes:

[0023] The user data is returned to the user by way of voice broadcast or text message.

[0024] Optionally, after the waiting interaction process ends, the method further includes:

[0025] Perform voice interaction with the user through the first thread using the interaction process.

[0026] The embodiment of the present invention discloses a data acquisition device, comprising:

[0027] A data acquisition module, used for creating a new second thread to start acquiring the user data if user data needs to be acquired during voice interaction with the user through the first thread using a preset interaction process;

[0028] A voice interaction module, configured to interrupt the interaction process if the second thread is successfully established, and perform voice interaction with the user through the first thread by adopting a preset waiting interaction process;

[0029] The data return module is used to end the waiting interaction process and return the user data to the user if the user data acquisition is completed.

[0030] Optionally, the voice interaction module includes:

[0031] A first voice playing submodule, used for playing a first waiting voice to the user through the first thread;

[0032] The data query submodule is used to query whether the user data has been acquired when the first waiting voice is played; if the user data has not been acquired, the second voice playback submodule is executed; if the user data has been acquired, the process end module is executed

[0033] The second voice playing submodule is used to play the second waiting voice to the user through the first thread, and when the second waiting voice is played, query whether the user data is acquired;

[0034] The process ending submodule is used to end the waiting interaction process.

[0035] Optionally, it also includes:

[0036] A credential generation module, used to generate a data acquisition credential when the second thread is successfully established;

[0037] The acquired user data is cached in a cache server, and the data query submodule includes:

[0038] a cache key generating unit, configured to query the cache server whether there is a cache key corresponding to the data acquisition credential; wherein the cache key is generated based on the second thread when the user data caching on the cache server is completed;

[0039] an acquisition completion determination unit, configured to determine that the acquisition of the user data is completed if the cache server has a cache key corresponding to the data acquisition credential;

[0040] The acquisition incomplete determination unit is used to determine that the user data has not been acquired if the cache server does not have a cache key corresponding to the data acquisition credential.

[0041] Optionally, the data return module includes:

[0042] The data returning submodule is used to return the user data cached in the cache server to the user.

[0043] Optionally, the data return module includes:

[0044] The data return submodule is used to return the user data to the user by way of voice broadcast or text message.

[0045] Optionally, it also includes:

[0046] The voice interaction module is also used to perform voice interaction with the user through the first thread using the interaction process.

[0047] The embodiment of the present invention further discloses an electronic device, comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus;

[0048] The memory is used to store computer programs;

[0049] The processor is used to implement the method described in the embodiment of the present invention when executing the program stored in the memory.

[0050] The embodiment of the present invention further discloses a computer-readable storage medium having instructions stored thereon, which, when executed by one or more processors, enables the processors to execute the method described in the embodiment of the present invention.

[0051] The embodiments of the present invention include the following advantages: in the process of performing voice interaction with a user through a first thread using a preset interaction process, if it is necessary to obtain user data, a new second thread is created to start obtaining user data. If the second thread is successfully established, the interaction process is interrupted, and voice interaction with the user is performed through the first thread using a preset waiting interaction process. In the process of obtaining user data, interaction can be provided to the user at the same time, avoiding long periods of blank sound, alleviating the user's anxiety during the waiting process, and improving the user's usage experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Figure 1 is a flow chart of the steps of a data acquisition method provided in an embodiment of the present invention;

[0053] Figure 2 is a flowchart of a specific implementation method of a waiting interaction process in an embodiment of the present invention;

[0054] Figure 3 It is one of the flowcharts of a specific implementation of a data acquisition method in an embodiment of the present invention;

[0055] Figure 4 This is a second flowchart of a specific implementation of a data acquisition method in an embodiment of the present invention;

[0056] Figure 5 is a structural block diagram of a data acquisition device provided in an embodiment of the present invention;

[0057] Figure 6 It is a block diagram of an electronic device provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0058] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0059] At present, most civil communication operators have launched intelligent voice navigation services, which allow users to access IVR (Interactive Voice Response, voice value-added services) services through channels such as 100XX, interact with the system by speaking (such as "check phone bills", "check traffic", etc.), and directly enter the designated process to handle various services. At the same time, a graphical process configuration tool is provided to operators, allowing operators to directly configure the process based on their own understanding of the business scenario, making the process configuration more concise and responding to emergencies such as group disorders and epidemics more quickly.

[0060] However, during the process execution, most of the data needed to support the process execution needs to be obtained through various calls, such as checking whether the user is currently in arrears, checking the user's star rating, checking whether the user is affected by group problems, etc., and organizing personalized words for users based on specific data conditions, so as to provide better and more accurate services to users. There are some data access problems, such as:

[0061] 1) It takes a long time for some interfaces to return results, such as line detection, ancillary product / extension package subscription, etc. Due to business limitations, the execution time is usually long. In some cases, it may take several seconds or even tens of seconds to obtain the return results.

[0062] 2) Due to the limitations of human resources, technical level and other factors of some supporting manufacturers, the response time of some interfaces may be longer.

[0063] Long-term interface execution will be perceived by the user as a long period of blank sound, which can easily cause anxiety in the user. In addition, since no return results are obtained for a long time, the process may consider that the interface call has failed, thus giving the user incorrect feedback.

[0064] The process of data request in the current intelligent navigation process is usually as follows:

[0065] 1) Users access the voice interaction system by dialing customer service numbers such as 100XX, and the system forwards the user's call to the process execution module; 2) The process execution module executes the process according to the script program pre-determined by the operator. When data needs to be obtained, it initiates a data call request to the interface encapsulation module; 3) After the interface encapsulation module receives the process execution module, it constructs a specific request message according to the specific information in the request and actually calls the interfaces provided by each system in the region, and constructs the return information according to the actual structure, and returns it to the process execution module; 4) After obtaining the return result, the process execution module continues to execute backwards, and organizes instructions to the user according to the obtained return data, such as playing recordings, calling TTS (Text To Speech, from text to speech) synthesis, etc.; 5) The process execution module sends the final constructed instructions to the corresponding program of the IVR server. The program in the IVR actually performs specific operations such as audio playback / call transfer according to the instructions to achieve interaction with the user.

[0066] During the execution of the above process, the user who dials the IVR will hear blank sound, that is, there is no sound in the receiver. Therefore, when the regional interface is time-consuming or the return time is long, the user will feel that he cannot hear any sound for a long time, which may easily cause anxiety and even cause complaints from users.

[0067] Based on this, an embodiment of the present invention provides a data acquisition method to solve the above-mentioned technical problems.

[0068] Reference Figure 1 , shows a flow chart of a data acquisition method provided in an embodiment of the present invention, which may specifically include the following steps:

[0069] Step 101: During voice interaction with a user through a first thread using a preset interaction process, if user data needs to be obtained, a second thread is newly created to start obtaining the user data.

[0070] Among them, the interaction process is the interaction process with the user pre-set by the operator, and the user data is the data that the user needs to query during the user interaction process, such as call charges, remaining traffic, and user identity information.

[0071] Specifically, after the user accesses the voice interaction system by calling the customer service hotline, voice interaction with the user will be carried out through the first thread using a preset interaction process. During the voice interaction process, when it is confirmed that the user needs to query user data, a new thread, i.e., the second thread, is started to obtain the user data required by the user from the system or database where the user data is stored.

[0072] Step 102: If the second thread is successfully established, the interaction process is interrupted, and voice interaction is performed with the user through the first thread using a preset waiting interaction process.

[0073] The waiting interaction process is an interaction process pre-set by the operator to interact with the user when acquiring data, which can be playing music, time reminder sound, preferential service introduction, or usage skill introduction, etc., or a question-and-answer game to relieve the user's anxiety during the waiting process. The waiting interaction process is not limited in the embodiment of the present invention.

[0074] Specifically, when confirming that the second thread is successfully established and starts to obtain user data, the first thread interrupts the original interaction process and adopts the waiting interaction process to interact with the user by voice, so that the voice interaction system can obtain user data while interacting with the user. As an example, after the user dials the customer service hotline and it is determined that the user needs to check the phone balance, the newly created second thread starts to obtain the user's phone balance from the system or database that stores the user data, and at the same time plays a prompt tone and music through the first thread, such as "Querying, please wait + a certain length of music", so as to avoid long blank sounds and relieve the user's anxiety during the waiting process.

[0075] It should be noted that the waiting interaction process itself can be a part of the interaction process, or can be a second interaction process separate from the interaction process, and can be specifically set according to actual conditions, which is not limited in the embodiments of the present invention.

[0076] Step 103: If the user data is acquired, the waiting interaction process ends and the user data is returned to the user.

[0077] Specifically, when the acquisition of user data by the second thread is completed, the waiting interaction process ends, the interaction process continues to be executed, and the user data is returned to the user.

[0078] In an embodiment of the present invention, during the process of performing voice interaction with a user through a first thread using a preset interaction process, if it is necessary to obtain user data, a new second thread is created to start obtaining user data. If the second thread is successfully established, the interaction process is interrupted, and voice interaction with the user is performed through the first thread using a preset waiting interaction process. In this way, during the process of obtaining user data, interaction can be provided to the user at the same time, thereby avoiding long periods of blank sound, alleviating the user's anxiety during the waiting process, and improving the user's usage experience.

[0079] In one embodiment of the present invention, the voice interaction with the user is performed through the first thread using a preset waiting interaction process, including: playing a first waiting voice to the user through the first thread; when the first waiting voice is played, querying whether the user data has been acquired; if the user data has not been acquired, playing a second waiting voice to the user through the first thread, and when the second waiting voice is played, querying whether the user data has been acquired; if the user data has been acquired, ending the waiting interaction process.

[0080] The first waiting voice and the second waiting voice can be the same voice, for example, both can be "query in progress, please wait a moment + music of a certain duration"; or they can be different voices, the first waiting voice can be "query in progress, please wait a moment + music of the first duration", and the second waiting voice can be "query not completed, please wait a moment + music of the second duration". The waiting voice can also be other voices besides music, such as time reminder tone, preferential service introduction, or usage skill introduction, etc., which is not limited in the embodiment of the present invention.

[0081] Specifically, after the second thread starts to acquire user data, the first thread also starts to interact with the user using the waiting interaction process, and starts to play the first waiting voice such as "query in progress, please wait + music of a certain length". After the first waiting voice ends, it queries whether the user data acquisition is complete. If the user data acquisition is not complete, the second waiting voice such as "query is not complete, please wait + music of a certain length" continues to be played. If the user data acquisition is complete, the waiting interaction process ends, and the first thread continues to interact with the user using the interaction process and returns the user data to the user.

[0082] It should be noted that after the first waiting voice and the second waiting voice, if the user data has not been acquired, the first thread may continue to play the third waiting voice, the fourth waiting voice, etc., which may be set according to actual needs and is not limited in the embodiments of the present invention.

[0083] Reference Figure 2 , showing a flowchart of a specific implementation of a waiting interaction process in an embodiment of the present invention. After successfully starting the asynchronous (starting the second thread) call to user data, the waiting prompt tone (first waiting voice, second waiting voice) is played to interact with the user, reducing the user's sense of waiting. After the waiting prompt tone is played, it is queried whether the user data has been acquired. If the user data acquisition is not completed, it returns to play the waiting prompt tone. After playing the waiting prompt tone several times, if the user data is still not acquired after 3 times, it returns a prompt that the system is busy. If the user data is acquired (the query result is obtained), the user data is constructed according to the construction instruction, and the constructed user data is returned to the user.

[0084] In the embodiment of the present case, while the user is waiting to obtain user data, the first waiting voice and the second waiting voice are played through the first thread to interact with the user, thereby reducing the user's sense of waiting and improving the user's usage experience.

[0085] In the embodiment of the present invention, the method further includes: generating a data acquisition credential when the second thread is successfully established.

[0086] The acquired user data is cached in a cache server, and the query on whether the acquisition of the user data is complete includes: querying whether the cache server has a cache key corresponding to the data acquisition credential; wherein the cache key is generated based on the second thread when the cache of the user data on the cache server is complete; if the cache server has a cache key corresponding to the data acquisition credential, it is determined that the acquisition of the user data is complete; if the cache server does not have a cache key corresponding to the data acquisition credential, it is determined that the acquisition of the user data is not complete.

[0087] Specifically, when the second thread is successfully established, a data acquisition credential will be generated. The data acquisition credential generation strategy is: a unique data acquisition credential is generated through the call serial number, interface number and timestamp. This can ensure that the credentials generated in different situations, such as calling the same interface in different calls and calling the same interface in the same call, are different. This can meet the result isolation between different calls, and can also meet the data isolation of multiple retries to call the same interface in the same call, such as password verification, SMS sending, etc.

[0088] The user data acquired by the second thread is cached in the cache server, and when the user data is cached, a cache key uniquely corresponding to the data acquisition credential is generated and stored in the cache server.

[0089] Therefore, when querying whether the user data is cached, it is possible to directly query the cache server to determine whether the user data is cached by checking whether there is a cache key corresponding to the data acquisition credential. If the cache server has a cache key corresponding to the data acquisition credential, it is determined that the user data is acquired; if the cache server does not have a cache key corresponding to the data acquisition credential, it is determined that the user data is not acquired.

[0090] In the embodiment of the present invention, by querying the cache server whether there is a cache key corresponding to the data acquisition credential, it is determined whether the user data is cached. This can ensure the isolation of results in different situations such as calling the same interface in different calls and calling the same interface in the same call, thereby effectively ensuring the security of the data.

[0091] In an embodiment of the present invention, returning the user data to the user includes: returning the user data cached in the cache server to the user.

[0092] Specifically, after the user data is cached in the cache server, the user data is directly obtained from the cache server through the first thread, and the user data is returned to the user.

[0093] In an embodiment of the present invention, returning the user data to the user includes: returning the user data to the user by way of voice broadcast or text message.

[0094] Specifically, after obtaining the user data, the user data can be returned to the user in a variety of ways, such as by performing speech synthesis on the user data to obtain synthesized speech, broadcasting the synthesized speech to the user, or sending the user data to the user via text message, which is not limited to the embodiments of the present invention.

[0095] In an embodiment of the present invention, after the waiting interaction process ends, the method further includes: performing voice interaction with the user by using the interaction process through the first thread.

[0096] Specifically, after waiting for the interaction process to end, continue to use the original interaction process through the first thread to perform voice interaction with the user to provide subsequent services to the user.

[0097] For a better understanding of the embodiments of the present invention, refer to Figure 3 , 4 An exemplary description is given.

[0098] Reference Figure 3 , shows one of the flowcharts of a specific implementation method of a data acquisition method in an embodiment of the present invention. Among them, the voice interaction system includes a process execution module, an interface encapsulation module and a regional system, and the process execution module, the interface encapsulation module and the regional system are deployed in the same device or the same local area network; the regional system is a system for storing user data in the region. The specific process is as follows:

[0099] 1) Users access the voice interaction system by dialing customer service numbers such as 100XX, and the system forwards the user's calls to the process execution module;

[0100] 2) The process execution module executes the process (interaction process) according to the pre-set script program through the first thread. When it is necessary to obtain user data, it sends a parallel (asynchronous) data acquisition instruction to the interface encapsulation module, along with various parameters required to obtain user data;

[0101] 3) After receiving the start parallel data acquisition instruction, the interface encapsulation module starts a new thread (second thread) to start calling the regional system interface data, and when it detects that the second thread is successfully created and starts to execute, it directly returns the result of "parallel data access started successfully" to the process execution module, along with the data acquisition certificate;

[0102] 4) After the process execution module receives the result of the successful start of parallel data access, it temporarily stores the data acquisition credentials and continues to execute the waiting interaction process backward according to the process configuration. At this time, it instructs the IVR program to play a prompt tone (such as "Querying, please wait") or music to the user to reduce the waiting time on the user side. The specific processing method can be configured by the operator according to the actual situation;

[0103] 5) After the prompt tone is played, the IVR program continues to request subsequent instructions from the process execution module. At this time, the process execution module can use the data acquisition voucher to ask the interface encapsulation module whether the previously started parallel query has been completed;

[0104] 6) After receiving the query request for whether the parallel query is completed, the interface encapsulation module queries the cache server through the data acquisition voucher to see whether the specified cache key already exists. If so, it returns "execution completed", otherwise it returns "execution not completed";

[0105] 7) The process execution module determines the next strategy based on the specific results of whether the parallel query is completed. If the execution is not completed, it can consider playing other prompt sounds to the user, or waiting for a certain period of time (such as 500 milliseconds) before re-querying; if the parallel query is completed, it can continue to obtain the parallel query results from the interface encapsulation module through the data acquisition voucher;

[0106] 8) After receiving the parallel query result acquisition request sent by the process execution module, the interface encapsulation module queries the content in the cache according to the data acquisition credential, and returns the result according to the logical structure of synchronous execution, and returns it to the process execution module;

[0107] 9) After receiving the return result, the process execution module constructs subsequent instructions according to the logic of synchronous data call and broadcasts them to the user.

[0108] Reference Figure 4 , shows a second flowchart of a specific implementation of a data acquisition method in an embodiment of the present invention.

[0109] 1) The process starts to execute, first passing through the node "Start asynchronous interface call", sending an instruction to start synchronous data query to the interface encapsulation module;

[0110] 2) The interface encapsulation module performs preliminary verification based on the query parameters attached to the start parallel data query command, such as whether all required items are provided, whether the parameter values ​​are legal (for example, whether the numeric parameter type is correct, whether the account period format is correct, etc.). If the verification fails, the execution result of the start failure is returned, and the process execution will be transferred to the start failure path;

[0111] 3) When the interface encapsulation module verifies that the input parameters are all legal, it generates a globally unique data acquisition credential based on the serial number + the number of the calling interface + the timestamp, and simultaneously starts a new thread (the second thread) to start executing the data call, and returns the data acquisition credential to the process execution module as part of the successful task start result;

[0112] 4) The parallel data query task is successfully started, the process execution module temporarily stores the data acquisition credentials, and continues to execute the waiting interaction process backward, and broadcasts a prompt tone to the user, such as "Querying, please wait";

[0113] 5) After the prompt tone is played, the process continues to execute. Considering that several seconds have passed while the audio is played to the user, the node "Judge interface call completion" is used to query the interface encapsulation module through the data acquisition voucher to see whether the previously submitted parallel data access work has been completed;

[0114] 6) If the parallel data query has not been completed at this time, take the following steps to try to wait for the data call to complete:

[0115] a. Use the node "Wait 200 milliseconds" to pause the process for 200 milliseconds, and then continue to query whether the call is completed;

[0116] b. After waiting for more than 5 times in a loop and waiting for more than 1 second, if the parallel data acquisition is still not completed, it is judged that the interface is too busy. At this time, the execution fails and an error prompt tone such as "system busy" is broadcast to the user;

[0117] c. According to the actual situation, you can also consider playing other waiting prompts to the user after waiting for a certain period of time, such as "query is being executed, please do not hang up" to remind the user to continue waiting. This function can be adjusted by the operator according to the actual situation of the process;

[0118] 7) After parallel data acquisition is completed, the node "Get Query Results" is used to obtain the call result through the data acquisition credential, and the process continues to execute backward to construct the content to be reported to the user, and then report it to the user, completing the configuration of the entire process.

[0119] In summary, the embodiments of the present invention have the following advantages:

[0120] 1. Solve the problem that the interface call time is too long during the configuration of the intelligent voice navigation process, resulting in the user side hearing a long blank sound, and improve the user experience

[0121] 2. In the prior art, when the execution time of the called interface is long, the only solution that can be adopted is to ask the interface provider to optimize the interface. The configuration tool itself does not provide other ways to optimize the user experience. In the end, the problem is usually not solved in the process of repeated communication and confirmation, which ultimately affects the user experience. The embodiment of the present invention is a further optimization of the intelligent voice navigation system. It can be used to improve the user experience without the intervention of developers and when the data interface cannot be further optimized in a short time.

[0122] 3. Compared with the traditional IVR process, which requires developers to carry out customized development or requires manufacturers to further optimize the interface, this method does not require additional personnel or cost investment, and plays a positive role in reducing enterprise costs and realizing the rapid launch of functions;

[0123] 4. Through a cache-based approach, the common functions of interface encapsulation modules such as interface data call, data format analysis, and return message assembly are implemented. Each interface only needs to be developed once to meet both serial and parallel data call methods, greatly reducing the workload and difficulty of interface function development.

[0124] It should be noted that, for the sake of simplicity, the method embodiments are described as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.

[0125] Reference Figure 5 , shows a structural block diagram of a data acquisition device provided in an embodiment of the present invention, which may specifically include the following modules:

[0126] The data acquisition module 501 is used to create a second thread to start acquiring the user data if user data needs to be acquired during voice interaction with the user through the first thread using a preset interaction process;

[0127] The voice interaction module 502 is used to interrupt the interaction process if the second thread is successfully established, and perform voice interaction with the user through the first thread using a preset waiting interaction process;

[0128] The data return module 503 is used to end the waiting interaction process and return the user data to the user if the user data acquisition is completed.

[0129] Optionally, the voice interaction module includes:

[0130] A first voice playing submodule, used for playing a first waiting voice to the user through the first thread;

[0131] The data query submodule is used to query whether the user data has been acquired when the first waiting voice is played; if the user data has not been acquired, the second voice playback submodule is executed; if the user data has been acquired, the process end module is executed

[0132] The second voice playing submodule is used to play the second waiting voice to the user through the first thread, and when the second waiting voice is played, query whether the user data is acquired;

[0133] The process ending submodule is used to end the waiting interaction process.

[0134] Optionally, it also includes:

[0135] A credential generation module, used to generate a data acquisition credential when the second thread is successfully established;

[0136] The acquired user data is cached in a cache server, and the data query submodule includes:

[0137] a cache key generating unit, configured to query the cache server whether there is a cache key corresponding to the data acquisition credential; wherein the cache key is generated based on the second thread when the user data caching on the cache server is completed;

[0138] an acquisition completion determination unit, configured to determine that the acquisition of the user data is completed if the cache server has a cache key corresponding to the data acquisition credential;

[0139] The acquisition incomplete determination unit is used to determine that the user data has not been acquired if the cache server does not have a cache key corresponding to the data acquisition credential.

[0140] Optionally, the data return module includes:

[0141] The data returning submodule is used to return the user data cached in the cache server to the user.

[0142] Optionally, the data return module includes:

[0143] The data return submodule is used to return the user data to the user by way of voice broadcast or text message.

[0144] Optionally, it also includes:

[0145] The voice interaction module is also used to perform voice interaction with the user through the first thread using the interaction process.

[0146] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0147] In addition, an embodiment of the present invention further provides an electronic device, including: a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the various processes of the above-mentioned data acquisition method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.

[0148] The embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, each process of the above-mentioned data acquisition method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it is not repeated here. The computer-readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0149] Figure 6 A schematic diagram of the hardware structure of an electronic device for implementing various embodiments of the present invention.

[0150] The electronic device 600 includes but is not limited to: a radio frequency unit 601, a network module 602, an audio output unit 603, an input unit 604, a sensor 605, a display unit 606, a user input unit 607, an interface unit 608, a memory 609, a processor 610, and a power supply 611. Those skilled in the art will appreciate that Figure 6 The electronic device structure shown in the figure does not constitute a limitation on the electronic device, and the electronic device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently. In the embodiments of the present invention, the electronic device includes but is not limited to a mobile phone, a tablet computer, a laptop computer, a PDA, a vehicle-mounted terminal, a wearable device, and a pedometer.

[0151] It should be understood that in the embodiment of the present invention, the radio frequency unit 601 can be used for receiving and sending signals during information transmission or communication. Specifically, after receiving downlink data from the base station, it is sent to the processor 610 for processing; in addition, uplink data is sent to the base station. Generally, the radio frequency unit 601 includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc. In addition, the radio frequency unit 601 can also communicate with the network and other devices through a wireless communication system.

[0152] The electronic device provides users with wireless broadband Internet access through the network module 602, such as helping users to send and receive emails, browse web pages, and access streaming media.

[0153] The audio output unit 603 can convert the audio data received by the RF unit 601 or the network module 602 or stored in the memory 609 into an audio signal and output it as sound. Moreover, the audio output unit 603 can also provide audio output related to a specific function performed by the electronic device 600 (for example, a call signal reception sound, a message reception sound, etc.). The audio output unit 603 includes a speaker, a buzzer, a receiver, etc.

[0154] The input unit 604 is used to receive audio or video signals. The input unit 604 may include a graphics processor (GPU) 6041 and a microphone 6042, and the graphics processor 6041 processes the image data of a static picture or video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The processed image frame can be displayed on the display unit 606. The image frame processed by the graphics processor 6041 can be stored in the memory 609 (or other storage medium) or sent via the radio frequency unit 601 or the network module 602. The microphone 6042 can receive sound and can process such sound into audio data. The processed audio data can be converted into a format output that can be sent to a mobile communication base station via the radio frequency unit 601 in the case of a telephone call mode.

[0155] The electronic device 600 also includes at least one sensor 605, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor includes an ambient light sensor and a proximity sensor, wherein the ambient light sensor can adjust the brightness of the display panel 6061 according to the brightness of the ambient light, and the proximity sensor can turn off the display panel 6061 and / or the backlight when the electronic device 600 is moved to the ear. As a type of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in each direction (generally three axes), and can detect the magnitude and direction of gravity when stationary, which can be used to identify the posture of the electronic device (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; the sensor 605 can also include a fingerprint sensor, a pressure sensor, an iris sensor, a molecular sensor, a gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, etc., which will not be repeated here.

[0156] The display unit 606 is used to display information input by the user or information provided to the user. The display unit 606 may include a display panel 6061, which may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.

[0157] The user input unit 607 can be used to receive input digital or character information, and to generate key signal input related to user settings and function control of the electronic device. Specifically, the user input unit 607 includes a touch panel 6071 and other input devices 6072. The touch panel 6071, also known as a touch screen, can collect the user's touch operation on or near it (such as the user's operation on the touch panel 6071 or near the touch panel 6071 using any suitable object or accessory such as a finger, stylus, etc.). The touch panel 6071 may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the user's touch orientation, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into contact coordinates, and then sends it to the processor 610, receives the command sent by the processor 610 and executes it. In addition, the touch panel 6071 can be implemented in various types such as resistive, capacitive, infrared and surface acoustic waves. In addition to the touch panel 6071, the user input unit 607 may also include other input devices 6072. Specifically, other input devices 6072 may include but are not limited to a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which will not be described in detail here.

[0158] Furthermore, the touch panel 6071 may be overlaid on the display panel 6061. When the touch panel 6071 detects a touch operation on or near it, it is transmitted to the processor 610 to determine the type of touch event. Then, the processor 610 provides corresponding visual output on the display panel 6061 according to the type of touch event. Figure 6 In the figure, the touch panel 6071 and the display panel 6061 are used as two independent components to realize the input and output functions of the electronic device. However, in some embodiments, the touch panel 6071 and the display panel 6061 can be integrated to realize the input and output functions of the electronic device, which is not limited here.

[0159] The interface unit 608 is an interface for connecting an external device to the electronic device 600. For example, the external device may include a wired or wireless headset port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device with an identification module, an audio input / output (I / O) port, a video I / O port, a headphone port, etc. The interface unit 608 may be used to receive input (e.g., data information, power, etc.) from an external device and transmit the received input to one or more elements within the electronic device 600 or may be used to transmit data between the electronic device 600 and an external device.

[0160] The memory 609 can be used to store software programs and various data. The memory 609 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.), etc. In addition, the memory 609 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0161] The processor 610 is the control center of the electronic device. It uses various interfaces and lines to connect various parts of the entire electronic device. By running or executing software programs and / or modules stored in the memory 609 and calling data stored in the memory 609, it performs various functions of the electronic device and processes data, thereby monitoring the electronic device as a whole. The processor 610 may include one or more processing units; preferably, the processor 610 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, and the modem processor mainly processes wireless communications. It is understandable that the above-mentioned modem processor may not be integrated into the processor 610.

[0162] The electronic device 600 may also include a power supply 611 (such as a battery) for supplying power to each component. Preferably, the power supply 611 may be logically connected to the processor 610 through a power management system, thereby implementing functions such as charging, discharging, and power consumption management through the power management system.

[0163] In addition, the electronic device 600 includes some functional modules not shown, which will not be described in detail here.

[0164] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0165] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present invention.

[0166] The embodiments of the present invention are described above in conjunction with the accompanying drawings, but the present invention is not limited to the above-mentioned specific implementation modes, which are merely illustrative rather than restrictive. Under the guidance of the present invention, ordinary technicians in this field can also make many forms without departing from the scope of protection of the present invention and the claims, all of which are within the protection of the present invention.

[0167] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the embodiments of the present invention can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0168] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0169] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0170] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0171] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0172] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, ROM, RAM, magnetic disks, or optical disks.

[0173] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.

Claims

1. A data acquisition method, characterized in that: The method comprises: During the process of performing voice interaction with the user through the first thread using a preset interaction process, if user data needs to be obtained, a new second thread is created to start obtaining the user data; If the second thread is successfully established, the interaction process is interrupted, and voice interaction is performed with the user through the first thread using a preset waiting interaction process; If the user data is acquired, the waiting interaction process ends and the user data is returned to the user; The performing voice interaction with the user by using a preset waiting interaction process through the first thread includes: Playing a first waiting voice to the user through the first thread; When the first waiting voice is played, query whether the user data is acquired; The method further comprises: When the second thread is successfully established, generating a data acquisition credential; The obtained user data is cached in a cache server, and the querying whether the user data is obtained includes: querying the cache server whether there is a cache key corresponding to the data acquisition credential; wherein the cache key is generated based on the second thread when the user data cache on the cache server is completed; If the cache server has a cache key corresponding to the data acquisition credential, determining that the user data acquisition is complete; If the cache server does not have a cache key corresponding to the data acquisition credential, it is determined that the user data has not been acquired.

2. The method according to claim 1, characterized in that: After querying whether the user data is acquired, the method further includes: If the user data has not been completely acquired, a second waiting voice is played to the user through the first thread, and when the second waiting voice is finished being played, it is inquired whether the user data has been completely acquired; If the user data acquisition is completed, the waiting interaction process ends.

3. The method according to claim 1, characterized in that The returning the user data to the user comprises: The user data cached in the cache server is returned to the user.

4. The method according to claim 1, characterized in that: The returning the user data to the user comprises: The user data is returned to the user by way of voice broadcast or text message.

5. The method according to claim 1, characterized in that After the waiting interaction process is ended, the method further includes: Perform voice interaction with the user through the first thread using the interaction process.

6. A data acquisition device, characterized in that: include: A data acquisition module, used for creating a new second thread to start acquiring the user data if user data needs to be acquired during voice interaction with the user through the first thread using a preset interaction process; A voice interaction module, configured to interrupt the interaction process if the second thread is successfully established, and perform voice interaction with the user through the first thread by adopting a preset waiting interaction process; A data return module, used to end the waiting interaction process and return the user data to the user if the user data acquisition is completed; A first voice playing submodule, used for playing a first waiting voice to the user through the first thread; A data query submodule, used for querying whether the user data has been acquired when the first waiting voice is played; A credential generation module, used to generate a data acquisition credential when the second thread is successfully established; The acquired user data is cached in a cache server, and the data query submodule includes: a cache key generating unit, configured to query the cache server whether there is a cache key corresponding to the data acquisition credential; wherein the cache key is generated based on the second thread when the user data caching on the cache server is completed; an acquisition completion determination unit, configured to determine that the acquisition of the user data is completed if the cache server has a cache key corresponding to the data acquisition credential; The acquisition incomplete determination unit is used to determine that the user data has not been acquired if the cache server does not have a cache key corresponding to the data acquisition credential.

7. The device according to claim 6, characterized in that The data query submodule is also used for: If the user data is not acquired, the second voice playback submodule is executed; if the user data is acquired, the process end module is executed The second voice playing submodule is used to play the second waiting voice to the user through the first thread, and when the second waiting voice is played, query whether the user data is acquired; The process ending module is used to end the waiting interaction process.

8. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; The memory is used to store computer programs; The processor is used to implement the method according to any one of claims 1 to 5 when executing the program stored in the memory.

9. A computer-readable storage medium having instructions stored thereon, which, when executed by one or more processors, cause the processors to perform the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Proxy service quality management system and method for call center

    CN110163528A

  • Data access method and device

    CN112835819A

  • Interaction processing method and device

    CN113505268A

  • Cache management method and device, storage medium and electronic equipment

    CN114443722A