CN111327402B - Method, device and system for retransmitting data - Google Patents

Method, device and system for retransmitting data Download PDF

Info

Publication number
CN111327402B
CN111327402B CN201811544881.8A CN201811544881A CN111327402B CN 111327402 B CN111327402 B CN 111327402B CN 201811544881 A CN201811544881 A CN 201811544881A CN 111327402 B CN111327402 B CN 111327402B
Authority
CN
China
Prior art keywords
retransmission
time
duration
rtt
time length
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.)
Active
Application number
CN201811544881.8A
Other languages
Chinese (zh)
Other versions
CN111327402A (en
Inventor
张龙
黄凡夫
王兴鹤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201811544881.8A priority Critical patent/CN111327402B/en
Priority to PCT/CN2019/126073 priority patent/WO2020125647A1/en
Publication of CN111327402A publication Critical patent/CN111327402A/en
Application granted granted Critical
Publication of CN111327402B publication Critical patent/CN111327402B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • H04L1/1678Details of the supervisory signal the supervisory signal being transmitted together with control information where the control information is for timing, e.g. time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

The disclosure relates to a method, a device and a system for retransmitting data, and belongs to the technical field of data transmission. The method comprises the following steps: when a packet loss event is detected, sending a retransmission request of a lost data packet to a sending end; obtaining RTT duration, and determining a retransmission parameter threshold based on the RTT duration; when the retransmission time length is reached after the retransmission request is sent, if the data packet is not received, the retransmission request of the data packet is sent to the sending end, the RTT time length is updated, and the process of determining the retransmission parameter threshold value based on the RTT time length is executed; and when the numerical value of the retransmission parameter reaches the corresponding retransmission parameter threshold value, if the data packet is not received, stopping sending the retransmission request of the data packet. By adopting the method and the device, the total time consumption of retransmission is easier to shorten, longer time is avoided from being used for waiting for losing the data packet, and the flexibility of data transmission is better.

Description

Method, device and system for retransmitting data
Technical Field
The present disclosure relates to the field of data transmission technologies, and in particular, to a method, an apparatus, and a system for retransmitting data.
Background
In the process of transmitting data in real time, due to the instability of the network, a packet loss event occurs in a transmitted data packet. At the receiving end, the sequence number of the missing data packet may be determined based on the sequence number of the received data packet. Subsequently, the receiving end may send a retransmission request to the transmitting end, where the retransmission request carries the sequence number of the lost data packet. After receiving the retransmission request, the sending end may search for whether there is a missing data packet in the cache based on the sequence number of the missing data packet, and if there is a missing data packet in the cache, obtain the missing data packet and send the missing data packet to the receiving end. In the above process, still due to the instability of the network, it cannot be determined that the transmitting end can certainly receive the retransmission request sent by the receiving end, and similarly, it cannot be determined that the receiving end can certainly receive the lost data packet returned by the transmitting end, and finally, the receiving end may not get a response after sending the retransmission request.
Therefore, the receiving end cannot wait for the lost packet returned by the transmitting end without limit after sending out the retransmission request. In practical applications, after the receiving end sends a retransmission request, if a missing data packet is not received after waiting for the RTT (Round-Trip Time), the receiving end sends the retransmission request to the receiving end again. The RTT duration is calculated by the receiving end according to a preset period and a preset estimation algorithm according to the current network condition. The value of the RTT duration represents a time required for predicting a retransmission request to return a lost packet from the receiving end to the transmitting end and from the transmitting end, and the RTT duration is longer in a poor network condition and shorter in a better network condition. The NPQ (Network Protocol Quality library) specifies a specific manner of calculating the RTT duration.
The receiving end will repeatedly execute the above-mentioned process until receiving the lost data packet or the value of the retransmission parameter corresponding to the same retransmission request exceeds the corresponding preset retransmission parameter threshold. The retransmitted parameter comprises a retransmitted total consumption time and retransmitted times, a preset retransmission parameter threshold corresponding to the retransmitted total consumption time is a retransmitted total consumption time threshold, and a preset retransmission parameter threshold corresponding to the retransmitted times is a retransmitted times threshold. The retransmission total consumed time threshold may be a fixed value, or may be a time that can wait for the lost data packet at the longest under a bad network condition. The retransmission number threshold may also be a fixed value such as 10. When the total retransmission consumption duration corresponding to the same retransmission request is greater than the total retransmission consumption duration threshold, or the number of times of retransmission corresponding to the same retransmission request exceeds the retransmission number threshold, the retransmission request can be stopped from being continuously sent to the receiving end.
In carrying out the present disclosure, the inventors found that at least the following problems exist:
under the condition of poor network conditions, the RTT is long and packet loss is easy, and the receiving end often needs a long total retransmission consumption time to receive the returned lost data packet, even under some conditions, the returned lost data packet cannot be received after the retransmission is overtime. Therefore, in an application scenario of transmitting data in real time, such as an application scenario of a video conference, when the network condition is not good, the retransmission mechanism is adopted, which may result in a long time to wait for a lost data packet, and the flexibility of data transmission is poor.
Disclosure of Invention
In order to overcome the problems in the related art, the present disclosure provides the following technical solutions:
according to a first aspect of embodiments of the present disclosure, there is provided a method of retransmitting data, the method including:
when a packet loss event is detected, sending a retransmission request of a lost data packet to a sending end;
obtaining RTT duration, and determining a retransmission parameter threshold based on the RTT duration;
when the retransmission time length is reached after the retransmission request is sent, if the data packet is not received, updating the RTT time length, and switching to executing the processing of determining the retransmission parameter threshold value based on the RTT time length;
and when the numerical value of the retransmission parameter reaches the corresponding retransmission parameter threshold value, if the data packet is not received, stopping sending the retransmission request of the data packet.
Optionally, the retransmission parameter includes a total retransmission consumption duration and/or a number of times of retransmission, the retransmission parameter threshold corresponding to the total retransmission consumption duration is a total retransmission consumption duration threshold, and the retransmission parameter threshold corresponding to the number of times of retransmission is a number of times of retransmission threshold.
Optionally, the determining, by the obtaining of the RTT duration, a retransmission parameter threshold based on the RTT duration includes:
obtaining an RTT time length, determining a retransmission time length corresponding to the RTT time length, and determining the product of the retransmission time length corresponding to the RTT time length and a first reference retransmission time;
and determining the sum of the product and a preset reserved time length as a retransmission total consumption time length threshold value.
Optionally, after obtaining the RTT duration, the method further includes:
and determining a first reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on the corresponding relation between the preset RTT time range and the reference retransmission time, wherein the larger the RTT time range value in the corresponding relation, the less the corresponding retransmission time.
Optionally, the determining, by the obtaining of the RTT duration, a retransmission parameter threshold based on the RTT duration includes:
acquiring RTT duration, and determining second reference retransmission times corresponding to the RTT duration range to which the acquired RTT duration belongs based on the corresponding relation between a preset RTT duration range and the reference retransmission times, wherein the larger the RTT duration range value in the corresponding relation, the less the corresponding retransmission times are;
and determining a retransmission time threshold value based on the second reference retransmission time and a comparison result of a third reference retransmission time determined when the retransmission request is sent last time.
Optionally, the determining a retransmission time threshold based on the second reference retransmission time and a comparison result of a third reference retransmission time determined when the retransmission request was sent last time includes:
if the second reference retransmission time is greater than or equal to a third reference retransmission time determined at the previous time, determining the second reference retransmission time as a retransmission time threshold;
if the second reference retransmission time is less than the third reference retransmission time and the retransmitted time is greater than or equal to the second reference retransmission time, determining the retransmitted time as a retransmission time threshold;
and if the second reference retransmission time is less than the third reference retransmission time and the retransmitted time is less than the second reference retransmission time, determining the second reference retransmission time as a retransmission time threshold.
Optionally, the obtaining the RTT duration, and determining, based on a corresponding relationship between a preset RTT duration range and a reference retransmission time, a second reference retransmission time corresponding to the RTT duration range to which the obtained RTT duration belongs, includes:
obtaining RTT duration;
if the type of the data packet is in a preset type set, determining a second reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on a first corresponding relation between a preset RTT time range and the reference retransmission times;
and if the type of the data packet is not in the preset type set, determining a second reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on a second corresponding relation between a preset RTT time range and the reference retransmission times, wherein the reference retransmission times corresponding to the same RTT time range in the first corresponding relation are greater than or equal to the reference retransmission times corresponding to the same RTT time range in the second corresponding relation.
According to a second aspect of the embodiments of the present disclosure, there is provided a method of retransmitting data, the method including:
when the data packet is detected to be sent and stored in a cache, acquiring an RTT (round trip time) duration, and determining a first data storage reference duration based on the RTT duration;
determining a data storage duration threshold based on the first data storage reference duration and a second data storage reference duration determined when the previous data packet is stored in the cache;
deleting the data packets with the stored time length exceeding the data storage time length threshold value in the cache;
and updating the RTT duration, and executing the processing of obtaining the RTT duration when the data packet is detected to be sent and stored in the cache.
Optionally, the determining a data storage duration threshold based on the first data storage reference duration and a second data storage reference duration determined when the previous data packet is stored in the cache includes:
and determining a data storage duration threshold value based on the first data storage reference duration, a second data storage reference duration determined when the previous data packet is stored in the cache and a pre-acquired reserved duration.
Optionally, the determining a data storage duration threshold based on the first data storage reference duration, a second data storage reference duration determined when the previous data packet is stored in the cache, and a pre-obtained reserved duration includes:
calculating the time difference between the time point of the current data packet stored in the cache and the time point of the previous data packet stored in the cache;
if the first data storage reference time length is less than or equal to the second data storage reference time length, and the time difference value is less than the second data storage reference time length, determining the sum of the second data storage reference time length and a pre-acquired reserved time length as a data storage time length threshold;
if the first data storage reference time length is smaller than or equal to the second data storage reference time length, and the time difference value is larger than or equal to the second data storage reference time length, determining a time length difference value between the first data storage reference time length and the second data storage reference time length, determining a product between the time length difference value and a preset proportional coefficient, determining a sum value between the product and the first data storage reference time length, and determining the sum value and the reserved time length as a data storage time length threshold value;
and if the first data storage reference time length is greater than the second data storage reference time length, determining the sum of the first data storage reference time length and the reserved time length as a data storage time length threshold.
Optionally, the method further comprises:
and determining the reserved duration based on the frame rate of the video frame to which the data packet belongs.
According to a third aspect of the embodiments of the present disclosure, there is provided an apparatus for retransmitting data, the apparatus including:
the sending module is used for sending a retransmission request of a lost data packet to the sending end when a packet loss event is detected;
the determining module is used for acquiring the RTT duration and determining a retransmission parameter threshold based on the RTT duration;
the updating module is used for updating the RTT duration if the data packet is not received when the retransmission time duration is reached after the retransmission request is sent, and then the processing for determining the retransmission parameter threshold based on the RTT duration is executed;
and the stopping module is used for stopping sending the retransmission request of the data packet if the data packet is not received when the numerical value of the retransmission parameter reaches the corresponding retransmission parameter threshold value.
Optionally, the retransmission parameter includes a total retransmission consumption duration and/or a number of times of retransmission, the retransmission parameter threshold corresponding to the total retransmission consumption duration is a total retransmission consumption duration threshold, and the retransmission parameter threshold corresponding to the number of times of retransmission is a number of times of retransmission threshold.
Optionally, the retransmission parameter threshold is a retransmission total consumed duration threshold, and the determining module is configured to:
obtaining an RTT time length, determining a retransmission time length corresponding to the RTT time length, and determining the product of the retransmission time length corresponding to the RTT time length and a first reference retransmission time;
and determining the sum of the product and a preset reserved time length as a retransmission total consumption time length threshold value.
Optionally, the determining module is further configured to:
and determining a first reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on the corresponding relation between the preset RTT time range and the reference retransmission time, wherein the larger the RTT time range value in the corresponding relation, the less the corresponding retransmission time.
Optionally, the retransmission parameter threshold is a retransmission time threshold, and the determining module is configured to:
acquiring RTT duration, and determining second reference retransmission times corresponding to the RTT duration range to which the acquired RTT duration belongs based on the corresponding relation between a preset RTT duration range and the reference retransmission times, wherein the larger the RTT duration range value in the corresponding relation, the less the corresponding retransmission times are;
and determining a retransmission time threshold value based on the second reference retransmission time and a comparison result of a third reference retransmission time determined when the retransmission request is sent last time.
Optionally, the determining module is configured to:
if the second reference retransmission time is greater than or equal to a third reference retransmission time determined at the previous time, determining the second reference retransmission time as a retransmission time threshold;
if the second reference retransmission time is less than the third reference retransmission time and the retransmitted time is greater than or equal to the second reference retransmission time, determining the retransmitted time as a retransmission time threshold;
and if the second reference retransmission time is less than the third reference retransmission time and the retransmitted time is less than the second reference retransmission time, determining the second reference retransmission time as a retransmission time threshold.
Optionally, the determining module is configured to:
obtaining RTT duration;
if the type of the data packet is in a preset type set, determining a second reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on a first corresponding relation between a preset RTT time range and the reference retransmission times;
and if the type of the data packet is not in the preset type set, determining a second reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on a second corresponding relation between a preset RTT time range and the reference retransmission times, wherein the reference retransmission times corresponding to the same RTT time range in the first corresponding relation are greater than or equal to the reference retransmission times corresponding to the same RTT time range in the second corresponding relation.
According to a fourth aspect of the embodiments of the present disclosure, there is provided an apparatus for retransmitting data, the apparatus including:
the determining module is used for acquiring the RTT duration when the data packet is detected to be sent and stored in the cache, and determining the first data storage reference duration based on the RTT duration; determining a data storage duration threshold based on the first data storage reference duration and a second data storage reference duration determined when the previous data packet is stored in the cache;
the deleting module is used for deleting the data packet of which the stored time length exceeds the data storage time length threshold value in the cache;
and the updating module is used for updating the RTT duration and executing the processing of obtaining the RTT duration when the data packet is detected to be sent and stored in the cache.
Optionally, the determining module is configured to:
and determining a data storage duration threshold value based on the first data storage reference duration, a second data storage reference duration determined when the previous data packet is stored in the cache and a pre-acquired reserved duration.
Optionally, the determining module is configured to:
calculating the time difference between the time point of the current data packet stored in the cache and the time point of the previous data packet stored in the cache;
if the first data storage reference time length is less than or equal to the second data storage reference time length, and the time difference value is less than the second data storage reference time length, determining the sum of the second data storage reference time length and a pre-acquired reserved time length as a data storage time length threshold;
if the first data storage reference time length is smaller than or equal to the second data storage reference time length, and the time difference value is larger than or equal to the second data storage reference time length, determining a time length difference value between the first data storage reference time length and the second data storage reference time length, determining a product between the time length difference value and a preset proportional coefficient, determining a sum value between the product and the first data storage reference time length, and determining the sum value and the reserved time length as a data storage time length threshold value;
and if the first data storage reference time length is greater than the second data storage reference time length, determining the sum of the first data storage reference time length and the reserved time length as a data storage time length threshold.
Optionally, the determining module is further configured to:
and determining the reserved duration based on the frame rate of the video frame to which the data packet belongs.
According to a fifth aspect of the embodiments of the present disclosure, a system for retransmitting data is provided, where the system includes a transmitting end and a receiving end, where:
the receiving end is used for sending a retransmission request of a lost data packet to the sending end when a packet loss event is detected; obtaining RTT duration, and determining a retransmission parameter threshold based on the RTT duration; when the retransmission time length is reached after the retransmission request is sent, if the data packet is not received, updating the RTT time length, and switching to executing the processing of determining the retransmission parameter threshold value based on the RTT time length; when the numerical value of the retransmission parameter reaches the corresponding retransmission parameter threshold value, if the data packet is not received, the retransmission request of the data packet is stopped to be sent;
the sending end is used for obtaining the RTT duration when the sending of the data packet is detected to be finished and the data packet is stored in the cache, and determining the first data storage reference duration based on the RTT duration; determining a data storage duration threshold based on the first data storage reference duration and a second data storage reference duration determined when the previous data packet is stored in the cache; deleting the data packets with the stored time length exceeding the data storage time length threshold value in the cache; and updating the RTT duration, and executing the processing of obtaining the RTT duration when the data packet is detected to be sent and stored in the cache.
According to a sixth aspect of the embodiments of the present disclosure, there is provided a receiving end, the receiving end comprising a processor, a communication interface, a memory, and a communication bus, wherein:
the processor, the communication interface and the memory complete mutual communication through the communication bus;
the memory is used for storing a computer program;
the processor is configured to execute the program stored in the memory to implement the method provided by the first aspect.
According to a seventh aspect of the embodiments of the present disclosure, there is provided a computer-readable storage medium having a computer program stored therein, the computer program, when executed by a processor, implementing the method provided by the first aspect.
According to an eighth aspect of the embodiments of the present disclosure, there is provided a transmitting end, including a processor, a communication interface, a memory, and a communication bus, wherein:
the processor, the communication interface and the memory complete mutual communication through the communication bus;
the memory is used for storing a computer program;
the processor is used for executing the program stored in the memory so as to realize the method provided by the second side.
According to a ninth aspect of the embodiments of the present disclosure, there is provided a computer-readable storage medium having stored therein a computer program which, when executed by a processor, implements the method provided by the second side described above.
The technical scheme provided by the embodiment of the disclosure can have the following beneficial effects:
by the method provided by the embodiment of the disclosure, the retransmission parameter threshold is adjusted in real time according to the correlation between the RTT duration and the network condition. Because the correlation between the RTT duration and the network condition is very high, the RTT duration is longer under the condition of poor network condition, and the RTT duration is shorter under the condition of better network condition, the RTT duration reflects the network condition, so that the retransmission parameter threshold can be adjusted in real time according to the network condition, and when the retransmission parameter reaches the retransmission parameter threshold, the retransmission request is stopped to be sent to the starting end in time. Therefore, the total retransmission time can be adjusted in real time according to the network condition, and under the condition of poor network condition, the method provided by the embodiment is adopted to easily shorten the total retransmission time, avoid using longer time to wait for losing the data packet, and has better flexibility of data transmission.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. In the drawings:
FIG. 1 is a flow diagram illustrating a method of retransmitting data in accordance with an exemplary embodiment;
FIG. 2 is a flow diagram illustrating a method of retransmitting data in accordance with an exemplary embodiment;
fig. 3 is a schematic diagram illustrating a structure of an apparatus for retransmitting data according to an exemplary embodiment;
fig. 4 is a schematic diagram illustrating a structure of an apparatus for retransmitting data according to an exemplary embodiment;
FIG. 5 is a schematic diagram illustrating a configuration of a computer device, according to an example embodiment.
With the foregoing drawings in mind, certain embodiments of the disclosure have been shown and described in more detail below. These drawings and written description are not intended to limit the scope of the disclosed concepts in any way, but rather to illustrate the concepts of the disclosure to those skilled in the art by reference to specific embodiments.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
An exemplary embodiment of the present disclosure provides a method for retransmitting data, and as shown in fig. 1, a processing flow of the method may include the following steps:
step S110, when the receiving end detects that a packet loss event occurs, it sends a retransmission request of the lost data packet to the sending end.
The receiving end may determine the sequence number of the missing data packet based on the sequence number of the received data packet. The receiving end stores the received data packets into the cache, and the received data packets are sorted in the cache.
The sequence number N1 of the data packet may be obtained every time the receiving end receives a data packet, and if the sequence number N1 is equal to the sequence number N2 of the expected data packet, the data packet with the sequence number N1 may be directly output to a subsequent data packet processing module for subsequent processing, such as decoding processing.
If sequence number N1 is less than sequence number N2 of the expected packet, then the packet with sequence number N1 is a late packet and may be discarded directly.
If the sequence number N1 is greater than the sequence number N2 of the expected packet and the sequence number N1 is less than or equal to the maximum sequence number N3 of the packets stored in the buffer, it may be determined whether the packet with the sequence number N1 exists in the buffer, and if the packet with the sequence number N1 does not exist, the packet with the sequence number N1 may be inserted into the corresponding location in the buffer in sequence, and meanwhile, the packet with the sequence number N1 is a retransmission packet or an out-of-order packet, and the sequence number N1 in all retransmission requests may be deleted, and the retransmission of the packet with the sequence number N1 is no longer requested.
If sequence number N1 is greater than sequence number N2 of the expected packet and sequence number N1 is equal to the maximum sequence number N3+1 of the packets stored in the buffer, it is determined whether a packet with sequence number N1 exists in the buffer, and if not, the packet with sequence number N1 is inserted into the corresponding location in the buffer in order.
If the sequence number N1 is greater than the sequence number N2 of the expected data packet and the sequence number N1 is greater than the maximum sequence number N3+1 of the data packets stored in the cache, determining whether the data packet with the sequence number N1 exists in the cache, if the data packet with the sequence number N1 does not exist, inserting the data packet with the sequence number N1 into the corresponding position in the cache in sequence, and meanwhile, the data packets with the sequence numbers N3+1 to N1-1 are lost data packets, and constructing retransmission requests of the data packets with the sequence numbers N3+1 to N1-1. After the receiving end constructs the retransmission request of the lost data packet, 10ms can be waited to eliminate the situation that the out-of-order data packet exists, and after waiting for 10ms, the retransmission request of the lost data packet can be sent to the sending end.
Step S120, the receiving end obtains the RTT duration, and determines the retransmission parameter threshold value based on the RTT duration.
The receiving end can calculate the RTT duration according to a preset period, such as 1s, according to the current network condition and a preset estimation algorithm. The value of the RTT duration represents a time required for predicting a retransmission request to return a lost packet from the receiving end to the transmitting end and from the transmitting end, the RTT duration is longer in a poor network condition, the RTT duration is shorter in a better network condition, and a specific manner for calculating the RTT duration is defined in the NPQ. It can be bounded by 500ms, and if the RTT duration is greater than 500ms, the network condition can be considered very bad.
The receiving end can calculate the RTT duration according to a preset period, and determines the retransmission parameter threshold value based on the RTT duration. Because the correlation between the RTT duration and the network condition is high, the RTT duration is long when the network condition is not good, and the RTT duration is short when the network condition is good, the current network condition can be determined by the current RTT duration, and the retransmission parameter threshold is determined according to the current network condition. Therefore, the retransmission parameter threshold value can be adjusted according to the current network condition, and the real-time performance is good.
The retransmission parameter threshold may include a retransmission total consumption duration threshold and a retransmission number threshold.
Step S130, when the retransmission time length is reached after the retransmission request is sent, if the receiving end does not receive the data packet, the receiving end sends the retransmission request of the data packet to the sending end, updates the RTT time length, and shifts to execute the processing of determining the retransmission parameter threshold value based on the RTT time length.
Wherein the retransmission time duration is determined based on the RTT time duration. The retransmission time duration may be the RTT time duration plus a preset error time duration, such as 10 ms. The error duration is used for eliminating errors generated by factors such as thread starting time consumption and system time inconsistency.
After the receiving end sends the retransmission request to the sending end, timing can be performed, if the retransmission time length is exceeded and the receiving end does not receive the data packet returned by the sending end, the retransmission request may not successfully reach the sending end due to the network, or the data packet sent by the sending end cannot successfully reach the receiving end, and at this time, the retransmission request can be sent again.
Except for sending the retransmission request again, when the retransmission time length is reached after the retransmission request is sent and the receiving end does not receive the data packet, the current RTT time length can be obtained, and whether the current RTT time length is equal to the RTT time length obtained in the previous time or not is determined. If the network condition changes, the current RTT duration is not equal to the RTT duration obtained last time, and if the network condition is kept unchanged, the current RTT duration is equal to the RTT duration obtained last time. After the RTT duration is updated, if the RTT duration changes, the retransmission parameter threshold also changes correspondingly, so that steps S120 to S130 may be repeatedly executed to update the RTT duration, and the retransmission parameter threshold is determined again until a certain condition is met.
Step S140, when the value of the retransmission parameter reaches the corresponding retransmission parameter threshold, if the receiving end does not receive the data packet, the receiving end stops sending the retransmission request of the data packet.
In one possible implementation manner, the retransmission parameter may include a total retransmission consumption duration or a number of times of retransmission, or the retransmission parameter may include a total retransmission consumption duration and a number of times of retransmission. The retransmission parameter threshold corresponding to the retransmission total consumption time length is a retransmission total consumption time length threshold, and the retransmission parameter threshold corresponding to the retransmission times is a retransmission times threshold.
When the retransmission total consumption duration exceeds the retransmission total consumption duration threshold, if the receiving end does not receive the data packet, the repeated execution of steps S120 to S130 may be stopped. When the number of retransmissions reaches the threshold number of retransmissions, if the receiving end does not receive the data packet, the repeated execution of steps S120 to S130 may be stopped. At this time, it may be considered that the retransmission processing fails, and since the real-time data transmission has a high requirement on the real-time performance of the data transmission, if any lost data packet cannot successfully reach the receiving end within a short time, the receiving end does not continue to wait for the lost data packet, and directly processes other data packets.
In a possible implementation manner, the retransmission parameter threshold is a retransmission total consumed duration threshold, and the method for determining whether retransmission is overtime may include: obtaining the RTT time length, and determining the product of the retransmission time length and the first reference retransmission times; and determining the sum of the product and the preset reserved time length as a retransmission total consumption time length threshold value.
The first reference retransmission time may be a preset fixed reference retransmission time, for example, 10 times, or may be a reference retransmission time determined based on a corresponding relationship between a preset RTT duration range and the reference retransmission time.
Under the current network condition, it is expected that if the receiving end cannot receive the data packet all the time, a retransmission request of a first reference retransmission time needs to be sent to the sending end, after the retransmission request is sent each time, retransmission time duration needs to be waited, and further, the total time duration that the receiving end needs to wait is the product of the retransmission time duration and the first reference retransmission time. Because the situation of data packet disorder may exist, 10ms may be reserved as the time length for waiting the data packet in disorder, and in addition, in consideration of other situations, different time lengths may be reserved, and all the reserved time lengths are added to be used as the preset reserved time length. Then, the sum of the total duration of the product that the receiving end needs to wait and the preset reserved duration can be determined, and is used as the threshold of the total retransmission consumed duration. If the lost data packet is an expected data packet and the receiving end does not receive the data packet when the retransmission request of the lost data packet is sent for the first time and the time exceeds the total retransmission consumption time threshold, the retransmission timeout can be judged, and the retransmission processing fails.
Since the network condition generally changes, the retransmission total consumption time threshold determined through steps S120 to S130 also changes, but no matter how the retransmission total consumption time threshold changes, as long as it is determined whether the retransmission is overtime, and it is determined that the receiving end has not received the data packet when the retransmission request of the lost data packet is sent for the first time exceeds the current retransmission total consumption time threshold after the receiving end determines that the data packet is not received, the retransmission is overtime, and the retransmission processing is failed. Because the total retransmission consumption time threshold can be changed according to the network condition, the judgment condition for judging whether the retransmission is overtime can be adjusted in real time according to the network condition, and the condition that the network is not in good condition and waits for lost data packets for a long time is avoided.
The receiving end may check whether a retransmission is timed out each time a packet is stored in the buffer. In order to save processing overhead, a timer is not set for the retransmission request to count down, and whether retransmission is overtime or not can be judged in an auxiliary way by the stay time of the data packet with the minimum sequence number in the cache, because the stay time of the data packet with the minimum sequence number in the cache is approximately equal to the total retransmission consumption time.
In a possible implementation manner, if the network condition is poor, the receiving end may not request the transmitting end to retransmit any lost data packet, because even if the transmitting end retransmits the lost data packet, the success rate is low, the time consumption is long, and the real-time performance of data transmission is very poor. Therefore, whether the RTT duration is greater than a preset duration threshold, for example, 500ms, can be determined, and if the RTT duration is greater than 500ms, the retransmission total consumption duration threshold is directly set to the preset duration, for example, 10 ms. And if the RTT duration is less than or equal to 500ms, determining the product of the RTT duration and the first reference retransmission times, and determining the sum of the product and the preset reserved duration as the threshold of the total retransmission consumed duration. If the receiving end does not receive the data packet when the retransmission request of the lost data packet is sent for the first time and the time length threshold of the total retransmission consumption is exceeded, the minimum sequence number of the data packet in the cache can be determined as the sequence number of the expected data packet.
A method for determining the first reference retransmission time based on the corresponding relationship between the preset RTT duration range and the reference retransmission times is described below. In a possible implementation manner, after obtaining the RTT duration, the method provided in the embodiment of the present disclosure may further include: and determining a first reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on the corresponding relation between the preset RTT time range and the reference retransmission time.
Wherein, the larger the RTT duration range value in the corresponding relation, the less the corresponding retransmission times.
The preset correspondence between the RTT duration range and the reference retransmission times may be a reference retransmission times mapping table, as shown in table 1:
TABLE 1
Figure BDA0001909102240000131
The first reference retransmission times corresponding to the RTT duration range to which the obtained RTT duration belongs may be determined by referring to table 1. For example, if the current RTT duration is 80ms, the first reference retransmission time is 4 times, and if the receiving end sends 4 retransmission requests to the transmitting end, the total duration to be waited is 320 ms.
In designing table 1, it is mainly considered that, first, the larger the value of the RTT time length range, the smaller the corresponding retransmission times, so that when the network condition is not good, the retransmission requests are sent to the sending end for a few times, that is, the lost data packets are not prone to be obtained by a retransmission manner. Secondly, the larger the RTT duration range value is, the larger the corresponding retransmission total consumption duration threshold value is. At the very least, the sum of the retransmission total consumption time thresholds corresponding to any two RTT time ranges is less than or equal to the update period of the RTT, such as 1 s.
In addition to stopping the retransmission request for transmitting the data packet when the retransmission times out, the retransmission request for transmitting the data packet is also stopped when the number of times of retransmission has reached the retransmission number threshold. In a possible implementation manner, the retransmission parameter threshold is a retransmission number threshold, and the manner of determining whether the number of times of retransmission reaches the retransmission number threshold may include: acquiring RTT duration, and determining second reference retransmission times corresponding to the RTT duration range to which the acquired RTT duration belongs based on the corresponding relation between the preset RTT duration range and the reference retransmission times; and determining a retransmission time threshold value based on the second reference retransmission time and a comparison result of a third reference retransmission time determined when the retransmission request is sent last time.
Wherein, the larger the RTT duration range value in the corresponding relation, the less the corresponding retransmission times
Still, the second reference retransmission times corresponding to the RTT duration range to which the obtained RTT duration belongs may be determined with reference to table 1, and the specific determination manner may be described in the foregoing related section. After determining the second reference retransmission number, the retransmission number threshold may be determined based on a comparison result of the second reference retransmission number and a third reference retransmission number determined when the retransmission request was previously transmitted. The correlation between the size of the reference retransmission number and the network condition is also high, so that the current network condition can be reflected by the size of the retransmission number. The larger the number of retransmissions, the better the network condition, and conversely, the smaller the number of retransmissions, the worse the network condition.
And if the second reference retransmission time is greater than or equal to the third reference retransmission time determined previously, determining the second reference retransmission time as the retransmission time threshold. The second reference retransmission number is a currently determined reference retransmission number, and if the second reference retransmission number is equal to a third reference retransmission number determined at a previous time, which indicates that the current network condition remains unchanged, the second reference retransmission number may be determined as a retransmission number threshold. If the second reference retransmission number is greater than the third reference retransmission number determined at the previous time, which indicates that the current network condition becomes good, the second reference retransmission number may be determined as the retransmission number threshold. Because the retransmission time threshold is changed from the third reference retransmission time to the second reference retransmission time, the time length for which the receiving end can wait for the data packet can be updated as follows: retransmission consumed duration + (current RTT duration + error duration) × (second reference retransmission times-current retransmission times).
And if the second reference retransmission times is less than the third reference retransmission times and the retransmitted times are greater than or equal to the second reference retransmission times, determining the retransmitted times as a retransmission times threshold value. The second reference retransmission time is less than the third reference retransmission time, which indicates that the current network condition is poor, and the current retransmission time is greater than or equal to the second reference retransmission time, which indicates that a plurality of retransmission requests have been retransmitted currently, the retransmission time is enough, the retransmission time threshold can be set as the retransmission time, and the time length for which the receiving end can wait for the data packet is set as the retransmission consumed time length. Since the current retransmission times certainly reach the retransmission times threshold, the receiving end can automatically stop sending the retransmission request of the data packet to the transmitting end.
And if the second reference retransmission times is less than the third reference retransmission times and the retransmitted times are less than the second reference retransmission times, determining the second reference retransmission times as a retransmission times threshold value. The second reference retransmission number is smaller than the third reference retransmission number, which indicates that the current network condition is poor, and the current retransmission number is smaller than the second reference retransmission number, which indicates that the current retransmission number is insufficient, and the receiving end may retransmit the retransmission request for several times, and may set the retransmission number threshold as the second reference retransmission number. Because the retransmission time threshold is changed from the third reference retransmission time to the second reference retransmission time, the time length for which the receiving end can wait for the data packet can be updated as follows: retransmission consumed duration + (current RTT duration + error duration) × (second reference retransmission times-current retransmission times).
In one possible implementation, if the data packet is an important data packet, such as an encoding information data packet, an I-frame data packet, a frame start data packet, etc., the reference retransmission number in table 1 may be increased or kept unchanged, so that if the important data packet is lost, the retransmission request of the important data packet may be transmitted several times more to ensure the reliability of data transmission. If the type of the data packet is in a preset type set, determining a second reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on a first corresponding relation between a preset RTT time range and the reference retransmission times; and if the type of the data packet is not in the preset type set, determining a second reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on a second corresponding relation between the preset RTT time range and the reference retransmission times.
The preset type set may include an encoding information packet type, an I-frame data packet type, a frame start data packet type, and the like. The corresponding reference retransmission times of the same RTT time range in the first corresponding relation are larger than or equal to the corresponding reference retransmission times in the second corresponding relation.
If the lost data packet is not an important data packet, the reference retransmission times corresponding to the RTT duration range to which the current RTT duration belongs may be queried with reference to table 1, and if the lost data packet is an important data packet, the reference retransmission times corresponding to the RTT duration range to which the current RTT duration belongs may be queried with reference to table 2.
TABLE 2
Figure BDA0001909102240000151
By the method provided by the embodiment of the disclosure, the retransmission parameter threshold is adjusted in real time according to the correlation between the RTT duration and the network condition. Because the correlation between the RTT duration and the network condition is very high, the RTT duration is longer under the condition of poor network condition, and the RTT duration is shorter under the condition of better network condition, the RTT duration reflects the network condition, so that the retransmission parameter threshold can be adjusted in real time according to the network condition, and when the retransmission parameter reaches the retransmission parameter threshold, the retransmission request is stopped to be sent to the starting end in time. Therefore, the total retransmission time can be adjusted in real time according to the network condition, and under the condition of poor network condition, the method provided by the embodiment is adopted to easily shorten the total retransmission time, avoid using longer time to wait for losing the data packet, and has better flexibility of data transmission.
An exemplary embodiment of the present disclosure provides a method for retransmitting data, and as shown in fig. 2, a processing flow of the method may include the following steps:
step S210, when the sending end detects that the sending of the data packet is finished and the data packet is stored in the cache, obtaining the RTT duration, and determining the first data storage reference duration based on the RTT duration.
When the sending end detects that the sending of the data packet is finished, the data packet can be stored in the cache for the data packet to be lost in the transmission process and to be retransmitted. However, since the storage space of the cache is limited, all the transmitted packets cannot be stored in the cache without time limitation, the transmitted packets need to be cleared according to a certain condition, but the packets that need to be retransmitted as much as possible need to be retained, so that the hit rate of the retransmission request is increased. The storage duration of the data packet may be specifically adjusted according to the network condition and the mechanism of the receiving end sending the retransmission request.
The RTT duration may be obtained, and a product of the RTT duration and the target reference retransmission time is determined to be used as the first data storage reference duration. The target reference retransmission time may be a preset fixed reference retransmission time, such as 10 times, or may be a reference retransmission time determined based on a corresponding relationship between a preset RTT duration range and the reference retransmission time. In a possible implementation manner, after obtaining the RTT duration, the sending end may determine, based on a corresponding relationship between a preset RTT duration range and a reference retransmission time, a target reference retransmission time corresponding to the RTT duration range to which the obtained RTT duration belongs.
Wherein, the larger the RTT duration range value in the corresponding relation, the less the corresponding retransmission times.
The preset correspondence between the RTT duration range and the reference retransmission times may be a reference retransmission times mapping table, as shown in table 3:
TABLE 3
Figure BDA0001909102240000171
The target reference retransmission times corresponding to the RTT duration range to which the acquired RTT duration belongs may be determined by referring to the table 3. For example, if the current RTT duration is 80ms, the target reference retransmission time is 4 times, and the first data storage reference duration is 320 ms.
In designing table 3, it is mainly considered that, first, the larger the value of the RTT time length range, the smaller the corresponding retransmission times, so that when the network condition is not good, the retransmission requests are sent to the sending end for a few times, that is, the lost data packets are not prone to be obtained by a retransmission manner. Secondly, the larger the RTT duration range value is, the larger the corresponding retransmission total consumption duration threshold value is. At the very least, the sum of the retransmission total consumption time thresholds corresponding to any two RTT time ranges is less than or equal to the update period of the RTT, such as 1 s.
In step S220, the sending end determines a data storage duration threshold based on the first data storage reference duration and a second data storage reference duration determined when the previous data packet is stored in the cache.
The sending end can obtain the current RTT duration, determine a first data storage reference duration based on the current RTT duration, and determine a data storage duration threshold based on the first data storage reference duration and a second data storage reference duration determined when a previous data packet is stored in a cache.
In a possible implementation manner, step S220 may include determining the data storage duration threshold based on the first data storage reference duration, the second data storage reference duration determined when the previous data packet was stored in the buffer, and the pre-obtained reserved duration.
The reserved time length may be set according to the situation, and may include the out-of-order packet waiting time length, such as 10ms, and may also include the frame interval time length. The frame interval duration may be determined according to a code rate corresponding to a video frame to which the current data packet belongs. For example, if the code rate corresponding to the video frame to which the current data packet belongs is 25 frames per second, 25 video frames need to be transmitted within one second, and the frame interval duration between each video frame is 40 ms. For the data packet belonging to the video frame with low frame rate, if the frame interval duration is considered to be within the data storage duration threshold, the hit rate of the retransmission request can be improved.
In a possible implementation manner, the step of determining the data storage duration threshold based on the first data storage reference duration, the second data storage reference duration determined when the previous data packet is stored in the cache, and the pre-obtained reserved duration may include: calculating the time difference between the time point of the current data packet stored in the cache and the time point of the previous data packet stored in the cache; if the first data storage reference time length is less than or equal to the second data storage reference time length and the time difference value is less than the second data storage reference time length, determining the sum of the second data storage reference time length and the pre-acquired reserved time length as a data storage time length threshold; if the first data storage reference time length is smaller than or equal to the second data storage reference time length and the time difference is larger than or equal to the second data storage reference time length, determining a time length difference between the first data storage reference time length and the second data storage reference time length, determining a product between the time length difference and a preset proportional coefficient, determining a sum value between the product and the first data storage reference time length, and determining the sum of the sum value and the reserved time length as a data storage time length threshold; and if the first data storage reference time length is greater than the second data storage reference time length, determining the sum of the first data storage reference time length and the reserved time length as a data storage time length threshold.
The first data storage reference time length is the data storage reference time length determined when the data packet of the period is stored in the cache, and the second data storage reference time length is the data storage time length threshold determined when the data packet of the previous period is stored in the cache. If the first data storage reference time length is less than or equal to the second data storage reference time length, and the time difference value is less than the second data storage reference time length, that is, the data storage reference time length is unchanged or shortened, and the data storage time length determined when the previous data packet is stored in the cache is not consumed, the data storage time length threshold determined when the previous data packet is stored in the cache can still be used, and the data storage time length threshold can be kept as the sum of the second data storage reference time length and the pre-acquired reserved time length. By the mode, when the data storage reference time length is shortened, the shortened data storage reference time length can be temporarily not selected as a data storage time length threshold, so that a data packet in a cache can be reserved as much as possible, and the hit rate of a retransmission request can be improved.
If the first data storage reference time length is less than or equal to the second data storage reference time length, and the time difference is greater than or equal to the second data storage reference time length, namely the data storage reference time length is unchanged or shortened, and the determined data storage time length is completely consumed when the previous data packet is stored in the cache, the data storage time length determined when the previous data packet is stored in the cache needs to be slowly reduced to the first data storage reference time length, the time length difference between the first data storage reference time length and the second data storage reference time length can be determined, the product between the time length difference and a preset proportionality coefficient is determined, the sum between the product and the first data storage reference time length is determined, and the sum and the reserved time length are determined as a data storage time length threshold.
If the first data storage reference duration is longer than the second data storage reference duration, that is, the data storage reference duration is longer, the data storage duration threshold may be directly set with reference to the maximum data storage reference duration, and the sum of the first data storage reference duration and the reserved duration may be determined as the data storage duration threshold.
In step S230, the sending end deletes the data packet whose stored duration exceeds the data storage duration threshold in the cache.
The sending end can determine the current system time, subtract the data storage duration threshold value from the current system time to obtain the data expiration time point, and delete all data packets of which the storage time point in the cache is prior to the data expiration time point.
Step S240, the sending end updates the RTT duration, and proceeds to execute processing for obtaining the RTT duration when it is detected that the data packet is sent and stored in the cache.
The RTT duration is updated according to a period, so that the RTT duration is not a fixed value, and the RTT duration can be updated each time a data packet is stored in the buffer. The current RTT duration may be obtained, and it is determined whether the current RTT duration is equal to the RTT duration obtained last time. If the network condition changes, the current RTT duration is not equal to the RTT duration obtained last time, and if the network condition is kept unchanged, the current RTT duration is equal to the RTT duration obtained last time. After the RTT duration is updated, if the RTT duration changes, the first data storage reference duration also changes correspondingly, so that steps S210 to S240 need to be repeatedly performed.
By the method provided by the embodiment of the disclosure, the storage duration of the data packet is adjusted according to the network condition and the mechanism of the receiving end sending the retransmission request. Therefore, the storage space of the cache can be saved properly, and the hit rate of the retransmission request can be improved.
Yet another exemplary embodiment of the present disclosure provides an apparatus for retransmitting data, as shown in fig. 3, the apparatus including:
a sending module 310, configured to send a retransmission request of a lost data packet to a sending end when a packet loss event is detected to occur;
a determining module 320, configured to obtain an RTT duration, and determine a retransmission parameter threshold based on the RTT duration;
an updating module 330, configured to send a retransmission request for the data packet to the sending end if the data packet is not received after the retransmission request is sent, update the RTT duration, and shift to performing processing for determining a retransmission parameter threshold based on the RTT duration;
a stopping module 340, configured to stop sending the retransmission request of the data packet if the data packet is not received when the value of the retransmission parameter reaches the corresponding retransmission parameter threshold.
Optionally, the retransmission parameter includes a total retransmission consumption duration and/or a number of times of retransmission, the retransmission parameter threshold corresponding to the total retransmission consumption duration is a total retransmission consumption duration threshold, and the retransmission parameter threshold corresponding to the number of times of retransmission is a number of times of retransmission threshold.
Optionally, the retransmission parameter threshold is a retransmission total consumed duration threshold, and the determining module 320 is configured to:
obtaining an RTT time length, determining a retransmission time length corresponding to the RTT time length, and determining the product of the retransmission time length corresponding to the RTT time length and a first reference retransmission time;
and determining the sum of the product and a preset reserved time length as a retransmission total consumption time length threshold value.
Optionally, the determining module 320 is further configured to:
and determining a first reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on the corresponding relation between the preset RTT time range and the reference retransmission time, wherein the larger the RTT time range value in the corresponding relation, the less the corresponding retransmission time.
Optionally, the retransmission parameter threshold is a retransmission time threshold, and the determining module 320 is configured to:
acquiring RTT duration, and determining second reference retransmission times corresponding to the RTT duration range to which the acquired RTT duration belongs based on the corresponding relation between a preset RTT duration range and the reference retransmission times, wherein the larger the RTT duration range value in the corresponding relation, the less the corresponding retransmission times are;
and determining a retransmission time threshold value based on the second reference retransmission time and a comparison result of a third reference retransmission time determined when the retransmission request is sent last time.
Optionally, the determining module 320 is configured to:
if the second reference retransmission time is greater than or equal to a third reference retransmission time determined at the previous time, determining the second reference retransmission time as a retransmission time threshold;
if the second reference retransmission time is less than the third reference retransmission time and the retransmitted time is greater than or equal to the second reference retransmission time, determining the retransmitted time as a retransmission time threshold;
and if the second reference retransmission time is less than the third reference retransmission time and the retransmitted time is less than the second reference retransmission time, determining the second reference retransmission time as a retransmission time threshold.
Optionally, the determining module 320 is configured to:
obtaining RTT duration;
if the type of the data packet is in a preset type set, determining a second reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on a first corresponding relation between a preset RTT time range and the reference retransmission times;
and if the type of the data packet is not in the preset type set, determining a second reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on a second corresponding relation between a preset RTT time range and the reference retransmission times, wherein the reference retransmission times corresponding to the same RTT time range in the first corresponding relation are greater than or equal to the reference retransmission times corresponding to the same RTT time range in the second corresponding relation.
Yet another exemplary embodiment of the present disclosure provides an apparatus for retransmitting data, as shown in fig. 4, the apparatus including:
a determining module 410, configured to obtain an RTT duration when it is detected that the data packet is sent and stored in the cache, and determine a first data storage reference duration based on the RTT duration; determining a data storage duration threshold based on the first data storage reference duration and a second data storage reference duration determined when the previous data packet is stored in the cache;
a deleting module 420, configured to delete the data packet whose stored duration in the cache exceeds the data storage duration threshold;
the updating module 430 is configured to update the RTT duration, and shift to execute processing for acquiring the RTT duration when it is detected that the data packet is sent and stored in the cache.
Optionally, the determining module 410 is configured to:
and determining a data storage duration threshold value based on the first data storage reference duration, a second data storage reference duration determined when the previous data packet is stored in the cache and a pre-acquired reserved duration.
Optionally, the determining module 410 is configured to:
calculating the time difference between the time point of the current data packet stored in the cache and the time point of the previous data packet stored in the cache;
if the first data storage reference time length is less than or equal to the second data storage reference time length, and the time difference value is less than the second data storage reference time length, determining the sum of the second data storage reference time length and a pre-acquired reserved time length as a data storage time length threshold;
if the first data storage reference time length is smaller than or equal to the second data storage reference time length, and the time difference value is larger than or equal to the second data storage reference time length, determining a time length difference value between the first data storage reference time length and the second data storage reference time length, determining a product between the time length difference value and a preset proportional coefficient, determining a sum value between the product and the first data storage reference time length, and determining the sum value and the reserved time length as a data storage time length threshold value;
and if the first data storage reference time length is greater than the second data storage reference time length, determining the sum of the first data storage reference time length and the reserved time length as a data storage time length threshold.
Optionally, the determining module 410 is further configured to:
and determining the reserved duration based on the frame rate of the video frame to which the data packet belongs.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
By the device provided by the embodiment of the disclosure, the retransmission parameter threshold is adjusted in real time according to the correlation between the RTT duration and the network condition. Because the correlation between the RTT duration and the network condition is very high, the RTT duration is longer under the condition of poor network condition, and the RTT duration is shorter under the condition of better network condition, the RTT duration reflects the network condition, so that the retransmission parameter threshold can be adjusted in real time according to the network condition, and when the retransmission parameter reaches the retransmission parameter threshold, the retransmission request is stopped to be sent to the starting end in time. Therefore, the total retransmission time can be adjusted in real time according to the network condition, the total retransmission time can be shortened more easily by adopting the device provided by the embodiment under the condition of poor network condition, the situation that longer time is used for waiting for losing the data packet is avoided, and the flexibility of data transmission is better.
It should be noted that: in the apparatus for retransmitting data according to the above embodiment, only the division of the functional modules is illustrated when retransmitting data, and in practical applications, the function allocation may be completed by different functional modules according to needs, that is, the internal structures of the transmitting end and the receiving end are divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus for retransmitting data and the method embodiment for retransmitting data provided by the above embodiments belong to the same concept, and specific implementation processes thereof are detailed in the method embodiment and are not described herein again.
Yet another exemplary embodiment of the present disclosure provides a system for retransmitting data, where the system includes a transmitting end and a receiving end, where:
the receiving end is used for sending a retransmission request of a lost data packet to the sending end when a packet loss event is detected; obtaining RTT duration, and determining a retransmission parameter threshold based on the RTT duration; when the retransmission time length is reached after the retransmission request is sent, if the data packet is not received, sending the retransmission request of the data packet to the sending end, updating the RTT time length, and switching to executing the processing of determining the retransmission parameter threshold value based on the RTT time length; when the numerical value of the retransmission parameter reaches the corresponding retransmission parameter threshold value, if the data packet is not received, the retransmission request of the data packet is stopped to be sent;
the sending end is used for obtaining the RTT duration when the sending of the data packet is detected to be finished and the data packet is stored in the cache, and determining the first data storage reference duration based on the RTT duration; determining a data storage duration threshold based on the first data storage reference duration and a second data storage reference duration determined when the previous data packet is stored in the cache; deleting the data packets with the stored time length exceeding the data storage time length threshold value in the cache; and updating the RTT duration, and executing the processing of obtaining the RTT duration when the data packet is detected to be sent and stored in the cache.
With regard to the system in the above embodiment, the specific manner in which the sending end and the receiving end perform operations has been described in detail in the embodiment related to the method, and will not be elaborated here.
Fig. 5 shows a schematic structural diagram of a computer device 1900 provided in an exemplary embodiment of the present disclosure. The computer device 1900 may be a transmitting end or a receiving end in the above embodiments, may generate a relatively large difference due to different configurations or performances, and may include one or more processors (CPUs) 1910 and one or more memories 1920. The memory 1920 stores at least one instruction, which is loaded and executed by the processor 1910 to implement the method for retransmitting data according to the above embodiments.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (15)

1. A method of retransmitting data, the method comprising:
when a packet loss event is detected, sending a retransmission request of a lost data packet to a sending end;
acquiring an RTT (round trip time) duration, determining a retransmission duration corresponding to the RTT duration, determining a product of the retransmission duration corresponding to the RTT duration and a first reference retransmission time, and determining a sum of the product and a preset reserved duration as a retransmission total consumption duration threshold, wherein the RTT duration is negatively related to a network condition;
acquiring RTT duration, determining a second reference retransmission time corresponding to the RTT duration range to which the acquired RTT duration belongs based on a corresponding relation between a preset RTT duration range and a reference retransmission time, and determining a retransmission time threshold based on a comparison result of the second reference retransmission time and a third reference retransmission time determined when a retransmission request is sent last time, wherein the larger the RTT duration range value in the corresponding relation, the smaller the corresponding retransmission time;
when the retransmission time length is reached after the retransmission request is sent, if the data packet is not received, sending the retransmission request of the data packet to the sending end, updating the RTT time length, and switching to executing the processing of determining the threshold value of the total retransmission consumed time length and the threshold value of the retransmission times based on the RTT time length;
when the numerical value of the retransmission parameter reaches the corresponding retransmission parameter threshold, if the data packet is not received, the retransmission request of the data packet is stopped being sent, the retransmission parameter comprises the total retransmission consumption time length and the retransmission times, the retransmission parameter threshold corresponding to the total retransmission consumption time length is the total retransmission consumption time length threshold, and the retransmission parameter threshold corresponding to the retransmission times is the retransmission times threshold.
2. The method of claim 1, further comprising:
and determining a first reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on the corresponding relation between the preset RTT time range and the reference retransmission time, wherein the larger the RTT time range value in the corresponding relation, the less the corresponding retransmission time.
3. The method of claim 1, wherein determining the threshold number of retransmissions based on the comparison of the second number of reference retransmissions and a third number of reference retransmissions determined when a retransmission request was previously sent comprises:
if the second reference retransmission time is greater than or equal to a third reference retransmission time determined at the previous time, determining the second reference retransmission time as a retransmission time threshold;
if the second reference retransmission time is less than the third reference retransmission time and the retransmitted time is greater than or equal to the second reference retransmission time, determining the retransmitted time as a retransmission time threshold;
and if the second reference retransmission time is less than the third reference retransmission time and the retransmitted time is less than the second reference retransmission time, determining the second reference retransmission time as a retransmission time threshold.
4. The method according to claim 1, wherein the obtaining the RTT duration and determining, based on a correspondence between a preset RTT duration range and a reference retransmission time, a second reference retransmission time corresponding to the RTT duration range to which the obtained RTT duration belongs includes:
obtaining RTT duration;
if the type of the data packet is in a preset type set, determining a second reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on a first corresponding relation between a preset RTT time range and the reference retransmission times;
and if the type of the data packet is not in the preset type set, determining a second reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on a second corresponding relation between a preset RTT time range and the reference retransmission times, wherein the reference retransmission times corresponding to the same RTT time range in the first corresponding relation are greater than or equal to the reference retransmission times corresponding to the same RTT time range in the second corresponding relation.
5. A method of retransmitting data, the method comprising:
when the data packet is detected to be sent and stored in a cache, acquiring an RTT (round trip time) duration, and determining a first data storage reference duration based on the RTT duration, wherein the RTT duration is negatively related to the network condition;
determining a data storage duration threshold based on the first data storage reference duration, a second data storage reference duration determined when a previous data packet is stored in the cache, and a pre-acquired reserved duration, wherein the reserved duration comprises a frame interval duration, and the frame interval duration is determined based on a frame rate of a video frame to which the data packet belongs;
deleting the data packets with the stored time length exceeding the data storage time length threshold value in the cache;
updating the RTT duration, and transferring to executing the processing of obtaining the RTT duration when the data packet is detected to be sent and stored in the cache;
the determining a data storage duration threshold based on the first data storage reference duration, a second data storage reference duration determined when the previous data packet was stored in the cache, and a pre-acquired reserved duration includes:
calculating the time difference between the time point of the current data packet stored in the cache and the time point of the previous data packet stored in the cache;
if the first data storage reference time length is less than or equal to the second data storage reference time length, and the time difference value is less than the second data storage reference time length, determining the sum of the second data storage reference time length and a pre-acquired reserved time length as a data storage time length threshold;
if the first data storage reference time length is smaller than or equal to the second data storage reference time length, and the time difference value is larger than or equal to the second data storage reference time length, determining a time length difference value between the first data storage reference time length and the second data storage reference time length, determining a product between the time length difference value and a preset proportional coefficient, determining a sum value between the product and the first data storage reference time length, and determining the sum value and the reserved time length as a data storage time length threshold value;
and if the first data storage reference time length is greater than the second data storage reference time length, determining the sum of the first data storage reference time length and the reserved time length as a data storage time length threshold.
6. An apparatus for retransmitting data, the apparatus comprising:
the sending module is used for sending a retransmission request of a lost data packet to the sending end when a packet loss event is detected;
the determining module is used for obtaining RTT duration and determining a retransmission parameter threshold based on the RTT duration, wherein the RTT duration is negatively related to the network condition;
an updating module, configured to send a retransmission request for the data packet to the sending end if the data packet is not received after the retransmission request is sent, update the RTT duration, and shift to performing processing for determining a retransmission parameter threshold based on the RTT duration;
a stopping module, configured to, when a numerical value of a retransmission parameter reaches a corresponding retransmission parameter threshold, if the data packet is not received, stop sending a retransmission request of the data packet, where the retransmission parameter includes a total retransmission consumption time length and a retransmission number, a retransmission parameter threshold corresponding to the total retransmission consumption time length is a total retransmission consumption time length threshold, and a retransmission parameter threshold corresponding to the retransmission number is a retransmission number threshold;
the determining module is used for acquiring the RTT duration, determining the retransmission duration corresponding to the RTT duration, determining the product of the retransmission duration corresponding to the RTT duration and the first reference retransmission times, and determining the sum of the product and the preset reserved duration as the retransmission total consumption duration threshold; the method comprises the steps of obtaining RTT duration, determining second reference retransmission times corresponding to the RTT duration range to which the obtained RTT duration belongs based on the corresponding relation between a preset RTT duration range and the reference retransmission times, determining a retransmission times threshold based on the second reference retransmission times and a comparison result of third reference retransmission times determined when a retransmission request is sent last time, wherein the larger the RTT duration range value in the corresponding relation, the smaller the corresponding retransmission times.
7. The apparatus of claim 6, wherein the determining module is further configured to:
and determining a first reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on the corresponding relation between the preset RTT time range and the reference retransmission time, wherein the larger the RTT time range value in the corresponding relation, the less the corresponding retransmission time.
8. The apparatus of claim 6, wherein the determining module is configured to:
if the second reference retransmission time is greater than or equal to a third reference retransmission time determined at the previous time, determining the second reference retransmission time as a retransmission time threshold;
if the second reference retransmission time is less than the third reference retransmission time and the retransmitted time is greater than or equal to the second reference retransmission time, determining the retransmitted time as a retransmission time threshold;
and if the second reference retransmission time is less than the third reference retransmission time and the retransmitted time is less than the second reference retransmission time, determining the second reference retransmission time as a retransmission time threshold.
9. The apparatus of claim 6, wherein the determining module is configured to:
obtaining RTT duration;
if the type of the data packet is in a preset type set, determining a second reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on a first corresponding relation between a preset RTT time range and the reference retransmission times;
and if the type of the data packet is not in the preset type set, determining a second reference retransmission time corresponding to the RTT time range to which the obtained RTT time belongs based on a second corresponding relation between a preset RTT time range and the reference retransmission times, wherein the reference retransmission times corresponding to the same RTT time range in the first corresponding relation are greater than or equal to the reference retransmission times corresponding to the same RTT time range in the second corresponding relation.
10. An apparatus for retransmitting data, the apparatus comprising:
the determining module is used for acquiring the RTT duration when the data packet is detected to be sent and stored in the cache, and determining the first data storage reference duration based on the RTT duration; determining a data storage duration threshold based on the first data storage reference duration, a second data storage reference duration determined when a previous data packet is stored in the cache, and a pre-acquired reserved duration, wherein the reserved duration comprises a frame interval duration, and the frame interval duration is determined based on a frame rate of a video frame to which the data packet belongs;
the deleting module is used for deleting the data packet of which the stored time length exceeds the data storage time length threshold value in the cache;
the updating module is used for updating the RTT duration and executing the processing of obtaining the RTT duration when the data packet is detected to be sent and stored in the cache;
the determining module is configured to:
calculating the time difference between the time point of the current data packet stored in the cache and the time point of the previous data packet stored in the cache;
if the first data storage reference time length is less than or equal to the second data storage reference time length, and the time difference value is less than the second data storage reference time length, determining the sum of the second data storage reference time length and a pre-acquired reserved time length as a data storage time length threshold;
if the first data storage reference time length is smaller than or equal to the second data storage reference time length, and the time difference value is larger than or equal to the second data storage reference time length, determining a time length difference value between the first data storage reference time length and the second data storage reference time length, determining a product between the time length difference value and a preset proportional coefficient, determining a sum value between the product and the first data storage reference time length, and determining the sum value and the reserved time length as a data storage time length threshold value;
and if the first data storage reference time length is greater than the second data storage reference time length, determining the sum of the first data storage reference time length and the reserved time length as a data storage time length threshold.
11. A system for retransmitting data, the system comprising a transmitting end and a receiving end, wherein:
the receiving end is used for sending a retransmission request of a lost data packet to the sending end when a packet loss event is detected; acquiring an RTT (round trip time) duration, determining a retransmission duration corresponding to the RTT duration, determining a product of the retransmission duration corresponding to the RTT duration and a first reference retransmission time, and determining a sum of the product and a preset reserved duration as a retransmission total consumption duration threshold, wherein the RTT duration is negatively related to a network condition; acquiring RTT duration, determining a second reference retransmission time corresponding to the RTT duration range to which the acquired RTT duration belongs based on a corresponding relation between a preset RTT duration range and a reference retransmission time, and determining a retransmission time threshold based on a comparison result of the second reference retransmission time and a third reference retransmission time determined when a retransmission request is sent last time, wherein the larger the RTT duration range value in the corresponding relation, the smaller the corresponding retransmission time; when the retransmission time length is reached after the retransmission request is sent, if the data packet is not received, sending the retransmission request of the data packet to the sending end, updating the RTT time length, and switching to executing the processing of determining the threshold value of the total retransmission consumed time length and the threshold value of the retransmission times based on the RTT time length; when the numerical value of the retransmission parameter reaches the corresponding retransmission parameter threshold, if the data packet is not received, stopping sending the retransmission request of the data packet, wherein the retransmission parameter comprises the total retransmission consumption time length and the retransmission times, the retransmission parameter threshold corresponding to the total retransmission consumption time length is the total retransmission consumption time length threshold, and the retransmission parameter threshold corresponding to the retransmission times is the retransmission times threshold;
the sending end is used for obtaining the RTT duration when the sending of the data packet is detected to be finished and the data packet is stored in the cache, and determining the first data storage reference duration based on the RTT duration; determining a data storage duration threshold based on the first data storage reference duration, a second data storage reference duration determined when a previous data packet is stored in the cache, and a pre-acquired reserved duration, wherein the reserved duration comprises a frame interval duration, and the frame interval duration is determined based on a frame rate of a video frame to which the data packet belongs; deleting the data packets with the stored time length exceeding the data storage time length threshold value in the cache; updating the RTT duration, and transferring to executing the processing of obtaining the RTT duration when the data packet is detected to be sent and stored in the cache;
the sending end is also used for calculating the time difference between the time point of the current data packet stored in the cache and the time point of the previous data packet stored in the cache; if the first data storage reference time length is less than or equal to the second data storage reference time length, and the time difference value is less than the second data storage reference time length, determining the sum of the second data storage reference time length and a pre-acquired reserved time length as a data storage time length threshold; if the first data storage reference time length is smaller than or equal to the second data storage reference time length, and the time difference value is larger than or equal to the second data storage reference time length, determining a time length difference value between the first data storage reference time length and the second data storage reference time length, determining a product between the time length difference value and a preset proportional coefficient, determining a sum value between the product and the first data storage reference time length, and determining the sum value and the reserved time length as a data storage time length threshold value; and if the first data storage reference time length is greater than the second data storage reference time length, determining the sum of the first data storage reference time length and the reserved time length as a data storage time length threshold.
12. A receiving end, comprising a processor, a communication interface, a memory, and a communication bus, wherein:
the processor, the communication interface and the memory complete mutual communication through the communication bus;
the memory is used for storing a computer program; the processor is configured to execute the program stored in the memory to implement the method steps of any of claims 1-4.
13. A computer-readable storage medium, characterized in that a computer program is stored in the computer-readable storage medium, which computer program, when being executed by a processor, carries out the method steps of any one of claims 1 to 4.
14. A sender, comprising a processor, a communication interface, a memory, and a communication bus, wherein:
the processor, the communication interface and the memory complete mutual communication through the communication bus;
the memory is used for storing a computer program;
the processor is configured to execute the program stored in the memory to implement the method steps of claim 5.
15. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the method steps of claim 5.
CN201811544881.8A 2018-12-17 2018-12-17 Method, device and system for retransmitting data Active CN111327402B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811544881.8A CN111327402B (en) 2018-12-17 2018-12-17 Method, device and system for retransmitting data
PCT/CN2019/126073 WO2020125647A1 (en) 2018-12-17 2019-12-17 Data retransmission method, device, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811544881.8A CN111327402B (en) 2018-12-17 2018-12-17 Method, device and system for retransmitting data

Publications (2)

Publication Number Publication Date
CN111327402A CN111327402A (en) 2020-06-23
CN111327402B true CN111327402B (en) 2021-12-31

Family

ID=71102554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811544881.8A Active CN111327402B (en) 2018-12-17 2018-12-17 Method, device and system for retransmitting data

Country Status (2)

Country Link
CN (1) CN111327402B (en)
WO (1) WO2020125647A1 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11233715B1 (en) * 2020-07-14 2022-01-25 Juniper Networks, Inc. Dynamic prediction and management of application service level agreements
CN114095796A (en) * 2020-07-30 2022-02-25 中国移动通信集团终端有限公司 Invalid retransmission packet reduction method, device, equipment and computer storage medium
CN112769526B (en) * 2020-12-11 2022-06-21 邦彦技术股份有限公司 Data packet retransmission method, system and storage medium
CN112887063B (en) * 2021-01-19 2023-04-07 网易(杭州)网络有限公司 Data packet transmission method and device, storage medium and electronic equipment
CN113014547B (en) * 2021-01-29 2022-11-01 深圳市风云实业有限公司 Sequencing mapping-based direct data transmission system and method
CN113422923B (en) * 2021-06-22 2022-11-01 苏州市科远软件技术开发有限公司 Method and device for determining retransmission times, electronic equipment and storage medium
CN113839830B (en) * 2021-07-15 2023-10-24 腾讯科技(深圳)有限公司 Method, device and storage medium for predicting multiple data packet parameters
CN113392667B (en) * 2021-08-17 2021-11-30 深圳市成为信息技术有限公司 Data transmission method of reader-writer, data receiver and storage medium
CN114531210B (en) * 2022-02-03 2024-01-26 百果园技术(新加坡)有限公司 Data retransmission method, device, electronic equipment and storage medium
CN115276916A (en) * 2022-07-22 2022-11-01 上海百家云科技有限公司 Discarded data determining method and device, electronic equipment and storage medium
CN118199821A (en) * 2022-12-13 2024-06-14 华为技术有限公司 Data transmission method, device, equipment and computer readable storage medium
CN116137560B (en) * 2023-04-14 2023-06-30 海马云(天津)信息技术有限公司 Method and device for processing retransmission request, data transmitting end equipment and storage medium
CN117318898B (en) * 2023-11-24 2024-02-09 合肥奎芯集成电路设计有限公司 Method for processing repeated data packet in high-speed serial interface

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146341A (en) * 2006-09-12 2008-03-19 华为技术有限公司 A method and device for avoiding duplicate transaction execution in media independent switching
CN101222311A (en) * 2008-01-29 2008-07-16 杭州华三通信技术有限公司 Real-time packet loss recovery method, system and receiving terminal unit
CN101321116A (en) * 2007-06-05 2008-12-10 华为技术有限公司 Terminal unit and method for scheduling data according to authorization
CN106130693A (en) * 2016-07-08 2016-11-16 浙江工业大学 A kind of method for reliable transmission based on UDP
CN107147481A (en) * 2017-07-19 2017-09-08 北京数码视讯科技股份有限公司 Packet loss repeating method, device and electronic equipment
CN108540273A (en) * 2017-03-01 2018-09-14 杭州海康威视数字技术股份有限公司 A kind of method and apparatus of data packet retransmission

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252425B (en) * 2008-04-09 2010-10-27 杭州华三通信技术有限公司 Loss package error correcting method and system of self-adapting network
US20160094462A1 (en) * 2014-09-26 2016-03-31 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for dynamically adjusting retransmission timing in a transport layer
CN105871519A (en) * 2015-01-23 2016-08-17 中兴通讯股份有限公司 Data packet retransmission method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146341A (en) * 2006-09-12 2008-03-19 华为技术有限公司 A method and device for avoiding duplicate transaction execution in media independent switching
CN101321116A (en) * 2007-06-05 2008-12-10 华为技术有限公司 Terminal unit and method for scheduling data according to authorization
CN101222311A (en) * 2008-01-29 2008-07-16 杭州华三通信技术有限公司 Real-time packet loss recovery method, system and receiving terminal unit
CN106130693A (en) * 2016-07-08 2016-11-16 浙江工业大学 A kind of method for reliable transmission based on UDP
CN108540273A (en) * 2017-03-01 2018-09-14 杭州海康威视数字技术股份有限公司 A kind of method and apparatus of data packet retransmission
CN107147481A (en) * 2017-07-19 2017-09-08 北京数码视讯科技股份有限公司 Packet loss repeating method, device and electronic equipment

Also Published As

Publication number Publication date
WO2020125647A1 (en) 2020-06-25
CN111327402A (en) 2020-06-23

Similar Documents

Publication Publication Date Title
CN111327402B (en) Method, device and system for retransmitting data
JP5521257B2 (en) Group resource allocation for wireless communication
CN110460412B (en) Method and RDMA network card for data transmission
CN103269260A (en) Data transmission method, data receiving terminal, data sending terminal and data transmission system
US9742583B2 (en) Method of data retransmission in collaborative service transmission and access network gateway thereof
CN108234087B (en) Data transmission method and sending end
WO2005060198A1 (en) Transmission station, reception station, communication method, communication program, and computer-readable recording medium containing the communication program
CN104038845A (en) Method and device for transmitting message
CN112261142B (en) RDMA network data retransmission method, device and FPGA
JP2002527935A (en) Data communication methods and systems
CN103684707A (en) Server-side and user-side message transmission processing method, message transmission method and message transmission system
US9344363B2 (en) Information processing system, relay device, information processing device, and information processing method
US20100235702A1 (en) Transmitter, file distribution system, file distribution control method and file distribution control program in system
CN113572582B (en) Data transmission and retransmission control method and system, storage medium and electronic device
CN115001632A (en) Information transmission method and device, electronic equipment and readable storage medium
CN113852445A (en) Method, system, equipment and storage medium for improving data transmission reliability
WO2024131009A1 (en) Inter-chip communication method and storage medium
CN115801691B (en) Method and device for processing data packet loss and storage medium
EP3749043A1 (en) Method and apparatus for detecting link packet loss, storage medium, and processor
CN107566291B (en) Multicast transmission method, device, electronic equipment and storage medium
CN111385069A (en) Data transmission method and computer equipment
US11424864B2 (en) Data packet retransmission method and apparatus
CN110162511A (en) A kind of log transmission method and relevant device
CN109039549B (en) Message retransmission method and device
JP3732671B2 (en) Transmission device, transmission method, and recording medium recording transmission software

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant