一种已删除文件类型识别方法、装置、电子设备及存储介质
技术领域
本说明书一个或多个实施例涉及已删除文件查找技术领域,尤其涉及一种已删除文件类型识别方法、装置、电子设备及存储介质。
背景技术
目前,越来越多的数据和信息由纸质变成电子化、信息化的文件——电子文件。个人数据和信息依赖于文件系统的存储,而相关的问题也凸显出来。数据存储在文件系统中,当文件系统出现错误或数据误删就有可能出现数据丢失的情况,而且硬盘容量一般比较大,查找删除数据需要花费较长时间。
现有技术中,基本通过穷举的方式从文件系统中查找需要恢复的文件。
但是,发明人发现,当丢失文件多且容量大的硬盘时,穷举法需要耗费大量的时间,效率低下,难以满足用户的要求。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种已删除文件类型识别方法、装置、电子设备及存储介质,能够有效的提升查找效率。
基于上述目的,本说明书一个或多个实施例提供了一种已删除文件类型识别方法,包括:
构建基于字典树的数组,并在字典树中建立文件类型标识字符串和文件类型的对应关系;
在磁盘中查找已删除文件;
针对查找到的每个已删除文件,在数组中进行遍历,获得匹配的字典树以及对应的文件类型标识字符串的起始位置,基于所述起始位置从所述已删除文件中读取数据,将读取到的数据输入所述匹配的字典树中进行查找,获得对应的文件类型;
获得文件类型集合。
作为一种可选的实施方式,所述构建基于字典树的数组,并在字典树中建立文件类型标识字符串和文件类型的对应关系,包括
获取文件类型标识字符串以及所述文件类型标识字符串在文件中的起始位置;
基于所述起始位置在数组中构建字典树;
在字典树中建立文件类型标识字符串和文件类型的对应关系。
作为一种可选的实施方式,所述获得文件类型集合,包括
将获得的文件类型进行整合与去重,获得文件类型集合。
作为本发明的第二个方面,提供了一种已删除文件类型识别装置,其特征在于,包括:
构建单元,用于构建基于字典树的数组,并在字典树中建立文件类型标识字符串和文件类型的对应关系;
查找单元,用于在磁盘中查找已删除文件;
匹配单元,用于针对查找到的每个已删除文件,在数组中进行遍历,获得匹配的字典树以及对应的文件类型标识字符串的起始位置,基于所述起始位置从所述已删除文件中读取数据,将读取到的数据输入所述匹配的字典树中进行查找,获得对应的文件类型;
获得单元,用于获得文件类型集合。
作为一种可选的实施方式,所述构建单元包括
获取模块,用于获取文件类型标识字符串以及所述文件类型标识字符串在文件中的起始位置;
构建模块,用于基于所述起始位置在数组中构建字典树;
建立模块,用于在字典树中建立文件类型标识字符串和文件类型的对应关系。
作为一种可选的实施方式,所述获得单元用于
将获得的文件类型进行整合与去重,获得文件类型集合。
作为本发明的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的方法。
作为本发明的第四个方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上所述方法。
从上面所述可以看出,本说明书一个或多个实施例提供的一种已删除文件类型识别方法、装置、电子设备及存储介质,利用数组和字典树的结构特性,在一次比较过程中过滤大多数不匹配的类型,找到匹配的类型,具有更快的查找速度,提升了查找效率。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书的识别方法的一个或多个实施例的逻辑示意图;
图2为本说明书的识别装置的一个或多个实施例的逻辑示意图;
图3为本说明书的识别装置的构建单元的逻辑示意图;
图4为本说明书的电子设备的示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本公开进一步详细说明。
为了实现上述发明目的,本发明提供了一种已删除文件类型识别方法,包括:
构建基于字典树的数组,并在字典树中建立文件类型标识字符串和文件类型的对应关系;
在磁盘中查找已删除文件;
针对查找到的每个已删除文件,在数组中进行遍历,获得匹配的字典树以及对应的文件类型标识字符串的起始位置,基于所述起始位置从所述已删除文件中读取数据,将读取到的数据输入所述匹配的字典树中进行查找,获得对应的文件类型;
获得文件类型集合。
以往的比较查找方法需要对所有的类型都进行一次比较,而一次比较仅能过滤一个不匹配类型或一个匹配的类型。而本发明实施例中,利用数组和字典树的结构特性,在一次比较过程中过滤大多数不匹配的类型,找到匹配的类型,具有更快的查找速度,提升了查找效率。
图1示出了一种已删除文件类型识别方法,包括:
S100、构建基于字典树的数组,并在字典树中建立文件类型标识字符串和文件类型的对应关系;
作为一种可选的实施方式,所述构建基于字典树的数组,并在字典树中建立文件类型标识字符串和文件类型的对应关系,包括
获取文件类型标识字符串以及所述文件类型标识字符串在文件中的起始位置;
基于所述起始位置在数组中构建字典树;
在字典树中建立文件类型标识字符串和文件类型的对应关系。
S200、在磁盘中查找已删除文件;
S300、针对查找到的每个已删除文件,在数组中进行遍历,获得匹配的字典树以及对应的文件类型标识字符串的起始位置,基于所述起始位置从所述已删除文件中读取数据,将读取到的数据输入所述匹配的字典树中进行查找,获得对应的文件类型;
S400、获得文件类型集合。
作为一种可选的实施方式,所述获得文件类型集合,包括
将获得的文件类型进行整合与去重,获得文件类型集合。
可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
与所述已删除文件类型识别方法相对应的,本发明实施例还提供了一种已删除文件类型识别装置,如图2所示,包括:
构建单元10,用于构建基于字典树的数组,并在字典树中建立文件类型标识字符串和文件类型的对应关系;
查找单元20,用于在磁盘中查找已删除文件;
匹配单元30,用于针对查找到的每个已删除文件,在数组中进行遍历,获得匹配的字典树以及对应的文件类型标识字符串的起始位置,基于所述起始位置从所述已删除文件中读取数据,将读取到的数据输入所述匹配的字典树中进行查找,获得对应的文件类型;
获得单元40,用于获得文件类型集合。
本发明实施例中,利用数组和字典树的结构特性,在一次比较过程中过滤大多数不匹配的类型,找到匹配的类型,具有更快的查找速度,提升了查找效率。
作为一种可选的实施方式,如图3所示,所述构建单元10包括
获取模块11,用于获取文件类型标识字符串以及所述文件类型标识字符串在文件中的起始位置;
构建模块12,用于基于所述起始位置在数组中构建字典树;
建立模块13,用于在字典树中建立文件类型标识字符串和文件类型的对应关系。
作为一种可选的实施方式,所述获得单元40用于将获得的文件类型进行整合与去重,获得文件类型集合。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
与所述已删除文件类型识别方法相对应的,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的方法。
图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
与所述已删除文件类型识别方法相对应的,本发明实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述的已删除文件类型识别方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。