A data processing method, device and equipment and computer storage medium

By loading outbound call data from the database into a cache pool and storing it in a tree structure, the problem of slow outbound call data query response speed is solved, resulting in faster data query and a better user experience.

CN117131057BActive Publication Date: 2026-04-10CHINA CONSTRUCTION BANK +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-08
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

In existing technologies, the response time for outbound call data queries is slow, resulting in a poor experience for agents and customers.

Method used

By loading outbound call business-related data from the database into a cache pool and storing it in the target dataset in the cache pool using a tree structure, data storage space is reduced and query and location efficiency is improved.

Benefits of technology

It improved the outbound calling system's response speed to query data, enhanced the user experience, and reduced the space required for data storage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117131057B_ABST
    Figure CN117131057B_ABST
Patent Text Reader

Abstract

The application provides a method, device and equipment and computer storage medium related to a data processing method, which relates to the technical field of data processing and is used to improve the system response speed of query outbound data. The method comprises the following steps: acquiring, based on a rule identifier, a data extraction rule and a data loading rule corresponding to the rule identifier from a configuration file; acquiring, in a database, original data at a data storage address included in the data extraction rule; splitting the original data to obtain corresponding index data and field data; storing the index data to each index node in a target data set with a tree structure indicated by the data loading rule, and storing the field data to a leaf node in the target data set; determining, based on a query index, a target index node in the target data set corresponding to the query index, and returning all target field data corresponding to the target index node to a query instruction source.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data processing, in particular to a data processing method, device and equipment and computer storage medium. BACKGROUND

[0002] In today's increasingly powerful communication technology and mobile internet technology, outbound marketing is still an important scenario for many enterprises to expand customer service boundaries and improve digital operation.

[0003] In the marketing scenario, it is necessary to display marketing statements and product introductions in the outbound interface of the agent. In the telephone conversation process between the agent and the customer, in order to improve the efficiency of the agent marketing and efficiently deal with various problems, the system needs to have the ability to quickly query related information.

[0004] The general method of storing outbound data is to store related data in the local system or server. Under such a storage method, when the agent personnel wants to obtain the corresponding data, they need to wait for a relatively long processing time to get the corresponding data prompt, which will bring poor experience to the agent and the customer.

[0005] Therefore, how to improve the system response speed of querying outbound data is a technical problem to be solved. SUMMARY

[0006] The present application provides a data processing method, device and equipment and computer storage medium to improve the system response speed of querying outbound data.

[0007] In a first aspect, the embodiments of the present application provide a data processing method applied to an outbound system, wherein the outbound system includes a database and a cache pool, and the method includes: receiving a trigger instruction, wherein the trigger instruction carries a rule identifier, and the rule identifier is used to indicate a current outbound service responded by the outbound system; based on the rule identifier, obtaining a data extraction rule and a data loading rule corresponding to the rule identifier from a configuration file; based on the data extraction rule, obtaining original data at a data storage address included in the data extraction rule in the database; based on the data loading rule, splitting the original data to obtain corresponding index data and field data; storing the index data in each index node in a target data set with a tree structure indicated by the data loading rule, and storing the field data in a leaf node in the target data set; receiving a query instruction, wherein the query instruction carries a query index, and the query index is used to indicate index data corresponding to target field data to be obtained; based on the query index, determining a target index node in a target data set corresponding to the query index, and returning all target field data corresponding to the target index node to a source of the query instruction.

[0008] In the scheme, by extracting the data corresponding to the outbound service from the database to the cache pool, the address of the system for extracting data in the outbound service is changed, the amount of data to be faced when extracting data is reduced, the response speed of the outbound system to the query data is improved, and the user experience is improved. At the same time, the original data is split and stored in the target data set with a tree structure, the space required for data storage is reduced, and the structure of data storage is improved, so that the system can quickly locate the target field data, and the response speed of the system to the query data task is further improved.

[0009] Optionally, the index data corresponds to at least two levels of index nodes; wherein a first level of index nodes in the at least two levels of index nodes is used to indicate the rule identifier, and index nodes other than the first level of index nodes in the at least two levels of index nodes are used to indicate the storage path of the field data.

[0010] In the manner, the index nodes include the first level of index nodes for indicating the rule identifier, and the other index nodes for indicating the storage path, which further reduces the space required for data storage while improving the efficiency of locating the target field data.

[0011] Optionally, before receiving the trigger instruction, the method further comprises: based on the preset rule configuration parameter, configuring each data extraction rule corresponding to each data set in the database; wherein each data extraction rule includes: a rule identifier and a data storage address corresponding to the rule identifier; based on the obtained data storage address in each data extraction rule, respectively configuring a data loading rule with the same rule identifier as the data extraction rule, wherein each data loading rule includes an index node address corresponding to the index data; storing the each data extraction rule and the obtained each data loading rule in the configuration file.

[0012] In the manner, by the each data extraction rule and the data loading rule in the configuration file, the configurability of data caching is realized, once new data needs to be added in the cache pool, only the each rule in the configuration file needs to be modified, without the development of function code, which reduces the use cost.

