專利名稱:緩存數(shù)據(jù)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及一種用于緩存數(shù)據(jù)(例如音頻、視頻和/或其他數(shù)據(jù))的技術(shù),特別是涉及使用包括近期訪問(wèn)請(qǐng)求信息的信息來(lái)提高緩存性能的緩存數(shù)據(jù)的方法和系統(tǒng)。
背景技術(shù):
數(shù)據(jù)緩存對(duì)于計(jì)算機(jī)系統(tǒng)的各個(gè)方面例如存儲(chǔ)系統(tǒng)、文件系統(tǒng)、和互連網(wǎng)絡(luò)(即,網(wǎng)絡(luò))系統(tǒng)是很重要的。數(shù)據(jù)緩存的基本概念是將近期比較可能被訪問(wèn)到的數(shù)據(jù)存放在容量有限,但相對(duì)速度快且昂貴的緩沖存儲(chǔ)器元件中,該緩沖存儲(chǔ)器元件“更接近”于終端用戶。由于緩沖存儲(chǔ)器容量有限,任何緩存系統(tǒng)的核心是其替換算法,該替換算法表示當(dāng)緩沖存儲(chǔ)器滿時(shí)并且需要寫(xiě)入新的數(shù)據(jù)項(xiàng)時(shí),哪些數(shù)據(jù)項(xiàng)應(yīng)當(dāng)從緩沖存儲(chǔ)器中移除。
由于數(shù)據(jù)訪問(wèn)順序事先是未知的,現(xiàn)有的緩存技術(shù)使用基于過(guò)去訪問(wèn)信息的替換算法。一種被稱作為“最近最早使用(Least Recent Used)”(LRU)算法的現(xiàn)有替換算法是基于如果一個(gè)數(shù)據(jù)項(xiàng)曾經(jīng)被訪問(wèn),該數(shù)據(jù)項(xiàng)很可能在近期被再次訪問(wèn)的假設(shè)。因此,通過(guò)LRU算法,首先替換最近最早被訪問(wèn)過(guò)的緩存數(shù)據(jù)項(xiàng)。例如,LRU算法尤其適用于存儲(chǔ)器和文件系統(tǒng)。另一種被稱為“最不經(jīng)常使用(Least Frequently Used)”(LFU)算法的現(xiàn)有替換算法是基于過(guò)去經(jīng)常訪問(wèn)的數(shù)據(jù)項(xiàng)很可能在近期被再次訪問(wèn)的假設(shè)。因此,通過(guò)LFU算法,首先替換過(guò)去被訪問(wèn)次數(shù)最少的緩存數(shù)據(jù)項(xiàng)。例如,LFU算法尤其適用于互連網(wǎng)或基于網(wǎng)絡(luò)的系統(tǒng)。
盡管諸如前述的LRU和LFU算法的現(xiàn)有替換算法有益于特定的應(yīng)用,但它們的缺點(diǎn)在于它們僅使用過(guò)去的訪問(wèn)信息而不考慮近期訪問(wèn)信息。因此,需要一種使用包括近期訪問(wèn)請(qǐng)求信息的信息來(lái)提高緩存性能的數(shù)據(jù)緩存技術(shù)。本發(fā)明將闡述這些和/或其他問(wèn)題。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)方面,公開(kāi)了一種用于運(yùn)行緩存系統(tǒng)的方法。根據(jù)一個(gè)示范性實(shí)施例,該方法包括在緩存系統(tǒng)的緩沖存儲(chǔ)器中接收多個(gè)數(shù)據(jù)項(xiàng)的步驟,以及使用至少一個(gè)數(shù)據(jù)項(xiàng)的近期訪問(wèn)請(qǐng)求信息來(lái)替換緩沖存儲(chǔ)器中該至少一個(gè)數(shù)據(jù)項(xiàng)的步驟。
根據(jù)本發(fā)明的另一個(gè)方面,公開(kāi)了一種數(shù)據(jù)處理設(shè)備。根據(jù)一個(gè)示范性實(shí)施例,該數(shù)據(jù)處理裝置包括用于緩存多個(gè)數(shù)據(jù)項(xiàng)的緩存裝置。該處理設(shè)備使用至少一個(gè)數(shù)據(jù)項(xiàng)的近期訪問(wèn)請(qǐng)求信息,使得緩存裝置中該至少一個(gè)數(shù)據(jù)項(xiàng)能夠被替換。
還根據(jù)本發(fā)明的另一個(gè)方面,公開(kāi)了一種緩存系統(tǒng)。根據(jù)一個(gè)示范性實(shí)施例,該緩存系統(tǒng)包括可操作用于緩存多個(gè)數(shù)據(jù)項(xiàng)的緩沖存儲(chǔ)器。處理器可操作使用至少一個(gè)數(shù)據(jù)項(xiàng)的近期訪問(wèn)請(qǐng)求信息,使得緩沖存儲(chǔ)器中該至少一個(gè)數(shù)據(jù)項(xiàng)能夠被替換。
結(jié)合附圖參考下文描述的本發(fā)明的實(shí)施例,本發(fā)明上述以及其他的特征和優(yōu)點(diǎn),以及獲得它們的方式將變得更加清楚,并且本發(fā)明將被更好地理解,其中圖1是適合用于實(shí)現(xiàn)本發(fā)明的示范性環(huán)境的圖表;圖2是示出圖1每個(gè)緩存系統(tǒng)的進(jìn)一步實(shí)施細(xì)節(jié)的方框圖;圖3是示出根據(jù)本發(fā)明一個(gè)示范性實(shí)施例的步驟的流程圖;
圖4是示出不同緩沖存儲(chǔ)器大小的不同替換算法的命中率的曲線圖;和圖5是示出不同數(shù)量數(shù)據(jù)項(xiàng)的不同替換算法的命中率的曲線圖。
這里所展示的范例示出了本發(fā)明的優(yōu)選實(shí)施例,并且這樣的范例并不認(rèn)為是以任何方式限定本發(fā)明的范圍。
具體實(shí)施例方式
現(xiàn)在參考附圖,特別是圖1,示出了適用于實(shí)現(xiàn)本發(fā)明的示范性環(huán)境100。如圖1所示,環(huán)境100包括一個(gè)內(nèi)容服務(wù)器(content server)10、一個(gè)或多個(gè)緩存系統(tǒng)20、和一個(gè)用戶裝置30。根據(jù)一個(gè)示范性實(shí)施例,環(huán)境100表示能夠?qū)?lái)自內(nèi)容服務(wù)器10的音頻、視頻和/或其他數(shù)據(jù)經(jīng)由緩存系統(tǒng)20傳送給用戶裝置30的網(wǎng)絡(luò)。
內(nèi)容服務(wù)器10可操作用于存儲(chǔ)和發(fā)送數(shù)據(jù)。根據(jù)一個(gè)示范性實(shí)施例,內(nèi)容服務(wù)器10可操作用于存儲(chǔ)包括音頻、視頻和/或其他數(shù)據(jù)的數(shù)據(jù),以及通過(guò)下載將這類數(shù)據(jù)經(jīng)由緩存系統(tǒng)20發(fā)送給包括用戶裝置30的一個(gè)或多個(gè)用戶裝置,以響應(yīng)請(qǐng)求信號(hào)。由內(nèi)容服務(wù)器10存儲(chǔ)和發(fā)送的數(shù)據(jù)在這里稱為“數(shù)據(jù)項(xiàng)”并且每個(gè)這樣的數(shù)據(jù)項(xiàng)表示諸如電影、歌曲等等的音頻和/或視頻內(nèi)容。
每個(gè)緩存系統(tǒng)20可操作用于執(zhí)行包括數(shù)據(jù)緩存功能的數(shù)據(jù)處理功能。根據(jù)一個(gè)示范性實(shí)施例,每個(gè)緩存系統(tǒng)20可操作用于緩存從包括內(nèi)容服務(wù)器10和/或其他緩存系統(tǒng)20的一個(gè)或多個(gè)數(shù)據(jù)源下載的音頻、視頻和/或其他數(shù)據(jù),并將緩存的數(shù)據(jù)提供給包括用戶裝置30的一個(gè)或多個(gè)用戶裝置,以響應(yīng)請(qǐng)求信號(hào)。為了舉例和解釋,圖1示出的環(huán)境100具有兩個(gè)緩存系統(tǒng)20。然而,根據(jù)本發(fā)明可以使用更少或更多數(shù)量的這類緩存系統(tǒng)20。因此,在實(shí)踐中使用的緩存系統(tǒng)20的實(shí)際數(shù)量是與設(shè)計(jì)選擇有關(guān)的。同樣根據(jù)一個(gè)示范性實(shí)施例,每個(gè)緩存系統(tǒng)20使用包括近期訪問(wèn)請(qǐng)求信息的信息來(lái)提高緩存性能。關(guān)于每個(gè)緩存系統(tǒng)20進(jìn)一步的細(xì)節(jié)將在下面描述。
用戶裝置30可操作用于產(chǎn)生請(qǐng)求信號(hào),該請(qǐng)求信號(hào)使諸如音頻、視頻和/或其他數(shù)據(jù)的數(shù)據(jù)從包括內(nèi)容服務(wù)器10和/或緩存系統(tǒng)20的一個(gè)或多個(gè)數(shù)據(jù)源中下載,并且接收和處理合成的下載數(shù)據(jù)。根據(jù)一個(gè)示范性實(shí)施例,用戶裝置30可以體現(xiàn)為能夠產(chǎn)生數(shù)據(jù)項(xiàng)的請(qǐng)求信號(hào)并能夠接收所請(qǐng)求數(shù)據(jù)項(xiàng)的任何類型的設(shè)備、裝置或系統(tǒng)。例如,用戶裝置30可以由任何類型的家用電器來(lái)實(shí)現(xiàn),例如但不局限于電視機(jī)、計(jì)算機(jī)、機(jī)頂盒、錄像機(jī)(VCR)、數(shù)字多功能光盤(pán)播放器(DVD)、視頻游戲盒、個(gè)人視頻錄像機(jī)(PVR)、或其他裝置。用戶裝置30包括一個(gè)輸入元件,例如手持遙控器、有線和/或無(wú)線鍵盤(pán)、或其他輸入元件,通過(guò)輸入元件用戶可以提供使用戶裝置30產(chǎn)生請(qǐng)求信號(hào)的輸入。用戶裝置30可以具有一個(gè)集成的顯示裝置,和/或可操作地被連接到一個(gè)關(guān)聯(lián)的顯示裝置。
參考圖2,示出了圖1每個(gè)緩存系統(tǒng)20的進(jìn)一步實(shí)施細(xì)節(jié)的的方框圖。如圖2所示,每個(gè)緩存系統(tǒng)20包括諸如緩沖存儲(chǔ)器22的緩存裝置和諸如處理器28的處理裝置。圖2的上述元件可以通過(guò)使用一個(gè)或多個(gè)集成電路(IC)來(lái)實(shí)現(xiàn)。為了清楚描述,諸如電源信號(hào)這種與緩存系統(tǒng)20相關(guān)的某些傳統(tǒng)元件和/或其他元件在圖2中未示出。
緩沖存儲(chǔ)器22可操作用于執(zhí)行緩存系統(tǒng)20的數(shù)據(jù)緩存功能。根據(jù)一個(gè)示范性實(shí)施例,緩沖存儲(chǔ)器22在處理器28的控制下可操作用于緩存從諸如內(nèi)容服務(wù)器10和/或其他緩存系統(tǒng)20的一個(gè)或多個(gè)數(shù)據(jù)源下載的包括音頻、視頻和/或其他數(shù)據(jù)的數(shù)據(jù)。同樣根據(jù)一個(gè)示范性實(shí)施例,緩沖存儲(chǔ)器22在處理器28的控制下可操作用于將包括音頻、視頻和/或其他數(shù)據(jù)的緩存數(shù)據(jù)下載到其他緩存系統(tǒng)20和/或用戶裝置30。
處理器28可操作用于執(zhí)行緩存系統(tǒng)20的各種處理功能。根據(jù)一個(gè)示范性實(shí)施例,處理器28可操作用于接收和處理由另外一個(gè)緩存系統(tǒng)20和/或用戶裝置30提供的請(qǐng)求信號(hào)來(lái)完成數(shù)據(jù)下載功能。如圖2所示,處理器28通過(guò)產(chǎn)生提供給內(nèi)容服務(wù)器10和/或另外一個(gè)緩存系統(tǒng)20的附加請(qǐng)求信號(hào)來(lái)響應(yīng)所接收到的請(qǐng)求信號(hào),從而使得一個(gè)或多個(gè)被請(qǐng)求的數(shù)據(jù)項(xiàng)下載到緩沖存儲(chǔ)器22中。
處理器28同樣可操作用于執(zhí)行使緩沖存儲(chǔ)器22中的數(shù)據(jù)項(xiàng)被替換的替換算法。根據(jù)一個(gè)示范性實(shí)施例,處理器28可操作用于使用一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)的近期訪問(wèn)請(qǐng)求信息來(lái)提供使緩沖存儲(chǔ)器22中的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)被替換的控制信號(hào)。根據(jù)這個(gè)示范性實(shí)施例,存儲(chǔ)在緩沖存儲(chǔ)器22中的每個(gè)數(shù)據(jù)項(xiàng)可以包括指示特定數(shù)據(jù)項(xiàng)已經(jīng)被請(qǐng)求近期訪問(wèn)的時(shí)間的近期訪問(wèn)請(qǐng)求信息。指定數(shù)據(jù)項(xiàng)的近期訪問(wèn)時(shí)間可以基于該指定數(shù)據(jù)項(xiàng)的在先用戶請(qǐng)求。如下文將要描述的,處理器28使得緩沖存儲(chǔ)器22中具有最遠(yuǎn)的近期訪問(wèn)時(shí)間的數(shù)據(jù)項(xiàng)首先被替換。而且,當(dāng)執(zhí)行替換算法時(shí),處理器28還使用數(shù)據(jù)項(xiàng)的過(guò)去訪問(wèn)信息。根據(jù)一個(gè)示范性實(shí)施例,指定數(shù)據(jù)項(xiàng)的這種過(guò)去訪問(wèn)信息包括該指定數(shù)據(jù)項(xiàng)先前被訪問(wèn)過(guò)的次數(shù),和/或該指定數(shù)據(jù)項(xiàng)先前被最后一次訪問(wèn)的時(shí)間。下文將提供關(guān)于本發(fā)明這些方面的其他元件。
為了促進(jìn)更好地理解本發(fā)明,現(xiàn)在將舉個(gè)例子。參考圖3,示出了根據(jù)本發(fā)明一個(gè)示范性實(shí)施例步驟的流程圖300。為達(dá)到舉例和解釋的目的,參考圖1環(huán)境100的元件以及圖2的緩存系統(tǒng)20來(lái)描述圖3的步驟。圖3的步驟僅僅是示例的,并非以任何方式限定本發(fā)明。
在步驟310,多個(gè)數(shù)據(jù)項(xiàng)被放置在相應(yīng)緩存系統(tǒng)20的緩沖存儲(chǔ)器22中。根據(jù)一個(gè)示范性實(shí)施例,該數(shù)據(jù)項(xiàng)從諸如內(nèi)容服務(wù)器10或另外一個(gè)緩存系統(tǒng)20的數(shù)據(jù)源被下載到緩沖存儲(chǔ)器22中,以響應(yīng)用戶請(qǐng)求信號(hào)。該數(shù)據(jù)項(xiàng)包括音頻,視頻和/或表示電影、歌曲或其他內(nèi)容的其他數(shù)據(jù)。同樣根據(jù)一個(gè)示范性實(shí)施例,在步驟310被放置在緩沖存儲(chǔ)器22中的每個(gè)數(shù)據(jù)項(xiàng)Ci至少包括三條信息fi,ni和pi,每條信息由相應(yīng)的值表示。第一條信息fi表示數(shù)據(jù)項(xiàng)Ci的第一個(gè)近期訪問(wèn)時(shí)間。換句話說(shuō),第一個(gè)近期訪問(wèn)時(shí)間fi表示已經(jīng)被請(qǐng)求訪問(wèn)的數(shù)據(jù)項(xiàng)Ci的下一個(gè)近期訪問(wèn)時(shí)間。如果對(duì)于指定的數(shù)據(jù)項(xiàng)Ci不存在有效的近期訪問(wèn)信息,則fi被設(shè)置為無(wú)窮大。這會(huì)出現(xiàn),例如,如果數(shù)據(jù)項(xiàng)Ci被下載到緩沖存儲(chǔ)器22中,不存在數(shù)據(jù)項(xiàng)Ci的近期請(qǐng)求。第二條信息ni表示數(shù)據(jù)項(xiàng)Ci先前被訪問(wèn)過(guò)的次數(shù)。第三條信息pi表示數(shù)據(jù)項(xiàng)Ci的最近一次被訪問(wèn)的時(shí)間。
在步驟320,識(shí)別具有最遠(yuǎn)的近期訪問(wèn)時(shí)間的數(shù)據(jù)項(xiàng)。根據(jù)一個(gè)示范性實(shí)施例,處理器28通過(guò)檢驗(yàn)緩沖存儲(chǔ)器22中每個(gè)數(shù)據(jù)項(xiàng)的第一個(gè)近期訪問(wèn)時(shí)間fi來(lái)執(zhí)行步驟320。根據(jù)這個(gè)示范性實(shí)施例,在步驟320中,由處理器28識(shí)別緩沖存儲(chǔ)器22中具有最大fi值的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)。
在步驟330,判定在步驟320中是否識(shí)別了多個(gè)數(shù)據(jù)項(xiàng)。根據(jù)一個(gè)示范性實(shí)施例,處理器28通過(guò)判定緩沖存儲(chǔ)器22中的多個(gè)數(shù)據(jù)項(xiàng)的最大fi值是否相同來(lái)執(zhí)行步驟330。如果在步驟330的判定是否,則處理流程進(jìn)行到步驟390,此處在步驟320識(shí)別出的單個(gè)數(shù)據(jù)項(xiàng)被新的數(shù)據(jù)項(xiàng)替換。根據(jù)一個(gè)示范性實(shí)施例,處理器28提供一個(gè)或多個(gè)控制信號(hào)給緩沖存儲(chǔ)器22,以執(zhí)行步驟390的數(shù)據(jù)項(xiàng)的替換。
可選地,如果步驟330的判定是肯定的,則處理流程進(jìn)行到步驟340,此處在步驟320識(shí)別出的多個(gè)數(shù)據(jù)項(xiàng)中最不經(jīng)常訪問(wèn)的數(shù)據(jù)項(xiàng)被識(shí)別。根據(jù)一個(gè)示范性實(shí)施例,處理器28通過(guò)檢驗(yàn)步驟320識(shí)別出的多個(gè)數(shù)據(jù)項(xiàng)以及確定具有最小ni值的那些數(shù)據(jù)項(xiàng)中的一個(gè)或多個(gè)來(lái)執(zhí)行步驟340。
在步驟350,判定在步驟340是否識(shí)別出了多個(gè)數(shù)據(jù)項(xiàng)。根據(jù)一個(gè)示范性實(shí)施例,處理器28通過(guò)確定在步驟340所檢驗(yàn)的多個(gè)數(shù)據(jù)項(xiàng)的最小ni值是否相同來(lái)執(zhí)行步驟350。如果在步驟350的判定是否定的,則處理流程進(jìn)行到步驟390,此處在步驟340識(shí)別出的單個(gè)數(shù)據(jù)項(xiàng)被新的數(shù)據(jù)項(xiàng)替換。根據(jù)一個(gè)示范性實(shí)施例,處理器28提供一個(gè)或多個(gè)控制信號(hào)給緩沖存儲(chǔ)器22,以執(zhí)行步驟390的數(shù)據(jù)項(xiàng)的替換。
可選地,如果在步驟350的判定是肯定的,則處理流程進(jìn)行到步驟360,此處在步驟340識(shí)別出的多個(gè)數(shù)據(jù)項(xiàng)中最早被訪問(wèn)的數(shù)據(jù)項(xiàng)被識(shí)別。根據(jù)一個(gè)示范性實(shí)施例,處理器28通過(guò)檢驗(yàn)在步驟340識(shí)別出的多個(gè)數(shù)據(jù)項(xiàng)以及識(shí)別具有最小pi值的這些數(shù)據(jù)項(xiàng)中的一個(gè)或多個(gè)來(lái)執(zhí)行步驟360。
在步驟370,判定在步驟360是否識(shí)別出了多個(gè)數(shù)據(jù)項(xiàng)。根據(jù)一個(gè)示范性實(shí)施例,處理器28通過(guò)判定在步驟360檢驗(yàn)的多個(gè)數(shù)據(jù)項(xiàng)的最小pi值是否相同來(lái)執(zhí)行步驟370。如果在步驟370的判定是否,則處理流程進(jìn)行到步驟390,此處在步驟360確定的單個(gè)數(shù)據(jù)項(xiàng)被新的數(shù)據(jù)項(xiàng)替換。根據(jù)一個(gè)示范性實(shí)施例,處理器28提供一個(gè)或多個(gè)控制信號(hào)給緩沖存儲(chǔ)器22,以執(zhí)行步驟390的數(shù)據(jù)項(xiàng)的替換。
可選地,如果步驟370的判定是肯定的,則處理流程進(jìn)行到步驟380,在該步驟隨機(jī)地選擇緩沖存儲(chǔ)器22中的一個(gè)數(shù)據(jù)項(xiàng),并如前面所描述的在處理器28的控制下在步驟390被替換掉。根據(jù)一個(gè)示范性實(shí)施例,在步驟380,處理器28選擇緩沖存儲(chǔ)器22中最后的一個(gè)數(shù)據(jù)項(xiàng),盡管在步驟380中還可以使用不同的選擇標(biāo)準(zhǔn)。
上述所描述的圖3的步驟可以通過(guò)按照規(guī)定的順序排列緩沖存儲(chǔ)器22中的數(shù)據(jù)項(xiàng)來(lái)執(zhí)行,隨后當(dāng)接收到新的數(shù)據(jù)項(xiàng)時(shí),按順序替換最后一個(gè)數(shù)據(jù)項(xiàng)。數(shù)據(jù)項(xiàng)的規(guī)定順序如下緩沖存儲(chǔ)器22中的所有數(shù)據(jù)項(xiàng)首先根據(jù)上述fi值以升序排列(也就是,fi值最大的放在最后)。如果一個(gè)以上的數(shù)據(jù)項(xiàng)具有相同的fi值(例如,具有無(wú)窮大值的兩個(gè)數(shù)據(jù)項(xiàng)被認(rèn)為是具有相同的值),于是具有相同fi值的那些數(shù)據(jù)項(xiàng)根據(jù)上述ni值以降序排列(也就是,ni值最小的放在最后)。如果一個(gè)以上的數(shù)據(jù)項(xiàng)具有相同的ni值,則具有相同ni值的那些數(shù)據(jù)項(xiàng)根據(jù)上述pi值以降序排列(也就是,pi值最小的放在最后)。最后,如果還余留具有相等pi值的數(shù)據(jù)項(xiàng),則那些余留的數(shù)據(jù)項(xiàng)按照隨機(jī)順序排列。當(dāng)要進(jìn)行替換時(shí),順序地替換最后的一個(gè)數(shù)據(jù)項(xiàng)。
現(xiàn)在參考圖4和圖5,示出了圖3替換算法的仿真結(jié)果。這些仿真結(jié)果表明圖3的替換算法提供了比某些現(xiàn)有的替換算法更好的結(jié)果。任何緩存系統(tǒng)中的一個(gè)重要參數(shù)是“命中率”,“命中率”是指具體數(shù)據(jù)項(xiàng)被訪問(wèn)的次數(shù)和總的訪問(wèn)數(shù)量之間的比率。圖4是示出具有不同緩存大小的不同替換算法的命中率的曲線圖400(沿著x軸的數(shù)字表示假定同一大小的數(shù)據(jù)項(xiàng)的緩沖存儲(chǔ)器的存儲(chǔ)容量)。圖5是示出緩沖存儲(chǔ)器中不同數(shù)量的數(shù)據(jù)項(xiàng)的不同替換算法的命中率曲線圖500。
圖4和圖5所示的模擬結(jié)果是基于一個(gè)視頻下載情景,在該情景中用戶請(qǐng)求視頻并且隨后下載這些視頻。這些視頻的訪問(wèn)模式是基于已知的Zipf分布,該Zipf分布經(jīng)常用于描繪影像出租,圖書(shū)館圖書(shū)結(jié)算,等等。請(qǐng)求到達(dá)(requestarrival)是基于平均到達(dá)間隔設(shè)置為3分鐘的泊松分布,延遲時(shí)間是基于平均時(shí)間設(shè)置為3小時(shí)的正態(tài)分布。除了圖3的替換算法(稱為“安排好的”(scheduled))之外,圖4和圖5示出了先前已經(jīng)描述的LFU算法、將緩沖存儲(chǔ)器中最常用的數(shù)據(jù)項(xiàng)放置在前的靜態(tài)算法、和產(chǎn)生最大可獲取命中率的優(yōu)選算法的結(jié)果。如圖4和圖5所示,圖3的替換算法恒定地產(chǎn)生高于其他現(xiàn)有替換算法的命中率,特別是當(dāng)不同數(shù)據(jù)項(xiàng)的總數(shù)相對(duì)少時(shí)(例如,少于2000,參見(jiàn)圖5)。
如這里所描述的,用于緩存諸如音頻、視頻和/或其他數(shù)據(jù)的方法和系統(tǒng)使用包括近期訪問(wèn)請(qǐng)求信息的信息以提高緩存性能。盡管本發(fā)明已經(jīng)描述了最佳的設(shè)計(jì)方案,但在本公開(kāi)的精神和范圍內(nèi)能夠進(jìn)一步修改本發(fā)明。例如,本發(fā)明可以應(yīng)用于與不同于這里清楚地所描述的方式來(lái)使用近期訪問(wèn)請(qǐng)求信息的緩存系統(tǒng)。因此本申請(qǐng)意旨涵蓋使用本發(fā)明一般原理的任何變形、使用或修改。此外,本申請(qǐng)意旨涵蓋脫離本公開(kāi),但在本發(fā)明遵循的本領(lǐng)域已知或一般原理范圍內(nèi)和落在所附權(quán)利要求的限制范圍內(nèi)的這種范圍。
權(quán)利要求
1.一種用于運(yùn)行緩存系統(tǒng)的方法(300),包括步驟將多個(gè)數(shù)據(jù)項(xiàng)接收到所述緩存系統(tǒng)的緩沖存儲(chǔ)器中(310);以及使用所述數(shù)據(jù)項(xiàng)中至少一個(gè)數(shù)據(jù)項(xiàng)的近期訪問(wèn)請(qǐng)求信息來(lái)替換所述緩沖存儲(chǔ)器中的所述至少一個(gè)數(shù)據(jù)項(xiàng)(320,390)。
2.根據(jù)權(quán)利要求1的方法(300),其中所述替換步驟進(jìn)一步包括使用所述至少一個(gè)數(shù)據(jù)項(xiàng)的過(guò)去訪問(wèn)信息(340,360)。
3.根據(jù)權(quán)利要求2的方法(300),其中所述過(guò)去訪問(wèn)信息包括所述至少一個(gè)數(shù)據(jù)項(xiàng)先前被訪問(wèn)過(guò)的次數(shù)(340)。
4.根據(jù)權(quán)利要求2的方法(300),其中所述過(guò)去訪問(wèn)信息進(jìn)一步包括所述至少一個(gè)數(shù)據(jù)項(xiàng)先前被最后一次訪問(wèn)的時(shí)間(360)。
5.根據(jù)權(quán)利要求1的方法(300),其中所述近期訪問(wèn)請(qǐng)求信息包括所述至少一個(gè)數(shù)據(jù)項(xiàng)已經(jīng)被請(qǐng)求近期訪問(wèn)的時(shí)間。
6.根據(jù)權(quán)利要求1的方法(300),其中所述至少一個(gè)數(shù)據(jù)項(xiàng)包括視頻數(shù)據(jù)。
7.根據(jù)權(quán)利要求1的方法(300),其中所述至少一個(gè)數(shù)據(jù)項(xiàng)包括音頻數(shù)據(jù)。
8.一種數(shù)據(jù)處理設(shè)備(20),包括緩存裝置(22),用于緩存多個(gè)數(shù)據(jù)項(xiàng);以及處理裝置(28),使用所述數(shù)據(jù)項(xiàng)中至少一個(gè)數(shù)據(jù)項(xiàng)的近期訪問(wèn)請(qǐng)求信息使得所述緩存裝置(22)中的所述至少一個(gè)數(shù)據(jù)項(xiàng)能夠被替換。
9.根據(jù)權(quán)利要求8的數(shù)據(jù)處理設(shè)備(20),其中所述處理裝置(28)使用所述至少一個(gè)數(shù)據(jù)項(xiàng)的過(guò)去訪問(wèn)信息使得所述的至少一個(gè)數(shù)據(jù)項(xiàng)能夠被替換。
10.根據(jù)權(quán)利要求9的數(shù)據(jù)處理設(shè)備(20),其中所述過(guò)去訪問(wèn)信息包括所述至少一個(gè)數(shù)據(jù)項(xiàng)先前被訪問(wèn)過(guò)的次數(shù)。
11.根據(jù)權(quán)利要求10的數(shù)據(jù)處理設(shè)備(20),其中所述過(guò)去訪問(wèn)信息進(jìn)一步包括所述至少一個(gè)數(shù)據(jù)項(xiàng)先前被最后一次訪問(wèn)的時(shí)間。
12.根據(jù)權(quán)利要求8的數(shù)據(jù)處理設(shè)備(20),其中所述近期訪問(wèn)請(qǐng)求信息包括所述至少一個(gè)數(shù)據(jù)項(xiàng)已經(jīng)被請(qǐng)求近期訪問(wèn)的時(shí)間。
13.根據(jù)權(quán)利要求8的數(shù)據(jù)處理設(shè)備(20),其中所述至少一個(gè)數(shù)據(jù)項(xiàng)包括視頻數(shù)據(jù)。
14.根據(jù)權(quán)利要求8的數(shù)據(jù)處理設(shè)備(20),其中所述至少一個(gè)數(shù)據(jù)項(xiàng)包括音頻數(shù)據(jù)。
15.一種緩存系統(tǒng)(20),包括緩沖存儲(chǔ)器(22),可操作用于緩存多個(gè)數(shù)據(jù)項(xiàng);以及處理器(28),可操作用于使用所述數(shù)據(jù)項(xiàng)中至少一個(gè)數(shù)據(jù)項(xiàng)的近期訪問(wèn)請(qǐng)求信息使得所述緩沖存儲(chǔ)器(22)中的所述至少一個(gè)數(shù)據(jù)項(xiàng)能夠被替換。
16.根據(jù)權(quán)利要求15的緩存系統(tǒng)(20),其中所述處理器(28)進(jìn)一步可操作用于使用所述至少一個(gè)數(shù)據(jù)項(xiàng)的過(guò)去訪問(wèn)信息,使得所述至少一個(gè)數(shù)據(jù)項(xiàng)能夠被替換。
17.根據(jù)權(quán)利要求16的緩存系統(tǒng)(20),其中所述過(guò)去訪問(wèn)信息包括所述至少一個(gè)數(shù)據(jù)項(xiàng)先前被訪問(wèn)過(guò)的次數(shù)。
18.根據(jù)權(quán)利要求17的緩存系統(tǒng)(20),其中所述過(guò)去訪問(wèn)信息進(jìn)一步包括所述至少一個(gè)數(shù)據(jù)項(xiàng)先前被最后一次訪問(wèn)的時(shí)間。
19.根據(jù)權(quán)利要求15的緩存系統(tǒng)(20),其中所述近期訪問(wèn)請(qǐng)求信息包括所述至少一個(gè)數(shù)據(jù)項(xiàng)已經(jīng)被請(qǐng)求近期訪問(wèn)的時(shí)間。
20.根據(jù)權(quán)利要求15的緩存系統(tǒng)(20),其中所述至少一個(gè)數(shù)據(jù)項(xiàng)包括視頻數(shù)據(jù)。
21.根據(jù)權(quán)利要求15的緩存系統(tǒng)(20),其中所述至少一個(gè)數(shù)據(jù)項(xiàng)包括音頻數(shù)據(jù)。
全文摘要
一種用于緩存諸如音頻、視頻和/或其他數(shù)據(jù)的數(shù)據(jù)的方法和系統(tǒng)使用包括近期訪問(wèn)請(qǐng)求信息的信息來(lái)提高緩存性能。根據(jù)本發(fā)明的一個(gè)示范性實(shí)施例,緩存系統(tǒng)(20)包括可操作用于緩存多個(gè)數(shù)據(jù)項(xiàng)的緩沖存儲(chǔ)器(22)。處理器(28)可操作用于使用至少一個(gè)數(shù)據(jù)項(xiàng)的近期訪問(wèn)請(qǐng)求信息,使得緩沖存儲(chǔ)器(22)中的該至少一個(gè)數(shù)據(jù)項(xiàng)能夠被替換。
文檔編號(hào)G06F12/00GK101040267SQ200480044164
公開(kāi)日2007年9月19日 申請(qǐng)日期2004年10月6日 優(yōu)先權(quán)日2004年10月6日
發(fā)明者張軍彪, 李鈞, 斯奈德哈·維爾馬 申請(qǐng)人:湯姆遜許可公司