A data collaboration method, apparatus and communication device

By sending message digests to blockchain nodes for block broadcasting and accounting during collaborative computing sessions between federated learning nodes, the problem of low training time efficiency in federated learning is solved, achieving a more efficient federated learning process and trusted evidence storage.

CN115794427BActive Publication Date: 2026-07-17CHINA MOBILE COMM LTD RES INST +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA MOBILE COMM LTD RES INST
Filing Date
2021-09-10
Publication Date
2026-07-17

AI Technical Summary

Technical Problem

In the federated learning process, the need to broadcast and record all interactive data through blockchain nodes leads to low training efficiency, especially for vertical federated models where training time increases by thousands to tens of thousands of times.

Method used

By sending message digests to blockchain nodes for block broadcasting and accounting during collaborative computing sessions between federated learning nodes, instead of all interactive data, specific steps include sending digests of collaborative computing session request and response messages, as well as sending relevant message digests during collaborative interactions.

Benefits of technology

This reduces the amount of data sent from federated learning nodes to blockchain nodes, improves the efficiency of the federated learning process, and enables trusted storage and auditing of interactive data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115794427B_ABST
    Figure CN115794427B_ABST
Patent Text Reader

Abstract

This application provides a data collaboration method, apparatus, and communication device. The method includes: a first federated learning node sending a collaborative computing session request message to a second federated learning node, and sending a first message digest to a first blockchain node, the first message digest being determined based on the collaborative computing session request message; the first federated learning node receiving a collaborative computing session response message sent by the second federated learning node; if the collaborative computing session response message indicates agreement to conduct a collaborative computing session, the first federated learning node and the second federated learning node engage in collaborative interaction; the first federated learning node sending a second message digest to the first blockchain node, the second message digest being determined based on the first collaborative computing message sent by the first federated learning node during the collaborative interaction. This application can improve the efficiency of the federated learning process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of blockchain technology, and in particular to a data collaboration method, apparatus and communication device. Background Technology

[0002] Federated learning is a machine learning method that involves collaborative computation among multiple parties. Participants train a machine learning model together by exchanging encrypted model parameters or gradient parameters without sharing data, enabling data to participate in collaborative modeling without leaving their local machines.

[0003] Federated learning trains machine learning models through collaborative computation without data leakage. Currently, blockchain technology can be used to broadcast and record encrypted model parameters or gradient parameters from each interaction between federated learning nodes, as well as the trained machine learning model, achieving decentralization or secure traceability. However, compared to centralized AI model learning, although the model accuracy is not significantly different, the training time is drastically different. For example, the training time for horizontal federated models increases by ten to tens of times, while the training time for vertical federated models increases by thousands to tens of thousands of times. The federated learning process trains machine learning models through collaborative computation sessions between federated learning nodes. During the federated learning process, the nodes need to interact tens of thousands of times to obtain the final machine learning model. In existing solutions, all interaction data in the collaborative computation session is broadcast and recorded through blockchain nodes. Each federated learning node needs to send all interaction data to the blockchain node during a collaborative computation session, resulting in a large amount of data and reducing the efficiency of the federated learning process. Summary of the Invention

[0004] This application provides a data collaboration method, apparatus, and communication device to address the problem of reduced efficiency in the federated learning process.

[0005] In a first aspect, embodiments of this application provide a data collaboration method, including:

[0006] The first federated learning node sends a collaborative computing session request message to the second federated learning node and a first message digest to the first blockchain node, the first message digest being determined based on the collaborative computing session request message;

[0007] The first federated learning node receives the collaborative computing session response message sent by the second federated learning node;

[0008] When the collaborative computing session response message indicates agreement to conduct a collaborative computing session, the first federated learning node and the second federated learning node engage in collaborative interaction.

[0009] The first federated learning node sends a second message digest to the first blockchain node, and the second message digest is determined based on the first collaborative computing message sent by the first federated learning node during the collaborative interaction.

[0010] The first federated learning node and the second federated learning node belong to the same federated learning network, and the first message digest and the second message digest are used by the first blockchain node for block broadcasting and accounting in the blockchain.

[0011] Secondly, embodiments of this application also provide a data collaboration method, including:

[0012] The second federated learning node receives the collaborative computing session request message sent by the first federated learning node;

[0013] The second federated learning node sends a collaborative computing session response message to the first federated learning node and a third message digest to the second blockchain node, the third message digest being determined based on the collaborative computing session response message;

[0014] When the collaborative computing session response message indicates agreement to conduct a collaborative computing session, the second federated learning node and the first federated learning node engage in collaborative interaction.

[0015] The second federated learning node sends a fourth message digest to the second blockchain node, the fourth message digest being determined based on the second collaborative computing message sent by the second federated learning node during the collaborative interaction;

[0016] The first federated learning node and the second federated learning node belong to the same federated learning network. The third message digest and the fourth message digest are used by the second blockchain node for block broadcasting and accounting in the blockchain.

[0017] Thirdly, embodiments of this application also provide a data collaboration device applied to a first federated learning node, comprising:

[0018] The first sending module is used to send a collaborative computing session request message to the second federated learning node and to send a first message digest to the first blockchain node, wherein the first message digest is determined based on the collaborative computing session request message.

[0019] The first receiving module is used to receive the collaborative computing session response message sent by the second federated learning node;

[0020] The first interaction module is used to interact collaboratively with the second federated learning node when the collaborative computing session response message indicates agreement to conduct a collaborative computing session.

[0021] The second sending module is used to send a second message digest to the first blockchain node. The second message digest is determined based on the first collaborative computing message sent by the first federated learning node during the collaborative interaction.

[0022] The first federated learning node and the second federated learning node belong to the same federated learning network, and the first message digest and the second message digest are used by the first blockchain node for block broadcasting and accounting in the blockchain.

[0023] Fourthly, embodiments of this application also provide a data collaboration device applied to a second federated learning node, comprising:

[0024] The second receiving module is used to receive the collaborative computing session request message sent by the first federated learning node;

[0025] The third sending module is used to send a collaborative computing session response message to the first federated learning node and a third message digest to the second blockchain node, wherein the third message digest is determined based on the collaborative computing session response message.

[0026] The second interaction module is used to interact collaboratively with the first federated learning node when the collaborative computing session response message indicates agreement to conduct a collaborative computing session.

[0027] The fourth sending module is used to send a fourth message digest to the second blockchain node, the fourth message digest being determined based on the second collaborative computing message sent by the second federated learning node during the collaborative interaction process;

[0028] The first federated learning node and the second federated learning node belong to the same federated learning network. The third message digest and the fourth message digest are used by the second blockchain node for block broadcasting and accounting in the blockchain.

[0029] Fifthly, embodiments of this application also provide a communication device, including: a transceiver, a memory, a processor, and a program stored in the memory and executable on the processor; the processor is configured to read the program in the memory to implement the steps in the method described in the first aspect of embodiments of this application; or to implement the steps in the method described in the second aspect of embodiments of this application.

