亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種對象數(shù)據(jù)服務(wù)器讀寫請求的調(diào)度方法

文檔序號:6440093閱讀:180來源:國知局
專利名稱:一種對象數(shù)據(jù)服務(wù)器讀寫請求的調(diào)度方法
一種對象數(shù)據(jù)服務(wù)器讀寫請求的調(diào)度方法技術(shù)領(lǐng)域
本發(fā)明屬于計算機存儲領(lǐng)域,具體涉及一種對象數(shù)據(jù)服務(wù)器讀寫請求的的調(diào)度方法。
背景技術(shù)
隨著互聯(lián)網(wǎng)業(yè)務(wù)量的增加、訪問量和數(shù)據(jù)流量的快速增長,存儲系統(tǒng)各個核心部分的處理的強度也相應(yīng)增大,使得單一存儲設(shè)備根本無法承擔。在此情況下,如果扔掉現(xiàn)有設(shè)備去做大量的硬件升級,勢必造成現(xiàn)有資源的浪費,而且再面臨下一次業(yè)務(wù)量的提升,又將導(dǎo)致再一次硬件升級的高額成本投入,性能再卓越的設(shè)備也不能滿足當前業(yè)務(wù)量要求。 所以現(xiàn)在的存儲系統(tǒng)需要面對性能、容量不同的異構(gòu)存儲設(shè)備。
在對象存儲系統(tǒng)中,對象數(shù)據(jù)服務(wù)器實際上是部署在一臺完整的服務(wù)器上,其后端直接或者通過網(wǎng)絡(luò)掛載許多存儲設(shè)備,如高端磁盤,固態(tài)盤(SSD)、附網(wǎng)存儲系統(tǒng)(NAS), 存儲區(qū)域網(wǎng)(SAN),這些存儲設(shè)備的能力有強有弱,存儲的容量也有大有小。對象數(shù)據(jù)服務(wù)器計算功能強大,但網(wǎng)絡(luò)的吞吐量遠遠大于存儲設(shè)備的吞吐量,所以對象數(shù)據(jù)服務(wù)器處理讀寫請求的性能瓶頸往往存在于存儲設(shè)備上;
處理上層的讀寫請求,現(xiàn)有的一種做法是對象數(shù)據(jù)服務(wù)器使用磁盤陣列(RAID) 控制器將多個存儲設(shè)備配成高性能的磁盤陣列,這就是硬件RAID的解決方法;還有一種做法是使用Linux系統(tǒng)自帶的軟件,將多個存儲設(shè)備配成磁盤陣列,成為軟RAID機制。硬件 RAID的方法可以提高設(shè)備的性能和可靠性,但是它需要存儲設(shè)備之間的性能和容量相當, 無法配備異構(gòu)的存儲設(shè)備,而且往往價格昂貴。Linux系統(tǒng)自帶的軟RAID機制,可以便捷的解決不同性能、容量存儲設(shè)備的調(diào)度,提高對象數(shù)據(jù)服務(wù)器的性能,但是它不能根據(jù)上層 IO請求選擇合適的存儲設(shè)備進行服務(wù),也不能在多個存儲設(shè)備之間進行負載的遷移,不能保證存儲設(shè)備的負載均衡。
本發(fā)明依據(jù)Linux系統(tǒng),其中存儲設(shè)備,包括磁盤、固態(tài)盤(SSD)以及非本機的附網(wǎng)存儲系統(tǒng)(NAQ、存儲區(qū)域網(wǎng)(SAN),其中,將非本機的附網(wǎng)存儲系統(tǒng)(NAQ、存儲區(qū)域網(wǎng) (SAN)定義為虛擬設(shè)備。
設(shè)備掛載路徑指的是存儲設(shè)備掛載(mount)時,使用者指定的在Iinux操作系統(tǒng)上的路徑,它與存儲設(shè)備一一對應(yīng),通過對設(shè)備掛載路徑的讀寫來實現(xiàn)對存儲設(shè)備的讀寫操作。
設(shè)備標示符是存儲設(shè)備的唯一標識;在對象存儲系統(tǒng)中,對象標示符(OID)為64 位的整數(shù),用于唯一標識一個對象;對象標示符由客戶端產(chǎn)生,并在請求的時候,作為參數(shù)傳給對象數(shù)據(jù)服務(wù)器;對象數(shù)據(jù)服務(wù)器在處理讀寫請求的時候,由對象標示符對應(yīng)的對象會被寫在由設(shè)備標示符標識的存儲設(shè)備上。發(fā)明內(nèi)容
本發(fā)明提供一種對象數(shù)據(jù)服務(wù)器讀寫請求的的調(diào)度方法,解決現(xiàn)有Linux系統(tǒng)自帶軟件不能保證存儲設(shè)備負載均衡的問題,從而進一步提高對象數(shù)據(jù)服務(wù)器的可用性和性能。
本發(fā)明的一種對象數(shù)據(jù)服務(wù)器讀寫請求的的調(diào)度方法,包括下述步驟
A.初始化步驟,包括以下過程
(Al)設(shè)置設(shè)備列表、設(shè)備負載表、小磁盤組表、中磁盤組表、大磁盤組表、容量利用率升序表、源設(shè)備隊列、目標設(shè)備隊列、元數(shù)據(jù)信息表;設(shè)備列表表項包括設(shè)備標示符及其對應(yīng)的設(shè)備掛載路徑,設(shè)備負載表表項包括設(shè)備標示符及其對應(yīng)的讀寫速率、容量、可用容量和設(shè)備利用率因子;大、中、小磁盤組表表項均包括磁盤組標示符及其對應(yīng)的設(shè)備標示符、讀寫速率、容量、可用容量和設(shè)備利用率因子;容量利用率升序表表項包括設(shè)備標示符及其對應(yīng)的可用容量和設(shè)備利用率因子;源設(shè)備隊列表項和目標設(shè)備隊列表項包括設(shè)備標示符;元數(shù)據(jù)信息表表項包括對象標示符及其對應(yīng)的設(shè)備標示符;
按照各存儲設(shè)備的可用容量大小,將存儲設(shè)備分別歸入大、中、小磁盤組;磁盤組標示符用于標示大、中、小磁盤組的類別;
(A2)除設(shè)備列表外,將上述其他各表的全部表項清空;用所有設(shè)備標示符及其對應(yīng)的設(shè)備掛載路徑初始化設(shè)備列表;
B.負載檢測步驟,包括以下過程
(Bi).以文件系統(tǒng)標準測試程序iozone測試各存儲設(shè)備的最大讀寫帶寬,然后求 N次測試的平均值,作為存儲設(shè)備的最大讀寫帶寬Wi ;N^ 3;
(B2).使用Linux系統(tǒng)調(diào)用應(yīng)用程序接口(API)獲取各存儲設(shè)備負載信息,包括讀寫速率、容量和可用容量;
(B3).計算各存儲設(shè)備利用率因子
設(shè)備利用率因子=設(shè)備讀寫速率/該存儲設(shè)備的最大讀寫帶寬Wi ;
(B4).對各存儲設(shè)備的設(shè)備利用率因子進行判斷
設(shè)備利用率因子< S1,延時、秒后,進行過程(B5) ; S1S設(shè)備利用率因子< δ2, 延時、秒后,進行過程(BQ ;設(shè)備利用率因子彡δ 2,延時、秒后,進行過程(BQ ;0< S1 < δ2 < 1,利用率因子下閾值δ i = 30% 50%,利用率因子上閾值δ2 = 60% 80%, 0 <、< t2 < t3,、= 3 5 秒,t2 = 6 10 秒,t3 = 10 15 秒;
(B5).再次使用Linux系統(tǒng)調(diào)用應(yīng)用程序接口(API),獲取本存儲設(shè)備的負載息,并將存儲設(shè)備負載信息及相應(yīng)的設(shè)備利用率因子保存在設(shè)備負載表中,轉(zhuǎn)過程(B2);
C.負載統(tǒng)計步驟,包括以下過程
(Cl).從設(shè)備負載表中獲取各存儲設(shè)備的負載信息和設(shè)備利用率因子;
(C2).按照各存儲設(shè)備的可用容量,對存儲設(shè)備進行分組
可用容量< a,分到小磁盤組表;a <可用容量< b,分到中磁盤組表;可用容量> b,分到大磁盤組表;‘、.-
其中,容量下閾值a=,容量上閾值b=
Ni為存儲設(shè)備可用容量,m為存儲設(shè)備個數(shù),符號L」表示對符號內(nèi)的數(shù)值向下取整;
(C3).對大、中、小磁盤組表中各存儲設(shè)備,按照設(shè)備利用率因子從小到大排序,轉(zhuǎn)過程(Cl);
D.判斷遷移條件步驟,包括以下過程
(Dl).判斷系統(tǒng)繁忙狀態(tài)使用Iinux系統(tǒng)調(diào)用,獲取對象數(shù)據(jù)服務(wù)器的CPU利用率U,判斷是否U > T,是則認為對象數(shù)據(jù)服務(wù)器處于繁忙狀態(tài),延時t4秒后,轉(zhuǎn)過程(Dl), 否則轉(zhuǎn)過程(D2);其中,40%彡利用率閾值T彡80%,t4 = 30 60秒;
(D2).從設(shè)備負載表中獲取各存儲設(shè)備的負載信息,計算各存儲設(shè)備容量利用率 Z -N,其中,4為存儲設(shè)備容量;
(D3).按照存儲設(shè)備容量利用率從小到大對存儲設(shè)備排序,保存在容量利用率升序表中,置循環(huán)變量η = 1,進行過程(D4);
(D4).計算存儲設(shè)備容量利用率差θ θ =Τω_η+1-Τη; \為容量利用率升序表中的第i個元素的設(shè)備容量利用率;
判斷是否θ < W,是則轉(zhuǎn)過程(D6);否則將容量利用率升序表中的第m-η+Ι個存儲設(shè)備的設(shè)備標示符放到目標設(shè)備隊列中,將第η個存儲設(shè)備的設(shè)備標示符放到源設(shè)備隊列中,轉(zhuǎn)過程(D5) ;20%彡遷移閾值W彡80% ;
(D5)置 η = η+1,轉(zhuǎn)過程(D4);
(D6).判斷源設(shè)備隊列和目標設(shè)備隊列是否均不為空,是則轉(zhuǎn)步驟E ;否則轉(zhuǎn)過程 (Dl);
Ε.對象數(shù)據(jù)塊遷移步驟,包括以下過程
(El).從源設(shè)備隊列中取出隊首設(shè)備標示符e,從目標設(shè)備隊列中取出隊首設(shè)備標示符f,源設(shè)備隊列和目標設(shè)備隊列中剩余設(shè)備標示符依序遞升為各自所在隊列的隊首設(shè)備標示符;
(E2).將設(shè)備標示符e對應(yīng)存儲設(shè)備上大小為y的任一對象數(shù)據(jù)塊d遷移到設(shè)備標示符f對應(yīng)的存儲設(shè)備上;
其中,y = (Ze-Ne-Zf+Nf)/2,Ze,Zf分別為設(shè)備標示符e、f對應(yīng)的存儲設(shè)備容量、Ne、 Nf分別為設(shè)備標示符e、f對應(yīng)的存儲設(shè)備可用容量;
(E3).將元數(shù)據(jù)信息表中標識對象數(shù)據(jù)塊d的對象標示符所對應(yīng)的存儲設(shè)備的設(shè)備標示符e,修改為設(shè)備標示符f,然后判斷源設(shè)備隊列和目標設(shè)備隊列是否均不為空,是則轉(zhuǎn)過程(El);否則轉(zhuǎn)步驟D ;
F.讀寫請求調(diào)度步驟,包括以下過程
(Fl).當用戶請求到達時,判斷用戶請求類型讀請求進行過程(F2)寫請求進行過程(F4);讀請求包括對象標示符oid、偏移量offset和讀數(shù)據(jù)長度,寫請求包括對象標示符oid、數(shù)據(jù)、數(shù)據(jù)長度和副本數(shù)L ;1 < L < 8 ;
(F2).根據(jù)對象標示符在元數(shù)據(jù)信息表中找到需要讀的數(shù)據(jù)所在存儲設(shè)備的設(shè)備標示符,判斷是否設(shè)備標示符個數(shù)大于1,是則轉(zhuǎn)過程(F3);否則從設(shè)備標示符對應(yīng)的存儲設(shè)備上進行讀取,并將該存儲設(shè)備的利用率因子加上Ω,轉(zhuǎn)過程(Fl);負載預(yù)估值Ω = 2% 5% ;
(F3).選擇其中一個設(shè)備標示符,其設(shè)備利用率因子最小,對其對應(yīng)的存儲設(shè)備進行讀取,并將該存儲設(shè)備的利用率因子加上Ω,轉(zhuǎn)過程(Fl);
(F4).根據(jù)設(shè)備負載表計算所有存儲設(shè)備的設(shè)備利用率因子之和λ,并判斷λ
當λ > mX α,則將大、中、小磁盤組表合并,按照設(shè)備利用率因子的大小對存儲設(shè)備排序,取出L個設(shè)備利用率因子最小的存儲設(shè)備為寫操作設(shè)備;
當mX β < λ < mX α,則將大、中磁盤組表合并,按照設(shè)備利用率因子的大小對存儲設(shè)備排序,取出L個設(shè)備利用率因子最小的存儲設(shè)備為寫操作設(shè)備;
當λ < mX β,則對大磁盤組按照設(shè)備利用率因子的大小對存儲設(shè)備排序,取出L 個設(shè)備利用率因子最小的存儲設(shè)備為寫操作設(shè)備;
其中,50% <利用率上閾值α < 70% ;0 <利用率下閾值β < 35% ;
(F5).按照副本數(shù)L,分別將數(shù)據(jù)寫到L個寫操作設(shè)備上,然后將標識數(shù)據(jù)的對象標示符及其對應(yīng)的L個設(shè)備標示符寫到元數(shù)據(jù)信息表中,轉(zhuǎn)過程(Fl)。
本發(fā)明的負載檢測步驟循環(huán)檢測系統(tǒng)的負載,將系統(tǒng)的負載信息存儲在設(shè)備負載信息表中;負載統(tǒng)計步驟通過負載信息表,獲取設(shè)備的負載信息,然后按照設(shè)備的可用容量對設(shè)備分組,并存放在磁盤組表中,然后對磁盤組表內(nèi)的存儲設(shè)備排序;對象數(shù)據(jù)塊遷移步驟利用設(shè)備負載信息表得到容量升序表,來判斷遷移條件,然后得到遷移源和目標,進行數(shù)據(jù)遷移;讀寫請求處理步驟根據(jù)元數(shù)據(jù)信息表和磁盤組表來處理讀寫請求。
本發(fā)明利用多設(shè)備的并行性,并在多設(shè)備之間通過遷移,保證多個設(shè)備的負載均衡,主要消耗CPU的操作,對數(shù)據(jù)的讀寫操作影響不大。與動輒上百萬的磁盤陣列相比較, 本發(fā)明在軟件層實現(xiàn)磁盤陣列成本很低,不需要專門的控制器和特殊的接口卡,價格便宜; 磁盤陣列和Linux操作系統(tǒng)的軟RAID機制使用容量和性能差別很大的磁盤構(gòu)成磁盤陣列的時候,會有很大的容量損失,而且性能上無法保證,與其相比較,本發(fā)明面對異構(gòu)存儲設(shè)備優(yōu)勢明顯,同時可以使用附網(wǎng)存儲系統(tǒng)(NAS)架構(gòu)的存儲設(shè)備,后面可以掛載網(wǎng)絡(luò)文件系統(tǒng)(NFS)、集群文件系統(tǒng)Lustre等分布式文件系統(tǒng),提高了可擴展性


圖1為本發(fā)明的流程框圖2為負載檢測步驟流程框圖3為負載統(tǒng)計步驟流程框圖4為判斷遷移條件步驟流程框圖5為對象數(shù)據(jù)塊遷移步驟流程框圖6為讀寫請求調(diào)度步驟流程框圖。
具體實施方式
下面結(jié)合附圖與實施例對本發(fā)明進一步說明。
如圖1所示,本發(fā)明包括初始化步驟、負載檢測步驟、負載統(tǒng)計步驟、判斷遷移條件步驟、對象數(shù)據(jù)塊遷移步驟和讀寫請求調(diào)度步驟。
負載檢測步驟循環(huán)檢測系統(tǒng)的負載,將系統(tǒng)的負載信息存儲在設(shè)備負載信息表中;負載統(tǒng)計步驟通過負載信息表,獲取設(shè)備的負載信息,然后按照設(shè)備的可用容量對設(shè)備分組,并存放在磁盤組表中,然后對磁盤組表內(nèi)的存儲設(shè)備排序;對象數(shù)據(jù)塊遷移步驟利用設(shè)備負載信息表得到容量升序表,來判斷遷移條件,然后得到遷移源和目標,進行數(shù)據(jù)遷移;讀寫請求處理步驟根據(jù)元數(shù)據(jù)信息表和磁盤組表來處理讀寫請求。
圖2所示為本發(fā)明的負載檢測步驟;作為一個實施例,其中,利用率因子下閾值 δ i = 30%,利用率因子上閾值δ 2 = 70%,、= 3秒,t2 = 6秒,t3 = 10秒。
圖3所示為本發(fā)明的負載統(tǒng)計步驟;作為一個實施例,其中,存儲設(shè)備個數(shù)m = 10,存儲設(shè)備可用容量Ni分別為4T、1T、2個750G、4個500G和2個80G,由此求得容量下閾值a = 283G,容量上閾值b = 566G。
圖4所示為本發(fā)明的判斷遷移條件步驟;作為一個實施例,其中,利用率閾值T = 60%, t4 = 60 秒;遷移閾值 W = 65% ;
圖5所示為本發(fā)明的讀寫請求調(diào)度步驟;
圖6所示為本發(fā)明的讀寫請求調(diào)度步驟;作為一個實施例,其中,負載預(yù)估值Ω = 3% ;利用率上閾值α = 60% ;利用率下閾值β = 25% ;
權(quán)利要求
1. 一種對象數(shù)據(jù)服務(wù)器讀寫請求的的調(diào)度方法,包括下述步驟A.初始化步驟,包括以下過程(Al)設(shè)置設(shè)備列表、設(shè)備負載表、小磁盤組表、中磁盤組表、大磁盤組表、容量利用率升序表、源設(shè)備隊列、目標設(shè)備隊列、元數(shù)據(jù)信息表;設(shè)備列表表項包括設(shè)備標示符及其對應(yīng)的設(shè)備掛載路徑,設(shè)備負載表表項包括設(shè)備標示符及其對應(yīng)的讀寫速率、容量、可用容量和設(shè)備利用率因子;大、中、小磁盤組表表項均包括磁盤組標示符及其對應(yīng)的設(shè)備標示符、讀寫速率、容量、可用容量和設(shè)備利用率因子;容量利用率升序表表項包括設(shè)備標示符及其對應(yīng)的可用容量和設(shè)備利用率因子;源設(shè)備隊列表項和目標設(shè)備隊列表項包括設(shè)備標示符; 元數(shù)據(jù)信息表表項包括對象標示符及其對應(yīng)的設(shè)備標示符;按照各存儲設(shè)備的可用容量大小,將存儲設(shè)備分別歸入大、中、小磁盤組;磁盤組標示符用于標示大、中、小磁盤組的類別;(A2)除設(shè)備列表外,將上述其他各表的全部表項清空;用所有設(shè)備標示符及其對應(yīng)的設(shè)備掛載路徑初始化設(shè)備列表;B.負載檢測步驟,包括以下過程(Bi).以文件系統(tǒng)標準測試程序iozone測試各存儲設(shè)備的最大讀寫帶寬,然后求N次測試的平均值,作為存儲設(shè)備的最大讀寫帶寬Wi ;N^ 3;(B2).使用Linux系統(tǒng)調(diào)用應(yīng)用程序接口(API)獲取各存儲設(shè)備負載信息,包括讀寫速率、容量和可用容量;(B3).計算各存儲設(shè)備利用率因子設(shè)備利用率因子=設(shè)備讀寫速率/該存儲設(shè)備的最大讀寫帶寬Wi ; (B4).對各存儲設(shè)備的設(shè)備利用率因子進行判斷設(shè)備利用率因子< S1,延時、秒后,進行過程(B5) ; S1S設(shè)備利用率因子< δ2,延時 、秒后,進行過程(Β5);設(shè)備利用率因子彡δ2,延時、秒后,進行過程(Β5) ;0< δ:< δ2 <1,利用率因子下閾值S i = 30% 50%,利用率因子上閾值δ2 = 60% 80%,0 <、 < t2 < t3,、= 3 5 秒,t2 = 6 10 秒,t3 = 10 15 秒;(B5).再次使用Linux系統(tǒng)調(diào)用應(yīng)用程序接口(API),獲取本存儲設(shè)備的負載信息,并將存儲設(shè)備負載信息及相應(yīng)的設(shè)備利用率因子保存在設(shè)備負載表中,轉(zhuǎn)過程(B2);C.負載統(tǒng)計步驟,包括以下過程(Cl).從設(shè)備負載表中獲取各存儲設(shè)備的負載信息和設(shè)備利用率因子; (C2).按照各存儲設(shè)備的可用容量,對存儲設(shè)備進行分組可用容量< a,分到小磁盤組表;a <可用容量< b,分到中磁盤組表;可用容量> b,分到大磁盤組表;其中,容量下閾值
全文摘要
一種對象數(shù)據(jù)服務(wù)器讀寫請求的的調(diào)度方法,屬于計算機存儲領(lǐng)域,解決現(xiàn)有Linux系統(tǒng)自帶軟件不能保證存儲設(shè)備負載均衡的問題,從而進一步提高對象數(shù)據(jù)服務(wù)器的可用性和性能。本發(fā)明包括初始化步驟、負載檢測步驟、負載統(tǒng)計步驟、判斷遷移條件步驟、對象數(shù)據(jù)塊遷移步驟和讀寫請求調(diào)度步驟。本發(fā)明通過在多設(shè)備間的請求調(diào)度,多設(shè)備的并行性,同時通過數(shù)據(jù)遷移實現(xiàn)設(shè)備間的負載均衡,提高存儲系統(tǒng)可用性和性能;本發(fā)明在軟件層實現(xiàn)磁盤陣列成本很低,面對異構(gòu)存儲設(shè)備優(yōu)勢明顯,同時可以使用附網(wǎng)存儲系統(tǒng)(NAS)架構(gòu)的存儲設(shè)備,提高了可擴展性。
文檔編號G06F3/06GK102541467SQ20111039942
公開日2012年7月4日 申請日期2011年12月6日 優(yōu)先權(quán)日2011年12月6日
發(fā)明者馮丹, 施展, 李楚, 王芳, 譚支鵬, 陳奇 申請人:華中科技大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1