Data processing method and device, electronic equipment and storage medium

By comparing the ciphertext business data of the participants in the different industry alliances on the central node, the problem of the disclosure of business data between participants and the improvement of data security and processing efficiency were realized.

CN119382907AActive Publication Date: 2025-01-28MASHANG CONSUMER FINANCE CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202310924706.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-25
Publication Date
2025-01-28
Estimated Expiration
2043-07-25

AI Technical Summary

Technical Problem

In the foreign industry alliance, the interoperability of business data between participants may lead to the leakage of business data and cannot ensure the security of the data.

Method used

By performing data comparison on the central node, the same encryption key array is encrypted to encrypt the open -text business data to ensure the security of the ciphertext business data, and the data does not need to be decrypted during the comparison process.

Benefits of technology

With the case of not leaking business data, it is determined to participate in the common business data between members nodes and improve the security and efficiency of the data processing process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119382907A_ABST
    Figure CN119382907A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data processing method and device, electronic equipment and a storage medium, a center node firstly obtains ciphertext data sets sent by participating member nodes, and the ciphertext data sets of different participating member nodes are obtained by performing data encryption by using the same encryption key array; the participating member node comprises a first participating member node; performing data comparison processing on the ciphertext service data in the ciphertext data set to obtain a data comparison result of the first participating member node; next, the first participating member node can obtain the data comparison result from the central node, and further determines the common service data of the participating member node combination based on the obtained data comparison result; therefore, the data comparison process is uniformly executed by the central node, the service data cannot be intercommunicated among the participating member nodes, and the central node directly performs data comparison processing based on the ciphertext service data, so that the service data security of the participating member nodes is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Internet technology, and in particular to a data processing method, device, electronic device and storage medium. Background Art

[0002] At present, for cross-industry alliances involving two or more participants (such as enterprises, merchants, etc.), it is usually necessary to calculate the common business data between two or more participants (such as a common user list, common product information, etc.) based on the business data of each participant, or to calculate the amount of common business data between the participants. Among them, business data usually includes privacy data with relatively high security requirements (such as user privacy data), that is, application scenarios involving privacy data intersection.

[0003] For example, it is necessary to calculate the common member user list of two or more participants based on the member user lists of each participant, so as to realize joint marketing based on the common member user list; for another example, it is necessary to calculate the common black user list of two or more participants based on the black user lists of each participant, so as to realize risk control based on the common black user list; however, in the process of determining the existing common business data, all business data need to be communicated between two or more participants, which may lead to the leakage of non-shared business data between the participants (for example, participant A and participant B, participant A will obtain business data that participant A does not have but participant B has, and participant B will obtain business data that participant B does not have but participant A has), so the business data security of the participants cannot be ensured. Summary of the invention

[0004] The purpose of the embodiments of the present application is to provide a data processing method, device, electronic device and storage medium, which can ensure the security of business data of participating member nodes.

[0005] In order to implement the above technical solution, the embodiment of the present application is implemented as follows:

[0006] In a first aspect, an embodiment of the present application provides a data processing method, which is applied to a central node, and the method includes:

[0007] Acquire a ciphertext data set sent by a participating member node, the ciphertext data set including ciphertext business data, the ciphertext business data being obtained by encrypting plaintext business data based on an encryption key array, different participating member nodes using the same encryption key array, the participating member nodes including a first participating member node;

[0008] The encrypted business data in the encrypted data set is subjected to data comparison processing to obtain a data comparison result of the first participating member node.

[0009] In a second aspect, an embodiment of the present application provides a data processing method, which is applied to a first participating member node, and the method includes:

[0010] Encrypting the plaintext business data based on the encryption key array to obtain a ciphertext data set; the ciphertext data set includes the ciphertext business data, and the encryption key array used by different participating member nodes is the same;

[0011] Sending the ciphertext data set to a central node;

[0012] Obtaining a data comparison result generated by the central node; the data comparison result is obtained by performing a data comparison based on the ciphertext business data in the ciphertext data set.

[0013] In a third aspect, an embodiment of the present application provides a data processing device, which is arranged in a central node, and the device includes:

[0014] A data acquisition module, used to acquire a ciphertext data set sent by a participating member node, wherein the ciphertext data set includes ciphertext business data, wherein the ciphertext business data is obtained by encrypting plaintext business data based on an encryption key array, and different participating member nodes use the same encryption key array, and the participating member nodes include a first participating member node;

[0015] The data comparison module is used to perform data comparison processing on the ciphertext business data in the ciphertext data set to obtain the data comparison result of the first participating member node.

[0016] In a fourth aspect, an embodiment of the present application provides a data processing device, which is arranged in a first participating member node, and the device includes:

[0017] A data encryption module, used to encrypt the plaintext business data based on the encryption key array to obtain a ciphertext data set; the ciphertext data set includes the ciphertext business data, and the encryption key array used by different participating member nodes is the same;

[0018] A data sending module, used for sending the ciphertext data set to a central node;

[0019] A result acquisition module is used to acquire the data comparison result generated by the central node; the data comparison result is obtained by comparing the ciphertext business data in the ciphertext data set.

[0020] In a fifth aspect, an embodiment of the present application provides an electronic device, the device comprising:

[0021] A processor; and a memory arranged to store computer executable instructions, the executable instructions being configured to be executed by the processor, the executable instructions comprising instructions for executing the steps in the method as described in the first aspect or the second aspect.

[0022] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the storage medium is used to store computer-executable instructions, and the executable instructions enable the computer to execute the steps in the method described in the first aspect or the second aspect.

[0023] In an embodiment of the present application, the central node first obtains the ciphertext data set sent by the participating member nodes, the ciphertext data sets of different participating member nodes are obtained by each participating member node using the same encryption key array to encrypt the plaintext business data generated by each participating member node, and the participating member nodes include a first participating member node; then, the ciphertext business data in the ciphertext data set is subjected to data comparison processing to obtain the data comparison result of the first participating member node; next, the first participating member node can obtain the above-mentioned data comparison result from the central node, and then determine the common business data of the participating member node combination based on the obtained data comparison result. It can be seen that since the ciphertext business data are all encrypted using the same encryption key array, if two ciphertext business data are the same, then the corresponding two plaintext business data are also the same. Therefore, the central node can directly compare the ciphertext business data of different participating member nodes to obtain the data comparison result of the first participating member node, and then based on the data comparison result, it can be determined which of the same plaintext business data (i.e., shared business data) are contained between the participating member nodes. In this way, since the data comparison process is uniformly executed by the central node, the business data will not be interoperable between the participating member nodes, and the central node directly performs data comparison processing based on the ciphertext business data, without the need to decrypt the ciphertext business data, and therefore there is no need to obtain the corresponding data decryption key, that is, the business data in the data comparison process exists in ciphertext form, thereby ensuring the business data security of the entire data processing process. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in one or more of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0025] Figure 1 A first flow chart of a data processing method applied to a central node provided in an embodiment of the present application;

[0026] Figure 2 A schematic diagram of a first specific implementation principle of the data processing method provided in an embodiment of the present application;

[0027] Figure 3 A second flow chart of a data processing method applied to a central node provided in an embodiment of the present application;

[0028] Figure 4 A schematic diagram of a second specific implementation principle of the data processing method provided in an embodiment of the present application;

[0029] Figure 5 A schematic diagram of a third specific implementation principle of the data processing method provided in an embodiment of the present application;

[0030] Figure 6 A schematic diagram of a flow chart of a data processing method applied to a participating member node provided in an embodiment of the present application;

[0031] Figure 7 A schematic diagram of the module composition of a data processing device provided in a central node according to an embodiment of the present application;

[0032] Figure 8 A schematic diagram of the module composition of a data processing device provided in a participating member node according to an embodiment of the present application;

[0033] Fig. 9 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0034] In order to enable those skilled in the art to better understand the technical solutions in one or more of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only one or more partial embodiments of the present application, rather than all embodiments. Based on one or more embodiments of the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0035] It should be noted that, in the absence of conflict, one or more embodiments and features in the embodiments of the present application may be combined with each other. The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0036] One or more embodiments of the present application provide a data processing method, device, electronic device and storage medium. Considering that if the process of determining the shared business data between two or more participants is performed by the participants, then the two or more participants need to communicate business data with each other, so that each participant can determine the shared business data between itself and other participants through business data comparison processing; since a certain participant can also obtain the non-shared business data between itself and other participants, there may be a problem of business data security; and considering that if the business data of multiple participants are intersected based on the existing inadvertent transmission technology to obtain the shared business data between multiple participants, then in order to improve the security of the business data, it is necessary to add forged business data to achieve the purpose of obfuscation, so that not only the real business data but also the forged business data need to be intersected, which will inevitably increase the data processing amount of the intersection process, resulting in low data processing efficiency; in addition, if multiple participants in a preset participant combination exchange their own ciphertext data sets, the participants exchange the ciphertext data sets based on their own ciphertext data sets and the ciphertext data transmitted by other participants in the preset participant combination. The data set is processed by taking the intersection to obtain the common business data of the preset participant combination. Since the multiple participants in the preset participant combination are fixed, there is bound to be a problem of poor flexibility in determining the common business data, which cannot meet the personalized needs of different participating member nodes to determine the common business data of any participant combination. Based on the above problem, on the one hand, since the ciphertext business data are all encrypted using the same encryption key array, if two ciphertext business data are the same, then the corresponding two plaintext business data are also the same. Therefore, the central node can directly compare the ciphertext business data of different participating member nodes to obtain the data comparison result of the first participating member node, and then based on the data comparison result, it can be determined which of the same plaintext business data (i.e., common business data) are contained between the participating member nodes. In this way, since the data comparison process is uniformly executed by the central node, the business data will not be interoperable between the participating member nodes, and the central node directly performs data comparison processing based on the ciphertext business data, without the need to decrypt the ciphertext business data, and thus there is no need to obtain the corresponding data decryption key, that is, the business data in the data comparison process exists in ciphertext form, thereby ensuring the business data security of the entire data processing process;On the other hand, the data comparison results obtained by each participating member node from the central node may only include data comparison sub-results related to the ciphertext business data of each participating member node. In the case where the data comparison sub-results include business data, the business data is also generated by the participating member node itself and exists in ciphertext form. During the entire data processing process, only the central node can obtain all ciphertext business data. Since the central node cannot obtain the data decryption key, there is no need to add forged business data to achieve the purpose of obfuscation. Therefore, the amount of ciphertext business data used in the data comparison process will not increase, thereby improving the data processing efficiency of the entire process. On the other hand, since the data comparison results generated by the central node can include data comparison sub-results, and each data comparison result can include any ciphertext business of the first participating member node The corresponding relationship between the data and the multiple second participating member nodes holding the ciphertext business data is not specific to which common business data a certain preset participating member node combination holds. Therefore, the first participating member node can determine the common business data of any specified participating member node combination based on the data comparison sub-result of the ciphertext business data (i.e., the data comparison result obtained by executing a data comparison task), wherein the specified participating member node combination can include the node combination obtained by all combinations between the first participating member node and other participating member nodes. In this way, the first participating member node can determine which common business data is specifically included in any participating member node combination that is expected to be known according to actual needs, thereby improving the flexibility of determining the common business data and meeting the personalized needs of different participating member nodes to determine the common business data of any node combination. ;

[0037] in, Figure 1 A first flow chart of a data processing method provided in one or more embodiments of the present application, Figure 1 The method in can be executed by a central node, which can be a terminal device or a designated server; Figure 1 As shown, the method comprises at least the following steps:

[0038] S102, obtaining a ciphertext data set sent by a participating member node; the ciphertext data set includes ciphertext business data; the ciphertext business data is obtained by encrypting plaintext business data based on an encryption key array, and different participating member nodes use the same encryption key array, and the participating member nodes include a first participating member node;

[0039] Specifically, the above-mentioned participating member nodes may be n in number, and the ciphertext business data in the above-mentioned ciphertext data set may be K in number, where n and K are both integers greater than 1, and the n participating member nodes may belong to a cross-industry alliance, and the n participating member nodes may be n merchants or n enterprises with a preset association relationship; taking the value of n being equal to 5 as an example, for example, the n participating member nodes include participating member nodes 1 to participating member nodes 5; the central node receives ciphertext data set 1 sent by participating member node 1, ciphertext data set 2 sent by participating member node 2, ciphertext data set 3 sent by participating member node 3, ciphertext data set 4 sent by participating member node 4, and ciphertext data set 5 sent by participating member node 5; that is, the central node obtains the ciphertext data sets sent by the n participating member nodes respectively, that is, the central node obtains n ciphertext data sets, for example, the central node obtains 5 ciphertext data sets.

[0040] Specifically, the above-mentioned encryption key array may include multiple data encryption keys, and the data encryption key may be generated by a central node or by a participating member node; for the ciphertext data set 1 sent by the participating member node 1, the ciphertext data set 1 is obtained by encrypting the plaintext data set 1 (i.e., including K plaintext business data 1) generated by the participating member node 1 based on the encryption key array; for the ciphertext data set 2 sent by the participating member node 2, the ciphertext data set 2 is obtained by encrypting the plaintext data set 2 (i.e., including K plaintext business data 2) generated by the participating member node 2 based on the encryption key array; and so on, which will not be repeated here.

[0041] For example, the above-mentioned plaintext data set can be user list plaintext data, the user list plaintext data includes K plaintext user information (i.e. plaintext business data, such as user unique identifiers such as identity card or mobile phone number before encryption), and the above-mentioned ciphertext data set can be user list ciphertext data, the user list ciphertext data includes K ciphertext user information (i.e. ciphertext business data, such as user unique identifiers such as identity card or mobile phone number after encryption); for another example, the above-mentioned plaintext data set can be product list plaintext data, the product list plaintext data includes K plaintext product information (i.e. plaintext business data, such as at least one of the product code, product price, and product model before encryption), and the above-mentioned ciphertext data set can be product list ciphertext data, the product list ciphertext data includes K ciphertext product information (i.e. ciphertext business data, such as at least one of the product code, product price, and product model after encryption).

[0042] It should be noted that the amount of plaintext business data contained in the plaintext data sets of different participating member nodes may be the same or different, that is, for different participating member nodes, the value of K may be the same or different, and this application does not limit this.

[0043] S104, performing data comparison processing on the ciphertext business data in the ciphertext data set to obtain a data comparison result of the first participating member node;

[0044] In some example embodiments, the above-mentioned data comparison result may include the common business data of the preset participating member node combination, that is, the central node directly determines which common business data the preset participating member node combination holds, and the first participating member node obtains the common business data determined by the central node from the central node. In this way, since multiple participants in the preset participating member node combination are fixed, there is bound to be a problem of poor flexibility in determining the common business data, which cannot meet the personalized needs of different participating member nodes to determine the common business data of any participating member node combination; in other example embodiments, the above-mentioned data comparison result may include K data comparison sub-results, which represent the ciphertext business data held by the first participating member node. The second participating member node set of data, that is, the data comparison result obtained by the first participating member node from the central node is not specific to which common business data a certain preset participating member node combination holds. Therefore, the first participating member node can determine the common business data of any specified participating member node combination based on the data comparison sub-results corresponding to the K ciphertext business data (that is, the data comparison results obtained by executing a data comparison task once). In this way, the first participating member node can determine which common business data is specifically contained in any participating member node combination that is expected to be known according to actual needs, thereby improving the flexibility of determining the common business data and meeting the personalized needs of different participating member nodes to determine the common business data of any node combination;

[0045] Specifically, since the ciphertext business data are all encrypted using the same encryption key array, if two ciphertext business data are the same, then the corresponding two plaintext business data are also the same. Therefore, the central node can directly compare the ciphertext business data of different participating member nodes, find the participating member nodes to which the same ciphertext business data belongs, so as to determine the second participating member node set corresponding to each ciphertext business data; for the ciphertext business data a, the second participating member node set corresponding to the ciphertext business data a includes multiple second participating member nodes holding the ciphertext business data a among the n participating member nodes; based on this, for the first participating member node, determine the second participating member node sets corresponding to the K ciphertext business data of the first participating member node.

[0046] Specifically, the first participating member node can be any participating member node among the n participating member nodes. In some example embodiments, all participating member nodes serve as the first participating member nodes, and correspondingly, the data comparison results corresponding to the n participating member nodes are determined; in other example embodiments, some participating member nodes serve as the first participating member nodes, and correspondingly, the data comparison results corresponding to some participating member nodes among the n participating member nodes are determined. Among them, still taking the example that the n participating member nodes include participating member nodes 1 to participating member nodes 5, if all participating member nodes serve as the first participating member nodes, then it is necessary to determine data comparison result 1 of participating member node 1, data comparison result 2 of participating member node 2, data comparison result 3 of participating member node 3, data comparison result 4 of participating member node 4, and data comparison result 5 of participating member node 5.

[0047] Specifically, in the case where the data comparison result includes K data comparison sub-results, the above S104 performs data comparison processing on the ciphertext business data in the ciphertext data set to obtain the data comparison result of the first participating member node, specifically including:

[0048] Step 1: Perform data comparison processing on the ciphertext business data in the above ciphertext data set to determine a data comparison sub-result of the ciphertext business data of the first participating member node, and the data comparison sub-result is used to characterize the second participating member node set, and all participating member nodes in the second participating member node set have the ciphertext business data of the first participating member node;

[0049] Step 2: Based on the above data comparison sub-result, obtain the data comparison result of the first participating member node.

[0050] Among them, still taking the above-mentioned n participating member nodes including participating member nodes 1 to participating member nodes 5 as an example, for participating member node 1, if the above-mentioned ciphertext data set 1 includes ciphertext business data 11, ciphertext business data 12 and ciphertext business data 13, then the above-mentioned data comparison result 1 includes data comparison sub-result 11, data comparison sub-result 12, and data comparison sub-result 13; wherein the data comparison sub-result 11 is used to represent the second participating member node set 11 holding the ciphertext business data 11 among the n participating member nodes, that is, the data comparison sub-result 11 includes the ciphertext business data 11. The correspondence between the data 11 and the second participating member node set 11, the second participating member node set 11 includes the node identifiers of the participating member nodes holding the ciphertext business data 11; the data comparison sub-result 12 is used to characterize the second participating member node set 12 holding the ciphertext business data 12 among the n participating member nodes, and the data comparison sub-result 13 is used to characterize the second participating member node set 13 holding the ciphertext business data 13 among the n participating member nodes; based on this, for the participating member nodes 2 to 5, determine the data comparison results 2 to 5 corresponding to the participating member nodes 2 to 5 respectively.

[0051] In a specific implementation, taking the above-mentioned ciphertext data set including user list ciphertext data, and the above-mentioned user list ciphertext data including K ciphertext user information as an example, the process of determining the data comparison result of the above-mentioned first participating member node can be: performing user information comparison processing based on the user list ciphertext data sent respectively by n participating member nodes, and obtaining the user information comparison result of the first participating member node among the n participating member nodes.

[0052] Specifically, the above-mentioned user information comparison result includes K user information comparison sub-results, and the user information comparison sub-results are used to represent the second participating member node set holding the ciphertext user information of the first participating member node; for example, for participating member node 1, if the user list ciphertext data 1 includes ciphertext user information 11, ciphertext user information 12 and ciphertext user information 13, then the user information comparison result 1 includes user information comparison sub-result 11, user information comparison sub-result 12, and user information comparison sub-result 13; wherein, the user information comparison sub-result 11 is used to represent the second participating member node set 11 holding the ciphertext user information 11 among the n participating member nodes; the user information comparison sub-result 12 is used to represent the second participating member node set 12 holding the ciphertext user information 12 among the n participating member nodes, and the user information comparison sub-result 13 is used to represent the second participating member node set 13 holding the ciphertext user information 13 among the n participating member nodes.

[0053] Next, after the central node generates the data comparison result of the first participating member node based on the ciphertext data set sent by the participating member nodes, the central node can determine the common business data of the participating member node combination based on the data comparison result; or the first participating member node can first obtain the data comparison result from the central node, and then determine the common business data of the participating member node combination based on the data comparison result; specifically, for the process of the first participating member node obtaining the data comparison result from the central node, the central node can actively send it to the first participating member node after generating the data comparison result, that is, the central node sends the above data comparison result to the first participating member node; or the first participating member node obtains it from the central node, for example, the first participating member node first sends a comparison result acquisition request to the central node, and the central node sends the data comparison result of the first participating member node to the first participating member node after receiving the comparison result acquisition request. The present application does not limit this, and it is all within the protection scope of the present application.