[0013] Optionally, after storing the field data into the leaf node in the target data set, the method further comprises: receiving an update instruction, the update instruction carrying: a first update index and a second update index; based on the first update index, obtaining corresponding to-be-updated data from the database; based on the second update index, determining a specified data set corresponding to the to-be-updated data in the cache pool; assigning a preset identifier to the specified data set, the preset identifier being used to indicate that the specified data set is prohibited from being accessed; based on the to-be-updated data, updating data in the specified data set to obtain an updated specified data set, and removing the preset identifier.

[0014] The method for updating data related to an outbound service in a cache pool provided in the present manner can quickly keep the cache pool and the data in the database updated synchronously, thereby avoiding the problem of mismatch between the database and the cache pool, and in the process of updating the cache pool, a specified data set is assigned a specified identifier, so as to avoid the possibility that multiple access users simultaneously modify or access a specified data set, avoid the possibility that other users obtain dirty data in the access process, and ensure the accuracy of data query.

[0015] Optionally, the determining, based on the query index, of a target index node in a target data set corresponding to the query index and the returning, to a source of the query instruction, of all target field data corresponding to the target index node comprise: when it is determined, based on the query index, that the specified data set corresponding to the query index exists the preset identifier, returning an error prompt; and when it is determined, based on the query index, that the specified data set corresponding to the query index does not exist the preset identifier, determining the target index node corresponding to the query index, and returning, to the source of the query instruction, all target field data corresponding to the target index node.

[0016] In the present manner, when a data set exists a specified identifier, an error prompt is returned, which can avoid users obtaining to-be-updated or updated data that is not completed, ensure the accuracy of query data, and give a prompt to the user, thereby improving the user experience.

[0017] In a second aspect, the application provides a data processing apparatus applied to an outbound call system, wherein the outbound call system comprises a database and a cache pool, and the apparatus comprises: a receiving module configured to receive a trigger instruction, wherein the trigger instruction carries a rule identifier, and the rule identifier is used to indicate a current outbound call service to which the outbound call system responds; an extracting module configured to acquire, based on the rule identifier, a data extraction rule and a data loading rule corresponding to the rule identifier from a configuration file; acquire, based on the data extraction rule, original data at a data storage address included in the data extraction rule in the database; a loading module configured to split the original data based on the data loading rule to obtain corresponding index data and field data; store the index data to each index node in a target data set having a tree structure indicated by the data loading rule, and store the field data to a leaf node in the target data set; and a querying module configured to receive a query instruction, wherein the query instruction carries a query index, and the query index is used to indicate index data corresponding to target field data to be acquired; determine a target index node in a target data set corresponding to the query index based on the query index, and return all target field data corresponding to the target index node to a source of the query instruction.

[0018] Optionally, the index data corresponds to at least two levels of index nodes, wherein a first level of index nodes in the at least two levels of index nodes is used to indicate the rule identifier, and index nodes other than the first level of index nodes in the at least two levels of index nodes are used to indicate storage paths of the field data.

[0019] Optionally, before receiving the trigger instruction, the apparatus further comprises a configuration module configured to: configure, based on a preset rule configuration parameter, each data extraction rule corresponding to each data set in the database; wherein each data extraction rule comprises a rule identifier and a data storage address corresponding to the rule identifier; configure, based on each data storage address in the obtained data extraction rules, a data loading rule having the same rule identifier as the data extraction rule, wherein each data loading rule comprises an index node address corresponding to index data; and store the data extraction rules and the obtained data loading rules to the configuration file.

[0020] Optionally, after the loading module is used to store the field data into the leaf node in the target data set, the apparatus further comprises an updating module configured to: receive an updating instruction, the updating instruction carrying a first updating index and a second updating index; based on the first updating index, obtain corresponding to-be-updated data from the database; based on the second updating index, determine a specified data set corresponding to the to-be-updated data in the cache pool; assign a preset identifier to the specified data set, the preset identifier being used to indicate that the specified data set is prohibited from being accessed; based on the to-be-updated data, update data in the specified data set to obtain an updated specified data set, and remove the preset identifier.

[0021] Optionally, when the query module is used to determine a target index node in a target data set corresponding to the query index based on the query index, and return all target field data corresponding to the target index node to the source of the query instruction, the query module is specifically configured to: when it is determined that the specified data set corresponding to the query index exists the preset identifier based on the query index, return an error prompt; and when it is determined that the specified data set corresponding to the query index does not exist the preset identifier based on the query index, determine the target index node corresponding to the query index, and return all target field data corresponding to the target index node to the source of the query instruction.

[0022] In a third aspect, an electronic device is provided, including: at least one processor; and a memory connected with the at least one processor in communication; wherein the memory stores instructions that can be executed by the at least one processor, and the at least one processor, by executing the instructions stored in the memory, causes the at least one processor to execute the method in the first aspect or any optional implementation manner of the first aspect.

[0023] In a fourth aspect, a computer readable storage medium is provided, the computer readable storage medium is used to store instructions, when the instructions are executed, the method in the first aspect or any optional implementation manner of the first aspect is implemented.

[0024] In a fifth aspect, a computer program product containing instructions is provided, the computer program product stores instructions, when the instructions are executed on a computer, the computer executes the method in the first aspect or any optional implementation manner of the first aspect.

