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