一种快速文件检索方法和装置的制作方法

文档序号:6399260阅读:187来源:国知局
专利名称:一种快速文件检索方法和装置的制作方法
技术领域
本发明涉及计算机技术领域,特别是指ー种快速文件检索方法和装置。
背景技术
目前,随着硬盘的容量越来越大,磁盘中文件的数量也越来越多,我们常常忘记文件的存放位置,只记得文件的名字或部分名字或其他属性,例如文件类型,创建日期等,这时我们就需要一种文件检索的服务。在windows系统中自带了文件的搜索的功能,它支持按创建日期、修改日期、文件类型、文件大小进行检索,也支持通配符检索,但是強大的功能也带来的了弊端。它是进行全盘检索,使得检索速度变慢,不能快速反馈,需要用户等待。例如:基于的硬件环境为CPU =Inter 13、内存为2GB/DDR3、硬盘为500G/7200转的情况下,检索整个硬盘的数据时CPU使用率24%-27%,系统资源耗费大。

发明内容
有鉴于此,本发明的目的在于提出ー种快速文件检索方法和装置,能够降低系统资源的浪费,提高检索速度。基于上述目的本发明提供的快速文件检索方法,包括以下步骤:创建索引文件,所述索引文件是提取各驱动器USN日志记录中的文件信息;在每次进行文件检索时,输入文件名称的关键字,在索引文件中检索;以及显示检索結果。可选地,创建所述索引文件,包括以下步骤:获取各驱动器信息;判断每个驱动器文件系统名称是否为NTFS格式,将非NTFS格式的驱动器进行转换;判断NTFS格式的驱动器上是否开启了 USN日志记录,若已经开启,则获取各驱动器USN日志记录;若没有开启,则先开启USN日志记录,再获取各驱动器USN日志记录;根据获取的各驱动器USN日志记录信息创建索引文件。可选地,所述的索引文件提取各驱动器USN日志记录中的文件名称、文件地址以及创建原因。进ー步地,所述索引文件中的记录按照文件名称字母升序顺序排列。进ー步地,所述索引文件是提取各驱动器USN日志记录中的文件信息,同时会定期更新所述索引文件,使其能够与各驱动器USN日志记录中的文件信息同歩。基于上述目的,本发明还提供了ー种快速文件检索装置,包括:索引文件创建模块,用于创建索引文件,所述索引文件是提取各驱动器USN日志记录中的文件信息;检索模块,用于输入文件名称的关键字,在索引文件中检索;以及
显示模块,用于将检索的结果显示出来。可选地,所述索引文件创建模块包括:获取信息模块,用于获取各驱动器信息,判断每个驱动器文件系统名称是否为NTFS格式,如果是NTFS格式,则获取信息模块与检测模块相连;如果不是NTFS格式,则获取信息模块与转换模块相连,并且所述转换模块与检测模块相连;转换模块,用于将文件系统名称不是NTFS格式的驱动器进行转换;检测模块,用于判断NTFS格式的驱动器上是否开启了驱动器USN日志记录,若已经开启,则所述检测模块与创建模块相连;若没有开启,则所述检测模块与开启模块相连,并且所述开启模块与创建模块相连;开启模块,用于开启驱动器USN日志记录;创建模块,用于获取各驱动器USN日志记录信息,并创建索引文件。可选地,所述的索引文件提取各驱动器USN日志记录中的文件名称、文件地址以及创建原因。进ー步地,所述索引文件中的记录按照文件名称字母升序顺序排列。进ー步地,所述索引文件是提取各驱动器USN日志记录中的文件信息,同时会定期更新所述索引文件,使其能够与各驱动器USN日志记录中的文件信息同歩。从上面所述可以看出,本发明提供的ー种快速文件检索方法和装置,通过直接检索索引文件,索引文件是提取各驱动器USN日志记录中的文件信息,同时会定期更新所述索引文件。从而可以节省检索时间,提高了检索效率。


图1为本发明实施例ー种快速文件检索方法的流程示意图;图2为本发明实施例创建索引文件的方法流程示意图;图3为本发明实施例ー种快速文件检索装置的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并參照附图,对本发明进一歩详细说明。參阅图1所示,为发明实施例ー种快速文件检索方法的流程示意图,包括:步骤101,判断系统中是否存在索引文件,具体实施过程如下:I)当检测到系统中存在索引文件时,则直接进行步骤102。2)当检测到系统中不存在索引文件吋,则先创建索引文件,再执行步骤102。參阅图2所示,为本发明实施例创建索引文件的方法流程示意图,其中:步骤201,获取各驱动器信息。在本发明的一个实施例中,是通过Win32API读取本地驱动器的信息,需要利用用GetLogicalDriveStrings函数获取驱动器列表,然后通过GetVolumelnformation函数获取指定驱动器的文件系统类型。步骤202,判断每个驱动器文件系统类型是否为NTFS格式,具体实施过程如下:I)当检测到驱动器文件系统类型是NTFS格式吋,则直接进行步骤203。
2)当检测到驱动器文件系统类型不是NTFS格式时,可以使用文件系统转换器,利用系统中的Convert, exe将非NTFS格式的驱动器文件系统类型转换至NTFS文件系统。然后再进行步骤203。步骤203,判断NTFS格式的驱动器上是否开启了 USN日志记录。具体实施过程如下:I)若检测到已经开启了 NTFS格式的驱动器USN日志记录,则直接进行步骤204。2)若检测到没有开启NTFS格式的驱动器USN日志记录,则先将NTFS格式的驱动器USN日志记录开启,再进行步骤204。步骤204,获取各驱动器USN日志记录。步骤205,根据获取的各驱动器USN日志记录信息创建索引文件。在本发明的实施例中,提取各驱动器USN日志记录中的文件名称、文件地址以及创建原因,来创建索引文件。较佳地,索引文件中的记录按照文件名称字母升序顺序排列。步骤102,输入文件名称的关键字,在索引文件中检索。具体实施过程如下:在本发明的一个实施例中,所述索引文件是提取各驱动器USN日志记录中的文件信息,为了能够与各驱动器USN日志记录中的文件信息同步,会定期更新索引文件。在毎次进行检索时,只需输入文件名称的关键字,然后会直接在索引文件中检索。步骤103,显示检索結果。在本发明的实施例中,检索的结果是将索引文件中记录的该检索文件的文件名称、文件地址以及创建原因显示。參阅图3所示,为本发明实施例ー种快速文件检索装置的结构示意图,其中:检测索引文件是否存在模块301,可以判断系统中是否存在索引文件,其主要功能包括:I)当检测到系统中存在索引文件吋,则与检索模块308相连。2)当检测到系统中不存在索引文件时,则与索引文件创建模块302相连。索引文件创建模块302,用于创建索引文件,其中包括:获取信息模块303,与所述检测索引文件是否存在模块301相连,其主要功能包括:I)获取各驱动器信息:在本发明的一个实施例中,是通过Win32API读取本地驱动器的信息,需要利用用GetLogicalDriveStrings函数获取驱动器列表,然后通过GetVolumelnformation函数获取指定驱动器的文件系统类型。2)判断每个驱动器文件系统名称是否为NTFS格式,当检测到驱动器文件系统类型是NTFS格式吋,则获取信息模块303与检测模块305相连。当检测到驱动器文件系统类型不是NTFS格式吋,则获取信息模块303与转换模块304相连,并且转换模块304与检测模块305相连。转换模块304,在本发明的实施例中,将文件系统名称不是NTFS格式的驱动器进行转换,可以使用文件系统转换器,利用系统中的Convert, exe将非NTFS格式的驱动器文件系统类型转换至NTFS文件系统。检测模块305,用于判断NTFS格式的驱动器上是否开启了驱动器USN日志记录,其主要功能包括:
I)若检测到已经开启了 NTFS格式的驱动器USN日志记录,则检测模块305与创建模块307相连。2)若检测到没有开启NTFS格式的驱动器USN日志记录,则检测模块305与开启模块306相连,并且开启模块306与创建模块307。开启模块306,能够开启驱动器USN日志记录。创建模块307,获取各驱动器USN日志记录,并且根据获取的各驱动器USN日志记录信息创建索引文件。在本发明的实施例中,提取各驱动器USN日志记录中的文件名称、文件地址以及创建原因,来创建索引文件。较佳地,索引文件中的记录按照文件名称字母升序顺序排列。检索模块308,用于输入文件名称的关键字,在索引文件中检索:在本发明的ー个实施例中,所述索引文件是提取各驱动器USN日志记录中的文件信息,为了能够与各驱动器USN日志记录中的文件信息同步,会定期更新索引文件。在每次进行检索时,只需输入文件名称的关键字,然后会直接在索引文件中检索。显示模块309,用于将检索的结果显示出来;在本发明的实施例中,检索的结果是将索引文件中记录的该检索文件的文件名称、文件地址以及创建原因显示。由此可以看出。本发明实现的ー种快速文件捜索方法和装置,创造性地能够基于USN日志记录来创建索引文件,通过索引文件进行检索;并且创建索引文件的速度很快,I分钟就可以索引100万个文件,对于几百G的硬盘上的几十万多个文件,建立索引需要的时间也只有几秒,计算机的新能越好创建索引的速度越快;创建的索引文件也非常的小,16万个文件,生成的索引文件的大小可以控制在IMB以内;通过索引文件进行检索的速度极快,索引文件使得捜索速度在1-4秒内就可以完成;与此同时,本发明所述的快速文件捜索方法和装置实现起来简便易行。所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种快速文件检索方法,其特征在于,包括以下步骤: 创建索引文件,所述索引文件是提取各驱动器USN日志记录中的文件信息; 在每次进行文件检索时,输入文件名称的关键字,在索引文件中检索;以及 显示检索結果。
2.根据权利要求1所述的检索方法,其特征在于,创建所述索引文件,包括以下步骤: 获取各驱动器信息; 判断每个驱动器文件系统名称是否为NTFS格式,将非NTFS格式的驱动器进行转换;判断NTFS格式的驱动器上是否开启了 USN日志记录,若已经开启,则获取各驱动器USN日志记录;若没有开启,则先开启USN日志记录,再获取各驱动器USN日志记录; 根据获取的各驱动器USN日志记录信息创建索引文件。
3.根据权利要求1所述的检索方法,其特征在于,所述的索引文件提取各驱动器USN日志记录中的文件名称、文件地址以及创建原因。
4.根据权利要求3所述的检索方法,其特征在于,所述索引文件中的记录按照文件名称字母升序顺序排列。
5.根据权利要求1至4中任意一项所述的检索方法,其特征在于,所述索引文件是提取各驱动器USN日志记录中的文件信息,同时会定期更新所述索引文件,使其能够与各驱动器USN日志记录中的文件信息同歩。
6.一种快速文件检索装置,其特征在于,包括: 索引文件创建模块,用于创建索引文件,所述索引文件是提取各驱动器USN日志记录中的文件信息; 检索模块,用于输入文件名称的关键字,在索引文件中检索;以及 显示模块,用于将检索的结果显示出来。
7.根据权利要求6所述的检索装置,其特征在于,所述索引文件创建模块包括: 获取信息模块,用于获取各驱动器信息,判断每个驱动器文件系统名称是否为NTFS格式,如果是NTFS格式,则获取信息模块与检测模块相连;如果不是NTFS格式,则获取信息模块与转换模块相连,并且所述转换模块与检测模块相连; 转换模块,用于将文件系统名称不是NTFS格式的驱动器进行转换; 检测模块,用于判断NTFS格式的驱动器上是否开启了驱动器USN日志记录,若已经开启,则所述检测模块与创建模块相连;若没有开启,则所述检测模块与开启模块相连,并且所述开启模块与创建模块相连; 开启模块,用于开启驱动器USN日志记录; 创建模块,用于获取各驱动器USN日志记录信息,并创建索引文件。
8.根据权利要求6所述的检索装置,其特征在于,所述的索引文件提取各驱动器USN日志记录中的文件名称、文件地址以及创建原因。
9.根据权利要求8所述的检索装置,其特征在于,所述索引文件中的记录按照文件名称字母升序顺序排列。
10.根据权利要求6至9中任意一项所述的检索装置,其特征在于,所述索引文件是提取各驱动器USN日志记录中的文件信息,同时会定期更新所述索引文件,使其能够与各驱动器USN日志记录中的文件信息同歩。
全文摘要
本发明公开了快速文件检索方法和装置,包括创建索引文件,所述索引文件是提取各驱动器USN日志记录中的文件信息;在每次进行文件检索时,输入文件名称的关键字,在索引文件中检索;以及显示检索结果。本发明能降低系统资源的浪费,提高检索速度。
文档编号G06F17/30GK103092987SQ20131004824
公开日2013年5月8日 申请日期2013年2月6日 优先权日2013年2月6日
发明者张影宣, 王东辉, 潘纯峰 申请人:北京荣之联科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1