Traffic migration method, server, client, electronic device, and storage medium

By identifying the target proxy server address in the content delivery network and migrating business access requests, the connection migration problem caused by server IP changes is solved, achieving smooth traffic migration that is imperceptible to users and improving service stability and user experience.

CN116582495BActive Publication Date: 2025-11-21BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310483925.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-28
Publication Date
2025-11-21
Estimated Expiration
2043-04-28

AI Technical Summary

Technical Problem

Existing technologies cannot effectively support connection migration caused by changes in server IP addresses, resulting in poor service stability and user experience during traffic migration.

Method used

This paper provides a traffic migration method that determines the target proxy server address by using the real server of the source content delivery network and migrates the client's business access requests to the target proxy server, achieving smooth migration when the server address changes. It adopts HTTP/3 protocol stack migration technology to ensure the continuity and stability of business data.

Benefits of technology

It enables efficient and smooth traffic migration without the user's awareness, ensuring service stability and reliability, improving user experience, reducing costs, and enhancing service quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116582495B_ABST
    Figure CN116582495B_ABST
Patent Text Reader

Abstract

The present disclosure provides a traffic migration method, server, client, electronic equipment and storage medium, relates to the field of artificial intelligence, in particular to cloud computing, CDN and other technologies. The specific implementation scheme comprises the following steps: based on the service access request of the client carrying the domain name, the corresponding source CDN RS is requested; if the source CDN RS determines to migrate the service traffic corresponding to the domain name, the address of the target proxy server returned by the source CDN RS is received; the target proxy server is the proxy server corresponding to the target CDN RS determined by the source CDN RS to be migrated to; based on the address of the target proxy server, the traffic corresponding to the service access request of the client is migrated to the target proxy server, so that the target CDN RS continues to provide the service data of the service access request for the client. The technology of the present disclosure can effectively realize the smooth migration of traffic in the scenario of server change.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of artificial intelligence, in particular to cloud computing, content delivery network (CDN) and the like, which can be applied to intelligent cloud scenarios. In particular, it relates to a traffic migration method, a server, a client, an electronic device and a storage medium. BACKGROUND

[0002] CDN-based service access is a very common technology in the current Internet.

[0003] In a CDN-based service request, the client obtains the address of the proxy server of the server, establishes an HTTP connection with the proxy server, and initiates a service request carrying the domain name corresponding to the requested service. The proxy server locates the corresponding CDN RS based on the domain name corresponding to the requested service, and the CDN RS obtains the corresponding service data and returns it to the proxy server, which then responds to the client. SUMMARY

[0004] The present disclosure provides a traffic migration method, a server, a client, an electronic device and a storage medium.

[0005] According to an aspect of the present disclosure, a traffic migration method is provided, comprising:

[0006] Based on the received service access request of the client carrying the domain name, a service request is sent to the corresponding source CDN RS;

[0007] If the source CDN RS determines to migrate the service traffic corresponding to the domain name, the address of the target proxy server returned by the source CDN RS is received; the target proxy server is the proxy server corresponding to the target CDN RS to which the source CDN RS determines to migrate;

[0008] Based on the address of the target proxy server, the traffic corresponding to the service access request of the client is migrated to the target proxy server, so that the target CDN RS continues to provide the service data of the service access request for the client.

[0009] According to another aspect of the present disclosure, a traffic migration method is provided, comprising:

[0010] Sending a service access request carrying a domain name to a source proxy server;

[0011] receive an address of a target proxy server returned by the source proxy server, the target proxy server being a proxy server corresponding to a target CDN real server determined by the source CDN real server to migrate traffic corresponding to the domain name to;

[0012] establish a service connection with the target proxy server based on the address of the target proxy server, so as to continue to provide service data of the service access request by the target CDN real server.

[0013] According to still another aspect of the present disclosure, a source proxy server is provided, comprising:

[0014] a service request module configured to make a service request to a corresponding source CDN real server based on a received service access request of a client carrying a domain name;

[0015] a receiving module configured to receive an address of a target proxy server returned by the source CDN real server, the target proxy server being a proxy server corresponding to a target CDN real server determined by the source CDN real server to migrate traffic corresponding to the domain name to;

[0016] a migration module configured to migrate traffic corresponding to the service access request of the client to the target proxy server based on the address of the target proxy server, so as to continue to provide service data of the service access request by the target CDN real server.

[0017] According to still another aspect of the present disclosure, a client is provided, comprising:

[0018] a sending module configured to send a service access request carrying a domain name to a source proxy server;

[0019] a receiving module configured to receive an address of a target proxy server returned by the source proxy server, the target proxy server being a proxy server corresponding to a target CDN real server determined by the source CDN real server to migrate traffic corresponding to the domain name to;

[0020] a connection establishment module configured to establish a service connection with the target proxy server based on the address of the target proxy server, so as to continue to provide service data of the service access request by the target CDN real server.

[0021] According to still another aspect of the present disclosure, an electronic device is provided, comprising:

[0022] at least one processor; and

[0023] a memory in communication with the at least one processor; wherein

[0024] The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of the aspects and any possible implementation thereof as described above.

[0025] According to yet another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the method of the aspects and any possible implementation thereof as described above.

[0026] According to yet another aspect of the present disclosure, there is provided a computer program product comprising a computer program which, when executed by a processor, implements the method of the aspects and any possible implementation thereof as described above.

[0027] According to the technology of the present disclosure, the smooth migration of traffic in the scenario of server change can be effectively supported.

[0028] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0029] The accompanying drawings are used to better understand the present scheme and do not limit the present disclosure. Among them:

[0030] Figure 1 is a schematic diagram according to the first embodiment of the present disclosure;

[0031] Figure 2 is an architecture diagram of traffic migration provided by the present disclosure;

[0032] Figure 3 is a schematic diagram according to the second embodiment of the present disclosure;

[0033] Figure 4 is a schematic diagram according to the third embodiment of the present disclosure;

[0034] Figure 5 is a schematic diagram according to the fourth embodiment of the present disclosure;

[0035] Figure 6 is a schematic diagram according to the fifth embodiment of the present disclosure;

[0036] Figure 7 is a schematic diagram according to the sixth embodiment of the present disclosure;

[0037] Figure 8 is a block diagram of an electronic device for implementing the method of the embodiments of the present disclosure. DETAILED DESCRIPTION

[0038] Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which various details of the embodiments of the present disclosure are set forth to assist in understanding the embodiments of the present disclosure. It will be apparent, however, that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Also, the description set forth below is merely illustrative of the embodiments of the present disclosure and is not intended to limit the scope of the present disclosure as there are many alternatives.

[0039] It is apparent that the described embodiments are merely a part of the embodiments of the present disclosure, and not all of the embodiments. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without creative work fall within the scope of the present disclosure.

[0040] It should be noted that the terminal device involved in the embodiments of the present disclosure can include, but is not limited to, a mobile phone, a personal digital assistant (PDA), a wireless handheld device, a tablet computer, and the like. The display device can include, but is not limited to, a personal computer, a television, and the like.

[0041] In addition, the term "and / or" in the embodiments of the present disclosure is merely a description of the association relationship between the associated objects, which means that there can be three relationships, for example, A and / or B can represent the following three cases: A exists alone, A and B exist together, and B exists alone. In addition, the character " / " in this paper generally represents that the front and rear associated objects are a "or" relationship.

[0042] With the Internet Engineering Task Force (IETF) issuing the Request For Comments (RFC) document of Hyper Text Transfer Protocol (HTTP) / 3, as the third major version of Hyper Text Transfer Protocol, it gradually leads various Quick User Datagram Protocol (UDP) Internet Connections (QUIC) versions to be unified.

[0043] Currently, cost reduction, service quality not decreased, and no modification on the end side are the goals of various CDN cost reduction schemes, and are also important indicators for measuring the value of the scheme. For example, in existing cost reduction schemes, connection migration in a scenario where the Internet Protocol (IP) address of the client changes, and the address of the server does not change, can be supported. However, in the prior art, there is still no connection migration that can support the IP change of the server side.

[0044] Figure 1 is a schematic diagram according to a first embodiment of the present disclosure; as Figure 1 shown, the embodiment provides a traffic migration method applied to a source proxy server corresponding to a source CDN RS. Specifically, the method can include the following steps:

[0045] S101, based on the received service access request of the client carrying the domain name, a service request is sent to the corresponding source CDN RS;

[0046] S102, if the source CDN RS determines to migrate the service traffic corresponding to the domain name, the address of the target proxy server returned by the source CDN RS is received; the target proxy server is a proxy server corresponding to a target CDN RS determined by the source CDN RS to migrate to;

[0047] S103, based on the address of the target proxy server, the traffic corresponding to the service access request of the client is migrated to the target proxy server, so that the target CDN RS continues to provide the service data of the service access request for the client.

[0048] For example, Figure 2 is an architecture diagram of traffic migration provided by the present disclosure. As Figure 2 shown, it includes a client, a source proxy server, a source CDN RS, a target proxy server, and a target CDN RS. In actual application scenarios, the source proxy server can be connected with multiple CDN RSs and serve as a reverse proxy server for the multiple CDN RSs to provide services for the multiple CDN RSs. Figure 2 In the source CDN RS, only the source CDN RS corresponding to the service access request initiated by the current client is shown. Similarly, the target proxy server side can also serve as a reverse proxy server for multiple CDN RSs to provide services for the multiple CDN RSs, Figure 2 In the target CDN RS, only one related to the embodiment of the present disclosure, i.e., the target CDN RS, is shown.

[0049] In the scenario of the embodiments of the present disclosure, the proxy server provides the function of reverse proxy, so the source proxy server can also be referred to as a source reverse proxy server, and the target proxy server can also be referred to as a target reverse proxy server. For example, the source proxy server and the target proxy server can be implemented by using Nginx.

[0050] The traffic migration method of the embodiments can be applied in network transmission of the third version of the Hyper Text Transfer Protocol (HTTP), that is, HTTP / 3, so the client can also be referred to as an HTTP / 3 client.

[0051] Reference Figure 2 In the architecture shown, the client can first initiate a service access request carrying a domain name to the source proxy server. The source proxy server can obtain the address of the corresponding source CDN RS by resolving the domain name based on the service access request of the domain name, and perform a service request to the corresponding source CDN RS, so as to provide service data by the source CDN RS.

[0052] However, when the source CDN RS determines to migrate the service traffic corresponding to the domain name, the source CDN RS can query and determine the target CDN RS that can be migrated based on the preset migration rule, further determine the address of the target proxy server corresponding to the target CDN RS to be migrated, and return the address to the source proxy server.

