Data transmission method and device, equipment and storage medium
By directly transmitting data between edge CDN nodes using RDMA memory areas, the problem of wasted storage bandwidth and CPU resources in traditional storage and forwarding mode is solved, and efficient data transmission and low latency are achieved.
Patent Information
- Application Number
- CN202510655476.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-20
- Publication Date
- 2025-07-25
AI Technical Summary
The storage and forwarding mode of traditional edge CDN nodes leads to wasting of storage bandwidth and CPU resources, and the data transmission efficiency is low and the delay is high.
The RDMA memory area is used to directly transmit data, and the memory is directly transmitted between the first edge CDN node and the second edge CDN node to avoid CPU intervention. The flexible switching between the RDMA channel and the socket channel is used to optimize the data transmission path.
This greatly reduces CPU usage and storage bandwidth usage, improves data transmission efficiency, and reduces data transmission delay.
Smart Images

Figure CN120378430A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of cloud-network integration, and particularly to a data transmission method, apparatus, device, and storage medium. Background Art
[0002] With the rapid development of Internet applications, especially the popularization of high-bandwidth applications such as high-definition video, cloud computing, and big data, the traditional network transmission method is facing increasing pressure. Edge Content Delivery Network (CDN) nodes play a very important role in improving network transmission quality. Edge CDN nodes deploy lightweight nodes on the edge side of the network, and combine local caching, dynamic routing, and protocol optimization technologies to achieve content delivery nearby, so as to reduce data transmission overhead.
[0003] Currently, edge CDN nodes mainly adopt the traditional store-and-forward mode, that is, the serial processing mechanism of "receive-store-forward". The data transmitted through the socket channel needs to be written into the storage medium of the edge CDN node and then read and forwarded; among them, writing into the storage medium of the edge CDN node needs to go through a complete storage I / O path, and reading and forwarding from the storage medium of the edge CDN node also needs to go through a complete storage I / O path; this not only causes repeated consumption of storage bandwidth, but also makes the Central Processing Unit (CPU) frequently intervene in data transfer and protocol stack processing, resulting in waste of storage bandwidth and CPU resources. Summary of the Invention
[0004] This application provides a data transmission method, apparatus, device, and storage medium to improve the data transmission efficiency between edge CDN nodes and reduce latency.
[0005] In a first aspect, this application provides a data transmission method, which includes:
[0006] The first edge CDN node directly stores the data to be transmitted received from the source client in a first memory area; the first memory area is determined by the first edge CDN node according to the registered memory area indicated in the first connection parameter sent by the scheduling server;
[0007] The first edge CDN node reads the data to be transmitted from the first memory area and sends the data to be transmitted to a second edge CDN node, and the second edge CDN node is used to directly store the data to be transmitted in a second memory area and read the data to be transmitted from the second memory area and send it to the destination client; the second memory area is determined by the second edge CDN node according to the registered memory area indicated in the second connection parameter sent by the scheduling server;
[0008] Among them, the first edge CDN node and the second edge CDN node are determined by the scheduling server from at least one edge CDN node according to the data transmission service request sent by the source client.
[0009] The first memory area and the second memory area are respectively registered as memories available for RDMA operations according to the first connection parameter and the second connection parameter, and can also be referred to as RDMA memories. Storing and reading data in the RDMA memory do not require the intervention of the CPU. That is to say, whether the first edge CDN node stores the data to be transmitted in the first memory area, reads the data to be transmitted from the first memory area, or the second edge CDN node stores the received data to be transmitted in the second memory area, reads the data to be transmitted from the second memory area and sends it to the destination client, none of them require the intervention of the CPU. The direct data transfer between the first memory area and the second memory area realizes the direct memory transfer between the first edge CDN node and the second edge CDN node. Compared with the traditional storage and forwarding mode of edge CDN nodes, in the data transmission method proposed in this application, the first edge CDN node does not need to go through two complete storage I / O paths, and the second edge CDN node also does not need to go through two complete storage I / O paths, which greatly reduces the CPU occupancy and storage bandwidth occupancy, improves the data transmission efficiency, and reduces the data transmission delay.
[0010] In a possible design, the first edge CDN node sending the data to be transmitted to the second edge CDN node includes:
[0011] The first edge CDN node establishes an RDMA channel with the second edge CDN node;
[0012] The first edge CDN node sends the data to be transmitted to the second edge CDN node through the RDMA channel.
[0013] Each edge CDN node in at least one edge CDN node is installed with an RDMA network card, and the RDMA channel between the two is established through the RDMA network card installed in the first edge CDN node and the RDMA network card installed in the second edge CDN node. Through the established RDMA channel, the data to be transmitted can be directly transferred from the first memory area in the first edge CDN node to the second memory area in the second edge CDN node without the participation of the CPUs of the first edge CDN node and the second edge CDN node, reducing the CPU occupancy rate and loss.
[0014] In a possible design, before the first edge CDN node reads the data to be transmitted from the first memory area, it further includes:
[0015] The first edge CDN node establishes a socket channel with the second edge CDN node;
[0016] The first edge CDN node establishes the RDMA channel with the second edge CDN node through the socket channel.
[0017] In a possible design, the first connection parameter further includes a first IP address and an RDMA key;
[0018] The first edge CDN node establishing the RDMA channel with the second edge CDN node through the socket channel includes:
[0019] The first edge CDN node sends an authentication request encrypted with the RDMA key to the second edge CDN node indicated by the first IP address through the socket channel;
[0020] After receiving the authentication request response indicating that the verification has passed sent by the second edge CDN node, the first edge CDN node establishes an RDMA channel with the second edge CDN node.
[0021] Before establishing the RDMA channel, the first edge CDN node and the second edge CDN node will perform verification and check through an authentication request. After the check passes, the RDMA channel will be established to ensure the security and reliability of the RDMA channel.
[0022] In a possible design, the method further includes:
[0023] The first edge CDN node receives a handover notice sent by the second edge CDN node; the handover notice is determined by the second edge CDN node according to the data transmission performance of the RDMA channel;
[0024] After the handover notice indicates that the data transmission performance of the RDMA channel does not meet the set requirements, the first edge CDN node uses the socket channel as the data transmission channel to perform data transmission with the second edge CDN node;
[0025] Alternatively, after the handover notice indicates that the data transmission performance of the RDMA channel meets the set requirements, the first edge CDN node uses the RDMA channel as the data transmission channel to perform data transmission with the second edge CDN node.
[0026] When the data transmission performance of the RDMA channel is excellent, switch the data transmission channel to the RDMA channel; otherwise, switch it to the socket channel. It can be seen that in this application, the data transmission channel between the first edge CDN node and the second edge CDN node can be switched between the socket channel and the RDMA channel, which has good flexibility; and always selects the channel with better data transmission performance as the current data transmission channel to improve the data transmission efficiency.
[0027] In a possible design, the method further includes:
[0028] If the data transmission channel is the RDMA channel, the first edge CDN node sends a performance probe packet to the second edge CDN node through the socket channel;
[0029] If the data transmission channel is the socket channel, the first edge CDN node sends a performance probe packet to the second edge CDN node through the RDMA channel;
[0030] The performance probe packet and the data transmitted through the data transmission channel are used by the second edge CDN node to determine the data transmission performance of the RDMA channel.
[0031] For the RDMA channel and the socket channel, when one of the channels is used as the current data transmission channel to transmit data, the other channel is used to transmit the performance probe packet, so that the second edge CDN node can comprehensively determine the data transmission performance of the RDMA channel according to the performance probe packet and the data transmitted through the data transmission channel, ensuring the accuracy of the determination of the data transmission performance of the RDMA channel, and thus ensuring the accuracy of the switching between the RDMA channel and the socket channel.
[0032] In a second aspect, this application provides a data transmission method, and the method includes:
[0033] The second edge CDN node receives the data to be transmitted read and sent by the first edge CDN node from the first memory area; the data to be transmitted is sent by the source client to the first edge CDN node and directly stored by the first edge CDN node in the first memory area, and the first memory area is determined by the first edge CDN node according to the registered memory area indicated in the first connection parameter issued by the scheduling server;
[0034] The second edge CDN node directly stores the data to be transmitted in the second memory area, and reads the data to be transmitted from the second memory area and sends it to the destination client; the second memory area is determined by the second edge CDN node according to the registered memory area indicated in the second connection parameter issued by the scheduling server;
[0035] Among them, the first edge CDN node and the second edge CDN node are determined by the scheduling server from at least one edge CDN node according to the data transmission service request sent by the source client.
[0036] The first memory area and the second memory area are respectively registered as memories available for RDMA operations according to the first connection parameter and the second connection parameter, and can also be called RDMA memories. Storing and reading data in the RDMA memory do not require the intervention of the CPU. The direct transfer between the first memory area and the second memory area realizes the memory direct transfer between the first edge CDN node and the second edge CDN node. Compared with the traditional storage and forwarding mode of edge CDN nodes, in the data transmission method proposed in this application, the first edge CDN node does not need to go through two complete storage I / O paths, and the second edge CDN node also does not need to go through two complete storage I / O paths, greatly reducing the CPU occupancy and storage bandwidth occupancy, improving the data transmission efficiency, and reducing the data transmission delay.
[0037] In a possible design, the second edge CDN node receives the data to be transmitted read and sent by the first edge CDN node from the first memory area, including:
[0038] The second edge CDN node establishes an RDMA channel with the first edge CDN node;
[0039] The second edge CDN node receives the data to be transmitted read and sent by the first edge CDN node from the first memory area through the RDMA channel.
[0040] In a possible design, before the second edge CDN node receives the data to be transmitted read and sent by the first edge CDN node from the first memory area, it further includes:
[0041] The second edge CDN node establishes a socket channel with the first edge CDN node;
[0042] The second edge CDN node establishes the RDMA channel with the first edge CDN node through the socket channel.
[0043] In a possible design, the second connection parameter further includes a second IP address and an RDMA key;
[0044] The second edge CDN node establishes an RDMA channel with the first edge CDN node through the socket channel, including:
[0045] The second edge CDN node receives the authentication request sent by the first edge CDN node through the socket channel;
[0046] The second edge CDN node decrypts the authentication request using the RDMA key;
[0047] After the second edge CDN node determines that the IP address of the edge CDN node sending the authentication request is the same as the second IP address, the second edge CDN node sends an authentication request response indicating that the verification has passed to the first edge CDN node and establishes an RDMA channel with the first edge CDN node.
[0048] In a possible design, the method further includes:
[0049] The second edge CDN node determines a handover notice according to the data transmission performance of the RDMA channel;
[0050] The second edge CDN node sends the handover notice to the first edge CDN node. The handover notice is used to instruct the first edge CDN node to switch the data transmission channel from the RDMA channel to the socket channel; or, to instruct the first edge CDN node to switch the data transmission channel from the socket channel to the RDMA channel.
[0051] In a possible design, before the second edge CDN node determines the handover notice according to the data transmission performance of the RDMA channel, it further includes:
[0052] If the data transmission channel is the RDMA channel, the second edge CDN node receives the performance probe packet sent by the first edge CDN node through the socket channel;
[0053] If the data transmission channel is the socket channel, the second edge CDN node receives the performance probe packet sent by the first edge CDN node through the RDMA channel;
[0054] The second edge CDN node determines the data transmission performance of the RDMA channel according to the performance probe packet and the data transmitted through the data transmission channel.
[0055] In a possible design, the second edge CDN node determines the performance of the RDMA channel according to the performance probe packet and the data transmitted through the data transmission channel, including:
[0056] The second edge CDN node respectively determines the throughput ratio and the CPU occupancy ratio according to the performance probe packet and the data transmitted through the data transmission channel;
[0057] The second edge CDN node determines the data transmission performance of the RDMA channel according to the throughput ratio, the first weight, the CPU occupancy ratio, and the second weight;
[0058] Wherein, the first weight and the second weight are determined by the scheduling server according to the network quality and load pressure of the first edge CDN node and the second edge CDN node, and are included in the second connection parameter; the first weight represents the influence degree of the throughput ratio on the data transmission performance of the RDMA channel, and the second weight represents the influence degree of the CPU occupancy ratio on the data transmission performance of the RDMA channel.
[0059] In a possible design, the second edge CDN node determines a handover notification according to the data transmission performance of the RDMA channel, including:
[0060] If the data transmission performance of the RDMA channel does not meet the set requirements, the second edge CDN node determines a handover notification for instructing the first edge CDN node to switch the data transmission channel from the RDMA channel to the socket channel;
[0061] If the performance of the RDMA channel meets the set requirements, the second edge CDN node determines a handover notification for instructing the first edge CDN node to switch the data transmission channel from the socket channel to the RDMA channel.
[0062] In a third aspect, the present application provides a data transmission method, and the method includes:
[0063] The scheduling server receives a data transmission service request sent by a source client;
[0064] The scheduling server determines a first edge CDN node and a second edge CDN node from at least one edge CDN node according to the data transmission service request;
[0065] The scheduling server sends a first connection parameter to the first edge CDN node, and sends a second connection parameter to the second edge CDN node; wherein, the registered memory area indicated in the first connection parameter is used to instruct the first edge CDN node to determine a first memory area, and the registered memory area indicated in the second connection parameter is used to instruct the second edge CDN node to determine a second memory area;
[0066] The first memory area is used for the first edge CDN node to directly store the data to be transmitted sent by the source client; the second memory area is used for the second edge CDN node to directly store the data to be transmitted sent by the first edge CDN node, and read the data to be transmitted from the second memory area and send it to the destination client.
[0067] After receiving the data transmission service request sent by the source client, the scheduling server selects a suitable first edge CDN node and a second edge CDN node from at least one edge CDN node according to the data transmission service request, and sends the first connection parameter to the first edge CDN node so that the first edge CDN node can determine the first memory area, and sends the second connection parameter to the second edge CDN node so that the second edge CDN node can determine the second memory area. The direct transmission between the first memory area and the second memory area realizes the in-memory direct transmission between the first edge CDN node and the second edge CDN node, improves the data transmission efficiency, and reduces the data transmission delay.
[0068] In a possible design, the scheduling server determines the first edge CDN node and the second edge CDN node from at least one edge CDN node according to the data transmission service request, including:
[0069] The scheduling server determines the first edge CDN node and the second edge CDN node according to the request information corresponding to the data transmission service request and the performance evaluation results corresponding to each edge CDN node in the at least one edge CDN node.
[0070] In a possible design, the scheduling server determines the first edge CDN node and the second edge CDN node according to the request information corresponding to the data transmission service request and the performance evaluation results corresponding to each edge CDN node in the at least one edge CDN node, including:
[0071] The scheduling server determines the edge CDN nodes that meet the resource evaluation according to the first performance evaluation results corresponding to each edge CDN node in the at least one edge CDN node;
[0072] The scheduling server determines the first edge CDN node and the second edge CDN node according to the request information corresponding to the data transmission service request and the second performance evaluation results of the edge CDN nodes that meet the resource evaluation.
[0073] In a possible design, the first performance evaluation result includes at least one of the following: CPU utilization rate, I / O utilization rate, memory utilization rate, RDMA bandwidth utilization rate, and RDMA memory occupancy rate; if any one of them does not meet the preset conditions, it is an edge CDN node with unqualified resource evaluation.
[0074] In a possible design, the second performance evaluation result is obtained in the following manner, including:
[0075] For any edge CDN node with qualified resource evaluation, the scheduling server determines the socket performance evaluation result corresponding to the edge CDN node according to the CPU utilization rate, I / O utilization rate, and memory utilization rate of the edge CDN node, and determines the RDMA performance evaluation result corresponding to the edge CDN node according to the RDMA bandwidth utilization rate and RDMA memory registration capacity of the edge CDN node;
[0076] The scheduling server determines the second performance evaluation result corresponding to the edge CDN node according to the data transmission task type, the socket performance evaluation result corresponding to the edge CDN node, and the RDMA performance evaluation result.
[0077] The scheduling server first performs a screening process on at least one edge CDN node to screen out the edge CDN nodes with qualified resource evaluation, and then determines the first edge CDN node and the second edge CDN node according to the second performance evaluation results of the edge CDN nodes with qualified resource evaluation. By jointly evaluating each edge CDN node through the first performance evaluation result and the second performance evaluation result, the accuracy and rationality of the determination of the first edge CDN node and the second edge CDN node are improved.
[0078] In a possible design, before the scheduling server sends the second connection parameter to the second edge CDN node, it further includes:
[0079] The scheduling server determines the first weight and the second weight according to the network quality and load pressure of the first edge CDN node and the second edge CDN node; the first weight represents the influence degree of the throughput ratio on the data transmission performance of the RDMA channel, and the second weight represents the influence degree of the CPU occupancy ratio on the data transmission performance of the RDMA channel; the throughput ratio and the CPU occupancy ratio are determined by the second edge CDN node according to the performance probe packet sent by the first edge CDN node and the data transmitted through the data transmission channel between the first edge CDN node and the second edge CDN node;
[0080] The scheduling server adds the first weight and the second weight to the second connection parameter.
[0081] In a possible design, the first weight is positively correlated with the network quality of the first edge CDN node and the second edge CDN node; the second weight is positively correlated with the load pressure of the first edge CDN node and the second edge CDN node.
[0082] Fourthly, the present application further provides a data transmission device, which includes a transceiver module and a processing module; the processing module invokes the transceiver module to execute:
[0083] Directly store the data to be transmitted received from the source client in the first memory area; the first memory area is determined by the first edge CDN node according to the registered memory area indicated in the first connection parameter issued by the scheduling server;
[0084] Read the data to be transmitted from the first memory area, and send the data to be transmitted to the second edge CDN node, and the second edge CDN node is used to directly store the data to be transmitted in the second memory area, and read the data to be transmitted from the second memory area and send it to the destination client; the second memory area is determined by the second edge CDN node according to the registered memory area indicated in the second connection parameter issued by the scheduling server;
[0085] Wherein, the first edge CDN node and the second edge CDN node are determined by the scheduling server from at least one edge CDN node according to the data transmission service request sent by the source client.
[0086] In a possible design, when the transceiver module is used to send the data to be transmitted to the second edge CDN node, specifically: the first edge CDN node establishes a Remote Direct Memory Access (RDMA) channel with the second edge CDN node; the first edge CDN node sends the data to be transmitted to the second edge CDN node through the RDMA channel.
[0087] In a possible design, before the transceiver module reads the data to be transmitted from the first memory area, it is further used to establish a socket channel with the second edge CDN node; and establish the RDMA channel with the second edge CDN node through the socket channel.
[0088] In a possible design, the first connection parameter further includes a first IP address and an RDMA key;
[0089] When establishing an RDMA channel with the second edge CDN node through the socket channel, the transceiver module is specifically configured to: send an authentication request encrypted with the RDMA key to the second edge CDN node indicated by the first IP address through the socket channel; and establish an RDMA channel with the second edge CDN node after receiving an authentication request response indicating successful verification sent by the second edge CDN node.
[0090] In a possible design, the transceiver module is further configured to receive a handover notice sent by the second edge CDN node; the handover notice is determined by the second edge CDN node according to the data transmission performance of the RDMA channel.
[0091] After the handover notice indicates that the data transmission performance of the RDMA channel does not meet the set requirements, use the socket channel as the data transmission channel to perform data transmission with the second edge CDN node.
[0092] Alternatively, after the handover notice indicates that the data transmission performance of the RDMA channel meets the set requirements, use the RDMA channel as the data transmission channel to perform data transmission with the second edge CDN node.
[0093] In a possible design, the transceiver module is further configured to, if the data transmission channel is the RDMA channel, send a performance probe packet to the second edge CDN node through the socket channel; if the data transmission channel is the socket channel, send a performance probe packet to the second edge CDN node through the RDMA channel; the performance probe packet and the data transmitted through the data transmission channel are used by the second edge CDN node to determine the data transmission performance of the RDMA channel.
[0094] In a fifth aspect, the present application further provides a data transmission device, which includes a transceiver module and a processing module; the processing module invokes the transceiver module to execute:
[0095] Receive data to be transmitted read from a first memory area by a first edge CDN node and sent; the data to be transmitted is sent by a source client to the first edge CDN node and directly stored in the first memory area by the first edge CDN node, and the first memory area is determined by the first edge CDN node according to a registered memory area indicated in first connection parameters sent by a scheduling server.
[0096] Directly store the data to be transmitted in the second memory area, and read the data to be transmitted from the second memory area and send it to the destination client; the second memory area is determined by the second edge CDN node according to the registered memory area indicated in the second connection parameters sent by the scheduling server;
[0097] Wherein, the first edge CDN node and the second edge CDN node are determined by the scheduling server from at least one edge CDN node according to the data transmission service request sent by the source client.
[0098] In a possible design, when the transceiver module is used to receive the data to be transmitted read and sent by the first edge CDN node from the first memory area, it is specifically used to: establish an RDMA channel with the first edge CDN node; receive the data to be transmitted read and sent by the first edge CDN node from the first memory area through the RDMA channel.
[0099] In a possible design, before the transceiver module is used to receive the data to be transmitted read and sent by the first edge CDN node from the first memory area, the transceiver module is further used to: establish a socket channel with the first edge CDN node; establish the RDMA channel with the first edge CDN node through the socket channel.
[0100] In a possible design, the second connection parameters further include a second IP address and an RDMA key;
[0101] When the transceiver module is used to establish an RDMA channel with the first edge CDN node through the socket channel, it is specifically used to:
[0102] Receive an authentication request sent by the first edge CDN node through the socket channel;
[0103] Decrypt the authentication request using the RDMA key;
[0104] After determining that the IP address of the edge CDN node sending the authentication request is the same as the second IP address, send an authentication request response indicating that the verification has passed to the first edge CDN node and establish an RDMA channel with the first edge CDN node.
[0105] In a possible design, the processing module is used to determine a handover notification according to the data transmission performance of the RDMA channel;
[0106] The transceiver module is further configured to send the handover notification to the first edge CDN node, where the handover notification is used to instruct the first edge CDN node to switch the data transmission channel from the RDMA channel to the socket channel; or, to instruct the first edge CDN node to switch the data transmission channel from the socket channel to the RDMA channel.
[0107] In a possible design, before the processing module determines the handover notification according to the data transmission performance of the RDMA channel, the transceiver module is further configured to: if the data transmission channel is the RDMA channel, receive a performance probe packet sent by the first edge CDN node through the socket channel; if the data transmission channel is the socket channel, receive a performance probe packet sent by the first edge CDN node through the RDMA channel; the processing module is further configured to determine the data transmission performance of the RDMA channel according to the performance probe packet and the data transmitted through the data transmission channel.
[0108] In a possible design, when the processing module is configured to determine the performance of the RDMA channel according to the performance probe packet and the data transmitted through the data transmission channel, it is specifically configured to: determine a throughput ratio and a CPU occupancy ratio respectively according to the performance probe packet and the data transmitted through the data transmission channel; determine the data transmission performance of the RDMA channel according to the throughput ratio, a first weight, the CPU occupancy ratio, and a second weight; where the first weight and the second weight are determined by the scheduling server according to the network quality and load pressure of the first edge CDN node and the second edge CDN node, and are included in the second connection parameter; the first weight represents the influence degree of the throughput ratio on the data transmission performance of the RDMA channel, and the second weight represents the influence degree of the CPU occupancy ratio on the data transmission performance of the RDMA channel.
[0109] In a possible design, when the processing module is configured to determine the handover notification according to the data transmission performance of the RDMA channel, it is specifically configured to: if the data transmission performance of the RDMA channel does not meet the set requirements, determine a handover notification for instructing the first edge CDN node to switch the data transmission channel from the RDMA channel to the socket channel; if the performance of the RDMA channel meets the set requirements, determine a handover notification for instructing the first edge CDN node to switch the data transmission channel from the socket channel to the RDMA channel.
[0110] In a sixth aspect, the present application further provides a data transmission device, and the device includes a transceiver module and a processing module;
[0111] The transceiver module is configured to receive a data transmission service request sent by a source client;
[0112] The processing module is configured to determine a first edge CDN node and a second edge CDN node from at least one edge CDN node according to the data transmission service request;
[0113] The transceiver module is further configured to send first connection parameters to the first edge CDN node and second connection parameters to the second edge CDN node; wherein, the registered memory area indicated in the first connection parameter is used to instruct the first edge CDN node to determine a first memory area, and the registered memory area indicated in the second connection parameter is used to instruct the second edge CDN node to determine a second memory area;
[0114] The first memory area is used for the first edge CDN node to directly store the data to be transmitted sent by the source client; the second memory area is used for the second edge CDN node to directly store the data to be transmitted sent by the first edge CDN node, and read the data to be transmitted from the second memory area and send it to the destination client.
[0115] In a possible design, when the processing module is configured to determine a first edge CDN node and a second edge CDN node from at least one edge CDN node according to the data transmission service request, it is specifically configured to: determine the first edge CDN node and the second edge CDN node according to the request information corresponding to the data transmission service request and the performance evaluation results corresponding to each edge CDN node in the at least one edge CDN node.
[0116] In a possible design, when the processing module is configured to determine a first edge CDN node and a second edge CDN node according to the request information corresponding to the data transmission service request and the performance evaluation results corresponding to each edge CDN node in the at least one edge CDN node, it is specifically configured to: determine the edge CDN nodes that meet the resource evaluation according to the first performance evaluation results corresponding to each edge CDN node in the at least one edge CDN node; determine the first edge CDN node and the second edge CDN node according to the request information corresponding to the data transmission service request and the second performance evaluation results of the edge CDN nodes that meet the resource evaluation.
[0117] In a possible design, the first performance evaluation result includes at least one of the following: CPU utilization rate, I / O utilization rate, memory utilization rate, RDMA bandwidth utilization rate, and RDMA memory occupancy rate; if any one does not meet the preset condition, it is an edge CDN node that fails the resource evaluation.
[0118] In a possible design, the second performance evaluation result is obtained in the following manner, including:
[0119] For any edge CDN node with qualified resource evaluation, the processing module is configured to determine the socket performance evaluation result corresponding to the edge CDN node according to the CPU utilization rate, I / O utilization rate, and memory utilization rate of the edge CDN node, and determine the RDMA performance evaluation result corresponding to the edge CDN node according to the RDMA bandwidth utilization rate and RDMA memory registration capacity of the edge CDN node; and is configured to determine the second performance evaluation result corresponding to the edge CDN node according to the data transmission task type, the socket performance evaluation result corresponding to the edge CDN node, and the RDMA performance evaluation result.
[0120] In a possible design, before the transceiver module is configured to send second connection parameters to the second edge CDN node, the processing module is further configured to determine a first weight and a second weight according to the network quality and load pressure between the first edge CDN node and the second edge CDN node; the first weight represents the influence degree of the throughput ratio on the data transmission performance of the RDMA channel, and the second weight represents the influence degree of the CPU occupancy ratio on the data transmission performance of the RDMA channel; the throughput ratio and the CPU occupancy ratio are determined by the second edge CDN node according to the performance probe packet sent by the first edge CDN node and the data transmitted through the data transmission channel between the first edge CDN node and the second edge CDN node; and add the first weight and the second weight to the second connection parameters.
[0121] In a possible design, the first weight has a positive correlation with the network quality between the first edge CDN node and the second edge CDN node; the second weight has a positive correlation with the load pressure between the first edge CDN node and the second edge CDN node.
[0122] In a seventh aspect, the present application further provides a data transmission device, which includes: a processor, and a memory communicatively connected to the processor;
[0123] The memory stores computer-executable instructions;
[0124] The processor executes the computer-executable instructions stored in the memory to implement the methods described in the first aspect to the third aspect above.
[0125] In an eighth aspect, the present application further provides a computer-readable storage medium. The readable storage medium includes a program which, when executed on a device, causes the device to execute the method described in any one of the first to third aspects above.
[0126] In a ninth aspect, the present application further provides a computer program product. The computer program product includes a computer program which, when executed by a processor, implements the method described in the first to third aspects above. BRIEF DESCRIPTION OF THE DRAWINGS
[0127] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for description in the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0128] Figure 1 It is a schematic diagram of the traditional storage and forwarding mode architecture of an edge CDN node;
[0129] Figure 2 It is an interaction diagram of the traditional storage and forwarding mode of an edge CDN node;
[0130] Figure 3 It is a schematic flowchart of the data transmission method provided by the embodiment of the present application;
[0131] Figure 4 It is a schematic diagram of the architecture of the data transmission method provided by the embodiment of the present application;
[0132] Figure 5 It is an interaction diagram of the data transmission method provided by the embodiment of the present application;
[0133] Figure 6 It is an interaction diagram of the data transmission channel switching process provided by the embodiment of the present application;
[0134] Figure 7 It is a schematic diagram of the structure of the data transmission device provided by the embodiment of the present application Figure 1 ;
[0135] Figure 8 It is a schematic diagram of the structure of the data transmission device provided by the embodiment of the present application Figure 2 。 DETAILED DESCRIPTION OF THE EMBODIMENTS
[0136] To make the objectives, technical solutions, and advantages of this application clearer, the following will further describe this application in detail with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, rather than all of them. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of this application.
[0137] The application scenarios described in the embodiments of this application are for more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. It is known to those of ordinary skill in the art that with the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are equally applicable to similar technical problems. Among them, in the description of this application, unless otherwise specified, the meaning of "a plurality of" is two or more.
[0138] Currently, the traditional storage and forwarding mode of edge Content Delivery Network (CDN) nodes is as Figure 1 shown, Figure 1 which includes a scheduling server, a source client, a destination client, edge CDN node ①, and edge CDN node ②. The source client expects to transmit data to the destination client, that is, Figure 1 the data to be transmitted in Figure 2 shown. The interaction between the scheduling server, the source client, the destination client, edge CDN node ①, and edge CDN node ② during the data transmission process is as
[0139] S201: The source client sends a data transmission service request to the scheduling server; since the source client does not know at this time which edge CDN node the data to be transmitted should be sent to, it can only send a data transmission service request to the scheduling server;
[0140] S202: The scheduling server selects an edge CDN node nearby according to the geographical location of the source client, and records the selected edge CDN node as edge CDN node ①; for example, assuming that the geographical location of the source client is Beijing, then the scheduling server selects an edge CDN node located in Beijing for this data transmission;
[0141] S203: The scheduling server sends a redirection of the data transmission service request to the source client; the redirection of the data transmission service request can be understood as a response to the data transmission service request sent by the source client in S201, which contains the IP address of edge CDN node ①;
[0142] S204: The source client sends the data to be transmitted to edge CDN node ①;
[0143] S205: The edge CDN node ① stores the data to be transmitted received in the local memory or hard disk, and selects an edge CDN node nearby according to the geographical location of the destination client indicated by the data to be transmitted, denoted as edge CDN node ②;
[0144] S206: The edge CDN node ① reads the data to be transmitted from the local memory or hard disk, and sends the data to be transmitted to the edge CDN node ②;
[0145] S207: The edge CDN node ② stores the data to be transmitted received in the local memory or hard disk;
[0146] S208: The edge CDN node ② reads the data to be transmitted from the local memory or hard disk, and sends the data to be transmitted to the destination client.
[0147] When the edge CDN node ① stores the data to be transmitted in S205, it needs to go through a complete storage I / O path, and when reading the data to be transmitted in S206, it needs to go through a complete I / O path; similarly, the edge CDN node ② needs to go through a complete storage I / O path in S207 and a complete storage I / O path in S208. It can be seen that the traditional storage and forwarding mode of the edge CDN node consumes a large amount of CPU and bandwidth.
[0148] To solve the above problems existing in the traditional storage and forwarding mode of the edge CDN node, the present application proposes a data transmission method as Figure 3 shown, and the method specifically includes:
[0149] S301: The scheduling server receives a data transmission service request sent by the source client.
[0150] S302: The scheduling server determines a first edge CDN node and a second edge CDN node from at least one edge CDN node according to the data transmission service request.
[0151] Exemplarily, the scheduling server can also be called a CDN scheduling server, which schedules or manages at least one edge CDN node to complete the data transmission between the source client and the destination client, and the scheduling server can communicate with each edge CDN node. Each edge CDN node is installed with a Remote Direct Memory Access (RDMA) network card; among them, RDMA is a network communication protocol that supports the server to directly read and write the server memory through the RDMA network card without relying on CPU intervention.
[0152] Exemplarily, the scheduling server determines the first edge CDN node and the second edge CDN node based on the request information corresponding to the data transmission service request and the performance evaluation results corresponding to each edge CDN node in at least one edge CDN node. First, the scheduling server determines the edge CDN nodes that meet the resource evaluation standard according to the first performance evaluation results corresponding to each edge CDN node in at least one edge CDN node; then, the scheduling service determines the first edge CDN node and the second edge CDN node according to the second performance evaluation result corresponding to the data transmission service request.
[0153] It can be seen that the scheduling server evaluates the edge CDN nodes twice, and the specific process is as follows:
[0154] (1) The scheduling server conducts the first evaluation of each edge CDN node based on at least one of the CPU utilization rate, I / O utilization rate, memory utilization rate, RDMA bandwidth utilization rate, and RDMA memory occupancy rate, and obtains the first performance evaluation results of each edge CDN node; if any one does not meet the preset conditions, it is an edge CDN node with unqualified resource evaluation; if all the evaluation items meet the preset conditions, it is an edge CDN node with qualified resource evaluation. The scheduling server can determine the edge CDN nodes with qualified resource evaluation among at least one edge CDN node according to the first performance evaluation results corresponding to each edge CDN node, and the number of edge CDN nodes with qualified resource evaluation can be multiple.
[0155] For example, assume that the preset conditions are that the CPU utilization rate is less than 85%, the I / O utilization rate is less than 80%, the memory utilization rate is less than 80%, the RDMA bandwidth utilization rate is less than 90%, and the RDMA memory occupancy rate is less than 80%. If there is an edge CDN node with a CPU utilization rate of 82%, an I / O utilization rate of 75%, a memory utilization rate of 78%, an RDMA bandwidth utilization rate of 85%, and an RDMA memory occupancy rate of 88%, although the CPU utilization rate, I / O utilization rate, memory utilization rate, and RDMA bandwidth utilization rate of this edge CDN node all meet the preset conditions, the RDMA memory occupancy rate does not meet the preset conditions. Therefore, this edge CDN node is an edge CDN node with unqualified resource evaluation.
[0156] (2) After determining the edge CDN nodes that meet the resource evaluation standard, for any edge CDN node that meets the resource evaluation standard, the scheduling server determines the socket performance evaluation result corresponding to the edge CDN node according to the CPU utilization rate, I / O utilization rate, and memory utilization rate of the edge CDN node, and determines the RDMA performance evaluation result corresponding to the edge CDN node according to the RDMA bandwidth utilization rate and RDMA memory registration capacity of the edge CDN node; further, the scheduling server determines the second performance evaluation result corresponding to the edge CDN node according to the data transmission task type, the socket performance evaluation result corresponding to the edge CDN node, and the RDMA performance evaluation result.
[0157] The above socket performance evaluation result can be obtained by calculating the following formula:
[0158] Socket performance evaluation result = α · CPU utilization rate + β · I / O utilization rate + γ · memory utilization rate
[0159] Among them, α is the weight corresponding to the CPU utilization rate, β is the weight corresponding to the I / O utilization rate, and γ is the weight corresponding to the memory utilization rate.
[0160] The RDMA performance evaluation result can be obtained by calculating the following formula:
[0161] RDMA performance evaluation result = δ · RDMA bandwidth + ξ · RDMA memory registration capacity
[0162] Among them, δ is the weight corresponding to the RDMA bandwidth, and ξ is the weight corresponding to the RDMA memory registration capacity.
[0163] The type of data transfer task is determined according to the request information corresponding to the data transfer service request, and is used to determine the weights that the socket performance evaluation result and the RDMA performance evaluation result respectively occupy in the second performance evaluation result. The request information corresponding to the data transfer service request includes information such as domain name and request parameters. The type of data transfer task can be determined according to the domain name. For example, the type of data transfer task is large file transfer, real-time streaming media transfer, etc. Large file transfer has high requirements for network bandwidth, and real-time streaming media transfer has high requirements for latency. Therefore, when performing data transfer for these two types of tasks, when the scheduling server determines the second performance evaluation result, it can set the weight corresponding to the RDMA performance evaluation result to be relatively large and appropriately reduce the weight corresponding to the socket performance evaluation result. For example, set the weight corresponding to the socket performance evaluation result to 0.3 or 0.4, and set the weight corresponding to the RDMA performance evaluation result to 0.7 or 0.6. For data transfer task types such as small file transfer or with low latency requirements, the weight corresponding to the socket performance evaluation result can be increased. For example, set the weight corresponding to the socket performance evaluation result to 0.6, and set the weight corresponding to the RDMA performance evaluation result to 0.4.
[0164] The second performance evaluation result can be obtained by calculating through the following formula:
[0165]
[0166] Among them, is the weight corresponding to the socket performance evaluation result, and ω is the weight corresponding to the RDMA performance evaluation result.
[0167] Furthermore, after determining the edge CDN nodes that meet the resource evaluation standard, the scheduling server can determine the two edge CDN nodes with the best second performance evaluation results as the first edge CDN node and the second edge CDN node.
[0168] For example, there are a total of 100 edge CDN nodes. The scheduling server conducts the first evaluation on these 100 edge CDN nodes to obtain their first performance evaluation results, and determines that only 70 edge CDN nodes among these 100 CDN nodes meet the resource evaluation standard, that is, these 70 edge CDN nodes are the edge CDN nodes that meet the resource evaluation standard; then the scheduling server conducts the second evaluation on these 70 edge CDN nodes that meet the resource evaluation standard to obtain their second performance evaluation results; finally, the scheduling server can determine the two nodes with the best second performance evaluation results among these 70 nodes as the first edge CDN node and the second edge CDN node.
[0169] This application combines the results of two performance evaluations to select the first edge CDN node and the second edge CDN node, realizes load awareness and elastic resource allocation, alleviates the problem of resource mismatch of edge CDN nodes, and thus improves the resource utilization of edge CDN nodes.
[0170] S303: The scheduling server sends a first connection parameter to the first edge CDN node and sends a second connection parameter to the second edge CDN node; wherein the registered memory area indicated in the first connection parameter is used to instruct the first edge CDN node to determine the first memory area, and the registered memory area indicated in the second connection parameter is used to instruct the second edge CDN node to determine the second memory area.
[0171] Through S302, the scheduling server determines the first edge CDN node and the second edge CDN node, and then sends the first connection parameter to the first edge CDN node and sends the second connection parameter to the second edge CDN node. The registered memory area indicated in the first connection parameter is used to indicate the first edge node to determine the location and capacity of the first memory area, and the registered memory area indicated in the second connection parameter is used to indicate the second edge CDN node to determine the location and capacity of the second memory area.
[0172] After the first edge CDN node receives the first connection parameter and the second edge CDN node receives the second connection parameter, the first edge CDN node first establishes a socket channel with the second edge CDN node, and accordingly, the second edge CDN node also establishes a socket channel with the first edge CDN node; then, the first edge CDN node establishes an RDMA channel with the second edge CDN node through the socket channel, and accordingly, the second edge CDN node also establishes an RDMA channel with the first edge CDN node through the socket channel; so far, two channels are established between the first edge CDN node and the second edge CDN node, such as Figure 4 As shown, they are socket channel and RDMA channel respectively.
[0173] The specific process of the first edge CDN node establishing an RDMA channel with the second edge CDN node through the socket channel is as follows:
[0174] The first connection parameters sent by the scheduling server to the first edge CDN node also include a first IP address (the first IP address is the IP address of the second edge CDN node) and an RDMA key, and the second connection parameters sent by the scheduling server to the second edge CDN node also include a second IP address (the second IP address is the IP address of the first edge CDN node) and an RDMA key.
[0175] The first edge CDN node sends an authentication request encrypted with the RDMA key to the second edge CDN node indicated by the first IP address through the socket channel; correspondingly, the second edge CDN node receives the authentication request sent by the first edge CDN node through the socket channel, and then the second edge CDN node decrypts the authentication request with the RDMA key in the second connection parameter. After the second edge CDN node determines that the edge CDN node sending the authentication request is the same as the second IP address in the second connection parameter, it sends an authentication request response indicating that the verification has passed to the first edge CDN node and establishes an RDMA channel with the first edge CDN node; in other words, after the first edge CDN node receives the authentication request response sent by the second edge CDN node indicating that the verification has passed, it establishes an RDMA channel with the second edge CDN node.
[0176] Exemplarily, when the scheduling server monitors that the RDMA channel between the first edge CDN node and the second edge CDN node has been successfully established, it sends a data transmission service request response to the source client, so that the source client can learn the IP address of the first edge CDN node according to the data transmission service request response and send the data to be transmitted to the first edge CDN node.
[0177] S304: The first edge CDN node directly stores the data to be transmitted received from the source client in the first memory area.
[0178] Exemplarily, after the first edge CDN node receives the data to be transmitted sent by the source client, it directly stores the data to be transmitted in the first memory area. The first memory area is determined in the memory according to the registered memory area indicated in the first connection parameter issued by the scheduling server, and the first memory area can also be called the first RDMA memory area. It should be noted that neither storing data in the first memory area nor subsequently reading data from the first memory area by the first edge CDN node requires the intervention of the CPU, and it can be completed through the RDMA network card installed in the first edge CDN node.
[0179] S305: The first edge CDN node reads the data to be transmitted from the first memory area and sends the data to be transmitted to the second edge CDN node.
[0180] Exemplarily, the first edge CDN node reads the data to be transmitted from the first memory area through the installed RDMA network card and sends the data to be transmitted to the second edge CDN node through the RDMA channel.
[0181] S306: The second edge CDN node receives the data to be transmitted read from the first memory area and sent by the first edge CDN node.
[0182] Exemplarily, the second edge node receives the data to be transmitted read from the first memory area by the first edge CDN node and sent through the RDMA channel.
[0183] S307: The second edge CDN node directly stores the data to be transmitted in the second memory area, and reads the data to be transmitted from the second memory area and sends it to the destination client.
[0184] Exemplarily, the second edge CDN node directly stores the data to be transmitted in the second memory area through the installed RDMA network card, and reads the data to be transmitted from the second memory area through the RDMA network card. According to the destination IP address indicated by the data to be transmitted, the data to be transmitted is sent to the destination client corresponding to the destination IP address, completing the data transmission between the source client and the destination client.
[0185] The second memory area is determined in the memory by the second edge CDN node according to the registered memory area indicated in the second connection parameter issued by the scheduling server. The second memory area can also be referred to as the second RDMA memory area. The second edge CDN node storing data in the second memory area and reading data from the second memory area do not require the intervention of the CPU, and can be completed through the RDMA network card installed in the second edge CDN node.
[0186] The interaction between the scheduling server, the source client, the destination client, the first edge CDN node, and the second edge CDN node in the above S301 - S307 can also be referred to Figure 5 , and for the detailed process of S501 - S508, please refer to S301 - S307 and will not be elaborated here.
[0187] In addition, the data transmission channel between the first edge CDN node and the second edge CDN node can be switched from the socket channel to the RDMA channel, or from the RDMA channel to the socket channel. The switching of the data transmission channel is triggered by a switching notification sent by the second edge CDN node to the first edge CDN node. The switching notification is used to instruct the first edge CDN node to switch the data transmission channel from the RDMA channel to the socket channel; or, to instruct the first edge CDN node to switch the data transmission channel from the socket channel to the RDMA channel. Among them, the switching notification is determined by the second edge CDN node according to the data transmission performance of the RDMA channel.
[0188] Furthermore, the data transmission performance of the RDMA channel is determined by the second edge CDN node based on the performance probe packet sent by the first edge CDN node and the data transmitted through the data transmission channel. If the data transmission channel is an RDMA channel, the first edge CDN node sends a performance probe packet to the second edge CDN node through the socket channel. Correspondingly, the second edge CDN node receives the performance probe packet sent by the first edge CDN node through the socket channel. If the data transmission channel is a socket channel, the first edge CDN node sends a performance probe packet to the second edge CDN node through the RDMA channel. Correspondingly, the second edge CDN node receives the performance probe packet sent by the first edge CDN node through the RDMA channel.
[0189] The second edge CDN node determines the throughput ratio and the CPU occupancy ratio respectively according to the performance probe packet sent by the first edge CDN node and the data transmitted through the data transmission channel. The throughput ratio refers to the ratio of the throughput of the socket channel to the throughput of the RDMA channel. The CPU occupancy ratio refers to the ratio of the CPU occupancy when using the socket channel for transmission to the CPU occupancy when using the RDMA channel for transmission. Then, the data transmission performance of the RDMA channel is determined according to the throughput ratio, the first weight, the CPU occupancy ratio, and the second weight.
[0190] Among them, the first weight and the second weight are determined by the scheduling server according to the network quality and load pressure of the first edge CDN node and the second edge CDN node, and are included in the second connection parameter. The first weight represents the influence degree of the throughput ratio on the data transmission performance of the RDMA channel. The second weight represents the influence degree of the CPU occupancy ratio on the data transmission performance of the RDMA channel. The data transmission performance of the RDMA channel can be calculated by the following formula:
[0191]
[0192] Among them, T socket is the throughput of the socket channel, T RDMA is the throughput of the RDMA channel, is the throughput ratio, C socket is the CPU occupancy when using the socket channel for transmission, C RDMA is the ratio of the CPU occupancy when using the RDMA channel for transmission.
[0193] If the data transmission performance of the RDMA channel does not meet the set requirements, the second edge CDN node determines a switching notification for instructing the first edge CDN node to switch the data transmission channel from the RDMA channel to the socket channel; if the performance of the RDMA channel meets the set requirements, the second edge CDN node determines a switching notification for instructing the first edge CDN node to switch the data transmission channel from the socket channel to the RDMA channel.
[0194] Correspondingly, after the switching notification indicates that the data transmission performance of the RDMA channel does not meet the set requirements, the first edge CDN node uses the socket channel as the data transmission channel to transmit data with the second edge CDN node; or, after the switching notification indicates that the data transmission performance of the RDMA channel meets the set requirements, the first edge CDN node uses the RDMA channel as the data transmission channel to transmit data with the second edge CDN node.
[0195] The above-mentioned first weight and second weight are included in the first connection parameter and sent by the scheduling server to the second edge CDN node, and the sum of the first weight and the second weight is 1; specifically, before the scheduling server sends the second connection parameter to the second edge CDN node, the scheduling server determines the first weight and the second weight according to the network quality and load pressure of the first edge CDN node and the second edge CDN node, and then adds the first weight and the second weight to the second connection parameter and sends it to the second edge CDN node; among them, the first weight has a positive correlation with the network quality of the first edge CDN node and the second edge CDN node. For example, when the network quality of the first edge CDN node and the second edge CDN node is stable, the value of the first weight can be increased; the second weight has a positive correlation with the load pressure of the first edge CDN node and the second edge CDN node. For example, when the load pressure of the first edge CDN node and the second edge CDN node is large, the value of the second weight can be increased.
[0196] Take Figure 6 as an example to illustrate the data transmission channel switching process between the first edge CDN node and the second edge CDN node again:
[0197] S601: Assume that the first edge CDN node first uses the socket channel as the data transmission channel to transmit data;
[0198] S602: The first edge CDN node sends a performance detection packet to the second edge CDN node through the RDMA channel. The second edge node determines the data transmission performance of the RDMA channel according to the performance detection packet and the data transmitted through the socket channel, and determines that the data transmission performance of the RDMA channel meets the set requirements.
[0199] S603: The second edge CDN node sends a handover notice to the first edge CDN node, and the handover notice instructs the first edge CDN node to switch the data transmission channel from the socket channel to the RDMA channel;
[0200] S604: The first edge CDN node switches the data transmission channel from the socket channel to the RDMA channel according to the handover notice;
[0201] S605: After the handover, the first edge CDN node uses the RDMA channel as the data transmission channel to transmit data;
[0202] S606: The first edge CDN node sends a performance detection packet to the second edge CDN node through the socket channel. The second edge node determines the data transmission performance of the RDMA channel according to the performance detection packet and the data transmitted through the RDMA channel. After a period of data transmission, the second edge CDN node determines that the data transmission performance of the RDMA channel does not meet the set requirements;
[0203] S607: The second edge CDN node sends a handover notice to the first edge CDN node, and the handover notice instructs the first edge CDN node to switch the data transmission channel from the RDMA channel to the socket channel;
[0204] S608: The first edge CDN node switches the data transmission channel from the RDMA channel to the socket channel according to the handover notice;
[0205] S609: After the handover, the first edge CDN node uses the socket channel as the data transmission channel to transmit data.
[0206] In this application, the data transmission channel between the first edge CDN node and the second edge CDN node can be dynamically switched between the socket channel and the RDMA channel, which has good flexibility and ensures the continuity of data transmission; and always selects the channel with better data transmission performance as the current data transmission channel, which can improve the data transmission efficiency.
[0207] Figure 7 and Figure 8 FIG. is a schematic structural diagram of a possible data transmission device provided by an embodiment of the present application. These data transmission devices can be used to implement the functions of the first edge CDN node, the second edge CDN node or the scheduling server in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments.
[0208] As Figure 7 shown, the data transmission device 700 includes a processing module 710 and a transceiver module 720. The data transmission device 700 is used to implement the above Figure 3The functions of the first edge CDN node, the second edge CDN node, or the scheduling server in the illustrated method embodiments.
[0209] When the data transmission device 700 is used to implement Figure 3 the function of the first edge CDN node in the illustrated method embodiments:
[0210] The processing module 710 invokes the transceiver module 720 to execute:
[0211] Directly store the data to be transmitted received from the source client in the first memory area; the first memory area is determined by the first edge CDN node according to the registered memory area indicated in the first connection parameter sent by the scheduling server;
[0212] Read the data to be transmitted from the first memory area, and send the data to be transmitted to the second edge CDN node, where the second edge CDN node is used to directly store the data to be transmitted in the second memory area, and read the data to be transmitted from the second memory area and send it to the destination client; the second memory area is determined by the second edge CDN node according to the registered memory area indicated in the second connection parameter sent by the scheduling server;
[0213] Wherein, the first edge CDN node and the second edge CDN node are determined by the scheduling server from at least one edge CDN node according to the data transmission service request sent by the source client.
[0214] In a possible design, when the transceiver module 720 is used to send the data to be transmitted to the second edge CDN node, it is specifically used for: the first edge CDN node establishes a Remote Direct Memory Access (RDMA) channel with the second edge CDN node; the first edge CDN node sends the data to be transmitted to the second edge CDN node through the RDMA channel.
[0215] In a possible design, before the transceiver module 720 is used to read the data to be transmitted from the first memory area, it is further used to establish a socket channel with the second edge CDN node; and through the socket channel, establish the RDMA channel with the second edge CDN node.
[0216] In a possible design, the first connection parameter further includes a first IP address and an RDMA key;
[0217] The transceiver module 720, when establishing an RDMA channel with the second edge CDN node through the socket channel, is specifically configured to: send an authentication request encrypted with the RDMA key to the second edge CDN node indicated by the first IP address through the socket channel; and establish an RDMA channel with the second edge CDN node after receiving an authentication request response indicating successful verification sent by the second edge CDN node.
[0218] In a possible design, the transceiver module 720 is further configured to receive a handover notification sent by the second edge CDN node; the handover notification is determined by the second edge CDN node based on the data transmission performance of the RDMA channel.
[0219] After the handover notification indicates that the data transmission performance of the RDMA channel does not meet the set requirements, use the socket channel as the data transmission channel to perform data transmission with the second edge CDN node.
[0220] Alternatively, after the handover notification indicates that the data transmission performance of the RDMA channel meets the set requirements, use the RDMA channel as the data transmission channel to perform data transmission with the second edge CDN node.
[0221] In a possible design, the transceiver module 720 is further configured to, if the data transmission channel is the RDMA channel, send a performance probe packet to the second edge CDN node through the socket channel; if the data transmission channel is the socket channel, send a performance probe packet to the second edge CDN node through the RDMA channel; the performance probe packet and the data transmitted through the data transmission channel are used by the second edge CDN node to determine the data transmission performance of the RDMA channel.
[0222] When the data transmission device 700 is used to implement Figure 3 the functions of the second edge CDN node in the method embodiment shown:
[0223] The processing module 710 invokes the transceiver module 720 to execute:
[0224] Receive the data to be transmitted read and sent by the first edge CDN node from the first memory area; the data to be transmitted is sent by the source client to the first edge CDN node and directly stored in the first memory area by the first edge CDN node, and the first memory area is determined by the first edge CDN node according to the registered memory area indicated in the first connection parameter sent by the scheduling server.
[0225] Directly store the data to be transmitted in the second memory area, and read the data to be transmitted from the second memory area and send it to the destination client; the second memory area is determined by the second edge CDN node according to the registered memory area indicated in the second connection parameter sent by the scheduling server;
[0226] Wherein, the first edge CDN node and the second edge CDN node are determined by the scheduling server from at least one edge CDN node according to the data transmission service request sent by the source client.
[0227] In a possible design, when the transceiver module 720 is used to receive the data to be transmitted read and sent by the first edge CDN node from the first memory area, it is specifically used for: establishing an RDMA channel with the first edge CDN node; receiving the data to be transmitted read and sent by the first edge CDN node from the first memory area through the RDMA channel.
[0228] In a possible design, before the transceiver module 720 is used to receive the data to be transmitted read and sent by the first edge CDN node from the first memory area, the transceiver module 720 is further used for: establishing a socket channel with the first edge CDN node; establishing the RDMA channel with the first edge CDN node through the socket channel.
[0229] In a possible design, the second connection parameter further includes a second IP address and an RDMA key;
[0230] When the transceiver module is used to establish an RDMA channel with the first edge CDN node through the socket channel, it is specifically used for:
[0231] Receiving an authentication request sent by the first edge CDN node through the socket channel;
[0232] Decrypting the authentication request using the RDMA key;
[0233] After determining that the IP address of the edge CDN node sending the authentication request is the same as the second IP address, sending an authentication request response indicating that the verification has passed to the first edge CDN node and establishing an RDMA channel with the first edge CDN node.
[0234] In a possible design, the processing module 710 is used to determine a handover notification according to the data transmission performance of the RDMA channel;
[0235] The transceiver module 720 is further configured to send the handover notification to the first edge CDN node, where the handover notification is used to instruct the first edge CDN node to switch the data transmission channel from the RDMA channel to the socket channel; or, to instruct the first edge CDN node to switch the data transmission channel from the socket channel to the RDMA channel.
[0236] In a possible design, before the processing module 710 determines the handover notification according to the data transmission performance of the RDMA channel, the transceiver module 720 is further configured to: if the data transmission channel is the RDMA channel, receive a performance probe packet sent by the first edge CDN node through the socket channel; if the data transmission channel is the socket channel, receive a performance probe packet sent by the first edge CDN node through the RDMA channel; the processing module 710 is further configured to determine the data transmission performance of the RDMA channel according to the performance probe packet and the data transmitted through the data transmission channel.
[0237] In a possible design, when the processing module 710 is configured to determine the performance of the RDMA channel according to the performance probe packet and the data transmitted through the data transmission channel, it is specifically configured to: determine a throughput ratio and a CPU occupancy ratio respectively according to the performance probe packet and the data transmitted through the data transmission channel; determine the data transmission performance of the RDMA channel according to the throughput ratio, a first weight, the CPU occupancy ratio, and a second weight; where the first weight and the second weight are determined by the scheduling server according to the network quality and load pressure of the first edge CDN node and the second edge CDN node, and are included in the second connection parameter; the first weight represents the influence degree of the throughput ratio on the data transmission performance of the RDMA channel, and the second weight represents the influence degree of the CPU occupancy ratio on the data transmission performance of the RDMA channel.
[0238] In a possible design, when the processing module 710 is configured to determine the handover notification according to the data transmission performance of the RDMA channel, it is specifically configured to: if the data transmission performance of the RDMA channel does not meet the set requirements, determine a handover notification for instructing the first edge CDN node to switch the data transmission channel from the RDMA channel to the socket channel; if the performance of the RDMA channel meets the set requirements, determine a handover notification for instructing the first edge CDN node to switch the data transmission channel from the socket channel to the RDMA channel.
[0239] When the data transmission device 700 is used to implementFigure 3 When implementing the functions of the scheduling server in the method embodiment shown:
[0240] The transceiver module 720 is configured to receive a data transmission service request sent by a source client;
[0241] The processing module 710 is configured to determine a first edge CDN node and a second edge CDN node from at least one edge CDN node according to the data transmission service request;
[0242] The transceiver module 720 is further configured to send first connection parameters to the first edge CDN node and second connection parameters to the second edge CDN node; wherein, the registered memory area indicated in the first connection parameters is used to instruct the first edge CDN node to determine a first memory area, and the registered memory area indicated in the second connection parameters is used to instruct the second edge CDN node to determine a second memory area;
[0243] The first memory area is used for the first edge CDN node to directly store the data to be transmitted sent by the source client; the second memory area is used for the second edge CDN node to directly store the data to be transmitted sent by the first edge CDN node, and read the data to be transmitted from the second memory area and send it to the destination client.
[0244] In a possible design, when the processing module 710 determines the first edge CDN node and the second edge CDN node from at least one edge CDN node according to the data transmission service request, it is specifically configured to: determine the first edge CDN node and the second edge CDN node according to the request information corresponding to the data transmission service request and the performance evaluation results corresponding to each edge CDN node in the at least one edge CDN node.
[0245] In a possible design, when the processing module 710 determines the first edge CDN node and the second edge CDN node according to the request information corresponding to the data transmission service request and the performance evaluation results corresponding to each edge CDN node in the at least one edge CDN node, it is specifically configured to: determine the edge CDN nodes that meet the resource evaluation according to the first performance evaluation results corresponding to each edge CDN node in the at least one edge CDN node; determine the first edge CDN node and the second edge CDN node according to the request information corresponding to the data transmission service request and the second performance evaluation results of the edge CDN nodes that meet the resource evaluation.
[0246] In a possible design, the first performance evaluation result includes at least one of the following: CPU utilization rate, I / O utilization rate, memory utilization rate, RDMA bandwidth utilization rate, and RDMA memory occupancy rate; if any one does not meet the preset condition, it is an edge CDN node with unqualified resource evaluation.
[0247] In a possible design, the second performance evaluation result is obtained in the following manner, including:
[0248] For any edge CDN node with qualified resource evaluation, the processing module 710 is configured to determine the socket performance evaluation result corresponding to the edge CDN node according to the CPU utilization rate, I / O utilization rate, and memory utilization rate of the edge CDN node, and determine the RDMA performance evaluation result corresponding to the edge CDN node according to the RDMA bandwidth utilization rate and RDMA memory registration capacity of the edge CDN node; and is configured to determine the second performance evaluation result corresponding to the edge CDN node according to the data transmission task type, the socket performance evaluation result corresponding to the edge CDN node, and the RDMA performance evaluation result.
[0249] In a possible design, before the transceiver module 720 is configured to send the second connection parameter to the second edge CDN node, the processing module 710 is further configured to determine a first weight and a second weight according to the network quality and load pressure between the first edge CDN node and the second edge CDN node; the first weight represents the influence degree of the throughput ratio on the data transmission performance of the RDMA channel, and the second weight represents the influence degree of the CPU occupancy ratio on the data transmission performance of the RDMA channel; the throughput ratio and the CPU occupancy ratio are determined by the second edge CDN node according to the performance probe packet sent by the first edge CDN node and the data transmitted through the data transmission channel between the first edge CDN node and the second edge CDN node; and add the first weight and the second weight to the second connection parameter.
[0250] In a possible design, the first weight has a positive correlation with the network quality between the first edge CDN node and the second edge CDN node; the second weight has a positive correlation with the load pressure between the first edge CDN node and the second edge CDN node.
[0251] For a more detailed description of the above processing module 710 and transceiver module 720, reference can be directly made to Figure 3 the relevant description in the method embodiment shown, which will not be elaborated here.
[0252] Such as Figure 8As shown, the data transmission device 800 includes a processor 810 and an interface circuit 820. The processor 810 and the interface circuit 820 are coupled to each other. It can be understood that the interface circuit 820 can be a transceiver or an input / output interface. Optionally, the data transmission device 800 may further include a memory 830 for storing instructions executed by the processor 810 or input data required for the processor 810 to execute instructions or data generated after the processor 810 executes instructions.
[0253] When the data transmission device 800 is used to implement Figure 3 the method shown, the processor 810 is used to implement the functions of the above-mentioned processing module 710, and the interface circuit 820 is used to implement the functions of the above-mentioned transceiver module 720.
[0254] The division of units in the embodiments of the present application is illustrative, merely a logical function division. In actual implementation, there may be other division methods. Additionally, in each embodiment of the present application, the various functional units may be integrated in one processor, may exist separately physically, or two or more units may be integrated in one unit. The above-mentioned integrated units may be implemented in the form of hardware or in the form of software functional units.
[0255] Although the preferred embodiments of the present application have been described, those skilled in the art can make additional changes and modifications once they learn the basic creative concepts. Therefore, the appended claims are intended to be construed as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0256] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalent technologies, the present application is also intended to include these changes and modifications.
Claims
1. A data transmission method, characterized in that, The method includes: The first edge Content Delivery Network (CDN) node directly stores the data to be transmitted received from the source client in a first memory area; the first memory area is determined by the first edge CDN node according to the registered memory area indicated in the first connection parameters sent by the scheduling server; The first edge CDN node reads the data to be transmitted from the first memory area and sends the data to be transmitted to a second edge CDN node, and the second edge CDN node is used to directly store the data to be transmitted in a second memory area and read the data to be transmitted from the second memory area and send it to the destination client; the second memory area is determined by the second edge CDN node according to the registered memory area indicated in the second connection parameters sent by the scheduling server; Wherein, the first edge CDN node and the second edge CDN node are determined by the scheduling server from at least one edge CDN node according to the data transmission service request sent by the source client.
2. The method according to claim 1, characterized in that, The first edge CDN node sending the data to be transmitted to the second edge CDN node includes: The first edge CDN node establishes a Remote Direct Memory Access (RDMA) channel with the second edge CDN node; The first edge CDN node sends the data to be transmitted to the second edge CDN node through the RDMA channel.
3. The method according to claim 2, wherein Before the first edge CDN node reads the data to be transmitted from the first memory area, it further includes: The first edge CDN node establishes a socket channel with the second edge CDN node; The first edge CDN node establishes the RDMA channel with the second edge CDN node through the socket channel.
4. The method according to claim 3, wherein, The first connection parameters further include a first IP address and an RDMA key; The first edge CDN node establishing the RDMA channel with the second edge CDN node through the socket channel includes: The first edge CDN node sends an authentication request encrypted with the RDMA key to the second edge CDN node indicated by the first IP address through the socket channel; After the first edge CDN node receives the authentication request response indicating that the verification is passed sent by the second edge CDN node, it establishes an RDMA channel with the second edge CDN node.
5. The method according to any one of claims 1 to 4, characterized in that The method further includes: The first edge CDN node receives a handover notice sent by the second edge CDN node; the handover notice is determined by the second edge CDN node according to the data transmission performance of the RDMA channel; After the handover notice indicates that the data transmission performance of the RDMA channel does not meet the set requirements, the first edge CDN node uses the socket channel as the data transmission channel to perform data transmission with the second edge CDN node. Alternatively, after the handover notification indicates that the data transmission performance of the RDMA channel meets the set requirements, the first edge CDN node uses the RDMA channel as the data transmission channel to perform data transmission with the second edge CDN node.
6. The method according to claim 5, wherein The method further includes: If the data transmission channel is the RDMA channel, the first edge CDN node sends a performance probe packet to the second edge CDN node through the socket channel; If the data transmission channel is the socket channel, the first edge CDN node sends a performance probe packet to the second edge CDN node through the RDMA channel; The performance probe packet and the data transmitted through the data transmission channel are used by the second edge CDN node to determine the data transmission performance of the RDMA channel.
7. A data transmission method, characterized in that The method includes: The second edge CDN node receives the data to be transmitted read by the first edge CDN node from the first memory area and sent; the data to be transmitted is sent by the source client to the first edge CDN node and directly stored by the first edge CDN node in the first memory area, and the first memory area is determined by the first edge CDN node according to the registered memory area indicated in the first connection parameter sent by the scheduling server; The second edge CDN node directly stores the data to be transmitted in the second memory area and reads the data to be transmitted from the second memory area and sends it to the destination client; the second memory area is determined by the second edge CDN node according to the registered memory area indicated in the second connection parameter sent by the scheduling server; Wherein, the first edge CDN node and the second edge CDN node are determined by the scheduling server from at least one edge CDN node according to the data transmission service request sent by the source client.
8. The method according to claim 7, wherein The second edge CDN node receiving the data to be transmitted read by the first edge CDN node from the first memory area and sent includes: The second edge CDN node establishes an RDMA channel with the first edge CDN node; The second edge CDN node receives the data to be transmitted read by the first edge CDN node from the first memory area and sent through the RDMA channel.
9. The method according to claim 8, wherein Before the second edge CDN node receives the data to be transmitted read by the first edge CDN node from the first memory area and sent, it further includes: The second edge CDN node establishes a socket channel with the first edge CDN node; The second edge CDN node establishes the RDMA channel with the first edge CDN node through the socket channel.
10. The method according to claim 9, characterized in that The second connection parameter further includes a second IP address and an RDMA key; The second edge CDN node establishing the RDMA channel with the first edge CDN node through the socket channel includes: The second edge CDN node receives the authentication request sent by the first edge CDN node through the socket channel; The second edge CDN node decrypts the authentication request using the RDMA key; After the second edge CDN node determines that the IP address of the edge CDN node sending the authentication request is the same as the second IP address, it sends an authentication request response indicating that the verification has passed to the first edge CDN node and establishes an RDMA channel with the first edge CDN node.
11. The method according to claim 10, wherein The method further includes: The second edge CDN node determines a handover notice according to the data transmission performance of the RDMA channel; The second edge CDN node sends the handover notice to the first edge CDN node. The handover notice is used to instruct the first edge CDN node to switch the data transmission channel from the RDMA channel to the socket channel; or, to instruct the first edge CDN node to switch the data transmission channel from the socket channel to the RDMA channel.
12. The method according to claim 11, wherein Before the second edge CDN node determines the handover notice according to the data transmission performance of the RDMA channel, it further includes: If the data transmission channel is the RDMA channel, the second edge CDN node receives a performance probe packet sent by the first edge CDN node through the socket channel; If the data transmission channel is the socket channel, the second edge CDN node receives a performance probe packet sent by the first edge CDN node through the RDMA channel; The second edge CDN node determines the data transmission performance of the RDMA channel according to the performance probe packet and the data transmitted through the data transmission channel.
13. The method according to claim 12, wherein The second edge CDN node determines the performance of the RDMA channel according to the performance probe packet and the data transmitted through the data transmission channel, including: The second edge CDN node respectively determines a throughput ratio and a CPU occupancy ratio according to the performance probe packet and the data transmitted through the data transmission channel; The second edge CDN node determines the data transmission performance of the RDMA channel according to the throughput ratio, a first weight, the CPU occupancy ratio, and a second weight; Wherein, the first weight and the second weight are determined by the scheduling server according to the network quality and load pressure of the first edge CDN node and the second edge CDN node, and are included in the second connection parameter; the first weight represents the influence degree of the throughput ratio on the data transmission performance of the RDMA channel, and the second weight represents the influence degree of the CPU occupancy ratio on the data transmission performance of the RDMA channel.
14. The method according to claim 11, wherein The second edge CDN node determines the handover notice according to the data transmission performance of the RDMA channel, including: If the data transmission performance of the RDMA channel does not meet the set requirements, the second edge CDN node determines a handover notice for instructing the first edge CDN node to switch the data transmission channel from the RDMA channel to the socket channel; If the performance of the RDMA channel meets the set requirements, the second edge CDN node determines a handover notification for instructing the first edge CDN node to switch the data transmission channel from the socket channel to the RDMA channel.
15. A data transmission method, characterized in that, The method includes: The scheduling server receives a data transmission service request sent by a source client; The scheduling server determines a first edge CDN node and a second edge CDN node among at least one edge CDN node according to the data transmission service request; The scheduling server sends first connection parameters to the first edge CDN node and second connection parameters to the second edge CDN node; wherein, the registered memory area indicated in the first connection parameters is used to instruct the first edge CDN node to determine a first memory area, and the registered memory area indicated in the second connection parameters is used to instruct the second edge CDN node to determine a second memory area; The first memory area is used for the first edge CDN node to directly store the data to be transmitted sent by the source client; the second memory area is used for the second edge CDN node to directly store the data to be transmitted sent by the first edge CDN node, and read the data to be transmitted from the second memory area and send it to the destination client.
16. The method according to claim 15, wherein The scheduling server determines a first edge CDN node and a second edge CDN node among at least one edge CDN node according to the data transmission service request, including: The scheduling server determines the first edge CDN node and the second edge CDN node according to the request information corresponding to the data transmission service request and the performance evaluation results corresponding to each edge CDN node among the at least one edge CDN node.
17. The method according to claim 16, characterized in that, The scheduling server determines the first edge CDN node and the second edge CDN node according to the request information corresponding to the data transmission service request and the performance evaluation results corresponding to each edge CDN node among the at least one edge CDN node, including: The scheduling server determines the edge CDN nodes with qualified resource evaluation according to the first performance evaluation results corresponding to each edge CDN node among the at least one edge CDN node; The scheduling server determines the first edge CDN node and the second edge CDN node according to the request information corresponding to the data transmission service request and the second performance evaluation results of the edge CDN nodes with qualified resource evaluation.
18. The method according to claim 17, wherein The first performance evaluation result includes at least one of the following: CPU utilization rate, I / O utilization rate, memory utilization rate, RDMA bandwidth utilization rate, and RDMA memory occupancy rate; if any one does not meet the preset condition, it is an edge CDN node with unqualified resource evaluation.
19. The method according to claim 17, wherein The second performance evaluation result is obtained through the following method, including: For any edge CDN node with qualified resource evaluation, the scheduling server determines the socket performance evaluation result corresponding to the edge CDN node according to the CPU utilization rate, I / O utilization rate, and memory utilization rate of the edge CDN node, and determines the RDMA performance evaluation result corresponding to the edge CDN node according to the RDMA bandwidth utilization rate and RDMA memory registration capacity of the edge CDN node; The scheduling server determines the second performance evaluation result corresponding to the edge CDN node according to the data transmission task type, the socket performance evaluation result corresponding to the edge CDN node, and the RDMA performance evaluation result.
20. The method according to claim 15, wherein Before the scheduling server sends the second connection parameter to the second edge CDN node, it further includes: The scheduling server determines a first weight and a second weight according to the network quality and load pressure of the first edge CDN node and the second edge CDN node; the first weight represents the influence degree of the throughput ratio on the data transmission performance of the RDMA channel, and the second weight represents the influence degree of the CPU occupancy ratio on the data transmission performance of the RDMA channel; the throughput ratio and the CPU occupancy ratio are determined by the second edge CDN node according to the performance probe packet sent by the first edge CDN node and the data transmitted through the data transmission channel between the first edge CDN node and the second edge CDN node; The scheduling server adds the first weight and the second weight to the second connection parameter.
21. The method according to claim 20, wherein The first weight has a positive correlation with the network quality of the first edge CDN node and the second edge CDN node; the second weight has a positive correlation with the load pressure of the first edge CDN node and the second edge CDN node.
22. A data transmission device, characterized in that, The device includes: a transceiver module and a processing module; the processing module calls the transceiver module to execute: Directly store the data to be transmitted received from the source client in a first memory area; the first memory area is determined by the first edge CDN node according to the registered memory area indicated in the first connection parameter issued by the scheduling server; Read the data to be transmitted from the first memory area and send the data to be transmitted to the second edge CDN node, and the second edge CDN node is used to directly store the data to be transmitted in a second memory area and read the data to be transmitted from the second memory area and send it to the destination client; the second memory area is determined by the second edge CDN node according to the registered memory area indicated in the second connection parameter issued by the scheduling server; Wherein, the first edge CDN node and the second edge CDN node are determined by the scheduling server from at least one edge CDN node according to the data transmission service request sent by the source client.
23. A data transmission device, characterized in that, The device includes a transceiver module and a processing module; the processing module calls the transceiver module to execute: Receive the data to be transmitted read and sent by the first edge CDN node from the first memory area; the data to be transmitted is sent by the source client to the first edge CDN node and directly stored by the first edge CDN node in the first memory area, and the first memory area is determined by the first edge CDN node according to the registered memory area indicated in the first connection parameter sent by the scheduling server; Directly store the data to be transmitted in the second memory area, and read the data to be transmitted from the second memory area and send it to the destination client; The second memory area is determined by the second edge CDN node according to the registered memory area indicated in the second connection parameter sent by the scheduling server; Wherein, the first edge CDN node and the second edge CDN node are determined by the scheduling server from at least one edge CDN node according to the data transmission service request sent by the source client.
24. A data transmission device, characterized in that, The device includes a transceiver module and a processing module; The transceiver module is used to receive the data transmission service request sent by the source client; The processing module is used to determine the first edge CDN node and the second edge CDN node from at least one edge CDN node according to the data transmission service request; The transceiver module is further used to send the first connection parameter to the first edge CDN node and send the second connection parameter to the second edge CDN node; wherein, the registered memory area indicated in the first connection parameter is used to instruct the first edge CDN node to determine the first memory area, and the registered memory area indicated in the second connection parameter is used to instruct the second edge CDN node to determine the second memory area; The first memory area is used for the first edge CDN node to directly store the data to be transmitted sent by the source client; the second memory area is used for the second edge CDN node to directly store the data to be transmitted sent by the first edge CDN node, and read the data to be transmitted from the second memory area and send it to the destination client.
25. A data transmission device, characterized in that, Comprising: A processor and a memory communicatively connected to the processor; The memory stores computer execution instructions; The processor executes the computer execution instructions stored in the memory to implement the method according to any one of claims 1-21.
26. A computer-readable storage medium, characterized in that, Computer execution instructions are stored in the computer-readable storage medium, and when the computer execution instructions are executed by the processor, they are used to implement the method according to any one of claims 1-21.
27. A computer program product, characterized in that, Comprising a computer program, which when executed by the processor implements the method according to any one of claims 1-21.