陶佳能+劉獻(xiàn)忠
摘 要
在視頻深度學(xué)習(xí)環(huán)境下,要提高用戶體驗(yàn)就必須在視頻訪問速度方面做文章。而對視頻訪問速度的快慢產(chǎn)生影響的主要因素有兩個(gè):服務(wù)器響應(yīng)速度和網(wǎng)絡(luò)傳輸效率,但服務(wù)器響應(yīng)用戶請求的速度更是重中之重。目前,在視頻深度學(xué)習(xí)環(huán)境下,采用緩存技術(shù)是提升用戶訪問速度的一個(gè)有效手段,也被業(yè)界廣泛關(guān)注,并進(jìn)行了實(shí)際的應(yīng)用探索。當(dāng)前,主要的經(jīng)典算法有 LFU、LRU、LRfU、sc等,本文對他們進(jìn)行了簡單的介紹,著重就 LFU、LRU 算法作了重點(diǎn)的分析研究,并通過某運(yùn)營商提供的實(shí)際運(yùn)行數(shù)據(jù)與在視頻深度學(xué)習(xí)環(huán)境下獲得的模擬數(shù)據(jù)開展實(shí)證比對分析,觀察各算法的實(shí)際表現(xiàn)。從各算法的應(yīng)用結(jié)果的具體情況出發(fā),研究視頻深度學(xué)習(xí)環(huán)境下所應(yīng)采用的緩存算法策略,進(jìn)而為提高視頻深度學(xué)習(xí)系統(tǒng)的緩存命中率尋求理論研究根據(jù)。
【關(guān)鍵詞】視頻深度學(xué)習(xí)系統(tǒng) 緩存算法 模擬實(shí)驗(yàn) 實(shí)證研究
1 引言
在網(wǎng)絡(luò)和多媒體技術(shù)日趨成熟的今天,視頻深度學(xué)習(xí)在IPTV、視頻網(wǎng)站等多個(gè)平臺(tái)上得到了非常普遍的應(yīng)用,用戶對視頻深度學(xué)習(xí)環(huán)境所獲得的體驗(yàn)提出了更高的要求,而比較關(guān)注的問題主要集中在視頻深度學(xué)習(xí)速度上面。在視頻深度學(xué)習(xí)系統(tǒng)里,恰當(dāng)采用緩存技術(shù)對于提高用戶訪問速度非常關(guān)鍵。一種基于訪問頻率的算法,它運(yùn)用計(jì)算用戶的熱點(diǎn)資源在一段時(shí)間內(nèi)訪問的頻率,運(yùn)算得出并確定下一次是否可能將要訪問的資源。這些算法,當(dāng)然,最容易理解的,因此最容易被接受的,包括LFU(leastfrequentlyused),和二 (2queues)在此基礎(chǔ)上發(fā)展起來的,LIRS (LowInterReferenceRecencySet);基于日志的資源訪問時(shí)間,通過時(shí)間做出判斷,包括LRU;運(yùn)用訪問時(shí)間和訪問頻率集成的組合算法,包括LRFU等。當(dāng)然,由于現(xiàn)實(shí)中存在多種因素,目前通行的緩存算法都存在著一定不足,所以現(xiàn)在還沒有一種緩存算法能很好的解決所有目前已經(jīng)發(fā)現(xiàn)的緩存問題。從具體情況出發(fā),研究改進(jìn)現(xiàn)存的緩存算法,盡可能達(dá)到我們的目標(biāo)是問題的關(guān)鍵。在現(xiàn)實(shí)因素干擾下,上述緩存算法都存在著一定不足,有其一定的適用范圍,必須結(jié)合具體情況有針對性的作出調(diào)整。
2 算法的原理與實(shí)現(xiàn)
高速緩存算法的歷史有一個(gè)自己的發(fā)展階段,都是在總結(jié)研究過去算法的基礎(chǔ)上進(jìn)行進(jìn)一步的研究改進(jìn)的。一些經(jīng)典的算法如LRU和LFU,它們有實(shí)現(xiàn)簡單的巨大優(yōu)點(diǎn),是最基本的算法。對于LRU算法的改進(jìn),如LRU-K和其他的一些變異算法,都是從不同的角度對LRU算法作出了改進(jìn),在有些地方都取得了成功。它結(jié)合了LRU和LFU,LRFU,兼顧了LRU和LFU,以及LFU和LFU的優(yōu)點(diǎn)。其他的一些新算法,如SC和LIRS,它們有運(yùn)行穩(wěn)定的特點(diǎn),在一些特定的環(huán)境中使用的效果非常好。
2.1 最近最少使用算法(LRU)
LRU,也就是緩存保留的意思,是指對最近一段時(shí)間使用比較多的熱點(diǎn)資源進(jìn)行緩存保留,并消除掉近期使用比較少的熱點(diǎn)資源數(shù)據(jù)。所以,替換內(nèi)容的時(shí)候只要把近期排在最少使用范圍的熱點(diǎn)資源數(shù)據(jù)作出替換就可以了。
LRU在緩存中會(huì)自動(dòng)對內(nèi)容作出列表,便于存儲(chǔ)最近經(jīng)常使用的熱點(diǎn)資源數(shù)據(jù)。當(dāng)用戶請求響應(yīng)數(shù)據(jù)的時(shí)候,它將自動(dòng)跳轉(zhuǎn)到第一位。而當(dāng)用戶所請求的熱點(diǎn)資源數(shù)據(jù)在列表中,這是已經(jīng)在高速緩存(例如是K),然后原來在K的數(shù)據(jù)將被拉到后方位置并被消除;而當(dāng)用戶請求響應(yīng)的數(shù)據(jù)不在列表中的時(shí)候,就會(huì)馬上被提取到緩存里面并自動(dòng)跳轉(zhuǎn)到第一位,其他內(nèi)容的順序位置同時(shí)依次往后排,那么排在最后的熱點(diǎn)資源數(shù)據(jù)就自動(dòng)消除。
2.2 最少頻率使用算法(LFU)
LRU算法以最近的訪問時(shí)間作為最重要的依據(jù)。而LFU算法是以訪問的頻率作為最重要的依據(jù),依據(jù)內(nèi)容的訪問頻率并作出一定的排序,這種方法比LRU的考慮更為合理,因?yàn)椋L問頻率是最能真實(shí)的反映用戶使用熱點(diǎn)資源的。在如今許多后續(xù)改進(jìn)的算法中,大多采用了頻率相關(guān)的方法。此外,LFU算法使用緩存機(jī)制不同于LRU算法。LFU保持緩沖區(qū)中的匯總清單,記錄訪問數(shù)量的視頻。如果用戶請求的視頻響應(yīng)不在緩存中,就可以將本次訪問加入列表,并把表中排在最后的作出消除處理。
2.3 最近最少使用算法(LRU-K)K
LRU算法的緩存標(biāo)準(zhǔn),是以數(shù)據(jù)首次被訪問為依據(jù)。從某種意義上來講,這是不合理的,因?yàn)楸敬卧L問的熱點(diǎn)資源有可能在今后的很長一個(gè)時(shí)期都不再進(jìn)行再次訪問,這就造成了緩存資源的極大浪費(fèi),從而使經(jīng)常使用的熱點(diǎn)資源不能進(jìn)入緩存中,影響用戶的響應(yīng)體驗(yàn)。解決方案是在定義的T周期時(shí)間內(nèi),當(dāng)熱點(diǎn)資源達(dá)到被事先設(shè)定的K次訪問時(shí),它就自動(dòng)被放置在緩存列表的頂部。因此,隨著LRU-K算法。
3 總結(jié)分析
基于模擬數(shù)據(jù)和真實(shí)數(shù)據(jù)上的實(shí)驗(yàn)分析我們可以發(fā)現(xiàn),得出的模擬數(shù)據(jù)和真實(shí)數(shù)據(jù)的結(jié)果存在著一致性。但不同的LIRS算法,與其他算法相比基本相同,研究證明模擬數(shù)據(jù)與實(shí)際數(shù)據(jù)非常適合,可以說是現(xiàn)實(shí)運(yùn)行情況的真實(shí)反映。在視頻深度學(xué)習(xí)環(huán)境中,LFU,LRFU和SC是業(yè)界目前3個(gè)最好的算法,簡單又易于實(shí)現(xiàn),只考慮Cache的命中率的情況下,LRFU是最佳選擇;如果考慮到用戶實(shí)際的服務(wù)器容量以及網(wǎng)絡(luò)費(fèi)用等情況,我們可以對這3種算法的差異加以認(rèn)真研究,針對具體情況選擇最合適的算法。
最后,本論文對現(xiàn)有的視頻深度學(xué)習(xí)系統(tǒng)中已經(jīng)采用的一些緩存算法如LFU、 LRU 、LRfU、sc等,本文對他們進(jìn)行了簡單的介紹,著重就 LFU、 LRU 算法作了重點(diǎn)的分析研究,同時(shí)有針對性的給出了各算法的實(shí)現(xiàn)模式,利用模擬數(shù)據(jù)和實(shí)際數(shù)據(jù)實(shí)證比較分析了兩者之間的差異,為達(dá)到理想的效果,要充分考慮到服務(wù)器的容量,選擇相應(yīng)的算法,對一些參數(shù)作出適當(dāng)?shù)恼{(diào)整。
參考文獻(xiàn)
[1]錢培杰,武娟,高成英.視頻點(diǎn)播環(huán)境下的緩存算法研究[J].計(jì)算機(jī)科學(xué),2015,42(S1):38-44.
[2]郝偉,蘇秀琴,楊小君,李哲,吳慧蓮.基于隊(duì)列式緩存結(jié)構(gòu)的視頻圖像存儲(chǔ)算法[J].光子學(xué)報(bào),2006(09):1431-1434.
作者單位
華東師范大學(xué)計(jì)算機(jī)科學(xué)與軟件工程學(xué)院 上海市 200062endprint