[0053] Further, the source proxy server can migrate the traffic corresponding to the service access request of the client to the target proxy server based on the address of the target proxy server, so as to continue to provide the service data of the service access request of the client by the target CDN RS. The service provided by the source CDN RS for the client can be migrated to the service provided by the target CDN RS for the client. Moreover, the user corresponding to the client does not need to participate in the whole process, and the smooth migration of traffic can be realized without the user's awareness, and the stability of the service during the traffic migration process can be effectively ensured.

[0054] During the whole process, the user is only aware of initiating the service access request, and other operations are not aware of the user, so the user experience is very good.

[0055] In this embodiment, each CDN RS can obtain information from all CDN RSs, making it applicable to any CDN RS server migration scenario. The migration rules can be configured by the CDN RS content provider based on actual needs. For example, the migration rules can restrict traffic from a higher-cost, centrally located source CDN RS to a lower-cost, edge-located target CDN RS to effectively reduce costs; or they can restrict traffic from a higher-load source CDN RS to a lower-load target CDN RS to ensure service stability and reliability. Furthermore, they can restrict traffic from a source CDN RS farther from the client to a target CDN RS closer to the client to further accelerate service response and improve service quality. In practical applications, there are other scenarios requiring CDN RS switching, which will not be elaborated upon here.

[0056] The traffic migration method in this embodiment, by adopting the above-described technical solution, can overcome the shortcomings of the prior art and provide a technical solution that enables smooth traffic migration when the server changes. It effectively ensures the stability and reliability of business services during the migration process; moreover, the entire traffic migration process is imperceptible to the user, effectively ensuring service quality and improving the user experience, making it highly practical.

[0057] Figure 3 This is a schematic diagram based on the second embodiment of the present disclosure; this embodiment provides a traffic migration method, in the above... Figure 1 Based on the technical solutions of the illustrated embodiments, the technical solutions of this disclosure will be described in further detail. For example... Figure 3 As shown, the traffic migration method in this embodiment may specifically include the following steps:

[0058] S301. The source proxy server receives a business access request carrying a domain name sent by the client.

[0059] Specifically, on the client side, the domain name corresponding to the business access request is obtained, and domain name resolution is performed to obtain the address of the corresponding source proxy server, and a business access request carrying the domain name is sent to the source proxy server.

[0060] S302. The source proxy server locates the corresponding source CDN RS based on the domain name of the business access request and sends the business access request to the source CDN RS.

[0061] It can also be said that the source proxy server initiates a reverse proxy request to the source CDN RS, and obtains service data of the service access request from the source proxy server to respond to the service access request of the client.

[0062] Specifically, at the source CDN RS side, when the source CDN RS receives the service access request, it can first detect whether the traffic of the service access request needs to be migrated.

[0063] For example, at the CDN RS side, a CDN RS scheduling information library can be pre-configured, which can include the services that can be supported by each CDN RS in all CDN RSs, the performance parameters of each CDN RS, the real-time load of each CDN RS, and the deployment location information of each CDN RS, the cost information of the service provided by each CDN RS, and the address of the proxy server corresponding to each CDN RS, etc. The performance parameters can include quality of service indicators. The cost of each CDN RS can be related to the deployment location, for example, the service cost of a CDN RS in a central location is higher than that of a CDN RS in an edge location.

[0064] In application, the source CDN RS can detect whether the current client agrees to migrate the traffic of the requested service; if so, the source CDN RS can query the CDN RS scheduling information library based on the pre-configured migration rule, query and obtain the target CDN RS that meets the requirements and can be scheduled from the CDN RS scheduling information library, and further obtain the target proxy server address of the target CDN RS.

[0065] For example, the migration rule of the present embodiment can be configured based on at least one of the performance parameter requirements of the service, the load requirements at the time of migration, the cost requirements, etc., which are not limited here.

[0066] If the source CDN RS detects and determines that the current client does not agree to migrate the traffic of the requested service, the source CDN RS can directly return the service data corresponding to the service access request to the source proxy server at this time.

[0067] S303, if the source CDN RS determines to migrate the service traffic corresponding to the domain name, the source proxy server receives the address of the target proxy server returned by the source CDN RS;

[0068] S304, the source proxy server receives the first service data returned by the source CDN RS;

[0069] The technical solution of the embodiment can support application scenarios such as live broadcast, on-demand, and file download. A user can obtain a streaming service data response after making a service request. For example, when a user requests live broadcast or download, the user can first obtain initial playing or downloading service data, that is, the first service data of the embodiment.

[0070] Steps S303 and S304 can have no sequential relationship and can be executed simultaneously.

[0071] S305, the source proxy server sends a protocol stack migration request to the target proxy server based on the address of the target proxy server, the protocol stack migration request carrying connection information between the current source proxy server and the client and data information to be migrated, to instruct the target proxy server to restore the protocol stack of the connection between the target proxy server and the client, and based on the data information to be migrated, to make a service request to the target CDN RS;

[0072] The connection information between the source proxy server and the client of the embodiment can include QUIC connection information between the source proxy server and the client. The QUIC connection information can include a connection ID, a PN, encryption, and flow information.

[0073] The data information to be migrated can include a uniform resource locator (URL) corresponding to the service access request and cutoff position information of the service data already provided by the source CDN RS. The cutoff position information can be in any form such as time or size, and can only identify the cutoff position of the service data already provided by the source CDN RS.