[0030] In a sixth aspect, embodiments of this application also provide a readable storage medium for storing a program, which, when executed by a processor, implements the steps in the method described in the first aspect of embodiments of this application; or implements the steps in the method described in the second aspect of embodiments of this application.

[0031] In this embodiment, a first federated learning node sends a collaborative computing session request message to a second federated learning node and a first message digest to a first blockchain node. The first federated learning node receives a collaborative computing session response message from the second federated learning node. If the response message indicates agreement to conduct a collaborative computing session, the first federated learning node and the second federated learning node engage in collaborative interaction. The first federated learning node sends a second message digest to the first blockchain node. The first and second message digests are used by the first blockchain node for block broadcasting and accounting in the blockchain. Compared to existing technologies that broadcast and account for all interaction data in federated learning through blockchain nodes, in this application, the first federated learning node determines a corresponding message digest for each message sent to the second federated learning node, sends the message digest to the first blockchain node, and broadcasts and accounts for the message digest in the blockchain through the first blockchain node. This achieves trusted storage of interaction data in federated learning through the blockchain, reduces the amount of data sent by the federated learning node to the blockchain node, and thus improves the efficiency of the federated learning process. Attached Figure Description

[0032] To more clearly illustrate the technical solutions of this application, the drawings used in the description of the embodiments or prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0033] Figure 1 This is a flowchart illustrating a data collaboration method provided in an embodiment of this application;

[0034] Figure 2 This is a schematic diagram of an asynchronous dual-network architecture provided in an embodiment of this application;

[0035] Figure 3 This is a flowchart illustrating another data collaboration method provided in an embodiment of this application;

[0036] Figure 4 This is a flowchart illustrating a collaborative computing session provided in an embodiment of this application;

[0037] Figure 5 This is a schematic diagram of the structure of a data collaboration device provided in an embodiment of this application;

[0038] Figure 6 This is a schematic diagram of another data collaboration device provided in an embodiment of this application;

[0039] Figure 7 This is a schematic diagram of another data collaboration device provided in an embodiment of this application;

[0040] Figure 8 This is a schematic diagram of another data collaboration device provided in an embodiment of this application;

[0041] Figure 9 This is a schematic diagram of another data collaboration device provided in an embodiment of this application;

[0042] Figure 10 This is a schematic diagram of another data collaboration device provided in an embodiment of this application;

[0043] Figure 11 This is a schematic diagram of another data collaboration device provided in an embodiment of this application;

[0044] Figure 12 This is a schematic diagram of another data collaboration device provided in an embodiment of this application;

[0045] Figure 13 This is a schematic diagram of another data collaboration device provided in an embodiment of this application;

[0046] Figure 14 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0047] Figure 15 This is a schematic diagram of the structure of another communication device provided in an embodiment of this application. Detailed Implementation

[0048] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0049] The terms "first," "second," etc., used in the embodiments of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to these processes, methods, products, or devices. Additionally, the use of "and / or" in this application indicates at least one of the connected objects, such as A and / or B and / or C, representing seven possibilities: including A alone, B alone, C alone, and the presence of both A and B, both B and C, both A and C, and the presence of A, B, and C.

[0050] Please see Figure 1 , Figure 1 This is a flowchart illustrating a data collaboration method provided in an embodiment of this application, such as... Figure 1 As shown, it includes the following steps:

[0051] Step 101: The first federated learning node sends a collaborative computing session request message to the second federated learning node and a first message digest to the first blockchain node, wherein the first message digest is determined based on the collaborative computing session request message.

[0052] Specifically, the first federated learning node broadcasts and records the first message digest in the blockchain through the first blockchain node. The federated learning node and its corresponding blockchain node can be located on the same physical device or on two separate physical devices, for example: Figure 2 As shown, the clients in each of the above nodes correspond to the federated learning nodes, and the collaborators in each of the above nodes correspond to the blockchain nodes. The client nodes and collaborator nodes in each of the above nodes can be located in the same physical entity or in two separate physical entities. The clients in each of the above nodes constitute a federated learning network with equal status, and the collaborators in each of the above nodes constitute a blockchain network with equal status.

[0053] It can be understood that the aforementioned first message digest is the message sent to the aforementioned first blockchain node in the form of a message digest of the aforementioned collaborative computing session request message. Specifically, the aforementioned collaborative computing session request message can be transformed into a fixed-length short message using a hash function. By broadcasting and recording the aforementioned collaborative computing session request message in the aforementioned blockchain in the form of the aforementioned first message digest in the aforementioned blockchain network, a trusted block storage is formed in the aforementioned blockchain network. Furthermore, different messages have different message digests, while the message digests of the same message are consistent. Therefore, after the aforementioned first message digest is formed into a trusted block storage in the aforementioned blockchain network, the aforementioned collaborative computing session request message can be verified through the aforementioned first message digest.

[0054] Step 102: The first federated learning node receives the collaborative computing session response message sent by the second federated learning node.

[0055] It is understood that the above-mentioned collaborative computing session response message corresponds to the above-mentioned collaborative computing session request message, and the above-mentioned first federated learning node can determine whether the above-mentioned second federated learning node agrees to conduct a collaborative computing session through the above-mentioned collaborative computing session response message.

[0056] Step 103: If the collaborative computing session response message indicates agreement to conduct a collaborative computing session, the first federated learning node and the second federated learning node shall engage in collaborative interaction.

[0057] During the aforementioned collaborative interaction process, all messages exchanged between the first federated learning node and the second federated learning node are encrypted to prevent the leakage of local data at each node and to enhance data privacy and security.

[0058] Step 104: The first federated learning node sends a second message digest to the first blockchain node. The second message digest is determined based on the first collaborative computing message sent by the first federated learning node during the collaborative interaction.

[0059] The first federated learning node and the second federated learning node belong to the same federated learning network, and the first message digest and the second message digest are used by the first blockchain node for block broadcasting and accounting in the blockchain.

[0060] During the collaborative interaction between the first federated learning node and the second federated learning node, when the first federated learning node sends the first collaborative computing message to the second federated learning node, it also sends the second message digest to the first blockchain node. The second message digest is the message sent to the first blockchain node in the form of a message digest of the first collaborative computing message. If the first federated learning node and the second federated learning node interact multiple times, each time the first federated learning node sends a collaborative computing message to the second federated learning node, it will also send a corresponding message digest to the first blockchain node. After the collaborative interaction is completed, the first federated learning node that initiated the collaborative computing session can obtain the expected computation result of the collaborative computing session.

[0061] It is understandable that in steps 101 to 104 above, the messages sent by the first federated learning node to the second federated learning node will be sent to the first blockchain node in the form of message digests, thereby achieving [the desired outcome]. Figure 1The first federated learning node performs blockchain-based notarization for each step.

[0062] In some embodiments, after the aforementioned collaborative computing session ends, if the aforementioned second federated learning node requires security auditing, it can verify whether the aforementioned collaborative computing session is compliant and secure by extracting the corresponding data of the aforementioned collaborative computing session stored in the aforementioned blockchain.

[0063] In addition, the first federated learning nodes send messages to the first blockchain nodes in the form of message digests. In this way, the first blockchain nodes can broadcast the corresponding message digests to the blockchain block and put them on the chain. That is, the block information only records messages in the form of message digests. The amount of data recorded in the block information in the blockchain is reduced, which can reduce the cost of generating blocks and improve the efficiency of block generation, so as to better meet the real-time evidence storage requirements of interactive messages during the session in the federated learning network.

[0064] In this embodiment, a first federated learning node sends a collaborative computing session request message to a second federated learning node and a first message digest to a first blockchain node. The first federated learning node receives a collaborative computing session response message from the second federated learning node. If the response message indicates agreement to conduct a collaborative computing session, the first federated learning node and the second federated learning node engage in collaborative interaction. The first federated learning node sends a second message digest to the first blockchain node. The first and second message digests are used by the first blockchain node for block broadcasting and accounting in the blockchain. Compared to existing technologies that broadcast and account for all interaction data in federated learning through blockchain nodes, in this application, the first federated learning node determines a corresponding message digest for each message sent to the second federated learning node, sends the message digest to the first blockchain node, and broadcasts and accounts for the message digest in the blockchain through the first blockchain node. This achieves trusted storage of interaction data in federated learning through the blockchain, reduces the amount of data sent by the federated learning node to the blockchain node, and thus improves the efficiency of the federated learning process.

[0065] In addition, the first federated learning node can fulfill the collaborative computing needs of the federated learning network through collaborative interaction with the second federated learning node, and the execution steps of the first federated learning node can be broadcast and recorded in the blockchain block through the first blockchain node, so as to realize the trusted storage and auditing of the execution steps of the nodes in the federated learning network.

[0066] Optionally, before the first federated learning node sends a collaborative computing session request message to the second federated learning node in step 101, the method may further include the following steps:

[0067] The first federated learning node sends a query request to the first blockchain node. The query request is used by the first blockchain node to obtain the node data set, and by the first blockchain node to broadcast and record blocks in the blockchain. The node data set includes metadata of data that can be shared by all federated learning nodes in the federated learning network and supported collaborative computing protocols.

[0068] The first federated learning node receives the node data set sent by the first blockchain node in response to the query request;

[0069] The first federated learning node determines the second federated learning node based on the node data set.

[0070] The metadata of the data that can be shared by all federated learning nodes in the aforementioned federated learning network can specifically include data snapshot ID, tags, and field information. The data that can be shared by each federated learning node is stored locally, and the corresponding shareable data is described by the metadata stored in the blockchain, thus preventing the leakage of federated learning node data.

[0071] It is understood that the aforementioned blockchain network can record the aforementioned node data set. Specifically, this node data set may include metadata of shareable data from all federated learning nodes within the federated learning network, as well as supported collaborative computing protocols. Before the first federated learning node initiates the collaborative computing session, it can query the aforementioned node data set recorded in the blockchain network to select the other party to participate in the collaborative computing session, namely the second federated learning node, based on the actual needs of this session. After selecting the second federated learning node as the other party to participate in the collaborative computing session, a collaborative computing session request message is sent to the second federated learning node to request its participation in the protocol computing session. If the second federated learning node agrees to participate, the first federated learning node can then interact collaboratively with the second federated learning node to fulfill the collaborative computing requirements of the federated learning network.

[0072] Optionally, before the first federated learning node sends a query request to the first blockchain node, the method further includes:

[0073] The first federated learning node sends first registration information to the first blockchain node. The first registration information includes first metadata of data that the first federated learning node can share and a set of first collaborative computing protocols that it supports. The first registration information is used by the first blockchain node for block broadcasting and accounting in the blockchain.

[0074] In this embodiment, the first registered information is sent from the first federated learning node to the first blockchain node. The first registered information includes the first metadata of the data that the first federated learning node can share and the first set of supported collaborative computing protocols. The first registered information is used by the first blockchain node for block broadcasting and accounting in the blockchain, which can realize the distributed storage of the first metadata of the data that the first federated learning node can share and the first set of supported collaborative computing protocols in the blockchain.

[0075] In addition, by sending the first metadata of the data that the first federated learning node can share to the first blockchain node, the first blockchain node records the data that the first federated learning node can share by broadcasting and recording the first metadata in blocks. This avoids the leakage of the data that the federated learning node can share, reduces the amount of data recorded in the blockchain, reduces the cost of generating blocks, and improves the efficiency of block generation. As a result, the blockchain network can adapt to the real-time evidence storage requirements of the collaborative computing sessions in the federated learning network.

[0076] Optionally, before the first federated learning node sends a collaborative computing session request message to the second federated learning node in step 101, the method may further include the following steps:

[0077] The first federated learning node obtains the second metadata that the second federated learning node can share and the set of second collaborative computing protocols supported by the second federated learning node based on the node data set;

[0078] The first federated learning node and the second federated learning node negotiate and determine the target collaborative computing protocol;

[0079] The target collaborative computing protocol is used by the first federated learning node and the second federated learning node to perform the collaborative interaction, and both the first collaborative computing protocol set and the second collaborative computing protocol set contain the target collaborative computing protocol.

[0080] It can be understood that the aforementioned target collaborative computing protocol belongs to the intersection of the aforementioned first collaborative computing protocol set and the aforementioned second collaborative computing protocol set. That is, the aforementioned target collaborative computing protocol is a collaborative computing protocol supported by both the aforementioned first federated learning node and the aforementioned second federated learning node. Thus, during the aforementioned collaborative interaction process, the aforementioned first federated learning node and the aforementioned second federated learning node can interact through the aforementioned target collaborative computing protocol supported by both parties.

[0081] Specifically, the negotiation between the first federated learning node and the second federated learning node to determine the target collaborative computing protocol may include details such as determining the target collaborative computing protocol and determining the specific parameters used in the collaborative interaction process.

[0082] In this embodiment, the first federated learning node obtains the second metadata that the second federated learning node can share and the second set of supported collaborative computing protocols based on the node data set, and negotiates with the second federated learning node to determine the target collaborative computing protocol. Both the first set of collaborative computing protocols and the second set of collaborative computing protocols contain the target collaborative computing protocol, so that both the first federated learning node and the second federated learning node can perform the collaborative interaction through the target collaborative computing protocol.

[0083] Optionally, in step 101, the first federated learning node sends a collaborative computing session request message to the second federated learning node, and sends a first message digest to the first blockchain node, which may specifically include:

[0084] The first federated learning node uses a first thread to send a collaborative computing session request message to the second federated learning node at the first moment, and uses a second thread to send a first message digest to the first blockchain node at the first moment. The first thread and the second thread belong to the same process.

[0085] The first federated learning node sends a second message digest to the first blockchain node, including:

[0086] The first federated learning node uses a third thread to send a second message digest to the first blockchain node at a second time. The second time is the moment when the first federated learning node uses a fourth thread to interact collaboratively with the second federated learning node. The third thread and the fourth thread belong to the same process.

[0087] The sending of the collaborative computing session request message from the first federated learning node to the second federated learning node can be understood as the first federated learning node initiating a collaborative computing session within the federated learning network. The sending of the first message digest from the first federated learning node to the first blockchain node can be understood as the first blockchain node broadcasting and recording the initiation of the collaborative computing session. The first federated learning node uses a first thread to send the collaborative computing session request message to the second federated learning node at the first moment, and uses a second thread to send the first message digest to the first blockchain node at the same time. That is, the first federated learning node sends the collaborative computing session request message to the second federated learning node while simultaneously sending the first message digest to the first blockchain node. Furthermore, the process of the first federated learning node initiating the collaborative computing session within the federated learning network and the process of the first blockchain node broadcasting and recording blocks within the blockchain network can be executed asynchronously, avoiding the impact of the introduction of the blockchain network on the efficiency of the existing federated learning process.

[0088] The collaborative interaction between the first and second federated learning nodes can be understood as a collaborative computation session within the federated learning network. The first federated learning node sending a second message digest to the first blockchain node can be understood as the first blockchain node broadcasting and recording the collaborative interaction action performed by the first federated learning node on the blockchain. The first federated learning node uses a third thread to send the second message digest to the first blockchain node at a second moment, and this second moment is also the moment when the first federated learning node uses a fourth thread to collaborate with the second federated learning node. That is, while the first federated learning node is collaborating with the second federated learning node, it is simultaneously sending the second message digest to the first blockchain node. Furthermore, the process of the first federated learning node conducting a collaborative computation session within the federated learning network and the process of the first blockchain node broadcasting and recording blocks within the blockchain network can be executed asynchronously, avoiding the impact of the blockchain network on the efficiency of the existing federated learning process.

[0089] In this implementation, the first federated learning node uses a first thread to send a collaborative computing session request message to the second federated learning node at a first moment, and uses a second thread to send a first message digest to the first blockchain node at the same moment. The first thread and the second thread belong to the same process. The first federated learning node uses a third thread to send a second message digest to the first blockchain node at a second moment. The second moment is the moment when the first federated learning node uses a fourth thread to interact collaboratively with the second federated learning node. The third thread and the fourth thread belong to the same process. The interaction process between the first federated learning node and the second federated learning node in the federated learning network can be carried out through block broadcasting and accounting in the blockchain network by the first blockchain node. Furthermore, the interaction process in the federated learning network and the block broadcasting and accounting process in the blockchain network are asynchronous, which can avoid the negative impact of the introduction of blockchain on the efficiency of the existing federated learning training process.

[0090] Optionally, the second message digest is used by the first blockchain node for block broadcasting and accounting in the blockchain through a data buffering mechanism.

[0091] In some embodiments, during the collaborative interaction between the first federated learning node and the second federated learning node, the number of interactions between the two parties is relatively large, that is, the real-time evidence storage requirement of the interaction messages is large. In the first blockchain node, the second message digest corresponding to the second collaborative computing message during the collaborative interaction is broadcast and recorded in the blockchain through a data buffering mechanism. For example, the first blockchain node can put the second message digest sent by the first federated learning network into a message queue, which can avoid the possibility of message loss due to the different processing speeds of the two parties.

[0092] In this embodiment, the second message digest is used by the first blockchain node to broadcast and record blocks in the blockchain through a data buffering mechanism. The first blockchain node can broadcast and record the second message digest sent by the first federated learning node in the blockchain through the data buffering mechanism. When the first federated learning node has a large number of interactions during the collaborative interaction, the first blockchain node receives a large amount of the second message digest data, avoiding the possibility of message loss due to the slow processing speed of broadcasting and recording the second message digest in blocks.

[0093] It should be noted that the various optional implementation methods described in the embodiments of this application can be combined with each other or implemented individually, and the embodiments of this application do not limit this.

[0094] Please see Figure 3 , Figure 3 This is a flowchart illustrating another data collaboration method provided in an embodiment of this application, such as... Figure 3 As shown, it includes the following steps:

[0095] Step 301: The second federated learning node receives the collaborative computing session request message sent by the first federated learning node.

[0096] Step 302: The second federated learning node sends a collaborative computing session response message to the first federated learning node and a third message digest to the second blockchain node, the third message digest being determined based on the collaborative computing session response message.

[0097] Step 303: If the collaborative computing session response message indicates agreement to conduct a collaborative computing session, the second federated learning node and the first federated learning node shall engage in collaborative interaction.

[0098] Step 304: The second federated learning node sends a fourth message digest to the second blockchain node, the fourth message digest being determined based on the second collaborative computing message sent by the second federated learning node during the collaborative interaction process;

[0099] The first federated learning node and the second federated learning node belong to the same federated learning network. The third message digest and the fourth message digest are used by the second blockchain node for block broadcasting and accounting in the blockchain.

[0100] The implementation method for the above steps can be found in [reference needed]. Figure 1 The description of the Chinese method embodiments will not be repeated here to avoid repetition.

[0101] Optionally, before the second federated learning node receives the collaborative computing session request message sent by the first federated learning node, the method further includes:

[0102] The second federated learning node sends second registration information to the second blockchain node. The second registration information includes second metadata of data that the second federated learning node can share and a set of supported second collaborative computing protocols. The second registration information is used by the second blockchain node to broadcast blocks and record transactions in the blockchain.

[0103] Optionally, before the second federated learning node receives the collaborative computing session request message sent by the first federated learning node, the method further includes:

[0104] The second federated learning node negotiates and determines the target collaborative computing protocol with the first federated learning node;

[0105] The target collaborative computing protocol is used by the second federated learning node and the first federated learning node to perform the collaborative interaction, and the second collaborative computing protocol set includes the target collaborative computing protocol.

[0106] Optionally, the second federated learning node sends a collaborative computing session response message to the first federated learning node, and sends a third message digest to the second blockchain node, including:

[0107] The second federated learning node uses a fifth thread to send a collaborative computing session response message to the first federated learning node at a third time, and uses a sixth thread to send the third message digest to the second blockchain node at the third time. The fifth thread and the sixth thread belong to the same process.

[0108] The second federated learning node sends a fourth message digest to the second blockchain node, including:

[0109] The second federated learning node uses the seventh thread to send the fourth message digest to the second blockchain node at the fourth time. The fourth time is the moment when the second federated learning node uses the eighth thread to interact collaboratively with the first federated learning node. The seventh thread and the eighth thread belong to the same process.

[0110] Optionally, the fourth message digest is used by the second blockchain node for block broadcasting and accounting in the blockchain through a data buffering mechanism.