[0054] Among them, for the case where the first participating member node determines the common business data of the specified participating member node combination based on the above-mentioned data comparison result, the above-mentioned data comparison result may include K data comparison sub-results, each data comparison sub-result represents a set of second participating member nodes having the ciphertext business data of the first participating member node. After obtaining the data comparison result, the first participating member node determines the target comparison sub-result that also contains the node identifiers of each participating member node in the specified participating member node combination based on the K data comparison sub-results in the data comparison result, and determines the business data targeted by the target comparison sub-result as the common business data of the specified participating member node combination.

[0055] Specifically, the above-mentioned designated participating member node combination includes a first participating member node and at least one fifth participating member node, and the fifth participating member node does not include the first participating member node, that is, the fifth participating member node is any participating member node among the n participating member nodes that is different from the first participating member node; still taking the n participating member nodes including participating member nodes 1 to participating member nodes 5 as an example, if any participating member node among participating member nodes 1 to participating member nodes 5 is used as the first participating member node, then participating member node 1 obtains data comparison result 1 from the central node, participating member node 2 obtains data comparison result 2 from the central node, participating member node 3 obtains data comparison result 3 from the central node, participating member node 4 obtains data comparison result 4 from the central node, and participating member node 5 obtains data comparison result 5 from the central node.

[0056] Specifically, for the case where the above data comparison result includes K data comparison sub-results, and the data comparison sub-results represent a set of second participating member nodes having ciphertext business data of the first participating member node, for participating member node 1, participating member node 1 obtains data comparison result 1 from the central node; still taking the above data comparison result 1 including data comparison sub-result 11, data comparison sub-result 12, and data comparison sub-result 13 as an example, participating member node 1 can determine the common business data of any specified participating member node combination based on data comparison sub-result 11, data comparison sub-result 12, and data comparison sub-result 13;

[0057] For example, the data comparison sub-result 11 can be expressed as {ciphertext business data 11, second participating member node set 11}, and the second participating member node set 11 can be expressed as [10001, 10002, 10003], where 10001 represents the node identifier of participating member node 1, 10002 represents the node identifier of participating member node 2, and 10003 represents the node identifier of participating member node 3, that is, participating member node 1, participating member node 2 and participating member node 3 all have ciphertext business data 11, while participating member node 4 and participating member node 5 do not have ciphertext business data 11; the data comparison sub-result 12 can be expressed as {ciphertext business data 12, second participating member node set 12}, and the second participating member node set 12 can be expressed as [1 0001, 10004, 10005], wherein 10004 represents the node identifier of the participating member node 4, and 10005 represents the node identifier of the participating member node 5, that is, the participating member node 1, the participating member node 3 and the participating member node 5 all have the ciphertext business data 12, while the participating member node 2 and the participating member node 4 do not have the ciphertext business data 12; the above data comparison sub-result 13 can be expressed as {ciphertext business data 13, the second participating member node set 13}, and the second participating member node set 13 can be expressed as [10001, 10003, 10004], that is, the participating member node 1, the participating member node 3 and the participating member node 4 all have the ciphertext business data 13, while the participating member node 2 and the participating member node 5 do not have the ciphertext business data 13;

[0058] Therefore, if the designated participating member node combination includes participating member node 1 and participating member node 3, then the common business data of the designated participating member node combination includes: ciphertext business data 11, ciphertext business data 13, that is, the ciphertext business data 11 corresponding to the second participating member node set 11 [10001, 10002, 10003] containing the node identifiers of participating member node 1 and participating member node 3 in the above-mentioned second participating member node set 11, 12, 13, and the ciphertext business data 13 corresponding to the second participating member node set 13 [10001, 10003, 10004]); if the designated participating member node combination includes participating member node 1 and participating member node 3, then the common business data of the designated participating member node combination includes: ciphertext business data 11, ciphertext business data 13, that is, the ciphertext business data 11 corresponding to the second participating member node set 11 [10001, 10002, 10003] containing the node identifiers of participating member node 1 and participating member node 3 in the above-mentioned second participating member node set 11, 12, 13 Member node 4, then, the common business data of the specified participating member node combination includes: ciphertext business data 12, ciphertext business data 13, that is, the ciphertext business data 12 corresponding to the second participating member node set 12 [10001, 10004, 10005] which contains the node identifiers of participating member node 1 and participating member node 4 in the above-mentioned second participating member node set 11, 12, 13, and the ciphertext business data 13 corresponding to the second participating member node set 13 [10001, 10003, 10004]); based on this, the first participating member node can quickly determine the common business data of any specified participating member node combination based on the above-mentioned K data comparison sub-results.

[0059] That is to say, in the process of determining the common business data of any specified participating member node combination based on the above-mentioned K data comparison sub-results, the first participating member node searches for a second participating member node set that simultaneously includes the node identifiers of each participating member node in the specified participating member node combination from the second participating member node sets corresponding to the K data comparison sub-results, and determines the set of ciphertext business data corresponding to the found second participating member node sets as the common business data of the specified participating member node combination; correspondingly, if the above-mentioned ciphertext data set includes user list ciphertext data, then the common business data is the common user list of each participating member node in the specified participating member node combination; for example, if the user list ciphertext data is suspected blacklist ciphertext data, then the common business data is the common blackuser list; if the user list ciphertext data is member user list ciphertext data, then the common business data is the common member user list; in addition, the amount of common business data of the specified participating member node combination can also be calculated based on the K data comparison sub-results.

[0060] In the embodiment of the present application, since the ciphertext business data are all encrypted using the same encryption key array, if two ciphertext business data are the same, then the corresponding two plaintext business data are also the same. Therefore, the central node can directly compare the ciphertext business data of different participating member nodes to determine which of the same plaintext business data (i.e., shared business data) are contained in different participating member nodes. In this way, the central node does not need to decrypt the ciphertext business data, and therefore does not need to obtain the corresponding data decryption key. That is, the business data in the data comparison process exists in ciphertext form, thereby ensuring the data security of the entire data processing process.

[0061] In addition, if the above-mentioned data comparison result includes data comparison sub-results corresponding to the K ciphertext business data of the first participating member node, that is, the ciphertext business data corresponds to the data comparison sub-result one-to-one, and each data comparison sub-result is used to characterize the set of second participating member nodes holding a certain ciphertext business data of the first participating member node, and the second participating member node set includes multiple second participating member nodes with the same ciphertext business data, that is, the data comparison sub-result includes the correspondence between the ciphertext business data and the multiple second participating member nodes with the ciphertext business data, then the first participating member node can determine the common business data of any specified participating member node combination based on the K data comparison sub-results; it can be seen that in the embodiment of the present application, the business data in the data comparison result obtained by the first participating member node from the central node also exists in ciphertext form, and the data comparison result only contains the data comparison sub-results related to the ciphertext business data of each participating member node. During the entire data processing process, only the central node can obtain all ciphertext business data. Since the central node cannot obtain the data decryption key, there is no need to add a forged business data to achieve the purpose of obfuscation, therefore, the number of ciphertext business data used in the data comparison process will not increase, thereby improving the data processing efficiency of the entire process; and, since the data comparison sub-result generated by the central node includes the correspondence between the ciphertext business data of the first participating member node and multiple second participating member nodes holding the ciphertext business data, rather than being specific to which common business data a certain preset participating member node combination holds, the first participating member node can determine the common business data of any specified participating member node combination based on the data comparison sub-results corresponding to the K ciphertext business data (that is, the data comparison results obtained by executing a data comparison task once), wherein the specified participating member node combination can include the node combination obtained by all combinations between the first participating member node and other participating member nodes, so that the first participating member node can determine which common business data is specifically included in any participating member node combination that it expects to know according to actual needs, thereby improving the flexibility of determining the common business data and meeting the personalized needs of different participating member nodes to determine the common business data of any node combination.

[0062] In a specific embodiment, the above-mentioned ciphertext data set includes user list ciphertext data, the user list ciphertext data includes K ciphertext user information, and the central node sends the data comparison result to the first participating member node as an example; Figure 2 As shown in FIG. 1 , a specific implementation process of a data processing method is given, which mainly includes:

[0063] (1) The participating member nodes encrypt their own K plaintext user information based on the encryption key array to obtain user list ciphertext data. Different participating member nodes use the same encryption key array. For example, the n participating member nodes include participating member nodes 1 to participating member nodes 4. Participating member node 1 encrypts to obtain user list ciphertext data 1, participating member node 2 encrypts to obtain user list ciphertext data 2, participating member node 3 encrypts to obtain user list ciphertext data 3, and participating member node 4 encrypts to obtain user list ciphertext data 4.

[0064] (2) The participating member nodes send the encrypted data of the user list generated by each of them to the central node;

[0065] (3) After receiving the user list ciphertext data respectively sent by the n participating member nodes, the central node performs user information comparison processing based on the n user list ciphertext data to obtain the user information comparison results corresponding to each participating member node; specifically, the user information comparison processing is performed based on the user list ciphertext data 1 to 4 to obtain the user information comparison result 1 corresponding to the participating member node 1; the user information comparison processing is performed based on the user list ciphertext data 1 to 4 to obtain the user information comparison result 2 corresponding to the participating member node 2; the user information comparison processing is performed based on the user list ciphertext data 1 to 4 to obtain the user information comparison result 3 corresponding to the participating member node 3; the user information comparison processing is performed based on the user list ciphertext data 1 to 4 to obtain the user information comparison result 4 corresponding to the participating member node 4;

[0066] (4) The central node sends the above user information comparison results to the corresponding participating member nodes; specifically, the user information comparison result 1 is sent to the participating member node 1, the user information comparison result 2 is sent to the participating member node 2, the user information comparison result 3 is sent to the participating member node 3, the user information comparison result 4 is sent to the participating member node 4, and the user information comparison result 5 is sent to the participating member node 5;

[0067] (5) The participating member node determines the list of common users of any specified participating member node combination based on the comparison result of the received user information. For example, participating member node 1 determines the list of common users a of the specified participating member node combination a, participating member node 2 determines the list of common users b of the specified participating member node combination b, participating member node 3 determines the list of common users c of the specified participating member node combination c, and participating member node 4 determines the list of common users d of the specified participating member node combination d. In addition, the number of common users of any specified participating member node combination can also be determined.

[0068] Among them, there are n participating member nodes. For the encryption process of the plaintext business data of the participating member nodes, since the central node can obtain the ciphertext business data of all participating member nodes, in order to improve data security, the central node cannot know the data encryption key, and thus cannot decrypt the ciphertext business data. Based on this, the m data encryption keys in the above encryption key array are generated by m participating member nodes among the n participating member nodes, such as Figure 3 As shown, the above S102, obtaining the ciphertext data set sent by the participating member nodes, specifically includes:

