Data transmission method and apparatus, electronic device, and storage medium

By receiving metadata to determine accessible nodes and data prefetching nodes, the problem of training tasks being interrupted in distributed reinforcement learning is solved, achieving more efficient data transmission and training efficiency.

CN114356601BActive Publication Date: 2026-02-13DONG GUAN XIAN CHEN XIN XI KE JI YOU XIAN GONG SI
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111661609.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-31
Publication Date
2026-02-13
Estimated Expiration
2041-12-31

AI Technical Summary

Technical Problem

In distributed reinforcement learning, data transmission between multiple devices can interrupt training tasks, increasing the time spent waiting for training data and reducing training efficiency.

Method used

By receiving metadata, accessible nodes and data pre-fetching nodes are identified, and data read commands are sent to the pre-fetching nodes so that they can obtain training data in advance before executing training tasks, thereby reducing data transmission waiting time.

Benefits of technology

It reduces data transmission latency, improves the efficiency of data transmission and network training, and avoids the impact of training task interruptions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114356601B_ABST
    Figure CN114356601B_ABST
Patent Text Reader

Abstract

The present disclosure provides a data transmission method and device, electronic equipment and storage medium, which are applied to a data management node. The method comprises the following steps: receiving metadata sent by at least one data generation node, wherein the metadata comprises an identification number of training data, node information of a data generation node where the training data is located, and node information of at least one pre-reading node; determining an accessible node based on the identification number of the training data and the node information of the data generation node where the training data is located, and determining a data pre-reading node based on the identification number of the training data and the node information of the at least one pre-reading node; and sending a data reading command to at least one pre-reading node in the data pre-reading node, so that each pre-reading node acquires training data from a target data generation node in the accessible node in response to the data reading command. According to the present disclosure, the training data is sent to the pre-reading node in advance, so that the waiting time of data transmission can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of machine learning technology, and more specifically, to a data transmission method, apparatus, electronic device, and computer-readable storage medium. Background Technology

[0002] In distributed reinforcement learning, distributed training is often achieved through multiple devices (also called nodes) to improve the training efficiency of reinforcement learning.

[0003] In existing distributed network training processes, data transmission between multiple devices is frequent. If the training data required by the current device's training task is on another device, the current training task will be interrupted, and a Remote Procedure Call (RPC) is needed to retrieve the training data. The current training task can only continue after the RPC process is completed. This increases the waiting time for training data, thereby reducing the efficiency of distributed reinforcement learning. Summary of the Invention

[0004] This disclosure provides at least one data transmission method, apparatus, electronic device, and storage medium to improve the training efficiency of distributed reinforcement learning.

[0005] This disclosure provides a data transmission method applied to a data management node, the method comprising:

[0006] Receive metadata sent by at least one data generating node, wherein the metadata includes the identifier of the training data, the node information of the data generating node where the training data is located, and the node information of at least one pre-reading node;

[0007] Based on the identifier of the training data and the node information generated by the data in which the training data is located, an accessible node is determined, and based on the identifier of the training data and the node information of the at least one pre-read node, a data pre-read node is determined.

[0008] A data read command is sent to at least one of the data pre-read nodes, causing the at least one pre-read node to respond to the data read command and obtain the training data from the target data generating node among the accessible nodes.

[0009] In this embodiment of the disclosure, accessible nodes and data pre-fetching nodes are determined based on metadata, so that at least one pre-fetching node can obtain the required training data in advance before executing the training task. Compared with the prior art method of interrupting the training task and retrieving data as needed, this can reduce the waiting time for data transmission and has no impact on the training task, which is beneficial to improving the efficiency of data transmission and network training.

[0010] In an optional embodiment, the sending of the data read command to at least one of the data pre-read nodes comprises:

[0011] In the case where the metadata sent by the data generation node is received, a data read command is sent to at least one of the data pre-read nodes based on the data pre-read nodes; and / or,

[0012] In response to a data query request sent by a target pre-read node of the data pre-read nodes, a data read command is sent to the target pre-read node.

[0013] In the embodiments of the present disclosure, the data management node can inform the pre-read node at the first time after the data generation node generates the training data, thereby improving the efficiency of the training.

[0014] In an optional embodiment, the method further comprises:

[0015] The node update instruction generated by the pre-read node after the pre-read node completes the acquisition of the training data is received, and the node update instruction carries the node information of the pre-read node;

[0016] According to the node information of the pre-read node, the accessible node is updated.

[0017] In the embodiments of the present disclosure, by increasing the number of data generation nodes in the accessible nodes, the efficiency of data transmission can be improved.

[0018] In an optional embodiment, the sending of the data read command to at least one of the data pre-read nodes, so that the at least one pre-read node acquires the training data from a target data generation node in the accessible nodes in response to the data read command, comprises:

[0019] The number of waiting transmission nodes in the data pre-read nodes is determined;

[0020] In the case where the number of waiting transmission nodes is not zero, any waiting transmission node in the waiting transmission nodes is determined as a target waiting transmission node, and any data generation node in the accessible nodes is determined as the target data generation node, and the data read command is sent to the target waiting transmission node, so that the target waiting transmission node acquires the training data from the target data generation node in response to the data read command and saves, wherein the data read command carries the node information of the target data generation node.

[0021] In the embodiments of the present disclosure, in the case that the number of the waiting transmission nodes is not zero, the target waiting transmission node and the target data generation node are determined, so that each of the waiting transmission nodes can obtain the required training data through the point-to-point data scheduling mode.

[0022] In an optional implementation, after determining any one of the waiting transmission nodes as the target waiting transmission node, and determining any one of the accessible nodes as the target data generation node, and sending the data read command to the target waiting transmission node, the method further includes:

[0023] increasing the number of the active transmission nodes in the data pre-reading node by one;

[0024] in the case that any one of the active transmission nodes in the data pre-reading node completes the transmission task, decreasing the number of the active transmission nodes by one.

[0025] In the embodiments of the present disclosure, based on the change of the number of the active transmission nodes, the missing transmission and the hot spot transmission can be avoided, and the efficiency of data transmission is improved.

[0026] The embodiments of the present disclosure provide a data transmission method applied to a pre-reading node, and the method includes:

[0027] receiving a data read command sent by a data management node, wherein the data read command carries node information of a target data generation node;

[0028] based on the node information of the target data generation node and an identification number of target training data required by the pre-reading node, obtaining training data corresponding to the identification number from the target data generation node, and saving the training data.

[0029] In the embodiments of the present disclosure, according to the data read command sent by the data management node, the training data can be obtained from the target data generation node in advance, compared with the existing technology of interrupting the training task and using the data as soon as possible, the waiting time of data transmission can be reduced, and the execution of the training task of the pre-reading node is not affected, and thus the efficiency of data transmission and network training can be improved.

[0030] In an optional implementation, before receiving the data read command sent by the data management node, the method further includes:

[0031] judging whether the target training data exists in the pre-reading node;

[0032] In the case that the target training data does not exist in the pre-reading node, a data query request is sent to the data management node based on the identification number of the target training data, so that the data management node sends the data reading command in response to the data query request.

[0033] In the embodiments of the present disclosure, by judging whether the target training data exists in the current pre-reading node, the case that the target training data is obtained from other nodes in the case that the target training data exists in the current pre-reading node can be avoided, so that invalid acquisition can be avoided and the resources of data scheduling can be saved.

[0034] In an optional implementation, the training data corresponding to the identification number is obtained from the target data generation node based on the node information of the target data generation node and the identification number of the target training data required by the pre-reading node, including:

[0035] The target data generation node in which the target training data is located is determined based on the node information of the target data generation node.

[0036] The data acquisition request is generated based on the identification number of the target training data.

[0037] The data acquisition request is sent to the target data generation node, and the training data corresponding to the identification number is received from the target data generation node in response to the data acquisition request.

