一种数据传输方法、装置、设备及系统的制作方法

文档序号:8433691阅读:216来源:国知局
一种数据传输方法、装置、设备及系统的制作方法
【技术领域】
[0001]本发明涉及移动通信技术领域,尤其涉及一种数据传输方法、装置、设备及系统。
【背景技术】
[0002]现有技术中,网络中的拥塞控制已经成为一个越来越重要的问题。例如万维网(WWW)等的互联网应用的爆炸性增长已经将当前的技术推到了极限,提高网络中数据包的传输速度改善拥塞控制机制已迫在眉睫。现有技术中,拥塞控制方案大多是从初始化拥塞窗口的角度出发,基于充分和完全地利用网络带宽的若干并行虚拟通信会话,和该通信会话的拥塞控制机制,确定该通信会话需要使用的拥塞窗口大小;或者设计出能够进行拥塞控制的系统和设备,限制数据的传输速率以进行流量控制,进而实现网络的拥塞控制。但这些方法尽管从一定程度上实现了网络的拥塞控制,但是另一方面会降低网络的吞吐量,并且不能保证整个传输链路的畅通,从而不能有效的实现整个网络的拥塞控制。
[0003]进一步地,在无限3G网络中这个问题则更加显著,在3G网络中,高速音频和视频应用通过用户数据报协议(M)P,UserDatagramProtocoI)交换数据,因为UDP是无连接的并且不可靠的传输协议,其不提供任何拥塞控制,从源发至目的地的大量数据分组可能会在网络中丢失或者拥塞。现有技术中,针对UDP的拥塞控制方法主要为在基于UDP进行数据传输的网络中使用拥塞通知的信令。但是,这种信令实现起来很困难并且不与基于非UDP进行数据传输的网络兼容。除了 UDP协议,还有大量数据包的传输是基于传输控制协议(TCP,Transmiss1n Control Protocol),但是现有技术中还没有针对TCP协议进行拥塞控制的有效方法。

【发明内容】

[0004]本发明实施例提供了一种数据传输方法、装置、设备及系统,用以解决现有技术中不能针对TCP协议有效进行拥塞控制的问题。
[0005]基于上述问题,本发明实施例提供的一种数据传输方法,包括:
[0006]通信端接收通信对端发送的携带业务数据的业务数据包,并生成对所述业务数据包进行确认的确认数据包;
[0007]当将所述确认数据包加入所述通信端协议栈传输层的缓冲队列时,将所述确认数据包优先于所述缓冲队列中的待发送非确认数据包发送,
[0008]其中,所述确认数据包用于所述通信对端协议栈传输层接收到所述确认数据包之后,将所述确认数据包对应的业务数据包,从所述通信对端协议栈传输层的滑动窗口中清除;且所述通信端协议栈的传输层以及通信对端协议栈的传输层均基于TCP协议进行数据传输。
[0009]本发明实施例提供的一种数据传输装置,包括:
[0010]接收模块,用于接收通信对端发送的携带业务数据的业务数据包,并生成对所述业务数据包进行确认的确认数据包;
[0011]发送模块,用于当将所述接收模块生成的确认数据包加入所述通信端协议栈传输层的缓冲队列时,将所述确认数据包优先于所述缓冲队列中的待发送非确认数据包发送,其中,所述确认数据包用于所述通信对端协议栈传输层接收到所述确认数据包之后,将所述确认数据包对应的业务数据包,从所述通信对端协议栈传输层的滑动窗口中清除;且所述装置协议栈的传输层以及通信对端协议栈的传输层均基于TCP协议进行数据传输。
[0012]本发明实施例提供的一种数据传输设备,包括:上述数据传输装置。
[0013]本发明实施例提供的一种数据传输系统,包括:至少两个上述数据传输设备。
[0014]本发明实施例的有益效果包括:
[0015]本发明实施例提供的一种数据传输方法、装置、设备及系统,通信端接收通信对端发送的携带业务数据的业务数据包,并生成对该业务数据包进行确认的确认数据包;当将该确认数据包加入通信端协议栈传输层的缓冲队列时,将确认数据包优先于该缓冲队列中的待发送非确认数据包发送,其中,确认数据包用于通信对端协议栈传输层接收到该确认数据包之后,将该确认数据包对应的业务数据包,从通信对端协议栈传输层的滑动窗口中清除;且通信端协议栈的传输层以及通信对端协议栈的传输层均基于TCP协议进行数据传输。本发明实施例中,通过将加入通信端协议栈传输层的缓冲队列的确认数据包优先于该缓冲队列中的待发送非确认数据包发送,使确认数据包能够及时被通信对端接收,从而及时释放通信对端协议栈传输层缓冲队列中成功发送的业务数据包,并且降低ACK包在无线信道中发生丢弃和拥塞的概率,减少了 TCP拥塞机制的频繁开启,减少了双向业务链路的拥塞。进一步的,由于本发明实施例中,能够及时发送确认数据包,加快了确认数据包的确认速度,也就加快了通信对端协议栈传输层缓冲队列中成功发送的业务数据包的释放速度,从而加快了通信对端协议栈传输层缓冲队列中业务数据的发送速度,有效地降低了各业务的时延,这样,在减少拥塞的同时,可以提高网络中数据包的传输速率,网络的吞吐量能够得到进一步的提升。
【附图说明】
[0016]图1为本发明实施例提供的一种数据传输方法的流程图;
[0017]图2为现有技术中基于TCP协议的传输层缓冲队列工作机制示意图;
[0018]图3为本发明实施例1提供的一种数据传输方法的流程图;
[0019]图4为本发明实施例2提供的一种数据传输方法的流程图;
[0020]图5为本发明实施例提供的一种数据传输装置的结构示意图。
【具体实施方式】
[0021]本发明实施例提供了一种数据传输方法、装置、设备及系统,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0022]本发明实施例提供一种数据传输方法,如图1所示,包括:
[0023]S101、通信端接收通信对端发送的携带业务数据的业务数据包,并生成对该业务数据包进行确认的确认数据包。
[0024]S102、当将SlOl中生成的确认数据包加入通信端协议栈传输层的缓冲队列时,将该确认数据包优先于该缓冲队列中的待发送非确认数据包发送,
[0025]其中,该确认数据包用于通信对端协议栈传输层接收到该确认数据包之后,将该确认数据包对应的业务数据包,从通信对端协议栈传输层的滑动窗口中清除;且通信端协议栈的传输层以及通信对端协议栈的传输层均基于TCP协议进行数据传输。
[0026]进一步的,图2为基于TCP协议的传输层缓冲队列工作机制示意图。如图2所示,现有技术中,基于TCP协议的传输层缓冲队列中存在四种状态的数据包,从左到右依次为:位于滑动窗口之外,已发送,并已接收到确认数据包,位于滑动窗口之内,已发送,但尚未接收到确认数据包,位于滑动窗口之内,未发送,位于滑动窗口之外,未发送。基于TCP协议的传输层缓冲队列中包括业务数据包和确认数据包,这些数据包的发送顺序由这些数据包进入缓冲队列的顺序决定,也就是说,不管是业务数据包还是确认数据包,都需要根据进入缓冲队列的顺序,在缓冲队列中排队进行发送,而位于滑动窗口之内,已发送,但尚未接收到确认数据包的业务数据包,需要等到通信对端接收到该业务数据包,并接收到通信对端针对该业务数据包发送到确认数据包之后,才能从滑动窗口中移除,使后续的数据进入滑动窗口,准备发送。本发明实施例中,通过将加入通信端协议栈传输层的缓冲队列的确认数据包优先于该缓冲队列中的待发送非确认数据包发送,加快了确认数据包的确认速度,也就加快了通信对端协议栈传输层缓冲队列中成功发送的业务数据包的释放速度,从而加快了通信对端协议栈传输层缓冲队列中业务数据的发送速度,有效地降低了各业务的时延,这样,在减少拥塞的同时,可以提高网络中数据包的传输速率,网络的吞吐量能够得到进一步的提升。
[0027]本发明实施例中,可以针对通信双方,不管是发送方还是接收方,当接收到业务数据包,生成确认数据包时,都可以作为通信端,当接收确认数据包时,都可以作为通信对端。
[0028]下面结合附图,用具体实施例对本发明提供的方法及相关设备进行详细描述。
[0029]实施例1:
[0030]本发明实施例1中,提供一种数据传输方法,如图3所示,具体包括如下步骤:
[0031]S301、通信端协议栈的传输层接收通信对端发送的携带业务数据的业务数据包,并生成对该业务数据包进行确认的确认数据包,其中,确认数据包携带有确认数据包标识。
[0032]本步骤中,通信端协议栈的传输层在生成确认数据包时,可以在确认数据包中增加一位标识位携带确认数据包标识,来标识该生成的数据包为确认数据包。例如,可以在TCP包头前增加一位标识位,来标识该数据包为确认数据包,当TCP数据包中存在该标识位时,标识该数据包为确认数据包,或
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1