Data processing system, method, device, server and storage medium

By allocating terminals in the same game to different proxy servers in electronic games, the game paralysis problem caused by DDoS attacks is solved, and the game security protection is achieved.

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

Patent Information

Application Number
CN202210070043.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-21
Publication Date
2025-07-25
Estimated Expiration
2042-01-21

AI Technical Summary

Technical Problem

In electronic games, DDoS attacks cause excessive load on the game server, affecting the normal communication of all terminals, resulting in game paralysis.

Method used

The allocation server is used to allocate multiple terminals in the same pair to different proxy servers, and forward data packets between the terminal and the match server through these proxy servers, preventing the terminal from directly communicating with the match server and other proxy servers, and can only initiate DDoS to the proxy server that communicates with itself.

Benefits of technology

It effectively narrows the impact range of DDoS, protects the security of the game, and ensures that even if some proxy servers are abnormal, it will not affect all terminals.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114404941B_ABST
    Figure CN114404941B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a data processing system, method, device, server, and storage medium, belonging to the field of computer technology. The system includes an allocation server, a game server, and multiple proxy servers; the allocation server is configured to allocate at least two proxy servers to multiple terminals in the same game, and the proxy servers allocated to at least two terminals in the game are different; the target proxy server is configured to receive a request data packet sent by a corresponding target terminal and forward the request data packet to the game server, and the target proxy server is any one of the at least two proxy servers; the game server is configured to receive the request data packet and process the request data packet. Since multiple terminals in the same game are dispersed to at least two proxy servers, and the data packets between the terminals and the game server are forwarded by the proxy servers, the security of the game can be effectively protected.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer technology, and particularly to a data processing system, method, device, server and storage medium. Background Art

[0002] DDoS (Distributed Denial of Service) means sending a large number of abnormal data packets to the same server simultaneously, resulting in the server being overloaded and unable to respond to normal data packets.

[0003] In the scenario of electronic games, a direct communication connection is established between each terminal in the game and the game server. When a certain terminal launches a DDoS attack on the connected game server, all terminals in the game will be affected, causing the game to become paralyzed. Therefore, there is an urgent need to provide a method for protecting the security of the game. Summary of the Invention

[0004] The embodiments of the present application provide a data processing system, method, device, server and storage medium, which can effectively protect the security of the game. The technical solutions are as follows:

[0005] On the one hand, a data processing system is provided. The data processing system includes a distribution server, a game server and a plurality of proxy servers. Communication connections are established between the plurality of proxy servers and the game server;

[0006] The distribution server is configured to allocate at least two of the plurality of proxy servers to a plurality of terminals in the same game, wherein the proxy servers allocated to at least two terminals in the game are different;

[0007] A target proxy server among the at least two proxy servers is configured to receive a request data packet sent by a target terminal corresponding to the target proxy server, and forward the request data packet to the game server. The request data packet is a data packet generated by the target terminal during the game process. The target proxy server is any one of the at least two proxy servers;

[0008] The game server is configured to receive the request data packet and process the request data packet.

[0009] On the other hand, a data processing method is provided, which is executed by a target proxy server in a data processing system. The data processing system includes a game server and multiple proxy servers. Communication connections are established between the multiple proxy servers and the game server. At least two of the multiple proxy servers are assigned to multiple terminals in the same game. The target proxy server is any one of the at least two proxy servers, and the proxy servers assigned to at least two terminals in the game are different. The method includes:

[0010] Receiving a request data packet sent by a target terminal corresponding to the target proxy server, where the request data packet is a data packet generated by the target terminal during the game;

[0011] Forwarding the request data packet to the game server.

[0012] Optionally, the forwarding the request data packet to the game server includes:

[0013] Verifying the request data packet, and forwarding the request data packet to the game server when the request data packet passes the verification.

[0014] Optionally, the method further includes:

[0015] Receiving a response data packet sent by the game server, where the response data packet is generated by the game server in response to the request data packet;

[0016] Forwarding the response data packet to the target terminal.

[0017] Optionally, the data processing system further includes an allocation server, and the method further includes:

[0018] Periodically reporting status information of the target proxy server to the allocation server, where the status information includes at least one of a status identifier or a load of the target proxy server. The status identifier is used to indicate whether the target proxy server is in a working state. The allocation server is used to assign at least two of the multiple proxy servers to the multiple terminals based on the status information of the multiple proxy servers.

[0019] On the other hand, a data processing method is provided, which is executed by an allocation server in a data processing system. The data processing system further includes a game server and multiple proxy servers. Communication connections are established between the multiple proxy servers and the game server. The method includes:

[0020] Assign at least two of the multiple proxy servers to multiple terminals in the same game session, where at least two terminals in the game session are assigned different proxy servers;

[0021] Among them, the target proxy server among the at least two proxy servers is used to receive a request data packet sent by a target terminal corresponding to the target proxy server, and forward the request data packet to the game server. The request data packet is a data packet generated by the target terminal during the game session, and the target proxy server is any one of the at least two proxy servers.

[0022] Optionally, determining the proxy server assigned to the first terminal in the game session among the multiple proxy servers includes:

[0023] Among the multiple proxy servers, assign the proxy server with the least load to the first terminal;

[0024] Assigning the proxy server with the current least allocation quantity to the second terminal in the game session includes:

[0025] Among the multiple proxy servers with the current least allocation quantity, assign the proxy server with the least load to the second terminal.

[0026] Optionally, the method further includes:

[0027] Send the address of the proxy server assigned to each terminal to each terminal among the multiple terminals. The target terminal is used to send the request data packet to the target proxy server assigned to the target terminal based on the received address after the game session starts.

[0028] Optionally, assigning at least two of the multiple proxy servers to multiple terminals in the same game session includes:

[0029] For the target terminal in the game session, after the game session starts, when the request data packet sent by the target terminal is received for the first time, assign the target proxy server with the current least allocation quantity to the target terminal, and forward the request data packet to the proxy server assigned to the target terminal. The allocation quantity of the target proxy server refers to the number of terminals assigned to the target proxy server in the game session.

[0030] Optionally, assigning the target proxy server with the current least allocation quantity to the terminal includes:

[0031] Among the multiple proxy servers with the current least allocation quantity, assign the target proxy server with the least load to the target terminal.

[0032] Optionally, the method further includes:

[0033] For the target terminal in the game, after the game starts, when the request data packet sent by the target terminal is received for the non-first time, query the target proxy server assigned to the target terminal, and forward the request data packet to the queried target proxy server.

[0034] Optionally, the method further includes:

[0035] Receive a response data packet sent by the target proxy server, where the response data packet is sent by the game server to the target proxy server, and the response data packet is generated by the game server in response to the request data packet;

[0036] Forward the response data packet to the target terminal.

[0037] Optionally, the assigning at least the proxy server among the multiple proxy servers to multiple terminals in the same game includes at least one of the following:

[0038] Among the multiple proxy servers, assign at least two proxy servers in the working state to the multiple terminals;

[0039] Among the multiple proxy servers, assign at least two proxy servers with a load not greater than a target threshold to the multiple terminals.

[0040] On the other hand, a data processing device is provided, configured in a target proxy server in a data processing system, the data processing system includes a game server and multiple proxy servers, a communication connection is established between the multiple proxy servers and the game server, at least two proxy servers among the multiple proxy servers are assigned to multiple terminals in the same game, the target proxy server is any one of the at least two proxy servers, and the proxy servers assigned to at least two terminals in the game are different; the device includes:

[0041] A data packet receiving module, configured to receive a request data packet sent by a target terminal corresponding to the target proxy server, where the request data packet is a data packet generated by the target terminal during the game;

[0042] A data packet forwarding module, configured to forward the request data packet to the game server.

[0043] Optionally, the data packet forwarding module is configured to verify the request data packet, and forward the request data packet to the game server when the request data packet passes the verification.

[0044] Optionally, the data packet receiving module is further configured to receive a response data packet sent by the game server, where the response data packet is generated by the game server in response to the request data packet;

[0045] The data packet forwarding module is further configured to forward the response data packet to the target terminal.

[0046] Optionally, the data processing system further includes an allocation server, and the apparatus further includes:

[0047] A status information reporting module, configured to periodically report the status information of the target proxy server to the allocation server, where the status information includes at least one of a status identifier or a load of the target proxy server, the status identifier is used to indicate whether the target proxy server is in a working state, and the allocation server is configured to allocate at least two proxy servers among the multiple proxy servers to the multiple terminals based on the status information of the multiple proxy servers.

[0048] On the other hand, a data processing apparatus is provided, configured in an allocation server in a data processing system, where the data processing system further includes a game server and multiple proxy servers, and communication connections are established between the multiple proxy servers and the game server; the apparatus includes:

[0049] An allocation module, configured to allocate at least two proxy servers among the multiple proxy servers to multiple terminals in the same game, where the proxy servers allocated to at least two terminals in the game are different;

[0050] Wherein, a target proxy server among the at least two proxy servers is configured to receive a request data packet sent by a target terminal corresponding to the target proxy server, and forward the request data packet to the game server, where the request data packet is a data packet generated by the target terminal during the game, and the target proxy server is any one of the at least two proxy servers.

[0051] Optionally, the allocation module includes:

[0052] A first allocation unit, configured to determine a proxy server allocated to a first terminal in the game among the multiple proxy servers before the game starts;

[0053] The first allocation unit is further configured to allocate the proxy server with the least current allocation quantity to the second terminal in the game until the allocation of proxy servers for each terminal in the game is completed. The allocation quantity of the proxy server refers to the number of terminals allocated to the proxy server in the game. The first terminal and the second terminal are different terminals.

[0054] Optionally, the first allocation unit is configured to allocate the proxy server with the least load among the multiple proxy servers to the first terminal.

[0055] The first allocation unit is further configured to allocate the proxy server with the least load among the multiple proxy servers with the least current allocation quantity to the second terminal.

[0056] Optionally, the apparatus further includes:

[0057] An address sending module, configured to send the address of the proxy server allocated to each terminal to each terminal among the multiple terminals. The target terminal is configured to send the request data packet to the target proxy server allocated to the target terminal based on the received address after the game starts.

[0058] Optionally, the allocation module includes:

[0059] A second allocation unit, configured to, for the target terminal in the game, when receiving the request data packet sent by the target terminal for the first time after the game starts, allocate the target proxy server with the least current allocation quantity to the target terminal. The allocation quantity of the target proxy server refers to the number of terminals allocated to the target proxy server in the game.

[0060] The apparatus further includes:

