一种内容分布网络中的数据访问方法、装置和系统的制作方法

文档序号:9263042阅读:424来源:国知局
一种内容分布网络中的数据访问方法、装置和系统的制作方法
【技术领域】
[0001 ] 本发明涉及通信技术领域,具体涉及一种内容分布网络(⑶N, ContentDistribut1n Network)中的数据访问方法、装置和系统。
【背景技术】
[0002]内容分发网络(O)N, Content Distribut1n Network),主要是通过在网络各处放置⑶N节点,从而在现有的互联网基础之上构成一层智能虚拟网络,以便尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快和更稳定。CDN系统能够实时地根据网络流量和各CDN节点的连接、负载状况以及到用户的距离和响应时间等综合信息,将用户的请求重新导向离用户最近的CDN节点上,使用户可就近取得所需内容,提高用户访问网站的响应速度。其中,CDN节点一般为缓存服务器,也称作代理缓存,它位于网络的边缘,距用户仅有“一跳”之遥,同时,CDN节点也是内容提供商的源服务器的一个透明镜像。
[0003]在现有技术中,当终端访问CDN节点时,如果该CDN节点中缓存有要被访问的数据,则称为“命中”,此时CDN节点可以将该需要被访问的数据返回给终端,而如果该CDN节点中没有缓存有要被访问的数据,则表明没有命中,此时CDN节点需要将终端的访问请求发送给源数据服务器,从源数据服务器中获取要被访问的数据,并将该要被访问的数据返回给终端。
[0004]在对现有技术的研究和实践过程中,本发明的发明人发现,现有的CDN系统命中率并不高,所以CDN节点需要与源数据服务器频繁进行通信,导致源数据服务器负载增加,而且,该CDN系统的容灾性也较弱,大大影响了整个CDN系统的性能。

【发明内容】

[0005]本发明实施例提供一种CDN中的数据访问方法、装置和系统,可以减少CDN节点与源数据服务器之间的通信次数,降低源数据服务器负载,以及增强CDN系统的容灾性,提高⑶N系统的性能。
[0006]本发明实施例提供一种⑶N中的数据访问方法,所述⑶N包括第一层⑶N节点和第二层⑶N节点,所述方法包括:
[0007]第一层CDN节点接收终端发送的用户请求,所述用户请求指示需要访问的数据;
[0008]当所述第一层CDN节点根据所述用户请求确定本地存在需要访问的数据时,所述第一层CDN节点向终端返回所述需要访问的数据;
[0009]当所述第一层CDN节点根据所述用户请求确定本地不存在需要访问的数据时,所述第一层CDN节点向第二层CDN节点发送所述用户请求,以获取所述需要访问的数据并返回给终端。
[0010]本发明实施例还提供另一种CDN中的数据访问方法,其特征在于,所述CDN包括第一层⑶N节点和第二层⑶N节点,所述方法包括:
[0011]第二层CDN节点接收第一层CDN节点发送的用户请求,用户请求指示需要访问的数据,所述用户请求由第一层CDN节点再确定本地不存在所述需要访问的数据时发送;
[0012]当所述第二层CDN节点根据所述用户请求确定本地存在需要访问的数据时,所述第二层CDN节点向第一层CDN节点返回所述需要访问的数据;
[0013]当所述第二层CDN节点根据所述用户请求确定本地不存在需要访问的数据时,所述第二层CDN节点根据所述用户请求从源数据中心中获取需要访问的数据,并将获取到的需要访问的数据发送给所述第一层CDN节点。
[0014]相应的,本发明实施例还提供一种⑶N节点,作为⑶N的第一层⑶N节点,包括:
[0015]接收单元,用于接收终端发送的用户请求,所述用户请求指示需要访问的数据;
[0016]第一发送单元,用于在根据所述用户请求确定本地存在需要访问的数据时,向终端返回所述需要访问的数据;
[0017]第二发送单元,用于在根据所述用户请求确定本地不存在需要访问的数据时,向第二层CDN节点发送所述用户请求,以获取所述需要访问的数据并返回给终端。
[0018]相应的,本发明实施例还提供一种⑶N节点,作为⑶N的第二层⑶N节点,包括:
[0019]接收单元,用于接收第一层CDN节点发送的用户请求,用户请求指示需要访问的数据,所述用户请求由第一层CDN节点再确定本地不存在所述需要访问的数据时发送;
[0020]第一发送单元,用于在根据所述用户请求确定本地存在需要访问的数据时,向所述第一层CDN节点返回所述需要访问的数据;
[0021]第二发送单元,用于在根据所述用户请求确定本地不存在需要访问的数据时,根据所述用户请求从源数据服务器中获取需要访问的数据,并将获取到的需要访问的数据发送给所述第一层⑶N节点。
[0022]此外,本发明实施例还提供一种CDN系统,其特征在于,包括本发明实施例提供的任一种第一层⑶N节点和第二层⑶N节点。
[0023]本发明实施例的⑶N可以包括第一层⑶N节点和第二层⑶N节点,其中,当用户请求在第一层CDN节点中无法命中时,第一层CDN节点并不直接将该用户请求发送给源数据中心,而是转发给第二层CDN节点,在第二层CDN节点也无法命中时,才将该用户请求发送给源数据中心以获取需要访问的数据,可见,在该方案中,可以大大减少源数据中心的数据流量,由于源数据中心的流量成本是CDN节点的多倍,因此,可以大大降低成本,而且,由于相对于现有方案而言,增加了第二层CDN节点,因此,可以在提高用户请求的命中率的同时,增加CDN节点的回源选择,从而大大增强了系统的容灾性,减少运维成本。
【附图说明】
[0024]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]图1是本发明实施例提供的CDN中的数据访问方法的流程图;
[0026]图2是本发明实施例提供的CDN中的数据访问方法的另一流程图;
[0027]图3a是本发明实施例提供的CDN系统的场景示意图
[0028]图3b是本发明实施例提供的CDN中的数据访问方法的又一流程图;
[0029]图4是本发明实施例提供CDN中的数据访问方法的又一流程图;
[0030]图5是本发明实施例提供的CDN节点的结构示意图;
[0031]图6是本发明实施例提供的CDN节点的另一结构示意图;
[0032]图7是本发明实施例提供的CDN节点的又一结构示意图;
[0033]图8是本发明实施例提供的方案与现有单CDN方案的成本对比示意图。
【具体实施方式】
[0034]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035]本发明实施例提供一种CDN中的数据访问方法、装置和系统。以下分别进行详细说明。
[0036]在本发明实施例中,⑶N网络可以包括两层CND节点,其中,第一层部署机器数量少但地域分布广泛的CDN节点,方便用户的接入,为了描述方便,在本发明实施例中,将这一层⑶N节点称为第一层⑶N节点;第二层部署机器数量多的⑶N节点,这一层的⑶N节点可以处理第一层CDN节点的回源请求,即除了第一层CDN节点转发过来的用户请求,为了描述方便,在本发明实施例中,将这一层CDN节点称为第二层CDN节点,其中,第一层CDN节点和第二层CDN节点均可以支持数据对用户的直出,即均可以直接接收终端发送的用户请求,并直接提供用户所需要访问的数据给终端。
[0037]基于该⑶N结构,以下将进行详细说明。
[0038]实施例一、
[0039]本实施例将从第一层⑶N节点的角度进行描述。
[0040]一种⑶N中的数据访问方法,包括:第一层⑶N节点接收终端发送的用户请求,其中,该用户请求指示需要访问的数据;当该第一层CDN节点根据该用户请求确定本地存在需要访问的数据时,向终端返回该需要访问的数据;当该第一层CDN节点根据该用户请求确定本地不存在需要访问的数据时,向第二层CDN节点发送该用户请求,以获取该需要访问的数据并返回给终端。
[0041]如图1所示,具体流程可以如下:
[0042]101、第一层CDN节点接收终端发送的用户请求,其中,该用户请求指示需要访问的数据。
[0043]102、该第一层CDN节点根据该用户请求确定本地是否存在需要访问的数据,若存在,则执行步骤103,若不存在,则执行步骤104。
[0044]即该第一层CDN节点确定该用户请求是否可以命中,若可以,则执行步骤103,若不可以,则执行步骤104。
[0045]103、当该第一层CDN节点根据该用户请求确定本地存在需要访问的数据时,该第一层CDN节点向终端返回该需要访问的数据。
[0046]例如,该第一层CDN节点可以根据该用户请求从本地获取该需要访问的数据,然后将该需要访问的数据发送给相应的终端。
[0047]104、当该第一层CDN节点根据该用户请求确定本地不存在需要访问的数据时,该第一层CDN节点向第二层CDN节点发送该用户请求,以获取该需要访问的数据并返回给终端。例如,具体可以如下:
[0048]第一层⑶N节点向第二层⑶N节点发送该用户请求,接收第二层⑶N节点根据该用户请求返回的用户所需要访问的数据,将该需要访问的数据发送给终端。
[0049]其中,第二层CDN节点在获取该需要访问的数据时,可以先确定本地是否存在相应的数据,如果存在,则直接从本地获取该需要访问的数据,并提供给第一层CDN节点,否贝U,若不存在,则将用户请求发送给源数据中心,从源数据中心获取该需要访问的数据,并提供给第一层CDN节点,关于这一点,实施例二中将会进行详细说明,在此不再赘述。
[0050]可选的,为了提高系统的容灾性,可以为第一层CDN节点提供多种回源选择,例如,第一层CDN节点除了可以回源到第二层CDN节点上之外,也可以直接回源到源数据中心,比如,可以设置当“从第一层⑶N节点到第二层⑶N节点的回源失败率”小于预置阈值时,第一层CDN节点回源到第二层CDN节点,而如果“从第一层CDN节点到第二层CDN节点的回源失败率”大于等于预置阈值,则第一层CDN节点可以直接回源到源数据中心;S卩,在步骤“第一层CDN节点向第二层CDN节点发送所述用户请求”之前,该CDN中的数据访问方法还可以包括:
[0051]第一层⑶N节点确定从第一层⑶N节点到第二层⑶N节点的回源失败率小于预置阈值。
[0052]反之,如果第一层⑶N节点确定从第一层⑶N节点到第二层⑶N节点的回源失败率大于等于预置阈值,则可以向源数据中心发送该用户请求,以获取该需要访问的数据,并将获取到的数据返回给终端。
[0053]其中,该预置阈值可以根据实际应用的需求进行设置,而“从第一层⑶N节点到第二层CDN节点的回源失败率”和“从第一层CDN节点到源数据中心的回源失败率”可以由控制中心进行统计,并提供给第一层CDN节点。,在此不再赘述。
[0054]需说明的是,当第一层⑶N节点确定从第一层⑶N节点到第二层⑶
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1