CN116112128B - 发送重传请求的方法及装置、数据接收端设备和存储介质 - Google Patents

发送重传请求的方法及装置、数据接收端设备和存储介质 Download PDF

Info

Publication number
CN116112128B
CN116112128B CN202310396185.1A CN202310396185A CN116112128B CN 116112128 B CN116112128 B CN 116112128B CN 202310396185 A CN202310396185 A CN 202310396185A CN 116112128 B CN116112128 B CN 116112128B
Authority
CN
China
Prior art keywords
data packet
round trip
retransmission request
retransmission
time
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
CN202310396185.1A
Other languages
English (en)
Other versions
CN116112128A (zh
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.)
Anhui Haima Cloud Technology Co ltd
Original Assignee
Haima Cloud Tianjin Information 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 Haima Cloud Tianjin Information Technology Co Ltd filed Critical Haima Cloud Tianjin Information Technology Co Ltd
Priority to CN202310396185.1A priority Critical patent/CN116112128B/zh
Publication of CN116112128A publication Critical patent/CN116112128A/zh
Application granted granted Critical
Publication of CN116112128B publication Critical patent/CN116112128B/zh
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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling and prioritising arrangements
    • 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
    • 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1858Transmission or retransmission of more than one copy of acknowledgement message
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本申请提供一种发送重传请求的方法及装置、数据接收端设备和存储介质,属于计算机技术领域。所述方法包括:获取往返时延集合内的往返时延的平均值,其中往返时延集合随数据包的传输更新;基于往返时延的平均值,配置发送重复重传请求时的最小发送间隔,以使最小发送间隔正相关于往返时延的平均值和重复次数,其中重复次数为已发送过的请求目标数据包的重传请求的次数,最小发送间隔为相邻两次发送请求目标数据包的重传请求之间的最小间隔时长;在最小发送间隔的限制下,发送对于缺失数据包的重传请求,所述缺失数据包为所述数据接收端设备检测到的已被发送但未被接收到的数据包。本申请能够帮助解决现有重传策略可能导致网络阻塞的问题。

Description

发送重传请求的方法及装置、数据接收端设备和存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种发送重传请求的方法及装置、数据接收端设备和存储介质。
背景技术
网络通信中,在发送端与接收端之间传输的数据包可能会因为与网络通信环境有关的各种原因而缺失。为了提升网络通信的可靠性,接收端在检测到数据包缺失时会向发送端发送重传请求,以请求发送端重新发送缺失的数据包。对于持续接收不到缺失数据包的情形,接收端会每隔一小段时间就重复发送一次重传请求,直至收到缺失数据包或重复请求的次数过多,使得缺失的数据包能够及时地根据重传请求来重新传输,保障了网络通信的即时性。
然而,如上所述的重传策略对于可用网络带宽的要求很高,在可用网络带宽不足的弱网环境下反而容易引起严重的网络阻塞,导致浏览页面假死、视频画面严重卡顿、游戏操作延迟等问题。
发明内容
本申请提供了一种发送重传请求的方法及装置、数据接收端设备和存储介质,可以帮助解决现有重传策略可能导致网络阻塞的问题。
本申请实施例的至少一个方面提供了一种发送重传请求的方法,所述方法应用于数据接收端设备,所述方法包括:获取往返时延集合内的往返时延的平均值;其中,所述往返时延为数据包被发送的时刻与该数据包的接收状态被确认的时刻之间相差的时长,所述往返时延集合随数据包的传输更新;基于所述往返时延的平均值,配置发送重复重传请求时的最小发送间隔,以使所述最小发送间隔正相关于所述往返时延的平均值和重复次数;其中,所述重复重传请求为在发送一次对于目标数据包的重传请求之后发送的对于所述目标数据包的重传请求,所述重复次数为已发送过的对于所述目标数据包的重传请求的次数,所述最小发送间隔为相邻两次发送对于所述目标数据包的重传请求之间的最小间隔时长;在所述最小发送间隔的限制下,发送对于缺失数据包的重传请求,所述缺失数据包为所述数据接收端设备检测到的已被发送但未被接收到的数据包。
本申请实施例的至少一个方面提供了一种发送重传请求的装置,该装置应用于数据接收端设备,所述装置包括:获取模块,用于获取往返时延集合内的往返时延的平均值;其中,所述往返时延为数据包被发送的时刻与该数据包的接收状态被确认的时刻之间相差的时长,所述往返时延集合随数据包的传输更新;配置模块,用于基于所述往返时延的平均值,配置发送重复重传请求时的最小发送间隔,以使所述最小发送间隔正相关于所述往返时延的平均值和重复次数;其中,所述重复重传请求为在发送一次对于目标数据包的重传请求之后发送的对于所述目标数据包的重传请求,所述重复次数为已发送过的对于所述目标数据包的重传请求的次数,所述最小发送间隔为相邻两次发送对于所述目标数据包的重传请求之间的最小间隔时长;发送模块,用于在所述最小发送间隔的限制下,发送对于缺失数据包的重传请求,所述缺失数据包为所述数据接收端设备检测到的已被发送但未被接收到的数据包。
本申请实施例的至少一个方面提供了一种数据接收端设备,所述数据接收端设备包括:处理器;用于存储所述处理器的可执行指令的存储器;其中,所述处理器用于执行所述可执行指令,以实现上述发送重传请求的方法。
本申请实施例的至少一个方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有处理器的可执行指令,所述可执行指令被配置为在被处理器执行时使所述处理器实现上述发送重传请求的方法。
本申请实施例中,相邻两次发送请求同一数据包的重传请求之间的最小间隔时长被加以限制——在网络状态良好时,数据包的发送和确认接收之间相差的时长很短,往返时延的平均值相对较小,对于接收不到的数据包接收端会较为频繁且间隔时长递增地重复发送重传请求,以保证网络通信的即时性;而在网络状态不佳时,往返时延的平均值相对较大,对于接收不到的数据包接收端会较为不频繁且间隔时长递增地重复发送重传请求,以避免大量重传请求挤占网络带宽,也为重传的数据包的传输留有充足的时间,帮助解决现有重传策略可能导致网络阻塞的问题,有助于提升网络通信中的数据传输效率和可靠性。
附图说明
图1是本申请实施例提供的一种发送重传请求的方法的应用场景示意图;
图2是本申请实施例提供的相关技术中重传策略的示例过程示意图;
图3是本申请实施例提供的一个对比示例中重传策略的示例过程示意图;
图4是本申请实施例提供的一种发送重传请求的方法的步骤流程示意图;
图5是本申请实施例提供的又一种发送重传请求的方法的步骤流程示意图;
图6是本申请实施例提供的一种发送重传请求的方法中更新往返时延集合的步骤流程示意图;
图7是本申请实施例提供的一种发送重传请求的装置的结构框图;
图8是本申请实施例提供的一种数据接收端设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种发送重传请求的方法的应用场景示意图。在如图1所示的通信系统中,接收端100(数据接收端设备)与发送端200(数据发送端设备)之间具有网络连接300,使得发送端200能够利用和依照规定的协议向接收端100传输数据。在一个示例中,作为发送端200的服务器向作为接收端100的用户终端实时发送屏幕画面数据,以提供包括云电脑、云手机、云应用、云游戏中至少一种的网络服务;在该示例中,用户终端可以同时向服务器发送包括键盘输入、触控屏输入、鼠标输入、按钮输入、麦克风输入、摄像头输入、传感器输入中的至少一种终端数据,以使用户能够通过用户终端与服务器上的操作系统之间进行交互。在该示例中,用户终端既是一种数据接收端设备,也是一种数据发送端设备;同样地,服务器既是一种数据发送端设备,也是一种数据接收端设备。
图2是本申请实施例提供的相关技术中重传策略的示例过程示意图。参见图1,以发送端200需要向接收端100传输三个数据包A1、A2、A3为例,在发送端200向接收端100发送了三个数据包A1、A2、A3,但三个数据包A1、A2、A3在通过网络连接300传输的过程中发生了数据包缺失(丢包),只有两个数据包A1、A3被接收端100成功地接收到(此时,接收端100可以向发送端200发送关于数据包A1和A3发送确认接收到的消息,以使发送端200确认这两个数据包的接收状态为“已被成功接收”)。由此,接收端100依照重传策略,在检测到数据包序号有缺失(比如发现数据包的头部的序号不连续)时,接收端100可以确定存在有已被发送但未被接收到的缺失数据包A2(与所缺失的数据包序号对应),从而向发送端200发送关于缺失数据包A2的重传请求NACK(A2),使得发送端200确认先前发送的数据包A2的接收状态为“未被成功接收”,并在接收到该重传请求NACK(A2)后重新通过网络连接300向接收端100传输缺失数据包A2,使得三个数据包A1、A2、A3都能够完整地自发送端200传输到接收端100。由于重新发送的缺失数据包A2有可能会再次缺失,上述重传策略还包括在持续接收不到缺失数据包时让接收端100每隔一小段时间(比如10ms、15ms或20ms)重复发送一次关于缺失数据包A2的重传请求,直至接收到缺失数据包A2或重复请求的次数过多(比如超过10次),使得缺失数据包A2能够及时地根据重传请求来重新传输,保障了网络通信的即时性和可靠性。
然而,如上重传策略可能导致网络阻塞的问题。图3是本申请实施例提供的一个对比示例中重传策略的示例过程示意图。参见图3,该重传策略引起网络阻塞的对比示例中,接收端100所处的网络状态不佳,这使得接收端100用来接收数据包的可用网络带宽十分有限,并且数据包的丢包率很高。仍以发送端200需要向接收端100传输三个数据包A1、A2、A3为例,参见图3,在发送端200发送出三个数据包A1、A2、A3之后,低传输速率和高丢包率使得接收端100只接收到了数据包A3,此时接收端100依照上述重传策略开始每隔10ms发送一次对于缺失数据包A1、A2的重传请求NACK(A1)和NACK(A2)。但是,由于此时发送端200根据重传请求重新发送的缺失数据包A1、A2仍面临低传输速率和高丢包率的问题,这可能导致接收端100在不断重复发送重传请求的期间始终无法成功接收到所需要的缺失数据包A1、A2。最终,接收端100依据上述重传策略在重复发送重传请求的次数超过10次以后(约110ms后)判定重传失败,并不再等待缺失数据包A1、A2,但此时发送端200可能已经数次重新发送过缺失数据包A1、A2,这使得原本就十分有限的网络带宽被重复发送多次的重传请求以及接收端100不再等待接收的缺失数据包A1、A2所挤占,不仅没有成功地实现数据包的重传、浪费了系统资源,还挤占了用来传输其他数据的带宽资源、导致网络阻塞。应当理解是,上述示例中以三个数据包A1、A2、A3为例只是为了更简洁地进行说明,但实际应用中同一时间处于传输状态的数据包的数量可能会非常庞大,且上述重传策略所导致的系统资源浪费和网络阻塞可能远比上述示例中展示的严重得多。
图4是本申请实施例提供的一种发送重传请求的方法的步骤流程示意图。针对上述问题,本申请实施例的发送重传请求的方法提供了一种可以帮助解决上述重传策略可能导致网络阻塞问题的可能方式。参见图4,该方法应用于数据接收端设备(例如由图1中的数据接收端设备执行),并包括以下过程。
在步骤401中,获取往返时延集合内的往返时延的平均值。
其中,所述往返时延为数据包被发送的时刻与该数据包的接收状态被确认的时刻之间相差的时长,且上述往返时延集合随数据包的传输而更新。以图2所示的情形为例,自发送端200发送数据包A1的时刻开始,到发送端200接收到来自接收端100确认收到数据包A1的消息的时刻结束,其之间相差的时长为对应于数据包A1的往返时延;自发送端200发送数据包A2的时刻开始,到发送端200接收到来自接收端100的重传请求NACK(A2)的时刻结束,其之间相差的时长为对应于数据包A2的往返时延。在一些示例中,数据发送端设备对于已发送的数据包会记录其对应的往返时延,而数据接收端设备通过周期性接收和/或查询的方式获取新的往返时延以更新往返时延集合。由于往返时延集合随数据包的传输而更新,因而往返时延集合内的往返时延的平均值在一定程度上反映当前数据接收端设备所处的网络状态——往返时延的平均值较小说明网络状态良好,往返时延的平均值较大说明网络状态较差。
在步骤402中,基于往返时延的平均值,配置发送重复重传请求时的最小发送间隔,以使最小发送间隔正相关于往返时延的平均值和重复次数。
其中,重复重传请求为对于已发送过重传请求的目标数据包的重传请求,重复次数为已发送过的对于目标数据包的重传请求的次数,最小发送间隔为相邻两次发送对于目标数据包的重传请求之间的最小间隔时长。即,在整体趋势上,最小发送间隔随着重复次数的增大而增大,且重复次数相同时往返时延的平均值越大最小发送间隔越大。
在步骤403中,在最小发送间隔的限制下,发送对于缺失数据包的重传请求。其中,所述缺失数据包为所述数据接收端设备检测到的已被发送但未被接收到的数据包。
以图3所示的情形为例,不同于上述对比示例中的相同时间间隔,在本申请实施例中,接收端100重复发送对于同一个目标数据包A1的重传请求NACK(A1)的发送时间间隔的最小值受到上述最小发送间隔的限制——重复发送的次数越多,需要间隔越久的时间才能发送下一次的重传请求NACK(A1);并且,当前的往返时延的平均值越大,这一间隔时间的基准值越大。比如,不同于对比示例中相邻两次重传请求NACK(A1)的发送时间间隔均为10ms,在往返时延的平均值为50ms时,第1次和第2次发送重传请求NACK(A1)之间的最小发送间隔为50ms,第2次和第3次发送重传请求NACK(A1)之间的最小发送间隔为60ms,第3次和第4次发送重传请求NACK(A1)之间的最小发送间隔为70ms,并依次类推;而在往返时延的平均值为10ms时,第1次和第2次发送重传请求NACK(A1)之间的最小发送间隔为10ms,第2次和第3次发送重传请求NACK(A1)之间的最小发送间隔为15ms,第3次和第4次发送重传请求NACK(A1)之间的最小发送间隔为20ms,并依次类推。
基于上述过程,本申请实施例的方法的能够在不同的网络状态下都取得满足要求的传输效果:以图2的情形作为示例,在往返时延的平均值为10ms、网络状态良好时,网络带宽充足且丢包率较小,对于缺失数据包需要及时地发送重传请求;此时,本申请实施例的最小发送间隔如上所述被配置为10ms、15ms、20ms等等,考虑到缺失数据包再次缺失的可能性很小,这样大多数缺失数据包都能在10ms或25ms以内的时间内完成重传,从而满足了重传策略在网络状态良好时的即时性要求。在往返时延的平均值为50ms、网络状态不佳时,网络带宽有限且丢包率较高,对于缺失数据包要求在不对系统造成过大压力的前提下及早成功完成重传;此时,本申请实施例的最小发送间隔如上所述被配置为50ms、60ms、70ms等等,与图3所示的对比示例相比重复发送重传请求的频率大大降低,这样既不会如对比示例那样在约110ms后就放弃缺失数据包的接收,也不会在短时间内产生大量的重传请求和重传的缺失数据包挤占网络带宽,给系统预留了充足的反应时间,也给自身预留了合理且充足的等待缺失数据包重传的时间,并且减少了重复的重传请求和大量重传的缺失数据包对于网络带宽的占用,从而满足了上述在不对系统造成过大压力的前提下及早成功完成重传的要求。可以看出,本申请实施例的方法能够帮助解决现有重传策略可能导致网络阻塞的问题,并有助于提升网络通信中的数据传输效率和可靠性。
需要说明的是,虽然图4中步骤401、步骤402和步骤403是依次执行的,但在不同的实现方式中可以不仅限于此。例如,步骤401和步骤402的更新最小发送间隔配置的过程即更新参数的过程,而步骤403的发送重传请求的过程即利用参数的过程,参数可以具有默认值并按照预定规则不断更新,而任何时刻该参数都是能够被利用的状态,从而步骤403的执行顺序不需要被限制在步骤401和步骤402之后。
图5是本申请实施例提供的又一种发送重传请求的方法的步骤流程示意图。参见图5,该方法应用于数据接收端设备(例如由图1中的数据接收端设备执行),并包括以下过程。
在步骤501中,获取往返时延集合内的往返时延的平均值。
在一个示例中,数据接收端设备的存储器内存储有上述往返时延集合,且该往返时延集合定时地由数据接收端设备进行更新,每次更新时数据接收端设备将新接收到的来自数据发送端设备的往返时延添加至上述往返时延集合中,并删除往返时延集合中过期的往返时延;完成更新后,数据接收端设备计算往返时延集合内往返时延的平均值,并将结果记录在内存储器中以备后续过程利用。
在步骤502中,基于往返时延的平均值,配置首次等待时长,以使首次等待时长正相关于往返时延的平均值。
其中,首次等待时长为检测到缺失数据包到第一次发送请求该缺失数据包的重传请求之间的最小间隔时长。类似于上述最小发送间隔,该首次等待时长限制了数据接收端设备从检测到某个数据包缺失到第一次发送请求该缺失数据包的重传请求之间的最小间隔时长。以图2所示的情形为例,当接收端100检测到缺失数据包A2时,依照上述首次等待时长的限制,等到经过该首次等待时长的时间后才发送对于缺失数据包A2的重传请求;由于该段时间内接收端100有可能会接收到因各种因素而比数据包A3传输得更慢的数据包A2,从而取消对于缺失数据包A2的重传请求的发送,有助于节省系统资源。
在一个示例中,上述步骤502包括将首次等待时长更新为min(avg_rtt+var_rtt,2×avg_rtt),其中avg_rtt为往返时延的平均值,var_rtt为往返时延集合内的往返时延的均方差,而min(x,y)表示x和y中的较小值。如此,首次等待时长被以往返时延的平均值为基础而配置到了一个适当的数值上,经实际测试表明,这样的配置方式在节省系统资源与提升传输效率之间取得了较好的平衡,并能够适应于不同的网络状态。
在步骤503中,基于往返时延的平均值,配置发送重复重传请求时的最小发送间隔,以使最小发送间隔正相关于往返时延的平均值和重复次数。
在一个示例中,上述步骤503包括:将上述最小发送间隔更新为max(min(avg_rtt,max_rtt) × baseretries-1, min_retry),其中avg_rtt为往返时延的平均值,max_rtt为往返时延的预定上限值(比如100ms、110ms、120ms等等),base为大于1的预定基数(比如1.05、1.1、1.15、1.2、1.25等等),retries为重复次数,min_retry为最小发送间隔的预定下限值(比如8ms、9ms、10ms等等),max(x,y)表示x和y中的较大值,min(x,y)表示x和y中的较小值。在一个示例中,base=1.25,max_rtt=100ms,min_retry=10ms,这使得上式变为max(min(avg_rtt, 100ms) × 1.25retries-1, 10ms);经实际测试表明,这样的配置方式在节省系统资源与提升传输效率之间取得了较好的平衡,并能够适应于不同的网络状态。
在步骤504中,在首次等待时长和最小发送间隔的限制下,发送对于缺失数据包的重传请求。其中,所述缺失数据包为所述数据接收端设备检测到的已被发送但未被接收到的数据包。
可以看出,由于步骤504的发送重传请求的过程受到了上述首次等待时长和最小发送间隔的双重限制,基于上述原因,重传请求的发送能够在节省系统资源与提升传输效率之间取得了较好的平衡,并能够适应于不同的网络状态。
在一个示例中,本申请实施例的方法用于在发送端200与接收端100之间传输视频数据,上述步骤504包括:在传输视频关键帧的数据包时,若该视频关键帧的任一数据包满足任一重传失败条件,则清空待发送重传请求队列中请求该视频关键帧的数据包的重传请求,并向该视频关键帧的发送端发送请求重新发送该视频关键帧的消息;其中,重传失败条件包括:已发送过的请求该数据包的重传请求的次数达到预定上限值(例如400ms、500ms、600ms等等);自第一次发送请求该数据包的重传请求经过的时间达到预定上限值(例如8次、9次、10次等等)。例如,对于图3所示的重复次数超过10次的预定上限值而重传失败的情形,接收端100在决定不再接收缺失数据包A1和A2的基础上,也同时决定不发送关于该视频关键帧的数据包的重传请求,并同时直接向发送端200请求重新发送整个视频关键帧。如此,由于有缺失的视频关键帧很可能无法组帧,因而接收端100对于直接放弃该视频关键帧并请求重传,能够节省掉无效的处理和传输缺失数据包的时间,有利于加快视频画面的恢复速度。
图6是本申请实施例提供的一种发送重传请求的方法中更新往返时延集合的步骤流程示意图。本申请实施例中,往返时延的平均值为往返时延集合内的往返时延的加权平均值,并且每个往返时延的权重正相关于将该往返时延添加至往返时延集合时待发送重传请求队列中待发送的重传请求的个数。参见图6,上述任意一种发送重传请求的方法中,更新往返时延集合的过程可以包括如下过程。
在步骤601中,在每个往返时延集合的更新周期中,将上一更新周期内新增的往返时延连同其产生时间及权重添加至往返时延集合中,并删除往返时延集合中产生时间早于过期时刻的往返时延。
在一个示例中,往返时延集合中的每个集合元素具备这样的数据结构:{往返时延,权重,产生时间},即每个往返时延除了自身以ms为单位的数值之外还包括在计算平均值时的权重值,以及产生时间的标记。其中,权重正相关于将该往返时延添加至往返时延集合时待发送重传请求队列中待发送的重传请求的个数,即该时刻接收端100计划发送的重传请求的数量越多,该往返时延的权重的值越大(例如,接收端100待发送重传请求队列中没有待发送的重传请求时,所产生的往返时延的权重为0.1;而在接收端100待发送重传请求队列中待发送的重传请求的个数为x时,所产生的往返时延的权重为0.1+0.01×min(x,90)。如此,在上述步骤601的一个示例中,数据传输过程中每隔5s更新一次往返时延集合,更新时将上一个5s内收集的往返时延连同其产生时间(其形式例如是对应于上一个5s时段的A,B,C,D四种标记中的一个)及计算好的权重添加至往返时延集合中,并删除往返时延集合中存在超过20s的往返时延。例如,当上一个5s内的往返时延的产生时间均标记为D时,当前往返时延集合中产生时间标记为C的往返时延为上上个5s内的往返时延,产生时间标记为B的往返时延为上上上个5s内的往返时延,产生时间标记为A的往返时延为上上上上个5s内的往返时延,因此除了新添加的往返时延之外产生时间标记为D的往返时延是本次需要删除的超过20s的往返时延。如此,完成本次更新周期内往返时延集合的更新。
基于权重的设置,往返时延的平均值在计算时网络状态不佳时的往返时延将占有更大的权重,从而作为配置各方面限制的基准参数的往返时延平均值对于网络状态的劣化会更加灵敏,使得上文所述的各方面配置在网络状态变差时能够更快速地配置到适当的数值上,更有利于节省系统资源和提升传输效率。
在步骤602中,在距离上一次更新过期时刻的时长达到预设上限值,或者检测到网络传输环境的切换时,将过期时刻更新为当前时刻。
其中,检测到网络传输环境的切换的情形包括而不限于:接收端连接至网络;接收端切换了网络连接;接收端切换至新的基站;接收端切换了移动数据使用模式。在一个示例中,当检测到网络传输环境的切换时,接收端清空往返时延集合,并将往返时延的平均值重置为默认值(比如10ms、11ms、12ms等等)。如此,可以避免网络传输环境的切换时原先的网络传输环境的参数配置影响新的网络传输环境下的数据传输,有助于提升网络传输的传输效率。
图7是本申请实施例提供的一种发送重传请求的装置的结构框图。参见图7,该装置应用于数据接收端设备(例如由图1中的数据接收端设备执行),并包括:获取模块71,用于获取往返时延集合内的往返时延的平均值;其中,往返时延为数据包被发送的时刻与该数据包的接收状态被确认的时刻之间相差的时长,往返时延集合随数据包的传输更新;配置模块72,用于基于往返时延的平均值,配置发送重复重传请求时的最小发送间隔,以使最小发送间隔正相关于往返时延的平均值和重复次数;其中,重复重传请求为对于已发送过重传请求的目标数据包的重传请求,重复次数为已发送过的对于目标数据包的重传请求的次数,最小发送间隔为相邻两次发送对于目标数据包的重传请求之间的最小间隔时长;发送模块73,用于在最小发送间隔的限制下,发送对于缺失数据包的重传请求,所述缺失数据包为所述数据接收端设备检测到的已被发送但未被接收到的数据包。
可以看出,本申请实施例中,相邻两次发送请求同一数据包的重传请求之间的最小间隔时长被加以限制——在网络状态良好时,数据包的发送和确认接收之间相差的时长很短,往返时延的平均值相对较小,对于接收不到的数据包接收端会较为频繁且间隔时长递增地重复发送重传请求,以保证网络通信的即时性;而在网络状态不佳时,往返时延的平均值相对较大,对于接收不到的数据包接收端会较为不频繁且间隔时长递增地重复发送重传请求,以避免大量重传请求挤占网络带宽,也为重传的数据包的传输留有充足的时间,帮助解决现有重传策略可能导致网络阻塞的问题,有助于提升网络通信中的数据传输效率和可靠性。
本申请实施例提供的发送重传请求的装置,其实现过程与本申请实施例提供的发送重传请求的方法一致,所能达到的效果也与本申请实施例提供的发送重传请求的方法相同,在此不再赘述。
图8是本申请实施例提供的一种数据接收端设备的结构框图。参见图8,该数据接收端设备包括处理器81和用于存储该处理器81的可执行指令的存储器82;其中,该处理器81用于执行所述可执行指令,以实现上述任意一种的发送重传请求的方法。以上文所述的任意一种数据接收端设备为例,本申请实施例的数据接收端设备能够帮助解决现有重传策略可能导致网络阻塞的问题,有助于提升网络通信中的数据传输效率和可靠性。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质为非易失性的存储介质,且该存储介质存储有处理器的可执行指令,该可执行指令被配置为在被处理器执行时使处理器实现上述任意一种的发送重传请求的方法。以上述存储器82为例,本申请实施例的计算机可读存储介质能够用来实现上述任意一种的发送重传请求的方法,因而能够帮助解决现有重传策略可能导致网络阻塞的问题,有助于提升网络通信中的数据传输效率和可靠性。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种发送重传请求的方法,应用于数据接收端设备,其特征在于,所述方法包括:
获取往返时延集合内的往返时延的平均值;其中,所述往返时延为数据包被发送的时刻与该数据包的接收状态被确认的时刻之间相差的时长,所述往返时延集合随数据包的传输更新;
基于所述往返时延的平均值,配置发送重复重传请求时的最小发送间隔,以使所述最小发送间隔正相关于所述往返时延的平均值和重复次数;其中,所述重复重传请求为在发送一次对于目标数据包的重传请求之后发送的对于所述目标数据包的重传请求,所述重复次数为已发送过的对于所述目标数据包的重传请求的次数,所述最小发送间隔为相邻两次发送对于所述目标数据包的重传请求之间的最小间隔时长;
将首次等待时长更新为min(avg_rtt+var_rtt, 2×avg_rtt),其中所述首次等待时长为检测到缺失数据包到第一次发送请求该缺失数据包的重传请求之间的最小间隔时长,所述缺失数据包为所述数据接收端设备检测到的已被发送但未被接收到的数据包,avg_rtt为所述往返时延的平均值,var_rtt为所述往返时延集合内的往返时延的均方差;
在所述首次等待时长和所述最小发送间隔的限制下,发送对于所述缺失数据包的重传请求。
2.根据权利要求1所述的方法,其特征在于,所述基于所述往返时延的平均值,配置发送重复重传请求时的最小发送间隔,以使所述最小发送间隔正相关于所述往返时延的平均值和重复次数,包括:
将所述最小发送间隔更新为max(min(avg_rtt, max_rtt)×baseretries-1, min_retry),其中avg_rtt为所述往返时延的平均值,max_rtt为所述往返时延的预定上限值,base为大于1的预定基数,retries为所述重复次数,min_retry为所述最小发送间隔的预定下限值。
3.根据权利要求1所述的方法,其特征在于,所述在所述首次等待时长和所述最小发送间隔的限制下,发送对于缺失数据包的重传请求,包括:
在传输视频关键帧的数据包时,若该视频关键帧的任一数据包满足任一重传失败条件,则清空待发送重传请求队列中请求该视频关键帧的数据包的重传请求,并向该视频关键帧的发送端发送请求重新发送该视频关键帧的消息;
其中,所述重传失败条件包括:
已发送过的请求该数据包的重传请求的次数达到预定上限值;
自第一次发送请求该数据包的重传请求经过的时间达到预定上限值。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述往返时延的平均值为所述往返时延集合内的往返时延的加权平均值,每个所述往返时延的权重正相关于将该往返时延添加至所述往返时延集合时待发送重传请求队列中待发送的重传请求的个数。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在每个所述往返时延集合的更新周期中,将上一所述更新周期内新增的所述往返时延连同其产生时间及所述权重添加至所述往返时延集合中,并删除所述往返时延集合中所述产生时间早于过期时刻的往返时延;
在距离上一次更新所述过期时刻的时长达到预设上限值,或者检测到网络传输环境的切换时,将所述过期时刻更新为当前时刻。
6.一种发送重传请求的装置,应用于数据接收端设备,其特征在于,所述装置包括:
获取模块,用于获取往返时延集合内的往返时延的平均值;其中,所述往返时延为数据包被发送的时刻与该数据包的接收状态被确认的时刻之间相差的时长,所述往返时延集合随数据包的传输更新;
配置模块,用于:基于所述往返时延的平均值,配置发送重复重传请求时的最小发送间隔,以使所述最小发送间隔正相关于所述往返时延的平均值和重复次数;以及,将首次等待时长更新为min(avg_rtt+var_rtt, 2×avg_rtt);其中,所述重复重传请求为在发送一次对于目标数据包的重传请求之后发送的对于所述目标数据包的重传请求,所述重复次数为已发送过的对于所述目标数据包的重传请求的次数,所述最小发送间隔为相邻两次发送对于所述目标数据包的重传请求之间的最小间隔时长,所述首次等待时长为检测到缺失数据包到第一次发送请求该缺失数据包的重传请求之间的最小间隔时长,所述缺失数据包为所述数据接收端设备检测到的已被发送但未被接收到的数据包,avg_rtt为所述往返时延的平均值,var_rtt为所述往返时延集合内的往返时延的均方差;
发送模块,用于在所述首次等待时长和所述最小发送间隔的限制下,发送对于所述缺失数据包的重传请求。
7.一种数据接收端设备,其特征在于,所述数据接收端设备包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器用于执行所述可执行指令,以实现如权利要求1至5中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有处理器的可执行指令,所述可执行指令被配置为在被处理器执行时使所述处理器实现如权利要求1至5中任一项所述的方法。
CN202310396185.1A 2023-04-14 2023-04-14 发送重传请求的方法及装置、数据接收端设备和存储介质 Active CN116112128B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310396185.1A CN116112128B (zh) 2023-04-14 2023-04-14 发送重传请求的方法及装置、数据接收端设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310396185.1A CN116112128B (zh) 2023-04-14 2023-04-14 发送重传请求的方法及装置、数据接收端设备和存储介质

Publications (2)

Publication Number Publication Date
CN116112128A CN116112128A (zh) 2023-05-12
CN116112128B true CN116112128B (zh) 2023-06-27

Family

ID=86265943

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310396185.1A Active CN116112128B (zh) 2023-04-14 2023-04-14 发送重传请求的方法及装置、数据接收端设备和存储介质

Country Status (1)

Country Link
CN (1) CN116112128B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117061070B (zh) * 2023-09-15 2024-03-29 深圳旷世科技有限公司 无线音频传输方法、音频设备及存储介质
CN117255038B (zh) * 2023-11-14 2024-01-26 西安明赋云计算有限公司 一种tcp数据包丢失监测方法
CN117318898B (zh) * 2023-11-24 2024-02-09 合肥奎芯集成电路设计有限公司 高速串行接口中重复数据包的处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108365924A (zh) * 2017-01-26 2018-08-03 华为技术有限公司 一种数据重传方法、通信装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101765147A (zh) * 2008-12-25 2010-06-30 大唐移动通信设备有限公司 一种高速传输环境下的数据包传输方法和装置
KR20170135107A (ko) * 2016-05-30 2017-12-08 삼성에스디에스 주식회사 데이터 전송 방법 및 그 기능이 구비된 컴퓨팅 장치
CN107612664A (zh) * 2017-10-25 2018-01-19 京信通信系统(中国)有限公司 一种无线链路控制层rlc数据重传方法、装置及存储介质
CN110213024B (zh) * 2018-04-26 2021-12-31 腾讯科技(深圳)有限公司 数据包重传方法、装置及设备
CN114448569A (zh) * 2022-01-27 2022-05-06 阿里巴巴(中国)有限公司 数据传输方法、设备及计算机存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108365924A (zh) * 2017-01-26 2018-08-03 华为技术有限公司 一种数据重传方法、通信装置

Also Published As

Publication number Publication date
CN116112128A (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
CN116112128B (zh) 发送重传请求的方法及装置、数据接收端设备和存储介质
WO2018121294A1 (zh) 一种报文传输方法、终端、网络设备及通信系统
US7477675B2 (en) Data communication apparatus
EP2315383B1 (en) Method and apparatus for transmitting a status report
KR100787294B1 (ko) 이동 통신 기지국의 티씨피 성능 향상 장치
EP2056514A2 (en) Method for moving a receive window in a radio access network
WO2008000181A1 (fr) Procédés et systèmes de retransmission sur couche de transport
WO2013053304A1 (zh) 一种实现tcp传输的方法及装置
WO2009039730A1 (fr) Procédé pour déclencher un rapport d'état de requête de répétition automatique
WO2011100911A2 (zh) 探测处理方法、数据发送端、数据接收端以及通信系统
KR20070121602A (ko) 무선 통신 시스템에서 패킷 폐기 방법 및 장치
JP2002135357A (ja) 通信システムにおけるデータ流れの制御方法
WO2011000236A1 (zh) 报文传输方法及系统
KR20110071433A (ko) 무선링크제어 계층 재전송 실패를 처리하는 장치
RU2392752C2 (ru) Способ передачи данных и способ повторной передачи данных
CN109560897B (zh) 一种tcp重传方法和装置
WO2008034374A1 (fr) Procédé, système et appareil de transmission de commande de liaison radio
JP4384676B2 (ja) データ通信装置の制御方法
WO2022078517A1 (zh) 数据传输方法、设备和存储介质
US11503500B2 (en) Method and a user equipment (UE) for transport layer optimization using a preemptive cross layer signaling
JP4485684B2 (ja) 通信システムにおけるデータ・パケットの伝達方法および装置
JP4364763B2 (ja) データ通信装置
CN111092907B (zh) 基于udp协议的数据流快速传输方法、系统及介质
US10849160B2 (en) Reinstating poll retransmission timer
CN110266446B (zh) 一种基于sack模式调整乱序时长的方法和装置

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
TR01 Transfer of patent right

Effective date of registration: 20231214

Address after: 230031 Room 672, 6/F, Building A3A4, Zhong'an Chuanggu Science Park, No. 900, Wangjiang West Road, High-tech Zone, Hefei, Anhui

Patentee after: Anhui Haima Cloud Technology Co.,Ltd.

Address before: 301700 room 2d25, Building 29, No.89 Heyuan Road, Jingjin science and Technology Valley Industrial Park, Wuqing District, Tianjin

Patentee before: HAIMAYUN (TIANJIN) INFORMATION TECHNOLOGY CO.,LTD.

TR01 Transfer of patent right