欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

緩存數(shù)據(jù)的持久化存儲(chǔ)方法及裝置與流程

文檔序號(hào):11917373閱讀:383來(lái)源:國(guó)知局
緩存數(shù)據(jù)的持久化存儲(chǔ)方法及裝置與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種緩存數(shù)據(jù)的持久化存儲(chǔ)方法及裝置。



背景技術(shù):

目前,計(jì)算機(jī)在對(duì)獲取的緩存數(shù)據(jù)進(jìn)行存儲(chǔ)時(shí),一般都是將獲取的緩存數(shù)據(jù)先存入CACHE(高速緩沖存儲(chǔ)器),然后在通過(guò)CACHE將獲取的緩存數(shù)據(jù)寫入BASE(數(shù)據(jù)庫(kù))中,這一過(guò)程稱為回刷。由于一般的緩存并不具有持久性,而數(shù)據(jù)庫(kù)能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)的永久存儲(chǔ),因此通過(guò)上述回刷過(guò)程能夠?qū)崿F(xiàn)對(duì)緩存數(shù)據(jù)的永久存儲(chǔ)。

但是,發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn)現(xiàn)有技術(shù)中的上述方式至少存在下述缺陷:目前的緩存系統(tǒng)在回刷緩存數(shù)據(jù)時(shí),都是按照緩存數(shù)據(jù)的寫入時(shí)間進(jìn)行回刷:先寫入高速緩沖存儲(chǔ)器的緩存數(shù)據(jù)先進(jìn)行回刷,然后按照時(shí)間順序依次回刷后寫入的緩存數(shù)據(jù)。但是,由于緩存數(shù)據(jù)的重要性與緩存數(shù)據(jù)的寫入時(shí)間并沒(méi)有必然聯(lián)系,因此,在上述過(guò)程中,一旦緩存系統(tǒng)出現(xiàn)故障,則會(huì)導(dǎo)致重要性高的緩存數(shù)據(jù)因排序靠后而丟失。由此可見(jiàn),目前針對(duì)緩存數(shù)據(jù)的回刷策略不夠靈活,容易導(dǎo)致重要數(shù)據(jù)的丟失。



技術(shù)實(shí)現(xiàn)要素:

鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的緩存數(shù)據(jù)的持久化存儲(chǔ)方法及裝置。

根據(jù)本發(fā)明的一個(gè)方面,提供了一種緩存數(shù)據(jù)的持久化存儲(chǔ)方法,包括:分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù);根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)以及預(yù)設(shè)的溫度屬性計(jì)算規(guī)則,計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值;按照溫度屬性值從高到低的順序,將各個(gè)緩存數(shù)據(jù)依次持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。

可選地,所述預(yù)設(shè)的溫度屬性計(jì)算規(guī)則包括:將每個(gè)緩存數(shù)據(jù)的寫入總次數(shù)作為該緩存數(shù)據(jù)的溫度屬性值。

可選地,所述預(yù)設(shè)的溫度屬性計(jì)算規(guī)則包括:預(yù)先將所述緩存對(duì)應(yīng)的緩存時(shí)長(zhǎng)進(jìn)一步劃分為多個(gè)緩存時(shí)段,為各個(gè)緩存時(shí)段分別設(shè)置對(duì)應(yīng)的時(shí)段權(quán)重值;針對(duì)每個(gè)緩存數(shù)據(jù),根據(jù)該緩存數(shù)據(jù)各次寫入時(shí)對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值確定該緩存數(shù)據(jù)的溫度屬性值。

可選地,所述根據(jù)該緩存數(shù)據(jù)各次寫入時(shí)對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值確定該緩存數(shù)據(jù)的溫度屬性值包括:分別確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù);針對(duì)每個(gè)緩存時(shí)段,將該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的寫入次數(shù)與該緩存時(shí)段的時(shí)段權(quán)重值的乘積作為該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的時(shí)段溫度值;將該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的時(shí)段溫度值的總和作為該緩存數(shù)據(jù)的溫度屬性值。

可選地,所述緩存數(shù)據(jù)的持久化存儲(chǔ)方法進(jìn)一步包括:分別針對(duì)每個(gè)緩存時(shí)段設(shè)置與該緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表,其中,各個(gè)時(shí)段數(shù)據(jù)表用于記錄相應(yīng)的緩存時(shí)段內(nèi)寫入的緩存數(shù)據(jù);則所述分別確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù)包括:分別根據(jù)各個(gè)緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù)。

可選地,所述分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)的步驟具體包括:針對(duì)每個(gè)緩存數(shù)據(jù),查找該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù),將該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù)確定為該緩存數(shù)據(jù)的寫入總次數(shù)。

根據(jù)本發(fā)明的另一方面,提供了一種緩存數(shù)據(jù)的持久化存儲(chǔ)裝置,包括:確定模塊,適于分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù);計(jì)算模塊,適于根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)以及預(yù)設(shè)的溫度屬性計(jì)算規(guī)則,計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值;存儲(chǔ)模塊,適于按照溫度屬性值從高到低的順序,將各個(gè)緩存數(shù)據(jù)依次持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。

可選地,所述計(jì)算模塊具體用于:將每個(gè)緩存數(shù)據(jù)的寫入總次數(shù)作為該緩存數(shù)據(jù)的溫度屬性值。

可選地,所述計(jì)算模塊具體用于:預(yù)先將所述緩存對(duì)應(yīng)的緩存時(shí)長(zhǎng)進(jìn)一步劃分為多個(gè)緩存時(shí)段,為各個(gè)緩存時(shí)段分別設(shè)置對(duì)應(yīng)的時(shí)段權(quán)重值;確定單元,用于針對(duì)每個(gè)緩存數(shù)據(jù),根據(jù)該緩存數(shù)據(jù)各次寫入時(shí)對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值確定該緩存數(shù)據(jù)的溫度屬性值。

可選地,所述計(jì)算模塊進(jìn)一步用于:分別確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù);針對(duì)每個(gè)緩存時(shí)段,將該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的寫入次數(shù)與該緩存時(shí)段的時(shí)段權(quán)重值的乘積作為該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的時(shí)段溫度值;將該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的時(shí)段溫度值的總和作為該緩存數(shù)據(jù)的溫度屬性值。

可選地,所述緩存數(shù)據(jù)的持久化存儲(chǔ)裝置進(jìn)一步包括:設(shè)置模塊,適于分別針對(duì)每個(gè)緩存時(shí)段設(shè)置與該緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表,其中,各個(gè)時(shí)段數(shù)據(jù)表用于記錄相應(yīng)的緩存時(shí)段內(nèi)寫入的緩存數(shù)據(jù);則所述計(jì)算模塊進(jìn)一步用于:分別根據(jù)各個(gè)緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù)。

可選地,所述確定模塊具體用于:針對(duì)每個(gè)緩存數(shù)據(jù),查找該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù),將該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù)確定為該緩存數(shù)據(jù)的寫入總次數(shù)。

在本發(fā)明提供的一種緩存數(shù)據(jù)的持久化存儲(chǔ)方法及裝置中,首先分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù);然后根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)以及預(yù)設(shè)的溫度屬性計(jì)算規(guī)則,計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值;最后按照溫度屬性值從高到低的順序,將各個(gè)緩存數(shù)據(jù)依次持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。由此可見(jiàn),在本發(fā)明中,能夠按照數(shù)據(jù)的溫度屬性確定回刷順序,由于溫度高的數(shù)據(jù)往往重要性也更高,因此,該種方式能夠確保重要性高的緩存數(shù)據(jù)優(yōu)先回刷,從而減少重要數(shù)據(jù)的丟失,同時(shí)提升了緩存數(shù)據(jù)回刷策略的靈活性。

上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。

附圖說(shuō)明

通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:

圖1示出了根據(jù)本發(fā)明實(shí)施例一提供的一種緩存數(shù)據(jù)的持久化存儲(chǔ)方法的流程示意圖;

圖2示出了根據(jù)本發(fā)明實(shí)施例二提供的一種緩存數(shù)據(jù)的持久化存儲(chǔ)方法的流程示意圖;

圖3示出了根據(jù)本發(fā)明實(shí)施例二提供的一種時(shí)段數(shù)據(jù)表示意圖;

圖4示出了根據(jù)本發(fā)明實(shí)施例三提供的一種緩存數(shù)據(jù)的持久化存儲(chǔ)裝置的結(jié)構(gòu)框圖;

圖5示出了根據(jù)本發(fā)明實(shí)施例四提供的一種緩存數(shù)據(jù)的持久化存儲(chǔ)裝置的結(jié)構(gòu)框圖。

具體實(shí)施方式

下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。

本發(fā)明提供了一種緩存數(shù)據(jù)的持久化存儲(chǔ)方法及裝置,至少能夠解決現(xiàn)有技術(shù)中在對(duì)緩存數(shù)據(jù)進(jìn)行回刷時(shí),回刷策略不夠靈活,不能按照緩存數(shù)據(jù)的重要性進(jìn)行回刷的技術(shù)問(wèn)題。

實(shí)施例一

圖1示出了根據(jù)本發(fā)明實(shí)施例一提供的一種緩存數(shù)據(jù)的持久化存儲(chǔ)方法的流程示意圖。如圖1所示,該方法包括以下步驟:

步驟S110:分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)。

具體地,由于CACHE(高速緩沖存儲(chǔ)器)具備存儲(chǔ)速度快的優(yōu)勢(shì),而BASE(數(shù)據(jù)庫(kù))則具備存儲(chǔ)容量大的優(yōu)勢(shì),因此,在通常情況下,先將數(shù)據(jù)寫入CACHE中進(jìn)行緩存,再將CACHE中的緩存數(shù)據(jù)持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。另外,除了利用高速緩沖存儲(chǔ)器作為緩沖外,在本發(fā)明其他的實(shí)施例中,還可以利用內(nèi)存、機(jī)械盤或SSD盤等各種存儲(chǔ)介質(zhì)作為緩存,本發(fā)明對(duì)此不做限定。

其中,緩存數(shù)據(jù)的寫入包括直接寫入和修改等各種類型的寫操作。相應(yīng)地,各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)為各個(gè)緩存數(shù)據(jù)被直接寫入的總次數(shù)和各個(gè)緩存數(shù)據(jù)被修改的總次數(shù)之和。具體地,在分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)時(shí),具體為確定上述各個(gè)緩存數(shù)據(jù)被直接寫入的總次數(shù)以及各個(gè)緩存數(shù)據(jù)被修改的總次數(shù)之和。并且,在確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)時(shí),可以預(yù)先設(shè)置一個(gè)累加器,對(duì)同一緩存數(shù)據(jù)的寫入次數(shù)自動(dòng)進(jìn)行累加,以確定該緩存數(shù)據(jù)的寫入總次數(shù)。除累加器的方式外,也可以采取其他各種方式確定各個(gè)緩存數(shù)據(jù)的寫入總次數(shù),例如,可以遍歷緩存中的各個(gè)緩存數(shù)據(jù),在遍歷過(guò)程中,對(duì)相同的緩存數(shù)據(jù)的寫入次數(shù)進(jìn)行統(tǒng)計(jì)??傊?,確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)是為了后續(xù)步驟中能夠根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)來(lái)計(jì)算各個(gè)緩存數(shù)據(jù)對(duì)應(yīng)的溫度屬性值,因此,在這里,確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)的具體方法可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況進(jìn)行設(shè)計(jì),本發(fā)明對(duì)此不做限制。

步驟S120:根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)以及預(yù)設(shè)的溫度屬性計(jì)算規(guī)則,計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值。

其中,預(yù)設(shè)的溫度屬性計(jì)算規(guī)則為本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況所設(shè)置的計(jì)算各個(gè)緩存數(shù)據(jù)的熱門程度的規(guī)則。在這里,緩存數(shù)據(jù)的熱門程度可以通過(guò)緩存數(shù)據(jù)被寫入的總次數(shù)、和/或緩存數(shù)據(jù)的存儲(chǔ)時(shí)段等因素進(jìn)行確定。具體地,在計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值時(shí),可以單獨(dú)根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值;也可以進(jìn)一步結(jié)合其他因素計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值。本發(fā)明對(duì)溫度屬性值的具體計(jì)算規(guī)則不做限定,只要能夠滿足用戶的實(shí)際需求即可。

步驟S130:按照溫度屬性值從高到低的順序,將各個(gè)緩存數(shù)據(jù)依次持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。

具體實(shí)施時(shí),在計(jì)算出各個(gè)緩存數(shù)據(jù)的溫度屬性值之后,按照上述計(jì)算的溫度屬性值從高到低的順序,將與各個(gè)溫度屬性值對(duì)應(yīng)的緩存數(shù)據(jù)依次存儲(chǔ)到數(shù)據(jù)庫(kù)中,以實(shí)現(xiàn)對(duì)緩存數(shù)據(jù)的持久化存儲(chǔ)。例如,當(dāng)預(yù)設(shè)的持久化條件滿足時(shí),將緩存中的各個(gè)緩存數(shù)據(jù)按照溫度屬性值從高到低的順序持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。其中,預(yù)設(shè)的持久化條件可由本領(lǐng)域技術(shù)人員根據(jù)需求靈活設(shè)定。

例如,在一種實(shí)現(xiàn)方式中,該持久化條件為:CACHE中已寫入的數(shù)據(jù)達(dá)到預(yù)設(shè)比例。相應(yīng)地,啟動(dòng)回刷策略,即通過(guò)CACHE將對(duì)應(yīng)的緩存數(shù)據(jù)寫入BASE中。在這里,通過(guò)CACHE將對(duì)應(yīng)的緩存數(shù)據(jù)寫入BASE的這一過(guò)程稱為回刷。并且,在更細(xì)化的實(shí)現(xiàn)方式中,只有當(dāng)CACHE中存儲(chǔ)的臟數(shù)據(jù)的容量達(dá)到預(yù)設(shè)比例時(shí),才會(huì)啟動(dòng)上述回刷策略。其中,在將緩存數(shù)據(jù)寫入CACHE后,由于CACHE的存儲(chǔ)容量不夠大,因此CACHE中的部分?jǐn)?shù)據(jù)會(huì)被寫入BASE,因此,臟數(shù)據(jù)是指:已寫入CACHE中但還沒(méi)有寫入BASE中的這一部分?jǐn)?shù)據(jù)被稱為臟數(shù)據(jù)。

又如,在另一種實(shí)現(xiàn)方式中,該持久化條件為:到達(dá)預(yù)定的持久化時(shí)間時(shí),或距離上一次持久化的時(shí)間到達(dá)預(yù)設(shè)時(shí)間間隔時(shí)。具體的持久化時(shí)間以及預(yù)設(shè)時(shí)間間隔可由本領(lǐng)域技術(shù)人員靈活設(shè)定。

由此可見(jiàn),在本發(fā)明提供的一種緩存數(shù)據(jù)的持久化存儲(chǔ)方法中,首先分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù);然后根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)以及預(yù)設(shè)的溫度屬性計(jì)算規(guī)則,計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值;最后按照溫度屬性值從高到低的順序,將各個(gè)緩存數(shù)據(jù)依次持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。因此,在本發(fā)明中,能夠按照數(shù)據(jù)的溫度屬性確定回刷順序,由于溫度高的數(shù)據(jù)往往重要性也更高,因此,該種方式能夠確保重要性高的緩存數(shù)據(jù)優(yōu)先回刷,從而減少重要數(shù)據(jù)的丟失,同時(shí)提升了緩存數(shù)據(jù)回刷策略的靈活性。

實(shí)施例二

圖2示出了根據(jù)本發(fā)明實(shí)施例二提供的一種緩存數(shù)據(jù)的持久化存儲(chǔ)方法流程示意圖。如圖2所示,該方法包括以下步驟:

步驟S210:針對(duì)每個(gè)緩存數(shù)據(jù),查找該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù),將該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù)確定為該緩存數(shù)據(jù)的寫入總次數(shù)。

具體地,由于CACHE(高速緩沖存儲(chǔ)器)具備存儲(chǔ)速度快的優(yōu)勢(shì),而BASE(數(shù)據(jù)庫(kù))則具備存儲(chǔ)容量大的優(yōu)勢(shì),因此,在通常情況下,先將數(shù)據(jù)寫入CACHE中進(jìn)行緩存,再將CACHE中的緩存數(shù)據(jù)持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。另外,除了利用高速緩沖存儲(chǔ)器作為緩沖外,在本發(fā)明其他的實(shí)施例中,還可以利用內(nèi)存、機(jī)械盤或SSD盤等各種存儲(chǔ)介質(zhì)作為緩存,本發(fā)明對(duì)此不做限定。

其中,緩存數(shù)據(jù)的寫入包括直接寫入和修改等各種類型的寫操作。相應(yīng)地,各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)包括各個(gè)緩存數(shù)據(jù)被直接寫入的總次數(shù)以及各個(gè)緩存數(shù)據(jù)被修改的總次數(shù)。在查找緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù)時(shí),具體為查找緩存數(shù)據(jù)對(duì)應(yīng)的鍵值被直接寫入CACHE的總次數(shù)以及在CACHE中被修改的總次數(shù),并將上述二者相加求和,將上述得到的和值確定為該緩存數(shù)據(jù)的寫入總次數(shù)。例如,若緩存數(shù)據(jù)中有K1、K2、K3一共3個(gè)鍵值,其中,在寫入上述K1、K2、K3這3個(gè)緩存數(shù)據(jù)時(shí),對(duì)應(yīng)地K1被直接寫入2次,修改1次;K2被直接寫入5次,修改0次;K3被直接寫入1次,修改1次;則K1、K2、K3的寫入總次數(shù)分別為3(2+1=3)、5(5+0=5)、2(1+1=2)。在這里,要說(shuō)明的是,緩存數(shù)據(jù)中存儲(chǔ)的鍵值不僅僅包括上述單純的鍵值(例如上述K1、K2、K3),還可以包括對(duì)應(yīng)的鍵值操作,比如對(duì)K1的存儲(chǔ)操作K1+1等。

在進(jìn)行確定步驟時(shí),可以設(shè)置一個(gè)累加器,將寫入的相同緩存數(shù)據(jù)的寫入次數(shù)自動(dòng)進(jìn)行累加,以確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù);或者,也可以對(duì)緩存中的各個(gè)緩存數(shù)據(jù)進(jìn)行統(tǒng)計(jì),將相同的緩存數(shù)據(jù)的寫入總次數(shù)統(tǒng)計(jì)出來(lái),作為緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)??傊?,確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)是為了后續(xù)步驟中能夠根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)來(lái)計(jì)算各個(gè)緩存數(shù)據(jù)對(duì)應(yīng)的溫度屬性值。因此,在這里,確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)的具體方法可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況進(jìn)行設(shè)計(jì),本發(fā)明對(duì)針對(duì)緩存數(shù)據(jù)的寫入總次數(shù)的具體確定方法不做限制。

步驟S220:根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)以及預(yù)設(shè)的溫度屬性計(jì)算規(guī)則,計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值。

具體地,在本實(shí)施例的一種實(shí)現(xiàn)方式中,預(yù)設(shè)的溫度屬性計(jì)算規(guī)則包括:將每個(gè)緩存數(shù)據(jù)的寫入總次數(shù)作為該緩存數(shù)據(jù)的溫度屬性值。其中,每個(gè)緩存數(shù)據(jù)的寫入總次數(shù)具體為步驟S210中確定的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)。溫度屬性值為能夠反映緩存數(shù)據(jù)的熱門程度的一個(gè)屬性數(shù)值。在這里,將緩存數(shù)據(jù)的寫入總次數(shù)看作反映緩存數(shù)據(jù)的熱門程度的屬性數(shù)值,直接將每個(gè)緩存數(shù)據(jù)的寫入總次數(shù)賦值給對(duì)應(yīng)的緩存數(shù)據(jù)的溫度屬性值,以此來(lái)得到各個(gè)緩存數(shù)據(jù)的溫度屬性值。這一方法簡(jiǎn)單快速,是一種相對(duì)能夠快速確定緩存數(shù)據(jù)的溫度屬性值的方法。

在本實(shí)施例的另一種實(shí)現(xiàn)方式中,預(yù)設(shè)的溫度屬性計(jì)算規(guī)則包括:預(yù)先將緩存對(duì)應(yīng)的緩存時(shí)長(zhǎng)進(jìn)一步劃分為多個(gè)緩存時(shí)段,為各個(gè)緩存時(shí)段分別設(shè)置對(duì)應(yīng)的時(shí)段權(quán)重值;針對(duì)每個(gè)緩存數(shù)據(jù),根據(jù)該緩存數(shù)據(jù)各次寫入時(shí)對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值確定該緩存數(shù)據(jù)的溫度屬性值。緩存時(shí)長(zhǎng)可以為:由緩存中寫入時(shí)間最早的數(shù)據(jù)所對(duì)應(yīng)的第一數(shù)據(jù)寫入時(shí)間和寫入時(shí)間最晚的數(shù)據(jù)所對(duì)應(yīng)的第二數(shù)據(jù)寫入時(shí)間所界定的時(shí)間長(zhǎng)度。而且,緩存時(shí)長(zhǎng)也可以是預(yù)先設(shè)定的時(shí)間長(zhǎng)度,例如,假設(shè)一個(gè)緩存專用于存儲(chǔ)最近的三小時(shí)之內(nèi)的緩存數(shù)據(jù),一旦寫入緩存的緩存數(shù)據(jù)的寫入時(shí)間超過(guò)三小時(shí)則會(huì)自動(dòng)刪除,則該緩存的緩存時(shí)長(zhǎng)為3小時(shí)。在將緩存時(shí)長(zhǎng)劃分為多個(gè)緩存時(shí)段時(shí),可以將整個(gè)緩存時(shí)長(zhǎng)劃分為多個(gè)均等的緩存時(shí)段,也可以將整個(gè)緩存時(shí)長(zhǎng)劃分為多個(gè)不等的緩存時(shí)段。在這里,針對(duì)緩存時(shí)長(zhǎng)的具體設(shè)置以及將緩存時(shí)長(zhǎng)劃分為多個(gè)緩存時(shí)段的具體劃分方式可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況進(jìn)行設(shè)定,本發(fā)明對(duì)此不作限制。

為了便于根據(jù)緩存時(shí)段計(jì)算緩存數(shù)據(jù)的溫度屬性,在進(jìn)行上述劃分之后,可選地,還可以分別針對(duì)每個(gè)緩存時(shí)段設(shè)置與該緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表,其中,各個(gè)時(shí)段數(shù)據(jù)表用于記錄相應(yīng)的緩存時(shí)段內(nèi)寫入的緩存數(shù)據(jù)。例如,若將緩存時(shí)長(zhǎng)設(shè)置為3小時(shí),并對(duì)應(yīng)地將上述緩存時(shí)長(zhǎng)均等地劃分為第一緩存時(shí)段、第二緩存時(shí)段和第三緩存時(shí)段,其中,第一時(shí)段用于存儲(chǔ)最近的一小時(shí)內(nèi)的緩存數(shù)據(jù),第二時(shí)段用于存儲(chǔ)從最近的一小時(shí)至最近的兩小時(shí)內(nèi)的緩存數(shù)據(jù),第三時(shí)段用于存儲(chǔ)從最近的兩小時(shí)至最近的三小時(shí)內(nèi)的緩存數(shù)據(jù),則分別為第一時(shí)段、第二時(shí)段和第三時(shí)段設(shè)置對(duì)應(yīng)的表1、表2以及表3,則表1、表2以及表3即為上述與緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表。其中,上述表1、表2以及表3中都可以存儲(chǔ)預(yù)設(shè)數(shù)量的緩存數(shù)據(jù),并且,上述的表1、表2以及表3均可以根據(jù)需要擴(kuò)展為多個(gè)子表。

為了便于根據(jù)緩存時(shí)段確定緩存數(shù)據(jù)的重要性,在本實(shí)施例中,還需要為上述劃分的各個(gè)緩存時(shí)段設(shè)置對(duì)應(yīng)的時(shí)段權(quán)重值,其設(shè)置方式也是多樣的。具體地,可以將各個(gè)時(shí)段的權(quán)重值設(shè)置為均等的,這樣更側(cè)重于從各個(gè)緩存數(shù)據(jù)出現(xiàn)的次數(shù)這一方面去計(jì)算緩存數(shù)據(jù)的溫度屬性值,例如,若劃分的緩存時(shí)段為現(xiàn)在時(shí)間、前1h、前2h,則可以將現(xiàn)在時(shí)間、前1h、前2h對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值都設(shè)置為100;或者,也可以按照緩存時(shí)段在時(shí)間上從前往后的順序?qū)?yīng)地設(shè)置遞增的(或遞減的)時(shí)段權(quán)重值,這樣側(cè)重于將緩存數(shù)據(jù)的出現(xiàn)次數(shù)與寫入時(shí)間進(jìn)行結(jié)合來(lái)計(jì)算各個(gè)緩存的數(shù)據(jù)的溫度屬性值,例如,若劃分的緩存時(shí)段為現(xiàn)在時(shí)間、前1h、前2h,則可以將現(xiàn)在時(shí)間對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值設(shè)置為1000、前1h對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值設(shè)置為500、前2h對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值設(shè)置為200。在這里,各個(gè)時(shí)段的權(quán)重值設(shè)置由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況而定,本發(fā)明對(duì)此不作限制。總之,通過(guò)緩存時(shí)段以及時(shí)段權(quán)重值的設(shè)置方式,使用戶能夠根據(jù)實(shí)際需求優(yōu)先回刷重要時(shí)段內(nèi)的數(shù)據(jù),使回刷方案更為靈活。

在針對(duì)每個(gè)緩存數(shù)據(jù),根據(jù)該緩存數(shù)據(jù)各次寫入時(shí)對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值確定該緩存數(shù)據(jù)的溫度屬性值時(shí),具體地,首先分別確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù)。其中,上述寫入次數(shù)為該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)被直接寫入的次數(shù)以及被修改的次數(shù)之和,在確定上述寫入次數(shù)時(shí),分別根據(jù)各個(gè)緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù),其中,其確定方法與步驟S210中確定緩存數(shù)據(jù)的寫入總次數(shù)的方法相同,此處不再贅述。然后根據(jù)上述確定的寫入次數(shù),針對(duì)每個(gè)緩存時(shí)段,將該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的寫入次數(shù)與該緩存時(shí)段的時(shí)段權(quán)重值的乘積作為該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的時(shí)段溫度值,然后將該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的時(shí)段溫度值的總和作為該緩存數(shù)據(jù)的溫度屬性值。具體實(shí)施中,例如,以上述例子為例,如圖3所示,若劃分的緩存時(shí)段的為現(xiàn)在時(shí)間、前1h、前2h,對(duì)應(yīng)的寫入列表的為表1、表2以及表3,其中,表1的權(quán)重設(shè)置為1000,表2的權(quán)重設(shè)置為500,表3的權(quán)重設(shè)置為200;在緩存數(shù)據(jù)中,若存在有K1、K2以及K3等數(shù)據(jù);在寫入數(shù)據(jù)時(shí),現(xiàn)在時(shí)間寫入了一個(gè)K1,兩小時(shí)前還寫入了一個(gè)K1,前1小時(shí)里面寫入有兩個(gè)K2,則在計(jì)算上述表中K1的時(shí)段溫度值時(shí),具體為:K1在前2h的時(shí)段溫度值為200*1(K1在前2h,即表1的列表中出現(xiàn)的次數(shù)1),K1在前1h的時(shí)段溫度值為500*0(K1在前1h,即表2的列表中出現(xiàn)的次數(shù)0),K1在現(xiàn)在時(shí)間的時(shí)段溫度值為1000*1(K1在現(xiàn)在時(shí)間,即表3的列表中出現(xiàn)的次數(shù)1),則在計(jì)算K1的溫度屬性值時(shí),其計(jì)算過(guò)程為:1000*1+500*0+200*1(K1在現(xiàn)在時(shí)間,前1h,前2h的列表中出現(xiàn)的次數(shù)分別是1,0,1);同樣地,計(jì)算上述列表中K2等數(shù)據(jù)的溫度屬性值時(shí),其計(jì)算過(guò)程相同,此處不再贅述。

步驟S230:按照溫度屬性值從高到低的順序,將各個(gè)緩存數(shù)據(jù)依次持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。

具體地,在計(jì)算出各個(gè)緩存數(shù)據(jù)的溫度屬性值之后,根據(jù)上述計(jì)算出的各個(gè)緩存數(shù)據(jù)的溫度屬性值設(shè)置緩存數(shù)據(jù)回刷順序。即:將回刷順序設(shè)置為按照上述計(jì)算的溫度屬性值從高到低的順序,在進(jìn)行回刷時(shí),實(shí)現(xiàn)能夠按照緩存數(shù)據(jù)的熱門程度進(jìn)行回刷的效果。并且,由于本方法能夠針對(duì)緩存時(shí)長(zhǎng)以及各個(gè)緩存時(shí)段進(jìn)行靈活設(shè)置,因此通過(guò)本方法能夠?qū)崿F(xiàn)更加具有實(shí)時(shí)性、靈活性的回刷策略,例如可以根據(jù)實(shí)際情況設(shè)置優(yōu)先回刷兩個(gè)小時(shí)之前寫入超過(guò)3次的數(shù)據(jù),或者只關(guān)注3個(gè)小時(shí)內(nèi)寫入的緩存數(shù)據(jù)等。總之,本方法突破了目前的回刷策略完全根據(jù)寫入時(shí)間決定回刷順序的方案,能夠?qū)崿F(xiàn)更加靈活多變的回刷策略。

另外,本領(lǐng)域技術(shù)人員還可以對(duì)上述方案進(jìn)行各種改動(dòng)和變形。例如,在根據(jù)寫入總次數(shù)確定溫度屬性時(shí),除了直接根據(jù)寫入總次數(shù)的數(shù)值進(jìn)行確定外,還可以預(yù)先將寫入總次數(shù)劃分為多個(gè)數(shù)值區(qū)間,為各個(gè)數(shù)值區(qū)間分別設(shè)置對(duì)應(yīng)的區(qū)間分值,并根據(jù)該區(qū)間分值確定溫度屬性值。例如,當(dāng)寫入總次數(shù)屬于[0,10]這一數(shù)值區(qū)間時(shí),區(qū)間分值為1;當(dāng)寫入總次數(shù)屬于[10,50]這一數(shù)值區(qū)間時(shí),區(qū)間分值為5;當(dāng)寫入總次數(shù)屬于[50,100]這一數(shù)值區(qū)間時(shí),區(qū)間分值為10。通過(guò)區(qū)間分值能夠更加靈活地將寫入總次數(shù)位于某一區(qū)間內(nèi)的數(shù)據(jù)確定為熱門數(shù)據(jù)。

由此可見(jiàn),在本發(fā)明提供的一種緩存數(shù)據(jù)的持久化存儲(chǔ)方法中,首先針對(duì)每個(gè)緩存數(shù)據(jù),查找該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù),將該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù)確定為該緩存數(shù)據(jù)的寫入總次數(shù);然后根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)以及預(yù)設(shè)的溫度屬性計(jì)算規(guī)則,計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值;最后按照溫度屬性值從高到低的順序,將各個(gè)緩存數(shù)據(jù)依次持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。因此,在本發(fā)明中,能夠按照數(shù)據(jù)的溫度屬性確定回刷順序,由于溫度高的數(shù)據(jù)往往重要性也更高,實(shí)現(xiàn)了一種更加具有靈活性和時(shí)效性的緩存數(shù)據(jù)回刷方案。并且,該種方式能夠確保重要性高的緩存數(shù)據(jù)優(yōu)先回刷,從而減少重要數(shù)據(jù)的丟失,提升了緩存數(shù)據(jù)回刷策略的靈活性。

實(shí)施例三

圖4示出了根據(jù)本發(fā)明實(shí)施例三提供的一種緩存數(shù)據(jù)的持久化存儲(chǔ)裝置的結(jié)構(gòu)框圖。如圖4所示,該裝置包括:確定模塊41、計(jì)算模塊42以及存儲(chǔ)模塊43。

確定模塊41適于分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)。

具體地,由于CACHE(高速緩沖存儲(chǔ)器)具備存儲(chǔ)速度快的優(yōu)勢(shì),而BASE(數(shù)據(jù)庫(kù))則具備存儲(chǔ)容量大的優(yōu)勢(shì),因此,在通常情況下,先將數(shù)據(jù)寫入CACHE中進(jìn)行緩存,再將CACHE中的緩存數(shù)據(jù)持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。另外,除了利用高速緩沖存儲(chǔ)器作為緩沖外,在本發(fā)明其他的實(shí)施例中,還可以利用內(nèi)存、機(jī)械盤或SSD盤等各種存儲(chǔ)介質(zhì)作為緩存,本發(fā)明對(duì)此不做限定。

其中,緩存數(shù)據(jù)的寫入包括直接寫入和修改等各種類型的寫操作。相應(yīng)地,各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)為各個(gè)緩存數(shù)據(jù)被直接寫入的總次數(shù)和各個(gè)緩存數(shù)據(jù)被修改的總次數(shù)之和。具體地,確定模塊41在分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)時(shí),具體為確定上述各個(gè)緩存數(shù)據(jù)被直接寫入的總次數(shù)以及各個(gè)緩存數(shù)據(jù)被修改的總次數(shù)之和。并且,確定模塊41在確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)時(shí),可以預(yù)先設(shè)置一個(gè)累加器,對(duì)同一緩存數(shù)據(jù)的寫入次數(shù)自動(dòng)進(jìn)行累加,以確定該緩存數(shù)據(jù)的寫入總次數(shù)。除累加器的方式外,也可以采取其他各種方式確定各個(gè)緩存數(shù)據(jù)的寫入總次數(shù),例如,可以遍歷緩存中的各個(gè)緩存數(shù)據(jù),在遍歷過(guò)程中,對(duì)相同的緩存數(shù)據(jù)的寫入次數(shù)進(jìn)行統(tǒng)計(jì)。總之,確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)是為了后續(xù)步驟中能夠根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)來(lái)計(jì)算各個(gè)緩存數(shù)據(jù)對(duì)應(yīng)的溫度屬性值,因此,在這里,確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)的具體方法可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況進(jìn)行設(shè)計(jì),本發(fā)明對(duì)此不做限制。

計(jì)算模塊42適于根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)以及預(yù)設(shè)的溫度屬性計(jì)算規(guī)則,計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值。

其中,預(yù)設(shè)的溫度屬性計(jì)算規(guī)則為本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況所設(shè)置的計(jì)算各個(gè)緩存數(shù)據(jù)的熱門程度的規(guī)則。在這里,緩存數(shù)據(jù)的熱門程度可以通過(guò)緩存數(shù)據(jù)被寫入的總次數(shù)、和/或緩存數(shù)據(jù)的存儲(chǔ)時(shí)段等因素進(jìn)行確定。具體地,計(jì)算模塊42在計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值時(shí),可以單獨(dú)根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值;也可以進(jìn)一步結(jié)合其他因素計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值。本發(fā)明對(duì)溫度屬性值的具體計(jì)算規(guī)則不做限定,只要能夠滿足用戶的實(shí)際需求即可。

存儲(chǔ)模塊43適于按照溫度屬性值從高到低的順序,將各個(gè)緩存數(shù)據(jù)依次持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。

具體實(shí)施時(shí),在計(jì)算出各個(gè)緩存數(shù)據(jù)的溫度屬性值之后,存儲(chǔ)模塊43按照上述計(jì)算的溫度屬性值從高到低的順序,將與各個(gè)溫度屬性值對(duì)應(yīng)的緩存數(shù)據(jù)依次存儲(chǔ)到數(shù)據(jù)庫(kù)中,以實(shí)現(xiàn)對(duì)緩存數(shù)據(jù)的持久化存儲(chǔ)。例如,當(dāng)預(yù)設(shè)的持久化條件滿足時(shí),將緩存中的各個(gè)緩存數(shù)據(jù)按照溫度屬性值從高到低的順序持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。其中,預(yù)設(shè)的持久化條件可由本領(lǐng)域技術(shù)人員根據(jù)需求靈活設(shè)定。

例如,在一種實(shí)現(xiàn)方式中,該持久化條件為:CACHE中已寫入的數(shù)據(jù)達(dá)到預(yù)設(shè)比例。相應(yīng)地,啟動(dòng)回刷策略,即通過(guò)CACHE將對(duì)應(yīng)的緩存數(shù)據(jù)寫入BASE中。在這里,通過(guò)CACHE將對(duì)應(yīng)的緩存數(shù)據(jù)寫入BASE的這一過(guò)程稱為回刷。并且,在更細(xì)化的實(shí)現(xiàn)方式中,只有當(dāng)CACHE中存儲(chǔ)的臟數(shù)據(jù)的容量達(dá)到預(yù)設(shè)比例時(shí),才會(huì)啟動(dòng)上述回刷策略。其中,在將緩存數(shù)據(jù)寫入CACHE后,由于CACHE的存儲(chǔ)容量不夠大,因此CACHE中的部分?jǐn)?shù)據(jù)會(huì)被寫入BASE,因此,臟數(shù)據(jù)是指:已寫入CACHE中但還沒(méi)有寫入BASE中的這一部分?jǐn)?shù)據(jù)被稱為臟數(shù)據(jù)。

又如,在另一種實(shí)現(xiàn)方式中,該持久化條件為:到達(dá)預(yù)定的持久化時(shí)間時(shí),或距離上一次持久化的時(shí)間到達(dá)預(yù)設(shè)時(shí)間間隔時(shí)。具體的持久化時(shí)間以及預(yù)設(shè)時(shí)間間隔可由本領(lǐng)域技術(shù)人員靈活設(shè)定。

由此可見(jiàn),在本發(fā)明提供的一種緩存數(shù)據(jù)的持久化存儲(chǔ)方法中,首先通過(guò)確定模塊41分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù);然后通過(guò)計(jì)算模塊42根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)以及預(yù)設(shè)的溫度屬性計(jì)算規(guī)則,計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值;最后通過(guò)存儲(chǔ)模塊43按照溫度屬性值從高到低的順序,將各個(gè)緩存數(shù)據(jù)依次持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。因此,在本發(fā)明中,能夠按照數(shù)據(jù)的溫度屬性確定回刷順序,由于溫度高的數(shù)據(jù)往往重要性也更高,因此,該種方式能夠確保重要性高的緩存數(shù)據(jù)優(yōu)先回刷,從而減少重要數(shù)據(jù)的丟失,同時(shí)提升了緩存數(shù)據(jù)回刷策略的靈活性。

實(shí)施例四

圖5示出了根據(jù)本發(fā)明實(shí)施例四提供的一種緩存數(shù)據(jù)的持久化存儲(chǔ)裝置的結(jié)構(gòu)框圖。如圖5所示,該裝置包括:確定模塊51、計(jì)算模塊52、存儲(chǔ)模塊53以及設(shè)置模塊54。

確定模塊51適于分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)。

具體地,由于CACHE(高速緩沖存儲(chǔ)器)具備存儲(chǔ)速度快的優(yōu)勢(shì),而BASE(數(shù)據(jù)庫(kù))則具備存儲(chǔ)容量大的優(yōu)勢(shì),因此,在通常情況下,先將數(shù)據(jù)寫入CACHE中進(jìn)行緩存,再將CACHE中的緩存數(shù)據(jù)持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。另外,除了利用高速緩沖存儲(chǔ)器作為緩沖外,在本發(fā)明其他的實(shí)施例中,還可以利用內(nèi)存、機(jī)械盤或SSD盤等各種存儲(chǔ)介質(zhì)作為緩存,本發(fā)明對(duì)此不做限定。

具體地,確定模塊51針對(duì)每個(gè)緩存數(shù)據(jù),查找該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù),將該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù)確定為該緩存數(shù)據(jù)的寫入總次數(shù)。其中,緩存數(shù)據(jù)的寫入包括直接寫入和修改等各種類型的寫操作。相應(yīng)地,各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)包括各個(gè)緩存數(shù)據(jù)被直接寫入的總次數(shù)以及各個(gè)緩存數(shù)據(jù)被修改的總次數(shù)。確定模塊51在查找緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù)時(shí),具體為查找緩存數(shù)據(jù)對(duì)應(yīng)的鍵值被直接寫入CACHE的總次數(shù)以及在CACHE中被修改的總次數(shù),并將上述二者相加求和,將上述得到的和值確定為該緩存數(shù)據(jù)的寫入總次數(shù)。在這里,要說(shuō)明的是,緩存數(shù)據(jù)中存儲(chǔ)的鍵值不僅僅包括上述單純的鍵值(例如上述K1、K2、K3),還可以包括對(duì)應(yīng)的鍵值操作,比如對(duì)K1的存儲(chǔ)操作K1+1等。

確定模塊51在進(jìn)行確定步驟時(shí),可以設(shè)置一個(gè)累加器,通過(guò)將寫入的相同緩存數(shù)據(jù)的寫入次數(shù)自動(dòng)進(jìn)行累加來(lái)確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù);或者,也可以對(duì)緩存中的各個(gè)緩存數(shù)據(jù)進(jìn)行統(tǒng)計(jì),將相同的緩存數(shù)據(jù)的寫入總次數(shù)統(tǒng)計(jì)出來(lái),作為緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)??傊_定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)是為了后續(xù)步驟中能夠根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)來(lái)計(jì)算各個(gè)緩存數(shù)據(jù)對(duì)應(yīng)的溫度屬性值。因此,在這里,確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)的具體方法可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況進(jìn)行設(shè)計(jì),本發(fā)明對(duì)針對(duì)緩存數(shù)據(jù)的寫入總次數(shù)的具體確定方法不做限制。

計(jì)算模塊52適于根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)以及預(yù)設(shè)的溫度屬性計(jì)算規(guī)則,計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值。

具體地,在一種實(shí)現(xiàn)方式中,計(jì)算模塊52將每個(gè)緩存數(shù)據(jù)的寫入總次數(shù)作為該緩存數(shù)據(jù)的溫度屬性值。其中,每個(gè)緩存數(shù)據(jù)的寫入總次數(shù)具體為確定模塊51中確定的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)。溫度屬性值為能夠反映緩存數(shù)據(jù)的熱門程度的一個(gè)屬性數(shù)值。在這里,計(jì)算模塊52將緩存數(shù)據(jù)的寫入總次數(shù)看作反映緩存數(shù)據(jù)的熱門程度的屬性數(shù)值,直接將每個(gè)緩存數(shù)據(jù)的寫入總次數(shù)賦值給對(duì)應(yīng)的緩存數(shù)據(jù)的溫度屬性值,以此來(lái)得到各個(gè)緩存數(shù)據(jù)的溫度屬性值。這一方法簡(jiǎn)單快速,是一種相對(duì)能夠快速確定緩存數(shù)據(jù)的溫度屬性值的方法。

在另一種實(shí)現(xiàn)方式中,計(jì)算模塊52預(yù)先將緩存對(duì)應(yīng)的緩存時(shí)長(zhǎng)進(jìn)一步劃分為多個(gè)緩存時(shí)段,為各個(gè)緩存時(shí)段分別設(shè)置對(duì)應(yīng)的時(shí)段權(quán)重值。其中,緩存時(shí)長(zhǎng)可以為:由緩存中寫入時(shí)間最早的數(shù)據(jù)所對(duì)應(yīng)的第一數(shù)據(jù)寫入時(shí)間和寫入時(shí)間最晚的數(shù)據(jù)所對(duì)應(yīng)的第二數(shù)據(jù)寫入時(shí)間所界定的時(shí)間長(zhǎng)度。而且,緩存時(shí)長(zhǎng)也可以是預(yù)先設(shè)定的時(shí)間長(zhǎng)度,例如,假設(shè)一個(gè)緩存專用于存儲(chǔ)最近的三小時(shí)之內(nèi)的緩存數(shù)據(jù),一旦寫入緩存的緩存數(shù)據(jù)的寫入時(shí)間超過(guò)三小時(shí)則會(huì)自動(dòng)刪除,則該緩存的緩存時(shí)長(zhǎng)為3小時(shí)。計(jì)算模塊52在將緩存時(shí)長(zhǎng)劃分為多個(gè)緩存時(shí)段時(shí),可以將整個(gè)緩存時(shí)長(zhǎng)劃分為多個(gè)均等的緩存時(shí)段,也可以將整個(gè)緩存時(shí)長(zhǎng)劃分為多個(gè)不等的緩存時(shí)段。在這里,針對(duì)緩存時(shí)長(zhǎng)的具體設(shè)置以及將緩存時(shí)長(zhǎng)劃分為多個(gè)緩存時(shí)段的具體劃分方式可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況進(jìn)行設(shè)定,本發(fā)明對(duì)此不作限制。在本實(shí)施例中,計(jì)算模塊52還需要為上述劃分的各個(gè)緩存時(shí)段設(shè)置對(duì)應(yīng)的時(shí)段權(quán)重值,其設(shè)置方式也是多樣的。具體地,計(jì)算模塊52可以將各個(gè)時(shí)段的權(quán)重值設(shè)置為均等的,這樣更側(cè)重于從各個(gè)緩存數(shù)據(jù)出現(xiàn)的次數(shù)這一方面去計(jì)算緩存數(shù)據(jù)的溫度屬性值,例如,若劃分的緩存時(shí)段為現(xiàn)在時(shí)間、前1h、前2h,則可以將現(xiàn)在時(shí)間、前1h、前2h對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值都設(shè)置為100;或者,計(jì)算模塊52也可以按照緩存時(shí)段在時(shí)間上從前往后的順序?qū)?yīng)地設(shè)置遞增的(或遞減的)時(shí)段權(quán)重值,這樣側(cè)重于將緩存數(shù)據(jù)的出現(xiàn)次數(shù)與寫入時(shí)間進(jìn)行結(jié)合來(lái)計(jì)算各個(gè)緩存的數(shù)據(jù)的溫度屬性值,例如,若劃分的緩存時(shí)段為現(xiàn)在時(shí)間、前1h、前2h,則可以將現(xiàn)在時(shí)間對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值設(shè)置為1000、前1h對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值設(shè)置為500、前2h對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值設(shè)置為200。在這里,各個(gè)時(shí)段的權(quán)重值設(shè)置由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況而定,本發(fā)明對(duì)此不作限制??傊?,通過(guò)緩存時(shí)段以及時(shí)段權(quán)重值的設(shè)置方式,使用戶能夠根據(jù)實(shí)際需求優(yōu)先回刷重要時(shí)段內(nèi)的數(shù)據(jù),使回刷方案更為靈活。最后,計(jì)算模塊52針對(duì)每個(gè)緩存數(shù)據(jù),根據(jù)該緩存數(shù)據(jù)各次寫入時(shí)對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值確定該緩存數(shù)據(jù)的溫度屬性值。具體地,首先,計(jì)算模塊52分別確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù)。其中,上述寫入次數(shù)為該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)被直接寫入的次數(shù)以及被修改的次數(shù)之和,計(jì)算模塊52在確定上述寫入次數(shù)時(shí),分別根據(jù)各個(gè)緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù),其中,其確定方法與確定模塊51中確定緩存數(shù)據(jù)的寫入總次數(shù)的方法相同,此處不再贅述。然后,計(jì)算模塊52針對(duì)每個(gè)緩存時(shí)段,將該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的寫入次數(shù)與該緩存時(shí)段的時(shí)段權(quán)重值的乘積作為該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的時(shí)段溫度值。具體地,計(jì)算模塊52在計(jì)算緩存時(shí)段內(nèi)的時(shí)段溫度值時(shí),將該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的寫入次數(shù)與該緩存時(shí)段的時(shí)段權(quán)重值的乘積作為該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的時(shí)段溫度值。最后,計(jì)算模塊52將該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的時(shí)段溫度值的總和作為該緩存數(shù)據(jù)的溫度屬性值。

存儲(chǔ)模塊53適于按照溫度屬性值從高到低的順序,將各個(gè)緩存數(shù)據(jù)依次持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。

具體地,在計(jì)算出各個(gè)緩存數(shù)據(jù)的溫度屬性值之后,存儲(chǔ)模塊53根據(jù)上述計(jì)算出的各個(gè)緩存數(shù)據(jù)的溫度屬性值設(shè)置緩存數(shù)據(jù)回刷順序。即:將回刷順序設(shè)置為按照上述計(jì)算的溫度屬性值從高到低的順序,在進(jìn)行回刷時(shí),實(shí)現(xiàn)能夠按照緩存數(shù)據(jù)的熱門程度進(jìn)行回刷的效果。并且,由于本裝置能夠針對(duì)緩存時(shí)長(zhǎng)以及各個(gè)緩存時(shí)段進(jìn)行靈活設(shè)置,因此通過(guò)本裝置能夠?qū)崿F(xiàn)更加具有實(shí)時(shí)性、靈活性的回刷策略,例如可以根據(jù)實(shí)際情況設(shè)置優(yōu)先回刷兩個(gè)小時(shí)之前寫入超過(guò)3次的數(shù)據(jù),或者只關(guān)注3個(gè)小時(shí)內(nèi)寫入的緩存數(shù)據(jù)等。

設(shè)置模塊54適于分別針對(duì)每個(gè)緩存時(shí)段設(shè)置與該緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表,其中,各個(gè)時(shí)段數(shù)據(jù)表用于記錄相應(yīng)的緩存時(shí)段內(nèi)寫入的緩存數(shù)據(jù)。

具體地,為了便于根據(jù)緩存時(shí)段計(jì)算緩存數(shù)據(jù)的溫度屬性,在計(jì)算模塊52將緩存對(duì)應(yīng)的緩存時(shí)長(zhǎng)進(jìn)一步劃分為多個(gè)緩存時(shí)段之后,可選地,還可以通過(guò)設(shè)置模塊54分別針對(duì)每個(gè)緩存時(shí)段設(shè)置與該緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表,其中,各個(gè)時(shí)段數(shù)據(jù)表用于記錄相應(yīng)的緩存時(shí)段內(nèi)寫入的緩存數(shù)據(jù)。例如,若將緩存時(shí)長(zhǎng)設(shè)置為3小時(shí),并對(duì)應(yīng)地將上述緩存時(shí)長(zhǎng)均等地劃分為第一緩存時(shí)段、第二緩存時(shí)段和第三緩存時(shí)段,其中,第一時(shí)段用于存儲(chǔ)最近的一小時(shí)內(nèi)的緩存數(shù)據(jù),第二時(shí)段用于存儲(chǔ)從最近的一小時(shí)至最近的兩小時(shí)內(nèi)的緩存數(shù)據(jù),第三時(shí)段用于存儲(chǔ)從最近的兩小時(shí)至最近的三小時(shí)內(nèi)的緩存數(shù)據(jù),則分別為第一時(shí)段、第二時(shí)段和第三時(shí)段設(shè)置對(duì)應(yīng)的表1、表2以及表3,則表1、表2以及表3即為上述與緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表。其中,上述表1、表2以及表3中都可以存儲(chǔ)預(yù)設(shè)數(shù)量的緩存數(shù)據(jù),并且,上述的表1、表2以及表3均可以根據(jù)需要擴(kuò)展為多個(gè)子表。

上述各個(gè)模塊的具體結(jié)構(gòu)和工作原理可參照方法實(shí)施例中相應(yīng)步驟的描述,此處不再贅述。

由此可見(jiàn),在本發(fā)明提供的一種緩存數(shù)據(jù)的持久化存儲(chǔ)裝置中,首先通過(guò)確定模塊51針對(duì)每個(gè)緩存數(shù)據(jù),查找該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù),將該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù)確定為該緩存數(shù)據(jù)的寫入總次數(shù);然后通過(guò)計(jì)算模塊52來(lái)實(shí)現(xiàn)根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)以及預(yù)設(shè)的溫度屬性計(jì)算規(guī)則,計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值,在此過(guò)程中,進(jìn)一步通過(guò)設(shè)置模塊54分別針對(duì)每個(gè)緩存時(shí)段設(shè)置與該緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表,其中,各個(gè)時(shí)段數(shù)據(jù)表用于記錄相應(yīng)的緩存時(shí)段內(nèi)寫入的緩存數(shù)據(jù)。最后通過(guò)存儲(chǔ)模塊53按照溫度屬性值從高到低的順序,將各個(gè)緩存數(shù)據(jù)依次持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。因此,在本發(fā)明中,能夠按照數(shù)據(jù)的溫度屬性確定回刷順序,由于溫度高的數(shù)據(jù)往往重要性也更高,實(shí)現(xiàn)了一種更加具有靈活性和時(shí)效性的緩存數(shù)據(jù)回刷方案。并且,該種方式能夠確保重要性高的緩存數(shù)據(jù)優(yōu)先回刷,從而減少重要數(shù)據(jù)的丟失,提升了緩存數(shù)據(jù)回刷策略的靈活性。

在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。

在此處所提供的說(shuō)明書中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書的理解。

類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。

本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。

此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。

本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的緩存數(shù)據(jù)的持久化存儲(chǔ)裝置模塊中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。

應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。

本發(fā)明公開了:A1、一種緩存數(shù)據(jù)的持久化存儲(chǔ)方法,包括:

分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù);

根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)以及預(yù)設(shè)的溫度屬性計(jì)算規(guī)則,計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值;

按照溫度屬性值從高到低的順序,將各個(gè)緩存數(shù)據(jù)依次持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。

A2、根據(jù)A1所述的方法,其中,所述預(yù)設(shè)的溫度屬性計(jì)算規(guī)則包括:將每個(gè)緩存數(shù)據(jù)的寫入總次數(shù)作為該緩存數(shù)據(jù)的溫度屬性值。

A3、根據(jù)A1所述的方法,其中,所述預(yù)設(shè)的溫度屬性計(jì)算規(guī)則包括:

預(yù)先將所述緩存對(duì)應(yīng)的緩存時(shí)長(zhǎng)進(jìn)一步劃分為多個(gè)緩存時(shí)段,為各個(gè)緩存時(shí)段分別設(shè)置對(duì)應(yīng)的時(shí)段權(quán)重值;

針對(duì)每個(gè)緩存數(shù)據(jù),根據(jù)該緩存數(shù)據(jù)各次寫入時(shí)對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值確定該緩存數(shù)據(jù)的溫度屬性值。

A4、根據(jù)A3所述的方法,其中,所述根據(jù)該緩存數(shù)據(jù)各次寫入時(shí)對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值確定該緩存數(shù)據(jù)的溫度屬性值包括:

分別確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù);

針對(duì)每個(gè)緩存時(shí)段,將該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的寫入次數(shù)與該緩存時(shí)段的時(shí)段權(quán)重值的乘積作為該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的時(shí)段溫度值;

將該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的時(shí)段溫度值的總和作為該緩存數(shù)據(jù)的溫度屬性值。

A5、根據(jù)A4所述的方法,其中,進(jìn)一步包括:分別針對(duì)每個(gè)緩存時(shí)段設(shè)置與該緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表,其中,各個(gè)時(shí)段數(shù)據(jù)表用于記錄相應(yīng)的緩存時(shí)段內(nèi)寫入的緩存數(shù)據(jù);

則所述分別確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù)包括:分別根據(jù)各個(gè)緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù)。

A6、根據(jù)A1-A5任一所述的方法,其中,所述分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)的步驟具體包括:針對(duì)每個(gè)緩存數(shù)據(jù),查找該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù),將該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù)確定為該緩存數(shù)據(jù)的寫入總次數(shù)。

本發(fā)明還公開了:B7、一種緩存數(shù)據(jù)的持久化存儲(chǔ)裝置,包括:

確定模塊,適于分別確定緩存中的各個(gè)緩存數(shù)據(jù)的寫入總次數(shù);

計(jì)算模塊,適于根據(jù)各個(gè)緩存數(shù)據(jù)的寫入總次數(shù)以及預(yù)設(shè)的溫度屬性計(jì)算規(guī)則,計(jì)算各個(gè)緩存數(shù)據(jù)的溫度屬性值;

存儲(chǔ)模塊,適于按照溫度屬性值從高到低的順序,將各個(gè)緩存數(shù)據(jù)依次持久化存儲(chǔ)到數(shù)據(jù)庫(kù)中。

B8、根據(jù)B7所述的裝置,其中,所述計(jì)算模塊具體用于:將每個(gè)緩存數(shù)據(jù)的寫入總次數(shù)作為該緩存數(shù)據(jù)的溫度屬性值。

B9、根據(jù)B7所述的裝置,其中,所述計(jì)算模塊具體用于:預(yù)先將所述緩存對(duì)應(yīng)的緩存時(shí)長(zhǎng)進(jìn)一步劃分為多個(gè)緩存時(shí)段,為各個(gè)緩存時(shí)段分別設(shè)置對(duì)應(yīng)的時(shí)段權(quán)重值;

針對(duì)每個(gè)緩存數(shù)據(jù),根據(jù)該緩存數(shù)據(jù)各次寫入時(shí)對(duì)應(yīng)的緩存時(shí)段的時(shí)段權(quán)重值確定該緩存數(shù)據(jù)的溫度屬性值。

B10、根據(jù)B9所述的裝置,其中,所述計(jì)算模塊進(jìn)一步用于:

分別確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù);

針對(duì)每個(gè)緩存時(shí)段,將該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的寫入次數(shù)與該緩存時(shí)段的時(shí)段權(quán)重值的乘積作為該緩存數(shù)據(jù)在該緩存時(shí)段內(nèi)的時(shí)段溫度值;

將該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的時(shí)段溫度值的總和作為該緩存數(shù)據(jù)的溫度屬性值。

B11、根據(jù)B10所述的裝置,其中,進(jìn)一步包括:設(shè)置模塊,適于分別針對(duì)每個(gè)緩存時(shí)段設(shè)置與該緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表,其中,各個(gè)時(shí)段數(shù)據(jù)表用于記錄相應(yīng)的緩存時(shí)段內(nèi)寫入的緩存數(shù)據(jù);

則所述計(jì)算模塊進(jìn)一步用于:分別根據(jù)各個(gè)緩存時(shí)段對(duì)應(yīng)的時(shí)段數(shù)據(jù)表確定該緩存數(shù)據(jù)在各個(gè)緩存時(shí)段內(nèi)的寫入次數(shù)。

B12、根據(jù)B7-B11任一所述的裝置,其中,所述確定模塊具體用于:針對(duì)每個(gè)緩存數(shù)據(jù),查找該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù),將該緩存數(shù)據(jù)對(duì)應(yīng)的鍵值的寫入總次數(shù)確定為該緩存數(shù)據(jù)的寫入總次數(shù)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
丰顺县| 嘉祥县| 古蔺县| 治县。| 古田县| 连云港市| 德钦县| 玉屏| 华坪县| 宜黄县| 彰化县| 中牟县| 千阳县| 凉城县| 安远县| 武隆县| 越西县| 鄯善县| 盈江县| 达州市| 淮滨县| 梅河口市| 邮箱| 西乌| 呈贡县| 邵东县| 西青区| 潼南县| 巫溪县| 琼海市| 江都市| 城口县| 游戏| 方城县| 北碚区| 汤阴县| 漾濞| 磐安县| 武乡县| 珠海市| 玉屏|