一种cdn网络中的数据传输方法、网络节点及系统的制作方法

文档序号:7768189阅读:492来源:国知局
专利名称:一种cdn网络中的数据传输方法、网络节点及系统的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种CDN(Content Delivery Network,内容分发网络)中的数据传输方法、网络节点及系统。
背景技术
⑶N是通过在现有的IP传输网络中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决网络拥挤的状况,提高用户访问网络的响应速度。CDN中,当用户点击网站上某个内容的连接后,对应的HTTP (Hyper Text Transfer I^otocol,超文本传输协议)请求被路由到边缘服务器上;边缘服务器检查自身没有缓存终端所请求的内容时,向CDN路由设备查询有保存所请求的内容的区域节点或者中心节点的地址信息;CDN路由设备返回保存有所请求的内容的区域节点或者中心节点的地址信息;边缘服务器通过HTTP协议向保存有所请求的内容的区域节点或者中心节点请求内容; 区域节点或者中心节点向边缘服务器返回所请求的内容。现有技术中,当发起多个HTTP请求时,发送请求和接收响应之间需要严格按照顺序进行,如果前一个HTTP请求的数据没有响应则后续HTTP请求也不会收到响应,因此,不利于数据的传输和带宽的充分利用。

发明内容
本发明的实施例提供了一种CDN网络中的数据传输方法、网络节点及系统,其提高数据的传输效率。一方面,本发明的实施例提供了一种⑶N网络中的数据传输方法,包括接收多个HTTP超文本传输协议请求消息;获取多个所述HTTP请求消息所请求的数据;通过响应消息发送多个所述HTTP请求消息所请求的数据,其中,发送多个所述 HTTP请求消息所请求的数据的先后顺序对应于获取到多个所述HTTP请求消息所请求的数据的先后顺序,所述多个为至少两个。对应的,本发明的实施例提供了一种网络节点,包括请求接收单元,用于接收多个HTTP超文本传输协议请求消息;获取单元,用于获取多个所述HTTP请求消息所请求的数据;传输单元,通过响应消息发送所述HTTP请求消息所请求的数据,其中,发送多个所述HTTP请求消息所请求的数据的先后顺序对应于获取到多个所述HTTP请求消息所请求的数据的先后顺序,所述多个为至少两个。另一方面,本发明的实施例提供了一种数据传输系统,包括第一网络节点和第二网络节点所述第一网络节点,用于接收多个HTTP请求消息,获取所述HTTP请求消息所请求
4的数据,通过响应消息发送所述HTTP请求消息所请求的数据,其中,发送多个所述HTTP请求消息所请求的数据的先后顺序对应于获取到多个所述HTTP请求消息所请求的数据的先后顺序;所述第二网络节点,用于向所述第一网络节点发送所述多个HTTP请求消息,以及接收所述第一网络节点发送的所述HTTP请求消息所请求的数据,所述多个为至少两个。由上述本发明的实施例提供的技术方案可以看出,通过发送多个HTTP请求消息所请求的数据的先后顺序对应于获取到多个HTTP请求消息所请求的数据的先后顺序,实现先获取到的HTTP请求的数据优先传输,可以提高数据的传输效率。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明一实施例CDN网络中的数据传输方法的流程示意图;图2为本发明实施例网络节点的构成示意图一;图3为本发明实施例网络节点的构成示意图二 ;图4为本发明另一实施例CDN网络中的数据传输方法的流程示意图;图5为本发明实施例边缘节点的构成示意图一;图6为本发明实施例边缘节点的构成示意图二 ;图7为本发明实施例数据传输系统的构成示意图;图8为本发明另一实施例CDN网络中的数据传输方法应用场景示意图一;图9为本发明另一实施例CDN网络中的数据传输方法应用场景示意图二。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本发明实施例提供一种⑶N网络中的数据传输方法,包括步骤11、接收多个HTTP请求消息。步骤12、获取多个HTTP请求消息所请求的数据。步骤13、通过响应消息发送多个HTTP请求消息所请求的数据,其中,发送多个 HTTP请求消息所请求的数据的先后顺序对应于获取到多个HTTP请求消息所请求的数据的先后顺序。本发明实施例⑶N网络中的数据传输方法的执行主体可以是⑶N网络中的网络节点,所述网络节点可以包括区域节点或者中心节点。区域节点、中心节点用于存储网络数据。中心节点作为区域节点的上层节点,一个中心节点可以连接多个区域节点。可选的,在边缘节点(可以是边缘服务器)和中心节点之间可以存在多级区域节点,从而满足的业务需要。其中,在本发明的实施例中,如果接收到多个HTTP请求消息,那么在步骤13发送多个HTTP请求消息所请求的数据时,可以是获取到了多个HTTP请求消息的数据,也可以是获取到了其中几个(这里可以是1个,也可以是其中几个)HTTP请求消息所请求的数据。然后,在发送已获取到的数据时,同时获取其他HTTP请求消息所请求的数据。比如共接收到了 5个HTTP请求消息,那么可以在获取到5个HTTP请求消息所请求的数据后发送数据,也可以是在获取在1个(这里也可以是2个、3个或4个)HTTP请求消息所请求的数据后就发送数据。下面,简单说明本发明实施例⑶N网络中的数据传输方法当终端用户点击网站上某个内容的连接后,对应的HTTP请求被路由到边缘服务器上,边缘服务器检查自身没有缓存终端所请求的内容时,向CDN路由设备查询有保存所请求的数据的区域节点或者中心节点的地址信息,CDN路由设备返回保存有所请求的数据的区域节点或者中心节点的地址信息,如IP地址或者域名。其中,区域节点或者中心节点的地址信息包括域名或者IP地址。当地址信息是域名时,边缘服务器通过DNS (Domain Name System,域名系统)解析获取对应的IP地址,在此不作赘述。之后,边缘服务器通过HTTP请求向保存有所请求的内容的区域节点或者中心节点请求数据,从而,进入步骤11区域节点或者中心节点接收边缘服务器发送的多个HTTP请求消息,再进入步骤12区域节点或者中心节点获取多个HTTP请求消息所请求的数据,再进入步骤13区域节点或者中心节点通过响应消息发送HTTP请求消息所请求的数据。由上述本发明的实施例提供的技术方案可以看出,通过发送多个HTTP请求消息所请求的数据的先后顺序对应于获取到多个HTTP请求消息所请求的数据的先后顺序,实现先获取到的HTTP请求的数据优先传输,可以提高数据的传输效率。本发明实施例CDN网络中的数据传输方法,还适用于区域节点和中心节点之间的数据传输,边缘服务器和其他边缘服务器之间数据传输,区域节点和其他区域节点之间数据传输。以下仅仅以边缘服务器与网络节点为例,说明本发明实施例CDN网络中的数据传
输方法。本发明实施例⑶N网络中的数据传输方法,在步骤11和步骤13中,网络节点可以通过TCPCTransmission Control Protocol,传输控制协议)连接接收边缘服务器发送的 HTTP请求消息,以及发送响应消息给边缘服务器。具体的,网络节点可以响应边缘服务器的1条或多条TCP连接请求,与边缘服务器之间建立1条或多条TCP连接。其中,多条TCP连接可以理解为至少两条TCP连接,多个 HTTP请求消息可以理解为至少两个HTTP请求消息。示例性的,在CDN路由设备向边缘服务器返回保存有所请求的数据的网络节点的地址信息后,边缘服务器检查是否已经存在到对应网络节点的地址信息的TCP连接,如果不存在,边缘服务器可以请求与网络节点之间建立多条TCP连接。这样,网络节点响应边缘服务器的多条TCP连接请求,与边缘服务器之间建立多条TCP连接。其中,网络节点与边缘服务器之间的TCP连接的个数,可以根据需要而确定。当边缘服务器与网络节点之间的TCP连接为一条时,HTTP请求消息中携带流索引指示X-Flow-hdex,HTTP请求消息对应的响应消息中携带流索引指示X-Flow-hdex,其中,流索引指示X-Flow-hdex用于标识HTTP请求消息的请求内容。可见,网络节点的响应消息中流索引指示X-Flow-hdex的取值,对应的与边缘服务器的HTTP请求消息中的中流索引指示X-Flow-hdex的取值一致,HTTP请求消息和响应消息不需要严格保序。而且,边缘服务器收到网络节点的响应消息后,根据流索引指示 X-Flow-Index可以关联到HTTP请求消息,从而关联到终端用户上,最终边缘服务器将从网络节点返回的数据交付给终端用户。当边缘服务器与网络节点之间的TCP连接为多条时,HTTP请求消息中携带流索引指示X-FlowHndex和连接索引指示X-Connection-Index,HTTP请求消息对应的响应消息中携带流索引指示X-Flow-hdex和连接索引指示X-Cormection-Index,其中,流索引指示 X-Flow-Index用于标识HTTP请求消息的请求内容,连接索引指示X-Connection-Index用于标识HTTP请求消息使用的TCP连接。可见,在同一条TCP连接上先后发起的各个HTTP请求在连接索引指示 X-Connection-Index的取值上是一致的。因此,HTTP请求消息和响应消息不需要严格保序,HTTP请求消息和响应消息可以不在同一条TCP连接上,实现并行数据的传输,充分利用 TCP带宽。还要说明的是,步骤12中,网络节点获取各个HTTP请求所对应的数据的时延是不一样,例如,网络节点先接收到的HTTP请求,可能晚于后接收到的HTTP请求获取到数据。因此,当边缘服务器与网络节点之间的TCP连接为多条时,本发明实施例⑶N网络中的数据传输方法还可以包括网络节点根据多条TCP连接的当前传输时延,选择传输时延最小的TCP连接发送 HTTP请求消息所请求的数据。其中,网络节点确定TCP连接的传输时延的方式,可以包括传输时延即指需要等待TCP连接空闲来发送数据的等待时延,网络节点可以根据 TCP连接待传输的数据量和TCP连接带宽确定TCP连接的传输时延。具体的,确定TCP连接的传输时延的具体方式可以参照目前通用的现有技术得以理解,在此不作赘述。可见,基于在边缘服务器和网络节点之间存在多条TCP连接,网络节点按照获取各个HTTP请求所对应的数据的先后顺序来响应HTTP请求,且选择当前传输时延最小的TCP 连接传输HTTP请求消息所请求的数据,而且,HTTP请求消息和响应消息均扩展了流索引指示X-FlowHndex和连接索引指示X-Connection-Index,HTTP请求消息和响应消息不需要严格保序,HTTP请求消息和响应消息可以不在同一条TCP连接上。例如,同时有2个终端用户向同一个边缘服务器请求内容,则边缘服务器可以按照Pipeline (管道)方式,无需等待网络节点的响应数据,边缘服务器直接在多个TCP连接上连续发起请求,然后从多个TCP 上异步的接收响应数据,可以实现并行数据的传输,充分利用TCP带宽。本发明实施例⑶N网络中的数据传输方法,还可以包括当TCP连接为多条时,若多条TCP连接的当前传输时延中最小传输时延大于建立新TCP连接的时延,则网络节点建立新的TCP连接;或者,当TCP连接为一条时,若TCP连接的当前传输时延大于建立新TCP连接的时延,则网络节点建立新的TCP连接。
7
具体的,网络节点可以实时检测每条TCP连接的带宽,如果已经获取到了某个 HTTP请求所对应的数据,但是,需要等待之前建立的TCP连接空闲来发送数据时,网络节点根据当前的传输带宽和传输数据预测每条TCP的传输时延,确定出最小传输时延的TCP连接,并根据到边缘服务器RTT (Round-Trip Time,往返时延)预测新建立TCP连接的时延如果最小传输时延小于新建立TCP连接的时延,则维持当前TCP连接个数的稳定, 仍然等待使用之前建立的TCP连接来传输数据。如果最小传输时延大于新建立TCP连接的时延,则网络节点主动向边缘服务器建立TCP连接。因此,网络节点可以主动建立到边缘服务器的TCP连接,提高了⑶N对终端用户请求的响应速度,提升了 QoE (Quality of Experience,体验质量)。其中,网络节点可以通过响应HTTP请求的响应消息主动建立到边缘服务器的TCP 连接,或者通过HTTP POST方式主动建立到边缘服务器的TCP连接。而且,POST消息中携带X-FlowHndex和X-Connection-Index头域,用于与之前的HTTP请求消息相关联。其中,可以设置网络节点到每个边缘服务器最多可以动态建立的TCP连接数量, 从而限制每个网络节点和边缘服务器需要维护的TCP连接数量。本发明实施例⑶N网络中的数据传输方法,还可以包括当多条TCP连接的当前传输时延相同时,根据TCP连接建立的先后顺序,选择先建立的TCP连接发送HTTP请求消息所请求的数据。因此,网络节点优先选择最先建立的TCP连接传输请求的数据,则新建立的TCP连接可以被逐渐回收,从而减少需要维护的TCP连接数目,降低了边缘服务器、网络节点需要同时维护大量TCP连接的开销。本发明实施例⑶N网络中的数据传输方法,还可以包括监测多条TCP连接发送响应消息的数量,当发送响应消息的数量小于预定阈值或没有发送响应消息时,则删除对应的TCP连接。可见,网络节点可以根据TCP连接的实际使用来监测各条TCP连接上的响应消息数量。如果某条TCP连接上的响应消息数小于指定的阈值,或者某条TCP连接上的响应消息数相对于其它的TCP连接上的响应消息数小于指定的阈值,则说明该条TCP连接所经过的网络路径传输状况不好,网络节点可以动态删除该条TCP连接,重新建立新的TCP连接。另外,边缘服务器可能与之前已经建立连接的某个区域节点之间不再有流量,因此,网络节点可以监测已经建立的各条TCP连接上的流量。如果持续指定的时长后到某个 IP地址的各条TCP连接上都没有流量,则边缘服务器删除到该IP地址的所有连接,减少需要维护的TCP连接数量。还要说明的是,本发明实施例⑶N网络中的数据传输方法,对于网络节点而言,如果所要请求的内容已经保存在内存或者硬盘等存储介质中,则网络节点可以从本地直接获取,否则网络节点可以采用和边缘服务器获取内容相似的方式从上层的网络节点获取所请求的内容,在此不作赘述。如图2所示,对应于上述实施例的CDN网络中的数据传输方法,本发明实施例提供一种网络节点,包括请求接收单元21,用于接收多个HTTP超文本传输协议请求消息。
获取单元22,用于获取多个HTTP请求消息所请求的数据。传输单元23,用于获取到HTTP请求消息所请求的数据,则通过响应消息发送HTTP 请求消息所请求的数据,其中,发送多个HTTP请求消息所请求的数据的先后顺序对应于获取到多个HTTP请求消息所请求的数据的先后顺序。其中,多条TCP连接可以理解为至少两条TCP连接,多个HTTP请求消息可以理解为至少两个HTTP请求消息。上述网络节点可以包括区域节点或者中心节点。区域节点、中心节点用于存储网络数据。可选的,在边缘服务器和中心节点之间可以存在多级区域节点,从而满足的业务需要。由上述本发明的实施例提供的技术方案可以看出,通过发送多个HTTP请求消息所请求的数据的先后顺序对应于获取到多个HTTP请求消息所请求的数据的先后顺序,实现先获取到的HTTP请求的数据优先传输,可以提高数据的传输效率。如图3所示,本发明实施例网络节点,还可以包括标识单元31,用于通过TCP传输控制协议连接接收HTTP请求消息以及发送响应消息时,当TCP连接为一条时,HTTP请求消息中携带流索引指示X-Flow-hdex,HTTP请求消息对应的响应消息中携带流索引指示X-Flow-hdex,其中,流索引指示X-Flow-hdex用于标识HTTP请求消息的请求内容;当TCP连接为多条时,HTTP请求消息中携带流索引指示X-Flow-hdex和连接索引指示X-Connection-Index,HTTP请求消息对应的响应消息中携带流索引指示 X-Flow-Index和连接索引指示X-Connectiondndex,其中,流索引指示X-Flow-Index用于标识HTTP请求消息的请求内容,连接索引指示X-Cormection-Index用于标识HTTP请求消息使用的TCP连接。因此,在同一条TCP连接上先后发起的各个HTTP请求在连接索引指示 X-Connection-Index的取值上是一致的。边缘服务器收到网络节点的响应消息后,根据流索引指示X-FlowHndex和连接索引指示X-Connection-Index可以关联到HTTP请求消息, 从而关联到终端用户上,最终边缘服务器将从网络节点返回的数据交付给终端用户。本发明实施例网络节点,还可以包括第一选择单元32,用于当TCP连接为多条时,根据多条TCP连接的当前传输时延, 选择传输时延最小的TCP连接发送HTTP请求消息所请求的数据。综上,由于HTTP请求消息和响应消息均扩展了流索引指示X-Flow-hdex和连接索引指示X-Cormection-Index,HTTP请求消息和响应消息不需要严格保序。例如,同时有 2个终端用户向同一个边缘服务器请求内容,则边缘服务器可以按照Pipeline方式无需等待网络节点的响应数据,无需等待网络节点的响应数据,边缘服务器直接在多个TCP连接上连续发起请求,然后从多个TCP上异步的接收响应数据,可以实现并行数据的传输,充分利用TCP带宽。本发明实施例网络节点,还可以包括第一建立单元33,用于当TCP连接为多条时,多条TCP连接的当前传输时延中最小传输时延大于建立新TCP连接的时延,则建立新的TCP连接;或者,当TCP连接为一条时, TCP连接的当前传输时延大于建立新TCP连接的时延,则建立新的TCP连接。
因此,网络节点可以主动建立到边缘服务器的TCP连接,提高数据的传输速度。网络节点可以通过响应HTTP请求的响应消息主动建立到边缘服务器的TCP连接,或者通过 HTTP POST方式主动建立到边缘服务器的TCP连接。而且,POST消息中携带X-Flow-hdex 和X-Cormection-Index头域,用于与之前的HTTP请求消息相关联。而且,可以设置网络节点到每个边缘服务器最多可以动态建立的TCP连接数量, 从而限制每个网络节点和边缘服务器需要维护的TCP连接数量。本发明实施例网络节点,还可以包括第二选择单元34,用于当多条TCP连接的当前传输时延相同时,根据TCP连接建立的先后顺序,选择先建立的TCP连接发送HTTP请求消息所请求的数据。因此,网络节点优先选择最先建立的TCP连接传输请求的数据,则第一建立单元的TCP连接可以被逐渐回收,从而减少需要维护的TCP连接数目。本发明实施例网络节点,还可以包括监测单元35,用于监测多条TCP连接发送响应消息的数量,当发送响应消息的数量小于预定阈值或没有发送响应消息时,则删除对应的TCP连接。可见,边缘服务器可能与之前已经建立连接的某个区域节点之间不再有流量,因此,网络节点可以监测已经建立的各条TCP连接上的流量。如果持续指定的时长后到某个 IP地址的各条TCP连接上都没有流量,则边缘服务器删除到该IP地址的所有连接,减少需要维护的TCP连接数量。由上述本发明的实施例提供的技术方案可以看出,在边缘服务器和网络节点之间维护多条TCP连接,网络节点收到边缘服务器发送的多个HTTP请求消息后,先获取到哪个 HTTP请求的数据就先在时延最小的TCP连接上传输该HTTP请求的数据,实现并行数据的传输,以及充分利用TCP带宽。如图4所示,本发明实施例提供一种⑶N网络中的数据传输方法,包括步骤41、确定与网络节点之间是否建立有TCP连接。步骤42、确定与网络节点之间没有建立有TCP连接,建立与网络节点之间的多条 TCP连接,通过多条TCP连接发送多个HTTP请求消息。步骤43、通过多条TCP连接接收网络节点发送的响应消息,获取HTTP请求消息的响应数据。其中,本发明实施例CDN网络中的数据传输方法的执行主体可以为边缘节点,边缘节点可以为边缘服务器,多条TCP连接可以理解为至少两条TCP连接,多个HTTP请求消息可以理解为至少两个HTTP请求消息。上述网络节点可以包括区域节点或者中心节点。区域节点、中心节点用于存储网络数据。可选的,在边缘节点和中心节点之间可以存在多级区域节点,从而满足的业务需要。由上述本发明的实施例提供的技术方案可以看出,在边缘节点和网络节点之间维护多条TCP连接,网络节点收到边缘节点发送的多个HTTP请求消息后,实现并行数据的传输,充分利用TCP带宽。具体而言,本发明实施例⑶N网络中的数据传输方法在CDN路由设备向边缘节点返回保存有所请求的数据的区域节点或者中心节点的地址信息(地址信息可以包括域名或者IP地址)后,则进入步骤41。具体而言,步骤41,可以包括边缘节点检查是否已经存在到对应IP地址的TCP连接。如果和对应IP地址之间已经存在TCP连接,则边缘节点直接通过TCP连接发送 HTTP请求消息。如果和对应IP地址之间没有存在TCP连接,进入步骤42。具体而言,步骤42,可以包括边缘节点和对应IP地址之间不存在TCP连接,则边缘节点按照配置要求建立对应的TCP连接数。例如默认配置需要建立2条TCP连接,则边缘节点主动建立到对应IP地址的2条TCP连接。边缘节点可以轮选一条TCP连接,在该TCP连接上向区域节点层或者中心节点提交HTTP请求消息。同时,该HTTP请求消息中携带流索引指示X-Flow-hdex和连接索引指示X-Connection-Index。流索引指示X-Flowdndex,用于标识HTTP请求消息的请求内容, 连接索引指示X-Connection-Index,用于标识HTTP请求消息使用的TCP连接。从而,网络节点可以通过多条TCP选择传输HTTP请求消息所请求的数据。进入步骤43,边缘节点通过多条TCP连接接收网络节点发送的响应消息,获取HTTP请求消息的响应数据。同时,该响应消息中携带流索引指示X-Flow-hdex和连接索引指示 X—Connection—Indexο如果网络节点选择传输时延最小的TCP连接传输HTTP请求消息所请求的数据,则步骤43中,边缘节点通过多条TCP连接中的传输时延最小的TCP连接接收网络节点发送的响应消息,获取HTTP请求消息的响应数据。最后,边缘节点收到网络节点发送的响应消息,根据响应消息的流索引指示 X-Flow-Index和连接索引指示X-Connection-Index可以关联到HTTP请求消息,从而最终关联到终端用户,将从网络节点返回的数据交付给终端用户。由于HTTP请求消息和响应消息均扩展了流索引指示X-Flow-hdex和连接索引指示X-Cormection-Index,HTTP请求消息和响应消息不需要严格保序。例如,同时有2个终端用户向同一个区域节点请求内容,则边缘节点可以按照Pipeline方式无需等待区域节点的响应数据,无需等待网络节点的响应数据,边缘节点直接在多个TCP连接上连续发起请求,然后从多个TCP上异步的接收响应数据,可以实现并行数据的传输,充分利用TCP带觅ο可选的,边缘节点还可以根据热度替换算法决定是否将交付给终端用户的数据缓存在本地,从而边缘节点为后续其他终端用户的相同的业务请求服务。热度替换算法,如 LRU (Least Recently Used,最近最少使用)算法,等等。本发明实施例的⑶N网络中的数据传输方法,还可以包括监测多条TCP连接所接收到的响应消息的数量,当TCP连接的响应消息的数量小于预定阈值时,则删除对应的TCP连接。或者,监测多条TCP连接,当TCP连接上没有流量,则删除对应的TCP连接。具体的,边缘节点根据TCP连接的实际使用来监测从各条TCP连接上所接收到的响应消息数量。如果某条TCP连接上收到的响应消息数小于指定的阈值,或者某条TCP连接上收到的响应消息数相对于其它的TCP连接上收到的响应消息数小于指定的阈值,则说明该条TCP连接所经过的网络路径传输状况不好,边缘节点可以动态删除该条TCP连接,重新建立新的TCP连接。而且,可能在⑶N路由服务器调整路由策略后,边缘节点与之前已经建立连接的某个区域节点之间不再有流量,因此边缘节点需要监测已经建立的各条TCP连接上的流量。如果持续指定的时长后到某个IP地址的各条TCP连接上都没有流量,则边缘节点删除到该IP地址的所有连接,减少需要维护的TCP连接数量。如图5所示,对应上述实施例的CDN网络中的数据传输方法,本发明实施例提供一种边缘节点,包括确定单元51,用于确定与网络节点之间是否建立有TCP连接。第二建立单元52,用于确定与网络节点之间没有建立有TCP连接,建立与网络节点之间的多条TCP连接,通过多条TCP连接发送多个HTTP请求消息。响应接收单元53,用于通过多条TCP连接接收网络节点发送的响应消息,获取 HTTP请求消息的响应数据。本发明实施例边缘节点可以为边缘服务器,多条TCP连接可以理解为至少两条 TCP连接,多个HTTP请求消息可以理解为至少两个HTTP请求消息。上述网络节点可以包括区域节点或者中心节点。区域节点、中心节点用于存储网络数据。可选的,在边缘节点和中心节点之间可以存在多级区域节点,从而满足的业务需要。由上述本发明的实施例提供的技术方案可以看出,在边缘节点和网络节点之间维护多条TCP连接,实现并行数据的传输,以及充分利用TCP带宽。具体而言,响应接收单元53,还可以用于通过多条TCP连接中的传输时延最小的 TCP连接接收网络节点发送的响应消息,获取HTTP请求消息的响应数据。第二建立单元52发送的HTTP请求消息中携带流索引指示X-Flow-hdex和连接索弓丨指不 X-Connection-Index0响应接收单元53接收到的响应消息携带所述流索引指示X-Flow-hdex和连接索弓I指不 X-Connection-Index0其中,所述流索引指示X-Flow-hdex,用于标识HTTP请求消息的请求内容,所述连接索引指示X-Connection-Index,用于标识HTTP请求消息使用的TCP连接。由于HTTP请求消息和响应消息均扩展了流索引指示X-Flow-hdex和连接索引指示X-Cormection-Index,HTTP请求消息和响应消息不需要严格保序。例如,同时有2个终端用户向同一个区域节点请求内容,则边缘节点可以按照Pipeline方式无需等待区域节点的响应数据,无需等待网络节点的响应数据,边缘节点直接在多个TCP连接上连续发起请求,然后从多个TCP上异步的接收响应数据,可以实现并行数据的传输,充分利用TCP带觅ο如图6所示,本发明实施例边缘节点,还可以包括第一监测单元61,用于监测多条TCP连接所接收到的响应消息的数量,当TCP连接的响应消息的数量小于预定阈值时,则删除对应的TCP连接。可见,该条TCP连接所经过的网络路径传输状况不好,边缘节点可以动态删除该条TCP连接,重新建立新的TCP连接。或者,本发明实施例边缘节点,还可以包括第二监测单元62,用于监测多条TCP连接,当TCP连接上没有流量,则删除对应的 TCP连接。可见,边缘节点删除到该IP地址的所有连接,减少需要维护的TCP连接数量。如图7所示,本发明实施例提供一种数据传输系统,包括第一网络节点71和第二网络节点72 第一网络节点71,用于接收多个HTTP请求消息,获取HTTP请求消息所请求的数据,通过响应消息发送HTTP请求消息所请求的数据,其中,发送多个HTTP请求消息所请求的数据的先后顺序对应于获取到多个HTTP请求消息所请求的数据的先后顺序;第二网络节点72,用于向第一网络节点71发送多个HTTP请求消息,以及接收第一网络节点71发送的HTTP请求消息所请求的数据。本发明实施例⑶N系统中,第一网络节点71可以参照上述实施例网络节点得以理解。第二网络节点72如边缘服务器,可以参照上述实施例边缘服务器得以理解。多条TCP 连接可以理解为至少两条TCP连接,多个HTTP请求消息可以理解为至少两个HTTP请求消肩、ο由上述本发明的实施例提供的技术方案可以看出,通过发送多个HTTP请求消息所请求的数据的先后顺序对应于获取到多个HTTP请求消息所请求的数据的先后顺序,实现先获取到的HTTP请求的数据优先传输,可以提高数据的传输效率。如图8所示,边缘服务器81作为媒体交付节点,负责多个终端82的媒体交付任务,边缘服务器81和区域节点83之间维护多条TCP连接。而且,在区域节点83之外还可以存在多级区域节点,从而满足的业务需要。如图9所示,以边缘服务器和区域节点为例,具体说明⑶N网络中的数据传输方法,包括91、当终端用户点击网站上某个内容的连接后,对应的HTTP请求被路由到边缘服务器上。92、边缘服务器根据终端用户请求的URI (Uniform Resource Identifier,通用资源标志符)信息确认本地没有缓存所请求的内容,边缘服务器向CDN路由设备查询有保存所请求的内容的区域节点或者中心节点的地址信息。93、CDN路由服务器向边缘服务器返回保存有所请求内容的区域节点的位置信息, 包括域名或者IP地址。如果返回的是域名,则边缘服务器通过DNS解析也可以获取到对应的IP地址。94、边缘服务器检查是否已经存在到对应IP地址的TCP连接是否存在如果不存在,则按照配置要求建立对应的多条TCP连接;如果和对应的IP地址之间已经存在了配置要求的TCP连接数,则不用再单独建立新的TCP连接。95、边缘服务器选择一条TCP连接,在该TCP连接上向区域节点提交HTTP请求,HTTP请求消息中指示了要请求的内容的URI信息,并且在HTTP请求消息头扩展一个 X-Flow-Index 头域如下X-Flow-Index = “ X-Flow-Index" “ 〃 1 * DIGIT
13
在HTTP请求消息头还扩展一个X-Connection-Index头域如下X-Connection-Index=" X-Connection-Index “ “ “ 1 * DIGIT示例性的,边缘服务器与区域节点之间的HTTP请求消息如下。GET/HTTP/1. 1Accept: ~k / ~kAccept-Language:zh-cnAccept-Encoding:gzip, deflateUser-Agent:Mozilla/4. O(compatible ;MSIE 6. O ;Windows NT 5. 1 ;SVl)Host: www. ABC. comX-Flow-Index = 1234X-Connection-Index = 196、区域节点收到边缘服务器的HTTP请求消息后,根据HTTP请求消息中的URI定位所要请求的内容。区域节点获取到边缘服务器HTTP请求需要的内容后,选择给边缘服务器发送响应数据需要使用的TCP连接。区域节点检查当前到边缘服务器的各条TCP连接的传输带宽和每条TCP连接上目前还需要传输的数据量,根据待传输的数据量和传输带宽可以计算TCP连接的传输时延, 即指需要等待TCP连接空闲来发送数据的等待时延,区域节点选择传输时延最小的TCP连接来传输响应数据。区域节点按照先获取到哪个HTTP请求的数据则先传输对应的数据,以及哪条TCP 连接上的传输时延小则在该TCP连接上传输,实现数据的灵活高效传输,体现数据优先、时延优先。区域节点在响应消息中同样携带X-Flow-Index和X-Connection-Index头域,这两个头域的取值和HTTP请求消息中头域的取值一致。示例性的,响应消息如下HTTP/1. 1200 OKDate:Mon,19 Jul 201007:10:06 GMTExpires :-1Cache-Control:private, max-age = OContent-Type: text/html ; charset = UTF-8Content-Encoding:gzipServer: gwsX-Flow-Index = 1234X-Connection-Index = 1Content-Length :4125Message Body另外,如果所要请求的内容之前已经保存在区域节点内存或者硬盘等存储介质中则区域节点可以从本地直接获取,否则区域节点可以采用和边缘服务器获取内容相似的方式从更上层的区域节点获取所请求的内容。97、边缘服务器收到区域节点的响应消息后,根据X-Flow-hdex和
14X-Connection-Index头域可以关联到HTTP请求消息,从而最终关联到终端用户请求上。最终边缘服务器将从区域节点返回的内容交付给终端用户。可选的,上述步骤96中,区域节点检查当前到边缘服务器的各条TCP连接的传输带宽和每条TCP连接上目前还需要传输的数据量,网络节点根据待传输的数据量和传输带宽计算每条TCP连接的传输时延,确定出最小传输时延的TCP连接,根据到边缘服务器RTT 预测新建立TCP连接的时延如果最小传输时延小于新建立TCP连接的时延,则维持当前TCP连接个数的稳定, 仍然等待使用之前建立的TCP连接来传输数据。如果最小传输时延大于新建立TCP连接的时延,则网络节点主动向边缘服务器建立TCP连接。区域节点可以通过HTTP POST方法传输数据,在POST消息中携带X-Flow-hdex 和X-Cormection-Index头域,用于与之前的HTTP请求消息相关联,POST消息示例如下POST/HTTP/1. 1Accept: ~k / ~kAccept-Language:zh-cnAccept-Encoding:gzip, deflateUser-Agent:Mozilla/4. O(compatible ;MSIE 6. O ;Windows NT 5. 1 ;SVl)Host: www. ABC. comX-Flow-Index = 1234X-Connection-Index = 1Content-Length :4125Message Body由上述本发明的实施例提供的技术方案可以看出,按照先获取到哪个业务请求的数据则先传输对应的数据和那条TCP连接上的传输时延小则在该TCP连接上传输的原则来实现数据的灵活高效传输,体现数据优先、时延优先,实现减少动态删建TCP连接的开销, 避免TCP慢启对传输速率的影响,减少需要维护的TCP连接数,提升每条TCP连接上的复用、并发效率。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种⑶N内容分发网络中的数据传输方法,其特征在于,包括接收多个HTTP超文本传输协议请求消息;获取多个所述HTTP请求消息所请求的数据;通过响应消息发送多个所述HTTP请求消息所请求的数据,其中,发送多个所述HTTP请求消息所请求的数据的先后顺序对应于获取到多个所述HTTP请求消息所请求的数据的先后顺序,所述多个为至少两个。
2.根据权利要求1所述的方法,其特征在于,通过TCP传输控制协议连接接收所述 HTTP请求消息以及发送所述响应消息,所述TCP连接为一条或至少两条;当所述TCP连接为一条时,所述HTTP请求消息中携带流索引指示X-Flow-IndexJ^^i HTTP请求消息对应的响应消息中携带所述流索引指示X-Flow-hdex,其中,所述流索引指示X-Flow-hdex用于标识HTTP请求消息的请求内容;当所述TCP连接为至少两条时,所述HTTP请求消息中携带流索引指示X-Flow-hdex 和连接索引指示X-Connection-Index,所述HTTP请求消息对应的响应消息中携带所述流索引指示X-Flow-hdex和所述连接索引指示X-Cormection-hdex,其中,所述流索引指示X-Flow-hdex用于标识HTTP请求消息的请求内容,所述连接索引指示 X-Connection-Index用于标识HTTP请求消息使用的TCP连接。
3.根据权利要求2所述的方法,其特征在于,当所述TCP连接为至少两条时,所述方法还包括选择传输时延最小的TCP连接发送HTTP请求消息所请求的数据。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括当所述TCP连接为至少两条时,若至少两条所述TCP连接的当前传输时延中最小传输时延大于建立新TCP连接的时延,则建立新的TCP连接;或者,当所述TCP连接为一条时,若所述TCP连接的当前传输时延大于建立新TCP连接的时延时,则建立新的TCP连接。
5.根据权利要求2或4所述的方法,其特征在于,所述方法还包括当至少两条TCP连接的当前传输时延相同时,根据TCP连接建立的先后顺序,选择先建立的TCP连接发送HTTP请求消息所请求的数据。
6.根据权利要求2或4所述的方法,其特征在于,所述方法,还包括监测所述TCP连接发送响应消息的数量,当发送响应消息的数量小于预定阈值或没有发送响应消息时,则删除对应的TCP连接。
7.—种网络节点,其特征在于,包括请求接收单元,用于接收多个HTTP超文本传输协议请求消息;获取单元,用于获取多个所述HTTP请求消息所请求的数据;传输单元,通过响应消息发送多个所述HTTP请求消息所请求的数据,其中,发送多个所述HTTP请求消息所请求的数据的先后顺序对应于获取到多个所述HTTP请求消息所请求的数据的先后顺序,所述多个为至少两个。
8.根据权利要求7所述的网络节点,其特征在于,所述网络节点还包括标识单元,用于通过TCP传输控制协议连接接收所述HTTP请求消息以及发送所述响应消息时,当所述TCP连接为一条时,所述HTTP请求消息中携带流索引指示X-Flow-hdex,所述HTTP请求消息对应的响应消息中携带所述流索引指示X-Flow-hdex,其中,所述流索引指示X-Flow-hdex用于标识HTTP请求消息的请求内容;当所述TCP连接为至少两条时,所述HTTP请求消息中携带流索引指示X-Flow-hdex 和连接索引指示X-Connection-Index,所述HTTP请求消息对应的响应消息中携带所述流索引指示X-Flow-hdex和所述连接索引指示X-Cormection-hdex,其中,所述流索引指示X-Flow-hdex用于标识HTTP请求消息的请求内容,所述连接索引指示 X-Connection-Index用于标识HTTP请求消息使用的TCP连接。
9.根据权利要求8所述的网络节点,其特征在于,所述网络节点还包括第一选择单元,用于当所述TCP连接为至少两条时,根据至少两条所述TCP连接的当前传输时延,选择传输时延最小的TCP连接发送HTTP请求消息所请求的数据。
10.根据权利要求9所述的网络节点,其特征在于,所述网络节点还包括第一建立单元,用于当所述TCP连接为至少两条时,若至少两条所述TCP连接的当前传输时延中最小传输时延大于建立新TCP连接的时延,则建立新的TCP连接;或者,当所述TCP连接为一条时,若所述TCP连接的当前传输时延大于建立新TCP连接的时延,则建立新的TCP连接。
11.根据权利要求8或10所述的网络节点,其特征在于,所述网络节点还包括第二选择单元,用于当至少两条所述TCP连接的当前传输时延相同时,根据TCP连接建立的先后顺序,选择先建立的TCP连接发送HTTP请求消息所请求的数据。
12.根据权利要求8或10所述的网络节点,其特征在于,所述网络节点还包括监测单元,用于监测所述TCP连接发送响应消息的数量,当发送响应消息的数量小于预定阈值或没有发送响应消息时,则删除对应的TCP连接。
13.一种数据传输系统,其特征在于,包括第一网络节点和第二网络节点所述第一网络节点,用于接收多个HTTP请求消息,获取所述HTTP请求消息所请求的数据,通过响应消息发送多个所述HTTP请求消息所请求的数据,其中,发送多个所述HTTP请求消息所请求的数据的先后顺序对应于获取到多个所述HTTP请求消息所请求的数据的先后顺序;所述第二网络节点,用于向所述第一网络节点发送所述多个HTTP请求消息,以及接收所述第一网络节点发送的所述HTTP请求消息所请求的数据,所述多个为至少两个。
14.根据权利要求13所述的系统,其特征在于,所述第一网络节点包括如权利要求 7-12中任一所述的网络节点。
全文摘要
本发明实施例涉及一种CDN网络中的数据传输方法、网络节点及系统,其中,CDN网络中的数据传输方法,包括接收多个HTTP超文本传输协议请求消息;获取多个所述HTTP请求消息所请求的数据;通过响应消息发送多个所述HTTP请求消息所请求的数据,其中,发送多个所述HTTP请求消息所请求的数据的先后顺序对应于获取到多个所述HTTP请求消息所请求的数据的先后顺序。通过发送多个HTTP请求消息所请求的数据的先后顺序对应于获取到多个HTTP请求消息所请求的数据的先后顺序,实现先获取到的HTTP请求的数据优先传输,可以提高数据的传输效率。
文档编号H04L29/06GK102158518SQ20101057956
公开日2011年8月17日 申请日期2010年12月3日 优先权日2010年12月3日
发明者欧雄兵, 陈寒冰 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1