数据传输方法和装置与流程

文档序号:14522707阅读:167来源:国知局
数据传输方法和装置与流程

本发明涉及计算机领域,尤其涉及一种数据传输方法和装置。



背景技术:

传输控制协议(tcp,transmissioncontrolprotocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,能够实现互联网可靠的端到端通讯,应用非常广泛。

互联网中交换机使用的通信信道,以及互联网中的缓冲存储空间一般是互联网上所有主机端的共享资源。随着通信技术的不断丰富和提高,发送端的业务量不断增多,使得不同的发送端之间会发生资源竞争,从而导致网络拥塞。为了解决网络拥塞问题,发送端会对丢包事件进行监控。当发现丢包事件时,发送端即认为出现了网络拥塞,从而大幅度缩小拥塞窗口。但是,目前,由于无线通信网络的普及,比如,发送端可通过无线4g、无线3g、无线保真即wi-fi、公网或虚拟专用网络(vpn,virtualprivatenetwork)等接入方式接入公有云网络或数据中心网络,在发送端通过无线通信网络与公有云网络或数据中心网络进行数据交互的过程中会发生随机丢包,而并非为网络拥塞引起的丢包,但在此情况下发送端也会大幅度减小拥塞窗口,从而大幅度降低了网络带宽的利用率。



技术实现要素:

本申请提供了一种数据传输方法、装置、发送端与存储介质,能够在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率。

第一方面,本申请提供了一种数据传输方法,应用于发送端,方法包括:获取发送端所发送的传输报文的往返时延的抖动,判断传输报文的往返时延的抖动是否大于拥塞判断阈值,往返时延的抖动表示传输报文的往返时延偏离基准往返时延的幅度;若往返时延的抖动大于拥塞判断阈值,则获取当前带宽,判断当前带宽的下降幅度是否超出下降阈值;若当前带宽未下降或下降幅度未超出下降阈值,则按照第一预设微步长缩小拥塞窗口。

在本发明实施例中,在判断往返时延的抖动大于拥塞判断阈值,但当前带宽未下降或下降幅度未超出下降阈值时,判断数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。并未对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

根据第一方面,在第一方面的第一种可能中,上述数据传输方法还包括:若当前带宽的下降幅度超出下降阈值,则获取网络丢包参数,判断网络丢包参数是否满足网络拥塞判断条件,网络丢包参数记录了传输报文在传输过程中数据包的丢包信息,网络拥塞条件包括至少一项条件;若网络丢包参数满足网络拥塞判断条件中任意一项,则按照第一预设粗步长缩小拥塞窗口,第一预设粗步长大于第一预设微步长。

在经历了上述实施例中的往返时延的抖动和带宽的判定后,引入网络丢包参数,进一步提高判定网络拥塞引起的丢包的准确性。当传输报文的往返时延的抖动大于拥塞判断阈值,且当前带宽的下降幅度超出下降阈值,且网络丢包参数满足网络拥塞判断条件中任意一项时,确定发生网络拥塞丢包,较大幅度缩小拥塞窗口,以缓解网络拥塞情况。

示例性的,网络丢包参数包括连续丢包数目,网络拥塞判断条件包括连续丢包数目大于等于两个;和/或,网络丢包参数包括丢包率,网络拥塞判断条件包括丢包率大于预设的拥塞丢包率阈值;和/或,网络丢包参数包括丢包重传报文数目,网络拥塞判断条件包括丢包重传报文数目大于预设的拥塞丢包重传报文阈值。

根据第一方面的第一种可能,在第一方面的第二种可能中,上述数据传输方法还包括:若往返时延的抖动小于等于拥塞判断阈值,则判断往返时延的抖动是否处于非拥塞抖动范围内,非拥塞抖动范围为传输报文在传输过程中未发生网络拥塞时往返时延的抖动的变化范围,且拥塞判断阈值大于非拥塞抖动范围的上限值;若往返时延的抖动处于非拥塞抖动范围内,保持拥塞窗口不变。

确定未发生网络拥塞,且数据传输通畅,保持拥塞窗口不变,避免不必要的占用资源的拥塞窗口调节。

根据第一方面的第二种可能,在第一方面的第三种可能中,上述数据传输方法还包括:若往返时延的抖动小于非拥塞抖动范围的下限值,则按照第二预设微步长扩大拥塞窗口。

确定数据传输过程中出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。避免对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

根据第一方面的第二种可能,在第一方面的第四种可能中,上述数据传输方法还包括:若往返时延的抖动大于非拥塞抖动范围的上限值,则按照第三预设微步长缩小拥塞窗口。

确定数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。避免对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

根据第一方面的第一种可能,在第一方面的第五种可能中,上述数据传输方法还包括:若网络丢包参数均未满足网络拥塞判断条件中任意一项,则按照第四预设微步长缩小拥塞窗口。

确定数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。避免对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

示例性的,上述数据传输方法还包括:若当前带宽未下降或下降幅度未超出下降阈值,按照第一预定补偿步长,增加非拥塞抖动范围的上限值。

当传输报文的往返时延的抖动大于拥塞判断阈值,但当前带宽未下降或下降幅度未超出下降阈值,表明未发生网络拥塞。为了后续的网络拥塞判断更加精准且效率更高,可适当增加非拥塞抖动范围的上限值,拓宽非拥塞抖动范围,从而实现对非拥塞抖动范围的设定的优化。

示例性的,上述数据传输方法还包括:若网络丢包参数均未满足网络拥塞判断条件中任意一项,按照第二预定补偿步长,增加非拥塞抖动范围的上限值。

当传输报文的往返时延的抖动大于拥塞判断阈值,且当前带宽下降幅度超出下降阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项,表明未发生网络拥塞。为了后续的网络拥塞判断更加精准且效率更高,可适当增加非拥塞抖动范围的上限值,拓宽非拥塞抖动范围,实现对非拥塞抖动范围的设定的优化。

第二方面,本申请提供了一种数据传输方法,包括:获取发送的传输报文的往返时延的抖动,判断传输报文的往返时延的抖动是否大于拥塞判断阈值,往返时延的抖动表征传输报文的往返时延偏离基准往返时延的幅度;若往返时延的抖动大于拥塞判断阈值,则获取网络丢包参数,判断网络丢包参数是否满足网络拥塞判断条件,网络丢包参数记录了传输报文在传输过程中数据包的丢包信息;若网络丢包参数均未满足网络拥塞判断条件中任意一项,则按照第一预设微步长缩小拥塞窗口,网络拥塞条件包括至少一项条件。

利用传输报文的往返时延的抖动和网络丢包参数,共同进行网络是否发生拥塞的判断。在判断往返时延抖动大于拥塞判断阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项时,判断数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。并未对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

示例性的,网络丢包参数包括连续丢包数目,网络拥塞判断条件包括连续丢包数目大于等于两个;和/或,网络丢包参数包括丢包率,网络拥塞判断条件包括丢包率大于预设的拥塞丢包率阈值;和/或,网络丢包参数包括丢包重传报文数目,网络拥塞判断条件包括丢包重传报文数目大于预设的拥塞丢包重传报文阈值。

根据第二方面,在第二方面的第一种可能中,上述数据传输方法还包括:若网络丢包参数满足网络拥塞判断条件中任意一项,则获取当前带宽,判断当前带宽的下降幅度是否超出下降阈值;若当前带宽的下降幅度超出下降阈值,则按照第一预设粗步长缩小拥塞窗口,第一预设粗步长大于第一预设微步长。

结合往返时延的抖动、网络丢包参数和带宽三个方面的参数,判断是否发生网络拥塞丢包,进一步提高了判断网络拥塞丢包的准确性。当传输报文的往返时延的抖动大于拥塞判断阈值,且网络丢包参数满足网络拥塞判断条件中任意一项,且当前带宽的下降幅度超出下降阈值时,确定发生网络拥塞丢包,较大幅度缩小拥塞窗口,以缓解网络拥塞情况。

根据第二方面,在第二方面的第二种可能中,上述数据传输方法还包括:若往返时延的抖动小于等于拥塞判断阈值,则判断往返时延的抖动是否处于非拥塞抖动范围内,非拥塞抖动范围为传输报文在传输过程中未发生网络拥塞时往返时延的抖动的变化范围,且拥塞判断阈值大于非拥塞抖动范围的上限值;若往返时延抖动处于非拥塞抖动范围内,保持拥塞窗口不变。

确定未发生网络拥塞,且数据传输通畅,保持拥塞窗口不变,避免不必要的占用资源的拥塞窗口调节。

根据第二方面的第二种可能,在第二方面的第三种可能中,上述数据传输方法还包括:若往返时延的抖动小于非拥塞抖动范围的下限,则按照第二预设微步长扩大拥塞窗口。

往返时延变化较小,未发生网络拥塞,数据传输通畅,可平缓地适当扩大拥塞窗口,对拥塞窗口进行微调,并未对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

根据第二方面的第二种可能,在第二方面的第四种可能中,上述数据传输方法还包括:若往返时延的抖动大于非拥塞抖动范围的上限,则按照第三预设微步长缩小拥塞窗口。

确定未发生网络拥塞,对拥塞窗口进行微调,并未对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

根据第二方面的第一种可能,在第二方面的第五种可能中,上述数据传输方法还包括:若当前带宽未下降或下降幅度未超出下降阈值,则按照第四预设微步长缩小拥塞窗口值。

确定未发生网络拥塞,对拥塞窗口进行微调,并未对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

示例性的,上述数据传输方法还包括:若网络丢包参数均未满足网络拥塞判断条件中任意一项,按照第一预定补偿步长,增加非拥塞抖动范围的上限值。

当传输报文的往返时延抖动大于拥塞判断阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项,表明未发生网络拥塞。为了后续的网络拥塞判断更加精准且效率更高,可适当增加非拥塞抖动范围的上限值,拓宽非拥塞抖动范围,从而实现对非拥塞抖动范围的设定的优化。

示例性的,上述数据传输方法还包括若当前带宽未下降或下降幅度未超出下降阈值,按照第二预定补偿步长,增加非拥塞抖动范围的上限值。

当传输报文的往返时延抖动大于拥塞判断阈值,且当前带宽下降幅度超出下降阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项,表明未发生网络拥塞。为了后续的网络拥塞判断更加精准且效率更高,可适当增加非拥塞抖动范围的上限值,拓宽非拥塞抖动范围,实现对非拥塞抖动范围的设定的优化。

第三方面,本申请提供一种数据传输方法,包括:获取当前带宽,判断当前带宽的下降幅度是否超出下降阈值;若当前带宽的下降幅度超出下降阈值,则获取网络丢包参数,并判断网络丢包参数是否满足网络拥塞判断条件,网络丢包参数记录了传输报文在传输过程中数据包的丢包信息;若网络丢包参数均未满足网络拥塞判断条件中任意一项,则按照第一预设微步长缩小拥塞窗口。

在当前带宽的下降幅度超出下降阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项时,确定数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。避免对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

示例性的,网络丢包参数包括连续丢包数目,网络拥塞判断条件包括连续丢包数目大于等于两个;和/或,网络丢包参数包括丢包率,网络拥塞判断条件包括丢包率大于预设的拥塞丢包率阈值;和/或,网络丢包参数包括丢包重传报文数目,网络拥塞判断条件包括丢包重传报文数目大于预设的拥塞丢包重传报文阈值。

根据第三方面,在第三方面的第一种可能中,上述数据传输方法还包括:若当前带宽未下降或下降幅度未超出下降阈值,则按照第二预设微步长缩小拥塞窗口。

确定数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。避免对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

根据第三方面,在第三方面的第二种可能中,上述数据传输方法还包括:若网络丢包参数满足网络拥塞判断条件中任意一项,则获取传输报文的往返时延的抖动,判断往返时延的抖动是否大于拥塞判断阈值;若往返时延的抖动小于等于拥塞判断阈值,则判断往返时延的抖动是否处于非拥塞抖动范围内。

根据第三方面的第一种可能,在第三方面的第二种可能中,上述数据传输方法还包括:若往返时延的抖动大于拥塞判断阈值,则按照第一预设粗步长缩小拥塞窗口,第一预设粗步长大于第一预设微步长。

在经历了上述实施例中的带宽和网络丢包参数的判定后,引入往返时延的抖动,进一步提高判定网络拥塞引起的丢包的准确性。当当前带宽的下降幅度超出下降阈值,且网络丢包参数满足网络拥塞判断条件中任意一项,且传输报文的往返时延的抖动大于拥塞判断阈值时,确定发生网络拥塞丢包,较大幅度缩小拥塞窗口,以缓解网络拥塞情况。

根据第三方面的第一种可能,在第三方面的第三种可能中,上述数据传输方法还包括:若往返时延的抖动大于非拥塞抖动范围的上限值,则按照第三预设微步长缩小拥塞窗口。

确定数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。避免对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

根据第三方面的第一种可能,在第三方面的第四种可能中,上述数据传输方法还包括:若往返时延的抖动小于非拥塞抖动范围的下限值,则按照第四预设微步长缩小拥塞窗口。

确定数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。避免对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

根据第三方面的第一种可能,在第三方面的第五种可能中,上述数据传输方法还包括:若往返时延的抖动处于非拥塞抖动范围内,则按照第五预设微步长缩小拥塞窗口。

确定数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。避免对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

第四方面,本申请提供了一种数据传输装置,包括:第一判断单元,用于获取发送端所发送的传输报文的往返时延的抖动,判断传输报文的往返时延的抖动是否大于拥塞判断阈值,往返时延的抖动表示传输报文的往返时延偏离基准往返时延的幅度;第二判断单元,用于若往返时延的抖动大于拥塞判断阈值,则获取当前带宽,判断当前带宽的下降幅度是否超出下降阈值;第一处理单元,用于若当前带宽未下降或下降幅度未超出下降阈值,则按照第一预设微步长缩小拥塞窗口。。

根据第四方面,在第四方面的第一种可能中,上述数据传输装置还包括:第三判断单元,用于若当前带宽的下降幅度超出下降阈值,则获取网络丢包参数,判断网络丢包参数是否满足网络拥塞判断条件,网络丢包参数记录了传输报文在传输过程中数据包的丢包信息,网络拥塞条件包括至少一项条件;第二处理单元,用于若网络丢包参数满足网络拥塞判断条件中任意一项,则按照第一预设粗步长缩小拥塞窗口,第一预设粗步长大于第一预设微步长。

示例性的,网络丢包参数包括连续丢包数目,网络拥塞判断条件包括连续丢包数目大于等于两个;和/或,网络丢包参数包括丢包率,网络拥塞判断条件包括丢包率大于预设的拥塞丢包率阈值;和/或,网络丢包参数包括丢包重传报文数目,网络拥塞判断条件包括丢包重传报文数目大于预设的拥塞丢包重传报文阈值。

根据第四方面的第一种可能,在第四方面的第二种可能中,第四判断单元,用于若往返时延的抖动小于等于拥塞判断阈值,则判断往返时延的抖动是否处于非拥塞抖动范围内,非拥塞抖动范围为传输报文在传输过程中未发生网络拥塞时往返时延的抖动的变化范围,且拥塞判断阈值大于非拥塞抖动范围的上限值;第三处理单元,用于若往返时延的抖动处于非拥塞抖动范围内,保持拥塞窗口不变。

根据第四方面的第二种可能,在第四方面的第三种可能中,上述数据传输装置还包括:第四处理单元,用于若往返时延的抖动小于非拥塞抖动范围的下限值,则按照第二预设微步长扩大拥塞窗口。

根据第四方面的第二种可能,在第四方面的第四种可能中,上述数据传输装置还包括:第五处理单元,用于若往返时延的抖动大于非拥塞抖动范围的上限值,则按照第三预设微步长缩小拥塞窗口。

根据第四方面的第一种可能,在第四方面的第五种可能中,上述数据传输装置还包括:第六处理单元,用于若网络丢包参数均未满足网络拥塞判断条件中任意一项,则按照第四预设微步长缩小拥塞窗口。

示例性的,上述数据传输装置还包括:第一调整单元,被配置为若当前带宽未下降或下降幅度未超出下降阈值,按照第一预定补偿步长,增加非拥塞抖动范围的上限值。

示例性的,上述数据传输装置还包括:第二调整单元,被配置为若网络丢包参数均未满足网络拥塞判断条件中任意一项,按照第二预定补偿步长,增加非拥塞抖动范围的上限值。

第五方面,本申请提供了一种数据传输装置,包括:第一判断单元,用于获取发送的传输报文的往返时延的抖动,判断传输报文的往返时延的抖动是否大于拥塞判断阈值,往返时延的抖动表征传输报文的往返时延偏离基准往返时延的幅度;第二判断单元,用于若往返时延的抖动大于拥塞判断阈值,则获取网络丢包参数,判断网络丢包参数是否满足网络拥塞判断条件,网络丢包参数记录了传输报文在传输过程中数据包的丢包信息;第一处理单元,用于若网络丢包参数均未满足网络拥塞判断条件中任意一项,则按照第一预设微步长缩小拥塞窗口,网络拥塞条件包括至少一项条件。

示例性的,网络丢包参数包括连续丢包数目,网络拥塞判断条件包括连续丢包数目大于等于两个;和/或,网络丢包参数包括丢包率,网络拥塞判断条件包括丢包率大于预设的拥塞丢包率阈值;和/或,网络丢包参数包括丢包重传报文数目,网络拥塞判断条件包括丢包重传报文数目大于预设的拥塞丢包重传报文阈值。

根据第五方面,在第五方面的第一种可能中,上述数据传输装置还包括:第三判断单元,用于若网络丢包参数满足网络拥塞判断条件中任意一项,则获取当前带宽,判断当前带宽的下降幅度是否超出下降阈值;第二处理单元,用于若当前带宽的下降幅度超出下降阈值,则按照第一预设粗步长缩小拥塞窗口,第一预设粗步长大于第一预设微步长。

根据第五方面,在第五方面的第二种可能中,上述数据传输装置还包括:第四判断单元,用于若往返时延的抖动小于等于拥塞判断阈值,则判断往返时延的抖动是否处于非拥塞抖动范围内,非拥塞抖动范围为传输报文在传输过程中未发生网络拥塞时往返时延的抖动的变化范围,且拥塞判断阈值大于非拥塞抖动范围的上限值;第三处理单元,用于若往返时延抖动处于非拥塞抖动范围内,保持拥塞窗口不变。

根据第五方面的第二种可能,在第五方面的第三种可能中,上述数据传输装置还包括:第四处理单元,用于若往返时延的抖动小于非拥塞抖动范围的下限,则按照第二预设微步长扩大拥塞窗口。

根据第五方面的第二种可能,在第五方面的第四种可能中,上述数据传输装置还包括:第五处理单元,用于若往返时延的抖动大于非拥塞抖动范围的上限,则按照第三预设微步长缩小拥塞窗口。

根据第五方面的第一种可能,在第五方面的第五种可能中,上述数据传输装置还包括:第六处理单元,用于若当前带宽未下降或下降幅度未超出下降阈值,则按照第四预设微步长缩小拥塞窗口值。

示例性的,上述数据传输装置还包括:第一调整单元,被配置为若网络丢包参数均未满足网络拥塞判断条件中任意一项,按照第一预定补偿步长,增加非拥塞抖动范围的上限值。

示例性的,上述数据传输装置还包括:第二调整单元,被配置为若当前带宽未下降或下降幅度未超出下降阈值,按照第二预定补偿步长,增加非拥塞抖动范围的上限值。

第六方面,本申请提供一种数据传输装置,包括:第一判断单元,用于获取当前带宽,判断当前带宽的下降幅度是否超出下降阈值;第二判断单元,用于若当前带宽的下降幅度超出下降阈值,则获取网络丢包参数,并判断网络丢包参数是否满足网络拥塞判断条件,网络丢包参数记录了传输报文在传输过程中数据包的丢包信息;第一处理单元,用于若网络丢包参数均未满足网络拥塞判断条件中任意一项,则按照第一预设微步长缩小拥塞窗口。

示例性的,网络丢包参数包括连续丢包数目,网络拥塞判断条件包括连续丢包数目大于等于两个;和/或,网络丢包参数包括丢包率,网络拥塞判断条件包括丢包率大于预设的拥塞丢包率阈值;和/或,网络丢包参数包括丢包重传报文数目,网络拥塞判断条件包括丢包重传报文数目大于预设的拥塞丢包重传报文阈值。

根据第六方面,在第六方面的第一种可能中,上述数据传输装置还包括:第三判断单元,用于若网络丢包参数满足网络拥塞判断条件中任意一项,则获取传输报文的往返时延的抖动,判断往返时延的抖动是否大于拥塞判断阈值;第二处理单元,用于若往返时延的抖动大于拥塞判断阈值,则按照第一预设粗步长缩小拥塞窗口。

根据第六方面的第一种可能,在第六方面的第二种可能中,上述数据传输装置还包括:第三处理单元,用于若当前带宽未下降或下降幅度未超出下降阈值,则按照第二预设微步长缩小拥塞窗口。

根据第六方面,在第六方面的第三种可能中,上述数据传输装置还包括:第四判断单元,用于若往返时延的抖动小于等于拥塞判断阈值,则判断往返时延的抖动是否处于非拥塞抖动范围内;第六处理单元,用于若往返时延的抖动处于非拥塞抖动范围内,则按照第五预设微步长缩小拥塞窗口。

根据第六方面的第三种可能,在第六方面的第四种可能中,上述数据传输装置还包括:第四处理单元,用于若往返时延的抖动大于非拥塞抖动范围的上限值,则按照第三预设微步长缩小拥塞窗口。

根据第六方面的第三种可能,在第六方面的第五种可能中,上述数据传输装置还包括:第五处理单元609,用于若往返时延的抖动小于非拥塞抖动范围的下限值,则按照第四预设微步长缩小拥塞窗口。

第七方面,本发明实施例提供了一种数据传输设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现如上述技术方案中的数据传输方法。

第八方面,本发明实施例提供了一种存储介质,该存储介质上存储有程序,该程序被处理器执行时实现如上述技术方案中的数据传输方法。

本申请提供了一种数据传输方法、装置、发送端与存储介质,可利用传输报文的往返时延的抖动和网络的带宽,共同进行网络是否发生拥塞的判断。在判断往返时延的抖动大于拥塞判断阈值,但当前带宽未下降或下降幅度未超出下降阈值时,判断数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。或者,利用传输报文的往返时延的抖动和网络丢包参数,共同进行网络是否发生拥塞的判断。在判断往返时延的抖动大于拥塞判断阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项时,判断数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。并未对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

附图说明

图1为本发明实施例的数据传输系统的架构示意图;

图2为本发明一实施例中一种数据传输的方法的流程图;

图3为本发明另一实施例中一种数据传输方法的流程图;

图4为本发明又一实施例中一种数据传输方法的流程图;

图5为本发明一实施例中一种数据传输装置的结构示意图;

图6为本发明另一实施例中一种数据传输装置的结构示意图;

图7为本发明又一实施例中一种数据传输装置的结构示意图;

图8为本发明一实施例中的一种发送端的硬件结构示意图。

具体实施方式

本发明实施例提供了一种数据传输方法、装置、发送端与存储介质,可应用于利用传输控制协议(tcp,transmissioncontrolprotocol)传输数据的过程。图1为本发明实施例的数据传输系统的架构示意图。如图1所示,数据传输系统包括发送端、无线通信网络和接收端。发送端和接收端通过无线通信网络进行数据传输。具体的,发送端发送的数据可通过无线通信网络传输给接收端,接收端接收发送端发送来的数据。其中,发送端可发送报文,报文包括至少一个数据包,数据包中包括数据,从而实现数据的传输。在一个示例中,发送端可以为电脑、手机、平板电脑等用户终端,接收端可为公有云服务器或私有云服务器,无线通信网络可包括无线网络、无线保真(wifi,wireless-fidelity)或公网等。在另外一个示例中,发送端可为一数据中心,接收端可为另一数据中心,接收端的数据中心可作为发送端的数据中心的容灾备份数据中心。或者,发送端和接收端可跨广域网访问。在发送端和接收端通过无线通信网络进行数据传输的过程中,可能存在随机丢包的场景。在本发明实施例中,可区分随机丢包和网络拥塞丢包,从而针对不同原因引起的丢包,采取不同的相应措施,以达到最大限度利用网络带宽,并在传输报文的传输过程中尽量避免网络拥塞的目的。

图2为本发明一实施例中一种数据传输方法的流程图。该数据传输方法可应用于数据传输过程中的发送端,如图1所示,数据传输方法可包括步骤s101至步骤s112。

在步骤s101中,获取发送的传输报文的往返时延的抖动,判断传输报文的往返时延的抖动是否大于拥塞判断阈值。

传输报文包括至少一个数据包。数据包的往返时延(rtt,roundtriptime)为从发送端发送该数据包开始计时,到接收到接收端返回的该数据包的回复确认消息(acknowledgement,ack)为止的时长。传输报文的往返时延可为传输报文中任意一个数据包的往返时延,或者为传输报文中多个数据包的往返时延的平均值或中值。

往返时延的抖动表征传输报文的往返时延偏离基准往返时延的幅度。基准往返时延为在非网络拥塞的场景下的传输报文的往返时延。具体的,基准往返时延可在非网络拥塞的场景下经过多次测算得到。

拥塞判断阈值为判断网络是否发生拥塞的判断条件之一。若传输报文的往返时延的抖动大于拥塞判断阈值,则判断数据传输可能发生网络拥塞,需要通过进一步的网络拥塞判定,确定是否确实发生网络拥塞。

在步骤s102中,若往返时延抖动大于拥塞判断阈值,则获取当前带宽,判断当前带宽的下降幅度是否超出下降阈值。

进一步的网络拥塞判定可利用带宽进行。数据传输装置实时采集网络的带宽。为了可及时获取得到当前带宽,在一个示例中,可利用数据传输装置采集的历史带宽,得到带宽变化趋势,并利用上一次采集到的网络的实际带宽,结合带宽变化趋势,估算得到当前带宽。利用当前带宽进行判断,具体的,可判断当前带宽是否下降以及当前带宽的下降幅度是否超出下降阈值。当前带宽的下降幅度为当前带宽与上一次带宽的差值。下降阈值可根据工作场景、工作需求或工作经验设置,在此并不限定。在往返时延的抖动大于拥塞判断阈值的基础上,增加带宽判定,进一步确定数据传输是否发生网络拥塞。

在步骤s103中,若当前带宽未下降或下降幅度未超出下降阈值,则按照第一预设微步长缩小拥塞窗口。

若当前带宽未下降或者当前带宽的下降幅度未超过下降阈值,则表明带宽未发生明显的网络拥塞变化。但由于往返时延的抖动大于拥塞判断阈值,传输报文的往返时延较长,需要对拥塞窗口进行细微平缓的调节。具体的,可按照第一预设微步长缩小拥塞串口。第一预设微步长为细微调节使用的步长。在本方案中,步长为每次调节所增大或减小的拥塞窗口的值。第一预设微步长可根据工作场景、工作需求或工作经验设置,在此并不限定。在一个示例中,可以设置调节周期,每经过一个调节周期,按照第一预设微步长缩小一次拥塞窗口。比如,每经过一次传输报文的往返时延的时长,则将拥塞窗口的值减一。

在一个示例中,在发现数据传输过程中出现丢包,不管是随机丢包还是网络拥塞丢包,均需要将丢失的数据包重新进行传输。

在本发明实施例中,在判断往返时延的抖动大于拥塞判断阈值,但当前带宽未下降或下降幅度未超出下降阈值时,判断数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。并未对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

尤其是在带宽和时延均较大的网络中,若一旦发现丢包,就大幅度减小拥塞窗口,这样,如果只是发生随机丢包,则会对网络带宽的利用率造成不必要的影响。本发明实施例能够区别随机丢包和网络拥塞丢包,在带宽和时延均较大的网络中能够及时有效的优化网络的拥塞判断机制。

在步骤s104中,若当前带宽的下降幅度超出下降阈值,则获取网络丢包参数,判断网络丢包参数是否满足网络拥塞判断条件。

若当前带宽的下降幅度超出下降阈值,则表明网络的带宽大幅度下降,很有可能发生了网络拥塞。可进行进一步的网络拥塞判定。具体的,可通过网络丢包参数判定。网络丢包参数表示所述传输报文在传输过程中数据包的丢包信息,比如,网络丢包参数可包括连续丢包数目、丢包率、丢包重传报文数目等参数中的一项或多项。

网络拥塞条件包括至少一项条件,具体的,网络拥塞判断条件可以根据网络丢包参数对应设定。网络拥塞判断条件用于针对网络丢包参数进行的网络拥塞判断。比如,若网络丢包参数包括连续丢包数目,则网络拥塞判断条件包括连续丢包数目大于等于两个。也就是说,若发生连续丢包,表示网络丢包参数满足网络拥塞判断条件。若网络丢包参数包括丢包率,则网络拥塞判断条件包括丢包率大于预设的拥塞丢包率阈值。预设的拥塞丢包率阈值可根据工作场景、工作需求和工作经验设定,在此并不限定。例如,预设的拥塞丢包率阈值可为0.1%。若网络丢包参数包括丢包重传报文数目,在网络拥塞判断条件包括在发送的固定数目的传输报文中丢包重传报文数目大于预设的拥塞丢包重传报文阈值。在出现丢包情况时,数据传输装置会将丢失的数据包通过报文重新传输。预设的拥塞丢包重传报文阈值可根据工作场景、工作需求和工作经验设定,在此并不限定。例如,在发送1000条传输报文的条件下,预设的拥塞丢包重传报文阈值可为3。

在本实施例中,在经历了上述实施例中的往返时延的抖动和带宽的判定后,引入网络丢包参数,进一步提高判定网络拥塞引起的丢包的准确性。

在步骤s105中,若网络丢包参数满足网络拥塞判断条件中任意一项,则按照第一预设粗步长缩小拥塞窗口。

网络拥塞判断条件可包括一项条件,也可包括多项判断项条件。若网络拥塞判断条件包括一项条件,则网络丢包参数满足这一项条件,则可按照第一预设粗步长缩小拥塞窗口。若网络拥塞判断条件包括多项条件,则网络丢包参数满足多项条件中的一项判断条件,则可按照第一预设粗步长缩小拥塞窗口。

其中,第一预设粗步长大于第一预设微步长。当传输报文的往返时延的抖动大于拥塞判断阈值,且当前带宽的下降幅度超出下降阈值,且网络丢包参数满足网络拥塞判断条件中任意一项时,判定网络发生网络拥塞,出现网络拥塞丢包,需要较大幅度缩小拥塞窗口。比如,遵循和式增加,积式减小(aimd,additiveincreasemultiplicativedecrease)原则,设置第一预设粗步长为原拥塞窗口的值的一半,将拥塞窗口的值降低一半。

在本发明实施例中,结合往返时延的抖动、带宽和网络丢包参数三个方面的参数,判断是否发生网络拥塞丢包,进一步提高了判断网络拥塞丢包的准确性。当传输报文的往返时延的抖动大于拥塞判断阈值,且当前带宽的下降幅度超出下降阈值,且网络丢包参数满足网络拥塞判断条件中任意一项时,确定发生网络拥塞丢包,较大幅度缩小拥塞窗口,以缓解网络拥塞情况。

在步骤s106中,若网络丢包参数均未满足网络拥塞判断条件中任意一项,则按照第四预设微步长缩小拥塞窗口。

网络丢包参数均未满足网络拥塞判断条件中任意一项,即网络丢包参数全部不满足网络拥塞判断条件。若传输报文的往返时延抖动大于拥塞判断阈值,且当前带宽的下降幅度超出下降阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项,表明未发生网络拥塞,可平缓地适当缩小拥塞窗口。第四预设微步长为细微调节使用的步长。第四预设微步长可根据工作场景、工作需求和工作经验设定,在此并不限定。在一个示例中,可以设置调节周期,每经过一个调节周期,按照第四预设微步长缩小一次拥塞窗口。比如,每经过一次传输报文的往返时延,则将拥塞窗口的值减一。

在步骤107中,若往返时延的抖动小于等于拥塞判断阈值,则判断往返时延的抖动是否处于非拥塞抖动范围内。

其中,且拥塞判断阈值大于非拥塞抖动范围的上限值。具体的,可以利用当前的往返时延与基准往返时延的差值来表示往返时延抖动,也可以利用当前的往返时延与基准往返时延的差值占基准往返时延的比例,或对当前的往返时延与基准往返时延的差值占基准往返时延的比例进行一定处理,利用得到的处理结果表示往返时延抖动。比如,diff=100×(rtt-base_rtt)/base_rtt。其中,diff为传输报文的往返时延的抖动,rtt为传输报文当前的往返时延,base_rtt为传输报文的基准往返时延。根据往返时延的抖动可得知往返时延的变化幅度。当前的往返时延可以根据发送传输报文的时间和接收到该传输报文的回复确认消息(ack,acknowledgement)的时间计算得到。

非拥塞抖动范围为传输报文在传输过程中未发生网络拥塞时往返时延的抖动的变化范围,可通过事先针对未发生网络拥塞的网络环境进行网络勘测,从而总结得到非拥塞抖动范围。比如,若往返时延抖动计算方法为上述的diff=100×(rtt-base_rtt)/base_rtt,在一个示例中,非拥塞抖动范围可以为10至50之间,包括10和50。本发明实施例涉及到的与非拥塞抖动范围相关的参数包括非拥塞抖动范围的下限值alpha、非拥塞抖动范围的上限值beta和拥塞判断阈值gamma。具体的,若往返时延的抖动大于拥塞判断阈值,则判断数据传输可能发生网络拥塞,需要进行进一步的判定。其中,拥塞判断阈值gamma大于非拥塞抖动范围的上限值beta。在一个示例中,可设置参数blow,blow为非拥塞抖动范围的上限值beta与非拥塞抖动范围的下限值alpha之间的最小距离,也为非拥塞抖动范围的上限值beta与拥塞判断阈值gamma之间的最小距离。也就是说,alpha+blow≤beta≤gamma-blow,从而限定非拥塞抖动范围的上限值beta的大小处于非拥塞抖动范围的下限值alpha与拥塞判断阈值gamma之间。在本发明实施例中,非拥塞抖动范围可随着网络环境的变化而改变,可通过调整参数blow来调节beta和gamma。非拥塞抖动范围的上限值beta与非拥塞抖动范围的下限值alpha之间的距离表示往返时延的抖动的稳定性,如果非拥塞抖动范围的上限值beta与非拥塞抖动范围的下限值alpha之间的距离增大,则表示往返时延的变化范围增大。

在步骤s108中,若往返时延的抖动小于非拥塞抖动范围的下限值,则按照第二预设微步长扩大拥塞窗口。

往返时延的抖动小于非拥塞抖动范围的下限值,表明往返时延的变化幅度较小,未发生网络拥塞,且往返时延较小,数据传输通畅,可平缓地适当扩大拥塞窗口。第二预设微步长为细微调节使用的步长。第二预设微步长可根据工作场景、工作需求和工作经验设定,在此并不限定。在一个示例中,可以设置调节周期,每经过一个调节周期,按照第二预设微步长扩大一次拥塞窗口。比如,每经过一次传输报文的往返时延的时长,则将拥塞窗口的值加一。

在步骤s109中,若往返时延的抖动大于非拥塞抖动范围的上限值,则按照第三预设微步长缩小拥塞窗口。

往返时延抖动大于非拥塞抖动范围的上限值且小于或等于拥塞判断阈值,表明往返时延变化较大,但未发生网络拥塞,可平缓地适当缩小拥塞窗口。第三预设微步长为细微调节使用的步长。第三预设微步长可根据工作场景、工作需求和工作经验设定,在此并不限定。在一个示例中,可以设置调节周期,每经过一个调节周期,按照第三预设微步长缩小一次拥塞窗口。比如,每经过一次传输报文的往返时延的时长,则将拥塞窗口的值减一。

在步骤s110中,若往返时延的抖动处于非拥塞抖动范围内,保持拥塞窗口不变。

往返时延的抖动处于非拥塞抖动范围内,表明往返时延基本未发生变化,未发生网络拥塞,可保持现状,即保持拥塞窗口不变。

需要说明的是,上述第一预设微步长、第二预设微步长、第三预设微步长和第四预设微步长可以相同,也可以不同。第一预设粗步长均大于第一预设微步长、第二预设微步长、第三预设微步长和第四预设微步长。

需要说明的是,在进行网络拥塞判断的往返时延的抖动判断、带宽判断、网络丢包参数判断的三个判断中,若三个判断均如上述实施例中满足各自的拥塞判断条件,则可判断发生网络拥塞。若三个判断中有至少一个判断未满足上述实施例中各自的拥塞判断条件,则可判断未发生网络拥塞,可能只是发生了随机丢包或错帧等问题。

在本发明实施例中,判定未发生网络拥塞,则平缓适当调整拥塞窗口,可最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

在步骤s111(图1中未标出)中,若当前带宽未下降或下降幅度未超出下降阈值,按照第一预定补偿步长,增加非拥塞抖动范围的上限值。

当传输报文的往返时延的抖动大于拥塞判断阈值,但当前带宽未下降或下降幅度未超出下降阈值,表明未发生网络拥塞。为了后续的网络拥塞判断更加精准且效率更高,可适当增加非拥塞抖动范围的上限值,拓宽非拥塞抖动范围,从而实现对非拥塞抖动范围的设定的优化。

第一预定补偿步长为实现对非拥塞抖动范围的补偿的步长。第一预定补偿步长可以根据工作场景、工作需求和工作经验设定,在此并不限定。

在步骤s112(图1中未标出)中,若网络丢包参数均未满足网络拥塞判断条件中任意一项,按照第二预定补偿步长,增加非拥塞抖动范围的上限值。

当传输报文的往返时延的抖动大于拥塞判断阈值,且当前带宽下降幅度超出下降阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项,表明未发生网络拥塞。为了后续的网络拥塞判断更加精准且效率更高,可适当增加非拥塞抖动范围的上限值,拓宽非拥塞抖动范围,实现对非拥塞抖动范围的设定的优化。

第二预定补偿步长为实现对非拥塞抖动范围的补偿的步长。第二预定补偿步长可以根据工作场景、工作需求和工作经验设定,在此并不限定。

在本发明实施例中,可以根据往返时延的抖动判断、带宽判断、网络丢包参数判断的三个判断所反馈的内容,一方面,调节拥塞窗口,以实现在避免或缓解网络拥塞的情况下最大限度保证网络带宽的利用率的目的;另一方面,也可根据三个判断的反馈,对非拥塞抖动范围进行优化更新,从而提高网络拥塞判断的精准度和效率。

在一个示例中,可将数据传输方法与状态机相结合,状态机为协调相关信号动作、完成特定操作的控制中心,在本发明实施例中,数据传输装置可利用状态机实现,从而利用状态机的状态的转换,以及实现网络拥塞判断后,对于不同判断结果所指定的不同处理策略。比如:在进行网络拥塞的三个判断之前,具体的,可将初始状态设为状态机的初始状态(open状态);若网络拥塞的三个判断中有至少一个判断未满足上述实施例中各自的拥塞判断条件,可将状态机的状态转换为乱序状态(disorder状态);若网络拥塞的三个判断均满足上述实施例中各自的拥塞判断条件,可将状态机的状态转换为拥塞状态(loss状态)。

图3为本发明另一实施例中一种数据传输方法的流程图。该数据传输方法可应用于数据传输过程中的发送端,如图3所示,数据传输方法包括步骤s201至步骤s212。

在步骤s201中,获取发送的传输报文的往返时延的抖动,判断往返时延的抖动是否大于拥塞判断阈值。

其中,关于往返时延的抖动和拥塞判断阈值的说明请参见上述实施例中步骤s101中的相关说明。

在步骤s202中,若往返时延的抖动大于拥塞判断阈值,则获取网络丢包参数,判断网络丢包参数是否满足网络拥塞判断条件。

其中,拥塞判断阈值的说明请参见上述实施例中步骤s101中的相关说明。网络丢包参数和网络拥塞判断条件的说明请参见上述实施例中步骤s104至步骤s106中的相关说明。

在步骤s203中,若网络丢包参数均未满足网络拥塞判断条件中任意一项,则按照第一预设微步长缩小拥塞窗口。

其中,网络丢包参数满足以及未满足网络拥塞判断条件中任意一项的说明,请参见上述实施例中的步骤s105、步骤s106和步骤s112的相关说明。

第一预设微步长为细微调节使用的步长,可根据工作场景、工作需求或工作经验设置,在此并不限定。在一个示例中,可以设置调节周期,每经过一个调节周期,按照第一预设微步长缩小一次拥塞窗口。比如,每经过一次传输报文的往返时延的时长,则将拥塞窗口的值减一。

在本发明实施例中,利用传输报文的往返时延的抖动和网络丢包参数,共同进行网络是否发生拥塞的判断。在判断往返时延的抖动大于拥塞判断阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项时,判断数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。并未对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

尤其是在带宽和时延均较大的网络中,若单纯的发现丢包,则大幅度减小拥塞窗口,则会对网络带宽的利用率造成更大影响。本发明实施例能够区别随机丢包和网络拥塞丢包,在带宽和时延均较大的网络中能够及时有效的优化网络的拥塞判断机制。

在步骤s204中,若网络丢包参数满足网络拥塞判断条件中任意一项,则获取当前带宽,判断当前带宽的下降幅度是否超出下降阈值。

其中,网络丢包参数满足网络拥塞判断条件中任意一项的说明可参见上述实施例中的步骤s105的相关说明。带宽和当前带宽的下降幅度是否超过下降阈值的说明可参见上述实施例中的步骤102和步骤103的相关说明。

在步骤s205中,若当前带宽的下降幅度超出下降阈值,则按照第一预设粗步长缩小拥塞窗口。

其中,第一预设粗步长大于第一预设微步长。第一预设粗步长可根据工作场景、工作需求或工作经验设置。第一预设粗步长与上一实施例中的第一预设粗步长可以相同,也可以不同。当往返时延的抖动大于拥塞判断阈值,且网络丢包参数满足网络拥塞判断条件中任意一项,且当前带宽的下降幅度超出下降阈值时,判定网络发生网络拥塞,出现网络拥塞丢包,需要较大幅度缩小拥塞窗口。比如,遵循和式增加,积式减小原则,设置第一预设粗步长为原拥塞窗口的值的一半,将拥塞窗口的值降低一半。

在本发明实施例中,结合往返时延的抖动、网络丢包参数和带宽三个方向的参数,判断是否发生网络拥塞丢包,进一步提高了判断网络拥塞丢包的准确性。当传输报文的往返时延的抖动大于拥塞判断阈值,且网络丢包参数满足网络拥塞判断条件中任意一项,且当前带宽的下降幅度超出下降阈值时,确定发生网络拥塞丢包,较大幅度缩小拥塞窗口,以缓解网络拥塞情况。

在步骤s206中,若往返时延的抖动小于等于拥塞判断阈值,则判断往返时延的抖动是否处于非拥塞抖动范围内。

其中,非拥塞抖动范围的说明可参见上述实施例中的步骤s107的相关说明。

在步骤s207中,若往返时延的抖动小于非拥塞抖动范围的下限,则按照第二预设微步长扩大拥塞窗口。

往返时延的抖动小于非拥塞抖动范围的下限值,表明往返时延变化幅度较小,未发生网络拥塞,数据传输通畅,可平缓地适当扩大拥塞窗口。第二预设微步长为细微调节使用的步长,可根据工作场景、工作需求和工作经验设定,在此并不限定。在一个示例中,可以设置调节周期,每经过一个调节周期,按照第二预设微步长扩大一次拥塞窗口。比如,每经过一次传输报文的往返时延的时长,则将拥塞窗口的值加一。

在步骤s208中,若往返时延的抖动大于非拥塞抖动范围的上限,则按照第三预设微步长缩小拥塞窗口。

往返时延的抖动大于非拥塞抖动范围的上限值且小于或等于拥塞判断阈值,表明往返时延变化幅度较大,但未发生网络拥塞,可平缓地适当缩小拥塞窗口。第三预设微步长为细微调节使用的步长,可根据工作场景、工作需求和工作经验设定,在此并不限定。在一个示例中,可以设置调节周期,每经过一个调节周期,按照第三预设微步长缩小一次拥塞窗口。比如,每经过一次传输报文的往返时延的时长,则将拥塞窗口的值减一。

在步骤s209中,若往返时延的抖动处于非拥塞抖动范围内,保持拥塞窗口不变。

往返时延的抖动处于非拥塞抖动范围内,表明往返时延基本未发生变化,未发生网络拥塞,可保持现状,即保持拥塞窗口不变。

在步骤s210中,若当前带宽未下降或下降幅度未超出下降阈值,则按照第四预设微步长缩小拥塞窗口值。

若传输报文的往返时延的抖动大于拥塞判断阈值,且当前带宽的下降幅度超出下降阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项,表明未发生网络拥塞,可平缓地适当缩小拥塞窗口。第四预设微步长为细微调节使用的步长,可根据工作场景、工作需求和工作经验设定,在此并不限定。在一个示例中,可以设置调节周期,每经过一个调节周期,按照第四预设微步长缩小一次拥塞窗口。比如,每经过一次传输报文的往返时延的时长,则将拥塞窗口的值减一。

需要说明的是,上述第一预设微步长、第二预设微步长、第三预设微步长和第四预设微步长可以相同,也可以不同。在一个示例中,第一预设粗步长均大于第一预设微步长、第二预设微步长、第三预设微步长和第四预设微步长。

在本发明实施例中,判定未发生网络拥塞,则平缓适当调整拥塞窗口,可最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

在步骤s211(图2中未示出)中,若网络丢包参数均未满足网络拥塞判断条件中任意一项,按照第一预定补偿步长,增加非拥塞抖动范围的上限值。

当传输报文的往返时延的抖动大于拥塞判断阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项,表明未发生网络拥塞。为了后续的网络拥塞判断更加精准且效率更高,可适当增加非拥塞抖动范围的上限值,拓宽非拥塞抖动范围,从而实现对非拥塞抖动范围的设定的优化。

第一预定补偿步长为实现对非拥塞抖动范围的补偿的步长,可以根据工作场景、工作需求和工作经验设定,在此并不限定。

在步骤s212(图2中未示出)中,若当前带宽未下降或下降幅度未超出下降阈值,按照第二预定补偿步长,增加非拥塞抖动范围的上限值。

当传输报文的往返时延的抖动大于拥塞判断阈值,且当前带宽下降幅度超出下降阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项,表明未发生网络拥塞。为了后续的网络拥塞判断更加精准且效率更高,可适当增加非拥塞抖动范围的上限值,拓宽非拥塞抖动范围,实现对非拥塞抖动范围的设定的优化。

第二预定补偿步长为实现对非拥塞抖动范围的补偿的步长,可以根据工作场景、工作需求和工作经验设定,在此并不限定。

在本发明实施例中,可以根据往返时延的抖动判断、网络丢包参数、带宽判断判断的三个判断的反馈,一方面,调节拥塞窗口,以实现在避免或缓解网络拥塞的情况下最大限度保证网络带宽的利用率的目的;另一方面,也可根据三个判断的反馈,对非拥塞抖动范围进行优化更新,从而提高网络拥塞判断的精准度和效率。

在一个示例中,可将数据传输方法与状态机相结合。具体结合方式可参照上述实施例中的说明内容。

图4为本发明又一实施例中一种数据传输方法的流程图。该数据传输方法可应用于数据传输过程中的发送端,如图4所示,数据传输方法可包括步骤s301至步骤s310。

在步骤s301中,获取当前带宽,判断当前带宽的下降幅度是否超出下降阈值。

其中,当前带宽、下降幅度和下降阈值的说明可参照上述实施例中的步骤s102和步骤s103的相关说明。

在步骤s302中,若当前带宽的下降幅度超出下降阈值,则获取网络丢包参数,并判断网络丢包参数是否满足网络拥塞判断条件。

其中,网络丢包参数和网络拥塞判断条件的说明可参见上述实施例中的步骤s104、步骤s105和步骤s106中的相关说明。

在一个示例中,网络丢包参数包括连续丢包数目,网络拥塞判断条件包括连续丢包数目大于等于两个;和/或,网络丢包参数包括丢包率,网络拥塞判断条件包括丢包率大于预设的拥塞丢包率阈值;和/或,网络丢包参数包括丢包重传报文数目,网络拥塞判断条件包括丢包重传报文数目大于预设的拥塞丢包重传报文阈值。

在步骤s303中,若网络丢包参数均未满足网络拥塞判断条件中任意一项,则按照第一预设微步长缩小拥塞窗口。

其中,网络丢包参数均未满足网络拥塞判断条件中任意一项的说明可参见上述实施例中的步骤s106的相关说明。

第一预设微步长为细微调节使用的步长,可根据工作场景、工作需求和工作经验设定,在此并不限定。在一个示例中,可以设置调节周期,每经过一个调节周期,按照第一预设微步长缩小一次拥塞窗口。比如,每经过一次传输报文的往返时延的时长,则将拥塞窗口的值减一。

在本发明实施例中,在判断当前带宽的下降幅度超出下降阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项时,判断数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。并未对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

在步骤s304中,若网络丢包参数满足网络拥塞判断条件中任意一项,则获取传输报文的往返时延的抖动,判断往返时延的抖动是否大于拥塞判断阈值。

其中,往返时延的抖动和非拥塞抖动范围的说明可参见上述实施例中的步骤s101和步骤s107的相关说明。

在步骤s305中,若往返时延的抖动大于拥塞判断阈值,则按照第一预设粗步长缩小拥塞窗口。

其中,拥塞判断阈值的说明可参见上述实施例中的步骤s101的相关说明。

第一预设粗步长大于第一预设微步长。第一预设粗步长可根据工作场景、工作需求或工作经验设置。第一预设粗步长与上述两个实施例中的第一预设粗步长可以相同,也可以不同。当当前带宽的下降幅度超出下降阈值,且网络丢包参数满足网络拥塞判断条件中任意一项,且往返时延的抖动大于拥塞判断阈值时,判定网络发生网络拥塞,出现网络拥塞丢包,需要较大幅度缩小拥塞窗口。比如,遵循和式增加,积式减小原则,设置第一预设粗步长为原拥塞窗口的值的一半,将拥塞窗口的值降低一半。

在本发明实施例中,结合带宽、网络丢包参数和往返时延的抖动三个方向的参数,判断是否发生网络拥塞丢包,进一步提高了判断网络拥塞丢包的准确性。当当前带宽的下降幅度超出下降阈值,且网络丢包参数满足网络拥塞判断条件中任意一项,且传输报文的往返时延的抖动大于拥塞判断阈值时,确定发生网络拥塞丢包,较大幅度缩小拥塞窗口,以缓解网络拥塞情况。

在步骤s306中,若当前带宽未下降或下降幅度未超出下降阈值,则按照第二预设微步长缩小拥塞窗口。

若当前带宽的下降幅度未超出下降阈值,表明未发生网络拥塞,可平缓地适当缩小拥塞窗口。第二预设微步长为细微调节使用的步长,可根据工作场景、工作需求和工作经验设定,在此并不限定。在一个示例中,可以设置调节周期,每经过一个调节周期,按照第二预设微步长缩小一次拥塞窗口。比如,每经过一次传输报文的往返时延的时长,则将拥塞窗口的值减一。

在步骤s307中,若往返时延的抖动小于等于拥塞判断阈值,则判断往返时延的抖动是否处于非拥塞抖动范围内。

在步骤s308中,若往返时延的抖动大于非拥塞抖动范围的上限值,则按照第三预设微步长缩小拥塞窗口。

往返时延的抖动大于非拥塞抖动范围的上限值且小于或等于拥塞判断阈值,表明往返时延变化幅度较大,但未发生网络拥塞,可平缓地适当缩小拥塞窗口。第三预设微步长为细微调节使用的步长,可根据工作场景、工作需求和工作经验设定,在此并不限定。在一个示例中,可以设置调节周期,每经过一个调节周期,按照第三预设微步长缩小一次拥塞窗口。比如,每经过一次传输报文的往返时延的时长,则将拥塞窗口的值减一。

在步骤s309中,若往返时延的抖动小于非拥塞抖动范围的下限值,则按照第四预设微步长缩小拥塞窗口。

往返时延的抖动小于非拥塞抖动范围的下限,表明未发生网络拥塞,可平缓地适当缩小拥塞窗口。第四预设微步长为细微调节使用的步长,可根据工作场景、工作需求和工作经验设定,在此并不限定。在一个示例中,可以设置调节周期,每经过一个调节周期,按照第四预设微步长缩小一次拥塞窗口。比如,每经过一次传输报文的往返时延的时长,则将拥塞窗口的值减一。

在步骤s310中,若往返时延的抖动处于非拥塞抖动范围内,则按照第五预设微步长缩小拥塞窗口。

往返时延的抖动处于非拥塞抖动范围内,表明未发生网络拥塞,可平缓地适当缩小拥塞窗口。第五预设微步长为细微调节使用的步长,可根据工作场景、工作需求和工作经验设定,在此并不限定。在一个示例中,可以设置调节周期,每经过一个调节周期,按照第五预设微步长缩小一次拥塞窗口。比如,每经过一次传输报文的往返时延的时长,则将拥塞窗口的值减一。

需要说明的是,上述第一预设微步长、第二预设微步长、第三预设微步长、第四预设微步长和第五预设微步长可以相同,也可以不同。在一个示例中,第一预设粗步长均大于第一预设微步长、第二预设微步长、第三预设微步长、第四预设微步长和第五预设微步长。

在本发明实施例中,判定未发生网络拥塞,则平缓适当调整拥塞窗口,可最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

在一个示例中,也可先进行网络丢包参数的判断;在网络丢包参数满足网络拥塞判断条件中任意一项的条件下,再进行带宽的判断;在当前带宽的下降幅度超出下降阈值的条件下,再进行往返时延的抖动的判断。

在另一个示例中,也可按照网络丢包参数的判断、往返时延的抖动的判断和带宽的判断的顺序实现网络拥塞的判断。在又一个示例中,也可按照带宽的判断、往返时延的抖动的判断和网络丢包参数的判断的顺序实现网络拥塞的判断。在再一个示例中,也可按照网络丢包参数的判断、带宽的判断和往返时延的抖动的判断的顺序实现网络拥塞的判断。

图5为本发明一实施例中一种数据传输装置400的结构示意图。如图5所示,数据传输装置400可包括第一判断单元401、第二判断单元402、第一处理单元403、第三判断单元404、第二处理单元405、第四判断单元406、第三处理单元407、第四处理单元408、第五处理单元409、第六处理单元410、第一调整单元411和第二调整单元412。

第一判断单元401,用于获取发送端所发送的传输报文的往返时延的抖动,判断传输报文的往返时延的抖动是否大于拥塞判断阈值,往返时延的抖动表示传输报文的往返时延偏离基准往返时延的幅度。

其中,第一判断单元401的相关说明可参见上述实施例中的步骤s101的相关说明部分。

第二判断单元402,用于若往返时延的抖动大于拥塞判断阈值,则获取当前带宽,判断当前带宽的下降幅度是否超出下降阈值。

其中,第二判断单元402的相关说明可参见上述实施例中的步骤s102的相关说明部分。

第一处理单元403,用于若当前带宽未下降或下降幅度未超出下降阈值,则按照第一预设微步长缩小拥塞窗口。

其中,第一处理单元403的相关说明可参见上述实施例中的步骤s103的相关说明部分。

在本发明实施例中,可利用传输报文的往返时延的抖动和网络的带宽,共同进行网络是否发生拥塞的判断。在判断往返时延的抖动大于拥塞判断阈值,但当前带宽未下降或下降幅度未超出下降阈值时,判断数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。并未对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

第三判断单元404,用于若当前带宽的下降幅度超出下降阈值,则获取网络丢包参数,判断网络丢包参数是否满足网络拥塞判断条件,网络丢包参数记录了传输报文在传输过程中数据包的丢包信息,网络拥塞条件包括至少一项条件。

其中,第三判断单元404的相关说明可参见上述实施例中的步骤s104的相关说明部分。

第二处理单元405,用于若网络丢包参数满足网络拥塞判断条件中任意一项,则按照第一预设粗步长缩小拥塞窗口,第一预设粗步长大于第一预设微步长。

其中,第二处理单元405的相关说明可参见上述实施例中的步骤s105的相关说明部分。

在一个示例中,网络丢包参数包括连续丢包数目,网络拥塞判断条件包括连续丢包数目大于等于两个;和/或,网络丢包参数包括丢包率,网络拥塞判断条件包括丢包率大于预设的拥塞丢包率阈值;和/或,网络丢包参数包括丢包重传报文数目,网络拥塞判断条件包括丢包重传报文数目大于预设的拥塞丢包重传报文阈值。

在本发明实施例中,结合往返时延抖动、带宽和网络丢包参数三个方向的参数,判断是否发生网络拥塞丢包,进一步提高了判断网络拥塞丢包的准确性。当传输报文的往返时延抖动大于拥塞判断阈值,且当前带宽的下降幅度超出下降阈值,且网络丢包参数满足网络拥塞判断条件中任意一项时,确定发生网络拥塞丢包,较大幅度缩小拥塞窗口,以缓解网络拥塞情况。

第四判断单元406,用于若往返时延的抖动小于等于拥塞判断阈值,则判断往返时延的抖动是否处于非拥塞抖动范围内,非拥塞抖动范围为传输报文在传输过程中未发生网络拥塞时往返时延的抖动的变化范围,且拥塞判断阈值大于非拥塞抖动范围的上限值。

其中,第四判断单元406的相关说明可参见上述实施例中的步骤s107的相关说明部分。

第三处理单元407,用于若往返时延的抖动处于非拥塞抖动范围内,保持拥塞窗口不变。

其中,第三处理单元407的相关说明可参见上述实施例中的步骤s110的相关说明部分。

第四处理单元408,用于若往返时延的抖动小于非拥塞抖动范围的下限值,则按照第二预设微步长扩大拥塞窗口。

其中,第四处理单元408的相关说明可参见上述实施例中的步骤s108的相关说明部分。

第五处理单元409,用于若往返时延的抖动大于非拥塞抖动范围的上限值,则按照第三预设微步长缩小拥塞窗口。

其中,第五处理单元409的相关说明可参见上述实施例中的步骤s109的相关说明部分。

第六处理单元410,用于若网络丢包参数均未满足网络拥塞判断条件中任意一项,则按照第四预设微步长缩小拥塞窗口。

其中,第六处理单元410的相关说明可参见上述实施例中的步骤s106的相关说明部分。

在本发明实施例中,判定未发生网络拥塞,则平缓适当调整拥塞窗口,可最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

第一调整单元411,被配置为若当前带宽未下降或下降幅度未超出下降阈值,按照第一预定补偿步长,增加非拥塞抖动范围的上限值。

其中,第一调整单元411的相关说明可参见上述实施例中的步骤s111的相关说明部分。

第二调整单元412,被配置为若网络丢包参数均未满足网络拥塞判断条件中任意一项,按照第二预定补偿步长,增加非拥塞抖动范围的上限值。

其中,第二调整单元412的相关说明可参见上述实施例中的步骤s112的相关说明部分。

在本发明实施例中,可以根据往返时延的抖动判断、带宽判断、网络丢包参数判断的三个判断所反馈的内容,一方面,调节拥塞窗口,以实现在避免或缓解网络拥塞的情况下最大限度保证网络带宽的利用率的目的;另一方面,也可根据三个判断的反馈,对非拥塞抖动范围进行优化更新,从而提高网络拥塞判断的精准度和效率。

图6为本发明另一实施例中一种数据传输装置500的结构示意图。如图6所示,数据传输装置500可包括第一判断单元501、第二判断单元502、第一处理单元503、第三判断单元504、第二处理单元505、第四判断单元506、第三处理单元507、第四处理单元508、第五处理单元509、第六处理单元510、第一调整单元511和第二调整单元512。

第一判断单元501,用于获取发送的传输报文的往返时延的抖动,判断传输报文的往返时延的抖动是否大于拥塞判断阈值,往返时延的抖动表征传输报文的往返时延偏离基准往返时延的幅度。

其中,第一判断单元501的相关说明可参见上述实施例中的步骤s201的相关说明部分。

第二判断单元502,用于若往返时延的抖动大于拥塞判断阈值,则获取网络丢包参数,判断网络丢包参数是否满足网络拥塞判断条件,网络丢包参数记录了传输报文在传输过程中数据包的丢包信息。

其中,第二判断单元502的相关说明可参见上述实施例中的步骤s202的相关说明部分。

第一处理单元503,用于若网络丢包参数均未满足网络拥塞判断条件中任意一项,则按照第一预设微步长缩小拥塞窗口,网络拥塞条件包括至少一项条件。

其中,第一处理单元503的相关说明可参见上述实施例中的步骤s203的相关说明部分。

在一个示例中,网络丢包参数包括连续丢包数目,网络拥塞判断条件包括连续丢包数目大于等于两个;和/或,网络丢包参数包括丢包率,网络拥塞判断条件包括丢包率大于预设的拥塞丢包率阈值;和/或,网络丢包参数包括丢包重传报文数目,网络拥塞判断条件包括丢包重传报文数目大于预设的拥塞丢包重传报文阈值。

在本发明实施例中,利用传输报文的往返时延的抖动和网络丢包参数,共同进行网络是否发生拥塞的判断。在判断往返时延的抖动大于拥塞判断阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项时,判断数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。并未对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

第三判断单元504,用于若网络丢包参数满足网络拥塞判断条件中任意一项,则获取当前带宽,判断当前带宽的下降幅度是否超出下降阈值。

其中,第三判断单元504的相关说明可参见上述实施例中的步骤s204的相关说明部分。

第二处理单元505,用于若当前带宽的下降幅度超出下降阈值,则按照第一预设粗步长缩小拥塞窗口,第一预设粗步长大于第一预设微步长。

其中,第二处理单元505的相关说明可参见上述实施例中的步骤s205的相关说明部分。

在本发明实施例中,结合往返时延的抖动、网络丢包参数和带宽三个方向的参数,判断是否发生网络拥塞丢包,进一步提高了判断网络拥塞丢包的准确性。当传输报文的往返时延的抖动大于拥塞判断阈值,且网络丢包参数满足网络拥塞判断条件中任意一项,且当前带宽的下降幅度超出下降阈值时,确定发生网络拥塞丢包,较大幅度缩小拥塞窗口,以缓解网络拥塞情况。

第四判断单元506,用于若往返时延的抖动小于等于拥塞判断阈值,则判断往返时延的抖动是否处于非拥塞抖动范围内,非拥塞抖动范围为传输报文在传输过程中未发生网络拥塞时往返时延的抖动的变化范围,且拥塞判断阈值大于非拥塞抖动范围的上限值。

其中,第四判断单元506的相关说明可参见上述实施例中的步骤s206的相关说明部分。

第三处理单元507,用于若往返时延抖动处于非拥塞抖动范围内,保持拥塞窗口不变。

其中,第三处理单元507的相关说明可参见上述实施例中的步骤s209的相关说明部分。

第四处理单元508,用于若往返时延的抖动小于非拥塞抖动范围的下限,则按照第二预设微步长扩大拥塞窗口。

其中,第四处理单元508的相关说明可参见上述实施例中的步骤s207的相关说明部分。

第五处理单元509,用于若往返时延的抖动大于非拥塞抖动范围的上限,则按照第三预设微步长缩小拥塞窗口。

其中,第五处理单元509的相关说明可参见上述实施例中的步骤s208的相关说明部分。

第六处理单元510,用于若当前带宽未下降或下降幅度未超出下降阈值,则按照第四预设微步长缩小拥塞窗口值

其中,第六处理单元510的相关说明可参见上述实施例中的步骤s210的相关说明部分。

在本发明实施例中,确定是随机丢包,并未发生网络拥塞,数据传输通畅,可平缓地适当扩大拥塞窗口,对拥塞窗口进行微调。或者,平缓地适当缩小拥塞窗口,对拥塞窗口进行微调。并未对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。或者确定未发生网络拥塞,且数据传输通畅,保持拥塞窗口不变,避免不必要的占用资源的拥塞窗口调节。

第一调整单元511,被配置为若网络丢包参数均未满足网络拥塞判断条件中任意一项,按照第一预定补偿步长,增加非拥塞抖动范围的上限值。

其中,第一调整单元511的相关说明可参见上述实施例中的步骤s211的相关说明部分。

第二调整单元512,被配置为若当前带宽未下降或下降幅度未超出下降阈值,按照第二预定补偿步长,增加非拥塞抖动范围的上限值。

其中,第二调整单元512的相关说明可参见上述实施例中的步骤s212的相关说明部分。

在本发明实施例中,当传输报文的往返时延的抖动大于拥塞判断阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项,表明未发生网络拥塞。或者,当传输报文的往返时延的抖动大于拥塞判断阈值,且当前带宽下降幅度超出下降阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项,表明未发生网络拥塞。为了后续的网络拥塞判断更加精准且效率更高,可适当增加非拥塞抖动范围的上限值,拓宽非拥塞抖动范围,从而实现对非拥塞抖动范围的设定的优化。

图7为本发明又一实施例中一种数据传输装置600的结构示意图。如图7所示,数据传输装置600可包括第一判断单元601、第二判断单元602、第一处理单元603、第三判断单元604、第二处理单元605、第三处理单元606、第四判断单元607、第四处理单元608、第五处理单元609和第六处理单元610。

第一判断单元601,用于获取当前带宽,判断当前带宽的下降幅度是否超出下降阈值。

其中,第一判断单元601的相关说明可参见上述实施例中的步骤s301的相关说明部分。

第二判断单元602,用于若当前带宽的下降幅度超出下降阈值,则获取网络丢包参数,并判断网络丢包参数是否满足网络拥塞判断条件,网络丢包参数记录了传输报文在传输过程中数据包的丢包信息。

其中,第二判断单元602的相关说明可参见上述实施例中的步骤s302的相关说明部分。

第一处理单元603,用于若网络丢包参数均未满足网络拥塞判断条件中任意一项,则按照第一预设微步长缩小拥塞窗口。

其中,第一处理单元603的相关说明可参见上述实施例中的步骤s303的相关说明部分。

在一个示例中,网络丢包参数包括连续丢包数目,网络拥塞判断条件包括连续丢包数目大于等于两个;和/或,网络丢包参数包括丢包率,网络拥塞判断条件包括丢包率大于预设的拥塞丢包率阈值;和/或,网络丢包参数包括丢包重传报文数目,网络拥塞判断条件包括丢包重传报文数目大于预设的拥塞丢包重传报文阈值。

在本发明实施例中,在当前带宽的下降幅度超出下降阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项时,确定数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。避免对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

第三判断单元604,用于若网络丢包参数满足网络拥塞判断条件中任意一项,则获取传输报文的往返时延的抖动,判断往返时延的抖动是否大于拥塞判断阈值。

其中,第三判断单元604的相关说明可参见上述实施例中的步骤s304的相关说明部分。

第二处理单元605,用于若往返时延的抖动大于拥塞判断阈值,则按照第一预设粗步长缩小拥塞窗口。

其中,第二处理单元605的相关说明可参见上述实施例中的步骤s305的相关说明部分。

第三处理单元606,用于若当前带宽未下降或下降幅度未超出下降阈值,则按照第二预设微步长缩小拥塞窗口。

其中,第三处理单元606的相关说明可参见上述实施例中的步骤s306的相关说明部分。

在本发明实施例中,在经历了上述实施例中的带宽和网络丢包参数的判定后,引入往返时延抖动,进一步提高判定网络拥塞引起的丢包的准确性。当当前带宽的下降幅度超出下降阈值,且网络丢包参数满足网络拥塞判断条件中任意一项,且传输报文的往返时延的抖动大于拥塞判断阈值时,确定发生网络拥塞丢包,较大幅度缩小拥塞窗口,以缓解网络拥塞情况。

第四判断单元607,用于若往返时延的抖动小于等于拥塞判断阈值,则判断往返时延的抖动是否处于非拥塞抖动范围内。

其中,第四判断单元607的相关说明可参见上述实施例中的步骤s307的相关说明部分。

第四处理单元608,用于若往返时延的抖动大于非拥塞抖动范围的上限值,则按照第三预设微步长缩小拥塞窗口。

其中,第四处理单元608的相关说明可参见上述实施例中的步骤s308的相关说明部分。

第五处理单元609,用于若往返时延的抖动小于非拥塞抖动范围的下限值,则按照第四预设微步长缩小拥塞窗口。

其中,第五处理单元609的相关说明可参见上述实施例中的步骤s309的相关说明部分。

第六处理单元610,用于若往返时延的抖动处于非拥塞抖动范围内,则按照第五预设微步长缩小拥塞窗口。

其中,第六处理单元610的相关说明可参见上述实施例中的步骤s310的相关说明部分。

在本发明实施例中,确定数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。避免对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

结合图1至图7描述的根据本发明实施例的数据传输方法和装置可以由发送端700来实现。图8为发明一实施例中的一种发送端700的硬件结构示意图。

发送端700包括存储器701、处理器702及存储在存储器701上并可在处理器702上运行的计算机程序。

在一个示例中,上述处理器702可以包括中央处理器(cpu),或者特定集成电路(asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器701可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器701可包括hdd、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器701可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器701可在发送端700的内部或外部。在特定实施例中,存储器701是非易失性固态存储器。在特定实施例中,存储器701包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

处理器702通过读取存储器701中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行上述各个实施例中的数据传输方法。

在一个示例中,发送端700还可包括通信接口703和总线704。其中,如图8所示,存储器701、处理器702、通信接口703通过总线704连接并完成相互间的通信。

通信接口703,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。也可通信接口703接入输入设备和/或输出设备。

总线704包括硬件、软件或两者,将发送端700的部件彼此耦接在一起。举例来说而非限制,总线704可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线704可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

本发明一实施例还提供一种存储介质,该存储介质上存储有程序,该程序被处理器执行时可实现上述各个实施例中的数据传输方法。

本发明实施例提供的数据传输设备和存储介质,可利用传输报文的往返时延的抖动和网络的带宽,共同进行网络是否发生拥塞的判断。在判断往返时延的抖动大于拥塞判断阈值,但当前带宽未下降或下降幅度未超出下降阈值时,判断数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。或者,利用传输报文的往返时延的抖动和网络丢包参数,共同进行网络是否发生拥塞的判断。在判断往返时延的抖动大于拥塞判断阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项时,判断数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。或者,可利用网络的带宽和网络丢包参数,共同进行网络是否发生拥塞的判断。在判断网络的带宽的下降幅度超出下降阈值,但网络丢包参数均未满足网络拥塞判断条件中任意一项时,判断数据传输出现的是随机丢包,并未发生网络拥塞,对拥塞窗口进行微调。并未对拥塞窗口进行大幅度调整,避免了出现网络拥塞误判的情况,从而在缓解随机丢包所带来的影响的基础上,最大限度的保证了网络带宽的利用率,从而提高了网络带宽整体的利用率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1