Game delay judgment method, judgment device, electronic device and storage medium
By determining the delay information based on the target heartbeat package of the target game, calculating the lag rate, and judging the game delay situation, the problem of difficult game delay judgment methods in the prior art is solved, and high accuracy and versatility of game delay judgment is achieved.
Patent Information
- Application Number
- CN202110662788.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-15
- Publication Date
- 2025-05-16
- Estimated Expiration
- 2041-06-15
AI Technical Summary
In the prior art, it is difficult to achieve simple deployment of game delay judgment methods, resulting in difficulty in implementing it.
By determining the delay information based on the target heartbeat packet of the target game during the target period, the lag rate is calculated based on the delay information, determining whether it is a bad quality call sheet, and finally determining the game delay situation.
It realizes the accuracy and versatility of game delay judgment, and is suitable for various MOBA games, with simple deployment and easy implementation.
Smart Images

Figure CN115475380B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of wireless communication technology, and in particular to a game delay judgment method, a judgment device, an electronic device and a storage medium. Background Art
[0002] Multiplayer online tactical competition (RTS) games in online games have the advantages of fast pace, excitement and strong interactivity, and have high requirements for the network. Therefore, it is particularly important to promptly discover network delay problems and solve them to maintain the user's perceived experience. In the prior art, game perception evaluation is generally performed by obtaining coding rules from APP development companies or by implanting SDK (software development kit) in APPs, but both are difficult to implement and difficult to implement. Summary of the invention
[0003] The present invention provides a game delay judgment method, a judgment device, an electronic device and a storage medium, which are used to solve the defects of the difficult implementation in the prior art and achieve simple deployment.
[0004] The present invention provides a game delay determination method, comprising:
[0005] Determine latency information based on target heartbeat packets of the target game in the target time period;
[0006] Determine a jam rate based on the latency information;
[0007] When the jam rate exceeds the target threshold, it is determined as a poor quality call record;
[0008] Based on the number of the poor-quality call records and the number of the target heartbeat packets, the proportion of poor-quality services of the target game in the target time period is determined.
[0009] According to a game delay determination method provided by the present invention, the determining of the jam rate based on the delay information includes:
[0010] Based on the delay information, determine the first delay number of each delay interval in the target time period;
[0011] A weighted calculation is performed on the first delay times to determine the jam rate.
[0012] According to a game delay determination method provided by the present invention, performing weighted calculation on the first delay times to determine the jam rate includes:
[0013] Apply the formula
[0014] C=(N1*P1+N2*P2+……+Nn*Pn) / (N1+N2+……+Nn)
[0015] Determining the jam rate;
[0016] Among them, C is the jamming rate, Nn is the first delay number of the nth delay interval in the target time period; and Pn is the weight factor corresponding to the nth delay interval.
[0017] According to a game delay determination method provided by the present invention, the weight factor is determined by the following steps:
[0018] Determine, based on the delay information, a second delay number of each delay interval in the first time period;
[0019] Based on the second delay times and the target jamming rate, the weight factor corresponding to each of the delay intervals is determined.
[0020] According to a method for determining game delay provided by the present invention, the method of determining delay information based on a target heartbeat packet of a target game in a target time period includes:
[0021] Obtaining a target IP address by performing domain name resolution on the session flow of the target game;
[0022] Based on the target IP address, obtain the delayed heartbeat packet of the target game in the target time period;
[0023] Extracting features of the delayed heartbeat packet to obtain an uplink packet time value and a downlink packet time value;
[0024] The difference between the downlink packet time value and the uplink packet time value is calculated to obtain the delay information.
[0025] According to a method for determining game delay provided by the present invention, when the jam rate exceeds a target threshold, determining the call record as poor quality includes:
[0026] When the jam rate on the wireless side exceeds the target threshold and the jam rate on the core side does not exceed the target threshold, it is determined as a poor quality call record on the wireless side;
[0027] Alternatively, when the radio side jam rate does not exceed the target threshold and the core side jam rate exceeds the target threshold, it is determined to be a core side poor quality call record;
[0028] Alternatively, when the jamming rate on the wireless side exceeds the target threshold and the jamming rate on the core side exceeds the target threshold, it is determined as a call record of poor quality on the wireless side and the core side;
[0029] Alternatively, when the radio side jam rate does not exceed the target threshold and the core side jam rate does not exceed the target threshold, it is determined to be an end-to-end side poor quality call record;
[0030] Among them, the wireless side jam rate is the downlink call single jam rate of the heartbeat packet, and the core side jam rate is the uplink call single jam rate of the heartbeat packet.
[0031] According to a method for determining game delay provided by the present invention, the method of determining the proportion of poor-quality services of the target game in the target time period based on the number of poor-quality call records and the call records of the target heartbeat packets includes:
[0032] Calculate the ratio of the number of TCP session heartbeat packet quality poor call records to the number of target TCP session heartbeat packet call records to determine the proportion of the TCP session heartbeat packet quality poor call records;
[0033] Alternatively, the ratio of the number of UDP session heartbeat packet quality-poor call records to the number of target UDP session heartbeat packet call records is calculated to determine the proportion of the UDP session heartbeat packet quality-poor call records;
[0034] Alternatively, the ratio of the number of call slips with poor quality of UDP heartbeat packets due to delay in displaying the game interface screen to the number of call slips with poor quality of UDP heartbeat packets due to delay in displaying the target game interface screen is calculated to determine the proportion of call slips with poor quality of UDP heartbeat packets due to delay in displaying the game interface screen.
[0035] The present invention also provides a game delay determination device, comprising:
[0036] A first processing module, configured to determine delay information based on a target heartbeat packet of a target game in a target time period;
[0037] A second processing module, configured to determine a jam rate based on the delay information;
[0038] A third processing module is used to determine that the call record is of poor quality when the jam rate exceeds the target threshold;
[0039] The fourth processing module is used to determine the proportion of poor quality services of the target game in the target time period based on the number of poor quality call records and the call records of the target heartbeat packets.
[0040] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the steps of any of the above-mentioned game delay determination methods are implemented.
[0041] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any of the above-described game delay determination methods.
[0042] The game delay judgment method, judgment device, electronic device and storage medium provided by the present invention determine the freeze rate of the target game in the target time period based on the heartbeat packet characteristics, and determine the proportion of poor quality services based on the freeze rate to judge the game delay situation, thereby monitoring and evaluating the user's game perception and guiding the implementation of relevant network optimization solutions. The method is applicable to various MOBA games, has high judgment accuracy, strong versatility, simple deployment, and is easy to implement. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0044] Figure 1 This is one of the flow charts of the game delay determination method provided by the present invention;
[0045] Figure 2 This is one of the principle diagrams of the game delay determination method provided by the present invention;
[0046] Figure 3 This is the second principle diagram of the game delay determination method provided by the present invention;
[0047] Figure 4 This is the second flow chart of the game delay determination method provided by the present invention;
[0048] Figure 5 This is the third principle diagram of the game delay determination method provided by the present invention;
[0049] Figure 6 It is a structural schematic diagram of a game delay determination device provided by the present invention;
[0050] Figure 7 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION
[0051] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0052] Combine the following Figures 1 to 5The game delay determination method of the present invention is described.
[0053] It is understandable that the game delay determination method can be applied to a terminal, and can be specifically executed by hardware or software in the terminal. The execution subject of the game delay determination method can be a terminal, such as a mobile phone, a computer or a tablet, etc.; or the execution subject of the game delay determination method can be a control device of a terminal, etc.
[0054] like Figure 1 As shown, the game delay determination method includes: step 110, step 120, step 130 and step 140.
[0055] Step 110: Determine the delay information based on the target heartbeat packet of the target game in the target time period.
[0056] Among them, the target game can be an online game used on an electronic device, such as a real-time strategy (RTS) game, the most common of which is a multiplayer online battle arena (MOBA) game; of course, in other embodiments, the target game can also be a third-person shooter (TPS), first-person shooter (FPS) or other types of games.
[0057] It should be noted that for the above RTS games, the general gameplay is: players purchase equipment during battles, are usually divided into two teams, and the two teams compete with each other in scattered game maps. Each player controls the selected character through an RTS-style interface. However, unlike traditional hardcore RTS games, this type of game usually does not require the operation of organizational units such as buildings, resources, or training arms that are common in RTS games. Players only control the characters they choose.
[0058] Taking MOBA games as an example, the server of this type of game adopts a room mode. After each player logs in, he enters the lobby and matches the game. After the matching is completed, the server puts the players who play against each other into a room for battle.
[0059] like Figure 2 As shown, the player first logs in to the "lobby server" and then selects the team game function. The server will notify all participating game clients and open a new connection to the room server, so that all participating users can interact with the game in the room server.
[0060] Taking MOBA games as an example, the communication methods of this type of game generally include http and socket. However, since the underlying layer of http also uses socket, it will be disconnected after each communication is completed. This method is less efficient for both parties who need to interact frequently. Therefore, games with high real-time requirements generally use socket to communicate.
[0061] Among them, socket communication is divided into two modes: TCP and UDP. In the actual implementation process, the specific socket mode can be selected based on the game type. Table 1 illustrates the advantages and disadvantages of the two communication modes of TCP and UDP.
[0062] Table 1 Characteristics of TCP and UDP communication modes
[0063] TCP UDP connect Connection-Oriented Non-connected reliability Reliable and orderly Unreliable and disorderly Data Pack Automatic unpacking Manual unpacking flow Flow Control Manual speed slow quick control Simple complex
[0064] Based on the different business and scenarios of the game, UDP communication is mostly used for long-link mobile games.
[0065] During the research and development process, the inventors found that in the prior art, when conducting game perception evaluation on MOBA games, the following two methods are generally used: (1) by obtaining the embedded coding rules from the APP development company for evaluation, but this method requires the APP development company to provide the relevant feature code plain text rules, and the feature code may change at any time, which is difficult to implement; (2) by implanting SDK (software development kit) in the APP for evaluation, but this method requires the company's own developed app to be implanted in the software, which is also difficult to implement.
[0066] In the present application, the delay information is determined by obtaining the target heartbeat packet of the target game in the target time period, and the deployment is simple and easy to implement.
[0067] It should be noted that for RTS games, the entire game interaction is achieved through TCP or UDP session streams, which contain heartbeat information. Fixed heartbeat information is regularly sampled and sent throughout the session, such as sending a group of heartbeat packets every 5 seconds or 3 seconds, to measure the heartbeat index of the game session stream.
[0068] Among them, the session flows include: game interface display delay session flow, game battle TCP session flow and game battle UDP session flow, etc.
[0069] In this step, the target heartbeat packet is a traffic packet containing heartbeat information, including an uplink packet and a downlink packet, which is used to represent the heartbeat information sent and received between the user terminal and the server during the target time period.
[0070] The target heartbeat packets may be all the heartbeat packets in the target time period, or may be a user-defined number of heartbeat packets obtained by sampling.
[0071] Among them, the target time period can be a user-defined time period to evaluate the latency of the target game within the time period to evaluate the user's gaming perception; for example, the target time period can be any time period such as 3 hours, 24 hours or a week.
[0072] The specific implementation method of this step is described below.
[0073] In some embodiments, step 110, determining latency information based on a target heartbeat packet of a target game in a target time period, includes:
[0074] Obtain the target IP address by performing domain name resolution on the target game's session stream;
[0075] Based on the target IP address, obtain the delayed heartbeat packet of the target game in the target time period;
[0076] Extract features of delayed heartbeat packets to obtain uplink packet time values and downlink packet time values;
[0077] Calculate the difference between the downlink packet time value and the uplink packet time value to obtain the delay information.
[0078] Below, the above steps are explained using the MOBA game interface display delay (UDP session stream) as an example.
[0079] In the actual execution process, the IP address of the UDP screen real-time delay heartbeat stream can first be obtained through DNS domain name resolution.
[0080] In other embodiments, after obtaining the IP address of the real-time delay heartbeat stream, it is necessary to judge through the UDP packet header characteristics and completely parse the entire business traffic to parse out the heartbeat packet of the UDP screen real-time delay session of the target game in the target time period.
[0081] By identifying each group of UDP game interface delay heartbeat packets with features and extracting features from the delay heartbeat packets, the uplink packet time value and the downlink packet time value can be obtained.
[0082] Figure 3 An example of a transmission method for a game interface UDP heartbeat packet is given, in which a group of delayed heartbeat packets of the game interface are sent every 5 seconds, the protocol of the heartbeat packet is UDP, and the server port number is 5008.
[0083] UDP heartbeat information consists of 2 packets, such as Figure 3 As shown, the uplink packet is No.5692 and the downlink packet is No.5699.
[0084] Among them, the characteristics of the packets in the UDP session are as follows:
[0085] Uplink packet (sending data): payload:19, the last four bits of the packet are 01 00 02 41, and the offset bits are 16 to 19;
[0086] Downlink packet (received data): payload: 20, the last four bits of the packet are 00 00 41 41, and the offset bits are 17 to 20.
[0087] It should be noted that each group of uplink packets and downlink packets corresponds to a time value.
[0088] The correlation relationship between the heartbeat packets in each UDP game interface session is as follows:
[0089] The heartbeat packet in the UDP game interface session consists of an uplink packet and a downlink packet. The uplink offset feature of the heartbeat packet in the UDP game interface session has a +1 relationship with the uplink offset feature of the next group of heartbeat packets, and is located at the 14th offset position.
[0090] For example, the 14th offset bit of the uplink packet of NO.5692 is 41, and the 14th offset bit of the uplink packet of NO.5073 is 42.
[0091] It is understandable that, in other embodiments, the heartbeat packet may also be a heartbeat packet for a TCP session or a heartbeat packet for a UDP session, both of which are sent in a group every 3 seconds.
[0092] After extracting the uplink packet time value and the downlink packet time value, the difference between the downlink packet time value and the uplink packet time value is calculated to obtain the delay information, such as applying the formula:
[0093] Delay information = downlink packet time value - uplink packet time value.
[0094] For example, in the case of a group of heartbeat packets with an upstream payload of 19 and a downstream payload of 20, No. 29949 and No. 29947, the upstream packet time value is 21.391966s, and the downstream packet time value is 21.444121s, then:
[0095] Delay information = 21.444121s-21.391966s=52.155ms.
[0096] Based on the latency information, the latency of the target game within the target time period can be determined, and the user's perceived experience can be evaluated based on the latency.
[0097] It should be noted that, for a game-versus-TCP session flow or a game-versus-UDP session flow, the method of calculating the delay information is similar to that in the above embodiment, and will not be described here to avoid repetition.
[0098] Of course, in other embodiments, the total number of heartbeat packets, average delay, maximum delay and minimum delay can also be counted to further understand the user experience of the relevant delays of the target game, as shown in Table 2, the UDP game interface heartbeat packet information of a MOBA game in one game.
[0099] Table 2 A UDP game interface heartbeat packet information table of a MOBA game in one round
[0100]
[0101] According to this step, through the combination of "domain name resolution" and "code stream characteristics", the game battle TCP session flow, the game battle UDP session flow and the game interface display delay (UDP session flow) are identified to generate the delay information of the heartbeat packet. The deployment is simple, fast and easy to implement.
[0102] Step 120: Determine the jam rate based on the delay information;
[0103] Among them, the lag rate is the frequency of lag perceived by players during the game.
[0104] It should be noted that players' perception of lag changes with network latency. Generally speaking, the greater the network latency and the higher the network delay, the more obvious the lag is and the worse the user perception is.
[0105] For some MOBA games, the current network latency will generally be displayed on the screen.
[0106] Based on the user's perception of jamming, in some embodiments, the network delay can be divided into multiple intervals, and the user's perception of jamming corresponding to each interval is different. It can be understood that the smaller the network delay interval, the less obvious the user's perception of jamming.
[0107] For example, the delay interval can be divided into four intervals as shown in Table 3, where the first delay interval is an interval less than 100ms, the second delay interval is an interval between 100ms-200ms, the third delay interval is an interval between 200ms-300ms, and the fourth delay interval is an interval greater than 300ms.
[0108] Table 3 Correspondence between delay interval and user perception
[0109] Delay interval ms User perception Less than 100 Good, no lag 100-200 Generally, there is a lag 200-300 Stuck and stopped More than 300 Severe lag
[0110] It can be seen from Table 3 that users have a better perception in the first delay interval, there is a slight lag in the second delay interval, and when the delay exceeds 300ms, users can perceive serious lag. Therefore, users have a poor gaming perception in the third and fourth delay intervals.
[0111] It is understandable that the delay information obtained through step 110 may exist in any interval of the above delay intervals.
[0112] Of course, in other embodiments, the delay interval may be divided according to other time values, or the delay interval may be divided into any number, such as 5 intervals or 6 intervals, etc., which is not limited in this application.
[0113] In some embodiments, the interval in which the delay information is located can be directly determined, and then the user perception of the target game can be determined, but the determination result is highly accidental.
[0114] In other embodiments, the perceived quality of the gaming experience may be determined by calculating the proportion of the delay times of different delay intervals of the target game within the target time period. That is, step 120, determining the jam rate based on the delay information, may also include:
[0115] Based on the delay information, determine the first delay number of each delay interval in the target time period;
[0116] A weighted calculation is performed on the first delay times to determine the jam rate.
[0117] The first delay number is the delay number of each delay interval within the target time period.
[0118] The proportion of the first delay times in each delay interval to the total delay times sampled in the target time period is calculated respectively, and the overall delay situation of the target game in the target time period can be obtained.
[0119] It is understandable that the smaller the latency, the larger the proportion of the interval, which means the better the player's gaming experience.
[0120] For example, as shown in Table 4, the delay of the target game in the target time period is: the number of delays in the first delay interval is N1, the number of delays in the second delay interval is N2, the number of delays in the third delay interval is N3, and the number of delays in the fourth delay interval is N4.
[0121] Table 4 The first delay times of each delay interval in the target period
[0122] Delay interval ms Weight Factor frequency Less than 100 <![CDATA[P1]]> <![CDATA[N1]]> 100-200 <![CDATA[P2]]> <![CDATA[N2]]> 200-300 <![CDATA[P3]]> <![CDATA[N3]]> More than 300 <![CDATA[P4]]> <![CDATA[N4]]>
[0123] Among them, N1, N2, N3 and N4 can be the total number of times within the target period, or the number of samples within the target period.
[0124] Each delay interval corresponds to a weight factor. The jamming rate can be determined by weighted calculation of the first delay times.
[0125] In this embodiment, by respectively counting the proportion of the first delay times in each delay interval to the total delay times sampled in the target time period, and obtaining the freeze rate of the target game in the target time period based on the proportion, the freeze rate of the user's TCP, UDP and game screen display in the game can be accurately calculated, and an accurate data basis can be provided for the next step of calculating the poor quality call records.
[0126] In some embodiments, performing weighted calculation on the first delay times to determine the jam rate may further include:
[0127] Apply the formula
[0128] C=(N1*P1+N2*P2+……+N n *P n ) / (N1+N2+……+N n )
[0129] Determine the jam rate;
[0130] Among them, C is the jam rate, N n is the first delay number of the nth delay interval in the target time period; P n is the weight factor corresponding to the nth delay interval.
[0131] It should be noted that the weight factor is affected by various factors such as the division of the delay interval, the game type, and the requirement for evaluation accuracy. In some embodiments, the weight factor can be user-defined, and the determination method of the weight factor will be specifically described in subsequent embodiments.
[0132] For example, for the delay conditions shown in Table 4, the jam rate of the target game during the target period is:
[0133] C=(N1*P1+N2*P2+N3*P3+N4*P4) / (N1+N2+N3+N4)
[0134] It is understandable that the higher the lag rate, the worse the user's gaming perception.
[0135] Step 130: When the jam rate exceeds the target threshold, it is determined to be a poor quality call record;
[0136] The target threshold is the maximum value of the lag rate corresponding to a good player perception.
[0137] The target threshold can be customized based on the user. For example, the target threshold is set to 10%. That is, when the stuttering rate exceeds 10%, the player can feel long-term obvious stuttering during the game, and the game perception experience is poor.
[0138] In this step, the freeze rate determined based on step 120 is compared with the target threshold to determine the user perception of the target game in the target time period.
[0139] When the freeze rate does not exceed the target threshold, it is determined to be a high-quality call. At this time, players have a good gaming experience and no optimization is required.
[0140] When the freeze rate exceeds the target threshold, it is determined to be a poor quality call. At this time, the player's gaming perception is poor and optimization is required to improve user perception.
[0141] Step 140: Determine the proportion of poor-quality services of the target game in the target time period based on the number of poor-quality call records and the number of call records for target heartbeat packets.
[0142] It can be understood that in the above steps, the number of all heartbeat packet XDR call records sampled for the target game within the target time period and the number of XDR call records judged as poor quality in all the above heartbeat packet XDR call records can be obtained. By calculating the ratio of the number of poor quality XDRs to the number of all heartbeat packet XDRs, the proportion of poor quality services of the target game in the target time period can be obtained.
[0143] When the proportion of poor-quality services is high, it means that the user perception of the target game is poor. Therefore, network optimization and maintenance engineers need to promptly discover problems in the network to optimize and maintain the target game and improve the user's perceived experience.
[0144] Through this step, statistical analysis can be performed on the target game service latency or jamming indicators of a single user or multiple users to evaluate video service perception in multiple dimensions such as users or networks.
[0145] In some embodiments, step 140, based on the number of poor-quality call slips and the number of call slips of target heartbeat packets, determines the proportion of poor-quality services of the target game in the target time period, including: calculating the ratio of the number of TCP session heartbeat packet poor-quality call slips to the number of target TCP session heartbeat packet call slips, and determining the proportion of TCP session heartbeat packet poor-quality call slips;
[0146] Alternatively, the ratio of the number of UDP session heartbeat packet quality-poor call records to the number of target UDP session heartbeat packet call records is calculated to determine the proportion of UDP session heartbeat packet quality-poor call records;
[0147] Alternatively, calculate the ratio of the number of call records with poor quality of UDP heartbeat packets due to delay in displaying the game interface screen to the number of call records with poor quality of UDP heartbeat packets due to delay in displaying the target game interface screen, and determine the proportion of call records with poor quality of UDP heartbeat packets due to delay in displaying the game interface screen.
[0148] It can be understood that the TCP session heartbeat packet is the heartbeat packet collected within the target time period when the session flow is the game battle TCP session flow; the UDP session heartbeat packet is the heartbeat packet collected within the target time period when the session flow is the game battle UDP session flow; the game interface screen display delay UDP heartbeat packet is the heartbeat packet collected within the target time period when the session flow is the game interface display delay session flow.
[0149] In this embodiment, by distinguishing between poor quality on the core side and poor quality on the wireless side, the accuracy of judgment can be improved, the problem area can be accurately located, the optimization work can be guided, and the optimization analysis capability of the poor quality problem can be improved.
[0150] In addition, it can also monitor in real time the delay or lag indicators of multiple users when they are gaming, guide the implementation of relevant network optimization solutions, and ensure that users have a good experience when gaming in real time.
[0151] According to the game delay judgment method provided by the embodiment of the present invention, the freeze rate of the target game in the target time period is determined based on the heartbeat packet characteristics, and the proportion of poor quality services is determined based on the freeze rate to judge the game delay situation, thereby monitoring and evaluating the user's game perception and guiding the implementation of relevant network optimization solutions. The method is applicable to various MOBA games, has high judgment accuracy, strong versatility, simple deployment, and is easy to implement.
[0152] In some embodiments, the weight factor may be determined by:
[0153] Determine, based on the delay information, the second delay number of each delay interval in the first time period;
[0154] Based on the second delay times and the target jamming rate, a weight factor corresponding to each delay interval is determined.
[0155] The first time period is a user-defined time period. For example, the first time period can be set as a time period corresponding to a certain game, or can also be set as a time period corresponding to multiple games.
[0156] It should be noted that the first time period and the target time period are not the same time period.
[0157] The second delay number is the delay number of each delay interval in the first time period.
[0158] Among them, the delay interval in this step should be consistent with the delay interval in the above embodiment, that is, the delay interval divided when calculating the weight factor should be consistent with the delay interval divided when calculating the jamming rate based on the weight factor.
[0159] In this embodiment, the heartbeat packets of the target game within the first time period are sampled, and the delay information of each heartbeat packet is calculated respectively, and the second delay number of each delay interval is obtained based on the delay information; the ratio of the second delay number of each delay interval to the delay number of all sampled heartbeat packets is calculated respectively, and the proportion of the second delay number of each delay interval in the total sampling number is obtained; based on the ratio and the target freeze rate, the weight factor corresponding to each delay interval can be determined.
[0160] The target jam rate may be user-defined. By default, the target jam rate may be set to a target threshold, such as 10%.
[0161] For example, when the number of heartbeats is 10 and the target jamming rate is 10%, according to user perception, when the delay is between 100-200ms, if it occurs 5 times, the experience perception will be poor; when the delay is between 200-300ms, if it occurs 2 times, the perception will be poor; when the delay is greater than 300ms, if it occurs 1 time, the perception will be poor, thus obtaining a comparison table of delay ranges and the number of times that user perception is poor as shown in Table 5.
[0162] Table 5 Comparison of delay interval and number of times of poor user perception
[0163] Heart rate Less than 100ms 100-200ms 200-300ms More than 300ms 10 5 5 0 0 10 8 0 2 0 10 9 0 0 1
[0164] Through the above steps, the formula P=C*L is applied to calculate the weight factors corresponding to each delay interval respectively, where P is the weight factor corresponding to each delay interval, L is the proportion of the second delay number of the delay interval in the total sampling number, and C is the target jamming rate.
[0165] For example:
[0166] When the delay range is 100-200ms, the weight factor P A The calculation formula is: 10% = 5*P A / 10, calculate P A =0.2;
[0167] When the delay range is 200-300ms, the weight factor P B The calculation formula is: 10% = 2*P B / 10, calculate P B =0.5;
[0168] When the delay interval is greater than 300ms, the weight factor PC The calculation formula is: 10% = 1*P C / 10, calculate P C =1.
[0169] The game delay judgment method provided in an embodiment of the present invention helps to improve the accuracy of the calculation results by setting corresponding weight factors for different delay intervals, thereby more accurately evaluating the user's perceived experience.
[0170] It should be noted that when judging the user's game-related TCP, UDP and game screen display delay session heartbeat packet XDR, segmented positioning of the perceived quality difference XDR can be used to distinguish between the core side quality difference and the wireless side quality difference, which helps to optimize the analysis of the quality difference problem.
[0171] like Figure 4 As shown, in some embodiments, step 130, when the jamming rate exceeds the target threshold, determining it as a poor quality call record, further includes:
[0172] When the jam rate on the wireless side exceeds the target threshold and the jam rate on the core side does not exceed the target threshold, it is determined as a poor quality call record on the wireless side;
[0173] Alternatively, when the jamming rate on the wireless side does not exceed the target threshold and the jamming rate on the core side exceeds the target threshold, it is determined to be a core side poor quality call record;
[0174] Alternatively, when the jamming rate on the wireless side exceeds the target threshold and the jamming rate on the core side exceeds the target threshold, it is determined as a poor quality call record on the wireless side and the core side;
[0175] Alternatively, when the jamming rate on the wireless side does not exceed the target threshold and the jamming rate on the core side does not exceed the target threshold, it is determined to be an end-to-end side poor quality call record;
[0176] Among them, the wireless side jam rate is the downlink call single jam rate of the heartbeat packet, and the core side jam rate is the uplink call single jam rate of the heartbeat packet.
[0177] It should be noted that, in some embodiments, the jam rate of the entire call record session XDR of the heartbeat packet can be first determined, that is, the jam rate of the entire process from the user terminal to the server and then from the server back to the user terminal and the target threshold. If the jam rate does not exceed the target threshold, it is marked as a high-quality XDR call record and the judgment is ended.
[0178] When the jam rate exceeds the target threshold, segmentation determination is performed.
[0179] Among them, the wireless side jam rate is the downlink call single jam rate of the heartbeat packet, and the core side jam rate is the uplink call single jam rate of the heartbeat packet.
[0180] It should be noted that if Figure 5 As shown in the figure, the core side XDR is the delay of the uplink packet sent from the user terminal (UE) to the server side (SP); that is, the delay from the S1_U port to the server, and then from the server to the S1_U port, as shown in the figure. Figure 5 The process of 1-2.
[0181] Continue to refer to Figure 5 , the wireless side XDR is the delay of the downlink packet sent from the server to the user terminal, that is, the delay from the S1_U port to the user terminal and then from the user terminal back to the S1_U port, such as Figure 5 The process of 2-3.
[0182] In some embodiments, when the point collection point is at the S1_U port, the jam rate of the heartbeat packet uplink call single session XDR is greater than the target threshold and the jam rate of the heartbeat packet downlink call single session XDR is not greater than the target threshold, it is identified as core side poor quality XDR.
[0183] In other embodiments, when the point collection point is at the S1_U port, the jam rate of the heartbeat packet downlink call single session XDR is greater than the target threshold and the jam rate of the heartbeat packet uplink call single session XDR is not greater than the target threshold, it is identified as poor quality XDR on the wireless side.
[0184] Of course, in other embodiments, when the jam rate of the heartbeat packet uplink call single session XDR and the jam rate of the heartbeat packet downlink call single session XDR are both greater than the target threshold, they are simultaneously identified as core side poor quality XDR and wireless side poor quality XDR.
[0185] In some other embodiments, when the jam rate of the entire heartbeat packet and the entire call record session XDR exceeds the target threshold, but the jam rate of the heartbeat packet uplink call record session XDR and the jam rate of the heartbeat packet downlink call record session XDR do not exceed the target threshold, it is identified as end-to-end poor quality XDR.
[0186] According to the game delay judgment method provided by the embodiment of the present invention, by distinguishing between the quality difference on the core side and the quality difference on the wireless side, the accuracy of the judgment can be improved, the problem interval can be accurately located, the optimization work can be guided, and the optimization analysis capability of the quality difference problem can be improved.
[0187] The game delay determination device provided by the present invention is described below. The game delay determination device described below and the game delay determination method described above can be referenced to each other.
[0188] like Figure 6 As shown, the game delay determination device includes: a first processing module 610, a second processing module 620, a third processing module 630 and a fourth processing module 640.
[0189] A first processing module 610 is used to determine delay information based on a target heartbeat packet of a target game in a target time period;
[0190] A second processing module 620 is used to determine a jamming rate based on the latency information;
[0191] The third processing module 630 is used to determine the call record as poor quality when the jamming rate exceeds the target threshold;
[0192] The fourth processing module 640 is used to determine the proportion of poor quality services of the target game in the target time period based on the number of poor quality call records and the number of call records of target heartbeat packets.
[0193] In some embodiments, the second processing module 620 is further configured to:
[0194] Based on the delay information, determine the first delay number of each delay interval in the target time period;
[0195] A weighted calculation is performed on the first delay times to determine the jam rate.
[0196] In some embodiments, the second processing module 620 is further configured to:
[0197] Apply the formula
[0198] C=(N1*P1+N2*P2+……+N n *P n ) / (N1+N2+……+N n )
[0199] Determine the jam rate;
[0200] Among them, C is the jam rate, N n is the first delay number of the nth delay interval in the target time period; P n is the weight factor corresponding to the nth delay interval.
[0201] In some embodiments, the weight factor is determined by:
[0202] Determine, based on the delay information, the second delay number of each delay interval in the first time period;
[0203] Based on the second delay times and the target jamming rate, a weight factor corresponding to each delay interval is determined.
[0204] In some embodiments, the first processing module 610 is further configured to:
[0205] Obtain the target IP address by performing domain name resolution on the target game's session stream;
[0206] Based on the target IP address, obtain the delayed heartbeat packet of the target game in the target time period;
[0207] Extract features of delayed heartbeat packets to obtain uplink packet time values and downlink packet time values;
[0208] Calculate the difference between the downlink packet time value and the uplink packet time value to obtain the delay information.
[0209] In some embodiments, the third processing module 630 is further configured to: determine a wireless side poor quality call record when the wireless side jam rate exceeds the target threshold and the core side jam rate does not exceed the target threshold;
[0210] Among them, the wireless side jam rate is the downlink call single jam rate of the heartbeat packet, and the core side jam rate is the uplink call single jam rate of the heartbeat packet.
[0211] In some embodiments, the third processing module 630 is further configured to: determine a core-side poor quality call record when the radio-side jamming rate does not exceed the target threshold and the core-side jamming rate exceeds the target threshold;
[0212] Among them, the wireless side jam rate is the downlink call single jam rate of the heartbeat packet, and the core side jam rate is the uplink call single jam rate of the heartbeat packet.
[0213] In some embodiments, the third processing module 630 is also used to: when the wireless side jamming rate exceeds the target threshold and the core side jamming rate exceeds the target threshold, determine it as a call record of poor quality on the wireless side and the core side; wherein the wireless side jamming rate is the downlink call record jamming rate of the heartbeat packet, and the core side jamming rate is the uplink call record jamming rate of the heartbeat packet.
[0214] In some embodiments, the third processing module 630 is further configured to: determine that the call record is of poor quality on the end-to-end side when the jamming rate on the wireless side does not exceed the target threshold and the jamming rate on the core side does not exceed the target threshold;
[0215] Among them, the wireless side jam rate is the downlink call single jam rate of the heartbeat packet, and the core side jam rate is the uplink call single jam rate of the heartbeat packet.
[0216] In some embodiments, the fourth processing module 640 is further used to calculate the ratio of the number of TCP session heartbeat packet quality poor bills to the number of target TCP session heartbeat packet bills to determine the proportion of TCP session heartbeat packet quality poor bills.
[0217] In some embodiments, the fourth processing module 640 is further used to calculate the ratio of the number of UDP session heartbeat packet quality-poor call records to the number of target UDP session heartbeat packet call records, and determine the proportion of UDP session heartbeat packet quality-poor call records.
[0218] In some embodiments, the fourth processing module 640 is also used to: calculate the ratio of the number of call records with poor quality of UDP heartbeat packets due to delay in displaying the game interface screen to the number of call records with poor quality of UDP heartbeat packets due to delay in displaying the target game interface screen, and determine the proportion of call records with poor quality of UDP heartbeat packets due to delay in displaying the game interface screen.
[0219] According to the game delay judgment device provided by the embodiment of the present invention, the freeze rate of the target game in the target time period is determined based on the heartbeat packet characteristics, and the proportion of poor quality services is determined based on the freeze rate to judge the game delay situation, thereby monitoring and evaluating the user's game perception and guiding the implementation of relevant network optimization solutions. The device is suitable for various MOBA games, has high judgment accuracy, strong versatility, simple deployment, and is easy to implement.
[0220] Figure 7 An example of a physical structure diagram of an electronic device is shown in FIG. Figure 7 As shown, the electronic device may include: a processor 710, a communication interface 720, a memory 730 and a communication bus 740, wherein the processor 710, the communication interface 720 and the memory 730 communicate with each other through the communication bus 740. The processor 710 may call the logic instructions in the memory 730 to execute the game delay judgment method, which includes: determining the delay information based on the target heartbeat packet of the target game in the target time period; determining the jam rate based on the delay information; determining it as a poor quality call when the jam rate exceeds the target threshold; determining the proportion of poor quality services of the target game in the target time period based on the number of the poor quality call and the call of the target heartbeat packet.
[0221] In addition, the logic instructions in the above-mentioned memory 730 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.
[0222] On the other hand, the present invention also provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer can execute the game delay judgment method provided by the above methods, and the method includes: determining delay information based on a target heartbeat packet of a target game in a target time period; determining a jamming rate based on the delay information; determining a poor quality call record when the jamming rate exceeds a target threshold; determining the proportion of poor quality services of the target game in the target time period based on the number of poor quality call records and call records of the target heartbeat packet.
[0223] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to execute the above-mentioned game delay judgment methods, the methods comprising: determining delay information based on a target heartbeat packet of a target game in a target time period; determining a jamming rate based on the delay information; determining a poor quality call record when the jamming rate exceeds a target threshold; determining a proportion of poor quality services of the target game in the target time period based on the number of poor quality call records and call records of the target heartbeat packet.
[0224] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.
[0225] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0226] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for determining game delay, characterized in that: include: Determine latency information based on target heartbeat packets of the target game in the target time period; Determine a jam rate based on the latency information; When the jam rate exceeds the target threshold, it is determined as a poor quality call record; Based on the number of the poor-quality call records and the call records of the target heartbeat packets, determining the proportion of poor-quality services of the target game in the target time period; When the jam rate exceeds the target threshold, determining the call record as poor quality includes: When the jam rate on the wireless side exceeds the target threshold and the jam rate on the core side does not exceed the target threshold, it is determined as a poor quality call record on the wireless side; Alternatively, when the radio side jam rate does not exceed the target threshold and the core side jam rate exceeds the target threshold, it is determined to be a core side poor quality call record; Alternatively, when the jamming rate on the wireless side exceeds the target threshold and the jamming rate on the core side exceeds the target threshold, it is determined as a call record of poor quality on the wireless side and the core side; Alternatively, when the radio side jam rate does not exceed the target threshold and the core side jam rate does not exceed the target threshold, it is determined to be an end-to-end side poor quality call record; Among them, the wireless side jam rate is the downlink call single jam rate of the heartbeat packet, and the core side jam rate is the uplink call single jam rate of the heartbeat packet.
2. The game delay determination method according to claim 1, characterized in that: The determining the jam rate based on the delay information includes: Based on the delay information, determine the first delay number of each delay interval in the target time period; A weighted calculation is performed on the first delay times to determine the jam rate.
3. The game delay determination method according to claim 2, characterized in that: The performing weighted calculation on the first delay times to determine the jam rate includes: Apply the formula C=(N1*P1+N2*P2+……+N n *P n ) / (N1+N2+……+N n ) Determining the jam rate; Wherein, C is the jam rate, N n is the first delay number of the nth delay interval in the target time period; n is the weight factor corresponding to the nth delay interval.
4. The game delay determination method according to claim 3, characterized in that: The weight factor is determined by the following steps: Determine, based on the delay information, a second delay number of each delay interval in the first time period; Based on the second delay times and the target jamming rate, the weight factor corresponding to each of the delay intervals is determined.
5. The game delay determination method according to any one of claims 1 to 4, characterized in that: Determining the delay information based on the target heartbeat packet of the target game in the target time period includes: Obtaining a target IP address by performing domain name resolution on the session flow of the target game; Based on the target IP address, obtain the delayed heartbeat packet of the target game in the target time period; Extracting features of the delayed heartbeat packet to obtain an uplink packet time value and a downlink packet time value; The difference between the downlink packet time value and the uplink packet time value is calculated to obtain the delay information.
6. The game delay determination method according to any one of claims 1 to 4, characterized in that: The determining, based on the number of the poor-quality call bills and the call bills of the target heartbeat packets, a proportion of poor-quality services of the target game in the target time period includes: Calculate the ratio of the number of TCP session heartbeat packet quality poor call records to the number of target TCP session heartbeat packet call records to determine the proportion of the TCP session heartbeat packet quality poor call records; Alternatively, the ratio of the number of UDP session heartbeat packet quality-poor call records to the number of target UDP session heartbeat packet call records is calculated to determine the proportion of the UDP session heartbeat packet quality-poor call records; Alternatively, the ratio of the number of call slips with poor quality of UDP heartbeat packets due to delay in displaying the game interface screen to the number of call slips with poor quality of UDP heartbeat packets due to delay in displaying the target game interface screen is calculated to determine the proportion of call slips with poor quality of UDP heartbeat packets due to delay in displaying the game interface screen.
7. A game delay determination device, characterized in that: include: A first processing module, configured to determine delay information based on a target heartbeat packet of a target game in a target time period; A second processing module, configured to determine a jam rate based on the delay information; A third processing module is used to determine that the call record is of poor quality when the jam rate exceeds the target threshold; A fourth processing module, configured to determine a proportion of poor-quality services of the target game in the target time period based on the number of poor-quality call records and the number of call records of the target heartbeat packets; The third processing module is further configured to: determine a call record as poor quality on the wireless side when the jam rate on the wireless side exceeds the target threshold and the jam rate on the core side does not exceed the target threshold; Alternatively, the third processing module is further configured to: determine the call record as a core-side poor quality call record when the radio-side jamming rate does not exceed the target threshold and the core-side jamming rate exceeds the target threshold; Alternatively, the third processing module is further configured to: determine the call record as poor quality on the wireless side and the core side when the jamming rate on the wireless side exceeds the target threshold and the jamming rate on the core side exceeds the target threshold; Alternatively, the third processing module is further configured to: determine the call record as poor quality on the end-to-end side when the jam rate on the wireless side does not exceed the target threshold and the jam rate on the core side does not exceed the target threshold; Among them, the wireless side jam rate is the downlink call single jam rate of the heartbeat packet, and the core side jam rate is the uplink call single jam rate of the heartbeat packet.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the steps of the game delay determination method as described in any one of claims 1 to 6 are implemented.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the game delay determination method as described in any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Game service quality evaluation method and device
CN109981550A