Multi-source data fusion calculation method and multi-source data fusion calculation system
By constructing the address mapping between the data encoding sequence and the database in the system initialization stage of the multi-source data fusion computing system, and querying the function function value based on the map during the operation stage, the problem of large computing and communication overhead in the multi-source data fusion computing is solved, efficiency is improved and data privacy is guaranteed.
Patent Information
- Application Number
- CN202510233660.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-28
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2045-02-28
AI Technical Summary
The calculation overhead and communication overhead during multi-source data fusion calculation process are large, resulting in low efficiency.
In the system initialization stage, an address mapping between the data encoding sequence and the database is constructed, and the target address is calculated based on the data encoding and address mapping of the secret data of each data party, and the function value is stored in the target address. During the system operation stage, the address of the current secret data's functional function value in the database is calculated based on address mapping and data encoding, and the database is queried to obtain the functional function value.
By focusing on the system initialization stage to perform multi-source data fusion computing tasks and performing only simple calculations and queries during the system operation stage, the calculation overhead and communication overhead are reduced, the efficiency of multi-source data fusion computing is improved, and data privacy is guaranteed.
Smart Images

Figure CN119719159A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computers, and in particular, to a multi-source data fusion computing method, a multi-source data fusion computing system, a computer-readable storage medium, and an electronic device. Background Art
[0002] Multi-source data fusion computing refers to integrating and analyzing multiple data from different sources in order to extract valuable information from them. It involves a wide range of fields, including intelligent transportation, medical health, environmental monitoring, and financial analysis. Although multi-source data fusion computing has broad application prospects, it also faces some challenges, such as data heterogeneity, computational complexity, privacy protection, and real-time requirements.
[0003] In order to improve the performance of privacy computing technology for multi-source data fusion computing, some solutions have proposed a series of improvements and optimization solutions from the perspective of algorithm design or software and hardware implementation. Although these improvements and optimization measures have achieved certain results, they are still limited in practical applications. The main reason is that the computational and communication overheads of the multi-source data fusion computing process are large, resulting in low efficiency of multi-source data fusion computing. Summary of the invention
[0004] The embodiments of the present application provide a multi-source data fusion computing method, a multi-source data fusion computing system, a computer-readable storage medium and an electronic device to at least solve the problem in the related art that the computing overhead and communication overhead of the multi-source data fusion computing process are large, resulting in low efficiency of the multi-source data fusion computing.
[0005] The present application provides a multi-source data fusion calculation method. In the system initialization stage, an address mapping between a data coding sequence and a database is constructed, and a target address is calculated based on the data coding of the secret data of each data party and the address mapping. The function function value obtained by performing a privacy calculation task based on the secret data of each data party is stored in the target address, wherein the function function value corresponds to the data coding sequence, and the data coding sequence is an ordered vector composed of multiple data codings of all data parties. In the system operation stage, based on the address mapping and the data coding of each data party, the address of the function function value corresponding to the current secret data of each data party in the database is calculated, and the database is queried according to the address to obtain the function function value, wherein the data coding of the current secret data is an element in the data coding sequence corresponding to the current address.
[0006] The present application also provides another embodiment of the present application, which provides a multi-source data fusion computing system, wherein the multi-source data fusion computing system includes a data party, a demand party and a privacy computing system, wherein the privacy computing system includes multiple computing parties, wherein, in the system initialization stage, the demand party constructs an address mapping between a data coding sequence and a database based on the data of each of the data parties; each of the data parties is used to randomly encode the secret data it holds, obtain the corresponding data coding, and send the data coding of the secret data to the demand party; the demand party calculates a functional function value, and calculates the address of the functional function value corresponding to the data coding sequence in the database based on the received data coding of each of the data parties and the address mapping, and then stores the functional function value in the corresponding address of the database; in the system operation stage, the data party is used to send the data coding of the current secret data to the demand party, so that the demand party queries the database according to the address mapping to obtain the functional function value corresponding to the current secret data of each of the data parties.
[0007] The present application also provides another embodiment according to the present application, and also provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0008] The present application also provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0009] Through this application, in the system initialization stage, an address mapping between a data coding sequence and a database is constructed, and a target address is calculated based on the data coding and address mapping of the secret data of each data party, and the function function value obtained by executing the privacy computing task based on the secret data of each data party is stored in the target address, wherein the function function value corresponds to the data coding sequence, and the data coding sequence is an ordered vector composed of multiple data codes of all data parties; in the system operation stage, based on the address mapping and the data coding of each data party, the address of the function function value corresponding to the current secret data of each data party in the database is calculated, and the function function value is obtained by querying the database according to the address, wherein the data coding of the current secret data is the element in the data coding sequence corresponding to the current address. In this way, the construction of the address mapping, the privacy computing task and the storage of the function function value are completed in the system initialization stage, and in the system operation stage, only the corresponding function function value needs to be obtained from the corresponding address according to the address mapping, that is, this scheme concentrates the multi-source data fusion computing task in the system initialization stage, and only performs simple calculations on a small amount of data in the system operation stage. The computational overhead and communication overhead of the multi-source data fusion computing process are reduced, and the efficiency of the multi-source data fusion computing is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 is a flowchart of a multi-source data fusion calculation method according to an embodiment of the present application;
[0011] Figure 2 is a schematic diagram of the architecture of a first multi-source data fusion computing system according to an embodiment of the present application;
[0012] Figure 3 is a schematic diagram of the architecture of a second multi-source data fusion computing system according to an embodiment of the present application;
[0013] Figure 4 is a tree-structured database schematic diagram of a multi-source data fusion computing system according to an embodiment of the present application;
[0014] Figure 5 It is a schematic diagram of database construction based on address mapping inversion of a multi-source data fusion computing system according to an embodiment of the present application;
[0015] Figure 6 It is a schematic diagram of database construction based on multiple cycles of a multi-source data fusion computing system according to an embodiment of the present application. DETAILED DESCRIPTION
[0016] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0017] It should be noted that, in the description of this application, the terms "include", "comprise" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. The terms "first", "second", etc. in this application are used to distinguish similar objects, and are not used to describe a specific order or sequence.
[0018] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0019] This embodiment provides a multi-source data fusion calculation method. Figure 1 is a flow chart of a multi-source data fusion calculation method according to an embodiment of the present application, such as Figure 1 As shown, the above method comprises the following steps:
[0020] Step S101: In the system initialization stage, an address mapping between a data coding sequence and a database is constructed, and a target address is calculated based on the data coding of the secret data of each data party and the address mapping, and the function value obtained by performing the privacy computing task based on the secret data of each data party is stored in the target address, wherein the function value corresponds to the data coding sequence, and the data coding sequence is an ordered vector composed of multiple data codes of all data parties;
[0021] Wherein, one of the above data coding sequences is obtained by arranging the data codes of all data parties in a certain order, and one data coding sequence includes one data code of each data party;
[0022] Specifically, the privacy computing task is performed based on the privacy computing protocol to calculate the function value, where the privacy computing protocol is a key technology to ensure that data will not be leaked during the fusion computing process, such as homomorphic encryption (HE), secure multi-party computing (MPC), etc. The function can be any function that performs fusion computing on multi-source data, such as statistical averages, model prediction results, etc., but its specific definition depends on application requirements.
[0023] First, an address mapping is constructed to associate the data encoding sequence with a specific address in the database. Calculate the target address Based on the constructed address mapping, the target address corresponding to each data encoding sequence is calculated. The calculation of the target address ensures that the function value can be correctly stored and retrieved. The function value is the result obtained after performing the privacy computing task based on the secret data of each data party. During the system initialization phase, the privacy computing task is performed based on the data encoding of the secret data sent by the data party. After the calculation is completed, these function values are stored in the database, specifically in the target address corresponding to the data encoding sequence. Since the function value corresponds to the data encoding sequence one by one, this storage mechanism ensures that the function value can be quickly located and retrieved according to the queried data encoding sequence.
[0024] In the system initialization phase, by constructing the address mapping between the data coding sequence and the database, and calculating the target address based on the data coding and address mapping of the secret data of each data party, the function value is stored in the target address, and the present application provides an efficient and secure data processing and storage method. This mechanism ensures the orderliness of the data coding sequence, the correct storage of the function value, and the speed and privacy of database query, providing a solid foundation for data query and real-time data fusion in the subsequent system operation phase.
[0025] Step S102: During the system operation stage, based on the address mapping and the data encoding of each of the data parties, the address of the function value corresponding to the current secret data of each of the data parties in the database is calculated, and the database is queried according to the address to obtain the function value, wherein the data encoding of the current secret data is an element in the data encoding sequence corresponding to the current address.
[0026] The data encoding of the current secret data of the data party is encrypted and generated by the data party during the initialization phase, and corresponds one-to-one to the actual secret data.
[0027] According to the data encoding of the current secret data of the data party, the address mapping constructed in the system initialization phase is used, which makes it possible to calculate the address in the database from the data encoding without knowing the actual secret data corresponding to the data encoding. The design of the address mapping ensures that each data encoding sequence corresponds to a unique address in the database, so the function value can be accurately located.
[0028] Based on the address calculated by address mapping, the database is directly queried. The database stores the function values calculated during the system initialization phase. Each value corresponds to a specific data encoding sequence and is stored in a predefined address in the database. There is no need to perform complex privacy computing tasks, just query the database to obtain the required function value.
[0029] Finally, the function value corresponding to the data encoding of the current secret data of the data party can be obtained from the database through a simple query operation. These function values are obtained based on the fusion calculation of multi-source data without leaking the original data, which satisfies the data privacy protection while providing the functions of data analysis and fusion calculation. In addition, since each element in the data encoding sequence corresponds to a specific secret data, the data encoding of the current secret data is the element in the data encoding sequence corresponding to the current address, which ensures that the queried function value is directly related to the current secret data of the data party.
[0030] In summary, by constructing the address mapping between the data encoding sequence and the database in the system initialization phase, the core of the system operation phase is to use the address mapping and database query, which can quickly and directly obtain the function value corresponding to the data encoding of the data party's current secret data without the need for real-time privacy calculation, greatly improving the system's response speed, reducing communication overhead, and protecting the data privacy of the data party throughout the process. This method provides an efficient and privacy-safe solution for real-time data fusion scenarios.
[0031] In summary, the multi-source data fusion calculation method proposed in this application builds an address mapping between the data coding sequence and the database in the system initialization stage, and calculates the address of the function function value corresponding to the data coding sequence in the database based on the data coding and address mapping of each data party, and stores the calculated function function value in the corresponding address; in the system operation stage, the address of the function function value corresponding to the current secret data of each data party in the above database is calculated based on the above address mapping and the data coding of each data party, and the database is queried according to the above address to obtain the above function function value, wherein the data coding of the current secret data is the element in the data coding sequence corresponding to the current address. In this way, the construction of the address mapping, the privacy calculation task and the storage of the function function value are completed in the system initialization stage, and in the system operation stage, only the corresponding function function value needs to be obtained from the corresponding address according to the address mapping, that is, this scheme concentrates the multi-source data fusion calculation task in the system initialization stage, and only performs simple calculations on a small amount of data in the system operation stage. The calculation overhead and communication overhead of the multi-source data fusion calculation process are reduced, the efficiency of the multi-source data fusion calculation is improved, and the privacy of the data of all parties is guaranteed.
[0032] In one embodiment of the present application, before storing the function function value obtained by executing the privacy computing task based on the secret data of the above-mentioned data parties in the above-mentioned target address, the above-mentioned method also includes: encrypting the secret data held by each of the above-mentioned data parties to obtain a ciphertext; executing the above-mentioned privacy computing task based on the above-mentioned ciphertext obtained by the encryption process to obtain an intermediate result; and calculating the above-mentioned function function value based on the above-mentioned intermediate result.
[0033] In the specific implementation, the method of calculating the functional function value depends on the specific privacy computing protocol adopted. For example, if it is a protocol based on additive secrets, the functional function value is obtained by summing up all intermediate results. If it is a protocol based on Shamir secret sharing, the functional function value can be obtained by calculating the Lagrange interpolation polynomial or solving a system of linear equations.
[0034] Specifically, before the data fusion calculation begins, the secret data held by the data party is encrypted. Encryption is the process of converting raw data into ciphertext using cryptographic technology. The purpose is that even if the data is intercepted by a third party during transmission or storage, the third party cannot interpret the original content of the data. Encryption can use secure encryption algorithms such as the Advanced Encryption Standard (AES) or technologies based on homomorphic encryption (HE) to ensure the confidentiality of data when it is processed in a privacy computing system.
[0035] Based on the ciphertext obtained after encryption, specific privacy computing tasks are performed. Privacy computing tasks usually include but are not limited to homomorphic encryption computing, secure multi-party computing (MPC), computing in a trusted execution environment (TEE), etc. These computing technologies can operate on data without leaking the data itself to obtain intermediate results. There are multiple intermediate results, and one computing party corresponds to one intermediate result. The intermediate result is a key step in the privacy computing process, which contains part of the calculation results or encrypted values for subsequent calculations.
[0036] The intermediate results obtained from the privacy computing task are processed and calculated to obtain the functional function value. In this step, various mathematical methods or computing protocols can be used to combine or process the intermediate results to obtain the functional function value associated with the fused data. The functional function value reflects a certain characteristic or result of the data party's data after the fusion calculation, but does not contain any specific information that can be traced back to the original data, thereby ensuring data privacy while providing the function of data fusion calculation.
[0037] In short, the purpose of the above steps is to provide a secure data processing environment for the subsequent database construction and system operation phase. The use of data encryption and privacy computing technology ensures that the data privacy of the data party is protected to the greatest extent during the data fusion calculation process, while ensuring the accuracy and effectiveness of the calculation results. This method not only protects data privacy, but also provides a basis for efficient fusion calculation of multi-source data.
[0038] In the embodiment of determining data coding of the present application, the above method also includes: the first way: in the above system initialization stage, traverse the address of the above database, and determine the above data coding sequence corresponding to the above traversed address based on the above address mapping; the second way: in the above system initialization stage, based on the data coding set of each of the above data parties, traverse the data coding sequence in a multiple-loop manner. In the above system initialization stage, traverse the above data coding of each of the above data parties respectively based on the multiple-loop traversal method to obtain the corresponding data coding sequence. That is to say, the above two ways can be used to realize the traversal of the data coding sequence. The first way is based on the address of the traversal database, and the second way is to directly traverse the data coding set of the data party.
[0039] In a more specific embodiment, in the system initialization phase, based on the data code sets of each of the data cubes, the data code sequence is traversed in a multiple-loop manner, including:
[0040] Data Cube From 1 to Traversal Data Encoding ;for , data side From 1 to Traversal Data Encoding ; For each two-dimensional sequence traversed , data side From 1 to Traversal Data Encoding ; Until, for each m-1 dimensional sequence traversed From 1 to Traversal Data Encoding , get the data encoding sequence ; Among them, the data From 1 to Traversal Data Encoding , indicating the data side Will Assign the values to ,in Indicates data source The amount of data, Indicates the number of the above data cubes;
[0041] In the system initialization stage, based on the data encoding set of each of the data cubes, the data encoding sequence is traversed in a multiple-cycle manner, and then the method further includes: in the system initialization stage, according to k The database address corresponding to the above data encoding sequence is calculated, where: Indicates the data code of each of the above data.
[0042] As mentioned above, the data encoding set refers to the set consisting of all possible values of the encoding mapping of each data cube. For example, The data encoding set is ,here . And all data encoding sets involved in this application represent this meaning.
[0043] In the above-mentioned second method, for each traversed data encoding sequence, the demander needs to calculate the database address according to the data encoding sequence, which is different from the idea of directly traversing the database address in the first method.
[0044] It is understandable that a key operation in the first method is to traverse the addresses in the database. The database is designed to store the functional function value corresponding to each data encoding sequence. In order to build a complete database, it is necessary to traverse every address in the database. This process ensures that all possible data encoding sequences are taken into account. When traversing each database address, address mapping is used to determine the data encoding sequence corresponding to the current address. Address mapping is an algorithm or function that matches the data encoding sequence with the specific address in the database one-to-one. Through address mapping, the above-mentioned data encoding sequence corresponding to the currently traversed address can be obtained.
[0045] For each data encoding sequence, it is necessary to determine the actual secret data corresponding to it. These secret data are provided by the data party. Once the secret data is determined, it can be used for subsequent privacy calculations. Among them, the data encoding of the secret data is obtained by random encoding. Random encoding is a mechanism that converts raw data into an encoded form. This encoding does not directly leak any information about the data, but can be used for subsequent calculations.
[0046] Regarding the second method, during the system initialization phase, the data cube traverses the data coding sequence based on multiple loops. This usually involves multiple data cubes cooperating with each other to traverse their respective data codes to build a complete data coding sequence. Each data cube has its own data coding, which forms a data coding sequence through specific combination rules. Based on multiple loop traversal, it can be ensured that the functional function values stored in the database cover all combinations of data coding sequences, providing comprehensive data support for the subsequent system operation phase.
[0047] The above steps are performed during the system initialization phase, with the goal of building a complete database that stores the functional function values corresponding to all possible data coding sequences. Through random coding and address mapping, the data coding sequence can be quickly traversed; by traversing the data coding sequence in a multi-loop manner, the comprehensiveness and accuracy of the database can be ensured. This process provides an important foundation for the subsequent system operation phase, enabling the functional function values corresponding to the data coding sequence to be quickly obtained without re-executing the privacy computing task.
[0048] In a specific embodiment of determining the data encoding, the address of the database is traversed, and the data encoding sequence corresponding to the traversed address is determined based on the address mapping, including: calculating the address parameter ,in, , , represents the address of the above database, represents the number of the above data cubes, Indicates the second data cube The amount of data, Indicates Data Cube The amount of data; set , , and determine , and judge Is it divisible? , determine the first Data encoding, Indicates the first data encoding. Specifically expressed as: .
[0049] Specifically, the address parameter is used to determine the data encoding sequence corresponding to the current database address. In the calculation of the address parameter, the database address is used. , the number of data cubes , and the data size of each data cube (for example, the second data cube Amount of data and Data Cube Amount of data ). The calculation of address parameters is based on the address mapping mechanism, which is used to associate database addresses with data encoding sequences.
[0050] After calculating the address parameters, set the two parameters and . The setting is to initialize a variable for subsequent calculations, and The setting of is used to record the position of the current data code in the sequence during the traversal process. The initialization of these two parameters is the starting point of the traversal process. Through these two parameters, the data code sequence corresponding to the current address can be gradually determined.
[0051] Next, we need to determine a parameter , and make a judgment: Is it divisible? The purpose of this judgment is to determine how the data encoding of each data party should be selected and calculated in the current calculation process.
[0052] Through the above steps, it is ensured that when traversing the database address, the data encoding sequence corresponding to each address can be correctly and securely determined. This process not only takes into account the privacy protection of the data, but also utilizes the data scale of the data party and the parameter calculation during the traversal process to ensure that the construction of the database is both efficient and secure. After completing these calculations in the system initialization phase, the database will be able to store the functional function values corresponding to all possible data encoding sequences, providing the necessary data support for the subsequent system operation phase, while protecting the data privacy of all parties.
[0053] In summary, the above steps are performed during the system initialization phase to traverse the database address and determine the data encoding sequence based on the address mapping. By calculating the address parameters, setting the initialization parameters, performing integer division judgment, and determining the data encoding, a secure and comprehensive database can be constructed, which stores the functional function values corresponding to all possible data encoding sequences. These steps ensure the protection of data privacy and also provide the necessary data support for subsequent multi-source data fusion calculations.
[0054] In another specific embodiment of determining the data code, the first Data encoding includes: first judgment step: if ,calculate ; The second determination step: If ,calculate ; Calculation steps: ;in, It means divisible. It means it cannot be divided evenly. represents the modulo operation, such as express Divide by The remainder of The first determination step, the second determination step and the calculation step are executed cyclically to obtain the data encoding ,in, .
[0055] This embodiment further describes in detail how to determine the specific data code in the data code sequence according to the integer division judgment result. The following is a detailed explanation of this process:
[0056] In the first judgment determination step, the data party will first perform a judgment to check Is it divisible? If this condition holds (i.e., the divisibility check is true), then a calculation is performed , used to determine the first The result of this calculation will directly affect the generation of data encoding, ensuring that it matches the data size of the data party and the structure of the entire database.
[0057] In the second determination step, if the first determination condition is not met (i.e., Not divisible ), another calculation is performed , used to determine the first Similarly, the result of this calculation will be used to generate the data code, ensuring that the construction of the data code sequence follows the rules set in the system initialization phase.
[0058] In the calculation step, whether it is the first determination step or the second determination step, a specific calculation process is involved. The calculation formula is: .
[0059] The data cube cyclically executes the first determination step, the second determination step and the calculation step to obtain the first Data Encoding This loop execution process ensures that for each database address, the corresponding data encoding can be accurately calculated based on the address mapping and the data size of each data party. The generation of data encoding depends on the execution of these steps and the corresponding calculation results.
[0060] The above steps are performed during the system initialization phase to determine the data encoding sequence corresponding to each address in the database address mapping. By performing integer divisibility judgment and related calculations, the data encoding related to the current address can be generated, ensuring that the construction of the database not only follows the design principles but also protects the data privacy of the participants. This process involves mathematical operations such as integer divisibility judgment and modular operations, so that the construction of the data encoding sequence meets the system requirements while maintaining the accuracy and security of the calculation.
[0061] In another specific embodiment of determining the data encoding, traversing the address of the database, and determining the data encoding sequence corresponding to the traversed address based on the address mapping, including: setting , , , ,for , represents the address of the above database, represents the number of the above data cubes, Indicates Data Cube The amount of data, Indicates Data Cube The amount of data, data calculate Is it divisible? , determine the data encoding in the data encoding sequence based on whether it can be divided integerly , where the floor operation is Not divisible The data is carried out under the circumstances; calculate .
[0062] It is understandable that this embodiment further describes in detail the steps of traversing the database address and determining the data encoding sequence corresponding to the traversed address during the system initialization phase. , assign the database address k to the variable , as the starting point of the traversal and calculation process. Next, define a sequence, where , that is, from Data Cube Amount of data Start, to Data Cube Amount of data The product of all the data volumes. The definition of the sequence is used in subsequent calculations as the basis for determining whether it is divisible.
[0063] for range, which means that the traversal will start from the first data block until the Data cubes end, for each data cube , the following calculations are performed:
[0064] calculate : In each loop, calculate the variable The value of , in this calculation, is the current variable value, here It is obtained by rounding down. Divide by The integer part of the quotient of Cannot be In the case of integer division, an integer result can still be obtained for subsequent calculations. The rounding down operation plays a key role in integerization and normalization during the traversal and calculation process. The above calculation ensures that when traversing the database address, it can be based on the address mapping rules and the state of the data encoding sequence. The calculation result is used to update the current address mapping state during the traversal process, providing a basis for subsequent data encoding calculations.
[0065] Data Cube judge Is it divisible? This judgment is very critical because it is used to determine the data encoding in the data encoding sequence. .if Divisible , then the data Can directly determine ;if Not divisible , then by rounding down, we can calculate , and based on The results further confirmed This process ensures that the construction of the data encoding sequence follows the preset address mapping rules, while also taking into account the role of the data volume of the data party in the calculation.
[0066] At the end of the traversal and calculation process, the data The data encoding will be calculated ,Right now This is because when the traversal reaches the last data cube, It will directly correspond to the last data code without additional integer division judgment or adjustment. This step ensures that the last data code in the data code sequence can also be accurately calculated and correspond to the database address, completing the construction of the entire data code sequence.
[0067] The entire process ensures that the complete data encoding sequence corresponding to each address in the database can be correctly calculated through loops and conditional judgments. This sequence contains the random codes of all data parties and is associated with each address in the database through the address mapping mechanism, providing an accurate data basis for subsequent function calculations and database construction, while protecting the data privacy of the data party.
[0068] In summary, this embodiment describes the key calculation steps of traversing the database address and determining the data encoding sequence in the system initialization phase of the multi-source data fusion calculation method. By initializing variables, defining sequences, performing traversal calculations, performing integer division judgments, and determining data encodings, it is ensured that the construction of the database not only follows the address mapping rules, but also takes into account the data volume differences between data parties, providing accurate and secure data support for the subsequent system operation phase.
[0069] In another specific embodiment of determining the data code, the data code in the data code sequence is determined according to whether the result is divisible. , data side calculate , including: Execution steps: command ,for , data side Execute the first calculation sub-step, the second calculation sub-step and the third calculation sub-step to calculate the above data encoding ; The first calculation sub-step above: if ,calculate , and no longer execute the second calculation sub-step, the third calculation sub-step and the calculation step, wherein, , express Divisibility , Indicates the first Data encoding, Indicates the first data encoding; the above second calculation sub-step: if ,calculate ,in, express Not divisible , Indicates rounding down; the third calculation sub-step above: calculation ; Calculation steps: Data cube calculate .
[0070] Specifically, this embodiment further refines the calculation process of the data encoding in the database initialization phase, and specifically explains the steps of determining each data encoding in the data encoding sequence according to the database address. First, let ,here is the address of the database. Assign the address of this database to Variables, as the starting point for traversal and calculation. Traversing the data encoding sequence is The scope of data Perform a series of calculations to determine each data encoding in the data encoding sequence This traversal process ensures that the database address The corresponding complete data encoding sequence can be calculated.
[0071] First calculation sub-step: If during the traversal process, Divisible , then the data The first computational substep performed is to calculate , get the first Data Encoding In addition, for arrive Each data cube has its data encoding Will be directly assigned to its data amount The first calculation sub-step is Divisible The following calculations are simplified, and the second calculation sub-step, the third calculation sub-step and the calculation step are no longer executed.
[0072] Second calculation sub-step: If Not divisible , data side The second computational sub-step performed is to calculate This step is Not divisible When applied, the accuracy of data encoding is ensured by rounding down operations, and the impact of the data volume on data encoding is taken into account.
[0073] The third calculation sub-step: After executing the second calculation sub-step, the data A third calculation substep is also performed, calculating , update the traversal variable , prepare a new state for the next loop. This update step ensures that the traversal process can correctly transition from one data encoding to the next data encoding until the entire data encoding sequence is traversed.
[0074] Calculation steps: When the traversal reaches the last data cube When the data is encoded Directly assign to ,Right now This is because is the last data cube, whose data volume And the result of the traversal process Direct association, no other data parties need to be considered, simplifying the calculation process.
[0075] The entire process, through initialization, traversal, conditional judgment and calculation update, ensures that the data encoding of each data cube can be correctly calculated according to its data volume and address mapping rules and stored in the data encoding sequence. The calculation steps ensure that the data encoding of the last data cube can be directly determined, completing the construction of the entire data encoding sequence, and providing accurate data support for subsequent database construction and functional function calculation.
[0076] In general, this embodiment describes in detail how to calculate each data code in the data code sequence corresponding to the database address according to the address mapping and the data amount of the data party through the first calculation sub-step, the second calculation sub-step, the third calculation sub-step and the calculation step. This calculation process takes into account the protection of data privacy and ensures the accuracy and efficiency of database construction.
[0077] In another specific embodiment of determining data encoding, the address of the above-mentioned database is traversed, and the above-mentioned data encoding sequence corresponding to the above-mentioned traversed address is determined based on the above-mentioned address mapping, including: traversing the address of the above-mentioned database, calculating the inverse of the above-mentioned address with respect to the above-mentioned address mapping to obtain the above-mentioned data encoding sequence.
[0078] Specifically, the inverse operation of the address mapping is used, which means that for each address in the database, the data encoding sequence corresponding to the address can be determined through a reverse calculation process by applying the address mapping in reverse. The specific steps are as follows:
[0079] Traverse the database address: Start from the first address in the database and traverse to each address step by step. This traversal process is the basis of the system initialization phase to ensure that each address can be accessed and processed.
[0080] Inverse mapping calculation: For each database address traversed, calculate the inverse of the address with respect to the address mapping. This inverse mapping calculation is achieved by applying the address mapping rule in reverse, and can convert the address into the corresponding data encoding sequence.
[0081] Importance of inverse mapping calculation Inverse mapping calculation ensures the correct correspondence between the data encoding sequence and the database address, which is the core link in the database construction process. Through inverse mapping, the data encoding sequence corresponding to each address in the database can be accurately determined, ensuring the correct calculation and storage of the function value, as well as the accuracy of subsequent data queries.
[0082] The inverse mapping calculation also takes into account the data size differences between data parties, so that even if the data volume between data parties is different, it can be correctly associated with the data encoding sequence through the address mapping mechanism. This step is the key to achieving data privacy protection and efficient database construction, because it allows the calculation of functional functions and the storage of results without exposing the original data.
[0083] In another specific embodiment of determining the data coding, the above-mentioned secret data is randomly encoded to obtain the corresponding data coding, including: setting a data coding set, and randomly selecting a data coding from the above-mentioned data coding set to encode any one of the above-mentioned secret data of the above-mentioned data party, wherein the above-mentioned data coding corresponds one-to-one to the above-mentioned secret data, and a coding mapping is used to represent the mapping between the above-mentioned secret data and the above-mentioned data coding.
[0084] Specifically, in the data encoding stage, the data party will first set up a data encoding set, which contains a series of predefined data encodings, which will be used to encode the secret data. The size and element selection of the data encoding set should ensure the randomness and security of the encoding, and prevent the original secret data from being reversely inferred through the encoding. For each piece of secret data held by the data party, the data party randomly selects a data encoding from the data encoding set. This random selection process is confidential, ensuring that external parties cannot infer the value of the specific secret data through the data encoding. The purpose of random encoding is to increase the strength of data privacy protection, so that the real data of the data party will not be leaked even during the data fusion calculation process. A one-to-one encoding mapping relationship is established between the randomly selected data encoding and the secret data.
[0085] Each data encoding corresponds to a specific secret data. This one-to-one encoding mapping ensures the integrity and traceability of the data, and also provides the necessary foundation for secure multi-party computing. Using encoding mapping to characterize the mapping relationship The data party will use an encoding mapping to characterize the correspondence between the secret data and the data encoding. This mapping ensures that the generation of the data encoding is performed according to the attributes of the secret data, and the confidentiality of the mapping ensures the privacy of the data.
[0086] Through the above steps, the secret data itself can be securely converted into data codes without leaking them. The data codes can participate in the subsequent fusion calculation process. At the same time, due to the uniqueness and confidentiality of the code mapping, even if the data code is known by other participants, the original secret data cannot be reversely inferred, thereby achieving effective protection of data in the fusion calculation process.
[0087] In another embodiment of the present application, the above-mentioned method also includes: secretly preserving the above-mentioned coding mapping between the secret data held and the above-mentioned data coding, wherein the above-mentioned coding mapping is a bijection; the above-mentioned method also includes: when the above-mentioned data coding is known and the above-mentioned secret data is unknown, calculating the inverse of the above-mentioned coding mapping with respect to the above-mentioned data coding to obtain the above-mentioned secret data corresponding to the above-mentioned data coding.
[0088] Specifically, the secret data held by the secret storage is mapped to the data encoding, and the encoding mapping is bijective, that is, each secret data corresponds to a specific data encoding, and this correspondence is unique, that is, no two different secret data will be mapped to the same data encoding. Similarly, each data encoding only corresponds to a specific secret data, ensuring the uniqueness and reversibility of the data encoding, thereby increasing the security of the system.
[0089] In the data fusion calculation process, data encoding is used to replace secret data for secure multi-party computing or storage in a database. Since the mapping relationship between data encoding and secret data is confidential, even if the data encoding is known by other participants, the original secret data cannot be reversed, thus protecting data privacy.
[0090] Inverse operation of encoding mapping When the data encoding is known and the secret data is unknown, the inverse operation of encoding mapping can be used to calculate the secret data corresponding to the known data encoding. This is because the encoding mapping is a bijection, which ensures the existence and uniqueness of its inverse operation. The inverse operation allows the data party to convert the data encoding back to the original secret data when necessary without the participation of other parties.
[0091] In summary, this embodiment emphasizes the confidentiality and reversibility of the code mapping, that is, the code mapping needs to be kept secret, and when the data encoding is known, the corresponding secret data can be calculated through inverse operations. This feature is the core of realizing secure data fusion computing, ensuring the protection of data privacy, and also provides the data party with a means of data decoding, so that the original data can be restored when needed. Through this code mapping mechanism, effective data fusion and calculation can be achieved without leaking the original secret data, thereby improving the security and efficiency of data fusion computing.
[0092] In an embodiment of address mapping construction of the present application, the address mapping is a mapping constructed based on a tree-structured database, wherein the tree-structured database is The first level linear partition table divides the above database into First level interval, Each level The level interval is divided into i+1 level intervals, , and each i-level interval contains Addresses, The level interval corresponds to the address of the above database, represents the number of the above data cubes, Indicates Data Cube The amount of data, Indicates Data Cube The amount of data.
[0093] Specifically, this embodiment emphasizes the implementation method of address mapping and adopts a database construction method based on a tree structure, which further optimizes the structure of the database and the storage of functional function values, while also taking into account the differences in data volume among data parties, thereby improving the overall efficiency of the system and the level of data privacy protection.
[0094] This embodiment adopts a tree-structured address mapping to construct the entire database into a multi-level linear partition table. The core of this structure is to use the data size (data volume) of the data party to perform hierarchical partitioning of the database, so that the address mapping can more effectively locate and store function values.
[0095] First-level partitioning: Divide the database into A first-level interval, The first data That is, the top level of the database is composed of Determined by the data scale, each first-level interval contains a certain amount of functional function values or mapping results of data encoding sequences.
[0096] i+1 level partition: For the Level, each The level range is further divided into indivual Level interval, where It is Data Cube This level of partitioning is based on the previous level of partitioning, reflecting the gradual refinement of the data volume of the data cube, ensuring that the address mapping can accurately correspond to each address in the database.
[0097] In a tree-structured database, each The number of addresses contained in the level interval is ,until The level interval corresponds to the address of the database. This means that as the partition level increases, the number of addresses is determined by the amount of data in the subsequent data cube, forming an address space based on the data size of the data cube.
[0098] The level intervals correspond directly to the addresses of the database, and is the number of data cubes, which means that each leaf node of the database (i.e. Each level interval) has a specific address, which corresponds to the data encoding sequence through the address mapping rule and directly points to the storage location of the function value in the database.
[0099] By adopting the address mapping based on the tree structure, this embodiment can efficiently divide the database into multi-level linear partitions according to the data volume of the data party. This address mapping mechanism not only optimizes the structure of the database and the storage of the function value, making the query and storage of the function value faster and more accurate, but also takes into account the difference in the amount of data between the data parties through the hierarchical partitioning method, ensuring the protection of data privacy in the data fusion calculation. In the system initialization stage, the construction of the address mapping can lay the foundation for subsequent database query and function value calculation, so that efficient data fusion calculation and acquisition of function value can be carried out without leaking the original data.
[0100] In a specific implementation method of address mapping, the above address mapping adopts Metafunction: , To express, Represents a data encoding sequence, the above data encoding sequence includes Data encoding, Indicates data source Data encoding, data square hold The secret data are , , Indicates the encoding mapping between the above secret data and the above data encoding.
[0101] Specifically, this embodiment further elaborates on the mathematical implementation of address mapping, using a The meta-function is used to specifically describe the mapping relationship between the data encoding sequence and the database address, thereby realizing the construction of the database address and the storage of the function value.
[0102] Address mapping is done through a Metafunction To indicate that, represents a data encoding sequence, Is the data party The corresponding data encoding. Metafunctions encode data sequences through specific calculation rules. Converts to a specific address in the database.
[0103] Data Cube hold The secret data are For each secret data, the data party uses the encoding mapping to convert it into a data encoding. The encoding mapping is a bijective mapping between the data party and the secret data, which ensures a one-to-one correspondence between the secret data and the data encoding, so that the data encoding can participate in the subsequent fusion calculation and address mapping process without exposing the original data.
[0104] In summary, we have explained how to construct a database address based on a data encoding sequence, and how data encoding is generated from secret data through encoding mapping. This tree-structured address mapping combines the randomness of data encoding and the bijective nature of encoding mapping, which not only ensures the protection of data privacy, but also optimizes the structure of the database and the storage of function values, improving the efficiency and security of multi-source data fusion computing.
[0105] In an embodiment of determining the database size of the present application, the above method further includes: in the above system initialization stage, according to the formula Determine the size of the database, where N represents the size of the database. represents the data size of the i-th data cube, , Indicates the number of the above data cubes.
[0106] Specifically, the database size N is determined during the system initialization phase based on the characteristics of data fusion calculation and the data size of each data cube. The size of the database determines how many function values can be stored, and the number of function values is directly related to the type and number of data encoding sequences, so it is necessary to take into account the possible combinations of data encoding sequences of all data cubes.
[0107] According to the formula Determine the size of the database, that is, the size of the database is determined by the product of the data sizes of all data cubes. Specifically, the size of the database is equal to the first data cube Data size With the second data party Data size , the third data party Data size ...until the mth data cube Data size For example, if there are 3 data cubes , , , holding 10, 20, and 30 pieces of data respectively, the size of the database is: 10×20×30=6000, which means that the database needs to be able to store 6000 different function values to cover the combination of all data encoding sequences.
[0108] The rationality and efficiency of this calculation method is achieved by setting the database size to the product of the data sizes of all data cubes, which ensures that the database can accommodate all possible correspondences between data encoding sequences and functional function values, so that in subsequent database queries, the functional function values corresponding to the data encoding sequences can be accurately found. At the same time, since the data is encoded and the address mapping is constructed during the system initialization phase, the plaintext data encoding sequence is directly used for querying during the system operation phase, without the need for privacy calculation again, which significantly reduces the computation and communication overhead.
[0109] In another embodiment of the present application, the demander is further configured to construct an address mapping between the data encoding sequence and the database based on the data size of each of the data parties during the system initialization phase.
[0110] Specifically, the demand side constructs a mapping relationship between the data encoding sequence and the database address based on the data scale of each data party. This mapping process ensures that each data encoding sequence can uniquely correspond to a specific address in the database, so that when the function value corresponding to a data encoding sequence needs to be queried, the corresponding location in the database can be quickly located. The design and construction of this mapping is crucial to achieving efficient data query and privacy protection.
[0111] In the process of building the address mapping, the size of the database is determined according to the data size of each data cube. The size of the database is set as the product of the data size of all data cubes. Setting the size of the database in this way ensures that the database can accommodate all possible data encoding sequences and corresponding functional values, meeting the needs of data fusion calculation.
[0112] Based on the above settings, the following steps are performed during the system initialization phase to construct the address mapping between the data encoding sequence and the database:
[0113] The size of the database is determined based on the data scale of each data party.
[0114] Construct an injective address mapping to ensure that each data encoding sequence corresponds to a unique database address, and different data encoding sequences correspond to different database addresses.
[0115] Address mapping is achieved by using algorithms or formulas that are easy to forward calculate, so that the corresponding database address can be directly calculated based on the data encoding sequence without complicated post-processing or searching. Address mapping can be constructed based on a tree structure, and the database can be divided into intervals of different levels, each of which corresponds to the data size of a data cube, thus forming a hierarchical and partitioned database structure.
[0116] Ensuring that the inverse operation of address mapping can be performed at the data party, that is, the data party can reversely calculate the corresponding data encoding sequence based on the database address, is crucial for subsequent database query and decoding processes.
[0117] The significance of address mapping construction is to construct a mapping between data encoding sequences and database addresses, which not only provides a guide for the storage and retrieval of function values, but also ensures the security of data privacy by avoiding direct storage and processing of secret data. At the same time, this mapping mechanism reduces the computation and communication overhead of the system operation phase, and improves the response speed and efficiency of the system.
[0118] In a specific embodiment, the address mapping is injective, and the data encoding sequence is in a one-to-one correspondence with the address in the database.
[0119] Specifically, in this embodiment, the nature of the single-injective mapping is reflected in the address mapping, which ensures a one-to-one correspondence between the data encoding sequence and the database address. In data fusion calculation, the data encoding sequence is a sequence formed by arranging the encoding data of each data party in order, and the database address is the specific location where the function value is stored in the database. The address mapping is single-injective, which means that different data encoding sequences will generate different database addresses, that is, there is no situation where two different data encoding sequences are mapped to the same database address.
[0120] Each data encoding sequence can uniquely determine a database address through an address mapping function, and the corresponding data encoding sequence can be reversely calculated through the address mapping function.
[0121] The address mapping is constructed in a way that ensures that all possible data encoding sequences have a unique address corresponding to them in the database, thereby ensuring accurate storage and fast retrieval of function values regardless of how the data encoding sequence changes.
[0122] In multi-source data fusion computing, address mapping of single-shot mapping is the key to ensuring data privacy and computing efficiency. Through single-shot mapping, this application can ensure:
[0123] Data privacy protection: The one-to-one correspondence between the data encoding sequence and the database address means that even if the database address is leaked, the corresponding data encoding sequence cannot be directly inferred, thereby protecting the data privacy of the data party.
[0124] Computational and communication efficiency: Since each data encoding sequence corresponds to a unique database address, when querying the database, the address can be calculated directly based on the data encoding sequence, avoiding the complex search and data matching process and significantly reducing the computational and communication overhead.
[0125] By ensuring that the address mapping is single-shot, this application can achieve efficient storage and retrieval of function values without affecting data privacy, thereby improving the performance of the entire data fusion computing system. This feature is the basis for building a secure, efficient and practical multi-source data fusion computing system.
[0126] The present application also provides a multi-source data fusion computing system. Figure 2 The multi-source data fusion computing system includes a data party, a demand party and a privacy computing system. The privacy computing system includes multiple computing parties, wherein, in the system initialization stage, the demand party constructs an address mapping between a data coding sequence and a database based on the data of each of the data parties; each of the data parties is used to randomly encode the secret data it holds, obtain the corresponding data coding, and send the data coding of the secret data to the demand party; the demand party calculates the function function value, and calculates the address of the function function value corresponding to the data coding sequence in the database based on the received data coding of each of the data parties and the address mapping, and then stores the function function value in the corresponding address of the database; in the system operation stage, the data party is used to send the data coding of the current secret data to the demand party, so that the demand party can query the database according to the address mapping to obtain the function function value corresponding to the current secret data of each of the data parties, wherein the data coding of the current secret data is an element in the data coding sequence corresponding to the current address.
[0127] Among them, as long as the demand side knows the data scale of each data party , and the encoding mapping of each data party is secret data to The demand side can build the address mapping based on the one-to-one correspondence. The address mapping by the demand side and the encoding mapping by the data side can actually be done at the same time;
[0128] Specifically, this embodiment describes a multi-source data fusion computing system including a data party, a demand party, and a privacy computing system, wherein the privacy computing system is composed of multiple computing parties.
[0129] During the system initialization phase, the multi-source data fusion computing system performs the following key operations:
[0130] Address mapping construction: The demander constructs an address mapping between the data encoding sequence and the database based on the data scale of all data parties, that is, the amount of secret data held by each data party. The address mapping is injective, ensuring a one-to-one correspondence between the data encoding sequence and the database address, thereby providing accurate address positioning for subsequent function value storage.
[0131] Data encoding and transmission: The data party randomly encodes the secret data it holds to generate a data code. This encoding process not only provides another form of data representation, but also enhances the protection of data privacy through randomness. The data party then sends the data code to the demander for subsequent address mapping and function value calculation.
[0132] Function value calculation and storage: After the demander receives the data encoding sequence from all data parties, it calculates the function value based on these data encodings and the constructed address mapping. The key to the function value is that it is based on privacy computing technology, which ensures privacy protection during data processing. The calculated function value will then be stored in a specific address in the database. This address is calculated by the address mapping function and corresponds one-to-one to the original data encoding sequence.
[0133] The system operation phase, i.e. the phase in which the multi-source data fusion computing system actually processes data fusion requests, involves the following operations:
[0134] Data encoding transmission: The data party sends the data encoding of the current secret data to the demand party. This data encoding is the encoded representation of the current data, which depends on the specific content and changes of the current data.
[0135] Function value query: After receiving the data encoding, the demander uses the address mapping function to calculate the address of the function value corresponding to the data encoding sequence in the database. Based on this address, the demander can directly retrieve the function value corresponding to the data encoding sequence from the database without having to perform a complex privacy calculation process again.
[0136] Real-time data processing and response: The focus of this stage is to respond to real-time or updated data requests. Through the fast query mechanism of the database, the system can quickly provide functional function values corresponding to the data coding sequence, thereby realizing the real-time and high efficiency of data fusion calculation.
[0137] By constructing an address mapping between the data encoding sequence and the database in the system initialization phase, the core of the system operation phase is to use address mapping and database query, which can quickly and directly obtain the functional function value corresponding to the data encoding of the current secret data of the data party without the need for real-time privacy calculation, greatly improving the response speed of the system, reducing communication overhead, and protecting the data privacy of the data party throughout the process. This method provides an efficient and privacy-safe solution for real-time data fusion scenarios. In summary, the multi-source data fusion computing system of this embodiment can meet the real-time and data privacy requirements in multi-source data fusion computing, providing a practical and efficient solution.
[0138] In a specific embodiment, during the initialization phase of the system, each of the data parties is also used to encrypt the secret data to obtain a ciphertext, and send the ciphertext to each of the computing parties; multiple computing parties are used to receive the ciphertext input by each of the data parties, and perform privacy computing tasks to obtain intermediate results and send them to the demand parties, so that the demand parties can calculate the functional function values based on the intermediate results.
[0139] Specifically, during the system initialization phase, the data party not only needs to randomly encode the secret data to generate data codes, but also needs to further encrypt these data codes to generate ciphertext. This encryption process is usually implemented using secret sharing, homomorphic encryption or other privacy protection technologies to ensure that even if the data is intercepted by a third party during transmission and calculation, the original content of the data cannot be directly interpreted. The data party sends the encrypted ciphertext to each computing party in the privacy computing system as the input of the privacy computing task.
[0140] After receiving the ciphertext input by each data party, the computing party performs the privacy computing task to calculate the intermediate result of the function. Privacy computing technologies, such as secure multi-party computing (MPC), homomorphic encryption (HE) or trusted execution environment (TEE), can perform calculations without decrypting data to protect data privacy. The communication and calculation between computing parties follow a specific privacy computing protocol to ensure the security of the calculation process and the accuracy of the results.
[0141] After the calculation party completes the privacy calculation task, it will send the intermediate results to the demand party. The demand party will perform subsequent calculations and processing based on these intermediate results, as well as the address mapping and database structure built during the system initialization phase, and finally calculate the function value. The function value will then be stored in a specific address in the database, which is calculated based on the address mapping function and corresponds one-to-one to the data encoding sequence.
[0142] In summary, through data encryption and privacy computing technology, the function value can be accurately calculated and stored in the database without leaking data privacy, which provides a basis for fast data query during the system operation phase. This mechanism ensures the security, efficiency and practicality of the system. By combining data encoding, encryption and privacy computing, privacy protection and efficient fusion computing of sensitive multi-source data can be achieved, meeting the dual needs of data privacy protection and data fusion computing.
[0143] In another specific embodiment, the privacy computing system also includes other relevant parties, and the other relevant parties include a trusted third party that assists in the execution of privacy computing tasks.
[0144] Specifically, see Figure 3,In this embodiment, the architecture of the multi-source data fusion computing system is further expanded, and a trusted third party is introduced as other related parties to assist in the execution of privacy computing tasks.,This mechanism is designed to enhance the security, reliability and performance of the system, especially when dealing with complex privacy computing scenarios.
[0145] Trusted third parties are introduced to assist in the execution of secure multi-party computation, homomorphic encryption, or other privacy computing tasks. Trusted third parties can provide additional trust mechanisms, assist in the initialization of protocols, coordinate the computing process, handle disputes, or provide additional computing resources. Since privacy computing tasks may involve complex cryptographic operations and protocols, the participation of trusted third parties can simplify the execution process of these tasks, improve computing efficiency, and ensure data security and privacy protection.
[0146] The participation of a trusted third party can be varied, depending on the specific design and requirements of the privacy computing system. For example, a trusted third party can assist in the generation and distribution of keys to ensure the secure distribution of keys; in some MPC protocols, a trusted third party can distribute pre-processed shared information to reduce the communication and computing overhead in the online phase; during the execution of the protocol, a trusted third party can act as a neutral coordinator to ensure that all participants correctly perform computing tasks in accordance with the protocol; in the event of a dispute or failure, a trusted third party can intervene to help resolve the dispute or restore the normal operation of the system.
[0147] As part of the privacy computing system, introducing a trusted third party can bring the following advantages:
[0148] Simplify the protocol: A trusted third party can take on some computing tasks or protocol initialization work, thereby reducing the computing overhead of the participants and simplifying the complexity of the protocol.
[0149] Enhanced security: Trusted third parties can provide an additional layer of trust to ensure fairness and security in data processing and prevent attacks from malicious parties.
[0150] Dispute resolution: During the multi-source data fusion calculation process, if data disputes or inconsistencies in protocol execution occur, a trusted third party can intervene and provide a dispute resolution mechanism.
[0151] Resource coordination: A trusted third party can coordinate resource allocation among computing parties to ensure efficient execution of computing tasks, especially in resource-constrained environments.
[0152] In summary, a trusted third party is introduced into the multi-source data fusion computing system as another party to assist in the execution of privacy computing tasks. This design enhances the security, reliability and performance of the system, especially when dealing with complex privacy-preserving computing scenarios. Through the participation of a trusted third party, the privacy computing protocol can be simplified, the computing efficiency can be improved, and the fairness and security of the data processing process can be ensured, providing a stronger privacy computing guarantee for multi-source data fusion computing.
[0153] In one embodiment of the present application, the demander constructs an address mapping between a data encoding sequence and a database based on the data of each of the above-mentioned data parties during the system initialization phase. The above-mentioned address mapping is a mapping constructed based on a tree-structured database. For specific explanations, please refer to the address mapping construction embodiment and the address mapping implementation embodiment in the method embodiment.
[0154] In one embodiment of the present application, during the system initialization stage, the above-mentioned demander constructs an address mapping between the data encoding sequence and the database based on the data of each of the above-mentioned data parties, including: during the system initialization stage, the above-mentioned demander constructs an address mapping between the above-mentioned data encoding sequence and the above-mentioned database based on the data scale of each of the above-mentioned data parties.
[0155] Specifically, the demand side builds a mapping relationship between the data encoding sequence and the database address based on the data scale of each data party. This mapping process ensures that each data encoding sequence can uniquely correspond to a specific address in the database, so that when the function value corresponding to a data encoding sequence needs to be queried, the corresponding location in the database can be quickly located. The design and construction of this mapping is crucial to achieving efficient data query and privacy protection.
[0156] In the process of building the address mapping, the size of the database is determined according to the data size of each data cube. The size of the database is set as the product of the data size of all data cubes. Setting the size of the database in this way ensures that the database can accommodate all possible data encoding sequences and corresponding functional values, meeting the needs of data fusion calculation.
[0157] Based on the above settings, the following steps are performed during the system initialization phase to construct the address mapping between the data encoding sequence and the database:
[0158] The size of the database is determined based on the data scale of each data party.
[0159] Construct an injective address mapping to ensure that each data encoding sequence corresponds to a unique database address, and different data encoding sequences correspond to different database addresses.
[0160] Address mapping is achieved by using algorithms or formulas that are easy to forward calculate, so that the corresponding database address can be directly calculated based on the data encoding sequence without complicated post-processing or searching. Address mapping can be constructed based on a tree structure, and the database can be divided into intervals of different levels, each of which corresponds to the data size of a data cube, thus forming a hierarchical and partitioned database structure.
[0161] Ensuring that the inverse operation of address mapping can be performed at the data party, that is, the data party can reversely calculate the corresponding data encoding sequence based on the database address, is crucial for subsequent database query and decoding processes.
[0162] The significance of address mapping construction is to construct a mapping between data encoding sequences and database addresses, which not only provides a guide for the storage and retrieval of function values, but also ensures the security of data privacy by avoiding direct storage and processing of secret data. At the same time, this mapping mechanism reduces the computation and communication overhead of the system operation phase, and improves the response speed and efficiency of the system.
[0163] In one embodiment of the present application, the demander is further configured to perform the system initialization phase according to the formula Determine the size of the above database. For detailed explanation, please refer to the embodiment of determining the size of the database in the method embodiment.
[0164] In one embodiment of the present application, the above-mentioned demander is also used to determine the above-mentioned data party and data party-related parameters, the above-mentioned computing parties involved in the calculation, and the privacy computing protocol used based on scenario requirements during the above-mentioned system initialization phase.
[0165] Specifically, during the system initialization phase, the demander first needs to determine the data party based on the scenario requirements, that is, determine which data sources will participate in the data fusion calculation. Scenario requirements come from various application fields, such as financial analysis, medical health, intelligent transportation, etc. Each scenario may require the fusion of different types of source data. After determining the data party, the demander also needs to determine the parameters related to the data party, including the number of data parties, the scale of data held by each data party, the data type, etc. These parameters are crucial for the construction of subsequent address mapping, the determination of database size, and the execution of computing tasks.
[0166] During the system initialization phase, the demander also needs to determine the computing parties involved in the calculation, that is, decide which computing nodes will perform the privacy computing tasks. The selection of computing parties is based on factors such as computing resources, geographical location, computing power, and reputation. Since privacy computing tasks may involve a large amount of computing, selecting high-performance and trustworthy computing parties is crucial to the overall efficiency of the system and data security.
[0167] During the system initialization phase, the demander is responsible for determining the privacy computing protocol used in the system, which is the core of privacy protection. Privacy computing protocols include technologies such as Homomorphic Encryption (HE), Secure Multi-Party Computation (MPC), Trusted Execution Environment (TEE) or Federated Learning (FL). The demander needs to select the most suitable privacy computing protocol based on the scenario requirements, the parameters of the data party and the capabilities of the computing party to ensure data privacy while meeting computing performance requirements.
[0168] In summary, during the system initialization phase, the responsibilities of the demand side include determining the data party and data party related parameters, selecting the computing party to participate in the calculation, and determining the privacy computing protocol to be used. This series of decisions constitutes the architectural basis of the multi-source data fusion computing system, which directly affects the system's privacy protection capabilities, computing efficiency, and data processing capabilities. By reasonably configuring these parameters, the demand side can build an efficient computing system that not only meets application requirements but also protects data privacy. This mechanism ensures the security and practicality of the system during the data fusion calculation process, and provides necessary preparation for subsequent data processing and calculation of functional function values.
[0169] In one embodiment of the present application, the above-mentioned address mapping is single injection, and the above-mentioned data encoding sequence and the address in the above-mentioned database are in a one-to-one correspondence.
[0170] Specifically, in this embodiment, the nature of the single-injective mapping is reflected in the address mapping, which ensures a one-to-one correspondence between the data encoding sequence and the database address. In data fusion calculation, the data encoding sequence is a sequence formed by arranging the encoding data of each data party in order, and the database address is the specific location where the function value is stored in the database. The address mapping is single-injective, which means that different data encoding sequences will generate different database addresses, that is, there is no situation where two different data encoding sequences are mapped to the same database address.
[0171] Each data encoding sequence can uniquely determine a database address through an address mapping function, and the corresponding data encoding sequence can be reversely calculated through the address mapping function.
[0172] The address mapping is constructed in a way that ensures that all possible data encoding sequences have a unique address corresponding to them in the database, thereby ensuring accurate storage and fast retrieval of function values regardless of how the data encoding sequence changes.
[0173] In multi-source data fusion computing, address mapping of single-shot mapping is the key to ensuring data privacy and computing efficiency. Through single-shot mapping, this application can ensure:
[0174] Data privacy protection: The one-to-one correspondence between the data encoding sequence and the database address means that even if the database address is leaked, the corresponding data encoding sequence cannot be directly inferred, thereby protecting the data privacy of the data party.
[0175] Computational and communication efficiency: Since each data encoding sequence corresponds to a unique database address, when querying the database, the address can be calculated directly based on the data encoding sequence, avoiding the complex search and data matching process and significantly reducing the computational and communication overhead.
[0176] By ensuring that the address mapping is single-shot, this application can achieve efficient storage and retrieval of function values without affecting data privacy, thereby improving the performance of the entire data fusion computing system. This feature is the basis for building a secure, efficient and practical multi-source data fusion computing system.
[0177] In one embodiment of the present application, in the system initialization phase, the address of the database is traversed, and the data encoding sequence corresponding to the traversed address is determined based on the address mapping; the data cube is also used to traverse the data encoding sequence in a multiple-cycle manner based on the data encoding set of each data cube in the system initialization phase. For a specific explanation and a specific implementation method of traversing the data encoding sequence in a multiple-cycle manner, refer to the embodiment of determining data encoding in the method embodiment, which will not be repeated here.
[0178] In one embodiment of the present application, the data party is also used to secretly preserve the above-mentioned coding mapping between the secret data held and the above-mentioned data coding, wherein the above-mentioned coding mapping is a bijection; when the above-mentioned data coding is known and the above-mentioned secret data is unknown, the inverse of the above-mentioned coding mapping with respect to the above-mentioned data coding is calculated to obtain the above-mentioned secret data corresponding to the above-mentioned data coding.
[0179] Specifically, the data party secretly stores the coding mapping between the secret data and the data coding, which is a bijection, that is, each secret data corresponds to a specific data coding, and this correspondence is unique, that is, no two different secret data will be mapped to the same data coding. Similarly, each data coding only corresponds to a specific secret data, ensuring the uniqueness and reversibility of the data coding, thereby increasing the security of the system.
[0180] In the data fusion calculation process, data encoding is used to replace secret data for secure multi-party computing or storage in a database. Since the mapping relationship between data encoding and secret data is confidential, even if the data encoding is known by other participants, the original secret data cannot be reversed, thus protecting data privacy.
[0181] Inverse operation of encoding mapping When the data encoding is known and the secret data is unknown, the data party can use the inverse operation of encoding mapping to calculate the secret data corresponding to the known data encoding. This is because the encoding mapping is a bijection, which ensures the existence and uniqueness of its inverse operation. The inverse operation allows the data party to convert the data encoding back to the original secret data when necessary without the participation of other parties.
[0182] In summary, this embodiment emphasizes the confidentiality and reversibility of the code mapping, that is, the data party needs to keep the code mapping secret, and when the data code is known, the corresponding secret data can be calculated through inverse operation. This feature is the core of realizing secure data fusion computing, ensuring the protection of data privacy, and also provides the data party with a means of data decoding, so that the original data can be restored when needed. Through this code mapping mechanism, effective data fusion and calculation can be achieved without leaking the original secret data, thereby improving the security and efficiency of data fusion computing.
[0183] In order to enable those skilled in the art to more clearly understand the technical solution of the present application, the implementation process of the multi-source data fusion calculation of the present application will be described in detail below in combination with specific embodiments. Specifically, the multi-source data fusion calculation system involves five parts: system setting, data encoding, address mapping construction, database construction, and database query.
[0184] 1. System Settings
[0185] This stage is completed by the demand side, mainly to determine the data parties and related parameters based on the scenario requirements, including the number of data parties m, the data scale of each data party and the scale of the database, etc.; determine the participants of the privacy computing system, including computing participants and trusted third parties (optional); security models, such as honest majority / dishonest majority, semi-honest security / malicious security, etc., as well as the privacy computing protocol used; determine the functional functions based on the data of each data party ,in The data is held by each data party.
[0186] 2. Data encoding
[0187] Each data party randomly encodes the secret data it holds. For example, let’s assume that the data hold Data .make ,but Select arrive Random bijection on (called encoding mapping), The code is Among them, the symbol express from Traverse to ,symbol Representing a collection The correspondence between each party’s data and coding (coding mapping) is kept confidential by each data party.
[0188] 3. Address mapping construction
[0189] The demander determines the size of the database based on the data scale of each data party, and constructs an address mapping from the data encoding sequence to the database. The above address mapping must meet the following conditions: First, the address mapping is single injection, that is, for any data encoding sequence, there is a certain address in the database corresponding to it, and different data encoding sequences correspond to different addresses; second, the forward calculation of the address mapping is easy. Optionally, the present application provides an address mapping based on a tree structure, as follows.
[0190] Think of the database as The first level divides the database from left to right into First-level intervals, each of which contains addresses; the second level divides each first-level interval from left to right into Second-level intervals, each of which contains addresses; the third level divides each secondary interval from left to right into Three-level intervals, each of which contains address; until Each level The level interval is divided from left to right into addresses. Equivalently, Figure 4 As shown, the database can be viewed as The leaf nodes of the multi-tree tree are arranged in sequence, and the root node has First-level nodes, each of which has Second-level nodes, each of which has Three-level nodes, until each Level nodes have leaf nodes.
[0191] Based on the above ideas, the demand side constructs the data encoding sequence into a collection A reversible mapping on (called an address mapping), where represents the product of the data size of each data cube, that is, the size of the database. Specifically, let the data encoding sequence of the data cube be , then the functional value corresponding to the coding sequence is located in the database The first-level interval, the first Secondary intervals, ..., until the current The first level of the interval Therefore, the address mapping can be in the following form: Metafunction
[0192] in For data Data encoding.
[0193] 4. The first database construction method
[0194] Database construction means that for each address in the partition table (each leaf node in the multi-branch tree), the data party reversely calculates the corresponding data coding sequence based on the address mapping, and reversely calculates the corresponding secret data based on the coding mapping, and then calculates the function value of the function about the secret data of each party based on the privacy computing technology, and stores the above function value into the current address, thereby obtaining a database of function value about the data coding sequence under the premise of ensuring the data privacy of all parties.
[0195] like Figure 5 As shown, for each address in the database , each data party calculates the data encoding sequence based on the address mapping, and inputs the corresponding data into the privacy computing system to calculate the function value, and then stores the function value into the current address of the database. Specifically, each data party executes steps 4.1-4.4 to calculate the data encoding sequence corresponding to the current address, that is, to calculate the inverse of the address mapping. .
[0196] Step 4.1: Calculation of each data cube .
[0197] Step 4.2: For , data side Repeat steps 4.2.1-4.2.3 to calculate the data encoding .
[0198] Step 4.2.1: If ,calculate .
[0199] Step 4.2.2: If ,calculate .
[0200] Step 4.2.3: Calculation .
[0201] Among them, the symbol and Respectively represent the meaning of divisibility and non-divisibility, the symbol represents the modulo operation, such as express Divide by The remainder of .
[0202] Optionally, each data party may also execute step 4.3 to calculate the data encoding sequence.
[0203] Step 4.3: Order .for , the data party executes steps 4.3.1-4.3.3 to calculate the data encoding .
[0204] Step 4.3.1: If ,calculate , and no longer execute steps 4.3.2-4.3.3 and step 4.4. Among them, (same below), expression express Divisibility .
[0205] Step 4.3.2: If ,calculate Among them, the expression express Not divisible ,expression Indicates rounding down, i.e. less than or equal to The maximum integer.
[0206] Step 4.3.3: Calculation .
[0207] Step 4.4: Data Cube calculate .
[0208] Step 4.5: For , data side Compute encoding mapping About Data Encoding The inverse of .
[0209] Step 4.6: For , data side Data It is processed through cryptographic techniques such as secret sharing, and the processing results are input into the privacy computing system.
[0210] Step 4.7: Each computing party in the privacy computing system calculates the function based on the input of each data party and sends the calculation result to the demand party.
[0211] Step 4.8: The demand side calculates the functional value based on the output of each computing side .
[0212] Step 4.9: The demand side will function the value The first address.
[0213] 5. The second database construction method
[0214] like Figure 6 As shown, for the data encoding sequence , each data party sends the data encoding in plain text or encrypted in a traditional way to the demand party, and the demand party calculates the address corresponding to the data encoding sequence based on the address mapping. At the same time, each data party inputs the corresponding data into the privacy computing system to calculate the function function, and the demand party calculates the function function value based on the output result of the privacy computing system and stores the above function function value in the current address.
[0215] Specifically, for , data side Perform steps 5.1-5.3.
[0216] Step 5.1: Data Cube Encode the data It is sent to the demander in plain text or after being encrypted by traditional means.
[0217] Step 5.2: Data Cube Compute encoding mapping About Data Encoding The inverse of .
[0218] Step 5.3: Data Cube Data It is processed through cryptographic techniques such as secret sharing, and the processing results are sent to each computing party in the privacy computing system.
[0219] Step 5.4: Each computing party in the privacy computing system calculates the function based on the input of each data party.
[0220] The demand side performs steps 5.5-5.7.
[0221] Step 5.5: The demander calculates the address mapping of the data encoding sequence based on the data encoding of each party .
[0222] Step 5.6: The demander calculates the function value based on the output of the privacy computing system .
[0223] Step 5.7: The demand side will The first address.
[0224] 6. Database query
[0225] Step 6.1: For , data side The encoding of the current data is sent to the demander in plain text or after being encrypted by traditional means.
[0226] Step 6.2: The demand side calculates the address mapping address of the data encoding sequence , then the database The element of the address is the corresponding function value .
[0227] It should be noted that in the embodiments of this application, in " is disordered, express The value range is , in "It is in order, express from Traverse to , here refers to the data side implement from arrive In the loop body, similar expressions in the text, for example, , in "as well as" The meaning of , in "as well as" " have the same meaning and are not listed one by one.
[0228] The above-mentioned multi-source data fusion computing system can be applied to the transportation field. In the transportation field, especially the road traffic management under severe weather conditions, the multi-source data fusion computing system can significantly improve the overall traffic management and travel service efficiency through the application of privacy computing technology, while ensuring data privacy security. In related technologies, although the combination of meteorological warning and speed control systems has improved the road traffic efficiency in severe weather and guaranteed travel needs, the traffic, meteorological and other data involving quasi-all-weather travel are subject to privacy security restrictions. At present, there is no unified data service, and the overall efficiency and accuracy need to be improved. But the overall efficiency needs to be improved. Privacy computing has become a research hotspot at home and abroad. The core technologies include secure multi-party computing, homomorphic encryption, trusted execution environment, etc. Its applications are mainly concentrated in the fields of finance, Internet services, etc., but its application in the transportation field needs further exploration. By applying the multi-source data fusion computing system of the present application, traffic and meteorological data from multiple data sources can be integrated in real time, such as vehicle location, speed, direction and other information, which can be used to evaluate traffic flow and road conditions; real-time weather data, such as temperature, humidity, wind speed, rainfall, etc., can be used to predict weather changes and road slipperiness; video data from road monitoring cameras can be used to monitor road conditions and traffic incidents in real time. The system performs fusion calculations on these data under privacy protection, extracts valuable information for road safety and efficiency, and provides support for traffic management decisions. For example, the system can calculate real-time visibility prediction maps, road slipperiness distribution maps, etc., to help traffic management departments formulate more accurate speed limits and road traffic strategies, improve traffic efficiency, and ensure travel safety.
[0229] In summary, the application of multi-source data fusion computing system in the transportation field not only improves the efficiency and safety of road traffic management in severe weather, but also promotes data sharing and service unification under data privacy protection, providing more comprehensive, accurate and safer data support for traffic management and travel.
[0230] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to some solutions, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, disk, CD), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the above methods of each embodiment of the present application.
[0231] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0232] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0233] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0234] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0235] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.
[0236] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0237] The above is a detailed introduction to a multi-source data fusion computing method, a multi-source data fusion computing system, a computer-readable storage medium and an electronic device provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.
Claims
1. A multi-source data fusion calculation method, characterized in that: In the system initialization phase, an address mapping between a data coding sequence and a database is constructed, and a target address is calculated based on the data coding of the secret data of each data party and the address mapping, and a function value obtained by performing a privacy computing task based on the secret data of each data party is stored in the target address, wherein the function value corresponds to a data coding sequence, and the data coding sequence is an ordered vector composed of multiple data codes of all data parties; During the system operation stage, based on the address mapping and the data encoding of each data party, the address of the function value corresponding to the current secret data of each data party in the database is calculated, and the database is queried according to the address to obtain the function value, wherein the data encoding of the current secret data is an element in the data encoding sequence corresponding to the current address.
2. The multi-source data fusion calculation method according to claim 1 is characterized in that: Before storing the function value obtained by performing the privacy computing task based on the secret data of each data party in the target address, the method further includes: Encrypting the secret data held by each of the data parties to obtain a ciphertext; Execute the privacy computing task based on the ciphertext obtained by encryption to obtain an intermediate result; The functional function value is calculated according to the intermediate result.
3. The multi-source data fusion calculation method according to claim 1 is characterized in that: The method further comprises: In the system initialization phase, traversing the addresses of the database, and determining the data encoding sequence corresponding to the traversed addresses based on the address mapping; or, During the system initialization phase, based on the data coding sets of each of the data cubes, the data coding sequence is traversed in a multiple-cycle manner.
4. The multi-source data fusion calculation method according to claim 3 is characterized in that: Traversing the address of the database and determining the data encoding sequence corresponding to the traversed address based on the address mapping, comprising: Calculate address parameters ,in, , , represents the address of the database, represents the number of said data cubes, Indicates the amount of data in the second data cube D2, Indicates Data Cube The amount of data; set up , , and determine , and judge Is it divisible? , determine the first Data encoding, Indicates the first Data encoding.
5. The multi-source data fusion calculation method according to claim 4 is characterized in that: Determine the first Data encoding, including: The first step of determination: If ,calculate ; Second judgment step: If ,calculate ; Calculation steps: ;in, It means divisible. It means it cannot be divided evenly. represents the modulo operation, such as express Divide by The remainder of Data Cube The first determination step, the second determination step and the calculation step are executed cyclically to obtain a data code ,in, .
6. The multi-source data fusion calculation method according to claim 3 is characterized in that: Traversing the address of the database and determining the data encoding sequence corresponding to the traversed address based on the address mapping, comprising: set up , , , ,for , represents the address of the database, represents the number of said data cubes, Indicates the j+1th data cube D j+1 The amount of data, Indicates Data Cube The amount of data, data calculate Is it divisible? , determine the data encoding in the data encoding sequence based on whether it can be divided integerly , where the floor operation is Not divisible carried out under the circumstances; Data Cube calculate .
7. The multi-source data fusion calculation method according to claim 6 is characterized in that: Determine the data encoding in the data encoding sequence based on whether the result is divisible , data side calculate ,include: Execution steps: Command ,for , data side Execute the first calculation sub-step, the second calculation sub-step and the third calculation sub-step to calculate the data encoding ; The first calculation sub-step: if ,calculate , and the second calculation sub-step, the third calculation sub-step and the calculation step are no longer executed, wherein, , express Divisibility , Indicates the first Data encoding, Indicates the first Data encoding; The second calculation sub-step: if ,calculate ,in, express Not divisible , Indicates rounding down; The third calculation sub-step: calculation ; Calculation steps: Data cube calculate .
8. The multi-source data fusion calculation method according to claim 3 is characterized in that: In the system initialization phase, based on the data encoding set of each data entity, the data encoding sequence is traversed in a multiple-cycle manner, including: Data Cube From 1 to Traversal Data Encoding ;for , data side From 1 to Traversal Data Encoding ; For each two-dimensional sequence traversed , data side From 1 to Traversal Data Encoding ; Until, for each m-1 dimensional sequence traversed From 1 to Traversal Data Encoding , get the data encoding sequence ; Among them, the data From 1 to Traversal Data Encoding , indicating the data side Will Assign the values to ,in Indicates data source The amount of data, represents the number of said data entities; In the system initialization phase, based on the data encoding set of each data cube, the data encoding sequence is traversed in a multiple-cycle manner, and then the method further includes: In the system initialization phase, according to k The database address corresponding to the data encoding sequence is calculated, where: Represents the data encoding of each of the data entities.
9. The multi-source data fusion calculation method according to claim 3, characterized in that: Traversing the address of the database and determining the data encoding sequence corresponding to the traversed address based on the address mapping, including: traversing the address of the database, calculating the inverse of the address with respect to the address mapping to obtain the data encoding sequence; The method also includes: setting a data coding set, and randomly selecting a data coding from the data coding set to encode any secret data of the data party, wherein the data coding corresponds to the secret data one-to-one, and a coding mapping is used to characterize the mapping between the secret data and the data coding.
10. The multi-source data fusion calculation method according to claim 9, characterized in that: The method further comprises: secretly preserving the encoding mapping between the held secret data and the data encoding, wherein the encoding mapping is a bijection; The method further includes: when the data encoding is known and the secret data is unknown, calculating the inverse of the encoding mapping with respect to the data encoding to obtain the secret data corresponding to the data encoding.
11. The multi-source data fusion calculation method according to claim 1, characterized in that: The address mapping is a mapping constructed based on a tree-structured database, wherein the tree-structured database is The first level divides the database into First level interval, Each level The level interval is divided into i+1 level intervals, , and each i-level interval contains Addresses, The level interval corresponds to the address of the database, represents the number of said data cubes, Indicates Data Cube The amount of data, Indicates Data Cube The amount of data.
12. The multi-source data fusion calculation method according to claim 11, characterized in that: The address mapping uses Metafunction: , To express, represents a data encoding sequence, the data encoding sequence includes Data encoding, Indicates data source Data encoding, data square hold The secret data are , , A coding mapping between the secret data and the data coding is represented.
13. The multi-source data fusion calculation method according to claim 1, characterized in that: The method further comprises: in the system initialization stage, according to the formula Determine the size of the database, where N represents the size of the database, N i represents the data size of the i-th data entity, , Indicates the number of data cubes.
14. The multi-source data fusion calculation method according to claim 1, characterized in that: During the system initialization phase, the address mapping between the data encoding sequence and the database is constructed, including: During the system initialization phase, an address mapping between the data encoding sequence and the database is constructed based on the data size of each data cube.
15. The multi-source data fusion calculation method according to any one of claims 1 to 14, characterized in that: The address mapping is injective, and the data encoding sequence and the address in the database are in a one-to-one correspondence.
16. A multi-source data fusion computing system, characterized in that: The multi-source data fusion computing system includes a data party, a demand party and a privacy computing system. The privacy computing system includes multiple computing parties, wherein: In the system initialization stage, the demand party constructs an address mapping between a data coding sequence and a database based on the data of each of the data parties; each of the data parties is used to randomly encode the secret data it holds to obtain a corresponding data code, and send the data code of the secret data to the demand party; the demand party calculates a functional function value, and calculates the address of the functional function value corresponding to the data coding sequence in the database based on the received data codes of each of the data parties and the address mapping, and then stores the functional function value in the corresponding address of the database; During the system operation phase, the data party is used to send the data encoding of the current secret data to the demand party, so that the demand party can query the database according to the address mapping to obtain the functional function value corresponding to the current secret data of each data party.
17. The multi-source data fusion computing system according to claim 16, characterized in that: In the system initialization phase, each of the data parties is further configured to encrypt the secret data to obtain a ciphertext, and send the ciphertext to each of the computing parties; The multiple computing parties are used to receive the ciphertext input by each data party, and perform privacy computing tasks to obtain intermediate results and send them to the demand party, so that the demand party can calculate the functional function value based on the intermediate results.
18. The multi-source data fusion computing system according to claim 17, characterized in that: The privacy computing system also includes other related parties, including a trusted third party that assists in the execution of privacy computing tasks.
19. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the multi-source data fusion calculation method according to any one of claims 1 to 15.
20. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the multi-source data fusion calculation method according to any one of claims 1 to 15 are implemented.
Citation Information
Patent Citations
Multi-party fusion computing system, multi-party fusion computing method and readable storage medium
CN114944935A
Multi-source heterogeneous data fusion storage system
CN116992103A
Method and device for zero-trust fusion computation of multi-party data
NL2036148A