WO2022247550A1 - 数据重传处理方法、装置、计算机设备和存储介质 - Google Patents
数据重传处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- WO2022247550A1 WO2022247550A1 PCT/CN2022/088788 CN2022088788W WO2022247550A1 WO 2022247550 A1 WO2022247550 A1 WO 2022247550A1 CN 2022088788 W CN2022088788 W CN 2022088788W WO 2022247550 A1 WO2022247550 A1 WO 2022247550A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data packet
- sequence number
- retransmission
- data
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1642—Formats specially adapted for sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1825—Adaptation of specific ARQ protocol parameters according to transmission conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/20—Arrangements for detecting or preventing errors in the information received using signal quality detector
- H04L1/205—Arrangements for detecting or preventing errors in the information received using signal quality detector jitter monitoring
Definitions
- the present application relates to the technical field of network communication, and in particular to a data retransmission processing method, device, computer equipment, computer-readable storage medium and computer program product.
- UDP User Datagram Protocol
- User Datagram Protocol User Datagram Protocol
- Various embodiments of the present application provide a data retransmission processing method, device, computer equipment, computer-readable storage medium, and computer program product capable of improving data transmission effects.
- a data retransmission processing method executed by a computer device, the method comprising:
- a data retransmission processing device comprising:
- a threshold determination module configured to determine the threshold of the number of retransmissions of data packets in the retransmission period based on the data packet loss rate in the retransmission period, and obtain the respective sequence numbers of the data packets to be retransmitted in the retransmission period.
- a key sequence number determination module configured to determine the respective key sequence numbers of each key data packet matching the set of sequence numbers
- the serial number deletion module is used to filter out the target serial number from the key serial number, and delete the serial numbers less than or equal to the target serial number from the serial number set, so that the serial numbers remaining in the serial number set The number of is maximized, and the number of retained sequence numbers is less than or equal to the data packet retransmission number threshold;
- a retransmission request module configured to request retransmission of data packets to be retransmitted corresponding to the sequence numbers retained in the sequence number set.
- a computer device comprising a memory and one or more processors, the memory storing computer readable instructions which, when executed by the one or more processors, cause the one or more The following steps are implemented when the processor executes the computer-readable instructions:
- One or more non-transitory computer-readable storage media having stored thereon computer-readable instructions that, when executed by one or more processors, cause the one or more or multiple processors execute the following steps:
- a computer program product or computer program comprising computer readable instructions stored in a computer readable storage medium from which a processor of a computer device retrieves The medium reads the computer-readable instructions, and the processor executes the computer-readable instructions, so that the computer device implements the following steps when executed:
- Fig. 1 is an application environment diagram of a data retransmission processing method in an embodiment
- FIG. 2 is a schematic flowchart of a data retransmission processing method in an embodiment
- FIG. 3 is a schematic diagram of packet loss during data transmission in an embodiment
- FIG. 4 is a schematic diagram of interaction between a data retransmission processing receiving end and a sending end in an embodiment
- FIG. 5 is a schematic diagram of a retransmission queue and a key sequence number queue in data retransmission processing in an embodiment
- FIG. 6 is a schematic flowchart of a data retransmission processing method in another embodiment
- FIG. 7 is a schematic diagram of a processing flow of a data retransmission processing method in an embodiment
- FIG. 8 is a schematic diagram of a first frame delay comparison before and after optimization of the data retransmission processing method in an embodiment
- Fig. 9 is a structural block diagram of a data retransmission processing device in an embodiment
- Figure 10 is a diagram of the internal structure of a computer device in one embodiment.
- the data retransmission processing method provided by this application can be implemented based on cloud technology (Cloud technology).
- the data retransmission processing method provided in this application can be applied to the application environment shown in FIG. 1 .
- the sending end 102 communicates with the receiving end 104 through the network.
- the sending end 102 sends the data to the receiving end 104, and the receiving end 104 determines the threshold value of the number of retransmission data packets in the retransmission period based on the data packet loss rate in the retransmission period, and obtains the data packets to be retransmitted in the retransmission period.
- the set of sequence numbers formed by the sequence numbers determine the respective key sequence numbers of each key data packet matched with the set of sequence numbers, the receiving end 104 screens out the target sequence number from the key sequence numbers, and deletes the sequence numbers less than or equal to The sequence number of the target sequence number, so that the number of sequence numbers retained in the sequence number set is maximized, and the number of retained sequence numbers is less than or equal to the threshold of the number of data packet retransmissions, and the receiving end 104 requests the sending end 102 to retransmit the sequence number The data packets to be retransmitted corresponding to the sequence numbers retained in the set.
- the receiving end 104 can be but not limited to various desktop computers, notebook computers, smart phones, tablet computers and portable wearable devices
- the sending end 102 can be a server
- the server can be an independent physical server or multiple physical servers.
- a server cluster or distributed system composed of servers can also provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data Cloud servers for basic cloud computing services such as artificial intelligence platforms.
- the terminal may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto.
- the terminal and the server may be connected directly or indirectly through wired or wireless communication, which is not limited in this application.
- a data retransmission processing method is provided, and the method is applied to the receiving end in FIG. 1 as an example for illustration, including the following steps:
- Step 202 based on the data packet loss rate in the retransmission period, determine the threshold of the number of retransmission data packets in the retransmission period, and obtain a sequence number set composed of the respective sequence numbers of the data packets to be retransmitted in the retransmission period.
- the retransmission period refers to the duration represented by multiple time periods divided by time.
- the receiving end detects whether there is packet loss in the data received in each time period, and when the packet loss meets the retransmission condition, send The sender sends a retransmission request.
- the sending end and the receiving end are the data transmission objects. It can be understood that the sending end and the receiving end are a set of relative concepts. In different application scenarios, the sending end can also be used as the receiving end to receive data, and the receiving end can also be used as The sending end is used to send data, and whether the computer device is the sending end or the receiving end can be determined according to the transmission direction of the data.
- Packet loss refers to the phenomenon that the data of one or more (referring to two or more) data packets cannot be transmitted from the sender to the receiver through the network. As shown in Figure 3, the sender sent a sequence number of 1 ⁇ n n data packets, however, no data packet with sequence number 2 was detected among the data packets received by the receiving end. Packets with sequence number 2 are lost. However, in scenarios such as streaming media technology, VoIP (Voice over Internet Protocol, IP-based voice transmission), online games, and video conferencing, packet loss may cause network jitter. Special attention should be paid to the fact that packet loss does not necessarily mean that there is a problem with data interaction. To some extent, packet loss may be accepted by both parties.
- the retransmission condition is when the packet loss cannot be accepted by both parties. conditions of. Specifically, the retransmission condition may be one of conditions such as the number of retransmitted data packets reaching the quantity threshold, the packet loss rate within a certain period reaching the packet loss rate threshold, or a combination of multiple conditions.
- the packet loss rate (Loss Tolerance or Packet Loss Rate) refers to the ratio of the number of lost data packets to the sent data group.
- the data packet loss rate may be a ratio of the number of actually received data packets to the number of data packets that should be received within a period of time.
- the packet loss rate is related to the packet length and the packet sending frequency. Generally, when the traffic of a Gigabit network card is greater than 200Mbps, the packet loss rate is less than 5/10,000; when the traffic of a 100M network card is greater than 60Mbps, the packet loss rate is less than 1/10,000.
- the packet loss rate can be obtained by calculating the ratio of the difference between the number of output packets at the sending end and the number of input packets at the receiving end to the number of input packets, that is, [(input packets - output packets) /input message]*100%".
- the data packet retransmission quantity threshold refers to the quantity threshold of data packets requested to be retransmitted within the retransmission period. Specifically, based on the data packet loss rate in the retransmission period and the transmission bandwidth of the receiver, the receiving end calculates the threshold of the number of retransmissions of data packets in the retransmission period. Transmission bandwidth is used to identify the amount of data passing through a link per unit time. Since the data packet loss rate in the retransmission period changes in real time, the threshold of the number of retransmissions of data packets can be determined dynamically based on the data packet loss rate in the retransmission period, and the threshold of the number of retransmissions in the retransmission period can be dynamically adjusted.
- Adjustment compared to setting a fixed threshold for the number of retransmissions of data packets, dynamic adjustment can effectively avoid the time caused by the receiving end having to process too many retransmission requests at the same time in the case of severe network jitter and packet loss The occurrence of intermittent network storms.
- the data packet to be retransmitted refers to the data packet that needs to be requested from the sender to resend when packet loss is detected.
- the data message received by the receiving end carries a data packet, and the sequence number of the data packet is carried in a header of the message.
- the sequence number is used to identify the sending sequence of multiple data packets corresponding to the sending segment.
- the receiving end can infer the sequence number of the lost data packet based on the sequence number of the received data packet, so as to request the sending end to resend the data packet based on the sequence number.
- the sequence number set is a set composed of respective sequence numbers of the data packets to be retransmitted. It should be noted that the sequence number set is updated in real time. When there is a new data packet to be retransmitted, the sequence number of the data packet to be retransmitted can be added to the sequence number set. When the data packet to be retransmitted is received , delete the sequence number of the data packet to be retransmitted from the sequence number set.
- the set of sequence numbers may be a retransmission queue formed by sorting according to the size of the sequence numbers.
- Step 204 determining the key sequence number of each key data packet matching the set of sequence numbers.
- the key data packet is a data packet with specific meaning among the data packets received by the receiving end, specifically, the key data packet is a data packet used to combine with other data packets to obtain display data during the data rendering process. For example, a data packet corresponding to a key frame in a video data packet.
- the receiving end can determine whether the data packet is a critical data packet according to the data packet type identifier of the data packet.
- the key sequence number refers to the sequence number of the key data packet.
- the sequence number set includes the sequence number of the lost packet data of the received data in a certain transmission task. Therefore, the sequence number set corresponds to the transmission task to which the received data belongs, and different transmission tasks correspond to different sequence number sets.
- Each key data packet matching the set of sequence numbers is the same key data packet as the transmission task to which the data packet to be retransmitted belongs.
- the key data packets received in the transmission task can also be screened to obtain the key data packets whose serial numbers are within the range of the serial number represented by the serial number set, and determine the filtered key data The key sequence number for the package.
- the receiving end can first determine the received data packet that matches the data packet to be retransmitted, and then pass the data packet Class identification, determining the key data packets whose sequence numbers are in the sequence number range from the matched received data packets, and using the sequence numbers of the key data packets as the key sequence numbers.
- Step 206 filter out the target serial number from the key serial number, and delete the serial number less than or equal to the target serial number from the serial number set, so that the number of serial numbers retained in the serial number set is maximized, and the number of retained serial numbers Less than or equal to the packet retransmission threshold.
- the target serial number is the key serial number obtained by screening the key serial numbers and meeting the screening conditions.
- the number of target serial numbers is 1, and the filter condition can be that after deleting serial numbers less than or equal to the target serial number from the serial number set, the number of serial numbers retained in the serial number set is maximized, and the number of retained serial numbers Less than or equal to the packet retransmission threshold.
- the serial numbers less than or equal to the target serial number include serial numbers less than the target serial number and serial numbers equal to the target serial number.
- Quantity maximization refers to a choice made within the range allowed by constraints to maximize the number of serial numbers retained in the serial number set.
- the receiving end can use each key serial number as a candidate serial number, delete serial numbers less than or equal to the candidate serial number from the serial number set, and respectively record the number of serial numbers retained in the serial number set, From the candidate sequence numbers, select the qualified sequence numbers whose remaining sequence numbers are less than or equal to the data packet retransmission threshold, and then select the target sequence number with the largest number of retained sequence numbers from each qualified sequence number.
- the key serial numbers can also be sorted according to the size of the serial number, starting from the key serial number with the smallest serial number, each key serial number is used as the target serial number in turn, and the sequence that is less than or equal to the target serial number is deleted from the serial number set number, until the number of sequence numbers retained in the sequence number set is less than or equal to the standard sequence number of the data packet retransmission threshold.
- Step 208 requesting retransmission of the data packets to be retransmitted indicated by the sequence numbers retained in the sequence number set.
- requesting retransmission means that the receiving end sends a retransmission request to the sending end, so that the sending end resends the requested data packet.
- the specific content of the data packets cannot be obtained because the lost data packets have not been received yet, but since the sequence numbers of the data packets sent by the sending end are continuous, the receiving end can based on The sequence numbers that have been successfully received determine the sequence numbers of the lost packets, so the receiver can request the sender to retransmit the lost packets based on the sequence numbers.
- NACK Negative Acknowledgment, which is a kind of negative feedback at the receiving end, and the receiving party notifies the sender only when the data is not received
- NACK Negative Acknowledgment, which is a kind of negative feedback at the receiving end, and the receiving party notifies the sender only when the data is not received
- the receiving end Based on the serial numbers retained in the serial number set, the receiving end generates a retransmission request corresponding to the retained serial numbers one by one and sends it to the sending end, requesting retransmission of the pending Retransmit the packet.
- the above data retransmission processing method determines the threshold of the number of data packet retransmissions based on the data packet loss rate, so that the threshold of the number of data packet retransmissions can be dynamically adjusted based on the data packet loss rate of the retransmission cycle, based on the number of retransmissions to be retransmitted within the retransmission cycle.
- the data packet and each key data packet matched by the data packet to be retransmitted, the target sequence number is filtered out from the key sequence number, and the sequence number less than or equal to the target sequence number is deleted from the sequence number set based on the respective sequence numbers of the data packets to be retransmitted.
- the number of serial numbers so that the number of serial numbers retained in the serial number set is maximized, and the number of retained serial numbers is less than or equal to the threshold of the number of data packet retransmissions.
- request retransmission Maximization of data packets to be retransmitted by processing retransmission requests based on the retransmission cycle, the deleted sequence number can be retransmitted for the data packets to be retransmitted in the previous retransmission cycle, which avoids missing data to be retransmitted
- the packet retransmission request can effectively control the number of data packets to be retransmitted within each retransmission cycle, avoiding network jitter or delay, and improving the data transmission effect.
- all or part of the transmission bandwidth may be used for retransmission of data packets.
- part of the bandwidth may be selected from the transmission bandwidth as the retransmission bandwidth.
- the receiving end calculates the threshold of the number of data packet retransmissions in the retransmission period based on the data packet loss rate in the retransmission period and the retransmission bandwidth in the transmission bandwidth of the receiving end.
- determining the threshold of the number of retransmissions of data packets in the retransmission period includes: The received data volume threshold when the data packet loss rate is reached within the period; based on the data volume of each data packet, determine the data packet retransmission quantity threshold corresponding to the received data volume threshold.
- the receivable data volume refers to the maximum data volume that can be transmitted on the line per unit time, and the commonly used unit is bps.
- the transmission bandwidth at the receiving end is a fixed value, and the retransmission bandwidth in the transmission bandwidth can be determined by a set weight parameter, for example, the weight parameter that the retransmission bandwidth accounts for 20% of the transmission bandwidth.
- the weight parameter can be obtained by fitting based on the ratio of historical retransmission data to all transmission data (including normal transmission data and retransmission data).
- the received data volume threshold when the data packet loss rate is reached refers to the amount of data that can be received normally considering the existence of data packet loss.
- the retransmission bandwidth in the transmission bandwidth can receive 0.4 Mbps of data.
- the threshold for the number of retransmissions is 26 per second. Combined with the time indicated by the retransmission period, the threshold for the number of retransmissions of data packets corresponding to the threshold of the amount of data received in the retransmission period is obtained.
- the packet loss rate weight parameter By setting the packet loss rate weight parameter, a more accurate calculation result of the data transmission success rate of the retransmitted data can be obtained, thereby obtaining an accurate data packet retransmission quantity threshold.
- the receiving end obtains the retransmission code rate corresponding to the retransmission bandwidth based on the transmission code rate corresponding to the transmission bandwidth and the ratio of the retransmission bandwidth to the transmission bandwidth, based on the corresponding data packet loss rate in the retransmission period
- the retransmission success rate of the retransmitted data determines the optimized retransmission code rate within the retransmission period; based on the data volume of each data packet, determines the data packet retransmission quantity threshold corresponding to the optimized retransmission code rate.
- an accurate and reliable data packet retransmission threshold can be obtained.
- dynamic adjustment can effectively avoid In the case of severe network jitter and packet loss, the receiving end needs to process too many retransmission requests at the same time, resulting in intermittent network storms.
- determining the respective key sequence numbers of each key data packet matching the set of sequence numbers includes:
- the maximum sequence number and the minimum sequence number can be obtained by sorting the respective sequence numbers of the data packets to be retransmitted.
- the sequence number set can be a retransmission queue sorted according to the size of the sequence numbers. The head and tail of the retransmission queue are the largest sequence number and the smallest sequence number.
- the first sequence number of the retransmission queue is the largest sequence number, and the last sequence number is the smallest sequence number; when the sequence numbers are arranged in ascending order, the first sequence number of the retransmission queue is The smallest serial number, the last serial number is the largest serial number.
- the set of key sequence numbers includes the respective sequence numbers of key data packets.
- the sequence numbers of key data packets are defined as key sequence numbers.
- the critical data packet is a part of the data packet that the receiving end has received, and the data packet to be resent is the data packet that the receiving end has not received.
- the data packet to be resent is determined based on the received data packet, and the received data packet corresponds to the transmission task.
- the key sequence number set based on the key data packet in the received data packet also corresponds to the transmission task.
- each key sequence number in the key sequence number set is compared with the maximum sequence number and the minimum sequence number, if the key sequence number is greater than the minimum sequence number and less than the maximum sequence number , it is determined that the key sequence number is the key sequence number that matches the sequence number set. If the key sequence number is smaller than the minimum sequence number or greater than the maximum sequence number, skip the key sequence number and compare the next key sequence number until the key The serial number collection is traversed to the end, so as to filter out the matching key serial numbers. By traversing the set of key serial numbers, the accuracy of the filtered matching key serial numbers can be ensured.
- the sequence number set may be a retransmission queue sorted according to the sequence numbers of data packets to be retransmitted
- the key sequence number set may be a key sequence number queue sorted according to the size of the key sequence numbers.
- the sequence numbers of received data packets include 1, 3, 5, 7, 10, 15, ..., n
- the sequence numbers in the retransmission queue include 2, 4, 6, 8, 9, 11 , ..., m
- the serial numbers in the key serial number queue include 5, 10, 15, 19, ..., k.
- the retransmission queue and the key sequence number queue carry task identifiers corresponding to the transmitted data, and based on the task identifier, the matching retransmission queue and key sequence number queue can be determined.
- the key data packets can be further screened, so that the number of key data packets can be minimized, which is convenient for reducing the key sequence number of subsequent key data packets.
- the data processing volume of the target serial number is filtered out from the serial number to improve the data processing efficiency.
- the data retransmission processing party further includes: extracting the data packet category identifier carried in the header corresponding to the received data packet; when the data packet category identifier indicates that the data packet is a critical data packet, number is added to the key sequence number collection.
- the header refers to the data used to record the data transmission message in the message
- the message is a data unit exchanged and transmitted in the network, that is, a data block to be sent by the station at one time.
- the message includes complete data information to be sent, specifically including the data packet to be transmitted and the corresponding data transmission message, wherein the data transmission message includes the data packet type identifier of the data packet and the corresponding serial number of the data packet.
- the receiving end when it receives the message, it extracts the data packet type identifier from the header, and if the data packet type identifier represents a key data packet, then extracts the sequence number from the header, and adds the sequence number to the packet to which the message belongs.
- the set of key sequence numbers corresponding to the transfer task when the receiving end receives the message, it extracts the data packet type identifier from the header, and if the data packet type identifier represents a key data packet, then extracts the sequence number from the header, and adds the sequence number to the packet to which the message belongs.
- the set of key sequence numbers corresponding to the transfer task when the receiving end receives the message, it extracts the data packet type identifier from the header, and if the data packet type identifier represents a key data packet, then extracts the sequence number from the header, and adds the sequence number to the packet to which the message belongs.
- the type identifier of the data packet includes I frame, P frame and B frame.
- I frame represents a key frame, including a complete picture, which can be understood as a complete reservation of this frame of picture, and only the data of this frame is needed for decoding;
- P frame represents a key frame (or P frame) between this frame and the previous one
- the P frame can also be understood as a difference frame, there is no complete picture data, only the data different from the picture of the previous frame.
- the B frame is a two-way difference frame, which records the difference between the current frame and the previous and subsequent frames.
- the receiving end receives the message and analyzes the header in the message to determine that the video frame package contained in the message is a key frame, the sequence number in the message is added to the transmission task to which the message belongs. Keyframe sequence.
- the target serial number is screened out from the key serial number, and the serial numbers less than or equal to the target serial number are deleted from the serial number set, so that the number of serial numbers retained in the serial number set is maximized, and the remaining serial numbers
- the number of numbers is less than or equal to the threshold for the number of packet retransmissions, including:
- the key sequence number is used as the target sequence number, and from the sequence number set based on the respective sequence numbers of the data packets to be retransmitted, delete the sequence numbers that are less than or equal to the target sequence number until the sequence number set
- the number of sequence numbers retained in is less than or equal to the threshold of the number of data packet retransmissions.
- the sequence number set does not include the sequence number equal to the target sequence number. If the critical data packets received by the receiving end arrive out of sequence, before the critical data packet arrives, there may be The key data packet is used as the data packet to be retransmitted, and the key sequence number of the key data packet is added to the sequence number set. Therefore, there may be a key sequence number in the sequence number set, but because the receiving end has actually received the key sequence number The key data packet referred to by the key sequence number, so the sequence number equal to the key sequence number can be directly deleted from the sequence number set to avoid repeated transmission of the data packet.
- the receiving end selects a key sequence number in order from the key sequence number that is greater than the smallest sequence number in the sequence number set.
- Target serial number delete the serial number less than or equal to the target serial number in the serial number set, determine whether the number of serial numbers retained in the serial number set is greater than the threshold of the number of data packet retransmissions, if so, set the next key serial number as the target Serial number, perform the same processing, if not, end the screening process of the target serial number.
- the data processing speed can be improved, and the rapid screening of the target serial numbers can be realized.
- the data retransmission processor further includes: the current sequence number of the currently received data packet is greater than the historical sequence number of the last received data packet, and there is an intermediate sequence number between the current sequence number and the historical sequence number , add the intermediate sequence number to the sequence number set; when the current sequence number of the currently received data packet is less than the historical sequence number of the last received data packet, delete the current sequence number from the sequence number set.
- the currently received data packet refers to the data packet that was received last time and has not yet been processed accordingly.
- the last received data packet refers to a data packet received once before the currently received data packet and for which corresponding processing has been completed.
- the current sequence number of the currently received data packet should be greater than the historical sequence number of the last received data packet, and the current sequence number and the historical sequence number are two adjacent sequence numbers, that is, the current There are no intermediate serial numbers between serial numbers and historical serial numbers.
- the current sequence number of the currently received data packet is greater than the historical sequence number of the last received data packet, and there is no intermediate sequence number between the current sequence number and the historical sequence number, it means that each data packet arrives sequentially and there is no packet loss Phenomenon.
- the current serial number is greater than the historical serial number and there is an intermediate serial number between the two, it means that there is packet loss between the current serial number and the historical serial number, and the intermediate serial number is the data packet with packet loss, which needs to be requested to send end resends the lost packet.
- the intermediate serial number is the data packet with packet loss, which needs to be requested to send end resends the lost packet.
- the current sequence number of the currently received data packet is less than the historical sequence number of the last received data packet, it means that the currently received data packet is obtained from the receiving end out of order, and the receiving end has received the data packet sent after it, so , the data number of the currently received data packet has been added to the sequence number set, therefore, the current sequence number needs to be deleted from the sequence number set, and there is no need to request the sender to resend the data packet.
- the sequence number of the data packet to be retransmitted is added to the sequence number set, and when the current sequence number is smaller than the history
- delete the serial numbers of data packets received out of order from the serial number set to ensure that the serial numbers in the serial number set are all the serial numbers of data packets not received by the receiving end to avoid duplication of data packets transmission, thereby improving the accuracy of data retransmission.
- the intermediate sequence number is added to To the sequence number set includes: when the current sequence number of the currently received data packet is greater than the historical sequence number of the last received data packet, and there is an intermediate sequence number between the current sequence number and the historical sequence number, calculate the current sequence number and the historical sequence number The serial number difference between serial numbers; when the serial number difference is less than or equal to the difference threshold, the intermediate serial number is added to the serial number collection.
- the serial number difference refers to the result obtained by calculating the difference of the serial numbers.
- the sequence can be further controlled
- the number of serial numbers in the serial number set is reduced, thereby reducing the amount of data processing corresponding to the serial number deletion process for the serial number set and improving data processing efficiency.
- the data retransmission processor further includes: when the current sequence number of the currently received data packet is greater than the historical sequence number of the last received data packet, and the current sequence number and the historical sequence number are continuous sequence numbers, Render based on packets with current sequence number.
- the continuous sequence number refers to two sequence numbers adjacent to the sequence number, for example, the current sequence number is 10, and the historical sequence number of the last received data packet is 9.
- Rendering based on the data packet may specifically be performed by judging whether the data packet is a key data packet, if so, rendering is performed directly through data packet parsing, otherwise, the data packet is parsed and merged with the key data packet and then rendered.
- video frame rendering can be performed at real-time intervals through packet frame merging.
- the current sequence number of the currently received data packet is greater than the historical sequence number of the last received data packet, and the current
- the data packet category identification of the data packet referred to by the current serial number is obtained, and if the data packet category identification represents a key frame data packet, then the key frame data packet based on the current serial number is performed Image rendering, if the data packet type identifier indicates a difference frame or a two-way difference frame, data superimposition is performed on the difference frame or two-way difference frame and the key frame data packet, and image rendering is performed on the superimposed data.
- the live broadcast scene can be used for low-latency interactive live broadcast, live broadcast viewing, real-time recording, screen sharing, beauty effects, stereo and other functions.
- the audio and video data includes video data, or a combined result of video data and audio data.
- the data packet category identification includes I frame, P frame and B frame.
- I frame represents a key frame, including a complete picture, which can be understood as a complete reservation of this frame of picture, and only the data of this frame is needed for decoding;
- P frame represents a key frame (or P frame) between this frame and the previous one When decoding, it is necessary to superimpose the difference defined in this frame with the previously cached picture to generate the final picture.
- the P frame can also be understood as a difference frame, there is no complete picture data, only the data different from the picture of the previous frame.
- the B frame is a two-way difference frame, which records the difference between the current frame and the previous and subsequent frames. To decode the B frame, not only the previous cached picture must be obtained, but also the decoded picture. The screen data for rendering.
- the data retransmission processor also includes: when the sequence number difference is greater than the difference threshold, clear the sequence numbers in the sequence number set, and based on the current sequence number, request to transmit the key data packet matching the current sequence number.
- the key data packet matching the current sequence number is the first key data packet that the sender can find sequentially according to the sequence number based on the current sequence number.
- each data packet received by the receiving end can be parsed through the message to obtain the serial number of the data packet, and the current serial number of the currently received data packet and the last received data packet can be obtained by calculating the difference between the serial numbers.
- the sequence number difference between the historical sequence numbers of the data packets by comparing the sequence number difference with the difference threshold, when the sequence number difference is greater than the difference threshold, the receiving end clears the sequence numbers in the sequence number set.
- the receiving end sends a key data packet request to the sending end based on the current sequence number
- the sending end can extract the current sequence number in the key data packet request, starting from the current sequence number, from the cached data cached in order of sequence number Find the first key sequence number after the current sequence number, and send the key data packet indicated by the key sequence number to the receiving end.
- the sending end can also generate new key data packets in real time based on the current sequence number and send them to the receiving end.
- the receiver marks the sequence number of the data packet received this time as seq1, and the sequence number of the last arrived data packet is marked as seq2 , seq1>seq2, seq1-seq2 is the size of the hole, and seq grows continuously.
- the normal network packet loss seq (serial number) hole size is within a certain range.
- the network is basically abnormal during the time of the elevator. Yes, the packets sent by the sender are basically discarded, and the latest seq1 will be restored after exiting the elevator.
- the value of the difference threshold max_void can be set according to needs, for example, 600, 800, 1000, etc., and the difference threshold can be converted into a network abnormality duration.
- the difference threshold as 800 as an example, the average bit rate of the video is 2Mbps.
- the sequence between the current sequence number and the historical sequence number when the number difference is greater than the difference threshold, the serial numbers in the serial number set are cleared, which avoids adding a large number of serial numbers to the serial number set when the network is abnormal, causing a large number of data packet retransmission requests to the sender, which is very It solves the problem of severe network jitter and packet loss, processing a large number of retransmission requests at the same time, which leads to intermittent network storms, and ensures the stability of the data transmission process.
- the data retransmission processor further includes: smoothing the historical delay data corresponding to the historical transmission data to obtain reference delay data; determining the retransmission period based on the reference delay data, and determining the retransmission period corresponding to the The duration is greater than or equal to the duration corresponding to the reference delay data.
- the historical transmission data refers to the data that has been successfully transmitted
- the historical delay data may be the round-trip time delay (Round-Trip Time, RTT for short) corresponding to the historically transmitted data packets respectively.
- Round-trip latency is the time it takes for data to travel from one end of the network to the other.
- delay consists of four parts: sending delay, propagation delay, queuing delay, and processing delay.
- SRTT smoothed
- SRTT smoothed
- SRTT smoothed
- a retransmission cycle whose time length is greater than or equal to the time length corresponding to the reference time delay data is obtained. Since the reference delay data is dynamically changing, the retransmission period is dynamically updated based on the reference delay data. Specifically, the SRTT transmission protocol stack will calculate the SRTT in real time, and dynamically adjust the retransmission period according to the real-time calculation result of the SRTT, for example, adjust the size once every 30 seconds.
- the retransmission period can be dynamically updated, so that the retransmission period matches the real-time network status, thereby realizing the adjustment of the data processing amount of each retransmission period, Achieve balanced data processing.
- the data retransmission processing party further includes: recording the number of retransmission requests corresponding to each data packet to be retransmitted; The sequence number of the packet to be retransmitted is deleted from the set.
- the request times threshold is a preset maximum number of requests for the same data packet to be retransmitted.
- the sender will initiate a retransmission request to the sender based on the data packet to be retransmitted indicated by each remaining sequence number in the sequence number set. Specifically, in each retransmission cycle, a retransmission request is initiated for the seq packet retained in the sequence number set, and the number of retransmissions retries+1 of the seq request is marked and recorded. When retries>MaxRetries, the seq will be removed from the sequence
- the request number threshold MaxRetries can be set according to the transmission scenario.
- MaxRetries MaxRTCDelay/SRTT+1, You can set it yourself according to the scenario.
- the larger the MaxRetries the larger the number of serial numbers in the serial number set, and the more serial numbers that need to be deleted for the serial number set, resulting in a larger amount of data processing. If it is not correct
- the sequence number set controls the number of sequence numbers, and the end-to-end delay will increase.
- the threshold of the number of retransmissions of data packets in the retransmission period is determined, including:
- the packet loss rate threshold refers to the maximum allowed packet loss rate.
- the packet loss rate threshold can be a preset fixed value, or can be adjusted according to actual application scenarios, such as real-time adjustment or periodic adjustment. In a specific application, the packet loss rate threshold may be set to 10%.
- the receiving end detects that the data packet loss rate in the retransmission period reaches more than 10%, based on the data packet loss rate in the retransmission period, determine the threshold of the number of retransmissions of data packets in the retransmission period, and obtain the A sequence number set composed of the sequence numbers of the data packets to be retransmitted, determine the key sequence numbers of each key data packet that matches the sequence number set, filter out the target sequence number from the key sequence number, and delete it from the sequence number set
- the sequence number is less than or equal to the target sequence number, so that the number of sequence numbers retained in the sequence number set is maximized, and the number of retained sequence numbers is less than or equal to the threshold of the number of data packet retransmissions, requesting retransmission of the remaining sequence numbers in the sequence number set
- the retransmission of the data packet is requested, and the data packet requested for retransmission is stored in the sequence number set. Refers to the data packets to be retransmitted, using the method of limiting the packet loss rate threshold to determine whether to trigger a retransmission request, limiting the specific triggering scenarios, and avoiding the retransmission processing of data packets as long as there are data packets to be retransmitted, to achieve Precise scene definition is achieved, and waste of data processing resources is avoided.
- the data retransmission processor further includes: when the data packet loss rate in the retransmission period is less than or equal to the packet loss rate threshold, requesting retransmission of the data packets to be retransmitted in the retransmission period.
- determining the key sequence numbers of each key data packet matching the sequence number set includes: when the number of data packets to be retransmitted in the retransmission period is greater than the retransmission quantity threshold of data packets in the retransmission period When , determine the respective key sequence numbers of each key data packet matching the set of sequence numbers.
- the threshold of the number of retransmission data packets in the retransmission period is determined, and the sequence number set composed of the sequence numbers of the data packets to be retransmitted in the retransmission period is obtained.
- the retransmission of the data packet is requested, and the data packet requested for retransmission is For the data packets to be retransmitted referred to by the serial numbers retained in the serial number set, the method of judging whether to trigger a retransmission request is based on the number of data packets to be retransmitted, and the specific triggering condition scenarios for triggering a retransmission request are limited.
- the data packet is retransmitted, which realizes precise scene limitation and avoids the waste of data processing resources.
- the data retransmission processor further includes: when the number of data packets to be retransmitted in the retransmission period is less than or equal to the threshold of the number of retransmission data packets in the retransmission period, requesting retransmission within the retransmission period packets to be retransmitted.
- the number of data packets to be retransmitted in the retransmission period is less than or equal to the threshold of the number of data packets to be retransmitted in the retransmission period, directly request retransmission of the data packets to be retransmitted in the retransmission period
- the data packet transmission avoids the complicated processing process, which is beneficial to improve the data processing efficiency when the number of data packets to be retransmitted in the retransmission period is small.
- the data packet loss rate within the retransmission period is less than or equal to the packet loss rate threshold
- retransmission of the data packets to be retransmitted within the retransmission period is requested.
- the data packet loss rate in the retransmission period is greater than the packet loss rate threshold
- determine the threshold for the number of retransmissions in the retransmission period and obtain the retransmissions to be retransmitted in the retransmission period
- the set of sequence numbers composed of the respective sequence numbers of the data packets when the number of data packets to be retransmitted in the retransmission period is less than or equal to the threshold of the number of retransmissions of data packets in the retransmission period, request retransmission of the data packets in the retransmission period Packets to be retransmitted.
- the number of data packets to be retransmitted in the retransmission period is greater than the threshold of the number of retransmission data packets in the retransmission period, determine the key sequence numbers of each key data packet that matches the sequence number set, and filter out the key sequence numbers from the key sequence numbers Target sequence number, delete the sequence number that is less than or equal to the target sequence number from the sequence number set, so that the number of sequence numbers retained in the sequence number set is maximized, and the number of retained sequence numbers is less than or equal to the threshold of the number of data packet retransmissions , to request retransmission of the data packets to be retransmitted indicated by the sequence numbers retained in the sequence number set.
- the retransmission of the data packet is requested.
- the data packet requested for retransmission is the data packet to be retransmitted referred to by the serial number retained in the sequence number set.
- the specific trigger conditions of the retransmission request are limited to two threshold conditions Satisfied at the same time, the threshold for triggering retransmission requests for the above-mentioned data packets to be retransmitted is further increased, and unnecessary waste of data processing resources caused by frequent triggering of retransmission requests is avoided.
- a data retransmission processing method including the following steps:
- Step 602 smoothing the historical time delay data corresponding to the historical transmission data to obtain reference time delay data, based on the reference time delay data, determine a retransmission cycle, the duration of the retransmission cycle is greater than or equal to the time length corresponding to the reference time delay data.
- Step 604 when the current sequence number of the currently received data packet is greater than the historical sequence number of the last received data packet, and the current sequence number and the historical sequence number are continuous sequence numbers, perform the process based on the data packet indicated by the current sequence number rendering.
- Step 606 when the current sequence number of the currently received data packet is greater than the historical sequence number of the last received data packet, and there is an intermediate sequence number between the current sequence number and the historical sequence number, calculate the difference between the current sequence number and the historical sequence number The serial number difference between.
- Step 608 when the difference of the sequence numbers is greater than the difference threshold, clear the sequence numbers in the sequence number set, and based on the current sequence number, request to transmit the key data packet matching the current sequence number.
- Step 610 when the serial number difference is less than or equal to the difference threshold, add the intermediate serial number to the serial number set.
- Step 612 when the current sequence number of the currently received data packet is smaller than the historical sequence number of the last received data packet, delete the current sequence number from the sequence number set.
- Step 614 extracting the data packet type identification carried in the header corresponding to the received data packet, and adding the sequence number carried in the header to the key sequence number set when the data packet type identification indicates that the data packet is a key data packet.
- Step 616 when the data packet loss rate within the retransmission period is less than or equal to the packet loss rate threshold, request retransmission of the data packets to be retransmitted within the retransmission period.
- Step 618 when the data packet loss rate in the retransmission period is greater than the packet loss rate threshold, based on the receivable data volume of the retransmission bandwidth in the transmission bandwidth, determine the received data volume threshold when the data packet loss rate is reached in the retransmission period .
- Step 620 based on the data volume of each data packet, determine the data packet retransmission quantity threshold corresponding to the received data volume threshold, and obtain a sequence number set composed of the respective sequence numbers of the data packets to be retransmitted within the retransmission period.
- Step 622 when the number of data packets to be retransmitted in the retransmission period is less than or equal to the threshold of the number of retransmission data packets in the retransmission period, request retransmission of the data packets to be retransmitted in the retransmission period.
- Step 624 When the number of data packets to be retransmitted in the retransmission period is greater than the threshold of the number of retransmission data packets in the retransmission period, filter out the largest sequence number and the smallest sequence number from the sequence number set.
- Step 626 determining a key sequence number set formed based on respective sequence numbers of the key data packets and matching with the sequence number set.
- Step 628 Screen out key serial numbers that are greater than the smallest serial number and smaller than the largest serial number from the set of key serial numbers.
- Step 630 in order from small to large, take the key sequence number as the current sequence number, delete the sequence numbers that are less than or equal to the current sequence number from the set of sequence numbers formed based on the respective sequence numbers of the data packets to be retransmitted, until The number of sequence numbers retained in the sequence number set is less than or equal to the threshold of the number of data packet retransmissions.
- Step 632 request retransmission of the data packets to be retransmitted indicated by the sequence numbers retained in the sequence number set, and record the number of retransmission requests for each data packet to be retransmitted.
- Step 634 when the number of retransmission requests for the data packet to be retransmitted is greater than the request number threshold, delete the sequence number of the data packet to be retransmitted from the sequence number set.
- the present application also provides an application scenario, where the above-mentioned data retransmission processing method is applied.
- the application of the data retransmission processing method in this application scenario is as follows:
- the buffer size can only be fixed as much as possible If the setting is larger, when the network jitter is large, the packet loss rate is high, and when the jitter is small, the delay is large.
- the data retransmission processing method proposed in this solution can be realized by a packet loss rate controller based on NACK retransmission code rate.
- the specific application scenario can be a low-latency live broadcast application solution.
- This solution briefly describes the transmission based on RTP/RTCP
- the /WebRTC transmission protocol format is a benchmark description, and the actual solution application is not limited to whether the solution is based on the RTP/RTCP/WebRTC transmission protocol or a custom transmission protocol format.
- the RTP protocol corresponding to RTP (Real-time Transport Protocol, Real-time Transport Protocol) specifies the standard data packet format for transmitting audio and video on the Internet. It was originally designed as a multicast protocol, but has since been used in many unicast applications.
- the RTP protocol is often used in streaming media systems (with RTSP protocol), video conferencing and push to talk (Push to Talk) systems (with H.323 or SIP), making it the technical basis of the IP telephony industry.
- the RTP protocol is used with the RTP control protocol RTCP, and it is built on the UDP protocol.
- RTCP Real-time Transport Control Protocol or RTP Control Protocol or RTCP for short
- RTP Real-time Transport Control Protocol
- RTCP is defined by RFC 3550 (replacing obsolete RFC 1889).
- RTP uses an even UDP port; while RTCP uses the next port of RTP, which is an odd port.
- RTCP works in tandem with RTP, with RTP doing the actual data transfer and RTCP delivering the control packets to everyone on the phone. Its main function is to give feedback on the quality of service that RTP is providing.
- WebRTC Web Real-Time Communication, whose name comes from web instant messaging
- API Application Programming Interface
- WebRTC provides the core technology of video conferencing, including audio and video collection, codec, network transmission, display and other functions, and also supports cross-platform: windows, linux, mac, android.
- FEC forward error correction
- NACK lost packet retransmission
- FEC adds redundant error correction codes to the data packets at the sending end, and the error correction codes are sent to the receiving end together with the data packets; the receiving end checks and corrects the data according to the error correction codes.
- NACK sends a NACK message to the sender after the receiver detects data packet loss; the sender finds the data packet to be resent in the send buffer according to the sequence number in the NACK message, and resends it to the receiver.
- NACK needs the support of the sending buffer of the sending end, and RFC5104 defines the format of the NACK data packet.
- This solution deeply analyzes the serial number characteristics (seq characteristics) of RTP data packets in RTC and low-latency live broadcast scenarios in network abnormal scenarios, combined with REMB (Receiver Estimated Maximum Bitrate, the maximum receiving evaluation bandwidth at the receiving end), Loss Rate (packet loss rate) ), SRTT (smoothed round-trip time delay) and NACK packet loss retransmission list.
- REMB Receiveiver Estimated Maximum Bitrate, the maximum receiving evaluation bandwidth at the receiving end
- Loss Rate packet loss rate
- SRTT smoothed round-trip time delay
- NACK packet loss retransmission list When the network is abnormal, a NACK retransmission code rate packet loss rate controller is designed to optimize the fast recovery optimization solution when the low-latency live broadcast network is abnormal.
- This solution has a good application in Tencent Cloud Video Cloud Express live broadcast, cloud games and other business products, and has a good application in Kuaishou, Douyin, YY, Douyu, Station B, Caiji and un
- Live Event Broadcasting (LEB for short, ultra-low-latency live broadcast) is an extension of standard live broadcast in the ultra-low-latency playback scenario, which has lower delay than traditional live broadcast protocols, providing viewers with the ultimate live broadcast viewing experience in milliseconds. It can meet the needs of some specific scenarios that require higher latency performance, such as online education, live sports events, and online question answering.
- the transmission layer basically uses UDP.
- Solve network anomalies network BDP, that is, the product of bandwidth and delay
- jitter network connection recovery
- network switching such as 4G/5G switching WIFI, WIFI switching 4G/5G, etc.
- FEC forward error correction
- NACK packet loss retransmission
- jitterbuffer audio and video jitter buffer
- jitterbuffer is a RTP data storage
- the packet cache can sort the RTP packets. When the RTP packets in the jitterbuffer are discontinuous, NACK will be used to request the sender to resend.
- the message container format management module performs transmission format analysis, audio and video container format analysis and legality detection.
- the sequence numbers for lost RTP packets are stored in the set NACK List.
- the sequence number of the data packet is obtained from the header in the message, and its sequence number is marked as seq1, while the sequence number of the last arrived data packet is seq2.
- the seq number of the RTP header is only 2 bytes, the maximum value is 65535, and wrapping will occur. In this solution, it is assumed that the seq wrapping has been processed, and all seq numbers are considered to be continuously increasing.
- seq1>seq2 it means that seq1 arrives in order, and the data packets in the (seq2, seq1) interval are marked as lost, and stored in the NACK List set.
- the key frame is judged by the RTP FU header and the video frame packet corresponding to the video nalu typeseq1. If the received video frame packet corresponding to seq1 is a key frame, the current seq1 number is stored in the NACK KeyFrame List.
- the lost state here is temporary. If seq3 ⁇ seq1 is present when the next data packet arrives, it means that the data packet arrives out of order, and the sequence number of seq3 in the NACK List will be deleted.
- the REMB and packet loss rate (Loss rate, lr for short) within a NACK policy retransmission period are combined for comprehensive consideration:
- the JitterBuffer if the JitterBuffer is continuous, it will merge the packet frames and render at intervals in real time. If there is a discontinuity in the middle of the RTP packet seq, it will wait for a certain period of time for the sender to retransmit and recover the lost seq packets.
- Normal network packet loss The size of the seq hole is seq1-seq2, which is within a certain range. For some abnormal network scenarios, such as the user walks from the normal network to the elevator and then comes out of the elevator, the network is restored. Basically, the network is abnormal during the time of the elevator. The packets sent by the end are basically discarded, and the latest seq1 is restored after exiting the elevator.
- the retransmission period can be dynamically set to the latest SRTT based on the retransmission period to regularly detect the NACK List. After more than one SRTT, check the NACK List and initiate a retransmission request for the seq packet lost in the NACK List, and mark and record the retransmission times of the seq request retries+1, when retries>MaxRetries, delete the seq from the NACK List.
- the NACK retransmission code rate packet loss rate controller using the above data retransmission processing method has an 80%+ reduction in the average comprehensive first frame delay compared to before optimization, as shown in Figure 8, the abscissa is the number of test times, and the ordinate For low-latency live broadcasting, the delay of the first frame under a weak network solves the problem of intermittent network storms caused by receiving many NACK retransmission requests at the same time when the network jitter and packet loss are severe.
- a data retransmission processing device 900 is provided.
- the device may use a software module or a hardware module, or a combination of the two to become part of a computer device.
- the device specifically includes: Threshold determination module 902, key serial number determination module 904, serial number deletion module 906 and request retransmission module 908, wherein:
- the threshold determination module 902 is configured to determine the threshold of the number of retransmission data packets in the retransmission period based on the data packet loss rate in the retransmission period, and obtain a sequence composed of the respective sequence numbers of the data packets to be retransmitted in the retransmission period number collection.
- a key sequence number determining module 904 configured to determine the respective key sequence numbers of each key data package matching the set of sequence numbers.
- the serial number deletion module 906 is used to filter out the target serial number from the key serial number, and delete the serial number less than or equal to the target serial number from the serial number set, so as to maximize the number of serial numbers retained in the serial number set, and retain The number of sequence numbers is less than or equal to the packet retransmission threshold.
- the request retransmission module 908 is configured to request retransmission of the data packets to be retransmitted indicated by the sequence numbers retained in the sequence number set.
- the threshold determination module includes a received data volume threshold determination module and a data packet retransmission quantity threshold module, wherein:
- the received data volume threshold determination module is used to determine the corresponding received data volume threshold when the data packet loss rate is reached within the retransmission period based on the receivable data volume of the retransmission bandwidth in the transmission bandwidth;
- the data packet retransmission quantity threshold module is configured to determine the data packet retransmission quantity threshold corresponding to the received data volume threshold based on the data volume of each data packet.
- the key serial number determination module includes a serial number screening module, a key serial number set determination module, and a key serial number screening module, wherein:
- a serial number screening module configured to filter out the largest serial number and the smallest serial number from the serial number set, and obtain a key serial number set based on the respective serial numbers of the key data packets and matched with the serial number set;
- the key serial number screening module is used to filter out the key serial numbers greater than the minimum serial number and smaller than the maximum serial number from the key serial number set.
- the data retransmission processing device further includes a key sequence number set management module, configured to: extract the data packet category identifier carried in the header corresponding to the received data packet; the data packet category identifier indicates that the data packet is key data When packet, the sequence number carried in the header is added to the set of key sequence numbers.
- a key sequence number set management module configured to: extract the data packet category identifier carried in the header corresponding to the received data packet; the data packet category identifier indicates that the data packet is key data When packet, the sequence number carried in the header is added to the set of key sequence numbers.
- the serial number deletion module is further configured to use the key serial number as the current serial number in ascending order, and delete the key serial number from the serial number set based on the respective serial numbers of the data packets to be retransmitted. Sequence numbers that are less than or equal to the current sequence number until the number of sequence numbers remaining in the sequence number set is less than or equal to the threshold of the number of data packet retransmissions.
- the data retransmission processing device further includes an intermediate serial number adding module and a current serial number deleting module, wherein:
- the intermediate serial number adding module is used to add the intermediate serial number when the current serial number of the currently received data packet is greater than the historical serial number of the last received data packet, and there is an intermediate serial number between the current serial number and the historical serial number. Add to serial number collection;
- the current sequence number deletion module is configured to delete the current sequence number from the sequence number set when the current sequence number of the currently received data packet is smaller than the historical sequence number of the last received data packet.
- the data retransmission processing device further includes a sequence number difference calculation module, a first sequence number difference comparison module, and a second sequence number difference comparison module, wherein:
- the sequence number difference calculation module is used to calculate the current sequence when the current sequence number of the currently received data packet is greater than the historical sequence number of the last received data packet, and there is an intermediate sequence number between the current sequence number and the historical sequence number serial number difference between serial number and historical serial number;
- the first sequence number difference comparison module is used to clear the sequence number in the sequence number set when the sequence number difference is greater than the difference threshold, and based on the current sequence number, request to transmit the key data packet matching the current sequence number;
- the second serial number difference comparison module is configured to add the intermediate serial number to the serial number set when the serial number difference is less than or equal to the difference threshold.
- the key data packet is a key frame data packet in the audio and video data transmitted in the live broadcast scene
- the data retransmission processing device further includes a rendering module, which is used to make the current sequence number of the currently received data packet greater than that of the last time
- the historical serial number of the received data packet and when the current serial number and the historical serial number are consecutive serial numbers, obtain the data packet category identifier of the data packet referred to by the current serial number; if the data packet category identifier represents a key frame data packet, then Screen rendering is performed based on the key frame data packet referred to by the current serial number; if the data packet category identifier indicates a difference frame or a two-way difference frame, the difference frame or two-way difference frame is superimposed on the key frame data packet, and the superimposed data is processed Screen rendering.
- the data retransmission processing device further includes a retransmission period determination module, which is used to smooth the historical delay data corresponding to the historical transmission data to obtain reference delay data; based on the reference delay data, determine the retransmission Period, the period corresponding to the retransmission period is greater than or equal to the period corresponding to the reference delay data.
- a retransmission period determination module which is used to smooth the historical delay data corresponding to the historical transmission data to obtain reference delay data; based on the reference delay data, determine the retransmission Period, the period corresponding to the retransmission period is greater than or equal to the period corresponding to the reference delay data.
- the serial number deletion module is also used to record the number of times of request retransmission for each data packet to be retransmitted; The sequence number of the packet to be retransmitted is deleted from the set.
- the threshold determination module is further configured to determine the retransmission period of the data packet based on the data packet loss rate in the retransmission period when the data packet loss rate in the retransmission period is greater than the packet loss rate threshold.
- the number of transmission thresholds; the request retransmission module is also used to request retransmission of the data packets to be retransmitted within the retransmission period when the data packet loss rate in the retransmission period is less than or equal to the packet loss rate threshold.
- the key sequence number determination module is further configured to determine the key sequence number matching the sequence number set when the number of data packets to be retransmitted in the retransmission period is greater than the threshold of the number of retransmissions of data packets in the retransmission period.
- the respective key sequence numbers of key data packets; the request retransmission module is also used to request retransmission when the number of data packets to be retransmitted in the retransmission period is less than or equal to the threshold of the number of retransmissions in the retransmission period. Data packets to be retransmitted within the transmission cycle.
- Each module in the above-mentioned data retransmission processing device may be fully or partially realized by software, hardware or a combination thereof.
- the above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, and can also be stored in the memory of the computer device in the form of software, so that the processor can invoke and execute the corresponding operations of the above-mentioned modules.
- a computer device is provided.
- the computer device may be a terminal, and its internal structure may be as shown in FIG. 10 .
- the computer device includes a processor, a memory, a communication interface, a display screen and an input device connected through a system bus.
- the processor of the computer device is used to provide calculation and control capabilities.
- the memory of the computer equipment includes a non-volatile storage medium and an internal memory.
- the non-volatile storage medium stores an operating system and computer readable instructions.
- the internal memory provides an environment for the execution of the operating system and computer readable instructions in the non-volatile storage medium.
- the communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be realized through WIFI, an operator network, NFC (Near Field Communication) or other technologies.
- a data retransmission processing method is implemented.
- the display screen of the computer device may be a liquid crystal display screen or an electronic ink display screen
- the input device of the computer device may be a touch layer covered on the display screen, or a button, a trackball or a touch pad provided on the casing of the computer device , and can also be an external keyboard, touchpad, or mouse.
- FIG. 10 is only a block diagram of a part of the structure related to the solution of this application, and does not constitute a limitation to the computer equipment on which the solution of this application is applied.
- the specific computer equipment can be More or fewer components than shown in the figures may be included, or some components may be combined, or have a different arrangement of components.
- a computer device including a memory and a processor, where computer-readable instructions are stored in the memory, and the processor implements the steps in the foregoing method embodiments when executing the computer-readable instructions.
- a computer-readable storage medium which stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, the steps in the foregoing method embodiments are implemented.
- a computer program product or computer program comprising computer readable instructions stored on a computer readable storage medium.
- the processor of the computer device reads the computer-readable instructions from the computer-readable storage medium, and the processor executes the computer-readable instructions, so that the computer device executes the steps in the foregoing method embodiments.
- Non-volatile memory may include read-only memory (Read-Only Memory, ROM), magnetic tape, floppy disk, flash memory or optical memory, etc.
- Volatile memory can include Random Access Memory (RAM) or external cache memory.
- RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (20)
- 一种数据重传处理方法,其特征在于,由计算机设备执行,所述方法包括:基于重传周期内的数据丢包率,确定所述重传周期内的数据包重传数量阈值,并获取所述重传周期内待重传数据包各自的序列号所构成的序列号集合;确定与所述序列号集合相匹配的各关键数据包各自的关键序列号;从所述关键序列号筛选出目标序列号,从所述序列号集合中删除小于或等于所述目标序列号的序列号,使得所述序列号集合中留存的序列号的数量最大化,且留存的序列号的数量小于或等于所述数据包重传数量阈值;及请求重传所述序列号集合中留存的序列号所指代的待重传数据包。
- 根据权利要求1所述的方法,其特征在于,所述基于重传周期内的数据丢包率,确定所述重传周期内的数据包重传数量阈值,包括:基于传输带宽中重传带宽的可接收数据量,确定在所述重传周期内达到所述数据丢包率时的接收数据量阈值;及基于每个数据包的数据量,确定所述接收数据量阈值对应的数据包重传数量阈值。
- 根据权利要求1所述的方法,其特征在于,所述确定与所述序列号集合相匹配的各关键数据包各自的关键序列号,包括:从所述序列号集合中筛选出最大序列号和最小序列号,并获取基于关键数据包各自的序列号构成、且与所述序列号集合匹配的关键序列号集合;及从所述关键序列号集合中筛选出大于所述最小序列号且小于所述最大序列号的关键序列号。
- 根据权利要求3所述的方法,其特征在于,所述方法还包括:提取接收的数据包所对应报头中携带的数据包类别标识;及在所述数据包类别标识表示所述数据包为关键数据包时,将所述报头中携带的序列号添加至所述关键序列号集合。
- 根据权利要求1所述的方法,其特征在于,所述从所述关键序列号筛选出目标序列号,从所述序列号集合中删除小于或等于所述目标序列号的序列号,使得所述序列号集合中留存的序列号的数量最大化,且留存的序列号的数量小于或等于所述数据包重传数量阈值,包括:按照从小到大的顺序,依次将所述关键序列号作为当前序列号,从基于所述待重传数据包各自的序列号构成的序列号集合中,删除小于和等于所述当前序列号的序列号,直至所述序列号集合中留存的序列号的数量小于或等于所述数据包重传数量阈值。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:在当前接收的数据包的当前序列号大于上一次接收的数据包的历史序列号,且所述当前序列号与所述历史序列号之间存在中间序列号时,将所述中间序列号添加至序列号集合。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:在当前接收的数据包的当前序列号小于上一次接收的数据包的历史序列号时,从所述序列号集合中删除所述当前序列号。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:在当前接收的数据包的当前序列号大于上一次接收的数据包的历史序列号,且所述当前序列号与所述历史序列号之间存在中间序列号时,计算所述当前序列号与所述历史序列号之间的序列号差值;在所述序列号差值大于差值阈值时,清空所述序列号集合中的序列号,并基于所述当前序列号,请求传送与所述当前序列号匹配的关键数据包;及在所述序列号差值小于或等于差值阈值时,将所述中间序列号添加至序列号集合。
- 根据权利要求1所述的方法,其特征在于,所述关键数据包为直播场景下传输的音视频数据中的关键帧数据包;所述方法还包括:在当前接收数据包的当前序列号大于上一次所接收数据包的历史序列号,且所述当前序列号与所述历史序列号为连续序列号时,获取所述当前序列号所指代数据包的数据包类别标识;及若所述数据包类别标识表示关键帧数据包,则基于所述当前序列号所指代的关键帧数据包进行画面渲染。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:在当前接收数据包的当前序列号大于上一次所接收数据包的历史序列号,且所述当前序列号与所述历史序列号为连续序列号时,获取所述当前序列号所指代数据包的数据包类别标识;及若所述数据包类别标识表示差别帧或双向差别帧,则将所述差别帧或所述双向差别帧与关键帧数据包进行数据叠加,基于叠加数据进行画面渲染。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:对历史传输数据对应的历史时延数据进行平滑处理,得到参考时延数据;及基于所述参考时延数据,确定重传周期,所述重传周期的时长大于或等于所述参考时延数据对应的时长。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:记录针对每一待重传数据包的请求重传次数;及在针对所述待重传数据包的请求重传次数大于请求次数阈值时,从所述序列号集合中删除所述待重传数据包的序列号。
- 根据权利要求1至12中任一项所述的方法,其特征在于,所述基于重传周期内的数据丢包率,确定所述重传周期内的数据包重传数量阈值,包括:在重传周期内的数据丢包率大于丢包率阈值时,基于所述重传周期内的数据丢包率,确定所述重传周期内的数据包重传数量阈值。
- 根据权利要求13所述的方法,其特征在于,所述方法还包括:在重传周期内的数据丢包率小于或等于丢包率阈值时,请求重传所述重传周期内的待重传数据包。
- 根据权利要求1至13中任一项所述的方法,其特征在于,所述确定与所述序列号集合相匹配的各关键数据包各自的关键序列号,包括:在所述重传周期内待重传数据包的数量大于所述重传周期内的数据包重传数量阈值时,确定与所述序列号集合相匹配的各关键数据包各自的关键序列号。
- 根据权利要求15所述的方法,其特征在于,所述方法还包括:在所述重传周期内待重传数据包的数量小于或等于所述重传周期内的数据包重传数量阈值时,请求重传所述重传周期内的待重传数据包。
- 一种数据重传处理装置,其特征在于,所述装置包括:阈值确定模块,用于基于重传周期内的数据丢包率,确定所述重传周期内的数据包重传数量阈值,并获取所述重传周期内待重传数据包各自的序列号所构成的序列号集合;关键序列号确定模块,用于确定与所述序列号集合相匹配的各关键数据包各自的关键序列号;序列号删除模块,用于从所述关键序列号筛选出目标序列号,从所述序列号集合中删除小于或等于所述目标序列号的序列号,使得所述序列号集合中留存的序列号的数量最大化,且留存的序列号的数量小于或等于所述数据包重传数量阈值;及请求重传模块,用于请求重传所述序列号集合中留存的序列号所指代的待重传数据包。
- 一种计算机设备,包括存储器和一个或多个处理器,所述存储器存储有计算机可读指令,其特征在于,所述一个或多个处理器执行所述计算机可读指令时实现权利要求1至16中任一项所述的方法的步骤。
- 一个或多个非易失性计算机可读存储介质,存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现权利要求1至16中任一项所述的方法的步骤。
- 一种计算机程序产品,包括计算机可读指令,其特征在于,所述计算机可读指令被一个或多个处理器执行时实现权利要求1至16中任一项所述的方法的步骤。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP22810283.6A EP4224758A4 (en) | 2021-05-25 | 2022-04-24 | Data retransmission processing method and apparatus, computer device, and storage medium |
| JP2023548347A JP7664407B2 (ja) | 2021-05-25 | 2022-04-24 | データ再送処理方法、装置、コンピュータ機器及びコンピュータプログラム |
| US18/077,733 US12574152B1 (en) | 2021-05-25 | 2022-12-08 | Data retransmission processing method and apparatus, computer device, and storage medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110569177.3 | 2021-05-25 | ||
| CN202110569177.3A CN113037440B (zh) | 2021-05-25 | 2021-05-25 | 数据重传处理方法、装置、计算机设备和存储介质 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/077,733 Continuation US12574152B1 (en) | 2021-05-25 | 2022-12-08 | Data retransmission processing method and apparatus, computer device, and storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022247550A1 true WO2022247550A1 (zh) | 2022-12-01 |
Family
ID=76455840
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2022/088788 Ceased WO2022247550A1 (zh) | 2021-05-25 | 2022-04-24 | 数据重传处理方法、装置、计算机设备和存储介质 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US12574152B1 (zh) |
| EP (1) | EP4224758A4 (zh) |
| JP (1) | JP7664407B2 (zh) |
| CN (1) | CN113037440B (zh) |
| WO (1) | WO2022247550A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116451139A (zh) * | 2023-06-16 | 2023-07-18 | 杭州新航互动科技有限公司 | 一种基于人工智能的直播数据快速分析方法 |
| CN119052137A (zh) * | 2024-08-02 | 2024-11-29 | 中国移动通信有限公司研究院 | 一种数据包传输方法、相关设备、存储介质及计算机程序产品 |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4167542B1 (en) * | 2020-06-29 | 2025-08-06 | Huawei Technologies Co., Ltd. | Data retransmission method and apparatus |
| CN113037440B (zh) * | 2021-05-25 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 数据重传处理方法、装置、计算机设备和存储介质 |
| CN113872733B (zh) * | 2021-09-29 | 2024-01-05 | 天翼物联科技有限公司 | 报文重发方法、装置、计算机设备及计算机可读存储介质 |
| CN114257836B (zh) * | 2021-12-17 | 2024-05-28 | 青岛海信宽带多媒体技术有限公司 | 一种机顶盒及丢包处理方法 |
| CN115209231B (zh) * | 2022-09-07 | 2024-03-22 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、设备和计算机可读存储介质 |
| CN115543979B (zh) * | 2022-09-29 | 2023-08-08 | 广州鼎甲计算机科技有限公司 | 重复数据的删除方法、装置、设备、存储介质和程序产品 |
| CN115866095B (zh) * | 2022-11-25 | 2025-11-25 | 抖音视界有限公司 | 数据传输方法、装置、电子设备及存储介质 |
| CN116016370B (zh) * | 2022-12-27 | 2024-01-30 | 北京铭海博纳科技发展有限公司 | 一种丢包率优化方法、系统、电子设备及可读存储介质 |
| CN115952025B (zh) * | 2023-01-09 | 2024-03-05 | 深圳市赛柏特通信技术有限公司 | 一种数据管控方法、系统、终端设备及存储介质 |
| CN116886249A (zh) * | 2023-07-07 | 2023-10-13 | 福建天泉教育科技有限公司 | 一种数据重传的优化方法与终端 |
| CN117176809B (zh) * | 2023-09-01 | 2024-08-02 | 中科驭数(北京)科技有限公司 | 一种数据交互方法及系统 |
| CN117061070B (zh) * | 2023-09-15 | 2024-03-29 | 深圳旷世科技有限公司 | 无线音频传输方法、音频设备及存储介质 |
| DE102024205718A1 (de) * | 2024-06-20 | 2025-12-24 | Siemens Mobility GmbH | Passives Überwachen von Paketverzögerung und -verlust in einem Netzwerk-System |
| CN118860686B (zh) * | 2024-07-04 | 2025-11-28 | 福建天晴在线互动科技有限公司 | 一种消息聚合消费的方法及系统 |
| CN119341704A (zh) * | 2024-10-25 | 2025-01-21 | 中国电信股份有限公司技术创新中心 | 丢包重传方法、装置、计算机设备、可读存储介质和程序产品 |
| CN119814233B (zh) * | 2024-12-16 | 2025-09-30 | 西安交通大学 | 一种面向弱网环境的主动丢包恢复方法 |
| CN119996782B (zh) * | 2025-04-11 | 2025-06-13 | 通号通信信息集团有限公司 | 一种视频数据传输中的丢包处理方法、装置、设备及介质 |
| CN120614277B (zh) * | 2025-07-01 | 2025-12-09 | 广州万虹信息科技有限公司 | 一种数据传输系统 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101069221A (zh) * | 2003-12-19 | 2007-11-07 | 诺基亚公司 | 无线voip的编码解码器辅助的容量增强 |
| CN104486051A (zh) * | 2014-12-09 | 2015-04-01 | 京信通信系统(中国)有限公司 | 一种数据重传方法及装置 |
| CN106067847A (zh) * | 2016-05-25 | 2016-11-02 | 腾讯科技(深圳)有限公司 | 一种语音数据传输方法及装置 |
| CN107864084A (zh) * | 2016-09-22 | 2018-03-30 | 腾讯科技(深圳)有限公司 | 数据包的传输方法和装置 |
| CN108781139A (zh) * | 2016-02-26 | 2018-11-09 | 网络洞察力知识产权公司 | 分组网络中的数据重传 |
| CN113037440A (zh) * | 2021-05-25 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 数据重传处理方法、装置、计算机设备和存储介质 |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5222061A (en) * | 1991-10-31 | 1993-06-22 | At&T Bell Laboratories | Data services retransmission procedure |
| JP3866196B2 (ja) * | 2000-06-23 | 2007-01-10 | 三菱電機株式会社 | パケット再送システムおよびパケット再送方法 |
| JP2002204279A (ja) * | 2001-11-16 | 2002-07-19 | Matsushita Electric Ind Co Ltd | データ送信装置及びデータ送信方法 |
| JP4116470B2 (ja) * | 2002-03-06 | 2008-07-09 | ヒューレット・パッカード・カンパニー | メディア・ストリーミング配信システム |
| JP4452983B2 (ja) * | 2004-01-08 | 2010-04-21 | ソニー株式会社 | 受信装置および方法、プログラム、並びに記録媒体 |
| CN100579128C (zh) * | 2004-01-09 | 2010-01-06 | 日本电气株式会社 | 通信方法、节点以及节点的控制装置 |
| WO2007061087A1 (ja) * | 2005-11-28 | 2007-05-31 | Nec Corporation | 通信装置、通信システム、通信方法、および、通信プログラム |
| JP4699187B2 (ja) * | 2005-11-29 | 2011-06-08 | シャープ株式会社 | 受信装置、通信システム、および受信装置の制御プログラム |
| WO2008120275A1 (ja) * | 2007-03-29 | 2008-10-09 | Fujitsu Limited | 移動通信装置 |
| US8191133B2 (en) * | 2007-12-17 | 2012-05-29 | Avaya Inc. | Anti-replay protection with quality of services (QoS) queues |
| CN101697504B (zh) * | 2009-09-08 | 2013-04-17 | 杭州华三通信技术有限公司 | 一种提高数据传输质量的方法及装置 |
| JP6014411B2 (ja) * | 2012-08-15 | 2016-10-25 | 日本放送協会 | 無線通信を行う受信装置、受信方法及びプログラム |
| US10356652B2 (en) * | 2014-10-06 | 2019-07-16 | Vid Scale, Inc. | Adapting communication parameters to link conditions, traffic types, and/or priorities |
| JPWO2016067561A1 (ja) * | 2014-10-31 | 2017-08-17 | 日本電気株式会社 | 通信端末、通信システムおよび通信方法、並びにコンピュータ・プログラム |
| CN105991476B (zh) * | 2015-01-29 | 2020-08-04 | 沪江教育科技(上海)股份有限公司 | 一种语音数据延时处理方法及装置 |
| CN108282273B (zh) * | 2017-01-05 | 2024-03-08 | 华为技术有限公司 | 分段重传的方法和装置 |
| CN107204834B (zh) * | 2017-05-25 | 2020-07-07 | 复旦大学 | 一种基于udt协议的高速网络可靠传输的控制方法 |
| CN108564596B (zh) * | 2018-03-01 | 2022-01-25 | 南京邮电大学 | 一种高尔夫挥杆视频的智能比对分析系统及方法 |
| CN109862038A (zh) * | 2019-03-22 | 2019-06-07 | 江苏睿鸿网络技术有限公司 | 一种流媒体协议中数据延时及丢包的处理方法 |
| US11632444B2 (en) * | 2020-09-15 | 2023-04-18 | Intelligent Fusion Technology, Inc. | Method, device, and system for TCP packet transmission over satellite communication network |
| CN112165355B (zh) * | 2020-10-23 | 2022-03-22 | 中国电子科技集团公司第三十研究所 | 一种面向卫星网络的基于udp的可靠数据传输方法 |
-
2021
- 2021-05-25 CN CN202110569177.3A patent/CN113037440B/zh active Active
-
2022
- 2022-04-24 EP EP22810283.6A patent/EP4224758A4/en active Pending
- 2022-04-24 WO PCT/CN2022/088788 patent/WO2022247550A1/zh not_active Ceased
- 2022-04-24 JP JP2023548347A patent/JP7664407B2/ja active Active
- 2022-12-08 US US18/077,733 patent/US12574152B1/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101069221A (zh) * | 2003-12-19 | 2007-11-07 | 诺基亚公司 | 无线voip的编码解码器辅助的容量增强 |
| CN104486051A (zh) * | 2014-12-09 | 2015-04-01 | 京信通信系统(中国)有限公司 | 一种数据重传方法及装置 |
| CN108781139A (zh) * | 2016-02-26 | 2018-11-09 | 网络洞察力知识产权公司 | 分组网络中的数据重传 |
| CN106067847A (zh) * | 2016-05-25 | 2016-11-02 | 腾讯科技(深圳)有限公司 | 一种语音数据传输方法及装置 |
| CN107864084A (zh) * | 2016-09-22 | 2018-03-30 | 腾讯科技(深圳)有限公司 | 数据包的传输方法和装置 |
| CN113037440A (zh) * | 2021-05-25 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 数据重传处理方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
| Title |
|---|
| See also references of EP4224758A4 * |
| ZHANG, MINMIN: "Application Research on Network Adaptability Technology in Multimedia Conference", PROCEEDINGS OF THE 6TH ANNUAL ACADEMIC CONFERENCE OF CHINA COMMUNICATIONS SOCIETY (PART 2), CN, 31 January 2010 (2010-01-31), CN, pages 244 - 248, XP009541914 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116451139A (zh) * | 2023-06-16 | 2023-07-18 | 杭州新航互动科技有限公司 | 一种基于人工智能的直播数据快速分析方法 |
| CN116451139B (zh) * | 2023-06-16 | 2023-09-01 | 杭州新航互动科技有限公司 | 一种基于人工智能的直播数据快速分析方法 |
| CN119052137A (zh) * | 2024-08-02 | 2024-11-29 | 中国移动通信有限公司研究院 | 一种数据包传输方法、相关设备、存储介质及计算机程序产品 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113037440A (zh) | 2021-06-25 |
| EP4224758A1 (en) | 2023-08-09 |
| JP7664407B2 (ja) | 2025-04-17 |
| EP4224758A4 (en) | 2024-05-29 |
| US12574152B1 (en) | 2026-03-10 |
| JP2024509728A (ja) | 2024-03-05 |
| CN113037440B (zh) | 2021-08-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022247550A1 (zh) | 数据重传处理方法、装置、计算机设备和存储介质 | |
| US10542064B2 (en) | Method, server side and system for computing bandwidth of network transmission of streaming media | |
| US12363584B2 (en) | Conserving network resources during transmission of packets of interactive services | |
| KR101046105B1 (ko) | 컴퓨터 프로그램 제조품, 리소스 요구 조정 방법 및 엔드 시스템 | |
| US9191297B2 (en) | Providing feedback to media senders over real time transport protocol (RTP) | |
| US20230083441A1 (en) | Managing subpacket transmission and reception for advanced interactive services | |
| CN106792262A (zh) | 视频数据传输方法及装置 | |
| WO2020207406A1 (zh) | 一种数据流的传输方法和设备 | |
| JP2017508372A (ja) | 輻輳制御ビットレート・アルゴリズム | |
| CN110113662A (zh) | 一种适应多种网络状况的视频监控客户端系统 | |
| US20250310393A1 (en) | Method and apparatus for transmitting streammethod for transmitting stream data | |
| CN116980635A (zh) | 直播数据处理方法、装置、计算机设备和存储介质 | |
| CN115767143A (zh) | 播放卡顿的判断方法、装置、电子设备和可读存储介质 | |
| CN110602568A (zh) | 一种基于rtp的视频流传输丢包重传方法、设备及存储设备 | |
| WO2024001451A9 (zh) | 业务数据包的处理方法、装置、介质及电子设备 | |
| CN120017880A (zh) | 视频数据的处理方法和装置、存储介质及电子设备 | |
| US20250301197A1 (en) | Method and apparatus for media data transmission | |
| CN110233856B (zh) | 报文处理方法、装置及计算机可读存储介质 | |
| CN110012363A (zh) | 一种基于sip协议的视频聊天系统 | |
| WO2025139499A1 (zh) | 基于非3GPP接入的QoS处理方法、装置、可读介质及设备 | |
| CN117220838A (zh) | 数据包的传输方法、装置、设备及存储介质 | |
| CN115765954A (zh) | 一种弱网环境超高码率流媒体传输优化方法 | |
| HK40046442B (zh) | 数据重传处理方法、装置、计算机设备和存储介质 | |
| HK40046442A (zh) | 数据重传处理方法、装置、计算机设备和存储介质 | |
| CN116318545B (zh) | 视频数据传输方法、装置、设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22810283 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2022810283 Country of ref document: EP Effective date: 20230502 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202337033607 Country of ref document: IN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023548347 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWG | Wipo information: grant in national office |
Ref document number: 11202303064T Country of ref document: SG |