本发明专利技术实施例公开了一种文件扫描方法、文件扫描装置及文件检测系统,以解决再次扫描所需时间比较长的问题。所述一种文件扫描方法包括:获取待扫描文件的当前属性信息;访问本地缓存数据库,判断所述本地缓存数据库中是否存在所述待扫描文件的已扫描特征信息;若存在,则解析所述已扫描特征信息得到已扫描属性信息,并判断所述已扫描属性信息与所述当前属性信息是否一致;若一致,则读取所述已扫描特征信息作为所述待扫描文件的当前特征信息;若不一致,则通过所述当前属性信息计算所述待扫描文件的当前特征信息,并存入所述本地缓存数据库作为下次扫描的已扫描特征信息。本发明专利技术可以减少再次扫描时获取同一文件特征的时间,提高了文件扫描的速度。
【技术实现步骤摘要】
一种文件扫描方法、文件扫描装置及文件检测系统
本专利技术实施例涉及扫描
,具体涉及一种文件扫描方法、文件扫描装置及文件检测系统。
技术介绍
随着计算机的普及,服务端和用户端都需要对计算机内的文件进行扫描从而及时发现病毒等恶意软件。但是在进行扫描的时候,需要大量的CPU运算和磁盘操作,扫描过程漫长而且影响系统的速度。在这些扫描的文件中,有许多文件都是相同的,例如Windows的文件、帮助文件、压缩文件和很多软件的安装包文件等。目前现有技术中对上述具有相同特征的文件进行扫描时,第一次会全盘扫描计算机内所有的文件,并且会扫描文件的所有内容,因此对于包括内容比较多的文件,其扫描的时耗费的时间相当长,占用的资源也相当多,从而导致第一次扫描的时间非常长。而第一次扫描之后的再次扫描也需要重新获取这些特征,以至于扫描速度仍然很慢。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种文件扫描方法、文件扫描装置及文件检测系统和相应的文件检测系统。根据本专利技术的一个方面,提供了一种文件扫描方法,包括获取待扫描文件的当前属性信息;访问本地缓存数据库,判断本地缓存数据库中是否存在待扫描文件的已扫描特征信息;若存在,则解析已扫描特征信息得到已扫描属性信息,并判断已扫描属性信息与当前属性信息是否一致;若一致,则读取已扫描特征信息作为待扫描文件的当前特征信息;若不一致,则通过当前属性信息计算待扫描文件的当前特征信息,并存入本地缓存数据库作为下次扫描的已扫描特征信息。本专利技术实施例中,还包括若本地缓存数据库中不存在待扫描文件的已扫描特征信息,则通过当前属性信息计算待扫描文件的当前特征信息,并存入本地缓存数据库作为下次扫描的已扫描特征信息。本专利技术实施例中,还包括监控待扫描文件,当待扫描文件进行修改操作时,对本地缓存数据库中待扫描文件的已扫描特征信息设置无效标志。本专利技术实施例中,读取已扫描特征信息作为待扫描文件的当前特征信息之前,还包括判断待扫描文件的已扫描特征信息是否包含无效标志,若不包含无效标志,则读取已扫描特征信息作为待扫描文件的当前特征信息;若包含无效标志,则通过当前属性信息计算待扫描文件的当前特征信息,并存入本地缓存数据库作为下次扫描的已扫描特征信息。本专利技术实施例中,获取待扫描文件的当前属性信息包括读取待扫描文件的路径;根据待扫描文件的路径获取待扫描文件的当前属性信息。本专利技术实施例中,访问本地缓存数据库包括根据待扫描文件的路径生成键值,并依据键值访问本地缓存数据库;其中,本地缓存数据库以键值为访问索引。本专利技术实施例中,待扫描文件的当前属性信息包括文件的大小、文件的最后修改时间和文件的创建时间;待扫描文件的已扫描特征信息包括属性信息和特征值,特征值通过属性信息计算得到。根据本专利技术的另一方面,提供了一种文件扫描装置,包括属性获取模块,适于获取待扫描文件的当前属性信息;判断模块,适于访问本地缓存数据库,判断本地缓存数据库中是否存在待扫描文件的已扫描特征信息;若存在,则解析已扫描特征信息得到已扫描属性信息,并判断已扫描属性信息与当前属性信息是否一致;读取模块,适于当已扫描属性信息与当前属性信息一致时,读取已扫描特征信息作为待扫描文件的当前特征信息;计算模块,适于当已扫描属性信息与当前属性信息不一致时,通过当前属性信息计算待扫描文件的当前特征信息,并存入本地缓存数据库作为下次扫描的已扫描特征信肩、O本专利技术实施例中,计算模块还适于当本地缓存数据库中不存在待扫描文件的已扫描特征信息时,通过当前属性信息计算待扫描文件的当前特征信息,并存入本地缓存数据库作为下次扫描的已扫描特征信息。本专利技术实施例中,还包括监控模块,适于监控待扫描文件,当待扫描文件进行修改操作时,对本地缓存数据库中待扫描文件的已扫描特征信息设置无效标志。本专利技术实施例中,判断模块还适于读取已扫描特征信息作为待扫描文件的当前特征信息之前,判断待扫描文件的已扫描特征信息是否包含无效标志;读取模块还适于待扫描文件的已扫描特征信息不包含无效标志时,读取已扫描特征信息作为待扫描文件的当前特征信息;计算模块还适于待扫描文件的已扫描特征信息包含无效标志时,通过当前属性信息计算待扫描文件的当前特征信息,并存入本地缓存数据库作为下次扫描的已扫描特征信肩、O本专利技术实施例中,属性获取模块包括路径读取子模块,适于读取待扫描文件的路径;信息获取子模块,适于根据待扫描文件的路径获取待扫描文件的当前属性信息。本专利技术实施例中,待扫描文件的当前属性信息包括文件的大小、文件的最后修改时间和文件的创建时间;待扫描文件的已扫描特征信息包括属性信息和特征值,特征值通过属性信息计算得到。根据本专利技术的另一方面,提供了一种文件检测系统,包括主界面模块,适于对封装模块发起文件扫描操作,并指定待扫描文件;封装模块,适于调用扫描模块;扫描模块,适于扫描待扫描文件并调用数据库操作模块获取所述待扫描文件的特征信息;数据库操作模块,适于读取所述待扫描文件的特征信息。本专利技术实施例中,还包括驱动模块,适于监控所述待扫描文件,当所述待扫描文件进行修改操作时,将包含所述待扫描文件进行的修改操作的文件修改消息发送至所述消息服务模块;消息服务模块,适于接收所述驱动模块发送的文件修改消息,并将所述文件修改消息发送至所述数据库操作模块;所述数据库操作模块,还适于接收所述消息服务模块发送的文件修改消息,并依据所述文件修改消息对该文件对应的数据库文件设置无效标志。与现有技术相比,本专利技术包括以下优点首先,本专利技术实施例通过访问本地缓存数据库,判断所述本地缓存数据库中是否存在所述待扫描文件的已扫描特征信息,在本地缓存数据库中存在待扫描文件的已扫描特征信息且与当前属性信息一致时,直接读取缓存数据库中的已扫描特征信息作为所述待扫描文件的当前特征信息,而不需要再次通过当前属性信息计算当前特征信息,从而可以减少再次扫描时获取同一文件特征的时间,大大提高了文件扫描的速度,节约了系统资源。其次,本专利技术实施例即使本地缓存数据库中不存在待扫描文件的已扫描特征信息或者在本地缓存数据库中存在待扫描文件的已扫描特征信息且与当前属性信息不一致时, 在本次扫描的时候通过当前属性信息计算所述待扫描文件的当前特征信息,并存入所述本地缓存数据库作为下次扫描的已扫描特征信息,这样对该文件进行再次扫描的时候,就可以直接从缓存数据库中找到该文件的特征信息了,可以加速再次扫描的进度。最后,本专利技术实施例监控所述待扫描文件,当所述待扫描文件进行修改操作时,对所述本地缓存数据库中待扫描文件的已扫描特征信息设置无效标志。也就是说,一旦文件发生了修改操作,例如,写操作、或者属性进行了修改,就对本地缓存数据库中存储的待扫描文件的已扫描特征信息设置一个无效标志,代表该已扫描特征信息已经失效,下次进行扫描的时候,需要通过所述当前属性信息重新计算所述待扫描文件的当前特征信息,并存入所述本地缓存数据库作为下次扫描的已扫描特征信息。避免了文件内容发生变化而文件的大小相同,且文件的最后修改时间及文件的创建时间也改为相同的情况下,如果只判断已扫描属性信息与当前属性信息一致,就直接读取缓存数据库中的已扫描特征信息作为所述待扫描文件的当前特征信息的错误操作。上述说明仅是本专利技术技术方案本文档来自技高网...
【技术保护点】
一种文件扫描方法,包括:获取待扫描文件的当前属性信息;访问本地缓存数据库,判断所述本地缓存数据库中是否存在所述待扫描文件的已扫描特征信息;若存在,则解析所述已扫描特征信息得到已扫描属性信息,并判断所述已扫描属性信息与所述当前属性信息是否一致;若一致,则读取所述已扫描特征信息作为所述待扫描文件的当前特征信息;若不一致,则通过所述当前属性信息计算所述待扫描文件的当前特征信息,并存入所述本地缓存数据库作为下次扫描的已扫描特征信息。
【技术特征摘要】
【专利技术属性】
技术研发人员:刘智锋,孔庆龙,
申请(专利权)人:北京奇虎科技有限公司,奇智软件北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。