云存儲(chǔ)系統(tǒng)中分層存儲(chǔ)的數(shù)據(jù)熱度計(jì)算方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種云存儲(chǔ)系統(tǒng)中分層存儲(chǔ)的數(shù)據(jù)熱度計(jì)算方法和裝置。
【背景技術(shù)】
[0002]隨著云存儲(chǔ)技術(shù)的快速發(fā)展,存儲(chǔ)系統(tǒng)的高并行性、高可靠性和高性?xún)r(jià)比變得越來(lái)越重要。分層存儲(chǔ)系統(tǒng)是基于不同存儲(chǔ)設(shè)備的物理特性,將不同性能、不同可靠性和不同價(jià)格的存儲(chǔ)設(shè)備組合在一起構(gòu)成的存儲(chǔ)系統(tǒng),用多層存儲(chǔ)介質(zhì)來(lái)存放訪問(wèn)熱度不同的數(shù)據(jù),將高性能高成本的存儲(chǔ)設(shè)備空間分配給高熱度的數(shù)據(jù),低熱度的數(shù)據(jù)則迀移到低性能低成本的存儲(chǔ)設(shè)備中,進(jìn)而釋放高性能高成本的存儲(chǔ)空間,使得存儲(chǔ)系統(tǒng)的成本接近于低成本的存儲(chǔ)設(shè)備,而存儲(chǔ)系統(tǒng)的整體性能傾向于高性能的存儲(chǔ)設(shè)備。
[0003]目前,現(xiàn)有技術(shù)雖然提出了一些分層存儲(chǔ)系統(tǒng),但其數(shù)據(jù)迀移策略中的熱度值統(tǒng)計(jì)或是基于最近訪問(wèn)次數(shù),或者僅考慮歷史訪問(wèn)頻度。例如,SANBoost系統(tǒng)使用SSD設(shè)備和磁盤(pán)構(gòu)成兩層存儲(chǔ)系統(tǒng),并引入一個(gè)迀移閾值以減少數(shù)據(jù)迀移量,熱度值統(tǒng)計(jì)是基于最近訪問(wèn)次數(shù),只有用戶訪問(wèn)達(dá)到一定次數(shù)后才進(jìn)行數(shù)據(jù)迀移。又如,基于存儲(chǔ)空間的高低水位法,熱度值統(tǒng)計(jì)是基于歷史訪問(wèn)頻度,根據(jù)磁盤(pán)的使用情況進(jìn)行數(shù)據(jù)迀移。
[0004]雖然上述兩種數(shù)據(jù)迀移策略具有最大利用磁盤(pán)空間的優(yōu)點(diǎn),但其熱度值統(tǒng)計(jì)存在不合理之處。例如,對(duì)于基于最近訪問(wèn)次數(shù)的熱度值統(tǒng)計(jì),沒(méi)有考慮對(duì)象訪問(wèn)一次后可能長(zhǎng)久不會(huì)被訪問(wèn)的情況,對(duì)于基于歷史訪問(wèn)頻度的熱度值統(tǒng)計(jì),沒(méi)有考慮該歷史多次訪問(wèn)可能是很久之前訪問(wèn)過(guò)多次的情況。因此,現(xiàn)有熱度值統(tǒng)計(jì)在有些應(yīng)用場(chǎng)景下是不準(zhǔn)確的。
【發(fā)明內(nèi)容】
[0005]為了解決上述技術(shù)問(wèn)題,本發(fā)明提供一種云存儲(chǔ)系統(tǒng)中分層存儲(chǔ)的數(shù)據(jù)熱度計(jì)算方法和裝置,以克服現(xiàn)有熱度值統(tǒng)計(jì)在有些應(yīng)用場(chǎng)景下不準(zhǔn)確的技術(shù)缺陷。
[0006]為了達(dá)到本發(fā)明目的,本發(fā)明提供了一種云存儲(chǔ)系統(tǒng)中分層存儲(chǔ)的數(shù)據(jù)熱度計(jì)算方法,系統(tǒng)運(yùn)行中,按照時(shí)間順序依次建立若干個(gè)命中集合,并在每個(gè)命中集合的生命周期內(nèi),在命中集合中記錄每個(gè)對(duì)象操作的對(duì)象標(biāo)識(shí);所述方法包括:
[0007]選定一預(yù)迀移對(duì)象;
[0008]確定當(dāng)前時(shí)刻所在的命中集合,記為命中集合N ;
[0009]根據(jù)命中集合N和預(yù)設(shè)的命中集合歷史數(shù)M,確定統(tǒng)計(jì)集合,所述統(tǒng)計(jì)集合為:命中集合N、命中集合N-1、命中集合N-2、……、命中集合N-M;
[0010]判斷所述預(yù)迀移對(duì)象在所述統(tǒng)計(jì)集合的每個(gè)命中集合中是否有對(duì)象標(biāo)識(shí),有則設(shè)置命中集合的命中值D = I,沒(méi)有則設(shè)置命中集合的命中值D = O ;
[0011]根據(jù)各個(gè)命中集合的命中值D和預(yù)設(shè)的各個(gè)命中集合的權(quán)重值Q,計(jì)算所述預(yù)迀移對(duì)象的數(shù)據(jù)熱度值R,
[0012]R = DnX Qn+Dn ! X Qn !+Dn 2 X Qn 2+......+Dn mX Qn mo
[0013]進(jìn)一步地,所述命中集合的生命周期是預(yù)先設(shè)置的時(shí)間區(qū)間;在命中集合中記錄對(duì)象操作的對(duì)象標(biāo)識(shí)時(shí),每個(gè)命中集合中同一個(gè)對(duì)象的對(duì)象標(biāo)識(shí)只記錄一次。
[0014]進(jìn)一步地,所述命中集合歷史數(shù)M用于表示本次計(jì)算數(shù)據(jù)熱度值所考慮的時(shí)間跨度和時(shí)間程度,所述統(tǒng)計(jì)集合表示本次計(jì)算數(shù)據(jù)熱度值所基于的命中集合。
[0015]進(jìn)一步地,所述命中集合的權(quán)重值Q用于表示命中集合的熱度,不同的命中集合具有不同的權(quán)重值。
[0016]進(jìn)一步地,各個(gè)命中集合的權(quán)重值采用權(quán)重值衰減比例的方式設(shè)置,即以當(dāng)前命中集合為基點(diǎn),各個(gè)命中集合的權(quán)重值由近及遠(yuǎn)按照設(shè)定的衰減比例進(jìn)行衰減。
[0017]為了達(dá)到本發(fā)明目的,本發(fā)明還提供了一種云存儲(chǔ)系統(tǒng)中分層存儲(chǔ)的數(shù)據(jù)熱度計(jì)算裝置,包括:
[0018]命中集合模塊,用于在系統(tǒng)運(yùn)行中,按照時(shí)間順序依次建立若干個(gè)命中集合,并在每個(gè)命中集合的生命周期內(nèi),在命中集合中記錄對(duì)象操作的對(duì)象標(biāo)識(shí);
[0019]統(tǒng)計(jì)集合模塊,用于確定當(dāng)前時(shí)刻所在的命中集合,記為命中集合N,并根據(jù)命中集合N和預(yù)設(shè)的命中集合歷史數(shù)M,確定統(tǒng)計(jì)集合,所述統(tǒng)計(jì)集合為:命中集合N、命中集合N-1、命中集合N-2、……、命中集合N-M;
[0020]判斷模塊,用于判斷所述預(yù)迀移對(duì)象在所述統(tǒng)計(jì)集合的每個(gè)命中集合中是否有對(duì)象標(biāo)識(shí),有則設(shè)置命中集合的命中值D = I,沒(méi)有則設(shè)置命中集合的命中值D = O ;
[0021]計(jì)算模塊,用于根據(jù)各個(gè)命中集合的命中值D和預(yù)設(shè)的各個(gè)命中集合的權(quán)重值Q,計(jì)算所述預(yù)迀移對(duì)象的數(shù)據(jù)熱度值R,
[0022]R = DnX Qn+Dn ! X Qn !+Dn 2 X Qn 2+......+Dn mX Qn mo
[0023]進(jìn)一步地,所述命中集合的生命周期是預(yù)先設(shè)置的時(shí)間區(qū)間;在命中集合中記錄對(duì)象操作的對(duì)象標(biāo)識(shí)時(shí),每個(gè)命中集合中同一個(gè)對(duì)象的對(duì)象標(biāo)識(shí)只記錄一次。
[0024]進(jìn)一步地,所述命中集合歷史數(shù)M用于表示本次計(jì)算數(shù)據(jù)熱度值所考慮的時(shí)間跨度和時(shí)間程度,所述統(tǒng)計(jì)集合表示本次計(jì)算數(shù)據(jù)熱度值所基于的命中集合。
[0025]進(jìn)一步地,所述命中集合的權(quán)重值Q用于表示命中集合的熱度,不同的命中集合具有不同的權(quán)重值。
[0026]進(jìn)一步地,各個(gè)命中集合的權(quán)重值采用權(quán)重值衰減比例的方式設(shè)置,即以當(dāng)前命中集合為基點(diǎn),各個(gè)命中集合的權(quán)重值由近及遠(yuǎn)按照設(shè)定的衰減比例進(jìn)行衰減。
[0027]本發(fā)明提供了一種云存儲(chǔ)系統(tǒng)中分層存儲(chǔ)的數(shù)據(jù)熱度計(jì)算方法和裝置,通過(guò)設(shè)置命中集合和命中集合的權(quán)重值,使獲得的數(shù)據(jù)熱度值綜合考慮了對(duì)象的操作時(shí)間和對(duì)象的操作頻率。先利用建立的若干個(gè)命中集合,分別記錄不同時(shí)間區(qū)間內(nèi)的對(duì)象操作,建立起對(duì)象操作時(shí)間與命中集合、對(duì)象操作頻率與命中集合的對(duì)應(yīng)關(guān)系,然后通過(guò)設(shè)置反映命中集合熱度的命中集合的權(quán)重值,因而建立起對(duì)象操作時(shí)間與熱度、對(duì)象操作頻率與熱度的對(duì)應(yīng)關(guān)系。進(jìn)一步地,通過(guò)設(shè)置命中集合歷史數(shù)來(lái)限定計(jì)算數(shù)據(jù)熱度值考慮歷史命中集合的數(shù)量和遠(yuǎn)近程度,根據(jù)最近的操作時(shí)間和操作頻率來(lái)計(jì)算數(shù)據(jù)熱度值,使獲得的數(shù)據(jù)熱度值更加準(zhǔn)確,克服了現(xiàn)有熱度值統(tǒng)計(jì)在有些應(yīng)用場(chǎng)景下不準(zhǔn)確的技術(shù)缺陷。
[0028]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在說(shuō)明書(shū)、權(quán)利要求書(shū)以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
【附圖說(shuō)明】
[0029]附圖用來(lái)提供對(duì)本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與本申請(qǐng)的實(shí)施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對(duì)本發(fā)明技術(shù)方案的限制。
[0030]圖1為本發(fā)明命中集合的示意圖;
[0031]圖2為本發(fā)明云存儲(chǔ)系統(tǒng)中分層存儲(chǔ)的數(shù)據(jù)熱度計(jì)算方法的流程圖。
【具體實(shí)施方式】
[0032]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0033]在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0034]系統(tǒng)運(yùn)行中,按照時(shí)間順序依次建立若干個(gè)命中集合,并在每個(gè)命中集合的生命周期T內(nèi),在命中集合中記錄對(duì)象操作的對(duì)象標(biāo)識(shí),且每個(gè)命中集合中同一個(gè)對(duì)象的對(duì)