基于内容分发网络CDN分发数据的方法及装置转让专利

申请号 : CN201210485437.X

文献号 : CN103841150B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 许用梁

申请人 : 华为技术有限公司

摘要 :

本发明适用于互联网领域,提供了一种基于内容分发网络CDN分发数据的方法及装置,所述方法包括:网络节点接收用户终端发送的域名解析请求,并获取所述域名解析请求中携带的域名;在所述网络节点的CDN域名列表中查找所述域名;若查找到所述域名,将所述网络节点中CDN模块的IP地址作为所述域名的解析结果返回给用户终端;接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求,并分发与所述数据请求对应的数据至所述用户终端。本发明实施例能有效的提高CDN定位精度,减少用户访问时延,使流出网络节点流量减少,降低骨干网络的资源占用,节约投资成本。

权利要求 :

1.一种基于内容分发网络CDN分发数据的方法,其特征在于,所述方法包括:网络节点接收用户终端发送的域名解析请求,并获取所述域名解析请求中携带的域名;

在所述网络节点的CDN域名列表中查找所述域名;

若查找到所述域名,将所述网络节点中CDN模块的IP地址作为所述域名的解析结果返回给用户终端;

接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求,并分发与所述数据请求对应的数据至所述用户终端。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收由内容服务提供商CSP通过扩展的多协议边界网关协议MP-BGP发布的CDN服务的域名,生成所述CDN域名列表。

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:若没有查找到所述域名,则将所述域名解析为其它IP地址或者发送所述域名给上一级域名解析服务器进行解析。

4.根据权利要求1或2所述的方法,其特征在于,所述接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求,并分发与所述请求对应的数据至所述用户终端包括:接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求;

查找在网络节点中是否保存或控制所述数据;

如果是,则将所述数据发送至用户终端;

否则,向上游节点的CDN模块或CSP请求所述数据,接收并保存上游节点或CSP发送的所述数据,并将所述数据发送到用户终端。

5.根据权利要求1或2所述的方法,其特征在于,所述网络节点为城域网路由器、宽带远程接入服务器BRAS或骨干网路由器。

6.一种基于内容分发网络CDN分发数据的装置,其特征在于,所述装置包括:接收单元:用于接收用户终端发送的域名解析请求,并获取所述域名解析请求中携带的域名;

查找单元:用于在所述装置的CDN域名列表中查找所述域名;

返回单元:用于在查找单元查找到所述域名的情况下,将所述装置中的CDN模块的IP地址作为所述域名的解析结果返回给用户终端;

分发单元:用于接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求,并分发与数据请求对应的数据至所述用户终端。

7.根据权利要求6所述的装置,其特征在于,所述装置还包括:CDN域名列表生成单元:用于接收由内容服务提供商CSP通过扩展的多协议边界网关协议MP-BGP发布的CDN服务的域名,生成所述CDN域名列表。

8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:处理单元:用于在查找单元没有查找到所述域名的情况下,则将所述域名解析为其它IP地址或者发送所述域名给上一级域名解析服务器进行解析。

9.根据权利要求6或7所述的装置,其特征在于,所述分发单元包括:数据接收子单元:用于接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求;

数据查找子单元:用于查找在网络节点中是否保存或控制所述数据;

第一数据发送子单元:用于在网络节点保存或控制所述数据的情况下,将所述数据发送至用户终端;

第二数据发送子单元:用于在网络节点没有保存或控制所述数据的情况下,向上游节点的CDN模块或CSP请求所述数据,接收并保存上游节点或CSP发送的所述数据,并将所述数据发送到用户终端。

10.根据权利要求6所述的装置,其特征在于,所述网络节点为城域网路由器、宽带远程接入服务器BRAS或骨干网路由器。

说明书 :

基于内容分发网络CDN分发数据的方法及装置

技术领域

[0001] 本发明属于互联网领域,尤其涉及一种基于内容分发网络(英文全称为Content Delivery Network,英文简称为CDN)分发数据的方法及装置。

背景技术

[0002] 内容服务提供商(英文全称为Content Service Provider,英文简称为CSP)为互联网用户提供诸如视频、图片、文字等数据服务,宽带用户要看到由CSP的数据中心服务器所提供的数据信息,需要依次经过互联网服务商(英文全称为Internet  Service Provider,英文简称为ISP)的骨干网、城域网和接入网,最终到达用户。随着业务访问量的增多,CSP服务器的网络流量压力也增大,骨干网所占用的带宽资源也越来越大。
[0003] 为降低CSP服务器的网络流量压力,出现了独立的CDN服务提供商。CDN服务提供商在网络边缘部署大量边缘保存服务器(英文全称为cache sever),基于智能的域名服务器(英文全称为Domain Name Server,英文简称为DNS)服务帮助CSP把集中的内容发布到互联网的不同的区域,并通过让用户到靠近的CDN内容源获取所需要的内容。
[0004] 举例说,内容商csp.com利用CDN服务商cdn.com的内容分发系统来分发视频video.mpg(所述视频的网页地址为:http://csp.com/video.mpg)。CDN服务商需要将所述内容映射到自己的CDN服务器特定目录下,上述带分发视频假设映射为http://www.cdn.com/csp.com/video.mpg,其下载流程如下:
[0005] 1.用户终端一首先向互联网服务商ISP1的域名解析服务器DNS1请求解析www.cdn.com的IP地址;
[0006] 2.域名解析服务器DNS1向CDN服务商cdn.com的域名解析服务器DNS-D请求解析www.cdn.com的IP地址;
[0007] 3.域名解析服务器DNS-D根据所述域名解析请求的源IP地址(DNS1的IP地址)来判断用户靠近的CDN服务器CDN-1,向DNS1返回CDN-1的IP地址;
[0008] 4.域名解析服务器DNS1向用户终端一返回www.cdn.com的IP地址(即CDN-1的IP地址),并将所述解析结果保存起来;
[0009] 5.用户终端一向CDN服务器CDN-1请求下载video.mpg视频内容;
[0010] 6.CDN服务器CDN-1发现本地没有video.mpg的备份,向原始内容服务器商csp.com请求下载所述视频;
[0011] 7.原始内容服务器商csp.com向CDN服务器CDN-1发送video.mpg;
[0012] 8.CDN服务器CDN-1将video.mpg发送给用户终端一,并将所述视频保存在本地;
[0013] 9.用户终端二向域名解析服务器DNS1请求解析www.cdn.com的IP地址;
[0014] 10.域名解析服务器DNS1发现www.cdn.com在本地已经有解析结果的保存,直接将所述解析结果(CDN-1的IP地址)返回给用户终端二;
[0015] 11.用户终端二向CDN-1请求下载http://www.cdn.com/csp.co m/video.mpg;
[0016] 12.CDN服务器CDN-1发现所述视频在本地有保存的备份,直接向用户终端二返回所述视频。
[0017] 其中,CDN-D基于ISP的域名解析服务器的IP地址来实现用户到CDN服务器的对应关系,具体实现可以建立ISP提供的域名解析服务器的IP地址段到CDN服务器的映射表可以静态设置,也可以由网络工具动态生成。
[0018] 采用上述方式,基于ISP提供的域名解析服务器的IP地址间接确定用户靠近的CDN服务器,但由于ISP的域名解析服务器经常集中部署,同一ISP的域名解析服务器接受解析请求的用户的覆盖范围较大,同时覆盖一个区域的多个城市,靠ISP提供的DNS推测靠近的CDN服务器无法确定用户具体在哪个城域网,导致CDN服务器定位精度不高,用户访问数据的距离较远,不利于降低访问时延。

发明内容

[0019] 本发明实施例的目的在于提供一种基于内容分发网络CDN分发数据的方法及装置,从而减少访问数据时延,提高数据访问速度。
[0020] 本发明实施例是这样实现的,一种基于内容分发网络CDN分发数据的方法,所述方法包括:
[0021] 网络节点接收用户终端发送的域名解析请求,并获取所述域名解析请求中携带的域名;
[0022] 在所述网络节点的CDN域名列表中查找所述域名;
[0023] 若查找到所述域名,将所述网络节点中CDN模块的IP地址作为所述域名的解析结果返回给用户终端;
[0024] 接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求,并分发与所述数据请求对应的数据至所述用户终端。
[0025] 可选的,所述方法还包括:接收由内容服务提供商CSP通过扩展的多协议边界网关协议MP-BGP发布的由CDN服务的域名,生成所述CDN域名列表。
[0026] 可选的,所述方法还包括:若没有查找到所述域名,则将所述域名解析为其它IP地址或者发送所述域名给上一级域名解析服务器进行解析。
[0027] 可选的,所述接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求,并分发与所述请求对应的数据至所述用户终端包括:接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求;查找在网络节点中是否保存或控制所述数据;如果有,则将所述数据发送至用户终端;否则,向上游节点的CDN模块或CSP请求所述数据,接收并保存上游节点或CSP发送的所述数据,并将所述数据发送到用户终端。
[0028] 可选的,所述网络节点为城域网路由器、宽带远程接入服务器BRAS或骨干网路由器。
[0029] 本发明实施例的另一目的在于提供一种基于内容分发网络CDN分发数据的装置,所述装置包括:
[0030] 接收单元:用于接收用户终端发送的域名解析请求,并获取所述域名解析请求中携带的域名;
[0031] 查找单元:用于在所述装置的CDN域名列表中查找所述域名;
[0032] 返回单元:用于在查找单元查找到所述域名的情况下,将所述装置中的CDN模块的IP地址作为所述域名的解析结果返回给用户终端;
[0033] 分发单元:用于接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求,并分发与数据请求对应的数据至所述用户终端。
[0034] 可选的,所述装置还包括CDN域名列表生成单元:用于接收由内容服务提供商CSP通过扩展的多协议边界网关协议MP-BGP发布的由CDN服务的域名,生成所述CDN域名列表。
[0035] 可选的,所述装置还包括处理单元:用于在查找单元没有查找到所述域名的情况下,则将所述域名解析为其它IP地址或者发送所述域名给上一级域名解析服务器进行解析。
[0036] 可选的,所述分发单元包括:
[0037] 数据接收子单元:用于接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求;
[0038] 数据查找子单元:用于查找在网络节点中是否保存或控制所述数据;
[0039] 第一数据发送子单元:用于在网络节点保存或控制所述数据的情况下,将所述数据发送至用户终端;
[0040] 第二数据发送子单元:用于在网络节点没有保存或控制所述数据的情况下,向上游节点的CDN模块或CSP请求所述数据,接收并保存上游节点或CSP发送的所述数据,并将所述数据发送到用户终端。
[0041] 可选的,所述网络节点为城域网路由器、宽带远程接入服务器BRAS或骨干网路由器。
[0042] 在本发明实施例中,由所述网络节点或其下属节点下挂的用户终端使用网络节点中的CDN域名列表中查找域名解析请求中携带的域名,并在查找到的域名后,将CDN模块的IP地址返回给用户终端,使用户终端可以向所述网络节点中的CDN模块发送数据请求,而不是向位于网络中层次较高的其他设备发送数据请求,这样便可以减少对骨干网络的访问,并且所述网络节点或下属网络节点下挂的用户访问所述CDN模块的距离短,定位精度高,访问延时小,访问效率高。

附图说明

[0043] 图1是本发明第一实施例提供的基于内容分发网络CDN分发数据的实现流程图;
[0044] 图2是本发明第二实施例提供的基于内容分发网络CDN分发数据的实现流程图;
[0045] 图3为本发明第二实施例提供的基于内容分发网络CDN分发数据的实现结构示意图;
[0046] 图4是本发明第三实施例提供的用户获取CDN模块提供的数据的交互流程图;
[0047] 图5是本发明第四实施例提供的基于内容分发网络CDN分发数据的装置框图;
[0048] 图6是本发明第五实施例提供的基于内容分发网络CDN分发数据的装置框图;
[0049] 图7为本发明第六实施例提供的基于内容分发网络CDN分发数据的装置的硬件结构示意图。

具体实施方式

[0050] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0051] 本发明实施例中所述的基于内容分发网络CDN分发数据的方法,包括网络节点接收用户终端发送的域名解析请求,并获取所述域名解析请求中携带的域名;在网络节点的CDN域名列表中查找所述域名;若查找到所述域名,将所述网络节点中的CDN模块的IP地址作为所述域名的解析结果返回给用户终端;接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求,并分发与所述数据请求对应的数据至所述用户终端。
[0052] 由所述网络节点下属节点下挂的用户终端根据网络节点中的CDN域名列表将可由CDN服务的域名解析为所述网络节点中CDN模块的IP地址,确保用户选择最近的CDN模块,使用户可以通过访问所述网络节点中的CDN模块快速访问相应内容,从而减少用户访问时延,提高网络访问效率,而且可使访问流量本地化,解决因宽带提速后骨干网络同比例提升的困难,减少骨干网络的投资成本。
[0053] 实施例一:
[0054] 图1示出了本发明基于内容分发网络(CDN)分发数据的实现流程,详述如下:
[0055] 在步骤S101中,网络节点接收用户终端发送的域名解析请求,并获取所述域名解析请求中携带的域名。
[0056] 具体的,比如用户终端要查看域名为:img.csp.com下的名称为big.jpg的图片,其网页地址为:htttp://img.csp.com/big.jpg,用户终端向网络节点发送携带img.csp.com的域名解析请求。
[0057] 可选地,网络节点可以通过DHCP或PPPoE,在用户终端申请IP地址的过程中通知用户终端将域名解析请求发送给网络节点。
[0058] 在步骤S102中,所述网络节点在所述网络节点的CDN域名列表中查找所述域名。
[0059] 具体的,所述CDN域名列表为由CDN服务的域名表单,也就是说,CDN能为CDN域名列表中的域名提供服务。网络节点接收到域名后,在CDN域名列表查找接收到的域名。如在步骤S101中获取的域名为img.csp.com,则在CDN域名列表中查找是否存在此域名。
[0060] 在步骤S103中,若查找到所述域名,将所述网络节点中CDN模块的IP地址作为所述域名的解析结果返回给用户终端。
[0061] 具体的,若在CDN域名列表中查找到与接收的域名,例如img.csp.com,一致的域名,则表示客户终端所请求查看的信息可能保存于所述网络节点中或者可以由所述网络节点通过CDN来获取。在这种情况下,所述网络节点中将所述域名解析为所述网络节点中CDN模块的IP地址,并将所述IP地址返回给用户终端。
[0062] 在步骤S104中,接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求,并分发与数据请求对应的数据至所述用户终端。
[0063] 具体的,用户终端接收到网络节点发送的解析结果,其中包含有所述网络节点中的CDN模块的IP地址。用户根据HTTP或者RTSP/RTP协议向网络节点中的CDN模块请求数据,例如img.csp.com下的big.jpg内容。网络节点查看本地是否有被请求的数据的备份,如果有,则将其发送给用户终端;如果没有,则向上游节点的CDN模块或CSP请求下发数据信息,接收并保存上游节点或CSP发送的数据信息,并将其发送到用户终端。这样,用户终端即接收由网络节点发送的被请求数据,完成对所述数据的获取。
[0064] 本实施例中的网络节点中设置有CDN模块,网络节点判断由用户终端所发送的域名解析请求中的域名是否存在于所述CDN域名列表中,如果是则将所述域名解析为所述网络节点的CDN模块的IP地址,用户终端重新对所述网络节点中的CDN模块发起数据请求,所述CDN模块检查网络节点是否保存或控制被请求的数据。如果有,则将被请求的数据发送至用户终端,这样便可以减少对骨干网络传输的访问,并且所述网络节点或下属网络节点下挂的用户访问所述CDN模块的距离短,定位精度高,访问延时小,访问效率高。如果没有则向上游节点的CDN模块请求数据或向CSP请求数据,并接收并保存被请求数据,将其发送至用户终端。这样可以在其它用户终端也请求所述数据的情况下,直接由网络节点将数据发送至用户终端,也可以减少数据在骨干网络传输的次数,提高对被请求数据的访问效率。
[0065] 实施例二:
[0066] 图2示出了本发明基于内容分发网络(CDN)分发数据的实现流程,详述如下:
[0067] 在步骤S201中,网络节点接收由内容服务提供商(CSP)通过扩展的多协议边界网关协议(英文全称为Multiprotocol-Border Gateway Protocol,英文简称为MP-BGP)发布的由CDN服务的域名,生成CDN域名列表。
[0068] 具体的,为避免CSP中由CDN服务的域名在各网络节点中的域名解析服务器上做人工配置,建立CDN模块的IP地址与域名间的映射关系(人工配置的话,会使得工作量大,配置过程烦琐,而且在运营商IP数据进行更新后,需要人工进行维护,相应的维护工作量大),通过MP-BGP扩展支持域名路由,通过路由协议把需要内置CDN服务的域名从CSP发布到ISP网络,此步骤仅为一种较佳的实施方式,当然并不局限于此种方式,域名列表也可以事先存储于网络节点中的路由器中。
[0069] 在平时的维护工作中,如果发现数据有所更新变动,则由内容路由扩展的MP-BGP协议将数据内容更新发布到网络。
[0070] 所述域名的的引入可通过外部MP-BGP(MP-eBGP),如果ISP希望通过透明保存(Transparent Caching,TC)某个域名下的内容,则可以通过内部MP-BGP(MP-iBGP)引入所述域名。
[0071] CSP将由CDN服务的域名发布到ISP网络后,网络节点通过相应的路由协议将将由CDN服务的域名同步到网络节点的CDN模块,生成CDN域名列表,即由CDN服务的域名的列表。
[0072] 在步骤S202中,网络节点接收用户终端发送的域名解析请求,并获取所述域名解析请求中携带的域名。
[0073] 在步骤S203中,在所述网络节点的CDN域名列表中查找是否存在所述域名。若是,则转向步骤S204,否则转向步骤S205。
[0074] 在步骤S204中,将所述网络节点中CDN模块的IP地址作为所述域名的解析结果返回给用户终端。
[0075] 在步骤S205中,将所述域名解析为其它IP地址或者发送所述域名给上一级域名解析服务器进行解析。
[0076] 具体的,网络节点获取域名img.csp.com后,在网络节点中的CDN域名列表查找是否存在所述域名。如果CDN域名列表中也存在相应的的域名img.csp.com,则说明所述域名可以由CDN服务,所述域名下的数据可以由CDN来提供。网络节点将所述域名解析为网络节点中的CDN模块的IP地址,并将所述IP地址返回给用户终端。如果网络节点中的CDN模块的域名列表中不存在相同的域名img.csp.com,则将所述域名解析为其它IP地址或者发送所述域名给上一级域名解析服务器进行解析。
[0077] 此处,可以将所述网络节点中的域名解析服务器设置为只支持所述网络节点中的CDN模块中CDN域名列表的解析,将其它域名的解析交给ISP提供的域名解析服务器解析,这种设置的好处在于,可以简化网络节点中设置域名解析服务器的实现。
[0078] 在步骤S206中,接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求;
[0079] 具体的,用户根据网络节点中域名解析服务器解析的IP地址,用户可以通过HTTP或者RTSP/RTP向所述IP地址所对应的所述网络节点的CDN模块发起请求访问域名img.csp.com下的big.jpg的请求。
[0080] 在步骤S207中,查找网络节点是否保存或控制所述数据信息,如果有,则转至步骤S208,否则转至步骤S209。
[0081] 网络节点是否控制所述数据信息可以被理解为在被网络节点控制的存储设备中是否保存有所述数据信息。如果保存有所述数据信息,网络节点可以快速地读取或调用被保存的数据信息。
[0082] 在步骤S208中,将所述数据发送至用户终端。
[0083] 在步骤S209中,向上游节点的CDN模块或CSP请求所述数据,接收并保存上游节点或CSP发送的数据信息,并将所述数据发送到用户终端。
[0084] 具体的,网络节点的CDN模块接收到访问请求后,查找本地是否有big.jpg,如果有,则将big.jpg的数据信息发送至用户终端,如果没有,则向上一级的CDN模块请求big.jpg的数据信息,如果上级的CDN模块中没有所述数据,则向更上级的网络节点的CDN模块请求,或者向CSP请求。所述网络节点接收保存big.jpg的数据信息,并将其发送至用户终端。
[0085] 本实施例中,通过扩展的MP-BGP将由CDN服务的域名发布到网络,并且同步到网络节点中的CDN模块块,可自动完成CDN模块的IP地址与域名的映射发布到网络节点中的CDN模块的维护工作,免去手工维护的工作量。
[0086] 图3示出了本发明实施例基于内容分发网络CDN分发数据的实现结构图,以上述访问img.jpg为例具体说明如下:
[0087] 在箭头标号1-4中(在图3中,箭头标号4对应的箭头被省略),通过扩展的多协议边界网关协议MP-BGP将由CDN服务的域名img.csp.com通过ISP骨干网发布到城域网路由器R2和R1(此为较佳实施方式,也可以为宽带远程接入服务器BRAS或骨干网路由器等),路由器R2和R1基于该信息生成CDN域名列表,设置内置的CDN模块为img.csp.com域名提供服务。
[0088] 在箭头4-5中,用户终端要访问img.csp.com中的内容,首先请求路由器R1解析域名img.csp.com,在CDN域名列表中查找到该域名后,将该域名解析为R1中的CDN模块的IP地址。
[0089] 在箭头7-10中,用户以HTTP或者RTSP/RTP向R1请求img.csp.com下的big.jpg,路由器R1内置的CDN模块发现本地没有保存big.jpg,向记录的上游节点路由器R2请求big.jpg。R2将big.jpg发送至R1,R1保存big.jpg,并将big.jpg发送给用户终端。
[0090] 类似的,如果上游结点路由器R2如果本地没有的话向更上游的内容提供服务商S1请求数据,路由器R2保存big.jpg并将big.jpg发送给路由器R1,R1保存big.jpg并将big.jpg发送给用户终端。由此可见,路由器R1和R2均为该big.jpg建立数据备份,如果所述用户或者其它用户在所述备份数据过期前再次请求访问,路由器R1用本地备份数据满足用户要求,减少上游节点路由器R2和内容服务商S1的服务请求量。
[0091] 实施例三:
[0092] 图4为用户获取由CDN模块提供的数据的交互流程图。在本发明实施例中,网络节点为集成CDN功能的城域网路由器,整个系统包括用户终端、集成CDN功能的城域网路由器、CSP服务器,具体实现详述如下:
[0093] 41、内容服务提供商CSP通过扩展的多协议边界网关协议MP-BGP将由CDN服务的域名img.csp.com发布到城域网路由器。
[0094] 具体的,CSP需要通过ISP的CDN系统发布CSP服务器上的内容big.jpg,所述CSP服务器已连接到ISP的骨干网络。所述内容的访问用户终端在ISP的一个城域网中,用户终端需要经过城域网路由器节点才能达到所述ISP骨干网。通过在CSP服务器与ISP骨干网节点之间、ISP城域网路由器之间运行域名路由扩展的MP-BGP协议,将由CDN服务的域名发布到城域网路由器节点中的CDN模块中。
[0095] 42、城域网路由器将img.csp.com解析为城域网路由器中CDN模块的IP地址。
[0096] 43、用户终端向城域网路由器发起访问域名为img.csp.com下的内容big.jpg的请求。
[0097] 44、城域网路由器中的域名解析服务器将域名解析为城域网路由器中CDN模块的IP地址。
[0098] 具体的,由于在42中已经设置了由城域网路由器将域名为img.csp.com解析所述城域网路由器中的CDN模块的IP地址,故对于所述域名,可由城域网路由器中判断其为由CDN服务的域名,并将其解析为所述路由器中CDN模块的IP地址。
[0099] 45、城域网路由器将解析的CDN模块的IP地址发送给用户终端。
[0100] 46、用户终端根据IP地址向城域网路由器中的CDN模块请求数据。
[0101] 用户根据接收到的IP地址,用HTTP或者RTSP/RTP协议向城域网路由器请求img.csp.com下的big.jpg。
[0102] 47、城域网路由器中的CDN模块判断本地是否有big.jpg,如果没有,则向上一级路由器的CDN模块或者CSP请求数据,接收上一级路由器的CDN模块或者CSP下发的数据并保存。
[0103] 具体的,城域网路由器的CDN模块接收到访问请求,查找本地是否有big.jpg内容的备份,如果有,则将所述数据信息发送至用户终端,如果没有,则向上一级路由器的CDN模块请求所述数据,如果上级的路由器的CDN模块中没有所述数据,则向更上上级的路由器的CDN请求,或者向CSP中请求所述数据,直到CDN模块存在所述数据或者由CSP将数据发送至所述城域网路由器的CDN模块,所述网络节点的CDN模块接收并保存数据信息。
[0104] 48、城域网路由器将数据发送至用户终端。
[0105] 根据本实施例可知,通过扩展路由域名的MP-BGP协议,可以将由CDN服务的域名自动发布到城域网的域名解析服务器和CDN模块中,并且使所述城域网路由器节点或其下属节点下的用户都使用所述城域网路由器的域名解析服务器解析,可有效的减少出城流量的比率,降低骨干网络的资源占用,降低网络投资成本,而且使用户更加靠近CDN,访问延时更小。
[0106] 实施例四:
[0107] 图5为本发明实施例提供的基于内容分发网络CDN分发数据的装置框图。如图5所述的装置能够实现本发明实施例一、实施例二或实施例三中的网络节点的部分或全部功能。所述装置包括接收单元501、查找单元502、返回单元503和分发单元504,详述如下。
[0108] 接收单元501:用于接收用户终端发送的域名解析请求,并获取所述域名解析请求中携带的域名。
[0109] 用户在访问某服务器的内容时,通常发送的地址请求中包含所述内容在所述服务器的完整路径,并且包含所述内容的域名,系统在接收到所述地址请求时,可得到其域名。
[0110] 查找单元502:用于在所述装置的CDN域名列表中查找所述域名。
[0111] 具体实现过程中,此处所定义的在同一网络节点,是指路由器内置CDN/DNS功能,且路由器和CDN、DNS功能之间建立紧耦合关系,具体实现可以是所有功能在一个机框内,也可以通过电或者光链路互相连接的多个机框。
[0112] 此网络节点中的域名解析服务器和CDN模块,已经由实施例2或3所述的路由扩展协议MP-BGP同步了由CSP发布的域名,当然也可以通过其它方式配置。
[0113] 返回单元503:用于若查找到所述域名,将CDN模块的IP地址作为所述域名的解析结果返回给用户终端。
[0114] 在网络节点中CDN模块中存储的域名列表中查找是否存在所述域名,若存在所述域名,则由网络节点中的域名解析服务器将所述域名解析为网络节点中CDN的IP地址。
[0115] 分发单元504:用于接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求,并分发与数据请求对应的数据至所述用户终端。
[0116] 用户根据接收到的IP地址信息,用HTTP或者RTSP/RTP协议向网络节点中的CDN模块发起访问请求,CDN模块接收请求,并将所请求的数据信息发送至用户终端。
[0117] 采用本实施例与实施例一相对应,所述的基于内容分发网络CDN分发数据的装置,可以使CDN定位效率更精确,减少用户访问时延。
[0118] 实施例五:
[0119] 图6为本发明实施例提供的基于内容分发网络CDN分发数据的又一装置框图。如图6所述的装置能够实现实施例一、实施例二或实施例三中的网络节点的部分或全部功能。所述装置包括接收单元601、查找单元602、返回单元603、分发单元604、接收同步单元605,详述如下。
[0120] 接收单元601:用于接收用户终端发送的域名解析请求,并获取所述域名解析请求中携带的域名。
[0121] 查找单元602:用于在所述装置的CDN域名列表中查找所述域名。
[0122] 返回单元603:若查找到所述域名,用于将CDN模块的IP地址作为所述域名的解析结果返回给用户终端。
[0123] 分发单元604:用于在查找单元查找到所述域名的情况下,将所述装置中的CDN模块的IP地址的数据请求,并分发与数据请求对应的数据至所述用户终端。
[0124] 本实施例中还包括CDN域名列表生成单元605:用于接收由内容服务提供商CSP通过扩展的多协议边界网关协议MP-BGP发布的由CDN服务的域名,生成所述CDN域名列表。为避免CSP中由CDN服务的域名在各网络节点中的域名解析服务器上做人工配置,建立CDN模块IP地址与域名间的映射关系,通过MP-BGP扩展支持支持域名路由,通过路由扩展协议把需要内置CDN服务的域名从CSP发布到ISP网络。在平时的维护工作中,如果发现数据有所更新变动,由内容路由扩展的MP-BGP协议将数据内容更新发布到网络。
[0125] 另外,本实施例还包括处理单元606:用于在查找单元中,若没有查找到所述域名的情况下,则将所述域名解析为其它IP地址或者发送所述域名给上一级域名解析服务器进行解析。
[0126] 上述分发单元604具体包括:
[0127] 数据接收子单元6041:用于接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求;
[0128] 数据查找子单元6042:用于查找在网络节点中是否保存有或控制所述数据;
[0129] 第一数据发送子单元6043:用于在网络节点保存或控制所述数据的情况下,将所述数据发送至用户终端;
[0130] 第二数据发送子单元6044:用于在网络节点没有保存或控制所述数据的情况下,向上游节点的CDN模块或CSP请求所述数据,接收并保存上游节点或CSP发送的所述数据,并将所述数据发送到用户终端。
[0131] 此处关于分发单元的具体内容与实施二中的方法步骤相对应,其中所述网络节点包括城域网路由器、宽带远程接入服务器BRAS或骨干网路由器。
[0132] 本实施例所述基于内容分发网络CDN分发数据的装置,通过路由扩展协议,可以自动实现域名与网络节点中的CDN模块和域名解析服务器同步,减少工作人员进行同步和维护的工作量。
[0133] 应当理解,上述实施例中所述的单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0134] 实施例六:
[0135] 图7为本发明实施例所提供的基于内容分发网络CDN分发数据的装置的硬件结构示意图详述如下:
[0136] 本发明实施例六所述的基于内容分发网络CDN分发数据的装置,包括处理器701、接收接口702、发送接口703和存储器704,用来实现上述本发明实施例一、实施例二、实施例三中网络节点的部分或全部功能,对其描述如下。
[0137] 接收接口702接收用户终端发送的域名解析请求,处理器701获取所述域名解析请求中携带的域名,并由处理器701在存储器704中的CDN域名列表中查找所述域名,在查找到所述域名的情况下,处理器701将存储器中存储的CDN模块的IP地址作为所述域名的解析结果,由发送接口703将其返回给用户终端,在接收接口接收到用户终端发送的目的地址为所述CDN模块的IP地址的数据请求时,由处理器701控制发送接口703分发与所述数据请求对应的数据至所述用户终端。
[0138] 作为本实施例的一种优选的方式,接收接口702接收由内容服务提供商CSP通过扩展的多协议边界网关协议MP-BGP发布的由CDN服务的域名,由处理器701根据其接收的内容生成所述CDN域名列表。
[0139] 另外,若控制器在没有查找到所述域名的情况下,处理器701将所述域名解析为其它IP地址或者由发送接口703发送所述域名给上一级域名解析服务器进行解析。
[0140] 进一步的,在上述接收接口接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求,由处理器701控制发送接口703分发与所述请求对应的数据至所述用户终端包括:
[0141] 接收接口702接收用户终端发送的目的地址为所述CDN模块的IP地址的数据请求;
[0142] 处理器701查找在网络节点中的存储器704中是否保存或控制所述数据;
[0143] 如果保存或控制所述数据,处理器701将所述数据发送至用户终端;
[0144] 如果没有保存或控制所述数据,控制器通过发送接口向上游节点的CDN模块或CSP请求所述数据,由接收接口702接收并由存储器704保存上游节点或CSP发送的所述数据,并由发送接口703将所述数据发送到用户终端。
[0145] 应当理解,本领域一般技术人员实现本发明所述基于内容分发网络CDN分发数据的硬件装置包括但不局限于上述硬件结构。
[0146] 在本发明实施例中,通过在网络节点中集成CDN和DNS功能,由其中的域名解析服务器将域名的IP地址解析为所述CDN模块的IP地址,可以有效的使流量本地化,解决宽带提速所带来的骨干网同比例提升的成本问题,而且用户可以就近访问CDN服务,减少用户访问时延。同时,通过扩展的路由协议将域名发布到网络节点的CDN模块和域名解析服务器中,可减少维护成本。另外,本发明实施例并不局限于网络节点为城域网,可以将其应用于ISP的骨干网,或者应用于城域网的更下一级网络当中。
[0147] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。