1.一種固態(tài)硬盤的緩存控制方法,其特征在于,包括:
為待緩存文件添加leveldb數(shù)據(jù)庫(kù)中的當(dāng)前時(shí)間戳,并以包含有文件號(hào)和文件內(nèi)容的格式插入到所述leveldb數(shù)據(jù)庫(kù)中;
將所述leveldb數(shù)據(jù)庫(kù)中的數(shù)據(jù)總量加1,將所述leveldb數(shù)據(jù)庫(kù)中具有當(dāng)前時(shí)間戳的目標(biāo)累積量加1;
判斷所述目標(biāo)累積量是否大于第一預(yù)定值;
如果所述目標(biāo)累積量大于所述第一預(yù)定值,則插入新的時(shí)間戳,并將所述新的時(shí)間戳作為當(dāng)前時(shí)間戳;
如果所述目標(biāo)累積量不大于所述第一預(yù)定值,則判斷當(dāng)前數(shù)據(jù)總量是否大于第二預(yù)定值;
如果當(dāng)前數(shù)據(jù)總量大于所述第二預(yù)定值,則刪除與最早時(shí)間戳對(duì)應(yīng)的已緩存文件,并更新當(dāng)前數(shù)據(jù)總量;
其中,第二預(yù)定值為所述固態(tài)硬盤首次達(dá)到預(yù)定利用率所對(duì)應(yīng)的數(shù)據(jù)總量。
2.根據(jù)權(quán)利要求1所述的固態(tài)硬盤的緩存控制方法,其特征在于,還包括:記錄當(dāng)前所述leveldb數(shù)據(jù)庫(kù)中各時(shí)間戳,以及記錄每個(gè)時(shí)間戳與對(duì)應(yīng)的已緩存文件的對(duì)應(yīng)關(guān)系。
3.根據(jù)權(quán)利要求2所述的固態(tài)硬盤的緩存控制方法,其特征在于,在所述刪除與最早時(shí)間戳對(duì)應(yīng)的已緩存文件,并更新當(dāng)前數(shù)據(jù)總量具體為:
統(tǒng)計(jì)所述最早時(shí)間戳對(duì)應(yīng)的各已緩存文件的讀取次數(shù),篩選出讀取次數(shù)超過預(yù)定次數(shù)的緩存文件,將這些緩存文件的時(shí)間戳更換為當(dāng)前時(shí)間戳;將讀取次數(shù)未超過所述預(yù)定次數(shù)的緩存文件刪除,并更新當(dāng)前數(shù)據(jù)總量。
4.根據(jù)權(quán)利要求3所述的固態(tài)硬盤的緩存控制方法,其特征在于,所述更新當(dāng)前數(shù)據(jù)總量具體包括:
統(tǒng)計(jì)所述讀取次數(shù)未超過所述預(yù)定次數(shù)的緩存文件的數(shù)據(jù)量;
將當(dāng)前數(shù)據(jù)總量減去所述數(shù)據(jù)量;
刪除所述最早時(shí)間戳。
5.根據(jù)權(quán)利要求2所述的固態(tài)硬盤的緩存控制方法,其特征在于,還包括:將當(dāng)前所述leveldb數(shù)據(jù)庫(kù)中各時(shí)間戳以及每個(gè)時(shí)間戳與對(duì)應(yīng)的已緩存文件的對(duì)應(yīng)關(guān)系加載至內(nèi)存中。
6.根據(jù)權(quán)利要求5所述的固態(tài)硬盤的緩存控制方法,其特征在于,所述文件號(hào)為原始文件號(hào)對(duì)應(yīng)的哈希取余值。
7.根據(jù)權(quán)利要求1至6任意一項(xiàng)所述的固態(tài)硬盤的緩存控制方法,其特征在于,還包括:
當(dāng)接收到刪除請(qǐng)求時(shí),根據(jù)所述刪除請(qǐng)求在所述leveldb數(shù)據(jù)庫(kù)中刪除對(duì)應(yīng)的已緩存文件,并更新所述leveldb數(shù)據(jù)庫(kù)。
8.根據(jù)權(quán)利要求1所述的固態(tài)硬盤的緩存控制方法,其特征在于,所述第一預(yù)定值為1000。
9.根據(jù)權(quán)利要求1所述的固態(tài)硬盤的緩存控制方法,其特征在于,所述預(yù)定利用率為80%。
10.一種固態(tài)硬盤的緩存控制裝置,其特征在于,包括:
添加單元,用于為待緩存文件添加leveldb數(shù)據(jù)庫(kù)中的當(dāng)前時(shí)間戳,并以包含有文件號(hào)和文件內(nèi)容的格式插入到所述leveldb數(shù)據(jù)庫(kù)中;
計(jì)算單元,用于將所述leveldb數(shù)據(jù)庫(kù)中的數(shù)據(jù)總量加1,將所述leveldb數(shù)據(jù)庫(kù)中具有當(dāng)前時(shí)間戳的目標(biāo)累積量加1;
第一判斷單元,用于判斷所述目標(biāo)累積量是否大于第一預(yù)定值;
插入單元,用于如果所述目標(biāo)累積量大于所述第一預(yù)定值,則插入新的時(shí)間戳,并將所述新的時(shí)間戳作為當(dāng)前時(shí)間戳;
第二判斷單元,用于如果所述目標(biāo)累積量不大于所述第一預(yù)定值,則判斷當(dāng)前數(shù)據(jù)總量是否大于第二預(yù)定值;
更新單元,用于如果當(dāng)前數(shù)據(jù)總量大于所述第二預(yù)定值,則刪除與最早時(shí)間戳對(duì)應(yīng)的已緩存文件,并更新當(dāng)前數(shù)據(jù)總量;
其中,第二預(yù)定值為所述固態(tài)硬盤首次達(dá)到預(yù)定利用率所對(duì)應(yīng)的數(shù)據(jù)總量。