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

大容量緩存及數(shù)據(jù)存儲(chǔ)和讀取、內(nèi)存分配和回收的方法

文檔序號(hào):6628192閱讀:248來(lái)源:國(guó)知局
大容量緩存及數(shù)據(jù)存儲(chǔ)和讀取、內(nèi)存分配和回收的方法
【專利摘要】本發(fā)明公開(kāi)了一種大容量緩存及數(shù)據(jù)存儲(chǔ)和讀取、內(nèi)存分配和回收的方法,涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域。該大容量緩存包括,數(shù)據(jù)存儲(chǔ)模塊:用于以數(shù)據(jù)塊的形式存儲(chǔ)數(shù)據(jù);數(shù)據(jù)讀取模塊:用于以數(shù)據(jù)塊的形式讀取數(shù)據(jù)。本發(fā)明提供的技術(shù)方案,既實(shí)現(xiàn)了文件系統(tǒng)對(duì)內(nèi)存的訪問(wèn),減少了文件系統(tǒng)對(duì)磁盤(pán)的訪問(wèn),提升了對(duì)大量數(shù)據(jù)的讀取速度,也極大的節(jié)省了內(nèi)存空間,提高了內(nèi)存資源的利用率;進(jìn)而提高了計(jì)算機(jī)中的程序運(yùn)行速度以及計(jì)算機(jī)的整體性能。
【專利說(shuō)明】大容量緩存及數(shù)據(jù)存儲(chǔ)和讀取、內(nèi)存分配和回收的方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,尤其涉及一種大容量緩存及數(shù)據(jù)存儲(chǔ)和讀取、內(nèi)存分配和回收的方法。

【背景技術(shù)】
[0002]磁盤(pán)和文件系統(tǒng)是計(jì)算機(jī)的重要部分之一,是保存數(shù)據(jù)的地方。但磁盤(pán)的訪問(wèn)速度遠(yuǎn)低于內(nèi)存的訪問(wèn)速度,當(dāng)面對(duì)大量數(shù)據(jù)時(shí),磁盤(pán)的訪問(wèn)速度成為處理數(shù)據(jù)的瓶頸。為了提高數(shù)據(jù)的處理速度,文件系統(tǒng)利用內(nèi)存為磁盤(pán)提供了一套緩存機(jī)制。
[0003]目前,計(jì)算機(jī)文件系統(tǒng)的緩存是基于文件的,而由于在相同的文件內(nèi)或不同的文件間存在大量相同的數(shù)據(jù),所以內(nèi)存中就會(huì)有大量相同的數(shù)據(jù),浪費(fèi)了大量的內(nèi)存空間,進(jìn)而導(dǎo)致內(nèi)存資源利用率的下降。一旦文件系統(tǒng)消耗了大量?jī)?nèi)存,會(huì)導(dǎo)致計(jì)算機(jī)中的程序運(yùn)行緩慢,影響計(jì)算機(jī)的整體性能。


【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的在于提供一種大容量緩存及數(shù)據(jù)存儲(chǔ)和讀取、內(nèi)存分配和回收的方法,從而解決現(xiàn)有技術(shù)中存在的前述問(wèn)題。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
[0006]一種大容量緩存,包括,
[0007]數(shù)據(jù)存儲(chǔ)模塊:用于以數(shù)據(jù)塊的形式存儲(chǔ)數(shù)據(jù)
[0008]數(shù)據(jù)讀取模塊:用于以數(shù)據(jù)塊的形式讀取數(shù)據(jù)。
[0009]進(jìn)一步地,所述大容量緩存還包括,
[0010]內(nèi)存分配模塊:用于無(wú)空閑內(nèi)存時(shí),從內(nèi)存池中分配第一內(nèi)存塊,并將所述第一內(nèi)存塊分割成多個(gè)固定大小的第二內(nèi)存塊。
[0011]進(jìn)一步地,所述大容量緩存還包括,
[0012]內(nèi)存回收模塊:用于基于數(shù)據(jù)訪問(wèn)時(shí)間和訪問(wèn)次數(shù)的更新,進(jìn)行內(nèi)存的回收。
[0013]上述大容量緩存的數(shù)據(jù)存儲(chǔ)方法,包括如下步驟:
[0014]SI,接收數(shù)據(jù)塊和所述數(shù)據(jù)塊對(duì)應(yīng)的特征碼;
[0015]S2,用所述特征碼檢索所述數(shù)據(jù)塊,如果檢索到所述數(shù)據(jù)塊,則拋棄接收到的所述數(shù)據(jù)塊和所述特征碼;如果沒(méi)有檢索到所述數(shù)據(jù)塊,則執(zhí)行步驟S3 ;
[0016]S3,保存所述數(shù)據(jù)塊和所述特征碼;
[0017]S4,建立特征碼索引表,所述特征碼索引表包括所述特征碼和與其對(duì)應(yīng)的數(shù)據(jù)塊;
[0018]S5,更新所述數(shù)據(jù)塊的訪問(wèn)時(shí)間和訪問(wèn)次數(shù)。
[0019]進(jìn)一步地,步驟SI之前,還包括步驟,計(jì)算所述數(shù)據(jù)塊的特征碼。
[0020]其中,所述計(jì)算所述數(shù)據(jù)塊的特征碼,具體為,計(jì)算所述數(shù)據(jù)塊的MD5值。
[0021]上述大容量緩存的數(shù)據(jù)讀取方法,包括如下步驟:
[0022]SI,接收數(shù)據(jù)塊對(duì)應(yīng)的特征碼;
[0023]S2,用所述特征碼檢索所述數(shù)據(jù)塊,如果檢索到所述數(shù)據(jù)塊,則執(zhí)行步驟S3 ;如果沒(méi)有檢索到所述數(shù)據(jù)塊,則拋棄接收到的所述特征碼;
[0024]S3,讀取所述數(shù)據(jù)塊;
[0025]S4,保存所述特征碼;
[0026]S5,建立特征碼索引表,所述特征碼索引表包括所述特征碼和與其對(duì)應(yīng)的數(shù)據(jù)塊;
[0027]S6,更新所述數(shù)據(jù)塊的訪問(wèn)時(shí)間和訪問(wèn)次數(shù)。
[0028]上述大容量緩存的內(nèi)存分配方法,包括如下步驟:
[0029]SI,檢查空閑內(nèi)存列表,如果沒(méi)有空閑內(nèi)存,則執(zhí)行步驟S2-S5 ;如果有空閑內(nèi)存,則執(zhí)行步驟S4-S5 ;
[0030]S2,從內(nèi)存池中分配第一內(nèi)存塊,并將所述第一內(nèi)存塊分割成多個(gè)固定大小的第二內(nèi)存塊;
[0031]S3,將所述第二內(nèi)存塊添加到所述空閑內(nèi)存列表中;
[0032]S4,從所述空閑內(nèi)存列表中獲取內(nèi)存;
[0033]S5,在所述空閑內(nèi)存列表中,將所述內(nèi)存標(biāo)記為已使用。
[0034]上述大容量緩存的內(nèi)存回收方法,包括如下步驟:
[0035]SI,啟動(dòng)定時(shí)器;
[0036]S2,獲取所述數(shù)據(jù)塊的訪問(wèn)時(shí)間和訪問(wèn)次數(shù);
[0037]S3,檢查所述數(shù)據(jù)塊是否屬于非熱點(diǎn)數(shù)據(jù)塊,如果所述數(shù)據(jù)塊不屬于非熱點(diǎn)數(shù)據(jù)塊,則檢查下一個(gè)數(shù)據(jù)塊;如果所述數(shù)據(jù)塊屬于非熱點(diǎn)數(shù)據(jù)塊,則執(zhí)行步驟S4 ;
[0038]S4,移除所述數(shù)據(jù)塊;
[0039]S5,檢查所述第一內(nèi)存塊是否已經(jīng)空閑,如果已經(jīng)空閑,則釋放所述第一內(nèi)存塊;如果沒(méi)有空閑,則將所述第二內(nèi)存塊放入空閑內(nèi)存列表。
[0040]進(jìn)一步地,步驟S5之后,還包括,當(dāng)多個(gè)所述第二內(nèi)存塊形成所述第一內(nèi)存塊后,釋放所述第一內(nèi)存塊。
[0041]本發(fā)明的有益效果是:
[0042]本發(fā)明針對(duì)大量數(shù)據(jù)的處理創(chuàng)建了一種大容量緩存,并實(shí)現(xiàn)了該大容量緩存方法,該大容量緩存及其實(shí)現(xiàn)方法是基于數(shù)據(jù)塊的,而不是基于文件的,從而避免了相同數(shù)據(jù)占用多份內(nèi)存,以及在處理大量數(shù)據(jù)時(shí),能夠保證相同的數(shù)據(jù)塊在緩存中只處理一次,而不會(huì)有大量的重復(fù)。所以,本發(fā)明提供的技術(shù)方案,既實(shí)現(xiàn)了文件系統(tǒng)對(duì)內(nèi)存的訪問(wèn),減少了文件系統(tǒng)對(duì)磁盤(pán)的訪問(wèn),提升了對(duì)大量數(shù)據(jù)的讀取速度,也極大的節(jié)省了內(nèi)存空間,提高了內(nèi)存資源的利用率;進(jìn)而提高了計(jì)算機(jī)中的程序運(yùn)行速度以及計(jì)算機(jī)的整體性能。

