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

一種動(dòng)態(tài)調(diào)整存儲(chǔ)設(shè)備Cache讀寫(xiě)命令數(shù)的方法和裝置制造方法

文檔序號(hào):6552096閱讀:166來(lái)源:國(guó)知局
一種動(dòng)態(tài)調(diào)整存儲(chǔ)設(shè)備Cache讀寫(xiě)命令數(shù)的方法和裝置制造方法
【專利摘要】本發(fā)明提供一種動(dòng)態(tài)調(diào)整高速緩存Cache讀寫(xiě)命令數(shù)的方法,該方法包括:統(tǒng)計(jì)周期時(shí)間T內(nèi)通過(guò)寫(xiě)Cache下發(fā)的隨機(jī)寫(xiě)命令數(shù)R_num和總寫(xiě)命令數(shù)T_num;并且統(tǒng)計(jì)周期時(shí)間T內(nèi)RAID接收到的讀命令數(shù)Raid_r和寫(xiě)命令數(shù)Raid_w;根據(jù)所述R_num、T_num得出的隨機(jī)寫(xiě)的壓力,根據(jù)Raid_r、Raid_w得出的RAID層實(shí)際的讀寫(xiě)壓力,以及通過(guò)Cache下發(fā)的命令總數(shù)上限值Up_n動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn和讀命令數(shù)Rn。本發(fā)明方案利用現(xiàn)有系統(tǒng)各層面能分別統(tǒng)計(jì)各種命令數(shù)的功能,并根據(jù)各命令數(shù)之間的關(guān)系所能反映的業(yè)務(wù)的實(shí)際情況,設(shè)計(jì)調(diào)整算法,以達(dá)到動(dòng)態(tài)根據(jù)業(yè)務(wù)讀寫(xiě)狀況,細(xì)致調(diào)整Cache層讀寫(xiě)命令數(shù)的下發(fā)值,以更好的提高系統(tǒng)性能。
【專利說(shuō)明】-種動(dòng)態(tài)調(diào)整存儲(chǔ)設(shè)備Cache讀寫(xiě)命令數(shù)的方法和裝置

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及視頻監(jiān)控【技術(shù)領(lǐng)域】,尤其涉及一種動(dòng)態(tài)調(diào)整高速緩存Cache讀寫(xiě)命令 數(shù)的方法和裝置。

【背景技術(shù)】
[0002] RAID (Redundant Array of Independent Disks,獨(dú)立磁盤(pán)冗余陣列)已經(jīng)廣泛 使用于數(shù)據(jù)讀寫(xiě)的各個(gè)領(lǐng)域中。為了提高系統(tǒng)性能,RAID陣列通常會(huì)引入高速緩沖存儲(chǔ)器 Cache。眾所周知,Cache是存儲(chǔ)系統(tǒng)為陣列分配的內(nèi)存空間。
[0003] -種存儲(chǔ)系統(tǒng)結(jié)構(gòu)如圖1所示,其分為業(yè)務(wù)應(yīng)用層、Cache層、RAID控制層和物理 磁盤(pán)層。其中Cache層是由系統(tǒng)內(nèi)存中分割出一部分作為RAID陣列的緩存,若是讀緩存,通 常應(yīng)用預(yù)讀功能提供系統(tǒng)讀性能;若是寫(xiě)緩存,系統(tǒng)業(yè)務(wù)應(yīng)用層將數(shù)據(jù)塊寫(xiě)入Cache層后, Cache會(huì)根據(jù)一定的策略將數(shù)據(jù)塊刷寫(xiě)至RAID陣列的磁盤(pán)中,如果刷寫(xiě)RAID成功,寫(xiě)入數(shù) 據(jù)塊的寫(xiě)緩存空間將被回收;如果寫(xiě)RAID不成功,業(yè)務(wù)數(shù)據(jù)會(huì)保留在寫(xiě)Cache中。因此,該 類存儲(chǔ)系統(tǒng)通常提供UPS (Uninterruptible Power Supply,不間斷電源)以保證系統(tǒng)異常 掉電時(shí)寫(xiě)緩存中的數(shù)據(jù)不丟失。
[0004] 通過(guò)讀Cache到達(dá)RAID層的讀命令可能為業(yè)務(wù)應(yīng)用層產(chǎn)生的讀10,可能為SCSI 中間層產(chǎn)生的讀10,可能為邏輯卷LV產(chǎn)生的讀10,也可能為Cache層產(chǎn)生的預(yù)取讀10。這 些讀10都會(huì)放到一個(gè)Cache的發(fā)送隊(duì)列中,Cache發(fā)送線程按FIFO(先進(jìn)先出)順序下發(fā) 讀10,并控制下發(fā)的讀10個(gè)數(shù)為當(dāng)前RAID的配置值Rn。另,讀寫(xiě)10總個(gè)數(shù)不超過(guò)一個(gè) RAID支持的最大命令個(gè)數(shù)Up_n。
[0005] 通過(guò)寫(xiě)Cache到達(dá)RAID的寫(xiě)命令可能為從Cache的下刷的寫(xiě)10等。這些寫(xiě)10 會(huì)放到一個(gè)Cache發(fā)送隊(duì)列中,Cache發(fā)送線程按FIFO順序下發(fā)寫(xiě)10,并控制下發(fā)的寫(xiě)10 個(gè)數(shù)不超過(guò)當(dāng)前RAID的配置值Wn。另外,讀寫(xiě)10總個(gè)數(shù)不超過(guò)一個(gè)RAID支持的最大命令 個(gè)數(shù)Up_n。
[0006] 當(dāng)前RAID陣列的寫(xiě)Cache和讀Cache中的讀、寫(xiě)命令下發(fā)個(gè)數(shù)都是固定配置的。 隨機(jī)寫(xiě)情況下,當(dāng)前RAID配置的寫(xiě)10下發(fā)個(gè)數(shù)增大會(huì)提高寫(xiě)性能,但又可能影響讀10下 發(fā)的及時(shí)性,從而影響讀性能。
[0007] 所以需要根據(jù)業(yè)務(wù)情況進(jìn)行RAID陣列的寫(xiě)Cache和讀Cache中的讀、寫(xiě)命令下發(fā) 個(gè)數(shù)的變動(dòng)?,F(xiàn)有技術(shù)只能人為根據(jù)業(yè)務(wù)情況進(jìn)行手動(dòng)更改,這就很不方便,不能自動(dòng)得適 應(yīng)隨機(jī)讀寫(xiě)、順序讀寫(xiě)、偽隨機(jī)讀寫(xiě)等各種應(yīng)用模型。如果固定配置好的讀寫(xiě)命令數(shù)不能很 好的適應(yīng)當(dāng)前的應(yīng)用模型,則將導(dǎo)致系統(tǒng)性能不能發(fā)揮到最好。


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

