CN116680722A - Data processing method, device, electronic equipment and storage medium - Google Patents

Data processing method, device, electronic equipment and storage medium Download PDF

Info

Publication number
CN116680722A
CN116680722A CN202310778604.8A CN202310778604A CN116680722A CN 116680722 A CN116680722 A CN 116680722A CN 202310778604 A CN202310778604 A CN 202310778604A CN 116680722 A CN116680722 A CN 116680722A
Authority
CN
China
Prior art keywords
merck tree
level
node
data
merck
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310778604.8A
Other languages
Chinese (zh)
Inventor
胡毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202310778604.8A priority Critical patent/CN116680722A/en
Publication of CN116680722A publication Critical patent/CN116680722A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computational Linguistics (AREA)
  • Storage Device Security (AREA)

Abstract

The disclosure provides a data processing method, a data processing device, electronic equipment and a storage medium, which can be applied to the technical field of computers and the technical field of finance. The method comprises the following steps: acquiring a first merck tree and a second merck tree; the following operations are repeatedly performed until a target node of the K-th level of the first merck tree is determined: according to the target node of the nth level of the first merck tree, determining nodes to be compared of the nth-1 level of the first merck tree, wherein n is a positive integer greater than 1; comparing the encrypted value corresponding to the node to be compared of the n-1 level of the first merck tree with the encrypted value corresponding to the node of the n-1 level of the second merck tree to determine a target node of the n-1 level of the first merck tree; from the first table data, object data corresponding to a target node of a K-th hierarchy of the first merck tree is determined as target data.

Description

Data processing method, device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technology, and in particular, to a data processing method, apparatus, electronic device, medium, and program product.
Background
In the related art, the changed data is generally determined from the entire data stored in the database by a method such as a query log.
However, in the process of implementing the inventive concept of the present disclosure, the inventor found that the method for determining the changed data in the related art is inefficient, and the data security is difficult to ensure because the changed data is directly queried from the database.
Disclosure of Invention
In view of the foregoing, the present disclosure provides a data processing method, apparatus, electronic device, medium, and program product.
According to a first aspect of the present disclosure, there is provided a data processing method comprising: acquiring a first merck tree and a second merck tree, wherein nodes of the first merck tree are obtained based on the encrypted values of the object data in the first table data, and nodes of the second merck tree are obtained based on the encrypted values of the object data in the second table data; the following operations are repeatedly performed until a target node of the K-th level of the first merck tree is determined: according to the target node of the nth level of the first merck tree, determining nodes to be compared of the nth-1 level of the first merck tree, wherein K is a positive integer smaller than n, and n is a positive integer; comparing an encrypted value corresponding to a node to be compared of an n-1 level of the first merck tree with an encrypted value corresponding to a node of an n-1 level of the second merck tree to determine a target node of the n-1 level of the first merck tree, wherein the nodes of the first merck tree and the second merck tree which are compared with each other are located at the same level in the same level; from the first table data, object data corresponding to a target node of a K-th hierarchy of the first merck tree is determined as target data.
According to an embodiment of the present disclosure, the above data processing method further includes: reading first object data corresponding to each of the plurality of first object identification information from the first table data according to the plurality of first object identification information in the first table data; reading second object data corresponding to each of the plurality of second object identification information from the second table data according to the plurality of second object identification information in the second table data; processing the plurality of first object data by using a message digest algorithm to obtain encryption values corresponding to the plurality of first object data respectively; processing the plurality of second object data by using a message digest algorithm to obtain encryption values corresponding to the plurality of second object data respectively; generating a first merck tree based on the encryption values corresponding to the first object data; and generating a second merck tree based on the encryption values corresponding to the second object data.
According to an embodiment of the present disclosure, generating a first merck tree based on encryption values corresponding to each of a plurality of first object data includes: obtaining a node of a K-th level of the first merck tree according to the encryption values corresponding to the first object data; repeating the following operations until the node of the nth level of the first merck tree is generated, so as to finish generating the first merck tree: generating the node of the N-1 th level of the first merck tree according to the node of the N-1 th level of the first merck tree, wherein N is a positive integer greater than or equal to N.
According to an embodiment of the present disclosure, the n-1 th level of the first merck tree includes a plurality of nodes; generating the node of the n-th level of the first merck tree according to the node of the n-1 th level of the first merck tree comprises: when the n-1 level of the first merck tree comprises an odd number of nodes, processing the encrypted value of the last node in the odd number of nodes by using a message digest algorithm to obtain a first encrypted value corresponding to the node of the n level of the first merck tree; sequentially splicing the encrypted values of two adjacent nodes aiming at other nodes except the last node in the odd nodes to obtain a first spliced encrypted value; processing the first spliced encryption value by using a message digest algorithm to obtain a second encryption value corresponding to a node of an n-th level of the first merck tree; and generating the node of the nth level of the first merck tree according to the first encryption value and the second encryption value.
According to an embodiment of the present disclosure, the above data processing method further includes: under the condition that the n-1 level of the first merck tree comprises an even number of nodes, sequentially splicing the encrypted values of two adjacent nodes in the n-1 level of the first merck tree to obtain a second spliced encrypted value; processing the second spliced encryption value by using a message digest algorithm to obtain a third encryption value corresponding to a node of an n-th level of the first merck tree; based on the third encrypted value, a node of an nth level of the first merck tree is generated.
According to an embodiment of the present disclosure, processing a plurality of first object data by using a message digest algorithm to obtain encrypted values corresponding to each of the plurality of first object data includes: and calling a message digest algorithm by using the anonymous function, and processing the plurality of first object data to obtain encryption values corresponding to the plurality of first object data.
According to an embodiment of the present disclosure, according to a plurality of first object identification information in first table data, reading, from the first table data, first object data corresponding to each of the plurality of first object identification information, includes: reading a plurality of field values stored in association with the first object identification information from the first table data; dividing the plurality of field values by using a separator to obtain a plurality of divided field values; the separated field values are determined as first object data.
According to an embodiment of the present disclosure, the above data processing method further includes: serializing the first merck tree to obtain a first data text; and serializing the second merck tree to obtain a second data text.
According to an embodiment of the present disclosure, obtaining a first merck tree and a second merck tree includes: performing deserialization on the first data text to obtain a first merck tree; and performing deserialization on the second data text to obtain a second merck tree.
According to an embodiment of the disclosure, the n-1 th level of the first merck tree includes M nodes, the n-1 th level of the second merck tree includes M nodes, M is a positive integer; comparing an encrypted value corresponding to a node to be compared of an n-1 level of the first merck tree with an encrypted value corresponding to a node of an n-1 level of the second merck tree to determine a target node of the n-1 level of the first merck tree, comprising: aiming at the nth hierarchy, under the condition that the characteristics of the mth-1 comparison result are consistent, comparing the encrypted value of the mth node of the nth hierarchy of the first merck tree with the encrypted value of the mth node of the nth hierarchy of the second merck tree to obtain an mth comparison result about the nth hierarchy of the first merck tree, wherein M is a positive integer which is more than 1 and less than or equal to M; in the event that the mth comparison result characterization with respect to the nth hierarchy is inconsistent, determining the mth node of the nth hierarchy of the first merck tree as the target node of the nth hierarchy of the first merck tree.
According to an embodiment of the present disclosure, determining a node to be aligned of an n-1 th level of a first merck tree according to a target node of the n-th level of the first merck tree includes: the node of the n-1 th level of the target node used for generating the n-th level of the first merck tree is determined as the node to be compared of the n-1 th level of the first merck tree.
A second aspect of the present disclosure provides a data processing apparatus comprising: the acquisition module is used for acquiring a first merck tree and a second merck tree, wherein nodes of the first merck tree are obtained based on the encrypted values of the object data in the first table data, and nodes of the second merck tree are obtained based on the encrypted values of the object data in the second table data; the execution module is configured to repeatedly perform the following operations until a target node of a K-th level of the first merck tree is determined: according to the target node of the nth level of the first merck tree, determining nodes to be compared of the nth-1 level of the first merck tree, wherein K is a positive integer smaller than n, and n is a positive integer; comparing an encrypted value corresponding to a node to be compared of an n-1 level of the first merck tree with an encrypted value corresponding to a node of an n-1 level of the second merck tree to determine a target node of the n-1 level of the first merck tree, wherein the nodes of the first merck tree and the second merck tree which are compared with each other are located at the same level in the same level; and the determining module is used for determining object data corresponding to a target node of a K-th level of the first merck tree from the first table data as target data.
A third aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the method described above.
A fourth aspect of the present disclosure also provides a computer-readable storage medium having stored thereon executable instructions that, when executed by a processor, cause the processor to perform the above-described method.
A fifth aspect of the present disclosure also provides a computer program product comprising a computer program which, when executed by a processor, implements the above method.
According to the data processing method, the device, the electronic equipment, the medium and the program product provided by the disclosure, the encrypted values of the nodes of the first merck tree and the second merck tree are compared, so that the K-level target node of the first merck tree can be determined, further, the target data corresponding to the K-level target node can be determined, and on the basis, the determination of the target data by comparing the object data of plaintext is avoided, and the data security is improved. And because the nodes to be compared in the next hierarchy are determined according to the target nodes in the previous hierarchy, the nodes to be compared are reduced, the comparison efficiency is improved, and the efficiency of determining the target data in the first table data is further improved.
Drawings
The foregoing and other objects, features and advantages of the disclosure will be more apparent from the following description of embodiments of the disclosure with reference to the accompanying drawings, in which:
FIG. 1 schematically illustrates an application scenario diagram of a data processing method according to an embodiment of the present disclosure;
FIG. 2 schematically illustrates a flow chart of a data processing method according to an embodiment of the disclosure;
FIG. 3 schematically illustrates a schematic diagram of generating an nth level node according to an embodiment of the present disclosure;
FIG. 4 schematically illustrates a schematic diagram of generating an nth level node according to another embodiment of the present disclosure;
FIG. 5 schematically illustrates a schematic diagram of a merck tree in accordance with an embodiment of the present disclosure;
fig. 6a schematically shows a schematic diagram of a first merck tree according to an embodiment of the present disclosure;
fig. 6b schematically shows a schematic diagram of a second merck tree according to an embodiment of the present disclosure;
FIG. 7 schematically illustrates a block diagram of a data processing apparatus according to an embodiment of the present disclosure; and
fig. 8 schematically illustrates a block diagram of an electronic device adapted to implement a data processing method according to an embodiment of the disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is only exemplary and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. In addition, in the following description, descriptions of well-known structures and techniques are omitted so as not to unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and/or the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It should be noted that the terms used herein should be construed to have meanings consistent with the context of the present specification and should not be construed in an idealized or overly formal manner.
Where expressions like at least one of "A, B and C, etc. are used, the expressions should generally be interpreted in accordance with the meaning as commonly understood by those skilled in the art (e.g.," a system having at least one of A, B and C "shall include, but not be limited to, a system having a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
In the technical scheme of the disclosure, the related data (such as including but not limited to personal information of a user) are collected, stored, used, processed, transmitted, provided, disclosed, applied and the like, all conform to the regulations of related laws and regulations, necessary security measures are adopted, and the public welcome is not violated.
According to the embodiment of the disclosure, the change of the data can be recorded by the application program writing the data, but for the online project, the change condition of the data needs to be determined by the application program, so that the data change is determined by the method with low efficiency.
The data change condition can also be determined by the log file in the database, but since the log file records the data change condition of the whole database, there is a problem that the data efficiency of inquiring about the change is low, and since the data of the change is directly inquired about, the data security is low.
In view of this, an embodiment of the present disclosure provides a data processing method, including: a first merck tree and a second merck tree are obtained, wherein nodes of the first merck tree are obtained based on the encrypted values of the object data in the first table data, and nodes of the second merck tree are obtained based on the encrypted values of the object data in the second table data. The following operations are repeatedly performed until a target node of the K-th level of the first merck tree is determined: according to the target node of the nth level of the first merck tree, determining the node to be compared of the nth-1 level of the first merck tree, wherein K is a positive integer smaller than n, and n is a positive integer. Comparing the encrypted value corresponding to the node to be compared of the n-1 level of the first merck tree with the encrypted value corresponding to the node of the n-1 level of the second merck tree to determine the target node of the n-1 level of the first merck tree, wherein the nodes of the first merck tree and the second merck tree which are compared with each other are positioned at the same level. From the first table data, object data corresponding to a target node of a K-th hierarchy of the first merck tree is determined as target data.
Fig. 1 schematically illustrates an application scenario diagram of a data processing method according to an embodiment of the present disclosure.
As shown in fig. 1, an application scenario 100 according to this embodiment may include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104, and a server 105. The network 104 is a medium used to provide a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103, and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
The user may interact with the server 105 through the network 104 using at least one of the first terminal device 101, the second terminal device 102, the third terminal device 103, to receive or send messages, etc. Various communication client applications, such as a shopping class application, a web browser application, a search class application, an instant messaging tool, a mailbox client, social platform software, etc. (by way of example only) may be installed on the first terminal device 101, the second terminal device 102, and the third terminal device 103.
The first terminal device 101, the second terminal device 102, the third terminal device 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smartphones, tablets, laptop and desktop computers, and the like.
The server 105 may be a server providing various services, such as a background management server (by way of example only) providing support for websites browsed by the user using the first terminal device 101, the second terminal device 102, and the third terminal device 103. The background management server may analyze and process the received data such as the user request, and feed back the processing result (e.g., the web page, information, or data obtained or generated according to the user request) to the terminal device.
It should be noted that the data processing method provided in the embodiments of the present disclosure may be generally performed by the server 105. Accordingly, the data processing apparatus provided by the embodiments of the present disclosure may be generally provided in the server 105. The data processing method provided by the embodiments of the present disclosure may also be performed by a server or a server cluster that is different from the server 105 and is capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and/or the server 105. Accordingly, the data processing apparatus provided by the embodiments of the present disclosure may also be provided in a server or a server cluster that is different from the server 105 and is capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and/or the server 105.
It should be understood that the number of terminal devices, networks and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
The data processing method of the disclosed embodiment will be described in detail below with reference to fig. 2 to 6 based on the scenario described in fig. 1.
Fig. 2 schematically illustrates a flow chart of a data processing method according to an embodiment of the present disclosure.
As shown in fig. 2, the data processing method of this embodiment includes operations S210 to S240.
In operation S210, a first merck tree whose nodes are derived based on the encrypted values of the object data in the first table data and a second merck tree whose nodes are derived based on the encrypted values of the object data in the second table data are obtained.
Operations S220 and S230 are repeatedly performed until a target node of the K-th level of the first merck tree is determined:
in operation S220, according to the target node of the nth level of the first merck tree, the node to be compared of the nth-1 level of the first merck tree is determined, wherein K is a positive integer smaller than n, and n is a positive integer.
In operation S230, the encryption value corresponding to the node to be compared of the n-1 th hierarchy of the first merck tree and the encryption value corresponding to the node of the n-1 th hierarchy of the second merck tree are compared to determine the target node of the n-1 th hierarchy of the first merck tree, wherein the nodes of the first merck tree and the second merck tree that are compared with each other are located at the same level.
In operation S240, object data corresponding to a target node of a K-th hierarchy of the first merck tree is determined as target data from the first table data.
According to an embodiment of the present disclosure, the first table data may include a plurality of object data, and each of the object data may include object identification information, object account information, object remark information, and the like.
The second table data may be the first table data subjected to the data change. Thus, the second table data may include a plurality of object data, each of which may include object identification information, object account information, object remark information, and the like.
According to embodiments of the present disclosure, the first merck tree may be used to store encrypted values of object data in the first table data. For example, the object data in the first table data may be encrypted to obtain an encrypted value corresponding to the object data, and the encrypted value may be used as a signature in a node of the first merck tree, thereby storing the object data through the node of the first merck tree. The node may be a leaf node of the first merck tree.
The second merck tree may be used to store encrypted values of the object data in the second table data. For example, the object data in the second table data may be encrypted to obtain an encrypted value corresponding to the object data, and the encrypted value may be used as a signature in a node of the second merck tree, thereby storing the object data through the node of the second merck tree. The node may be a leaf node of the second merck tree.
Wherein the combination of the first merck tree and the structure of the second merck tree may be the same, i.e., the number of levels the first merck tree has and the number of levels the second merck tree has may be the same, and the number of nodes of each level of the first merck tree and the number of nodes of each level of the second merck tree may be the same.
According to an embodiment of the present disclosure, the target node of the K-th level of the first merck tree may be a node for storing target data. The target data may be object data to be changed. For example: the K-th level of the first merck tree may be level 1 of the first merck tree.
In the case where the target node of the K-th level of the first merck tree is determined, the target node of the K-th level of the second merck tree may be correspondingly determined. The target node of the K-th level of the second merck tree may be a node for storing changed object data. For example: the K-th level of the second merck tree may be level 1 of the second merck tree.
Based on this, the order of the object data to be changed in the first table data and the order of the changed object data in the second table data can be determined. Since the bit number is determined based on the encryption value, it is difficult to directly determine specific information on the object data to be changed and specific information on the changed object data.
According to embodiments of the present disclosure, a target node of an nth level of a first merck tree may be used to determine a node to be aligned of an n-1 th level of the first merck tree. The target node of the nth level of the first merck tree may be generated by a node of the nth-1 level of the first merck tree, based on which a node of the nth-1 level of the first merck tree used to generate the target node of the nth level of the first merck tree may be determined as a node to be aligned of the nth-1 level of the first merck tree.
According to embodiments of the present disclosure, a first merck tree may be generated based on object data in the first table data.
For example: the first table data may include object data 1, object data 2, object data 3, and object data 4. The object data 1, the object data 2, the object data 3, and the object data 4 may be encrypted, respectively, to obtain an encrypted value 1, an encrypted value 2, an encrypted value 3, and an encrypted value 4.
The encryption value 1 and the encryption value 2 may be spliced to obtain a spliced encryption value 12, and the encryption value 3 and the encryption value 4 may be spliced to obtain a spliced encryption value 34. The concatenated encrypted value 12 may be re-encrypted to obtain the encrypted value 12, and the concatenated encrypted value 34 may be re-encrypted to obtain the encrypted value 34. The encrypted value 12 and the encrypted value 34 may be concatenated to obtain a concatenated encrypted value 1234. The concatenated encrypted value 1234 may then be encrypted to obtain the encrypted value 1234.
Thus, encryption value 1, encryption value 2, encryption value 3, and encryption value 4 may be considered nodes of the first merck tree level 1, encryption value 12 and encryption value 34 may be considered nodes of the first merck tree level 2, and encryption value 1234 may be considered nodes of the first merck tree level 3. Thus, a first merck tree with 3 levels can be obtained.
According to embodiments of the present disclosure, a second merck tree may be generated based on the object data in the second table data.
For example: the second table data may include object data 5, object data 6, object data 7, and object data 8. The object data 5, the object data 6, the object data 7, and the object data 8 may be encrypted, respectively, to obtain an encrypted value 5, an encrypted value 6, an encrypted value 7, and an encrypted value 8.
The encryption value 5 and the encryption value 6 may be concatenated to obtain a concatenated encryption value 56, and the encryption value 7 and the encryption value 8 may be concatenated to obtain a concatenated encryption value 78. The concatenated encrypted value 56 may be re-encrypted to obtain the encrypted value 56, and the concatenated encrypted value 78 may be re-encrypted to obtain the encrypted value 78. The encrypted value 56 and the encrypted value 78 may be concatenated to obtain a concatenated encrypted value 5678. The concatenated encryption value 5678 may be further encrypted to obtain an encryption value 5678.
Thus, encryption value 5, encryption value 6, encryption value 7, and encryption value 8 may be nodes of the second merck tree level 1, encryption value 56 and encryption value 78 may be nodes of the second merck tree level 2, and encryption value 5678 may be nodes of the second merck tree level 3. Thus, a second merck tree with 3 levels can be obtained.
According to an embodiment of the present disclosure, the first and second merck trees may be acquired from a file for storing the first and second merck trees, but not limited thereto, and the first and second merck trees may also be acquired from a database.
According to the embodiment of the disclosure, the number of the nodes to be compared at the n-1 th level of the first merck tree may be plural, and the number of the nodes at the n-1 th level of the second merck tree may be plural, so that the encrypted value of the nodes to be compared at the n-1 th level of the first merck tree and the encrypted value of the nodes at the n-1 th level of the second merck tree may be compared one by one, so as to determine the nodes with different encrypted values as target nodes. The nodes of the first merck tree and the second merck tree that are aligned with each other are located at the same level.
For example: the n-1 level of the first merck tree may include a node A1 to be aligned and a node B1 to be aligned, and the n-1 level of the second merck tree may include a node A2 and a node B2. The rank of the node A1 to be compared at the n-1 level of the first merck tree can be 3, and the rank of the node B1 to be compared at the n-1 level of the first merck tree can be 4; the rank of node A2 at the n-1 level of the second merck tree may be 3 and the rank of node B2 at the n-1 level of the second merck tree may be 4.
Therefore, the encryption value of the node A1 to be compared with the encryption value of the node A2 with the same rank can be compared to obtain a comparison result, and the encryption value of the node B1 to be compared with the encryption value of the node B2 with the same rank can be compared to obtain the comparison result.
The comparison result corresponding to the node A1 to be compared and the node A2 can represent that the encryption value of the node A1 to be compared is consistent with the encryption value of the node A2; the comparison result corresponding to the node B1 to be compared and the node B2 to be compared may indicate that the encrypted value of the node B1 to be compared is inconsistent with the encrypted value of the node B2. Based on this, the node B1 to be compared can be determined as the target node.
According to an embodiment of the present disclosure, object data corresponding to a target node of a K-th hierarchy of a first merck tree may be determined as target data from the first table data.
According to the embodiment of the disclosure, by comparing the encrypted values of the nodes of the first merck tree and the second merck tree, the target node of the K-th level of the first merck tree can be determined, and further, the target data corresponding to the target node of the K-th level can be determined, so that the determination of the target data by comparing the object data of the plaintext is avoided, and the data security is improved. And because the nodes to be compared in the next hierarchy are determined according to the target nodes in the previous hierarchy, the nodes to be compared are reduced, the comparison efficiency is improved, and the efficiency of determining the target data in the first table data is further improved.
According to an embodiment of the present disclosure, the above data processing method further includes: and reading the first object data corresponding to each of the plurality of first object identification information from the first table data according to the plurality of first object identification information in the first table data. And reading the second object data corresponding to the second object identification information from the second table data according to the second object identification information in the second table data. And processing the plurality of first object data by using a message digest algorithm to obtain encryption values corresponding to the plurality of first object data. And processing the plurality of second object data by using a message digest algorithm to obtain encryption values corresponding to the plurality of second object data. A first merck tree is generated based on the encrypted values corresponding to each of the plurality of first object data. And generating a second merck tree based on the encryption values corresponding to the second object data.
According to an embodiment of the present disclosure, the first object identification information may be identification information in the first table data for distinguishing the first object data. For example: the first table data may include first object identification information 1, first object identification information 2, and first object identification information 3.
Based on this, the information such as the object account information and the object remark information stored in association with the first object identification information 1 in the first table data can be read to obtain the first object data corresponding to the first object identification information 1; reading information such as object account information, object remark information and the like stored in association with the first object identification information 2 in the first table data to obtain first object data corresponding to the first object identification information 2; information such as object account information and object remark information stored in association with the first object identification information 3 in the first table data is read to obtain first object data corresponding to the first object identification information 3.
According to an embodiment of the present disclosure, the second object identification information may be identification information in the second table data for distinguishing the second object data. For example: the second table data may include second object identification information 1, second object identification information 2, and second object identification information 3.
Based on this, the information such as the object account information and the object remark information stored in association with the second object identification information 1 in the second table data can be read to obtain second object data corresponding to the second object identification information 1; reading information such as object account information, object remark information and the like stored in association with the second object identification information 2 in the second table data to obtain second object data corresponding to the second object identification information 2; information such as object account information and object remark information stored in association with the second object identification information 3 in the second table data is read to obtain second object data corresponding to the second object identification information 3.
According to embodiments of the present disclosure, a message digest algorithm may be used to encrypt first object data and second object data, resulting in an encrypted value corresponding to the first object data and an encrypted value corresponding to the second object data. The Message Digest algorithm may include SHA (Secure Hash Algorithm ) 256, SHA1, and MD (Message-Digest) 5 encryption algorithms. The encryption value generated by SHA256 may be 32 bytes, the encryption value generated by SHA1 may be 20 bytes, and the encryption value generated by MD5 may be 16 bytes. When the SHA256 is used to process the target data, the CPU (Central Processing Unit ) has the largest overhead, and the merck tree generated based on the encrypted value of the SHA256 occupies the largest amount of memory. Further, among the merck trees generated based on the three types of message digest algorithms, the merck tree generated based on the encrypted value of SHA256 has the lowest probability of being violently cracked, which may be determined by permutation and combination of all characters that are possible as the encrypted value, and the highest security level. The probability of being cracked by violence is highest and the security level is lowest based on the merck tree generated by the encryption value of MD 5.
According to the embodiment of the disclosure, taking SHA256 as an example, two different plaintext data are processed by SHA256 to obtain two different Hash values, where the Hash values are the above-mentioned encrypted values. Based on this, the Hash value can be used to compare the difference of the two plaintext data. In addition, since the Hash generation process is irreversible, that is, it is difficult to reversely push the plaintext data according to the Hash value, information leakage of the plaintext data can be avoided.
Based on this, by processing the object data by using the message digest algorithm to obtain an encrypted value corresponding to the object data, the above-described data comparison process can be implemented to determine the object data to be changed in the first table data, and the problem of information leakage of the object data due to comparison data can be avoided.
According to the embodiment of the present disclosure, the first object data including the first object identification information and other object data stored in association with the first object identification information may be read from the first table data according to the first object identification information in the first table data. The first object data may be read in accordance with the order of the first object identification information in the first table data. The first table data and the second table data can be read through the MySQL table to obtain first object data and second object data, and then nodes with data differences are positioned through a findDiffRecordNumbers method defined by the merck tree class. Wherein MySQL is a relational database management system.
According to an embodiment of the present disclosure, second object data including the second object identification information and other object data stored in association with the second object identification information may be read from the second table data according to the second object identification information in the second table data. The second object data may be read in accordance with the order of the second object identification information in the second table data.
According to the embodiment of the disclosure, the plurality of first object data may be sequentially processed by using a message digest algorithm according to the order of reading the plurality of first object data, so as to obtain the encryption values corresponding to the plurality of first object data.
According to the embodiment of the disclosure, the plurality of second object data may be sequentially processed by using a message digest algorithm according to the order of reading the plurality of second object data, so as to obtain the encryption values corresponding to the plurality of second object data.
According to the embodiment of the disclosure, the encryption values corresponding to the plurality of first object data can be sequentially arranged, then two adjacent encryption values are sequentially spliced according to the arrangement order to obtain a spliced encryption value, and the spliced encryption value is processed by using a message digest algorithm to obtain the encryption value of the node of the next level. Based on this, a first merck tree may be generated. The arrangement order may correspond to an order in which the plurality of first object data are read.
According to the embodiment of the disclosure, the encryption values corresponding to the second object data can be sequentially arranged, then two adjacent encryption values are sequentially spliced according to the arrangement order to obtain a spliced encryption value, and the spliced encryption value is processed by using a message digest algorithm to obtain the encryption value of the node of the next level. Based on this, a second merck tree may be generated. The arrangement order may correspond to an order in which the plurality of second object data are read.
Based on the above, since the generation process of the first merck tree is related to the bit of the first object identification information in the first table data, if the bit of the first object identification information in the first table data is adjusted, the structure of the first merck tree is affected.
Further, since the generation process of the second merck tree is related to the bit of the second object identification information in the second table data, if the bit of the second object identification information in the second table data is adjusted, the structure of the second merck tree is affected.
According to the embodiment of the disclosure, the first object data is processed by using the message digest algorithm to obtain the encryption value corresponding to each of the first object data, and then the first merck tree can be generated according to the encryption value corresponding to each of the first object data, and the second object data is processed by using the message digest algorithm to obtain the encryption value corresponding to each of the second object data, and then the second merck tree can be generated according to the encryption value corresponding to each of the second object data.
According to an embodiment of the present disclosure, in the case where the changed data in the second table data is newly added data, the order of the newly added data in the second table data may be determined by comparing MAX (ID) of the first table data based on the autonomous primary key ID of the MySQL table. Wherein the autonomous primary key ID may correspond to object data for obtaining a node.
According to the embodiment of the disclosure, the comparison result is affected due to the sequence of the nodes of the merck tree. Therefore, in the case of constructing the merck tree, it is necessary to ensure that the read object data is continuous. If the skip object data is the object data, the node corresponding to the object data needs to be supplemented through the fixed encryption value, so that the number of nodes of the 1 st level of the generated second merck tree is consistent with that of the first merck tree under the condition that the changed data in the second table data is deleted data, and the accuracy of the comparison result can be further guaranteed. The deleted data can be recorded by a separate column using a soft deletion method, i.e., the recording of the deleted object data can be achieved by updating the state of the column.
According to an embodiment of the present disclosure, the above data processing method further includes: and serializing the first merck tree to obtain a first data text. And serializing the second merck tree to obtain a second data text.
According to an embodiment of the present disclosure, the first merck tree may be processed using a Java-language-based serialization function to archive data of the first merck tree into a first data text that may be stored offline, where the Java language may be a programming language.
According to embodiments of the present disclosure, the second merck tree may be processed using a Java language based serialization function to archive the data of the second merck tree into a second data text that may be stored offline.
According to the embodiment of the disclosure, the table data of the historical version can be saved through the data snapshot so as to compare the table data of the historical version with the current table data and determine that the table data with the change condition exists. But the data snapshot occupies the storage space of the database, and based on the data snapshot, the method has the problem of wasting resources occupied by the database.
According to the embodiment of the disclosure, the first merck tree can be stored to the first data text, the second merck tree can be stored to the second data text, and then the first data text and the second data text can be stored to the hard disk, so that the storage space of the database is saved.
According to the embodiment of the disclosure, a flashback query method of a database may be utilized to query a historical version of table data, and then the table data of the historical version is compared with current table data to determine changed data, but the method may be limited by a period, i.e. only the data of the historical version in a part of the period can be queried.
According to the embodiment of the disclosure, by storing the data of the first merck tree into the first data text and storing the data of the second merck tree into the second data text, historical version table data can be obtained by querying the stored data text, and further the limitation of querying time periods for querying the first data text and the second data text can be avoided.
According to the embodiment of the disclosure, since the first merck tree and the second merck tree are stored in the first data text and the second data text, the storage space of the database occupied by storing the first merck tree and the second merck tree is reduced.
According to an embodiment of the present disclosure, obtaining a first merck tree and a second merck tree includes: and deserializing the first data text to obtain a first merck tree. And performing deserialization on the second data text to obtain a second merck tree.
According to the embodiment of the disclosure, since the first data text is obtained by serializing the first merck tree, the first data text can be deserialized, and the data in the first data text can be processed as the first merck tree.
According to the embodiment of the disclosure, since the second data text is obtained by serializing the second merck tree, the second data text can be deserialized, and the data in the second data text is processed as the second merck tree.
According to the embodiment of the disclosure, the first data text is deserialized, and the second data text is deserialized, so that the first merck tree and the second merck tree can be obtained, reconstruction of the merck tree based on the first table data and the second table data is avoided, and further data comparison efficiency is improved.
According to an embodiment of the present disclosure, generating a first merck tree based on encryption values corresponding to each of a plurality of first object data includes: and obtaining the node of the K-th level of the first merck tree according to the encryption values corresponding to the first object data. Repeating the following operations until the node of the nth level of the first merck tree is generated, so as to finish generating the first merck tree: generating the node of the N-1 th level of the first merck tree according to the node of the N-1 th level of the first merck tree, wherein N is a positive integer greater than or equal to N.
According to the embodiment of the disclosure, according to the encryption values corresponding to each of the plurality of first object data, the node of the 1 st level of the first merck tree can be obtained, and based on the node of the 1 st level of the first merck tree, new nodes can be generated layer by layer, so that the first merck tree can be obtained.
According to the embodiment of the disclosure, new nodes are generated layer by layer based on the nodes obtained according to the encryption value, so that a first merck tree is obtained, further, the nodes of the first merck tree can be compared layer by layer to determine the target node, the efficiency of determining the target node is improved, and further, the efficiency of determining the target data is improved.
According to an embodiment of the present disclosure, generating a second merck tree based on the encrypted values corresponding to each of the plurality of second object data includes: and obtaining the node of the K-th level of the second merck tree according to the encryption values corresponding to the second object data. Repeating the following operations until the node of the nth level of the second merck tree is generated, so as to finish generating the second merck tree: generating the node of the N-th level of the second merck tree according to the node of the N-1-th level of the second merck tree, wherein N is a positive integer greater than or equal to N.
According to the embodiment of the disclosure, according to the encryption values corresponding to the plurality of second object data, the node of the 1 st level of the second merck tree can be obtained, and based on the node of the 1 st level of the second merck tree, new nodes can be generated layer by layer, so that the second merck tree can be obtained.
According to the embodiment of the disclosure, new nodes are generated layer by layer based on the nodes obtained according to the encryption value, so that a second merck tree is obtained, and further the second merck tree can be utilized to be compared with the first merck tree layer by layer, so that the target node in the first merck tree can be determined, the efficiency of determining the target node in the first merck tree is improved, and the efficiency of determining target data corresponding to the target node is further improved.
According to an embodiment of the present disclosure, the n-1 th level of the first merck tree includes a plurality of nodes; generating the node of the n-th level of the first merck tree according to the node of the n-1 th level of the first merck tree comprises: in the case that the n-1 level of the first merck tree includes an odd number of nodes, the encrypted value of the last node among the odd number of nodes is processed by using a message digest algorithm, and a first encrypted value corresponding to the node of the n level of the first merck tree is obtained. And aiming at other nodes except the last node in the odd nodes, splicing the encrypted values of two adjacent nodes in sequence to obtain a first spliced encrypted value. And processing the first spliced encryption value by using a message digest algorithm to obtain a second encryption value corresponding to a node of an n-th level of the first merck tree. And generating the node of the nth level of the first merck tree according to the first encryption value and the second encryption value.
Fig. 3 schematically illustrates a schematic diagram of generating an nth level node according to an embodiment of the present disclosure.
As shown in FIG. 3, the n-1 th level of the first merck tree includes node 310, node 320, and node 330. Based on this, the n-1 st level of the first merck tree may include an odd number of nodes. Where traversing from left to right, node 310 may be the 1 st order node of the hierarchy; node 320 may be the 2 nd node of the hierarchy; node 330 may be the 3 rd order node of the hierarchy. Thus, node 330 may be the last level node of the n-1 level of the first merck tree, and adjacent ones of the odd number of nodes other than the last level node may include node 310 and node 320.
Node 330 may be processed using a message digest algorithm to obtain a first encrypted value, and based on the first encrypted value, node 33030 at the nth level of the first merck tree is obtained.
The encrypted value of the node 310 and the encrypted value of the node 320 may be spliced to obtain a first spliced encrypted value, and then the first spliced encrypted value is processed by using a message digest algorithm to obtain a second encrypted value corresponding to a node of an n-th level of the first merck tree, so that a node 31020 located in the n-th level of the first merck tree may be obtained according to the second encrypted value.
Based on this, the nodes of the n-th level of the first merck tree may include node 31020 and node 33030.
According to the embodiment of the disclosure, in the case that the n-1 level of the first merck tree comprises an odd number of nodes, the node of the n level of the first merck tree is obtained according to the first encryption value of the node of the last order and the second encryption values of other nodes except the node of the last order, so that the problem of error of the generated first merck tree caused by error processing of the node of the last order in the case that the node of the n-1 level of the first merck tree comprises the odd number of nodes is avoided, the accuracy of the generated first merck tree is improved, and the accuracy of the determined target data is further improved. And, because the message digest algorithm is utilized to process the spliced encryption value, a new encryption value is obtained, and the encryption value is encrypted again, thereby improving the data security.
According to an embodiment of the present disclosure, the above data processing method further includes: and under the condition that the n-1 level of the first merck tree comprises an even number of nodes, sequentially splicing the encrypted values of two adjacent nodes in the n-1 level of the first merck tree to obtain a second spliced encrypted value. And processing the second spliced encryption value by using a message digest algorithm to obtain a third encryption value corresponding to the node of the nth layer of the first merck tree. Based on the third encrypted value, a node of an nth level of the first merck tree is generated.
Fig. 4 schematically illustrates a schematic diagram of generating an nth level node according to another embodiment of the present disclosure.
As shown in fig. 4, the n-1 st level of the first merck tree includes node 410, node 420, node 430, and node 440. Based on this, the n-1 st level of the first merck tree may include an even number of nodes. Where traversing from left to right, node 410 may be the 1 st order node of the hierarchy; node 420 may be the 2 nd node of the hierarchy; node 430 may be the 3 rd order node of the hierarchy; node 440 may be the 4 th order node of the hierarchy.
The encrypted value of the adjacent node 410 and the encrypted value of the node 420 may be sequentially spliced to obtain a second spliced encrypted value corresponding to the node 410 and the node 420, and the encrypted value of the adjacent node 430 and the encrypted value of the node 440 may be spliced to obtain a second spliced encrypted value corresponding to the node 430 and the node 440. And then processing the second spliced encryption values corresponding to the nodes 410 and 420 by using a message digest algorithm to obtain second encryption values corresponding to the nodes 410 and 420, and processing the second spliced encryption values corresponding to the nodes 430 and 440 by using a message digest algorithm to obtain second encryption values corresponding to the nodes 430 and 440. Based on this, the node 41020 located at the n-th level of the first merck tree can be obtained from the second encrypted values corresponding to the nodes 410 and 420, and the node 43040 located at the n-th level of the first merck tree can be obtained from the second encrypted values corresponding to the nodes 430 and 440.
Based on this, the nodes of the n-th level of the first merck tree may include node 41020 and node 43040.
According to the embodiment of the disclosure, the message digest algorithm is utilized to process the spliced encrypted value to obtain a new encrypted value, so that the encrypted value is encrypted again, and therefore, the data security is improved.
It should be noted that, in the case that the n-1 th level of the second merck tree includes an odd number of nodes, the method for generating the node of the n-th level of the second merck tree is similar to the method for generating the node of the n-th level of the first merck tree, and in the case that the n-1 th level of the second merck tree includes an even number of nodes, the method for generating the node of the n-th level of the second merck tree is similar to the method for generating the node of the n-th level of the first merck tree, and specific operations are referred to above and are not repeated herein.
Fig. 5 schematically shows a schematic diagram of a merck tree according to an embodiment of the present disclosure.
As shown in fig. 5, the first and second merck trees of the present disclosure may include 4 levels of nodes. At level 1 of the merck tree, nodes 510, 520, 530, 540, and 550 may be included. Nodes 510 and 520 may be used to generate node 51020 at level 2 of the merck tree; nodes 530 and 540 may be used to generate node 53040 at level 2 of the merck tree; node 550 may be used to generate node 55050 at level 2 of the merck tree.
Node 51020 and node 52030 can be used to generate node 510203040 of level 3 of the merck tree and node 55050 can be used to generate node 5505050 of level 3 of the merck tree.
Nodes 510203040 and 5505050 can be used to generate node 51020304050 at level 4 of the merck tree. Based on this, the generated merck tree may include the above-described level 1 node, the above-described level 2 node, the above-described level 3 node, and the above-described level 4 node.
Where node 51020304050 may be the root node of the merck tree and nodes 510, 520, 530, 540, and 550 may be leaf nodes of the merck tree. Taking node 51020 as an example, node 51020 may be a parent node of node 510 and node 520, node 510 may be a left child node for generating node 51020, and node 520 may be a right child node for generating node 51020.
According to an embodiment of the present disclosure, processing a plurality of first object data by using a message digest algorithm to obtain encrypted values corresponding to each of the plurality of first object data includes: and calling a message digest algorithm by using the anonymous function, and processing the plurality of first object data to obtain encryption values corresponding to the plurality of first object data.
According to embodiments of the present disclosure, the anonymizing function may be a Lambda expression, which may be implemented based on a Stream function of Java8, wherein Java8 may be a version of the Java language that is mainly used to process aggregate data. By using the Lambda expression to call the message digest algorithm, parallel processing of a plurality of first object data can be realized, and based on this, the efficiency of processing the first object data can be improved.
For example: the multi-core server can be used for processing the plurality of first object data by utilizing the anonymous function call message digest algorithm to obtain the encryption values corresponding to the plurality of first object data, and based on the encryption values, the efficiency of processing the first object data can be further improved.
Under the condition that Lambda expression is not used, first object data is needed to be traversed from the first table data, then the first object data is processed to obtain an encryption value, and the process is to serially process the first object data; in the case of using the Lambda expression, a plurality of first object data may be processed in parallel, resulting in encrypted values corresponding to the plurality of first object data, respectively. Based on the above, the Lambda expression is utilized, so that the computing power of the multi-core server can be fully utilized, and the efficiency of processing the first object data is improved.
According to the embodiment of the disclosure, the plurality of first object data can be processed in parallel by using the anonymous function call message digest algorithm to process the plurality of first object data, thereby improving the efficiency of processing the first object data.
According to an embodiment of the present disclosure, processing a plurality of second object data by using a message digest algorithm to obtain encrypted values corresponding to each of the plurality of second object data includes: and calling a message digest algorithm by using the anonymous function, and processing the plurality of second object data to obtain encryption values corresponding to the plurality of second object data.
According to the embodiment of the disclosure, by calling the message digest algorithm by using the Lambda expression, parallel processing of a plurality of second object data can be realized, and based on this, the efficiency of processing the second object data can be improved.
According to the embodiment of the disclosure, the multi-core server can be used for calling a message digest algorithm by using an anonymous function, processing the plurality of second object data to obtain the encryption values corresponding to the plurality of second object data, and based on the encryption values, the efficiency of processing the second object data can be improved.
For example: under the condition that Lambda expression is not used, the second object data is required to be traversed from the second table data, then the second object data is processed to obtain an encryption value, and the process is to serially process the second object data; in the case of using the Lambda expression, a plurality of second object data may be processed in parallel, resulting in encrypted values corresponding to the plurality of second object data, respectively. Based on the above, the Lambda expression is utilized, so that the computing power of the multi-core server can be fully utilized, and the efficiency of processing the second object data is improved.
According to the embodiment of the disclosure, the plurality of second object data can be processed in parallel by using the anonymous function call message digest algorithm to process the plurality of second object data, thereby improving the efficiency of processing the second object data.
According to an embodiment of the present disclosure, according to a plurality of first object identification information in first table data, reading, from the first table data, first object data corresponding to each of the plurality of first object identification information, includes: a plurality of field values stored in association with the first object identification information are read from the first table data. And separating the field values by using the separator to obtain a plurality of separated field values. The separated field values are determined as first object data.
According to an embodiment of the present disclosure, the field value may be object data stored in association with the first object identification information. For example: the first object identification information may be XXX, the object account information may be 1234567 and the object note information may be 89. Thus, the field values may include 1234567 and 89.
According to an embodiment of the present disclosure, the separator may be a symbol for separating field values. For example: the separator may be comma, and pause, etc. For example: the field values stored in association with the first object identification information 1 may include 1234567 and 89, and the field values stored in association with the first object identification information 2 may include 1234 and 56789. Under the condition that the separator is not used, the field value corresponding to the first object identification information 1 is spliced, the spliced field value comprises 123456789, and the field value corresponding to the first object identification information 2 is spliced, and the spliced field value comprises 123456789. Thus, the spliced field value corresponding to the first object identification information 1 is the same as the spliced field value 2 corresponding to the first object identification information 2, and it is difficult to distinguish between them.
Based on this, by using the separator, the field value 1 corresponding to the first object identification information 1 may be separated, and the separated field value 1 may include: 1234567, 89. Also, by using the separator, the field value 2 corresponding to the first object identification information 2 may be separated, and the separated field value 2 may include: 1234, 56789. Based on this, the above-described separated field value 1 can be determined as the first object data 1 and the above-described separated field value 2 can be determined as the first object data 2.
Based on the method, the definition of the field value can be guaranteed under the condition that the field value corresponding to the first object identification information is summarized, so that the data definition of the first object data can be guaranteed, and the reduction of the accuracy of the determined target data caused by unclear data is avoided.
According to the embodiment of the disclosure, the data definition of the first object data can be ensured by separating the plurality of field values by using the separator, and further, the reduction of the accuracy of the determined target data due to the unclear data can be avoided.
According to an embodiment of the present disclosure, according to a plurality of second object identification information in second table data, reading second object data corresponding to each of the plurality of second object identification information from the second table data, includes: a plurality of field values stored in association with the second object identification information are read from the second table data. And separating the field values by using the separator to obtain a plurality of separated field values. The separated plurality of field values are determined as second object data.
According to the embodiment of the disclosure, by using the separator, the definition of the field value can be ensured under the condition that the field value corresponding to the second object identification information is summarized, so that the data definition of the second object data can be ensured, and the reduction of the accuracy of the determined target data caused by unclear data is avoided.
According to an embodiment of the present disclosure, the n-1 th level of the first merck tree includes M nodes, and the n-1 th level of the second merck tree includes M nodes, M being a positive integer. Comparing an encrypted value corresponding to a node to be compared of an n-1 level of the first merck tree with an encrypted value corresponding to a node of an n-1 level of the second merck tree to determine a target node of the n-1 level of the first merck tree, comprising: and aiming at the nth hierarchy, under the condition that the characteristics of the mth-1 comparison result are consistent, comparing the encrypted value of the mth node of the nth hierarchy of the first merck tree with the encrypted value of the mth node of the nth hierarchy of the second merck tree to obtain an mth comparison result about the nth hierarchy of the first merck tree, wherein M is a positive integer which is more than 1 and less than or equal to M. In the event that the mth comparison result characterization with respect to the nth hierarchy is inconsistent, determining the mth node of the nth hierarchy of the first merck tree as the target node of the nth hierarchy of the first merck tree.
According to an embodiment of the present disclosure, the n-1 th level of the first merck tree may include a node C1, a node D1, and a node F1, wherein C1 may be 1 in order in the n-1 th level of the first merck tree; d1 may be 2 in order in the n-1 level of the first merck tree; f1 may be level 3 in the n-1 level of the first merck tree.
The n-1 th level of the second merck tree may include node C2, node D2, and node F2, wherein C2 may be 1 in order in the n-1 th level of the second merck tree; d2 may be 2 in order in the n-1 level of the second merck tree; f2 may be level 3 in the n-1 level of the second merck tree.
Based on the above, the encryption value of the node C1 and the encryption value of the node C2 can be compared to obtain a comparison result C; comparing the encrypted value of the node D1 with the encrypted value of the node D2 to obtain a comparison result D; and comparing the encrypted value of the node F1 with the encrypted value of the node F2 to obtain a comparison result F. The comparison result C can be a 1 st comparison result of the n-1 st hierarchy of the first merck tree; the comparison result D can be the 2 nd comparison result of the n-1 th level of the first merck tree; the comparison result F can be the 3 rd comparison result of the n-1 th level of the first merck tree;
The comparison result C can represent that the encryption values of the node C1 and the node C2 are consistent; the comparison result D can represent that the encryption values of the node D1 and the node D2 are inconsistent; the comparison result F may represent that the encrypted values of the node F1 and the node F2 are consistent.
Based on this, node D1 may be determined to be the target node of the n-1 th level of the first merck tree.
It should be noted that the number of target nodes at the n-1 th level of the first merck tree is not limited to 1, and in some embodiments, a plurality of target nodes at the n-1 th level of the first merck tree may be determined, and a plurality of target nodes at the K-th level of the first merck tree may be determined.
According to the embodiment of the disclosure, the nodes of the same level of the first merck tree and the second merck tree are compared one by one, so that the accuracy of determining the target node is improved.
According to an embodiment of the present disclosure, determining a node to be aligned of an n-1 th level of a first merck tree according to a target node of the n-th level of the first merck tree includes: the node of the n-1 th level of the target node used for generating the n-th level of the first merck tree is determined as the node to be compared of the n-1 th level of the first merck tree.
According to the embodiment of the disclosure, since the node of the n-1 th level of the target node for generating the n-th level of the first merck tree is determined as the node to be compared of the n-1 th level of the first merck tree, the node of the lowest level of the first merck tree can be obtained by layer-by-layer inquiry, and the target node is determined from the nodes of the lowest level of the first merck tree, so that the efficiency of determining the target node is improved, and the efficiency of determining the target data is further improved.
For a better understanding of the present disclosure, the alignment procedure of the first merck tree and the second merck tree is described below in connection with fig. 6a and 6 b.
Fig. 6a schematically shows a schematic diagram of a first merck tree according to an embodiment of the present disclosure.
Fig. 6b schematically shows a schematic diagram of a second merck tree according to an embodiment of the disclosure.
As shown in fig. 6a and 6b, the first and second merck trees may each include 3 levels of nodes, and the number of nodes for each level of the first and second merck trees may be the same.
The encrypted value of node 6102030 at level 3 of the first merck tree and the encrypted value of node 6102130 at level 3 of the second merck tree may be compared, and in the event that the encrypted values are not identical, it may be determined that the node 6102030 is the target node, based on which it may be determined that node 61020 and node 63030 used to generate node 6102030 are nodes to be compared, and it may be possible to compare node 61020 at level 2 of the first merck tree with node 61021 at level 2 of the second merck tree, and to compare node 63030 at level 2 of the first merck tree with node 63030 at level 2 of the second merck tree.
The comparison result corresponding to the node 63030 located at the 2 nd level of the first merck tree and the node 63030 located at the 2 nd level of the second merck tree may characterize that the encrypted value of the node 63030 located at the 2 nd level of the first merck tree is consistent with the encrypted value of the node 63030 located at the 2 nd level of the second merck tree, based on which the node 630 located at the 1 st level of the first merck tree and the node 630 located at the 1 st level of the second merck tree may not be compared.
The comparison result corresponding to the node 61020 located at the 2 nd level of the first merck tree and the node 61021 located at the 2 nd level of the second merck tree may characterize that the encrypted value of the node 61020 located at the 2 nd level of the first merck tree is inconsistent with the encrypted value of the node 61021 located at the 2 nd level of the second merck tree, based on which the node 61020 located at the 2 nd level of the first merck tree may be determined as the target node, and further the nodes 610 and 620 for generating the node 61020 may be determined as the nodes to be compared.
The encrypted value of the node 610 at the 3 rd level of the first merck tree may be compared with the encrypted value of the node 610 at the 3 rd level of the second merck tree, whereby it may be determined that the encrypted value of the node 610 at the 3 rd level of the first merck tree and the encrypted value of the node 610 at the 3 rd level of the second merck tree agree.
The encrypted value of node 620 at level 3 of the first merck tree may be compared with the encrypted value of node 621 at level 3 of the second merck tree, whereby it may be determined that the encrypted value of node 620 at level 3 of the first merck tree is inconsistent with the encrypted value of node 621 at level 3 of the second merck tree. Thus, the node 620 can be determined as the target node, and further, the first object data corresponding to the node 620 can be determined as the target node from the first table data.
According to the embodiment of the disclosure, the target node is queried by using the merck tree belonging to the balanced binary tree, so that the efficiency is high. In the case where only one record of the object data is changed in the set of the number N of the object data, only ceil (log 2 N) +1 times, the target node can be determined, where ceil represents the smallest integer rounded up by the current number. For example: of 100 ten thousand pieces of object data, the changed object data can be located through 21 times of comparison.
Based on the data processing method, the disclosure also provides a data processing device. The device will be described in detail below in connection with fig. 7.
Fig. 7 schematically shows a block diagram of a data processing apparatus according to an embodiment of the present disclosure.
As shown in fig. 7, the data processing apparatus 700 of this embodiment includes an acquisition module 710, an execution module 720, and a determination module 730.
The obtaining module 710 is configured to obtain a first merck tree and a second merck tree, where a node of the first merck tree is obtained based on an encrypted value of object data in the first table data, and a node of the second merck tree is obtained based on an encrypted value of object data in the second table data. In an embodiment, the obtaining module 710 may be configured to perform the operation S210 described above, which is not described herein.
The execution module 720 is configured to repeatedly perform the following operations until a target node of a K-th level of the first merck tree is determined: according to the target node of the nth level of the first merck tree, determining nodes to be compared of the nth-1 level of the first merck tree, wherein K is a positive integer smaller than n, and n is a positive integer; comparing the encrypted value corresponding to the node to be compared of the n-1 level of the first merck tree with the encrypted value corresponding to the node of the n-1 level of the second merck tree to determine the target node of the n-1 level of the first merck tree, wherein the nodes of the first merck tree and the second merck tree which are compared with each other are positioned at the same level. In an embodiment, the execution module 720 may be configured to execute the operation S220 described above, which is not described herein.
The determining module 730 is configured to determine, from the first table data, object data corresponding to a target node of a K-th level of the first merck tree as target data. In an embodiment, the determining module 730 may be configured to perform the operation S230 described above, which is not described herein.
According to an embodiment of the present disclosure, the data processing apparatus further includes a first reading module, a second reading module, a first processing module, a second processing module, a first generating module, and a second generating module. The first reading module is used for reading the first object data corresponding to each of the plurality of first object identification information from the first table data according to the plurality of first object identification information in the first table data; the second reading module is used for reading second object data corresponding to each of the plurality of second object identification information from the second table data according to the plurality of second object identification information in the second table data; the first processing module is used for processing the plurality of first object data by utilizing a message digest algorithm to obtain encryption values corresponding to the plurality of first object data respectively; the second processing module is used for processing the plurality of second object data by utilizing a message digest algorithm to obtain encryption values corresponding to the plurality of second object data respectively; the first generation module is used for generating a first merck tree based on the encryption values corresponding to the first object data; the second generation module is used for generating a second merck tree based on the encryption values corresponding to the second object data.
According to an embodiment of the present disclosure, the first generation module includes an acquisition sub-module and a generation sub-module. The acquisition sub-module is used for acquiring nodes of a K-th level of the first merck tree according to encryption values corresponding to the first object data; the generating sub-module is configured to repeatedly perform the following operations until the node of the nth level of the first merck tree is generated, so as to complete the generation of the first merck tree: generating the node of the N-1 th level of the first merck tree according to the node of the N-1 th level of the first merck tree, wherein N is a positive integer greater than or equal to N.
According to an embodiment of the disclosure, the generating sub-module includes a first processing unit, a first stitching unit, a second processing unit, and a first generating unit. The first processing unit is configured to process, when the n-1 th level of the first merck tree includes an odd number of nodes, an encrypted value of a last node among the odd number of nodes by using a message digest algorithm, to obtain a first encrypted value corresponding to the node of the n-th level of the first merck tree; the first splicing unit is used for splicing the encrypted values of two adjacent nodes in sequence aiming at other nodes except the last node in the odd nodes to obtain a first spliced encrypted value; the second processing unit is used for processing the first spliced encryption value by utilizing a message digest algorithm to obtain a second encryption value corresponding to a node of an nth level of the first merck tree; the first generation unit is used for generating the node of the nth layer of the first merck tree according to the first encryption value and the second encryption value.
According to an embodiment of the disclosure, the generating sub-module further comprises a second splicing unit, a third processing unit and a second generating unit. The second splicing unit is used for splicing the encrypted values of two adjacent nodes in the n-1 level of the first merck tree in sequence under the condition that the n-1 level of the first merck tree comprises an even number of nodes, so as to obtain a second spliced encrypted value; the third processing unit is used for processing the second spliced encryption value by utilizing a message digest algorithm to obtain a third encryption value corresponding to the node of the nth level of the first merck tree; the second generating unit is used for generating the node of the nth level of the first merck tree according to the third encryption value.
According to an embodiment of the present disclosure, the first processing module includes a processing sub-module. The processing sub-module is used for calling a message digest algorithm by using an anonymous function, processing the plurality of first object data and obtaining encryption values corresponding to the plurality of first object data.
According to an embodiment of the present disclosure, the first reading module includes a reading sub-module, a dividing sub-module, and a first determining sub-module. The reading sub-module is used for reading a plurality of field values stored in association with the first object identification information from the first table data; the separation submodule is used for separating the field values by using the separator to obtain a plurality of separated field values; the first determination submodule is used for determining the separated field values as first object data.
According to an embodiment of the present disclosure, the generating sub-module further includes a first serialization unit and a second serialization unit. The first serialization unit is used for serializing the first merck tree to obtain a first data text; the second serialization unit is used for serializing the second merck tree to obtain a second data text.
According to an embodiment of the present disclosure, the acquisition module 710 includes a first deserialization module and a second deserialization module. The first deserialization module is used for deserializing the first data text to obtain a first merck tree; the second deserializing module is used for deserializing the second data text to obtain a second merck tree.
According to an embodiment of the present disclosure, the execution module 720 includes a comparison sub-module, a second determination sub-module. The comparison submodule is used for comparing the encryption value of the mth node of the nth-1 level of the first merck tree with the encryption value of the mth node of the nth-1 level of the second merck tree aiming at the nth-1 level, under the condition that the characterization of the mth-1 comparison result is consistent, so as to obtain an mth comparison result of the nth-1 level, wherein M is a positive integer which is more than 1 and less than or equal to M; the second determining submodule is used for determining that the mth node of the nth-1 level of the first merck tree is a target node of the nth-1 level of the first merck tree under the condition that the mth comparison result representation of the nth-1 level is inconsistent.
According to an embodiment of the present disclosure, the determination module 730 includes a third determination sub-module. The third determining submodule is used for determining an n-1 level node of the target node used for generating the n level of the first merck tree as a node to be compared of the n-1 level of the first merck tree.
Any of the acquisition module 710, the execution module 720, and the determination module 730 may be combined in one module to be implemented, or any of them may be split into a plurality of modules, according to embodiments of the present disclosure. Alternatively, at least some of the functionality of one or more of the modules may be combined with at least some of the functionality of other modules and implemented in one module. According to embodiments of the present disclosure, at least one of the acquisition module 710, execution module 720, and determination module 730 may be implemented at least in part as hardware circuitry, such as a Field Programmable Gate Array (FPGA), programmable Logic Array (PLA), system-on-chip, system-on-substrate, system-on-package, application Specific Integrated Circuit (ASIC), or in hardware or firmware, such as any other reasonable manner of integrating or packaging circuitry, or in any one of or a suitable combination of any of three implementations of software, hardware, and firmware. Alternatively, at least one of the acquisition module 710, the execution module 720 and the determination module 730 may be at least partially implemented as a computer program module, which when executed, may perform the corresponding functions.
Fig. 8 schematically illustrates a block diagram of an electronic device adapted to implement a data processing method according to an embodiment of the disclosure.
As shown in fig. 8, an electronic device 800 according to an embodiment of the present disclosure includes a processor 801 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 802 or a program loaded from a storage section 808 into a Random Access Memory (RAM) 803. The processor 801 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or an associated chipset and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), or the like. The processor 801 may also include on-board memory for caching purposes. The processor 801 may include a single processing unit or multiple processing units for performing the different actions of the method flows according to embodiments of the disclosure.
In the RAM 803, various programs and data required for the operation of the electronic device 800 are stored. The processor 801, the ROM 802, and the RAM 803 are connected to each other by a bus 804. The processor 801 performs various operations of the method flow according to the embodiments of the present disclosure by executing programs in the ROM 802 and/or the RAM 803. Note that the program may be stored in one or more memories other than the ROM 802 and the RAM 803. The processor 801 may also perform various operations of the method flows according to embodiments of the present disclosure by executing programs stored in the one or more memories.
According to an embodiment of the present disclosure, the electronic device 800 may also include an input/output (I/O) interface 805, the input/output (I/O) interface 805 also being connected to the bus 804. The electronic device 800 may also include one or more of the following components connected to an input/output (I/O) interface 805: an input portion 806 including a keyboard, mouse, etc.; an output portion 807 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and a speaker; a storage section 808 including a hard disk or the like; and a communication section 809 including a network interface card such as a LAN card, a modem, or the like. The communication section 809 performs communication processing via a network such as the internet. The drive 810 is also connected to an input/output (I/O) interface 805 as needed. A removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 810 as needed so that a computer program read out therefrom is mounted into the storage section 808 as needed.
The present disclosure also provides a computer-readable storage medium that may be embodied in the apparatus/device/system described in the above embodiments; or may exist alone without being assembled into the apparatus/device/system. The computer-readable storage medium carries one or more programs which, when executed, implement methods in accordance with embodiments of the present disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example, but is not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. For example, according to embodiments of the present disclosure, the computer-readable storage medium may include ROM 802 and/or RAM 803 and/or one or more memories other than ROM 802 and RAM 803 described above.
Embodiments of the present disclosure also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowcharts. The program code means for causing a computer system to carry out the data processing methods provided by the embodiments of the present disclosure when the computer program product is run on the computer system.
The above-described functions defined in the system/apparatus of the embodiments of the present disclosure are performed when the computer program is executed by the processor 801. The systems, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
In one embodiment, the computer program may be based on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program may also be transmitted, distributed, and downloaded and installed in the form of a signal on a network medium, and/or from a removable medium 811 via a communication portion 809. The computer program may include program code that may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
In such an embodiment, the computer program may be downloaded and installed from a network via the communication section 809, and/or installed from the removable media 811. The above-described functions defined in the system of the embodiments of the present disclosure are performed when the computer program is executed by the processor 801. The systems, devices, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
According to embodiments of the present disclosure, program code for performing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, such computer programs may be implemented in high-level procedural and/or object-oriented programming languages, and/or assembly/machine languages. Programming languages include, but are not limited to, such as Java, c++, python, "C" or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected via the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It should be noted that, unless there is an execution sequence between different operations or an execution sequence between different operations in technical implementation, the execution sequence between multiple operations may be different, and multiple operations may also be executed simultaneously in the embodiment of the disclosure.
Those skilled in the art will appreciate that the features recited in the various embodiments of the disclosure and/or in the claims may be provided in a variety of combinations and/or combinations, even if such combinations or combinations are not explicitly recited in the disclosure. In particular, the features recited in the various embodiments of the present disclosure and/or the claims may be variously combined and/or combined without departing from the spirit and teachings of the present disclosure. All such combinations and/or combinations fall within the scope of the present disclosure.
The embodiments of the present disclosure are described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the embodiments cannot be used advantageously in combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be made by those skilled in the art without departing from the scope of the disclosure, and such alternatives and modifications are intended to fall within the scope of the disclosure.

