CN113468119A - 一种文件扫描方法和装置 - Google Patents
一种文件扫描方法和装置 Download PDFInfo
- Publication number
- CN113468119A CN113468119A CN202110605340.7A CN202110605340A CN113468119A CN 113468119 A CN113468119 A CN 113468119A CN 202110605340 A CN202110605340 A CN 202110605340A CN 113468119 A CN113468119 A CN 113468119A
- Authority
- CN
- China
- Prior art keywords
- file
- breakpoint
- scanned
- scanning
- absolute path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Abstract
在本发明实施例公开了一种文件扫描方法和装置,应用于文件存储系统,该文件存储系统包括断点缓存消息队列,该方法包括:接收文件扫描请求;获取文件扫描请求中待扫描文件的唯一标识号和待扫描文件绝对路径信息;若在断点缓存消息队列中获取断点扫描信息成功,则获取断点扫描信息中的断点文件绝对路径信息;将断点文件绝对路径信息与待扫描文件的绝对路径信息进行递归匹配;若匹配成功,则将匹配成功的所述断点文件绝对路径信息作为扫描起点继续扫描;若待扫描文件扫描成功,则根据唯一标识号将待扫描文件的绝对路径信息存储至断点缓存消息队列中,作为更新的断点文件绝对路径信息。实现了快速定位文件上次扫描断点,提高文件扫描效率目的。
Description
技术领域
本发明涉及数据存储领域,尤其涉及一种文件扫描方法和装置。
背景技术
目前,在数据防泄漏扫描系统中指定目录的定时增量扫描时,如果出现暂停扫描后续扫的问题,往往系统对于该目录及子目录下的文件会出现重复扫描已完成扫描的问题,在文件存储路径较深,文件存储量大的实际情况下,在断扫后无法高效率找到上次扫描的节点,从而导致扫描文件效率低下的问题。
发明内容
有鉴于上述问题,本发明实施例提出一种文件扫描方法和装置,以解决现有技术中在数据防泄漏扫描系统中指定目录的定时增量扫描时,断扫后无法高效率找到上次扫描的节点,从而导致扫描文件效率低下的问题。
本发明公开了一种数据存储方法,所述文件存储系统包括断点缓存消息队列,其特征在于,所述方法包括:
接收文件扫描请求;
获取所述文件扫描请求中待扫描文件的唯一标识号和待扫描文件绝对路径信息;
若在所述断点缓存消息队列中获取断点扫描信息成功,则获取所述断点扫描信息中断点扫描文件的断点文件绝对路径信息;
将所述断点文件绝对路径信息与所述待扫描文件的绝对路径信息进行逐级递归匹配;
若所述断点文件绝对路径信息与所述待扫描文件的绝对路径匹配成功,则将匹配成功的所述断点文件绝对路径信息作为扫描起点继续扫描所述待扫描文件;
若所述待扫描文件扫描成功,则根据所述唯一标识号将所述待扫描文件的绝对路径信息存储至所述断点缓存消息队列中,作为更新的断点文件绝对路径信息。
可选的,所述将所述断点文件绝对路径信息与所述待扫描文件的绝对路径信息进行逐级递归匹配,包括:
递归扫描所述断点文件绝对路径信息,获取所述断点文件绝对路径信息中各级别目录下的各级第一目录名称;
递归扫描所述待扫描文件绝对路径信息,获取所述待扫描文件绝对路径信息中各级别目录下的各级第二目录名称;
将所述各级第一目录名称与所述各级第二目录名称进行递归匹配。
可选的,所述若所述断点文件绝对路径信息与所述待扫描文件的绝对路径匹配成功,则将匹配成功的所述断点文件绝对路径信息作为扫描起点继续扫描所述待扫描文件,包括:
若所述各级第一目录名称与所述各级第二目录名称进行逐级递归匹配成功,则获取所述匹配成功的第一目录名称,作为扫描起点继续扫描所述待扫描文件。
可选的,所述若所述各级第一目录名称与所述各级第二目录名称进行逐级递归匹配成功,则将匹配成功的所述断点文件绝对路径信息作为扫描起点继续扫描所述待扫描文件,包括:
将第一级的第一目录名称至最后一级的第一目录名称,与第一级的第二目录名称至最后一级的第二目录名称进行逐一匹配;
若任一级别的所述第一目录所述第二目录匹配成功,则获取所述匹配成功的第一目录名称,作为扫描起点继续扫描所述待扫描文件。
可选的,还包括:
若最后一级的的第一目录名称与所述第二目录名称匹配成功,则获取断点文件名称和待扫描文件名称;
将所述断点文件名称和所述待扫描文件名称进行匹配;
若所述断点文件名称和所述待扫描文件名称匹配成功,则所述待扫描文件为所述断点文件,否则,在所述第一目录名称的文件夹下继续扫描所述待扫描文件。
可选的,所述若在所述断点缓存消息队列中获取断点扫描信息成功,则获取所述断点扫描信息中断点扫描文件的断点文件绝对路径信息之后,还包括:
若在所述断点缓存消息队列中获取断点扫描信息失败,则根据所述待扫描文件绝对路径信息,逐级扫描所述待扫描文件。
本发明另一方面在于提供一种文件扫描装置,所述装置包括:
应用于文件存储系统,所述文件存储系统包括断点缓存消息队列,其特征在于,所述装置包括:
请求接收模块,用于接收文件扫描请求;
信息获取模块,用于获取所述文件扫描请求中待扫描文件的唯一标识号和待扫描文件绝对路径信息;
断点文件绝对路径信息获取模块,用于若在所述断点缓存消息队列中获取断点扫描信息成功,则获取所述断点扫描信息中断点扫描文件的断点文件绝对路径信息;
匹配模块,用于将所述断点文件绝对路径信息与所述待扫描文件的绝对路径信息进行逐级递归匹配;
续扫模块,用于若所述断点文件绝对路径信息与所述待扫描文件的绝对路径匹配成功,则将匹配成功的所述断点文件绝对路径信息作为扫描起点继续扫描所述待扫描文件;
断点更新模块,用于若所述待扫描文件扫描成功,则根据所述唯一标识号将所述待扫描文件的绝对路径信息存储至所述断点缓存消息队列中,作为更新的断点文件绝对路径信息。
可选的,所述匹配模块,包括:
第一目录名称获取子模块,用于递归扫描所述断点文件绝对路径信息,获取所述断点文件绝对路径信息中各级别目录下的各级第一目录名称;
第二目录名称获取子模块,用于递归扫描所述待扫描文件绝对路径信息,获取所述待扫描文件绝对路径信息中各级别目录下的各级第二目录名称;
匹配子模块,用于将所述各级第一目录名称与所述各级第二目录名称进行递归匹配。
可选的,所述续扫模块,包括:
续扫子模块,用于若所述各级第一目录名称与所述各级第二目录名称进行逐级递归匹配成功,则获取所述匹配成功的第一目录名称,作为扫描起点继续扫描所述待扫描文件。
可选的,所述续扫子模块,包括:
逐级匹配子模块,用于将第一级的第一目录名称至最后一级的第一目录名称,与第一级的第二目录名称至最后一级的第二目录名称进行逐一匹配;
更新断点路径子模块,用于若任一级别的所述第一目录所述第二目录匹配成功,则获取所述匹配成功的第一目录名称,作为扫描起点继续扫描所述待扫描文件。
可选的,还包括:
文件名称获取子模块,用于若最后一级的的第一目录名称与所述第二目录名称匹配成功,则获取断点文件名称和待扫描文件名称;
文件匹配子模块,用于将所述断点文件名称和所述待扫描文件名称进行匹配;
继续扫描子模块,用于若所述断点文件名称和所述待扫描文件名称匹配成功,则所述待扫描文件为所述断点文件,否则,在所述第一目录名称的文件夹下继续扫描所述待扫描文件。
可选的,还包括:
逐级扫描模块,用于若在所述断点缓存消息队列中获取断点扫描信息失败,则根据所述待扫描文件绝对路径信息,逐级扫描所述待扫描文件。
可选地,本发明再一方面在于提供一种文件存储系统,其上包括有实现断点缓存消息队列,其特征在于,该断点缓存消息队列在权利要求上述中任一所述的方法的应用。
综上所述,在本发明实施例中,通过接收文件扫描请求;获取文件扫描请求中待扫描文件的唯一标识号和待扫描文件绝对路径信息;若在断点缓存消息队列中获取断点扫描信息成功,则获取断点扫描信息中的断点文件绝对路径信息;将断点文件绝对路径信息与待扫描文件的绝对路径信息进行递归匹配;若匹配成功,则将匹配成功的所述断点文件绝对路径信息作为扫描起点继续扫描;若待扫描文件扫描成功,则根据唯一标识号将待扫描文件的绝对路径信息存储至断点缓存消息队列中,作为更新的断点文件绝对路径信息。实现了快速定位文件上次扫描断点,提高文件扫描效率目的。
附图说明
图1示出了本发明实施例一中的一种文件扫描方法的流程图;
图1A示出了本发明实施例一中的Redis数据存储结构示意图;
图1B示出了本发明实施例一中的实例文件扫描方法的流程图;
图2示出了本发明实施例一中的另一种文件扫描方法的流程图;
图3示出了本发明实施例三中的一种文件扫描装置的结构框图;
图4示出了本发明实施例三中的另一种文件扫描装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
专业名词解释:
Redis:是一个key-value存储系统,可实现分布式数据的共享。和Memcached(高速缓存系统)类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
递归调用:递归调用是一种特殊的嵌套调用,是某个函数调用自己或者是调用其他函数后再次调用自己的,只要函数之间互相调用能产生循环的则一定是递归调用,递归调用一种解决方案,一种是逻辑思想,将一个大工作分为逐渐减小的小工作,递归是一种思想,只不过在程序中,就是依靠函数嵌套这个特性来实现。
Java有序获取文件:Java中File的API中listFiles()是跨平台调用,调用的是系统提供的接口,对于文件的顺序无法保证,需要外层按需求进行排序,在本专利应用中采用List和Comparator来实现文件读取的有序性获取。
实施例一
参照图1,示出了本发明实施例一中的一种文件扫描方法的流程图,具体可以包括如下步骤:
步骤101,接收文件扫描请求;
本发明实施例中,以数据防泄漏扫描系统为例,在接收到对指定目录的增量扫描请求信息后,针对扫描请求信息中的扫描对象开启对文件的扫描操作。
步骤102,获取所述文件扫描请求中待扫描文件的唯一标识号和待扫描文件绝对路径信息;
本发明实施例中,针对扫描请求信息,利用Java有序获取待扫描文件的唯一标识号和待扫描文件的绝对路径。
首先,唯一标识号是针对本次扫描任务的一种数字标识,根据标识可以唯一识别本次扫描任务及对应扫描对象信息。其次,待扫描文件的绝对路径也可以叫做文件的全路径信息,是指文件在文件系统中真正存在的路径,是从硬盘的根目录(Windows为盘符)开始,进行一级级目录指向文件(从根目录一层层读写),例如,”C:\Users\Administrator.BF-20200628MRIJ\Desktop\新建文件夹”。
步骤103,若在所述断点缓存消息队列中获取断点扫描信息成功,则获取所述断点扫描信息中断点扫描文件的断点文件绝对路径信息;
本发明实施例中,在接收扫描请求的同时,会向文件存储系统中的断点缓存消息队列中获取最近一次文件扫描结束或中断后的断点扫描信息。
可以理解地,断点扫描信息中包含断点扫描文件,即最近一次扫描到的文件的绝对路径信息。
其中,如图1A所示,断点缓存消息队列可以存储在以Redis为主要存储媒介的数据库中。断点缓存消息队列中存储有上次文件扫描的具体位置,所以从Redis查询任务的断点判断是否存在断点信息,即记录的最近一次的扫描任务对应的扫描对象的位置信息。
如图1A可以了解到,Redis存储系统通过多个Redis节点实现数据存储的异地实时同步,针对多个扫描器同时查询,也可快速准确的返回实时查询结果。
可以理解地,断点信息存储至Redis是为了缓存数据,目的提高数据查询的速度,多个主Redis和多个从Redis是为了保证Redis服务器的高可用。在实际应用中Redis存储也可以替换为其他消息队列,本发明实施例对此不加以限制。
优选地,参照图2,示出了本发明实施例二的另一种文件扫描方法的流程图,其中,步骤103之后,还可以包括步骤103A;
步骤103A,若在所述断点缓存消息队列中获取断点扫描信息失败,则根据所述待扫描文件绝对路径信息,逐级扫描所述待扫描文件。
本发明实施例中,若在断点缓存消息队列中没有获取到最近一次文件扫描的具体信息,则根据待扫描文件绝对路径信息,从根目录开始逐级递归遍历,以找到待扫描文件。
步骤104,将所述断点文件绝对路径信息与所述待扫描文件的绝对路径信息进行逐级递归匹配;
本发明实施例中,将获取到的断点文件绝对路径信息与待扫描文件的绝对路径信息进行逐级递归匹配。
优选地,步骤104,可以包括,子步骤A1-A3;
子步骤A1,递归扫描所述断点文件绝对路径信息,获取所述断点文件绝对路径信息中各级别目录下的各级第一目录名称;
具体地,如果断点扫描文件的绝对路径为“C:\Users\Administrator.BF-20200628MRIJ\Desktop\新建文件夹\Xmind”,那么逐级获取该绝对路径中的每一级目录名称为第一目录名称,则获取的各级目录名称分别为,第一级为C,第二级为Users,第三级为Administrator.BF-20200628MRIJ,第四级为Desktop,第五级为新建文件夹,第六级为Xmind,可以看出,以此为例的断点文件可以分为六级,第一级也就是根目录为C,最后一级也就是第六级为目标断点扫描文件,即“Xmind”。
可以理解地,上述以本地扫描文件为例,在实际应用中,异地扫描或者局域网扫描文件中,文件路径不同,但是获取文件路径各级目录名称的方式相同。
子步骤A2,递归扫描所述待扫描文件绝对路径信息,获取所述待扫描文件绝对路径信息中各级别目录下的各级第二目录名称;
具体地,与子步骤A1中描述的方法一样,获取待扫描文件的绝对路径信息“C:\Users\Administrator.BF-20200628MRIJ\Desktop\新建文件夹”后,也是获取各级目录名称为第二目录名称,如第一级为C,第二级为Users,第三级为Administrator.BF-20200628MRIJ,第四级为Desktop,第五级为新建文件夹,可以看出,以此为例的待扫描文件可以分为五级,第一级也就是根目录为C,最后一级也就是第五级为目标扫描文件,即“新建文件夹”。
子步骤A3,将所述各级第一目录名称与所述各级第二目录名称进行递归匹配。
具体地,将获取的各级待扫描文件的第二目录名称与断点扫描文件的各级第一目录名称分级逐一对比,即第一级第一目录名称和第一级第二目录名称对比,第一级第二目录名称和第二级第二目录名称对比,以此类推,直到匹配失败,则结束匹配。
步骤105,若所述断点文件绝对路径信息与所述待扫描文件的绝对路径匹配成功,则将匹配成功的所述断点文件绝对路径信息作为扫描起点继续扫描所述待扫描文件;
优选地,步骤105,可以包括,子步骤B1;
子步骤B1,若所述各级第一目录名称与所述各级第二目录名称进行逐级递归匹配成功,则获取所述匹配成功的第一目录名称,作为扫描起点继续扫描所述待扫描文件。
本发明实施例中,如果断点文件绝对路径信息与待扫描文件的绝对路径逐级匹配成功,那么久将匹配成功的对应级别的目录名称,作为待扫描文件的扫描起点,开始逐级向下扫描文件,直到找到待扫描文件为止。
优选地,子步骤B1可以包括:子步骤B11-B12;
子步骤B11,将第一级的第一目录名称至最后一级的第一目录名称,与第一级的第二目录名称至最后一级的第二目录名称进行逐一匹配;
具体地,以上述实例继续进行描述此步骤,断点扫描文件第一级目录名称为C,待扫描文件的第一级目录名为C,匹配成功,继续匹配第二级,第二级都为Users,则继续匹配第三级,以此类推,在上述例子中,可以匹配到第五级“新建文件夹”后,继续匹配第六级时,因为待扫描文件的分级目录名称中不存在第六级目录,所以匹配失败,匹配操作结束。
可以理解地,实际应用中不限于上述实例的具体描述,以实际情况实现上述操作,本发明实施例对此不加以限制。
子步骤B12,若任一级别的所述第一目录所述第二目录匹配成功,则获取所述匹配成功的第一目录名称,作为扫描起点继续扫描所述待扫描文件。
具体地,以上述实例继续描述本步骤,即断点扫描文件第一级目录名称为C,待扫描文件的第一级目录名为C,匹配成功,继续匹配第二级,第二级都为Users,则继续匹配第三级,以此类推,匹配到第五级“新建文件夹”时,匹配结束,那么则以“新建文件夹”作为待扫描文件的扫描起始点,开始扫描文件。
优选地,还可以包括:子步骤B13-B15,
子步骤B13,若最后一级的的第一目录名称与所述第二目录名称匹配成功,则获取断点文件名称和待扫描文件名称;
具体地,以上述实例继续描述本步骤,即断点扫描文件第一级目录名称为C,待扫描文件的第一级目录名为C,匹配成功,继续匹配第二级,第二级都为Users,则继续匹配第三级,以此类推,匹配到第五级“新建文件夹”时,如果待扫描文件的绝对路径与断点扫描文件的绝对路径都为“C:\Users\Administrator.BF-20200628MRIJ\Desktop\新建文件夹\Xmind”,那么匹配到第五级“新建文件夹”后,继续匹配到第六级文件名称。
子步骤B14,将所述断点文件名称和所述待扫描文件名称进行匹配;
具体地,如果待扫描文件和断点文件的文件名称进行匹配,即第六级进行匹配。
子步骤B15,若所述断点文件名称和所述待扫描文件名称匹配成功,则所述待扫描文件为所述断点文件,否则,在所述第一目录名称的文件夹下继续扫描所述待扫描文件。
具体地,当两个文件名称也匹配成功,那么说明带扫描文件即为断点文件。否则,将第五级“新建文件夹”作为待扫描文件的扫描起始点,继续扫描文件。
可以理解地,若从第五级“新建文件夹”开始扫描文件,大大节省了文件扫描的遍历时间。
步骤106,若所述待扫描文件扫描成功,则根据所述唯一标识号将所述待扫描文件的绝对路径信息存储至所述断点缓存消息队列中,作为更新的断点文件绝对路径信息。
本发明实施了中,在最终找到待扫描文件后,则将本次扫描任务的唯一标识号对应的数字与待扫描文件的绝对路径进行关联,存储在断点缓存消息队列中,作为最近一次的断点扫描文件信息,以更新断点扫描文件的消息队列。
可以理解地,文件扫描结束不一定意味着文件扫描成功,在实际应用中可能存在各种因素导致文件扫描中断,那么以文件扫描中断,即结束时文件扫描位置所在的路径和任务唯一标识号作为新的断点文件信息更新到Redis中,可以在下一次继续扫描该文件时,达到从断点处直接扫描的目的。
如图1B所示为以实例为对象描述本发明实施例的具体流程,当接到文件扫描任务请求后,获取扫描对象的全路径和任务标识号,开启扫描任务并尝试从Redis消息队列中获取断点文件全路径信息,如果获取成功,则说明存在断点,则以递归方式有序获取指定目录下的文件或各级别目录名称,如果Redis中没有获取到断点文件,在根据扫描对象的全路径逐级遍历,开始扫描。
进一步地,判断获取的断点文件名或各级目录名称是否与扫描对象文件的文件名或各级名称一致,进行逐级匹配,如果匹配结果证明断点文件和扫描对象文件完全一致,则完成扫描,如果逐级匹配后,断点文件的某一级别目录与扫描对象文件的对应目录匹配,则将该级目录作为起点开始继续扫描,直至扫描成功。
进一步地,当扫描完成后,将扫描文件结束时对应的路径名称与该任务的唯一标识号存储在Redis中,作为新的断点文件信息。
实施例二
参照图3,示出了本发明实施例三的一种文件扫描装置的结构框图,所述文件扫描装置300具体可以包括:
请求接收模块301,用于接收文件扫描请求;
信息获取模块302,用于获取所述文件扫描请求中待扫描文件的唯一标识号和待扫描文件绝对路径信息;
断点文件绝对路径信息获取模块303,用于若在所述断点缓存消息队列中获取断点扫描信息成功,则获取所述断点扫描信息中断点扫描文件的断点文件绝对路径信息;
匹配模块304,用于将所述断点文件绝对路径信息与所述待扫描文件的绝对路径信息进行逐级递归匹配;
优选地,所述匹配模块304,可以包括:
第一目录名称获取子模块,用于递归扫描所述断点文件绝对路径信息,获取所述断点文件绝对路径信息中各级别目录下的各级第一目录名称;
第二目录名称获取子模块,用于递归扫描所述待扫描文件绝对路径信息,获取所述待扫描文件绝对路径信息中各级别目录下的各级第二目录名称;
匹配子模块,用于将所述各级第一目录名称与所述各级第二目录名称进行递归匹配。
续扫模块305,用于若所述断点文件绝对路径信息与所述待扫描文件的绝对路径匹配成功,则将匹配成功的所述断点文件绝对路径信息作为扫描起点继续扫描所述待扫描文件;
优选地,所述续扫模块305,包括:
续扫子模块,用于若所述各级第一目录名称与所述各级第二目录名称进行逐级递归匹配成功,则获取所述匹配成功的第一目录名称,作为扫描起点继续扫描所述待扫描文件。
优选地,所述续扫子模块,包括:
逐级匹配子模块,用于将第一级的第一目录名称至最后一级的第一目录名称,与第一级的第二目录名称至最后一级的第二目录名称进行逐一匹配;
优选地,所述续扫子模块,还包括:
文件名称获取子模块,用于若最后一级的的第一目录名称与所述第二目录名称匹配成功,则获取断点文件名称和待扫描文件名称;
文件匹配子模块,用于将所述断点文件名称和所述待扫描文件名称进行匹配;
继续扫描子模块,用于若所述断点文件名称和所述待扫描文件名称匹配成功,则所述待扫描文件为所述断点文件,否则,在所述第一目录名称的文件夹下继续扫描所述待扫描文件。
更新断点路径子模块,用于若任一级别的所述第一目录所述第二目录匹配成功,则获取所述匹配成功的第一目录名称,作为扫描起点继续扫描所述待扫描文件。
断点更新模块306,用于若所述待扫描文件扫描成功,则根据所述唯一标识号将所述待扫描文件的绝对路径信息存储至所述断点缓存消息队列中,作为更新的断点文件绝对路径信息。
优选地,如图4所示,在图3的基础上,断点文件绝对路径信息获取模块303之后,还包括:
逐级扫描模块303A,用于若在所述断点缓存消息队列中获取断点扫描信息失败,则根据所述待扫描文件绝对路径信息,逐级扫描所述待扫描文件。
本发明实施例提供的文件扫描装置能够实现图1至图2的方法实施例的各个过程,为避免重复,这里不再赘述。
综上所述,在本发明实施例中,通过接收文件扫描请求;获取文件扫描请求中待扫描文件的唯一标识号和待扫描文件绝对路径信息;若在断点缓存消息队列中获取断点扫描信息成功,则获取断点扫描信息中的断点文件绝对路径信息;将断点文件绝对路径信息与待扫描文件的绝对路径信息进行递归匹配;若匹配成功,则将匹配成功的所述断点文件绝对路径信息作为扫描起点继续扫描;若待扫描文件扫描成功,则根据唯一标识号将待扫描文件的绝对路径信息存储至断点缓存消息队列中,作为更新的断点文件绝对路径信息。实现了快速定位文件上次扫描断点,提高文件扫描效率目的。
可选地,本发明实施例还提供一种文件存储系统,其上包括有实现断点缓存消息队列,该断点缓存消息队列在任一上述的方法的应用。
可选的,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述文件扫描方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (12)
1.一种文件扫描方法,应用于文件存储系统,所述文件存储系统包括断点缓存消息队列,其特征在于,所述方法包括:
接收文件扫描请求;
获取所述文件扫描请求中待扫描文件的唯一标识号和待扫描文件绝对路径信息;
若在所述断点缓存消息队列中获取断点扫描信息成功,则获取所述断点扫描信息中断点扫描文件的断点文件绝对路径信息;
将所述断点文件绝对路径信息与所述待扫描文件的绝对路径信息进行逐级递归匹配;
若所述断点文件绝对路径信息与所述待扫描文件的绝对路径匹配成功,则将匹配成功的所述断点文件绝对路径信息作为扫描起点继续扫描所述待扫描文件;
若所述待扫描文件扫描成功,则根据所述唯一标识号将所述待扫描文件的绝对路径信息存储至所述断点缓存消息队列中,作为更新的断点文件绝对路径信息。
2.根据权利要求1所述的方法,其特征在于,所述将所述断点文件绝对路径信息与所述待扫描文件的绝对路径信息进行逐级递归匹配,包括:
递归扫描所述断点文件绝对路径信息,获取所述断点文件绝对路径信息中各级别目录下的各级第一目录名称;
递归扫描所述待扫描文件绝对路径信息,获取所述待扫描文件绝对路径信息中各级别目录下的各级第二目录名称;
将所述各级第一目录名称与所述各级第二目录名称进行递归匹配。
3.根据权利要求2所述的方法,其特征在于,若所述断点文件绝对路径信息与所述待扫描文件的绝对路径匹配成功,则将匹配成功的所述断点文件绝对路径信息作为扫描起点继续扫描所述待扫描文件,包括:
若所述各级第一目录名称与所述各级第二目录名称进行逐级递归匹配成功,则获取所述匹配成功的第一目录名称,作为扫描起点继续扫描所述待扫描文件。
4.根据权利要求3所述的方法,其特征在于,所述若所述各级第一目录名称与所述各级第二目录名称进行逐级递归匹配成功,则将匹配成功的所述断点文件绝对路径信息作为扫描起点继续扫描所述待扫描文件,包括:
将第一级的第一目录名称至最后一级的第一目录名称,与第一级的第二目录名称至最后一级的第二目录名称进行逐一匹配;
若任一级别的所述第一目录所述第二目录匹配成功,则获取所述匹配成功的第一目录名称,作为扫描起点继续扫描所述待扫描文件。
5.根据权利要求4所述的方法,其特征在于,还包括:
若最后一级的的第一目录名称与所述第二目录名称匹配成功,则获取断点文件名称和待扫描文件名称;
将所述断点文件名称和所述待扫描文件名称进行匹配;
若所述断点文件名称和所述待扫描文件名称匹配成功,则所述待扫描文件为所述断点文件,否则,在所述第一目录名称的文件夹下继续扫描所述待扫描文件。
6.根据权利要求1所述的方法,其特征在于,所述若在所述断点缓存消息队列中获取断点扫描信息成功,则获取所述断点扫描信息中断点扫描文件的断点文件绝对路径信息之后,还包括:
若在所述断点缓存消息队列中获取断点扫描信息失败,则根据所述待扫描文件绝对路径信息,逐级扫描所述待扫描文件。
7.一种文件扫描装置,其特征在于,应用于文件存储系统,所述文件存储系统包括断点缓存消息队列,其特征在于,所述装置包括:
请求接收模块,用于接收文件扫描请求;
信息获取模块,用于获取所述文件扫描请求中待扫描文件的唯一标识号和待扫描文件绝对路径信息;
断点文件绝对路径信息获取模块,用于若在所述断点缓存消息队列中获取断点扫描信息成功,则获取所述断点扫描信息中断点扫描文件的断点文件绝对路径信息;
匹配模块,用于将所述断点文件绝对路径信息与所述待扫描文件的绝对路径信息进行逐级递归匹配;
续扫模块,用于若所述断点文件绝对路径信息与所述待扫描文件的绝对路径匹配成功,则将匹配成功的所述断点文件绝对路径信息作为扫描起点继续扫描所述待扫描文件;
断点更新模块,用于若所述待扫描文件扫描成功,则根据所述唯一标识号将所述待扫描文件的绝对路径信息存储至所述断点缓存消息队列中,作为更新的断点文件绝对路径信息。
8.根据权利要求7所述的装置,其特征在于,所述匹配模块,包括:
第一目录名称获取子模块,用于递归扫描所述断点文件绝对路径信息,获取所述断点文件绝对路径信息中各级别目录下的各级第一目录名称;
第二目录名称获取子模块,用于递归扫描所述待扫描文件绝对路径信息,获取所述待扫描文件绝对路径信息中各级别目录下的各级第二目录名称;
匹配子模块,用于将所述各级第一目录名称与所述各级第二目录名称进行递归匹配。
9.根据权利要求8所述的装置,其特征在于,所述续扫模块,包括:
续扫子模块,用于若所述各级第一目录名称与所述各级第二目录名称进行逐级递归匹配成功,则获取所述匹配成功的第一目录名称,作为扫描起点继续扫描所述待扫描文件。
10.根据权利要求9所述的装置,其特征在于,所述续扫子模块,包括:
逐级匹配子模块,用于将第一级的第一目录名称至最后一级的第一目录名称,与第一级的第二目录名称至最后一级的第二目录名称进行逐一匹配;
更新断点路径子模块,用于若任一级别的所述第一目录所述第二目录匹配成功,则获取所述匹配成功的第一目录名称,作为扫描起点继续扫描所述待扫描文件。
11.根据权利要求10所述的装置,其特征在于,还包括:
文件名称获取子模块,用于若最后一级的的第一目录名称与所述第二目录名称匹配成功,则获取断点文件名称和待扫描文件名称;
文件匹配子模块,用于将所述断点文件名称和所述待扫描文件名称进行匹配;
继续扫描子模块,用于若所述断点文件名称和所述待扫描文件名称匹配成功,则所述待扫描文件为所述断点文件,否则,在所述第一目录名称的文件夹下继续扫描所述待扫描文件。
12.根据权利要求7所述的装置,其特征在于,还包括:
逐级扫描模块,用于若在所述断点缓存消息队列中获取断点扫描信息失败,则根据所述待扫描文件绝对路径信息,逐级扫描所述待扫描文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110605340.7A CN113468119A (zh) | 2021-05-31 | 2021-05-31 | 一种文件扫描方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110605340.7A CN113468119A (zh) | 2021-05-31 | 2021-05-31 | 一种文件扫描方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113468119A true CN113468119A (zh) | 2021-10-01 |
Family
ID=77871956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110605340.7A Pending CN113468119A (zh) | 2021-05-31 | 2021-05-31 | 一种文件扫描方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468119A (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005101193A2 (en) * | 2004-04-06 | 2005-10-27 | King Martin T | Scanning apparatus and related techniques |
CN101741762A (zh) * | 2008-11-07 | 2010-06-16 | 北大方正集团有限公司 | 文件传输方法和系统 |
US20120297486A1 (en) * | 2011-05-16 | 2012-11-22 | F-Secure Corporation | Look ahead malware scanning |
CN103679022A (zh) * | 2012-09-20 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 病毒扫描方法和装置 |
US20150007328A1 (en) * | 2012-02-07 | 2015-01-01 | Beijing Qihoo Technology Company Limited | Method and System for Quickly Scanning Files |
CN104536961A (zh) * | 2014-11-04 | 2015-04-22 | 深圳创维数字技术有限公司 | 一种本地媒体文件的扫描方法及系统 |
CN104732141A (zh) * | 2013-12-24 | 2015-06-24 | 汉柏科技有限公司 | 一种病毒采样扫描方法 |
CN104751058A (zh) * | 2015-03-16 | 2015-07-01 | 联想(北京)有限公司 | 一种文件扫描方法及电子设备 |
CN110532402A (zh) * | 2018-05-25 | 2019-12-03 | 合肥杰发科技有限公司 | 多媒体扫描方法、智能终端及具有存储功能的装置 |
CN111104387A (zh) * | 2019-11-22 | 2020-05-05 | 苏州浪潮智能科技有限公司 | 在服务器上获取数据集的方法和装置 |
CN111176704A (zh) * | 2018-11-09 | 2020-05-19 | 中移(杭州)信息技术有限公司 | 一种差分包文件生成方法、中断恢复方法和相关装置 |
CN111274200A (zh) * | 2018-12-05 | 2020-06-12 | 杭州因爱网络科技有限公司 | 一种文件上传标记的方法 |
CN111400004A (zh) * | 2020-03-12 | 2020-07-10 | Oppo广东移动通信有限公司 | 视频扫描中断处理方法及装置、存储介质和电子设备 |
CN111480155A (zh) * | 2017-12-15 | 2020-07-31 | 微软技术许可有限责任公司 | 在文件系统中处理字母大小写的技术 |
CN112328548A (zh) * | 2021-01-05 | 2021-02-05 | 统信软件技术有限公司 | 一种文件检索方法及计算设备 |
CN112749125A (zh) * | 2021-01-13 | 2021-05-04 | 北京明朝万达科技股份有限公司 | 文本的处理方法及装置、文本的处理系统 |
-
2021
- 2021-05-31 CN CN202110605340.7A patent/CN113468119A/zh active Pending
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005101193A2 (en) * | 2004-04-06 | 2005-10-27 | King Martin T | Scanning apparatus and related techniques |
CN101741762A (zh) * | 2008-11-07 | 2010-06-16 | 北大方正集团有限公司 | 文件传输方法和系统 |
US20120297486A1 (en) * | 2011-05-16 | 2012-11-22 | F-Secure Corporation | Look ahead malware scanning |
US20150007328A1 (en) * | 2012-02-07 | 2015-01-01 | Beijing Qihoo Technology Company Limited | Method and System for Quickly Scanning Files |
CN103679022A (zh) * | 2012-09-20 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 病毒扫描方法和装置 |
CN104732141A (zh) * | 2013-12-24 | 2015-06-24 | 汉柏科技有限公司 | 一种病毒采样扫描方法 |
CN104536961A (zh) * | 2014-11-04 | 2015-04-22 | 深圳创维数字技术有限公司 | 一种本地媒体文件的扫描方法及系统 |
CN104751058A (zh) * | 2015-03-16 | 2015-07-01 | 联想(北京)有限公司 | 一种文件扫描方法及电子设备 |
CN111480155A (zh) * | 2017-12-15 | 2020-07-31 | 微软技术许可有限责任公司 | 在文件系统中处理字母大小写的技术 |
CN110532402A (zh) * | 2018-05-25 | 2019-12-03 | 合肥杰发科技有限公司 | 多媒体扫描方法、智能终端及具有存储功能的装置 |
CN111176704A (zh) * | 2018-11-09 | 2020-05-19 | 中移(杭州)信息技术有限公司 | 一种差分包文件生成方法、中断恢复方法和相关装置 |
CN111274200A (zh) * | 2018-12-05 | 2020-06-12 | 杭州因爱网络科技有限公司 | 一种文件上传标记的方法 |
CN111104387A (zh) * | 2019-11-22 | 2020-05-05 | 苏州浪潮智能科技有限公司 | 在服务器上获取数据集的方法和装置 |
CN111400004A (zh) * | 2020-03-12 | 2020-07-10 | Oppo广东移动通信有限公司 | 视频扫描中断处理方法及装置、存储介质和电子设备 |
CN112328548A (zh) * | 2021-01-05 | 2021-02-05 | 统信软件技术有限公司 | 一种文件检索方法及计算设备 |
CN112749125A (zh) * | 2021-01-13 | 2021-05-04 | 北京明朝万达科技股份有限公司 | 文本的处理方法及装置、文本的处理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10073876B2 (en) | Bloom filter index for device discovery | |
EP2472417A1 (en) | Method and device for accessing file resources | |
CN109542875B (zh) | 一种配置文件的生成方法及装置 | |
CN109471838B (zh) | 目录文档的操作方法、装置、电子设备、可读存储介质 | |
CN112153095A (zh) | Cdn功能模块运行方法、运行装置、电子设备及存储介质 | |
CN109101599B (zh) | 一种增量索引更新方法及系统 | |
CN115421764A (zh) | 一种待升级模块识别方法、装置、设备及存储介质 | |
CN115599302A (zh) | 一种数据写入方法、装置、设备及存储介质 | |
CN115840731A (zh) | 文件处理方法、计算设备及计算机存储介质 | |
CN113468119A (zh) | 一种文件扫描方法和装置 | |
CN110543465B (zh) | 目录操作方法、装置、计算机设备和存储介质 | |
CN111770153A (zh) | 一种对象下载方法、装置及电子设备和存储介质 | |
CN112445986A (zh) | 一种缓存信息的更新方法、推送方法、装置及介质 | |
CN111984740B (zh) | 业务数据表处理方法、装置、计算机设备和存储介质 | |
CN115061630A (zh) | 一种数据迁移方法、装置、设备及介质 | |
CN114546591A (zh) | 镜像文件共享方法、容器集群管理系统及相关设备 | |
CN114356404A (zh) | 接口文档生成方法、系统和计算机可读存储介质 | |
CN114528260A (zh) | 文件访问请求的处理方法、电子设备及计算机程序产品 | |
CN109086460B (zh) | 一种局域网共享文件索引构建方法及搜索方法 | |
CN108763498B (zh) | 用户身份识别方法、装置、电子设备及可读存储介质 | |
CN111435342A (zh) | 海报的更新方法、更新系统以及管理系统 | |
CN113688159B (zh) | 一种数据抽取方法与装置 | |
CN116909990A (zh) | 一种对象存储数据迁移的方法、系统、设备和存储介质 | |
CN112269758B (zh) | 一种基于文件分级的文件迁移方法及相关装置 | |
CN106649625B (zh) | 文件同步的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211001 |