Data transmission system and method therefor, apparatus and storage medium

By introducing the configuration information of QUIC tunnels and VxLAN tunnels into the data transmission system, the problems of high cost and long response time caused by static bandwidth are solved, and efficient and low-cost data transmission and disaster recovery capabilities are achieved.

CN116389191BActive Publication Date: 2026-11-06ALIBABA (CHINA) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202310359362.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-31
Publication Date
2026-11-06
Estimated Expiration
2043-03-31

AI Technical Summary

Technical Problem

The existing data transmission process suffers from high costs and poor service experience, especially when using static bandwidth, which requires long-distance detours through fixed nodes, resulting in long response times.

Method used

By establishing a tunnel entry point and a QUIC tunnel based on the QUIC protocol, and combining the configuration information of the VxLAN tunnel, a QUIC tunnel is established between the client and the tunnel entry point. The tunnel entry point selects the corresponding load balancing device and VxLAN tunnel to achieve fast data transmission and reliability.

Benefits of technology

It improves data transmission efficiency and quality, reduces costs, enhances the user service experience, and reduces fault recovery time in disaster recovery scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116389191B_ABST
    Figure CN116389191B_ABST
Patent Text Reader

Abstract

This application provides a data transmission system, method, device, and storage medium. In this application embodiment, the data transmission system includes a controller that sends configuration information of the tunnel entry point and the Quick User Datagram Protocol (QUIC) tunnel to the client, and sends configuration information of the load balancing device and the Virtual Extended Local Area Network (VxLAN) tunnel to the tunnel entry point. The client is used to establish a QUIC tunnel with the tunnel entry point and send a target data request to the tunnel entry point through the QUIC tunnel. The tunnel entry point sends the target data request to the load balancing device through the target VxLAN tunnel. The load balancing device receives the target data request and sends it to a corresponding server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a data transmission system, method, device and storage medium thereof. Background Technology

[0002] With the rapid development of internet technology and smart mobile terminals, the number of users of many applications is also increasing. To meet the data access needs of the growing number of users, some applications use IP addresses distributed by the Border Gateway Protocol (BGP), which has high-quality data transmission links and strong disaster recovery capabilities, to provide a data transmission channel between the user's client and the target server they access.

[0003] Because public BGP is typically expensive, many applications opt for the lower cost of static bandwidth. However, static bandwidth generally requires connection through a fixed node, meaning data transmission often needs to route through that node. This can result in long data transfer distances, leading to delayed response times and negatively impacting user experience. Therefore, the question arises: how can a data transmission method be provided to address the cost and service experience issues inherent in existing data transmission methods? Summary of the Invention

[0004] This application provides a data transmission system, method, apparatus, and storage medium to address the cost and service experience issues encountered in existing data transmission processes.

[0005] This application embodiment also provides a data transmission system, the system including a controller, a client, a tunnel entry point, a load balancing device, and a server, wherein: the controller is used to send configuration information of the tunnel entry point and the Quick User Datagram Protocol (QUIC) tunnel to the client, and to send configuration information of the load balancing device and the Virtual Extended Local Area Network (VxLAN) tunnel to the tunnel entry point, wherein the load balancing device is a front-end load balancing device for the server; the client is used to establish a QUIC tunnel with the tunnel entry point based on the configuration information of the tunnel entry point and the QUIC tunnel, and to send target data requests to the server through the QUIC tunnel. The tunnel entry point, wherein the QUIC tunnel is constructed based on the QUIC protocol, includes access points of multiple operators; the tunnel entry point is used, upon receiving the target data request, to select a corresponding load balancing device and a target VxLAN tunnel for the target data request based on the configuration information of the load balancing device and the VxLAN tunnel, and to send the target data request to the load balancing device through the target VxLAN tunnel; the load balancing device is used to receive the target data request and send the target data request to a corresponding server, so that the server responds to the target data request and returns the target data corresponding to the target data request to the client.

[0006] This application provides a data transmission method applied to a client. The method includes: establishing a QUIC tunnel with the tunnel entry point based on the configuration information of the tunnel entry point and the Quick User Datagram Protocol (QUIC) network connection; sending a target data request to the tunnel entry point through the QUIC tunnel, wherein the QUIC tunnel is constructed based on the QUIC protocol, so that the tunnel entry point selects a corresponding load balancing device and a target VxLAN tunnel for the target data request based on the configuration information of the load balancing device and the Virtual Extended Local Area Network (VxLAN) tunnel, and sending the target data request to the load balancing device through the target VxLAN tunnel.

[0007] This application provides a data transmission method applied to a tunnel entry point. The method includes: upon receiving a target data request from a client, selecting a corresponding load balancing device and a target VxLAN tunnel for the target data request based on the configuration information of the load balancing device and the Virtual Extended Local Area Network (VxLAN) tunnel; the target data request being sent by the client to the tunnel entry point via a Fast User Datagram Protocol (QUIC) network connection; and sending the target data request to the load balancing device through the target VxLAN tunnel, so that the load balancing device sends the target data request to the corresponding server.

[0008] This application provides a data transmission method applied to a load balancing device. The method includes: receiving a target data request from a tunnel entry point, wherein the target data request is selected by the tunnel entry point based on the configuration information of the load balancing device and the Virtual Extended Local Area Network (VxLAN) tunnel when the target data request is received; sending the target data request to the load balancing device through the target VxLAN tunnel, wherein the target data request is sent by the client to the tunnel entry point through a Fast User Datagram Protocol (QUIC) network connection to the tunnel entry point; and sending the target data request to a corresponding server, so that the server responds to the target data request by returning the target data corresponding to the target data request to the client.

[0009] This application also provides an electronic device, including: a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. The processor communicates with the memory via the bus. When the machine-readable instructions are executed by the processor, they perform the steps in the data transmission method provided in this application.

[0010] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, causes the processor to implement the steps in the data transmission method provided in this application.

[0011] In this embodiment, the controller can send configuration information of the tunnel entry point and QUIC tunnel to the client, and configuration information of the load balancer and VxLAN tunnel to the tunnel entry point. This allows the client to establish a QUIC tunnel with a tunnel entry point that matches its transmission needs based on the configuration information sent by the controller. The tunnel entry point, based on the configuration information sent by the controller, selects the corresponding server's front-end load balancer and the corresponding target VxLAN tunnel for the target data request it wants to transmit. On one hand, since the QUIC tunnel is built on the QUIC protocol, it features fast retransmission, and the VxLAN tunnel can reliably transmit data based on the priority field of the transmitted data. Furthermore, the tunnel entry point can provide access points from multiple operators, eliminating the need for long-distance detours, effectively improving data transmission efficiency and quality, thereby enhancing the user's service experience. On the other hand, the cost of the tunnel entry point and the QUIC tunnel established between the client and the tunnel entry point is also low, reducing costs during data transmission. Attached Figure Description

[0012] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0013] Figure 1 A schematic diagram of two data transmission architectures provided for existing technologies;

[0014] Figure 2 This is a schematic diagram of the structure of a data transmission system provided in one embodiment of this application;

[0015] Figure 3 A schematic diagram of the data format encapsulated according to the QUIC tunnel protocol in a data transmission system provided as an exemplary embodiment of this application;

[0016] Figure 4 This is a schematic diagram illustrating the process of a client transmitting a target data request to a server in a data transmission system provided in one embodiment of this application.

[0017] Figure 5 A schematic diagram illustrating disaster recovery and degradation in a data transmission system provided as an exemplary embodiment of this application;

[0018] Figure 6 A schematic diagram illustrating the process of applying the data transmission method provided in this application embodiment to a client;

[0019] Figure 7 A schematic diagram illustrating the process of applying the data transmission method provided in this application to a tunnel access point;

[0020] Figure 8 A schematic diagram illustrating the process of applying the data transmission method provided in this application to a load balancing device;

[0021] Figure 9 A schematic diagram of the structure of a client provided for an exemplary embodiment of this application;

[0022] Figure 10 A schematic diagram of a tunnel access point provided as an exemplary embodiment of this application;

[0023] Figure 11 A schematic diagram of the structure of a load balancing device provided for an exemplary embodiment of this application;

[0024] Figure 12 This is a schematic diagram of the structure of an electronic device provided as an exemplary embodiment of this application. Detailed Implementation

[0025] Many specific details are set forth in the following description to provide a full understanding of this application. However, this application can be implemented in many other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the spirit of this application; therefore, this application is not limited to the specific embodiments disclosed below.

[0026] The terminology used in one or more embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the scope of one or more embodiments of this application. The singular forms “a,” “the,” and “the” used in one or more embodiments of this application and in the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” used in one or more embodiments of this application refers to and includes any or all possible combinations of one or more associated listed items.

[0027] It should be understood that although the terms first, second, etc., may be used to describe various information in one or more embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first may also be referred to as second without departing from the scope of one or more embodiments of this application, and similarly, second may also be referred to as first. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to a determination."

[0028] First, the terms and concepts involved in one or more embodiments of this application will be explained.

[0029] Quick UDP Internet Connection (QUIC): A reliable transport protocol based on the User Datagram Protocol (UDP). QUIC defines a layer on top of UDP that introduces error handling, reliability, flow control, and built-in security (via TLS 1.3). QUIC can create connections between two endpoints and supports multiplexed connections.

[0030] Virtual Extensible Local Area Network (VxLAN) is a network virtualization technology that improves scalability during large-scale cloud deployments. It's an extension of VLANs. VxLAN is a powerful tool that can extend Layer 2 networks by penetrating Layer 3. It can encapsulate traffic and extend it to a Layer 3 gateway.

[0031] Figure 1 Schematic diagrams of two data transmission network architectures provided for existing technologies. Figure 1 The diagram on the left shows how to directly replace public BGP with lower-cost static bandwidth. Although this solution is simple to implement, static bandwidth generally requires connection through a fixed node. Therefore, data transmission usually needs to detour to the fixed node during the data transmission process. This may result in a long data transmission distance to the fixed node, leading to a longer response time for data access requests. Figure 1 The diagram on the right illustrates how a Content Delivery Network (CDN) can be used to optimize application networks. It deploys an intermediate CDN source and uses dedicated CDN transmission links to accelerate data transmission. While this solution can speed up the data transmission process and reduce latency, it is costly. Furthermore, if edge CDN nodes or central load balancing equipment fail, a new server IP address needs to be obtained via DNS requests. Since DNS has a limited caching period, the new server IP address cannot be obtained by the client until the DNS is refreshed. This results in a long fault recovery time, significantly impacting the user experience.

[0032] To address the numerous shortcomings in current data transmission links, the data transmission system provided in this application can send configuration information of the tunnel entry point and QUIC tunnel to the client via a controller, and also send configuration information of the load balancer and VxLAN tunnel to the tunnel entry point. This allows the client to establish a QUIC tunnel with a tunnel entry point that matches its transmission needs based on the configuration information sent by the controller. Furthermore, the tunnel entry point, based on the configuration information sent by the controller, selects the corresponding server's front-end load balancer and the corresponding target VxLAN tunnel for the target data request to be transmitted. On one hand, since the QUIC tunnel is built on the QUIC protocol, it features fast retransmission, and the VxLAN tunnel can reliably transmit data based on the priority field of the transmitted data. In addition, the tunnel entry point can provide access points from multiple operators, eliminating the need for long-distance detours, effectively improving data transmission efficiency and quality, thereby enhancing the user's service experience. On the other hand, the cost of the tunnel entry point and the QUIC tunnel established between the client and the tunnel entry point is also low, reducing costs during data transmission. Specifically, this application provides a method for data transmission. This application also relates to data transmission network architecture, data transmission apparatus, electronic equipment, and computer-readable storage medium, which will be described in detail in the following embodiments.

