技术特征:
1.一种文件扫描方法,其特征在于,包括:接收针对目标存储设备的扫描请求,获取第一文件信息;所述第一文件信息包括所述目标存储设备存储的已扫描文件列表的第一目录信息,所述第一目录信息包括所述已扫描文件列表的每一个目录的第一修改时间戳;获取第二文件信息,所述第二文件信息包括所述目标存储设备存储的待扫描文件列表的第二目录信息,所述第二目录信息包括所述待扫描文件列表中的每一个目录的第二修改时间戳;将所述第一目录信息与所述第二目录信息进行比较,生成脏目录集合;所述脏目录集合中的脏目录为所述第一目录信息与所述第二目录信息中文件名相同且所述第一修改时间戳与所述第二修改时间戳不一致的目录或出现在所述第二目录信息且未出现在所述第一目录信息的目录。2.如权利要求1所述的方法,其特征在于,所述获取第一文件信息,包括:根据所述存储设备的通用唯一识别码(uuid)查找与所述uuid匹配的所述第一文件信息。3.如权利要求1所述的方法,其特征在于,所述生成脏目录集合,包括:在所述第一目录信息中不存在目录的情况下,将所述存储设备存储的待扫描文件列表的根目录添加到所述脏目录集合。4.如权利要求1所述的方法,其特征在于,所述将所述第一目录信息与所述第二目录信息进行比较之后,还包括:从第一目录信息中删除待删除目录,以及删除所述待删除目录对应的扫描结果;所述待删除目录为出现在所述第一目录信息且未出现在所述第二目录信息的目录。5.如权利要求1所述的方法,其特征在于,所述方法还包括:当所述脏目录集合为空集,结束对所述待扫描文件列表的文件扫描;当所述脏目录集合为非空集合,对所述脏目录集合中的脏目录进行文件扫描。6.如权利要求5所述的方法,其特征在于,所述对所述脏目录集合中的脏目录进行文件扫描,包括:将所述脏目录集合中的脏目录的所述第一修改时间戳与第二修改时间戳进行比较;将所述第一修改时间戳与所述第二修改时间戳一致的脏目录从所述脏目录集合中删除。7.如权利要求1所述的方法,其特征在于,所述方法还包括:记录所述脏目录的属性信息;所述属性信息包括所述脏目录的第二修改时间戳。8.如权利要求1所述的方法,其特征在于,所述方法还包括:遍历所述脏目录下的所有直接子文件;所述直接子文件包括所述脏目录下的子文件和子目录。9.如权利要求8所述的方法,其特征在于,所述方法还包括:获取第一子文件信息;所述第一子文件信息包括所述已扫描文件列表中所述脏目录的所述直接子文件的第一子修改时间戳;获取第二子文件信息;所述第二子文件信息包括所述待扫描文件列表中所述脏目录的所述直接子文件的第二修改时间戳;
将文件名相同的所述直接子文件的所述第一子文件信息与所述第二子文件信息进行比较,确定被改动的所述直接子文件。10.如权利要求9所述的方法,其特征在于,所述确定被改动的所述直接子文件,包括:确定所述直接子文件为被修改直接子文件;所述被修改直接子文件为所述第一子文件信息与所述第二子文件信息中文件名相同且第一子修改时间戳与所述第二子修改时间戳不一致的直接子文件;确定所述直接子文件为被删除直接子文件;所述被删除直接子文件为未出现在所述第二子文件信息中且出现在所述第一子文件信息中的直接子文件。11.如权利要求10所述方法,其特征在于,所述方法还包括:删除所述已扫描文件列表的扫描结果中所述被删除直接子文件的信息。12.如权利要求10所述方法,其特征在于,所述方法还包括:判断所述被修改直接子文件是否为目录;若否,则确定所述被修改直接子文件为被修改子文件,获取所述被修改子文件的文件属性,对所述被修改子文件进行文件解析并在所述已扫描文件列表的扫描结果中更新所述被修改子文件的扫描结果;若是,则确定所述被修改直接子文件为被修改子目录,获取所述被修改子目录的目录属性,将所述被修改子目录的所述第一子修改时间戳置为负数,并将所述被修改子目录的扫描结果插入所述已扫描文件列表的扫描结果。13.如权利要求12所述的方法,所述将所述被修改子目录的扫描结果插入所述已扫描文件列表的扫描结果,还包括:判断所述被修改子目录的扫描结果是否成功插入所述已扫描文件列表的扫描结果;在插入成功情况下,将所述被修改子目录添加到所述脏目录集合。14.如权利要求1-13任意一项所述的方法,其特征在于,所述方法还包括:确定遍历完所述脏目录的所有所述直接子文件;更新当前所述脏目录的扫描结果;所述当前脏目录的扫描结果包括所述脏目录的第一修改时间戳。15.如权利要求1所述的方法,其特征在于,所述方法还包括:将t3
-△
t时间段内的所有扫描结果中的目录的第一修改时间戳置为负数;所述t3为接收到所述存储设备卸载消息的时间;所述
△
t为预设的时间段。16.一种文件扫描装置,其特征在于,包括:接收模块,用于接收针对目标存储设备的扫描请求;第一获取模块,用于获取第一文件信息;所述第一文件信息包括所述目标存储设备存储的已扫描文件列表的第一目录信息,所述第一目录信息包括所述已扫描文件列表的每一个目录的第一修改时间戳;第二获取模块,用于获取第二文件信息,所述第二文件信息包括所述目标存储设备存储的待扫描文件列表的第二目录信息,所述第二目录信息包括所述待扫描文件列表中的每一个目录的第二修改时间戳;处理模块,用于将所述第一目录信息与所述第二目录信息进行比较,生成脏目录集合;所述脏目录集合中的脏目录为所述第一目录信息与所述第二目录信息中文件名相同且所
述第一修改时间戳与所述第二修改时间戳不一致的目录或出现在所述第二目录信息且未出现在所述第一目录信息的目录。17.如权利要求16所述的装置,其特征在于,所述第一获取模块,具体用于:根据所述存储设备的通用唯一识别码(uuid)查找与所述uuid匹配的所述第一文件信息。18.如权利要求16所述的装置,其特征在于,所述装置还包括:删除模块,用于所述将所述第一目录信息与所述第二目录信息进行比较之后,从第一目录信息中删除待删除目录,以及删除所述待删除目录对应的扫描结果;所述待删除目录为出现在所述第一目录信息且未出现在所述第二目录信息的目录。19.如权利要求16所述的装置,其特征在于,所述处理模块,具体用于:当所述脏目录集合为空集,结束对所述待扫描文件列表的文件扫描;当所述脏目录集合为非空集合,对所述脏目录集合中的脏目录进行文件扫描。20.如权利要求19所述的装置,其特征在于,所述处理模块和所述删除模块,具体用于:处理模块,用于将所述脏目录集合中的脏目录的所述第一修改时间戳与第二修改时间戳进行比较;删除模块,用于将所述第一修改时间戳与所述第二修改时间戳一致的脏目录从所述脏目录集合中删除。21.如权利要求16所述的装置,其特征在于,所述装置还包括:记录模块,用于记录所述脏目录的属性信息;所述属性信息包括所述脏目录的第二修改时间戳。22.如权利要求16所述的装置,其特征在于,所述处理模块,具体用于:遍历所述脏目录下的所有直接子文件;所述直接子文件包括所述脏目录下的子文件和子目录。23.如权利要求22所述的装置,其特征在于,所述第一获取模块、所述第二获取模块和所述处理模块,具体用于:第一获取模块,用于获取第一子文件信息;所述第一子文件信息包括所述已扫描文件列表中所述脏目录的所述直接子文件的第一子修改时间戳;第二获取模块,用于获取第二子文件信息;所述第二子文件信息包括所述待扫描文件列表中所述脏目录的所述直接子文件的第二修改时间戳;处理模块,用于将文件名相同的所述直接子文件的所述第一子文件信息与所述第二子文件信息进行比较,确定被改动的所述直接子文件。24.如权利要求23所述的装置,其特征在于,所述处理模块,具体用于:确定所述直接子文件为被修改直接子文件;所述被修改直接子文件为所述第一子文件信息与所述第二子文件信息中文件名相同且第一子修改时间戳与所述第二子修改时间戳不一致的直接子文件;确定所述直接子文件为被删除直接子文件;所述被删除直接子文件为未出现在所述第二子文件信息中且出现在所述第一子文件信息中的直接子文件。25.如权利要求24所述装置,其特征在于,所述处理模块,具体用于:判断所述被修改直接子文件是否为目录;
若否,则确定所述被修改直接子文件为被修改子文件,获取所述被修改子文件的文件属性,对所述被修改子文件进行文件解析并在所述已扫描文件列表的扫描结果中更新所述被修改子文件的扫描结果;若是,则确定所述被修改直接子文件为被修改子目录,获取所述被修改子目录的目录属性,将所述被修改子目录的所述第一子修改时间戳置为负数,并将所述被修改子目录的扫描结果插入所述已扫描文件列表的扫描结果。26.如权利要求25所述的装置,所述处理模块,具体用于:确定遍历完所述脏目录的所有所述直接子文件;更新当前所述脏目录的扫描结果;所述当前脏目录的扫描结果包括所述脏目录的第一修改时间戳。27.如权利要求26所述的装置,所述处理模块,具体用于:判断所述被修改子目录的扫描结果是否成功插入所述已扫描文件列表的扫描结果;在插入成功情况下,将所述被修改子目录添加到所述脏目录集合。28.如权利要求16-27任意一项所述的装置,所述处理模块,具体用于:确定遍历完所述脏目录的所有所述直接子文件;更新当前所述脏目录的扫描结果;所述当前脏目录的扫描结果包括所述脏目录的第一修改时间戳。29.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求1-14任意一项所述的方法。30.一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机执行时,使得所述计算机执行如权利要求1-14中任意一项所述的方法。
技术总结
本发明实施例公开了一种文件扫描方法及相关装置,该方法可包括:接收针对目标存储设备的扫描请求,获取第一文件信息;第一文件信息包括目标存储设备的已扫描文件列表的第一目录信息,该目录信息包括已扫描文件列表的每一个目录的第一修改时间戳;获取第二文件信息,第二文件信息包括目标存储设备的待扫描文件列表的第二目录信息,该目录信息包括待扫描文件列表中的每一个目录的第二修改时间戳;将第一目录信息与第二目录信息进行比较,生成脏目录集合;脏目录为第一修改时间戳与第二修改时间戳不一致或出现在第二目录信息且未出现在第一目录信息的目录。采用本发明实施例可提高当存储设备接入电子设备,电子设备进行文件扫描时的文件扫描效率。扫描时的文件扫描效率。扫描时的文件扫描效率。
技术研发人员:刘志远 马明刚
受保护的技术使用者:华为技术有限公司
技术研发日:2020.08.29
技术公布日:2022/2/28