Data packet retransmission method and system based on maximum retransmission number limit
By obtaining jitter length information and round-trip delay information from the data receiver, the maximum number of retransmissions for data packets is calculated, which solves the problem of setting errors in the number of retransmissions in streaming media data transmission and achieves stable data packet reception and optimized resource utilization.
Patent Information
- Application Number
- CN202310640169.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-31
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2043-05-31
AI Technical Summary
In streaming media data transmission, a fixed number of data packet retransmissions can easily lead to errors, causing the receiving end to be unable to receive data packets stably, and invalid retransmissions consume transmission resources.
By obtaining jitter length information from the data receiver, filtering and estimation are performed. Combined with round-trip delay information, the maximum number of retransmissions of the data packet is calculated, and precise retransmission is performed when packet loss is detected.
It ensures stable reception of data packets, avoids situations where the receiving end cannot receive data packets due to the retransmission limit, and optimizes the utilization of transmission resources.
Smart Images

Figure CN116633498B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a data packet retransmission method and system based on a maximum retransmission limit. Background Technology
[0002] Currently, in streaming media data transmission scenarios, to ensure stable data reception at the receiving end, data packets are retransmitted in case of packet loss. Furthermore, due to the latency limit of data packet transmission, if a data packet has not arrived at the receiving end after a certain delay, it is too late to participate in further media framing and playback, and retransmission would consume unnecessary transmission resources. Therefore, when retransmitting data packets, appropriate restrictions are usually set to prevent unlimited retransmission. For example, if the number of retransmissions reaches a fixed maximum limit, the data packet will not be retransmitted; if no acknowledgment message is received after a set time after the initial transmission, the data packet will not be retransmitted.
[0003] However, the latency limitations for data packet transmission vary depending on the data transmission environment. Simply setting a fixed limit for data packet retransmission can easily lead to errors in the maximum number of retransmissions, resulting in the receiver being unable to reliably receive data packets. Summary of the Invention
[0004] This application provides a data packet retransmission method and system based on a maximum retransmission limit, which can accurately set the maximum number of data packet retransmissions to ensure stable data packet reception as much as possible, and solves the technical problem that the receiving end cannot receive data packets due to the limitation of the number of retransmissions caused by the error in setting the number of data packet retransmissions.
[0005] In a first aspect, embodiments of this application provide a data packet retransmission method based on a maximum retransmission count limit, comprising:
[0006] Obtain the jitter length information reported by the data receiving end, filter and estimate the jitter length information to obtain the real-time jitter estimated length;
[0007] Determine the round-trip delay information with the data receiver, and calculate the maximum number of data packet retransmissions based on the real-time jitter estimation length, jitter length information, and round-trip delay information;
[0008] If the target data packet is detected to be lost, the target data packet will be retransmitted based on the maximum number of retransmissions.
[0009] In a second aspect, embodiments of this application provide a data packet retransmission system based on a maximum retransmission count limit, comprising:
[0010] The acquisition module is configured to acquire jitter length information reported by the data receiving end, filter and estimate the jitter length information to obtain the real-time jitter estimated length;
[0011] The calculation module is configured to determine the round-trip delay information with the data receiver and calculate the maximum number of data packet retransmissions based on the real-time jitter estimation length, jitter length information, and round-trip delay information.
[0012] The retransmission module is configured to retransmit the target data packet based on the maximum number of retransmissions if the target data packet is detected to be lost.
[0013] In a third aspect, embodiments of this application provide a data packet retransmission device based on a maximum retransmission count limit, comprising:
[0014] Memory and one or more processors;
[0015] Memory, configured to store one or more programs;
[0016] When one or more programs are executed by one or more processors, the one or more processors implement the packet retransmission method based on the maximum retransmission limit as described in the first aspect.
[0017] In a fourth aspect, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions that, when executed by a computer processor, are configured to perform a data packet retransmission method based on a maximum retransmission limit as described in the first aspect.
[0018] In a fifth aspect, embodiments of this application provide a computer program product containing instructions that, when executed on a computer or processor, cause the computer or processor to perform a data packet retransmission method based on a maximum retransmission limit as described in the first aspect.
[0019] This application embodiment obtains jitter length information reported by the data receiver, filters and estimates the jitter length information to obtain the real-time jitter estimate length; determines the round-trip time delay information with the data receiver, and calculates the maximum number of retransmissions for the data packet based on the real-time jitter estimate length, the jitter length information, and the round-trip time delay information; and retransmits the target data packet based on the maximum number of retransmissions when packet loss is detected. By employing the above technical means, the maximum number of retransmissions for the data packet is accurately calculated based on the jitter length and round-trip time delay by estimating the jitter length of the data receiver, and the lost data packet is retransmitted based on this maximum number of retransmissions. This can ensure stable reception of lost data packets as much as possible, avoiding situations where the receiver cannot receive data packets due to retransmission limit in high packet loss scenarios. At the same time, by accurately setting the maximum number of retransmissions for the data packet, it can avoid the occupation of additional transmission resources due to errors in the maximum retransmission number setting, improving the rationality of transmission resource utilization. Attached Figure Description
[0020] Figure 1 This is a flowchart of a data packet retransmission method based on a maximum retransmission count limit provided in an embodiment of this application;
[0021] Figure 2 This is a schematic diagram of data packet retransmission in an embodiment of this application;
[0022] Figure 3 This is a flowchart illustrating the determination of the maximum number of data packet retransmissions in an embodiment of this application.
[0023] Figure 4 This is a schematic diagram of a data packet retransmission system based on a maximum retransmission limit provided in an embodiment of this application;
[0024] Figure 5 This is a schematic diagram of a data packet retransmission device based on a maximum retransmission limit provided in an embodiment of this application. Detailed Implementation
[0025] To make the objectives, technical solutions, and advantages of this application clearer, specific embodiments of this application will be described in further detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are merely for explaining this application and not for limiting it. It should also be noted that, for ease of description, only the parts relevant to this application are shown in the drawings, not all of them. Before discussing exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe operations (or steps) as sequential processes, many of these operations can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the operations can be rearranged. The process can be terminated when its operation is completed, but may also have additional steps not included in the drawings. The process can correspond to a method, function, procedure, subroutine, subprogram, etc.
[0026] This application provides a data packet retransmission method based on a maximum retransmission limit. The method aims to estimate the real-time jitter length of the data receiver by combining jitter length information collected at the receiver, calculate the maximum number of retransmissions for the data packet based on the real-time jitter length and round-trip delay, and then retransmit the lost data packet using the calculated maximum retransmission count. This ensures stable reception of lost data packets, preventing the receiver from failing to receive data packets in high-loss scenarios due to the retransmission limit; it also avoids the use of additional transmission resources due to errors in setting the maximum retransmission count.
[0027] In unstable network environments, packet loss can occur in end-to-end transmission links due to congestion, multipath fading, and packet corruption. In UDP transmission, commonly used in streaming media applications, the application needs to ensure the reliability of UDP transmission itself; that is, in packet loss scenarios, anti-packet loss strategies need to be deployed to recover lost packets. In existing data retransmission schemes, the sending end will resend packets after detecting packet loss. However, due to latency limits in real-time streaming media scenarios, streaming media data transmission does not need to guarantee 100% data arrival like the TCP protocol in packet loss scenarios. If a packet has not reached the receiving end after a certain latency limit, there is no need to resend the data. Even if the packet reaches the receiving end through retransmission, it will arrive too late to participate in further media framing and playback, instead consuming unnecessary transmission resources.
[0028] Based on this, existing data packet retransmission schemes use a set maximum number of retransmissions and a set maximum waiting time for a response. If the fixed maximum number of retransmissions is reached, the data packet will not be retransmitted. Similarly, if no acknowledgment message is received after the set time since the initial data packet transmission, the data packet will not be retransmitted. However, in high packet loss scenarios, such as those with a packet loss rate exceeding 50%, a fixed number of retransmissions cannot guarantee that the data will successfully reach the receiving end. If latency allows, insufficient retransmissions may result in data failing to reach the receiving end, leading to playback stuttering. On the other hand, in high-latency scenarios with large round-trip latency, if the latency limit is insufficient to accommodate multiple retransmissions, even if the data does not reach the receiving end, the additional invalid retransmissions will only consume limited transmission resources, affecting subsequent data packet transmission and further exacerbating stuttering.
[0029] Based on this, an embodiment of this application provides a data packet retransmission method based on a maximum retransmission count limit, in order to solve the technical problem that the receiving end cannot receive data packets due to the limitation on the number of retransmissions caused by an error in the setting of the number of data packet retransmissions.
[0030] Example:
[0031] Figure 1 A flowchart of a data packet retransmission method based on a maximum retransmission count limit provided in this application embodiment is given. This method can be executed by a data packet retransmission device based on a maximum retransmission count limit. This device can be implemented in software and / or hardware, and can consist of two or more physical entities, or a single physical entity. Generally, this data packet retransmission device can be a data sending device in data transmission scenarios such as live streaming devices, computers, and mobile phones.
[0032] The following description uses the packet retransmission device based on the maximum retransmission limit as an example to illustrate the packet retransmission method based on the maximum retransmission limit. (Refer to...) Figure 1 The packet retransmission method based on the maximum retransmission limit specifically includes:
[0033] S110. Obtain the jitter length information reported by the data receiving end, filter and estimate the jitter length information to obtain the real-time jitter estimation length;
[0034] S120. Determine the round-trip delay information with the data receiving end, and calculate the maximum number of data packet retransmissions based on the real-time jitter estimation length, jitter length information and round-trip delay information;
[0035] S130. If the target data packet is detected to be lost, retransmit the target data packet based on the maximum number of retransmissions.
[0036] In this embodiment of the application, during data transmission, the real-time jitter length of the receiving end is dynamically estimated based on the jitter length information reported by the receiving end. Then, combined with the round-trip latency information of the data transmission link, the maximum retransmission count is adaptively calculated. This precisely calculated maximum retransmission count is used to retransmit lost data packets, avoiding situations where data packets cannot be recovered due to retransmission limitations in high packet loss scenarios. Furthermore, in high-latency scenarios, the retransmission count is reasonably limited to avoid consuming additional transmission resources and prevent stuttering during streaming media playback.
[0037] For example, refer to Figure 2 Taking the uplink and downlink transmission of streaming media data in a live streaming scenario as an example, in the uplink scenario, the broadcaster's client acts as the data sender, and the media server acts as the data receiver. In the downlink scenario, the media server acts as the data sender, and the viewer's client acts as the data receiver. The data sender sequentially sends data packets to the data receiver through the streaming media data transmission queue. The data receiver places the received data packets into the streaming media data reception queue and then performs media packet framing. After framing, the data is placed into a jitter buffer for the decoder to decode and play the audio and video frames. During this process, the data receiver reports a reply to the data sender based on the received data packets to indicate that the corresponding data packets have been received. The data sender also collects the jitter length information of its own jitter buffer and reports the jitter length to the data sender.
[0038] For the data sending end, the real-time jitter length at the data receiving end is dynamically estimated based on the received jitter length information, and this is defined as the real-time jitter estimation length. Then, the maximum number of retransmissions is accurately calculated by combining the jitter length information, the real-time jitter estimation length, and the round-trip delay information, so that lost data packets can be retransmitted according to this maximum number of retransmissions.
[0039] Understandably, packet loss scenarios mostly occur in environments with poor network conditions, where packets typically require multiple retransmissions to reach the receiving end. Therefore, network transmission resources become even more precious in such situations. Since packet retransmission must consider the latency limitations of the receiving end, if a packet arrives before reaching the receiving end after exceeding the latency limit, it cannot participate in further media framing and playback due to its late arrival. Retransmission would then consume unnecessary transmission resources. Therefore, the latency limitations of the receiving end must be considered when calculating the maximum number of retransmissions. These latency limitations are primarily determined by the jitter buffer at the receiving end. The jitter buffer is a media data buffer introduced at the receiving end to combat network jitter and ensure stable and smooth media playback. With this buffer, even if data is out of order or lost, there is sufficient time to wait for its arrival. That is, if a packet is lost or out of order, as long as the packet is recovered or received before the frame containing the lost packet is played, normal media playback will not be affected. This time period is called the jitter length, which is the latency limit for waiting for data recovery.
[0040] Based on this, when setting the maximum number of retransmissions, this embodiment first obtains the jitter length information reported by the data receiver. The jitter length information can be periodically collected and reported by the data receiver to the data sender. Optionally, when obtaining the jitter length information reported by the data receiver, the data sender can extract the jitter length information from the acknowledgment packet sent by the data receiver. The jitter length information is pre-collected by the data receiver and included in the acknowledgment packet.
[0041] For the data receiving end, after receiving a data packet, it reports a corresponding reply message. This reply message can be a response to one or more received data packets. Simultaneously, the data receiving end samples the size of the jitter buffer to obtain the jitter length information and places it in the reply message packet. Thus, after receiving a reply message packet for a sent data packet, the data receiving end can obtain the corresponding jitter length information by parsing the reply message packet. It should be noted that, since this embodiment calculates the maximum number of retransmissions based on the jitter length information, each time the data sending end receives a reply message packet, it can serve as an update cycle for the maximum retransmission count. By continuously iterating and updating the maximum retransmission count based on the jitter length information reported by the data receiving end, the situation where extra transmission resources are occupied due to errors in the maximum retransmission count setting is avoided, thus improving the rationality of transmission resource utilization.
[0042] When including jitter length information in the response packet, a new field is added to the response packet protocol to store this information. Furthermore, the field length for the jitter length information is set according to the actual application scenario, using a fixed number of bytes to store the jitter length information. For example, uint16_t can be used. This length is sufficient to meet the storage requirements of the jitter length information while avoiding excessive byte usage, thus preventing the response packet from becoming too large and affecting data transmission efficiency.
[0043] Furthermore, at the corresponding data sending end, after obtaining the jitter length information, since the jitter length information was previously sampled by the data receiving end and there is a certain time interval between it and the current time, in order to ensure the accuracy of the calculation of the maximum retransmission number, this embodiment of the application will perform filtering estimation based on the jitter length information to obtain a real-time jitter estimation length, which represents the real-time size of the current jitter buffer.
[0044] The filtering estimation result for determining jitter length information includes: obtaining the historical jitter estimation length of the previous maximum retransmission update period, and performing exponentially weighted moving average filtering based on jitter length information and historical jitter estimation length to obtain the real-time jitter estimation length.
[0045] During filtering estimation, the filtering estimation result of the previous iteration period is obtained and defined as the historical jitter estimation length. An exponentially weighted moving average filter is then applied by combining the historical jitter estimation length with this jitter length information to obtain the filtering estimation result for the current iteration period. By combining the historical jitter estimation length with the real-time jitter estimation length for the current period, the calculation accuracy of the real-time jitter estimation length can be further improved, thereby improving the calculation accuracy of the maximum retransmission count. In practical applications, the real-time jitter estimation length can also be combined with other historical data, real-time network conditions, and other data for filtering estimation. This application does not impose fixed limitations on the specific filtering estimation method, and will not elaborate further here.
[0046] Optionally, an exponentially weighted moving average filter is applied based on the jitter length information and the historical jitter estimation length to obtain the real-time jitter estimation length, including:
[0047] When the jitter length information is greater than the historical jitter length, the real-time jitter estimated length is calculated by weighting the set first weighting coefficient, the jitter length information, and the historical jitter estimated length; when the jitter length information is less than or equal to the historical jitter length, the real-time jitter estimated length is calculated by weighting the set second weighting coefficient, the jitter length information, and the historical jitter estimated length; the first weighting coefficient is greater than the second weighting coefficient.
[0048] In this process, each time the data sender receives a reply packet, it is considered an iteration period, denoted by t, representing the t-th reply packet received. Furthermore, when calculating the maximum retransmission count, if t = 0, the jitter length information is obtained by parsing the reply packet. Since there is no historical jitter estimate from the previous maximum retransmission update period, the jitter length information is directly used as the filtered estimation result, i.e., the jitter length information.
[0049] If t>0, then the sampled values are subjected to an exponentially weighted moving average filter. The specific filter estimation formula is as follows:
[0050] When t = 0:
[0051] SL0 = L0
[0052] When t>0:
[0053]
[0054] Where α represents the first weighting coefficient, β represents the second weighting coefficient, and SL t L represents the real-time jitter estimation length in the t-th iteration period. t SL represents the jitter length information for the t-th iteration period. t-1 This represents the historical jitter length in the t-th iteration period. To ensure reliable transmission as much as possible, a larger jitter length reference value is preferred here. Therefore, the first weighting coefficient α is set to 0.25, and the second weighting coefficient β is set to 0.125.
[0055] Then, by determining the round-trip time (RTT) information between the data sender and receiver, the maximum number of retransmissions for the data packet is calculated using this RTT information. Specifically, for each data packet that is not lost, the time from sending the packet to receiving the reply packet is taken as a sample of the RTT. This sampled value is then filtered to obtain the RTT information. The RTT information can also be obtained by using an exponentially weighted moving average filter combined with the sampled value. This application does not impose a fixed limitation on the method of obtaining the RTT information, and will not elaborate further here.
[0056] Furthermore, based on the real-time jitter estimation length, jitter length information, and round-trip delay information, the maximum number of packet retransmissions is calculated, where, for example... Figure 3 As shown, the calculation process for the maximum number of data packet retransmissions includes:
[0057] S1201. Determine the delay limit duration based on the real-time jitter estimation length and jitter length information;
[0058] S1202. Determine the maximum number of retransmissions of the data packet based on the delay limit duration and round-trip delay information.
[0059] As can be understood, the round-trip time information represents the time it takes for a data packet to respond to packet loss detection and trigger a retransmission under ideal conditions. The delay limit duration represents the latest time a data packet is allowed to arrive at the data receiver under the current delay limit. If the delay limit duration is exceeded, there is no need to retransmit the data packet. By dividing the delay limit duration by the round-trip time information, the maximum number of retransmissions for the corresponding data packet can be obtained.
[0060] Specifically, determining the delay limit duration based on the real-time jitter estimation length and jitter length information includes: selecting the maximum value among the real-time jitter estimation length and jitter length information as the target jitter length, and selecting the minimum value from the target jitter length and the set base jitter length as the delay limit duration.
[0061] The maximum number of data packet retransmissions is calculated as follows:
[0062]
[0063] SRTTt represents round-trip time delay information, MRT t This represents the maximum number of retransmissions for a data packet. `minL` is a fallback time based on the business scenario, which can be set according to the specific needs, such as 500ms, 1000ms, etc. To ensure reliable transmission as much as possible, `max(SL)` is used. t ,L t The jitter buffer size is used as a reference for calculating the maximum number of retransmissions of a data packet.
[0064] Based on the above method for calculating the maximum number of retransmissions for a data packet, the maximum number of retransmissions for that data packet can be calculated accordingly for subsequent data packet retransmissions. With the cooperation of the data receiving end, the data sending end obtains the jitter length information for each received reply packet, and reasonably estimates the jitter buffer size based on the maximum number of retransmissions, thereby accurately calculating the maximum number of retransmissions for the data packet and assisting in guiding the retransmission of lost data packets.
[0065] For example, based on the maximum number of data packet retransmissions calculated above, packet loss is detected before the next reply packet arrives to determine whether to retransmit the data packet based on the maximum number of retransmissions for the current iteration period. The packet loss detection scheme can employ a timeout retransmission scheme, using a round-trip delay value, such as 1.5 times the round-trip delay, as the packet loss detection threshold based on the estimated round-trip delay information from the data sender. For each sent data packet, if no corresponding reply packet is received after the packet loss detection threshold time has elapsed, the packet is considered lost and retransmitted. Alternatively, a sequence number-based judgment scheme can be used, incrementing the sequence number of the sent data packets. After receiving a reply packet, packet loss is determined based on the maximum reply packet sequence number (seq_max) and the jitter tolerance threshold (k). That is, if the sequence number of a sent packet is less than seq_max - k, and no reply packet has been received, the packet is considered lost and retransmitted.
[0066] Based on the above packet loss detection scheme, if the data sender detects packet loss and needs to retransmit, it determines whether the retransmission count is greater than the maximum retransmission count for that data packet. If so, it stops retransmitting and sends subsequent data; otherwise, it retransmits the data packet and increments the retransmission count of the source data packet by 1. If no packet loss is detected, it continues to send the next data packet normally. When the next reply packet is received, the maximum retransmission count for the data packet is iteratively updated based on steps S110-S130 above. By combining the jitter buffer size with the calculation of the maximum retransmission count for the data packet, the upper limit of the retransmission count for the data packet can be increased, avoiding situations where retransmission cannot be performed due to the retransmission count limit in high packet loss scenarios. In addition, this scheme can also flexibly reduce the maximum retransmission count to adapt to scenarios with large latency, avoiding invalid retransmissions that occupy transmission resources.
[0067] The above describes a process where, by acquiring jitter length information reported by the data receiver, filtering and estimating the jitter length, a real-time jitter estimate is obtained. The round-trip time (RTT) with the data receiver is determined, and the maximum number of retransmissions for the data packet is calculated based on the real-time jitter estimate, the jitter length, and the RTT. In the event of target data packet loss, the target data packet is retransmitted based on the maximum number of retransmissions. By employing this technique, the maximum number of retransmissions for the data packet is accurately calculated based on the jitter length and RTT, and the lost data packet is retransmitted based on this maximum number of retransmissions. This approach ensures stable reception of lost data packets as much as possible, avoiding situations where the receiver cannot receive data packets due to retransmission limitations in high-loss scenarios. Furthermore, by accurately setting the maximum number of retransmissions, the use of additional transmission resources due to errors in the maximum retransmission count setting can be avoided, improving the rational utilization of transmission resources.
[0068] Based on the above embodiments, Figure 4 This application provides a schematic diagram of a data packet retransmission system based on a maximum retransmission count limit. (Reference) Figure 4 The data packet retransmission system based on the maximum retransmission limit provided in this embodiment specifically includes: an acquisition module 21, a calculation module 22, and a retransmission module 23.
[0069] The acquisition module 21 is configured to acquire jitter length information reported by the data receiving end, filter and estimate the jitter length information to obtain the real-time jitter estimated length.
[0070] The calculation module 22 is configured to determine the round-trip delay information with the data receiving end, and calculate the maximum number of data packet retransmissions based on the real-time jitter estimation length, jitter length information and round-trip delay information;
[0071] The retransmission module 23 is configured to retransmit the target data packet based on the maximum number of retransmissions if the target data packet is detected to be lost.
[0072] Specifically, the jitter length information reported by the data receiver is obtained, including:
[0073] The system receives confirmation packets from the data receiver and extracts jitter length information from the confirmation packets. The jitter length information is collected in advance by the data receiver and included in the confirmation packets.
[0074] Specifically, the filtered estimation result for determining the jitter length information includes:
[0075] Obtain the historical jitter estimate length from the previous maximum retransmission update period, and perform an exponentially weighted moving average filter based on the jitter length information and the historical jitter estimate length to obtain the real-time jitter estimate length.
[0076] The real-time jitter estimation length is obtained by applying an exponentially weighted moving average filter based on jitter length information and historical jitter estimation length, including:
[0077] When the jitter length information is greater than the historical jitter length, the real-time jitter estimated length is calculated by weighting the set first weighting coefficient, the jitter length information, and the historical jitter estimated length; when the jitter length information is less than or equal to the historical jitter length, the real-time jitter estimated length is calculated by weighting the set second weighting coefficient, the jitter length information, and the historical jitter estimated length; the first weighting coefficient is greater than the second weighting coefficient.
[0078] Specifically, the maximum number of packet retransmissions is calculated based on the real-time jitter estimation length, jitter length information, and round-trip delay information, including:
[0079] The delay limit duration is determined based on the real-time jitter estimation length and jitter length information;
[0080] The maximum number of retransmissions for a data packet is determined based on the delay limit duration and round-trip delay information.
[0081] The determination of the delay limit duration based on real-time jitter estimation length and jitter length information includes:
[0082] The maximum value between the real-time jitter estimation length and the jitter length information is selected as the target jitter length, and the minimum value between the target jitter length and the set base jitter length is selected as the delay limit duration.
[0083] The above describes a process where, by acquiring jitter length information reported by the data receiver, filtering and estimating the jitter length, a real-time jitter estimate is obtained. The round-trip time (RTT) with the data receiver is determined, and the maximum number of retransmissions for the data packet is calculated based on the real-time jitter estimate, the jitter length, and the RTT. In the event of target data packet loss, the target data packet is retransmitted based on the maximum number of retransmissions. By employing this technique, the maximum number of retransmissions for the data packet is accurately calculated based on the jitter length and RTT, and the lost data packet is retransmitted based on this maximum number of retransmissions. This approach ensures stable reception of lost data packets as much as possible, avoiding situations where the receiver cannot receive data packets due to retransmission limitations in high-loss scenarios. Furthermore, by accurately setting the maximum number of retransmissions, the use of additional transmission resources due to errors in the maximum retransmission count setting can be avoided, improving the rational utilization of transmission resources.
[0084] The data packet retransmission system based on the maximum retransmission count limit provided in this application embodiment can be configured to execute the data packet retransmission method based on the maximum retransmission count limit provided in the above embodiment, and has corresponding functions and beneficial effects.
[0085] Based on the above practical examples, this application also provides a data packet retransmission device based on a maximum retransmission count limit, referring to... Figure 5The data packet retransmission device based on the maximum retransmission count limit includes: a processor 31, a memory 32, a communication module 33, an input device 34, and an output device 35. The memory, as a computer-readable storage medium, can be configured to store software programs, computer-executable programs, and modules, such as program instructions / modules corresponding to the data packet retransmission method based on the maximum retransmission count limit described in any embodiment of this application (e.g., an acquisition module, a calculation module, and a retransmission module in a data packet retransmission system based on the maximum retransmission count limit). The communication module is configured to perform data transmission. The processor executes various functional applications and data processing of the device by running the software programs, instructions, and modules stored in the memory, thereby implementing the aforementioned data packet retransmission method based on the maximum retransmission count limit. The input device can be configured to receive input digital or character information and generate key signal inputs related to user settings and function control of the device. The output device may include a display screen or other display device. The data packet retransmission device based on the maximum retransmission count limit provided above can be configured to execute the data packet retransmission method based on the maximum retransmission count limit provided in the above embodiments, possessing corresponding functions and beneficial effects.
[0086] Based on the above embodiments, this application also provides a computer-readable storage medium storing computer-executable instructions. These instructions, when executed by a computer processor, are configured to perform a data packet retransmission method based on a maximum retransmission count limit. The storage medium can be any type of memory device or storage device. Of course, the computer-readable storage medium provided in this application may not be limited to the data packet retransmission method based on a maximum retransmission count limit as described above; it can also perform related operations within the data packet retransmission method based on a maximum retransmission count limit provided in any embodiment of this application.
[0087] Based on the above embodiments, this application also provides a computer program product. The technical solution of this application, in essence or in other words, the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The computer program product is stored in a storage medium and includes several instructions to cause a computer device, mobile terminal, or processor therein to execute all or part of the steps of the data packet retransmission method based on the maximum retransmission number limit described in the various embodiments of this application.
Claims
1. A data packet retransmission method based on a maximum retransmission count limit, characterized in that, include: The system acquires jitter length information reported by the data receiver, acquires the historical jitter estimate length from the previous maximum retransmission update period, and calculates the real-time jitter estimate length based on a weighted average of a set first weighting coefficient, the jitter length information, and the historical jitter estimate length when the jitter length information is greater than the historical jitter length; and calculates the real-time jitter estimate length based on a weighted average of a set second weighting coefficient, the jitter length information, and the historical jitter estimate length when the jitter length information is less than or equal to the historical jitter length. The first weighting coefficient is greater than the second weighting coefficient; Determine the round-trip delay information with the data receiving end, and calculate the maximum number of data packet retransmissions based on the real-time jitter estimation length, the jitter length information, and the round-trip delay information; If the target data packet is detected to be lost, the target data packet is retransmitted based on the maximum number of retransmissions.
2. The data packet retransmission method based on the maximum retransmission count limit according to claim 1, characterized in that, The acquisition of jitter length information reported by the data receiving end includes: The system receives an acknowledgment packet sent by the data receiving end, and extracts the jitter length information from the acknowledgment packet. The jitter length information is pre-collected by the data receiving end and placed into the acknowledgment packet.
3. The data packet retransmission method based on the maximum retransmission count limit according to claim 1, characterized in that, The calculation of the maximum number of data packet retransmissions based on the real-time jitter estimation length, the jitter length information, and the round-trip delay information includes: The delay limit duration is determined based on the real-time jitter estimation length and the jitter length information; The maximum number of data packet retransmissions is determined based on the delay limit duration and the round-trip delay information.
4. The data packet retransmission method based on the maximum retransmission count limit according to claim 3, characterized in that, The step of determining the delay limit duration based on the real-time jitter estimation length and the jitter length information includes: The maximum value between the real-time jitter estimation length and the jitter length information is selected as the target jitter length, and the minimum value between the target jitter length and the set basic jitter length is selected as the delay limit duration.
5. A data packet retransmission system based on a maximum retransmission count limit, characterized in that, include: The acquisition module is configured to acquire jitter length information reported by the data receiver, acquire the historical jitter estimate length of the previous maximum retransmission update cycle, and, if the jitter length information is greater than the historical jitter length, calculate the real-time jitter estimate length based on a set first weighting coefficient, the jitter length information, and the historical jitter estimate length; if the jitter length information is less than or equal to the historical jitter length, calculate the real-time jitter estimate length based on a set second weighting coefficient, the jitter length information, and the historical jitter estimate length. The first weighting coefficient is greater than the second weighting coefficient; The calculation module is configured to determine the round-trip delay information with the data receiving end, and calculate the maximum number of data packet retransmissions based on the real-time jitter estimation length, the jitter length information, and the round-trip delay information; The retransmission module is configured to retransmit the target data packet based on the maximum number of retransmissions if the target data packet is detected to be lost.
6. A data packet retransmission device based on a maximum retransmission count limit, characterized in that, include: Memory and one or more processors; The memory is configured to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the packet retransmission method based on the maximum retransmission limit as described in any one of claims 1-4.
7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions that, when executed by a computer processor, are configured to perform the data packet retransmission method based on a maximum retransmission limit as described in any one of claims 1-4.
8. A computer program product, characterized in that, The computer program product includes instructions that, when executed on a computer or processor, cause the computer or processor to perform the data packet retransmission method based on a maximum retransmission limit as described in any one of claims 1-4.
Citation Information
Patent Citations
Wireless network maximum retransmission times optimization method based on network channel state
CN101938770A
Streaming media transmission fault-tolerant control method and system
CN115314479A