CN104283716B - 数据传输方法、设备及系统 - Google Patents

数据传输方法、设备及系统 Download PDF

Info

Publication number
CN104283716B
CN104283716B CN201410567867.5A CN201410567867A CN104283716B CN 104283716 B CN104283716 B CN 104283716B CN 201410567867 A CN201410567867 A CN 201410567867A CN 104283716 B CN104283716 B CN 104283716B
Authority
CN
China
Prior art keywords
data
data packet
transmitting equipment
tcp
links
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.)
Active
Application number
CN201410567867.5A
Other languages
English (en)
Other versions
CN104283716A (zh
Inventor
徐星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201410567867.5A priority Critical patent/CN104283716B/zh
Publication of CN104283716A publication Critical patent/CN104283716A/zh
Application granted granted Critical
Publication of CN104283716B publication Critical patent/CN104283716B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种数据传输方法,包括:通过UDP链路向数据接收设备发送第一数据封包;在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应;所述第一数据封包的确认响应表示所述数据接收设备接收到所述第一数据封包;若检测到超过预设时长仍未接收到所述确认响应,则向所述数据接收设备请求并建立TCP链路;通过所述UDP链路和TCP链路向所述数据接收设备发送第二数据封包。本发明还公开了另外两种数据传输方法、一种数据发送设备、一种数据接收设备和一种数据传输系统。本发明可以提高数据传输流畅度、优化传输质量。

Description

数据传输方法、设备及系统
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据传输方法及系统。
背景技术
在现有技术中,即时通讯通常使用TCP连接方式。比如在网络游戏中,客户端和服务器之间通常采用一条TCP连接进行相互通信,但是如果客户端开了迅雷,或者客户端同局域网的其他机器开了迅雷或者其他下载软件,会极大影响网络游戏的网络流畅度。根据实际的统计数据,在网络游戏中,使用TCP连接的情况下,客户端的掉线率大约为30%-40%。这是因为TCP的主动避让机制导致的。TCP主动避让机制具体为:在网络层发现第一次网络异常(比如丢包)现象之后,TCP机制会主动降低自己的网络速率。例如,如果在网络延时为50ms的时候,TCP第一次发生丢包,系统会在下一个50ms尝试重传,如果仍然丢包,会在下100ms重传,如果仍然丢包,会在下200ms重传。尝试的时间等于上一次尝试时间的一倍,这是一个指数的级别,重传次数如果超过5次,重传等待时间将会很恐怖,最终很可能掉线。因此客户端和服务器之间采用TCP连接时,当网络质量不稳定时,例如如果网络质量突然很差,然后又恢复了,TCP尝试重传的时间会等待很久,由于等待时间太久,会导致客户端掉线。
在某些应用中也会使用UDP连接方式。比如在网络游戏中,客户端和服务器端之间使用一条UDP连接。但是UDP是不可靠协议,也就是说服务器发送给客户端的封包,客户端不保证可以收到。另外,防火墙等某些软件会限制UDP连接流量,因此当采用UDP连接传输数据较多时,会被限制流量,从而导致数据传输不够流畅、掉线率增加,甚至导致数据传输中断。
发明内容
本发明所要解决的技术问题在于,提供一种提高数据传输流畅度、优化传输质量的数据传输方法及系统。
为解决以上技术问题,本发明提供了一种数据传输方法,包括:
通过UDP链路向数据接收设备发送第一数据封包;
在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应;所述第一数据封包的确认响应表示所述数据接收设备接收到所述第一数据封包;
若检测到超过预设时长仍未接收到所述确认响应,则向所述数据接收设备请求并建立TCP链路;
通过所述UDP链路和所述TCP链路向所述数据接收设备发送第二数据封包。
本发明还提供了另外一种数据传输方法,包括:
通过UDP链路接收数据发送设备发送的第一数据封包;
向所述数据发送设备返回所述第一数据封包的确认响应;
接收所述数据发送设备发送的TCP链路建立请求,并与所述数据发送设备建立TCP链路;所述TCP链路建立请求是所述数据发送设备在检测到超过预设时长仍未接收到所述第一数据封包的确认响应时发送的;
通过所述UDP链路和所述TCP链路接收所述数据发送设备发送的第二数据封包,并对所述第二数据封包进行重复数据封包判定和过滤。
本发明还提供了另外一种数据传输方法,包括:
数据发送设备通过UDP链路向数据接收设备发送第一数据封包;
所述数据接收设备通过所述UDP链路接收所述数据发送设备发送的第一数据封包;
所述数据接收设备向所述数据发送设备返回所述第一数据封包的确认响应;
所述数据发送设备在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应;
所述数据发送设备若检测到超过预设时长仍未接收到所述确认响应,则向所述数据接收设备发送TCP链路建立请求;
所述数据接收设备接收所述数据发送设备发送的TCP链路建立请求,并与所述数据发送设备建立TCP链路;
所述数据发送设备通过所述UDP链路和所述TCP链路向所述数据接收设备发送第二数据封包。
所述数据接收设备通过所述UDP链路和所述TCP链路接收所述数据发送设备发送的第二数据封包,并对所述第二数据封包进行重复数据封包判定和过滤。
本发明还提供了一种数据发送设备,包括:
第一数据封包发送模块,用于通过UDP链路向数据接收设备发送第一数据封包;
超时检测模块,用于在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应;所述第一数据封包的确认响应表示所述数据接收设备接收到所述第一数据封包;
TCP链路请求建立模块,用于若检测到超过预设时长仍未接收到所述确认响应,则向所述数据接收设备请求并建立TCP链路;
第二数据封包发送模块,用于通过所述UDP链路和所述TCP链路向所述数据接收设备发送第二数据封包。
本发明还提供了一种数据接收设备,包括:
第一数据封包接收模块,用于通过UDP链路接收数据发送设备发送的第一数据封包;
第一确认响应返回模块,用于向所述数据发送设备返回所述第一数据封包的确认响应;
TCP链路建立模块,用于接收所述数据发送设备发送的TCP链路建立请求,并与所述数据发送设备建立TCP链路;所述TCP链路建立请求是所述数据发送设备在检测到超过预设时长仍未接收到所述第一数据封包的确认响应时发送的;
第二数据封包接收模块,用于通过所述UDP链路和所述TCP链路接收所述数据发送设备发送的第二数据封包,并对所述第二数据封包进行重复数据封包判定和过滤。
本发明还提供了一种数据传输系统,
包括数据发送设备和数据接收设备,所述数据发送设备包括第一数据封包发送模块、超时检测模块、TCP链路请求建立模块和第二数据封包模块,所述数据接收设备包括第一数据封包接收模块、第一确认响应返回模块、TCP链路建立模块和第二数据封包接收模块;其中:
所述第一数据封包发送模块,用于数据发送设备通过UDP链路向数据接收设备发送第一数据封包;
所述第一数据封包接收模块,用于所述数据接收设备通过所述UDP链路接收所述数据发送设备发送的第一数据封包;
所述第一确认响应返回模块,用于所述数据接收设备向所述数据发送设备返回所述第一数据封包的确认响应;
所述超时检测模块,用于所述数据发送设备在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应;
所述TCP链路请求建立模块,用于所述数据发送设备若检测到超过预设时长仍未接收到所述确认响应时,向所述数据接收设备发送TCP链路建立请求;
所述TCP链路建立模块,用于所述数据接收设备接收所述数据发送设备发送的TCP链路建立请求,并与所述数据发送设备建立TCP链路;
所述第二数据封包发送模块,用于所述数据发送设备通过所述UDP链路和所述TCP链路向所述数据接收设备发送第二数据封包;
所述第二数据封包接收模块,用于所述数据接收设备通过所述UDP链路和所述TCP链路接收所述数据发送设备发送的第二数据封包,并对所述第二数据封包进行重复数据封包判定和过滤。
本发明中,数据发送设备在通过UDP链路传输数据时,数据接收设备会返回一个确认响应,因此可以检测到数据接收设备是否接收到发送的数据;当数据发送设备检测到接收确认响应超时的时候,建立TCP链路,进行辅助传输,之后的数据传输就会通过TCP链路和UDP链路同时传输数据,因此可以保证数据能够传输到另一方,可以有效解决防火墙等某些限制UDP数据流量的应用导致的掉线、数据传输不流畅或中断的问题,可以增加网络流畅度、降低掉线率、优化数据传输质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的数据传输方法的一个实施例的流程示意图;
图2是本发明提供的数据传输方法的另一个实施例的流程示意图;
图3是本发明提供的数据传输方法的又一个实施例的流程示意图;
图4是本发明提供的数据发送设备的一个实施例的功能模块图;
图5是图4中超时检测模块的模块示意图;
图6是本发明提供的数据接收设备的一个实施例的功能模块图;
图7是图6中身份验证模块的模块示意图;
图8是本发明提供的数据传输系统的一个实施例的功能模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明提供的数据传输方法的一个实施例的流程示意图,本实施例是针对于数据发送设备一侧描述的,如图1所示,本发明实施例提供的数据传输方法包括:
S101、通过UDP链路向数据接收设备发送第一数据封包。
其中,数据发送设备可以是客户端,数据接收设备可以对应的是服务器;可以理解的,数据发送设备和数据接收设备也可以是两个对等的终端,或者数据发送设备为服务器,数据接收设备对应的为客户端。
S102、将已发送的第一数据封包及其发送时间保存于已发送列表中。
其中,已发送列表是队列结构,其中保存了已发送的数据封包及其发送时间,用于之后的超时检测。
S103、若接收到所述数据接收设备返回的所述第一数据封包的确认响应,从所述已发送列表中删除所述第一数据封包及其发送时间。
具体的,数据接收设备在接收到数据发送设备发送的数据封包后会返回一个确认响应,表示接收到该数据封包。所述第一数据封包的确认响应表示所述数据接收设备接收到所述第一数据封包。若数据发送设备接收到了确认响应后,会将对应的数据封包及其发送时间从已发送列表中删除,因此已发送列表中保存的都是没有接收到确认响应的数据封包。
S104、在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应。
具体的,S104包括:
在超时检测时刻,检测所述已发送列表是否存在所述第一数据封包;
若存在所述第一数据封包,则判断所述第一数据封包的发送时间与当前时刻的差值是否大于预设时长;
当所述差值大于预设时长时,判定为超过预设时长仍未接收到所述确认响应。
另外,若所述发送列表不存在所述第一数据封包,或者所述差值小于或等于预设时长,则继续通过所述UDP链路向所述数据接收设备发送第二数据封包。
其中,超时检测是一个周期性的检测,可以是每隔500ms检测一次,对应的预设时长可以为2s。其中已发送列表中保存的都是没有接收到确认响应的数据封包,因此,如果已发送列表没有所述第一数据封包,即表示所述第一数据封包已经接收到第一数据封包。
S105、若检测到超过预设时长仍未接收到所述确认响应,则向所述数据接收设备请求并建立TCP链路。
具体的,检测到超过预设时长仍未接收到所述第一数据封包的确认响应表示当前的UDP链路有可能被限制或出现网络问题等,因此向所述数据接收设备请求并建立TCP链路。具体的,新建的TCP链路的连接IP和端口设定为和UDP链路的一样。
步骤S104和步骤S105是针对数据发送设备发送的某一数据封包的超时检测过程进行描述的,在实际操作过程中,如果对数据发送设备发送的每一数据封包都进行超时检测,那么会增加内存消耗、降低效率,因此步骤S104和步骤S105在实际操作过程中的具体实施方式可以是:在超时检测时刻,遍历已发送列表中的前几个数据封包(例如前7个),如果存在超过预设时长没有接收到确认响应的数据封包,则向所述数据接收设备请求并建立TCP链路。即只对已发送列表的前几个数据封包进行遍历和超时检测。
S106、通过所述UDP链路和所述TCP链路向所述数据接收设备发送第二数据封包。
其中,所述第二数据封包包含所述数据发送设备的连接ID,以使所述数据接收设备能够根据所述连接ID对所述数据发送设备进行身份验证,并在验证通过后通过所述UDP链路和所述TCP链路向所述数据发送设备返回所述第二数据封包的确认响应。
S107、接收所述数据接收设备通过所述UDP链路所述和TCP链路返回的数据封包,并对所述数据封包进行重复数据封包判定和过滤。
具体的,当接收所述数据接收设备通过所述UDP链路和TCP链路返回的数据封包时,对接收的数据封包进行重复数据封包判定和过滤。因为数据接收设备通过所述UDP链路和TCP链路返回的数据封包是相同的数据包,因此需要对重复的数据封包进行过滤。
之后重复执行步骤S106至S107进行数据传输。
本发明实施例中,数据发送设备在通过UDP链路传输数据时,数据接收设备会返回一个确认响应,因此可以检测到数据接收设备是否接收到发送的数据;当数据发送设备检测到接收确认响应超时的时候,建立TCP链路,进行辅助传输,之后的数据传输就会通过TCP链路和UDP链路同时传输数据,因此可以保证数据能够传输到另一方,可以有效解决防火墙等某些限制UDP数据流量的应用导致的掉线、数据传输不流畅或中断的问题,可以增加网络流畅度、降低掉线率、优化数据传输质量。
图2是本发明提供的数据传输方法的另一个实施例的流程示意图,本实施例是针对于数据接收设备一侧描述的,如图2所示,本发明实施例提供的数据传输方法包括:
S201、通过UDP链路接收数据发送设备发送的第一数据封包。
其中,数据发送设备可以是客户端,数据接收设备可以对应的是服务器;另外,数据发送设备和数据接收设备也可以是两个对等的终端,或者数据发送设备为服务器,数据接收设备对应的为客户端。
S202、从所述第一数据封包解析出所述数据发送设备的连接ID,并保存于数据发送设备信息列表中。
具体的,可以从所述第一数据封包解析出所述数据发送设备的连接ID和当前UDP链路的链路ID,并保存于数据发送设备信息列表中。其中,数据发送设备信息列表可以保存多个数据发送设备的连接ID。具体的,数据发送设备信息列表可以是哈希表,哈希表的key是数据发送设备的连接ID,value是当前UDP链路的链路ID。
S203、向所述数据发送设备返回所述第一数据封包的确认响应。
具体的,数据接收设备在接收到数据发送设备发送的数据封包后都会返回一个确认响应。
S204、接收所述数据发送设备发送的TCP链路建立请求,并与所述数据发送设备建立TCP链路。
其中,所述TCP链路建立请求是所述数据发送设备在检测到超过预设时长仍未接收到所述第一数据封包的确认响应时发送的。
S205、通过所述UDP链路和TCP链路接收所述数据发送设备发送的第二数据封包。
具体的,当TCP链路建立后,数据发送设备会通过所述UDP链路和TCP链路向数据接收设备发送相同的第二数据封包。其中,第二数据封包包含数据发送设备的连接ID。
S206、从通过TCP链路接收的第二数据封包中解析出所述数据发送设备的连接ID,并根据所述连接ID对所述数据发送设备进行身份验证。
具体的,可以从通过TCP链路接收的第二数据封包中解析出所述数据发送设备的连接ID和当前TCP链路的链路ID,并将当前TCP链路的链路ID也保存于所述数据发送设备信息列表中,具体保存在哈希表中key为当前数据发送设备的连接ID的value中。
其中,身份验证主要是查看当前的数据发送设备是否之前采用了UDP连接。
其中,所述根据所述连接ID对所述数据发送设备进行身份验证具体包括:检测所述连接ID是否在所述数据发送设备信息列表中;若所述连接ID在所述数据发送设备信息列表中,判定为身份验证通过。因为,如果之前采用了UDP连接,则会保存在数据发送设备信息列表中。
S207、若身份验证通过,则通过所述UDP链路和所述TCP链路向所述当前数据发送设备返回所述第二数据封包的确认响应。
具体的,如果验证通过,则表明之前采用了UDP连接,因此针对于当前数据发送设备,从数据发送设备信息列表中查找出key为当前数据发送设备的连接ID的value,从value中查找出UDP链路的链路ID和TCP链路的链路ID,并通过对应的UDP链路和TCP链路向所述当前数据发送设备返回所述第二数据封包的确认响应。
之后重复执行步骤S205和S207进行数据传输。
本发明实施例中,数据发送设备在通过UDP链路传输数据时,数据接收设备会返回一个确认响应,因此可以检测到数据接收设备是否接收到发送的数据;当数据发送设备检测到接收确认响应超时的时候,建立TCP链路,进行辅助传输,之后的数据传输就会通过TCP链路和UDP链路同时传输数据,因此可以保证数据能够传输到另一方,可以有效解决防火墙等某些限制UDP数据流量的应用导致的掉线、数据传输不流畅或中断的问题,可以增加网络流畅度、降低掉线率、优化数据传输质量。
图3是本发明提供的数据传输方法的又一个实施例的流程示意图,本实施例是对于数据接收设备和数据发送设备两侧描述的,如图3所示,本发明实施例提供的数据传输方法包括:
S301、数据发送设备通过UDP链路向数据接收设备发送第一数据封包,并将已发送的第一数据封包及其发送时间保存于已发送列表中。
其中,数据发送设备可以是客户端,数据接收设备可以对应的是服务器;可以理解的,数据发送设备和数据接收设备也可以是两个对等的终端,或者数据发送设备为服务器,数据接收设备对应的为客户端。其中,已发送列表是队列结构,其中保存了已发送的数据封包及其发送时间,用于之后的超时检测。
S302、所述数据接收设备通过所述UDP链路接收所述数据发送设备发送的第一数据封包,并从所述第一数据封包解析出所述数据发送设备的连接ID,并保存于数据发送设备信息列表中。
具体的,可以从所述第一数据封包解析出所述数据发送设备的连接ID和当前UDP链路的链路ID,并保存于数据发送设备信息列表中。其中,数据发送设备信息列表可以保存多个数据发送设备的连接ID。具体的,数据发送设备信息列表可以是哈希表,哈希表的key是数据发送设备的连接ID,value是当前UDP链路的链路ID。
S303、所述数据接收设备向所述数据发送设备返回所述第一数据封包的确认响应。
具体的,数据接收设备在接收到数据发送设备发送的数据封包后会返回一个确认响应,表示接收到该数据封包。所述第一数据封包的确认响应表示所述数据接收设备接收到所述第一数据封包。
S304、所述数据发送设备若接收到所述数据接收设备返回的所述第一数据封包的确认响应,从所述已发送列表中删除所述第一数据封包及其发送时间。
若数据发送设备接收到了确认响应后,会将对应的数据封包及其发送时间从已发送列表中删除,因此已发送列表中保存的都是没有接收到确认响应的数据封包。
S305、所述数据发送设备在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应。
具体的,S305包括:
所述数据发送设备在超时检测时刻,检测所述已发送列表是否存在所述第一数据封包;
若存在所述第一数据封包,则判断所述第一数据封包的发送时间与当前时刻的差值是否大于预设时长;
当所述差值大于预设时长时,判定超过预设时长仍未接收到所述确认响应。
另外,若所述发送列表不存在所述第一数据封包,或者所述差值小于或等于预设时长,则继续通过所述UDP链路向所述数据接收设备发送第二数据封包。
其中,超时检测是一个周期性的检测,可以是每隔500ms检测一次,对应的预设时长可以为2s。其中已发送列表中保存的都是没有接收到确认响应的数据封包,因此,如果已发送列表没有所述第一数据封包,即表示所述第一数据封包已经接收到第一数据封包。
S306、所述数据发送设备若检测到超过预设时长仍未接收到所述确认响应,则向所述数据接收设备发送TCP链路建立请求。
具体的,检测到超过预设时长仍未接收到所述第一数据封包的确认响应表示当前的UDP链路有可能被限制或出现网络问题等,因此向所述数据接收设备请求并建立TCP链路。具体的,新建的TCP链路的连接IP和端口设定为和UDP链路的一样。
步骤S305和步骤S306是针对数据发送设备发送的某一数据封包的超时检测过程进行描述的,在实际操作过程中,如果对数据发送设备发送的每一数据封包都进行超时检测,那么会增加内存消耗、降低效率,因此步骤S305和步骤S306在实际操作过程中的具体实施方式可以是:在超时检测时刻,遍历已发送列表中的前几个数据封包(例如前7个),如果存在超过预设时长没有接收到确认响应的数据封包,则向所述数据接收设备请求并建立TCP链路。即只对已发送列表的前几个数据封包进行遍历和超时检测。
S307、所述数据接收设备接收所述数据发送设备发送的TCP链路建立请求,并与所述数据发送设备建立TCP链路。
S308、所述数据发送设备通过所述UDP链路和所述TCP链路向所述数据接收设备发送第二数据封包。
其中,所述第二数据封包包含所述数据发送设备的连接ID,以使所述数据接收设备能够根据所述连接ID对所述数据发送设备进行身份验证,并在验证通过后通过所述UDP链路和TCP链路向所述数据发送设备返回所述第二数据封包的确认响应。
S309、所述数据接收设备通过所述UDP链路和所述TCP链路接收所述数据发送设备发送的第二数据封包,并对所述第二数据封包进行重复数据封包判定和过滤。
S310、所述数据接收设备从通过TCP链路接收的第二数据封包中解析出所述数据发送设备的连接ID,并根据所述连接ID对所述数据发送设备进行身份验证。
具体的,可以从通过TCP链路接收的第二数据封包中解析出所述数据发送设备的连接ID和当前TCP链路的链路ID,并将当前TCP链路的链路ID也保存于所述数据发送设备信息列表中,具体保存在哈希表中key为当前数据发送设备的连接ID的value中。
其中,身份验证主要是查看当前的数据发送设备是否之前采用了UDP连接。
其中,所述根据所述连接ID对所述数据发送设备进行身份验证具体包括:检测所述连接ID是否在所述数据发送设备信息列表中;若所述连接ID在所述数据发送设备信息列表中,判定为身份验证通过。因为,如果之前采用了UDP连接,则会保存在数据发送设备信息列表中。
S311、若身份验证通过,则所述数据接收设备通过所述UDP链路和TCP链路向所述当前数据发送设备返回所述第二数据封包的确认响应。
具体的,如果验证通过,则表明之前采用了UDP连接,因此针对于当前数据发送设备,从数据发送设备信息列表中查找出key为当前数据发送设备的连接ID的value,从value中查找出UDP链路的链路ID和TCP链路的链路ID,并通过对应的UDP链路和TCP链路向所述当前数据发送设备返回所述第二数据封包的确认响应。
S312、所述数据发送设备接收所述数据接收设备通过所述UDP链路和所述TCP链路返回的数据封包,并所述数据封包进行重复数据封包判定和过滤。
具体的,当接收所述数据接收设备通过所述UDP链路和TCP链路返回的数据封包时,对接收的数据封包进行重复数据封包判定和过滤。因为数据接收设备通过所述UDP链路和TCP链路返回的数据封包是相同的数据包,因此需要对重复的数据封包进行过滤。
之后重复执行步骤S308至S312进行数据传输。
本发明实施例中,数据发送设备在通过UDP链路传输数据时,数据接收设备会返回一个确认响应,因此可以检测到数据接收设备是否接收到发送的数据;当数据发送设备检测到接收确认响应超时的时候,建立TCP链路,进行辅助传输,之后的数据传输就会通过TCP链路和UDP链路同时传输数据,因此可以保证数据能够传输到另一方,可以有效解决防火墙等某些限制UDP数据流量的应用导致的掉线、数据传输不流畅或中断的问题,可以增加网络流畅度、降低掉线率、优化数据传输质量。
图4是本发明提供的数据发送设备的一个实施例的功能模块图,如图4所示,本发明实施例提供的数据发送设备包括:
第一数据封包发送模块401,用于通过UDP链路向数据接收设备发送第一数据封包;
数据保存模块402,用于将所述第一数据封包发送模块401发送的第一数据封包及其发送时间保存于已发送列表中;
数据删除模块403,用于当接收到所述数据接收设备返回的的所述第一数据封包的确认响应时,从所述已发送列表中删除所述第一数据封包及其发送时间;
超时检测模块404,用于在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应;所述第一数据封包的确认响应表示所述数据接收设备接收到所述第一数据封包;
TCP链路请求建立模块405,用于若检测到超过预设时长仍未接收到所述确认响应,则向所述数据接收设备请求并建立TCP链路;
第二数据封包发送模块406,用于通过所述UDP链路和TCP链路向所述数据接收设备发送第二数据封包;
重复数据过滤模块407,用于接收所述数据接收设备通过所述UDP链路和TCP链路返回的数据封包,并对接收的数据封包进行重复数据封包判定和过滤。
其中,如图5所示,所述超时检测模块404具体包括:
已发送列表检测单元4041,用于在超时检测时刻,检测所述已发送列表是否存在所述第一数据封包;
超时计算单元4042,用于若存在所述第一数据封包,则判断所述第一数据封包的发送时间与当前时刻的差值是否大于预设时长;
超时判定单元4043,用于当所述差值大于预设时长时,判定超过预设时长仍未接收到所述确认响应。
其中,所述第二数据封包包含所述数据发送设备的连接ID,以使所述数据接收设备能够根据所述连接ID对所述数据发送设备进行身份验证,并在验证通过后通过所述UDP链路和所述TCP链路向所述数据发送设备返回所述第二数据封包的确认响应。
本发明实施例与本发明提供的如图1所示的数据传输方法的实施例一一对应,因此,各模块的具体信息请参照本发明提供的数据传输方法的第一实施例,在此不再赘述。
本发明实施例中,数据发送设备在通过UDP链路传输数据时,数据接收设备会返回一个确认响应,因此可以检测到数据接收设备是否接收到发送的数据;当数据发送设备检测到接收确认响应超时的时候,建立TCP链路,进行辅助传输,之后的数据传输就会通过TCP链路和UDP链路同时传输数据,因此可以保证数据能够传输到另一方,可以有效解决防火墙等某些限制UDP数据流量的应用导致的掉线、数据传输不流畅或中断的问题,可以增加网络流畅度、降低掉线率、优化数据传输质量。
图6是本发明提供的数据接收设备的一个实施例的功能模块图,如图6所示,本发明实施例提供的数据接收设备包括:
第一数据封包接收模块501,用于通过UDP链路接收数据发送设备发送的第一数据封包;
第一数据封包解析模块502,用于从所述第一数据封包接收模块接收的第一数据封包中解析出所述数据发送设备的连接ID,并保存于数据发送设备信息列表中;
第一确认响应返回模块503,用于向所述数据发送设备返回所述第一数据封包的确认响应;
TCP链路建立模块504,用于接收所述数据发送设备发送的TCP链路建立请求,并与所述数据发送设备建立TCP链路;所述TCP链路建立请求是所述数据发送设备在检测到超过预设时长仍未接收到所述第一数据封包的确认响应时发送的;
第二数据封包接收模块505,用于通过所述UDP链路和所述TCP链路接收所述数据发送设备发送的第二数据封包,并对所述第二数据封包进行重复数据封包判定和过滤。
身份验证模块506,用于从通过所述TCP链路接收的第二数据封包中解析出所述数据发送设备的连接ID,并根据所述连接ID对所述数据发送设备进行身份验证;
第二确认响应返回模块507,用于在所述身份验证模块判定为身份验证通过时,通过所述UDP链路和所述TCP链路向所述当前数据发送设备返回所述第二数据封包的确认响应。
其中,如图7所示,身份验证模块506具体包括:
ID检测单元5061,用于检测从所述第二数据封包中解析出连接ID是否在所述数据发送设备信息列表中;
验证判定单元5062,用于若所述连接ID在所述数据发送设备信息列表中,则判定为身份验证通过。
本发明实施例与本发明提供的如图2所示的数据传输方法的实施例一一对应,因此,各模块的具体信息请参照本发明提供的数据传输方法的第二实施例,在此不再赘述。
本发明实施例中,数据发送设备在通过UDP链路传输数据时,数据接收设备会返回一个确认响应,因此可以检测到数据接收设备是否接收到发送的数据;当数据发送设备检测到接收确认响应超时的时候,建立TCP链路,进行辅助传输,之后的数据传输就会通过TCP链路和UDP链路同时传输数据,因此可以保证数据能够传输到另一方,可以有效解决防火墙等某些限制UDP数据流量的应用导致的掉线、数据传输不流畅或中断的问题,可以增加网络流畅度、降低掉线率、优化数据传输质量。
图8是本发明提供的数据传输系统的一个实施例的功能模块图,如图8所示,本发明实施例提供的数据传输系统包括数据发送设备61和数据接收设备62,所述数据发送设备61包括第一数据封包发送模块611、数据保存模块612、数据删除模块613、超时检测模块614、TCP链路请求建立模块615、第二数据封包模块616和重复数据过滤模块617,所述数据接收设备62包括第一数据封包接收模块621、第一数据封包解析模块622、第一确认响应返回模块623、TCP链路建立模块624、第二数据封包接收模块625、身份验证模块626和第二确认响应返回模块627。
第一数据封包发送模块611,用于数据发送设备61通过UDP链路向数据接收设备62发送第一数据封包。
数据保存模块612,用于将所述第一数据封包发送模块发送的第一数据封包及其发送时间保存于已发送列表中。
数据删除模块613,用于当接收到所述数据接收设备62返回的所述第一数据封包的确认响应时,从所述已发送列表中删除所述第一数据封包及其发送时间。
第一数据封包接收模块621,用于所述数据接收设备62通过所述UDP链路接收所述数据发送设备61发送的第一数据封包。
第一数据封包解析模块622,用于从所述第一数据封包接收模块接收的第一数据封包中解析出所述数据发送设备61的连接ID和所述第一UDP链路的链路ID,并保存于链路ID表中。
第一确认响应返回模块623,用于所述数据接收设备62向所述数据发送设备61返回所述第一数据封包的确认响应。
超时检测模块614,用于所述数据发送设备61在超时检测时刻,检测是否接收到所述数据接收设备62返回的所述第一数据封包的确认响应。
TCP链路请求建立模块615,用于所述数据发送设备61若检测到超过预设时长仍未接收到所述确认响应,则向所述数据接收设备62发送TCP链路建立请求。
TCP链路建立模块624,用于所述数据接收设备62接收所述数据发送设备61发送的TCP链路建立请求,并与所述数据发送设备61建立TCP链路。
第二数据封包发送模块616,用于所述数据发送设备61通过所述UDP链路和所述TCP链路向所述数据接收设备62发送第二数据封包。
第二数据封包接收模块625,用于所述数据接收设备62通过所述UDP链路和所述TCP链路接收所述数据发送设备61发送的第二数据封包。
身份验证模块626,用于从通过所述TCP链路接收的第二数据封包中解析出所述数据发送设备61的连接ID,并根据所述连接ID对所述数据发送设备61进行身份验证。
第二确认响应返回模块627,用于在所述身份验证模块判定为身份验证通过时,通过所述UDP链路和TCP链路向所述当前数据发送设备61返回所述第二数据封包的确认响应。
重复数据过滤模块617,用于数据发送设备61接收所述数据接收设备62通过所述UDP链路和所述TCP链路返回的数据封包,并对所述数据封包进行重复数据封包判定和过滤。
其中,超时检测模块614具体包括:
已发送列表检测单元6141,用于在超时检测时刻,检测所述已发送列表是否存在所述第一数据封包;
超时计算单元6142,用于若存在所述第一数据封包,判断所述第一数据封包的发送时间与当前时刻的差值是否大于预设时长;
超时判定单元6143,用于当所述差值大于预设时长时,判定超过预设时长仍未接收到所述确认响应。
其中,身份验证模块626具体包括:
ID检测单元,用于检测从所述第二数据封包中解析出连接ID是否在所述数据发送设备信息列表中;
验证判定单元,用于若所述连接ID在所述数据发送设备信息列表中,则判定为身份验证通过。
本发明实施例与本发明提供的图3所示的数据传输方法的实施例一一对应,因此,各模块的具体信息请参照本发明提供的数据传输方法的第三实施例,在此不再赘述。
本发明实施例中,数据发送设备在通过UDP链路传输数据时,数据接收设备会返回一个确认响应,因此可以检测到数据接收设备是否接收到发送的数据;当数据发送设备检测到接收确认响应超时的时候,建立TCP链路,进行辅助传输,之后的数据传输就会通过TCP链路和UDP链路同时传输数据,因此可以保证数据能够传输到另一方,可以有效解决防火墙等某些限制UDP数据流量的应用导致的掉线、数据传输不流畅或中断的问题,可以增加网络流畅度、降低掉线率、优化数据传输质量。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (28)

1.一种数据传输方法,其特征在于,包括:
通过UDP链路向数据接收设备发送第一数据封包;
将已发送的第一数据封包及其发送时间保存于已发送列表中;
当接收到所述数据接收设备返回的所述第一数据封包的确认响应时,从所述已发送列表中删除所述第一数据封包及其发送时间;
在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应;所述第一数据封包的确认响应表示所述数据接收设备接收到所述第一数据封包;
若检测到超过预设时长仍未接收到所述确认响应,则向所述数据接收设备请求并建立TCP链路;
其中,所述检测到超过预设时长仍未接收到所述确认响应是指:在超时检测时刻,遍历已发送列表中的前n个数据封包,检测到存在超过预设时长没有接收到确认响应的数据封包;通过所述UDP链路和所述TCP链路向所述数据接收设备发送第二数据封包。
2.如权利要求1所述的数据传输方法,其特征在于,在所述通过所述UDP链路和所述TCP链路向所述数据接收设备发送第二数据封包之后,还包括:
接收所述数据接收设备通过所述UDP链路和所述TCP链路返回的数据封包,并对所述数据封包进行重复数据封包判定和过滤。
3.如权利要求1所述的数据传输方法,其特征在于,所述在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应,具体包括:
在超时检测时刻,检测所述已发送列表是否存在所述第一数据封包;
若存在所述第一数据封包,则判断所述第一数据封包的发送时间与当前时刻的差值是否大于预设时长;
当所述差值大于预设时长时,判定超过预设时长仍未接收到所述确认响应。
4.如权利要求1至3中任意一项所述的数据传输方法,其特征在于,所述第二数据封包包含所述数据发送设备的连接ID,以使所述数据接收设备能够根据所述连接ID对所述数据发送设备进行身份验证,并在验证通过后通过所述UDP链路和所述TCP链路向所述数据发送设备返回所述第二数据封包的确认响应。
5.一种数据传输方法,其特征在于,包括:
通过UDP链路接收数据发送设备发送的第一数据封包;
向所述数据发送设备返回所述第一数据封包的确认响应;
接收所述数据发送设备发送的TCP链路建立请求,并与所述数据发送设备建立TCP链路;所述TCP链路建立请求是所述数据发送设备在检测到超过预设时长仍未接收到所述第一数据封包的确认响应时发送的;其中,所述TCP链路建立请求是所述数据发送设备在超时检测时刻,遍历已发送列表中的前几个数据封包,当存在超过预设时长没有接收到确认响应的数据封包时向所述数据接收设备发送的;所述已发送列表用于保存所述数据发送设备已发送的第一数据封包及其发送时间,并且当所述数据发送设备接收到返回的所述第一数据封包的确认响应时,从所述已发送列表中删除所述第一数据封包及其发送时间;
通过所述UDP链路和所述TCP链路接收所述数据发送设备发送的第二数据封包,并对所述第二数据封包进行重复数据封包判定和过滤。
6.如权利要求5所述的数据传输方法,其特征在于,在所述通过UDP链路接收数据发送设备发送的第一数据封包之后,还包括:
从所述第一数据封包解析出所述数据发送设备的连接ID,并保存于数据发送设备信息列表中。
7.如权利要求6所述的数据传输方法,其特征在于,在所述通过所述UDP链路和所述TCP链路接收所述数据发送设备发送的第二数据封包,并对所述第二数据封包进行重复数据封包判定和过滤之后,还包括:
从通过所述TCP链路接收的第二数据封包中解析出所述数据发送设备的连接ID,并根据所述连接ID对所述数据发送设备进行身份验证;
若身份验证通过,则通过所述UDP链路和所述TCP链路向当前数据发送设备返回所述第二数据封包的确认响应。
8.如权利要求7所述的数据传输方法,其特征在于,所述根据所述连接ID对所述数据发送设备进行身份验证,具体包括:
检测所述连接ID是否在所述数据发送设备信息列表中;
若所述连接ID在所述数据发送设备信息列表中,则判定为身份验证通过。
9.一种数据传输方法,其特征在于,包括:
数据发送设备通过UDP链路向数据接收设备发送第一数据封包;
所述数据发送设备将已发送的第一数据封包及其发送时间保存于已发送列表中;
所述数据接收设备通过所述UDP链路接收所述数据发送设备发送的第一数据封包;
所述数据接收设备向所述数据发送设备返回所述第一数据封包的确认响应;
所述数据发送设备在接收到所述数据接收设备返回的所述第一数据封包的确认响应时,从所述已发送列表中删除所述第一数据封包及其发送时间;
所述数据发送设备在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应;
所述数据发送设备若检测到超过预设时长仍未接收到所述确认响应,则向所述数据接收设备发送TCP链路建立请求;其中,所述检测到超过预设时长仍未接收到所述确认响应是指:在超时检测时刻,遍历已发送列表中的前n个数据封包,检测到存在超过预设时长没有接收到确认响应的数据封包;
所述数据接收设备接收所述数据发送设备发送的TCP链路建立请求,并与所述数据发送设备建立TCP链路;
所述数据发送设备通过所述UDP链路和所述TCP链路向所述数据接收设备发送第二数据封包;
所述数据接收设备通过所述UDP链路和所述TCP链路接收所述数据发送设备发送的第二数据封包,并对所述第二数据封包进行重复数据封包判定和过滤。
10.如权利要求9所述的数据传输方法,其特征在于,所述数据发送设备在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应,具体包括:
在超时检测时刻,检测所述已发送列表是否存在所述第一数据封包;
若存在所述第一数据封包,则判断所述第一数据封包的发送时间与当前时刻的差值是否大于预设时长;
当所述差值大于预设时长时,判定为超过预设时长仍未接收到所述确认响应。
11.如权利要求9所述的数据传输方法,其特征在于,在所述数据接收设备通过所述UDP链路接收所述数据发送设备发送的第一数据封包之后,还包括:
所述数据接收设备从所述第一数据封包解析出所述数据发送设备的连接ID,并保存于数据发送设备信息列表中。
12.如权利要求11所述的数据传输方法,其特征在于,在所述数据接收设备通过所述UDP链路和所述TCP链路接收所述数据发送设备发送的第二数据封包,并对所述第二数据封包进行重复数据封包判定和过滤,之后还包括:
所述数据接收设备从通过TCP链路接收的第二数据封包中解析出所述数据发送设备的连接ID,并根据所述连接ID对所述数据发送设备进行身份验证;
若身份验证通过,则所述数据接收设备通过所述UDP链路和TCP链路向当前数据发送设备返回所述第二数据封包的确认响应。
13.如权利要求12所述的数据传输方法,其特征在于,所述根据所述连接ID对所述数据发送设备进行身份验证,具体包括:
检测所述连接ID是否在所述数据发送设备信息列表中;
若所述连接ID在所述数据发送设备信息列表中,判定为身份验证通过。
14.如权利要求12或13所述的数据传输方法,其特征在于,在所述数据接收设备通过所述UDP链路和所述TCP链路向所述当前数据发送设备返回所述第二数据封包的确认响应之后,还包括:
所述数据发送设备接收所述数据接收设备通过所述UDP链路和TCP链路返回的确认响应,并对接收的确认响应进行重复数据封包判定和过滤。
15.一种数据发送设备,其特征在于,包括:
第一数据封包发送模块,用于通过UDP链路向数据接收设备发送第一数据封包;
数据保存模块,用于将所述第一数据封包发送模块发送的第一数据封包及其发送时间保存于已发送列表中;
数据删除模块,用于当接收到所述数据接收设备返回的所述第一数据封包的确认响应时,从所述已发送列表中删除所述第一数据封包及其发送时间;
超时检测模块,用于在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应;所述第一数据封包的确认响应表示所述数据接收设备接收到所述第一数据封包;
TCP链路请求建立模块,用于若检测到超过预设时长仍未接收到所述确认响应,则向所述数据接收设备请求并建立TCP链路;和
第二数据封包发送模块,用于通过所述UDP链路和所述TCP链路向所述数据接收设备发送第二数据封包;
其中,所述检测到超过预设时长仍未接收到所述确认响应是指:在超时检测时刻,遍历已发送列表中的前n个数据封包,检测到存在超过预设时长没有接收到确认响应的数据封包。
16.如权利要求15所述的数据发送设备,其特征在于,还包括:
重复数据过滤模块,用于接收所述数据接收设备通过所述UDP链路和所述TCP链路返回的数据封包,并对所述数据封包进行重复数据封包判定和过滤。
17.如权利要求15所述的数据发送设备,其特征在于,所述超时检测模块具体包括:
已发送列表检测单元,用于在超时检测时刻,检测所述已发送列表是否存在所述第一数据封包;
超时计算单元,用于若存在所述第一数据封包,判断所述第一数据封包的发送时间与当前时刻的差值是否大于预设时长;和
超时判定单元,用于当所述差值大于预设时长时,判定超过预设时长仍未接收到所述确认响应。
18.如权利要求15至17中任意一项所述的数据发送设备,其特征在于,所述第二数据封包包含所述数据发送设备的连接ID,以使所述数据接收设备能够根据所述连接ID对所述数据发送设备进行身份验证,并在验证通过后通过所述UDP链路和所述TCP链路向所述数据发送设备返回所述第二数据封包的确认响应。
19.一种数据接收设备,其特征在于,包括:
第一数据封包接收模块,用于通过UDP链路接收数据发送设备发送的第一数据封包;
第一确认响应返回模块,用于向所述数据发送设备返回所述第一数据封包的确认响应;
TCP链路建立模块,用于接收所述数据发送设备发送的TCP链路建立请求,并与所述数据发送设备建立TCP链路;所述TCP链路建立请求是所述数据发送设备在检测到超过预设时长仍未接收到所述第一数据封包的确认响应时发送的;其中,所述TCP链路建立请求是所述数据发送设备在超时检测时刻,遍历已发送列表中的前几个数据封包,当存在超过预设时长没有接收到确认响应的数据封包时向所述数据接收设备发送的;所述已发送列表用于保存所述数据发送设备已发送的第一数据封包及其发送时间,并且当所述数据发送设备接收到返回的所述第一数据封包的确认响应时,从所述已发送列表中删除所述第一数据封包及其发送时间;和
第二数据封包接收模块,用于通过所述UDP链路和所述TCP链路接收所述数据发送设备发送的第二数据封包,并对所述第二数据封包进行重复数据封包判定和过滤。
20.如权利要求19所述的数据接收设备,其特征在于,还包括:
第一数据封包解析模块,用于从所述第一数据封包接收模块接收的第一数据封包中解析出所述数据发送设备的连接ID,并保存于数据发送设备信息列表中。
21.如权利要求20所述的数据接收设备,其特征在于,还包括:
身份验证模块,用于从通过所述TCP链路接收的第二数据封包中解析出所述数据发送设备的连接ID,并根据所述连接ID对所述数据发送设备进行身份验证;和
第二确认响应返回模块,用于在所述身份验证模块判定为身份验证通过时,通过所述UDP链路和TCP链路向当前数据发送设备返回所述第二数据封包的确认响应。
22.如权利要求21所述的数据接收设备,其特征在于,所述身份验证模块,具体包括:
ID检测单元,用于检测从所述第二数据封包中解析出连接ID是否在所述数据发送设备信息列表中;
验证判定单元,用于若所述连接ID在所述数据发送设备信息列表中,则判定为身份验证通过。
23.一种数据传输系统,其特征在于,包括数据发送设备和数据接收设备,所述数据发送设备包括第一数据封包发送模块、数据保存模块、数据删除模块、超时检测模块、TCP链路请求建立模块和第二数据封包模块,所述数据接收设备包括第一数据封包接收模块、第一确认响应返回模块、TCP链路建立模块和第二数据封包接收模块;其中:
所述第一数据封包发送模块,用于数据发送设备通过UDP链路向数据接收设备发送第一数据封包;
所述数据保存模块,用于将所述第一数据封包发送模块发送的第一数据封包及其发送时间保存于已发送列表中;
所述第一数据封包接收模块,用于所述数据接收设备通过所述UDP链路接收所述数据发送设备发送的第一数据封包;
所述第一确认响应返回模块,用于所述数据接收设备向所述数据发送设备返回所述第一数据封包的确认响应;
所述数据删除模块,用于当接收到所述数据接收设备返回的所述第一数据封包的确认响应时,从所述已发送列表中删除所述第一数据封包及其发送时间;
所述超时检测模块,用于所述数据发送设备在超时检测时刻,检测是否接收到所述数据接收设备返回的所述第一数据封包的确认响应;
所述TCP链路请求建立模块,用于所述数据发送设备若检测到超过预设时长仍未接收到所述确认响应时,向所述数据接收设备发送TCP链路建立请求;
其中,所述检测到超过预设时长仍未接收到所述确认响应是指:在超时检测时刻,遍历已发送列表中的前n个数据封包,检测到存在超过预设时长没有接收到确认响应的数据封包;所述TCP链路建立模块,用于所述数据接收设备接收所述数据发送设备发送的TCP链路建立请求,并与所述数据发送设备建立TCP链路;
所述第二数据封包发送模块,用于所述数据发送设备通过所述UDP链路和所述TCP链路向所述数据接收设备发送第二数据封包;
所述第二数据封包接收模块,用于所述数据接收设备通过所述UDP链路和所述TCP链路接收所述数据发送设备发送的第二数据封包,并对所述第二数据封包进行重复数据封包判定和过滤。
24.如权利要求23所述的数据传输系统,其特征在于,所述超时检测模块具体包括:
已发送列表检测单元,用于在超时检测时刻,检测所述已发送列表是否存在所述第一数据封包;
超时计算单元,用于若存在所述第一数据封包,判断所述第一数据封包的发送时间与当前时刻的差值是否大于预设时长;
超时判定单元,用于当所述差值大于预设时长时,判定超过预设时长仍未接收到所述确认响应。
25.如权利要求23所述的数据传输系统,其特征在于,所述数据接收设备还包括:
第一数据封包解析模块,用于从所述第一数据封包接收模块接收的第一数据封包中解析出所述数据发送设备的连接ID,并保存于数据发送设备信息列表中。
26.如权利要求25所述的数据传输系统,其特征在于,所述数据接收设备还包括:
身份验证模块,用于从通过所述TCP链路接收的第二数据封包中解析出所述数据发送设备的连接ID,并根据所述连接ID对所述数据发送设备进行身份验证;和
第二确认响应返回模块,用于在所述身份验证模块判定为身份验证通过时,通过所述UDP链路和TCP链路向当前数据发送设备返回所述第二数据封包的确认响应。
27.如权利要求26所述的数据传输系统,其特征在于,所述身份验证模块,具体包括:
ID检测单元,用于检测从所述第二数据封包中解析出连接ID是否在所述数据发送设备信息列表中;
验证判定单元,用于若所述连接ID在所述数据发送设备信息列表中,则判定为身份验证通过。
28.如权利要求26或27所述的数据传输系统,其特征在于,所述数据发送设备还包括:
重复数据过滤模块,用于接收所述数据接收设备通过所述UDP链路和所述TCP链路返回的数据封包,并对所述数据封包进行重复数据封包判定和过滤。
CN201410567867.5A 2014-10-22 2014-10-22 数据传输方法、设备及系统 Active CN104283716B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410567867.5A CN104283716B (zh) 2014-10-22 2014-10-22 数据传输方法、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410567867.5A CN104283716B (zh) 2014-10-22 2014-10-22 数据传输方法、设备及系统

Publications (2)

Publication Number Publication Date
CN104283716A CN104283716A (zh) 2015-01-14
CN104283716B true CN104283716B (zh) 2018-01-26

Family

ID=52258224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410567867.5A Active CN104283716B (zh) 2014-10-22 2014-10-22 数据传输方法、设备及系统

Country Status (1)

Country Link
CN (1) CN104283716B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049371A (zh) * 2015-06-10 2015-11-11 柳州市智融科技有限公司 网络信息处理系统
CN108494676B (zh) * 2018-03-21 2022-01-11 广州多益网络股份有限公司 数据传输方法、装置、数据收发设备、系统及存储介质
CN109392196B (zh) * 2018-10-25 2021-05-11 北京立达智胜科技有限公司 基于移动终端的大数据分析方法及系统
CN109510882B (zh) * 2018-11-19 2022-05-03 网易(杭州)网络有限公司 游戏客户端之间的通信方法、装置、存储介质和电子装置
CN115065442B (zh) * 2022-08-16 2022-11-18 深圳星云智联科技有限公司 数据传输方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1784674A (zh) * 2004-05-03 2006-06-07 微软公司 用于流传送媒体的快速启动
CN102045768A (zh) * 2009-10-26 2011-05-04 宏碁股份有限公司 数据传输方法及其用户装置与数据传输系统
CN102255898A (zh) * 2011-07-05 2011-11-23 上海悠络客电子科技有限公司 一种通过tcp与udp双模式通讯保障大数据流稳定性的方法
CN102387164A (zh) * 2010-08-30 2012-03-21 上海悠络客电子科技有限公司 一种p2p网络数据传输的方法
CN103986762A (zh) * 2014-05-15 2014-08-13 京信通信系统(中国)有限公司 一种进行进程状态检测的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2345262A4 (en) * 2008-10-08 2015-01-14 Univ South Florida ADAPTIVE SPACE BUFFER FOR LANDSCAPED APPLICATIONS

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1784674A (zh) * 2004-05-03 2006-06-07 微软公司 用于流传送媒体的快速启动
CN102045768A (zh) * 2009-10-26 2011-05-04 宏碁股份有限公司 数据传输方法及其用户装置与数据传输系统
CN102387164A (zh) * 2010-08-30 2012-03-21 上海悠络客电子科技有限公司 一种p2p网络数据传输的方法
CN102255898A (zh) * 2011-07-05 2011-11-23 上海悠络客电子科技有限公司 一种通过tcp与udp双模式通讯保障大数据流稳定性的方法
CN103986762A (zh) * 2014-05-15 2014-08-13 京信通信系统(中国)有限公司 一种进行进程状态检测的方法及装置

Also Published As

Publication number Publication date
CN104283716A (zh) 2015-01-14

Similar Documents

Publication Publication Date Title
CN104486243B (zh) 数据传输方法、设备及系统
CN105516080B (zh) Tcp连接的处理方法、装置及系统
CN104283716B (zh) 数据传输方法、设备及系统
CN103475655B (zh) 一种实现IPSecVPN主备链路动态切换的方法
CN106534168A (zh) 基于fpga的tcpip协议栈安全化处理系统
CN101416174A (zh) 无线网络上的会话持续
CN107465666A (zh) 一种客户端ip获取方法与装置
CN104270344B (zh) 万兆网闸
CN107360247B (zh) 处理业务的方法和网络设备
CN102217251A (zh) 一种数据转发方法、数据处理方法、系统以及相关设备
CN103795632A (zh) 一种数据报文传输方法及相关设备、系统
CN104734952B (zh) 一种数据报文转发方法以及装置
CN106487746A (zh) 一种bmp报文认证的方法及装置
CN106453373A (zh) 一种高效的SYN Flood攻击识别及处置方法
CN104580346B (zh) 数据传输方法及装置
CN110191104A (zh) 一种安全防护的方法及装置
CN106685760A (zh) 链路状态的探测方法及装置
CN107659414A (zh) 基于p2p的远程唤醒系统及方法
CN105940658B (zh) 一种用户数据的传输方法、装置及终端
CN104168273B (zh) 一种瘦ap模式下实现tcp代理的方法及系统
CN105991442B (zh) 报文转发方法及装置
CN109150914A (zh) 物联网安全架构及其网关重定向方法、数据包握手方法
CN106131177A (zh) 一种报文处理方法及装置
CN107104919A (zh) 防火墙设备、流控制传输协议sctp报文的处理方法
CN101127744B (zh) 对非法客户端进行隔离提示的方法和系统以及网关设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant