IP Library Granted Patent US 11,570,100
Granted Patent B2
US 11,570,100 · App. 16/809,224 · Granted Jan 31, 2023

Data processing method, apparatus, medium and device

Inventors: Hongquan Zhang (Hangzhou, CN); Lingtao Kong (Hangzhou, CN); Guannan Kou (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
H04L45/74H04L67/141H04L69/164H04L69/22H04L2212/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,570,100
App. No.
16/809,224
Granted
Jan 31, 2023
Kind
B2
Abstract

The present specification discloses a data processing method, apparatus, medium and device. The method includes: receiving a QUIC data packet that is sent by a first device and that includes a CID; parsing the CID and determining a routing address based on a parsing result; and routing the received QUIC data packet to a second device based on the routing address, so the second device processes the QUIC data packet. When a data packet sent by a transmitting end device is received, a routing address of data transmission is determined by processing the received data packet, to quickly establish a data transmission channel between the transmitting end device and a receiving end device. As such, stored context information is not required, and connection errors caused by exceptions such as restarting and scaling in/out on a load balancer will not occur, thereby effectively improving processing efficiency of data transmission by using the QUIC protocol.

Claims (74)

1. A computer-implemented method comprising:

receiving, by a load balancer, a quick user datagram protocol internet connection (QUIC) data packet sent by a first device, wherein the load balancer supports QUIC protocol, and wherein the QUIC data packet comprises a connection identifier (CID), wherein the CID comprises a first bit and a routing address of the first device, wherein the first bit precedes the routing address of the first device;

parsing, by the load balancer, the CID to generate a parsing result;

determining, by the load balancer, a routing address of a second device based on the parsing result;

encapsulating, by the load balancer, the QUIC data packet by writing content of one or more components of the parsing result into one or more corresponding fields of the QUIC data packet based on a first encapsulation protocol; and

sending the encapsulated QUIC data packet to the second device based on the determined routing address of the second device, wherein the second device processes the encapsulated QUIC data packet.

2. The computer-implemented method of claim 1 , wherein

the encapsulated QUIC data packet comprises the routing address of the first device.

3. The computer-implemented method of claim 2 , wherein the method further comprises:

receiving response data sent by the second device, wherein the response data comprises the routing address of the first device and a processing result of the encapsulated QUIC data packet; and

sending the processing result of the encapsulated QUIC data packet to the first device based on the routing address of the first device.

4. The computer-implemented method of claim 2 , wherein the method further comprises:

receiving a response data packet sent by the second device, wherein the response data packet comprises the routing address of the first device;

determining the routing address of the second device based on the response data packet; and

sending the routing address of the second device to the first device based on the routing address of the first device.

5. The computer-implemented method of claim 4 , wherein determining the routing address of the second device based on the response data packet comprises determining that the response data packet comprises the routing address of the second device, wherein the routing address of the second device is obtained by the second device by encapsulating the response data packet based on a specified second encapsulation protocol, and

wherein sending the routing address of the second device to the first device based on the routing address of the first device comprises sending the response data packet to the first device based on the routing address of the first device.

6. The computer-implemented method of claim 4 , wherein determining the routing address of the second device based on the response data packet comprises determining the response data packet does not comprise the routing address of the second device, determining an address used by the second device to send the response data packet as the routing address of the second device, and generating a new QUIC data packet based on the routing address of the second device, wherein the new QUIC data packet comprises the routing address of the second device, and

wherein sending the routing address of the second device to the first device based on the routing address of the first device comprises sending the new QUIC data packet to the first device based on the routing address of the first device.

7. The computer-implemented method of claim 6 , wherein generating the new QUIC data packet is also based on a specified second encapsulation protocol.

8. The computer-implemented method of claim 7 , wherein an encapsulation format supported by the second encapsulation protocol comprises a CID identifier bit and an address bit of a server-side device.

9. The computer-implemented method of claim 2 , wherein an encapsulation format supported by the first encapsulation protocol comprises an address bit of the load balancer and an address bit of a client-side device.

10. The computer-implemented method of claim 1 , wherein determining the routing address of the second device comprises:

determining the parsing result does not comprise the routing address of the second device;

selecting the second device based on a predetermined algorithm; and

determining the routing address of the second device based on the selected second device.

11. The computer-implemented method of claim 1 , wherein parsing the CID to generate the parsing result comprises parsing the first bit of the CID, and wherein determining the routing address of the second device based on the parsing result comprises:

comparing the first bit of the CID to a target value; and

determining the routing address of the second device based on the first bit of the CID matching the target value.

12. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

receiving, by a load balancer, a quick user datagram protocol internet connection (QUIC) data packet sent by a first device, wherein the load balancer supports QUIC protocol, and wherein the QUIC data packet comprises a connection identifier (CID), wherein the CID comprises a first bit and a routing address of the first device, wherein the first bit precedes the routing address of the first device;

parsing, by the load balancer, the CID to generate a parsing result;

determining, by the load balancer, a routing address of a second device based on the parsing result;

encapsulating, by the load balancer, the QUIC data packet by writing content of one or more components of the parsing result into one or more corresponding fields of the QUIC data packet based on a first encapsulation protocol; and

sending the encapsulated QUIC data packet to the second device based on the determined routing address of the second device, wherein the second device processes the encapsulated QUIC data packet.

13. The non-transitory, computer-readable medium of claim 12 , wherein

the encapsulated QUIC data packet comprises the routing address of the first device.

14. The non-transitory, computer-readable medium of claim 13 , wherein the operations further comprise:

receiving response data sent by the second device, wherein the response data comprises the routing address of the first device and a processing result of the encapsulated QUIC data packet; and

sending the processing result of the encapsulated QUIC data packet to the first device based on the routing address of the first device.

15. The non-transitory, computer-readable medium of claim 13 , wherein the operations further comprise:

receiving a response data packet sent by the second device, wherein the response data packet comprises the routing address of the first device;

determining the routing address of the second device based on the response data packet; and

sending the routing address of the second device to the first device based on the routing address of the first device.

16. The non-transitory, computer-readable medium of claim 15 , wherein determining the routing address of the second device based on the response data packet comprises determining that the response data packet comprises the routing address of the second device, wherein the routing address of the second device is obtained by the second device by encapsulating the response data packet based on a specified second encapsulation protocol, and

wherein sending the routing address of the second device to the first device based on the routing address of the first device comprises sending the response data packet to the first device based on the routing address of the first device.

17. The non-transitory, computer-readable medium of claim 15 , wherein determining the routing address of the second device based on the response data packet comprises determining the response data packet does not comprise the routing address of the second device, determining an address used by the second device to send the response data packet as the routing address of the second device, and generating a new QUIC data packet based on the routing address of the second device, wherein the new QUIC data packet comprises the routing address of the second device, and

wherein sending the routing address of the second device to the first device based on the routing address of the first device comprises sending the new QUIC data packet to the first device based on the routing address of the first device.

18. The non-transitory, computer-readable medium of claim 17 , wherein generating the new QUIC data packet is also based on a specified second encapsulation protocol.

19. The non-transitory, computer-readable medium of claim 18 , wherein an encapsulation format supported by the second encapsulation protocol comprises a CID identifier bit and an address bit of a server-side device.

20. The non-transitory, computer-readable medium of claim 12 , wherein an encapsulation format supported by the first encapsulation protocol comprises an address bit of the load balancer and an address bit of a client-side device.

21. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

receiving, by a load balancer, a quick user datagram protocol internet connection (QUIC) data packet sent by a first device, wherein the load balancer supports QUIC protocol, and wherein the QUIC data packet comprises a connection identifier (CID), wherein the CID comprises a first bit and a routing address of the first device, wherein the first bit precedes the routing address of the first device;

parsing, by the load balancer, the CID to generate a parsing result;

determining, by the load balancer, a routing address of a second device based on the parsing result;

encapsulating, by the load balancer, the QUIC data packet by writing content of one or more components of the parsing result into one or more corresponding fields of the QUIC data packet based on a first encapsulation protocol; and

sending the encapsulated QUIC data packet to the second device based on the determined routing address of the second device, wherein the second device processes the encapsulated QUIC data packet.

22. The computer-implemented system of claim 21 , wherein the encapsulated QUIC data packet comprises the routing address of the first device.

23. The computer-implemented system of claim 22 , wherein the operations further comprise:

receiving response data sent by the second device, wherein the response data comprises the routing address of the first device and a processing result of the encapsulated QUIC data packet; and

sending the processing result of the encapsulated QUIC data packet to the first device based on the routing address of the first device.

24. The computer-implemented system of claim 22 , wherein the operations further comprise:

receiving a response data packet sent by the second device, wherein the response data packet comprises the routing address of the first device;

determining the routing address of the second device based on the response data packet; and

sending the routing address of the second device to the first device based on the routing address of the first device.

25. The computer-implemented system of claim 24 , wherein determining the routing address of the second device based on the response data packet comprises determining that the response data packet comprises the routing address of the second device, wherein the routing address of the second device is obtained by the second device by encapsulating the response data packet based on a specified second encapsulation protocol, and

wherein sending the routing address of the second device to the first device based on the routing address of the first device comprises sending the response data packet to the first device based on the routing address of the first device.

26. The computer-implemented system of claim 24 , wherein determining the routing address of the second device based on the response data packet comprises determining the response data packet does not comprise the routing address of the second device, determining an address used by the second device to send the response data packet as the routing address of the second device, and generating a new QUIC data packet based on the routing address of the second device, wherein the new QUIC data packet comprises the routing address of the second device, and

wherein sending the routing address of the second device to the first device based on the routing address of the first device comprises sending the new QUIC data packet to the first device based on the routing address of the first device.

27. The computer-implemented system of claim 26 , wherein generating the new QUIC data packet is also based on a specified second encapsulation protocol.

28. The computer-implemented system of claim 27 , wherein an encapsulation format supported by the second encapsulation protocol comprises a CID identifier bit and an address bit of a server-side device.

29. The computer-implemented system of claim 22 , wherein an encapsulation format supported by the first encapsulation protocol comprises an address bit of the load balancer and an address bit of a client-side device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2020
From: ZHANG, HONGQUAN; KONG, LINGTAO; KOU, GUANNAN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052258/0971 →