两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

訪問文件的方法和裝置的制造方法

文檔序號:8319276閱讀:274來源:國知局
訪問文件的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)掃描領(lǐng)域,特別是涉及一種訪問文件的方法和裝置。
【背景技術(shù)】
[0002] 隨著計算機技術(shù)的發(fā)展,產(chǎn)生了大量的文件數(shù)據(jù),為了保存文件數(shù)據(jù),將文件 數(shù)據(jù)存儲在各種存儲設(shè)備上,如SD卡(Secure Digital Memory Card,安全數(shù)碼卡)、 DVD(Digital Versatile Disc,數(shù)字多功能光盤)等。
[0003] 以SD卡為例,隨著數(shù)據(jù)量的增大,存儲在SD上的文件數(shù)量越來越多。為了獲取 SD卡上某種類型的文件或超過指定大小的文件時需要通過對SD卡進行全盤掃描獲取。由 于Android和Linux中都無法依靠系統(tǒng)接口直接獲取到某種類型文件或超過指定大小的文 件,往往采用的是對SD卡進行遍歷掃描的方式獲取。由于每次SD卡上的文件是可以被用 戶或者任何應(yīng)用進行操作的,所以應(yīng)用每次都需要對SD卡進行重新掃描。傳統(tǒng)的文件訪問 方式受SD卡讀寫速度的影響很大,全盤掃描比較慢。

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

[0004] 基于此,有必要針對傳統(tǒng)訪問文件時全盤掃描慢的問題,提供一種能提高掃描速 度的訪問文件的方法和裝置。
[0005] -種訪問文件的方法,包括以下步驟:
[0006] 獲取對文件的操作請求;
[0007] 判斷是否存在文件索引,若存在,則根據(jù)所述操作請求將文件索引加載入內(nèi)存緩 存中,在加載了文件索引的內(nèi)存緩存中進行檢索,得到相應(yīng)的文件;若不存在文件索引,則 根據(jù)所述操作請求建立文件索引,將建立的文件索引加載入內(nèi)存緩存中,在加載了文件索 引的內(nèi)存緩存中進行檢索,得到相應(yīng)的文件。一種訪問文件的裝置,包括:
[0008] 操作請求獲取模塊,用于獲取對文件的操作請求;
[0009] 操作請求獲取模塊,用于獲取對文件的操作請求;
[0010] 判斷模塊,用于判斷是否存在文件索引;
[0011] 檢索模塊,用于當(dāng)判斷出存在文件索引時,根據(jù)所述操作請求將文件索引加載入 內(nèi)存緩存中,在加載了文件索引的內(nèi)存緩存中進行檢索,得到相應(yīng)的文件;
[0012] 索引建立模塊,用于當(dāng)判斷出不存在文件索引時,根據(jù)所述操作請求建立文件索 引;
[0013] 所述檢索模塊還用于在建立了文件索引后,將將建立的文件索引加載入內(nèi)存緩存 中,在加載了文件索引的內(nèi)存緩存中進行檢索,得到相應(yīng)的文件。
[0014] 上述訪問文件的方法和裝置,根據(jù)對文件的操作請求判斷是否存在文件索引,若 存在文件索引,則將文件索引加載在內(nèi)存緩存中進行檢索,得到相應(yīng)的文件,若沒有文件索 弓丨,則建立文件索引,在將文件索引加載在內(nèi)存緩存中進行檢索,得到相應(yīng)的文件,將對文 件系統(tǒng)或存儲空間或存儲設(shè)備等上的文件訪問,變成對內(nèi)存緩存和文件索引的檢索,減少 了對文件系統(tǒng)或存儲空間或存儲設(shè)備等的訪問次數(shù),提高了掃描效率。
【附圖說明】
[0015] 圖1為一個實施例中訪問文件的方法的流程圖;
[0016] 圖2為另一個實施例中訪問文件的方法的流程圖;
[0017] 圖3為另一個實施例中訪問文件的方法的流程圖;
[0018] 圖4為一個實施例中訪問文件的裝置的結(jié)構(gòu)框圖;
[0019] 圖5為另一個實施例中訪問文件的裝置的結(jié)構(gòu)框圖;
[0020] 圖6為另一個實施例中訪問文件的裝置的結(jié)構(gòu)框圖;
[0021] 圖7為能實現(xiàn)本發(fā)明實施例的一個計算機系統(tǒng)的模塊圖。
【具體實施方式】
[0022] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
[0023] 為了解決對文件系統(tǒng)、存儲空間或存儲設(shè)備等中的文件進行全盤掃描速度慢的問 題,本發(fā)明通過對文件系統(tǒng)、存儲空間或存儲設(shè)備等上的文件建立文件索引,并將文件索引 預(yù)加載到內(nèi)存緩存中,建立了一個由內(nèi)存緩存、文件索引和文件系統(tǒng)、存儲空間或存儲設(shè)備 等上的文件組成的緩存索引機制,將對文件系統(tǒng)、存儲空間或存儲設(shè)備等上的文件的操作 變成了對內(nèi)存緩存和文件索引的操作,提高了對文件系統(tǒng)、存儲空間或存儲設(shè)備等的掃描 速度和訪問速度。
[0024] 圖1為一個實施例中訪問文件的方法的流程圖。如圖1所示,該訪問文件的方法, 包括以下步驟:
[0025] 步驟102,獲取對文件的操作請求。
[0026] 具體的,操作請求可為檢索請求、修改請求或刪除請求。檢索請求可為對某個文件 進行查詢。修改請求可為單個文件的修改請求或批量文件的修改請求。刪除請求可為對單 個文件的刪除請求或批量文件的刪除請求。
[0027] 步驟104,判斷是否存在文件索引,若是,執(zhí)行步驟106,若否,執(zhí)行步驟108。
[0028] 本實施例中,掃描文件,將文件信息以XML(Extensible Markup Language,可擴展 標(biāo)記語言)節(jié)點形式或文件節(jié)點形式或數(shù)據(jù)庫形式保存形成文件索引。
[0029] 其中,將文件信息以XML節(jié)點形式保存在XML文件中,且每個文件的父目錄作為該 文件在XML文件中的節(jié)點的父節(jié)點,掃描完后,將該XML文件作為文件索引。通過全盤掃描, 文件形成一顆XML樹,XML文件就是所有文件的索引。
[0030] 因文件系統(tǒng)、存儲空間或存儲設(shè)備上的所有文件(包括文件和文件夾)從根節(jié)點 開始一層層的往下看為一棵樹的形式,例如:
[0031]
[0032]
【主權(quán)項】
1. 一種訪問文件的方法,包括w下步驟: 獲取對文件的操作請求; 判斷是否存在文件索引,若存在,則根據(jù)所述操作請求將文件索引加載入內(nèi)存緩存中, 在加載了文件索引的內(nèi)存緩存中進行檢索,得到相應(yīng)的文件;若不存在文件索引,則根據(jù)所 述操作請求建立文件索引,將建立的文件索引加載入內(nèi)存緩存中,在加載了文件索引的內(nèi) 存緩存中進行檢索,得到相應(yīng)的文件。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在得到相應(yīng)的文件后,所述方法還包括: 判斷檢索得到的文件是否發(fā)生了變化,若是,則更新內(nèi)存緩存和所述文件索引,若否, 則繼續(xù)直接讀取所述文件。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在獲取對文件的操作請求之前,所述方法 還包括: 掃描文件,并將文件信息建立文件索引。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述掃描文件,并將文件信息建立文件索 引的步驟包括: 掃描文件,將文件信息W XML節(jié)點形式或文件節(jié)點形式或數(shù)據(jù)庫形式保存形成文件索 引。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將文件信息WXML節(jié)點形式保存形成 文件索引的步驟包括: 將文件信息W XML節(jié)點形式保存在XML文件中,且每個文件的父目錄作為所述文件在 XML文件中的節(jié)點的父節(jié)點,掃描完后,將所述XML文件作為文件索引。
6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 獲取相應(yīng)文件的最后修改時間或相應(yīng)文件的大??; 根據(jù)所述最后修改時間或文件的大小判斷所述文件是否發(fā)生了變化; 當(dāng)判斷出所述文件發(fā)生了變化,則更新內(nèi)存緩存和所述文件索引。
7. 根據(jù)權(quán)利要求1至6中任一項所述的方法,其特征在于,所述文件索引中每個節(jié)點包 括文件名、是否為目錄、最后修改時間、大小、文件類型;所述操作請求為檢索請求、修改請 求或刪除請求。
8. -種訪問文件的裝置,其特征在于,包括: 操作請求獲取模塊,用于獲取對文件的操作請求; 判斷模塊,用于判斷是否存在文件索引; 檢索模塊,用于當(dāng)判斷出存在文件索引時,根據(jù)所述操作請求將文件索引加載入內(nèi)存 緩存中,在加載了文件索引的內(nèi)存緩存中進行檢索,得到相應(yīng)的文件; 索引建立模塊,用于當(dāng)判斷出不存在文件索引時,根據(jù)所述操作請求建立文件索引; 所述檢索模塊還用于在建立了文件索引后,將將建立的文件索引加載入內(nèi)存緩存中, 在加載了文件索引的內(nèi)存緩存中進行檢索,得到相應(yīng)的文件。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 更新模塊,用于當(dāng)判斷模塊判斷出檢索得到的文件發(fā)生了變化,則更新內(nèi)存緩存和所 述文件索引; 讀取模塊,用于當(dāng)判斷模塊判斷出檢索得到的文件未發(fā)生變化時,直接讀取所述文件。
10. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述索引建立模塊還用于在獲取對文件 的操作請求之前,掃描文件,并將文件信息建立文件索引。
11. 根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述索引建立模塊還用于掃描文件,將 文件信息W XML節(jié)點形式或文件節(jié)點形式或數(shù)據(jù)庫形式保存形成文件索引。
12. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述索引建立模塊還用于將文件信息 W XML節(jié)點形式保存在XML文件中,且每個文件的父目錄作為所述文件在XML文件中的節(jié) 點的父節(jié)點,掃描完后,將所述XML文件作為文件索引。
13. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 獲取模塊,用于獲取相應(yīng)文件的最后修改時間或相應(yīng)文件的大??; 所述判斷模塊還用于根據(jù)所述最后修改時間或文件的大小判斷所述文件是否發(fā)生了 變化; 所述更新模塊還用于當(dāng)判斷出所述文件發(fā)生了變化,則更新內(nèi)存緩存和所述文件索 引。
14. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述文件索引中每個節(jié)點包括文件名、 是否為目錄、最后修改時間、大小、文件類型;所述操作請求為檢索請求、修改請求或刪除請 求。
【專利摘要】本發(fā)明涉及一種訪問文件的方法和裝置。所述方法包括以下步驟:獲取對文件的操作請求;判斷是否存在文件索引,若存在,則根據(jù)所述操作請求將文件索引加載入內(nèi)存緩存中,在加載了文件索引的內(nèi)存緩存中進行檢索,得到相應(yīng)的文件;若不存在文件索引,則根據(jù)所述操作請求建立文件索引,將建立的文件索引加載入內(nèi)存緩存中,在加載了文件索引的內(nèi)存緩存中進行檢索,得到相應(yīng)的文件。上述訪問文件的方法和裝置,將文件索引加載在內(nèi)存緩存中進行檢索,得到相應(yīng)的文件,將對文件系統(tǒng)或存儲空間或存儲設(shè)備等上的文件訪問,變成對內(nèi)存緩存和文件索引的檢索,減少了對文件系統(tǒng)或存儲空間或存儲設(shè)備等的訪問次數(shù),提高了掃描效率。
【IPC分類】G06F17-30
【公開號】CN104636464
【申請?zhí)枴緾N201510068420
【發(fā)明人】張興華, 夏盛新, 甘暉明, 王梓茗, 樊華恒
【申請人】騰訊科技(深圳)有限公司
【公開日】2015年5月20日
【申請日】2015年2月9日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
鄂托克前旗| 永年县| 专栏| 叶城县| 达拉特旗| 罗甸县| 班玛县| 天镇县| 阳新县| 榆林市| 迁西县| 东宁县| 永仁县| 伊川县| 涪陵区| 英山县| 洛阳市| 高清| 汝城县| 磐安县| 库尔勒市| 池州市| 米林县| 易门县| 天全县| 缙云县| 衡阳县| 饶平县| 铁岭市| 陆良县| 平乐县| 霸州市| 永兴县| 阜新市| 房产| 荣成市| 沁阳市| 天镇县| 昌都县| 五河县| 敖汉旗|