[0111] It should be noted that this embodiment is as a comparison with... Figure 1 The implementation method of the second federated learning node corresponding to the illustrated embodiment can be found in the following document. Figure 1 The relevant descriptions in the illustrated embodiments will not be repeated here to avoid repetition.

[0112] It should be noted that the various optional implementation methods described in the embodiments of this application can be combined with each other or implemented individually without conflict, and the embodiments of this application do not limit this.

[0113] For ease of understanding, a specific example is as follows:

[0114] This application also provides an interaction process for a collaborative computing session, applied in an asynchronous dual-network architecture, such as... Figure 2As shown, the aforementioned asynchronous dual-network architecture includes multiple federated learning participating nodes interconnected on an equal footing to form a multi-party collaborative computing network. Each federated learning participating node is divided into two logical nodes: a client and a coordinator. The clients of all federated learning participating nodes form a decentralized federated learning network, responsible for initiating federated learning sessions, training execution, and application management tasks. The coordinators of all federated learning participating nodes form a decentralized consortium blockchain network, responsible for managing the distributed ledger of shared data and node capabilities in federated learning, as well as the trusted storage and auditing of federated learning sessions.

[0115] like Figure 3 As shown, taking a collaborative computing session between two participating nodes in federated learning as an example, during the federated learning process, the participants interact collaboratively by exchanging encrypted data without sharing data. The interaction of the aforementioned collaborative computing session can specifically include the following processes:

[0116] Step 1: Federated learning participants, Client A and Client B, register with their respective collaborators, informing them of the metadata messages of the data that can be shared by this node (data snapshot ID, tags, and field information, etc.), as well as the collaborative computing protocols that this node supports.

[0117] Step 2: After receiving the registration message, the corresponding collaborator performs the block broadcasting and accounting process, that is, broadcasting on the consortium blockchain network and forming blocks through the corresponding competition mechanism to record, thereby generating distributed management information for the network-wide shared data and the protocol support capabilities (protocols that nodes can support).

[0118] Step 3: Client A, a participating node in federated learning, acts as the initiator of collaborative computing and queries the network for information on shareable data and the protocol support capabilities of its owner nodes through the corresponding collaborator A.

[0119] Step 4: After receiving the query request, collaborator A returns information on the shareable data in the network and the protocol support capabilities of its owner nodes, and performs block broadcasting and accounting processes, recording the query actions of client A, a participating node in the federated learning process.

[0120] Step 5: Customer A selects Customer B as another party to the collaborative computing participation based on a specific collaborative computing goal, and generates a privacy session request message (including the participation data snapshot IDs of both parties, the protocol and parameters used, etc.) to request Customer B to start the session;

[0121] Step 6: While sending a session request message to client B, the participating node A in the federated learning process sends the session request message to the corresponding collaborator A in the form of a message digest. Collaborator A executes the block broadcast and accounting process, recording the action of the participating node A in the federated learning process requesting B to establish a session.

[0122] Step 7: After receiving the session request from Client A, Client B, a participating node in the federated learning, sends a privacy session response message to Client A to indicate whether permission is granted. If permission is granted, both parties negotiate the interaction protocol and specific parameters of the collaborative session.

[0123] Step 8: While sending a privacy session response message to client A, the participating node B in the federated learning process sends the privacy session response message to the corresponding collaborator B in the form of a message digest. Collaborator B executes the block broadcast and accounting process, recording the actions of the participating node client B in responding to A's session request.

[0124] Step 9: After receiving the privacy session response message from client B allowing the session and reaching an agreement on the session interaction protocol, client A, a participating node in the federated learning, begins the collaborative interaction process. Client A sends a privacy computation protocol message to client B and simultaneously sends the privacy computation protocol message to the corresponding collaborator A in the form of a message digest. Collaborator A executes the block broadcasting and accounting process, recording the interaction actions between federated learning participating nodes client A and B.

[0125] Step 10: Similarly, Federated Learning Participating Node Client B sends a privacy computing protocol message to Client A, and simultaneously sends the privacy computing protocol message in message digest form to the corresponding collaborator B; Collaborator B executes the block broadcast and accounting process, and records the interaction actions between Federated Learning Participating Node Client B and A.

[0126] Step 11: Repeat steps 9 and 10 until the collaborative interaction of the entire privacy session ends. Client A obtains the desired privacy computation result, and at the same time, the consortium blockchain network records the participation data, protocol, and summary message content of the collaborative interaction between A and B throughout the privacy session.

[0127] In the federated learning network, the protocol interaction process between clients of each node and the block broadcasting and accounting process between collaborators of each node in the consortium blockchain network are completely asynchronous. Specifically, clients of participating nodes in the federated learning network learn about the available data and the list of interaction protocols supported by other participating nodes through collaborators. Based on the collaborative computing task objectives, they initiate collaborative computing sessions with other clients. While executing the session tasks, they asynchronously send their task content in the form of message digests to the corresponding collaborators. The collaborators then send the message digests to other collaborators in the consortium blockchain network and form trusted block storage through competition records.

[0128] The node collaborator employs a buffering mechanism when receiving client messages, which can avoid the possibility of message loss due to the different processing speeds of the two parties in the federated learning process and the blockchain secure evidence storage process. At the same time, it can avoid any negative impact of the introduction of consortium blockchain on the efficiency of the existing federated learning training process.

[0129] In this embodiment, during the collaborative computing session between the first and second federated learning nodes in the federated learning network, the consortium blockchain network enables distributed storage of data that can be shared by each node and the node's capabilities, as well as trusted evidence storage and auditing of the collaborative computing session. The block information in the consortium blockchain network only records the data participation of the federated learning nodes, the collaborative computing protocol, and a summary message of the message content in the collaborative interaction, reducing the cost of generating blocks and improving the efficiency of block generation. This can meet the real-time evidence storage requirements of tens of thousands of iterative interactions between the two parties during the training session of the federated learning model.

[0130] Please see Figure 5 , Figure 5 This is a schematic diagram of the structure of a data collaboration device provided in an embodiment of this application, applied to a first federated learning node, such as... Figure 5 As shown, the data collaboration device 500 includes:

[0131] The first sending module 501 is used to send a collaborative computing session request message to the second federated learning node and to send a first message digest to the first blockchain node, wherein the first message digest is determined based on the collaborative computing session request message.

[0132] The first receiving module 502 is used to receive the collaborative computing session response message sent by the second federated learning node;

[0133] The first interaction module 503 is used to interact collaboratively with the second federated learning node when the collaborative computing session response message indicates agreement to conduct a collaborative computing session.

[0134] The second sending module 504 is used to send a second message digest to the first blockchain node, the second message digest being determined based on the first collaborative computing message sent by the first federated learning node during the collaborative interaction.

[0135] The first federated learning node and the second federated learning node belong to the same federated learning network, and the first message digest and the second message digest are used by the first blockchain node for block broadcasting and accounting in the blockchain.

[0136] Optional, such as Figure 6 As shown, the data collaboration device 500 may further include:

[0137] The fifth sending module 505 is used to send a query request to the first blockchain node. The query request is used by the first blockchain node to obtain a node data set, and by the first blockchain node to broadcast and record blocks in the blockchain. The node data set includes metadata of data that can be shared by all federated learning nodes in the federated learning network and supported collaborative computing protocols.

[0138] The third receiving module 506 is used to receive the node data set sent by the first blockchain node in response to the query request;

[0139] The first determining module 507 is used to determine the second federated learning node based on the node data set.

[0140] Optional, such as Figure 7 As shown, the data collaboration device 500 may further include:

[0141] The sixth sending module 508 is used to send first registration information to the first blockchain node. The first registration information includes first metadata of data that the first federated learning node can share and a set of supported first collaborative computing protocols. The first registration information is used by the first blockchain node for block broadcasting and accounting in the blockchain.

[0142] Optional, such as Figure 8 As shown, the data collaboration device 500 may further include:

[0143] The first acquisition module 509 is used to acquire, based on the node data set, the second metadata that the second federated learning node can share and the set of supported second collaborative computing protocols;

[0144] The first negotiation module 510 is used to negotiate with the second federated learning node to determine the target collaborative computing protocol;

[0145] The target collaborative computing protocol is used by the first federated learning node and the second federated learning node to perform the collaborative interaction, and both the first collaborative computing protocol set and the second collaborative computing protocol set contain the target collaborative computing protocol.

[0146] Optional, such as Figure 9 As shown, the first sending module 501 may specifically include:

[0147] The first sending unit 5011 is used to send a collaborative computing session request message to the second federated learning node at the first moment using a first thread, and to send a first message digest to the first blockchain node at the first moment using a second thread, wherein the first thread and the second thread belong to the same process;

[0148] The second sending module 504 may specifically include:

[0149] The second sending unit 5041 is used to send a second message digest to the first blockchain node using a third thread at a second time. The second time is the moment when the first federated learning node uses a fourth thread to interact collaboratively with the second federated learning node. The third thread and the fourth thread belong to the same process.

[0150] Optionally, the second message digest is used by the first blockchain node for block broadcasting and accounting in the blockchain through a data buffering mechanism.

[0151] The data collaboration device 500 can realize the embodiments of this application. Figure 1 The various processes in the method embodiments, and the ways to achieve the same beneficial effects, will not be repeated here to avoid repetition.

[0152] Please see Figure 10 , Figure 10 This is a schematic diagram of another data collaboration device provided in an embodiment of this application, applied to a second federated learning node, such as... Figure 10 As shown, the data collaboration device 1000 includes:

[0153] The second receiving module 1001 is used to receive the collaborative computing session request message sent by the first federated learning node;

[0154] The third sending module 1002 is used to send a collaborative computing session response message to the first federated learning node and to send a third message digest to the second blockchain node, wherein the third message digest is determined based on the collaborative computing session response message.

[0155] The second interaction module 1003 is used to interact collaboratively with the first federated learning node when the collaborative computing session response message indicates agreement to conduct a collaborative computing session.

[0156] The fourth sending module 1004 is used to send a fourth message digest to the second blockchain node, the fourth message digest being determined based on the second collaborative computing message sent by the second federated learning node during the collaborative interaction process;

[0157] The first federated learning node and the second federated learning node belong to the same federated learning network. The third message digest and the fourth message digest are used by the second blockchain node for block broadcasting and accounting in the blockchain.

[0158] Optional, such as Figure 11 As shown, the data collaboration device 1000 may further include:

[0159] The second registration module 1005 is used to send second registration information to the second blockchain node. The second registration information includes second metadata of the data that the second federated learning node can share and a set of supported second collaborative computing protocols. The second registration information is used by the second blockchain node to broadcast blocks and record transactions in the blockchain.

[0160] Optional, such as Figure 12 As shown, the data collaboration device 1000 may further include:

[0161] The second negotiation module 1006 is used to negotiate with the first federated learning node to determine the target collaborative computing protocol.

[0162] The target collaborative computing protocol is used by the second federated learning node and the first federated learning node to perform the collaborative interaction, and the second collaborative computing protocol set includes the target collaborative computing protocol.

[0163] Optional, such as Figure 13 As shown, the third sending module 1002 may specifically include:

[0164] The third sending unit 10021 is used to send a collaborative computing session response message to the first federated learning node at the third time using a fifth thread, and to send the third message digest to the second blockchain node at the third time using a sixth thread, wherein the fifth thread and the sixth thread belong to the same process;

[0165] The fourth transmitting module 1004 may specifically include:

[0166] The fourth sending unit 10041 is used to send the fourth message digest to the second blockchain node at a fourth time using the seventh thread. The fourth time is the time when the second federated learning node uses the eighth thread to interact collaboratively with the first federated learning node. The seventh thread and the eighth thread belong to the same process.

[0167] Optionally, the fourth message digest is used by the second blockchain node for block broadcasting and accounting in the blockchain through a data buffering mechanism.

[0168] The data collaboration device 1000 can realize the embodiments of this application. Figure 3 The various processes in the method embodiments, and the ways to achieve the same beneficial effects, will not be repeated here to avoid repetition.

[0169] This application also provides a communication device applied to a first federated learning node. Because the principle of the communication device in solving the problem is similar to that in this application... Figure 1The data collaboration method shown is similar; therefore, the implementation of this communication device can be found in the method implementation section, and repeated details will not be elaborated upon. For example... Figure 14 As shown, the communication device in this embodiment includes: a first processor 1400, configured to read a program from a first memory 1420 and execute the following processes:

[0170] The first transceiver 1410 sends a collaborative computing session request message to the second federated learning node and a first message digest to the first blockchain node, the first message digest being determined based on the collaborative computing session request message.

[0171] The first transceiver 1410 receives the collaborative computing session response message sent by the second federated learning node;

[0172] When the collaborative computing session response message indicates agreement to conduct a collaborative computing session, the first transceiver 1410 interacts collaboratively with the second federated learning node.

[0173] A second message digest is sent to the first blockchain node via the first transceiver 1410. The second message digest is determined based on the first collaborative computing message sent by the first federated learning node during the collaborative interaction.

[0174] The first transceiver 1410 receives and transmits data under the control of the processor 1400;

[0175] The first federated learning node and the second federated learning node belong to the same federated learning network, and the first message digest and the second message digest are used by the first blockchain node for block broadcasting and accounting in the blockchain.

[0176] Among them, Figure 14 In this context, the bus architecture may include any number of interconnected buses and bridges, specifically linking various circuits together with one or more processors represented by the first processor 1400 and the memory represented by the first memory 1420. The bus architecture may also link together various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. A bus interface provides an interface. The first transceiver 1410 may be multiple elements, including transmitters and transceivers, providing a unit for communicating with various other devices over a transmission medium. The first processor 1400 is responsible for managing the bus architecture and general processing, and the first memory 1420 may store data used by the first processor 1400 during operation.

