一种存储文件的扫描方法和扫描设备技术

技术编号:14186315 阅读:47 留言:0更新日期:2016-12-14 21:31
本申请实施例公开了一种存储文件的扫描方法和扫描设备,该扫描方法通过识别待扫描对象的类型信息,对文件夹建立对应的待执行线程,而文件则直接提取待显示信息,并且直接继续当前线程在当前文件夹内的遍历操作,直至遍历完成后结束当前线程,通过应用本申请实施例所提出的技术方案,可以通过为扫描到的文件夹建立待执行线程的方式,将新扫描到的文件夹的进一步扫描通过其他线程另行处理,避免当前线程直接开始扫描所带来的单一线程处理时间的延长,保证单一线程的处理时间不会因为子文件夹的出现而延长,避免了由此引发的容错率降低,提高了存储文件的扫描效率。

Scanning method and device for storing file

The embodiment of the invention discloses a scanning method and scanning device of a storage file, type information of the objects to be scanned by the scanning method of identification, corresponding to the thread of execution of the folder, and the file is directly extracted from the information to be displayed, and directly to the current thread in the current folder traversal traversal, until after the completion the end of the current thread scheme were proposed through the application of the application can be established by the way of executing thread for scanning to the folder, will further scan new folder to scan through the other thread separately, to avoid the current thread directly extended single thread processing time scanning brings, ensure processing the time of a single thread will not be extended because of the emergence of sub folders, avoid the fault tolerance caused by the lower rate of extraction High scan efficiency of storage file.

【技术实现步骤摘要】

本申请涉及数据存储领域,特别涉及一种存储文件的扫描方法和扫描设备
技术介绍
在电子计算机或相关设备中,一个“文件夹”就是一个装有数字文件系统的虚拟“容器”。在这样的“容器”里面保存着一组文件和其它一些文件夹。一个典型的文件系统可能会包含成千上万个文件夹。多个文件通过存储在一个文件夹中,可以达到有组织的存储文件的目的。在一个当前文件夹中的另一个文件夹被称作这个当前文件夹的子文件夹。这样,这些文件夹就构成了层次(hierarchy),或树形结构,为数据信息的管理、检索、分类等处理提供了方便。但是,随着存储设备容量的不断增大,待管理文件数量越来越大,分类越来越复杂,文件夹下的树形结构也越来越复杂。而为了调用和管理存储设备中所存储的文件,文件夹的树形结构(或者说文件夹信息)也变得越来越复杂。但为了数据的准确性,在获取这样的信息时,往往需要将当前所存储的全部文件进行一次扫描,才能确定当前最准确的文件夹信息,显示给用户,以使用户进行准确的文件查找或调用。在需要将容量比较大或存储文件数量比较多的存储设备中的所有文件以及文件夹信息显示出来时,需要对全部的海量文件进行逐一扫描,因此,扫描耗时比较久。申请人在实现本申请的过程中发现,上述现有的处理方案至少存在如下的问题:现有的技术方案中,在扫描到当前文件夹下的子文件夹之后,需要将当前文件夹的扫描暂停,转而去进行子文件夹的扫描,只有在子文件夹扫描完成后,才会进行当前文件夹的继续扫描,因此,单一线程持续时间与全部文件的扫描耗时相一致,而长时间的单一线程操作,导致出错概率增加,而且,一旦出现错误导致当前线程崩溃,则在线程重启过程中需要将全部文件重新扫描,严重影响扫描容错率和处理效率。
技术实现思路
本申请实施例提供一种存储文件的扫描方法和扫描设备,以实现针对大量待扫描文件场景下,单一线程执行时间过长,影响容错率和处理效率的问题。为了达到上述技术目的,本申请提供了一种存储文件的扫描方法,具体包括:步骤A、启动当前线程,遍历当前线程所对应的文件夹下的所有待扫描对象;步骤B、依次识别所遍历到的当前待识别对象的类型信息,如果识别到的结果为文件夹,执行步骤C,如果识别到的结果为文件,则执行步骤D;步骤C、为识别到的文件夹建立对应的待执行线程,对所述当前线程执行步骤E;步骤D、将识别到的文件的待显示信息存储到缓存中,对所述当前线程执行步骤E;步骤E、判断所述当前线程所对应的文件夹下的所有待扫描文件是否全部遍历完成,如果是,结束当前线程,如果不是,则执行F;步骤F、继续遍历下一个待扫描对象,执行步骤B。另外,本申请实施例还提供了一种扫描设备,具体包括:扫描模块,用于启动当前线程,遍历当前线程所对应的文件夹下的所有待扫描对象;识别模块,用于依次识别所述扫描模块所遍历到的当前待识别对象的类型信息;处理模块,用于在所述识别模块识别到的结果为文件夹时,为识别到的文件夹建立对应的待执行线程,或,在所述识别模块识别到的结果为文件时,将识别到的文件的待显示信息存储到缓存中;判断模块,用在所述处理模块完成处理后,判断所述当前线程所对应的文件夹下的所有待扫描文件是否全部遍历完成,如果是,通知所述扫描模块结束当前线程,如果不是,通知所述扫描模块继续遍历下一个待扫描对象。与现有技术相比,本申请实施例所提出的技术方案的有益技术效果包括:本申请实施例公开了一种存储文件的扫描方法和扫描设备,该扫描方法通过识别待扫描对象的类型信息,对文件夹建立对应的待执行线程,而文件则直接提取待显示信息,并且直接继续当前线程在当前文件夹内的遍历操作,直至遍历完成后结束当前线程,通过应用本申请实施例所提出的技术方案,可以通过为扫描到的文件夹建立待执行线程的方式,将新扫描到的文件夹的进一步扫描通过其他线程另行处理,避免当前线程直接开始扫描所带来的单一线程处理时间的延长,保证单一线程的处理时间不会因为子文件夹的出现而延长,避免了由此引发的容错率降低,提高了存储文件的扫描效率。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例所提出的一种存储文件的扫描方法的流程示意图;图2为本申请实施例所提出的多线程场景下的存储文件的扫描方法的流程示意图;图3为本申请实施例所提出的单线程场景下的存储文件的扫描方法的流程示意图;图4为本申请实施例所提出的多线程场景下的存储文件的扫描方法的线程示意图;图5为本申请实施例所提出的单线程场景下的存储文件的扫描方法的线程示意图;图6为本申请实施例所提出的被动刷新和主动刷新相组合的场景下,扫描信息更新传输的流程示意图;图7为本申请实施例所提出的一种扫描设备的结构示意图。具体实施方式正如本申请
技术介绍
所陈述的,在面对大量待扫描数据时,现有技术方案采用单线程遍历操作,并且,在扫描到子文件夹时,当前文件夹的遍历过程需要暂停,转而要先对该子文件夹进行扫描,只有子文件夹扫描完成后,才会继续当前文件夹的遍历操作,因此,单一线程持续时间与全部文件的扫描耗时相一致,而长时间的单一线程操作,导致出错概率增加,容错率和处理效率都会降低。本申请的专利技术人希望通过本申请实施例所提供的方法,可以另建新的线程来处理子文件夹的扫描过程,从而,不会因为子文件夹的扫描操作而对当前文件夹的扫描过程构成影响,避免了单线程进行海量文件扫描所引发的容错率降低,提高了存储文件的扫描效率。如图1所示,为本申请实施例所提出的一种存储文件的扫描方法的流程示意图,该方法具体包括:步骤S101、启动当前线程,遍历当前线程所对应的文件夹下的所有待扫描对象。需要说明的是,因为本申请实施例给出的是一个循环操作的处理流程,所以,本步骤所说的当前线程,并不一定是最高级的文件夹所对应的线程,也可能是其下的子文件夹,甚至更低级别的子文件夹所对应的线程。因为每个线程与其他线程都是独立的,其各自的操作过程彼此并无关联,因此,针对每一个线程的操作过程,相对应的线程即为当前线程。相应的,每个线程被启动后,也都会执行步骤S101。在实际的应用场景中,对于最高一级的文件夹的扫描操作,是通过目录扫描指令来进行触发的,因此,在步骤S101之前,还包括以下操作:接收到目录扫描指令,根据其中所携带的待扫描目录信息确定待扫描文件夹,为所述待扫描文件夹建立对应的线程,并对所述线程执行步骤S101。需要进一步说明的是,本申请实施例所提出的技术方案中,被扫描的文件可能是存储不同类型的存储介质中,相应的,目录扫描指令的触发也会存在以下几种情况:情况一、扫描本地文件。相应的目录扫描指令可以使用户通过触摸屏、按键或其它指定动作进行触发,相应的扫描单元获取到该指令后,开始对本地文件进行扫描,此过程中的指令传输和扫描操作都可以在设备内部完成。情况二、扫描外接设备的文件。外接设备,是指与本地设备进行接触式连接(插槽、数据线等方式)的外接设备,例如:U盘、存储卡、移动硬盘等设备。被连接的本地设备触发相应的目录扫描指令,由本地扫描单元或者外接设备的扫描单元来进行扫描,此过程中的指令传输和扫描操作需要在本地设备和外接设备之本文档来自技高网
...
一种存储文件的扫描方法和扫描设备

【技术保护点】
一种存储文件的扫描方法,其特征在于,具体包括:步骤A、启动当前线程,遍历当前线程所对应的文件夹下的所有待扫描对象;步骤B、依次识别所遍历到的当前待识别对象的类型信息,如果识别到的结果为文件夹,执行步骤C,如果识别到的结果为文件,则执行步骤D;步骤C、为识别到的文件夹建立对应的待执行线程,对所述当前线程执行步骤E;步骤D、将识别到的文件的待显示信息存储到缓存中,对所述当前线程执行步骤E;步骤E、判断所述当前线程所对应的文件夹下的所有待扫描文件是否全部遍历完成,如果是,结束当前线程,如果不是,则执行F;步骤F、继续遍历下一个待扫描对象,执行步骤B。

【技术特征摘要】
1.一种存储文件的扫描方法,其特征在于,具体包括:步骤A、启动当前线程,遍历当前线程所对应的文件夹下的所有待扫描对象;步骤B、依次识别所遍历到的当前待识别对象的类型信息,如果识别到的结果为文件夹,执行步骤C,如果识别到的结果为文件,则执行步骤D;步骤C、为识别到的文件夹建立对应的待执行线程,对所述当前线程执行步骤E;步骤D、将识别到的文件的待显示信息存储到缓存中,对所述当前线程执行步骤E;步骤E、判断所述当前线程所对应的文件夹下的所有待扫描文件是否全部遍历完成,如果是,结束当前线程,如果不是,则执行F;步骤F、继续遍历下一个待扫描对象,执行步骤B。2.如权利要求1所述的方法,其特征在于,步骤C具体为:为识别到的文件夹建立对应的待执行线程,对所述待执行线程执行步骤A,并对所述当前线程执行步骤E。3.如权利要求1所述的方法,其特征在于,步骤C建立所述待执行线程后,继续执行所述当前线程的遍历操作,并在所述当前线程结束后,执行步骤G:步骤G、判断当前是否存在待执行线程,如果判断结果为是,选择一个待执行线程作为新的当前线程,执行步骤A。4.如权利要求1至3中任意一项所述的方法,其特征在于,步骤A之前,还包括:接收到目录扫描指令,根据其中所携带的待扫描目录信息确定待扫描文件夹,为所述待扫描文件夹建立对应的线程,并对所述线程执行步骤A。5.如权利要求1所述的方法,其特征在于,所述步骤D之后,还包括:当接收到显示界面刷新指令,和/或判断当前所有线程都已经执行完毕时,执行步骤H;步骤H、将缓存中当前所存储的所有待显示信息发送给显示界面,对所述显示界面当前所显示的存储信息列表进行更新。6.一种扫描设备,其特征在于,具体包括:扫描模块,用于启动当前线...

【专利技术属性】
技术研发人员:秦发成
申请(专利权)人:青岛海信电器股份有限公司
类型:发明
国别省市:山东;37

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

1