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

一種I/O特征識別方法以及裝置與流程

文檔序號:11250809閱讀:1578來源:國知局
一種I/O特征識別方法以及裝置與流程
本發(fā)明涉及計算機
技術領域
,尤其涉及一種i/o特征識別方法以及裝置。
背景技術
:隨著信息技術的迅速發(fā)展,網(wǎng)絡規(guī)模隨著用戶數(shù)呈指數(shù)級增長,也越來越龐大,為了支持斷接操作,數(shù)據(jù)要預先存儲到緩存中,由于在斷接過程中只能使用本地的數(shù)據(jù),所以要提高用戶的訪問速度,主要采用緩存預取技術來減少網(wǎng)絡延遲,因此這個數(shù)據(jù)預先提取的過程是必需的。在現(xiàn)有技術中,可以利用全量i/o訪問歷史來挖掘數(shù)據(jù)間的關聯(lián)關系,并通過該關聯(lián)關系生成規(guī)則用于規(guī)則關聯(lián)預取,由于現(xiàn)有技術中的規(guī)則關聯(lián)預取無法區(qū)分順序訪問的i/o請求和隨機訪問的i/o請求,所以無論是順序訪問的i/o請求還是隨機訪問的i/o請求,都將使用規(guī)則關聯(lián)預取,但是規(guī)則關聯(lián)預取并不適用于順序訪問的i/o請求,從而降低了系統(tǒng)的預取效率。技術實現(xiàn)要素:本發(fā)明實施例所要解決的技術問題在于,提供一種數(shù)據(jù)預取的方法以及裝置,可提高系統(tǒng)的預取效率。本發(fā)明第一方面提供了一種數(shù)據(jù)預取的方法,包括:查找當前i/o請求所訪問的數(shù)據(jù)所處的目標存儲塊;在特征位圖中查找出所述目標存儲塊的i/o訪問特征,所述特征位圖用于標識所述目標存儲塊的i/o訪問特征;當查找出所述目標存儲塊的i/o訪問特征為順序訪問特征時,根據(jù)所述當前i/o請求進行順序預??;當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,根據(jù)所述當前i/o請求進行隨機預取。在第一種可能的實現(xiàn)方式中,在所述查找當前i/o請求所訪問的數(shù)據(jù)所處的目標存儲塊的步驟之前,還包括:識別存儲塊的i/o訪問特征;將識別出的所述存儲塊的i/o訪問特征添加或更新至特征位圖中。結合第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述識別存儲塊的i/o訪問特征,包括:當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的歷史i/o請求個數(shù)大于或等于預設的第一數(shù)量閾值,且各個所述歷史i/o請求之間的間距小于預設的扇區(qū)數(shù)量閾值時,識別出所述存儲塊的i/o訪問特征為順序訪問特征;當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的所述歷史i/o請求個數(shù)小于預設的第二數(shù)量閾值,且各個所述歷史i/o請求之間的間距大于預設的扇區(qū)數(shù)量閾值時,識別出所述存儲塊的i/o訪問特征為隨機訪問特征;當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的所述歷史i/o請求個數(shù)大于或等于預設的第二數(shù)量閾值,且小于預設的第一數(shù)量閾值時,標示所述存儲塊的i/o訪問特征為暫未識別;其中,所述第一數(shù)量閾值大于所述第二數(shù)量閾值。結合第一方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,還包括:當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率大于或等于預設的第一覆蓋率閾值時,識別出所述存儲塊的i/o訪問特征為順序訪問特征;當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率小于或等于預設的第二覆蓋率閾值時,識別出所述存儲塊的i/o訪問特征為隨機訪問特征;當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率大于預設的第二覆蓋率閾值,且小于預設的第一覆蓋率閾值時,標示所述存儲塊的i/o訪問特征為暫未識別;其中,所述第一覆蓋率閾值大于所述第二覆蓋率閾值。結合第一方面的第一種可能的實現(xiàn)方式,或第一方面的第二種可能的實現(xiàn)方式,或第一方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,在所述識別存儲塊的i/o訪問特征的步驟之前,還包括:判斷所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù)是否在本地內存中,所述元數(shù)據(jù)至少包括所述存儲塊中所述歷史i/o請求個數(shù)和所述歷史i/o請求的覆蓋率;若判斷為在所述本地內存中,則更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);當更新后的元數(shù)據(jù)所對應的所述存儲塊滿足啟動識別條件時,執(zhí)行所述識別存儲塊的i/o訪問特征。結合第一方面的第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,還包括:當判斷所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù)不在本地內存中時,則進一步判斷所述本地內存中的所述元數(shù)據(jù)的個數(shù)是否達到預設的元數(shù)據(jù)閾值;若判斷為未達到預設的元數(shù)據(jù)閾值,則生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),并將所生成的元數(shù)據(jù)存儲于所述本地內存中,以便于更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);若判斷為達到預設的元數(shù)據(jù)閾值時,則從所述本地內存中刪除啟動識別時間戳最靠前的元數(shù)據(jù),以便于在所述本地內存中生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);計算被刪除的元數(shù)據(jù)所對應的存儲塊的i/o訪問特征,以將計算出的所述i/o訪問特征添加或更新至特征位圖中。結合第一方面的第二種可能的實現(xiàn)方式,或第一方面的第三種可能的實現(xiàn)方式,或第一方面的第四種可能的實現(xiàn)方式,或第一方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,根據(jù)所述當前i/o請求進行隨機預取,包括:當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,在預設的二維表中查找是否存在所述目標存儲塊對應的關聯(lián)規(guī)則;若查找到存在所述目標存儲塊對應的關聯(lián)規(guī)則,則下發(fā)所述當前i/o請求,并根據(jù)所述當前i/o請求以及查找到的所述關聯(lián)規(guī)則生成預取請求,以根據(jù)所述預取請求進行預取;若未查找到存在所述目標存儲塊對應的關聯(lián)規(guī)則,則直接下發(fā)所述當前i/o請求。結合第一方面的第六種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,所述關聯(lián)規(guī)則是通過對識別為隨機訪問特征和暫未識別的i/o訪問特征的存儲塊進行歷史訪問信息挖掘所得到的;所述二維表包括與識別為隨機訪問特征或暫未識別的i/o訪問特征的存儲塊對應的關聯(lián)規(guī)則。本發(fā)明第二方面提供了一種數(shù)據(jù)預取裝置,包括:第一查找模塊,用于查找當前i/o請求所訪問的數(shù)據(jù)所處的目標存儲塊;第二查找模塊,用于在特征位圖中查找出所述目標存儲塊的i/o訪問特征,所述特征位圖用于標識所述目標存儲塊的i/o訪問特征;順序預取模塊,用于當查找出所述目標存儲塊的i/o訪問特征為順序訪問特征時,根據(jù)所述當前i/o請求進行順序預取;隨機預取模塊,用于當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,根據(jù)所述當前i/o請求進行隨機預取。在第一種可能的實現(xiàn)方式中,還包括:特征識別模塊,用于識別存儲塊的i/o訪問特征;添加更新模塊,用于將所述特征識別模塊識別出的所述存儲塊的i/o訪問特征添加或更新至特征位圖中。結合第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述特征識別模塊包括:識別單元,用于當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的歷史i/o請求個數(shù)大于或等于預設的第一數(shù)量閾值,且各個所述歷史i/o請求之間的間距小于預設的扇區(qū)數(shù)量閾值時,識別出所述存儲塊的i/o訪問特征為順序訪問特征;所述識別單元,還用于當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的所述歷史i/o請求個數(shù)小于預設的第二數(shù)量閾值,且各個所述歷史i/o請求之間的間距大于預設的扇區(qū)數(shù)量閾值時,識別出所述存儲塊的i/o訪問特征為隨機訪問特征;標示單元,用于當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的所述歷史i/o請求個數(shù)大于或等于預設的第二數(shù)量閾值,且小于預設的第一數(shù)量閾值時,標示所述存儲塊的i/o訪問特征為暫未識別;其中,所述第一數(shù)量閾值大于所述第二數(shù)量閾值。結合第二方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述識別單元,還用于當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率大于或等于預設的第一覆蓋率閾值時,識別出所述存儲塊的i/o訪問特征為順序訪問特征;所述識別單元,還用于當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率小于或等于預設的第二覆蓋率閾值時,識別出所述存儲塊的i/o訪問特征為隨機訪問特征;所述標示單元,還用于當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率大于預設的第二覆蓋率閾值,且小于預設的第一覆蓋率閾值時,標示所述存儲塊的i/o訪問特征為暫未識別;其中,所述第一覆蓋率閾值大于所述第二覆蓋率閾值。結合第二方面的第一種可能的實現(xiàn)方式,或第二方面的第二種可能的實現(xiàn)方式,或第二方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,還包括:第一判斷模塊,用于判斷所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù)是否在本地內存中,所述元數(shù)據(jù)至少包括所述存儲塊中所述歷史i/o請求個數(shù)和所述歷史i/o請求的覆蓋率;元數(shù)據(jù)更新模塊,用于若所述第一判斷模塊判斷為在所述本地內存中,則更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);通知模塊,用于當所述元數(shù)據(jù)更新模塊更新后的元數(shù)據(jù)所對應的所述存儲塊滿足啟動識別條件時,通知所述特征識別模塊識別存儲塊的i/o訪問特征。結合第二方面的第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,還包括:第二判斷模塊,用于當所述第一判斷模塊判斷所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù)不在本地內存中時,則進一步判斷所述本地內存中的所述元數(shù)據(jù)的個數(shù)是否達到預設的元數(shù)據(jù)閾值;生成存儲模塊,用于若所述第二判斷模塊判斷為未達到預設的元數(shù)據(jù)閾值,則生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),并將所生成的元數(shù)據(jù)存儲于所述本地內存中,以便于更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);刪除模塊,用于若所述第二判斷模塊判斷為達到預設的元數(shù)據(jù)閾值時,則從所述本地內存中刪除啟動識別時間戳最靠前的元數(shù)據(jù),以便于在所述本地內存中生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);計算模塊,用于計算被刪除的元數(shù)據(jù)所對應的存儲塊的i/o訪問特征,以將計算出的所述i/o訪問特征添加或更新至特征位圖中。結合第二方面的第二種可能的實現(xiàn)方式,或第二方面的第三種可能的實現(xiàn)方式,或第二方面的第四種可能的實現(xiàn)方式,或第二方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述隨機預取模塊包括:規(guī)則查找單元,用于當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,在預設的二維表中查找是否存在所述目標存儲塊對應的關聯(lián)規(guī)則;預取單元,用于若所述規(guī)則查找單元查找到存在所述目標存儲塊對應的關聯(lián)規(guī)則,則下發(fā)所述當前i/o請求,并根據(jù)所述當前i/o請求以及查找到的所述關聯(lián)規(guī)則生成預取請求,以根據(jù)所述預取請求進行預取;請求下發(fā)單元,用于若所述規(guī)則查找單元未查找到存在所述目標存儲塊對應的關聯(lián)規(guī)則,則直接下發(fā)所述當前i/o請求。結合第二方面的第六種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,所述關聯(lián)規(guī)則是通過對識別為隨機訪問特征和暫未識別的i/o訪問特征的存儲塊進行歷史訪問信息挖掘所得到的;所述二維表包括與識別為隨機訪問特征或暫未識別的i/o訪問特征的存儲塊對應的關聯(lián)規(guī)則。由上可見,本發(fā)明實施例通過在預先設置的特征位圖中查找出目標存儲塊的i/o訪問特征,可以確定出要對當前i/o請求進行順序預取或隨機預取,使得順序預取和隨機預取兩種預取方法可以有效分離開來,以應用到對應的i/o請求,從而可以提高系統(tǒng)的預取效率。附圖說明為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例提供的一種數(shù)據(jù)預取的方法的流程示意圖;圖2是本發(fā)明實施例提供的另一種數(shù)據(jù)預取的方法的流程示意圖;圖3是本發(fā)明實施例提供的其中一種對元數(shù)據(jù)的處理方法的流程示意圖;圖4是本發(fā)明實施例提供的其中一種隨機預取的方法的流程示意圖;圖5是本發(fā)明實施例提供的一種數(shù)據(jù)預取裝置的結構示意圖;圖6是本發(fā)明實施例提供的另一種數(shù)據(jù)預取裝置的結構示意圖;圖7是本發(fā)明實施例提供的一種特征識別模塊的結構示意圖;圖8是本發(fā)明實施例提供的一種隨機預取模塊的結構示意圖;圖9是本發(fā)明實施例提供的又一種數(shù)據(jù)預取裝置的結構示意圖。具體實施方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。請參見圖1,是本發(fā)明實施例提供的一種數(shù)據(jù)預取的方法的流程示意圖,所述方法可以包括:s101,查找當前i/o請求所訪問的數(shù)據(jù)所處的目標存儲塊;具體的,所述存儲塊是通過預先對lun空間進行均等容量劃分所得到的,例如,將一個40m大小的lun空間劃分成10個4m大小的存儲塊,即從lun空間的初始位置開始,每4m的連續(xù)空間對應一個存儲塊。由于主機發(fā)到存儲系統(tǒng)的i/o請求中攜帶有請求訪問地址和請求訪問長度,所以存儲系統(tǒng)可以根據(jù)主機側所發(fā)送的當前i/o請求確定出所述當前i/o請求處于哪個存儲塊。在查找到當前i/o請求所處于的存儲塊后,還可以將該存儲塊作為目標存儲塊。s102,在特征位圖中查找出所述目標存儲塊的i/o訪問特征;具體的,所述特征位圖包含每個存儲塊的i/o訪問特征,所以所述特征位圖用于標識所述目標存儲塊的i/o訪問特征,所述i/o訪問特征至少包括順序訪問特征和隨機訪問特征。根據(jù)多個歷史i/o請求可以識別出存儲塊的i/o訪問特征,例如,在1ms內,若統(tǒng)計出其中一個存儲塊中的歷史i/o請求的個數(shù)超過200個,且歷史i/o請求間的間距均小于8個扇區(qū)大小,則可識別出該存儲塊的i/o訪問特征為順序訪問特征;若統(tǒng)計出另一個存儲塊中的歷史i/o請求的個數(shù)少于10個,且歷史i/o請求間的間距均大于8個扇區(qū)大小,則可識別出該存儲塊的i/o訪問特征為隨機訪問特征。在識別出各個存儲塊的i/o訪問特征后,可以將識別出的所述存儲塊的i/o訪問特征添加或更新至特征位圖中。在設置好所述特征位圖后,可以在所述特征位圖中查找出所述目標存儲塊的i/o訪問特征。例如,請參見如下表1所示的特征位圖:0m~4m4m~8m8m~12m12m~16m16m~20m01000表1在表1中,是將20m大小的lun空間分成5個存儲塊,每個存儲塊為4m大小,其中,0表示順序訪問特征,1表示隨機訪問特征,若8m~12m對應的存儲塊為目標存儲塊,則可以在如表1所示的特征位圖中查找出該目標存儲塊的i/o訪問特征為順序訪問特征;若4m~8m對應的存儲塊為目標存儲塊,則可以在如表1所示的特征位圖中查找出該目標存儲塊的i/o訪問特征為隨機訪問特征。其中,所述特征位圖可以保存在內存中,每個lun空間對應一個特征位圖,還可以使用一個鏈表保存所有特征位圖的指針。s103,當查找出所述目標存儲塊的i/o訪問特征為順序訪問特征時,根據(jù)所述當前i/o請求進行順序預?。痪唧w的,當查找出所述目標存儲塊的i/o訪問特征為順序訪問特征時,說明所述當前i/o請求所訪問的數(shù)據(jù)處于順序流中,因此,可以根據(jù)所述當前i/o請求進行順序預取。順序預取的具體過程可以為:若所述當前i/o請求所訪問的數(shù)據(jù)處于順序流中,則將所述當前i/o請求所訪問的數(shù)據(jù)的起始位置識別為順序流頭,并啟動順序預取,再根據(jù)預取長度查找順序流尾,若順序流尾所處于的存儲塊為隨機訪問特征,則將順序流尾重新設置到所述當前i/o請求所訪問的數(shù)據(jù)所處的存儲塊的尾部地址;若順序流尾所處于的存儲塊為順序訪問特征,則不改變順序流尾的位置;在找到順序流頭和順序流尾之后,可以從順序流頭開始進行預取,并可以將每次預取的順序流尾標識為預讀標記,當所述順序流尾再次被訪問時,說明命中所述預讀標記,此時,可以啟動下一段順序預讀。s104,當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,根據(jù)所述當前i/o請求進行隨機預??;具體的,當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,可以確定出所述當前i/o請求屬于隨機請求,此時,可以通過關聯(lián)規(guī)則對所述當前i/o請求進行預取,本發(fā)明實施例所提供的關聯(lián)規(guī)則是通過對識別為隨機訪問特征和暫未識別的i/o訪問特征的存儲塊進行歷史訪問信息挖掘所得到的,即所挖掘的歷史訪問信息中不包含順序訪問特征的i/o請求。而現(xiàn)有技術中的關聯(lián)規(guī)則是通過對全量訪問歷史進行挖掘所得到,所述全量訪問歷史包含順序訪問歷史和隨機訪問歷史,由于現(xiàn)有技術中會對順序訪問歷史進行挖掘,所以可能會摻雜一些其他的規(guī)則而造成預取浪費,同時由于要挖掘全量記錄庫,所以會導致計算量大,且消耗過多的系統(tǒng)資源。因此,本發(fā)明實施例所提供的關聯(lián)規(guī)則可以減少隨機預取算法中規(guī)則挖掘的消耗,提高實用性。由上可見,本發(fā)明實施例通過在預先設置的特征位圖中查找出目標存儲塊的i/o訪問特征,可以確定出要對當前i/o請求進行順序預取或隨機預取,使得順序預取和隨機預取兩種預取方法可以有效分離開來,以應用到對應的i/o請求,從而可以提高系統(tǒng)的預取效率;同時,由于只對識別為隨機訪問特征和暫未識別的i/o訪問特征的存儲塊進行歷史訪問信息挖掘以得到關聯(lián)規(guī)則,所以可以減少隨機預取算法中規(guī)則挖掘的消耗,提高實用性。再請參見圖2,是本發(fā)明實施例提供的另一種數(shù)據(jù)預取的方法的流程示意圖,所述方法可以包括:s201,識別存儲塊的i/o訪問特征;具體的,根據(jù)歷史i/o請求的訪問地址記錄所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊;其中,所述歷史i/o請求是指在歷史訪問記錄中的多個i/o請求,根據(jù)歷史i/o請求的訪問地址可以確定出所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊,并記錄下各個存儲塊中的歷史i/o請求的個數(shù)、間距、覆蓋率等信息。當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的所述歷史i/o請求個數(shù)大于或等于預設的第一數(shù)量閾值,且各個所述歷史i/o請求之間的間距小于預設的扇區(qū)數(shù)量閾值時,識別出所述存儲塊的i/o訪問特征為順序訪問特征;當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的所述歷史i/o請求個數(shù)小于預設的第二數(shù)量閾值,且各個所述歷史i/o請求之間的間距大于預設的扇區(qū)數(shù)量閾值時,識別出所述存儲塊的i/o訪問特征為隨機訪問特征;當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的所述歷史i/o請求個數(shù)大于或等于預設的第二數(shù)量閾值,且小于預設的第一數(shù)量閾值時,標示所述存儲塊的i/o訪問特征為暫未識別;其中,所述第一數(shù)量閾值大于所述第二數(shù)量閾值;例如,統(tǒng)計時間窗閾值為1ms,第一數(shù)量閾值為200,第二數(shù)量閾值為10,扇區(qū)數(shù)量閾值為8,在達到1ms時,統(tǒng)計所述存儲塊中的所述歷史i/o請求個數(shù)以及各個所述歷史i/o請求之間的間距,若統(tǒng)計出的所述歷史i/o請求個數(shù)大于或等于200,且各個所述歷史i/o請求之間的間距小于8個扇區(qū)大小,則可以識別出該存儲塊的i/o訪問特征為順序訪問特征;若統(tǒng)計出的所述歷史i/o請求個數(shù)小于10,且各個所述歷史i/o請求之間的間距大于8個扇區(qū)大小,則可以識別出該存儲塊的i/o訪問特征為隨機訪問特征;若統(tǒng)計出的所述歷史i/o請求個數(shù)大于或等于10,且小于200,則標示該存儲塊的i/o訪問特征為暫未識別。另外,也可以當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率大于或等于預設的第一覆蓋率閾值時,識別出所述存儲塊的i/o訪問特征為順序訪問特征;當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率小于或等于預設的第二覆蓋率閾值時,識別出所述存儲塊的i/o訪問特征為隨機訪問特征;當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率大于預設的第二覆蓋率閾值,且小于預設的第一覆蓋率閾值時,標示所述存儲塊的i/o訪問特征為暫未識別;其中,所述第一覆蓋率閾值大于所述第二覆蓋率閾值;例如,統(tǒng)計時間窗閾值為1ms,第一覆蓋率閾值為50%,第二覆蓋率閾值為6%,在達到1ms時,統(tǒng)計所述歷史i/o請求在所述存儲塊中的覆蓋率,若統(tǒng)計出所述歷史i/o請求在所述存儲塊中的覆蓋率大于或等于50%,則可以識別出所述存儲塊的i/o訪問特征為順序訪問特征;若統(tǒng)計出所述歷史i/o請求在所述存儲塊中的覆蓋率小于或等于6%,則可以識別出所述存儲塊的i/o訪問特征為隨機訪問特征;若統(tǒng)計出所述歷史i/o請求在所述存儲塊中的覆蓋率大于6%,且小于50%,則標示所述存儲塊的i/o訪問特征為暫未識別。s202,將識別出的所述存儲塊的i/o訪問特征添加或更新至特征位圖中;具體的,在識別出某個存儲塊的i/o訪問特征之后,可以將識別出的所述存儲塊的i/o訪問特征添加或更新至特征位圖中,以便于后續(xù)在所述特征位圖中查找目標存儲塊的i/o訪問特征。由于是以統(tǒng)計時間窗閾值為周期進行循環(huán)統(tǒng)計,所以可以不斷更新每個存儲塊的i/o訪問特征,使得所識別出的所述存儲塊的i/o訪問特征可以更加準確。例如,請參見如下表2所示的特征位圖:0m~4m4m~8m8m~12m12m~16m16m~20m01001表2在表2中,是將20m大小的lun空間分成5個存儲塊,每個存儲塊為4m大小,其中,0表示順序訪問特征,1表示隨機訪問特征。由表2可見,在識別出0m~4m的存儲塊的i/o訪問特征為順序訪問特征時,可以將該存儲塊的i/o訪問特征添加或更新至如表2所示的特征位圖中,即將0m~4m的存儲塊的i/o訪問特征標識為0;同樣的,在識別出4m~8m的存儲塊的i/o訪問特征為隨機訪問特征時,可以將該存儲塊的i/o訪問特征添加或更新至如表2所示的特征位圖中,即將4m~8m的存儲塊的i/o訪問特征標識為1。其中,所述特征位圖可以保存在內存中,每個lun空間對應一個特征位圖,還可以使用一個鏈表保存所有特征位圖的指針。其中,由于保存每個存儲塊的i/o訪問特征所消耗的資源較少,所以保存整個lun空間的i/o訪問特征所消耗的資源也較少。s203,查找當前i/o請求所訪問的數(shù)據(jù)所處的目標存儲塊;s204,在特征位圖中查找出所述目標存儲塊的i/o訪問特征;s205,當查找出所述目標存儲塊的i/o訪問特征為順序訪問特征時,根據(jù)所述當前i/o請求進行順序預?。籹206,當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,根據(jù)所述當前i/o請求進行隨機預??;本發(fā)明實施例中的s203至s206的步驟具體可以參見上述圖1對應實施例中的s101至s104的步驟,這里不再進行贅述。另外,當查找出所述目標存儲塊的i/o訪問特征為暫未標識時,根據(jù)存儲系統(tǒng)默認的預取算法對所述當前i/o請求進行預取,若存儲系統(tǒng)并無默認的預取算法,則直接下發(fā)所述當前i/o請求,所述默認的預取算法可以為順序預取或隨機預取。由上可見,本發(fā)明實施例通過在預先設置的特征位圖中查找出目標存儲塊的i/o訪問特征,可以確定出要對當前i/o請求進行順序預取或隨機預取,使得順序預取和隨機預取兩種預取方法可以有效分離開來,以應用到對應的i/o請求,從而可以提高系統(tǒng)的預取效率;同時,由于只對識別為隨機訪問特征和暫未識別的i/o訪問特征的存儲塊進行歷史訪問信息挖掘以得到關聯(lián)規(guī)則,所以可以減少隨機算法中規(guī)則挖掘的消耗,提高實用性。進一步的,再請參見圖3,是本發(fā)明實施例提供的其中一種對元數(shù)據(jù)的處理方法的流程示意圖,所述方法可以在上述圖2對應實施例中的s201步驟之前執(zhí)行,所述方法可以包括:s301,判斷所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù)是否在本地內存中;具體的,所述元數(shù)據(jù)至少包括所述存儲塊中所述歷史i/o請求個數(shù)和所述歷史i/o請求的覆蓋率。在識別存儲塊的i/o訪問特征之前,可以先判斷所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù)是否在本地內存中。s302,更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);具體的,若s301判斷為在所述本地內存中,則可以更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),即在某個存儲塊有新增的歷史i/o請求時,更新與該存儲塊的元數(shù)據(jù)中的所述歷史i/o請求個數(shù)以及所述歷史i/o請求覆蓋率,以便于在后續(xù)識別存儲塊的i/o訪問特征時,可以通過所述歷史i/o請求個數(shù)或所述歷史i/o請求覆蓋率對存儲塊進行i/o訪問特征識別。s303,當更新后的元數(shù)據(jù)所對應的所述存儲塊滿足啟動識別條件時,執(zhí)行所述識別存儲塊的i/o訪問特征;具體的,所述啟動識別條件可以為統(tǒng)計時間長度達到統(tǒng)計時間窗閾值,即當所述存儲塊滿足啟動識別條件時,說明對所述存儲塊的統(tǒng)計時間長度達到統(tǒng)計時間窗閾值,例如,設統(tǒng)計時間窗閾值為1ms,當對某個存儲塊的統(tǒng)計時間長度達到1ms時,則可以執(zhí)行所述識別存儲塊的i/o訪問特征的步驟。所述啟動識別條件也可以為存儲塊中的歷史i/o請求個數(shù)或歷史i/o請求覆蓋率達到啟動識別閾值,即當所述存儲塊滿足啟動識別條件時,說明所述存儲塊中的歷史i/o請求個數(shù)或歷史i/o請求覆蓋率達到啟動識別閾值,此時,可以執(zhí)行所述識別存儲塊的i/o訪問特征的步驟。s304,判斷所述本地內存中的所述元數(shù)據(jù)的個數(shù)是否達到預設的元數(shù)據(jù)閾值;具體的,當s301判斷所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù)不在本地內存中時,則進一步判斷所述本地內存中的所述元數(shù)據(jù)的個數(shù)是否達到預設的元數(shù)據(jù)閾值。s305,生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),并將所生成的元數(shù)據(jù)存儲于所述本地內存中,以便于更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);具體的,在s304判斷為未達到預設的元數(shù)據(jù)閾值時,說明可以繼續(xù)在所述本地內存中增加新的元數(shù)據(jù),因此,可以生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),并將所生成的元數(shù)據(jù)存儲于所述本地內存中,并執(zhí)行s302步驟中的更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),以及s303步驟中的當更新后的元數(shù)據(jù)所對應的所述存儲塊滿足啟動識別條件時,執(zhí)行所述識別存儲塊的i/o訪問特征。其中,在所述本地內存中可以保存固定個數(shù)的元數(shù)據(jù),以控制內存使用。s306,從所述本地內存中刪除啟動識別時間戳最靠前的元數(shù)據(jù),以便于在所述本地內存中生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);具體的,在s304判斷為達到預設的元數(shù)據(jù)閾值時,則可以從所述本地內存中刪除啟動識別時間戳最靠前的元數(shù)據(jù),所述啟動識別時間戳最靠前的元數(shù)據(jù)是指所述本地內存中第一個啟動i/o訪問特征識別的存儲塊所對應的元數(shù)據(jù),由于所述本地內存中所存放的元數(shù)據(jù)個數(shù)有限,所以在達到元數(shù)據(jù)閾值時可以刪除啟動識別時間戳最靠前的元數(shù)據(jù),使得可以在所述本地內存中生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),在生成并保存元數(shù)據(jù)之后,即可執(zhí)行s302步驟中的更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),以及s303步驟中的當更新后的元數(shù)據(jù)所對應的所述存儲塊滿足啟動識別條件時,執(zhí)行所述識別存儲塊的i/o訪問特征。s307,計算被刪除的元數(shù)據(jù)所對應的存儲塊的i/o訪問特征,以將計算出的所述i/o訪問特征添加或更新至特征位圖中;具體的,在刪除啟動識別時間戳最靠前的元數(shù)據(jù)之后,可以計算被刪除的元數(shù)據(jù)所對應的存儲塊的i/o訪問特征,以將計算出的所述i/o訪問特征添加或更新至特征位圖中。其計算過程與上述圖2對應實施例中的s201相同,這里不再進行贅述。由上可見,本發(fā)明實施例通過對元數(shù)據(jù)進行判斷和處理,可以有序的控制存儲系統(tǒng)對各個存儲塊的i/o訪問特征進行識別,以得到特征位圖,從而可以在后續(xù)的預取過程中通過特征位圖準確地選擇出對應的預取算法進行預取。進一步的,再請參見圖4,是本發(fā)明實施例提供的其中一種隨機預取的方法的流程示意圖。本發(fā)明實施例的所述方法可對應于上述圖1對應實施例中的s104,或上述圖2對應實施例中的s206。本發(fā)明實施例的所述方法具體包括:s401,當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,在預設的二維表中查找是否存在所述目標存儲塊對應的關聯(lián)規(guī)則;具體的,當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,可以在預設的二維表中查找是否存在所述目標存儲塊對應的關聯(lián)規(guī)則。其中,所述關聯(lián)規(guī)則是通過對識別為隨機訪問特征和暫未識別的i/o訪問特征的存儲塊進行歷史訪問信息挖掘所得到的;所述二維表包括與識別為隨機訪問特征或暫未識別的i/o訪問特征的存儲塊對應的關聯(lián)規(guī)則。s402,下發(fā)所述當前i/o請求,并根據(jù)所述當前i/o請求以及查找到的所述關聯(lián)規(guī)則生成預取請求,以根據(jù)所述預取請求進行預??;具體的,若s401步驟中查找到存在所述目標存儲塊對應的關聯(lián)規(guī)則,則可以下發(fā)所述當前i/o請求,以在所述目標存儲塊中請求對應的數(shù)據(jù),同時還通過查找到的所述關聯(lián)規(guī)則生成與所述當前i/o請求關聯(lián)的預取請求,并根據(jù)所述預取請求進行預取。由于關聯(lián)規(guī)則只與隨機訪問特征和暫未識別的存儲塊中的歷史i/o請求相關,即關聯(lián)規(guī)則與順序訪問特征的存儲塊無關,所以所挖掘出的關聯(lián)規(guī)則是準確的,可以高效的運用在隨機預取過程中,而且由于不用像現(xiàn)有技術那樣挖掘全量訪問歷史,所以可以減少隨機預取算法中規(guī)則挖掘的消耗。s403,直接下發(fā)所述當前i/o請求。具體的,若s401步驟中未查找到存在所述目標存儲塊對應的關聯(lián)規(guī)則,則直接下發(fā)所述當前i/o請求,以在所述目標存儲塊中請求對應的數(shù)據(jù),此時,不再進行預取。由上可見,本發(fā)明實施例通過對識別為隨機訪問特征和暫未識別的i/o訪問特征的存儲塊進行歷史訪問信息挖掘以得到關聯(lián)規(guī)則,可以減少隨機預取算法中規(guī)則挖掘的消耗,提高實用性,而且關聯(lián)規(guī)則與順序訪問特征的存儲塊無關,可以保證關聯(lián)規(guī)則的準確性。請參見圖5,是本發(fā)明實施例提供的一種數(shù)據(jù)預取裝置1的結構示意圖,所述數(shù)據(jù)預取裝置1可以包括:第一查找模塊10、第二查找模塊20、順序預取模塊30、隨機預取模塊40;所述第一查找模塊10,用于查找當前i/o請求所訪問的數(shù)據(jù)所處的目標存儲塊;具體的,所述數(shù)據(jù)預取裝置1可以設置于存儲系統(tǒng)中,所述存儲塊是通過預先對lun空間進行均等容量劃分所得到的,例如,將一個40m大小的lun空間劃分成10個4m大小的存儲塊,即從lun空間的初始位置開始,每4m的連續(xù)空間對應一個存儲塊。由于主機發(fā)到存儲系統(tǒng)的i/o請求中攜帶有請求訪問地址和請求訪問長度,所以所述第一查找模塊10可以根據(jù)主機側所發(fā)送的當前i/o請求確定出所述當前i/o請求處于哪個存儲塊。在所述第一查找模塊10查找到當前i/o請求所處于的存儲塊后,還可以將該存儲塊作為目標存儲塊。所述第二查找模塊20,用于在特征位圖中查找出所述目標存儲塊的i/o訪問特征,所述特征位圖用于標識所述目標存儲塊的i/o訪問特征;具體的,所述特征位圖包含每個存儲塊的i/o訪問特征,所以所述特征位圖用于標識所述目標存儲塊的i/o訪問特征,所述i/o訪問特征至少包括順序訪問特征和隨機訪問特征。所述第二查找模塊20可以在預先設置的特征位圖中查找出所述目標存儲塊的i/o訪問特征。在此之前,可以根據(jù)多個歷史i/o請求可以識別出存儲塊的i/o訪問特征,例如,在1ms內,若統(tǒng)計出其中一個存儲塊中的歷史i/o請求的個數(shù)超過200個,且歷史i/o請求間的間距均小于8個扇區(qū)大小,則可識別出該存儲塊的i/o訪問特征為順序訪問特征;若統(tǒng)計出另一個存儲塊中的歷史i/o請求的個數(shù)少于10個,且歷史i/o請求間的間距均大于8個扇區(qū)大小,則可識別出該存儲塊的i/o訪問特征為隨機訪問特征。在識別出各個存儲塊的i/o訪問特征后,可以將識別出的所述存儲塊的i/o訪問特征添加或更新至特征位圖中。在設置好所述特征位圖后,所述第二查找模塊20可以在所述特征位圖中查找出所述目標存儲塊的i/o訪問特征。例如,請參見如下表3所示的特征位圖:0m~4m4m~8m8m~12m12m~16m16m~20m11000表3在表3中,是將20m大小的lun空間分成5個存儲塊,每個存儲塊為4m大小,其中,0表示順序訪問特征,1表示隨機訪問特征,若8m~12m對應的存儲塊為目標存儲塊,則所述第二查找模塊20可以在如表3所示的特征位圖中查找出該目標存儲塊的i/o訪問特征為順序訪問特征;若4m~8m對應的存儲塊為目標存儲塊,則所述第二查找模塊20可以在如表3所示的特征位圖中查找出該目標存儲塊的i/o訪問特征為隨機訪問特征。其中,所述特征位圖可以保存在內存中,每個lun空間對應一個特征位圖,還可以使用一個鏈表保存所有特征位圖的指針。所述順序預取模塊30,用于當查找出所述目標存儲塊的i/o訪問特征為順序訪問特征時,根據(jù)所述當前i/o請求進行順序預??;具體的,當查找出所述目標存儲塊的i/o訪問特征為順序訪問特征時,說明所述當前i/o請求處于順序流中,因此,所述順序預取模塊30可以根據(jù)所述當前i/o請求進行順序預取。順序預取的具體過程可以為:若所述當前i/o請求所訪問的數(shù)據(jù)處于順序流中,則所述順序預取模塊30將所述當前i/o請求所訪問的數(shù)據(jù)的起始位置識別為順序流頭,并啟動順序預取,再根據(jù)預取長度查找順序流尾,若順序流尾所處于的存儲塊為隨機訪問特征,則將順序流尾重新設置到所述當前i/o請求所訪問的數(shù)據(jù)所處的存儲塊的尾部地址;若順序流尾所處于的存儲塊為順序訪問特征,則不改變順序流尾的位置;在找到順序流頭和順序流尾之后,可以從順序流頭開始進行預取,并可以將每次預取的順序流尾標識為預讀標記,當所述順序流尾再次被訪問時,說明命中所述預讀標記,此時,所述順序預取模塊30可以啟動下一段順序預讀。所述隨機預取模塊40,用于當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,根據(jù)所述當前i/o請求進行隨機預取。具體的,當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,可以確定出所述當前i/o請求屬于隨機請求,此時,所述隨機預取模塊40可以通過關聯(lián)規(guī)則對所述當前i/o請求進行預取,本發(fā)明實施例所提供的關聯(lián)規(guī)則是通過對識別為隨機訪問特征和暫未識別的i/o訪問特征的存儲塊進行歷史訪問信息挖掘所得到的,即所挖掘的歷史訪問信息中不包含順序訪問特征的i/o請求。而現(xiàn)有技術中的關聯(lián)規(guī)則是通過對全量訪問歷史進行挖掘所得到,所述全量訪問歷史包含順序訪問歷史和隨機訪問歷史,由于現(xiàn)有技術中會對順序訪問歷史進行挖掘,所以可能會摻雜一些其他的規(guī)則而造成預取浪費,同時由于要挖掘全量記錄庫,所以會導致計算量大,且消耗過多的系統(tǒng)資源。因此,本發(fā)明實施例所提供的關聯(lián)規(guī)則可以減少隨機預取算法中規(guī)則挖掘的消耗,提高實用性。由上可見,本發(fā)明實施例通過在預先設置的特征位圖中查找出目標存儲塊的i/o訪問特征,可以確定出要對當前i/o請求進行順序預取或隨機預取,使得順序預取和隨機預取兩種預取方法可以有效分離開來,以應用到對應的i/o請求,從而可以提高系統(tǒng)的預取效率;同時,由于只對識別為隨機訪問特征和暫未識別的i/o訪問特征的存儲塊進行歷史訪問信息挖掘以得到關聯(lián)規(guī)則,所以可以減少隨機預取算法中規(guī)則挖掘的消耗,提高實用性。再請參見圖6,是本發(fā)明實施例提供的另一種數(shù)據(jù)預取裝置1的結構示意圖,所述數(shù)據(jù)預取裝置1可以包括上述圖5對應實施例中的第一查找模塊10、第二查找模塊20、順序預取模塊30、隨機預取模塊40,進一步的,所述數(shù)據(jù)預取裝置1還可以包括:特征識別模塊50、添加更新模塊60、第一判斷模塊70、元數(shù)據(jù)更新模塊80、通知模塊90、第二判斷模塊100、生成存儲模塊110、刪除模塊120、計算模塊130;所述特征識別模塊50,用于識別存儲塊的i/o訪問特征;具體的,所述特征識別模塊50可以通過各個存儲塊中的歷史i/o請求的個數(shù)、間距、覆蓋率等信息,識別出存儲塊的i/o訪問特征。所述添加更新模塊60,用于將所述特征識別模塊50識別出的所述存儲塊的i/o訪問特征添加或更新至特征位圖中;具體的,在識別出某個存儲塊的i/o訪問特征之后,所述添加更新模塊60可以將識別出的所述存儲塊的i/o訪問特征添加或更新至特征位圖中,以便于后續(xù)在所述特征位圖中查找目標存儲塊的i/o訪問特征。所述第一判斷模塊70,用于判斷所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù)是否在本地內存中,所述元數(shù)據(jù)至少包括所述存儲塊中所述歷史i/o請求個數(shù)和所述歷史i/o請求的覆蓋率;具體的,所述元數(shù)據(jù)至少包括所述存儲塊中所述歷史i/o請求個數(shù)和所述歷史i/o請求的覆蓋率。在所述特征識別模塊50識別存儲塊的i/o訪問特征之前,可以由所述第一判斷模塊70先判斷所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù)是否在本地內存中。所述元數(shù)據(jù)更新模塊80,用于若所述第一判斷模塊70判斷為在所述本地內存中,則更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);具體的,在某個存儲塊有新增的歷史i/o請求時,所述元數(shù)據(jù)更新模塊80可以更新與該存儲塊的元數(shù)據(jù)中的所述歷史i/o請求個數(shù)以及所述歷史i/o請求覆蓋率,以便于在后續(xù)由所述特征識別模塊50識別存儲塊的i/o訪問特征時,可以通過所述歷史i/o請求個數(shù)或所述歷史i/o請求覆蓋率對存儲塊進行i/o訪問特征識別。所述通知模塊90,用于當所述元數(shù)據(jù)更新模塊80更新后的元數(shù)據(jù)所對應的所述存儲塊滿足啟動識別條件時,通知所述特征識別模塊50識別存儲塊的i/o訪問特征;具體的,所述啟動識別條件可以為統(tǒng)計時間長度達到統(tǒng)計時間窗閾值,即當所述存儲塊滿足啟動識別條件時,說明對所述存儲塊的統(tǒng)計時間長度達到統(tǒng)計時間窗閾值,例如,設統(tǒng)計時間窗閾值為1ms,當對某個存儲塊的統(tǒng)計時間長度達到1ms時,則所述通知模塊90可以通知所述特征識別模塊50識別存儲塊的i/o訪問特征。所述啟動識別條件也可以為存儲塊中的歷史i/o請求個數(shù)或歷史i/o請求覆蓋率達到啟動識別閾值,即當所述存儲塊滿足啟動識別條件時,說明所述存儲塊中的歷史i/o請求個數(shù)或歷史i/o請求覆蓋率達到啟動識別閾值,此時,所述通知模塊90可以通知所述特征識別模塊50識別存儲塊的i/o訪問特征。所述第二判斷模塊100,用于當所述第一判斷模塊70判斷所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù)不在本地內存中時,則進一步判斷所述本地內存中的所述元數(shù)據(jù)的個數(shù)是否達到預設的元數(shù)據(jù)閾值;所述生成存儲模塊110,用于若所述第二判斷模塊100判斷為未達到預設的元數(shù)據(jù)閾值,則生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),并將所生成的元數(shù)據(jù)存儲于所述本地內存中,以便于更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);具體的,在所述第二判斷模塊100判斷為未達到預設的元數(shù)據(jù)閾值時,說明可以繼續(xù)在所述本地內存中增加新的元數(shù)據(jù),因此,所述生成存儲模塊110可以生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),并將所生成的元數(shù)據(jù)存儲于所述本地內存中,并通知所述元數(shù)據(jù)更新模塊80更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),并通知所述通知模塊90執(zhí)行相應操作。其中,在所述本地內存中可以保存固定個數(shù)的元數(shù)據(jù),以控制內存使用。所述刪除模塊120,用于若所述第二判斷模塊100判斷為達到預設的元數(shù)據(jù)閾值時,則從所述本地內存中刪除啟動識別時間戳最靠前的元數(shù)據(jù),以便于在所述本地內存中生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);具體的,在所述第二判斷模塊100判斷為達到預設的元數(shù)據(jù)閾值時,所述刪除模塊120可以從所述本地內存中刪除啟動識別時間戳最靠前的元數(shù)據(jù),所述啟動識別時間戳最靠前的元數(shù)據(jù)是指所述本地內存中第一個啟動i/o訪問特征識別的存儲塊所對應的元數(shù)據(jù),由于所述本地內存中所存放的元數(shù)據(jù)個數(shù)有限,所以在達到元數(shù)據(jù)閾值時所述刪除模塊120可以刪除啟動識別時間戳最靠前的元數(shù)據(jù),使得可以在所述本地內存中生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),在生成并保存元數(shù)據(jù)之后,通知所述元數(shù)據(jù)更新模塊80更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),并通知所述通知模塊90執(zhí)行相應操作。所述計算模塊130,用于計算被刪除的元數(shù)據(jù)所對應的存儲塊的i/o訪問特征,以將計算出的所述i/o訪問特征添加或更新至特征位圖中;具體的,在所述刪除模塊120刪除啟動識別時間戳最靠前的元數(shù)據(jù)之后,所述計算模塊130可以計算被刪除的元數(shù)據(jù)所對應的存儲塊的i/o訪問特征,以將計算出的所述i/o訪問特征添加或更新至特征位圖中。其計算過程與上述圖2對應實施例中的s201相同,這里不再進行贅述。進一步的,再請參見圖7,是本發(fā)明實施例提供的一種特征識別模塊50的結構示意圖,所述特征識別模塊50可以包括:識別單元501、標示單元502;所述識別單元501,用于當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的歷史i/o請求個數(shù)大于或等于預設的第一數(shù)量閾值,且各個所述歷史i/o請求之間的間距小于預設的扇區(qū)數(shù)量閾值時,識別出所述存儲塊的i/o訪問特征為順序訪問特征;所述識別單元501,還用于當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的所述歷史i/o請求個數(shù)小于預設的第二數(shù)量閾值,且各個所述歷史i/o請求之間的間距大于預設的扇區(qū)數(shù)量閾值時,識別出所述存儲塊的i/o訪問特征為隨機訪問特征;所述標示單元502,用于當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的所述歷史i/o請求個數(shù)大于或等于預設的第二數(shù)量閾值,且小于預設的第一數(shù)量閾值時,標示所述存儲塊的i/o訪問特征為暫未識別;其中,所述第一數(shù)量閾值大于所述第二數(shù)量閾值例如,統(tǒng)計時間窗閾值為1ms,第一數(shù)量閾值為200,第二數(shù)量閾值為10,扇區(qū)數(shù)量閾值為8,在達到1ms時,統(tǒng)計所述存儲塊中的所述歷史i/o請求個數(shù)以及各個所述歷史i/o請求之間的間距,若統(tǒng)計出的所述歷史i/o請求個數(shù)大于或等于200,且各個所述歷史i/o請求之間的間距小于8個扇區(qū)大小,則所述識別單元501可以識別出該存儲塊的i/o訪問特征為順序訪問特征;若統(tǒng)計出的所述歷史i/o請求個數(shù)小于10,且各個所述歷史i/o請求之間的間距大于8個扇區(qū)大小,則所述識別單元501可以識別出該存儲塊的i/o訪問特征為隨機訪問特征;若統(tǒng)計出的所述歷史i/o請求個數(shù)大于或等于10,且小于200,則所述標示單元502可以標示該存儲塊的i/o訪問特征為暫未識別。所述識別單元501,還用于當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率大于或等于預設的第一覆蓋率閾值時,識別出所述存儲塊的i/o訪問特征為順序訪問特征;所述識別單元501,還用于當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率小于或等于預設的第二覆蓋率閾值時,識別出所述存儲塊的i/o訪問特征為隨機訪問特征;所述標示單元502,還用于當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率大于預設的第二覆蓋率閾值,且小于預設的第一覆蓋率閾值時,標示所述存儲塊的i/o訪問特征為暫未識別;其中,所述第一覆蓋率閾值大于所述第二覆蓋率閾值;例如,統(tǒng)計時間窗閾值為1ms,第一覆蓋率閾值為50%,第二覆蓋率閾值為6%,在達到1ms時,統(tǒng)計所述歷史i/o請求在所述存儲塊中的覆蓋率,若統(tǒng)計出所述歷史i/o請求在所述存儲塊中的覆蓋率大于或等于50%,則所述識別單元501可以識別出所述存儲塊的i/o訪問特征為順序訪問特征;若統(tǒng)計出所述歷史i/o請求在所述存儲塊中的覆蓋率小于或等于6%,則所述識別單元501可以識別出所述存儲塊的i/o訪問特征為隨機訪問特征;若統(tǒng)計出所述歷史i/o請求在所述存儲塊中的覆蓋率大于6%,且小于50%,則所述標示單元502可以標示所述存儲塊的i/o訪問特征為暫未識別。進一步的,再請參見圖8,是本發(fā)明實施例提供的一種隨機預取模塊40的結構示意圖,所述隨機預取模塊40可以包括:規(guī)則查找單元401、預取單元402、請求下發(fā)單元403;所述規(guī)則查找單元401,用于當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,在預設的二維表中查找是否存在所述目標存儲塊對應的關聯(lián)規(guī)則;具體的,當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,所述規(guī)則查找單元401可以在預設的二維表中查找是否存在所述目標存儲塊對應的關聯(lián)規(guī)則。其中,所述關聯(lián)規(guī)則是通過對識別為隨機訪問特征和暫未識別的i/o訪問特征的存儲塊進行歷史訪問信息挖掘所得到的;所述二維表包括與識別為隨機訪問特征或暫未識別的i/o訪問特征的存儲塊對應的關聯(lián)規(guī)則。所述預取單元402,用于若所述規(guī)則查找單元401查找到存在所述目標存儲塊對應的關聯(lián)規(guī)則,則下發(fā)所述當前i/o請求,并根據(jù)所述當前i/o請求以及查找到的所述關聯(lián)規(guī)則生成預取請求,以根據(jù)所述預取請求進行預取;具體的,若所述規(guī)則查找單元401查找到存在所述目標存儲塊對應的關聯(lián)規(guī)則,則所述預取單元402可以下發(fā)所述當前i/o請求,以在所述目標存儲塊中請求對應的數(shù)據(jù),同時所述預取單元402還通過查找到的所述關聯(lián)規(guī)則生成與所述當前i/o請求關聯(lián)的預取請求,并根據(jù)所述預取請求進行預取。由于關聯(lián)規(guī)則只與隨機訪問特征和暫未識別的存儲塊中的歷史i/o請求相關,即關聯(lián)規(guī)則與順序訪問特征的存儲塊無關,所以所挖掘出的關聯(lián)規(guī)則是準確的,可以高效的運用在隨機預取過程中,而且由于不用像現(xiàn)有技術那樣挖掘全量訪問歷史,所以可以減少隨機預取算法中規(guī)則挖掘的消耗。所述請求下發(fā)單元403,用于若所述規(guī)則查找單元401未查找到存在所述目標存儲塊對應的關聯(lián)規(guī)則,則直接下發(fā)所述當前i/o請求;具體的,若所述規(guī)則查找單元401未查找到存在所述目標存儲塊對應的關聯(lián)規(guī)則,則所述請求下發(fā)單元403直接下發(fā)所述當前i/o請求,以在所述目標存儲塊中請求對應的數(shù)據(jù),此時,不再進行預取。由上可見,本發(fā)明實施例通過對元數(shù)據(jù)進行判斷和處理,可以有序的控制存儲系統(tǒng)對各個存儲塊的i/o訪問特征進行識別,以得到特征位圖,并通過在所述特征位圖中查找出目標存儲塊的i/o訪問特征,可以確定出要對當前i/o請求進行順序預取或隨機預取,使得順序預取和隨機預取兩種預取方法可以有效分離開來,以應用到對應的i/o請求,從而可以提高系統(tǒng)的預取效率;同時,由于只對識別為隨機訪問特征和暫未識別的i/o訪問特征的存儲塊進行歷史訪問信息挖掘以得到關聯(lián)規(guī)則,所以可以減少隨機算法中規(guī)則挖掘的消耗,提高實用性。本發(fā)明實施例還提供了一種計算機存儲介質,其中,所述計算機存儲介質可存儲有程序,該程序執(zhí)行時包括上述圖1至圖4的方法實施例中記載的數(shù)據(jù)預取的方法的部分或全部步驟。再請參見圖9,為本發(fā)明實施例提供的又一種數(shù)據(jù)預取裝置1的結構示意圖,所述數(shù)據(jù)預取裝置1可以包括處理器1001、通信接口1002和存儲器1003(數(shù)據(jù)預取裝置1中的處理器1001的數(shù)量可以為一個或多個,圖9中以一個處理器1001為例)。本發(fā)明的一些實施例中,處理器1001、通信接口1002和存儲器1003可通過通信總線或其他方式連接,其中,圖9以通過通信總線連接為例。其中,所述通信接口1002,用于與主機進行通信;所述存儲器1003用于存儲程序;所述處理器1001用于執(zhí)行所述程序,以實現(xiàn)查找當前i/o請求所訪問的數(shù)據(jù)所處的目標存儲塊;在特征位圖中查找出所述目標存儲塊的i/o訪問特征,所述特征位圖用于標識所述目標存儲塊的i/o訪問特征;當查找出所述目標存儲塊的i/o訪問特征為順序訪問特征時,根據(jù)所述當前i/o請求進行順序預??;當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,根據(jù)所述當前i/o請求進行隨機預取。其中,所述處理器1001還用于:識別存儲塊的i/o訪問特征;將識別出的所述存儲塊的i/o訪問特征添加或更新至特征位圖中。其中,所述處理器1001具體用于:當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的歷史i/o請求個數(shù)大于或等于預設的第一數(shù)量閾值,且各個所述歷史i/o請求之間的間距小于預設的扇區(qū)數(shù)量閾值時,識別出所述存儲塊的i/o訪問特征為順序訪問特征;當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的所述歷史i/o請求個數(shù)小于預設的第二數(shù)量閾值,且各個所述歷史i/o請求之間的間距大于預設的扇區(qū)數(shù)量閾值時,識別出所述存儲塊的i/o訪問特征為隨機訪問特征;當達到統(tǒng)計時間窗閾值,且判斷出所述存儲塊中的所述歷史i/o請求個數(shù)大于或等于預設的第二數(shù)量閾值,且小于預設的第一數(shù)量閾值時,標示所述存儲塊的i/o訪問特征為暫未識別;其中,所述第一數(shù)量閾值大于所述第二數(shù)量閾值。其中,所述處理器1001還用于:當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率大于或等于預設的第一覆蓋率閾值時,識別出所述存儲塊的i/o訪問特征為順序訪問特征;當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率小于或等于預設的第二覆蓋率閾值時,識別出所述存儲塊的i/o訪問特征為隨機訪問特征;當達到統(tǒng)計時間窗閾值,且判斷出所述歷史i/o請求在所述存儲塊中的覆蓋率大于預設的第二覆蓋率閾值,且小于預設的第一覆蓋率閾值時,標示所述存儲塊的i/o訪問特征為暫未識別;其中,所述第一覆蓋率閾值大于所述第二覆蓋率閾值。其中,所述處理器1001還用于:判斷所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù)是否在本地內存中,所述元數(shù)據(jù)至少包括所述存儲塊中所述歷史i/o請求個數(shù)和所述歷史i/o請求的覆蓋率;若判斷為在所述本地內存中,則更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);當更新后的元數(shù)據(jù)所對應的所述存儲塊滿足啟動識別條件時,執(zhí)行所述識別存儲塊的i/o訪問特征。其中,所述處理器1001還用于:當判斷所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù)不在本地內存中時,則進一步判斷所述本地內存中的所述元數(shù)據(jù)的個數(shù)是否達到預設的元數(shù)據(jù)閾值;若判斷為未達到預設的元數(shù)據(jù)閾值,則生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù),并將所生成的元數(shù)據(jù)存儲于所述本地內存中,以便于更新所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);若判斷為達到預設的元數(shù)據(jù)閾值時,則從所述本地內存中刪除啟動識別時間戳最靠前的元數(shù)據(jù),以便于在所述本地內存中生成所述歷史i/o請求所訪問的數(shù)據(jù)所處的存儲塊的用于識別i/o訪問特征的元數(shù)據(jù);計算被刪除的元數(shù)據(jù)所對應的存儲塊的i/o訪問特征,以將計算出的所述i/o訪問特征添加或更新至特征位圖中。其中,所述處理器1001具體用于:當查找出所述目標存儲塊的i/o訪問特征為隨機訪問特征時,在預設的二維表中查找是否存在所述目標存儲塊對應的關聯(lián)規(guī)則;若查找到存在所述目標存儲塊對應的關聯(lián)規(guī)則,則下發(fā)所述當前i/o請求,并根據(jù)所述當前i/o請求以及查找到的所述關聯(lián)規(guī)則生成預取請求,以根據(jù)所述預取請求進行預?。蝗粑床檎业酱嬖谒瞿繕舜鎯K對應的關聯(lián)規(guī)則,則直接下發(fā)所述當前i/o請求。其中,所述關聯(lián)規(guī)則是通過對識別為隨機訪問特征和暫未識別的i/o訪問特征的存儲塊進行歷史訪問信息挖掘所得到的;所述二維表包括與識別為隨機訪問特征或暫未識別的i/o訪問特征的存儲塊對應的關聯(lián)規(guī)則。由上可見,本發(fā)明實施例通過對元數(shù)據(jù)進行判斷和處理,可以有序的控制存儲系統(tǒng)對各個存儲塊的i/o訪問特征進行識別,以得到特征位圖,并通過在所述特征位圖中查找出目標存儲塊的i/o訪問特征,可以確定出要對當前i/o請求進行順序預取或隨機預取,使得順序預取和隨機預取兩種預取方法可以有效分離開來,以應用到對應的i/o請求,從而可以提高系統(tǒng)的預取效率;同時,由于只對識別為隨機訪問特征和暫未識別的i/o訪問特征的存儲塊進行歷史訪問信息挖掘以得到關聯(lián)規(guī)則,所以可以減少隨機算法中規(guī)則挖掘的消耗,提高實用性。本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(read-onlymemory,rom)或隨機存儲記憶體(randomaccessmemory,ram)等。以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權利范圍,因此依本發(fā)明權利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。當前第1頁12
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1