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

一種通過外存對文件進行緩存的方法、系統(tǒng)及設備的制作方法

文檔序號:6513742閱讀:253來源:國知局
一種通過外存對文件進行緩存的方法、系統(tǒng)及設備的制作方法
【專利摘要】本發(fā)明公開了一種通過外存對文件進行緩存的方法、系統(tǒng)及設備,將需要緩存的數據存儲于外存之中,極大地增加緩存數據的容量,同時為緩存數據增加緩存索引,在檢索時,快速地檢索到,加快檢索時間;對于文件發(fā)生變化或初次讀取,需要寫入至緩存數據的文件,讀取時按照常規(guī)流程進行讀取,并在讀取的同時,將這些文件存儲于緩存隊列中,并通過此緩存隊列將這些文件寫入至緩存數據,使常規(guī)讀取與緩存寫入同時進行,并在下次讀取時,更加快速地從緩存數據中進行讀取,從而加快讀寫速度。
【專利說明】一種通過外存對文件進行緩存的方法、系統(tǒng)及設備
【技術領域】
[0001]本發(fā)明涉及文件的緩存,特別是一種通過外存對文件進行緩存的方法、系統(tǒng)及設備。
【背景技術】
[0002]緩存是一種臨時文件交換區(qū),現有的技術方法是通過緩存存儲器(RAM)或高速緩存(cache)對最近訪問的信息進行臨時存儲,在需要訪問時從中讀取,從而實現快速訪問,節(jié)省時間。但RAM與高速緩存普遍存在的問題是,一旦斷電,緩存數據就會消失,需要重新存儲;同時,相對于硬盤等外部存儲設備,RAM與高速緩存造價比較昂貴,局限于RAM與高速緩存空間的大小,緩存數據也具有限制,隨著技術的發(fā)展,計算設備計算性能的提升,運行的軟件程序越來越大,運行中所需要的緩存空間也隨著增大,因此,需要突破現有RAM與cache緩存空間較小的限制。
[0003]除此之外,RAM與cache在緩存數據時,并不考慮緩存數據存儲的位置信息,因此,在讀取所需的緩存數據時,就需要逐次尋找進行讀取,影響了讀取效率。

【發(fā)明內容】

[0004]為解決上述問題,本發(fā)明的目的在于提供一種通過外存對文件進行緩存的方法、系統(tǒng)及設備,通過外存實現緩存,擴大緩存空間,同時為緩存數據增加索引目錄,實現快速讀取的目的。
[0005]本發(fā)明解決其問題所采用的技術方案是:
一種通過外存對文件進行緩存的方法、系統(tǒng)及設備,在讀取文件時,檢測該文件是否存在于緩存索引中,緩存索引是索引目錄,此索引目錄包含有存儲于緩存數據中所有文件的索引項,每一文件的索引項包括該文件的文件標識、該文件的最后一次修改時間、該文件在緩存數據中的偏移值和該文件的大小。在檢測所讀取的文件是否在緩存索引中時,需要檢索文件標識,以文件標識為哈希值為例,需要計算此文件的哈希值,若在緩存索引中找到相同的哈希值,則說明在緩存數據中有該文件,但需要進一步判斷所讀取的文件是否與緩存數據中存儲的該文件是否一致,因為,所讀取的文件可能經過了修改,因此,需要判斷所讀取的文件的最后一次修改時間是否與緩存索引中記錄的相同,如果相同,則說明此文件沒有改變,可以直接從緩存數據中讀取此文件,否則,說明所讀取的文件已經發(fā)生了改變,則需要按照常規(guī)的流程讀取此文件,同時將此文件寫入至緩存隊列中;若沒有在緩存索引中找到相同的哈希值,則說明此文件為初次讀取,按照常規(guī)流程讀取此文件即可,同時,把此文件寫入至緩存隊列中。
[0006]寫入至緩存隊列中的文件需要寫入至緩存數據中,以方便下次使用,減少讀取時間,緩存隊列是先進先出的隊列,依次讀取其中的文件,每次讀取后,判斷該文件是否存在于緩存索引中,若存在,則說明此文件并初次讀取,其已經存儲于緩存數據中,則需要判斷所讀取的文件與緩存數據中所存儲的該文件的大小,若前者小于或等于后者,則直接將其寫入至緩存數據中所存儲的該文件的原地址即可,否則,則需要在緩存數據的末尾開辟新的空間用于存儲所讀取的文件;相反,若讀取的文件不存在于緩存索引中,則說明為初次讀取此文件,則直接在緩存數據末尾開辟新空間,將此文件寫入即可。
[0007]本發(fā)明所用于的緩存索引、緩存隊列和緩存數據均通過外存實現,可使用于的設備包括計算機、掌上電腦、智能設備等,本發(fā)明于這些設備上均可實現。
[0008]本發(fā)明的有益效果是:
本發(fā)明采用一種通過外存對文件進行緩存的方法、系統(tǒng)及設備,將需要緩存的數據存儲于外存之中,極大地增加緩存數據的容量,同時為緩存數據增加緩存索引,在檢索時,快速地檢索到,加快檢索時間;對于文件發(fā)生變化或初次讀取,需要寫入至緩存數據的文件,讀取時按照常規(guī)流程進行讀取,并在讀取的同時,將這些文件存儲于緩存隊列中,并通過此緩存隊列將這些文件寫入至緩存數據,使常規(guī)讀取與緩存寫入同時進行,并在下次讀取時,更加快速地從緩存數據中進行讀取,從而加快讀寫速度。
【專利附圖】

【附圖說明】
[0009]下面結合附圖和實例對本發(fā)明作進一步說明。
[0010]圖1是本發(fā)明所述方法的流程圖;
圖2是本發(fā)明所述緩存索引的示意圖;
圖3是本發(fā)明緩存索引與緩存數據對應關系圖。
【具體實施方式】
[0011]參照圖1所示的本發(fā)明所述方法的流程圖,本發(fā)明通過外存實現數據的緩存,從而實現對文件的快速讀寫操作。所述方法具體如下:
在讀取文件時,首先在緩存索引中進行查找,緩存索引是緩存數據的索引目錄,此索引目錄記錄了緩存數據中所有文件的索引項,其中,緩存數據中一個文件的索引項包括該文件的文件標識、該文件的最后一次修改時間、該文件在緩存數據中的偏移值和該文件的大小,其中,文件的文件標識包括文件名、文件ID、文件哈希值中的一種或多種的組合等,但對于不同的文件標識,須保持與緩存索引中的一致。在讀取文件時,通過文件標識在緩存索引中進行查找,如果查找到相同的文件標識,說明所讀取的文件已經存儲于緩存數據中。但需要判斷所讀取的文件是否已經改變,如果所讀取的文件已經改變,說明存儲于緩存數據中的文件需要重新寫入,否則讀取的文件將會不一致。因此,進一步需要判斷所讀取的文件的最后一次修改時間是否與緩存索引中記錄的相同,如果相同,說明所讀取的文件沒有改動過,則可以直接從緩存數據中讀取相應的文件,相反,則說明所讀取的文件已經改動,不能從緩存數據中讀取,只能按照常規(guī)方式進行讀取,在讀取的同時,該文件會被寫入至緩存隊列中。需要說明的是,常規(guī)讀取與寫入至緩存隊列是并行的,互不影響,以節(jié)省時間。
[0012]如果通過文件標識在緩存索引中查找時,沒有查找到相同的文件標識,則說明該文件為第一次讀取,則直接進行常規(guī)讀取,同時將此文件寫入至緩存隊列中。
[0013]至此,對于文件發(fā)生改動和初次讀取的文件,都已經被寫入至緩存隊列中,緩存隊列是先進先出的隊列,寫入至隊列的文件為了下次讀取的方便和快捷,需要將其寫入至緩存數據。寫入時,依次讀取緩存隊列中的文件,因為文件分為兩種,一種是改動過的文件,一種是初次讀取的文件,對于改動過的文件,其文件標識已經存儲于緩存索引當中,同時緩存數據也已經存儲了改動前的文件,為了節(jié)約緩存空間,需要判斷此改動過的文件與緩存數據中已經存儲的改動前的文件的大小,如果前者較大,則需要在緩存數據的末尾為其開辟空間,并將其寫入緩存數據,相反,則可以直接將其寫入至緩存數據中所存儲的改動前文件的原始位置,以節(jié)約空間。對于初次讀取的文件,直接在緩存數據的末尾開辟空間,空間的大小與初次讀取的文件相等,然后將其寫入至緩存數據即可。
[0014]最后,當緩存隊列中的文件寫入至緩存數據后,需要對緩存索引進行更新,即將寫入的文件的索引項寫入緩存索引中。
[0015]參照圖2所示的緩存索引的示意圖,緩存索引包括不同文件的索引項,每個文件的索引項包括四項,分別為該文件的文件標識、最后修改時間、偏移值和文件大小,文件標識包括哈希值、文件名等,在使用哈希值時,要保證計算方法的一致性,最后修改時間可以判斷該文件是否進行過修改,偏移值指明了該文件在緩存數據中的位置,其大小則確定了讀取時的數據范圍。
[0016]參照圖3所示的緩存索引與緩存數據對應關系圖,緩存索引所占據的空間相對于緩存數據來講十分小,可以方便文件的查找,節(jié)約檢索的時間,緩存索引所包含的每一個索引項都對應緩存數據中的一個文件,在讀取該文件時,可以快速讀取。
[0017]本發(fā)明通過外存實現文件的緩存,可以擴大緩存空間,對于較大的文件也可實現緩存,如客戶端IOG的數據;對于緩存數據,建立了一個緩存索引項進行引導,相當于為每一個緩存文件指定了索引位置,實現快速定位,加快檢索時間;對于改動的文件或初次讀取的文件,將它們寫入至一個緩存隊列當中,在寫入的同時進行常規(guī)讀取,兩個過程通過不同的線程進行,加快讀取速度;對于緩存隊列中的文件,通過后臺程序的運行將其寫入至緩存數據中,以方便下次讀取,節(jié)約讀取時間。
[0018]本發(fā)明提供了一種通過外存對文件進行緩存的系統(tǒng),包括:
檢測模塊,用于讀取文件時檢測所讀取的文件是否存在于緩存索引中,所述緩存索引為用于記錄緩存數據中所有文件的索引項的索引目錄,其中,緩存數據中每一文件的索引項包括該文件的文件標識、該文件的最后一次修改時間、該文件在緩存數據中的偏移值和該文件的大小,文件標識包括文件名、哈希值等;
讀取模塊,用于若所讀取的文件存在于緩存索引中,則判斷所讀取的文件的最后一次修改時間是否與緩存索引中所記錄的相同,若相同,則根據緩存索引中所記錄的該文件的索引項,讀取存儲于緩存數據中的與所讀取文件相同的緩存文件,若不相同,將所讀取的文件寫入至緩存隊列中,同時通過常規(guī)讀取流程讀取該文件,若所讀取的文件不存在于緩存索引中,則直接將所讀取的文件寫入至緩存隊列中,同時通過常規(guī)讀取流程讀取該文件;
緩存模塊,用于依次讀取緩存隊列中的文件,并將緩存隊列中的文件寫入至緩存數據;
以及
更新模塊,用于更新緩存索引,將寫入至緩存數據的文件的索引項寫入至緩存索引。
[0019]其中,所述讀取文件時檢測所讀取的文件是否存在于緩存索引中時,通過將所讀取文件的文件標識在緩存索引中進行查找,若查找到相同的文件標識,則所讀取的文件存在于緩存索引中,否則,不存在于緩存索引中。
[0020]其中,所述緩存隊列為先進先出隊列。[0021]其中,所述將緩存隊列中的文件寫入到緩存數據具體為:
判斷該文件是否存在于緩存索引中,若存在時,則比較該文件與存儲于緩存數據中的該文件的大小,如果前者小于或等于后者,則讀取該文件的內容,將其內容寫入緩存數據所指定的位置,如果前者大于后者,則在緩存數據的末尾分配與該文件大小相同的空間,并將該文件寫入至分配的空間中;相反,若該文件不存在于緩存索引時,則直接在緩存數據的末尾分配與該文件大小相同的空間,并將該文件寫入至分配的空間中。
[0022]所述系統(tǒng)采用了以上所述方法中的內容,具體參見方法中所述。
[0023]本發(fā)明提供了一種通過外存對文件進行緩存的設備,所述設備采用了以上所述的系統(tǒng),所述的設備包括計算機設備,可以通過硬盤、U盤等實現本發(fā)明,還包括智能移動設備,如智能手機、掌上電腦等。
[0024]以上所述,只是本發(fā)明的較佳實施例而已,本發(fā)明并不局限于上述實施方式,只要其以相同的手段達到本發(fā)明的技術效果,都應屬于本發(fā)明的保護范圍。
【權利要求】
1.一種通過外存對文件進行緩存的方法,其特征在于,包括: 讀取文件時檢測所讀取的文件是否存在于緩存索引中,所述緩存索引為用于記錄緩存數據中所有文件的索引項的索引目錄; 若所讀取的文件存在于緩存索引中,則判斷所讀取的文件的最后一次修改時間是否與緩存索引中所記錄的相同,若相同,則根據緩存索引中所記錄的該文件的索引項,讀取存儲于緩存數據中的與所讀取的文件相同的緩存文件,若不相同,將所讀取的文件寫入至緩存隊列中,同時通過常規(guī)讀取流程讀取該文件,若所讀取的文件不存在于緩存索引中,則直接將所讀取的文件寫入至緩存隊列中,同時通過常規(guī)讀取流程讀取該文件;以及 依次讀取緩存隊列中的文件,并將緩存隊列中的文件寫入至緩存數據。
2.根據權利要求1所述的方法,其特征在于,所述方法還包括: 更新緩存索引,將寫入至緩存數據的文件的索引項寫入至緩存索引。
3.根據權利要求1或2所述的方法,其特征在于,所述緩存索引作為用于記錄緩存數據中所有文件的索引項的索引目錄,其每一文件的索引項包括該文件的文件標識、該文件的最后一次修改時間、該文件在緩存數據中的偏移值和該文件的大小。
4.根據權利要求3所述的方法,其特征在于,所述讀取文件時檢測所讀取的文件是否存在于緩存索引中時,通過將所讀取文件的文件標識在緩存索引中進行查找,若查找到相同的文件標識,則所讀取的文件存在于緩存索引中,否則,不存在于緩存索引中。
5.根據權利要求3所述的方法,其特征在于,所述緩存隊列為先進先出隊列。
6.根據權利要求3所述的方法,其特征在于,所述將緩存隊列中的文件寫入到緩存數據具體為: 判斷該文件是否存在于緩存索引中,若存在時,則比較該文件與存儲于緩存數據中的該文件的大小,如果前者小于或等于后者,則讀取該文件的內容,將其內容寫入緩存數據所指定的位置,如果前者大于后者,則在緩存數據的末尾分配與該文件大小相同的空間,并將該文件寫入至分配的空間中;相反,若該文件不存在于緩存索引時,則直接在緩存數據的末尾分配與該文件大小相同的空間,并將該文件寫入至分配的空間中。
7.—種通過外存對文件進行緩存的系統(tǒng),其特征在于,包括: 檢測模塊,用于讀取文件時檢測所讀取的文件是否存在于緩存索引中,所述緩存索引為用于記錄緩存數據中所有文件的索引項的索引目錄; 讀取模塊,用于若所讀取的文件存在于緩存索引中,則判斷所讀取的文件的最后一次修改時間是否與緩存索引中所記錄的相同,若相同,則根據緩存索引中所記錄的該文件的索引項,讀取存儲于緩存數據中的與所讀取文件相同的緩存文件,若不相同,將所讀取的文件寫入至緩存隊列中,同時通過常規(guī)讀取流程讀取該文件,若所讀取的文件不存在于緩存索弓丨中,則直接將所讀取的文件寫入至緩存隊列中,同時通過常規(guī)讀取流程讀取該文件;以及 緩存模塊,用于依次讀取緩存隊列中的文件,并將緩存隊列中的文件寫入至緩存數據。
8.根據權利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 更新模塊,用于更新緩存索引,將寫入至緩存數據的文件的索引項寫入至緩存索引。
9.根據權利要求7或8所述的系統(tǒng),其特征在于,所述緩存索引作為用于記錄緩存數據中所有文件的索引項的索引目錄,其每一文件的索引項包括該文件的文件標識、該文件的最后一次修改時間、該文件在緩存數據中的偏移值和該文件的大小。
10.根據權利要求9所述的系統(tǒng),其特征在于,所述讀取文件時檢測所讀取的文件是否存在于緩存索引中時,通過將所讀取文件的文件標識在緩存索引中進行查找,若查找到相同的文件標識,則所讀取的文件存在于緩存索引中,否則,不存在于緩存索引中。
11.根據權利要求9所述的系統(tǒng),其特征在于,所述緩存隊列為先進先出隊列。
12.根據權利要求9所述的系統(tǒng),其特征在于,所述將緩存隊列中的文件寫入到緩存數據具體為: 判斷該文件是否存在于緩存索引中,若存在時,則比較該文件與存儲于緩存數據中的該文件的大小,如果前者小于或等于后者,則讀取該文件的內容,將其內容寫入緩存數據所指定的位置,如果前者大于后者,則在緩存數據的末尾分配與該文件大小相同的空間,并將該文件寫入至分配的空間中;相反,若該文件不存在于緩存索引時,則直接在緩存數據的末尾分配與該文件大小相同的空間,并將該文件寫入至分配的空間中。
13.—種通過外存對文件進行緩存的設備,其特征在于,所述設備包括權利要求7至12任一所述的系統(tǒng)。
【文檔編號】G06F12/08GK103488772SQ201310452157
【公開日】2014年1月1日 申請日期:2013年9月27日 優(yōu)先權日:2013年9月27日
【發(fā)明者】吳才忠, 劉暢, 余欣, 李翔威, 李龍嬌 申請人:珠海金山網絡游戲科技有限公司, 廣州西山居世游網絡科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
盐池县| 庄河市| 张家港市| 汽车| 石楼县| 昌图县| 兰州市| 仙游县| 汽车| 柯坪县| 年辖:市辖区| 苍山县| 太湖县| 阿鲁科尔沁旗| 武隆县| 阿巴嘎旗| 北宁市| 永川市| 陕西省| 郑州市| 浦江县| 灵川县| 沙湾县| 蛟河市| 毕节市| 南丹县| 新丰县| 万载县| 嵊州市| 庐江县| 土默特左旗| 赣州市| 沽源县| 湄潭县| 东辽县| 中方县| 吴川市| 巴彦淖尔市| 廊坊市| 吴江市| 右玉县|