[0061] A data packet forwarding module, configured to forward the request data packet to the target proxy server allocated to the target terminal.

[0062] Optionally, the second allocation unit is configured to allocate the target proxy server with the least load among the multiple proxy servers with the least current allocation quantity to the target terminal.

[0063] Optionally, the apparatus further includes:

[0064] A query module, configured to, for the target terminal in the game, when receiving the request data packet sent by the target terminal not for the first time after the game starts, query the target proxy server allocated to the target terminal.

[0065] The data packet forwarding module is further configured to forward the request data packet to the queried target proxy server.

[0066] Optionally, the apparatus further includes:

[0067] A data packet receiving module, configured to receive a response data packet sent by the target proxy server, where the response data packet is sent by the game server to the target proxy server, and the response data packet is generated by the game server in response to the request data packet;

[0068] The data packet forwarding module is further configured to forward the response data packet to the target terminal.

[0069] Optionally, the allocation module is configured to perform at least one of the following:

[0070] Among the multiple proxy servers, allocate at least two proxy servers in a working state to the multiple terminals;

[0071] Among the multiple proxy servers, allocate at least two proxy servers with a load not greater than a target threshold to the multiple terminals.

[0072] On the other hand, a server is provided, where the server includes a processor and a memory, and at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to implement the operations performed by the data processing method described in the above aspect.

[0073] On the other hand, a computer-readable storage medium is provided, where at least one computer program is stored in the computer-readable storage medium, and the at least one computer program is loaded and executed by a processor to implement the operations performed by the data processing method described in the above aspect.

[0074] On the other hand, a computer program product is provided, including a computer program, where the computer program is loaded and executed by a processor to implement the operations performed by the data processing method described in the above aspect.

[0075] The system, method, device, server, and storage medium provided by the embodiments of the present application allocate different proxy servers to at least two terminals in the same game, that is, multiple terminals in the same game are dispersed to at least two different proxy servers. The request data packets generated by the terminals during the game need to be forwarded to the game server through the proxy server allocated to the terminal. Since the terminal does not communicate directly with the game server and other proxy servers, the terminal can only initiate a DDoS attack on the proxy server that communicates with itself, and it is difficult to initiate a DDoS attack on the game server and other proxy servers. Even if an abnormality occurs in the packet receiving and sending process of a certain proxy server, it cannot affect all the terminals in the game, thereby narrowing the scope affected by the DDoS attack, reducing the impact caused by the DDoS attack, and effectively protecting the security of the game. Description of the Drawings

[0076] To more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0077] Figure 1 It is a schematic diagram of a data processing system provided by an embodiment of the present application;

[0078] Figure 2 It is a schematic diagram of another data processing system provided by an embodiment of the present application;

[0079] Figure 3 It is a flowchart of a data processing method provided by an embodiment of the present application;

[0080] Figure 4 It is a flowchart of another data processing method provided by an embodiment of the present application;

[0081] Figure 5 It is a schematic diagram of a proxy server provided by an embodiment of the present application;

[0082] Figure 6 It is a system architecture diagram of a data processing method provided by an embodiment of the present application;

[0083] Figure 7 It is a flowchart of yet another data processing method provided by an embodiment of the present application;

[0084] Figure 8 It is a flowchart of still another data processing method provided by an embodiment of the present application;

[0085] Figure 9It is the system architecture diagram of another data processing method provided by the embodiments of the present application;

[0086] Figure 10 It is the schematic diagram of a virtual scene provided by the embodiments of the present application;

[0087] Figure 11 It is the schematic diagram of protecting the security of a game provided by the embodiments of the present application;

[0088] Figure 12 It is the structural schematic diagram of a data processing device provided by the embodiments of the present application;

[0089] Figure 13 It is the structural schematic diagram of another data processing device provided by the embodiments of the present application;

[0090] Figure 14 It is the structural schematic diagram of a server provided by the embodiments of the present application;

[0091] Figure 15 It is the structural schematic diagram of a terminal provided by the embodiments of the present application. Detailed implementation manners

[0092] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the following will further describe the embodiments of the present application in detail with reference to the accompanying drawings.

[0093] It can be understood that the terms "first", "second", etc. used in the present application can be used in this document to describe various concepts, but unless otherwise specified, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of the present application, the first terminal can be called the second terminal, and similarly, the second terminal can be called the first terminal.

[0094] Among them, at least one means one or more. For example, at least one terminal can be one terminal, two terminals, three terminals, etc., any integer greater than or equal to one. A plurality means two or more. For example, a plurality of terminals can be two terminals, three terminals, etc., any integer greater than or equal to two. Each means each of at least one. For example, each terminal means each of the plurality of terminals. If the plurality of terminals are 3 terminals, then each terminal means each of the 3 terminals.

[0095] It can be understood that in the embodiments of the present application, when it comes to data related to user information, request data packets, etc., when the above embodiments of the present application are applied to specific products or technologies, user permission or consent needs to be obtained, and the collection, use, and processing of relevant data need to comply with the relevant laws, regulations, and standards of relevant countries and regions.

[0096] 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 local area network to achieve data computing, storage, processing, and sharing.

[0097] Cloud computing technology is the general term for network technology, information technology, integration technology, management platform technology, application technology, etc. applied based on the cloud computing business model. It can form a resource pool, be used on demand, and is flexible and convenient. Cloud computing technology will become an important support. The back-end services of technical network systems require a large amount of computing and storage resources, such as video websites, picture-based websites, and more portal websites. With the high development and application of the Internet industry, in the future, each item may have its own identification mark and needs to be transmitted to the back-end system for logical processing. Data at different levels will be processed separately, and various industry data requires a powerful system back-end support, which can only be achieved through cloud computing.

[0098] Cloud Security refers to the general term for security software, hardware, users, organizations, and security cloud platforms applied based on the cloud computing business model. Cloud security integrates emerging technologies and concepts such as parallel processing, grid computing, and unknown virus behavior judgment. Through the abnormal monitoring of software behavior in the network by a large number of mesh clients, it obtains the latest information on Trojans and malicious programs in the Internet and sends it to the server for automatic analysis and processing, and then distributes the solutions for viruses and Trojans to each client.

[0099] The main research directions of cloud security include: 1. Cloud computing security, mainly researching how to ensure the security of the cloud itself and various applications on the cloud, including cloud computer system security, secure storage and isolation of user data, user access authentication, information transmission security, network protection, compliance auditing, etc.; 2. Cloudification of security infrastructure, mainly researching how to use cloud computing to build and integrate security infrastructure resources and optimize the security protection mechanism, including building a super-large-scale security event, information collection and processing platform through cloud computing technology to achieve the collection and correlation analysis of massive information, and improving the overall network security event control ability and risk control ability; 3. Cloud security services, mainly researching various security services provided for users based on the cloud computing platform, such as anti-virus services, etc.

[0100] The following will describe the data processing method provided in the embodiments of the present application based on cloud computing technology and cloud security technology.

[0101] To facilitate the understanding of the embodiments of the present application, the following explanations are first made for the related concepts:

[0102] 1. A game refers to the competition of virtual objects controlled by multiple terminals in the same virtual scene. For example, in the scenario of an electronic game, the game is a game session, the virtual scene can be an open space, which can be used to simulate a real environment in reality, and the user of the terminal controls the virtual object to move in the virtual scene.

[0103] 2. DDoS means sending a large number of abnormal data packets to the same server simultaneously, resulting in the server being overloaded and unable to respond to normal data packets.

[0104] 3. Server crashing: In the scenario of an electronic game, performing DDoS on the game session server, causing abnormal packet reception and transmission on the game session server, resulting in obvious delays, lags or disconnections for the players in the game session.

[0105] 4. Server crashing program: A server crashing program that can be installed on the terminal in the form of a game cheat.

[0106] 5. Game session paralysis: Using the server crashing program to perform DDoS on the game session server, making the game session server unable to provide normal services, and causing the users in the game session to be unable to play the game normally.

[0107] An embodiment of the present application provides a data processing system, which includes an allocation server, a game session server, and multiple proxy servers. Taking a game session as an example, the allocation server is used to allocate at least two proxy servers to multiple terminals in the game session, so that each terminal is allocated a proxy server, and the proxy servers allocated to at least two terminals in the game session are different. The proxy server is used to forward data packets between the terminal and the game session server, for example, forwarding the request data packet of the terminal to the game session server, and forwarding the response data packet of the game session server to the terminal, etc.

[0108] Figure 1 is a schematic diagram of a data processing system provided by an embodiment of the present application, as Figure 1 shown, the data processing system includes an allocation server 101, a game session server 102, and multiple proxy servers 103 ( Figure 1 taking 3 as an example), wherein, multiple terminals 104 ( Figure 1 taking 4 as an example) establish a communication connection with the allocation server 101. After each terminal 104 is allocated its own proxy server 103, a communication connection is also established between the terminal 104 and the allocated proxy server 103, and a communication connection is established between each proxy server 103 and the game session server 102.

[0109] During the game process, the terminal 104 generates a request data packet and sends the request data packet to the assigned proxy server 103. The proxy server 103 receives the request data packet and forwards the request data packet to the game server 102. The game server 102 receives the request data packet, generates a response data packet in response to the request data packet, and then sends the response data packet to the proxy server 103, so that the proxy server 103 forwards the response data packet to the terminal 104.

[0110] Figure 2 It is a schematic diagram of another data processing system provided by an embodiment of the present application. As Figure 2 shown, the data processing system includes an allocation server 201, a game server 202, and multiple proxy servers 203 ( Figure 2 taking 3 as an example). Among them, multiple terminals 204 ( Figure 2 taking 4 as an example) establish communication connections with the allocation server 201. The allocation server 201 also establishes communication connections with each proxy server 203, and each proxy server 203 establishes a communication connection with the game server 202.

[0111] During the game process, the terminal 204 generates a request data packet and sends the request data packet to the allocation server 201. The allocation server 201 receives the request data packet and forwards the request data packet to the proxy server 203 assigned to the terminal 204. The proxy server 203 forwards the request data packet to the game server 202. The game server 202 receives the request data packet, generates a response data packet in response to the request data packet, and then sends the response data packet to the proxy server 203. The proxy server 203 forwards the response data packet to the allocation server 201, and the allocation server 201 forwards the response data packet to the terminal 204.

[0112] In the system provided by the embodiment of the present application, the proxy servers assigned to at least two terminals in the same game are different, that is, multiple terminals in the same game are dispersed to at least two different proxy servers. The request data packets generated by the terminal during the game process all need to be forwarded to the game server through the proxy server assigned to the terminal. Since the terminal does not directly communicate with the game server and other proxy servers, the terminal can only initiate a DDoS attack on the proxy server that communicates with itself, and it is difficult to initiate a DDoS attack on the game server and other proxy servers. Even if the packet receiving and sending process of a certain proxy server is abnormal, it cannot affect all the terminals in the game, thereby narrowing the scope affected by the DDoS attack, reducing the impact of the DDoS attack, and effectively protecting the security of the game.

[0113] In a possible implementation, the above-mentioned allocation server, game server, and proxy server can all be independent physical servers, or server clusters or distributed systems composed of multiple physical servers. They can also be cloud servers that provide 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. The above-mentioned terminal can be a smart phone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, vehicle-mounted terminal, etc., but is not limited thereto.

[0114] In a possible implementation, a target application provided by the allocation server, game server, and proxy server is installed on the terminal. The terminal can implement functions such as data transmission, message interaction, and game play through the target application. Optionally, the target application is a target application in the operating system of the terminal, or a target application provided by a third party. For example, the target application is a game application, social application, or shopping application, etc., and the target application can provide the function of online game play.

[0115] In a possible implementation, the allocation server, game server, and proxy server in the above-mentioned data processing system are also used to execute the steps in the following method embodiments, which will not be described in detail here.

[0116] Figure 3 It is a flowchart of a data processing method provided by an embodiment of the present application. The embodiment of the present application is executed by a data management system, which includes an allocation server, a game server, and multiple proxy servers. Refer to Figure 3 The method includes:

[0117] 301. The allocation server allocates at least two proxy servers among multiple proxy servers to multiple terminals in the same game.

[0118] The allocation server determines multiple terminals in the same game, selects at least two proxy servers from the multiple proxy servers, and allocates the at least two proxy servers to the multiple terminals, so that each terminal in the game is allocated a proxy server, and the proxy servers allocated to at least two terminals in the game are different.

[0119] That is to say, the allocation server distributes multiple terminals in the same game to at least two different proxy servers, ensuring that multiple terminals will not be concentrated on the same proxy server.

[0120] 302. The target proxy server among the at least two proxy servers receives the request data packet sent by the target terminal corresponding to the target proxy server, and forwards the request data packet to the game server.

[0121] Among them, the target proxy server is any one of the at least two proxy servers, and the target terminal corresponding to the target proxy server refers to the terminal assigned to the target proxy server. The request data packet of the target terminal is the data packet generated by the target terminal during the process. For example, if the game is a game session, the request data packet may include game data or game instructions generated during the game session, etc. The game server is a server that provides services for multiple terminals in the game session during the game session.

[0122] In the embodiment of the present application, after the target terminal generates the request data packet, it will send the request data packet to the assigned target proxy server, and the target proxy server forwards the request data packet to the game server, rather than the target terminal directly sending the request data packet to the game server.

[0123] It should be noted that the embodiment of the present application only takes the forwarding step performed by one proxy server as an example for illustration, and other proxy servers assigned to terminals in the data processing system can also execute step 302.

[0124] 303. The game server receives the request data packet and processes the request data packet.

[0125] The game server receives the request data packet forwarded by the target proxy server and processes the request data packet. For example, if the game is a game session and the request data packet includes a game instruction, the game server processes the game instruction to enable the game session to proceed normally.

[0126] In the method provided by the embodiment of the present application, the proxy servers assigned to at least two terminals in the same game session are different, that is, multiple terminals in the same game session are distributed to at least two different proxy servers. The request data packets generated by the terminals during the game session all need to be forwarded to the game server through the proxy servers assigned to the terminals. Since the terminals do not directly communicate with the game server and other proxy servers, the terminals can only initiate DDoS to the proxy server that communicates with themselves, and it is difficult to initiate DDoS to the game server and other proxy servers. Even if the packet receiving and sending process of a certain proxy server is abnormal, it cannot affect all the terminals in the game session, thereby narrowing the scope affected by DDoS, reducing the impact caused by DDoS, and effectively protecting the security of the game session.

[0127] Figure 4It is a flowchart of another data processing method provided by an embodiment of the present application. The embodiment of the present application is executed by the above-mentioned Figure 1 data management system. In the embodiment of the present application, a communication connection is established between the allocation server and multiple terminals in the same game session. A communication connection is established between each terminal and its assigned proxy server, and a communication connection is established between each proxy server and the game session server. Refer to Figure 4 , the method includes:

[0128] 401. Before the game session starts, the allocation server determines the proxy server assigned to the first terminal in the game session among multiple proxy servers.

[0129] The allocation server determines multiple terminals in the same game session. Before the game session starts, it selects a proxy server from among the multiple proxy servers and assigns it to the first terminal, which can be any terminal among the multiple terminals that has not been assigned a proxy server yet.

[0130] In a possible implementation manner, each terminal sends a game session start request to the allocation server. After the allocation server receives the game session start requests from the multiple terminals respectively, it assigns the multiple terminals to the same game session and executes steps 401-402 to assign a proxy server to each terminal. For example, in the scenario of an electronic game, the allocation server is the lobby server. Each terminal sends a game session start request to the lobby server. After the lobby server receives the game session start requests from multiple terminals respectively, it assigns the multiple terminals to the same game session, and then the multiple terminals compete in the same game session.

[0131] In another possible implementation manner, the allocation server assigns the proxy server with the least load among multiple proxy servers to the first terminal. Among them, the allocation server determines the load of each proxy server, determines the proxy server with the least load among the multiple proxy servers, and assigns the proxy server with the least load to the first terminal. In the embodiment of the present application, when allocating proxy servers, the load situation of the proxy servers is considered, and the proxy server with the least load is assigned to the terminal, which can avoid excessive load on the proxy server, is beneficial to balancing the load of multiple proxy servers, and thus ensures the normal operation of multiple proxy servers.

[0132] 402. The allocation server assigns the proxy server with the current least allocation quantity to the second terminal in the game session until the assignment of a proxy server to each terminal in the game session is completed.

[0133] After the allocation server allocates a proxy server to the first terminal, it determines the current allocation quantity of each proxy server. Among multiple proxy servers, the proxy server with the least current allocation quantity is allocated to the second terminal among the multiple terminals, where the second terminal and the first terminal are different terminals. If all the multiple terminals have been allocated proxy servers after allocating a proxy server to the second terminal, the allocation server does not need to continue the allocation, and the allocation server has completed the allocation of servers for each terminal in the game. If there are still other terminals among the multiple terminals that have not been allocated proxy servers after allocating a proxy server to the second terminal, the allocation server continues to use the method in step 402 for allocation until the allocation of proxy servers for each server in the game is completed. That is, by executing steps 401-402, the allocation server allocates proxy servers to each terminal in the game in sequence.

[0134] Among them, the allocation quantity of the proxy server refers to the number of terminals allocated to the proxy server in the game. In the embodiments of the present application, each time the allocation server allocates a proxy server to a terminal, it will consider the current allocation situation of the proxy server and allocate the proxy server with the least allocation quantity to the terminal. Therefore, multiple terminals can be dispersed to more proxy servers as much as possible, so that the number of terminals responsible for a proxy server is as small as possible. If the proxy server has abnormal packet receiving and sending due to DDoS subsequently, the affected terminals will be relatively few, thereby reducing the impact caused by DDoS.

[0135] For example, among multiple proxy servers, there is a proxy server with an allocation quantity of 1 and a proxy server with an allocation quantity of 0. An allocation quantity of 1 for the proxy server means that the proxy server has been allocated to 1 terminal, and an allocation quantity of 0 for the proxy server means that the proxy server has not been allocated to any terminal. Then the allocation server allocates the proxy server with an allocation quantity of 0 to the second terminal.

[0136] In a possible implementation manner, the allocation server allocates the proxy server with the least load among the multiple proxy servers with the least current allocation quantity to the second terminal. That is, when the number of proxy servers with the least allocation quantity is multiple, the allocation server determines the load of each proxy server among the multiple proxy servers and allocates the proxy server with the least load to the second terminal. In the embodiments of the present application, when allocating proxy servers, the load situation of the proxy servers is considered, and the proxy server with the least load is allocated to the terminal, which can avoid excessive load on the proxy server, is beneficial to balancing the load of multiple proxy servers, and thus ensures the normal operation of multiple proxy servers.

[0137] For example, among multiple proxy servers, the allocated quantities of proxy server A, proxy server B, and proxy server C are all 0. Among them, the load of proxy server A is 20 terminals, the load of proxy server B is 5 terminals, and the load of proxy server C is 10 terminals. Then, the allocation server allocates proxy server B with the minimum load to the second terminal.

[0138] In the embodiments of the present application, by executing the above steps 401-402, the allocation server allocates at least two proxy servers to multiple terminals in the same game session. In another embodiment, allocating at least two proxy servers to multiple terminals in the same game session includes at least one of the following.

[0139] (1) The allocation server allocates at least two proxy servers in a working state among multiple proxy servers to multiple terminals.

[0140] The allocation server determines whether each proxy server in the data processing system is in a working state, filters out at least two proxy servers in a working state among the multiple proxy servers, and allocates the at least two proxy servers to the multiple terminals.

[0141] Among them, a proxy server in a working state is a proxy server that can work normally, and a proxy server not in a working state is a proxy server that has stopped working. For example, a proxy server in a non-working state is a server that has crashed due to receiving a large number of abnormal data packets, or a proxy server in a non-working state is an idle standby server, etc.

[0142] (2) The allocation server allocates at least two proxy servers with a load not greater than a target threshold among multiple proxy servers to multiple terminals.

[0143] The allocation server determines the current load of each proxy server in the data processing system, filters out at least two proxy servers with a load not greater than the target threshold among the multiple proxy servers, and allocates the at least two proxy servers to the multiple terminals.

[0144] Among them, if a proxy server has too much load, it is likely to crash. Therefore, in order to avoid too much load on the proxy server, a target threshold can be set for the proxy server. If the load of the proxy server is greater than the target threshold, the proxy server will no longer be allocated to other terminals, so as to control the load of the proxy server within a reasonable range and avoid the situation of crashing due to too much load.

[0145] Optionally, the proxy server periodically reports the status information of the proxy server to the allocation server. The status information includes at least one of the status identifier of the proxy server or the load. The status identifier is used to indicate whether the proxy server is in a working state. Therefore, the allocation server can query whether the proxy server is currently in a working state or query the current load of the proxy server according to the status information reported by the proxy server, so as to determine whether to allocate the proxy server to the terminal according to the status information of the proxy server.

[0146] It should be noted that the embodiments of the present application only take the proxy server periodically reporting the status information to the allocation server as an example for illustration. In another embodiment, the allocation server can also use other methods to determine whether the proxy server is in a working state, such as using a probing mechanism, etc. The embodiments of the present application do not limit this.

[0147] It should be noted that the above multiple allocation methods can be combined to implement the process of allocating a proxy server to a terminal. For example, the allocation server filters out multiple proxy servers that are in a working state and have a load not greater than the target threshold among multiple proxy servers in the data processing system. Among the filtered multiple proxy servers, the proxy server with the smallest load is allocated to the first terminal. Then, among the filtered multiple proxy servers, the proxy server with the least current allocation quantity is determined. If only one proxy server is determined, the proxy server is directly allocated to the second terminal. If multiple proxy servers are determined, the proxy server with the smallest load is allocated to the second terminal. The allocation server continues to execute the process of allocating the proxy server according to this method until the allocation of the proxy server to each terminal in the game is completed.

[0148] It should be noted that the above steps 401-402 are only an exemplary allocation method. In addition, the allocation server can also use other allocation methods to allocate proxy servers to each terminal, as long as it is ensured that at least two terminals in the same game are allocated different proxy servers. For example, the allocation server can use a load balancing method to allocate proxy servers, etc. Or the allocation server pre-determines the number of proxy servers. If the number of proxy servers is greater than the number of multiple terminals, different proxy servers can be directly allocated to each terminal. The embodiments of the present application do not limit the specific allocation method.

[0149] 403. The allocation server sends the address of the proxy server allocated to each terminal to each terminal.

[0150] After the allocation server assigns a proxy server to each terminal, it determines the address of the proxy server assigned to each terminal. For each terminal, the allocation server sends the address of the proxy server assigned to that terminal to the terminal. For example, the address of the proxy server is the IP (Internet Protocol) address of the proxy server.

[0151] In a possible implementation, the multiple terminals are assigned by the allocation server to the same game session. The allocation server also obtains the port number corresponding to the game session in the proxy server and sends the port number to each of the multiple terminals. Among them, the port number can indicate the game session. At the same time, one port number in the proxy server corresponds to one game session.

[0152] 404. After the game session starts, the target terminal among the multiple terminals sends a request data packet to the target proxy server assigned to the target terminal based on the received address.

[0153] Among them, the target terminal is any one of the multiple terminals. The target terminal receives the address sent by the allocation server, and this address is the address of the target proxy server assigned to the target terminal. After the game session starts, the target terminal generates a request data packet, and then sends the request data packet to the target proxy server assigned to the target terminal based on this address. Among them, the request data packet is a data packet generated by the target terminal during the game session.

[0154] In a possible implementation, the target terminal also receives the port number in the target proxy server sent by the allocation server, and this port number indicates the port responsible for the game session where the target terminal is located. Then the target terminal sends the request data packet to the target proxy server based on the address of the target proxy server and this port number.

[0155] Optionally, the target terminal obtains the data generated during the game session and generates a request data packet including this data. The request data packet includes a network communication five-tuple, and the network communication five-tuple includes a source IP address, a source port number, a network protocol, a destination IP address, and a destination port number. Among them, the source IP address is the IP address of the target terminal, the source port number indicates the port on the target terminal responsible for this game session, the destination IP address is the IP address of the target proxy server, and the destination port number indicates the port on the target proxy server responsible for this game session. The network communication five-tuple constitutes a communication connection for transmitting data, and this communication connection is a communication connection from the target terminal to the target proxy server. Therefore, based on this communication connection, the request data packet can be transmitted to the port on the target proxy server responsible for this game session.

[0156] 405. The target proxy server receives the request data packet and forwards the request data packet to the game server.

[0157] The target proxy server receives the request data packet sent by the target terminal, queries the game server for responding to the request data packet, and forwards the request data packet to the game server.

[0158] In a possible implementation manner, the target proxy server verifies the request data packet. When the request data packet passes the verification, the target proxy server forwards the request data packet to the game server. To resist abnormal data packets, when the target proxy server receives the request data packet, it first verifies the request data packet to identify whether the request data packet is a normal data packet. If the request data packet passes the verification, it indicates that the request data packet is a normal data packet, and the target proxy server forwards the request data packet to the game server. If the request data packet fails to pass the verification, it indicates that the request data packet is an abnormal data packet, and the target proxy server intercepts the request data packet and does not forward the request data packet to the game server.

[0159] Optionally, a protection program runs in the target proxy server, and the protection program is used to identify and intercept abnormal data packets. Figure 5 FIG. is a schematic diagram of a target proxy server provided by an embodiment of the present application. A protection program 502 runs in the target proxy server 501, and the target proxy server 501 verifies the request data packet through the protection program 502.

[0160] Among them, it is also possible that the protection program fails to identify. The failure to identify includes two situations. The first is that the protection program fails to successfully identify the abnormal data packet, and the abnormal data packet is forwarded to the game server. The second is that the protection program mistakenly identifies the normal data packet as an abnormal data packet, and the normal data packet is intercepted and not forwarded to the game server.

[0161] Among them, when receiving a large number of abnormal data packets, if the following situations occur, it will cause the room to explode successfully and paralyze the game. (1) Low recognition accuracy. If the recognition is inaccurate, it will lead to the inability to intercept abnormal data packets or the misinterception of normal data packets. (2) Long recognition time. If the recognition time is too long, it will cause the normal data packets to be unable to enter the game server for a long time, resulting in a certain time delay and affecting the normal progress of the game. (3) Overload protection. In the case of too many abnormal data packets, in order to ensure that the target proxy server crashes, the target proxy server will be directly stopped, resulting in an impact on the games responsible by the target proxy server.

[0162] In a possible implementation, the target proxy server uses NAT (Network Address Translation) technology to forward the request data packet to the game server. In the embodiments of the present application, the NAT technology is used to convert the source IP address and source port number of the request data packet into the IP address and port number of the target proxy server, and convert the destination IP address and destination port number of the request data packet into the IP address and port number of the game server. That is, the five-tuple of network communication in the request data packet is converted into a new five-tuple of network communication, and the new five-tuple of network communication constitutes a new communication connection, which is a communication connection from the target proxy server to the game server. Therefore, based on this communication connection, the request data packet can be transmitted to the port responsible for the game in the game server.

[0163] Optionally, the target proxy server stores the correspondence between each port number of the target proxy server and the IP address and port number of the game server. The target proxy server obtains the destination port number in the request data packet, queries the corresponding IP address and port number of the destination port number, and converts the destination IP address of the request data packet into the queried IP address, and converts the destination port number of the request data packet into the queried port number. For example, the target proxy server uses Iptables (IP address table) in the NAT technology for network address translation, etc., and the embodiments of the present application do not limit this.

[0164] It should be noted that the embodiments of the present application only take the NAT technology as an example to illustrate the process of forwarding data packets. In another embodiment, the target proxy server can also use other forwarding technologies to forward data packets, such as LVS (Linux Virtual Server), etc., and the embodiments of the present application do not limit this.

[0165] 406. The game server receives the request data packet and generates a response data packet in response to the request data packet.

[0166] The game server receives the request data packet forwarded by the target proxy server and generates a response data packet in response to the request data packet. For example, the game refers to a game session, and the request data packet includes a game instruction. Then the game server generates a response data packet including game data in response to the game instruction.

[0167] 407. The game server sends the response data packet to the target proxy server.

[0168] After obtaining the response data packet, the game server sends the response data packet to the target proxy server that forwarded the request data packet.

[0169] In a possible implementation, since the request data packet received by the game server includes a network communication quintuple, and a communication connection between the target proxy server and the game server can be determined based on this network communication quintuple, the game server can thus determine a new network communication quintuple based on this network communication quintuple. A communication connection between the game server and the target proxy server can be determined based on this new network communication quintuple. Based on this communication connection, it is only necessary to return the response data packet to the target proxy server.

[0170] 408. The target proxy server receives the response data packet and forwards the response data packet to the target terminal.

[0171] After obtaining the response data packet forwarded by the game server, the target proxy server forwards the response data packet to the target terminal that sent the request data packet.

[0172] In a possible implementation, since the request data packet received by the target proxy server includes a network communication quintuple, and a communication connection between the target terminal and the target proxy server can be determined based on this network communication quintuple, the target proxy server can thus determine a new network communication quintuple based on this network communication quintuple. A communication connection between the target proxy server and the target terminal can be determined based on this new network communication quintuple. Based on this communication connection, it is only necessary to return the response data packet corresponding to the request data packet to the target terminal.

[0173] It should be noted that the above steps 404-408 are only described by taking the example of a target terminal performing data packet transmission with the game server through the assigned target proxy server. In the embodiments of the present application, each terminal adopts the method in the above steps 404-408 to perform data packet transmission with the game server through the assigned proxy server, so as to keep the game running normally.

[0174] It should be noted that the above steps 404-408 are only described by taking an example of a single data packet receiving and sending process between the target terminal and the game server. In the embodiments of the present application, every time the target terminal generates a request data packet during the game process, the data packet receiving and sending process in the above steps 404-408 will be executed.

[0175] In the embodiments of the present application, multiple terminals in the same game session are distributed to different proxy servers. Even if an abnormality occurs in the packet receiving and sending of a certain proxy server, it cannot affect all the terminals in the game session, reducing the impact caused by DDoS during the game session. Moreover, since it is only necessary to deploy proxy servers between the terminals and the game session server, the implementation method of this solution is simple and has strong versatility, reducing the difficulty of protecting the security of the game session. Furthermore, the more proxy servers are deployed, the more it can ensure that multiple terminals are distributed to as many proxy servers as possible, and the more it can reduce the impact caused by DDoS. Therefore, the parallel expansion ability of this solution is strong.

[0176] Taking the game sessions of multiple terminals in an electronic game as an example, Figure 6 is a system architecture diagram of a data processing method provided by an embodiment of the present application. As Figure 6 shown, the system includes a lobby server 601, a game session server 602, and multiple proxy servers 603. Among them, multiple terminals 604 are assigned by the lobby server 601 to the same game session, and the game session server 602 provides game session services for the multiple terminals 604. One terminal 604 represents one game player.

[0177] Before the game session starts, the lobby server 601 assigns proxy servers 603 to the multiple terminals 604 based on the status information reported by the multiple proxy servers 603, so that as many terminals 604 as possible are assigned to different proxy servers 603, and each terminal 604 establishes a communication connection with the proxy server 603 assigned to it. As Figure 6 shown, in this system architecture, a communication connection is established between the terminal 604 and the proxy server 603, and a communication connection is established between the proxy server 603 and the game session server 602. Therefore, after the game session starts, the proxy server 603 is responsible for forwarding the data packets between the terminal 604 and the game session server 602.

[0178] In the method provided by the embodiments of the present application, at least two terminals in the same game session are assigned to different proxy servers, that is, multiple terminals in the same game session are distributed to at least two different proxy servers. The request data packets generated by the terminals during the game session all need to be forwarded to the game session server through the proxy servers assigned to the terminals. Since the terminals do not directly communicate with the game session server and other proxy servers, the terminals can only initiate DDoS to the proxy servers that communicate with themselves, and it is difficult to initiate DDoS to the game session server and other proxy servers. Even if an abnormality occurs in the packet receiving and sending process of a certain proxy server, it cannot affect all the terminals in the game session, thereby reducing the scope affected by DDoS and the impact caused by DDoS, and effectively protecting the security of the game session.

[0179] Moreover, each time the allocation server allocates a proxy server to a terminal, it will consider the current allocation status of the proxy server and allocate the proxy server with the least allocation quantity to the terminal. Therefore, multiple terminals can be dispersed to more proxy servers as much as possible, so that the number of terminals responsible for by a proxy server is minimized. Subsequently, if a proxy server has abnormal packet reception and transmission due to DDoS, the affected terminals will be relatively few, thereby reducing the impact caused by DDoS.

[0180] Moreover, when allocating a proxy server, the load condition of the proxy server will be considered, and the proxy server with the minimum load will be allocated to the terminal, which can avoid excessive load on the proxy server, is conducive to balancing the loads of multiple proxy servers, and thus ensures the normal operation of multiple proxy servers.

[0181] Moreover, if the load of a proxy server is greater than the target threshold, the proxy server will no longer be allocated to other terminals, thereby controlling the load of the proxy server within a reasonable range and avoiding the situation of crashing due to excessive load.

[0182] Moreover, since it is only necessary to deploy a proxy server between the terminal and the game server, the implementation method of this solution is simple and has strong versatility, reducing the difficulty of protecting game security. Moreover, the more proxy servers are deployed, the more it can ensure that multiple terminals are dispersed to as many proxy servers as possible, and the more it can reduce the impact caused by DDoS. Therefore, this solution has strong parallel expansion ability.

[0183] Figure 7 It is a flowchart of another data processing method provided by an embodiment of the present application. The embodiment of the present application is executed by the above Figure 2 data management system. In the embodiment of the present application, communication connections are established between multiple terminals in the same game and the allocation server, communication connections are established between the allocation server and multiple proxy servers, and communication connections are established between each proxy server and the game server. The embodiment of the present application takes the situation where the allocation server first receives a data packet sent by a terminal as an example for description. Refer to Figure 7 , the method includes:

[0184] 701. After the game starts, the target terminal sends a request data packet to the allocation server.

[0185] Wherein, the target terminal is any one of the multiple terminals. After the game starts, the target terminal generates a request data packet and sends the request data packet to the allocation server. Wherein, the request data packet is a data packet generated by the target terminal during the game.

[0186] In a possible implementation, the allocation server is a load balancing server. Therefore, the target terminal sends a request data packet to the load balancing server, and the load balancing server distributes the request data packet to other servers for processing.

[0187] In another possible implementation, the target terminal obtains the address of the allocation server and sends the request data packet to the allocation server based on this address. In another possible implementation, the target terminal also obtains the port number in the allocation server, and this port number indicates the port responsible for this game session. Then, the target terminal sends the request data packet to the allocation server based on the address of the allocation server and this port number.

[0188] Optionally, the target terminal obtains the data generated during the game session and generates a request data packet including this data. The request data packet includes a network communication quintuple, and the network communication quintuple includes a source IP address, a source port number, a network protocol, a destination IP address, and a destination port number. Among them, the source IP address is the IP address of the target terminal, the source port number indicates the port on the target terminal responsible for this game session, the destination IP address is the IP address of the allocation server, and the destination port number indicates the port on the allocation server responsible for this game session. The network communication quintuple constitutes a communication connection for transmitting data, and this communication connection is a communication connection from the target terminal to the allocation server. Therefore, based on this communication connection, the request data packet can be transmitted to the port on the allocation server responsible for this game session.

[0189] Optionally, the data processing system further includes a lobby server, and this lobby server is used to allocate game sessions for multiple terminals. Communication connections are established between the multiple terminals and the lobby server. Each terminal sends a game session start request to the lobby server. When the lobby server receives the game session start requests sent by multiple terminals respectively, it allocates the multiple terminals to the same game session and sends the address of the allocation server and the port number corresponding to this game session to each terminal, so that each terminal establishes a communication connection with the allocation server.

[0190] 702. When the allocation server receives the request data packet sent by the target terminal for the first time, it allocates the target proxy server with the current least allocation quantity to the target terminal.

[0191] The allocation server receives the request data packet sent by the target terminal. If this is the first time it receives the request data packet sent by the target terminal, it indicates that no proxy server has been allocated to the target terminal yet. Therefore, the allocation server determines the current allocation quantities of multiple proxy servers and allocates the target proxy server with the current least allocation quantity to the target terminal.

[0192] Among them, the number of target proxy servers allocated refers to the number of target terminals allocated to the target proxy server in the game. In the embodiments of the present application, when the allocation server allocates proxy servers to multiple terminals respectively, it will consider the current allocation situation of the proxy servers and allocate the proxy server with the least allocation quantity to the target terminal. Therefore, multiple terminals can be dispersed to more proxy servers as much as possible, so that the number of terminals responsible for by one proxy server is as small as possible. If the proxy server has abnormal packet receiving and sending due to DDoS subsequently, the affected terminals will be relatively few, thereby reducing the impact caused by DDoS.

[0193] In a possible implementation manner, the allocation server allocates the target proxy server with the least load to the target terminal among multiple proxy servers with the least current allocation quantity. That is, when the number of proxy servers with the least allocation quantity is multiple, the allocation server determines the load of each proxy server among the multiple proxy servers and allocates the target proxy server with the least load among them to the target terminal. In the embodiments of the present application, when allocating proxy servers, the load situation of the proxy servers is considered, and the proxy server with the least load is allocated to the terminal, which can avoid excessive load on the proxy server, is beneficial to balancing the load of multiple proxy servers, and thus ensures the normal operation of multiple proxy servers.

[0194] In another possible implementation manner, the allocation server allocating the target proxy server with the least current allocation quantity to the target terminal includes at least one of the following.

[0195] (1) Among the proxy servers in the working state, allocate the target proxy server with the least current allocation quantity to the target terminal.

[0196] The allocation server determines whether each proxy server in the data processing system is in the working state, screens out the proxy servers in the working state among the multiple proxy servers, and among the screened proxy servers, allocates the target proxy server with the least current allocation quantity to the target terminal.

[0197] (2) Among the proxy servers with a load not greater than the target threshold, allocate the target proxy server with the least current allocation quantity to the target terminal.

[0198] The allocation server determines the current load of each proxy server in the data processing system, screens out at least two proxy servers with a load not greater than the target threshold among the multiple proxy servers, and among the screened proxy servers, allocates the target proxy server with the least current allocation quantity to the target terminal.

[0199] Among them, if the load of the proxy server is too high, it is prone to crashing. Therefore, in order to avoid excessive load on the proxy server, a target threshold can be set for the proxy server. If the load of the proxy server is greater than the target threshold, the proxy server will no longer be assigned to other terminals, so as to control the load of the proxy server within a reasonable range and avoid crashing due to excessive load.

[0200] Optionally, the target proxy server periodically reports the status information of the target proxy server to the allocation server. The status information includes at least one of the status identifier or the load of the target proxy server. The status identifier is used to indicate whether the target proxy server is in a working state.

[0201] 703. The allocation server forwards the request data packet to the target proxy server assigned to the target terminal.

[0202] After the allocation server assigns the target proxy server to the target terminal, it forwards the request data packet of the target terminal to the target proxy server.

[0203] 704. The target proxy server receives the request data packet and forwards the request data packet to the game server.

[0204] 705. The game server receives the request data packet and generates a response data packet in response to the request data packet.

[0205] 706. The game server sends the response data packet to the target proxy server.

[0206] Among them, the processes of steps 704 - 706 are the same as those of steps 405 - 407 above and will not be elaborated here.

[0207] 707. The target proxy server receives the response data packet and forwards the response data packet to the allocation server.

[0208] 708. The allocation server receives the response data packet and forwards the response data packet to the target terminal.

[0209] After the allocation server obtains the response data packet forwarded by the target proxy server, it forwards the response data packet to the target terminal that sent the request data packet.

[0210] In a possible implementation, since the request data packet received by the allocation server includes a network communication quintuple, a communication connection from the target terminal to the allocation server can be determined based on this network communication quintuple. Therefore, the allocation server can determine a new network communication quintuple based on this network communication quintuple. A communication connection from the allocation server to the target terminal can be determined based on the new network communication quintuple. Based on this communication connection, it is sufficient to return the response data packet corresponding to the request data packet to the target terminal.

[0211] It should be noted that the above steps 701-708 are only described by taking the example of a target terminal transmitting data packets to and from the game server through an allocation server and a corresponding target proxy server. In the embodiments of the present application, each terminal adopts the method in the above steps 701-708 to transmit data packets to and from the game server through an allocation server and a corresponding proxy server, so as to keep the game running normally.

[0212] It should be noted that the above steps 701-708 are only described by taking the example of the process of the first data packet reception and transmission between the target terminal and the game server. In the embodiments of the present application, every time the target terminal generates a request data packet during the game, the process of sending the request data packet to the game server will be executed. Among them, the process of non-first data packet reception and transmission between the target terminal and the game server can be seen in the following Figure 8 embodiment.

[0213] In the method provided by the embodiments of the present application, since the terminal establishes a communication connection with the allocation server, the terminal can only initiate a DDoS attack on the allocation server. When the processing capacity of the allocation server is relatively strong, the allocation server can resist the DDoS attack without crashing. However, the allocation server will forward the received abnormal data packets to the corresponding proxy server according to the forwarding logic. Since multiple terminals in the same game are distributed to different proxy servers, even if a certain proxy server receives a large number of abnormal data packets resulting in abnormal data packet reception and transmission, it cannot affect all the terminals in the game, thus narrowing the scope affected by the DDoS attack, reducing the impact of the DDoS attack, and effectively protecting the security of the game.

[0214] Moreover, when the allocation server assigns proxy servers to multiple terminals respectively, it will consider the current allocation situation of the proxy servers and assign the proxy server with the least number of allocations to the terminal. Therefore, multiple terminals can be distributed to as many proxy servers as possible, so that the number of terminals responsible for by a proxy server is as small as possible. Subsequently, if the proxy server has abnormal data packet reception and transmission due to a DDoS attack, the affected terminals will be relatively few, thus reducing the impact caused by the DDoS attack.

[0215] Moreover, when allocating proxy servers, the load conditions of the proxy servers are considered, and the proxy server with the lowest load is allocated to the terminal, which can avoid excessive load on the proxy server, facilitate balancing the loads of multiple proxy servers, and thus ensure the normal operation of multiple proxy servers.

[0216] Moreover, if the load of a proxy server is greater than the target threshold, the proxy server will no longer be allocated to other terminals, thereby controlling the load of the proxy server within a reasonable range and avoiding the situation of collapse due to excessive load.

[0217] Moreover, since it is only necessary to deploy proxy servers between the allocation server and the game server, the implementation method of this solution is simple and has strong versatility, reducing the difficulty of protecting game security. Moreover, the more proxy servers are deployed, the more it can ensure that multiple terminals are dispersed to as many proxy servers as possible, and the more it can reduce the impact caused by DDoS. Therefore, this solution has strong parallel expansion ability.

[0218] In the above Figure 7 In the embodiment, when the allocation server first receives a request data packet sent by a target terminal, it allocates a target proxy server to the target terminal. On this basis, when the allocation server subsequently receives a request data packet sent by the target terminal again, it does not need to re-allocate a proxy server to the target terminal, and directly forwards the request data packet to the target proxy server allocated for the first time. For the specific process, please refer to the following Figure 8 embodiment.

[0219] Figure 8 is a flowchart of another data processing method provided by an embodiment of the present application. The embodiment of the present application is executed by the above Figure 2 data management system. Refer to Figure 8 , this method includes:

[0220] 801. After the game starts, the target terminal sends a request data packet to the allocation server.

[0221] The process of sending the request data packet in step 801 is the same as the process of sending the request data packet in step 701 above, and will not be elaborated here.

[0222] 802. When the allocation server receives a request data packet sent by the target terminal for non-first time, it queries the target proxy server allocated for the target terminal.

[0223] When the allocation server receives the request data packet sent by the target terminal, if this is not the first time it receives the request data packet sent by the target terminal, it means that a proxy server has been allocated to the target terminal. Therefore, the allocation server can directly query the target proxy server allocated for the target terminal without re-allocating a proxy server to the target terminal.

[0224] 803. The distribution server forwards the request data packet to the queried target proxy server.

[0225] After the distribution server queries the target proxy server assigned to the target terminal, it forwards the request data packet of the target terminal to the target proxy server.

[0226] 804. The target proxy server receives the request data packet and forwards the request data packet to the game server.

[0227] 805. The game server receives the request data packet and generates a response data packet in response to the request data packet.

[0228] 806. The game server sends the response data packet to the target proxy server.

[0229] 807. The target proxy server receives the response data packet and forwards the response data packet to the distribution server.

[0230] 808. The distribution server receives the response data packet and forwards the response data packet to the target terminal.

[0231] Among them, the processes of steps 804 - 808 are the same as those of steps 704 - 708 above and will not be elaborated here.

[0232] It should be noted that the above steps 801 - 808 are only described by taking an example that a target terminal transmits data packets to the game server through the corresponding target proxy server. In the embodiments of the present application, each terminal adopts the method in the above steps 801 - 808 to transmit data packets to the game server through the corresponding proxy server, so as to keep the game going normally.

[0233] It should be noted that the above steps 801 - 808 are only described by taking an example of a single data packet receiving and sending process between the target terminal and the game server. In the embodiments of the present application, except for the first generation of the request data packet during the game process of the target terminal, every time a request data packet is generated subsequently, the data packet receiving and sending processes of the above steps 801 - 808 will be executed.

[0234] Taking the game of multiple terminals in an electronic game as an example, Figure 9 is the system architecture diagram of another data processing method provided by the embodiments of the present application, as Figure 9As shown in the figure, the system includes a lobby server 901, a game session server 902, a load balancing server 903, and multiple proxy servers 904. Among them, multiple terminals 905 are assigned by the lobby server 901 to the same game session. The game session server 902 provides game session services for the multiple terminals 905. One terminal 905 represents one game player.

[0235] As Figure 9 shown in the figure, in this system architecture, a communication connection is established between the terminal 905 and the load balancing server 903, a communication connection is established between the load balancing server 903 and the proxy server 904, and a communication connection is established between the proxy server 904 and the game session server 902. Therefore, after the game session starts, the load balancing server 903 and the proxy server 904 are responsible for forwarding data packets between the terminal 905 and the game session server 902.

[0236] In the method provided by the embodiment of the present application, since the terminal establishes a communication connection with the distribution server, the terminal can only initiate a DDoS attack on the distribution server. When the processing capacity of the distribution server is relatively strong, the distribution server can resist the DDoS attack without crashing. However, the distribution server will forward the received abnormal data packets to the corresponding proxy server according to the forwarding logic. Since multiple terminals in the same session are distributed to different proxy servers, even if a certain proxy server receives a large number of abnormal data packets resulting in abnormal packet reception and transmission, it cannot affect all terminals in the session, thus narrowing the scope affected by the DDoS attack, reducing the impact of the DDoS attack, and effectively protecting the security of the session.

[0237] The data processing method provided by the embodiment of the present application can be applied to the scenario of protecting the security of game sessions.

[0238] For example, in the field of electronic games, taking a game session including 100 players as an example, if abnormal players among the 100 players initiate a DDoS attack on the session server, it can cause the game session to crash, resulting in all 100 players in the game session being stuck or disconnected. Then, the abnormal players stop the DDoS attack and seize the opportunity to reconnect to the session server quickly, and can quickly defeat a large number of players who have not had time to reconnect to the session server yet. For example, as Figure 10 shown in the figure, in the parachuting stage of the game session, multiple players in the virtual scene gather together. A crashed game session can make multiple players land together, enabling abnormal players to take the opportunity to defeat multiple players concentratedly, seriously affecting the fairness of the game session.

[0239] To resist the DDoS attack on the game session and cause the session to crash, the method provided in the embodiments of the present application can be used to build a system including a distribution server, a session server, and multiple proxy servers. The distribution server assigns at least two proxy servers to 100 players in the game session, so that the 100 players are dispersed among at least two proxy servers, and then the proxy servers are responsible for forwarding the data packets between the players and the session server. Since the players do not communicate directly with the session server, the abnormal players among the players cannot obtain the address of the session server and cannot send abnormal data packets to the session server, but can only send abnormal data packets to the assigned proxy servers. And since the multiple players in the game session are dispersed among different proxy servers, even if a proxy server has abnormal packet receiving and sending due to a large number of abnormal data packets, it can only affect the players assigned to that proxy server and cannot affect all the players in the game session, thus narrowing the scope affected by the DDoS and making it difficult to form the effect of crashing the session, effectively protecting the security of the game session.

[0240] Figure 11 It is a schematic diagram for protecting the security of a session provided by the embodiments of the present application. The players represent the terminals in the session. Each session includes 100 players, and the 100 players in the same session are dispersed among 100 proxy servers, and each proxy server is responsible for one player in multiple sessions at the same time. Taking session X as an example, session X includes 1 abnormal player and 99 normal players, and the method includes the following steps.

[0241] 1101. The abnormal player uses a session crashing program. Among them, the session crashing program can be a program installed on the terminal of the abnormal player. The abnormal player starts the session crashing program to crash the session where the abnormal player is located.

[0242] 1102. Through the session crashing program, initiate a DDoS attack on the proxy server M assigned to the abnormal player, that is, send a large number of abnormal data packets to the proxy server M.

[0243] Since the abnormal player only establishes a communication connection with the proxy server M assigned to the abnormal player and can only obtain the address of the proxy server M, the abnormal player can only send abnormal data packets to the proxy server M and cannot send abnormal data packets to the session server and other proxy servers.

[0244] 1103. When the protection program of the proxy server M fails to protect, the affected players are dispersed in different sessions and cannot form a session crash, so it will not cause the session to be paralyzed, and the loss caused by the DDoS is small, effectively protecting the security of the session.

[0245] Such as Figure 11As shown, the proxy server M is responsible for abnormal players in game X, as well as one player in game A, one player in game B, and one player in game Z, etc. The other 99 normal players in game X are distributed on other proxy servers, and the other players in other games are also distributed on other proxy servers. Therefore, when the protection of the proxy server fails, the abnormal players in game X and one player in other games cannot communicate normally with the proxy server M, but the other 99 normal players in game X and the other players in other games can still communicate normally with their respective proxy servers, thus reducing the impact caused by DDoS during the game. Even in game X, only one abnormal player is affected. The abnormal player doesn't gain any benefits but instead puts themselves in an unfavorable situation. Therefore, this solution can, to a certain extent, reduce the desire of abnormal players to initiate DDoS, thereby reducing the possibility of being affected by DDoS during the game.

[0246] In the related art, the terminal directly communicates with the game server, so it can directly send abnormal data packets to the game server, and the game server relies solely on the protection program to protect the security of the game. Among them, the differences between the data processing method provided in the embodiments of this application and the data processing method provided by the related art can be seen from the comparison results shown in Table 1 below.

[0247] Table 1

[0248]

[0249] In Related Art 1, the game server uses a protection program with poor protection effect, which cannot resist abnormal data packets with a connection count at the K (thousand) level, a packet volume at the M (million) level, and a traffic volume at the G (billion) level. It can resist easily recognizable abnormal data packets. The device cost and collaboration cost are high, and the time consumption is long. The time required from the start of deployment to the completion of optimization is measured in years. In Related Art 2, the game server uses a protection program with better protection effect, which cannot resist abnormal data packets with an M-level packet volume and a G-level traffic volume. It can resist abnormal data packets with a K-level connection count and easily recognizable abnormal data packets. The device cost and collaboration cost are high, and the time consumption is long. The time required from the start of deployment to the completion of optimization is measured in years. The method provided by the embodiments of the present application can invalidate the room explosion effect caused by abnormal data packets with any level of connection count, any level of packet volume, and any level of traffic volume. That is, no matter how many abnormal data packets are received, it can invalidate the room explosion effect caused by them, so as to achieve the protection effect. It can also resist easily recognizable abnormal data packets. The device cost and collaboration cost are low, and the time consumption is short. The time required from the start of deployment to the completion of optimization is about 1 month. Therefore, as can be seen from Table 1, the method provided by the embodiments of the present application can not only effectively protect the game security, but also the implementation process is relatively simple.

[0250] Figure 12 It is a schematic structural diagram of a data processing device provided by an embodiment of the present application. The data processing device is configured in a proxy server in a data processing system. The data processing system includes a game server and multiple proxy servers. Communication connections are established between the multiple proxy servers and the game server. At least two of the multiple proxy servers are assigned to multiple terminals in the same game. The target proxy server is any one of the at least two proxy servers. The proxy servers assigned to at least two terminals in the game are different. Refer to Figure 12 , the device includes:

[0251] A data packet receiving module 1201, configured to receive a request data packet sent by a target terminal corresponding to the target proxy server. The request data packet is a data packet generated by the target terminal during the game;

[0252] A data packet forwarding module 1202, configured to forward the request data packet to the game server.

[0253] In the data processing device provided by the embodiment of the present application, different proxy servers are assigned to at least two terminals in the same game session. That is, multiple terminals in the same game session are distributed to at least two different proxy servers. The request data packets generated by the terminals during the game session all need to be forwarded to the game server through the proxy server assigned to the terminal. Since the terminal does not directly communicate with the game server and other proxy servers, the terminal can only initiate a DDoS attack on the proxy server that communicates with itself, and it is difficult to initiate a DDoS attack on the game server and other proxy servers. Even if an abnormality occurs in the packet receiving and sending process of a certain proxy server, it cannot affect all the terminals in the game session, thereby narrowing the scope affected by the DDoS attack, reducing the impact caused by the DDoS attack, and effectively protecting the security of the game session.

[0254] Optionally, referring to Figure 12 , the data packet forwarding module 1202 is used to verify the request data packet, and forward the request data packet to the game server when the request data packet passes the verification.

[0255] Optionally, referring to Figure 12 , the data packet receiving module 1201 is further used to receive the response data packet sent by the game server, and the response data packet is generated by the game server in response to the request data packet;

[0256] The data packet forwarding module 1202 is further used to forward the response data packet to the target terminal.

[0257] Optionally, referring to Figure 12 , the data processing system further includes an allocation server, and the device further includes:

[0258] The status information reporting module 1203 is used to periodically report the status information of the target proxy server to the allocation server. The status information includes at least one of the status identifier or the load of the target proxy server. The status identifier is used to indicate whether the target proxy server is in a working state. The allocation server is used to assign at least two proxy servers among the multiple proxy servers to the multiple terminals based on the status information of the multiple proxy servers.

[0259] It should be noted that: when the data processing device provided in the above embodiment performs data processing, only the above-mentioned division of each functional module is used for illustration. In practical applications, the above functions can be assigned to different functional modules according to needs, that is, the internal structure of the proxy server is divided into different functional modules to complete all or part of the functions described above. In addition, the data processing device provided in the above embodiment and the embodiment of the data processing method belong to the same concept, and the specific implementation process can be found in the method embodiment, which will not be elaborated here.

[0260] Figure 13It is a schematic structural diagram of another data processing device provided by an embodiment of the present application. The data processing device is configured in a distribution server in a data processing system. The data processing system further includes a game server and multiple proxy servers, and communication connections are established between the multiple proxy servers and the game server. Refer to Figure 13 , the device includes:

[0261] An allocation module 1301, configured to allocate at least two proxy servers among the multiple proxy servers to multiple terminals in the same game, and the proxy servers allocated to at least two terminals in the game are different;

[0262] Among them, the target proxy server among the at least two proxy servers is used to receive a request data packet sent by a target terminal corresponding to the target proxy server and forward the request data packet to the game server. The request data packet is a data packet generated by the target terminal during the game, and the target proxy server is any one of the at least two proxy servers.

[0263] For the data processing device provided by the embodiment of the present application, the proxy servers allocated to at least two terminals in the same game are different, that is, multiple terminals in the same game are dispersed to at least two different proxy servers. The request data packets generated by the terminals during the game need to be forwarded to the game server through the proxy servers allocated to the terminals. Since the terminals do not directly communicate with the game server and other proxy servers, the terminals can only initiate DDoS to the proxy servers that communicate with themselves, and it is difficult to initiate DDoS to the game server and other proxy servers. Even if the packet receiving and sending process of a certain proxy server is abnormal, it cannot affect all the terminals in the game, thereby reducing the scope affected by DDoS, reducing the impact caused by DDoS, and effectively protecting the security of the game.

[0264] Optionally, refer to Figure 13 , the allocation module 1301 includes:

[0265] A first allocation unit 1311, configured to determine the proxy server allocated to the first terminal in the game among the multiple proxy servers before the game starts;

[0266] The first allocation unit 1311 is further configured to allocate the proxy server with the current least allocation quantity to the second terminal in the game until the allocation of proxy servers to each terminal in the game is completed. The allocation quantity of the proxy server refers to the number of terminals allocated to the proxy server in the game, and the first terminal and the second terminal are different terminals.

[0267] Optionally, refer to Figure 13, a first allocation unit 1311, configured to allocate the proxy server with the least load to the first terminal among multiple proxy servers;

[0268] The first allocation unit 1311 is further configured to allocate the proxy server with the least load to the second terminal among multiple proxy servers with the current least allocation quantity.

[0269] Optionally, refer to Figure 13 , the apparatus further includes:

[0270] An address sending module 1302, configured to send the address of the proxy server allocated to each terminal to each terminal among multiple terminals, and the target terminal is configured to send a request data packet to the target proxy server allocated to the target terminal based on the received address after the game starts.

[0271] Optionally, refer to Figure 13 , the allocation module 1301 includes:

[0272] A second allocation unit 1321, configured to, for the target terminal in the game, when receiving the request data packet sent by the target terminal for the first time after the game starts, allocate the target proxy server with the current least allocation quantity to the target terminal, where the allocation quantity of the target proxy server refers to the number of terminals allocated to the target proxy server in the game;

[0273] The apparatus further includes:

[0274] A data packet forwarding module 1303, configured to forward the request data packet to the target proxy server allocated to the target terminal.

[0275] Optionally, refer to Figure 13 , the second allocation unit 1321 is configured to allocate the target proxy server with the least load to the target terminal among multiple proxy servers with the current least allocation quantity.

[0276] Optionally, refer to Figure 13 , the apparatus further includes:

[0277] A query module 1304, configured to, for the target terminal in the game, when receiving the request data packet sent by the target terminal not for the first time after the game starts, query the target proxy server allocated to the target terminal;

[0278] The data packet forwarding module 1303 is further configured to forward the request data packet to the queried target proxy server.

[0279] Optionally, refer to Figure 13 , the apparatus further includes:

[0280] A data packet receiving module 1305, configured to receive a response data packet sent by a target proxy server, where the response data packet is sent by a game server to the target proxy server, and the response data packet is generated by the game server in response to a request data packet;

[0281] A data packet forwarding module 1303 is further configured to forward the response data packet to a target terminal.

[0282] Optionally, refer to Figure 13 , an allocation module 1301 is configured to perform at least one of the following:

[0283] Among multiple proxy servers, allocate at least two proxy servers in a working state to multiple terminals;

[0284] Among multiple proxy servers, allocate at least two proxy servers with a load not greater than a target threshold to multiple terminals.

[0285] It should be noted that when the data processing device provided in the above embodiment performs data processing, only the division of the above functional modules is used for illustration. In actual applications, the above functions can be allocated to different functional modules according to needs, that is, the internal structure of the allocation server is divided into different functional modules to complete all or part of the functions described above. In addition, the data processing device provided in the above embodiment and the data processing method embodiment belong to the same concept. For the specific implementation process, please refer to the method embodiment and will not be elaborated here.

[0286] An embodiment of the present application further provides a server, which includes a processor and a memory. At least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the data processing method of the above embodiment.

[0287] Figure 14 FIG. is a schematic structural diagram of a server provided by an embodiment of the present application. The server 1400 may vary greatly due to configuration or performance differences, and may include one or more processors (Central Processing Units, CPUs) 1401 and one or more memories 1402. Among them, at least one computer program is stored in the memory 1402, and the at least one computer program is loaded and executed by the processor 1401 to implement the methods provided by the above various method embodiments. Of course, the server may also have components such as wired or wireless network interfaces, keyboards, and input / output interfaces for input / output. The server may also include other components for implementing device functions, which will not be elaborated here.

[0288] An embodiment of this application also provides a terminal, which includes a processor and a memory. At least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the data processing method of the above embodiment.

[0289] Figure 15 FIG. 4 shows a schematic structural diagram of a terminal 1500 provided by an exemplary embodiment of this application.

[0290] The terminal 1500 includes: a processor 1501 and a memory 1502.

[0291] The processor 1501 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 1501 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). The processor 1501 may also include a main processor and a coprocessor. The main processor is a processor used to process data in the wake state, also known as the CPU (Central Processing Unit); the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 1501 may be integrated with a GPU (Graphics Processing Unit), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 1501 may also include an AI (Artificial Intelligence) processor, and the AI processor is used to process computational operations related to machine learning.

[0292] The memory 1502 may include one or more computer-readable storage media, and the computer-readable storage media may be non-transitory. The memory 1502 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices and flash storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 1502 is used to store at least one computer program, and the at least one computer program is used to be possessed by the processor 1501 to implement the data processing method provided by the method embodiment of this application.

[0293] In some embodiments, the terminal 1500 may further optionally include: a peripheral device interface 1503 and at least one peripheral device. The processor 1501, the memory 1502, and the peripheral device interface 1503 may be connected through a bus or signal lines. Each peripheral device may be connected to the peripheral device interface 1503 through a bus, signal lines, or a circuit board. Optionally, the peripheral device includes at least one of a radio frequency circuit 1504 and a display screen 1505.

[0294] The peripheral device interface 1503 can be used to connect at least one I / O (Input / Output) related peripheral device to the processor 1501 and the memory 1502. In some embodiments, the processor 1501, the memory 1502, and the peripheral device interface 1503 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 1501, the memory 1502, and the peripheral device interface 1503 can be implemented on a separate chip or circuit board, and this embodiment does not limit this.

[0295] The radio frequency circuit 1504 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 1504 communicates with a communication network and other communication devices through electromagnetic signals. The radio frequency circuit 1504 converts an electrical signal into an electromagnetic signal for transmission, or converts the received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 1504 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, and so on. The radio frequency circuit 1504 can communicate with other devices through at least one wireless communication protocol. The wireless communication protocol includes but is not limited to: a metropolitan area network, each generation of mobile communication networks (2G, 3G, 4G, and 5G), a wireless local area network, and / or a WiFi (Wireless Fidelity) network. In some embodiments, the radio frequency circuit 1504 may further include a circuit related to NFC (Near Field Communication), and this application does not limit this.

[0296] The display screen 1505 is used to display the UI (User Interface). The UI may include graphics, text, icons, videos, and any combination thereof. When the display screen 1505 is a touch display screen, the display screen 1505 also has the ability to collect touch signals on or above the surface of the display screen 1505. The touch signals can be input as control signals to the processor 1501 for processing. At this time, the display screen 1505 can also be used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one display screen 1505, which is disposed on the front panel of the terminal 1500; in other embodiments, there may be at least two display screens 1505, which are respectively disposed on different surfaces of the terminal 1500 or are in a foldable design; in other embodiments, the display screen 1505 may be a flexible display screen, which is disposed on a curved surface or a folding surface of the terminal 1500. Even, the display screen 1505 can also be set to an irregular non-rectangular shape, that is, a special-shaped screen. The display screen 1505 can be prepared using materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).

[0297] Those skilled in the art can understand that Figure 15 the structure shown in does not constitute a limitation on the terminal 1500, and it may include more or fewer components than shown in the figure, or combine certain components, or adopt a different component layout.

[0298] The embodiment of the present application also provides a computer-readable storage medium, in which at least one computer program is stored, and the at least one computer program is loaded and executed by a processor to implement the operations performed in the data processing method of the above embodiment.

[0299] The embodiment of the present application also provides a computer program product, including a computer program, and the computer program is loaded and executed by a processor to implement the operations performed in the data processing method of the above embodiment. In some embodiments, the computer program involved in the embodiment of the present application can be deployed to be executed on one computer device, or on multiple computer devices located at one place, or, on multiple computer devices distributed at multiple places and interconnected through a communication network. The multiple computer devices distributed at multiple places and interconnected through a communication network can form a blockchain system.

[0300] Those of ordinary skill in the art can understand that all or part of the steps to implement the above embodiments can be completed by hardware, or can be completed by instructing relevant hardware through a program. The program can be stored in a computer-readable storage medium. The above-mentioned storage medium can be a read-only memory, a disk, an optical disc, or the like.

[0301] The above are only optional embodiments of the embodiments of the present application, and are not intended to limit the embodiments of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the embodiments of the present application shall be included in the protection scope of the present application.

Claims

1. A data processing system, characterized in that, The data processing system includes a distribution server, a game server, and multiple proxy servers. A communication connection is established between the multiple proxy servers and the game server, and the number of the multiple proxy servers is greater than the number of multiple terminals in the same game. The distribution server is configured to allocate at least two proxy servers among the multiple proxy servers to the multiple terminals in the same game. Among them, each terminal in the game is allocated a different proxy server, and any one of the multiple terminals is allocated the same proxy server in the same game. The target proxy server among the at least two proxy servers is configured to receive a request data packet sent by a target terminal corresponding to the target proxy server, and forward the request data packet to the game server. The request data packet is a data packet generated by the target terminal during the game. The target proxy server is any one of the at least two proxy servers, and the target terminal corresponding to the target proxy server is the terminal allocated to the target proxy server in the game. The game server is configured to receive the request data packet and process the request data packet.

2. The system according to claim 1, characterized in that, The distribution server is configured to: Before the game starts, determine the proxy server allocated to the first terminal in the game among the multiple proxy servers. Allocate the proxy server with the current least allocation quantity to the second terminal in the game until the allocation of proxy servers to each terminal in the game is completed. The allocation quantity of the proxy server refers to the number of terminals allocated to the proxy server in the game. The first terminal and the second terminal are different terminals.

3. The system according to claim 2, wherein The distribution server is configured to allocate the proxy server with the least load among the multiple proxy servers to the first terminal. The distribution server is further configured to allocate the proxy server with the least load among the multiple proxy servers with the current least allocation quantity to the second terminal.

4. The system according to claim 2, wherein The distribution server is further configured to send the address of the proxy server allocated to each terminal to each terminal. The target terminal is configured to send the request data packet to the target proxy server allocated to the target terminal based on the received address after the game starts.

5. The system according to claim 4, characterized in that, The game server is configured to: Generate a response data packet in response to the request data packet. Send the response data packet to the target terminal through the target proxy server.

6. The system according to claim 1, wherein The distribution server is configured to, after the game starts, when receiving the request data packet sent by the target terminal for the first time, allocate the target proxy server with the current least allocation quantity to the terminal, and forward the request data packet to the target proxy server. The allocation quantity of the target proxy server refers to the number of terminals allocated to the target proxy server in the game.

7. The system according to claim 6, characterized in that, The allocation server is configured to allocate the target proxy server with the lowest load among multiple proxy servers with the least current allocation quantity to the target terminal.

8. The system according to claim 6, wherein The allocation server is further configured to: After the game starts, when receiving the request data packet sent by the target terminal for non-first time, query the target proxy server allocated to the target terminal, and forward the request data packet to the queried target proxy server.

9. The system according to claim 6, wherein The game server is further configured to generate a response data packet in response to the request data packet; The game server is further configured to send the response data packet to the allocation server through the target proxy server; The allocation server is further configured to receive the response data packet and forward the response data packet to the target terminal.

10. The system according to any one of claims 1-9, characterized in that, The allocation server is configured to perform at least one of the following: Among the multiple proxy servers, allocate at least two proxy servers in a working state to the multiple terminals; Among the multiple proxy servers, allocate at least two proxy servers with a load not greater than a target threshold to the multiple terminals.

11. The system according to claim 10, wherein, The target proxy server is further configured to: Periodically report the status information of the target proxy server to the allocation server, where the status information includes at least one of a status identifier or a load of the target proxy server, and the status identifier is used to indicate whether the target proxy server is in a working state.

12. The system according to any one of claims 1-9, characterized in that, The target proxy server is configured to: Verify the request data packet, and forward the request data packet to the game server when the request data packet passes the verification.

13. A data processing method, characterized in that Executed by a target proxy server in a data processing system, the data processing system includes a game server and multiple proxy servers, a communication connection is established between the multiple proxy servers and the game server, the number of the multiple proxy servers is greater than the number of multiple terminals in the same game, at least two proxy servers among the multiple proxy servers are allocated to the multiple terminals in the same game, the target proxy server is any one of the at least two proxy servers, each terminal in the game is allocated a different proxy server, and any one of the multiple terminals is allocated the same proxy server in the same game; the method includes: Receive a request data packet sent by a target terminal corresponding to the target proxy server, where the request data packet is a data packet generated by the target terminal during the game, and the target terminal corresponding to the target proxy server is the terminal allocated to the target proxy server in the game; Forward the request data packet to the game server.

14. A data processing method, characterized in that, Executed by an allocation server in a data processing system, the data processing system further includes a game server and multiple proxy servers, a communication connection is established between the multiple proxy servers and the game server, and the number of the multiple proxy servers is greater than the number of multiple terminals in the same game; the method includes: Assign at least two of the multiple proxy servers to multiple terminals in the same game session, where each terminal in the game session is assigned a different proxy server, and any one of the multiple terminals is assigned the same proxy server in the same game session; Among them, the target proxy server among the at least two proxy servers is used to receive a request data packet sent by a target terminal corresponding to the target proxy server, and forward the request data packet to the game server. The request data packet is a data packet generated by the target terminal during the game session. The target proxy server is any one of the at least two proxy servers, and the target terminal corresponding to the target proxy server is the terminal assigned to the target proxy server in the game session.

15. The method according to claim 14, characterized in that The step of assigning at least two of the multiple proxy servers to multiple terminals in the same game session includes: Before the start of the game session, determine the proxy server assigned to the first terminal in the game session among the multiple proxy servers; Assign the proxy server with the current least number of assigned terminals to the second terminal in the game session until the assignment of proxy servers to each terminal in the game session is completed. The number of assigned terminals of a proxy server refers to the number of terminals assigned to the proxy server in the game session. The first terminal and the second terminal are different terminals.

16. A data processing device, characterized in that, A target proxy server configured in a data processing system, the data processing system includes a game server and multiple proxy servers, a communication connection is established between the multiple proxy servers and the game server, the number of the multiple proxy servers is greater than the number of multiple terminals in the same game session, at least two of the multiple proxy servers are assigned to multiple terminals in the same game session, the target proxy server is any one of the at least two proxy servers, each terminal in the game session is assigned a different proxy server, and any one of the multiple terminals is assigned the same proxy server in the same game session; The device includes: A data packet receiving module, configured to receive a request data packet sent by a target terminal corresponding to the target proxy server, where the request data packet is a data packet generated by the target terminal during the game session, and the target terminal corresponding to the target proxy server is the terminal assigned to the target proxy server in the game session; A data packet forwarding module, configured to forward the request data packet to the game server.

17. A data processing device, characterized in that, An assignment server configured in a data processing system, the data processing system further includes a game server and multiple proxy servers, a communication connection is established between the multiple proxy servers and the game server, and the number of the multiple proxy servers is greater than the number of multiple terminals in the same game session; The device includes: An allocation module, configured to allocate at least two of the multiple proxy servers to multiple terminals in the same game session, where each terminal in the game session is allocated a different proxy server, and any one of the multiple terminals is allocated the same proxy server in the same game session; Wherein, a target proxy server among the at least two proxy servers is configured to receive a request data packet sent by a target terminal corresponding to the target proxy server, and forward the request data packet to the game server, where the request data packet is a data packet generated by the target terminal during the game session, the target proxy server is any one of the at least two proxy servers, and the target terminal corresponding to the target proxy server is the terminal allocated the target proxy server in the game session.

18. A server, characterized in that, The server includes a processor and a memory, and at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to implement the data processing method as claimed in claim 13, or to implement the data processing method as claimed in any one of claims 14 to 15.

19. A computer-readable storage medium, characterized in that, At least one computer program is stored in the computer-readable storage medium, and the at least one computer program is loaded and executed by a processor to implement the data processing method as claimed in claim 13, or to implement the data processing method as claimed in any one of claims 14 to 15.

20. A computer program product comprising a computer program, characterized in that, The computer program is loaded and executed by a processor to implement the data processing method as claimed in claim 13, or to implement the data processing method as claimed in any one of claims 14 to 15.

Citation Information

Patent Citations

  • Domain name proxy request processing method and device

    CN111917900A

  • Method for opposing refuse service attack with DNS and applied agency combination

    CN1510872A