[0069] S1022, determining m participating member nodes among the n participating member nodes as key generation nodes;

[0070] Wherein, m is an integer greater than 1 and less than or equal to n, the m key generation nodes include the first participating member node and / or the third participating member node, the third participating member node does not include the first participating member node, that is, the third participating member node is any participating member node among the n participating member nodes that is different from the first participating member node; specifically, the n participating member nodes can be directly used as key generation nodes, that is, m is equal to n, or the value of m can be pre-set based on human experience, and then m participating member nodes are randomly selected from the n participating member nodes as key generation nodes, that is, m is less than n; however, considering that the larger the value of m is, the more complicated the business data encryption process is, therefore, in order to improve the accuracy of determining the value of m and take into account data security and data encryption efficiency, the value of m can be determined based on the data security level, that is, the value of m is related to the data security level of this data processing task. Based on this, the process of determining the key generation node specifically includes: determining the number of participating member nodes participating in key generation based on the data security level of the data processing task; and selecting m participating member nodes from the n participating member nodes as key generation nodes based on the above number of participating member nodes.

[0071] S1024, sending a key generation instruction to the determined m key generation nodes; the key generation instruction is used to trigger the key generation node to generate a data encryption key and send the data encryption key to the fourth participating member node;

[0072] Specifically, the fourth participating member node does not include the key generation node that sends the data encryption key, that is, for each key generation node, the data encryption key generated by each node is sent to other participating member nodes, and the fourth participating member node is any participating member node among the n participating member nodes that is different from the key generation node that sends the data encryption key; the fourth participating member node may be the same as or different from the third participating member node;

[0073] Specifically, the set of data encryption keys generated by the m key generation nodes respectively constitutes the above encryption key array; for example, taking the value of m equal to 3 and the n participating member nodes including participating member nodes 1 to participating member nodes 5 as an example, if the three key generation nodes determined from participating member nodes 1 to 5 include participating member nodes 1, participating member nodes 2, and participating member nodes 3, then the central node sends a key generation instruction to participating member nodes 1, participating member nodes 2, and participating member nodes 3; after receiving the key generation instruction, participating member node 1 generates a key according to the key generation method Generate data encryption key A1, and send data encryption key A1 to participating member nodes 2 to 5; after receiving the key generation instruction, participating member node 2 generates data encryption key A2 according to the key generation method, and sends data encryption key A2 to participating member nodes 1, 3 to 5; after receiving the key generation instruction, participating member node 3 generates data encryption key A3 according to the key generation method, and sends data encryption key A3 to participating member nodes 1 to 2, 4 to 5; in this way, participating member nodes 1 to 5 will all obtain the encryption key array (A1, A2, A3).

[0074] Specifically, considering that the arrangement order of each data encryption key in the encryption key array used by the participating member nodes 1 to 5 in the data encryption process should be consistent, so as to ensure that the ciphertext business data obtained by encrypting the same plaintext business data is the same, therefore, in the process of the central node sending the key generation instruction to the determined m key generation nodes, one key generation node can be selected from the m key generation nodes in turn as the current sending object, and the key generation instruction can be sent to the current sending object. After receiving the key generation success feedback information returned by the current sending object, the next current sending object is selected from the m key generation nodes until all the m key generation nodes are selected; wherein, after the key generation nodes send their own generated data encryption keys to the fourth participating member node and the fourth participating member node returns the key reception success notification, they send the key generation success feedback information to the central node; this can ensure that the receiving order of the m data encryption keys obtained by each participating member node is consistent, so the encryption key array constructed by each participating member node is the same.

[0075] In addition, the n participating member nodes only send the data encryption keys generated by each of them, and no business data will be exchanged between the n participating member nodes. Therefore, there is no problem of business data leakage between the n participating member nodes, which further improves data security.

[0076] S1026, obtaining a ciphertext data set obtained by encrypting data according to the encryption key array by n participating member nodes; the above-mentioned ciphertext data set includes K ciphertext business data; the above-mentioned ciphertext business data is obtained by encrypting the plaintext business data based on the encryption key array, and the encryption key array used by different participating member nodes is the same.

[0077] Specifically, the process of the central node obtaining the ciphertext data set from the participating member nodes can be that the participating member nodes actively send the ciphertext data set to the central node after generating the ciphertext data set, or the central node obtains it from the participating member nodes. For example, the central node first sends a ciphertext data acquisition request to the participating member nodes, and the participating member nodes send their respective ciphertext data sets to the central node after receiving the ciphertext data acquisition request. The present application does not limit this and it is within the protection scope of the present application.

[0078] Specifically, for the process of encrypting business data, the participating member node may take the encryption key array as a whole, and directly use the encryption key array to encrypt the plaintext business data generated by the participating member node to obtain the ciphertext business data; for example, for the plaintext business data a, if the encryption key array is (A1, A2, A3), then the encryption key array (A1, A2, A3) is used as the encryption key sequence to encrypt the plaintext business data a to obtain the ciphertext business data a; or the participating member node may take the m data encryption keys in the encryption key array as an encryption unit, and perform multiple encryption processes on the plaintext business data generated by the participating member node based on the encryption key array. Obtain ciphertext business data; for example, for plaintext business data a, if the encryption key array is (A1, A2, A3), then first use the data encryption key A1 to encrypt the plaintext business data a to obtain intermediate ciphertext business data 1, then use the data encryption key A2 to encrypt the intermediate ciphertext business data 1 to obtain intermediate ciphertext business data 2, then use the data encryption key A3 to encrypt the intermediate ciphertext business data 2 to obtain the final ciphertext business data a; then, any participating member node encrypts its own K plaintext business data based on the above encryption key array, and after obtaining a ciphertext data set containing K ciphertext business data, the ciphertext data set is sent to the central node.

[0079] In order to ensure that each participating member node obtains m data encryption keys and forms an encryption key array, each participating member node is triggered to perform data encryption. Based on this, the above S1026 obtains the ciphertext data set obtained by the n participating member nodes performing data encryption according to the encryption key array, which specifically includes:

[0080] Step 1: When the generation of m data encryption keys is completed, a data encryption instruction is sent to n participating member nodes; the data encryption instruction is used to trigger the participating member node to encrypt the plaintext business data generated by the participating member node based on the encryption key array to obtain ciphertext business data;

[0081] Specifically, the key generation nodes will send key generation success feedback information to the central node only after they have successfully sent the data encryption keys they have generated to the fourth participating member node (that is, the key generation nodes receive the key reception success notification returned by the fourth participating member node); therefore, after the central node receives the key generation success feedback information sent by m key generation nodes respectively, it determines that the generation of m data encryption keys is completed, and then the central node sends data encryption instructions to the n participating member nodes.

[0082] Step 2: Obtain a ciphertext data set containing K ciphertext business data sent by each participating member node.

[0083] In a specific embodiment, the above ciphertext data set includes user list ciphertext data, the user list ciphertext data includes K ciphertext user information, and the central node sends the data comparison result to the first participating member node as an example; in the above Figure 2 On the basis of Figure 4 As shown in FIG. 1 , a specific implementation process of a data processing method is given, which mainly includes:

[0084] (1) The central node selects m participating member nodes from n participating member nodes as key generation nodes based on the data security level; for example, n is equal to m, that is, the participating member nodes 1 to 4 are all used as key generation nodes;

[0085] (2) The central node sends key generation instructions to each participating member node in turn;

[0086] (3) After receiving the key generation instruction, the participating member nodes generate their own data encryption keys according to the key generation method, and send their own data encryption keys to the fourth participating member node;

[0087] (4) After receiving the key reception success notification returned by the fourth participating member node, the participating member node sends key generation success feedback information to the central node;

[0088] (5) After receiving the key generation success feedback information from each participating member node, the central node sends a data encryption instruction to each participating member node;

[0089] (6) After receiving the data encryption instruction, the participating member nodes encrypt their respective K plaintext user information based on the encryption key array to obtain the ciphertext data of the user list; wherein the encryption key array is constructed by the participating member nodes based on their respective data encryption keys and the received data encryption keys in the order in which the data encryption keys are obtained;

[0090] (7) The participating member nodes send the encrypted user list data generated by each of them to the central node;

[0091] (8) The central node performs user information comparison processing based on the encrypted data of the n user lists to obtain the user information comparison results corresponding to each participating member node;

[0092] (9) The central node sends the above user information comparison results to the corresponding participating member nodes;

[0093] (10) The participating member node determines the list of common users of any specified participating member node combination based on the comparison result of the received user information.

[0094] Among them, for the process of determining the data comparison result of the first participating member node, the above step 1, performing data comparison processing on the ciphertext business data in the above ciphertext data set to determine the data comparison sub-result of the ciphertext business data of the first participating member node, specifically includes:

[0095] Selecting the ciphertext business data to be compared from the K ciphertext business data of the first participating member node;

[0096] Performing data comparison processing on the currently selected ciphertext business data to be compared with the ciphertext business data in the n ciphertext data sets, determining the node identifier of the second participating member node, the second participating member node having the ciphertext business data to be compared;

[0097] According to the node identifier of the second participating member node and the ciphertext business data to be compared, a data comparison sub-result corresponding to the ciphertext business data to be compared is generated.

[0098] In a specific embodiment, still taking n participating member nodes including participating member nodes 1 to participating member nodes 4 as an example, Figure 5 As shown, the specific process of determining the data comparison result 1 of the participating member node 1 based on the n key data sets by the central node mainly includes:

[0099] For the first participating member node being participating member node 1, if the K plaintext business data (i.e. plaintext data set 1) of participating member node 1 include plaintext business data 11, plaintext business data 12 and plaintext business data 13, correspondingly, after the plaintext business data are encrypted based on the encryption key array, the K ciphertext business data (i.e. ciphertext data set 1) of participating member node 1 include ciphertext business data 11, ciphertext business data 12 and ciphertext business data 13; similarly, the K ciphertext business data (i.e. ciphertext data set 1) of participating member node 2 in plaintext data set 2 include ciphertext business data 11, ciphertext business data 12 and ciphertext business data 13. Each plaintext business data is encrypted to generate a ciphertext data set 2 (including ciphertext business data 21 to ciphertext business data 2i), the participating member node 3 encrypts each plaintext business data in the plaintext data set 3 to generate a ciphertext data set 3 (including ciphertext business data 31 to ciphertext business data 3j), and the participating member node 4 encrypts each plaintext business data in the plaintext data set 4 to generate a ciphertext data set 4 (including ciphertext business data 41 to ciphertext business data 4h), wherein i, j, and h are all integers greater than 1;

