Game acceleration method, game accelerator and storage medium

By sending network status detection packets to the acceleration node group in the game accelerator of the game client, determining the packet loss rate and selecting the transmission path, the problem of high network delay and packet loss rate in foreign server games is solved, and the game experience is improved.

CN120114824AActive Publication Date: 2025-06-10QINGFENG (BEIJING) TECH CO LTD

Patent Information

Application Number
CN202510616478.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-14
Publication Date
2025-06-10
Estimated Expiration
2045-05-14

AI Technical Summary

Technical Problem

Game users may encounter problems such as high network delay and high packet loss rate when playing foreign server games, which will affect the user's gaming experience.

Method used

By installing a game accelerator on the game client, responding to the game acceleration request, sending a network status detection packet to the acceleration node group, receiving feedback data packets, determining the packet loss rate of the acceleration node, and determining the target transmission path and method based on the packet loss rate, and transmitting the original game data packet to the target game server.

Benefits of technology

It effectively reduces the network delay and packet loss rate of game users when playing foreign server games, thereby improving the user's gaming experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120114824A_ABST
    Figure CN120114824A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of computers, and provides a game acceleration method, a game accelerator and a storage medium. The method comprises the following steps: in response to a game acceleration request initiated by a game client for an external service game, sending a network state detection packet set to an acceleration node group according to a preset detection period, and receiving a network state data packet set fed back by the acceleration node group; determining a current cycle packet loss rate and a next cycle packet loss rate corresponding to each acceleration node based on the network state detection packet set and the network state data packet set; determining a target transmission path and a target transmission mode based on the packet loss rate of the current period and the packet loss rate of the next period; and transmitting the original game data packet to a target game server through the target transmission path and the target transmission mode to complete game acceleration. According to the method, the network delay and the packet loss rate when the game user plays the outer clothing game can be effectively reduced, so that the game experience of the user is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular, to a game acceleration method, a game accelerator, and a storage medium. Background Art

[0002] With the rapid development of science and technology, the scale of the global game market is continuously expanding, and the demand for foreign server games is also gradually increasing.

[0003] Currently, game users may encounter problems such as high network latency and high packet loss rate when playing foreign server games, which will affect the user's game experience. Summary of the Invention

[0004] In view of this, embodiments of this application provide a game acceleration method, a game accelerator, and a storage medium to solve the problem that game users have high network latency and high packet loss rate when playing foreign server games in the prior art, thus affecting the user's game experience.

[0005] In the first aspect of the embodiments of this application, a game acceleration method is provided, including: In response to a game acceleration request initiated by a game client for a foreign server game, send a network status probe packet set to an acceleration node group according to a preset detection period, and receive a network status data packet set feedback by the acceleration node group, where the acceleration node group includes multiple acceleration nodes, and the game acceleration request includes a target server identifier and an original game data packet; Based on the network status probe packet set and the network status data packet set, determine the current period packet loss rate and the next period packet loss rate corresponding to each acceleration node in the acceleration node group; Based on the current period packet loss rate and the next period packet loss rate corresponding to each acceleration node, determine a target transmission path and a target transmission method; Transmit the original game data packet to a target game server corresponding to the target server identifier through the target transmission path and the target transmission method to complete game acceleration.

[0006] In the second aspect of the embodiments of this application, a game accelerator is provided, including: A response module, configured to, in response to a game acceleration request initiated by a game client for a foreign server game, send a network status probe packet set to an acceleration node group according to a preset detection period, and receive a network status data packet set feedback by the acceleration node group, where the acceleration node group includes multiple acceleration nodes, and the game acceleration request includes a target server identifier and an original game data packet; The first determination module is configured to determine the current cycle packet loss rate and the next cycle packet loss rate corresponding to each acceleration node in the acceleration node group based on the network status probe packet set and the network status data packet set; The second determination module is configured to determine the target transmission path and the target transmission method based on the current cycle packet loss rate and the next cycle packet loss rate corresponding to each acceleration node; The transmission module is configured to transmit the original game data packet to the target game server corresponding to the target server identifier through the target transmission path and the target transmission method to complete game acceleration.

[0007] In the third aspect of the embodiments of the present application, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the above method are implemented.

[0008] Compared with the prior art, the beneficial effects of the embodiments of the present application at least include: When a game user plays a foreign server game, the game user can first initiate a game acceleration request to the game accelerator through the game client installed. The game accelerator responds to the game acceleration request, sends a network status probe packet set to the acceleration node group according to a preset detection period, and receives the network status data packet set fed back by the acceleration node group; then, based on the network status probe packet set and the network status data packet set, determine the current cycle packet loss rate and the next cycle packet loss rate corresponding to each acceleration node in the acceleration node group, and then determine the target transmission path and the target transmission method according to the candidate current cycle packet loss rate and the candidate next cycle packet loss rate of each candidate acceleration node; finally, transmit the original game data packet to the target game server corresponding to the target server identifier through the target transmission path and the target transmission method to complete game acceleration. Through the above method, the network latency and packet loss rate of the game user when playing a foreign server game can be effectively reduced, thereby improving the user's game experience. Description of the Drawings

[0009] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for use in the embodiments or the description of the prior art. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained according to these drawings without creative efforts.

[0010] Figure 1 It is a schematic diagram of the application scenario of an embodiment of the present application; Figure 2 It is a schematic flowchart of the game acceleration method provided by an embodiment of the present application; Figure 3It is a schematic diagram of some candidate transmission paths constructed in an embodiment of the present application; Figure 4 It is a schematic diagram of the detection period provided in an embodiment of the present application; Figure 5 It is a schematic structural diagram of a game accelerator provided in an embodiment of the present application; Figure 6 It is a schematic structural diagram of an electronic device provided in an embodiment of the present application. Detailed implementation manners

[0011] In the following description, for the purpose of illustration rather than limitation, specific details such as specific system architectures and technologies are presented in order to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid unnecessary details from interfering with the description of the present application.

[0012] A game acceleration method and a game accelerator according to an embodiment of the present application will be described in detail below with reference to the accompanying drawings.