[0038] In the embodiments of the present disclosure, the target training data is obtained from the target data generation node based on the node information of the target data generation node and the identification number of the target training data, so that the point-to-point data transmission between the pre-reading node and the target data generation node can be established, and the efficiency of data transmission can be improved.

[0039] In an optional implementation, after the training data corresponding to the identification number is obtained from the target data generation node based on the node information of the target data generation node and the identification number of the target training data required by the pre-reading node, and the training data is saved, the method further includes:

[0040] The node update instruction is generated based on the node information of the pre-reading node.

[0041] The node update instruction is sent to the data management node, so that the data management node responds to the node update instruction and updates the accessible node based on the node information of the pre-reading node, wherein the accessible node is generated based on the identification number of the training data generated by the data generation node and the node information of the data generation node.

[0042] In the embodiments of the present disclosure, by increasing the number of data generation nodes in the accessible nodes, the data transmission efficiency can be improved, and the occurrence of hotspot transmission can be reduced.

[0043] The embodiments of the present disclosure provide a data transmission method applied to a data generation node, and the method comprises the following steps:

[0044] Based on at least one training task, at least one set of training data is generated, wherein each set of training data has a different identification number;

[0045] Based on the data content indicated by each set of training data, the node information of at least one pre-reading node required by each set of training data is determined;

[0046] Based on the identification number of each set of training data, the node information of the data generation node where each set of training data is located, and the node information of at least one pre-reading node, corresponding metadata is generated;

[0047] The metadata is sent to a data management node, so that the data management node manages the metadata, and each pre-reading node acquires the training data corresponding to the identification number through the data management node.

[0048] In the embodiments of the present disclosure, the metadata is generated based on the identification number of the training data, the node information of the data generation node where the training data is located, and the node information of at least one pre-reading node, and the metadata is sent to the data management node for management, and data scheduling is performed through the data management node, so that the pre-reading node can acquire the required training data before executing the training task. Compared with the existing technology of interrupting the training task and using the data on demand, the waiting time for data transmission can be reduced, and the training task is not affected, which is beneficial to improving the efficiency of data transmission and network training.

[0049] In an optional implementation, after the metadata is sent to the data management node, the method further comprises the following steps:

[0050] Receiving a data acquisition request of at least one pre-reading node, and determining the identification number of the target training data carried by the data acquisition request;

[0051] Based on the identification number of the target training data, the training data corresponding to the identification number is sent to the pre-reading node.

[0052] In the embodiments of the present disclosure, the target training data can be determined from a plurality of training data based on the identification number of the target training data in the data acquisition request sent by the pre-reading node, so that point-to-point data transmission can be realized, which is beneficial to improving the efficiency of data transmission.

[0053] The embodiments of the present disclosure further provide a data transmission device, which comprises:

[0054] a receiving module configured to receive metadata sent by at least one data generation node, wherein the metadata comprises an identification number of training data, node information of a data generation node where the training data is located, and node information of at least one pre-reading node;

[0055] a determining module configured to determine an accessible node based on the identification number of the training data and the node information of the data generation node where the training data is located, and determine a data pre-reading node based on the identification number of the training data and the node information of the at least one pre-reading node;

[0056] a sending module configured to send a data reading command to at least one pre-reading node in the data pre-reading node, so that the at least one pre-reading node acquires the training data from a target data generation node in the accessible node in response to the data reading command.

[0057] In an optional implementation, the sending module is specifically configured to:

[0058] in a case where the metadata sent by the data generation node is received, send a data reading command to at least one pre-reading node in the data pre-reading node based on the data pre-reading node; and / or,

[0059] in response to a data query request sent by a target pre-reading node in the data pre-reading node, send a data reading command to the target pre-reading node.

[0060] In an optional implementation, the device further comprises an updating module.

[0061] The receiving module is further configured to:

[0062] receive a node updating instruction generated by the pre-reading node when the pre-reading node acquires the training data, wherein the node updating instruction carries node information of the pre-reading node;

[0063] The updating module is configured to:

[0064] update the accessible node according to the node information of the pre-reading node.

[0065] In an optional implementation, the device further comprises a scheduling module, and the scheduling module is configured to:

[0066] determine a number of waiting transmission nodes in the data pre-reading node;

[0067] In a case where the number of the waiting transmission nodes is not zero, determining any one of the waiting transmission nodes as a target waiting transmission node, and determining any one of the accessible nodes as the target data generating node;

[0068] The sending module is specifically configured to:

[0069] send the data read command to the target waiting transmission node, so that the target waiting transmission node acquires the training data from the target data generating node and saves the training data in response to the data read command, wherein the data read command carries node information of the target data generating node.

[0070] In an optional implementation, the scheduling module is specifically further configured to:

[0071] determine that the number of the active transmission nodes in the data pre-reading node increases by one;

[0072] determine that the number of the active transmission nodes in the data pre-reading node decreases by one in a case where any one of the active transmission nodes completes a transmission task.

[0073] The embodiments of the present disclosure further provide a data transmission device, and the device comprises:

[0074] a command receiving module configured to receive a data read command sent by a data management node, wherein the data read command carries node information of a target data generating node;

[0075] a data acquiring module configured to acquire training data corresponding to an identification number of target training data required by the pre-reading node from the target data generating node based on the node information of the target data generating node and the identification number, and save the training data.

[0076] In an optional implementation, the device further comprises a judging module and a request sending module; wherein,

[0077] the judging module is configured to:

[0078] judge whether the target training data exists in the pre-reading node;

[0079] the request sending module is configured to:

[0080] in a case where the target training data does not exist in the pre-reading node, send a data query request to the data management node based on an identification number of the target training data, so that the data management node sends the data read command in response to the data query request.

[0081] In an optional implementation, the data obtaining module is specifically configured to:

[0082] based on the node information of the target data generation node, determine a target data generation node where the target training data is located;

[0083] based on the identification number of the target training data, generate a data obtaining request;

[0084] send the data obtaining request to the target data generation node, and receive training data corresponding to the identification number and sent by the target data generation node in response to the data obtaining request.

[0085] In an optional implementation, the apparatus further includes an instruction generation module configured to:

[0086] based on the node information of the pre-reading node, generate a node update instruction;

[0087] The request sending module is further configured to:

[0088] send the node update instruction to the data management node, so that the data management node responds to the node update instruction and updates the accessible node based on the node information of the pre-reading node, wherein the accessible node is generated based on the identification number of the training data generated by the data generation node and the node information of the data generation node.

[0089] The embodiments of the present disclosure further provide a data transmission apparatus, and the apparatus includes:

[0090] a training data generation module configured to generate at least one set of training data based on at least one training task, wherein each set of training data has a different identification number;

[0091] a node information determination module configured to determine node information of at least one pre-reading node required for each set of training data based on data content indicated by the each set of training data;

[0092] a metadata generation module configured to generate corresponding metadata based on the identification number of the each set of training data, the node information of the data generation node where the each set of training data is located, and the node information of the at least one pre-reading node;

[0093] a training data sending module configured to send the metadata to a data management node, so that the data management node manages the metadata, and so that each pre-reading node acquires training data corresponding to the identification number through the data management node.

[0094] In an alternative implementation, the apparatus further comprises a request receiving module configured to:

[0095] receive a data acquisition request of at least one pre-reading node, and determine an identification number of target training data carried by the data acquisition request;

[0096] based on the identification number of the target training data, send training data corresponding to the identification number to the pre-reading node.

[0097] The embodiments of the present disclosure further provide an electronic device, comprising a processor, a memory and a bus, the memory stores machine readable instructions executable by the processor, when the electronic device is running, the processor and the memory communicate through the bus, and the machine readable instructions are executed by the processor to perform the above data transmission method.

[0098] The embodiments of the present disclosure further provide a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to perform the above data transmission method.

[0099] The effects of the above data transmission apparatus, electronic device and computer readable storage medium are described in the above data transmission method, and will not be repeated here.

[0100] In order to make the above objectives, characteristics and advantages of the present disclosure more apparent and easy to understand, the following preferred embodiments are specifically described below, and the accompanying drawings are described in detail as follows. BRIEF DESCRIPTION OF DRAWINGS

[0101] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following will briefly introduce the drawings needed to be used in the embodiments, the drawings herein are incorporated into the description and form a part of the description, the drawings show the embodiments consistent with the present disclosure, and are used to illustrate the technical solutions of the present disclosure together with the description. It should be understood that the following drawings only show some embodiments of the present disclosure, and therefore should not be regarded as a limitation on the scope, and for those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.

[0102] Figure 1 An exemplary system architecture diagram for implementing the data transmission method provided by the embodiments of the present disclosure;

[0103] Figure 2 A flowchart of the first data transmission method provided by the embodiments of the present disclosure;

[0104] Figure 3 A flowchart of the second data transmission method provided by the embodiments of the present disclosure;

[0105] Figure 4 A flowchart of a method for obtaining training data according to an embodiment of the present disclosure;

[0106] Figure 5 A flowchart of another method for obtaining training data according to an embodiment of the present disclosure;

[0107] Figure 6 A flowchart of a third data transmission method according to an embodiment of the present disclosure;

[0108] Figure 7 A flowchart of a fourth data transmission method according to an embodiment of the present disclosure;

[0109] Figure 8 A flowchart of a method for obtaining training data corresponding to an identification number according to an embodiment of the present disclosure;

[0110] Figure 9 A flowchart of a fifth data transmission method according to an embodiment of the present disclosure;

[0111] Figure 10 A flowchart of a sixth data transmission method according to an embodiment of the present disclosure;

[0112] Figure 11 A flowchart of a seventh data transmission method according to an embodiment of the present disclosure;

[0113] Figure 12 A process schematic diagram of data transmission between different nodes according to an embodiment of the present disclosure;

[0114] Figure 13 A structural schematic diagram of a first data transmission apparatus according to an embodiment of the present disclosure;

[0115] Figure 14 A structural schematic diagram of a second data transmission apparatus according to an embodiment of the present disclosure;

[0116] Figure 15 A structural schematic diagram of a third data transmission apparatus according to an embodiment of the present disclosure;

[0117] Figure 16 A structural schematic diagram of a fourth data transmission apparatus according to an embodiment of the present disclosure;

[0118] Figure 17 A structural schematic diagram of a fifth data transmission apparatus according to an embodiment of the present disclosure;

[0119] Figure 18 A schematic diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0120] To make the purposes, technical solutions, and advantages of the embodiments of the present disclosure clearer, the following will be combined with the accompanying drawings for the embodiments of the present disclosure to make a clear and complete description of the technical solutions in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all the embodiments. The components of the embodiments of the present disclosure generally described and shown in the accompanying drawings can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present disclosure provided in the accompanying drawings is not intended to limit the scope of the claimed present disclosure, but only represents selected embodiments of the present disclosure. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.

[0121] It should be noted that: similar reference numbers and letters represent similar items in the following drawings, therefore, once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings.

[0122] The term "and / or" herein is only to describe an association relationship, which means that there can be three relationships, for example, A and / or B can mean that A exists alone, A and B exist together, and B exists alone. In addition, the term "at least one" herein means any one of a plurality or any combination of at least two of a plurality, for example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C.

[0123] First, the related terms involved in the embodiments of the present application are introduced and explained:

[0124] Artificial intelligence (AI) is to use digital computers or digital computer-controlled machines to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology of computer science, which tries to understand the essence of intelligence and produce a new intelligent machine that can react in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines, so that machines have the functions of perception, reasoning and decision-making.

[0125] Artificial intelligence technology is a comprehensive discipline, involving a wide range of fields, both hardware and software level technology. Artificial intelligence basic technology generally includes, such as sensors, special artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction system, mechatronics and other technologies. Artificial intelligence software technology mainly includes computer vision technology, speech processing technology, natural language processing technology and machine learning / deep learning and other fields.

[0126] Machine learning (ML) is a multi-disciplinary subject, involving probability theory, statistics, approximation theory, convex analysis, algorithm complexity theory and other disciplines. It is a specialized study of how computers simulate or implement human learning behavior to acquire new knowledge or skills, reorganize existing knowledge structure to continuously improve their performance. Machine learning is the core of artificial intelligence and the fundamental approach to making computers intelligent. Its applications are widespread in various fields of artificial intelligence. Machine learning and deep learning generally include artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning and other technologies.

[0127] Decision intelligence, including fully optimized training configuration, efficient algorithm implementation and pre-trained model library, can help researchers and engineers quickly start reinforcement learning, validate ideas and produce business baseline models. For example, in the embodiments of the present disclosure, a data validation system can be constructed based on a logical architecture system and combined with decision intelligence to achieve efficient validation of data.

[0128] See Figure 1 , Figure 1 An example of a distributed system architecture for implementing a data transmission method is provided in the embodiments of the present disclosure. As shown in Figure 1 , the system architecture 10 can include a plurality of data generation nodes 100, a data management node 200 and a plurality of pre-read nodes 300. Among them, the plurality of data generation nodes 100 and the data management node 200, and the plurality of pre-read nodes 300 and the data management node 200 are connected through a communication connection network 400 to establish communication connection, that is, the communication connection network 400 is used to provide a communication link medium between the plurality of data generation nodes 100 and the data management node 200, and between the plurality of pre-read nodes 300 and the data management node 200. The communication connection network 400 can include various types of wired communication links or wireless communication links, for example: wired communication links include optical fiber, twisted pair or coaxial cable, wireless communication links include Bluetooth communication link, Wireless-Fidelity (Wi-Fi) communication link or microwave communication link, etc.

[0129] The data generation node 100 and the pre-reading node 300 can be hardware or software. When the data generation node 100 and the pre-reading node 300 are hardware, they can be various types of electronic devices such as servers or terminal devices. When the data generation node 100 and the pre-reading node 300 are software, they can be installed in the aforementioned electronic devices and can be implemented as multiple software or software modules (for example, to provide distributed services) or as a single software or software module, which is not specifically limited here.

[0130] It should be understood that Figure 1 The number of data generation nodes 100, data management nodes 200, multiple pre-reading nodes 300 and communication connection networks 400 in the system is only illustrative. According to the needs of implementation, there can be any number of data generation nodes, data management nodes, pre-reading nodes and communication connection networks.

[0131] In the existing distributed network training technology, if the training data required by one of the training tasks in the pre-reading node 300 is on the data generation node 100, the pre-reading node 300 will interrupt the execution of the training task and call the training data through a remote procedure call (RPC). Until the calling process is completed, the current training task can continue to execute. In this way, the time for waiting for the training data to be called is increased, thereby reducing the efficiency of distributed reinforcement learning.

[0132] Based on the above research, the embodiment of the disclosure provides a data transmission method applied to a data management node, the method comprising: receiving metadata sent by at least one data generation node, wherein the metadata comprises an identification number of training data, node information of a data generation node where the training data is located, and node information of at least one pre-reading node; determining an accessible node based on the identification number of the training data and the node information of the data generation node where the training data is located, and determining a data pre-reading node based on the identification number of the training data and the node information of the at least one pre-reading node; sending a data reading command to at least one pre-reading node in the data pre-reading node, so that the at least one pre-reading node acquires the training data from a target data generation node in the accessible node in response to the data reading command.

[0133] In the embodiment of the disclosure, the accessible node and the data pre-reading node are determined according to the metadata, so that the at least one pre-reading node acquires the required training data in advance before executing the training task. Compared with the existing technology which interrupts the training task and uses the data on demand, the waiting time for data transmission can be reduced, and the training task is not affected, which is beneficial to improving the efficiency of data transmission and network training.

[0134] The following is combined Figure 2 This disclosure provides a detailed description of the data transmission method provided in the embodiments of this disclosure. The execution entity in these embodiments is generally an electronic device with a certain computing capability, such as a terminal device, a server, or other processing device. The server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud storage, big data, and artificial intelligence platforms. Other processing devices can be devices including processors and memory, and are not limited thereto. In some possible implementations, this data transmission method can be implemented by the processor calling computer-readable instructions stored in memory. For ease of understanding and description, the execution entity will be used as the data management node for detailed description below.

[0135] Please see Figure 2 , Figure 2 A flowchart illustrating a first data transmission method provided in an embodiment of this disclosure. Figure 2 As shown, the data transmission method provided in this embodiment is applied to... Figure 1 The data management nodes shown include the following S101 to S103:

[0136] S101, receive metadata sent by at least one data generating node, wherein the metadata includes the identifier of the training data, the node information of the data generating node where the training data is located, and the node information of at least one pre-reading node.

[0137] Here, a data generation node refers to a node that generates training data. Each data generation node may run one or more training tasks, and each training task will generate at least one set of training data. Each set of training data has a unique identifier, that is, each set of training data corresponds to metadata. A pre-fetch node refers to a node that needs to acquire the training data.

[0138] For example, the node information may be the node's name and network address information, specifically, it may refer to the Internet Protocol Address (IP) and port number information of the data generating node.

[0139] In this embodiment of the disclosure, the data management node refers to an instance of a data management component deployed in the training cluster, which is used to manage and maintain metadata and is responsible for scheduling the transmission tasks of training data between various physical devices.

[0140] S102, determining an accessible node based on the identification number of the training data and the node information of the data generation node where the training data is located, and determining a data pre-reading node based on the identification number of the training data and the node information of the at least one pre-reading node.

[0141] It can be understood that, since the data management node is responsible for the scheduling task of the training data, after receiving the plurality of metadata, the data management node integrates the plurality of metadata, that is, determines the accessible node according to the identification number of the training data and the node information of the node where the training data is located.

[0142] In order to more clearly represent the content and changing process of the accessible node and the data pre-reading node, the accessible node and the data pre-reading node can be represented by tables, queues, sets and the like. In the embodiments of the present disclosure, the accessible node and the data pre-reading node are described in detail by taking a table as an example.

[0143] Exemplarily, the content of the accessible node can be shown by the content shown in Table 1. As shown in Table 1, 1, 2, 3 to N refer to the identification number of the training data, each identification number corresponds to a group of training data, A, B to Z refer to the data generation node name where the training data is located, for example, A1, A2 can be the network address information (Internet Protocol address A1 and port number A2) of the node, the content in B (B1, B2) and Z (Z1, Z2) is similar to A (A1, A2), also includes the respective network address information, which is different according to different nodes, and the node information of the node where different training data with different identification numbers is located can be the same, for example, two groups of different training data with identification number 1 and identification number 3 are generated in node A.

[0144] Table 1

[0145]

[0146] In addition, the data pre-reading node is determined according to the identification number of the training data and the node information of the at least one pre-reading node that needs the training data, so that the data management node can schedule the training data.

[0147] Exemplarily, the content of the data pre-reading node can be shown by the content shown in Table 2. As shown in Table 2, 1, 2, 3 to N refer to the identification number of the training data, E (E1, E2), G (G1, G2), F (F1, F2) to Q (Q1, Q2) refer to the node information of the pre-reading node.

[0148] Table 2

[0149]

[0150] S103, sending a data read command to at least one of the data pre-reading nodes, so that the at least one pre-reading node acquires the training data from a target data generating node in the accessible nodes in response to the data read command.

[0151] The data read command comprises an identification number of the training data required by the pre-reading node and node information of the data generating node where the training data is located.

[0152] Specifically, the data management node sends a data read command to at least one pre-reading node according to the information of at least one pre-reading node in the data pre-reading nodes, to inform the pre-reading node that it can acquire the required training data from the data generating node corresponding to the data generating node information carried in the data read command. In this embodiment, the data acquisition command is sent to at least one pre-reading node according to the accessible nodes and the data pre-reading nodes, so that the pre-reading of the training data can be realized, the waiting time for data transmission can be reduced, and the efficiency of data reading can be improved.

[0153] In some embodiments, the data management node can send a data read command to at least one pre-reading node in the data pre-reading nodes according to the accessible nodes and the data pre-reading nodes maintained by the data management node, in the case that the metadata sent by the data generating node is received. Specifically, when the data management node receives the metadata sent by the data generating node, the data management node sends a data read command to at least one pre-reading node, so that the training data can be sent to at least one pre-reading node in advance, so that the pre-reading node can directly acquire and use the training data when it is needed. In other embodiments, the data management node can also be triggered to send a data read command to at least one pre-reading node at a regular interval, for example, the interval time of the regular triggering is set to be 30 seconds, 1 minute, 5 minutes, etc., which is not limited herein.

[0154] It can be understood that in the actual training process, when the pre-reading node needs to use the training data, if the training data has not been received, the pre-reading node will send a data query request to the data management node to acquire the training data. Therefore, in other embodiments, the data management node can also send a data read command to a target pre-reading node in the data pre-reading nodes in response to a data query request sent by the target pre-reading node. In this way, the data management node can inform the pre-reading node in the first time after the data generating node generates the training data, so as to improve the efficiency of training. The target pre-reading node can be one pre-reading node or multiple pre-reading nodes, which is not limited herein.

[0155] Please refer to Figure 3 ,Figure 3 A flowchart of a second data transmission method provided by embodiments of the present disclosure. Unlike the data transmission method shown in Figure 2 The data transmission method provided by embodiments of the present disclosure further includes the following S104-S105:

[0156] S104, receiving a node update instruction generated by the pre-reading node after the pre-reading node completes the acquisition of the training data, the node update instruction carrying node information of the pre-reading node.

[0157] S105, updating the accessible node according to the node information of the pre-reading node.

[0158] Exemplarily, the process of updating the accessible node can be illustrated by the contents shown in Table 3 and Table 4. Table 3 refers to the updated accessible node, and Table 4 refers to the data pre-reading node. As shown in Table 4, after the pre-reading node E completes the acquisition of the training data, the pre-reading node E saves the training data and generates a node update instruction according to its own node information. After the data management component receives the node update instruction, the data management component adds the node information E (E1, E2) of the pre-reading node carried by the node update instruction to the accessible node to obtain the updated accessible node (i.e., Table 3). That is, at this time, the pre-reading node E can also serve as a data generation node of the training data 1, and other pre-reading nodes can also acquire the training data 1 from the pre-reading node E. In this way, by increasing the number of data generation nodes, the efficiency of data transmission can be improved.

[0159]

[0160] In some embodiments, for the above step S103, when sending a data reading command to at least one of the data pre-reading nodes, so that the at least one pre-reading node acquires the training data from the target data generation node in the accessible node in response to the data reading command, please refer to Figure 4 , including the following S1031-S1032:

[0161] S1031, determining the number of waiting transmission nodes in the data pre-reading nodes.

[0162] The waiting transmission node refers to a node in the data pre-reading node that has not yet performed training data acquisition.

[0163] S1032, in the case that the number of the waiting transmission nodes is not zero, determining any one of the waiting transmission nodes as a target waiting transmission node, and determining any one of the accessible nodes as the target data generation node, and sending the data read command to the target waiting transmission node, so that the target waiting transmission node acquires the training data from the target data generation node and saves, wherein the data read command carries the node information of the target data generation node.

[0164] Specifically, in the case that the number of the waiting transmission nodes is not zero, that is, there is a pre-read node currently waiting to acquire the training data, at this time, any one of the waiting transmission nodes can be randomly determined as the target waiting transmission node, and any one of the accessible nodes can be randomly determined as the target data generation node. Then, after determining the target waiting transmission node, the data management node can send the data read command to the target waiting transmission node, wherein the data read command carries the node information of the target data generation node. In this way, after receiving the data read command, the target waiting transmission node can determine the target data generation node according to the data read command, and acquire the required training data from the target data generation node. The above-mentioned step of acquiring the training data is repeated until the number of the waiting transmission nodes is 0.

[0165] It can be understood that, in the case that the number of the waiting transmission nodes is not zero, it indicates that there is no pre-read node waiting for transmission, and no other steps need to be performed, and the flow ends.

[0166] In the embodiment of the present disclosure, in the case that the number of the waiting transmission nodes is not zero, the target waiting transmission node and the target data generation node are determined, so that each waiting transmission node can acquire the required training data.

[0167] In some embodiments, after determining any one of the waiting transmission nodes as the target waiting transmission node, and determining any one of the accessible nodes as the target data generation node, and sending the data read command to the target waiting transmission node, please refer to Figure 5 It also includes the following S1033-S1034:

[0168] S1033, determining that the number of the nodes in the data pre-read node that are currently transmitting is increased by one;

[0169] S1034, in the case that any one of the nodes in the data pre-read node that are currently transmitting completes the transmission task, determining that the number of the nodes that are currently transmitting is decreased by one.

[0170] The transmitting node refers to a node in the data pre-fetching node that is currently obtaining the training data.

[0171] It can be understood that after the data management node sends the data read command to the target waiting transmitting node, the number of the transmitting nodes is determined to increase by one. When any of the transmitting nodes completes the transmission task, the transmitting node saves the transmitted training data and the number of the transmitting nodes is determined to decrease by one. The process is repeated until the number of the transmitting nodes is zero. After the above scheduling strategy is executed, the pre-fetching process is completed. In addition, after the pre-fetching process is completed, the node that completes the transmission task becomes the data generating node in the accessible nodes.

[0172] In some other embodiments, when the data read command is sent to at least one pre-fetching node in the data pre-fetching nodes, so that the at least one pre-fetching node obtains the training data from the target data generating node in the accessible nodes in response to the data read command, if the number of the waiting transmitting nodes is not zero, the minimum value N between the number of the accessible nodes and the number of the waiting transmitting nodes is determined, wherein the N is a natural number.

[0173] Then, the steps of determining the target waiting transmitting node, determining the target data generating node, and sending the data read command in the above embodiments are repeated N times until the number of the waiting transmitting nodes is zero. In this way, according to the minimum value N, the scheduling of the training data is facilitated and the situation of missing transmission is prevented.

[0174] After the data management node sends the data read command to the waiting transmitting nodes, the number of the transmitting nodes is determined to increase by N. When one of the transmitting nodes completes the transmission task, the number of the transmitting nodes is determined to decrease by one, until the number of the transmitting nodes is zero. After the above scheduling strategy is executed, the pre-fetching process is completed. In addition, after the pre-fetching process is completed, the node that completes the transmission task becomes the data generating node in the accessible nodes.

[0175] In the embodiment, through the data scheduling strategy between the data generating node and the pre-fetching node, the situation of missing transmission and hot spot transmission is avoided, and the efficiency of data transmission is improved.

[0176] Please refer to Figure 6 , Figure 6 the flowchart of the third data transmission method provided by the embodiments of the present disclosure. As shown in Figure 6 the data transmission method provided by the embodiments of the present disclosure is applied to Figure 1The pre-reading node shown in the method comprises the following S601-S602.

[0177] S601, receiving a data reading command sent by a data management node, wherein the data reading command carries node information of a target data generating node.

[0178] S602, based on the node information of the target data generating node and an identification number of target training data required by the pre-reading node, obtaining training data corresponding to the identification number from the target data generating node, and saving the training data.

[0179] It can be understood that after receiving the data reading command sent by the data management node, the pre-reading node obtains the training data corresponding to the identification number of the target training data required by the pre-reading node from the target data generating node according to the node information of the target data generating node carried by the data reading command, and saves the training data.

[0180] In some embodiments, the pre-reading node can save the training data through a data storage component of the node.

[0181] In this embodiment, according to the data reading command sent by the data management node, the training data can be obtained from the target data generating node in advance, so that the waiting time of data transmission can be reduced, and the execution of the training task of the current pre-reading node will not be affected, thereby the efficiency of network training can be improved.

[0182] Please refer to Figure 7 , Figure 7 The flow chart of the fourth data transmission method provided by the embodiments of the present disclosure. Different from the data transmission method shown in Figure 6 The data transmission method in the embodiment further comprises the following S599-S600 before step S601.

[0183] S599, judging whether the target training data exists in the pre-reading node.

[0184] S600, in the case that the target training data does not exist in the pre-reading node, sending a data query request to the data management node based on the identification number of the target training data, so that the data management node sends the data reading command in response to the data query request.

[0185] Specifically, before the pre-reading node acquires the target training data, it is first determined whether the target training data exists in the data storage component of the current node. If the target training data exists, it is not necessary to acquire the target training data from other nodes. If the target training data does not exist, a data query request is generated based on the identification number of the target training data to which the current pre-reading node belongs, and the data query request is sent to the data management node. Then, the data management node sends a data reading command to the pre-reading node after receiving the data query request, so that the pre-reading node acquires the target training data from the target data generating node.

[0186] In the embodiment, by determining whether the target training data exists in the current pre-reading node, the situation that the target training data is acquired from other nodes when the target training data exists in the current pre-reading node can be avoided. In this way, invalid acquisition can be avoided, and the resources of data scheduling can be saved.

[0187] In some embodiments, for step S602, when the training data corresponding to the identification number is acquired from the target data generating node based on the node information of the target data generating node and the identification number of the target training data required by the pre-reading node, please refer to Figure 8 , which includes the following S6021-S6023:

[0188] S6021, based on the node information of the target data generating node, the target data generating node where the target training data is located is determined.

[0189] S6022, a data acquisition request is generated based on the identification number of the target training data.

[0190] S6023, the data acquisition request is sent to the target data generating node, and the training data corresponding to the identification number sent by the target data generating node in response to the data acquisition request is received.

[0191] Exemplarily, please refer to Figure 1 again, as shown in Figure 1 , the pre-reading node 300a can determine the target data generating node 100a where the target training data is located according to the node information, and generate a corresponding data acquisition request based on the identification number of the target training data, and send the data acquisition request to the target data generating node 100a. In this way, the pre-reading node 300a can acquire the training data corresponding to the identification number from the target data generating node 100a.

[0192] In this embodiment, the target training data is obtained from the target data generation node based on the node information of the target data generation node and the identification number of the target training data. In this way, point-to-point data transmission between the pre-reading node and the target data generation node can be established, and the efficiency of data transmission can be improved.

[0193] Referring to Figure 9 , Figure 9 The flowchart of the fifth data transmission method provided by the embodiments of the present disclosure is shown in FIG. 7. Different from the data transmission method shown in Figure 6 , the data transmission method in this embodiment further includes the following S603-S604.

[0194] S603, generating a node update instruction based on the node information of the pre-reading node.

[0195] S604, sending the node update instruction to the data management node, so that the data management node responds to the node update instruction and updates the accessible node based on the node information of the pre-reading node, wherein the accessible node is generated based on the identification number of the training data generated by the data generation node and the node information of the data generation node.

[0196] It can be understood that since the training data has been saved in the pre-reading node, the pre-reading node is the data generation node with the training data. Specifically, after the pre-reading node saves the training data, it will generate a node update instruction according to its own node information and send the instruction to the data management node. In this way, the data management node can add the node information of the pre-reading node in the accessible node, and when other nodes need to obtain the training data, the data management component can send the node information of the pre-reading node to the node. In this way, the data transmission efficiency can be improved, and the occurrence of hot spot transmission can be reduced.

[0197] Referring to Figure 10 , Figure 10 The flowchart of the sixth data transmission method provided by the embodiments of the present disclosure is shown in FIG. 8. As shown in Figure 10 , the data transmission method provided by the embodiments of the present disclosure is applied to Figure 1 the data generation node shown in FIG. 6, and includes the following S701-S704.

[0198] S701, generating at least one group of training data based on at least one training task, wherein each group of training data has a different identification number.

[0199] The training task can be a reinforcement learning training task, and the reinforcement learning model trained by the reinforcement learning training task can be applied to various scenarios, such as a game scenario, an autonomous driving scenario, or a robot working scenario, without limitation. It can be understood that each data generation node can have one or more training tasks, and each training task can generate at least one set of training data, and each set of training data has a unique identification number.

[0200] For example, in the game scenario, the game can be operated by a neural network model in reinforcement learning (i.e., simulating the process of playing the game), the training task can be an iterative task of the neural network model, and the training task runs in the data generation node. The training data refers to the model parameters of the neural network model obtained by each iteration, the pre-reading node interacts with the game environment based on the model parameters to obtain the corresponding experience result, and the data generation node updates the neural network model again according to the experience result and pre-sends the model parameters to the pre-reading node. In this way, the above iteration process is repeated, and finally the neural network model meeting the requirements is obtained, the training of the reinforcement learning model is realized, and the pre-reading node can pre-acquire the required training data, which is beneficial to improving the efficiency of data transmission.

[0201] In some embodiments, at least one set of training data generated by at least one training task in each data generation node is stored in the data storage component of the data generation node. Specifically, when running the training task, each training task starts a client instance, which has a connection relationship with the data storage component and can read and write training data from the data storage component. In this way, the training data generated by each training task can be stored in the data storage component.

[0202] S702, based on the data content indicated by each set of training data, determining the node information of at least one pre-reading node required for each set of training data.

[0203] The data content can be the size (i.e., the number) of the training data, and can also be the form of the training data, such as pictures, audio, video, or text, without limitation.

[0204] It can be understood that each training task will specify the pre-reading node required for the training data when storing the training data through the client instance, that is, the node information of at least one pre-reading node required for the training data can be determined based on the data content indicated by each set of training data.

[0205] S703, based on the identification number of each set of training data, the node information of the data generation node where each set of training data is located, and the node information of at least one pre-reading node, generating corresponding metadata.

[0206] S704, send the metadata to the data management node, so that the data management node manages the metadata, and so that each pre-read node obtains training data corresponding to the identification number through the data management node.

[0207] Specifically, after saving the training data, the data storage component submits the metadata and the node information of the at least one pre-read node to the data management node, so that the data management node can schedule data between the data generation node and the pre-read node, and complete the transmission of data through the point-to-point data scheduling strategy in the above embodiment.

[0208] In this embodiment, the metadata is generated based on the identification number of the training data, the node information of the data generation node where the training data is located, and the node information of the at least one pre-read node, and is sent to the data management node for management. In this way, point-to-point data scheduling can be performed through the data management node, so that the pre-read node can pre-obtain the required training data, which is beneficial to improving the efficiency of data transmission.

[0209] Please refer to Figure 11 , Figure 11 the flowchart of the seventh data transmission method provided by the embodiments of the present disclosure. Different from the data transmission method shown in Figure 10 , the method further includes the following S705-S706 after step S704:

[0210] S705, receive a data acquisition request of at least one pre-read node, and determine the identification number of the target training data carried by the data acquisition request.

[0211] S706, based on the identification number of the target training data, send the training data corresponding to the identification number to the pre-read node.

[0212] Specifically, after determining the target data generation node, the pre-read node sends a data acquisition request to the target generation node, wherein the data acquisition request carries the identification number of the target training data required by the pre-read node. The target data generation node can extract the target training data from the data storage component of the node according to the identification number, and send the target training data to the pre-read node.

[0213] Next, taking a game scenario as an example, the data transmission process between the data generation node, the data management node and the pre-read node is described in detail.

[0214] In reinforcement learning, a game can be operated based on a neural network model, a data generation node is configured to run a training task of model iteration, and generate training data (i.e., model parameters), and the training data is managed by a data management node, and is sent to a pre-reading node in advance, then the pre-reading node interacts with the game environment based on the training data to obtain experience results. Thus, it is an execution process of data transmission among the data generation node, the data management node and the pre-reading node.

[0215] Referring to Figure 12 , a process diagram of data transmission among different nodes provided by an embodiment of the present disclosure is shown as Figure 12 As shown in the figure, the data generation node generates a plurality of sets of training data (i.e., model parameters), and determines the node information of at least one pre-reading node according to the data content, then generates a plurality of metadata based on the identification number of each set of training data, the node information of the data generation node where each set of training data is located, and the node information of at least one pre-reading node, and sends the plurality of metadata to the data management node, (i.e., the process of steps S701-S704).

[0216] After the data management node receives the metadata, the accessible node is determined based on the content of the metadata, i.e., the identification number and the node information of the data generation node corresponding to the identification number, the data pre-reading node is also determined according to the identification number and the node information of the pre-reading node corresponding to the identification number, and the data reading command is sent to at least one pre-reading node according to the above content, (i.e., the process of steps S101-S103).

[0217] After the pre-reading node receives the data reading command, the data generation node sends a data acquisition request to the target data generation node according to the node information of the target data generation node in the data reading command and the identification number of the training data required by the pre-reading node, (i.e., the process of steps S601-S602).

[0218] It should be noted that before the pre-reading node receives the data reading command, it will first determine whether the target training data required by the node exists in the node, if not, it will send a data query request to the data management node, and wait for the data management node to send a data reading command to the pre-reading node, (i.e., the process of steps S599-S600).

[0219] The target data generation node sends the training data corresponding to the identification number to the pre-reading node after receiving the data acquisition request (S706). After the pre-reading node receives the training data, the generation node generates a node update instruction (S603) and sends the instruction to the data management node (S604). The data management node updates the accessible node according to the received node update instruction (S104) (S105). Thus, the process of data pre-reading is completed.

[0220] In this embodiment, the target training data can be determined from the plurality of training data based on the identification number of the target training data in the data acquisition request sent by the pre-reading node. Thus, point-to-point data transmission can be realized, which is beneficial to improve the efficiency of data transmission.

[0221] Those skilled in the art can understand that the writing order of each step in the above method of the specific embodiment does not mean a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.

[0222] Based on the same inventive concept, the disclosure embodiments also provide a data transmission device corresponding to the data transmission method. Since the principle of solving problems of the device in the disclosure embodiments is similar to the above-mentioned data transmission method of the disclosure embodiments, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.

[0223] Please refer to Figure 13 The structure diagram of the first data transmission device provided by the disclosure embodiments is shown in the figure. The device comprises a receiving module 810, a determining module 820 and a sending module 830.

[0224] The receiving module 810 is configured to receive the metadata sent by at least one data generation node, wherein the metadata comprises the identification number of the training data, the node information of the data generation node where the training data is located, and the node information of at least one pre-reading node.

[0225] The determining module 820 is configured to determine the accessible node based on the identification number of the training data and the node information of the data generation node where the training data is located, and determine the data pre-reading node based on the identification number of the training data and the node information of the at least one pre-reading node.

[0226] The sending module 830 is configured to send a data reading command to at least one pre-reading node in the data pre-reading node, so that the at least one pre-reading node acquires the training data from the target data generation node in the accessible node in response to the data reading command.

[0227] In an alternative implementation, the sending module 830 is specifically configured to:

[0228] In the case where the metadata sent by the data generation node is received, based on the data pre-reading node, a data reading command is sent to at least one of the data pre-reading nodes; and / or,

[0229] In response to a data query request sent by a target pre-reading node of the data pre-reading nodes, a data reading command is sent to the target pre-reading node.

[0230] Please refer to Figure 14 The structure diagram of the second data transmission device provided by the embodiment of the present disclosure is different from the data transmission device shown in Figure 13 The device further comprises an updating module 840.

[0231] The receiving module 810 is further configured to:

[0232] Receive a node updating instruction generated by the pre-reading node when the pre-reading node completes the training data, wherein the node updating instruction carries node information of the pre-reading node.

[0233] The updating module 840 is configured to:

[0234] Update the accessible node according to the node information of the pre-reading node.

[0235] In an alternative implementation, the device further comprises a scheduling module 850, and the scheduling module 850 is configured to:

[0236] Determine the number of waiting transmission nodes in the data pre-reading nodes;

[0237] In the case where the number of waiting transmission nodes is not zero, determine any waiting transmission node as a target waiting transmission node from the waiting transmission nodes, and determine any data generation node as the target data generation node from the accessible nodes;

[0238] The sending module 830 is specifically configured to:

[0239] Send the data reading command to the target waiting transmission node, so that the target waiting transmission node acquires the training data from the target data generation node and saves the training data in response to the data reading command, wherein the data reading command carries node information of the target data generation node.

[0240] In an alternative implementation, the scheduling module 850 is further configured to:

[0241] Determine that the number of transmission nodes in the data pre-reading nodes is increased by one.

[0242] In a case where any of the data pre-reading nodes in transmission completes a transmission task, it is determined that the number of the nodes in transmission decreases by one.

[0243] Referring to Figure 15 A third data transmission device provided by an embodiment of the present disclosure is shown in a structural schematic diagram. The device comprises a command receiving module 910 and a data obtaining module 920.

[0244] The command receiving module 910 is configured to receive a data reading command sent by a data management node, wherein the data reading command carries node information of a target data generating node.

[0245] The data obtaining module 920 is configured to obtain training data corresponding to an identification number of target training data required by the pre-reading node from the target data generating node based on the node information of the target data generating node and the identification number, and save the training data.

[0246] Referring to Figure 16 A fourth data transmission device provided by an embodiment of the present disclosure is shown in a structural schematic diagram. Different from the data transmission device shown in Figure 15 The device further comprises a judgment module 930 and a request sending module 940.

[0247] The judgment module 930 is configured to determine whether the target training data exists in the pre-reading node.

[0248] The request sending module 940 is configured to send a data query request to the data management node based on the identification number of the target training data in a case where the target training data does not exist in the pre-reading node, so that the data management node sends the data reading command in response to the data query request.

[0249] In an optional implementation, the data obtaining module 920 is specifically configured to:

[0250] Determine the target data generating node where the target training data is located based on the node information of the target data generating node.

[0251] Generate a data obtaining request based on the identification number of the target training data.

[0252] Send the data obtaining request to the target data generating node, and receive the training data corresponding to the identification number sent by the target data generating node in response to the data obtaining request.

[0253] In an alternative implementation, the apparatus further comprises an instruction generation module 950 configured to:

[0254] generate a node update instruction based on the node information of the pre-read node;

[0255] The request sending module 940 is further configured to:

[0256] send the node update instruction to the data management node, so that the data management node responds to the node update instruction and updates the accessible node based on the node information of the pre-read node, wherein the accessible node is generated based on the identification number of the training data generated by the data generation node and the node information of the data generation node.

[0257] Referring to Figure 17 A fifth data transmission apparatus provided by the embodiments of the present disclosure is shown in FIG. 10. The apparatus comprises a training data generation module 1010, a node information determination module 1020, a metadata generation module 1030, and a training data sending module 1040. The training data generation module 1010 is configured to generate at least one set of training data based on at least one training task, wherein each set of training data has a different identification number.

[0258] The training data generation module 1010 is configured to generate at least one set of training data based on at least one training task, wherein each set of training data has a different identification number.

[0259] The node information determination module 1020 is configured to determine the node information of at least one pre-read node required for each set of training data based on the data content indicated by the each set of training data.

[0260] The metadata generation module 1030 is configured to generate corresponding metadata based on the identification number of each set of training data, the node information of the data generation node where each set of training data is located, and the node information of at least one pre-read node.

[0261] The training data sending module 1040 is configured to send the metadata to a data management node, so that the data management node manages the metadata, and so that each pre-read node acquires the training data corresponding to the identification number through the data management node.

[0262] In an alternative implementation, the node information determination module 1020 is further configured to:

[0263] receive a data acquisition request of at least one pre-read node, and determine the identification number of the target training data carried by the data acquisition request.

[0264] The training data sending module 1040 is further configured to:

[0265] Based on the identification number of the target training data, the training data corresponding to the identification number is sent to the pre-reading node.

[0266] The description of the processing flow of each module in the device and the interaction flow between the modules can refer to the related description in the above method embodiments, and will not be described in detail here.

[0267] Based on the same technical concept, the embodiments of the present disclosure also provide an electronic device. Referring to Figure 18 As shown in FIG. 13, the electronic device 1400 provided by the embodiments of the present disclosure includes a processor 1401, a memory 1402, and a bus 1403. The memory 1402 is used to store execution instructions, including an internal memory 14021 and an external memory 14022. The internal memory 14021 is also called an internal memory, which is used to temporarily store operation data in the processor 1401 and exchange data with the external memory 14022 such as a hard disk. The processor 1401 exchanges data with the external memory 14022 through the internal memory 14021.

[0268] In the embodiments of the present application, the memory 1402 is specifically used to store application program codes for executing the schemes of the present application, and is controlled to execute by the processor 1401. That is, when the electronic device 1400 is running, the processor 1401 and the memory 1402 communicate through the bus 1403, so that the processor 1401 executes the application program codes stored in the memory 1402, and further executes the method in any of the preceding embodiments.

[0269] The processor 1401 can be an integrated circuit chip with a processing capability. The processor mentioned above can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; or can be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. It can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present disclosure. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor.

[0270] The memory 1402 can be, but is not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a Programmable Read-Only memory (PROM), an Erasable Programmable Read-Only memory (EPROM), an Electric Erasable Programmable Read-Only memory (EEPROM), etc.

[0271] It can be understood that the structure shown in the embodiments of the present application does not constitute a specific limitation on the electronic device 1400. In some other embodiments of the present application, the electronic device 1400 can include more or fewer components than those shown, or combine some components, or split some components, or different arrangement of components. The components shown can be implemented in hardware, software or a combination of software and hardware.

[0272] The embodiments of the present disclosure also provide a computer readable storage medium, which stores a computer program. When the computer program is run by a processor, the steps of the data transmission method described in the above method embodiments are executed. The storage medium can be a volatile or non-volatile computer readable storage medium.

[0273] The embodiments of the present disclosure also provide a computer program product, which carries a program code. The instructions included in the program code can be used to execute the steps of the data transmission method described in the above method embodiments. For details, please refer to the above method embodiments, which will not be described here.

[0274] The computer program product can be specifically implemented by hardware, software or a combination thereof. In one optional embodiment, the computer program product is specifically embodied as a computer storage medium. In another optional embodiment, the computer program product is specifically embodied as a software product, such as a software development kit (SDK) and the like.

[0275] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system and the terminal described above can refer to the corresponding process in the foregoing method embodiments, and will not be repeated here. In several embodiments provided in the present disclosure, it should be understood that the disclosed system, terminal and method can be implemented in other ways. The terminal embodiments described above are only schematic, for example, the division of the units is only a logical function division, and another division can be made in actual implementation, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be through some communication interfaces, or indirect coupling or communication connection between units, which can be electrical, mechanical or other forms.

[0276] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e., they can be located in one place or distributed on multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.

[0277] In addition, each functional unit in each embodiment of the present disclosure can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit.

[0278] If the functions are realized in the form of software functional units and sold or used as independent products, they can be stored in a non-volatile computer readable storage medium executable by a processor. Based on this understanding, the technical solutions of the present disclosure essentially or the part of the prior art or the part of the technical solutions can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a plurality of instructions to make an electronic device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present disclosure. The foregoing storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk, and various program code storage media.

[0279] Finally, it should be noted that the above-described embodiments are merely specific embodiments of the present disclosure, used to illustrate the technical solutions of the present disclosure, and are not intended to limit the present disclosure. The protection scope of the present disclosure is not limited thereto. Although the present disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can make modifications or easy changes to the technical solutions described in the foregoing embodiments, or easily think of changes or equivalent replacements for some of the technical features; and these modifications, changes or replacements do not cause the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present disclosure, and should be covered within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be subject to the protection scope of the claims.