[0177] Optionally, the first processor 1400 is also used to read the program from the first memory 1420 and perform the following steps:

[0178] The first transceiver 1410 sends a query request to the first blockchain node. The query request is used by the first blockchain node to obtain the node data set, and by the first blockchain node to broadcast and record blocks in the blockchain. The node data set includes metadata of data that can be shared by all federated learning nodes in the federated learning network and supported collaborative computing protocols.

[0179] The first transceiver 1410 receives the set of node data sent by the first blockchain node in response to the query request;

[0180] The second federated learning node is determined based on the node data set.

[0181] Optionally, the first processor 1400 is also used to read the program from the first memory 1420 and perform the following steps:

[0182] The first registration information is sent to the first blockchain node via the first transceiver 1410. The first registration information includes first metadata of data that the first federated learning node can share and a set of supported first collaborative computing protocols. The first registration information is used by the first blockchain node for block broadcasting and accounting in the blockchain.

[0183] Optionally, the first processor 1400 is also used to read the program from the first memory 1420 and perform the following steps:

[0184] Based on the node data set, obtain the second metadata that the second federated learning node can share and the set of the second collaborative computing protocols it supports;

[0185] Negotiate and determine the target collaborative computing protocol with the second federated learning node;

[0186] The target collaborative computing protocol is used by the first federated learning node and the second federated learning node to perform the collaborative interaction, and both the first collaborative computing protocol set and the second collaborative computing protocol set contain the target collaborative computing protocol.

[0187] Optionally, the first processor 1400 is used to read the program from the first memory 1420, specifically by performing the following steps:

[0188] The first transceiver 1410 uses a first thread to send a collaborative computing session request message to the second federated learning node at the first moment, and uses a second thread to send a first message digest to the first blockchain node at the first moment. The first thread and the second thread belong to the same process.

[0189] The first transceiver 1410 uses a third thread to send a second message digest to the first blockchain node at a second time. The second time is the moment when the first federated learning node uses a fourth thread to interact collaboratively with the second federated learning node. The third thread and the fourth thread belong to the same process.

[0190] Optionally, the second message digest is used by the first blockchain node for block broadcasting and accounting in the blockchain through a data buffering mechanism.

[0191] The communication device provided in this application embodiment can perform the above-described... Figure 1 The method embodiments shown are similar in principle and technical effect, and will not be described again here.

[0192] This application also provides a communication device for use in a second federated learning node. The principle behind the problem-solving principle of this communication device is similar to that in the embodiments of this application. Figure 3 The data collaboration method shown is similar; therefore, the implementation of this communication device can be found in the method implementation section, and repeated details will not be elaborated upon. For example... Figure 15 As shown, the communication device in this embodiment includes: a second processor 1500, configured to read a program from a second memory 1520 and execute the following processes:

[0193] The second transceiver 1510 receives the collaborative computing session request message sent by the first federated learning node;

[0194] The second transceiver 1510 sends a collaborative computing session response message to the first federated learning node and a third message digest to the second blockchain node, the third message digest being determined based on the collaborative computing session response message.

[0195] When the collaborative computing session response message indicates agreement to conduct a collaborative computing session, the second transceiver 1510 interacts collaboratively with the first federated learning node.

[0196] A fourth message digest is sent to the second blockchain node via the second transceiver 1510. The fourth message digest is determined based on the second collaborative computing message sent by the second federated learning node during the collaborative interaction.

[0197] The second transceiver 1510 receives and transmits data under the control of the processor 1500;

[0198] The first federated learning node and the second federated learning node belong to the same federated learning network. The third message digest and the fourth message digest are used by the second blockchain node for block broadcasting and accounting in the blockchain.

[0199] Among them, Figure 15 In this context, the bus architecture may include any number of interconnected buses and bridges, specifically linking various circuits of one or more processors represented by the second processor 1500 and the memory represented by the second memory 1520 together. The bus architecture may also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. A bus interface provides an interface. The second transceiver 1510 may be multiple elements, including transmitters and transceivers, providing a unit for communicating with various other devices over a transmission medium. The second processor 1500 is responsible for managing the bus architecture and general processing, and the second memory 1520 may store data used by the second processor 1500 during operation.

[0200] Optionally, the second processor 1500 is also used to read the program from the second memory 1520 and perform the following steps:

[0201] The second registration information is sent to the second blockchain node via the second transceiver 1510. The second registration information includes second metadata of the data that the second federated learning node can share and a set of supported second collaborative computing protocols. The second registration information is used by the second blockchain node to broadcast blocks and record transactions in the blockchain.

[0202] Optionally, the second processor 1500 is also used to read the program from the second memory 1520 and perform the following steps:

[0203] Negotiate and determine the target collaborative computing protocol with the first federated learning node;

[0204] The target collaborative computing protocol is used by the second federated learning node and the first federated learning node to perform the collaborative interaction, and the second collaborative computing protocol set includes the target collaborative computing protocol.

[0205] Optionally, the second processor 1500 is used to read the program from the second memory 1520, specifically by performing the following steps:

[0206] The second transceiver 1510 uses a fifth thread to send a collaborative computing session response message to the first federated learning node at a third time, and uses a sixth thread to send the third message digest to the second blockchain node at the third time. The fifth thread and the sixth thread belong to the same process.

[0207] The second transceiver 1510 uses the seventh thread to send the fourth message digest to the second blockchain node at the fourth time. The fourth time is the moment when the second federated learning node uses the eighth thread to interact collaboratively with the first federated learning node. The seventh thread and the eighth thread belong to the same process.

[0208] Optionally, the fourth message digest is used by the second blockchain node for block broadcasting and accounting in the blockchain through a data buffering mechanism.

[0209] The communication device provided in this application embodiment can perform the above-described... Figure 3 The method embodiments shown are similar in principle and technical effect, and will not be described again here.

[0210] This application also provides a readable storage medium for storing a program, which, when executed by a processor, implements as follows: Figure 1 or Figure 3 Each process in any of the method embodiments can achieve the same technical effect, and will not be described again here to avoid repetition.

[0211] In the several embodiments provided in this application, it should be understood that the disclosed methods and apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0212] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can be physically included separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in the form of hardware plus software functional units.

[0213] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute some steps of the transmission and reception methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0214] The above description is the preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principles described in this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A data collaboration method, characterized in that, include: The first federated learning node sends a collaborative computing session request message to the second federated learning node and a first message digest to the first blockchain node, the first message digest being determined based on the collaborative computing session request message; The first federated learning node receives the collaborative computing session response message sent by the second federated learning node; When the collaborative computing session response message indicates agreement to conduct a collaborative computing session, the first federated learning node and the second federated learning node engage in collaborative interaction. The first federated learning node sends a second message digest to the first blockchain node, and the second message digest is determined based on the first collaborative computing message sent by the first federated learning node during the collaborative interaction. The first federated learning node and the second federated learning node belong to the same federated learning network, and the first message digest and the second message digest are used by the first blockchain node for block broadcasting and accounting in the blockchain.

