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