Claims (15)

1. A data processing method, comprising:
acquiring a first merck tree and a second merck tree, wherein nodes of the first merck tree are obtained based on the encrypted values of the object data in the first table data, and nodes of the second merck tree are obtained based on the encrypted values of the object data in the second table data;
repeating the following operations until a target node of a K-th level of the first merck tree is determined:
determining nodes to be compared of an n-1 th level of the first merck tree according to the target node of the n-th level of the first merck tree, wherein K is a positive integer smaller than n, and n is a positive integer;
comparing an encrypted value corresponding to a node to be compared of an n-1 level of the first merck tree with an encrypted value corresponding to a node of an n-1 level of the second merck tree to determine a target node of the n-1 level of the first merck tree, wherein the nodes of the first merck tree and the second merck tree which are compared with each other are positioned at the same level;
and determining object data corresponding to a target node of a K-th level of the first merck tree from the first table data as target data.
2. The method of claim 1, further comprising:
reading first object data corresponding to each of the plurality of first object identification information from the first table data according to the plurality of first object identification information in the first table data;
reading second object data corresponding to each of the plurality of second object identification information from the second table data according to the plurality of second object identification information in the second table data;
processing the plurality of first object data by using a message digest algorithm to obtain encryption values corresponding to the plurality of first object data respectively;
processing the plurality of second object data by using the message digest algorithm to obtain encryption values corresponding to the plurality of second object data respectively;
generating the first merck tree based on the encryption values corresponding to the plurality of first object data;
and generating the second merck tree based on the encryption values corresponding to the second object data.
3. The method of claim 2, wherein the generating the first merck tree based on the encrypted values corresponding to each of the plurality of first object data comprises:
Obtaining a node of a K-th level of the first merck tree according to the encryption values corresponding to the plurality of first object data;
repeating the following operations until the node of the nth level of the first merck tree is generated, so as to finish generating the first merck tree: generating the node of the N-1 th level of the first merck tree according to the node of the N-1 th level of the first merck tree, wherein N is a positive integer greater than or equal to N.
4. The method of claim 3, wherein an n-1 th level of the first merck tree comprises a plurality of nodes;
the generating the node of the n-th level of the first merck tree according to the node of the n-1 th level of the first merck tree comprises:
in case the n-1 st level of the first merck tree comprises an odd number of nodes,
processing the encrypted value of the last node in the odd number of nodes by using the message digest algorithm to obtain a first encrypted value corresponding to the node of the nth level of the first merck tree;
sequentially splicing the encryption values of two adjacent nodes aiming at other nodes except the last node in the odd nodes to obtain a first spliced encryption value;
Processing the first spliced encryption value by using the message digest algorithm to obtain a second encryption value corresponding to a node of an nth level of the first merck tree;
generating a node of an nth level of the first merck tree according to the first encryption value and the second encryption value.
5. The method of claim 4, further comprising:
in case the n-1 st level of the first merck tree comprises an even number of nodes,
splicing the encrypted values of two adjacent nodes in the n-1 level of the first merck tree in sequence to obtain a second spliced encrypted value;
processing the second spliced encryption value by using the message digest algorithm to obtain a third encryption value corresponding to a node of an nth level of the first merck tree;
generating a node of an nth level of the first merck tree according to the third encryption value.
6. The method according to any one of claims 2 to 5, wherein the processing the plurality of first object data by using a message digest algorithm to obtain the encrypted values corresponding to each of the plurality of first object data includes:
and calling the message digest algorithm by using an anonymous function, and processing the plurality of first object data to obtain encryption values corresponding to the plurality of first object data.
7. The method according to any one of claims 2 to 5, wherein the reading, according to the plurality of first object identification information in the first table data, first object data corresponding to each of the plurality of first object identification information from the first table data includes:
reading a plurality of field values stored in association with the first object identification information from the first table data;
dividing the field values by using a separator to obtain a plurality of divided field values;
and determining the separated field values as the first object data.
8. The method of any one of claims 2-5, further comprising:
serializing the first merck tree to obtain a first data text;
and serializing the second merck tree to obtain a second data text.
9. The method of claim 8, wherein the obtaining a first merck tree and a second merck tree comprises:
performing deserialization on the first data text to obtain the first merck tree;
and performing deserialization on the second data text to obtain the second merck tree.
10. The method of any one of claims 1-5, wherein an n-1 level of the first merck tree comprises M nodes, an n-1 level of the second merck tree comprises M nodes, M is a positive integer;
The comparing the encryption value corresponding to the node to be compared of the n-1 th level of the first merck tree with the encryption value corresponding to the node of the n-1 th level of the second merck tree to determine the target node of the n-1 th level of the first merck tree includes:
aiming at the n-1 level, under the condition that the m-1 comparison result has consistent characterization,
comparing the encrypted value of the M-th node of the n-1 th level of the first merck tree with the encrypted value of the M-th node of the n-1 th level of the second merck tree to obtain an M-th comparison result about the n-1 th level, wherein M is a positive integer greater than 1 and less than or equal to M;
and determining the mth node of the nth-1 level of the first merck tree as a target node of the nth-1 level of the first merck tree under the condition that the mth comparison result of the nth-1 level is inconsistent in characterization.
11. The method of any of claims 1-5, wherein the determining, from the n-th level of the first merck tree of target nodes, the n-1-th level of the first merck tree of nodes to be aligned comprises:
determining an n-1 th level node of the target node for generating the n-th level of the first merck tree as a node to be compared of the n-1 th level of the first merck tree.
12. A data processing apparatus comprising:
the acquisition module is used for acquiring a first merck tree and a second merck tree, wherein nodes of the first merck tree are obtained based on the encrypted values of the object data in the first table data, and nodes of the second merck tree are obtained based on the encrypted values of the object data in the second table data;
the execution module is used for repeatedly executing the following operations until the target node of the K-th level of the first merck tree is determined:
determining nodes to be compared of an n-1 th level of the first merck tree according to the target node of the n-th level of the first merck tree, wherein K is a positive integer smaller than n, and n is a positive integer;
comparing an encrypted value corresponding to a node to be compared of an n-1 level of the first merck tree with an encrypted value corresponding to a node of an n-1 level of the second merck tree to determine a target node of the n-1 level of the first merck tree, wherein the nodes of the first merck tree and the second merck tree which are compared with each other are positioned at the same level;
and the determining module is used for determining object data corresponding to a target node of a K-th level of the first merck tree from the first table data as target data.
13. An electronic device, comprising:
one or more processors;
storage means for storing one or more programs,
wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the method of any of claims 1-11.
14. A computer readable storage medium having stored thereon executable instructions which, when executed by a processor, cause the processor to perform the method according to any of claims 1-11.
15. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 11.
CN202310778604.8A 2023-06-28 2023-06-28 Data processing method, device, electronic equipment and storage medium Pending CN116680722A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310778604.8A CN116680722A (en) 2023-06-28 2023-06-28 Data processing method, device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310778604.8A CN116680722A (en) 2023-06-28 2023-06-28 Data processing method, device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116680722A true CN116680722A (en) 2023-09-01