2. The method as described in claim 1, characterized in that, Before the first federated learning node sends a collaborative computing session request message to the second federated learning node, the method further includes: The first federated learning node sends a query request to the first blockchain node. The query request is used by the first blockchain node to obtain the node data set, and by the first blockchain node to broadcast and record blocks in the blockchain. The node data set includes metadata of data that can be shared by all federated learning nodes in the federated learning network and supported collaborative computing protocols. The first federated learning node receives the node data set sent by the first blockchain node in response to the query request; The first federated learning node determines the second federated learning node based on the node data set.

3. The method as described in claim 2, characterized in that, Before the first federated learning node sends a query request to the first blockchain node, the method further includes: The first federated learning node sends first registration information to the first blockchain node. The first registration information includes first metadata of data that the first federated learning node can share and a set of first collaborative computing protocols that it supports. The first registration information is used by the first blockchain node for block broadcasting and accounting in the blockchain.

4. The method as described in claim 3, characterized in that, Before the first federated learning node sends a collaborative computing session request message to the second federated learning node, the method further includes: The first federated learning node obtains the second metadata that the second federated learning node can share and the set of second collaborative computing protocols supported by the second federated learning node based on the node data set; The first federated learning node and the second federated learning node negotiate and determine the target collaborative computing protocol; The target collaborative computing protocol is used by the first federated learning node and the second federated learning node to perform the collaborative interaction, and both the first collaborative computing protocol set and the second collaborative computing protocol set contain the target collaborative computing protocol.

5. The method as described in claim 1, characterized in that, The first federated learning node sends a collaborative computing session request message to the second federated learning node, and sends a first message digest to the first blockchain node, including: The first federated learning node uses a first thread to send a collaborative computing session request message to the second federated learning node at the first moment, and uses a second thread to send a first message digest to the first blockchain node at the first moment. The first thread and the second thread belong to the same process. The first federated learning node sends a second message digest to the first blockchain node, including: The first federated learning node uses a third thread to send a second message digest to the first blockchain node at a second time. The second time is the moment when the first federated learning node uses a fourth thread to interact collaboratively with the second federated learning node. The third thread and the fourth thread belong to the same process.

6. The method as described in claim 1, characterized in that, The second message digest is used by the first blockchain node for block broadcasting and accounting in the blockchain through the data buffering mechanism.

7. A data collaboration method, characterized in that, include: The second federated learning node receives the collaborative computing session request message sent by the first federated learning node; The second federated learning node sends a collaborative computing session response message to the first federated learning node and a third message digest to the second blockchain node, the third message digest being determined based on the collaborative computing session response message; When the collaborative computing session response message indicates agreement to conduct a collaborative computing session, the second federated learning node and the first federated learning node engage in collaborative interaction. The second federated learning node sends a fourth message digest to the second blockchain node, the fourth message digest being determined based on the second collaborative computing message sent by the second federated learning node during the collaborative interaction; The first federated learning node and the second federated learning node belong to the same federated learning network. The third message digest and the fourth message digest are used by the second blockchain node for block broadcasting and accounting in the blockchain.

8. The method as described in claim 7, characterized in that, Before the second federated learning node receives the collaborative computing session request message sent by the first federated learning node, the method further includes: The second federated learning node sends second registration information to the second blockchain node. The second registration information includes second metadata of data that the second federated learning node can share and a set of supported second collaborative computing protocols. The second registration information is used by the second blockchain node to broadcast blocks and record transactions in the blockchain.

9. The method as described in claim 8, characterized in that, Before the second federated learning node receives the collaborative computing session request message sent by the first federated learning node, the method further includes: The second federated learning node negotiates and determines the target collaborative computing protocol with the first federated learning node; The target collaborative computing protocol is used by the second federated learning node and the first federated learning node to perform the collaborative interaction, and the second collaborative computing protocol set includes the target collaborative computing protocol.

10. The method as described in claim 7, characterized in that, The second federated learning node sends a collaborative computing session response message to the first federated learning node, and sends a third message digest to the second blockchain node, including: The second federated learning node uses a fifth thread to send a collaborative computing session response message to the first federated learning node at a third time, and uses a sixth thread to send the third message digest to the second blockchain node at the third time. The fifth thread and the sixth thread belong to the same process. The second federated learning node sends a fourth message digest to the second blockchain node, including: The second federated learning node uses the seventh thread to send the fourth message digest to the second blockchain node at the fourth time. The fourth time is the moment when the second federated learning node uses the eighth thread to interact collaboratively with the first federated learning node. The seventh thread and the eighth thread belong to the same process.

11. The method as described in claim 7, characterized in that, The fourth message digest is used by the second blockchain node for block broadcasting and accounting in the blockchain through a data buffering mechanism.

12. A data collaboration device, applied to a first federated learning node, characterized in that, include: The first sending module is used to send a collaborative computing session request message to the second federated learning node and to send a first message digest to the first blockchain node, wherein the first message digest is determined based on the collaborative computing session request message. The first receiving module is used to receive the collaborative computing session response message sent by the second federated learning node; The first interaction module is used to interact collaboratively with the second federated learning node when the collaborative computing session response message indicates agreement to conduct a collaborative computing session. The second sending module is used to send a second message digest to the first blockchain node. The second message digest is determined based on the first collaborative computing message sent by the first federated learning node during the collaborative interaction. The first federated learning node and the second federated learning node belong to the same federated learning network, and the first message digest and the second message digest are used by the first blockchain node for block broadcasting and accounting in the blockchain.

13. A data collaboration device applied to a second federated learning node, characterized in that, include: The second receiving module is used to receive the collaborative computing session request message sent by the first federated learning node; The third sending module is used to send a collaborative computing session response message to the first federated learning node and a third message digest to the second blockchain node, wherein the third message digest is determined based on the collaborative computing session response message. The second interaction module is used to interact collaboratively with the first federated learning node when the collaborative computing session response message indicates agreement to conduct a collaborative computing session. The fourth sending module is used to send a fourth message digest to the second blockchain node, the fourth message digest being determined based on the second collaborative computing message sent by the second federated learning node during the collaborative interaction process; The first federated learning node and the second federated learning node belong to the same federated learning network. The third message digest and the fourth message digest are used by the second blockchain node for block broadcasting and accounting in the blockchain.

14. A communication device, characterized in that, include: A transceiver, a memory, a processor, and a program stored in the memory and executable on the processor; characterized in that the processor is configured to read the program in the memory to implement the steps of the method as claimed in any one of claims 1 to 6; or to implement the steps of the method as claimed in any one of claims 7 to 11.

15. A readable storage medium for storing a program, characterized in that, When the program is executed by a processor, it implements the steps of the method as described in any one of claims 1 to 6; or implements the steps of the method as described in any one of claims 7 to 11.