[0033] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.

[0034] Figure 2 This is a schematic diagram of a data transmission system provided for an exemplary embodiment of this application. (See diagram below.) Figure 2 As shown, the system includes a controller 210, a client 220, a tunnel access point 230, a load balancer 240, and a server 250, wherein:

[0035] The controller 210 is used to send the configuration information of the tunnel access point and the QUIC tunnel to the client, and to send the configuration information of the load balancer and the VxLAN tunnel to the tunnel access point. The load balancer is a front-end load balancer for the server.

[0036] Client 220 is used to establish a QUIC tunnel with the tunnel access point based on the configuration information of the tunnel access point and the QUIC tunnel, and to send target data requests to the tunnel access point through the QUIC tunnel. The QUIC tunnel is built based on the QUIC protocol, and the tunnel access point includes access points of multiple operators.

[0037] The tunnel entry point 230 is used to select the corresponding load balancer and target VxLAN tunnel for the target data request based on the configuration information of the load balancer and VxLAN tunnel when the target data request is received, and to send the target data request to the load balancer through the target VxLAN tunnel. The VxLAN tunnel transmits data according to the priority field of the transmitted data.

[0038] The load balancer 240 is used to receive target data requests and send the target data requests to the corresponding server 250, so that the server 250 responds to the target data requests and returns the target data corresponding to the target data requests to the client 220.

[0039] The configuration information for the tunnel entry point and the QUIC tunnel includes a list of tunnel entry points and the configuration information required to establish the QUIC tunnel. The QUIC tunnel is built on the QUIC protocol, which itself can confirm whether the data transmitted to the client has been successfully received via ACK after data transmission. If no ACK message is received from the client within a preset transmission time period, a packet loss retransmission mechanism can be automatically triggered to resend the data to the client, thereby reducing the overall end-to-end latency from the client to the server. Figure 2 The CM IP and CU IP in tunnel access point 230 shown represent IPs from different operators.

[0040] Optionally, the QUIC tunnel between the client and the tunnel entry point can use the QUIC transport protocol as the transport layer, and implement the QUIC tunnel protocol on top of it. For the data format encapsulated by the QUIC tunnel protocol, please refer to [link / reference needed]. Figure 3 .like Figure 3As shown, data encapsulated using the QUIC tunneling protocol can include IP, UDP, QUIC HDR, TUNNEL HDR, and Payload. The IP portion may contain information such as the source IP address, destination IP address, and ToS field. The UDP portion may contain information such as the source port number and destination port number. QUIC HDR represents the Stream Frame defined in the QUIC Internet Engineering Task Force (Request For Comments, RFC). TUNNEL HDR represents a Tunnel Frame extended from the Stream Frame. HDR is an abbreviation for Frame Header. Payload is the effective payload. Figure 3 The Tunneled Packets shown are used to carry the client's original data packets, i.e., the target data request. Figure 3 As can be seen, since the client's original data packets are encapsulated in a TunnelFrame, and the TunnelFrame is encapsulated in a StreamFrame, data encapsulated based on this data format also possesses the fast retransmission capability of the QUIC protocol within a QUIC tunnel. Specifically, when a client sends a target data request to the tunnel entry point through a QUIC tunnel, it can first encapsulate the target data request according to the QUIC tunnel protocol, and then send the encapsulated target data request to the tunnel entry point.

[0041] Clients and tunnel entry points can transmit control and data information through the QUIC tunnel. Control information may include tunnel initialization information, stream group closure information, error information, tunnel closure information, and renegotiation version number information. Tunnel initialization information initializes the QUIC tunnel and carries information such as the QUIC tunnel version and the network protocol type (TCP, UDP, QUIC, etc.) used for transmission within the tunnel. Stream group closure information closes the stream groups used for data transmission (QUIC tunnels transmit data in groups, and the appropriate stream group can be selected for data transmission) and releases the resources of stream groups that have completed data transmission. Error information is used to notify the client or server of detailed error information when communication errors occur. Tunnel closure information closes the QUIC tunnel between the client and tunnel entry point and releases the resources of QUIC tunnels that have completed data transmission. The renegotiation version number information is used after the client and server establish a connection. If the server does not support the version carried in the initialization information, it will send this information to renegotiate the version number (the version of the QUIC tunnel and the type of network protocol transmitted within the QUIC tunnel).

[0042] The data information may include transmission data information and stream group configuration information. Transmission data information carries the data, i.e., the target data request, transmitted by the client to the server. Stream group configuration information sets the stream group to which the QUIC tunnel connection between the client and the tunnel entry point belongs; the client can send transmission data to the tunnel entry point through different stream groups.

[0043] In some exemplary embodiments, before sending the target data request to the tunnel entry point, the client also needs to establish a QUIC tunnel with the tunnel entry point. Specifically, the client establishes a QUIC tunnel with the tunnel entry point based on the configuration information of the tunnel entry point and the QUIC tunnel, including:

[0044] The client sends a QUIC tunnel protocol token to the tunnel entry point, enabling the tunnel entry point to enable QUIC tunnel protocol support for the transmission link between the client and the tunnel entry point based on the QUIC tunnel protocol token.

[0045] When QUIC tunnel protocol support is enabled on the transmission link between the client and the tunnel entry point, the client sends handshake parameters to the tunnel entry point to complete the connection options and parameter settings of the transmission link between the client and the tunnel entry point.

[0046] The client sends initialization information to the tunnel entry point to initialize the tunnel version, transmission protocol, and server address of the transmission link between the client and the tunnel entry point.

[0047] After initializing the transmission link between the client and the tunnel entry point, the client sends the target QUIC tunnel protocol data to the tunnel entry point.

[0048] In some exemplary embodiments, the client can send a target data request to the tunnel access point through the following steps:

[0049] S1, the client establishes a QUIC tunnel between itself and the tunnel entry point.

[0050] The client sends an ALPN token (QUIC tunnel protocol token) to the tunnel entry point, enabling the tunnel entry point to support the QUIC tunnel protocol. The client then sends handshake parameters to the tunnel entry point to configure the connection options and parameters for the transmission link between the client and the tunnel entry point. These connection options inform the tunnel entry point which load balancer to forward the client's data to. Finally, the client sends initialization information to the tunnel entry point to set the tunnel version, transmission protocol, and server address for the transmission link between the client and the tunnel entry point. This server is the one that responds to the client's data requests.

[0051] S2. The client sends the target data request to the tunnel access point.

[0052] After receiving confirmation from the tunnel entry point, the client encapsulates the target data request according to the QUIC tunnel protocol and then sends the encapsulated data request to the tunnel entry point. It's important to note that QUIC tunnels typically have multiple Stream groups. A QUIC tunnel connection established between a client and the tunnel entry point belongs to one of these Stream groups. When transmitting data with the tunnel entry point, the client can transmit data through its corresponding Stream group. Therefore, before sending the target QUIC tunnel protocol data to the tunnel entry point, the client can also send stream group configuration information to the tunnel entry point. This information indicates which QUIC tunnel stream group the data should be transmitted through. This stream group configuration information can also carry the protocol type, IP address, and port information to the server, which uses this information to return the requested data to the client. Finally, the client sends the target QUIC tunnel protocol data to the tunnel entry point using the transmission data information.

[0053] S3. The client sends a stream group close message to the tunnel entry point to close the QUIC tunnel connection between the client and the tunnel entry point.

[0054] S4. When the client no longer needs data transmission, the QUIC tunnel between the client and the tunnel entry point is closed by sending a tunnel closure message to release QUIC tunnel resources.

[0055] VxLAN tunnels can transmit data according to the priority field of the transmitted data. This means that the Type of Service (ToS) field can be set in the general IP header field of the transmitted data. For some specific tunnel data packets, a service type corresponding to a higher priority can be set. This allows the ToS field of the transmitted data to be identified in the devices along the transmission route (tunnel entry point and load balancer), and then the ToS field is mapped to the corresponding priority. High-priority transmitted data is forwarded first, thereby effectively reducing the packet loss rate of high-priority transmitted data and improving the reliability of data transmission.

[0056] In some exemplary embodiments, the configuration information of the load balancing device and the VxLAN tunnel includes a mapping relationship between the load balancing device and the VxLAN tunnel. Specifically, this can be a mapping relationship between the load balancing device and the VxLAN tunnel's identifier (VxLAN Network Identifier, VNI). Furthermore, a mapping relationship exists between the load balancing device and the server. Therefore, when the tunnel ingress point receives a target data request from a client, it can determine the load balancing device matching the server responding to the target data request based on the mapping relationship between the load balancing device and the server, and determine the available transmission link, i.e., the VNI of the target VxLAN tunnel, based on the mapping relationship between the load balancing device and the VNI. Specifically, when the tunnel ingress point selects the corresponding load balancing device and target VxLAN tunnel for the target data request based on the configuration information of the load balancing device and the VxLAN tunnel, and sends the target data request to the target load balancing device through the target VxLAN tunnel, it is specifically used for:

[0057] Close the QUIC tunnel between the client and the tunnel entry point;

[0058] The target data request is parsed to obtain the source address and target address of the target data request. The source address carried in the target data request is the address of the client, and the target address carried in the target data request is the address of the server that responded to the target data request.

[0059] Based on the target address of the target data request, determine the load balancing device corresponding to the server;

[0060] Based on the configuration information of the load balancer and VxLAN tunnel, the target VxLAN tunnel that matches the load balancer is determined, and the target data request is sent to the load balancer through the target VxLAN tunnel.

[0061] It should be noted that after the tunnel entry point receives the target data request from the client, the QUIC tunnel between the client and the tunnel entry point can be closed in a timely manner to release the QUIC tunnel resources for other clients with data transmission needs.

[0062] In some exemplary embodiments, because the transmission links between the client and the tunnel entry point are different, and the transmission links between the tunnel entry point and the load balancer are different, the formats and protocols used for transmitting data are also different. After the tunnel entry point receives the target data request from the client, it also needs to convert the data format of the target data request according to the VxLAN encapsulated data format in order to enable data transmission over the VxLAN tunnel. Specifically, the data format of the target data request is a data format encapsulated based on the QUIC tunnel protocol. When the tunnel entry point sends the target data request to the load balancer through the target VxLAN tunnel, it is specifically used for:

[0063] The target data request format is converted from the QUIC tunnel protocol-based encapsulated data format to the VxLAN encapsulated data format to obtain the target data request after conversion. The source address carried in the VxLAN header of the target data request after conversion is the address of the tunnel entry point, and the target address carried in the VxLAN header of the target data request after conversion is the address of the load balancer.

[0064] The target data request, after being converted to the correct data format, is sent to the load balancer via the target VxLAN tunnel.

[0065] In some exemplary embodiments, since the load balancing device and the corresponding server no longer transmit data through a VxLAN tunnel, the VxLAN header in the converted target data request can be removed from this transmission link, and the request can be forwarded to the corresponding server based on the source and destination addresses carried in the converted target data request. Specifically, when the load balancing device sends the target data request to the corresponding server, it specifically performs the following:

[0066] Remove the VxLAN header from the target data request after converting the data format, and obtain the source and destination addresses carried in the VxLAN header, as well as the target data request after removing the VxLAN header;

[0067] Based on the source and destination addresses carried in the VxLAN header, determine the address of the client corresponding to the tunnel entry point and the address of the server corresponding to the load balancing device;

[0068] The address of the client corresponding to the tunnel entry point is used as the source address of the target data request after removing the VxLAN header, and the address of the server corresponding to the load balancer is used as the target address of the target data request after removing the VxLAN header, to obtain the data to be forwarded;

[0069] The data to be forwarded is sent to the server corresponding to the load balancer.

[0070] In some exemplary embodiments, after receiving the target QUIC tunnel protocol data, the tunnel entry point can parse the data and obtain the source address (including IP address and source port number), destination address (including destination IP address and destination port number), and payload, i.e., the target data request that the client actually wants to transmit. The address of the next node to be forwarded by the tunnel entry point, i.e., the destination address of the data to be forwarded, can be determined from the destination address (indicated by the server address) carried in the original target QUIC tunnel protocol data through the mapping relationship between the load balancer and the server. Then, based on the source IP address, source port number, destination IP address, and destination port number, IP and UDP headers are encapsulated as the IP and UDP headers of the data to be transmitted. At this point, the client's IP address and port number can be used as the source IP address and source port number, while the load balancer's address and port number are used as the destination IP address and destination port number. The target data request is used as the payload, and then a VxLAN header is encapsulated to convert it into a VxLAN encapsulation format. Specifically, the VxLAN fields can be filled according to the content of the data packet of the target data request. In the VxLAN header, the IP address and port number of the tunnel entry point can be used as the source IP address and source port number, while the IP address and port number of the load balancer can be used as the destination IP address and destination port number. After receiving the data to be forwarded, the load balancer parses the VxLAN header and forwards the payload of the data to the corresponding server. At this time, the source address of the data forwarded to the server is the client's address, and the destination address is the server's address.

[0071] In some exemplary embodiments, after receiving the data to be forwarded, the server can return the target data requested by the client to the client step by step (passing through the load balancing device and the tunnel entry point in sequence) according to the transmission link between the server and the client. Specifically, the server responds to the target data request by returning the target data corresponding to the target data request to the client, including:

[0072] The server responds to the target data request by sending the target data corresponding to the target data request to the load balancer. The source address carried in the target data is the server's address, and the target address carried in the target data is the client's address.

[0073] The load balancer receives the target data and, based on the load balancer's address and the address of the tunnel entry point corresponding to the load balancer, converts the target data into a VxLAN encapsulated data format. The converted target data is then sent to the tunnel entry point through the target VxLAN tunnel. The source address carried in the VxLAN header of the converted target data is the load balancer's address, and the target address carried in the VxLAN header is the tunnel entry point's address.

[0074] The tunnel access point receives the target data after the data format has been converted, removes the VxLAN header from the target data after the data format has been converted, and obtains the target data with the VxLAN header removed.

[0075] Using the client's address as the target address and the load balancer's address as the source address, the target data (with the VxLAN header removed) is encapsulated according to the QUIC tunneling protocol to obtain the encapsulated target data, which is then returned to the client.

[0076] In some exemplary embodiments, the server may respond to a target data request by forwarding the target data to its load balancer. In this case, the source address of the target data is the server's address, and the target address is the client's address. Upon receiving the target data, the load balancer, since the transmission link between the load balancer and the tunnel entry point is a VxLAN tunnel, can modify the source address of the target data to the load balancer's address and include a VxLAN header. The target data is then processed according to the VxLAN encapsulation format to obtain the first target data. The target address of this VxLAN header is the tunnel entry point's address. The load balancer then forwards the first target data to the tunnel entry point. The transmission link between the tunnel entry point and the client is a QUIC tunnel. Therefore, upon receiving the first target data, the tunnel entry point can also remove the VxLAN header from the first target data and perform format conversion on the first target data to obtain data encapsulated according to the QUIC tunnel protocol for the payload data of the first target data. Finally, the encapsulated data is sent to the client corresponding to the target address of the target data.

[0077] Figure 4 This is a schematic diagram illustrating the process of a client transmitting a target data request to a server in a data transmission system provided in one embodiment of this application. Figure 4In this architecture, clients can transmit data with tunnel entry points through tunnel connections belonging to different stream groups. The connection between the client and the tunnel entry point is via a QUIC tunnel. The tunnel process within the tunnel entry point maintains the session process between the client and the tunnel entry point. The main data plane process within the tunnel entry point performs data forwarding operations. After receiving data from the client, the tunnel entry point can format the data into a VxLAN encapsulated format and then transmit the VxLAN-encapsulated data to the load balancer via the VxLAN tunnel. The load balancer then forwards the data to the corresponding server. When the server responds to a data request from the client and returns the corresponding data, it first forwards the data to the load balancer, which then forwards it through the VxLAN tunnel to the corresponding tunnel entry point. The tunnel entry point then converts the data into QUIC tunnel protocol-encapsulated data and forwards it to the corresponding client.

[0078] It's important to note that the mapping relationships between load balancers and servers, as well as between tunnel ingress points and load balancers, can be established via sockets. When a server receives a data request from a client, it establishes a socket with the address of its corresponding load balancer. The server can read requests from this socket, and when returning data to the client, it also sends it through this socket, with the destination address being the load balancer's address recorded in the socket. The load balancer also employs the same logic, recording session information at the time of sending. Upon receiving a response packet, it swaps the source and destination addresses to locate the session and retrieve the address of the tunnel ingress point that needs to be forwarded.

[0079] In some exemplary embodiments, to enhance the disaster recovery capability of the data transmission system, each tunnel entry point connected to the client can include a primary tunnel entry point and a backup tunnel entry point. When the primary tunnel entry point fails, the client can be triggered to establish a connection with the backup tunnel entry point. This reconnection operation can be performed directly without waiting, thereby reducing the waiting response time under link failure and effectively improving the user's service experience. Specifically, a tunnel entry point includes a primary tunnel entry point and a backup tunnel entry point. Based on the configuration information of the tunnel entry point and the QUIC tunnel, the client establishes a QUIC tunnel with the tunnel entry point, including:

[0080] The client establishes a QUIC tunnel with the main tunnel entry point based on the configuration information of the tunnel entry point and the QUIC tunnel.

[0081] If the main tunnel access point goes down, the client will establish a QUIC tunnel between the backup tunnel access point in the same group as the main tunnel access point.

