A data query method and device based on multi-party cooperation

By leveraging data virtualization and smart contract technologies in a blockchain data collaboration platform, the issues of data querying and security adaptation in privacy computing across multiple data sources are resolved, enabling transparent and trustworthy data use and traceability, and adapting to diverse data privacy query scenarios.

CN115269683BActive Publication Date: 2025-11-18ANT BLOCKCHAIN TECHNOLOGY (SHANGHAI) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210869396.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-22
Publication Date
2025-11-18
Estimated Expiration
2042-07-22

AI Technical Summary

Technical Problem

In privacy computing scenarios involving multiple data sources, how can we flexibly adapt to different data query and privacy computing scenarios, consider the security differences of each data source, and achieve transparent and trustworthy data use and traceability?

Method used

By connecting multiple collaborating parties through a blockchain-based data collaboration platform, data virtualization is performed to generate a virtual data set. Then, using smart contracts and instantiated operator libraries, a query process corresponding to the data query request is generated and deployed to the blockchain network.

Benefits of technology

It reduces the complexity of data use, enables a transparent and trustworthy data use process, facilitates traceability, and can adapt to different data privacy query scenarios, activating more data use scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115269683B_ABST
    Figure CN115269683B_ABST
Patent Text Reader

Abstract

One or more embodiments of the specification provide a multi-party collaboration-based data query method and device. The method comprises: obtaining a data query request input by a user for a virtual data set; parsing the data query request to obtain at least one sub-operation related to the data query request; selecting at least one instantiated operator corresponding to the at least one sub-operation from an instantiated operator library related to the privacy calculation, and generating a query process corresponding to the data query request based on the at least one instantiated operator; creating a smart contract containing query logic corresponding to the query process, and deploying the created smart contract to a blockchain network interfaced with the data collaboration platform for calling by the user.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present specification relate to the technical field of blockchain, and in particular to a data query method and device based on multi-party collaboration. BACKGROUND

[0002] Privacy compute refers to a technology for realizing data analysis and calculation while protecting data from being leaked. For example, the current mainstream privacy compute technologies can generally include FL (Federated Learning) technology, MPC (Secure Multi-party Computation) technology, TEE (Trusted Execute Environment) technology, and the like. In actual applications, data participating in privacy compute can come from multiple different data sources. Therefore, how to utilize data from multiple different data sources to perform privacy compute is a focus of the industry. SUMMARY

[0003] The present specification proposes a data query method based on multi-party collaboration. A data collaboration platform based on a blockchain interfaces with multiple collaboration participants. The method is applied to a server corresponding to any target collaboration participant among the multiple collaboration participants. The method comprises:

[0004] Obtaining a data query request input by a user for a virtual data set. The virtual data set is a virtual data set obtained by performing data virtualization processing on data maintained by the data collaboration platform for the multiple collaboration participants for participating in privacy compute.

[0005] Analyzing the data query request to obtain at least one sub-operation related to the data query request.

[0006] Selecting at least one instantiated operator corresponding to the at least one sub-operation from an instantiated operator library related to the privacy compute, and generating a query process corresponding to the data query request based on the at least one instantiated operator.

[0007] Creating a smart contract containing query logic corresponding to the query process, and deploying the created smart contract to a blockchain network interfaced with the data collaboration platform for calling by the user.

[0008] The present specification also proposes a data query method based on multi-party collaboration. The method is applied to a data collaboration platform based on a blockchain. The data collaboration platform interfaces with multiple collaboration participants. The method comprises:

[0009] The system retrieves a data query request for a virtual data set, uploaded by the user and uploaded to the server corresponding to any target collaborative participant among the multiple collaborative participants; wherein, the virtual data set is a virtual data set obtained by the data collaboration platform through data virtualization processing of the data maintained by the multiple collaborative participants for participating in privacy computing.

[0010] Parse the data query request to obtain at least one sub-operation related to the data query request;

[0011] Select at least one instantiated operator corresponding to the at least one sub-operation from the instantiated operator library related to the privacy computation, and generate a query process corresponding to the data query request based on the at least one instantiated operator;

[0012] Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to a blockchain network that interfaces with the data collaboration platform for the user to invoke.

[0013] This specification also proposes a data query device based on multi-party collaboration, wherein a blockchain-based data collaboration platform connects to multiple collaborative participants; the method is applied to a server corresponding to any target collaborative participant among the multiple collaborative participants; the device includes:

[0014] The first acquisition module acquires a data query request for a virtual data set input by the user; wherein, the virtual data set is a virtual data set obtained by the data collaboration platform through data virtualization processing of the data maintained by the multiple collaboration participants for participating in privacy computing.

[0015] The first parsing module parses the data query request to obtain at least one sub-operation related to the data query request;

[0016] The first generation module selects at least one instantiated operator corresponding to the at least one sub-operation from the instantiated operator library related to the privacy computing, and generates a query process corresponding to the data query request based on the at least one instantiated operator;

[0017] The first deployment module creates a smart contract containing query logic corresponding to the query process, and deploys the created smart contract to the blockchain network that interfaces with the data collaboration platform for the user to call.

[0018] This specification also proposes a data query device based on multi-party collaboration, which is applied to a blockchain-based data collaboration platform; wherein the data collaboration platform connects to multiple collaborative participants; the device includes:

[0019] The second acquisition module acquires a data query request for a virtual data set uploaded by the user and uploaded to the server corresponding to any target collaborative participant among the multiple collaborative participants; wherein, the virtual data set is a virtual data set obtained by the data collaboration platform through data virtualization processing of the data maintained by the multiple collaborative participants for participating in privacy computing.

[0020] The second parsing module parses the data query request to obtain at least one sub-operation related to the data query request;

[0021] The second generation module selects at least one instantiated operator corresponding to the at least one sub-operation from the instantiated operator library related to the privacy computation, and generates a query process corresponding to the data query request based on the at least one instantiated operator;

[0022] The second deployment module creates a smart contract containing query logic corresponding to the query process, and deploys the created smart contract to the blockchain network that interfaces with the data collaboration platform for the user to call.

[0023] The technical solutions described above not only reduce the complexity of data usage when performing privacy-preserving computations on data from multiple data sources, but also make the data usage process more transparent, trustworthy, and traceable. Furthermore, because users can customize data query needs from a global data perspective based on virtual datasets obtained through virtualization of data from multiple data sources, and can plan different data privacy query processes according to different user data query needs based on the privacy-preserving computation capabilities of the data collaboration platform itself, it can flexibly adapt to different data privacy query scenarios, enabling the data collaboration platform to activate more data usage scenarios. Attached Figure Description

[0024] Figure 1 This is a system architecture diagram of a data collaboration platform illustrated in an exemplary embodiment of this specification.

[0025] Figure 2 This is a flowchart illustrating a data query method based on multi-party collaboration, according to an exemplary embodiment of this specification.

[0026] Figure 3 This specification is a schematic diagram illustrating, according to an exemplary embodiment, a virtualization process for data maintained by multiple collaborating parties.

[0027] Figure 4 This is a flowchart illustrating another data query method based on multi-party collaboration, according to an exemplary embodiment of this specification.

[0028] Figure 5 This is a schematic structural diagram of an electronic device provided in an exemplary embodiment.

[0029] Figure 6 This is a block diagram illustrating a data query device based on multi-party collaboration according to an exemplary embodiment of this specification.

[0030] Figure 7 This is a block diagram illustrating another data query apparatus based on multi-party collaboration according to an exemplary embodiment of this specification. Detailed Implementation

[0031] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this specification, and not all embodiments. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this specification.

[0032] It should be noted that the steps of the corresponding methods are not necessarily performed in the order shown and described in this specification in other embodiments. In some other embodiments, the methods may include more or fewer steps than described in this specification. Furthermore, a single step described in this specification may be broken down into multiple steps in other embodiments; and multiple steps described in this specification may be combined into a single step in other embodiments.

[0033] In scenarios involving privacy-preserving computations on data from multiple different data sources, a centralized data collaboration platform is typically built to break down information silos and achieve full data integration. This centralized platform is usually responsible for scheduling and managing the data from each data source. When privacy-preserving computations are needed on data from multiple different data sources, the platform can query data from each data source separately and perform privacy-preserving computations on the retrieved data based on its own privacy-preserving computation capabilities.

[0034] However, in practical applications, different data sources usually have different security requirements for the use of the data they maintain. For example, some data sources may prohibit the export of data from their data domain for privacy protection purposes, or may not allow the data they maintain to be aggregated and used with data maintained by other data sources, and so on.

[0035] The differences in data security requirements among different data sources can lead to numerous scenarios involving data queries and privacy-preserving computations. Therefore, for data collaboration platforms, the ability to flexibly adapt to these data query and privacy-preserving computation scenarios is of paramount importance.

[0036] Based on this, this specification proposes a technical solution for scenarios where privacy computing is performed on data maintained from multiple data sources. This solution allows users to customize their data query needs from a global data perspective and flexibly plan the data query process corresponding to the user's customized data query needs based on the privacy computing capabilities of the data collaboration platform itself.

[0037] In implementation, a blockchain-based data collaboration platform can be built, connecting multiple collaborating parties. Each party can maintain data for privacy-preserving computations. The data collaboration platform can then use data virtualization technology to virtualize the data maintained by each party, resulting in a virtual data set.

[0038] For any target collaborating participant among the multiple collaborating participants, a user accessing the server corresponding to that target collaborating participant can input a data query request for the virtual data set. Upon receiving the data query request, the server corresponding to that target collaborating participant can parse it to obtain at least one sub-operation related to the data query request; then, from the privacy-related instantiation operator library managed by the data collaboration platform, it selects at least one instantiation operator corresponding to the aforementioned at least one sub-operation, and generates a query process corresponding to the aforementioned data query request based on the aforementioned at least one instantiation operator.

[0039] Finally, a smart contract containing the query logic corresponding to this query process can be created and deployed to the blockchain network that interfaces with the data collaboration platform. Subsequently, users can invoke this smart contract to complete the query process corresponding to the aforementioned data query request.

[0040] The above technical solutions not only reduce the complexity of data usage when performing privacy-preserving computations on data from multiple data sources, but also make the data usage process more transparent, trustworthy, and traceable.

[0041] Moreover, since users can customize their data query needs from a global data perspective based on virtual data sets obtained by virtualizing data from multiple data sources, and can plan different data privacy query processes for different user data query needs based on the privacy computing capabilities of the data collaboration platform itself, it can flexibly adapt to different data privacy query scenarios, enabling the data collaboration platform to activate more data usage scenarios.

[0042] Please see Figure 1 , Figure 1 This is a system architecture diagram of a data collaboration platform illustrated in an exemplary embodiment of this specification.

[0043] like Figure 1 As shown, the aforementioned data collaboration platform can specifically be a blockchain-based privacy collaboration platform that can connect to a blockchain network and multiple collaboration participants (i.e., multiple data sources). This data collaboration platform can perform computational scheduling on the data maintained by these multiple collaboration participants, completing privacy-preserving computations from a global data perspective.

[0044] For example, while meeting the data security requirements of each collaborating party, the data maintained by each collaborating party can be treated as a whole for privacy calculation.

[0045] Each participating party can maintain its own dataset and computation result set. The dataset stores the data used for privacy-preserving computations. The computation result set stores the results obtained from privacy-preserving computations performed on the data in the dataset. These results can be intermediate or final.

[0046] It should be noted that both the dataset and the result set mentioned above can be a single database. Different collaborating parties may use homogeneous or heterogeneous databases; this specification does not impose any specific limitations.

[0047] In addition to the datasets and computation result sets mentioned above, each collaborating participant can also carry several instantiated operators and functional components related to privacy computing.

[0048] like Figure 1 As shown, the privacy-related instantiation operators implemented by each collaborative participant can specifically include MPC-based instantiation operators, TEE-based instantiation operators, and TL-based instantiation operators, etc. Each instantiation operator corresponds to a computational operation or function implemented based on a specific privacy-related computation technology. Furthermore, a specific computational operation or function can correspond to multiple instantiation operators implemented based on various privacy-related computation technologies.

[0049] For example, taking the intersection calculation function as an example, the instantiation operator corresponding to this intersection calculation function can specifically include an instantiation operator for intersection calculation based on MPC, an instantiation operator for intersection calculation based on TEE, and so on. That is, for the intersection calculation function, two instantiation operators can be implemented based on MPC technology and TEE technology respectively.

[0050] like Figure 1 As shown, the functional components provided by each collaborative participant can specifically include the following:

[0051] The data query parsing component is used to parse user-input data query requests, obtain the data query requirements expressed in the request, and parse the request into at least one sub-operation related to the data query. For example, in practical applications, the aforementioned data query request can specifically be a data query statement (such as an SQL statement). The data query parsing component is used to perform syntax parsing on the data query statement, obtain the syntax tree of the data query statement, and then, based on the syntactic structure described by the obtained syntax tree, clarify the user's query requirements and convert them into at least one sub-operation related to the data query.

[0052] The data query planning component is used to plan the basic query process corresponding to the data query request based on at least one of the sub-operations parsed by the data query parsing component.

[0053] The application execution planning component is used to select at least one instantiated operator corresponding to the above-mentioned at least one sub-operation from the instantiated operator library managed by the data collaboration platform, and then plan an instantiated query process corresponding to the above-mentioned basic query process based on the above-mentioned at least one instantiated operator. At this time, the instantiated query process is a specific data collaboration application planned for querying data based on the data query requirements expressed by the user's input data query request.

[0054] The application contract management component is used to generate execution code related to the query logic corresponding to the above instantiation query process, compile the generated execution code into smart contract code, and deploy a smart contract containing the above smart contract code in the blockchain network that is connected to the data collaboration platform.

[0055] The execution scheduling component interacts with the aforementioned smart contracts. By listening to the call results of the smart contracts stored on the blockchain, it further schedules local instantiated operators to complete the relevant privacy computations.

[0056] It should be noted that the functional components shown above are only illustrative. In actual applications, some components can be integrated or further separated based on actual needs. This specification does not impose any special limitations on this.

[0057] It should also be noted that, except for the execution scheduling component, the other components shown above can be distributed and deployed by the data collaboration platform among the various collaboration participants. Figure 1 This illustrates a distributed deployment across various collaborating parties, but it can also be centrally deployed on a data collaboration platform, without specific limitations in this specification. For example, it can be centrally deployed on a blockchain service platform used to manage the aforementioned blockchain network. Figure 1 (Not shown in the middle)

[0058] Please continue reading Figure 1 For each participating party in the collaboration, an application execution client can also be provided to users.

[0059] This application execution client is specifically used to provide users with access services to the data collaboration platform. Users can use this application execution client to initiate contract calls to the aforementioned smart contracts and query the call results of the smart contracts.

[0060] Please see Figure 2 , Figure 2 This is a flowchart illustrating a multi-party collaborative data query method according to an exemplary embodiment, which can be applied to... Figure 1 The method includes: (1) The server corresponding to any target collaborative participant among the multiple collaborative participants shown;

[0061] Step 202: Obtain the data query request for the virtual data set input by the user; wherein, the virtual data set is a virtual data set obtained by the data collaboration platform through data virtualization processing of data maintained by at least some of the multiple collaboration participants for participating in privacy computing.

[0062] The aforementioned collaborative participants can specifically be data providers connected to the data collaboration platform. For example, in one scenario, these multiple collaborative participants could include multiple data centers distributed across different regions.

[0063] Each participating party can maintain its own local dataset for privacy-preserving computations. To break down information silos among these parties, the data collaboration platform can use data virtualization technology to virtualize the datasets maintained by each participant.

[0064] Data virtualization technology is a technique that maps physical data maintained by multiple data sources into virtual data at the logical level, thereby integrating the physical data maintained by multiple data sources into a single logical virtual data set (also known as a logical view) for use by upper-layer applications. By performing data virtualization processing on the datasets maintained by various collaborating participants, the datasets maintained by these participants can be integrated into a single virtual data set for user use.

[0065] In mapping physical data maintained by multiple data sources to virtual data, this typically refers to the process of mapping physical data attributes contained in the physical data to virtual data attributes. It should be noted that this mapping can be done in two ways: a one-to-one mapping, where one physical data attribute is mapped to a corresponding virtual data attribute; or a many-to-one mapping, where multiple physical data attributes are mapped to a single virtual data attribute.

[0066] For example, see Figure 3 , Figure 3 This is a schematic diagram illustrating a data virtualization process for data maintained by multiple collaborating parties, as an exemplary embodiment of this specification.

[0067] like Figure 3 As shown, assume that dataset 1 maintained by collaborating participant 1 stores data including attributes 1-3, dataset 2 maintained by collaborating participant 2 stores data including attributes 4-7, and dataset 3 maintained by collaborating participant 3 stores data including attributes 8-11. Each attribute can represent a field in a data table. The virtual data table obtained after performing data virtualization on the data stored in datasets 1-3 can contain attribute AF.

[0068] Among them, such as Figure 3As shown in the data virtualization processing method, attribute 1 in dataset 1, attribute 4 in dataset 2, and attribute 8 in dataset 3 are mapped to attribute A in the virtual data table using a many-to-one mapping method; attribute 2 in dataset 1, attribute 5 in dataset 2, and attribute 9 in dataset 3 are mapped to attribute B in the virtual data table using a many-to-one mapping method; attribute 3 in dataset 1 and attribute 6 in dataset 2 are mapped to attribute C in the virtual data table using a many-to-one mapping method. Attribute 10 in dataset 3 is mapped to attribute D in the virtual data table using a one-to-one mapping method; attribute 7 in dataset 2 is mapped to attribute E in the virtual data table using a one-to-one mapping method; and attribute 11 in dataset 3 is mapped to attribute F in the virtual data table using a one-to-one mapping method.

[0069] It needs to be emphasized that, Figure 3 The data mapping method shown is merely an example. In practical applications, the data mapping method used when virtualizing data maintained by multiple collaborating parties usually depends on the data semantics of the data itself, and is not specifically limited in this specification. For example, when performing data mapping, if the data semantics of multiple data fields distributed across different collaborating parties are related, the multiple data fields can be mapped into a single virtual data attribute.

[0070] After the datasets maintained by each collaborating participant have been virtualized, the resulting virtual data table can be distributed to each collaborating participant. Each participant can then use this virtual data table as a global view that reflects the data status maintained by each participant and display it to the user.