[0013] Figure 1 It is a schematic diagram of an application scenario of an embodiment of the present application. Please refer to Figure 1 , this application scenario includes a game client 101, an acceleration node group 102, and a target game server 103. Among them, the game client 101 can be various electronic devices such as a smart phone, a notebook computer, and a tablet computer. The acceleration node group 102, also known as the proxy node group, includes n acceleration nodes, namely acceleration node 102-1, acceleration node 102-2,..., acceleration node 102-n. Each acceleration node can be a network device such as a router. The target game server 103 can be various electronic devices that provide various services (such as various game services, etc.) for the game client 101. The game client 101 can establish a communication connection with each acceleration node in the acceleration node group 102 through a wired network or a wireless network; each acceleration node can establish a communication connection with the target game server 103 through a wired network or a wireless network.

[0014] In some embodiments, the game accelerator can be installed in the game client 101. Among them, the game accelerator can be a game accelerator tool or a game acceleration application program, etc. A game accelerator tool generally refers to a software or hardware device that can optimize the running speed of the system, network, or specific tasks through various technical means. A game acceleration application program generally refers to software that optimizes and accelerates the performance of a specific application program.

[0015] Figure 2It is a schematic flowchart of a game acceleration method provided by an embodiment of the present application. Figure 2 The game acceleration method can be executed by a game accelerator installed in Figure 1 the game client 101 as shown. As Figure 2 shown, the game accelerator method includes the following steps: Step S201, in response to a game acceleration request initiated by the game client for a foreign server game, send a network status detection packet set to the acceleration node group according to a preset detection period, and receive a network status data packet set feedback by the acceleration node group, where the acceleration node group includes multiple acceleration nodes, and the game acceleration request includes a target server identifier and an original game data packet.

[0016] The preset detection period can be custom-set by the user through the game client when playing a foreign server game, or can be pre-configured by the game accelerator developer during the development stage. The preset detection period can be set to 1 second, 2 seconds, etc., and the embodiments of the present application do not make specific limitations on this.

[0017] The target server identifier is bound to the target game server correspondingly.

[0018] As an example, please refer to Figure 1 , during the period when a game user plays a foreign server game using the game client 101 (such as a smart phone, etc.), a game acceleration request can be initiated by triggering the game accelerator preset in the game client 101. When the game accelerator receives the game acceleration request, in response to the game acceleration request, send a network status detection packet set to each acceleration node of the acceleration node group 102 according to a preset detection period (such as 1 second), and receive a network status data packet set feedback by each acceleration node of the acceleration node group 102.

[0019] Step S202, based on the network status detection packet set and the network status data packet set, determine the current cycle packet loss rate and the next cycle packet loss rate corresponding to each acceleration node in the acceleration node group.

[0020] The current cycle packet loss rate refers to the packet loss rate of each acceleration node in the acceleration node group within the current cycle.

[0021] The next cycle packet loss rate refers to the packet loss rate of each acceleration node in the acceleration node group within the next cycle.

[0022] The packet loss rate refers to the ratio of the number of lost data packets to the total number of sent data packets during network transmission (usually expressed as a percentage).

[0023] Step S203: Determine the target transmission path and the target transmission method based on the current cycle packet loss rate and the next cycle packet loss rate corresponding to each acceleration node.

[0024] Step S204: Transmit the original game data packet to the target game server corresponding to the target server identifier through the target transmission path and the target transmission method to complete game acceleration.

[0025] In the technical solution provided by the embodiments of the present application, when a game user plays a foreign server game, the game user can first initiate a game acceleration request to the game accelerator through the game client installed. The game accelerator responds to the game acceleration request, sends a network status detection packet set to the acceleration node group according to a preset detection period, and receives the network status data packet set fed back by the acceleration node group. Then, based on the network status detection packet set and the network status data packet set, determine the current cycle packet loss rate and the next cycle packet loss rate corresponding to each acceleration node in the acceleration node group, and then determine the target transmission path and the target transmission method according to the candidate current cycle packet loss rate and the candidate next cycle packet loss rate of each candidate acceleration node. Finally, transmit the original game data packet to the target game server corresponding to the target server identifier through the target transmission path and the target transmission method to complete game acceleration. Through the above method, the network latency and packet loss rate of game users when playing foreign server games can be effectively reduced, thereby improving the game experience of users.

[0026] In some embodiments, sending a network status detection packet set to the acceleration node group according to a preset detection period and receiving the network status data packet set fed back by the acceleration node group includes: Start a detection thread to send a network status detection packet set to the acceleration node group according to a preset detection period; Start a listening thread to receive the network status data packet set returned by the acceleration node group; Among them, the network status detection packet set includes multiple detection packet combinations, the network status data packet set includes multiple feedback packet combinations, one acceleration node corresponds to one detection packet combination and one feedback packet combination, one detection packet combination includes multiple network status detection packets, the feedback packet combination is an empty packet combination or a non-empty packet combination, where the number of network status data packets in the empty packet combination is zero, and the non-empty packet combination includes at least one network status data packet.

[0027] The network status detection packet can be a UDP (User Datagram Protocol) detection packet. The network status detection packet includes information such as the source address (i.e., the address of the game accelerator), the destination address (i.e., the address of a certain acceleration node), and the network status data acquisition instruction.

[0028] The network status data packet can be a UDP data packet. The UDP data packet includes information such as the source address (i.e., the address of a certain acceleration node), the destination address (the address of the game accelerator), and network status data.

[0029] UDP is a connectionless and simple transport layer protocol. By sending a combination of probe packets to each acceleration node in the acceleration node group and receiving the combination of feedback packets returned by each acceleration node, the game accelerator can improve the data transmission efficiency between the game accelerator and each acceleration node.

