專利名稱:內容分發(fā)網絡中內容元數據的存儲、查詢方法及管理系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及到通信領域,尤其涉及 一 種內容分發(fā)網絡(Content DeliveryNetwork, CDN)中內容元數據的存儲、查詢方法及管理系統(tǒng)。
背景技術:
如圖l所示,一個典型的內容分發(fā)網絡分為多層,每層有若干自治域(圖中用橢圓 表示區(qū)域),從底層的CDN邊緣節(jié)點向上逐級匯聚到頂部的CDN中心節(jié)點。在每一個自治域 內通常使用集中式的專門的索引服務器來管理該自治域內的所有節(jié)點上的元數據。
因為CDN網絡中的內容數目可能以萬、十萬,甚至百萬計,并且隨著發(fā)展還在不斷 增加;另一方面內容以整個文件的方式在網絡中進行共享存在諸多問題,很多系統(tǒng)都對完 整節(jié)目內容進行分片,以分片為單位在網絡中進行管理,這種情況下元數據管理粒度細化 到分片一級,導致元數據數量大幅增加。綜上所述,在索引服務器上需要維護的內容元數據 數量巨大,并且無法適應元數據數量不斷增加的需求。
發(fā)明內容
本發(fā)明要解決的技術問題是提供一種CDN網絡中內容元數據的存儲、查詢方法及
管理系統(tǒng),以克服現有CDN網絡無法適應元數據數量不斷增加的需求的缺陷。 為解決上述問題,本發(fā)明提供了一種內容分發(fā)網絡(CDN)中內容元數據的存儲方
法,包括 在所述CDN中,除CDN中心節(jié)點之外的其它節(jié)點上設有哈希(hash)函數,各節(jié)點 上保存的hash函數定義了內容標識信息與本節(jié)點所屬自治域內的節(jié)點的地址信息的對應 關系; 當一個新內容被分發(fā)到除所述CDN中心節(jié)點之外的其它節(jié)點時,該接收到所述新
內容的節(jié)點根據本地保存的hash函數將所述新內容的標識信息映射為一個存儲節(jié)點的地
址信息后,將所述新內容的元數據發(fā)送到所述存儲節(jié)點中進行保存。 進一步地,上述存儲方法還可具有以下特征 在所述CDN網絡中,每一自治域中設有一區(qū)域索引服務器; 接收到所述新內容的節(jié)點除將所述新內容的元數據發(fā)送到所述存儲節(jié)點中進行 保存外,還將所述新內容的元數據發(fā)送到本節(jié)點所屬自治域中的區(qū)域索引服務器中進行保存。 本發(fā)明還提供了一種內容分發(fā)網絡(CDN)中內容元數據的查詢方法,包括
在所述CDN中,每一自治域所提供的內容的元數據以分布式哈希表(DHT)的方式 分散存儲在該自治域內的節(jié)點上; 所述CDN中除CDN中心節(jié)點之外的其它節(jié)點在收到內容請求后,如判斷出本地沒 有保存該內容,則將該請求中攜帶的內容標識信息通過hash函數映射為該節(jié)點所屬自治 域內的存儲節(jié)點的地址信息后,向所述存儲節(jié)點發(fā)起查詢請求;所述存儲節(jié)點收到后,根據所述查詢請求中攜帶的內容標識信息在本地查找相關元數據。
進一步地,上述查詢方法還可包括 當所述存儲節(jié)點在本地沒有查找到所述查詢請求中攜帶的內容標識信息所對應 的元數據時,向所述發(fā)起查詢請求的節(jié)點發(fā)送查詢失敗消息;所述發(fā)起查詢請求的節(jié)點收 到所述查詢失敗消息后,向所屬上級節(jié)點發(fā)起所述內容請求。
進一步地,上述查詢方法還可包括 所述存儲節(jié)點若根據所述查詢請求中攜帶的內容標識信息在本地查找到相關元 數據,則由該條元數據中包含的地址信息所對應的節(jié)點為發(fā)起所述內容請求的用戶提供服 務。
進一步地,上述查詢方法還可具有以下特征 所述由該條元數據中地址信息所對應的節(jié)點為發(fā)起所述內容請求的用戶提供服 務是指所述存儲節(jié)點將該條元數據中包含的地址信息通知給所述用戶,由所述用戶向所 述地址信息對應的節(jié)點發(fā)起所述內容請求,所述地址信息對應的節(jié)點在收到所述內容請求 后,將所述用戶請求的內容下發(fā)給所述用戶;或者所述存儲節(jié)點將該條元數據中包含的地 址信息通知給發(fā)起所述查詢請求的節(jié)點,由發(fā)起所述查詢請求的節(jié)點將相關內容從所述地 址信息對應的節(jié)點下載到本地,由本地將內容下發(fā)給所述用戶。
進一步地,上述查詢方法還可具有以下特征 當所述CDN中的任意節(jié)點在收到所述內容請求后,如根據所述內容請求中攜帶的 內容標識信息判斷出本地保存有所述用戶所請求的內容,則根據該內容向所述用戶提供服 務。
進一步地,上述查詢方法還可具有以下特征 在所述CDN中,每一自治域中設有一區(qū)域索引服務器,所述區(qū)域索引服務器中至 少保存有對應自治域中各節(jié)點所保存的元數據; 當所述CDN中除所述CDN中心節(jié)點之外的其它任意節(jié)點根據接收到的內容請求中 攜帶的內容標識信息通過所述hash函數映射為該節(jié)點所屬自治域內的存儲節(jié)點的地址信 息,且通過心跳檢測判斷出所述存儲節(jié)點發(fā)生故障時,則直接向本自治域的區(qū)域索引服務 器發(fā)送所述查詢請求,由所述區(qū)域索引服務器代替所述存儲節(jié)點執(zhí)行內容地址信息的查找 工作。 本發(fā)明還提供了一種內容分發(fā)網絡(CDN)中內容元數據的管理系統(tǒng),包括
在所述CDN中,每一自治域所提供的內容的元數據以分布式哈希表(DHT)的方式 分散存儲在該自治域內的節(jié)點上。 進一步地,上述管理系統(tǒng)還可具有以下特征 每一自治域還配置一區(qū)域索引服務器,所述區(qū)域索引服務器中至少保存有對應自 治域中各節(jié)點中所保存的元數據。 采用本發(fā)明后,可以高效的完成內容更新、查找、故障恢復過程,滿足了內容規(guī)模 巨大并且不斷增長的需求,同時可以保證高可靠性,在節(jié)點發(fā)生故障時依然可以繼續(xù)為用 戶提供服務。
圖1為現有技術中CDN網絡組網架構圖;
圖2為本發(fā)明實施例中CDN網絡組網架構圖。
圖3為本發(fā)明實例中內容查詢過程示意圖。
具體實施例方式
下面將結合附圖及實施例對本發(fā)明的技術方案進行更詳細的說明。 對于CDN網絡來說,用于描述內容的元數據至少包括內容標識信息及內容的地址信息。 本發(fā)明所述存儲方法的基本構思是在CDN中,除CDN中心節(jié)點之外的其它節(jié)點上 設有哈希(hash)函數,各節(jié)點上保存的hash函數定義了內容標識信息與本節(jié)點所屬自治 域內的節(jié)點的地址信息的對應關系; 當一個新內容被分發(fā)到除CDN中心節(jié)點之外的其它節(jié)點時,接收到該新內容的節(jié) 點根據本地保存的hash函數將該新內容的標識信息映射為一個存儲節(jié)點的地址信息后, 將該新內容的元數據、發(fā)送到存儲節(jié)點中進行保存。 此外,考慮到數據安全問題,在CDN網絡中,每一自治域中還可設有一區(qū)域索引服 務器; 接收到新內容的節(jié)點除將新內容的元數據發(fā)送到存儲節(jié)點中進行保存外,還可以 將新內容的元數據發(fā)送到本節(jié)點所屬自治域中的區(qū)域索引服務器中進行保存。
而本發(fā)明所述查詢方法的基本構思是在CDN網絡中,每一自治域所提供的內容 的元數據以DHT (Distributed Hash Table,分布式哈希表)的方式分散存儲在該自治域內 的節(jié)點上;CDN網絡中除CDN中心節(jié)點之外的其它任意節(jié)點在收到內容請求后,如判斷出本 地沒有保存該內容,則將該請求中攜帶的內容標識信息通過hash函數映射為該節(jié)點所屬 自治域內的存儲節(jié)點的地址信息后,向該存儲節(jié)點發(fā)起查詢請求;存儲節(jié)點收到后,根據其 中攜帶的內容標識信息在本地查找相關元數據。 一般說來,CDN區(qū)域中心節(jié)點收到的內容 請求來自于其管轄的下級CDN邊緣節(jié)點,而CDN邊緣節(jié)點收到的內容請求來自于用戶。
進一步地,若上述存儲節(jié)點根據查詢請求中攜帶的內容標識信息在本地查找到相 關元數據,由該條元數據中地址信息所對應的節(jié)點為發(fā)起上述內容請求的用戶提供服務。
其中,存儲節(jié)點根據查詢請求中攜帶的內容標識信息在本地查找到相關元數據, 由該條元數據中地址信息所對應的節(jié)點為發(fā)起上述內容請求的用戶提供服務可采用以下 兩種方式中的任意一種 方式一 存儲節(jié)點將該條元數據中包含的地址信息通知給用戶,由用戶根據該地 址信息向對應節(jié)點發(fā)起內容請求。其中,通知方式可以是由存儲節(jié)點直接將地址信息發(fā)送 給發(fā)起內容請求的用戶,或者由存儲節(jié)點將該地址信息發(fā)送給向該存儲節(jié)點發(fā)起查詢請求 的節(jié)點后,由該發(fā)起查詢請求的節(jié)點發(fā)送給發(fā)起內容請求的用戶。 方式二 存儲節(jié)點將該條元數據中包含的地址信息發(fā)送給向該存儲節(jié)點發(fā)起查詢 請求的節(jié)點后,該發(fā)起查詢請求的節(jié)點將根據該地址信息系那向對應節(jié)點發(fā)起內容請求, 將對應內容下載到本地后,將該內容下發(fā)給用戶。 優(yōu)選地,若存儲節(jié)點在本地沒有查找到上述查詢請求中攜帶的內容標識信息所對應的元數據時,可向上述發(fā)起查詢請求的節(jié)點發(fā)送查詢失敗消息;該發(fā)起查詢請求的節(jié)點 收到后,可向其所屬上級節(jié)點發(fā)起內容請求。此外,當CDN網絡中的任意節(jié)點在收到內容請 求后,如根據其中攜帶的內容標識判斷出本地保存有該內容,則可根據用戶所請求的內容 向該發(fā)起內容請求的用戶提供服務。 綜上所述,本發(fā)明提出采用DHT技術將原來保存在索引服務器上的元數據分散存
儲到CDN網絡中的各個節(jié)點上。為了便于數據管理,每一自治域內還可配置一區(qū)域索引服
務器,該區(qū)域索引服務器中保存有其所屬自治域內的各節(jié)點中所保存的元數據。此外,該區(qū)
域索引服務器可為單獨部署的服務器或者部署在該自治域所屬的上一級節(jié)點中。 在CDN網絡的每個自治域內,每個節(jié)點都可以通過心跳檢測維護同一 自治域內的
其它節(jié)點的可用狀態(tài)。當CDN網絡中除CDN中心節(jié)點之外的其它任意節(jié)點接收到內容請求
時,將該請求中攜帶的內容標識信息通過Hash映射為該節(jié)點所屬自治域內的內容的元數
據存儲節(jié)點的地址信息,如果通過心跳檢測判斷出所述存儲節(jié)點發(fā)生故障時,則直接向本
自治域的區(qū)域索引服務器發(fā)送查詢請求,由區(qū)域索引服務器代替上述元數據存儲節(jié)點執(zhí)行
內容地址信息的查找工作。而當節(jié)點該從故障中恢復時,區(qū)域索引服務器會自動將本該節(jié)
點管理的元數據同步到該節(jié)點。 綜上所述,本發(fā)明采用DHT將元數據分散存儲在多個節(jié)點上,能適應元數據規(guī)模
巨大并且不斷增長的需求。每一個自治域有一個該自治域內全部元數據的備份,當DHT分
散的節(jié)點發(fā)生故障時,整個系統(tǒng)依然可以有效的運行,支持故障中的容錯功能。 本發(fā)明所述系統(tǒng)的基本構思是在CDN中,每一自治域所提供的內容的元數據以
DHT的方式分散存儲在該自治域內的節(jié)點上。 此外,每一 自治域還可配置一區(qū)域索引服務器,該區(qū)域索引服務器中至少保存有
對應自治域中各節(jié)點中所保存的元數據。 下面用本發(fā)明的一應用實例進一步加以說明。 如圖2所示,Node 1、 Node 2及Node 3組成一個自治域,該自治域匯聚到CDN區(qū)
域中心節(jié)點。在該自治域內各節(jié)點間使用DHT組成一個分布式網絡,在該自治域內不再有
集中的索引服務器維護區(qū)域內所有內容信息,而是分散的在多個節(jié)點上維護。 —個內容被分發(fā)到本節(jié)點時,本節(jié)點將根據內容的標識信息(如ID)通過Hash映
射為其所屬自治域內的某個節(jié)點地址,然后向該節(jié)點注冊該新的內容的元數據,同時向區(qū) 域索弓I服務器登記新內容的元數據。 當一個新的內容進入系統(tǒng)時,由于某種策略觸發(fā)Nodel上存儲內容"赤壁",將進 行如下內容發(fā)布流程 第一步,Nodel首先使用hash函數對赤壁內容的ID進行計算,得到其索引信息應 該保存到的位置為Node 2,于是Nodel將"赤壁,位置在Nodel"這樣的元數據通知Node 2, 同時也會將同樣的元數據向區(qū)域索引服務器進行登記; 第二步,Node 2和區(qū)域索引服務器收到該消息后將該元數據保存起來,從而完成 一次內容的發(fā)布索引注冊流程。 如圖3所示,當Nodel接收到來自用戶的內容請求時,將進行如下內容請求流程
第一步,先判斷本地是否存在該內容,如果存在直接滿足請求,否則執(zhí)行下一步 驟;
7
第二步,通過hash函數將請求的內容ID映射為節(jié)點位置Node 2,再向Node2發(fā)起 查詢請求,Node 2應答Nodel內容保存在Node 3上,Nodel可以將Node3的地址通知給用 戶,使用戶將請求重定向到Node 3或者Nodel從Node 3上將內容下拉到本地提供服務;
第三步,如果Node2沒有查詢到內容的保存位置,即第二步中Node 2在本地沒有 找到該內容的位置信息,則通知Nodel本自治域內不存在該內容。Nodel將向上一級節(jié)點, 如圖3中CDN區(qū)域中心節(jié)點發(fā)起請求,而CDN區(qū)域中心節(jié)點處理請求的方式與Nodel最初 接收到來自用戶的請求處理方式相同。 在系統(tǒng)運行的大部分時間,所有服務的請求都是由節(jié)點進行服務;只有在節(jié)點發(fā)
生故障時區(qū)域索引服務器才起作用,因此實際部署中區(qū)域索引服務器可能是使用容量較
大,但響應較慢的存儲介質,而各個節(jié)點上元數據的存儲則通常采用高速的存儲介質。 當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質的情況下,熟
悉本領域的技術人員當可根據本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變
形都應屬于本發(fā)明所附的權利要求的保護范圍。
權利要求
一種內容分發(fā)網絡(CDN)中內容元數據的存儲方法,其特征在于,在所述CDN中,除CDN中心節(jié)點之外的其它節(jié)點上設有哈希(hash)函數,各節(jié)點上保存的hash函數定義了內容標識信息與本節(jié)點所屬自治域內的節(jié)點的地址信息的對應關系;當一個新內容被分發(fā)到除所述CDN中心節(jié)點之外的其它節(jié)點時,該接收到所述新內容的節(jié)點根據本地保存的hash函數將所述新內容的標識信息映射為一個存儲節(jié)點的地址信息后,將所述新內容的元數據發(fā)送到所述存儲節(jié)點中進行保存。
2. 如權利要求l所述的方法,其特征在于,在所述CDN網絡中,每一自治域中設有一區(qū)域索引服務器;接收到所述新內容的節(jié)點除將所述新內容的元數據發(fā)送到所述存儲節(jié)點中進行保存 外,還將所述新內容的元數據發(fā)送到本節(jié)點所屬自治域中的區(qū)域索引服務器中進行保存。
3. —種內容分發(fā)網絡(CDN)中內容元數據的查詢方法,其特征在于, 在所述CDN中,每一自治域所提供的內容的元數據以分布式哈希表(DHT)的方式分散存儲在該自治域內的節(jié)點上;所述CDN中除CDN中心節(jié)點之外的其它節(jié)點在收到內容請求后,如判斷出本地沒有保 存該內容,則將該請求中攜帶的內容標識信息通過hash函數映射為該節(jié)點所屬自治域內 的存儲節(jié)點的地址信息后,向所述存儲節(jié)點發(fā)起查詢請求;所述存儲節(jié)點收到后,根據所述 查詢請求中攜帶的內容標識信息在本地查找相關元數據。
4. 如權利要求3所述的方法,其特征在于,還包括當所述存儲節(jié)點在本地沒有查找到所述查詢請求中攜帶的內容標識信息所對應的元 數據時,向所述發(fā)起查詢請求的節(jié)點發(fā)送查詢失敗消息;所述發(fā)起查詢請求的節(jié)點收到所 述查詢失敗消息后,向所屬上級節(jié)點發(fā)起所述內容請求。
5. 如權利要求3所述的方法,其特征在于,還包括所述存儲節(jié)點若根據所述查詢請求中攜帶的內容標識信息在本地查找到相關元數據, 則由該條元數據中包含的地址信息所對應的節(jié)點為發(fā)起所述內容請求的用戶提供服務。
6. 如權利要求4所述的方法,其特征在于,所述由該條元數據中地址信息所對應的節(jié)點為發(fā)起所述內容請求的用戶提供服務是 指所述存儲節(jié)點將該條元數據中包含的地址信息通知給所述用戶,由所述用戶向所述地 址信息對應的節(jié)點發(fā)起所述內容請求,所述地址信息對應的節(jié)點在收到所述內容請求后, 將所述用戶請求的內容下發(fā)給所述用戶;或者所述存儲節(jié)點將該條元數據中包含的地址信 息通知給發(fā)起所述查詢請求的節(jié)點,由發(fā)起所述查詢請求的節(jié)點將相關內容從所述地址信 息對應的節(jié)點下載到本地,由本地將內容下發(fā)給所述用戶。
7. 如權利要求3所述的方法,其特征在于,當所述CDN中的任意節(jié)點在收到所述內容請求后,如根據所述內容請求中攜帶的內容 標識信息判斷出本地保存有所述用戶所請求的內容,則根據該內容向所述用戶提供服務。
8. 如權利要求3所述的方法,其特征在于,在所述CDN中,每一自治域中設有一區(qū)域索引服務器,所述區(qū)域索引服務器中至少保 存有對應自治域中各節(jié)點所保存的元數據;當所述CDN中除所述CDN中心節(jié)點之外的其它任意節(jié)點根據接收到的內容請求中攜帶的內容標識信息通過所述hash函數映射為該節(jié)點所屬自治域內的存儲節(jié)點的地址信息, 且通過心跳檢測判斷出所述存儲節(jié)點發(fā)生故障時,則直接向本自治域的區(qū)域索引服務器發(fā) 送所述查詢請求,由所述區(qū)域索引服務器代替所述存儲節(jié)點執(zhí)行內容地址信息的查找工 作。
9. 一種內容分發(fā)網絡(CDN)中內容元數據的管理系統(tǒng),其特征在于, 在所述CDN中,每一自治域所提供的內容的元數據以分布式哈希表(DHT)的方式分散存儲在該自治域內的節(jié)點上。
10. 如權利要求9所述的管理系統(tǒng),其特征在于,每一 自治域還配置一區(qū)域索引服務器,所述區(qū)域索引服務器中至少保存有對應自治域 中各節(jié)點中所保存的元數據。
全文摘要
本發(fā)明公開了一種內容分發(fā)網絡中內容元數據的存儲、查詢方法及管理系統(tǒng),所述存儲方法包括在內容分發(fā)網絡(CDN)中,除CDN中心節(jié)點之外的其它節(jié)點上設有哈希(hash)函數,各節(jié)點上保存的hash函數定義了內容標識信息與本節(jié)點所屬自治域內的節(jié)點的地址信息的對應關系;當一個新內容被分發(fā)到除CDN中心節(jié)點之外的其它節(jié)點時,接收到該新內容的節(jié)點根據本地保存的hash函數將新內容的標識信息映射為一個存儲節(jié)點的地址信息后,將該新內容的元數據發(fā)送到該存儲節(jié)點中進行保存。所述管理系統(tǒng)包括在CDN中,每一自治域所提供的內容的元數據以分布式哈希表(DHT)的方式分散存儲在該自治域內的節(jié)點上。
文檔編號H04L12/24GK101741731SQ20091022557
公開日2010年6月16日 申請日期2009年12月3日 優(yōu)先權日2009年12月3日
發(fā)明者周揚 申請人:中興通訊股份有限公司