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