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

一種基于語(yǔ)義智能存儲(chǔ)方法及系統(tǒng)的制作方法

文檔序號(hào):6603504閱讀:245來源:國(guó)知局
專利名稱:一種基于語(yǔ)義智能存儲(chǔ)方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種存儲(chǔ)系統(tǒng)技術(shù),尤其涉及一種基于語(yǔ)義智能存儲(chǔ)方法及系統(tǒng)。
背景技術(shù)
在現(xiàn)有的存儲(chǔ)系統(tǒng)技術(shù)中,面臨的最大挑戰(zhàn)就是存儲(chǔ)系統(tǒng)和軟件層(例如,文件 系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng))之間狹窄的接口?,F(xiàn)有的存儲(chǔ)系統(tǒng)對(duì)外展示了一個(gè)簡(jiǎn)單的基于塊的接 口,例如SCSI (小型計(jì)算機(jī)系統(tǒng)接口,Smal 1 Computer Systemlnterface),這個(gè)接口提取了 一些線性排列的塊設(shè)備呈現(xiàn)給客戶端。文件系統(tǒng)執(zhí)行讀塊或者寫塊命令到這個(gè)線性的地址 空間。這種接口的設(shè)計(jì)是為了服務(wù)當(dāng)時(shí)很簡(jiǎn)單的存儲(chǔ)系統(tǒng),很適合簡(jiǎn)單的抽象的線性地址 空間。但是,現(xiàn)有的存儲(chǔ)系統(tǒng)已經(jīng)變得非常龐大和復(fù)雜,需要在多個(gè)方面進(jìn)行大范圍的優(yōu)化 來提升性能。例如,磁盤陣列系統(tǒng),使用RAID (Redundant Array of Independent Disk,獨(dú) 立冗余磁盤陣列)技術(shù)將多個(gè)獨(dú)立的磁盤組織成一個(gè)邏輯盤,提供更大的存儲(chǔ)容量;通過 數(shù)據(jù)分條(Data Striping)和交叉存取(Decluster)技術(shù)有效地提高了 I/O系統(tǒng)的性能, 改善了 I/O系統(tǒng)的數(shù)據(jù)傳輸率;通過保存冗余的數(shù)據(jù)校驗(yàn)信息提高了存儲(chǔ)系統(tǒng)的可靠性。 RAID技術(shù)使存儲(chǔ)系統(tǒng)可以在不丟失數(shù)據(jù)或中斷服務(wù)的情況下恢復(fù)已出現(xiàn)的磁盤錯(cuò)誤。這些 復(fù)雜的功能的實(shí)現(xiàn)都需要獲得存儲(chǔ)系統(tǒng)中大量重要的低級(jí)別的信息,例如,磁盤的故障恢 復(fù)邊界和邏輯塊到物理塊精確的映射信息。雖然存儲(chǔ)系統(tǒng)變得越來越復(fù)雜化和智能化,但是基于塊存儲(chǔ)的接口仍然沒有改 變,這是由于當(dāng)今有大量的存儲(chǔ)產(chǎn)品是基于塊存儲(chǔ)的接口,文件系統(tǒng)不能夠通過這個(gè)接口 獲得和控制低級(jí)別的塊布局的詳細(xì)信息,存儲(chǔ)系統(tǒng)也僅僅只能通過這個(gè)接口觀察到讀塊和 寫塊的原始數(shù)據(jù)流,這些數(shù)據(jù)流并沒有包含任何有意義的語(yǔ)義信息。需要關(guān)心的語(yǔ)義信息 是具體文件中包含的邏輯塊組的信息,數(shù)據(jù)塊的類型(例如,數(shù)據(jù)或者元數(shù)據(jù)),塊的活躍 信息,等等這些信息都是通過現(xiàn)有的存儲(chǔ)系統(tǒng)無法獲得的。對(duì)于這個(gè)問題一個(gè)解決方案是簡(jiǎn)單的改變存儲(chǔ)系統(tǒng)的接口。發(fā)明人在實(shí)施本發(fā) 明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少具有如下缺點(diǎn)改變存儲(chǔ)系統(tǒng)的接口蘊(yùn)藏著極大的危險(xiǎn),需要工業(yè)界的廣泛認(rèn)可,并且在已經(jīng)存 在的軟件結(jié)構(gòu)上進(jìn)行劇變。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問題是文件系統(tǒng)不能夠通過存儲(chǔ)系統(tǒng)接口獲得和 控制低級(jí)別的塊布局的詳細(xì)信息,存儲(chǔ)系統(tǒng)也僅僅只能通過存儲(chǔ)系統(tǒng)接口觀察到讀塊和寫 塊的原始數(shù)據(jù)流,造成預(yù)取和替換數(shù)據(jù)極為不便,存儲(chǔ)系統(tǒng)性能降低。為解決上述技術(shù)問題,本發(fā)明提供的一種基于語(yǔ)義智能存儲(chǔ)方法,包括將文件系統(tǒng)的語(yǔ)義信息嵌入磁盤控制器中;將所述文件系統(tǒng)的邏輯分區(qū)劃分成多個(gè)熱區(qū);所述磁盤控制器利用所述文件系統(tǒng)的語(yǔ)義信息,動(dòng)態(tài)推斷所述磁盤控制器上各個(gè)數(shù)據(jù)塊的類型和狀態(tài);根據(jù)數(shù)據(jù)塊的類型和狀態(tài),將所述磁盤控制器上的數(shù)據(jù)塊分為活躍的數(shù)據(jù)塊和死 亡的數(shù)據(jù)塊;統(tǒng)計(jì)每個(gè)熱區(qū)中活躍的數(shù)據(jù)塊的個(gè)數(shù),計(jì)算每個(gè)熱區(qū)的活躍等級(jí);根據(jù)每個(gè)熱區(qū)的活躍等級(jí),對(duì)文件系統(tǒng)中的文件進(jìn)行預(yù)取。本發(fā)明還提供了一種基于語(yǔ)義智能存儲(chǔ)系統(tǒng),包括文件系統(tǒng)、磁盤控制器和高速 緩沖存儲(chǔ)器;所述高速緩沖存儲(chǔ)器將所述文件系統(tǒng)的語(yǔ)義信息嵌入到所述磁盤控制器中;所述高速緩沖存儲(chǔ)器將所述文件系統(tǒng)的邏輯分區(qū)被劃分成多個(gè)熱區(qū);所述磁盤控制器利用所述文件系統(tǒng)的語(yǔ)義信息,動(dòng)態(tài)推斷所述磁盤控制器上各個(gè) 數(shù)據(jù)塊的類型和狀態(tài);所述高速緩沖存儲(chǔ)器根據(jù)數(shù)據(jù)塊的類型和狀態(tài),將所述磁盤控制器上的數(shù)據(jù)塊分 為活躍的數(shù)據(jù)塊和死亡的數(shù)據(jù)塊;所述高速緩沖存儲(chǔ)器將統(tǒng)計(jì)每個(gè)熱區(qū)中活躍的數(shù)據(jù)塊的個(gè)數(shù),計(jì)算每個(gè)熱區(qū)的活 躍等級(jí);所述磁盤控制器根據(jù)每個(gè)熱區(qū)的活躍等級(jí),對(duì)文件系統(tǒng)中的文件進(jìn)行預(yù)取。實(shí)施本發(fā)明,有如下有益效果本發(fā)明在不改變現(xiàn)有的基于塊存儲(chǔ)的SCSI接口的條件下,將語(yǔ)義信息嵌入到磁 盤控制器中,使磁盤根據(jù)已有的語(yǔ)義信息結(jié)合動(dòng)態(tài)推斷的技術(shù)確定磁盤上的數(shù)據(jù)塊類型和 狀態(tài)信息,最終利用這些語(yǔ)義信息建立一種新型的存儲(chǔ)系統(tǒng)——語(yǔ)義智能存儲(chǔ)系統(tǒng)?;?語(yǔ)義Cache的語(yǔ)義智能存儲(chǔ)方法也正是利用了語(yǔ)義信息,優(yōu)化了 Cache的預(yù)取和替換策略, 最終提升存儲(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ā)明提供的基于語(yǔ)義智能存儲(chǔ)方法第一實(shí)施例的流程示意圖;圖2是本發(fā)明提供的基于語(yǔ)義智能存儲(chǔ)方法第二實(shí)施例的流程示意圖;圖3為本發(fā)明提供的基于語(yǔ)義智能存儲(chǔ)方法對(duì)熱區(qū)進(jìn)行劃分的示意圖;圖4是本發(fā)明提供的基于語(yǔ)義智能存儲(chǔ)方法第五實(shí)施例的流程示意圖;圖5是本發(fā)明提供的基于語(yǔ)義智能存儲(chǔ)方法中建立退火模型的示意圖;圖6是本發(fā)明提供的基于語(yǔ)義智能存儲(chǔ)系統(tǒng)第一實(shí)施例的結(jié)構(gòu)示意圖圖7是本發(fā)明提供的基于語(yǔ)義智能存儲(chǔ)系統(tǒng)第二實(shí)施例的流程示意圖;圖8是本發(fā)明提供的基于語(yǔ)義智能存儲(chǔ)系統(tǒng)第三實(shí)施例的流程示意圖;圖9是本發(fā)明提供的基于語(yǔ)義智能存儲(chǔ)系統(tǒng)第四實(shí)施例的流程示意圖。
具體實(shí)施例方式本發(fā)明所要解決的技術(shù)問題在于現(xiàn)有技術(shù)中,文件系統(tǒng)不能夠通過存儲(chǔ)系統(tǒng)接口 獲得和控制低級(jí)別的塊布局的詳細(xì)信息,存儲(chǔ)系統(tǒng)也僅僅只能通過存儲(chǔ)系統(tǒng)接口觀察到讀 塊和寫塊的原始數(shù)據(jù)流,造成預(yù)取和替換數(shù)據(jù)極為不便,存儲(chǔ)系統(tǒng)性能降低。針對(duì)上述現(xiàn)有技術(shù)的不足,提供一種基于語(yǔ)義智能存儲(chǔ)方法,參見圖1,本發(fā)明提 供的基于語(yǔ)義智能存儲(chǔ)方法第一實(shí)施例的流程如下步驟100,將文件系統(tǒng)的語(yǔ)義信息嵌入磁盤控制器中;步驟101,將所述文件系統(tǒng)的邏輯分區(qū)劃分成多個(gè)熱區(qū);步驟102,所述磁盤控制器利用所述文件系統(tǒng)的語(yǔ)義信息,動(dòng)態(tài)推斷所述磁盤控制 器上各個(gè)數(shù)據(jù)塊的類型和狀態(tài);步驟103,根據(jù)數(shù)據(jù)塊的類型和狀態(tài),將所述磁盤控制器上的數(shù)據(jù)塊分為活躍的數(shù) 據(jù)塊和死亡的數(shù)據(jù)塊;步驟104,統(tǒng)計(jì)每個(gè)熱區(qū)中活躍的數(shù)據(jù)塊的個(gè)數(shù),計(jì)算每個(gè)熱區(qū)的活躍等級(jí);步驟105,根據(jù)每個(gè)熱區(qū)的活躍等級(jí),對(duì)文件系統(tǒng)中的文件進(jìn)行預(yù)取。本發(fā)明在不改變現(xiàn)有的基于塊存儲(chǔ)的SCSI接口的條件下,將語(yǔ)義信息嵌入到磁 盤控制器中,使磁盤根據(jù)已有的語(yǔ)義信息結(jié)合動(dòng)態(tài)推斷的技術(shù)確定磁盤上的數(shù)據(jù)塊類型和 狀態(tài)信息,基于語(yǔ)義Cache的語(yǔ)義智能存儲(chǔ)方法也正是利用了語(yǔ)義信息,優(yōu)化了 Cache的預(yù) 取和替換策略,最終提升存儲(chǔ)系統(tǒng)的性能。參見圖2,為本發(fā)明提供的基于語(yǔ)義智能存儲(chǔ)方法第二實(shí)施例的流程示意圖。本實(shí)施例中,著重說明對(duì)文件系統(tǒng)的熱區(qū)進(jìn)行劃分,如圖3所示,并且計(jì)算每個(gè)熱 區(qū)的活躍等級(jí)的方法流程,如圖2所示。本發(fā)明實(shí)施例中,對(duì)文件系統(tǒng)的整個(gè)邏輯分區(qū)進(jìn)行劃分,默認(rèn)以16個(gè)塊組即2GB 的大小作為一個(gè)熱區(qū)(假設(shè)對(duì)象磁盤的存儲(chǔ)空間大于2GB),每個(gè)熱區(qū)根據(jù)熱區(qū)的活躍度執(zhí) 行一種Cache的預(yù)取策略,當(dāng)然這個(gè)熱區(qū)的大小完全可以根據(jù)實(shí)際情況動(dòng)態(tài)調(diào)整。步驟200,計(jì)算文件系統(tǒng)的熱區(qū)中數(shù)據(jù)塊的活躍度;具體的,首先掃描文件系統(tǒng)數(shù)據(jù)塊中的位圖塊,對(duì)于位圖塊大小是4k的文件系統(tǒng) 來說,一個(gè)位圖塊共有32768個(gè)位,每一位表示一個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊的大小是4k,所以 一個(gè)塊組可以描述128M的大小,掃描每一個(gè)塊組,對(duì)于數(shù)據(jù)塊的活躍度劃分以下8個(gè)等級(jí)活躍度8 在32768個(gè)塊中,超過32768X7/8 = 30832個(gè)塊被標(biāo)記為活躍的,將該 塊組的活躍度設(shè)置為8 ;活躍度7 在32768個(gè)塊中,超過32768X3/4 = 24576個(gè)塊被標(biāo)記為活躍的,將該 塊組的活躍度設(shè)置為7 ;活躍度6 在32768個(gè)塊中,超過32768X5/8 = 20480個(gè)塊被標(biāo)記為活躍的,將該 塊組的活躍度設(shè)置為6 ;活躍度5 在32768個(gè)塊中,超過32768 X 1/2 = 16384個(gè)塊被標(biāo)記為活躍的,將該 塊組的活躍度設(shè)置為5 ;活躍度4 在32768個(gè)塊中,超過32768X3/8 = 12288個(gè)塊被標(biāo)記為活躍的,將該 塊組的活躍度設(shè)置為4 ;活躍度3 在32768個(gè)塊中,超過32768X1/4 = 8192個(gè)塊被標(biāo)記為活躍的,將該塊組的活躍度設(shè)置為3 ;活躍度2 在32768個(gè)塊中,超過32768X 1/8 = 4096個(gè)塊被標(biāo)記為活躍的,將該 塊組的活躍度設(shè)置為2 ;活躍度1 在32768個(gè)位中,如果低于4096個(gè)活躍塊,將該塊組的活躍度設(shè)置為1 ;步驟201,計(jì)算文件系統(tǒng)的熱區(qū)的活躍等級(jí);為通過下列公式計(jì)算每個(gè)熱區(qū)的活躍等級(jí) 其中,Hotlife表示一個(gè)熱區(qū)的活躍度,參數(shù)i是數(shù)據(jù)塊的計(jì)數(shù)值,取值范圍為
,參數(shù)GroupLife是一個(gè)數(shù)據(jù)塊的活躍度,取值范圍為[1,N],N為自然數(shù),參數(shù) GroupNum是一個(gè)熱區(qū)里包含的數(shù)據(jù)塊的個(gè)數(shù)。熱區(qū)的活躍等級(jí)可以很好的反映磁盤上數(shù)據(jù)的布局以及應(yīng)用程序?qū)Υ疟P上數(shù)據(jù) 的使用情況。步驟202,在通過公式計(jì)算每個(gè)熱區(qū)的活躍等級(jí)后,再通過以下公式計(jì)算預(yù)取權(quán)值 P P HotLife* a參數(shù)HotLife為熱區(qū)的活躍等級(jí),參數(shù)a為熱區(qū)的影響因子。對(duì)于同一個(gè)熱區(qū)由于特殊的應(yīng)用采用不同的預(yù)取算法,需要通過實(shí)際采用的預(yù)取 算法來確定a的值,最終影響預(yù)取權(quán)值P。對(duì)于同一個(gè)熱區(qū)如果采用同一種預(yù)取算法,a的 值可以認(rèn)定為1,在規(guī)定的預(yù)取參數(shù)的范圍內(nèi),預(yù)取權(quán)值P和活躍度HotLife就是一個(gè)簡(jiǎn)單 的正比關(guān)系。對(duì)于同一熱區(qū)在不改變預(yù)取算法的前提下,通過修改預(yù)取相關(guān)參數(shù)進(jìn)行大量實(shí)驗(yàn) 后,對(duì)預(yù)取權(quán)值P的選取給出以下參考標(biāo)準(zhǔn)當(dāng)6 < P < 8,此時(shí)可以推斷該熱區(qū)的數(shù)據(jù)塊活躍度最高,可以大幅度的增加后繼 的預(yù)取窗口的大小,使預(yù)取窗口很快逼近Cache的最大預(yù)取窗口 ra_pageS,大幅度的預(yù)取 數(shù)據(jù)。在這個(gè)活躍度最高等級(jí)的熱區(qū)中,即使偶爾出現(xiàn)一部分隨機(jī)讀的干擾,只要熱區(qū)的活 躍等級(jí)沒有下降,仍然不需要改變?cè)械念A(yù)取策略,因?yàn)橥ǔG闆r下,對(duì)于大塊的連續(xù)文件 還是需要進(jìn)行大量的順序操作,對(duì)于大塊的連續(xù)文件進(jìn)行隨機(jī)操作非常少見。對(duì)于這個(gè)最 高等級(jí)的熱區(qū),比較適合需要大量的數(shù)據(jù)傳輸,如Ftp服務(wù)。當(dāng)4 < P < 6,此時(shí)可以推斷該熱區(qū)的活躍度比較高,可以適當(dāng)?shù)脑黾宇A(yù)取窗口的 大小,大膽的進(jìn)行預(yù)取,對(duì)于這個(gè)次高等級(jí)的熱區(qū)比較適合流媒體的在線傳輸,當(dāng)然為了提 高性能,可以使用為流媒體優(yōu)化的特定Cache算法,替換原有的Cache算法。當(dāng)2 < P < 4,此時(shí)可以推斷該熱區(qū)活躍度不高,采用原有的Cache算法,平緩的進(jìn) 行預(yù)取可以達(dá)到平均的最佳性能。當(dāng)P < 2,此時(shí)可以推斷該熱區(qū)的活躍度很低,比較適合隨機(jī)讀,關(guān)閉異步預(yù)取功 能。這種低活躍度的熱區(qū)比較適合數(shù)據(jù)庫(kù)的隨機(jī)查詢,此時(shí)可以使用數(shù)據(jù)庫(kù)系統(tǒng)特有的 Cache緩存策略替換原有的Cache緩存策略,最終得到最佳的系統(tǒng)性能。下面介紹本發(fā)明提供的基于語(yǔ)義智能存儲(chǔ)方法第三實(shí)施例。
本實(shí)施例中,著重說明對(duì)文件系統(tǒng)中的文件進(jìn)行預(yù)取的方法。需要說明的是,現(xiàn)有技術(shù)中的磁盤I/O由兩個(gè)基本步驟構(gòu)成首先,硬盤接到相應(yīng) 的指令開始磁頭從當(dāng)前磁道移動(dòng)到數(shù)據(jù)所在的磁道,這個(gè)過程所用的平均時(shí)間稱為平均尋 道時(shí)間。其次,磁頭移動(dòng)到指定的磁道后,還需要多少平均時(shí)間等待目標(biāo)數(shù)據(jù)塊轉(zhuǎn)動(dòng)到磁頭 位置,這段平均時(shí)間成為平均潛伏時(shí)間;最后,進(jìn)行實(shí)際的數(shù)據(jù)讀取和傳輸,期間可能需要 步入多個(gè)相鄰的磁道。相應(yīng)的有兩個(gè)操作時(shí)間平均訪問時(shí)間和數(shù)據(jù)傳輸時(shí)間,近似等于持 續(xù)數(shù)據(jù)傳輸率與I/O大小的乘積,其中傳輸率的均值可達(dá)80MB/S。在一個(gè)I/O周期中,只有 數(shù)據(jù)傳輸時(shí)間才是硬盤的有效利用時(shí)間。最新硬盤的平均訪問時(shí)間可以達(dá)到8ms。對(duì)一個(gè)I/O密集型的應(yīng)用,如果一個(gè)被異步預(yù)取的頁(yè)面被命中,通常意味著節(jié)省 了一次磁盤1/0,假設(shè)所避免的延遲時(shí)間為5ms ;另一方面,一個(gè)不被命中的預(yù)讀頁(yè)面所耗 費(fèi)的額外數(shù)據(jù)傳輸時(shí)間約為4KB/80MB/S = 0. 05ms。單從這一點(diǎn)估算,預(yù)讀命中率大于1 % 即可帶來性能的提升,雖然不一定是最佳,但已經(jīng)很合算。針對(duì)以上的分析,本發(fā)明提供的基于語(yǔ)義智能存儲(chǔ)方法中的預(yù)取方法是在磁盤 Cache可以根據(jù)塊的狀態(tài)信息,選擇標(biāo)記為活躍的塊進(jìn)行預(yù)取,這樣可以大大提高Cache的 命中率。例如,某一個(gè)磁道包含64個(gè)扇區(qū),8個(gè)扇區(qū)組成一個(gè)數(shù)據(jù)塊,假設(shè)8個(gè)數(shù)據(jù)塊中有 4個(gè)標(biāo)記為活躍的,4個(gè)標(biāo)記為死亡的,這個(gè)Cache —次只可以預(yù)取8個(gè)數(shù)據(jù)塊,如果按照傳 統(tǒng)的預(yù)取策略,將整個(gè)磁道的8個(gè)數(shù)據(jù)塊都預(yù)取進(jìn)Cache,這無疑將浪費(fèi)了寶貴的Cache資 源。按照智能Cache的預(yù)取策略,僅僅會(huì)預(yù)取這8個(gè)塊中的4個(gè)活躍塊,同時(shí)可以在對(duì)相鄰 磁道進(jìn)行預(yù)取,額外讀入4個(gè)活躍的塊,如果額外讀入的4個(gè)活躍的塊有一個(gè)被應(yīng)用程序的 請(qǐng)求命中,節(jié)省一次1/0,就可以節(jié)省4. 95ms的時(shí)間,因此,智能Cache的預(yù)取策略無疑將大 幅度的提高Cache的命中率,從而節(jié)省大量的1/0,使存儲(chǔ)系統(tǒng)的性能得到提升。以下介紹本發(fā)明提供的基于語(yǔ)義智能存儲(chǔ)方法第四實(shí)施例。本實(shí)施例著重說明對(duì)死亡的數(shù)據(jù)塊的替換方法。需要說明的是,數(shù)據(jù)塊的生命周期就是指在文件系統(tǒng)中,從創(chuàng)建一個(gè)塊到刪除這 個(gè)塊的這段時(shí)間。在現(xiàn)有的文件系統(tǒng)中,通常會(huì)每隔30秒將Cache中的數(shù)據(jù)刷新到磁盤 上。在語(yǔ)義Cache中,需要追蹤每一個(gè)由于文件系統(tǒng)的刪除操作而產(chǎn)生需要更新到磁盤的 數(shù)據(jù)塊。刪除數(shù)據(jù)塊的時(shí)間減去創(chuàng)建數(shù)據(jù)塊的時(shí)間就可以得到一個(gè)數(shù)據(jù)塊的生命周期。根 據(jù)數(shù)據(jù)塊的狀態(tài)信息,如果在語(yǔ)義Cache中出現(xiàn)已經(jīng)死亡的塊,這些死亡的塊是不應(yīng)該停 留在Cache中的,應(yīng)該立刻被替換出去。傳統(tǒng)Cache的LRU替換算法由于缺少語(yǔ)義信息,當(dāng) Cache被填滿的時(shí)候,會(huì)將所有的數(shù)據(jù)塊包括已經(jīng)死亡的塊都刷新到磁盤。事實(shí)上,這些被 標(biāo)記為死亡的數(shù)據(jù)塊是沒有必要刷新到磁盤上的。參見圖4,為本發(fā)明實(shí)施例提供的基于語(yǔ)義智能存儲(chǔ)方法第五實(shí)施例的流程示意 圖。本實(shí)施例著重說明對(duì)數(shù)據(jù)塊的跳步預(yù)取策略,如下步驟300,將文件系統(tǒng)的語(yǔ)義信息嵌入磁盤控制器中;步驟301,所述磁盤控制器根據(jù)嵌入在其中的文件系統(tǒng)的語(yǔ)義信息,確定文件系統(tǒng) 級(jí)的邏輯塊和磁盤級(jí)的物理塊之間的映射關(guān)系;步驟302,通過查找所述文件系統(tǒng)級(jí)的邏輯塊和磁盤級(jí)的物理塊之間的映射關(guān)系, 確定該文件系統(tǒng)中文件的邏輯數(shù)據(jù)塊的組成和該文件實(shí)際在物理磁盤上存儲(chǔ)的位置;
步驟303,磁盤控制器的高速緩沖存儲(chǔ)器根據(jù)熱區(qū)上的數(shù)據(jù)吞吐量確定預(yù)取策 略;步驟304,磁盤控制器的高速緩沖存儲(chǔ)器對(duì)所述邏輯上連續(xù)但物理上不連續(xù)的文 件進(jìn)行跳步預(yù)取。傳統(tǒng)的Cache無法感知文件在磁盤上的數(shù)據(jù)布局,操作系統(tǒng)盡量保證在邏輯上連 續(xù)的文件也連續(xù)的存儲(chǔ)在磁盤中,但是這種保證并不是絕對(duì)的,例如,使用過一段時(shí)間的文 件系統(tǒng),向該文件系統(tǒng)上拷貝文件,如果當(dāng)前的最大連續(xù)空閑塊已經(jīng)無法存儲(chǔ)這個(gè)拷貝文 件,操作系統(tǒng)就會(huì)將這個(gè)文件分成若干塊存儲(chǔ)在盡可能大的連續(xù)空閑空間內(nèi),對(duì)于這個(gè)文 件在實(shí)際物理磁盤上的分布情況,傳統(tǒng)的Cache是無法進(jìn)行感知的,仍然會(huì)按照正常的預(yù) 取算法進(jìn)行預(yù)取,這樣每次預(yù)取到存儲(chǔ)這些文件塊邊界的時(shí)候,由于執(zhí)行異步預(yù)取不會(huì)再 命中屬于這個(gè)文件的塊,因而判定下一個(gè)操作為隨機(jī)讀,關(guān)閉異步預(yù)取的功能,執(zhí)行同步預(yù) 取。這樣將極大的影響存儲(chǔ)系統(tǒng)的性能。在本發(fā)明提供的基于語(yǔ)義信息的智能存儲(chǔ)系統(tǒng)中,由于嵌入在磁盤控制器里的文 件系統(tǒng)的知識(shí),磁盤了解所有文件的元數(shù)據(jù)信息,通過對(duì)應(yīng)文件的inode節(jié)點(diǎn)的信息,磁盤 知道這個(gè)文件由那些邏輯數(shù)據(jù)塊組成,同時(shí)磁盤了解這個(gè)文件實(shí)際在物理磁盤上存儲(chǔ)的位 置。這樣通過查找邏輯塊和物理塊的映射關(guān)系,磁盤的Cache可以執(zhí)行一種跳部的預(yù)取策 略,對(duì)那些邏輯上連續(xù)但物理上不連續(xù)的文件進(jìn)行跳步預(yù)取,跳過離散的物理塊邊界,從第 一個(gè)連續(xù)塊跳到下一個(gè)連續(xù)塊進(jìn)行預(yù)取,依次類推。最終,通過智能的執(zhí)行跳步預(yù)取策略改 善存儲(chǔ)系統(tǒng)的性能。需要說明的是,傳統(tǒng)的Cache預(yù)取策略對(duì)預(yù)取參數(shù)的選取是嚴(yán)格按照算法進(jìn)行模 式匹配的,雖然匹配的置信度有所提高,但是在某些情況下也顯得不夠靈活。例如,應(yīng)用程 序在一個(gè)熱區(qū)上進(jìn)行讀操作,傳統(tǒng)的Cache預(yù)取策略會(huì)對(duì)應(yīng)用程序所請(qǐng)求的數(shù)據(jù)進(jìn)行預(yù)取 操作,如果預(yù)取的窗口中有一個(gè)數(shù)據(jù)塊命中,預(yù)取的窗口就會(huì)增加兩倍,同時(shí)采用異步預(yù) 取;如果沒有命中,進(jìn)行同步預(yù)取并重新設(shè)置預(yù)取窗口。事實(shí)上,這種簡(jiǎn)單的將預(yù)取窗口擴(kuò) 大兩倍的方法并不一定能夠持續(xù)的增加I/O吞吐量,通過大量的實(shí)驗(yàn)發(fā)現(xiàn),隨著預(yù)取窗口 的增加,I/O吞吐量并不像一條斜直線一樣按正比增長(zhǎng),而呈現(xiàn)出一條凹凸不平的曲線,這 說明最佳的預(yù)取參數(shù)并不在預(yù)取窗口最大的時(shí)候取得。因而,本發(fā)明提出通過周期性的采 集熱區(qū)上的I/O吞吐量,建立一個(gè)退火模型,如圖5,退火模型最大的優(yōu)勢(shì)就是收斂于全局 最優(yōu)解,而全局最優(yōu)解對(duì)應(yīng)的預(yù)取參數(shù)就是這個(gè)熱區(qū)上的最逼近最優(yōu)解的一組預(yù)取參數(shù)。因此,本發(fā)明提供的高速緩沖存儲(chǔ)器根據(jù)熱區(qū)上的數(shù)據(jù)吞吐量確定預(yù)取策略具體 為周期性采集熱區(qū)上的數(shù)據(jù)吞吐量,確定預(yù)取參數(shù);根據(jù)所述預(yù)取參數(shù),對(duì)所述文件系統(tǒng)中的文件進(jìn)行預(yù)取。其中,所述周期性采集熱區(qū)上的數(shù)據(jù)吞吐量,確定預(yù)取參數(shù),具體為計(jì)算文件系統(tǒng)的多個(gè)接受概率P2. . . Pk,其中K為自然數(shù),P的計(jì)算公式如下 統(tǒng)計(jì)計(jì)算所得的P2. . . Pk,,選出其中的最大值;
根據(jù)所述最大值,計(jì)算對(duì)應(yīng)文件系統(tǒng)的最好狀態(tài)Xbest作為預(yù)取參數(shù);其中,X。ld為文件系統(tǒng)的原始狀態(tài),Xnew為文件系統(tǒng)受到某種擾動(dòng)而變化而成的新 狀態(tài),E(X。ld)為文件系統(tǒng)的原始能量,E(XnJ為文件系統(tǒng)變化后的能量,T為由E(X。ld)變化 到E(Xn6W)的時(shí)間。預(yù)取參數(shù)的采樣和修改算法如下根據(jù)Metropolis準(zhǔn)則,周期性的采樣不同數(shù)據(jù)塊大小的I/O吞吐量,建立一個(gè)退 火模型,X表示預(yù)讀數(shù)據(jù)塊的大小,E(X)表示采樣的I/O吞吐量。擾動(dòng)函數(shù)T(i)為基于不 同大小數(shù)據(jù)塊進(jìn)行采樣的I/O吞吐量之差的均方差的經(jīng)驗(yàn)函數(shù),算法的流程如下(1)根據(jù)熱區(qū)模型計(jì)算出熱區(qū)的活躍度,給出對(duì)應(yīng)熱區(qū)的標(biāo)準(zhǔn)預(yù)取參數(shù)&作為初 始解,假設(shè)Xbest為最優(yōu)預(yù)取參數(shù),令X。ld = X0,并記錄數(shù)據(jù)塊\對(duì)應(yīng)的I/O吞吐量的函數(shù)值 E(X0)。(2)設(shè)置擾動(dòng)函數(shù)的初始值T(i) = T。,迭代k次。(3)Do while T(i) > Tminl)for i from 1 to k ;2)對(duì)當(dāng)前最優(yōu)解Xbest按照擾動(dòng)函數(shù)T(i),產(chǎn)生一新的解Xnew。記錄新的1/0采 樣函數(shù)值E (Xnew),并計(jì)算目標(biāo)函數(shù)值的增量A E = E (Xnew) -E (Xbest),記錄每次變化產(chǎn)生的增 量AEi的值;3)如果 AEi < 0,則 Xbest = Xbest。否則,計(jì)算 Pi = exp^AE/T⑴),記錄 Pi 的 值;4) End for ;(4)i = i+1 ;(5) End Do ;(6)通過以上步驟統(tǒng)計(jì)Pi,P2. . . Pk選出最大值時(shí),對(duì)應(yīng)的Xbest作為最優(yōu)解,計(jì)算結(jié) 束o通過模擬退火算法可以修正因?yàn)閮H僅統(tǒng)計(jì)熱區(qū)活躍度給出的預(yù)取標(biāo)準(zhǔn)參數(shù),從而 選擇最優(yōu)組合的預(yù)取參數(shù),最大程度的發(fā)揮Cache的預(yù)取功能。相應(yīng)地,本發(fā)明還提供一種基于語(yǔ)義智能存儲(chǔ)系統(tǒng),參見圖6,本發(fā)明提供的基于 語(yǔ)義智能存儲(chǔ)系統(tǒng)第一實(shí)施例的結(jié)構(gòu)示意圖本實(shí)施例一種基于語(yǔ)義智能存儲(chǔ)系統(tǒng),包括文件系統(tǒng)1、磁盤控制器2和高速緩 沖存儲(chǔ)器3 ;所述高速緩沖存儲(chǔ)器3將所述文件系統(tǒng)的語(yǔ)義信息嵌入到所述磁盤控制器2中;所述高速緩沖存儲(chǔ)器3將所述文件系統(tǒng)1的邏輯分區(qū)被劃分成多個(gè)熱區(qū);所述磁盤控制器2利用所述文件系統(tǒng)的語(yǔ)義信息,動(dòng)態(tài)推斷所述磁盤控制器2上 各個(gè)數(shù)據(jù)塊的類型和狀態(tài);所述高速緩沖存儲(chǔ)器3根據(jù)數(shù)據(jù)塊的類型和狀態(tài),將所述磁盤控制器2上的數(shù)據(jù) 塊分為活躍的數(shù)據(jù)塊和死亡的數(shù)據(jù)塊;所述高速緩沖存儲(chǔ)器3將統(tǒng)計(jì)每個(gè)熱區(qū)中活躍的數(shù)據(jù)塊的個(gè)數(shù),計(jì)算每個(gè)熱區(qū)的 活躍等級(jí);所述高速緩沖存儲(chǔ)器3根據(jù)每個(gè)熱區(qū)的活躍等級(jí),對(duì)文件系統(tǒng)1中的文件進(jìn)行預(yù)取。本發(fā)明在不改變現(xiàn)有的基于塊存儲(chǔ)的SCSI接口的條件下,將語(yǔ)義信息嵌入到磁 盤控制器中,使磁盤根據(jù)已有的語(yǔ)義信息結(jié)合動(dòng)態(tài)推斷的技術(shù)確定磁盤上的數(shù)據(jù)塊類型和 狀態(tài)信息,最終利用這些語(yǔ)義信息建立一種新型的存儲(chǔ)系統(tǒng)——語(yǔ)義智能存儲(chǔ)系統(tǒng)。基于 語(yǔ)義Cache的語(yǔ)義智能存儲(chǔ)方法也正是利用了語(yǔ)義信息,優(yōu)化了 Cache的預(yù)取和替換策略, 最終提升存儲(chǔ)系統(tǒng)的性能。參見圖7,為本發(fā)明提供的基于語(yǔ)義智能存儲(chǔ)系統(tǒng)第二實(shí)施例的流程示意圖。本實(shí)施例中,著重說明對(duì)本發(fā)明提供的高速緩沖存儲(chǔ)器對(duì)文件系統(tǒng)的熱區(qū)進(jìn)行劃 分后,計(jì)算數(shù)據(jù)塊的活躍度和熱區(qū)活躍等級(jí)的實(shí)施方式。需要說明的是,本發(fā)明實(shí)施例中,對(duì)文件系統(tǒng)的整個(gè)邏輯分區(qū)進(jìn)行劃分,默認(rèn)以16 個(gè)塊組即2GB的大小作為一個(gè)熱區(qū)(假設(shè)對(duì)象磁盤的存儲(chǔ)空間大于2GB),每個(gè)熱區(qū)根據(jù)熱 區(qū)的活躍度執(zhí)行一種Cache的預(yù)取策略,當(dāng)然這個(gè)熱區(qū)的大小完全可以根據(jù)實(shí)際情況動(dòng)態(tài)調(diào)整。本實(shí)施例中的高速緩沖存儲(chǔ)器包括數(shù)據(jù)劃分模塊30,根據(jù)數(shù)據(jù)塊的類型和狀態(tài),將所述磁盤控制器上的數(shù)據(jù)塊分為 活躍的數(shù)據(jù)塊和死亡的數(shù)據(jù)塊;數(shù)據(jù)刪除模塊31,用于數(shù)據(jù)劃分模塊將所述磁盤控制器上的數(shù)據(jù)塊分為活躍的數(shù) 據(jù)塊和死亡的數(shù)據(jù)塊后,將所述死亡的數(shù)據(jù)塊刪除;數(shù)據(jù)塊活躍度計(jì)算模塊32,用于將所述文件系統(tǒng)的邏輯分區(qū)進(jìn)行劃分后,計(jì)算每 個(gè)熱區(qū)的數(shù)據(jù)塊的活躍度;具體的,數(shù)據(jù)塊活躍度計(jì)算模塊32首先掃描文件系統(tǒng)數(shù)據(jù)塊中的位圖塊,對(duì)于位 圖塊大小是4k的文件系統(tǒng)來說,一個(gè)位圖塊共有32768個(gè)位,每一位表示一個(gè)數(shù)據(jù)塊,每個(gè) 數(shù)據(jù)塊的大小是4k,所以一個(gè)塊組可以描述128M的大小,掃描每一個(gè)塊組,對(duì)于數(shù)據(jù)塊的 活躍度劃分以下8個(gè)等級(jí)活躍度8 在32768個(gè)塊中,超過32768X7/8 = 30832個(gè)塊被標(biāo)記為活躍的,將該 塊組的活躍度設(shè)置為8 ;活躍度7 在32768個(gè)塊中,超過32768X3/4 = 24576個(gè)塊被標(biāo)記為活躍的,將該 塊組的活躍度設(shè)置為7 ;活躍度6 在32768個(gè)塊中,超過32768X5/8 = 20480個(gè)塊被標(biāo)記為活躍的,將該 塊組的活躍度設(shè)置為6 ;活躍度5 在32768個(gè)塊中,超過32768X1/2 = 16384個(gè)塊被標(biāo)記為活躍的,將該 塊組的活躍度設(shè)置為5 ;活躍度4 在32768個(gè)塊中,超過32768X3/8 = 12288個(gè)塊被標(biāo)記為活躍的,將該 塊組的活躍度設(shè)置為4 ;活躍度3 在32768個(gè)塊中,超過32768X1/4 = 8192個(gè)塊被標(biāo)記為活躍的,將該 塊組的活躍度設(shè)置為3 ;活躍度2 在32768個(gè)塊中,超過32768X1/8 = 4096個(gè)塊被標(biāo)記為活躍的,將該 塊組的活躍度設(shè)置為2 ;活躍度1 在32768個(gè)位中,如果低于4096個(gè)活躍塊,將該塊組的活躍度設(shè)置為1 ;
熱區(qū)活躍等級(jí)計(jì)算模塊33,用于通過下列公式計(jì)算每個(gè)熱區(qū)的活躍等級(jí) 其中,Hotlife表示一個(gè)熱區(qū)的活躍度,參數(shù)i是數(shù)據(jù)塊的計(jì)數(shù)值,取值范圍為
,參數(shù)GroupLife是一個(gè)數(shù)據(jù)塊的活躍度,取值范圍為[1,N],N為自然數(shù),參數(shù) GroupNum是一個(gè)熱區(qū)里包含的數(shù)據(jù)塊的個(gè)數(shù)。熱區(qū)的活躍等級(jí)可以很好的反映磁盤上數(shù)據(jù)的布局以及應(yīng)用程序?qū)Υ疟P上數(shù)據(jù) 的使用情況。本發(fā)明實(shí)施例的高速緩沖存儲(chǔ)器3還包括預(yù)取權(quán)值計(jì)算模塊34,用于在通過公式 計(jì)算每個(gè)熱區(qū)的活躍等級(jí)后,再通過以下公式計(jì)算預(yù)取權(quán)值P P ~ HotLife*a參數(shù)HotLife為熱區(qū)的活躍等級(jí),參數(shù)a為熱區(qū)的影響因子。對(duì)于同一個(gè)熱區(qū)由于特殊的應(yīng)用采用不同的預(yù)取算法,需要通過實(shí)際采用的預(yù)取 算法來確定a的值,最終影響預(yù)取權(quán)值P。對(duì)于同一個(gè)熱區(qū)如果采用同一種預(yù)取算法,a的 值可以認(rèn)定為1,在規(guī)定的預(yù)取參數(shù)的范圍內(nèi),預(yù)取權(quán)值P和活躍度HotLife就是一個(gè)簡(jiǎn)單 的正比關(guān)系。對(duì)于同一熱區(qū)在不改變預(yù)取算法的前提下,通過修改預(yù)取相關(guān)參數(shù)進(jìn)行大量實(shí)驗(yàn) 后,對(duì)預(yù)取權(quán)值P的選取給出以下參考標(biāo)準(zhǔn)當(dāng)6 < P < 8,此時(shí)可以推斷該熱區(qū)的數(shù)據(jù)塊活躍度最高,可以大幅度的增加后繼 的預(yù)取窗口的大小,使預(yù)取窗口很快逼近Cache的最大預(yù)取窗口 ra_pageS,大幅度的預(yù)取 數(shù)據(jù)。在這個(gè)活躍度最高等級(jí)的熱區(qū)中,即使偶爾出現(xiàn)一部分隨機(jī)讀的干擾,只要熱區(qū)的活 躍等級(jí)沒有下降,仍然不需要改變?cè)械念A(yù)取策略,因?yàn)橥ǔG闆r下,對(duì)于大塊的連續(xù)文件 還是需要進(jìn)行大量的順序操作,對(duì)于大塊的連續(xù)文件進(jìn)行隨機(jī)操作非常少見。對(duì)于這個(gè)最 高等級(jí)的熱區(qū),比較適合需要大量的數(shù)據(jù)傳輸,如Ftp服務(wù)。當(dāng)4彡P(guān) < 6,此時(shí)可以推斷該熱區(qū)的活躍度比較高,可以適當(dāng)?shù)脑黾宇A(yù)取窗口的 大小,大膽的進(jìn)行預(yù)取,對(duì)于這個(gè)次高等級(jí)的熱區(qū)比較適合流媒體的在線傳輸,當(dāng)然為了提 高性能,可以使用為流媒體優(yōu)化的特定Cache算法,替換原有的Cache算法。當(dāng)2彡P(guān) < 4,此時(shí)可以推斷該熱區(qū)活躍度不高,采用原有的Cache算法,平緩的進(jìn) 行預(yù)取可以達(dá)到平均的最佳性能。當(dāng)P < 2,此時(shí)可以推斷該熱區(qū)的活躍度很低,比較適合隨機(jī)讀,關(guān)閉異步預(yù)取功 能。這種低活躍度的熱區(qū)比較適合數(shù)據(jù)庫(kù)的隨機(jī)查詢,此時(shí)可以使用數(shù)據(jù)庫(kù)系統(tǒng)特有的 Cache緩存策略替換原有的Cache緩存策略,最終得到最佳的系統(tǒng)性能。參見圖8,為本發(fā)明實(shí)施例提供的基于語(yǔ)義智能存儲(chǔ)系統(tǒng)第三實(shí)施例的結(jié)構(gòu)示意 圖。本實(shí)施例著重說明高速緩沖存儲(chǔ)器對(duì)數(shù)據(jù)塊的跳步預(yù)取策略,如下映射關(guān)系確定模塊35,用于根據(jù)嵌入在其中的文件系統(tǒng)的語(yǔ)義信息,確定文件系 統(tǒng)級(jí)的邏輯塊和磁盤級(jí)的物理塊之間的映射關(guān)系;映射關(guān)系存儲(chǔ)模塊36,用于存儲(chǔ)所述映射關(guān)系確定模塊確定的文件系統(tǒng)級(jí)的邏輯 塊和磁盤級(jí)的物理塊之間的映射關(guān)系。
位置確定模塊37,用于通過查找所述映射關(guān)系存儲(chǔ)模塊中存儲(chǔ)的文件系統(tǒng)級(jí)的邏 輯塊和磁盤級(jí)的物理塊之間的映射關(guān)系,確定該文件系統(tǒng)中文件的邏輯數(shù)據(jù)塊的組成和該 文件實(shí)際在物理磁盤上存儲(chǔ)的位置;預(yù)取策略確定模塊38,用于根據(jù)熱區(qū)上的數(shù)據(jù)吞吐量確定預(yù)取策略;預(yù)取模塊39,用于根據(jù)所述預(yù)取策略確定模塊對(duì)所述邏輯上連續(xù)但物理上不連續(xù) 的文件進(jìn)行跳步預(yù)取。需要說明的是,傳統(tǒng)的Cache無法感知文件在磁盤上的數(shù)據(jù)布局,操作系統(tǒng)盡量 保證在邏輯上連續(xù)的文件也連續(xù)的存儲(chǔ)在磁盤中,但是這種保證并不是絕對(duì)的,例如,使用 過一段時(shí)間的文件系統(tǒng),向該文件系統(tǒng)上拷貝文件,如果當(dāng)前的最大連續(xù)空閑塊已經(jīng)無法 存儲(chǔ)這個(gè)拷貝文件,操作系統(tǒng)就會(huì)將這個(gè)文件分成若干塊存儲(chǔ)在盡可能大的連續(xù)空閑空間 內(nèi),對(duì)于這個(gè)文件在實(shí)際物理磁盤上的分布情況,傳統(tǒng)的Cache是無法進(jìn)行感知的,仍然會(huì) 按照正常的預(yù)取算法進(jìn)行預(yù)取,這樣每次預(yù)取到存儲(chǔ)這些文件塊邊界的時(shí)候,由于執(zhí)行異 步預(yù)取不會(huì)再命中屬于這個(gè)文件的塊,因而判定下一個(gè)操作為隨機(jī)讀,關(guān)閉異步預(yù)取的功 能,執(zhí)行同步預(yù)取。這樣將極大的影響存儲(chǔ)系統(tǒng)的性能。在本發(fā)明提供的基于語(yǔ)義信息的智能存儲(chǔ)系統(tǒng)中,由于嵌入在磁盤控制器里的文 件系統(tǒng)的知識(shí),磁盤了解所有文件的元數(shù)據(jù)信息,通過對(duì)應(yīng)文件的inode節(jié)點(diǎn)的信息,磁盤 知道這個(gè)文件由那些邏輯數(shù)據(jù)塊組成,同時(shí)磁盤了解這個(gè)文件實(shí)際在物理磁盤上存儲(chǔ)的位 置。這樣通過查找邏輯塊和物理塊的映射關(guān)系,磁盤的Cache可以執(zhí)行一種跳部的預(yù)取策 略,對(duì)那些邏輯上連續(xù)但物理上不連續(xù)的文件進(jìn)行跳步預(yù)取,跳過離散的物理塊邊界,從第 一個(gè)連續(xù)塊跳到下一個(gè)連續(xù)塊進(jìn)行預(yù)取,依次類推。最終,通過智能的執(zhí)行跳步預(yù)取策略改 善存儲(chǔ)系統(tǒng)的性能。需要說明的是,傳統(tǒng)的Cache預(yù)取策略對(duì)預(yù)取參數(shù)的選取是嚴(yán)格按照算法進(jìn)行模 式匹配的,雖然匹配的置信度有所提高,但是在某些情況下也顯得不夠靈活。例如,應(yīng)用程 序在一個(gè)熱區(qū)上進(jìn)行讀操作,傳統(tǒng)的Cache預(yù)取策略會(huì)對(duì)應(yīng)用程序所請(qǐng)求的數(shù)據(jù)進(jìn)行預(yù)取 操作,如果預(yù)取的窗口中有一個(gè)數(shù)據(jù)塊命中,預(yù)取的窗口就會(huì)增加兩倍,同時(shí)采用異步預(yù) 取;如果沒有命中,進(jìn)行同步預(yù)取并重新設(shè)置預(yù)取窗口。事實(shí)上,這種簡(jiǎn)單的將預(yù)取窗口擴(kuò) 大兩倍的方法并不一定能夠持續(xù)的增加I/O吞吐量,通過大量的實(shí)驗(yàn)發(fā)現(xiàn),隨著預(yù)取窗口 的增加,I/O吞吐量并不像一條斜直線一樣按正比增長(zhǎng),而呈現(xiàn)出一條凹凸不平的曲線,這 說明最佳的預(yù)取參數(shù)并不在預(yù)取窗口最大的時(shí)候取得。因而,本發(fā)明提出通過周期性的采 集熱區(qū)上的I/O吞吐量,建立一個(gè)退火模型,如圖5,退火模型最大的優(yōu)勢(shì)就是收斂于全局 最優(yōu)解,而全局最優(yōu)解對(duì)應(yīng)的預(yù)取參數(shù)就是這個(gè)熱區(qū)上的最逼近最優(yōu)解的一組預(yù)取參數(shù)。因此,本發(fā)明提供的高速緩沖存儲(chǔ)器根據(jù)熱區(qū)上的數(shù)據(jù)吞吐量確定預(yù)取策略具體 為周期性采集熱區(qū)上的數(shù)據(jù)吞吐量,確定預(yù)取參數(shù);根據(jù)所述預(yù)取參數(shù),對(duì)所述文件系統(tǒng)中的文件進(jìn)行預(yù)取。參見圖9,為本發(fā)明實(shí)施例提供的基于語(yǔ)義智能存儲(chǔ)系統(tǒng)第四實(shí)施例的結(jié)構(gòu)示意 圖。本實(shí)施例著重說明預(yù)取策略確定模塊的具體組成。其包括接受概率計(jì)算單元380和最大值選取單元381以及預(yù)取參數(shù)選擇單元382 ; 所述概率計(jì)算單元380,用于計(jì)算文件系統(tǒng)的多個(gè)接受概率P2. . . Pk,其中K為 自然數(shù),P的計(jì)算公式如下 所述最大值選取單元381,用于統(tǒng)計(jì)計(jì)算所得的P2. . . Pk,,選出其中的最大值;預(yù)取參數(shù)選擇單元382,用于根據(jù)所述最大值,計(jì)算對(duì)應(yīng)文件系統(tǒng)的最好狀態(tài)Xbest 作為預(yù)取參數(shù);其中,X。ld為文件系統(tǒng)的原始狀態(tài),Xnew為文件系統(tǒng)受到某種擾動(dòng)而變化而成的新 狀態(tài),E(X。ld)為文件系統(tǒng)的原始能量,E(XnJ為文件系統(tǒng)變化后的能量,T為由E(X。ld)變化 到E(Xn6W)的時(shí)間。預(yù)取參數(shù)的采樣和修改算法如下根據(jù)Metropolis準(zhǔn)則,周期性的采樣不同數(shù)據(jù)塊大小的I/O吞吐量,建立一個(gè)退 火模型,X表示預(yù)讀數(shù)據(jù)塊的大小,E(X)表示采樣的I/O吞吐量。擾動(dòng)函數(shù)T(i)為基于不 同大小數(shù)據(jù)塊進(jìn)行采樣的I/O吞吐量之差的均方差的經(jīng)驗(yàn)函數(shù),算法的流程如下(1)根據(jù)熱區(qū)模型計(jì)算出熱區(qū)的活躍度,給出對(duì)應(yīng)熱區(qū)的標(biāo)準(zhǔn)預(yù)取參數(shù)\作為初 始解,假設(shè)Xbest為最優(yōu)預(yù)取參數(shù),令X。ld = X0,并記錄數(shù)據(jù)塊\對(duì)應(yīng)的I/O吞吐量的函數(shù)值 E(X0)。(2)設(shè)置擾動(dòng)函數(shù)的初始值T(i) = I;,迭代k次。(3)Do while T(i) > Tminl)for i from 1 to k ;2)對(duì)當(dāng)前最優(yōu)解Xbest按照擾動(dòng)函數(shù)T(i),產(chǎn)生一新的解Xnew。記錄新的1/0采 樣函數(shù)值E (Xnew),并計(jì)算目標(biāo)函數(shù)值的增量A E = E (Xnew) -E (Xbest),記錄每次變化產(chǎn)生的增 量AEi的值;3)如果 AEi < 0,則 Xbest = Xbest。否則,計(jì)算 Pi = exp (-A E/T ⑴),記錄 的 值;4) End for ;(4)i = i+1 ;(5) End Do ;(6)通過以上步驟統(tǒng)計(jì)Pi,P2. . . Pk選出最大值時(shí),對(duì)應(yīng)的Xbest作為最優(yōu)解,計(jì)算結(jié) 束o通過模擬退火算法可以修正因?yàn)閮H僅統(tǒng)計(jì)熱區(qū)活躍度給出的預(yù)取標(biāo)準(zhǔn)參數(shù),從而 選擇最優(yōu)組合的預(yù)取參數(shù),最大程度的發(fā)揮Cache的預(yù)取功能。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以 通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì) 中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁 碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access
15Memory, RAM)等。 以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也視為 本發(fā)明的保護(hù)范圍。
權(quán)利要求
一種基于語(yǔ)義智能存儲(chǔ)方法,其特征在于,包括將文件系統(tǒng)的語(yǔ)義信息嵌入磁盤控制器中;將所述文件系統(tǒng)的邏輯分區(qū)劃分成多個(gè)熱區(qū);所述磁盤控制器利用所述文件系統(tǒng)的語(yǔ)義信息,動(dòng)態(tài)推斷所述磁盤控制器上各個(gè)數(shù)據(jù)塊的類型和狀態(tài);根據(jù)數(shù)據(jù)塊的類型和狀態(tài),將所述磁盤控制器上的數(shù)據(jù)塊分為活躍的數(shù)據(jù)塊和死亡的數(shù)據(jù)塊;統(tǒng)計(jì)每個(gè)熱區(qū)中活躍的數(shù)據(jù)塊的個(gè)數(shù),計(jì)算每個(gè)熱區(qū)的活躍等級(jí);根據(jù)每個(gè)熱區(qū)的活躍等級(jí),對(duì)文件系統(tǒng)中的文件進(jìn)行預(yù)取。
2.如權(quán)利要求1所述的方法,其特征在于,在根據(jù)數(shù)據(jù)塊的類型和狀態(tài),將所述磁盤控 制器上的數(shù)據(jù)塊分為活躍的數(shù)據(jù)塊和死亡的數(shù)據(jù)塊后,將所述死亡的數(shù)據(jù)塊刪除。
3.如權(quán)利要求2所述的方法,其特征在于,將文件系統(tǒng)的語(yǔ)義信息嵌入磁盤控制器中 之后,還包括所述磁盤控制器根據(jù)嵌入在其中的文件系統(tǒng)的語(yǔ)義信息,確定文件系統(tǒng)級(jí)的邏輯塊和 磁盤級(jí)的物理塊之間的映射關(guān)系;通過查找所述文件系統(tǒng)級(jí)的邏輯塊和磁盤級(jí)的物理塊之間的映射關(guān)系,確定該文件系 統(tǒng)中文件的邏輯數(shù)據(jù)塊的組成和該文件實(shí)際在物理磁盤上存儲(chǔ)的位置; 高速緩沖存儲(chǔ)器根據(jù)熱區(qū)上的數(shù)據(jù)吞吐量確定預(yù)取策略; 高速緩沖存儲(chǔ)器對(duì)所述邏輯上連續(xù)但物理上不連續(xù)的文件進(jìn)行跳步預(yù)取。
4.如權(quán)利要求3所述的方法,其特征在于,所述確定預(yù)取策略具體為 周期性采集熱區(qū)上的數(shù)據(jù)吞吐量,確定預(yù)取參數(shù);根據(jù)所述預(yù)取參數(shù),確定對(duì)所述文件系統(tǒng)中的文件進(jìn)行預(yù)取的預(yù)取策略; 所述周期性采集熱區(qū)上的數(shù)據(jù)吞吐量,確定預(yù)取參數(shù),具體為 計(jì)算文件系統(tǒng)的多個(gè)接受概率P” P2. . . Pk,其中K為自然數(shù),P的計(jì)算公式如下 統(tǒng)計(jì)計(jì)算所得的P” P2. Pk,,選出其中的最大值; 根據(jù)所述最大值,計(jì)算對(duì)應(yīng)文件系統(tǒng)的最好狀態(tài)Xbest作為預(yù)取參數(shù); 其中,x。ld為文件系統(tǒng)的原始狀態(tài),為文件系統(tǒng)受到某種擾動(dòng)而變化而成的新狀態(tài), E(X。ld)為文件系統(tǒng)的原始能量,E(Xnew)為文件系統(tǒng)變化后的能量,T為由E(X。ld)變化到 E(Xnew)的時(shí)間。
5.如權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述計(jì)算每個(gè)熱區(qū)的活躍等級(jí) 為通過下列公式計(jì)算每個(gè)熱區(qū)的活躍等級(jí) 其中,Hotlife表示一個(gè)熱區(qū)的活躍度,參數(shù)i是數(shù)據(jù)塊的計(jì)數(shù)值,取值范圍為
,參數(shù)GroupLife是一個(gè)數(shù)據(jù)塊的活躍度,取值范圍為[1,N],N為自然數(shù),參數(shù)GroupNum是一個(gè)熱區(qū)里包含的數(shù)據(jù)塊的個(gè)數(shù);在通過公式計(jì)算每個(gè)熱區(qū)的活躍等級(jí)后,再通過以下公式計(jì)算預(yù)取權(quán)值P P “ HotLife* a參數(shù)HotLife為熱區(qū)的活躍等級(jí),參數(shù)a為熱區(qū)的影響因子。
6.一種基于語(yǔ)義智能存儲(chǔ)系統(tǒng),其特征在于,包括文件系統(tǒng)、磁盤控制器和高速緩沖 存儲(chǔ)器;所述高速緩沖存儲(chǔ)器將所述文件系統(tǒng)的語(yǔ)義信息嵌入到所述磁盤控制器中; 所述高速緩沖存儲(chǔ)器將所述文件系統(tǒng)的邏輯分區(qū)被劃分成多個(gè)熱區(qū); 所述磁盤控制器利用所述文件系統(tǒng)的語(yǔ)義信息,動(dòng)態(tài)推斷所述磁盤控制器上各個(gè)數(shù)據(jù) 塊的類型和狀態(tài);所述高速緩沖存儲(chǔ)器根據(jù)數(shù)據(jù)塊的類型和狀態(tài),將所述磁盤控制器上的數(shù)據(jù)塊分為活 躍的數(shù)據(jù)塊和死亡的數(shù)據(jù)塊;所述高速緩沖存儲(chǔ)器將統(tǒng)計(jì)每個(gè)熱區(qū)中活躍的數(shù)據(jù)塊的個(gè)數(shù),計(jì)算每個(gè)熱區(qū)的活躍等級(jí);所述高速緩沖存儲(chǔ)器根據(jù)每個(gè)熱區(qū)的活躍等級(jí),對(duì)文件系統(tǒng)中的文件進(jìn)行預(yù)取。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述高速緩沖存儲(chǔ)器包括數(shù)據(jù)劃分模塊,根據(jù)數(shù)據(jù)塊的類型和狀態(tài),將所述磁盤控制器上的數(shù)據(jù)塊分為活躍的 數(shù)據(jù)塊和死亡的數(shù)據(jù)塊;數(shù)據(jù)刪除模塊,用于數(shù)據(jù)劃分模塊將所述磁盤控制器上的數(shù)據(jù)塊分為活躍的數(shù)據(jù)塊和 死亡的數(shù)據(jù)塊后,將所述死亡的數(shù)據(jù)塊刪除。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述高速緩沖存儲(chǔ)器包括映射關(guān)系確定模塊,用于根據(jù)嵌入在其中的文件系統(tǒng)的語(yǔ)義信息,確定文件系統(tǒng)級(jí)的 邏輯塊和磁盤級(jí)的物理塊之間的映射關(guān)系;映射關(guān)系存儲(chǔ)模塊,用于存儲(chǔ)所述映射關(guān)系確定模塊確定的文件系統(tǒng)級(jí)的邏輯塊和磁 盤級(jí)的物理塊之間的映射關(guān)系。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述高速緩沖存儲(chǔ)器包括位置確定模塊,用于通過查找所述映射關(guān)系存儲(chǔ)模塊中存儲(chǔ)的文件系統(tǒng)級(jí)的邏輯塊和 磁盤級(jí)的物理塊之間的映射關(guān)系,確定該文件系統(tǒng)中文件的邏輯數(shù)據(jù)塊的組成和該文件實(shí) 際在物理磁盤上存儲(chǔ)的位置;預(yù)取策略確定模塊,用于根據(jù)熱區(qū)上的數(shù)據(jù)吞吐量確定預(yù)取策略; 預(yù)取模塊,用于根據(jù)所述預(yù)取策略確定模塊對(duì)所述邏輯上連續(xù)但物理上不連續(xù)的文件 進(jìn)行跳步預(yù)?。凰鲱A(yù)取策略確定模塊包括接受概率計(jì)算單元,用于計(jì)算文件系統(tǒng)的多個(gè)接受概率Pi,P2. . . Pk,其中K為自然數(shù),P 的計(jì)算公式如下 其中,X。ld為文件系統(tǒng)的原始狀態(tài),為文件系統(tǒng)受到某種擾動(dòng)而變化而成的新狀態(tài),E(X。ld)為文件系統(tǒng)的原始能量,E(Xnew)為文件系統(tǒng)變化后的能量,T為由E(X。ld)變化到 E(Xnew)的時(shí)間;最大值選取單元,用于統(tǒng)計(jì)所述接受概率計(jì)算單元計(jì)算所得的P” P2. Pk,,選出其中 的最大值;預(yù)取參數(shù)選擇單元,根據(jù)所述最大值,計(jì)算對(duì)應(yīng)文件系統(tǒng)的最好狀態(tài)Xtest作為預(yù)取參數(shù)。
10.如權(quán)利要求6至9中任一項(xiàng)所述的系統(tǒng),其特征在于,所述高速緩沖存儲(chǔ)器還包括數(shù)據(jù)塊活躍度計(jì)算模塊,用于將所述文件系統(tǒng)的邏輯分區(qū)進(jìn)行劃分后,計(jì)算每個(gè)熱區(qū) 的數(shù)據(jù)塊的活躍度;熱區(qū)活躍等級(jí)計(jì)算模塊,用于通過下列公式計(jì)算每個(gè)熱區(qū)的活躍等級(jí) 其中,Hotlife表示一個(gè)熱區(qū)的活躍度,參數(shù)i是數(shù)據(jù)塊的計(jì)數(shù)值,取值范圍為
,參數(shù)GroupLife是一個(gè)數(shù)據(jù)塊的活躍度,取值范圍為[1,N],N為自然數(shù),參數(shù) GroupNum是一個(gè)熱區(qū)里包含的數(shù)據(jù)塊的個(gè)數(shù); 所述高速緩沖存儲(chǔ)器還包括預(yù)取權(quán)值計(jì)算模塊,用于通過以下公式計(jì)算預(yù)取權(quán)值P P “ HotLife* a參數(shù)HotLife為熱區(qū)的活躍等級(jí),參數(shù)a為熱區(qū)的影響因子。
全文摘要
本發(fā)明提供的一種基于語(yǔ)義智能存儲(chǔ)方法及系統(tǒng),所述方法包括將文件系統(tǒng)的語(yǔ)義信息嵌入磁盤控制器中;將所述文件系統(tǒng)的邏輯分區(qū)劃分成多個(gè)熱區(qū);所述磁盤控制器利用所述文件系統(tǒng)的語(yǔ)義信息,動(dòng)態(tài)推斷所述磁盤控制器上各個(gè)數(shù)據(jù)塊的類型和狀態(tài);根據(jù)數(shù)據(jù)塊的類型和狀態(tài),將所述磁盤控制器上的數(shù)據(jù)塊分為活躍的數(shù)據(jù)塊和死亡的數(shù)據(jù)塊;統(tǒng)計(jì)每個(gè)熱區(qū)中活躍的數(shù)據(jù)塊的個(gè)數(shù),計(jì)算每個(gè)熱區(qū)的活躍等級(jí);根據(jù)每個(gè)熱區(qū)的活躍等級(jí),對(duì)文件系統(tǒng)中的文件進(jìn)行預(yù)取。實(shí)施本發(fā)明,優(yōu)化了Cache的預(yù)取和替換策略,最終提升存儲(chǔ)系統(tǒng)的性能。
文檔編號(hào)G06F3/06GK101853303SQ20101019021
公開日2010年10月6日 申請(qǐng)日期2010年6月2日 優(yōu)先權(quán)日2010年6月2日
發(fā)明者王衛(wèi)斌 申請(qǐng)人:深圳市迪菲特科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
随州市| 南郑县| 望都县| 武山县| 丘北县| 马尔康县| 寿宁县| 遂川县| 东至县| 康马县| 濮阳市| 鸡西市| 婺源县| 台南市| 桂平市| 山阴县| 东台市| 大荔县| 名山县| 桐柏县| 南充市| 武威市| 会昌县| 昌图县| 满洲里市| 洪洞县| 福贡县| 邢台县| 乌兰浩特市| 丽江市| 双鸭山市| 深泽县| 化隆| 平潭县| 福鼎市| 望谟县| 宜宾市| 平南县| 鄱阳县| 新田县| 上蔡县|