專利名稱:流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及內(nèi)容存儲(chǔ)技術(shù)領(lǐng)域,具體涉及流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整方法、裝置及系統(tǒng)。
背景技術(shù):
點(diǎn)對(duì)點(diǎn)(P2P,Peer to Peer)技術(shù)屬于一種分布式技術(shù),它屬于重疊網(wǎng)(Overlay Network)范疇,是相對(duì)于客戶端/服務(wù)器(C/S)模式而言的另一種網(wǎng)絡(luò)信息交換方式。P2P 網(wǎng)絡(luò)是一種對(duì)等網(wǎng)絡(luò)結(jié)構(gòu),在P2P網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)既可以從其它節(jié)點(diǎn)得到服務(wù),也可以向其它節(jié)點(diǎn)提供服務(wù)。這樣,龐大的終端資源被利用起來。
流媒體指在hternet/Intranet中使用流式傳輸技術(shù)的連續(xù)實(shí)時(shí)媒體,如音頻、 視頻或多媒體文件。流式傳輸時(shí),聲音、影像或動(dòng)畫等實(shí)時(shí)媒體由音視頻服務(wù)器向用戶計(jì)算機(jī)連續(xù)、實(shí)時(shí)傳送,用戶不必等到整個(gè)文件全部下載完畢,而只需經(jīng)過幾秒或十?dāng)?shù)秒的啟動(dòng)延時(shí)即可進(jìn)行觀看。當(dāng)聲音等實(shí)時(shí)媒體在客戶端上播放時(shí),文件的剩余部分將在后臺(tái)從服務(wù)器內(nèi)繼續(xù)下載。流媒體實(shí)現(xiàn)的關(guān)鍵技術(shù)就是流式傳輸。其主要應(yīng)用表現(xiàn)為直播(Live) 與點(diǎn)播(VoD)。
現(xiàn)有的分布式流媒體系統(tǒng)采用服務(wù)器結(jié)合P2P網(wǎng)絡(luò)的方式實(shí)現(xiàn)視頻直播、點(diǎn)播功能。圖1給出了現(xiàn)有的分布式流媒體系統(tǒng)架構(gòu),如圖1所示,其主要包括資源分發(fā)源服務(wù)器 (SS, Source krver)、內(nèi)容服務(wù)器(CS,Content krver)、資源目錄索引服務(wù)器(Tracker) 以及客戶端。SS提供網(wǎng)絡(luò)中的初始流媒體內(nèi)容。在初始流媒體內(nèi)容從SS向網(wǎng)絡(luò)發(fā)布之后, Tracker記錄當(dāng)前網(wǎng)絡(luò)中不同流媒體內(nèi)容的節(jié)點(diǎn)(Peer)信息,從而維護(hù)同一流媒體內(nèi)容的節(jié)點(diǎn)列表(Peer list)。CS承擔(dān)著流媒體內(nèi)容在網(wǎng)絡(luò)中初始鏡像的任務(wù),以及隨著內(nèi)容分發(fā)的進(jìn)行,片源內(nèi)容在網(wǎng)絡(luò)中被分成若干分片(chunk),此時(shí)CS與Peer共同完成網(wǎng)絡(luò)中內(nèi)容共享與傳輸?shù)娜蝿?wù)。
Peer在初次加入網(wǎng)絡(luò)時(shí)向Tracker進(jìn)行注冊(cè),并向其發(fā)出Peer list請(qǐng)求。 Tracker反饋給Peer其所申請(qǐng)資源所在的CS和擁有該資源的Peer list。Peer依據(jù) Tracker返回的Peer列表,同其它Peer交換請(qǐng)求內(nèi)容的位圖信息(bitmap)之后,向Peer 列表中的其它Peer發(fā)出資源請(qǐng)求,進(jìn)行資源下載。CS以及其它擁有該資源的Peer響應(yīng)該資源請(qǐng)求,并提供請(qǐng)求的資源。圖2給出了分布式流媒體系統(tǒng)的運(yùn)行流程圖,如圖2所示, 以Peer2申請(qǐng)影片M為例,分布式流媒體系統(tǒng)運(yùn)行的流程如下
步驟01 節(jié)點(diǎn)Peer2上線,向Tracker注冊(cè)后選擇影片M,確認(rèn)自身?yè)碛凶銐虻木彺婧笙騎racker發(fā)送Peer list請(qǐng)求。
步驟02 :Tracker將自身存儲(chǔ)的影片M的Peer list返回給Peer2,其中,Peer list 中包括客戶端Peer1、內(nèi)容服務(wù)器CS1以及網(wǎng)絡(luò)中擁有該影片分片的其它節(jié)點(diǎn)。
步驟03 =Peer2同Peer list中的各個(gè)節(jié)點(diǎn)進(jìn)行請(qǐng)求內(nèi)容的位圖信息交互,選擇要下載的分片,向網(wǎng)絡(luò)中擁有該分片的節(jié)點(diǎn)發(fā)起分片請(qǐng)求。
步驟04 各節(jié)點(diǎn)響應(yīng)該分片請(qǐng)求,向Peer2傳送Peer2請(qǐng)求的分片或者經(jīng)過與Peer2協(xié)商向Peer2傳遞更細(xì)粒度的分片。
步驟05 =Peer2在下載過程中周期性地將自身的可共享分片匯報(bào)給Tracker。
系統(tǒng)的性能主要由網(wǎng)絡(luò)的總上傳帶寬是否能滿足系統(tǒng)中所有用戶流暢播放所需的下載帶寬來衡量,而網(wǎng)絡(luò)的總上傳帶寬由運(yùn)營(yíng)商的分布式內(nèi)容服務(wù)器和P2P網(wǎng)絡(luò)提供。 目前隨著該服務(wù)的飛速發(fā)展,服務(wù)器帶寬已越來越無法滿足龐大用戶群日益增長(zhǎng)的對(duì)高質(zhì)量資源的要求,P2P客戶端網(wǎng)絡(luò)所提供的帶寬已在整個(gè)網(wǎng)絡(luò)上傳帶寬中占主要部分,內(nèi)容服務(wù)器作為專門部署的媒體資源鏡像分發(fā)服務(wù)器,大部分時(shí)候所起的作用是用來發(fā)布新資源以及補(bǔ)充各頻道P2P網(wǎng)絡(luò)上傳帶寬的不足。但當(dāng)網(wǎng)絡(luò)中熱點(diǎn)內(nèi)容發(fā)生變化,部分內(nèi)容逐漸變“熱”,內(nèi)容服務(wù)器調(diào)整本地存儲(chǔ)情況以適應(yīng)網(wǎng)絡(luò)中對(duì)于熱點(diǎn)內(nèi)容分發(fā)的需求時(shí),內(nèi)容服務(wù)器根據(jù)情況對(duì)本地存儲(chǔ)內(nèi)容分片進(jìn)行刪除操作,此時(shí)就存在內(nèi)容服務(wù)器上如何緩存替換的情況。
目前分布式流媒體系統(tǒng)主要應(yīng)用的緩存替換方法如下
一、最近最少使用(LRU,Least Recently Use)替換算法
該機(jī)制采用LRU替換算法對(duì)緩存中的內(nèi)容進(jìn)行調(diào)整,CS記錄與追蹤其存儲(chǔ)內(nèi)容的訪問記錄,依據(jù)不同內(nèi)容不同分片的請(qǐng)求次數(shù),計(jì)算出本地最近最少訪問內(nèi)容或分片,從而發(fā)起刪除操作,替換較“冷”或較“舊”內(nèi)容。
二、基于時(shí)間權(quán)參數(shù)自適應(yīng)調(diào)整的實(shí)時(shí)流媒體緩存替換方法
P2P實(shí)時(shí)流媒體緩存替換的頻道熱度模塊周期性地計(jì)算緩存內(nèi)各個(gè)頻道的頻道熱度,在一個(gè)周期內(nèi)對(duì)到達(dá)緩存的片段請(qǐng)求進(jìn)行采樣,按照時(shí)間到達(dá)順序生成原始采樣序列, 并將其按照頻道標(biāo)識(shí)分成若干個(gè)子序列,計(jì)算子序列的單位權(quán)重(序列長(zhǎng)度除以序列內(nèi)不同元素的個(gè)數(shù))作為該頻道的頻道熱度。基于時(shí)間權(quán)參數(shù)的實(shí)時(shí)流媒體緩存替換方法分析 P2P實(shí)時(shí)流媒體應(yīng)用用戶“實(shí)時(shí)同步”的時(shí)間特性,同時(shí)考慮片段最后一次訪問時(shí)刻和片段預(yù)期剩余請(qǐng)求兩個(gè)因素對(duì)于緩存效果的影響。P2P實(shí)時(shí)流媒體緩存替換的時(shí)間權(quán)參數(shù)自適應(yīng)調(diào)整模塊根據(jù)緩存命中率的變化,來動(dòng)態(tài)調(diào)節(jié)時(shí)間權(quán)參數(shù)的值當(dāng)緩存命中率增加時(shí),以相等步長(zhǎng)增加時(shí)間權(quán)參數(shù)值,當(dāng)緩存命中率下降時(shí),除以一個(gè)固定的步長(zhǎng),得到的新值作為新的時(shí)間權(quán)參數(shù),從而調(diào)整基于時(shí)間權(quán)參數(shù)的P2P實(shí)時(shí)流媒體緩存替換方法中,片段最后一次命中時(shí)間與片段預(yù)期剩余請(qǐng)求次數(shù)兩個(gè)因素的影響比例,使緩存命中率的接近該方法所能達(dá)到的最優(yōu)值。
現(xiàn)有的緩存替換與重分發(fā)方法的主要問題如下
CS存儲(chǔ)調(diào)整邏輯并不具有全網(wǎng)視角,即CS在進(jìn)行存儲(chǔ)邏輯時(shí)只關(guān)注本地需要?jiǎng)h除什么內(nèi)容,而無法關(guān)注到整個(gè)網(wǎng)絡(luò)需要什么內(nèi)容。另外,CS根據(jù)Tracker的指示,對(duì)“熱點(diǎn)”內(nèi)容分發(fā)時(shí),如果需要進(jìn)行緩存替換操作,需要保證內(nèi)容的完整性,現(xiàn)有方法無法做到該點(diǎn)。發(fā)明內(nèi)容
本發(fā)明提供流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整方法、裝置及系統(tǒng),以實(shí)現(xiàn)資源內(nèi)容在全網(wǎng)中的最優(yōu)存儲(chǔ)。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的
一種流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整方法,該方法包括
資源目錄索引服務(wù)器周期性地獲取全網(wǎng)中各個(gè)內(nèi)容服務(wù)器CS的負(fù)載以及該CS存儲(chǔ)的資源標(biāo)識(shí);資源目錄索引服務(wù)器周期性地統(tǒng)計(jì)全網(wǎng)中每個(gè)資源的訪問熱度值;
當(dāng)資源目錄索引服務(wù)器發(fā)現(xiàn)一個(gè)資源的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該資源的CS中,選擇負(fù)載較大的CS,向所選擇的CS發(fā)送攜帶該資源標(biāo)識(shí)的刪除指令;
當(dāng)資源目錄索引服務(wù)器發(fā)現(xiàn)一個(gè)資源的訪問熱度值上升到預(yù)設(shè)熱度上限,在未存儲(chǔ)有該資源的CS中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該資源內(nèi)容。
所述資源為頻道或者為分片。
當(dāng)所述資源為頻道時(shí),所述資源目錄索引服務(wù)器周期性地統(tǒng)計(jì)全網(wǎng)中每個(gè)資源的訪問熱度值為
在每個(gè)周期內(nèi),針對(duì)每個(gè)頻道,資源目錄索引服務(wù)器統(tǒng)計(jì)接收到的針對(duì)該頻道的節(jié)點(diǎn)列表請(qǐng)求數(shù),根據(jù)該請(qǐng)求數(shù)確定該頻道的訪問熱度值。
當(dāng)所述資源為分片時(shí),所述資源目錄索引服務(wù)器周期性地統(tǒng)計(jì)全網(wǎng)中每個(gè)資源的訪問熱度值為
在每個(gè)周期內(nèi),資源目錄索引服務(wù)器向各個(gè)CS獲取該CS的各個(gè)頻道的各個(gè)分片的訪問次數(shù),對(duì)于每個(gè)頻道的每個(gè)分片,計(jì)算所有CS發(fā)來的該頻道的該分片的訪問次數(shù)總和,根據(jù)該和值確定該頻道的該分片的訪問熱度值。
所述資源目錄索引服務(wù)器周期性地獲取各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的資源標(biāo)識(shí)包括
各個(gè)CS周期性地向資源目錄索引服務(wù)器上報(bào)本CS的負(fù)載以及本CS存儲(chǔ)的各資源的資源標(biāo)識(shí)。
所述本CS的負(fù)載以及本CS存儲(chǔ)的各資源的資源標(biāo)識(shí)攜帶在?;顖?bào)文中。
所述資源目錄索引服務(wù)器選擇負(fù)載較大的CS為資源目錄索引服務(wù)器選擇負(fù)載大于預(yù)設(shè)負(fù)載上限的CS;
所述資源目錄索引服務(wù)器選擇負(fù)載較少的CS為資源目錄索引服務(wù)器選擇負(fù)載小于預(yù)設(shè)負(fù)載下限的Cs。
一種流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整裝置,該裝置包括
第一模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的資源標(biāo)識(shí);周期性地統(tǒng)計(jì)全網(wǎng)中每個(gè)資源的訪問熱度值,將統(tǒng)計(jì)得到的每個(gè)資源的訪問熱度值發(fā)送出去;
第二模塊接收第一模塊發(fā)來的每個(gè)資源的訪問熱度值,當(dāng)發(fā)現(xiàn)一個(gè)資源的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該資源的CS中,選擇負(fù)載較大的CS,向所選擇的 CS發(fā)送攜帶該資源標(biāo)識(shí)的刪除指令;當(dāng)發(fā)現(xiàn)一個(gè)資源的訪問熱度值上升到預(yù)設(shè)熱度上限, 在未存儲(chǔ)有該資源的CS中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該資源內(nèi)容。
當(dāng)所述資源為頻道時(shí),所述第一模塊包括
第一子模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的頻道標(biāo)識(shí);
第二子模塊針對(duì)每個(gè)頻道,周期性地統(tǒng)計(jì)接收到的針對(duì)該頻道的節(jié)點(diǎn)列表請(qǐng)求數(shù),根據(jù)該請(qǐng)求數(shù)確定該頻道的訪問熱度值,將各個(gè)頻道的訪問熱度值發(fā)送出去。
當(dāng)所述資源為分片時(shí),所述第一模塊包括
第三子模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí);
第四子模塊周期性地獲取各個(gè)CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的訪問次數(shù),針對(duì)每個(gè)頻道的每個(gè)分片,計(jì)算所有CS發(fā)來的該頻道的該分片的訪問次數(shù)總和,根據(jù)該和值確定該頻道的該分片的訪問熱度值。
所述裝置位于資源目錄索引服務(wù)器中。
一種內(nèi)容服務(wù)器CS,該CS包括
第一模塊周期性地向資源目錄索引服務(wù)器上報(bào)本CS的負(fù)載以及本CS存儲(chǔ)的資源標(biāo)識(shí);
第二模塊接收資源目錄索引服務(wù)器發(fā)來的攜帶資源標(biāo)識(shí)的刪除指令,刪除本地存儲(chǔ)的該資源;接收資源目錄索引服務(wù)器發(fā)來的資源內(nèi)容,將該資源內(nèi)容存儲(chǔ)在本地。
當(dāng)所述資源為分片時(shí),所述CS進(jìn)一步包括
第三模塊周期性地向資源目錄索引服務(wù)器上報(bào)本CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的訪問熱度值。
一種內(nèi)容存儲(chǔ)調(diào)整系統(tǒng),該系統(tǒng)包括
資源目錄索引服務(wù)器周期性地獲取全網(wǎng)中各個(gè)內(nèi)容服務(wù)器CS的負(fù)載以及該CS 存儲(chǔ)的資源標(biāo)識(shí);周期性地統(tǒng)計(jì)全網(wǎng)中每個(gè)資源的訪問熱度值;當(dāng)發(fā)現(xiàn)一個(gè)資源的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該資源的CS中,選擇負(fù)載較大的CS,向所選擇的CS 發(fā)送攜帶該資源標(biāo)識(shí)的刪除指令;當(dāng)發(fā)現(xiàn)一個(gè)資源的訪問熱度值上升到預(yù)設(shè)熱度上限,在未存儲(chǔ)有該資源的CS中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該資源內(nèi)容;
CS:接收資源目錄索引服務(wù)器發(fā)來的攜帶資源標(biāo)識(shí)的刪除指令,刪除本地存儲(chǔ)的該資源;接收資源目錄索引服務(wù)器發(fā)來的資源內(nèi)容,將該資源內(nèi)容存儲(chǔ)在本地。
所述CS進(jìn)一步用于,
周期性地向資源目錄索引服務(wù)器上報(bào)本CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的訪問熱度值。
所述資源目錄索引服務(wù)器包括
第一模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的頻道標(biāo)識(shí);針對(duì)每個(gè)頻道,周期性地統(tǒng)計(jì)接收到的針對(duì)該頻道的節(jié)點(diǎn)列表請(qǐng)求數(shù),根據(jù)該請(qǐng)求數(shù)確定該頻道的訪問熱度值,將各個(gè)頻道的訪問熱度值發(fā)送出去;
第二模塊接收第一模塊發(fā)來的各個(gè)頻道的訪問熱度值,當(dāng)發(fā)現(xiàn)一個(gè)頻道的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該頻道的CS中,選擇負(fù)載較大的CS,向所選擇的 CS發(fā)送攜帶該頻道標(biāo)識(shí)的刪除指令;當(dāng)發(fā)現(xiàn)一個(gè)頻道的訪問熱度值上升到預(yù)設(shè)熱度上限, 在未存儲(chǔ)有該頻道的CS中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該頻道內(nèi)容。
所述資源目錄索引服務(wù)器包括
第三模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí);周期性地獲取各個(gè)CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的訪問次數(shù),針對(duì)每個(gè)頻道的每個(gè)分片,計(jì)算所有CS發(fā)來的該頻道的該分片的訪問次數(shù)總和,根據(jù)該和值確定該頻道的該分片的訪問熱度值,將各個(gè)頻道的各個(gè)分片的訪問熱度值發(fā)送出去;
第四模塊接收第三模塊發(fā)來的各個(gè)頻道的各個(gè)分片的訪問熱度值,當(dāng)發(fā)現(xiàn)一個(gè)頻道的一個(gè)分片的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該頻道的該分片的CS中, 選擇負(fù)載較大的CS,向所選擇的CS發(fā)送攜帶該頻道標(biāo)識(shí)+該分片標(biāo)識(shí)的刪除指令;當(dāng)發(fā)現(xiàn)一個(gè)頻道的一個(gè)分片的訪問熱度值上升到預(yù)設(shè)熱度上限,在未存儲(chǔ)有該頻道的該分片的CS 中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該頻道的該分片內(nèi)容。
與現(xiàn)有技術(shù)相比,本發(fā)明可以更加精準(zhǔn)、即時(shí)地根據(jù)資源的訪問情況變化以及各 CS的負(fù)載,選擇合適的CS進(jìn)行資源的刪除或分發(fā)操作,實(shí)現(xiàn)了資源內(nèi)容在全網(wǎng)中的最優(yōu)存儲(chǔ);另外,Tracker維護(hù)全網(wǎng)資源的存儲(chǔ)信息,從而在進(jìn)行刪除操作時(shí),能夠保證不再“流行”的資源只要還沒有下線,網(wǎng)絡(luò)中總是能存儲(chǔ)其完整的內(nèi)容;本發(fā)明可保證己發(fā)布資源的完整性與可訪問性,用戶對(duì)于該資源的任一分片的請(qǐng)求都可以得到響應(yīng)。
圖1為現(xiàn)有的分布式流媒體系統(tǒng)架構(gòu)圖2為現(xiàn)有的分布式流媒體系統(tǒng)的運(yùn)行流程圖3為本發(fā)明實(shí)施例一提供的流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整方法流程圖4給出了一個(gè)應(yīng)用本發(fā)明在頻道訪問熱度下降時(shí),刪除頻道的示例圖5給出了一個(gè)應(yīng)用本發(fā)明在頻道訪問熱度上升時(shí),分發(fā)頻道的示例圖6為本發(fā)明實(shí)施例二提供的流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整方法流程圖7給出了一個(gè)應(yīng)用本發(fā)明在分片訪問熱度下降時(shí),刪除分片的示例圖8給出了一個(gè)應(yīng)用本發(fā)明在分片訪問熱度上升時(shí),分發(fā)分片的示例圖9為本發(fā)明實(shí)施例提供的流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整裝置組成圖10為本發(fā)明實(shí)施例提供的內(nèi)容存儲(chǔ)調(diào)整系統(tǒng)的組成圖。
具體實(shí)施方式
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說明。
圖3為本發(fā)明實(shí)施例一提供的流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整方法流程圖,如圖3 所示,其具體步驟如下
步驟301 每個(gè)CS周期性地向Tracker上報(bào)本CS的負(fù)載以及本CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí)。
正常情況下,CS會(huì)與Tracker進(jìn)行周期性地?;?。CS可在向Tracker發(fā)送的?;顖?bào)文中攜帶本CS的負(fù)載以及本CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí)。
步驟302 =Tracker接收CS發(fā)來的該CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí),更新自身記錄的該CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí),同時(shí)更新自身記錄的全網(wǎng)存儲(chǔ)的各個(gè)頻道的各個(gè)分片的總數(shù)。
這里,全網(wǎng)存儲(chǔ)的各個(gè)頻道的各個(gè)分片的總數(shù)即,對(duì)于每個(gè)頻道的每個(gè)分片, Tracker計(jì)算存儲(chǔ)有該頻道的該分片的CS總數(shù),該CS總數(shù)即為全網(wǎng)存儲(chǔ)的該頻道的該分片的總數(shù)。
步驟303 =Tracker周期性地統(tǒng)計(jì)每個(gè)頻道的訪問熱度值。
當(dāng)客戶端要訪問一個(gè)頻道時(shí),要先向Tracker發(fā)送攜帶該頻道標(biāo)識(shí)的Peerlist請(qǐng)求。對(duì)于每個(gè)頻道,Tracker統(tǒng)計(jì)當(dāng)前周期內(nèi)收到的攜帶該頻道標(biāo)識(shí)的Peer list請(qǐng)求數(shù), 將該數(shù)目作為本周期內(nèi)該頻道的訪問熱度值。
步驟304 =Tracker發(fā)現(xiàn)本周期內(nèi)一個(gè)頻道的訪問熱度值下降到預(yù)設(shè)熱度下限,根據(jù)自身記錄的各CS的負(fù)載以及各CS存儲(chǔ)的各頻道的頻道標(biāo)識(shí),在存儲(chǔ)有該頻道的CS中, 選擇負(fù)載大于預(yù)設(shè)負(fù)載上限的CS,向所選擇的CS發(fā)送攜帶該頻道標(biāo)識(shí)的刪除指令。
步驟305 :CS接收刪除指令,根據(jù)指令中的頻道標(biāo)識(shí),刪除本地存儲(chǔ)的對(duì)應(yīng)頻道的所有分片,刪除完畢,向Tracker返回?cái)y帶刪除的頻道標(biāo)識(shí)+分片標(biāo)識(shí)的刪除完成響應(yīng)。
步驟306 =Tracker接收一個(gè)CS返回的刪除完成響應(yīng),根據(jù)響應(yīng)中的頻道標(biāo)識(shí)+分片標(biāo)識(shí),更新自身記錄的全網(wǎng)存儲(chǔ)的對(duì)應(yīng)頻道的對(duì)應(yīng)分片的總數(shù)。
步驟307 =Tracker發(fā)現(xiàn)本周期內(nèi)一個(gè)頻道的訪問熱度值上升到預(yù)設(shè)熱度上限,根據(jù)自身記錄的各CS的負(fù)載以及各CS存儲(chǔ)的各頻道的頻道標(biāo)識(shí),在未存儲(chǔ)有該頻道的CS 中,選擇負(fù)載小于預(yù)設(shè)負(fù)載下限的CS,向所選擇的CS發(fā)送該頻道內(nèi)容。
步驟308 :CS接收頻道內(nèi)容,將該頻道內(nèi)容存儲(chǔ)在本地,并向Tracker返回?cái)y帶頻道標(biāo)識(shí)的分發(fā)完成響應(yīng)。
步驟309 =Tracker接收一個(gè)CS返回的分發(fā)完成響應(yīng),根據(jù)響應(yīng)中的頻道標(biāo)識(shí),更新自身記錄的對(duì)應(yīng)頻道的Peer list列表,同時(shí)更新自身記錄的全網(wǎng)存儲(chǔ)的該頻道的各個(gè)分片的總數(shù)。
這里,Tracker更新自身記錄的對(duì)應(yīng)頻道的Peer list列表即,將該CS標(biāo)識(shí)添加到該頻道的Peer list列表中。
圖4給出了一個(gè)應(yīng)用本發(fā)明在頻道訪問熱度下降時(shí),刪除頻道的示例圖,如圖4所示,Tracker發(fā)現(xiàn)頻道A的訪問熱度值下降到預(yù)設(shè)熱度下限,同時(shí)發(fā)現(xiàn)CS1、CS2分別存儲(chǔ)有頻道A的分片4、5,且CS1、CS2的負(fù)載都大于預(yù)設(shè)負(fù)載上限,則向CS1、CS2發(fā)送攜帶頻道A 標(biāo)識(shí)的刪除指令,CSU CS2接收到該刪除指令,刪除本地存儲(chǔ)的頻道A的所有分片分片4、 5,然后向Tracker返回刪除完成響應(yīng),Tracker收到CS1、CS2的刪除完成響應(yīng),將自身記錄的頻道A的分片4、5的總數(shù)減2。
圖5給出了一個(gè)應(yīng)用本發(fā)明在頻道訪問熱度上升時(shí),分發(fā)頻道內(nèi)容的示例圖,如圖5所示,Tracker發(fā)現(xiàn)頻道A的訪問熱度值上升到預(yù)設(shè)熱度上限,同時(shí)發(fā)現(xiàn)CS1、CS2未存儲(chǔ)有該頻道A的任何分片,且CS1、CS2的負(fù)載都小于預(yù)設(shè)負(fù)載下限,則向CS1、CS2發(fā)送頻道A內(nèi)容,CSU CS2接收到頻道A內(nèi)容,將頻道A內(nèi)容存儲(chǔ)在本地,然后向Tracker返回分發(fā)完成響應(yīng),Tracker收到CSU CS2的分發(fā)完成響應(yīng),將CSU CS2加入頻道A的Peer list 中。
圖6為本發(fā)明實(shí)施例二提供的流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整方法流程圖,如圖6 所示,其具體步驟如下
步驟601 每個(gè)CS周期性地向Tracker上報(bào)本CS的負(fù)載以及本CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí)。
步驟602 =Tracker接收CS發(fā)來的該CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí),更新自身記錄的該CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí),同時(shí)更新自身記錄的全網(wǎng)存儲(chǔ)的各個(gè)頻道的各個(gè)分片的總數(shù)。
步驟603 每個(gè)CS周期性地向Tracker上報(bào)本CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的子訪問熱度值。
這里,對(duì)于一個(gè)CS來說,對(duì)于其存儲(chǔ)的每個(gè)頻道的每個(gè)分片,該CS可通過統(tǒng)計(jì)一個(gè)周期內(nèi)接收到的針對(duì)該頻道的該分片的資源請(qǐng)求數(shù),來得到該周期內(nèi)該頻道的該分片的子訪問熱度值。
步驟604 =Tracker根據(jù)每個(gè)周期內(nèi)各個(gè)CS發(fā)來的各個(gè)頻道的各個(gè)分片的子訪問熱度值,得到全網(wǎng)中該周期內(nèi)每個(gè)頻道的每個(gè)分片的訪問熱度值。
對(duì)于每個(gè)頻道的每個(gè)分片,Tracker計(jì)算在該周期內(nèi)所有CS發(fā)來的該頻道的該分片的子訪問熱度值的總和,將該和值作為全網(wǎng)中該周期內(nèi)該頻道的該分片的訪問熱度值。
步驟605 =Tracker發(fā)現(xiàn)本周期內(nèi)一個(gè)頻道的一個(gè)分片的訪問熱度值下降到預(yù)設(shè)熱度下限,則根據(jù)自身記錄的各CS的負(fù)載以及各CS存儲(chǔ)的各頻道的各分片的頻道標(biāo)識(shí)+ 分片標(biāo)識(shí),在存儲(chǔ)有該頻道的該分片的CS中,選擇負(fù)載大于預(yù)設(shè)負(fù)載上限的CS,向所選擇的CS發(fā)送攜帶該頻道標(biāo)識(shí)+該分片標(biāo)識(shí)的刪除指令。
步驟606 =CS接收刪除指令,根據(jù)指令中的頻道標(biāo)識(shí)+分片標(biāo)識(shí),刪除本地存儲(chǔ)的對(duì)應(yīng)頻道的對(duì)應(yīng)分片,刪除完畢,向Tracker返回?cái)y帶刪除的頻道標(biāo)識(shí)+分片標(biāo)識(shí)的刪除完成響應(yīng)。
步驟607 =Tracker接收一個(gè)CS返回的刪除完成響應(yīng),根據(jù)響應(yīng)中的刪除的頻道標(biāo)識(shí)+分片標(biāo)識(shí),更新自身記錄的全網(wǎng)中對(duì)應(yīng)頻道對(duì)應(yīng)分片的總數(shù)。
步驟608 =Tracker發(fā)現(xiàn)本周期內(nèi)一個(gè)頻道的一個(gè)分片的訪問熱度值上升到預(yù)設(shè)熱度上限,根據(jù)自身記錄的各CS的負(fù)載以及各CS存儲(chǔ)的各頻道的各分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí),在未存儲(chǔ)有該頻道的該分片的CS中選擇負(fù)載小于預(yù)設(shè)負(fù)載下限的CS,向所選擇的 CS發(fā)送該頻道的該分片內(nèi)容。
步驟609 :CS接收該頻道的該分片內(nèi)容,將該頻道的該分片內(nèi)容存儲(chǔ)在本地,并向 Tracker返回?cái)y帶頻道標(biāo)識(shí)+分片標(biāo)識(shí)的分發(fā)完成響應(yīng)。
步驟610 =Tracker接收一個(gè)CS返回的分發(fā)完成響應(yīng),根據(jù)響應(yīng)中的頻道標(biāo)識(shí)+分片標(biāo)識(shí),更新自身記錄的全網(wǎng)中對(duì)應(yīng)頻道對(duì)應(yīng)分片的總數(shù)。
這里,若Tracker根據(jù)分發(fā)完成響應(yīng)中的頻道標(biāo)識(shí),發(fā)現(xiàn)該CS標(biāo)識(shí)不在對(duì)應(yīng)頻道的Peer list列表中,則將該CS標(biāo)識(shí)添加到該頻道的Peer list列表中。
圖7給出了一個(gè)應(yīng)用本發(fā)明在分片訪問熱度下降時(shí),刪除分片的示例圖,如圖7所示,Tracker發(fā)現(xiàn)頻道A的分片4的訪問熱度值下降到預(yù)設(shè)熱度下限,同時(shí)發(fā)現(xiàn)CS1、CS2分別存儲(chǔ)有頻道A的分片4,且CS1、CS2的負(fù)載都大于預(yù)設(shè)負(fù)載上限,則向CS1、CS2發(fā)送攜帶頻道A標(biāo)識(shí)+分片4標(biāo)識(shí)的刪除指令,CS1、CS2接收到該刪除指令,刪除本地存儲(chǔ)的頻道A 的分片4,然后向Tracker返回刪除完成響應(yīng),Tracker收到CS1、CS2的刪除完成響應(yīng),將自身記錄的頻道A的分片4的總數(shù)減2。
圖8給出了一個(gè)應(yīng)用本發(fā)明在分片訪問熱度上升時(shí),分發(fā)分片內(nèi)容的示例圖,如圖8所示,Tracker發(fā)現(xiàn)頻道A的分片4的訪問熱度值上升到預(yù)設(shè)熱度上限,同時(shí)發(fā)現(xiàn)CS1、 CS2未存儲(chǔ)有頻道A的分片4,且CS1、CS2的負(fù)載都小于預(yù)設(shè)負(fù)載下限,則向CS1、CS2發(fā)送頻道A的分片4,CSl、CS2接收到頻道A的分片4,將頻道A的分片4存儲(chǔ)在本地,然后向 Tracker返回分發(fā)完成響應(yīng),Tracker收到CSl、CS2的分發(fā)完成響應(yīng),將自身記錄的頻道A的分片4的總數(shù)加2。
圖9為本發(fā)明實(shí)施例提供的流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整裝置的組成圖,如圖9 所示,該裝置主要包括第一模塊和第二模塊,其中
第一模塊周期性地獲取并記錄全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的資源標(biāo)識(shí); 周期性地統(tǒng)計(jì)全網(wǎng)中每個(gè)資源的訪問熱度值,將統(tǒng)計(jì)得到的每個(gè)資源的訪問熱度值發(fā)送給第二模塊。
第二模塊接收第一模塊發(fā)來的每個(gè)資源的訪問熱度值,當(dāng)發(fā)現(xiàn)一個(gè)資源的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),根據(jù)第一模塊記錄的各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的資源標(biāo)識(shí),在存儲(chǔ)有該資源的CS中,選擇負(fù)載較大的CS,向所選擇的CS發(fā)送攜帶該資源標(biāo)識(shí)的刪除指令;當(dāng)發(fā)現(xiàn)一個(gè)資源的訪問熱度值上升到預(yù)設(shè)熱度上限,根據(jù)第一模塊記錄的各個(gè) CS的負(fù)載以及該CS存儲(chǔ)的資源標(biāo)識(shí),在未存儲(chǔ)有該資源的CS中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該資源內(nèi)容。
當(dāng)資源為頻道時(shí),第一模塊可包括第一子模塊和第二子模塊,其中
第一子模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí)。
第二子模塊針對(duì)每個(gè)頻道,周期性地統(tǒng)計(jì)接收到的針對(duì)該頻道的Peer list請(qǐng)求數(shù),根據(jù)該請(qǐng)求數(shù)確定該頻道的訪問熱度值,將各個(gè)頻道的訪問熱度值發(fā)送給第二模塊。
當(dāng)資源為分片時(shí),第一模塊包括第三子模塊和第四子模塊,其中
第三子模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí)。
第四子模塊周期性地獲取各個(gè)CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的訪問次數(shù),針對(duì)每個(gè)頻道的每個(gè)分片,計(jì)算所有CS發(fā)來的該頻道的該分片的訪問次數(shù)總和,根據(jù)該和值確定該頻道的該分片的訪問熱度值。
圖9所示裝置位于Tracker中。
以下給出本發(fā)明實(shí)施例提供的CS的組成,其主要包括第一模塊和第二模塊,其中
第一模塊周期性地向Tracker上報(bào)本CS的負(fù)載以及本CS存儲(chǔ)的資源標(biāo)識(shí)。
第二模塊接收Tracker發(fā)來的攜帶資源標(biāo)識(shí)的刪除指令,刪除本地存儲(chǔ)的該資源;接收Tracker發(fā)來的資源內(nèi)容,將該資源內(nèi)容存儲(chǔ)在本地。
當(dāng)資源為分片時(shí),該CS進(jìn)一步包括
第三模塊周期性地向Tracker上報(bào)本CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的訪問熱度值。
圖10為本發(fā)明實(shí)施例提供的內(nèi)容存儲(chǔ)調(diào)整系統(tǒng)的組成圖,如圖10所示,其主要包括Tracker和CS,其中
Tracker 周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的資源標(biāo)識(shí);周期性地統(tǒng)計(jì)全網(wǎng)中每個(gè)資源的訪問熱度值;當(dāng)發(fā)現(xiàn)一個(gè)資源的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該資源的CS中,選擇負(fù)載較大的CS,向所選擇的CS發(fā)送攜帶該資源標(biāo)識(shí)的刪除指令;當(dāng)發(fā)現(xiàn)一個(gè)資源的訪問熱度值上升到預(yù)設(shè)熱度上限,在未存儲(chǔ)有該資源的CS中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該資源內(nèi)容。12
CS 接收Tracker發(fā)來的攜帶資源標(biāo)識(shí)的刪除指令,刪除本地存儲(chǔ)的該資源;接收 Tracker發(fā)來的資源內(nèi)容,將該資源內(nèi)容存儲(chǔ)在本地。CS還可用于,周期性地向Tracker上報(bào)本CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的訪問熱度值。在實(shí)際應(yīng)用中,Tracker可包括第一模塊和第二模塊,其中第一模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的頻道標(biāo)識(shí);針對(duì)每個(gè)頻道,周期性地統(tǒng)計(jì)接收到的針對(duì)該頻道的節(jié)點(diǎn)列表請(qǐng)求數(shù),根據(jù)該請(qǐng)求數(shù)確定該頻道的訪問熱度值,將各個(gè)頻道的訪問熱度值發(fā)送給第二模塊。第二模塊接收第一模塊發(fā)來的各個(gè)頻道的訪問熱度值,當(dāng)發(fā)現(xiàn)一個(gè)頻道的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該頻道的CS中,選擇負(fù)載較大的CS,向所選擇的 CS發(fā)送攜帶該頻道標(biāo)識(shí)的刪除指令;當(dāng)發(fā)現(xiàn)一個(gè)頻道的訪問熱度值上升到預(yù)設(shè)熱度上限, 在未存儲(chǔ)有該頻道的CS中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該頻道內(nèi)容?;蛘?,第一模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí);周期性地獲取各個(gè)CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的訪問次數(shù),針對(duì)每個(gè)頻道的每個(gè)分片,計(jì)算所有CS發(fā)來的該頻道的該分片的訪問次數(shù)總和,根據(jù)該和值確定該頻道的該分片的訪問熱度值,將各個(gè)頻道的各個(gè)分片的訪問熱度值發(fā)送給第二模塊。第二模塊接收第一模塊發(fā)來的各個(gè)頻道的各個(gè)分片的訪問熱度值,當(dāng)發(fā)現(xiàn)一個(gè)頻道的一個(gè)分片的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該頻道的該分片的CS中, 選擇負(fù)載較大的CS,向所選擇的CS發(fā)送攜帶該頻道標(biāo)識(shí)+該分片標(biāo)識(shí)的刪除指令;當(dāng)發(fā)現(xiàn)一個(gè)頻道的一個(gè)分片的訪問熱度值上升到預(yù)設(shè)熱度上限,在未存儲(chǔ)有該頻道的該分片的CS 中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該頻道的該分片內(nèi)容。本發(fā)明中的流媒體系統(tǒng)可以是分布式流媒體系統(tǒng)。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整方法,其特征在于,該方法包括資源目錄索引服務(wù)器周期性地獲取全網(wǎng)中各個(gè)內(nèi)容服務(wù)器CS的負(fù)載以及該CS存儲(chǔ)的資源標(biāo)識(shí);資源目錄索引服務(wù)器周期性地統(tǒng)計(jì)全網(wǎng)中每個(gè)資源的訪問熱度值;當(dāng)資源目錄索引服務(wù)器發(fā)現(xiàn)一個(gè)資源的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該資源的CS中,選擇負(fù)載較大的CS,向所選擇的CS發(fā)送攜帶該資源標(biāo)識(shí)的刪除指令;當(dāng)資源目錄索引服務(wù)器發(fā)現(xiàn)一個(gè)資源的訪問熱度值上升到預(yù)設(shè)熱度上限,在未存儲(chǔ)有該資源的CS中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該資源內(nèi)容。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述資源為頻道或者為分片。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)所述資源為頻道時(shí),所述資源目錄索引服務(wù)器周期性地統(tǒng)計(jì)全網(wǎng)中每個(gè)資源的訪問熱度值為在每個(gè)周期內(nèi),針對(duì)每個(gè)頻道,資源目錄索引服務(wù)器統(tǒng)計(jì)接收到的針對(duì)該頻道的節(jié)點(diǎn)列表請(qǐng)求數(shù),根據(jù)該請(qǐng)求數(shù)確定該頻道的訪問熱度值。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)所述資源為分片時(shí),所述資源目錄索引服務(wù)器周期性地統(tǒng)計(jì)全網(wǎng)中每個(gè)資源的訪問熱度值為在每個(gè)周期內(nèi),資源目錄索引服務(wù)器向各個(gè)CS獲取該CS的各個(gè)頻道的各個(gè)分片的訪問次數(shù),對(duì)于每個(gè)頻道的每個(gè)分片,計(jì)算所有CS發(fā)來的該頻道的該分片的訪問次數(shù)總和, 根據(jù)該和值確定該頻道的該分片的訪問熱度值。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述資源目錄索引服務(wù)器周期性地獲取各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的資源標(biāo)識(shí)包括各個(gè)CS周期性地向資源目錄索引服務(wù)器上報(bào)本CS的負(fù)載以及本CS存儲(chǔ)的各資源的資源標(biāo)識(shí)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述本CS的負(fù)載以及本CS存儲(chǔ)的各資源的資源標(biāo)識(shí)攜帶在保活報(bào)文中。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述資源目錄索引服務(wù)器選擇負(fù)載較大的CS為資源目錄索引服務(wù)器選擇負(fù)載大于預(yù)設(shè)負(fù)載上限的CS ;所述資源目錄索引服務(wù)器選擇負(fù)載較少的CS為資源目錄索引服務(wù)器選擇負(fù)載小于預(yù)設(shè)負(fù)載下限的Cs。
8.一種流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整裝置,其特征在于,該裝置包括第一模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的資源標(biāo)識(shí);周期性地統(tǒng)計(jì)全網(wǎng)中每個(gè)資源的訪問熱度值,將統(tǒng)計(jì)得到的每個(gè)資源的訪問熱度值發(fā)送出去;第二模塊接收第一模塊發(fā)來的每個(gè)資源的訪問熱度值,當(dāng)發(fā)現(xiàn)一個(gè)資源的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該資源的CS中,選擇負(fù)載較大的CS,向所選擇的CS發(fā)送攜帶該資源標(biāo)識(shí)的刪除指令;當(dāng)發(fā)現(xiàn)一個(gè)資源的訪問熱度值上升到預(yù)設(shè)熱度上限,在未存儲(chǔ)有該資源的CS中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該資源內(nèi)容。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,當(dāng)所述資源為頻道時(shí),所述第一模塊包括第一子模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的頻道標(biāo)識(shí);第二子模塊針對(duì)每個(gè)頻道,周期性地統(tǒng)計(jì)接收到的針對(duì)該頻道的節(jié)點(diǎn)列表請(qǐng)求數(shù),根據(jù)該請(qǐng)求數(shù)確定該頻道的訪問熱度值,將各個(gè)頻道的訪問熱度值發(fā)送出去。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,當(dāng)所述資源為分片時(shí),所述第一模塊包括第三子模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí);第四子模塊周期性地獲取各個(gè)CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的訪問次數(shù),針對(duì)每個(gè)頻道的每個(gè)分片,計(jì)算所有CS發(fā)來的該頻道的該分片的訪問次數(shù)總和,根據(jù)該和值確定該頻道的該分片的訪問熱度值。
11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置位于資源目錄索引服務(wù)器中。
12.—種內(nèi)容服務(wù)器CS,其特征在于,該CS包括第一模塊周期性地向資源目錄索引服務(wù)器上報(bào)本CS的負(fù)載以及本CS存儲(chǔ)的資源標(biāo)識(shí);第二模塊接收資源目錄索引服務(wù)器發(fā)來的攜帶資源標(biāo)識(shí)的刪除指令,刪除本地存儲(chǔ)的該資源;接收資源目錄索引服務(wù)器發(fā)來的資源內(nèi)容,將該資源內(nèi)容存儲(chǔ)在本地。
13.根據(jù)權(quán)利要求12所述的CS,其特征在于,當(dāng)所述資源為分片時(shí),所述CS進(jìn)一步包括第三模塊周期性地向資源目錄索引服務(wù)器上報(bào)本CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的訪問熱度值。
14.一種內(nèi)容存儲(chǔ)調(diào)整系統(tǒng),其特征在于,該系統(tǒng)包括資源目錄索引服務(wù)器周期性地獲取全網(wǎng)中各個(gè)內(nèi)容服務(wù)器CS的負(fù)載以及該CS存儲(chǔ)的資源標(biāo)識(shí);周期性地統(tǒng)計(jì)全網(wǎng)中每個(gè)資源的訪問熱度值;當(dāng)發(fā)現(xiàn)一個(gè)資源的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該資源的CS中,選擇負(fù)載較大的CS,向所選擇的CS發(fā)送攜帶該資源標(biāo)識(shí)的刪除指令;當(dāng)發(fā)現(xiàn)一個(gè)資源的訪問熱度值上升到預(yù)設(shè)熱度上限,在未存儲(chǔ)有該資源的CS中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該資源內(nèi)容;CS:接收資源目錄索引服務(wù)器發(fā)來的攜帶資源標(biāo)識(shí)的刪除指令,刪除本地存儲(chǔ)的該資源;接收資源目錄索引服務(wù)器發(fā)來的資源內(nèi)容,將該資源內(nèi)容存儲(chǔ)在本地。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述CS進(jìn)一步用于,周期性地向資源目錄索引服務(wù)器上報(bào)本CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的訪問熱度值。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述資源目錄索引服務(wù)器包括第一模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的頻道標(biāo)識(shí); 針對(duì)每個(gè)頻道,周期性地統(tǒng)計(jì)接收到的針對(duì)該頻道的節(jié)點(diǎn)列表請(qǐng)求數(shù),根據(jù)該請(qǐng)求數(shù)確定該頻道的訪問熱度值,將各個(gè)頻道的訪問熱度值發(fā)送出去;第二模塊接收第一模塊發(fā)來的各個(gè)頻道的訪問熱度值,當(dāng)發(fā)現(xiàn)一個(gè)頻道的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該頻道的CS中,選擇負(fù)載較大的CS,向所選擇的CS發(fā)送攜帶該頻道標(biāo)識(shí)的刪除指令;當(dāng)發(fā)現(xiàn)一個(gè)頻道的訪問熱度值上升到預(yù)設(shè)熱度上限,在未存儲(chǔ)有該頻道的CS中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該頻道內(nèi)容。
17.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述資源目錄索引服務(wù)器包括第三模塊周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的頻道標(biāo)識(shí)+分片標(biāo)識(shí);周期性地獲取各個(gè)CS存儲(chǔ)的各個(gè)頻道的各個(gè)分片的訪問次數(shù),針對(duì)每個(gè)頻道的每個(gè)分片,計(jì)算所有CS發(fā)來的該頻道的該分片的訪問次數(shù)總和,根據(jù)該和值確定該頻道的該分片的訪問熱度值,將各個(gè)頻道的各個(gè)分片的訪問熱度值發(fā)送出去;第四模塊接收第三模塊發(fā)來的各個(gè)頻道的各個(gè)分片的訪問熱度值,當(dāng)發(fā)現(xiàn)一個(gè)頻道的一個(gè)分片的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該頻道的該分片的CS中,選擇負(fù)載較大的CS,向所選擇的CS發(fā)送攜帶該頻道標(biāo)識(shí)+該分片標(biāo)識(shí)的刪除指令;當(dāng)發(fā)現(xiàn)一個(gè)頻道的一個(gè)分片的訪問熱度值上升到預(yù)設(shè)熱度上限,在未存儲(chǔ)有該頻道的該分片的CS中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該頻道的該分片內(nèi)容。
全文摘要
本發(fā)明公開了流媒體系統(tǒng)中的內(nèi)容存儲(chǔ)調(diào)整方法、裝置及系統(tǒng)。方法包括資源目錄索引服務(wù)器周期性地獲取全網(wǎng)中各個(gè)CS的負(fù)載以及該CS存儲(chǔ)的資源標(biāo)識(shí);資源目錄索引服務(wù)器周期性地統(tǒng)計(jì)全網(wǎng)中每個(gè)資源的訪問熱度值;當(dāng)資源目錄索引服務(wù)器發(fā)現(xiàn)一個(gè)資源的訪問熱度值下降到預(yù)設(shè)熱度下限時(shí),在存儲(chǔ)有該資源的CS中,選擇負(fù)載較大的CS,向所選擇的CS發(fā)送攜帶該資源標(biāo)識(shí)的刪除指令;當(dāng)資源目錄索引服務(wù)器發(fā)現(xiàn)一個(gè)資源的訪問熱度值上升到預(yù)設(shè)熱度上限,在未存儲(chǔ)有該資源的CS中選擇負(fù)載較少的CS,向所選擇的CS發(fā)送該資源內(nèi)容。本發(fā)明實(shí)現(xiàn)了資源內(nèi)容在全網(wǎng)中的最優(yōu)存儲(chǔ)。
文檔編號(hào)H04N21/63GK102546711SQ20101061344
公開日2012年7月4日 申請(qǐng)日期2010年12月20日 優(yōu)先權(quán)日2010年12月20日
發(fā)明者樂利鋒, 彭晉, 朱瀟 申請(qǐng)人:中國(guó)移動(dòng)通信集團(tuán)公司