内容分发网络中内容元数据的存储、查询方法及管理系统的制作方法

文档序号:7719201阅读:175来源:国知局
专利名称:内容分发网络中内容元数据的存储、查询方法及管理系统的制作方法
技术领域
本发明涉及到通信领域,尤其涉及 一 种内容分发网络(Content DeliveryNetwork, CDN)中内容元数据的存储、查询方法及管理系统。
背景技术
如图l所示,一个典型的内容分发网络分为多层,每层有若干自治域(图中用椭圆 表示区域),从底层的CDN边缘节点向上逐级汇聚到顶部的CDN中心节点。在每一个自治域 内通常使用集中式的专门的索引服务器来管理该自治域内的所有节点上的元数据。
因为CDN网络中的内容数目可能以万、十万,甚至百万计,并且随着发展还在不断 增加;另一方面内容以整个文件的方式在网络中进行共享存在诸多问题,很多系统都对完 整节目内容进行分片,以分片为单位在网络中进行管理,这种情况下元数据管理粒度细化 到分片一级,导致元数据数量大幅增加。综上所述,在索引服务器上需要维护的内容元数据 数量巨大,并且无法适应元数据数量不断增加的需求。

发明内容
本发明要解决的技术问题是提供一种CDN网络中内容元数据的存储、查询方法及
管理系统,以克服现有CDN网络无法适应元数据数量不断增加的需求的缺陷。 为解决上述问题,本发明提供了一种内容分发网络(CDN)中内容元数据的存储方
法,包括 在所述CDN中,除CDN中心节点之外的其它节点上设有哈希(hash)函数,各节点 上保存的hash函数定义了内容标识信息与本节点所属自治域内的节点的地址信息的对应 关系; 当一个新内容被分发到除所述CDN中心节点之外的其它节点时,该接收到所述新
内容的节点根据本地保存的hash函数将所述新内容的标识信息映射为一个存储节点的地
址信息后,将所述新内容的元数据发送到所述存储节点中进行保存。 进一步地,上述存储方法还可具有以下特征 在所述CDN网络中,每一自治域中设有一区域索引服务器; 接收到所述新内容的节点除将所述新内容的元数据发送到所述存储节点中进行 保存外,还将所述新内容的元数据发送到本节点所属自治域中的区域索引服务器中进行保存。 本发明还提供了一种内容分发网络(CDN)中内容元数据的查询方法,包括
在所述CDN中,每一自治域所提供的内容的元数据以分布式哈希表(DHT)的方式 分散存储在该自治域内的节点上; 所述CDN中除CDN中心节点之外的其它节点在收到内容请求后,如判断出本地没 有保存该内容,则将该请求中携带的内容标识信息通过hash函数映射为该节点所属自治 域内的存储节点的地址信息后,向所述存储节点发起查询请求;所述存储节点收到后,根据所述查询请求中携带的内容标识信息在本地查找相关元数据。
进一步地,上述查询方法还可包括 当所述存储节点在本地没有查找到所述查询请求中携带的内容标识信息所对应 的元数据时,向所述发起查询请求的节点发送查询失败消息;所述发起查询请求的节点收 到所述查询失败消息后,向所属上级节点发起所述内容请求。
进一步地,上述查询方法还可包括 所述存储节点若根据所述查询请求中携带的内容标识信息在本地查找到相关元 数据,则由该条元数据中包含的地址信息所对应的节点为发起所述内容请求的用户提供服 务。
进一步地,上述查询方法还可具有以下特征 所述由该条元数据中地址信息所对应的节点为发起所述内容请求的用户提供服 务是指所述存储节点将该条元数据中包含的地址信息通知给所述用户,由所述用户向所 述地址信息对应的节点发起所述内容请求,所述地址信息对应的节点在收到所述内容请求 后,将所述用户请求的内容下发给所述用户;或者所述存储节点将该条元数据中包含的地 址信息通知给发起所述查询请求的节点,由发起所述查询请求的节点将相关内容从所述地 址信息对应的节点下载到本地,由本地将内容下发给所述用户。
进一步地,上述查询方法还可具有以下特征 当所述CDN中的任意节点在收到所述内容请求后,如根据所述内容请求中携带的 内容标识信息判断出本地保存有所述用户所请求的内容,则根据该内容向所述用户提供服 务。
进一步地,上述查询方法还可具有以下特征 在所述CDN中,每一自治域中设有一区域索引服务器,所述区域索引服务器中至 少保存有对应自治域中各节点所保存的元数据; 当所述CDN中除所述CDN中心节点之外的其它任意节点根据接收到的内容请求中 携带的内容标识信息通过所述hash函数映射为该节点所属自治域内的存储节点的地址信 息,且通过心跳检测判断出所述存储节点发生故障时,则直接向本自治域的区域索引服务 器发送所述查询请求,由所述区域索引服务器代替所述存储节点执行内容地址信息的查找 工作。 本发明还提供了一种内容分发网络(CDN)中内容元数据的管理系统,包括
在所述CDN中,每一自治域所提供的内容的元数据以分布式哈希表(DHT)的方式 分散存储在该自治域内的节点上。 进一步地,上述管理系统还可具有以下特征 每一自治域还配置一区域索引服务器,所述区域索引服务器中至少保存有对应自 治域中各节点中所保存的元数据。 采用本发明后,可以高效的完成内容更新、查找、故障恢复过程,满足了内容规模 巨大并且不断增长的需求,同时可以保证高可靠性,在节点发生故障时依然可以继续为用 户提供服务。