[0071] Users who connect to the aforementioned target collaborative participants through the client can initiate data queries from a global data perspective by inputting data query requests for the virtual data table through the client when they have data query needs.

[0072] Specifically, the aforementioned data query request is used to express the user's data query needs to the data collaboration platform. The specific form of this data query request is not specifically limited in this specification. For example, in one instance, the aforementioned data query request could be a data query statement (such as an SQL statement) entered by the user.

[0073] Step 204: Parse the data query request to obtain at least one sub-operation related to the data query request;

[0074] In practical applications, a user's data query operation on the above-mentioned virtual data set is usually a complete query process consisting of at least one sub-operation.

[0075] For example, suppose the aforementioned virtual dataset is a user information table storing users' personal information, including gender and age fields. If a user's data query request for this user information table is "to query the average age data of male users stored in this user information table," then the user's data query operation for the aforementioned virtual dataset would consist of a query process comprised of "a query sub-operation for the user information of male users in this user information table," "a filtering and calculation sub-operation for the age data in the user information of male users in this user information table," and "a sub-operation for calculating the average of the filtered age data."

[0076] After receiving a data query request input by a user through a client, the server corresponding to the aforementioned collaborating party can parse the data query request to clarify the user's data query needs for the aforementioned virtual data set, and then parse the data query request into at least one sub-operation related to the data query.

[0077] For example, please continue to see Figure 1 After receiving the data query request entered by the user through the client, the server corresponding to the aforementioned collaborative participants can call... Figure 1 The described data query parsing component parses the data query request.

[0078] The specific process of parsing the aforementioned data query request usually depends on the specific form of the data query request.

[0079] For example, in one embodiment shown, the aforementioned data query request can specifically be a data query statement. A data query statement typically organizes and expresses the user's data query requirements through a certain syntactic structure. In this case, the data query statement can be parsed to obtain a syntax tree corresponding to it. The syntax tree is typically used to describe the syntactic structure of the data query statement. Once the syntax tree is obtained through parsing, the user's data query requirements can be clarified based on the syntactic structure described in the syntax tree, and at least one sub-operation related to the data query statement can be determined.

[0080] It should be noted that the specific process of parsing the data query statement is not detailed in this specification. Those skilled in the art can refer to relevant technical documents when implementing the technical solutions described herein. For example, some general-purpose parsing engines can be used to parse the aforementioned data query statement.

[0081] In one embodiment shown, the aforementioned data query request can specifically be a request message for data querying. For a request message for data querying, the user's data query requirements are typically organized and expressed using a specific message format. In this case, the message format can be parsed to clarify the user's data query requirements and identify at least one sub-operation related to the request message.

[0082] It should be noted that the specific process of parsing the message format of this request message will not be detailed in this specification. Those skilled in the art can refer to relevant technical records when implementing the technical solutions described in this specification. For example, some general message parsing tools or protocols can be used to parse the message format of the above request message.

[0083] In this specification, the aforementioned data query request may specifically be a request for querying virtual data in the aforementioned virtual data set, or it may be a request for performing data query calculations on the virtual data in the aforementioned virtual data set.

[0084] In one embodiment shown, if the data query request is a request for querying virtual data in the virtual data set only, then the at least one sub-operation typically includes only at least one query sub-operation for the virtual data in the virtual data set.

[0085] For example, taking the aforementioned virtual data set as a user information table storing user personal information, such a data query request can typically be a data query request such as "querying male users stored in this user information table". In this case, the aforementioned at least one sub-operation usually includes only at least one "query sub-operation for user information of male users in this user information table".

[0086] It should be noted that since the virtual data fields contained in the virtual data set are obtained by mapping and integrating the physical data fields contained in the physical data maintained by each collaborating participant, the data content corresponding to the aforementioned virtual data fields is actually maintained by different collaborating participants. In this case, the aforementioned at least one sub-operation can typically include at least one query sub-operation that queries the data content corresponding to the aforementioned virtual data fields from the data maintained by different collaborating participants.

[0087] In one embodiment shown, if the data query request is a request to perform data query calculations on virtual data in the virtual data set, then the at least one sub-operation may further include at least one calculation sub-operation for calculating the queried data.

[0088] For example, taking the aforementioned virtual data set as a user information table storing user personal information, such a data query request could be the data query request described above, which is "querying the average age data of male users stored in the user information table". In this case, the above-mentioned at least one sub-operation may include, in addition to "querying user information of male users in the user information table", "filtering and calculating age data in the user information of male users in the user information table", and "calculating the average value of the filtered age data".

[0089] It should be noted that the type of at least one computational sub-operation related to the user's input data query request usually depends on the privacy computing capabilities of the aforementioned data collaboration platform itself, and is not specifically limited in this specification.

[0090] For example, in practical applications, the above-mentioned at least one calculation sub-operation can typically include sub-operations for calculating the intersection of data; sub-operations for calculating the filtering of data; sub-operations for calculating the statistical results of data, etc., which will not be listed one by one in this specification.

[0091] Step 206: Select at least one instantiation operator corresponding to the at least one sub-operation from the instantiation operator library related to the privacy computation, and generate a query process corresponding to the data query request based on the at least one instantiation operator;

[0092] It should be noted that the operators described in this specification refer to the various computational operations / functions involved in performing privacy-preserving computations on the data maintained by each collaborative participant. In other words, any computational operation / function involved in performing privacy-preserving computations on the data maintained by each collaborative participant can be considered an operator.

[0093] The aforementioned instantiation operator refers to a computational function or operation implemented based on a specific privacy-preserving computation technology. For example, mainstream privacy-preserving computation technologies typically include FL technology, MPC technology, and TEE technology, etc. Therefore, the instantiation operators in the aforementioned instantiation operator library can include instantiation operators implemented based on FL technology, instantiation operators implemented based on MPC technology, and operators implemented based on TEE technology, etc.

[0094] In practical applications, the privacy computing capabilities of a data collaboration platform are usually determined by the instantiation operator library managed by the platform. The more diverse the types of instantiation operators in the library, the stronger the privacy computing capabilities of the data collaboration platform.

[0095] In one embodiment shown, the instantiated operators in the instantiated operator library managed by the data collaboration platform can specifically be operators implemented based on privacy-preserving computation technologies supported by the data collaboration platform, and may also include operators implemented based on privacy-preserving computation technologies supported by each collaboration participant. In this way, the data collaboration platform can encompass the privacy-preserving computation capabilities of each participating collaboration party.

[0096] After parsing the data query request into at least one sub-operation, the server corresponding to the aforementioned target collaborating party can select at least one instantiation operator corresponding to the aforementioned at least one sub-operation from the managed instantiation operator library and generate a query process corresponding to the aforementioned data query request based on the selected at least one instantiation operator.

[0097] In one embodiment, the data collaboration platform can distribute process planning components across servers corresponding to the aforementioned multiple collaboration participants. These process planning components are specifically used to select at least one instantiated operator corresponding to the at least one sub-operation from a managed instantiated operator library and generate a query process corresponding to the data query request based on the selected instantiated operator. The instantiated operator library managed by the data collaboration platform can also be distributed to the servers corresponding to each collaboration participant for maintenance by each participant. In this case, after parsing the data query request into at least one sub-operation, the server corresponding to the target collaboration participant can invoke the process planning component to select at least one instantiated operator corresponding to the at least one sub-operation from its locally maintained instantiated operator library related to privacy computing, and generate a query process corresponding to the data query request based on the selected instantiated operator.

[0098] For example, please continue to see Figure 1 The aforementioned process planning components may specifically include Figure 1The data query planning component and application execution planning component are shown. In this case, after parsing the data query request into at least one sub-operation, the server corresponding to the aforementioned target collaboration participant can first call the data query planning component to plan a basic query process corresponding to the data query request based on the parsed at least one sub-operation. Then, it calls the application execution planning component to select at least one instantiated operator corresponding to the at least one sub-operation from the instantiated operator library managed by the data collaboration platform, and then plan an instantiated query process corresponding to the basic query process based on the at least one instantiated operator. At this point, the instantiated query process is a specific data collaboration application planned based on the data query requirements expressed by the user's input data query request, used for querying data.

[0099] It should be noted that in practical applications, different data sources typically have different security requirements for the use of the data they maintain. For example, some data sources may, for privacy protection purposes, prohibit the export of data from their data domain or allow the aggregation of their maintained data with data maintained by other data sources. Therefore, to ensure that the selected instantiation operator meets the security requirements of each collaborating party for data usage, appropriate instantiation operators can be selected from the aforementioned instantiation operator library based on the security requirements of each collaborating party.

[0100] In one embodiment shown, when selecting at least one instantiation operator corresponding to the at least one sub-operation from the instantiation operator library, the data security requirements of each cooperating participant policy for the data it maintains can be obtained first, and then at least one instantiation operator corresponding to the at least one sub-operation that meets the data security requirements can be selected from the instantiation operator library.

[0101] In this way, even if users are unaware of the security requirements of each collaborating party for data usage, the data collaboration platform can still automatically select instantiated operators that meet the security requirements of each collaborating party based on the user's data query needs. This avoids query failures caused by users not understanding the security requirements of each collaborating party's data usage.

[0102] Since the data security policies configured by each collaborative participant for the data they maintain can, to some extent, reflect the security requirements of each participant for the use of the data, when obtaining the data security requirements of each collaborative participant for the data they maintain, it is possible to first obtain the data security policies configured by each collaborative participant for the data they maintain. After obtaining the data security policies configured by each collaborative participant for the data they maintain, the data security requirements of each participant for the data they maintain can be further determined based on these data security policies.

[0103] The specific content of the data security policy configured by each collaborative participant for the data they maintain usually depends on the specific security requirements of each collaborative participant for the use of the data, and therefore will not be specifically limited in this specification.

[0104] In one embodiment shown, the above data security strategy may specifically include one or more of the following combinations:

[0105] The security level configured for the data;

[0106] The security protection level configured for the data;

[0107] Data trust relationships with other collaborating parties;

[0108] Corresponding to the above data security strategies are the data security requirements for each collaborating party, which may specifically include one or more of the following:

[0109] Based on the security level, the security requirements for whether or not data is allowed to be exported from its data domain;

[0110] Based on the security protection level, the security requirements for whether data anonymization processing of data and privacy calculation results on the data is permitted;

[0111] Based on the aforementioned data trust relationship, the security requirements determine whether it is permissible to aggregate the data with data maintained by other collaborating parties.

[0112] In one embodiment shown, data security requirements can also be configured for the instantiated operator libraries contained within the instantiated operator library. The data security requirements configured for the instantiated operator library specifically indicate the data security requirements that the instantiated operator can meet.

[0113] In this scenario, when selecting at least one instantiated operator corresponding to the at least one sub-operation that meets the data security requirements from the instantiated operator library, the process can begin by searching the instantiated operator library for at least one instantiated operator corresponding to the aforementioned at least one sub-operation. At this stage, some of the instantiated operators found may not meet the aforementioned security requirements. Then, the data security requirements of each collaborative participation policy for the data it maintains can be matched with the data security requirements corresponding to the found at least one instantiated operator. Based on the matching results, an instantiated operator that matches the data security requirements of each collaborative participation policy for the data it maintains can be further selected from the at least one instantiated operator.

[0114] It should be noted that, as mentioned earlier, the instantiation operators in the aforementioned instantiation operator library can typically include instantiation operators implemented based on FL technology, MPC technology, and TEE technology, etc. However, instantiation operators implemented based on FL technology are generally not applicable to data query scenarios. Therefore, in this specification, the instantiation operator corresponding to at least one of the above sub-operations can specifically include instantiation operators implemented based on TEE and instantiation operators implemented based on MPC.

[0115] For example, the instantiation operator corresponding to at least one of the above sub-operations may specifically include an instantiation operator implemented based on TEE for performing privacy queries or privacy query calculations, and an instantiation operator implemented based on MPC for performing privacy queries or privacy query calculations.

[0116] In one embodiment, when generating a query process corresponding to the data query request based on at least one instantiation operator, multiple query processes can be generated based on the at least one instantiation operator, and then these multiple query processes can be output and displayed to the user, allowing the user to select the optimal query process corresponding to the data query request from among the multiple query processes. Of course, in practical applications, an optimal query process can also be generated by default based on the at least one instantiation operator.

[0117] Step 208: Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to the blockchain network that interfaces with the data collaboration platform for the user to call.

[0118] After generating a query process corresponding to the data query request based on at least one of the instantiated operators, the server corresponding to the aforementioned target collaboration participants can further compile the query process into a smart contract and deploy it to the blockchain network that interfaces with the data collaboration platform.

[0119] For example, in one scenario, the aforementioned server can first automatically generate execution code related to the query logic corresponding to the above query process, and then compile the generated execution code into smart contract code. Then, it deploys a smart contract containing this smart contract code in the blockchain network that interfaces with the aforementioned data collaboration platform. The specific process of deploying the smart contract will not be detailed in this specification. For instance, in practical applications, a smart contract creation transaction can be packaged based on this smart contract code and published to the blockchain network. Nodes in the blockchain network can perform consensus verification on this smart contract creation transaction, and after the consensus verification is successful, execute the smart contract call transaction, create a smart contract account in the blockchain, and anchor the smart contract code to this smart contract account to complete the creation of the smart contract.

[0120] In one embodiment shown, the data collaboration platform can specifically deploy smart contract management components in a distributed manner on the servers corresponding to the aforementioned multiple collaboration participants. Specifically, the smart contract management component can be used to generate execution code related to the query logic corresponding to the query process, compile the generated execution code into smart contract code, and deploy a smart contract containing the smart contract code in the blockchain network that interfaces with the data collaboration platform.

[0121] In this scenario, after the server corresponding to the aforementioned target collaboration participant generates a query process corresponding to the aforementioned data query request based on at least one of the aforementioned instantiation operators, it can call the smart contract management component to generate execution code related to the query logic corresponding to the query process, compile the generated execution code into smart contract code, and deploy a smart contract containing the smart contract code in the blockchain network that interfaces with the data collaboration platform.

[0122] For example, please continue to see Figure 1 The aforementioned smart contract management components may specifically include Figure 1 The application contract management component shown in this case allows the server corresponding to the aforementioned target collaboration participant to call the application contract management component after generating a query process corresponding to the aforementioned data query request based on at least one of the aforementioned instantiation operators. This component generates execution code related to the query logic corresponding to the query process and compiles the generated execution code into smart contract code. The smart contract containing the smart contract code is then deployed in the blockchain network that interfaces with the data collaboration platform.

[0123] In this specification, once the smart contract is deployed, the user can initiate a contract call to the smart contract through the client to query the data set of the aforementioned virtual data.

[0124] For example, please continue to see Figure 1 Once the smart contract is deployed, users can... Figure 1 The application execution client shown is used to initiate a contract call against the smart contract, and the call result of the smart contract is queried through the application execution client.

[0125] Please see Figure 4 , Figure 4 This is a flowchart illustrating a multi-party collaborative data query method according to an exemplary embodiment, which can be applied to... Figure 1 The data collaboration platform shown; for example, the data collaboration platform can specifically be a blockchain service platform for managing the aforementioned blockchain network; such as a BaaS (Blockchain as a Service) platform; the method includes:

[0126] Step 402: Obtain a data query request for a virtual data set uploaded by the user and uploaded by the server corresponding to any target collaborative participant among the multiple collaborative participants; wherein, the virtual data set is a virtual data set obtained by the data collaboration platform through data virtualization processing of the data maintained by the multiple collaborative participants for participating in privacy computing.

[0127] Users accessing the aforementioned target collaboration participants via a client can initiate data queries from a global data perspective by inputting a data query request for the virtual data table through the client. Upon receiving the data query request from the user via the client, the corresponding server for each target collaboration participant can upload the request to the aforementioned data collaboration platform for centralized processing.

[0128] Step 404: Parse the data query request to obtain at least one sub-operation related to the data query request;

[0129] Step 406: Select at least one instantiation operator corresponding to the at least one sub-operation from the instantiation operator library related to the privacy computation, and generate a query process corresponding to the data query request based on the at least one instantiation operator;

[0130] Step 408: Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to the blockchain network that interfaces with the data collaboration platform, so that the user can call the query logic contained in the smart contract to complete the data query for the virtual data set.

[0131] After receiving the data query request uploaded by the target collaboration participant, the aforementioned data collaboration platform can execute the execution logic shown in steps 404-408 to centrally process the data query request. For specific implementation details, please refer to [link / reference needed]. Figure 2 The embodiments shown are described in detail in this specification.

[0132] The above technical solutions not only reduce the complexity of data usage when performing privacy-preserving computations on data from multiple data sources, but also make the data usage process more transparent, trustworthy, and traceable.

[0133] For example, by using data virtualization technology, the data maintained by each collaborating participant can be virtualized to create a virtual data set. This not only enables full data integration from multiple data sources but also allows users to utilize data from a global perspective based on this virtual data set, without needing to know the data storage status of each collaborating participant, thus significantly reducing the complexity of data usage. Furthermore, by deploying the generated query process on the blockchain in the form of smart contracts for users to invoke, the characteristics of smart contracts can be fully utilized, making each query transparent, trustworthy, and easily traceable.

[0134] Furthermore, because users can customize their data query needs from a global data perspective based on virtual datasets obtained through virtualization of data from multiple data sources, and leverage the privacy-preserving computing capabilities of the data collaboration platform to plan different data privacy query processes for different user needs, the platform can flexibly adapt to various data privacy query scenarios. This allows the data collaboration platform to activate more data usage scenarios. For example, different data sources typically have different security requirements for the data they maintain. Users, however, are often unaware of these security requirements, which may lead to situations where their data usage needs do not meet the security requirements of one or more data sources when querying and using data from multiple sources from a global perspective. The above technical solution, by leveraging the privacy-preserving computing capabilities of the data collaboration platform to flexibly adapt to user data query needs, significantly improves the platform's adaptability to data usage scenarios. This makes it possible for the data collaboration platform to customize query processes that meet the security requirements of various data sources for users' data query needs.

[0135] Corresponding to the embodiments of the foregoing methods, this specification also provides embodiments of apparatus, electronic devices, and storage media.

[0136] Figure 5 This is a schematic structural diagram of an electronic device provided in an exemplary embodiment. Please refer to... Figure 5 At the hardware level, the device includes a processor 502, an internal bus 504, a network interface 506, memory 508, and non-volatile memory 510, and may also include other hardware required for business operations. One or more embodiments of this specification can be implemented in software, such as the processor 502 reading the corresponding computer program from the non-volatile memory 510 into memory 508 and then running it. Of course, in addition to software implementation, one or more embodiments of this specification do not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. That is to say, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0137] like Figure 6 As shown, Figure 6 This specification is a block diagram illustrating a data query apparatus based on multi-party collaboration according to an exemplary embodiment. This apparatus can be applied to, for example... Figure 5 The illustrated electronic device implements the technical solution described in this specification. The device 600 includes:

[0138] The first acquisition module 601 acquires a data query request for a virtual data set input by the user; wherein, the virtual data set is a virtual data set obtained by the data collaboration platform through data virtualization processing of the data maintained by the multiple collaboration participants for participating in privacy computing.

[0139] The first parsing module 602 parses the data query request to obtain at least one sub-operation related to the data query request;

[0140] The first generation module 603 selects at least one instantiation operator corresponding to the at least one sub-operation from the instantiation operator library related to the privacy computing, and generates a query process corresponding to the data query request based on the at least one instantiation operator;

[0141] The first deployment module 604 creates a smart contract containing query logic corresponding to the query process, and deploys the created smart contract to the blockchain network that interfaces with the data collaboration platform for the user to call.

[0142] The specific details of each module of the aforementioned device 600 have been described in detail in the previously described method flow, so they will not be repeated here.

[0143] like Figure 7 As shown, Figure 7This is a block diagram illustrating another user service application device according to an exemplary embodiment of this specification. This device can also be applied to, for example... Figure 5 The illustrated electronic device implements the technical solution described in this specification. The device 700 includes:

[0144] The second acquisition module 701 acquires a data query request for a virtual data set uploaded by the user and uploaded by the server corresponding to any target collaborative participant among the multiple collaborative participants; wherein, the virtual data set is a virtual data set obtained by the data collaboration platform through data virtualization processing of the data maintained by the multiple collaborative participants for participating in privacy computing.

[0145] The second parsing module 702 parses the data query request to obtain at least one sub-operation related to the data query request;

[0146] The second generation module 703 selects at least one instantiation operator corresponding to the at least one sub-operation from the instantiation operator library related to the privacy computing, and generates a query process corresponding to the data query request based on the at least one instantiation operator;

[0147] The second deployment module 704 creates a smart contract containing query logic corresponding to the query process, and deploys the created smart contract to the blockchain network that interfaces with the data collaboration platform for the user to call.

[0148] The specific details of each module of the aforementioned device 700 have been described in detail in the previously described method flow, so they will not be repeated here.

[0149] Accordingly, this specification also provides an electronic device including a processor; a memory for storing processor-executable instructions; wherein the processor is configured to implement all the steps in the previously described method flow.

[0150] Accordingly, this specification also provides a computer-readable storage medium having executable instructions stored thereon; wherein, when executed by a processor, the instructions implement all the steps in the previously described method flow.

[0151] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of the solution in this specification according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0152] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.

[0153] In a typical configuration, a computer includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0154] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0155] Computer-readable media, including both permanent and non-permanent, removable and non-removable media, can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0156] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0157] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0158] The terminology used in one or more embodiments of this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of one or more embodiments of this specification. The singular forms “a,” “described,” and “the” used in one or more embodiments of this specification and in the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more associated listed items.

[0159] It should be understood that although the terms first, second, third, etc., may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first information may also be referred to as second information without departing from the scope of one or more embodiments of this specification, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "in response to a determination," or "when," or "in the event of a determination."

[0160] The above description is merely a preferred embodiment of one or more embodiments of this specification and is not intended to limit the scope of one or more embodiments of this specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments of this specification should be included within the scope of protection of one or more embodiments of this specification.

Claims

1. A data query method based on multi-party collaboration, wherein a blockchain-based data collaboration platform connects multiple collaborating parties; The method is applied to a server corresponding to any target collaborative participant among the plurality of collaborative participants; the method includes: Obtain a data query request from a user for a virtual data set; wherein, the virtual data set is a virtual data set obtained by the data collaboration platform through data virtualization processing of the data maintained by the multiple collaboration participants for participating in privacy computing. Parse the data query request to obtain at least one sub-operation related to the data query request; Select at least one instantiated operator corresponding to the at least one sub-operation from the instantiated operator library related to the privacy computation, and generate a query process corresponding to the data query request based on the at least one instantiated operator; Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to a blockchain network that interfaces with the data collaboration platform for the user to invoke.

2. The method according to claim 1, wherein the data query request includes a data query statement; Parse the data query request to obtain at least one sub-operation related to the data query request, including: The data query statement is parsed to obtain a syntax tree corresponding to the data query statement; Based on the syntax tree, at least one sub-operation related to the data query statement is determined.

3. The method according to claim 2, wherein the data query statement includes an SQL statement.

4. The method according to claim 2, wherein the virtual data in the virtual data set includes a plurality of data fields; the plurality of data fields are maintained by different collaborating participants respectively; the at least one sub-operation includes at least one query sub-operation of querying the plurality of data fields from the data maintained by the different collaborating participants respectively.

5. The method according to claim 2, wherein the data query statement includes a request to perform data query calculations on virtual data in the virtual data set; the at least one sub-operation further includes at least one calculation sub-operation to perform calculations on the queried data.

6. The method of claim 5, wherein the at least one computational sub-operation comprises any or a combination of the following: Suboperation to calculate the intersection of data; Sub-operations that perform filtering and calculations on the data; Suboperations that perform statistical calculations on data.

7. The method according to claim 1, comprising selecting at least one instantiated operator corresponding to the at least one sub-operation from a library of instantiated operators related to the privacy computation, and generating a query flow corresponding to the data query request based on the at least one instantiated operator, comprising: Obtain the data security requirements of each collaborative participation policy for the data it maintains, select at least one instantiated operator from the instantiated operator library related to the privacy computing that meets the data security requirements and corresponds to the at least one sub-operation, and generate a query process corresponding to the data query request based on the at least one instantiated operator.

8. The method according to claim 7, wherein the instantiation operator includes an operator implemented based on the data collaboration platform and the privacy computing technology supported by the collaboration participants.

9. The method according to claim 1, wherein obtaining the data security requirements of each collaborative participating policy for the data it maintains includes: Obtain the data security policies of each collaborative participant for the data configuration they maintain; Based on the data security strategy, the data security requirements for the data maintained by each collaborative participant are determined.

10. The method of claim 9, wherein the data security policy comprises one or more of the following: The security level configured for the data; The security protection level configured for the data; Data trust relationships with other collaborating parties; Accordingly, the data security requirements include one or more of the following: Based on the security level, the security requirements for whether or not the data is allowed to be exported from its data domain; Based on the security protection level, the security requirements for whether data anonymization processing of the data and the privacy calculation results of the data is permitted; Based on the data trust relationship, the security requirements determine whether it is permissible to aggregate the data with data maintained by other collaborating parties.

11. The method according to claim 1, wherein the data collaboration platform deploys process planning components in a distributed manner on the servers corresponding to the plurality of collaboration participants; and the instantiated operator library is maintained on the servers corresponding to the plurality of collaboration participants respectively; Select at least one instantiated operator corresponding to the at least one sub-operation from the instantiated operator library related to the privacy computation, and generate a query flow corresponding to the data query request based on the at least one instantiated operator, including: The process planning component is invoked to select at least one instantiated operator corresponding to the at least one sub-operation from the locally maintained library of instantiated operators related to the privacy computation, and a query process corresponding to the data query request is generated based on the at least one instantiated operator.

12. The method according to claim 11, wherein the instantiation operator library includes a plurality of instantiation operators and data security requirements corresponding to the instantiation operators; Selecting at least one instantiated operator from the instantiated operator library that satisfies the data security requirements and corresponds to the at least one sub-operation, including: Find at least one instantiated operator in the instantiated operator library that corresponds to the at least one sub-operation; The data security requirements of each collaborative participation policy for the data it maintains are matched with the data security requirements corresponding to the at least one instantiated operator found. Based on the matching results, select from the at least one instantiation operator an instantiation operator that matches the data security requirements of the data maintained by each collaborative participation policy.

13. The method of claim 12, wherein the instantiation operator comprises one or more of the following: Instantiation operators implemented based on TEE; Instantiation operator based on MPC implementation.

14. The method according to claim 1, wherein generating a query process corresponding to the data query request based on the at least one instantiated operator comprises: Multiple query processes are generated based on the at least one instantiated operator; The multiple query processes are displayed to the user so that the user can select the query process corresponding to the data query request from among the multiple query processes.

15. The method according to claim 1, wherein the data collaboration platform deploys smart contract management components in a distributed manner on the server side corresponding to the plurality of collaboration participants; Creating a smart contract containing query logic corresponding to the query process, and deploying the created smart contract to a blockchain network that interfaces with the data collaboration platform, including: The smart contract management component is invoked to generate execution code related to the query logic corresponding to the query process, and the generated execution code is compiled into smart contract code. Deploy a smart contract containing the smart contract code in a blockchain network that interfaces with the data collaboration platform.

16. The method of claim 15, wherein the plurality of collaborative participants include a plurality of data centers distributed in different regions.

17. The method according to claim 1, wherein the data collaboration platform includes a blockchain service platform corresponding to the blockchain network.

18. A data query method based on multi-party collaboration, wherein the method is applied to a blockchain-based data collaboration platform; wherein, The data collaboration platform connects to multiple collaboration participants; the method includes: The system retrieves a data query request for a virtual data set, uploaded by the user and uploaded to the server corresponding to any target collaborative participant among the multiple collaborative participants; wherein, the virtual data set is a virtual data set obtained by the data collaboration platform through data virtualization processing of the data maintained by the multiple collaborative participants for participating in privacy computing. Parse the data query request to obtain at least one sub-operation related to the data query request; Select at least one instantiated operator corresponding to the at least one sub-operation from the instantiated operator library related to the privacy computation, and generate a query process corresponding to the data query request based on the at least one instantiated operator; Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to a blockchain network that interfaces with the data collaboration platform for the user to invoke.

19. A data query device based on multi-party collaboration, wherein a blockchain-based data collaboration platform connects to multiple collaborating parties; The device is applied to a server corresponding to any target collaborative participant among the plurality of collaborative participants; the device includes: The first acquisition module acquires a data query request for a virtual data set input by the user; wherein, the virtual data set is a virtual data set obtained by the data collaboration platform through data virtualization processing of the data maintained by the multiple collaboration participants for participating in privacy computing. The first parsing module parses the data query request to obtain at least one sub-operation related to the data query request; The first generation module selects at least one instantiated operator corresponding to the at least one sub-operation from the instantiated operator library related to the privacy computing, and generates a query process corresponding to the data query request based on the at least one instantiated operator; The first deployment module creates a smart contract containing query logic corresponding to the query process, and deploys the created smart contract to the blockchain network that interfaces with the data collaboration platform for the user to call.

20. A data query device based on multi-party collaboration, wherein the device is applied to a blockchain-based data collaboration platform; wherein, The data collaboration platform connects to multiple collaborating parties; the device includes: The second acquisition module acquires a data query request for a virtual data set uploaded by the user and uploaded to the server corresponding to any target collaborative participant among the multiple collaborative participants; wherein, the virtual data set is a virtual data set obtained by the data collaboration platform through data virtualization processing of the data maintained by the multiple collaborative participants for participating in privacy computing. The second parsing module parses the data query request to obtain at least one sub-operation related to the data query request; The second generation module selects at least one instantiated operator corresponding to the at least one sub-operation from the instantiated operator library related to the privacy computation, and generates a query process corresponding to the data query request based on the at least one instantiated operator; The second deployment module creates a smart contract containing query logic corresponding to the query process, and deploys the created smart contract to the blockchain network that interfaces with the data collaboration platform for the user to call.

21. An electronic device, comprising: processor; Memory used to store processor-executable instructions; The processor implements the method as described in any one of claims 1-18 by executing the executable instructions.

22. A computer-readable storage medium having stored thereon computer instructions that, when executed by a processor, implement the steps of the method as claimed in any one of claims 1-18.

Citation Information

Patent Citations

  • Block chain private data query method and device

    CN111222157A

  • Multi-party data joint query method and device, server and storage medium

    CN111382174A