一种文件扫描方法及装置制造方法及图纸

技术编号:10751652 阅读:62 留言:0更新日期:2014-12-11 09:52
本发明专利技术公开了一种文件扫描方法及装置,其中,所述方法包括:在对目录的遍历过程中,针对遍历到的目录进行第一处理,第一处理包括:获取遍历到的目录的目录属性,根据获取的目录属性判断遍历到的目录是否为被重新映射的目录,如果是,则不对遍历到的目录进行扫描处理;如果不是,则对遍历到的目录进行所述扫描处理,扫描处理包括:对遍历到目录下的各个文件进行扫描获取扫描结果,和/或,对遍历到的目录下的各个子目录进行第二处理;所述第二处理包括:遍历所述各个子目录,并且针对遍历到的子目录进行与第一处理相同的处理。采用本发明专利技术,能有效地降低扫描过程中的IO开销和CPU开销,提高了文件扫描效率。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种文件扫描方法及装置,其中,所述方法包括:在对目录的遍历过程中,针对遍历到的目录进行第一处理,第一处理包括:获取遍历到的目录的目录属性,根据获取的目录属性判断遍历到的目录是否为被重新映射的目录,如果是,则不对遍历到的目录进行扫描处理;如果不是,则对遍历到的目录进行所述扫描处理,扫描处理包括:对遍历到目录下的各个文件进行扫描获取扫描结果,和/或,对遍历到的目录下的各个子目录进行第二处理;所述第二处理包括:遍历所述各个子目录,并且针对遍历到的子目录进行与第一处理相同的处理。采用本专利技术,能有效地降低扫描过程中的IO开销和CPU开销,提高了文件扫描效率。【专利说明】一种文件扫描方法及装置
本专利技术涉及文件扫描领域,更为具体而言,涉及一种文件扫描方法及装置。
技术介绍
操作系统中存在很多被重新映射到某一个目录的目录,在现有的文件扫描技术中,会调用扫描引擎执行对所有这些目录下文件的读取、计算特征等耗时行为。这使得扫描引擎做了很多无用功,增加了扫描过程中的输入输出(1)开销和中央处理器(CPU)开销,降低了扫描效率。
技术实现思路
为了解决现有的文件扫描技术所存在的缺陷,本专利技术实施方式提供一种文件扫描方法及装置,能够降低扫描过程中的1开销和CPU开销,提高文件扫描效率。 —方面,本专利技术实施方式提供了一种文件扫描方法,包括: 在对目录的遍历过程中,针对遍历到的目录进行第一处理,所述第一处理包括: 获取所述遍历到的目录的目录属性, 根据获取的目录属性判断所述遍历到的目录是否为被重新映射的目录,如果是,则不对所述遍历到的目录进行扫描处理;如果不是,则对所述遍历到的目录进行所述扫描处理,所述扫描处理包括: 对所述遍历到目录下的各个文件进行扫描获取扫描结果,和/或,对所述遍历到的目录下的各个子目录进行第二处理; 其中,对所述遍历到的目录下的各个子目录进行第二处理包括:遍历所述各个子目录,并且针对遍历到的子目录进行与所述第一处理相同的处理。 在本专利技术实施例的一种实现方式中,所述获取所述遍历到的目录的目录属性,包括:通过微软视窗操作系统应用程序接口获取所述遍历到的目录的目录属性。 在本专利技术实施例的另一实现方式中,所述根据获取的目录属性判断所述遍历到的目录是否为被重新映射的目录,包括:判断获取的目录属性中是否包含FILE_ATTRIBUTE_REPARSE_P0INT属性标志,如果包含,则所述遍历到的目录是被重新映射的目录;如果不包含,则所述遍历到的目录不是被重新映射的目录。 在本专利技术实施例的再一实现方式中,所述方法还包括:在确定所述遍历到的目录是被重新映射的目录之后,遍历到下一个目录,或,在完成对所述遍历到的目录的所述扫描处理之后,遍历到下一个目录。 相应地,本专利技术实施例还提供一种文件扫描装置,包括: 目录遍历单元,用于对目录进行遍历; 第一处理单元,用于针对所述目录遍历单元遍历到的目录进行第一处理,所述第一处理包括: 获取所述遍历到的目录的目录属性, 根据获取的目录属性判断所述遍历到的目录是否为被重新映射的目录,如果是,则不对所述遍历到的目录进行扫描处理;如果不是,则对所述遍历到的目录进行所述扫描处理,所述扫描处理包括: 对所述遍历到目录下的各个文件进行扫描获取扫描结果,和/或,调用第二处理单元对所述遍历到的目录下的各个子目录进行处理; 第二处理单元,用于对所述遍历到的目录下的各个子目录进行遍历,并且针对遍历到的子目录进行与所述第一处理相同的处理。 在本专利技术实施例的一种实现方式中,所述第一处理单元包括:目录属性获取模块,用于通过微软视窗操作系统应用程序接口获取所述遍历到的目录的目录属性。 在本专利技术实施例的另一种实现方式中,所述第一处理单元包括:判断模块,用于根据所述获取的目录属性中是否包含FILE_ATTRIBUTE_REPARSE_POINT属性标志判断所述遍历到的目录是否为被重新映射的目录,如果包含,则所述遍历到的目录是被重新映射的目录;如果不包含,则所述遍历到的目录不是被重新映射的目录。 在本专利技术实施例的再一种实现方式中,所述目录遍历单元还用于,在所述第一处理单元确定所述遍历到的目录是被重新映射的目录之后,或在所述第一处理单元完成对所述遍历到的目录的所述扫描处理之后,遍历到下一个目录。 采用本专利技术的各种实施例具有以下有益效果: 根据目录的目录属性确定当前遍历到的目录是否为被重新映射的目录,并且仅在判断为否的情况下对该目录下的文件进行扫描处理,从而使得在整个扫描过程中不会对存在重新映射关系的目录进行重复的扫描处理而只需扫描一份相同的文件,这有效地降低了扫描过程中的1开销和CPU开销,提高了文件扫描效率。 【专利附图】【附图说明】 图1是根据本专利技术实施例的一种文件扫描方法的流程示意图; 图2A是根据本专利技术实施例的一种文件扫描装置的方块图; 图2B是图2A所示文件扫描装置的第一处理单元的方块图。 【具体实施方式】 以下结合附图和【具体实施方式】对本专利技术的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本专利技术的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或步骤可以按各种不同配置进行组合和设计。 图1是根据本专利技术实施例的一种文件扫描方法的流程示意图,参照图1,所述方法包括: 100:在对目录的遍历过程中,针对遍历到的目录进行包括102?106的第一处理。 其中,目录是文件系统结构中标识文件归属点的指针,例如,微软视窗操作系统版本7的系统安装盘下的“Users”目录、“Users”目录下的“AU Users”目录等。 本专利技术实施例可以应用于将指定路径(例如,指定盘符、指定文件夹等)下的文件作为扫描对象的场景中。例如,当将系统安装盘下的文件作为扫描对象(即,针对系统安装盘进行文件扫描)时,对系统安装盘下的目录进行遍历,并且每遍历到一个目录就采用本专利技术实施例所提供的方法进行处理。 所谓的“遍历”即对待处理的对象依次进行一次访问。例如,将目录A、目录B和目录C作为待处理的对象,当遍历到目录A时,目录A即当前需要处理的对象;在处理完目录A之后继续进行遍历,当遍历到目录B时,目录B即当前需要处理的对象;依此类推。 102:获取所述遍历到的目录的目录属性。需要强调的是,本专利技术中提及的“目录属性”是指目录在文件系统中所对应的属性。 可选地,在本实施例的一种实现方式中,可以通过windows (微软视窗)操作系统应用程序接口 GetFileAttributes或GetFileAttributesEx等获取所述遍历到的目录的目录属性。其中,GetFileAttributes用于为一个指定的文件或目录返回其在文件系统中的属性,而GetFileAttributesEx则可以返回更多的属性。当然,获取目录属性的手段可以是现有的任何手段而不限于上述举例。 104:根据获取的目录属性判断所述遍历到本文档来自技高网...

【技术保护点】
一种文件扫描方法,其特征在于,所述方法包括:在对目录的遍历过程中,针对遍历到的目录进行第一处理,所述第一处理包括:获取所述遍历到的目录的目录属性,根据获取的目录属性判断所述遍历到的目录是否为被重新映射的目录,如果是,则不对所述遍历到的目录进行扫描处理;如果不是,则对所述遍历到的目录进行所述扫描处理,所述扫描处理包括:对所述遍历到目录下的各个文件进行扫描获取扫描结果,和/或,对所述遍历到的目录下的各个子目录进行第二处理;其中,对所述遍历到的目录下的各个子目录进行第二处理包括:遍历所述各个子目录,并且针对遍历到的子目录进行与所述第一处理相同的处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭明强张永成
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1