Data Processing Method, Apparatus, System, Computer Device, and Storage Medium

By negotiating and determining the second migration server in a multi-server cluster environment and sending redirect information to the original server, the problem that the traditional request migration mechanism depends on the original server performance is solved, and efficient data processing and rapid response are achieved.

CN118612223BActive Publication Date: 2025-07-01TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410211386.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-02-26
Publication Date
2025-07-01
Estimated Expiration
2044-02-26

AI Technical Summary

Technical Problem

In a multi-server cluster environment, the traditional request migration mechanism relies on the performance of the original server, resulting in low data processing efficiency, especially in the case of multiple request migrations.

Method used

By negotiating between the first migration server and the original server, a second migration server that meets the message response condition is determined, and redirecting information is sent to the original server, instructing the terminal to redirect the message to the second migration server.

Benefits of technology

A distributed migration processing method is realized, which reduces the time loss of multiple migration processes, improves data processing efficiency, and ensures that the terminal quickly obtains the required data resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118612223B_ABST
    Figure CN118612223B_ABST
Patent Text Reader

Abstract

The present application relates to a data processing method, apparatus, system, computer device, storage medium, and computer program product. The method includes: an original server receives a first data request message sent by a terminal and redirects the first data request message to a first migration server; the first migration server feeds back a first response message to the terminal; the original server receives a second data request message sent by the terminal and redirects the second data request message to the first migration server; when the first migration server meets the message migration condition, the first migration server sends a migration request to a second migration server that meets the message response condition, and when receiving confirmation information fed back by the second migration server based on the migration request, the first migration server sends redirection information to the original server for instructing the original server to redirect the message sent by the terminal to the second migration server. By adopting the above method, the data processing efficiency can be improved.
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 processing method, apparatus, computer device, computer-readable storage medium, and computer program product. Background Art

[0002] With the rapid development of computer technology, server clusters including multiple servers have emerged. A terminal can establish a connection with a server in the server cluster to obtain the required data resources. The server connected by the terminal is called the original server. If the original server cannot feedback the corresponding data resources, the data request can be migrated to another server in the server cluster, and the other server responds to the user's needs.

[0003] In traditional technologies, if request migration is required, the original server selects the migration server. For the case where multiple requests all need to be migrated, if traditional technologies are used for request migration, the response speed of user needs will be severely dependent on the performance of the original server, and there is a problem of low data processing efficiency. Summary of the Invention

[0004] Based on this, in view of the above technical problems, it is necessary to provide a data processing method, apparatus, system, computer device, computer-readable storage medium, and computer program product that can improve data processing efficiency.

[0005] In a first aspect, this application provides a data processing method, which is applied to a first migration server, and the method includes:

[0006] Respond to the first data request message carried in the first redirect message sent by the original server, and feedback a first response message to the terminal that sent the first data request message;

[0007] Receive a second redirect message sent by the original server and containing a second data request message; the second data request message is sent by the terminal to the original server after receiving the first response message;

[0008] If the first migration server meets the message migration condition, send a migration request for the second data request message to a second migration server that meets the message response condition;

[0009] In the case of receiving the confirmation information feedback by the second migration server based on the migration request, send redirect information to the original server; the redirect information is used to instruct the original server to redirect the message sent by the terminal to the second migration server.

[0010] Second aspect, the present application provides a data processing method, which is applied to an original server. The method includes:

[0011] Receiving a first data request message sent by a terminal, and sending a first redirect message containing the first data request message to a first migration server;

[0012] Receiving a second data request message sent by the terminal; the second data request message is sent by the terminal when receiving a first response message; the first response message is fed back by the first migration server to the terminal based on the first data request message;

[0013] Sending a second redirect message containing the second data request message to the first migration server;

[0014] When the first migration server meets the message migration condition, receiving redirect information for the second data request message; the redirect information is sent by the first migration server when receiving confirmation information fed back by a second migration server based on a migration request; the redirect information is used to instruct the original server to redirect the message sent by the terminal to the second migration server; the second migration server meets the message response condition.

[0015] Third aspect, the present application further provides a data processing system, which includes an original server, a first migration server and a second migration server;

[0016] The original server receives a first data request message sent by a terminal, and sends a first redirect message containing the first data request message to the first migration server;

[0017] The first migration server feeds back a first response message of the first data request message to the terminal;

[0018] The original server receives the second data request message sent by the terminal, and sends a second redirect message containing the second data request message to the first migration server; the second data request message is sent by the terminal when receiving the first response message;

[0019] When the first migration server meets its own message migration condition, sending a migration request for the second data request message to a second migration server that meets the message response condition;

[0020] When the first migration server receives the confirmation information fed back by the second migration server based on the migration request, it sends redirection information to the original server; the redirection information is used to instruct the original server to redirect the packets sent by the terminal to the second migration server.

[0021] Fourthly, the present application also provides a data processing device, which is applied to the first migration server. The device includes:

[0022] A response packet feedback module, configured to respond to the first data request packet carried in the first redirection packet sent by the original server, and feedback a first response packet to the terminal that sent the first data request packet;

[0023] A redirection packet receiving module, configured to receive a second redirection packet sent by the original server and containing a second data request packet; the second data request packet is sent by the terminal to the original server after receiving the first response packet;

[0024] A migration module, configured to send a migration request for the second data request packet to a second migration server that meets the packet response condition if the first migration server meets the packet migration condition;

[0025] A redirection information sending module, configured to send redirection information to the original server when receiving the confirmation information fed back by the second migration server based on the migration request; the redirection information is used to instruct the original server to redirect the packets sent by the terminal to the second migration server.

[0026] Fifthly, the present application also provides a data processing device, which is applied to the original server. The device includes:

[0027] A data request packet receiving module, configured to receive a first data request packet sent by a terminal;

[0028] A redirection packet sending module, configured to send a first redirection packet containing the first data request packet to the first migration server;

[0029] The data request packet receiving module is further configured to receive a second data request packet sent by the terminal; the second data request packet is sent by the terminal after receiving a first response packet; the first response packet is fed back by the first migration server to the terminal based on the first data request packet;

[0030] The redirection packet sending module is further configured to send a second redirection packet containing the second data request packet to the first migration server;

[0031] A redirect information receiving module, configured to receive redirect information for the second data request message when the first migration server meets the message migration condition; the redirect information is sent by the first migration server when receiving confirmation information fed back by the second migration server based on a migration request; the redirect information is used to instruct the original server to redirect the message sent by the terminal to the second migration server; the second migration server meets the message response condition.

[0032] In a sixth aspect, the present application further provides a computer device. The computer device includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the above method are implemented.

[0033] In a seventh aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the above method are implemented.

[0034] In an eighth aspect, the present application further provides a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, the steps of the above method are implemented.

[0035] In the above data processing method, system, device, computer equipment, computer-readable storage medium, and computer program product, the original server receives a first data request message sent by a terminal and sends a first redirect message containing the first data request message to a first migration server; the first migration server feeds back a first response message of the first data request message to the terminal; the original server receives a second data request message sent by the terminal and sends a second redirect message containing the second data request message to the first migration server; when the first migration server meets the message migration condition, it sends a migration request for the second data request message to a second migration server that meets the message response condition; when the first migration server receives the confirmation information fed back by the second migration server based on the migration request, it sends redirect information to the original server; the redirect information is used to instruct the original server to redirect the message sent by the terminal to the second migration server. In the above data processing process, the first migration server that responds to the previous data request message determines the second migration server that responds to the current data request message, negotiates with the second migration server by sending a migration request, and when obtaining the confirmation information fed back by the second migration server, it sends relocation information to the original server to instruct the original server to redirect the message sent by the terminal to the second migration server. Compared with the traditional technology where the original server performs centralized migration processing, this is a distributed migration processing method, which can reduce the time loss in the multiple migration processes and is beneficial to improving the data processing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Figure 1 FIG. is an application environment diagram of the data processing method in an embodiment;

[0037] Figure 2 FIG. is a schematic diagram of the data processing interaction process in an embodiment;

[0038] Figure 3 FIG. is a schematic flowchart of the data processing method in an embodiment;

[0039] Figure 4 FIG. is a schematic diagram of the redirection process in an embodiment;

[0040] Figure 5 FIG. is a schematic diagram of the interaction process between the content scheduling center and the server in an embodiment;

[0041] Figure 6 FIG. is a schematic diagram of the content scheduling information in an embodiment;

[0042] Figure 7 FIG. is a schematic diagram of the migration negotiation process in an embodiment;

[0043] Figure 8Schematic flowchart of a data processing method in another embodiment;

[0044] Figure 9 Schematic diagram of a data processing interaction process in another embodiment;

[0045] Figure 10 Schematic diagram of a migration method based on two - end negotiation in an embodiment;

[0046] Figure 11 Schematic diagram of a server single - end migration method in an embodiment;

[0047] Figure 12 Schematic flowchart of a data processing method in yet another embodiment;

[0048] Figure 13 Structural block diagram of a data processing device in an embodiment;

[0049] Figure 14 Structural block diagram of a data processing device in another embodiment;

[0050] Figure 15 Internal structure diagram of a computer device in an embodiment. Detailed implementation manners

[0051] In order to make the objectives, technical solutions and advantages of the present application clearer and more understandable, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0052] The data processing method provided by the embodiments of the present application can be applied to an application environment as shown in Figure 1 Among them, the terminal 110 can communicate with the server cluster 120 through a network. The communication network can be a wired network or a wireless network. Therefore, the terminal 110 and the server cluster 120 can be directly or indirectly connected through wired or wireless communication means. For example, the terminal 110 can be indirectly connected to the server cluster 120 through a wireless access point, or the terminal 110 can be directly connected to the server cluster 120 through a Wide Area Network (WAN). The present application does not make any restrictions here. The wide area network can be, for example, the Internet.

[0053] Among them, the terminal 110 can be, but is not limited to, various desktop computers, laptop computers, smart phones, tablet computers, Internet of Things devices, and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, etc. The portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. The embodiments of the present application can be applied to multimedia data processing scenarios, and the data can be, for example, videos or audios, etc. A client related to data acquisition or data browsing can be installed on the terminal 110, and the client can be software (such as a browser, a video software, etc.), or a web page, a small program, etc. The server cluster 120 is a background server corresponding to the software, the web page, the small program, etc., or a server dedicated to data distribution services. Further, the server cluster 120 can be a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.

[0054] Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and networks within a wide area network or a local area network to achieve data computing, storage, processing, and sharing. Cloud technology is the general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model, and can form a resource pool, which can be used on demand, flexibly and conveniently. Cloud computing technology will become an important support. The background services of the technical network system require a large amount of computing and storage resources, such as video websites, picture websites, and more portal websites. With the highly developed application of the Internet industry, in the future, each item may have its own identification mark and needs to be transmitted to the background system for logical processing. Data at different levels will be processed separately, and various industry data requires a powerful system backup support, which can only be achieved through cloud computing.

[0055] It can be understood that in the application scenario of the present application, the number of terminals 110 can be multiple, that is, the server cluster 120 can respond to data requests from multiple terminals 110, and each terminal can be network-connected to each server in the server cluster 120 so that data interaction can be carried out between the terminal and the server.

[0056] Further, the server cluster 120 may include an original server 121, a first migration server 122, and a second migration server 123. Among them, the original server 121 is the object to which the request message of the terminal 110 is sent. That is, the terminal 110 sends a data request message to the original server 121 to obtain data resources. It can be understood that during the interaction between the terminal 110 and the server cluster 120, the terminal 110 will not perceive the request migration, but always sends a request message to the original server 121 to obtain data resources. In a specific implementation, the original server 121 may be the response server of the first data request message sent by the terminal 110. That is, after the terminal 110 sends the first data request message to the server cluster 120, the data request message will be distributed to the server (i.e., the original server 121) in the server cluster 120 that has the response ability for processing. The terminal 110 obtains the response message fed back by the original server 121. After that, the terminal 110 can initiate a new data request to the server cluster 120 by interacting with the original server 121. If the original server 121 can feed back the data resources requested by the new data request, the original server 121 continues to respond to the user's needs. If the original server 121 cannot feed back the data resources requested by the new data request, the data request can be migrated to another server in the server cluster 120, and the other server responds to the user's needs.

[0057] Such as Figure 2As shown, the present application is directed to a data processing scenario where there are at least two requests for migration. Among them, the solid line represents the interaction process of the first request for migration, and the dashed line represents the interaction process of the second request for migration. Specifically, the original server 121 receives the first data request message ① sent by the terminal 110, and sends a first redirect message ② containing the first data request message ① to the first migration server 122; the first migration server 122 feeds back a first response message ③ of the first data request message ① to the terminal 110; when the terminal 110 receives the first response message ③, it may send a second data request message ④ to the original server 121; the original server 121 sends a second redirect message ⑤ containing the second data request message ④ to the first migration server 122; when the first migration server 122 meets the message migration condition, it sends a migration request ⑥ for the second data request message ④ to the second migration server 123 that meets the message response condition, and when receiving the confirmation information ⑦ fed back by the second migration server 123 based on the migration request ⑥, it sends a redirect information ⑧ to the original server 121; the redirect information ⑧ is used to instruct the original server 121 to redirect the message sent by the terminal 110 to the second migration server 123. It can be understood that the second response message ⑨ of the second data request message ④ will be fed back by the second migration server 123 to the terminal 110. Thus far, the message sent by the terminal 110 to the original server 121 will be migrated to the second migration server 123 through redirection, and will no longer be migrated to the first migration server 122. If further request migrations are needed later, the second migration server 123 can be used as the new first migration server to complete the migration by executing the above data processing logic.

[0058] It should be understood that although terms such as first and second may be used in the present application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of the present application, the first data request message may also be referred to as the second data request message, and similarly, the second data request message may also be referred to as the first data request message.

[0059] That is to say, by adopting the solution of this application, in the case of multiple data requests and multiple request migrations, the first migration server that responds to the previous data request message determines the second migration server that responds to the current data request message, negotiates with the second migration server by sending a migration request, and when obtaining the confirmation information fed back by the second migration server, sends relocation information to the original server to instruct the original server to redirect the message sent by the terminal to the second migration server, which can achieve distributed migration processing, thereby reducing the time loss in the multiple migration processes, being beneficial to improving the data processing efficiency, and then being able to more quickly feedback the requested data resources to the terminal, enhancing the networking ability of the server cluster and the service experience of the terminal.

[0060] In one embodiment, as Figure 3 shown, a data processing method is provided. This method can be executed by a computer device, and the computer device can be Figure 1 the first migration server shown, including the following steps:

[0061] Step S302: Respond to the first data request message carried in the first redirect message sent by the original server, and feedback a first response message to the terminal that sent the first data request message.

[0062] Among them, the original server is the message sending object of the terminal. That is to say, for the terminal, it will not perceive the request migration, but always sends messages to the original server to realize the interaction between the terminal and the server cluster. In a specific implementation, the original server can be the response server of the first data request message sent by the terminal. That is, after the terminal sends the first data request message to the server cluster, the data request message will be distributed to the server (i.e., the original server) with response ability in the server cluster for processing. The terminal obtains the response message fed back by the original server. After that, the terminal can initiate a new data request to the server cluster by interacting with the original server. If the original server can feedback the data resources requested by the new data request, the original server continues to respond to the user's needs. If the original server cannot feedback the data resources requested by the new data request, the data request can be migrated to another server in the server cluster, and the other server responds to the user's needs.

[0063] A data request message refers to the message information sent by a terminal to an origin server to request and obtain data resources. This data request message can be obtained by encapsulating a data request based on a communication protocol, which can include, for example, the Transmission Control Protocol (TCP), the User Datagram Protocol (UDP), or the Quick UDP Internet Connection (QUIC), etc. A redirect message is the message information obtained after performing a redirect operation on the original message. That is, the redirect message carries the original message that has been redirected.

[0064] In a specific embodiment, the redirect operation of the message can be implemented by a redirector in the server. Specifically, the redirector can operate on the original message based on the five-tuple information of the message (denoted as five_tuple), where the five-tuple is the five basic attributes of a network data packet, including the source address (src), the destination address (dst), the source port (sport), the destination port (dport), and the protocol type (ptl_type). In network communication, each data packet contains these five attributes, which together constitute the unique identifier of the data packet. Further, the operations on the original message can include drop, receive, and redirect. "Receive" means that the server can meet the requirements of the message sender and feedback the corresponding response message. "Redirect" means that the server cannot meet the requirements of the message sender and needs to redirect the message to other servers for processing. It can be understood that the five-tuple information of the message can characterize the data flow direction of the message, and thus characterize the connection between the two parties of the interaction. Taking the data request message sent by the terminal to the origin server as an example, the source address of this data request message is the terminal address, the destination address is the origin server address, the source port is the port number of the terminal, the destination port is the port number of the origin server, and the protocol type is the communication protocol type. Among them, the port number and the communication protocol type need to be negotiated and determined by both parties before the terminal sends the first message to the origin server.

[0065] Optionally, the redirector can operate on the original message based on the configuration table shown in the following table. Among them, the five-tuple information can characterize the connection between the server where the redirector is located and other devices. Taking the connection between the origin server and the terminal as an example, each five-tuple information can respectively characterize the connection between the origin server and different terminals.

[0066]

[0067] A response message refers to the message information fed back to meet the requirements of the message sender. Specifically in this application, in the response message of a data request message, the data resource requested by the data request message is carried. This data resource may include at least one of video, audio, or text. Similar to the data request message, the response message can also be obtained by encapsulating the data request based on a communication protocol. In practical applications, the communication protocols of the data request message and the response message can be the same, so that the two parties of the interaction do not need to negotiate multiple communication protocols.

[0068] Specifically, the terminal can send a first data request message to the original server. In this first data request message, the resource identifier of the data resource requested by the terminal is carried. Here, the resource identifier refers to the identification information that can uniquely represent the data resource. This resource identifier can be, for example, a resource storage address or a URI (Uniform Resource Identifier), etc. The original server can determine whether it is necessary to migrate the request to other servers according to the actual situation. If no migration is required, a first response message corresponding to the first data request message is fed back to the terminal. It can be understood that the first data resource requested by the first data request message is carried in this first response message. If migration is required, the original server can determine the migration object of the first data request message from the server cluster, denoted as the first migration server, and send a first redirect message carrying the first data request message to this first migration server. Thus, the first migration server can respond to this first data request message and feed back a first response message to the terminal.

[0069] The specific method for determining whether request migration is required is not unique.

[0070] In a specific embodiment, the original server can extract the resource identifier from the first data request message and determine whether request migration is required based on this resource identifier. Specifically, if the original server can locally obtain the data resource represented by the resource identifier, no migration is performed; if the original server cannot locally obtain the data resource represented by the resource identifier, migration is required.

[0071] In a specific embodiment, the original server can also combine the resource identifier and the current load information to determine whether request migration is required. This load information can include, for example, CPU (Central Processing Unit) utilization rate, memory occupancy, traffic size, etc. For example, if the original server can locally obtain the data resource represented by the resource identifier and the current load is relatively low and can meet the message response requirements, no migration is performed. If the original server cannot locally obtain the data resource represented by the resource identifier, and / or the current load is relatively high and cannot meet the message response requirements, migration is required.

[0072] In a specific embodiment, the data processing method further includes: obtaining an acknowledgment message fed back by a terminal based on a first response message; and performing a packet loss repair operation on the first response message when it is determined based on the acknowledgment message that the first response message has experienced packet loss.

[0073] Among them, the acknowledgment message is received by the original server from the terminal and redirected to the first migration server. Specifically, after receiving the first response message, the terminal may feed back an acknowledgment message to the original server to declare the message information received or not received by the terminal. The acknowledgment message is redirected by the original server to the first migration server according to the redirection rule. Thus, the first migration server can determine whether the first response message has experienced packet loss based on the message information received or not received by the terminal. If the message information declared by the terminal as received is inconsistent with the message information actually sent by the first migration server through the first response message, or the terminal declares that it has not received all the requested data resources, the first migration server determines that there is a packet loss phenomenon and performs a packet loss repair operation on the first response message to retransmit the lost message.

[0074] In this embodiment, packet loss is judged according to the acknowledgment message fed back by the terminal, and packet loss repair is performed when packet loss occurs, which can ensure that the server can provide the data resources required by the terminal and improve the data processing effect.

[0075] Step S304: Receive a second redirection message sent by the original server and containing a second data request message.

[0076] Among them, the second data request message is sent by the terminal to the original server when the terminal receives the first response message. The second data request message is a new data request message different from the first data request message. It can be understood that during the interaction between the same terminal and the server cluster, as the interaction progresses, new data requirements may arise. Thus, when the terminal receives the first response message corresponding to the first data request message, it can request to obtain new data resources by sending a second data request message to the original server.

[0077] As described above, the original server can determine the operation for a message according to the five-tuple information of the message. The five-tuple information of the second data request message is the same as that of the first data request message. When the first data request message is redirected to the first migration server, the operation corresponding to the five-tuple information is redirection. Thus, the original server will encapsulate the second data request message into a second redirection message according to the same redirection rule as the first data request message and send it to the first migration server. In this case, the first migration server can receive the second redirection message sent by the original server and containing the second data request message.

[0078] Exemplarily, as Figure 4 shown, the terminal may send a second data request message (Pkt_req) to the original server. In the second data request message, the resource identifier of the data resource requested by the terminal is carried. The original server will encapsulate the second data request message into a second redirect message (Pkt_req_redirect) according to the same redirect rule as the first data request message, and send it to the first migration server. After obtaining the second redirect message, the first migration server identifies a new data request and determines whether migration is required.

[0079] Step S306, if the first migration server meets the message migration condition, it sends a migration request for the second data request message to the second migration server that meets the message response condition.

[0080] Among them, the first migration server meets the message migration condition, which may mean that the first migration server cannot obtain the data resource requested by the second data request message locally, or that the current load of the first migration server is too high to meet the message response requirement of the second data request message. The message response condition and the message migration condition may be mutually exclusive. That is, the second migration server meets the message response condition, which may mean that the second migration server can obtain the data resource requested by the second data request message locally, or that the second migration server can obtain the data resource requested by the second data request message locally, and the current load of the first migration server is low enough to meet the message response requirement of the second data request message.

[0081] The migration request is used for the first migration server and the second migration server to negotiate the migration operation for the second data request message. That is, the migration request carries the association information of the second data request message. The association information may include connection status information and application status information. Among them, the connection status information includes, but is not limited to, the terminal information of the terminal, the server information of the original server, the protocol type, the transport layer status information of the first migration server and the terminal respectively, the message number, and so on. The terminal information and the server information may both include the IP address, the port number, etc. The transport layer status information of the first migration server may include the send window value, the amount of data in transit, etc. The transport layer status information of the terminal may include the receive window value, the effective available bandwidth, etc. The application status information may include the resource identifier of the data resource requested by the second data request message, and may also include the key for user data encryption and decryption.

[0082] Specifically, when the first migration server receives the second redirect message, it can determine whether it meets the message migration condition according to the second data request message included in the second redirect message. If so, it determines a second migration server that meets the message response condition of the first data request message from each server in the server cluster, and sends a migration request for the second data request message to the second migration server.

[0083] Furthermore, the first migration server can determine a second migration server that meets the message response condition of the first data request message by obtaining the load information of each server in the server cluster and the resource identifier of the data resources that each server can provide; the first migration server can also directly obtain the server identifier of the second migration server that meets the message response condition of the first data request message, and then send a migration request for the second data request message to the second migration server. The server identifier can be determined by the content scheduling center in the server cluster.

[0084] Among them, the content scheduling center can be a separate server or located inside each server. In particular, as Figure 5 shown, the content scheduling center can periodically synchronize its own content scheduling information for selecting a migration server to each server in the server cluster. As Figure 6 shown, the content scheduling information can include, for example, the resource identifier, as well as the server information and load information of the server that can read the data resources represented by the resource identifier.

[0085] Step S308, when receiving the confirmation information fed back by the second migration server based on the migration request, send a redirect message to the original server.

[0086] Among them, the redirect message is used to instruct the original server to redirect the message sent by the terminal to the second migration server. The terminal refers to the initiating terminal of the second data request message. The message sent by the terminal can include all messages sent by the terminal to the original server after the original server receives the redirect message, and specifically can include data request messages, data confirmation messages, and so on.

[0087] Specifically, when receiving a migration request for the second data request message, the second migration server may agree to the migration or may not agree to the migration. In the case of agreeing to the migration, the second migration server may send a confirmation message to the first migration server based on the migration request. Thus, the first migration server may, upon receiving the confirmation message, send redirection information for the message received from the terminal to the original server, so that subsequently the original server may redirect the message sent by the terminal to the second migration server. Further, in the case where the second migration server agrees to the migration, it may feedback a second response message for the second data request message to the terminal, and the data resource requested by the second data request message is carried in the second response message.

[0088] In a specific embodiment, the data processing method further includes: upon receiving the confirmation message feedback by the second migration server based on the migration request, sending a response start notification to the second migration server.

[0089] Wherein, the response start notification is used to instruct the second migration server to feedback a second response message for the second data request message to the terminal. Specifically, as Figure 7 shown, when the first migration server meets the message migration condition and determines that migration is required, it negotiates the migration with the second migration server. The first migration server may send a migration request (Pkt_mig_req) for the second data request message to the second migration server. When receiving the negotiation confirmation message (Pkt_mig_ack) feedback by the second migration server based on the migration request, and the negotiation confirmation message carries the confirmation information supporting the migration, on the one hand, the first migration server sends a redirection rule update instruction carrying redirection information to the original server to instruct the original server to redirect the subsequent messages sent by the terminal to the second migration server; on the other hand, the first migration server sends a response start notification to the second migration server to notify the second migration server to feedback a second response message for the second data request message to the terminal.

[0090] In this embodiment, by sending a response start notification to the second migration server to instruct the second migration server to feedback a second response message for the second data request message to the terminal, the response time of the message and the update time of the redirection rule can be flexibly controlled, thereby avoiding system chaos caused by untimely update of the redirection rule.

[0091] At this point, the message sent by the terminal to the original server will be redirected and migrated to the second migration server instead of the first migration server. If request migration is still required later, the second migration server can be used as the new first migration server to complete the migration by executing the above data processing logic. In this case, the second data request message in the previous migration process corresponds to the first data request message in the next migration process.

[0092] It should be noted that in the case where the second migration server does not agree to the migration, the first migration server can send a migration request to other second migration servers that meet the message response conditions. If there are no second migration servers in the server cluster that meet the message response conditions, the first migration server can feedback a prompt message indicating response failure to the terminal.

[0093] In the above data processing method, the first migration server that responds to the previous data request message determines the second migration server that responds to the current data request message, negotiates with the second migration server by sending a migration request, and then sends a redirection message to the original server to instruct the original server to redirect the message sent by the terminal to the second migration server when obtaining the confirmation information feedback by the second migration server. Compared with the traditional technology of centralized migration processing by the original server, it is a distributed migration processing method, which can reduce the time loss in multiple migration processes and is beneficial to improving data processing efficiency.

[0094] In one embodiment, the data processing method further includes: extracting the resource identifier carried in the second data request message; determining that the first migration server meets the message migration condition when the first migration server does not store the data resource represented by the resource identifier.

[0095] Among them, the resource identifier is used to represent the data resource requested by the second data request message. The resource identifier can be, for example, a resource storage address or a URI, etc. Specifically, the first migration server can extract the resource identifier carried in the second data request message and match the resource identifier with the data resources stored locally. If the match is successful, it means that the data resources represented by the resource identifier are stored locally, and the first migration server can meet the data requirements of the terminal. At this time, the first migration server does not need to perform subsequent migration processing, but only needs to read the corresponding data resources locally and feedback a response message containing the data resources to the terminal. If the match is unsuccessful, it means that the data resources represented by the resource identifier are not stored locally, and the first migration server cannot meet the data requirements of the terminal, that is, the first migration server meets the message migration condition and subsequent migration processing is required.

[0096] In this embodiment, determining whether the first migration server meets the message migration condition based on the resource identifier has a simple algorithm and can further improve the data processing efficiency.

[0097] In one embodiment, sending a migration request for the second data request message to a second migration server that meets the message response condition includes: determining the second migration server that meets the message response condition; and sending a migration request for the second data request message to the second migration server.

[0098] Among them, the message response condition matches the resource identifier. Specifically, the first migration server can determine the second migration server that meets the message response condition based on the resource identifier extracted from the second data request message, and send a migration request for the second data request message to this second migration server.

[0099] In a specific embodiment, the first migration server can determine the message response condition that matches the resource identifier based on the resource amount of the data resource represented by the resource identifier, and can also request the content scheduling information corresponding to the resource identifier from the content scheduling center. Then, the first migration server can determine multiple candidate servers that can provide this data resource based on the content scheduling information, and determine the second migration server that meets the message response condition from these candidate servers. This message response condition can refer to that the available load can meet the transmission requirements of the resource amount. It can be understood that the larger the resource amount of the data resource represented by the resource identifier, the more available load is required.

[0100] In the above embodiment, the message response condition matches the resource identifier, so that the determined second migration server meets the personalized requirements of the second data request message, can ensure that the data request can be responded to in time, and is beneficial to further improving the data processing efficiency.

[0101] In a specific embodiment, determining the second migration server that meets the message response condition includes: sending a server information acquisition request carrying the resource identifier to the content scheduling center; acquiring the server identifier fed back by the content scheduling center in response to the server information acquisition request; and determining the server represented by the server identifier as the second migration server that meets the message response condition.

[0102] Among them, for the specific limitations of the content scheduling center, please refer to the above, and will not be elaborated here. The server identifier is the identifier information that can uniquely represent the server. The identifier information may include information such as the IP address, port number, protocol type, etc., which is not limited here. Specifically, the first migration server may send a server information acquisition request carrying the resource identifier to the content scheduling center. The content scheduling center queries the server that can provide the transmission service for the data resource requested by the terminal according to the above resource identifier, and then feeds back the server identifier of the server to the first migration server. Furthermore, the first migration server may determine the server represented by the server identifier as the second migration server that meets the message response condition.

[0103] In the above embodiment, the first migration server determines the second migration server that meets the message response condition by interacting with the content scheduling center, which can reduce the load of the first migration server and is beneficial to further improving the data processing efficiency.

[0104] It can be understood that for a certain resource identifier, if the number of server identifiers fed back by the content scheduling center is one, it means that in the current server cluster, only one server can provide the data resource represented by the resource identifier. At this time, the first migration server can determine the server represented by the resource identifier as the second migration server. If the number of server identifiers fed back by the content scheduling center is multiple, it means that in the current server cluster, multiple servers can provide the data resource represented by the resource identifier. At this time, the first migration server needs to further screen to determine the second migration server.

[0105] In a specific embodiment, the number of server identifiers is multiple. In the case of this embodiment, determining the server represented by the server identifier as the second migration server that meets the message response condition includes: determining the candidate servers represented by each server identifier, and obtaining the load information of each candidate server; determining the candidate server with the smallest load as the second migration server that meets the message response condition.

[0106] Specifically, when the first migration server obtains multiple server identifiers from the content scheduling center, it can determine the candidate servers represented by each server identifier and obtain the load information of each candidate server. Then, based on each load information, determine the candidate server with the smallest load as the second migration server that meets the message response condition.

[0107] In this embodiment, when there are multiple candidate servers, determining the candidate server with the smallest load as the second migration server that meets the message response condition can ensure the data processing efficiency of the second migration server.

[0108] In an embodiment, such asFigure 8 As shown in the figure, the present application also provides a data processing method, which can be executed by a computer device, and the computer device can be Figure 1 the original server shown in the figure, including the following steps:

[0109] Step S802: Receive the first data request message sent by the terminal, and send a first redirect message containing the first data request message to the first migration server.

[0110] For the specific definitions of the first data request message and the first redirect message, please refer to the above, and will not be elaborated here. Specifically, the original server can receive the first data request message sent by the terminal, and in the case that it cannot provide the data resource requested by the first data request message to the terminal, send a first redirect message containing the first data request message to the first migration server.

[0111] In a specific embodiment, the redirect message that redirects the data request message from the terminal to the migration server has the following characteristics: the source address of the message is the IP address of the original server; the destination address of the message is the IP address of the migration server; the source port of the message is the port number of the original server (communicating with the migration server), and this port number is the port number negotiated between the two; the destination port of the message is the port number of the migration server (communicating with the original server), and this port number is the port number negotiated between the two; the protocol type of the message is the communication protocol type negotiated between the two, including TCP or UDP.

[0112] Step S804: Receive the second data request message sent by the terminal.

[0113] Among them, the second data request message is sent by the terminal in the case of receiving the first response message; the first response message is fed back to the terminal by the first migration server based on the first data request message. Specifically, in the case that the terminal receives the first response message fed back by the first migration server based on the first data request message, it can send a second data request message to the original server to request new data resources. Thus, the original server can receive the second data request message sent by the terminal.

[0114] Step S806: Send a second redirect message containing the second data request message to the first migration server.

[0115] Specifically, the original server can determine the operation for a message based on the five-tuple information of the message. The five-tuple information of the second data request message is the same as that of the first data request message. In the case where the first data request message is redirected to the first migration server, the operation corresponding to this five-tuple information is redirection. Thus, the original server will encapsulate the second data request message into a second redirect message according to the same redirection rule as the first data request message and send it to the first migration server.

[0116] Step S808, when the first migration server meets the message migration condition, receive the redirection information for the second data request message.

[0117] Among them, the redirection information is sent by the first migration server when it receives the confirmation information fed back by the second migration server based on the migration request; the redirection information is used to instruct the original server to redirect the message sent by the terminal to the second migration server; the second migration server meets the message response condition. Specifically, when the first migration server meets the message migration condition, receive the redirection information for the second data request message, so as to redirect the message sent by the terminal to the second migration server subsequently.

[0118] In the above data processing method, the first migration server that responds to the previous data request message determines the second migration server that responds to the current data request message, negotiates with the second migration server by sending a migration request, and when obtaining the confirmation information fed back by the second migration server, sends repositioning information to the original server to instruct the original server to redirect the message sent by the terminal to the second migration server. Compared with the traditional technology where the original server performs centralized migration processing, it is a distributed migration processing method, which can reduce the time loss in multiple migration processes and is beneficial to improving data processing efficiency.

[0119] In one embodiment, the data processing method further includes: determining the redirection rule corresponding to the first data request message and the redirection release condition for the redirection rule; releasing the redirection rule corresponding to the first data request message when the redirection release condition is met.

[0120] As described above, the original server can maintain the redirection rule through the five-tuple information. This five-tuple information can represent the connection between the original server and the terminal. The original server can connect multiple terminals, corresponding to multiple five-tuple information. When the operation corresponding to the five-tuple information is redirection, the original server stores the redirection rule corresponding to this five-tuple information. This redirection rule is used to indicate the migration object of the message received from the terminal corresponding to the five-tuple information.

[0121] Specifically, the original server can determine the redirection rule corresponding to the first data request message and the redirection release condition for the redirection rule according to the five-tuple information of the first data request message. The redirection release condition can be, for example, that the number of redirection rule changes reaches a set number, or that no associated message is received within a set time period. The set time period can be configured by the administrator and declared in the configuration file, or a default value can be used, such as 30S. The original server can determine whether the current redirection release condition is met based on the interaction situation corresponding to the five-tuple information, and release the redirection rule corresponding to the first data request message when the redirection release condition is met, so as to provide computing resources for terminals of other connections.

[0122] In the above embodiments, by configuring a redirection release condition for the redirection rule and releasing the redirection rule corresponding to the first data request message when the redirection release condition is met, it can be ensured that the computing resources of the original server can be reasonably configured, which is beneficial to further improving the data processing efficiency.

[0123] It should be understood that although the steps in the flowcharts involved in the above-described embodiments are sequentially shown according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear indication in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-described embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same moment, but can be executed at different moments. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps.

[0124] Based on the same inventive concept, the embodiments of the present application also provide a data processing system for implementing the data processing method involved above. The implementation solutions provided by this system for solving problems are similar to the implementation solutions described in the above method. Therefore, the specific limitations in one or more of the following data processing system embodiments can refer to the limitations on the data processing method in the above text, and will not be repeated here.

[0125] In one embodiment, a data processing system includes an original server, a first migration server, and a second migration server; the original server receives a first data request message sent by a terminal and sends a first redirect message containing the first data request message to the first migration server; the first migration server feeds back a first response message of the first data request message to the terminal; the original server receives a second data request message sent by the terminal and sends a second redirect message containing the second data request message to the first migration server; when the first migration server meets the message migration condition, it sends a migration request for the second data request message to the second migration server that meets the message response condition; when the first migration server receives the confirmation information fed back by the second migration server based on the migration request, it sends redirect information to the original server. Among them, the second data request message is sent by the terminal after receiving the first response message; the redirect information is used to instruct the original server to redirect the message sent by the terminal to the second migration server.

[0126] In a specific embodiment, as Figure 9 shown, each server in the server cluster includes a redirector, a migration module, and a migration stack, and each server stores data resources. Among them, the redirector is used to implement the redirect function. The protocol stack is used to construct data messages that conform to the communication protocol. The migration module is used to perform migration negotiation.

[0127] Specifically, before starting to introduce the distributed multiple migrations designed in this application, it is necessary to first elaborate on the traffic transfer process of the previous migration. As Figure 9 shown, the solid line represents the schematic diagram of the message flow direction after the execution of the existing connection migration is successful (that is to say, the existing connection has completed at least one connection migration). After migration, the first migration server transfers the data resources to its own protocol stack (such as the TCP / IP protocol stack), and the protocol stack constructs a response message with these data resources and transfers the response message to the terminal. The response message carries the data resources requested by the terminal, so it can also be called a traffic message. In the above process, the response message sent by the first migration server to the terminal uses the most original connection information of this connection (that is, the information of the original server and the terminal). After receiving the above response message, the terminal replies with a message confirmation message (ACK message). The ACK message is sent to the original server, and the original server redirects the ACK message received from the terminal to the first migration server responsible for traffic sending service, and the first migration server will perform the next traffic sending and packet loss repair (if any) operations according to the received ACK message.

[0128] When the terminal sends a new traffic request and the corresponding data resource does not exist in the first migration server, the connection needs to be migrated to the server containing the corresponding data resource (denoted as the second migration server) as soon as possible, and the second migration server responds to the terminal's request. Except for the first migration described above, the steps for each migration are as follows: (1.1) The terminal sends a data request message (i.e., the second data request message) based on the existing connection; (1.2) The request message is transmitted through the network to the original server and is "forwarded" by the redirector of the original server to the current migration server (denoted as the first migration server); (1.3) After receiving the above new request message, the first migration server transmits it to the protocol stack through its redirector; (2.1) By querying the data resource list, the protocol stack of the first migration server finds that the traffic data newly requested by the terminal does not exist locally (or the data resource requested by the terminal cannot be obtained locally), and the protocol stack of the first migration server sends a connection migration request to its own migration module; (2.2) At this time, the first migration server obtains the server information that can serve the user's latest request through the content scheduling center as the target server for the subsequent connection migration (denoted as the second migration server); (2.3) The migration module issues an update instruction to its own redirector; (3.1) The first migration server sends a connection migration negotiation message to the second migration server; (3.2) The negotiation message carries information such as the connection status and application status, which will be used when the protocol stack of the second migration server responds to the user request; (3.3) After the above connection migration negotiation is completed, the first migration server sends a redirect rule update instruction to the original server, which redirects the message from the terminal to the second migration server; (4) The second migration server sends the corresponding data resource to the terminal according to the user request information, as well as the transport layer and application layer status, carried in the above negotiation process; (5.1) After receiving the traffic message requested by itself, the terminal replies with a message confirmation message (ACK message); (5.2) The message is "forwarded" by the redirector of the original server to the second migration server; (6.1) The redirector of the second migration server transmits the received ACK message to its own protocol stack; (6.2) The protocol stack of the second migration server performs the subsequent traffic message sending or retransmission of the lost packet repair message (if any); (7) As shown in step (4), the second migration server sends the message that needs to be retransmitted to the terminal; Subsequently, the operations in steps (5), (6), and (7) will be executed sequentially in a loop until the connection (flow) ends.

[0129] In the above data processing system, in the case of multiple data requests and multiple request migrations, the first migration server that responds to the previous data request message determines the second migration server that responds to the current data request message, negotiates with the second migration server by sending a migration request, and upon obtaining the confirmation information fed back by the second migration server, sends relocation information to the original server to instruct the original server to redirect the message sent by the terminal to the second migration server, enabling distributed migration processing, thereby reducing the time loss in the multiple migration process, facilitating the improvement of data processing efficiency, and further being able to more quickly feedback the requested data resources to the terminal, enhancing the networking ability of the server cluster and the service experience of the terminal.

[0130] In one embodiment, the connection status information and the application status information are carried in the migration request. In this embodiment, the second migration server is specifically configured to feedback a second response message of the second data request message to the terminal based on the connection status information and the application status information.

[0131] Among them, the connection status information includes, but is not limited to, the terminal information of the terminal, the server information of the original server, the protocol type, the transport layer status information of the first migration server and the terminal respectively, the message number, etc. The terminal information and the server information can both include the IP address, port number, etc. The transport layer status information of the first migration server can include the send window value, the amount of data in transit, etc. The transport layer status information of the terminal can include the receive window value, the effective available bandwidth, etc. The application status information can include the resource identifier of the data resource requested by the second data request message, and can also include the key for user data encryption and decryption.

[0132] Specifically, the second migration server can determine the configuration information of the second response message based on the connection status information and the application status information, and then feedback the second response message of the second data request message to the terminal based on the configuration information. Among them, the configuration information includes, but is not limited to, five-tuple information, transport parameters, etc. The transport parameters can include the send window and the send rate, etc.

[0133] In this embodiment, the connection status information and the application status information are carried in the migration request, so there is no need to additionally send the connection status information and the application status information after the migration negotiation is completed, which can further improve the data processing efficiency.

[0134] In one embodiment, the connection status information includes the server information of the original server and the terminal information of the terminal. In this embodiment, the second migration server is specifically configured to configure and feedback a second response message of the second data request message to the terminal based on the server information and the terminal information.

[0135] Specifically, the second migration server may configure the five-tuple information of the packet based on the server information and the terminal information, and then feedback a second response packet of the second data request packet to the terminal. The five-tuple information of the second response packet is as follows: the source address is the IP address of the original server; the destination address is the IP address of the terminal; the source port number is the port number of the original server; the destination port number is the port number of the terminal; the protocol type is the protocol type for communication between the port number of the original server and the terminal. Further, the packet number of the second response packet may continue the packet number of the current connection (the connection between the original server and the terminal), and this packet number may be synchronized by the first migration server to the second migration server through the migration request.

[0136] In this embodiment, the migration request carries the server information of the original server and the terminal information of the terminal, which can facilitate the second migration server to configure the second response packet based on the current connection, so that the terminal will not perceive the migration and continue to obtain data resources by interacting with the original server, which is beneficial to improving the convenience of interaction.

[0137] In a specific embodiment, the application status information includes a resource identifier and a key. In the case of this embodiment, the second migration server is specifically configured to obtain the data resource represented by the resource identifier, perform an encryption process on the data resource using the key to obtain an encrypted resource, and feedback a second response packet carrying the encrypted resource to the terminal.

[0138] Among them, the resource identifier is used to represent the data resource requested by the second data request packet. Specifically, when the key is carried in the migration request, it indicates that there is an encryption requirement for the requested data. Based on this, the second migration server may obtain the data resource represented by the resource identifier, perform an encryption process on the data resource using the key to obtain an encrypted resource, and feedback a second response packet carrying the encrypted resource to the terminal.

[0139] In this embodiment, the application status information includes a resource identifier and a key, which can match the requirements of the encryption application scenario and is beneficial to improving the flexibility of the data processing method.

[0140] In an embodiment, the connection status information includes the transport layer status information of the first migration server and the terminal respectively; the second migration server is specifically configured to determine the transmission parameters according to the transport layer status information, and feedback a second response packet of the second data request packet to the terminal based on the transmission parameters.

[0141] Among them, the transport layer status information of the first migration server may include the send window value, the amount of data in transit, etc., and the transport layer status information of the terminal may include the receive window value, the effective available bandwidth, etc. The transmission parameters may include the send window and the send rate, etc. Specifically, in the initial stage when the second migration server sends traffic packets to the terminal, the send window send_cwnd and the receive window receive_cwnd synchronized from the first migration server are used to calculate the congestion window cwnd, as shown in formula (1):

[0142] cwnd = min{send_cwnd, receive_cwnd} (1)

[0143] The second migration server calculates the initial send window size init_cwnd according to the calculated congestion window cwnd and the amount of traffic in flight inflight_size, as shown in formula (2):

[0144] Init_cwnd = cwnd - inflight_size (2)

[0145] In the initial stage when the second migration server sends traffic packets to the terminal, the effective available bandwidth BtlBW synchronized from the first migration server is used to configure the initial send rate init_pacing, specifically as shown in formula (3):

[0146] Init_pacing = BtlBW (3)

[0147] The above initial send window size and initial send rate will no longer be used after the second migration server receives the message acknowledgment packet (ACK packet) from the terminal.

[0148] In this embodiment, determining the transmission parameters based on the transport layer status information of the first migration server and the terminal respectively can ensure the smooth transmission of the second response packet, and further ensure the reliability of data processing.

[0149] In traditional technologies, there are many methods for migrating a connection from one server to another currently, which can be mainly divided into two categories: one is the method of two-end negotiation migration; the other is the method of single-end migration of the server.

[0150] Two-end negotiation migration means that: after the original server receives the traffic request packet from the terminal, it sends the relevant information of the migration server to the terminal; after the terminal receives the above information, it resends the traffic request packet to the migration server, and after the migration server receives the above request packet, it sends a traffic packet as a response to the request; subsequently, the terminal and the migration packet will directly interact until the connection is closed or the request ends. As Figure 10As shown, after the terminal sends a request message to the original server, it is informed that the original server cannot provide cloud services for the terminal; at the same time, the original server "hopes" that the terminal resends the request message to another server (the migration server); at this time, the terminal resends the request message to the above-mentioned migration server, and the latter sends the requested data resources to the terminal.

[0151] This method mainly faces the following problems: the negotiation time between the original server and the terminal is relatively long, and their frequent interactions will seriously affect the time for the terminal to obtain the requested data; from a security perspective, the terminal may not support the above function of negotiating connection migration with the server, resulting in the CDN provider being unable to continue providing cloud services for the terminal and causing service interruption problems; this is also the main reason why this method cannot be used in a real network environment.

[0152] Server single-end migration means that after the original server receives a request message from the terminal, it "actively" contacts another server that can provide services for the terminal and informs it of the connection information and request information, and the other server will respond to the terminal's request according to the above information. As Figure 11 shown, after the original server receives a request message from the terminal, it negotiates with another server, and the latter uses the obtained connection information and request information to send a traffic message to the terminal as a response; after the terminal receives the requested traffic message, it sends a message confirmation message to the original server; the original server forwards the above message confirmation message to the selected migration server, and the latter will continue to provide cloud services for the terminal.

[0153] This method mainly faces the following problems: this method is mainly applicable to the scenario of a single connection request, that is, there is only one traffic request in a connection; if it encounters a complex connection (including multiple requests), after the migration server receives a new request message from the terminal, it will "send back" the request message to the original server, and the latter will "re-migrate" the connection. During this process, if problems such as the original server being upgraded and updated and becoming unavailable occur, the CDN will be unable to provide cloud service functions for the terminal, resulting in serious events such as connection interruption that affect the client's business experience.

[0154] This application focuses on solving the problems of low migration efficiency and obvious business damage caused by excessive dependence on the selection of a centralized migration server in the case of multiple requests and multiple data sources during multiple migrations of a connection, and proposes a distributed lossless migration method, which can significantly improve the migration efficiency, optimize the business experience of the terminal, and enhance the core competitiveness of CDN providers.

[0155] In a specific embodiment, as Figure 12 shown, the implementation process of this application includes the following steps:

[0156] (1)Based on the existing connection, the terminal sends a new traffic request message, which is redirected by the original server to the server after the last connection migration (the first migration server), and the protocol stack of this server realizes that the connection needs to be migrated to another server.

[0157] Among them, the terminal sends a new traffic request message Pkt_req to the original server, and the identifier URI (Uniform Resource Identifier) of the requested data resource is carried in this message. After receiving the above Pkt_req message, the original server redirects the message to the migration server (denoted as the first migration server) that currently provides the data sending task for this connection. The redirected message Pkt_req_redirect contains the Pkt_req message. Optionally, the redirection operation for the message can be implemented by the redirector of the server. This application focuses on the situation where the connection has been migrated from the original server to other servers. When the migration server can respond to the terminal's request but cannot respond to the new traffic request from the terminal, it should be considered how to migrate the connection to other servers that can respond to the user's request.

[0158] Furthermore, the redirected message Pkt_req_redirect that redirects the Pkt_req message from the terminal to the first migration server has the following characteristics: the source address of the Pkt_req_redirect message is the IP address of the original server; the destination address of the Pkt_req_redirect message is the IP address of the first migration server; the source port of the Pkt_req_redirect message is the port number of the original server (communicating with the first migration server); this port number is the port number negotiated between the two; the destination port of the Pkt_req_redirect message is the port number of the first migration server (communicating with the original server); this port number is the port number negotiated between the two; the protocol type of the Pkt_req_redirect message is the communication protocol type negotiated between the two, including TCP or UDP.

[0159] After receiving the Pkt_req_redirect message from the original server, the first migration server extracts the data resource identifier URI of the traffic request carried in the Pkt_req message in this message and determines whether the connection needs to be migrated to other servers. Optionally, the first migration server will migrate the current connection to other servers when the following conditions are met: the data resource requested by the terminal cannot be obtained locally on the server; the load of the current server (such as CPU utilization, memory occupancy, traffic size, etc.) is relatively high. If the current migration server needs to migrate the current connection to other servers, it will specifically execute step (2); otherwise, it will obtain the data resource requested by the user and respond to the user's request.

[0160] (2) After receiving a new request message from the terminal, if the first migration server determines that a re-migration of the connection needs to be performed, it starts its own migration module. This module first performs preparatory operations before the connection migration, including obtaining information about the target server (denoted as the second migration server) that meets the message response conditions, resetting the redirection rules for this connection, etc. Specifically as follows: The protocol stack of the first migration server sends an instruction to its migration module, "informing" that the current connection needs to be migrated; the first migration server obtains information about the target server from the content scheduling center.

[0161] The specific process for the first migration server to obtain information about the target server from the content scheduling center can be: The first migration server sends a request message Pkt_obtain_target for obtaining to the content scheduling center, and this message carries the URI used to identify the user-requested data resource; the content scheduling center queries the information of the target server that can provide transmission services for the terminal-requested data resource according to the above URI, that is, the target server has the corresponding data resource and the load of this target server is not high. The information of the target server feedback by the content scheduling center includes but is not limited to: the IP address of the target server (IP_target); the port number of the target server (Port_target); the protocol type supported by the target server (Ptl_type_target). The content scheduling center can be a separate server or located inside each server. In particular, the content scheduling center can periodically synchronize its own information for selecting the target server to each server.

[0162] Further, the migration module issues rules for this connection to the redirector of the first migration server, updates the operation for this connection in the redirector to discard, and sets the operation for five_tuple in the redirector to drop. At this time, when the first migration server receives a message about this connection from the terminal, it will perform a discard operation; this operation is used to avoid state confusion before and after the connection migration negotiation process.

[0163] (3) The first migration server negotiates the connection migration with the target server, synchronizes the application layer and transport layer status information of this connection during this period; and notifies the original server to update the rules of the redirector.

[0164] Specifically, the first migration server may send a connection migration request message Pkt_mig_req to the second migration server, where information such as connection status and application status is carried in the message. After receiving the Pkt_mig_req message from the first migration server, the migration module of the second migration server passes it to its own protocol stack; the protocol stack of the second migration server initializes the connection to be migrated according to the connection status in Pkt_mig_req. The second migration server queries whether it stores the data resources requested by the terminal according to the URI; and replies to the first migration server with a migration negotiation confirmation message Pkt_mig_ack, where feedback information on whether the second migration server supports migrating the connection is carried in the message.

[0165] If the second migration server supports connection migration, the first migration server sends a response start notification and a redirect rule update instruction to the second migration server and the original server respectively, as follows: After receiving the connection migration confirmation message from the second migration server, the first migration server sends a response start notification to the second migration server, and after receiving the notification information, the latter sends the data resources requested by the terminal based on the initialized connection. After receiving the connection migration confirmation message from the second migration server, the first migration server sends a redirect rule update instruction to the original server, and after receiving it, the latter redirects all subsequent messages of the connection to the second migration server.

[0166] (4) After receiving the response start notification sent by the first migration server, the second migration server uses the connection status and application status synchronized in step (3) to send the data resources requested by the terminal to the terminal.

[0167] Specifically, the traffic message (i.e., the second response message) sent from the second migration server to the terminal has the following characteristics: the source address and destination address of the traffic message are the IP address of the original server and the IP address of the terminal respectively; the source port number and destination port number of the traffic message are the port number of the original server and the port number of the terminal respectively; the protocol type of the traffic message is the protocol type for communicating between the port number of the original server and the terminal; the message number of the traffic message is the message number of the current connection; all of the above are synchronized by the first migration server to the second migration server during the connection negotiation process. Further, the data carried in the traffic message is the data resource corresponding to the URI carried in the terminal request message Pkt_req; if the data in the traffic message needs to be encrypted, the key for data encryption and decryption synchronized during the migration negotiation process is used for encryption.

[0168] The traffic message sent from the second migration server to the terminal follows the following sending control rules:

[0169] In the initial stage when the second migration server sends traffic packets to the terminal, the congestion window cwnd is calculated using the send window send_cwnd and the receive window receive_cwnd synchronized from the first migration server, as shown in formula (1):

[0170] cwnd = min{send_cwnd, receive_cwnd} (1)

[0171] The second migration server calculates the initial send window size init_cwnd based on the calculated congestion window cwnd and the in-flight traffic inflight_size, as shown in formula (2):

[0172] Init_cwnd = cwnd - inflight_size (2)

[0173] In the initial stage when the second migration server sends traffic packets to the terminal, the initial send rate init_pacing is configured using the effective available bandwidth BtlBW synchronized from the first migration server, specifically as shown in formula (3):

[0174] Init_pacing = BtlBW (3)

[0175] The above initial send window size and initial send rate will no longer be used after the second migration server receives the message acknowledgment packet (ACK packet) from the terminal.

[0176] After receiving the traffic packet sent by the second migration server, the terminal replies with a message acknowledgment packet Pkt_ack; this packet is redirected by the original server to the second migration server. The packet redirected by the original server to the second migration server is denoted as Pkt_redirect, and this packet has the following characteristics: the source address and source port are the IP address and port number of the original server respectively; the destination address and destination port are the IP address and port number of the second migration server respectively; the Pkt_redirect packet contains all the contents of the Pkt_ack packet.

[0177] After receiving the Pkt_redirect packet redirected by the original server, the second migration server extracts the Pkt_ack packet sent by the terminal carried in it, and determines the next traffic packet sending strategy according to this packet, as follows: After receiving the Pkt_redirect packet, the redirector of the second migration server passes it to the protocol stack; the latter extracts the Pkt_ack packet carried in the Pkt_redirect packet from it; the protocol stack judges whether packet loss occurs according to the packet information (received or not received) "declared" in the Pkt_ack packet; if packet loss occurs, perform a packet loss repair operation (retransmit the lost packet); if no packet loss occurs, obtain the data resource to be sent next and continue to send data packets to the terminal.

[0178] The second migration server continues to send traffic packets (or packet loss repair packets) to the terminal according to the Pkt_ack packet. During the sending process of the above traffic packets, the initial sending rules or parameters (such as init_cwnd and init_pacing) will no longer be followed; instead, based on the network quality information obtained from the Pkt_ack packet (such as packet loss rate, RTT, network bandwidth, etc.), the existing congestion control algorithm is used to calculate the latest congestion window cwnd and sending rate pacing to perform the sending work of these traffic packets. After receiving the above traffic packets, the terminal can send an acknowledgment packet or initiate a new data request packet again until the connection is closed, that is, the terminal disconnects from the original server.

[0179] In this application, when the connection ends, the redirect rule of the original server for this connection will be released (or deleted); in particular, if the redirect rule of the server does not encounter packets of the relevant connection within a time threshold T, it will be automatically released; where the time threshold T can be configured by the administrator and declared in the configuration file. By default, T = 30s.

[0180] This application enables the connection to support a flexible and efficient distributed migration method in the case of multiple requests and multiple data sources. Among them, when the server receives a request packet from the terminal, it can independently select the target server and migrate the current connection to the target server, without relying on centralized server management and control, effectively reducing the time loss during multiple migrations of the connection, improving the efficiency of connection migration, being beneficial to ensuring the business experience of the client, and enhancing the core competitiveness of CDN manufacturers.

[0181] Based on the same inventive concept, an embodiment of the present application further provides a data processing apparatus for implementing the data processing method involved above. The solution provided by this apparatus for solving problems is similar to the solution described in the above method. Therefore, the specific limitations in one or more embodiments of the data processing apparatus provided below can refer to the limitations on the data processing method in the foregoing, and will not be elaborated herein.

[0182] In one embodiment, as Figure 13 shown, a data processing apparatus is provided, which is applied to a first migration server and includes a response message feedback module 1302, a redirect message receiving module 1304, a migration module 1306, and a redirect information sending module 1308, where:

[0183] The response message feedback module 1302 is configured to respond to the first data request message carried in the first redirect message sent by the original server, and feedback a first response message to the terminal that sent the first data request message;

[0184] The redirect message receiving module 1304 is configured to receive a second redirect message sent by the original server and containing a second data request message; the second data request message is sent by the terminal to the original server after receiving the first response message;

[0185] The migration module 1306 is configured to, if the first migration server meets the message migration condition, send a migration request for the second data request message to a second migration server that meets the message response condition;

[0186] The redirect information sending module 1308 is configured to, when receiving the confirmation information fed back by the second migration server based on the migration request, send redirect information to the original server; the redirect information is used to instruct the original server to redirect the message sent by the terminal to the second migration server.

[0187] In one embodiment, the data processing apparatus further includes a migration judgment module, which is configured to: extract the resource identifier carried in the second data request message; and determine that the first migration server meets the message migration condition when the first migration server does not store the data resource. The resource identifier is used to characterize the data resource requested by the second data request message.

[0188] In one embodiment, the migration module 1306 includes: a server determination sub-module, which is configured to determine a second migration server that meets the message response condition; the message response condition matches the resource identifier; and a migration request sending sub-module, which is configured to send a migration request for the second data request message to the second migration server.

[0189] In one embodiment, the server determination sub-module is specifically configured to: send a server information acquisition request carrying a resource identifier to the content scheduling center; acquire the server identifier fed back by the content scheduling center in response to the server information acquisition request; and determine the server represented by the server identifier as the second migration server that meets the message response condition.

[0190] In one embodiment, the number of server identifiers is multiple. In this embodiment, the server determination sub-module is specifically configured to: determine the candidate servers represented by each server identifier, and acquire the load information of each candidate server; and determine the candidate server with the smallest load as the second migration server that meets the message response condition.

[0191] In one embodiment, the data processing device further includes a response start notification module, configured to send a response start notification to the second migration server when receiving the confirmation information fed back by the second migration server based on the migration request; the response start notification is used to instruct the second migration server to feed back a second response message of the second data request message to the terminal.

[0192] In one embodiment, the data processing device further includes a packet loss repair module, configured to: acquire the confirmation message fed back by the terminal based on the first response message; the confirmation message is received by the original server from the terminal and redirected to the first migration server; and perform a packet loss repair operation on the first response message when it is determined based on the confirmation message that the first response message has lost packets.

[0193] In one embodiment, as Figure 14 shown, the present application further provides another data processing device, which is applied to the original server. The device includes a data request message receiving module 1402, a redirect message sending module 1404, and a redirect information receiving module 1406, where:

[0194] The data request message receiving module 1402 is configured to receive a first data request message sent by the terminal;

[0195] The redirect message sending module 1404 is configured to send a first redirect message including the first data request message to the first migration server;

[0196] The data request message receiving module 1402 is further configured to receive a second data request message sent by the terminal; the second data request message is sent by the terminal after receiving the first response message; the first response message is fed back by the first migration server to the terminal based on the first data request message;

[0197] The redirect message sending module 1404 is further configured to send a second redirect message including the second data request message to the first migration server;

[0198] A redirection information receiving module 1406, configured to receive redirection information for a second data request message when a first migration server meets the message migration condition; the redirection information is sent by the first migration server when receiving confirmation information fed back by a second migration server based on a migration request; the redirection information is used to instruct an original server to redirect a message sent by a terminal to the second migration server; the second migration server meets the message response condition.

[0199] In one embodiment, the data processing device further includes a redirection release module, configured to: determine a redirection rule corresponding to a first data request message and a redirection release condition for the redirection rule; and release the redirection rule corresponding to the first data request message when the redirection release condition is met.

[0200] Each module in the above data processing device can be implemented in whole or in part by software, hardware, and their combination. Each of the above modules can be embedded in or independent of a processor in a computer device in the form of hardware, or stored in a memory in the computer device in the form of software, so that the processor can call and execute operations corresponding to each of the above modules.

[0201] In one embodiment, a computer device is provided. The computer device can be a server, and its internal structure diagram can be as Figure 15 shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O), and a communication interface. Among them, the processor, the memory, and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data involved in the above data processing method. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a data processing method is implemented.

[0202] Those skilled in the art can understand that Figure 15 the structure shown in

[0203] In one embodiment, a computer device is provided, including a memory and a processor. A computer program is stored in the memory, and when the processor executes the computer program, the steps in the above method embodiments are implemented.

[0204] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above method embodiments are implemented.

[0205] In one embodiment, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the steps in the above method embodiments are implemented.

[0206] 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 for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. And the collection, use, and processing of relevant data need to comply with the relevant laws, regulations, and standards of the relevant regions and areas. Moreover, the object can choose not to authorize the object information and relevant data, or can refuse or can conveniently refuse to push information, etc.

[0207] In this application, during the process of collecting and processing relevant data in practical applications, the informed consent or separate consent of the personal information subject should be obtained strictly in accordance with the requirements of relevant regional laws and regulations, and subsequent data use and processing behaviors should be carried out within the scope authorized by laws, regulations, and the personal information subject.

[0208] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, database, or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memories. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The databases involved in the embodiments provided in the present application can include at least one of relational databases and non-relational databases. Non-relational databases can include distributed databases based on blockchain, etc., without limitation. The processors involved in the embodiments provided in the present application can be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, data processing logics based on quantum computing, etc., without limitation.

[0209] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope described in this specification.

[0210] The above-described embodiments merely represent several implementation manners of the present application. The description thereof is relatively specific and detailed, but it should not be construed as a limitation on the patent scope of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.

Claims

1. A data processing method, characterized in that: Applied to the first migration server, the method includes: In response to a first data request message carried in a first redirect message sent by an original server, a first response message is fed back to the terminal that sent the first data request message; the original server is a response server for the first data request message sent by the terminal; the terminal does not perceive the request migration, but always obtains data resources by sending a request message to the original server; receiving a second redirection message including a second data request message sent by the original server; the second data request message is sent by the terminal to the original server when the first response message is received; Extracting a resource identifier carried in the second data request message; the resource identifier is used to represent the data resource requested by the second data request message; In a case where the first migration server does not store the data resource, determining that the first migration server meets a message migration condition; If the first migration server meets the message migration condition, sending a migration request for the second data request message to a second migration server that meets the message response condition; When receiving confirmation information fed back by the second migration server based on the migration request, redirection information is sent to the original server; the redirection information is used to instruct the original server to redirect the message sent by the terminal to the second migration server.

2. The method according to claim 1, characterized in that The sending a migration request for the second data request message to the second migration server that meets the message response condition includes: Determining a second migration server that meets a message response condition; the message response condition matches the resource identifier; Sending a migration request for the second data request message to the second migration server.

3. The method according to claim 2, characterized in that The determining of the second migration server that meets the message response condition includes: Sending a server information acquisition request carrying the resource identifier to a content scheduling center; Obtaining a server identifier fed back by the content scheduling center in response to the server information acquisition request; The server represented by the server identifier is determined as a second migration server that meets the message response condition.

4. The method according to claim 3, characterized in that The number of the server identifiers is multiple; and determining the server represented by the server identifier as the second migration server that meets the message response condition includes: Determine the candidate servers represented by the server identifiers, and obtain the load information of the candidate servers; The candidate server with the smallest load is determined as the second migration server that meets the message response condition.

5. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: Upon receiving confirmation information fed back by the second migration server based on the migration request, sending a response start notification to the second migration server; The response start notification is used to instruct the second migration server to feed back a second response message to the second data request message to the terminal.

6. The method according to any one of claims 1 to 4, characterized in that The method further comprises: Acquire a confirmation message fed back by the terminal based on the first response message; the confirmation message is received by the original server from the terminal and redirected to the first migration server; In a case where it is determined based on the confirmation message that packet loss occurs in the first response message, a packet loss repair operation is performed on the first response message.

7. A data processing method, characterized in that: Applied to an original server, the original server being a response server to the first data request message sent by the terminal; The terminal does not perceive the request migration, but always sends a request message to the original server to obtain data resources; The method comprises: receiving a first data request message sent by a terminal, and sending a first redirect message including the first data request message to a first migration server; receiving a second data request message sent by the terminal; the second data request message is sent by the terminal when the first response message is received; the first response message is fed back to the terminal by the first migration server based on the first data request message; Sending a second redirection message including the second data request message to the first migration server; When the first migration server meets the message migration condition, it receives redirection information for the second data request message; when the first migration server does not store the data resources requested by the second data request message, it meets the message migration condition; the data resources are represented by the resource identifier carried in the second data request message; the redirection information is sent by the first migration server when receiving the confirmation information fed back by the second migration server based on the migration request; the redirection information is used to instruct the original server to redirect the message sent by the terminal to the second migration server; the second migration server meets the message response condition.

8. The method according to claim 7, characterized in that The method further comprises: Determine a redirection rule corresponding to the first data request message and a redirection release condition for the redirection rule; When the redirection release condition is met, the redirection rule corresponding to the first data request message is released.

9. A data processing system, characterized in that: The system includes an original server, a first migration server, and a second migration server; The original server receives a first data request message sent by the terminal, and sends a first redirect message including the first data request message to the first migration server; The original server is a server that responds to the first data request message sent by the terminal; The terminal does not perceive the request migration, but always sends a request message to the original server to obtain data resources; The first migration server feeds back a first response message to the first data request message to the terminal; The original server receives the second data request message sent by the terminal, and sends a second redirect message including the second data request message to the first migration server; The second data request message is sent by the terminal when the first response message is received; The first migration server extracts the resource identifier carried in the second data request message, and if the first migration server does not store the data resource, determines that the first migration server meets the message migration condition, and sends a migration request for the second data request message to a second migration server that meets the message response condition; The resource identifier is used to represent the data resource requested by the second data request message; The first migration server sends redirection information to the original server when receiving confirmation information fed back by the second migration server based on the migration request; The redirection information is used to instruct the original server to redirect the message sent by the terminal to the second migration server.

10. The system according to claim 9, characterized in that The migration request carries connection status information and application status information; The second migration server is used to feed back a second response message of the second data request message to the terminal based on the connection state information and the application state information.

11. The system according to claim 10, characterized in that The connection status information includes server information of the original server and terminal information of the terminal; The second migration server is specifically configured to configure and feed back a second response message of the second data request message to the terminal based on the server information and the terminal information.

12. The system according to claim 10, characterized in that The application state information includes a resource identifier and a key; the resource identifier is used to represent the data resource requested by the second data request message; The second migration server is specifically used to obtain the data resource represented by the resource identifier, use the key to encrypt the data resource to obtain an encrypted resource, and feed back a second response message carrying the encrypted resource to the terminal.

13. The system according to claim 10, characterized in that The connection status information includes transport layer status information of the first migration server and the terminal respectively; The second migration server is specifically configured to determine a transmission parameter according to each piece of the transmission layer state information, and feed back a second response message of the second data request message to the terminal based on the transmission parameter.

14. A data processing device, characterized in that: Applied to a first migration server, the device comprises: A response message feedback module, used to respond to a first data request message carried in a first redirect message sent by an original server, and to feed back a first response message to a terminal that sent the first data request message; the original server is a response server for the first data request message sent by the terminal; the terminal does not perceive the request migration, but always obtains data resources by sending a request message to the original server; a redirection message receiving module, configured to receive a second redirection message including a second data request message sent by the original server; the second data request message is sent by the terminal to the original server when the terminal receives the first response message; a judgment module, configured to extract a resource identifier carried in the second data request message; the resource identifier is used to represent the data resource requested by the second data request message; and determine that the first migration server meets the message migration condition when the first migration server does not store the data resource; a migration module, configured to send a migration request for the second data request message to a second migration server that meets a message response condition if the first migration server meets a message migration condition; The redirection information sending module is used to send redirection information to the original server when receiving confirmation information fed back by the second migration server based on the migration request; the redirection information is used to instruct the original server to redirect the message sent by the terminal to the second migration server.

15. The device according to claim 14, characterized in that The migration module also includes: A server determination submodule, configured to determine a second migration server that meets a message response condition; the message response condition matches the resource identifier; The migration request sending submodule is used to send a migration request for the second data request message to the second migration server.

16. The device according to claim 15, characterized in that The server determination submodule is specifically used for: Sending a server information acquisition request carrying the resource identifier to a content scheduling center; Obtaining a server identifier fed back by the content scheduling center in response to the server information acquisition request; The server represented by the server identifier is determined as a second migration server that meets the message response condition.

17. The device according to claim 16, characterized in that The number of the server identifiers is multiple; the server determination submodule is specifically used for: Determine the candidate servers represented by the server identifiers, and obtain the load information of the candidate servers; The candidate server with the smallest load is determined as the second migration server that meets the message response condition.

18. The device according to any one of claims 14 to 17, characterized in that The device also includes a response start notification module, which is used to: Upon receiving confirmation information fed back by the second migration server based on the migration request, sending a response start notification to the second migration server; The response start notification is used to instruct the second migration server to feed back a second response message to the second data request message to the terminal.

19. The device according to any one of claims 14 to 17, characterized in that The device also includes a packet loss repair module, which is used to: Acquire a confirmation message fed back by the terminal based on the first response message; the confirmation message is received by the original server from the terminal and redirected to the first migration server; In a case where it is determined based on the confirmation message that packet loss occurs in the first response message, a packet loss repair operation is performed on the first response message.

20. A data processing device, characterized in that: Applied to an original server, the original server being a response server to the first data request message sent by the terminal; The terminal does not perceive the request migration, but always sends a request message to the original server to obtain data resources; The device comprises: A data request message receiving module, used for receiving a first data request message sent by a terminal; A redirection message sending module, configured to send a first redirection message including the first data request message to a first migration server; The data request message receiving module is further configured to receive a second data request message sent by the terminal; the second data request message is sent by the terminal after receiving the first response message; the first response message is fed back to the terminal by the first migration server based on the first data request message; The redirection message sending module is further configured to send a second redirection message including the second data request message to the first migration server; A redirection information receiving module is used to receive redirection information for the second data request message when the first migration server meets the message migration condition; the first migration server meets the message migration condition when the data resource requested by the second data request message is not stored; the data resource is represented by the resource identifier carried in the second data request message; the redirection information is sent by the first migration server when receiving confirmation information fed back by the second migration server based on the migration request; the redirection information is used to instruct the original server to redirect the message sent by the terminal to the second migration server; the second migration server meets the message response condition.

21. The device according to claim 20, characterized in that The device also includes a redirection and release module, which is used to: Determine a redirection rule corresponding to the first data request message and a redirection release condition for the redirection rule; When the redirection release condition is met, the redirection rule corresponding to the first data request message is released.

22. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.

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

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

Citation Information

Patent Citations

  • Communication method and device

    CN107872486A

  • Data processing method and device, equipment and storage medium

    CN116684468A