[0074] The QUIC connection information between the source proxy server and the client and the data information to be migrated can be collectively referred to as a connection migration data structure. Based on the connection migration data structure, the QUIC connection information of the service request can be accurately restored on the target proxy server side, and the service request of the client to the target CDN RS can be restored.

[0075] Since the purpose of the embodiment is to implement migration of the server, in order to ensure smooth migration of the service traffic, it is necessary to restore the protocol stack with the client in advance on the target proxy server side to be migrated, so as to quickly respond to service data after subsequent connection with the client is established. At the same time, the target proxy server also needs to make a service request to the target CDN RS based on the data information to be migrated, which can inform the target CDN RS of the data location of the service data already provided by the source CDN RS, and the target CDN RS can only provide the service data after the data location. Of course, the target proxy server makes a service request to the target CDN RS based on the data information to be migrated, which is also a preparation operation, and the client has not established a connection with the target proxy server at this time.

[0076] S306, the source proxy server returns the address of the target proxy server to the client, so that the client establishes a service connection with the target proxy server based on the address of the target proxy server, and the target CDN RS continues to provide service data for the service access request of the client;

[0077] In the embodiment, steps S305 and S306 are two aspects of step S103 of the above-described Figure 1

[0078] That is, when the source proxy server performs traffic migration, on the one hand, the target proxy server on the target CDN RS side can establish QUIC connection information with the client in advance, and on the other hand, based on the data information to be migrated, the target proxy server can complete the reverse proxy of the target CDN RS to provide accurate service for the client. The preparation work is done. On the other hand, the source proxy server also returns the address of the target proxy server to the client, so that the client establishes a service connection with the target proxy server based on the address of the target proxy server. By adopting the above two aspects, the accurate execution of traffic migration can be effectively ensured.

[0079] For example, in the embodiment, the source proxy server can return a secure transport layer protocol (Transport Layer Security; TLS) response to the client, and the address of the target proxy server is returned to the client as a preferred_address parameter in the TLS response; so that the client establishes a service connection with the target proxy server based on the address of the target proxy server, and the target CDN RS continues to provide service data for the service access request.

[0080] ​In this embodiment, the preferred_address parameter of the HTTP / 3 connection migration RFC protocol convention can be used, and details can be referred to RFC9000, section 9. By using this step, the address of the target proxy server can be accurately and efficiently transmitted to the client.

[0081] S307, the source proxy server returns the first service data to the client;

[0082] The client receives the TLS response of the source proxy server, which indicates that the TLS handshake is completed and the connection is established, and at this time, the first service data returned by the source proxy server can be received through the established connection.

[0083] In the above scheme in this embodiment, even when the source CDN RS determines to migrate the service traffic corresponding to the domain name, the first service data is returned to the source proxy server, and the first service data is returned to the client by the source proxy server to respond to the service access request. This is because the source proxy server sends a protocol stack migration request to the target proxy server, and the target proxy server needs time to recover the protocol stack and make a service request to the target CDN RS; and the source proxy server returns the address of the target proxy server to the client, and the client needs time to establish a service connection with the target proxy server based on the address of the target proxy server. Therefore, the service can be provided to the user based on the first service data of the source CDN RS. Then, after the target proxy server recovers the protocol stack, and the target proxy server makes a reverse proxy request to the target CDN RS based on the to-be-migrated data information, and the client establishes a connection with the target proxy server, it is considered that the migration connection is established, and the target CDN RS provides service to the client through the target proxy server. In this way, smooth migration of traffic can be achieved, and the situation of too large delay and poor user experience when directly using the migrated target CDN RS to provide service can be avoided.

[0084] Of course, in actual application, the source proxy server can not return the first service data to the client, and in this case, the data position in the to-be-migrated data information is the start position of the service data. That is, all the service data is migrated to be provided by the target CDN RS, but this processing mode will have a long delay.

[0085] The traffic migration method of this embodiment can make up for the shortcomings of the prior art, provide a traffic smooth migration that can support server address change. And it can effectively ensure the stability and reliability of the service during the migration process; at the same time, the entire traffic migration process is not perceived by the user, which not only effectively ensures the service quality, but also effectively improves the user's experience, and has very strong practicality.

[0086] Figure 4 is a schematic diagram according to a third embodiment of the present disclosure; the embodiment provides a traffic migration method applied at a client side, which can specifically include the following steps:

[0087] S401, sending a service access request carrying a domain name to a source proxy server;

[0088] In an HTTP / 3 scenario, this step is equivalent to an HTTP / 3 handshake connection.

[0089] S402, receiving an address of a target proxy server returned by the source proxy server, the target proxy server being determined by the source CDN RS when determining the service traffic corresponding to the domain name to be migrated, and the target CDN RS corresponding to the proxy server to be migrated to;

[0090] S403, establishing a service connection with the target proxy server based on the address of the target proxy server, so as to continue to provide service data of the service access request by the target CDN RS.

[0091] In actual application, the client can send a service access request carrying a domain name to a source proxy server based on the result of domain name resolution. The source proxy server can resolve the domain name and locate the corresponding source CDN RS to perform reverse proxy to the source CDN RS to obtain service data corresponding to the service access request. The source CDN RS can detect whether the service traffic corresponding to the domain name needs to be migrated at this time; if so, query and obtain a target CDN RS to be migrated to, and further obtain an address of a target proxy server corresponding to the target CDN RS; and return the address to the target proxy server. The above process can refer to the description of the related embodiments above, and will not be repeated here.

