Data processing method, device and computer equipment in frame synchronization game

By predicting downlink network congestion trends and adjusting the uplink data frame reporting interval, the latency and delay issues of frame synchronization games in weak network environments were resolved, improving the user experience.

CN116828017BActive Publication Date: 2026-06-19TENCENT TECHNOLOGY (SHENZHEN) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2022-03-22
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

In weak network environments, the network latency and system delay of frame-synchronized games increase, affecting the user experience, and existing technologies are insufficient for optimization.

Method used

By predicting downlink network congestion trends, the uplink data frame reporting interval is adjusted. Since the network congestion trend is directly proportional to the reporting interval, the reporting interval is increased or decreased to avoid excessive uplink packet transmissions that could preempt downlink packet bandwidth and reduce frame synchronization link latency.

🎯Benefits of technology

In weak network environments, it reduces the latency of frame synchronization links, improves the game operation experience, and optimizes the user's operation experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116828017B_ABST
    Figure CN116828017B_ABST
Patent Text Reader

Abstract

This application relates to a data processing method, apparatus, computer device, storage medium, and computer program product in frame synchronization games. The method includes: predicting a downlink network congestion trend based on the congestion status of downlink data frames received from a game server; adjusting the uplink data frame reporting time interval based on the downlink network congestion trend; wherein the downlink network congestion trend is proportional to the reporting time interval; and reporting data frames to the game server according to the reporting time interval. This method increases the reporting time interval when network congestion is increasing and decreases the reporting time interval when network congestion is decreasing, thereby avoiding excessive uplink packet transmissions that could preempt downlink packet bandwidth, reducing frame synchronization link latency, and improving the gaming experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of games and the Internet, and in particular to a data processing method, apparatus, computer equipment, storage medium, and computer program product for frame-synchronized games. Background Technology

[0002] Frame synchronization in games is a client-server synchronization method developed to achieve high real-time and high synchronization requirements. In a typical frame synchronization system, a server is responsible for broadcasting (forwarding) data from all clients. To keep clients running continuously, "data frames" are periodically sent to drive them. When a player inputs data, the player's action is entered into the network frame data packet. Therefore, network conditions have a crucial impact on data frame synchronization. For example, in a strong network environment, the network quality meets or exceeds expectations, allowing network synchronization to function properly. However, in a weak network environment, the network quality falls short of expectations, causing network synchronization to malfunction or even fail.

[0003] Most games on the market currently offer limited optimization for weak network conditions. In weak network environments, most games employ a strategy of merging all operations of a single frame on the server side and sending them all at once, reducing the server's transmission frequency and thus achieving network congestion control.

[0004] Reducing the server's sending frequency means that users will experience noticeable network latency if packet loss occurs. Furthermore, the inability to send many operations in a timely manner also increases system latency. Summary of the Invention

[0005] Therefore, it is necessary to provide a data processing method, apparatus, computer device, computer-readable storage medium, and computer program product in frame-synchronized games that can reduce link latency, in order to address the above-mentioned technical problems.

[0006] Firstly, this application provides a data processing method for frame-synchronized games. The method includes:

[0007] Based on the congestion status of the downlink data frames received from the game server, predict the downlink network congestion trend;

[0008] The uplink data frame reporting time interval is adjusted based on the downlink network congestion trend; wherein, the downlink network congestion trend is proportional to the reporting time interval;

[0009] Data frames are reported to the game server according to the reported time interval.

[0010] Secondly, this application also provides a data processing apparatus for frame-synchronized games. The apparatus includes:

[0011] The prediction module is used to predict the downlink network congestion trend based on the congestion status of the downlink data frames received from the game server.

[0012] An adjustment module is used to adjust the reporting time interval of uplink data frames based on the downlink network congestion trend; wherein the downlink network congestion trend is proportional to the reporting time interval;

[0013] The control module is used to report data frames to the game server according to the reporting time interval.

[0014] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the following steps:

[0015] Based on the congestion status of the downlink data frames received from the game server, predict the downlink network congestion trend;

[0016] The uplink data frame reporting time interval is adjusted based on the downlink network congestion trend; wherein, the downlink network congestion trend is proportional to the reporting time interval;

[0017] Data frames are reported to the game server according to the reported time interval.

[0018] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:

[0019] Based on the congestion status of the downlink data frames received from the game server, predict the downlink network congestion trend;

[0020] The uplink data frame reporting time interval is adjusted based on the downlink network congestion trend; wherein, the downlink network congestion trend is proportional to the reporting time interval;

[0021] Data frames are reported to the game server according to the reported time interval.

[0022] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the following steps:

[0023] Based on the congestion status of the downlink data frames received from the game server, predict the downlink network congestion trend;

[0024] The uplink data frame reporting time interval is adjusted based on the downlink network congestion trend; wherein, the downlink network congestion trend is proportional to the reporting time interval;

[0025] Data frames are reported to the game server according to the reported time interval.

[0026] The aforementioned data processing method, apparatus, computer equipment, storage medium, and computer program product in frame synchronization games predict downlink network congestion trends based on the congestion status of received downlink data frames. This means predicting downlink network congestion trends in advance. Then, based on the predicted downlink network congestion trends, the game terminal's reporting time interval is adjusted. The network congestion trend is directly proportional to the reporting time interval; that is, when network congestion is increasing, the reporting time interval is increased, and when network congestion is decreasing, the reporting time interval is decreased. This avoids excessive uplink packet transmissions that could preempt downlink packet bandwidth, reducing frame synchronization link latency and improving the gaming experience. Attached Figure Description

[0027] Figure 1 This is an application environment diagram of a data processing method in a frame synchronization game, as shown in one embodiment.

[0028] Figure 2 This is a flowchart illustrating a data processing method in a frame-synchronized game, as shown in one embodiment.

[0029] Figure 3 This is a flowchart illustrating the steps of predicting downlink network congestion trends based on the congestion status of downlink data frames received from the game server in one embodiment.

[0030] Figure 4 This is a schematic diagram of congestion calculation in a frame-synchronized game in one embodiment;

[0031] Figure 5 This is a schematic diagram illustrating the changes in the congestion value of a data frame in one embodiment;

[0032] Figure 6 For one embodiment Figure 5 The diagram shows the change in congestion value of a data frame after smoothing the change in congestion value.

[0033] Figure 7 This is a schematic diagram of the slope calculated from the congestion value of a data frame in one embodiment.

[0034] Figure 8 This is a flowchart illustrating a data processing method in a frame-synchronized game, as shown in another embodiment.

[0035] Figure 9This is a schematic diagram of the transmission intervals at various time points adjusted in a weak network environment in one embodiment.

[0036] Figure 10 This is a structural block diagram of a data processing device in a frame-synchronized game according to one embodiment;

[0037] Figure 11 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0038] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0039] The data processing method for frame synchronization games provided in this application can be applied to, for example... Figure 1 In the application environment shown, multiple game terminals 102 communicate with a game server 104 via a network. A data storage system can store the data that the server 104 needs to process. The data storage system can be integrated onto the server 104, or it can be located in the cloud or on another server. Each game terminal 102 sends data frames containing game operation content to the game server 104. The game server aggregates these data frames, obtains a new data frame, and sends it to each game terminal. Each game terminal then synchronizes its game operations based on the data frames. Specifically, the game terminal predicts the downlink network congestion trend based on the congestion status of the downlink data frames received from the game server; it adjusts the uplink data frame reporting interval based on the downlink network congestion trend; wherein the network congestion trend is proportional to the reporting interval; and it reports data frames to the game server according to the reporting interval. The game terminals 102 include, but are not limited to, mobile phones, computers, smart voice interaction devices, smart home appliances, and in-vehicle terminals. The server 104 can be implemented using a standalone server or a server cluster composed of multiple servers.

[0040] In one embodiment, such as Figure 2 As shown, a data processing method for frame-synchronized games is provided, which can be applied to... Figure 1 Taking the terminal in the example, the explanation includes the following steps:

[0041] Step 202: Based on the congestion status of the downlink data frames received from the game server, predict the downlink network congestion trend.

[0042] Frame synchronization is a pixel-level synchronization technology for displaying data from a synchronization source. For multiple users on a network, a signal is sent synchronously from the host to the others and displayed on each terminal. The synchronization signal can be pixel data of each frame or key event information affecting data changes.

[0043] When frame synchronization technology is applied in games, the game server primarily plays a control role, managing frames and input / output for the clients. A frame represents the control logic of the game world, including time and player control commands. Each player reports their actions to the game server in frames, using frames as the time unit. The game server aggregates data frames from all players at the same time. Downlink data frames refer to the data frames sent by the game server to each player's terminal. Each player's client synchronizes their actions based on these data frames. In essence, the game server can aggregate identical data frames from players within a game room to obtain the room's data frame, then distribute this data frame to each player's terminal within that room, achieving synchronization of actions across all players' terminals within that game room.

[0044] For example, in a game room with three players, each player's client reports its first data frame to the game server. The game server aggregates these first data frames from all three players to obtain a new data frame, which is then sent to each player's client. Each player's client then renders the data frame, synchronizing the player's actions across all clients.

[0045] Downlink refers to the data transmission from the game server to the game terminal. Network congestion occurs when too many packets are transmitted in a packet-switched network, leading to a decline in network transmission performance due to limited resources in store-and-forward nodes. Downlink network congestion specifically refers to the network overload when the game server sends data to the game terminal. Downlink network congestion causes network latency. In frame-synchronized games, data frames cannot be received by the game terminal in a timely manner, resulting in noticeable network latency for players and negatively impacting the user experience.

[0046] Among them, the downlink network congestion trend indicates the trend of increasing or decreasing downlink network congestion at a future point in time or over a period of time.

[0047] Specifically, the downlink data frame delay variable d(i) = w(i) is considered as a sampling point in a random process W, and is the result of the combined effects of factors such as link capacity, current network transmission status, and current transmission rate. When the network is overloaded, the expected delay variable w(i) will increase; when the network is under-use, the expected delay variable w(i) will decrease. In other words, the random process W should follow a normal distribution. Based on this, the downlink network congestion trend can be predicted according to the congestion value of the data frames received from the game server.

[0048] Step 204: Adjust the uplink data frame reporting time interval based on the downlink network congestion trend; wherein the downlink network congestion trend is proportional to the reporting time interval.

[0049] In this context, a data frame refers to the actions and states of a player on the game terminal within a unit of time, such as the player's game operations, the loading status between game clients, security verification status, and cheat verification status. An uplink data frame refers to the data frames sent by each game terminal to the server.

[0050] Based on experience and experiments, in weak network environments, there is a competitive relationship between uplink and downlink in frame-synchronized games. A weak network refers to a network quality that is below expectations, or even significantly below expectations, due to environmental and device-related factors, causing network synchronization functions to malfunction or even fail. Weak networks are frequently found in 3G, HSPA, and HSPA+ networks.

[0051] A strong network, as opposed to a weak network, has network quality that meets or exceeds expectations and enables network synchronization functions to work properly. It generally includes Wi-Fi networks, 4G networks, and 5G networks.

[0052] Test data for one embodiment is shown in Table 1.

[0053] Table 1 Test Data

[0054]

[0055] As shown in the table above, under strong network conditions, there are no anomalies in the uplink and downlink of frame-synchronized games—that is, the downlink data frames sent by the game server to each game terminal, and the uplink data frames sent by each game terminal to the game server. However, under weak network conditions, the uplink packet loss rate increases, and the downlink packet loss rate also increases, with the downlink packet loss rate being higher than the uplink packet loss rate. This indicates a clear competition relationship between uplink and downlink.

[0056] In frame-synchronized games, the server receives uplink packets from clients within a fixed cycle (e.g., 66ms), packages them, and then sends them to each client. Therefore, in frame-synchronized game architectures, there is not only network latency between the server and clients, but also a fixed system latency. In weak network environments, there is contention between uplink and downlink; if uplink latency is not controlled, increased downlink latency will further increase system latency.

[0057] Therefore, in situations of network congestion, to improve the user experience under weak network conditions and avoid increased system latency caused by competition between uplink and downlink, the reporting interval of data frames is adjusted based on the network congestion trend; where the network congestion trend is directly proportional to the reporting interval.

[0058] The reporting interval refers to the time interval between two data frames reported by the game terminal to the game server. The reporting interval is related to the reporting frequency; the lower the reporting frequency, the longer the reporting interval, and vice versa.

[0059] Specifically, as network congestion increases, the reporting interval also increases. In other words, when network congestion is increasing, the reporting interval of the game terminal is increased to avoid excessive uplink packet transmissions that could preempt downlink bandwidth resources.

[0060] For example, when downlink network congestion is predicted to increase, the reporting interval is also increased; that is, the reporting interval is extended based on the current reporting interval. The reporting interval can be increased gradually, such as by 6ms each time, continuing to monitor downlink data frame congestion and predicting the downlink network congestion trend. If downlink network congestion continues to increase, the reporting interval is extended again by 6ms.

[0061] As network congestion trend decreases, the reporting interval also decreases. Therefore, when network congestion is trending downwards, the reporting interval of the gaming terminal is reduced. For example, when downlink network congestion is predicted to decrease, the reporting interval is shortened based on the existing interval, which means increasing the number of uplink packet transmissions, effectively utilizing the improved network conditions.

[0062] Step 206: Report data frames to the game server based on the reporting time interval.

[0063] Specifically, the game terminal predicts network congestion trends based on the predicted cumulative congestion value of the next downlink data frame, and proactively adjusts its uplink reporting interval according to the network congestion trend, changing its own transmission frequency in advance. If the reporting interval has not been reached, it waits; when the reporting interval is met, the game terminal reports the next data frame to the game server.

[0064] The data processing method described above for frame synchronization games predicts downlink network congestion trends based on the congestion status of received data frames. This means predicting downlink network congestion trends in advance. Then, based on the predicted downlink network congestion trend, the reporting interval of the game terminal is adjusted. The network congestion trend is directly proportional to the reporting interval; that is, when network congestion is increasing, the reporting interval is increased, and when network congestion is decreasing, the reporting interval is decreased. This avoids excessive uplink packet transmission that could preempt downlink packet bandwidth, reducing frame synchronization link latency and improving the gaming experience.

[0065] In another embodiment, before predicting the downlink network congestion trend based on the congestion status of the downlink data frames received from the game server, the method further includes: detecting network quality; if it is determined from the network quality detection result that the network is in a weak network environment, then the step of predicting the downlink network congestion trend based on the congestion status of the downlink data frames received from the game server is performed.

[0066] In other words, the method in this application is implemented under the condition that the network quality is weak. Specifically, network quality can be determined based on network type, packet loss rate, latency, and jitter pattern.

[0067] Taking network type as an example, if it is in a 3G network, HSPA network, or HSPA+ network, it is determined to be in a weak network environment.

[0068] Taking packet loss rate as an example, if the calculated packet loss rate is greater than the preset value, it is determined that the network is in a weak network environment.

[0069] In this embodiment, in a weak network environment, the downlink network congestion trend is predicted in advance. Based on the predicted downlink network congestion trend, the reporting time interval of the game terminal is adjusted to avoid the situation where the number of uplink packet transmissions is too high and competes for downlink packet bandwidth in a weak network. The transmission frequency is changed in advance, which improves the user's operating experience in a weak network environment and reduces the overall link latency.

[0070] In another embodiment, such as Figure 3 As shown, the steps for predicting downlink network congestion trends based on the congestion status of data frames received from the game server include:

[0071] Step 302: Determine the congestion value of each downlink data frame based on the downlink data frames received from the game server.

[0072] In frame-synchronized games, during the process of the game server sending data frames, such as Figure 4As shown, data frame packets are sent at a fixed frequency. At this fixed frequency, the interval between two consecutive data frame packets is T(i) - T(i-1). However, if network congestion occurs during the game client's reception of data frame packets, the received interval will change, and the actual received interval will be t(i) - t(i-1). The congestion value for each frame is the difference between the sending interval and the receiving interval.

[0073] That is, the congestion value for each frame is: d(i) = t(i) - t(i-1) - (T(i) - T(i-1)).

[0074] Step 304: Based on the congestion value of the current data frame and the current cumulative congestion value, predict the congestion value of the next downlink data frame.

[0075] The congestion accumulation value is the sum of the congestion values ​​of multiple data frames. The current congestion accumulation value is the sum of the congestion values ​​from the first data frame to the current data frame. The formula for calculating the current congestion accumulation value is: acc_d(i) + d(i). Here, acc_d(i) represents the current congestion accumulation value, and d(i) represents the congestion value of the i-th data frame.

[0076] The network congestion delay variable theoretically follows a normal distribution. Specifically, the network congestion value of each frame is taken as the delay variable, and the delay variable d(i) = w(i) is considered as a sampling point in a random process W, resulting from the combined effects of factors such as link capacity, current network transmission status, and current transmission rate. When the network is overloaded, the expected sampling value w(i) will increase; when the network is under-use, the expected sampling value w(i) will decrease. Therefore, this random process W should follow a normal distribution.

[0077] For gaming terminals, if network congestion causes data frames to be received at a slower speed in one phase, they will be received at a faster speed in the next phase when network conditions improve. Therefore, in the long run, the accumulated congestion value tends to zero.

[0078] Using the two characteristics mentioned above, it can be inferred that the cumulative network congestion value in a certain segment during frame synchronization increases at a certain slope, and the slope trend is inconsistent for each segment. Therefore, the cumulative congestion value of the next downlink data frame can be predicted based on the cumulative congestion value of the current data frame.

[0079] Step 306: Based on the coordinate data of the congestion values ​​of multiple consecutive predicted downlink data frames, predict the downlink network congestion trend.

[0080] Specifically, through multiple calculations, the cumulative congestion values ​​of several downlink data frames are predicted, such as the cumulative congestion values ​​of 10 predicted downlink data frames. Based on the congestion values ​​of a predicted downlink data frame, curve fitting is performed to predict the downlink network congestion trend.

[0081] Among them, network congestion trend indicates the trend of increasing or decreasing downlink network congestion in the future or within a certain period of time.

[0082] In this embodiment, the characteristics of data frame congestion values ​​are utilized to predict downlink network congestion trends in advance based on the current cumulative congestion value and the current network congestion value.

[0083] In another embodiment, predicting the congestion value of the next downlink data frame based on the congestion value of the current data frame and the current congestion accumulation value includes: performing exponential smoothing on the congestion value of the current data frame and the current congestion accumulation value to predict the congestion value of the next downlink data frame, wherein the weight of the congestion value of the current data frame is greater than the weight of the current congestion accumulation value.

[0084] Theoretically, in frame-synchronized games, the congestion value of data frames over a period of time should follow a normal distribution. Based on this, it can be inferred that the cumulative network congestion value in a certain segment during frame synchronization increases at a certain slope, and the slope trend is inconsistent in each segment.

[0085] The actual measured changes in the congestion value of a data frame are as follows: Figure 5 As shown, the congestion is scattered and irregular. In this embodiment, based on the fact that the overall pattern of the congestion value of the data frame conforms to the characteristics of linear prediction, the exponential smoothing method is used to predict the cumulative congestion value of the next downlink data frame.

[0086] Specifically, exponential smoothing is actually a special type of weighted moving average. Its characteristics are: First, exponential smoothing further strengthens the influence of recent observations on the predicted value. It assigns unequal weights to observations at different times, thus increasing the weight of recent observations and enabling the predicted value to quickly reflect actual changes. The weights decrease in a geometric progression, with the first term of this progression being the smoothing constant 'a' and the common ratio being (1-a). Second, exponential smoothing is flexible in the weights assigned to observations; different values ​​of 'a' can be used to change the rate of change of the weights. If 'a' is small, the weights change more rapidly, and the recent trend of the observations is more quickly reflected in the exponential moving average. Therefore, by using exponential smoothing, different values ​​of 'a' can be chosen to adjust the uniformity (i.e., the smoothness of trend changes) of the time series observations.

[0087] The first exponential smoothing step is: s_d(i) = a*s_d(i-1) + (1-a)*acc_d(i). Here, s_d is the predicted cumulative congestion value of the data frame, reflecting the queuing delay information of data packets through the network link, and can show the rise and fall of the network queuing queue. The predicted value is a weighted sum of previous observations, where a and 1-a are weighting coefficients, assigned different weights to different data. Specifically, the weight of the congestion value of the current data frame is greater than the weight of the current cumulative congestion value. The congestion value of the next frame is predicted using the exponential smoothing method.

[0088] A reasonable value for 'a' can be determined by using the time constant τ. This allows us to determine the weights of the predicted congestion accumulation values ​​for the previous and next data frames, as well as the weights of the current data frame's congestion accumulation value.

[0089] Specifically, based on experiments, the time constant of the entire formula is 110ms, the settling time is 440ms, the signal value at time t is 1, it contributes 0.63 after 110ms, contributes 0.99 after 440ms, and can then be considered to contribute no further. Therefore, if the value of 'a' is determined to be 0.6, the smoothing formula is:

[0090] s_d(i)=0.6*s_d(i-1)+(1-0.6)*acc_d(i)

[0091] Using the above formula Figure 5 After smoothing the changes in congestion values ​​of a data frame, as shown below... Figure 6 As shown, from Figure 6 As can be seen, after exponential smoothing, the congestion value of the data frame changes with obvious peaks and troughs.

[0092] In this embodiment, exponential smoothing is used to predict the congestion value of the next downlink data frame.

[0093] In another embodiment, the downlink network congestion trend is predicted based on the coordinate data of the congestion values ​​of multiple consecutive predicted downlink data frames. That is, the downlink network congestion trend is predicted based on the congestion values ​​of the exponentially smoothed downlink data frames. This includes: calculating the average of the horizontal and vertical coordinates of the congestion values ​​of multiple consecutive predicted downlink data frames; using the least squares method, calculating the slope regression coefficient based on the average of the horizontal and vertical coordinates of the congestion values ​​of each data frame; when the slope regression coefficient is greater than 0, the predicted network congestion shows an increasing trend; when the slope regression coefficient is less than 0, the predicted network congestion shows a decreasing trend.

[0094] Specifically, if the congestion value data of a data frame includes the congestion values ​​of ten smoothed data frames, then the average of the horizontal and vertical coordinates is calculated based on the horizontal and vertical coordinates of the ten data frames. Here, the horizontal coordinate represents the number of frames, and the vertical coordinate represents the congestion value.

[0095] Using the least squares method, the slope regression coefficient is calculated based on the average of the horizontal and vertical axes of the congestion values ​​for each data frame. Specifically, the numerator of the slope regression coefficient is:

[0096] numerator+=(pX-averagex)*(pY-averagey);

[0097] The denominator of the slope regression coefficient is:

[0098] denominator+=(pX-averagex)*(pX-averagex);

[0099] The slope regression coefficient is:

[0100] trend = numerator / denominator

[0101] When the slope regression coefficient is greater than 0, it indicates that network congestion within the link is increasing, and the predicted network congestion shows an increasing trend; when the slope regression coefficient is less than 0, it indicates that network congestion within the link is decreasing, and the predicted network congestion shows a decreasing trend. Figure 7 As shown, the slope regression coefficient of the congestion value of data frames in each time period can be calculated, thereby predicting the network congestion trend in the downlink.

[0102] In another embodiment, adjusting the uplink data frame reporting time interval based on the downlink network congestion trend includes: adjusting the uplink data frame reporting transmission frequency based on the downlink network congestion trend; wherein, if the network congestion shows an increasing trend, the transmission frequency is reduced, and if the network congestion shows a decreasing trend, the transmission frequency is increased; and the data frame reporting time interval is determined according to the adjusted transmission frequency.

[0103] Specifically, the transmission frequency is inversely proportional to the reporting time interval. A low transmission frequency results in a long reporting time interval, while a high transmission frequency results in a short reporting time interval. When network congestion is increasing, reducing the transmission frequency increases the reporting time interval. Conversely, when network congestion is decreasing, increasing the transmission frequency shortens the reporting time interval. In one embodiment, the reporting time interval is: min(T) = 66ms / transmission frequency.

[0104] Specifically, the adjustment amount of the transmission frequency when decreasing is greater than the adjustment amount when increasing. For example, when the slope regression coefficient is less than 0, the transmission frequency is increased, and the adjustment can be increased by 1 time each time, up to 10 times per frame.

[0105] Once the slope regression coefficient is greater than 0, reduce the transmission frequency, such as by halving the transmission frequency directly and rounding down to 1 time per frame.

[0106] By adjusting the transmission frequency by a larger amount when decreasing it than when increasing it, the system achieves a slow increase and a fast decrease effect, making the adjustment more sensitive.

[0107] In one embodiment, the data processing method in frame-synchronized games, such as Figure 8 As shown, the game terminal reports data frames to the game server, and the game server sends downlink data frames to the game terminal at fixed intervals. The game terminal detects network quality. If the network quality detection result indicates that it is in a weak network environment, it determines the congestion value of each downlink data frame based on the received downlink data frames sent by the game server. Based on the congestion value of the current data frame and the current cumulative congestion value, it predicts the congestion value of the next downlink data frame. Based on the coordinate data of the congestion values ​​of multiple consecutive predicted downlink data frames, it predicts the downlink network congestion trend.

[0108] Specifically, the congestion value of the current data frame and the cumulative congestion value of the current data frame are exponentially smoothed to predict the congestion value of the next downlink data frame, wherein the weight of the congestion value of the current data frame is greater than the weight of the cumulative congestion value of the current data frame.

[0109] Specifically, the average of the horizontal and vertical coordinates of the congestion values ​​of multiple consecutive predicted downlink data frames is calculated; using the least squares method, the slope regression coefficient is calculated based on the average of the horizontal and vertical coordinates of the congestion values ​​of each data frame; when the slope regression coefficient is greater than 0, the predicted network congestion shows an increasing trend; when the slope regression coefficient is less than 0, the predicted network congestion shows a decreasing trend.

[0110] The uplink data frame reporting interval is adjusted based on the downlink network congestion trend; the network congestion trend is directly proportional to the reporting interval. Specifically, the uplink data frame reporting transmission frequency is adjusted based on the downlink network congestion trend; if network congestion is increasing, the transmission frequency is decreased, and if network congestion is decreasing, the transmission frequency is increased; the data frame reporting interval is determined based on the adjusted transmission frequency.

[0111] Data frames are reported to the game server according to the reporting time interval.

[0112] The method described in this application was used to test a data processing method for frame-synchronized games in a weak network environment. For example, in an HSPA++ network, data was sent every 10ms.

[0113] After implementing the method of this application, such as Figure 9 As shown, the transmission interval is maintained automatically at approximately 25ms. This value is close to the measured uplink transmission bottleneck on the H+ network (no packet loss in downlink). This indicates that the algorithm successfully and automatically finds the upper limit of the optimal transmission frequency in weak network environments.

[0114] As can be seen, the method in this application can solve the problem of excessive uplink packet transmission preempting downlink bandwidth in frame-synchronized games under weak network conditions. It employs a predictive approach, adjusting its transmission frequency in advance based on predicted future network conditions, thereby improving the user experience and reducing overall link latency in weak network environments.

[0115] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0116] Based on the same inventive concept, this application also provides a data processing apparatus for implementing the data processing method in frame-synchronized games as described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more embodiments of the data processing apparatus in frame-synchronized games provided below can be found in the limitations of the data processing method in frame-synchronized games described above, and will not be repeated here.

[0117] In one embodiment, such as Figure 10 As shown, a data processing device for frame-synchronized games is provided, including...

[0118] The prediction module 1002 is used to predict the downlink network congestion trend based on the congestion status of the downlink data frames received from the game server.

[0119] The adjustment module 1004 is used to adjust the reporting time interval of uplink data frames based on the downlink network congestion trend; wherein the network congestion trend is proportional to the reporting time interval.

[0120] The control module 1006 is used to report data frames to the game server according to the reporting time interval.

[0121] In another embodiment, the prediction module includes:

[0122] The congestion value calculation module is used to determine the congestion value of each downlink data frame based on the downlink data frames received from the game server.

[0123] The prediction module is used to predict the congestion value of the next downlink data frame based on the congestion value of the current data frame and the current cumulative congestion value.

[0124] The trend prediction module is used to predict downlink network congestion trends based on the coordinate data of congestion values ​​from multiple consecutive predicted downlink data frames.

[0125] In another embodiment, the prediction module is used to perform exponential smoothing on the congestion value of the current data frame and the congestion accumulation value of the current data frame to predict the congestion value of the next downlink data frame, wherein the weight of the congestion value of the current data frame is greater than the weight of the current congestion accumulation value.

[0126] In another embodiment, the trend prediction module is used to calculate the average of the horizontal and vertical coordinates of the congestion values ​​of multiple consecutive predicted downlink data frames; using the least squares method, a slope regression coefficient is calculated based on the average of the horizontal and vertical coordinates of the congestion values ​​of each data frame; when the slope regression coefficient is greater than 0, the predicted network congestion shows an increasing trend; when the slope regression coefficient is less than 0, the predicted network congestion shows a decreasing trend.

[0127] In another embodiment, a network quality monitoring module is also included for detecting network quality. When the network quality detection result indicates that the network is in a weak network environment, the prediction module predicts the downlink network congestion trend based on the congestion status of downlink data frames received from the game server.

[0128] In another embodiment, the adjustment module is used to adjust the uplink data frame reporting transmission frequency based on the downlink network congestion trend; wherein, if network congestion shows an increasing trend, the transmission frequency is decreased, and if network congestion shows a decreasing trend, the transmission frequency is increased; and the data frame reporting time interval is determined according to the adjusted transmission frequency.

[0129] The various modules in the data processing device of the aforementioned frame-synchronized game can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of a computer device in software form, so that the processor can call and execute the corresponding operations of each module.

[0130] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 11As shown, the computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a data processing method for frame-synchronized games. The display unit of the computer device is used to form a visually visible image. It can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.

[0131] Those skilled in the art will understand that Figure 11 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0132] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0133] Based on the congestion status of the downlink data frames received from the game server, predict the downlink network congestion trend;

[0134] The uplink data frame reporting time interval is adjusted based on the downlink network congestion trend; wherein, the network congestion trend is directly proportional to the reporting time interval;

[0135] Data frames are reported to the game server according to the reported time interval.

[0136] In another embodiment, predicting downlink network congestion trends based on the congestion status of downlink data frames received from the game server includes:

[0137] Based on the downlink data frames received from the game server, determine the congestion value of each downlink data frame;

[0138] The congestion value of the next downlink data frame is predicted based on the congestion value of the current data frame and the current cumulative congestion value.

[0139] Based on the coordinate data of congestion values ​​from multiple consecutive predicted downlink data frames, the downlink network congestion trend is predicted.

[0140] In another embodiment, predicting the congestion value of the next downlink data frame based on the congestion value of the current data frame and the current cumulative congestion value includes:

[0141] The congestion value and the cumulative congestion value of the current data frame are exponentially smoothed to predict the congestion value of the next downlink data frame. The congestion value of the current data frame has a greater weight than the cumulative congestion value.

[0142] In another embodiment, predicting a downlink network congestion trend based on coordinate data of congestion values ​​from multiple consecutive predicted downlink data frames includes:

[0143] Calculate the average of the horizontal and vertical axes of the congestion values ​​for multiple consecutive predicted downlink data frames;

[0144] Using the least squares method, the slope regression coefficient is calculated based on the average of the horizontal and vertical coordinates of the congestion values ​​of each data frame.

[0145] When the slope regression coefficient is greater than 0, the predicted network congestion shows an increasing trend; when the slope regression coefficient is less than 0, the predicted network congestion shows a decreasing trend.

[0146] In another embodiment, before predicting the downlink network congestion trend based on the congestion status of the downlink data frames received from the game server, the method further includes:

[0147] Test network quality;

[0148] If the network quality detection results indicate that the network is in a weak network environment, then the step of predicting the downlink network congestion trend based on the congestion status of the downlink data frames sent by the game server is executed.

[0149] In another embodiment, adjusting the uplink data frame reporting time interval based on the downlink network congestion trend includes:

[0150] Based on the downlink network congestion trend, the uplink data frame reporting transmission frequency is adjusted; if network congestion shows an increasing trend, the transmission frequency is reduced, and if network congestion shows a decreasing trend, the transmission frequency is increased.

[0151] The reporting interval for data frames is determined based on the adjusted transmission frequency.

[0152] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:

[0153] Based on the congestion status of the downlink data frames received from the game server, predict the downlink network congestion trend;

[0154] The uplink data frame reporting time interval is adjusted based on the downlink network congestion trend; wherein, the network congestion trend is directly proportional to the reporting time interval;

[0155] Data frames are reported to the game server according to the reported time interval.

[0156] In another embodiment, predicting downlink network congestion trends based on the congestion status of downlink data frames received from the game server includes:

[0157] Based on the downlink data frames received from the game server, determine the congestion value of each downlink data frame;

[0158] The congestion value of the next downlink data frame is predicted based on the congestion value of the current data frame and the current cumulative congestion value.

[0159] Based on the coordinate data of congestion values ​​from multiple consecutive predicted downlink data frames, the downlink network congestion trend is predicted.

[0160] In another embodiment, predicting the congestion value of the next downlink data frame based on the congestion value of the current data frame and the current cumulative congestion value includes:

[0161] The congestion value and the cumulative congestion value of the current data frame are exponentially smoothed to predict the congestion value of the next downlink data frame. The congestion value of the current data frame has a greater weight than the cumulative congestion value.

[0162] In another embodiment, predicting a downlink network congestion trend based on coordinate data of congestion values ​​from multiple consecutive predicted downlink data frames includes:

[0163] Calculate the average of the horizontal and vertical axes of the congestion values ​​for multiple consecutive predicted downlink data frames;

[0164] Using the least squares method, the slope regression coefficient is calculated based on the average of the horizontal and vertical coordinates of the congestion values ​​of each data frame.

[0165] When the slope regression coefficient is greater than 0, the predicted network congestion shows an increasing trend; when the slope regression coefficient is less than 0, the predicted network congestion shows a decreasing trend.

[0166] In another embodiment, before predicting the downlink network congestion trend based on the congestion status of the downlink data frames received from the game server, the method further includes:

[0167] Test network quality;

[0168] If the network quality detection results indicate that the network is in a weak network environment, then the step of predicting the downlink network congestion trend based on the congestion status of the downlink data frames sent by the game server is executed.

[0169] In another embodiment, adjusting the uplink data frame reporting time interval based on the downlink network congestion trend includes:

[0170] Based on the downlink network congestion trend, the uplink data frame reporting transmission frequency is adjusted; if network congestion shows an increasing trend, the transmission frequency is reduced, and if network congestion shows a decreasing trend, the transmission frequency is increased.

[0171] The reporting interval for data frames is determined based on the adjusted transmission frequency.

[0172] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:

[0173] Based on the congestion status of the downlink data frames received from the game server, predict the downlink network congestion trend;

[0174] The uplink data frame reporting time interval is adjusted based on the downlink network congestion trend; wherein, the network congestion trend is directly proportional to the reporting time interval;

[0175] Data frames are reported to the game server according to the reported time interval.

[0176] In another embodiment, predicting downlink network congestion trends based on the congestion status of downlink data frames received from the game server includes:

[0177] Based on the downlink data frames received from the game server, determine the congestion value of each downlink data frame;

[0178] The congestion value of the next downlink data frame is predicted based on the congestion value of the current data frame and the current cumulative congestion value.

[0179] Based on the coordinate data of congestion values ​​from multiple consecutive predicted downlink data frames, the downlink network congestion trend is predicted.

[0180] In another embodiment, predicting the congestion value of the next downlink data frame based on the congestion value of the current data frame and the current cumulative congestion value includes:

[0181] The congestion value and the cumulative congestion value of the current data frame are exponentially smoothed to predict the congestion value of the next downlink data frame. The congestion value of the current data frame has a greater weight than the cumulative congestion value.

[0182] In another embodiment, the coordinate data based on the congestion values ​​of multiple consecutive predicted downlink data frames includes:

[0183] Calculate the average of the horizontal and vertical axes of the congestion values ​​for multiple consecutive predicted downlink data frames;

[0184] Using the least squares method, the slope regression coefficient is calculated based on the average of the horizontal and vertical coordinates of the congestion values ​​of each data frame.

[0185] When the slope regression coefficient is greater than 0, the predicted network congestion shows an increasing trend; when the slope regression coefficient is less than 0, the predicted network congestion shows a decreasing trend.

[0186] In another embodiment, before predicting the downlink network congestion trend based on the congestion status of the downlink data frames received from the game server, the method further includes:

[0187] Test network quality;

[0188] If the network quality detection results indicate that the network is in a weak network environment, then the step of predicting the downlink network congestion trend based on the congestion status of the downlink data frames sent by the game server is executed.

[0189] In another embodiment, adjusting the uplink data frame reporting time interval based on the downlink network congestion trend includes:

[0190] Based on the downlink network congestion trend, the uplink data frame reporting transmission frequency is adjusted; if network congestion shows an increasing trend, the transmission frequency is reduced, and if network congestion shows a decreasing trend, the transmission frequency is increased.

[0191] The reporting interval for data frames is determined based on the adjusted transmission frequency.

[0192] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data shall comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0193] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0194] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0195] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A data processing method in frame-synchronized games, characterized in that, The method includes: In a weak network environment, based on the downlink data frames received from the game server, the congestion value of each downlink data frame is determined; the congestion value of the downlink data frame is determined according to the difference between the transmission interval and the reception interval of the downlink data frame. Based on the congestion value of the current data frame and the current cumulative congestion value, the congestion value of the next downlink data frame is estimated; Calculate the average of the horizontal and vertical axes of the congestion values ​​for multiple consecutive predicted downlink data frames; Using the least squares method, the slope regression coefficient is calculated based on the average of the horizontal and vertical coordinates of the congestion values ​​of each data frame. When the slope regression coefficient is greater than 0, the predicted downlink network congestion shows an increasing trend; when the slope regression coefficient is less than 0, the predicted downlink network congestion shows a decreasing trend. The uplink data frame reporting time interval is adjusted based on the downlink network congestion trend; wherein, the downlink network congestion trend is proportional to the reporting time interval; Data frames are reported to the game server according to the reported time interval.

2. The method according to claim 1, characterized in that, Based on the congestion value of the current data frame and the current cumulative congestion value, the congestion value of the next downlink data frame is predicted, including: The congestion value and the cumulative congestion value of the current data frame are exponentially smoothed to predict the congestion value of the next downlink data frame. The congestion value of the current data frame has a greater weight than the cumulative congestion value.

3. The method according to claim 1, characterized in that, Before predicting the downlink network congestion trend based on the congestion status of the downlink data frames received from the game server, the method further includes: Test network quality; Determine whether the current network environment is weak based on the network quality test results.

4. The method according to claim 1, characterized in that, The adjustment of the uplink data frame reporting time interval based on the downlink network congestion trend includes: Based on the downlink network congestion trend, the uplink data frame reporting transmission frequency is adjusted; wherein, if network congestion shows an increasing trend, the transmission frequency is reduced, and if network congestion shows a decreasing trend, the transmission frequency is increased; the adjustment amount of the transmission frequency when reducing is greater than the adjustment amount of the transmission frequency when increasing. The reporting interval for data frames is determined based on the adjusted transmission frequency.

5. A data processing device for frame-synchronized games, characterized in that, The device includes: The congestion value calculation module is used to determine the congestion value of each downlink data frame in a weak network environment based on the downlink data frames sent by the game server; the congestion value of the downlink data frame is determined according to the difference between the sending interval and the receiving interval of the downlink data frame. The prediction module is used to predict the congestion value of the next downlink data frame based on the congestion value of the current data frame and the current cumulative congestion value. The trend prediction module is used to calculate the average of the horizontal and vertical coordinates of the congestion values ​​of multiple consecutive predicted downlink data frames; using the least squares method, it calculates the slope regression coefficient based on the average of the horizontal and vertical coordinates of the congestion values ​​of each data frame; when the slope regression coefficient is greater than 0, the predicted downlink network congestion shows an increasing trend; when the slope regression coefficient is less than 0, the predicted downlink network congestion shows a decreasing trend. An adjustment module is used to adjust the reporting time interval of uplink data frames based on the downlink network congestion trend; wherein the downlink network congestion trend is proportional to the reporting time interval; The control module is used to report data frames to the game server according to the reporting time interval.

6. The apparatus according to claim 5, characterized in that, The prediction module is specifically used for: The congestion value and the cumulative congestion value of the current data frame are exponentially smoothed to predict the congestion value of the next downlink data frame. The congestion value of the current data frame has a greater weight than the cumulative congestion value.

7. The apparatus according to claim 5, characterized in that, The device also includes a network quality monitoring module for: Test network quality; Determine whether the current network environment is weak based on the network quality test results.

8. The apparatus according to claim 5, characterized in that, The adjustment module is specifically used for: Based on the downlink network congestion trend, the uplink data frame reporting transmission frequency is adjusted; wherein, if network congestion shows an increasing trend, the transmission frequency is reduced, and if network congestion shows a decreasing trend, the transmission frequency is increased; the adjustment amount of the transmission frequency when reducing is greater than the adjustment amount of the transmission frequency when increasing. The reporting interval for data frames is determined based on the adjusted transmission frequency.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 4.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 4.

11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Rate reduction parameter optimization method based on a congestion degree factor

    CN109905326A

  • Multimedia data transmission control method and device, storage medium and electronic equipment

    CN113271316A