[0100] In the process of determining the data comparison result 1 of the participating member node 1 based on n key data sets, first, the ciphertext business data 11 is taken as the first ciphertext business data to be compared, and the ciphertext business data 11 is compared with each ciphertext business data in the ciphertext data sets corresponding to the participating member nodes 2 to 4 respectively. According to the comparison result, the participating member node holding the ciphertext business data 11 is taken as the second participating member node of the ciphertext business data 11, and the second participating member node set 11 is obtained, and then the data comparison sub-result 11 is obtained; for example, the data comparison sub-result 11 corresponding to the ciphertext business data 11 can be expressed as {ciphertext business data 11, second participating member node set 11}, if the participating member nodes 1 to 3 all contain the same ciphertext business data as the ciphertext business data 11, then the second participating member node set 11 can be expressed as [10001, 10002, 10003];

[0101] Then, the ciphertext business data 12 is taken as the next ciphertext business data to be compared, and the ciphertext business data 12 is compared with each ciphertext business data in the ciphertext data sets corresponding to the participating member nodes 2 to 4 respectively. According to the comparison result, the participating member node holding the ciphertext business data 12 is taken as the second participating member node of the ciphertext business data 12, and the second participating member node set 12 is obtained, and then the data comparison sub-result 12 is obtained; for example, the data comparison sub-result 12 corresponding to the ciphertext business data 12 can be expressed as {ciphertext business data 12, second participating member node set 12}, if the participating member nodes 1 and 4 both contain the same ciphertext business data as the ciphertext business data 12, then the second participating member node set 12 can be expressed as [10001, 10004];

[0102] Next, the ciphertext business data 13 is taken as the next ciphertext business data to be compared, and the ciphertext business data 13 is compared with each ciphertext business data in the ciphertext data sets corresponding to the participating member nodes 2 to 4 respectively. According to the comparison result, the participating member node holding the ciphertext business data 13 is taken as the second participating member node of the ciphertext business data 13, and the second participating member node set 13 is obtained, and then the data comparison sub-result 13 is obtained; for example, the data comparison sub-result 13 corresponding to the ciphertext business data 13 can be expressed as {ciphertext business data 13, second participating member node set 13}, if the participating member nodes 1, 3, and 4 all contain the same ciphertext business data as the ciphertext business data 13, then the second participating member node set 13 can be expressed as [10001, 10003, 10004];

[0103] At this point, the data comparison sub-results 11, 12, and 13 corresponding to the ciphertext business data 11, ciphertext business data 12, and ciphertext business data 13 of the participating member node 1 have been determined, thereby obtaining the data comparison result 1 of the participating member node 1; and so on, the data comparison result 2 of the participating member node 2, the data comparison result 3 of the participating member node 3, and the data comparison result 4 of the participating member node 4 are determined in turn. The specific process will not be repeated here.

[0104] Among them, considering that for the same ciphertext business data, no matter which participating member node the ciphertext business data belongs to, the second participating member node set determined for the ciphertext business data is the same, based on this, if in the process of determining the data comparison sub-results of other participating member nodes, the ciphertext business data has been selected as the ciphertext business data to be compared, then the second participating member node set corresponding to the ciphertext business data is known. Therefore, in order to improve the efficiency of determining the data comparison result, the data comparison sub-result corresponding to the selected ciphertext business data to be compared can be added to the historical comparison sub-result set, so that for the currently selected ciphertext business data to be compared, the second participating member node set service data, first determine whether there is a first comparison sub-result corresponding to the currently selected ciphertext service data to be compared in the historical comparison sub-result set; if there is, the first comparison sub-result can be directly determined as the data comparison sub-result of the currently selected ciphertext service data to be compared, and only when it does not exist, the currently selected ciphertext service data to be compared will be compared one by one with each ciphertext service data in the ciphertext data sets corresponding to other participating member nodes. Specifically, the data comparison processing based on the currently selected ciphertext service data to be compared and the ciphertext service data in the n ciphertext data sets is performed to determine the node identifier of the second participating member node, specifically including:

[0105] Step C1, determining whether the first comparison sub-result of the ciphertext business data to be compared exists in the historical comparison sub-result set; wherein the historical comparison sub-result set includes the data comparison sub-result of the ciphertext business data that has completed the comparison;

[0106] For example, in the process of determining data comparison result 1 for participating member node 1, for any ciphertext business data to be compared in ciphertext data set 1, data comparison processing is performed based on the ciphertext business data to be compared and n ciphertext data sets, and the data comparison sub-result of the ciphertext business data to be compared is determined, and the data comparison sub-result of the ciphertext business data to be compared is added to the historical comparison sub-result set; specifically, the data comparison sub-result 11 corresponding to the ciphertext business data 11, the data comparison sub-result 12 corresponding to the ciphertext business data 12, and the data comparison sub-result 13 corresponding to the ciphertext business data 13 are determined, and the data comparison sub-result The data comparison result 11, the data comparison sub-result 12 and the data comparison sub-result 13 are added to the historical comparison sub-result set; based on this, after the data comparison result 1 is determined for the participating member node 1, the historical comparison sub-result set includes the data comparison sub-result 11 corresponding to the ciphertext business data 11, the data comparison sub-result 12 corresponding to the ciphertext business data 12, and the data comparison sub-result 13 corresponding to the ciphertext business data 13; therefore, in the process of determining the data comparison result 2 for the participating member node 2, for any ciphertext business data in the ciphertext data set 2, first determine whether the data comparison sub-result of the ciphertext business data exists in the historical comparison sub-result set.

[0107] Step C2: if it exists, determining the node identifier of the second participating member node having the ciphertext business data to be compared based on the first comparison sub-result;

[0108] Specifically, if the first comparison sub-result corresponding to the above-mentioned ciphertext business data to be compared exists in the historical comparison sub-result set, it means that in the process of determining the data comparison sub-results of other participating member nodes, the ciphertext business data has been selected as the ciphertext business data to be compared, then, the second participating member node set corresponding to the ciphertext business data is known, and therefore, the first comparison sub-result in the historical comparison sub-result set can be directly determined as the data comparison sub-result of the above-mentioned ciphertext business data to be compared, without executing the step of performing data comparison between the above-mentioned ciphertext business data to be compared and the above-mentioned n ciphertext data sets.

[0109] Step C3, if it does not exist, then perform data comparison processing based on the above-mentioned ciphertext business data to be compared and the ciphertext business data in the n ciphertext data sets, and determine the second participating member node with the above-mentioned ciphertext business data to be compared; specifically, perform one-to-one comparison processing on the above-mentioned ciphertext business data to be compared with part of the ciphertext business data in the ciphertext data sets sent by the n participating member nodes respectively.

[0110] In addition, in the process of determining data comparison result 1 for participating member node 1, not only the data comparison sub-result of the ciphertext business data to be compared is added to the historical comparison sub-result set, but also the data comparison sub-result of the ciphertext business data to be compared is stored in the reserved comparison sub-result set. In this way, after data comparison sub-result 11, data comparison sub-result 12 and data comparison sub-result 13 are determined, the reserved comparison sub-result set includes data comparison sub-result 11, data comparison sub-result 12 and data comparison sub-result 13, that is, each data comparison sub-result in the reserved comparison sub-result set is taken out, and the combination of each data comparison sub-result taken out is determined as data comparison result 1; next, the data comparison sub-result determined for participating member node 2 can be stored in the reserved comparison sub-result set to obtain data comparison result 2.

[0111] It should be noted that, during the data comparison process, the ciphertext business data to be compared does not need to be compared with the ciphertext data set of the currently targeted first participating member node, but only needs to be compared with the ciphertext data sets of other participating member nodes except the currently targeted first participating member node; considering that for the first participating member node that has determined the data comparison result, the ciphertext business data to be compared has been compared with the ciphertext data set of the first participating member node, therefore, in order to further improve the data comparison efficiency, it is only necessary to compare the ciphertext business data to be compared with the ciphertext data sets of other participating member nodes except the currently targeted first participating member node and the first participating member node that has determined the data comparison result.

[0112] In the data processing method in the embodiment of the present application, on the one hand, since the ciphertext business data are all encrypted using the same encryption key array, if two ciphertext business data are the same, then the corresponding two plaintext business data are also the same. Therefore, the central node can directly compare the ciphertext business data of different participating member nodes to obtain the data comparison result of the first participating member node, and then based on the data comparison result, it can be determined which of the same plaintext business data (i.e., shared business data) are contained between the participating member nodes. In this way, since the data comparison process is uniformly executed by the central node, the business data will not be interoperable between the participating member nodes, and the central node Data comparison is performed directly based on ciphertext business data, and there is no need to decrypt the ciphertext business data, so there is no need to obtain the corresponding data decryption key. That is, the business data in the data comparison process exists in ciphertext form, thereby ensuring the business data security of the entire data processing process; on the other hand, the data comparison results obtained by each participating member node from the central node can only include data comparison sub-results related to the ciphertext business data of each participating member node. In the case where the data comparison sub-result contains business data, the business data is also generated by the participating member node itself and exists in ciphertext form. During the entire data processing process, only the central node can obtain To all ciphertext business data, since the central node cannot obtain the data decryption key, there is no need to add forged business data to achieve the purpose of obfuscation. Therefore, the amount of ciphertext business data used in the data comparison process will not increase, thereby improving the data processing efficiency of the entire process; on the other hand, since the data comparison result generated by the central node can include data comparison sub-results, and each data comparison result can include the correspondence between any ciphertext business data of the first participating member node and multiple second participating member nodes holding the ciphertext business data, rather than being specific to which common business data a certain preset participating member node combination holds, therefore, the first participating member node can determine the common business data of any specified participating member node combination based on the data comparison sub-result of the ciphertext business data (i.e., the data comparison result obtained by executing a data comparison task once), wherein the specified participating member node combination can include the node combination obtained by all combinations between the first participating member node and other participating member nodes, so that the first participating member node can determine which common business data is specifically included in any participating member node combination that is expected to be known according to actual needs, thereby improving the flexibility of determining the common business data and meeting the personalized needs of different participating member nodes to determine the common business data of any node combination.

[0113] Corresponding to the above Figures 1 to 5 The data processing method described above is based on the same technical concept. The embodiment of the present application also provides a data processing method. Figure 6 A flowchart of a data processing method provided in an embodiment of the present application is provided. Figure 6 The method in can be executed by the first participating member node, such as Figure 6 As shown, the method comprises at least the following steps:

[0114] S602, encrypting the plaintext business data based on the encryption key array to obtain a ciphertext data set; the ciphertext data set includes the ciphertext business data, and the encryption key array used by different participating member nodes is the same;

[0115] S604, sending the above ciphertext data set to the central node; specifically, the central node performs data comparison processing based on the ciphertext data set sent by the participating member nodes to obtain a data comparison result of the first participating member node;

[0116] In some example embodiments, the above-mentioned data comparison result may include the common business data of the preset participating member node combination, that is, the central node directly determines which common business data the preset participating member node combination holds, and the first participating member node obtains the common business data determined by the central node from the central node. In this way, since multiple participants in the preset participating member node combination are fixed, there is bound to be a problem of poor flexibility in determining the common business data, which cannot meet the personalized needs of different participating member nodes to determine the common business data of any participating member node combination; in other example embodiments, the above-mentioned data comparison result may include K data comparison sub-results, each of which is used to characterize the ciphertext business of the first participating member node. The second participating member node set of K encrypted business data, that is, the data comparison result obtained by the first participating member node from the central node is not specific to which shared business data a certain preset participating member node combination holds. Therefore, the first participating member node can determine the shared business data of any specified participating member node combination based on the data comparison sub-results corresponding to the K encrypted business data (that is, the data comparison result obtained by executing a data comparison task once). In this way, the first participating member node can determine which shared business data is specifically included in any participating member node combination that is expected to be known according to actual needs, thereby improving the flexibility of determining shared business data and meeting the personalized needs of different participating member nodes to determine the shared business data of any node combination;

[0117] S606, obtaining a data comparison result generated by the central node; the data comparison result is obtained by comparing the ciphertext business data in the ciphertext data set.

[0118] Specifically, the data comparison result may be obtained by the central node comparing the ciphertext business data in the ciphertext data sets respectively sent by the n participating member nodes; after obtaining the data comparison result, the first participating member node determines the common business data of the participating member node combination based on the data comparison result; in the case where the data comparison result includes the common business data of the preset participating member node combination, the first participating member node can directly obtain the common business data of the preset participating member node combination based on the data comparison result; and in the case where the data comparison result includes K data comparison sub-results obtained by performing data comparison processing based on the ciphertext data sets sent by the n participating member nodes, each data comparison sub-result represents the second participating member node set holding the ciphertext business data of the first participating member node, the first participating member node determines the common business data of any specified participating member node combination based on the received K data comparison sub-results, and the specified participating member node combination includes the first participating member node and at least one fifth participating member node;

[0119] Specifically, after obtaining the data comparison result, the first participating member node determines a target comparison sub-result that also includes the node identifiers of each participating member node in the specified participating member node combination based on the K data comparison sub-results in the data comparison result, and determines the business data targeted by the target comparison sub-result as the common business data of the specified participating member node combination.

[0120] In the embodiment of the present application, since the ciphertext business data are all encrypted using the same encryption key array, if two ciphertext business data are the same, then the corresponding two plaintext business data are also the same. Therefore, the central node can directly compare the ciphertext business data of different participating member nodes to determine which of the same plaintext business data (i.e., shared business data) are contained in different participating member nodes. In this way, the central node does not need to decrypt the ciphertext business data, and therefore does not need to obtain the corresponding data decryption key. That is, the business data in the data comparison process exists in ciphertext form, thereby ensuring the data security of the entire data processing process.

[0121] In addition, if the above-mentioned data comparison result includes data comparison sub-results corresponding to the K ciphertext business data of the first participating member node, that is, the ciphertext business data corresponds to the data comparison sub-result one-to-one, and each data comparison sub-result is used to characterize the set of second participating member nodes holding a certain ciphertext business data of the first participating member node, and the second participating member node set includes multiple second participating member nodes holding the same ciphertext business data, that is, the data comparison sub-result includes the correspondence between the ciphertext business data and the multiple second participating member nodes holding the ciphertext business data, then the first participating member node can determine the common business data of any specified participating member node combination based on the K data comparison sub-results; it can be seen that in the embodiment of the present application, the business data in the data comparison result obtained by the first participating member node from the central node also exists in ciphertext form, and the data comparison result only includes the data comparison sub-results related to the ciphertext business data of each participating member node. During the entire data processing process, only the central node can obtain all ciphertext business data. Since the central node cannot obtain the data decryption key, there is no need to add a forged business data to achieve the purpose of obfuscation, therefore, the number of ciphertext business data used in the data comparison process will not increase, thereby improving the data processing efficiency of the entire process; and, since the data comparison sub-result generated by the central node includes the correspondence between the ciphertext business data of the first participating member node and multiple second participating member nodes holding the ciphertext business data, rather than being specific to which common business data a certain preset participating member node combination holds, the first participating member node can determine the common business data of any specified participating member node combination based on the data comparison sub-results corresponding to the K ciphertext business data (that is, the data comparison results obtained by executing a data comparison task once), wherein the specified participating member node combination can include the node combination obtained by all combinations between the first participating member node and other participating member nodes, so that the first participating member node can determine which common business data is specifically included in any participating member node combination that it expects to know according to actual needs, thereby improving the flexibility of determining the common business data and meeting the personalized needs of different participating member nodes to determine the common business data of any node combination.

[0122] The above S602 encrypts the plaintext business data based on the encryption key array to obtain a ciphertext data set, which specifically includes:

[0123] Determine an encryption key array including m data encryption keys; the key generation nodes of the m data encryption keys include the first participating member node and / or the third participating member node, and m is an integer greater than 1 and less than or equal to n;

[0124] When receiving the data encryption instruction sent by the central node, the plaintext business data generated by the first participating member node is encrypted based on the above encryption key array to obtain a ciphertext data set.

[0125] Among them, for the case where the above-mentioned ciphertext data set includes user list ciphertext data, and the user list ciphertext data includes K ciphertext user information; the above-mentioned data comparison result is a user information comparison result, and the user information comparison result includes K user information comparison sub-results, and the user information comparison sub-results are used to represent the second participating member node set holding the ciphertext user information of the first participating member node.

[0126] In the data processing method in the embodiment of the present application, on the one hand, since the ciphertext business data are all encrypted using the same encryption key array, if two ciphertext business data are the same, then the corresponding two plaintext business data are also the same. Therefore, the central node can directly compare the ciphertext business data of different participating member nodes to obtain the data comparison result of the first participating member node, and then based on the data comparison result, it can be determined which of the same plaintext business data (i.e., shared business data) are contained between the participating member nodes. In this way, since the data comparison process is uniformly executed by the central node, the business data will not be interoperable between the participating member nodes, and the central node Data comparison is performed directly based on ciphertext business data, and there is no need to decrypt the ciphertext business data, so there is no need to obtain the corresponding data decryption key. That is, the business data in the data comparison process exists in ciphertext form, thereby ensuring the business data security of the entire data processing process; on the other hand, the data comparison results obtained by each participating member node from the central node can only include data comparison sub-results related to the ciphertext business data of each participating member node. In the case where the data comparison sub-result contains business data, the business data is also generated by the participating member node itself and exists in ciphertext form. During the entire data processing process, only the central node can obtain To all ciphertext business data, since the central node cannot obtain the data decryption key, there is no need to add forged business data to achieve the purpose of obfuscation. Therefore, the amount of ciphertext business data used in the data comparison process will not increase, thereby improving the data processing efficiency of the entire process; on the other hand, since the data comparison result generated by the central node can include data comparison sub-results, and each data comparison result can include the correspondence between any ciphertext business data of the first participating member node and multiple second participating member nodes holding the ciphertext business data, rather than being specific to which common business data a certain preset participating member node combination holds, therefore, the first participating member node can determine the common business data of any specified participating member node combination based on the data comparison sub-result of the ciphertext business data (i.e., the data comparison result obtained by executing a data comparison task once), wherein the specified participating member node combination can include the node combination obtained by all combinations between the first participating member node and other participating member nodes, so that the first participating member node can determine which common business data is specifically included in any participating member node combination that is expected to be known according to actual needs, thereby improving the flexibility of determining the common business data and meeting the personalized needs of different participating member nodes to determine the common business data of any node combination.

[0127] It should be noted that this embodiment in the present application and the previous embodiment in the present application are based on the same inventive concept, so the specific implementation of this embodiment can refer to the implementation of the aforementioned data processing method, and the repeated parts will not be repeated.

[0128] Corresponding to the above Figures 1 to 5 The data processing method described above is based on the same technical concept. The embodiment of the present application also provides a data processing device. Figure 7 A schematic diagram of the module composition of a data processing device provided in a central node according to an embodiment of the present application, which is used to execute Figures 1 to 5 The data processing methods described, such as Figure 7 As shown, the device comprises:

[0129] The data acquisition module 702 is used to acquire a ciphertext data set sent by a participating member node, wherein the ciphertext data set includes ciphertext business data, wherein the ciphertext business data is obtained by encrypting plaintext business data based on an encryption key array, and different participating member nodes use the same encryption key array, and the participating member nodes include a first participating member node;

[0130] The data comparison module 704 is used to perform data comparison processing on the ciphertext business data in the ciphertext data set to obtain the data comparison result of the first participating member node.

[0131] In the data processing device in the embodiment of the present application, on the one hand, since the ciphertext business data are all encrypted using the same encryption key array, if two ciphertext business data are the same, then the corresponding two plaintext business data are also the same. Therefore, the central node can directly compare the ciphertext business data of different participating member nodes to obtain the data comparison result of the first participating member node, and then based on the data comparison result, it can be determined which of the same plaintext business data (i.e., shared business data) are contained between the participating member nodes. In this way, since the data comparison process is uniformly executed by the central node, the business data will not be interoperable between the participating member nodes, and the central node Data comparison is performed directly based on ciphertext business data, and there is no need to decrypt the ciphertext business data, so there is no need to obtain the corresponding data decryption key. That is, the business data in the data comparison process exists in ciphertext form, thereby ensuring the business data security of the entire data processing process; on the other hand, the data comparison results obtained by each participating member node from the central node can only include data comparison sub-results related to the ciphertext business data of each participating member node. In the case where the data comparison sub-result contains business data, the business data is also generated by the participating member node itself and exists in ciphertext form. During the entire data processing process, only the central node can obtain To all ciphertext business data, since the central node cannot obtain the data decryption key, there is no need to add forged business data to achieve the purpose of obfuscation. Therefore, the amount of ciphertext business data used in the data comparison process will not increase, thereby improving the data processing efficiency of the entire process; on the other hand, since the data comparison result generated by the central node can include data comparison sub-results, and each data comparison result can include the correspondence between any ciphertext business data of the first participating member node and multiple second participating member nodes holding the ciphertext business data, rather than being specific to which common business data a certain preset participating member node combination holds, therefore, the first participating member node can determine the common business data of any specified participating member node combination based on the data comparison sub-result of the ciphertext business data (i.e., the data comparison result obtained by executing a data comparison task once), wherein the specified participating member node combination can include the node combination obtained by all combinations between the first participating member node and other participating member nodes, so that the first participating member node can determine which common business data is specifically included in any participating member node combination that is expected to be known according to actual needs, thereby improving the flexibility of determining the common business data and meeting the personalized needs of different participating member nodes to determine the common business data of any node combination.

