Data transmission method and device, communication equipment, storage medium and computer program product

By establishing an RDMA lossless transmission channel between RDMA gateways, cache and transmit data packets, the problems of data transmission delay and packet loss in the wide area network are solved, and data transmission efficiency and quality are improved.

CN119814708APending Publication Date: 2025-04-11CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411867995.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

In a wide-area network, due to the limitations of distance and transmission conditions, data transmission will experience delay and packet loss, resulting in limited data transmission performance of RDMA technology in a wide-area network.

Method used

By establishing an RDMA lossless transmission channel between RDMA gateways, receiving and buffering data packets at the transmitting end, and transmitting data packets to the RDMA gateway at the receiving end through the target RDMA lossless transmission channel, reliable transmission of data packets is achieved.

Benefits of technology

It improves data transmission efficiency and quality in the wide-area network, reduces data packet loss and delay, and improves the terminal's data transmission efficiency and the overall network transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119814708A_ABST
    Figure CN119814708A_ABST
Patent Text Reader

Abstract

The invention relates to a data transmission method and device, communication equipment, a storage medium and a computer program product. The method comprises the following steps: receiving a data packet sent by a sending end, caching the data packet, and returning a first confirmation message to the sending end; and transmitting the data packet to the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel, and receiving a second confirmation message returned by the RDMA gateway corresponding to the receiving end, so that the RDMA gateway corresponding to the receiving end transmits the data packet to the receiving end. By adopting the method, the data transmission efficiency and the data transmission quality of a wide area network can be improved through the caching of the RDMA gateway and the acknowledgement information on-behalf answering mechanism, and the data transmission efficiency of the terminal and the overall transmission efficiency of the network can be improved by caching the received data packet and returning the acknowledgement information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud-network integration technology, and in particular to a data transmission method, apparatus, communication equipment, storage medium and computer program product. Background Art

[0002] With the continuous development of communication network technology, a wide area network has emerged. However, in a wide area network, due to the limitations of distance and transmission conditions, data transmission will be delayed and packet lost. Since RDMA technology is very sensitive to network congestion and packet loss, the data transmission performance of RDMA in a wide area network is limited. Summary of the invention

[0003] Embodiments of the present application provide a data transmission method, apparatus, communication device, storage medium, and computer program product, which can improve data transmission performance in a wide area network.

[0004] A data transmission method is applied to a remote direct data access RDMA gateway; an RDMA lossless transmission channel is established between the RDMA gateway and other RDMA gateways; the method comprises:

[0005] Receive a data packet sent by a sender, cache the data packet, and return a first confirmation message to the sender;

[0006] The data packet is transmitted to the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel, and a second confirmation message returned by the RDMA gateway corresponding to the receiving end is received, so that the RDMA gateway corresponding to the receiving end transmits the data packet to the receiving end.

[0007] In one of the embodiments, the target RDMA lossless transmission channel is a transmission channel established between the RDMA gateway corresponding to the sending end and the RDMA gateway corresponding to the receiving end.

[0008] In one embodiment, the method further comprises:

[0009] Receiving service configuration data issued by the core control plane, wherein the service configuration data is issued by the core control plane after receiving a user service demand initiated by a user through a service portal; the user service demand is obtained by the service portal according to the user service subscription status and transmitted to the core control plane;

[0010] Based on the service configuration data, an RDMA lossless transmission channel is established with the other RDMA gateway.

[0011] In one embodiment, the method further comprises:

[0012] If it is determined that the local cache space of the RDMA gateway exceeds a preset capacity threshold, a flow control request is sent to the sending end, where the flow control request is used to cause the sending end to reduce a sending rate of data packets.

[0013] In one embodiment, the method further comprises:

[0014] If it is confirmed that the data packet is lost, sending a data packet retransmission request to the sending end;

[0015] Receive the retransmission data packet sent by the sending end.

[0016] In one embodiment, the method further comprises:

[0017] Receiving a data packet retransmission request sent by the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel;

[0018] A retransmitted data packet corresponding to the data packet retransmission request is obtained in the cache space, and the retransmitted data packet is sent to the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel, so that the RDMA gateway corresponding to the receiving end sends the retransmitted data packet to the receiving end.

[0019] In one embodiment, the method further comprises:

[0020] Receiving a data packet retransmission request sent by the receiving end;

[0021] A retransmission data packet corresponding to the data packet retransmission request is obtained in a local cache space, and the retransmission data packet is sent to the receiving end.

[0022] A data transmission method, applied to a core control plane; the method comprises:

[0023] Receive user business requirements transmitted by the business portal;

[0024] Based on the user service requirements, service configuration data is issued, and the service configuration data is used to establish an RDMA lossless transmission channel between RDMA gateways.

[0025] In one embodiment, the method further comprises:

[0026] Based on the user's service requirements, perform end-to-end resource query to determine remaining network resources;

[0027] If it is determined that the remaining network resources cannot meet the user's service demand, rejecting the user's service demand to the user through the service portal, or requesting coordination of resources from other network functions;

[0028] If it is determined that the remaining network resources can meet the user service demand, the remaining network resources are reserved for the service corresponding to the user service demand.

[0029] In one embodiment, the sending of service configuration data based on the user service demand includes:

[0030] Based on user service requirements, service configuration data is sent to each of the RDMA gateways.

[0031] A data transmission device is applied to a remote direct data access RDMA gateway; an RDMA lossless transmission channel is established between the RDMA gateway and other RDMA gateways; the device comprises:

[0032] A first receiving module, configured to receive a data packet sent by a sending end, cache the data packet, and return a first confirmation message to the sending end;

[0033] The first transmission module is used to transmit the data packet to the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel, and receive a second confirmation message returned by the RDMA gateway corresponding to the receiving end, so that the RDMA gateway corresponding to the receiving end transmits the data packet to the receiving end.

[0034] A communication device, comprising: a transmitter, a processor and a receiver;

[0035] The processor is configured to receive a data packet sent by a sender through the receiver, cache the data packet, and return a first confirmation message to the sender through the sender;

[0036] The processor is further used to transmit the data packet to the RDMA gateway corresponding to the receiving end through the transmitter and the target RDMA lossless transmission channel, and to receive a second confirmation message returned by the RDMA gateway corresponding to the receiving end through the receiver, so that the RDMA gateway corresponding to the receiving end transmits the data packet to the receiving end.

[0037] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the data transmission method provided in an embodiment of the present application.

[0038] A computer program product includes a computer program, which, when executed by a processor, implements the data transmission method provided in an embodiment of the present application.

[0039] The above-mentioned data transmission method, apparatus, communication equipment, storage medium and computer program product, wherein the method includes: receiving a data packet sent by a sending end, caching the data packet, and returning a first confirmation message to the sending end; transmitting the data packet to the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel, and receiving a second confirmation message returned by the RDMA gateway corresponding to the receiving end, so that the RDMA gateway corresponding to the receiving end transmits the data packet to the receiving end. By adopting this method, the data transmission efficiency and data transmission quality of the wide area network can be improved through the caching mechanism of the RDMA gateway, and the received data packets are cached and the confirmation message is returned, which can improve the data transmission efficiency of the terminal and the overall transmission efficiency of the network. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 is an application environment diagram of a data transmission method in an embodiment;

[0041] Figure 2 A schematic diagram of a flow chart of a data transmission method in an embodiment;

[0042] Figure 3 A schematic diagram of a flow chart of steps for establishing an RDMA lossless transmission channel between an RDMA gateway and other RDMA gateways in one embodiment;

[0043] Figure 4 A schematic diagram of a flow chart of a data packet retransmission step between an RDMA gateway and a sending end in one embodiment;

[0044] Figure 5 A schematic diagram of a flow chart of a step of retransmitting a data packet between an RDMA gateway corresponding to a receiving end and an RDMA gateway corresponding to a sending end in one embodiment;

[0045] Figure 6 A schematic diagram of a flow chart of steps for a user to interact with a core control plane to establish an RDMA lossless transmission channel in an embodiment;

[0046] Figure 7 A schematic diagram of a communication architecture of a data transmission method in an embodiment;

[0047] Figure 8 A signaling diagram of a communication process of a data transmission method in another embodiment;

[0048] Fig. 9 is a structural block diagram of a data transmission device in one embodiment;

[0049] Fig.10 FIG. 4 is a diagram showing the internal structure of a communication device in one embodiment. DETAILED DESCRIPTION

[0050] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0051] Figure 1 A schematic diagram of an application scenario of a data transmission method provided in an embodiment of the present application. Figure 1 As shown, in this scenario, there are a first user terminal 100, a second user terminal 200, and multiple RDMA gateways, such as a first RDMA gateway and a second RDMA gateway. The first user terminal 100 communicates with the first RDMA gateway through a metropolitan area network, the second user terminal can also communicate with the second RDMA gateway through the metropolitan area network, and the first RDMA gateway can communicate with the second RDMA gateway through an RDMA lossless transmission channel.

[0052] The first user terminal 100 and the second user terminal 200 may be wireless terminals, which may be devices that provide voice and / or other service data connectivity to users, or handheld devices with wireless connection functions, or other processing devices connected to wireless modems. The wireless terminal may communicate with one or more core networks via a radio access network (Radio Access Network, referred to as RAN). The wireless terminal may be a mobile terminal, such as a mobile phone (or "cellular" phone) and a computer with a mobile terminal, for example, a portable, pocket-sized, handheld, computer-built-in or vehicle-mounted mobile device, which exchanges language and / or data with the radio access network. The wireless terminal may also be referred to as a system, a subscriber unit, a subscriber station, a mobile station, a mobile station, a remote station, a remote terminal, an access terminal, a user terminal, a user agent, a user device or a user equipment, which is not limited here.

[0053] In the wide area network of traditional technology, there are limitations on the corresponding transmission distance and transmission conditions, which makes the delay and packet loss of data transmission more prominent. Once network congestion or packet loss occurs in RDMA communication, it will have a serious impact on the transmission efficiency and performance of RDMA.

[0054] Based on the above-mentioned traditional technology, an embodiment of the present application provides a data transmission method based on an RDMA lossless transmission channel, which improves data transmission efficiency and performance by selecting an RDMA lossless channel for a user's data transmission agent.

