流媒體代理緩存替換方法及裝置的制造方法
【技術領域】
[0001] 本發明設及通信技術,具體的講是一種流媒體代理緩存替換方法及裝置。
【背景技術】
[0002] 隨著Internet技術的發展和普遍應用,多種形式的多媒體服務正蓬勃的發展起 來。越來越多的視頻、聲音、圖像、動畫等多媒體信息已經成為人們生活的一部分。但是由 于流媒體具有實時性、高帶寬、數據量大等特點,現有的網絡設備常常不能滿足流媒體的需 求,使得服務器負載過大成為流媒體得W廣泛應用的最主要受限因素,網絡擁塞現象也愈 演愈烈,網絡資源和流媒體廣泛應用之間的矛盾日益嚴重。
[0003] 為了解決上述問題,提高廣域網內流媒體數據的傳輸性能,在流媒體內容分發系 統中引入了代理緩存服務器。將代理服務器設置在靠近用戶的網絡邊緣,并將最有用的流 媒體數據緩存到代理服務器上,當用戶請求的流媒體數據不在緩存中時,則由遠端的原始 流媒體服務器直接提供。但由于代理服務器上緩存的容量有限,緩存中的數據是用戶最可 能被讀取的一部分,隨著用戶需求的動態變化,緩存中的數據也必須相應變化W使緩存達 到最高效率。因此,緩存替換算法要解決的主要問題是應緩存哪些流媒體對象W及當緩存 已滿時新進入的對象應替換哪些對象,要保證代理服務器能充分發揮其作用,必須要緩存 那些最有用的流媒體對象,使得緩存中的所有流媒體對象的利用價值之和最大,因此,緩存 替換方法的好壞直接決定代理服務器的性能。
[0004] 流行度(popularity)是影響流媒體代理緩存性能的最主要因素,它反映了流媒 體文件在某一時段被用戶請求的概率。由于流行度具有時間變化的特性,因此一個流媒體 文件在未來的流行度是難W精確預知的,只能根據其過去的情況進行估計。現有技術的研 究緩存替換算法中,基于流行度預測的方法大部分只根據歷史點擊率進行計算,如果一段 時間后該流媒體文件不再流行了,但其歷史點擊率依然很高,因此在代理緩存中緩存較長 時間才會被置換,造成系統資源利用率極低。流行度預測是一個十分具有挑戰性的研究課 題,如何獲取流媒體流行度的最主要影響因素并基于此預測未來的流行度是需要考慮的問 題之一。
[0005] 另一方面,用戶更關屯、的是流媒體質量好壞W及啟動延遲的長短對其觀看流媒體 的影響。目前緩存替換算法都是W提高代理服務器的命中率為目標,現有技術中,該些優化 目標只是間接地衡量了代理服務器性能,沒有直接反映代理服務器的設計要求。現有技術 的緩存替換算法難W滿足流媒體服務器的要求。因此如何在考慮命中率的同時將流媒體質 量、啟動延遲等因素考慮在內,則不僅能滿足設計人員對于代理服務器性能的要求,也能滿 足用戶對流媒體質量的要求。
[0006] 現有技術的代理緩存替換算法通常都是根據某個標準去替換緩存副本的,主要包 括:基于訪問時間間隔的替換算法,基于訪問次數的替換算法,基于文件大小的替換算法W 及基于預測的替換算法。
[0007] 基于訪問時間間隔的代理緩存替換算法的代表是最近最少使用算法LRU(Least RecentlyUsed,最近最少使用算法)。LRU算法把代理緩存中最近最少被訪問的文件 替換出緩存,該種算法利用了用戶訪問請求的時間局部性原理,即如果最近訪問了某 個文件,該文件在不久的將來可能被再次訪問。根據LRU算法派生出了很多改進的 替換算法,如LRU-MIN(LeastRecently化ed-Min,最近最少-最小文件個數使用算 法)、LRU-T虹eshold(LeastRecentlyUsed-I'虹eshold,最近最少-闊值使用算法)和 LRU-K(LeastRecently化ed-K,最近最少-倒數第K次訪問使用算法)算法。其中LRU-MIN 算法力圖使被替換的文件個數最小,LRU-T虹eshold算法設置一個闊值,不對長度大于該 個闊值的文件進行緩存替換,LRU-K算法淘汰距離倒數第K次被訪問時間最遠的流媒體文 件。基于訪問時間間隔的替換算法只考慮了時間局部性,忽略了文件的大小和獲取文件的 延遲,如果某個被移入緩存的文件很大,就有可能需要將多個小的文件替換出緩存,該樣會 嚴重影響命中率性能。
[000引基于訪問次數的替換算法的典型代表是最少頻率使用算法L即(Least化equency Used,最少頻率使用算法)。L即算法實現對每個文件設置一個計數器,記錄該文件被訪 問的次數,選擇代理緩存空間中被訪問次數最少的文件替換。LFU-aging算法(Least 化equen巧Used-aging,最少頻率-文件衰老策略使用算法)是在LFU算法的基礎上加入 了衰老策略而形成的一種改進算法,它同時考慮了流媒體對象的訪問次數和流媒體文件駐 留在緩存中的時間長短。基于訪問次數的替換算法實現較簡單,只需要對每個文件設置一 個計數器,算法的缺點是沒有考慮文件的長度、獲取文件的訪問延遲和訪問時間長短的影 響。某些文件由于曾經被訪問的次數和其他文件相比較大,即使該些文件不再被訪問,替換 操作發生時將不再將它換出,從而一直占用緩存空間,造成"緩存污染",導致緩存效率極其 低下。
[0009] 基于文件大小的替換算法的典型代表是SIZE算法(基于文件大小的替換算法)。 SIZE算法實現當緩存剩余空間不夠時,緩存中最大的文件被替換出緩存,W便容納更多的 小文件。替換的原則可基于文件大小的精確SIZE值也可基于Log(SIZ巧值。如果具有相 同的文件大小精確值或者Log(SIZ巧值,將最近最少使用的流媒體文件進行替換。基于 Log(SIZ巧算法對文件大小求對數值,減小了文件長度的區別,增加了長度小的文件被替換 出的機會。基于文件大小的替換算法服從Zipf-Uke(幕律分布模型)分布,但在緩存空 間中可能存在無數的小文檔穩定的不會再被訪問,造成緩存空間的浪費和影響命中率的提 局。
[0010] 基于預測的替換算法通常根據歷史訪問記錄進行分析,預測未來的訪問趨勢,并 根據預測值對文件進行比較,將未來預測值大的流媒體對象保留在緩存中,而將未來一段 時間不會被訪問的對象淘汰出緩存,從而提高代理緩存的命中率,使系統達到更好的性能。 常見的該類算法都是基于流行度進行預測的,有回歸預測算法、馬爾科夫模型預測算法和 基于路徑的預測算法等。基于預測的替換算法考慮了文件長度、訪問頻率和其它因素,并將 該些因素作為流媒體文件替換的依據,因此替換的效果較好,復雜度較低,可W明顯提高代 理緩存的命中率。但由于影響預測模型的因素很多,目前該類算法并沒有給出一個成熟的 方案獲取最主要的影響因素。同時該類算法都是W提高命中率為目標,缺乏考慮流媒體質 量和啟動延遲的影響,不能滿足用戶對流媒體質量的要求。
【發明內容】
[0011] 本發明利用流媒體代理緩存服務器的屬性數據、流媒體文件自身的屬性數據及社 交行為數據,結合流媒體質量因子和啟動延遲因子,提供了一種流媒體代理緩存替換方法, 方法包括:
[0012] 利用主成分分析法從影響流媒體文件流行度的屬性數據中選取主成分屬性數 據;
[0013] 根據所述主成分屬性數據和多元線性回歸方法確定流媒體對象的流行度預測值, 所述的流媒體對象包括代理服務器中已緩存的流媒體和待替換進所述代理服務器的流媒 體;
[0014] 根據流媒體對象的視頻峰值信噪比,流媒體對象從原始服務器到代理服務器的延 遲時間W及所述流行度預測值確定流媒體對象的綜合價值;
[0015] 根據所述流媒體對象的綜合價值和代理服務器的緩存空間進行緩存替換。
[0016] 同時,本發明還提供一種流媒體代理緩存替換裝置,裝置包括:
[0017] 主成分屬性數據選取模塊,用于利用主成分分析法從影響流媒體文件流行度的屬 性數據中選取主成分屬性數據;
[0018] 流行度預測值確定模塊,用于根據所述主成分屬性數據和多元線性回歸方法確定 流媒體對象的流行度預測值,所述的流媒體對象包括代理服務器中已緩存的流媒體和待替 換進所述代理服務器的流媒體;
[0019] 綜合價值確定模塊,用于根據流媒體對象的視頻峰值信噪比,流媒體對象從原始 服務器到代理服務器的延遲時間W及所述流行度預測值確定流媒體對象的綜合價值;
[0020] 緩存模塊,用于根據所述流媒體對象的綜合價值和代理服務器的緩存空間進行緩 存替換。
[0021] 本發明針對現有技術中缺乏確定影響流媒體流行度最主要因素及用戶對于接收 端視頻質量的關注超過緩存命中率的缺陷,給出一種流媒體代理緩存替換方法及裝置,充 分利用流媒體代理緩存服務器屬性數據、流媒體文件自身屬性數據和社交行為屬性數據, 抽象出獲取流媒體流行度的最主要影響因素的方法,并根據主成分預測未來的流行度,并 且能夠很自然地融合流媒體質量因子和啟動延遲因子來計算文件的綜合價值,將流媒體文 件綜合價值作為代理緩存的替換原則,W提高緩存命中率的同時提高用戶接收端流媒體質 量。本發