【專利附圖】

【附圖說(shuō)明】
[0043]圖1是本發(fā)明實(shí)施例提供的大容量緩存的構(gòu)造示意圖;
[0044]圖2是本發(fā)明實(shí)施例提供的大容量緩存的數(shù)據(jù)存儲(chǔ)方法的流程圖;
[0045]圖3是本發(fā)明實(shí)施例提供的大容量緩存的數(shù)據(jù)讀取方法的流程圖;
[0046]圖4是本發(fā)明實(shí)施例提供的大容量緩存的內(nèi)存分配方法的流程圖;
[0047]圖5是本發(fā)明實(shí)施例提供的大容量緩存的內(nèi)存回收方法的流程圖。

【具體實(shí)施方式】
[0048]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的【具體實(shí)施方式】?jī)H僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0049]如圖1所示,本發(fā)明實(shí)施例提供了一種大容量緩存,可以包括,
[0050]數(shù)據(jù)存儲(chǔ)模塊:用于以數(shù)據(jù)塊的形式存儲(chǔ)數(shù)據(jù)
[0051]數(shù)據(jù)讀取模塊:用于以數(shù)據(jù)塊的形式讀取數(shù)據(jù)。
[0052]現(xiàn)有技術(shù)中,由于計(jì)算機(jī)文件系統(tǒng)的緩存是基于文件的,在相同的文件內(nèi)或不同的文件間存在大量相同的數(shù)據(jù),所以操作過(guò)程中,會(huì)浪費(fèi)大量的內(nèi)存空間,進(jìn)而導(dǎo)致內(nèi)存資源利用率下降,從而影響計(jì)算機(jī)的整體性能。本發(fā)明實(shí)施例為了解決上述問(wèn)題,計(jì)算機(jī)文件系統(tǒng)的緩存數(shù)據(jù)采用基于數(shù)據(jù)塊的形式進(jìn)行管理,這樣,就可以保證相同的數(shù)據(jù)塊在內(nèi)存中只處理一次,而不會(huì)重復(fù)處理,造成內(nèi)存空間的浪費(fèi)和資源利用率的下降,從而提高了計(jì)算機(jī)的整體性能。
[0053]與現(xiàn)有技術(shù)中的以文件的形式進(jìn)行數(shù)據(jù)的讀取操作相比,本發(fā)明實(shí)施例提供的大容量緩存,在面對(duì)大量數(shù)據(jù)時(shí),尤其是面對(duì)大量不斷變化的數(shù)據(jù)時(shí),其以數(shù)據(jù)塊的形式進(jìn)行數(shù)據(jù)的讀取操作,對(duì)內(nèi)存資源利用率的提高和系統(tǒng)整體性能的提高更加明顯,作用更加顯著。
[0054]本發(fā)明提供的一個(gè)實(shí)施例中,大容量緩存還可以包括,
[0055]內(nèi)存分配模塊:用于無(wú)空閑內(nèi)存時(shí),從內(nèi)存池中分配第一內(nèi)存塊,并將所述第一內(nèi)存塊分割成多個(gè)固定大小的第二內(nèi)存塊。
[0056]采用上述技術(shù)方案,實(shí)現(xiàn)了內(nèi)存的預(yù)分配,從而實(shí)現(xiàn)了數(shù)據(jù)讀取速度的提高,進(jìn)而提升了系統(tǒng)的整體性能。
[0057]在本發(fā)明提供的一個(gè)實(shí)施例中,大容量緩存還可以包括,
[0058]內(nèi)存回收模塊:用于基于數(shù)據(jù)訪問(wèn)時(shí)間和訪問(wèn)次數(shù)的更新,進(jìn)行內(nèi)存的回收。
[0059]采用上述技術(shù)方案,可以對(duì)非熱點(diǎn)數(shù)據(jù)占用的內(nèi)存進(jìn)行回收,從而節(jié)省了內(nèi)存資源,提高了內(nèi)存的利用率。
[0060]如圖2所示,本發(fā)明實(shí)施例提供了上述大容量緩存的數(shù)據(jù)存儲(chǔ)方法,包括如下步驟:
[0061]SI,接收數(shù)據(jù)塊和所述數(shù)據(jù)塊對(duì)應(yīng)的特征碼;
[0062]S2,用所述特征碼檢索所述數(shù)據(jù)塊,如果檢索到所述數(shù)據(jù)塊,則拋棄接收到的所述數(shù)據(jù)塊和所述特征碼;如果沒(méi)有檢索到所述數(shù)據(jù)塊,則執(zhí)行步驟S3 ;
[0063]S3,保存所述數(shù)據(jù)塊和所述特征碼;
[0064]S4,建立特征碼索引表,所述特征碼索引表包括所述特征碼和與其對(duì)應(yīng)的數(shù)據(jù)塊;
[0065]S5,更新所述數(shù)據(jù)塊的訪問(wèn)時(shí)間和訪問(wèn)次數(shù)。
[0066]其中,步驟SI之前,還可以包括步驟,計(jì)算所述數(shù)據(jù)塊的特征碼。計(jì)算所述數(shù)據(jù)塊的特征碼,具體可以為,計(jì)算所述數(shù)據(jù)塊的MD5值。
[0067]由于MD5計(jì)算時(shí),將整個(gè)文件當(dāng)作一個(gè)大文本信息,通過(guò)其不可逆的字符串變換算法,產(chǎn)生一個(gè)唯一的MD5信息摘要,即MD5值。所以,對(duì)于一個(gè)文件,只存在一個(gè)MD5值,如果該文件進(jìn)行了任意的變動(dòng),MD5值都會(huì)發(fā)生變化,故對(duì)數(shù)據(jù)進(jìn)行MD5計(jì)算,數(shù)據(jù)標(biāo)記更加準(zhǔn)確。本發(fā)明實(shí)施例中,將計(jì)算得到的MD5值作為數(shù)據(jù)塊的特征碼,由于每個(gè)數(shù)據(jù)塊的MD5值是唯一的,所以以MD5值作為數(shù)據(jù)塊的特征碼,會(huì)更加準(zhǔn)確,不會(huì)出現(xiàn)錯(cuò)誤識(shí)別的情況。
[0068]本發(fā)明實(shí)施例中,通過(guò)建立數(shù)據(jù)塊對(duì)應(yīng)的特征碼索引表,由于特征碼索引表包括特征碼和與其對(duì)應(yīng)的數(shù)據(jù)塊,所以使用特征碼檢索數(shù)據(jù)塊,快速而且準(zhǔn)確,從而可以在緩存中實(shí)現(xiàn)快速而且準(zhǔn)確的數(shù)據(jù)存儲(chǔ)過(guò)程。在面對(duì)大量數(shù)據(jù)時(shí),尤其是面對(duì)大量不斷變化的數(shù)據(jù)時(shí),數(shù)據(jù)存儲(chǔ)速度的提升和準(zhǔn)確率的提高將更加明顯,進(jìn)而對(duì)系統(tǒng)整體性能的提高更加明顯。
[0069]同時(shí),由于本發(fā)明實(shí)施例中,數(shù)據(jù)存儲(chǔ)是基于數(shù)據(jù)塊的,可以保證相同的數(shù)據(jù)在緩存中只存儲(chǔ)一次,所以不會(huì)出現(xiàn)同一數(shù)據(jù)占用多塊內(nèi)存的情況,不會(huì)造成內(nèi)存資源的浪費(fèi),從而可以提高內(nèi)存的利用率和系統(tǒng)的整體性能。
[0070]如圖3所示,本發(fā)明實(shí)施例提供了上述大容量緩存的數(shù)據(jù)讀取方法,包括如下步驟:
[0071]SI,接收數(shù)據(jù)塊對(duì)應(yīng)的特征碼;
[0072]S2,用所述特征碼檢索所述數(shù)據(jù)塊,如果檢索到所述數(shù)據(jù)塊,則執(zhí)行步驟S3 ;如果沒(méi)有檢索到所述數(shù)據(jù)塊,則拋棄接收到的所述特征碼;
[0073]S3,讀取所述數(shù)據(jù)塊;
[0074]S4,保存所述特征碼;
[0075]S5,建立特征碼索引表,所述特征碼索引表包括所述特征碼和與其對(duì)應(yīng)的數(shù)據(jù)塊;
[0076]S6,更新所述數(shù)據(jù)塊的訪問(wèn)時(shí)間和訪問(wèn)次數(shù)。
[0077]其中,步驟SI之前,還可以包括步驟,計(jì)算所述數(shù)據(jù)塊的特征碼。計(jì)算所述數(shù)據(jù)塊的特征碼,具體可以為,計(jì)算所述數(shù)據(jù)塊的MD5值。
[0078]由于MD5計(jì)算時(shí),將整個(gè)文件當(dāng)作一個(gè)大文本信息,通過(guò)其不可逆的字符串變換算法,產(chǎn)生一個(gè)唯一的MD5信息摘要,即MD5值。所以,對(duì)于一個(gè)文件,只存在一個(gè)MD5值,如果該文件進(jìn)行了任意的變動(dòng),MD5值都會(huì)發(fā)生變化,故對(duì)數(shù)據(jù)進(jìn)行MD5計(jì)算,數(shù)據(jù)標(biāo)記更加準(zhǔn)確。本發(fā)明實(shí)施例中,將計(jì)算得到的MD5值作為數(shù)據(jù)塊的特征碼,由于每個(gè)數(shù)據(jù)塊的MD5值是唯一的,所以以MD5值作為數(shù)據(jù)塊的特征碼,會(huì)更加準(zhǔn)確,不會(huì)出現(xiàn)錯(cuò)誤識(shí)別的情況。
[0079]本發(fā)明實(shí)施例中,通過(guò)建立數(shù)據(jù)塊對(duì)應(yīng)的特征碼索引表,由于特征碼索引表包括特征碼和與其對(duì)應(yīng)的數(shù)據(jù)塊,所以使用特征碼檢索數(shù)據(jù)塊,快速而且準(zhǔn)確,從而可以在緩存中實(shí)現(xiàn)快速而且準(zhǔn)確的數(shù)據(jù)讀取過(guò)程。在面對(duì)大量數(shù)據(jù)時(shí),尤其是面對(duì)大量不斷變化的數(shù)據(jù)時(shí),數(shù)據(jù)讀取速度的提升和準(zhǔn)確率的提高將更加明顯,進(jìn)而對(duì)系統(tǒng)整體性能的提高更加明顯。
[0080]同時(shí),由于本發(fā)明實(shí)施例中,數(shù)據(jù)讀取是基于數(shù)據(jù)塊的,可以保證相同的數(shù)據(jù)在緩存中只讀取一次,所以不會(huì)出現(xiàn)同一數(shù)據(jù)占用多塊內(nèi)存的情況,不會(huì)造成內(nèi)存資源的浪費(fèi),從而可以提高內(nèi)存的利用率和系統(tǒng)的整體性能。
[0081]如圖4所示,本發(fā)明實(shí)施例提供了上述大容量緩存的內(nèi)存分配方法,包括如下步驟:
[0082]SI,檢查空閑內(nèi)存列表,如果沒(méi)有空閑內(nèi)存,則執(zhí)行步驟S2-S5 ;如果有空閑內(nèi)存,則執(zhí)行步驟S4-S5 ;
[0083]S2,從內(nèi)存池中分配第一內(nèi)存塊,并將所述第一內(nèi)存塊分割成多個(gè)固定大小的第二內(nèi)存塊;
[0084]S3,將所述第二內(nèi)存塊添加到所述空閑內(nèi)存列表中;
[0085]S4,從所述空閑內(nèi)存列表中獲取內(nèi)存;
[0086]S5,在所述空閑內(nèi)存列表中,將所述內(nèi)存標(biāo)記為已使用。
[0087]本發(fā)明實(shí)施例中,通過(guò)沒(méi)有空閑內(nèi)存時(shí),從內(nèi)存池中分配第一內(nèi)存塊,再將所述第一內(nèi)存塊分割成多個(gè)固定大小的第二內(nèi)存塊的方法,實(shí)現(xiàn)了內(nèi)存的預(yù)分配,這樣,當(dāng)數(shù)據(jù)塊需要分配內(nèi)存存儲(chǔ)的時(shí)候,就可以直接存儲(chǔ)在相應(yīng)大小的第二內(nèi)存塊中,而不需要系統(tǒng)再分配內(nèi)存,從而節(jié)約了數(shù)據(jù)讀取時(shí)內(nèi)存分配的時(shí)間,提高了數(shù)據(jù)讀取速度,進(jìn)而提升了系統(tǒng)的整體性能。
[0088]如圖5所示,本發(fā)明實(shí)施例提供了上述大容量緩存的內(nèi)存回收方法,包括如下步驟:
[0089]SI,啟動(dòng)定時(shí)器;
[0090]S2,獲取所述數(shù)據(jù)塊的訪問(wèn)時(shí)間和訪問(wèn)次數(shù);
[0091]S3,檢查所述數(shù)據(jù)塊是否屬于非熱點(diǎn)數(shù)據(jù)塊,如果所述數(shù)據(jù)塊不屬于非熱點(diǎn)數(shù)據(jù)塊,則檢查下一個(gè)數(shù)據(jù)塊;如果所述數(shù)據(jù)塊屬于非熱點(diǎn)數(shù)據(jù)塊,則執(zhí)行步驟S4 ;
[0092]S4,移除所述數(shù)據(jù)塊;
[0093]S5,檢查所述第一內(nèi)存塊是否已經(jīng)空閑,如果已經(jīng)空閑,則釋放所述第一內(nèi)存塊;如果沒(méi)有空閑,則將所述第二內(nèi)存塊放入空閑內(nèi)存列表。
[0094]其中,步驟S5之后,還包括,當(dāng)多個(gè)所述第二內(nèi)存塊形成所述第一內(nèi)存塊后,釋放所述第一內(nèi)存塊。
[0095]對(duì)于存放于空閑內(nèi)存列表中的第二內(nèi)存塊,當(dāng)多個(gè)第二內(nèi)存塊能夠組成一個(gè)大的第一內(nèi)存塊時(shí),就可以將該大的第一內(nèi)存塊進(jìn)行釋放,實(shí)現(xiàn)內(nèi)存資源的回收。
[0096]本發(fā)明實(shí)施例中,通過(guò)對(duì)非熱點(diǎn)數(shù)據(jù)塊進(jìn)行移除,釋放所用的內(nèi)存,可以實(shí)現(xiàn)對(duì)非熱點(diǎn)數(shù)據(jù)所占內(nèi)存的回收,從而進(jìn)一步節(jié)省了內(nèi)存空間。
[0097]由于第一內(nèi)存塊的釋放是通過(guò)對(duì)數(shù)據(jù)訪問(wèn)時(shí)間和訪問(wèn)次數(shù)的檢查實(shí)現(xiàn)的,是隨著數(shù)據(jù)的不斷變化而變化的,所以,可以實(shí)現(xiàn)內(nèi)存資源回收的實(shí)時(shí)性。對(duì)于大量的數(shù)據(jù),尤其是對(duì)于大量不斷變化的數(shù)據(jù),實(shí)時(shí)進(jìn)行內(nèi)存資源的回收,對(duì)節(jié)省內(nèi)存資源,提高內(nèi)存的利用率,具有重要的意義。
[0098]通過(guò)采用本發(fā)明公開(kāi)的上述技術(shù)方案,得到了如下有益的效果:既實(shí)現(xiàn)了文件系統(tǒng)對(duì)內(nèi)存的訪問(wèn),減少了文件系統(tǒng)對(duì)磁盤(pán)的訪問(wèn),提升了對(duì)大量數(shù)據(jù)的讀取速度,也極大的節(jié)省了內(nèi)存空間,提高了內(nèi)存資源的利用率;進(jìn)而提高了計(jì)算機(jī)中的程序運(yùn)行速度以及計(jì)算機(jī)的整體性能。
[0099]本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。
[0100]本領(lǐng)域人員應(yīng)該理解的是,上述實(shí)施例提供的方法步驟的時(shí)序可根據(jù)實(shí)際情況進(jìn)行適應(yīng)性調(diào)整,也可根據(jù)實(shí)際情況并發(fā)進(jìn)行。
[0101]上述實(shí)施例涉及的方法中的全部或部分步驟可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)設(shè)備可讀取的存儲(chǔ)介質(zhì)中,用于執(zhí)行上述各實(shí)施例方法所述的全部或部分步驟。所述計(jì)算機(jī)設(shè)備,例如:個(gè)人計(jì)算機(jī)、服務(wù)器、網(wǎng)絡(luò)設(shè)備、智能移動(dòng)終端、智能家居設(shè)備、穿戴式智能設(shè)備、車(chē)載智能設(shè)備等;所述的存儲(chǔ)介質(zhì),例如:RAM、ROM、磁碟、磁帶、光盤(pán)、閃存、U盤(pán)、移動(dòng)硬盤(pán)、存儲(chǔ)卡、記憶棒、網(wǎng)絡(luò)服務(wù)器存儲(chǔ)、網(wǎng)絡(luò)云存儲(chǔ)坐寸ο
[0102]最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者設(shè)備中還存在另外的相同要素。
[0103]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種大容量緩存,其特征在于,包括, 數(shù)據(jù)存儲(chǔ)模塊:用于以數(shù)據(jù)塊的形式存儲(chǔ)數(shù)據(jù) 數(shù)據(jù)讀取模塊:用于以數(shù)據(jù)塊的形式讀取數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的大容量,其特征在于,還包括, 內(nèi)存分配模塊:用于無(wú)空閑內(nèi)存時(shí),從內(nèi)存池中分配第一內(nèi)存塊,并將所述第一內(nèi)存塊分割成多個(gè)固定大小的第二內(nèi)存塊。
3.根據(jù)權(quán)利要求2所述的大容量緩存,其特征在于,還包括, 內(nèi)存回收模塊:用于基于數(shù)據(jù)訪問(wèn)時(shí)間和訪問(wèn)次數(shù)的更新,進(jìn)行內(nèi)存的回收。
4.權(quán)利要求1所述的大容量緩存的數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括如下步驟: S1,接收數(shù)據(jù)塊和所述數(shù)據(jù)塊對(duì)應(yīng)的特征碼; S2,用所述特征碼檢索所述數(shù)據(jù)塊,如果檢索到所述數(shù)據(jù)塊,則拋棄接收到的所述數(shù)據(jù)塊和所述特征碼;如果沒(méi)有檢索到所述數(shù)據(jù)塊,則執(zhí)行步驟S3 ; S3,保存所述數(shù)據(jù)塊和所述特征碼; S4,建立特征碼索引表,所述特征碼索引表包括所述特征碼和與其對(duì)應(yīng)的數(shù)據(jù)塊; S5,更新所述數(shù)據(jù)塊的訪問(wèn)時(shí)間和訪問(wèn)次數(shù)。
5.根據(jù)權(quán)利要求4所述的大容量緩存的數(shù)據(jù)存儲(chǔ)方法,其特征在于,步驟S1之前,還包括步驟,計(jì)算所述數(shù)據(jù)塊的特征碼。
6.根據(jù)權(quán)利要求5所述的大容量緩存的數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述計(jì)算所述數(shù)據(jù)塊的特征碼,具體為,計(jì)算所述數(shù)據(jù)塊的MD5值。
7.權(quán)利要求1所述的大容量緩存的數(shù)據(jù)讀取方法,其特征在于,包括如下步驟: S1,接收數(shù)據(jù)塊對(duì)應(yīng)的特征碼; S2,用所述特征碼檢索所述數(shù)據(jù)塊,如果檢索到所述數(shù)據(jù)塊,則執(zhí)行步驟S3 ;如果沒(méi)有檢索到所述數(shù)據(jù)塊,則拋棄接收到的所述特征碼; S3,讀取所述數(shù)據(jù)塊; S4,保存所述特征碼; S5,建立特征碼索引表,所述特征碼索引表包括所述特征碼和與其對(duì)應(yīng)的數(shù)據(jù)塊; S6,更新所述數(shù)據(jù)塊的訪問(wèn)時(shí)間和訪問(wèn)次數(shù)。
8.權(quán)利要求2所述的大容量緩存的內(nèi)存分配方法,其特征在于,包括如下步驟: S1,檢查空閑內(nèi)存列表,如果沒(méi)有空閑內(nèi)存,則執(zhí)行步驟S2-S5 ;如果有空閑內(nèi)存,則執(zhí)行步驟S4-S5 ; S2,從內(nèi)存池中分配第一內(nèi)存塊,并將所述第一內(nèi)存塊分割成多個(gè)固定大小的第二內(nèi)存塊; S3,將所述第二內(nèi)存塊添加到所述空閑內(nèi)存列表中; S4,從所述空閑內(nèi)存列表中獲取內(nèi)存; S5,在所述空閑內(nèi)存列表中,將所述內(nèi)存標(biāo)記為已使用。
9.權(quán)利要求3所述的大容量緩存的內(nèi)存回收方法,其特征在于,包括如下步驟: S1,啟動(dòng)定時(shí)器; S2,獲取所述數(shù)據(jù)塊的訪問(wèn)時(shí)間和訪問(wèn)次數(shù); S3,檢查所述數(shù)據(jù)塊是否屬于非熱點(diǎn)數(shù)據(jù)塊,如果所述數(shù)據(jù)塊不屬于非熱點(diǎn)數(shù)據(jù)塊,則檢查下一個(gè)數(shù)據(jù)塊;如果所述數(shù)據(jù)塊屬于非熱點(diǎn)數(shù)據(jù)塊,則執(zhí)行步驟S4 ; S4,移除所述數(shù)據(jù)塊; S5,檢查所述第一內(nèi)存塊是否已經(jīng)空閑,如果已經(jīng)空閑,則釋放所述第一內(nèi)存塊;如果沒(méi)有空閑,則將所述第二內(nèi)存塊放入空閑內(nèi)存列表。
10.根據(jù)權(quán)利要求9所述的內(nèi)存回收方法,其特征在于,步驟S5之后,還包括,當(dāng)多個(gè)所述第二內(nèi)存塊形成所述第一內(nèi)存塊后,釋放所述第一內(nèi)存塊。
【文檔編號(hào)】G06F12/08GK104317735SQ201410495580
【公開(kāi)日】2015年1月28日 申請(qǐng)日期:2014年9月24日 優(yōu)先權(quán)日:2014年9月24日
【發(fā)明者】楊耀敏, 易樂(lè)天, 曲維杰 申請(qǐng)人:北京云巢動(dòng)脈科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
兴仁县| 库尔勒市| 瓮安县| 余庆县| 寿宁县| 响水县| 舒兰市| 皋兰县| 阿拉善盟| 河北省| 常州市| 凤山县| 麻江县| 台东市| 济阳县| 东阳市| 蛟河市| 孟村| 介休市| 盐边县| 沁源县| 广宗县| 石屏县| 梅河口市| 乳山市| 乐昌市| 宜兰县| 津南区| 皮山县| 芦山县| 吉水县| 阿城市| 桂林市| 金坛市| 利川市| 武川县| 土默特左旗| 横山县| 东至县| 嘉兴市| 青阳县|