CN104753980A - 数据传输方法及相关装置和通信系统 - Google Patents
数据传输方法及相关装置和通信系统 Download PDFInfo
- Publication number
- CN104753980A CN104753980A CN201310733449.4A CN201310733449A CN104753980A CN 104753980 A CN104753980 A CN 104753980A CN 201310733449 A CN201310733449 A CN 201310733449A CN 104753980 A CN104753980 A CN 104753980A
- Authority
- CN
- China
- Prior art keywords
- network node
- transport layer
- layer protocol
- data
- mentioned
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了数据传输方法及相关装置和数据传输系统。一种数据传输方法包括:第二网络节点通过第一网络节点与第二网络节点之间的第一传输层协议连接接收第一网络节点发送的用于请求第一数据对象的下载请求;建立第二网络节点与第三网络节点之间的第二传输层协议连接,通过第二传输层协议连接向第三网络节点发送用于请求第一数据对象的下载请求;第二网络节点若通过第二传输层协议连接接收到第三网络节点发送的携带有第一数据对象所包含数据的第二传输层协议数据包,通过与第二传输层协议连接具有映射关系的第一传输层协议连接,向第一网络节点发送第一传输层协议数据包。本发明实施例提供的技术方案有利于降低存在中转网络节点的情况下的数据传输延迟。
Description
技术领域
本发明涉及网络技术领域,具体主要涉及一种数据传输方法及相关装置和通信系统。
背景技术
随着互联网技术和终端技术的飞速发展,有许多互联网服务涉及到网络数据传输和数据交互。加快数据在各网络节点间的传输,是改善服务质量、提升用户体验的重要手段。
现有技术存在以下场景,A网络节点向B网络节点请求文件X,B网络节点发现本地未缓存有文件X,因此B网络节点向C网络节点请求文件X,B网络节点在从C网络节点获取到完整的文件X之后,再向A网络节点转发文件X。在这种场景中,B网络节点可看做是中转网络节点,很多实际场景下文件请求网络节点在获取文件时可能存在多个中转网络节点参与协助。
本发明的发明人在研究和实践过程中发现,现有技术至少存在以下的技术问题:由于现有机制中每个中转网络节点都需要在从上游网络节点获取到完整文件之后再向下游网络节点转发,因此,当存在多个中转网络节点时,最初的文件请求网络节点可能需要等待很长时间才能获得所请求的文件,延迟过大可能极大的影响到用户产品体验。
发明内容
本发明实施例提供数据传输方法及相关装置和通信系统,以期待降低存在中转网络节点的情况下的数据传输延迟。
本发明实施例一方面提供一种数据传输方法,包括:
第二网络节点接收第一网络节点通过第一传输层协议连接发送的用于请求第一数据对象的下载请求;
若所述第二网络节点本地未存储有所述第一数据对象,则所述第二网络节点建立所述第二网络节点与第三网络节点之间的第二传输层协议连接,通过所述第二传输层协议连接向所述第三网络节点发送用于请求所述第一数据对象的下载请求,并记录所述第一传输层协议连接与所述第二传输层协议连接之间的映射关系;
所述第二网络节点若通过所述第二传输层协议连接接收到所述第三网络节点发送的携带有所述第一数据对象所包含数据的N1个第二传输层协议数据包,并且所述N1个第二传输层协议数据包携带的所述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则所述第二网络节点在接收到所述第三网络节点发送的携带有所述第一数据对象所包含数据的下一个第二传输层协议数据包之前,根据记录的所述第一传输层协议连接和所述第二传输层协议连接之间的映射关系,通过与所述第二传输层协议连接具有映射关系的所述第一传输层协议连接,向所述第一网络节点发送第一传输层协议数据包,其中,所述第一传输层协议数据包携带有接收到的所述N1个第二传输层协议数据包携带的所述第一数据对象所包含数据,其中,所述N1为正整数。
本发明另一方面提供一种数据传输装置,包括:
接收单元,用于接收第一网络节点通过第一传输层协议连接发送的用于请求第一数据对象的下载请求;
第一转发单元,用于若所述数据传输装置本地未存储有所述第一数据对象,则建立所述数据传输装置与第三网络节点之间的第二传输层协议连接,通过第二传输层协议连接向所述第三网络节点发送用于请求所述第一数据对象的下载请求,并记录所述第一传输层协议连接与所述第二传输层协议连接之间的映射关系;
第二转发单元,用于若所述接收单元通过所述第二传输层协议连接接收到所述第三网络节点发送的携带有所述第一数据对象所包含数据的N1个第二传输层协议数据包,并且所述N1个第二传输层协议数据包携带的所述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则在接收到所述第三网络节点发送的携带有所述第一数据对象所包含数据的下一个第二传输层协议数据包之前,则根据记录的所述第一传输层协议连接和所述第二传输层协议连接之间的映射关系,通过与所述第二传输层协议连接具有映射关系的所述第一传输层协议连接,向所述第一网络节点发送第一传输层协议数据包,其中,所述第一传输层协议数据包携带有接收到的所述N1个第二传输层协议数据包携带的所述第一数据对象所包含数据,其中,所述N1为正整数。
本发明又一方面提供一种数据传输系统,包括:
第一网络节点、第二网络节点和第三网络节点;
所述第一网络节点,用于通过所述第一网络节点与所述第二网络节点之间的第一传输层协议连接,向所述第二网络节点发送的用于请求第一数据对象的下载请求;
所述第二网络节点用于,接收所述第一网络节点通过所述第一传输层协议连接发送的所述用于请求第一数据对象的下载请求;
若所述第二网络节点本地未存储有所述第一数据对象,则建立所述第二网络节点与第三网络节点之间的第二传输层协议连接,通过所述第二传输层协议连接向所述第三网络节点发送用于请求所述第一数据对象的下载请求,并记录所述第一传输层协议连接与所述第二传输层协议连接之间的映射关系;
若通过所述第二传输层协议连接接收到所述第三网络节点发送的携带有所述第一数据对象所包含数据的N1个第二传输层协议数据包,并且所述N1个第二传输层协议数据包携带的所述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则在接收到所述第三网络节点发送的携带有所述第一数据对象所包含数据的下一个第二传输层协议数据包之前,根据记录的所述第一传输层协议连接和所述第二传输层协议连接之间的映射关系,通过与所述第二传输层协议连接具有映射关系的所述第一传输层协议连接,向所述第一网络节点发送第一传输层协议数据包,其中,所述第一传输层协议数据包携带有接收到的所述N1个第二传输层协议数据包携带的所述第一数据对象所包含数据,其中,所述N1为正整数。
可以看出,本发明实施例方案中,作为中转网络节点的第二网络节点在通过第一网络节点与上述第二网络节点之间的第一传输层协议连接接收第一网络节点发送的用于请求第一数据对象的下载请求之后,若发现上述第二网络节点本地未存储有第一数据对象,则第二网络节点建立上述第二网络节点与第三网络节点之间的第二传输层协议连接,通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系。由于作为中转网络节点的第二网络节点建立起了上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,在接收到第三网络节点携带有上述第一数据对象所包含中的数据的N1个第二传输层协议数据包,并且所述N1个第二传输层协议数据包携带的所述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则所述第二网络节点在接收到所述第三网络节点发送的携带有所述第一数据对象所包含数据的下一个第二传输层协议数据包之前,直接通过与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点发送上述携带上述第一数据对象所包含中的数据的第一传输层协议数据包,在上述机制中,由于第一数据对象可能需要通过多个传输层协议数据包来承载,作为中转网络节点第二网络节点并不需要等待接收到完整的第一数据对象之后(即,不需要接收到承载第一数据对象的数据的所有传输层协议数据包之后),再向第一网络节点反馈完整的第一数据对象,而是采用类似异步方式的,逐步的通过传输层协议数据包向第一网络节点转发来自第三网络节点的传输层协议数据包所携带的第一数据对象所包含的数据,这有利于极大的缩短中转网络节点等待接收用于承载第一数据对象的传输层协议数据包的时间,进而有利于极大的缩短第一数据对象所包含数据从第三网络节点转移到第一网络节点的时间,进而有利于缩短第一数据对象的数据源和第一数据对象的起始请求网络节点之间的传输延迟,通过极大的缩短延迟有利于提升用户产品体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据传输方法的流程示意图;
图2是本发明实施例提供的一种数据传输方法的流程示意图;
图3-a是本发明实施例提供的一种数据传输方法的流程示意图;
图3-b是本发明实施例提供的一种网络节点之间传输数据的延迟示意图;
图4是本发明实施例提供的一种数据传输装置的示意图;
图5是本发明实施例提供的另一种数据传输装置的示意图;
图6是本发明实施例提供的数据传输系统的示意图。
具体实施方式
本发明实施例提供数据传输方法及相关装置和通信系统,以期待降低存在中转网络节点的情况下的数据传输延迟。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于更好的本发明实施例的下述方案,下面对可能引入的一些概念进行简单介绍。
内容分发网络(CDN,Content Delivery Network),是在Internet中增加一层新网络架构,可将站点服务器的内容发布到最接近用户的网络"边缘",使用户可就近取得所需的内容,以解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
OC(Outside Center)是CDN中的网络节点。
回源通常是指,用户终端向OC请求某个文件或文件分片时,OC首先检查自己有没有存储该文件或文件分片,若有且存储没有过期,则直接返回给用户终端;OC若检查到自己有没有存储该文件或文件分片或存储已过期,则OC先到其源服务器请求最新文件或文件分片,再将请求到的该文件或文件分片返回给用户。
分布点即是CDN的接入点或中转网络节点,分布点会cache住一部分数据但通常没有全量数据。回源服务器,分布点会配置回源服务器,分布点cache没有命中的数据,会到配置的回源服务器拉取。其中,回源服务器也可以配置其下一跳的回源服务器,逐级配置,直到CDN的中心点。中心点即最终回源服务器,CDN网络的最终网络节点,从中心点可以拉到全量的数据。
本发明数据传输方法的一个实施例,其中,一种数据传输方法可包括第二网络节点接收第一网络节点通过第一传输层协议连接发送的用于请求第一数据对象的下载请求;若上述第二网络节点本地未存储有上述第一数据对象,则上述第二网络节点可建立上述第二网络节点与第三网络节点之间的第二传输层协议连接,通过上述第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接与上述第二传输层协议连接之间的映射关系;上述第二网络节点若通过上述第二传输层协议连接接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的N1个第二传输层协议数据包,并且上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第二网络节点在接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的下一个第二传输层协议数据包之前,根据记录的上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,通过与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点发送第一传输层协议数据包,其中,上述第一传输层协议数据包携带有接收到的上述第二传输层协议数据包携带的上述第一数据对象所包含数据,其中,上述N1为正整数。
首先请参见图1,图1是本发明一个实施例提供的一种数据传输方法的流程示意图。如图1所示,本发明一个实施例提供的一种数据传输方法可包括以下内容:
101、第二网络节点通过第一网络节点与上述第二网络节点之间的第一传输层协议连接,接收上述第一网络节点发送的用于请求第一数据对象的下载请求。
其中,第一网络节点可以是第一数据对象的起始请求网络节点(即发起下载第一数据对象的下载请求),第一网络节点也可以是数据源和起始请求网络节点之间的中转网络节点。其中,第一网络节点可能是分布点,也可能是用户终端等。
102、若上述第二网络节点本地未存储上述第一数据对象,则上述第二网络节点建立上述第二网络节点与第三网络节点之间的第二传输层协议连接,通过上述第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接与上述第二传输层协议连接之间的映射关系。
其中,第一传输层协议连接和第二传输层协议连接所对应的传输层协议可以相同或者不同,举例来说,第一传输层协议连接所对应的传输层协议为传输控制协议(TCP,Transmission Control Protocol),第二传输层协议连接所对应的传输层协议也为传输控制协议。或者第一传输层协议连接所对应的传输层协议为用户数据报协议(UDP,User Datagram Protocol),第二传输层协议连接所对应的传输层协议也为用户数据报协议。或者第一传输层协议连接所对应的传输层协议为传输控制协议,第二传输层协议连接所对应的传输层协议也为用户数据报协议,或者第一传输层协议连接所对应的传输层协议为用户数据报协议,第二传输层协议连接所对应的传输层协议也为传输控制协议。当然第一传输层协议连接和第二传输层协议连接所对应的传输层协议可以为相同或者不同的其它协议。
在本发明的一些实施例中,上述记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系可包括:生成用于记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系的映射关系记录,其中,该映射关系记录包括第一协议字段和第二协议字段,其中,第一协议字段中可记录上述第一传输层协议连接的标识,第二协议字段中可记录上述第二传输层协议连接的标识。上述映射关系记录还可进一步包括时间戳字段,该时间戳字段可以记录通过第一网络节点与上述第二网络节点之间的第一传输层协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求的时间,或者,该时间戳字段可以记录建立上述第二网络节点与第三网络节点之间的第二传输层协议连接的时间,或该时间戳字段可以记录通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求的时间,或者,该时间戳字段可以记录生成上述映射关系记录的时间等。当然,上述映射关系记录还可包括其它字段。
103、第二网络节点若通过上述第二传输层协议连接接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的N1个第二传输层协议数据包,并且上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第二网络节点可在接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的下一个第二传输层协议数据包之前,根据记录的上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,通过与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点发送(一个或者多个)第一传输层协议数据包,其中,上述一个或者多个第一传输层协议数据包携带有接收到的上述N1第二传输层协议数据包携带的上述第一数据对象所包含数据,其中上述N1为正整数。
在本发明的一些实施例中,上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的任意一个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的N2个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N2为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已向上述第一网络节点发送的第一传输层协议数据所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点发送的第一传输层协议数据能够携带的上述第一数据对象所包含数据的最大或最小数据量;
或者,上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的任意一个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的N3个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N3为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的所有第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的第二传输层协议数据包所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于0字节。
当然,上述设定数据量阈值也可是预设的其它值,当然,设定数据量阈值小于第一数据对象所包含数据的总数据量大小。
具体的,第二网络节点若通过上述第二传输层协议连接接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的N1个第二传输层协议数据包,并且上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第二网络节点可在接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的下一个第二传输层协议数据包之前,对上述N1个第二传输层协议数据包进行解封装处理,以获得上述N1个第二传输层协议数据包携带的上述第一数据对象包含的数据,将从上述N1个第二传输层协议数据包中获得的上述第一数据对象包含的数据封装到(一个或者多个)第一传输层协议数据包之中,根据记录的上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,通过与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点发送上述(一个或者多个)第一传输层协议数据包,其中,上述第一传输层协议数据包携带有接收到的上述N1第二传输层协议数据包携带的上述第一数据对象所包含数据,其中,上述N1为正整数。
其中,第二网络节点可能将从1个第二传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第一传输层协议数据包之中,第二网络节点也可能将从多个第二传输层协议数据包中获得的上述第一数据对象包含的数据封装到,1个或多个第一传输层协议数据包之中。其中,第二网络节点可根据第二网络节点和第一网络节点之间的第一传输层协议连接的当前网络状况,确定第一传输层协议数据包的大小。
在本发明的一些实施例中,第一网络节点、第二网络节点和第三网络节点均可为内容分发网络中的回源服务器。当然,第一网络节点、第二网络节点和第三网络节点也可为其它网络中的网络网络节点。
可以看出,本实施例的方案中,作为中转网络节点的第二网络节点在通过第一网络节点与上述第二网络节点之间的第一传输层协议连接接收第一网络节点发送的用于请求第一数据对象的下载请求之后,若发现上述第二网络节点本地未存储有第一数据对象,则第二网络节点建立上述第二网络节点与第三网络节点之间的第二传输层协议连接,通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系。由于作为中转网络节点的第二网络节点建立起了上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,在接收到第三网络节点携带有上述第一数据对象所包含中的数据的N1个第二传输层协议数据包,且上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第二网络节点在接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的下一个第二传输层协议数据包之前,直接通过与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点发送上述携带上述第一数据对象所包含中的数据的第一传输层协议数据包,在上述机制中,由于第一数据对象可能需要通过多个传输层协议数据包来承载,作为中转网络节点第二网络节点并不需要等待接收到完整的第一数据对象之后(即不需要接收到承载第一数据对象的数据的所有传输层协议数据包之后),再向第一网络节点反馈完整的第一数据对象,而是采用类似异步方式的,逐步的通过传输层协议数据包向第一网络节点转发来自第三网络节点的传输层协议数据包所携带的第一数据对象所包含的数据,这有利于极大的缩短中转网络节点等待接收用于承载第一数据对象的传输层协议数据包的时间,进而有利于极大的缩短第一数据对象所包含数据从第三网络节点转移到第一网络节点的时间,进而有利于缩短第一数据对象的数据源和第一数据对象的起始请求网络节点之间的传输延迟,通过极大的缩短延迟有利于提升用户产品体验。
可以理解,在传输第一数据对象的路径中,第一网络节点可看作是第二网络节点的下游网络节点,第二网络节点为第三网络节点的下游网络节点,若第一网络节点为第一数据对象的起始请求网络节点,则第二网络节点可看作是中转网络节点,第三网络节点可能为数据源或者也为中转网络节点。本发明实施例中,第一数据对象的数据源和起始请求网络节点之间可以存在一个或多个包括第二网络节点在内的中转网络节点。
其中,若第一网络节点也为中转网络节点,则在第二网络节点通过第一网络节点与上述第二网络节点之间的第一传输层协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求之前,第一网络节点可通过第一网络节点与第四网络节点(第四网络节点可能是起始请求网络节点,也可能是另一中转网络节点)之间的第三传输层协议连接,接收上述第四网络节点发送的用于请求第一数据对象的下载请求,并记录上述第三传输层协议连接与上述第一传输层协议连接之间的映射关系。第一网络节点若通过上述第一传输层协议连接接收到上述第二网络节点发送的携带有上述第一数据对象所包含的数据的N1第一传输层协议数据包,且上述N1个第一传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第一网络节点在接收到上述第二网络节点发送的携带有上述第一数据对象所包含数据的下一个第一传输层协议数据包之前,根据记录的上述第一传输层协议连接和上述第三传输层协议连接之间的映射关系,确定与上述第一传输层协议连接具有映射关系的上述第三传输层协议连接,通过确定出的与上述第一传输层协议连接具有映射关系的上述第三传输层协议连接,向上述第四网络节点发送一个或者多个第三传输层协议数据包。其中,上述一个或者多个第三传输层协议数据包携带有接收到的上述N1第一传输层协议数据包携带的上述第一数据对象所包含数据。
其中,第一网络节点可能将从某1个第一传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第三传输层协议数据包之中,第一网络节点也可能将从某多个第一传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第三传输层协议数据包之中。其中,第一网络节点可根据第一网络节点和第四网络节点之间的第三传输层协议连接的当前网络状况,确定第三传输层协议数据包的大小。
类似的,若第三网络节点也为中转网络节点,则第三网络节点通过第二传输层协议连接接收到第二网络节点发送的用于请求上述第一数据对象的下载请求之后,第三网络节点可以建立上述第三网络节点与第五网络节点(其中,第五网络节点可能是第一数据对象的数据源,也可能是另一中转网络节点)之间的第四传输层协议连接,通过第四传输层协议连接,向上述第五网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第二传输层协议连接与上述第四传输层协议连接之间的映射关系。第三网络节点若通过上述第四传输层协议连接,接收到上述第五网络节点发送的携带有上述第一数据对象所包含的数据的N1个第四传输层协议数据包,且上述N1个第四传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第三网络节点在接收到上述第五网络节点发送的携带有上述第一数据对象所包含数据的下一个第四传输层协议数据包之前,根据记录的上述第二传输层协议连接和上述第四传输层协议连接之间的映射关系,确定与上述第四传输层协议连接具有映射关系的上述第二传输层协议连接,通过确定出的与上述第四传输层协议连接具有映射关系的上述第二传输层协议连接,向上述第二网络节点发送至少一个第二传输层协议数据包,其中,该至少一个第二传输层协议数据包携带有接收到的上述N1第四一传输层协议数据包携带的上述第一数据对象所包含数据。
其中,第三网络节点可能将从某1个第四传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第二传输层协议数据包之中,第三网络节点也可能将从某多个第四传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第二传输层协议数据包之中。其中,第三网络节点可根据第三网络节点和第二网络节点之间的第二传输层协议连接的当前网络状况,确定第三传输层协议数据包的大小。
可以看出,数据源和起始请求网络节点之间的各中转网络节点,均可按照与第二网络节点类似的方式进行数据中转工作。
在本发明的一些实施例中,第一传输层协议连接可为第一传输控制协议连接或第一用户数据报协议连接。其中,上述第二网络节点通过第一网络节点与上述第二网络节点之间的第一传输层协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求,可包括:第二网络节点通过第一网络节点与上述第二网络节点之间的第一传输控制协议连接或第一用户数据报协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求。
在本发明的一些实施例中,第二传输层协议连接可为第二用户数据报协议连接或第二传输控制协议连接。其中,上述建立上述第二网络节点与第三网络节点之间的第二传输层协议连接,可包括:建立上述第二网络节点与第三网络节点之间的第二用户数据报协议连接或第二传输控制协议连接。
在本发明的一些实施例中,上述第一数据对象为文件或文件片段(文件片段是指文件的一个或多个分片)。
在本发明的一些实施例中,上述数据传输方法还可进一步包括:若上述第一网络节点为上述第一数据对象的起始请求网络节点,则上述第一网络节点在通过第一传输层协议连接接收到上述第二网络节点发送的,携带有上述第一数据对象包含的数据的N个传输层协议数据包(即N个第一传输层协议数据包)之后,可利用上述N个传输层协议数据包所携带的上述第一数据对象包含的数据,进行上述第一数据对象的完整性校验。
可以理解的是,第一数据对象的数据源可通过应用层消息向起始请求网络节点反馈第一数据对象的总数量大小(当然,起始请求网络节点亦可通过其它方式获知第一数据对象的总数量大小),因此,起始请求网络节点可解封装接收到的N个传输层协议数据包以获得该N个传输层协议数据包所携带的上述第一数据对象包含的数据,累计该N个传输层协议数据包所携带的上述第一数据对象所包含数据的数据量大小,通过比较第一数据对象的总数量大小和累计出的数据量大小是否相等,对上述第一数据对象的完整性进行校验,上述N为正整数。
为便于更好的理解和实施本发明实施例的上述方案,下面举例一些具体应用场景进行说明。
请参见图2,图2是本发明另一个实施例提供的另一种数据传输方法的流程示意图。其中,本实施例中主要是以第一数据对象的数据源和起始请求网络节点之间的只有一个中转网络节点(即第二网络节点)为例进行说明的。本发明另一个实施例提供的另一种数据传输方法可包括以下内容:
201、第一网络节点建立第一网络节点与第二网络节点间的第一传输层协议连接,第一网络节点通过第一网络节点与第二网络节点之间的第一传输层协议连接,向第二网络节点发送的用于请求第一数据对象的下载请求。
本实施例中,以第一网络节点为第一数据对象的起始请求网络节点,由第一网络节点发起第一数据对象的下载请求流程。其中,下载请求可携带第一数据对象的标识等信息。
其中,第一传输层协议连接可为第一用户数据报协议连接或第一传输控制协议连接或其它传输层协议连接。
202、第二网络节点通过第一网络节点与第二网络节点之间的第一传输层协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求,第二网络节点检测本地是否存储有上述第一数据对象(本实施例中以第二网络节点检测到本地未存储有上述第一数据对象为例)。
若第二网络节点本地未存储有上述第一数据对象,第二网络节点建立第二网络节点与第三网络节点之间的第二传输层协议连接,通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求。第二网络节点记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系。
在本发明的一些实施例中,上述记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系可包括:生成用于记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系的映射关系记录,其中,该映射关系记录包括第一协议字段和第二协议字段,其中,第一协议字段中可记录上述第一传输层协议连接的标识,第二协议字段中可记录上述第二传输层协议连接的标识。其中,上述映射关系记录还可进一步包括时间戳字段,其中,该时间戳字段可以记录通过第一网络节点与第二网络节点之间的第一传输层协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求的时间,或者,该时间戳字段可以记录建立上述第二网络节点与第三网络节点之间的第二传输层协议连接的时间,或该时间戳字段可以记录通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求的时间,或者,该时间戳字段可以记录生成上述映射关系记录的时间等。当然,上述映射关系记录还可包括记录其它信息的字段。
203、第三网络节点通过第二传输层协议连接接收第二网络节点发送的用于请求上述第一数据对象的下载请求,此处假设第三网络节点检测到本地存储有上述第一数据对象,因此,第三网络节点可将上述第一数据对象包含的数据封装到N1个第二传输层协议数据包(其中,N1个中的每个第二传输层协议数据包携带第一数据对象包含的其中一部分数据,即,N1个第二传输层协议数据共同承载第一数据对象的所有数据)之中,第三网络节点通过第二传输层协议连接向上述第一网络节点发送上述N1个第二传输层协议数据包。
204、第二网络节点若通过上述第二传输层协议连接,接收到上述第三网络节点发送的携带有上述第一数据对象所包含的数据的N1个第二传输层协议数据包,且上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则第二网络节点在接收到第三网络节点发送的携带有上述第一数据对象所包含数据的下一个第二传输层协议数据包之前,则对上述N1个第二传输层协议数据包进行解封装处理,以获得上述N1个第二传输层协议数据包携带的上述第一数据对象包含的数据,将从上述N1个第二传输层协议数据包中获得的上述第一数据对象包含的数据封装到至少一个第一传输层协议数据包之中。
第二网络节点可以根据记录的上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,确定与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,第二网络节点通过确定出的与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点发送上述第一传输层协议数据包。
可以理解的是,由于第二网络节点会对从第三网络节点接收到的N1个第二传输层协议数据包进行重新封装,因此,第二网络节点可能将N1个第二传输层协议数据包携带的上述第一数据对象包含的数据重新封装到N个第一传输层协议数据包之中,N1可能大于、小于或等于N。例如,第二网络节点可能将从1个第二传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第一传输层协议数据包之中,第二网络节点也可能将从多个第二传输层协议数据包中获得的上述第一数据对象包含的数据封装到,1个或多个第一传输层协议数据包之中。其中,第二网络节点可根据第二网络节点和第一网络节点之间的第一传输层协议连接的当前网络状况,确定第一传输层协议数据包的大小。
205、第一网络节点通过第一传输层协议连接,接收到上述第二网络节点发送的携带有上述第一数据对象包含的数据的传输层协议数据包。
其中,第一网络节点在通过第一传输层协议连接接收到第二网络节点发送的携带有上述第一数据对象包含的数据的N个传输层协议数据包之后,可利用上述N个传输层协议数据包所携带的上述第一数据对象包含的数据进行上述第一数据对象的完整性校验。
可以理解的是,第一数据对象的数据源(即第三网络节点)可通过应用层消息向起始请求网络节点(即第一网络节点)反馈第一数据对象的总数量大小(当然,起始请求网络节点亦可通过其它方式获知第一数据对象的总数量大小),因此,起始请求网络节点可解封装接收到的N个传输层协议数据包以获得该N个传输层协议数据包所携带的上述第一数据对象包含的数据,累计该N个传输层协议数据包所携带的上述第一数据对象所包含数据的数据量大小,通过比较第一数据对象的总数量大小和累计出的数据量大小是否相等,对上述第一数据对象的完整性进行校验,其中,上述N为正整数。
在本发明的一些实施例中,第二传输层协议连接可为第二用户数据报协议连接或第二传输控制协议连接。其中,上述建立上述第二网络节点与第三网络节点之间的第二传输层协议连接,可包括:建立上述第二网络节点与第三网络节点之间的第二用户数据报协议连接或第二传输控制协议连接。
在本发明的一些实施例中,上述第一数据对象为文件或文件片段(文件片段是指文件的一个或多个分片)。
在本发明的一些实施例中,上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的任意一个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的N2个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N2为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已向上述第一网络节点发送的第一传输层协议数据所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点发送的第一传输层协议数据能够携带的上述第一数据对象所包含数据的最大或最小数据量;
或者,上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的任意一个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的N3个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N3为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的所有第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的第二传输层协议数据包所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于0字节。
当然,上述设定数据量阈值也可是预设的其它值,当然,设定数据量阈值小于第一数据对象所包含数据的总数据量大小。
在本发明的一些实施例中,上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的任意一个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的N2个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N2为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已向上述第一网络节点发送的第一传输层协议数据所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点发送的第一传输层协议数据能够携带的上述第一数据对象所包含数据的最大或最小数据量;
或者,上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的任意一个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的N3个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N3为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的所有第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的第二传输层协议数据包所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于0字节。
当然,上述设定数据量阈值也可是预设的其它值,当然,设定数据量阈值小于第一数据对象所包含数据的总数据量大小。
可以看出,本实施例的方案中,作为中转网络节点的第二网络节点在通过第一网络节点与上述第二网络节点之间的第一传输层协议连接接收第一网络节点发送的用于请求第一数据对象的下载请求之后,若发现上述第二网络节点本地未存储有第一数据对象,则第二网络节点建立上述第二网络节点与第三网络节点之间的第二传输层协议连接,通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系。由于作为中转网络节点的第二网络节点建立起了上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,在接收到第三网络节点携带有上述第一数据对象所包含中的数据的N1个第二传输层协议数据包,且上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第二网络节点在接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的下一个第二传输层协议数据包之前,直接通过与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点发送上述携带上述第一数据对象所包含中的数据的第一传输层协议数据包,在上述机制中,由于第一数据对象可能需要通过多个传输层协议数据包来承载,作为中转网络节点第二网络节点并不需要等待接收到完整的第一数据对象之后(即不需要接收到承载第一数据对象的数据的所有传输层协议数据包之后),再向第一网络节点反馈完整的第一数据对象,而是采用类似异步方式的,逐步的通过传输层协议数据包向第一网络节点转发来自第三网络节点的传输层协议数据包所携带的第一数据对象所包含的数据,这有利于极大的缩短中转网络节点等待接收用于承载第一数据对象的传输层协议数据包的时间,进而有利于极大的缩短第一数据对象所包含数据从第三网络节点转移到第一网络节点的时间,进而有利于缩短第一数据对象的数据源和第一数据对象的起始请求网络节点之间的传输延迟,通过极大的缩短延迟有利于提升用户产品体验。
请参见图3-a,图3-a是本发明的另一个实施例提供的另一种数据传输方法的流程示意图。其中,本实施例中主要是以第一数据对象的数据源和起始请求网络节点之间的存在多个中转网络节点(即第一网络节点、第二网络节点和第三网络节点)的场景为例来进行说明。如图3-a所示,本发明另一个实施例提供的另一种数据传输方法可包括以下内容:
301、第四网络节点建立第一网络节点与第四网络节点间的第三传输层协议连接,第四网络节点通过第一网络节点与上述第四网络节点之间的第四传输层协议连接,向第一网络节点发送的用于请求第一数据对象的下载请求。
本实施例中以第四网络节点为第一数据对象的起始请求网络节点,由第四网络节点发起第一数据对象的下载请求流程。其中,上述下载请求可携带第一数据对象的标识等信息。
其中,第三传输层协议连接可以为第三用户数据报协议连接或第三传输控制协议连接或其它传输层协议连接。
302、第一网络节点通过第一网络节点与上述第四网络节点之间的第三传输层协议连接接收上述第四网络节点发送的,用于请求第一数据对象的下载请求,第一网络节点检测本地是否存储有上述第一数据对象(本实施例中以第一网络节点检测到本地未存储有上述第一数据对象为例)。
若上述第一网络节点本地未存储有上述第一数据对象,第一网络节点建立第二网络节点与第一网络节点之间的第一传输层协议连接,通过第一传输层协议连接向上述第二网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接和上述第三传输层协议连接之间的映射关系。
在本发明的一些实施例中,第一网络节点记录上述第一传输层协议连接和上述第三传输层协议连接之间的映射关系,可包括:第一网络节点生成用于记录上述第一传输层协议连接和上述第三传输层协议连接之间的映射关系的映射关系记录,其中,该映射关系记录包括第一协议字段和第二协议字段,第一协议字段中可记录上述第一传输层协议连接的标识,第二协议字段中可记录上述第三传输层协议连接的标识。其中,上述映射关系记录还可以进一步包括时间戳字段,其中,该时间戳字段可记录第一网络节点通过第四网络节点与上述第一网络节点之间的第一传输层协议连接,接收上述第四网络节点发送的用于请求第一数据对象的下载请求的时间,或者该时间戳字段可以记录建立上述第一网络节点与第二网络节点之间的第一传输层协议连接的时间,或该时间戳字段可以记录通过第一传输层协议连接向上述第二网络节点发送用于请求上述第一数据对象的下载请求的时间,或者该时间戳字段可以记录生成上述映射关系记录的时间等。当然,上述映射关系记录还可包括记录其它信息的字段。
其中,第一传输层协议连接可以为第一用户数据报协议连接或第一传输控制协议连接或其它传输层协议连接。
303、第二网络节点通过第一网络节点与上述第二网络节点之间的第一传输层协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求,第二网络节点检测本地是否存储有上述第一数据对象(本实施例中以第二网络节点检测到本地未存储有上述第一数据对象为例)。
若上述第二网络节点本地未存储有上述第一数据对象,第二网络节点建立第二网络节点与第三网络节点之间的第二传输层协议连接,通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系。
在本发明的一些实施例中,第二网络节点记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,可以包括:第二网络节点生成用于记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系的映射关系记录,其中,该映射关系记录包括第一协议字段和第二协议字段,其中,第一协议字段中可记录上述第一传输层协议连接的标识,第二协议字段中可记录上述第二传输层协议连接的标识。其中,上述映射关系记录还可进一步包括时间戳字段,该时间戳字段可以记录第二网络节点通过第一网络节点与上述第二网络节点之间的第一传输层协议连接,接收上述第一网络节点发送的用于请求第一数据对象的下载请求的时间,或者,该时间戳字段可以记录建立上述第二网络节点与第三网络节点之间的第二传输层协议连接的时间,或该时间戳字段可以记录通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求的时间,或者该时间戳字段可以记录生成上述映射关系记录的时间等。当然,上述映射关系记录还可包括记录其它信息的字段。
304、第三网络节点通过第三网络节点与上述第二网络节点之间的第二传输层协议连接接收上述第二网络节点发送的用于请求第一数据对象的下载请求,第三网络节点检测本地是否存储有上述第一数据对象(本实施例中以第三网络节点检测到本地未存储有上述第一数据对象为例)。
若上述第三网络节点本地未存储有上述第一数据对象,第三网络节点建立第五网络节点与第三网络节点之间的第四传输层协议连接,通过第四传输层协议连接向上述第五网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第二传输层协议连接和上述第四传输层协议连接之间的映射关系。
在本发明的一些实施例中,第三网络节点记录上述第四传输层协议连接和上述第二传输层协议连接之间的映射关系,可以包括:第三网络节点生成用于记录上述第四传输层协议连接和上述第二传输层协议连接之间的映射关系的映射关系记录,其中,该映射关系记录包括第一协议字段和第二协议字段,其中,第一协议字段中可记录上述第四传输层协议连接的标识,第二协议字段中可记录上述第二传输层协议连接的标识。其中,上述映射关系记录还可进一步包括时间戳字段,该时间戳字段可以记录第三网络节点通过第三网络节点与上述第二网络节点之间的第一传输层协议连接,接收上述第二网络节点发送的用于请求第一数据对象的下载请求的时间,或者,该时间戳字段可以记录建立上述第五网络节点与第三网络节点之间的第四传输层协议连接的时间,或该时间戳字段可以记录通过第四传输层协议连接向上述第五网络节点发送用于请求上述第一数据对象的下载请求的时间,或者该时间戳字段可以记录生成上述映射关系记录的时间等。当然,上述映射关系记录还可进一步包括记录其它信息的字段。
305、第五网络节点通过第三网络节点与上述第五网络节点之间的第四传输层协议连接接收上述第三网络节点发送的用于请求第一数据对象的下载请求,第五网络节点检测本地是否存储有上述第一数据对象(本实施例中以第五网络节点检测到本地存储有上述第一数据对象为例)。第五网络节点将上述第一数据对象包含的数据封装到N2个第四传输层协议数据包(其中,N2个第四传输层协议数据包中的每个第四传输层协议数据包携带第一数据对象包含的其中一部分数据,即,N2个第四传输层协议数据共同承载第一数据对象的所有数据)之中,通过第四传输层协议连接向上述第三网络节点发送上述N2个第四传输层协议数据包。
306、第三网络节点若通过第四传输层协议连接接收到上述第五网络节点发送的携带有上述第一数据对象所包含的数据的N1个第四传输层协议数据包,且上述N1个第四传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第三网络节点在接收到上述第五网络节点发送的携带有上述第一数据对象所包含数据的下一个第四传输层协议数据包之前,则对上述N1个第四传输层协议数据包进行解封装处理,以获得上述N1个第四传输层协议数据包携带的上述第一数据对象包含的数据,将从上述N1个第四传输层协议数据包中获得的上述第一数据对象包含的数据封装到第二传输层协议数据包之中。
其中,第三网络节点可以根据记录的上述第二传输层协议连接和上述第四传输层协议连接之间的映射关系,确定与上述第四传输层协议连接具有映射关系的上述第二传输层协议连接,通过确定出的与上述第四传输层协议连接具有映射关系的上述第二传输层协议连接,向上述第二网络节点发送上述第二传输层协议数据包。
可以理解的是,由于第三网络节点会对从第五网络节点接收到的N2个第四传输层协议数据包进行重新封装,因此,第三网络节点可能将N2个第四传输层协议数据包携带的上述第一数据对象包含的数据重新封装到N1个第二传输层协议数据包之中,N1可能大于、小于或等于N2。例如,第三网络节点可能将从1个第四传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第二传输层协议数据包之中,第三网络节点也可能将从多个第四传输层协议数据包中获得的上述第一数据对象包含的数据封装到,1个或多个第二传输层协议数据包之中。其中,第三网络节点可根据第二网络节点和第三网络节点之间的第二传输层协议连接的当前网络状况,确定第二传输层协议数据包的大小。
307、第二网络节点若通过上述第二传输层协议连接接收到上述第三网络节点发送的携带有上述第一数据对象所包含的数据的N1个第二传输层协议数据包,并且上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第二网络节点可在接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的下一个第二传输层协议数据包之前,对上述N1个第二传输层协议数据包解封装处理,以获得上述N1个第二传输层协议数据包携带的上述第一数据对象包含的数据,将从上述第二传输层协议数据包中获得的上述第一数据对象包含的数据封装到第一传输层协议数据包之中。
其中,第二网络节点可以根据记录的上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,确定与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,第二网络节点通过确定出的与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点发送上述第一传输层协议数据包。
可以理解的是,由于第二网络节点会对从第三网络节点接收到的N1个第二传输层协议数据包进行重新封装,因此,第二网络节点可能将N1个第二传输层协议数据包携带的上述第一数据对象包含的数据重新封装到N个第一传输层协议数据包之中,N1可能大于、小于或等于N。例如,第二网络节点可能将从1个第二传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第一传输层协议数据包之中,第二网络节点也可能将从多个第二传输层协议数据包中获得的上述第一数据对象包含的数据封装到,1个或多个第一传输层协议数据包之中。其中,第二网络节点可根据第二网络节点和第一网络节点之间的第一传输层协议连接的当前网络状况,确定第一传输层协议数据包的大小。
308、第一网络节点若通过上述第一传输层协议连接接收到上述第二网络节点发送的携带有上述第一数据对象所包含的数据的N1个第一传输层协议数据包,且上述N1个第一传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第一网络节点在接收到上述第二网络节点发送的携带有上述第一数据对象所包含数据的下一个第一传输层协议数据包之前,对上述N1个第一传输层协议数据包进行解封装处理,以获得上述N1个第一传输层协议数据包携带的上述第一数据对象包含的数据,将从上述N1个第一传输层协议数据包中获得的上述第一数据对象包含的数据封装到第三传输层协议数据包之中。
在本发明的一些实施例中,上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的任意一个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的N2个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N2为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已向上述第一网络节点发送的第一传输层协议数据所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点发送的第一传输层协议数据能够携带的上述第一数据对象所包含数据的最大或最小数据量;
或者,上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的任意一个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的N3个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N3为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的所有第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的第二传输层协议数据包所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于0字节。
当然,上述设定数据量阈值也可是预设的其它值,当然,设定数据量阈值小于第一数据对象所包含数据的总数据量大小。
其中,第一网络节点可根据记录的上述第一传输层协议连接和上述第三传输层协议连接之间的映射关系,确定与上述第一传输层协议连接具有映射关系的上述第三传输层协议连接,第一网络节点通过确定出的与上述第一传输层协议连接具有映射关系的上述第三传输层协议连接,向上述第四网络节点发送上述第三传输层协议数据包。
可以理解的是,由于第一网络节点会对从第二网络节点接收到的N个第二传输层协议数据包进行重新封装,因此,第一网络节点可能将N个第一传输层协议数据包携带的上述第一数据对象包含的数据,重新封装到N3个第三传输层协议数据包之中,N3可能大于、小于或等于N。例如,第一网络节点可能将从1个第一传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第三传输层协议数据包之中,第一网络节点也可能将从多个第一传输层协议数据包中获得的上述第一数据对象包含的数据封装到,1个或多个第三传输层协议数据包之中。其中,第一网络节点可根据第四网络节点和第一网络节点之间的第三传输层协议连接的当前网络状况,确定第三传输层协议数据包的大小。
309、第四网络节点通过第三传输层协议连接,接收到上述第一网络节点发送的携带有上述第一数据对象包含的数据的第三传输层协议数据包。
其中,第四网络节点在通过第三传输层协议连接,接收到上述第一网络节点发送的携带有上述第一数据对象包含的数据的N4个第三传输层协议数据包之后,可利用上述N4个第三传输层协议数据包所携带的上述第一数据对象包含的数据进行上述第一数据对象的完整性校验。
可以理解,第一数据对象的数据源(即第五网络节点)可通过应用层消息向起始请求网络节点(即第四网络节点)反馈第一数据对象的总数量大小(当然,起始请求网络节点亦可通过其它方式获知第一数据对象总数量大小),因此,起始请求网络节点可解封装接收到的N4个传输层协议数据包以获得该N4个传输层协议数据包所携带的上述第一数据对象包含的数据,累计该N4个传输层协议数据包所携带的上述第一数据对象所包含数据的数据量大小,通过比较第一数据对象的总数量大小和累计出的数据量大小是否相等,对上述第一数据对象的完整性进行校验,其中,上述N4为正整数。
本实施例中,以所有中转网络节点均不执行第一数据对象的完整性进行校验为例进行说明,但在实际应用中,亦可选择部分中转网络节点执行第一数据对象的完整性进行校验。
在本发明的一些实施例中,第二传输层协议连接可为第二用户数据报协议连接或第二传输控制协议连接。其中,上述建立上述第二网络节点与第三网络节点之间的第二传输层协议连接,可包括:建立上述第二网络节点与第三网络节点之间的第二用户数据报协议连接或第二传输控制协议连接。
在本发明的一些实施例中,上述第一数据对象为文件或文件片段(文件片段是指文件的一个或多个分片)。
下面结合图3-b说明本发明实施例的上述方案如何缩短数据传输延迟。
其中,一个往返时延(RTT,Round-Trip Time)是指,1个传输层协议数据包(如一个TCP分片)一次网络传输完成的往返时间。
如图3所示,假设第五网络节点通过N2个TCP分片承载第一数据对象(RTT5表示第五网络节点传输每个TCP分片的往返时间),因此,第五网络节点发送N2个TCP分片到第三网络节点的时间为N2*RTT5。
类似的,假设第三网络节点通过N1个TCP分片承载第一数据对象(RTT3表示第三网络节点传输每个TCP分片的往返时间),因此,第三网络节点发送N1个TCP分片到第二网络节点的时间为N1*RTT3。
因此将第一数据对象从第五网络节点传输到第三网络节点的时间可为:
RTT5*(N2-0.5)+RTT3*0.5
将其推广到更多网络节点的场景,假设,传输第一数据对象的路径总共包括n个网络节点,n个网络节点从数据起始请求网络节点到数据源到依次编号为1、2….n,那么从数据源到起始数据请求网络节点之间的延迟约为:
其中,RTTk表示网络节点k与网络节点k-1之间的1个RTT,Mk表示从网络节点k到网络节点k-1之间的传输的承载第一数据对象的TCP分片的总个数,不同网络节点之间传输的承载第一数据对象的TCP分片的总个数可能不尽相同。
其中,k=2...n。RTTx*(Mx-1)为RTTk*(Mk-1)中的最大值。
由上可见,基于本发明实施例的上述方案,有利于大大减少多网络节点之间进行数据传输的网络延时,随着传输路径上的网络节点数的增加而导致的网络传输延时的增长从现有技术的O(n)降为了约O(1)。
可以理解,在传输第一数据对象的路径中,第一网络节点可看作是第二网络节点的下游网络节点,第二网络节点为第三网络节点的下游网络节点,若第一网络节点为第一数据对象的起始请求网络节点,则第二网络节点可看作是中转网络节点,第三网络节点可能为数据源或者也为中转网络节点。本发明实施例中,第一数据对象的数据源和起始请求网络节点之间可以存在一个或多个包括第二网络节点在内的中转网络节点。
可以看出,数据源和起始请求网络节点之间的各个中转网络节点,均可按照与第二网络节点类似的方式工作。
在本发明的一些实施例中,第一传输层协议连接可为第一传输控制协议连接或第一用户数据报协议连接。其中,上述第二网络节点通过第一网络节点与上述第二网络节点之间的第一传输层协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求,可包括:第二网络节点通过第一网络节点与上述第二网络节点之间的第一传输控制协议连接或第一用户数据报协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求。
可以看出,本实施例的方案中,作为中转网络节点的第二网络节点在通过第一网络节点与上述第二网络节点之间的第一传输层协议连接接收第一网络节点发送的用于请求第一数据对象的下载请求之后,若发现上述第二网络节点本地未存储有第一数据对象,则第二网络节点建立上述第二网络节点与第三网络节点之间的第二传输层协议连接,通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系。由于作为中转网络节点的第二网络节点建立起了上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,在接收到第三网络节点携带有上述第一数据对象所包含中的数据的N1个第二传输层协议数据包,且上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第二网络节点在接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的下一个第二传输层协议数据包之前,直接通过与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点发送上述携带上述第一数据对象所包含中的数据的第一传输层协议数据包,在上述机制中,由于第一数据对象可能需要通过多个传输层协议数据包来承载,作为中转网络节点第二网络节点并不需要等待接收到完整的第一数据对象之后(即不需要接收到承载第一数据对象的数据的所有传输层协议数据包之后),再向第一网络节点反馈完整的第一数据对象,而是采用类似异步方式的,逐步的通过传输层协议数据包向第一网络节点转发来自第三网络节点的传输层协议数据包所携带的第一数据对象所包含的数据,这有利于极大的缩短中转网络节点等待接收用于承载第一数据对象的传输层协议数据包的时间,进而有利于极大的缩短第一数据对象所包含数据从第三网络节点转移到第一网络节点的时间,进而有利于缩短第一数据对象的数据源和第一数据对象的起始请求网络节点之间的传输延迟,通过极大的缩短延迟有利于提升用户产品体验。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
参见图4、本发明实施例提供的一种数据传输装置400,可包括:
接收单元410、第一转发单元420和第二转发单元430。
其中,上述接收单元410,用于通过第一网络节点与上述数据传输装置400之间的第一传输层协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求。
其中,第一网络节点可以是第一数据对象的起始请求网络节点(即发起下载第一数据对象的下载请求),第一网络节点也可以是数据源和起始请求网络节点之间的中转网络节点。
其中,转发单元420,用于若上述数据传输装置本地未存储有上述第一数据对象,则建立上述数据传输装置与第三网络节点之间的第二传输层协议连接,通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接与上述第二传输层协议连接之间的映射关系。
其中,第一传输层协议连接和第二传输层协议连接所对应的传输层协议可以相同或者不同,举例来说,第一传输层协议连接所对应的传输层协议为传输控制协议,第二传输层协议连接所对应的传输层协议也为传输控制协议。或者第一传输层协议连接所对应的传输层协议为用户数据报协议,第二传输层协议连接所对应的传输层协议也为用户数据报协议。或者第一传输层协议连接所对应的传输层协议为传输控制协议,第二传输层协议连接所对应的传输层协议也为用户数据报协议,或者第一传输层协议连接所对应的传输层协议为用户数据报协议,第二传输层协议连接所对应的传输层协议也为传输控制协议。当然第一传输层协议连接和第二传输层协议连接所对应的传输层协议可以为相同或者不同的其它协议。
在本发明的一些实施例中,上述记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系可包括:生成用于记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系的映射关系记录,其中,该映射关系记录包括第一协议字段和第二协议字段,其中,第一协议字段中可记录上述第一传输层协议连接的标识,第二协议字段中可记录上述第二传输层协议连接的标识。上述映射关系记录还可进一步包括时间戳字段,该时间戳字段可以记录通过第一网络节点与上述数据传输装置之间的第一传输层协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求的时间,或者,该时间戳字段可以记录建立上述数据传输装置与第三网络节点之间的第二传输层协议连接的时间,或该时间戳字段可以记录通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求的时间,或者,该时间戳字段可以记录生成上述映射关系记录的时间等。当然,上述映射关系记录还可包括其它字段。
其中,第二转发单元430,用于若上述接收单元410通过上述第二传输层协议连接接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的N1个第二传输层协议数据包,并且上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则在接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的下一个第二传输层协议数据包之前,则根据记录的上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,通过与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点发送第一传输层协议数据包,其中,上述第一传输层协议数据包携带有接收到的上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据,上述N1为正整数。
在本发明的一些实施例中,第二转发单元430可能将从1个第二传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第一传输层协议数据包之中,第二转发单元430也可能将从多个第二传输层协议数据包中获得的上述第一数据对象包含的数据封装到,1个或多个第一传输层协议数据包之中。其中,第二转发单元430可根据数据传输装置400和第一网络节点之间的第一传输层协议连接的当前网络状况,确定第一传输层协议数据包的大小。
在本发明的一些实施例中,接收单元410可具体用于通过第一网络节点与上述数据传输装置400之间的第一传输控制协议连接或第一用户数据报协议接收上述第一网络节点发送的用于请求第一数据对象的下载请求。
在本发明的一些实施例中,在上述建立上述数据传输装置400与第三网络节点之间的第二传输层协议连接的方面,上述转发单元420可以具体用于,建立上述数据传输装置400与第三网络节点之间的第二用户数据报协议连接或第二传输控制协议连接。
在本发明的一些实施例中,上述第一数据对象为文件或文件片段。
若第一网络节点也为中转网络节点,在数据传输装置400通过第一网络节点与上述数据传输装置400之间的第一传输层协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求之前,第一网络节点可通过第一网络节点与第四网络节点(第四网络节点可能是起始请求网络节点,也可能是另一中转网络节点)之间的第三传输层协议连接,接收上述第四网络节点发送的用于请求第一数据对象的下载请求,并记录上述第三传输层协议连接与上述第一传输层协议连接之间的映射关系。第一网络节点若通过上述第一传输层协议连接接收到上述数据传输装置400发送的携带有上述第一数据对象所包含的数据的N1第一传输层协议数据包,且上述N1个第一传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第一网络节点在接收到上述数据传输装置400发送的携带有上述第一数据对象所包含数据的下一个第一传输层协议数据包之前,根据记录的上述第一传输层协议连接和上述第三传输层协议连接之间的映射关系,确定与上述第一传输层协议连接具有映射关系的上述第三传输层协议连接,通过确定出的与上述第一传输层协议连接具有映射关系的上述第三传输层协议连接,向上述第四网络节点发送一个或者多个第三传输层协议数据包。其中,上述一个或者多个第三传输层协议数据包携带有接收到的上述N1第一传输层协议数据包携带的上述第一数据对象所包含数据。
其中,第一网络节点可能将从某1个第一传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第三传输层协议数据包之中,第一网络节点也可能将从某多个第一传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第三传输层协议数据包之中。其中,第一网络节点可根据第一网络节点和第四网络节点之间的第三传输层协议连接的当前网络状况,确定第三传输层协议数据包的大小。
类似的,若第三网络节点也为中转网络节点,则第三网络节点通过第二传输层协议连接接收到数据传输装置400发送的用于请求上述第一数据对象的下载请求之后,第三网络节点可以建立上述第三网络节点与第五网络节点(其中,第五网络节点可能是第一数据对象的数据源,也可能是另一中转网络节点)之间的第四传输层协议连接,通过第四传输层协议连接,向上述第五网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第二传输层协议连接与上述第四传输层协议连接之间的映射关系。第三网络节点若通过上述第四传输层协议连接,接收到上述第五网络节点发送的携带有上述第一数据对象所包含的数据的N1个第四传输层协议数据包,且上述N1个第四传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第三网络节点在接收到上述第五网络节点发送的携带有上述第一数据对象所包含数据的下一个第四传输层协议数据包之前,根据记录的上述第二传输层协议连接和上述第四传输层协议连接之间的映射关系,确定与上述第四传输层协议连接具有映射关系的上述第二传输层协议连接,通过确定出的与上述第四传输层协议连接具有映射关系的上述第二传输层协议连接,向上述数据传输装置400发送至少一个第二传输层协议数据包,其中,该至少一个第二传输层协议数据包携带有接收到的上述N1第四一传输层协议数据包携带的上述第一数据对象所包含数据。
其中,第三网络节点可能将从某1个第四传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第二传输层协议数据包之中,第三网络节点也可能将从某多个第四传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第二传输层协议数据包之中。其中,第三网络节点可根据第三网络节点和数据传输装置400之间的第二传输层协议连接的当前网络状况,确定第三传输层协议数据包的大小。
在本发明的一些实施例中,上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的任意一个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的N2个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N2为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已向上述第一网络节点发送的第一传输层协议数据所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点发送的第一传输层协议数据能够携带的上述第一数据对象所包含数据的最大或最小数据量;
或者,上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的任意一个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的N3个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N3为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的所有第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的第二传输层协议数据包所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于0字节。
当然,上述设定数据量阈值也可是预设的其它值,当然,设定数据量阈值小于第一数据对象所包含数据的总数据量大小。
在本发明的一些实施例中,若上述第一网络节点为上述第一数据对象的起始请求网络节点,则上述第一网络节点在通过第一传输层协议连接接收到上述数据传输装置发送的,携带有上述第一数据对象包含的数据的N个传输层协议数据包(即N个第一传输层协议数据包)之后,可利用上述N个传输层协议数据包所携带的上述第一数据对象包含的数据,进行上述第一数据对象的完整性校验。
可以看出,本实施例的方案中,作为中转网络节点的数据传输装置400在通过第一网络节点与上述数据传输装置400之间的第一传输层协议连接接收第一网络节点发送的用于请求第一数据对象的下载请求之后,若发现上述数据传输装置400本地未存储有第一数据对象,则数据传输装置400建立上述数据传输装置400与第三网络节点之间的第二传输层协议连接,通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系。由于作为中转网络节点的数据传输装置400建立起了上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,在接收到第三网络节点携带有上述第一数据对象所包含中的数据的第二传输层协议数据包之后,直接通过与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点发送上述携带上述第一数据对象所包含中的数据的第一传输层协议数据包,在上述机制中,由于第一数据对象可能需要通过多个传输层协议数据包来承载,作为中转网络节点数据传输装置400并不需要等待接收到完整的第一数据对象之后(即,不需要接收到承载第一数据对象的数据的所有传输层协议数据包之后),再向第一网络节点反馈完整的第一数据对象,而是采用类似异步方式的,逐步的通过传输层协议数据包向第一网络节点转发来自第三网络节点的传输层协议数据包所携带的第一数据对象所包含的数据,这有利于极大的缩短中转网络节点等待接收用于承载第一数据对象的传输层协议数据包的时间,进而有利于极大的缩短第一数据对象所包含数据从第三网络节点转移到第一网络节点的时间,进而有利于缩短第一数据对象的数据源和第一数据对象的起始请求网络节点之间的传输延迟,通过极大的缩短延迟有利于提升用户产品体验。
参见图5,图5是本发明另一实施例提供的数据传输装置500的结构框图。
其中,数据传输装置500可以包括:至少1个处理器501,至少1个网络接口504或者其他用户接口503,存储器505,至少1个通信总线502。通信总线502用于实现这些组件之间的连接通信。其中,数据传输装置500可包含用户接口503,具体可以包括:显示器(例如触摸屏、LCD、CRT、全息成像或者投影等)、点击设备(例如,鼠标,轨迹球(trackball)触感板或触摸屏等)、摄像头和/或拾音装置等。
其中,存储器502可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器502中的一部分还可以包括非易失性随机存取存储器等等。
在一些实施方式中,存储器505存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统5051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务;
应用程序模块5052,包含各种应用程序,用于实现各种应用业务。
应用程序模块5052中包括但不限于接收单元410、第一转发单元420和/或第二转发单元430等。
在本发明的实施例中,通过调用存储器505存储的程序或指令,处理器501,通过第一传输层协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求;若数据传输装置500本地未存储有上述第一数据对象,则建立数据传输装置500与上述第三网络节点之间的第二传输层协议连接,通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系;若通过上述第二传输层协议连接接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的N1个第二传输层协议数据包,并且上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则在接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的下一个第二传输层协议数据包之前,则根据记录的上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,通过与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点发送第一传输层协议数据包,其中,上述第一传输层协议数据包携带有接收到的上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据,上述N1为正整数。
其中,第一传输层协议连接和第二传输层协议连接所对应的传输层协议可以相同或者不同,举例来说,第一传输层协议连接所对应的传输层协议为传输控制协议,第二传输层协议连接所对应的传输层协议也为传输控制协议。或者第一传输层协议连接所对应的传输层协议为用户数据报协议,第二传输层协议连接所对应的传输层协议也为用户数据报协议。或者第一传输层协议连接所对应的传输层协议为传输控制协议,第二传输层协议连接所对应的传输层协议也为用户数据报协议,或者第一传输层协议连接所对应的传输层协议为用户数据报协议,第二传输层协议连接所对应的传输层协议也为传输控制协议。当然第一传输层协议连接和第二传输层协议连接所对应的传输层协议可以为相同或者不同的其它协议。
在本发明的一些实施例中,上述记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系可包括:生成用于记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系的映射关系记录,其中,该映射关系记录包括第一协议字段和第二协议字段,其中,第一协议字段中可记录上述第一传输层协议连接的标识,第二协议字段中可记录上述第二传输层协议连接的标识。上述映射关系记录还可进一步包括时间戳字段,该时间戳字段可以记录通过第一网络节点与上述数据传输装置400之间的第一传输层协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求的时间,或者,该时间戳字段可以记录建立上述数据传输装置400与第三网络节点之间的第二传输层协议连接的时间,或该时间戳字段可以记录通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求的时间,或者,该时间戳字段可以记录生成上述映射关系记录的时间等。当然,上述映射关系记录还可包括其它字段。
在本发明的一些实施例中,处理器501可能将从1个第二传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第一传输层协议数据包之中,处理器501也可能将从多个第二传输层协议数据包中获得的上述第一数据对象包含的数据封装到,1个或多个第一传输层协议数据包之中。其中,处理器501可根据数据传输装置500和第一网络节点之间的第一传输层协议连接的当前网络状况,确定第一传输层协议数据包的大小。
在本发明的一些实施例中,处理器501可通过第一网络节点与上述数据传输装置500之间的第一传输控制协议连接或第一用户数据报协议接收上述第一网络节点发送的用于请求第一数据对象的下载请求。
在本发明的一些实施例中,在上述建立上述数据传输装置500与第三网络节点之间的第二传输层协议连接的方面,上述处理器501可以具体用于,建立上述数据传输装置500与第三网络节点之间的第二用户数据报协议连接或第二传输控制协议连接。
在本发明的一些实施例中,上述第一数据对象为文件或文件片段。
若第一网络节点也为中转网络节点,在数据传输装置500通过第一网络节点与上述数据传输装置500之间的第一传输层协议连接接收上述第一网络节点发送的用于请求第一数据对象的下载请求之前,第一网络节点可通过第一网络节点与第四网络节点(第四网络节点可能是起始请求网络节点,也可能是另一中转网络节点)之间的第三传输层协议连接,接收上述第四网络节点发送的用于请求第一数据对象的下载请求,并记录上述第三传输层协议连接与上述第一传输层协议连接之间的映射关系。第一网络节点若通过上述第一传输层协议连接接收到上述数据传输装置500发送的携带有上述第一数据对象所包含的数据的N1第一传输层协议数据包,且上述N1个第一传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第一网络节点在接收到上述数据传输装置500发送的携带有上述第一数据对象所包含数据的下一个第一传输层协议数据包之前,根据记录的上述第一传输层协议连接和上述第三传输层协议连接之间的映射关系,确定与上述第一传输层协议连接具有映射关系的上述第三传输层协议连接,通过确定出的与上述第一传输层协议连接具有映射关系的上述第三传输层协议连接,向上述第四网络节点发送一个或者多个第三传输层协议数据包。其中,上述一个或者多个第三传输层协议数据包携带有接收到的上述N1第一传输层协议数据包携带的上述第一数据对象所包含数据。
其中,第一网络节点可能将从某1个第一传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第三传输层协议数据包之中,第一网络节点也可能将从某多个第一传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第三传输层协议数据包之中。其中,第一网络节点可根据第一网络节点和第四网络节点之间的第三传输层协议连接的当前网络状况,确定第三传输层协议数据包的大小。
类似的,若第三网络节点也为中转网络节点,则第三网络节点通过第二传输层协议连接接收到数据传输装置500发送的用于请求上述第一数据对象的下载请求之后,第三网络节点可以建立上述第三网络节点与第五网络节点(其中,第五网络节点可能是第一数据对象的数据源,也可能是另一中转网络节点)之间的第四传输层协议连接,通过第四传输层协议连接,向上述第五网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第二传输层协议连接与上述第四传输层协议连接之间的映射关系。第三网络节点若通过上述第四传输层协议连接,接收到上述第五网络节点发送的携带有上述第一数据对象所包含的数据的N1个第四传输层协议数据包,且上述N1个第四传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第三网络节点在接收到上述第五网络节点发送的携带有上述第一数据对象所包含数据的下一个第四传输层协议数据包之前,根据记录的上述第二传输层协议连接和上述第四传输层协议连接之间的映射关系,确定与上述第四传输层协议连接具有映射关系的上述第二传输层协议连接,通过确定出的与上述第四传输层协议连接具有映射关系的上述第二传输层协议连接,向上述数据传输装置500发送至少一个第二传输层协议数据包,其中,该至少一个第二传输层协议数据包携带有接收到的上述N1第四一传输层协议数据包携带的上述第一数据对象所包含数据。
其中,第三网络节点可能将从某1个第四传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第二传输层协议数据包之中,第三网络节点也可能将从某多个第四传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第二传输层协议数据包之中。其中,第三网络节点可根据第三网络节点和数据传输装置500之间的第二传输层协议连接的当前网络状况,确定第三传输层协议数据包的大小。
在本发明的一些实施例中,若上述第一网络节点为上述第一数据对象的起始请求网络节点,则上述第一网络节点在通过第一传输层协议连接接收到上述数据传输装置500发送的,携带有上述第一数据对象包含的数据的N个传输层协议数据包(即N个第一传输层协议数据包)之后,可利用上述N个传输层协议数据包所携带的上述第一数据对象包含的数据,进行上述第一数据对象的完整性校验。
在本发明的一些实施例中,上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的任意一个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的N2个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N2为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已向上述第一网络节点发送的第一传输层协议数据所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点发送的第一传输层协议数据能够携带的上述第一数据对象所包含数据的最大或最小数据量;
或者,上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的任意一个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的N3个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N3为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的所有第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的第二传输层协议数据包所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于0字节。
当然,上述设定数据量阈值也可是预设的其它值,当然,设定数据量阈值小于第一数据对象所包含数据的总数据量大小。
可以看出,本实施例方案中,作为中转网络节点的数据传输装置500在通过第一网络节点与上述数据传输装置500之间的第一传输层协议连接接收第一网络节点发送的用于请求第一数据对象的下载请求之后,若发现上述数据传输装置500本地未存储有第一数据对象,则数据传输装置500建立上述数据传输装置500与第三网络节点之间的第二传输层协议连接,通过第二传输层协议连接向上述第三网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系。由于作为中转网络节点的数据传输装置500建立起了上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,在接收到第三网络节点携带有上述第一数据对象所包含中的数据的N1个第二传输层协议数据包,并且上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述数据传输装置500在接收到上述第三网络节点发送的携带有上述第一数据对象所包含数据的下一个第二传输层协议数据包之前,直接通过与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点发送上述携带上述第一数据对象所包含中的数据的第一传输层协议数据包,在上述机制中,由于第一数据对象可能需要通过多个传输层协议数据包来承载,作为中转网络节点数据传输装置500并不需要等待接收到完整的第一数据对象之后(即,不需要接收到承载第一数据对象的数据的所有传输层协议数据包之后),再向第一网络节点反馈完整的第一数据对象,而是采用类似异步方式的,逐步的通过传输层协议数据包向第一网络节点转发来自第三网络节点的传输层协议数据包所携带的第一数据对象所包含的数据,这有利于极大的缩短中转网络节点等待接收用于承载第一数据对象的传输层协议数据包的时间,进而有利于极大的缩短第一数据对象所包含数据从第三网络节点转移到第一网络节点的时间,进而有利于缩短第一数据对象的数据源和第一数据对象的起始请求网络节点之间的传输延迟,通过极大的缩短延迟有利于提升用户产品体验。
参见图6、本发明实施例还提供一种数据传输系统,可包括:
第一网络节点610、第二网络节点620和第三网络节点630。
其中,上述第一网络节点610,用于通过上述第一网络节点610与上述第二网络节点620之间的第一传输层协议连接,向上述第二网络节点620发送的用于请求第一数据对象的下载请求;
上述第二网络节点620用于,通过第一传输层协议连接接收上述第一网络节点610发送的用于请求第一数据对象的下载请求;若上述第二网络节点620本地未存储有上述第一数据对象,则若上述第二网络节点620本地未存储有上述第一数据对象,则建立上述第二网络节点620与第三网络节点630之间的第二传输层协议连接,通过上述第二传输层协议连接向上述第三网络节点630发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接与上述第二传输层协议连接之间的映射关系;若通过上述第二传输层协议连接接收到上述第三网络节点630发送的携带有上述第一数据对象所包含数据的N1个第二传输层协议数据包,并且上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则在接收到上述第三网络节点630发送的携带有上述第一数据对象所包含数据的下一个第二传输层协议数据包之前,根据记录的上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,通过与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点610发送第一传输层协议数据包,其中,上述第一传输层协议数据包携带有接收到的上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据,其中,上述N1为正整数。
其中,第一网络节点610可以是第一数据对象的起始请求网络节点(即发起下载第一数据对象的下载请求),第一网络节点610也可以是数据源和起始请求网络节点之间的中转网络节点。
其中,第一传输层协议连接和第二传输层协议连接所对应的传输层协议可以相同或者不同,举例来说,第一传输层协议连接所对应的传输层协议为传输控制协议,第二传输层协议连接所对应的传输层协议也为传输控制协议。或者第一传输层协议连接所对应的传输层协议为用户数据报协议,第二传输层协议连接所对应的传输层协议也为用户数据报协议。或者第一传输层协议连接所对应的传输层协议为传输控制协议,第二传输层协议连接所对应的传输层协议也为用户数据报协议,或者第一传输层协议连接所对应的传输层协议为用户数据报协议,第二传输层协议连接所对应的传输层协议也为传输控制协议。当然第一传输层协议连接和第二传输层协议连接所对应的传输层协议可以为相同或者不同的其它协议。
在本发明的一些实施例中,上述记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系可包括:生成用于记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系的映射关系记录,其中,该映射关系记录包括第一协议字段和第二协议字段,其中,第一协议字段中可记录上述第一传输层协议连接的标识,第二协议字段中可记录上述第二传输层协议连接的标识。上述映射关系记录还可进一步包括时间戳字段,该时间戳字段可以记录通过第一网络节点610与上述第二网络节点620之间的第一传输层协议连接接收上述第一网络节点610发送的用于请求第一数据对象的下载请求的时间,或者,该时间戳字段可以记录建立上述第二网络节点620与第三网络节点630之间的第二传输层协议连接的时间,或该时间戳字段可以记录通过第二传输层协议连接向上述第三网络节点630发送用于请求上述第一数据对象的下载请求的时间,或者,该时间戳字段可以记录生成上述映射关系记录的时间等。当然,上述映射关系记录还可包括其它字段。
其中,第二网络节点620可能将从1个第二传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第一传输层协议数据包中,第二网络节点620也可能将从多个第二传输层协议数据包中获得的上述第一数据对象包含的数据封装到,1个或多个第一传输层协议数据包之中。其中,第二网络节点620可根据第二网络节点620和第一网络节点610之间的第一传输层协议连接的当前网络状况,确定第一传输层协议数据包的大小。
可以理解,在传输第一数据对象的路径中,第一网络节点610可看作是第二网络节点620的下游网络节点,第二网络节点620为第三网络节点630的下游网络节点,若第一网络节点610为第一数据对象的起始请求网络节点,则第二网络节点620可看作是中转网络节点,第三网络节点630可能为数据源或者也为中转网络节点。本发明实施例中,第一数据对象的数据源和起始请求网络节点之间可以存在一个或多个包括第二网络节点620在内的中转网络节点。
其中,若第一网络节点610也为中转网络节点,则在第二网络节点620通过第一网络节点610与上述第二网络节点620之间的第一传输层协议连接接收上述第一网络节点610发送的用于请求第一数据对象的下载请求之前,第一网络节点610可通过第一网络节点610与第四网络节点(第四网络节点可能是起始请求网络节点,也可能是另一中转网络节点)之间的第三传输层协议连接,接收上述第四网络节点发送的用于请求第一数据对象的下载请求,并记录上述第三传输层协议连接与上述第一传输层协议连接之间的映射关系。第一网络节点610若通过上述第一传输层协议连接接收到上述第二网络节点620发送的携带有上述第一数据对象所包含的数据的N1第一传输层协议数据包,且上述N1个第一传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第一网络节点610在接收到上述第二网络节点620发送的携带有上述第一数据对象所包含数据的下一个第一传输层协议数据包之前,根据记录的上述第一传输层协议连接和上述第三传输层协议连接之间的映射关系,确定与上述第一传输层协议连接具有映射关系的上述第三传输层协议连接,通过确定出的与上述第一传输层协议连接具有映射关系的上述第三传输层协议连接,向上述第四网络节点发送一个或者多个第三传输层协议数据包。其中,上述一个或者多个第三传输层协议数据包携带有接收到的上述N1第一传输层协议数据包携带的上述第一数据对象所包含数据。
其中,第一网络节点610可能将从某1个第一传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第三传输层协议数据包之中,第一网络节点610也可能将从某多个第一传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第三传输层协议数据包之中。其中,第一网络节点610可根据第一网络节点610和第四网络节点之间的第三传输层协议连接的当前网络状况,确定第三传输层协议数据包的大小。
类似的,若第三网络节点630也为中转网络节点,则第三网络节点630可用于通过第二传输层协议连接接收到第二网络节点620发送的用于请求上述第一数据对象的下载请求之后,第三网络节点630可以建立上述第三网络节点630与第五网络节点(其中,第五网络节点可能是第一数据对象的数据源,也可能是另一中转网络节点)之间的第四传输层协议连接,通过第四传输层协议连接,向上述第五网络节点发送用于请求上述第一数据对象的下载请求,并记录上述第二传输层协议连接与上述第四传输层协议连接之间的映射关系。第三网络节点630若通过上述第四传输层协议连接,接收到上述第五网络节点发送的携带有上述第一数据对象所包含的数据的N1个第四传输层协议数据包,且上述N1个第四传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第三网络节点630在接收到上述第五网络节点发送的携带有上述第一数据对象所包含数据的下一个第四传输层协议数据包之前,根据记录的上述第二传输层协议连接和上述第四传输层协议连接之间的映射关系,确定与上述第四传输层协议连接具有映射关系的上述第二传输层协议连接,通过确定出的与上述第四传输层协议连接具有映射关系的上述第二传输层协议连接,向上述第二网络节点620发送至少一个第二传输层协议数据包,其中,该至少一个第二传输层协议数据包携带有接收到的上述N1第四一传输层协议数据包携带的上述第一数据对象所包含数据。
其中,第三网络节点630可能将从某1个第四传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第二传输层协议数据包之中,第三网络节点630也可能将从某多个第四传输层协议数据包中获得的上述第一数据对象包含的数据,封装到1个或多个第二传输层协议数据包之中。其中,第三网络节点630可根据第三网络节点630和第二网络节点620之间的第二传输层协议连接的当前网络状况,确定第三传输层协议数据包的大小。
在本发明的一些实施例中,在通过第一网络节点610与上述第二网络节点620之间的第一传输层协议连接接收上述第一网络节点610发送的用于请求第一数据对象的下载请求的方面,第二网络节点620具体用于,通过第一网络节点610与上述第二网络节点620之间的第一传输控制协议连接或第一用户数据报协议连接接收上述第一网络节点610发送的用于请求第一数据对象的下载请求。
在本发明的一些实施例中,在上述建立上述第二网络节点620与第三网络节点630之间的第二传输层协议连接的方面,上述第二网络节点620具体用于,建立上述第二网络节点620与第三网络节点630之间的第二用户数据报协议连接或第二传输控制协议连接。
在本发明的一些实施例中,若上述第一网络节点610为上述第一数据对象的起始请求网络节点,则上述第一网络节点610还用于,在通过第一传输层协议连接接收到上述第二网络节点620发送的,携带有上述第一数据对象包含的数据的N个传输层协议数据包之后,利用上述N个传输层协议数据包所携带的上述第一数据对象包含的数据进行上述第一数据对象的完整性校验。
可以理解的是,第一数据对象的数据源(如第三网络节点630)可通过应用层消息向起始请求网络节点(假设为第一网络节点610)反馈第一数据对象的总数量大小(当然第一网络节点610亦可通过其它方式获知第一数据对象的总数量大小),因此第一网络节点610可解封装接收到的N个传输层协议数据包以获得该N个传输层协议数据包所携带的上述第一数据对象包含的数据,累计该N个传输层协议数据包所携带的上述第一数据对象所包含数据的数据量大小,通过比较第一数据对象的总数量大小和累计出的数据量大小是否相等,对上述第一数据对象的完整性进行校验,其中,上述N为正整数。
在本发明的一些实施例中,上述第一数据对象为文件或文件片段(文件片段是指文件的一个或多个分片)。
在本发明的一些实施例中,上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的任意一个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点已发送的N2个第一传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N2为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已向上述第一网络节点发送的第一传输层协议数据所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点向上述第一网络节点发送的第一传输层协议数据能够携带的上述第一数据对象所包含数据的最大或最小数据量;
或者,上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的任意一个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的N3个第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小,其中,上述N3为正整数;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的所有第二传输层协议数据包所携带的上述第一数据对象所包含数据的数据量平均大小;
或上述设定数据量阈值大于或等于,上述第二网络节点已接收到的来自上述第三网络节点的第二传输层协议数据包所携带的上述第一数据对象所包含数据的最大或最小数据量;
或上述设定数据量阈值大于或等于0字节。
当然,上述设定数据量阈值也可是预设的其它值,当然,设定数据量阈值小于第一数据对象所包含数据的总数据量大小。
可以看出,本实施例的方案中,作为中转网络节点的第二网络节点620在通过第一网络节点610与上述第二网络节点620之间的第一传输层协议连接接收第一网络节点610发送的用于请求第一数据对象的下载请求之后,若发现上述第二网络节点620本地未存储有第一数据对象,则第二网络节点620建立上述第二网络节点620与第三网络节点630之间的第二传输层协议连接,通过第二传输层协议连接向上述第三网络节点630发送用于请求上述第一数据对象的下载请求,并记录上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系。由于作为中转网络节点的第二网络节点620建立起了上述第一传输层协议连接和上述第二传输层协议连接之间的映射关系,在接收到第三网络节点630携带有上述第一数据对象所包含中的数据的N1个第二传输层协议数据包,且上述N1个第二传输层协议数据包携带的上述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则上述第二网络节点620在接收到上述第三网络节点630发送的携带有上述第一数据对象所包含数据的下一个第二传输层协议数据包之前,直接通过与上述第二传输层协议连接具有映射关系的上述第一传输层协议连接,向上述第一网络节点610发送上述携带上述第一数据对象所包含中的数据的第一传输层协议数据包,在上述机制中,由于第一数据对象可能需要通过多个传输层协议数据包来承载,作为中转网络节点第二网络节点620并不需要等待接收到完整的第一数据对象之后(即不需要接收到承载第一数据对象的数据的所有传输层协议数据包之后),再向第一网络节点610反馈完整的第一数据对象,而是采用类似异步方式的,逐步的通过传输层协议数据包向第一网络节点610转发来自第三网络节点630的传输层协议数据包所携带的第一数据对象所包含的数据,这有利于极大的缩短中转网络节点等待接收用于承载第一数据对象的传输层协议数据包的时间,进而有利于极大的缩短第一数据对象所包含数据从第三网络节点630转移到第一网络节点610的时间,进而有利于缩短第一数据对象的数据源和第一数据对象的起始请求网络节点之间的传输延迟,通过极大的缩短延迟有利于提升用户产品体验。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种数据传输方法,其特征在于,包括:
第二网络节点接收第一网络节点通过第一传输层协议连接发送的用于请求第一数据对象的下载请求;
若所述第二网络节点本地未存储有所述第一数据对象,则所述第二网络节点建立所述第二网络节点与第三网络节点之间的第二传输层协议连接,通过所述第二传输层协议连接向所述第三网络节点发送用于请求所述第一数据对象的下载请求,并记录所述第一传输层协议连接与所述第二传输层协议连接之间的映射关系;
所述第二网络节点若通过所述第二传输层协议连接接收到所述第三网络节点发送的携带有所述第一数据对象所包含数据的N1个第二传输层协议数据包,并且所述N1个第二传输层协议数据包携带的所述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则所述第二网络节点在接收到所述第三网络节点发送的携带有所述第一数据对象所包含数据的下一个第二传输层协议数据包之前,根据记录的所述第一传输层协议连接和所述第二传输层协议连接之间的映射关系,通过与所述第二传输层协议连接具有映射关系的所述第一传输层协议连接,向所述第一网络节点发送所述第一传输层协议数据包,其中,所述第一传输层协议数据包携带有接收到的所述N1个第二传输层协议数据包携带的所述第一数据对象所包含数据,其中,所述N1为正整数。
2.根据权利要求1所述的方法,其特征在于,
所述设定数据量阈值大于或等于,所述第二网络节点向所述第一网络节点已发送的任意一个第一传输层协议数据包所携带的所述第一数据对象所包含数据的数据量;
或所述设定数据量阈值大于或等于,所述第二网络节点向所述第一网络节点已发送的N2个第一传输层协议数据包所携带的所述第一数据对象所包含数据的数据量平均大小,其中,所述N2为正整数;
或所述设定数据量阈值大于或等于,所述第二网络节点已向所述第一网络节点发送的第一传输层协议数据所携带的所述第一数据对象所包含数据的最大或最小数据量;
或所述设定数据量阈值大于或等于,所述第二网络节点向所述第一网络节点发送的第一传输层协议数据能够携带的所述第一数据对象所包含数据的最大或最小数据量;
或者,所述设定数据量阈值大于或等于,所述第二网络节点已接收到的来自所述第三网络节点的任意一个第二传输层协议数据包所携带的所述第一数据对象所包含数据的数据量;
或所述设定数据量阈值大于或等于,所述第二网络节点已接收到的来自所述第三网络节点的N3个第二传输层协议数据包所携带的所述第一数据对象所包含数据的数据量平均大小,其中,所述N3为正整数;
或所述设定数据量阈值大于或等于,所述第二网络节点已接收到的来自所述第三网络节点的所有第二传输层协议数据包所携带的所述第一数据对象所包含数据的数据量平均大小;
或所述设定数据量阈值大于或等于,所述第二网络节点已接收到的来自所述第三网络节点的第二传输层协议数据包所携带的所述第一数据对象所包含数据的最大或最小数据量;
或所述设定数据量阈值大于或等于0字节。
3.根据权利要求1所述的方法,其特征在于,所述第一传输层协议为传输控制协议连接或用户数据报协议,其中,所述第二网络节点通过第一网络节点与所述第二网络节点之间的第一传输层协议连接接收所述第一网络节点发送的用于请求第一数据对象的下载请求,包括:第二网络节点通过第一网络节点与所述第二网络节点之间的第一传输控制协议连接或第一传输控制协议连接接收所述第一网络节点发送的用于请求第一数据对象的下载请求。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述第二传输层协议为传输控制协议连接或用户数据报协议,其中,所述建立所述第二网络节点与第三网络节点之间的第二传输层协议连接,包括:建立所述第二网络节点与第三网络节点之间的第二用户数据报协议连接或者第二传输控制协议连接。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述记录所述第一传输层协议连接与所述第二传输层协议连接之间的映射关系包括:生成用于记录所述第一传输层协议连接与所述第二传输层协议连接之间的映射关系的映射关系记录。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述第一数据对象为文件或文件片段。
7.根据权利要求1至3任一项所述的方法,其特征在于,
所述方法还包括:
若所述第一网络节点为所述第一数据对象的起始请求网络节点,则所述第一网络节点在通过所述第一传输层协议连接接收到所述第二网络节点发送的携带有所述第一数据对象包含的数据的N个传输层协议数据包之后,所述第一网络节点利用所述N个传输层协议数据包所携带的所述第一数据对象包含的数据,进行所述第一数据对象的完整性校验。
8.一种数据传输装置,其特征在于,包括:
接收单元,用于接收第一网络节点通过第一传输层协议连接发送的用于请求第一数据对象的下载请求;
第一转发单元,用于若所述数据传输装置本地未存储有所述第一数据对象,则建立所述数据传输装置与第三网络节点之间的第二传输层协议连接,通过第二传输层协议连接向所述第三网络节点发送用于请求所述第一数据对象的下载请求,并记录所述第一传输层协议连接与所述第二传输层协议连接之间的映射关系;
第二转发单元,用于若所述接收单元通过所述第二传输层协议连接接收到所述第三网络节点发送的携带有所述第一数据对象所包含数据的N1个第二传输层协议数据包,并且所述N1个第二传输层协议数据包携带的所述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则在接收到所述第三网络节点发送的携带有所述第一数据对象所包含数据的下一个第二传输层协议数据包之前,则根据记录的所述第一传输层协议连接和所述第二传输层协议连接之间的映射关系,通过与所述第二传输层协议连接具有映射关系的所述第一传输层协议连接,向所述第一网络节点发送第一传输层协议数据包,其中,所述第一传输层协议数据包携带有接收到的所述N1个第二传输层协议数据包携带的所述第一数据对象所包含数据,其中,所述N1为正整数。
9.根据权利要求8所述的数据传输装置,其特征在于,
所述设定数据量阈值大于或等于,所述第二网络节点向所述第一网络节点已发送的任意一个第一传输层协议数据包所携带的所述第一数据对象所包含数据的数据量;
或所述设定数据量阈值大于或等于,所述第二网络节点向所述第一网络节点已发送的N2个第一传输层协议数据包所携带的所述第一数据对象所包含数据的数据量平均大小,其中,所述N2为正整数;
或所述设定数据量阈值大于或等于,所述第二网络节点已向所述第一网络节点发送的第一传输层协议数据所携带的所述第一数据对象所包含数据的最大或最小数据量;
或所述设定数据量阈值大于或等于,所述第二网络节点向所述第一网络节点发送的第一传输层协议数据能够携带的所述第一数据对象所包含数据的最大或最小数据量;
或者,所述设定数据量阈值大于或等于,所述第二网络节点已接收到的来自所述第三网络节点的任意一个第二传输层协议数据包所携带的所述第一数据对象所包含数据的数据量;
或所述设定数据量阈值大于或等于,所述第二网络节点已接收到的来自所述第三网络节点的N3个第二传输层协议数据包所携带的所述第一数据对象所包含数据的数据量平均大小,其中,所述N3为正整数;
或所述设定数据量阈值大于或等于,所述第二网络节点已接收到的来自所述第三网络节点的所有第二传输层协议数据包所携带的所述第一数据对象所包含数据的数据量平均大小;
或所述设定数据量阈值大于或等于,所述第二网络节点已接收到的来自所述第三网络节点的第二传输层协议数据包所携带的所述第一数据对象所包含数据的最大或最小数据量;
或所述设定数据量阈值大于或等于0字节。
10.根据权利要求8或9所述的数据传输装置,其特征在于,所述接收单元具体用于通过第一网络节点与所述数据传输装置之间的第一传输控制协议连接或第一用户数据报协议连接,接收所述第一网络节点发送的用于请求第一数据对象的下载请求。
11.根据权利要求8或9所述的数据传输装置,其特征在于,在所述建立所述数据传输装置与第三网络节点之间的第二传输层协议连接的方面,所述转发单元具体用于建立所述数据传输装置与第三网络节点之间的第二用户数据报协议连接或第二传输控制协议连接。
12.根据权利要求8至9任一项所述的数据传输装置,其特征在于,所述第一数据对象为文件或文件片段。
13.一种数据传输系统,其特征在于,包括:
第一网络节点、第二网络节点和第三网络节点;
所述第一网络节点,用于通过所述第一网络节点与所述第二网络节点之间的第一传输层协议连接,向所述第二网络节点发送的用于请求第一数据对象的下载请求;
所述第二网络节点用于,接收所述第一网络节点通过所述第一传输层协议连接发送的所述用于请求第一数据对象的下载请求;
若所述第二网络节点本地未存储有所述第一数据对象,则建立所述第二网络节点与第三网络节点之间的第二传输层协议连接,通过所述第二传输层协议连接向所述第三网络节点发送用于请求所述第一数据对象的下载请求,并记录所述第一传输层协议连接与所述第二传输层协议连接之间的映射关系;
若通过所述第二传输层协议连接接收到所述第三网络节点发送的携带有所述第一数据对象所包含数据的N1个第二传输层协议数据包,并且所述N1个第二传输层协议数据包携带的所述第一数据对象所包含数据的数据量大于或等于设定数据量阈值,则在接收到所述第三网络节点发送的携带有所述第一数据对象所包含数据的下一个第二传输层协议数据包之前,根据记录的所述第一传输层协议连接和所述第二传输层协议连接之间的映射关系,通过与所述第二传输层协议连接具有映射关系的所述第一传输层协议连接,向所述第一网络节点发送所述第一传输层协议数据包,其中,所述第一传输层协议数据包携带有接收到的所述N1个第二传输层协议数据包携带的所述第一数据对象所包含数据,其中,所述N1为正整数。
14.根据权利要求13所述的数据传输系统,其特征在于,
所述设定数据量阈值大于或等于,所述第二网络节点向所述第一网络节点已发送的任意一个第一传输层协议数据包所携带的所述第一数据对象所包含数据的数据量;
或所述设定数据量阈值大于或等于,所述第二网络节点向所述第一网络节点已发送的N2个第一传输层协议数据包所携带的所述第一数据对象所包含数据的数据量平均大小,其中,所述N2为正整数;
或所述设定数据量阈值大于或等于,所述第二网络节点已向所述第一网络节点发送的第一传输层协议数据所携带的所述第一数据对象所包含数据的最大或最小数据量;
或所述设定数据量阈值大于或等于,所述第二网络节点向所述第一网络节点发送的第一传输层协议数据能够携带的所述第一数据对象所包含数据的最大或最小数据量;
或者,所述设定数据量阈值大于或等于,所述第二网络节点已接收到的来自所述第三网络节点的任意一个第二传输层协议数据包所携带的所述第一数据对象所包含数据的数据量;
或所述设定数据量阈值大于或等于,所述第二网络节点已接收到的来自所述第三网络节点的N3个第二传输层协议数据包所携带的所述第一数据对象所包含数据的数据量平均大小,其中,所述N3为正整数;
或所述设定数据量阈值大于或等于,所述第二网络节点已接收到的来自所述第三网络节点的所有第二传输层协议数据包所携带的所述第一数据对象所包含数据的数据量平均大小;
或所述设定数据量阈值大于或等于,所述第二网络节点已接收到的来自所述第三网络节点的第二传输层协议数据包所携带的所述第一数据对象所包含数据的最大或最小数据量;或所述设定数据量阈值大于或等于0字节。
15.根据权利要求13至14任一项所述的数据传输系统,其特征在于,若所述第一网络节点为所述第一数据对象的起始请求网络节点,则所述第一网络节点还用于,在通过所述第一传输层协议连接,接收到所述第二网络节点发送的携带所述第一数据对象包含的数据的N个传输层协议数据包之后,利用所述N个传输层协议数据包所携带的所述第一数据对象包含的数据进行所述第一数据对象的完整性校验。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310733449.4A CN104753980B (zh) | 2013-12-26 | 2013-12-26 | 数据传输方法及相关装置和通信系统 |
PCT/CN2014/095064 WO2015096801A1 (en) | 2013-12-26 | 2014-12-26 | Method and apparatus for accelerating data transmission in a network communication system |
US14/991,735 US10645145B2 (en) | 2013-12-26 | 2016-01-08 | Method and apparatus for accelerating data transmission in a network communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310733449.4A CN104753980B (zh) | 2013-12-26 | 2013-12-26 | 数据传输方法及相关装置和通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104753980A true CN104753980A (zh) | 2015-07-01 |
CN104753980B CN104753980B (zh) | 2018-04-27 |
Family
ID=53477586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310733449.4A Active CN104753980B (zh) | 2013-12-26 | 2013-12-26 | 数据传输方法及相关装置和通信系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10645145B2 (zh) |
CN (1) | CN104753980B (zh) |
WO (1) | WO2015096801A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889305A (zh) * | 2018-12-29 | 2019-06-14 | 惠州市蓝微电子有限公司 | 通信帧转发方法、通信节点、多节点通信方法及装置 |
CN110120938A (zh) * | 2019-04-02 | 2019-08-13 | 视联动力信息技术股份有限公司 | 一种协转服务器的控制方法和装置 |
CN110825402A (zh) * | 2019-09-26 | 2020-02-21 | 华为技术有限公司 | 一种下载数据包的方法及装置 |
CN111934998A (zh) * | 2020-09-25 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
US11218402B2 (en) | 2020-09-25 | 2022-01-04 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain systems, and message transmission methods and apparatuses |
US11233849B2 (en) | 2020-09-25 | 2022-01-25 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
US11316921B2 (en) | 2020-09-25 | 2022-04-26 | Alipay (Hangzhou) Information Technology Co., Ltd. | Block synchronization methods and apparatuses |
US11336558B2 (en) | 2020-09-25 | 2022-05-17 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
US11388229B2 (en) | 2020-09-25 | 2022-07-12 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for transmitting messages |
WO2022160268A1 (zh) * | 2021-01-29 | 2022-08-04 | 华为技术有限公司 | 一种报文处理的方法以及相关装置 |
US11445016B2 (en) | 2020-09-25 | 2022-09-13 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for transmitting messages |
US11722318B2 (en) | 2020-09-25 | 2023-08-08 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753980B (zh) * | 2013-12-26 | 2018-04-27 | 腾讯科技(深圳)有限公司 | 数据传输方法及相关装置和通信系统 |
CN106550023A (zh) * | 2016-10-31 | 2017-03-29 | 北京百度网讯科技有限公司 | 一种用于为用户提供指定文件分块的方法与装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309282A (zh) * | 2008-07-10 | 2008-11-19 | 华为技术有限公司 | 一种局域网内传输文件的方法、服务器和系统 |
CN101753603A (zh) * | 2008-12-02 | 2010-06-23 | 华为技术有限公司 | 一种p2p系统中提供媒体内容的方法、服务器及系统 |
WO2012116591A1 (zh) * | 2011-02-28 | 2012-09-07 | 中兴通讯股份有限公司 | 一种p2p内容分发的方法和系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030021268A1 (en) * | 1998-04-24 | 2003-01-30 | Johan Gunnar Fredrik Adolfsson | Method and apparatus for interfacing network peripheral devices with a network |
US6532217B1 (en) * | 1998-06-29 | 2003-03-11 | Ip Dynamics, Inc. | System for automatically determining a network address |
US7545752B2 (en) * | 2000-11-10 | 2009-06-09 | Packeteer, Inc. | Application service level mediation and method of using the same |
US6772375B1 (en) * | 2000-12-22 | 2004-08-03 | Network Appliance, Inc. | Auto-detection of limiting factors in a TCP connection |
US8250235B2 (en) * | 2003-05-19 | 2012-08-21 | Verizon Patent And Licensing Inc. | Method and system for providing secure one-way transfer of data |
US8224966B2 (en) * | 2004-08-24 | 2012-07-17 | Cisco Technology, Inc. | Reproxying an unproxied connection |
US7873025B2 (en) * | 2006-02-23 | 2011-01-18 | Cisco Technology, Inc. | Network device that determines application-level network latency by monitoring option values in a transport layer message |
US8079076B2 (en) * | 2006-11-02 | 2011-12-13 | Cisco Technology, Inc. | Detecting stolen authentication cookie attacks |
US8331372B2 (en) * | 2010-04-22 | 2012-12-11 | Robert Paul Morris | Methods, systems, and computer program products for enabling an operative coupling to a network |
CN103200622A (zh) * | 2012-01-09 | 2013-07-10 | 株式会社Ntt都科摩 | 一种通信处理方法、装置及网关设备 |
JP5849786B2 (ja) * | 2012-03-08 | 2016-02-03 | 富士通株式会社 | データブロック出力装置、通信システム、データブロック出力方法、及び通信方法 |
US10075498B2 (en) * | 2012-12-21 | 2018-09-11 | Vmware, Inc. | Systems and methods for transmitting data in real time |
US9935879B2 (en) * | 2012-12-29 | 2018-04-03 | Netronome Systems, Inc. | Efficient intercept of connection-based transport layer connections |
WO2014131153A1 (zh) * | 2013-02-26 | 2014-09-04 | 华为技术有限公司 | 数据传输方法、系统及代理设备 |
CN104753980B (zh) * | 2013-12-26 | 2018-04-27 | 腾讯科技(深圳)有限公司 | 数据传输方法及相关装置和通信系统 |
-
2013
- 2013-12-26 CN CN201310733449.4A patent/CN104753980B/zh active Active
-
2014
- 2014-12-26 WO PCT/CN2014/095064 patent/WO2015096801A1/en active Application Filing
-
2016
- 2016-01-08 US US14/991,735 patent/US10645145B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309282A (zh) * | 2008-07-10 | 2008-11-19 | 华为技术有限公司 | 一种局域网内传输文件的方法、服务器和系统 |
CN101753603A (zh) * | 2008-12-02 | 2010-06-23 | 华为技术有限公司 | 一种p2p系统中提供媒体内容的方法、服务器及系统 |
WO2012116591A1 (zh) * | 2011-02-28 | 2012-09-07 | 中兴通讯股份有限公司 | 一种p2p内容分发的方法和系统 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889305B (zh) * | 2018-12-29 | 2022-05-03 | 惠州市蓝微电子有限公司 | 通信帧转发方法、通信节点、多节点通信方法及装置 |
CN109889305A (zh) * | 2018-12-29 | 2019-06-14 | 惠州市蓝微电子有限公司 | 通信帧转发方法、通信节点、多节点通信方法及装置 |
CN110120938B (zh) * | 2019-04-02 | 2021-11-16 | 视联动力信息技术股份有限公司 | 一种协转服务器的控制方法和装置 |
CN110120938A (zh) * | 2019-04-02 | 2019-08-13 | 视联动力信息技术股份有限公司 | 一种协转服务器的控制方法和装置 |
CN110825402A (zh) * | 2019-09-26 | 2020-02-21 | 华为技术有限公司 | 一种下载数据包的方法及装置 |
US11316921B2 (en) | 2020-09-25 | 2022-04-26 | Alipay (Hangzhou) Information Technology Co., Ltd. | Block synchronization methods and apparatuses |
US11218402B2 (en) | 2020-09-25 | 2022-01-04 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain systems, and message transmission methods and apparatuses |
US11233849B2 (en) | 2020-09-25 | 2022-01-25 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
CN111934998B (zh) * | 2020-09-25 | 2021-02-09 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
CN111934998A (zh) * | 2020-09-25 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
US11336558B2 (en) | 2020-09-25 | 2022-05-17 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
US11388229B2 (en) | 2020-09-25 | 2022-07-12 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for transmitting messages |
US11445016B2 (en) | 2020-09-25 | 2022-09-13 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for transmitting messages |
US11463278B2 (en) | 2020-09-25 | 2022-10-04 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
US11722318B2 (en) | 2020-09-25 | 2023-08-08 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
US11924276B2 (en) | 2020-09-25 | 2024-03-05 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for transmitting messages |
WO2022160268A1 (zh) * | 2021-01-29 | 2022-08-04 | 华为技术有限公司 | 一种报文处理的方法以及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
US10645145B2 (en) | 2020-05-05 |
WO2015096801A1 (en) | 2015-07-02 |
US20160127450A1 (en) | 2016-05-05 |
CN104753980B (zh) | 2018-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104753980A (zh) | 数据传输方法及相关装置和通信系统 | |
US8005957B2 (en) | Network traffic prioritization | |
CN104782133B (zh) | 用于媒体数据递送控制的方法和装置 | |
CN110300115A (zh) | 一种基于多通道的数据传输方法以及相关装置 | |
US8903972B2 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
CN108512758B (zh) | 报文处理方法、控制器以及转发设备 | |
JP7327730B2 (ja) | パケット処理方法および装置 | |
CN107342848A (zh) | 一种自适应码流传输方法、装置及设备 | |
CN104067581A (zh) | 多网关装置、复用线路通信系统、复用线路通信方法以及程序 | |
CN109041119A (zh) | 一种数据传输方法、相关设备及系统 | |
US9848067B2 (en) | Managing sequence values with added headers in computing devices | |
CN109120687B (zh) | 数据包发送方法、装置、系统、设备及存储介质 | |
EP1914933B1 (en) | Method and apparatus for retransmission request reduction in a network | |
Ciubotaru et al. | Advanced Network Programming–Principles and Techniques: Network Application Programming with Java | |
CN109417533A (zh) | 发送数据的方法和转发设备 | |
CN107181695A (zh) | 分布式缓存方法及装置 | |
CN108513701A (zh) | 数据传输方法、设备、机器可读存储介质以及系统 | |
CN106911485A (zh) | 用于可靠组播传输数据的方法及设备 | |
CN112398754B (zh) | 数据传输方法、装置、介质、电子设备及网络接入设备 | |
CN105591879B (zh) | 数据传输方法及装置 | |
CN104702646A (zh) | 数据传输方法及相关装置和通信系统 | |
CN103560937A (zh) | 数据访问方法和入口服务器 | |
CN117082054A (zh) | 一种数据传输方法、装置、系统和介质 | |
CN101958934B (zh) | 一种电子节目指南增量内容同步方法、装置及系统 | |
CN104426866B (zh) | 一种数据传输方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190731 Address after: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403 Co-patentee after: Tencent cloud computing (Beijing) limited liability company Patentee after: Tencent Technology (Shenzhen) Co., Ltd. Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |
|
TR01 | Transfer of patent right |