图1为现有技术中CDN网络组网架构图;
图2为本发明实施例中CDN网络组网架构图。
图3为本发明实例中内容查询过程示意图。
具体实施例方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。 对于CDN网络来说,用于描述内容的元数据至少包括内容标识信息及内容的地址信息。 本发明所述存储方法的基本构思是在CDN中,除CDN中心节点之外的其它节点上 设有哈希(hash)函数,各节点上保存的hash函数定义了内容标识信息与本节点所属自治 域内的节点的地址信息的对应关系; 当一个新内容被分发到除CDN中心节点之外的其它节点时,接收到该新内容的节 点根据本地保存的hash函数将该新内容的标识信息映射为一个存储节点的地址信息后, 将该新内容的元数据、发送到存储节点中进行保存。 此外,考虑到数据安全问题,在CDN网络中,每一自治域中还可设有一区域索引服 务器; 接收到新内容的节点除将新内容的元数据发送到存储节点中进行保存外,还可以 将新内容的元数据发送到本节点所属自治域中的区域索引服务器中进行保存。
而本发明所述查询方法的基本构思是在CDN网络中,每一自治域所提供的内容 的元数据以DHT (Distributed Hash Table,分布式哈希表)的方式分散存储在该自治域内 的节点上;CDN网络中除CDN中心节点之外的其它任意节点在收到内容请求后,如判断出本 地没有保存该内容,则将该请求中携带的内容标识信息通过hash函数映射为该节点所属 自治域内的存储节点的地址信息后,向该存储节点发起查询请求;存储节点收到后,根据其 中携带的内容标识信息在本地查找相关元数据。 一般说来,CDN区域中心节点收到的内容 请求来自于其管辖的下级CDN边缘节点,而CDN边缘节点收到的内容请求来自于用户。
进一步地,若上述存储节点根据查询请求中携带的内容标识信息在本地查找到相 关元数据,由该条元数据中地址信息所对应的节点为发起上述内容请求的用户提供服务。
其中,存储节点根据查询请求中携带的内容标识信息在本地查找到相关元数据, 由该条元数据中地址信息所对应的节点为发起上述内容请求的用户提供服务可采用以下 两种方式中的任意一种 方式一 存储节点将该条元数据中包含的地址信息通知给用户,由用户根据该地 址信息向对应节点发起内容请求。其中,通知方式可以是由存储节点直接将地址信息发送 给发起内容请求的用户,或者由存储节点将该地址信息发送给向该存储节点发起查询请求 的节点后,由该发起查询请求的节点发送给发起内容请求的用户。 方式二 存储节点将该条元数据中包含的地址信息发送给向该存储节点发起查询 请求的节点后,该发起查询请求的节点将根据该地址信息系那向对应节点发起内容请求, 将对应内容下载到本地后,将该内容下发给用户。 优选地,若存储节点在本地没有查找到上述查询请求中携带的内容标识信息所对应的元数据时,可向上述发起查询请求的节点发送查询失败消息;该发起查询请求的节点 收到后,可向其所属上级节点发起内容请求。此外,当CDN网络中的任意节点在收到内容请 求后,如根据其中携带的内容标识判断出本地保存有该内容,则可根据用户所请求的内容 向该发起内容请求的用户提供服务。 综上所述,本发明提出采用DHT技术将原来保存在索引服务器上的元数据分散存
储到CDN网络中的各个节点上。为了便于数据管理,每一自治域内还可配置一区域索引服
务器,该区域索引服务器中保存有其所属自治域内的各节点中所保存的元数据。此外,该区
域索引服务器可为单独部署的服务器或者部署在该自治域所属的上一级节点中。 在CDN网络的每个自治域内,每个节点都可以通过心跳检测维护同一 自治域内的
其它节点的可用状态。当CDN网络中除CDN中心节点之外的其它任意节点接收到内容请求
时,将该请求中携带的内容标识信息通过Hash映射为该节点所属自治域内的内容的元数
据存储节点的地址信息,如果通过心跳检测判断出所述存储节点发生故障时,则直接向本
自治域的区域索引服务器发送查询请求,由区域索引服务器代替上述元数据存储节点执行
内容地址信息的查找工作。而当节点该从故障中恢复时,区域索引服务器会自动将本该节
点管理的元数据同步到该节点。 综上所述,本发明采用DHT将元数据分散存储在多个节点上,能适应元数据规模
巨大并且不断增长的需求。每一个自治域有一个该自治域内全部元数据的备份,当DHT分
散的节点发生故障时,整个系统依然可以有效的运行,支持故障中的容错功能。 本发明所述系统的基本构思是在CDN中,每一自治域所提供的内容的元数据以
DHT的方式分散存储在该自治域内的节点上。 此外,每一 自治域还可配置一区域索引服务器,该区域索引服务器中至少保存有
对应自治域中各节点中所保存的元数据。 下面用本发明的一应用实例进一步加以说明。 如图2所示,Node 1、 Node 2及Node 3组成一个自治域,该自治域汇聚到CDN区
域中心节点。在该自治域内各节点间使用DHT组成一个分布式网络,在该自治域内不再有
集中的索引服务器维护区域内所有内容信息,而是分散的在多个节点上维护。 —个内容被分发到本节点时,本节点将根据内容的标识信息(如ID)通过Hash映
射为其所属自治域内的某个节点地址,然后向该节点注册该新的内容的元数据,同时向区 域索弓I服务器登记新内容的元数据。 当一个新的内容进入系统时,由于某种策略触发Nodel上存储内容"赤壁",将进 行如下内容发布流程 第一步,Nodel首先使用hash函数对赤壁内容的ID进行计算,得到其索引信息应 该保存到的位置为Node 2,于是Nodel将"赤壁,位置在Nodel"这样的元数据通知Node 2, 同时也会将同样的元数据向区域索引服务器进行登记; 第二步,Node 2和区域索引服务器收到该消息后将该元数据保存起来,从而完成 一次内容的发布索引注册流程。 如图3所示,当Nodel接收到来自用户的内容请求时,将进行如下内容请求流程
第一步,先判断本地是否存在该内容,如果存在直接满足请求,否则执行下一步 骤;
7
第二步,通过hash函数将请求的内容ID映射为节点位置Node 2,再向Node2发起 查询请求,Node 2应答Nodel内容保存在Node 3上,Nodel可以将Node3的地址通知给用 户,使用户将请求重定向到Node 3或者Nodel从Node 3上将内容下拉到本地提供服务;
第三步,如果Node2没有查询到内容的保存位置,即第二步中Node 2在本地没有 找到该内容的位置信息,则通知Nodel本自治域内不存在该内容。Nodel将向上一级节点, 如图3中CDN区域中心节点发起请求,而CDN区域中心节点处理请求的方式与Nodel最初 接收到来自用户的请求处理方式相同。 在系统运行的大部分时间,所有服务的请求都是由节点进行服务;只有在节点发
生故障时区域索引服务器才起作用,因此实际部署中区域索引服务器可能是使用容量较
大,但响应较慢的存储介质,而各个节点上元数据的存储则通常采用高速的存储介质。 当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟
悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变
形都应属于本发明所附的权利要求的保护范围。
权利要求
一种内容分发网络(CDN)中内容元数据的存储方法,其特征在于,在所述CDN中,除CDN中心节点之外的其它节点上设有哈希(hash)函数,各节点上保存的hash函数定义了内容标识信息与本节点所属自治域内的节点的地址信息的对应关系;当一个新内容被分发到除所述CDN中心节点之外的其它节点时,该接收到所述新内容的节点根据本地保存的hash函数将所述新内容的标识信息映射为一个存储节点的地址信息后,将所述新内容的元数据发送到所述存储节点中进行保存。
2. 如权利要求l所述的方法,其特征在于,在所述CDN网络中,每一自治域中设有一区域索引服务器;接收到所述新内容的节点除将所述新内容的元数据发送到所述存储节点中进行保存 外,还将所述新内容的元数据发送到本节点所属自治域中的区域索引服务器中进行保存。
3. —种内容分发网络(CDN)中内容元数据的查询方法,其特征在于, 在所述CDN中,每一自治域所提供的内容的元数据以分布式哈希表(DHT)的方式分散存储在该自治域内的节点上;所述CDN中除CDN中心节点之外的其它节点在收到内容请求后,如判断出本地没有保 存该内容,则将该请求中携带的内容标识信息通过hash函数映射为该节点所属自治域内 的存储节点的地址信息后,向所述存储节点发起查询请求;所述存储节点收到后,根据所述 查询请求中携带的内容标识信息在本地查找相关元数据。
4. 如权利要求3所述的方法,其特征在于,还包括当所述存储节点在本地没有查找到所述查询请求中携带的内容标识信息所对应的元 数据时,向所述发起查询请求的节点发送查询失败消息;所述发起查询请求的节点收到所 述查询失败消息后,向所属上级节点发起所述内容请求。
5. 如权利要求3所述的方法,其特征在于,还包括所述存储节点若根据所述查询请求中携带的内容标识信息在本地查找到相关元数据, 则由该条元数据中包含的地址信息所对应的节点为发起所述内容请求的用户提供服务。
6. 如权利要求4所述的方法,其特征在于,所述由该条元数据中地址信息所对应的节点为发起所述内容请求的用户提供服务是 指所述存储节点将该条元数据中包含的地址信息通知给所述用户,由所述用户向所述地 址信息对应的节点发起所述内容请求,所述地址信息对应的节点在收到所述内容请求后, 将所述用户请求的内容下发给所述用户;或者所述存储节点将该条元数据中包含的地址信 息通知给发起所述查询请求的节点,由发起所述查询请求的节点将相关内容从所述地址信 息对应的节点下载到本地,由本地将内容下发给所述用户。
7. 如权利要求3所述的方法,其特征在于,当所述CDN中的任意节点在收到所述内容请求后,如根据所述内容请求中携带的内容 标识信息判断出本地保存有所述用户所请求的内容,则根据该内容向所述用户提供服务。
8. 如权利要求3所述的方法,其特征在于,在所述CDN中,每一自治域中设有一区域索引服务器,所述区域索引服务器中至少保 存有对应自治域中各节点所保存的元数据;当所述CDN中除所述CDN中心节点之外的其它任意节点根据接收到的内容请求中携带的内容标识信息通过所述hash函数映射为该节点所属自治域内的存储节点的地址信息, 且通过心跳检测判断出所述存储节点发生故障时,则直接向本自治域的区域索引服务器发 送所述查询请求,由所述区域索引服务器代替所述存储节点执行内容地址信息的查找工 作。
9. 一种内容分发网络(CDN)中内容元数据的管理系统,其特征在于, 在所述CDN中,每一自治域所提供的内容的元数据以分布式哈希表(DHT)的方式分散存储在该自治域内的节点上。
10. 如权利要求9所述的管理系统,其特征在于,每一 自治域还配置一区域索引服务器,所述区域索引服务器中至少保存有对应自治域 中各节点中所保存的元数据。
全文摘要
本发明公开了一种内容分发网络中内容元数据的存储、查询方法及管理系统,所述存储方法包括在内容分发网络(CDN)中,除CDN中心节点之外的其它节点上设有哈希(hash)函数,各节点上保存的hash函数定义了内容标识信息与本节点所属自治域内的节点的地址信息的对应关系;当一个新内容被分发到除CDN中心节点之外的其它节点时,接收到该新内容的节点根据本地保存的hash函数将新内容的标识信息映射为一个存储节点的地址信息后,将该新内容的元数据发送到该存储节点中进行保存。所述管理系统包括在CDN中,每一自治域所提供的内容的元数据以分布式哈希表(DHT)的方式分散存储在该自治域内的节点上。
文档编号H04L12/24GK101741731SQ20091022557
公开日2010年6月16日 申请日期2009年12月3日 优先权日2009年12月3日
发明者周扬 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1