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

一種分布式存儲系統(tǒng)請求的處理方法

文檔序號:6547633閱讀:171來源:國知局
一種分布式存儲系統(tǒng)請求的處理方法
【專利摘要】本發(fā)明公開了一種分布式存儲系統(tǒng)請求的處理方法,屬于信息存儲【技術(shù)領(lǐng)域】。本發(fā)明在以新能源供電為主、市電供電為輔的多副本分布式存儲系統(tǒng)中,動態(tài)開啟、關(guān)閉數(shù)據(jù)節(jié)點以使整個系統(tǒng)動態(tài)匹配新能源的電力供應(yīng)。添加以SSD作為存儲介質(zhì)的SSD節(jié)點作為系統(tǒng)緩存區(qū),將對關(guān)閉數(shù)據(jù)節(jié)點的不可延遲的及時請求劃分為兩個階段:低能耗的及時在線響應(yīng)階段和高能耗的后臺離線存儲階段,在線階段保證性能需求,離線階段充分利用新能源。同時,為兼顧系統(tǒng)可靠性,劃分出數(shù)據(jù)節(jié)點中空閑空間作為虛擬SSD備份SSD節(jié)點中的臟數(shù)據(jù)。不同于傳統(tǒng)的基于負(fù)載變化的數(shù)據(jù)節(jié)點開關(guān)策略,本發(fā)明在不影響請求響應(yīng)的前提下,大幅度提升了新能源的利用率。
【專利說明】一種分布式存儲系統(tǒng)請求的處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于信息存儲【技術(shù)領(lǐng)域】,更具體地,涉及一種分布式存儲系統(tǒng)請求的處理方法。
【背景技術(shù)】
[0002]隨著信息時代的高速發(fā)展,各種信息(文字、聲音及圖像等)以難以置信的速度急劇增加。數(shù)據(jù)的急劇增長,給數(shù)據(jù)中心帶來最直接的影響是服務(wù)器數(shù)量的不斷增長,而大型數(shù)據(jù)中心的能源消耗非常驚人。與傳統(tǒng)的高碳電能不同,新能源往往具有不穩(wěn)定間隔性和動態(tài)變化的特點,如何最大化使用新能源也是數(shù)據(jù)中心面臨的一個重大問題。最大化利用新能源研究中最主要的問題是如何動態(tài)匹配不穩(wěn)定動態(tài)變化的新能源與系統(tǒng)的負(fù)荷,解決該問題一般分為兩大類:
[0003]一類是通過能源調(diào)度來匹配負(fù)載能耗需求。例如:利用電池能量存儲來使得波動的新能源供應(yīng)穩(wěn)定化。這樣的方法會帶來額外的大量資金開銷,而且能量使用效率很低,電力在來回傳輸過程中就會損失5 %?25 %的電力,除此之外,頻繁的充電會加速電池的老化。另外一種方法例如凈計量(net-metering)的反饋機制,將在線生成的新能源直接連接到本地的電網(wǎng),新能源供不應(yīng)求就使用電網(wǎng)供電,相反就將多余的電力賣給電網(wǎng)。但是凈計量還處于初期,對其過度依賴會存在一定的風(fēng)險,因為電網(wǎng)操作員不得不頻繁切換電力站來滿足不可預(yù)期的電力。
[0004]另外一類是通過負(fù)載調(diào)度匹配新能源供應(yīng)。從空間角度出發(fā),對于有多個數(shù)據(jù)節(jié)點的服務(wù)器集群,可以通過負(fù)載遷移來匹配新能源。對于負(fù)載遷移的調(diào)度算法,整體負(fù)載是沒有變化的,但是這些遷移帶來大量額外的開銷。從時間角度出發(fā),延遲技術(shù)是比較常見的解決方案,但是延遲技術(shù)只能用于可延遲的批處理請求,而現(xiàn)實中大部分的請求是即時交互性請求。從硬件角度出發(fā),可通過調(diào)節(jié)硬件的功耗狀態(tài)來調(diào)節(jié)能耗需求,但會影響到系統(tǒng)的性能。

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

[0005]針對現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的在于提供一種分布式存儲系統(tǒng)請求的處理方法,其針對現(xiàn)有技術(shù)額外資金開銷大、并入電網(wǎng)切換復(fù)雜、額外遷移數(shù)據(jù)開銷大、不能及時響應(yīng)實時請求和影響系統(tǒng)性能等問題,提出了一種兼顧分布式存儲系統(tǒng)能耗、性能、可靠性和運營開銷的方案。
[0006]一種分布式存儲系統(tǒng)請求的處理方法,包括以下步驟:
[0007]步驟I在以新能源供電為主、市電供電為輔的多副本分布式存儲系統(tǒng)中,添加部分以固態(tài)硬盤(Solid State Disk,以下簡稱SSD)為存儲介質(zhì)的SSD節(jié)點作為所述分布式存儲系統(tǒng)的緩存區(qū);
[0008]步驟2根據(jù)所述新能源供電能力的變化動態(tài)地開啟和關(guān)閉所述分布式存儲系統(tǒng)的數(shù)據(jù)節(jié)點,在所述新能源供電充足時,開啟所有數(shù)據(jù)節(jié)點以提供正常服務(wù),同時將所述緩存區(qū)中的臟數(shù)據(jù)寫回到對應(yīng)數(shù)據(jù)節(jié)點中,將所述數(shù)據(jù)節(jié)點中的熱數(shù)據(jù)預(yù)取到對應(yīng)SSD節(jié)點中,在所述新能源供電不充足時,根據(jù)其供電能力選擇關(guān)閉部分?jǐn)?shù)據(jù)節(jié)點,在所述新能源供電能力不能滿足所述分布式存儲系統(tǒng)的最低電力需求時,用所述市電供電來進(jìn)行補充,在任何情況下均不能關(guān)閉所有的數(shù)據(jù)節(jié)點,且所述SSD節(jié)點需要持續(xù)供電;
[0009]步驟3所述分布式存儲系統(tǒng)接收來自客戶端的請求,對于讀請求則執(zhí)行步驟4,對于寫請求則執(zhí)行步驟5 ;
[0010]步驟4當(dāng)讀請求的數(shù)據(jù)在所述緩存區(qū)命中時,直接從所述緩存區(qū)中讀取即可;當(dāng)所述讀請求的數(shù)據(jù)不在所述緩存區(qū)命中時,從所述讀請求的數(shù)據(jù)的多副本所在的任意一個未關(guān)閉的數(shù)據(jù)節(jié)點讀取即可;當(dāng)所述讀請求的數(shù)據(jù)不在所述緩存區(qū)命中并且其多副本沒有對應(yīng)的數(shù)據(jù)節(jié)點開啟時,喚醒其中一個副本所在的數(shù)據(jù)節(jié)點,然后從所述副本所在的數(shù)據(jù)節(jié)點讀取數(shù)據(jù);
[0011]步驟5當(dāng)寫請求的數(shù)據(jù)的多副本所在的所有數(shù)據(jù)節(jié)點都開啟時,所述寫請求的數(shù)據(jù)會寫入所有副本所在的數(shù)據(jù)節(jié)點,如果所述寫請求的數(shù)據(jù)是熱數(shù)據(jù),還會寫入所述緩存區(qū)的對應(yīng)的SSD節(jié)點;如果所述寫請求的數(shù)據(jù)的多副本所在的數(shù)據(jù)節(jié)點有部分關(guān)閉,對所述部分關(guān)閉的數(shù)據(jù)節(jié)點的所述寫請求就會被分為及時響應(yīng)的在線階段和后臺存儲的離線階段進(jìn)行處理。
[0012]進(jìn)一步地,本發(fā)明步驟4具體包括以下子步驟:
[0013](4-1)根據(jù)讀請求數(shù)據(jù)的ID或標(biāo)識,計算或查找其在緩存區(qū)所對應(yīng)的SSD節(jié)點,并將讀請求發(fā)送至該SSD節(jié)點;
[0014](4-2)接收SSD節(jié)點返回的結(jié)果,判斷返回的結(jié)果中是否有請求的數(shù)據(jù),是則執(zhí)行驟(4-3),否則執(zhí)行步驟(4-4);
[0015](4-3)從SSD節(jié)點返回的結(jié)果中獲取所請求的數(shù)據(jù)并返回給客戶端,流程結(jié)束;
[0016](4-4)判斷請求數(shù)據(jù)的副本所在的數(shù)據(jù)節(jié)點中是否有一個未關(guān)閉的,有則執(zhí)行步驟(4-5),否則執(zhí)行步驟(4-9);
[0017](4-5)將讀請求發(fā)送給一個未關(guān)閉的數(shù)據(jù)節(jié)點,然后執(zhí)行步驟(4-6);
[0018](4-6)從該數(shù)據(jù)節(jié)點返回的結(jié)果中獲取請求的數(shù)據(jù),然后返回給客戶端,執(zhí)行步驟(4-7);
[0019](4-7)根據(jù)熱點數(shù)據(jù)識別算法(例如,LRU、LFU或其他改進(jìn)算法)判斷該數(shù)據(jù)是否為熱數(shù)據(jù),是則執(zhí)行步驟(4-8),否則流程結(jié)束;
[0020](4-8)將該熱數(shù)據(jù)寫入緩存區(qū)中對應(yīng)的SSD節(jié)點,由于熱數(shù)據(jù)的訪問頻率非常高,若大部分請求能夠在SSD節(jié)點中處理,則對于整個系統(tǒng)性能的提升會有很大幫助。如果對應(yīng)SSD節(jié)點的空間已滿,則根據(jù)熱點數(shù)據(jù)識別算法(例如,LRU、LFU或其他改進(jìn)算法),選擇將部分相對熱度較低的數(shù)據(jù)淘汰后再寫入熱數(shù)據(jù),否則直接寫入熱數(shù)據(jù),流程結(jié)束;
[0021](4-9)市電補充供電,開啟數(shù)據(jù)副本所在的部分?jǐn)?shù)據(jù)節(jié)點(最節(jié)能的方式是只開啟I個),然后執(zhí)行步驟(4-4)。
[0022]更近一步地,本發(fā)明步驟5具體包括以下子步驟:
[0023](5-1)根據(jù)寫請求數(shù)據(jù)的ID或標(biāo)識,計算或查找所有數(shù)據(jù)副本所在的多個數(shù)據(jù)節(jié)點,然后執(zhí)行步驟(5-2);
[0024](5-2)判斷這些數(shù)據(jù)節(jié)點是否都處于開啟狀態(tài),是則執(zhí)行步驟(5-3),否則執(zhí)行步驟(5-7);
[0025](5-3)將寫請求分發(fā)至所有數(shù)據(jù)副本所在的多個數(shù)據(jù)節(jié)點,對該寫請求的處理不分階段,其處理流程遵循原有系統(tǒng)的流程,然后執(zhí)行步驟(5-4);
[0026](5-4)根據(jù)熱點數(shù)據(jù)識別算法(例如,LRU、LFU或其他改進(jìn)算法)判斷該數(shù)據(jù)是否為熱數(shù)據(jù),是則執(zhí)行步驟(5-5),否則執(zhí)行步驟(5-6);
[0027](5-5)根據(jù)寫請求數(shù)據(jù)的ID或標(biāo)識,計算或查找其在緩存區(qū)所對應(yīng)的SSD節(jié)點,并將熱數(shù)據(jù)寫入該SSD節(jié)點,由于熱數(shù)據(jù)的訪問頻率非常高,若大部分請求能夠在SSD節(jié)點中處理,則對于整個系統(tǒng)性能的提升會有很大幫助。如果對應(yīng)SSD節(jié)點的空間已滿,則根據(jù)熱點數(shù)據(jù)識別算法(例如,LRU、LFU或其他改進(jìn)算法),選擇將部分相對熱度較低的數(shù)據(jù)淘汰后再寫入熱數(shù)據(jù),否則直接寫入熱數(shù)據(jù),然后執(zhí)行步驟(5-6);
[0028](5-6)待分發(fā)的所有寫請求完成返回后,原寫請求完成并返回,流程結(jié)束;
[0029](5-7)將寫請求分發(fā)至未關(guān)閉的數(shù)據(jù)節(jié)點,對于關(guān)閉的數(shù)據(jù)節(jié)點,寫請求進(jìn)入在線階段處理:將該寫請求分發(fā)至緩存區(qū)中對應(yīng)的SSD節(jié)點和虛擬SSD,以匹配新能源供電能力較低的情況,然后執(zhí)行步驟(5-8);
[0030](5-8)待所有分發(fā)的寫請求完成返回后,原寫請求完成并返回,執(zhí)行步驟(5-9);
[0031](5-9)在步驟(5-8)中寫請求已經(jīng)成功返回給客戶端,但由于對關(guān)閉數(shù)據(jù)節(jié)點的寫請求只經(jīng)過在線階段處理,其數(shù)據(jù)是臨時緩存在緩存區(qū)中。在該存儲系統(tǒng)內(nèi)部,該部分臨時緩存的數(shù)據(jù)需要寫入到相應(yīng)的數(shù)據(jù)節(jié)點才是最可靠的,因此該部分寫請求還需要進(jìn)入后期的離線階段處理。待新能源供電能力上升,關(guān)閉的數(shù)據(jù)節(jié)點重新開啟后,關(guān)閉數(shù)據(jù)節(jié)點的寫請求進(jìn)入離線階段處理:將緩存區(qū)中臨時寫入的冷數(shù)據(jù)寫入到對應(yīng)開啟后的數(shù)據(jù)節(jié)點中。待數(shù)據(jù)寫入完成,客戶端寫請求最終完成,流程結(jié)束。
[0032]更近一步地,劃分所有數(shù)據(jù)節(jié)點中的空閑空間作為虛擬SSD添加到緩存區(qū)中,虛擬SSD采用寫日志的形式保存多個SSD節(jié)點中的臟數(shù)據(jù),虛擬SSD中的數(shù)據(jù)在相應(yīng)數(shù)據(jù)節(jié)點開啟后,將寫入到開啟后的數(shù)據(jù)節(jié)點中。
[0033]通過本發(fā)明所構(gòu)思的以上技術(shù)方案,與傳統(tǒng)方案相比,本發(fā)明具有以下的有益效果:
[0034](I)針對面向分布式環(huán)境下的應(yīng)用,利用SSD高速緩存技術(shù)將原在線寫請求劃分為2個階段,即在線階段和離線階段進(jìn)行處理的技術(shù)方案,以優(yōu)先匹配新能源為原則,使市電使用量得到縮減,使新能源的利用率最大化,能顯著的節(jié)能減排。為動態(tài)匹配新能源,數(shù)據(jù)節(jié)點的關(guān)閉會使對關(guān)閉數(shù)據(jù)節(jié)點的寫請求無法及時完成,但加入緩存區(qū)后,寫請求采用分階段處理,可以解決這個問題。其中,在線階段處理可以解決由于數(shù)據(jù)節(jié)點關(guān)閉而帶來的無法及時完成、返回請求的問題,且不影響、甚至可以提升整個系統(tǒng)的性能;離線階段處理可以滿足分布式存儲系統(tǒng)對數(shù)據(jù)可靠存儲(數(shù)據(jù)需寫入數(shù)據(jù)節(jié)點)的要求,該階段可以保證整個系統(tǒng)的可靠性。本發(fā)明配合有效的調(diào)度管理和緩存管理機制,使整體的可靠性、數(shù)據(jù)的完整性不受影響,還能在一定程度上優(yōu)化整個系統(tǒng)的性能。
[0035](2)傳統(tǒng)節(jié)能都是基于負(fù)載變化,高負(fù)載就開啟數(shù)據(jù)節(jié)點,低負(fù)載就關(guān)閉數(shù)據(jù)節(jié)點。本發(fā)明主要基于新能源,同時也考慮負(fù)載需要,通過切換數(shù)據(jù)節(jié)點的能耗狀態(tài)來動態(tài)匹配新能源。這兩個策略的結(jié)合使用可以更高效地減少能耗和利用新能源。
[0036](3)本發(fā)明不僅僅考慮性能需求和新能源的利用效率,而且兼顧系統(tǒng)的可靠性。為了保證SSD緩存中數(shù)據(jù)的可靠性,用所有數(shù)據(jù)節(jié)點上的空閑空間組成多個虛擬SSD,采用日志寫方式備份SSD中緩存的臟數(shù)據(jù),從而使得緩存數(shù)據(jù)也需要具有相同的容錯級別。即在虛擬SSD中也存放了多個副本,使得緩存數(shù)據(jù)與原數(shù)據(jù)系統(tǒng)具有相同的副本數(shù)目。
[0037](4)加入SSD緩存區(qū)的技術(shù)方案除了達(dá)到匹配新能源、適時降低數(shù)據(jù)節(jié)點負(fù)載的目的外,由于SSD相比磁盤有更好的性能,緩存區(qū)還能提升整個系統(tǒng)的性能。SSD用于加速系統(tǒng)性能,虛擬SSD用來保證SSD中數(shù)據(jù)的可靠性,這樣綜合了 SSD的高性能和磁盤陣列的低成本,以及高性能的日志寫入等優(yōu)勢,使系統(tǒng)有比較好的性價比。
[0038](5)本發(fā)明是一種兼顧能耗、性能、可靠性和運營開銷的方法。
【專利附圖】

【附圖說明】
[0039]圖1為本發(fā)明分布式存儲系統(tǒng)結(jié)構(gòu)示意圖;
[0040]圖2為本發(fā)明客戶端讀請求的處理流程圖;
[0041]圖3為本發(fā)明客戶端寫請求的處理流程圖;
[0042]圖4為本發(fā)明新能源供電能力不足時系統(tǒng)的狀態(tài)示意圖;
[0043]圖5為本發(fā)明新能源供電能力上升時系統(tǒng)的狀態(tài)示意圖;
[0044]圖6為本發(fā)明寫請求在現(xiàn)階段的處理流程圖。
【具體實施方式】
[0045]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
[0046]本發(fā)明的整體思路在于,在以新能源供電為主、市電供電為輔的多副本分布式存儲系統(tǒng)中,為了適應(yīng)數(shù)據(jù)節(jié)點隨新能源供電能力變化而動態(tài)開啟、關(guān)閉的特點,為分布式存儲系統(tǒng)添加有SSD節(jié)點在內(nèi)的緩存區(qū),并且將對關(guān)閉數(shù)據(jù)節(jié)點的不可延遲的及時請求劃分為兩個階段:低能耗的及時在線響應(yīng)階段和高能耗的后臺離線存儲階段,最終達(dá)到負(fù)載動態(tài)匹配新能源的目的。利用SSD緩存數(shù)據(jù)考慮了新能源的利用和系統(tǒng)的性能,再在緩存區(qū)中添加虛擬SSD,以日志形式記錄SSD的臟數(shù)據(jù),兼顧了系統(tǒng)的可靠性。
[0047]在本發(fā)明實施例中,分布式存儲系統(tǒng)以開源項目she印dog為例,系統(tǒng)中數(shù)據(jù)副本數(shù)量以3為例,但本發(fā)明不局限于該開源項目和所示例的數(shù)據(jù)副本數(shù)量。
[0048]本發(fā)明實施例的分布式存儲系統(tǒng)請求的處理方法,包括以下步驟:
[0049]步驟I在以新能源供電為主、市電供電為輔的動態(tài)匹配新能源的多副本分布式存儲系統(tǒng)中,添加部分以固態(tài)硬盤(SSD)為存儲介質(zhì)的SSD節(jié)點作為系統(tǒng)的緩存區(qū)。在本發(fā)明實施例中,SSD節(jié)點總存儲容量為數(shù)據(jù)節(jié)點總存儲容量的5%左右。對于緩存區(qū)節(jié)點的存儲介質(zhì),以SSD為優(yōu)選的,其他性能接近或優(yōu)于SSD的高速存儲器也可實現(xiàn)。
[0050]緩存區(qū)可適應(yīng)新能源供電不穩(wěn)定的特點,實現(xiàn)客戶端請求的分階段(在線階段和離線階段)處理,既可以臨時緩存寫入的冷數(shù)據(jù),實現(xiàn)負(fù)載動態(tài)匹配新能源的目的,又可以緩存數(shù)據(jù)節(jié)點中的熱數(shù)據(jù),以提升性能。數(shù)據(jù)節(jié)點用以存儲多副本數(shù)據(jù),劃分所有數(shù)據(jù)節(jié)點中的空閑空間作為虛擬SSD添加到緩存區(qū)中。[0051]本步驟的優(yōu)點在于:分布式存儲系統(tǒng)主要利用新能源供電,達(dá)到了顯著的節(jié)能減排的效果,同時也減小了整個系統(tǒng)的電力開銷;利用SSD相對于普通磁盤更具能耗、性能方面的優(yōu)勢,給整個系統(tǒng)提供了性能的保障及提升;SSD緩存實現(xiàn)了負(fù)載動態(tài)匹配新能源的目的,使新能源的利用率最大化;同時,采用虛擬SSD彌補了因關(guān)閉數(shù)據(jù)節(jié)點帶來的對系統(tǒng)可靠性的影響。
[0052]圖1所示為本發(fā)明分布式存儲系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,虛擬SSD和SSD節(jié)點同樣以分布式的方式共同作為整個分布式存儲系統(tǒng)的緩存區(qū),整個系統(tǒng)由新能源和市電共同供電。在系統(tǒng)工作期間,由于新能源供電不穩(wěn)定,為了保證整個存儲系統(tǒng)能夠持續(xù)穩(wěn)定的工作,不因新能源的不穩(wěn)定帶來額外的掉電故障,在新能源供電不足時,市電需要對整個系統(tǒng)及時進(jìn)行電力補充,在新能源供電能力上升時,市電的供應(yīng)可能要相應(yīng)減少,因此新能源和市電需要進(jìn)行不間斷轉(zhuǎn)換。整個系統(tǒng)接收來自客戶端的請求,當(dāng)請求在緩存區(qū)命中并可以直接返回時,客戶端請求完成并返回;當(dāng)沒有命中或需要在數(shù)據(jù)節(jié)點中完成請求處理時,客戶端請求會經(jīng)由數(shù)據(jù)節(jié)點處理后再返回。在系統(tǒng)工作期間,為適應(yīng)新能源不穩(wěn)定的特點,有些客戶端請求會分為在線階段(緩存區(qū)及時處理)和離線階段(緩存區(qū)數(shù)據(jù)寫入對應(yīng)數(shù)據(jù)節(jié)點)分別進(jìn)行處理。
[0053]步驟2數(shù)據(jù)節(jié)點動態(tài)地隨新能源供電能力的變化而開啟、關(guān)閉。在本發(fā)明實施例中,可以采用適應(yīng)于新能源預(yù)測的現(xiàn)有算法或改進(jìn)算法來決定數(shù)據(jù)節(jié)點的開啟、關(guān)閉。在新能源供電充足時,所有數(shù)據(jù)節(jié)點開啟提供正常服務(wù),同時將緩存區(qū)中的臟數(shù)據(jù)寫回到對應(yīng)數(shù)據(jù)節(jié)點中,將數(shù)據(jù)節(jié)點中的熱數(shù)據(jù)預(yù)取到對應(yīng)SSD節(jié)點中;在新能源供電不充足時,根據(jù)其供電能力選擇關(guān)閉部分?jǐn)?shù)據(jù)節(jié)點。在新能源的供電能力不能滿足整個分布式存儲系統(tǒng)的最低電力需求時,用市電來補充供電。市電的及時補充能夠保障整個系統(tǒng)的可用性和正常運行。但在任何情況下,不能關(guān)閉所有的數(shù)據(jù)節(jié)點,即整個系統(tǒng)至少保證部分?jǐn)?shù)據(jù)節(jié)點開啟以保障基本服務(wù),同時,SSD節(jié)點需要持續(xù)供電。
[0054]本步驟的優(yōu)點在于:關(guān)閉部分?jǐn)?shù)據(jù)節(jié)點以減少對市電的使用,可進(jìn)一步達(dá)到節(jié)能減排和減小開銷的作用。
[0055]步驟3負(fù)載動態(tài)匹配新能源。整個系統(tǒng)接收來自客戶端的請求,對于讀請求則執(zhí)行步驟4,對于寫請求則執(zhí)行步驟5。
[0056]步驟4當(dāng)請求的數(shù)據(jù)在緩存區(qū)中命中時,直接從緩存區(qū)中讀取即可(可以加快請求響應(yīng),提升系統(tǒng)性能);當(dāng)請求的數(shù)據(jù)在緩存中未命中時,從請求數(shù)據(jù)的多副本所在的任意一個未關(guān)閉的數(shù)據(jù)節(jié)點讀取即可;當(dāng)請求的數(shù)據(jù)在緩存中未命中并且沒有其多副本對應(yīng)的數(shù)據(jù)節(jié)點開啟時,需要喚醒其中一個副本所在的數(shù)據(jù)節(jié)點,然后從該數(shù)據(jù)節(jié)點讀取數(shù)據(jù)。
[0057]步驟5當(dāng)所有的數(shù)據(jù)副本所在的3個數(shù)據(jù)節(jié)點都開啟時,寫請求的數(shù)據(jù)會寫入這3個數(shù)據(jù)節(jié)點,如果該數(shù)據(jù)是熱數(shù)據(jù),還會寫入緩存區(qū)的某個SSD節(jié)點,根據(jù)所請求數(shù)據(jù)的ID通過哈希計算確定該SSD節(jié)點,熱數(shù)據(jù)寫入SSD節(jié)點可以為之后對于該數(shù)據(jù)的讀請求提供更好的性能;如果請求的數(shù)據(jù)副本所在的數(shù)據(jù)節(jié)點有部分關(guān)閉(假設(shè)有2個),為動態(tài)匹配新能源,對該部分關(guān)閉數(shù)據(jù)節(jié)點的寫請求就會被分為兩個階段處理:在線階段和離線階段。在線階段是低能耗的及時響應(yīng)階段,離線階段是高能耗的后臺存儲階段。
[0058]為了保障緩存區(qū)中SSD節(jié)點內(nèi)緩存數(shù)據(jù)的可靠性,即分布式存儲系統(tǒng)中數(shù)據(jù)多備份的特點,緩存區(qū)中虛擬SSD采用寫日志的形式保存多份SSD節(jié)點中的臟數(shù)據(jù)。虛擬SSD中的數(shù)據(jù)在相應(yīng)數(shù)據(jù)節(jié)點開啟后,將寫入到開啟后的數(shù)據(jù)節(jié)點。
[0059]本發(fā)明實施例中,添加的SSD節(jié)點中的數(shù)據(jù)組織方式既可以復(fù)用原分布式存儲系統(tǒng)中的數(shù)據(jù)組織方式,也可以使用其他分布式環(huán)境下的數(shù)據(jù)組織方式。
[0060]圖2所示為本發(fā)明步驟4中客戶端讀請求的處理流程圖,具體包括以下子步驟:
[0061](4-1)根據(jù)讀請求數(shù)據(jù)的ID或標(biāo)識,計算或查找其在緩存區(qū)所對應(yīng)的SSD節(jié)點,并將讀請求發(fā)送至該SSD節(jié)點,然后執(zhí)行步驟(4-2),在本發(fā)明實施例中,根據(jù)讀請求數(shù)據(jù)的ID通過哈希計算確定其對應(yīng)的SSD節(jié)點;
[0062](4-2)接收SSD節(jié)點返回的結(jié)果,判斷返回的結(jié)果中是否有請求的數(shù)據(jù),是則執(zhí)行驟(4-3),否則執(zhí)行步驟(4-4);
[0063](4-3)從SSD節(jié)點返回的結(jié)果中獲取所請求的數(shù)據(jù)并返回給客戶端,流程結(jié)束;
[0064](4-4)判斷請求數(shù)據(jù)的副本所在的數(shù)據(jù)節(jié)點中是否有一個未關(guān)閉的,有則執(zhí)行步驟(4-5),否則執(zhí)行步驟(4-9);
[0065](4-5)將讀請求發(fā)送給一個未關(guān)閉的數(shù)據(jù)節(jié)點,然后執(zhí)行步驟(4-6);
[0066](4-6)從該數(shù)據(jù)節(jié)點返回的結(jié)果中獲取請求的數(shù)據(jù),然后返回給客戶端,執(zhí)行步驟(4-7);
[0067](4-7)根據(jù)熱點數(shù)據(jù)識別算法(例如,LRU、LFU或其他改進(jìn)算法)判斷該讀請求數(shù)據(jù)是否為熱數(shù)據(jù),是則執(zhí)行步驟(4-8),否則流程結(jié)束;
[0068](4-8)將該熱數(shù)據(jù)寫入緩存區(qū)中對應(yīng)的SSD節(jié)點,由于熱數(shù)據(jù)的訪問頻率非常高,若大部分請求能夠在SSD節(jié)點中處理,則對于整個系統(tǒng)性能的提升會有很大幫助,在本發(fā)明實施例中,根據(jù)讀請求數(shù)據(jù)的ID通過哈希計算確定其對應(yīng)的SSD節(jié)點。如果對應(yīng)SSD節(jié)點的空間已滿,則根據(jù)熱點數(shù)據(jù)識別算法(例如,LRU、LFU或其他改進(jìn)算法),選擇將部分相對熱度較低的數(shù)據(jù)淘汰后再寫入熱數(shù)據(jù),否則直接寫入熱數(shù)據(jù),流程結(jié)束;
[0069](4-9)市電補充供電,開啟數(shù)據(jù)副本所在的部分?jǐn)?shù)據(jù)節(jié)點(最節(jié)能的方式是只開啟I個),然后執(zhí)行步驟(4-4)。
[0070]圖3為本發(fā)明步驟5中客戶端寫請求的處理流程圖,具體包括以下子步驟:
[0071](5-1)根據(jù)寫請求數(shù)據(jù)的ID或標(biāo)識,計算或查找其所有數(shù)據(jù)副本所在的3個數(shù)據(jù)節(jié)點,然后執(zhí)行步驟(5-2),在本發(fā)明實施例中,是根據(jù)請求數(shù)據(jù)對象的ID通過哈希計算確定其所有數(shù)據(jù)副本所在的3個數(shù)據(jù)節(jié)點;
[0072](5-2)判斷這些數(shù)據(jù)節(jié)點是否都處于開啟狀態(tài),是則執(zhí)行步驟(5-3),否則執(zhí)行步驟(5-7);
[0073](5-3)將寫請求分發(fā)至所有數(shù)據(jù)副本所在的3個數(shù)據(jù)節(jié)點,對該寫請求的處理不分階段,其處理流程遵循原有系統(tǒng)的流程,然后執(zhí)行步驟(5-4);
[0074](5-4)根據(jù)熱點數(shù)據(jù)識別算法(例如,LRU、LFU或其他改進(jìn)算法)判斷該寫請求數(shù)據(jù)是否為熱數(shù)據(jù),是則執(zhí)行步驟(5-5),否則執(zhí)行步驟(5-6);
[0075](5-5)將熱數(shù)據(jù)寫入緩存區(qū)中對應(yīng)的SSD節(jié)點,由于熱數(shù)據(jù)的訪問頻率非常高,若大部分請求能夠在SSD節(jié)點中處理,則對于整個系統(tǒng)性能的提升會有很大幫助,在本發(fā)明實施例中,根據(jù)請求數(shù)據(jù)的ID通過哈希計算確定其對應(yīng)的SSD節(jié)點。如果對應(yīng)SSD節(jié)點的空間已滿,則根據(jù)熱點數(shù)據(jù)識別算法(例如,LRU、LFU或其他改進(jìn)算法),選擇將部分相對熱度較低的數(shù)據(jù)淘汰后再寫入熱數(shù)據(jù),否則直接寫入熱數(shù)據(jù),然后執(zhí)行步驟(5-6);[0076](5-6)待分發(fā)的所有寫請求完成返回后,原寫請求完成并返回,流程結(jié)束;
[0077](5-7)將寫請求分發(fā)至未關(guān)閉的數(shù)據(jù)節(jié)點,對于關(guān)閉的數(shù)據(jù)節(jié)點,寫請求進(jìn)入在線階段處理:將該寫請求分發(fā)至緩存區(qū)中SSD節(jié)點和虛擬SSD,以匹配新能源供電能力較低的情況,然后執(zhí)行步驟(5-8);
[0078](5-8)待所有分發(fā)的寫請求完成返回后,原寫請求完成并返回,執(zhí)行步驟(5-9);
[0079](5-9)在步驟(5-8)中寫請求已經(jīng)成功返回給客戶端,但由于對關(guān)閉數(shù)據(jù)節(jié)點的寫請求只經(jīng)過在線階段處理,其數(shù)據(jù)是臨時緩存在緩存區(qū)中。在該存儲系統(tǒng)內(nèi)部,該部分臨時緩存的數(shù)據(jù)需要寫入到相應(yīng)的數(shù)據(jù)節(jié)點才是最可靠的,因此該部分寫請求還需要進(jìn)入后期的離線階段處理。待新能源供電能力上升,關(guān)閉的數(shù)據(jù)節(jié)點重新開啟后,關(guān)閉數(shù)據(jù)節(jié)點的寫請求進(jìn)入離線階段處理:將緩存區(qū)中臨時寫入的冷數(shù)據(jù)寫入到對應(yīng)開啟后的數(shù)據(jù)節(jié)點中。待數(shù)據(jù)寫入完成,客戶端寫請求最終完成,流程結(jié)束。
[0080]圖4所示為本發(fā)明新能源供電能力不足時系統(tǒng)的狀態(tài)示意圖,數(shù)據(jù)節(jié)點中有一些因為新能源電力供應(yīng)不足而關(guān)閉,關(guān)閉的數(shù)據(jù)節(jié)點在關(guān)閉期間不能處理請求,而開啟的數(shù)據(jù)節(jié)點對讀、寫請求,則可以正常進(jìn)行處理。當(dāng)系統(tǒng)處于這種情況時,仍然會有讀請求命中緩存區(qū)的熱數(shù)據(jù)可用存儲空間(即熱數(shù)據(jù)區(qū)),此時,讀請求就由緩存區(qū)的熱數(shù)據(jù)區(qū)處理完成,而冷數(shù)據(jù)可用存儲空間(即冷數(shù)據(jù)區(qū))只臨時緩存無法寫入到已關(guān)閉的數(shù)據(jù)節(jié)點的數(shù)據(jù)。圖4中虛線箭頭表示這些寫請求因為數(shù)據(jù)節(jié)點關(guān)閉而不能直接寫入數(shù)據(jù)節(jié)點,因此只能分階段先進(jìn)入在線階段處理,該在線階段由于在緩存區(qū)中完成,速度快,是及時響應(yīng)。
[0081]圖5所示為本發(fā)明新能源供電能力上升時系統(tǒng)的狀態(tài)示意圖。當(dāng)整個系統(tǒng)處于該狀態(tài)時,開啟的數(shù)據(jù)節(jié)點可以正常處理讀、寫請求,在熱數(shù)據(jù)區(qū)命中的讀請求可以由熱數(shù)據(jù)區(qū)處理。由于仍然有一小部分?jǐn)?shù)據(jù)節(jié)點處理關(guān)閉狀態(tài),對關(guān)閉的數(shù)據(jù)節(jié)點的寫請求會先進(jìn)入在線階段進(jìn)行處理,等待其重新開啟之后,再進(jìn)入離線階段進(jìn)行處理。
[0082]如圖5所示,相較于圖4中的數(shù)據(jù)節(jié)點,在新能源電力供應(yīng)提升之后,有部分關(guān)閉的數(shù)據(jù)節(jié)點重新開啟,成為了開啟的數(shù)據(jù)節(jié)點,緩存區(qū)與重新開啟的數(shù)據(jù)節(jié)點之間會有進(jìn)入離線階段處理的寫請求,這是后臺的存儲階段,該階段完成后,原客戶端的寫請求在系統(tǒng)內(nèi)部才算正式處理完畢,以匹配新能源供電能力提升的情況。SSD節(jié)點由此而空閑出來的存儲空間可以作為熱數(shù)據(jù)存儲的空間,如圖5中緩存區(qū)里向右的箭頭所示,寫請求的離線階段處理完畢后,冷數(shù)據(jù)區(qū)多了一部分空閑空間(即SSD節(jié)點空閑出來的空間),該部分空間可以給熱數(shù)據(jù)區(qū)使用,由此,熱數(shù)據(jù)區(qū)會變大,冷數(shù)據(jù)區(qū)會變小。
[0083]圖6所示為本發(fā)明子步驟(5-7)中寫請求在現(xiàn)階段處理的流程圖,具體包括以下子步驟:
[0084](5-7-1)判斷數(shù)據(jù)副本所在的數(shù)據(jù)節(jié)點中處于關(guān)閉狀態(tài)的數(shù)量m是否大于1,是(假設(shè)為2)則執(zhí)行步驟(5-7-2),否則執(zhí)行步驟(5-7-3);
[0085](5-7-2)將m — I個寫請求發(fā)送至緩存區(qū)中虛擬SSD,該虛擬SSD所在的數(shù)據(jù)節(jié)點是開啟的數(shù)據(jù)節(jié)點,并且,不是數(shù)據(jù)副本原本所在的數(shù)據(jù)節(jié)點,以保證數(shù)據(jù)副本和數(shù)據(jù)緩存的副本不在同一個數(shù)據(jù)節(jié)點上,以免影響數(shù)據(jù)可靠性,然后執(zhí)行步驟(5-7-3);
[0086](5-7-3)根據(jù)請求數(shù)據(jù)的ID或標(biāo)識,計算或查找其在緩存區(qū)所對應(yīng)的SSD節(jié)點,在本發(fā)明實施例中,是根據(jù)數(shù)據(jù)對象的ID通過哈希計算確定其對應(yīng)的SSD節(jié)點,將I個寫請求發(fā)送至該SSD節(jié)點,即只要有請求的數(shù)據(jù)副本所在的數(shù)據(jù)節(jié)點有I個及以上關(guān)閉,都會緩存一份數(shù)據(jù)在SSD節(jié)點中,并且只緩存一份,主要是為了最大化利用SSD節(jié)點的空間,同時可以提升系統(tǒng)性能,然后執(zhí)行步驟(5-7-4);
[0087](5-7-4)在本發(fā)明實施例中,冷數(shù)據(jù)區(qū)和熱數(shù)據(jù)區(qū)共同構(gòu)成SSD節(jié)點的總存儲空間,冷數(shù)據(jù)區(qū)大小可變但有上限,其上限為定值,該上限的確定方式不限定,例如,可以根據(jù)關(guān)閉數(shù)據(jù)節(jié)點所占的比例確定,也可以結(jié)合考慮讀、寫請求的比例確定,這是為了保證一定量的熱數(shù)據(jù)區(qū),從而保障整個系統(tǒng)的性能。判斷冷數(shù)據(jù)區(qū)是否達(dá)到上限且已滿,是則執(zhí)行步驟(5-7-5),否則判斷冷數(shù)據(jù)區(qū)是否未達(dá)上限且已滿,是則執(zhí)行步驟(5-7-6),否則執(zhí)行步驟(5-7-7);
[0088](5-7-5)根據(jù)淘汰算法(例如,LRU、LFU或其他改進(jìn)算法),從冷數(shù)據(jù)中選擇部分臟數(shù)據(jù)進(jìn)行淘汰,因為冷數(shù)據(jù)區(qū)中的數(shù)據(jù)都是由于數(shù)據(jù)節(jié)點關(guān)閉而臨時緩存的,此時需要用市電補充供電,開啟相應(yīng)的關(guān)閉數(shù)據(jù)節(jié)點,然后將淘汰的臟數(shù)據(jù)寫入到開啟后的數(shù)據(jù)節(jié)點。完成數(shù)據(jù)淘汰、寫入后進(jìn)入步驟(5-7-7);
[0089](5-7-6)縮小熱數(shù)據(jù)區(qū),擴大冷數(shù)據(jù)區(qū),擴大后的冷數(shù)據(jù)區(qū)不超過其上限,需要擴大的空間大小可以根據(jù)當(dāng)前關(guān)閉數(shù)據(jù)節(jié)點的數(shù)量占總數(shù)據(jù)節(jié)點數(shù)量的比例來決定。當(dāng)熱數(shù)據(jù)區(qū)已滿,或者需要縮小的空間大小大于當(dāng)前熱數(shù)據(jù)區(qū)剩下的空閑空間大小,則需要從熱數(shù)據(jù)中選擇部分相對熱度較低的數(shù)據(jù)進(jìn)行淘汰,根據(jù)例如LRU、LFU或其他改進(jìn)淘汰算法確定需要淘汰的數(shù)據(jù),淘汰數(shù)據(jù)的空間大小等于需要縮小的空間大小減去當(dāng)前熱數(shù)據(jù)區(qū)剩下的空閑空間大小??臻g大小調(diào)整完畢后,執(zhí)行步驟(5-7-7);
[0090](5-7-7)將寫請求的數(shù)據(jù)臨時寫入到SSD節(jié)點中的冷數(shù)據(jù)區(qū)后,流程結(jié)束。根據(jù)熱點數(shù)據(jù)識別算法,寫入的數(shù)據(jù)(臟數(shù)據(jù))有可能也是熱數(shù)據(jù),那么在對應(yīng)數(shù)據(jù)節(jié)點開啟后,寫入的臟數(shù)據(jù)完成數(shù)據(jù)同步后可以進(jìn)入熱點數(shù)據(jù)區(qū),這樣可以減少SSD節(jié)點與數(shù)據(jù)節(jié)點之間的數(shù)據(jù)流量。
[0091]本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種分布式存儲系統(tǒng)請求的處理方法,其特征在于,包括以下步驟: 步驟I在以新能源供電為主、市電供電為輔的多副本分布式存儲系統(tǒng)中,添加部分以固態(tài)硬盤為存儲介質(zhì)的SSD節(jié)點作為所述分布式存儲系統(tǒng)的緩存區(qū); 步驟2根據(jù)所述新能源供電能力的變化動態(tài)地開啟和關(guān)閉所述分布式存儲系統(tǒng)的數(shù)據(jù)節(jié)點,在所述新能源供電充足時,開啟所有數(shù)據(jù)節(jié)點以提供正常服務(wù),同時將所述緩存區(qū)中的臟數(shù)據(jù)寫回到對應(yīng)數(shù)據(jù)節(jié)點中,將所述數(shù)據(jù)節(jié)點中的熱數(shù)據(jù)預(yù)取到對應(yīng)SSD節(jié)點中,在所述新能源供電不充足時,根據(jù)其供電能力選擇關(guān)閉部分?jǐn)?shù)據(jù)節(jié)點,在所述新能源供電能力不能滿足所述分布式存儲系統(tǒng)的最低電力需求時,用所述市電供電來進(jìn)行補充,在任何情況下均不能關(guān)閉所有的數(shù)據(jù)節(jié)點,且所述SSD節(jié)點需要持續(xù)供電; 步驟3所述分布式存儲系統(tǒng)接收來自客戶端的請求,對于讀請求則執(zhí)行步驟4,對于寫請求則執(zhí)行步驟5 ; 步驟4當(dāng)所述讀請求的數(shù)據(jù)在所述緩存區(qū)命中時,直接從所述緩存區(qū)中讀取即可;當(dāng)所述讀請求的數(shù)據(jù)不在所述緩存區(qū)命中時,從所述讀請求的數(shù)據(jù)的多副本所在的任意一個未關(guān)閉的數(shù)據(jù) 節(jié)點讀取即可;當(dāng)所述讀請求的數(shù)據(jù)不在所述緩存區(qū)命中并且其多副本沒有對應(yīng)的數(shù)據(jù)節(jié)點開啟時,喚醒其中一個副本所在的數(shù)據(jù)節(jié)點,然后從所述副本所在的數(shù)據(jù)節(jié)點讀取數(shù)據(jù); 步驟5當(dāng)所述寫請求的數(shù)據(jù)的多副本所在的所有數(shù)據(jù)節(jié)點都開啟時,所述寫請求的數(shù)據(jù)會寫入所有副本所在的數(shù)據(jù)節(jié)點,如果所述寫請求的數(shù)據(jù)是熱數(shù)據(jù),還會寫入所述緩存區(qū)的對應(yīng)的SSD節(jié)點;如果所述寫請求的數(shù)據(jù)的多副本所在的數(shù)據(jù)節(jié)點有部分關(guān)閉,對所述部分關(guān)閉的數(shù)據(jù)節(jié)點的所述寫請求就會被分為及時響應(yīng)的在線階段和后臺存儲的離線階段進(jìn)行處理。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟4具體包括以下子步驟: (4-1)根據(jù)所述讀請求的數(shù)據(jù)的ID或標(biāo)識,計算或查找其在所述緩存區(qū)所對應(yīng)的SSD節(jié)點,并將所述讀請求發(fā)送至所述對應(yīng)的SSD節(jié)點,然后執(zhí)行步驟(4-2); (4-2)接收所述對應(yīng)的SSD節(jié)點返回的結(jié)果,判斷所述返回的結(jié)果中是否有所述讀請求的數(shù)據(jù),是則執(zhí)行驟(4-3),否則執(zhí)行步驟(4-4); (4-3)從所述返回的結(jié)果中獲取所述讀請求的數(shù)據(jù)并返回給所述客戶端,流程結(jié)束;(4-4)判斷所述讀請求的數(shù)據(jù)的副本所在的數(shù)據(jù)節(jié)點中是否有一個未關(guān)閉的,有則執(zhí)行步驟(4-5),否則執(zhí)行步驟(4-9); (4-5)將所述讀請求發(fā)送給一個未關(guān)閉的數(shù)據(jù)節(jié)點,然后執(zhí)行步驟(4-6); (4-6)從所述未關(guān)閉的數(shù)據(jù)節(jié)點返回的結(jié)果中獲取所述讀請求的數(shù)據(jù)并返回給所述客戶端,執(zhí)行步驟(4-7); (4-7)根據(jù)熱點數(shù)據(jù)識別算法判斷所述讀請求的數(shù)據(jù)是否為熱數(shù)據(jù),是則執(zhí)行步驟(4-8),否則流程結(jié)束; (4-8)將所述熱數(shù)據(jù)寫入所述緩存區(qū)中所述對應(yīng)的SSD節(jié)點,如果所述對應(yīng)的SSD節(jié)點的空間已滿,則根據(jù)所述熱點數(shù)據(jù)識別算法,將部分相對熱度較低的數(shù)據(jù)淘汰后再寫入,否則直接寫入所述熱數(shù)據(jù),流程結(jié)束; (4-9)所述市電補充供電,開啟所述請求的數(shù)據(jù)的副本所在的部分?jǐn)?shù)據(jù)節(jié)點,然后執(zhí)行步驟(4-4)。
3.如權(quán)利要求1所述的方法,其特征在于,劃分所有數(shù)據(jù)節(jié)點中的空閑空間作為虛擬SSD添加到所述緩存區(qū)中。
4.如權(quán)利要求3所述的方法,其特征在于,所述步驟5具體包括以下子步驟: (5-1)根據(jù)所述寫請求的數(shù)據(jù)的ID或標(biāo)識,計算或查找所述寫請求的所有數(shù)據(jù)副本所在的多個數(shù)據(jù)節(jié)點,然后執(zhí)行步驟(5-2); (5-2)判斷所述多個數(shù)據(jù)節(jié)點是否都處于開啟狀態(tài),是則執(zhí)行步驟(5-3),否則執(zhí)行步驟(5-7); (5-3)將所述寫請求分發(fā)至所有數(shù)據(jù)副本所在的所述多個數(shù)據(jù)節(jié)點,對所述寫請求的處理不分階段,其處理流程遵循所述分布式存儲系統(tǒng)原有的流程,然后執(zhí)行步驟(5-4);(5-4)根據(jù)熱點數(shù)據(jù)識別算法判斷所述寫請求的數(shù)據(jù)是否為熱數(shù)據(jù),是則執(zhí)行步驟(5-5),否則執(zhí)行步驟(5-6); (5-5)根據(jù)所述寫請求的數(shù)據(jù)的ID或標(biāo)識,計算或查找其在所述緩存區(qū)所對應(yīng)的SSD節(jié)點,并將所述熱數(shù)據(jù)寫入所述對應(yīng)的SSD節(jié)點,如果所述對應(yīng)的SSD節(jié)點的空間已滿,則根據(jù)所述熱點數(shù)據(jù)識別算法,將部分相對熱度較低的數(shù)據(jù)淘汰后再寫入,否則直接寫入所述熱數(shù)據(jù),然后執(zhí)行步驟(5-6); (5-6)待分發(fā)的所有寫請求完成返回后,所述寫請求完成并返回,流程結(jié)束; (5-7)將所述寫請求分發(fā)至未關(guān)閉的數(shù)據(jù)節(jié)點,對于關(guān)閉的數(shù)據(jù)節(jié)點,所述寫請求進(jìn)入在線階段處理:將所述 寫請求分發(fā)至所述緩存區(qū)中的相應(yīng)的SSD節(jié)點和相應(yīng)的虛擬SSD,然后執(zhí)行步驟(5-8); (5-8)待所有分發(fā)的寫請求完成返回后,所述寫請求完成并返回,執(zhí)行步驟(5-9);(5-9)待所述新能源供電能力上升,所述關(guān)閉的數(shù)據(jù)節(jié)點重新開啟后,對所述關(guān)閉的數(shù)據(jù)節(jié)點的所述寫請求進(jìn)入離線階段處理:將所述緩存區(qū)中臨時寫入的冷數(shù)據(jù)寫入到對應(yīng)開啟后的數(shù)據(jù)節(jié)點中,寫入完成后所述客戶端的所述寫請求最終完成,流程結(jié)束。
5.如權(quán)利要求4所述的方法,其特征在于,所述子步驟(5-7)中所述寫請求的所述在現(xiàn)階段處理具體包括以下子步驟: (5-7-1)判斷所述所有數(shù)據(jù)副本所在的所述多個數(shù)據(jù)節(jié)點中處于關(guān)閉狀態(tài)的數(shù)量m是否大于I,是則執(zhí)行步驟(5-7-2),否則執(zhí)行步驟(5-7-3); (5-7-2)將m — I個所述寫請求發(fā)送至所述緩存區(qū)中的所述相應(yīng)的虛擬SSD,其所在的數(shù)據(jù)節(jié)點是開啟的數(shù)據(jù)節(jié)點,并且不是所述數(shù)據(jù)副本原本所在的數(shù)據(jù)節(jié)點,然后執(zhí)行步驟(5-7-3); (5-7-3)根據(jù)所述寫請求的數(shù)據(jù)的ID或標(biāo)識,計算或查找其在所述緩存區(qū)的所述相應(yīng)的SSD節(jié)點,將I個所述寫請求發(fā)送至所述相應(yīng)的SSD節(jié)點,然后執(zhí)行步驟(5-7-4); (5-7-4)判斷冷數(shù)據(jù)區(qū)是否達(dá)到上限且已滿,是則執(zhí)行步驟(5-7-5),否則判斷所述冷數(shù)據(jù)區(qū)是否未達(dá)上限且已滿,是則執(zhí)行步驟(5-7-6),否則執(zhí)行步驟(5-7-7),其中,所述冷數(shù)據(jù)區(qū)為無法寫入到已關(guān)閉的數(shù)據(jù)節(jié)點的冷數(shù)據(jù)的臨時緩存; (5-7-5)根據(jù)淘汰算法,從所述冷數(shù)據(jù)中選擇部分臟數(shù)據(jù)進(jìn)行淘汰,用所述市電補充供電,開啟相應(yīng)的已關(guān)閉的數(shù)據(jù)節(jié)點,然后將淘汰的所述臟數(shù)據(jù)寫入到開啟后的數(shù)據(jù)節(jié)點,進(jìn)入步驟(5-7-7); (5-7-6)縮小熱數(shù)據(jù)區(qū),擴大所述冷數(shù)據(jù)區(qū),其中所述熱數(shù)據(jù)區(qū)和所述冷數(shù)據(jù)區(qū)共同構(gòu)成所述SSD節(jié)點的總存儲空間,擴大后的所述冷數(shù)據(jù)區(qū)不超過其上限,需要擴大的空間大小可以根據(jù)當(dāng)前關(guān)閉數(shù)據(jù)節(jié)點的數(shù)量占總數(shù)據(jù)節(jié)點數(shù)量的比例來決定,當(dāng)所述熱數(shù)據(jù)區(qū)已滿,或者需要縮小的空間大小大于當(dāng)前熱數(shù)據(jù)區(qū)剩下的空閑空間大小,則需要根據(jù)所述淘汰算法從所述熱數(shù)據(jù)中選擇部分相對熱度較低的數(shù)據(jù)進(jìn)行淘汰,淘汰數(shù)據(jù)的空間大小等于所述需要縮小的空間大小減去當(dāng)前熱數(shù)據(jù)區(qū)剩下的所述空閑空間大小,調(diào)整完畢后執(zhí)行步驟(5-7-7); (5-7-7)將所述寫請求的數(shù)據(jù)臨時寫入到所述相應(yīng)的SSD節(jié)點中的所述冷數(shù)據(jù)區(qū)后,流程結(jié)束。
6.如權(quán)利要求3所述的方法,其特征在于,所述虛擬SSD采用寫日志的形式保存多個SSD節(jié)點中的臟數(shù)據(jù),所述虛擬SSD中的數(shù)據(jù)在相應(yīng)數(shù)據(jù)節(jié)點開啟后,將寫入到開啟后的數(shù)據(jù)節(jié)點 中。
【文檔編號】G06F13/16GK104008075SQ201410225095
【公開日】2014年8月27日 申請日期:2014年5月26日 優(yōu)先權(quán)日:2014年5月26日
【發(fā)明者】萬繼光, 曾思望, 謝長生, 譚志虎, 瞿曉陽, 方協(xié)云 申請人:華中科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
香格里拉县| 谷城县| 苍梧县| 水城县| 弥勒县| 驻马店市| 徐水县| 八宿县| 和平区| 沛县| 鲁甸县| 莎车县| 富川| 北京市| 多伦县| 平罗县| 墨竹工卡县| 建宁县| 鹰潭市| 太谷县| 贵州省| 南康市| 大方县| 疏附县| 昌黎县| 台州市| 镇原县| 库车县| 高州市| 浦县| 罗田县| 全州县| 濮阳县| 青州市| 长海县| 班戈县| 山阳县| 乌兰浩特市| 巨鹿县| 伊金霍洛旗| 霞浦县|