Method and apparatus for performing collaborative task, and blockchain system
By introducing gateways into blockchain nodes and registering computing service components using proxy domain names, distributed interaction and secure, efficient collaborative computing of computing service components are achieved. This solves the problems of complex computing service network configuration and security risks, and improves the stability and security of the system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ANT BLOCKCHAIN TECHNOLOGY (SHANGHAI) CO LTD
- Filing Date
- 2024-08-30
- Publication Date
- 2026-04-17
AI Technical Summary
The network configuration of computing services in blockchain systems is complex and poses security risks. The service stability is poor, and the need for centralized management nodes can lead to failures that affect the normal operation of computing services.
By introducing a gateway into the blockchain node, computing service components are registered using proxy domain names, and the interaction between computing service components is realized through the gateway, avoiding direct exposure of service ports and enabling distributed deployment and operation.
It simplifies port management, improves system security and stability, and reduces reliance on centralized management nodes.
Smart Images

Figure CN118972394B_ABST
Abstract
Description
Technical Field
[0001] The embodiments in this specification belong to the field of blockchain technology, and particularly relate to a method and apparatus for executing collaborative tasks, and a blockchain system. Background Technology
[0002] Blockchain is a novel application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and cryptographic algorithms. In a blockchain system, data blocks are sequentially linked together in a chain-like data structure, and a distributed ledger is cryptographically guaranteed to be immutable and unforgeable.
[0003] Users can participate in collaborative computing and other related transactions on the blockchain through blockchain nodes. For example, multiple blockchain nodes corresponding to different users in a blockchain system can each deploy computing services to perform secure multi-party computation (SMPC) or federated learning (FL) based on privacy technologies such as homomorphic encryption and zero-knowledge proofs. This often requires complex network configurations for the computing services to expose their access ports, such as configuring separate IP addresses for each service or deploying complex DNS resolution services. This approach results in high complexity for service port management and often exposes the node devices' access ports to the internet, posing significant security risks. Furthermore, these computing services typically need to register with a centralized management node for unified scheduling; therefore, a failure of the management node will affect the normal operation of the computing services, leading to poor service stability. Summary of the Invention
[0004] The purpose of this invention is to provide a method and apparatus for performing collaborative tasks, and a blockchain system.
[0005] According to a first aspect of one or more embodiments of this specification, a method for executing a collaborative task is proposed, applied to a first node in a blockchain system. The first node includes a first gateway and at least one first computing service component, wherein a first proxy domain name of each first computing service component is registered to the first gateway. The method includes:
[0006] The first target computing service component participating in the online collaborative computing task in at least one first computing service component submits the task description information of the online collaborative computing task to the first gateway;
[0007] The first gateway determines a second target proxy domain name generated based on the task description information. The second target proxy domain name is used to represent the second target computing service component in the second node and is registered to the second gateway in the second node. The first gateway sends the task description information to the second gateway according to the second target proxy domain name, so that the second gateway forwards the task description information to the second target computing service component.
[0008] The first target computing service component and the second target computing service component jointly participate in executing the online collaborative computing task according to the workflow described in the task description information.
[0009] According to a second aspect of one or more embodiments of this specification, an execution apparatus for collaborative tasks is provided, applied to a first node in a blockchain system. The first node includes a first gateway and at least one first computing service component, wherein a first proxy domain name of each first computing service component is registered to the first gateway. The apparatus includes:
[0010] An information submission unit is used to enable the first target computing service component participating in the online collaborative computing task among the at least one first computing service component to submit the task description information of the online collaborative computing task to the first gateway;
[0011] The information sending unit is configured to enable the first gateway to determine a second target proxy domain name generated based on the task description information, the second target proxy domain name being used to characterize a second target computing service component in the second node and being registered to the second gateway in the second node; and to send the task description information to the second gateway according to the second target proxy domain name, so that the second gateway can forward the task description information to the second target computing service component.
[0012] The collaborative computing unit is used to enable the first target computing service component and the second target computing service component to jointly participate in the execution of the online collaborative computing task according to the workflow described in the task description information.
[0013] According to a third aspect of one or more embodiments of this specification, a blockchain system is proposed, wherein a first node in the blockchain system includes a first gateway and at least one first computing service component, and a first proxy domain name of each first computing service component is registered to the first gateway; a second node includes a second gateway and at least one second computing service component, and a second proxy domain name of each second computing component is registered to the second gateway, wherein...
[0014] The first target computing service component participating in the online collaborative computing task among the at least one first computing service component is used to submit the task description information of the online collaborative computing task to the first gateway;
[0015] The first gateway is used to determine a second target proxy domain name generated based on the task description information, the second target proxy domain name being used to characterize a second target computing service component in the second node; and to send the task description information to the second gateway according to the second target proxy domain name, so that the second gateway forwards the task description information to the second target computing service component;
[0016] The first target computing service component and the second target computing service component are used to jointly participate in executing the online collaborative computing task according to the workflow described in the task description information.
[0017] According to a fourth aspect of one or more embodiments of this specification, an electronic device is provided, comprising:
[0018] A processor; a memory for storing processor-executable instructions; wherein the processor implements the method as described in any one of the first aspects by executing the executable instructions.
[0019] According to a fifth aspect of one or more embodiments of this specification, a computer-readable storage medium is provided that stores computer instructions thereon, which, when executed by a processor, implement the steps of the method as described in any of the first aspects.
[0020] According to a sixth aspect of one or more embodiments of this specification, a computer program product is provided, comprising a computer program and / or instructions that, when executed by a processor, implement the steps of the method as described in any of the first aspects.
[0021] In the aforementioned embodiment, the first target computing service component participating in the online collaborative task in the first node submits the task description information to the first gateway. The first gateway then sends this information to the second gateway based on the second target proxy domain name, which forwards the information to the second target computing service component. Thus, the first and second target computing service components jointly participate in executing the online collaborative task according to the workflow. It is evident that the first and second target computing service components participating in the online collaborative task utilize the gateways in their respective nodes to transmit task description information and use this information to participate in online collaborative computing.
[0022] As is understandable, this solution leverages the proxy capabilities of gateways within nodes to enable interaction between computing service components. Specifically, it assigns proxy domain names to each computing service component and registers them with the corresponding gateway, thereby enabling service addressing and interaction based on these proxy domain names. This solution eliminates the need to expose the service ports of computing service components or even node devices, avoiding complex port management issues and providing high device / system security. Furthermore, since the different computing service components involved in this solution are deployed on different nodes, they only need each other's proxy domain names to interact through the gateway. This achieves distributed deployment and operation of computing services, eliminating the need for a centralized management node and contributing to improved service stability. Attached Figure Description
[0023] To more clearly illustrate the technical solutions of the embodiments in this specification, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1 This is a schematic diagram of the structure of a blockchain system provided in an exemplary embodiment.
[0025] Figure 2 This is a flowchart of an exemplary embodiment of a method for executing a collaborative task.
[0026] Figure 3 This is a flowchart of another method for performing a collaborative task, provided in an exemplary embodiment.
[0027] Figure 4 This is a schematic diagram of the structure of a device provided in an exemplary embodiment.
[0028] Figure 5 This is a block diagram of an execution device for a collaborative task provided in an exemplary embodiment. Detailed Implementation
[0029] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this specification, and not all embodiments. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this specification.
[0030] To address the aforementioned problems in related technologies, this specification proposes a method for executing collaborative tasks, enabling computing service components in different nodes to interact using the proxy capabilities of a gateway, thereby completing cross-node online collaborative computing. The solution is described in detail below with reference to the accompanying drawings.
[0031] Please see Figure 1 , Figure 1 This is a schematic diagram of the structure of a blockchain system provided in an exemplary embodiment. For example... Figure 1 As shown, a blockchain system may include at least one blockchain network, such as net1 and net2; each blockchain network includes multiple blockchain nodes (hereinafter referred to as nodes), such as node A to node E in net1, and node F to node I in net2. Furthermore, each node in the blockchain system may contain multiple functional components, such as a gateway, computing service components, a business layer, a collaboration engine, etc. For example, node A in net1 contains a gateway and multiple computing service components (i.e., computing service components a1 to a3), and node B contains a gateway and one computing service component (i.e., computing service component b1); of course, nodes A and B also contain other functional components, which will not be elaborated further. The "functional component" in any node described in the embodiments of this specification should be understood as a logical-level functional module, which can be deployed in a container in the form of microservices (such as deployment under a Kubernetes microservice architecture), and constitute a blockchain node at the logical level through service calls.
[0032] In addition, any node in the blockchain network can also connect to the corresponding tenant (or user). Figure 1 (Not shown in the diagram), such as the blockchain client used by the tenant. Any two nodes can correspond to the same or different tenants. For example, node A connects to blockchain client A used by tenant A, node B connects to blockchain client B used by tenant B, and so on. The tenants can interact with the corresponding nodes through their blockchain clients to access the blockchain network.
[0033] Different nodes within the system can interact through their respective gateways (where other nodes' gateways may act as relays along the interaction path). In a fully connected blockchain network, the gateway of any node can directly access the gateway of any other node; in a non-fully connected network, any two gateways can directly access each other or achieve multi-hop access through other gateways acting as relays. Furthermore, gateways belonging to two blockchain nodes in different blockchain networks can interact using cross-chain channels between these two networks; this specification does not limit such interactions.
[0034] In this specification, any gateway described in the embodiments can support one-way connection and two-way communication. After a blockchain node joins the network, its gateway automatically interconnects with the gateways of existing nodes in the network to facilitate subsequent communication between nodes. Various functional components within the same node that require external data interaction can share this gateway, using it as a unified external interface for communication. Therefore, for dynamically deployed computing service components, it is not necessary to open corresponding ports to the Internet / other nodes for each component. Additionally, the gateway can also support identity verification capabilities to reduce the risk of open ports, which will not be elaborated further.
[0035] This specification proposes a blockchain system. In this system, a first node includes a first gateway and at least one first computing service component, with each first computing service component's first proxy domain name registered to the first gateway. A second node includes a second gateway and at least one second computing service component, with each second computing service component's second proxy domain name registered to the second gateway.
[0036] The first target computing service component participating in the online collaborative computing task among the at least one first computing service component is used to submit the task description information of the online collaborative computing task to the first gateway;
[0037] The first gateway is used to determine a second target proxy domain name generated based on the task description information, the second target proxy domain name being used to characterize a second target computing service component in the second node; and to send the task description information to the second gateway according to the second target proxy domain name, so that the second gateway forwards the task description information to the second target computing service component;
[0038] The first target computing service component and the second target computing service component are used to jointly participate in executing the online collaborative computing task according to the workflow described in the task description information.
[0039] In one embodiment, the online collaborative task to be executed is initiated by a first node and jointly executed by a first target computing service component in the first node and a second target computing service component in the second node. Alternatively, it can be viewed as being executed jointly by the first node and the second node.
[0040] In the embodiments described in this specification, the first node is both the task initiator and participant, while the second node is only a task participant. These are distinct blockchain nodes within the blockchain system; they may belong to the same blockchain network or different blockchain networks. There is one first node and one or more second nodes. Correspondingly, each computing service component in the first node is called a first computing service component, with the one initiating and participating in the online collaborative task being called the first target computing service component, and there is one of these components. Similarly, each computing service component in the second node is called a second computing service component, with the one participating in the online collaborative task being called the second target computing service component, and there are one or more of these components.
[0041] Given that multiple computing service components of the same or different types may be deployed within the same blockchain node, multiple computing service components may participate in executing online collaborative tasks within any given node. In the case where multiple computing service components participate in executing online collaborative tasks within a first node, these computing service components include not only the first target computing service component but also other first computing service components. In this situation, only the first target computing service component needs to submit the task description information to the first gateway, without requiring the other first computing service components to submit it, thus avoiding an excessive number of duplicate interaction messages in the network caused by submitting the same task description information separately.
[0042] In addition, the proxy domain names of each computing service component in any node are registered with the gateway in that node. For example, when a component is deployed, a corresponding proxy domain name is assigned to that component and registered with the corresponding gateway. The proxy domain name of the first computing service component is called the first proxy domain name, and the proxy domain name of the first target computing service component is called the first target proxy domain name; similarly, the proxy domain name of the second computing service component is called the second proxy domain name, and the proxy domain name of the second target computing service component is called the second target proxy domain name. In this way, after any computing service component is deployed, the node (such as a collaboration engine) will automatically register (or inject) its proxy domain name with the gateway, without requiring tenants or administrators to manually configure network information. In one embodiment, relevant descriptive information of any target computing service component can be obtained, and this information can be arranged according to preset rules to generate the proxy domain name of that component. For example, for any computing service component in any node, the network identifier of the blockchain network in which the node is located, the node identifier of the node, and the service component identifier of the component (such as a unique service name, service number, etc.) can be obtained, and then the proxy domain name of the component can be generated based on the above identifiers. Figure 1Taking the computing service component a1 deployed in node A as an example, its proxy domain name can be {net1,A,a1}; similarly, the proxy domain name of the computing service component b1 deployed in node B can be {net2,B,b1}, which will not be elaborated further.
[0043] Furthermore, given that nodes may contain not only the aforementioned computing service components (i.e., computing components used to provide collaborative computing services) that can be used to perform online collaborative tasks, but also ordinary computing components used only to perform local tasks, an online collaboration identifier, such as "online," can be added to the proxy domain name of the aforementioned computing service components to distinguish between these two types of components. This facilitates accurate subsequent invocation of the corresponding type of component. For example, the proxy domain name of the aforementioned computing service component a1 can be {net1,A,a1,online}, and the proxy domain name of computing service component b1 can be {net1,B,b1,online}, etc., which will not be elaborated further.
[0044] Multi-party data collaboration scenarios are generally divided into two categories. One category involves multi-party computation processing of batch data, characterized by large data volumes, high computational demands, and low timeliness requirements; these are generally referred to as "offline" computing tasks, such as model training and large-scale data analysis. The other category directly connects to platforms or systems, providing real-time access interfaces. User requests arrive at the online service according to a certain distribution granularity, and are sensitive to interface response delays, with small data volumes per computation; these are generally referred to as "online" computing tasks. The online collaborative computing tasks described in the embodiments of this specification belong to the above-mentioned online computing tasks; while the offline collaborative computing tasks described belong to the above-mentioned offline computing tasks. This is hereby stated.
[0045] Please see Figure 2 , Figure 2 This is a flowchart illustrating a method for executing a collaborative task, as provided in an exemplary embodiment. Figure 2 As shown, the method includes steps 202-206.
[0046] Step 202: The first target computing service component participating in the online collaborative computing task among the at least one first computing service component submits the task description information of the online collaborative computing task to the first gateway.
[0047] The first target computing service component in the first node that initiates the online collaborative task needs to obtain the task description information and submit it to the first gateway in the first node.
[0048] In one embodiment, the first node may further include a first business layer, which is a functional component in the first node used to implement business processing logic. In this case, the first business layer can determine a first target computing service component and provide it with task description information for the online collaboration task. For example, upon receiving an online collaboration request, the first business layer can parse the request to obtain the task description information; then, based on this information, it can determine the first target computing service component participating in the execution of the task from at least one first computing service component included in the first node, and send the task description information to that component. In this way, the first business layer can accurately determine the first target computing service component participating in the execution of the task from among the various computing service components of the first node.
[0049] The first business layer can interface with the blockchain client corresponding to the first node, and can then receive online collaboration requests sent by the blockchain client. If a user corresponding to the first node has collaborative computing needs, they can initiate the online collaboration request to the first business layer through their blockchain client, triggering the first node to initiate an online collaboration task. Alternatively, based on the transaction execution function of the first node, the first business layer can also listen for online collaboration requests generated by the first node executing blockchain transactions. For example, the first business layer can use a listening mechanism to monitor events generated when the first node executes smart contracts called by transactions, and identify the online collaboration requests from these events. After receiving an online collaboration request in the above manner, the first business layer can parse the request and extract the task description information of the online collaboration task.
[0050] The task description information for the online collaborative task described in this specification can include two categories: participant information and execution information. The participant information indicates the various computing service components participating in the execution of the task. For example, it may include node information (such as the node identifier of the node to which the computing service component resides, the network identifier of the blockchain network to which the node belongs, etc.), service component identifiers (i.e., the names / IDs of the target computing service components participating in the execution of the task), and in some embodiments, it may also include service deployment information (the source code, computing model, etc. required to deploy the target computing service components). The execution information indicates the specific method / process by which each participant executes the task. For example, it may include workflow description information (describing the order in which each participant executes the task, the data interaction process, etc.) and data information (such as the raw data required by each participant to execute the task and / or its access address, etc.).
[0051] In one embodiment, the first node may further include a first collaboration engine, which is used to deploy and launch computing service components. For example, the first business layer may instruct the first collaboration engine to deploy at least one first computing service component belonging to the first node before receiving the online collaboration request. Subsequently, the first collaboration engine may register the first proxy domain names of each deployed first computing service component with the first gateway. In this way, the first collaboration engine can pre-deploy at least one computing service component (before the initiator initiates the online collaboration task) for subsequent task execution, which helps to shorten the overall execution time of the task. For another example, after parsing the task description information from the received online collaboration request, the first business layer may also instruct the first collaboration engine to deploy the first target computing service component participating in the execution of the online collaborative computing task based on the service deployment information therein, and register the proxy domain name of the deployed first target computing service component with the first gateway. Of course, if other first computing service components besides the first target computing service component participate in the execution of the task in the first node, the first business layer may also instruct the first collaboration engine to deploy the other first computing service components, that is, instruct the engine to deploy each computing service component participating in the execution of the task. In this way, the first collaboration engine only temporarily generates the corresponding first computing service component when online collaboration tasks are needed (i.e., when there is an online collaboration requirement). This helps avoid situations where deployed components remain unused for extended periods, thereby reducing the ineffective occupation of resources on the first node and improving its resource utilization to some extent. In the above embodiments, each proxy domain name can be generated by the first collaboration engine, or it can be generated by the first business layer and sent to the first collaboration engine (e.g., included in the corresponding instruction message). This specification does not limit this embodiment.
[0052] After obtaining the task description information of the online collaborative task through the aforementioned methods, the first business layer can determine the first target computing service component participating in the execution of the task from at least one computing service component of the first node based on this information. For example, if the task description information includes a service component identifier, the first target computing service component can be directly determined based on that identifier. Alternatively, if the task description information includes information such as a network identifier, node identifier, and service name, a first proxy domain name of the first target computing service component can be generated accordingly, and the first target computing service component can be determined based on that domain name.
[0053] In one embodiment, after obtaining the task description information through any of the aforementioned methods, the first business layer or the first collaboration engine can determine the second gateway corresponding to each participant based on this information. Then, through this gateway, it initiates a collaboration query message to the second collaboration engine in the corresponding second node, instructing the second collaboration engine to confirm whether the corresponding second target computing service component will participate in executing the task. Further, after receiving a collaboration confirmation message from the other party, it can instruct subsequent steps (such as instructing the first collaboration engine to deploy the first target computing service component, or instructing the first target computing service component to submit the task description information to the first gateway, etc.) to continue executing the online collaboration task. Otherwise, if no message is received or a corresponding collaboration rejection message is received, it can instruct the termination of the task execution.
[0054] As previously mentioned, the first business layer can receive online collaboration requests initiated by blockchain clients or listen for online collaboration requests generated by the first node executing transactions, and then determine the first target computing service component based on the task description information parsed from the request. Furthermore, if the first node includes a first transaction execution component, this component can generate task description information for the online collaboration task during the execution of a blockchain transaction, further determine the first target computing service component based on this information, and then send the task description information to that component; in other words, the first target computing service component can directly receive the task description information generated and sent by the first transaction execution component during the execution of a blockchain transaction. For example, the first transaction execution component can determine the first target computing service component based on the aforementioned service component identifier and other information, and then send the remaining task description information to that component.
[0055] As mentioned earlier, the first node may also include a first collaboration engine. Where the first and second nodes belong to the same blockchain network, the first collaboration engine can deploy a smart contract containing the workflow of the online collaboration task within that network. This allows the second node to obtain the workflow by executing the smart contract (e.g., by listening for events generated by the contract execution) and jointly participate in executing the online collaboration task according to the workflow. It is understood that after obtaining the workflow, the second node can determine the second target computing service component to participate in executing the online collaboration task from the second computing service components already deployed locally. Alternatively, if the second target computing service component does not exist locally, it can temporarily deploy the component locally. In this way, the workflow of the online collaboration task can be synchronized to other participants through smart contract deployment. This not only ensures that each participant obtains the workflow but also enables the storage of evidence of the workflow, facilitating traceability of the execution process after the online collaboration task is completed.
[0056] As mentioned earlier, the proxy domain name of the target computing service component participating in the online collaborative task may contain an online collaboration identifier (such as "online"). Besides participating in the online collaborative task, the first target computing service component may also participate in other types of computing tasks. In this case, the proxy domain name in its generated message may not contain the aforementioned online collaboration identifier. Therefore, to effectively distinguish and process messages from different tasks, when the second target proxy domain name is generated by the first target computing service component, the first target computing service component can determine whether the domain name contains the aforementioned online collaboration identifier. If it confirms that the identifier is included, it then submits the task description information to the first gateway, thereby achieving differentiated processing of different types of messages.
[0057] As the interface for external data interaction of the first node, the functional components within the first node can communicate with entities outside the node through the first gateway. Therefore, after obtaining the task description information of the aforementioned online collaborative task, the first target computing service component can submit this information to the first gateway, which will then send it to the corresponding second gateway.
[0058] Step 204: The first gateway determines a second target proxy domain name generated based on the task description information. The second target proxy domain name is used to represent the second target computing service component in the second node and is registered to the second gateway in the second node. The first gateway then sends the task description information to the second gateway according to the second target proxy domain name, so that the second gateway forwards the task description information to the second target computing service component.
[0059] In one embodiment, the first gateway can determine the second target proxy domain name in various ways. For example, after receiving the task description information, it can generate the second target proxy domain name itself based on that information. Alternatively, the first gateway can receive the first target proxy domain name generated by the first target computing service component based on the task description information. The first target computing service component can then submit the domain name along with the task description information to the first gateway. This method simplifies the processing flow of the first gateway and facilitates efficient information forwarding. The first target computing service component can send a message containing the task description information to the first gateway (or import traffic). For example, if the blockchain system is deployed in a Kubernetes cluster, traffic import can be completed based on the CoreDNS plugin.
[0060] As mentioned earlier, the task description information may include the network identifier, node identifier, and service component identifier corresponding to each participant. Therefore, in one embodiment, when the first gateway or the first target computing service component generates the second target proxy domain name based on the task description information, it can first determine from the information the second node identifier (excluding the first node identifier of the first node), the second network identifier of the blockchain network to which the second node represents belongs, and the second service identifier of the second target computing service component in the second node. Then, it can generate the second target proxy domain name of the second target computing service component based on the aforementioned second node identifier, second network identifier, and second service identifier. It is understood that the task description information contains the aforementioned identifier information corresponding to each second target computing service component, so the second target proxy domain name of each second target computing service component can be generated separately in this way. For example, let's assume... Figure 1 In the system shown, node A is the first node. If the generated second target proxy domain name includes {net1,B,b1} (or {net1,B,b1,online}, the same below), it indicates that the second target computing service component is only computing service component b1 in node B. If the generated second target proxy domain name includes both {net1,B,b1} and {net1,C,c2}, it indicates that the second target computing service component includes component b1 in node B and computing service component c2 in node C. If the generated second target proxy domain name includes both {net1,B,b2} and {net2,G,g1}, it indicates that the second target computing service component includes computing service component b1 in node B and computing service component g2 in node G. Further details are omitted.
[0061] Furthermore, since this method identifies the second target proxy domain name as representing the second target computing service component participating in the online collaborative task, a preset online collaboration identifier can be added to a specific location (such as the tail) of the domain name. For example, in the case of generating {net1,B,b1,online}, this domain name also indicates that the second target computing service component includes computing service component b1 in node B.
[0062] In one embodiment, the first gateway may maintain a routing table that records the mapping between the access addresses of other gateways and the proxy domain names of the computing service components in its node. For example, after a new computing service component is deployed and registered in the collaboration engine of any node, the gateway can update its own routing table and synchronize the update to the gateways of other nodes in the system, so that other gateways can access the component according to the updated routing table. Based on this, when sending the task description information to the second gateway, if the first gateway has a second target proxy domain name in its own routing table, it can determine the access address corresponding to the second target proxy domain name in the routing table as the access address of the second gateway and send the task description information to the second gateway according to the access address. Conversely, if the second target proxy domain name does not exist in its own routing table, the first gateway can send the second target proxy domain name and the task description information to the corresponding third gateway according to at least one access address recorded in the routing table, so that the third gateway can forward the task description information to the second gateway based on the second target proxy domain name. Therefore, if the routing table of the first gateway records the correspondence between the access address of the second gateway and the proxy domain names of each second computing service component, the access address of the second gateway can be directly found based on the second target proxy domain name, and the task description information can be sent to it according to that address. In other words, the first gateway can directly access the second gateway. Conversely, if the routing table of the first gateway does not record the above correspondence, the first gateway cannot directly access the second gateway. In this case, it is necessary to use at least one third gateway that the first gateway can directly access, and use a multi-hop mechanism to forward the task description information (actually a message containing the message) until the message reaches the second gateway. Through this method, the proxy domain name can be relied upon to ensure that the first gateway accurately transmits the task description information to the second gateway.
[0063] In one embodiment, when the first node contains multiple first computing service components, besides the first target computing service component participating in the online collaborative task, other first computing service components may also need to participate in the task. In this case, if the task description information indicates that the participants in the online collaborative task also include other first computing service components, the first target computing service component can send the task description information to the other first computing service components, so that the latter, together with the first and second target computing service components, jointly participate in the execution of the online collaborative computing task according to the described workflow. It is understood that because the first target computing service component and the other first computing service components are both located on the first node, the transmission of task description information between them can be independent of the first gateway. That is, the first target computing service component can directly send the information to each of the other first computing service components (e.g., their respective processes can perform inter-process communication), thereby reducing the workload of the first gateway and improving the efficiency of task description information sharing. Of course, if the task description information is determined by the first business layer or the first collaboration engine, the two can also send the information to the first target computing service component and the other first computing service components respectively. In this case, the first target computing service component does not need to send the message to the other first computing service components.
[0064] Step 206: The first target computing service component and the second target computing service component jointly participate in executing the online collaborative computing task according to the workflow described in the task description information.
[0065] After the task description information of the online collaborative task is transmitted to the second target computing service component in the aforementioned manner, the first target computing service component and each of the second target computing service components can jointly participate in the execution of the task according to the task's workflow, thereby realizing "online collaboration" between multiple nodes. During the execution of the task, any target computing service component can process its corresponding task-related data according to the aforementioned workflow. For example, it can process the task-related data according to any form of data processing logic such as preset formulas, algorithms, models, and rules.
[0066] In the aforementioned embodiment, the first target computing service component participating in the online collaborative task in the first node submits the task description information to the first gateway. The first gateway then sends this information to the second gateway based on the second target proxy domain name, which forwards the information to the second target computing service component. Thus, the first and second target computing service components jointly participate in executing the online collaborative task according to the workflow. It is evident that the first and second target computing service components participating in the online collaborative task utilize the gateways in their respective nodes to transmit task description information and use this information to participate in online collaborative computing.
[0067] As is understandable, this solution leverages the proxy capabilities of gateways within nodes to enable interaction between computing service components. Specifically, it assigns proxy domain names to each computing service component and registers them with the corresponding gateway, thereby enabling service addressing and interaction based on these proxy domain names. This solution eliminates the need to expose the service ports of computing service components or even node devices, avoiding complex port management issues and providing high device / system security. Furthermore, since the different computing service components involved in this solution are deployed on different nodes, they only need each other's proxy domain names to interact through the gateway. This achieves distributed deployment and operation of computing services, eliminating the need for a centralized management node and contributing to improved service stability.
[0068] In one embodiment, the first and second target computing service components may need to interact with each other through the aforementioned first and second gateways during the joint execution of an online collaborative task. For example, the first target computing service component may send intermediate computation results generated by its own computation to the first gateway, so that the first gateway may forward the intermediate computation results to the second target computing service component for processing through the second gateway. And / or, the second target computing service component may send intermediate computation results generated by its own computation to the first target computing service component through the first and second gateways, so that the latter may process the intermediate computation results accordingly. The specific form of the intermediate computation results and the specific method by which the first or second target computing service component performs subsequent processing on them may be determined by the specific content of the aforementioned online collaborative task, the aforementioned workflow, and the processing logic of the target computing service component itself, etc., and the embodiments in this specification do not limit this.
[0069] Furthermore, as participants in the online collaborative task, the first target computing service component can calculate and generate a first share of the computing result, and each second target computing service component can calculate and generate a corresponding second share of the computing result. Each second target computing service component can then send its own calculated second share of the computing result to the first target computing service component via a first gateway and a corresponding second gateway. The first target computing service component can then generate the execution result of the online collaborative task based on the first share of the computing result and the received second shares of the computing result. In this way, the first target computing service component, as the initiator (and also a participant), uniformly generates the task execution result based on the computing result shares calculated by each participant. This ensures that other participants can only obtain a limited share of the computing result, and not the complete execution result, thus helping to prevent the result from being leaked.
[0070] Of course, if the final settlement result needs to be confirmed by each participant, the first target computing service component can also synchronize the result to each second target computing service component and receive the confirmation result returned by the latter; even, each target computing service component can broadcast its own share of the calculation result to other target computing service components so that each target computing service component can calculate the execution result separately, and if all or most of the execution results are the same, the result is determined as the execution result of the online collaborative computing task, which will not be elaborated further.
[0071] In one embodiment, the first node may further include a first collaboration engine and at least one first computing engine, and the second node may further include a second collaboration engine and at least one second computing engine. Based on this, the first collaboration engine can obtain task description information for an offline collaborative computing task; and send the task description information to a first target computing engine participating in the offline collaborative computing task, determined from the at least one first computing engine based on the information, and submit the task description information to the blockchain ledger maintained by the blockchain network; correspondingly, after obtaining the submitted task description information, the second collaboration engine can determine a second target computing engine participating in the offline collaborative computing task from among the at least one second computing engines based on the task description information, and send the task description information to the second target computing engine; furthermore, the first target computing engine and the second target computing engine can jointly participate in executing the offline collaborative computing task according to the workflow described in the task description information, and the corresponding execution results are used to deploy the first target computing service component and the second target computing service component.
[0072] In this approach, the first and second target computing engines jointly execute offline collaborative computing tasks. Execution results are generated on-chain through multi-party joint computation, and corresponding computing service components are deployed based on these results. It is evident that this scheme uses the execution results as logical data for deploying computing service components. Understandably, on the one hand, since the execution results are obtained through multi-party joint computation rather than being specified by a single party, and the task description information involved in the computation process is immutably stored in the blockchain ledger, effective control over the logical data and the functionality of the corresponding computing service components can be achieved, thereby reducing corresponding security risks. On the other hand, the generation of logical data and the deployment of computing service components require the joint participation of multiple nodes (i.e., the execution results are obtained by multiple computing engines from multiple nodes jointly executing offline collaborative computing tasks and are used to deploy corresponding computing service components in the blockchain network), realizing distributed deployment and operation of computing services without the need for a centralized management node, which helps improve service stability.
[0073] It is understood that the execution result of the offline collaborative computing task is used to deploy computing service components, which can be used to execute online collaborative computing tasks to provide corresponding online computing services to tenants. The execution result can include various types. For example, if the online computing service is an online prediction service, the execution result can be a machine learning model generated through offline training. Deploying the first and second computing service components formed by this model is used to provide the online prediction service. If the online computing service is an online hidden query service, the execution result can be metadata pre-generated by offline collaborative computing, etc. Deploying the first and second computing service components formed by this model is used to provide the online hidden query service, which will not be elaborated further. It should be noted that the above-mentioned offline training and offline collaborative computing processes are the processes by which the first and second nodes in the embodiments of this specification cooperate to execute the offline collaborative computing task; and the provision of the online prediction service and online hidden query service externally is the process by which the first and second nodes in the embodiments of this specification cooperate to execute the online collaborative computing task.
[0074] In addition, during the process of the first target computing service component and the second target computing service component jointly executing the offline collaborative computing task, the two can store relevant data involved in the execution process (such as the intermediate results of the execution, the hash of the final result, etc.) in the aforementioned blockchain ledger, so as to realize the full-process traceability of the offline collaborative computing task execution process, thereby ensuring that the ownership of the execution products of the task, the final deployed computing service components, etc. is clear and the life cycle is clear.
[0075] Of course, the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this manual are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0076] The following is based on Figure 1 Taking node A and node B in net1 as the first and second nodes respectively as an example, combined with... Figure 3 The process of the two working together to perform online collaborative tasks is described. Figure 3 This is a flowchart of another collaborative task execution method provided in an exemplary embodiment, such as... Figure 3 As shown, the method includes steps 301-306.
[0077] Step 301: Business layer a initiates a component deployment request for computing service component a1 to collaboration engine a; and business layer b initiates a component deployment request for computing service component b1 to collaboration engine b.
[0078] In one embodiment, tenant A and tenant B can pre-negotiate matters related to the online collaborative computing task to be executed through off-chain methods (such as offline channels or online platforms associated with the blockchain network) to determine the relevant information of each computing service component in node A and node B that participates in executing the task. After reaching an agreement, they can each initiate an online collaboration request for the offline collaborative computing task (such as an online prediction request corresponding to an online prediction service, or an online hidden query request corresponding to an online hidden query service, etc.) to the business layer of the corresponding node through their own blockchain clients.
[0079] Taking node a as an example, when business layer a receives an online collaboration request initiated by tenant A through a blockchain client or an online collaboration request generated by node A's transaction execution component (not shown) executing a transaction, it can initiate the component deployment request to collaboration engine a. The component deployment request may include the source code, model, and other relevant data of the computing service component a1 to be deployed.
[0080] Step 302: Collaboration engine a deploys computing service component a1 and registers its proxy domain name with gateway a; and collaboration engine b deploys computing service component b1 and registers its proxy domain name with gateway b.
[0081] Taking node a as an example, after the computing service component a1 is deployed, the collaboration engine a can determine its proxy domain name and register the domain name with gateway a. The proxy domain name can be obtained from the component deployment request (generated by the business layer a), or it can be generated automatically by the collaboration engine a based on relevant data such as network identifier, node identifier, and service component identifier in the request.
[0082] Step 303: The business layer a schedules the computing service component a1 to execute the online collaborative task.
[0083] In practice, business layer A may already be aware of the online collaboration task when initiating the component deployment request, or it may only determine the task after the computing service component A1 has been deployed. Regardless, after the computing service component A1 is deployed and registered, business layer A can invoke the component to execute the online collaboration task. The corresponding invocation request may carry the task description information, or it may be determined by the collaboration engine A and sent to the computing service component A1, or it may be sent to the computing service component A1 by the aforementioned transaction execution component, etc.
[0084] Step 304: The computing service component a1 submits the task description information of the online collaborative task to the gateway a.
[0085] Step 305: Gateway a addresses gateway b based on the proxy domain name of computing service component b1 and sends the task description information to gateway b.
[0086] Step 306: Gateway b forwards the task description information to computing service component b1.
[0087] In response to the call from business layer a, computing service component a1 can pass task description information to computing service component b1 through the first gateway, and interact with the component based on the first gateway and the second gateway until the online collaborative task is completed and the corresponding execution result is obtained.
[0088] At this point, the first XX and / or the second XX can return the execution result to the corresponding tenant, thereby completing the response to the aforementioned online collaboration request. If the online collaboration request is an online prediction request, the execution result can be a prediction result, in which case the first computing service component can return the prediction result to tenant A; conversely, if the online collaboration request is an online hidden query request, the execution result can be a query result, in which case the first computing service component can return the query result to tenant A, and so on.
[0089] Figure 4 This is a schematic structural diagram of a device provided in an exemplary embodiment. Please refer to... Figure 4At the hardware level, the device includes a processor 402, an internal bus 404, a network interface 406, memory 408, and non-volatile memory 410, and may also include other hardware required for its functions. One or more embodiments of this specification can be implemented in software, for example, the processor 402 reads the corresponding computer program from the non-volatile memory 410 into memory 408 and then runs it. Of course, in addition to software implementation, one or more embodiments of this specification do not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. That is to say, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0090] like Figure 5 As shown, Figure 5 This is a block diagram of an execution apparatus for a collaborative task provided in this specification according to an exemplary embodiment. This apparatus can be applied to, for example... Figure 4 The device shown implements the technical solution of this specification. This device is applied to a first node in a blockchain system. The first node includes a first gateway and at least one first computing service component. The first proxy domain name of each first computing service component is registered to the first gateway. The device includes:
[0091] Information submission unit 501 is used to enable the first target computing service component participating in the online collaborative computing task among the at least one first computing service component to submit the task description information of the online collaborative computing task to the first gateway;
[0092] The information sending unit 502 is configured to enable the first gateway to determine a second target proxy domain name generated based on the task description information, the second target proxy domain name being used to characterize a second target computing service component in the second node and being registered to the second gateway in the second node; and to send the task description information to the second gateway according to the second target proxy domain name, so that the second gateway can forward the task description information to the second target computing service component.
[0093] The collaborative computing unit 503 is used to enable the first target computing service component and the second target computing service component to jointly participate in the execution of the online collaborative computing task according to the workflow described in the task description information.
[0094] Optionally, the first node further includes a first service layer, and the device further includes:
[0095] The collaboration request acquisition unit 504 is configured to enable the first business layer to parse the online collaboration request to obtain the task description information; and to determine, based on the task description information, a first target computing service component that will participate in executing the online collaborative computing task from the at least one first computing service component, and send the task description information to the first target computing service component.
[0096] Optionally, the first node further includes a first collaboration engine, and the device further includes a deployment instruction unit 505 for:
[0097] Before receiving the online collaboration request, the first business layer instructs the first collaboration engine to deploy at least one first computing service component, and the first collaboration engine registers the first proxy domain names of each deployed first computing service component with the first gateway; or,
[0098] The first business layer instructs the first collaboration engine to deploy the first target computing service component based on the service deployment information in the task description information, and the first collaboration engine registers the proxy domain name of the deployed first target computing service component to the first gateway.
[0099] Optionally, the deployment instruction unit 505 is specifically used for:
[0100] Enables the first business layer to receive online collaboration requests sent by blockchain clients; or,
[0101] The first business layer listens for online collaboration requests generated when the first node executes blockchain transactions.
[0102] Optionally, the first node further includes a first transaction execution component, wherein the information submission unit 501 is specifically used for:
[0103] The first target computing service component receives the task description information generated and sent by the first transaction execution component during the execution of the blockchain transaction.
[0104] Optionally, the first node further includes a first collaboration engine, and the device further includes a contract deployment unit 506 for:
[0105] When the first and second nodes belong to the same blockchain network, the workflow described by the task description information is submitted to the blockchain ledger maintained by the blockchain network, so that the second node can jointly participate in the execution of the online collaborative computing task based on the submitted workflow.
[0106] Optionally, the information sending unit 502 is specifically used for:
[0107] The first gateway generates a second target proxy domain name based on the task description information; or,
[0108] The first gateway receives the second target proxy domain name generated by the first target computing service component based on the task description information.
[0109] Optionally, the information sending unit 502 is specifically used for:
[0110] The first target computing service component or the first gateway determines, from the task description information, the second node identifier (excluding the first node identifier of the first node), the second network identifier of the blockchain network to which the second node belongs, and the second service identifier of the second target computing service component in the second node, and generates the second target proxy domain name of the second target computing service component based on the determined second node identifier, second network identifier, and second service identifier.
[0111] Optionally, when the second target proxy domain name is generated by the first target computing service component, the information sending unit 502 is specifically used for:
[0112] If the first target computing service component contains an online collaboration identifier in the second target proxy domain name, it submits the task description information of the online collaborative computing task to the first gateway.
[0113] Optionally, the first gateway maintains a routing table, which records the mapping relationship between the access addresses of other gateways and the proxy domain names of the computing service components in its node. The information sending unit 502 is specifically used for:
[0114] If the first gateway has a second target proxy domain name in the routing table, the access address corresponding to the second target proxy domain name in the routing table is determined as the access address of the second gateway, and the task description information is sent to the second gateway according to the access address.
[0115] If the first gateway does not have the second target proxy domain name in the routing table, it sends the second target proxy domain name and the task description information to the corresponding third gateway according to at least one access address recorded in the routing table, so that the third gateway forwards the task description information to the second gateway based on the second target proxy domain name.
[0116] Optional, also includes:
[0117] Other component information sending unit 507 is used to enable the first target computing service component to send the task description information to the other first computing service components when the task description information indicates that the participants in the online collaborative computing task also include other first computing service components in the first node besides the first target computing service component, so that the other first computing service components, together with the first target computing service component and the second target computing service component, jointly participate in the execution of the online collaborative computing task according to the workflow described in the task description information.
[0118] Optionally, the collaborative computing unit 503 is used for:
[0119] The first target computing service component sends its intermediate computation results to the first gateway, so that the first gateway forwards the intermediate computation results to the second target computing service component for processing via the second gateway; or, the first target computing service component receives the intermediate computation results generated by the second target computing service component and sent through the first and second gateways, and processes the intermediate computation results; and / or,
[0120] The first target computing service component receives the second computing result shares generated by each target second target computing service component and sent through the first gateway and the corresponding second gateway, and generates the execution result of the online collaborative computing task based on the first computing result share generated by itself and the received second computing result shares.
[0121] Based on the same concept as the methods described above, this specification also provides a computer-readable storage medium having computer instructions stored thereon that, when executed by a processor, implement the steps of the methods as described in any of the above embodiments.
[0122] Based on the same concept as the methods described above, this specification also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the methods as described in any of the above embodiments.
Claims
1. A method for executing collaborative tasks, applied to a first node in a blockchain system, the first node comprising a first gateway and at least one first computing service component, wherein a first proxy domain name of each first computing service component is registered to the first gateway, the blockchain system further comprising a second node, the first node and the second node achieving decentralized service addressing and interaction through their respective gateways, and neither the first node nor the second node is connected to a centralized management node; the method comprising: The first target computing service component participating in the online collaborative computing task in at least one first computing service component submits the task description information of the online collaborative computing task to the first gateway; The first gateway determines a second target proxy domain name generated based on the task description information. The second target proxy domain name is used to represent the second target computing service component in the second node, and the second target proxy domain name is registered to the second gateway in the second node. In addition, the task description information is sent to the second gateway according to the second target proxy domain name, so that the second gateway forwards the task description information to the second target computing service component; The first target computing service component and the second target computing service component jointly participate in executing the online collaborative computing task according to the workflow described in the task description information; wherein, when the first node and the second node belong to the same blockchain network, the workflow is submitted to the blockchain ledger maintained by the blockchain system for notarization.
2. The method according to claim 1, wherein the first node further comprises a first service layer, and the method further comprises: The first business layer parses the online collaboration request to obtain the task description information; In addition, based on the task description information, a first target computing service component participating in the online collaborative computing task is determined from the at least one first computing service component, and the task description information is sent to the first target computing service component.
3. The method according to claim 2, wherein the first node further includes a first collaboration engine, and the method further includes: Before receiving the online collaboration request, the first business layer instructs the first collaboration engine to deploy at least one first computing service component, and the first collaboration engine registers the first proxy domain names of each deployed first computing service component to the first gateway; or, The first business layer instructs the first collaboration engine to deploy the first target computing service component based on the service deployment information in the task description information, and the first collaboration engine registers the proxy domain name of the deployed first target computing service component to the first gateway.
4. The method according to claim 2, wherein the first business layer obtains the online collaboration request, comprising: The first business layer receives online collaboration requests sent by blockchain clients; or, The first business layer listens for online collaboration requests generated by the first node executing blockchain transactions.
5. The method according to claim 1, wherein the first node further comprises a first transaction execution component, and the first target computing service component obtains the task description information, including: Receive the task description information generated and sent by the first transaction execution component during the execution of the blockchain transaction.
6. The method according to claim 1, wherein the first node further comprises a first collaboration engine, and the method further comprises: When the first node and the second node belong to the same blockchain network, the first collaboration engine submits the workflow described by the task description information to the blockchain ledger maintained by the blockchain network, so that the second node can jointly participate in the execution of the online collaborative computing task based on the submitted workflow.
7. The method according to claim 1, wherein the first gateway determines the second target proxy domain name generated based on the task description information, comprising: The first gateway generates a second target proxy domain name based on the task description information; or, The first gateway receives the second target proxy domain name generated by the first target computing service component based on the task description information.
8. The method according to claim 7, wherein the first target computing service component or the first gateway generates the second target proxy domain name based on the task description information, comprising: The task description information is used to determine the second node identifier (excluding the first node identifier of the first node), the second network identifier of the blockchain network to which the second node belongs, and the second service identifier of the second target computing service component in the second node. The second target proxy domain name of the second target computing service component is generated based on the determined second node identifier, second network identifier, and second service identifier.
9. The method according to claim 1, wherein when the second target proxy domain name is generated by the first target computing service component, the first target computing service component submits the task description information of the online collaborative computing task to the first gateway, comprising: If the second target proxy domain name contains an online collaboration identifier, then the task description information of the online collaborative computing task is submitted to the first gateway.
10. The method according to claim 1, wherein the first gateway maintains a routing table, the routing table being used to record the mapping relationship between the access addresses of other gateways and the proxy domain names of the computing service components in its node, and the first gateway sending the task description information to the second gateway according to the second target proxy domain name, comprising: If the first gateway has a second target proxy domain name in the routing table, it determines the access address corresponding to the second target proxy domain name in the routing table as the access address of the second gateway, and sends the task description information to the second gateway according to the access address. If the second target proxy domain name is not present in the routing table, the first gateway sends the second target proxy domain name and the task description information to the corresponding third gateway according to at least one access address recorded in the routing table, so that the third gateway forwards the task description information to the second gateway based on the second target proxy domain name.
11. The method according to claim 1, further comprising: When the task description information indicates that the participants in the online collaborative computing task also include other first computing service components in the first node besides the first target computing service component, the first target computing service component sends the task description information to the other first computing service components, so that the other first computing service components, the first target computing service component, and the second target computing service component jointly participate in the execution of the online collaborative computing task according to the workflow described in the task description information.
12. The method according to claim 1, wherein the first target computing service component and the second target computing service component jointly participate in executing the online collaborative computing task according to the workflow described in the task description information, including at least one of the following: The first target computing service component sends the intermediate computing results generated by its own calculations to the first gateway, so that the first gateway forwards the intermediate computing results to the second target computing service component for processing through the second gateway; The first target computing service component receives intermediate computing results generated by the second target computing service component and sent through the first and second gateways, and processes the intermediate computing results. The first target computing service component receives the second computing result shares generated by each target second target computing service component and sent through the first gateway and the corresponding second gateway, and generates the execution result of the online collaborative computing task based on the first computing result share it generates and the received second computing result shares.
13. The method according to any one of claims 1-12, wherein the first node further comprises a first collaboration engine and at least one first computing engine, the second node further comprises a second collaboration engine and at least one second computing engine, and the method further comprises: The first collaboration engine obtains task description information for offline collaborative computing tasks; In addition, the task description information is sent to the first target computing engine participating in the offline collaborative computing task, which is determined from the at least one first computing engine based on the information, and the task description information is submitted to the blockchain ledger maintained by the blockchain network, so that after the second collaborative engine obtains the submitted task description information, it determines the second target computing engine participating in the offline collaborative computing task from the at least one second computing engine based on the task description information, and sends the task description information to the second target computing engine; The first target computing engine and the second target computing engine jointly participate in executing the offline collaborative computing task according to the workflow described in the task description information. The execution result of the offline collaborative computing task is used to deploy the first target computing service component and the second target computing service component.
14. An execution device for collaborative tasks, applied to a first node in a blockchain system, the first node comprising a first gateway and at least one first computing service component, wherein a first proxy domain name of each first computing service component is registered to the first gateway, the blockchain system further comprising a second node, the first node and the second node achieving decentralized service addressing and interaction through their respective gateways, and neither the first node nor the second node is connected to a centralized management node; the device comprising: An information submission unit is used to enable the first target computing service component participating in the online collaborative computing task among the at least one first computing service component to submit the task description information of the online collaborative computing task to the first gateway; The information sending unit is used to enable the first gateway to determine the second target proxy domain name generated according to the task description information. The second target proxy domain name is used to characterize the second target computing service component in the second node, and the second target proxy domain name is registered to the second gateway in the second node. In addition, the task description information is sent to the second gateway according to the second target proxy domain name, so that the second gateway forwards the task description information to the second target computing service component; A collaborative computing unit is used to enable a first target computing service component and a second target computing service component to jointly participate in the execution of the online collaborative computing task according to the workflow described in the task description information; wherein, when the first node and the second node belong to the same blockchain network, the workflow is submitted to the blockchain ledger maintained by the blockchain system for notarization.
15. A blockchain system, wherein a first node in the blockchain system includes a first gateway and at least one first computing service component, and a first proxy domain name of each first computing service component is registered to the first gateway; a second node includes a second gateway and at least one second computing service component, and a second proxy domain name of each second computing service component is registered to the second gateway; the blockchain system further includes a second node; the first node and the second node achieve decentralized service addressing and interaction through their respective gateways, and neither the first node nor the second node is connected to a centralized management node; wherein... The first target computing service component participating in the online collaborative computing task among the at least one first computing service component is used to submit the task description information of the online collaborative computing task to the first gateway; The first gateway is used to determine the second target proxy domain name generated according to the task description information. The second target proxy domain name is used to represent the second target computing service component in the second node, and the second target proxy domain name is registered to the second gateway in the second node. In addition, the task description information is sent to the second gateway according to the second target proxy domain name, so that the second gateway forwards the task description information to the second target computing service component; The first target computing service component and the second target computing service component are used to jointly participate in the execution of the online collaborative computing task according to the workflow described in the task description information. In the case that the first node and the second node belong to the same blockchain network, the workflow is submitted to the blockchain ledger maintained by the blockchain system for notarization.
16. An electronic device comprising: processor; A memory for storing processor-executable instructions; wherein the processor implements the method as described in any one of claims 1-13 by executing the executable instructions.
17. A computer-readable storage medium having stored thereon computer instructions that, when executed by a processor, implement the steps of the method as claimed in any one of claims 1-13.
18. A computer program product comprising a computer program and / or instructions that, when executed by a processor, implement the steps of the method as claimed in any one of claims 1-13.
Citation Information
Patent Citations
Routing method and system in multi-party security computing
CN113472668A