[0025] The technical effects or advantages of one or more technical solutions provided in the second, third, fourth and fifth aspects in the embodiments of the present application can be explained by the corresponding one or more technical solutions provided in the first aspect. BRIEF DESCRIPTION OF DRAWINGS

[0026] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments description. Obviously, the drawings in the following description only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained from these drawings without creative labor.

[0027] Figure 1 The possible application scenario provided for the embodiments of the present application is shown in the figure.

[0028] Figure 2 The flow chart of a data processing method provided for the embodiments of the present application is shown in the figure.

[0029] Figure 3 The flow chart of a method for configuring data extraction rules and data loading rules provided for the embodiments of the present application is shown in the figure.

[0030] Figure 4 The schematic diagram of a multi-layer MAP structure provided for the embodiments of the present application is shown in the figure.

[0031] Figure 5 The schematic diagram of a target data set with a 4-layer tree structure provided for the embodiments of the present application is shown in the figure.

[0032] Figure 6 The flow chart of a method for updating cache data provided for the embodiments of the present application is shown in the figure.

[0033] Figure 7 The schematic diagram of a specified data set provided for the embodiments of the present application is shown in the figure.

[0034] Figure 8 The structural schematic diagram of a data processing apparatus provided for the embodiments of the present application is shown in the figure.

[0035] Figure 9 The structural schematic diagram of an electronic device provided for the embodiments of the present application is shown in the figure. DETAILED DESCRIPTION

[0036] The technical solutions of the present application will be described in detail below with the drawings and specific embodiments. It should be understood that the specific features in the embodiments of the present application and the embodiments are detailed descriptions of the technical solutions of the present application, and are not limitations of the technical solutions of the present application. In the case of no conflict, the technical features in the embodiments of the present application and the embodiments can be combined with each other.

[0037] It should be understood that in the description of the embodiments of the present application, the words "first", "second", etc. are used only for the purpose of distinguishing the description, and cannot be understood as indicating or implying relative importance, nor can it be understood as indicating or implying order. In the description of the embodiments of the present application, "a plurality of" means two or more.

[0038] The term "and / or" in the embodiments of the present application is only used to describe the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent the three cases of A alone, A and B together, and B alone. In addition, the character " / " in this paper generally represents that the front and rear associated objects are a "or" relationship.

[0039] In the embodiments of the present application, the collection, transmission, use, etc. of data all meet the requirements of relevant national laws and regulations.

[0040] Outbound marketing is an important scenario for many enterprises to expand customer service boundaries and improve digital operation. In this scenario, marketing statements and product introductions need to be displayed on the outbound interface of the agent, and these contents can be queried and displayed in the terminal device of the agent personnel. Therefore, the system for storing and displaying these outbound data needs to quickly respond to the query operation of the agent.

[0041] However, the general method for storing outbound data is to store the related data in the local system or server. Under such a storage mode, when the agent personnel wants to obtain the corresponding data, a relatively long processing time is needed to obtain the corresponding data prompt, which will bring poor experience to the agent and the customer.

[0042] Therefore, the embodiments of the present application provide a data processing method, device and equipment and computer storage medium, which are applied to an outbound system including a database and a cache pool. By loading the data related to the current outbound service stored in the database into the cache pool, the time for the system to respond to the query operation of the agent personnel is reduced. In addition, the data loaded into the cache pool is stored in the target data set in the cache pool in a tree-shaped data structure, which occupies less space and is faster to query and locate, further improving the efficiency of the system responding to the query operation.

[0043] Specifically, in the process of implementing the method, first, the rule identifier corresponding to the outbound service responded by the outbound system needs to be acquired, and then the corresponding data extraction rule and data loading rule are acquired from the configuration file according to the rule identifier. Then, according to the data extraction rule, the corresponding original data can be extracted from the data storage address in the database, and then according to the data loading rule, the original data is split into index data and field data, and the index data is stored in each index node of the target data set with a tree structure, and the field data is stored in the leaf node in the target data set. In this way, after completing the steps of extracting and loading data into the cache, when the outbound system receives the query instruction of the query data, all field data under the target index node corresponding to the query index in the target data set can be returned to the source of the query instruction according to the query index carried in the query instruction.

[0044] The overall idea of the scheme provided by the embodiments of the present application is introduced above, and the specific implementation of the embodiments of the present application will be introduced in each aspect.

[0045] The application scenarios to which the technical scheme of the embodiments of the present application can be applied will be briefly introduced below. It should be noted that the application scenarios introduced below are only used to illustrate the embodiments of the present application and are not limiting. In the specific implementation process, the technical scheme provided by the embodiments of the present application can be flexibly applied according to actual needs.

[0046] Referring to Figure 1 A possible application scenario provided by the embodiments of the present application is shown in the figure, which can include a terminal device 101 and a server 102.

[0047] The terminal device 101 can be a mobile phone, a tablet computer (PAD), a personal computer (PC), a wearable device, a vehicle-mounted terminal, etc. The server 102 can be a standalone physical server, a server cluster or a distributed system composed of multiple physical servers, a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms, etc. basic cloud computing services.

[0048] The terminal device 101 and the server 102 can be directly or indirectly connected through one or more communication networks 103. The communication network 103 can be a wired network or a wireless network. For example, the wireless network can be a mobile cellular network or a wireless fidelity (WIFI) network. Of course, other possible networks can also be used, and the embodiments of the present application do not make any limitation in this aspect.

[0049] It should be noted that the data processing method in the embodiments of the present application can be executed by a computer device, which can be the terminal device 101 or the server 102. For example, when the data processing method is completed by the server 102, the server can receive a response triggering instruction, a query instruction, and the like, so as to respond to the triggering instruction, complete the steps of data extraction and caching, and return corresponding query data in response to the query instruction. It should be understood that, Figure 1 It should be noted that the data processing method in the embodiments of the present application can be executed by a computer device, which can be the terminal device 101 or the server 102. For example, when the data processing method is completed by the server 102, the server can receive a response triggering instruction, a query instruction, and the like, so as to respond to the triggering instruction, complete the steps of data extraction and caching, and return corresponding query data in response to the query instruction. It should be understood that,

[0050] The data processing method provided by the exemplary embodiments of the present application will be described below in combination with the above-described application scenarios and the accompanying drawings. It should be noted that the above-described application scenarios are only shown for the purpose of facilitating the understanding of the spirit and principles of the present application, and the embodiments of the present application are not limited in this respect.

[0051] Referring to Figure 2 For the purpose of facilitating the description, the data processing method will be introduced below by taking the server as the execution subject. As shown in Figure 2 The specific implementation steps of the method are as follows:

[0052] Step S201: receiving a triggering instruction, the triggering instruction carrying a rule identifier, the rule identifier being used to indicate a current response of the outbound call system to an outbound call service.

[0053] Firstly, the outbound call system is described. For the outbound call system, it includes a database capable of storing data for a long time and with a large capacity and a data pool capable of storing data for a short time and responding quickly. These two storage modules are used to store data related to the outbound call service. The data related to the outbound call service can include product introduction of a service, a question reply template, a service parameter, a standard language, and the like, so as to provide comprehensive and perfect product introduction and good user experience for a customer by an outbound call service personnel. When the outbound call system is used by the outbound call service personnel, the terminal device in communication connection with the server can access the outbound call system in the server to query corresponding outbound call service data.

[0054] After receiving the trigger instruction carrying the rule identifier, the server starts to operate the corresponding data in the database. The timing of generating the trigger instruction has the following different cases.

[0055] Case one: triggered automatically by the system. When starting the outbound call system, the trigger instruction can be sent to the server at the same time, so that the server extracts the business data that the outbound call system may use from the database based on the rules in the configuration file. For example, at the beginning of each day, the outbound call staff opens the outbound call system. At this time, the instruction to open the outbound call system can be used as a trigger instruction at the same time, so that the server extracts part of the business data corresponding to the rule identifier from the database and loads it into the cache pool for the outbound call staff to query.

[0056] Case two: triggered by the user of the outbound call system. During the operation of the outbound call system, when some special needs of the user appear, the user can generate a trigger instruction through the terminal device, so that the server receives these trigger instructions, extracts data from the database, and caches. For example, when the outbound call staff needs to perform outbound call work for a certain business, they can trigger the trigger instruction corresponding to the business, so that the server extracts the corresponding business data from the database and loads it into the cache pool. For example, when the business data in the database is updated, the operation and maintenance personnel responsible for maintaining the database can manually trigger the corresponding trigger instruction, so that the server extracts and loads the data to be updated in the database into the cache pool.

[0057] The above are several possible timings of the server receiving the trigger instruction. After receiving the trigger instruction, the server needs to obtain the corresponding rule identifier from it, which indicates the outbound call business currently responded by the outbound call system. For example, when starting the outbound call system, the trigger instruction received by the server can include multiple rule identifiers, each of which can indicate an outbound call business that the outbound call system needs to load, so that the server performs subsequent extraction and loading operations for these outbound call businesses. For example, when the user needs to operate some outbound call businesses, the corresponding trigger instruction can be manually triggered, so that the server receives the trigger instruction and completes the subsequent operation.

[0058] For the implementation form of the rule identifier, the following method can be used to complete. For example, the data query extraction process in the database is usually implemented by using a structured query language (SQL) statement, and the SQL statement is more professional and has a high cost. Therefore, the rule identifier can be set as SQL ID, and different SQL statements can be represented by a string of characters. In this way, the user only needs to learn the corresponding SQL ID to use the corresponding SQL statement, which reduces the use cost of the outbound call system, improves the use efficiency, and effectively improves the user experience.

[0059] It should be noted that in the outbound call system, the agents can be divided into multiple teams according to different product categories, and the outbound call scenarios of different teams are different, and the product introduction, question reply template, business parameter, standard language and the like required by different teams are also different. Therefore, different rule identifiers can be assigned to different product categories for mutual differentiation.

[0060] Step S202: Based on the rule identifier, the data extraction rule and the data loading rule corresponding to the rule identifier are obtained from the configuration file.

[0061] After receiving the trigger instruction, the server can obtain the rule identifier carried in the trigger instruction, and use the rule identifier to obtain the corresponding data extraction rule and data loading rule from the configuration file.

[0062] Optionally, for the generation of the data extraction rule and the data loading rule in the configuration file, the present embodiment provides the following implementation method:

[0063] Referring to Figure 3 A flowchart of a method for configuring a data extraction rule and a data loading rule provided by the present embodiment is shown in Figure 3 The specific implementation steps of the method are as follows:

[0064] Step S301: Based on the preset rule configuration parameter, the data extraction rule corresponding to each data set in the database is configured; wherein each data extraction rule includes: a rule identifier and a data storage address corresponding to the rule identifier.

[0065] Before receiving the trigger instruction, the server can first generate a configuration file related to each outbound service in the outbound call system, and the configuration file is used to store each data extraction rule and data loading rule corresponding to different rule identifiers.

[0066] When generating the data extraction rule, the server can configure the data extraction rule corresponding to each data set in the database according to the preset rule configuration parameter.

[0067] For example, for the data of the outbound call system, a plurality of data sets storing outbound call service related data are included. If the data in the data sets is to be extracted, the server needs to accurately locate the data in the database, so when generating the data extraction rule, the server can configure the corresponding data extraction rule based on the storage address and content of each data set.

[0068] The generated data extraction rule includes a rule identifier and a data storage address corresponding to the rule identifier.

[0069] For example, the following is a specific implementation form of a data extraction rule:

[0070]

[0071] Among them, "map" is a rule set, including several "entries", each "entry" is a data extraction rule. The "key" in the rule is the SQL_ID of the database query, that is, the rule identifier proposed above, and the "value" is the data storage address corresponding to each rule identifier. The content in it is separated by semicolons, and each segment is a key-value pair. The string before the colon is the index ID, and the field after the colon is the list of data items that need to be cached. The asterisk (*) indicates that all fields retrieved by the SQL are extracted and cached.

[0072] After the server obtains these data loading rules with rule identifiers and storage addresses, it can obtain the corresponding original data from the corresponding address in the database.

[0073] After the data extraction rule is configured in the above manner, the server also needs to configure the corresponding data loading rule.

[0074] Step S302: based on the obtained data storage address in each data extraction rule, configure a data loading rule with the same rule identifier as the data extraction rule, wherein each data loading rule includes an index node address corresponding to the index data.

[0075] Corresponding to the data extraction rule, the data loading rule is used to indicate how the server stores the outbound call service related data into the cache pool of the outbound call system.

[0076] To this end, the generation of the data loading rule needs to correspond to the data extraction rule. Specifically, the server needs to configure, based on the obtained data storage address in each data extraction rule, a data loading rule having the same rule identifier as the data extraction rule. In other words, for the same rule identifier, it will correspond to a data extraction rule and a data loading rule at the same time. The index node address corresponding to the index data included in the data loading rule is used to indicate the cache address of the data extracted from the database in the cache pool.

[0077] Step S303: Store each data extraction rule and the obtained data loading rule to the configuration file.

[0078] After the generation of the data extraction rule and the data loading rule, the server can save these data extraction rules and data loading rules to the configuration file for subsequent data extraction and loading.

[0079] In this way, the data cache is configurable through each data extraction rule and data loading rule in the configuration file. Once new data needs to be added in the cache pool, the corresponding rules in the configuration file can be modified, without the need to develop functional codes, thereby reducing the use cost.

[0080] Step S203: Based on the data extraction rule, obtain the original data at the data storage address included in the data extraction rule in the database.

[0081] After obtaining the corresponding data extraction rule and data loading rule according to the rule identifier, the server first needs to obtain the corresponding business data from the database.

[0082] Specifically, the server needs to parse the corresponding data storage address from the data extraction rule, and then obtain the original data stored in the corresponding address in the database.

[0083] It should be noted that, in addition to the field data directly obtained from the database, the original data also includes index data used to indicate the data storage address of the field data.

[0084] After obtaining the original data, the server needs to store it in the cache pool. The specific operation steps of storing the original data in the cache pool are as follows:

[0085] Step S204: Based on the data loading rule, split the original data to obtain the corresponding index data and field data; store the index data to each index node in the target data set having a tree structure indicated by the data loading rule, and store the field data to the leaf node in the target data set.

[0086] After the server obtains the original data from the database, the server needs to store the data to the corresponding position in the cache pool based on the data loading rule. Therefore, the server needs to split the original data to obtain the corresponding index data and field data, and then store the index data to each index node in the target data set with a tree structure indicated by the data loading rule, and store the field data to the leaf node in the target data set.

[0087] To facilitate the understanding of the implementation of this step, first, the target data set with a tree structure is introduced. The tree structure is a multi-level nested structure, and the outer layer and the inner layer of a tree structure have similar structures, so this structure can be recursively represented. Specifically in the embodiments of the present application, the structure of the target data set can be a multi-layer MAP structure as shown in Figure 4 , wherein the MAP is essentially a set of key-value pairs, and in a MAP, each member is a data structure of a two-element array, which includes a key and a value. Therefore, for the target data set with a multi-layer MAP structure, the key of the first layer MAP is a rule identifier, which is used to record different SQL_IDs, and the value of the first layer MAP corresponds to the second layer MAP. In a broader sense, the values of the keys of the intermediate layers of MAPs can be used as storage addresses of the index data to indicate the field data on the final leaf node.

