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

數(shù)據(jù)緩沖方法和裝置的制作方法

文檔序號:6337061閱讀:160來源:國知局
專利名稱:數(shù)據(jù)緩沖方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機信息技術(shù)領(lǐng)域,具體而言,涉及數(shù)據(jù)緩沖方法和裝置。
背景技術(shù)
應(yīng)用程序在運行過程中,有時需要從磁盤頻繁讀取大量文件數(shù)據(jù),這需要耗費較多的時間。利用緩沖技術(shù)可以大幅地提高應(yīng)用程序的響應(yīng)速度。圖1示出了不采用緩沖模塊的數(shù)據(jù)存取的示意圖。不使用緩沖模塊時,每次請求數(shù)據(jù)和返回數(shù)據(jù)時都會申請一塊內(nèi)存(當(dāng)內(nèi)存不夠的時候會使用操作系統(tǒng)默認(rèn)的硬盤緩沖),當(dāng)應(yīng)用模塊1使用完相應(yīng)的數(shù)據(jù)后,這塊內(nèi)存會被釋放。當(dāng)應(yīng)用模塊1再次發(fā)出數(shù)據(jù)請求時,又會重復(fù)上述操作,這樣非常影響應(yīng)用程序的響應(yīng)速度,而且會占用大量內(nèi)存,容易出現(xiàn)內(nèi)存使用緊張的情況。圖2示出了采用緩沖模塊的數(shù)據(jù)存取的示意圖。使用緩沖模塊后,應(yīng)用模塊2把應(yīng)用模塊1需要的數(shù)據(jù)緩存在緩沖模塊中,應(yīng)用模塊1需要數(shù)據(jù)的時候從緩沖模塊獲取即可。不論應(yīng)用模塊1發(fā)出多少次數(shù)據(jù)請求,只要申請的是同一份數(shù)據(jù),那么這份數(shù)據(jù)占用的是同一塊內(nèi)存。隨著計算機計算能力的不斷提高,現(xiàn)在的緩沖模塊的容量也做得越來越大?,F(xiàn)有技術(shù)缺乏良好的管理方法,導(dǎo)致在緩沖模塊中存取緩沖數(shù)據(jù)項將耗費較多的時間。

發(fā)明內(nèi)容
本發(fā)明旨在提供一種數(shù)據(jù)緩沖方法和裝置,以優(yōu)化緩沖裝置的性能。在本發(fā)明的實施例中,提供了一種數(shù)據(jù)緩沖方法,包括構(gòu)建緩沖項,其包括被緩沖數(shù)據(jù)、以及唯一標(biāo)識緩沖項的關(guān)鍵字;將緩沖項存儲于緩沖模塊中;應(yīng)用程序通過檢索關(guān)鍵字,從緩沖模塊中讀取緩沖項。在本發(fā)明的實施例中,提供了一種數(shù)據(jù)緩沖裝置,包括構(gòu)建模塊,用于構(gòu)建緩沖項,其包括被緩沖數(shù)據(jù)、以及唯一標(biāo)識緩沖項的關(guān)鍵字;緩沖模塊,用于存取緩沖項;檢索模塊,用于應(yīng)用程序通過檢索關(guān)鍵字,從緩沖模塊中讀取緩沖項。本發(fā)明實施例的數(shù)據(jù)緩沖方法和裝置因為采用關(guān)鍵字來管理緩沖模塊中的數(shù)據(jù), 所以克服了現(xiàn)有的緩沖系統(tǒng)存取緩沖數(shù)據(jù)項耗費較多的時間的問題,提高了計算機應(yīng)用程序?qū)?shù)據(jù)的訪問速度。


此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1示出了不采用緩沖模塊的數(shù)據(jù)存取的示意圖;圖2示出了采用緩沖模塊的數(shù)據(jù)存取的示意圖;圖3示出了根據(jù)本發(fā)明實施例的數(shù)據(jù)緩沖方法的流程圖4示出了根據(jù)相關(guān)技術(shù)的復(fù)合型緩沖系統(tǒng)的示意圖;圖5示出了根據(jù)本發(fā)明優(yōu)選實施例的將緩沖項存儲于緩沖模塊中的流程圖;圖6示出了根據(jù)本發(fā)明優(yōu)選實施例的從緩沖模塊中讀取緩沖項的流程圖;圖7示出了根據(jù)本發(fā)明實施例的數(shù)據(jù)緩沖裝置的示意圖。
具體實施例方式下面將參考附圖并結(jié)合實施例,來詳細說明本發(fā)明。圖3示出了根據(jù)本發(fā)明實施例的數(shù)據(jù)緩沖方法的流程圖,包括步驟S10,構(gòu)建緩沖項,其包括被緩沖數(shù)據(jù)、以及唯一標(biāo)識緩沖項的關(guān)鍵字;步驟S20,將緩沖項存儲于緩沖模塊中;步驟S30,應(yīng)用程序通過檢索關(guān)鍵字,從緩沖模塊中讀取緩沖項。該數(shù)據(jù)緩沖方法因為采用關(guān)鍵字來管理緩沖模塊中的數(shù)據(jù),所以克服了現(xiàn)有的緩沖系統(tǒng)存取緩沖數(shù)據(jù)項耗費較多的時間的問題,提高了計算機應(yīng)用程序?qū)?shù)據(jù)的訪問速度。優(yōu)選地,構(gòu)建關(guān)鍵字包括將被緩沖的數(shù)據(jù)的屬性構(gòu)成字符串;將字符串進行唯一映射的運算得到關(guān)鍵字。本優(yōu)選實施例采用唯一映射的運算例如哈希算法等將數(shù)據(jù)的屬性映射到關(guān)鍵字,從而可以唯一標(biāo)識緩沖項,這使得利用關(guān)鍵字在緩沖模塊中檢索緩沖項得以實現(xiàn)。優(yōu)選地,屬性包括被緩沖的數(shù)據(jù)最后的修改時間。屬性可以包括緩沖數(shù)據(jù)的名稱、 類型等,在本優(yōu)選實施例中在屬性中包括最后修改時間,這可以確保應(yīng)用程序利用該關(guān)鍵字檢索緩沖項時,能夠檢索到最新的數(shù)據(jù)。優(yōu)選地,本方法還包括對關(guān)鍵字設(shè)置優(yōu)先級,其中,將新構(gòu)建的緩沖項的關(guān)鍵字和當(dāng)前被讀取的緩沖項的關(guān)鍵字的優(yōu)先級設(shè)置到最高,將其他緩沖項的關(guān)鍵字均下調(diào)一級。對關(guān)鍵字設(shè)置優(yōu)先級可以使得緩沖模塊對于緩沖項的存取實現(xiàn)各種優(yōu)先級管理,該優(yōu)先級如果是根據(jù)數(shù)據(jù)的產(chǎn)生先后、存取頻率、已緩沖時間來設(shè)置,這就使得緩沖模塊可以根據(jù)數(shù)據(jù)的產(chǎn)生先后、存取頻率、已緩沖時間來存取這些緩沖項,從而提高應(yīng)用程序訪問的命中率,進一步提高了計算機的速度。優(yōu)選地,將其他緩沖項的關(guān)鍵字均下調(diào)一級包括將所有緩沖項的關(guān)鍵字構(gòu)建隊列,關(guān)鍵字按照其優(yōu)先級從高到低的次序在隊列中先后排列;將新構(gòu)建的緩沖項的關(guān)鍵字和被讀取的緩沖項的關(guān)鍵字插入到隊列的隊首。該數(shù)據(jù)結(jié)構(gòu)簡單,很容易實現(xiàn)。例如,可以用列表來管理隊列。插入隊首,就是在列表表頭增加一項,將關(guān)鍵字保存在該新建的第一項,其他項就自然下降一級。還可以用鏈?zhǔn)酱鎯Y(jié)構(gòu)等來實現(xiàn)該隊列。現(xiàn)有技術(shù)中,內(nèi)存的價格昂貴,通常容量受到一定限制。目前大多數(shù)操作系統(tǒng)提供了硬盤緩沖技術(shù),可以緩解內(nèi)存使用緊張的情況。圖4示出了根據(jù)相關(guān)技術(shù)的復(fù)合型緩沖系統(tǒng)的示意圖。系統(tǒng)中主要包括應(yīng)用接口模塊、內(nèi)存緩沖模塊和硬盤緩沖模塊。該系統(tǒng)使用內(nèi)存緩沖模塊保存使用頻率較高的數(shù)據(jù),使用硬盤緩沖模塊保存使用頻率較低的數(shù)據(jù)。該緩沖系統(tǒng)在緩沖容量上比單用內(nèi)存緩沖有優(yōu)勢,在讀取緩沖項的平均速度上比單用硬盤緩沖有優(yōu)勢。本發(fā)明的優(yōu)選實施例可以在這種二級緩存系統(tǒng)中實施。優(yōu)選地,緩沖模塊包括內(nèi)存緩沖和硬盤緩沖,步驟S20包括將新構(gòu)建的緩沖項存儲于內(nèi)存緩沖中;如果內(nèi)存緩沖的使用達到第一閾值,將內(nèi)存緩沖中優(yōu)先級最低的緩沖項拷貝到硬盤緩沖中(即該緩沖項在內(nèi)存緩沖中仍然保留);如果內(nèi)存緩沖的使用達到第二閾值,將內(nèi)存緩沖中優(yōu)先級最低的緩沖項轉(zhuǎn)移到硬盤緩沖中(即該緩沖項在內(nèi)存緩沖中被刪除);其中,預(yù)先根據(jù)內(nèi)存緩沖的容量設(shè)置第一閾值和第二閾值,第二閾值大于第一閾值。第一閾值可以是臨界容量,第二閾值可以是溢出容量。將新構(gòu)建的緩沖項存儲于內(nèi)存緩沖中,將優(yōu)先級較低的緩沖項移出內(nèi)存緩沖,這使得內(nèi)存緩沖中保存的緩沖項是優(yōu)先級最高的和較高的緩沖項,從而提高了數(shù)據(jù)存取的命中率。圖5示出了根據(jù)本發(fā)明優(yōu)選實施例的將緩沖項存儲于緩沖模塊中的流程圖,包括以下步驟步驟502,構(gòu)建緩沖項,其中包括被緩沖數(shù)據(jù);步驟504,根據(jù)緩沖數(shù)據(jù)的信息構(gòu)建關(guān)鍵字,關(guān)鍵字與緩沖項一一對應(yīng);步驟506,判斷緩沖項存入內(nèi)存緩沖模塊,內(nèi)存緩沖是否達到溢出容量;步驟508,如果是,則開始清理內(nèi)存緩沖,即把關(guān)鍵字的優(yōu)先級最低的緩沖項寫入硬盤緩沖,然后清除內(nèi)存緩沖中的該緩沖項;步驟510,如果沒有達到溢出容量,則進一步判斷內(nèi)存緩沖是否達到臨界容量;步驟512,如果是,則將內(nèi)存緩沖中最低優(yōu)先級的緩沖項拷貝到硬盤緩沖中;步驟514,將該緩沖項存入內(nèi)存緩沖。優(yōu)選地,步驟S20還包括如果硬盤緩沖中的一個緩沖項被讀取,則將被讀取的緩沖項拷貝到內(nèi)存中,并且該緩沖項的優(yōu)先級被設(shè)置為最高;如果硬盤緩沖的使用達到第三閾值,將硬盤緩沖中優(yōu)先級最低的緩沖項刪除,并從優(yōu)先級的隊列中刪除其關(guān)鍵字;其中, 預(yù)先根據(jù)硬盤緩沖的容量設(shè)置第三閾值。圖6示出了根據(jù)本發(fā)明優(yōu)選實施例的從緩沖模塊中讀取緩沖項的流程圖,包括以下步驟步驟602,首先根據(jù)要讀取的信息構(gòu)建關(guān)鍵字;步驟604,先在內(nèi)存緩沖中查找有該關(guān)鍵字的緩沖項,如果找到,則跳到步驟612 ;步驟606,如果沒有找到,接著在硬盤緩沖中查找有該關(guān)鍵字的緩沖項;步驟608,如果沒有找到,則緩沖系統(tǒng)中沒有關(guān)鍵字對應(yīng)的緩沖項;步驟610,如果找到,則把該緩沖項讀入內(nèi)存緩沖中;步驟612,調(diào)整該緩沖項在優(yōu)先級列表中位置到第一項;步驟614,返回該緩沖項給應(yīng)用程序。采用以上優(yōu)選實施例,可以將高頻率使用的數(shù)據(jù)保存在內(nèi)存緩沖中,將不太常用的數(shù)據(jù)保存在硬盤緩沖中,這實現(xiàn)了內(nèi)存緩沖和硬盤緩沖的優(yōu)勢互補,進一步提高了計算機的性能。圖7示出了根據(jù)本發(fā)明實施例的數(shù)據(jù)緩沖裝置的示意圖,包括構(gòu)建模塊10,用于構(gòu)建緩沖項,其包括被緩沖數(shù)據(jù)、以及唯一標(biāo)識緩沖項的關(guān)鍵字;緩沖模塊20,用于存取緩沖項;檢索模塊30,用于應(yīng)用程序通過檢索關(guān)鍵字,從緩沖模塊中讀取緩沖項。
該數(shù)據(jù)緩沖裝置提高了計算機的數(shù)據(jù)存取速度。優(yōu)選地,構(gòu)建模塊10包括屬性模塊,用于將被緩沖的數(shù)據(jù)的屬性構(gòu)成字符串,屬性包括被緩沖的數(shù)據(jù)最后修改時間;運算模塊,用于將字符串進行唯一映射的運算得到關(guān)鍵字。這使得利用關(guān)鍵字在緩沖模塊中檢索緩沖項得以實現(xiàn)。構(gòu)建字符串的屬性還可以包括數(shù)據(jù)的名稱、類型等。優(yōu)選地,該數(shù)據(jù)緩沖裝置還包括優(yōu)先級模塊,用于對關(guān)鍵字設(shè)置優(yōu)先級,其中,將所有緩沖項的關(guān)鍵字構(gòu)建隊列,關(guān)鍵字按照其優(yōu)先級從高到低的次序在隊列中先后排列; 將新構(gòu)建的緩沖項的關(guān)鍵字和被讀取的緩沖項的關(guān)鍵字插入到隊列的隊首。這使得將新構(gòu)建的緩沖項的關(guān)鍵字和當(dāng)前被讀取的緩沖項的關(guān)鍵字的優(yōu)先級設(shè)置到最高,將其他緩沖項的關(guān)鍵字均下調(diào)一級。這進一步提高了計算機的速度。優(yōu)選地,緩沖模塊20包括內(nèi)存緩沖和硬盤緩沖,將新構(gòu)建的緩沖項存儲于述內(nèi)存緩沖中;如果內(nèi)存緩沖的使用達到第一閾值,將內(nèi)存緩沖中優(yōu)先級最低的緩沖項拷貝到硬盤緩沖中;如果內(nèi)存緩沖的使用達到第二閾值,將內(nèi)存緩沖中優(yōu)先級最低的緩沖項轉(zhuǎn)移到硬盤緩沖中;如果硬盤緩沖中的一個緩沖項被讀取,則將被讀取的緩沖項拷貝到內(nèi)存中; 如果硬盤緩沖的使用達到第三閾值,將硬盤緩沖中優(yōu)先級最低的緩沖項刪除,并從關(guān)鍵字優(yōu)先級的隊列中刪除其關(guān)鍵字;其中,第一閾值和第二閾值預(yù)先根據(jù)內(nèi)存緩沖的容量設(shè)置, 第二閾值大于第一閾值,第三閾值預(yù)先根據(jù)硬盤緩沖的容量設(shè)置。這實現(xiàn)了內(nèi)存緩沖和硬盤緩沖的優(yōu)勢互補,進一步提高了計算機的性能。從以上的描述中可以看出,本發(fā)明提高了計算機的性能。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)緩沖方法,其特征在于,包括構(gòu)建緩沖項,其包括被緩沖數(shù)據(jù)、以及唯一標(biāo)識所述緩沖項的關(guān)鍵字; 將所述緩沖項存儲于緩沖模塊中;應(yīng)用程序通過檢索所述關(guān)鍵字,從所述緩沖模塊中讀取所述緩沖項。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,構(gòu)建所述關(guān)鍵字包括 將所述被緩沖的數(shù)據(jù)的屬性構(gòu)成字符串;將所述字符串進行唯一映射的運算得到所述關(guān)鍵字。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述屬性包括所述被緩沖的數(shù)據(jù)最后的修改時間。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括對所述關(guān)鍵字設(shè)置優(yōu)先級,其中, 將新構(gòu)建的所述緩沖項的關(guān)鍵字和當(dāng)前被讀取的所述緩沖項的關(guān)鍵字的優(yōu)先級設(shè)置到最高,將其他所述緩沖項的關(guān)鍵字均下調(diào)一級。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,將其他所述緩沖項的關(guān)鍵字均下調(diào)一級包括將所有所述緩沖項的關(guān)鍵字構(gòu)建隊列,所述關(guān)鍵字按照其優(yōu)先級從高到低的次序在所述隊列中先后排列;將新構(gòu)建的所述緩沖項的關(guān)鍵字和所述被讀取的緩沖項的關(guān)鍵字插入到所述隊列的隊首。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述緩沖模塊包括內(nèi)存緩沖和硬盤緩沖, 將所述緩沖項存儲于緩沖模塊中包括將新構(gòu)建的所述緩沖項存儲于所述內(nèi)存緩沖中;如果所述內(nèi)存緩沖的使用達到第一閾值,將所述內(nèi)存緩沖中所述優(yōu)先級最低的緩沖項拷貝到所述硬盤緩沖中;如果所述內(nèi)存緩沖的使用達到第二閾值,將所述內(nèi)存緩沖中所述優(yōu)先級最低的緩沖項轉(zhuǎn)移到所述硬盤緩沖中;其中,預(yù)先根據(jù)所述內(nèi)存緩沖的容量設(shè)置所述第一閾值和所述第二閾值,所述第二閾值大于所述第一閾值。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,將所述緩沖項存儲于緩沖模塊中還包括 如果所述硬盤緩沖中的一個所述緩沖項被讀取,則將所述被讀取的緩沖項拷貝到所述內(nèi)存中;如果所述硬盤緩沖的使用達到第三閾值,將所述硬盤緩沖中所述優(yōu)先級最低的緩沖項刪除,并從所述隊列中刪除其關(guān)鍵字;其中,預(yù)先根據(jù)所述硬盤緩沖的容量設(shè)置所述第三閾值。
8.一種數(shù)據(jù)緩沖裝置,其特征在于,包括構(gòu)建緩沖項,其包括被緩沖數(shù)據(jù)、以及唯一標(biāo)識所述緩沖項的關(guān)鍵字; 緩沖模塊,用于存取所述緩沖項;檢索模塊,用于應(yīng)用程序通過檢索所述關(guān)鍵字,從所述緩沖模塊中讀取所述緩沖項。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述構(gòu)建模塊包括屬性模塊,用于將所述被緩沖的數(shù)據(jù)的屬性構(gòu)成字符串,所述屬性包括所述被緩沖的數(shù)據(jù)最后的修改時間;運算模塊,用于將所述字符串進行唯一映射的運算得到所述關(guān)鍵字。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括優(yōu)先級模塊,用于對所述關(guān)鍵字設(shè)置優(yōu)先級,其中,將所有所述緩沖項的關(guān)鍵字構(gòu)建隊列,所述關(guān)鍵字按照其優(yōu)先級從高到低的次序在所述隊列中先后排列;將新構(gòu)建的所述緩沖項的關(guān)鍵字和所述被讀取的緩沖項的關(guān)鍵字插入到所述隊列的隊首。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述緩沖模塊包括內(nèi)存緩沖和硬盤緩沖,將新構(gòu)建的所述緩沖項存儲于所述內(nèi)存緩沖中;如果所述內(nèi)存緩沖的使用達到第一閾值,將所述內(nèi)存緩沖中所述優(yōu)先級最低的緩沖項拷貝到所述硬盤緩沖中;如果所述內(nèi)存緩沖的使用達到第二閾值,將所述內(nèi)存緩沖中所述優(yōu)先級最低的緩沖項轉(zhuǎn)移到所述硬盤緩沖中;如果所述硬盤緩沖中的一個所述緩沖項被讀取,則將所述被讀取的緩沖項拷貝到所述內(nèi)存中;如果所述硬盤緩沖的使用達到第三閾值,將所述硬盤緩沖中所述優(yōu)先級最低的緩沖項刪除,并從所述隊列中刪除其關(guān)鍵字;其中,所述第一閾值和所述第二閾值預(yù)先根據(jù)所述內(nèi)存緩沖的容量設(shè)置,所述第二閾值大于所述第一閾值,所述第三閾值預(yù)先根據(jù)所述硬盤緩沖的容量設(shè)置。
全文摘要
本發(fā)明提供了一種數(shù)據(jù)緩沖方法,包括構(gòu)建緩沖項,其包括被緩沖數(shù)據(jù)、以及唯一標(biāo)識緩沖項的關(guān)鍵字;將緩沖項存儲于緩沖模塊中;應(yīng)用程序通過檢索關(guān)鍵字,從緩沖模塊中讀取緩沖項。本發(fā)明還提供了一種數(shù)據(jù)緩沖裝置,包括構(gòu)建模塊,用于構(gòu)建緩沖項,其包括被緩沖數(shù)據(jù)、以及唯一標(biāo)識緩沖項的關(guān)鍵字;緩沖模塊,用于存取緩沖項;檢索模塊,用于應(yīng)用程序通過檢索關(guān)鍵字,從緩沖模塊中讀取緩沖項。本發(fā)明提高了計算機的數(shù)據(jù)存取速度。
文檔編號G06F17/30GK102479213SQ20101056547
公開日2012年5月30日 申請日期2010年11月25日 優(yōu)先權(quán)日2010年11月25日
發(fā)明者姜來 申請人:北京北大方正電子有限公司, 北大方正集團有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1