專利名稱:存儲系統(tǒng)保護(hù)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機(jī)存儲安全領(lǐng)域,尤其涉及存儲系統(tǒng)保護(hù)方法及裝置。
背景技術(shù):
存儲系統(tǒng)通常為采用硬盤驅(qū)動器(Hard Disk Drive, HDD)的存儲系統(tǒng),或采用固態(tài)硬盤驅(qū)動器(Solid State Drive, SSD)的存儲系統(tǒng)。其中,HDD是機(jī)械部件,無論是讀或?qū)懢鶗鸫蓬^尋道,影響HDD壽命;而SSD是電子部件,雖然讀操作對其壽命影響甚微,但其寫壽命很有限。因此,在受到惡意濫用或故意攻擊(如故意編寫的不斷讀或?qū)懘鎯ο到y(tǒng)的程序)吋,無論是HDD存儲系統(tǒng)還是SSD存儲系統(tǒng)的性能都會被加速磨損,壽命縮短,從而影響使用同一存儲系統(tǒng)的所有用戶。在公有云環(huán)境中,網(wǎng)絡(luò)存儲(SAN & NAS)用戶背景復(fù)雜,除了云服務(wù)提供商提供的基礎(chǔ)設(shè)施虛擬監(jiān)視器Hypervisor、控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)卡、云存儲系統(tǒng)等是可信任且可控制外,由用戶使用或用戶提供的用戶程序、用戶操作系統(tǒng)等是不可信任和控制的,因此在公有云環(huán)境中,惡意濫用和攻擊網(wǎng)絡(luò)存儲的情形極可能發(fā)生,必須要有相應(yīng)的保護(hù)方法來抵御惡意的攻擊。目前,主要是通過對使用存儲系統(tǒng)的用戶執(zhí)行收費來保護(hù)該存儲系統(tǒng),比如根據(jù)存儲的容量對用戶進(jìn)行收費。但該方法無法有效防止用戶對網(wǎng)絡(luò)存儲系統(tǒng)的惡意濫用和攻擊,如在用戶反復(fù)讀或反復(fù)寫同一扇區(qū)時,由于用戶沒有増加存儲容量,因此不能増加其使用費用,從而不能有效保護(hù)存儲系統(tǒng),影響該存儲系統(tǒng)的壽命。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種存儲系統(tǒng)保護(hù)方法,g在解決現(xiàn)有方法容易損耗存儲系統(tǒng)的性能,影響存儲系統(tǒng)的壽命的問題。本發(fā)明實施例是這樣實現(xiàn)的,一種存儲系統(tǒng)保護(hù)方法,所述方法包括下述步驟檢測并統(tǒng)計用戶的存儲動作量,所述存儲動作量為用戶訪問存儲系統(tǒng)時會對存儲設(shè)備壽命產(chǎn)生影響的存儲動作的量;采用預(yù)設(shè)的流量整形算法所預(yù)設(shè)的訪問動作量限制用戶的存儲動作量,所述預(yù)設(shè)的訪問動作量包括用戶訪問的存儲容量、單位時間內(nèi)訪問的數(shù)據(jù)量以及單位時間內(nèi)訪問次數(shù)的至少ー種。本發(fā)明實施例的另一目的在于提供存儲系統(tǒng)保護(hù)裝置,所述裝置包括存儲動作量檢測單元,用于檢測并統(tǒng)計用戶的存儲動作量,所述存儲動作量為用戶訪問存儲系統(tǒng)時會對存儲設(shè)備壽命產(chǎn)生影響的存儲動作的量;存儲動作量限制単元,用于采用預(yù)設(shè)的流量整形算法所預(yù)設(shè)的訪問動作量限制用戶的存儲動作量,所述預(yù)設(shè)的訪問動作量包括用戶訪問的存儲容量、単位時間內(nèi)訪問的數(shù) 據(jù)量以及単位時間內(nèi)訪問次數(shù)的至少ー種。本發(fā)明實施例能夠有效防止出現(xiàn)惡意濫用和攻擊網(wǎng)絡(luò)存儲的情況,從而能夠保護(hù)存儲系統(tǒng)的性能,延長該存儲系統(tǒng)的壽命。
圖I是本發(fā)明存儲系統(tǒng)保護(hù)方法實施例一提供的流程圖;圖2是漏桶算法的工作示意圖;圖3是本發(fā)明存儲系統(tǒng)保護(hù)裝置實施例ニ提供的結(jié)構(gòu)圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)ー步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例,通過服務(wù)協(xié)定在云計算服務(wù)商與云用戶之間約定訪問動作量,當(dāng)在云計算系統(tǒng)的可信任系統(tǒng)中,實時統(tǒng)計的云計算用戶存儲動作量超過約定的訪問動作量時,利用預(yù)設(shè)的流量整形算法限制云計算用戶的存儲動作。本發(fā)明實施例提供了ー種存儲系統(tǒng)保護(hù)方法及裝置。所述方法包括檢測并統(tǒng)計用戶的存儲動作量,所述存儲動作量為用戶訪問存儲系統(tǒng)時會對存儲設(shè)備壽命產(chǎn)生影響的存儲動作的量;采用預(yù)設(shè)的流量整形算法所預(yù)設(shè)的訪問動作量限制用戶的存儲動作量,所述預(yù)設(shè)的訪問動作量包括用戶訪問的存儲容量、單位時間內(nèi)訪問的數(shù)據(jù)量以及單位時間內(nèi)訪問次數(shù)的至少ー種。所述裝置包括存儲動作量檢測單元,用于檢測并統(tǒng)計用戶的存儲動作量,所述存儲動作量為用戶訪問存儲系統(tǒng)時會對存儲設(shè)備壽命產(chǎn)生影響的存儲動作的量;存儲動作量限制単元,用于采用預(yù)設(shè)的流量整形算法所預(yù)設(shè)的訪問動作量限制用戶的存儲動作量,所述預(yù)設(shè)的訪問動作量包括用戶訪問的存儲容量、単位時間內(nèi)訪問的數(shù)據(jù)量以及単位時間內(nèi)訪問次數(shù)的至少ー種。本發(fā)明實施例能夠有效防止出現(xiàn)惡意濫用和攻擊網(wǎng)絡(luò)存儲的情況,從而能夠保護(hù)存儲系統(tǒng)的性能,延長該存儲系統(tǒng)的壽命。為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實施例來進(jìn)行說明。實施例一:圖I示出了本發(fā)明ー種存儲系統(tǒng)保護(hù)方法實施例一提供的流程圖,本實施例中,通過限制用戶的存儲動作量來達(dá)到保護(hù)存儲系統(tǒng)的目的,詳述如下步驟S11,檢測并統(tǒng)計用戶的存儲動作量,該存儲動作量為用戶訪問存儲系統(tǒng)時會對存儲設(shè)備壽命產(chǎn)生影響的存儲動作的量。本實施例中,用戶的存儲動作量為用戶訪問存儲系統(tǒng)時會對存儲設(shè)備壽命產(chǎn)生影響的存儲動作的量。在公有云的可信任且可控制的基礎(chǔ)設(shè)施中,對云計算用戶存儲訪問行為進(jìn)行實時的統(tǒng)計和檢測,統(tǒng)計并檢測用戶的存儲動作量。比如在聚合網(wǎng)絡(luò)適配器(Converged Network Adaptor, CNA)或云存儲系統(tǒng)或融合存儲網(wǎng)絡(luò)中檢測用戶的存儲動作,并統(tǒng)計用戶的存儲動作量。步驟S12,采用預(yù)設(shè)的流量整形算法所預(yù)設(shè)的訪問動作量限制用戶的存儲動作量,該預(yù)設(shè)的訪問動作量包括用戶訪問的存儲容量、単位時間內(nèi)訪問的數(shù)據(jù)量以及単位時間內(nèi)訪問次數(shù)的至少ー種。本實施例中,通過服務(wù)協(xié)定在云計算服務(wù)商與云用戶之間約定訪問動作量,并用約定的訪問動作量(或稱預(yù)設(shè)的訪問動作量)限制用戶的存儲動作量。其中,預(yù)設(shè)的訪問動作量包括用戶訪問的存儲容量、単位時間內(nèi)訪問的數(shù)據(jù)量以及単位時間內(nèi)訪問次數(shù)的至少ー種。
在本發(fā)明實施例中,首先通過服務(wù)協(xié)定在云計算服務(wù)商與云用戶之間約定訪問動作量,當(dāng)在云計算系統(tǒng)的可信任系統(tǒng)中,比如在CNA卡、存儲網(wǎng)絡(luò)或存儲系統(tǒng)實時統(tǒng)計的云計算用戶存儲動作量超過約定的訪問動作量時,利用預(yù)設(shè)的流量整形算法限制云計算用戶的存儲動作,有效防止出現(xiàn)惡意濫用和攻擊網(wǎng)絡(luò)存儲的情況,從而能夠保護(hù)存儲系統(tǒng)的性能,延長該存儲系統(tǒng)的壽命。作為ー優(yōu)選實施例,采用預(yù)設(shè)的流量整形算法所預(yù)設(shè)的訪問動作量限制用戶的存儲動作量的步驟具體包括在預(yù)設(shè)的流量整形算法為漏桶算法吋,判斷漏桶接收用戶的存儲動作量后是否大于該漏桶的最大排隊字節(jié),若是,丟棄接收的用戶的存儲動作量,否則,采用漏桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量,上述的漏桶強(qiáng)制ー個常量的輸出速率而不管輸入數(shù)據(jù)流的突發(fā)性。其中,漏桶算法(Leaky Bucket)是網(wǎng)絡(luò)世界中流量整形(Traffic Shaping)或速率限制(Rate Limiting)經(jīng)常使用的ー種算法,通過它可以整形突發(fā)流量,平滑網(wǎng)絡(luò)上的突發(fā)流量,為網(wǎng)絡(luò)提供一個穩(wěn)定的流量,以達(dá)到控制數(shù)據(jù)注入到網(wǎng)絡(luò)的速率的目的。漏桶算法的工作示意圖如圖2所示,從圖2可知,漏桶可以看作一個帶有常量服務(wù)時間的單服務(wù)器隊列,如果漏桶(包緩存)溢出,那么數(shù)據(jù)包會被丟棄。即漏桶算法強(qiáng)制ー個常量的輸出速率而不管輸入數(shù)據(jù)流的突發(fā)性,例如,當(dāng)數(shù)據(jù)包具有相同尺寸時,可設(shè)置主機(jī)在每ー個時間片向網(wǎng)絡(luò)注入一個數(shù)據(jù)包,以便產(chǎn)生一致的數(shù)據(jù)流來平滑突發(fā)的流量;當(dāng)數(shù)據(jù)包為可變包長(或固定包長)時,可設(shè)置主機(jī)在每ー個時間片向網(wǎng)絡(luò)注入固定數(shù)目的字節(jié),以便產(chǎn)生一致的數(shù)據(jù)流來平滑突發(fā)的流量,例如如果每個時間片傳輸1024字節(jié),那么一個時間片允許傳輸ー個1024字節(jié)的包,兩個512字節(jié)的包,或者四個256字節(jié)的包等。當(dāng)然,當(dāng)輸入空閑時,漏桶算法不執(zhí)行任何動作。本實施例中,當(dāng)利用漏桶算法控制用戶的存儲動作量時,判斷通過漏桶接收的用戶的存儲動作量算法大于該漏桶的最大排隊字節(jié),若大于,則丟棄該用戶的存儲動作量,否貝U,采用漏桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量,其中,漏桶的最大排隊字節(jié)與有效的系統(tǒng)內(nèi)存有關(guān),若有效的系統(tǒng)內(nèi)存較大,則漏桶的最大排隊字節(jié)也較大,反之,漏桶的最大排隊字節(jié)較小。作為ー優(yōu)選實施例,該采用預(yù)設(shè)的流量整形算法所預(yù)設(shè)的訪問動作量限制用戶的存儲動作量的步驟具體包括在預(yù)設(shè)的流量整形算法為令牌桶算法時,判斷令牌桶接收用戶的存儲動作量后是否大于該令牌桶的最大存發(fā)令牌,若是,丟棄接收的用戶的存儲動作量,否則,采用令牌桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量;該令牌桶用于控制發(fā)送到網(wǎng)絡(luò)上的數(shù)據(jù)的數(shù)目,并允許突發(fā)數(shù)據(jù)的發(fā)送。
其中,令牌桶算法是網(wǎng)絡(luò)流量整形和速率限制中最常使用的ー種算法。典型情況下,令牌桶算法用來控制發(fā)送到網(wǎng)絡(luò)上的數(shù)據(jù)的數(shù)目,并允許突發(fā)數(shù)據(jù)的發(fā)送。在令牌桶中,每ー個令牌都代表一個字節(jié),如果令牌桶中存在令牌,則允許發(fā)送流量;而如果令牌桶中不存在令牌,則不允許發(fā)送流量,因此,如果突發(fā)門限被合理地配置并且令牌桶中有足夠的令牌,那么流量就可以以峰值速率發(fā)送,即,令牌桶的這種控制機(jī)制是基于令牌桶中是否存在令牌來指示什么時候可以發(fā)送流量。本實施例中,當(dāng)利用令牌桶算法控制用戶對存儲的訪問數(shù)據(jù)量時,判斷令牌桶接收用戶的存儲動作量后是否大于該令牌桶的最大存發(fā)令牌,若大于,丟棄該用戶的存儲動作量。假設(shè)令牌桶的最大存發(fā)令牌為b個令牌,如果新令牌到達(dá)時令牌桶已滿,則丟棄新令牌。作為ー優(yōu)選實施例,該采用漏桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量的步驟具體包括通過ー個漏桶接收用戶的存儲動作量;通過該漏桶將接收的存儲動作量以預(yù)設(shè)的訪問動作量注入存儲系統(tǒng),以限制注入該存儲系統(tǒng)的用戶的存儲動作量。本實施例中,通過ー個漏桶接收用戶的存儲動作量,該漏桶再以預(yù)設(shè)的訪問動作量注入存儲系統(tǒng)或存儲網(wǎng)絡(luò)中,以限制注入該存儲系統(tǒng)的用戶的存儲動作量。該預(yù)設(shè)的訪問動作量為常量速率。例如,當(dāng)預(yù)設(shè)的訪問動作量為單位時間內(nèi)訪問的數(shù)據(jù)量,且該單位時間內(nèi)訪問的數(shù)據(jù)量為r字節(jié)/秒時,若采用漏桶限制用戶的存儲動作量,則漏桶以r字節(jié)/秒的常量速率漏出數(shù)據(jù)包,并將漏出的數(shù)據(jù)包注入到存儲,由于漏桶將數(shù)據(jù)包以ー個常量速率注入存儲,因此平滑了突發(fā)流量,有效防止出現(xiàn)惡意濫用和攻擊網(wǎng)絡(luò)存儲的情況,從而能夠保護(hù)存儲系統(tǒng)的性能,延長該存儲系統(tǒng)的壽命。作為ー優(yōu)選實施例,該采用漏桶預(yù)設(shè)的訪問動作量限制用戶的存儲動量的步驟具體包括若通過漏桶接收存儲命令所要傳送的存儲動作量之前,該漏桶的排隊字節(jié)小于該漏桶的最大排隊字節(jié),且該通過漏桶接收該存儲命令所要傳送的存儲動作量之后,該漏桶的排隊字節(jié)大于或等于該漏桶的最大排隊字節(jié),則該漏桶對該存儲命令不限制,在接收該存儲命令所要傳送的存儲動作量后,再對后續(xù)的存儲命令對應(yīng)的存儲動作量進(jìn)行限制。本實施例中,通過漏桶對用戶的存儲動作量進(jìn)行控制時,若同一存儲命令所要傳送的存儲動作量較大,使原本未溢出的漏桶在接收該存儲動作量后將溢出,則該漏桶將在接收該同一存儲命令所要傳送的存儲動作量后,再對后續(xù)出現(xiàn)的存儲命令對應(yīng)的用戶的存儲動作量進(jìn)行限制。作為ー優(yōu)選實施例,該采用令牌桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量的步驟具體包括判斷令牌桶中存在的令牌是否足夠發(fā)送接收的用戶的存儲動作量;在令牌足夠吋,將接收的用戶的存儲動作量發(fā)送至存儲系統(tǒng),并刪除相應(yīng)的令牌數(shù);在令牌不夠吋,以預(yù)設(shè)的訪問動作量將令牌加入令牌桶,并對接收的用戶的存儲動作量執(zhí)行以下任ー種處理丟棄接收的用戶的存儲動作量;等待令牌桶積累足夠多的令牌;將接收的用戶的存儲動作量標(biāo)記后發(fā)送至存儲系統(tǒng)。本實施例中,當(dāng)為令牌桶配置了預(yù)設(shè)的訪問動作量之后,則每隔I/預(yù)設(shè)的訪問動、作量將ー個令牌加入到令牌桶中,若令牌桶將接收的用戶的存儲動作量對應(yīng)的數(shù)據(jù)包發(fā)送至存儲后,從該令牌桶中刪除相應(yīng)的令牌數(shù),該存儲包括存儲網(wǎng)絡(luò)或存儲系統(tǒng)。例如,當(dāng)預(yù)設(shè)的訪問動作量為單位時間內(nèi)訪問的數(shù)據(jù)量,且該單位時間內(nèi)訪問的數(shù)據(jù)量為r字節(jié)/秒時,每隔1/r秒將ー個令牌加入到令牌桶中,又由于ー個令牌代表一個字節(jié),若令牌桶將ー個n個字節(jié)的數(shù)據(jù)包發(fā)送到存儲,則從該令牌桶中刪除n個令牌。在本實施例中,當(dāng)令牌桶中的令牌數(shù)不足以發(fā)送接收的用戶的存儲動作量吋,不會刪除令牌桶中的令牌,并認(rèn)為接收的用戶的存儲動作量對應(yīng)的數(shù)據(jù)包在流量限制之外,而在流量限制之外的數(shù)據(jù)包可執(zhí)行以下任一種處理方式(I)直接丟棄接收的用戶的存儲動作量;(2)等待令牌桶積累足夠多的令牌,并在令牌桶中的令牌數(shù)足以發(fā)送接收的用戶的存儲動作量后,將接收的用戶的存儲動作量發(fā)送到存儲網(wǎng)絡(luò)或存儲系統(tǒng);(3)對接收的用戶的存儲動作量做特殊標(biāo)記,并將經(jīng)過特殊標(biāo)記的用戶的存儲動作量發(fā)送到存儲。由于令牌桶所増加的令牌數(shù)受到預(yù)設(shè)的訪問動作量的限制,因此能夠有效限制用戶的存儲動作量,防止出現(xiàn)惡意濫用和攻擊網(wǎng)絡(luò)存儲的情況,從而能夠保護(hù)存儲系統(tǒng)的性能,延長該存儲系統(tǒng)的壽命。作為ー優(yōu)選實施例,在該將接收的用戶的存儲動作量標(biāo)記后發(fā)送至存儲系統(tǒng)的步驟之后,進(jìn)ー步包括下述步驟在網(wǎng)絡(luò)過載時丟棄包含標(biāo)記的用戶的存儲動作量。本實施例中,發(fā)送到網(wǎng)絡(luò)的含有標(biāo)記的存儲動作量是在令牌桶的令牌不夠時發(fā)送的,因此一旦出現(xiàn)網(wǎng)絡(luò)過載的情況,則首先丟棄該含有標(biāo)記的用戶的存儲動作量,以減輕網(wǎng)絡(luò)負(fù)擔(dān)。作為ー優(yōu)選實施例,本發(fā)明實施例的存儲動作量包括用戶讀數(shù)據(jù)量、寫數(shù)據(jù)量、讀命令量、寫命令量的至少ー種。本實施例中,用戶的存儲動作量包括用戶讀數(shù)據(jù)量、寫數(shù)據(jù)量、讀命令量、寫命令量的至少ー種。作為ー優(yōu)選實施例,該方法應(yīng)用于網(wǎng)絡(luò)存儲設(shè)備;該網(wǎng)絡(luò)存儲設(shè)備與客戶端連接,用于限制從客戶端發(fā)送的存儲動作量。本實施例中,客戶端包括用戶程序和/或客戶服務(wù)器。公有云中,用戶程序由客戶使用,因此是不可信任、無法控制的,與用戶程序連接的客戶服務(wù)器如果由用戶提供,則也是不可控制和信任的,如果是云服務(wù)提供商提供,則可信任和控制??蛻舳藢⒂脩舻拇鎯幼髁堪l(fā)送給網(wǎng)絡(luò)存儲設(shè)備,該網(wǎng)絡(luò)存儲設(shè)備采用本發(fā)明實施例提供的存儲系統(tǒng)保護(hù)方法限制到達(dá)網(wǎng)絡(luò)存儲設(shè)備的存儲動作量,從而能夠有效保護(hù)該網(wǎng)絡(luò)存儲設(shè)備的性能。實施例ニ :圖3示出了本發(fā)明存儲系統(tǒng)保護(hù)裝置實施例ニ提供的結(jié)構(gòu)圖,為了便于說明,僅不出了與本發(fā)明實施例相關(guān)的部分。該存儲系統(tǒng)保護(hù)裝置可以用于通過有線或者無線網(wǎng)絡(luò)連接服務(wù)器的各種信息處理終端,例如掌上電腦、計算機(jī)、筆記本電腦、個人數(shù)字助理(Personal DigitalAssistant, PDA)等,可以是運行于這些終端內(nèi)的軟件單元、硬件単元或者軟硬件相結(jié)合的単元,也可以作為獨立的掛件集成到這些終端中或者運行于這些終端的應(yīng)用系統(tǒng)中,其 中本實施例的存儲系統(tǒng)保護(hù)裝置包括存儲動作量檢測單元31、存儲動作量限制単元32,其中存儲動作量檢測單元31,用于檢測并統(tǒng)計用戶的存儲動作量,該存儲動作量為用戶訪問存儲系統(tǒng)時會對存儲設(shè)備壽命產(chǎn)生影響的存儲動作的量。本實施例中,在公有云的可信任且可控制的基礎(chǔ)設(shè)施中,對云計算用戶存儲訪問行為進(jìn)行實時的統(tǒng)計和檢測,統(tǒng)計并檢測用戶的存儲動作量。比如在CNA或云存儲系統(tǒng)或融合存儲網(wǎng)絡(luò)中檢測用戶的存儲動作,并統(tǒng)計用戶的存儲動作量。存儲動作量限制単元32,用于采用預(yù)設(shè)的流量整形算法所預(yù)設(shè)的訪問動作量限制用戶的存儲動作量,該預(yù)設(shè)的訪問動作量包括用戶訪問的存儲容量、単位時間內(nèi)訪問的數(shù)據(jù)量以及単位時間內(nèi)訪問次數(shù)的至少ー種。本發(fā)明實施例中,首先通過服務(wù)協(xié)定在云計算服務(wù)商與云用戶之間約定訪問動作量,當(dāng)在云計算系統(tǒng)的可信任系統(tǒng)中,比如在CNA卡、存儲網(wǎng)絡(luò)或存儲系統(tǒng)實時統(tǒng)計的云計算用戶存儲動作量超過約定的訪問動作量時,利用預(yù)設(shè)的流量整形算法限制云計算用戶的存儲動作,有效防止出現(xiàn)惡意濫用和攻擊網(wǎng)絡(luò)存儲的情況,從而能夠保護(hù)存儲系統(tǒng)的性能,延長該存儲系統(tǒng)的壽命。作為ー優(yōu)選實施例,該存儲動作量限制單元32包括漏桶限制模塊,用于在預(yù)設(shè)的流量整形算法為漏桶算法時,判斷漏桶接收用戶的存儲動作量后是否大于該漏桶的最大排隊字節(jié),若是,丟棄接收的用戶的存儲動作量,否貝U,采用漏桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量。本實施例中,漏桶的最大排隊字節(jié)與有效的系統(tǒng)內(nèi)存有關(guān),若有效的系統(tǒng)內(nèi)存較大,則漏桶的最大排隊字節(jié)也較大,反之,漏桶的最大排隊字節(jié)較小。作為ー優(yōu)選實施例,該存儲動作量限制單元32包括令牌桶限制模塊,用于在預(yù)設(shè)的流量整形算法為令牌桶算法時,判斷令牌桶接收用戶的存儲動作量后是否大于該令牌桶的最大存發(fā)令牌,若是,丟棄接收的用戶的存儲動作量,否則,采用令牌桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量。本實施例中,當(dāng)利用令牌桶算法控制用戶對存儲的訪問數(shù)據(jù)量時,判斷令牌桶接收用戶的存儲動作量后是否大于該令牌桶的最大存發(fā)令牌,若大于,丟棄該用戶的存儲動作量。作為ー優(yōu)選實施例,該漏桶限制模塊包括漏桶存儲動作量接收模塊,用于通過一個漏桶接收用戶的存儲動作量;漏桶存儲動作量限制模塊,用于通過該漏桶將接收的存儲動作量以預(yù)設(shè)的訪問動作量注入存儲系統(tǒng),以限制注入該存儲系統(tǒng)的用戶的存儲動作量。本實施例中,通過漏桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量,使接收的用戶的存儲動作量以預(yù)設(shè)的訪問動作量注入存儲系統(tǒng)中,由于漏桶將數(shù)據(jù)包以ー個常量速率注入存儲,因此平滑了突發(fā)流量,有效防止出現(xiàn)惡意濫用和攻擊網(wǎng)絡(luò)存儲的情況,從而能夠保護(hù)存儲系統(tǒng)的性能,延長該存儲系統(tǒng)的壽命。進(jìn)ー步地,若通過漏桶接收存儲命令所要傳送的存儲動作量之前,該漏桶的排隊字節(jié)小于該漏桶的最大排隊字節(jié),且該通過漏桶接收該存儲命令所要傳送的存儲動作量之后,該漏桶的排隊字節(jié)大于或等于該漏桶的最大排隊字節(jié),則該漏桶對該存儲命令不限制,在接收該存儲命令所要傳送的存儲動作量后,再對后續(xù)的存儲命令對應(yīng)的存儲動作量進(jìn)行限制。
作為ー優(yōu)選實施例,該令牌桶限制模塊包括令牌數(shù)量判斷模塊,用于判斷令牌桶中存在的令牌是否足夠發(fā)送接收的用戶的存
儲動作量。令牌存儲動作量接收模塊,用于在令牌足夠時,將接收的用戶的存儲動作量發(fā)送至存儲系統(tǒng),并刪除相應(yīng)的令牌數(shù)。
令牌存儲動作量限制模塊,用于在令牌不夠時,以預(yù)設(shè)的訪問動作量將令牌加入令牌桶,并對接收的用戶的存儲動作量執(zhí)行以下任一種處理丟棄接收的用戶的存儲動作量;等待令牌桶積累足夠多的令牌;將接收的用戶的存儲動作量標(biāo)記后發(fā)送至存儲系統(tǒng)。本實施例中,在本實施例中,當(dāng)令牌桶中的令牌數(shù)不足以發(fā)送接收的用戶的存儲動作量吋,不會刪除令牌桶中的令牌,并認(rèn)為接收的用戶的存儲動作量對應(yīng)的數(shù)據(jù)包在流量限制之外,而在流量限制之外的數(shù)據(jù)包可執(zhí)行以下任一種處理方式(I)直接丟棄接收的用戶的存儲動作量;(2)等待令牌桶積累足夠多的令牌,并在令牌桶中的令牌數(shù)足以發(fā)送接收的用戶的存儲動作量后,將接收的用戶的存儲動作量發(fā)送到存儲網(wǎng)絡(luò)或存儲系統(tǒng);
(3)對接收的用戶的存儲動作量做特殊標(biāo)記,并將經(jīng)過特殊標(biāo)記的用戶的存儲動作量發(fā)送到存儲。由于令牌桶所増加的令牌數(shù)受到預(yù)設(shè)的訪問動作量的限制,因此能夠有效限制用戶的存儲動作量,防止出現(xiàn)惡意濫用和攻擊網(wǎng)絡(luò)存儲的情況,從而能夠保護(hù)存儲系統(tǒng)的性能,延長該存儲系統(tǒng)的壽命。作為ー優(yōu)選實施例,該裝置包括存儲動作量丟棄模塊,用于在網(wǎng)絡(luò)過載時丟棄包含標(biāo)記的用戶的存儲動作量。本實施例中,發(fā)送到網(wǎng)絡(luò)的含有標(biāo)記的存儲動作量是在令牌桶的令牌不夠時發(fā)送的,因此一旦出現(xiàn)網(wǎng)絡(luò)過載的情況,則首先丟棄該含有標(biāo)記的用戶的存儲動作量,以減輕網(wǎng)絡(luò)負(fù)擔(dān)。作為ー優(yōu)選實施例,該存儲動作量包括用戶讀數(shù)據(jù)量、寫數(shù)據(jù)量、讀命令量、寫命令量的至少ー種。作為ー優(yōu)選實施例,該裝置應(yīng)用于網(wǎng)絡(luò)存儲設(shè)備,該網(wǎng)絡(luò)存儲設(shè)備與客戶端連接,用于限制從客戶端發(fā)送的存儲動作量。本實施例中,客戶端將用戶的存儲動作量發(fā)送給網(wǎng)絡(luò)存儲設(shè)備,該網(wǎng)絡(luò)存儲設(shè)備采用本發(fā)明實施例提供的存儲系統(tǒng)保護(hù)方法限制到達(dá)網(wǎng)絡(luò)存儲設(shè)備的存儲動作量,從而能夠有效保護(hù)該網(wǎng)絡(luò)存儲設(shè)備的性能。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種存儲系統(tǒng)保護(hù)方法,其特征在于,所述方法包括下述步驟 檢測并統(tǒng)計用戶的存儲動作量,所述存儲動作量為用戶訪問存儲系統(tǒng)時會對存儲設(shè)備壽命產(chǎn)生影響的存儲動作的量; 采用預(yù)設(shè)的流量整形算法所預(yù)設(shè)的訪問動作量限制用戶的存儲動作量,所述預(yù)設(shè)的訪問動作量包括用戶訪問的存儲容量、單位時間內(nèi)訪問的數(shù)據(jù)量以及單位時間內(nèi)訪問次數(shù)的至少一種。
2.如權(quán)利要求I所述的方法,其特征在于,所述采用預(yù)設(shè)的流量整形算法所預(yù)設(shè)的訪問動作量限制用戶的存儲動作量的步驟具體包括 在預(yù)設(shè)的流量整形算法為漏桶算法時,判斷漏桶接收用戶的存儲動作量后是否大于所述漏桶的最大排隊字節(jié),若是,丟棄接收的用戶的存儲動作量,否則,采用漏桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量; 所述漏桶強(qiáng)制一個常量的輸出速率而不管輸入數(shù)據(jù)流的突發(fā)性。
3.如權(quán)利要求I所述的方法,其特征在于,所述采用預(yù)設(shè)的流量整形算法所預(yù)設(shè)的訪問動作量限制用戶的存儲動作量的步驟具體包括 在預(yù)設(shè)的流量整形算法為令牌桶算法時,判斷令牌桶接收用戶的存儲動作量后是否大于所述令牌桶的最大存發(fā)令牌,若是,丟棄接收的用戶的存儲動作量,否則,采用令牌桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量; 所述令牌桶用于控制發(fā)送到網(wǎng)絡(luò)上的數(shù)據(jù)的數(shù)目,并允許突發(fā)數(shù)據(jù)的發(fā)送。
4.如權(quán)利要求2所述的方法,其特征在于,所述采用漏桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量的步驟具體包括 通過一個漏桶接收用戶的存儲動作量; 通過所述漏桶將接收的存儲動作量以預(yù)設(shè)的訪問動作量注入存儲系統(tǒng),以限制注入所述存儲系統(tǒng)的用戶的存儲動作量。
5.如權(quán)利要求2所述的方法,其特征在于,所述采用漏桶預(yù)設(shè)的訪問動作量限制用戶的存儲動量的步驟具體包括 若通過漏桶接收存儲命令所要傳送的存儲動作量之前,所述漏桶的排隊字節(jié)小于所述漏桶的最大排隊字節(jié),且所述通過漏桶接收所述存儲命令所要傳送的存儲動作量之后,所述漏桶的排隊字節(jié)大于或等于所述漏桶的最大排隊字節(jié),則所述漏桶對所述存儲命令不限制,在接收所述存儲命令所要傳送的存儲動作量后,再對后續(xù)的存儲命令對應(yīng)的存儲動作量進(jìn)行限制。
6.如權(quán)利要求3所述的方法,其特征在于,所述采用令牌桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量的步驟具體包括 判斷令牌桶中存在的令牌是否足夠發(fā)送接收的用戶的存儲動作量; 在令牌足夠時,將接收的用戶的存儲動作量發(fā)送至存儲系統(tǒng),并刪除相應(yīng)的令牌數(shù); 在令牌不夠時,以預(yù)設(shè)的訪問動作量將令牌加入令牌桶,并對接收的用戶的存儲動作量執(zhí)行以下任一種處理丟棄接收的用戶的存儲動作量;等待令牌桶積累足夠多的令牌;將接收的用戶的存儲動作量標(biāo)記后發(fā)送至存儲系統(tǒng)。
7.如權(quán)利要求6所述的方法,其特征在于,在所述將接收的用戶的存儲動作量標(biāo)記后發(fā)送至存儲系統(tǒng)的步驟之后,進(jìn)一步包括下述步驟在網(wǎng)絡(luò)過載時丟棄包含標(biāo)記的用戶的存儲動作量。
8.如權(quán)利要求I至7任一項所述的方法,其特征在于,所述存儲動作量包括 用戶讀數(shù)據(jù)量、寫數(shù)據(jù)量、讀命令量、寫命令量的至少一種。
9.如權(quán)利要求I至7任一項所述的方法,其特征在于,所述方法應(yīng)用于網(wǎng)絡(luò)存儲設(shè)備; 所述網(wǎng)絡(luò)存儲設(shè)備與客戶端連接,用于限制從客戶端發(fā)送的存儲動作量。
10.一種存儲系統(tǒng)保護(hù)裝置,其特征在于,所述裝置包括 存儲動作量檢測單元,用于檢測并統(tǒng)計用戶的存儲動作量,所述存儲動作量為用戶訪問存儲系統(tǒng)時會對存儲設(shè)備壽命產(chǎn)生影響的存儲動作的量; 存儲動作量限制單元,用于采用預(yù)設(shè)的流量整形算法所預(yù)設(shè)的訪問動作量限制用戶的存儲動作量,所述預(yù)設(shè)的訪問動作量包括用戶訪問的存儲容量、單位時間內(nèi)訪問的數(shù)據(jù)量以及單位時間內(nèi)訪問次數(shù)的至少一種。
11.如權(quán)利要求10所述的裝置,其特征在于,所述存儲動作量限制單元包括 漏桶限制模塊,用于在預(yù)設(shè)的流量整形算法為漏桶算法時,判斷漏桶接收用戶的存儲動作量后是否大于所述漏桶的最大排隊字節(jié),若是,丟棄接收的用戶的存儲動作量,否則,采用漏桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量。
12.如權(quán)利要求10所述的裝置,其特征在于,所述存儲動作量限制單元包括 令牌桶限制模塊,用于在預(yù)設(shè)的流量整形算法為令牌桶算法時,判斷令牌桶接收用戶的存儲動作量后是否大于所述令牌桶的最大存發(fā)令牌,若是,丟棄接收的用戶的存儲動作量,否則,采用令牌桶預(yù)設(shè)的訪問動作量限制用戶的存儲動作量。
13.如權(quán)利要求11所述的裝置,其特征在于,所述漏桶限制模塊包括 漏桶存儲動作量接收模塊,用于通過一個漏桶接收用戶的存儲動作量; 漏桶存儲動作量限制模塊,用于通過所述漏桶將接收的存儲動作量以預(yù)設(shè)的訪問動作量注入存儲系統(tǒng),以限制注入所述存儲系統(tǒng)的用戶的存儲動作量。
14.如權(quán)利要求12所述的裝置,其特征在于,所述令牌桶限制模塊包括 令牌數(shù)量判斷模塊,用于判斷令牌桶中存在的令牌是否足夠發(fā)送接收的用戶的存儲動作量; 令牌存儲動作量接收模塊,用于在令牌足夠時,將接收的用戶的存儲動作量發(fā)送至存儲系統(tǒng),并刪除相應(yīng)的令牌數(shù); 令牌存儲動作量限制模塊,用于在令牌不夠時,以預(yù)設(shè)的訪問動作量將令牌加入令牌桶,并對接收的用戶的存儲動作量執(zhí)行以下任一種處理丟棄接收的用戶的存儲動作量;等待令牌桶積累足夠多的令牌;將接收的用戶的存儲動作量標(biāo)記后發(fā)送至存儲系統(tǒng)。
15.如權(quán)利要求14所述的裝置,其特征在于,所述裝置包括 存儲動作量丟棄模塊,用于在網(wǎng)絡(luò)過載時丟棄包含標(biāo)記的用戶的存儲動作量。
16.如權(quán)利要求10至15任一項所述的裝置,其特征在于,所述存儲動作量包括 用戶讀數(shù)據(jù)量、寫數(shù)據(jù)量、讀命令量、寫命令量的至少一種。
17.如權(quán)利要求10至15任一項所述的裝置,其特征在于,所述裝置應(yīng)用于網(wǎng)絡(luò)存儲設(shè)備; 所述網(wǎng)絡(luò)存儲設(shè)備與客戶端連接,用于限制從客戶端發(fā)送的存儲動作量。
全文摘要
本發(fā)明適用于計算機(jī)存儲安全領(lǐng)域,提供了存儲系統(tǒng)保護(hù)方法及裝置,所述方法包括檢測并統(tǒng)計用戶的存儲動作量,所述存儲動作量為用戶訪問存儲系統(tǒng)時會對存儲設(shè)備壽命產(chǎn)生影響的存儲動作的量;采用預(yù)設(shè)的流量整形算法所預(yù)設(shè)的訪問動作量限制用戶的存儲動作量,所述預(yù)設(shè)的訪問動作量包括用戶訪問的存儲容量、單位時間內(nèi)訪問的數(shù)據(jù)量以及單位時間內(nèi)訪問次數(shù)的至少一種。本發(fā)明實施例能夠保護(hù)存儲系統(tǒng)的性能,延長該存儲系統(tǒng)的壽命。
文檔編號H04L29/08GK102663310SQ20121008154
公開日2012年9月12日 申請日期2012年3月23日 優(yōu)先權(quán)日2012年3月23日
發(fā)明者劉毓, 劉金水, 成永光 申請人:華為技術(shù)有限公司