[0092] Through the step S403, the client can establish a service connection with the target proxy server, so as to smoothly migrate the traffic for providing service to the client from the source CDN RS to the target CDN RS.

[0093] The embodiment is different from the above Figure 1 The embodiment is different from the above Figure 1 The technical solution of the present disclosure is described at the source CDN RS side. The technical solution of the present disclosure is described at the client side in the embodiment, the specific implementation principles are the same, and the details can refer to the description of the above Figure 1 The embodiment is different from the above

[0094] The traffic migration method of the embodiment can make up for the deficiencies of the prior art, provide a technical solution capable of realizing smooth traffic migration when a server changes. The stability and reliability of service during migration can be effectively ensured. The entire traffic migration process is not perceived by users, which can effectively ensure service quality and improve user experience, and has high practicality.

[0095] Figure 5 is a schematic diagram according to the fourth embodiment of the present disclosure; the embodiment provides a traffic migration method, which is based on the above Figure 1 The technical solution of the embodiment is further described in more detail. As shown in the embodiment, the traffic migration method of the embodiment can specifically include the following steps: Figure 3

[0096] S501, the client sends a service access request carrying a domain name to a source proxy server;

[0097] The processing performed by the source proxy server after receiving the service access request of the domain name can refer to the description of the above Figure 3 embodiment, and will not be described here again.

[0098] S502, the client receives a TLS response returned by the source proxy server, and the address of the target proxy server is taken as a preferred_address parameter in the TLS response;

[0099] Specifically, the TLS response is received by the protocol stack on the client side, and the user on the client side has no perception. In this way, the address of the target proxy server can be accurately and efficiently transmitted to the client side.

[0100] S503, the client receives first service data returned by the source proxy server; the first service data is a response of the source CDN RS based on the service access request;

[0101] S504, the client sends a path verification message to the target proxy server based on the address of the target proxy server;

[0102] For example, the client can specifically send a PATH_CHALLENGE message to the target proxy server based on the address of the target proxy server. Specifically, the PATH_CHALLENGE message is automatically sent by the protocol stack in the client according to the received preferred_address parameter. However, the user of the client has no perception.

[0103] ​S505, the client receives a path verification response message returned by the target proxy server; the path verification response message is returned by the target proxy server based on the protocol stack information of the connection previously recovered between the current client;

[0104] For example, the client can specifically receive a PATH_RESPONSE message returned by the target proxy server. Specifically, the transmission of the PATH_CHALLENGE message and the PATH_RESPONSE message can be implemented based on the RFC protocol of HTTP / 3, and the accurate and efficient establishment of the migration connection can be implemented.

[0105] The protocol stack information previously recovered by the target proxy server based on the connection between the current client can include connection information between the source proxy server and the client, such as QUIC connection information between the source proxy server and the client, which can include connection ID, PN, encryption, flow information, etc. In this embodiment, the protocol stack is previously recovered, which is equivalent to creating a protocol stack for establishing business access with the client on the target proxy server side. In this way, since the target proxy server has previously recovered the protocol stack information of the connection between the current client, it can quickly respond and ensure the stability of the business traffic switching.

[0106] S506, the client disconnects the connection between the client and the source proxy server;

[0107] Based on the above step S505, the client can determine that the migration connection between the client and the target proxy server is established, at which time the client can disconnect the connection with the source proxy server, and subsequently acquire the business data provided by the target CDN RS through the connection with the target proxy server, to realize the migration of the traffic. In this way, the accurate migration of the traffic can be effectively ensured, and the accuracy of the business service can also be effectively ensured.

[0108] S507, the client receives second business data returned by the target proxy server, the second business data being provided by the target CDN RS based on the data information to be migrated of the client previously sent by the target proxy server.

[0109] Since the target proxy server has previously requested the business data from the target CDN RS, and also informed the data information to be migrated, the target proxy server can quickly respond to the business data when the connection with the client is established, to ensure the stability of the business traffic switching.

[0110] The data information to be migrated can include a URL corresponding to the service access request and the end position information of the service data provided by the source CDN RS. That is, the first service data is the service data before the end position information provided by the source CDN RS based on the URL, and the second service data is the service data after the end position information provided by the target CDN RS based on the URL. Together, they constitute the complete service data of the service access request.

[0111] The embodiment is different from the above-mentioned Figure 3 The embodiment is different from the above-mentioned Figure 3 The technical solution of the present disclosure is described on the source CDN RS side. The present embodiment describes the technical solution of the present disclosure on the client side, and the specific implementation principle is the same. For details, please refer to the description of the above-mentioned Figure 3 The embodiment is different from the above-mentioned

[0112] The technical solution of the above-mentioned embodiment of the present disclosure can be applied in live streaming, on-demand, file download and other application scenarios. It can flexibly realize traffic migration based on server changes, efficiently realize smooth migration of traffic under the premise of effectively guaranteeing service quality, and has very strong practicality.

[0113] For example, the above-mentioned scheme of the present disclosure belongs to a general server connection seamless migration technology of HTTP / 3, which can be applied in cost reduction applications of traffic service scenarios, and can support live streaming, on-demand, download, short video and other services by migrating traffic from the center CDN RS to the edge CDN RS. Of course, it can also be applied to connection live migration, upgrade, load scheduling, connection fault tolerance scenarios in other scenarios, and has very wide application range, strong universality and practicality.

[0114] The technical solution of the present disclosure can be applied in the scenario of HTTP / 3, and can use the QUIC connection of HTTP / 3 to resist 20-30% packet loss characteristics. Compared with HTTP / 2, it can overcome the problems of packet loss and large jitter of edge CDN RS, and improve the service quality.

[0115] Moreover, when the technical solution of the present disclosure is implemented, the well-known port of the source CDN RS, such as 443 and 80, can be connected, and then hot migrated to the target CDN RS. The target CDN RS does not need to use the well-known port, which can effectively reduce the port opening requirements of the target CDN RS.

[0116] Figure 6 is a schematic diagram according to the fifth embodiment of the present disclosure; as Figure 6 The present embodiment provides a source proxy server 600, which comprises:

[0117] The service request module 601 is configured to perform a service request to a corresponding source content distribution network real server based on the received service access request of the client carrying the domain name.

[0118] The receiving module 602 is configured to receive an address of a target proxy server returned by the source content distribution network real server if the source content distribution network real server determines to migrate the service traffic corresponding to the domain name.

[0119] The migration module 603 is configured to migrate the traffic corresponding to the service access request of the client to the target proxy server based on the address of the target proxy server, so as to continue to provide the service data of the service access request of the client by the target content distribution network real server.

[0120] The source proxy server 600 of the embodiment is implemented by using the above modules to achieve the implementation principle and technical effects of traffic migration, and the implementation is the same as that of the above related method embodiments. For details, refer to the description of the above related method embodiments, which will not be repeated here.

[0121] Further optionally, in an embodiment of the present disclosure, the migration module 603 is configured to:

[0122] send a protocol stack migration request to the target proxy server based on the address of the target proxy server, the protocol stack migration request carrying the connection information between the current source proxy server and the client and the data information to be migrated, so as to instruct the target proxy server to restore the protocol stack of the connection between the target proxy server and the client, and perform a service request to the target content distribution network real server based on the data information to be migrated;

[0123] return the address of the target proxy server to the client, so that the client establishes a service connection with the target proxy server based on the address of the target proxy server, so as to continue to provide the service data of the service access request of the client by the target content distribution network real server

[0124] Further optionally, in an embodiment of the present disclosure, the migration module 603 is configured to return a secure transmission layer protocol response to the client, and return the address of the target proxy server as a preferred_address parameter in the secure transmission layer protocol response to the client.

[0125] Further optionally, in an embodiment of the present disclosure, the connection information between the source proxy server and the client comprises: connection information of a quick user datagram protocol network connection between the source proxy server and the client; and / or

[0126] The data information to be migrated comprises a uniform resource locator corresponding to the service access request and location information of service data provided by the source content distribution network real server.

[0127] Further optionally, in an embodiment of the present disclosure, the source proxy server 600 can further comprise a sending module;

[0128] The receiving module 602 is further configured to receive first service data returned by the source content distribution network real server;

[0129] The sending module is configured to return the first service data to the client.

[0130] The source proxy server 600 of the above embodiment achieves the same implementation principle and technical effect of traffic migration as the above related method embodiments by using the above modules, and details can be referred to the description of the above related method embodiments, which will not be repeated here.

[0131] Figure 7 is a schematic diagram according to the sixth embodiment of the present disclosure; as Figure 7 shown, the present embodiment provides a client 700, comprising:

[0132] The sending module 701 is configured to send a service access request carrying a domain name to a source proxy server;

[0133] The receiving module 702 is configured to receive an address of a target proxy server returned by the source proxy server, wherein the target proxy server is a proxy server corresponding to a target content distribution network real server determined by the source content distribution network real server to migrate service traffic corresponding to the domain name;

[0134] The connection establishment module 703 is configured to establish a service connection with the target proxy server based on the address of the target proxy server, so as to continue to provide service data of the service access request by the target content distribution network real server.

[0135] The client 700 of the present embodiment achieves the same implementation principle and technical effect of traffic migration as the above related method embodiments by using the above modules, and details can be referred to the description of the above related method embodiments, which will not be repeated here.

[0136] Further optionally, in an embodiment of the present disclosure, the receiving module 702 is configured to:

[0137] receiving a secure transport layer protocol response returned by the source proxy server, wherein an address of the target proxy server is taken as a preferred_address parameter in the secure transport layer protocol response.

[0138] Further optionally, in an embodiment of the present disclosure, the receiving module 702 is further configured to receive first service data returned by the source proxy server; the first service data is a response of the source content distribution network real server based on the service access request.

[0139] Further optionally, in an embodiment of the present disclosure, the connection establishing module 703 is configured to:

[0140] sending a path verification message to the target proxy server based on the address of the target proxy server;

[0141] receiving a response message of the path verification returned by the target proxy server; the response message of the path verification is returned by the target proxy server based on the protocol stack information of the connection between the target proxy server and the current client which is recovered in advance.

[0142] Further optionally, in an embodiment of the present disclosure, the client 700 further comprises:

[0143] a disconnection processing module configured to disconnect the connection between the client and the source proxy server;

[0144] The receiving module 702 is further configured to receive second service data returned by the target proxy server, wherein the second service data is provided by the target content distribution network real server based on the data information to be migrated of the client sent in advance by the target proxy server.

