WO2024016547A1 - Data query method and device based on multi-party collaboration - Google Patents

Data query method and device based on multi-party collaboration Download PDF

Info

Publication number
WO2024016547A1
WO2024016547A1 PCT/CN2022/135099 CN2022135099W WO2024016547A1 WO 2024016547 A1 WO2024016547 A1 WO 2024016547A1 CN 2022135099 W CN2022135099 W CN 2022135099W WO 2024016547 A1 WO2024016547 A1 WO 2024016547A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
collaboration
query
instantiation
operator
Prior art date
Application number
PCT/CN2022/135099
Other languages
French (fr)
Chinese (zh)
Inventor
马超
杨仁慧
孙善禄
黄胜
Original Assignee
蚂蚁区块链科技(上海)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 蚂蚁区块链科技(上海)有限公司 filed Critical 蚂蚁区块链科技(上海)有限公司
Publication of WO2024016547A1 publication Critical patent/WO2024016547A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • Multiple embodiments of this specification relate to the field of blockchain technology, and in particular, to a data query method and device based on multi-party collaboration.
  • Privacy computing refers to the technology that realizes data analysis and calculation on the premise of protecting the data itself from being leaked to the outside world.
  • the current mainstream privacy computing technologies usually include FL (Federated Learning) technology, MPC (Secure Multi-party Computation, multi-party secure computing) technology, TEE (Trusted Execute Environment, Trusted Execution Environment) technology, etc. wait.
  • FL Federated Learning
  • MPC Secure Multi-party Computation, multi-party secure computing
  • TEE Trusted Execution Environment
  • the data involved in privacy calculations may come from multiple different data sources. Therefore, how to use data from multiple different data sources to perform privacy calculations has been a focus of the industry.
  • This specification proposes a data query method based on multi-party collaboration.
  • the blockchain-based data collaboration platform connects multiple collaboration participants; the method is applied to any target collaboration participant among the multiple collaboration participants.
  • Corresponding server; the method includes: obtaining a data query request for a virtual data set input by the user; wherein the virtual data set is maintained by the data collaboration platform for the multiple collaboration participants for participation.
  • the data of privacy calculation is a virtual data set obtained by performing data virtualization processing; parsing the data query request and obtaining at least one sub-operation related to the data query request; from the instantiation operator library related to the privacy calculation Select at least one instantiation operator corresponding to the at least one sub-operation, and generate a query process corresponding to the data query request based on the at least one instantiation operator; create a query including a query corresponding to the query process logical smart contract, and deploy the created smart contract to the blockchain network connected to the data collaboration platform for the user to call.
  • This specification also proposes a data query method based on multi-party collaboration, which method is applied to a data collaboration platform based on blockchain; wherein the data collaboration platform connects multiple collaboration participants; the method includes: obtaining all Any target collaboration participant among the plurality of collaboration participants uploads a data query request for a virtual data set input by the user from the corresponding server; wherein the virtual data set is the data collaboration platform's query request for the multiple collaboration participants.
  • the data maintained by each collaborative participant for participating in privacy calculations is a virtual data set obtained through data virtualization processing; parsing the data query request, obtaining at least one sub-operation related to the data query request; and obtaining at least one sub-operation related to the data query request; Select at least one instantiation operator corresponding to the at least one sub-operation from the privacy computing-related instantiation operator library, and generate a query process corresponding to the data query request based on the at least one instantiation operator; Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to the blockchain network connected to the data collaboration platform for the user to call.
  • the blockchain-based data collaboration platform connects multiple collaboration participants; the method is applied to collaborate with any target among the multiple collaboration participants.
  • the server corresponding to the party; the device includes: a first acquisition module to obtain the data query request for the virtual data set input by the user; wherein the virtual data set is the data collaboration platform for the multiple collaboration participants.
  • the data maintained separately for participating in privacy calculations is a virtual data set obtained by performing data virtualization processing; the first parsing module parses the data query request and obtains at least one sub-operation related to the data query request; the first A generation module that selects at least one instantiation operator corresponding to the at least one sub-operation from the instantiation operator library related to the privacy calculation, and generates the data query based on the at least one instantiation operator.
  • Request the corresponding query process; 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 connected to the data collaboration platform, for the user to call.
  • This specification also proposes a data query device based on multi-party collaboration, which device is applied to a data collaboration platform based on blockchain; wherein the data collaboration platform connects multiple collaboration participants; the device includes: a second The acquisition module acquires the data query request for the virtual data set input by the user and uploaded by the corresponding server of any target collaboration participant among the plurality of collaboration participants; wherein the virtual data set is the The data collaboration platform performs data virtualization processing on the data maintained by the multiple collaboration participants for participating in privacy calculations and obtains a virtual data set; the second parsing module parses the data query request to obtain the data related to the data.
  • the second generation module selects at least one instantiation operator corresponding to the at least one sub-operation from the instantiation operator library related to the privacy calculation, and generates the An instantiation operator generates a query process corresponding to the data query request;
  • a second deployment module creates a smart contract containing query logic corresponding to the query process, and deploys the created smart contract to the
  • the data collaboration platform is connected to the blockchain network for the users to call.
  • Figure 1 is a system architecture diagram of a data collaboration platform according to an exemplary embodiment of this specification.
  • Figure 2 is a flow chart of a data query method based on multi-party collaboration according to an exemplary embodiment of this specification.
  • FIG. 3 is a schematic diagram illustrating virtualization processing of data maintained by multiple collaboration participants according to an exemplary embodiment of this specification.
  • Figure 4 is a flowchart of another data query method based on multi-party collaboration illustrated in this specification according to an exemplary embodiment.
  • FIG. 5 is a schematic structural diagram of an electronic device provided by an exemplary embodiment.
  • Figure 6 is a block diagram of a data query device based on multi-party collaboration according to an exemplary embodiment of this specification.
  • FIG. 7 is a block diagram of another data query device based on multi-party collaboration according to an exemplary embodiment of this specification.
  • the steps of the corresponding method are not necessarily performed in the order shown and described in this specification.
  • methods may include more or fewer steps than described in this specification.
  • a single step described in this specification may be broken down into multiple steps for description in other embodiments; and multiple steps described in this specification may also be combined into a single step in other embodiments. describe.
  • a centralized data collaboration platform is usually built.
  • This centralized data collaboration platform is usually responsible for scheduling and managing data from various data sources.
  • the data collaboration platform can query data from different data sources separately, and perform privacy calculations on the queried data based on its own privacy computing capabilities.
  • this specification proposes a scenario where privacy computing is performed based on data maintained by multiple data sources. Users can customize query data requirements from a global data perspective and flexibly implement privacy computing based on the data collaboration platform's own privacy computing capabilities. The technical solution of the data query process corresponding to the planning and user-customized data query requirements.
  • a data collaboration platform based on blockchain can be built, which can connect multiple collaboration participants.
  • Each collaboration participant can maintain data used to participate in privacy calculations.
  • the data collaboration platform can perform data virtualization processing on the data maintained by each collaboration participant based on data virtualization technology to obtain a virtual data collection.
  • a user who accesses the server corresponding to the target collaboration participant can input a data query request for the virtual data set.
  • the server corresponding to the target protocol participant can parse the data query request and obtain at least one sub-operation related to the data query request; and then obtain at least one sub-operation related to the data query request from the data collaboration platform management and privacy From the calculation-related instantiation operator library, select at least one instantiation operator corresponding to at least one of the above sub-operations, and generate a query process corresponding to the above data query request based on the above at least one instantiation operator.
  • a smart contract containing query logic corresponding to the query process can be created, and the created smart contract can be deployed to the blockchain network connected to the data collaboration platform. Subsequently, users can complete the query process corresponding to the above data query request by calling the smart contract.
  • Figure 1 is a system architecture diagram of a data collaboration platform according to an exemplary embodiment of this specification.
  • the above-mentioned data collaboration platform can be a blockchain-based privacy collaboration platform, which can connect to a blockchain network and multiple collaboration participants (that is, multiple data sources).
  • the data collaboration platform can perform calculation and scheduling on the data maintained by multiple collaboration participants, and complete privacy calculations from a global data perspective.
  • the data maintained by each collaboration participant is used for privacy calculations as a whole.
  • the data set is used to store data participating in privacy calculations.
  • the above calculation result set is used to store the calculation results obtained by performing privacy calculations on the data in the above data set.
  • the calculation result may specifically be an intermediate calculation result or a final calculation result.
  • the above data set and the above calculation result set can be a database.
  • the database used may be a homogeneous database or a heterogeneous database, which is not particularly limited in this specification.
  • each collaboration participant can also be equipped with several instantiation operators and functional components related to privacy computing.
  • the instantiation operators related to privacy computing carried by each collaboration participant can specifically include MPC-based instantiation operators, TEE-based instantiation operators, and TL-based instantiation operators, etc. wait.
  • Each instantiation operator corresponds to a computing operation or computing function based on a specific privacy computing technology. For a specific computing operation or computing function, it can correspond to a variety of instantiation operators based on a variety of privacy computing technologies.
  • the instantiation operator corresponding to the intersection calculation function may specifically include an instantiation operator for intersection calculation based on MPC, and an intersection calculation based on TEE. instantiation operator, etc. That is to say, for the intersection calculation function, two instantiation operators can be implemented based on MPC technology and TEE technology respectively.
  • each collaboration participant can include, for example, the following:
  • the data query parsing component is used to parse the data query request input by the user, obtain the data query requirements expressed by the data query request, and parse the data query request into at least one sub-operation related to the data query.
  • the above data query request can be a data query statement (such as a SQL statement)
  • the data query parsing component is used to perform syntax analysis on the data query statement to obtain the syntax tree of the data query statement, and then The user's query requirements are clarified based on the syntax structure described by the obtained syntax tree, and the user's query requirements are converted into at least one sub-operation related to the data query.
  • the data query planning component is used to plan a basic query process corresponding to the above data query request based on the at least one sub-operation parsed by the above data query parsing component.
  • the application execution planning component is used to select at least one instantiation operator corresponding to at least one of the above sub-operations from the instantiation operator library managed by the data collaboration platform, and then plan an instantiation operator corresponding to the above basic operation based on the at least one instantiation operator.
  • the instantiated query process corresponding to the query process.
  • the instantiated query process is a specific data collaboration application for querying data planned based on the data query requirements expressed by the data query request input by the user.
  • 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 it in the blockchain network connected to the data collaboration platform. Smart contract with the above smart contract code.
  • the execution scheduling component is used to interact with the above-mentioned smart contracts and further schedule local instantiation operators to complete related privacy calculations by monitoring the call results of the smart contracts stored on the blockchain.
  • Each collaboration participant can also provide an application execution client for users.
  • the application executes the client and is specifically used to provide users with access services to the data collaboration platform. Users can execute the client through the application, initiate contract calls for the above smart contracts, and execute the client through the application to query the smart contract. The call result of the contract.
  • Figure 2 is a flow chart of a data query method based on multi-party collaboration illustrated in this specification according to an exemplary embodiment. This method can be applied to any of the multiple collaboration participants shown in Figure 1
  • Step 202 Obtain a data query request for a virtual data set input by the user; wherein the virtual data set is maintained by the data collaboration platform for at least some of the multiple collaboration participants for participation.
  • Privacy computing data is a virtual data collection obtained through data virtualization processing.
  • the above-mentioned collaboration participants can specifically access data providers of the data collaboration platform.
  • the above-mentioned multiple collaboration participants may specifically include multiple data centers distributed in different regions.
  • Each collaboration participant can maintain a data collection locally for participating in privacy calculations.
  • the data collaboration platform can use data virtualization technology to perform data virtualization processing on the data sets maintained by each collaboration participant.
  • Data virtual machine technology is a kind of mapping of physical data maintained by multiple data sources into virtual data at the logical level, and then integrating the physical data maintained by multiple data sources into a logical virtual data collection (also known as is a logical view), a technology used by upper-layer applications.
  • a logical virtual data collection also known as is a logical view
  • the data sets maintained by each collaboration participant can be integrated into a virtual data collection for users to use.
  • mapping physical data maintained by multiple data sources into virtual data it usually refers to the process of mapping physical data attributes contained in the physical data into virtual data attributes. It should be noted that when mapping the physical data attributes contained in the physical data to virtual data attributes, a one-to-one mapping method can be used to map a physical data attribute contained in the physical data to a corresponding virtual data attribute. , you can also use many-to-one mapping to map multiple physical data attributes contained in physical data into a corresponding virtual data attribute.
  • FIG. 3 is a schematic diagram of performing data virtualization processing on data maintained by multiple collaborative participants according to an exemplary embodiment of this specification.
  • each attribute can represent a field in the data table.
  • the virtual data table obtained after performing data virtualization processing on the data stored in data sets 1-3 can contain attributes A-F.
  • the data virtualization processing method shown in Figure 3 shows that attribute 1 in data set 1, attribute 4 in data set 2, and attribute 8 in data set 3 adopt a many-to-one mapping method.
  • Attribute B; attribute 3 in data set 1 and attribute 6 in data set 2 are mapped to attribute C in the virtual data table using many-to-one mapping.
  • Attribute 10 in data set 3 is mapped to attribute D in the virtual data table using one-to-one mapping; attribute 7 in data set 2 is mapped to a virtual data table using one-to-one mapping.
  • Attribute E in Data Set 3; Attribute 11 in Data Set 3 is mapped to attribute F in the virtual data table using one-to-one mapping.
  • the data mapping method shown in Figure 3 is only exemplary. In actual applications, the data mapping method used when performing data virtualization on data maintained by multiple collaborative participants usually depends on the data.
  • the data semantics itself are not particularly limited in this specification; for example, when performing data mapping, if the data semantics of multiple data fields distributed in different collaboration participants are related, then the multiple data fields can be mapped Become a virtual data attribute.
  • the obtained virtual data table can be distributed to each collaboration participant, and each collaboration participant will further use the virtual data table as a global reflection of each collaboration participant.
  • the data view of the data status maintained by the collaboration participants is output and displayed to the user.
  • the above-mentioned data query request is specifically used to express the user's data query needs to the data collaboration platform.
  • the specific form of the data query request is not particularly limited in this specification.
  • the above data query request may be a data query statement (such as a SQL statement) input by the user.
  • Step 204 Parse the data query request and obtain at least one sub-operation related to the data query request.
  • the user's data query operation for the above virtual data collection is usually a complete query process composed of at least one sub-operation.
  • the above virtual data collection is a user information table that stores user personal information.
  • the information table includes gender fields and age fields. If the user's data query requirement for the user information table is to "query the average age data of male users stored in the user information table", then the user's data query operation for the above virtual data collection at this time is performed by "for Query sub-operation for the user information of male users in the user information table", “Filter calculation sub-operation for the age data in the user information of male users in the user information table”, "Average calculation for the filtered age data A query process composed of "value calculation sub-operations".
  • the server corresponding to the above-mentioned target collaboration participant obtains the data query request input by the user through the client, it can parse the data query request to clarify the user's data query requirements for the above-mentioned virtual data collection, and then combine the above-mentioned The data query request is parsed into at least one sub-operation related to the data query.
  • the server corresponding to the above-mentioned target collaboration participant obtains the data query request input by the user through the client, it can call the data query parsing component described in Figure 1 to parse the data query request. .
  • the specific process of parsing the above data query request usually depends on the specific form of the data query request.
  • the above-mentioned data query request may specifically be a data query statement.
  • data query statements users' data query needs are usually organized and expressed through certain grammatical structures.
  • syntax analysis can be performed on the data query statement to obtain a syntax tree corresponding to the data query statement.
  • syntax trees are usually used to describe the syntax structure of data query statements. After the syntax tree is obtained through syntax parsing, the user's data query requirements can be clarified based on the syntax structure described in the syntax tree, and at least one sub-operation related to the data query statement can be determined.
  • the above-mentioned data query request may specifically be a request message for data query.
  • request messages used for data query the user's data query needs are usually organized and expressed through a certain message format.
  • a message format analysis can be performed on the request message to clarify the user's data query requirements and determine at least one sub-operation related to the request message.
  • the above-mentioned data query request may be a request only for performing data query on the virtual data in the above-mentioned virtual data set, or may be a request for performing data query and calculation on the virtual data in the above-mentioned virtual data set. request.
  • the above data query request is a request only for performing data query on the virtual data in the above virtual data collection
  • the above at least one sub-operation usually only includes At least one query sub-operation for the virtual data in the above virtual data collection.
  • the above virtual data set is a user information table that stores users' personal information
  • a data query request can usually be a data query request such as "query the male users stored in this user information table.”
  • the above-mentioned at least one sub-operation usually only includes at least one "query sub-operation for user information of male users in the user information table”.
  • the above-mentioned several virtual data contains several virtual data fields that are obtained by mapping and integrating the physical data fields contained in the physical data maintained by each collaborative participant, the above-mentioned several virtual data The data content corresponding to the fields is actually maintained by different collaboration participants.
  • the above-mentioned at least one sub-operation may generally include at least one query sub-operation for separately querying the data content corresponding to the above-mentioned several virtual data fields from the data maintained by different collaboration participants.
  • the above data query request is a request for performing data query calculation on the virtual data in the above virtual data set
  • the above at least one sub-operation can also be Include at least one calculation sub-operation for calculating the queried data.
  • this type of data query request can be "query the average age data of male users stored in the user information table" as described above.
  • Data query request in addition to the "query sub-operation for user information of male users in the user information table", the above at least one sub-operation may also include “user information for male users in the user information table” Filter calculation sub-operation for the age data in the message", and "Average calculation sub-operation for the filtered age data”.
  • the type of at least one calculation sub-operation related to the data query request input by the user usually depends on the privacy calculation capability of the above-mentioned data collaboration platform itself, and is not specifically limited in this specification.
  • the above-mentioned at least one calculation sub-operation can usually include a sub-operation for performing intersection calculation on data; a sub-operation for filtering and calculating data; a sub-operation for performing statistical calculation on data, etc.
  • a sub-operation for performing intersection calculation on data a sub-operation for filtering and calculating data
  • a sub-operation for performing statistical calculation on data etc.
  • 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 calculation, and generate the data query based on the at least one instantiation operator. Request the corresponding query process.
  • operators described in this specification refer to various computing operations/computing functions involved in the process of privacy calculations on data maintained by each collaboration participant. That is to say, any computing operation/computing function involved in the process of privacy calculation for data maintained by each collaboration participant can be called an operator.
  • the above-mentioned instantiation operator refers to a computing function or computing operation based on a specific privacy computing technology.
  • the current mainstream privacy computing technologies usually include FL technology, MPC technology, and TEE technology, etc. Therefore, the instantiation operators in the above instantiation operator library can include instantiation operators implemented based on FL technology, Instantiation operators implemented based on MPC technology, operators implemented based on TEE technology, etc.
  • the privacy computing capability of the data collaboration platform itself is usually determined by the instantiation operator library managed by the data collaboration platform.
  • the instantiation operators in the instantiation operator library managed by the data collaboration platform can specifically be implemented based on the privacy computing technology supported by the data collaboration platform, and can also include operators based on each collaboration participation. Operator implemented by privacy computing technology supported by the party. In this way, the data collaboration platform can cover the private computing capabilities of each accessed collaboration participant.
  • the server corresponding to the above-mentioned target collaboration participant can select at least one instantiation operator corresponding to the above-mentioned at least one sub-operation from the above-mentioned managed instantiation operator library. and generate a query process corresponding to the above data query request based on the selected at least one instantiation operator.
  • the data collaboration platform can deploy a process planning component in a distributed manner on the server corresponding to the above-mentioned multiple collaboration participants.
  • the process planning component can be used to manage the above-mentioned In the instantiation operator library, select at least one instantiation operator corresponding to the at least one sub-operation and generate a query process corresponding to the data query request based on the selected at least one instantiation operator.
  • the instantiation operator library managed by the above-mentioned data collaboration platform can also be delivered to the corresponding server of each collaboration participant, and maintained by each collaboration participant respectively.
  • the process planning component can be called from the locally maintained instantiation related to the privacy calculation. Select at least one instantiation operator corresponding to the at least one sub-operation from the operator library, and generate a query process corresponding to the above data query request based on the above at least one instantiation operator.
  • the above-mentioned process planning component may specifically include the data query planning component and the application execution planning component shown in Figure 1.
  • the server corresponding to the above-mentioned target collaboration participant will add the above-mentioned
  • the above-mentioned data query planning component can be called first, and based on the parsed at least one above-mentioned sub-operation, a basic query process corresponding to the above-mentioned data query request is planned.
  • the above-mentioned application execution planning component is called, and at least one instantiation operator corresponding to the above-mentioned at least one sub-operation is selected from the instantiation operator library managed by the data collaboration platform, and then based on the above-mentioned at least one instantiation operator, planning is performed with The instantiated query process corresponding to the above basic query process.
  • the instantiated query process is a specific data collaboration application for querying data planned based on the data query requirements expressed by the data query request input by the user.
  • the data maintained by each collaboration participant may be first obtained. data security requirements, and then select at least one instantiation operator corresponding to at least one of the above sub-operations that meets the above data security requirements from the above-mentioned instantiation operator library.
  • the data collaboration platform can still automatically select for the user based on the user's data query needs that can satisfy the requirements of each collaboration participant.
  • the instantiation operator of the security requirements for data usage can avoid query failures caused by data queries that do not meet the security requirements due to users not understanding the security requirements for data usage of each collaboration participant.
  • the data security policy configured by each collaboration participant for the data maintained by each collaboration participant can, to a certain extent, reflect the security requirements of each collaboration participant for the use of data; therefore, when obtaining the data maintained by each collaboration participant, When meeting data security requirements, you can first obtain the data security policy configured by each collaboration participant for the data it maintains. After obtaining the data security policy configured by each collaboration participant for the data it maintains, you can based on the data security policy, To further determine the data security requirements of each collaboration participant for the data they maintain.
  • the specific content of the data security policy configured by each collaboration participant for the data maintained by each collaboration participant usually depends on the specific security requirements of each collaboration participant for data use, and therefore will not be specifically limited in this specification.
  • the above-mentioned data security policy may specifically include one or a combination of one or more of the following: a security level configured for the data; a security protection level configured for the data; and other
  • the data trust relationship of the collaboration participants; corresponding to the above data security policy, the security requirements of each collaboration participant for data use may also include one or a combination of the following: Based on the security Determined by the level, the security requirements are whether the data is allowed to be exported to the data domain where it is located; the security requirements are determined based on the security protection level, whether the data and the privacy calculation results of the data are allowed to be desensitized. ; Determine based on the data trust relationship, the security requirements of whether to allow the data to be aggregated with data maintained by other collaborative participants.
  • corresponding data security requirements can also be configured for the instantiation operator library included in the instantiation operator library.
  • the data security requirements configured for the instantiation operator library are specifically used to indicate the data security requirements that the instantiation operator can meet.
  • At least one instantiation operator corresponding to the at least one sub-operation that meets the data security requirements from the instantiation operator library specifically, you can first search for at least one of the above-mentioned sub-operations in the instantiation operator library. At least one instantiation operator corresponding to a sub-operation; among the instantiation operators found at this time, there may be instantiation operators that do not meet the above security requirements. Then, the data security requirements of the data maintained by each collaborative participant can be matched with the found data security requirements corresponding to the at least one instantiation operator; and then based on the matching results, the data security requirements of the at least one instantiation operator can be calculated based on the matching results. The instantiation operator that matches the data security requirements of the data maintained by each of the above-mentioned collaboration participants is further selected.
  • the instantiation operators in the above-mentioned instantiation operator library can usually include instantiation operators implemented based on FL technology, instantiation operators implemented based on MPC technology, and instantiation operators based on Operators implemented by TEE technology, etc.
  • instantiation operators implemented based on FL technology usually cannot be applied to data query scenarios. Therefore, in this specification, the instantiation operator corresponding to at least one of the above sub-operations may specifically include an instantiation operator implemented based on TEE and an instantiation operator implemented based on MPC.
  • 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 query or privacy query calculation, and an instantiation operator implemented based on MPC for performing privacy query or privacy query calculation. instantiation operator.
  • multiple query processes can be generated based on the at least one instantiation operator, and then the query process can be generated based on the at least one instantiation operator.
  • Multiple query processes are output and displayed to the user, so that the user can select an optimal query process corresponding to the above data query request from the multiple query processes.
  • an optimal query process can be generated by default based on at least one of the above instantiation operators.
  • Step 208 Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to the blockchain network connected to the data collaboration platform for the user to call.
  • the server corresponding to the above-mentioned target collaboration participant After the server corresponding to the above-mentioned target collaboration participant generates the query process corresponding to the above-mentioned data query request based on at least one of the above-mentioned instantiation operators, the server can further compile the query process into the form of a smart contract and deploy it to collaborate with the data In the blockchain network connected to the platform.
  • the above-mentioned server can first automatically generate execution code related to the query logic corresponding to the above-mentioned query process, and compile the generated execution code into smart contract code; then, in the area connected to the above-mentioned data collaboration platform, A smart contract containing the smart contract code is deployed in the blockchain network.
  • a smart contract containing the smart contract code is deployed in the blockchain network.
  • the specific process of deploying smart contracts will not be described in detail in this manual.
  • a smart contract creation transaction can be packaged based on the smart contract code, and the smart contract creation transaction can be published to the blockchain network.
  • the node device in the blockchain network can perform consensus verification on the smart contract creation transaction, and after the consensus verification passes, execute the smart contract call transaction, create a smart contract account in the blockchain, and transfer the smart contract
  • the smart contract code is anchored to the smart contract account to complete the creation of the smart contract.
  • the data collaboration platform can deploy smart contract management components in a distributed manner on the servers corresponding to the above-mentioned multiple collaboration participants.
  • the smart contract management components can be used to generate and Execution code related to the query logic corresponding to the query process, compile the generated execution code into smart contract code, and deploy the smart contract code containing the smart contract code in the blockchain network connected to the data collaboration platform Smart contracts.
  • the server can call the smart contract management component to generate the query process corresponding to the above-mentioned data query request.
  • the server can call the smart contract management component to generate the query process corresponding to the above-mentioned data query request.
  • Query the execution code related to the query logic corresponding to the query process compile the generated execution code into smart contract code, and deploy the smart contract containing the smart contract code in the blockchain network connected to the data collaboration platform.
  • the above-mentioned smart contract management component may specifically include the application contract management component shown in Figure 1.
  • the server corresponding to the above-mentioned target collaboration participant is based on at least one of the above-mentioned instantiations.
  • the operator After the operator generates the query process corresponding to the above data query request, it can call the application contract management component to generate execution code related to the query logic corresponding to the query process, and compile the generated execution code into a smart contract Code, deploy the smart contract containing the smart contract code in the blockchain network connected to the data collaboration platform.
  • the user when the deployment of the above-mentioned smart contract is completed, the user can initiate a contract call for the smart contract through the client to complete the data query for the above-mentioned virtual data collection.
  • Figure 4 is a flow chart of a data query method based on multi-party collaboration illustrated in this specification according to an exemplary embodiment.
  • This method can be applied to the data collaboration platform shown in Figure 1; for example, the data collaboration
  • the platform may specifically be a blockchain service platform used to manage the above-mentioned blockchain network; for example, a BaaS (Blockchain as a Service) platform; the method includes steps 402 to 408.
  • a BaaS Blockchain as a Service
  • Step 402 Obtain a data query request for a virtual data set uploaded by the corresponding server of any target collaboration participant among the multiple collaboration participants and input by the user; wherein the virtual data set is the data collaboration
  • the platform performs data virtualization processing on the data maintained by the multiple collaborative participants for participating in privacy calculations to obtain a virtual data set.
  • the server corresponding to the above-mentioned target collaboration participant obtains the data query request input by the user through the client, the data query request can be uploaded to the above-mentioned data collaboration platform, and the data collaboration platform performs centralized processing.
  • Step 404 Parse the data query request and obtain at least one sub-operation related to the data query request.
  • 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 calculation, and generate the data query based on the at least one instantiation operator. Request the corresponding query process.
  • Step 408 Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to the blockchain network connected to the data collaboration platform, so that the user can call the The query logic contained in the smart contract completes the data query for the virtual data collection.
  • the above-mentioned data collaboration platform can execute the execution logic shown in steps 404-408 and perform centralized processing of the data query request. Please refer to the figure for specific implementation details. The description of the embodiment shown in 2 will not be described in detail in this specification.
  • the data maintained by each collaborative participant is virtualized to obtain a virtual data collection.
  • This not only enables full data fusion of multiple data sources, but also allows users to build on the virtual data collection based on the data virtualization processing technology.
  • using data from a global data perspective does not require the data storage status of each collaboration participant, so the complexity of data use can be significantly reduced.
  • the data collaboration platform can flexibly adapt to users' data query needs based on its own privacy computing capabilities, the data collaboration platform's ability to adapt to data usage scenarios will be significantly improved. , so this also makes it possible for the data assistance platform to customize the query process for the user's data query needs that meets the security requirements of each data source for the use of data.
  • this specification also provides embodiments of devices, electronic devices, and storage media.
  • FIG. 5 is a schematic structural diagram of an electronic device provided by an exemplary embodiment. Please refer to Figure 5.
  • the device includes a processor 502, an internal bus 504, a network interface 506, a memory 508 and a non-volatile memory 510.
  • the processor 502 reads the corresponding computer program from the non-volatile memory 510 into the memory 508 and then runs it.
  • the execution subject of the following processing flow is not limited to each A logic unit can also be a hardware or logic device.
  • FIG 6 is a block diagram of a data query device based on multi-party collaboration according to an exemplary embodiment of this specification.
  • This device can be applied to the electronic device shown in Figure 5 to implement this specification. technical solutions.
  • the device 600 includes: a first acquisition module 601, a first parsing module 602, a first generation module 603 and a first deployment module 604.
  • 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 maintained by the data collaboration platform for the multiple collaboration participants for participating in privacy calculations.
  • the data is a collection of virtual data obtained through data virtualization processing.
  • the first parsing module 602 parses the data query request and obtains at least one sub-operation related to the data query request.
  • 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 calculation, and generates the corresponding instantiation operator based on the at least one instantiation operator. Describe the query process corresponding to the data query request.
  • 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 connected to the data collaboration platform for the user Make the call.
  • FIG 7 is a block diagram of another user service usage device shown in this specification according to an exemplary embodiment. This device can also be applied to the electronic device shown in Figure 5 to implement the instructions of this specification.
  • the device 700 includes: a second acquisition module 701, a second parsing module 702, a second generation module 703 and a second deployment module 704.
  • the second acquisition module 701 acquires the data query request for the virtual data set input by the user and uploaded by the corresponding server of any target collaboration participant among the multiple collaboration participants; wherein, the virtual The data set is a virtual data set obtained by performing data virtualization processing on the data maintained by the multiple collaboration participants for participating in privacy calculations by the data collaboration platform.
  • the second parsing module 702 parses the data query request to obtain at least one sub-operation related to the data query request.
  • 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 calculation, and generates the corresponding instantiation operator based on the at least one instantiation operator. Describe the query process corresponding to the data query request.
  • 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 connected to the data collaboration platform for the user Make the call.
  • this specification also provides an electronic device, which includes a processor; a memory for storing instructions executable by the processor; wherein the processor is configured to implement all the previously described method flows. A step of.
  • this specification also provides a computer-readable storage medium on which executable instructions are stored; wherein, when the instructions are executed by the processor, all the steps in the method flow described previously are implemented.
  • the device embodiment since it basically corresponds to the method embodiment, please refer to the partial description of the method embodiment for relevant details.
  • the device embodiments described above are only illustrative.
  • the modules described as separate components may or may not be physically separated.
  • the components shown as modules may or may not be physical modules, that is, they may be located in One place, or it can be distributed to multiple network modules. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution in this specification. Persons of ordinary skill in the art can understand and implement the method without any creative effort.
  • a typical implementation device is a computer, which may be in the form of a personal computer, a laptop, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver, or a game controller. desktop, tablet, wearable device, or a combination of any of these devices.
  • a computer includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
  • processors CPUs
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • Memory may include non-permanent storage in computer-readable media, random access memory (RAM) and/or non-volatile memory in the form of read-only memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
  • RAM random access memory
  • ROM read-only memory
  • flash RAM flash random access memory
  • Computer-readable media includes both persistent and non-volatile, removable and non-removable media that can be implemented by any method or technology for storage of information.
  • Information may 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 technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, Magnetic tape cartridges, magnetic disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transmission medium, can be used to store information that can be accessed by computing devices.
  • computer-readable media does not include transitory media, such as modulated data signals and carrier waves.
  • first, second, third, etc. may use the terms first, second, third, etc. to describe various information, the information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other.
  • first information may also be called second information, and similarly, the second information may also be called first information.
  • word “if” as used herein may be interpreted as "when” or “when” or “in response to determining.”

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Mathematical Physics (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

One or more embodiments of the present description provide a data query method and device based on multi-party collaboration. The method comprises: acquiring a data query request inputted 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 instantiation operator corresponding to the at least one sub-operation from an instantiation operator library related to privacy computing, and on the basis of the at least one instantiation operator, generating a query flow corresponding to the data query request; and creating a smart contract comprising query logic corresponding to the query flow, and deploying the created smart contract to a blockchain network docking a data collaboration platform for the user to call.

Description

一种基于多方协作的数据查询方法及装置A data query method and device based on multi-party collaboration 技术领域Technical field
本说明书多个实施例涉及区块链技术领域,尤其涉及一种基于多方协作的数据查询方法及装置。Multiple embodiments of this specification relate to the field of blockchain technology, and in particular, to a data query method and device based on multi-party collaboration.
背景技术Background technique
隐私计算(Privacy compute),是指在保护数据本身不对外泄露的前提下,实现数据分析计算的技术。例如,目前主流的隐私计算技术通常可以包括,FL(Federated Learning,联邦学习)技术、MPC(Secure Multi-party Computation,多方安全计算)技术,TEE(Trusted Execute Environment,可信执行环境)技术,等等。在实际应用中,参与隐私计算的数据可能来自于多个不同的数据源,因此如何利用多个不同的数据源的数据来进行隐私计算,是业界一直以来关注的重点。Privacy computing refers to the technology that realizes data analysis and calculation on the premise of protecting the data itself from being leaked to the outside world. For example, the current mainstream privacy computing technologies usually include FL (Federated Learning) technology, MPC (Secure Multi-party Computation, multi-party secure computing) technology, TEE (Trusted Execute Environment, Trusted Execution Environment) technology, etc. wait. In practical applications, the data involved in privacy calculations may come from multiple different data sources. Therefore, how to use data from multiple different data sources to perform privacy calculations has been a focus of the industry.
发明内容Contents of the invention
本说明书提出一种基于多方协作的数据查询方法,基于区块链的数据协作平台对接了多个协作参与方;所述方法应用于与所述多个协作参与方中的任一目标协作参与方对应的服务端;所述方法包括:获取用户输入的针对虚拟数据集合的数据查询请求;其中,所述虚拟数据集合为所述数据协作平台针对所述多个协作参与方分别维护的用于参与隐私计算的数据,进行数据虚拟化处理得到的虚拟数据集合;解析所述数据查询请求,得到与所述数据查询请求相关的至少一个子操作;从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程;创建包含与所述查询流程对应的查询逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。This specification proposes a data query method based on multi-party collaboration. The blockchain-based data collaboration platform connects multiple collaboration participants; the method is applied to any target collaboration participant among the multiple collaboration participants. Corresponding server; the method includes: obtaining a data query request for a virtual data set input by the user; wherein the virtual data set is maintained by the data collaboration platform for the multiple collaboration participants for participation. The data of privacy calculation is a virtual data set obtained by performing data virtualization processing; parsing the data query request and obtaining at least one sub-operation related to the data query request; from the instantiation operator library related to the privacy calculation Select at least one instantiation operator corresponding to the at least one sub-operation, and generate a query process corresponding to the data query request based on the at least one instantiation operator; create a query including a query corresponding to the query process logical smart contract, and deploy the created smart contract to the blockchain network connected to the data collaboration platform for the user to call.
本说明书还提出一种基于多方协作的数据查询方法,所述方法应用于基于区块链的数据协作平台;其中,所述数据协作平台对接了多个协作参与方;所述方法包括:获取所述多个协作参与方中的任一目标协作参与方对应服务端上传的,由用户输入的针对虚拟数据集合的数据查询请求;其中,所述虚拟数据集合为所述数据协作平台针对所述多个协作参与方分别维护的用于参与隐私计算的数据,进行数据虚拟化处理得到的虚拟数据集合;解析所述数据查询请求,得到与所述数据查询请求相关的至少一个子操作;从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程;创建包含与所述查询流程对应的查询逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。This specification also proposes a data query method based on multi-party collaboration, which method is applied to a data collaboration platform based on blockchain; wherein the data collaboration platform connects multiple collaboration participants; the method includes: obtaining all Any target collaboration participant among the plurality of collaboration participants uploads a data query request for a virtual data set input by the user from the corresponding server; wherein the virtual data set is the data collaboration platform's query request for the multiple collaboration participants. The data maintained by each collaborative participant for participating in privacy calculations is a virtual data set obtained through data virtualization processing; parsing the data query request, obtaining at least one sub-operation related to the data query request; and obtaining at least one sub-operation related to the data query request; Select at least one instantiation operator corresponding to the at least one sub-operation from the privacy computing-related instantiation operator library, and generate a query process corresponding to the data query request based on the at least one instantiation operator; Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to the blockchain network connected to the data collaboration platform for the user to call.
本说明书还提出一种基于多方协作的数据查询装置,基于区块链的数据协作平台对接了多个协作参与方;所述方法应用于与所述多个协作参与方中的任一目标协作参与 方对应的服务端;所述装置包括:第一获取模块,获取用户输入的针对虚拟数据集合的数据查询请求;其中,所述虚拟数据集合为所述数据协作平台针对所述多个协作参与方分别维护的用于参与隐私计算的数据,进行数据虚拟化处理得到的虚拟数据集合;第一解析模块,解析所述数据查询请求,得到与所述数据查询请求相关的至少一个子操作;第一生成模块,从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程;第一部署模块,创建包含与所述查询流程对应的查询逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。This specification also proposes a data query device based on multi-party collaboration. The blockchain-based data collaboration platform connects multiple collaboration participants; the method is applied to collaborate with any target among the multiple collaboration participants. The server corresponding to the party; the device includes: a first acquisition module to obtain the data query request for the virtual data set input by the user; wherein the virtual data set is the data collaboration platform for the multiple collaboration participants The data maintained separately for participating in privacy calculations is a virtual data set obtained by performing data virtualization processing; the first parsing module parses the data query request and obtains at least one sub-operation related to the data query request; the first A generation module that selects at least one instantiation operator corresponding to the at least one sub-operation from the instantiation operator library related to the privacy calculation, and generates the data query based on the at least one instantiation operator. Request the corresponding query process; 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 connected to the data collaboration platform, for the user to call.
本说明书还提出一种基于多方协作的数据查询装置,所述装置应用于基于区块链的数据协作平台;其中,所述数据协作平台对接了多个协作参与方;所述装置包括:第二获取模块,获取接入所述多个协作参与方中的任一目标协作参与方对应服务端上传的,由用户输入的针对虚拟数据集合的数据查询请求;其中,所述虚拟数据集合为所述数据协作平台针对所述多个协作参与方分别维护的用于参与隐私计算的数据,进行数据虚拟化处理得到的虚拟数据集合;第二解析模块,解析所述数据查询请求,得到与所述数据查询请求相关的至少一个子操作;第二生成模块,从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程;第二部署模块,创建包含与所述查询流程对应的查询逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。This specification also proposes a data query device based on multi-party collaboration, which device is applied to a data collaboration platform based on blockchain; wherein the data collaboration platform connects multiple collaboration participants; the device includes: a second The acquisition module acquires the data query request for the virtual data set input by the user and uploaded by the corresponding server of any target collaboration participant among the plurality of collaboration participants; wherein the virtual data set is the The data collaboration platform performs data virtualization processing on the data maintained by the multiple collaboration participants for participating in privacy calculations and obtains a virtual data set; the second parsing module parses the data query request to obtain the data related to the data. At least one sub-operation related to the query request; the second generation module selects at least one instantiation operator corresponding to the at least one sub-operation from the instantiation operator library related to the privacy calculation, and generates the An instantiation operator generates a query process corresponding to the data query request; a second deployment module creates a smart contract containing query logic corresponding to the query process, and deploys the created smart contract to the The data collaboration platform is connected to the blockchain network for the users to call.
在本说明书以上的技术方案中,不仅可以在针对来自多个数据源的数据进行隐私计算时,降低数据的使用复杂度,还可以让数据使用的过程更加透明可信并且便于追溯。而且,由于用户可以在针对多个数据源的数据进行虚拟机化处理得到的虚拟数据集合的基础上,从全局的数据视角来定制数据查询需求,并且可以基于数据协作平台自身的隐私计算能力,针对用户不同的数据查询需求,来规划不同的数据隐私查询流程,因此可以灵活的适配不同的数据隐私查询场景,使得该数据协作平台可以激活更多的数据使用场景。The technical solutions described above in this manual not only reduce the complexity of data usage when performing privacy calculations on data from multiple data sources, but also make the data usage process more transparent, credible and easy to trace. Moreover, because users can customize data query needs from a global data perspective based on virtual data collections obtained by virtual machine processing of data from multiple data sources, and based on the privacy computing capabilities of the data collaboration platform itself, Different data privacy query processes are planned according to the different data query needs of users, so that different data privacy query scenarios can be flexibly adapted, so that the data collaboration platform can activate more data usage scenarios.
附图说明Description of drawings
图1是本说明书一示例性实施例示出的数据协作平台的系统架构图。Figure 1 is a system architecture diagram of a data collaboration platform according to an exemplary embodiment of this specification.
图2是本说明书根据一示例性实施例示出的一种基于多方协作的数据查询方法的流程图。Figure 2 is a flow chart of a data query method based on multi-party collaboration according to an exemplary embodiment of this specification.
图3是本说明书根据一示例性实施例示出的一种对多个协作参与方维护的数据进行虚拟化处理的示意图。FIG. 3 is a schematic diagram illustrating virtualization processing of data maintained by multiple collaboration participants according to an exemplary embodiment of this specification.
图4是本说明书根据一示例性实施例示出的另一种基于多方协作的数据查询方法的流程图。Figure 4 is a flowchart of another data query method based on multi-party collaboration illustrated in this specification according to an exemplary embodiment.
图5是一示例性实施例提供的一种电子设备的示意结构图。FIG. 5 is a schematic structural diagram of an electronic device provided by an exemplary embodiment.
图6是本说明书根据一示例性实施例示出的一种基于多方协作的数据查询装置的框图。Figure 6 is a block diagram of a data query device based on multi-party collaboration according to an exemplary embodiment of this specification.
图7是本说明书根据一示例性实施例示出的另一种基于多方协作的数据查询装置的框图。FIG. 7 is a block diagram of another data query device based on multi-party collaboration according to an exemplary embodiment of this specification.
具体实施方式Detailed ways
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。In order 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 in conjunction with the accompanying drawings in the embodiments of this specification. Obviously, the described The embodiments are only some of the embodiments of this specification, but not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by those of ordinary skill in the art without creative efforts should fall within the scope of protection of this specification.
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。It should be noted that in other embodiments, the steps of the corresponding method are not necessarily performed in the order shown and described in this specification. In some other embodiments, methods may include more or fewer steps than described in this specification. In addition, a single step described in this specification may be broken down into multiple steps for description in other embodiments; and multiple steps described in this specification may also be combined into a single step in other embodiments. describe.
在针对来自多个不同的数据源的数据进行隐私计算的场景中,为了打破各个数据源之间的信息孤岛,实现充分的数据融合,通常会搭建一个中心化的数据协作平台。该中心化的数据协作平台,通常负责对各个数据源的数据进行调度管理。在需要针对来自多个不同的数据源的数据进行隐私计算时,可以由该数据协作平台从不同的数据源分别查询数据,并基于自身的隐私计算能力,对查询到的数据进行隐私计算处理。In scenarios where privacy computing is performed on data from multiple different data sources, in order to break the information silos between various data sources and achieve sufficient data integration, a centralized data collaboration platform is usually built. This centralized data collaboration platform is usually responsible for scheduling and managing data from various data sources. When privacy calculations need to be performed on data from multiple different data sources, the data collaboration platform can query data from different data sources separately, and perform privacy calculations on the queried data based on its own privacy computing capabilities.
然而,在实际应用中,不同的数据源对于其维护的数据的使用,通常都具有不同的安全性要求;比如,部分数据源可能会出于隐私保护的目的,禁止将数据导出其所在的数据域进行使用,或者不允许将其维护的数据与其他数据源维护的数据进行汇总后使用,等等。However, in actual 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 where they are located for the purpose of privacy protection. domain, or does not allow the data it maintains to be aggregated with data maintained by other data sources, etc.
而不同的数据源对于数据的安全性要求上存在的这种差异,可能会衍生出大量的数据查询和隐私计算的场景。因此,对于数据协作平台来说,如何灵活的去适配这些数据查询和隐私计算的场景,则具有非常重要的意义。The differences in data security requirements of different data sources may lead to a large number of data query and privacy calculation scenarios. Therefore, it is of great significance for a data collaboration platform to flexibly adapt to these data query and privacy computing scenarios.
基于此,本说明书提出一种在基于多个数据源维护的数据进行隐私计算的场景下,用户可以从全局的数据视角来定制查询数据需求,并基于数据协作平台自身的隐私计算能力,来灵活的规划与用户定制的数据查询需求对应的数据查询流程的技术方案。Based on this, this specification proposes a scenario where privacy computing is performed based on data maintained by multiple data sources. Users can customize query data requirements from a global data perspective and flexibly implement privacy computing based on the data collaboration platform's own privacy computing capabilities. The technical solution of the data query process corresponding to the planning and user-customized data query requirements.
在实现时,可以搭建一个基于区块链的数据协作平台,该数据协作平台可以对接多个协作参与方。其中,每一个协作参与方,都可以维护用于参与隐私计算的数据。数据协作平台可以基于数据虚拟化技术,针对各个协作参与方维护的数据进行数据虚拟化处理,得到一个虚拟数据集合。During implementation, a data collaboration platform based on blockchain can be built, which can connect multiple collaboration participants. Each collaboration participant can maintain data used to participate in privacy calculations. The data collaboration platform can perform data virtualization processing on the data maintained by each collaboration participant based on data virtualization technology to obtain a virtual data collection.
对于该多个协作参与方中的任一目标协作参与方来说,接入该目标协作参与方对应的服务端的用户,可以输入针对该虚拟数据集合的数据查询请求。而该目标协方参与方对应的服务端在获取到该数据查询请求之后,可以解析该数据查询请求,得到与该数据查询请求相关的至少一个子操作;再从与数据协作平台管理的与隐私计算相关的实例化算子库中,选择与上述至少一个子操作对应的至少一个实例化算子,并基于上述至少一个实例化算子生成与上述数据查询请求对应的查询流程。For any target collaboration participant among the multiple collaboration participants, a user who accesses the server corresponding to the target collaboration participant can input a data query request for the virtual data set. After obtaining the data query request, the server corresponding to the target protocol participant can parse the data query request and obtain at least one sub-operation related to the data query request; and then obtain at least one sub-operation related to the data query request from the data collaboration platform management and privacy From the calculation-related instantiation operator library, select at least one instantiation operator corresponding to at least one of the above sub-operations, and generate a query process corresponding to the above data query request based on the above at least one instantiation operator.
最后,可以创建包含与该查询流程对应的查询逻辑的智能合约,并将创建的智能合约部署到与数据协作平台对接的区块链网络中。后续,用户可以通过调用该智能合约,来完成与上述数据查询请求对应的查询过程。Finally, a smart contract containing query logic corresponding to the query process can be created, and the created smart contract can be deployed to the blockchain network connected to the data collaboration platform. Subsequently, users can complete the query process corresponding to the above data query request by calling the smart contract.
在以上技术方案中,不仅可以在针对来自多个数据源的数据进行隐私计算时,降低数据的使用复杂度,还可以让数据使用的过程更加透明可信并且便于追溯。In the above technical solution, it can not only reduce the complexity of data usage when performing privacy calculations on data from multiple data sources, but also make the data usage process more transparent, credible and easy to trace.
而且,由于用户可以在针对多个数据源的数据进行虚拟机化处理得到的虚拟数据集合的基础上,从全局的数据视角来定制数据查询需求,并且可以基于数据协作平台自身的隐私计算能力,针对用户不同的数据查询需求,来规划不同的数据隐私查询流程,因此可以灵活的适配不同的数据隐私查询场景,使得该数据协作平台可以激活更多的数据使用场景。Moreover, because users can customize data query needs from a global data perspective based on virtual data collections obtained by virtual machine processing of data from multiple data sources, and based on the privacy computing capabilities of the data collaboration platform itself, Different data privacy query processes are planned according to the different data query needs of users, so that different data privacy query scenarios can be flexibly adapted, so that the data collaboration platform can activate more data usage scenarios.
请参见图1,图1是本说明书一示例性实施例示出的数据协作平台的系统架构图。Please refer to Figure 1, which is a system architecture diagram of a data collaboration platform according to an exemplary embodiment of this specification.
如图1所示,上述数据协作平台,具体可以是一个基于区块链的隐私协作平台,可以对接一个区块链网络,以及多个协作参与方(即多个数据源)。该数据协作平台可以对该多个协作参与方维护的数据进行计算调度,从全局的数据视角完成隐私计算。As shown in Figure 1, the above-mentioned data collaboration platform can be a blockchain-based privacy collaboration platform, which can connect to a blockchain network and multiple collaboration participants (that is, multiple data sources). The data collaboration platform can perform calculation and scheduling on the data maintained by multiple collaboration participants, and complete privacy calculations from a global data perspective.
例如,在符合各个协作参与方对数据的安全性要求的前提下,将各个协作参与方维护的数据作为一个整体进行隐私计算。For example, on the premise that the data security requirements of each collaboration participant are met, the data maintained by each collaboration participant is used for privacy calculations as a whole.
对于各个协作参与方来说,可以分别维护数据集合和计算结果集。其中,数据集,用于存储参与隐私计算的数据。上述计算结果集,用于存储针对上述数据集中的数据进行隐私计算得到的计算结果。该计算结果具体可以是中间计算结果,也可以是最终的计算结果。For each collaboration participant, data sets and calculation result sets can be maintained separately. Among them, the data set is used to store data participating in privacy calculations. The above calculation result set is used to store the calculation results obtained by performing privacy calculations on the data in the above data set. The calculation result may specifically be an intermediate calculation result or a final calculation result.
需要说明的是,上述数据集和上述计算结果集,具体都可以是一个数据库。对于不同的协作参与方来说,采用的数据库可以是同构的数据库,也可以是异构的数据库,在本说明书中不进行特别限定。It should be noted that the above data set and the above calculation result set can be a database. For different collaboration participants, the database used may be a homogeneous database or a heterogeneous database, which is not particularly limited in this specification.
除了上述数据集和计算结果集以外,各个协作参与方还可以搭载若干与隐私计算相关的实例化算子和功能组件。In addition to the above-mentioned data sets and calculation result sets, each collaboration participant can also be equipped with several instantiation operators and functional components related to privacy computing.
如图1所示,各个协作参与方搭载的与隐私计算相关的实例化算子,具体可以包括基于MPC的实例化算子、基于TEE的实例化算子、以及基于TL的实例算子,等等。每一种实例化算子,都对应一种基于特定的隐私计算技术实现的一项计算操作或者计算功能。而对于某一项具体的计算操作或者计算功能来说,可以对应基于多种隐私计算技 术实现的多种实例化算子。As shown in Figure 1, the instantiation operators related to privacy computing carried by each collaboration participant can specifically include MPC-based instantiation operators, TEE-based instantiation operators, and TL-based instantiation operators, etc. wait. Each instantiation operator corresponds to a computing operation or computing function based on a specific privacy computing technology. For a specific computing operation or computing function, it can correspond to a variety of instantiation operators based on a variety of privacy computing technologies.
例如,以要实现的计算功能为求交集计算为例,那么与该求交集计算功能对应的实例化算子,具体可以包括基于MPC的求交集计算的实例化算子,基于TEE的求交集计算的实例化算子,等等。也即,对于求交集计算功能,可以分别基于MPC技术和TEE技术实现出两种实例化算子。For example, taking the calculation function to be implemented as intersection calculation as an example, the instantiation operator corresponding to the intersection calculation function may specifically include an instantiation operator for intersection calculation based on MPC, and an intersection calculation based on TEE. instantiation operator, etc. That is to say, for the intersection calculation function, two instantiation operators can be implemented based on MPC technology and TEE technology respectively.
如图1所示,各个协作参与方搭载的功能组件,例如可以包括以下几种:As shown in Figure 1, the functional components carried by each collaboration participant can include, for example, the following:
数据查询解析组件,用于对用户输入的数据查询请求进行解析,获取该数据查询请求表达出的数据查询需求,将该数据查询请求解析成至少一个与数据查询相关的子操作。例如,在实际应用中,上述数据查询请求具体可以是一个数据查询语句(比如SQL语句),数据查询解析组件则用于对该数据查询语句进行语法解析,得到该数据查询语句的语法树,再基于得到的语法树所描述的语法结构来明确用户的查询需求,将用户的查询需求转换成至少一个与数据查询相关的子操作。The data query parsing component is used to parse the data query request input by the user, obtain the data query requirements expressed by the data query request, and parse the data query request into at least one sub-operation related to the data query. For example, in practical applications, the above data query request can be a data query statement (such as a SQL statement), and the data query parsing component is used to perform syntax analysis on the data query statement to obtain the syntax tree of the data query statement, and then The user's query requirements are clarified based on the syntax structure described by the obtained syntax tree, and the user's query requirements are converted into at least one sub-operation related to the data query.
数据查询规划组件,用于根据上述数据查询解析组件解析出的上述至少一个子操作,规划出与上述数据查询请求对应的基本查询流程。The data query planning component is used to plan a basic query process corresponding to the above data query request based on the at least one sub-operation parsed by the above data query parsing component.
应用执行规划组件,用于从数据协作平台管理的实例化算子库中,选择与上述至少一个子操作对应的至少一个实例化算子,再基于上述至少一个实例化算子规划出与上述基本查询流程对应的实例化查询流程。此时该实例化查询流程,即为基于用户输入的数据查询请求所表达出的数据查询需求,规划出的一个具体的用于查询数据的数据协作应用。The application execution planning component is used to select at least one instantiation operator corresponding to at least one of the above sub-operations from the instantiation operator library managed by the data collaboration platform, and then plan an instantiation operator corresponding to the above basic operation based on the at least one instantiation operator. The instantiated query process corresponding to the query process. At this time, the instantiated query process is a specific data collaboration application for querying data planned based on the data query requirements expressed by the data query request input by the user.
应用合约管理组件,用于生成与上述实例化查询流程对应的查询逻辑相关的执行代码,并将生成的执行代码编译成为智能合约代码,并在与数据协作平台对接的区块链网络中部署包含上述智能合约代码的智能合约。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 it in the blockchain network connected to the data collaboration platform. Smart contract with the above smart contract code.
执行调度组件,用于与上述智能合约进行交互,通过监听区块链上存储的智能合约的调用结果,来进一步调度本地的实例化算子,来完成相关的隐私计算。The execution scheduling component is used to interact with the above-mentioned smart contracts and further schedule local instantiation operators to complete related privacy calculations by monitoring the call results of the smart contracts stored on the blockchain.
其中,需要说明的是,以上示出的各个功能组件,仅为示意性的,在实际应用中,可以基于实际的需求对其中的部分组件的进行整合,也可以对部分组件进行进一步的拆分,在本说明书中不进行特别限定。It should be noted that the functional components shown above are only illustrative. In actual applications, some of the components can be integrated based on actual needs, or some of the components can be further split. , is not particularly limited in this specification.
还需要说明的是,以上示出的各个功能组件中除了执行调度组件以外的其它组件,可以由数据协作平台分布式的部署在各个协作参与方(图1示出的就是这种分布式的部署在各个协作参与方的情况),也可以中心化的部署在数据协作平台上,在本说明书中不进行特别限定。例如,可以中心化的部署在用于对上述区块链网络进行管理的一个区块链服务平台(图1中未示出)上。It should also be noted that, among the functional components shown above, other components except the execution scheduling component can be deployed in a distributed manner on each collaboration participant by the data collaboration platform (Figure 1 shows this distributed deployment In the case of each collaboration participant), it can also be deployed centrally on the data collaboration platform, which is not specifically limited in this specification. For example, it can be deployed centrally on a blockchain service platform (not shown in Figure 1) used to manage the above-mentioned blockchain network.
请继续参见图1,各个协作参与方来说,还可以面向用户提供一个应用执行客户端。Please continue to refer to Figure 1. Each collaboration participant can also provide an application execution client for users.
该应用执行客户端,具体用于面向用户提供数据协作平台的接入服务,用户可以通过该应用执行客户端,发起针对上述智能合约的合约调用,并通过该应用执行客户端, 来查询该智能合约的调用结果。The application executes the client and is specifically used to provide users with access services to the data collaboration platform. Users can execute the client through the application, initiate contract calls for the above smart contracts, and execute the client through the application to query the smart contract. The call result of the contract.
请参见图2,图2是本说明书根据一示例性实施例示出的一种基于多方协作的数据查询方法的流程图,该方法可以应用于图1所示的多个协作参与方中的任一目标协作参与方对应的服务端;所述方法包括步骤202至步骤208。Please refer to Figure 2. Figure 2 is a flow chart of a data query method based on multi-party collaboration illustrated in this specification according to an exemplary embodiment. This method can be applied to any of the multiple collaboration participants shown in Figure 1 The server corresponding to the target collaboration participant; the method includes steps 202 to 208.
步骤202,获取用户输入的针对虚拟数据集合的数据查询请求;其中,所述虚拟数据集合为所述数据协作平台针对所述多个协作参与方中的至少部分协作参与方分别维护的用于参与隐私计算的数据,进行数据虚拟化处理得到的虚拟数据集合。Step 202: Obtain a data query request for a virtual data set input by the user; wherein the virtual data set is maintained by the data collaboration platform for at least some of the multiple collaboration participants for participation. Privacy computing data is a virtual data collection obtained through data virtualization processing.
上述协作参与方,具体可以接入数据协作平台的数据提供方。例如,在一个例子中,上述多个协作参与方,具体可以包括分布在不同地域的多个数据中心。The above-mentioned collaboration participants can specifically access data providers of the data collaboration platform. For example, in one example, the above-mentioned multiple collaboration participants may specifically include multiple data centers distributed in different regions.
各个协作参与方可以分别在其本地维护用于参与隐私计算的数据集合。而为了打破各个协作参与方之间的信息孤岛,数据协作平台可以基于数据虚拟化技术,针对各个协作参与方分别维护的数据集进行数据虚拟化处理。Each collaboration participant can maintain a data collection locally for participating in privacy calculations. In order to break the information silos between various collaboration participants, the data collaboration platform can use data virtualization technology to perform data virtualization processing on the data sets maintained by each collaboration participant.
数据虚拟机化技术,是一种将多个数据源维护的物理数据,在逻辑层面映射成虚拟数据,进而将多个数据源维护的物理数据整合成为一个逻辑上的虚拟数据集合(也称之为逻辑视图),供上层应用使用的技术。通过对各个协作参与方维护的数据集进行数据虚拟化处理,可以将各个协作参与方维护的数据集整合成为一个虚拟数据集合,供用户使用。Data virtual machine technology is a kind of mapping of physical data maintained by multiple data sources into virtual data at the logical level, and then integrating the physical data maintained by multiple data sources into a logical virtual data collection (also known as is a logical view), a technology used by upper-layer applications. By performing data virtualization on the data sets maintained by each collaboration participant, the data sets maintained by each collaboration participant can be integrated into a virtual data collection for users to use.
其中,在将多个数据源维护的物理数据映射成为虚拟数据时,通常是指将物理数据中包含的物理数据属性,映射成为虚拟数据属性的过程。需要说明的是,将物理数据中包含的物理数据属性映射成为虚拟数据属性时,具体可以采用一对一映射的方式,将物理数据中包含的一个物理数据属性,映射成为一个对应的虚拟数据属性,也可以采用多对一映射的方式,将物理数据中包含的多个物理数据属性,映射成为一个对应的虚拟数据属性。Among them, when mapping physical data maintained by multiple data sources into virtual data, it usually refers to the process of mapping physical data attributes contained in the physical data into virtual data attributes. It should be noted that when mapping the physical data attributes contained in the physical data to virtual data attributes, a one-to-one mapping method can be used to map a physical data attribute contained in the physical data to a corresponding virtual data attribute. , you can also use many-to-one mapping to map multiple physical data attributes contained in physical data into a corresponding virtual data attribute.
例如,请参见图3,图3为本说明书一示例性实施例示出的一种对多个协作参与方维护的数据进行数据虚拟化处理的示意图。For example, please refer to FIG. 3 , which is a schematic diagram of performing data virtualization processing on data maintained by multiple collaborative participants according to an exemplary embodiment of this specification.
如图3所示,假设协作参与方1维护的数据集1中存储的数据包括属性1-3,协作参与方2维护的数据集2中存储的数据包括属性4-7,协作参与方3维护的数据集3中存储的数据包括属性8-11。其中,每一个属性都可以代表数据表中的一个字段。对数据集1-3中存储的数据进行数据虚拟化处理之后得到的虚拟数据表,可以包含属性A-F。As shown in Figure 3, assume that the data stored in data set 1 maintained by collaboration participant 1 includes attributes 1-3, and the data stored in data set 2 maintained by collaboration participant 2 includes attributes 4-7, and that maintained by collaboration participant 3 The data stored in dataset 3 includes attributes 8-11. Among them, each attribute can represent a field in the data table. The virtual data table obtained after performing data virtualization processing on the data stored in data sets 1-3 can contain attributes A-F.
其中,如图3所示出的数据虚拟化处理方式可知,数据集1中的属性1,数据集2中的属性4,以及数据集3中的属性8,采用多对一映射的方式,映射成了虚拟数据表中的属性A;数据集1中的属性2,数据集2中的属性5,以及数据集3中的属性9,采用多对一映射的方式,映射成了虚拟数据表中的属性B;数据集1中的属性3和数据集2中的属性6,采用多对一映射的方式,映射成了虚拟数据表中的属性C。而数据集3中的属性10,采用一对一映射的方式,映射成了虚拟数据表中的属性D;数据集2中的属性7,采用一对一映射的方式,映射成了虚拟数据表中的属性E;数据集3中的属性 11,采用一对一映射的方式,映射成了虚拟数据表中的属性F。Among them, the data virtualization processing method shown in Figure 3 shows that attribute 1 in data set 1, attribute 4 in data set 2, and attribute 8 in data set 3 adopt a many-to-one mapping method. Became attribute A in the virtual data table; attribute 2 in data set 1, attribute 5 in data set 2, and attribute 9 in data set 3 were mapped into the virtual data table using many-to-one mapping. Attribute B; attribute 3 in data set 1 and attribute 6 in data set 2 are mapped to attribute C in the virtual data table using many-to-one mapping. Attribute 10 in data set 3 is mapped to attribute D in the virtual data table using one-to-one mapping; attribute 7 in data set 2 is mapped to a virtual data table using one-to-one mapping. Attribute E in Data Set 3; Attribute 11 in Data Set 3 is mapped to attribute F in the virtual data table using one-to-one mapping.
需要强调的是,图3示出的数据映射方式,仅为示例性的,在实际应用中,对多个协作参与方维护的数据进行数据虚拟化时所采用的数据映射方式,通常取决于数据本身的数据语义,在本说明书中不进行特别限定;例如,在进行数据映射时,如果分布在不同的协作参与方的多个数据字段的数据语义相关,则可以采用将该多个数据字段映射成为一个虚拟数据属性的方式。It should be emphasized that the data mapping method shown in Figure 3 is only exemplary. In actual applications, the data mapping method used when performing data virtualization on data maintained by multiple collaborative participants usually depends on the data. The data semantics itself are not particularly limited in this specification; for example, when performing data mapping, if the data semantics of multiple data fields distributed in different collaboration participants are related, then the multiple data fields can be mapped Become a virtual data attribute.
在针对各个协作参与方维护的数据集进行数据虚拟化处理完成后,可以将得到的虚拟数据表在下发至各个协作参与方,由各个协作参与方进一步将该虚拟数据表作为能够全局的反映各协作参与方维护的数据状况的数据视图,向用户进行输出展示。After the data virtualization processing is completed for the data sets maintained by each collaboration participant, the obtained virtual data table can be distributed to each collaboration participant, and each collaboration participant will further use the virtual data table as a global reflection of each collaboration participant. The data view of the data status maintained by the collaboration participants is output and displayed to the user.
而通过客户端接入上述目标协作参与方的用户在具有数据查询需求时,可以通过该客户端输入针对该虚拟数据表的数据查询请求的方式,以全局的数据视角来发起数据查询。When users who access the above-mentioned target collaboration participants through a client have data query needs, they can input a data query request for the virtual data table through the client, and initiate a data query from a global data perspective.
其中,上述数据查询请求,具体用于向数据协作平台来表达用户的数据查询需求,关于该数据查询请求的具体形式,在本说明书中不进行特别限定。例如,在一个例子中,上述数据查询请求具体可以是用户输入的数据查询语句(比如SQL语句)。Among them, the above-mentioned data query request is specifically used to express the user's data query needs to the data collaboration platform. The specific form of the data query request is not particularly limited in this specification. For example, in one example, the above data query request may be a data query statement (such as a SQL statement) input by the user.
步骤204,解析所述数据查询请求,得到与所述数据查询请求相关的至少一个子操作。Step 204: Parse the data query request and obtain at least one sub-operation related to the data query request.
在实际应用中,用户针对上述虚拟数据集合的数据查询操作,通常是由至少一个子操作构成的一个完整的查询流程。In practical applications, the user's data query operation for the above virtual data collection is usually a complete query process composed of at least one sub-operation.
例如,假设上述虚拟数据集合为存储用户个人信息的用户信息表,该信息表中包括性别字段和年龄字段。如果用户针对该用户信息表的数据查询需求是“查询该用户信息表中存储的男性用户的年龄数据的平均值”,那么此时用户针对上述虚拟数据集合的数据查询操作,则是由“针对该用户信息表中的男性用户的用户信息的查询子操作”,“针对该用户信息表中的男性用户的用户信息中的年龄数据的筛选计算子操作”,“针对筛选出的年龄数据的平均值计算子操作”构成的一个查询流程。For example, assume that the above virtual data collection is a user information table that stores user personal information. The information table includes gender fields and age fields. If the user's data query requirement for the user information table is to "query the average age data of male users stored in the user information table", then the user's data query operation for the above virtual data collection at this time is performed by "for Query sub-operation for the user information of male users in the user information table", "Filter calculation sub-operation for the age data in the user information of male users in the user information table", "Average calculation for the filtered age data A query process composed of "value calculation sub-operations".
与上述目标协作参与方对应的服务端在获取到用户通过客户端输入的数据查询请求后,可以对该数据查询请求进行解析,来明确该用户针对上述虚拟数据集合的数据查询需求,进而将上述数据查询请求解析成与数据查询相关的至少一个子操作。After the server corresponding to the above-mentioned target collaboration participant obtains the data query request input by the user through the client, it can parse the data query request to clarify the user's data query requirements for the above-mentioned virtual data collection, and then combine the above-mentioned The data query request is parsed into at least one sub-operation related to the data query.
例如,请继续参见图1,与上述目标协作参与方对应的服务端在获取到用户通过客户端输入的数据查询请求后,可以调用图1描述的数据查询解析组件,对该数据查询请求进行解析。For example, please continue to refer to Figure 1. After the server corresponding to the above-mentioned target collaboration participant obtains the data query request input by the user through the client, it can call the data query parsing component described in Figure 1 to parse the data query request. .
其中,对上述数据查询请求进行解析的具体过程,通常取决于该数据查询请求的具体形式。Among them, the specific process of parsing the above data query request usually depends on the specific form of the data query request.
例如,在示出的一种实施方式中,上述数据查询请求具体可以是数据查询语句。而对于数据查询语句来说,通常是通过一定的语法结构来组织和表达用户的数据查询需 求。在这种情况下,可以针对该数据查询语句进行语法解析,来得到与该数据查询语句对应的语法树。其中,语法树通常用于描述数据查询语句的语法结构。当通过语法解析得到语法树后,就可以基于语法树中描述的语法结构,来明确用户的数据查询需求,确定出与该数据查询语句相关的至少一个子操作。For example, in the illustrated implementation, the above-mentioned data query request may specifically be a data query statement. For data query statements, users' data query needs are usually organized and expressed through certain grammatical structures. In this case, syntax analysis can be performed on the data query statement to obtain a syntax tree corresponding to the data query statement. Among them, syntax trees are usually used to describe the syntax structure of data query statements. After the syntax tree is obtained through syntax parsing, the user's data query requirements can be clarified based on the syntax structure described in the syntax tree, and at least one sub-operation related to the data query statement can be determined.
其中,需要说明的是,针对该数据查询语句进行语法解析的具体过程,本说明书中不再进行详述,本领域技术人员在将本说明书记载的技术方案付诸实现时,可以参考相关技术中的记载。比如,可以利用一些通用的语法解析引擎,对上述数据查询语句进行语法解析。Among them, it should be noted that the specific process of syntactic parsing of the data query statement will not be described in detail in this specification. When implementing the technical solutions recorded in this specification, those skilled in the art can refer to the related technologies. records. For example, some general grammar parsing engines can be used to perform grammar parsing on the above data query statements.
在示出的一种实施方式中,上述数据查询请求具体也可以是用于数据查询的请求报文。而对于用于数据查询的请求报文来说,通常是通过一定的报文格式来组织和表达用户的数据查询需求。在这种情况下,可以针对该请求报文进行报文格式解析,来明确用户的数据查询需求,确定出与该请求报文相关的至少一个子操作。In an embodiment shown, the above-mentioned data query request may specifically be a request message for data query. For request messages used for data query, the user's data query needs are usually organized and expressed through a certain message format. In this case, a message format analysis can be performed on the request message to clarify the user's data query requirements and determine at least one sub-operation related to the request message.
其中,需要说明的是,针对该请求报文进行报文格式解析的具体过程,本说明书中不再进行详述,本领域技术人员在将本说明书记载的技术方案付诸实现时,可以参考相关技术中的记载。比如,可以利用一些通用的报文解析工具或者协议,对上述请求报文进行报文格式解析。Among them, it should be noted that the specific process of parsing the message format of the request message will not be described in detail in this specification. Those skilled in the art can refer to the relevant information when implementing the technical solutions recorded in this specification. Recorded in technology. For example, some common message parsing tools or protocols can be used to parse the message format of the above request message.
在本说明书中,上述数据查询请求具体可以是一个仅用于对上述虚拟数据集合中的虚拟数据进行数据查询的请求,也可以是一个用于对上述虚拟数据集合中的虚拟数据进行数据查询计算的请求。In this specification, the above-mentioned data query request may be a request only for performing data query on the virtual data in the above-mentioned virtual data set, or may be a request for performing data query and calculation on the virtual data in the above-mentioned virtual data set. request.
在示出的一种实施方式中,如果上述数据查询请求是一个仅用于对上述虚拟数据集合中的虚拟数据进行数据查询的请求,在这种情况下,上述至少一个子操作,通常仅包括针对上述虚拟数据集合中的虚拟数据的至少一个查询子操作。In an embodiment shown, if the above data query request is a request only for performing data query on the virtual data in the above virtual data collection, in this case, the above at least one sub-operation usually only includes At least one query sub-operation for the virtual data in the above virtual data collection.
例如,仍以上述虚拟数据集合为存储用户个人信息的用户信息表为例,此类数据查询请求通常可以是诸如“查询该用户信息表中存储的男性用户”的数据查询请求。在这种情况下,上述至少一个子操作,通常仅包括至少一个“针对该用户信息表中的男性用户的用户信息的查询子操作”。For example, assuming that the above virtual data set is a user information table that stores users' personal information, such a data query request can usually be a data query request such as "query the male users stored in this user information table." In this case, the above-mentioned at least one sub-operation usually only includes at least one "query sub-operation for user information of male users in the user information table".
需要说明的是,由于虚拟数据集合中的虚拟数据包含的若干个虚拟数据字段,是通过对各个协作参与方维护的物理数据包含的物理数据字段进行映射整合后得到的,因此上述若干个虚拟数据字段对应的数据内容,实际上是维护在不同的协作参与方的。在这种情况下,上述至少一个子操作,通常可以包括从不同的协作参与方维护的数据中分别查询上述若干个虚拟数据字段对应的数据内容的至少一个查询子操作。It should be noted that since the virtual data in the virtual data collection contains several virtual data fields that are obtained by mapping and integrating the physical data fields contained in the physical data maintained by each collaborative participant, the above-mentioned several virtual data The data content corresponding to the fields is actually maintained by different collaboration participants. In this case, the above-mentioned at least one sub-operation may generally include at least one query sub-operation for separately querying the data content corresponding to the above-mentioned several virtual data fields from the data maintained by different collaboration participants.
在示出的一种实施方式中,如果上述数据查询请求是一个用于对上述虚拟数据集合中的虚拟数据进行数据查询计算的请求,在这种情况下,上述至少一个子操作,则还可以包括针对查询到的数据进行计算的至少一个计算子操作。In an embodiment shown, if the above data query request is a request for performing data query calculation on the virtual data in the above virtual data set, in this case, the above at least one sub-operation can also be Include at least one calculation sub-operation for calculating the queried data.
例如,仍以上述虚拟数据集合为存储用户个人信息的用户信息表为例,此类数据查询请求则可以是以上描述的“查询该用户信息表中存储的男性用户的年龄数据的平均 值”的数据查询请求。在这种情况下,上述至少一个子操作,除了可以包括“针对该用户信息表中的男性用户的用户信息的查询子操作”以外,还可以包括“针对该用户信息表中的男性用户的用户信息中的年龄数据的筛选计算子操作”,以及“针对筛选出的年龄数据的平均值计算子操作”。For example, assuming that the above virtual data set is a user information table that stores users' personal information, this type of data query request can be "query the average age data of male users stored in the user information table" as described above. Data query request. In this case, in addition to the "query sub-operation for user information of male users in the user information table", the above at least one sub-operation may also include "user information for male users in the user information table" Filter calculation sub-operation for the age data in the message", and "Average calculation sub-operation for the filtered age data".
需要说明的是,与用户输入的数据查询请求相关的至少一个计算子操作的种类,通常取决于上述数据协作平台自身的隐私计算能力,在本说明书中不进行特别限定。It should be noted that the type of at least one calculation sub-operation related to the data query request input by the user usually depends on the privacy calculation capability of the above-mentioned data collaboration platform itself, and is not specifically limited in this specification.
例如,在实际应用中,上述至少一个计算子操作,通常可以包括对数据进行求交集计算的子操作;对数据进行过滤计算的子操作;对数据进行统计计算的子操作等等,在本说明书中不再进行一一列举。For example, in practical applications, the above-mentioned at least one calculation sub-operation can usually include a sub-operation for performing intersection calculation on data; a sub-operation for filtering and calculating data; a sub-operation for performing statistical calculation on data, etc. In this specification, No further enumeration will be given.
步骤206,从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程。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 calculation, and generate the data query based on the at least one instantiation operator. Request the corresponding query process.
需要说明的是,本说明书中描述的算子,是指针对各个协作参与方维护的数据进行隐私计算的过程中所涉及的各种计算操作/计算功能。也即,针对各个协作参与方维护的数据进行隐私计算的过程中所涉及的任何一项计算操作/计算功能,都可以称之为是一个算子。It should be noted that the operators described in this specification refer to various computing operations/computing functions involved in the process of privacy calculations on data maintained by each collaboration participant. That is to say, any computing operation/computing function involved in the process of privacy calculation for data maintained by each collaboration participant can be called an operator.
而上述实例化算子,则是指基于特定的隐私计算技术实现的一项计算功能或者计算操作。例如,目前主流的隐私计算技术通常可以包括,FL技术、MPC技术,以及TEE技术等等,因此上述实例化算子库中的实例化算子,可以包括基于FL技术实现的实例化算子、基于MPC技术实现的实例化算子、以及基于TEE技术实现的算子等等。The above-mentioned instantiation operator refers to a computing function or computing operation based on a specific privacy computing technology. For example, the current mainstream privacy computing technologies usually include FL technology, MPC technology, and TEE technology, etc. Therefore, the instantiation operators in the above instantiation operator library can include instantiation operators implemented based on FL technology, Instantiation operators implemented based on MPC technology, operators implemented based on TEE technology, etc.
在实际应用中,数据协作平台自身的隐私计算能力,通常是由数据协作平台管理的实例化算子库来决定,该实例化算子库中包含的实例化算子的种类越丰富,表明该数据协作平台自身的隐私计算能力越强大。In practical applications, the privacy computing capability of the data collaboration platform itself is usually determined by the instantiation operator library managed by the data collaboration platform. The richer the types of instantiation operators contained in the instantiation operator library, the better. The more powerful the privacy computing capabilities of the data collaboration platform are.
在示出的一种实施方式中,数据协作平台管理的实例化算子库中的实例化算子,具体可以基于数据协作平台支持的隐私计算技术实现的算子,还可以包含基于各个协作参与方支持的隐私计算技术实现的算子。通过这种方式,使得数据协作平台可以涵盖接入的各个协作参与方的隐私计算能力。In an embodiment shown, the instantiation operators in the instantiation operator library managed by the data collaboration platform can specifically be implemented based on the privacy computing technology supported by the data collaboration platform, and can also include operators based on each collaboration participation. Operator implemented by privacy computing technology supported by the party. In this way, the data collaboration platform can cover the private computing capabilities of each accessed collaboration participant.
与上述目标协作参与方对应的服务端在将上述数据查询请求解析成至少一个子操作之后,可以从管理的上述实例化算子库中,选择与上述至少一个子操作对应的至少一个实例化算子并基于选择出的上述至少一个实例化算子生成与上述数据查询请求对应的查询流程。After parsing the above data query request into at least one sub-operation, the server corresponding to the above-mentioned target collaboration participant can select at least one instantiation operator corresponding to the above-mentioned at least one sub-operation from the above-mentioned managed instantiation operator library. and generate a query process corresponding to the above data query request based on the selected at least one instantiation operator.
在示出的一种实施方式中,数据协作平台具体可以在与上述多个协作参与方对应的服务端上,分布式的部署流程规划组件,该流程规划组件,具体可以用于从管理的上述实例化算子库中,选择与上述至少一个子操作对应的至少一个实例化算子并基于选择出的上述至少一个实例化算子生成与上述数据查询请求对应的查询流程。上述数据协作平台管理的实例化算子库,具体也可以分别下发至各个协作参与方对应的服务端,由各 个协作参与方分别进行维护。在这种情况下,与上述目标协作参与方对应的服务端在将上述数据查询请求解析成至少一个子操作之后,可以调用该流程规划组件,从本地维护的与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于上述至少一个实例化算子生成与上述数据查询请求对应的查询流程。In an embodiment shown, the data collaboration platform can deploy a process planning component in a distributed manner on the server corresponding to the above-mentioned multiple collaboration participants. The process planning component can be used to manage the above-mentioned In the instantiation operator library, select at least one instantiation operator corresponding to the at least one sub-operation and generate a query process corresponding to the data query request based on the selected at least one instantiation operator. The instantiation operator library managed by the above-mentioned data collaboration platform can also be delivered to the corresponding server of each collaboration participant, and maintained by each collaboration participant respectively. In this case, after the server corresponding to the above-mentioned target collaboration participant parses the above-mentioned data query request into at least one sub-operation, the process planning component can be called from the locally maintained instantiation related to the privacy calculation. Select at least one instantiation operator corresponding to the at least one sub-operation from the operator library, and generate a query process corresponding to the above data query request based on the above at least one instantiation operator.
例如,请继续参见图1,上述流程规划组件,具体可以包括图1示出的数据查询规划组件和应用执行规划组件,在这种情况下,与上述目标协作参与方对应的服务端在将上述数据查询请求解析成至少一个子操作之后,可以先调用上述数据查询规划组件,根据解析出的上述至少一个子操作,规划出与上述数据查询请求对应的基本查询流程。然后再调用上述应用执行规划组件,从数据协作平台管理的实例化算子库中,选择与上述至少一个子操作对应的至少一个实例化算子,再基于上述至少一个实例化算子规划出与上述基本查询流程对应的实例化查询流程。此时该实例化查询流程,即为基于用户输入的数据查询请求所表达出的数据查询需求,规划出的一个具体的用于查询数据的数据协作应用。For example, please continue to refer to Figure 1. The above-mentioned process planning component may specifically include the data query planning component and the application execution planning component shown in Figure 1. In this case, the server corresponding to the above-mentioned target collaboration participant will add the above-mentioned After the data query request is parsed into at least one sub-operation, the above-mentioned data query planning component can be called first, and based on the parsed at least one above-mentioned sub-operation, a basic query process corresponding to the above-mentioned data query request is planned. Then the above-mentioned application execution planning component is called, and at least one instantiation operator corresponding to the above-mentioned at least one sub-operation is selected from the instantiation operator library managed by the data collaboration platform, and then based on the above-mentioned at least one instantiation operator, planning is performed with The instantiated query process corresponding to the above basic query process. At this time, the instantiated query process is a specific data collaboration application for querying data planned based on the data query requirements expressed by the data query request input by the user.
其中,需要说明的是,在实际应用中,不同的数据源对于其维护的数据的使用,通常都具有不同的安全性要求;比如,部分数据源可能会出于隐私保护的目的,禁止将数据导出其所在的数据域进行使用,或者不允许将其维护的数据与其他数据源维护的数据进行汇总后使用,等等。因此,为了确保选择出的实例化算子能够满足各个协作参与方对于数据使用的安全性要求,可以参考各个协作参与方对于数据使用的安全性要求,从上述实例化算子库中来选择合适的实例化算子。Among them, it should be noted that in actual 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 use of data for the purpose of privacy protection. Export the data domain in which it is located for use, or do not allow the data it maintains to be aggregated with data maintained by other data sources for use, etc. Therefore, in order to ensure that the selected instantiation operator can meet the security requirements of each collaboration participant for data use, you can refer to the security requirements of each collaboration participant for data usage and select the appropriate instantiation operator library from the above instantiation operator.
在示出的一种实施方式中,在从上述实例化算子库中,选择与上述至少一个子操作对应的至少一个实例化算子时,具体可以先获取各协作参与方针对其维护的数据的数据安全要求,再从上述实例化算子库中选择满足上述数据安全要求的,与上述至少一个子操作对应的至少一个实例化算子。In an embodiment shown, when selecting at least one instantiation operator corresponding to at least one of the above sub-operations from the above-mentioned instantiation operator library, specifically, the data maintained by each collaboration participant may be first obtained. data security requirements, and then select at least one instantiation operator corresponding to at least one of the above sub-operations that meets the above data security requirements from the above-mentioned instantiation operator library.
通过这种方式,使得用户在不了解的各个协作参与方对数据使用的安全性要求的前提下,数据协作平台仍然能够基于用户的数据查询需求,自动化的为用户选择能够满足各个协作参与方对数据使用的安全性要求的实例化算子,从而可以避免由于用户不了解各个协作参与方对应数据使用的安全性要求,而导致的数据查询不符合安全性要求而造成的查询失败的情况。In this way, even if the user does not understand the security requirements of the data used by each collaboration participant, the data collaboration platform can still automatically select for the user based on the user's data query needs that can satisfy the requirements of each collaboration participant. The instantiation operator of the security requirements for data usage can avoid query failures caused by data queries that do not meet the security requirements due to users not understanding the security requirements for data usage of each collaboration participant.
其中,由于各个协作参与方针对其维护的数据配置的数据安全策略,某种程度上可以反映各个协作参与方对数据使用的安全性要求;因此,在获取各协作参与方针对其维护的数据的数据安全要求时,具体可以先获取各个协作参与方针对其维护的数据配置的数据安全策略,当获取到各个协作参与方针对其维护的数据配置的数据安全策略之后,可以基于该数据安全策略,来进一步确定出各个协作参与方对于其维护的数据的数据安全要求。Among them, since the data security policy configured by each collaboration participant for the data maintained by each collaboration participant can, to a certain extent, reflect the security requirements of each collaboration participant for the use of data; therefore, when obtaining the data maintained by each collaboration participant, When meeting data security requirements, you can first obtain the data security policy configured by each collaboration participant for the data it maintains. After obtaining the data security policy configured by each collaboration participant for the data it maintains, you can based on the data security policy, To further determine the data security requirements of each collaboration participant for the data they maintain.
其中,各个协作参与方针对其维护的数据配置的数据安全策略的具体内容,通常取决于各个协作参与方对数据使用的具体的安全性要求,因此在本说明书不再进行具体的限定。Among them, the specific content of the data security policy configured by each collaboration participant for the data maintained by each collaboration participant usually depends on the specific security requirements of each collaboration participant for data use, and therefore will not be specifically limited in this specification.
在示出的一种实施方式中,上述数据安全策略具体可以包括以下示出的一项或者多项的组合:针对所述数据配置的安全级别;针对所述数据配置的安全防护级别;与其它的协作参与方的数据信任关系;与以上数据安全策略相对应的是,各个协作参与方对数据使用的安全性要求,也可以包括以下示出的一项或者多项的组合:基于所述安全级别确定出的,是否允许将数据导出其所在的数据域的安全性要求;基于所述安全防护级别确定出的,是否允许对数据以及针对数据的隐私计算结果进行数据脱敏处理的安全性要求;基于所述数据信任关系确定出的,是否允许将数据与其它的协作参与方维护的数据进行汇总的安全性要求。In an embodiment shown, the above-mentioned data security policy may specifically include one or a combination of one or more of the following: a security level configured for the data; a security protection level configured for the data; and other The data trust relationship of the collaboration participants; corresponding to the above data security policy, the security requirements of each collaboration participant for data use may also include one or a combination of the following: Based on the security Determined by the level, the security requirements are whether the data is allowed to be exported to the data domain where it is located; the security requirements are determined based on the security protection level, whether the data and the privacy calculation results of the data are allowed to be desensitized. ; Determine based on the data trust relationship, the security requirements of whether to allow the data to be aggregated with data maintained by other collaborative participants.
在示出的一种实施方式中,对于实例化算子库中包含的实例化算子库,也可以为其配置对应的数据安全要求。为实例化算子库配置的数据安全要求,具体用于指示该实例化算子能够满足的数据安全要求。In an embodiment shown, corresponding data security requirements can also be configured for the instantiation operator library included in the instantiation operator library. The data security requirements configured for the instantiation operator library are specifically used to indicate the data security requirements that the instantiation operator can meet.
在这种情况下,在从实例化算子库中选择满足数据安全要求的与所述至少一个子操作对应的至少一个实例化算子时,具体可以先在实例算子库中查找与上述至少一个子操作对应的至少一个实例化算子;此时查找到的这些实例化算子中可能会存在不满足上述安全性要求的实例化算子。然后,可以将各个协作参与方针对其维护的数据的数据安全要求,与查找到的上述至少一个实例化算子对应的数据安全要求进行匹配;然后可以基于匹配结果,从上述至少一个实例化算子中进一步选择与上述各个协作参与方针对其维护的数据的数据安全要求匹配的实例化算子。In this case, when selecting at least one instantiation operator corresponding to the at least one sub-operation that meets the data security requirements from the instantiation operator library, specifically, you can first search for at least one of the above-mentioned sub-operations in the instantiation operator library. At least one instantiation operator corresponding to a sub-operation; among the instantiation operators found at this time, there may be instantiation operators that do not meet the above security requirements. Then, the data security requirements of the data maintained by each collaborative participant can be matched with the found data security requirements corresponding to the at least one instantiation operator; and then based on the matching results, the data security requirements of the at least one instantiation operator can be calculated based on the matching results. The instantiation operator that matches the data security requirements of the data maintained by each of the above-mentioned collaboration participants is further selected.
其中,需要说明的是,如前所述,上述实例化算子库中的实例化算子,通常可以包括基于FL技术实现的实例化算子、基于MPC技术实现的实例化算子、以及基于TEE技术实现的算子等等,然而基于FL技术实现的实例化算子通常无法应用于数据查询的场景。因此,在本说明书中,与上述至少一个子操作对应的实例化算子,具体可以包括基于TEE实现的实例化算子和基于MPC实现的实例化算子。Among them, it should be noted that, as mentioned above, the instantiation operators in the above-mentioned instantiation operator library can usually include instantiation operators implemented based on FL technology, instantiation operators implemented based on MPC technology, and instantiation operators based on Operators implemented by TEE technology, etc. However, instantiation operators implemented based on FL technology usually cannot be applied to data query scenarios. Therefore, in this specification, the instantiation operator corresponding to at least one of the above sub-operations may specifically include an instantiation operator implemented based on TEE and an instantiation operator implemented based on MPC.
例如,上述至少一个子操作对应的实例化算子,具体可以包括基于TEE实现的用于进行隐私查询或者隐私查询计算的实例化算子,以及基于MPC实现的用于进行隐私查询或者隐私查询计算的实例化算子。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 query or privacy query calculation, and an instantiation operator implemented based on MPC for performing privacy query or privacy query calculation. instantiation operator.
在示出的一种实施方式中,在基于上述至少一个实例化算子生成与上述数据查询请求对应的查询流程时,具体可以基于上述至少一个实例化算子生成多个查询流程,再将该多个查询流程向用户进行输出展示,以由用户从该多个查询流程中选择一个与上述数据查询请求对应的最优的查询流程。当然,在实际应用中,具体也可以默认基于上述至少一个实例化算子生成一个最优的查询流程。In an embodiment shown, when generating a query process corresponding to the above data query request based on the at least one instantiation operator, multiple query processes can be generated based on the at least one instantiation operator, and then the query process can be generated based on the at least one instantiation operator. Multiple query processes are output and displayed to the user, so that the user can select an optimal query process corresponding to the above data query request from the multiple query processes. Of course, in actual applications, an optimal query process can be generated by default based on at least one of the above instantiation operators.
步骤208,创建包含与所述查询流程对应的查询逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。Step 208: Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to the blockchain network connected to the data collaboration platform for the user to call.
与上述目标协作参与方对应的服务端在基于上述至少一个实例化算子生成了与上述数据查询请求对应的查询流程之后,可以进一步将该查询流程编译成智能合约的形式,部署到与数据协作平台对接的区块链网络中。After the server corresponding to the above-mentioned target collaboration participant generates the query process corresponding to the above-mentioned data query request based on at least one of the above-mentioned instantiation operators, the server can further compile the query process into the form of a smart contract and deploy it to collaborate with the data In the blockchain network connected to the platform.
例如,在一个例子中,上述服务端可以先自动生成与上述查询流程对应的查询逻辑相关的执行代码,并将生成的执行代码编译成为智能合约代码;然后,在与上述数据协作平台对接的区块链网络中部署包含该智能合约代码的智能合约。其中,部署智能合约的具体过程,在本说明书中不再进行详述。比如,在实际应用中,通过可以基于该智能合约代码打包一笔智能合约创建交易,将该智能合约创建交易发布到区块链网络中。而区块链网络中的节点设备可以对该智能合约创建交易进行共识校验,并在共识校验通过后,执行该智能合约调用交易,在区块链中创建一个智能合约账户,并将该智能合约代码锚定到该智能合约账户中,以完成智能合约的创建。For example, in one example, the above-mentioned server can first automatically generate execution code related to the query logic corresponding to the above-mentioned query process, and compile the generated execution code into smart contract code; then, in the area connected to the above-mentioned data collaboration platform, A smart contract containing the smart contract code is deployed in the blockchain network. Among them, the specific process of deploying smart contracts will not be described in detail in this manual. For example, in practical applications, a smart contract creation transaction can be packaged based on the smart contract code, and the smart contract creation transaction can be published to the blockchain network. The node device in the blockchain network can perform consensus verification on the smart contract creation transaction, and after the consensus verification passes, execute the smart contract call transaction, create a smart contract account in the blockchain, and transfer the smart contract The smart contract code is anchored to the smart contract account to complete the creation of the smart contract.
在示出的一种实施方式中,数据协作平台具体可以在与上述多个协作参与方对应的服务端上,分布式的部署智能合约管理组件,该智能合约管理组件,具体可以用于生成与所述查询流程对应的查询逻辑相关的执行代码,并将生成的所述执行代码编译成为智能合约代码,并在与所述数据协作平台对接的区块链网络中部署包含所述智能合约代码的智能合约。In an embodiment shown, the data collaboration platform can deploy smart contract management components in a distributed manner on the servers corresponding to the above-mentioned multiple collaboration participants. The smart contract management components can be used to generate and Execution code related to the query logic corresponding to the query process, compile the generated execution code into smart contract code, and deploy the smart contract code containing the smart contract code in the blockchain network connected to the data collaboration platform Smart contracts.
在这种情况下,与上述目标协作参与方对应的服务端在基于上述至少一个实例化算子生成了与上述数据查询请求对应的查询流程之后,可以调用该智能合约管理组件,生成与所述查询流程对应的查询逻辑相关的执行代码,并将生成的所述执行代码编译成为智能合约代码,在与所述数据协作平台对接的区块链网络中部署包含所述智能合约代码的智能合约。In this case, after the server corresponding to the above-mentioned target collaboration participant generates the query process corresponding to the above-mentioned data query request based on the above-mentioned at least one instantiation operator, the server can call the smart contract management component to generate the query process corresponding to the above-mentioned data query request. Query the execution code related to the query logic corresponding to the query process, compile the generated execution code into smart contract code, and deploy the smart contract containing the smart contract code in the blockchain network connected to the data collaboration platform.
例如,请继续参见图1,上述智能合约管理组件,具体可以包括图1示出的应用合约管理组件,在这种情况下,与上述目标协作参与方对应的服务端在基于上述至少一个实例化算子生成了与上述数据查询请求对应的查询流程之后,可以调用该应用合约管理组件,生成与所述查询流程对应的查询逻辑相关的执行代码,并将生成的所述执行代码编译成为智能合约代码,在与所述数据协作平台对接的区块链网络中部署包含所述智能合约代码的智能合约。For example, please continue to refer to Figure 1. The above-mentioned smart contract management component may specifically include the application contract management component shown in Figure 1. In this case, the server corresponding to the above-mentioned target collaboration participant is based on at least one of the above-mentioned instantiations. After the operator generates the query process corresponding to the above data query request, it can call the application contract management component to generate execution code related to the query logic corresponding to the query process, and compile the generated execution code into a smart contract Code, deploy the smart contract containing the smart contract code in the blockchain network connected to the data collaboration platform.
在本说明书中,当上述智能合约部署完成,此时用户可以通过客户端来发起针对该智能合约的合约调用,来完成针对上述虚拟数据集合的数据查询。In this specification, when the deployment of the above-mentioned smart contract is completed, the user can initiate a contract call for the smart contract through the client to complete the data query for the above-mentioned virtual data collection.
例如,请继续参见图1,当上述智能合约部署完成,用户可以通过图1示出的应用执行客户端,来发起针对该智能合约的合约调用,并通过该应用执行客户端,来查询该智能合约的调用结果。For example, please continue to refer to Figure 1. When the above smart contract is deployed, the user can initiate a contract call for the smart contract through the application execution client shown in Figure 1, and query the smart contract through the application execution client. The call result of the contract.
请参见图4,图4是本说明书根据一示例性实施例示出的一种基于多方协作的数据查询方法的流程图,该方法可以应用于图1所示的数据协作平台;例如,该数据协作平台具体可以是一个用于对上述区块链网络进行管理的一个区块链服务平台;比如,BaaS(Blockchain as a Service,区块链即服务)平台;所述方法包括步骤402至步骤408。Please refer to Figure 4. Figure 4 is a flow chart of a data query method based on multi-party collaboration illustrated in this specification according to an exemplary embodiment. This method can be applied to the data collaboration platform shown in Figure 1; for example, the data collaboration The platform may specifically be a blockchain service platform used to manage the above-mentioned blockchain network; for example, a BaaS (Blockchain as a Service) platform; the method includes steps 402 to 408.
步骤402,获取所述多个协作参与方中的任一目标协作参与方对应服务端上传的、由用户输入的针对虚拟数据集合的数据查询请求;其中,所述虚拟数据集合为所述数据协作平台针对所述多个协作参与方分别维护的用于参与隐私计算的数据,进行数据虚拟 化处理得到的虚拟数据集合。Step 402: Obtain a data query request for a virtual data set uploaded by the corresponding server of any target collaboration participant among the multiple collaboration participants and input by the user; wherein the virtual data set is the data collaboration The platform performs data virtualization processing on the data maintained by the multiple collaborative participants for participating in privacy calculations to obtain a virtual data set.
通过客户端接入上述目标协作参与方的用户在具有数据查询需求时,可以通过该客户端输入针对该虚拟数据表的数据查询请求的方式,以全局的数据视角来发起数据查询。与上述目标协作参与方对应的服务端在获取到用户通过客户端输入的数据查询请求后,可以将该数据查询请求上传至上述数据协作平台,由该数据协作平台进行中心化的处理。When users who access the above-mentioned target collaboration participants through a client have data query needs, they can input a data query request for the virtual data table through the client to initiate a data query from a global data perspective. After the server corresponding to the above-mentioned target collaboration participant obtains the data query request input by the user through the client, the data query request can be uploaded to the above-mentioned data collaboration platform, and the data collaboration platform performs centralized processing.
步骤404,解析所述数据查询请求,得到与所述数据查询请求相关的至少一个子操作。Step 404: Parse the data query request and obtain at least one sub-operation related to the data query request.
步骤406,从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程。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 calculation, and generate the data query based on the at least one instantiation operator. Request the corresponding query process.
步骤408,创建包含与所述查询流程对应的查询逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以使所述用户调用所述智能合约包含的所述查询逻辑,完成针对所述虚拟数据集合的数据查询。Step 408: Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to the blockchain network connected to the data collaboration platform, so that the user can call the The query logic contained in the smart contract completes the data query for the virtual data collection.
上述数据协作平台在收到上述目标协作参与方上传的上述数据查询请求之后,可以执行步骤404-408示出的执行逻辑,对该数据查询请求进行中心化的处理,具体的实施细节请参考图2示出的实施例的描述,在本说明书中不再进行详述。After receiving the above-mentioned data query request uploaded by the above-mentioned target collaboration participant, the above-mentioned data collaboration platform can execute the execution logic shown in steps 404-408 and perform centralized processing of the data query request. Please refer to the figure for specific implementation details. The description of the embodiment shown in 2 will not be described in detail in this specification.
在以上技术方案中,不仅可以在针对来自多个数据源的数据进行隐私计算时,降低数据的使用复杂度,还可以让数据使用的过程更加透明可信并且便于追溯。In the above technical solution, it can not only reduce the complexity of data usage when performing privacy calculations on data from multiple data sources, but also make the data usage process more transparent, credible and easy to trace.
例如,通过数据虚拟化处理技术,将各个协作参与方维护的数据进行数据虚拟化处理得到一个虚拟数据集合,不仅可以实现多数据源的充分数据融合,还可以让用户在该虚拟数据集合的基础上,从全局的数据视角来使用数据,而不必需要数据在各个协作参与方的数据存储状况,因此可以显著的降低数据使用的复杂度。而通过将生成的查询流程以智能合约的形式部署在区块链供用户调用,可以充分利用智能合约的特点,让每一次查询都透明可信并且便于追溯。For example, through data virtualization processing technology, the data maintained by each collaborative participant is virtualized to obtain a virtual data collection. This not only enables full data fusion of multiple data sources, but also allows users to build on the virtual data collection based on the data virtualization processing technology. On the other hand, using data from a global data perspective does not require the data storage status of each collaboration participant, so the complexity of data use can be significantly reduced. By deploying the generated query process in the form of a smart contract on the blockchain for users to call, the characteristics of smart contracts can be fully utilized to make every query transparent, credible and easy to trace.
而且,由于用户可以在针对多个数据源的数据进行虚拟机化处理得到的虚拟数据集合的基础上,从全局的数据视角来定制数据查询需求,并且可以基于数据协作平台自身的隐私计算能力,针对用户不同的数据查询需求,来规划不同的数据隐私查询流程,因此可以灵活的适配不同的数据隐私查询场景,使得该数据协作平台可以激活更多的数据使用场景。例如,不同的数据源对于其维护的数据的使用,通常都具有不同的安全性要求。而作为具有数据使用需求的用户一方来说,通常并不了解各个数据源对于数据的使用的安全性要求,这就有可能导致用户在从全局的数据视角,来查询和使用多个数据源的数据时,会出现用户的数据使用需求不符合其中的某一个或者多个数据源对于数据的使用的安全性要求的情况。而通过以上技术方案,由于可以基于数据协作平台自身的隐私计算能力,来灵活的适配用户的数据查询需求,对于数据协作平台来说,其对于数据使用场景的适配能力会得到明显的提升,因此这也让数据协助平台为用户的数据查询 需求定制符合各个数据源对于数据的使用的安全性要求的查询流程变为可能。Moreover, because users can customize data query needs from a global data perspective based on virtual data collections obtained by virtual machine processing of data from multiple data sources, and based on the privacy computing capabilities of the data collaboration platform itself, Different data privacy query processes are planned according to the different data query needs of users, so that different data privacy query scenarios can be flexibly adapted, so that the data collaboration platform can activate more data usage scenarios. For example, different data sources often have different security requirements for the use of the data they maintain. As users with data usage needs, they usually do not understand the security requirements of each data source for data use, which may cause users to query and use multiple data sources from a global data perspective. When collecting data, there may be situations where the user's data usage requirements do not meet the security requirements of one or more data sources for data usage. Through the above technical solutions, since the data collaboration platform can flexibly adapt to users' data query needs based on its own privacy computing capabilities, the data collaboration platform's ability to adapt to data usage scenarios will be significantly improved. , so this also makes it possible for the data assistance platform to customize the query process for the user's data query needs that meets the security requirements of each data source for the use of data.
与前述方法的实施例相对应,本说明书还提供了装置、电子设备以及存储介质的实施例。Corresponding to the foregoing method embodiments, this specification also provides embodiments of devices, electronic devices, and storage media.
图5是一示例性实施例提供的一种电子设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。FIG. 5 is a schematic structural diagram of an electronic device provided by 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, a memory 508 and a non-volatile memory 510. Of course, it may also include other hardware required for services. One or more embodiments of this specification may be implemented based on software. For example, the processor 502 reads the corresponding computer program from the non-volatile memory 510 into the memory 508 and then runs it. Of course, in addition to software implementation, one or more embodiments of this specification do not exclude other implementations, such as logic devices or a combination of software and hardware, etc. That is to say, the execution subject of the following processing flow is not limited to each A logic unit can also be a hardware or logic device.
如图6所示,图6是本说明书根据一示例性实施例示出的一种基于多方协作的数据查询装置的框图,该装置可以应用于如图5所示的电子设备中,以实现本说明书的技术方案。所述装置600包括:第一获取模块601、第一解析模块602、第一生成模块603和第一部署模块604。As shown in Figure 6, Figure 6 is a block diagram of a data query device based on multi-party collaboration according to an exemplary embodiment of this specification. This device can be applied to the electronic device shown in Figure 5 to implement this specification. technical solutions. The device 600 includes: a first acquisition module 601, a first parsing module 602, a first generation module 603 and a first deployment module 604.
其中,第一获取模块601,获取用户输入的针对虚拟数据集合的数据查询请求;其中,所述虚拟数据集合为所述数据协作平台针对所述多个协作参与方分别维护的用于参与隐私计算的数据,进行数据虚拟化处理得到的虚拟数据集合。Among them, 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 maintained by the data collaboration platform for the multiple collaboration participants for participating in privacy calculations. The data is a collection of virtual data obtained through data virtualization processing.
第一解析模块602,解析所述数据查询请求,得到与所述数据查询请求相关的至少一个子操作。The first parsing module 602 parses the data query request and obtains at least one sub-operation related to the data query request.
第一生成模块603,从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程。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 calculation, and generates the corresponding instantiation operator based on the at least one instantiation operator. Describe the query process corresponding to the data query request.
第一部署模块604,创建包含与所述查询流程对应的查询逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。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 connected to the data collaboration platform for the user Make the call.
上述装置600的各个模块的具体细节已经在之前描述的方法流程中进行了详细的描述,因此此处不再赘述。The specific details of each module of the above-mentioned device 600 have been described in detail in the previously described method flow, so they will not be described again here.
如图7所示,图7是本说明书根据一示例性实施例示出的另一种用户服务使用装置的框图,该装置也可以应用于如图5所示的电子设备中,以实现本说明书的技术方案。所述装置700包括:第二获取模块701、第二解析模块702、第二生成模块703和第二部署模块704。As shown in Figure 7, Figure 7 is a block diagram of another user service usage device shown in this specification according to an exemplary embodiment. This device can also be applied to the electronic device shown in Figure 5 to implement the instructions of this specification. Technical solutions. The device 700 includes: a second acquisition module 701, a second parsing module 702, a second generation module 703 and a second deployment module 704.
其中,第二获取模块701,获取接入所述多个协作参与方中的任一目标协作参与方对应服务端上传的,由用户输入的针对虚拟数据集合的数据查询请求;其中,所述虚拟数据集合为所述数据协作平台针对所述多个协作参与方分别维护的用于参与隐私计算的数据,进行数据虚拟化处理得到的虚拟数据集合。Among them, the second acquisition module 701 acquires the data query request for the virtual data set input by the user and uploaded by the corresponding server of any target collaboration participant among the multiple collaboration participants; wherein, the virtual The data set is a virtual data set obtained by performing data virtualization processing on the data maintained by the multiple collaboration participants for participating in privacy calculations by the data collaboration platform.
第二解析模块702,解析所述数据查询请求,得到与所述数据查询请求相关的至少一个子操作。The second parsing module 702 parses the data query request to obtain at least one sub-operation related to the data query request.
第二生成模块703,从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程。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 calculation, and generates the corresponding instantiation operator based on the at least one instantiation operator. Describe the query process corresponding to the data query request.
第二部署模块704,创建包含与所述查询流程对应的查询逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。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 connected to the data collaboration platform for the user Make the call.
上述装置700的各个模块的具体细节已经在之前描述的方法流程中进行了详细的描述,因此此处不再赘述。The specific details of each module of the above-mentioned device 700 have been described in detail in the previously described method flow, so they will not be described again here.
相应的,本说明书还提供一种电子设备,所述电子设备包括有处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为实现之前描述的全部的方法流程中的步骤。Correspondingly, this specification also provides an electronic device, which includes a processor; a memory for storing instructions executable by the processor; wherein the processor is configured to implement all the previously described method flows. A step of.
相应的,本说明书还提供一种计算机可读存储介质,其上存储有可执行的指令;其中,该指令被处理器执行时,实现之前描述的全部的方法流程中的步骤。Correspondingly, this specification also provides a computer-readable storage medium on which executable instructions are stored; wherein, when the instructions are executed by the processor, all the steps in the method flow described previously are implemented.
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。As for the device embodiment, since it basically corresponds to the method embodiment, please refer to the partial description of the method embodiment for relevant details. The device embodiments described above are only illustrative. The modules described as separate components may or may not be physically separated. The components shown as modules may or may not be physical modules, that is, they may be located in One place, or it can be distributed to multiple network modules. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution in this specification. Persons of ordinary skill in the art can understand and implement the method without any creative effort.
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, a laptop, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver, or a game controller. desktop, tablet, wearable device, or a combination of any of these devices.
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration, a computer includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。Memory may include non-permanent storage in computer-readable media, random access memory (RAM) and/or non-volatile memory in the form of read-only memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、 只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Computer-readable media includes both persistent and non-volatile, removable and non-removable media that can be implemented by any method or technology for storage of information. Information may 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 technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, Magnetic tape cartridges, magnetic disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transmission medium, can be used to store information that can be accessed by computing devices. As defined in this article, computer-readable media does not include transitory media, such as modulated data signals and carrier waves.
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。It should also be noted that the terms "comprises," "comprises," or any other variation thereof are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that includes a list of elements not only includes those elements, but also includes Other elements are not expressly listed or are inherent to the process, method, article or equipment. Without further limitation, an element defined by the statement "comprises a..." does not exclude the presence of additional identical elements in a process, method, article, or device that includes the stated element.
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。The foregoing describes 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 can be performed in a different order than in the embodiments and still achieve desired results. Additionally, the processes depicted in the figures do not necessarily require the specific order shown, or sequential order, to achieve desirable results. Multitasking and parallel processing are also possible or may be advantageous in certain implementations.
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。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 one or more embodiments of this specification. As used in one or more embodiments of this specification and the appended claims, the singular forms "a," "the" and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It will also be understood that the term "and/or" as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。It should be understood that although one or more embodiments of this specification may use the terms first, second, third, etc. to describe various information, the information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of one or more embodiments of this specification, the first information may also be called second information, and similarly, the second information may also be called first information. Depending on the context, the word "if" as used herein may be interpreted as "when" or "when" or "in response to determining."
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。The above are only preferred embodiments of one or more embodiments of this specification, and are not intended to limit one or more embodiments of this specification. Within the spirit and principles of one or more embodiments of this specification, Any modifications, equivalent substitutions, improvements, etc. shall be included in the scope of protection of one or more embodiments of this specification.

Claims (22)

  1. 一种基于多方协作的数据查询方法,基于区块链的数据协作平台对接了多个协作参与方;所述方法应用于与所述多个协作参与方中的任一目标协作参与方对应的服务端;所述方法包括:A data query method based on multi-party collaboration. A blockchain-based data collaboration platform connects multiple collaboration participants; the method is applied to services corresponding to any target collaboration participant among the multiple collaboration participants. end; the method includes:
    获取用户输入的针对虚拟数据集合的数据查询请求;其中,所述虚拟数据集合为所述数据协作平台针对所述多个协作参与方分别维护的用于参与隐私计算的数据,进行数据虚拟化处理得到的虚拟数据集合;Obtain a data query request for a virtual data set input by the user; wherein the virtual data set is data maintained by the data collaboration platform for participating in privacy calculations for the multiple collaboration participants, and performs data virtualization processing The obtained virtual data collection;
    解析所述数据查询请求,得到与所述数据查询请求相关的至少一个子操作;Parse the data query request and obtain at least one sub-operation related to the data query request;
    从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程;Select at least one instantiation operator corresponding to the at least one sub-operation from a library of instantiation operators related to the privacy calculation, and generate an operator corresponding to the data query request based on the at least one instantiation operator. Query process;
    创建包含与所述查询流程对应的查询逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to the blockchain network connected to the data collaboration platform for the user to call.
  2. 根据权利要求1所述的方法,其中,所述数据查询请求包括数据查询语句;The method according to claim 1, wherein the data query request includes a data query statement;
    解析所述数据查询请求,得到与所述数据查询请求相关的至少一个子操作,包括:Parse the data query request and obtain at least one sub-operation related to the data query request, including:
    对所述数据查询语句进行语法解析,得到与所述数据查询语句对应的语法树;Perform syntax analysis on the data query statement to obtain a syntax tree corresponding to the data query statement;
    基于所述语法树确定与所述数据查询语句相关的至少一个子操作。At least one sub-operation related to the data query statement is determined based on the syntax tree.
  3. 根据权利要求2所述的方法,其中,所述数据查询语句包括SQL语句。The method of claim 2, wherein the data query statement includes an SQL statement.
  4. 根据权利要求2所述的方法,其中,所述虚拟数据集合中的虚拟数据包括若干个数据字段;所述若干个数据字段分别维护在不同的协作参与方;所述至少一个子操作包括从所述不同的协作参与方维护的数据中分别查询所述若干个数据字段的至少一个查询子操作。The method according to claim 2, wherein the virtual data in the virtual data set includes several data fields; the several data fields are respectively maintained in different collaboration participants; and the at least one sub-operation includes selecting from all At least one query sub-operation for respectively querying the several data fields in the data maintained by the different collaboration participants.
  5. 根据权利要求2所述的方法,其中,所述数据查询语句包括针对所述虚拟数据集合中的虚拟数据进行数据查询计算的请求;所述至少一个子操作还包括,针对查询到的数据进行计算的至少一个计算子操作。The method according to claim 2, wherein the data query statement includes a request to perform data query calculation on the virtual data in the virtual data set; the at least one sub-operation further includes: performing calculation on the queried data. At least one computational sub-operation of .
  6. 根据权利要求5所述的方法,其中,所述至少一个计算子操作包括以下示出的任一或者多个的组合:The method of claim 5, wherein the at least one calculation sub-operation includes any one or a combination of more of the following:
    对数据进行求交集计算的子操作;Sub-operations for performing intersection calculations on data;
    对数据进行过滤计算的子操作;Sub-operations for filtering and calculating data;
    对数据进行统计计算的子操作。Sub-operations that perform statistical calculations on data.
  7. 根据权利要求1所述的方法,其中,从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程,包括:The method of claim 1, wherein at least one instantiation operator corresponding to the at least one sub-operation is selected from a library of instantiation operators related to the privacy computation, and based on the at least one instantiation The operator generates a query process corresponding to the data query request, including:
    获取各个协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程。Obtain the data security requirements of the data maintained by each collaboration participant, and select at least one instantiation corresponding to the at least one sub-operation that satisfies the data security requirements from the instantiation operator library related to the privacy calculation. operator, and generate a query process corresponding to the data query request based on the at least one instantiated operator.
  8. 根据权利要求7所述的方法,其中,所述实例化算子包括基于所述数据协作平台和所述协作参与方支持的隐私计算技术实现的算子。The method according to claim 7, wherein the instantiation operator includes an operator implemented based on the privacy computing technology supported by the data collaboration platform and the collaboration participants.
  9. 根据权利要求1所述的方法,其中,获取各个协作参与方针对其维护的数据的 数据安全要求,包括:The method according to claim 1, wherein obtaining the data security requirements of data maintained by each collaboration participant includes:
    获取各个协作参与方针对其维护的数据配置的数据安全策略;Obtain the data security policy configured by each collaboration participant for the data it maintains;
    基于所述数据安全策略确定所述各个协作参与方针对其维护的数据的数据安全要求。Data security requirements for data maintained by each collaboration participant are determined based on the data security policy.
  10. 根据权利要求9所述的方法,其中The method of claim 9, wherein
    所述数据安全策略包括以下示出的一项或者多项的组合:The data security policy includes one or a combination of the following:
    针对所述数据配置的安全级别;The security level configured for the data;
    针对所述数据配置的安全防护级别;The security protection level configured for the data;
    与其它的协作参与方的数据信任关系;Data trust relationships with other collaboration participants;
    所述数据安全要求包括以下示出的一项或者多项的组合:The data security requirements include one or a combination of the following:
    基于所述安全级别确定出的,是否允许将所述数据导出其所在的数据域的安全性要求;Determined based on the security level, whether the data is allowed to be exported to the security requirements of the data domain where it is located;
    基于所述安全防护级别确定出的,是否允许对所述数据以及针对所述数据的隐私计算结果进行数据脱敏处理的安全性要求;Determine based on the security protection level, the security requirements of whether to allow data desensitization processing on the data and the privacy calculation results for the data;
    基于所述数据信任关系确定出的,是否允许将所述数据与其它的协作参与方维护的数据进行汇总的安全性要求。Based on the data trust relationship, it is determined whether the security requirements are allowed to aggregate the data with data maintained by other collaboration participants.
  11. 根据权利要求1所述的方法,其中,所述数据协作平台在与所述多个协作参与方对应的服务端上,分布式的部署了流程规划组件;所述多个协作参与方对应的服务端上分别维护了所述实例化算子库;The method according to claim 1, wherein the data collaboration platform distributes process planning components on servers corresponding to the multiple collaboration participants; services corresponding to the multiple collaboration participants The instantiation operator library is maintained separately on the terminal;
    从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程,包括:Select at least one instantiation operator corresponding to the at least one sub-operation from a library of instantiation operators related to the privacy calculation, and generate an operator corresponding to the data query request based on the at least one instantiation operator. Inquiry process, including:
    调用所述流程规划组件,从本地维护的与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程。Call the process planning component, select at least one instantiation operator corresponding to the at least one sub-operation from the locally maintained instantiation operator library related to the privacy calculation, and perform the calculation based on the at least one instantiation operator. Generate a query process corresponding to the data query request.
  12. 根据权利要求11所述的方法,其中,所述实例化算子库包括若干实例化算子和与所述实例化算子对应的数据安全要求;The method according to claim 11, wherein the instantiation operator library includes several instantiation operators and data security requirements corresponding to the instantiation operators;
    从所述实例化算子库中选择满足所述数据安全要求的与所述至少一个子操作对应的至少一个实例化算子,包括:Selecting at least one instantiation operator corresponding to the at least one sub-operation that meets the data security requirements from the instantiation operator library includes:
    查找所述实例化算子库中与所述至少一个子操作对应的至少一个实例化算子;Search for at least one instantiation operator corresponding to the at least one sub-operation in the instantiation operator library;
    将各个协作参与方针对其维护的数据的数据安全要求,与查找到的所述至少一个实例化算子对应的数据安全要求分别进行匹配;Match the data security requirements of the data maintained by each collaboration participant with the data security requirements corresponding to the found at least one instantiation operator;
    基于匹配结果,从所述至少一个实例化算子中选择与所述各个协作参与方针对其维护的数据的数据安全要求匹配的实例化算子。Based on the matching result, an instantiation operator matching the data security requirements of the data maintained by the respective collaboration participants is selected from the at least one instantiation operator.
  13. 根据权利要求12所述的方法,其中,所述实例化算子包括以下示出的一项或者多项的组合:The method according to claim 12, wherein the instantiation operator includes one or a combination of multiple items shown below:
    基于TEE实现的实例化算子;Instantiation operator implemented based on TEE;
    基于MPC实现的实例化算子。Instantiation operator implemented based on MPC.
  14. 根据权利要求1所述的方法,其中,基于所述至少一个实例化算子生成与所述 数据查询请求对应的查询流程,包括:The method according to claim 1, wherein generating a query process corresponding to the data query request based on the at least one instantiation operator includes:
    基于所述至少一个实例化算子生成多个查询流程;Generate multiple query processes based on the at least one instantiation operator;
    将所述多个查询流程向所述用户进行输出展示,以由所述用户从所述多个查询流程中选择与所述数据查询请求对应的查询流程。The multiple query processes are output and displayed to the user, so that the user selects the query process corresponding to the data query request from the multiple query processes.
  15. 根据权利要求1所述的方法,其中,所述数据协作平台在与所述多个协作参与方对应的服务端上,分布式的部署了智能合约管理组件;The method according to claim 1, wherein the data collaboration platform deploys smart contract management components in a distributed manner on the server corresponding to the multiple collaboration participants;
    创建包含与所述查询流程对应的查询逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,包括:Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to the blockchain network connected to the data collaboration platform, including:
    调用所述智能合约管理组件,生成与所述查询流程对应的查询逻辑相关的执行代码,并将生成的所述执行代码编译成为智能合约代码;Call the smart contract management component to generate execution code related to the query logic corresponding to the query process, and compile the generated execution code into smart contract code;
    在与所述数据协作平台对接的区块链网络中部署包含所述智能合约代码的智能合约。Deploy a smart contract containing the smart contract code in a blockchain network connected to the data collaboration platform.
  16. 根据权利要求15所述的方法,其中,所述多个协作参与方包括分布在不同地域的多个数据中心。The method of claim 15, wherein the multiple collaboration participants include multiple data centers distributed in different regions.
  17. 根据权利要求1所述的方法,其中,所述数据协作平台包括与所述区块链网络对应的区块链服务平台。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, the method is applied to a data collaboration platform based on blockchain; wherein the data collaboration platform connects multiple collaboration participants; the method includes:
    获取所述多个协作参与方中的任一目标协作参与方对应服务端上传的,由用户输入的针对虚拟数据集合的数据查询请求;其中,所述虚拟数据集合为所述数据协作平台针对所述多个协作参与方分别维护的用于参与隐私计算的数据,进行数据虚拟化处理得到的虚拟数据集合;Obtain a data query request for a virtual data set uploaded by the corresponding server of any target collaboration participant among the multiple collaboration participants and input by the user; wherein the virtual data set is the data query request for the virtual data set by the data collaboration platform. Describes the data maintained by multiple collaborative participants for participating in privacy calculations, and a virtual data set obtained by performing data virtualization processing;
    解析所述数据查询请求,得到与所述数据查询请求相关的至少一个子操作;Parse the data query request and obtain at least one sub-operation related to the data query request;
    从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程;Select at least one instantiation operator corresponding to the at least one sub-operation from a library of instantiation operators related to the privacy calculation, and generate an operator corresponding to the data query request based on the at least one instantiation operator. Query process;
    创建包含与所述查询流程对应的查询逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。Create a smart contract containing query logic corresponding to the query process, and deploy the created smart contract to the blockchain network connected to the data collaboration platform for the user to call.
  19. 一种基于多方协作的数据查询装置,基于区块链的数据协作平台对接了多个协作参与方;所述装置应用于与所述多个协作参与方中的任一目标协作参与方对应的服务端;所述装置包括:A data query device based on multi-party collaboration. The blockchain-based data collaboration platform connects multiple collaboration participants; the device is applied to services corresponding to any target collaboration participant among the multiple collaboration participants. end; 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 data maintained by the data collaboration platform for the multiple collaboration participants for participating in privacy calculations, Virtual data collection obtained through data virtualization processing;
    第一解析模块,解析所述数据查询请求,得到与所述数据查询请求相关的至少一个子操作;The first parsing module parses the data query request and obtains at least one sub-operation related to the data query request;
    第一生成模块,从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程;The first generation module selects at least one instantiation operator corresponding to the at least one sub-operation from the instantiation operator library related to the privacy computation, and generates the corresponding instantiation operator based on the at least one instantiation operator. The query process corresponding to the data query request;
    第一部署模块,创建包含与所述查询流程对应的查询逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。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 connected to the data collaboration platform for the user to perform transfer.
  20. 一种基于多方协作的数据查询装置,所述装置应用于基于区块链的数据协作平台;其中,所述数据协作平台对接了多个协作参与方;所述装置包括:A data query device based on multi-party collaboration, the device is applied to a data collaboration platform based on blockchain; wherein the data collaboration platform connects multiple collaboration participants; the device includes:
    第二获取模块,获取接入所述多个协作参与方中的任一目标协作参与方对应服务端上传的,由用户输入的针对虚拟数据集合的数据查询请求;其中,所述虚拟数据集合为所述数据协作平台针对所述多个协作参与方分别维护的用于参与隐私计算的数据,进行数据虚拟化处理得到的虚拟数据集合;The second acquisition module acquires the data query request for the virtual data set input by the user and uploaded by the corresponding server of any target collaboration participant among the multiple collaboration participants; wherein the virtual data set is The data collaboration platform performs data virtualization processing on the data maintained by the multiple collaboration participants for participating in privacy calculations to obtain a virtual data set;
    第二解析模块,解析所述数据查询请求,得到与所述数据查询请求相关的至少一个子操作;The second parsing module parses the data query request and obtains at least one sub-operation related to the data query request;
    第二生成模块,从与所述隐私计算相关的实例化算子库中选择与所述至少一个子操作对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述数据查询请求对应的查询流程;The second generation module selects at least one instantiation operator corresponding to the at least one sub-operation from a library of instantiation operators related to the privacy calculation, and generates the corresponding sub-operation based on the at least one instantiation operator. The query process corresponding to the data query request;
    第二部署模块,创建包含与所述查询流程对应的查询逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。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 connected to the data collaboration platform for the user to perform transfer.
  21. 一种电子设备,包括:An electronic device including:
    处理器;processor;
    用于存储处理器可执行指令的存储器;Memory used to store instructions executable by the processor;
    其中,所述处理器通过运行所述可执行指令以实现如权利要求1-18中任一项所述的方法。Wherein, the processor implements the method according to any one of claims 1-18 by running the executable instructions.
  22. 一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-18中任一项所述方法的步骤。A computer-readable storage medium having computer instructions stored thereon, which when executed by a processor, implements the steps of the method according to any one of claims 1-18.
PCT/CN2022/135099 2022-07-22 2022-11-29 Data query method and device based on multi-party collaboration WO2024016547A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210869396.8A CN115269683A (en) 2022-07-22 2022-07-22 Data query method and device based on multi-party cooperation
CN202210869396.8 2022-07-22

Publications (1)

Publication Number Publication Date
WO2024016547A1 true WO2024016547A1 (en) 2024-01-25

Family

ID=83768771

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/135099 WO2024016547A1 (en) 2022-07-22 2022-11-29 Data query method and device based on multi-party collaboration

Country Status (2)

Country Link
CN (1) CN115269683A (en)
WO (1) WO2024016547A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117892355A (en) * 2024-03-14 2024-04-16 蓝象智联(杭州)科技有限公司 Multiparty data joint analysis method and system based on privacy protection

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115269683A (en) * 2022-07-22 2022-11-01 蚂蚁区块链科技(上海)有限公司 Data query method and device based on multi-party cooperation
CN116756184B (en) * 2023-08-17 2024-01-12 腾讯科技(深圳)有限公司 Database instance processing method, device, equipment, storage medium and program product

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294391B1 (en) * 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
CN109542846A (en) * 2018-11-16 2019-03-29 重庆邮电大学 A kind of Internet of Things vulnerability information management system based on data virtualization
CN111382174A (en) * 2018-12-28 2020-07-07 百度在线网络技术(北京)有限公司 Multi-party data combined query method, device, server and storage medium
CN112560100A (en) * 2020-12-22 2021-03-26 网易(杭州)网络有限公司 Data desensitization method and device, computer readable storage medium and electronic equipment
CN114168998A (en) * 2021-11-30 2022-03-11 联想(北京)有限公司 Data processing method and device
CN114328504A (en) * 2021-08-27 2022-04-12 腾讯科技(深圳)有限公司 Data joint query method, device, equipment and computer readable storage medium
CN115269683A (en) * 2022-07-22 2022-11-01 蚂蚁区块链科技(上海)有限公司 Data query method and device based on multi-party cooperation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294391B1 (en) * 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
CN109542846A (en) * 2018-11-16 2019-03-29 重庆邮电大学 A kind of Internet of Things vulnerability information management system based on data virtualization
CN111382174A (en) * 2018-12-28 2020-07-07 百度在线网络技术(北京)有限公司 Multi-party data combined query method, device, server and storage medium
CN112560100A (en) * 2020-12-22 2021-03-26 网易(杭州)网络有限公司 Data desensitization method and device, computer readable storage medium and electronic equipment
CN114328504A (en) * 2021-08-27 2022-04-12 腾讯科技(深圳)有限公司 Data joint query method, device, equipment and computer readable storage medium
CN114168998A (en) * 2021-11-30 2022-03-11 联想(北京)有限公司 Data processing method and device
CN115269683A (en) * 2022-07-22 2022-11-01 蚂蚁区块链科技(上海)有限公司 Data query method and device based on multi-party cooperation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117892355A (en) * 2024-03-14 2024-04-16 蓝象智联(杭州)科技有限公司 Multiparty data joint analysis method and system based on privacy protection
CN117892355B (en) * 2024-03-14 2024-05-24 蓝象智联(杭州)科技有限公司 Multiparty data joint analysis method and system based on privacy protection

Also Published As

Publication number Publication date
CN115269683A (en) 2022-11-01

Similar Documents

Publication Publication Date Title
WO2024016547A1 (en) Data query method and device based on multi-party collaboration
TWI698108B (en) Blockchain-based data processing method and device
US9465720B2 (en) Methods and systems for internally debugging code in an on-demand service environment
TWI706259B (en) Data query method and query device
US11847135B2 (en) Blockchain node and transaction method
ES2765415T3 (en) Microservices-based data processing apparatus, method and program
WO2024016549A1 (en) Multi-party collaboration-based privacy computing method and apparatus
US20140136717A1 (en) Configuring cloud resources
US11405451B2 (en) Data pipeline architecture
US9201700B2 (en) Provisioning computer resources on a network
WO2020125219A1 (en) Data structure reading method and device, data structure updating method and device, and electronic apparatus
EP3090329A1 (en) Event-driven data processing system
US20160274874A1 (en) Method and apparatus for processing request
WO2023040502A1 (en) User service registration
WO2023040498A1 (en) User service utilization
US9373093B2 (en) Gateway service manager for business object applications
WO2023040496A1 (en) Virtual resource allocation based on blockchain
CN108255913A (en) A kind of real-time streaming data processing method and processing device
Meckler et al. The web and linked data as a solid foundation for dataspaces
US20220413812A1 (en) Method, system and computer-readable medium for integrating a backend-as-a-service with an online service
US11727022B2 (en) Generating a global delta in distributed databases
CN111522840B (en) Label configuration method, device, equipment and computer readable storage medium
US11011254B2 (en) Chemical formulation-aware cognitive search and analytics
CN112199426A (en) Interface call management method, device, server and medium under micro-service architecture
US20200272935A1 (en) Program synthesis using annotations based on enumeration patterns

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22951806

Country of ref document: EP

Kind code of ref document: A1