Claims

1. A data transmission method, characterized in that, Applied to a data management node, the method includes: Receive metadata sent by at least one data generating node, wherein the metadata includes the identifier of the training data, the node information of the data generating node where the training data is located, and the node information of at least one pre-reading node; Receive a node update instruction generated by the pre-read node after it has acquired the training data, the node update instruction carrying the node information of the pre-read node; The node information of the pre-read node carried by the node update instruction is added to the accessible node to obtain the updated accessible node. Based on the identifier of the training data and the node information of the data generating node where the training data is located, an accessible node is determined from the updated accessible nodes, and a data pre-read node is determined based on the identifier of the training data and the node information of the at least one pre-read node. A data read command is sent to at least one of the data pre-read nodes, causing the at least one pre-read node to respond to the data read command and obtain the training data from the target data generating node among the accessible nodes.

2. The method according to claim 1, characterized in that, Sending a data read command to at least one of the data prefetch nodes includes: Upon receiving metadata sent by the data generating node, a data read command is sent to at least one of the data pre-read nodes based on the data pre-read node; and / or, In response to a data query request sent by the target pre-read node in the data pre-read nodes, a data read command is sent to the target pre-read node.

3. The method according to claim 1, characterized in that, Sending a data read command to at least one of the data pre-read nodes, causing the at least one pre-read node to respond to the data read command and obtain the training data from the target data generating node among the accessible nodes, includes: Determine the number of nodes waiting to be transmitted among the data pre-read nodes; If the number of waiting transmission nodes is not zero, any one of the waiting transmission nodes is determined as the target waiting transmission node, and any one of the accessible nodes is determined as the target data generation node. The data read command is then sent to the target waiting transmission node, so that the target waiting transmission node responds to the data read command to obtain the training data from the target data generation node and save it. The data read command carries the node information of the target data generation node.

4. The method according to claim 3, characterized in that, After determining any one of the waiting transmission nodes as the target waiting transmission node from the waiting transmission nodes, and determining any one of the data generating nodes as the target data generating node from the accessible nodes, and sending the data read command to the target waiting transmission node, the method further includes: The number of nodes currently transmitting data among the data pre-reading nodes is increased by one; If any of the data pre-reading nodes that is currently transmitting completes its transmission task, the number of the transmitting nodes is reduced by one.

5. A data transmission method, characterized in that, Applied to prefetch nodes, the method includes: Receive a data read command sent by the data management node, wherein the data read command carries node information of the target data generating node; Based on the node information of the target data generating node and the identifier of the target training data required by the pre-reading node, the training data corresponding to the identifier is obtained from the target data generating node and the training data is saved. Based on the node information of the pre-read nodes, a node update instruction is generated; The node update instruction is sent to the data management node so that the data management node responds to the node update instruction and adds the node information of the pre-read node to the accessible node to obtain the updated accessible node. The accessible node is generated based on the identifier of the training data generated by the data generating node and the node information of the data generating node.

6. The method according to claim 5, characterized in that, Before receiving the data read command sent by the data management node, the method further includes: Determine whether the target training data exists in the pre-read node; If the target training data is not present in the pre-reading node, a data query request is sent to the data management node based on the identifier of the target training data, causing the data management node to respond to the data query request and send the data read command.

7. The method according to claim 5, characterized in that, The step of obtaining training data corresponding to the identifier from the target data generating node based on the node information of the target data generating node and the identifier of the target training data required by the pre-read node includes: Based on the node information of the target data generation node, determine the target data generation node where the target training data is located; A data acquisition request is generated based on the identifier of the target training data; The data acquisition request is sent to the target data generating node, and the training data corresponding to the identifier is received by the target data generating node in response to the data acquisition request.

8. A data transmission method, characterized in that, Applied to data generating nodes, the method includes: Based on at least one training task, generate at least one set of training data, wherein each set of training data has a different identifier. Based on the data content indicated by each set of training data, determine the node information of at least one pre-read node that requires each set of training data; Based on the identifier of each set of training data, the node information of the data generation node where each set of training data is located, and the node information of at least one pre-read node, corresponding metadata is generated. The metadata is sent to the data management node, which manages the metadata and allows each pre-read node to obtain training data corresponding to the identifier through the data management node. After obtaining the training data, each pre-read node generates a node update instruction carrying its node information and sends it to the data management node. The data management node adds the node information of the pre-read node carried by the node update instruction to the accessible nodes to obtain updated accessible nodes. Based on the identifier of the training data and the node information of the data generation node where the training data is located, the data management node determines the accessible nodes from the updated accessible nodes and obtains the training data from the accessible nodes.

9. The method according to claim 8, characterized in that, After sending the metadata to the data management node, the method further includes: Receive data acquisition requests from at least one pre-read node and determine the identifier of the target training data carried in the data acquisition request; Based on the identifier of the target training data, the training data corresponding to the identifier is sent to the pre-read node.

10. A data transmission device, characterized in that, include: A receiving module is configured to receive metadata sent by at least one data generating node, wherein the metadata includes the identifier of the training data, the node information of the data generating node where the training data is located, and the node information of at least one pre-reading node. The receiving module is also used to receive a node update instruction generated by the pre-read node after it has acquired the training data, the node update instruction carrying the node information of the pre-read node; The update module is used to add the node information of the pre-read node carried by the node update instruction to the accessible node to obtain the updated accessible node. The determination module is used to determine accessible nodes from the updated accessible nodes based on the identifier of the training data and the node information generated by the data where the training data is located, and to determine data pre-reading nodes based on the identifier of the training data and the node information of the at least one pre-reading node. The sending module is configured to send a data read command to at least one of the data pre-reading nodes, causing the at least one pre-reading node to respond to the data read command and obtain the training data from the target data generating node among the accessible nodes.

11. A data transmission device, characterized in that, include: The command receiving module is used to receive data reading commands sent by the data management node, wherein the data reading command carries node information of the target data generating node; The data acquisition module is used to acquire training data corresponding to the identifier from the target data generation node based on the node information of the target data generation node and the identifier of the target training data required by the pre-read node, and save the training data. The instruction generation module is used to generate node update instructions based on the node information of the pre-read nodes; The request sending module is used to send the node update instruction to the data management node, so that the data management node responds to the node update instruction and adds the node information of the pre-read node to the accessible node to obtain the updated accessible node, wherein the accessible node is generated based on the identifier of the training data generated by the data generating node and the node information of the data generating node.

12. A data transmission device, characterized in that, include: The training data generation module is used to generate at least one set of training data based on at least one training task, wherein each set of training data has a different identifier. The node information determination module is used to determine the node information of at least one pre-read node that needs to be read from each set of training data based on the data content indicated by each set of training data. The metadata generation module is used to generate corresponding metadata based on the identifier of each group of training data, the node information of the data generation node where each group of training data is located, and the node information of at least one pre-read node. The training data sending module is used to send the metadata to the data management node, enabling the data management node to manage the metadata and allowing each pre-read node to obtain training data corresponding to the identifier through the data management node. After obtaining the training data, each pre-read node generates a node update instruction carrying its node information and sends it to the data management node. The data management node then adds the node information of the pre-read node carried in the node update instruction to the accessible nodes to obtain updated accessible nodes. Based on the identifier of the training data and the node information of the data generation node where the training data is located, the module determines accessible nodes from the updated accessible nodes to obtain the training data.

13. An electronic device, characterized in that, include: The device includes a processor, a memory, and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the memory via the bus, and the machine-readable instructions, when executed by the processor, perform the data transmission method as described in any one of claims 1 to 9.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the data transmission method as described in any one of claims 1 to 9.

Citation Information

Patent Citations

  • Model parameter updating method and related equipment thereof

    CN111461343A