專利名稱:一種數(shù)字家庭中vod客戶端代理緩存服務器的制作方法
技術領域:
本發(fā)明屬于數(shù)字家庭網(wǎng)絡與多媒體技術領域,特別是涉及一種數(shù)字 家庭媒體服務器設計的實現(xiàn)。
背景技術:
Web緩存技術現(xiàn)在已經(jīng)是不可或缺的網(wǎng)絡技術之一,把被請求Web 對象(如HTML頁或圖像)存儲在遠程服務器和客戶端之間的代理服務 器上,則隨后的對該Web對象的重復請求,就能夠直接從緩存得到服務, 因而縮短了訪問時間,節(jié)省了重要網(wǎng)絡資源。為了改善流媒體的播放質 量,我們也可以在靠近客戶的一端引入代理緩存服務器,而且制定合適 的代理緩存策略。代理服務器的緩存空間是有限的,當這個空間裝滿以 后,必須把一些利用率低的數(shù)據(jù)移走,才能更好的提供服務。緩存的替 換策略就是用來決定將哪些緩存移走,它的目標就是要更好的利用可用 的空間資源。目前比較典型的替換策略有以下幾種
1) 傳統(tǒng)替換算法。最近最少使用算法,最近最多使用策略等,它們 對于整體緩存是高效的,但也不同程度存在一個各自的缺陷。
2) 基于最小緩存效用的策略。該算法引入了價值函數(shù)來衡量緩存效 用,有效得調整了緩存分配,但是該函數(shù)的制定成了關鍵,需要進一步 完善,要更充分得考慮各方面的因素。
3)基于傳輸成本的替換算法。其不足之處就是忽略了命中率,會造 成后來不受用戶歡迎的流媒體長期占用緩存,浪費了寶貴的緩存資源。
基于以上的研究本文提出了基于加權流行度的替換算法,制定了一 種新的策略,致力于改進點播風暴所造成的網(wǎng)絡擁塞和播放質量下降。
發(fā)明內容
針對以上的不足,本發(fā)明提出了一種數(shù)字家庭中VOD客戶端代理緩 存服務器、通過基于加權流行度的替換算法,解決點播風暴所造成的網(wǎng) 絡擁塞和播放質量下降。它包括RTP/RTSP客戶端模塊、調度模塊、 RTP/RTSP服務器模塊和緩存管理模塊四個模塊。
RTP/RTSP客戶端模塊即代理服務器相對于遠程服務器來說是客戶, 負責與媒體服務器(或上層代理)進行聯(lián)系,將經(jīng)RTP/RTSP服務器處理 的用戶請求轉發(fā)給服務器,并為客戶請求獲取數(shù)據(jù);RTP/RTSP服務器模 塊接收并處理來自客戶的RTSP請求,判斷對請求是轉發(fā)還是直接服務; 并在對需要轉發(fā)的請求進行適當?shù)念^部轉換后,通過RTP/RTSP客戶模 塊進行轉發(fā);調度模塊管理所有事件的整個隊列;緩存管理模塊將客戶 端請求的視頻URL映射成為本地文件名,對磁盤空間進行管理,并負 責通過適當?shù)木彺嬷脫Q策略為將要被緩存的內容分配空間。
緩存管理模塊的緩存置換策略采用基于加權流行度的LFU緩存替換 策略,節(jié)目的點擊次數(shù)越多,點擊頻率越高,則節(jié)目的流行度就高,即 節(jié)目的流行度與該節(jié)目的點擊次數(shù)和點擊頻率成正比,且點擊頻率有更 重要的權重。
所述基于加權流行度的LFU緩存替換策略的主要步驟包括1) 當時間片T到來,新的媒體對象經(jīng)過緩存代理時,首先對當前代 理內的所有媒體對象統(tǒng)計其加權流行度,具體計算方法見技術方案;
2) 然后重新排列媒體對象的優(yōu)先級,根據(jù)優(yōu)先級判斷新的媒體的優(yōu) 先級是否高于緩存匯總媒體的最低優(yōu)先級,如果低于緩存中媒體的最低 優(yōu)先級,則不緩存其前綴,由遠程服務器直接提供服務,如果高于緩存 中媒體的最低優(yōu)先級,則將新的媒體對象的前綴替換出緩存中最低優(yōu)先 級的媒體的前綴,同時在硬盤中刪除該最低優(yōu)先級的后綴。這時緩存中 的執(zhí)行任務結束;
3) 然后進入到了硬盤部分,首先比較硬盤中是否有比新的媒體對象 優(yōu)先級低的后綴,如果沒有,那么停止緩存其后綴,剩下的部分交給遠 程服務器直接提供服務即可;
4) 如果硬盤中有比新的媒體對象優(yōu)先級低的后綴,則從硬盤中以新 的媒體的后綴替換出最低優(yōu)先級的媒體對象的后綴,然后判斷這些高優(yōu) 先級的后綴是否都完全緩存了,如果不完全則回到步驟3),如果完全則 該新媒體完全由代理來提供服務。
所述定義局部加權流行度Pi的計算方法為
Pi = - = - (1=1,2,…n)
其中,設一段時間內代理服務器上用戶訪問的流媒體對象數(shù)據(jù)集為
D,取一個正常的較長時間段t,在時間t內上映的節(jié)目總數(shù)為n,所有節(jié)
目的點擊次數(shù)之和為m,設單位時間內平均每個節(jié)目的點擊次數(shù)為K, 則&=^_,即平均每個節(jié)目的點擊頻率,流媒體i在時間T內點擊數(shù)
為Ni (i = 1,2...n),定義實際點擊頻率與平均每個流媒體的點擊頻率K
之比作為點擊次數(shù)Ni的權值Wi,即Wi = Ni/KT。
本發(fā)明的優(yōu)點在于
1) 在原流行度基礎上定義了加權流行度,基于加權流行度提出了代
理緩存策略。加權流行度以點播次數(shù)的2次冪為基準,而非隨點播次數(shù) 線性變化。這樣,流行度的反映才敏感及時,當爆發(fā)性點擊到來時,其 流行度迅速升高,而且當點擊率下降時,流行度迅速下降。按加權流行 度Pi的高低,我們就更準確地知道某個流媒體當前的受歡迎程度,可以 更即時地調整流媒體的排隊優(yōu)先級,很好地克服了因對爆發(fā)性請求反映 遲鈍所帶來的網(wǎng)絡擁塞。
2) 提高了命中率。當爆發(fā)性連接請求到來時,加權流行度的命中率 將高于平時,原流行度命中率將有所下降。因為加權流行度能很快調整 該媒體的流行度以及緩存安排,所以命中率將會比平時要高。同樣的原 因,當這些即時性強的媒體過了其流行時間段后,加權流行度算法的命 中率能很快恢復到平均狀態(tài),但是其他原流行度算法則需要很久一段時 間才能把這些流媒體替換出緩存,才能恢復到平均命中率。
3) 提高了平均服務響應時間。當爆發(fā)性請求到來時,其他原流行度 將導致每個請求都要直接從遠程服務器傳過來,響應時間迅速增加。然 而,加權流行度策略因為緩存了占請求比重很大的流媒體的后綴,致使 平均響應時間還可以有所下降。當該即時性媒體的流行度迅速降下來之 后,其他原流行度算法同樣因為反應遲鈍,不能及時把過期流行度的媒 體替換出去,導致響應時間將會高出加權流行度策略。
圖1為代理緩存服務器的總體功能模塊示意圖2為基于加權流行度的LFU緩存替換策略的實施流程圖。
具體實時方式
下面結合附圖對本發(fā)明進行進一步闡述。
如圖1所示為代理緩存服務器的總體功能模塊示意圖, 一種應用于 數(shù)字家庭中VOD客戶端代理緩存服務器是設置在媒體代理服務器與靠 近客戶一端之間的服務器。設計的方法,主要包含四個功能模塊 RTP/RTSP客戶端模塊、調度模塊、RTP/RTSP服務器模塊、緩存管理模 塊。其總體流程為
1) RTP/RTSP客戶端接收來自媒體服務器的請求,并把請求傳給 RTP/RTSP服務器。
2) RTP/RTSP服務器判斷媒體服務器的請求是轉發(fā)還是直接服務。 對需要轉發(fā)的請求進行頭部轉換后,發(fā)回到RTP/RTSP客戶端,進行步驟 3)。對直接服務的請求進入步驟4)。
3) RTP/RTSP客戶端接收RTP/RTSP服務器處理后的用戶請求轉發(fā) 給媒體代理服務器。
4) 如果客戶請求是視頻,則RTP/RTSP客戶端把客戶數(shù)據(jù)緩存到緩 存管理模塊,將視頻URL映射成本地文件名,對磁盤空間進行管理,并 通過緩存置換策略為將要被緩存的內容分配空間。
VOD客戶端流媒體代理緩存策略的設計,本文提出加權流行度的算
法。節(jié)目的點擊次數(shù)越多,點擊頻率越高,則節(jié)目的流行度就高,即節(jié) 目的流行度與該節(jié)目的點擊次數(shù)和點擊頻率成正比,且點擊頻率有更重 要的權重。
設一段時間內代理服務器上用戶訪問的流媒體對象數(shù)據(jù)集為D。取
一個正常的較長時間段t,在時間t內上映的節(jié)目總數(shù)為n,所有節(jié)目的 點擊次數(shù)之和為m,設單位時間內平均每個節(jié)目的點擊次數(shù)為K,則K二 4,即平均每個節(jié)目的點擊頻率。流媒體i在時間T內點擊數(shù)為Ni(i二
1,2...n),定義實際點擊頻率與平均每個流媒體的點擊頻率K之比作為點 擊次數(shù)Ni的權值Wi,即Wi = Ni/KT。定義局部加權流行度的計算公 式為-
# 化D
基于上述定義的加權流行度,本文制定緩存策略中存放對象的存儲
和緩存替換描述如下
(1)緩存對象的存放
高速緩存RAM采用平均分段的策略,每個流媒體的前綴部分占用的 空間都一樣,但是他們要根據(jù)加權流行度的高低依次排隊,流行度越高, 優(yōu)先級越高。
硬盤中存儲的是流媒體的后綴部分,按照其相應前綴的優(yōu)先級來分 配空間,優(yōu)先級越高的流媒體優(yōu)先分配后綴存儲空間,力求整個流媒體 完全緩存,優(yōu)先級低的流媒體再依次安排空間,直到硬盤空間被分配完 畢。
(2)緩存替換緩存中前綴的替換策略采用基于加權流行度的LFU(Least Frequency Used)算法,即當緩存空間不足時,每次都把優(yōu)先級最低(即加權流行 度最低)的流媒體的前綴替換出去,當然其后綴也要從磁盤中踢出去。
當硬盤空間不足時,從優(yōu)先級最低后綴的開始,依次把優(yōu)先級比它 低的后綴都替換出去,直至高優(yōu)先級的媒體后綴被完全緩存或磁盤空間 不足。替換策略的流程描述如圖1所示。這樣一來,流行度最高的幾個 流媒體,就會被完全緩存下來,就保證了小區(qū)內的客戶對這幾個節(jié)目能 夠流暢的接受和準確的進行播放控制操作。
上述技術方案是鑒于處理點播風暴所造成的網(wǎng)絡擁塞和播放質量下 降定義了基于加權流行度上的流媒體代理緩存策略。以往對于流行度計 算的公式,僅僅統(tǒng)計了對某種流媒體的請求次數(shù)與對所有媒體的請求次 數(shù)之比作為該流媒體的流行度,需要一個長期時間內的累積結果才能得 到有效的流行度的排名,缺乏即時性和應變性。
本發(fā)明所發(fā)明的緩存置換策略為基于加權流行度的LFU緩存替換策 略,其總的系統(tǒng)工作流程圖如圖2所示,下面具體來說明一下該替換策 略的
具體實施例方式
1) 當時間片T到來,新的媒體對象經(jīng)過緩存代理時,首先對當前代 理內的所有媒體對象統(tǒng)計其加權流行度,具體計算方法見技術方案。
2) 然后重新排列媒體對象的優(yōu)先級,根據(jù)優(yōu)先級判斷新的媒體的優(yōu) 先級是否高于緩存匯總媒體的最低優(yōu)先級,如果低于緩存中媒體的最低 優(yōu)先級,則不緩存其前綴,由遠程服務器直接提供服務,如果高于緩存 中媒體的最低優(yōu)先級,則將新的媒體對象的前綴替換出緩存中最低優(yōu)先 級的媒體的前綴,同時在硬盤中刪除該最低優(yōu)先級的后綴。這時緩存中 的執(zhí)行任務結束。
3) 然后進入到了硬盤部分,首先比較硬盤中是否有比新的媒體對象 優(yōu)先級低的后綴,如果沒有,那么停止緩存其后綴,剩下的部分交給遠 程服務器直接提供服務即可。
4) 如果硬盤中有比新的媒體對象優(yōu)先級低的后綴,則從硬盤中以新 的媒體的后綴替換出最低優(yōu)先級的媒體對象的后綴。然后判斷這些高優(yōu)
先級的后綴是否都完全緩存了,如果不完全則回到步驟3)。如果完全則
該新媒體完全由代理來提供服務。
權利要求
1、一種數(shù)字家庭中VOD客戶端代理緩存服務器、它包括RTP/RTSP客戶端模塊、調度模塊、RTP/RTSP服務器模塊和緩存管理模塊RTP/RTSP客戶端模塊即代理服務器相對于遠程服務器來說是客戶,負責與媒體服務器(或上層代理)進行聯(lián)系,將經(jīng)RTP/RTSP服務器處理的用戶請求轉發(fā)給服務器,并為客戶請求獲取數(shù)據(jù);RTP/RTSP服務器模塊接收并處理來自客戶的RTSP請求,判斷對請求是轉發(fā)還是直接服務;并在對需要轉發(fā)的請求進行適當?shù)念^部轉換后,通過RTP/RTSP客戶模塊進行轉發(fā);調度模塊管理所有事件的整個隊列;緩存管理模塊將客戶端請求的視頻URL映射成為本地文件名,對磁盤空間進行管理,并負責通過適當?shù)木彺嬷脫Q策略為將要被緩存的內容分配空間;其特征在于所述緩存管理模塊的緩存置換策略采用基于加權流行度的LFU緩存替換策略,節(jié)目的點擊次數(shù)越多,點擊頻率越高,則節(jié)目的流行度就高,即節(jié)目的流行度與該節(jié)目的點擊次數(shù)和點擊頻率成正比,且點擊頻率有更重要的權重。
2、 根據(jù)權利要求1所述的數(shù)字家庭中VOD客戶端代理緩存服務器, 其特征在于,所述基于加權流行度的LFU緩存替換策略的主要步驟包括--1) 當時間片T到來,新的媒體對象經(jīng)過緩存代理時,首先對當前代 理內的所有媒體對象統(tǒng)計其加權流行度,具體計算方法見技術方案;2) 然后重新排列媒體對象的優(yōu)先級,根據(jù)優(yōu)先級判斷新的媒體的優(yōu) 先級是否高于緩存匯總媒體的最低優(yōu)先級,如果低于緩存中媒體的最低 優(yōu)先級,則不緩存其前綴,由遠程服務器直接提供服務,如果高于緩存 中媒體的最低優(yōu)先級,則將新的媒體對象的前綴替換出緩存中最低優(yōu)先 級的媒體的前綴,同時在硬盤中刪除該最低優(yōu)先級的后綴。這時緩存中的執(zhí)行任務結束;3) 然后進入到了硬盤部分,首先比較硬盤中是否有比新的媒體對象 優(yōu)先級低的后綴,如果沒有,那么停止緩存其后綴,剩下的部分交給遠 程服務器直接提供服務即可;4) 如果硬盤中有比新的媒體對象優(yōu)先級低的后綴,則從硬盤中以新 的媒體的后綴替換出最低優(yōu)先級的媒體對象的后綴,然后判斷這些高優(yōu) 先級的后綴是否都完全緩存了,如果不完全則回到步驟3),如果完全則 該新媒體完全由代理來提供服務。
3、根據(jù)權利要求1所述的數(shù)字家庭中VOD客戶端代理緩存服務器, 其特征在于,所述定義局部加權流行度Pi的計算方法為其中,設一段時間內代理服務器上用戶訪問的流媒體對象數(shù)據(jù)集為 D,取一個正常的較長時間段t,在時間t內上映的節(jié)目總數(shù)為n,所有節(jié) 目的點擊次數(shù)之和為m,設單位時間內平均每個節(jié)目的點擊次數(shù)為K, 則&=!,即平均每個節(jié)目的點擊頻率,流媒體i在時間T內點擊數(shù)為Ni (i = 1,2...n),定義實際點擊頻率與平均每個流媒體的點擊頻率K 之比作為點擊次數(shù)Ni的權值Wi,即Wi = Ni/KT。
全文摘要
本發(fā)明的目的在于克服現(xiàn)有技術的不足,提出一種用于數(shù)字家庭VOD客戶端緩存代理服務器設計的方法。通過基于加權流行度的替換算法,對解決點播風暴所造成的網(wǎng)絡擁塞和播放質量下降提出了一種有效的技術手段和解決方案。與其他同類型的方法相比,本發(fā)明主要是在于家里VOD客戶端代理緩存服務器的流媒體代理緩存策略的設計,提出了基于加權流行度的流媒體代理緩存策略。通過本發(fā)明按加權流行度Pi的高低,我們可以更加準確地知道某個流媒體當前的受歡迎程度,可以更即時地調整流媒體的排隊優(yōu)先級,很好地克服了因對爆發(fā)性請求反映遲鈍所帶來的網(wǎng)絡擁塞、提高緩存媒體中響應的命中率、提高由用戶發(fā)出請求到接收完成響應信息所需的總時間。
文檔編號H04N7/173GK101184209SQ200710032398
公開日2008年5月21日 申請日期2007年12月12日 優(yōu)先權日2007年12月12日
發(fā)明者穎 曹, 毛正華, 羅笑南 申請人:中山大學