[0145] Further optionally, in an embodiment of the present disclosure, the connection establishing module 703 is configured to send a PATH_CHALLENGE message to the target proxy server based on the address of the target proxy server.

[0146] The connection establishing module 703 is configured to receive a PATH_RESPONSE message returned by the target proxy server.

[0147] Further optionally, in an embodiment of the present disclosure, the connection information between the source proxy server and the client comprises: connection information of a quick user datagram protocol network connection between the source proxy server and the client; and / or

[0148] The data information to be migrated includes the Uniform Resource Locator (URL) corresponding to the service access request and the location information of the service data already provided by the source content delivery network's real server.

[0149] The client 700 in the above embodiment achieves the same implementation principle and technical effect of traffic migration by using the above module as the related method embodiment. For details, please refer to the description of the related method embodiment, which will not be repeated here.

[0150] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0151] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0152] Figure 8 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0153] like Figure 8 As shown, device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 802 or a computer program loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.

[0154] Multiple components in device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of monitors, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0155] The computing unit 801 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs various methods and processes described above, such as the above-described methods of the present disclosure. For example, in some embodiments, the above-described methods of the present disclosure can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed onto the device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded onto the RAM 803 and executed by the computing unit 801, one or more steps of the above-described methods of the present disclosure described above can be performed. Alternatively, in other embodiments, the computing unit 801 can be configured to perform the above-described methods of the present disclosure by any other suitable means, such as by means of firmware.

[0156] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a complex programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0157] Program code for carrying out methods of the present disclosure can be written in any combination of one or more programming languages. The program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces a means for implementing the functions / acts specified in the flowcharts and / or block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine and partially on a remote machine or entirely on a remote machine or server.

[0158] In the context of this disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0159] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0160] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

[0161] The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0162] It should be understood that the various forms of flow shown above can be used to reorder, add, or remove steps. For example, the steps described in the present disclosure can be performed in parallel, in series, or in a different order, without limitation herein, so long as the desired results of the technology described in the present disclosure are achieved.

[0163] The specific implementation described above does not constitute a limitation on the protection scope of the present disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent replacements, and improvements made within the spirit and principles of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A traffic migration method, comprising: Based on the received business access request carrying the domain name from the client, the business request is sent to the corresponding source content distribution network real server. If the source content delivery network real server determines that the business traffic corresponding to the domain name needs to be migrated, it receives the address of the target proxy server returned by the source content delivery network real server; The target proxy server is the proxy server corresponding to the target content delivery network real server to which the source content delivery network real server is determined. Based on the address of the target proxy server, the traffic corresponding to the client's service access request is migrated to the target proxy server, so that the target content delivery network real server can continue to provide the client with the service data for the service access request.

2. The method according to claim 1, wherein, Based on the address of the target proxy server, the traffic corresponding to the client's service access request is migrated to the target proxy server, so that the target content delivery network's real server can continue to provide the client with the service data for the service access request, including: Based on the address of the target proxy server, a protocol stack migration request is sent to the target proxy server. The protocol stack migration request carries the connection information between the current source proxy server and the client, as well as the data information to be migrated, so as to instruct the target proxy server to restore the protocol stack of the connection with the client, and to make a service request to the target content delivery network real server based on the data information to be migrated. The address of the target proxy server is returned to the client so that the client can establish a business connection with the target proxy server based on the address of the target proxy server, so that the target content delivery network real server can continue to provide the client with the business data for the business access request.

3. The method according to claim 2, wherein, Returning the address of the target proxy server to the client includes: A Secure Transport Layer Protocol (STP) response is returned to the client, in which the address of the target proxy server is returned to the client as the preferred_address parameter.

4. The method according to claim 2, wherein, The connection information between the source proxy server and the client includes: connection information of the Fast User Datagram Protocol (HTP) network connection between the source proxy server and the client; and / or The data information to be migrated includes the Uniform Resource Locator (URL) corresponding to the service access request and the location information of the service data already provided by the source content delivery network's real server.

5. The method according to any one of claims 1-4, wherein, Based on the received business access request carrying the domain name from the client, after making a business request to the corresponding source content delivery network real server, the method further includes: Receive the first service data returned by the real server of the source content delivery network; The first service data is returned to the client.

6. A traffic migration method, comprising: Send a business access request carrying the domain name to the source proxy server; Receive the address of the target proxy server returned by the source proxy server. The target proxy server is the proxy server corresponding to the target content delivery network real server to which the business traffic corresponding to the domain name is determined to be migrated when the source content delivery network real server determines that it is to migrate. The address of the target proxy server is the one returned to the source proxy server by the source content delivery network real server; Based on the address of the target proxy server, a service connection is established with the target proxy server so that the target content delivery network real server continues to provide the service data for the service access request.

7. The method according to claim 6, wherein, Receive the address of the target proxy server returned by the source proxy server, including: Receive a Secure Transport Layer Protocol (STP) response returned by the source proxy server, wherein the address of the target proxy server is used as the preferred_address parameter in the STP response.

8. The method according to claim 6, wherein, After sending a business access request carrying the domain name to the source proxy server, the method further includes: Receive the first service data returned by the source proxy server; the first service data is the response of the source content delivery network real server based on the service access request.

