一种大文件识别方法及装置与流程

文档序号:35064137发布日期:2023-08-09 03:07阅读:43来源:国知局
一种大文件识别方法及装置与流程

本发明涉及数据处理领域,尤其涉及一种大文件识别方法及装置。


背景技术:

1、大文件就是所占的内存较多的文件。电子设备(例如手机)里的大文件包括视频、音频、文档以及图片等。目前,很多用户都会都会遇到电子设备在使用一段时间后,出现因内存不足导致的设备卡顿、文件存储失败等问题。这与日常使用中产生的电子设备垃圾存在着巨大的关系,长时间不清理电子设备会积攒大量垃圾,进而严重影响电子设备的运行速度,以及占用电子设备的存储空间。以缩略图文件举例,缩略图文件是用户浏览照片或者网上图片时程序自动缓存下来的图片,常常保存在以一串数字为文件名并且没有后缀名的文件中,这些图片很多属于大文件,大量的大文件保存在电子设备内部存储空间中,长时间不清理会极大地造成电子设备卡顿,影响电子设备的响应时间。

2、因此,为了释放存储空间以保证系统或应用程序的后续正常运行,需要对电子设备的存储空间进行清理。如何在文件清理前针对用户的电子设备大体积的视频、音频、图片、文档等文件进行精准识别,是本领域技术人员需要解决的问题。


技术实现思路

1、本发明的目的在于提供一种大文件识别方法及装置,旨在针对用户的电子设备中大体积的视频、音频、图片进行精准识别,以确定存储空间内的待清理文件。

2、为实现上述目的,本发明采用以下技术方案:

3、本技术第一个方面,公开了一种大文件识别方法,包括:

4、获取电子设备内存的根目录;

5、获取位于根目录下的所有内容文件,所述内容文件包括文件和文件夹;

6、对所有的内容文件进行扫描遍历,并执行判断步骤;

7、判断步骤:若遍历的内容文件属于文件,则执行第一步骤;若遍历的内容文件属于文件夹,则执行第二步骤;

8、第一步骤:基于扫描文件的大小判断该文件是否为待清理文件;若否,则继续对内容文件进行扫描遍历,并重新执行判断步骤;若是,则将该文件作为大文件保存至大文件列表内,并根据该文件的后缀名或头文件判断该文件的文件类型;

9、第二步骤:将文件夹送入文件夹扫描队列尾部,分派给线程池内的工作线程处理,线程池以多线程并行方式对文件夹扫描队列内待扫描的文件夹进行扫描,其中,每个工作线程在进行文件夹扫描时,对文件夹所包括的内容文件进行扫描遍历,并重新执行判断步骤。

10、在一种优选实施例中,所述文件包括音频、视频、文档和图片。

11、在一种优选实施例中,于第一步骤中,所述基于扫描文件的大小判断该文件是否为待清理文件,包括如下步骤:

12、判断扫描的文件大小是否超过第一预设阈值;

13、如是,则判定该文件为待清理文件;

14、如否,则判定该文件为非待清理文件。

15、在一种优选实施例中,于第一步骤中,所述根据该文件的后缀名或头文件判断该文件的文件类型,包括如下步骤:

16、判断扫描的文件有无后缀名;

17、如有后缀名,则将后缀名与预先构建的后缀名集合中的预设后缀名进行匹配,确定所述文件的文件类型;

18、如无后缀名,则获取文件头,将文件头与预先构建的文件头集合中的预设文件头进行匹配,确定所述文件的文件类型。

19、在一种更优选实施例中,所述后缀名集合中的预设后缀名包括:音频文件后缀名、视频文件后缀名、文档文件后缀名和图片文件后缀名。

20、在一种更优选实施例中,所述文件头集合中的预设文件头包括:音频文件文件头、视频文件文件头、文档文件文件头和图片文件文件头。

21、在一种更优选实施例中,所述文件头为文件二进制码的前16个字节。

22、在一种优选实施例中,于第二步骤中,所述线程池以多线程并行方式对文件夹扫描队列内待扫描的文件夹进行扫描,包括如下步骤:

23、通过读取文件夹扫描队列中位于队列头部的文件夹,获取当前需要执行扫描处理的文件夹;

24、判断线程池是否有空闲资源;

25、如线程池有空闲资源,则线程池分配空闲线程对当前需要执行扫描处理的文件夹执行扫描任务;

26、若线程池没有空闲资源,则等待线程池空闲。

27、在一种更优选实施例中,每个文件夹单独使用一个线程执行扫描。

28、在一种更优选实施例中,通过监测线程池中的线程数量峰值判断线程池是否有空闲资源;

29、当线程池中的线程数量峰值大于或等于第二预设阈值时,判定为没有空闲资源;

30、当线程池中的线程数量峰值小于第二预设阈值时,判定为有空闲资源。

