WO2022105884A1 - Data transmission method and apparatus, network device, and storage medium - Google Patents
Data transmission method and apparatus, network device, and storage medium Download PDFInfo
- Publication number
- WO2022105884A1 WO2022105884A1 PCT/CN2021/131823 CN2021131823W WO2022105884A1 WO 2022105884 A1 WO2022105884 A1 WO 2022105884A1 CN 2021131823 W CN2021131823 W CN 2021131823W WO 2022105884 A1 WO2022105884 A1 WO 2022105884A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- memory space
- target
- information
- network node
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 8
- 239000000872 buffer Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
Definitions
- the embodiments of the present application relate to the field of storage data transmission, and in particular, to a data transmission method, apparatus, network device, and storage medium.
- the network device When the source network transmits data to the target network, but the protocol stacks of the source network and the target network are not equal, the network device needs to process the transmitted data to meet the data requirements of the target network. It is transmitted to the network device, the data is copied from the user mode in the network device to the operating system protocol stack of the kernel mode, and the data is processed through the operating system protocol stack, so that the processed data satisfies the transmission protocol of the target network, and then the The processed data is sent to the target network.
- the embodiment of the present application provides a data transmission method, including: reading data from a source network node to a memory space through a source network card; forwarding information in the memory space to a target user mode protocol stack, and the target user mode protocol stack is based on the memory space.
- the space information constructs the message of the target network protocol type, the message carries the data address in the memory space, and the data in the memory space is sent to the target network node through the target network card based on the message of the target network protocol type.
- An embodiment of the present application also provides a data transmission device, including: a data reading module, used for reading data from a source network node to a memory space through a source network card; a data forwarding module, used for forwarding information in the memory space to The target user mode protocol stack, the target user mode protocol stack constructs the message of the target network protocol type according to the information of the memory space, and the message carries the data address in the memory space; the data sending module is used to pass the target network card based on the target network protocol type. The message sends the data in the memory space to the target network node.
- An embodiment of the present application further provides a network device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores a program that can be executed by the at least one processor Instructions that are executed by the at least one processor to enable the at least one processor to perform the above-described data transfer method.
- Embodiments of the present application further provide a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the above-mentioned data transmission method is implemented.
- FIG. 1 is a schematic diagram of a data transmission network according to the related art
- FIG. 2 is a flowchart of a data transmission method according to the first embodiment of the present application.
- FIG. 3 is a schematic diagram of a data transmission network according to the first embodiment of the present application.
- FIG. 4 is a flowchart of a data transmission method according to a second embodiment of the present application.
- FIG. 5 is a schematic diagram of a data transmission network according to a second embodiment of the present application.
- FIG. 6 is a schematic diagram of a data transmission apparatus according to a third embodiment of the present application.
- FIG. 7 is a schematic structural diagram of a network device according to a fourth embodiment of the present application.
- the related technology uses the operating system protocol stack to convert the protocol. During the conversion process, multiple data copies and system state switching are required. Resource overhead is high.
- the following takes the source network, that is, the sending end network is a Remote Direct Memory Access (RDMA) network, the target network, that is, the receiving end network is ordinary Ethernet, and the remote read operation of the client in the distributed storage scenario is used as an example to illustrate the description.
- RDMA Remote Direct Memory Access
- node1 and node2 are network nodes in RDMA, namely source network nodes
- Ethernet network interface card (ENIC) is a common Ethernet network card
- RNIC a network adapter that can realize RDMA function
- the client connects to the master node of the distributed file system through the Transmission Control Protocol (TCP) link.
- TCP Transmission Control Protocol
- the master node reads the required target data from other nodes through RDMA, writes into the local RDMA memory, may also need to be written to the local storage, and then return data to the client through the TCP link, the process is as follows;
- Step 1 The master node of the storage system reads data from other nodes in the cluster to the MR (Memeory Regin) space of this node through the RNIC network card.
- Step 2 The master node of the storage system copies the data in the MR to the socket, and then sends it to the buffer TxBuf. If necessary, it can be written to the local cache storage.
- Step 3 Send the buffer data to the operating system protocol stack OS protocol stack.
- the data in the buffer TxBuf belongs to the application layer. To send it to the operating system protocol stack, it needs to copy the data and switch the user state to the kernel state.
- Step 4 The operating system protocol stack sends the TCP packet to the network card queue.
- Step 5 Finally, the ENIC network card sends the TCP packet to the network. Sent over the network to the target node.
- the first embodiment of the present application proposes a data transmission method, which can be applied to network devices such as gateways.
- This embodiment includes: reading data from a source network node to a memory space through a source network card; transferring information in the memory space It is transmitted to the target user mode protocol stack, and the target user mode protocol stack constructs the message of the target network protocol type according to the information of the memory space; the data in the memory is sent to the target network node through the target network card.
- the network stacks are not equal and protocol conversion is required, there is no need to go through the kernel mode protocol stack, but the memory is the center.
- the user mode protocol stack shares the same memory data, and forwards the data in the memory in the user mode, reducing the memory data.
- FIG. 2 A flowchart of the data transmission method according to the first embodiment of the present application is shown in FIG. 2 .
- Step 201 Read data from the source network node to the memory space through the source network card.
- a forwarding rule for data in the memory is configured according to the link between the source network node and the target network node, wherein the forwarding rule includes: source network node information and target network node information, that is, data matching the source network node information will be sent to the target network node.
- the forwarding rule includes: memory space information, input information, and output information; the input information includes source network node information, and the output information includes: target network information; the source network node information includes: protocol, source information, and target network information Including protocol, action, target information.
- the server port 80 provides a web network access service externally, and requests data from the source network.
- the data gateway Enable the data gateway service according to the configuration.
- the data gateway is compatible with RDMA and TCP protocols, and supports forwarding memory data to two target systems and allocating memory buffers.
- the memory space information in the configured forwarding rule is that the memory space address is 0x12323455, the memory space size is 16MB, the input information includes the source network node information, the source network node information includes the source network protocol RDMA, and the source information, namely nodes node1, node2 , the output information includes the protocol tcp protocol of the target network, the action "trans", that is to say, data conversion is performed, the target information: 1000, and the data is forwarded to the tcp link numbered 1000.
- the above forwarding rules are configured by the json file.
- the forwarding rules of the memory , the configured forwarding rules are as follows:
- the rule specifies the corresponding memory space and size. As shown in Figure 3, data is read from node1 and node2 into the memory space, and the output stream is 1: forward data to the tcp link numbered 1000.
- the link is established in advance. After the link is established, the forwarding rule is configured. When the data needs to be forwarded, it can be forwarded directly according to the forwarding rule, thereby improving the forwarding efficiency.
- This embodiment creates a memory space according to the configured forwarding rules, obtains data from the source network node node1 or node2 through the source network card RNIC, and reads a memory space with an address of 0x12323455 and a size of 16MB.
- Step 202 Determine the target transmission protocol of the next hop according to the preset logic, and directly transmit the information of the memory space to the next hop data transmission protocol stack, that is, obtain the target network matching the source network node according to the preset forwarding rule node information, and determine the target user mode protocol stack according to the matching target network node information, forward the memory space information to the determined target user mode protocol stack, and the target user mode protocol stack constructs the target network protocol type according to the memory space information.
- the message carries the data address in the memory space.
- the data information (including source address and protocol type) in the memory is passed to the data gateway service of the user-mode protocol stack, and the next-hop routing information (including destination address and protocol type) of the data is obtained for subsequent Forwards the data in memory to the destination address according to the new protocol.
- the target user-mode TCP/IP protocol stack in this embodiment refers to the realization of the RDMA software stack, and based on the DPDK (Data Plane Development Kit) framework, the user-mode TCP/IP protocol stack is customized and transformed.
- the data gateway service executes the write_cmd command to send messages to SQ, carrying memory information, target information, etc.
- the software protocol stack that is, the user-mode TCP/IP protocol stack reads the SQ queues and runs them one by one, and the write_cmd instruction triggers the TCP sending process.
- the customized user-mode TCP/IP protocol stack uses header and data separation to construct TCP packets.
- Each mbuf packet carries the header content and data pointer, and data points to the memory data to be sent.
- the network card detects the to-be-sent message, and sends the header and data into a complete message to the network.
- the protocol stack stores the completion event CE (complet event) in the CQ queue, and the gateway service checks the CQ queue to obtain the sending command.
- CE compute event
- DB Door Bell
- Step 203 Send the data in the memory space to the target network node through the target network card based on the message of the target network protocol type.
- an end event is stored in the completion queue; the sending result is obtained according to the end event in the completion queue.
- the data is sent to the ENIC network node through the target network card ENIC. That is to say, the network card detects the message to be sent, and sends the complete message composed of header and data to the network, and transmits it to the ENIC network node through the network.
- the protocol stack stores the completion event CE (complete event) in the CQ queue, and the gateway service checks the CQ queue to obtain the result of sending the command.
- DB Door Bell
- a completion queue storage end event is defined in the user protocol stack.
- this embodiment can synchronously perform transmission and asynchronous acquisition of the transmission result.
- the defined user-mode TCP/IP protocol stack is implemented with reference to the RDMA software stack, so that the custom user-mode TCP/IP protocol stack and the RDMA protocol stack are more compatible.
- the data transmission is bidirectional, and the configuration file can also be changed.
- the source network card is an ENIC network card
- the source network node is an Ethernet node
- the target network card is an RNIC network card
- the target network node is an RDMA network node
- the data obtained by the ENIC network card is passed through
- the data gateway After processing by the data gateway, it is transmitted to the RDMA network node. That is to say, after reading the data from the Ethernet node to the memory space through the ENIC network card, the information of the memory space is passed to the user-mode RDMA protocol stack, and the user-mode RDMA protocol stack constructs RDMA packets to carry the data in the memory space. The address is then transmitted to the Ethernet node through the RNIC network card.
- This embodiment implements multiple user-mode protocol stacks, ie, RDMA protocol stacks, and shares data in the memory with the user-mode TCP/IP protocol stacks. It solves the problem that the current RDMA protocol network element cannot be connected with the traditional Ethernet node.
- the completed data of data forwarding in the memory space is obtained. If the completed data of the data in the memory space is equal to the number of data output streams, the The memory space is recovered, and the number of output streams is determined according to the output information in the forwarding rule, and the output information includes the target network node information.
- the created memory space is regarded as a directed graph node, and the input and output streams of the data node are configured according to business characteristics, that is, input information and output information.
- the data node is configured with an in-degree of 1 and an out-degree of 1
- the input stream is the RDMA network
- the output stream is the TCP network
- the data gateway records the number of forwarding completions of the node.
- the number of node forwarding is equal to When the degree value is out, the memory space of the node can be recycled and reused. The memory space can be reclaimed in time.
- the source network card is used to read data from the source network node into the memory space; the information in the memory space is transmitted to the target user mode protocol stack, and the message of the target network protocol type constructed by the target user mode protocol stack is obtained. Carry the data address in the memory space, and send the data in the memory to the target network node through the target network card based on the message of the target network protocol type, so that there is no need to go through the kernel mode protocol stack.
- the memory data is forwarded in the user mode, reducing the CPU overhead caused by copying the memory data to the operating system protocol stack and switching the kernel mode from the user mode, and has better data forwarding performance.
- the second embodiment of the present application relates to a data transmission method.
- the second embodiment of the present application is roughly the same as the first embodiment, and the main difference is that: the forwarding rule further includes local storage information, and according to the local storage information configured in the forwarding rule Information transfers the data to local storage.
- the data gateway can be compatible with the conversion of multiple protocols, and multiple user mode protocol stacks share the memory space, which can realize both local storage and data forwarding in the network.
- the flow chart of the second embodiment of the present application is shown in FIG. 4 . .
- Step 401 Read data from the source network node to the memory space through the source network card.
- the server port 80 before reading data from the source network node to the memory space through the source network card, taking the mobile phone client remotely downloading data as an example, the server port 80 provides web access services externally, and requests data from the source network.
- the data gateway service is enabled according to the configuration.
- the data gateway is compatible with three protocols: RDMA, TCP, and nvme (Non-Volatile Memory Express, non-volatile memory standard). Data is forwarded to three target systems.
- the forwarding rules configured in the data gateway include memory space information, and the memory buffer is allocated according to the memory space information.
- Buffer, forwarding rules also include input information and output information, input information includes protocol RDMA, source information is node1, node2; output information includes local storage information, such as protocol nvme, action write, target information nvme, and output information also includes target information Network node information, for example, the protocol is tcp protocol, the action is trans, the target information is 1000, and the forwarding rules of the memory are configured by the json file, as follows:
- the rule specifies that the corresponding memory reads data from node1 and node2, and the output stream is divided into two channels: forwarding to the tcp link numbered 1000, writing to the nvme device, and the file system needs to provide address information.
- the output information includes two kinds of information, one is the output information for transmitting data to the network node, and the other is the output information for writing the data to the local storage, for example, the nvme device.
- step 402 the data in the memory is transferred to the NVMe protocol stack according to the local storage information configured in the forwarding rule, and then written to the local storage.
- this embodiment transmits data according to the local storage information configured in the forwarding rule, that is, "protocol”: “nvme”, “action”: “write”, and "target information”: “nvme” configured in the output. to local storage nvme.
- Step 403 transfer the data in the memory to the user-mode TCP protocol stack, and then send the processed data to the target network node through the target network card.
- step 402 and step 403 may be performed in parallel.
- Step 403 is substantially the same as steps 202 to 203 in the first embodiment of the present application, and details are not repeated here.
- the completed data of data forwarding in the memory space is obtained. If the completed data of the data in the memory space is equal to the number of data output streams, the The memory space is reclaimed, and the number of output streams is determined according to the output information in the forwarding rule, and the output information includes the target network node information and the local storage information.
- the created memory space is regarded as a directed graph node, and the input and output streams of the data node are configured according to business characteristics, that is, input information and output information.
- the master node needs to read data from other nodes. , forwarded to the client, so the data node is configured with an in-degree of 1 and an out-degree of 2, the input stream is the RDMA network, the output stream is the TCP network and nvme storage, and the service gateway records the number of forwarding completions of the node.
- the memory space of the node can be recycled and reused.
- the memory space can be reclaimed in time.
- the data source in this embodiment is any one of Ethernet network ENIC and RDMA network RNIC, and the data target is any one of Ethernet, RDMA network, and NVMe storage devices, including but not limited to other types of transmission protocols, such as : iSCSI, NVMe-oF, VirtIO, etc.
- the schematic diagram of the data transmission network in this embodiment is shown in Figure 5.
- the data gateway synchronizes data from other nodes in the cluster to the MR (Memeory Regin) space of the node through the RNIC; the data gateway forwards the data to the user-mode TCP protocol stack and User-mode nvme protocol stack, write the data processed by the user-mode nvme protocol stack into the nvme storage device, and transmit the packets processed by the user-mode TCP/IP protocol stack to the nodes of the Ethernet network. Obtain data through the network card and process the obtained data.
- the data gateway in this embodiment includes: a source network card, a target network card, and a user-mode protocol stack; the source network card is used to read data from the source network node to the memory space, and the target user-mode protocol stack is used to encapsulate the data in the memory into a target protocol message, the target network card is used to send the data encapsulated by the target user mode protocol stack to the target network node.
- the data transmission method in this embodiment customizes the user-mode transmission protocol stack.
- the memory is the operation object, which can be seamlessly connected to the data gateway service, so that the memory data can be directly connected to the ENIC network card channel, and the network card hardware DMA method reads the data and completes the sending process.
- the data transmission method in this embodiment is compatible with network protocols and local storage protocols, and can realize zero-copy forwarding of data between network nodes and local storage according to rules.
- the third embodiment of the present application relates to a data transmission device, as shown in FIG. 6 , including: a data reading module 601 for reading data from a source network node to a memory space through a source network card; a data forwarding module 602 for using For forwarding the information in the memory space to the target user mode protocol stack, the target user mode protocol stack constructs a message of the target network protocol type according to the information in the memory space, and the message carries the data address in the memory space; the data sending module 603, using It is used to send the data in the memory space to the target network node through the target network card based on the message of the target network protocol type.
- the data reading module 601 is further configured to configure a forwarding rule for data in memory according to the link between the source network node and the target network node, wherein the forwarding rule includes: source network node information and target network node information Network node information.
- the data forwarding module 602 is further configured to obtain the target network node information matching the source network node according to the forwarding rule, and determine the target user mode protocol stack according to the matched target network node information, and forward the information of the memory space to the determined target user mode. protocol stack.
- the forwarding rule further includes: local storage information
- the data sending module 603 is further configured to transmit the data in the memory space to the local storage according to the local storage information configured in the forwarding rule.
- the data sending module is further configured to obtain the number of completed data forwarding in the memory space; if the number of completed data forwarding in the memory space is equal to the number of data output streams, the memory space For recycling, the number of the output streams is obtained according to the number of target network nodes and the number of local storage nodes.
- the source network card is an RNIC network card
- the source network node is an RDMA network node
- the target network card is an ENIC network card
- the target network node is an Ethernet node
- the data processing module 602 is further configured to The information is transmitted to the user-mode TCP/IP protocol stack, and the user-mode TCP/IP protocol stack constructs the TCP message to carry the data address in the memory space.
- the source network card is an ENIC network card
- the source network node is an Ethernet node
- the target network card is an RNIC network card
- the target network node is an RDMA network node
- the data processing module 602 is further configured to transmit the information of the memory space.
- the user-mode RDMA protocol stack constructs an RDMA message to carry the data address in the memory space.
- the user-mode TCP/IP protocol stack includes: a completion queue; the data sending module 603 is further configured to store an end event in the completion queue after sending the data in the memory space to the target network node through the target network card; The sending result is acquired according to the end event in the completion queue.
- this embodiment is a system example corresponding to the first embodiment, and this embodiment can be implemented in cooperation with the first embodiment.
- the relevant technical details mentioned in the first embodiment are still valid in this embodiment, and are not repeated here in order to reduce repetition.
- the related technical details mentioned in this embodiment can also be applied to the first embodiment.
- each module involved in this embodiment is a logical module.
- a logical unit may be a physical unit, a part of a physical unit, or multiple physical units.
- a composite implementation of the unit in order to highlight the innovative part of the present application, this embodiment does not introduce units that are not closely related to solving the technical problem raised by the present application, but this does not mean that there are no other units in this embodiment.
- the fourth embodiment of the present application relates to a network device, as shown in FIG. 7 , including: at least one processor 701; and,
- memory 702 in communication with the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to cause the at least one
- the processor is capable of executing the above-described data transmission method.
- the memory and the processor are connected by a bus, and the bus may include any number of interconnected buses and bridges, and the bus connects one or more processors and various circuits of the memory.
- the bus may also connect together various other circuits, such as peripherals, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein.
- the bus interface provides the interface between the bus and the transceiver.
- a transceiver may be a single element or multiple elements, such as multiple receivers and transmitters, providing a means for communicating with various other devices over a transmission medium.
- the data processed by the processor is transmitted on the wireless medium through the antenna, and further, the antenna also receives the data and transmits the data to the processor.
- the processor is responsible for managing the bus and general processing, and can also provide various functions, including timing, peripheral interface, voltage regulation, power management, and other control functions. Instead, memory may be used to store data used by the processor in performing operations.
- the fifth embodiment of the present application relates to a computer-readable storage medium storing a computer program.
- the above method embodiments are implemented when the computer program is executed by the processor.
- the aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes .
Abstract
Description
Claims (10)
- 一种数据传输方法,包括:A method of data transmission, comprising:通过源网卡从源网络节点中读取数据到内存空间;Read data from the source network node to the memory space through the source network card;将所述内存空间的信息转发到目标用户态协议栈,由所述目标用户态协议栈根据所述内存空间的信息构造目标网络协议类型的报文;所述报文携带所述内存空间中的数据地址;The information of the memory space is forwarded to the target user mode protocol stack, and the target user mode protocol stack constructs a message of the target network protocol type according to the information of the memory space; the message carries the data in the memory space. data address;通过目标网卡基于所述目标网络协议类型的报文将所述内存空间中的数据发送至目标网络节点。The data in the memory space is sent to the target network node through the target network card based on the message of the target network protocol type.
- 根据权利要求1所述的数据传输方法,其中,所述通过源网卡从源网络节点中读取数据到内存空间之前,还包括:The data transmission method according to claim 1, wherein before the data is read from the source network node to the memory space through the source network card, the method further comprises:根据所述源网络节点和所述目标网络节点的链路配置内存中数据的转发规则,其中,所述转发规则包括:源网络节点信息和目标网络节点信息;Configure a forwarding rule for data in memory according to the link between the source network node and the target network node, wherein the forwarding rule includes: source network node information and target network node information;所述将所述内存空间的信息转发到目标用户态协议栈,包括:The forwarding of the information of the memory space to the target user mode protocol stack includes:根据所述转发规则,获取与所述源网络节点匹配的目标网络节点信息,并根据所述匹配的目标网络节点信息确定目标用户态协议栈;According to the forwarding rule, obtain target network node information that matches the source network node, and determine a target user mode protocol stack according to the matched target network node information;将所述内存空间的信息转发到所述确定的目标用户态协议栈。The information of the memory space is forwarded to the determined target user mode protocol stack.
- 根据权利要求2所述的数据传输方法,其中,所述转发规则,还包括:本地存储信息;The data transmission method according to claim 2, wherein the forwarding rule further comprises: storing information locally;所述通过源网卡从源网络节点中读取数据到内存空间之后,还包括:After the data is read from the source network node to the memory space through the source network card, the method further includes:根据所述转发规则中配置的所述本地存储信息将所述内存空间中的数据传输到本地存储。The data in the memory space is transmitted to the local storage according to the local storage information configured in the forwarding rule.
- 根据权利要求3所述的数据传输方法,其中,所述通过目标网卡将所述处理后的数据发送至目标网络节点之后,还包括:The data transmission method according to claim 3, wherein after sending the processed data to the target network node through the target network card, the method further comprises:获取所述内存空间中的数据转发完成的数量;Obtain the number of completed data forwarding in the memory space;若所述内存空间中的数据转发完成的数量等于数据输出流的个数,则将所述内存空间回收,其中,所述数据输出流的个数根据所述转发规则中的输出信 息确定,所述输出信息包括:所述目标网络节点信息和所述本地存储信息。If the number of completed data forwarding in the memory space is equal to the number of data output streams, the memory space is reclaimed, wherein the number of the data output streams is determined according to the output information in the forwarding rule, and the The output information includes: the target network node information and the local storage information.
- 根据权利要求1至4中任一项所述的数据传输方法,其中,所述源网卡为RNIC网卡,所述源网络节点为RDMA网络节点,所述目标网卡为ENIC网卡,所述目标网络节点为以太网节点;The data transmission method according to any one of claims 1 to 4, wherein the source network card is an RNIC network card, the source network node is an RDMA network node, the target network card is an ENIC network card, and the target network node is an Ethernet node;或者,所述源网卡为ENIC网卡,所述源网络节点为以太网节点,所述目标网卡为RNIC网卡,所述目标网络节点为RDMA网络节点。Alternatively, the source network card is an ENIC network card, the source network node is an Ethernet node, the target network card is an RNIC network card, and the target network node is an RDMA network node.
- 根据权利要求5所述的数据传输方法,其中,所述用户态协议栈包括:RDMA协议栈和用户态TCP/IP协议栈;The data transmission method according to claim 5, wherein the user mode protocol stack comprises: an RDMA protocol stack and a user mode TCP/IP protocol stack;若所述源网卡为RNIC网卡,所述源网络节点为RDMA网络节点,所述目标网卡为ENIC网卡,所述目标网络节点为以太网节点,则所述将所述内存空间的信息转发到目标用户态协议栈,由所述目标用户态协议栈根据所述内存空间的信息构造目标网络协议类型的报文,包括:If the source network card is an RNIC network card, the source network node is an RDMA network node, the target network card is an ENIC network card, and the target network node is an Ethernet node, then the information of the memory space is forwarded to the target network User mode protocol stack, the target user mode protocol stack constructs the message of the target network protocol type according to the information of the memory space, including:将所述内存空间的信息传递到用户态TCP/IP协议栈,由所述用户态TCP/IP协议栈构造TCP报文携带所述内存空间中的数据地址;The information of the memory space is delivered to the user state TCP/IP protocol stack, and the user state TCP/IP protocol stack constructs a TCP message to carry the data address in the memory space;若所述源网卡为ENIC网卡,所述源网络节点为以太网节点,所述目标网卡为RNIC网卡,所述目标网络节点为RDMA网络节点,则所述将所述内存空间的信息转发到目标用户态协议栈,由所述目标用户态协议栈根据所述内存空间的信息构造目标网络协议类型的报文,包括:If the source network card is an ENIC network card, the source network node is an Ethernet node, the target network card is an RNIC network card, and the target network node is an RDMA network node, the forwarding of the memory space information to the target User mode protocol stack, the target user mode protocol stack constructs the message of the target network protocol type according to the information of the memory space, including:将所述内存空间的信息传递到用户态RDMA协议栈,由所述用户态RDMA协议栈构造RDMA报文携带所述内存空间中的数据地址。The information of the memory space is transferred to the user-mode RDMA protocol stack, and an RDMA message is constructed by the user-mode RDMA protocol stack to carry the data address in the memory space.
- 根据权利要求6所述的数据传输方法,其中,所述用户态TCP/IP协议栈包括:完成队列;The data transmission method according to claim 6, wherein the user-mode TCP/IP protocol stack comprises: a completion queue;所述通过目标网卡基于所述目标网络协议类型的报文将所述内存空间中的数据发送至目标网络节点之后,还包括:After sending the data in the memory space to the target network node through the target network card based on the message of the target network protocol type, the method further includes:向完成队列中存入结束事件;Store the end event into the completion queue;根据所述完成队列中的结束事件获取发送结果。The sending result is acquired according to the end event in the completion queue.
- 一种数据传输装置,包括:A data transmission device, comprising:数据读取模块,用于通过源网卡从源网络节点中读取数据到内存空间;The data reading module is used to read data from the source network node to the memory space through the source network card;数据转发模块,用于将所述内存空间的信息转发到目标用户态协议栈,由所述目标用户态协议栈根据所述内存空间的信息构造目标网络协议类型的报文,所述报文携带所述内存空间中的数据地址;A data forwarding module, configured to forward the information of the memory space to the target user mode protocol stack, and the target user mode protocol stack constructs a message of the target network protocol type according to the information of the memory space, and the message carries a data address in the memory space;数据发送模块,用于通过目标网卡基于所述目标网络协议类型的报文将所述内存空间中的数据发送至目标网络节点。The data sending module is configured to send the data in the memory space to the target network node through the target network card based on the message of the target network protocol type.
- 一种网络设备,包括:A network device comprising:至少一个处理器;以及,at least one processor; and,与所述至少一个处理器通信连接的存储器;其中,a memory communicatively coupled to the at least one processor; wherein,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一所述的数据传输方法。The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform any one of claims 1 to 7 data transfer method.
- 一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的数据传输方法。A computer-readable storage medium storing a computer program, when the computer program is executed by a processor, the data transmission method according to any one of claims 1 to 7 is implemented.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011323780.5 | 2020-11-23 | ||
CN202011323780.5A CN113485823A (en) | 2020-11-23 | 2020-11-23 | Data transmission method, device, network equipment and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022105884A1 true WO2022105884A1 (en) | 2022-05-27 |
Family
ID=77932626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/131823 WO2022105884A1 (en) | 2020-11-23 | 2021-11-19 | Data transmission method and apparatus, network device, and storage medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113485823A (en) |
WO (1) | WO2022105884A1 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115296956A (en) * | 2022-07-29 | 2022-11-04 | 广东浪潮智慧计算技术有限公司 | Tunnel forwarding method and device of kernel, electronic equipment and storage medium |
CN115460470A (en) * | 2022-08-19 | 2022-12-09 | 武汉烽火技术服务有限公司 | Multicast data forwarding method, device, equipment and readable storage medium |
CN115499332A (en) * | 2022-09-13 | 2022-12-20 | 科东(广州)软件科技有限公司 | Network message monitoring method, device, equipment and medium |
CN115665073A (en) * | 2022-12-06 | 2023-01-31 | 江苏为是科技有限公司 | Message processing method and device |
CN115834665A (en) * | 2023-02-08 | 2023-03-21 | 天翼云科技有限公司 | Network communication method and device |
CN115904253A (en) * | 2023-01-09 | 2023-04-04 | 苏州浪潮智能科技有限公司 | Data transmission method and device, storage system and equipment and medium |
CN116455612A (en) * | 2023-03-23 | 2023-07-18 | 京信数据科技有限公司 | Privacy calculation intermediate data stream zero-copy device and method |
CN116450058A (en) * | 2023-06-19 | 2023-07-18 | 浪潮电子信息产业股份有限公司 | Data transfer method, device, heterogeneous platform, equipment and medium |
CN116781650A (en) * | 2023-07-11 | 2023-09-19 | 中科驭数(北京)科技有限公司 | Data processing method and system |
CN117097779A (en) * | 2023-10-16 | 2023-11-21 | 之江实验室 | Network communication method and device, storage medium and electronic equipment |
CN117692416A (en) * | 2024-02-04 | 2024-03-12 | 苏州元脑智能科技有限公司 | Network message processing method, device, computer equipment and storage medium |
CN117857660A (en) * | 2024-03-07 | 2024-04-09 | 济南浪潮数据技术有限公司 | Data transmission protocol self-adaption method, system, equipment and medium |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485823A (en) * | 2020-11-23 | 2021-10-08 | 中兴通讯股份有限公司 | Data transmission method, device, network equipment and storage medium |
CN114024910A (en) * | 2021-10-29 | 2022-02-08 | 上海广策信息技术有限公司 | Extremely-low-delay reliable communication system and method for financial transaction system |
CN114363428B (en) * | 2022-01-06 | 2023-10-17 | 齐鲁空天信息研究院 | Socket-based data transmission method |
CN115314159B (en) * | 2022-08-02 | 2023-08-04 | 成都爱旗科技有限公司 | Method and device for transmitting data between chips |
CN115623018B (en) * | 2022-11-30 | 2023-03-14 | 苏州浪潮智能科技有限公司 | Sharing system based on multiple equipment nodes |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302199A (en) * | 2016-08-10 | 2017-01-04 | 成都广达新网科技股份有限公司 | A kind of User space protocol stack realization method and system based on L3 Switching machine equipment |
CN106850565A (en) * | 2016-12-29 | 2017-06-13 | 河北远东通信系统工程有限公司 | A kind of network data transmission method of high speed |
WO2018107433A1 (en) * | 2016-12-15 | 2018-06-21 | 华为技术有限公司 | Information processing method and device |
CN109547580A (en) * | 2019-01-22 | 2019-03-29 | 网宿科技股份有限公司 | A kind of method and apparatus handling data message |
US20190141169A1 (en) * | 2016-07-04 | 2019-05-09 | Huawei Technologies Co., Ltd. | User-plane protocol stack determining method, control-plane network element, and system |
CN111294293A (en) * | 2018-12-07 | 2020-06-16 | 网宿科技股份有限公司 | Network isolation method and device based on user mode protocol stack |
CN113485823A (en) * | 2020-11-23 | 2021-10-08 | 中兴通讯股份有限公司 | Data transmission method, device, network equipment and storage medium |
-
2020
- 2020-11-23 CN CN202011323780.5A patent/CN113485823A/en active Pending
-
2021
- 2021-11-19 WO PCT/CN2021/131823 patent/WO2022105884A1/en unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190141169A1 (en) * | 2016-07-04 | 2019-05-09 | Huawei Technologies Co., Ltd. | User-plane protocol stack determining method, control-plane network element, and system |
CN106302199A (en) * | 2016-08-10 | 2017-01-04 | 成都广达新网科技股份有限公司 | A kind of User space protocol stack realization method and system based on L3 Switching machine equipment |
WO2018107433A1 (en) * | 2016-12-15 | 2018-06-21 | 华为技术有限公司 | Information processing method and device |
CN106850565A (en) * | 2016-12-29 | 2017-06-13 | 河北远东通信系统工程有限公司 | A kind of network data transmission method of high speed |
CN111294293A (en) * | 2018-12-07 | 2020-06-16 | 网宿科技股份有限公司 | Network isolation method and device based on user mode protocol stack |
CN109547580A (en) * | 2019-01-22 | 2019-03-29 | 网宿科技股份有限公司 | A kind of method and apparatus handling data message |
CN113485823A (en) * | 2020-11-23 | 2021-10-08 | 中兴通讯股份有限公司 | Data transmission method, device, network equipment and storage medium |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115296956A (en) * | 2022-07-29 | 2022-11-04 | 广东浪潮智慧计算技术有限公司 | Tunnel forwarding method and device of kernel, electronic equipment and storage medium |
CN115296956B (en) * | 2022-07-29 | 2024-03-22 | 广东浪潮智慧计算技术有限公司 | Kernel tunnel forwarding method and device, electronic equipment and storage medium |
CN115460470A (en) * | 2022-08-19 | 2022-12-09 | 武汉烽火技术服务有限公司 | Multicast data forwarding method, device, equipment and readable storage medium |
CN115460470B (en) * | 2022-08-19 | 2024-03-26 | 烽火通信科技股份有限公司 | Multicast data forwarding method, device, equipment and readable storage medium |
CN115499332A (en) * | 2022-09-13 | 2022-12-20 | 科东(广州)软件科技有限公司 | Network message monitoring method, device, equipment and medium |
CN115499332B (en) * | 2022-09-13 | 2023-12-15 | 科东(广州)软件科技有限公司 | Method, device, equipment and medium for monitoring network message |
CN115665073A (en) * | 2022-12-06 | 2023-01-31 | 江苏为是科技有限公司 | Message processing method and device |
CN115904253B (en) * | 2023-01-09 | 2023-06-13 | 苏州浪潮智能科技有限公司 | Data transmission method, device, storage system, equipment and medium |
CN115904253A (en) * | 2023-01-09 | 2023-04-04 | 苏州浪潮智能科技有限公司 | Data transmission method and device, storage system and equipment and medium |
CN115834665B (en) * | 2023-02-08 | 2023-06-23 | 天翼云科技有限公司 | Network communication method and device |
CN115834665A (en) * | 2023-02-08 | 2023-03-21 | 天翼云科技有限公司 | Network communication method and device |
CN116455612A (en) * | 2023-03-23 | 2023-07-18 | 京信数据科技有限公司 | Privacy calculation intermediate data stream zero-copy device and method |
CN116455612B (en) * | 2023-03-23 | 2023-11-28 | 京信数据科技有限公司 | Privacy calculation intermediate data stream zero-copy device and method |
CN116450058A (en) * | 2023-06-19 | 2023-07-18 | 浪潮电子信息产业股份有限公司 | Data transfer method, device, heterogeneous platform, equipment and medium |
CN116450058B (en) * | 2023-06-19 | 2023-09-19 | 浪潮电子信息产业股份有限公司 | Data transfer method, device, heterogeneous platform, equipment and medium |
CN116781650A (en) * | 2023-07-11 | 2023-09-19 | 中科驭数(北京)科技有限公司 | Data processing method and system |
CN116781650B (en) * | 2023-07-11 | 2024-03-19 | 中科驭数(北京)科技有限公司 | Data processing method and system |
CN117097779B (en) * | 2023-10-16 | 2024-01-30 | 之江实验室 | Network communication method and device, storage medium and electronic equipment |
CN117097779A (en) * | 2023-10-16 | 2023-11-21 | 之江实验室 | Network communication method and device, storage medium and electronic equipment |
CN117692416A (en) * | 2024-02-04 | 2024-03-12 | 苏州元脑智能科技有限公司 | Network message processing method, device, computer equipment and storage medium |
CN117692416B (en) * | 2024-02-04 | 2024-05-03 | 苏州元脑智能科技有限公司 | Network message processing method, device, computer equipment and storage medium |
CN117857660A (en) * | 2024-03-07 | 2024-04-09 | 济南浪潮数据技术有限公司 | Data transmission protocol self-adaption method, system, equipment and medium |
Also Published As
Publication number | Publication date |
---|---|
CN113485823A (en) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022105884A1 (en) | Data transmission method and apparatus, network device, and storage medium | |
US9378068B2 (en) | Load balancing for a virtual networking system | |
KR100687659B1 (en) | Network interface of controlling lock operation in accordance with axi protocol, packet data communication on-chip interconnect system of including the network interface, and method of operating the network interface | |
CN106411767B (en) | Pass through method, system and the medium of the transmission operation that Remote Direct Memory accesses | |
US8583755B2 (en) | Method and system for communicating between memory regions | |
WO2018137217A1 (en) | Data processing system, method, and corresponding device | |
US9294569B2 (en) | Cell fabric hardware acceleration | |
JP5353278B2 (en) | Communication device | |
US11025564B2 (en) | RDMA transport with hardware integration and out of order placement | |
US11068412B2 (en) | RDMA transport with hardware integration | |
JP2004534311A (en) | Configuration to create multiple virtual queue pairs from compressed queue pairs based on shared attributes | |
CN111277616A (en) | RDMA (remote direct memory Access) -based data transmission method and distributed shared memory system | |
US10609125B2 (en) | Method and system for transmitting communication data | |
US9515963B2 (en) | Universal network interface controller | |
US10162775B2 (en) | System and method for efficient cross-controller request handling in active/active storage systems | |
CN112953967A (en) | Network protocol unloading device and data transmission system | |
CN111541624B (en) | Space Ethernet buffer processing method | |
CN113179228A (en) | Method, device, equipment and medium for improving switch stacking reliability | |
JP2017184195A (en) | Communication management device, communication management method and program | |
CN113778937A (en) | System and method for performing transaction aggregation in a network on chip (NoC) | |
CN112463680A (en) | Data transfer method and device | |
US11570257B1 (en) | Communication protocol, and a method thereof for accelerating artificial intelligence processing tasks | |
CN116760504B (en) | Session synchronization method, device, service node, terminal and readable storage medium | |
CN115904253B (en) | Data transmission method, device, storage system, equipment and medium | |
WO2023202241A1 (en) | Communication method and related product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21894031 Country of ref document: EP Kind code of ref document: A1 |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112023009990 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112023009990 Country of ref document: BR Kind code of ref document: A2 Effective date: 20230523 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 04.10.2023) |