[0030] As an example, please refer to Figure 1 , when the game accelerator receives a game acceleration request initiated by a game user through the game client 101, it starts a probe thread and sends a combination of probe packets (the number of UDP probe packets can be user-defined, for example, it can be set to 100, 150, or 200, etc.) to each acceleration node in the acceleration node group 102 at a preset probe period (such as 1 second). Exemplarily, the game accelerator sends the probe packet combination 1 (including 100 UDP probe packets) to the accelerator node 102-1, sends the probe packet combination 2 (including 100 UDP probe packets) to the acceleration node 102-2,... and so on, sends the probe packet combination n (including 100 UDP probe packets) to the acceleration node 102-n. At the same time, it starts a listening thread to receive the feedback packet combination 1 fed back by the accelerator node 102-1 in the acceleration node group 102, receives the feedback packet combination 2 fed back by the acceleration node 102-2,... and so on, receives the feedback packet combination n fed back by the acceleration node 102-n.

[0031] Among them, the probe thread and the listening thread are two independent threads. The probe thread is mainly used to execute sending a certain number of network status probe packets to each acceleration node. The listening thread is mainly used to execute receiving the network status data packets fed back by each acceleration node.

[0032] By using the probe thread and the listening thread to send and receive data, the concurrent processing ability and response performance of the game accelerator can be improved, which is beneficial to enhancing its overall execution efficiency; secondly, by implementing data sending and receiving through different threads, the structure of the program becomes clearer, and the function of each thread is single, which is convenient for code writing, debugging, and maintenance.

[0033] Next, the game accelerator can calculate the current cycle packet loss rate and the next cycle packet loss rate of each acceleration node according to the probe packet combination and the feedback packet combination of each acceleration node.

[0034] The following takes calculating the current cycle packet loss rate and the next cycle packet loss rate of the acceleration node 102-1 as an example for illustration.

[0035] Assume that the game accelerator sends a probe packet combination 1 to the acceleration node 102-1 in the current period. The probe packet combination 1 includes y network status probe packets, and in the current period, a feedback packet combination 1 fed back by the acceleration node 102-1 is received. The feedback packet combination 1 includes a network status data packets, where the value range of a is 0~y; then the packet loss rate of the acceleration node 102-1 in the current period can be calculated according to the following formula (1): (1); In formula (1), represents the packet loss rate of the acceleration node 102-1 in the current period; y represents the number of network status probe packets in the probe packet combination 1 sent by the game accelerator to the acceleration node 102-1 in the current period; represents the number of network status data packets in the feedback packet combination 1 fed back by the acceleration node 102-1 received by the game accelerator in the current period.

[0036] As an example, the probe packet combination 1 and the feedback packet combination 1 in the current period can be input into a pre-trained packet loss rate prediction model to output the packet loss rate situation of the acceleration node 102-1 in the next few periods (i.e., the next few periods of the current period).

[0037] The above-mentioned packet loss rate prediction model can be trained by using an LSTM (Long Short-Term Memory) neural network on the historical monitoring data sets of each acceleration node. Among them, the historical monitoring data sets include the probe packet combinations sent by the game accelerator received by each acceleration node before the current period and the feedback packet combinations fed back to the game accelerator.

[0038] Similarly, the packet loss rate of other acceleration nodes in the current period and the packet loss rate in the next period can be determined by referring to the above method, which will not be elaborated here.

[0039] In some embodiments, based on the packet loss rate of each acceleration node in the current period and the packet loss rate in the next period, determining the target transmission path and the target transmission method includes: Based on the packet loss rate of each acceleration node in the current period and the packet loss rate in the next period, at least one candidate acceleration node is selected from the group of acceleration nodes; Construct M candidate transmission paths. Among them, each candidate transmission path includes a path start node, at least one path intermediate node, and a path end node. The path start node is the game client, the path intermediate node is the candidate acceleration node, and the path end node is the target game server. M is an integer ≥1; Based on the candidate current period packet loss rate and the candidate next period packet loss rate of each candidate acceleration node in each candidate transmission path, one target transmission path is selected from the M candidate transmission paths; Determine a target transmission mode based on the target current - period packet loss rate and the target next - period packet loss rate of a target acceleration node on a target transmission path.

[0040] As an example, please refer to Figure 1 , assuming that the acceleration node group 102 includes n acceleration nodes, namely acceleration node 102 - 1, acceleration node 102 - 2,......, acceleration node 102 - n. Then, the game accelerator can first calculate the current - period packet loss rate and the next - period packet loss rate corresponding to each acceleration node according to the above - mentioned implementation manner, that is, the current - period packet loss rate 1 and the next - period packet loss rate 1 of acceleration node 102 - 1, the current - period packet loss rate 2 and the next - period packet loss rate 2 of acceleration node 102 - 2,......, the current - period packet loss rate n and the next - period packet loss rate n of acceleration node 102 - n. Then, compare whether the current - period packet loss rate and the next - period packet loss rate of each acceleration node meet a preset packet loss rate range (which can be flexibly set according to the actual situation). If they meet, determine this acceleration node as a candidate acceleration node. For example, the preset packet loss rate range is 0~20%. Assuming that both the current - period packet loss rate 1 and the next - period packet loss rate 1 of acceleration node 102 - 1 are between 0 and 20%, then acceleration node 102 - 1 can be determined as a candidate acceleration node.

[0041] Through the above - mentioned method, at least one candidate acceleration node that meets the preset screening conditions (such as meeting the preset packet loss rate range) can be screened out from the acceleration node group.

[0042] As an example, please refer to Figure 3 , assuming that three candidate acceleration nodes, namely acceleration node 102 - 1, acceleration node 102 - 2, and acceleration node 102 - n, are screened out from the acceleration node group. Then, with the location of the game client as the path start node (marked as point S), the location of the target game server as the path end node (marked as point E), and the locations of the three candidate acceleration nodes, acceleration node 102 - 1, acceleration node 102 - 2, and acceleration node 102 - n, as the path intermediate nodes (marked as points A1, A2, A3 respectively), M candidate transmission paths are constructed. Among them, the candidate transmission paths include: path S - A1 - E, path S - A2 - E, path S - A3 - E, path S - A1 - A2 - E, path S - A1 - A3 - E, path S - A2 - A1 - E, path S - A2 - A3 - E, path S - A3 - A1 - E, path S - A3 - A2 - E, path S - A1 - A2 - A3 - E, path S - A1 - A3 - A2 - E, path S - A2 - A1 - A3 - E, path S - A2 - A3 - A1 - E, path S - A3 - A1 - A2 - E, path S - A3 - A2 - A1 - E, a total of 15 paths. At this time, M = 15.

