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