[0008] 有鑒于此,本發(fā)明提供一種動(dòng)態(tài)調(diào)整高速緩存Cache讀寫(xiě)命令數(shù)的方法和裝置。 該方法和裝置應(yīng)用于存儲(chǔ)設(shè)備。
[0009] 該動(dòng)態(tài)調(diào)整高速緩存Cache讀寫(xiě)命令數(shù)的方法方法包括:統(tǒng)計(jì)周期時(shí)間T內(nèi)通過(guò) 寫(xiě)Cache下發(fā)的隨機(jī)寫(xiě)命令數(shù)R_num和總寫(xiě)命令數(shù)T_num ;并且統(tǒng)計(jì)周期時(shí)間T內(nèi)RAID接 收到的讀命令數(shù)Raid_r和寫(xiě)命令數(shù)Raid_w ;根據(jù)所述R_num、T_num得出的隨機(jī)寫(xiě)的壓力, 根據(jù)Raid_r、Raid_w得出的RAID層實(shí)際的讀寫(xiě)壓力,以及通過(guò)Cache下發(fā)的命令總數(shù)上限 值Up_n動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn和讀命令數(shù)Rn。
[0010] 優(yōu)選地,所述動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn具體為:
[0011] 根據(jù)下述公式計(jì)算Wn:
[0012] Wn = Up_n*(R_num/T_num)*(Raid_w/(Raid_r+Raid_w)),
[0013] 根據(jù)計(jì)算結(jié)果進(jìn)行fc的調(diào)整;
[0014] 所述動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的Rn具體為:
[0015] 根據(jù)下述公式計(jì)算 Rn :Rn = Wn*Raid_r/(Raid_r+Raid_w),
[0016] 根據(jù)該計(jì)算結(jié)果進(jìn)行Rn的調(diào)整。
[0017] 優(yōu)選地,當(dāng)Raid_w為0時(shí),Wn不進(jìn)行調(diào)整,保持當(dāng)前值不變;當(dāng)Raid_r為0時(shí),Rn 不進(jìn)行調(diào)整,保持當(dāng)前值不變。
[0018] 基于同樣的構(gòu)思,該動(dòng)態(tài)調(diào)整高速緩存Cache讀寫(xiě)命令數(shù)的方法還可以按如下方 式設(shè)計(jì):該方法包括:統(tǒng)計(jì)周期時(shí)間T內(nèi)通過(guò)讀Cache下發(fā)的隨機(jī)讀命令數(shù)RR_num和總讀 命令數(shù)RT_num ;并且統(tǒng)計(jì)周期時(shí)間T內(nèi)RAID接收到的讀命令數(shù)Raid_r和寫(xiě)命令數(shù)Raid_ w ;根據(jù)所述RR_num、RT_num得出的隨機(jī)讀的壓力,根據(jù)Raid_r、Raid_w得出的Raid層實(shí) 際的讀寫(xiě)壓力,以及通過(guò)Cache下發(fā)的命令總數(shù)上限值Up_n動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID 層的寫(xiě)命令數(shù)fc和讀命令數(shù)Rn。
[0019] 優(yōu)選地,動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的讀命令數(shù)Rn具體為:
[0020] 根據(jù)下述公式計(jì)算Rn :
[0021] Rn = Up_n*(RR_num/RT_num)*(Raid_r/(Raid_r+Raid_w)),
[0022] 根據(jù)Rn的計(jì)算結(jié)果對(duì)Rn進(jìn)行調(diào)整;
[0023] 所述動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn具體為:
[0024] 根據(jù)下述公式計(jì)算Wn:
[0025] Wn = Rn*Raid_w/(Raid_r+Raid_w),
[0026] 根據(jù)Wn的計(jì)算結(jié)果對(duì)Wn進(jìn)行調(diào)整。
[0027] 優(yōu)選地,當(dāng)Raid_r為0時(shí),Rn不進(jìn)行調(diào)整,保持當(dāng)前值不變;當(dāng)Raid_w為0時(shí),Wn 不進(jìn)行調(diào)整,保持當(dāng)前值不變。
[0028] 該動(dòng)態(tài)調(diào)整高速緩存Cache讀寫(xiě)命令數(shù)的裝置包括:Cache層處理模塊,用于統(tǒng)計(jì) 周期時(shí)間T內(nèi)通過(guò)寫(xiě)Cache下發(fā)的隨機(jī)寫(xiě)命令數(shù)R_num和總寫(xiě)命令數(shù)T_num ;RAID層處理 模塊,用于統(tǒng)計(jì)周期時(shí)間T內(nèi)RAID接收到的讀命令數(shù)Raid_r和寫(xiě)命令數(shù)Raid_w ;Cache層 處理模塊,還用于根據(jù)所述R_num、T_num得出的隨機(jī)寫(xiě)的壓力,根據(jù)Raid_r、Raid_w得出的 RAID層實(shí)際的讀寫(xiě)壓力,以及通過(guò)Cache下發(fā)的命令總數(shù)上限值Up_n動(dòng)態(tài)調(diào)整Cache層下 發(fā)到RAID層的寫(xiě)命令數(shù)Wn和讀命令數(shù)Rn。
[0029] 優(yōu)選地,該Cache層處理模塊動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn具 體為:
[0030] 根據(jù)下述公式計(jì)算fc :
[0031] Wn = Up_n*(R_num/T_num)*(Raid_w/(Raid_r+Raid_w)),
[0032] 根據(jù)計(jì)算結(jié)果進(jìn)行Wn的調(diào)整;
[0033] Cache層處理模塊動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的Rn具體為:
[0034] 根據(jù)下述公式計(jì)算 Rn :Rn = Wn*Raid_r/(Raid_r+Raid_w),
[0035] 根據(jù)該計(jì)算結(jié)果進(jìn)行Rn的調(diào)整。
[0036] 優(yōu)選地,當(dāng)Raid_w為0時(shí),Cache層處理模塊不進(jìn)行Wn的調(diào)整,保持其當(dāng)前值不 變;當(dāng)Raid_r為0時(shí),Cache層處理模塊不進(jìn)行Rn的調(diào)整,保持其當(dāng)前值不變。
[0037] 基于同樣的構(gòu)思,該動(dòng)態(tài)調(diào)整高速緩存Cache讀寫(xiě)命令數(shù)的裝置還可以按照如下 方式進(jìn)行設(shè)計(jì),該裝置包括:Cache層處理模塊,用于統(tǒng)計(jì)周期時(shí)間T內(nèi)通過(guò)讀Cache下發(fā) 的隨機(jī)讀命令數(shù)RR_num和總讀命令數(shù)RT_num ;RAID層處理模塊,用于統(tǒng)計(jì)周期時(shí)間T內(nèi) RAID接收到的讀命令數(shù)Raid_r和寫(xiě)命令數(shù)Raid_w ;Cache層處理模塊,還用于根據(jù)所述 RR_num、RT_num得出的隨機(jī)讀的壓力,根據(jù)Raid_r、Raid_w得出的RAID層實(shí)際的讀寫(xiě)壓力, 以及通過(guò)Cache下發(fā)的命令總數(shù)上限值Up_n動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù) fc和讀命令數(shù)Rn。
[0038] 優(yōu)選地,Cache層處理模塊動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的讀命令數(shù)Rn具體 為:
[0039] 根據(jù)下述公式計(jì)算Rn :
[0040] Rn = Up_n*(RR_num/RT_num)*(Raid_r/(Raid_r+Raid_w)),
[0041] 根據(jù)Rn的計(jì)算結(jié)果對(duì)Rn進(jìn)行調(diào)整;
[0042] Cache層處理模塊動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn具體為:
[0043] 根據(jù)下述公式計(jì)算Wn :
[0044] Wn = Rn*Raid_w/(Raid_r+Raid_w),
[0045] 根據(jù)Wn的計(jì)算結(jié)果對(duì)Wn進(jìn)行調(diào)整。
[0046] 優(yōu)選地,當(dāng)Raid_r為0時(shí),Cache層處理模塊不進(jìn)行Rn的調(diào)整,保持其當(dāng)前值不 變;當(dāng)Raid_w為0時(shí),Cache層處理模塊不進(jìn)行Wn的調(diào)整,保持其當(dāng)前值不變。
[0047] 相較于現(xiàn)有技術(shù),本發(fā)明方案利用現(xiàn)有系統(tǒng)各層面能分別統(tǒng)計(jì)各種命令數(shù)的功 能,并根據(jù)各命令數(shù)之間的關(guān)系所能反映的業(yè)務(wù)的實(shí)際情況,設(shè)計(jì)調(diào)整算法,以達(dá)到動(dòng)態(tài)根 據(jù)業(yè)務(wù)讀寫(xiě)狀況,細(xì)致調(diào)整Cache層讀寫(xiě)命令數(shù)的下發(fā)值,以更好的提高系統(tǒng)性能。

【專利附圖】

【附圖說(shuō)明】
[0048] 圖1是現(xiàn)有的一種存儲(chǔ)系統(tǒng)結(jié)構(gòu)圖。
[0049] 圖2是本發(fā)明實(shí)施例流程圖。
[0050] 圖3是本發(fā)明又一實(shí)施例流程圖。
[0051] 圖4是本發(fā)明實(shí)施例裝置圖。

【具體實(shí)施方式】
[0052] 本發(fā)明提供一種動(dòng)態(tài)調(diào)整寫(xiě)Cache和讀Cache中的讀、寫(xiě)命令下發(fā)個(gè)數(shù)的技術(shù)。本 發(fā)明的動(dòng)態(tài)調(diào)整技術(shù)能根據(jù)當(dāng)前的業(yè)務(wù)模型得到合適的讀、寫(xiě)命令下發(fā)個(gè)數(shù)值,從而使得 系統(tǒng)的讀寫(xiě)性能到達(dá)最優(yōu)。以下通過(guò)具體實(shí)施例詳細(xì)說(shuō)明。
[0053] 實(shí)施例一
[0054] 請(qǐng)參圖2,該實(shí)施例包括如下實(shí)施步驟:
[0055] 步驟21、統(tǒng)計(jì)周期時(shí)間T內(nèi)通過(guò)寫(xiě)Cache下發(fā)的隨機(jī)寫(xiě)命令數(shù)R_num和總寫(xiě)命令 數(shù)T_num ;并且統(tǒng)計(jì)周期時(shí)間T內(nèi)RAID接收到的讀命令數(shù)Raid_r和寫(xiě)命令數(shù)Raid_w。
[0056] 步驟22、根據(jù)所述R_num、T_num得出的隨機(jī)寫(xiě)的壓力,根據(jù)Raid_r、Raid_w得出 的RAID層實(shí)際的讀寫(xiě)壓力,以及通過(guò)Cache下發(fā)的命令總數(shù)上限值Up_n動(dòng)態(tài)調(diào)整Cache 層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn和讀命令數(shù)Rn。
[0057] 當(dāng)前具有Cache層處理模塊的系統(tǒng)對(duì)于上層業(yè)務(wù)到達(dá)寫(xiě)緩存后下發(fā)到RAID層的 命令,都可進(jìn)行計(jì)數(shù)。RAID層處理模塊也可以對(duì)實(shí)際接收到的"讀命令個(gè)數(shù)Raid_r"和"寫(xiě) 命令個(gè)數(shù)Raid_w"進(jìn)行計(jì)數(shù)。本發(fā)明主要依賴通過(guò)寫(xiě)緩存模塊下刷RAID層時(shí)的"隨機(jī)命 令刷新數(shù)R_num"跟"總寫(xiě)命令數(shù)T_num"的比例以及RAID層面實(shí)際接收到的"讀命令個(gè) 數(shù)"Raid_r、"寫(xiě)命令個(gè)數(shù)"Raid_w的比較關(guān)系進(jìn)行自動(dòng)調(diào)整Cache下發(fā)到RAID層的讀寫(xiě)命 令數(shù)。
[0058] 寫(xiě)Cache中的數(shù)據(jù)下刷到RAID層時(shí),通常會(huì)遵循系統(tǒng)的寫(xiě)緩存刷新策略刷到RAID 層。Cache層處理模塊會(huì)記錄下刷到RAID層的隨機(jī)寫(xiě)命令數(shù)R_num和總寫(xiě)命令數(shù)T_num。 總寫(xiě)命令數(shù)除了包括隨機(jī)寫(xiě)命令數(shù)外還包括順序?qū)懨顢?shù)。而對(duì)于RAID層,該層的處理模 塊可以統(tǒng)計(jì)到上層包括Cache層或是不經(jīng)過(guò)Cache透?jìng)鞯絉AID層的讀寫(xiě)命令數(shù),即RAID 接收到的讀命令數(shù)Raid_r和寫(xiě)命令數(shù)Raid_w。這里需要針對(duì)同一時(shí)間進(jìn)行統(tǒng)計(jì),所以設(shè)定 Cache層處理模塊和RAID層處理模塊進(jìn)行命令數(shù)統(tǒng)計(jì)的周期時(shí)間為T(mén)。
[0059] 在得到上述統(tǒng)計(jì)值后,可以根據(jù)一定的方式來(lái)動(dòng)態(tài)調(diào)整Cache層下發(fā)的寫(xiě)命令數(shù) fc和讀命令數(shù)Rn。
[0060] 調(diào)整Cache寫(xiě)命令數(shù)Wn的方式為:按照如下公式計(jì)算Wn,然后將計(jì)算得到的結(jié)果 作為下一個(gè)周期的Wn值:
[0061] Wn = Up_n* (R_num/T_num) * (Raid_w/ (Raid_r+Raid_w)) (式一)
[0062] 這里的Up_n為Cache層下發(fā)到RAID層的命令總數(shù)上限值Up_n。
[0063] 這里需要進(jìn)一步說(shuō)明的是,如果當(dāng)Raid_w為0時(shí),Wn不進(jìn)行調(diào)整,而是保持當(dāng)前 值不變。
[0064] 而Rn的調(diào)整方式為,可以按照如下公式計(jì)算Rn,然后將計(jì)算得到的結(jié)果作為調(diào)整 的依據(jù):
[0065] Rn = ffn*Raid_r/ (Raid_r+Raid_w) (式二)
[0066] 需要說(shuō)明的是,如果Raid_w為0,則式二中的Wn為未調(diào)整前的Wn值;如果Raid_w 不為〇,則式二中的Wn為調(diào)整后的Wn值,即式一的計(jì)算結(jié)果。進(jìn)一步地,對(duì)于式二,當(dāng)Raid_ r為0時(shí),Rn不進(jìn)行調(diào)整,保持當(dāng)前的值不變。
[0067] 系統(tǒng)在啟動(dòng)時(shí),需要給Cache層下發(fā)的寫(xiě)命令數(shù)Wn和讀命令數(shù)Rn賦予一初始值; 該初始值通常適應(yīng)通用的監(jiān)控存儲(chǔ)業(yè)務(wù),,。在用戶的實(shí)際業(yè)務(wù)下,且客戶實(shí)際業(yè)務(wù)模型穩(wěn) 定的情況下,fc和Rn經(jīng)過(guò)一段時(shí)間的調(diào)整后,就會(huì)趨于一個(gè)適應(yīng)于當(dāng)前業(yè)務(wù)的穩(wěn)定值。
[0068] 系統(tǒng)啟動(dòng)時(shí),Cache層下發(fā)到RAID層的隨機(jī)寫(xiě)命令數(shù)R_num、總寫(xiě)命令數(shù)T_num, RAID層接收到的讀命令數(shù)Raid_r、寫(xiě)命令數(shù)Raid_w均為0。一個(gè)周期時(shí)間結(jié)束,上述各參 數(shù)值可能發(fā)生了變化,而后根據(jù)fc和Rn的計(jì)算公式執(zhí)行計(jì)算,并根據(jù)計(jì)算結(jié)果判斷是否執(zhí) 行Cache層下發(fā)的寫(xiě)命令數(shù)Wn和讀命令數(shù)Rn的調(diào)整。當(dāng)需要調(diào)整時(shí),執(zhí)行對(duì)應(yīng)的調(diào)整,否 則不調(diào)整。
[0069] 實(shí)施例二
[0070] 請(qǐng)參圖3,該實(shí)施例包括如下實(shí)施步驟:
[0071] 步驟31、統(tǒng)計(jì)周期時(shí)間T內(nèi)通過(guò)讀Cache下發(fā)的隨機(jī)讀命令數(shù)RR_num和總讀命令 數(shù)RT_num ;并且統(tǒng)計(jì)周期時(shí)間T內(nèi)RAID接收到的讀命令數(shù)Raid_r和寫(xiě)命令數(shù)Raid_w。
[0072] 步驟32、根據(jù)所述RR_num、RT_num得出的隨機(jī)讀的壓力,根據(jù)Raid_r、Raid_w得 出的RAID層實(shí)際的讀寫(xiě)壓力,以及通過(guò)Cache下發(fā)的命令總數(shù)上限值Up_n動(dòng)態(tài)調(diào)整Cache 層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn和讀命令數(shù)Rn。。
[0073] 當(dāng)前具有Cache層處理模塊的系統(tǒng)對(duì)于上層業(yè)務(wù)到達(dá)寫(xiě)讀緩存后發(fā)送到RAID層 的命令,也可進(jìn)行計(jì)數(shù)。本發(fā)明主要依賴通過(guò)讀緩存模塊發(fā)送RAID層時(shí)的"隨機(jī)命令讀 命令數(shù)RR_num"跟"總讀命令數(shù)RT_num"的比例以及RAID層面實(shí)際接收到的"讀命令個(gè) 數(shù)"Raid_r、"寫(xiě)命令個(gè)數(shù)"Raid_w的比較關(guān)系進(jìn)行自動(dòng)調(diào)整Cache下發(fā)到RAID層的讀寫(xiě)命 令數(shù)。
[0074] Cache層處理模塊在進(jìn)行讀命令下發(fā)時(shí),統(tǒng)計(jì)一個(gè)周期時(shí)間T內(nèi)下發(fā)到RAID層的 隨機(jī)讀命令數(shù)RR_num和總讀命令數(shù)RT_num??傋x命令數(shù)除了包括隨機(jī)讀命令數(shù)外還包括 順序讀命令數(shù)。而對(duì)于RAID層,該層的處理模塊可以統(tǒng)計(jì)到上層包括Cache層或是不經(jīng)過(guò) Cache透?jìng)鞯絉AID層的讀寫(xiě)命令數(shù),即RAID接收到的讀命令數(shù)Raid_r和寫(xiě)命令數(shù)Raid_ Wo
[0075] 在得到上述統(tǒng)計(jì)值后,可以根據(jù)一定的方式來(lái)動(dòng)態(tài)調(diào)整Cache層下發(fā)的寫(xiě)命令數(shù) fc和讀命令數(shù)Rn。
[0076] 調(diào)整Cache寫(xiě)命令數(shù)Rn的方式為:按照如下公式計(jì)算Rn,然后將計(jì)算得到的結(jié)果 作為調(diào)整的依據(jù):
[0077] Rn = Up_n* (RR_num/RT_num) * (Raid_r/ (Raid_r+Raid_w))(式三)
[0078] 同樣的,這里的Up_n為Cache層下發(fā)到RAID層的命令總數(shù)上限值Up_n。
[0079] 這里需要進(jìn)一步說(shuō)明的是,如果當(dāng)Raid_r為0時(shí),Rn不進(jìn)行調(diào)整,而是保持當(dāng)前 值不變。
[0080] 而fc的調(diào)整方式為,可以按照如下公式計(jì)算,然后將計(jì)算得到的結(jié)果作為調(diào)整的 依據(jù):
[0081] Wn = Rn*Raid_w/(Raid_r+Raid_w)(式四)
[0082] 同樣,需要說(shuō)明的是,如果Raid_r為0,則式四中的Rn為未調(diào)整前的Rn值;如果 Raid_r不為0,則式四中的Rn為調(diào)整后的Rn值,即式三的計(jì)算結(jié)果。進(jìn)一步地,對(duì)于式四, 當(dāng)Raid_w為0時(shí),Wn不進(jìn)行調(diào)整,保持當(dāng)前值不變。
[0083] 同樣的,系統(tǒng)在啟動(dòng)時(shí)給Cache層下發(fā)的寫(xiě)命令數(shù)Wn和讀命令數(shù)Rn賦予一初始 值。此時(shí),Cache層下發(fā)到RAID層的隨機(jī)讀命令數(shù)RR_num、總讀命令數(shù)RT_num,RAID層接 收到的讀命令數(shù)Raid_r、寫(xiě)命令數(shù)Raid_w均為0。本發(fā)明流程開(kāi)始執(zhí)行后,第一個(gè)時(shí)間周 期結(jié)束,便可計(jì)算得到Rn和fc的值,從而根據(jù)該計(jì)算結(jié)果判斷是否需要進(jìn)行fc和Rn的調(diào) 整,如果需要?jiǎng)t執(zhí)行對(duì)應(yīng)的調(diào)整,否則不調(diào)整。
[0084] 上述兩個(gè)實(shí)施例利用現(xiàn)有系統(tǒng)各層面能分別統(tǒng)計(jì)各種命令數(shù)的功能,并根據(jù)各命 令數(shù)之間的關(guān)系所能反映的業(yè)務(wù)的實(shí)際情況,設(shè)計(jì)調(diào)整算法,以達(dá)到動(dòng)態(tài)根據(jù)業(yè)務(wù)讀寫(xiě)狀 況,細(xì)致調(diào)整Cache層讀寫(xiě)命令數(shù)的下發(fā)值,以更好的提高系統(tǒng)性能。
[0085] 基于同樣的構(gòu)思,本發(fā)明還提供一種動(dòng)態(tài)調(diào)整高速緩存Cache讀寫(xiě)命令數(shù)的裝 置,請(qǐng)參圖4。該裝置包括:Cache層處理模塊和RAID層處理模塊。
[0086] Cache層處理模塊,用于統(tǒng)計(jì)周期時(shí)間T內(nèi)通過(guò)寫(xiě)Cache下發(fā)的隨機(jī)寫(xiě)命令數(shù)R_ num和總寫(xiě)命令數(shù)T_num。
[0087] RAID層處理模塊,用于統(tǒng)計(jì)周期時(shí)間T內(nèi)RAID接收到的讀命令數(shù)Raid_r和寫(xiě)命 令數(shù) Raid_w。
[0088] Cache層處理模塊,還用于根據(jù)所述R_num、T_num得出的隨機(jī)寫(xiě)的壓力,根據(jù) Raid_r、Raid_w得出的RAID層實(shí)際的讀寫(xiě)壓力,以及通過(guò)Cache下發(fā)的命令總數(shù)上限值 Up_n動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn和讀命令數(shù)Rn。
[0089] Cache層處理模塊動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn具體為:根據(jù) 下述公式計(jì)算 Wn :Wn = Up_n*(R_num/T_num)*(Raid_w/(Raid_r+Raid_w)),根據(jù)計(jì)算結(jié)果 進(jìn)行fc的調(diào)整;Cache層處理模塊動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的Rn具體為:根據(jù)下 述公式計(jì)算Rn :Rn = Wn*Raid_r/(Raid_r+Raid_w),根據(jù)該計(jì)算結(jié)果進(jìn)行Rn的調(diào)整。
[0090] 當(dāng)Raid_w為0時(shí),Cache層處理模塊不進(jìn)行Wn的調(diào)整,保持其當(dāng)前值不變;當(dāng) Raid_r為0時(shí),Cache層處理模塊不進(jìn)行Rn的調(diào)整,保持其當(dāng)前值不變。
[0091] 另外,Cache層處理模塊,還可以統(tǒng)計(jì)周期時(shí)間T內(nèi)通過(guò)讀Cache下發(fā)的隨機(jī)讀命 令數(shù)RR_num和總讀命令數(shù)RT_num。
[0092] Cache層處理模塊,還可以根據(jù)所述RR_num、RT_num得出的隨機(jī)讀的壓力,根據(jù) Raid_r、Raid_w得出的Raid層實(shí)際的讀寫(xiě)壓力,以及通過(guò)Cache下發(fā)的命令總數(shù)上限值 Up_n動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn和讀命令數(shù)Rn。
[0093] Cache層處理模塊動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的讀命令數(shù)Rn具體為:根據(jù) 下述公式計(jì)算 Rn :Rn = Up_n* (RR_num/RT_num) * (Raid_r/ (Raid_r+Raid_w)),根據(jù) Rn 的計(jì) 算結(jié)果對(duì)Rn進(jìn)行調(diào)整;Cache層處理模塊動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn 具體為:根據(jù)下述公式計(jì)算Wn :Wn = Rn*Raid_w/(Raid_r+Raid_w),根據(jù)Wn的計(jì)算結(jié)果對(duì) fc進(jìn)行調(diào)整。
[0094] 當(dāng)Raid_r為0時(shí),Cache層處理模塊不進(jìn)行Rn的調(diào)整,保持其當(dāng)前值不變;當(dāng) Raid_w為0時(shí),Cache層處理模塊不進(jìn)行Wn的調(diào)整,保持其當(dāng)前值不變。
[〇〇95] 以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1. 一種動(dòng)態(tài)調(diào)整高速緩存Cache讀寫(xiě)命令數(shù)的方法,該方法應(yīng)用于存儲(chǔ)設(shè)備,其特征 在于,該方法包括: 統(tǒng)計(jì)周期時(shí)間T內(nèi)通過(guò)寫(xiě)Cache下發(fā)的隨機(jī)寫(xiě)命令數(shù)R_num和總寫(xiě)命令數(shù)T_num ;并 且統(tǒng)計(jì)周期時(shí)間T內(nèi)RAID接收到的讀命令數(shù)Raid_r和寫(xiě)命令數(shù)Raid_w ; 根據(jù)所述R_num、T_num得出的隨機(jī)寫(xiě)的壓力,根據(jù)Raid_r、Raid_w得出的RAID層實(shí) 際的讀寫(xiě)壓力,以及通過(guò)Cache下發(fā)的命令總數(shù)上限值Up_n動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID 層的寫(xiě)命令數(shù)fc和讀命令數(shù)Rn。
2. 如權(quán)利要求1所述的方法,其特征在于,所述動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě) 命令數(shù)Wn具體為: 根據(jù)下述公式計(jì)算Wn : Wn = Up_n*(R_num/T_num)*(Raid_w/(Raid_r+Raid_w)), 根據(jù)計(jì)算結(jié)果進(jìn)行Wn的調(diào)整; 所述動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的Rn具體為: 根據(jù)下述公式計(jì)算 Rn :Rn = Wn*Raid_r/(Raid_r+Raid_w), 根據(jù)該計(jì)算結(jié)果進(jìn)行Rn的調(diào)整。
3. 如權(quán)利要求2所述的方法,其特征在于,當(dāng)Raid_w為0時(shí),Wn不進(jìn)行調(diào)整,保持當(dāng)前 值不變;當(dāng)Raid_r為0時(shí),Rn不進(jìn)行調(diào)整,保持當(dāng)前值不變。
4. 一種動(dòng)態(tài)調(diào)整高速緩存Cache讀寫(xiě)命令數(shù)的方法,該方法應(yīng)用于存儲(chǔ)設(shè)備,其特征 在于,該方法包括: 統(tǒng)計(jì)周期時(shí)間T內(nèi)通過(guò)讀Cache下發(fā)的隨機(jī)讀命令數(shù)RR_num和總讀命令數(shù)RT_num ; 并且統(tǒng)計(jì)周期時(shí)間T內(nèi)RAID接收到的讀命令數(shù)Raid_r和寫(xiě)命令數(shù)Raid_w ; 根據(jù)所述RR_num、RT_num得出的隨機(jī)讀的壓力,根據(jù)Raid_r、Raid_w得出的Raid層實(shí) 際的讀寫(xiě)壓力,以及通過(guò)Cache下發(fā)的命令總數(shù)上限值Up_n動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID 層的寫(xiě)命令數(shù)fc和讀命令數(shù)Rn。
5. 如權(quán)利要求4所述的方法,其特征在于,所述動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的讀 命令數(shù)Rn具體為: 根據(jù)下述公式計(jì)算Rn : Rn = Up_n*(RR_num/RT_num)*(Raid_r/(Raid_r+Raid_w)), 根據(jù)Rn的計(jì)算結(jié)果對(duì)Rn進(jìn)行調(diào)整; 所述動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn具體為: 根據(jù)下述公式計(jì)算Wn : Wn = Rn*Raid_w/(Raid_r+Raid_w), 根據(jù)fc的計(jì)算結(jié)果對(duì)fc進(jìn)行調(diào)整。
6. 如權(quán)利要求5所述的方法,其特征在于,當(dāng)Raid_r為0時(shí),Rn不進(jìn)行調(diào)整,保持當(dāng)前 值不變;當(dāng)Raid_w為0時(shí),Wn不進(jìn)行調(diào)整,保持當(dāng)前值不變。
7. -種動(dòng)態(tài)調(diào)整高速緩存Cache讀寫(xiě)命令數(shù)的裝置,該方法應(yīng)用于存儲(chǔ)設(shè)備,其特征 在于,該裝置包括: Cache層處理模塊,用于統(tǒng)計(jì)周期時(shí)間T內(nèi)通過(guò)寫(xiě)Cache下發(fā)的隨機(jī)寫(xiě)命令數(shù)R_num和 總寫(xiě)命令數(shù)T_num ; RAID層處理模塊,用于統(tǒng)計(jì)周期時(shí)間T內(nèi)RAID接收到的讀命令數(shù)Raid_r和寫(xiě)命令數(shù) Raid-w ; Cache層處理模塊,還用于根據(jù)所述R_num、T_num得出的隨機(jī)寫(xiě)的壓力,根據(jù)Raid_r、 Raid_w得出的RAID層實(shí)際的讀寫(xiě)壓力,以及通過(guò)Cache下發(fā)的命令總數(shù)上限值Up_n動(dòng)態(tài) 調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn和讀命令數(shù)Rn。
8. 如權(quán)利要求7所述的裝置,其特征在于,Cache層處理模塊動(dòng)態(tài)調(diào)整Cache層下發(fā)到 RAID層的寫(xiě)命令數(shù)Wn具體為: 根據(jù)下述公式計(jì)算Wn : Wn = Up_n*(R_num/T_num)*(Raid_w/(Raid_r+Raid_w)), 根據(jù)計(jì)算結(jié)果進(jìn)行Wn的調(diào)整; Cache層處理模塊動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的Rn具體為: 根據(jù)下述公式計(jì)算 Rn :Rn = Wn*Raid_r/(Raid_r+Raid_w), 根據(jù)該計(jì)算結(jié)果進(jìn)行Rn的調(diào)整。
9. 如權(quán)利要求8所述的裝置,其特征在于,當(dāng)Raid_w為0時(shí),Cache層處理模塊不進(jìn)行 fc的調(diào)整,保持其當(dāng)前值不變;當(dāng)Raid_r為0時(shí),Cache層處理模塊不進(jìn)行Rn的調(diào)整,保持 其當(dāng)前值不變。
10. -種動(dòng)態(tài)調(diào)整高速緩存Cache讀寫(xiě)命令數(shù)的裝置,該方法應(yīng)用于存儲(chǔ)設(shè)備,其特征 在于,該裝置包括: Cache層處理模塊,用于統(tǒng)計(jì)周期時(shí)間T內(nèi)通過(guò)讀Cache下發(fā)的隨機(jī)讀命令數(shù)RR_num 和總讀命令數(shù)RT_num ; RAID層處理模塊,用于統(tǒng)計(jì)周期時(shí)間T內(nèi)RAID接收到的讀命令數(shù)Raid_r和寫(xiě)命令數(shù) Raid_w ; Cache層處理模塊,還用于根據(jù)所述RR_num、RT_num得出的隨機(jī)讀的壓力,根據(jù)Raid_ r、Raid_w得出的RAID層實(shí)際的讀寫(xiě)壓力,以及通過(guò)Cache下發(fā)的命令總數(shù)上限值Up_n動(dòng) 態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn和讀命令數(shù)Rn。
11. 如權(quán)利要求10所述的裝置,其特征在于,Cache層處理模塊動(dòng)態(tài)調(diào)整Cache層下發(fā) 到RAID層的讀命令數(shù)Rn具體為 : 根據(jù)下述公式計(jì)算Rn : Rn = Up_n*(RR_num/RT_num)*(Raid_r/(Raid_r+Raid_w)), 根據(jù)Rn的計(jì)算結(jié)果對(duì)Rn進(jìn)行調(diào)整; Cache層處理模塊動(dòng)態(tài)調(diào)整Cache層下發(fā)到RAID層的寫(xiě)命令數(shù)Wn具體為: 根據(jù)下述公式計(jì)算Wn : Wn = Rn*Raid_w/(Raid_r+Raid_w), 根據(jù)fc的計(jì)算結(jié)果對(duì)fc進(jìn)行調(diào)整。
12. 如權(quán)利要求11所述的方法,其特征在于,當(dāng)Raid_r為0時(shí),Cache層處理模塊不進(jìn) 行Rn的調(diào)整,保持其當(dāng)前值不變;當(dāng)Raid_w為0時(shí),Cache層處理模塊不進(jìn)行Wn的調(diào)整, 保持其當(dāng)前值不變。
【文檔編號(hào)】G06F3/06GK104090728SQ201410313524
【公開(kāi)日】2014年10月8日 申請(qǐng)日期:2014年7月2日 優(yōu)先權(quán)日:2014年7月2日
【發(fā)明者】石巖, 陳繼芬 申請(qǐng)人:浙江宇視科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
内江市| 南通市| 阳曲县| 左云县| 高青县| 上杭县| 大石桥市| 汶上县| 炎陵县| 南投县| 博爱县| 达孜县| 五常市| 钟山县| 临汾市| 胶南市| 渝中区| 叶城县| 集安市| 大安市| 思茅市| 宜川县| 红原县| 周宁县| 大安市| 长宁县| 南岸区| 冀州市| 深泽县| 盐池县| 蓬莱市| 盈江县| 康乐县| 香港 | 桐城市| 石首市| 随州市| 萝北县| 平遥县| 大足县| 永昌县|