[0043] In some embodiments, screening out a target transmission path from M candidate transmission paths based on the candidate current - period packet - loss rates and candidate next - period packet - loss rates of each candidate acceleration node in each candidate transmission path includes: Calculating the average link packet - loss rate of each candidate transmission path based on the candidate current - period packet - loss rates and candidate next - period packet - loss rates of each candidate acceleration node in each candidate transmission path; Determining the number of hops of the transmission nodes of each candidate transmission path; Screening out a target transmission path from M candidate transmission paths according to the average link packet - loss rate and the number of hops of the transmission nodes of each candidate transmission path.

[0044] The number of hops of the transmission nodes refers to the number of intermediate nodes on the path that a data packet passes through from the start node of the path to the end node of the path, that is, the number of intermediate nodes of the candidate transmission path. For example, if a candidate transmission path includes 1 start node of the path, 2 intermediate nodes of the path, and 1 end node of the path, then the number of hops of this candidate transmission path is 2.

[0045] As an example, the average link packet - loss rate of each candidate transmission path can be calculated according to the following formula (2).

[0046] (2); In formula (2), represents the average link packet - loss rate of the candidate transmission path; represents the current - period packet - loss rate of the i th intermediate node of the candidate transmission path; represents the next - period packet - loss rate of the i th intermediate node of the candidate transmission path; k represents the total number of intermediate nodes (i.e., candidate acceleration nodes) in the candidate transmission path; represents the average packet - loss rate of the section from the last intermediate node of the candidate transmission path to the end node of the path; , represent weight coefficients, and sum to 1.

[0047] In practical applications, and can be allocated according to the degree of influence of different sections on the overall transmission efficiency of the candidate transmission path. For example, if the packet - loss rate of the section from the last start node of the path to the end node of the path has a greater impact on the overall transmission efficiency of the candidate transmission path, then a smaller and a larger ; On the contrary, if the packet loss rate of the section from the last path start node to the path end node has a relatively small impact on the overall transmission efficiency of the candidate transmission path, then a relatively large and a relatively small can be set.

[0048] In some embodiments, according to the average link packet loss rate and the number of transmission node hops of each candidate transmission path, screening out a target transmission path from M candidate transmission paths includes: Determining at least one candidate transmission path whose average link packet loss rate meets the preset packet loss rate range and the number of transmission node hops meets the preset hop count range as the transmission path to be tested; Simultaneously sending different test data packets to the target game server through the transmission path to be tested and recording the sending time, and receiving the acknowledgment data packets feedback by the target game server for each test data packet and recording the receiving time; Based on the sending time and the receiving time, determining the delay fluctuation time corresponding to each transmission path to be tested; Determining the transmission path to be tested with the minimum delay fluctuation time as the target transmission path.

[0049] The preset packet loss rate range can be flexibly set according to the actual situation. For example, it can be set to ≤20%, ≤30%, etc. The embodiments of the present application do not limit this.

[0050] The preset hop count range can be flexibly set according to the actual situation. For example, it can be set to ≤2 hops, ≤3 hops, etc. The embodiments of the present application do not limit this.

[0051] The delay fluctuation time refers to the degree of change in the packet delay time during data transmission.

[0052] Continuing with the above example, assume that the candidate transmission paths include: path S-A1-E, path S-A2-E, path S-A3-E, path S-A1-A2-E, path S-A1-A3-E, path S-A2-A1-E, path S-A2-A3-E, path S-A3-A1-E, path S-A3-A2-E, path S-A1-A2-A3-E, path S-A1-A3-A2-E, path S-A2-A1-A3-E, path S-A2-A3-A1-E, path S-A3-A1-A2-E, path S-A3-A2-A1-E. The preset packet loss rate range is ≤20%, and the preset hop count range is ≤2 hops. Then, the average link packet loss rate of each candidate transmission path can be calculated according to the above formula (2), and then it is determined whether the average link packet loss rate of each candidate transmission path meets the preset packet loss rate range (≤20%), and whether the transmission node hop count (i.e., the number of intermediate nodes in the path) of each candidate transmission path meets the preset hop count range (≤2 hops); if the average link packet loss rate of a candidate transmission path meets the preset packet loss rate range and its transmission node hop count meets the preset hop count range, then the candidate transmission path is determined as the transmission path to be measured. Exemplarily, assume that the average link packet loss rate of path S-A1-E is 10% (meeting the preset packet loss rate range), and the transmission node hop count is 1 (meeting the preset hop count range), then path S-A1-E can be determined as the transmission path to be measured.

[0053] As an example, the transmission paths to be measured screened in the above manner include: path S-A1-E, path S-A3-E, path S-A1-A3-E, path S-A3-A1-E.

[0054] Taking the determination of the delay fluctuation time of path S-A1-E as an example, the following is a detailed description.

[0055] The game accelerator starts a detection thread and simultaneously sends multiple different test data packets (for example, test data packets 1, 2, 3,..., m with different data volumes) to the target game server through path S-A1-E, and records the sending times of test data packets 1, 2, 3,..., m 、 、 、...、 , and simultaneously starts a listening thread to receive the confirmation data packets 1, 2, 3,..., m feedback by the target game server through path S-A1-E and records the receiving times 、 、 、... . According to the sending time of test data packet 1 and the receiving time of confirmation data packet 1 , calculate the delay time 1 based on the transmission time of the test data packet 2 and the reception time of the confirmation data packet 2 , calculate the delay time 2; based on the transmission time of the test data packet 3 and the reception time of the confirmation data packet 3 , calculate the delay time 3, and so on. Based on the transmission time of the test data packet m and the reception time , calculate the delay time m. Based on the delay times 1, 2, 3,..., m, determine the delay fluctuation time of the path S - A1 - E. Exemplarily, the delay fluctuation time of the path S - A1 - E can be determined by calculating the standard deviation or variance of the delay times 1, 2, 3,..., m, etc.

[0056] Similarly, the delay fluctuation times of other transmission paths to be measured can be calculated by referring to the above method, which will not be elaborated here.

[0057] Finally, compare the delay fluctuation times of each transmission path to be measured, and determine the transmission path to be measured with the smallest delay fluctuation time as the target transmission path. Exemplarily, assume that the delay fluctuation time of the transmission path to be measured S - A1 - E is the smallest, then the transmission path to be measured S - A1 - E can be determined as the target transmission path.

[0058] By the above method, screening out the transmission path to be measured with the smallest delay fluctuation as the target transmission path is beneficial to reducing the network delay and packet loss rate of transmitting data packets through the target transmission path.

[0059] In some embodiments, according to the average link packet loss rate and the number of transmission node hops of each candidate transmission path, screening out a target transmission path from the M candidate transmission paths includes: Determine at least one candidate transmission path whose average link packet loss rate meets the preset packet loss rate range and the number of transmission node hops meets the preset hop count range as the transmission path to be measured; Determine the current path load and the current available bandwidth of each transmission path to be measured; Determine the target transmission path according to the current path load and the current available bandwidth.

[0060] The current path load refers to the amount of tasks being processed or the workload borne by the transmission path to be measured in the current period. Specifically, the current path load of the transmission path to be measured can be determined according to the data packet forwarding volume and port bandwidth occupancy rate of each intermediate node of the transmission path to be measured.

[0061] The current available bandwidth refers to the available bandwidth of the transmission path to be measured in the current period. Among them, the calculation method of the available bandwidth is: available bandwidth = theoretical bandwidth - used bandwidth.

[0062] Determine the target transmission path according to the current path load and the current available bandwidth. Specifically, a transmission path to be measured with the minimum current path load and the most current available bandwidth can be determined as the target transmission path.

[0063] Through the above method, a target transmission path with the minimum current path load and the most current available bandwidth can be screened out, which is beneficial to reducing the network delay and packet loss rate of transmitting data packets through the target transmission path.

[0064] In some embodiments, determine the target transmission mode based on the target current period packet loss rate and the target next period packet loss rate of the target acceleration node of the target transmission path, including: Based on the target current period packet loss rate and the target next period packet loss rate of the target acceleration node, determine the current period link packet loss rate and the next period link packet loss rate of the target transmission path; If both the current period link packet loss rate and the next period link packet loss rate are greater than the first preset threshold and less than the second preset threshold, and the first preset threshold is less than the second preset threshold, then determine the target transmission mode as the first forward error correction transmission mode.

[0065] As an example, the current period link packet loss rate of the target transmission path can be calculated according to the following formula (3).

[0066] (3); In formula (3), represents the current period link packet loss rate of the target transmission path; represents the current period packet loss rate of the section from the last path intermediate node to the path end node in the target transmission path; represents the j th current period packet loss rate of the path intermediate node in the target transmission path; b represents the total number of path intermediate nodes (i.e., target acceleration nodes) in the target transmission path; , represent weight coefficients, and The sum of is 1.

[0067] In practical applications, can be allocated according to the degree of influence of different sections on the overall transmission efficiency of the target transmission path and . For example, if the packet loss rate of the section from the last path start node to the path end node has a greater impact on the overall transmission efficiency of the target transmission path, then a smaller and larger ; conversely, if the packet loss rate of the segment from the last path start node to the path end node has a relatively small impact on the overall transmission efficiency of the target transmission path, then a larger and a smaller can be set.

[0068] Similarly, the link packet loss rate of the next cycle of the target transmission path can be calculated by referring to the above method, which will not be elaborated here.

[0069] The first preset threshold and the second preset threshold can be flexibly set according to the actual situation. For example, the first preset threshold can be set to 0, and the second preset threshold can be set to 30%.

[0070] As an example, assume that the first preset threshold is 0, the second preset threshold is 30%, the link packet loss rate of the current cycle of the target transmission path is 20%, and the link packet loss rate of the next cycle is 15%. Then both the current cycle link packet loss rate (20%) and the next cycle link packet loss rate (15%) are greater than the first preset threshold (0) and less than the second preset threshold (30%). At this time, the target transmission method adopts the first forward error correction transmission method. The first forward error correction transmission method means that while sending every r (1 ≤ r ≤ 4) original game data packets, an additional r redundant data packets are sent. These r redundant data packets contain additional information related to these r original game data packets. The target game server can use these redundant data packets and the received original game data packets to recover the original game data packets that may be lost during transmission, thereby improving the integrity and accuracy of data transmission and reducing the impact of packet loss on data transmission scenarios such as the game experience.

[0071] In some embodiments, after determining the link packet loss rate of the current cycle and the next cycle of the target transmission path based on the target current cycle packet loss rate and the target next cycle packet loss rate of the target acceleration node, it further includes: If the link packet loss rate of the current cycle and / or the link packet loss rate of the next cycle is greater than or equal to the second preset threshold, then determine that the target transmission method is the second forward error correction transmission method, and the second redundancy amount of the second forward error correction transmission method is greater than the first redundancy amount of the first forward error correction transmission method.

[0072] As an example, assume that the second preset threshold is 30%, the link packet loss rate of the current cycle of the target transmission path is 10%, and the link packet loss rate of the next cycle is 40%. Then the link packet loss rate of the next cycle is greater than the second preset threshold. At this time, it is determined that the target transmission method is the second forward error correction transmission method.

[0073] The second forward error correction transmission method refers to that while sending q (4 < q ≤ 20) original game data packets each time, an additional q redundant data packets are sent. These q redundant data packets contain additional information related to these q original game data packets. The target game server can use these redundant data packets and the received original game data packets to recover the original game data packets that may be lost during transmission.

[0074] The first redundancy amount refers to the number of redundant data packets additionally sent in the first forward error correction transmission method, and its value range is [1, 4].

[0075] The second redundancy amount refers to the number of redundant data packets additionally sent in the second forward error correction transmission method, and its value range is (4, 20].

[0076] When the current cycle link packet loss rate and / or the next cycle link packet loss rate of the target transmission path is greater than or equal to the second preset threshold, using the second forward error correction transmission method for data transmission is beneficial to improving the integrity and accuracy of data transmission and reducing the impact of packet loss on data transmission scenarios such as game experience.

[0077] In some embodiments, if both the current cycle link packet loss rate and the next cycle link packet loss rate are greater than the first preset threshold and less than the second preset threshold, after determining that the target transmission method is the first forward error correction transmission method, it further includes: Determining the link packet loss rate of the next two cycles, the link packet loss rate of the next three cycles, and the link packet loss rate of the next four cycles of the target transmission path; If the link packet loss rate of the next two cycles is greater than the first preset threshold and less than the second preset threshold, then maintain the target transmission method as the first forward error correction transmission method; If the link packet loss rate of the next two cycles is greater than or equal to the second preset threshold, then change the target transmission method from the first forward error correction transmission method to the second forward error correction transmission method; If the link packet loss rates of the next two cycles, the next three cycles, and the next four cycles are all zero, then change the target transmission method from the first forward error correction transmission method to the zero redundancy transmission method.

[0078] Please refer to Figure 4 , the link packet loss rate of the next two cycles refers to the link packet loss rate of the target transmission path in the next two cycles. The link packet loss rate of the next three cycles refers to the link packet loss rate of the target transmission path in the next three cycles. The link packet loss rate of the next four cycles refers to the link packet loss rate of the target transmission path in the next four cycles.

[0079] In the first case, if the packet loss rate of the next two - period link is greater than the first preset threshold and less than the second preset threshold, then maintain the target transmission mode as the first forward error correction transmission mode, that is, continue to use the first forward error correction transmission mode to transmit the original game data.

[0080] In the second case, if the packet loss rate of the next two - period link is greater than or equal to the second preset threshold, then change the target transmission mode from the first forward error correction transmission mode to the second forward error correction transmission mode, that is, increase the redundancy of the forward error correction transmission. In this way, it is beneficial to improve the integrity and accuracy of data transmission and reduce the impact of packet loss on data transmission scenarios such as game experience.

[0081] In the third case, if the packet loss rates of the next two - period link, the next three - period link, and the next four - period link are all zero, then change the target transmission mode from the first forward error correction transmission mode to the zero - redundancy transmission mode. The zero - redundancy transmission mode means that only the original game data is transmitted without transmitting redundant data packets. In this way, network bandwidth can be saved.

[0082] By periodically monitoring the packet loss rate of the target transmission path and flexibly adjusting the target transmission mode according to the periodic change of the packet loss rate of the target transmission path, it is possible to effectively reduce the network latency and packet loss rate of game users when playing overseas games, thereby enhancing the game experience of users.

[0083] All the above - mentioned alternative technical solutions can be combined arbitrarily to form alternative embodiments of the present application, which will not be elaborated one by one here.

[0084] The following is an embodiment of the device of the present application, which can be used to execute the method embodiment of the present application. For details not disclosed in the embodiment of the device of the present application, please refer to the method embodiment of the present application.

[0085] Figure 5 It is a schematic structural diagram of a game accelerator provided by an embodiment of the present application. As Figure 5 shown, the game accelerator 500 includes: A response module 501, configured to respond to a game acceleration request initiated by a game client for an overseas game, send a network status probe packet set to an acceleration node group according to a preset detection period, and receive a network status data packet set fed back by the acceleration node group, where the acceleration node group includes multiple acceleration nodes, and the game acceleration request includes a target server identifier and an original game data packet; A first determination module 502, configured to determine the current - period packet loss rate and the next - period packet loss rate corresponding to each acceleration node in the acceleration node group based on the network status probe packet set and the network status data packet set; The second determination module 503 is configured to determine a target transmission path and a target transmission mode based on the current cycle packet loss rate and the next cycle packet loss rate corresponding to each acceleration node; The transmission module 504 is configured to transmit the original game data packet to the target game server corresponding to the target server identifier through the target transmission path and the target transmission mode, so as to complete game acceleration.

[0086] In some embodiments, the above-mentioned second determination module 503 includes: The first screening unit is configured to screen out at least one candidate acceleration node from the acceleration node group based on the current cycle packet loss rate and the next cycle packet loss rate corresponding to each acceleration node; The construction unit is configured to construct M candidate transmission paths, where each candidate transmission path includes a path start node, at least one path intermediate node, and a path end node. The path start node is the game client, the path intermediate node is the candidate acceleration node, and the path end node is the target game server. M is an integer greater than or equal to 1; The second screening unit is configured to screen out a target transmission path from the M candidate transmission paths based on the candidate current cycle packet loss rate and the candidate next cycle packet loss rate of each candidate acceleration node in each candidate transmission path; The determination unit is configured to determine the target transmission mode based on the target current cycle packet loss rate and the target next cycle packet loss rate of the target acceleration node of the target transmission path.

[0087] In some embodiments, the above-mentioned determination unit includes: The first determination component is configured to determine the current cycle link packet loss rate and the next cycle link packet loss rate of the target transmission path based on the target current cycle packet loss rate and the target next cycle packet loss rate of the target acceleration node; The second determination component is configured to determine that the target transmission mode is the first forward error correction transmission mode if both the current cycle link packet loss rate and the next cycle link packet loss rate are greater than the first preset threshold and less than the second preset threshold, and the first preset threshold is less than the second preset threshold.

[0088] In some embodiments, the above-mentioned determination unit further includes: The third determination component is configured to determine that the target transmission mode is the second forward error correction transmission mode if the current cycle link packet loss rate and / or the next cycle link packet loss rate is greater than or equal to the second preset threshold, and the second redundancy of the second forward error correction transmission mode is greater than the first redundancy of the first forward error correction transmission mode.

[0089] In some embodiments, the above-mentioned determination unit further includes: a fourth determining component, configured to determine a next two-cycle link packet loss rate, a next three-cycle link packet loss rate, and a next four-cycle link packet loss rate of the target transmission path; A maintenance component configured to maintain the target transmission mode as the first forward error correction transmission mode if the link packet loss rate of the next two cycles is greater than the first preset threshold and less than the second preset threshold; A first changing component is configured to change the target transmission mode from the first forward error correction transmission mode to the second forward error correction transmission mode if the link packet loss rate of the next two cycles is greater than or equal to the second preset threshold; The second change component is configured to change the target transmission mode from the first forward error correction transmission mode to the zero redundancy transmission mode if the link packet loss rate of the next two cycles, the link packet loss rate of the next three cycles and the link packet loss rate of the next four cycles are all zero.

[0090] In some embodiments, the second screening unit comprises: A calculation component is configured to calculate an average link packet loss rate of the candidate transmission path based on a candidate current cycle packet loss rate and a candidate next cycle packet loss rate of each candidate acceleration node in each candidate transmission path; a hop count determination component configured to determine a transmission node hop count of each candidate transmission path; The path screening component is configured to screen out a target transmission path from M candidate transmission paths according to an average link packet loss rate and a transmission node hop number of each candidate transmission path.

[0091] In some embodiments, the above-mentioned path screening component may be specifically configured as follows: Determine at least one candidate transmission path whose average link packet loss rate meets a preset packet loss rate range and whose transmission node hop count meets a preset hop count range as a transmission path to be tested; Send different test data packets to the target game server simultaneously through the transmission path to be tested and record the sending time, and receive the confirmation data packet fed back by the target game server for each test data packet and record the receiving time; Based on the sending time and receiving time, determine the delay fluctuation time corresponding to each transmission path to be tested; A transmission path to be tested with the smallest delay fluctuation time is determined as the target transmission path.

[0092] In some embodiments, the above-mentioned response module 501 may be specifically configured as follows: Start the detection thread and send a set of network status detection packets to the acceleration node group according to the preset detection period; Start the monitoring thread to receive the network status data packet set returned by the acceleration node group; Among them, the network status detection packet set includes multiple detection packet combinations, and the network status data packet set includes multiple feedback packet combinations. One acceleration node corresponds to one detection packet combination and one feedback packet combination. One detection packet combination includes multiple network status detection packets. The feedback packet combination is an empty packet combination or a non-empty packet combination. Among them, the number of network status data packets in the empty packet combination is zero, and the non-empty packet combination includes at least one network status data packet.

[0093] It should be understood that the sequence numbers of the steps in the above embodiments do not indicate the order of execution. The execution order of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.

[0094] Figure 6 It is a schematic diagram of the electronic device 600 provided by the embodiment of the present application. As Figure 6 shown, the electronic device 600 of this embodiment includes: a processor 601, a memory 602, and a computer program 603 stored in the memory 602 and executable on the processor 601. When the processor 601 executes the computer program 603, the steps in each of the above method embodiments are implemented. Alternatively, when the processor 601 executes the computer program 603, the functions of each module / unit in each of the above device embodiments are implemented.

[0095] The electronic device 600 may be a desktop computer, a notebook, a palm computer, a cloud server, or other electronic devices. The electronic device 600 may include, but is not limited to, the processor 601 and the memory 602. Those skilled in the art can understand that Figure 6 merely examples of the electronic device 600 do not constitute a limitation to the electronic device 600, and may include more or fewer components than shown in the figure, or different components.

[0096] The processor 601 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.

[0097] The memory 602 can be an internal storage unit of the electronic device 600, for example, the hard disk or memory of the electronic device 600. The memory 602 can also be an external storage device of the electronic device 600, for example, a plug-in hard disk equipped on the electronic device 600, a Smart Media Card (SMC), a Secure Digital (SD) card, a Flash Card, etc. The memory 602 can also include both the internal storage unit of the electronic device 600 and the external storage device. The memory 602 is used to store computer programs and other programs and data required by the electronic device.

[0098] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, only the above division of each functional unit and module is used as an example for illustration. In actual applications, the above functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment can be integrated into a processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.

[0099] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, to implement all or part of the processes in the above method embodiments of the present application, it can also be completed by instructing relevant hardware through a computer program. The computer program can be stored in a readable storage medium. When the computer program is executed by a processor, the steps of the above method embodiments can be implemented. The computer program can include computer program code, and the computer program code can be in the form of source code, object code, executable file or some intermediate form, etc. The computer-readable medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a mobile hard disk, a magnetic disk, an optical disc, a computer memory, a Read-Only Memory (ROM), a Random Access Memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the content included in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.

[0100] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the various embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A game acceleration method, characterized in that: Applied to game accelerators, including: In response to a game acceleration request initiated by a game client for an external game, a network status detection packet set is sent to an acceleration node group according to a preset detection period, and a network status data packet set fed back by the acceleration node group is received, wherein the acceleration node group includes a plurality of acceleration nodes, and the game acceleration request includes a target server identifier and an original game data packet; Determine the current period packet loss rate and the next period packet loss rate corresponding to each acceleration node in the acceleration node group based on the network status detection packet set and the network status data packet set; Determine the target transmission path and target transmission mode based on the current cycle packet loss rate and the next cycle packet loss rate corresponding to each acceleration node; The original game data packet is transmitted to the target game server corresponding to the target server identifier through the target transmission path and the target transmission method to complete the game acceleration.

2. The method according to claim 1, characterized in that Based on the current cycle packet loss rate and the next cycle packet loss rate corresponding to each acceleration node, determine the target transmission path and target transmission mode, including: Based on the current period packet loss rate and the next period packet loss rate corresponding to each acceleration node, selecting at least one candidate acceleration node from the acceleration node group; Construct M candidate transmission paths, wherein each of the candidate transmission paths includes a path start node, at least one path intermediate node and a path end node, the path start node is the game client, the path intermediate node is the candidate acceleration node, the path end node is the target game server, and M is an integer ≥1; Based on the candidate current cycle packet loss rate and the candidate next cycle packet loss rate of each candidate acceleration node in each candidate transmission path, selecting a target transmission path from the M candidate transmission paths; A target transmission mode is determined based on a target current cycle packet loss rate and a target next cycle packet loss rate of a target acceleration node of the target transmission path.

