Disclosure of Invention
In view of the foregoing, it is desirable to provide a distributed RDF data query method, apparatus, computer device, computer readable storage medium and computer program product that can improve data query efficiency.
In a first aspect, the present application provides a distributed RDF data query method. The method comprises the following steps:
obtaining an RDF data set and an SPARQL query statement;
Dividing the RDF data set into corresponding child nodes according to the constructed consistency hash ring, wherein the consistency hash ring comprises the mapping relation between hash values of RDF data theme values and virtual node positions of the child nodes;
according to the mapping relation, sub-query sentences in the SPARQL query sentences are respectively sent to corresponding sub-nodes according to the query data processing priority;
And receiving the query results fed back by the child nodes, and performing intersection operation on the query results to obtain target query results.
In one embodiment, before dividing the RDF dataset into the corresponding child nodes according to the constructed consistent hash ring, the method further comprises:
Encoding the RDF data set to obtain an encoded RDF data set and a bidirectional dictionary;
Partitioning the RDF dataset to corresponding child nodes according to the constructed consistent hash ring includes:
And dividing the encoded RDF data set to corresponding child nodes according to the constructed consistency hash ring.
In one embodiment, before the sub-query statements in the SPARQL query statement are respectively sent to the corresponding sub-nodes according to the mapping relationship and the preset query data processing priority, the method further includes:
according to the bidirectional dictionary, encoding the SPARQL query statement to obtain an encoded SPARQL query statement;
according to the mapping relation, the step of respectively sending the sub-query sentences in the SPARQL query sentences to the corresponding sub-nodes according to the query data processing priority comprises the following steps:
And respectively transmitting sub-query sentences in the encoded SPARQL query sentences to corresponding sub-nodes according to the query data processing priority according to the mapping relation.
In one embodiment, partitioning the RDF dataset into corresponding child nodes according to the constructed consistent hash ring includes:
Performing hash calculation on the topic values of all RDF data in the RDF data set to obtain hash values of the topic values;
searching a virtual node position corresponding to the hash value of the theme value on the consistency hash ring;
each RDF data is sent to a child node corresponding to the virtual node location.
In one embodiment, according to the mapping relationship, sending the sub-query statements in the SPARQL query statement to the corresponding sub-nodes according to the query data processing priority includes:
sequencing SPARQL query sentences according to a preset query data processing priority to obtain sequenced SPARQL query sentences;
and sending the ordered SPARQL query statement to the corresponding child node according to the mapping relation.
In one embodiment, the consistent hash ring is constructed based on the following:
distributing a preset number of virtual nodes for each child node;
and obtaining the position of each virtual node by using a hash algorithm to obtain a consistent hash ring.
In a second aspect, the application further provides a distributed RDF data query device. The device comprises:
the data acquisition module is used for acquiring an RDF data set and an SPARQL query statement;
The data dividing module is used for dividing the RDF data set to corresponding child nodes according to the constructed consistency hash ring, wherein the consistency hash ring comprises the mapping relation between hash values of RDF data theme values and virtual node positions of the child nodes;
The query statement sending module is used for respectively sending sub-query statements in the SPARQL query statements to corresponding sub-nodes according to the query data processing priority according to the mapping relation;
and the query result processing module is used for receiving the query results fed back by the child nodes and performing intersection operation on the query results to obtain target query results.
In a third aspect, the present application also provides a computer device. The computer device comprises a memory storing a computer program and a processor which when executing the computer program performs the steps of:
obtaining an RDF data set and an SPARQL query statement;
Dividing the RDF data set into corresponding child nodes according to the constructed consistency hash ring, wherein the consistency hash ring comprises the mapping relation between hash values of RDF data theme values and virtual node positions of the child nodes;
according to the mapping relation, sub-query sentences in the SPARQL query sentences are respectively sent to corresponding sub-nodes according to the query data processing priority;
And receiving the query results fed back by the child nodes, and performing intersection operation on the query results to obtain target query results.
In a fourth aspect, the present application also provides a computer-readable storage medium. The computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
obtaining an RDF data set and an SPARQL query statement;
Dividing the RDF data set into corresponding child nodes according to the constructed consistency hash ring, wherein the consistency hash ring comprises the mapping relation between hash values of RDF data theme values and virtual node positions of the child nodes;
according to the mapping relation, sub-query sentences in the SPARQL query sentences are respectively sent to corresponding sub-nodes according to the query data processing priority;
And receiving the query results fed back by the child nodes, and performing intersection operation on the query results to obtain target query results.
In a fifth aspect, the present application also provides a computer program product. The computer program product comprises a computer program which, when executed by a processor, implements the steps of:
obtaining an RDF data set and an SPARQL query statement;
Dividing the RDF data set into corresponding child nodes according to the constructed consistency hash ring, wherein the consistency hash ring comprises the mapping relation between hash values of RDF data theme values and virtual node positions of the child nodes;
according to the mapping relation, sub-query sentences in the SPARQL query sentences are respectively sent to corresponding sub-nodes according to the query data processing priority;
And receiving the query results fed back by the child nodes, and performing intersection operation on the query results to obtain target query results.
According to the distributed RDF data query method, the device, the computer equipment, the storage medium and the computer program product, according to the consistency hash ring comprising the mapping relation between the hash value of each RDF data theme value and the virtual node position of each sub-node, the RDF data set is divided into the corresponding sub-nodes, the RDF data with the same theme value can be divided into the same nodes, so that the data of each node is divided uniformly, the problems of overlarge data partition cost and uneven load can be effectively solved, and further, the sub-query sentences in the SPARQL query sentences are respectively sent to the corresponding sub-nodes according to the query data processing priority according to the mapping relation, SPARQL query can be optimized, query data are distributed to each node for distributed execution, and the data query speed is effectively improved.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
The distributed RDF data query method provided by the embodiment of the application can be applied to an application environment shown in figure 1. Wherein a master node 102 communicates with child nodes (also referred to as working nodes) 104 via a network. The data storage system may store data that the master node 102 needs to process. The data storage system may be integrated on the host node 102 or may be located on a cloud or other network server. Specifically, a worker inputs an RDF data set and a SPARQL query statement to the master node 102, sends a data processing instruction to the master node 102, the master node 102 responds to the instruction, obtains the RDF data set and the SPARQL query statement, and divides the RDF data set to corresponding sub-nodes according to a constructed consistency hash ring, wherein the consistency hash ring includes mapping relations between hash values of theme values of the RDF data and virtual node positions of the sub-nodes, and then sends the sub-query statement in the SPARQL query statement to the corresponding sub-nodes according to query data processing priorities, receives query results fed back by the sub-nodes, and performs intersection operation on the query results to obtain target query results, wherein the query results are obtained by the sub-nodes according to query results obtained by dividing the received sub-query statement, and the master node 102 and the sub-nodes 104 can be, but are not limited to, various personal computers, notebook computers, intelligent mobile phones, tablet computers, internet of things devices and portable wearable devices, and internet of things devices, and intelligent air conditioning devices. The portable wearable device may be a smart watch, smart bracelet, headset, or the like.
In one embodiment, as shown in fig. 2, a distributed RDF data query method is provided, and the method is applied to the master node 102 in fig. 1 for illustration, and includes the following steps:
step 202, an RDF dataset and a SPARQL query statement are obtained.
The RDF dataset is a set that includes a plurality of RDF triples, each RDF triplet including a subject value, an attribute value, and an object value. SPARQL query statements are data sets comprising a plurality of sub-SPARQL query statements, wherein each SPARQL query statement also exists in the form of a triplet.
As shown in fig. 3, in one embodiment, before step 204, the method further includes: and 203, encoding the RDF data set to obtain an encoded RDF data set and a bidirectional dictionary.
In practical applications, data storage and data transmission require significant overhead due to the large data size of the RDF data set and the large data length of the individual RDF data. To solve this problem, in this embodiment, edge data of vertices of each RDF triplet may be encoded, where the encoding starts from 0, each encoding corresponds to one data, and finally a corresponding vertex dictionary and edge dictionary, that is, a bi-directional dictionary, and an RDF dataset after encoding are obtained. Wherein it may be an attribute value for a triplet. And independently constructing a two-way dictionary, and constructing the two-way dictionary aiming at the theme value and the object value of the triplet. In this embodiment, the long character string can be encoded into the number by performing encoding processing on the RDF data set, so that the overhead of storage can be effectively reduced.
And 204, dividing the RDF data set to corresponding child nodes according to the constructed consistency hash ring, wherein the consistency hash ring comprises the mapping relation between the hash value of each RDF data theme value and the virtual node position of each child node.
The consistency hash ring comprises a mapping relation between hash values of theme values of RDF data (RDF triples) and positions of virtual nodes allocated to the child nodes, wherein the hash value of the theme value of each RDF triplet corresponds to the position of one virtual node. Specifically, the RDF data set may be divided by using a consistent hash algorithm based on a consistent hash ring constructed, and the RDF data in the RDF data set is correspondingly divided into a plurality of child nodes. Specifically, each RDF data may be sent to a corresponding child node through MPI (Multi Point Interface ).
In another embodiment, step 204 includes: step 224, dividing the encoded RDF data set into corresponding child nodes according to the constructed consistent hash ring.
In specific implementation, the encoded RDF data set may be divided into corresponding child nodes according to the constructed consistent hash ring. Likewise, each piece of encoded RDF data may be sent to a corresponding child node through the MPI. In this embodiment, the encoded RDF data is sent to the corresponding child node, so that the overhead of data transmission can be significantly reduced.
As shown in fig. 3, in one embodiment, before step 206, the method further includes: and 205, carrying out coding processing on the SPARQL query statement according to the bidirectional dictionary to obtain a coded SPARQL query statement.
In the implementation, the character strings included in the SPARQL query statement can find the corresponding character strings and the codes corresponding to the character strings in the bidirectional dictionary, so in order to further save the data transmission cost of the SPARQL query statement, the SPARQL query statement can be subjected to coding processing according to the bidirectional dictionary, and the coded SPARQL query statement is obtained. Specifically, the method includes traversing the topic value, the attribute value and the object value in the SPARQL query statement, searching whether the data identical to the topic value, the attribute value and the object value in the SPARQL query statement exist in the bidirectional dictionary, and if so, encoding the topic value, the attribute value and/or the object value in the SPARQL query statement into corresponding digital codes according to the corresponding relation between the character strings and the digital codes in the bidirectional dictionary, so that the redundant SPARQL query statement can be converted into a short query statement, and the cost of data transmission is greatly reduced.
And 206, respectively transmitting the sub-query sentences in the SPARQL query sentences to the corresponding sub-nodes according to the query data processing priority according to the mapping relation.
In this embodiment, the query data processing priority may be that sub-query statements with known topic values are executed first, then sub-query statements with known object values are executed, if the topic and the object are unknown, the topic variable with the highest occurrence frequency in the sub-query statement is found, then sub-query with the topic variable as the object is executed, and finally the rest of sub-query statements are executed. Specifically, according to the mapping relation between the hash value and the virtual node position, sub-query sentences of the SPARQL query sentences are respectively sent to corresponding sub-nodes, so that the sub-nodes execute the sub-query sentences and feed back corresponding query results.
In another embodiment, step 206 includes: and 226, respectively transmitting sub-query sentences in the encoded SPARQL query sentences to corresponding sub-nodes according to the query data processing priority according to the mapping relation.
In this embodiment, as well, sub-query statements of the encoded SPARQL query statement may be sent to corresponding sub-nodes according to the mapping relationship between the hash value and the virtual node position, so that the sub-nodes execute the sub-query statements and feed back corresponding query results, which can greatly save the overhead of data transmission.
And step 208, receiving the query results fed back by the child nodes, and performing intersection operation on the query results to obtain target query results.
In practical application, after receiving the corresponding sub-query statement, the sub-node executes the query task, queries in the RDF data obtained by dividing according to the received sub-query statement to obtain a corresponding query result, and then feeds back the query result to the main node. Because the number of the query results fed back by the sub-nodes is large and complicated, and there may be repeated query results, in this embodiment, after the query results fed back by the sub-nodes are received, each sub-query statement is used as a reference, and the corresponding query results are connected to obtain the target query results of the sub-query statement, and then the target query results of each sub-query statement are collected to obtain the final target query result.
In the distributed RDF data query method, according to the consistent hash ring comprising the mapping relation between the hash value of each RDF data theme value and the virtual node position of each sub-node, the RDF data set is divided into the corresponding sub-nodes, and the RDF data with the same theme value can be divided into the same node, so that the data division of each node is more uniform, the problem of overlarge data partition cost and uneven load can be effectively solved, and further, the sub-query sentences in the SPARQL query sentences are respectively sent to the corresponding sub-nodes according to the query data processing priority according to the mapping relation, the SPARQL query can be optimized, and the query data is distributed to each node for distributed execution, so that the data query speed is effectively improved.
In one embodiment, step 204 includes: performing hash calculation on the topic value of each RDF data in the RDF data set to obtain a hash value of the topic value, searching a virtual node position corresponding to the hash value of the topic value on the consistency hash ring, and sending each RDF data to a child node corresponding to the virtual node position.
In the implementation, hash calculation is performed on the topic values of all RDF triples in the RDF data set to obtain hash values of the topic values, then virtual node positions corresponding to the hash values of the topic values are searched clockwise on a consistency hash ring, and all RDF data are sent to sub-nodes corresponding to the virtual node positions, so that triples with the same topic values can be divided into the same sub-nodes, RDF data are uniformly distributed to all the sub-nodes, and the problem of unbalanced node loads is solved. It will be appreciated that in other embodiments, the virtual node location may be searched counterclockwise, which may be specific to the actual situation, and is not limited herein.
In one embodiment, the consistent hash ring is constructed based on the following: and distributing a preset number of virtual nodes for each child node, and acquiring the positions of each virtual node by using a hash algorithm to obtain a consistency hash ring.
In practical application, the consistency hash ring is constructed by allocating 100 virtual nodes to each physical child node, and then calculating the position of each virtual node by using a crc32 algorithm. Specifically, the hash may be performed by using the node name of the virtual node as a key, so as to obtain the position of each virtual node on the hash ring. It is to be understood that in other embodiments, 200 virtual nodes or other numbers of virtual nodes may be allocated to each physical child node, which is merely exemplary and not limiting.
In one embodiment, according to the mapping relationship, sending the sub-query statements in the SPARQL query statement to the corresponding sub-nodes according to the query data processing priority includes: sequencing the SPARQL query sentences according to the preset query data processing priority to obtain sequenced SPARQL query sentences, and sending the sequenced SPARQL query sentences to the corresponding child nodes according to the mapping relation.
In the implementation, the SPARQL query statement may be sequenced and optimized according to a preset query data processing priority, and then the sequenced and optimized SPARQL query statement is further sent to a corresponding child node according to a mapping relationship. Specifically, the sending of the SPARQL query statement after the ordering optimization to the corresponding child node may be:
Firstly, selecting a sub-query statement (hereinafter referred to as sub-query) with a known theme value, hashing the theme value of the sub-query statement to obtain a hash value, finding the position of a virtual node corresponding to the hash value according to a mapping relation contained in a consistency hash ring, and then sending the sub-query statement to a sub-node corresponding to the found position of the virtual node for execution without being sent to all nodes for execution, thereby reducing the communication overhead;
Step (1-2), selecting sub-queries with known object values, firstly sending the sub-queries to all nodes for execution, obtaining the values (i.e. the topic values) of topic variables of the sub-queries fed back by all the sub-nodes, and returning to step (1-1) after obtaining the topic values;
step (1-3) if the topic value and the object value are unknown, finding the topic variable with highest occurrence frequency in the sub-query, then sending the sub-query taking the topic variable as the object to all sub-nodes, obtaining the topic value of the sub-query, and returning to step (1-1) after obtaining the topic variable value;
Step (1-4) sends the sub-queries left after the screening in step (1-1) and step (1-3) to all nodes for query.
In this embodiment, the SPARQL query statement after the ordering optimization is sent to the corresponding child node according to the above manner, which is different from the prior art that the query statement is sent to all the nodes, so that the communication overhead can be reduced and the query speed can be improved.
In order to clearly illustrate the distributed RDF data query method provided by the present application, the following description is made with reference to a specific embodiment and fig. 4:
The master node responds to the data processing instruction, acquires an RDF data set and an SPARQL query statement, encodes the edge data of the vertexes of each RDF triplet, starts encoding from 0, corresponds to one data, finally obtains a corresponding vertex dictionary and an edge dictionary, namely a two-way dictionary, and divides the encoded RDF data set into corresponding child nodes according to the constructed consistency hash ring. The consistency hash ring comprises mapping relations between hash values of RDF data theme values and virtual node positions of child nodes, wherein the consistency hash ring is constructed by distributing 100 virtual nodes for each physical child node, and then calculating the positions of each virtual node by using a crc32 algorithm to obtain the consistency hash ring. Then, according to the bidirectional dictionary, encoding the SPARQL query statement to obtain an encoded SPARQL query statement, sorting sub-query statements in the encoded SPARQL query statement according to the query data processing priority, and then respectively sending the sorted SPARQL query statement to corresponding sub-nodes according to the mapping relation so as to enable the sub-nodes to execute the query task, and according to the received sub-query statement, querying in the RDF data obtained by dividing to obtain a corresponding query result, and feeding back the query result to the main node.
Specifically, it may be:
Firstly, selecting a sub-query statement (hereinafter referred to as sub-query) with a known theme value, hashing the theme value of the sub-query statement to obtain a hash value, finding the position of a virtual node corresponding to the hash value according to a mapping relation contained in a consistency hash ring, and then sending the sub-query statement to a sub-node corresponding to the found position of the virtual node for execution without being sent to all nodes for execution, thereby reducing the communication overhead;
Step (1-2), selecting sub-queries with known object values, firstly sending the sub-queries to all nodes for execution, obtaining the values (i.e. the topic values) of topic variables of the sub-queries fed back by all the sub-nodes, and returning to step (1-1) after obtaining the topic values;
step (1-3) if the topic value and the object value are unknown, finding the topic variable with highest occurrence frequency in the sub-query, then sending the sub-query taking the topic variable as the object to all sub-nodes, obtaining the topic value of the sub-query, and returning to step (1-1) after obtaining the topic variable value;
Step (1-4) sends the sub-queries left after the screening in step (1-1) and step (1-3) to all nodes for query.
The main node receives the query results fed back by the sub-nodes, and because the number of the query results fed back by the sub-nodes is large and complex, and repeated query results may exist in the query results, in this embodiment, after receiving the query results fed back by the sub-nodes, the main node may perform a connection operation on the corresponding query results with each sub-query statement as a reference, to obtain the target query results of the sub-query statement, and then, the target query results of each sub-query statement are collected, to obtain the final target query result.
It should be understood that, although the steps in the flowcharts related to the embodiments described above are sequentially shown as indicated by arrows, these steps are not necessarily sequentially performed in the order indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in the flowcharts described in the above embodiments may include a plurality of steps or a plurality of stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily performed sequentially, but may be performed alternately or alternately with at least some of the other steps or stages.
Based on the same inventive concept, the embodiment of the application also provides a distributed RDF data query device for realizing the above related distributed RDF data query method. The implementation of the solution provided by the device is similar to the implementation described in the above method, so the specific limitation in the embodiments of one or more distributed RDF data query devices provided below may be referred to the limitation of the distributed RDF data query method hereinabove, and will not be repeated here.
In one embodiment, as shown in FIG. 5, there is provided a distributed RDF data query device, comprising: a data acquisition module 510, a data partitioning module 520, a query statement sending module 530, and a query result processing module 540, wherein:
a data acquisition module 510, configured to acquire an RDF dataset and a SPARQL query statement;
The data dividing module 520 is configured to divide the RDF data set into corresponding child nodes according to the constructed consistent hash ring, where the consistent hash ring includes a mapping relationship between hash values of the RDF data theme values and virtual node positions of the child nodes;
The query statement sending module 530 is configured to send sub-query statements in the SPARQL query statement to corresponding sub-nodes according to the query data processing priority, respectively;
The query result processing module 540 is configured to receive the query result fed back by each child node, and perform intersection operation on the query result to obtain a target query result.
According to the distributed RDF data query device, the RDF data set is divided into the corresponding sub-nodes according to the consistent hash ring comprising the hash value of each RDF data theme value and the mapping relation of the virtual node position of each sub-node, the RDF data with the same theme value can be divided into the same node, so that the data division of each node is uniform, the problems of overlarge data partition cost and uneven load can be effectively solved, further, sub-query sentences in the SPARQL query sentences are respectively sent to the corresponding sub-nodes according to the query data processing priority according to the mapping relation, SPARQL query can be optimized, query data are distributed to each node for distributed execution, and the data query speed is effectively improved.
As shown in fig. 6, in one embodiment, the apparatus further includes an RDF data encoding processing module 550, configured to encode the RDF data set to obtain an encoded RDF data set and a bi-directional dictionary; the data partitioning module 520 is further configured to partition the encoded RDF data set to corresponding child nodes according to the constructed consistent hash ring.
As shown in fig. 6, in one embodiment, the apparatus further includes a query data encoding processing module 560, configured to encode the SPARQL query statement according to the bi-directional dictionary, to obtain an encoded SPARQL query statement; the data sending module 530 is further configured to send sub-query statements in the encoded SPARQL query statement to corresponding sub-nodes according to the query data processing priority, respectively.
In one embodiment, the data partitioning module 520 is further configured to perform hash computation on the topic value of each RDF data in the RDF data set to obtain a hash value of the topic value, find a virtual node position corresponding to the hash value of the topic value on the consistent hash ring, and send each RDF data to a child node corresponding to the virtual node position.
In one embodiment, the data sending module 530 is further configured to sort the SPARQL query statements according to a preset query data processing priority, obtain sorted SPARQL query statements, and send the sorted SPARQL query statements to the corresponding child nodes according to the mapping relationship.
In one embodiment, the apparatus further includes a hash ring construction module 570 configured to allocate a preset number of virtual nodes to each child node, and obtain the positions of each virtual node by using a hash algorithm, so as to obtain a consistent hash ring.
The various modules in the distributed RDF data querying device described above may be implemented in whole or in part in software, hardware, and combinations thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
In one embodiment, a computer device is provided, which may be a server, the internal structure of which may be as shown in fig. 7. The computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The database of the computer device is used for storing RDF data sets, SPARQL query sentences, consistent hash rings and other data. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program, when executed by a processor, implements a distributed RDF data query method.
It will be appreciated by those skilled in the art that the structure shown in FIG. 7 is merely a block diagram of some of the structures associated with the present inventive arrangements and is not limiting of the computer device to which the present inventive arrangements may be applied, and that a particular computer device may include more or fewer components than shown, or may combine some of the components, or have a different arrangement of components.
In one embodiment, a computer device is provided that includes a memory having a computer program stored therein and a processor that when executing the computer program performs the steps of the distributed RDF data query method described above.
In one embodiment, a computer readable storage medium is provided having a computer program stored thereon which, when executed by a processor, implements the steps of the distributed RDF data query method described above.
In one embodiment, a computer program product is provided comprising a computer program which, when executed by a processor, implements the steps of the distributed RDF data query method described above.
The user information (including but not limited to user equipment information, user personal information, etc.) and the data (including but not limited to data for analysis, stored data, presented data, etc.) related to the present application are information and data authorized by the user or sufficiently authorized by each party.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, database, or other medium used in embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, high density embedded nonvolatile Memory, resistive random access Memory (ReRAM), magneto-resistive random access Memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric Memory (Ferroelectric Random Access Memory, FRAM), phase change Memory (PHASE CHANGE Memory, PCM), graphene Memory, and the like. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, and the like. By way of illustration, and not limitation, RAM can be in various forms such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), etc. The databases referred to in the embodiments provided herein may include at least one of a relational database and a non-relational database. The non-relational database may include, but is not limited to, a blockchain-based distributed database, and the like. The processor referred to in the embodiments provided in the present application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, or the like, but is not limited thereto.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The foregoing examples illustrate only a few embodiments of the application and are described in detail herein without thereby limiting the scope of the application. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the application, which are all within the scope of the application. Accordingly, the scope of the application should be assessed as that of the appended claims.