数据报文传输方法和系统的制作方法

文档序号:7870238阅读:197来源:国知局
专利名称:数据报文传输方法和系统的制作方法
技术领域
本发明涉及网络传输技术,特别是涉及一种数据报文传输方法和系统。
背景技术
随着互联网的迅猛发展,长肥网络(Long Fat Network)越来越普遍,而对数据敏感的网络应用也越来越多,例如,视频应用和音频应用将占用了大量的网络资源,进而使得网络中的拥塞现象变得越来越严重,应用传统的传输方式将无法满足当前的网络传输要求。
TCP协议(Transmission Control Protocol),即传输控制协议,是当前使用较多的数据传输协议,以提供端到端的可靠数据传输。然而,在应用传输控制协议进行数据报文传输时,若发生数据报文丢失的现象时,只能等待数据发送端进行重传。
具体的,数据发送端发送了多个数据报文,数据接收端在接收到数据报文时将会向数据发送端发送确认(ACK)信息,若数据接收端未接收到报文信息则不可能发送任何确认信息,数据发送端只有通过重传计时器的超时获知数据报文的传输过程中发生了数据报文的丢弃现象,进而进行数据报文的重传。
然而,当前所使用的TCP连接将会因为等待计时器的超时而闲置非常长的时间, 进而造成网络带宽的严重浪费。发明内容
基于此,有必要提供一种能降低网络带宽浪费的数据报文传输方法。
另外,还有必要提供一种能降低网络带宽浪费的数据报文传输系统。
一种数据报文传输方法,包括如下步骤
接收建立连接后传输的首个数据报文;
从所述首个数据报文的选项域中提取待传输数据长度;
获取数据报文的接收等待时间,根据所述接收等待时间和待传输数据长度发送报文丢失消息;
接收根据报文丢失消息重传的数据报文。
在其中一个实施例中,所述接收通过建立的连接传输的首个数据报文的步骤之前还包括
建立连接,并通过连接建立数据报文中的选项域,并进行协商;
成功协商后封装首个数据报文,并将待传输数据长度封装于所述首个数据报文的选项域中。
在其中一个实施例中,所述根据所述接收等待时间和待传输数据长度发送报文丢失消息的步骤包括
根据所述待传输数据长度判断进行的后续数据报文传输是否结束,若否,则
进一步判断后续数据报文的接收等待时间是否达到接收数据报文的时间间隔,若是,则向数据发送端发送报文丢失消息。
在其中一个实施例中,所述根据所述待传输数据长度判断进行的后续数据报文传输是否结束的步骤为
根据首个数据报文和/或后续数据报文对应的长度统计已接收的数据报文长度;
判断所述已接收的数据报文长度是否达到待传输数据长度,若否,则
进入所述进一步判断所述统计的接收等待时间是否达到接收数据报文的时间间隔的步骤。
在其中一个实施例中,所述进一步判断数据报文的接收等待时间是否达到接收数据报文的时间间隔的步骤之前还包括
首个数据报文或后续数据报文的接收完毕时触发计时以统计接收等待时间。
一种数据报文传输系统,包括数据接收端,所述数据接收端包括
接收模块,用于接收通过建立的连接传输的首个数据报文和后续数据报文;
提取模块,用于从所述首个数据报文的选项域中提取待传输数据长度;
控制模块,用于获取后续数据报文的接收等待时间,根据所述接收等待时间和待传输数据长度发送报文丢失消息;
所述接收模块还用于接收报文丢失消息重传的数据报文。
在其中一个实施例中,还包括
数据发送端,用于建立连接,并通过连接建立数据报文中的选项域,并进行协商, 成功协商后封装首个数据报文,将待传输数据长度封装于所述首个数据报文的选取域中。
在其中一个实施例中,所述控制模块包括
传输判断单元,用于根据所述待传输数据长度判断进行的后续数据报文传输是否结束,若否,则通知时间判断单元;
所述时间判断单元用于判断数据报文的接收等待时间是否达到接收数据报文的时间间隔,若是,则通知发送单元;
所述发送单元用于向所述数据发送端发送报文丢失消息。
在其中一个实施例中,所述传输判断单元包括
长度统计单元,用于根据首个数据报文和/或后续数据报文对应的长度统计已接收的数据报文长度;
长度判断单元,用于判断所述已接收的数据报文长度是否达到待传输数据长度, 若否,则通知所述时间判断单元。
在其中一个实施例中,所述控制模块还包括
计时器,用于首个数据报文或后续数据报文的接收完毕时触发计时以统计接收等待时间。
上述数据报文传输方法和系统,建立连接之后在接收到的首个数据报文时,将从首个数据报文中提取待传输数据长度,根据后续数据报文的接收等待时间和待传输数据长度获知当前发生了后续数据报文丢失的情况,进而发送报文丢失消息,与现有技术相比较, 由于后续数据报文丢失的情况进基于数据报文的接收等待时间获知的,后续数据报文的接待等待时间远小于超时重传时间,进而使得当前所使用的连接不需要等待过长的时间即可进行丢失数据报文的重传,降低了网络带宽的浪费。


图1为一个实施例中数据报文传输方法的流程图2为另一个实施例中数据报文传输方法的流程图3为一个实施例中选项域的示意图4为一个实施例中根据接收等待时间和待传输数据长度发送报文丢失消息的方法流程图5为一个实施例中根据待传输数据长度判断进行的后续数据报文传输是否结束的方法流程图6为一个实施例中数据报文传输方法的应用示意图7为图6中数据报文传输的时序图8为一个实施例中数据报文传输系统的结构示意图9为另一个实施例中数据报文传输系统的结构示意图10为一个实施例中控制模块的结构示意图;
图11为一个实施例中传输判断单元的结构示意图。
具体实施方式
如图1所示,在一个实施例中,一种数据报文传输方法,包括如下步骤
步骤S110,接收建立连接后传输的首个数据报文。
本实施例中,接收到的首个数据报文是当前连接被建立之后所传输的第一个数据报文。首个数据报文是通过TCP协议传输的。
如图2所示,在一个实施例中,上述步骤SllO之前还包括
步骤S210,建立连接,并通过连接建立数据报文中的选项域,并进行协商。
本实施例中,为进行数据发送端和数据接收端之间的数据报文传输,数据发送端将与数据接收端建立连接,并向数据接收端发送协商报文,以确定数据接收端是否同意在数据报文中添加传输数据长度这一信息,并进一步说明这一信息的作用。
步骤S230,成功协商后封装首个数据报文,并将待传输数据长度封装于首个数据报文的选项域中。
本实施例中,数据传输双方进行成功协商之后将进行首个数据报文的封装,获取本次数据报文传输所需要传输的数据长度,即待传输数据长度,进而将获取的待传输数据长度封装到首个数据报文的选项域中。
其中,首个数据报文包括报文头和数据区,数据区用于填充需要传输的数据,报文头包括各种提示选项信息,即选项域。
如图3所示,选项域包括类型域Kind、长度域Length和待传输数据长度Data_sum 三部分,其中,类型域为I个字节,长度域为I个字节,待传输数据长度将为4个或更多个字节,在此不做限定。
步骤S130,从首个数据报文的选项域中提取待传输数据长度。
本实施例中,在数据接收端接收到发送的首个数据报文之后,将从数据报文中提取记录于选项域中的待传输数据长度,并存储该待传输数据长度,以便于查看当前所需要传输的数据长度。
步骤S150,获取后续数据报文的接收等待时间,根据接收等待时间和待传输数据长度发送报文丢失消息。
本实施例中,后续数据报文是继首个数据报文之后数据接收端接收到的数据报文。后续数据报文的接收等待时间是在当前数据报文接收完毕之时开始统计所得到的时间,这一时间统计将在下一数据报文接收开始时结束。
根据接收等待时间和待传输数据长度主动向数据发送端发送报文丢失消息,以实现数据报文丢弃现象的主动反馈,而接收等待时间将是小于或者等于接收报文的时间间隔的,接收报文的时间间隔是正常情况中上一数据报文接收完毕至下一数据报文开始接收之间的时间间隔,由于该时间间隔是远小于超时重传时间的,因此,当前所建立的连接不会出现长时间空闲的状态,进而降低网络带宽的浪费,提高网络传输效率。
如图4所示,上述根据接收等待时间和待传输数据长度发送报文丢失消息的具体过程为
步骤S151,根据待传输数据长度判断进行的数据报文传输是否结束,若是则结束, 若否,则进入步骤S153。
本实施例中,在数据接收端以待传输数据长度为依据,判断当前所进行的数据传输是否已经完成所有数据报文的传输,若是,则不需要进行处理,若否,则说明后续数据报文还未传输完毕,数据接收端还应当接收到后续数据报文,因此,将进入步骤S153中进行进一步的判断。
如图5所示,在一个实施例中,上述步骤S151的具体过程为
步骤S1511,根据首个数据报文和/或后续数据报文对应的长度统计已接收的数据报文长度。
本实施例中,在数据接收端不断接收后续数据报文的过程中,将根据接收到的首个数据报文和/或后续数据报文进行长度统计,以得到当前所接收到的数据报文长度。
步骤S1513,判断已接收的数据报文长度是否达到待传输数据长度,若否,则进入步骤S153,若是,则结束。
本实施例中,读取存储的待 输数据长度,判断统计得到的已接收的数据报文长度是否达到了读取的待传输数据长度,若否,则进入步骤S153中进行进一步的判断,若是, 则说明当前连接所进行的数据报文传输已经完成,所有后续数据报文均已经完整的传输完毕,未丢弃任一后续数据报文。
步骤S153,进一步判断后续数据报文的接收等待时间是否达到接收数据报文的时间间隔,若是,则进入步骤S155,若否,则进入步骤S157。
本实施例中,若判断到已接收的数据报文长度还未达到待传输数据长度,则说明数据接收端还应当接收到后续数据报文,此时,数据接收端在等待接收新的后续数据报文。
数据接收端在等待接收新的后续数据报文时,将判断后续数据报文的等待接收时间是否已经达到了接收数据报文的时间间隔,若是,则说明即将发送至数据接收端的后续数据报文在达到该时间间隔之时,仍未达到数据接收端,因此这一后续数据接收报文发生了丢弃的可能性非常高,若否,则继续进行接收等待时间的统计,以继续判断是否达到接收后续数据报文的时间间隔。
在一个实施例中,上述步骤S153之前还包括首个数据报文或后续数据报文的接收完毕时触发计时以统计接收等待时间。
本实施例中,数据接收端在完成首个数据报文或每一后续数据报文的接收时,都将触发计算,统计下一数据报文的接收等待时间。
步骤S155,向数据发送端发送报文丢失消息。
本实施例中,在判断到数据报文的接收等待时间达到了接收后续数据报文的时间间隔,则说明发生了数据报文丢弃,因此数据接收端应当向数据发送端发送报文丢失消息, 进而使得数据发送端重新进行数据报文的发送,以保证数据接收端所接收到的数据报文的完整性。
步骤S157,继续进行接收等待时间的统计。
本实施例中,若判断到后续数据报文的接收等待时间尚未达到接收数据报文的时间间隔,则继续进行接收等待时间的统计,以便于再次进行判断。
步骤S170,接收根据报文丢失消息重传的数据报文。
下面结合一个具体的实施例说明上述数据报文传输方法。该实施例中,如图6所示,数据发送端601通过TCP连接向数据接收端603传输数据报文A、B、C、D和E,其中数据报文A为数据接收端603接收到的首个数据报文。
在传输的过程中,后续数据报文C、D和E都发生了丢失的情况,此时,通过上述数据报文传输方法,如图7所示,数据发送端601通过数据接收端603所发送的报文丢失消息即可在一个接收数据报文的时间间隔获知后续数据报文发生的丢弃,进而重新发送数据报文。
如图8所示,在一个实施例中,一种数据报文传输 系统,包括数据接收端10,该数据接收端10包括接收模块110、提取模块130和控制模块150。
接收模块110,用于接收通过建立的连接传输的首个数据报文和后续数据报文。
本实施例中,接收模块110接收到的首个数据报文是当前连接被建立之后所传输的第一个数据报文。首个数据报文是通过TCP协议传输的。
如图9所示,在一个实施例中,上述数据报文传输系统还包括数据发送端30。该数据发送端30用于建立连接,并通过连接建立数据报文中的选项域,并进行协商,成功协商后封装首个数据报文,将待传输数据长度封装于首个数据报文的选取域中。
本实施例中,为进行数据发送端和数据接收端之间的数据报文传输,数据发送端 30将与数据接收端10建立连接,并向数据接收端10发送协商报文,以确定数据接收端10 是否同意在数据报文中添加传输数据长度这一信息,并进一步说明这一信息的作用。
数据传输双方进行成功协商之后将进行首个数据报文的封装,数据发送端30获取本次数据报文传输所需要传输的数据长度,即待传输数据长度,进而将获取的待传输数据长度封装到首个数据报文的选项域中。
其中,首个数据报文包括报文头和数据区,数据区用于填充需要传输的数据,报文头包括各种提示选项信息,即选项域。
选项域包括类型域Kind、长度域Length和待传输数据长度Data_sum三部分,其中,类型域为I个字节,长度域为I个字节,待传输数据长度将为4个或更多个字节,在此不做限定。
提取模块130,用于从首个数据报文的选项域中提取待传输数据长度。
本实施例中,在数据接收端10接收到发送的首个数据报文之后,提取模块130将从数据报文中提取记录于选项域中的待传输数据长度,并存储该待传输数据长度,以便于查看当前所需要传输的数据长度。
控制模块150,获取后续数据报文的接收等待时间,根据接收等待时间和待传输数据长度发送报文丢失消息。
本实施例中,后续数据报文是继首个数据报文之后数据接收端接收到的数据报文。后续数据报文的接收等待时间是在当前数据报文接收完毕的时开始统计所得到的时间,这一时间统计将在下一数据报文接收开始时结束。
控制模块150根据接收等待时间和待传输数据长度主动向数据发送端30发送报文丢失消息,以实现数据报文丢弃现象的主动反馈,而接收等待时间将是小于或者等于接收报文的时间间隔的,接收报文的时间间隔是正常情况中上一数据报文接收完毕至下一数据报文开始接收之间的时间间隔,由于该时间间隔是远小于超时重传时间的,因此,当前所建立的连接不会出现长时间空闲的状态,进而降低网络带宽的浪费,提高网络传输效率。
如图10所示,在一个实施例中,上述控制模块150包括传输判断单元151、时间判断单元153和发送单元155。
传输判断单元151,用于根据待传输数据长度判断进行的数据报文传输是否结束, 若否,则通知时间判断单元153,若是,则停止执行。
本实施例中,在数据接收端10以待传输数据长度为依据,传输判断单元151判断当前所进行的数据传输是否已经完成所有数据报文的传输,若是,则不需要进行处理,若否,则说明后续数据报文还未传输完毕,数据接收端10还应当接收到后续数据报文,因此, 将通知时间判断单元153进行进一步的判断。
如图11所示,在一个实施例中,上述传输判断单元151包括长度统计单元1511和长度判断单元1513。
长度统计单元1511,用于根据首个数据报文和/或后续数据报文对应的长度统计已接收的数据报文长度。
本实施例中,在数据接收端不断接收后续数据报文的过程中,长度统计单元1511 将根据接收到的首个数据报文和/或后续数据报文进行长度统计,以得到当前所接收到的数据报文长度。
长度判断单元1513,用于判断已接收的数据报文长度是否达到待传输数据长度, 若否,则通知时间判断单元153,若是,则停止执行。
本实施例中,长度判断单元1513读取存储的待传输数据长度,判断统计得到的已接收的数据报文长度是否达到了读取的待传输数据长度,若否,则通知时间判断单元153 进行进一步的判断,若是,则说明当前连接所进行的数据报文传输已经完成,所有后续数据报文已经完整的传输完毕,未丢弃任一后续数据报文。
时间判断单元153,用于判断后续数据报文的接收等待时间是否达到接收数据报文的时间间隔,若是,则通知发送单元155,若否,则继续进行接收等待时间的统计。
本实施例中,若判断到已接收的数据报文长度还未达到待传输数据长度,则说明数据接收端10还应当接收到后续数据报文,此时,数据接收端10在等待接收新的后续数据报文。
数据接收端10在等待接收新的后续数据报文时,时间判断单元153将判断数据报文的等待接收时间是否已经达到了接收数据报文的时间间隔,若是,则说明即将发送至数据接收端10的后续数据报文在达到该时间间隔之后,仍未达到数据接收端10,因此这一后续数据接收报文发生了丢弃的可能性非常高,若否,则继续进行接收等待时间的统计,以继续判断是否达到接收后续数据报文的时间间隔。
在一个实施例中,上述控制模块150还包括计时器。该计时器用于首个数据报文或后续数据报文的接收完毕时触发计时以统计接收等待时间。
本实施例中,数据接收端10在完成首个数据报文或每一后续数据报文的接收时, 计时器将触发计算,统计下一数据报文的接收等待时间。
发送单元155,用于向数据发送端发送报文丢失消息。
本实施例中,在判断到数据报文的接收等待时间达到了接收后续数据报文的时间间隔,则说明发生了数据报文丢弃,因此发送单元155应当向数据发送端30发送报文丢失消息,进而使得数据发送端30重新进行数据报文的发送,以保证数据接收端10所接收到的数据报文的完整性。
接收模块110还用于接收报文丢失消息重传的数据报文。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解 为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种数据报文传输方法,包括如下步骤接收建立连接后传输的首个数据报文;从所述首个数据报文的选项域中提取待传输数据长度;获取后续数据报文的接收等待时间,根据所述接收等待时间和待传输数据长度发送报文丢失消息;接收根据报文丢失消息重传的数据报文。
2.根据权利要求1所述的数据报文传输方法,其特征在于,所述接收建立连接后传输的首个数据报文的步骤之前还包括建立连接,并通过连接建立数据报文中的选项域,并进行协商;成功协商后封装首个数据报文,并将待传输数据长度封装于所述首个数据报文的选项域中。
3.根据权利要求1所述的数据报文传输方法,其特征在于,所述根据所述接收等待时间和待传输数据长度发送报文丢失消息的步骤包括根据所述待传输数据长度判断进行的后续数据报文传输是否结束,若否,则进一步判断后续数据报文的接收等待时间是否达到接收数据报文的时间间隔,若是, 则向数据发送端发送报文丢失消息。
4.根据权利要求3所述的数据报文传输方法,其特征在于,所述根据所述待传输数据长度判断进行的后续数据报文传输是否结束的步骤为根据首个数据报文和/或后续数据报文对应的长度统计已接收的数据报文长度;判断所述已接收的数据报文长度是否达到待传输数据长度,若否,则进入所述进一步判断所述统计的接收等待时间是否达到接收数据报文的时间间隔的步骤。
5.根据权利要求3所述的数据报文传输方法,其特征在于,所述进一步判断数据报文的接收等待时间是否达到接收数据报文的时间间隔的步骤之前还包括首个数据报文或后续数据报文的接收完毕时触发计时以统计接收等待时间。
6.一种数据报文传输系统,其特征在于,包括数据接收端,所述数据接收端包括接收模块,用于接收建立连接后传输的首个数据报文和后续数据报文;提取模块,用于从所述首个数据报文的选项域中提取待传输数据长度;控制模块,用于获取后续数据报文的接收等待时间,根据所述接收等待时间和待传输数据长度发送报文丢失消息;所述接收模块还用于接收报文丢失消息重传的数据报文。
7.根据权利要求6所述的数据报文传输系统,其特征在于,还包括数据发送端,用于建立连接,并通过连接建立数据报文中的选项域,并进行协商,成功协商后封装首个数据报文,将待传输数据长度封装于所述首个数据报文的选取域中。
8.根据权利要求6所述的数据报文传输系统,其特征在于,所述控制模块包括传输判断单元,用于根据所述待传输数据长度判断进行的后续数据报文传输是否结束,若否,则通知时间判断单元;所述时间判断单元用于判断数据报文的接收等待时间是否达到接收数据报文的时间间隔,若是,则通知发送单元;所述发送单元用于向所述数据发送端发送报文丢失消息。
9.根据权利要求8所述的数据报文传输系统,其特征在一起,所述传输判断单元包括 长度统计单元,用于根据首个数据报文和/或后续数据报文对应的长度统计已接收的数据报文长度;长度判断单元,用于判断所述已接收的数据报文长度是否达到待传输数据长度,若否, 则通知所述时间判断单元。
10.根据权利要求8所述的数据报文传输系统,其特征在于,所述控制模块还包括 计时器,用于首个数据报文和/或后续数据报文的接收完毕时触发计时以统计接收等待时间。
全文摘要
本发明提供了一种数据报文传输方法和系统。所述方法包括接收通过建立的连接传输的首个数据报文;从所述首个数据报文的选项域中提取待传输数据长度;获取数据报文的接收等待时间,根据所述接收等待时间和待传输数据长度发送报文丢失消息;接收根据报文丢失消息重传的数据报文。所述系统包括接收模块,用于接收通过建立的连接传输的首个数据报文;提取模块,用于从所述首个数据报文的选项域中提取待传输数据长度;控制模块,用于获取数据报文的接收等待时间,根据所述接收等待时间和待传输数据长度发送报文丢失消息;所述接收模块还用于接收报文丢失消息重传的数据报文。采用本发明降低了网络带宽的浪费。
文档编号H04L12/841GK103001885SQ20121057263
公开日2013年3月27日 申请日期2012年12月25日 优先权日2012年12月25日
发明者刘进, 须成忠, 闫茜, 邱健聪, 彭贤斌, 陈凯, 陈光华 申请人:中国科学院深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1