A data storage method and device, electronic equipment and storage medium
By employing a combination of prefix trees, inverted indexes, and hash tables in the service registry, the problems of low database utilization and low security were solved, achieving secure data storage and fast retrieval while saving resources.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-15
- Publication Date
- 2026-03-20
AI Technical Summary
In existing technologies, the data storage of service registry centers relies on databases, resulting in low database utilization, low security, and the need for additional operation and maintenance resources, leading to resource waste.
The system uses a combination of prefix trees, inverted indexes, and hash tables to store data in the service registry. Prefix trees store service information, inverted indexes store service codes and the relationships between component units, and hash tables store non-service information, thus decoupling data persistence from the database.
It improves data storage security, saves manpower and hardware costs, reduces retrieval time, and enables rapid retrieval and iteration.
Smart Images

Figure CN117235203B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data processing, and particularly relates to a data storage method and device, electronic equipment and storage medium. BACKGROUND
[0002] With the rapid development of enterprise business, in order to cope with a large number of complex business and huge business data, more and more systems begin to adopt distributed architecture. Distributed architecture is to split large monolithic applications into small, independently deployable service units according to business boundaries, and to complete complex business logic through service registration center coordination. In the bank system, the distributed coordination service zookeeper is commonly used as a service registration center.
[0003] In the prior art, when storing the data of the service registration center, a database is usually used to persistently store the data of the service registration center, and the index and cache functions of the database itself are used to meet the data query requirements.
[0004] However, since the database does not participate in business processing, the synchronization of data is completely completed by the service registration center, so the utilization rate of the database is low, and the database system is in an idle state for a long time. Moreover, the database system may be unavailable due to third-party reasons, which may cause the service of the service registration center to be at risk, and the security is not high. In addition, the database system still needs to be equipped with corresponding operation and maintenance personnel and device resources for maintenance, resulting in waste of resources.
[0005] Therefore, it is necessary to propose a new data storage method for the above problems. SUMMARY
[0006] The embodiments of the present application provide a data storage method, device, electronic equipment and storage medium to improve the security of data storage.
[0007] The specific technical solutions provided by the embodiments of the present application are as follows:
[0008] In a first aspect, a data storage method is provided, comprising:
[0009] receiving a data storage request for a service registration center, and obtaining a set of to-be-stored information corresponding to the service registration center;
[0010] constructing a current prefix tree according to each to-be-stored service code of each to-be-stored service information in the set of to-be-stored information, storing each to-be-stored service information, and storing each to-be-stored service code of each to-be-stored service information and the service component unit to which it belongs in an inverted index, wherein each to-be-stored service information is configuration information of each business operation;
[0011] A hash table is used to store each piece of non-service information contained in the set of information to be stored.
[0012] Secondly, a data storage device is provided, comprising:
[0013] The acquisition module is used to receive data storage requests for the service registry and obtain the set of information to be stored corresponding to the service registry.
[0014] The first storage module is used to construct a current prefix tree for each storage service information contained in the storage information set, according to the storage service code of each storage service information, to store each storage service information, and to store the storage service code of each storage service information and the service component unit to which it belongs in the inverted index. The storage service information is the configuration information of each business operation.
[0015] The second storage module is used to store the various non-service information to be stored in the set of information to be stored using a hash table.
[0016] Optionally, when receiving a data storage request for the service registry and obtaining the set of information to be stored corresponding to the service registry, the acquisition module is also used for:
[0017] When data is first stored in the service registry, an external table is called to obtain the stored information set;
[0018] When the service registry restarts and the local serialized dataset passes the verification, the serialized dataset is used as the storage information set. The serialized dataset is obtained by serializing the historical prefix tree using hierarchical traversal. The verification result is obtained by verifying the serialized dataset based on the operation data corresponding to the last update operation in the update log. The update log records the operation data corresponding to each historical update operation.
[0019] When the service registry restarts and the verification result is unsuccessful, historical information is read from the service registry to obtain the information set to be stored.
[0020] Optionally, when constructing a current prefix tree based on the respective storage service codes of each information to be stored in the information to be stored set, and storing the respective storage service codes and their corresponding service component units in the inverted index, the first storage module is also used for:
[0021] Based on the respective pending storage service codes of each pending storage service information, construct the current prefix tree, and establish the association between the respective pending storage service codes of each pending storage service information and the service component units to which they belong, and store them in the inverted index;
[0022] For each to-be-stored service information in the to-be-stored service information, the following operations are performed respectively:
[0023] In the current prefix tree, the content data of the to-be-stored service information is stored at the leaf node corresponding to the to-be-stored service code of the to-be-stored service information, and the leaf node is pointed to at least one adjacent leaf node using an association pointer, and a position pointer pointing to the position of the to-be-stored service code in the inverted index is stored at the leaf node, wherein the leaf node is a node without child nodes;
[0024] In the current prefix tree, the cumulative count value of the counter corresponding to each of the at least one non-leaf node corresponding to the to-be-stored service code is incremented by 1.
[0025] Optionally, after the current prefix tree is constructed according to the to-be-stored service code of each to-be-stored service information in the to-be-stored information set, each to-be-stored service information is stored, and the to-be-stored service code of each to-be-stored service information and the service component unit to which it belongs are stored in the inverted index, the device further comprises a query module, the query module is configured to:
[0026] Receive a service information query request, the service information query request carrying a query type and a query character of this query;
[0027] When the query type is single query, the matching leaf node in the current prefix tree that matches the query character is queried, and the content data stored in the matching leaf node is obtained;
[0028] When the query type is batch query, the query interval of batch query is obtained, and based on the query character and the query interval, each matching leaf node in the current prefix tree that matches the query character and the query interval is queried, and the content data stored in each matching leaf node is obtained, the query interval being: the number interval of each content data that needs to be displayed in the current display page.
[0029] Optionally, when each leaf node in the current prefix tree that matches the query character and the query interval is queried based on the query character and the query interval, the query module is further configured to:
[0030] Query the matching non-leaf node in the current prefix tree that matches the query character, take the matching non-leaf node as a target node, and obtain a target count value of the counter corresponding to the target node, wherein the target count value represents the total number of each service information stored under the target node;
[0031] When the right boundary value of the query interval is not greater than the target count value, recursive search is performed from the first successor node under the target node to obtain each matching leaf node that matches the query interval;
[0032] When the left boundary value of the query interval is greater than the target count value, the leftmost leaf node of the target node is traversed forward, and the rightmost leaf node of the target node is traversed backward, to obtain each matching leaf node matching the query interval.
[0033] Optionally, the device further comprises an updating module, which is configured to:
[0034] receive an updating request for the to-be-updated service information, and write the current updating operation into an updating log, wherein the updating request carries an updating type of the current updating operation;
[0035] update the to-be-updated service information stored in the service registration center according to the updating type, and update the to-be-updated service information stored in the prefix tree and the inverted index according to the updating log and the updating type.
[0036] Optionally, when the to-be-updated service information stored in the prefix tree and the inverted index is updated according to the log and the updating type, the updating module is further configured to:
[0037] when the updating type is deletion, query the prefix tree according to the to-be-updated service code corresponding to the to-be-updated service information, to obtain a query result of the to-be-updated service information;
[0038] when the query result represents that the to-be-updated service information exists, determine the position of the to-be-updated service code in the inverted index based on the position pointer stored in the leaf node corresponding to the to-be-updated service code in the query result, and delete the to-be-updated service code in the inverted index;
[0039] in the prefix tree, delete the leaf node corresponding to the to-be-updated service code, and for each non-leaf node corresponding to the to-be-updated service code, perform the following operations respectively: reduce the current count value of the counter corresponding to the non-leaf node by 1 to obtain an updated count value, and when the updated count value is 0, empty the non-leaf node.
[0040] In a third aspect, an electronic device is provided, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the steps of the method of any one of the first aspect when executing the program.
[0041] In a fourth aspect, a computer readable storage medium is provided, which stores a computer program, and the computer program is executable on a processor to implement the steps of the method of any one of the first aspect.
[0042] Fifthly, a computer program product is provided, the computer program product comprising a computer program stored in a computer-readable storage medium; when a processor of an electronic device reads the computer program from the computer-readable storage medium, the processor executes the computer program, causing the electronic device to perform the steps of the method described in any of the first aspects above.
[0043] In this embodiment, a data storage request for a service registry is received, the set of information to be stored corresponding to the service registry is obtained, and then the information to be stored in the set of information to be stored is used to construct a current prefix tree according to the storage service code of each information to be stored, and the storage service code of each information to be stored and the service component unit to which it belongs are stored in an inverted index. A hash table is used to store the non-service information to be stored in the set of information to be stored.
[0044] In this way, corresponding data structures are used to store data of different orders of magnitude. In memory, the information to be stored is stored through a prefix tree, the association between storage code and service component units is stored through an inverted index, and the non-service information to be stored is stored through a hash table. This decouples the service registry data persistence from the database, saving certain manpower and hardware costs. When the database fails, operation and maintenance and development work can still be completed, improving the security of data storage. At the same time, improving security saves retrieval time and improves the efficiency of data retrieval. Attached Figure Description
[0045] Figure 1 This is a schematic diagram of the application scenario in the embodiments of this application;
[0046] Figure 2 This is a flowchart illustrating a data storage method according to an embodiment of this application;
[0047] Figure 3 This is a flowchart illustrating the process of storing information for various storage services in this application embodiment;
[0048] Figure 4 This is a first schematic diagram illustrating the construction of the current prefix tree in this application embodiment;
[0049] Figure 5 This is a first schematic diagram illustrating the construction of an inverted index in an embodiment of this application;
[0050] Figure 6 This is a second schematic diagram illustrating the construction of an inverted index in an embodiment of this application;
[0051] Figure 7 This is a second schematic diagram illustrating the construction of the current prefix tree in an embodiment of this application;
[0052] Figure 8 A third schematic diagram for constructing the current prefix tree in the embodiment of the present application;
[0053] Figure 9 An example diagram of the current prefix tree in the embodiment of the present application;
[0054] Figure 10 A flowchart of the process of querying data in the embodiment of the present application;
[0055] Figure 11 A flowchart of the process of batch querying in the embodiment of the present application;
[0056] Figure 12 A first schematic diagram of batch querying in the embodiment of the present application;
[0057] Figure 13 A second schematic diagram of batch querying in the embodiment of the present application;
[0058] Figure 14 A third schematic diagram of batch querying in the embodiment of the present application;
[0059] Figure 15 A flowchart of the process of updating data in the embodiment of the present application;
[0060] Figure 16 A flowchart of the process of deleting the service information to be updated in the embodiment of the present application;
[0061] Figure 17 A schematic diagram of the inverted index after deleting the service code to be updated in the embodiment of the present application;
[0062] Figure 18 A schematic diagram of deleting the service code to be updated in the prefix tree in the embodiment of the present application;
[0063] Figure 19 A structural schematic diagram of the data storage device in the embodiment of the present application;
[0064] Figure 20 A structural schematic diagram of the electronic device in the embodiment of the present application. DETAILED DESCRIPTION
[0065] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, and not all the embodiments. Based on the embodiments in the present application, all the other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.
[0066] To facilitate understanding of the technical solutions provided in the embodiments of this application, some key terms used in the embodiments of this application will be explained below:
[0067] ZooKeeper is a distributed, open-source distributed application coordination service. It is an open-source implementation of Google's distributed file system and a crucial component of distributed system infrastructure and open-source databases. It provides consistency services for distributed applications, offering functionalities such as configuration maintenance, domain name service, distributed synchronization, and group services.
[0068] Prefix tree: also known as a word search tree, is a tree structure and a variant of a hash tree. It has three basic properties: the root node does not contain any characters, and every node except the root node contains only one character; the characters along the path from the root node to a given node, when concatenated, form the string corresponding to that node; and all child nodes of each node contain distinct characters.
[0069] Inverted index: It finds records based on the value of an attribute. Each item includes an attribute value and the address of the records that have that attribute value.
[0070] Hash table: A data structure that allows direct access based on key values.
[0071] Service Information: Service information is the core information of the service registry, and its quantity can reach millions. It includes configuration information for a specific business operation, such as the configuration information for a deposit operation.
[0072] Non-service information: The quantity is generally no more than tens of thousands, including service component unit information, platform information, and service registry configuration information, etc.
[0073] The design concept of the embodiments of this application is briefly introduced below:
[0074] Currently, with the rapid development of enterprise businesses, in order to cope with a large number of complex business processes and massive amounts of business data, more and more systems are adopting distributed architectures. Distributed architecture breaks down large monolithic applications into smaller, independently deployable service units according to business boundaries, and these units collaborate through a service registry to complete complex business logic. In banking systems, ZooKeeper is commonly used as the service registry.
[0075] In existing technologies, databases are typically used to store data in service registries. This allows for persistent storage of the data while leveraging the database's own indexing and caching capabilities to meet data query requirements.
[0076] However, since the database does not participate in business processing, synchronization of data is completely completed by the service registry center, so that the utilization rate of the database is low, and the database system is in an idle state for a long time. Moreover, the database system may be unavailable due to a third party, so that the service of the service registry center is also at risk, the security is not high, and meanwhile, the database system still needs to be equipped with corresponding operation and maintenance personnel and device resources for maintenance, resulting in waste of resources.
[0077] Therefore, in the embodiments of the present application, a data storage method and device, an electronic device and a storage medium are provided. A data storage request for a service registry center is received, a set of to-be-stored information corresponding to the service registry center is obtained, and then each to-be-stored service information included in the set of to-be-stored information is constructed into a prefix tree according to a to-be-stored service code of each to-be-stored service information, each to-be-stored service information is stored, and each to-be-stored service code of each to-be-stored service information and a service component unit to which the to-be-stored service code belongs are stored into an inverted index, and a hash table is used to store each to-be-stored non-service information included in the set of to-be-stored information. In this way, different orders of magnitude of data are stored by using corresponding data structures. The to-be-stored service information is stored in the memory by using the prefix tree, the association between the service code and the service component unit is stored by using the inverted index, and the to-be-stored non-service information is stored by using the hash table. The data persistence of the service registry center is decoupled from the database, certain manpower and hardware costs are saved, operation and development work can still be completed when the database fails, the security of data storage is improved, and while the security is improved, the time complexity is reduced, fast retrieval and fast iteration are realized.
[0078] The preferred embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0079] Referring to Figure 1 FIG. 1 shows a possible application scenario in the embodiments of the present application. In the application scenario, a server 110 and terminal devices 120 (including a terminal device 1201, a terminal device 1202, and a terminal device 120n) are included.
[0080] The server 110 can be a stand-alone 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 distribution networks (CDN), and big data and artificial intelligence platforms, etc. The terminal devices 120 and the server 110 can be connected directly or indirectly through wired or wireless communication, which is not limited in the present application.
[0081] The terminal device 120 includes, but is not limited to, a mobile phone, a tablet computer, a notebook computer, a desktop computer, an electronic book reader, a smart voice interaction device, a smart home appliance, a vehicle-mounted terminal, and the like. Various software, such as an application program and an applet, can be installed on the terminal device.
[0082] It should be noted that, Figure 1 It should be noted that,
[0083] Based on the above embodiment, refer to Figure 2 As shown in the figure, it is a flowchart of a data storage method in the embodiment of the present application, and specifically includes the following steps:
[0084] Step 20: receiving a data storage request for the service registry, and obtaining a set of to-be-stored information corresponding to the service registry.
[0085] In the embodiment of the present application, the server obtains a set of to-be-stored information corresponding to the service registry in response to the data storage request for the service registry.
[0086] There are three ways to obtain the set of to-be-stored information corresponding to the service registry:
[0087] Method one: when storing data in the service registry for the first time, calling an external table to obtain a set of storage information.
[0088] Method two: when the service registry is restarted and the verification result of the local serialized data set is passed, the serialized data set is used as the set of storage information.
[0089] The serialized data set is obtained by serializing the history prefix tree using hierarchical traversal, and the verification result is obtained by verifying the serialized data set based on the operation data corresponding to the last update operation in the update log. The update log records the operation data corresponding to each historical update operation.
[0090] In the embodiment of the present application, when the service registry is restarted, the local serialized data set is verified. If the verification result of the serialized data set is passed, the serialized data set is used as the set of storage information.
[0091] Specifically, when obtaining the verification result of the serialized data set, the operation data corresponding to the last update operation in the update log is compared with the corresponding serialized data in the serialized data set. If they are consistent, it is determined that the verification result of the serialized data set is passed. Otherwise, it is determined that the verification result of the serialized data set is not passed.
[0092] For example, assuming that the operation data corresponding to the last update operation in the update log is to add service information with a service code A10815421, and the corresponding serialized data in the serialized data set saves the service information of A10815421, it is determined that the check result of the serialized data set is passed.
[0093] In this way, as a transaction address information provider in a business process, the service registry center directly affects the success rate of transactions in terms of data accuracy and real-time performance. Therefore, when updating data, the data in the service registry center should be updated first, and if there is inconsistency, the data in the service registry center should be used as the reference. Therefore, each time the data is updated, the operation data corresponding to each update operation is stored in the update log, and then the serialized data set is checked through the update log, thereby improving the accuracy of the stored data.
[0094] Method three: when the service registry center is restarted and the check result is not passed, historical information is read from the service registry center to obtain the to-be-stored information set.
[0095] In the embodiment of the application, when the service registry center is restarted, the local serialized data set is checked. If the check result of the serialized data set is not passed, historical information is read from the service registry center to obtain the to-be-stored information set.
[0096] Step 21: constructing a current prefix tree according to the to-be-stored service codes of the to-be-stored service information in the to-be-stored information set, storing the to-be-stored service information, and storing the to-be-stored service codes of the to-be-stored service information and the service component units to which the to-be-stored service information belongs in the inverted index.
[0097] The to-be-stored service information is configuration information of each business operation. For a bank system, the business operation can be a virtual resource operation such as depositing or transferring, and the configuration information can be calling information, description information, address information, etc. The embodiment of the application does not limit this.
[0098] Specifically, when step 21 is performed, the server specifically performs the following operations. Referring to FIG. 8, which is a flowchart of storing the to-be-stored service information in the embodiment of the application, the following will be described in combination with FIG. 9, which is a schematic diagram of the flowchart of storing the to-be-stored service information in the embodiment of the application. Figure 3 Figure 3 The specific operations performed will be described in detail as follows:
[0099] Step 210: constructing a current prefix tree according to the to-be-stored service codes of the to-be-stored service information, and respectively establishing an association between the to-be-stored service codes of the to-be-stored service information and the service component units to which the to-be-stored service information belongs, and storing the association in the inverted index.
[0100] For example, referring to FIG. 8, the to-be-stored service information in the to-be-stored information set is stored in the service registry center in the form of a prefix tree. Figure 4 As shown in the first schematic diagram for constructing the current prefix tree in the embodiment of the present application, it is assumed that the to-be-stored service codes of the to-be-stored service information each include A10815420, A10815421, A10815422, A1Z54S42Y and A1Z54S42Z. The current prefix tree is constructed, the to-be-stored service codes of the to-be-stored service information each have a common prefix A1, the current prefix tree starts to branch at the third bit of the to-be-stored service code, the first three service codes have a common prefix A1081542, the last character is different, the current prefix tree branches at the leaf node, the last two service codes have a common prefix A1Z54S42, the last character is different, and the current prefix tree branches at the leaf node.
[0101] In the initial construction of the inverted index, the storage structure is in the form of a hash table plus a linked list, the key key of the hash table is the service component unit number, and the value value is the linked list.
[0102] For example, referring to Figure 5 As shown in the first schematic diagram for constructing the inverted index in the embodiment of the present application, it is assumed that the to-be-stored service codes of the to-be-stored service information each include A10815420, A10815421, A10815422, A1Z54S42Y and A1Z54S42Z, the service component units to which A10815420, A10815421 and A10815422 belong are A1081, and the service component units to which A1Z54S42Z and A10815420 belong are A1Z54. In the hash table, the value associated with the key A1081 is the linked list of A10815420, A10815421 and A10815422, and the value associated with the key A1Z54 is the linked list of A1Z54S42Z and A10815420.
[0103] Since the service registry center is a read-mostly system, after the construction of the inverted index is completed, the linked list can be converted into an array in order to speed up the query.
[0104] For example, referring to Figure 6 As shown in the second schematic diagram for constructing the inverted index in the embodiment of the present application, the value associated with the key A1081 in the hash table is converted into [A10815420, A10815421, A10815422], and the value associated with the key A1Z54 is converted into [A1Z54S42Z, A10815420].
[0105] For each to-be-stored service information in the to-be-stored service information, the following operations are respectively performed:
[0106] Step 211: In the current prefix tree, the content data of the information to be stored is stored at the leaf node corresponding to the code of the information to be stored, and the leaf node is pointed to at least one adjacent leaf node using an associated pointer. Additionally, a position pointer pointing to the location of the code of the information to be stored in the inverted index is stored at the leaf node.
[0107] Leaf nodes are nodes that have no child nodes.
[0108] For example, see Figure 7 The diagram shown is a second schematic diagram of constructing the current prefix tree in this embodiment of the application. In the current prefix tree, the content data of the storage information to be stored is stored at the leaf node corresponding to the storage code A10815421 of the storage information to be stored. An associated pointer is used to point the leaf node corresponding to A10815421 to the adjacent leaf nodes A10815420 and A10815422. The leaf node corresponding to A10815421 stores a position pointer pointing to the position of the storage code A10815421 in the inverted index.
[0109] By leveraging the properties of the prefix tree, adding a counter to each non-leaf node, and using associative pointers to connect all leaf nodes to form a doubly linked acyclic list, fast pagination queries can be achieved.
[0110] Step 212: Increment the cumulative count value of the counter corresponding to at least one non-leaf node for the storage code to be stored in the current prefix tree by 1.
[0111] For example, see Figure 8 As shown, this is a third schematic diagram of constructing the current prefix tree in an embodiment of this application. In the current prefix tree, the cumulative count value of the counter corresponding to at least one non-leaf node that stores the storage code A10815421 is incremented by 1. The cumulative count value of the counter corresponding to node A is 2233+1=2234.
[0112] In this embodiment of the application, after all the storage codes to be stored are added to the prefix tree, the cumulative count value on each non-leaf node represents the number of service codes under that non-leaf node.
[0113] Furthermore, after constructing the current prefix tree and storing the information to be stored, a level-order traversal is required to serialize the current prefix tree and obtain serialized data.
[0114] For example, see Figure 9The diagram shown is an example of the current prefix tree in this embodiment. The letter of the example node represents all the service information contained in that example node. The total number of child nodes of each example node does not exceed 3, and the edge values are 0, 1, and 2 from left to right. The current prefix tree is serialized. During serialization, if the number of child nodes of an example node is less than 3, the edge value of the child node that the example node does not have is written and recorded as NULL. For example, if node B has no child node with an edge value of 1, when the level traversal reaches each child node of node B, the recorded information is: E, NULL, F. The serialized data corresponding to the current prefix tree is: [A, B, C, D, E, NULL, F, NULL, G, NULL, H, I, J, NULL, NULL, NULL, NULL, NULL, NULL, K, L].
[0115] In this way, serialized data is obtained and persisted to disk, preventing data loss due to system failures and improving data storage security.
[0116] Step 22: Use a hash table to store each piece of non-service information contained in the set of information to be stored.
[0117] In this embodiment of the application, a hash table is used to store each piece of non-service information to be stored in the set of information to be stored. The key of the hash table is the information identifier, and the value is the information content.
[0118] In this way, for low-volume non-service information, the corresponding information can be quickly retrieved based on the key, or the information can be retrieved by traversing the hash table.
[0119] Furthermore, after storing the information to be stored, the data will be queried, and the server will perform the following operations. See also... Figure 10 As shown, it is a flowchart illustrating the data query process in an embodiment of this application. The following is a detailed explanation in conjunction with the attached diagram. Figure 10 The specific operations to be performed will be explained in detail:
[0120] Step 1001: Receive service information query request.
[0121] The service information query request includes the query type and query characters.
[0122] In this embodiment of the application, in response to the query request of the terminal device, the query character input by the query object is obtained. When the query character is a clear character, the query type is determined to be a single query. When the query character is an ambiguous character, the query type is determined to be a batch query.
[0123] Step 1002: Use the query method corresponding to the query type to obtain the content data of this query.
[0124] Specifically, the following two query modes are included:
[0125] Mode one: when the query type is single query, a matching leaf node matching the query character in the current prefix tree is queried, and the content data stored in the matching leaf node is obtained.
[0126] In the embodiment of the application, when the query type is single query, the root node of the current prefix tree is searched, and the successor node of the root node matching the query character is found in turn. When there is no matching leaf node, the query character does not exist, and a prompt message is returned. When there is a matching leaf node, the query character exists, and the content data stored in the matching leaf node is returned.
[0127] For example, when the query character is A10815421, the root node is searched, and the A branch under the root node is found, then the 1 branch under the A branch is found, and then the 0 branch under the 1 branch is found, and so on, until the leaf node corresponding to A10815421 is found.
[0128] Mode two: when the query type is batch query, the query interval of batch query is obtained, and based on the query character and the query interval, each matching leaf node in the current prefix tree matching the query character and the query interval is queried, and the content data stored in each matching leaf node is obtained.
[0129] The query interval is: the number interval of each content data to be displayed in the current display page.
[0130] Specifically, when each matching leaf node in the current prefix tree matching the query character and the query interval is queried based on the query character and the query interval, the server specifically performs the following operations. Referring to Figure 11 , which is a flowchart of batch query in the embodiment of the application. The following will be described in detail with reference to the accompanying Figure 11 , which is a flowchart of batch query in the embodiment of the application. The following will be described in detail with reference to the accompanying
[0131] Step 1101: query the matching non-leaf node matching the query character in the current prefix tree, take the matching non-leaf node as the target node, and obtain the target counting value of the counter corresponding to the target node.
[0132] In the embodiment of the application, the root node of the current prefix tree is searched, and the non-leaf node matching the query character under the root node is found in turn. The matching non-leaf node is taken as the target node, and the target counting value of the counter corresponding to the target node is obtained.
[0133] For example, referring to Figure 12As shown, it is the first schematic diagram of batch query in the embodiment of the present application, assuming that the query character is A1, the matching non-leaf node matching the query character in the current prefix tree is node A1, node A1 is taken as the target node, and the target counting value of the counter corresponding to the target node is 482.
[0134] The target counting value represents the total number of service information stored under the target node.
[0135] Step 1102: Based on the right boundary value and the left boundary value of the query interval, and the size of the target counting value, the corresponding sub-query mode is used to obtain each matching leaf node matching the query interval.
[0136] Specifically, the sub-query mode includes the following three modes:
[0137] Mode one: when the right boundary value of the query interval is not greater than the target counting value, the first successor node under the target node is recursively searched to obtain each matching leaf node matching the query interval.
[0138] For example, assuming that the number of pages displayed is 10, the query character is A1, the query interval is the service information of the 11th-20th, the target counting value is 482, and the first successor node is node A10, the right boundary value 20 of the query interval is not greater than the target counting value 482, and the recursive search is started from node A10 to obtain each matching leaf node matching the query interval.
[0139] Specifically, it is judged whether the sub-target counting value of the counter corresponding to the first successor node under the target node is greater than the right boundary value, and when the sub-target counting value is greater than the right boundary value, the recursive search is started from the successor node under the first successor node to obtain each matching leaf node matching the query interval.
[0140] For example, as shown in the figure, Figure 12 assuming that the query character is A1, the query interval is the service information of the 11th-20th, the target counting value is 482, the first successor node is node A10, node A10 is taken as the sub-target node, the sub-target counting value of the counter corresponding to node A10 is 61, and the sub-target counting value 61 is greater than the right boundary value 20, so the recursive search is directly started from the successor node under node A10 to obtain each matching leaf node matching the query interval.
[0141] For another example, refer to Figure 13As shown in Fig. 3, which is a second schematic diagram of batch query in the embodiment of the present application, it is assumed that the query character is A1, the query interval is the service information of the 61st-70th, the target count value is 482, the first successor node of the target node is node A10, the sub-target count value of the counter corresponding to node A10 is 61, and the sub-target count value of the counter corresponding to node A11 is 38. Therefore, the last leaf node is found in the successor nodes under node A10, and the 1st-9th leaf nodes are recursively found in the successor nodes under node A11, so as to obtain each matching leaf node matching the query interval.
[0142] Method two: when the left boundary value of the query interval is greater than the target count value, the leftmost leaf node of the target node is traversed forward, and the rightmost leaf node of the target node is traversed backward, so as to obtain each matching leaf node matching the query interval.
[0143] In the embodiment of the present application, when the left boundary value of the query interval is greater than the target count value, the leftmost leaf node of the target node can be traversed forward first, and if each matching leaf node matching the query interval is not obtained, the rightmost leaf node of the target node is traversed backward, so as to obtain each matching leaf node matching the query interval. Alternatively, the rightmost leaf node of the target node can be traversed backward first, and if each matching leaf node matching the query interval is not obtained, the leftmost leaf node of the target node is traversed forward, so as to obtain each matching leaf node matching the query interval.
[0144] For example, refer to Figure 14 As shown in Fig. 4, which is a third schematic diagram of batch query in the embodiment of the present application, it is assumed that the query character is A1, the query interval is the service information of the 490th-500th, the target count value is 482, the leftmost leaf node of the target node is node A10815420, and the rightmost leaf node of the target node is node A1Z54S42Z. Since the left boundary value 490 of the query interval is greater than the target count value 482, the node A10815420 is traversed forward, and the node A1Z54S42Z is traversed backward, so as to obtain each matching leaf node matching the query interval.
[0145] In addition, it is worth mentioning that when the query character is a suffix or an intermediate character, the right boundary value of the query interval can be greater than the target count value.
[0146] Method three: when the left boundary value is not greater than the target count value, and the right boundary value is greater than the target count value, the query interval is segmented according to the target count value to obtain a first sub-interval and a second sub-interval, the first sub-interval is queried according to method one to obtain each matching leaf node matching the first sub-interval, and the second sub-interval is queried according to method two to obtain each matching leaf node matching the second sub-interval.
[0147] For example, assuming that the query character is A1, the query interval is the service information of the 481st-490th, and the target count value is 482, the left boundary value 481 is not greater than the target count value 482, and the right boundary value 490 is greater than the target count value 482. The query interval is segmented according to the target count value 482 to obtain the first sub-interval of the service information of the 481st-482nd and the second sub-interval of the service information of the 483rd-490th. The first sub-interval is queried according to mode one to obtain each matching leaf node matched with the first sub-interval, and the second sub-interval is queried according to mode two to obtain each matching leaf node matched with the second sub-interval.
[0148] In this way, by comparing the right boundary value and the left boundary value of the query interval and the size of the target count value, the time complexity is reduced, the retrieval time is saved, and fast retrieval is realized.
[0149] Further, after storing the information to be stored, the data is updated, and the server specifically performs the following operations. Referring to Figure 15 Fig. 2 is a flow diagram of updating data in an embodiment of the present application, and the following will be combined with the accompanying Figure 15 The specific operations performed will be described in detail:
[0150] Step 1501: receiving an update request for the service information to be updated, and writing the current update operation into the update log.
[0151] The update request carries the update type of the current update operation.
[0152] In the embodiment of the present application, the server receives an update request for the service information to be updated, obtains the update type of the current update operation, and writes the current update operation into the update log.
[0153] In addition, it should be noted that the update type can be deleting service information, modifying service information, and adding service information.
[0154] Step 1502: updating the service information to be updated stored in the service registry center according to the update type, and updating the service information to be updated stored in the prefix tree and the inverted index according to the update log and the update type.
[0155] In the embodiment of the present application, after writing the current update operation into the update log, the service information to be updated stored in the service registry center is updated, and the service information to be updated stored in the prefix tree and the inverted index is updated.
[0156] For example, assuming that the current update operation is to add service information with service code A10815423, the service information with service code A10815423 is stored in the service registry center, the service code A10815423 and the service information thereof are added in the prefix tree, and the service code A10815423 is added in the inverted index.
[0157] In this way, the data of the service registry center is unified with the data of the prefix tree and the inverted index through the update log, and data consistency is achieved.
[0158] Specifically, when the update type is deletion, the service information to be updated stored in the prefix tree and the inverted index is updated according to the update log and the update type. The server specifically performs the following operations. Referring to Figure 16 , which is a flowchart for deleting service information to be updated in the embodiment of the present application. The following will be described in combination with the accompanying Figure 16 The specific operations performed will be described in detail.
[0159] Step 1502-1: When the update type is deletion, the prefix tree is queried according to the service code corresponding to the service information to be updated, and the query result of the service information to be updated is obtained.
[0160] In the embodiment of the present application, it is determined whether the update type is deletion. When the update type is deletion, the prefix tree is queried according to the service code corresponding to the service information to be updated. If the service code to be updated is queried, it is determined that the service information to be updated exists, and the leaf node corresponding to the service code to be updated is recorded. If the service code to be updated is not queried, it is determined that the service information to be updated does not exist.
[0161] Step 1502-2: When the query result indicates that the service information to be updated exists, the position of the service code to be updated in the inverted index is determined based on the position pointer stored in the leaf node corresponding to the service code to be updated in the query result, and the service code to be updated in the inverted index is deleted.
[0162] In the embodiment of the present application, it is determined whether the query result indicates that the service information to be updated exists. When the query result indicates that the service information to be updated exists, the position of the service code to be updated in the inverted index is determined based on the position pointer stored in the leaf node corresponding to the service code to be updated in the query result, and the service code to be updated in the inverted index with the value of the linked list is deleted, and the service code to be updated in the inverted index with the value of the array is also deleted.
[0163] For example, referring to Figure 17As shown in the figure, the service code to be updated is A10815421, and it is determined that the service component unit to which the service code to be updated belongs in the inverted index is A1081. The A10815421 in the inverted index with the value of the linked list is deleted, and the A10815421 in the inverted index with the value of the array is also deleted.
[0164] Step 1502-3: In the prefix tree, the leaf node corresponding to the service code to be updated is deleted, and for each non-leaf node in the at least one non-leaf node corresponding to the service code to be updated, the following operations are respectively performed: the current count value of the counter corresponding to the non-leaf node is reduced by 1 to obtain an updated count value, and when the updated count value is 0, the non-leaf node is emptied.
[0165] For example, referring to Figure 18 As shown in the figure, the service code to be updated is A10815421, and the leaf node corresponding to the service code to be updated A10815421 is node A10815421. The at least one non-leaf node corresponding to the service code to be updated A10815421 is respectively: root node, node A, node A1, node A10, node A108, node A1081, node A10815, node A108154, and node A1081542. The current count values of the at least one non-leaf node corresponding to the service code to be updated A10815421 are respectively 16346, 2234, 482, 61, 30, 20, 10, and 1. Node A10815421 is deleted, the current count values of the counters corresponding to the non-leaf nodes are reduced by 1 to obtain the updated count values of the counters corresponding to the non-leaf nodes, which are respectively 16345, 2233, 481, 60, 29, 19, 9, and 0, and node A1081542 is emptied.
[0166] Based on the same inventive concept, the data storage device is also provided in the embodiments of the present application. Referring to Figure 19 As shown in the figure, the structure of the data storage device in the embodiments of the present application includes:
[0167] The acquisition module 1901 is configured to receive a data storage request for a service registry center, and acquire a set of information to be stored corresponding to the service registry center.
[0168] The first storage module 1902 is used to construct a current prefix tree for each storage service information contained in the storage information set, according to the storage service code of each storage service information, to store each storage service information, and to store the storage service code of each storage service information and the service component unit to which it belongs in the inverted index. The storage service information is the configuration information of each business operation.
[0169] The second storage module 1903 is used to store the non-service information to be stored in the set of information to be stored using a hash table.
[0170] Optionally, when receiving a data storage request for the service registry and obtaining the set of information to be stored corresponding to the service registry, the acquisition module 1901 is further configured to:
[0171] When data is first stored in the service registry, an external table is called to obtain the stored information set;
[0172] When the service registry restarts and the local serialized dataset passes the verification, the serialized dataset is used as the storage information set. The serialized dataset is obtained by serializing the historical prefix tree using hierarchical traversal. The verification result is obtained by verifying the serialized dataset based on the operation data corresponding to the last update operation in the update log. The update log records the operation data corresponding to each historical update operation.
[0173] When the service registry restarts and the verification result is unsuccessful, historical information is read from the service registry to obtain the information set to be stored.
[0174] Optionally, when constructing a current prefix tree based on the respective storage service codes of each storage service information contained in the storage information set, storing each storage service information, and storing the respective storage service codes and their corresponding service component units in the inverted index, the first storage module 1902 is also used for:
[0175] Based on the respective pending storage service codes of each pending storage service information, construct the current prefix tree, and establish the association between the respective pending storage service codes of each pending storage service information and the service component units to which they belong, and store them in the inverted index;
[0176] For each piece of information in the pending storage service information, perform the following operations:
[0177] In the current prefix tree, the content data of the to-be-stored service information is stored at the leaf node corresponding to the to-be-stored service code of the to-be-stored service information, and an association pointer is used to point the leaf node to at least one adjacent leaf node, and a position pointer pointing to the position of the to-be-stored service code in the inverted index is stored at the leaf node, wherein the leaf node is a node without child nodes;
[0178] In the current prefix tree, the cumulative count value of the counter corresponding to each of the at least one non-leaf node corresponding to the to-be-stored service code is incremented by 1.
[0179] Optionally, after the current prefix tree is constructed according to the to-be-stored service code of each to-be-stored service information included in the to-be-stored information set, each to-be-stored service information is stored, and the to-be-stored service code of each to-be-stored service information and the service component unit to which the to-be-stored service information belongs are stored in the inverted index, the apparatus further comprises a query module 1904, which is configured to:
[0180] receive a service information query request, wherein the service information query request carries a query type and a query character of the current query;
[0181] When the query type is single query, the matching leaf node matching the query character in the current prefix tree is queried, and the content data stored in the matching leaf node is obtained;
[0182] When the query type is batch query, the query interval of the batch query is obtained, and based on the query character and the query interval, each matching leaf node matching the query character and the query interval in the current prefix tree is queried, and the content data stored in each matching leaf node is obtained, wherein the query interval is the number interval of the content data to be displayed in the current display page.
[0183] Optionally, when each leaf node matching the query character and the query interval in the current prefix tree is queried based on the query character and the query interval, the query module 1904 is further configured to:
[0184] query the matching non-leaf node matching the query character in the current prefix tree, take the matching non-leaf node as a target node, and obtain a target count value of the counter corresponding to the target node, wherein the target count value represents the total number of service information stored under the target node;
[0185] When the right boundary value of the query interval is not greater than the target count value, the first successor node under the target node is recursively searched to obtain each matching leaf node matching the query interval;
[0186] When the left boundary value of the query interval is greater than the target count value, the leftmost leaf node of the target node is traversed forward and the rightmost leaf node of the target node is traversed backward to obtain each matching leaf node matching the query interval.
[0187] Optionally, the device further comprises an updating module 1905, configured to:
[0188] receive an updating request for the to-be-updated service information, and write the current updating operation into an updating log, wherein the updating request carries an updating type of the current updating operation;
[0189] update the to-be-updated service information stored in the service registry center according to the updating type, and update the to-be-updated service information stored in the prefix tree and the inverted index according to the updating log and the updating type.
[0190] Optionally, when the to-be-updated service information stored in the prefix tree and the inverted index is updated according to the log and the updating type, the updating module 1905 is further configured to:
[0191] when the updating type is deletion, query the prefix tree according to the to-be-updated service code corresponding to the to-be-updated service information to obtain a query result of the to-be-updated service information;
[0192] when the query result represents that the to-be-updated service information exists, determine the position of the to-be-updated service code in the inverted index based on the position pointer stored in the leaf node corresponding to the to-be-updated service code in the query result, and delete the to-be-updated service code in the inverted index;
[0193] in the prefix tree, delete the leaf node corresponding to the to-be-updated service code, and for each non-leaf node corresponding to the to-be-updated service code, perform the following operations respectively: reduce the current count value of the non-leaf node by 1 to obtain an updated count value, and when the updated count value is 0, empty the non-leaf node.
[0194] Based on the above embodiments, refer to Figure 20 FIG. 1 shows a structural schematic diagram of an electronic device according to an embodiment of the present application.
[0195] The electronic device can include a processor 2010 (Center Processing Unit, CPU), a memory 2020, an input device 2030, and an output device 2040, etc. The input device 2030 can include a keyboard, a mouse, a touch screen, etc. The output device 2040 can include a display device, such as a Liquid Crystal Display (LCD), a Cathode Ray Tube (CRT), etc.
[0196] The memory 2020 can include a Read-Only Memory (ROM) and a Random Access Memory (RAM), and provide the processor 2010 with program instructions and data stored in the memory 2020. In the embodiments of the present application, the memory 2020 can be used to store the programs of any of the data storage methods in the embodiments of the present application.
[0197] The processor 2010 calls the program instructions stored in the memory 2020, and the processor 2010 is used to execute any of the data storage methods in the embodiments of the present application according to the obtained program instructions.
[0198] Based on the above embodiments, in the embodiments of the present application, a computer readable storage medium is provided, and the computer readable storage medium stores a computer program. The computer program is executed by a processor to implement the data storage method in any of the method embodiments.
[0199] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can be in the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can be in the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.
[0200] The present application is described with reference to flowcharts and / or block diagrams according to the methods, devices (systems), and computer program products of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of flows and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to produce a machine, so that the instructions executed by the computer or other programmable data processing devices produce a device that implements the functions specified in the flowcharts and / or block diagrams. Figure 1 The functions specified in one flow or multiple flows and / or blocks Figure 1 The device that implements the functions specified in one flow or multiple flows and / or blocks.
[0201] These computer program instructions can also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the Figure 1 function specified in the flow or flows and / or blocks Figure 1 of the block or blocks.
[0202] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that are executed on the computer or other programmable apparatus provide steps for implementing the Figure 1 function specified in the flow or flows and / or blocks Figure 1 of the block or blocks.
[0203] Obviously, numerous modifications and variations of the present application are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims and their equivalents, the application can be practiced otherwise than as specifically described.
Claims
1. A data storage method, characterized in that, include: Receive a data storage request for the service registry center and obtain the set of information to be stored corresponding to the service registry center; The current prefix tree is constructed according to the storage service code of each storage service information contained in the storage information set to be stored, and the storage service code of each storage service information to be stored and associated with the service component unit to which it belongs are established and stored in the inverted index. For each piece of information regarding storage services to be stored, perform the following operations: In the current prefix tree, the content data of the storage information to be stored is stored at the leaf node corresponding to the storage code of the storage information to be stored, and the leaf node is pointed to at least one adjacent leaf node using an association pointer. The leaf node is also stored at the leaf node as a position pointer pointing to the position of the storage code of the storage information to be stored in the inverted index. The leaf node is a node without child nodes. In the current prefix tree, the cumulative count value of the counter corresponding to at least one non-leaf node corresponding to the storage code to be stored is incremented by 1, wherein the storage information to be stored is the configuration information of each business operation; A hash table is used to store each piece of non-service information contained in the set of information to be stored, wherein each piece of non-service information to be stored is non-configuration information of each business operation.
2. The method as described in claim 1, characterized in that, The step of receiving a data storage request for a service registry and obtaining the set of information to be stored corresponding to the service registry includes: When data is first stored in the service registry, an external table is invoked to obtain the stored information set; When the service registry restarts and the verification result of the local serialized dataset is passed, the serialized dataset is used as the storage information set. The serialized dataset is obtained by serializing the historical prefix tree using hierarchical traversal. The verification result is obtained by verifying the serialized dataset based on the operation data corresponding to the last update operation in the update log. The update log records the operation data corresponding to each historical update operation. When the service registry restarts and the verification result is unsuccessful, historical information is read from the service registry to obtain the set of information to be stored.
3. The method as described in claim 1, characterized in that, The step of constructing a current prefix tree based on the respective storage service codes of each storage service information contained in the storage service information set, storing the storage service information, and storing the respective storage service codes and their corresponding service component units in an inverted index, further includes: Receive a service information query request, wherein the service information query request carries the query type and query characters for this query; When the query type is a single query, query the matching leaf node in the current prefix tree that matches the query character, and obtain the content data stored in the matching leaf node; When the query type is a batch query, the query range of the batch query is obtained, and based on the query character and the query range, each matching leaf node in the current prefix tree that matches the query character and the query range is queried, and the content data stored in each matching leaf node is obtained. The query range is the range of the number of content data that the current display page needs to display.
4. The method as described in claim 3, characterized in that, The step of querying each leaf node in the current prefix tree that matches the query character and the query range based on the query character and the query range includes: Query the non-leaf nodes in the current prefix tree that match the query character, take the non-leaf nodes as target nodes, and obtain the target count value of the counter corresponding to the target node, wherein the target count value represents the total number of service information items stored under the target node; When the right boundary value of the query interval is not greater than the target count value, a recursive search is performed from the first successor node under the target node to obtain each matching leaf node that matches the query interval. When the left boundary value of the query interval is greater than the target count value, the system traverses backward from the leftmost leaf node of the target node and backward from the rightmost leaf node of the target node to obtain each matching leaf node that matches the query interval.
5. The method as described in claim 1, characterized in that, The step of constructing a prefix tree for each storage service information contained in the storage information set according to its respective storage service code, storing the storage service information, and storing the storage service code and its corresponding service component unit in an inverted index for each storage service information further includes: Receive an update request for service information to be updated, and write the update operation to the update log, wherein the update request carries the update type of the update operation. According to the update type, update the service information to be updated stored in the service registry, and according to the update log and the update type, update the service information to be updated stored in the prefix tree and the inverted index.
6. The method as described in claim 5, characterized in that, The step of updating the service information to be updated stored in the prefix tree and the inverted index according to the log and the update type includes: When the update type is deletion, the prefix tree is queried according to the service code to be updated corresponding to the service information to be updated, and the query result of the service information to be updated is obtained; When the query result indicates that the service information to be updated exists, the position of the service code to be updated in the inverted index is determined based on the position pointer stored in the leaf node corresponding to the service code to be updated in the query result, and the service code to be updated in the inverted index is deleted. In the prefix tree, delete the leaf node corresponding to the service code to be updated, and for each non-leaf node among at least one non-leaf node corresponding to the service code to be updated, perform the following operations respectively: decrement the current count value of the counter corresponding to the non-leaf node by 1 to obtain the update count value, and when the update count value is 0, set the non-leaf node to null.
7. A data storage device, characterized in that, include: The acquisition module is used to receive data storage requests for the service registry center and acquire the set of information to be stored corresponding to the service registry center. The first storage module is used to construct a current prefix tree for each storage service information contained in the storage information set, according to the storage service code of each storage service information, and to establish an association between the storage service code of each storage service information and the service component unit to which it belongs, and store them in the inverted index. For each piece of pending storage service information, the following operations are performed: In the current prefix tree, the content data of the pending storage service information is stored at the leaf node corresponding to the pending storage service code of the pending storage service information, and an associated pointer is used to point the leaf node to at least one adjacent leaf node. Additionally, a position pointer pointing to the position of the pending storage service code in the inverted index is stored at the leaf node, where the leaf node is a node without child nodes. The cumulative count value of the counter corresponding to at least one non-leaf node corresponding to the pending storage service code in the current prefix tree is incremented by 1, where each piece of pending storage service information is the configuration information for each business operation. The second storage module is used to store each non-service information to be stored in the set of information to be stored using a hash table, wherein each non-service information to be stored is non-configuration information of each business operation.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the method according to any one of claims 1-6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1-6.
10. A computer program product, characterized in that, The method includes a computer program stored in a computer-readable storage medium; when a processor of an electronic device reads the computer program from the computer-readable storage medium, the processor executes the computer program, causing the electronic device to perform the steps of the method according to any one of claims 1-6.
Citation Information
Patent Citations
Data processing method and device, data query method and device
CN106970936A
Information search method and device, terminal and storage medium
CN110399568A