[0082] Figure 5This diagram illustrates disaster recovery and degradation in the data transmission system provided in this application embodiment. When a client establishes a QUIC tunnel with a tunnel entry point, it prioritizes establishing a connection with the primary tunnel entry point. When the primary tunnel entry point fails, the client then establishes a QUIC tunnel with a backup tunnel entry point in the same group as the primary tunnel entry point. At this time, the original session process between the client and the primary tunnel entry point, maintained in the tunnel process of the tunnel entry point, will be discarded, and a new session process between the client and the backup tunnel entry point will be established in the tunnel process of the tunnel entry point. Moreover, the backup tunnel entry point will also send the data received from the client to the corresponding load balancer through the VxLAN tunnel (VxLAN2) corresponding to the backup tunnel entry point. Simultaneously, the load balancer will also update the source address of the data from the client to be forwarded, i.e., the address of the original primary tunnel entry point, to the address of the backup tunnel entry point.

[0083] In some exemplary embodiments, when both the tunnel entry points (including the primary tunnel entry point and the backup tunnel entry point) connected to the client fail, data transmission can still be performed via the public network between the client and the load balancing device. Specifically, the method provided in this application embodiment further includes:

[0084] If the backup tunnel access point goes down, the client will send the target data request to the load balancer via the public network between the client and the load balancer.

[0085] See also Figure 5 If the tunnel access points (including the main tunnel access point and the backup tunnel access point) connected to the client all fail, data transmission can be switched to the public network between the client and the load balancer, thereby minimizing the impact of the tunnel access point failure.

[0086] In this embodiment, the controller can send configuration information of the tunnel entry point and QUIC tunnel to the client, and configuration information of the load balancer and VxLAN tunnel to the tunnel entry point. This allows the client to establish a QUIC tunnel with a tunnel entry point that matches its transmission needs based on the configuration information sent by the controller. The tunnel entry point, based on the configuration information sent by the controller, selects the corresponding server's front-end load balancer and the corresponding target VxLAN tunnel for the target data request it wants to transmit. On one hand, since the QUIC tunnel is built on the QUIC protocol, it features fast retransmission, and the VxLAN tunnel can reliably transmit data based on the priority field of the transmitted data. Furthermore, the tunnel entry point can provide access points from multiple operators, eliminating the need for long-distance detours, effectively improving data transmission efficiency and quality, thereby enhancing the user's service experience. On the other hand, the cost of the tunnel entry point and the QUIC tunnel established between the client and the tunnel entry point is also low, reducing costs during data transmission.

[0087] Figure 6 A flowchart illustrating a data transmission method applied to a client according to an embodiment of this application is shown, specifically including the following steps.

[0088] Step 610: Based on the configuration information of the tunnel entry point and the Quick User Datagram Protocol (QUIC) network connection, establish a QUIC tunnel with the tunnel entry point.

[0089] Step 620: Send the target data request to the tunnel access point through the QUIC tunnel.

[0090] QUIC tunnels are built on the QUIC protocol, enabling the tunnel entry point to select the corresponding load balancer and target VxLAN tunnel for the target data request based on the configuration information of the load balancer and the VxLAN tunnel, and to send the target data request to the load balancer through the target VxLAN tunnel.

[0091] The technical solution of this data transmission network method and the technical solution of the data transmission system belong to the same concept. For details not described in detail in the technical solution of the data transmission network method, please refer to the description of the technical solution of the aforementioned data transmission system.

[0092] Figure 7 A flowchart illustrating a data transmission method according to an embodiment of this application applied to a tunnel access point is shown, specifically including the following steps.

[0093] Step 710: Upon receiving a target data request from a client, select the corresponding load balancing device and target VxLAN tunnel for the target data request based on the configuration information of the load balancing device and the Virtual Extended Local Area Network (VxLAN) tunnel.

[0094] The target data request is sent by the client to the tunnel entry point via a Quick User Datagram Protocol (QUIC) network connection.

[0095] Step 720: Send the target data request to the load balancer through the target VxLAN tunnel, so that the load balancer will send the target data request to the corresponding server.

[0096] The technical solution of this data transmission network method and the technical solution of the data transmission system belong to the same concept. For details not described in detail in the technical solution of the data transmission network method, please refer to the description of the technical solution of the aforementioned data transmission system.

[0097] Figure 8 A flowchart illustrating a data transmission method according to an embodiment of this application applied to a load balancing device is shown, specifically including the following steps.

[0098] Step 810: Receive target data request from tunnel access point.

[0099] The target data request is, when the tunnel entry point receives the target data request, based on the configuration information of the load balancer and the Virtual Extended Local Area Network (VxLAN) tunnel, selects the corresponding load balancer and target VxLAN tunnel for the target data request, and sends the target data request to the load balancer through the target VxLAN tunnel. The target data request is also sent by the client to the tunnel entry point through the Fast User Datagram Protocol (QUIC) tunnel.

[0100] Step 820: Send the target data request to the corresponding server so that the server responds to the target data request and returns the target data corresponding to the target data request to the client.

[0101] The technical solution of this data transmission network method and the technical solution of the data transmission system belong to the same concept. For details not described in detail in the technical solution of the data transmission network method, please refer to the description of the technical solution of the aforementioned data transmission system.

[0102] Furthermore, some processes described in the above embodiments and accompanying drawings include multiple operations that appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order they appear herein, or they may be executed in parallel. The operation numbers, such as 710, 720, etc., are merely used to distinguish different operations and do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel.

[0103] Figure 9 This is a schematic diagram of the structure of a client 900 provided for an exemplary embodiment of this application. For example... Figure 9 As shown, the client includes:

[0104] Module 910 is used to establish a QUIC tunnel with the tunnel entry point based on the configuration information of the tunnel entry point and the Quick User Datagram Protocol (QUIC) network connection.

[0105] The sending module 920 is used to send a target data request to the tunnel entry point through the QUIC tunnel. The QUIC tunnel is built based on the QUIC protocol, so that the tunnel entry point selects the corresponding load balancing device and target VxLAN tunnel for the target data request based on the configuration information of the load balancing device and the Virtual Extended Local Area Network (VxLAN) tunnel, and sends the target data request to the load balancing device through the target VxLAN tunnel.

[0106] Data transmission devices can achieve Figure 6 For details of the method implementation examples, please refer to [link / reference]. Figure 7 The data transmission method of the illustrated embodiment will not be described in detail again.

[0107] Figure 10 A schematic diagram of a tunnel access point 1000 provided for an exemplary embodiment of this application is provided. The tunnel access point includes:

[0108] Selection module 1010 is used to select a corresponding load balancing device and a target VxLAN tunnel for a target data request based on the configuration information of the load balancing device and the VxLAN tunnel when a target data request is received from a client. The target data request is sent by the client to the tunnel entry point through the Fast User Datagram Protocol (QUIC) network connection.

[0109] The sending module 1020 is used to send the target data request to the load balancing device through the target VxLAN tunnel, so that the load balancing device sends the target data request to the corresponding server.

[0110] The tunnel access point can achieve Figure 7 For details of the method implementation examples, please refer to [link / reference]. Figure 7 The data transmission method of the illustrated embodiment will not be described in detail again.

[0111] Figure 11 A schematic diagram of a load balancing device 1100 provided for an exemplary embodiment of this application is shown. The load balancing device includes:

[0112] The receiving module 1110 is used to receive a target data request from a tunnel entry point. The target data request is selected by the tunnel entry point based on the configuration information of the load balancing device and the Virtual Extended Local Area Network (VxLAN) tunnel when it receives the target data request. The target data request is sent to the load balancing device through the target VxLAN tunnel. The target data request is also sent by the client to the tunnel entry point through a Fast User Datagram Protocol (QUIC) network connection to the QUIC tunnel.

[0113] The sending module 1120 is used to send the target data request to the corresponding server, so that the server responds to the target data request and returns the target data corresponding to the target data request to the client.

[0114] Load balancing devices can achieve Figure 8 For details of the method implementation examples, please refer to [link / reference]. Figure 8 The data transmission method of the illustrated embodiment will not be described in detail again.

[0115] Figure 12 This is a schematic diagram of the structure of an electronic device provided as an exemplary embodiment of this application. For example... Figure 12 As shown, the device includes a memory 121 and a processor 122.

[0116] Memory 121 is used to store computer programs and can be configured to store various other data to support operation on the computing device. Examples of this data include instructions for any application or method operating on the computing device, contact data, phone book data, messages, pictures, videos, etc.

[0117] The processor 122, coupled to the memory 121, is used to execute the computer program in the memory 121 for performing the steps of the data transfer method described above.

[0118] Furthermore, such as Figure 12 As shown, the electronic device also includes other components such as a communication component 123, a display 124, a power supply component 125, and an audio component 126. Figure 12The diagram only shows some components and does not mean that the electronic device includes only these components. Figure 12 The components shown. Additionally, depending on the implementation of the traffic playback device, Figure 12 The components within the dashed box are optional, not mandatory. For example, when an electronic device is implemented as a terminal device such as a smartphone, tablet, or desktop computer, it may include... Figure 12 The components within the dashed box; when the electronic device is implemented as a server-side device such as a conventional server, cloud server, data center, or server array, it may be excluded. Figure 12 The component within the dashed box.

[0119] Accordingly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, enables the processor to implement the steps in the above-described task processing method embodiments.

[0120] The above Figure 12 The communication component is configured to facilitate wired or wireless communication between the device containing the communication component and other devices. The device containing the communication component can access wireless networks based on communication standards, such as WiFi, 2G, or 3G, or combinations thereof. In one exemplary embodiment, the communication component receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, the communication component may further include a Near Field Communication (NFC) module, Radio Frequency Identification (RFID) technology, Infrared Data Association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, etc.

[0121] The above Figure 12The memory in the memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random-Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Electrically Programmable Read Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.

[0122] The above Figure 12 The display includes a screen, which may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a Touch Panel, the screen can be implemented as a touchscreen to receive input signals from the user. The Touch Panel includes one or more touch sensors to sense touches, swipes, and gestures on the Touch Panel. The touch sensors can sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation.

[0123] The above Figure 12 The power supply component provides power to the various components of the device in which it resides. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which it resides.

[0124] The above Figure 12 The audio component can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC) configured to receive external audio signals when the device containing the audio component is in an operating mode, such as call mode, recording mode, or voice recognition mode. The received audio signals can be further stored in memory or transmitted via a communication component. In some embodiments, the audio component also includes a speaker for outputting audio signals.

[0125] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0126] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0127] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0128] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0129] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0130] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0131] Computer-readable media include both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0132] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0133] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A data transmission system, characterized in that, The system includes a controller, a client, a tunnel access point, a load balancer, and a server, wherein: The controller is used to send the configuration information of the tunnel entry point and the Quick User Datagram Protocol (QUIC) tunnel to the client, and to send the configuration information of the load balancing device and the Virtual Extended Local Area Network (VxLAN) tunnel to the tunnel entry point, wherein the load balancing device is the front-end load balancing device of the server. The client is used to establish a QUIC tunnel with the tunnel access point based on the configuration information of the tunnel access point and the QUIC tunnel, and to send target data requests to the tunnel access point through the QUIC tunnel. The QUIC tunnel is built based on the QUIC protocol, and the tunnel access point includes access points of multiple operators. The tunnel entry point is used to close the QUIC tunnel between the client and the tunnel entry point when the target data request is received; parse the target data request to obtain the source address and target address of the target data request, wherein the source address carried in the target data request is the address of the client, and the target address carried in the target data request is the address of the server responding to the target data request; determine the load balancing device corresponding to the server based on the target address of the target data request; determine the target VxLAN tunnel matching the load balancing device based on the configuration information of the load balancing device and the VxLAN tunnel, and send the target data request to the load balancing device through the target VxLAN tunnel; the target VxLAN tunnel transmits data according to the priority field of the transmitted data; The load balancing device is used to receive the target data request and send the target data request to the corresponding server, so that the server responds to the target data request and returns the target data corresponding to the target data request to the client.

2. The system as described in claim 1, characterized in that, The target data request is in a data format based on the QUIC tunnel protocol. When the tunnel entry point sends the target data request to the load balancing device through the target VxLAN tunnel, it is specifically used for: The format of the target data request is converted from a data format encapsulated based on the QUIC tunnel protocol to a data format encapsulated by VxLAN to obtain a target data request after conversion. The source address carried in the VxLAN header of the target data request after conversion is the address of the tunnel entry point, and the target address carried in the VxLAN header of the target data request after conversion is the address of the load balancing device. The target data request after data format conversion is sent to the load balancing device through the target VxLAN tunnel.

3. The system as described in claim 2, characterized in that, When the load balancing device sends the target data request to the corresponding server, it is specifically used for: Remove the VxLAN header from the target data request after the data format conversion, and obtain the source address and destination address carried in the VxLAN header, as well as the target data request after removing the VxLAN header; Based on the source address and destination address carried in the VxLAN header, determine the address of the client corresponding to the tunnel entry point and the address of the server corresponding to the load balancing device; The address of the client corresponding to the tunnel entry point is used as the source address of the target data request after removing the VxLAN header, and the address of the server corresponding to the load balancing device is used as the target address of the target data request after removing the VxLAN header, to obtain the data to be forwarded. The data to be forwarded is sent to the server corresponding to the load balancing device.

4. The system as described in claim 1, characterized in that, The server responds to the target data request by returning the target data corresponding to the target data request to the client, including: The server responds to the target data request by sending the target data corresponding to the target data request to the load balancing device. The source address carried in the target data is the address of the server, and the target address carried in the target data is the address of the client. The load balancing device receives the target data and, based on the address of the load balancing device and the address of the tunnel entry point corresponding to the load balancing device, converts the target data into a VxLAN encapsulated data format, and sends the converted target data to the tunnel entry point through the target VxLAN tunnel. The source address carried in the VxLAN header of the converted target data is the address of the load balancing device, and the target address carried in the VxLAN header of the converted target data is the address of the tunnel entry point. The tunnel access point receives the target data after the data format conversion, removes the VxLAN header from the target data after the data format conversion, and obtains the target data without the VxLAN header. Using the client's address as the target address and the load balancer's address as the source address, the target data (with the VxLAN header removed) is encapsulated according to the QUIC tunneling protocol to obtain encapsulated target data, and the encapsulated target data is returned to the client.

5. The system as described in claim 1, characterized in that, A tunnel entry point includes a primary tunnel entry point and a backup tunnel entry point. The client, based on the configuration information of the tunnel entry point and the QUIC tunnel, establishes a QUIC tunnel with the tunnel entry point, including: The client establishes a QUIC tunnel with the main tunnel entry point based on the configuration information of the tunnel entry point and the QUIC tunnel. If the main tunnel access point fails, the client establishes a QUIC tunnel between the client and a backup tunnel access point in the same group as the main tunnel access point.

6. The system as described in claim 5, characterized in that, If the backup tunnel access point fails, the client will send the target data request to the load balancer via the public network between the client and the load balancer.

7. A data transmission method, characterized in that, The method is applied to the client according to claim 1, and the method includes: Based on the configuration information of the tunnel entry point and the Quick User Datagram Protocol (QUIC) network connection, a QUIC tunnel is established between the tunnel entry point and the tunnel entry point. The target data request is sent to the tunnel entry point through the QUIC tunnel. The QUIC tunnel is built based on the QUIC protocol, so that the tunnel entry point selects the corresponding load balancer and target VxLAN tunnel for the target data request based on the configuration information of the load balancer and the Virtual Extended Local Area Network (VxLAN) tunnel, and sends the target data request to the load balancer through the target VxLAN tunnel.

8. A data transmission method, characterized in that, The method is applied to the tunnel access point according to claim 1, and the method includes: Upon receiving a target data request from a client, the QUIC tunnel between the client and the tunnel entry point is closed; the target data request is parsed to obtain its source and destination addresses, wherein the source address carried in the target data request is the client's address, and the destination address carried in the target data request is the address of the server responding to the target data request; based on the destination address of the target data request, a load balancing device corresponding to the server is determined; based on the configuration information of the load balancing device and the VxLAN tunnel, a target VxLAN tunnel matching the load balancing device is determined, and the target VxLAN tunnel transmits data according to the priority field of the transmitted data; the target data request is sent by the client to the tunnel entry point via the Fast User Datagram Protocol (FAP) network connection to the QUIC tunnel; The target data request is sent to the load balancer through the target VxLAN tunnel, so that the load balancer sends the target data request to the corresponding server.

9. A data transmission method, characterized in that, The method is applied to the load balancing device of claim 1, and the method includes: The system receives a target data request from a tunnel entry point. The target data request is generated when the tunnel entry point receives the target data request. Based on the configuration information of the load balancer and the Virtual Extended Local Area Network (VxLAN) tunnel, the tunnel entry point selects a corresponding load balancer and a target VxLAN tunnel for the target data request and sends the target data request to the load balancer through the target VxLAN tunnel. Alternatively, the target data request can be sent by the client to the tunnel entry point via a Fast User Datagram Protocol (QUIC) network connection to a QUIC tunnel. The target data request is sent to the corresponding server, so that the server responds to the target data request and returns the target data corresponding to the target data request to the client.

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

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

Citation Information

Patent Citations

  • Account opening management method and device

    CN108306807A

  • VXLAN tunnel load balancing method and related equipment

    CN111193756A

  • Method and network device for multipath communication

    CN114631297A