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

混合緩存的協(xié)同式自適應(yīng)預(yù)取方法、中間件和系統(tǒng)的制作方法

文檔序號(hào):6371438閱讀:164來(lái)源:國(guó)知局
專利名稱:混合緩存的協(xié)同式自適應(yīng)預(yù)取方法、中間件和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及到計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,特別涉及到混合緩存的協(xié)同式自適應(yīng)預(yù)取方法、中間件和系統(tǒng)。
背景技術(shù)
在計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)時(shí),由于Flash本身具有讀寫不對(duì)稱的問(wèn)題,特別是隨機(jī)寫速度表現(xiàn)不如人意,利用基于Flash的SSD來(lái)緩存和預(yù)取大量的順序數(shù)據(jù)流,可能會(huì)造成SSD上產(chǎn)生大量的寫操作,甚至產(chǎn)生嚴(yán)重的交織隨機(jī)讀寫情況,在最壞的情況下不僅不能節(jié)能,還會(huì)引起系統(tǒng)性能的下降,導(dǎo)致SSD壽命降低
發(fā)明內(nèi)容
本發(fā)明的主要目的為提供一種減少SSD寫次數(shù)、延長(zhǎng)SSD使用壽命的混合緩存的協(xié)同式自適應(yīng)預(yù)取方法、中間件和系統(tǒng)。本發(fā)明提出一種混合緩存的協(xié)同式自適應(yīng)預(yù)取方法,包括步驟協(xié)同式自適應(yīng)預(yù)取CAP中間件判定預(yù)取數(shù)據(jù)請(qǐng)求到達(dá);判斷動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM中是否發(fā)生抖動(dòng);如果否,則將所述預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至所述DRAM中;如果是,則將所述預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至固態(tài)硬盤SSD中。優(yōu)選地,所述將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至所述DRAM中的步驟之后還包括將所述預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至所述DRAM的順序鏈表中;將所述預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至所述DRAM的隨機(jī)鏈表中。優(yōu)選地,所述將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至固態(tài)硬盤SSD中的步驟之后還包括將所述預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至所述SSD的順序鏈表中;將所述預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至所述SSD的隨機(jī)鏈表中。優(yōu)選地,所述混合緩存的協(xié)同式自適應(yīng)預(yù)取方法,還包括步驟將所述預(yù)取數(shù)據(jù)請(qǐng)求的順序流數(shù)據(jù)中訪問(wèn)頻率超過(guò)預(yù)設(shè)頻率閾值的數(shù)據(jù)作為熱點(diǎn)數(shù)據(jù),存儲(chǔ)至所述SSD中,并將所述熱點(diǎn)數(shù)據(jù)的地址指針存儲(chǔ)至所述SSD的隨機(jī)鏈表中。本發(fā)明還提出一種混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件,包括請(qǐng)求判定模塊,用于判定預(yù)取數(shù)據(jù)請(qǐng)求到達(dá);抖動(dòng)判斷模塊,用于判斷動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM中是否發(fā)生抖動(dòng);DRAM數(shù)據(jù)存儲(chǔ)模塊,用于在所述DRAM未發(fā)生抖動(dòng)時(shí),將所述預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至所述DRAM中;SSD數(shù)據(jù)存儲(chǔ)模塊,用于在所述DRAM發(fā)生抖動(dòng)時(shí),將所述預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至固態(tài)硬盤SSD中。優(yōu)選地,所述混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件,還包括DRAM地址存儲(chǔ)模塊,用于在所述DRAM未發(fā)生抖動(dòng)時(shí),將所述預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至所述DRAM的順序鏈表中;將所述預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至所述DRAM的隨機(jī)鏈表中。優(yōu)選地,所述混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件,還包括SSD地址存儲(chǔ)模塊,用于在所述DRAM發(fā)生抖動(dòng)時(shí),將所述預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至所述SSD的順序鏈表中;將所述預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至所述SSD的隨機(jī)鏈表中。優(yōu)選地,所述混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件,還包括熱點(diǎn)數(shù)據(jù)存儲(chǔ)模塊,用于將所述預(yù)取數(shù)據(jù)請(qǐng)求的順序流數(shù)據(jù)中訪問(wèn)頻率超過(guò)預(yù)設(shè)頻率閾值的數(shù)據(jù)作為熱點(diǎn)數(shù)據(jù),存儲(chǔ)至所述SSD中;熱點(diǎn)地址存儲(chǔ)模塊,用于將所述熱點(diǎn)數(shù)據(jù)的地址指針存儲(chǔ)至所述SSD的隨機(jī)鏈表 中。本發(fā)明還提出一種混合緩存的協(xié)同式自適應(yīng)預(yù)取系統(tǒng),包括混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件,所述混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件包括請(qǐng)求判定模塊,用于判定預(yù)取數(shù)據(jù)請(qǐng)求到達(dá);抖動(dòng)判斷模塊,用于判斷動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM中是否發(fā)生抖動(dòng);DRAM數(shù)據(jù)存儲(chǔ)模塊,用于在所述DRAM未發(fā)生抖動(dòng)時(shí),將所述預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至所述DRAM中;SSD數(shù)據(jù)存儲(chǔ)模塊,用于在所述DRAM發(fā)生抖動(dòng)時(shí),將所述預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至固態(tài)硬盤SSD中;所述混合緩存的協(xié)同式自適應(yīng)預(yù)取系統(tǒng)還包括動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM,用于在所述DRAM未發(fā)生抖動(dòng)時(shí),存儲(chǔ)所述預(yù)取數(shù)據(jù)請(qǐng)求;固態(tài)硬盤SSD,用于在所述DRAM發(fā)生抖動(dòng)時(shí),存儲(chǔ)所述預(yù)取數(shù)據(jù)請(qǐng)求。優(yōu)選地,所述DRAM包括順序鏈表和隨機(jī)鏈表;所述DRAM的順序鏈表,用于在所述DRAM未發(fā)生抖動(dòng)時(shí),存儲(chǔ)所述預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針;所述DRAM的隨機(jī)鏈表,用于在所述DRAM未發(fā)生抖動(dòng)時(shí),存儲(chǔ)所述預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針。優(yōu)選地,所述SSD包括順序鏈表和隨機(jī)鏈表;所述SSD的順序鏈表,用于在所述DRAM發(fā)生抖動(dòng)時(shí),存儲(chǔ)所述預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針;所述SSD的隨機(jī)鏈表,用于在所述DRAM發(fā)生抖動(dòng)時(shí),存儲(chǔ)所述預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針。優(yōu)選地,所述SSD還用于存儲(chǔ)熱點(diǎn)數(shù)據(jù),所述熱點(diǎn)數(shù)據(jù)為所述預(yù)取數(shù)據(jù)請(qǐng)求的順序流數(shù)據(jù)中訪問(wèn)頻率超過(guò)預(yù)設(shè)頻率閾值的數(shù)據(jù);所述SSD的隨機(jī)鏈表還用于存儲(chǔ)所述熱點(diǎn)數(shù)據(jù)的地址指針。本發(fā)明將DRAM和SSD組成兩層混合緩存,采用協(xié)同式自適應(yīng)預(yù)取機(jī)制,通過(guò)CAP中間件對(duì)預(yù)取數(shù)據(jù)請(qǐng)求的存儲(chǔ)做調(diào)整,動(dòng)態(tài)調(diào)整DRAM和SSD中的預(yù)取行為,提高系統(tǒng)的整體吞吐量,減少對(duì)SSD的寫次數(shù),從而延長(zhǎng)SSD的使用壽命。


圖I為本發(fā)明第一實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取方法步驟流程圖;圖2為本發(fā)明第二實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取方法步驟流程圖;
圖3為本發(fā)明第二實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取方法的預(yù)取示意圖;圖4為本發(fā)明第三實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取方法步驟流程圖;圖5為本發(fā)明第五實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件的結(jié)構(gòu)示意圖;圖6為本發(fā)明第六實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件的結(jié)構(gòu)示意圖;圖7為本發(fā)明第七實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件的結(jié)構(gòu)示意圖;圖8為本發(fā)明第八實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取系統(tǒng)的結(jié)構(gòu)示意圖;圖9為本發(fā)明第九實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取系統(tǒng)的結(jié)構(gòu)示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
具體實(shí)施例方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。如圖I所示,圖I為本發(fā)明第一實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取方法步驟流程圖,該實(shí)施例提到的混合緩存的協(xié)同式自適應(yīng)預(yù)取方法,包括步驟S101,協(xié)同式自適應(yīng)預(yù)取CAP中間件判定預(yù)取數(shù)據(jù)請(qǐng)求到達(dá);到達(dá)的數(shù)據(jù)請(qǐng)求中,每一個(gè)數(shù)據(jù)流都由元數(shù)據(jù)信息和請(qǐng)求組成,元數(shù)據(jù)信息主要為數(shù)據(jù)流到達(dá)速率變化、預(yù)讀長(zhǎng)度、順序性、命中率等信息。步驟S102,判斷動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM中是否發(fā)生抖動(dòng);如果否,則執(zhí)行步驟S103 ;如果是,則執(zhí)行步驟S104 ;步驟S103,將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至DRAM中;步驟S104,將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至固態(tài)硬盤SSD中。所有的數(shù)據(jù)請(qǐng)求都經(jīng)過(guò)協(xié)同式自適應(yīng)預(yù)取CAP (Coordinated Andself-Adaptive)中間件進(jìn)行處理,調(diào)整DRAM和SSD中的預(yù)取和緩存,以適應(yīng)負(fù)載的變化。本實(shí)施例將DRAM和SSD組成兩層混合緩存,采用協(xié)同式自適應(yīng)預(yù)取機(jī)制,通過(guò)CAP中間件對(duì)預(yù)取數(shù)據(jù)請(qǐng)求的存儲(chǔ)做調(diào)整,動(dòng)態(tài)調(diào)整DRAM和SSD中的預(yù)取行為,提高系統(tǒng)的整體吞吐量,減少對(duì)SSD的寫次數(shù),從而延長(zhǎng)SSD的使用壽命。如圖2和圖3所示,圖2為本發(fā)明第二實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取方法步驟流程圖;圖3為本發(fā)明第二實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取方法的預(yù)取示意圖。步驟S201,協(xié)同式自適應(yīng)預(yù)取CAP中間件判定預(yù)取數(shù)據(jù)請(qǐng)求到達(dá);步驟S202,判斷動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM中是否發(fā)生抖動(dòng);如果否,則執(zhí)行步驟S203 ;如果是,則執(zhí)行步驟S205 ;步驟S203,將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至DRAM中;步驟S204,將預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至DRAM的順序鏈表中;將預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至DRAM的隨機(jī)鏈表中;步驟S205,將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至固態(tài)硬盤SSD中;
步驟S206,將預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至SSD的順序鏈表中;將預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至SSD的隨機(jī)鏈表中。到達(dá)的數(shù)據(jù)請(qǐng)求分成順序流和隨機(jī)流兩種。對(duì)于緩存中的順序頁(yè)面和隨機(jī)頁(yè)面,一般使用不同鏈表(如SARC)或者使用不同指針(如DUL0)來(lái)區(qū)分。本實(shí)施例中對(duì)DRAM和SSD的順序頁(yè)面和隨機(jī)頁(yè)面分別采用兩條鏈表的方式來(lái)區(qū)分。Seam和Rkam分別是DRAM中的順序鏈和隨機(jī)鏈。Sssd和Rssd分別是指的SSD中順序鏈和隨機(jī)鏈。所有順序流和隨機(jī)流的請(qǐng)求首先經(jīng)過(guò)CAP中間件進(jìn)行處理,通過(guò)CAP中間件在預(yù)取數(shù)據(jù)請(qǐng)求中提取出順序流信息,動(dòng)態(tài)調(diào)整DRAM和SSD中的預(yù)取行為,提高系統(tǒng)的整體吞吐量,減少對(duì)SSD的寫次數(shù),從而延長(zhǎng)SSD的使用壽命。如圖4所示,圖4為本發(fā)明第三實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取方法步驟流程圖。步驟S301,協(xié)同式自適應(yīng)預(yù)取CAP中間件判定預(yù)取數(shù)據(jù)請(qǐng)求到達(dá);
步驟S302,判斷動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM中是否發(fā)生抖動(dòng);如果否,則執(zhí)行步驟S303 ;如果是,則執(zhí)行步驟S305 ;步驟S303,將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至DRAM中;步驟S304,將預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至DRAM的順序鏈表中;將預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至DRAM的隨機(jī)鏈表中;步驟S305,將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至固態(tài)硬盤SSD中;步驟S306,將預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至SSD的順序鏈表中;將預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至SSD的隨機(jī)鏈表中。步驟S307,將預(yù)取數(shù)據(jù)請(qǐng)求的順序流數(shù)據(jù)中訪問(wèn)頻率超過(guò)預(yù)設(shè)頻率閾值的數(shù)據(jù)作為熱點(diǎn)數(shù)據(jù),存儲(chǔ)至SSD中,并將熱點(diǎn)數(shù)據(jù)的地址指針存儲(chǔ)至SSD的隨機(jī)鏈表中。因?yàn)镾SD對(duì)隨機(jī)寫數(shù)據(jù)較為敏感,為了減少對(duì)SSD的寫次數(shù),采用類似SieveStore的熱點(diǎn)數(shù)據(jù)篩選策略,將訪問(wèn)頻繁較高的數(shù)據(jù)寫入到SSD中的隨機(jī)鏈Rssd中保存,或在預(yù)取的順序流數(shù)據(jù)中,如果數(shù)據(jù)訪問(wèn)達(dá)到預(yù)設(shè)頻率閾值,則會(huì)被移至隨機(jī)鏈SSD上。例如在視頻點(diǎn)播中,當(dāng)檢測(cè)到某些視頻文件被頻繁點(diǎn)播時(shí),而在DRAM中不能完成存儲(chǔ),則將整個(gè)文件存入到SSD中,從而使其能滿足多個(gè)用戶的快速隨機(jī)點(diǎn)播。本實(shí)施例將熱點(diǎn)數(shù)據(jù)存儲(chǔ)到SSD中,可有效減少SSD的寫次數(shù),延長(zhǎng)SSD的使用壽命。如圖5所示,圖5為本發(fā)明第五實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件的結(jié)構(gòu)示意圖,該實(shí)施例提及的混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件100,包括請(qǐng)求判定模塊110,用于判定預(yù)取數(shù)據(jù)請(qǐng)求到達(dá);抖動(dòng)判斷模塊120,用于判斷動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM中是否發(fā)生抖動(dòng);DRAM數(shù)據(jù)存儲(chǔ)模塊130,用于在DRAM未發(fā)生抖動(dòng)時(shí),將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至DRAM中;SSD數(shù)據(jù)存儲(chǔ)模塊140,用于在DRAM發(fā)生抖動(dòng)時(shí),將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至固態(tài)硬盤SSD 中。本實(shí)施例的到達(dá)的數(shù)據(jù)請(qǐng)求中,每一個(gè)數(shù)據(jù)流都由元數(shù)據(jù)信息和請(qǐng)求組成,元數(shù)據(jù)信息主要為數(shù)據(jù)流到達(dá)速率變化、預(yù)讀長(zhǎng)度、順序性、命中率等信息。所有的數(shù)據(jù)請(qǐng)求都經(jīng)過(guò)CAP中間件100進(jìn)行處理,調(diào)整DRAM和SSD中的預(yù)取和緩存,以適應(yīng)負(fù)載的變化。本實(shí)施例將DRAM和SSD組成兩層混合緩存,采用協(xié)同式自適應(yīng)預(yù)取機(jī)制,通過(guò)CAP中間件100對(duì)預(yù)取數(shù)據(jù)請(qǐng)求的存儲(chǔ)做調(diào)整,動(dòng)態(tài)調(diào)整DRAM和SSD中的預(yù)取行為,提高系統(tǒng)的整體吞吐量,減少對(duì)SSD的寫次數(shù),從而延長(zhǎng)SSD的使用壽命。如圖6所示,圖6為本發(fā)明第六實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件的結(jié)構(gòu)示意圖,混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件100還包括DRAM地址存儲(chǔ)模塊150,用于在DRAM未發(fā)生抖動(dòng)時(shí),將預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至DRAM的順序鏈表中;將預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至DRAM的隨機(jī)鏈表中。SSD地址存儲(chǔ)模塊160,用于在DRAM發(fā)生抖動(dòng)時(shí),將預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至SSD的順序鏈表中;將預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至 SSD的隨機(jī)鏈表中。本實(shí)施例中,到達(dá)的數(shù)據(jù)請(qǐng)求分成順序流和隨機(jī)流兩種。對(duì)于緩存中的順序頁(yè)面和隨機(jī)頁(yè)面,一般使用不同鏈表(如SARC)或者使用不同指針(如DUL0)來(lái)區(qū)分。本實(shí)施例中對(duì)DRAM和SSD的順序頁(yè)面和隨機(jī)頁(yè)面分別采用兩條鏈表的方式來(lái)區(qū)分。Skam和Rkam分別是DRAM中的順序鏈和隨機(jī)鏈。Sssd和Rssd分別是指的SSD中順序鏈和隨機(jī)鏈。所有順序流和隨機(jī)流的請(qǐng)求首先經(jīng)過(guò)CAP中間件100進(jìn)行處理,通過(guò)CAP中間件100在預(yù)取數(shù)據(jù)請(qǐng)求中提取出順序流信息,動(dòng)態(tài)調(diào)整DRAM和SSD中的預(yù)取行為,提高系統(tǒng)的整體吞吐量,減少對(duì)SSD的寫次數(shù),從而延長(zhǎng)SSD的使用壽命。如圖7所示,圖7為本發(fā)明第七實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件的結(jié)構(gòu)示意圖,混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件100還包括熱點(diǎn)數(shù)據(jù)存儲(chǔ)模塊170,用于將預(yù)取數(shù)據(jù)請(qǐng)求的順序流數(shù)據(jù)中訪問(wèn)頻率超過(guò)預(yù)設(shè)頻率閾值的數(shù)據(jù)作為熱點(diǎn)數(shù)據(jù),存儲(chǔ)至SSD中;熱點(diǎn)地址存儲(chǔ)模塊180,用于將熱點(diǎn)數(shù)據(jù)的地址指針存儲(chǔ)至SSD的隨機(jī)鏈表中。本實(shí)施例中,因?yàn)镾SD對(duì)隨機(jī)寫數(shù)據(jù)較為敏感,為了減少對(duì)SSD的寫次數(shù),采用類似SieveStore的熱點(diǎn)數(shù)據(jù)篩選策略,將訪問(wèn)頻繁較高的數(shù)據(jù)寫入到SSD中的隨機(jī)鏈Rssd中保存,或在預(yù)取的順序流數(shù)據(jù)中,如果數(shù)據(jù)訪問(wèn)達(dá)到預(yù)設(shè)頻率閾值,則會(huì)被移至隨機(jī)鏈SSD上。例如在視頻點(diǎn)播中,當(dāng)檢測(cè)到某些視頻文件被頻繁點(diǎn)播時(shí),而在DRAM中不能完成存儲(chǔ),則將整個(gè)文件存入到SSD中,從而使其能滿足多個(gè)用戶的快速隨機(jī)點(diǎn)播。本實(shí)施例將熱點(diǎn)數(shù)據(jù)存儲(chǔ)到SSD中,可有效減少SSD的寫次數(shù),延長(zhǎng)SSD的使用壽命。如圖8所示,圖8為本發(fā)明第八實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取系統(tǒng)的結(jié)構(gòu)示意圖,該實(shí)施例提及的混合緩存的協(xié)同式自適應(yīng)預(yù)取系統(tǒng),包混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件100、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM 200和固態(tài)硬盤SSD 300,其中,混合緩存的協(xié)同式自適應(yīng)預(yù)取CAP中間件100包括請(qǐng)求判定模塊110,用于判定預(yù)取數(shù)據(jù)請(qǐng)求到達(dá);抖動(dòng)判斷模塊120,用于判斷動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM 200中是否發(fā)生抖動(dòng);DRAM數(shù)據(jù)存儲(chǔ)模塊130,用于在DRAM 200未發(fā)生抖動(dòng)時(shí),將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至DRAM 200 中;SSD數(shù)據(jù)存儲(chǔ)模塊140,用于在DRAM 200發(fā)生抖動(dòng)時(shí),將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至固態(tài)硬盤SSD 300中。
動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM 200,用于在DRAM 200未發(fā)生抖動(dòng)時(shí),存儲(chǔ)預(yù)取數(shù)據(jù)請(qǐng)求;固態(tài)硬盤SSD 300,用于在DRAM 200發(fā)生抖動(dòng)時(shí),存儲(chǔ)預(yù)取數(shù)據(jù)請(qǐng)求。本發(fā)明混合緩存的協(xié)同式自適應(yīng)預(yù)取系統(tǒng)中的協(xié)同式自適應(yīng)預(yù)取中間件100可包括前述圖5至7所示實(shí)施例中所有技術(shù)方案,其詳細(xì)結(jié)構(gòu)及預(yù)取原理可參照前述實(shí)施例,在此不作贅述。由于采用前述協(xié)同式自適應(yīng)預(yù)取中間件100的方案,本發(fā)明混合緩存的協(xié)同式自適應(yīng)預(yù)取系統(tǒng)對(duì)現(xiàn)有的數(shù)據(jù)預(yù)取系統(tǒng)而言,可動(dòng)態(tài)調(diào)整DRAM 200和SSD 300中的預(yù)取行為,提高系統(tǒng)的整體吞吐量,減少對(duì)SSD 300的寫次數(shù),從而延長(zhǎng)SSD 300的使用壽命。如圖9所示,圖9為本發(fā)明第九實(shí)施例中混合緩存的協(xié)同式自適應(yīng)預(yù)取系統(tǒng)的結(jié)構(gòu)示意圖。DRAM 200包括順序鏈表210和隨機(jī)鏈表220 ;
DRAM的順序鏈表210,用于在DRAM 200未發(fā)生抖動(dòng)時(shí),存儲(chǔ)預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針;DRAM的隨機(jī)鏈表220,用于在DRAM 200未發(fā)生抖動(dòng)時(shí),存儲(chǔ)預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針。SSD 300包括順序鏈表310和隨機(jī)鏈表320 ;SSD的順序鏈表310,用于在DRAM 200發(fā)生抖動(dòng)時(shí),存儲(chǔ)預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針;SSD的隨機(jī)鏈表320,用于在DRAM 200發(fā)生抖動(dòng)時(shí),存儲(chǔ)預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針。本實(shí)施例中,到達(dá)的數(shù)據(jù)請(qǐng)求分成順序流和隨機(jī)流兩種。對(duì)于緩存中的順序頁(yè)面和隨機(jī)頁(yè)面,一般使用不同鏈表(如SARC)或者使用不同指針(如DUL0)來(lái)區(qū)分。本實(shí)施例中對(duì)DRAM 200和SSD 300的順序頁(yè)面和隨機(jī)頁(yè)面分別采用兩條鏈表的方式來(lái)區(qū)分。Seam和Ream分別是DRAM的順序鏈表210和DRAM的隨機(jī)鏈表220。Sssd和Rssd分別是指的SSD的順序鏈表310和SSD的隨機(jī)鏈表320。所有順序流和隨機(jī)流的請(qǐng)求首先經(jīng)過(guò)CAP中間件100進(jìn)行處理,通過(guò)CAP中間件100在預(yù)取數(shù)據(jù)請(qǐng)求中提取出順序流信息,動(dòng)態(tài)調(diào)整DRAM 200和SSD 300中的預(yù)取行為,提高系統(tǒng)的整體吞吐量,減少對(duì)SSD的寫次數(shù),從而延長(zhǎng)SSD的使用壽命。本發(fā)明實(shí)施例的SSD 300還用于存儲(chǔ)熱點(diǎn)數(shù)據(jù),熱點(diǎn)數(shù)據(jù)為預(yù)取數(shù)據(jù)請(qǐng)求的順序流數(shù)據(jù)中訪問(wèn)頻率超過(guò)預(yù)設(shè)頻率閾值的數(shù)據(jù);SSD的隨機(jī)鏈表320還用于存儲(chǔ)熱點(diǎn)數(shù)據(jù)的地址指針。本實(shí)施例中,因?yàn)镾SD 300對(duì)隨機(jī)寫數(shù)據(jù)較為敏感,為了減少對(duì)SSD 300的寫次數(shù),采用類似SieveStore的熱點(diǎn)數(shù)據(jù)篩選策略,將訪問(wèn)頻繁較高的數(shù)據(jù)寫入到SSD的隨機(jī)鏈表320中保存,或在預(yù)取的順序流數(shù)據(jù)中,如果數(shù)據(jù)訪問(wèn)達(dá)到預(yù)設(shè)頻率閾值,則會(huì)被移至SSD的隨機(jī)鏈表320上。例如在視頻點(diǎn)播中,當(dāng)檢測(cè)到某些視頻文件被頻繁點(diǎn)播時(shí),而在DRAM 200中不能完成存儲(chǔ),則將整個(gè)文件存入到SSD 300中,從而使其能滿足多個(gè)用戶的快速隨機(jī)點(diǎn)播。本實(shí)施例將熱點(diǎn)數(shù)據(jù)存儲(chǔ)到SSD 300中,可有效減少SSD 300的寫次數(shù),延長(zhǎng)SSD 300的使用壽命。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的 專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種混合緩存的協(xié)同式自適應(yīng)預(yù)取方法,其特征在于,包括步驟 協(xié)同式自適應(yīng)預(yù)取CAP中間件判定預(yù)取數(shù)據(jù)請(qǐng)求到達(dá); 判斷動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM中是否發(fā)生抖動(dòng); 如果否,則將所述預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至所述DRAM中; 如果是,則將所述預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至固態(tài)硬盤SSD中。
2.根據(jù)權(quán)利要求I所述的混合緩存的協(xié)同式自適應(yīng)預(yù)取方法,其特征在于,所述將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至所述DRAM中的步驟之后還包括 將所述預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至所述DRAM的順序鏈表中;將所述預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至所述DRAM的隨機(jī)鏈表中。
3.根據(jù)權(quán)利要求I所述的混合緩存的協(xié)同式自適應(yīng)預(yù)取方法,其特征在于,所述將預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至固態(tài)硬盤SSD中的步驟之后還包括 將所述預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至所述SSD的順序鏈表中;將所述預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至所述SSD的隨機(jī)鏈表中。
4.根據(jù)權(quán)利要求2或3所述的混合緩存的協(xié)同式自適應(yīng)預(yù)取方法,其特征在于,還包括步驟 將所述預(yù)取數(shù)據(jù)請(qǐng)求的順序流數(shù)據(jù)中訪問(wèn)頻率超過(guò)預(yù)設(shè)頻率閾值的數(shù)據(jù)作為熱點(diǎn)數(shù)據(jù),存儲(chǔ)至所述SSD中,并將所述熱點(diǎn)數(shù)據(jù)的地址指針存儲(chǔ)至所述SSD的隨機(jī)鏈表中。
5.一種混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件,其特征在于,包括 請(qǐng)求判定模塊,用于判定預(yù)取數(shù)據(jù)請(qǐng)求到達(dá); 抖動(dòng)判斷模塊,用于判斷動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM中是否發(fā)生抖動(dòng); DRAM數(shù)據(jù)存儲(chǔ)模塊,用于在所述DRAM未發(fā)生抖動(dòng)時(shí),將所述預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至所述DRAM 中; SSD數(shù)據(jù)存儲(chǔ)模塊,用于在所述DRAM發(fā)生抖動(dòng)時(shí),將所述預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至固態(tài)硬盤SSD中。
6.根據(jù)權(quán)利要求5所述的混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件,其特征在于,還包括 DRAM地址存儲(chǔ)模塊,用于在所述DRAM未發(fā)生抖動(dòng)時(shí),將所述預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至所述DRAM的順序鏈表中;將所述預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至所述DRAM的隨機(jī)鏈表中。
7.根據(jù)權(quán)利要求5所述的混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件,其特征在于,還包括 SSD地址存儲(chǔ)模塊,用于在所述DRAM發(fā)生抖動(dòng)時(shí),將所述預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針存儲(chǔ)至所述SSD的順序鏈表中;將所述預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針存儲(chǔ)至所述SSD的隨機(jī)鏈表中。
8.根據(jù)權(quán)利要求6或7所述的混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件,其特征在于,還包括 熱點(diǎn)數(shù)據(jù)存儲(chǔ)模塊,用于將所述預(yù)取數(shù)據(jù)請(qǐng)求的順序流數(shù)據(jù)中訪問(wèn)頻率超過(guò)預(yù)設(shè)頻率閾值的數(shù)據(jù)作為熱點(diǎn)數(shù)據(jù),存儲(chǔ)至所述SSD中; 熱點(diǎn)地址存儲(chǔ)模塊,用于將所述熱點(diǎn)數(shù)據(jù)的地址指針存儲(chǔ)至所述SSD的隨機(jī)鏈表中。
9.一種混合緩存的協(xié)同式自適應(yīng)預(yù)取系統(tǒng),其特征在于,包括如權(quán)利要求5至8任一項(xiàng)所述的混合緩存的協(xié)同式自適應(yīng)預(yù)取中間件;還包括 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM,用于在所述DRAM未發(fā)生抖動(dòng)時(shí),存儲(chǔ)所述預(yù)取數(shù)據(jù)請(qǐng)求; 固態(tài)硬盤SSD,用于在所述DRAM發(fā)生抖動(dòng)時(shí),存儲(chǔ)所述預(yù)取數(shù)據(jù)請(qǐng)求。
10.根據(jù)權(quán)利要求9所述的混合緩存的協(xié)同式自適應(yīng)預(yù)取系統(tǒng),其特征在于,所述DRAM包括順序鏈表和隨機(jī)鏈表; 所述DRAM的順序鏈表,用于在所述DRAM未發(fā)生抖動(dòng)時(shí),存儲(chǔ)所述預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針; 所述DRAM的隨機(jī)鏈表,用于在所述DRAM未發(fā)生抖動(dòng)時(shí),存儲(chǔ)所述預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針。
11.根據(jù)權(quán)利要求9所述的混合緩存的協(xié)同式自適應(yīng)預(yù)取系統(tǒng),其特征在于,所述SSD包括順序鏈表和隨機(jī)鏈表; 所述SSD的順序鏈表,用于在所述DRAM發(fā)生抖動(dòng)時(shí),存儲(chǔ)所述預(yù)取數(shù)據(jù)請(qǐng)求中的順序流數(shù)據(jù)的地址指針; 所述SSD的隨機(jī)鏈表,用于在所述DRAM發(fā)生抖動(dòng)時(shí),存儲(chǔ)所述預(yù)取數(shù)據(jù)請(qǐng)求中的隨機(jī)流數(shù)據(jù)的地址指針。
12.根據(jù)權(quán)利要求10或11所述的混合緩存的協(xié)同式自適應(yīng)預(yù)取系統(tǒng),其特征在于,所述SSD還用于存儲(chǔ)熱點(diǎn)數(shù)據(jù),所述熱點(diǎn)數(shù)據(jù)為所述預(yù)取數(shù)據(jù)請(qǐng)求的順序流數(shù)據(jù)中訪問(wèn)頻率超過(guò)預(yù)設(shè)頻率閾值的數(shù)據(jù); 所述SSD的隨機(jī)鏈表還用于存儲(chǔ)所述熱點(diǎn)數(shù)據(jù)的地址指針。
全文摘要
本發(fā)明公開了一種混合緩存的協(xié)同式自適應(yīng)預(yù)取方法、中間件和系統(tǒng),其方法包括步驟協(xié)同式自適應(yīng)預(yù)取CAP中間件判定預(yù)取數(shù)據(jù)請(qǐng)求到達(dá);判斷動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM中是否發(fā)生抖動(dòng);如果否,則將所述預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至所述DRAM中;如果是,則將所述預(yù)取數(shù)據(jù)請(qǐng)求存儲(chǔ)至固態(tài)硬盤SSD中。本發(fā)明將DRAM和SSD組成兩層混合緩存,采用協(xié)同式自適應(yīng)預(yù)取機(jī)制,通過(guò)CAP中間件對(duì)預(yù)取數(shù)據(jù)請(qǐng)求的存儲(chǔ)做調(diào)整,動(dòng)態(tài)調(diào)整DRAM和SSD中的預(yù)取行為,提高系統(tǒng)的整體吞吐量,減少對(duì)SSD的寫次數(shù),從而延長(zhǎng)SSD的使用壽命。
文檔編號(hào)G06F12/08GK102779098SQ20121019581
公開日2012年11月14日 申請(qǐng)日期2012年6月14日 優(yōu)先權(quán)日2012年6月14日
發(fā)明者葛雄資 申請(qǐng)人:國(guó)家超級(jí)計(jì)算深圳中心(深圳云計(jì)算中心)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
宁津县| 东丰县| 塔城市| 改则县| 微山县| 师宗县| 益阳市| 拜城县| 麻栗坡县| 信丰县| 沧源| 远安县| 九台市| 平远县| 云阳县| 江都市| 根河市| 资源县| 固阳县| 乌鲁木齐市| 宁河县| 锡林郭勒盟| 娄底市| 连江县| 长白| 泸西县| 孝感市| 海门市| 清原| 江北区| 张家港市| 元阳县| 乳源| 合江县| 策勒县| 彭阳县| 县级市| 宿迁市| 耒阳市| 收藏| 安阳县|