9. The method according to any one of claims 6-8, wherein, Based on the address of the target proxy server, a service connection is established with the target proxy server so that the target content delivery network's real server continues to provide the service data for the service access request, including: Based on the address of the target proxy server, a path verification message is sent to the target proxy server; Receive a path verification response message returned by the target proxy server; the path verification response message is returned by the target proxy server based on the protocol stack information of the pre-restored connection with the current client; The method further includes: Disconnect from the source proxy server; The target proxy server receives second service data, which is provided by the target content delivery network real server based on the client's data to be migrated that was previously sent by the target proxy server.

10. The method according to claim 9, wherein, Based on the address of the target proxy server, a path verification message is sent to the target proxy server, including: Based on the address of the target proxy server, send a PATH_CHALLENGE message to the target proxy server; Receive the path verification response message returned by the target proxy server, including: Receive the PATH_RESPONSE message returned by the target proxy server.

11. The method according to claim 9, wherein, The connection information between the source proxy server and the client includes: connection information of the Fast User Datagram Protocol (HTP) network connection between the source proxy server and the client; and / or The data information to be migrated includes the Uniform Resource Locator (URL) corresponding to the service access request and the location information of the service data already provided by the source content delivery network's real server.

12. A source proxy server, comprising: The business request module is used to send business requests to the corresponding source content distribution network real server based on the business access requests carrying the domain name received from the client. The receiving module is configured to receive the address of the target proxy server returned by the source content delivery network real server when the source content delivery network real server determines that the business traffic corresponding to the domain name needs to be migrated. The target proxy server is the proxy server corresponding to the target content delivery network real server to which the source content delivery network real server is determined. The migration module is used to migrate the traffic corresponding to the client's service access request to the target proxy server based on the address of the target proxy server, so that the target content delivery network real server can continue to provide the client with the service data of the service access request.

13. The source proxy server according to claim 12, wherein, The migration module is used for: Based on the address of the target proxy server, a protocol stack migration request is sent to the target proxy server. The protocol stack migration request carries the connection information between the current source proxy server and the client, as well as the data information to be migrated, so as to instruct the target proxy server to restore the protocol stack of the connection with the client, and to make a service request to the target content delivery network real server based on the data information to be migrated. The address of the target proxy server is returned to the client so that the client can establish a business connection with the target proxy server based on the address of the target proxy server, so that the target content delivery network real server can continue to provide the client with the business data for the business access request.

14. The source proxy server according to claim 13, wherein, The migration module is used for: A Secure Transport Layer Protocol (STP) response is returned to the client, in which the address of the target proxy server is returned to the client as the preferred_address parameter.

15. The source proxy server according to claim 13, wherein, The connection information between the source proxy server and the client includes: connection information of the Fast User Datagram Protocol (HTP) network connection between the source proxy server and the client; and / or The data information to be migrated includes the Uniform Resource Locator (URL) corresponding to the service access request and the location information of the service data already provided by the source content delivery network's real server.

16. The source proxy server according to any one of claims 12-15, wherein, It also includes a sending module; The receiving module is also used to receive the first service data returned by the real server of the source content delivery network; The sending module is used to return the first service data to the client.

17. A client, comprising: The sending module is used to send business access requests carrying the domain name to the source proxy server; The receiving module is used to receive the address of the target proxy server returned by the source proxy server. The target proxy server is the proxy server corresponding to the target content delivery network real server to which the source content delivery network real server determines to migrate the business traffic corresponding to the domain name. The address of the target proxy server is the one returned to the source proxy server by the source content delivery network real server; The connection establishment module is used to establish a business connection with the target proxy server based on the address of the target proxy server, so that the target content delivery network real server can continue to provide the business data of the business access request.

18. The client according to claim 17, wherein, The receiving module is used for: Receive a Secure Transport Layer Protocol (STP) response returned by the source proxy server, wherein the address of the target proxy server is used as the preferred_address parameter in the STP response.

19. The client according to claim 17, wherein: The receiving module is further configured to receive first service data returned by the source proxy server; the first service data is the response of the source content delivery network real server based on the service access request.

20. The client according to any one of claims 17-19, wherein, The connection establishment module is used for: Based on the address of the target proxy server, a path verification message is sent to the target proxy server; Receive a path verification response message returned by the target proxy server; the path verification response message is returned by the target proxy server based on the protocol stack information of the pre-restored connection with the current client; The client also includes: The disconnection processing module is used to disconnect the connection with the source proxy server; The receiving module is further configured to receive second service data returned by the target proxy server, the second service data being provided by the target content delivery network real server based on the client's data information to be migrated that was pre-sent by the target proxy server.

21. The client according to claim 20, wherein, The connection establishment module is used to send a PATH_CHALLENGE message to the target proxy server based on the address of the target proxy server; The connection establishment module is used to receive the PATH_RESPONSE message returned by the target proxy server.

22. The client according to claim 20, wherein, The connection information between the source proxy server and the client includes: connection information of the Fast User Datagram Protocol (HTP) network connection between the source proxy server and the client; and / or The data information to be migrated includes the Uniform Resource Locator (URL) corresponding to the service access request and the location information of the service data already provided by the source content delivery network's real server.

23. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-4.

24. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-5 or 6-11.

25. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-5 or 6-11.

Citation Information

Patent Citations

  • CDN server switching method, mobile terminal and computer readable storage medium

    CN108563499A

  • Reverse connection method and device and server system

    CN111726400A