[0088] Optionally, the split index data corresponds to at least two index nodes, wherein the first index node is used to indicate the rule identifier, and the index nodes other than the first index node in the at least two index nodes are used to indicate the storage path of the field data. For example, in the structure shown in Figure 4 , one index node corresponds to the key of the first layer MAP structure, and the other index nodes correspond to the keys of the intermediate layers of MAP structures in turn. In this way, the storage path of the field data is indicated by the index data.

[0089] The last layer of the tree structure (i.e., the leaf node) is also a key-value pair with a MAP structure, wherein each key-value pair corresponds to a row of data in the database.

[0090] For example, referring to Figure 5 , a schematic diagram of a target data set with a four-layer tree structure provided by the embodiments of the present application is shown. As shown in Figure 5 , in the data set with a four-layer structure, the data stored in each layer is a rule identifier, a two-level type ID, a three-level type ID, and field data in turn, wherein one three-level type ID can include multiple field data, and each field data is a key-value pair structure.

[0091] Thus, after the data structure of each target data set in the clear cache pool is determined, the server can determine the specific operation of the process of "storing the index data to the index node in the target data set with the tree structure indicated by the data loading rule, and storing the field data to the leaf node in the target data set".

[0092] Specifically, when the server stores the index data to the index node, the server can divide the data storage address according to the data loading rule, divide the different levels, and determine the corresponding index node in sequence until the index node indicating the final leaf node is determined. Then, the server can store the field data corresponding to the index data to the corresponding leaf node, thereby completing the caching of the original data.

[0093] Thus, after the caching of the data corresponding to all the outbound services indicated by the trigger instruction is completed, the agent personnel can obtain a fast data response when querying the outbound data. The server needs to perform the following operations in this process:

[0094] Step S205: receiving a query instruction, the query instruction carrying a query index; the query index is used to indicate the index data corresponding to the target field data to be obtained.

[0095] Step S206: determining the target index node in the target data set corresponding to the query index based on the query index, and returning all the target field data corresponding to the target index node to the source of the query instruction.

[0096] When the agent personnel of the outbound system needs to query the outbound data, the agent personnel can send a query instruction to the system to obtain the corresponding outbound data.

[0097] In the query instruction, a query index is carried, which indicates the index data corresponding to the target field data to be obtained.

[0098] For example, the query index can be the value corresponding to the first-level index node, so that the server can return all the target field data corresponding to the first-level index node to the source of the query instruction when returning the target field data.

[0099] For another example, when the query index includes a first-level index node and other index nodes under the first-level index node, the server determines the corresponding target index node and returns all the target field data corresponding to the target index node to the source of the query instruction.

[0100] In the scheme, by extracting the data corresponding to the outbound service from the database to the cache pool, the address of the system for extracting data in the outbound service is changed, the amount of data to be faced when extracting data is reduced, the response speed of the outbound system to the query data is improved, and the user experience is improved. At the same time, the original data is split and stored in the target data set with a tree structure, the space required for data storage is reduced, and the structure of data storage is improved, so that the system can quickly locate the target field data, and further improve the response speed of the system to the query data task.

[0101] Optionally, when the data related to the outbound service in the database changes and needs to be updated, a corresponding update instruction can be triggered to update the corresponding data in the cache pool.

[0102] Referring to Figure 6 , a flowchart of a method for updating cache data provided by the embodiment of the application is shown in Figure 6 , and the specific implementation steps of the method are as follows:

[0103] Step S601: receiving an update instruction, the update instruction carrying a first update index and a second update index.

[0104] When the data in the database changes, an update instruction can be automatically triggered to indicate updating the corresponding data in the cache pool, or the corresponding update instruction can be manually triggered by the personnel who changes the data.

[0105] The generated update instruction carries the first update index and the second update index, wherein the first update index is used to indicate the storage address of the to-be-updated data that changes in the database, and the second update index is used to indicate the storage address of the data that needs to be updated in the cache pool.

[0106] Step S602: based on the first update index, obtaining the corresponding to-be-updated data from the database; based on the second update index, determining a specified data set corresponding to the to-be-updated data in the cache pool.

[0107] After the server receives the update instruction, it can respond to the update instruction, first obtain the corresponding to-be-updated data from the database based on the first update index, and then determine the specified data set corresponding to the to-be-updated data in the cache pool based on the second update index. As shown in Figure 7 , the specified data set is a collection of all field data under the upper index node corresponding to each field data that needs to be updated.

[0108] Step S603: assigning a preset identifier to the specified data set, the preset identifier being used to indicate that the specified data set is prohibited from being accessed.

[0109] After the server determines that the specified data set needs to be updated, the server needs to assign a preset identifier to the specified data set, which is used to indicate that the specified data set is prohibited from being accessed. It should be understood that the prohibition of access refers to the prohibition of access by other users except for the user who is updating the specified data set. For example, when the outbound call system proposed in the present application is deployed on multiple servers in multiple centers, there may be a case of simultaneous competition for modifying or using the same product data. Therefore, in order to avoid multiple users from simultaneously modifying a data, a preset identifier can be set when the data is modified, which is used to avoid access or modification of the specified data set by other users.

[0110] Step S604: updating the data in the specified data set based on the data to be updated, obtaining an updated specified data set, and removing the preset identifier.

[0111] After the server completes the modification of the specified data set, the above-mentioned preset identifier can be removed, so that subsequent access operations of other users can be smoothly performed.

[0112] Optionally, since part of the data sets in the cache pool may have the above-mentioned preset identifier, in response to a query instruction, the data searching is performed, and the following operations are respectively performed according to different situations:

[0113] When it is determined based on the query index that the specified data set corresponding to the query index has the preset identifier, an error prompt is returned; the error prompt is used to inform the visitor that the specified data set cannot be accessed temporarily.

[0114] When it is determined based on the query index that the specified data set corresponding to the query index does not have the preset identifier, a target index node corresponding to the query index is determined, and all target field data corresponding to the target index node is returned to a source of the query instruction.

[0115] Based on the same inventive concept, the present application also provides a data processing device.

[0116] Referring to Figure 8 The present application provides a data processing device, which can be a chip or an integrated circuit in the above-mentioned server or device, and the device includes a module / unit / technical means for executing the method performed by the server in the above-mentioned method embodiment.

[0117] For example, the device 800 includes:

[0118] The receiving module 801 is configured to receive a trigger instruction, wherein the trigger instruction carries a rule identifier, and the rule identifier is used to indicate an outbound call service currently responded by the outbound call system.

[0119] The extraction module 802 is configured to acquire, from the configuration file, a data extraction rule and a data loading rule corresponding to the rule identifier based on the rule identifier; and acquire, based on the data extraction rule, original data at a data storage address included in the data extraction rule in the database.

[0120] The loading module 803 is configured to split the original data based on the data loading rule to obtain corresponding index data and field data; store the index data to each index node in a target data set with a tree structure indicated by the data loading rule; and store the field data to a leaf node in the target data set.

[0121] The query module 804 is configured to receive a query instruction, the query instruction carrying a query index; the query index is used to indicate index data corresponding to target field data to be acquired; determine a target index node in a target data set corresponding to the query index based on the query index; and return all target field data corresponding to the target index node to a source of the query instruction.

[0122] As an embodiment, Figure 8 The device discussed can be used to execute Figure 2 the method described in the illustrated embodiment, and thus the functions that can be achieved by each functional module of the device can refer to the description of the illustrated embodiment, which will not be repeated here. Figure 2

[0123] It should be noted that, although several modules or sub-modules of the device are mentioned in the foregoing detailed description, such division is merely exemplary and not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more units described above can be embodied in one module. Conversely, the features and functions of one module described above can be further divided into modules embodied by multiple modules.

[0124] As a possible product form of the above-mentioned device, see Figure 9 The embodiments of the present application also provide an electronic device 900, comprising:

[0125] at least one processor 901; and a communication interface 903 connected with the at least one processor 901; the at least one processor 901 acquires instructions stored in the memory 902, so that the electronic device 900 executes the method steps executed by any device in the above-mentioned method embodiments through the communication interface 903.

[0126] Optionally, the memory 902 is located outside the electronic device 900.

[0127] ​Optionally, the electronic device 900 includes the memory 902, which is connected to the at least one processor 901, and stores instructions executable by the at least one processor 901. (Appendix) Figure 9 The dashed line indicates that memory 902 is optional for electronic device 900.

[0128] The processor 901 and the memory 902 can be coupled through an interface circuit or integrated together; no restriction is imposed here.

[0129] This application embodiment does not limit the specific connection medium between the processor 901, memory 902, and communication interface 903. This application embodiment... Figure 9 The processor 901, memory 902, and communication interface 903 are connected via a bus 904. Figure 9 The connections between other components are shown in bold and are for illustrative purposes only, not as limiting information. The bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 9 The text uses only a single thick line to represent a bus, but this does not imply that there is only one bus or one type of bus. It should be understood that the processor mentioned in the embodiments of this application can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc. When implemented in software, the processor can be a general-purpose processor, implemented by reading software code stored in memory.

[0130] For example, the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0131] It should be appreciated that the memory mentioned in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable Programmable ROM (EPROM), an Electrically EPROM (EEPROM), or a flash memory. The volatile memory can be a Random Access Memory (RAM) used as an external cache. By way of example, but not limitation, many forms of RAM can be used, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous Dynamic RAM (SDRAM), Double Data Rate Synchronous Dynamic RAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DR RAM).

[0132] It should be noted that when the processor is a general processor, a DSP, an ASIC, a FPGA or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, the memory (storage module) can be integrated in the processor.

[0133] It should be noted that the memory described herein is intended to include, but not limited to, these and any other suitable types of memory.

[0134] As another possible product form, the embodiments of the present application also provide a computer readable storage medium for storing instructions, when the instructions are executed, causing the computer to perform the method steps performed by any device in the above method embodiment.

[0135] As another possible product form, the embodiments of the present application also provide a computer program product containing instructions, the computer program product stores instructions, when it runs on the computer, causing the computer to perform the method steps performed by any device in the above method embodiment.

[0136] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0137] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0138] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0139] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0140] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A method of data processing, characterized by, Applied to an outbound call system, the outbound call system comprising a database and a cache pool, the method comprising: receiving a trigger instruction, the trigger instruction carrying a rule identifier, the rule identifier being used to indicate an outbound call service currently responded by the outbound call system; based on the rule identifier, obtaining a data extraction rule and a data loading rule corresponding to the rule identifier from a configuration file; based on the data extraction rule, obtaining original data at a data storage address included in the data extraction rule in the database; based on the data loading rule, splitting the original data to obtain corresponding index data and field data; storing the index data to each index node in a target data set with a tree structure indicated by the data loading rule, and storing the field data to a leaf node in the target data set; receiving an update instruction, the update instruction carrying a first update index and a second update index; based on the first update index, obtaining corresponding to-be-updated data from the database; based on the second update index, determining a specified data set corresponding to the to-be-updated data in the cache pool; assigning a preset identifier to the specified data set, the preset identifier being used to indicate that the specified data set is prohibited from being accessed; based on the to-be-updated data, performing update processing on data in the specified data set to obtain an updated specified data set, and removing the preset identifier; receiving a query instruction, the query instruction carrying a query index; the query index being used to indicate index data corresponding to target field data to be obtained; based on the query index, determining a target index node in a target data set corresponding to the query index, and returning all target field data corresponding to the target index node to a source of the query instruction.

2. The method of claim 1, wherein, The index data corresponds to at least two levels of index nodes; wherein a first level of index nodes in the at least two levels of index nodes is used to indicate the rule identifier, and index nodes other than the first level of index nodes in the at least two levels of index nodes are used to indicate storage paths of the field data.

3. The method of claim 1 or 2, wherein, Before receiving the trigger instruction, the method further comprises: based on a preset rule configuration parameter, configuring each data extraction rule corresponding to each data set in the database; wherein each data extraction rule includes a rule identifier and a data storage address corresponding to the rule identifier; based on the obtained data storage addresses in each data extraction rule, respectively configuring a data loading rule having the same rule identifier as the data extraction rule, wherein each data loading rule includes an index node address corresponding to index data; storing the each data extraction rule and the obtained each data loading rule to the configuration file.

4. The method of claim 1, wherein, The based on the query index, determining a target index node in a target data set corresponding to the query index, and returning all target field data corresponding to the target index node to a source of the query instruction, comprises: when the specified data set corresponding to the query index exists the preset identifier based on the query index, an error prompt is returned; When it is determined, based on the query index, that the specified data set corresponding to the query index does not exist, a target index node corresponding to the query index is determined, and all target field data corresponding to the target index node is returned to a source of the query instruction.

5. An apparatus for data processing, characterized by The application is applied to an outbound call system, and the outbound call system comprises a database and a cache pool. The receiving module is configured to receive a trigger instruction, and the trigger instruction carries a rule identifier, which is used to indicate an outbound call service currently responded by the outbound call system. The extraction module is configured to acquire, based on the rule identifier, a data extraction rule and a data loading rule corresponding to the rule identifier from a configuration file, and acquire, based on the data extraction rule, original data at a data storage address included in the data extraction rule in the database. The loading module is configured to split the original data based on the data loading rule to obtain corresponding index data and field data, store the index data in each index node in a target data set having a tree structure indicated by the data loading rule, and store the field data in a leaf node in the target data set. The updating module is configured to receive an update instruction, and the update instruction carries a first update index and a second update index. The query module is configured to receive a query instruction, and the query instruction carries a query index.

6. The apparatus as claimed in claim 5, characterized in that, The index data corresponds to at least two levels of index nodes.

7. The apparatus of claim 5 or 6, wherein, Before receiving the trigger instruction, the device further comprises a configuration module configured to: configure, based on a preset rule configuration parameter, each data extraction rule corresponding to each data set in the database, wherein each data extraction rule comprises a rule identifier and a data storage address corresponding to the rule identifier. configure, based on each data storage address in each data extraction rule obtained, a data loading rule having the same rule identifier as the data extraction rule, wherein each data loading rule comprises an index node address corresponding to index data. The data extraction rules and the obtained data loading rules are stored in the configuration file.

8. The apparatus of claim 5, wherein, The query module is configured to determine a target index node in a target data set corresponding to the query index based on the query index, and return all target field data corresponding to the target index node to the source of the query instruction, and specifically configured to: When it is determined based on the query index that the specified data set corresponding to the query index does not exist the preset identifier, determine a target index node corresponding to the query index, and return all target field data corresponding to the target index node to the source of the query instruction. Comprise:

9. An electronic device, comprising: At least one processor; And a memory connected in communication with the at least one processor; Wherein the memory stores instructions executable by the at least one processor, and the at least one processor executes the method according to any one of claims 1-4 by executing the instructions stored in the memory. The computer readable storage medium is used to store instructions, when the instructions are executed, the method of any one of claims 1-4 is realized.

10. A computer-readable storage medium, characterized in that, The computer program product stores instructions, when it runs on the computer, makes the computer execute the method of any one of claims 1-4.

11. A computer program product comprising instructions, characterized in that, ​

Citation Information

Patent Citations

  • Calling-out method and device

    CN113766067A

  • Method and system for routing a telephone call

    WO2012001377A1