專利名稱:一種分布式內(nèi)容分發(fā)方法、邊緣服務(wù)器和內(nèi)容分發(fā)網(wǎng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊網(wǎng)絡(luò)的數(shù)據(jù)傳輸技術(shù),尤其涉及一種分布式內(nèi)容分發(fā)方 法、邊緣服務(wù)器和內(nèi)容分發(fā)網(wǎng)。
背景技術(shù):
隨著IPTV業(yè)務(wù)的迅速開(kāi)展,內(nèi)容發(fā)布的效率和成本越來(lái)越成為影響業(yè)務(wù)部 署的關(guān)鍵因素,為了解決上述問(wèn)題,業(yè)界提出了一種解決方案CDN (Content delivery network),它通過(guò)在現(xiàn)有的互if關(guān)網(wǎng)基礎(chǔ)上建立一層新的網(wǎng)絡(luò)-內(nèi)容分 發(fā)網(wǎng)CDN,專門用于通過(guò)互聯(lián)網(wǎng)高效地分發(fā)多媒體內(nèi)容。CDN通過(guò)實(shí)現(xiàn)用戶對(duì) 網(wǎng)址的就近訪問(wèn)及網(wǎng)絡(luò)流量的智能分流、大大提高了網(wǎng)絡(luò)的響應(yīng)速度。CDN的技術(shù)原理是在現(xiàn)有的互聯(lián)網(wǎng)中,將網(wǎng)站的內(nèi)容從網(wǎng)絡(luò)的骨干部分推 送到最接近用戶的邊緣,以減少傳輸延遲、網(wǎng)絡(luò)抖動(dòng)等影響傳輸效果的因素, 從而使用戶能以最快的速度、從最接近用戶的地方獲得所需要的信息,得到有 序的高質(zhì)量服務(wù)。圖1為現(xiàn)有技術(shù)中的一種CDN組網(wǎng)圖。參見(jiàn)圖1,該網(wǎng)絡(luò)屬于星型結(jié) 構(gòu)網(wǎng)絡(luò),主要分為中心和邊緣兩大部分。中心部分一般由中心服務(wù)器(Central Server)、全局負(fù)載均衡服務(wù)器和入口 ( Portal)服務(wù)器等設(shè)備構(gòu)成,邊緣部 分一般由眾多的邊緣服務(wù)器(Edge Server)構(gòu)成, 一個(gè)或者少數(shù)幾個(gè)邊緣服 務(wù)器對(duì)應(yīng)于一個(gè)用戶網(wǎng)絡(luò),用來(lái)向用戶提供其所請(qǐng)求的業(yè)務(wù)信息。用戶在該網(wǎng)絡(luò)中獲取業(yè)務(wù)信息的流程 一般包括1、 用戶向中心部分的portal服務(wù)器請(qǐng)求業(yè)務(wù)資源所在的服務(wù)器的地址;2、 Portal服務(wù)器查詢域名服務(wù)器(Domain name Server, DNS)和全局 負(fù)載均衡服務(wù)器,根據(jù)用戶的IP地址和負(fù)載均衡情況向用戶返回用戶所屬網(wǎng)絡(luò)的邊緣網(wǎng)絡(luò)的邊緣服務(wù)器ES的地址;3、 用戶根據(jù)返回的ES地址,向ES發(fā)起申請(qǐng)業(yè)務(wù)的請(qǐng)求;4、 ES向用戶發(fā)送相應(yīng)的業(yè)務(wù)。上述方案中, 一個(gè)邊緣網(wǎng)絡(luò)中只有一個(gè)或者很少幾個(gè)邊緣服務(wù)器ES作 為邊緣網(wǎng)絡(luò)的中心服務(wù)器來(lái)為用戶網(wǎng)絡(luò)提供服務(wù),ES的設(shè)計(jì)容量一般都是 依照該邊緣網(wǎng)絡(luò)的最大用戶數(shù)來(lái)確定的,其集成度很高,硬件成本相應(yīng)也很 高昂。圖2為現(xiàn)有技術(shù)中的另一種提供流媒體業(yè)務(wù)的系統(tǒng),同樣能夠用來(lái)支持 IPTV業(yè)務(wù)。參見(jiàn)圖2,網(wǎng)絡(luò)系統(tǒng)由客戶端6、控制節(jié)點(diǎn)4、流媒體服務(wù)器7 和多個(gè)緩存節(jié)點(diǎn)5.N組成,當(dāng)客戶端6向控制節(jié)點(diǎn)4發(fā)送節(jié)目?jī)?nèi)容請(qǐng)求時(shí), 控制節(jié)點(diǎn)4根據(jù)請(qǐng)求的節(jié)目?jī)?nèi)容將該請(qǐng)求轉(zhuǎn)發(fā)給相應(yīng)的緩存節(jié)點(diǎn)5.N,由緩 存節(jié)點(diǎn)5.N向客戶端6直接發(fā)送緩存的節(jié)目?jī)?nèi)容或者緩存節(jié)點(diǎn)5.N先從流媒 體服務(wù)器7獲取相應(yīng)的節(jié)目?jī)?nèi)容再轉(zhuǎn)發(fā)給客戶端6。各緩存節(jié)點(diǎn)5.N根據(jù)控 制節(jié)點(diǎn)4的命令緩存不同的節(jié)目?jī)?nèi)容。這種方案相對(duì)于圖1中的CDN網(wǎng)絡(luò)而言,增加了一個(gè)控制節(jié)點(diǎn),用來(lái)轉(zhuǎn) 發(fā)所有用戶的全部請(qǐng)求,這在用戶數(shù)量較多的情況下是不小的負(fù)擔(dān);并且其 緩存節(jié)點(diǎn)保存節(jié)目?jī)?nèi)容是由控制節(jié)點(diǎn)分配的,緩存節(jié)點(diǎn)本身不能自動(dòng)根據(jù)用 戶請(qǐng)求情況動(dòng)態(tài)增加減少備份節(jié)點(diǎn),處理熱門資源時(shí)會(huì)出現(xiàn)瓶頸現(xiàn)象,此外 控制節(jié)點(diǎn)的引入增加了單點(diǎn)故障發(fā)生的可能性,為避免這樣的情況,必然要 對(duì)其重點(diǎn)維護(hù),導(dǎo)致維護(hù)成本增加。發(fā)明內(nèi)容有鑒于此,本發(fā)明提供了一種分布式內(nèi)容分發(fā)方法,能夠降低系統(tǒng)對(duì)單 個(gè)邊緣服務(wù)器ES設(shè)備集成度的要求,使得CDN組網(wǎng)時(shí)更為靈活便利,優(yōu) 化傳統(tǒng)CDN的調(diào)度方法,進(jìn)而提高CDN的可靠性、實(shí)現(xiàn)分布式服務(wù)和業(yè)務(wù) 負(fù)載的均衡。
本發(fā)明同時(shí)提供了 一種邊緣服務(wù)器和內(nèi)容分發(fā)網(wǎng),也能夠降低系統(tǒng)對(duì)單 個(gè)邊緣服務(wù)器設(shè)備集成度的要求,使得CDN組網(wǎng)時(shí)更為靈活便利,優(yōu)化傳統(tǒng)CDN的調(diào)度方法,進(jìn)而提高CDN的可靠性、實(shí)現(xiàn)分布式服務(wù)和業(yè)務(wù)負(fù)載 的均衡。在本發(fā)明方法的 一 個(gè)較優(yōu)實(shí)施例中,首先建立邊緣網(wǎng)絡(luò)內(nèi)多個(gè)邊緣服務(wù) 器ES之間的疊加網(wǎng);其次向邊緣網(wǎng)絡(luò)內(nèi)的每個(gè)邊緣服務(wù)器ES分配業(yè)務(wù)資 源;然后收到用戶請(qǐng)求的邊緣服務(wù)器ES根據(jù)用戶請(qǐng)求選擇特定的邊緣服務(wù) 器ES向用戶分發(fā)業(yè)務(wù)資源。優(yōu)選的,所述建立邊緣網(wǎng)絡(luò)內(nèi)多個(gè)邊緣服務(wù)器ES之間的疊加網(wǎng)的步驟 具體包括,根據(jù)分布式哈希表DHT規(guī)則建立邊緣網(wǎng)絡(luò)內(nèi)多個(gè)邊緣服務(wù)器ES 之間的疊加網(wǎng)。優(yōu)選的,所述根據(jù)分布式哈希表DHT規(guī)則建立邊緣網(wǎng)絡(luò)內(nèi)多個(gè)邊緣服 務(wù)器ES之間的疊加網(wǎng)的步驟進(jìn)一步包括邊緣服務(wù)器ES向中心服務(wù)器發(fā) 起申請(qǐng)加入其所在的邊緣網(wǎng)絡(luò)的疊加網(wǎng)的請(qǐng)求,攜帶該邊緣網(wǎng)絡(luò)信息;中心 服務(wù)器根據(jù)該邊緣網(wǎng)絡(luò)內(nèi)的ES的ID空間分布情況為發(fā)起請(qǐng)求的ES分配ID 標(biāo)識(shí)并發(fā)送該邊緣網(wǎng)絡(luò)內(nèi)其他ES在疊加網(wǎng)中的ES地址;所述邊緣服務(wù)器 ES獲取上述同一邊緣網(wǎng)絡(luò)內(nèi)其他ES的地址后,根據(jù)DHT規(guī)則與其他ES iK言,力口入疊力口網(wǎng)。優(yōu)選的,所述的中心服務(wù)器向邊緣網(wǎng)絡(luò)內(nèi)的每個(gè)邊緣服務(wù)器ES分配業(yè) 務(wù)資源的步驟具體為,中心服務(wù)器根據(jù)DHT規(guī)則向邊緣網(wǎng)絡(luò)內(nèi)的每個(gè)邊緣 服務(wù)器ES分配業(yè)務(wù)資源。優(yōu)選的,若所述業(yè)務(wù)為固定業(yè)務(wù),則所述中心服務(wù)器根據(jù)DHT規(guī)則向邊緣網(wǎng)絡(luò)內(nèi)的每個(gè)邊緣服務(wù)器ES分配業(yè)務(wù)資源的步驟具體包括中心服務(wù)器將能唯一標(biāo)識(shí)該業(yè)務(wù)資源的關(guān)鍵詞進(jìn)行Hash化后根據(jù)DHT規(guī)則確定邊緣網(wǎng)絡(luò)的疊加網(wǎng)中的各個(gè)邊緣服務(wù)器ES應(yīng)該負(fù)責(zé)存儲(chǔ)的業(yè)務(wù)資源后,向各ES推送應(yīng)由其負(fù)責(zé)存儲(chǔ)的業(yè)務(wù)資源。優(yōu)選的,若所述業(yè)務(wù)為非固定業(yè)務(wù),則所述中心服務(wù)器根據(jù)DHT規(guī)則 向邊緣網(wǎng)絡(luò)內(nèi)的每個(gè)邊緣服務(wù)器ES分配業(yè)務(wù)資源的步驟進(jìn)一步包括以下步 驟邊緣服務(wù)器ES向中心服務(wù)器申請(qǐng)業(yè)務(wù)資源列表;ES獲得業(yè)務(wù)資源列表 后,將該業(yè)務(wù)資源列表中唯一標(biāo)識(shí)該業(yè)務(wù)資源的關(guān)鍵詞在與該ES的ID標(biāo) 識(shí)相同的Hash空間內(nèi)進(jìn)行Hash處理,生成該業(yè)務(wù)資源的Hash值;ES根據(jù) DHT規(guī)則和所述業(yè)務(wù)資源的Hash值,生成應(yīng)由自己負(fù)責(zé)存儲(chǔ)的本地業(yè)務(wù)資 源列表;ES向中心服務(wù)器申請(qǐng)應(yīng)當(dāng)由自己負(fù)責(zé)存儲(chǔ)的業(yè)務(wù)資源并進(jìn)行存儲(chǔ)。優(yōu)選的,所述邊緣服務(wù)器ES根據(jù)用戶請(qǐng)求選擇特定的邊緣服務(wù)器ES 向用戶分發(fā)業(yè)務(wù)資源的步驟具體包括以下步驟用戶向中心服務(wù)器發(fā)起申請(qǐng) 邊緣服務(wù)器ES的請(qǐng)求;中心服務(wù)器收到上述請(qǐng)求后,根據(jù)用戶地址信息向 用戶返回為其提供服務(wù)的邊緣網(wǎng)絡(luò)中的一個(gè)ES的地址;用戶向該ES發(fā)起 具體的業(yè)務(wù)請(qǐng)求;該ES根據(jù)所述業(yè)務(wù)資源的Hash值向本地疊加網(wǎng)查詢最 適合存儲(chǔ)該業(yè)務(wù)資源的ES的地址并向其轉(zhuǎn)發(fā)用戶請(qǐng)求,攜帶用戶信息;所 述最適合存儲(chǔ)該業(yè)務(wù)資源的ES查詢本地存儲(chǔ)的業(yè)務(wù)資源,如果本地存儲(chǔ)有 用戶請(qǐng)求的資源,則直接向用戶發(fā)送該業(yè)務(wù)資源;如果本地沒(méi)有存儲(chǔ)用戶請(qǐng) 求的資源,則從中心服務(wù)器下載該業(yè)務(wù)資源并轉(zhuǎn)發(fā)給該用戶。優(yōu)選的,所述最適合存儲(chǔ)該業(yè)務(wù)的ES向用戶發(fā)送業(yè)務(wù)資源的步驟,進(jìn) 一步包括所述最適合存儲(chǔ)該業(yè)務(wù)的ES向用戶發(fā)送業(yè)務(wù)資源,同時(shí)統(tǒng)計(jì)請(qǐng) 求該業(yè)務(wù)的所有用戶的信息;當(dāng)請(qǐng)求該業(yè)務(wù)的用戶負(fù)載超過(guò)規(guī)定的閾值時(shí), 所述最適合存儲(chǔ)該業(yè)務(wù)的ES將該業(yè)務(wù)資源備份到同一疊加網(wǎng)內(nèi)的一個(gè)或多 個(gè)ES上,并在本地建立備份鏈接;所述最適合存儲(chǔ)該業(yè)務(wù)資源的ES向?qū)?請(qǐng)求該業(yè)務(wù)的新用戶返回一個(gè)可用的備份ES,由該備份ES向新用戶提供業(yè) 務(wù)資源。優(yōu)選的,所述方法還包括所述最適合存儲(chǔ)該業(yè)務(wù)資源的ES定期檢測(cè) 備份ES的工作負(fù)載情況,判斷其是否能夠繼續(xù)提供備份協(xié)助,如果不能, 則重新選擇或增加備份ES。優(yōu)選的,所述邊緣服務(wù)器ES根據(jù)用戶請(qǐng)求選擇特定的邊緣服務(wù)器ES向用戶分發(fā)業(yè)務(wù)資源的步驟具體包括用戶向中心服務(wù)器獲取固定業(yè)務(wù)資源 列表和本地邊緣網(wǎng)絡(luò)的邊緣服務(wù)器的地址;用戶向?yàn)楸镜鼐W(wǎng)絡(luò)服務(wù)的邊緣網(wǎng) 絡(luò)中的任意一個(gè)ES發(fā)送獲取固定業(yè)務(wù)資源的請(qǐng)求;接收請(qǐng)求的ES在本地 的疊加網(wǎng)中查詢負(fù)責(zé)該固定業(yè)務(wù)資源的ES并向其轉(zhuǎn)發(fā)該用戶請(qǐng)求;所述負(fù) 責(zé)該固定業(yè)務(wù)的ES向用戶發(fā)送其所請(qǐng)求的業(yè)務(wù)資源。優(yōu)選的,所述方法進(jìn)一步包括邊緣網(wǎng)絡(luò)中的各ES發(fā)送自己的工作信 息到疊加網(wǎng)中存放維護(hù)文件的節(jié)點(diǎn)并從該節(jié)點(diǎn)獲取其他ES的工作信息。優(yōu)選的,所述邊緣網(wǎng)絡(luò)中的各ES發(fā)送自己的工作信息到疊加網(wǎng)中存放 維護(hù)文件的節(jié)點(diǎn)并從該節(jié)點(diǎn)獲取其他ES的工作信息的步驟具體包括中心 服務(wù)器定義保存所有ES信息的維護(hù)文件的標(biāo)識(shí)和數(shù)據(jù)格式發(fā)送給各ES;各 ES根據(jù)該維護(hù)文件標(biāo)識(shí)的Hash值和DHT規(guī)則在疊加網(wǎng)中確定該維護(hù)文件 的存放節(jié)點(diǎn);各ES定期向該存放節(jié)點(diǎn)發(fā)送自己的工作信息并從該維護(hù)節(jié)點(diǎn) 查詢其他ES的工作信息。優(yōu)選的,各ES定期從存放維護(hù)文件的節(jié)點(diǎn)備份維護(hù)文件到本地。本發(fā)明的另一較優(yōu)實(shí)施例公開(kāi)了一種邊緣服務(wù)器,包括用戶通信模塊, 用于接收用戶發(fā)起的業(yè)務(wù)請(qǐng)求并向用戶發(fā)送其所請(qǐng)求的業(yè)務(wù);上級(jí)服務(wù)器通 信模塊,用于和上級(jí)服務(wù)器通信,從上級(jí)服務(wù)器獲取加入疊加網(wǎng)的ID標(biāo)識(shí), 業(yè)務(wù)資源列表和業(yè)務(wù)資源;內(nèi)容調(diào)度模塊,用于通過(guò)上級(jí)服務(wù)器通信模塊從 上級(jí)服務(wù)器獲取業(yè)務(wù)資源,根據(jù)用戶通信模塊轉(zhuǎn)發(fā)的業(yè)務(wù)請(qǐng)求完成業(yè)務(wù)調(diào)度 并向用戶通信模塊轉(zhuǎn)發(fā)業(yè)務(wù)資源;同級(jí)邊緣服務(wù)器通信模塊,用于根據(jù)上級(jí) 服務(wù)器分配的ID標(biāo)識(shí)和發(fā)送的其他同級(jí)邊緣服務(wù)器的地址和其他同級(jí)邊緣 服務(wù)器進(jìn)行通信,以建立疊加網(wǎng)、轉(zhuǎn)發(fā)用戶請(qǐng)求、獲取其他用戶的工作信息 和業(yè)務(wù)資源列表。優(yōu)選的,所述的內(nèi)容調(diào)度模塊進(jìn)一步包括節(jié)點(diǎn)負(fù)載管理模塊,用于接 收并存儲(chǔ)從同級(jí)邊緣服務(wù)器通信模塊轉(zhuǎn)發(fā)的其他同級(jí)邊緣服務(wù)器的業(yè)務(wù)資 源列表和工作負(fù)載信息;內(nèi)容管理模塊,用于存儲(chǔ)本地業(yè)務(wù)資源列表和與該 業(yè)務(wù)資源列表對(duì)應(yīng)的業(yè)務(wù)資源。優(yōu)選的,所述的節(jié)點(diǎn)負(fù)載管理模塊進(jìn)一步包括用戶信息統(tǒng)計(jì)模塊,用
于在內(nèi)容管理模塊向用戶通信模塊發(fā)送業(yè)務(wù)資源的同時(shí)記錄接收該業(yè)務(wù)的 所有用戶信息,以判斷是否需要將該業(yè)務(wù)備份到其他同級(jí)邊緣服務(wù)器;工作 信息管理模塊,用于存儲(chǔ)同級(jí)邊緣服務(wù)器通信模塊獲得的其他同級(jí)邊緣服務(wù) 器的工作信息,包括其他同級(jí)邊緣服務(wù)器的業(yè)務(wù)資源列表和業(yè)務(wù)備份信息。優(yōu)選的,所述的內(nèi)容管理模塊進(jìn)一步包括業(yè)務(wù)標(biāo)識(shí)處理模塊,在上級(jí) 服務(wù)器通信模塊從上級(jí)服務(wù)器獲取業(yè)務(wù)資源列表后,用于將該列表中能夠唯 一業(yè)務(wù)標(biāo)識(shí)的關(guān)^t詞在與所述ID標(biāo)識(shí)相同的Hash空間中進(jìn)行Hash處理, 獲得該業(yè)務(wù)的Hash值,并依據(jù)該Hash值生成本地業(yè)務(wù)資源列表;業(yè)務(wù)資源 列表存儲(chǔ)模塊,用于存儲(chǔ)所述的業(yè)務(wù)標(biāo)識(shí)處理模塊生成的本地業(yè)務(wù)資源列 表;業(yè)務(wù)資源存儲(chǔ)模塊,用于存儲(chǔ)上級(jí)服務(wù)器通信模塊根據(jù)本地業(yè)務(wù)資源列 表向上級(jí)服務(wù)器申請(qǐng)的業(yè)務(wù)資源;業(yè)務(wù)信息查詢模塊,用于在收到用戶通信 模塊發(fā)送的用戶業(yè)務(wù)請(qǐng)求后,向業(yè)務(wù)資源列表查詢本邊緣服務(wù)器是否是最適 合存儲(chǔ)該業(yè)務(wù)的,如果不是,則向節(jié)點(diǎn)負(fù)載管理模塊查詢最適合存儲(chǔ)該業(yè)務(wù) 的同級(jí)邊緣服務(wù)器,并通過(guò)同級(jí)邊緣服務(wù)器通信模塊向其所述最適合存儲(chǔ)該 業(yè)務(wù)的同級(jí)邊緣服務(wù)器轉(zhuǎn)發(fā)所述業(yè)務(wù)請(qǐng)求。本發(fā)明的另一較優(yōu)實(shí)施例公開(kāi)了一種內(nèi)容分發(fā)網(wǎng),包括中心服務(wù)器、邊 緣網(wǎng)絡(luò)和用戶網(wǎng)絡(luò),其特征在于,所述的邊緣網(wǎng)絡(luò)中包括多個(gè)邊緣服務(wù)器, 各邊緣服務(wù)器組成疊加網(wǎng),共同向用戶網(wǎng)絡(luò)進(jìn)行業(yè)務(wù)資源分發(fā)。優(yōu)選的,所述的各邊緣服務(wù)器是根據(jù)分布式哈希表DHT規(guī)則加入疊加 網(wǎng)的。優(yōu)選的,所述的業(yè)務(wù)資源是由各邊緣服務(wù)器根據(jù)DHT規(guī)則向中心服務(wù) 器申請(qǐng)后存儲(chǔ)在本地的。優(yōu)選的,所述的業(yè)務(wù)資源是由中心服務(wù)器根據(jù)DHT規(guī)則主動(dòng)向各邊緣服 務(wù)器發(fā)送,并由各邊緣服務(wù)器進(jìn)行本地存儲(chǔ)的。通過(guò)實(shí)施本發(fā)明,能夠在為同一個(gè)本地邊緣網(wǎng)絡(luò)服務(wù)的多個(gè)ES間建立 一種高效的overlay (疊加網(wǎng))來(lái)在一個(gè)邊緣網(wǎng)絡(luò)中自行調(diào)度資源從而完成 業(yè)務(wù)資源的分發(fā),從整體上降低本地邊緣網(wǎng)絡(luò)中ES設(shè)備的成本、提高整個(gè)
ES網(wǎng)絡(luò)的內(nèi)容分發(fā)效率。
圖1為現(xiàn)有技術(shù)中的星型內(nèi)容分發(fā)網(wǎng)結(jié)構(gòu)示意圖; 圖2為現(xiàn)有技術(shù)中另一種提供流媒體業(yè)務(wù)的系統(tǒng)示意圖; 圖3為本發(fā)明所述方法的一個(gè)實(shí)施例的流程圖; 圖4a為本發(fā)明實(shí)施例中邊緣服務(wù)器的結(jié)構(gòu)圖;圖4b為本發(fā)明實(shí)施例中圖4a的邊緣服務(wù)器中的內(nèi)容調(diào)度模塊的結(jié)構(gòu)圖;圖5為本發(fā)明實(shí)施例中內(nèi)容分發(fā)網(wǎng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明在建立內(nèi)容分發(fā)網(wǎng)的過(guò)程中,通過(guò)降低邊緣服務(wù)器ES設(shè)備的集成度 要求,增加ES設(shè)備的數(shù)量,在為同一個(gè)本地邊緣網(wǎng)絡(luò)服務(wù)的多個(gè)ES間建立一種 高效的overlay (疊加網(wǎng))來(lái)在一個(gè)邊緣網(wǎng)絡(luò)中自行調(diào)度資源從而完成業(yè)務(wù)資源 的分發(fā),從整體上降低本地邊緣網(wǎng)絡(luò)中ES設(shè)備的成本、提高整個(gè)ES網(wǎng)絡(luò)的內(nèi)容 分發(fā)效率。下面通過(guò)具體實(shí)施例和附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。圖3為本發(fā)明所述方法一個(gè)實(shí)施例的流程圖。參見(jiàn)圖3,該實(shí)施例所示的分布式內(nèi)容分發(fā)方法,包括步驟301、依照分布式哈希表DHT規(guī)則建立邊緣網(wǎng)絡(luò)內(nèi)多個(gè)邊緣服務(wù)器之間的疊加網(wǎng),使疊加網(wǎng)內(nèi)多個(gè)邊緣服務(wù)器ES之間的業(yè)務(wù)資源列表可以共享和查詢。具體的,疊加網(wǎng)的組建和新的ES加入的步驟包括新的邊緣服務(wù)器ES在進(jìn)入邊緣網(wǎng)絡(luò)后,向中心服務(wù)器申請(qǐng)加入其所在的邊 緣網(wǎng)絡(luò)的overlay的ID標(biāo)識(shí),以保證在其所服務(wù)的邊緣網(wǎng)絡(luò)內(nèi)能夠唯一標(biāo)識(shí)該ES 并能自動(dòng)根據(jù)DHT規(guī)則均衡地向中心服務(wù)器獲取分配的存儲(chǔ)任務(wù);
中心服務(wù)器根據(jù)該邊緣網(wǎng)絡(luò)內(nèi)的ES的ID空間的分布及其他策略為該ES分 配ID標(biāo)識(shí),同時(shí)分發(fā)該邊緣網(wǎng)絡(luò)內(nèi)原有的其他邊緣服務(wù)器ES在overlay上的相關(guān) ES地址信息,相關(guān)ES地址的分發(fā)選擇和具體的DHT規(guī)則有關(guān),這里不作限定;新的ES獲取上述同 一邊緣網(wǎng)絡(luò)內(nèi)其他ES的地址信息后,根據(jù)具體DHT的建 設(shè)規(guī)則與其他ES通信,加入overlay。這里的中心服務(wù)器包括一切能夠提供業(yè)務(wù)資源的設(shè)備。步驟302、中心服務(wù)器依照請(qǐng)求分別向邊緣網(wǎng)絡(luò)內(nèi)的每個(gè)邊緣服務(wù)器分 配業(yè)務(wù)資源。當(dāng) 一個(gè)ES成功加入邊緣網(wǎng)絡(luò)的疊加網(wǎng)后,就會(huì)向中心服務(wù)器申請(qǐng)分配 業(yè)務(wù)資源,這可以保證所有的業(yè)務(wù)資源在整個(gè)邊緣網(wǎng)絡(luò)內(nèi)均衡分布,這個(gè)過(guò) 程具體包括邊緣服務(wù)器向中心服務(wù)器申請(qǐng)業(yè)務(wù)資源列表;邊緣服務(wù)器獲得業(yè)務(wù)資源列表后,將該列表中的業(yè)務(wù)資源名稱或者其他 能夠唯一標(biāo)識(shí)該業(yè)務(wù)資源的關(guān)鍵詞在與該邊緣服務(wù)器的ID標(biāo)識(shí)相同的Hash 空間內(nèi)進(jìn)行Hash處理,生成該業(yè)務(wù)資源的Hash值;邊緣服務(wù)器根據(jù)業(yè)務(wù)資源的Hash值和DHT規(guī)則,確定應(yīng)該由自己負(fù)責(zé) 存儲(chǔ)的業(yè)務(wù)資源列表;如果所述邊緣服務(wù)器是在疊加網(wǎng)初步組建的時(shí)候加入的,那么,該邊緣 服務(wù)器就要根據(jù)所述業(yè)務(wù)資源列表的內(nèi)容向中心服務(wù)器申請(qǐng)相應(yīng)的業(yè)務(wù)資 源,中心服務(wù)器將這些業(yè)務(wù)資源發(fā)送給邊緣服務(wù)器后,由邊緣服務(wù)器進(jìn)行保 存;如果所述邊緣服務(wù)器是在疊加網(wǎng)組建完成后新加入的,則該邊緣服務(wù)器 只需要根據(jù)DHT規(guī)則從相鄰的邊緣服務(wù)器分擔(dān)存儲(chǔ)的業(yè)務(wù)資源,相鄰的邊 緣服務(wù)器將相應(yīng)的業(yè)務(wù)資源備份到新加入的邊緣服務(wù)器以后,修改自己的業(yè) 務(wù)資源列表,并刪除已經(jīng)備份給新加入的邊緣服務(wù)器的業(yè)務(wù)資源。。步驟303、邊緣網(wǎng)絡(luò)的邊緣服務(wù)器根據(jù)用戶請(qǐng)求向用戶分發(fā)業(yè)務(wù)資源。用戶通過(guò)中心服務(wù)器獲得一個(gè)邊緣服務(wù)器的地址并接入邊緣網(wǎng)絡(luò)后,用戶 請(qǐng)求會(huì)在整個(gè)疊加網(wǎng)內(nèi)進(jìn)行再分配,以實(shí)現(xiàn)負(fù)載均衡。這個(gè)步驟具體包括用戶向中心服務(wù)器發(fā)起獲取本地邊緣網(wǎng)絡(luò)中的ES地址的請(qǐng)求,中心服務(wù)器向隨機(jī)或者依據(jù)一定的規(guī)則用戶反饋一個(gè)ES的地址; 用戶向該ES發(fā)起具體業(yè)務(wù)請(qǐng)求;接受用戶請(qǐng)求的ES根據(jù)該用戶請(qǐng)求的業(yè)務(wù)的Hash值向本地疊加網(wǎng)查詢最 適合存儲(chǔ)該業(yè)務(wù)的本地邊緣服務(wù)器,并向所述最適合存儲(chǔ)該業(yè)務(wù)的邊緣服務(wù)器 轉(zhuǎn)發(fā)所述用戶請(qǐng)求;如果所述的邊緣服務(wù)器上存儲(chǔ)有用戶請(qǐng)求的業(yè)務(wù),則該邊緣服務(wù)器向用戶 轉(zhuǎn)發(fā)業(yè)務(wù)資源,如果所述的邊緣服務(wù)器上沒(méi)有存儲(chǔ)該業(yè)務(wù)資源,則所述邊緣服 務(wù)器從中心服務(wù)器上下載該節(jié)目?jī)?nèi)容并轉(zhuǎn)發(fā)給用戶。以上所述,為邊緣服務(wù)器主動(dòng)向中心服務(wù)器申請(qǐng)業(yè)務(wù)的情形,主要適用 于根據(jù)不同用戶需求向用戶發(fā)送業(yè)務(wù)的時(shí)候,例如在IPTV中的點(diǎn)播業(yè)務(wù), 也可以稱之為非固定業(yè)務(wù)。還有一種情況是,中心服務(wù)器需要將某些業(yè)務(wù)推向邊緣網(wǎng)絡(luò),例如在 IPTV中的直播業(yè)務(wù),也可以稱之為固定業(yè)務(wù)。在提供固定業(yè)務(wù)的時(shí)候,也 需要邊緣服務(wù)器存儲(chǔ)相應(yīng)的業(yè)務(wù)資源,這個(gè)步驟包括中心服務(wù)器將業(yè)務(wù)資源列表中能夠唯一標(biāo)識(shí)業(yè)務(wù)的關(guān)鍵詞(例如業(yè)務(wù)名 稱)Hash化后根據(jù)DHT規(guī)則發(fā)送給邊緣網(wǎng)絡(luò)中的邊緣服務(wù)器進(jìn)行存儲(chǔ);用戶獲取資源的時(shí)候,向中心服務(wù)器請(qǐng)求獲取業(yè)務(wù)資源列表和本地邊緣網(wǎng) 纟各中的ES地址;用戶向本地邊緣網(wǎng)絡(luò)中的任意一個(gè)ES發(fā)送獲取該業(yè)務(wù)資源列表中的某個(gè) 業(yè)務(wù)的請(qǐng)求;接收該請(qǐng)求的ES在本地疊加網(wǎng)上查詢存儲(chǔ)該業(yè)務(wù)的邊緣服務(wù)器,并向存儲(chǔ) 該業(yè)務(wù)的邊緣服務(wù)器轉(zhuǎn)發(fā)所述用戶請(qǐng)求,攜帶該用戶的信息; 存儲(chǔ)該業(yè)務(wù)的邊緣服務(wù)器向用戶發(fā)送該業(yè)務(wù)。在邊緣服務(wù)器向用戶分發(fā)業(yè)務(wù)資源的過(guò)程中,還會(huì)出現(xiàn)某些業(yè)務(wù)資源在較 短時(shí)間內(nèi)被大量用戶請(qǐng)求,則存儲(chǔ)該業(yè)務(wù)資源的邊緣服務(wù)器將面臨很大的流量 壓力,可能引起網(wǎng)絡(luò)癱瘓,這種情況可以通過(guò)以下步驟解決
存儲(chǔ)該業(yè)務(wù)的邊緣服務(wù)器(原始邊緣服務(wù)器)在向用戶提供業(yè)務(wù)的同時(shí), 記錄請(qǐng)求該業(yè)務(wù)的所有用戶的信息;當(dāng)請(qǐng)求該業(yè)務(wù)的用戶并發(fā)數(shù)量達(dá)到設(shè)定的閾值時(shí),存儲(chǔ)該業(yè)務(wù)的邊緣服務(wù) 器將該業(yè)務(wù)資源備份到另 一個(gè)或者多個(gè)邊緣服務(wù)器上,并在本地保存一份備份地址鏈接表;當(dāng)有新用戶向保存業(yè)務(wù)資源的原始邊緣服務(wù)器發(fā)起獲取該業(yè)務(wù)資源的請(qǐng)求 時(shí),該原始邊緣服務(wù)器查詢自己的備份地址鏈接表,向用戶返回一個(gè)可用的備 份邊緣服務(wù)器,用戶再向該備份邊緣服務(wù)器發(fā)起獲取業(yè)務(wù)資源的請(qǐng)求,由該備 份邊緣服務(wù)器向用戶提供業(yè)務(wù)資源。在上述步驟中,為了保證備份邊緣服務(wù)器能夠?yàn)橛脩籼峁I(yè)務(wù)資源,原始 邊緣服務(wù)器要定期檢查備份ES的工作負(fù)載情況,當(dāng)發(fā)生備份ES不能提供協(xié)助服 務(wù)的情況時(shí),原始邊緣服務(wù)器可以重新選擇或者增加備份ES,保證原始邊緣服 務(wù)器上的用戶請(qǐng)求多的業(yè)務(wù)一 直存在有效的^f分。在疊加網(wǎng)建立后,邊緣服務(wù)器向用戶提供業(yè)務(wù)資源的同時(shí),為了管理分布 式的疊加網(wǎng),保證各邊緣服務(wù)器能夠正常為用戶提供業(yè)務(wù),還需要維護(hù)各邊緣 服務(wù)器的工作情況,這是通過(guò)步驟來(lái)實(shí)現(xiàn)的中心服務(wù)器定義保存所有ES信息的維護(hù)文件的標(biāo)識(shí)和數(shù)據(jù)格式發(fā)送給 各ES;各ES將該維護(hù)文件的標(biāo)識(shí)Hash化后得到一個(gè)Hash值,然后根據(jù)該維 護(hù)文件標(biāo)識(shí)的Hash值和DHT規(guī)則在疊加網(wǎng)中確定該維護(hù)文件的存放節(jié)點(diǎn);各ES定期向該存放節(jié)點(diǎn)發(fā)送自己的工作信息并從該維護(hù)節(jié)點(diǎn)查詢其他 ES的工作信息,還可以備份其他邊緣服務(wù)器的工作信息到本地供通信時(shí)使 用。優(yōu)選的,本發(fā)明提供的上述方法可應(yīng)用于IPTV業(yè)務(wù),如果用戶請(qǐng)求的 節(jié)目是點(diǎn)播節(jié)目,邊緣服務(wù)器加入疊加網(wǎng)后,向中心服務(wù)器申請(qǐng)應(yīng)該由自己 存儲(chǔ)的點(diǎn)播節(jié)目并進(jìn)行保存,用戶只需要首次向中心服務(wù)器獲取一個(gè)邊緣服 務(wù)器的地址和點(diǎn)播節(jié)目列表,就能夠從邊緣網(wǎng)絡(luò)獲得自己想點(diǎn)播的節(jié)目,具
體的獲取過(guò)程如上所述;如果用戶請(qǐng)求的節(jié)目是直播節(jié)目,中心服務(wù)器主動(dòng) 將這些直播節(jié)目依照DHT規(guī)則分發(fā)到各個(gè)邊緣服務(wù)器上,用戶只需要首次 向中心服務(wù)器獲取一個(gè)邊緣服務(wù)器的地址和直播節(jié)目列表,就能夠從邊緣網(wǎng) 絡(luò)獲得希望的直播節(jié)目,節(jié)目的調(diào)度方式如上述方法所述。根據(jù)上述方法,本發(fā)明還公開(kāi)了一種邊緣服務(wù)器的較優(yōu)實(shí)施例。圖4a 為本發(fā)明所述邊緣服務(wù)器的一個(gè)較優(yōu)實(shí)施例的總體結(jié)構(gòu)圖,圖4b為所述邊 緣服務(wù)器中的內(nèi)容調(diào)度模塊的內(nèi)部結(jié)構(gòu)圖,參見(jiàn)圖4a和圖4b,該邊緣服務(wù) 器位于邊緣網(wǎng)絡(luò)上,包括用戶通信模塊,用于接收用戶發(fā)起的業(yè)務(wù)請(qǐng)求并向用戶發(fā)送其所請(qǐng)求的 業(yè)務(wù);上級(jí)服務(wù)器通信模塊,用于和上級(jí)服務(wù)器通信,從上級(jí)服務(wù)器獲取加入 疊加網(wǎng)的ID標(biāo)識(shí),業(yè)務(wù)資源列表和業(yè)務(wù)資源;內(nèi)容調(diào)度模塊,用于通過(guò)上級(jí)服務(wù)器通信模塊從上級(jí)服務(wù)器獲取業(yè)務(wù)資 源,根據(jù)用戶通信模塊轉(zhuǎn)發(fā)的業(yè)務(wù)請(qǐng)求完成業(yè)務(wù)調(diào)度并向用戶通信模塊轉(zhuǎn)發(fā) 業(yè)務(wù)資源;同級(jí)邊緣服務(wù)器通信模塊,用于根據(jù)上級(jí)服務(wù)器分配的ID標(biāo)識(shí)和發(fā)送 的其他同級(jí)邊緣服務(wù)器的地址和其他同級(jí)邊緣服務(wù)器進(jìn)行通信,以建立疊加 網(wǎng)、轉(zhuǎn)發(fā)用戶請(qǐng)求、獲取其他用戶的工作信息和業(yè)務(wù)資源列表。其中,所述的內(nèi)容調(diào)度模塊進(jìn)一步包括節(jié)點(diǎn)負(fù)載管理模塊,用于接收并存儲(chǔ)從同級(jí)邊緣服務(wù)器通信模塊轉(zhuǎn)發(fā)的 其他同級(jí)邊緣服務(wù)器的業(yè)務(wù)資源列表和工作負(fù)載信息;內(nèi)容管理模塊,用于存儲(chǔ)本地業(yè)務(wù)資源列表和與該業(yè)務(wù)資源列表對(duì)應(yīng)的 業(yè)務(wù)資源。其中,所述的節(jié)點(diǎn)負(fù)載管理模塊進(jìn)一步包括用戶信息統(tǒng)計(jì)模塊,用于在內(nèi)容管理模塊向用戶通信模塊發(fā)送業(yè)務(wù)資源 的同時(shí)記錄接收該業(yè)務(wù)的所有用戶信息,以判斷是否需要將該業(yè)務(wù)備份到其 他同級(jí)邊緣服務(wù)器;工作信息管理模塊,用于存儲(chǔ)同級(jí)邊緣服務(wù)器通信模塊獲得的其他同級(jí) 服務(wù)器的工作信息,包括其他同級(jí)邊緣服務(wù)器的業(yè)務(wù)資源列表和業(yè)務(wù)備份信 息。其中,所述的內(nèi)容管理模塊進(jìn)一步包括業(yè)務(wù)標(biāo)識(shí)處理模塊,在上級(jí)服務(wù)器通信模塊從上級(jí)服務(wù)器獲取業(yè)務(wù)資源 列表后,用于將該列表中能夠唯一業(yè)務(wù)標(biāo)識(shí)的關(guān)鍵詞在與所述ID標(biāo)識(shí)相同 的Hash空間中進(jìn)行Hash處理,獲得該業(yè)務(wù)的Hash值,并依據(jù)該Hash值 生成本地業(yè)務(wù)資源列表;業(yè)務(wù)資源列表存儲(chǔ)模塊,用于存儲(chǔ)所述的業(yè)務(wù)標(biāo)識(shí)處理模塊生成的本地 業(yè)務(wù)資源列表;業(yè)務(wù)資源存儲(chǔ)模塊,用于存儲(chǔ)上級(jí)服務(wù)器通信模塊根據(jù)本地業(yè)務(wù)資源列 表向上級(jí)服務(wù)器申請(qǐng)的業(yè)務(wù)資源;業(yè)務(wù)信息查詢模塊,用于在收到用戶通信模塊發(fā)送的用戶業(yè)務(wù)請(qǐng)求后, 向業(yè)務(wù)資源列表查詢本邊緣服務(wù)器是否是最適合存儲(chǔ)該業(yè)務(wù)的,如果不是,則向節(jié)點(diǎn)負(fù)載管理模塊查詢最適合存儲(chǔ)該業(yè)務(wù)的同級(jí)邊緣服務(wù)器,并通過(guò)同 級(jí)邊緣服務(wù)器通信模塊向其所述最適合存儲(chǔ)該業(yè)務(wù)的同級(jí)邊緣服務(wù)器轉(zhuǎn)發(fā) 所述業(yè)務(wù)請(qǐng)求。根據(jù)本發(fā)明的上述方法的實(shí)施例和邊緣服務(wù)器的實(shí)施例,本發(fā)明另外公 開(kāi)了一種內(nèi)容分發(fā)網(wǎng)的實(shí)施例,如圖5所示,包括中心服務(wù)器CS、邊緣網(wǎng) 絡(luò)和用戶網(wǎng)絡(luò),其中,所述的邊緣網(wǎng)絡(luò)中包括多個(gè)邊緣服務(wù)器ES,各邊緣 服務(wù)器組成疊加網(wǎng)(overlay),共同向用戶網(wǎng)絡(luò)進(jìn)行業(yè)務(wù)資源分發(fā)。其中,所述的多個(gè)邊緣服務(wù)器是通過(guò)分布式哈希表DHT規(guī)則加入疊加 網(wǎng)的。其中,所述的業(yè)務(wù)資源是根據(jù)各邊緣服務(wù)器根據(jù)DHT規(guī)則向中心服務(wù) 器申請(qǐng)后存儲(chǔ)在本地的。其中,所述的業(yè)務(wù)資源是由中心服務(wù)器根據(jù)DHT規(guī)則主動(dòng)向各邊緣服 務(wù)器發(fā)送,并由各邊緣服務(wù)器進(jìn)行本地存儲(chǔ)的。 以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不 局限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到 的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種分布式內(nèi)容分發(fā)方法,其特征在于,包括建立邊緣網(wǎng)絡(luò)內(nèi)多個(gè)邊緣服務(wù)器ES之間的疊加網(wǎng);中心服務(wù)器向邊緣網(wǎng)絡(luò)內(nèi)的每個(gè)邊緣服務(wù)器ES分配業(yè)務(wù)資源;收到用戶請(qǐng)求的邊緣服務(wù)器ES根據(jù)用戶請(qǐng)求選擇特定的邊緣服務(wù)器ES向用戶分發(fā)業(yè)務(wù)資源。
2、 如權(quán)利要求1所述的分布式內(nèi)容分發(fā)方法,其特征在于,所述建立 邊緣網(wǎng)絡(luò)內(nèi)多個(gè)邊緣服務(wù)器ES之間的疊加網(wǎng)的步驟具體包括,根據(jù)分布式 哈希表DHT規(guī)則建立邊緣網(wǎng)絡(luò)內(nèi)多個(gè)邊緣服務(wù)器ES之間的疊加網(wǎng)。
3、 如權(quán)利要求2所述的分布式內(nèi)容分發(fā)方法,其特征在于,所述根據(jù) 分布式哈希表DHT規(guī)則建立邊緣網(wǎng)絡(luò)內(nèi)多個(gè)邊緣服務(wù)器ES之間的疊加網(wǎng)的 步驟進(jìn)一步包括邊緣服務(wù)器ES向中心服務(wù)器發(fā)起申請(qǐng)加入其所在的邊緣網(wǎng)絡(luò)的疊加網(wǎng) 的請(qǐng)求,攜帶該邊緣網(wǎng)絡(luò)信息;中心服務(wù)器根據(jù)該邊緣網(wǎng)絡(luò)內(nèi)的ES的ID空間分布情況為發(fā)起請(qǐng)求的 ES分配ID標(biāo)識(shí)并發(fā)送該邊緣網(wǎng)絡(luò)內(nèi)其他ES在疊加網(wǎng)中的ES地址;所述邊緣服務(wù)器ES獲取上述同一邊緣網(wǎng)絡(luò)內(nèi)其他ES的地址后,根據(jù) DHT規(guī)則與其他ES通信,加入疊加網(wǎng)。
4、 如權(quán)利要求1所述的方法,其特征在于,所述的中心服務(wù)器向邊緣 網(wǎng)絡(luò)內(nèi)的每個(gè)邊緣服務(wù)器ES分配業(yè)務(wù)資源的步驟具體為,中心服務(wù)器根據(jù) DHT規(guī)則向邊緣網(wǎng)絡(luò)內(nèi)的每個(gè)邊緣服務(wù)器ES分配業(yè)務(wù)資源。
5、 如權(quán)利要求4所述的分布式內(nèi)容分發(fā)方法,其特征在于,若所述業(yè) 務(wù)為固定業(yè)務(wù),則所述中心服務(wù)器根據(jù)DHT規(guī)則向邊緣網(wǎng)絡(luò)內(nèi)的每個(gè)邊緣 服務(wù)器ES分配業(yè)務(wù)資源的步驟具體包括中心服務(wù)器將能唯 一 標(biāo)識(shí)該業(yè)務(wù)資源的關(guān)鍵詞進(jìn)行Hash化后根據(jù)DHT 規(guī)則確定邊緣網(wǎng)絡(luò)的疊加網(wǎng)中的各個(gè)邊緣服務(wù)器ES應(yīng)該負(fù)責(zé)存儲(chǔ)的業(yè)務(wù)資 源后,向各ES推送應(yīng)由其負(fù)責(zé)存儲(chǔ)的業(yè)務(wù)資源。
6、 如權(quán)利要求4所述的分布式內(nèi)容分發(fā)方法,其特征在于,若所述業(yè) 務(wù)為非固定業(yè)務(wù),則所述中心服務(wù)器根據(jù)DHT規(guī)則向邊緣網(wǎng)絡(luò)內(nèi)的每個(gè)邊 緣服務(wù)器ES分配業(yè)務(wù)資源的步驟進(jìn)一步包括以下步驟邊緣服務(wù)器ES向中心服務(wù)器申請(qǐng)業(yè)務(wù)資源列表;ES獲得業(yè)務(wù)資源列表后,將該業(yè)務(wù)資源列表中唯一標(biāo)識(shí)該業(yè)務(wù)資源的 關(guān)^t詞在與該ES的ID標(biāo)識(shí)相同的Hash空間內(nèi)進(jìn)行Hash處理,生成該業(yè) 務(wù)資源的Hash值;ES根據(jù)DHT規(guī)則和所述業(yè)務(wù)資源的Hash值,生成應(yīng)由自己負(fù)責(zé)存儲(chǔ) 的本地業(yè)務(wù)資源列表;ES向中心服務(wù)器申請(qǐng)應(yīng)當(dāng)由自己負(fù)責(zé)存儲(chǔ)的業(yè)務(wù)資源并進(jìn)行存儲(chǔ)。
7、 如權(quán)利要求6所述的分布式內(nèi)容分發(fā)方法,其特征在于,所述邊緣 服務(wù)器ES根據(jù)用戶請(qǐng)求選擇特定的邊緣服務(wù)器ES向用戶分發(fā)業(yè)務(wù)資源的 步驟具體包括以下步驟用戶向中心服務(wù)器發(fā)起申請(qǐng)邊緣服務(wù)器ES的請(qǐng)求; 中心服務(wù)器收到上述請(qǐng)求后,根據(jù)用戶地址信息向用戶返回為其提供服 務(wù)的邊緣網(wǎng)絡(luò)中的一個(gè)ES的地址;用戶向該ES發(fā)起具體的業(yè)務(wù)請(qǐng)求;該ES #4居所述業(yè)務(wù)資源的Hash值向本地疊加網(wǎng)查詢最適合存儲(chǔ)該業(yè) 務(wù)資源的ES的地址并向其轉(zhuǎn)發(fā)用戶請(qǐng)求,攜帶用戶信息;所述最適合存儲(chǔ)該業(yè)務(wù)資源的ES查詢本地存儲(chǔ)的業(yè)務(wù)資源,如果本地 存儲(chǔ)有用戶請(qǐng)求的資源,則直接向用戶發(fā)送該業(yè)務(wù)資源;如果本地沒(méi)有存儲(chǔ) 用戶請(qǐng)求的資源,則從中心服務(wù)器下載該業(yè)務(wù)資源并轉(zhuǎn)發(fā)給該用戶。
8、 如權(quán)利要求6所述的分布式內(nèi)容分發(fā)方法,其特征在于,所述最適 合存儲(chǔ)該業(yè)務(wù)的ES向用戶發(fā)送業(yè)務(wù)資源的步驟,進(jìn)一步包括所述最適合存儲(chǔ)該業(yè)務(wù)的ES向用戶發(fā)送業(yè)務(wù)資源,同時(shí)統(tǒng)計(jì)請(qǐng)求該業(yè) 務(wù)的所有用戶的信息;當(dāng)請(qǐng)求該業(yè)務(wù)的用戶負(fù)載超過(guò)規(guī)定的閾值時(shí),所述最適合存儲(chǔ)該業(yè)務(wù)的ES將該業(yè)務(wù)資源備份到同 一疊加網(wǎng)內(nèi)的一個(gè)或多個(gè)ES上,并在本地建立備 份鏈接;所述最適合存儲(chǔ)該業(yè)務(wù)資源的ES向?qū)φ?qǐng)求該業(yè)務(wù)的新用戶返回一個(gè)可 用的備份ES,由該備份ES向新用戶提供業(yè)務(wù)資源。
9、 如權(quán)利要求7所述的分布式內(nèi)容分發(fā)方法,其特征在于,所述方法 還包括所述最適合存儲(chǔ)該業(yè)務(wù)資源的ES定期檢測(cè)備份ES的工作負(fù)載情況, 判斷其是否能夠繼續(xù)提供備份協(xié)助,如果不能,則重新選擇或增加備份ES。
10、 如權(quán)利要求6所述的分布式內(nèi)容分發(fā)方法,其特征在于,所述邊緣 服務(wù)器ES根據(jù)用戶請(qǐng)求選擇特定的邊緣服務(wù)器ES向用戶分發(fā)業(yè)務(wù)資源的 步驟具體包括用戶向中心服務(wù)器獲取固定業(yè)務(wù)資源列表和本地邊緣網(wǎng)絡(luò)的邊緣服務(wù) 器的地址;用戶向?yàn)楸镜鼐W(wǎng)絡(luò)服務(wù)的邊緣網(wǎng)絡(luò)中的任意 一個(gè)ES發(fā)送獲取固定業(yè)務(wù) 資源的請(qǐng)求;接收請(qǐng)求的ES在本地的疊加網(wǎng)中查詢負(fù)責(zé)該固定業(yè)務(wù)資源的ES并向 其轉(zhuǎn)發(fā)該用戶請(qǐng)求;所述負(fù)責(zé)該固定業(yè)務(wù)的ES向用戶發(fā)送其所請(qǐng)求的業(yè)務(wù)資源。
11、 如權(quán)利要求1至10中任意一項(xiàng)所述的分布式內(nèi)容分發(fā)方法,其特 征在于,所述方法進(jìn)一步包括邊緣網(wǎng)絡(luò)中的各ES發(fā)送自己的工作信息到疊加網(wǎng)中存放維護(hù)文件的節(jié) 點(diǎn)并從該節(jié)點(diǎn)獲取其他ES的工作信息。
12、 如權(quán)利要求11所述的分布式內(nèi)容分發(fā)方法,其特征在于,所述邊 緣網(wǎng)絡(luò)中的各ES發(fā)送自己的工作信息到疊加網(wǎng)中存放維護(hù)文件的節(jié)點(diǎn)并從 該節(jié)點(diǎn)獲取其他ES的工作信息的步驟具體包括中心服務(wù)器定義保存所有ES信息的維護(hù)文件的標(biāo)識(shí)和數(shù)據(jù)格式發(fā)送給各ES;各ES根據(jù)該維護(hù)文件標(biāo)識(shí)的Hash值和DHT規(guī)則在疊加網(wǎng)中確定該維 護(hù)文件的存放節(jié)點(diǎn);各ES定期向該存放節(jié)點(diǎn)發(fā)送自己的工作信息并從該維護(hù)節(jié)點(diǎn)查詢其他 ES的工作信息。
13、 如權(quán)利要求11所述的分布式內(nèi)容分發(fā)方法,其特征在于,各ES 定期從存放維護(hù)文件的節(jié)點(diǎn)備份維護(hù)文件到本地。
14、 一種邊緣服務(wù)器,其特征在于,包括用戶通信模塊,用于接收用戶發(fā)起的業(yè)務(wù)請(qǐng)求并向用戶發(fā)送其所請(qǐng)求的 業(yè)務(wù);上級(jí)服務(wù)器通信模塊,用于和上級(jí)服務(wù)器通信,從上級(jí)服務(wù)器獲取加入 疊加網(wǎng)的ID標(biāo)識(shí),業(yè)務(wù)資源列表和業(yè)務(wù)資源;內(nèi)容調(diào)度模塊,用于通過(guò)上級(jí)服務(wù)器通信模塊從上級(jí)服務(wù)器獲取業(yè)務(wù)資 源,根據(jù)用戶通信模塊轉(zhuǎn)發(fā)的業(yè)務(wù)請(qǐng)求完成業(yè)務(wù)調(diào)度并向用戶通信模塊轉(zhuǎn)發(fā) 業(yè)務(wù)資源;同級(jí)邊緣服務(wù)器通信模塊,用于根據(jù)上級(jí)服務(wù)器分配的ID標(biāo)識(shí)和發(fā)送 的其他同級(jí)邊緣服務(wù)器的地址和其他同級(jí)邊緣服務(wù)器進(jìn)行通信,以建立疊加 網(wǎng)、轉(zhuǎn)發(fā)用戶請(qǐng)求、獲取其他用戶的工作信息和業(yè)務(wù)資源列表。
15、 如權(quán)利要求13所述的邊緣服務(wù)器,其特征在于,所述的內(nèi)容調(diào)度 模塊進(jìn)一步包括節(jié)點(diǎn)負(fù)載管理模塊,用于接收并存儲(chǔ)從同級(jí)邊緣服務(wù)器通信模塊轉(zhuǎn)發(fā)的 其他同級(jí)邊緣服務(wù)器的業(yè)務(wù)資源列表和工作負(fù)載信息;內(nèi)容管理模塊,用于存儲(chǔ)本地業(yè)務(wù)資源列表和與該業(yè)務(wù)資源列表對(duì)應(yīng)的 業(yè)務(wù)資源。
16、 如權(quán)利要求15所述的邊緣服務(wù)器,其特征在于,所述的節(jié)點(diǎn)負(fù)載 管理模塊進(jìn)一步包括用戶信息統(tǒng)計(jì)模塊,用于在內(nèi)容管理模塊向用戶通信模塊發(fā)送業(yè)務(wù)資源 的同時(shí)記錄接收該業(yè)務(wù)的所有用戶信息,以判斷是否需要將該業(yè)務(wù)備份到其他同級(jí)邊緣服務(wù)器;工作信息管理模塊,用于存儲(chǔ)同級(jí)邊緣服務(wù)器通信模塊獲得的其他同級(jí) 邊緣服務(wù)器的工作信息,包括其他同級(jí)邊緣服務(wù)器的業(yè)務(wù)資源列表和業(yè)務(wù)備 份信息。
17、 如權(quán)利要求15所述的邊緣服務(wù)器,其特征在于,所述的內(nèi)容管理 模塊進(jìn)一步包括業(yè)務(wù)標(biāo)識(shí)處理模塊,在上級(jí)服務(wù)器通信模塊從上級(jí)服務(wù)器獲取業(yè)務(wù)資源 列表后,用于將該列表中能夠唯一業(yè)務(wù)標(biāo)識(shí)的關(guān)鍵詞在與所述ID標(biāo)識(shí)相同 的Hash空間中進(jìn)行Hash處理,獲得該業(yè)務(wù)的Hash值,并依據(jù)該Hash值 生成本地業(yè)務(wù)資源列表;業(yè)務(wù)資源列表存儲(chǔ)模塊,用于存儲(chǔ)所述的業(yè)務(wù)標(biāo)識(shí)處理模塊生成的本地 業(yè)務(wù)資源列表;業(yè)務(wù)資源存儲(chǔ)模塊,用于存儲(chǔ)上級(jí)服務(wù)器通信模塊根據(jù)本地業(yè)務(wù)資源列 表向上級(jí)服務(wù)器申請(qǐng)的業(yè)務(wù)資源;業(yè)務(wù)信息查詢模塊,用于在收到用戶通信模塊發(fā)送的用戶業(yè)務(wù)請(qǐng)求后, 向業(yè)務(wù)資源列表查詢本邊緣服務(wù)器是否是最適合存儲(chǔ)該業(yè)務(wù)的,如果不是,則向節(jié)點(diǎn)負(fù)載管理模塊查詢最適合存儲(chǔ)該業(yè)務(wù)的同級(jí)邊緣服務(wù)器,并通過(guò)同 級(jí)邊緣服務(wù)器通信模塊向其所述最適合存儲(chǔ)該業(yè)務(wù)的同級(jí)邊緣服務(wù)器轉(zhuǎn)發(fā) 所述業(yè)務(wù)請(qǐng)求。
18、 一種內(nèi)容分發(fā)網(wǎng),包括中心服務(wù)器、邊緣網(wǎng)絡(luò)和用戶網(wǎng)絡(luò),其特征 在于,所述的邊緣網(wǎng)絡(luò)中包括多個(gè)邊緣服務(wù)器,各邊緣服務(wù)器ES組成疊加 網(wǎng),共同向用戶網(wǎng)絡(luò)進(jìn)行業(yè)務(wù)資源分發(fā)。
19、 如權(quán)利要求18所述的內(nèi)容分發(fā)網(wǎng),其特征在于,所述的各邊緣服 務(wù)器是根據(jù)分布式哈希表DHT規(guī)則加入疊加網(wǎng)的。
20、 如權(quán)利要求19所述的內(nèi)容分發(fā)網(wǎng),其特征在于,所述的業(yè)務(wù)資源 是由各邊緣服務(wù)器根據(jù)DHT規(guī)則向中心服務(wù)器申請(qǐng)后存儲(chǔ)在本地的。
21、如權(quán)利要求19所述的內(nèi)容分發(fā)網(wǎng),其特征在于,所述的業(yè)務(wù)資源 是由中心服務(wù)器根據(jù)DHT規(guī)則主動(dòng)向各邊緣服務(wù)器發(fā)送,并由各邊緣服務(wù) 器進(jìn)行本地存儲(chǔ)的。
全文摘要
本發(fā)明涉及數(shù)據(jù)傳輸技術(shù),公開(kāi)了一種分布式內(nèi)容分發(fā)方法、邊緣服務(wù)器和內(nèi)容分發(fā)網(wǎng)。其中,所述方法包括建立邊緣網(wǎng)絡(luò)內(nèi)多個(gè)邊緣服務(wù)器ES之間的疊加網(wǎng);中心服務(wù)器向邊緣網(wǎng)絡(luò)內(nèi)的每個(gè)邊緣服務(wù)器ES分配業(yè)務(wù)資源;邊緣服務(wù)器ES根據(jù)用戶請(qǐng)求向用戶分發(fā)業(yè)務(wù)資源。所述邊緣服務(wù)器包括內(nèi)容調(diào)度模塊,用于通過(guò)上級(jí)服務(wù)器通信模塊從上級(jí)服務(wù)器獲取業(yè)務(wù)資源,根據(jù)用戶通信模塊轉(zhuǎn)發(fā)的業(yè)務(wù)請(qǐng)求完成業(yè)務(wù)調(diào)度并向用戶通信模塊轉(zhuǎn)發(fā)業(yè)務(wù)資源。所述內(nèi)容分發(fā)網(wǎng)中的邊緣網(wǎng)絡(luò)中的多個(gè)邊緣服務(wù)器組成疊加網(wǎng),共同向用戶提供內(nèi)容分發(fā)服務(wù)。通過(guò)實(shí)施本發(fā)明,能夠降低系統(tǒng)對(duì)單個(gè)邊緣服務(wù)器集成度的要求,實(shí)現(xiàn)分布式服務(wù)和業(yè)務(wù)負(fù)載的地域均衡。
文檔編號(hào)H04L12/18GK101150421SQ20061014667
公開(kāi)日2008年3月26日 申請(qǐng)日期2006年11月13日 優(yōu)先權(quán)日2006年9月22日
發(fā)明者管紅光 申請(qǐng)人:華為技術(shù)有限公司