[0132] It should be noted that the embodiments of the data processing device in the present application and the embodiments of the data processing method in the present application are based on the same inventive concept, so the specific implementation of this embodiment can refer to the implementation of the corresponding data processing method mentioned above, and the repeated parts will not be repeated.

[0133] Corresponding to the above Figure 6 The data processing method described above is based on the same technical concept. The embodiment of the present application also provides a data processing device. Figure 8 A schematic diagram of the module composition of a data processing device provided in a first participating member node according to an embodiment of the present application, wherein the device is used to execute Figure 6 The data processing methods described, such as Figure 8 As shown, the device comprises:

[0134] The data encryption module 802 is used to encrypt the plaintext business data based on the encryption key array to obtain a ciphertext data set; the ciphertext data set includes the ciphertext business data, and the encryption key array used by different participating member nodes is the same;

[0135] A data sending module 804 is used to send the ciphertext data set to a central node;

[0136] The result acquisition module 806 is used to acquire the data comparison result generated by the central node; the data comparison result is obtained by performing data comparison based on the ciphertext business data in the ciphertext data set.

[0137] In the data processing device in the embodiment of the present application, on the one hand, since the ciphertext business data are all encrypted using the same encryption key array, if two ciphertext business data are the same, then the corresponding two plaintext business data are also the same. Therefore, the central node can directly compare the ciphertext business data of different participating member nodes to obtain the data comparison result of the first participating member node, and then based on the data comparison result, it can be determined which of the same plaintext business data (i.e., shared business data) are contained between the participating member nodes. In this way, since the data comparison process is uniformly executed by the central node, the business data will not be interoperable between the participating member nodes, and the central node Data comparison is performed directly based on ciphertext business data, and there is no need to decrypt the ciphertext business data, so there is no need to obtain the corresponding data decryption key. That is, the business data in the data comparison process exists in ciphertext form, thereby ensuring the business data security of the entire data processing process; on the other hand, the data comparison results obtained by each participating member node from the central node can only include data comparison sub-results related to the ciphertext business data of each participating member node. In the case where the data comparison sub-result contains business data, the business data is also generated by the participating member node itself and exists in ciphertext form. During the entire data processing process, only the central node can obtain To all ciphertext business data, since the central node cannot obtain the data decryption key, there is no need to add forged business data to achieve the purpose of obfuscation. Therefore, the amount of ciphertext business data used in the data comparison process will not increase, thereby improving the data processing efficiency of the entire process; on the other hand, since the data comparison result generated by the central node can include data comparison sub-results, and each data comparison result can include the correspondence between any ciphertext business data of the first participating member node and multiple second participating member nodes holding the ciphertext business data, rather than being specific to which common business data a certain preset participating member node combination holds, therefore, the first participating member node can determine the common business data of any specified participating member node combination based on the data comparison sub-result of the ciphertext business data (i.e., the data comparison result obtained by executing a data comparison task once), wherein the specified participating member node combination can include the node combination obtained by all combinations between the first participating member node and other participating member nodes, so that the first participating member node can determine which common business data is specifically included in any participating member node combination that is expected to be known according to actual needs, thereby improving the flexibility of determining the common business data and meeting the personalized needs of different participating member nodes to determine the common business data of any node combination.

[0138] It should be noted that the embodiments of the data processing device in the present application and the embodiments of the data processing method in the present application are based on the same inventive concept, so the specific implementation of this embodiment can refer to the implementation of the corresponding data processing method mentioned above, and the repeated parts will not be repeated.

[0139] Furthermore, corresponding to the above Figures 1 to 6 Based on the same technical concept, the present application also provides an electronic device for executing the above data processing method. Fig. 9 shown.

[0140] Electronic devices may have relatively large differences due to different configurations or performances, and may include one or more processors 901 and memory 902, and the memory 902 may store one or more storage applications or data. Among them, the memory 902 may be a short-term storage or a persistent storage. The application stored in the memory 902 may include one or more modules (not shown in the figure), and each module may include a series of computer executable instructions in the electronic device. Furthermore, the processor 901 may be configured to communicate with the memory 902 to execute a series of computer executable instructions in the memory 902 on the electronic device. The electronic device may also include one or more power supplies 903, one or more wired or wireless network interfaces 904, one or more input and output interfaces 905, one or more keyboards 906, etc.

[0141] In a specific embodiment, the electronic device includes a memory and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer executable instructions for the electronic device, and the one or more programs configured to be executed by one or more processors include the following computer executable instructions:

[0142] Acquire a ciphertext data set sent by a participating member node, the ciphertext data set including ciphertext business data, the ciphertext business data being obtained by encrypting plaintext business data based on an encryption key array, different participating member nodes using the same encryption key array, the participating member nodes including a first participating member node;

[0143] The encrypted business data in the encrypted data set is subjected to data comparison processing to obtain a data comparison result of the first participating member node.

[0144] In another specific embodiment, the electronic device includes a memory and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer executable instructions for the electronic device, and the one or more programs are configured to be executed by one or more processors, including computer executable instructions for performing the following:

[0145] Encrypting the plaintext business data based on the encryption key array to obtain a ciphertext data set; the ciphertext data set includes the ciphertext business data, and the encryption key array used by different participating member nodes is the same;

[0146] Sending the ciphertext data set to a central node;

[0147] Obtaining a data comparison result generated by the central node; the data comparison result is obtained by performing a data comparison based on the ciphertext business data in the ciphertext data set.

[0148] In the electronic device in the embodiment of the present application, on the one hand, since the ciphertext business data are all encrypted using the same encryption key array, if two ciphertext business data are the same, then the corresponding two plaintext business data are also the same. Therefore, the central node can directly compare the ciphertext business data of different participating member nodes to obtain the data comparison result of the first participating member node, and then based on the data comparison result, it can be determined which of the same plaintext business data (i.e., shared business data) are contained between the participating member nodes. In this way, since the data comparison process is uniformly executed by the central node, the business data will not be interoperable between the participating member nodes, and the central node can directly compare the ciphertext business data of different participating member nodes to obtain the data comparison result of the first participating member node. Data comparison processing is performed based on the encrypted business data, and there is no need to decrypt the encrypted business data, so there is no need to obtain the corresponding data decryption key, that is, the business data in the data comparison process exists in the form of ciphertext, thereby ensuring the security of the business data in the entire data processing process; on the other hand, the data comparison results obtained by each participating member node from the central node can only include the data comparison sub-results related to the ciphertext business data of each participating member node. In the case where the data comparison sub-result contains business data, the business data is also generated by the participating member node itself and exists in the form of ciphertext. During the entire data processing process, only the central node can obtain For all ciphertext business data, since the central node cannot obtain the data decryption key, there is no need to add forged business data to achieve the purpose of obfuscation. Therefore, the number of ciphertext business data used in the data comparison process will not increase, thereby improving the data processing efficiency of the entire process; on the other hand, since the data comparison result generated by the central node can include data comparison sub-results, and each data comparison result can include the correspondence between any ciphertext business data of the first participating member node and multiple second participating member nodes holding the ciphertext business data, rather than being specific to which common business data a certain preset participating member node combination holds, the first participating member node can determine the common business data of any specified participating member node combination based on the data comparison sub-result of the ciphertext business data (that is, the data comparison result obtained by executing a data comparison task once), wherein the specified participating member node combination can include the node combination obtained by all combinations between the first participating member node and other participating member nodes, so that the first participating member node can determine which common business data is specifically included in any participating member node combination that is expected to be known according to actual needs, thereby improving the flexibility of determining the common business data and meeting the personalized needs of different participating member nodes to determine the common business data of any node combination.

[0149] It should be noted that the embodiment of the electronic device in the present application and the embodiment of the data processing method in the present application are based on the same inventive concept, so the specific implementation of this embodiment can refer to the implementation of the corresponding data processing method mentioned above, and the repeated parts will not be repeated.

[0150] Furthermore, corresponding to the above Figures 1 to 6 The method shown is based on the same technical concept. The embodiment of the present application also provides a computer-readable storage medium for storing computer-executable instructions. In a specific embodiment, the storage medium can be a USB flash drive, an optical disk, a hard disk, etc. When the computer-executable instructions stored in the storage medium are executed by the processor, the following process can be implemented:

[0151] Obtain a ciphertext data set sent by a participating member node, wherein the ciphertext data set includes ciphertext business data, and the ciphertext business data is obtained by encrypting plaintext business data based on an encryption key array, and different participating member nodes use the same encryption key array, and the participating member nodes include a first participating member node; perform data comparison processing on the ciphertext business data in the ciphertext data set to obtain a data comparison result of the first participating member node.

[0152] In another specific embodiment, the storage medium may be a USB flash drive, an optical disk, a hard disk, etc. When the computer executable instructions stored in the storage medium are executed by the processor, the following process can be implemented:

[0153] Encrypting the plaintext business data based on the encryption key array to obtain a ciphertext data set; the ciphertext data set includes the ciphertext business data, and the encryption key array used by different participating member nodes is the same;

[0154] The ciphertext data set is sent to a central node; a data comparison result generated by the central node is obtained; the data comparison result is obtained by comparing the ciphertext business data in the ciphertext data set.

