CN114268588A - 数据传输方法、装置、电子设备及存储介质 - Google Patents
数据传输方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114268588A CN114268588A CN202111450577.9A CN202111450577A CN114268588A CN 114268588 A CN114268588 A CN 114268588A CN 202111450577 A CN202111450577 A CN 202111450577A CN 114268588 A CN114268588 A CN 114268588A
- Authority
- CN
- China
- Prior art keywords
- data
- window
- size
- congestion threshold
- receiving end
- 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 169
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004891 communication Methods 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 17
- 230000007423 decrease Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种数据传输方法、装置、电子设备及存储介质,所述方法包括:在持续向接收端发送数据单元时,持续执行拥塞阈值的调整操作,数据单元为数据发送窗口中的数据;其中,一次所述拥塞阈值的调整操作包括:基于所述拥塞阈值,执行至少一次对所述数据发送窗口的尺寸增加操作,直至接收到多个针对同一个数据单元的第一信息,则确定所述数据单元的传输发生传输拥塞,调整所述拥塞阈值,将所述数据发送窗口的尺寸减小为第一预设值;第一信息是接收端发送的,第一信息用于表征所述接收端确认接收到所述数据单元。通过控制数据发送窗口的尺寸大小,并且采集来自于接收端的第一信息,可以自动的调节点对点的数据传输量,实现高效的流量控制。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法、装置、电子设备及存储介质。
背景技术
通信网络是一个复杂***,在这个复杂***中,每个节点的设定和部署,都具有相对的独立性。因为通信网络没有一个核心的中央控制***,所以必须通过网络协议来相互协调。传输控制协议(Transmission Control Protocol,TCP)/网际互连协议(InternetProtocol,IP)是一种被广泛使用的协议,其基础协议包的内容比较单一。传统网络结构中的各网络节点一般安装了TCP/IP协议。
但在传统的网络结构中,控制面与数据转发面都集成在一个网络节点上,网络中的单个节点只能采集所有流经本节点的数据,对于本节点以外的数据,是没有办法获知的,导致基于TCP/IP协议的单个网络节点无法有效进行流量控制。
发明内容
本发明提供一种数据传输方法、装置、电子设备及存储介质,用以解决现有技术中单个网络节点无法有效进行流量控制的缺陷,实现高效的流量控制。
第一方面,本发明提供一种数据传输方法,包括:
在持续向接收端发送数据单元时,持续执行拥塞阈值的调整操作,所述数据单元为数据发送窗口中的数据;
其中,一次所述拥塞阈值的调整操作包括:
基于所述拥塞阈值,执行至少一次对所述数据发送窗口的尺寸增加操作,直至接收到多个针对同一个数据单元的第一信息,则确定所述数据单元的传输发生传输拥塞,调整所述拥塞阈值,将所述数据发送窗口的尺寸减小为第一预设值;
所述第一信息是所述接收端发送的,所述第一信息用于表征所述接收端确认接收到所述数据单元。
可选地,根据本发明提供的一种数据传输方法,一次所述尺寸增加操作,包括:
将所述数据发送窗口的尺寸增加目标尺寸;
其中,在所述数据发送窗口的尺寸小于或等于所述拥塞阈值的情况下,所述目标尺寸为第二预设值,所述第二预设值为N,所述N为正整数;
在所述数据发送窗口的尺寸大于所述拥塞阈值的情况下,所述目标尺寸为第一动态值,所述第一动态值为所述数据发送窗口的尺寸的倒数的M倍,所述M为正整数。
可选地,根据本发明提供的一种数据传输方法,所述将所述数据发送窗口的尺寸增加目标尺寸,包括:
基于所述第一信息,确定第一窗口格中的数据单元全部被所述接收端成功接收,所述第一窗口格为所述数据发送窗口中在发送时序上处于首位的窗口格;
将所述数据发送窗口的前端向后平移一格,将所述数据发送窗口的后端向后平移L格,所述L取值为所述目标尺寸加1;
其中,所述前端为数据发送窗口的两端中在发送时序上靠前的一端,所述后端为数据发送窗口的两端中在发送时序上靠后的一端。
可选地,根据本发明提供的一种数据传输方法,所述拥塞阈值的初始值为第三预设值,所述确定所述数据单元的传输发生传输拥塞,调整所述拥塞阈值,包括:
调整所述拥塞阈值为所述数据发送窗口在所述传输拥塞时刻的尺寸的二分之一。
可选地,根据本发明提供的一种数据传输方法,所述第一信息还用于表征所述接收端支持目标通信协议,所述目标通信协议用于所述数据单元的发送端和接收端之间的通信。
可选地,根据本发明提供的一种数据传输方法,所述数据发送窗口中的一个窗口格能容纳整数倍的所述数据单元。
第二方面,本发明还提供一种数据传输装置,包括:发送调整模块,其中:
发送调整模块用于在持续向接收端发送数据单元时,持续执行拥塞阈值的调整操作,所述数据单元为数据发送窗口中的数据;
其中,一次所述拥塞阈值的调整操作包括:
基于所述拥塞阈值,执行至少一次对所述数据发送窗口的尺寸增加操作,直至接收到多个针对同一个数据单元的第一信息,则确定所述数据单元的传输发生传输拥塞,调整所述拥塞阈值,将所述数据发送窗口的尺寸减小为第一预设值;
所述第一信息是所述接收端发送的,所述第一信息用于表征所述接收端确认接收到所述数据单元。
第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据传输方法的步骤。
第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据传输方法的步骤。
第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据传输方法的步骤。
本发明提供的数据传输方法、装置、电子设备及存储介质,通过在数据的发送端控制数据发送窗口的尺寸大小,并且在数据的发送端采集来自于接收端的第一信息,可以在没有第三方控制或缺乏网络整体数据流量的知识情况下,自动的调节点对点的数据传输量,可以在有限的带宽内以一个高的比例来传输数据,实现高效的流量控制。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的数据传输方法的流程示意图之一;
图2是本发明提供的接收第一信息的流程示意图;
图3是本发明提供的数据发送窗口的示意图;
图4是本发明提供的与接收端确定通信协议的流程示意图;
图5是本发明提供的数据传输方法的流程示意图之二;
图6是本发明提供的数据传输装置的结构示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图5描述本发明的数据传输方法。
图1是本发明提供的数据传输方法的流程示意图之一,如图1所示,其执行主体可以为数据的发送端,例如网络设备或手机终端等,所述方法包括:
步骤101,在持续向接收端发送数据单元时,持续执行拥塞阈值的调整操作,所述数据单元为数据发送窗口中的数据;
其中,一次所述拥塞阈值的调整操作包括:
基于所述拥塞阈值,执行至少一次对所述数据发送窗口的尺寸增加操作,直至接收到多个针对同一个数据单元的第一信息,则确定所述数据单元的传输发生传输拥塞,调整所述拥塞阈值,将所述数据发送窗口的尺寸减小为第一预设值;
所述第一信息是所述接收端发送的,所述第一信息用于表征所述接收端确认接收到所述数据单元。
具体地,为了对数据传输过程进行流量控制,发送端可以持续向接收端发送数据发送窗口中的数据单元,进而通过控制数据发送窗口的增加和减少,可以控制在途数据单元的数量的增加或减少。
具体地,在一次拥塞阈值的调整操作的过程中,在基于第一信息确定传输未发生拥塞的情况下,可以执行至少一次对所述数据发送窗口的尺寸递增操作,以增加对通信带宽的利用率;在基于第一信息确定发生传输拥塞的情况下,则可以将数据发送窗口的尺寸减少为第一预设值,以减少对通信带宽的占用,使得传输恢复通畅。进而发送端通过持续执行拥塞阈值的调整操作,可以持续的调整对通信带宽的利用率,进而实现动态的流量控制。
具体地,在一次拥塞阈值的调整操作的过程中,发送端可以基于拥塞阈值确定对数据发送窗口的尺寸的具体增加操作,使得数据发送窗口的尺寸以一个合适的步长增加,在确定发生传输拥塞的时刻,可以调整拥塞阈值。
可选地,数据单元可以是需要向接收端发送的数据。
可选地,发送数据发送窗口中的数据单元,可以是将数据发送窗口中的数据单元编上顺序号之后,将数据发送窗口中的数据单元同时发出。
可选地,数据发送窗口的尺寸可以被调整。
可选地,数据发送窗口可以被划分为若干个窗口格,每个窗口格中可以容纳一定数量的数据单元。
可选地,通过增加数据发送窗口的尺寸,可以增加数据发送窗口中的窗口格数量,进而可以增加数据发送窗口中可容纳的数据单元的数量。
可选地,发送端可以基于数据发送服务执行持续向接收端发送数据单元,发送端还可以基于数据发送软件执行持续向接收端发送数据单元,其中数据单元为数据发送窗口中的数据。
可以理解的是,数据发送窗口可以是流量控制过程中的重要控制变量。数据发送窗口和在途的数据单元数量之间可以是整数倍关系或指数关系,随着数据发送窗口的增加或减少,在途数据单元的数量会以整数倍或指数级别进行增加或减少,保证控制粒度的高灵敏性。
可以理解的是,数据发送窗口和在途数据单元的数量,在统计意义上的关系是稳定的,进而可以容易地计算出在途数据单元的数量,所以控制的效果不会反复波动。
可选地,通过将数据发送窗口的尺寸减小为第一预设值,可以实现对数据发送窗口的初始化,也即在每一次拥塞阈值的调整操作过程中,第一预设值可以作为数据发送窗口的尺寸的初始值。
可选地,第一预设值可以是1,可以是2,也可以是3,对此不作具体限定。
可选地,在确定发生传输拥塞的情况下,可以在基于第一信息确定数据发送窗口中的数据单元已全部被接收端成功接收之后,将数据发送窗口的尺寸大小减小为第一预设值。
其中,接收端在接收到一个数据单元后,则可以向发送端发送该数据单元对应的第一信息;因此发送端可以在确定发送端接收到了数据发送窗口中所有的数据单元对应的所有第一信息时,确定数据发送窗口中的数据单元已全部被接收端成功接收;即为上述基于第一信息确定数据发送窗口中的数据单元已全部被接收端成功接收。
可选地,将数据发送窗口的尺寸大小减小为第一预设值具体可以是,将数据发送窗口的前端与后端对齐,再将后端向后平移第一预设值的格数,其中,前端为数据发送窗口的两端中在发送时序上靠前的一端,后端为数据发送窗口的两端中在发送时序上靠后的一端。
可以理解的是,将数据发送窗口减小为第一预设值,可以将数据发送窗口的尺寸调整为一个合适的初始值,进而使得基于该数据发送窗口向接收端发送数据单元不会造成传输拥塞。
可选地,所述持续向接收端发送数据发送窗口中的数据单元,包括:
确定第一数据单元,所述第一数据单元为新加入所述数据发送窗口的数据单元;
向所述接收端发送所述第一数据单元。
可以理解的是,发送端可以监测是否有新加入所述数据发送窗口的第一数据单元,在确定有第一数据单元的情况下,可以向接收端发送第一数据单元。进而在执行一次对数据发送窗口的尺寸递增操作之后,发送端可以在确定数据发送窗口中有第一数据单元的情况下,向接收端发送第一数据单元,以增加在途数据单元。
可选地,具体的尺寸增加操作可以是基于拥塞阈值确定的。
例如,在数据发送窗口的尺寸小于或等于拥塞阈值的情况下,可以确定目标递增操作为一种递增操作,在数据发送窗口的尺寸大于拥塞阈值的情况下,可以确定目标递增操作为另一种递增操作。
可选地,第一信息可以是用于表征接收端确认接收到数据单元的信息。
可选地,接收所述接收端发送的第一信息,可以是基于协议规定中的接收确认机制,通过接收所述接收端对于收到数据的回应,来获得接收端的数据联通信息(第一信息)。
例如,可以基于TCP/IP协议中的接收确认或三次握手机制。
例如,可以基于目标通信协议中的接收确认机制,目标通信协议可以是自定义的通信协议。
可选地,发送端接收到接收端发送的K个针对同一个数据单元的第一信息,可以确定数据单元的传输发生传输拥塞,其中K可以是大于等于2的正整数,例如K可以是2,可以是3,也可以是4,对此不作限定。
可选地,图2是本发明提供的接收第一信息的流程示意图,如图2所示,K可以为3,如果接收到3次及以上的关于同一个数据单元的回复(第一信息),则可以判定为通信链路发生拥塞,3次可以保证丢包至少发生了2次,起到双重校验作用。同时,采用该确认信息作为数据拥塞的标志,具有采集方便,信号准确的优点。
可以理解的是,第一信息可以是流量控制过程中的反馈变量,在正常情况下,由发送端发送的数据单元,在规定时间内会收到接收方返回的确认信息;如果发送的数据包丢失,或者是损坏,发送方在规定时间内没有收到接收方的确认信息,发送方就会重新发送。进而,如果在发送方接收到接收方多个(例如3个)关于同样数据单元的确认信息,那么就有很大可能性,发送方和接收方之间的链接发生拥塞。
可以理解的是,从单一通信节点的视角出发,数据发送窗口是比较容易控制的变量,而基于接收端的重复确认数据包(第一信息)则是物理意义明确的拥塞信号,按照控制论的控制反馈闭环链路,这一对指标(数据发送窗口和第一信息)能够形成一个最小的闭环控制***,能够有效的控制网络的数据传输量。
可以理解的是,一次拥塞阈值的调整操作的过程中,发送端可以基于第一信息,在未发生传输拥塞的情况下,通过增加数据发送窗口的尺寸,可以增加对通信带宽的利用率,在发生传输拥塞的情况下,通过将数据发送窗口的尺寸减少为第一预设值,可以减少对通信带宽的占用,使得传输恢复通畅。进而发送端通过持续执行拥塞阈值的调整操作,可以持续的调整对通信带宽的利用率,进而实现动态的流量控制。
因此,本发明提供的数据传输方法具有以下有益效果:
(1)实时调整;
在网络畅通时能够加快网络数据传输量,在网络堵塞时能够降低网络数据传输量,做到实时的调整。
(2)保证整个网络的有效性;
通过每一对点对点数据传输的优化,能够在整个网络中建立一种自适应的网络数据传输方式,保证整个网络的有效性。
(3)容易实现;
可以仅使用TCP协议中的一个接收确认的功能,与其它网络部分的耦合性低,在复杂***中容易获得实现。
本发明提供的数据传输方法,通过在数据的发送端控制数据发送窗口的尺寸大小,并且在数据的发送端采集来自于接收端的第一信息,可以在没有第三方控制或缺乏网络整体数据流量的知识情况下,自动的调节点对点的数据传输量,可以在有限的带宽内以一个高的比例来传输数据,实现高效的流量控制。
可选地,一次所述尺寸增加操作,包括:
将所述数据发送窗口的尺寸增加目标尺寸;
其中,在所述数据发送窗口的尺寸小于或等于所述拥塞阈值的情况下,所述目标尺寸为第二预设值,所述第二预设值为N,所述N为正整数;
在所述数据发送窗口的尺寸大于所述拥塞阈值的情况下,所述目标尺寸为第一动态值,所述第一动态值为所述数据发送窗口的尺寸的倒数的M倍,所述M为正整数。
具体地,在数据发送窗口的尺寸小于或等于拥塞阈值的情况下,一次尺寸增加操作可以是将数据发送窗口的尺寸增加第二预设值;在数据发送窗口的尺寸大于拥塞阈值的情况下,一次尺寸增加操作可以是将数据发送窗口的尺寸增加第一动态值。
可选地,第二预设值可以是1,可以是2,也可以是3,对此不作限定。
可以理解的是,第一动态值可以小于第二预设值,进而采用第一动态值作为对数据发送窗口尺寸的增加步长,可以实现对数据发送窗口更精细的调整。
可以理解的是,在数据发送窗口的尺寸增加到大于拥塞阈值之后,可以预见的是数据传输即将出现拥塞,进而可以采用第一动态值代替第二预设值,以更小的步长调节数据发送窗口的尺寸,实现对带宽利用率上限的逼近。
可选地,所述将所述数据发送窗口的尺寸增加目标尺寸,包括:
基于所述第一信息,确定第一窗口格中的数据单元全部被所述接收端成功接收,所述第一窗口格为所述数据发送窗口中在发送时序上处于首位的窗口格;
将所述数据发送窗口的前端向后平移一格,将所述数据发送窗口的后端向后平移L格,所述L取值为所述目标尺寸加1;
其中,所述前端为数据发送窗口的两端中在发送时序上靠前的一端,所述后端为数据发送窗口的两端中在发送时序上靠后的一端。
可选地,图3是本发明提供的数据发送窗口的示意图,如图3所示,在T1时刻数据发送窗口的尺寸可以是3,T1时刻数据发送窗口中包括3个窗口格,基于第一信息可以确定数据发送窗口的第一窗口格中的数据单元全部被接收端成功接收。若此时将数据发送窗口的尺寸增加第二预设值,且第二预设值取值为1,则可以将T1时刻数据发送窗口的前端向后平移一格,将数据发送窗口的后端向后平移2格,进而可以得到T2时刻数据发送窗口,T2时刻数据发送窗口的尺寸为4。
其中,接收端在接收到一个数据单元后,则可以向发送端发送该数据单元对应的第一信息;因此发送端可以在确定发送端接收到了第一窗口格中所有的数据单元对应的所有第一信息时,确定第一窗口格中的数据单元已全部被接收端成功接收;即为上述基于第一信息可以确定数据发送窗口的第一窗口格中的数据单元全部被接收端成功接收。
因此,通过控制数据发送窗口的前端和后端的移动,可以实现增加数据发送窗口的尺寸。
可选地,所述拥塞阈值的初始值为第三预设值,所述确定所述数据单元的传输发生传输拥塞,调整所述拥塞阈值,包括:
调整所述拥塞阈值为所述数据发送窗口在所述传输拥塞时刻的尺寸的二分之一。
可选地,在第一次执行拥塞阈值的调整操作的情况下,可以设置拥塞阈值的初始值为第三预设值。
可选地,第三预设值可以是一个比较大的值,例如,第三预设值可以是10000,可以是15000,还可以是20000,对此不作限定。
可以理解的是,由于第三预设值可以是一个比较大的值,在第一次执行拥塞阈值的调整操作的情况下,数据传输窗口的尺寸不会大于第三预设值,也即在网络传输带宽允许的范围内,数据传输窗口的尺寸增加所能达到的尺寸峰值不会大于第三预设值(拥塞阈值的初始值)。
可选地,发送端可以调整拥塞阈值为数据发送窗口在传输拥塞时刻的尺寸的二分之一。
可以理解的是,基于上一次拥塞阈值的调整操作的数据发送窗口的尺寸峰值,可以确定当前次拥塞阈值的调整操作过程中的拥塞阈值,因而在每一次拥塞阈值的调整操作过程中,在数据发送窗口的尺寸大于拥塞阈值的情况下,可以预见的是数据传输即将出现拥塞,进而可以采用第一动态值代替第二预设值,以更小的步长调节数据发送窗口的尺寸(比如在目标尺寸为第一动态值的情况下,前一次将数据发送窗口的尺寸增大a1,此次将数据发送窗口的尺寸增大a2,a2小于a1),实现对带宽利用率上限的逼近。
可选地,图4是本发明提供的与接收端确定通信协议的流程示意图,如图4所示,所述第一信息还用于表征所述接收端支持目标通信协议,所述目标通信协议用于所述数据单元的发送端和接收端之间的通信。
可选地,在基于第一信息确定接收端没有布署目标通信协议的情况下,可以采用TCP/IP协议与接收端进行通信。
例如,假设网络上其它的所有设备都安装了TCP/IP协议,目前该网络传输效率较低,需要进行协议改造,但是能够进行改造的只有其中1台服务器(本机),其它的服务器是不能够控制的。这就需要本机的改造对外必须遵守群体的服务器的TCP/IP规范,从外部服务器看来和普通的TCP/IP服务器没有区别;同时,本机对内可以采用本发明提供的数据传输方法,然后通过对外统一的接口进行发送和接收。因此,从全体网络看来,结构是没有变化的,但是从本机内部看来,是进行流量控制改进的。
可选地,在基于第一信息确定接收端布署了目标通信协议的情况下可以采用目标通信协议与接收端进行数据传输。
例如,假设有多台网络服务器可以布署本发明提供的数据传输方法,在这些网络服务器之间通信时,可以跳过TCP/IP的多层抽象,通过目标通信协议进行回复即可。
可以理解的是,因为通信网络中网络设备可能是不同厂商的或可能归属于不同的所有者,而数据在网络中传输,必须考虑与其它网络设备的数据交流,所以只有遵守统一的规范,才可以实现通信。在同时部署了目标通信协议的两个节点之间,可以绕过统一和标准化的协议(例如TCP/IP协议),基于目标通信协议进行点对点的通信,避免了标准化的协议中多余的分层抽象,提高了数据传输的效率。
因此,本发明的数据传输方法,易于在网络设备上实现,且实现不依赖于其它网络节点的协议设定,在自组织的网络***中,能够较快的进行上线运行,通过网络节点之间点对点的自组织,可以实现整体网络拓扑的协同。
可选地,所述数据发送窗口中的一个窗口格能容纳整数倍的所述数据单元。
可以理解的是,发送端可以持续向接收端发送数据单元,数据单元为数据发送窗口中的数据,由于窗口格能容纳整数倍的数据单元,因而数据发送窗口和在途的数据单元数量之间可以是整数倍关系,随着数据发送窗口的增加或减少,在途数据单元的数量会以整数倍增加或减少,保证控制粒度的高灵敏性。
可选地,数据单元可以是计算数据传输能够统计的最小单元。
因此,数据发送窗口和在途的数据单元数量可以是整数倍关系,随着数据发送窗口的增加和减少,在途数据单元的数量会以整数倍进行增加和减少,保证控制粒度的高灵敏性。
可选地,图5是本发明提供的数据传输方法的流程示意图之二,如图5所示,拥塞阈值可以是ssthresh,数据发送窗口的尺寸可以是cwnd。
可选地,在持续向接收端发送数据单元时,在第1次执行拥塞阈值的调整操作的情况下,可以将数据发送窗口的尺寸cwnd的初始值设置为1,拥塞阈值ssthresh设置为10000,其中,数据单元为数据发送窗口中的数据。
可选地,目标尺寸可以设置为1,也即将数据发送窗口的尺寸增加目标尺寸的操作可以是cwnd=cwnd+1。
可以理解的是,由于第一次执行拥塞阈值的调整操作的情况下,拥塞阈值ssthresh设置的较大,因而cwnd可能达到的最大值不会超过ssthresh,进而只会执行将数据发送窗口的尺寸增加第二预设值的操作,而不会执行将数据发送窗口的尺寸增加第一动态值的操作。
可选地,在持续向接收端发送数据单元时,在第2次及以后执行拥塞阈值的调整操作的情况下,可以将数据发送窗口的尺寸cwnd的初始值设置为1,其中,数据单元为数据发送窗口中的数据。
可选地,第二预设值可以为1,进而在第2次及以后执行拥塞阈值的调整操作的情况下,若数据发送窗口的尺寸小于或等于所述拥塞阈值,则一次尺寸增加操作可以是cwnd=cwnd+1。
可选地,第一动态值可以为数据发送窗口的尺寸的倒数,进而在第2次及以后执行拥塞阈值的调整操作的情况下,若数据发送窗口的尺寸大于拥塞阈值,则一次尺寸增加操作可以是cwnd=cwnd+1/cwnd。
可选地,在确定数据单元的传输发生传输拥塞的情况下,可以确定数据发送窗口在传输拥塞时刻的尺寸为cwnd1,发送端可以调整拥塞阈值ssthresh为cwnd1的二分之一。
可选地,在基于第一信息确定接收端没有布署目标通信协议的情况下,可以采用TCP/IP协议与接收端进行通信。
可选地,在基于第一信息确定接收端布署了目标通信协议的情况下可以采用目标通信协议与接收端进行数据传输。
本发明提供的数据传输方法,通过在数据的发送端控制数据发送窗口的尺寸大小,并且在数据的发送端采集来自于接收端的第一信息,可以在没有第三方控制或缺乏网络整体数据流量的知识情况下,自动的调节点对点的数据传输量,可以在有限的带宽内以一个高的比例来传输数据,实现高效的流量控制。
下面对本发明提供的数据传输装置进行描述,下文描述的数据传输装置与上文描述的数据传输方法可相互对应参照。
图6是本发明提供的数据传输装置的结构示意图,如图6所示,所述数据传输装置600包括:发送调整模块601,其中:
发送调整模块601用于在持续向接收端发送数据单元时,持续执行拥塞阈值的调整操作,所述数据单元为数据发送窗口中的数据;
其中,一次所述拥塞阈值的调整操作包括:
基于所述拥塞阈值,执行至少一次对所述数据发送窗口的尺寸增加操作,直至接收到多个针对同一个数据单元的第一信息,则确定所述数据单元的传输发生传输拥塞,调整所述拥塞阈值,将所述数据发送窗口的尺寸减小为第一预设值;
所述第一信息是所述接收端发送的,所述第一信息用于表征所述接收端确认接收到所述数据单元。
具体地,发送端可以持续向接收端发送数据发送窗口中的数据单元,进而通过控制数据发送窗口的增加和减少,可以控制在途数据单元的数量的增加或减少。
具体地,一次拥塞阈值的调整操作的过程中,在基于第一信息确定传输未发生拥塞的情况下,可以执行至少一次对所述数据发送窗口的尺寸递增操作,以增加对通信带宽的利用率;在基于第一信息确定发生传输拥塞的情况下,则可以将数据发送窗口的尺寸减少为第一预设值,以减少对通信带宽的占用,使得传输恢复通畅。进而发送端通过持续执行拥塞阈值的调整操作,可以持续的调整对通信带宽的利用率,进而实现动态的流量控制。
本发明提供的数据传输装置,通过在数据的发送端控制数据发送窗口的尺寸大小,并且在数据的发送端采集来自于接收端的第一信息,可以在没有第三方控制或缺乏网络整体数据流量的知识情况下,自动的调节点对点的数据传输量,可以在有限的带宽内以一个高的比例来传输数据,实现高效的流量控制。
可选地,所述发送调整模块还用于:
将所述数据发送窗口的尺寸增加目标尺寸;
其中,在所述数据发送窗口的尺寸小于或等于所述拥塞阈值的情况下,所述目标尺寸为第二预设值,所述第二预设值为N,所述N为正整数;
在所述数据发送窗口的尺寸大于所述拥塞阈值的情况下,所述目标尺寸为第一动态值,所述第一动态值为所述数据发送窗口的尺寸的倒数的M倍,所述M为正整数。
可选地,所述发送调整模块还用于:
基于所述第一信息,确定第一窗口格中的数据单元全部被所述接收端成功接收,所述第一窗口格为所述数据发送窗口中在发送时序上处于首位的窗口格;
将所述数据发送窗口的前端向后平移一格,将所述数据发送窗口的后端向后平移L格,所述L取值为所述目标尺寸加1;
其中,所述前端为数据发送窗口的两端中在发送时序上靠前的一端,所述后端为数据发送窗口的两端中在发送时序上靠后的一端。
可选地,所述拥塞阈值的初始值为第三预设值,所述发送调整模块还用于:
调整所述拥塞阈值为所述数据发送窗口在所述传输拥塞时刻的尺寸的二分之一。
可选地,所述第一信息还用于表征所述接收端支持目标通信协议,所述目标通信协议用于所述数据单元的发送端和接收端之间的通信。
可选地,所述数据发送窗口中的一个窗口格能容纳整数倍的所述数据单元。
本发明提供的数据传输装置,通过在数据的发送端控制数据发送窗口的尺寸大小,并且在数据的发送端采集来自于接收端的第一信息,可以在没有第三方控制或缺乏网络整体数据流量的知识情况下,自动的调节点对点的数据传输量,可以在有限的带宽内以一个高的比例来传输数据,实现高效的流量控制。
图7是本发明提供的电子设备的结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行数据传输方法,该方法包括:
在持续向接收端发送数据单元时,持续执行拥塞阈值的调整操作,所述数据单元为数据发送窗口中的数据;
其中,一次所述拥塞阈值的调整操作包括:
基于所述拥塞阈值,执行至少一次对所述数据发送窗口的尺寸增加操作,直至接收到多个针对同一个数据单元的第一信息,则确定所述数据单元的传输发生传输拥塞,调整所述拥塞阈值,将所述数据发送窗口的尺寸减小为第一预设值;
所述第一信息是所述接收端发送的,所述第一信息用于表征所述接收端确认接收到所述数据单元。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据传输方法,该方法包括:
在持续向接收端发送数据单元时,持续执行拥塞阈值的调整操作,所述数据单元为数据发送窗口中的数据;
其中,一次所述拥塞阈值的调整操作包括:
基于所述拥塞阈值,执行至少一次对所述数据发送窗口的尺寸增加操作,直至接收到多个针对同一个数据单元的第一信息,则确定所述数据单元的传输发生传输拥塞,调整所述拥塞阈值,将所述数据发送窗口的尺寸减小为第一预设值;
所述第一信息是所述接收端发送的,所述第一信息用于表征所述接收端确认接收到所述数据单元。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据传输方法,该方法包括:
在持续向接收端发送数据单元时,持续执行拥塞阈值的调整操作,所述数据单元为数据发送窗口中的数据;
其中,一次所述拥塞阈值的调整操作包括:
基于所述拥塞阈值,执行至少一次对所述数据发送窗口的尺寸增加操作,直至接收到多个针对同一个数据单元的第一信息,则确定所述数据单元的传输发生传输拥塞,调整所述拥塞阈值,将所述数据发送窗口的尺寸减小为第一预设值;
所述第一信息是所述接收端发送的,所述第一信息用于表征所述接收端确认接收到所述数据单元。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据传输方法,其特征在于,包括:
在持续向接收端发送数据单元时,持续执行拥塞阈值的调整操作,所述数据单元为数据发送窗口中的数据;
其中,一次所述拥塞阈值的调整操作包括:
基于所述拥塞阈值,执行至少一次对所述数据发送窗口的尺寸增加操作,直至接收到多个针对同一个数据单元的第一信息,则确定所述数据单元的传输发生传输拥塞,调整所述拥塞阈值,将所述数据发送窗口的尺寸减小为第一预设值;
所述第一信息是所述接收端发送的,所述第一信息用于表征所述接收端确认接收到所述数据单元。
2.根据权利要求1所述的数据传输方法,其特征在于,一次所述尺寸增加操作,包括:
将所述数据发送窗口的尺寸增加目标尺寸;
其中,在所述数据发送窗口的尺寸小于或等于所述拥塞阈值的情况下,所述目标尺寸为第二预设值,所述第二预设值为N,所述N为正整数;
在所述数据发送窗口的尺寸大于所述拥塞阈值的情况下,所述目标尺寸为第一动态值,所述第一动态值为所述数据发送窗口的尺寸的倒数的M倍,所述M为正整数。
3.根据权利要求2所述的数据传输方法,其特征在于,所述将所述数据发送窗口的尺寸增加目标尺寸,包括:
基于所述第一信息,确定第一窗口格中的数据单元全部被所述接收端成功接收,所述第一窗口格为所述数据发送窗口中在发送时序上处于首位的窗口格;
将所述数据发送窗口的前端向后平移一格,将所述数据发送窗口的后端向后平移L格,所述L取值为所述目标尺寸加1;
其中,所述前端为数据发送窗口的两端中在发送时序上靠前的一端,所述后端为数据发送窗口的两端中在发送时序上靠后的一端。
4.根据权利要求1-3任一项所述的数据传输方法,其特征在于,所述拥塞阈值的初始值为第三预设值,所述确定所述数据单元的传输发生传输拥塞,调整所述拥塞阈值,包括:
调整所述拥塞阈值为所述数据发送窗口在所述传输拥塞时刻的尺寸的二分之一。
5.根据权利要求1-3任一项所述的数据传输方法,其特征在于,所述第一信息还用于表征所述接收端支持目标通信协议,所述目标通信协议用于所述数据单元的发送端和接收端之间的通信。
6.根据权利要求1-3任一项所述的数据传输方法,其特征在于,所述数据发送窗口中的一个窗口格能容纳整数倍的所述数据单元。
7.一种数据传输装置,其特征在于,包括:
发送调整模块,用于在持续向接收端发送数据单元时,持续执行拥塞阈值的调整操作,所述数据单元为数据发送窗口中的数据;
其中,一次所述拥塞阈值的调整操作包括:
基于所述拥塞阈值,执行至少一次对所述数据发送窗口的尺寸增加操作,直至接收到多个针对同一个数据单元的第一信息,则确定所述数据单元的传输发生传输拥塞,调整所述拥塞阈值,将所述数据发送窗口的尺寸减小为第一预设值;
所述第一信息是所述接收端发送的,所述第一信息用于表征所述接收端确认接收到所述数据单元。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述数据传输方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据传输方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111450577.9A CN114268588A (zh) | 2021-11-30 | 2021-11-30 | 数据传输方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111450577.9A CN114268588A (zh) | 2021-11-30 | 2021-11-30 | 数据传输方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114268588A true CN114268588A (zh) | 2022-04-01 |
Family
ID=80825930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111450577.9A Pending CN114268588A (zh) | 2021-11-30 | 2021-11-30 | 数据传输方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114268588A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080002575A1 (en) * | 2006-06-29 | 2008-01-03 | Alok Kumar | Transmission control protocol congestion window |
CN102468941A (zh) * | 2010-11-18 | 2012-05-23 | 华为技术有限公司 | 网络丢包处理方法及装置 |
CN107360101A (zh) * | 2017-08-04 | 2017-11-17 | 武汉理工大学 | 一种基于自适应参数的tcp拥塞控制算法 |
CN108270682A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 一种报文传输方法、终端、网络设备及通信*** |
-
2021
- 2021-11-30 CN CN202111450577.9A patent/CN114268588A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080002575A1 (en) * | 2006-06-29 | 2008-01-03 | Alok Kumar | Transmission control protocol congestion window |
CN102468941A (zh) * | 2010-11-18 | 2012-05-23 | 华为技术有限公司 | 网络丢包处理方法及装置 |
CN108270682A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 一种报文传输方法、终端、网络设备及通信*** |
CN107360101A (zh) * | 2017-08-04 | 2017-11-17 | 武汉理工大学 | 一种基于自适应参数的tcp拥塞控制算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110677221B (zh) | 重传控制方法、通信接口和电子设备 | |
CN106612284B (zh) | 一种流数据的传输方法和装置 | |
CN107634817B (zh) | 用于数据传输的方法和装置 | |
CN113014505B (zh) | 一种高动态拓扑卫星网络中时延区分的传输控制方法 | |
CN106936730A (zh) | 一种报文发送方法、tcp代理以及tcp客户端 | |
CN106506124A (zh) | 重传报文确定方法及装置 | |
CN108650061A (zh) | 基于fec的vpn代理方法、装置、存储介质和*** | |
CN114039703A (zh) | 数据传输方法、装置、设备和介质 | |
CN109560897B (zh) | 一种tcp重传方法和装置 | |
CN112887416B (zh) | 发送保活包的频率调整方法及装置 | |
CN109995664A (zh) | 一种发送数据流的方法、设备和*** | |
CN108432287A (zh) | 一种数据传输方法及网络侧设备 | |
CN109756464B (zh) | 一种通信方法及服务器、客户端 | |
CN109586931B (zh) | 组播方法及终端设备 | |
CN114268588A (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN111314961A (zh) | Tcp传输方法、装置和*** | |
CN114337942B (zh) | 一种报文重传方法、装置及电子设备 | |
CN114401208B (zh) | 数据传输方法、装置、电子设备和存储介质 | |
CN113949417B (zh) | 一种基于混合通信的电网数据传输方法及装置 | |
CN112153664B (zh) | 参数优化方法、装置、基站、服务器及存储介质 | |
CN108988994A (zh) | 报文的重传方法及装置 | |
KR102601348B1 (ko) | 데이터 송신 방법, 송신 장치, 데이터 수신 방법 및 수신 장치 | |
CN110493141B (zh) | 一种路由转发传输控制方法、装置、设备和存储介质 | |
CN102457980B (zh) | 一种传感器网络中的数据传输方法和*** | |
US11627603B2 (en) | Techniques to reduce transmission failures in time-slotted channel hopping networks |
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 |