著录项信息
专利名称 | 一种文件快速扫描方法和系统 |
申请号 | CN201210026760.0 | 申请日期 | 2012-02-07 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2012-07-25 | 公开/公告号 | CN102609515A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0;;;G;0;6;F;2;1;/;5;7查看分类表>
|
申请人 | 奇智软件(北京)有限公司 | 申请人地址 | 北京市西城区新街口外大街28号D座112室(德胜园区)
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 | 当前权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 |
发明人 | 邹贵强;付旻;周鸿祎 |
代理机构 | 北京润泽恒知识产权代理有限公司 | 代理人 | 苏培华 |
摘要
本申请提供了一种文件快速扫描方法和系统,涉及网络技术领域。本申请的方法包括:获取数据包;所述数据包包括用于确定系统中文件是否为安全文件的安全文件特征信息;逐个扫描系统中文件的文件特征信息,若当前扫描的文件特征信息与所述数据包中标示文件为安全文件的安全文件特征信息匹配时,则跳过对当前文件的杀毒扫描,继续扫描下一个文件。本申请通过利用包括用于确定系统中文件是否为安全文件的安全文件特征信息的数据包,新的用户在第一次扫描时,如果扫描到与所述数据包中特征信息相同的文件时就可以跳过其代表的时间长、并且安全的文件,可减少首次扫描的时间。
一种文件快速扫描方法和系统 \n技术领域\n[0001] 本申请涉及网络技术领域,特别是涉及一种文件快速扫描方法和系统。 背景技术\n[0002] 随着计算机的普及,用户端基本上都需要安装杀毒软件对计算机内的文件进行扫描。在杀毒软件进行扫描时,需要大量的CPU运算和磁盘操作,使得扫描过程漫长而且影响系统速度。而对于计算机里的文件,有很多文件都是相同的,比如Windows的文件,很多软件的安装包文件,帮助文件,压缩文件等。 \n[0003] 现有技术中,用户端的杀毒软件第一次扫描时会全盘扫描计算机内的所有文件,并且会扫描文件中的各种内容,如果对于包括内容比较大的文件,其扫描的时间耗费的相当多,从而导致第一次扫描的时间非常的长。比如对于压缩包,现有技术会按照正常的扫描流程将压缩包中的内容解压逐个进行扫描,以保证文件是安全的,这样对于一个压缩包来说,现有技术的扫描时间比较长,从而延长了整个扫描的时间,而对于用户来说,由于长时间的扫描而长时间占用的CPU运算和磁盘操作影响了系统的速度,从而影响的用户对计算机的使用。 \n发明内容\n[0004] 本申请所要解决的技术问题是提供一种文件快速扫描方法和系统,解决了新的用户端第一次扫描时间比较长的问题。 \n[0005] 为了解决上述问题,本申请公开了一种文件快速扫描方法,包括: [0006] 获取数据包;所述数据包包括用于确定系统中文件是否为安全文件的安全文件特征信息; \n[0007] 逐个扫描系统中文件的文件特征信息,若当前扫描的文件特征信息与所述数据包中标示文件为安全文件的安全文件特征信息匹配时,则跳过对当前文件的杀毒扫描,继续扫描下一个文件。 \n[0008] 其中,所述安全文件特征信息通过统计各用户端发送到处理中心服务器中的安全文件特征信息获得,包括: \n[0009] 接收各用户端发送的安全文件的特征信息;所述特征信息包括用户端完整扫描文件时,确定安全的文件的特征信息; \n[0010] 对于相同的特征信息,统计其重复次数; \n[0011] 提取重复次数大于或大于等于数量阈值的特征信息; \n[0012] 其中,在用户端完整扫描文件时: \n[0013] 当所述扫描的文件安全时,获取文件的特征信息,所述特征信息包括文件名、文件大小、文件修改时间和文件内容描述信息; \n[0014] 将文件名进行循环冗余码校验计算,得到文件名CRC值; \n[0015] 将文件内容描述信息进行消息摘要算法计算,得到内容匹配信息; [0016] 将包括文件大小、文件修改时间、文件名CRC值和内容匹配信息的特征信息进行发送。优选的,对于相同的特征信息,统计其重复次数: \n[0017] 将接收的特征信息按总重复次数进行排序; \n[0018] 对于各相同特征信息,将属于同一个用户端发送的相同特征消息进行消重运算; [0019] 针对消重后的各相同特征信息,统计各特征消息的重复次数。 [0020] 优选的,在提取重复次数大于或大于等于数量阈值的特征信息之后包括: [0021] 将所述提取出来的特征信息存入数据文件,并依据所述数据文件生成数据包。 [0022] 优选的,在所述数据包生成之前还包括: \n[0023] 接收用户端发送的不安全文件的特征信息,不将该特征信息存入数据文件或者将数据包中与该特征信息相同的特征信息进行删除。 \n[0024] 优选的,在生成上一个数据包后,当统计到新的安全文件的特征信息后,更新至上一个数据包。 \n[0025] 优选的,通过如下方法将所述文件的特征信息与所述数据包中的特征信息进行匹配: \n[0026] 在缓存中从匹配效率最高的特征信息开始进行匹配。 \n[0027] 优选的,当文件大小和文件修改时间与数据库中的一条特征信息匹配时,则将文件名进行所述循环冗余码校验计算,得到文件名CRC值,并将所述文件名CRC值与该条特征信息的文件名CRC值进行匹配; \n[0028] 当所述文件名CRC值与该条特征信息的文件名CRC值匹配时,则将文件内容描述信息进行所述消息摘要算法计算,得到内容匹配信息,并将所述内容匹配信息与该条特征信息的内容匹配信息进行匹配。 \n[0029] 优选的,当第一用户端进行第一次扫描时,提示第一用户端是否选择快速扫描,如果选择则扫描文件的特征信息,并调用所述数据包进行匹配。 \n[0030] 优选的,在第一用户端进行扫描时,将当次扫描结果中安全文件的特征信息存入所述数据包的安全文件信息列表;当第一用户端下一次进行扫描时根据上一次扫描后的记录进行扫描。 \n[0031] 相应的,本申请还公开了一种文件快速扫描系统,包括: \n[0032] 第一用户端,所述第一用户端包括: \n[0033] 获取模块,用于获取数据包;所述数据包包括用于确定系统中文件是否为安全文件的安全文件特征信息; \n[0034] 扫描匹配模块,用于逐个扫描系统中文件的文件特征信息,若当前扫描的文件特征信息与所述数据包中标示文件为安全文件的安全文件特征信息匹配时,则跳过对当前文件的杀毒扫描,继续扫描下一个文件; \n[0035] 其中,所述文件快速扫描系统还包括:第二用户端群和处理中心服务器;所述处理中心服务器用于统计所述第二用户端群的各用户端发送到处理中心服务器中的安全文件特征信息获得所述数据包中的特征信息;所述第二用户端群的各客户端用于发送安全文件的特征信息;所述的处理中心服务器包括: \n[0036] 特征信息模块,用于接收所述第二用户端群的各用户端发送的安全文件的特征信息;所述特征信息包括用户端完整扫描文件时,确定安全的文件的 特征信息; [0037] 统计模块,用于对于相同的特征信息,统计其重复次数; \n[0038] 提取模块,用于提取重复次数大于或大于等于数量阈值的特征信息; [0039] 其中,所述第二用户端群的各用户端包括: \n[0040] 特征信息获取单元,用于当扫描的文件安全时,获取文件的特征信息,所述特征信息包括文件名、文件大小、文件修改时间和文件内容描述信息; \n[0041] 文件名计算单元,用于将文件名进行循环冗余码校验计算,得到文件名CRC值; [0042] 内容描述信息计算单元,用于将文件内容描述信息进行消息摘要算法计算,得到内容匹配信息; \n[0043] 特征信息发送单元,用于将包括文件大小、文件修改时间、文件名CRC值和内容匹配信息的特征信息进行发送。 \n[0044] 优选的,所述统计模块包括:排序单元,用于将接收的特征信息按总重复次数进行排序; \n[0045] 消重单元,用于对于各相同特征信息,将属于同一个用户端发送的相同特征消息进行消重运算; \n[0046] 统计单元,用于针对消重后的各相同特征信息,统计各特征消息的重复次数。 [0047] 优选的,在提取模块之后还包括: \n[0048] 生成单元,用于将所述提取出来的特征信息存入数据文件,并依据所述数据文件生成数据包。 \n[0049] 优选的,在所述数据包生成之前还包括: \n[0050] 去除单元,用于接收用户端发送的不安全文件的特征信息,不将该特征信息存入数据文件或者将数据包中与该特征信息相同的特征信息进行删除。 \n[0051] 优选的,还包括: \n[0052] 更新模块,用于在生成上一个数据包后,当统计到新的安全文件的特征信息后,更新至上一个数据包。 \n[0053] 优选的,通过如下方法将所述文件的特征信息与所述数据包中的特征信 息进行匹配: \n[0054] 在缓存中从匹配效率最高的特征信息开始进行匹配。 \n[0055] 优选的,当文件大小和文件修改时间与数据库中的一条特征信息匹配时,则将文件名进行所述循环冗余码校验计算,得到文件名CRC值,并将所述文件名CRC值与该条特征信息的文件名CRC值进行匹配; \n[0056] 当所述文件名CRC值与该条特征信息的文件名CRC值匹配时,则将文件内容描述信息进行所述消息摘要算法计算,得到内容匹配信息,并将所述内容匹配信息与该条特征信息的内容匹配信息进行匹配。 \n[0057] 优选的,还包括: \n[0058] 提醒模块,用于当第一次扫描时,提示第一用户端是否选择快速扫描,如果选择则扫描文件的特征信息,并调用所述数据包进行匹配。 \n[0059] 优选的,还包括:更新记录模块,用于在第一用户端进行扫描时,将当次扫描结果中安全文件的特征信息存入所述数据包的安全文件信息列表;当第一用户端下一次进行扫描时根据上一次扫描后的安全记录结果进行扫描。与现有技术相比,本申请包括以下优点: \n[0060] 本申请通过利用包括用于确定系统中文件是否为安全文件的安全文件特征信息的数据包,新的用户在第一次扫描时,如果扫描到与所述数据包中特征信息相同的文件时就可以跳过其代表的时间长、并且安全的文件,可减少首次扫描的时间。 [0061] 附图说明\n[0062] 图1是本申请一种文件快速扫描方法的流程示意图; \n[0063] 图2是本申请优选的一种数据包生成方法的流程示意图; \n[0064] 图3是一种压缩包头部数据的示例; \n[0065] 图4是本申请一种文件快速扫描系统的结构示意图; \n[0066] 图5是本申请优选的一种文件快速扫描系统的结构示意图。 \n具体实施方式\n[0067] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。 \n[0068] 在实际中,对于处于一定数量级(比如105)以上的用户端来说,如果在该数量级以上的用户端都对具有同样的特征(比如包括文件名、文件大小、文件修改时间、文件内容描述信息、内容信息等)的文件进行扫描时,如果该种文件是安全的,那么其他用户在使用具有同样特征的文件基本上也是安全的。本申请即根据该种特性统计巨量用户对完整扫描耗时比较长,并且安全的文件的特信息,然后基于所述特征信息生成待匹配的数据包(升级补丁等),用户在使用所述数据包后,可扫描文件的特征信息与所述数据包中的特征信息进行匹配,如果匹配上,那么即可跳过这些正常扫描时间比较长的文件,从而可达到节省扫描时间的目的。 \n[0069] 参照图1,其示出了本申请一种文件快速扫描方法的流程示意图,包括: [0070] 步骤110,获取数据包;所述数据包包括用于确定系统中文件是否为安全文件的安全文件特征信息。 \n[0071] 新的用户端首先获取包括安全特征信息的数据包,然后新的用户端则可根据该数据包进行扫描,以节省第一次扫描的时间。其中新的用户端在本申请中采用第一用户端进行描述,所述第一用户端主要包括未安装杀毒软件的用户端和安装过杀毒软件但未进行过全盘文件扫描的用户端,还可以包括安装过杀毒软件并且进行过全盘文件扫描的用户端,但在最近一次进行全盘文件扫描后用户端中出现了新的未扫描过的文件的用户端。 [0072] 第一用户端可通过安装存入所述数据包的安装包,或者将已安装的杀毒软件升级获取所述的数据包。在实际中,第一用户端可能完全没有进行过扫描,也可能在使用过程中可能会获取到很多新的文件,而这些文件用户端也可能没有进行完整扫描,当该用户端想进行快速扫描时,则可通过本申请的 数据包进行。 \n[0073] 其中,所述数据包中的确定系统中文件为安全文件的特征信息可通过统计各用户端的完整扫描结果获得。比如,对于多个用户进行完整扫描的结果,对于在各用户端中具有相同特征信息(比如文件大小、文件修改时间、文件名CRC值和内容匹配信息等特征信息)的文件,如果各用户端对该文件的扫描结果均安全,那么即可将该特征信息存入所述数据包,用于确定系统中具有该特征信息的文件为安全文件。 \n[0074] 优选的,所述特征信息通过统计各用户端发送到处理中心服务器中的安全文件特征信息获得。即对于各用户端进行完整扫描得到的确认安全的文件的特征信息,处理中心服务器自动对其进行统计和分析,可将大于一定数量阈值的特征信息生成相应的数据包。\n在本申请中,首先需要生成数据包,参照图2,示出了本申请优选的一种数据包生成方法的流程示意图,包括: \n[0075] 步骤210,接收各用户端发送的安全文件的特征信息;所述特征信息包括用户端完整扫描文件时,确定安全的文件的特征信息。 \n[0076] 在实际中,存在第二用户端群,其中包括了大量用户端,这些用户端都都可将对自己系统中的文件进行完整扫描后的符合条件的特征信息发送至处理中心服务器中。即当第二用户端群的各用户端选择完整扫描其计算机中的文件时,会将扫描耗时大于或大于等于一定时间阈值的安全文件的特征信息发送到处理中心服务器。 \n[0077] 在实际中,本申请通过对巨量的用户端扫描正常的扫描耗时较长的文件的特征信息进行统计,然后基于大于或大于等于阈值的对应文件的特征信息生成待匹配的数据包,然后新的用户在第一次扫描时,如果扫描到与所述数据包中特征信息相同的文件时就可以跳过其代表的时间长、并且安全的文件,可减少首次扫描的时间。 \n[0078] 优选的,在用户端完整扫描文件时: \n[0079] 所述的完整扫描为用户端系统中各文件的全部内容进行杀毒扫描。 [0080] 步骤S11,当所述扫描的文件安全时,获取文件的特征信息,所述特征信息包括文件名、文件大小、文件修改时间和文件内容描述信息。 \n[0081] 用户端选择完整扫描文件时,扫描引擎逐个扫描用户端计算机中的各个文件,对于很多文件,比如对于压缩包,扫描引擎需要按照压缩包的要求在引擎中先解压,再对压缩包中的包括的各个文件进行杀毒扫描,一般情况下,这种扫描方式需要的时间相当的多;又比如对于软件的安装包,扫描引擎也需要将安装包中的信息解压出来再进行扫描,同样需要耗费相当多的时间。那么当用户端扫描整个文件花费的时间大于或者大于等于阈值时,则可获取当前文件的特征信息所述特征信息包括文件名、文件大小、文件修改时间和文件内容描述信息,所述特征信息包括文件名、文件大小、文件修改时间和文件内容描述信息。 [0082] 当所述扫描时间大于或大于等于时间阈值并安全时,获取文件的特征信息,所述特征信息包括文件名、文件大小、文件修改时间和文件内容描述信息。其中,计算用户端对于一个文件的扫描时间时,可根据开始扫描文件时和结束扫描文件时的时间点,调用系统API函数GetTickCount计算从开始扫描文件和结束扫描文件时的扫描时间。比如开始扫描文件时间点为,2012年1月17日星期二21时50分30秒和00毫秒,结束扫描文件时时间点为2012年1月17日星期二21时51分30秒和00毫秒,那么用户端对于当前文件的扫描时间即为1分钟。如果设置时间阈值为30秒,那么对于该文件来说,用户端即获取该文件的特征信息,包括文件名、文件大小、文件修改时间和文件内容描述信息。 [0083] 其中文件内容描述信息只占整个文件的很小一部分,当用户端扫描文件内容描述信息部分时,所耗费时间远远小于扫描整个文件的时间。比如对于压缩文件,其文件内容描述信息在压缩包头部数据中,扫描时可根据头部数据告知的当前文件内容描述信息占用的字节数,用户端只需要扫描当前文件头部数据所在字节地址空间即可,参照图3,其为一种压缩包的头部数据示例,在压缩包的头部数据中描述了压缩包内的文件信息(文件名、大小、数据校验值等),只要这些关键数据没有变化,就说明压缩包内容没有变化。又比如对于软件的安装包,内容描述信息在安装包的尾部数据中,扫描时可根据文件告知的尾部数据占用的字节数,扫描相应字节地址空间即可。 \n[0084] 步骤S12,将文件名进行循环冗余码校验计算,得到文件名CRC值。 [0085] 由于文件名涉及用户的隐私,本申请将文件名作一个循环冗余码校验(CRC,Cyclical Redundancy Check)计算,得到一个无可读性的文件名CRC值。 [0086] 步骤S13,将文件内容描述信息进行消息摘要算法计算,得到内容匹配信息。 [0087] 对于文件内容描述信息,相对整个文件来说,文件内容描述信息虽然很小,但是如果以文件内容描述信息本身去进行匹配,则可能由于文件内容描述信息庞大而导致时间相对较多,本申请则将文件内容描述信息进行消息摘要算法(Message-Digest Algorithm)计算,得到内容匹配信息,一般本申请进行MD5(Message-Digest Algorithm 5,消息摘要算法第五版)计算,得到的内容匹配信息为MD5值,通过MD5值进行匹配时能大大减少匹配时间,保证快速的对比匹配,同时也保证了文件的安全性。 \n[0088] 步骤S14,将包括文件大小、文件修改时间、文件名CRC值和内容匹配信息的特征信息进行发送。 \n[0089] 在得到上述的包括文件大小、文件修改时间、文件名CRC值和内容匹配信息的特征信息之后,即可将所述特征信息发送至处理中心服务器,等待处理中心服务器处理。 [0090] 本申请的应用环境包括了提供杀毒软件相关安装包,升级包等数据的处理中心服务器,大量的通过网络语处理中心服务器连接的用户端,因此对于在线用户对文件进行的完整扫描工作,均可进行上述步骤。 \n[0091] 步骤220,对于相同的特征信息,统计其重复次数。 \n[0092] 在本步骤中,处理中心服务器会对收到的数据进行去重运算,即将相同客户端发送的多个具有相同特征信息的数据去重,使其次数为1. \n[0093] 优选的,对于相同的特征信息,统计其重复次数: \n[0094] S21,将接收的特征信息按总重复次数进行排序。 \n[0095] 首先将接收到的特征信息按总重复次数进行排序,比如对于对应某些用户端文件的特征信息(m,100kb,2012/1/11/21:50:30:10,n)其中m为文件名 CRC值,n为文件内容描述信息的内容匹配信息即MD5值,相应的每条特征信息对应一个发送该信息的用户端,比如以对用户端A,其发送到处理中心服务器的信息可以A-(m,100kb,\n2012/1/11/21:50:30:10,n)的形式表明。将处理中心服务器接收到的所有条具有相同(A,\n100kb,2012/1/11/21:50:30:10,B)统计其重复总次数,然后根据统计总次数进行排序。在该次统计排序的过程中,能方便的找出相同用户端发送的具有相同特征信息的数据。 [0096] S22,对于各相同特征信息,将属于同一个用户端发送的相同特征消息进行消重运算。 \n[0097] 对于同一个客户端发送的多个具有相同特征信息的数据,比如客户端A发送特征信息为(m,100kb,2012/1/11/21:50:30:10,n)有10条,那么将其去重,使处理中心将该用户端重复发送的(m,100kb,2012/1/11/21:50:30:10,n)特征信息记为1次。如此可以保证对于某个特征信息进行统计时用户数量的准确性,保证本申请的有效性。 [0098] S23,针对消重后的各相同特征信息,统计各特征消息的重复次数。 [0099] 再去重后,可统计各特征消息的重复次数,该次数与扫描得到该特征信息的用户端数量一致。 \n[0100] 本申请还可通过其他方法进行消重运算,统计各个文件特征信息的重复次数,对此本申请不对其加以限制。 \n[0101] 步骤230,提取重复次数大于或大于等于数量阈值的特征信息。 [0102] 在得到特征信息的重复次数以后,将重复次数与数量阈值进行比较,如果所述重复次数大于阈值,则将其存入数据文件。比如对于前述(m,100kb,2012/1/11/21:50:30:10,n)特征信息的重复次数为15万,而阈值设置为10万,那么可将该特征信息数据提取。 [0103] 步骤240,将所述提取出来的特征信息存入数据文件,并依据所述数据文件生成数据包。 \n[0104] 在本申请中数据文件可以中的数据可以列表的形式存在,每条特征信息包括多个维度,比如对于(m,100kb,2012/1/11/21:50:30:10,n),则列表中该 条特征信息包括四个维度,分别为文件大小、文件修改时间、文件名CRC值和内容匹配信息。然后在后续扫描匹配时以此四个维度进行匹配。 \n[0105] 对于生成的数据文件,可以打包到杀毒软件的安装包,也可以生成升级补丁的形式。 \n[0106] 另外,在所述数据包生成之前还包括: \n[0107] 步骤S210,接收用户端发送的不安全文件的特征信息,不将该特征信息存入数据文件或者将数据包中与该特征信息相同的特征信息进行删除。 \n[0108] 用户端对于完整扫描时间大于阈值的出现了病毒的文件,也会将该不安全文件的特征信息标记为不安全,再发送至处理中心服务器中,处理中心服务器对于具有该特征信息的所有条数据可均不进行处理,也不存入数据文件。比如有5万个用户端发送了前述(m,100kb,2012/1/11/21:50:30:10,n)特征信息的数据,但其中一个用户端发送的该特征信息的数据标识为不安全,即发现病毒,则处理中心服务器则可不对具有(m,100kb,2012/1/11/21:50:30:10,n)特征信息的数据进行处理,不将包括(m,100kb,\n2012/1/11/21:50:30:10,n)的特征信息存入数据包中。 \n[0109] 另外,在实际中,处理中心服务器在对各用户端发送的特征信息进行统计时,一般以一定时间长度为周期进行统计,并在对该周期的统计结果生成安全文件的特性信息的数据包。比如处理中心服务器以天为时间单位对各用户端发送的特征信息数据进行统计,然后生成数据包,可提供给下一周期的第一用户端使用。 \n[0110] 步骤120,逐个扫描系统中文件的文件特征信息,若当前扫描的文件特征信息与所述数据包中标示文件为安全文件的安全文件特征信息匹配时,则跳过对当前文件的杀毒扫描,继续扫描下一个文件。 \n[0111] 比如对文件内容中包括的恶意代码或者病毒等进行杀毒扫描。 [0112] 在获取到所述数据后,则可进行快速扫描: \n[0113] 步骤S121,第一用户端的系统逐个扫描系统中文件的特征信息; [0114] 步骤S122,将当前扫描的文件特征信息与所述数据包中标示文件为安全文件的安全文件特征信息进行匹配;若匹配时,则转入步骤S123,跳过 当前的文件,继续扫描下一个文件;若不匹配时,则转入步骤S124,对当前文件进行完整的杀毒扫描,即扫描当前文件的所有内容。 \n[0115] 在实际中,在第一用户端进行扫描之前还包括:确认是否选择快速扫描,如果是,则扫描文件的特征信息,并调用所述数据包进行匹配。 \n[0116] 即第一用户端可以选择进行快速扫描或者是对文件的完整扫描,如果选择快速扫描,则可扫描文件的特征信息,并调用所述数据包进行匹配进行特征信息的匹配。当所述文件的特征信息与所述数据包中的特征信息匹配时,则跳过当前文件,继续扫描下一个文件。 [0117] 在本申请中,当第一次扫描时,可提示第一用户端是否选择快速扫描,如果选择则扫描文件的特征信息,并调用所述数据包进行匹配。 \n[0118] 如果第一用户端选择进行快速扫描,那么第一用户端在扫描时则首先获取第一用户端文件的特征信息进行匹配,而不用扫描文件的全部内容。 \n[0119] 在第一用户端将所述文件的特征信息与所述数据包中的特征信息进行匹配时: [0120] 在缓存中从匹配效率最高的特征信息开始进行匹配。 \n[0121] 由于数据包中特征信息是多维的,在判定是否匹配时,可以从效率最高的数据开始比较,比如不需要进行而外计算的维度,例如文件大小和文件修改时间,因为文件大小和修改时间是在遍历文件时即可获得的系统数据,不需要额外的运算,那么如此操作可以提高预置缓存的比较匹配的效率。 \n[0122] 优选的,在匹配时: \n[0123] 步骤S31,当文件大小和文件修改时间与数据库中的一条特征信息匹配时,则将文件名进行所述循环冗余码校验计算,得到文件名CRC值,并将所述文件名CRC值与该条特征信息的文件名CRC值进行匹配。其中,文件名的CRC运算是内存操作,数据量很小。 [0124] 在匹配时,首先从匹配效率较高的维度进行匹配,对于数据包中一条特征信息维度中,文件大小和文件修改时间不需要进行额外计算,可直接进行匹配,那么当用户端扫描时,对于获取到的特征信息的文件大小和文件修改时间,比如可首先比较文件大小,在比较文件修改时间。若当前扫描的文件 的文件大小和文件修改时间相同时,则比较计算量相对较小的维度,比如通过CRC运算计算文件名CRC值,然后将所述文件名CRC值与该条特征信息的文件名CRC值进行匹配,如果未匹配上,则进入完整扫描,如果匹配上,则进入计算量相对较多的维度进行匹配,比如转入步骤S32。 \n[0125] 步骤S32,当所述文件名CRC值与该条特征信息的文件名CRC值匹配时,则将文件内容描述信息进行所述消息摘要算法计算,得到内容匹配信息,并将所述内容匹配信息与该条特征信息的内容匹配信息进行匹配。 \n[0126] 当文件大小,文件修改时间和文件名CRC值都匹配上时,则将文件内容描述信息进行消息摘要算法计算,一般是进行MD5计算,得到文件内容匹配信息,则将所述内容匹配信息与该条特征信息的内容匹配信息进行匹配,当匹配上,则跳过当前的文件,转入扫描下一个文件。 \n[0127] 在本申请中,匹配时,如果对于特征信息中,有一个维度未匹配上,即表示该文件未匹配上,即可将该文件进行杀毒扫描。比如前述的特征信息的四个维度:文件大小,文件修改时间,文件名CRC值和内容匹配信息,该四个维度的匹配顺序为:1、文件大小,2、文件修改时间,3、文件名CRC值4、内容匹配信息;那么如果一个将文件A的文件大小与数据包中的特征信息的第一维度,即文件大小进行匹配时未匹配上时,可不用进行2、3和4维度的匹配,即可文件A需要进行杀毒扫描;如果文件A的文件大小匹配上,再将文件A的文件修改时间与数据包中的该条特征信息的第2维度,即文件修改时间进行匹配时未匹配上,那么可不用进行3和4维度的匹配,即可将文件A进行杀毒扫描。其他情况可以依此类推。 [0128] 另外,在每次扫描时,优选的,在第一用户端进行扫描时,将当次扫描结果中安全文件的特征信息存入所述数据包的安全文件信息列表;当第一用户端下一次进行扫描时根据上一次扫描后的记录进行扫描。 \n[0129] 在第一用户端结合当前的数据包进行扫描时,对于特征信息未包含在数据包中的文件,如果当次检测安全,则可将其该安全文件的特征信息存入数据包的安全文件信息列表中,当第一用户端进行下一次扫描时,可根据上一次的扫描结果更为快速的进行扫描。另外,当用户端对各文件进行完整扫描 时,如果检测到某个文件不安全,但该文件的特征信息又在数据包中,则可将其从数据包中的安全文件信息列表中删除。 \n[0130] 相应的,参照图4,本申请还公开了一种文件快速扫描系统的结构示意图,包括: [0131] 第一用户端410,所述第一用户端包括: \n[0132] 获取模块S411,用于获取数据包;所述数据包包括用于确定系统中文件是否为安全文件的安全文件特征信息; \n[0133] 扫描匹配模块S412,用于逐个扫描系统中文件的文件特征信息,若当前扫描的文件特征信息与所述数据包中标示文件为安全文件的安全文件特征信息匹配时,则跳过对当前文件的杀毒扫描,继续扫描下一个文件。 \n[0134] 参照图5,其示出了本申请优选的一种文件快速扫描系统的结构示意图,包括: [0135] 第一用户端510,第二用户端群520和处理中心服务器530; \n[0136] 所述第一用户端包括510: \n[0137] 获取模块S511,用于获取数据包;所述数据包包括用于确定系统中文件是否为安全文件的安全文件特征信息; \n[0138] 扫描匹配模块S512,用于逐个扫描系统中文件的文件特征信息,若当前扫描的文件特征信息与所述数据包中标示文件为安全文件的安全文件特征信息匹配时,则跳过对当前文件的杀毒扫描,继续扫描下一个文件; \n[0139] 所述处理中心服务器530用于统计各用户端发送到处理中心服务器中的安全文件特征信息获得所述数据包中的特征信息; \n[0140] 所述第二用户端群520用于发送的安全文件的特征信息。 \n[0141] 优选的,所述的处理中心服务器包括: \n[0142] 特征信息模块,用于接收各用户端发送的安全文件的特征信息;所述特征信息包括用户端完整扫描文件时,确定安全的文件的特征信息; \n[0143] 统计模块,用于对于相同的特征信息,统计其重复次数; \n[0144] 提取模块,用于提取重复次数大于或大于等于数量阈值的特征信息。 [0145] 优选的,所述第二用户端群的各用户端包括: \n[0146] 特征信息获取单元,用于当扫描的文件安全时,获取文件的特征信息,所述特征信息包括文件名、文件大小、文件修改时间和文件内容描述信息; \n[0147] 文件名计算单元,用于将文件名进行循环冗余码校验计算,得到文件名CRC值; [0148] 内容描述信息计算单元,用于将文件内容描述信息进行消息摘要算法计算,得到内容匹配信息; \n[0149] 特征信息发送单元,用于将包括文件大小、文件修改时间、文件名CRC值和内容匹配信息的特征信息进行发送。 \n[0150] 优选的,所述统计模块包括:排序单元,用于将接收的特征信息按总重 [0151] 复次数进行排序; \n[0152] 消重单元,用于对于各相同特征信息,将属于同一个用户端发送的相同特征消息进行消重运算; \n[0153] 统计单元,用于针对消重后的各相同特征信息,统计各特征消息的重复次数。 [0154] 优选的,在用户端完整扫描文件时: \n[0155] 根据开始扫描文件时和结束扫描文件时的时间点,调用系统API函数GetTickCount计算从开始扫描文件和结束扫描文件时的扫描时间。 \n[0156] 优选的,在提取模块之后还包括: \n[0157] 生成单元,用于将所述提取出来的特征信息存入数据文件,并依据所述数据文件生成数据包。 \n[0158] 优选的,在所述数据包生成之前还包括: \n[0159] 去除单元,用于接收用户端发送的不安全文件的特征信息,不将该特征信息存入数据文件或者将数据包中与该特征信息相同的特征信息进行删除。 \n[0160] 优选的,通过如下方法将所述文件的特征信息与所述数据包中的特征信息进行匹配: \n[0161] 在缓存中从匹配效率最高的特征信息开始进行匹配。 \n[0162] 优选的,当文件大小和文件修改时间与数据库中的一条特征信息匹配时,则将文件名进行所述循环冗余码校验计算,得到文件名CRC值,并将 所述文件名CRC值与该条特征信息的文件名CRC值进行匹配; \n[0163] 当所述文件名CRC值与该条特征信息的文件名CRC值匹配时,则将文件内容描述信息进行所述消息摘要算法计算,得到内容匹配信息,并将所述内容匹配信息与该条特征信息的内容匹配信息进行匹配。 \n[0164] 优选的,还包括: \n[0165] 提醒模块,用于当第一次扫描时,提示第一用户端是否选择快速扫描,如果选择则扫描文件的特征信息,并调用所述数据包进行匹配。 \n[0166] 优选的,还包括:更新记录模块,用于在第一用户端进行扫描时,将当次扫描结果中安全文件的特征信息存入所述数据包的安全文件信息列表;当第一用户端下一次进行扫描时根据上一次扫描后的安全记录结果进行扫描。 \n[0167] 对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。 \n[0168] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。 [0169] 以上对本申请所提供的一种文件快速扫描方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
法律信息
- 2022-04-08
专利权人的姓名或者名称、地址的变更
专利权人由北京奇虎科技有限公司变更为北京奇虎科技有限公司
地址由100088 北京市西城区新街口外大街28号D座112室(德胜园区)变更为100088 北京市西城区新街口外大街28号D座112室(德胜园区)
专利权人由奇智软件(北京)有限公司 变更为北京奇智商务咨询有限公司
- 2022-04-08
专利权的转移
登记生效日: 2022.03.29
专利权人由北京奇虎科技有限公司变更为三六零数字安全科技集团有限公司
地址由100088 北京市西城区新街口外大街28号D座112室(德胜园区)变更为100016 北京市朝阳区酒仙桥路甲10号3号楼15层17层1773
专利权人由北京奇智商务咨询有限公司 变更为空
- 2014-07-09
著录事项变更
发明人由邹贵强 付旻变更为周鸿祎 邹贵强 付旻
- 2013-10-16
- 2012-11-28
专利申请权的转移
登记生效日: 2012.10.25
申请人由奇智软件(北京)有限公司变更为北京奇虎科技有限公司
地址由100016 北京市朝阳区酒仙桥路14号兆维大厦4层东侧单元变更为100088 北京市西城区新街口外大街28号D座112室(德胜园区)
申请人变更为奇智软件(北京)有限公司
- 2012-09-26
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201210026760.0
申请日: 2012.02.07
- 2012-07-25
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-03-30
|
2010-12-12
| | |
2
| |
2008-11-19
|
2008-06-30
| | |
3
| |
2011-10-19
|
2011-06-03
| | |
4
| |
2010-02-03
|
2008-07-31
| | |
5
| |
2007-05-16
|
2006-12-04
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |