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

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

Info

Publication number
CN114896639A
CN114896639A CN202210474321.XA CN202210474321A CN114896639A CN 114896639 A CN114896639 A CN 114896639A CN 202210474321 A CN202210474321 A CN 202210474321A CN 114896639 A CN114896639 A CN 114896639A
Authority
CN
China
Prior art keywords
task
chain
under
calculation
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210474321.XA
Other languages
Chinese (zh)
Inventor
谢桂鲁
邓福喜
石柯
王毅飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Ant Blockchain Technology Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ant Blockchain Technology Shanghai Co Ltd filed Critical Ant Blockchain Technology Shanghai Co Ltd
Priority to CN202210474321.XA priority Critical patent/CN114896639A/en
Publication of CN114896639A publication Critical patent/CN114896639A/en
Priority to PCT/CN2022/135229 priority patent/WO2023207078A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

The present specification provides a data processing method, an apparatus, an electronic device, and a storage medium, which are applied to a first node device deployed with a first block chain node, where a down-link computation contract maintains execution logic of node devices in which each participant node corresponding to a down-link computation task is located in the down-link computation task; the method comprises the following steps: acquiring first execution logic of a first node device in a calculation task under a chain under the condition that an authorized application event generated by a calculation contract under the chain is monitored and a first block chain link point is determined to belong to a first participant node; the first execution logic is approved to generate a first authorization result corresponding to the calculation task under the chain, a first authorization transaction carrying the first authorization result is initiated to the calculation contract under the chain, and the calculation contract under the chain is used for: and responding to the authorization transaction initiated by each participant node, wherein each authorization result corresponding to the calculation task under the chain is used for representing the task event related to the calculation task under the condition that the authorization passes through the chain.

Description

Data processing method and device, electronic equipment and storage medium
Technical Field
The embodiment of the specification belongs to the technical field of block chains, and particularly relates to a data processing method and device, an electronic device and a storage medium.
Background
The Blockchain (Blockchain) is a novel application mode of computer technologies such as distributed data storage, point-to-point transmission, a consensus mechanism, an encryption algorithm and the like. In the block chain system, data blocks are combined into a chain data structure in a sequential connection mode according to a time sequence, and a distributed account book which is not falsifiable and counterfeitable is ensured in a cryptographic mode. Because the blockchain has the characteristics of decentralization, information non-tampering, autonomy and the like, the blockchain is also paid more and more attention and is applied by people.
The block chain network can undertake a down-chain computing task defined based on the intelligent contract, and each node device where each block chain link point in the block chain network is respectively located can call a locally deployed down-chain computing engine under the guidance of an event generated by the intelligent contract to realize the down-chain computing task. For a cooperative computing task, that is, a downlink computing task requiring a plurality of node devices to be completed cooperatively, there is often a need that data in a certain node device needs to be read by a downlink computing engine in another external node device, and the node device providing the data often needs to perform identity confirmation and authentication on the downlink computing engine serving as a data demand party to ensure that only the data is provided to a legal downlink computing engine, however, the authorized downlink computing engine can acquire the data in the node device of the authorized party even when the cooperative computing task is not processed by the authorized authentication mechanism based on the identity, on one hand, the range and the opportunity for the authorized party to acquire the data cannot be controlled, and certain security risk exists; on the other hand, data access rights of the same-chain lower computing engine in different-chain lower computing tasks cannot be distinguished, and functional independence of the same-chain lower computing engine in different-chain lower computing tasks is influenced.
Disclosure of Invention
The invention aims to provide a data processing method, a data processing device, electronic equipment and a storage medium.
According to a first aspect of one or more embodiments of the present specification, a data processing method is provided, where the data processing method is applied to a first node device deployed with a first block chain node, a block chain network to which the first block chain node belongs is deployed with a down-link computation contract, and the down-link computation contract maintains execution logic of node devices where each participant node corresponding to a down-link computation task is located in the down-link computation task; the method comprises the following steps:
under the condition that an authorized application event generated by the calculation contract under the chain is monitored and the first block chain link point is determined to belong to a first participant node, acquiring first execution logic of first node equipment in a calculation task under the chain;
the first execution logic is approved to generate a first authorization result corresponding to the calculation task under the chain, and a first authorization transaction carrying the first authorization result is initiated to the calculation contract under the chain through a first block chain node, wherein the calculation contract under the chain is used for: responding to authorization transactions respectively initiated by each participant node, and allowing the calculation contract under the chain to generate task events related to the calculation task under the condition that each authorization result corresponding to the calculation task under the chain is used for representing authorization passing;
monitoring a first task event generated by the calculation contract under the chain, wherein the first task event corresponds to a cooperative calculation task related to the calculation task under the chain; under the condition that the first block link point is determined to belong to a calculation provider node corresponding to the collaborative calculation task, a down-chain calculation engine deployed by a first node device is called to execute the collaborative calculation task, and the down-chain calculation engine is used for: and in the process of executing the cooperative computing task, acquiring data read from a second node device by an agent access engine deployed on the second node device where the data provider node corresponding to the cooperative computing task is located.
According to a second aspect of one or more embodiments of the present specification, a data processing method is provided, which is applied to a second node device deployed with a second blockchain node, where a blockchain network to which the second blockchain node belongs is deployed with a down-chain computation contract, where the down-chain computation contract maintains execution logic of node devices located at each participant node corresponding to a down-chain computation task in the down-chain computation task; the method comprises the following steps:
acquiring a second execution logic of a second node device in the calculation task under the chain under the condition that an authorized application event generated by the calculation contract under the chain is monitored and a second block chain link point is determined to belong to a second participant node;
examining and approving the second execution logic to generate a second authorization result corresponding to the calculation task under the chain, and initiating a second authorization transaction carrying the second authorization result to the calculation contract under the chain through a second block chain node, wherein the calculation contract under the chain is used for: responding to authorization transactions respectively initiated by each participant node, and allowing the calculation contract under the chain to generate task events related to the calculation task under the condition that each authorization result corresponding to the calculation task under the chain is used for representing authorization passing;
monitoring a first task event generated by the calculation contract under the chain, wherein the first task event corresponds to a cooperative calculation task related to the calculation task under the chain; under the condition that the second block link point is determined to belong to the data provider node corresponding to the collaborative computing task, a proxy access engine deployed by a second node device is called to execute the collaborative computing task, and the proxy access engine is used for: and in the process of executing the cooperative computing task, providing the data read from the second node device to a down-link computing engine deployed by a first node device where a computing provider node corresponding to the cooperative computing task is located.
According to a third aspect of one or more embodiments of the present specification, a data processing apparatus is provided, where the data processing apparatus is applied to a first node device in which a first block chain node is deployed, a block chain network to which the first block chain node belongs is deployed with a down-link computation contract, and the down-link computation contract maintains execution logic of node devices in which each participant node corresponding to a down-link computation task is located in the down-link computation task; the device comprises:
a first execution logic obtaining unit, configured to obtain a first execution logic of a first node device in a calculation task under the chain when an authorized application event generated by the calculation contract under the chain is monitored and it is determined that a first block link point belongs to a first participant node;
a first authorization transaction initiating unit, configured to approve the first execution logic to generate a first authorization result corresponding to the calculation task under the chain, and initiate, to the calculation contract under the chain, a first authorization transaction carrying the first authorization result through a first block chain node, where the calculation contract under the chain is used to: responding to authorization transactions respectively initiated by each participant node, and allowing the calculation contract under the chain to generate task events related to the calculation task under the condition that each authorization result corresponding to the calculation task under the chain is used for representing authorization passing;
the data acquisition unit is used for monitoring a first task event generated by the calculation contract under the chain, and the first task event corresponds to a cooperative calculation task related to the calculation task under the chain; under the condition that the first block link point is determined to belong to a calculation provider node corresponding to the collaborative calculation task, a down-chain calculation engine deployed by a first node device is called to execute the collaborative calculation task, and the down-chain calculation engine is used for: and in the process of executing the cooperative computing task, acquiring data read from a second node device by an agent access engine deployed on the second node device where the data provider node corresponding to the cooperative computing task is located.
According to a fourth aspect of one or more embodiments of the present specification, there is provided a data processing apparatus applied to a second node device in which a second blockchain node is deployed, where a blockchain network to which a second blockchain node belongs is deployed with a down-chain computation contract, and the down-chain computation contract maintains execution logic of node devices in which each participant node corresponding to a down-chain computation task is located in the down-chain computation task; the device comprises:
a second execution logic obtaining unit, configured to obtain a second execution logic of a second node device in the calculation task under the chain, when an authorized application event generated by the calculation contract under the chain is monitored and it is determined that a second block link point belongs to a second participant node;
a second authorization transaction initiating unit, configured to examine and approve a second execution logic to generate a second authorization result corresponding to the calculation task under the chain, and initiate a second authorization transaction carrying the second authorization result to the calculation contract under the chain through a second block chain node, where the calculation contract under the chain is used to: responding to the authorization transactions respectively initiated by each participant node, and allowing the under-chain computing contract to generate task events related to the under-chain computing task under the condition that each authorization result corresponding to the under-chain computing task is used for representing authorization passing;
the data providing unit is used for monitoring a first task event generated by the calculation contract under the chain, and the first task event corresponds to a cooperative calculation task related to the calculation task under the chain; under the condition that the second block link point is determined to belong to the data provider node corresponding to the collaborative computing task, a proxy access engine deployed by a second node device is called to execute the collaborative computing task, and the proxy access engine is used for: and in the process of executing the cooperative computing task, providing the data read from the second node device to a down-link computing engine deployed by a first node device where a computing provider node corresponding to the cooperative computing task is located.
According to a fifth aspect of one or more embodiments herein, there is provided an electronic device, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor implements the method according to the first aspect or the second aspect by executing the executable instructions.
According to a sixth aspect of one or more embodiments of the present description, there is provided a computer readable storage medium having stored thereon computer instructions which, when executed by a processor, implement the steps of the method according to the first or second aspect.
In this embodiment of the present specification, after monitoring an authorization application event generated by a computation contract under a chain, a node device where each participant node corresponding to a computation task under the chain is located respectively audits execution logic in each computation task under the chain to generate an authorization result of the computation task under the chain, and initiates an authorization transaction carrying each authorization result to the computation contract under the chain to complete authorization of the computation task under the chain, and the computation contract under the chain allows generation of a task event related to the computation task under the chain after completing authorization of the computation task under the chain, so that each node device is guided by an event monitoring mechanism to execute a collaborative computation task related to the computation task under the chain, so that a second node device where a data provider node is located provides data read from the second node device to a first node device where a computation provider node is located through a proxy access engine, therefore, data interaction between node devices is limited in the execution process of the authorized under-chain computation task, on one hand, the range and the opportunity for acquiring data by a data demand party are limited in the execution logic of the authorized under-chain computation task, and the potential safety hazard is reduced; on the other hand, execution logic of the same down-chain computing engine participating in different down-chain computing tasks may be different, which means that data access rights of the same down-chain computing engine in different down-chain computing tasks may be designed differently, so that functional independence of the same down-chain computing engine in different collaborative computing tasks can be achieved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments described in the present disclosure, and it is obvious for a person skilled in the art to obtain other drawings based on these drawings without inventive labor.
Fig. 1 is a flowchart of a data processing method according to an exemplary embodiment.
FIG. 2 is a flow chart of another data processing method provided by an exemplary embodiment.
FIG. 3 is a schematic diagram of a scenario of node device interaction provided by an exemplary embodiment.
Fig. 4 is a schematic structural diagram of an apparatus according to an exemplary embodiment.
Fig. 5 is a block diagram of a data processing apparatus according to an example embodiment.
FIG. 6 is a block diagram of another data processing apparatus provided in an exemplary embodiment.
Detailed Description
In order to make those skilled in the art better understand the technical solutions in the present specification, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only a part of the embodiments of the present specification, and not all of the embodiments. All other embodiments obtained by a person skilled in the art based on the embodiments in the present specification without any inventive step should fall within the scope of protection of the present specification.
Fig. 1 is a flowchart of a data processing method according to an exemplary embodiment. The method is applied to first node equipment with a first block chain node, a block chain network to which the first block chain node belongs is provided with a down-chain computation contract, and the down-chain computation contract maintains execution logic of node equipment where each participant node corresponding to a down-chain computation task is located in the down-chain computation task; the method comprises the following steps:
s102: and under the condition that an authorized application event generated by the calculation contract under the chain is monitored and the first block chain link point is determined to belong to the first participant node, acquiring first execution logic of the first node device in the calculation task under the chain.
The data processing method according to the embodiment of the present specification is specifically applied to a first call engine deployed on a first node device, and the first call engine is a linker that connects resources on a chain and resources off the chain, and has functions of monitoring events generated by a computation contract off the chain, managing sequential progress of computation tasks off the chain, calling a resource engine on the first node device, and initiating a transaction to the computation contract off the chain.
In the embodiment of the present specification, description information of each participant node corresponding to the calculation task under the link is recorded in the authorization application event, where each participant node corresponding to the calculation task under the link refers to each block link node that is respectively deployed in a block link network where each node device participating in executing the calculation task under the link is located, and it is easily understood that not all block link nodes in the block link network belong to the participant node corresponding to the calculation task under the link, but each participant node corresponding to the calculation task under the link necessarily belongs to the block link node in the block link network. After monitoring the authorized application event, the first node device may determine whether the first block link node belongs to a participant node corresponding to the calculation task under the chain by checking whether identification information of the first block link node deployed by the first node device is included in description information of each participant node recorded in the authorized application event. For example, in a case where the first node device checks that the identification information of the first block chain corresponds to the description information of the first participant node in each participant node, it is determined that the first block chain link point belongs to the first participant node; and when the identification information of the first block chain is not corresponding to the description information of any participant node in all the participant nodes, determining that the first block chain node does not belong to the participant node corresponding to the calculation task under the chain.
Under the condition that the first node device determines that the first block link point belongs to the first participant node, the first node device judges that the first node device needs to participate in executing the calculation task under the chain next time, and in order to know in advance the task logic which needs to be executed by the first node device in the process of executing the calculation task under the chain next time, the first node device further obtains the first execution logic of the calculation task under the chain of the first node device. The first execution logic according to an embodiment of the present specification includes: the method comprises the steps of obtaining the called condition of each resource engine deployed on a first node device and/or the data interaction condition between each resource engine and other resource engines deployed on other node devices. Because the calculation task under the chain often involves the joint execution of a plurality of node devices, each node device participating in the execution can bear relatively independent task execution logic, so that the calculation task under the chain is finally completed through the joint cooperation and cooperation of each node device, and the execution logic of each participator node device (the node device with the participator node corresponding to the calculation task under the chain) in the calculation task under the chain can be regarded as a part of the whole execution logic of the calculation task under the chain. For example, the first execution logic of the first node device in the calculation task under the chain includes how the first node device should invoke resource engines (including a calculation engine under the chain, a data engine, and the like) deployed locally by the first node device when various task events related to the calculation task under the chain generated by the calculation contract under the chain are monitored, and what data interaction guidance information needs to be carried in corresponding invocation requests when the resource engines are invoked, so as to instruct the local resource engine and which resource engines deployed on which other node devices to perform data interaction for what data. The first node device can know how to participate in executing the calculation task under the chain by knowing the first execution logic of the first node device in the calculation task under the chain, and the data interaction condition between the first node device and other node devices in the process of participating in executing the calculation task under the chain, so that a material basis is provided for the follow-up examination and approval of the calculation task under the chain.
In embodiments of the present specification, the chain-down computation contract is used to trigger generation of the authorization application event in the event of a successful deployment initialization phase or in response to an authorization application transaction. In this embodiment, when a down-link computation contract is successfully deployed in the blockchain network, the down-link computation contract triggers execution of an initialization procedure, which includes generating an authorization request event, so that the device of each node returns an authorization result for the down-link computation task through a transaction return mechanism after monitoring the authorization request event. In addition, an authorized application transaction can be actively initiated to the calculation contract under the chain, so that the calculation contract under the chain responds to the authorized application transaction to trigger and generate an authorized application event to be monitored by each node device, and repeated authorization can be carried out on the calculation task under the chain with the authorization requirement, so as to deal with the occasions that the legitimacy of the calculation task under the chain needs to be determined again, such as the addition of a new participating node, the update of the calculation task under the chain and the like.
In an embodiment, the authorization application event includes execution logic of the node device where each participant node is located in the calculation task under the chain; the obtaining of the first execution logic of the first node device in the down-chain computation task includes: and reading the first execution logic of the first node equipment in the calculation task under the chain from the authorization application event.
In this embodiment of the present specification, each execution logic of each node device involved in each of all participant nodes participating in the calculation task under the chain is recorded in the authorized application event, specifically, identification information of each participant node and a corresponding execution logic are recorded in the authorized application event, and each participant node device reads the corresponding execution logic through identification information of a block chain node deployed by itself, for example, the first node device may obtain, according to the identification information of the first block chain node, a first execution logic corresponding to the identification information of the first block chain node by matching from the authorized application event, so as to read the first execution logic from the authorized application event.
In another embodiment, the obtaining the first execution logic of the first node device in the calculation task under the chain includes: initiating an execution logic query transaction to the under-chain computation contract, monitoring an execution logic query event generated by the under-chain computation contract in response to the execution logic query transaction, and reading a first execution logic of the first node device in the under-chain computation task from the execution logic query event, wherein the execution logic query event records the first execution logic of the first node device in the under-chain computation task or the execution logic of the node device where each participant node is located in the under-chain computation task.
In this embodiment of the present specification, the authorization application event does not record any execution logic related to the calculation task under the chain, and the first node device, after monitoring the authorization application event, will serve as a trigger manner to instruct the first node device to actively acquire the first execution logic of the calculation task under the chain. The first node device may actively initiate an execution logic query transaction to the down-link computation contract, so that the down-link computation contract generates an execution logic query event in response to the execution logic query transaction, and record, in the execution logic query event, the execution logic requested to be obtained by the execution logic query transaction maintained by the down-link computation contract, so that the first node device monitors and reads the first execution logic from the down-link computation task. In this embodiment of the present specification, the execution logic requested to be obtained by the execution logic query transaction may be the first execution logic of the first node device in the calculation task under the chain, or may be each execution logic of all the participant node devices in the calculation task under the chain.
The execution logic query transaction referred to in embodiments of the present description may be a consensus transaction or a local transaction. When the execution logic query transaction is a consensus transaction, the execution logic query transaction needs to be consensus on the blockchain network, all blockchain nodes in the blockchain network execute the transaction and generate corresponding execution logic query events, and therefore each node device can monitor the execution logic query events; and when the execution logic query transaction is a local transaction, the execution logic query transaction is not commonly known on the blockchain network, that is, only the first blockchain node deployed on the first node device calls the down-chain computation contract maintained by the first blockchain node to execute the execution logic query transaction, and the generated execution logic query event is only monitored by the inside of the first node device and is not monitored by other node devices.
In this embodiment of the present specification, the calculating and matching date under the chain checks the identity of the initiator that executes the logic query transaction, so that the initiator node device can only request to obtain the execution logic of itself in the calculating task under the chain, but cannot request to obtain the execution logic of other node devices, for example, the first node device can only initiate the execution logic query transaction that requests to obtain the first execution logic. By setting the execution logic query transaction as a local transaction, and applying the mechanism for checking the identity of the calculation contract under the chain and limiting the acquisition of the execution logic request according to the embodiment of the present description, each node device of the participating party can only query the execution logic of the node device under the chain in the calculation task under the chain, but cannot query the execution logic of other node devices except the node device under the chain in the calculation task under the chain, so that each node device of the participating party cannot completely learn the whole execution logic of the calculation task under the chain, and the effect of reducing the potential safety hazard is achieved by the information isolation method.
S104: the first execution logic is approved to generate a first authorization result corresponding to the calculation task under the chain, and a first authorization transaction carrying the first authorization result is initiated to the calculation contract under the chain through a first block chain node, wherein the calculation contract under the chain is used for: and responding to the authorization transactions respectively initiated by the nodes of the participants, and allowing the calculation contract under the chain to generate task events related to the calculation task under the condition that all authorization results corresponding to the calculation task under the chain are used for representing authorization passing.
In this embodiment of the specification, after obtaining the first execution logic, the first node device may generate a first authorization result for the first execution logic by invoking an approval system deployed on the first node device to approve the first execution logic, where the first authorization result is used as a first authorization result corresponding to the downlink computing task. When the first node device approves the first execution logic, whether the first node device supports the execution of the first execution logic can be judged according to a data security policy and a resource holding condition which are predefined by the first node device, namely, when the resource engine deployed by the first node device is judged to be capable of meeting the called condition of each resource engine involved in the first execution logic, and/or the data privacy policy of the first node device does not conflict with the data interaction situation on the first node device involved in the first execution logic and/or between the resource engines and other resource engines deployed by other node devices, and the first authorization result corresponding to the calculation task under the chain generated by the first node equipment is used for representing that the first node equipment passes the authorization of the calculation task under the chain, otherwise, the first authorization result is used for representing that the first node equipment does not pass the authorization of the calculation task under the chain.
After obtaining the first authorization result, the first node device further initiates a first authorization transaction carrying the first authorization result to the calculation contract under the chain through the first block chain node, and in addition, other participant nodes except the first node device also respectively generate corresponding authorization results, and respectively initiate authorization transactions carrying the authorization results corresponding to the calculation task under the chain to the calculation contract under the chain. Responding to each authorization transaction and maintaining each authorization result carried by the authorization transactions by the calculation contract under the chain, when the calculation task under the chain maintains each authorization result corresponding to the calculation task under the chain and returned by each participant node device where all participant nodes corresponding to the calculation task under the chain are respectively located, and the authorization results are all used for representing that the calculation task under the chain passes the authorization, updating the state of the calculation task under the chain to be authorized, allowing the calculation task under the chain to be executed, which is embodied in a contract layer that the calculation contract under the chain is allowed to generate task events related to the calculation task under the chain, specifically: under the condition that the state of the calculation task under the chain is unauthorized, even if the calculation contract under the chain is called by a trading exchange corresponding to the calculation task under the chain, the calculation contract under the chain does not respond to the trading to generate any task event related to the calculation task under the chain; and under the condition that the state of the calculation task under the chain is authorized, if the calculation contract under the chain is called by a trading exchange corresponding to the calculation task under the chain, the calculation contract under the chain normally responds to the trading to generate a task event related to the calculation task under the chain, so that each participant node device is guided to execute the calculation task under the chain through an event monitoring mechanism.
In the embodiment of the present specification, each of the node devices of the participating parties only approves the corresponding part of the execution logic related to the offline calculation task in which the node device participates, and does not need to pay attention to the execution logic of other node devices, so that distributed approval authorization for the offline calculation task related to the shared participation of a plurality of node devices is realized, on one hand, the approval burden of each of the node devices of the participating parties is reduced, and on the other hand, information isolation can also be realized. Because the calculation tasks under the chain can be executed after being approved and authorized, the node equipment of each participant can directly execute the relevant task logic according to the requirements of the relevant task events under the condition that the node equipment of each participant insists on the task events relevant to the calculation tasks under the chain generated by the calculation contract under the chain, and whether the local data security policy or the resource holding condition supports the execution of the relevant task logic is not required to be repeatedly verified.
S106: monitoring a first task event generated by the calculation contract under the chain, wherein the first task event corresponds to a cooperative calculation task related to the calculation task under the chain; under the condition that the first block link point is determined to belong to a calculation provider node corresponding to the collaborative calculation task, a down-chain calculation engine deployed by a first node device is called to execute the collaborative calculation task, and the down-chain calculation engine is used for: and in the process of executing the cooperative computing task, acquiring data read from a second node device by an agent access engine deployed on the second node device where the data provider node corresponding to the cooperative computing task is located.
In this embodiment of the present specification, a down-link computation contract is an on-link bearer for carrying down-link computation tasks, and a number of subtasks included in the down-link computation contract are defined in the down-link computation contract, and are used to describe a data flow direction in a down-link computation task and a computation cooperation process of each node device. Since the calculation contract under the chain is deployed on the blockchain network, the participant nodes of the calculation task under the chain defined by the calculation contract under the chain are limited not to exceed the range of each blockchain node in the blockchain network. Obviously, a plurality of calculation contracts under the chain can be deployed in the same block chain network, and the number and the performance of the participating party nodes involved in different calculation contracts under the chain can be flexibly configured, so that the deployment of the calculation tasks under the chain with different task types, task requirements and task scales can be realized depending on the same block chain network.
To illustrate how a computation contract under a chain directs to perform its defined computation tasks under the chain, the logic for performing the computation tasks under the chain will be briefly described below by the operation of a typical computation contract under the chain. A user may generate code for a calculation contract under a chain through a visualization contract orchestration system and deploy the calculation contract under the chain in a blockchain network, such that the calculation contract under the chain defines a workflow for a type of calculation task under the chain, which is embodied as a number of subtasks with an execution dependency order. After the calculation contract under the chain is successfully deployed, a user authorized to call the calculation contract under the chain can create and start a calculation task under the chain by initiating a task creation transaction to the calculation contract under the chain, the calculation contract under the chain can correspondingly create a task instance belonging to the calculation task under the chain of an initiator user after receiving the task creation transaction, and the task instance maintains the task completion state of the calculation task under the chain, which is specifically embodied as the task completion state of each subtask under the calculation task under the chain. After the calculation contract under the chain responds to the task creation transaction and generates a corresponding task instance, a first subtask corresponding to the instance is further triggered to be executed, the calculation contract under the chain is embodied to generate an event containing a participant node of the first subtask, each block chain node in the block chain network can monitor the event, and the node equipment where the block chain link point of the participant node which is judged to belong to the first subtask further calls the chain lower calculation resource and/or the chain lower storage resource which are matched with the first subtask to execute the first subtask under the chain, and finally, the node equipment where the participant node is located can further initiate a result carrying the execution result of the first subtask to the calculation contract under the chain to return the transaction after the execution is completed, so that the calculation contract under the chain updates the task completion state of the corresponding task instance, for example, when the execution result of the first subtask is that the execution is successful, the under-chain computation contract marks the task completion status of the first subtask in the corresponding task instance as completed, so that the execution of the next subtask is triggered according to the predefined dependency order of each subtask included in the under-chain computation task, and then an event including the description information of the participant node of the next subtask is generated for each block link node in the block chain network to monitor, and the subsequent process is similar to the process for processing the first subtask. Therefore, a cycle of 'updating the task completion state of the calculation contract under the chain → generating the subtask event under the calculation contract under the chain → monitoring the subtask event by the block link point and executing the subtask by the appointed node equipment → sending the result of starting the task to the calculation contract under the chain by the node equipment to return the transaction → updating the task completion state of the calculation contract under the chain' is formed, and the calculation task under the chain corresponding to the task example is determined to be executed and completed under the condition that the task completion states of all the subtasks in the task example in the calculation contract under the chain are completed.
It is not difficult to find that the tasks executed in the execution process of the under-chain computing task only include creating task instances, receiving subtask results, subtask scheduling and subtask issuing such scheduling tasks, and actually, actual tasks defined and required to be executed by the under-chain computing task, such as data computing, data transferring and data storing, are not really executed, and the tasks consuming a large amount of resources are scheduled to be executed under the chain corresponding to each node device, so that a distributed computing based on a block chain is realized through an event monitoring mechanism and a transaction return mechanism, the under-chain computing task is anchored by an under-chain computing contract on the block chain, the under-chain resources are fully utilized on the premise of ensuring that the task execution full flow can be tracked, and meanwhile, reliable information interaction and cooperative computing are realized among different node devices by means of the block chain, in addition, since the calculation tasks under the chain are defined in a contract form and the design of the calculation tasks under the chain is not subject to the toggle of the resources on the chain, the method means that the on-chain cooperation mode can be expanded through the resources under the chain by designing different calculation contracts under the chain to meet different actual requirements.
In an embodiment of this specification, the under-link computation contract maintains a task completion state corresponding to the under-link computation task, where the task completion state is used to describe a completion state of each subtask included in the under-link computation task, and a block chain event related to the under-link computation task includes a task event corresponding to each subtask; in a case that the collaborative computing task belongs to a subtask of the down-link computing task, the listening for a first task event includes: monitoring a first task event aiming at the cooperative computing task generated by the under-chain computing contract under the condition that the task completion state meets the execution condition corresponding to the cooperative computing task.
In this embodiment of the present specification, a calculation task under a chain is represented as a corresponding task instance on a calculation contract under a chain, and the task completion status of the calculation task under a chain is maintained in the corresponding task instance of the calculation contract under a chain, which is specifically represented as the completion status of each subtask maintained in the task instance. In this embodiment of the present specification, the block chain event related to the calculation task under the chain includes a task event corresponding to each subtask, and the collaborative calculation task belongs to one subtask of the calculation task under the chain, and since the execution dependency order of each subtask included in the calculation task under the chain is predefined, which means that the execution condition of each subtask including the collaborative calculation task is also determined, the calculation contract under the chain may further determine the collaborative calculation task to be executed next according to the completion state of each subtask included in the calculation task under the chain, so as to initiate a task event for the collaborative calculation task. Further, the method also comprises the following steps: and under the condition that the execution of the collaborative computing task is finished, initiating a result return transaction containing an execution result corresponding to the collaborative computing task to the under-chain computing contract through the first block link node so as to update a task completion state corresponding to the under-chain computing task maintained by the under-chain computing contract. As described above, when the first node device executes a subtask by calling a resource and finishes executing the subtask, the task completion status of the calculation task under the chain maintained by the calculation contract under the chain is updated by initiating a result return transaction, so that the calculation contract under the chain can further determine a next subtask to be executed next according to the execution dependency order of each subtask in the calculation task under the chain, and generate a task event for the next subtask.
In an embodiment of the present specification, the entity that monitors the task event generated by the calculation contract under the chain and returns the transaction to the result of the calculation contract under the chain is specifically a scheduling engine deployed on the first node device.
As described above, the task completion status is updated by the under-chain computation contract in response to a transaction trigger corresponding to the under-chain computation task, where the transaction corresponding to the under-chain computation task includes a task creation transaction corresponding to the under-chain computation task, or a result return transaction initiated by any node device when any one of the subtasks is completely executed.
In an embodiment of the present specification, the calculation contract maintains a task completion status corresponding to each of one or more calculation tasks. In general, a calculation contract under a chain only defines one type of calculation task under the chain, but a plurality of task instances corresponding to the calculation task under the chain can be created, and each task instance records a task completion state corresponding to the task instance. Therefore, the plurality of task instances maintained on the calculation contract under the chain can be created by different users through respectively initiating the task creation contracts to the calculation contract under the chain, or can be created by the same user through initiating the task creation contracts for multiple times, but the task instances all have the same execution logic, namely the task types of the tasks maintained by the calculation contract under the chain are the same.
The type of proxy access engine to which embodiments of the present description relate may be a compute engine or a data engine. The computing engine is also called a down-link computing engine, and refers to a service or subsystem providing down-link computing energy for the node device, and one computing engine can often bear one or more types of computing tasks, which is reflected in the support of computing requirements corresponding to related subtasks; the data engine is also called a database engine and refers to a core service program for storing, retrieving, processing and protecting data, can control access authority and rapidly process transactions by using the database engine so as to meet the requirements of most application programs needing to process a large amount of data in an enterprise, and uses the database engine to create a relational database for online transaction processing or online analysis processing of data, wherein the relational database comprises a table for storing data and database objects (such as indexes, views and storage processes) for viewing, managing and protecting data security, and different data engines support different data access modes or different accessed data types, so that the data engines are supported by corresponding subtasks.
In an embodiment of the present specification, description information of the data provider node and the computation provider node corresponding to a collaborative computation task is recorded in a first task event for the collaborative computation task, generated by the down-link computation contract monitored by the first node device. The first task event comprises description information of the participant node of the collaborative computing task, and the description information specifically refers to identity information of a blockchain node where the node equipment required to be involved in execution is specified by the collaborative computing task. The participant node corresponding to the collaborative computing task can be determined as a data provider node and/or a computing provider node corresponding to the collaborative computing task according to the attribute characteristics corresponding to the participant node, wherein the data provider node corresponding to the collaborative computing task is: in the execution process of a cooperative computing task which is completed by a plurality of node devices jointly, a blockchain node in the blockchain network deployed on a node device which needs to provide data to other node devices, wherein the data is used for providing data for a down-chain computing engine deployed on other node devices as data required for executing the cooperative computing task and/or other subsequent subtasks; and the calculation provider corresponding to the collaborative calculation task is as follows: and providing the blockchain nodes in the blockchain network deployed on the node equipment of which the under-chain computing engine resources execute the actual computing task in the process of executing the cooperative computing task which is completed by the joint participation of a plurality of node equipment. It is easy to understand that any participant node in a collaborative computing task may be a data provider node corresponding to the collaborative computing task, may also be a computing provider node corresponding to the collaborative computing task, and may also be a data provider node and a computing provider node corresponding to the collaborative computing task at the same time. For example, for a data provider node and a participant node of a computation provider node that correspond to a collaborative computation task at the same time, a down-link computation engine on a node device where the data provider node is located will simultaneously acquire data local to the node device and data on the node device where the data provider node is located during the process of executing the collaborative computation task, so as to be used for executing the collaborative computation task and/or other subsequent subtasks.
In this embodiment of the present specification, in the first task event, identification information of a down-link computing engine that participates in executing the collaborative computing task on a first node device where the computing provider node is located is further recorded to prompt the first node device to invoke the down-link computing engine, and a second node device where the data provider node is located should instruct, when invoking the proxy access engine, it to send the read data to the down-link computing engine. In addition, task identifiers of the calculation tasks and the collaborative calculation tasks under the chain can be recorded in the first task event, so that different tasks and subtasks can be distinguished, and the method is mainly convenient for any subsequent node equipment to correctly identify the result of the collaborative calculation task in the calculation tasks under the chain when the collaborative calculation task is completely executed and the returned result returns to the transaction, so that the calculation contract under the chain can correctly update the completion state of the collaborative calculation task in the task instance corresponding to the calculation task under the chain through the returned result transaction, and the method is suitable for the situation that the same task comprises a plurality of subtasks and the same calculation annual contract under the chain simultaneously creates the task instances of the calculation tasks under the chain. Certainly, the cooperative computing task also records operations such as computation and data transfer required to be executed by the cooperative computing task, and specifies a source of required data, and the information is used for informing each node device of the task type and the implementation manner of the cooperative computing task, so as to guide the node devices to execute the cooperative computing task according to the expectation of the cooperative computing task after determining that the task type and the implementation manner of the cooperative computing task correspond to the callable resources.
In this specification embodiment, since description information of the computation provider node is recorded in the first task event, the first node device may determine that the first blockchain node belongs to the computation provider node by determining that identification information of the first blockchain node deployed by itself is included in the description information of the computation provider node recorded in the first task event; and determining that the first blockchain node does not belong to the computation provider node in the case that it is determined that the identification information of the first blockchain node is not included in the description information of the computation provider node recorded in the first task event.
In this embodiment of the present specification, the first node device needs to invoke the calculation engine under the chain to execute the collaborative calculation task only when it is determined that the first block link point belongs to the calculation provider node corresponding to the collaborative calculation task, otherwise, if the first node device does not belong to the calculation provider node corresponding to the collaborative calculation task, the first node device does not invoke the calculation engine under the chain to execute the collaborative calculation task. Meanwhile, the identification information and/or the communication address of the proxy access engine are recorded in the first task event, the first node device writes the identification information and/or the communication address of the proxy access engine into a calling request for calling the down-link computing engine, and sends the calling request to the down-link computing engine to call the down-link computing engine, so that the down-link computing engine obtains the identification information of the data provider node corresponding to the collaborative computing task and the identification information and/or the communication address of the proxy access engine deployed in the second node device for providing data, and can obtain that the data on the second node device needs to be obtained from the proxy access engine.
In this embodiment of the present specification, both the agent access engine and the down-chain computing engine can execute only one subtask/collaborative computing task at the same time, so that the agent access engine can only have the authority to provide data in a specific range specified by the collaborative computing task within a time period for executing the collaborative computing task, and the other down-chain computing engines can only obtain specific data from requesting the agent access engine during the same collaborative computing task executed by the agent access engine, but cannot obtain data from the agent access engine at any time or obtain any data from the agent access engine, thereby implementing access time limitation and access range limitation of data based on the collaborative computing task.
In the embodiment of the present specification, after monitoring an authorized application event generated by a calculation contract under a link, a node device where each participant node corresponding to a calculation task under the link is located respectively audits execution logic in each calculation task under the link to generate an authorization result of the calculation task under the link, and initiates an authorization transaction carrying the respective authorization result to the calculation contract under the link to complete authorization of the calculation task under the link, and the calculation contract under the link allows a task event related to the calculation task under the link to be generated after completing authorization of the calculation task under the link, so that each node device is guided to execute a cooperative calculation task related to the calculation task under the link through an event monitoring mechanism, so that a second node device where a data provider node is located provides data read from the second node device to a first node device where a calculation provider node is located through a proxy access engine, therefore, data interaction between node devices is limited in the execution process of the authorized under-chain computation task, on one hand, the range and the opportunity for acquiring data by a data demand party are limited in the execution logic of the authorized under-chain computation task, and the potential safety hazard is reduced; on the other hand, execution logic of the same down-chain computing engine participating in different down-chain computing tasks may be different, which means that data access rights of the same down-chain computing engine in different down-chain computing tasks may be designed differently, so that functional independence of the same down-chain computing engine in different collaborative computing tasks can be achieved.
In this embodiment of the present specification, the down-link computing engine may specify task logic of the cooperative computing task that needs to be executed when being called by the first node, where the task logic includes a process that the down-link computing task needs to acquire data from an agent access engine deployed by a corresponding second node device, and thus, the down-link computing engine may acquire, during the process of executing the cooperative computing task, data read by the agent access engine from the second node device through at least two following policies.
In one embodiment, the down-link computing engine does not actively request the proxy access engine to obtain data during the execution of the collaborative computing task, but waits for the proxy access engine to actively push data to the down-link computing engine. In this case, in the process that the agent access engine executes the cooperative computing task in response to the call of the second node device, the agent access engine may read data specified by the cooperative computing task from the second node device according to the requirement of the cooperative computing task, and actively push the data to the down-link computing engine under the first node device specified by the cooperative computing task, so that the down-link computing engine obtains the data. Because the embodiment adopts a mechanism that the agent access engine actively pushes data in the process of executing the cooperative computing task, the agent access engines serving as a data holder and an authorizer learn about the related data acquisition requirements of the down-link computing engine deployed by the first node device based on the first task event generated by the trusted down-link computing contract, and have the capability of actively providing data, so that the agent computing engine does not need to repeatedly authenticate when transmitting data to the outside, and can directly execute the cooperative computing task according to the requirements of the cooperative computing task to realize safe data interaction, on one hand, the time for transmitting data to the outside is limited in the process of executing the cooperative computing task, and on the other hand, the range of the data transmitted to the outside by the agent computing engine is limited by the cooperative computing task.
In another embodiment, the down-link computing engine may actively send a data access request to the proxy access engine to obtain data on the second node device during the process of executing the collaborative computing task, but the proxy access engine is required to verify whether the data access request meets the specification and is directed to necessary data interaction in the collaborative computing task, and only when the proxy access engine determines that the received data access request meets the execution logic of the collaborative computing task and the behavior of responding to the data access request and transmitting data outwards belongs to a normal link in the process of executing the collaborative computing task, the data access request may be responded and the data may be provided to the down-link computing engine.
Optionally, the downlink computation engine is further configured to: in the process of executing the cooperative computing task, sending a data access request and an authorization certificate corresponding to the data access request to the proxy access engine; the proxy access engine is to: and in the process of executing the cooperative computing task, receiving the data access request and the authorization voucher, and sending the data read from the second node device to the down-chain computing engine under the condition that the authorization voucher is determined to indicate that the data access request aims at the cooperative computing task.
In this embodiment of the present specification, in the process of executing a collaborative computing task, if data in a second node device needs to be acquired, a data access request is sent to a proxy access engine deployed on the second node device, where the data access request requires that the acquired data is within a range of required data defined by the collaborative computing task, and in order to make the proxy access engine sure that the data access request is issued for executing the collaborative computing task, the down-link computing engine also sends an authorization credential corresponding to the data access request to the proxy access engine synchronously, so as to prove that the data access request is issued based on the process of executing the collaborative computing task. After the first task event is monitored by the second node device, the second node device is also triggered to call a locally deployed proxy access engine to execute a cooperative computing task, and the proxy access engine provides specific data on the second node device to a down-link computing engine in the first node device according to a requirement of the cooperative computing task in a process of executing the cooperative computing task. After receiving the data access request and the authorization credential sent by the under-link computing engine, the proxy access engine verifies the authorization credential, if it is determined that the data access request is directed to the collaborative computing task, that is, the data access request is sent in the process of executing the collaborative computing task, the proxy access engine responds to the data access request, reads the data specified by the data access request from the second node device and returns the data specified by the data access request to the under-link computing engine within the range of data that can be provided and defined by the collaborative computing task, and if the authorization credential corresponding to the data access request is not received or the received authorization credential fails to characterize that the data access request is directed to the collaborative computing task, the proxy access engine does not respond to the data access request, local data is not provided to the down-link compute engine. In the embodiment of the present specification, by verifying the authorization credential, the proxy access engine can effectively distinguish whether the received data access request is legal under a passive push mechanism, and further refuse to respond to the data access request of the down-link computing engine for the purpose other than executing the collaborative computing task, thereby implementing secure data interaction.
Optionally, the first task event records identification information of the collaborative computing task, the authorization credential includes the identification information, and the agent access engine is configured to determine that the authorization credential indicates that the data access request is directed to the collaborative computing task if the authorization credential includes the identification information. In this embodiment of the present description, since the first task event can be monitored by the first node device and the second node device at the same time, the identification information of the collaborative computing task may be carried in the first task event, so that the first node device and the second node device both obtain the identification information of the collaborative computing task, and meanwhile, the identification information of different collaborative computing tasks are different from each other, and therefore, the identification information may be used as common identification information between the down-link computing engine and the proxy access engine, which is determined for the collaborative computing task. The agent access engine determines that the authorization credential is used for indicating that the data access request aims at the cooperative computing task by determining that the identification information is contained in the authorization credential.
Optionally, a task public key and a task private key ciphertext corresponding to the collaborative computing task are recorded in the first task event, wherein the task private key ciphertext is obtained by encrypting a task private key corresponding to the collaborative computing task by using a public key corresponding to the linked computing engine; the authorization certificate comprises a first digital signature obtained by signing the data access request by using the task private key, and the task private key is obtained by decrypting a task private key ciphertext by using a private key corresponding to the down-link computing engine by the down-link computing engine; the agent access engine is to determine, if the first digital signature is successfully signed using the task public key recorded in a first task event, that the authorization credential is to indicate that the data access request is directed to the collaborative computing task. In this embodiment of the present specification, when a first task event corresponding to a collaborative computing task is generated, a chain-down computing contract synchronously generates a pair of public and private key pairs, referred to as a task public key and a task private key of the collaborative computing task, for the collaborative computing task, where the task public key is directly recorded in the first task event so as to be known by each node device through an event monitoring mechanism, and the task private key is encrypted by a public key corresponding to the chain-down computing engine that needs to acquire data across domains and is involved in the collaborative computing task and then recorded in the first task event, that is, known by each node device in the form of a task private key ciphertext, however, since the chain-down computing engine in the first node device possesses a private key corresponding to the chain-down computing engine for decrypting the task private key ciphertext, after the first task event reads the task private key ciphertext, the task private key ciphertext is placed into a call request for calling the down-chain computing engine, so that the down-chain computing engine can decrypt the task private key ciphertext through a private key of the down-chain computing engine to obtain the task private key in the process of executing the collaborative computing task. The task private key is used for signing a data access request to obtain a first digital signature serving as the authorization certificate, the proxy access engine receives the first digital signature in the authorization certificate, then the first node device reads the obtained task public key in a first task event to check the first digital signature, and if the check is successful, the authorization certificate is determined to be used for indicating that the data access request aims at the collaborative computing task. In this embodiment of the present specification, since only the down-link computing engine can obtain the task private key corresponding to the collaborative computing task, once the agent access engine verifies that the first digital signature is successful, it means that the agent access engine can be sure that the data access request is initiated by the down-link computing engine having the task private key, and then the agent access engine can confirm that the data access request is initiated for the collaborative computing task, and meanwhile, the initiator of the data access request is necessarily a compliance executor of the collaborative computing task, so that the agent access engine does not need to repeatedly verify the identity information of the down-link computing engine, thereby speeding up the efficiency of the down-link computing engine obtaining cross-domain data in the mechanism of passive push.
Optionally, the calculation engine is further configured to: in the process of executing the cooperative computing task, sending a second digital signature obtained by signing the data access request by using a private key corresponding to the down-link computing engine to the agent access engine; the proxy access engine is further to: and in the process of executing the cooperative computing task, verifying the signature of the received second digital signature by using a public key corresponding to the calculation engine under the chain, and determining that the authorization certificate is valid under the condition that the signature verification is successful and the calculation engine under the chain has the access authority of the first node equipment. In this embodiment of the present specification, the under-chain computing engine further needs to prove the validity of its own identity to the proxy access engine through the second digital signature, and after the second digital signature is verified, the proxy access engine can confirm that the data access request originates from the under-chain computing engine, so that in a case where the cooperative computing task includes a logic "providing the data requested to be obtained by the data access request to the under-chain computing engine", and/or in a case where the proxy access engine judges, based on a pre-maintained data access monitoring system based on identity rights, that "providing the data requested to be obtained by the data access request to the under-chain computing engine" is allowable, the proxy access engine confirms that the authorization credential is valid, and further verifies the authorization credential. The embodiment of the specification combines a traditional supply strategy of data access permission based on identity, and brings better security to cross-domain data interaction between different node devices.
FIG. 2 is a flow chart of another data processing method provided by an exemplary embodiment. The method is applied to second node equipment with second block chain nodes, a block chain network to which the second block chain nodes belong is provided with a down-chain computation contract, and the down-chain computation contract maintains execution logic of node equipment where each participant node corresponding to a down-chain computation task is located in the down-chain computation task; the method comprises the following steps:
s202: and under the condition that an authorized application event generated by the calculation contract under the chain is monitored and the second block chain link point is determined to belong to a second participant node, acquiring second execution logic of the second node device in the calculation task under the chain.
S204: examining and approving the second execution logic to generate a second authorization result corresponding to the calculation task under the chain, and initiating a second authorization transaction carrying the second authorization result to the calculation contract under the chain through a second block chain node, wherein the calculation contract under the chain is used for: and responding to the authorization transactions respectively initiated by the nodes of the participants, and allowing the calculation contract under the chain to generate task events related to the calculation task under the condition that all authorization results corresponding to the calculation task under the chain are used for representing authorization passing.
S206: monitoring a first task event generated by the calculation contract under the chain, wherein the first task event corresponds to a cooperative calculation task related to the calculation task under the chain; under the condition that the second block link point is determined to belong to the data provider node corresponding to the collaborative computing task, a proxy access engine deployed by a second node device is called to execute the collaborative computing task, and the proxy access engine is used for: and in the process of executing the cooperative computing task, providing the data read from the second node device to a down-link computing engine deployed by a first node device where a computing provider node corresponding to the cooperative computing task is located.
Determining that a second blockchain link point belongs to the data provider node when identification information of the second blockchain node is included in the description information of the data provider node recorded in the first task event. In this embodiment of the present specification, description information of a data provider node corresponding to a collaborative computing task is recorded in a first task event for the collaborative computing task, which means that a second node device may determine that a second block link point to which the second node device belongs to the data provider node corresponding to the collaborative computing task when it is determined that the description information of the data provider node includes identification information of a second block link node deployed by the second node device; if the description information of the data provider node does not include the identification information of the second block chain node, the second node device may determine that the second block chain node deployed by itself does not belong to the data provider node corresponding to the collaborative computing task.
In this embodiment of the present specification, the second node device needs to invoke the proxy access engine to execute the collaborative computing task only when it is determined that the second block link node belongs to the data provider node corresponding to the collaborative computing task, otherwise, if the second node device does not belong to the data provider node corresponding to the collaborative computing task, the second node device does not invoke the proxy access engine to execute the collaborative computing task. After being called by the second node device, the agent access engine acquires the identification information of the computation provider node corresponding to the collaborative computation task and the identification information of the down-link computation engine deployed in the first node device which needs to provide data to the computation provider node, so that the agent access engine is instructed to be capable of transmitting the data read from the second node device to the corresponding down-link computation engine.
Fig. 3 is a schematic diagram of a scenario of node device interaction according to an exemplary embodiment. As shown in fig. 3, a first node device is deployed with a first blockchain node, a first scheduling engine, a calculation engine under a chain, and a first data source in a blockchain network, and a second node device is deployed with a second blockchain node, a second scheduling engine, a proxy access engine, and a second data source in the blockchain network.
When an under-chain computation contract generates an authorization application event, and the event records description information of a first block chain link point and a second block chain link point which participate in executing an under-chain computation task, a first scheduling engine monitors the authorization application event through the first block chain link point, and if the authorization application event contains execution logics of each participant node device in the under-chain computation task, the first scheduling engine reads the first execution logic of the first node device participating in executing the under-chain computation task from the authorization application event, audits the first execution logic to generate a first authorization result corresponding to the under-chain computation task, and then initiates a first authorization transaction carrying the first authorization result to the under-chain computation contract through the first block chain link; similarly, the second scheduling engine can also read a second execution logic from which the second node device participates in executing the calculation task under the chain after monitoring the authorization application event, audit the second execution logic to generate a second authorization result corresponding to the calculation task under the chain, and initiate a second authorization transaction carrying the second authorization result to the calculation contract under the chain through the second block chain node.
And the chain calculation contract responds to the first authorized transaction and the second authorized transaction, acquires a first authorized result and a second authorized result carried in the first authorized transaction and the second authorized result, and allows the chain calculation contract to generate task events related to the chain calculation task if the first authorized result and the second authorized result are both used for representing authorization passing.
After a calculation contract under a chain generates a first task event of a cooperative calculation task which is one of subtasks of the calculation task under the chain, the first task event is respectively monitored by a first scheduling engine and a second scheduling engine, and it is assumed that description information of a data provider node and a calculation provider node corresponding to the cooperative calculation task, identification information of a proxy access engine which needs to provide data, identification information of a calculation engine under the chain which needs to acquire data, and identification information of data which needs to be provided are simultaneously recorded in the first task event, wherein the description information of the data provider node is the identification information of the second block chain node, and the description information of the calculation provider node is the identification information of the first block chain node. Therefore, the second scheduling engine may determine that the second node device needs to provide data to the offline computing engine in the first node device, and then the second scheduling engine may invoke the proxy access engine to perform the collaborative computing task, and actively transmit the data acquired from the second data source to the offline computing engine in the first node device. On the other hand, the first scheduling engine may determine that the specified offline computing engine in the first task event deployed in the first node device needs to acquire data of the second node device, and then the first scheduling engine may invoke the specified offline computing engine to perform the collaborative computing task, for example, the specified offline computing engine is a trusted computing engine running in a feasible execution environment and needs to acquire data from the second node device to complete the related trusted computing operation defined in the collaborative computing task, and at this time, the trusted computing engine may acquire the related data sent by the agent access engine through a network connection with the agent access engine deployed on the second node device, so as to further perform the trusted computing operation to support the continued completion of the collaborative computing task.
FIG. 4 is a schematic block diagram of an apparatus provided in an exemplary embodiment. Referring to fig. 4, at the hardware level, the apparatus includes a processor 402, an internal bus 404, a network interface 406, a memory 408, and a non-volatile memory 410, but may also include hardware required for other functions. One or more embodiments of the present description may be implemented in software, such as by processor 402 reading corresponding computer programs from non-volatile storage 410 into memory 408 and then executing. Of course, besides software implementation, the one or more embodiments in this specification do not exclude other implementations, such as logic devices or combinations of software and hardware, and so on, that is, the execution subject of the following processing flow is not limited to each logic unit, and may also be hardware or logic devices.
Fig. 5 is a block diagram of a data processing apparatus provided in the present specification according to an exemplary embodiment, and the apparatus may be applied to the device shown in fig. 4 to implement the technical solution of the present specification; the device is applied to first node equipment with a first block chain node, a block chain network to which the first block chain node belongs is provided with a down-chain computation contract, and the down-chain computation contract maintains execution logic of node equipment where each participant node corresponding to a down-chain computation task is located in the down-chain computation task; the device comprises:
a first execution logic obtaining unit 501, configured to obtain a first execution logic of a first node device in the calculation task under the chain when an authorized application event generated by the calculation contract under the chain is monitored and it is determined that the first block link point belongs to the first participant node.
A first authorization transaction initiating unit 502, configured to examine and approve the first execution logic to generate a first authorization result corresponding to the calculation task under the chain, and initiate a first authorization transaction carrying the first authorization result to the calculation contract under the chain through the first block chain node, where the calculation contract under the chain is used to: and responding to the authorization transactions respectively initiated by the nodes of the participants, and allowing the calculation contract under the chain to generate task events related to the calculation task under the condition that all authorization results corresponding to the calculation task under the chain are used for representing authorization passing.
A data obtaining unit 503, configured to monitor a first task event generated by the calculation contract under the link, where the first task event corresponds to a collaborative calculation task related to the calculation task under the link; under the condition that the first block link point is determined to belong to a calculation provider node corresponding to the collaborative calculation task, a down-chain calculation engine deployed by a first node device is called to execute the collaborative calculation task, and the down-chain calculation engine is used for: and in the process of executing the cooperative computing task, acquiring data read from a second node device by an agent access engine deployed on the second node device where the data provider node corresponding to the cooperative computing task is located.
Optionally, the authorization application event includes execution logic of the node device where each participant node is located in the calculation task under the chain; the first execution logic obtaining unit 501 is specifically configured to:
and reading the first execution logic of the first node equipment in the calculation task under the chain from the authorization application event.
Optionally, the first execution logic includes: the method comprises the steps of obtaining the called condition of each resource engine deployed on a first node device and/or the data interaction condition between each resource engine and other resource engines deployed on other node devices.
Optionally, the first execution logic obtaining unit 501 is specifically configured to:
initiating an execution logic query transaction to the under-chain computation contract, monitoring an execution logic query event generated by the under-chain computation contract in response to the execution logic query transaction, and reading a first execution logic of the first node device in the under-chain computation task from the execution logic query event, wherein the execution logic query event records the first execution logic of the first node device in the under-chain computation task or the execution logic of the node device where each participant node is located in the under-chain computation task.
Optionally, the under-link computing contract is used to trigger generation of the authorization application event in an initialization phase of successful deployment or in response to an authorization application transaction.
Optionally, the calculation contract under the chain maintains a task completion state corresponding to the calculation task under the chain, where the task completion state is used to describe a completion state of each subtask included in the calculation task under the chain, and a block chain event related to the calculation task under the chain includes a task event corresponding to each subtask; in a case that the collaborative computing task belongs to a subtask of the calculation task under the chain, the first execution logic obtaining unit 501 is specifically configured to:
monitoring a first task event aiming at the cooperative computing task generated by the under-chain computing contract under the condition that the task completion state meets the execution condition corresponding to the cooperative computing task.
Optionally, the task completion state is updated by the under-chain computation contract in response to a transaction corresponding to the under-chain computation task, where the transaction corresponding to the under-chain computation task includes a task creation transaction corresponding to the under-chain computation task, or a result initiated by any node device when the execution of any subtask in each subtask is completed returns to the transaction.
Optionally, description information of the data provider node and the computation provider node is recorded in the first task event.
Optionally, the downlink computation engine is further configured to: in the process of executing the cooperative computing task, sending a data access request and an authorization certificate corresponding to the data access request to the agent access engine;
the proxy access engine is to: and in the process of executing the cooperative computing task, receiving the data access request and the authorization voucher, and sending the data read from the second node device to the down-chain computing engine under the condition that the authorization voucher is determined to indicate that the data access request aims at the cooperative computing task.
Optionally, the first task event records identification information of the collaborative computing task, the authorization credential includes the identification information, and the agent access engine is configured to determine, if the authorization credential includes the identification information, that the authorization credential is used to indicate that the data access request is directed to the collaborative computing task.
Optionally, a task public key and a task private key ciphertext corresponding to the collaborative computing task are recorded in the first task event, wherein the task private key ciphertext is obtained by encrypting a task private key corresponding to the collaborative computing task by using a public key corresponding to the linked computing engine;
the authorization certificate comprises a first digital signature obtained by signing the data access request by using the task private key, and the task private key is obtained by decrypting a task private key ciphertext by using a private key corresponding to the down-link computing engine by the down-link computing engine;
the agent access engine is to determine, if the first digital signature is successfully signed using the task public key recorded in a first task event, that the authorization credential is to indicate that the data access request is directed to the collaborative computing task.
Optionally, the downlink computation engine is further configured to: in the process of executing the cooperative computing task, sending a second digital signature obtained by signing the data access request by using a private key corresponding to the down-link computing engine to the agent access engine;
the proxy access engine is further to: and in the process of executing the cooperative computing task, verifying the signature of the received second digital signature by using a public key corresponding to the calculation engine under the chain, and determining that the authorization certificate is valid under the condition that the signature verification is successful and the calculation engine under the chain has the access authority of the first node equipment.
Fig. 6 is a block diagram of a data processing apparatus provided in the present specification according to an exemplary embodiment, which may be applied to the device shown in fig. 4 to implement the technical solution of the present specification; the device is applied to second node equipment with second block chain nodes, a block chain network to which the second block chain nodes belong is provided with a down-chain computation contract, and the down-chain computation contract maintains execution logic of node equipment where each participant node corresponding to a down-chain computation task is located in the down-chain computation task; the device comprises:
a second execution logic obtaining unit 601, configured to obtain a second execution logic in the calculation task of the second node device under the chain when the authorized application event generated by the calculation contract under the chain is monitored and it is determined that the second block link point belongs to the second participant node.
A second authorization transaction initiating unit 602, configured to examine and approve the second execution logic to generate a second authorization result corresponding to the calculation task under the link, and initiate, to the computation contract under the link through a second block link node, a second authorization transaction carrying the second authorization result, where the computation contract under the link is used to: and responding to the authorization transactions respectively initiated by the nodes of the participants, and allowing the calculation contract under the chain to generate task events related to the calculation task under the condition that all authorization results corresponding to the calculation task under the chain are used for representing authorization passing.
A data providing unit 603, configured to monitor a first task event generated by the calculation contract, where the first task event corresponds to a collaborative calculation task related to the calculation task under the chain; under the condition that the second block link point is determined to belong to the data provider node corresponding to the collaborative computing task, a proxy access engine deployed by a second node device is called to execute the collaborative computing task, and the proxy access engine is used for: and in the process of executing the cooperative computing task, providing the data read from the second node device to a down-link computing engine deployed by a first node device where a computing provider node corresponding to the cooperative computing task is located.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical blocks. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually making an Integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as abel (advanced Boolean Expression Language), ahdl (alternate Hardware Description Language), traffic, pl (core universal Programming Language), HDCal (jhdware Description Language), lang, Lola, HDL, laspam, hardward Description Language (vhr Description Language), vhal (Hardware Description Language), and vhigh-Language, which are currently used in most common. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be regarded as a hardware component and the means for performing the various functions included therein may also be regarded as structures within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a server system. Of course, the present invention does not exclude that as future computer technology develops, the computer implementing the functionality of the above described embodiments may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device or a combination of any of these devices.
Although one or more embodiments of the present description provide method operational steps as described in the embodiments or flowcharts, more or fewer operational steps may be included based on conventional or non-inventive approaches. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. When an actual apparatus or end product executes, it may execute sequentially or in parallel (e.g., parallel processors or multi-threaded environments, or even distributed data processing environments) according to the method shown in the embodiment or the figures. The terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, the presence of additional identical or equivalent elements in processes, methods, articles, or apparatus that include the recited elements is not excluded. For example, if the terms first, second, etc. are used to denote names, they do not denote any particular order.
For convenience of description, the above devices are described as being divided into various modules by functions, and are described separately. Of course, when implementing one or more of the present description, the functions of each module may be implemented in one or more software and/or hardware, or a module implementing the same function may be implemented by a combination of multiple sub-modules or sub-units, etc. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage, graphene storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
As will be appreciated by one skilled in the art, one or more embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, one or more embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
One or more embodiments of the present description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. One or more embodiments of the present specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment. In the description of the specification, reference to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the specification. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
The above description is merely exemplary of one or more embodiments of the present disclosure and is not intended to limit the scope of one or more embodiments of the present disclosure. Various modifications and alterations to one or more embodiments described herein will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement or the like made within the spirit and principle of the present specification should be included in the scope of the claims.

Claims (17)

1. A data processing method is applied to first node equipment with a first block chain node, a block chain network to which the first block chain node belongs is provided with a down-chain computation contract, and the down-chain computation contract maintains execution logic of node equipment where each participant node corresponding to a down-chain computation task is located in the down-chain computation task; the method comprises the following steps:
under the condition that an authorized application event generated by the calculation contract under the chain is monitored and the first block chain link point is determined to belong to a first participant node, acquiring first execution logic of first node equipment in a calculation task under the chain;
the first execution logic is approved to generate a first authorization result corresponding to the calculation task under the chain, and a first authorization transaction carrying the first authorization result is initiated to the calculation contract under the chain through a first block chain node, wherein the calculation contract under the chain is used for: responding to authorization transactions respectively initiated by each participant node, and allowing the calculation contract under the chain to generate task events related to the calculation task under the condition that each authorization result corresponding to the calculation task under the chain is used for representing authorization passing;
monitoring a first task event generated by the calculation contract under the chain, wherein the first task event corresponds to a cooperative calculation task related to the calculation task under the chain; under the condition that the first block link point is determined to belong to a calculation provider node corresponding to the collaborative calculation task, a down-chain calculation engine deployed by a first node device is called to execute the collaborative calculation task, and the down-chain calculation engine is used for: and in the process of executing the cooperative computing task, acquiring data read from a second node device by an agent access engine deployed on the second node device where the data provider node corresponding to the cooperative computing task is located.
2. The method according to claim 1, wherein the authorization application event includes execution logic of the node device where each participant node is located in the calculation task under the chain; the obtaining of the first execution logic of the first node device in the down-chain computation task includes:
and reading the first execution logic of the first node equipment in the calculation task under the chain from the authorization application event.
3. The method of claim 1, the first execution logic comprising: the method comprises the steps of obtaining the called condition of each resource engine deployed on a first node device and/or the data interaction condition between each resource engine and other resource engines deployed on other node devices.
4. The method of claim 1, the obtaining first execution logic in the down-chain computing task for the first node device, comprising:
initiating an execution logic query transaction to the under-chain computation contract, monitoring an execution logic query event generated by the under-chain computation contract in response to the execution logic query transaction, and reading a first execution logic of the first node device in the under-chain computation task from the execution logic query event, wherein the execution logic query event records the first execution logic of the first node device in the under-chain computation task or the execution logic of the node device where each participant node is located in the under-chain computation task.
5. The method of claim 1, the down-chain computation contract used to trigger generation of the authorization application event in an initialization phase of successful deployment or in response to an authorization application transaction.
6. The method according to claim 1, wherein the downlink computation contract maintains a task completion status corresponding to the downlink computation task, the task completion status is used to describe a completion status of each subtask included in the downlink computation task, and the block chain event related to the downlink computation task includes a task event corresponding to each subtask; in a case that the collaborative computing task belongs to a subtask of the down-link computing task, the listening for a first task event includes:
monitoring a first task event aiming at the cooperative computing task generated by the under-chain computing contract under the condition that the task completion state meets the execution condition corresponding to the cooperative computing task.
7. The method according to claim 6, wherein the task completion status is updated by the under-chain computation contract in response to a transaction trigger corresponding to the under-chain computation task, wherein the transaction corresponding to the under-chain computation task includes a task creation transaction corresponding to the under-chain computation task, or a result return transaction initiated by any node device when any of the subtasks is completely executed.
8. The method of claim 1, wherein the first task event has recorded therein descriptive information of the data provider node and the computing provider node.
9. The method of claim 1, the down-link compute engine further to: in the process of executing the cooperative computing task, sending a data access request and an authorization certificate corresponding to the data access request to the agent access engine;
the proxy access engine is to: and in the process of executing the cooperative computing task, receiving the data access request and the authorization voucher, and sending the data read from the second node device to the down-chain computing engine under the condition that the authorization voucher is determined to indicate that the data access request aims at the cooperative computing task.
10. The method of claim 9, the first task event recorded with identification information of the collaborative computing task, the authorization ticket including the identification information, the agent access engine to determine, if the authorization ticket includes the identification information, that the authorization ticket is to indicate that the data access request is directed to the collaborative computing task.
11. The method according to claim 9, wherein a task public key and a task private key ciphertext corresponding to the collaborative computing task are recorded in the first task event, wherein the task private key ciphertext is obtained by encrypting a task private key corresponding to the collaborative computing task by using a public key corresponding to the chained computing engine;
the authorization certificate comprises a first digital signature obtained by signing the data access request by using the task private key, and the task private key is obtained by decrypting a task private key ciphertext by using a private key corresponding to the down-link computing engine by the down-link computing engine;
the agent access engine is to determine, if the first digital signature is successfully signed using the task public key recorded in a first task event, that the authorization credential is to indicate that the data access request is directed to the collaborative computing task.
12. The method of claim 9, the down-link compute engine further to: in the process of executing the cooperative computing task, sending a second digital signature obtained by signing the data access request by using a private key corresponding to the down-link computing engine to the agent access engine;
the proxy access engine is further to: and in the process of executing the cooperative computing task, verifying the signature of the received second digital signature by using a public key corresponding to the calculation engine under the chain, and determining that the authorization certificate is valid under the condition that the signature verification is successful and the calculation engine under the chain has the access authority of the first node equipment.
13. A data processing method is applied to second node equipment with second block chain nodes, a block chain network to which the second block chain nodes belong is provided with a down-chain computation contract, and the down-chain computation contract maintains execution logic of node equipment where each participant node corresponding to a down-chain computation task is located in the down-chain computation task; the method comprises the following steps:
acquiring a second execution logic of a second node device in the calculation task under the chain under the condition that an authorized application event generated by the calculation contract under the chain is monitored and a second block chain link point is determined to belong to a second participant node;
examining and approving the second execution logic to generate a second authorization result corresponding to the calculation task under the chain, and initiating a second authorization transaction carrying the second authorization result to the calculation contract under the chain through a second block chain node, wherein the calculation contract under the chain is used for: responding to authorization transactions respectively initiated by each participant node, and allowing the calculation contract under the chain to generate task events related to the calculation task under the condition that each authorization result corresponding to the calculation task under the chain is used for representing authorization passing;
monitoring a first task event generated by the calculation contract under the chain, wherein the first task event corresponds to a cooperative calculation task related to the calculation task under the chain; under the condition that the second block link point is determined to belong to the data provider node corresponding to the collaborative computing task, a proxy access engine deployed by a second node device is called to execute the collaborative computing task, and the proxy access engine is used for: and in the process of executing the cooperative computing task, providing the data read from the second node device to a down-link computing engine deployed by a first node device where a computing provider node corresponding to the cooperative computing task is located.
14. A data processing device is applied to first node equipment with a first block chain node, a block chain network to which the first block chain node belongs is provided with a down-chain computation contract, and the down-chain computation contract maintains execution logic of node equipment where each participant node corresponding to a down-chain computation task is located in the down-chain computation task; the device comprises:
a first execution logic obtaining unit, configured to obtain a first execution logic of a first node device in a calculation task under the chain when an authorized application event generated by the calculation contract under the chain is monitored and it is determined that a first block link point belongs to a first participant node;
a first authorization transaction initiating unit, configured to approve the first execution logic to generate a first authorization result corresponding to the calculation task under the chain, and initiate, to the calculation contract under the chain, a first authorization transaction carrying the first authorization result through a first block chain node, where the calculation contract under the chain is used to: responding to authorization transactions respectively initiated by each participant node, and allowing the calculation contract under the chain to generate task events related to the calculation task under the condition that each authorization result corresponding to the calculation task under the chain is used for representing authorization passing;
the data acquisition unit is used for monitoring a first task event generated by the calculation contract under the chain, and the first task event corresponds to a cooperative calculation task related to the calculation task under the chain; under the condition that the first block link point is determined to belong to a calculation provider node corresponding to the collaborative calculation task, a down-chain calculation engine deployed by a first node device is called to execute the collaborative calculation task, and the down-chain calculation engine is used for: and in the process of executing the cooperative computing task, acquiring data read from a second node device by an agent access engine deployed on the second node device where the data provider node corresponding to the cooperative computing task is located.
15. A data processing device is applied to second node equipment with second block chain nodes, a block chain network to which the second block chain nodes belong is provided with a down-chain computation contract, and the down-chain computation contract maintains execution logic of node equipment where each participant node corresponding to a down-chain computation task is located in the down-chain computation task; the device comprises:
a second execution logic obtaining unit, configured to obtain a second execution logic of a second node device in the calculation task under the chain, when an authorized application event generated by the calculation contract under the chain is monitored and it is determined that a second block link point belongs to a second participant node;
a second authorization transaction initiating unit, configured to examine and approve a second execution logic to generate a second authorization result corresponding to the calculation task under the chain, and initiate a second authorization transaction carrying the second authorization result to the calculation contract under the chain through a second block chain node, where the calculation contract under the chain is used to: responding to authorization transactions respectively initiated by each participant node, and allowing the calculation contract under the chain to generate task events related to the calculation task under the condition that each authorization result corresponding to the calculation task under the chain is used for representing authorization passing;
the data providing unit is used for monitoring a first task event generated by the calculation contract under the chain, and the first task event corresponds to a cooperative calculation task related to the calculation task under the chain; under the condition that the second block link point is determined to belong to the data provider node corresponding to the collaborative computing task, a proxy access engine deployed by a second node device is called to execute the collaborative computing task, and the proxy access engine is used for: and in the process of executing the cooperative computing task, providing the data read from the second node device to a down-link computing engine deployed by a first node device where a computing provider node corresponding to the cooperative computing task is located.
16. An electronic device, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor implements the method of any one of claims 1-13 by executing the executable instructions.
17. A computer readable storage medium having stored thereon computer instructions which, when executed by a processor, carry out the steps of the method according to any one of claims 1 to 13.
CN202210474321.XA 2022-04-29 2022-04-29 Data processing method and device, electronic equipment and storage medium Pending CN114896639A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210474321.XA CN114896639A (en) 2022-04-29 2022-04-29 Data processing method and device, electronic equipment and storage medium
PCT/CN2022/135229 WO2023207078A1 (en) 2022-04-29 2022-11-30 Data processing method and apparatus, electronic device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210474321.XA CN114896639A (en) 2022-04-29 2022-04-29 Data processing method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN114896639A true CN114896639A (en) 2022-08-12

Family

ID=82720177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210474321.XA Pending CN114896639A (en) 2022-04-29 2022-04-29 Data processing method and device, electronic equipment and storage medium

Country Status (2)

Country Link
CN (1) CN114896639A (en)
WO (1) WO2023207078A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115514726A (en) * 2022-09-21 2022-12-23 浪潮云信息技术股份公司 NATS-based file synchronization system for cloud-side scene
CN116506227A (en) * 2023-06-27 2023-07-28 腾讯科技(深圳)有限公司 Data processing method, device, computer equipment and storage medium
WO2023207078A1 (en) * 2022-04-29 2023-11-02 蚂蚁区块链科技(上海)有限公司 Data processing method and apparatus, electronic device, and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11569996B2 (en) * 2019-05-31 2023-01-31 International Business Machines Corporation Anonymous rating structure for database
CN112329041B (en) * 2020-03-18 2024-01-23 支付宝(杭州)信息技术有限公司 Method and device for deploying contracts
CN112241884A (en) * 2020-09-21 2021-01-19 西安电子科技大学 Alliance chain-based link security payment method, system, medium and equipment
CN114896639A (en) * 2022-04-29 2022-08-12 蚂蚁区块链科技(上海)有限公司 Data processing method and device, electronic equipment and storage medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023207078A1 (en) * 2022-04-29 2023-11-02 蚂蚁区块链科技(上海)有限公司 Data processing method and apparatus, electronic device, and storage medium
CN115514726A (en) * 2022-09-21 2022-12-23 浪潮云信息技术股份公司 NATS-based file synchronization system for cloud-side scene
CN115514726B (en) * 2022-09-21 2024-02-20 浪潮云信息技术股份公司 NATS-based cloud edge scene file synchronization system
CN116506227A (en) * 2023-06-27 2023-07-28 腾讯科技(深圳)有限公司 Data processing method, device, computer equipment and storage medium
CN116506227B (en) * 2023-06-27 2023-09-19 腾讯科技(深圳)有限公司 Data processing method, device, computer equipment and storage medium

Also Published As

Publication number Publication date
WO2023207078A1 (en) 2023-11-02

Similar Documents

Publication Publication Date Title
CN110457875B (en) Data authorization method and device based on block chain
CN110473094B (en) Data authorization method and device based on block chain
CN111401902B (en) Service processing method, device and equipment based on block chain
CN109697204B (en) Data auditing method and device
CN111026789B (en) Block chain-based electronic bill query method and device and electronic equipment
CN114896639A (en) Data processing method and device, electronic equipment and storage medium
TW201833827A (en) Business processing method and apparatus
CN109241726B (en) User authority control method and device
CN111461723A (en) Data processing system, method and device based on block chain
EP3962135B1 (en) Information sharing methods, apparatuses, and devices
CN111340631A (en) Asset transfer method, device, equipment and system
US20190386968A1 (en) Method to securely broker trusted distributed task contracts
CN111814172A (en) Method, device and equipment for acquiring data authorization information
CN111770112B (en) Information sharing method, device and equipment
CN114884674B (en) User data circulation method, device and equipment based on block chain
CN114626088A (en) Task processing method and device of privacy computing platform based on algorithm interconnection
CN112016136A (en) Data processing method and device based on alliance chain
CN115296794A (en) Key management method and device based on block chain
CN114741736A (en) Data processing method and device, electronic equipment and storage medium
CN114726858A (en) Data processing method and device, electronic equipment and storage medium
CN114896635A (en) Data processing method and device, electronic equipment and storage medium
CN115018499A (en) Block chain-based digital certificate issuing method, device and system
CN115114642A (en) Financing lease verification method, device and equipment based on under-chain trusted computing
US20210150058A1 (en) Control method, server, recording medium, and data structure
CN114331437A (en) Block chain-based digital seal using method and device

Legal Events

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