[0155] When the computer executable instructions stored in the storage medium in the embodiment of the present application are executed by the processor, on the one hand, since the ciphertext business data are all encrypted using the same encryption key array, if two ciphertext business data are the same, then the corresponding two plaintext business data are also the same. Therefore, the central node can directly compare the ciphertext business data of different participating member nodes to obtain the data comparison result of the first participating member node, and then based on the data comparison result, it can be determined which of the same plaintext business data (i.e., shared business data) are contained between the participating member nodes. In this way, since the data comparison process is uniformly executed by the central node, the business data will not be shared among the participating member nodes. The nodes are interoperable, and the central node performs data comparison processing directly based on the ciphertext business data, without the need to decrypt the ciphertext business data, and therefore without the need to obtain the corresponding data decryption key, that is, the business data in the data comparison process is in the form of ciphertext, thereby ensuring the business data security of the entire data processing process; on the other hand, the data comparison results obtained by each participating member node from the central node can only include the data comparison sub-results related to the ciphertext business data of each participating member node. In the case where the data comparison sub-result contains business data, the business data is also generated by the participating member node itself and exists in the form of ciphertext. In the entire data processing process, only A central node can obtain all ciphertext business data. Since the central node cannot obtain the data decryption key, there is no need to add forged business data to achieve the purpose of obfuscation. Therefore, the amount of ciphertext business data used in the data comparison process will not increase, thereby improving the data processing efficiency of the entire process. On the other hand, since the data comparison result generated by the central node can include data comparison sub-results, and each data comparison result can include the correspondence between any ciphertext business data of the first participating member node and multiple second participating member nodes holding the ciphertext business data, rather than being specific to which common business data a certain preset participating member node combination holds, the first participating member node can determine the common business data of any specified participating member node combination based on the data comparison sub-result of the ciphertext business data (i.e., the data comparison result obtained by executing a data comparison task once), wherein the specified participating member node combination can include the node combination obtained by all combinations between the first participating member node and other participating member nodes, so that the first participating member node can determine which common business data is specifically included in any participating member node combination that is expected to be known according to actual needs, thereby improving the flexibility of determining the common business data and meeting the personalized needs of different participating member nodes to determine the common business data of any node combination.

[0156] It should be noted that the embodiment of the storage medium in the present application and the embodiment of the data processing method in the present application are based on the same inventive concept, so the specific implementation of this embodiment can refer to the implementation of the corresponding data processing method mentioned above, and the repeated parts will not be repeated.

[0157] The above describes a specific embodiment of the present application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiment and still achieve the desired result. In addition, the process depicted in the drawings does not necessarily require the specific order or continuous order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous. It should be understood by those skilled in the art that the embodiments of the present application can be provided as methods, systems or computer program products. Therefore, the embodiments of the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application can take the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code. The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, and the combination of the processes and / or boxes in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the process Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0158] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide for implementing the process in the process. Figure 1 A process or multiple processes and / or boxes Figure 1The steps of the functions specified in the blocks or multiple blocks. In a typical configuration, the computing device includes one or more processors (CPU), input / output interfaces, network interfaces and memory. The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium. Computer-readable media include permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. The information can be a computer-readable instruction, a data structure, a module of a program or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, disk storage or other magnetic storage devices or any other non-transmission media for storing information that can be accessed by a computing device. According to the definition in this article, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0159] It should also be noted that the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of further restrictions, the elements defined by the statement "includes one..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements. The embodiments of the present application can be described in the general context of computer executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. One or more embodiments of the present application can also be practiced in distributed computing environments, in which tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices. Each embodiment in the present application is described in a progressive manner, and the same and similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can refer to the partial description of the method embodiment. The above is only an embodiment of this document and is not intended to limit this document. For those skilled in the art, this document may have various changes and variations. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this document should be included in the scope of the claims of this document.

Claims

1. A data processing method, characterized in that: Applied to the central node, the method includes: Acquire a ciphertext data set sent by a participating member node, the ciphertext data set including ciphertext business data, the ciphertext business data being obtained by encrypting plaintext business data based on an encryption key array, different participating member nodes using the same encryption key array, the participating member nodes including a first participating member node; The encrypted business data in the encrypted data set is subjected to data comparison processing to obtain a data comparison result of the first participating member node.

2. The method according to claim 1, characterized in that Performing data comparison processing on the ciphertext business data in the ciphertext data set to obtain a data comparison result of the first participating member node includes: Performing data comparison processing on the ciphertext business data in the ciphertext data set to determine a data comparison sub-result of the ciphertext business data of the first participating member node, wherein the data comparison sub-result is used to characterize a second participating member node set, and all participating member nodes in the second participating member node set have the ciphertext business data of the first participating member node; Based on the data comparison sub-result, a data comparison result of the first participating member node is obtained.

3. The method according to claim 2, characterized in that The number of the ciphertext business data is K, the number of the ciphertext data set is n, and both n and K are integers greater than 1; performing data comparison processing on the ciphertext business data in the ciphertext data set to determine a data comparison sub-result of the ciphertext business data of the first participating member node includes: Selecting the ciphertext business data to be compared from the K ciphertext business data of the first participating member node; Performing data comparison processing on the ciphertext business data to be compared with the ciphertext business data in the n ciphertext data sets, determining a node identifier of a second participating member node, wherein the second participating member node has the ciphertext business data to be compared; A data comparison sub-result is generated according to the node identifier of the second participating member node and the ciphertext business data to be compared.

4. The method according to claim 3, characterized in that The step of performing data comparison processing on the ciphertext business data to be compared with the ciphertext business data in the n ciphertext data sets to determine the node identifier of the second participating member node includes: Determine whether the first comparison sub-result of the ciphertext business data to be compared exists in the historical comparison sub-result set; If so, determining the node identifier of the second participating member node having the ciphertext business data to be compared based on the first comparison sub-result; If it does not exist, a data comparison process is performed based on the ciphertext business data to be compared and the ciphertext business data in the n ciphertext data sets to determine the node identifier of the second participating member node.

5. The method according to claim 1, characterized in that The number of the participating member nodes is n, and the obtaining of the ciphertext data set sent by the participating member nodes includes: Determine m participating member nodes among the n participating member nodes as key generation nodes; the m key generation nodes include the first participating member node and / or the third participating member node, and m is an integer greater than 1 and less than or equal to n; Sending a key generation instruction to the m key generation nodes; the key generation instruction is used to trigger the key generation node to generate a data encryption key and send the data encryption key to the fourth participating member node, and the set of data encryption keys respectively generated by the m key generation nodes constitutes the encryption key array; Obtain a ciphertext data set encrypted by the n participating member nodes according to the encryption key array.

6. The method according to claim 5, characterized in that The obtaining of the ciphertext data set encrypted by the n participating member nodes according to the encryption key array comprises: When the generation of the m data encryption keys is completed, a data encryption instruction is sent to the n participating member nodes; the data encryption instruction is used to trigger the participating member nodes to encrypt the plaintext business data of the participating member nodes based on the encryption key array to obtain ciphertext business data; Obtain a ciphertext data set including K ciphertext business data sent by the participating member node.

7. The method according to claim 5, characterized in that The step of determining m participating member nodes among the n participating member nodes as key generation nodes comprises: Based on the data security level of the data processing task, determine the number of participating member nodes participating in key generation; Based on the number of participating member nodes, m participating member nodes are selected from the n participating member nodes as key generation nodes.

8. The method according to any one of claims 1 to 7, characterized in that: The ciphertext data set includes user list ciphertext data, and the user list ciphertext data includes K ciphertext user information.

9. A data processing method, characterized in that: Applied to a first participating member node, the method comprises: Encrypting the plaintext business data based on the encryption key array to obtain a ciphertext data set; the ciphertext data set includes the ciphertext business data, and the encryption key array used by different participating member nodes is the same; Sending the ciphertext data set to a central node; Obtaining a data comparison result generated by the central node; the data comparison result is obtained by performing a data comparison based on the ciphertext business data in the ciphertext data set.

10. The method according to claim 9, characterized in that The data comparison result includes a data comparison sub-result of the ciphertext business data of the first participating member node, and the data comparison sub-result is used to characterize a second participating member node set, and all participating member nodes in the second participating member node set have the ciphertext business data of the first participating member node; After obtaining the data comparison result generated by the central node, the method further includes: Determine the common business data of the specified participating member node combination based on the data comparison sub-result; The designated participating member node combination includes the first participating member node and at least one fifth participating member node.

11. The method according to claim 9, characterized in that The plaintext business data is encrypted based on the encryption key array to obtain a ciphertext data set, including: Determine an encryption key array including m data encryption keys; the key generation nodes of the m data encryption keys include the first participating member node and / or the third participating member node, m is an integer greater than 1 and less than or equal to n, n represents the number of participating member nodes, and n is an integer greater than 1; When receiving the data encryption instruction sent by the central node, the plaintext business data of the first participating member node is encrypted based on the encryption key array to obtain a ciphertext data set.

12. The method according to claim 9, characterized in that The ciphertext data set includes user list ciphertext data, and the user list ciphertext data includes K ciphertext user information, where K is an integer greater than 1.

13. A data processing device, characterized in that: Set at the central node, the device includes: A data acquisition module, used to acquire a ciphertext data set sent by a participating member node, wherein the ciphertext data set includes ciphertext business data, wherein the ciphertext business data is obtained by encrypting plaintext business data based on an encryption key array, and different participating member nodes use the same encryption key array, and the participating member nodes include a first participating member node; The data comparison module is used to perform data comparison processing on the ciphertext business data in the ciphertext data set to obtain the data comparison result of the first participating member node.

14. A data processing device, characterized in that: Set at the first participating member node, the device includes: A data encryption module, used to encrypt the plaintext business data based on the encryption key array to obtain a ciphertext data set; the ciphertext data set includes the ciphertext business data, and the encryption key array used by different participating member nodes is the same; A data sending module, used for sending the ciphertext data set to a central node; A result acquisition module is used to acquire the data comparison result generated by the central node; the data comparison result is obtained by comparing the ciphertext business data in the ciphertext data set.

15. An electronic device, characterized in that: The device comprises: Processor; and A memory arranged to store computer executable instructions, the executable instructions being configured to be executed by the processor, the executable instructions comprising instructions for performing the steps of the method according to any one of claims 1 to 8 or any one of claims 9 to 12.

16. A computer-readable storage medium, characterized in that: The storage medium is used to store computer-executable instructions, and the executable instructions enable a computer to execute the method according to any one of claims 1 to 8 or any one of claims 9 to 12.

Citation Information

Patent Citations

  • Method and device for matching data

    CN107196918A

  • Method and device for matching data

    CN107196919A

  • Multi-party safety calculation method and device, and electronic equipment

    CN109241016A

  • Progressive Key Rotation for Format Preserving Encryption (FPE)

    US20180089454A1