Family

ID=87783776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310778604.8A Pending CN116680722A (en) 2023-06-28 2023-06-28 Data processing method, device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116680722A (en)

Similar Documents

Publication Publication Date Title
US20210240691A1 (en) Anomaly identification in log files
US11075868B2 (en) Personal communication data management in multilingual mobile device
CN111258966A (en) Data deduplication method, device, equipment and storage medium
US11388244B1 (en) Method, device, and program product for managing computer system
US11475020B2 (en) Encryption scheme recommendation
US11175993B2 (en) Managing data storage system
US20210243014A1 (en) Secure aggregate maximum system, secure aggregate minimum system, secure computation apparatus, secure aggregate maximum method, secure aggregate minimum method, and program
US20220292054A1 (en) Seamless data movement and metadata management in a hybrid cloud setting using a configurable micro services based architecture
US10394773B2 (en) Determining when a change set was delivered to a workspace or stream and by whom
CN110888972A (en) Sensitive content identification method and device based on Spark Streaming
US11061736B2 (en) Multiple parallel reducer types in a single map-reduce job
US10057202B2 (en) Personal communication data management in multilingual mobile device
US11157645B2 (en) Data masking with isomorphic functions
US9286349B2 (en) Dynamic search system
CN116680722A (en) Data processing method, device, electronic equipment and storage medium
CN111666278A (en) Data storage method, data retrieval method, electronic device and storage medium
US20180095835A1 (en) Resilient analytics utilizing dark data
US9916344B2 (en) Computation of composite functions in a map-reduce framework
CN113220501A (en) Method, apparatus and computer program product for data backup
US11940975B2 (en) Database distribution to avoid contention
US11928134B1 (en) Medoid-based data compression
US11379449B2 (en) Method, electronic device and computer program product for creating metadata index
US20210342470A1 (en) Secure attribute verification
US11632380B2 (en) Identifying large database transactions
CN116860172A (en) Request processing method, data acquisition device and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination