CN107204936A - 一种数据的传输方法、装置及设备 - Google Patents
一种数据的传输方法、装置及设备 Download PDFInfo
- Publication number
- CN107204936A CN107204936A CN201710477726.8A CN201710477726A CN107204936A CN 107204936 A CN107204936 A CN 107204936A CN 201710477726 A CN201710477726 A CN 201710477726A CN 107204936 A CN107204936 A CN 107204936A
- Authority
- CN
- China
- Prior art keywords
- packet
- receiving device
- equipment
- packets
- sent
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/23—Bit dropping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明提供了一种数据的传输方法、装置及设备,本发明中仅发送丢失数据包至所述接收设备,不需要像现有技术那样,将丢失的数据包以及丢失的数据包之后的所有数据包重新传输到接收设备,进而不会存在数据包的重复传输,以及增加网络堵塞的严重程度的问题。
Description
技术领域
本发明涉及通信领域,更具体的说,涉及一种数据的传输方法、装置及设备。
背景技术
数据传输(data transmission),指的是依照适当的规程,经过一条或多条链路,在数据源和数据宿之间传送数据的过程。也表示借助信道上的信号将数据从一处送往另一处的操作。
其中,在采用传输层通信协议TCP协议进行数据传输的过程中,在出现丢失数据包的情况时,TCP协议规定需要发送设备将丢失的数据包以及丢失的数据包之后的所有数据包重新传输到接收设备,这样当丢失的数据包之后的部分数据包已经传输到接收设备时,会造成数据包的重复传输,进而会增加网络堵塞的严重程度。
发明内容
有鉴于此,本发明提供一种数据的传输方法、装置及设备,以解决在出现丢失数据包的情况时,TCP协议规定需要发送设备将丢失的数据包以及丢失的数据包之后的所有数据包重新传输到接收设备,这样当丢失的数据包之后的部分数据包已经传输到接收设备时,会造成数据包的重复传输,进而会增加网络堵塞的严重程度的问题。
为解决上述技术问题,本发明采用了如下技术方案:
一种数据的传输方法,应用于发送设备,包括:
将多个数据包依次发送至接收设备;
从多个所述数据包中确定丢失数据包;其中,丢失数据包为在预设时间内,所述发送设备未接收到所述接收设备发送对应应答消息的数据包;
重新发送所述丢失数据包至所述接收设备。
优选地,所述预设时间为定值,或所述预设时间为接收到对应所述丢失数据包之后的至少一个数据包的应答信息的最晚时间。
优选地,重新发送所述丢失数据包至所述接收设备后,还包括:
将所述预设时间的数值调整为所述预设时间的当前数值的指定倍数。
优选地,将多个数据包依次发送至接收设备后,还包括:
接收所述接收设备发送的目前数据包全部接收消息。
一种数据的传输方法,应用于接收设备,包括:
接收发送设备发送的多个数据包;
发送针对每个接收到的所述数据包的应答信息到所述发送设备。
优选地,接收发送设备发送的多个数据包后,还包括:
当接收到待接收数据包以及序列号排在所述待接收数据包之前的所有数据包时,发送目前数据包全部接收消息至所述发送设备;
其中,所述待接收数据包为多个所述数据包中的任一数据包。
一种数据的传输装置,应用于发送设备,包括:
发送模块,用于将多个数据包依次发送至接收设备;
确定模块,用于从多个所述数据包中确定丢失数据包;其中,丢失数据包为在预设时间内,所述发送设备未接收到所述接收设备发送对应应答消息的数据包;
数据发送模块,用于重新发送所述丢失数据包至所述接收设备。
一种数据的传输装置,应用于接收设备,包括:
接收模块,用于接收发送设备发送的多个数据包;
信息发送模块,用于发送针对每个接收到的所述数据包的应答信息到所述发送设备。
一种发送设备,包括:发送接口和处理器;
所述发送端口,用于将多个数据包依次发送至接收设备,以及重新发送所述丢失数据包至所述接收设备;
所述处理器,用于从多个所述数据包中确定丢失数据包;其中,丢失数据包为在预设时间内,所述发送设备未接收到所述接收设备发送对应应答消息的数据包。
一种接收设备,包括收发端口和处理器;
所述收发端口,用于接收发送设备发送的多个数据包,以及发送针对每个接收到的所述数据包的应答信息到所述发送设备;
所述处理器,用于生成针对每个接收到的所述数据包的应答信息。
相较于现有技术,本发明具有以下有益效果:
本发明提供了一种数据的传输方法、装置及设备,本发明中仅发送丢失数据包至所述接收设备,不需要像现有技术那样,将丢失的数据包以及丢失的数据包之后的所有数据包重新传输到接收设备,进而不会存在数据包的重复传输,以及增加网络堵塞的严重程度的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种应用于发送设备的数据的传输方法的方法流程图;
图2为本发明提供的一种应用于接收设备的数据的传输方法的方法流程图;
图3为本发明提供的一种应用于发送设备的数据的传输装置的结构示意图;
图4为本发明提供的一种应用于接收设备的数据的传输装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据的传输方法,应用于发送设备,其中,向外发送数据的一端称为发送设备,发送设备可以是客户端,也可以是服务端。包括:
S11、将多个数据包依次发送至接收设备;
其中,发送设备在发送数据包时,会为每个数据包设置一个序列号。发送设备在发送多个数据包时,将第一个数据包发送出去之后,就发送第二个数据包,按照这种发送方法,将所有的数据包发送出去。
S12、从多个数据包中确定丢失数据包;
其中,丢失数据包为在预设时间内,所述发送设备未接收到所述接收设备发送对应应答消息的数据包;
具体的,在数据包发送的过程中,可能由于网络堵塞等原因,部分数据包可能不能成功发送到接收设备,没有成功发送到接收设备的数据包称为丢失数据包。
接收设备在接收到数据包时,会针对接收到的数据包发送应答信息到发送设备,以使发送设备了解数据包已经被接收设备成功接收。其中,接收设备在发送应答消息之前,会根据接收到的数据包中的数据包的长度来判断接收的数据包是否是完整的数据包,当判断出是完整的数据包时,才会发送应答消息到发送设备。其中,应答消息为ACK消息。
S13、重新发送丢失数据包至接收设备。
可选的,在本实施例的基础上,预设时间为定值。其中,预设时间的数值是技术人员根据具体的网络堵塞程度进行确定的。
需要说明的是,TCP协议中的发送窗口大小由:发送缓存大小、接收设备剩余接收缓存大小、丢包退让及慢启动这四要素决定。而本实施例可通过配置,仅用发送缓存大小、接收设备剩余接收缓存大小来控制发送频率,以牺牲部分公平性及带宽利用率之代价,极大的保障了数据包发送时的网络流畅度。
可选的,步骤S13后,还包括:
将预设时间的数值调整为预设时间的当前数值的指定倍数。
其中,指定倍数是技术人员经过大量的数据测试之后确定的,优选地,指定倍数为1.5倍,进而能够在牺牲10%左右的带宽的情况下,提升传输速度,降低30%左右的平均时延。
相比于TCP协议中将每次重传后下次重传超时时间为上次的2倍,当连续丢包3次以后这个时间就变成了8倍,直至彻底卡死。本实施例中将重传时间调整为1.5倍,可以有效提升传输速度。
本实施例中,仅发送丢失数据包至接收设备,不需要像现有技术那样,将丢失的数据包以及丢失的数据包之后的所有数据包重新传输到接收设备,进而不会存在数据包的重复传输,以及增加网络堵塞的严重程度的问题。
可选的,在图1对应的实施例的基础上,预设时间为接收到对应所述丢失数据包之后的至少一个数据包的应答信息的最晚时间。
具体的,上述实施例中的预设时间之内,没有接收到接收设备反馈的应答消息的数据包定义为丢失数据包,本实施例中,当接收到接收设备针对序列号位于待接收数据包之后的至少一个数据包的应答消息,但是未接收到接收设备针对待接收数据包的应答消息时,则认为该待接收数据包丢失,将待接收数据包设定为丢失数据包。
需要说明的是,待接收数据包也可能由于网络堵塞而正在传输中,但是接收设备已经成功接收序列号位于待接收数据包之后的至少一个数据包,此时也会认为待接收数据包丢失。
举例来说,假设发送设备要传输数据包1、数据包2、数据包3、数据包4和数据包5五个数据包到接收设备,接收到接收设备反馈的针对数据包1、数据包2、数据包4和数据包5的应答消息,但是没有接收到针对数据包3的应答消息,此时则认为数据包3丢失,需要重新传输数据包3至接收设备。
本实施例中,将预设时间设置为接收到对应所述丢失数据包之后的至少一个数据包的应答信息的最晚时间,增加了确定丢失数据包的手段。
可选的,在上述任一实施例的基础上,将多个数据包依次发送至接收设备后,还包括:
接收接收设备发送的目前数据包全部接收消息。
具体的,当接收设备接收到待接收数据包以及序列号排在待接收数据包之前的所有数据包时,发送目前数据包全部接收消息至发送设备;
其中,待接收数据包为多个数据包中的任一数据包。
举例来说,假设发送设备要传输数据包1、数据包2、数据包3、数据包4和数据包5五个数据包到接收设备,当接收设备成功接收数据包1和数据包2时,会反馈目前数据包全部接收消息至发送设备,当接收设备成功接收数据包1、数据包2、数据包4和数据包5时,由于数据包3没有被成功接收,此时,不会发送目前数据包全部接收消息到发送设备。
本实施例中,通过在接收设备增加发送目前数据包全部接收消息到接收设备的机制,能够更加准确的确定数据包是否被成功接收。
可选的,本发明的另一实施例中提供了一种数据的传输方法,应用于接收设备,接收数据的一端称为接收设备,接收设备可以是客户端,也可以是服务端。参照图2,包括:
S21、接收发送设备发送的多个数据包;
S22、发送针对每个接收到的数据包的应答信息到发送设备。
其中,应答消息为ACK消息。
在本实施例的基础上,接收发送设备发送的多个数据包后,还包括:
当接收到待接收数据包以及序列号排在待接收数据包之前的所有数据包时,发送目前数据包全部接收消息至发送设备;
其中,待接收数据包为多个数据包中的任一数据包。
本实施例中,接收设备在成功接收到一个数据包后,就会反馈相应的应答消息到发送设备,以及在接收到待接收数据包以及序列号排在待接收数据包之前的所有数据包时,发送目前数据包全部接收消息至发送设备,以使发送设备了解数据包的发送情况。
可选的,本发明的另一实施例中提供了一种数据的传输装置,应用于发送设备,参照图3,包括:
发送模块101,用于将多个数据包依次发送至接收设备;
确定模块102,用于从多个数据包中确定丢失数据包;
其中,丢失数据包为在预设时间内,所述发送设备未接收到所述接收设备发送对应应答消息的数据包。
数据发送模块103,用于重新发送丢失数据包至接收设备。
可选的,在本实施例的基础上,预设时间为定值。
可选的,在本实施例的基础上,还包括:
设置模块,用于在数据发送模块103重新发送丢失数据包至接收设备后,将预设时间的数值调整为预设时间的当前数值的指定倍数。
具体的,将预设时间的数值调整为预设时间的当前数值的指定倍数的过程包括:
接收用户输入的指定倍数的数值,将预设时间的数值调整为预设时间的当前数值的指定倍数。
可选的,在本实施例的基础上,预设时间为接收到对应所述丢失数据包之后的至少一个数据包的应答信息的最晚时间。
可选的,在本实施例的基础上,还包括:
信息接收模块,用于在发送模块101将多个数据包依次发送至接收设备后,
接收接收设备发送的目前数据包全部接收消息。
本实施例中,仅发送丢失数据包至接收设备,不需要像现有技术那样,将丢失的数据包以及丢失的数据包之后的所有数据包重新传输到接收设备,进而不会存在数据包的重复传输,以及增加网络堵塞的严重程度的问题。
可选的,本发明的另一实施例中提供了一种数据的传输装置,应用于接收设备,参照图4,包括:
接收模块201,用于接收发送设备发送的多个数据包;
信息发送模块202,用于发送针对每个接收到的数据包的应答信息到发送设备。
可选的,在本实施例的基础上,还包括:
发送消息模块,用于在接收模块201接收发送设备发送的多个数据包后,当接收到待接收数据包以及序列号排在待接收数据包之前的所有数据包时,发送目前数据包全部接收消息至发送设备;
其中,待接收数据包为多个数据包中的任一数据包。
本实施例中,接收设备在成功接收到一个数据包后,就会反馈相应的应答消息到发送设备,以及在接收到待接收数据包以及序列号排在待接收数据包之前的所有数据包时,发送目前数据包全部接收消息至发送设备,以使发送设备了解数据包的发送情况。
可选的,本发明的另一实施例中提供了一种发送设备,包括:发送接口和处理器;
所述发送端口,用于将多个数据包依次发送至接收设备,以及重新发送所述丢失数据包至所述接收设备;
所述处理器,用于从多个所述数据包中确定丢失数据包;其中,丢失数据包为在预设时间内,所述发送设备未接收到所述接收设备发送对应应答消息的数据包。
本实施例中,仅发送丢失数据包至接收设备,不需要像现有技术那样,将丢失的数据包以及丢失的数据包之后的所有数据包重新传输到接收设备,进而不会存在数据包的重复传输,以及增加网络堵塞的严重程度的问题。
可选的,本发明的另一实施例中提供了一种接收设备,包括收发端口和处理器;
所述收发端口,用于接收发送设备发送的多个数据包,以及发送针对每个接收到的所述数据包的应答信息到所述发送设备。
所述处理器,用于生成针对每个接收到的所述数据包的应答信息。
本实施例中,接收设备在成功接收到一个数据包后,就会反馈相应的应答消息到发送设备,以及在接收到待接收数据包以及序列号排在待接收数据包之前的所有数据包时,发送目前数据包全部接收消息至发送设备,以使发送设备了解数据包的发送情况。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据的传输方法,其特征在于,应用于发送设备,包括:
将多个数据包依次发送至接收设备;
从多个所述数据包中确定丢失数据包;其中,丢失数据包为在预设时间内,所述发送设备未接收到所述接收设备发送对应应答消息的数据包;
重新发送所述丢失数据包至所述接收设备。
2.根据权利要求1所述的传输方法,其特征在于,所述预设时间为定值,或所述预设时间为接收到对应所述丢失数据包之后的至少一个数据包的应答信息的最晚时间。
3.根据权利要求1所述的传输方法,其特征在于,重新发送所述丢失数据包至所述接收设备后,还包括:
将所述预设时间的数值调整为所述预设时间的当前数值的指定倍数。
4.根据权利要求1所述的传输方法,其特征在于,将多个数据包依次发送至接收设备后,还包括:
接收所述接收设备发送的目前数据包全部接收消息。
5.一种数据的传输方法,其特征在于,应用于接收设备,包括:
接收发送设备发送的多个数据包;
发送针对每个接收到的所述数据包的应答信息到所述发送设备。
6.根据权利要求5所述的传输方法,其特征在于,接收发送设备发送的多个数据包后,还包括:
当接收到待接收数据包以及序列号排在所述待接收数据包之前的所有数据包时,发送目前数据包全部接收消息至所述发送设备;
其中,所述待接收数据包为多个所述数据包中的任一数据包。
7.一种数据的传输装置,其特征在于,应用于发送设备,包括:
发送模块,用于将多个数据包依次发送至接收设备;
确定模块,用于从多个所述数据包中确定丢失数据包;其中,丢失数据包为在预设时间内,所述发送设备未接收到所述接收设备发送对应应答消息的数据包;
数据发送模块,用于重新发送所述丢失数据包至所述接收设备。
8.一种数据的传输装置,其特征在于,应用于接收设备,包括:
接收模块,用于接收发送设备发送的多个数据包;
信息发送模块,用于发送针对每个接收到的所述数据包的应答信息到所述发送设备。
9.一种发送设备,其特征在于,包括:发送接口和处理器;
所述发送端口,用于将多个数据包依次发送至接收设备,以及重新发送所述丢失数据包至所述接收设备;
所述处理器,用于从多个所述数据包中确定丢失数据包;其中,丢失数据包为在预设时间内,所述发送设备未接收到所述接收设备发送对应应答消息的数据包。
10.一种接收设备,其特征在于,包括收发端口和处理器;
所述收发端口,用于接收发送设备发送的多个数据包,以及发送针对每个接收到的所述数据包的应答信息到所述发送设备;
所述处理器,用于生成针对每个接收到的所述数据包的应答信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710477726.8A CN107204936A (zh) | 2017-06-21 | 2017-06-21 | 一种数据的传输方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710477726.8A CN107204936A (zh) | 2017-06-21 | 2017-06-21 | 一种数据的传输方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107204936A true CN107204936A (zh) | 2017-09-26 |
Family
ID=59907171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710477726.8A Pending CN107204936A (zh) | 2017-06-21 | 2017-06-21 | 一种数据的传输方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107204936A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951370A (zh) * | 2010-09-17 | 2011-01-19 | 北京神州泰岳软件股份有限公司 | 基于udp的文件可靠传输方法 |
CN103905328A (zh) * | 2012-12-25 | 2014-07-02 | 中国移动通信集团公司 | 一种数据传输控制系统、方法及相关装置 |
CN105245317A (zh) * | 2015-10-20 | 2016-01-13 | 北京小鸟听听科技有限公司 | 一种数据传输方法、发送端、接收端和数据传输系统 |
CN105245470A (zh) * | 2015-11-05 | 2016-01-13 | 深圳市网心科技有限公司 | 一种数据传输方法和装置 |
CN106209764A (zh) * | 2016-05-27 | 2016-12-07 | 北京畅游天下网络技术有限公司 | 一种基于udp协议的数据传输方法及系统 |
CN106452692A (zh) * | 2016-11-30 | 2017-02-22 | 网宿科技股份有限公司 | 一种数据传输方法和系统 |
-
2017
- 2017-06-21 CN CN201710477726.8A patent/CN107204936A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951370A (zh) * | 2010-09-17 | 2011-01-19 | 北京神州泰岳软件股份有限公司 | 基于udp的文件可靠传输方法 |
CN103905328A (zh) * | 2012-12-25 | 2014-07-02 | 中国移动通信集团公司 | 一种数据传输控制系统、方法及相关装置 |
CN105245317A (zh) * | 2015-10-20 | 2016-01-13 | 北京小鸟听听科技有限公司 | 一种数据传输方法、发送端、接收端和数据传输系统 |
CN105245470A (zh) * | 2015-11-05 | 2016-01-13 | 深圳市网心科技有限公司 | 一种数据传输方法和装置 |
CN106209764A (zh) * | 2016-05-27 | 2016-12-07 | 北京畅游天下网络技术有限公司 | 一种基于udp协议的数据传输方法及系统 |
CN106452692A (zh) * | 2016-11-30 | 2017-02-22 | 网宿科技股份有限公司 | 一种数据传输方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11672046B2 (en) | Data receiving status reporting method and apparatus | |
JP4625044B2 (ja) | ウィンドウ制御及び再送制御方法、及び、送信側装置 | |
EP1568180B1 (en) | A method for enhancing transmission quality of streaming media | |
US20080101290A1 (en) | Apparatus for Arq Controlling in Wireless Portable Internet System and Method Thereof | |
EP2469750A1 (en) | Method and apparatus for downlink data transmission control in multi-hop relay communication system | |
JP4929349B2 (ja) | 再送要求送信方法及び受信側装置 | |
KR20070033292A (ko) | 무선 통신 시스템에서 시그날링 데이터 메시지들을전송하는 방법 및 장치 | |
CN107104902B (zh) | 一种rdma数据传输的方法、相关装置与系统 | |
Sayenko et al. | Performance analysis of the IEEE 802.16 ARQ mechanism | |
WO2004040861A1 (ja) | 通信システム及び方法 | |
US7609639B2 (en) | Negative acknowledgment (NAK) suppression | |
CN102457986A (zh) | 终端的上行数据传输方法及终端 | |
CN104580171B (zh) | Tcp协议的传输方法、装置和系统 | |
CN105228137B (zh) | 一种授权信息的传输方法 | |
Maisuria et al. | Overview of techniques for improving QoS of TCP over wireless links | |
CN107204936A (zh) | 一种数据的传输方法、装置及设备 | |
CN109450714A (zh) | 一种LoRa终端节点及其数据传输方法 | |
CN116963175A (zh) | 数据传输方法、装置及系统 | |
JP2004187099A (ja) | 通信制御方法、通信システム及び通信装置 | |
CN109561516A (zh) | 一种rrc的nas pdu新传和重传的发送方法 | |
JP2008199431A (ja) | 通信装置 | |
US20230262809A1 (en) | Methods and Apparatus for Logical Channel Aggregation | |
JP2001136209A (ja) | 通信装置 | |
US9344534B2 (en) | Method and apparatus for performing data processing and data transmission by 3G AE and 3G RE | |
KR100589895B1 (ko) | 휴대 인터넷 시스템에서의 선택적 반복 자동 재전송 요구장치 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170926 |
|
RJ01 | Rejection of invention patent application after publication |