访问文件的方法和装置的制造方法

文档序号:8319276阅读:234来源:国知局
访问文件的方法和装置的制造方法
【技术领域】
[0001] 本发明涉及数据扫描领域,特别是涉及一种访问文件的方法和装置。
【背景技术】
[0002] 随着计算机技术的发展,产生了大量的文件数据,为了保存文件数据,将文件 数据存储在各种存储设备上,如SD卡(Secure Digital Memory Card,安全数码卡)、 DVD(Digital Versatile Disc,数字多功能光盘)等。
[0003] 以SD卡为例,随着数据量的增大,存储在SD上的文件数量越来越多。为了获取 SD卡上某种类型的文件或超过指定大小的文件时需要通过对SD卡进行全盘扫描获取。由 于Android和Linux中都无法依靠系统接口直接获取到某种类型文件或超过指定大小的文 件,往往采用的是对SD卡进行遍历扫描的方式获取。由于每次SD卡上的文件是可以被用 户或者任何应用进行操作的,所以应用每次都需要对SD卡进行重新扫描。传统的文件访问 方式受SD卡读写速度的影响很大,全盘扫描比较慢。

【发明内容】

[0004] 基于此,有必要针对传统访问文件时全盘扫描慢的问题,提供一种能提高扫描速 度的访问文件的方法和装置。
[0005] -种访问文件的方法,包括以下步骤:
[0006] 获取对文件的操作请求;
[0007] 判断是否存在文件索引,若存在,则根据所述操作请求将文件索引加载入内存缓 存中,在加载了文件索引的内存缓存中进行检索,得到相应的文件;若不存在文件索引,则 根据所述操作请求建立文件索引,将建立的文件索引加载入内存缓存中,在加载了文件索 引的内存缓存中进行检索,得到相应的文件。一种访问文件的装置,包括:
[0008] 操作请求获取模块,用于获取对文件的操作请求;
[0009] 操作请求获取模块,用于获取对文件的操作请求;
[0010] 判断模块,用于判断是否存在文件索引;
[0011] 检索模块,用于当判断出存在文件索引时,根据所述操作请求将文件索引加载入 内存缓存中,在加载了文件索引的内存缓存中进行检索,得到相应的文件;
[0012] 索引建立模块,用于当判断出不存在文件索引时,根据所述操作请求建立文件索 引;
[0013] 所述检索模块还用于在建立了文件索引后,将将建立的文件索引加载入内存缓存 中,在加载了文件索引的内存缓存中进行检索,得到相应的文件。
[0014] 上述访问文件的方法和装置,根据对文件的操作请求判断是否存在文件索引,若 存在文件索引,则将文件索引加载在内存缓存中进行检索,得到相应的文件,若没有文件索 弓丨,则建立文件索引,在将文件索引加载在内存缓存中进行检索,得到相应的文件,将对文 件系统或存储空间或存储设备等上的文件访问,变成对内存缓存和文件索引的检索,减少 了对文件系统或存储空间或存储设备等的访问次数,提高了扫描效率。
【附图说明】
[0015] 图1为一个实施例中访问文件的方法的流程图;
[0016] 图2为另一个实施例中访问文件的方法的流程图;
[0017] 图3为另一个实施例中访问文件的方法的流程图;
[0018] 图4为一个实施例中访问文件的装置的结构框图;
[0019] 图5为另一个实施例中访问文件的装置的结构框图;
[0020] 图6为另一个实施例中访问文件的装置的结构框图;
[0021] 图7为能实现本发明实施例的一个计算机系统的模块图。
【具体实施方式】
[0022] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0023] 为了解决对文件系统、存储空间或存储设备等中的文件进行全盘扫描速度慢的问 题,本发明通过对文件系统、存储空间或存储设备等上的文件建立文件索引,并将文件索引 预加载到内存缓存中,建立了一个由内存缓存、文件索引和文件系统、存储空间或存储设备 等上的文件组成的缓存索引机制,将对文件系统、存储空间或存储设备等上的文件的操作 变成了对内存缓存和文件索引的操作,提高了对文件系统、存储空间或存储设备等的扫描 速度和访问速度。
[0024] 图1为一个实施例中访问文件的方法的流程图。如图1所示,该访问文件的方法, 包括以下步骤:
[0025] 步骤102,获取对文件的操作请求。
[0026] 具体的,操作请求可为检索请求、修改请求或删除请求。检索请求可为对某个文件 进行查询。修改请求可为单个文件的修改请求或批量文件的修改请求。删除请求可为对单 个文件的删除请求或批量文件的删除请求。
[0027] 步骤104,判断是否存在文件索引,若是,执行步骤106,若否,执行步骤108。
[0028] 本实施例中,扫描文件,将文件信息以XML(Extensible Markup Language,可扩展 标记语言)节点形式或文件节点形式或数据库形式保存形成文件索引。
[0029] 其中,将文件信息以XML节点形式保存在XML文件中,且每个文件的父目录作为该 文件在XML文件中的节点的父节点,扫描完后,将该XML文件作为文件索引。通过全盘扫描, 文件形成一颗XML树,XML文件就是所有文件的索引。
[0030] 因文件系统、存储空间或存储设备上的所有文件(包括文件和文件夹)从根节点 开始一层层的往下看为一棵树的形式,例如:
[0031]
[0032]
【主权项】
1. 一种访问文件的方法,包括w下步骤: 获取对文件的操作请求; 判断是否存在文件索引,若存在,则根据所述操作请求将文件索引加载入内存缓存中, 在加载了文件索引的内存缓存中进行检索,得到相应的文件;若不存在文件索引,则根据所 述操作请求建立文件索引,将建立的文件索引加载入内存缓存中,在加载了文件索引的内 存缓存中进行检索,得到相应的文件。
2. 根据权利要求1所述的方法,其特征在于,在得到相应的文件后,所述方法还包括: 判断检索得到的文件是否发生了变化,若是,则更新内存缓存和所述文件索引,若否, 则继续直接读取所述文件。
3. 根据权利要求1所述的方法,其特征在于,在获取对文件的操作请求之前,所述方法 还包括: 扫描文件,并将文件信息建立文件索引。
4. 根据权利要求3所述的方法,其特征在于,所述扫描文件,并将文件信息建立文件索 引的步骤包括: 扫描文件,将文件信息W XML节点形式或文件节点形式或数据库形式保存形成文件索 引。
5. 根据权利要求4所述的方法,其特征在于,所述将文件信息WXML节点形式保存形成 文件索引的步骤包括: 将文件信息W XML节点形式保存在XML文件中,且每个文件的父目录作为所述文件在 XML文件中的节点的父节点,扫描完后,将所述XML文件作为文件索引。
6. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 获取相应文件的最后修改时间或相应文件的大小; 根据所述最后修改时间或文件的大小判断所述文件是否发生了变化; 当判断出所述文件发生了变化,则更新内存缓存和所述文件索引。
7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述文件索引中每个节点包 括文件名、是否为目录、最后修改时间、大小、文件类型;所述操作请求为检索请求、修改请 求或删除请求。
8. -种访问文件的装置,其特征在于,包括: 操作请求获取模块,用于获取对文件的操作请求; 判断模块,用于判断是否存在文件索引; 检索模块,用于当判断出存在文件索引时,根据所述操作请求将文件索引加载入内存 缓存中,在加载了文件索引的内存缓存中进行检索,得到相应的文件; 索引建立模块,用于当判断出不存在文件索引时,根据所述操作请求建立文件索引; 所述检索模块还用于在建立了文件索引后,将将建立的文件索引加载入内存缓存中, 在加载了文件索引的内存缓存中进行检索,得到相应的文件。
9. 根据权利要求8所述的装置,其特征在于,所述装置还包括: 更新模块,用于当判断模块判断出检索得到的文件发生了变化,则更新内存缓存和所 述文件索引; 读取模块,用于当判断模块判断出检索得到的文件未发生变化时,直接读取所述文件。
10. 根据权利要求8所述的装置,其特征在于,所述索引建立模块还用于在获取对文件 的操作请求之前,扫描文件,并将文件信息建立文件索引。
11. 根据权利要求10所述的装置,其特征在于,所述索引建立模块还用于扫描文件,将 文件信息W XML节点形式或文件节点形式或数据库形式保存形成文件索引。
12. 根据权利要求11所述的装置,其特征在于,所述索引建立模块还用于将文件信息 W XML节点形式保存在XML文件中,且每个文件的父目录作为所述文件在XML文件中的节 点的父节点,扫描完后,将所述XML文件作为文件索引。
13. 根据权利要求8所述的装置,其特征在于,所述装置还包括: 获取模块,用于获取相应文件的最后修改时间或相应文件的大小; 所述判断模块还用于根据所述最后修改时间或文件的大小判断所述文件是否发生了 变化; 所述更新模块还用于当判断出所述文件发生了变化,则更新内存缓存和所述文件索 引。
14. 根据权利要求8所述的装置,其特征在于,所述文件索引中每个节点包括文件名、 是否为目录、最后修改时间、大小、文件类型;所述操作请求为检索请求、修改请求或删除请 求。
【专利摘要】本发明涉及一种访问文件的方法和装置。所述方法包括以下步骤:获取对文件的操作请求;判断是否存在文件索引,若存在,则根据所述操作请求将文件索引加载入内存缓存中,在加载了文件索引的内存缓存中进行检索,得到相应的文件;若不存在文件索引,则根据所述操作请求建立文件索引,将建立的文件索引加载入内存缓存中,在加载了文件索引的内存缓存中进行检索,得到相应的文件。上述访问文件的方法和装置,将文件索引加载在内存缓存中进行检索,得到相应的文件,将对文件系统或存储空间或存储设备等上的文件访问,变成对内存缓存和文件索引的检索,减少了对文件系统或存储空间或存储设备等的访问次数,提高了扫描效率。
【IPC分类】G06F17-30
【公开号】CN104636464
【申请号】CN201510068420
【发明人】张兴华, 夏盛新, 甘晖明, 王梓茗, 樊华恒
【申请人】腾讯科技(深圳)有限公司
【公开日】2015年5月20日
【申请日】2015年2月9日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1