CN115765934A - 一种数据传输方法和装置 - Google Patents
一种数据传输方法和装置 Download PDFInfo
- Publication number
- CN115765934A CN115765934A CN202111034158.7A CN202111034158A CN115765934A CN 115765934 A CN115765934 A CN 115765934A CN 202111034158 A CN202111034158 A CN 202111034158A CN 115765934 A CN115765934 A CN 115765934A
- Authority
- CN
- China
- Prior art keywords
- terminal
- data
- data transmission
- bandwidth
- threshold
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 112
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000000694 effects Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Abstract
本发明实施例提出了一种数据传输方法和装置,上述数据传输方法中,数据传输服务器获取终端反馈的数据传输服务器向终端发送数据包的网络状态;当所述网络状态满足预设条件,调整所述缓存窗口队列的大小以实现调整存储在所述缓存队列中的数据包的数量。如此,改善了重传失效的问题以及丢包率提高,使得视频传输质量降低的问题。
Description
【技术领域】
本申请涉及通信领域,尤其涉及一种数据传输方法和装置。
【背景技术】
目前,视频会议系统是音视频实时通信的一个重要应用,该类应用的一个重要特性就是需要保证数据传输的可靠性,需要应用自身实现抗丢包、抗抖动、抗拥塞算法。
现有的抗丢包技术主要包括前向纠错(Forward Error Correction,FEC)、自动重传请求(Auto Repeat Request,ARQ)。FEC恢复延时低,但会带来带宽消耗的增长。ARQ恢复延时较大,带宽消耗小。一般情况下,媒体控制单元(Microcontroller Unit,MCU)会根据网络状况,选择FEC与ARQ组合来实现最佳的抗丢包效果。
因此,如何减少丢包,提高视频会议传输效果,是目前亟待解决的重要问题。
【发明内容】
本发明实施例提供了一种数据传输方法和设备,根据ARQ传输特性,MCU侧自适应缓存队列同时自适应发送速率减少丢包,提高视频会议传输效果。
第一方面,本发明实施例提供一种数据传输方法,应用于数据传输服务器,所述数据传输服务器设置有缓存队列,所述缓存队列存储有已经发向终端的数据包,所述方法包括:获取所述终端反馈的所述数据传输服务器向所述终端发送数据包的网络状态;当所述网络状态满足预设条件,调整所述缓存队列窗口的大小以实现调整存储在所述缓存队列中的数据包的数量。
本发明实施例,通过MCU侧自适应缓存队列,缓解了在高带宽、大延时场景下,ARQ请求的重传报文可能已经不在缓存队列里面,导致ARQ失效的问题,保证视频会议质量。
其中一种可能的实现方式中,所述网络状态包括传输延时和/或所述数据传输服务器向所述终端传输数据的带宽;所述获取所述终端反馈的所述数据传输服务器向所述终端发送数据包的网络状态,包括:接收所述终端反馈的实时控制协议RTCP报文,从所述RTCP报文中获取所述数据传输服务器向所述终端发送数据包的传输延时和/或所述数据传输服务器向所述终端传输数据的带宽。
其中一种可能的实现方式中,当所述网络状态包括传输延时和所述数据传输服务器向所述终端传输数据的带宽情况下,所述当所述网络状态满足预设条件,调整所述缓存队列窗口的大小以实现调整存储在所述缓存队列中的数据包的数量,包括:当所述传输延时小于或等于第一延时阈值,且所述带宽小于或等于第一带宽阈值,则所述缓存队列大小调整为第一窗口大小;当所述传输延时大于所述第一延时阈值小于或等于第二延时阈值,且所述带宽小于或等于第二带宽阈值,则所述缓存队列大小调整为第二窗口大小;其中,所述第二窗口大小大于所述第一窗口大小。
其中一种可能的实现方式中,当所述网络状态包括传输延时或所述数据传输服务器向所述终端传输数据的带宽情况下,所述当所述网络状态满足预设条件,调整所述缓存队列窗口的大小以实现调整存储在所述缓存队列中的数据包的数量,包括:当所述带宽大于第二带宽阈值,或,当所述传输延时大于第三延时阈值;则将所述缓存队列大小调整为第三窗口大小;其中,所述第三窗口大小大于所述第二窗口大小。
其中一种可能的实现方式中,所述方法还包括:接收所述终端发送的数据包重传请求,所述重传请求中包括了请求重传的数据包标识信息;当在所述缓存队列中未找到所述请求重传的数据包,记录重传失败;当所述记录的重传失败超过预设的重传失败次数阈值,则在接收到所述终端发送的第N次数据包重传请求时,向所述终端发送最近的I帧;其中,所述最近的I帧为从最近一次发送的I帧中最后传输的数据为止,新传输的数据;所述N次为所述预设的重传失败次数阈值+1。
其中一种可能的实现方式中,所述方法还包括:根据所述终端反馈的丢包情况获取丢包率;当丢包率上升到第一丢包阈值,且持续时间超过第一时间阈值,则所述数据传输服务器将向所述终端发送数据的速率降低到第一预设速率;当丢包率下降到第二丢包阈值,且持续时间超过第二时间阈值,则所述数据传输服务器将向所述终端发送数据的速率提高到第二预设速率。
第二方面,本发明实施例提供一种数据传输装置,所述数据传输装置包括:获取模块,用于获取所述终端反馈的所述数据传输服务器向所述终端发送数据包的网络状态;调整模块,用于判断所述网络状态是否满足预设条件,若判断结果为满足,则调整所述缓存队列窗口的大小以实现调整存储在所述缓存队列中的数据包的数量。
其中一种可能的实现方式中,所述网络状态包括传输延时和/或所述数据传输服务器向所述终端传输数据的带宽;所述接收模块,包括:接收子模块,用于接收所述终端反馈的实时控制协议RTCP报文;获取子模块,用于从所述RTCP报文中获取所述数据传输服务器向所述终端发送数据包的传输延时和/或所述数据传输服务器向所述终端传输数据的带宽。
其中一种可能的实现方式中,当所述网络状态包括传输延时和所述数据传输服务器向所述终端传输数据的带宽情况下,所述调整模块,包括:判断子模块,用于判断所述传输延时是否小于或等于第一延时阈值,且所述带宽是否小于或等于第一带宽阈值,将发送判断结果;调整子模块,用于接收所述判断子模块的判断结果,当所述传输延时小于或等于第一延时阈值,且所述带宽小于或等于第一带宽阈值,则所述缓存队列大小调整为第一窗口大小;所述判断子模块,还用于判断所述传输延时是否大于所述第一延时阈值小于或等于第二延时阈值,且所述带宽是否小于或等于第二带宽阈值,将判断结果发送给所述调整子模块;所述调整子模块,还用于当所述传输延时大于所述第一延时阈值小于或等于第二延时阈值,且所述带宽小于或等于第二带宽阈值,则所述缓存队列大小调整为第二窗口大小;其中,所述第二窗口大小大于所述第一窗口大小。
其中一种可能的实现方式中,所述判断子模块,还用于判断所述带宽是否大于第二带宽阈值,或所述传输延时是否大于第三延时阈值,将判断结果发送至所述调整子模块;所述调整子模块,还用于当所述带宽大于第二带宽阈值,或,当所述传输延时大于第三延时阈值,则将所述缓存队列大小调整为第三窗口大小;其中,所述第三窗口大小大于所述第二窗口大小。
其中一种可能的实现方式中,所述装置还包括:接收模块,用于接收所述终端发送的数据包重传请求,所述重传请求中包括了请求重传的数据包标识信息;发送模块,当在所述缓存队列中未找到所述请求重传的数据包,记录重传失败;当所述记录的重传失败超过预设的重传失败次数阈值,则在接收到所述终端发送的第N次数据包重传请求时,向所述终端发送最近的I帧;其中,所述最近的I帧为从最近一次发送的I帧中最后传输的数据为止,新传输的数据;所述N次为所述预设的重传失败次数阈值+1。
其中一种可能的实现方式中,所述装置还包括:丢包率获取模块,用于根据所述终端反馈的丢包情况获取丢包率;速率调整模块,用于当丢包率上升到第一丢包阈值,且持续时间超过第一时间阈值,则所述数据传输服务器将向所述终端发送数据的速率降低到第一预设速率;当丢包率下降到第二丢包阈值,且持续时间超过第二时间阈值,则所述数据传输服务器将向所述终端发送数据的速率提高到第二预设速率。
第三方面,本发明实施例提供一种电子终端设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面提供的方法。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面提供的方法。
应当理解的是,本申请实施例的第二~四方面与本发明实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例中的一种自动重传请求流程图;
图2为本发明实施例中的视频会议系统拓扑结构图;
图3为本发明实施例中的一种数据传输方法流程示意图;
图4为本发明实施例中的动态调整缓存窗口的示意图;
图5为本发明实施例中的数据包重传的流程图;
图6为本发明实施例中的自适应升降速流程图;
图7为本发明实施例中的自适应升降速示意图;
图8为本发明实施例的数据传输装置结构示意图;
图9为本发明实施例的电子终端设备结构示意图。
【具体实施方式】
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的其他实施例,都属于本发明保护的范围。
本发明实施例可应用在音视频网络拓扑结构,用于数据传输,视频会议是音视频实时通信的一个重要应用,此类应用的一个重要特性就是需要保证数据传输的可靠性,保证数据传输能抗丢包、抗抖动、抗拥塞。本发明实施例主要对自动重传请求ARQ进行优化,进而减少数据传输过程中的丢包情况,提高视频会议传输效果。
自动重传请求ARQ是一种通过重传关键数据包来纠错的信道保护算法,请参阅图1,发送端给每个数据包都植入顺序号码和时间戳,其中,顺序号码代表被发送数据包的顺序,允许接收端可以通过监测顺序号码来发现丢包事件;时间戳代表音视频数据包的解码时间点。发送端发送数据包后,如果接收端没有接收到,接收端将会通过RTCP信道向所述发送端反馈并发送一个重传请求。发送端维护一个固定的缓存队列,当发送端收到重传请求的时候,将会重传数据。接收端也维护一个固定的缓存队列,等待尚未收到的数据包并且对已经接收到的数据包根据顺序号码进行排序。在解码的时间点到来之前,接收端把缓冲队列中的数据包交给解码器进行解码。在解码的时间点,接收端要么已经收齐了预期的数据包,要么已经放弃等待。
以视频会议系统为例,MCU作为数据传输服务器,视频会议里的用户端作为终端,请参阅图2。MCU向不同终端发送视频数据包,终端根据数据包中植入的顺序号码来判断是否发生丢包事件,如果是,终端则通过RTCP信道向MCU发送ARQ重传请求。MCU在缓存队列中拷贝出需要的重传数据,并且存储在滑动窗口里发送给终端。
在当前的ARQ重传机制中,一般发送端和接收端都维持一个固定的缓冲队列,当传输带宽较高或者延时较大的时候,存在请求重传的实时传输控制协议RTCP报文已经不在缓冲队列里,此时ARQ失效,影响音视频效果;同时由于频繁的重传反而加重了网络负载,加重了网络丢包,影响音视频效果。
因此,请参阅图3,图3是本发明实施例提供的一种数据传输方法的流程示意图,通过调整缓存队列大小以调整缓存中数据包的数量,以减少丢包情况,该方法应用于数据传输服务器,所述数据传输方法包括:
步骤S301:获取所述终端反馈的所述数据传输服务器向所述终端发送数据包的网络状态;
步骤S302:当所述网络状态满足预设条件,调整所述缓存队列窗口大小以实现调整存储在所述缓存队列中的数据包的数量。
本发明实施例提供的一种数据传输方法,通过根据网络状态动态调节缓存队列窗口大小,以实现调节存储在缓存队列中数据包的数量,减小网络负载,减小数据丢包,提高视频会议传输效果。
在步骤S301中,终端发送数据包的网络状态包括:传输延时和/或所述数据传输服务器向所述终端传输数据的带宽;所述获取所述终端反馈的所述数据传输服务器向所述终端发送数据包的网络状态,包括:接收所述终端反馈的RTCP报文,从所述RTCP报文中获取所述数据传输服务器向所述终端发送数据包的传输延时和/或所述数据传输服务器向所述终端传输数据的带宽。
在步骤S302中,当所述网络状态包括传输延时和所述数据传输服务器向所述终端传输数据的带宽情况下,所述当所述网络状态满足预设条件,调整所述缓存队列窗口的大小以实现调整存储在所述缓存队列中的数据包的数量,包括:
当所述传输延时小于等于第一延时阈值,且所述带宽小于或等于第一带宽阈值,则所述缓存队列大小调整为第一窗口大小;
当所述传输延时大于所述第一延时阈值小于或等于第二延时阈值,且所述带宽小于或等于第二带宽阈值,则所述缓存队列大小调整为第二窗口大小;
其中,所述第二窗口大小大于所述第一窗口大小。
当所述带宽大于第二带宽阈值,或,
当所述传输延时大于第三延时阈值;
则将所述缓存队列大小调整为第三窗口大小;
其中,所述第三窗口大小大于所述第二窗口大小。
请参阅图4,MCU侧根据网络状态自适应增大/减小窗口大小,假设第一延时阈值为20ms,第一带宽阈值为2M,当带宽小于等于2M,且延时小于等于20ms,此时缓存队列维持200个即可,即第一窗口大小为200;
假设第一延时阈值为20ms,第二延时阈值30ms,第二带宽阈值为4M,当带宽小于等于4M,且RTCP反馈的延时大于20ms,而小于或等于30ms,此时缓存队列维持400个,即第二窗口大小为400;
假设第三延时阈值为50ms,第二带宽阈值为4M,当带宽大于4M或者RTCP反馈的延时大于50ms,此时需要将缓存队列调整到600个,即第三窗口大小为600。如下表1所示:
表1
网络状态 | 缓存窗口大小 |
带宽≤2M,且延时≤20ms | 200 |
带宽≤4M,且20ms<延时≤30ms | 400 |
带宽>4M,或延时>50ms | 600 |
MCU侧根据终端反馈的带宽情况和RTCP的延时来动态调整缓存窗口大小,减小网络负载,缓解了在高带宽、大延时的场景下,ARQ请求的重传报文可能已经不在缓存队列里面的问题,提高数据重传效率。
MCU侧接收所述终端发送的数据包重传请求,所述重传请求中包括了请求重传的数据包标识信息;
当在所述缓存队列中未找到所述请求重传的数据包,记录重传失败;
当所述记录的重传失败超过预设的重传失败次数阈值,则在接收到所述终端发送的第N次数据包重传请求时,向所述终端发送最近的I帧;
其中,所述最近的I帧为从最近一次发送的I帧中最后传输的数据为止,新传输的数据;所述N次为所述预设的重传失败次数阈值+1。
请参阅图5,在具体的实施例中,MCU侧向终端发送数据“1、2、3、4、5、6”,而终端只接收到了“1、2、3、6”,丢失了数据包“4、5”。此时,终端向MCU侧发送重传数据包“4、5”的重传请求,MCU侧在拷贝数据中查找需要重传的数据,如果重传数据包成功,则完成ARQ重传请求;若重传数据失败,则记录重传失败次数,并且终端继续发送重传请求。假设此时设置的重传失败次数阈值为两次,并且在每次重传失败时都会记录重传失败次数。由于存在物理线路原因,导致数据包“4、5”前两次重传都失败,此时,在第三次重传时,发送全部数据“1、2、3、4、5、6”,以用更新终端接收到的所有数据。
相应最近的I帧是指,在这一段时间内的所有数据包的集合。在具体的实施例中,MCU侧向终端发送一段视频的数据“001、002、003、004、005、006、007、008、009”,若三个数据包为1个帧集合,当“001、002、003、004、005、006、007、009”都成功发送至终端,“008”数据包丢失,终端向MCU侧发送ARQ重传请求发送“008”,但是由于存在物理线路原因,导致“008”数据包两次重传都失败,则在第三次重传时,发送数据包“007、008、009”以刷新这个时间段整个视频画面。
通过发送最近的I帧的方法,以整个画面刷新来避免视频画面持续存在卡顿花屏等问题,提高了视频会议质量。
在当前的ARQ机制中,在网络较差场景下会增加网络负载,造成更严重的丢包,MCU根据网络状况,引入自动升降速功能,持续丢包情况下,MCU逐步降低网络发送速率,当丢包率持续降低时,MCU主动提升网络发送速率,因此,本发明实施例还可以包括:
MCU侧根据终端反馈的丢包情况获取丢包率;
当丢包率上升到第一丢包阈值,且持续时间超过第一时间阈值,则所述数据传输服务器将向所述终端发送数据的速率降低到第一预设速率;
当丢包率下降到第二丢包阈值,且持续时间超过第二时间阈值,则所述数据传输服务器将向所述终端发送数据的速率提高到第二预设速率。
请参阅图6和图7,示例性的,MCU侧判断丢包情况,假设丢包率为1.5%,且持续时间达到15秒及以上,则:
MCU将发送速率降低为原来的80%,上述动作一致持续至丢包率不超过1%为止。
假设丢包率低于0.3%,且持续时间达到30秒及以上,则:
MCU将当前发送速率增加5%,上述动作持续至网络丢包率高于1%或者发送速率达到接入速率为止。
上述实施例中的关于触发MCU进行速率调整的丢包率数值,可以根据实际情况进行设定,本发明实施例不做限定。通过上述丢包率大降低发送速率,丢包率小提高发送速率的方法,提高了MCU在不同网络环境下的发送速率自适应,避免由于频繁ARQ或者其他因素导致的视频会议质量下降的问题。
图8所示实施例还提供一种数据传输装置可用于执行本上述所示方法实施例的技术方案,在本发明实施例中,所述数据传输装置包括接收模块801、获取模块802、调整模块803、发送模块804;其中,接收模块801,用于接受终端发送的数据包重传请求;获取模块802,用于获取终端反馈的数据传输服务器向所述终端发送数据包的网络状态;调整模块803,用于调整缓存队列窗口的大小以实现调整存储在所述缓存队列中的数据包的数量;发送模块804,用于发送重传请求的数据包以及当记录的重传失败超过预设的重传失败阈值,则在接收到终端发送的第N次数据包重传请求时,向所述终端发送最近的I帧。
图9为本发明实施例提供的一种电子终端设备的结构示意图,该电子终端设备900包括处理器901,存储器902,存储在存储器902上并可在所述处理器901上运行的计算机程序,所述处理器901执行所述程序时实现前述方法实施例中的步骤,实施例提供的电子终端设备可用于执行本上述所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述,在此不再赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本发明实施例中所涉及的终端可以包括但不限于个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、无线手持设备、平板电脑(tablet computer)、手机、MP3播放器、MP4播放器等。
在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本说明书各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (9)
1.一种数据传输方法,其特征在于,应用于数据传输服务器,所述数据传输服务器设置有缓存队列,所述缓存队列存储有已经发向终端的数据包,所述方法包括:
获取所述终端反馈的所述数据传输服务器向所述终端发送数据包的网络状态;
当所述网络状态满足预设条件,调整所述缓存队列窗口的大小以实现调整存储在所述缓存队列中的数据包的数量。
2.根据权利要求1所述的方法,其特征在于,所述网络状态包括传输延时和/或所述数据传输服务器向所述终端传输数据的带宽;所述获取所述终端反馈的所述数据传输服务器向所述终端发送数据包的网络状态,包括:
接收所述终端反馈的实时控制协议RTCP报文,从所述RTCP报文中获取所述数据传输服务器向所述终端发送数据包的传输延时和/或所述数据传输服务器向所述终端传输数据的带宽。
3.根据权利要求2所述的方法,其特征在于,当所述网络状态包括传输延时和所述数据传输服务器向所述终端传输数据的带宽情况下,所述当所述网络状态满足预设条件,调整所述缓存队列窗口的大小以实现调整存储在所述缓存队列中的数据包的数量,包括:
当所述传输延时小于或等于第一延时阈值,且所述带宽小于或等于第一带宽阈值,则所述缓存队列大小调整为第一窗口大小;
当所述传输延时大于所述第一延时阈值小于或等于第二延时阈值,且所述带宽小于或等于第二带宽阈值,则所述缓存队列大小调整为第二窗口大小;
其中,所述第二窗口大小大于所述第一窗口大小。
4.根据权利要求3所述的方法,其特征在于,当所述网络状态包括传输延时或所述数据传输服务器向所述终端传输数据的带宽情况下,所述当所述网络状态满足预设条件,调整所述缓存队列窗口的大小以实现调整存储在所述缓存队列中的数据包的数量,包括:
当所述带宽大于第二带宽阈值,或,
当所述传输延时大于第三延时阈值;
则将所述缓存队列大小调整为第三窗口大小;
其中,所述第三窗口大小大于所述第二窗口大小。
5.根据权利要求1-4任一所述方法,其特征在于,所述方法还包括:
接收所述终端发送的数据包重传请求,所述重传请求中包括了请求重传的数据包标识信息;
当在所述缓存队列中未找到所述请求重传的数据包,记录重传失败;
当所述记录的重传失败超过预设的重传失败次数阈值,则在接收到所述终端发送的第N次数据包重传请求时,向所述终端发送最近的I帧;
其中,所述最近的I帧为从最近一次发送的I帧中最后传输的数据为止,新传输的数据;所述N次为所述预设的重传失败次数阈值+1。
6.根据权利要求1-4任一所述方法,其特征在于,所述方法还包括:
根据所述终端反馈的丢包情况获取丢包率;
当丢包率上升到第一丢包阈值,且持续时间超过第一时间阈值,则所述数据传输服务器将向所述终端发送数据的速率降低到第一预设速率;
当丢包率下降到第二丢包阈值,且持续时间超过第二时间阈值,则所述数据传输服务器将向所述终端发送数据的速率提高到第二预设速率。
7.一种数据传输装置,其特征在于,应用于数据传输服务器,所述数据传输服务器设置有缓存队列,所述缓存队列存储有已经发向终端的数据包,所述装置包括:
获取模块,用于获取所述终端反馈的所述数据传输服务器向所述终端发送数据包的网络状态;
调整模块,用于判断所述网络状态是否满足预设条件,若判断结果为满足,则调整所述缓存队列窗口的大小以实现调整存储在所述缓存队列中的数据包的数量。
8.一种电子终端设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行权利要求1至6任一所述的方法。
9.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111034158.7A CN115765934A (zh) | 2021-09-03 | 2021-09-03 | 一种数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111034158.7A CN115765934A (zh) | 2021-09-03 | 2021-09-03 | 一种数据传输方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115765934A true CN115765934A (zh) | 2023-03-07 |
Family
ID=85332659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111034158.7A Pending CN115765934A (zh) | 2021-09-03 | 2021-09-03 | 一种数据传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115765934A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655547A (zh) * | 2004-09-09 | 2005-08-17 | 上海川海信息科技有限公司 | 一种流媒体传输系统中的速率控制方法 |
CN101938770A (zh) * | 2010-09-20 | 2011-01-05 | 南京邮电大学 | 基于网络信道状态的无线网络最大重传次数的优化方法 |
CN106850595A (zh) * | 2017-01-17 | 2017-06-13 | 烽火通信科技股份有限公司 | 一种流媒体传输优化方法及装置 |
CN107864084A (zh) * | 2016-09-22 | 2018-03-30 | 腾讯科技(深圳)有限公司 | 数据包的传输方法和装置 |
CN107911841A (zh) * | 2017-10-24 | 2018-04-13 | 浙江工业大学 | 一种传感网时延优化的可靠传输方法 |
CN110460533A (zh) * | 2019-07-12 | 2019-11-15 | 锐捷网络股份有限公司 | 基于rdma的数据传输方法及装置 |
CN110661995A (zh) * | 2018-06-29 | 2020-01-07 | 成都鼎桥通信技术有限公司 | 视频组呼的丢包重传方法及系统 |
CN110784745A (zh) * | 2019-11-26 | 2020-02-11 | 科大讯飞股份有限公司 | 一种视频传输方法、装置、系统、设备及存储介质 |
CN110855402A (zh) * | 2016-09-30 | 2020-02-28 | 瞬已网络科技(上海)有限公司 | 一种网络实时视频传输方法及装置 |
CN111585776A (zh) * | 2020-05-26 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、设备及计算机可读存储介质 |
CN113225622A (zh) * | 2021-03-19 | 2021-08-06 | 海能达通信股份有限公司 | 一种视频传输方法、装置和计算机可读存储介质 |
-
2021
- 2021-09-03 CN CN202111034158.7A patent/CN115765934A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655547A (zh) * | 2004-09-09 | 2005-08-17 | 上海川海信息科技有限公司 | 一种流媒体传输系统中的速率控制方法 |
CN101938770A (zh) * | 2010-09-20 | 2011-01-05 | 南京邮电大学 | 基于网络信道状态的无线网络最大重传次数的优化方法 |
CN107864084A (zh) * | 2016-09-22 | 2018-03-30 | 腾讯科技(深圳)有限公司 | 数据包的传输方法和装置 |
CN110855402A (zh) * | 2016-09-30 | 2020-02-28 | 瞬已网络科技(上海)有限公司 | 一种网络实时视频传输方法及装置 |
CN106850595A (zh) * | 2017-01-17 | 2017-06-13 | 烽火通信科技股份有限公司 | 一种流媒体传输优化方法及装置 |
CN107911841A (zh) * | 2017-10-24 | 2018-04-13 | 浙江工业大学 | 一种传感网时延优化的可靠传输方法 |
CN110661995A (zh) * | 2018-06-29 | 2020-01-07 | 成都鼎桥通信技术有限公司 | 视频组呼的丢包重传方法及系统 |
CN110460533A (zh) * | 2019-07-12 | 2019-11-15 | 锐捷网络股份有限公司 | 基于rdma的数据传输方法及装置 |
CN110784745A (zh) * | 2019-11-26 | 2020-02-11 | 科大讯飞股份有限公司 | 一种视频传输方法、装置、系统、设备及存储介质 |
CN111585776A (zh) * | 2020-05-26 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、设备及计算机可读存储介质 |
CN113225622A (zh) * | 2021-03-19 | 2021-08-06 | 海能达通信股份有限公司 | 一种视频传输方法、装置和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11349900B2 (en) | Voice encoding and sending method and apparatus | |
CN107888342B (zh) | 一种网络实时视频传输方法及装置 | |
JP6023368B1 (ja) | インタラクティブなリアルタイムメディアの転送プロトコル | |
US9184880B2 (en) | Method and device enabling a dynamic bundle size HARQ mechanism | |
US10348454B2 (en) | Error resilience for interactive real-time multimedia application | |
JP2007089177A (ja) | 無線通信システムにおける状態報告信号の伝送速度を改善する方法及び装置 | |
CN111327962B (zh) | 播放控制方法、装置、设备及存储介质 | |
CN110557677A (zh) | 一种视频传输的方法及装置 | |
CN106708661B (zh) | 一种广域网环境中的数据备份方法及装置 | |
CN112769526B (zh) | 数据包重传方法、系统和存储介质 | |
KR20150066335A (ko) | 무선통신에서 패킷 손실을 줄이기 위한 방법 및 장치 | |
CN115037416A (zh) | 数据前向纠错处理方法、装置、电子设备和存储介质 | |
JP2006287925A (ja) | エラー回復機構およびそれを備えるネットワーク要素 | |
CN110602568A (zh) | 一种基于rtp的视频流传输丢包重传方法、设备及存储设备 | |
CN111092907B (zh) | 基于udp协议的数据流快速传输方法、系统及介质 | |
CN115765934A (zh) | 一种数据传输方法和装置 | |
CN116318545A (zh) | 视频数据传输方法、装置、设备及存储介质 | |
US9246638B2 (en) | Method and apparatus for polling transmission status in a wireless communications system | |
US9307441B1 (en) | Systems and methods of transferring information to a wireless device | |
CN114039702B (zh) | 数据传输方法、装置、设备和介质 | |
WO2021164405A1 (zh) | 数据编解码方法、相关设备及系统 | |
CN114401208A (zh) | 数据传输方法、装置、电子设备和存储介质 | |
CN113014501A (zh) | 数据传输方法、系统、编码器及计算机可读存储介质 | |
CN116137560B (zh) | 处理重传请求的方法及装置、数据发送端设备和存储介质 | |
CN111917525B (zh) | 一种数据传输方法、装置、设备和可读存储介质 |
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 |