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

一種緩存分配方法及裝置制造方法

文檔序號(hào):6503187閱讀:161來源:國(guó)知局
一種緩存分配方法及裝置制造方法
【專利摘要】本發(fā)明提供一種緩存分配方法及對(duì)應(yīng)的裝置,應(yīng)用于存儲(chǔ)系統(tǒng)中,該存儲(chǔ)系統(tǒng)包括熱點(diǎn)資源池、后端存儲(chǔ)資源以及一級(jí)緩存;其中熱點(diǎn)資源池包括多個(gè)熱點(diǎn)資源區(qū)HA,每個(gè)HA包括多個(gè)熱點(diǎn)塊HB,該方法包括:在出現(xiàn)新熱點(diǎn)數(shù)據(jù)時(shí)判斷熱點(diǎn)資源池中是否有空閑HB,如果有則根據(jù)預(yù)設(shè)的初級(jí)均衡規(guī)則確定目標(biāo)HA,從目標(biāo)HA的空閑HB中為新熱點(diǎn)數(shù)據(jù)選擇目標(biāo)HB;如果沒有則根據(jù)預(yù)設(shè)的次級(jí)均衡規(guī)則從數(shù)據(jù)熱度低于新熱點(diǎn)數(shù)據(jù)的HB中為新熱點(diǎn)數(shù)據(jù)選擇目標(biāo)HB;將新熱點(diǎn)數(shù)據(jù)從后端存儲(chǔ)資源備份到所述目標(biāo)HB中。相對(duì)于現(xiàn)有技術(shù)而言,本發(fā)明充分考慮了二級(jí)緩存資源分配過程中的均衡性問題,可大幅度提高二級(jí)緩存資源整體的利用效率。
【專利說明】一種緩存分配方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲(chǔ)【技術(shù)領(lǐng)域】,尤其涉及一種存儲(chǔ)系統(tǒng)中緩存的分配方法及裝置。

【背景技術(shù)】
[0002]在存儲(chǔ)領(lǐng)域,緩存通常是位于應(yīng)用程序與物理存儲(chǔ)介質(zhì)(主要指機(jī)械磁盤)之間,用于臨時(shí)存放應(yīng)用程序數(shù)據(jù)的內(nèi)存區(qū)域。系統(tǒng)設(shè)計(jì)中引入緩存的主要目的是為了降低應(yīng)用程序讀寫命令的響應(yīng)延遲,從而提升應(yīng)用的整體性能。傳統(tǒng)意義上緩存通常指一級(jí)緩存,比如DRAM Cache,其特點(diǎn)是容量小、價(jià)格貴,考慮到DRAM Cache和機(jī)械硬盤之間較大的性能差距,于是出現(xiàn)了二級(jí)緩存技術(shù)。二級(jí)緩存的性能低于DRAM Cache,但是容量更大、成本更低。隨著SSD (固態(tài)硬盤)技術(shù)的發(fā)展,SSD在存儲(chǔ)領(lǐng)域使用的范圍越來越廣。目前業(yè)界的存儲(chǔ)系統(tǒng)使用SSD主要有兩種方式:作為分級(jí)存儲(chǔ)介質(zhì)或二級(jí)緩存。
[0003]對(duì)于SSD作為緩存這種應(yīng)用,目前常規(guī)的設(shè)計(jì)方案是將SSD作為熱點(diǎn)資源池來使用。系統(tǒng)定時(shí)檢測(cè)數(shù)據(jù)熱度,并在后臺(tái)將熱點(diǎn)數(shù)據(jù)備份到熱點(diǎn)資源池中。當(dāng)應(yīng)用程序讀1無法在一級(jí)緩存中讀取到對(duì)應(yīng)數(shù)據(jù)(因?yàn)榫彺骊P(guān)閉或未命中)時(shí),可以繼續(xù)嘗試在熱點(diǎn)資源池中尋找對(duì)應(yīng)數(shù)據(jù),如果熱點(diǎn)資源池中已存在該數(shù)據(jù)的備份,則直接利用備份數(shù)據(jù)對(duì)業(yè)務(wù)1提供支持。否則,仍通過讀取業(yè)務(wù)邏輯資源的方式從傳統(tǒng)磁盤(HDD)中完成數(shù)據(jù)讀取。
[0004]請(qǐng)參考圖1所示,對(duì)于讀數(shù)據(jù)來說,上述方案一般存在三種可能性:當(dāng)讀取數(shù)據(jù)A時(shí),由于緩存(也就是一級(jí)緩存)中已有該數(shù)據(jù)的備份,可直接從緩存讀取(圖中路徑I);如果讀取數(shù)據(jù)B,由于該數(shù)據(jù)只存在HDD中,則從HDD中讀取(圖中路徑2);如果讀取數(shù)據(jù)C,由于該數(shù)據(jù)在HDD和SSD (也就是二級(jí)緩存)中都存在,系統(tǒng)優(yōu)先從SSD中讀取(圖中讀取路徑3)。
[0005]隨著SSD的推廣,其成本也在不斷下探,目前很多設(shè)計(jì)中開始使用SSD創(chuàng)建一個(gè)或多個(gè) SSD RAID (Redundant Arrays of Independent Disks,獨(dú)立冗余磁盤整列)作為熱點(diǎn)資源池,比如RAIDl或RAIDlO等各種級(jí)別的RAID。當(dāng)RAID中一個(gè)SSD故障時(shí),可利用傳統(tǒng)RAID技術(shù)進(jìn)行RAID重建等數(shù)據(jù)保護(hù)操作。當(dāng)使用多個(gè)SSD RAID構(gòu)成熱點(diǎn)資源池時(shí),多個(gè)SSD RAID各自獨(dú)立,并通過串聯(lián)的方式構(gòu)建熱點(diǎn)資源池,比如使用3個(gè)SSD RAID創(chuàng)建熱點(diǎn)資源池,每個(gè)SSD RAID的空間是400GB,即熱點(diǎn)資源池容量則為1200GB,其中前400GB空間位于SSD RAIDl上,中間400GB空間位于SSD RAID2上,最后400GB空間位于SSD RAID3上。
[0006]在創(chuàng)建熱點(diǎn)資源池后,系統(tǒng)可將整個(gè)熱點(diǎn)資源池劃分為若干定長(zhǎng)的熱點(diǎn)塊,并按照熱點(diǎn)資源池中邏輯空間地址LBA (Logical Block Addressing)依次對(duì)熱點(diǎn)塊進(jìn)行編號(hào)。對(duì)應(yīng)上述例子,熱點(diǎn)塊編號(hào)從小到大依次分布在SSD RAIDU SSD RAID2.SSD RAID3上。當(dāng)系統(tǒng)檢測(cè)到新的熱點(diǎn)數(shù)據(jù)出現(xiàn)時(shí),按照最小編號(hào)規(guī)則均衡一個(gè)或多個(gè)熱點(diǎn)塊,或者從上一次均衡的熱點(diǎn)塊的下一個(gè)編號(hào)開始順序均衡一個(gè)或多個(gè)熱點(diǎn)塊。完成均衡熱點(diǎn)塊后啟動(dòng)后臺(tái)拷貝,將熱點(diǎn)數(shù)據(jù)從HDD RAID備份到熱點(diǎn)塊中,同時(shí)在管理上建立對(duì)應(yīng)的映射關(guān)系。當(dāng)所有熱點(diǎn)塊都被使用后,最新的熱點(diǎn)數(shù)據(jù)無法均衡到空閑熱點(diǎn)塊,則系統(tǒng)淘汰出數(shù)據(jù)熱度最低的熱點(diǎn)塊提供給新熱點(diǎn),以此類推。
[0007]然而由于應(yīng)用程序的讀1業(yè)務(wù)并沒有任何規(guī)律性,因此當(dāng)業(yè)務(wù)持續(xù)一段時(shí)間后,極有可能出現(xiàn)大量的流向熱點(diǎn)資源池的讀1集中在某一個(gè)或少數(shù)幾個(gè)SSD RAID上的情況。請(qǐng)參考圖2所示,編號(hào)為3的SSD RAID的利用率極低。在這樣的情況下,一方面,多個(gè)SSD RAID上的1未充分實(shí)現(xiàn)并發(fā),無法發(fā)揮多個(gè)SSD RAID的在1性能上的優(yōu)勢(shì);另一方面,SSD盤本身的成本通常較高,性價(jià)比不高將影響用戶的投資回報(bào)率,這顯然是用戶無法接受的。


【發(fā)明內(nèi)容】

[0008]有鑒于此,本發(fā)明提供一種緩存分配裝置,應(yīng)用于存儲(chǔ)系統(tǒng)中,該存儲(chǔ)系統(tǒng)包括作為二級(jí)緩存的熱點(diǎn)資源池、后端存儲(chǔ)資源以及一級(jí)緩存;其中所述熱點(diǎn)資源池包括多個(gè)熱點(diǎn)資源區(qū)HA,每個(gè)HA包括多個(gè)熱點(diǎn)塊HB,該裝置包括初級(jí)均衡單元、次級(jí)均衡單元以及熱點(diǎn)調(diào)度單元;其中:
[0009]初級(jí)均衡單元,用于在出現(xiàn)新熱點(diǎn)數(shù)據(jù)時(shí)判斷熱點(diǎn)資源池中是否有空閑HB,如果有則根據(jù)預(yù)設(shè)的初級(jí)均衡規(guī)則確定目標(biāo)HA,從目標(biāo)HA的空閑HB中為新熱點(diǎn)數(shù)據(jù)選擇目標(biāo)HB ;如果沒有則轉(zhuǎn)次級(jí)均衡單元處理;
[0010]次級(jí)均衡單元,用于根據(jù)預(yù)設(shè)的次級(jí)均衡規(guī)則從數(shù)據(jù)熱度低于新熱點(diǎn)數(shù)據(jù)的HB中為新熱點(diǎn)數(shù)據(jù)選擇目標(biāo)HB ;
[0011]熱點(diǎn)調(diào)度單元,用于將新熱點(diǎn)數(shù)據(jù)從后端存儲(chǔ)資源備份到所述目標(biāo)HB中。
[0012]本發(fā)明還提供一種緩存分配方法,應(yīng)用于存儲(chǔ)系統(tǒng)中,該存儲(chǔ)系統(tǒng)包括作為二級(jí)緩存的熱點(diǎn)資源池、后端存儲(chǔ)資源以及一級(jí)緩存;其中所述熱點(diǎn)資源池包括多個(gè)熱點(diǎn)資源區(qū)HA,每個(gè)HA包括多個(gè)熱點(diǎn)塊HB,其中該方法包括:
[0013]步驟A、在出現(xiàn)新熱點(diǎn)數(shù)據(jù)時(shí)判斷熱點(diǎn)資源池中是否有空閑HB,如果有則根據(jù)預(yù)設(shè)的初級(jí)均衡規(guī)則確定目標(biāo)HA,從目標(biāo)HA的空閑HB中為新熱點(diǎn)數(shù)據(jù)選擇目標(biāo)HB ;如果沒有則轉(zhuǎn)步驟B處理;
[0014]步驟B、根據(jù)預(yù)設(shè)的次級(jí)均衡規(guī)則從數(shù)據(jù)熱度低于新熱點(diǎn)數(shù)據(jù)的HB中為新熱點(diǎn)數(shù)據(jù)選擇目標(biāo)HB;
[0015]步驟C、將新熱點(diǎn)數(shù)據(jù)從后端存儲(chǔ)資源備份到所述目標(biāo)HB中。
[0016]相對(duì)于現(xiàn)有技術(shù)而言,本發(fā)明充分考慮了二級(jí)緩存資源分配過程中的均衡性問題,可大幅度提高二級(jí)緩存資源整體的利用效率。

【專利附圖】

【附圖說明】
[0017]圖1是一種典型的存儲(chǔ)系統(tǒng)使用二級(jí)緩存的讀數(shù)據(jù)方式示意圖。
[0018]圖2是現(xiàn)有技術(shù)中一種典型二級(jí)緩存使用不均的示意圖。
[0019]圖3是本發(fā)明一種實(shí)施方式中緩存分配裝置的邏輯結(jié)構(gòu)圖。
[0020]圖4是本發(fā)明一種實(shí)施方式中緩存分配方法的處理流程圖。

【具體實(shí)施方式】
[0021]本發(fā)明從均衡性的角度重新審視作為二級(jí)緩存的熱點(diǎn)資源池的均衡使用,借以大幅度提升二級(jí)緩存的利用效率。在整個(gè)存儲(chǔ)系統(tǒng)中,熱點(diǎn)資源池的訪問速度通常低于一級(jí)緩存,但大于后端存儲(chǔ)資源(比如由HDD構(gòu)成的HDDRAID),同樣,其空間容量大小也介乎一級(jí)緩存與后端存儲(chǔ)之間,通常大于前者而小于后者。在優(yōu)選的方式中,熱點(diǎn)資源池中包括的存儲(chǔ)介質(zhì)為SSD,考慮到存儲(chǔ)介質(zhì)的多樣性以及未來可能出現(xiàn)更多新的存儲(chǔ)介質(zhì),本發(fā)明并不限制熱點(diǎn)資源池中存儲(chǔ)介質(zhì)的具體形態(tài),只不過從當(dāng)前的發(fā)展來看,SSD是一種性價(jià)比較高的選擇而已。在本發(fā)明中熱點(diǎn)資源池通常包括多個(gè)熱點(diǎn)資源區(qū)(Hot-Area,HA),HA是本發(fā)明負(fù)載均衡考察的基礎(chǔ)對(duì)象。在優(yōu)選的方式中,考慮到RAID技術(shù)的成熟性,HA的具體形態(tài)是SSD RAID。然而HA事實(shí)上是開發(fā)者對(duì)二級(jí)緩存資源的劃分定義而已。其存在的形態(tài)未必是RAID,也可能是其他陣列的形式(比如常見的JBOD這樣的陣列),甚至可能只是單個(gè)SSD又或者一段物理空間。在本發(fā)明中,HA又通常包括多個(gè)用來存儲(chǔ)熱點(diǎn)數(shù)據(jù)的熱點(diǎn)塊HB,HB可以理解為一個(gè)熱點(diǎn)資源均衡的單位,其大小可以由開發(fā)者根據(jù)實(shí)際需要來設(shè)定。甚至開發(fā)者可以提供配置能力允許用戶進(jìn)行自定義。
[0022]請(qǐng)參考圖3,在一種優(yōu)選的實(shí)施方式中,本發(fā)明提供一種緩存分配裝置,
[0023]該裝置可運(yùn)行在包括CPU、內(nèi)存以及非易失存儲(chǔ)器等硬件在內(nèi)的計(jì)算機(jī)平臺(tái)上,該裝置在邏輯層面包括初級(jí)均衡單元、次級(jí)均衡單元以及熱點(diǎn)均衡單元。在運(yùn)行過程中,該裝置執(zhí)行如下處理過程。
[0024]步驟10,在出現(xiàn)新熱點(diǎn)數(shù)據(jù)時(shí),初級(jí)均衡單元判斷熱點(diǎn)資源池中是否有空閑HB,如果有則根據(jù)預(yù)設(shè)的初級(jí)均衡規(guī)則確定目標(biāo)HA,從目標(biāo)RAID的空閑HB中為新熱點(diǎn)數(shù)據(jù)選擇目標(biāo)HB ;如果沒有則轉(zhuǎn)步驟11處理;
[0025]步驟11,次級(jí)均衡單元根據(jù)預(yù)設(shè)的次級(jí)均衡規(guī)則從數(shù)據(jù)熱度低于新熱點(diǎn)數(shù)據(jù)的HB中為新熱點(diǎn)數(shù)據(jù)選擇目標(biāo)HB ;
[0026]步驟12,在目標(biāo)HB確定之后,熱點(diǎn)調(diào)度單元將新熱點(diǎn)數(shù)據(jù)從后端存儲(chǔ)資源備份到所述目標(biāo)HB中。
[0027]存儲(chǔ)系統(tǒng)通常會(huì)為多個(gè)前端主機(jī)(比如各種應(yīng)用服務(wù)器)均衡邏輯空間(LUN),LUN的空間實(shí)際會(huì)映射到后端存儲(chǔ)資源(比如HDD RAID)上的物理空間。當(dāng)一個(gè)LUN上出現(xiàn)熱點(diǎn)數(shù)據(jù)時(shí),系統(tǒng)需要將熱點(diǎn)數(shù)據(jù)備份一份到作為二級(jí)緩存的熱點(diǎn)資源池中。這樣后續(xù)前端主機(jī)訪問該熱點(diǎn)數(shù)據(jù)時(shí),可以從二級(jí)緩存中獲得該熱點(diǎn)數(shù)據(jù),其訪問速度通常會(huì)明顯高于后端存儲(chǔ)資源的訪問速度。熱點(diǎn)數(shù)據(jù)的確定方式和標(biāo)準(zhǔn)并不是本發(fā)明所關(guān)注的重點(diǎn),本領(lǐng)域普通技術(shù)人員可以參考任何已有的方式來實(shí)現(xiàn)。
[0028]在優(yōu)選的實(shí)施方式中,熱點(diǎn)資源池包括多個(gè)作為HA的RAID。每個(gè)RAID包括多個(gè)HB,在優(yōu)選的方式中,每個(gè)HB的大小相同,其大小可以與LUN上熱點(diǎn)統(tǒng)計(jì)的數(shù)據(jù)塊大小相同。本發(fā)明并不排除HB大小不同的情況,只不過這種情況可能需要均衡過程中引入一些計(jì)算開銷,本發(fā)明也不排除HB與LUN上熱點(diǎn)統(tǒng)計(jì)數(shù)據(jù)塊大小不同的情況,只不過這種情況下同樣可能需要在均衡過程中引入一定的計(jì)算開銷而已。本發(fā)明中,在為新熱點(diǎn)數(shù)據(jù)選擇目標(biāo)HB的處理同樣會(huì)首先考慮是否有空閑,但是在此基礎(chǔ)上,本發(fā)明還引入了初級(jí)均衡規(guī)則和次級(jí)均衡規(guī)則。步驟10中的初級(jí)均衡規(guī)則可以有多種,針對(duì)不同的實(shí)際情況,對(duì)均衡性考慮的側(cè)重點(diǎn)會(huì)有所不同,初級(jí)均衡規(guī)則可以有各種變化,以下提供幾種優(yōu)選的方式作為示例。
[0029]初級(jí)均衡規(guī)則1:將一個(gè)負(fù)載最低的HA確定為目標(biāo)HA ;這種規(guī)則優(yōu)先考慮負(fù)載的均衡性,其可以最大限度地保證各個(gè)HA上的1負(fù)載處于均衡狀態(tài),避免負(fù)載差距太大導(dǎo)致HA性能利用不均衡的問題。若熱點(diǎn)資源池中的若HA的性能差異較大,那么初級(jí)均衡規(guī)則I是一種簡(jiǎn)單且效果較好的方案。
[0030]初級(jí)均衡規(guī)則2:將一個(gè)空閑HB最多的RAID確定為目標(biāo)HA;這種均衡方式優(yōu)先考慮HA所提供資源的均衡性,保證每個(gè)HA上空間均衡的盡可能地均衡,這種均衡規(guī)則比較適合于熱點(diǎn)資源池中各個(gè)HA之間差異較小的情況。此時(shí)由于HA之間差異比較小,則空間均衡均衡的情況下,在業(yè)務(wù)隨機(jī)性較大的場(chǎng)景中,負(fù)載也有較高的機(jī)會(huì)趨向均衡。
[0031]初級(jí)均衡規(guī)則3:判斷是否有多個(gè)負(fù)載最低的HA,如果沒有,則將負(fù)載最低的HA確定為目標(biāo)HA,如果有,則將其中空閑HB最多的HA確定為目標(biāo)HA。
[0032]初級(jí)均衡規(guī)則4:判斷是否有多個(gè)空閑HB最多的HA,如果沒有,則將空閑HB最多的HA確定為目標(biāo)HA,如果有,則將其中負(fù)載最低的HA確定為目標(biāo)HA。
[0033]初級(jí)均衡規(guī)則3和4是同時(shí)考慮了負(fù)載均衡性和空間均衡性,這兩種規(guī)則具有更為通用。只不過初級(jí)均衡規(guī)則3優(yōu)先考慮負(fù)載的均衡性,其次考慮空間的均衡性;而初級(jí)均衡規(guī)則4則是有限考慮空間的均衡性,其次才考慮負(fù)載的均衡性。次級(jí)均衡規(guī)則同樣可以有較多的變形,以下提供兩種優(yōu)選的示例進(jìn)行說明。
[0034]若HA上數(shù)據(jù)熱度最低的HB的熱度高于新熱點(diǎn)數(shù)據(jù),則淘汰該HA ;進(jìn)一步判斷是否存在未淘汰的HA,如果不存在則返回,如果存在則從未淘汰的HA中選擇負(fù)載最低的HA作為目標(biāo)HA,從目標(biāo)HA中為新熱點(diǎn)數(shù)據(jù)選擇數(shù)據(jù)熱度最低的HB作為目標(biāo)HB ;或者
[0035]判斷是否有多個(gè)HA上HB的最低數(shù)據(jù)熱度相同,如果有,則將其中負(fù)載最低的HA確定為目標(biāo)HA,從目標(biāo)HA中選擇數(shù)據(jù)熱度最低的HB作為目標(biāo)HB,或者
[0036]選擇負(fù)載最低的HA作為目標(biāo)HA,判斷目標(biāo)HA上數(shù)據(jù)熱度最低的HB的數(shù)據(jù)熱度是否低于新熱點(diǎn)數(shù)據(jù),如果是,則將該HB確定目標(biāo)HB ;如果否,則淘汰該HA并返回重新選擇負(fù)載最低的HA作為目標(biāo)HA。
[0037]次級(jí)均衡規(guī)則I與次級(jí)均衡規(guī)則2同時(shí)考慮了數(shù)據(jù)熱度的高低與負(fù)載的均衡性,只不過前者優(yōu)先考慮了負(fù)載的均衡性,而后者優(yōu)先考慮了數(shù)據(jù)熱度的高低,即在次級(jí)均衡規(guī)則2中如果熱度最低的HB如果有多個(gè)的話,也就是說來自不同HA上的多個(gè)數(shù)據(jù)熱度最低的HB具有相同的數(shù)據(jù)熱度,此時(shí)優(yōu)先考慮負(fù)載最低的HA。而次級(jí)均衡規(guī)則3與次級(jí)均衡規(guī)則I思路接近,
[0038]只不過在算法實(shí)現(xiàn)安排上略有不同。當(dāng)然次級(jí)均衡規(guī)則還可以僅僅考慮負(fù)載的均衡性,或者僅僅考慮數(shù)據(jù)熱度的高低等。開發(fā)者可以根據(jù)實(shí)際情況的需要來選擇不同的次級(jí)均衡規(guī)則加以實(shí)施。
[0039]請(qǐng)參考圖4,以下提供一個(gè)實(shí)例來說明上述方案的實(shí)現(xiàn),在本實(shí)例中HA是由SSDRAID來實(shí)現(xiàn)的,以下若無特別說明,SSD RAID簡(jiǎn)稱為RAID。
[0040]步驟101,在出現(xiàn)新熱點(diǎn)數(shù)據(jù)時(shí),初級(jí)均衡單元判斷熱點(diǎn)資源池中是否有空閑HB,如果有轉(zhuǎn)步驟102處理,否則轉(zhuǎn)步驟108處理;
[0041]步驟102,初級(jí)均衡單元確定熱點(diǎn)資源池中負(fù)載最低的RAID ;
[0042]步驟103,初級(jí)均衡單元判斷是否有多個(gè)負(fù)載最低的RAID,如果是轉(zhuǎn)步驟104處理,否則轉(zhuǎn)步驟105處理;
[0043]步驟104,初級(jí)均衡單元將空閑HB最多的RAID確定為目標(biāo)RAID,轉(zhuǎn)步驟106處理;
[0044]步驟105,初級(jí)均衡單元將負(fù)載最低的RAID確定為目標(biāo)RAID,轉(zhuǎn)步驟106處理;
[0045]步驟106,初級(jí)均衡單元從目標(biāo)RAID中選擇空閑HB作為目標(biāo)HB,轉(zhuǎn)步驟107處理;
[0046]步驟107,熱點(diǎn)調(diào)度單元將新熱點(diǎn)數(shù)據(jù)從后端存儲(chǔ)資源中備份到目標(biāo)HB中并返回;
[0047]步驟108,次級(jí)均衡單元從未淘汰的RAID中選擇負(fù)載最低的RAID作為目標(biāo)RAID,轉(zhuǎn)步驟109處理;
[0048]步驟109,次級(jí)均衡單元確定目標(biāo)RAID中數(shù)據(jù)熱度最低的HB,轉(zhuǎn)步驟110處理;
[0049]步驟110,次級(jí)均衡單元判斷該數(shù)據(jù)熱度最低的HB中的數(shù)據(jù)熱度是否低于新熱點(diǎn)數(shù)據(jù)的熱度,如果否,則淘汰該當(dāng)前選擇的目標(biāo)RAID,轉(zhuǎn)入步驟108重新選擇,如果是,則將該數(shù)據(jù)熱度最低的HB確定為目標(biāo)HB,轉(zhuǎn)步驟107。
[0050]當(dāng)LUN上一個(gè)數(shù)據(jù)塊(通常是從熱點(diǎn)統(tǒng)計(jì)的角度來看的數(shù)據(jù)塊)上的數(shù)據(jù)變成了熱點(diǎn)數(shù)據(jù),此時(shí)需要準(zhǔn)備從熱點(diǎn)資源池為這個(gè)熱點(diǎn)數(shù)據(jù)均衡HB。均衡的過程先考慮是否有空閑HB,顯然如果有空閑的HB,應(yīng)該先把這些空閑的資源利用起來,直到空閑HB沒有為止。與現(xiàn)有技術(shù)不同的是,本發(fā)明在考慮空閑這一因素的同時(shí),還考慮每個(gè)RAID的負(fù)載狀況。假設(shè)多個(gè)RAID都有空閑HB,此時(shí)本實(shí)施方式中使用初級(jí)均衡規(guī)則3,先考慮每個(gè)HA的負(fù)載情況,系統(tǒng)盡量從負(fù)載低且有空閑HB的RAID中選擇HB。
[0051]負(fù)載大小的確定可以有很多種方式,如果每個(gè)RAID的性能相當(dāng),則此時(shí)可以將每個(gè)RAID上單個(gè)周期內(nèi)讀1數(shù)量作為負(fù)載參數(shù),讀1數(shù)量越多的RAID則負(fù)載越高,反之則越低。然而在實(shí)際部署中,各個(gè)RAID性能可能有差異,這種差異可能來自RAID級(jí)別的差異或者SSD本身的性能差異。在其他因素相同時(shí),通常級(jí)別越高的RAID性能越強(qiáng)。在這種情況下,可以引入單個(gè)周期內(nèi)平均訪問時(shí)延作為加權(quán)值;此時(shí)一個(gè)RAID的負(fù)載將與其單位時(shí)間的1數(shù)量以及單位時(shí)間的平均訪問時(shí)延之積成正比,這個(gè)乘積越大,則負(fù)載越大,反之則負(fù)載越小。
[0052]如前所述,本實(shí)施方式中優(yōu)先考慮RAID的負(fù)載。舉例來說,假設(shè)系統(tǒng)中有三個(gè)RAID,每個(gè)RAID均包括20個(gè)HB,假設(shè)第一 RAID上有12個(gè)空閑HB,第二 RAID上有10個(gè)空閑HB,第三RAID上有8個(gè)空閑HB。顯然空間上最為空閑的是第一 RAID,然而考慮到不同熱點(diǎn)數(shù)據(jù)的熱度會(huì)有很大的差異,此時(shí)很有可能第一 RAID上的很多HB內(nèi)的熱點(diǎn)數(shù)據(jù)的熱度過熱導(dǎo)致其負(fù)載明顯大于其他兩個(gè)RAID,而第三RAID雖然在空間上顯得不夠空閑,但由于其上熱點(diǎn)數(shù)據(jù)的熱度一般,反而有可能是負(fù)載最低的。此時(shí)如果從第一 RAID上選擇空閑HB,雖然從存儲(chǔ)資源均衡的層面顯得更加均衡,但這會(huì)加重第一 RAID上的負(fù)載,導(dǎo)致其響應(yīng)時(shí)延變長(zhǎng),主機(jī)的訪問速度下降,影響到主機(jī)的訪問體驗(yàn)。而本實(shí)施方式恰好先考慮負(fù)載均衡性的設(shè)計(jì)可以較好地保證主機(jī)的訪問體驗(yàn)。
[0053]在存儲(chǔ)系統(tǒng)運(yùn)行一段時(shí)間以后,特別是整個(gè)存儲(chǔ)系統(tǒng)的業(yè)務(wù)量較大的時(shí)候,此時(shí)可能出現(xiàn)整個(gè)熱點(diǎn)資源池中每個(gè)RAID都沒有空閑HB的情況。在這種情況下,就需要通過替換的方式來為新熱點(diǎn)數(shù)據(jù)均衡HB。替換選擇的對(duì)象是某個(gè)RAID中數(shù)據(jù)熱度低于熱點(diǎn)數(shù)據(jù)的HB,優(yōu)選的方式是選擇某個(gè)RAID上數(shù)據(jù)熱度低于熱點(diǎn)數(shù)據(jù),且在本RAID上熱度最低的HB。
[0054]在本實(shí)施方式中,采用次級(jí)均衡規(guī)則I。由于此時(shí)每個(gè)RAID上都沒有空閑HB 了。一旦這種情況出現(xiàn),在不少應(yīng)用場(chǎng)景中,這意味著有很可能每個(gè)RAID的負(fù)載都已經(jīng)比較高,甚至可能都接近了飽和狀態(tài)。此時(shí)雖然需要考慮負(fù)載的均衡性,但從熱點(diǎn)數(shù)據(jù)這項(xiàng)應(yīng)用來說,更可取的方式是盡可能將資源均衡給更熱的數(shù)據(jù),即將熱度比新熱點(diǎn)數(shù)據(jù)踢出熱點(diǎn)資源池,將對(duì)應(yīng)的HB均衡給新熱點(diǎn)數(shù)據(jù)。
[0055]事實(shí)上,很多熱點(diǎn)數(shù)據(jù)與時(shí)間有較大的相關(guān)性,比如一段實(shí)況的視頻數(shù)據(jù)(比如直播的體育節(jié)目),其往往在特定時(shí)間段會(huì)非常熱,但是這個(gè)時(shí)間段過去后,其熱度可能會(huì)快速下降,再比如說一段新聞,隨著時(shí)間的推移,其熱度通常會(huì)慢慢地下降。因此本發(fā)明優(yōu)選的方式中,依然可以先從負(fù)載最低的RAID著手,但是如果負(fù)載最低的RAID上沒有數(shù)據(jù)熱度低于新熱點(diǎn)數(shù)據(jù)的HB,則淘汰掉這個(gè)RAID,再?gòu)氖S嗟腞AID中選擇負(fù)載最低的RAID,直到找到一個(gè)RAID上有數(shù)據(jù)熱度低于新熱點(diǎn)數(shù)據(jù)的HB。如果遍歷了所有RAID之后依然找不到數(shù)據(jù)熱度低于新熱點(diǎn)數(shù)據(jù)的HB,則可以返回,放棄為新熱點(diǎn)數(shù)據(jù)均衡HB的操作。
[0056]在確定了目標(biāo)HB之后,熱點(diǎn)調(diào)度單元可以將LUN上的熱點(diǎn)數(shù)據(jù)備份出一份到目標(biāo)HB上。本發(fā)明在整個(gè)均衡過程中,考慮了存儲(chǔ)空間資源均衡的均衡性的前提下以及負(fù)載的均衡性,尤其是在各種方式中這兩種均衡性的綜合考慮使得本發(fā)明能夠應(yīng)對(duì)更為復(fù)雜的應(yīng)用場(chǎng)景。在優(yōu)選的方式中,相較于現(xiàn)有技術(shù)實(shí)現(xiàn)手段而言,本發(fā)明并沒有將多個(gè)HA列為一個(gè)整體來管理,而是將每個(gè)HA都作為獨(dú)立的調(diào)度和管理對(duì)象,使得HA的利用效率有極大幅度的提升,避免了現(xiàn)有技術(shù)中存在的各種問題。
[0057]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和規(guī)則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種緩存分配裝置,應(yīng)用于存儲(chǔ)系統(tǒng)中,該存儲(chǔ)系統(tǒng)包括作為二級(jí)緩存的熱點(diǎn)資源池、后端存儲(chǔ)資源以及一級(jí)緩存;其中所述熱點(diǎn)資源池包括多個(gè)熱點(diǎn)資源區(qū)HA,每個(gè)HA包括多個(gè)熱點(diǎn)塊HB,該裝置包括初級(jí)均衡單元、次級(jí)均衡單元以及熱點(diǎn)調(diào)度單元;其特征在于: 初級(jí)均衡單元,用于在出現(xiàn)新熱點(diǎn)數(shù)據(jù)時(shí)判斷熱點(diǎn)資源池中是否有空閑HB,如果有則根據(jù)預(yù)設(shè)的初級(jí)均衡規(guī)則確定目標(biāo)HA,從目標(biāo)HA的空閑HB中為新熱點(diǎn)數(shù)據(jù)選擇目標(biāo)HB ;如果沒有則轉(zhuǎn)次級(jí)均衡單元處理; 次級(jí)均衡單元,用于根據(jù)預(yù)設(shè)的次級(jí)均衡規(guī)則從數(shù)據(jù)熱度低于新熱點(diǎn)數(shù)據(jù)的HB中為新熱點(diǎn)數(shù)據(jù)選擇目標(biāo)HB ; 熱點(diǎn)調(diào)度單元,用于在目標(biāo)HB確定之后,將新熱點(diǎn)數(shù)據(jù)從后端存儲(chǔ)資源備份到所述目標(biāo)HB中。
2.如權(quán)利要求1所述的裝置,其特征在于,所述次級(jí)均衡規(guī)則具體為: 若HA上數(shù)據(jù)熱度最低的HB的熱度高于新熱點(diǎn)數(shù)據(jù),則淘汰該HA ;進(jìn)一步判斷是否存在未淘汰的HA,如果不存在則返回,如果存在則從未淘汰的HA中選擇負(fù)載最低的HA作為目標(biāo)HA,從目標(biāo)HA中為新熱點(diǎn)數(shù)據(jù)選擇數(shù)據(jù)熱度最低的HB作為目標(biāo)HB ;或者 判斷是否有多個(gè)HA上HB的最低數(shù)據(jù)熱度相同,如果有,則將其中負(fù)載最低的HA確定為目標(biāo)HA,從目標(biāo)HA中選擇數(shù)據(jù)熱度最低的HB作為目標(biāo)HB,或者 選擇負(fù)載最低的HA作為目標(biāo)HA,判斷目標(biāo)HA上數(shù)據(jù)熱度最低的HB的數(shù)據(jù)熱度是否低于新熱點(diǎn)數(shù)據(jù),如果是,則將該HB確定目標(biāo)HB ;如果否,則淘汰該HA并返回重新選擇負(fù)載最低的HA作為目標(biāo)HA。
3.如權(quán)利要求1所述的裝置,其特征在于,所述初級(jí)均衡規(guī)則為: 將一個(gè)負(fù)載最低的HA確定為目標(biāo)HA ;或者 將一個(gè)空閑HB最多的HA確定為目標(biāo)HA;或者 判斷是否有多個(gè)負(fù)載最低的HA,如果沒有,則將負(fù)載最低的HA確定為目標(biāo)HA,如果有,則將其中空閑HB最多的HA確定為目標(biāo)HA ;或者 判斷是否有多個(gè)空閑HB最多的HA,如果沒有,則將空閑HB最多的HA確定為目標(biāo)HA,如果有,則將其中負(fù)載最低的HA確定為目標(biāo)HA。
4.如權(quán)利要求1所述的裝置,其特征在于,所述HA的負(fù)載是根據(jù)HA的讀1數(shù)量與HA的訪問時(shí)延確定的,且每個(gè)HA的負(fù)載與該HA的讀1數(shù)量與的訪問時(shí)延的乘積成正比。
5.如權(quán)利要求1所述的裝置,其特征在于,所述熱點(diǎn)資源池的訪問速度大于后端存儲(chǔ)資源的訪問速度,且小于一級(jí)緩存的訪問速度;熱點(diǎn)資源池的存儲(chǔ)容量小于后端存儲(chǔ)資源的存儲(chǔ)容量,且大于一級(jí)緩存的存儲(chǔ)容量。
6.一種緩存分配方法,應(yīng)用于存儲(chǔ)系統(tǒng)中,該存儲(chǔ)系統(tǒng)包括作為二級(jí)緩存的熱點(diǎn)資源池、后端存儲(chǔ)資源以及一級(jí)緩存;其中所述熱點(diǎn)資源池包括多個(gè)熱點(diǎn)資源區(qū)HA,每個(gè)HA包括多個(gè)熱點(diǎn)塊HB,其特征在于,該方法包括: 步驟A、在出現(xiàn)新熱點(diǎn)數(shù)據(jù)時(shí)判斷熱點(diǎn)資源池中是否有空閑HB,如果有則根據(jù)預(yù)設(shè)的初級(jí)均衡規(guī)則確定目標(biāo)HA,從目標(biāo)HA的空閑HB中為新熱點(diǎn)數(shù)據(jù)選擇目標(biāo)HB ;如果沒有則轉(zhuǎn)步驟B處理; 步驟B、根據(jù)預(yù)設(shè)的次級(jí)均衡規(guī)則從數(shù)據(jù)熱度低于新熱點(diǎn)數(shù)據(jù)的HB中為新熱點(diǎn)數(shù)據(jù)選擇目標(biāo)HB ; 步驟C、在目標(biāo)HB確定之后,將新熱點(diǎn)數(shù)據(jù)從后端存儲(chǔ)資源備份到所述目標(biāo)HB中。
7.如權(quán)利要求6所述的方法,其特征在于,所述次級(jí)均衡規(guī)則具體為: 若HA上數(shù)據(jù)熱度最低的HB的熱度高于新熱點(diǎn)數(shù)據(jù),則淘汰該HA ;進(jìn)一步判斷是否存在未淘汰的HA,如果不存在則返回,如果存在則從未淘汰的HA中選擇負(fù)載最低的HA作為目標(biāo)HA,從目標(biāo)HA中為新熱點(diǎn)數(shù)據(jù)選擇數(shù)據(jù)熱度最低的HB作為目標(biāo)HB ;或者 判斷是否有多個(gè)HA上HB的最低數(shù)據(jù)熱度相同,如果有,則將其中負(fù)載最低的HA確定為目標(biāo)HA,從目標(biāo)HA中選擇數(shù)據(jù)熱度最低的HB作為目標(biāo)HB,或者 選擇負(fù)載最低的HA作為目標(biāo)HA,判斷目標(biāo)HA上數(shù)據(jù)熱度最低的HB的數(shù)據(jù)熱度是否低于新熱點(diǎn)數(shù)據(jù),如果是,則將該HB確定目標(biāo)HB ;如果否,則淘汰該HA并返回重新選擇負(fù)載最低的HA作為目標(biāo)HA。
8.如權(quán)利要求6所述的方法,其特征在于,所述初級(jí)均衡規(guī)則為: 將一個(gè)負(fù)載最低的HA確定為目標(biāo)HA ;或者 將一個(gè)空閑HB最多的HA確定為目標(biāo)HA;或者 判斷是否有多個(gè)負(fù)載最低的HA,如果沒有,則將負(fù)載最低的HA確定為目標(biāo)HA,如果有,則將其中空閑HB最多的HA確定為目標(biāo)HA ;或者 判斷是否有多個(gè)空閑HB最多的HA,如果沒有,則將空閑HB最多的HA確定為目標(biāo)HA,如果有,則將其中負(fù)載最低的HA確定為目標(biāo)HA。
9.如權(quán)利要求6所述的方法,其特征在于,所述HA的負(fù)載是根據(jù)HA的讀1數(shù)量與HA的訪問時(shí)延確定的,且每個(gè)HA的負(fù)載與該HA的讀1數(shù)量與的訪問時(shí)延的乘積成正比。
10.如權(quán)利要求6所述的方法,其特征在于,所述熱點(diǎn)資源池的訪問速度大于后端存儲(chǔ)資源的訪問速度,且小于一級(jí)緩存的訪問速度;熱點(diǎn)資源池的存儲(chǔ)容量小于后端存儲(chǔ)資源的存儲(chǔ)容量,且大于一級(jí)緩存的存儲(chǔ)容量。
【文檔編號(hào)】G06F12/08GK104182359SQ201310195601
【公開日】2014年12月3日 申請(qǐng)日期:2013年5月23日 優(yōu)先權(quán)日:2013年5月23日
【發(fā)明者】蘇偉, 上官應(yīng)蘭 申請(qǐng)人:杭州宏杉科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
同仁县| 建德市| 商城县| 东阳市| 昌图县| 连州市| 苏尼特右旗| 绥宁县| 长海县| 马山县| 松原市| 南康市| 西宁市| 西安市| 福贡县| 乐东| 拜城县| 习水县| 平和县| 库伦旗| 亚东县| 丁青县| 文成县| 奉节县| 开封县| 栾城县| 太康县| 奉节县| 得荣县| 门头沟区| 和林格尔县| 阜城县| 正阳县| 东乌珠穆沁旗| 中卫市| 梅州市| 莱阳市| 达尔| 绍兴市| 闽清县| 原阳县|