31、在一种优选实施例中,所述方法还包括:在对所有的内容文件进行扫描遍历后,将大文件列表中的文件确定为待清理数据。

32、在一种更优选实施例中,所述方法还包括:展示所确定的待清理数据;其中,所述待清理数据以列表形式进行展示,或者,所述待清理数据以文件图标形式进行展示。

33、本技术第二个方面,公开了一种大文件识别装置,包括:

34、根目录获取模块,用于获取电子设备内存的根目录;

35、内容文件获取模块,用于获取位于根目录下的所有内容文件,所述内容文件包括文件和文件夹;

36、内容文件遍历模块,用于对所有的内容文件进行扫描遍历,并执行判断步骤;

37、判断步骤执行模块,用于执行判断步骤:若遍历的内容文件属于文件,则执行第一步骤;若遍历的内容文件属于文件夹,则执行第二步骤;

38、第一步骤执行模块,用于执行第一步骤:基于扫描文件的大小判断该文件是否为待清理文件;若否,则继续对内容文件进行扫描遍历,并重新执行判断步骤;若是,则将该文件作为大文件保存至大文件列表内,并根据该文件的后缀名或头文件判断该文件的文件类型;

39、第二步骤执行模块,用于执行第二步骤:将文件夹送入文件夹扫描队列尾部,分派给线程池内的工作线程处理,线程池以多线程并行方式对文件夹扫描队列内待扫描的文件夹进行扫描,其中,每个工作线程在进行文件夹扫描时,对文件夹所包括的内容文件进行扫描遍历,并重新执行判断步骤。

40、在一种优选实施例中,所述文件包括音频、视频、文档和图片。

41、在一种优选实施例中,所述第一步骤执行模块包括:第一处理单元,所述第一处理单元用于判断扫描的文件大小是否超过第一预设阈值;如是,则判定该文件为待清理文件;如否,则判定该文件为非待清理文件。

42、在一种更优选实施例中,所述第一步骤执行模块还包括:第二处理单元,所述第二处理单元用于对所述第一处理单元中判定的待清理文件进行进一步判断:判断待清理文件有无后缀名,如有后缀名,则将后缀名与预先构建的后缀名集合中的预设后缀名进行匹配,确定所述文件的文件类型,如无后缀名,则获取文件头,将文件头与预先构建的文件头集合中的预设文件头进行匹配,确定所述文件的文件类型。

43、进一步地,所述后缀名集合中的预设后缀名包括:音频文件后缀名、视频文件后缀名、文档文件后缀名和图片文件后缀名。

44、进一步地,所述文件头集合中的预设文件头包括:音频文件文件头、视频文件文件头、文档文件文件头和图片文件文件头。

45、进一步地,所述文件头为文件二进制码的前16个字节。

46、在一种优选实施例中,所述第二步骤执行模块包括:

47、文件夹扫描队列,用于存放待扫描的文件夹;

48、线程分配单元,用于通过读取文件夹扫描队列中位于队列头部的文件夹,获取当前需要执行扫描处理的文件夹;判断线程池是否有空闲资源,如线程池有空闲资源,则线程池分配空闲线程对当前需要执行扫描处理的文件夹执行扫描任务,若线程池没有空闲资源,则等待线程池空闲。

49、在一种优选实施例中,所述第二步骤执行模块还包括:线程监测单元,所述线程监测单元用于监测线程池中的线程数量峰值,当线程池中的线程数量峰值大于或等于第二预设阈值时,则判定线程池没有空闲资源,当线程池中的线程数量峰值小于第二预设阈值时,则判定线程池有空闲资源。

50、在一种优选实施例中,所述装置还包括:确定单元,用于在对所有的内容文件进行扫描遍历后,将大文件列表中的文件确定为待清理数据。

51、在一种更优选实施例中,所述装置还包括:展示单元,用于展示所确定出的待清理数据;其中,所述待清理数据以列表形式进行展示,或者,所述待清理数据以文件图标形式进行展示。

52、与现有技术相比,本发明的技术方案具有以下有益效果:

53、本技术通过获取位于电子设备根目录的内容文件,对所有的内容文件进行扫描遍历,并执行判断步骤:如果内容文件是文件,则优先通过文件大小来判断是否为大文件,以减少判断次数、增加扫描速度,对于大文件,再通过文件名后缀或文件头来判定文件类型,增加了扫描结果的精准度;如果内容文件是文件夹,则以文件夹为单位,通过线程池的多线程策略,同时对多个文件夹进行扫描,大大减少扫描时间。本技术可以针对用户电子设备大体积的视频、音频、图片、文档等文件进行精准识别,即帮助用户有效识别存储空间内待清理的大文件,有助于用户快速准确地扫描和清理电子设备上的垃圾文件,增加用户可用存储空间和保持电子设备清洁,提高电子设备长时间运行的流畅性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1