3. The method according to claim 2, characterized in that Determining a target transmission mode based on a target current cycle packet loss rate and a target next cycle packet loss rate of a target acceleration node of the target transmission path includes: Determine the current cycle link packet loss rate and the next cycle link packet loss rate of the target transmission path based on the target current cycle packet loss rate and the target next cycle packet loss rate of the target acceleration node; If the current cycle link packet loss rate and the next cycle link packet loss rate are both greater than the first preset threshold and less than the second preset threshold, and the first preset threshold is less than the second preset threshold, then the target transmission mode is determined to be the first forward error correction transmission mode.

4. The method according to claim 3, characterized in that After determining the current cycle link packet loss rate and the next cycle link packet loss rate of the target transmission path based on the target current cycle packet loss rate and the target next cycle packet loss rate of the target acceleration node, the method further includes: If the current cycle link packet loss rate and / or the next cycle link packet loss rate is greater than or equal to a second preset threshold, the target transmission mode is determined to be a second forward error correction transmission mode, and the second redundancy of the second forward error correction transmission mode is greater than the first redundancy of the first forward error correction transmission mode.

5. The method according to claim 3, characterized in that: If the current period link packet loss rate and the next period link packet loss rate are both greater than the first preset threshold and less than the second preset threshold, after determining that the target transmission mode is the first forward error correction transmission mode, the method further includes: Determine the next two-cycle link packet loss rate, the next three-cycle link packet loss rate, and the next four-cycle link packet loss rate of the target transmission path; If the link packet loss rate of the next two cycles is greater than the first preset threshold and less than the second preset threshold, maintaining the target transmission mode as the first forward error correction transmission mode; If the link packet loss rate of the next two cycles is greater than or equal to a second preset threshold, changing the target transmission mode from the first forward error correction transmission mode to the second forward error correction transmission mode; If the next two-cycle link packet loss rate, the next three-cycle link packet loss rate, and the next four-cycle link packet loss rate are all zero, the target transmission mode is changed from the first forward error correction transmission mode to a zero redundancy transmission mode.

6. The method according to claim 2, characterized in that Based on the candidate current cycle packet loss rate and the candidate next cycle packet loss rate of each candidate acceleration node in each candidate transmission path, a target transmission path is selected from the M candidate transmission paths, including: Calculate the average link packet loss rate of the candidate transmission path based on the candidate current cycle packet loss rate and the candidate next cycle packet loss rate of each candidate acceleration node in each candidate transmission path; Determine the number of transmission node hops of each of the candidate transmission paths; A target transmission path is selected from the M candidate transmission paths according to an average link packet loss rate and a transmission node hop number of each candidate transmission path.

7. The method according to claim 6, characterized in that According to the average link packet loss rate and the number of transmission node hops of each of the candidate transmission paths, a target transmission path is selected from the M candidate transmission paths, including: Determine at least one candidate transmission path whose average link packet loss rate meets a preset packet loss rate range and whose transmission node hop count meets a preset hop count range as a transmission path to be tested; Sending different test data packets to the target game server simultaneously through the transmission path to be tested and recording the sending time, and receiving a confirmation data packet fed back by the target game server for each of the test data packets and recording the receiving time; Determine the delay fluctuation time corresponding to each of the transmission paths to be tested based on the sending time and the receiving time; A transmission path to be tested with the smallest delay fluctuation time is determined as the target transmission path.

8. The method according to claim 1, characterized in that Sending a network status detection packet set to the acceleration node group according to a preset detection period, and receiving a network status data packet set fed back by the acceleration node group, including: Start the detection thread and send a set of network status detection packets to the acceleration node group according to the preset detection period; Start a monitoring thread to receive a set of network status data packets returned by the acceleration node group; Among them, the network status detection packet set includes multiple detection packet combinations, the network status data packet set includes multiple feedback packet combinations, one acceleration node corresponds to one detection packet combination and one feedback packet combination, one detection packet combination includes multiple network status detection packets, and the feedback packet combination is an empty packet combination or a non-empty packet combination, wherein the number of network status data packets in the empty packet combination is zero, and the non-empty packet combination includes at least one network status data packet.

9. A game accelerator, characterized in that: include: A response module is configured to respond to a game acceleration request initiated by a game client for an external game, send a network status detection packet set to an acceleration node group according to a preset detection period, and receive a network status data packet set fed back by the acceleration node group, wherein the acceleration node group includes a plurality of acceleration nodes, and the game acceleration request includes a target server identifier and an original game data packet; A first determination module is configured to determine a current period packet loss rate and a next period packet loss rate corresponding to each acceleration node in the acceleration node group based on the network status detection packet set and the network status data packet set; A second determination module is configured to determine a target transmission path and a target transmission mode based on a current cycle packet loss rate and a next cycle packet loss rate corresponding to each acceleration node; The transmission module is configured to transmit the original game data packet to the target game server corresponding to the target server identifier through the target transmission path and the target transmission method to complete game acceleration.

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

Citation Information

Patent Citations

  • Game network testing method and device, electronic equipment and storage medium

    CN110247824A

  • Data packet transmission parameter detection method and device and data packet transmission system

    CN110601921A

  • Network acceleration method and device and electronic equipment

    CN115913956A

  • Acceleration method, system and device for network data transmission, medium and program product

    CN118138511A

  • Routing control method and apparatus, electronic device, and storage medium

    US20220263756A1

Cited By

  • Adaptive forward error correction game network acceleration method based on deep reinforcement learning

    CN120415648A

  • An Adaptive Forward Error Correction Game Network Acceleration Method Based on Deep Reinforcement Learning

    CN120415648B

  • Game accelerator packet loss optimization method and device based on flow priority management

    CN120455512A

  • Cross-border game acceleration stabilization method and device based on real-time network state prediction

    CN120455513A

  • Cross-border game acceleration stability method and device based on real-time network state prediction

    CN120455513B