[0055] It should be noted that the beneficial effects brought about by the embodiments of the present application or the technical problems solved are not limited to this one, but may also include other implicit or related problems. For details, please refer to the description of the following embodiments.

[0056] Before introducing the specific embodiments of the present invention, the professional terms involved in the present invention are explained first:

[0057] RDMA (Remote Direct Memory Access): is a technology that allows data to be transferred directly from the memory of one computer to the memory of another computer without the intervention of the operating systems of both parties.

[0058] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0059] In one embodiment, Figure 2 As shown, a data transmission method is provided, which is applied to Figure 1 The application of remote direct data access RDMA gateway in the example is used to illustrate; an RDMA lossless transmission channel is established between the RDMA gateway and other RDMA gateways; the following steps are included:

[0060] Step 202: Receive a data packet sent by a sender, buffer the data packet, and return a first confirmation message to the sender.

[0061] The RDMA gateway may be a gateway connected to the sender via a metropolitan area network MAN. The data packet may be a data packet that the sender needs to transmit to the receiver. The RDMA gateway may support a data cache proxy function, and the RDMA gateway may include a cache storage space.

[0062] Specifically, the sender sends a data packet to the RDMA gateway through the metropolitan area network, and the data packet can be an RDMA data packet. In this way, the RDMA gateway corresponding to the sender can cache the RDMA data packet in the local storage space of the gateway, reply the first confirmation message to the sender, and transmit the RDMA data packet to the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel. Optionally, the first confirmation message can be an ACK reply message.

[0063] Step 204: transmit the data packet to the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel, and receive a second confirmation message returned by the RDMA gateway corresponding to the receiving end, so that the RDMA gateway corresponding to the receiving end transmits the data packet to the receiving end.

[0064] Specifically, after receiving the data packet, the RDMA gateway can cache the data packet, reply a first confirmation message to the sender, and transmit the RDMA data packet to the other end of the target RDMA lossless transmission channel, that is, the RDMA gateway corresponding to the receiving end, through the target RDMA lossless transmission channel. In this way, after receiving the RDMA data packet, the RDMA gateway corresponding to the receiving end can cache the RDMA data packet in the local storage space of the gateway, return a second confirmation message to the RDMA gateway corresponding to the sending end, and send the RDMA data packet to the receiving end through the metropolitan area network.

[0065] Optionally, after receiving the data packet sent by the RDMA gateway, the receiving end may return a third confirmation message to the RDMA gateway, and the third confirmation message and the second confirmation message are both ACK messages. The ACK message may be an ACK reply confirmation message.

[0066] In the above data transmission method, a data packet sent by a sender is received, the data packet is cached, and a first confirmation message is returned to the sender. The data packet is transmitted to the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel, and a second confirmation message returned by the RDMA gateway corresponding to the receiving end is received, so that the RDMA gateway corresponding to the receiving end transmits the data packet to the receiving end. By adopting this method, the data transmission efficiency and data transmission quality of the wide area network can be improved through the caching mechanism of the RDMA gateway, and the received data packets are cached and confirmation messages are returned, which can improve the data transmission efficiency of the terminal and the overall transmission efficiency of the network.

[0067] In an exemplary embodiment, the target RDMA lossless transmission channel is a transmission channel established between an RDMA gateway corresponding to the sending end and an RDMA gateway corresponding to the receiving end.

[0068] Specifically, the sending end may be a first user terminal that sends a data packet, and the receiving end may be a second user terminal that is to receive a data packet. The first user terminal may be connected to the first RDMA gateway via a metropolitan area network (MAN), and the second user terminal may be connected to the second RDMA gateway via the metropolitan area network. A target RDMA lossless transmission channel may be established between the first user terminal and the second user terminal based on the service configuration data; that is, a target RDMA lossless transmission channel may be established between the RDMA gateway corresponding to the sending end and the RDMA gateway corresponding to the receiving end.

[0069] In this embodiment, a lossless transmission channel is established between different RDMA gateways based on the service configuration data, so that high-performance transmission of data packets can be achieved without distance restrictions.

[0070] In an exemplary embodiment, Figure 3 As shown, the data transmission method also includes:

[0071] Step 302: Receive service configuration data sent by the core control plane.

[0072] Step 304: Establish an RDMA lossless transmission channel with other RDMA gateways based on the service configuration data.

[0073] The service configuration data is issued by the core control plane after receiving the user service demand initiated by the user through the service portal. The user service demand is obtained by the service portal according to the user service subscription situation and transmitted to the core control plane.

[0074] Specifically, the user logs in to the service portal through the terminal device. The service portal can determine the user's user service requirements based on the user's service subscription, that is, the various services currently required by the user; the service portal can generate user service requirements based on the user's service subscription, and transmit the user service requirements to the core control plane. The user service requirements can carry the identification information of the RDMA lossless transmission service. After receiving the user service requirements transmitted by the service portal, the core control plane can determine that the terminal where the current user is located needs to subscribe to the RDMA lossless transmission service. In this way, the core control plane can obtain the service configuration data corresponding to the RDMA lossless transmission service, and query and reserve the remaining communication resources / remaining network resources of the core control plane. The core control plane can send service configuration data to each RDMA gateway, and each RDMA gateway can establish an RDMA lossless transmission channel with other RDMA gateways based on the service configuration data.

[0075] In this embodiment, through user service needs, the core control plane can promptly learn about the services currently required by the user and respond in a timely manner, as well as send service configuration data to each RDMA gateway and terminal, and promptly establish an RDMA lossless transmission channel for lossless transmission, thereby providing a basis for efficient transmission of subsequent data packets.

[0076] In an exemplary embodiment, the data transmission method further includes:

[0077] If it is determined that the local cache space of the RDMA gateway exceeds the preset capacity threshold, a flow control request is sent to the sender.

[0078] The flow control request is used to make the sender reduce the sending rate of the data packet, and the preset capacity threshold can be the maximum capacity of the local cache space of the RDMA gateway determined based on the actual application scenario. The local cache space of the RDMA gateway is the local storage space of the RDMA gateway.

[0079] Specifically, the RDMA gateway can monitor the occupied space capacity of the local cache space of the current RDMA gateway. If it is detected that the occupied space capacity of the local cache space of the RDMA gateway has exceeded the preset capacity threshold, the RDMA gateway can determine that flow control is currently required, that is, the RDMA gateway can send a flow control request to the sender of the data packet, and the flow control request is used to reduce the data packet sending rate of the sender of the data packet. In other words, after receiving the flow control request, the sender of the data packet can reduce the current data packet sending rate.

[0080] Optionally, the RDMA gateway can monitor the current packet loss rate. If it is determined that the current packet loss rate is greater than or equal to a preset packet loss rate threshold, the RDMA gateway can determine that flow control is currently required, that is, the RDMA gateway can send a flow control request to the sender of the data packet, and the flow control request is used to reduce the data packet sending rate of the sender of the data packet. In other words, after receiving the flow control request, the sender of the data packet can reduce the current data packet sending rate.

[0081] That is to say, if the RDMA gateway determines that the current packet loss rate is relatively serious, the gateway will have a cache overflow and need to send a flow control request to the sender of the packet through the flow control back pressure mechanism to reduce the packet sending rate of the sender.

[0082] In this embodiment, the data transmission performance of the gateway can be monitored in real time, the packet loss rate can be controlled in a timely manner, and the sending rate of the data packet can be reasonably adjusted in combination with the flow control.

[0083] In an exemplary embodiment, Figure 4As shown, the data transmission method also includes:

[0084] Step 402: If it is confirmed that the data packet is lost, a data packet retransmission request is sent to the sending end.

[0085] Specifically, when the RDMA gateway discovers data packet loss, that is, when it determines that the data packet is lost, the RDMA gateway can combine the data retransmission mechanism to retransmit the data packet with the sender of the data packet. In one example, if the RDMA gateway determines that the data packet is lost, it can generate a data packet retransmission request and send the data packet retransmission request to the sender of the data packet. The sender can receive the data packet retransmission request, parse the data packet retransmission request, and determine the current retransmitted data packet. In this way, the sender can resend the previously sent data packet to the RDMA gateway, that is, send a retransmitted data packet to the RDMA gateway, and the retransmitted data packet is a data packet that has been transmitted to the RDMA gateway. The RDMA gateway is an RDMA gateway connected to the sender of the data packet through a metropolitan area network.

[0086] Step 404: Receive a retransmitted data packet sent by the sender.

[0087] Specifically, the RDMA gateway may receive a retransmitted data packet sent by the sender, that is, receive a data packet resent by the sender.

[0088] In this embodiment, data is retransmitted to the sending end in a timely manner to ensure the reliability and stability of data packet transmission, avoid data loss, and improve data transmission performance.

[0089] In an exemplary embodiment, Figure 5 As shown, the data transmission method also includes:

[0090] Step 502: Receive a data packet retransmission request sent by the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel.

[0091] The RDMA gateway corresponding to the sending end may be an RDMA gateway connected to the sending end of the data packet through a metropolitan area network, for example, the RDMA gateway corresponding to the sending end may be a first RDMA gateway; the RDMA gateway corresponding to the receiving end may be an RDMA gateway connected to the receiving end of the data packet through a metropolitan area network, for example, the RDMA gateway corresponding to the receiving end may be a second RDMA gateway. A target RDMA lossless transmission channel may be established between the first RDMA gateway and the second RDMA gateway.

[0092] Specifically, when the second RDMA gateway finds that data packets are lost, that is, when it is determined that the data packet is lost, the second RDMA gateway can combine the data retransmission mechanism to retransmit the data packet with the first RDMA gateway. In one example, if the second RDMA gateway determines that the data packet is lost, it can generate a data packet retransmission request and send the data packet retransmission request to the first RDMA gateway through the target RDMA lossless transmission channel.

[0093] Step 504, obtain the retransmission data packet corresponding to the data packet retransmission request in the cache space, and send the retransmission data packet to the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel, so that the RDMA gateway corresponding to the receiving end sends the retransmission data packet to the receiving end.

[0094] The RDMA gateway corresponding to the sending end is the first RDMA gateway, and the RDMA gateway corresponding to the receiving end is the second RDMA gateway.

[0095] Specifically, the first RDMA gateway may receive the data packet retransmission request, parse the data packet retransmission request, and determine the current retransmission data packet. In this way, the first RDMA gateway may obtain the previously sent data packet in the local cache space of the first RDMA gateway, determine that the data packet is a retransmission data packet, and resend the previously sent data packet to the second RDMA gateway through the target RDMA lossless transmission channel, that is, send the retransmission data packet to the second RDMA gateway.

[0096] In this way, the second RDMA gateway can receive the retransmitted data packet sent by the first RDMA gateway through the target RDMA lossless transmission channel, the second RDMA gateway can send an ack confirmation message to the first RDMA gateway through the target RDMA lossless transmission channel, and send the retransmitted data packet to the receiving end through the metropolitan area network.

[0097] In this embodiment, data is retransmitted between different RDMA gateways in a timely manner to ensure the reliability and stability of data packet transmission, avoid data loss, and improve data transmission performance.

[0098] In an exemplary embodiment, the data transmission method further includes:

[0099] Receive a data packet retransmission request sent by the receiving end, obtain a retransmission data packet corresponding to the data packet retransmission request in the local cache space, and send the retransmission data packet to the receiving end.

[0100] The RDMA gateway to which the data transmission method provided in this embodiment is applied may be an RDMA gateway corresponding to the receiving end, that is, an RDMA gateway connected to the receiving end via a metropolitan area network.

[0101] Specifically, when the receiving end finds that data packets are lost, that is, when it is determined that the confirmed data packet is lost, the receiving end can combine the data retransmission mechanism to retransmit the data packet with the RDMA gateway corresponding to the receiving end. In one example, the RDMA gateway corresponding to the receiving end can be the second RDMA gateway; if the receiving end determines that the data packet is lost, a data packet retransmission request can be generated and sent to the second RDMA gateway. Specifically, the second RDMA gateway can receive the data packet retransmission request, parse the data packet retransmission request, and determine the current retransmission data packet. In this way, the second RDMA gateway can obtain the data packet that has been sent to the receiving end in the local cache space of the second RDMA gateway, and determine that the data packet is a retransmission data packet, and resend the previously sent data packet to the receiving end, that is, send a retransmission data packet to the receiving end. In this way, the receiving end can receive the retransmission data packet sent by the second RDMA gateway, and the receiving end can send an ack confirmation message to the second RDMA gateway.

[0102] Optionally, the receiving end can send the data packet retransmission request to the second RDMA gateway through the metropolitan area network, and the second RDMA gateway can resend the previously sent data packet to the receiving end through the metropolitan area network, that is, send the retransmitted data packet to the receiving end. In this way, the receiving end can receive the retransmitted data packet sent by the second RDMA gateway through the metropolitan area network, and the receiving end can send an ack confirmation message to the second RDMA gateway through the metropolitan area network. In this embodiment, the RDMA gateway retransmits data with the receiving end of the data packet to ensure the reliability and stability of data packet transmission, avoid data loss, and improve data transmission performance.

[0103] In one embodiment, Figure 6 As shown, a data transmission method is provided, which is applied to Figure 1 The application in the core control plane includes the following steps:

[0104] Step 602: receiving user business requirements transmitted by the business portal.

[0105] Step 604: Based on the user's business requirements, business configuration data is issued, and the business configuration data is used to establish an RDMA lossless transmission channel between RDMA gateways.

[0106] Specifically, the user can log in to the terminal and access the service portal through the terminal. The service portal can determine the user's user service requirements based on the user's service subscription, that is, the various services required by the current user; the service portal can generate user service requirements based on the user's service subscription, and transmit the user service requirements to the core control plane; the user service requirements can carry the identification information of the RDMA lossless transmission service. The core control plane can receive the user service requirements transmitted by the user through the service portal. After receiving the user service requirements, it can be determined that the terminal where the current user is located needs to subscribe to the RDMA lossless transmission service. In this way, the core control plane can obtain the service configuration data corresponding to the RDMA lossless transmission service, and query and reserve the remaining communication resources / remaining network resources of the core control plane. The core control plane can send service configuration data to each RDMA gateway, and each RDMA gateway can establish an RDMA lossless transmission channel with other RDMA gateways based on the service configuration data.

[0107] That is, the service configuration data corresponding to the RDMA lossless transmission service may be configuration data for building an RDMA lossless transmission channel between various RDMA gateways. After receiving the service configuration data, the RDMA gateway may establish an RDMA lossless transmission channel based on the service configuration data.

[0108] For example, a user can transmit user business requirements to the core control plane through a business portal. Based on the user business requirements, the core control plane can send the business configuration data to the RDMA gateway corresponding to the first user terminal and the RDMA gateways corresponding to other user terminals that communicate with the first user terminal (which can be recorded as the second RDMA gateway). In this way, the RDMA gateway corresponding to the first user terminal can establish an RDMA lossless transmission channel with the second RDMA gateway based on the received business configuration data.

[0109] In this embodiment, through user service needs, the core control plane can promptly learn the service type requested by the current user and respond in a timely manner, and send service configuration data to each RDMA gateway and terminal, and promptly establish an RDMA lossless transmission channel for lossless transmission, thereby providing a basis for efficient transmission of subsequent data packets.

[0110] In an exemplary embodiment, the data transmission method further includes:

[0111] Based on the user's business needs, end-to-end resource query is performed to determine the remaining network resources. If it is determined that the remaining network resources cannot meet the user's business needs, the user's business needs will be rejected through the business portal, or other network functions will be requested to coordinate resources; if it is determined that the remaining network resources can meet the user's business needs, the remaining network resources will be reserved for the business corresponding to the user's business needs.

[0112] Specifically, after receiving the user's service demand, the core control plane can reserve resources through end-to-end resource query, that is, the core control plane can perform end-to-end resource query to determine the remaining network resources available for the core control plane, and the remaining network resources available can be the remaining available communication resources. If the remaining network resources available for the core control plane are less than the resources required for the service corresponding to the user's service demand, the core control plane can determine that the current remaining network resources cannot meet the service corresponding to the user's service demand. Optionally, the core control plane can reject the user's service demand, for example, by generating a rejection response message and sending the rejection response message to the user through the service portal. Optionally, the core control plane can also request coordination resources from other network functions, specifically, by requesting resources from other networks. Based on the requested resources, the current available resources of the core control plane can be increased, and resource guarantees can be provided for the services of the user terminals to ensure the stability of service execution.

[0113] If the core control plane determines that the current remaining network resources can meet the resources required by the service corresponding to the user's business needs, then the core control plane can reserve the remaining network resources for the service corresponding to the user's business needs, that is, configure the remaining network resources as network resources that can be used by the service corresponding to the user's business needs.

[0114] In an exemplary embodiment, the specific implementation process of the step of “issuing service configuration data based on user service requirements” may include:

[0115] Based on user business needs, business configuration data is sent to each RDMA gateway.

[0116] Specifically, the service configuration data corresponding to the RDMA lossless transmission service may be configuration data for building an RDMA lossless transmission channel between various RDMA gateways. After receiving the service configuration data, the RDMA gateway may establish an RDMA lossless transmission channel based on the service configuration data.

[0117] For example, a user can transmit user business requirements to the core control plane through a business portal. Based on the user business requirements, the core control plane can send the business configuration data to the RDMA gateway corresponding to the first user terminal and the RDMA gateways corresponding to other user terminals that communicate with the first user terminal (which can be recorded as the second RDMA gateway). In this way, the RDMA gateway corresponding to the first user terminal can establish an RDMA lossless transmission channel with the second RDMA gateway based on the received business configuration data.

[0118] In this embodiment, through user service needs, the core control plane can promptly learn the service type requested by the current user and respond in a timely manner, and send service configuration data to each RDMA gateway and terminal, and promptly establish an RDMA lossless transmission channel for lossless transmission, thereby providing a basis for efficient transmission of subsequent data packets.

[0119] In one embodiment, Figure 7 A communication architecture diagram of a data transmission method is provided. Figure 7 As shown, it includes users, business portals, terminal 1, RDMA gateway 1, RDMA gateway 2, terminal 2 and core control plane. There is an RDMA lossless transmission channel (resource guarantee channel) between RDMA gateway 1 and RDMA gateway 2. Among them:

[0120] Since terminals in different areas perform data transmission and retransmission across a wide area, over long distances, and with large delays, based on this, in the data transmission method of this embodiment, when a user has a demand for RDMA lossless transmission, the user initiates an RDMA lossless service subscription through the service portal and sends the user's service demand to the core control plane; the core control plane receives the user's service demand and sends the service configuration data to RDMA gateway 1, RDMA gateway 2, and each terminal. The RDMA gateway can receive the data packet sent by the terminal, and perform service diversion at the RDMA gateway, import the RDMA service into the RDMA lossless channel, and ensure the quality of the RDMA service. The RDMA gateway can be used as a data caching agent, which is configured with a cache space, that is, a local storage space for caching data packets. The terminals are all user-side terminals that support RDMA. In an example, it includes:

[0121] S1. The user initiates an RDMA lossless service subscription request through the service portal.

[0122] S2. The core control plane receives user service requirements, queries the remaining available resources of the core control plane through end-to-end resources, and provides resource guarantees for users.

[0123] S3. The core control plane sends the service configuration data to the RDMA gateway and terminal.

[0124] S4. The terminal and the RDMA gateway receive the service configuration data and establish a resource-guaranteed network connection between the RDMA gateways, that is, establish an RDMA lossless transmission channel.

[0125] S5. User service traffic is diverted at the RDMA gateway, where user RDMA service data is cached at the gateway, and the gateway performs ACK on behalf of the user. At the same time, the gateway imports the RDMA service into a resource-guaranteed lossless channel.

[0126] The core control plane is used to receive RDMA service requests from users; select RDMA lossless slices for users and reserve resources to ensure user network bandwidth; and send service configuration data to RDMA gateways and terminals, that is, send RDMA lossless channel configuration data.

[0127] RDMA gateway is used for business diversion, such as receiving business configuration data sent by the core control plane; importing RDMA business into RDMA lossless channel according to user business needs; receiving RDMA data packets from the sender and caching them; pre-responding ACK to the terminal, answering RDMA data packets on behalf of the terminal, and forwarding data packets to the other end; when the cache overflows, feedback is given to the sender for back pressure to reduce the sending rate of the sender; when packet loss occurs in the network, retransmission is performed in combination with the retransmission mechanism.

[0128] The user-side terminal that supports RDMA is used to support users to log in to the service portal through the terminal, initiate and cancel RDMA service subscriptions; it is also used to receive configurations issued by the core control plane.

[0129] In one embodiment, Figure 8 A signaling interaction flow chart of a data transmission method is provided. Figure 8 As shown, it includes terminal 1 (sender), RDMA gateway 1, RDMA gateway 2 and terminal 2 (receiver). Terminal 1 communicates with RDMA gateway 1 through the metropolitan area network MAN. RDMA1 communicates with RDMA gateway 2 through the wide area RDMA lossless transmission channel, which can realize network resource guarantee. RDMA gateway 2 communicates with terminal 2 through the metropolitan area network MAN. The method includes the following steps: data transmission, ACK reply and abnormal packet loss, and the specific RDMA gateway cache reply process:

[0130] ① The sender sends an RDMA data packet.

[0131] ② RDMA gateway 1 caches the received RDMA data packets and replies ACK to the sender in advance, that is, replies to the first confirmation message.

[0132] ③ RDMA gateway 1 sends RDMA data packets through the resource guarantee channel (target RDMA lossless transmission channel) established between gateways.

[0133] ④ RDMA gateway 2 caches the received RDMA data packet and replies ACK to RDMA gateway 1 in advance, that is, the second confirmation message.

[0134] ⑤ RDMA2 gateway 2 sends RDMA data packet.

[0135] ⑥ The receiving end receives the RDMA data packet and replies an ACK confirmation message to RDMA gateway 2.

[0136] The specific retransmission process can be:

[0137] ① When RDMA gateway 1 finds that data packets are lost, it retransmits the data packets with the sender in combination with the retransmission mechanism, for example, sending a data packet retransmission request to the sender.

[0138] ② When RDMA gateway 2 finds that data packets are lost, it combines the retransmission mechanism to retransmit the data packets with RDMA gateway 1, for example, sending a data packet retransmission request to RDMA gateway 1.

[0139] ③ When the receiving end finds that data packets are lost, it combines the retransmission mechanism to retransmit the data packets with RDMA gateway 2, for example, sending a data packet retransmission request to RDMA2.

[0140] ④ When the network packet loss is serious, RDMA gateway 1 may have a buffer overflow, and the flow control back pressure mechanism is combined to reduce the sending end rate.

[0141] The RDMA gateway in the data transmission method provided in this embodiment has a large cache, and the RDMA data packets sent by the terminal will not be lost, but will be cached in the RDMA gateway. The RDMA gateway will reply confirmation information to the terminal in advance to improve the terminal data transmission rate. When packet loss occurs in the network, there is no need for end-to-end data retransmission, and the retransmission mechanism and flow control mechanism can be combined to further improve the network transmission efficiency. It is also possible to increase the data transmission rate of the sender based on the gateway cache proxy and improve the network data transmission efficiency; reserve network resources for RDMA services based on the core control plane, improve the wide-area RDMA data transmission efficiency, and ensure the transmission quality of RDMA service traffic. The traffic for subscribing to RDMA services is guaranteed, and other service traffic is consistent with the original method.

[0142] The data transmission method provided in this embodiment can also be applied to scenarios such as wide-area high-throughput data circulation and cross-domain migration of massive data. It can increase the data sending rate of network terminals, improve the efficiency of network data transmission, and provide lossless resource guarantee for users' high-level RDMA services. Combined with the retransmission mechanism and the flow control mechanism, the network transmission efficiency can be further improved. It can also be combined with deterministic IP and elastic IP methods to realize deterministic forwarding and elastic business management and control, and realize business determinism guarantee and elastic management of network capacity resources.

[0143] It should be understood that although Figure 1-8 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 1-8At least part of the steps may include multiple steps or multiple stages. These steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.

[0144] In one embodiment, Fig. 9 As shown, a data transmission device 900 is provided, which is applied to a remote direct data access RDMA gateway; an RDMA lossless transmission channel is established between the RDMA gateway and other RDMA gateways; the data transmission device 900 includes:

[0145] A first receiving module 902, configured to receive a data packet sent by a sender, cache the data packet, and return a first confirmation message to the sender;

[0146] The first transmission module 904 is used to transmit the data packet to the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel, and receive a second confirmation message returned by the RDMA gateway corresponding to the receiving end, so that the RDMA gateway corresponding to the receiving end transmits the data packet to the receiving end.

[0147] For the specific definition of the data transmission device, please refer to the definition of the data transmission method above, which will not be repeated here. Each module in the above-mentioned data transmission device can be implemented in whole or in part by software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0148] Fig.10 A schematic diagram of the structure of an access network device provided in an embodiment of the present application. The access network device may include a receiver 101, a memory 102, a processor 103, at least one communication bus 104 and a transmitter 105. The communication bus 104 is used to realize the communication connection between the components. The memory 102 may include a high-speed RAM memory, and may also include a non-volatile storage NVM, such as at least one disk memory. Various programs may be stored in the memory 102 to complete various processing functions and implement the method steps of this embodiment. In this embodiment, the transmitter 105 may be a radio frequency processing module or a baseband processing module in the access network device, and the receiver 101 may also be a radio frequency processing module or a baseband processing module in the access network device. The transmitter 105 and the receiver 101 may be integrated together to realize a transceiver. The transmitter 105 and the receiver 101 may be coupled to the processor 103, and they may realize the receiving or transmitting action under the instruction or control of the processor 103.

[0149] In this embodiment, the processor 103 is used to receive a data packet sent by the sender through the receiver 101, cache the data packet, and return a first confirmation message to the sender through the transmitter 105;

[0150] The processor 103 is also used to transmit the data packet to the RDMA gateway corresponding to the receiving end through the transmitter 105 and the target RDMA lossless transmission channel, and receive the second confirmation message returned by the RDMA gateway corresponding to the receiving end through the receiver 101, so that the RDMA gateway corresponding to the receiving end transmits the data packet to the receiving end.

[0151] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the data transmission method provided in the embodiment of the present application is implemented.

[0152] The embodiment of the present application also provides a computer program product including instructions, which, when executed on a computer, enables the computer to implement the data transmission method provided by the embodiment of the present application.

[0153] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), tape, floppy disk, flash memory or optical memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).

[0154] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0155] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.

Claims

1. A data transmission method, characterized in that: Applied to remote direct data access RDMA gateway; The RDMA gateway establishes an RDMA lossless transmission channel with other RDMA gateways; the method comprises: Receive a data packet sent by a sender, cache the data packet, and return a first confirmation message to the sender; The data packet is transmitted to the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel, and a second confirmation message returned by the RDMA gateway corresponding to the receiving end is received, so that the RDMA gateway corresponding to the receiving end transmits the data packet to the receiving end.

2. The method according to claim 1, characterized in that The target RDMA lossless transmission channel is a transmission channel established between the RDMA gateway corresponding to the sending end and the RDMA gateway corresponding to the receiving end.

3. The method according to claim 1, characterized in that The method further comprises: Receiving service configuration data issued by the core control plane, wherein the service configuration data is issued by the core control plane after receiving a user service demand initiated by a user through a service portal; the user service demand is obtained by the service portal according to the user service subscription status and transmitted to the core control plane; Based on the service configuration data, an RDMA lossless transmission channel is established with the other RDMA gateway.

4. The method according to claim 1, characterized in that: The method further comprises: If it is determined that the local cache space of the RDMA gateway exceeds a preset capacity threshold, a flow control request is sent to the sending end, where the flow control request is used to cause the sending end to reduce a sending rate of data packets.

5. The method according to claim 1, characterized in that The method further comprises: If it is confirmed that the data packet is lost, sending a data packet retransmission request to the sending end; Receive the retransmission data packet sent by the sending end.

6. The method according to claim 1, characterized in that The method further comprises: Receiving a data packet retransmission request sent by the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel; A retransmitted data packet corresponding to the data packet retransmission request is obtained in the cache space, and the retransmitted data packet is sent to the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel, so that the RDMA gateway corresponding to the receiving end sends the retransmitted data packet to the receiving end.

7. The method according to claim 1, characterized in that The method further comprises: Receiving a data packet retransmission request sent by the receiving end; A retransmission data packet corresponding to the data packet retransmission request is obtained in a local cache space, and the retransmission data packet is sent to the receiving end.

8. A data transmission method, characterized in that: Applied to the core control plane; the method comprises: Receive user business requirements transmitted by the business portal; Based on the user service requirements, service configuration data is issued, and the service configuration data is used to establish an RDMA lossless transmission channel between RDMA gateways.

9. The method according to claim 8, characterized in that The method further comprises: Based on the user's service requirements, perform end-to-end resource query to determine remaining network resources; If it is determined that the remaining network resources cannot meet the user's service demand, rejecting the user's service demand to the user through the service portal, or requesting coordination of resources from other network functions; If it is determined that the remaining network resources can meet the user service demand, the remaining network resources are reserved for the service corresponding to the user service demand.

10. The method according to claim 8, characterized in that The issuing of service configuration data based on the user service demand includes: Based on the user service requirements, service configuration data is sent to each of the RDMA gateways.

11. A data transmission device, characterized in that: Applied to remote direct data access RDMA gateway; The RDMA gateway establishes an RDMA lossless transmission channel with other RDMA gateways; the device comprises: A first receiving module, configured to receive a data packet sent by a sending end, cache the data packet, and return a first confirmation message to the sending end; The first transmission module is used to transmit the data packet to the RDMA gateway corresponding to the receiving end through the target RDMA lossless transmission channel, and receive a second confirmation message returned by the RDMA gateway corresponding to the receiving end, so that the RDMA gateway corresponding to the receiving end transmits the data packet to the receiving end.

12. A communication device, characterized in that: include: transmitter, processor, and receiver; The processor is configured to receive a data packet sent by a sender through the receiver, cache the data packet, and return a first confirmation message to the sender through the sender; The processor is further used to transmit the data packet to the RDMA gateway corresponding to the receiving end through the transmitter and the target RDMA lossless transmission channel, and to receive a second confirmation message returned by the RDMA gateway corresponding to the receiving end through the receiver, so that the RDMA gateway corresponding to the receiving end transmits the data packet to the receiving end.

13. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.

14. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.