数据传输控制方法及系统的制作方法

文档序号:7814884阅读:103来源:国知局
数据传输控制方法及系统的制作方法
【专利摘要】本发明提供了一种数据传输控制方法及系统,该数据传输控制方法包括分片步骤、封包步骤、调度步骤、会话步骤、拥塞预测步骤、拥塞避免步骤。本发明的有益效果是:在本发明中,传输控制分为拥塞预测、拥塞控制、拥塞避免几个过程,在数据传输之前进行预测,采用策略避免传输质量出现问题,从而提高了传输质量,保证了传输效率。
【专利说明】数据传输控制方法及系统

【技术领域】
[0001]本发明涉及数据处理领域,尤其涉及数据传输控制方法及系统。

【背景技术】
[0002]随着社会的发展,科技的进步,在局域网或互联网中都要进行数据的传输,但是目前在数据传输过程中不可避免的会出现拥塞的情况,目前缺乏有效的应对机制和控制方法,造成传输质量降低。


【发明内容】

[0003]为了解决现有技术中的问题,本发明提供了一种数据传输控制方法。
[0004]本发明提供了一种数据传输控制方法,包括如下步骤:
[0005]分片步骤:将上层交付的数据块进行分片,并将每个分片加上时间序号;
[0006]封包步骤:每个分片按报文封装成数据包,数据包进入待发送队列;
[0007]调度步骤:将待发送队列里面的数据包调度到发送队列中;
[0008]通过以下步骤完成数据的调度及传输:
[0009]会话步骤:判断会话是否建立,若是,那么执行拥塞预测步骤,否则结束;
[0010]拥塞预测步骤:计算RTT,当式(3-1)成立时进入拥塞避免步骤,
[0011](I/min(RTT) -1/CRTT )/(^1/RTT(j)/n) > T(3-1)




/=1
[0012]式中RTT表示时间端内通信往返时延向量,CRTT为当前的往返时延,η为向量RTT长度,T为拥塞避免临界阀值,拥塞解除处理中状态计数增加一次T减少设定数值,反之增加设定数值,min为最小函数;
[0013]拥塞避免步骤:将发送队列窗口调整至拥塞预测窗口,待发送队列超过阀值时,不接收上层非I帧数据;进入拥塞解除处理中状态,处于发送队列的超时的非I帧分片丢弃,当前时钟与RTT之和小于I帧分片延时播放时间重发,否则丢弃。
[0014]作为本发明的进一步改进,在所述会话步骤中,实现会话连接的过程为:会话由发端发起,调用入口,创建会话后初始状态为连接中,收到对方成功回应时进入拥塞预测步骤;实现会话关闭的过程为:当会话收到上层的关闭命令时,先将发送队列里面的分片发送完,将状态设为正在关闭状态,启动定时器T2,然后通知对端关闭会话,收到对端的回应时或T2超时,会话关闭。
[0015]作为本发明的进一步改进,RTT计算过程只有当会话处于拥塞预测、拥塞避免和拥塞处理3个状态下执行,当会话由拥塞避免状态进入拥塞处理状态和拥塞避免状态进入拥塞预测状态时进行自适应调整。
[0016]作为本发明的进一步改进,在所述拥塞避免步骤中,将发送窗口切换为拥塞避免窗口,同时将待发送区的视频非关键帧丢弃,丢弃发送区所有超时的非关键帧,对于关键帧,如果当前时间与平均RTT之和小于播放时间与延时T时重发。
[0017]作为本发明的进一步改进,在拥塞处理步骤中,将发送窗口切换为拥塞避免窗口,同时将丢弃发送区和待发送区所有的非关键帧,对于关键帧如果当前时间与平均RTT之和小于播放时间与延时T时重发,数据发送完成后重新启动拥塞预测步骤,如果不满足拥塞条件了,会话进入拥塞预测步骤。
[0018]本发明还提供了一种数据传输控制系统,包括:
[0019]分片模块:用于将上层交付的数据块进行分片,并将每个分片加上时间序号;
[0020]封包模块:用于将每个分片按报文封装成数据包,数据包进入待发送队列;
[0021]调度模块:用于将待发送队列里面的数据包调度到发送队列中;
[0022]会话模块:用于判断会话是否建立,若是,那么执行拥塞预测模块,否则结束;
[0023]拥塞预测模块:用于计算RTT,当式(3-1)成立时进入拥塞避免模块,
[0024](l/min(RTT) -1 /CRTT )/(Jl / RTT(i) /n) >T(3-1)




?=1
[0025]式中RTT表示时间端内通信往返时延向量,CRTT为当前的往返时延,η为向量RTT长度,T为拥塞避免临界阀值,拥塞解除处理中状态计数增加一次T减少设定数值,反之增加设定数值,min为最小函数;
[0026]拥塞避免模块:将发送队列窗口调整至拥塞预测窗口,待发送队列超过阀值时,不接收上层非I帧数据;进入拥塞解除处理中状态,处于发送队列的超时的非I帧分片丢弃,当前时钟与RTT之和小于I帧分片延时播放时间重发,否则丢弃。
[0027]作为本发明的进一步改进,在所述会话模块中,实现会话连接的过程为:会话由发端发起,调用入口,创建会话后初始状态为连接中,收到对方成功回应时进入拥塞预测模块;实现会话关闭的过程为:当会话收到上层的关闭命令时,先将发送队列里面的分片发送完,将状态设为正在关闭状态,启动定时器T2,然后通知对端关闭会话,收到对端的回应时或T2超时,会话关闭。
[0028]作为本发明的进一步改进,RTT计算过程只有当会话处于拥塞预测、拥塞避免和拥塞处理3个状态下执行,当会话由拥塞避免状态进入拥塞处理状态和拥塞避免状态进入拥塞预测状态时进行自适应调整。
[0029]作为本发明的进一步改进,在所述拥塞避免模块中,将发送窗口切换为拥塞避免窗口,同时将待发送区的视频非关键帧丢弃,丢弃发送区所有超时的非关键帧,对于关键帧,如果当前时间与平均RTT之和小于播放时间与延时T时重发。
[0030]作为本发明的进一步改进,在拥塞处理模块中,将发送窗口切换为拥塞避免窗口,同时将丢弃发送区和待发送区所有的非关键帧,对于关键帧如果当前时间与平均RTT之和小于播放时间与延时T时重发,数据发送完成后重新启动拥塞预测模块,如果不满足拥塞条件了,会话进入拥塞预测模块。
[0031]本发明的有益效果是:在本发明中,传输控制分为拥塞预测、拥塞控制、拥塞避免几个过程,在数据传输之前进行预测,采用策略避免传输质量出现问题,从而提高了传输质量,保证了传输效率。

【专利附图】

【附图说明】
[0032]图1是本发明的会话控制状态图;
[0033]图2是本发明的会话连接过程实现流程图;
[0034]图3是本发明的会话关闭处理流程图;
[0035]图4是本发明的RTT计算与拥塞预测处理流程图;
[0036]图5是本发明的拥塞避免实现流程图;
[0037]图6是本发明的拥塞处理实现流程图。

【具体实施方式】
[0038]本发明公开了一种数据传输控制方法,包括如下步骤:
[0039]分片步骤:将上层交付的数据块进行分片,并将每个分片加上时间序号,以便接收端能够按正确的顺序进行重组,如果是局域网则分片大小为1460字节,如果互联网则分片大小与576字节;
[0040]封包步骤:每个分片按报文封装成数据包,数据包进入待发送队列;
[0041]调度步骤:将待发送队列里面的数据包调度到发送队列中;
[0042]通过以下步骤完成数据的调度及传输:
[0043]会话步骤:判断会话是否建立,若是,那么执行拥塞预测步骤,否则结束;
[0044]拥塞预测步骤:计算RTT,当式(3-1)成立时进入拥塞避免步骤,
[0045](IZrnin(RTT) - 1/CRTT) /(γ?/RTT(J)/n) > T(3-1)




/=1
[0046]式中RTT表示时间端内通信往返时延向量,CRTT为当前的往返时延,η为向量RTT长度,T为拥塞避免临界阀值,区间值为0.3?0.5,需要根据网络测试数据自适应调整,拥塞解除处理中状态计数增加一次T减少0.1,反之增加0.1,min为最小函数;
[0047]拥塞避免步骤:将发送队列窗口调整至拥塞预测窗口,待发送队列超过阀值一半时(以缓冲5秒的大小设置阀值),不接收上层非I帧数据;进入拥塞解除处理中状态,处于发送队列的超时的非I帧分片丢弃,当前时钟与RTT之和小于I帧分片延时播放时间重发,否则丢弃。
[0048]本发明的数据传输控制方法由KDT-STCP来实现,KDT-STCP协议是本发明的一种发送端控制协议。
[0049]图1所示为会话控制过程图,主要实现包括连接过程,关闭过程、分片重组过程,拥塞预测状态RTT计算与预测过程、拥塞避免状态和拥塞处理状态下控制过程实现。
[0050]在图1中,连接中状态表示为STCP_CONNECTING,拥塞预测状态(拥塞预测步骤)表示为STCP_PREDICTING,拥塞避免状态(拥塞避免步骤)表示为STCP_AV0IDING,拥塞处理状态(拥塞处理步骤)表示STCP_PROCEEDING,正在关闭状态表示为STCP_C10SEING。[0051 ] 如图2所示,KDT-STCP会话连接过程实现:KDT_STCP会话由发端发起,调用TransMod:: CreateRTCPSess1n入口,创建RTCP会话后初始状态为连接中,收到对方成功回应时进入拥塞预测步骤,该拥塞预测步骤也可称为入拥塞预测状态。
[0052]如图3所示,当KDT-STCP会话收到上层的OnCloseSess1n命令时,先将发送队列里面的分片发送完,将状态设为STCP_CL0SING,启动定时器T2,T2超时时间为3秒。然后通知对端关闭会话,收到对端的回应时或T2超时,会话关闭。
[0053]如图4所示,RTT计算过程只有当STCP会话处于拥塞预测、拥塞避免和拥塞处理3个状态下执行,算法有STCPSess1n::Predict函数封装,预测阀值初始化为0.5,当会话由拥塞避免状态进入拥塞处理状态和拥塞避免状态进入拥塞预测状态时进行自适应调整。
[0054]如图5所示,在拥塞避免步骤中,即在拥塞避免状态下将发送窗口切换为拥塞避免窗口,同时将待发送区的视频非关键帧丢弃,丢弃发送区所有超时的非关键帧,对于关键帧,如果当前时间与平均RTT之和小于播放时间与延时T时重发。
[0055]如图6所示,在拥塞处理步骤中,即在拥塞处理状态下将发送窗口切换为拥塞避免窗口,同时将丢弃发送区和待发送区所有的非关键帧,对于关键帧如果当前时间与平均RTT之和小于播放时间与延时T时重发,数据发送完成后重新启动拥塞预测过程(拥塞预测步骤),如果不满足拥塞条件了,会话进入拥塞预测状态(拥塞预测步骤)。
[0056]本发明还公开了一种数据传输控制系统,包括:
[0057]分片模块:用于将上层交付的数据块进行分片,并将每个分片加上时间序号;
[0058]封包模块:用于将每个分片按报文封装成数据包,数据包进入待发送队列;
[0059]调度模块:用于将待发送队列里面的数据包调度到发送队列中;
[0060]会话模块:用于判断会话是否建立,若是,那么执行拥塞预测模块,否则结束;
[0061]拥塞预测模块:用于计算RTT,当式(3-1)成立时进入拥塞避免模块,
[0062](l/min(RTT) - 1/CRTT ) /(了(/)/n) > T(3-1)




/=1
[0063]式中RTT表示时间端内通信往返时延向量,CRTT为当前的往返时延,η为向量RTT长度,T为拥塞避免临界阀值,拥塞解除处理中状态计数增加一次T减少设定数值,反之增加设定数值,min为最小函数;
[0064]拥塞避免模块:将发送队列窗口调整至拥塞预测窗口,待发送队列超过阀值时,不接收上层非I帧数据;进入拥塞解除处理中状态,处于发送队列的超时的非I帧分片丢弃,当前时钟与RTT之和小于I帧分片延时播放时间重发,否则丢弃。
[0065]在所述会话模块中,实现会话连接的过程为:会话由发端发起,调用入口,创建会话后初始状态为连接中,收到对方成功回应时进入拥塞预测模块;实现会话关闭的过程为:当会话收到上层的关闭命令时,先将发送队列里面的分片发送完,将状态设为正在关闭状态,启动定时器T2,然后通知对端关闭会话,收到对端的回应时或T2超时,会话关闭。
[0066]RTT计算过程只有当会话处于拥塞预测、拥塞避免和拥塞处理3个状态下执行,当会话由拥塞避免状态进入拥塞处理状态和拥塞避免状态进入拥塞预测状态时进行自适应调整。
[0067]在所述拥塞避免模块中,将发送窗口切换为拥塞避免窗口,同时将待发送区的视频非关键帧丢弃,丢弃发送区所有超时的非关键帧,对于关键帧,如果当前时间与平均RTT之和小于播放时间与延时T时重发。
[0068]在拥塞处理模块中,将发送窗口切换为拥塞避免窗口,同时将丢弃发送区和待发送区所有的非关键帧,对于关键帧如果当前时间与平均RTT之和小于播放时间与延时T时重发,数据发送完成后重新启动拥塞预测模块,如果不满足拥塞条件了,会话进入拥塞预测模块。
[0069]在本发明中,传输控制分为拥塞预测、拥塞控制、拥塞避免几个过程,在数据传输之前进行预测,采用策略避免传输质量出现问题,从而提高了传输质量,保证了传输效率。
[0070]而且本发明具有重发机制,根据音视频的采集播放特点优化重发机制,对于在重发等待队列中超过音视频传输最大可接收延时的数据包不进行重传,根据视频解码的特点设计重传策略,首先将视频解码时间按500毫秒一个时间片,首先更据视频数据解码时间片排序,同一个时间片内的视频帧优先重传视频I帧数据,然后视频P帧数据,最后重传B帧数据。这样就提高了视频传输的质量和重发效率,传输性能。
[0071]本发明根据不同的传输状态对发送缓冲器采用不同的策略进行管理,提高了传输的内存使用效率,同时提高传输的可靠性。
[0072]以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属【技术领域】的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
【权利要求】
1.一种数据传输控制方法,其特征在于,包括如下步骤: 分片步骤:将上层交付的数据块进行分片,并将每个分片加上时间序号;封包步骤:每个分片按报文封装成数据包,数据包进入待发送队列; 调度步骤:将待发送队列里面的数据包调度到发送队列中; 通过以下步骤完成数据的调度及传输: 会话步骤:判断会话是否建立,若是,那么执行拥塞预测步骤,否则结束;拥塞预测步骤:计算RTT,当式(3-1)成立时进入拥塞避免步骤, (I /min(RTT) - 1/CRTT ) /(Jl//?7T(/)/n) > T(3-1)



i=i 式中RTT表示时间端内通信往返时延向量,CRTT为当前的往返时延,η为向量RTT长度,T为拥塞避免临界阀值,拥塞解除处理中状态计数增加一次T减少设定数值,反之增加设定数值,min为最小函数; 拥塞避免步骤:将发送队列窗口调整至拥塞预测窗口,待发送队列超过阀值时,不接收上层非I帧数据;进入拥塞解除处理中状态,处于发送队列的超时的非I帧分片丢弃,当前时钟与RTT之和小于I帧分片延时播放时间重发,否则丢弃。
2.根据权利要求1所述的数据传输控制方法,其特征在于,在所述会话步骤中,实现会话连接的过程为:会话由发端发起,调用入口,创建会话后初始状态为连接中,收到对方成功回应时进入拥塞预测步骤;实现会话关闭的过程为:当会话收到上层的关闭命令时,先将发送队列里面的分片发送完,将状态设为正在关闭状态,启动定时器T2,然后通知对端关闭会话,收到对端的回应时或T2超时,会话关闭。
3.根据权利要求1所述的数据传输控制方法,其特征在于,RTT计算过程只有当会话处于拥塞预测、拥塞避免和拥塞处理3个状态下执行,当会话由拥塞避免状态进入拥塞处理状态和拥塞避免状态进入拥塞预测状态时进行自适应调整。
4.根据权利要求1所述的数据传输控制方法,其特征在于,在所述拥塞避免步骤中,将发送窗口切换为拥塞避免窗口,同时将待发送区的视频非关键帧丢弃,丢弃发送区所有超时的非关键帧,对于关键帧,如果当前时间与平均RTT之和小于播放时间与延时T时重发。
5.根据权利要求1所述的数据传输控制方法,其特征在于,在拥塞处理步骤中,将发送窗口切换为拥塞避免窗口,同时将丢弃发送区和待发送区所有的非关键帧,对于关键帧如果当前时间与平均RTT之和小于播放时间与延时T时重发,数据发送完成后重新启动拥塞预测步骤,如果不满足拥塞条件了,会话进入拥塞预测步骤。
6.一种数据传输控制系统,其特征在于,包括: 分片模块:用于将上层交付的数据块进行分片,并将每个分片加上时间序号; 封包模块:用于将每个分片按报文封装成数据包,数据包进入待发送队列;调度模块:用于将待发送队列里面的数据包调度到发送队列中; 会话模块:用于判断会话是否建立,若是,那么执行拥塞预测模块,否则结束; 拥塞预测模块:用于计算RTT,当式(3-1)成立时进入拥塞避免模块, (I/min(RTT) -1/CRTT )/(Ji/RTT(i)/n) > T(3-1)



/=1 式中RTT表示时间端内通信往返时延向量,CRTT为当前的往返时延,η为向量RTT长度,T为拥塞避免临界阀值,拥塞解除处理中状态计数增加一次T减少设定数值,反之增加设定数值,min为最小函数; 拥塞避免模块:将发送队列窗口调整至拥塞预测窗口,待发送队列超过阀值时,不接收上层非I帧数据;进入拥塞解除处理中状态,处于发送队列的超时的非I帧分片丢弃,当前时钟与RTT之和小于I帧分片延时播放时间重发,否则丢弃。
7.根据权利要求6所述的数据传输控制系统,其特征在于,在所述会话模块中,实现会话连接的过程为:会话由发端发起,调用入口,创建会话后初始状态为连接中,收到对方成功回应时进入拥塞预测模块;实现会话关闭的过程为:当会话收到上层的关闭命令时,先将发送队列里面的分片发送完,将状态设为正在关闭状态,启动定时器T2,然后通知对端关闭会话,收到对端的回应时或T2超时,会话关闭。
8.根据权利要求6所述的数据传输控制系统,其特征在于,RTT计算过程只有当会话处于拥塞预测、拥塞避免和拥塞处理3个状态下执行,当会话由拥塞避免状态进入拥塞处理状态和拥塞避免状态进入拥塞预测状态时进行自适应调整。
9.根据权利要求6所述的数据传输控制系统,其特征在于,在所述拥塞避免模块中,将发送窗口切换为拥塞避免窗口,同时将待发送区的视频非关键帧丢弃,丢弃发送区所有超时的非关键帧,对于关键帧,如果当前时间与平均RTT之和小于播放时间与延时T时重发。
10.根据权利要求6所述的数据传输控制系统,其特征在于,在拥塞处理模块中,将发送窗口切换为拥塞避免窗口,同时将丢弃发送区和待发送区所有的非关键帧,对于关键帧如果当前时间与平均RTT之和小于播放时间与延时T时重发,数据发送完成后重新启动拥塞预测模块,如果不满足拥塞条件了,会话进入拥塞预测模块。
【文档编号】H04L12/841GK104243342SQ201410483051
【公开日】2014年12月24日 申请日期:2014年9月19日 优先权日:2014年9月19日
【发明者】邓剑鸿 申请人:深圳市优视技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1