本發(fā)明涉及分布式系統(tǒng)技術(shù)領(lǐng)域,特別是涉及一種分布式存儲(chǔ)系統(tǒng)功耗管理方法及裝置。
背景技術(shù):
隨著大數(shù)據(jù)時(shí)代的到來,數(shù)據(jù)量呈現(xiàn)爆發(fā)式的增長(zhǎng),全球信息量幾乎呈指數(shù)形式增長(zhǎng),如此海量的數(shù)據(jù),對(duì)數(shù)據(jù)存儲(chǔ)設(shè)施的要求越來越高。因此在當(dāng)前形勢(shì)下,各大機(jī)構(gòu)及企業(yè)紛紛建立自己的數(shù)據(jù)中心,以保證自身數(shù)據(jù)的安全和獲取數(shù)據(jù)的效率。比如金融、醫(yī)療、視頻監(jiān)控等領(lǐng)域。
隨著存儲(chǔ)設(shè)施規(guī)模的不斷擴(kuò)大,數(shù)據(jù)中心的能耗問題變得日益突出。對(duì)于數(shù)據(jù)中心來說,設(shè)備的供電與冷卻已成為(已經(jīng)是)數(shù)據(jù)中心建成后最大的經(jīng)濟(jì)支出;另一方面,數(shù)據(jù)中心對(duì)能源驚人的消耗量,在提倡節(jié)能減排和保護(hù)環(huán)境的今天,是絕對(duì)不容忽視的。然而,在實(shí)際使用過程中,如此巨大的能源消耗其實(shí)利用效率非常低,也就是說真正用于響應(yīng)用戶請(qǐng)求所消耗的電量,只是其中很小的一部分,據(jù)統(tǒng)計(jì),數(shù)據(jù)中心的耗電量已占到全球用電總量的1.2%~1.5%,而真正用于服務(wù)請(qǐng)求的能耗卻只占到6%~10%。
存儲(chǔ)系統(tǒng)的能源消耗一直是數(shù)據(jù)中心能耗的最大來源,且隨著數(shù)據(jù)量的增長(zhǎng)而增長(zhǎng),已全面超過了計(jì)算和網(wǎng)絡(luò)方面能耗。因此,減少存儲(chǔ)系統(tǒng)的能耗,對(duì)數(shù)據(jù)中心的節(jié)能減排具有非常重要的意義。
近年來,分布式存儲(chǔ)系統(tǒng)得到了迅速的發(fā)展和廣泛的應(yīng)用。它具有高性能、高可靠性及高擴(kuò)展性的特點(diǎn),已經(jīng)被廣泛應(yīng)用為大規(guī)模的存儲(chǔ)后端。因此基于分布式存儲(chǔ)節(jié)能技術(shù)的研究有著很高的實(shí)際意義。
技術(shù)實(shí)現(xiàn)要素:
鑒于此,本發(fā)明提供一種分布式存儲(chǔ)系統(tǒng)功耗管理方法及裝置,實(shí)現(xiàn)了節(jié)省存儲(chǔ)系統(tǒng)的能源消耗。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種分布式存儲(chǔ)系統(tǒng)功耗管理方法,包括:
收集存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù);
根據(jù)收集的各項(xiàng)負(fù)載運(yùn)行參數(shù)計(jì)算出負(fù)載參數(shù),將所述負(fù)載參數(shù)與功耗級(jí)別中預(yù)設(shè)的負(fù)載閾值比較,確定所述存儲(chǔ)系統(tǒng)當(dāng)前的實(shí)際負(fù)載所處的功耗級(jí)別;
判斷所確定的該功耗級(jí)別與所述存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別是否一致,若否,則根據(jù)所確定的該功耗級(jí)別的定義,控制所述存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行,所述存儲(chǔ)系統(tǒng)以節(jié)點(diǎn)為單位,劃分為與數(shù)據(jù)副本數(shù)量相等數(shù)量的功耗組。
可選地,若所確定的該功耗級(jí)別與所述存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別不一致,則根據(jù)所確定的該功耗級(jí)別的定義,控制所述存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行包括:
若所確定的該功耗級(jí)別與所述存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別不一致,則根據(jù)計(jì)時(shí)時(shí)間,當(dāng)距離采集所述存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù)的時(shí)刻經(jīng)歷的時(shí)間等于第一閾值時(shí)間時(shí),按照該功耗級(jí)別的定義,控制所述存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行。
可選地,還包括:
當(dāng)監(jiān)測(cè)到所述存儲(chǔ)系統(tǒng)處于低負(fù)載運(yùn)行的時(shí)長(zhǎng)超過第二閾值時(shí)間時(shí),控制所述存儲(chǔ)系統(tǒng)切換至比當(dāng)前確定的功耗級(jí)別高預(yù)設(shè)數(shù)量級(jí)的功耗級(jí)別,具體為控制所述存儲(chǔ)系統(tǒng)中與比當(dāng)前確定的功耗級(jí)別高預(yù)設(shè)數(shù)量級(jí)的功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行。
可選地,控制所述存儲(chǔ)系統(tǒng)中功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行包括:
通過向所述功耗組內(nèi)的節(jié)點(diǎn)發(fā)送睡眠操作指令,控制所述節(jié)點(diǎn)處于睡眠狀態(tài);
通過向所述功耗組內(nèi)的節(jié)點(diǎn)發(fā)送喚醒指令,控制所述節(jié)點(diǎn)處于正常工作狀態(tài)。
可選地,還包括:對(duì)于每一功耗級(jí)別,對(duì)數(shù)據(jù)副本放置位置進(jìn)行優(yōu)化,以使每一功耗組中至少包含一份數(shù)據(jù)副本。
一種分布式存儲(chǔ)系統(tǒng)功耗管理裝置,包括:
收集模塊,用于收集存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù);
判定模塊,用于根據(jù)收集的各項(xiàng)負(fù)載運(yùn)行參數(shù)計(jì)算出負(fù)載參數(shù),將所述負(fù)載參數(shù)與功耗級(jí)別中預(yù)設(shè)的負(fù)載閾值比較,確定所述存儲(chǔ)系統(tǒng)當(dāng)前的實(shí)際負(fù)載所處的功耗級(jí)別;
判斷模塊,用于判斷所確定的該功耗級(jí)別與所述存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別是否一致;
調(diào)整模塊,用于若所確定的該功耗級(jí)別與所述存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別不一致,則根據(jù)所確定的該功耗級(jí)別的定義,控制所述存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行,所述存儲(chǔ)系統(tǒng)以節(jié)點(diǎn)為單位,劃分為與數(shù)據(jù)副本數(shù)量相等數(shù)量的功耗組。
可選地,所述調(diào)整模塊具體用于,若所確定的該功耗級(jí)別與所述存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別不一致,則根據(jù)計(jì)時(shí)時(shí)間,當(dāng)距離采集所述存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù)的時(shí)刻經(jīng)歷的時(shí)間等于第一閾值時(shí)間時(shí),按照該功耗級(jí)別的定義,控制所述存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行。
可選地,所述調(diào)整模塊還具體用于,
當(dāng)監(jiān)測(cè)到所述存儲(chǔ)系統(tǒng)處于低負(fù)載運(yùn)行的時(shí)長(zhǎng)超過第二閾值時(shí)間時(shí),控制所述存儲(chǔ)系統(tǒng)切換至比當(dāng)前確定的功耗級(jí)別高預(yù)設(shè)數(shù)量級(jí)的功耗級(jí)別,具體為控制所述存儲(chǔ)系統(tǒng)中與比當(dāng)前確定的功耗級(jí)別高預(yù)設(shè)數(shù)量級(jí)的功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行。
可選地,所述調(diào)整模塊用于控制所述存儲(chǔ)系統(tǒng)中功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行包括:
所述調(diào)整模塊具體用于通過向所述功耗組內(nèi)的節(jié)點(diǎn)發(fā)送睡眠操作指令,控制所述節(jié)點(diǎn)處于睡眠狀態(tài);
通過向所述功耗組內(nèi)的節(jié)點(diǎn)發(fā)送喚醒指令,控制所述節(jié)點(diǎn)處于正常工作狀態(tài)。
可選地,還包括:
位置優(yōu)化模塊,用于對(duì)于每一功耗級(jí)別,對(duì)數(shù)據(jù)副本放置位置進(jìn)行優(yōu)化,以使每一功耗組中至少包含一份數(shù)據(jù)副本。
由上述技術(shù)方案可知,本發(fā)明所提供的分布式存儲(chǔ)系統(tǒng)功耗管理方法及裝置,在存儲(chǔ)系統(tǒng)運(yùn)行中,收集存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù),然后根據(jù)各項(xiàng)負(fù)載運(yùn)行參數(shù)計(jì)算出負(fù)載參數(shù),將計(jì)算得到的負(fù)載參數(shù)與功耗級(jí)別中預(yù)設(shè)的負(fù)載閾值比較,來確定出存儲(chǔ)系統(tǒng)當(dāng)前的實(shí)際負(fù)載所處的功耗級(jí)別,進(jìn)一步當(dāng)判斷所確定的該功耗級(jí)別與存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別不一致時(shí),根據(jù)所確定的該功耗級(jí)別的定義控制存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行。
本發(fā)明分布式存儲(chǔ)系統(tǒng)功耗管理方法及裝置,對(duì)存儲(chǔ)系統(tǒng)運(yùn)行劃分功耗級(jí)別,每一功耗級(jí)別中定義相應(yīng)數(shù)量的功耗組,在存儲(chǔ)系統(tǒng)運(yùn)行過程中通過監(jiān)測(cè)存儲(chǔ)系統(tǒng)的運(yùn)行負(fù)載,當(dāng)存儲(chǔ)系統(tǒng)實(shí)際負(fù)載所處的功耗級(jí)別與當(dāng)前設(shè)定的功耗級(jí)別不一致時(shí),進(jìn)行功耗級(jí)別切換,控制存儲(chǔ)系統(tǒng)中與實(shí)際負(fù)載所確定的功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行,從而減少存儲(chǔ)系統(tǒng)中不必要的功耗,實(shí)現(xiàn)了節(jié)省存儲(chǔ)系統(tǒng)的能源消耗。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種分布式存儲(chǔ)系統(tǒng)功耗管理方法的流程圖;
圖2為本發(fā)明實(shí)施例中在分布式存儲(chǔ)系統(tǒng)運(yùn)行中進(jìn)行功耗管理的流程圖;
圖3為本發(fā)明實(shí)施例提供的一種分布式存儲(chǔ)系統(tǒng)功耗管理裝置的示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參考圖1,本發(fā)明實(shí)施例提供的一種分布式存儲(chǔ)系統(tǒng)功耗管理方法,包括以下步驟:
s10:收集存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù)。
在分布式存儲(chǔ)系統(tǒng)運(yùn)行過程中,收集存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù)。
在具體實(shí)施時(shí),收集的各項(xiàng)負(fù)載運(yùn)行參數(shù)包括存儲(chǔ)系統(tǒng)每秒進(jìn)行讀寫(i/o)操作的次數(shù)(input/outputoperationspersecond,iops),以及讀寫帶寬。
本分布式存儲(chǔ)系統(tǒng)功耗管理方法應(yīng)用于采用副本保護(hù)策略的分布式存儲(chǔ)系統(tǒng)中。
在本方法中,對(duì)分布式存儲(chǔ)系統(tǒng)進(jìn)行功耗分級(jí),功耗級(jí)別的分級(jí)個(gè)數(shù)與數(shù)據(jù)副本數(shù)量相等,具體為將存儲(chǔ)系統(tǒng)以節(jié)點(diǎn)為單位,劃分為與數(shù)據(jù)副本數(shù)量相等數(shù)量的功耗組。功耗級(jí)別的定義為:假設(shè)副本數(shù)量為m,最高功耗級(jí)別對(duì)應(yīng)包含m個(gè)功耗組,功耗級(jí)別每降低一級(jí),所包含的功耗組減少一組;最低功耗級(jí)別對(duì)應(yīng)包含一個(gè)功耗組。一個(gè)功耗組內(nèi)包含若干個(gè)節(jié)點(diǎn)。
其中,處于最低功耗級(jí)別時(shí),對(duì)應(yīng)包含一個(gè)功耗組,只有一個(gè)功耗組節(jié)點(diǎn)可用,通過該一個(gè)功耗組節(jié)點(diǎn)要保證所有數(shù)據(jù)可用。
處于最高功耗級(jí)別時(shí),所有節(jié)點(diǎn)全部工作,此時(shí)存儲(chǔ)系統(tǒng)具有較高的性能。
本實(shí)施例分布式存儲(chǔ)系統(tǒng)中,在副本狀態(tài)下,讀操作只需要一次,寫操作需要同時(shí)寫成多個(gè)副本。另外,隨機(jī)讀寫操作與順序讀寫操作在iops與帶寬上也有不同的特點(diǎn)。因此在劃分功耗級(jí)別設(shè)置負(fù)載閾值時(shí),針對(duì)劃分出的每一功耗級(jí)別,要綜合iops和讀寫帶寬,設(shè)定負(fù)載閾值,用于確定存儲(chǔ)系統(tǒng)的功耗級(jí)別。
s11:根據(jù)收集的各項(xiàng)負(fù)載運(yùn)行參數(shù)計(jì)算出負(fù)載參數(shù),將所述負(fù)載參數(shù)與功耗級(jí)別中預(yù)設(shè)的負(fù)載閾值比較,確定所述存儲(chǔ)系統(tǒng)當(dāng)前的實(shí)際負(fù)載所處的功耗級(jí)別。
根據(jù)收集到的各項(xiàng)負(fù)載運(yùn)行參數(shù),利用預(yù)設(shè)算法計(jì)算出負(fù)載參數(shù)。將計(jì)算得到的負(fù)載參數(shù)與各功耗級(jí)別中設(shè)定的負(fù)載閾值比較,判定存儲(chǔ)系統(tǒng)當(dāng)前的實(shí)際負(fù)載處于哪一功耗級(jí)別。
s12:判斷所確定的該功耗級(jí)別與所述存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別是否一致。
若否,則執(zhí)行步驟s13。
若是,則執(zhí)行步驟s14。
s13:根據(jù)所確定的該功耗級(jí)別的定義,控制所述存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行。
若判斷所判定出的該功耗級(jí)別與存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別不一致,則當(dāng)前存儲(chǔ)系統(tǒng)設(shè)定的功耗級(jí)別需要切換,則控制存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行,這樣使存儲(chǔ)系統(tǒng)中運(yùn)行的功耗組與存儲(chǔ)系統(tǒng)實(shí)際負(fù)載一致,從而降低存儲(chǔ)系統(tǒng)中不必要功耗,節(jié)省存儲(chǔ)系統(tǒng)的能源消耗。
具體的,在具體實(shí)施時(shí),若所確定的該功耗級(jí)別與存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別不一致,控制所述存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行,其中調(diào)整功耗級(jí)別的過程存在以下兩種情況:
第一種情況:所確定的功耗級(jí)別低于存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別。
這種情況下,控制存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行包括:將多余數(shù)量的功耗組控制處于睡眠狀態(tài)。
第二種情況,所確定的功耗級(jí)別高于存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別。
這種情況下,要控制存儲(chǔ)系統(tǒng)中更多數(shù)量的功耗組運(yùn)行,控制更多數(shù)量的功耗組進(jìn)入正常工作狀態(tài),以使運(yùn)行的功耗組數(shù)量與當(dāng)前負(fù)載所對(duì)應(yīng)的功耗級(jí)別定義的功耗組數(shù)量一致,保證存儲(chǔ)系統(tǒng)的高可用性和數(shù)據(jù)的高可靠性。
s14:所述存儲(chǔ)系統(tǒng)保持當(dāng)前設(shè)定的功耗級(jí)別運(yùn)行。
若判斷所判定出的該功耗級(jí)別與存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別不一致,表明存儲(chǔ)系統(tǒng)中當(dāng)前運(yùn)行的功耗組與存儲(chǔ)系統(tǒng)實(shí)際負(fù)載一致,存儲(chǔ)系統(tǒng)保持當(dāng)前狀態(tài)運(yùn)行即可。
因此可以看出,本實(shí)施例分布式存儲(chǔ)系統(tǒng)功耗管理方法,對(duì)存儲(chǔ)系統(tǒng)運(yùn)行劃分功耗級(jí)別,每一功耗級(jí)別中定義相應(yīng)數(shù)量的功耗組,在存儲(chǔ)系統(tǒng)運(yùn)行過程中通過監(jiān)測(cè)存儲(chǔ)系統(tǒng)的運(yùn)行負(fù)載,當(dāng)存儲(chǔ)系統(tǒng)實(shí)際負(fù)載所處的功耗級(jí)別與當(dāng)前設(shè)定的功耗級(jí)別不一致時(shí),進(jìn)行功耗級(jí)別切換,控制存儲(chǔ)系統(tǒng)中與實(shí)際負(fù)載所處的功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行,以減少存儲(chǔ)系統(tǒng)中不必要功耗,實(shí)現(xiàn)了節(jié)省存儲(chǔ)系統(tǒng)的能源消耗。
另外,本實(shí)施例方法中,控制存儲(chǔ)集群系統(tǒng)進(jìn)行較低功耗級(jí)別時(shí),并非直接對(duì)高功耗級(jí)別的節(jié)點(diǎn)關(guān)機(jī),而選擇讓節(jié)點(diǎn)設(shè)備進(jìn)入睡眠狀態(tài),從而使可以快速進(jìn)行功耗級(jí)別的切換和快速進(jìn)行數(shù)據(jù)同步。
優(yōu)選的,在上述實(shí)施例描述的方法中,當(dāng)根據(jù)存儲(chǔ)系統(tǒng)實(shí)際負(fù)載確定的功耗級(jí)別,判斷該功耗級(jí)別與存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別不一致時(shí),所述步驟s13具體包括:
根據(jù)計(jì)時(shí)時(shí)間,當(dāng)距離采集所述存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù)的時(shí)刻經(jīng)歷的時(shí)間等于第一閾值時(shí)間時(shí),按照該功耗級(jí)別的定義,控制所述存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行。
本方法中開啟計(jì)時(shí)功能,計(jì)時(shí)各步驟的進(jìn)行時(shí)刻。并設(shè)定第一閾值時(shí)間t1,當(dāng)判斷所確定的該功耗級(jí)別與存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別不一致時(shí),根據(jù)采集所述存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù)的時(shí)刻和第一閾值時(shí)間t1確定切換時(shí)刻,具體為當(dāng)距離采集所述存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù)的時(shí)刻經(jīng)歷的時(shí)間等于第一閾值時(shí)間t1時(shí)執(zhí)行切換。
在具體實(shí)施時(shí),設(shè)置的第一閾值時(shí)間t1過大,可能會(huì)錯(cuò)過節(jié)能時(shí)機(jī),且在大量寫操作的情況下,數(shù)據(jù)的安全性得不到保障;t1值過小,負(fù)載變化頻繁時(shí),系統(tǒng)可能全頻繁的切換功耗級(jí)別,導(dǎo)致節(jié)點(diǎn)頻繁啟停,反而危害系統(tǒng)。因此要合理設(shè)置第一閾值時(shí)間。
本方法中具體可采用計(jì)時(shí)器進(jìn)行計(jì)時(shí)。
當(dāng)存儲(chǔ)系統(tǒng)長(zhǎng)時(shí)間處于較低負(fù)載狀態(tài)工作,會(huì)積累較多的數(shù)據(jù)變更,存儲(chǔ)系統(tǒng)在長(zhǎng)時(shí)間低功耗級(jí)別運(yùn)行的情況下,會(huì)出現(xiàn)數(shù)據(jù)副本不同步的情況。針對(duì)此問題,本分布式存儲(chǔ)系統(tǒng)功耗管理方法,還包括:
當(dāng)監(jiān)測(cè)到所述存儲(chǔ)系統(tǒng)處于低負(fù)載運(yùn)行的時(shí)長(zhǎng)超過第二閾值時(shí)間時(shí),控制所述存儲(chǔ)系統(tǒng)切換至比當(dāng)前確定的功耗級(jí)別高預(yù)設(shè)數(shù)量級(jí)的功耗級(jí)別,具體為控制所述存儲(chǔ)系統(tǒng)中與比當(dāng)前確定的功耗級(jí)別高預(yù)設(shè)數(shù)量級(jí)的功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行。
通過計(jì)時(shí)存儲(chǔ)系統(tǒng)處于各功耗級(jí)別的運(yùn)行時(shí)長(zhǎng),當(dāng)監(jiān)測(cè)到存儲(chǔ)系統(tǒng)處于低負(fù)載運(yùn)行的時(shí)長(zhǎng)超過第二閾值時(shí)間t2時(shí),則提高存儲(chǔ)系統(tǒng)的功耗級(jí)別,用于同步數(shù)據(jù),以保證數(shù)據(jù)的可靠性。
進(jìn)一步的,在上述實(shí)施例描述內(nèi)容的基礎(chǔ)上,本分布式存儲(chǔ)系統(tǒng)功耗管理方法中,控制所述存儲(chǔ)系統(tǒng)中功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行包括:
通過向所述功耗組內(nèi)的節(jié)點(diǎn)發(fā)送睡眠操作指令,控制所述節(jié)點(diǎn)處于睡眠狀態(tài);
通過向所述功耗組內(nèi)的節(jié)點(diǎn)發(fā)送休眠操作指令,控制所述節(jié)點(diǎn)處于休眠狀態(tài);
通過向所述功耗組內(nèi)的節(jié)點(diǎn)發(fā)送喚醒指令,控制所述節(jié)點(diǎn)處于正常工作狀態(tài)。
對(duì)于一些分布式存儲(chǔ)系統(tǒng)本身的機(jī)制,當(dāng)存儲(chǔ)集群系統(tǒng)中任何一個(gè)節(jié)點(diǎn)或者存儲(chǔ)設(shè)備關(guān)停的狀態(tài)下,存儲(chǔ)集群系統(tǒng)監(jiān)控裝置會(huì)認(rèn)為是故障狀態(tài)。鑒于此本方法中,當(dāng)對(duì)高功耗級(jí)別內(nèi)的功耗組進(jìn)行睡眠操作時(shí),對(duì)這些節(jié)點(diǎn)發(fā)送睡眠操作指令,將節(jié)點(diǎn)置為睡眠狀態(tài),以區(qū)別于節(jié)點(diǎn)的故障狀態(tài);當(dāng)提高功耗級(jí)別時(shí),向功耗組內(nèi)節(jié)點(diǎn)發(fā)送喚醒指令,喚醒節(jié)點(diǎn)處于正常工作狀態(tài)。
本實(shí)施例功耗管理方法應(yīng)用于分布式存儲(chǔ)系統(tǒng)中,請(qǐng)參考圖2,在分布式存儲(chǔ)系統(tǒng)運(yùn)行過程中,進(jìn)行功耗管理的過程如下:
s20:詢問是否啟用功耗管理功能。
若否,則執(zhí)行步驟s21;若是,則執(zhí)行步驟s22。
s21:系統(tǒng)以全負(fù)荷運(yùn)行。此時(shí)存儲(chǔ)系統(tǒng)中所有功耗組、所有節(jié)點(diǎn)設(shè)備處于正常工作狀態(tài)。
s22:查詢是否需要?jiǎng)澐止募?jí)別。
若是,則執(zhí)行步驟s23;若否,則執(zhí)行步驟s24。
s23:對(duì)存儲(chǔ)系統(tǒng)劃分功耗級(jí)別。通過上步驟s22查詢存儲(chǔ)系統(tǒng)是否已經(jīng)劃分了功耗級(jí)別,若沒有劃分則對(duì)存儲(chǔ)系統(tǒng)進(jìn)行劃分功耗級(jí)別。具體劃分功耗級(jí)別的方法可參考前面關(guān)于功耗級(jí)別的內(nèi)容。
然后循環(huán)進(jìn)入步驟s22。
s24:查詢是否需要數(shù)據(jù)放置優(yōu)化。
若是,則執(zhí)行步驟s25;若否,則執(zhí)行步驟s26。
s25:對(duì)于每一功耗級(jí)別,對(duì)數(shù)據(jù)副本放置位置進(jìn)行優(yōu)化,以使每一功耗組中至少包含一份數(shù)據(jù)副本。
本步驟中,利用數(shù)據(jù)放置優(yōu)化算法對(duì)數(shù)據(jù)副本的放置位置進(jìn)行優(yōu)化,減小數(shù)據(jù)副本隨機(jī)放置的范圍,具體為控制數(shù)據(jù)的每一個(gè)副本在每一功耗組中都要出現(xiàn)一次,剩余的副本則依次放置在后續(xù)的每個(gè)功耗組中,這樣使每一功耗級(jí)別中至少包含一整套數(shù)據(jù)副本。只要至少一個(gè)功耗組中的所有節(jié)點(diǎn)能正常工作,或不是連續(xù)關(guān)閉大于副本個(gè)數(shù)的節(jié)點(diǎn)時(shí),就可以保證數(shù)據(jù)的可用性與安全性。因此,即使關(guān)閉存儲(chǔ)集群系統(tǒng)中高功耗級(jí)的所有節(jié)點(diǎn),最低功耗級(jí)別的一個(gè)功耗組即可提供全部的數(shù)據(jù),仍然可以保證全部數(shù)據(jù)的可用性。
然后循環(huán)進(jìn)入步驟s24。
s26:收集存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù),根據(jù)收集的各項(xiàng)負(fù)載運(yùn)行參數(shù)計(jì)算出負(fù)載參數(shù),將所述負(fù)載參數(shù)與功耗級(jí)別中預(yù)設(shè)的負(fù)載閾值比較,確定所述存儲(chǔ)系統(tǒng)當(dāng)前的實(shí)際負(fù)載所處的功耗級(jí)別。
s27:判斷所確定的該功耗級(jí)別與所述存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別是否一致。
若否,則執(zhí)行步驟s28。
若是,則執(zhí)行步驟s29。
s28:根據(jù)所確定的該功耗級(jí)別的定義,控制所述存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行。
s29:所述存儲(chǔ)系統(tǒng)保持當(dāng)前設(shè)定的功耗級(jí)別運(yùn)行。
相應(yīng)的,請(qǐng)參考圖3,本發(fā)明實(shí)施例還提供一種分布式存儲(chǔ)系統(tǒng)功耗管理裝置,包括:
收集模塊30,用于收集存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù);
判定模塊31,用于根據(jù)收集的各項(xiàng)負(fù)載運(yùn)行參數(shù)計(jì)算出負(fù)載參數(shù),將所述負(fù)載參數(shù)與功耗級(jí)別中預(yù)設(shè)的負(fù)載閾值比較,確定所述存儲(chǔ)系統(tǒng)當(dāng)前的實(shí)際負(fù)載所處的功耗級(jí)別;
判斷模塊32,用于判斷所確定的該功耗級(jí)別與所述存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別是否一致;
調(diào)整模塊33,用于若所確定的該功耗級(jí)別與所述存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別不一致,則根據(jù)所確定的該功耗級(jí)別的定義,控制所述存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行,所述存儲(chǔ)系統(tǒng)以節(jié)點(diǎn)為單位,劃分為與數(shù)據(jù)副本數(shù)量相等數(shù)量的功耗組。
可以看出,本實(shí)施例分布式存儲(chǔ)系統(tǒng)功耗管理裝置,在存儲(chǔ)系統(tǒng)運(yùn)行中,收集存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù),然后根據(jù)各項(xiàng)負(fù)載運(yùn)行參數(shù)計(jì)算出負(fù)載參數(shù),將計(jì)算得到的負(fù)載參數(shù)與功耗級(jí)別中預(yù)設(shè)的負(fù)載閾值比較,來確定出存儲(chǔ)系統(tǒng)當(dāng)前的實(shí)際負(fù)載所處的功耗級(jí)別,進(jìn)一步當(dāng)判斷所確定的該功耗級(jí)別與存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別不一致時(shí),根據(jù)所確定的該功耗級(jí)別的定義控制存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行。
本實(shí)施例分布式存儲(chǔ)系統(tǒng)功耗管理裝置,對(duì)存儲(chǔ)系統(tǒng)運(yùn)行劃分功耗級(jí)別,每一功耗級(jí)別中定義相應(yīng)數(shù)量的功耗組,在存儲(chǔ)系統(tǒng)運(yùn)行過程中通過監(jiān)測(cè)存儲(chǔ)系統(tǒng)的運(yùn)行負(fù)載,當(dāng)存儲(chǔ)系統(tǒng)實(shí)際負(fù)載所處的功耗級(jí)別與當(dāng)前設(shè)定的功耗級(jí)別不一致時(shí),進(jìn)行功耗級(jí)別切換,控制存儲(chǔ)系統(tǒng)中與實(shí)際負(fù)載所確定的功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行,從而減少存儲(chǔ)系統(tǒng)中不必要功耗,實(shí)現(xiàn)了節(jié)省存儲(chǔ)系統(tǒng)的能源消耗。
本實(shí)施例分布式存儲(chǔ)系統(tǒng)功耗管理裝置,所述調(diào)整模塊33具體用于,若所確定的該功耗級(jí)別與所述存儲(chǔ)系統(tǒng)當(dāng)前設(shè)定的功耗級(jí)別不一致,則根據(jù)計(jì)時(shí)時(shí)間,當(dāng)距離采集所述存儲(chǔ)系統(tǒng)的各項(xiàng)負(fù)載運(yùn)行參數(shù)的時(shí)刻經(jīng)歷的時(shí)間等于第一閾值時(shí)間時(shí),按照該功耗級(jí)別的定義,控制所述存儲(chǔ)系統(tǒng)中該功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行。
所述調(diào)整模塊33還具體用于,
當(dāng)監(jiān)測(cè)到所述存儲(chǔ)系統(tǒng)處于低負(fù)載運(yùn)行的時(shí)長(zhǎng)超過第二閾值時(shí)間時(shí),控制所述存儲(chǔ)系統(tǒng)切換至比當(dāng)前確定的功耗級(jí)別高預(yù)設(shè)數(shù)量級(jí)的功耗級(jí)別,具體為控制所述存儲(chǔ)系統(tǒng)中與比當(dāng)前確定的功耗級(jí)別高預(yù)設(shè)數(shù)量級(jí)的功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行。
進(jìn)一步的,所述調(diào)整模塊33用于控制所述存儲(chǔ)系統(tǒng)中功耗級(jí)別對(duì)應(yīng)數(shù)量的功耗組運(yùn)行包括:
所述調(diào)整模塊33具體用于通過向所述功耗組內(nèi)的節(jié)點(diǎn)發(fā)送睡眠操作指令,控制所述節(jié)點(diǎn)處于睡眠狀態(tài);
通過向所述功耗組內(nèi)的節(jié)點(diǎn)發(fā)送喚醒指令,控制所述節(jié)點(diǎn)處于正常工作狀態(tài)。
對(duì)于一些分布式存儲(chǔ)系統(tǒng)本身的機(jī)制,當(dāng)存儲(chǔ)集群系統(tǒng)中任何一個(gè)節(jié)點(diǎn)或者存儲(chǔ)設(shè)備關(guān)停的狀態(tài)下,存儲(chǔ)集群系統(tǒng)監(jiān)控裝置會(huì)認(rèn)為是故障狀態(tài)。鑒于此本方法中,當(dāng)對(duì)高功耗級(jí)別內(nèi)的功耗組進(jìn)行休眠操作時(shí),對(duì)這些節(jié)點(diǎn)發(fā)送睡眠操作指令,將節(jié)點(diǎn)置為睡眠狀態(tài),以區(qū)別于節(jié)點(diǎn)的故障狀態(tài);當(dāng)提高功耗級(jí)別時(shí),向功耗組內(nèi)節(jié)點(diǎn)發(fā)送喚醒指令,喚醒節(jié)點(diǎn)處于正常工作狀態(tài)。
本實(shí)施例分布式存儲(chǔ)系統(tǒng)功耗管理裝置,還包括:
位置優(yōu)化模塊,用于對(duì)于每一功耗級(jí)別,對(duì)數(shù)據(jù)副本放置位置進(jìn)行優(yōu)化,以使每一功耗組中至少包含一份數(shù)據(jù)副本。
以上對(duì)本發(fā)明所提供的分布式存儲(chǔ)系統(tǒng)功耗管理方法及裝置進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。