Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR SCANNING FILE IN MEMORY
Document Type and Number:
WIPO Patent Application WO/2015/007125
Kind Code:
A1
Abstract:
A method and an apparatus for scanning a file in a memory. The method comprises: scanning a memory according to a file information database, and searching for an update file in the memory; acquiring attribute information of the update file; updating the file information database according to the attribute information of the update file; and deleting attribute information of a file that exists in the file information database but is not found during current scanning of the memory. When the memory is scanned, only attribute information of the update file in the memory needs to be acquired to update the file information database, and attribute information of all files in the file information database after update and deletion operations is used as a scanning result for outputting, thereby greatly saving resources consumed by repeated scanning, and accelerating the scanning.

Inventors:
CHEN JIANMING (CN)
Application Number:
PCT/CN2014/079900
Publication Date:
January 22, 2015
Filing Date:
June 16, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TENCENT TECH SHENZHEN CO LTD (CN)
International Classes:
G06F17/30
Foreign References:
CN101609448A2009-12-23
CN102081620A2011-06-01
CN102480494A2012-05-30
US20110106862A12011-05-05
Attorney, Agent or Firm:
DEQI INTELLECTUAL PROPERTY LAW CORPORATION (CN)
北京德琦知识产权代理有限公司 (CN)
Download PDF:
Claims:
权利要求书

1、 一种对存储器上的文件进行扫描的方法, 其特征在于, 所述方法 包括:

根据文件信息数据库对所述存储器进行扫描, 该文件信息数据库中 记录有上次扫描所述存储器得到的所述存储器上所有文件的属性信息; 根据扫描结果查找所述存储器上的更新文件, 所述更新文件包括从 上次扫描结束到本次扫描开始期间, 所述存储器上内容有修改的文件和 新增的文件;

获取所述更新文件的属性信息;

根据所述更新文件的属性信息, 更新所述文件信息数据库; 删除所述文件信息数据库中已经存有的, 但在本次扫描所述存储器 时未发现的文件的属性信息; 及

将经过更新和删除操作之后的所述文件信息数据库记录的所有文件 的属性信息作为本次扫描结果进行输出。

2、根据权利要求 1所述的对存储器上的文件进行扫描的方法,其特 征在于, 该方法还包括:

判断本次扫描是否为初次扫描;

当本次扫描为初次扫描时, 建立并存储记录有所述存储器上所有文 件的属性信息的文件信息数据库;

当本次扫描为非初次扫描时, 执行所述根据文件信息数据库对存储 器进行扫描的步骤。

3、根据权利要求 2所述的对存储器上的文件进行扫描的方法,其特 征在于, 所述判断本次扫描是否为初次扫描的步骤包括:

在所述存储器或所述存储器所在的电子终端中查找是否存在与所述 存储器相对应的文件信息数据库, 如果存在, 则判定本次扫描为非初次 扫描, 否则, 则判定本次扫描为初次扫描。

4、根据权利要求 1所述的对存储器上的文件进行扫描的方法,其特 征在于, 所述文件的属性信息包括: 文件的路径名称、 文件的最近修改 时间、 文件的大小、 文件所在文件夹的身份标识值。

5、根据权利要求 4所述的对存储器上的文件进行扫描的方法,其特 征在于, 所述根据文件信息数据库对存储器进行扫描是指对所述存储器 上存储的文件进行扫描, 获取当前扫描文件的路径名称。

6、 根据权利要求 5所述的对存储器上的文件进行扫描的方法,其特 征在于, 所述根据扫描结果查找所述存储器上的更新文件的步骤包括: 判断所述当前扫描文件的路径名称是否存在于所述文件信息数据库 中;

当所述当前扫描文件的路径名称不存在于所述文件信息数据库中 时, 则判定所述当前扫描文件为从上次扫描结束到本次扫描开始期间, 所述存储器上新增的文件;

当所述当前扫描文件的路径名称存在于所述文件信息数据库中时, 获取所述存储器上的所述当前扫描文件的最近修改时间;

判断获取到的所述存储器上的所述当前扫描文件的最近修改时间是 否大于所述文件信息数据库中记录的所述当前扫描文件的最近修改时 间;

当获取到的所述存储器上的当前扫描文件的最近修改时间大于所述 文件信息数据库中记录的所述当前扫描文件的最近修改时间时, 则判定 所述当前扫描文件为从上次扫描结束到本次扫描开始期间, 所述存储器 上内容有修改的文件。

7、根据权利要求 4所述的对存储器上的文件进行扫描的方法,其特 征在于, 所述根据所述更新文件的属性信息, 更新所述文件信息数据库 的步骤包括:

当所述更新文件对应的文件为内容有修改的文件时, 将所述文件信 息数据库中每一份内容有修改的文件的最近修改时间更新为所述存储 器上与该份内容有修改的文件相对应的最近修改时间;

当所述更新文件对应的文件为新增的文件时, 将所述存储器上每一 份新增的文件的属性信息添加至所述文件信息数据库中。

8、 一种对存储器上的文件进行扫描的装置, 其特征在于, 所述装置 包括:

查找模块, 用于根据文件信息数据库对所述存储器进行扫描, 根据 扫描结果查找所述存储器上的更新文件, 其中所述文件信息数据库中记 录有上次扫描所述存储器得到的所述存储器上所有文件的属性信息, 所 述更新文件包括从上次扫描结束到本次扫描开始期间, 所述存储器上内 容有修改的文件和新增的文件;

获取模块, 用于获取所述更新文件的属性信息;

更新模块, 用于根据所述更新文件的属性信息, 更新所述文件信息 数据库;

删除模块, 用于删除所述文件信息数据库中已经存有的, 但在本次 扫描所述存储器时未发现的文件的属性信息。

9、根据权利要求 8所述的对存储器上的文件进行扫描的装置,其特 征在于, 所述装置还包括扫描判断模块, 用于:

判断本次扫描是否为初次扫描;

当本次扫描为初次扫描时, 建立并存储记录有所述存储器上所有文 件的属性信息的文件信息数据库;

当本次扫描为非初次扫描时, 向所述查找模块发送控制信号; 所述查找模块用于: 接收所述扫描判断模块发送的控制信号, 根据 文件信息数据库对存储器进行扫描, 查找所述存储器上的更新文件。

10、 根据权利要求 9所述的对存储器上的文件进行扫描的装置, 其 特征在于, 所述扫描判断模块判断本次扫描是否为初次扫描, 包括: 在所述存储器或所述存储器所在的电子终端中查找是否存在与所述 存储器相对应的文件信息数据库, 如果是, 则判断本次扫描为非初次扫 描, 否则, 则判断本次扫描为初次扫描。

11、 根据权利要求 8所述的对存储器上的文件进行扫描的装置, 其 特征在于, 所述文件的属性信息包括: 文件的路径名称、 文件的最近修 改时间、 文件的大小、 文件所在文件夹的身份标识值。

12、根据权利要求 11所述的对存储器上的文件进行扫描的装置,其 特征在于, 所述查找模块包括:

第一获取单元, 用于对所述存储器上存储的文件进行扫描, 获取当 前扫描文件的路径名称;

第一判断单元, 用于判断所述当前扫描文件的路径名称是否存在于 所述文件信息数据库中;

第一确定单元, 用于当所述当前扫描文件的路径名称不存在于所述 文件信息数据库中时, 判定所述当前扫描文件为从上次扫描结束到本次 扫描开始期间, 所述存储器上新增的文件;

第二获取单元, 用于当所述当前扫描文件的路径名称存在于所述文 件信息数据库中时, 获取所述存储器上的所述当前扫描文件的最近修改 时间;

第二判断单元, 用于判断获取到的所述存储器上的所述当前扫描文 件的最近修改时间是否大于所述文件信息数据库中记录的所述当前扫 描文件的最近 ^ί'爹改时间; 第二确定单元, 用于当获取到的所述存储器上的当前扫描文件的最 近修改时间大于所述文件信息数据库中记录的所述当前扫描文件的最 近修改时间时, 判定所述当前扫描文件为从上次扫描结束到本次扫描开 始期间, 所述存储器上内容有修改的文件。

13、根据权利要求 11所述的对存储器上的文件进行扫描的装置,其 特征在于, 所述更新模块包括:

^ί'爹改单元,用于当所述更新文件对应的文件为内容有^ ί'爹改的文件时, 将所述文件信息数据库中每一份内容有修改的文件的最近修改时间更 新为所述存储器上与该份内容有修改的文件相对应的最近修改时间; 添加单元, 用于当所述更新文件对应的文件为新增的文件时, 将所 述存储器上每一份新增的文件的属性信息添加至所述文件信息数据库 中。

14、 根据权利要求 8所述的对存储器上的文件进行扫描的装置, 其 特征在于, 所述装置还包括输出模块, 用于将经过更新和删除操作之后 的所述文件信息数据库中记录的所有文件的属性信息作为本次扫描结 果进行输出。

15、 一种非瞬时性的计算机可读存储介质, 其上存储有计算机可执 行指令, 当这些可执行指令被执行时, 执行一种对存储器上的文件进行 扫描的方法, 所述方法包括:

根据文件信息数据库对所述存储器进行扫描, 该文件信息数据库中 记录有上次扫描所述存储器得到的所述存储器上所有文件的属性信息; 根据扫描结果查找所述存储器上的更新文件, 所述更新文件包括从 上次扫描结束到本次扫描开始期间, 所述存储器上内容有修改的文件和 新增的文件;

获取所述更新文件的属性信息; 根据所述更新文件的属性信息, 更新所述文件信息数据库; 删除所述文件信息数据库中已经存有的, 但在本次扫描所述存储器 时未发现的文件的属性信息; 及

将经过更新和删除操作之后的所述文件信息数据库记录的所有文件 的属性信息作为本次扫描结果进行输出。

Description:
一种对存储器上的文件进行扫描的方法及装置 本申请要求于 2013 年 7 月 15 日提交中国专利局、 申请号为 201310296298.0, 发明名称为 "一种对存储器上的文件进行扫描的方法 及装置" 的中国专利申请的优先权, 其全部内容通过引用结合在本申请 中。 技术领域

本发明涉及通信技术领域, 特别涉及一种对存储器上的文件进行扫 描的方法及装置。 发明背景

随着电子科学技术的发展, 诸多电子终端, 例如台式电脑、 笔记本 电脑、 智能手机、 个人数字助理, 逐渐进入人们的日常生活和工作中, 成为人们日常生活和工作中必不可少的一部分 。 同时, 各种各样的存储 器蜂拥而现, 例如压缩闪存卡(Compact Flash, CF )、 安全数码( Secure Digital, SD )存储卡、 多媒体 (Multimedia Card, MMC)存储卡、硬盘等。 存储器能够用来存储音乐、 图像、 视频、 应用软件等文件, 可以内置于 电子终端, 或独立于电子终端存在。 当存储器直接或通过中介设备与电 子终端连接时, 为了对存储器中各文件进行统一、 集中管理, 方便用户 查看存储器中各类文件信息, 电子终端上的操作系统通常会对存储器存 储的文件进行扫描, 以获取存储器中各文件的元数据、 缩略图等属性信 息, 以便后续在电子终端上显示该信息, 供用户操作选择。

然而,获取存储器中各文件的元数据、缩略图 等属性信息耗时较长, 会导致扫描效率降低, 特别是在存储器存储容量大、 存储文件数目多的 情况下, 其扫描过程将会花费很大的时间开销。 并且, 在现有的技术中, 电子终端每次与存储器连接时, 都要重新扫描存储器中的所有文件, 获 取存储器中各文件的属性信息。 发明内容

本发明提出一种对存储器上的文件进行扫描的 方法及装置, 以提高 扫描效率。

一种对存储器上的文件进行扫描的方法, 所述方法包括:

根据文件信息数据库对所述存储器进行扫描, 该文件信息数据库中 记录有上次扫描所述存储器得到的所述存储器 上所有文件的属性信息; 根据扫描结果查找所述存储器上的更新文件, 所述更新文件包括从 上次扫描结束到本次扫描开始期间, 所述存储器上内容有修改的文件和 新增的文件;

获取所述更新文件的属性信息;

根据所述更新文件的属性信息, 更新所述文件信息数据库; 删除所述文件信息数据库中已经存有的, 但在本次扫描所述存储器 时未发现的文件的属性信息; 及

将经过更新和删除操作之后的所述文件信息数 据库记录的所有文件 的属性信息作为本次扫描结果进行输出。

本发明还提供了一种对存储器上的文件进行扫 描的装置, 所述装置 包括:

查找模块, 用于根据文件信息数据库对所述存储器进行扫 描, 根据 扫描结果查找所述存储器上的更新文件, 其中所述文件信息数据库中记 录有上次扫描所述存储器得到的所述存储器上 所有文件的属性信息, 所 述更新文件包括从上次扫描结束到本次扫描开 始期间, 所述存储器上内 容有修改的文件和新增的文件;

获取模块, 用于获取所述更新文件的属性信息;

更新模块, 用于根据所述更新文件的属性信息, 更新所述文件信息 数据库;

删除模块, 用于删除所述文件信息数据库中已经存有的, 但在本次 扫描所述存储器时未发现的文件的属性信息。

本发明还提供了一种非瞬时性的计算机可读存 储介质, 其上存储有 计算机可执行指令, 当这些可执行指令被执行时, 执行一种对存储器上 的文件进行扫描的方法, 所述方法包括:

根据文件信息数据库对所述存储器进行扫描, 该文件信息数据库中 记录有上次扫描所述存储器得到的所述存储器 上所有文件的属性信息; 根据扫描结果查找所述存储器上的更新文件, 所述更新文件包括从 上次扫描结束到本次扫描开始期间, 所述存储器上内容有修改的文件和 新增的文件;

获取所述更新文件的属性信息;

根据所述更新文件的属性信息, 更新所述文件信息数据库; 删除所述文件信息数据库中已经存有的, 但在本次扫描所述存储器 时未发现的文件的属性信息; 及

将经过更新和删除操作之后的所述文件信息数 据库记录的所有文件 的属性信息作为本次扫描结果进行输出。

相较于现有技术, 本发明提出的技术方案可以避免每次存储器与 电 子终端连接时, 都要通过重新扫描存储器上的各文件来获取其 属性信 息, 而只需查找存储器上的更新文件, 获取其对应的属性信息, 并相应 的更新文件信息数据库, 大大节省了重复扫描所耗费的资源, 加快了扫 描速度, 提高了扫描效率。 附图简要说明

图 1为本发明实施例一提供的一种对存储器上的 件进行扫描的方 法的流程示意图;

图 2为本发明实施例一提供的一种对存储器上的 件进行扫描的方 法的应用环境示意图;

图 3为本发明实施例一提供的根据文件信息数据 对存储器进行扫 描, 查找存储器上的更新文件的步骤的流程示意图 ;

图 4为本发明实施例二提供的一种对存储器上的 件进行扫描的方 法的流程示意图;

图 5为本发明实施例三提供的一种对存储器上的 件进行扫描的装 置的结构示意图;

图 6为本发明实施例四提供的一种对存储器上的 件进行扫描的装 置的结构示意图。

图 7为本发明实施例五提供的一种对存储器上的 件进行扫描的装 置的结构示意图。 实施本发明的方式

下面结合附图和实施例对本发明作进一步的详 细说明。 可以理解的 是,此处所描述的具体实施例仅用于解释本发 明,而非对本发明的限定。 另外还需要说明的是, 为了便于描述, 附图中仅示出了与本发明相关的 部分而非全部内容。

本发明实施例的对存储器上的文件进行扫描的 方法及装置可以运行 于智能设备的操作系统平台上。 该智能设备可以是移动电话、 个人数字 助理、 平板电脑、 台式电脑等等中的任意一种, 该智能设备中可以包括 中央处理器、 存储器、 开关器件、 电源、 时钟信号生成器等中的任意组 合。 智能设备可用于实现本发明实施例的对存储器 上的文件进行扫描的 方法及装置的功能。

实施例一

图 1为本发明实施例一提供的一种对存储器上的 件进行扫描的方 文件进行的扫描。 如图 2所示, 终端 21 包括存储装置 211、 处理装置 212和显示装置 213。 该方法的软件程序存在存储装置 211 中并可被处 理装置 212执行。 显示装置 213用于提供一个界面, 可用于显示对存储 器上的文件进行扫描的结果。 参见图 1, 该方法包括:

步骤 S101、 根据文件信息数据库对存储器进行扫描, 查找存储器上 的更新文件;

其中, 文件信息数据库记录有上次扫描存储器得到的 存储器上所有 文件的属性信息。 具体地, 当本次扫描为初次扫描时, 文件信息数据库 中记录的存储器上所有文件的属性信息为空。 在本实施例中, 所述文件 的属性信息包括文件的路径名称、 文件的最近修改时间、 文件的大小、 文件所在文件夹的身份标识 (Identity, ID )值。 当然, 所述文件的属性 信息并不仅限于此, 例如若当前文件为图片或视频格式的文件时, 其属 性信息还可包括与该文件对应的缩略图等其他 信息。 在一实施例中, 文 件信息数据库记录的各文件的属性信息的关键 值为文件的路径名称, 文 件信息数据库以关键值作为访问索引。

更新文件包括从上次扫描结束到本次扫描开始 期间, 存储器上内容 有修改的文件和新增的文件。

图 3为本发明实施例一提供的根据文件信息数据 对存储器进行扫 描, 查找存储器上的更新文件的步骤的流程示意图 , 参见图 3, 该步骤 包括步骤 S1011至步骤 S1017: 步骤 S1011、 对存储器上存储的文件进行扫描, 获取当前扫描文件 的路径名称;

在本实施中, 可釆用递归方式对存储器上的文件进行扫描, 获取当 前扫描文件的路径名称, 其中, 所述当前扫描文件的路径名称具有唯一 性, 能够唯一标识该文件。 例如, 当前扫描文件的名称为 1.JPEG, 在电 子终端上记录的存储位置为 H盘的文件夹 1下的图片子文件夹,则可将 获取的路径名称记作为: H:\文件夹 1:\图片 :\1.JPEG。

步骤 S1012、 判断当前扫描文件的路径名称是否存在于文件 信息数 据库中, 如果是, 执行步骤 S1014, 否则, 执行步骤 S1013;

在获取到当前扫描文件的路径名称后, 从文件信息数据库中查找是 否存在以当前扫描文件的路径名称作为关键值 的属性信息, 如果有, 则 判定当前扫描文件的路径名称存在于文件信息 数据库中, 否则, 则判定 当前扫描文件的路径名称不存在于文件信息数 据库中。

步骤 S1013、 当判断当前扫描文件的路径名称不存在于文件 信息数 据库中时, 则判定当前扫描文件为从上次扫描结束到本次 扫描开始期 间, 存储器上新增的文件, 执行步骤 S1017;

如果从文件信息数据库中查找不到当前扫描文 件的路径名称时, 则 判定在进行上次扫描时, 该当前扫描文件不存在于存储器中, 为从上次 扫描结束到本次扫描开始期间存储器上新增的 文件, 即存储器上的变更 文件。

步骤 S1014、 当判断当前扫描文件的路径名称存在于文件信 息数据 库中时, 获取存储器上的当前扫描文件的最近修改时间 , 执行步骤 S1015;

如果从文件信息数据库中查找到当前扫描文件 的路径名称时, 获取 当前存储器上的当前扫描文件的最近修改时间 。 所述最近修改时间包括 年、 月、 日、 时、 分等信息。

步骤 S1015、 判断获取到的存储器上的当前扫描文件的最近 修改时 间是否大于文件信息数据库中记录的当前扫描 文件的最近修改时间, 如 果是, 执行步骤 S1016, 否则, 执行步骤 S1017;

步骤 S1016、 当获取到的存储器上的当前扫描文件的最近修 改时间 大于文件信息数据库中记录的当前扫描文件的 最近^ ί'爹改时间时, 则判断 当前扫描文件为从上次扫描结束到本次扫描开 始期间, 存储器上内容有 修改的文件, 执行步骤 S1017;

在获取到存储器上的当前扫描文件的最近修改 时间后, 对该最近修 改时间与文件信息数据库中记录的当前扫描文 件的最近修改时间进行 比较, 当该最近修改时间大于文件信息数据库中记录 的当前扫描文件的 最近修改时间时, 说明存储器上的当前扫描文件与上次扫描时相 比, 其 内容发生了变更, 为从上次扫描结束到本次扫描开始期间, 存储器上内 容有修改的文件。 例如, 修改时间的时间结构为: 年 +月 +日 +时 +分, 先 比对 "年"、 如 "年" 相同, 则比对 "月"; 如 "年" 和 "月" 均相同, 则比对 "日", 依此类推。 具体而言, 如获取到的存储器上的当前扫描 文件的最近修改时间为 T1 : 2013年 5月 20日 10点 8分, 文件信息数 据库中记录的当前扫描文件的最近 ^ί'爹改时间为 Τ2: 2013年 5月 1 日 14 点 10分, 判断时间 T1 大于时间 Τ2, 当前扫描文件为从上次扫描结束 到本次扫描开始期间, 存储器上内容有修改的文件。 再例如, 获取到的 存储器上的当前扫描文件的最近修改时间为 T1 : 2013年 5月 20 日 10 点 8分, 文件信息数据库中记录的当前扫描文件的最近 ^ ί'爹改时间为 Τ2: 2013年 5月 20日 8点 10分, 判断时间 T1大于时间 Τ2, 当前扫描文件 为从上次扫描结束到本次扫描开始期间, 存储器上内容有修改的文件。 再例如, 获取到的存储器上的当前扫描文件的最近修改 时间为 T1 : 2013 年 5月 20日 10点 8分, 文件信息数据库中记录的当前扫描文件的最近 爹改时间为 T2: 2013年 4月 20 日 8点 10分, 判断时间 T1大于时间 T2, 当前扫描文件为从上次扫描结束到本次扫描开 始期间, 存储器上内 容有修改的文件。

步骤 S1017、 继续对存储器上存储的其他文件进行扫描, 判断被扫 描文件是否为新增的文件或内容有修改的文件 。

在判断完当前被扫描到的文件是否为存储器上 新增的文件或内容有 修改的文件后, 继续对存储器上存储的其他文件进行扫描, 再次按照本 实施例中上述步骤 S1011-步骤 S1016的方法判断判断存储器上被扫描到 的文件是否为存储器上新增的文件或内容有修 改的文件。

步骤 S102、 获取更新文件的属性信息;

其中, 更新文件的属性信息包括文件的路径名称、 文件的最近修改 时间、 文件的大小、 文件所在文件夹的身份标识 (Identity, ID )值。 当 然, 所述更新文件的属性信息并不仅限于此, 例如, 若更新文件为图片 或视频格式的文件时, 其属性信息还包括与该文件对应的缩略图等其 他 信息。

对于已经在步骤 S1011获取到新增的文件或内容有修改的文件的 径名称, 在步骤 S1014获取到内容有修改的文件的最近修改时间 , 在 执行本步骤 S102时, 可直接读取所述路径名称、 最近修改时间。

步骤 S103、 根据更新文件的属性信息, 更新文件信息数据库; 文件信息数据库用于记录存储器上所有文件的 属性信息。 当本次扫 描发现:较上次扫描,存储器上存在内容有修 改的文件或新增的文件时, 需要更改文件信息数据库的记录。

根据步骤 S102中所获取的更新文件的属性信息,更新文 信息数据 库的步骤包括: 当更新文件对应的文件为内容有修改的文件时 , 将文件信息数据库 中每一份内容有修改的文件的最近修改时间更 新为存储器上的与该份 内容有修改的文件的最近修改时间;

当更新文件对应的文件为新增的文件时, 将存储器上的每一份新增 的文件的属性信息添加至文件信息数据库中。

步骤 S104、 删除文件信息数据库中已经存有的, 但在本次扫描存储 器未发现的文件的属性信息;

在本次扫描时, 较上次扫描, 存储器上除了可能存在内容上有修改 的文件或新增的文件时, 还可能出现某些文件已经删除。 根据对存储器 上的各文件进行扫描所获取的各文件的路径名 称, 可判断出文件信息数 据库中记录的哪些属性信息所对应的文件是本 次扫描时存储器上不存 在的文件, 然后删除文件信息数据库中记录该文件的属性 信息。

为了更详细的说明本发明实施例一提出的对存 储器上的文件进行扫 描的方法, 现举例说明。 例如, 上次扫描完毕存储器时, 文件信息数据 库中记录的存储器上所有文件的部分属性信息 如下表所示:

在本次扫描存储器时, 存储器上所有文件的部分属性信息如下表所

H:\文件夹 2:\C:\3.JPEG 2013年 6月 1 日 13点 40分

H:\文件夹 2:\C:\5.JPEG 2013年 6月 3日 11点 23分

H:\文件夹 3:\D:\4.JPEG 2013年 6月 3日 21点 17分

H:\文件夹 3:\D:\6.JPEG 2013年 6月 2日 15点 32分 在对存储器上的文件全部扫描完毕后, 得到存储器上内容有修改的 文件为: "H:\文件夹 2:\C:\3.JPEG", "H:\文件夹 3:\D:\4.JPEG" ; 新增的 文件为: "H:\文件夹 2:\C:\5.JPEG", "H:\文件夹 3:\D:\6.JPEG"。 此时, 对文件信息数据库进行更新包括: 将文件信息数据库中内容有修改的文 件 "H:\文件夹 2:\C:\3. JPEG" 对应的最近修改时间 "2013年 6月 1 日 8 点 45分" 更新为 "2013年 6月 1 日 13点 40分"; 将文件信息数据库中 内容有修改的文件 "H:\文件夹 3:\D:\4.JPEG"对应的最近修改时间 "2013 年 5月 23 日 13点 8分" 更新为 "2013年 6月 3 日 21点 17分"; 将文 件 "H:\文件夹 2:\C:\5.JPEG" 和 "H:\文件夹 3:\D:\6JPEG" 各自对应的 路径名称、 最近修改时间及其他属性信息添加至文件信息 数据库。

然后, 删除文件信息数据库中已经存有的, 但在本次扫描存储器未 发现的文件 "H:\文件夹 1 ΛΒΛ2. JPEG" 所对应的属性信息。

为了后续查找或调用存储器上文件的方便, 在本实施例的一个实施 方式中:

步骤 S101还包括根据文件夹信息数据库对存储器进 扫描,查找存 储器上的更新文件夹;

其中, 文件夹信息数据库记录有上次扫描存储器得到 的所有文件夹 的属性信息, 所述更新文件夹包括从上次扫描结束到本次扫 描开始期 间, 所述存储器上内容有修改的文件夹和新增的文 件夹; 文件夹的属性 信息包括文件夹的路径名称、 文件夹的最近修改时间、 文件夹所在父文 件夹的 ID值和文件夹下各种类型的文件个数; 对存储器上的更新文件夹的判断过程, 与对存储器上的更新文件的 判断过程类似, 这里不再赘述;

步骤 S102还包括获取更新文件夹的属性信息,该过 与获取更新文 件的属性信息的过程类似, 这里不再赘述;

步骤 S103还包括根据更新文件夹的属性信息,更新 件夹信息数据 库, 该过程与更新文件信息数据库的过程类似, 这里不再赘述;

步骤 S104还包括删除文件夹信息数据库中已经存有 ,但在本次扫 描存储器时未发现的文件夹的属性信息, 该过程与删除文件信息数据库 中已经存有的, 但在本次扫描存储器时未发现的文件的属性信 息的过程 类似, 这里不再赘述。

综上, 本发明实施例一的对存储器上的文件进行扫描 的方法, 根据 文件信息数据库对存储器进行扫描并查找到存 储器上的更新文件; 根据 所述更新文件的属性信息更新所述文件信息数 据库, 并删除文件信息数 据库中已经存有的但在本次扫描存储器时未发 现的文件的属性信息。 本 发明实施例一能够使得在每次扫描存储器时可 以复用上次扫描完毕时 文件信息数据库中记录的存储器上所有文件的 属性信息, 无需再重新获 取, 只要查找存储器上的更新文件, 获取其对应的属性信息, 并相应的 更新信息数据库, 减少了因获取存储器上所有文件的属性信息所 耗费的 时间, 加快了扫描速度。 实施例二

图 4为本发明实施例二提供的一种对存储器上的 件进行扫描的方 法的流程示意图。 参见图 4, 该方法包括:

步骤 S401、判断本次扫描是否为初次扫描,如果是 执行步骤 S402, 否则, 执行步骤 S403; 在本实施例中, 可通过查找是否存在与存储器相对应的文件信 息数 据库, 来判断本次扫描是否为初次扫描。 当存储器内置于电子终端时, 文件信息数据库可存储在电子终端或存储器中 。 考虑到会存在多个移动 存储器与电子终端连接的情形, 如果文件信息数据库存储在电子终端 上, 会占用很大内存空间, 文件信息数据库可存储在存储器中。 可通过 查找本次要扫描的存储器中是否存在与之相对 应的文件信息数据库, 来 判断本次扫描是否为初次扫描,如果是,则判 断本次扫描为非初次扫描, 否则, 则判断本次扫描为初次扫描。

步骤 S402、建立并存储记录有存储器上所有文件的 性信息的文件 信息数据库, 结束;

在判断本次扫描为初次扫描时, 建立与本次要扫描的存储器所对应 的文件信息数据库, 开始对存储器上的各文件进行扫描, 获取各文件的 属性信息, 并将其属性信息添加至所建立的文件信息数据 库中。 待将存 储器上所有文件的属性信息全部添加至文件信 息数据库中后, 将此时的 文件信息数据库存储至存储器上, 供下次扫描时使用。

步骤 S403、 根据文件信息数据库对存储器进行扫描, 查找存储器上 的更新文件;

本步骤与实施例一中的根据文件信息数据库对 存储器进行扫描, 查 找存储器上的更新文件的步骤相同, 这里不再赘述。

步骤 S404、 获取更新文件的属性信息;

本步骤与实施例一中的获取更新文件的属性信 息的步骤相同, 这里 不再赘述。

步骤 S405、 根据更新文件的属性信息, 更新文件信息数据库; 本步骤与实施例一中的根据更新文件的属性信 息更新文件信息数据 库的步骤相同, 这里不再赘述。 步骤 S406、 删除文件信息数据库中已经存有的, 但在本次扫描存储 器未发现的文件的属性信息;

本步骤与实施例一中的删除文件信息数据库中 已经存有的, 但在本 次扫描存储器未发现的文件的属性信息的步骤 相同, 这里不再赘述。

步骤 S407、将经过更新和删除操作之后的文件信息 据库中记录的 所有文件的属性信息作为本次扫描结果进行输 出;

在根据更新文件的属性信息更新文件信息数据 库, 并删除文件信息 数据库中已经存有的, 但在本次扫描存储器未发现的文件的属性信息 后, 文件信息数据库中记录着本次扫描时存储器上 存储的所有文件的属 性信息, 此时可将其作为本次扫描结果进行输出, 更新电子终端用户界 面中有关存储器上的文件的属性信息。

在本实施例的一个实施方式中,在执行步骤 S403时,一旦查找到存 储器上某个文件为内容有修改的文件或新增的 文件后, 还可直接执行步 骤 S404, 获取查找到的内容有修改的文件或新增的文件 的属性信息, 然 后再执行步骤 S403查找存储器上其他内容有修改的文件或新 的文件, 查找过程与获取过程依次交替进行。 在本实施例中, 每隔预设的时间周 期, 根据步骤 S404 中获取到的内容有修改的文件和新增的文件的 属性 信息, 定时更新一次文件信息数据库。

为降低电子终端操作系统主线程 TMain的计算负担, 使其主线程尽 可能仅用于实现用户交互界面, 可在电子终端操作系统中引入子线程来 实现对存储器上的文件进行扫描的方法, 该子线程包括扫描子线程 TScan和处理子线程 TUpdate。

在主线程启动后, 初始化用户界面控件、 获取到存储器目录后, 启 动扫描子线程 TScan和处理子线程 TUpdate。 扫描子线程 TScan执行完 上述步骤 S401-S404后, 每隔预设的时间周期, 将获取到的存储器上内 容有修改的文件和新增的文件的属性信息通过 主线程的 Handler (用 AHandler标识)发送给主线程。

主线程的 AHandler 的消息处理函数从消息中提取所述时间周期内 存储器上内容有修改的文件和新增的文件的属 性信息, 通告处理子线程 TUpdate对文件信息数据库进行更新处理。 具体的更新处理过程为: 构 造一个任务模型 UpdateTask, 其包含有存储存储器上内容有修改的文件 和新增的文件的属性信息内容,之后把任务模 型 UpdateTask添加到处理 子线程 TUpdate的工作队列中, 以触发处理子线程 Tupdate工作。 处理 子线程 TUpdate最初等待在该工作队列中, 一旦队列非空, 处理子线程 Tupdate根据任务模型 UpdateTask中包含的内容,更新文件信息数据库

扫描子线程 Tscan完成对存储器上所有文件的扫描后, 可判断出文 件信息数据库中记录的哪些属性信息所对应的 文件是本次扫描时存储 器上不存在的文件, 然后通过主线程通告处理子线程 TUpdate删除文件 信息数据库中已经存有的, 但在本次扫描存储器时未发现的文件的属性 信息, 并将经过更新和删除操作之后的文件信息数据 库中记录的所有文 件的属性信息作为本次扫描结果进行输出。

综上, 本发明实施例二的对存储器上的文件进行扫描 的方法, 判断 本次扫描为初次扫描时, 建立并预存记录有存储器上所有文件的属性信 息的文件信息数据库, 判断本次扫描为非初次扫描时, 根据文件信息数 据库对存储器进行扫描, 查找到存储器上的更新文件, 根据所述更新文 件的属性信息, 更新所述文件信息数据库, 并删除文件信息数据库中已 经存有的, 但在本次扫描存储器时未发现的文件的属性信 息, 最终将经 过更新和删除操作之后的文件信息数据库中记 录的所有文件的属性信 息作为本次扫描结果进行输出。 本发明实施例二能够使得在每次扫描存 储器时可以复用上次扫描完毕时文件信息数据 库中记录的存储器上所 有文件的属性信息, 无需再重新获取, 只要查找存储器上的更新文件, 获取其对应的属性信息, 并相应的更新信息数据库, 减少了因获取存储 器上所有文件的属性信息所耗费的时间, 提高了扫描效率。 同时, 本发 明实施例二提出釆用扫描子线程和处理子线程 实现对存储器上的文件 进行扫描的方法, 降低了电子终端操作系统中主线程的计算负担 。 实施例三

图 5为本发明实施例三提供的一种对存储器上的 件进行扫描的装 置的结构示意图。 参见图 5, 该装置包括: 查找模块 501, 用于根据文 件信息数据库对存储器进行扫描, 查找存储器上的更新文件; 获取模块 502, 用于获取更新文件的属性信息; 更新模块 503, 用于根据更新文件 的属性信息, 更新文件信息数据库; 删除模块 504, 用于删除文件信息 数据库中已经存有的, 但在本次扫描存储器时未发现的文件的属性信 息。

在本实施例中, 文件信息数据库记录有上次扫描存储器时得到 的存 储器上所有文件的属性信息。 具体的, 当本次扫描为初次扫描时, 文件 信息数据库中记录的存储器上所有文件的属性 信息内容为空。 所述文件 的属性信息包括文件的路径名称、 文件的最近修改时间、 文件的大小、 文件所在文件夹的身份标识 (Identity, ID )值。 当然, 所述文件的属性 信息并不限于此, 例如若当前文件为图片或视频格式的文件时, 其属性 信息还包括与该文件对应的缩略图等其他信息 。 在一实施例中, 文件信 息数据库记录的各文件的属性信息的关键值为 文件的路径名称, 文件信 息数据库以关键值作为访问索引。 更新文件包括从上次扫描结束到本次 扫描开始期间, 存储器上内容有修改的文件和新增的文件。

在本实施例中, 查找模块 501包括: 第一获取单元 5011, 用于对存储器上存储的文件进行扫描, 获取当 前扫描文件的路径名称;

第一判断单元 5012, 用于判断当前扫描文件的路径名称是否存在于 文件信息数据库中;

第一确定单元 5013, 用于当判断当前扫描文件的路径名称不存在于 文件信息数据库中时, 则判断当前扫描文件为从上次扫描结束到本次 扫 描开始期间存储器上新增的文件;

第二获取单元 5014, 用于当判断当前扫描文件的路径名称存在于文 件信息数据库中时, 获取存储器上的当前扫描文件的最近修改时间 ; 第二判断单元 5015, 用于判断获取到的存储器上的当前扫描文件的 最近修改时间是否大于文件信息数据库中记录 的当前扫描文件的最近 爹改时间;

第二确定单元 5016, 用于当获取到的存储器上的当前扫描文件的最 近修改时间大于文件信息数据库中记录的当前 扫描文件的最近修改时 间时, 判断当前扫描文件为从上次扫描结束到本次扫 描开始期间, 存储 器上内容有修改的文件。

在本实施例中, 获取模块 502获取的更新文件的属性信息包括文件 的路径名称、 文件的最近修改时间、 文件的大小、 文件所在文件夹的身 份标识(Identity, ID )值。 当然, 所述更新文件的属性信息并不限于此, 例如若更新文件为图片或视频格式的文件时, 其属性信息还包括与该文 件对应的缩略图等其他信息。 对于已经在第一获取单元 5011 获取到新 增的文件或内容有修改的文件的路径名称, 在第二获取单元 5014获取 到内容有修改的文件的最近修改时间的, 获取模块 502可直接读取第一 获取单元 5011获取的路径名称、 第二获取单元 5014获取的最近修改时 间。 在本实施例中, 更新模块 503包括:

修改单元 5031, 用于当更新文件对应的文件为内容有修改的文 件 时, 将文件信息数据库中每一份内容有修改的文件 的最近修改时间更新 为存储器上的与该份内容有修改的文件的最近 修改时间;

添加单元 5032, 用于当更新文件对应的文件为新增的文件时, 将存 储器上的每一份新增的文件的属性信息添加至 文件信息数据库中。

在本实施例中, 在本次扫描时, 较上次扫描, 存储器上除了可能存 在内容上有修改的文件或新增的文件时, 还可能出现某些文件已经删 除。 删除模块 504根据查找模块 501对存储器上的各文件进行扫描所获 取的各文件的路径名称, 可判断出文件信息数据库中记录的哪些属性信 息所对应的文件是本次扫描时存储器上不存在 的文件, 然后删除文件信 息数据库中记录该文件的属性信息。

为了后续查找或调用存储器上文件的方便, 在本实施例的一个实施 方式中, 查找模块 501, 还用于根据文件夹信息数据库对存储器进行扫 描, 查找存储器上的更新文件夹; 获取模块 502还用于获取更新文件夹 的属性信息; 更新模块 503还用于根据更新文件夹的属性信息, 更新文 件夹信息数据库; 删除模块 504还用于删除文件夹信息数据库中已经存 有的, 但本次扫描存储器时未发现的文件夹的属性信 息。

本实施例提出的对存储器上的文件进行扫描的 装置与实施一提出的 对存储器上的文件进行扫描的方法属于同一发 明构思, 在本实施例中未 详尽描述的细节内容, 可以参考实施例一。

综上, 本发明实施例三的对存储器上的文件进行扫描 的装置, 根据 文件信息数据库对存储器进行扫描, 查找到存储器上的更新文件, 根据 所述更新文件的属性信息, 更新所述文件信息数据库, 并删除文件信息 数据库中已经存有的, 但在本次扫描存储器时未发现的文件的属性信 息。 本发明实施例三能够使得在每次扫描存储器时 可以复用上次扫描完 毕时文件信息数据库中记录的存储器上所有文 件的属性信息, 无需再重 新获取, 只要查找存储器上的更新文件, 获取其对应的属性信息, 并相 应的更新信息数据库, 减少了因获取存储器上所有文件的属性信息所 耗 费的时间, 加快了扫描速度。 实施例四

图 6为本发明实施例四提供的一种对存储器上的 件进行扫描的装 置的结构示意图。 参见图 6, 该装置包括:

扫描判断模块 601, 用于判断本次扫描是否为初次扫描, 当本次扫 描为初次扫描时, 建立并预存记录有存储器上所有文件的属性信 息的文 件信息数据库, 当本次扫描为非初次扫描时, 向查找模块 602发送控制 信号;

查找模块 602用于接收扫描判断模块 601发送的控制信号, 根据文 件信息数据库对存储器进行扫描, 查找存储器上的更新文件;

获取模块 603, 用于获取更新文件的属性信息;

更新模块 604, 用于根据更新文件的属性信息, 更新文件信息数据 库;

删除模块 605, 用于删除文件信息数据库中已经存有的, 但在本次 扫描存储器时未发现的文件的属性信息;

输出模块 606, 用于将经过更新和删除操作之后的文件信息数 据库 中记录的所有文件的属性信息作为本次扫描结 果进行输出。

在本实施例中, 扫描判断模块 601可通过查找是否存在与存储器相 对应的文件信息数据库, 来判断本次扫描是否为初次扫描。 当存储器内 置于电子终端时, 文件信息数据库可存储在电子终端或存储器中 。 考虑 到会存在多个移动存储器与电子终端连接的情 形, 如果文件信息数据库 存储在电子终端上, 会占用很大内存空间, 文件信息数据库可存储在存 储器中。 扫描判断模块 601可通过查找本次要扫描的存储器中是否存在 与之相对应的文件信息数据库, 来判断本次扫描是否为初次扫描, 如果 是, 则扫描判断模块 601判断本次扫描为非初次扫描, 否则, 则扫描判 断模块 601判断本次扫描为初次扫描。

当本次扫描为初次扫描时, 扫描判断模块 601建立与本次要扫描的 存储器所对应的文件信息数据库, 开始对存储器上的各文件进行扫描, 获取各文件的属性信息, 并将其属性信息添加至所建立的文件信息数据 库中。 待将存储器上所有文件的属性信息全部添加至 文件信息数据库中 后, 扫描判断模块 601将此时的文件信息数据库预存至存储器上, 供下 次扫描时使用。

在更新模块 604更新完文件信息数据库、 删除模块 505删除文件信 息数据库中已经存有的, 但在本次扫描未发现的文件的属性信息之后, 将经过更新和删除操作之后的文件信息数据库 中记录的所有文件的属 性信息作为本次扫描结果进行输出, 更新电子终端用户界面中有关存储 器上的文件的属性信息。

在本实施例的一个实施方式中, 在查找模块 602—旦查找到存储器 上某个文件为内容有修改的文件或新增的文件 后, 可直接向获取模块 603发出控制信号, 通知获取模块 603获取查找到的内容有修改的文件 或新增的文件的属性信息, 然后查找模块 602再查找存储器上其他内容 有修改的文件或新增的文件, 查找模块 602与获取模块 603依次交替工 作。 在本实施例中, 更新模块 604可每隔预设的时间周期, 根据获取模 块 603获取到的内容有修改的文件和新增的文件的 属性信息, 定时更新 一次文件信息数据库。 本实施例提出的对存储器上的文件进行扫描的 装置与实施二提出的 对存储器上的文件进行扫描的方法属于同一发 明构思, 在本实施例中未 详尽描述的细节内容, 可以参考实施例二。

综上, 本发明实施例四的对存储器上的文件进行扫描 的装置, 判断 本次扫描为初次扫描时, 建立并存储记录有存储器上所有文件的属性信 息的文件信息数据库, 判断本次扫描为非初次扫描时, 根据文件信息数 据库对存储器进行扫描, 查找到存储器上的更新文件, 根据所述更新文 件的属性信息, 更新所述文件信息数据库, 并删除文件信息数据库中已 经存有的, 但在本次扫描存储器时未发现的文件的属性信 息, 最终将经 过更新和删除操作之后的文件信息数据库中记 录的所有文件的属性信 息作为本次扫描结果进行输出。 本发明实施例四能够使得在每次扫描存 储器时可以复用上次扫描完毕时文件信息数据 库中记录的存储器上所 有文件的属性信息, 无需再重新获取, 只要查找存储器上的更新文件, 获取其对应的属性信息, 并相应的更新信息数据库, 减少了因获取存储 器上所有文件的属性信息所耗费的时间, 提高了扫描效率。 实施例五

图 7为根据本发明实施方式的另外一种对存储器 的文件进行扫描 的装置的结构示意图。 该装置包括: 存储设备 71、 处理器 72、 总线 73 和 I/O端口 74。

其中, 存储设备 71和处理器 72分别与总线 73相连。 该处理器 72 通过 I/O端口 74与外部设备进行通信。

该存储设备 71, 用于存储扫描判断模块 701、 查找模块 702、 获取 模块 703、 更新模块 704、 删除模块 705和输出模块 706。 该存储设备 71可以为非易失性计算机可读存储介质。 该处理器 72用于与该存储设备 71进行通信, 用于执行上述扫描判 断模块 701、查找模块 702、获取模块 703、 更新模块 704、删除模块 705 和输出模块 706执行的操作。 上述扫描判断模块 701、 查找模块 702、 获取模块 703、 更新模块 704、 删除模块 705和输出模块 706的功能与 上述扫描判断模块 601、 查找模块 602、 获取模块 603、 更新模块 604、 删除模块 605和输出模块 606的功能分别相同。

上述扫描判断模块 701、查找模块 702、获取模块 703、更新模块 704、 删除模块 705和输出模块 706可以为机器可读指令。 以上实施例提供的 技术方案中的全部或部分内容可以通过软件编 程实现, 其软件程序存储 在可读取的存储介质中, 存储介质例如: 计算机中的硬盘、 计算机只读 存储器、 光盘或软盘等。

此外, 上述实施例的先后顺序仅为便于描述, 不代表实施例的优劣。 以上所述仅为本发明的较佳实施例, 并不用于限制本发明, 凡在本 发明的精神和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包 含在本发明的保护范围之内。