CN112084157A - 文件恢复方法、装置、计算机设备及存储介质 - Google Patents
文件恢复方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112084157A CN112084157A CN202010984168.6A CN202010984168A CN112084157A CN 112084157 A CN112084157 A CN 112084157A CN 202010984168 A CN202010984168 A CN 202010984168A CN 112084157 A CN112084157 A CN 112084157A
- Authority
- CN
- China
- Prior art keywords
- data block
- file
- target
- splicing
- data blocks
- 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/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种文件恢复方法、装置、计算机设备及存储介质,属于计算机技术领域。该方法包括:响应于文件恢复指令,确定已删除文件对应的多个目标数据块,识别多个目标数据块中的起始数据块及非起始数据块,将起始数据块和非起始数据块进行拼接处理,得到至少一个目标文件。实现了一种自动恢复文件的方案,无需人工恢复文件,且考虑到拼接形成文件的数据块中的起始数据块包括类型字符串,因此,通过识别已删除的文件对应的多个数据块,确定不同类型的起始数据块和非起始数据块,后续按照识别到的不同类型的数据块进行拼接,恢复出已被删除的文件,从而提高了文件的准确性,也提高了文件恢复的效率,实现了对数据块的索引及管理。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种文件恢复方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的发展和数据规模的逐渐扩大,文件系统的功能越来越丰富多样,用户能够对文件系统中的文件进行多种操作,如编辑操作、移动操作、删除操作等。但是,在对文件进行操作的过程中,可能会由于用户操作失误而误删除文件,此时就需要恢复该文件。
发明内容
本申请实施例提供了一种文件恢复方法、装置、计算机设备及存储介质,能够提高恢复文件的效率。所述技术方案如下:
一方面,提供了一种文件恢复方法,所述方法包括:
响应于文件恢复指令,确定已删除文件对应的多个目标数据块;
识别所述多个目标数据块中的起始数据块及非起始数据块,所述起始数据块的数据头部包括类型字符串,所述非起始数据块的数据头部不包括所述类型字符串;
将所述起始数据块和所述非起始数据块进行拼接处理,得到至少一个目标文件。
另一方面,提供了一种文件恢复装置,所述装置包括:
第一确定模块,用于响应于文件恢复指令,确定已删除文件对应的多个目标数据块;
识别模块,用于识别所述多个目标数据块中的起始数据块及非起始数据块,所述起始数据块的数据头部包括类型字符串,所述非起始数据块的数据头部不包括所述类型字符串;
拼接处理模块,用于将所述起始数据块和所述非起始数据块进行拼接处理,得到至少一个目标文件。
在一种可能实现方式中,所述起始数据块为多个,所述非起始数据块为一个,所述拼接处理模块,包括:
第一识别单元,用于从多个所述起始数据块中,识别数据尾部不包括结束字符串的第一数据块;
拼接处理单元,用于将所述第一数据块与所述非起始数据块进行拼接处理,将得到的拼接数据块确定为一个目标文件。
在另一种可能实现方式中,所述装置还包括:
第二确定模块,用于将多个所述起始数据块中除所述第一数据块之外的每个第二数据块,分别确定为一个目标文件。
在另一种可能实现方式中,所述非起始数据块为多个,所述拼接处理模块,包括:
拼接处理单元,用于将所述起始数据块与任一个所述非起始数据块进行拼接处理,得到满足拼接条件的第一拼接数据块,所述拼接条件为数据块的读取操作执行成功;
第一确定单元,用于响应于所述第一拼接数据块满足结束条件,将所述第一拼接数据块确定为一个目标文件,所述结束条件为数据块的数据尾部包括结束字符串。
在另一种可能实现方式中,所述装置还包括:
第三确定模块,用于响应于所述第一拼接数据块不满足所述结束条件,继续将所述第一拼接数据块与剩余的任一个或多个所述非起始数据块进行拼接处理,直至得到满足所述拼接条件和所述结束条件的拼接数据块,将所述拼接数据块确定为一个目标文件。
在另一种可能实现方式中,所述拼接处理单元,用于将所述起始数据块与任一个所述非起始数据块进行拼接处理,得到第一备选数据块;响应于对所述第一备选数据块的读取操作执行失败,将所述起始数据块与剩余的任一个所述非起始数据块进行拼接处理,直至得到满足所述拼接条件的第一拼接数据块。
在另一种可能实现方式中,所述装置还包括:
执行模块,用于调用与所述起始数据块中的类型字符串匹配的目标读取工具,对任一拼接数据块执行读取操作;
第四确定模块,用于响应于所述目标读取工具读取的结束位置与所述拼接数据块的结束位置相同,确定所述拼接数据块满足所述拼接条件;
所述第四确定模块,还用于响应于所述读取工具读取的结束位置与所述拼接数据块的结束位置不相同,确定所述拼接数据块不满足所述拼接条件。
在另一种可能实现方式中,所述装置还包括:
第五确定模块,用于根据所述起始数据块中的类型字符串,确定所述类型字符串对应的文件类型;
第六确定模块,用于将所述文件类型对应的读取工具,确定为所述类型字符串匹配的读取工具。
在另一种可能实现方式中,所述第一确定模块,包括:
第二确定单元,用于响应于所述文件恢复指令,确定已存储的多条索引信息和多个数据块,每条索引信息包括文件标识或数据块标识中的至少一种,所述文件标识指示的文件包括同一索引信息中的数据块标识指示的数据块;
查询单元,用于根据所述多条索引信息,在所述多个数据块中查询至少一个目标数据块,所述多条索引信息中不包括与所述目标数据块对应且满足索引条件的索引信息,所述索引条件是指所述索引信息包括文件标识和数据块标识,或者,所述索引信息满足索引信息格式。
在另一种可能实现方式中,所述查询单元,用于从所述多条索引信息中,查询不满足所述索引条件的目标索引信息;将所述目标索引信息中目标数据块标识对应的数据块,确定为目标数据块。
在另一种可能实现方式中,所述查询单元,用于确定所述多条索引信息中包括的数据块标识;将所述多个数据块中,除确定的数据块标识对应的数据块之外的其他数据块,确定为目标数据块。
在另一种可能实现方式中,所述文件恢复指令携带目标类型标识,所述目标类型标识用于指示待恢复的目标文件所属的文件类型;
所述识别模块,包括:
第三确定单元,用于确定所述目标类型标识对应的目标类型字符串;
第二识别单元,用于根据所述目标类型字符串,识别所述多个目标数据块中的所述起始数据块及所述非起始数据块,所述起始数据块的数据头部包括所述目标类型字符串。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现如上述方面所述的文件恢复方法中所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如上述方面所述的文件恢复方法中所执行的操作。
再一方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机程序代码,所述计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行所述计算机程序代码,使得所述计算机设备实现如上述方面所述的文件恢复方法中所执行的操作。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例实现了一种自动恢复文件的方案,无需人工恢复文件,减少了人力消耗,且考虑到拼接形成文件的数据块中的起始数据块包括类型字符串,因此,通过识别已删除的文件对应的多个数据块,确定不同类型的起始数据块和非起始数据块,后续按照识别到的不同类型的数据块进行拼接,恢复出已被删除的文件,从而提高了文件的准确性,也提高了文件恢复的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的结构示意图;
图2是本申请实施例提供的一种文件恢复方法的流程图;
图3是本申请实施例提供的一种文件恢复方法的流程图;
图4是本申请实施例提供的一种文件系统的数据存储结构图;
图5是本申请实施例提供的一种拼接数据块的示意图;
图6是本申请实施例提供的一种文件恢复方法的流程图;
图7是本申请实施例提供的一种提取数据块的流程图;
图8是本申请实施例提供的一种数据块拼接验证的流程图;
图9是本申请实施例提供的一种文件恢复装置的结构示意图;
图10是本申请实施例提供的一种文件恢复装置的结构示意图;
图11是本申请实施例提供的一种终端的结构示意图;
图12是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例来说,在不脱离本申请的范围的情况下,可以将第一数据块称为第二数据块,且类似地,可将第二数据块称为第一数据块。
本申请所使用的术语“至少一个”、“多个”、“每个”、“任一”,至少一个包括一个、两个或两个以上,多个包括两个或两个以上,而每个是指对应的多个中的每一个,任一是指多个中的任意一个。举例来说,多个数据块包括3个数据块,而每个是指这3个数据块中的每一个数据块,任一是指这3个数据块中的任意一个数据块,可以是第一个数据块,可以是第二个数据块、也可以是第三个数据块。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
本申请实施例提供的文件恢复方法,能够用于计算机设备中,可选地,该计算机设备为终端或服务器。可选地,该服务器是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,该终端是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱或智能手表等,但并不局限于此。可选地,终端以及服务器通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
图1是本申请实施例提供的一种实施环境的结构示意图,如图1所示,该实施环境包括终端101和服务器102,终端101与服务器102之间建立通信连接,通过该通信连接,终端101与服务器102之间能够进行交互。
服务器102中存储有多个文件及多个文件对应的数据块,终端101能够访问服务器102中的文件,且能够对文件执行多种操作,例如编辑操作、移动操作、删除操作等。并且在服务器102中的文件被删除后,终端101能够向服务器102发送文件恢复指令,以使服务器102根据文件恢复指令对已删除的文件进行恢复,后续能够将恢复的文件提供给终端101查看。
本申请实施例提供的方法,可用于多种场景。
例如,视频恢复场景下:
在服务器中存储有多个视频,服务器将存储的视频分享给用户,供用户观看,且用户也能够将视频上传至服务器,以便将视频分享给其他用户,如果用户操作失误而误删除上传给服务器的视频时,采用本申请实施例提供的文件恢复方法,能够对已删除的视频进行恢复。
图2是本申请实施例提供的一种文件恢复方法的流程图,应用于计算机设备中,如图2所示,该方法包括:
201、计算机设备响应于文件恢复指令,确定已删除文件对应的多个目标数据块。
其中,文件恢复指令用于指示恢复已删除的文件。
在本申请实施例中,每个文件是由至少一个数块拼接得到的,在接收到文件恢复指令后,会获取已删除文件对应的目标数据块,以使后续根据目标数据块将已删除文件进行恢复。
202、计算机设备识别多个目标数据块中的起始数据块及非起始数据块。
其中,起始数据块的数据头部包括类型字符串,该非起始数据块为多个目标数据块中除起始数据块外的其他目标数据块,该非起始数据块的数据头部不包括类型字符串。
203、计算机设备将起始数据块和非起始数据块进行拼接处理,得到至少一个目标文件。
本申请实施例实现了一种自动恢复文件的方案,无需人工恢复文件,减少了人力消耗,且考虑到拼接形成文件的数据块中的起始数据块包括类型字符串,因此,通过识别已删除的文件对应的多个数据块,确定不同类型的起始数据块和非起始数据块,后续按照识别到的不同类型的数据块进行拼接,恢复出已被删除的文件,从而提高了文件的准确性,也提高了文件恢复的效率。
图3是本申请实施例提供的一种文件恢复方法的流程图,应用于计算机设备中,如图3所示,该方法包括:
301、计算机设备响应于文件恢复指令,确定已存储的多条索引信息和多个数据块。
在本申请实施例中,计算机设备中存储有多个文件,每个文件是由至少一个数据块(Block)拼接得到的,可选地,数据块中包括多个字符,则至少一个数据块中的字符拼接得到一个完整的字符串,来表示对应的文件的内容。该计算机设备中还存储有多个文件对应的多个数据块及多条索引信息(Inode),索引信息用于指示文件与数据块之间的关系,每条索引信息包括文件标识或数据块标识中的至少一种,文件标识用于指示计算机设备中的文件,数据块标识用于指示计算机设备中的数据块,且文件标识指示的文件包括同一索引信息中的数据块标识指示的数据块。
在该计算机设备中,文件、数据块及索引信息分别存储在不同的存储区中。可选地,计算机设备中包括文件存储区、数据块存储区及索引标识存储区,该文件存储区中存储有多个文件,该数据块存储区中存储有多个数据块,该索引标识存储区中存储有多条索引信息。可选地,数据块存储区包括多个Group(组),每个Group中包括多个Block。
在该计算机设备中,任一文件、该文件对应的数据块及该文件对应的索引信息均未被删除时,该索引信息中包括文件标识及数据块标识,该文件标识指示该文件,该数据块标识指示该文件对应的数据块。通过该索引信息,即可获知该文件标识指示的文件是由该数据块标识指示的数据块拼接得到的。可选地,该索引信息中还包括多个数据块标识的拼接顺序、文件地址或者数据块地址中的至少一种。该拼接顺序是指多个数据块拼接成对应文件的先后顺序,该文件地址用于指示文件存储的位置,数据块地址用于指示数据块存储的位置。
在对计算机设备中的任一文件删除时,会导致该文件对应的索引信息被删除,或者,导致该文件对应的索引信息中的部分信息被删除,而不会删除文件对应的数据块,此时,已删除文件对应的数据块将不再对应有索引信息,或者,对应的索引信息不完整,因此,通过计算机设备中的多条索引信息和多个数据块,后续能够从多个数据块中筛选出已删除文件对应的数据块,从而将已删除文件进行恢复。
文件恢复指令用于指示恢复已删除的文件。在接收到文件恢复指令时,表示需要对已删除的文件进行恢复,因此,会确定已存储的多条索引信息及多个数据块,以便后续能够根据该多条索引信息及该多个数据块进行文件恢复。
在本申请实施例中,计算机设备包括多个存储区,每个存储区具有对应的位置,在系统结构目录中包括多个存储区的位置,以使后续能够根据系统结构目录,来确定各个存储区的位置。可选地,每个存储区具有存储区标识及地址信息,存储区标识用于指示对应的存储区,该地址信息用于指示对应的存储区的位置,在系统结构目录包括多个存储区标识及多个地址信息的对应关系。
在该计算机设备中,不同的存储区中存储不同类型的信息,例如,索引信息存储区仅存储索引信息,数据块存储区仅存储数据块,文件存储区仅存储文件。可选地,系统结构目录中包括存储区标识及每个存储区标识对应的信息类型标识,该信息类型标识用于表示存储区中的信息的类型。例如,系统结构目录中包括存储区标识1与信息类型标识A的对应关系,及存储区标识2与信息类型标识B的对应关系,信息类型标识A指示索引信息,则表示存储区标识1指示的存储区中存储有索引信息,信息类型标识B指示数据块,则表示存储区标识2指示的存储区中存储有数据块。
另外,每种文件系统都有固定的数据存储结构,根据计算机设备对应的系统结构目录,即可确定该计算机设备对应的文件系统的数据存储结构,从而能够确定数据块存储区。图4为一种文件系统的数据存储结构的示意图,该文件系统中包括主引导扇区(MasterBoot Record,MBR)、超级块(Super Block,SB)、文件系统(FileSystem,FS)结构及数据块存储区,该主引导扇区是计算机开机后访问硬盘时所必须要读取的首个扇区,超级块在文件系统的根上,用于描述和维护文件系统的状态,文件系统是一种存储和组织数据的方法,它使得访问数据和查找数据变得容易。
在一种可能实现方式中,计算机设备包括索引信息存储区及数据块存储区,则该步骤301包括:响应于文件恢复指令,读取文件系统的系统结构目录,确定索引信息存储区及数据块存储区的位置,按照索引信息存储区的位置,读取索引信息存储区,得到多条索引信息,按照数据块存储区的位置,读取数据块存储区,得到多个数据块。
其中,系统结构目录用于指示多个存储区的位置。通过读取系统结构目录,能够获知任一个或多个存储区的位置。
在一种可能实现方式中,该计算机设备为终端,该终端安装有文件恢复应用,则该步骤301包括:启动该文件恢复应用,在文件恢复应用的应用界面中显示文件恢复按钮,响应于对该文件恢复按钮的触发操作,确定已存储的多条索引信息和多个数据块。
其中,该文件恢复应用为恢复已删除文件的应用,该文件恢复按钮用于触发文件恢复指令。
可选地,在应用界面中显示文件恢复按钮及多个文件类型标识,在选中目标类型标识的情况下,响应于对该文件恢复按钮的触发操作,确定已存储的多条索引信息和多个数据块。
其中,文件类型标识用于指示文件类型,不同的文件类型标识指示的文件类型不同。例如,多个文件类型标识包括文件类型标识1、文件类型标识2及文件类型标识3,文件类型标识1指示文本类型,文件类型标识2指示视频类型,文件类型标识3指示图片类型等。
通过显示多个文件类型标识,供用户选择需要恢复的文件类型标识,且通过选择目标类型标识,以使后续仅恢复属于目标文件类型的文件即可,无需恢复其他文件类型的文件,从而提高了文件恢复的效率。
在一种可能实现方式中,该计算机设备为终端,该终端安装有文件恢复应用,则该步骤301包括:启动该文件恢复应用,在该文件恢复应用的应用界面中显示文件恢复按钮及多个文件类型标识,在选中目标类型标识的情况下,响应于对该文件恢复按钮的触发操作,读取当前系统的系统结构目录,确定索引信息存储区及数据块存储区的位置,按照索引信息存储区及数据块存储区的位置,分别读取索引信息存储区及数据块存储区,得到多条索引信息和多个数据块。
在一种可能实现方式中,该计算机设备为服务器,则该步骤301包括:服务器接收终端发送的文件恢复请求,根据该文件恢复请求,确定已存储的多条索引信息和多个数据块。可选地,终端启动文件恢复应用,在文件恢复应用的应用界面中显示文件恢复按钮,响应于对该文件恢复按钮的触发操作,发送该文件恢复请求。
302、计算机设备根据多条索引信息,在多个数据块中查询至少一个目标数据块。
在本申请实施例中,在文件、文件对应的数据块及文件对应的索引信息均未被删除时,文件对应的索引信息满足索引条件,即该索引信息中包括文件标识及数据块标识,或者,该索引信息满足索引信息格式,该索引信息能够指示文件与数据块之间的对应关系。而在任一文件被删除后,会导致文件对应的索引信息被删除,或者,索引信息中的部分信息被删除,将无法确定部分数据块与文件之间的对应关系,因此,通过多条索引信息,从多个数据块中筛选出对应文件已被删除的目标数据块,以便后续根据目标数据块对已删除的文件进行恢复。
其中,在删除任一文件,导致该文件对应的索引信息中的部分信息被删除的情况下,会导致该索引信息不满足索引条件,即该索引信息不包括文件标识,或者,该索引信息不包括数据块标识,或者,该索引信息不包括文件标识和数据块标识,或者,该索引信息的格式不满足索引信息格式,因此,当任一索引信息不满足索引条件时,表示该索引信息对应的文件已被删除,则将该索引信息对应的数据块提取出来作为目标数据块,以便后续对已删除的文件进行恢复。
在一种可能实现方式中,该步骤302包括:从多条索引信息中,查询不满足索引条件的目标索引信息,将目标索引信息中目标数据块标识对应的数据块,确定为目标数据块。
其中,目标索引信息为不满足索引条件的索引信息,也即是不完整的索引信息。由于在删除目标索引信息对应的文件时,会导致目标索引信息中的部分信息被删除,从而导致目标索引信息不完整,因此,在查询到不完整的索引信息后,即可确定不完整的索引信息对应的文件被删除,因此需要将不完整的索引信息对应的数据块提取出来,以便后续对已删除的文件进行恢复。
可选地,在获取到多条索引信息后,遍历多条索引信息,从多条索引信息中确定不满足索引条件的目标索引信息。
在一种可能实现方式中,该步骤302包括:确定多条索引信息中包括的数据块标识,将多个数据块中,除确定的数据块标识对应的数据块之外的其他数据块,确定为目标数据块。
由于在删除文件时,会将文件对应的索引信息删除,则部分数据块将不存在对应的索引信息,因此,从多个数据块中,筛选出多条索引信息包括的数据块标识未对应的数据块,即为已删除对应的文件的数据块。
可选地,根据多条索引信息中包括的数据块标识,遍历多个数据块,从将多个数据块中,筛选出除确定的数据块标识对应的数据块之外的其他数据块,确定为目标数据块。
需要说明的是,本申请实施例是以通过索引信息来确定目标数据块为例进行说明的,而在另一实施例中,无需执行步骤301-302,在接收到文件恢复指令时,采用其他方式,确定已删除文件对应的多个目标数据块。
303、计算机设备识别多个目标数据块中的起始数据块及非起始数据块。
在本申请实施例中,任一文件是由至少一个数据块拼接得到的,且在至少一个数据块中,第一个数据块的数据头部包括用于指示该文件所属的文件类型的类型字符串,而其他的数据块的数据头部均不包括类型字符串,因此,从多个目标数据块中识别出起始数据块及非起始数据块,以使后续在拼接数据块时,将起始数据块作为待恢复文件中的第一个数据块,与其他的非起始数据块进行拼接处理,来得到恢复出的文件,以提高恢复文件的效率。
其中,起始数据块(HEAD BLOCK)的数据头部包括类型字符串,非起始数据块的数据头部不包括类型字符串。
类型字符串为用于表示文件类型的字符串,可选地,该类型字符串为MagicNumber(幻数),不同的文件类型对应的字符串不同。例如,taz(一种压缩文件)文件类型对应的类型字符串为8b1f0008,该taz文件类型的文件的扩展名为.tar.gz;binlog(一种二进制日志)文件类型对应的类型字符串为62fe6e69,binlog(用于记录用户对数据库更新的信息,如更改数据库表和更改内容的SQL(Structured Query Language,结构化查询语句)语句都会记录到binlog里;tar文件类型对应的类型字符串为usTar,rar文件类型对应的类型字符串为rar。
可选地,起始数据块中包括多个字符,该起始数据块的数据头部包括类型字符串,在类型字符串之后的字符为表示文件对应的内容的字符。
在一种可能实现方式中,文件恢复指令携带目标类型标识,目标类型标识用于指示待恢复的目标文件所属的文件类型;该步骤303包括:确定目标类型标识对应的目标类型字符串,根据目标类型字符串,识别多个目标数据块中的起始数据块及非起始数据块。
在本申请实施例中,已被删除的文件中可能会包括多个文件类型的文件,当文件恢复指令携带目标类型标识时,表示仅需要恢复目标类型标识指示的目标文件类型的文件即可,无需再恢复其他文件类型的文件,因此,在筛选待恢复文件的数据块时,仅筛选出包括目标类型字符串的起始数据块即可,而不再考虑包括其他类型字符串的数据块,从而提高了恢复文件的效率。
304、计算机设备将起始数据块和非起始数据块进行拼接处理,得到至少一个目标文件。
在本申请实施例中,每个文件包括至少一个数据块。可选地,任一文件包括一个数据块,或者,该文件包括多个数据块。在文件包括一个数据块时,通过该数据块即可创建对应的文件,在文件包括多个数据块时,通过确定多个数据块的起始数据块和非起始数据块,将起始数据块和非起始数据块拼接处理得到对应的文件。可选地,通过CAT(Concatenat,拼接)命令,将起始数据块与非起始数据块进行拼接处理得到至少一个目标文件。
由于从多个数据块中得到的起始数据块包括一个或多个,每个起始数据块对应一个文件,因此,通过将起始数据块和非起始数据块进行拼接处理,能够得到一个或多个目标文件。
在本申请实施例中,从多个数据块中识别到的起始数据块包括一个或多个,非起始数据块为一个或多个,则根据起始数据块和非起始数据块的个数不同,该步骤304包括以下三种方式:
第一种方式,起始数据块为一个,非起始数据块为一个,该步骤304包括步骤3041:
3041、将起始数据块与非起始数据块进行拼接处理,得到一个目标文件。
在本申请实施例中,起始数据块为文件的第一个数据块,非起始数据块为文件中除第一个数据块外的其他数据块,因此,起始数据块和非起始数据块均为一个时,将该起始数据块与非起始数据块进行拼接处理,能够得到一个目标文件。
在一种可能实现方式中,起始数据块包括第一字符串,非起始数据块包括第二字符串,则该步骤3041包括:将第一字符串和第二字符串进行拼接处理,得到拼接字符串,将该拼接字符串确定为一个目标文件。
在本申请实施例中,在将多个数据块进行拼接处理的过程中,需要对拼接的数据块进行验证,以保证拼接的数据块准确,从而提高文件的准确性。并且对拼接得到的数据块进行尾部验证,以确定文件是否结束,以保证文件的完整性。则在一种可能实现方式中,该步骤3041包括:响应于起始数据块不满足结束条件,将起始数据块与非起始数据块进行拼接处理,得到拼接数据块,响应于拼接数据块满足拼接条件及结束条件,将该拼接数据块确定为一个目标文件。
其中,拼接条件为数据块的读取操作执行成功,任一拼接数据块满足拼接条件,表示该拼接数据块拼接正确,即形成该拼接数据块的至少两个数据块的拼接顺序正确,当对拼接数据块的读取操作执行失败时,表示形成该拼接数据块的至少两个数据块的拼接顺序不正确。结束条件为数据块的数据尾部包括结束字符串,该结束字符串为用于表示文件结束的字符串。
可选地,该结束字符串为类型字符串。若拼接数据块的数据头部包括类型字符串,拼接数据块的尾部数据包括结束字符串,且该结束字符串为类型字符串,则数据头部包括的类型字符串与结束字符串相同。例如,在目标文件对应的拼接数据块中,该拼接数据块的数据头部包括类型字符串1,该拼接数据块的数据尾部包括类型字符串1。
可选地,该结束字符串为其他的字符串。例如,该结束字符串为16个0,或者,该结束字符串为16个1等。
通过拼接条件和结束条件,保证拼接得到的数据块的准确性和完整性,从而提高了恢复的文件的准确性和完整性。
在一种可能实现方式中,在得到拼接数据块后,验证拼接数据块是否满足拼接条件的过程,包括:调用与起始数据块中的类型字符串匹配的目标读取工具,对拼接数据块执行读取操作,响应于目标读取工具读取的结束位置与拼接数据块的结束位置相同,确定拼接数据块满足拼接条件,响应于读取工具读取的结束位置与拼接数据块的结束位置不相同,确定拼接数据块不满足拼接条件。
其中,类型字符串匹配的目标读取工具,用于读取属于该类型字符串所指示的文件类型的文件,例如,文件为视频,则该读取工具为视频播放器,如果该文件是文本,则该读取工具为文本阅读器等。
可选地,通过/proc(一种文件系统)系统监测读取工具读取的结束位置。例如,监控/proc/<PID>/fd/0(读取工具的读取进程),来确定读取工具读取的结束位置。
在本申请实施例中,任一文件是由多个数据块按照顺序拼接得到的,则在通过与该文件匹配的读取工具读取该文件时,能够按照多个数据块的排列顺序读取整个文件,也即是能够读取到该文件的结束位置。因此,在读取工具对拼接数据块执行读取操作时,如果该读取工具能够读取到拼接数据块的结束位置,则表示对该拼接数据块的读取操作执行成功,该拼接数据块拼接正确,即确定拼接数据块满足拼接条件;如果该读取工具将无法读取到该拼接数据块的结束位置,则表示对该拼接数据块的读取操作执行不成功,该拼接数据块拼接不正确,即确定拼接数据块不满足拼接条件。
例如,一个文件对应有3个数据块,该3个数据块的拼接顺序为数据块1、数据块2及数据块3,在将数据块拼接的过程中,若当前的拼接数据块的拼接顺序为数据块1、数据块3,则通过读取工具读取当前的拼接数据块时,仅能够读取到数据块1的结束位置,而无法读取到数据块3的结束位置,从而确定当前的拼接数据块不正确;若当前的拼接数据块的拼接顺序为数据块1、数据块2,则通过读取工具读取当前的拼接数据块时,能够读取到数据块2的结束位置,从而确定当前的拼接数据块正确。如图5所示,将起始数据块与第N个非起始数据块进行拼接处理得到拼接数据块,在通过读取工具读取该拼接数据块时,读取的结束位置在起始数据块的结束位置,而不是拼接数据块的结束位置,则表示该拼接数据块拼接不正确。
可选地,根据起始数据块中的类型字符串,确定类型字符串对应的文件类型,将文件类型对应的读取工具,确定为类型字符串匹配的读取工具。
由于起始数据块中包括的类型字符串指示文件类型,由该起始数据块与其他数据块拼接得到的文件也属于该文件类型,因此,将文件类型对应的读取工具,确定为类型字符串匹配的读取工具,以使能够读取拼接后的数据块。
第二种方式,起始数据块为多个,非起始数据块为一个,则包括以下步骤3042-3044:
3042、从多个起始数据块中,识别数据尾部不包括结束字符串的第一数据块。
在本申请实施例中,一个文件是由至少一个数据块拼接得到,在该至少一个数据块中,第一个数据块的数据头部包括类型字符串,在最后一个数据块的数据为包括结束字符串,以表示文件对应的数据的开始和结束。并且,非起始数据块无法单独作为一个文件,必须与一个起始数据块拼接之后,才能与生成相应的文件,因此,在起始数据块为多个,非起始数据块为一个的情况下,仅能有一个起始数据块与该非起始数据块能够拼接形成一个文件,则从多个起始数据块中,识别数据尾部不包括结束字符串的第一数据块,表示该需要与一个非起始数据块进行拼接,从而得到一个完整的文件。
3043、将第一数据块与非起始数据块进行拼接处理,将得到的拼接数据块确定为一个目标文件。
通过将两个数据块进行拼接处理,以使该两个数据块的数据形成一个完成的数据块,作为恢复出来的一个目标文件。
3044、将多个起始数据块中除第一数据块之外的每个第二数据块,分别确定为一个目标文件。
由于每个第二数据块中的头部数据包括类型字符串,尾部数据包括结束字符串,则表示每个第二数据块即可代表一个文件,因此,将每个第二数据块分别作为恢复出来的一个目标文件。
第三种方式,起始数据块为一个或多个,非起始数据块为多个,则包括以下步骤3045-3047:
3045、将起始数据块与任一个非起始数据块进行拼接处理,得到满足拼接条件的第一拼接数据块。
在本申请实施例中,起始数据块包括一个或多个,如果起始数据块包括一个,则该由该起始数据块与多个非起始数据块拼接得到一个文件,如果起始数据块包括多个,则由该多个起始数据块与多个非起始数据块进行拼接处理,得到多个文件,且不同的文件对应的数据块互不相同。
对于任一起始数据块,在多个非起始数据块中,仅有一个非起始数据块与该起始数据块拼接之后,能够得到满足拼接条件的拼接数据块,因此,分别将每个非起始数据块与起始数据块进行拼接处理,并对得到的拼接数据块进行验证,以得到满足拼接条件的第一拼接数据块。
在一种可能实现方式中,该步骤3045包括:将起始数据块与任一个非起始数据块进行拼接处理,得到第一备选数据块,响应于对第一备选数据块的读取操作执行失败,将起始数据块与剩余的任一个非起始数据块进行拼接处理,直至得到满足拼接条件的第一拼接数据块。
在将起始数据块与任一起始数据块进行拼接处理,得到备选数据块,在对该备选数据块读取操作执行失败时,表示该起始数据块与该非起始数据块拼接不正确,因此无法对该备选数据块进行读取,因此需要将该数据块与剩余的任一个非起始数据块进行拼接处理,后续在对拼接得到的数据块执行读取操作,如果还是读取操作执行失败,则重复上述步骤继续与剩余的任一个非起始数据块进行拼接处理,直到得到的拼接数据块满足拼接条件。
3046、响应于第一拼接数据块满足结束条件,将第一拼接数据块确定为一个目标文件。
如果该第一拼接数据块的数据尾部包括结束字符串,即表示文件结束,则将该第一拼接数据块确定为一个目标文件。
3047、响应于第一拼接数据块不满足结束条件,继续将第一拼接数据块与剩余的任一个或多个非起始数据块进行拼接处理,直至得到满足拼接条件和结束条件的拼接数据块,将拼接数据块确定为一个目标文件。
如果第一拼接数据块不满足结束条件,表示第一拼接数据块对应的文件还未结束,在第一拼接数据块之后还需要拼接其他的非起始数据块,因此,将第一拼接数据块与剩余的非起始数据块进行拼接处理,以保证得到完整的文件。
在将第一拼接数据块与剩余的任一非起始数据块进行拼接处理后,需要确定新得到的拼接数据块是否满足拼接条件,在得到满足拼接条件的第二拼接数据块之后,再确定第二拼接数据块是否满足结束条件,如果第二拼接数据块满足结束条件,则将第二拼接数据块作为一个拼接数据块,如果第二拼接数据块不满足结束条件,则再将第二拼接数据块与剩余的任一非起始数据块进行拼接处理,之后在进行验证得到的拼接数据块是否满足拼接条件和结束条件,重复执行上述步骤,直至得到满足拼接条件和结束条件的拼接数据块。
需要说明的是,本申请实施例仅是以任一个起始数据块与至少一个非起始数据块拼接形成一个目标文件为例进行说明的,如果起始数据块为多个,在第一个起始数据块与至少一个非起始数据块拼接形成一个目标文件后,将第二个起始数据块与剩余的非起始数据块进行拼接处理,从而得到第二个目标文件,重复执行上述步骤,从而能够得到多个目标文件。
本申请实施例实现了一种自动恢复文件的方案,无需人工恢复文件,减少了人力消耗,且考虑到拼接形成文件的数据块中的起始数据块包括类型字符串,因此,通过识别已删除的文件对应的多个数据块,确定不同类型的起始数据块和非起始数据块,后续按照识别到的不同类型的数据块进行拼接,恢复出已被删除的文件,从而提高了文件的准确性,也提高了文件恢复的效率。
并且,在将多个数据块进行拼接处理的过程中,通过拼接条件及结束条件对拼接数据块进行验证,以确保得到拼接数据块的正确性和完整性,从而提高了文件的成功率,也提高了文件的准确性。
并且,通过选择待恢复的文件的文件类型,以使仅恢复选择的文件类型的文件,无需再恢复其他文件类型的文件,从而提高了文件恢复效率。
基于上述实施例,提供了一种文件恢复的流程,如图6所示,该文件恢复的流程包括:
1、响应于文件恢复指令,根据存储的多个索引信息,从存储的多个数据块中,提取出已删除文件对应的多个目标数据块。
2、识别多个数据块中的起始数据块和多个非起始数据块。
3、将起始数据块与任一非起始数据块进行拼接处理,得到拼接数据块。
4、对拼接数据块进行正确性验证,验证拼接数据块是否满足拼接条件,如果拼接数据块不满足拼接条件,则执行步骤5,如果拼接数据块满足拼接条件,则执行步骤6。
5、将起始数据块与剩余的下一个非起始数据块进行拼接处理,得到新的拼接数据块,并再次对新的拼接数据块进行正确性验证,直至得到满足拼接条件的拼接数据块,之后执行步骤6。
6、对拼接数据块进行尾部验证,验证拼接数据块是否满足结束条件,如果满足结束条件,则执行步骤7,如果不满足结束条件,则执行步骤8。
7、将拼接数据块作为一个目标文件。
8、将拼接数据块与下一个非起始数据块进行拼接处理,直至得到满足拼接条件及结束条件的拼接数据块,将满足拼接条件及结束条件的拼接数据块作为一个文件。
基于上述实施例,提供了一种提取数据块的流程,如图7所示,该提取数据块的流程包括:
1、扫描文件系统结构,确定索引信息存储区及数据块存储区。
2、遍历索引信息存储区中的多条索引信息,确定多条索引信息中是否有不完整的索引信息,如果包括不完整的索引信息,则执行步骤3,如果不包括不完整的索引信息,则执行步骤4。
3、根据不完整的索引信息包括的数据块标识,提取对应的数据块,作为已删除文件对应的目标数据块。
4、根据多条索引信息中包括的数据块标识,遍历多个数据块,从中提取未有数据块标识对应的数据块,作为已删除文件对应的目标数据块。
基于上述实施例,提供了一种数据块拼接验证的流程,如图8所示,该数据块拼接验证的流程包括:
1、将起始数据块与一个非起始数据块进行拼接处理,得到拼接数据块。
2、对该拼接数据块进行验证,确定形成该拼接数据块的至少两个数据块是否匹配,如果不匹配,表示拼接数据块拼接不正确,则执行步骤3,如果匹配,表示拼接数据块拼接正确,则执行步骤4。
3、将起始数据块与剩余的下一个非起始数据块进行拼接处理,直至得到拼接正确的拼接数据块,之后执行步骤4。
4、对拼接数据块进行结尾验证,如果验证成功,则将该拼接数据块作为一个文件,如果验证不成功,则将拼接数据块与剩余的下一个非起始数据块进行拼接,直至得到拼接正确、且结尾验证成功的拼接数据块,将拼接正确、且结尾验证成功的拼接数据块作为一个目标文件。
图9是本申请实施例提供的一种文件恢复装置的结构示意图,如图9所示,该装置包括:
第一确定模块901,用于响应于文件恢复指令,确定已删除文件对应的多个目标数据块;
识别模块902,用于识别多个目标数据块中的起始数据块及非起始数据块,起始数据块的数据头部包括类型字符串,非起始数据块的数据头部不包括类型字符串;
拼接处理模块903,用于将起始数据块和非起始数据块进行拼接处理,得到至少一个目标文件。
在一种可能实现方式中,起始数据块为多个,非起始数据块为一个,如图10所示,拼接处理模块903,包括:
第一识别单元9031,用于从多个起始数据块中,识别数据尾部不包括结束字符串的第一数据块;
拼接处理单元9032,用于将第一数据块与非起始数据块进行拼接处理,将得到的拼接数据块确定为一个目标文件。
在另一种可能实现方式中,如图10所示,装置还包括:
第二确定模块904,用于将多个起始数据块中除第一数据块之外的每个第二数据块,分别确定为一个目标文件。
在另一种可能实现方式中,非起始数据块为多个,如图10所示,拼接处理模块903,包括:
拼接处理单元9032,用于将起始数据块与任一个非起始数据块进行拼接处理,得到满足拼接条件的第一拼接数据块,拼接条件为数据块的读取操作执行成功;
第一确定单元9033,用于响应于第一拼接数据块满足结束条件,将第一拼接数据块确定为一个目标文件,结束条件为数据块的数据尾部包括结束字符串。
在另一种可能实现方式中,如图10所示,装置还包括:
第三确定模块905,用于响应于第一拼接数据块不满足结束条件,继续将第一拼接数据块与剩余的任一个或多个非起始数据块进行拼接处理,直至得到满足拼接条件和结束条件的拼接数据块,将拼接数据块确定为一个目标文件。
在另一种可能实现方式中,拼接处理单元9032,用于将起始数据块与任一个非起始数据块进行拼接处理,得到第一备选数据块;响应于对第一备选数据块的读取操作执行失败,将起始数据块与剩余的任一个非起始数据块进行拼接处理,直至得到满足拼接条件的第一拼接数据块。
在另一种可能实现方式中,如图10所示,装置还包括:
执行模块906,用于调用与起始数据块中的类型字符串匹配的目标读取工具,对任一拼接数据块执行读取操作;
第四确定模块907,用于响应于目标读取工具读取的结束位置与拼接数据块的结束位置相同,确定拼接数据块满足拼接条件;
第四确定模块907,还用于响应于读取工具读取的结束位置与拼接数据块的结束位置不相同,确定拼接数据块不满足拼接条件。
在另一种可能实现方式中,如图10所示,装置还包括:
第五确定模块908,用于根据起始数据块中的类型字符串,确定类型字符串对应的文件类型;
第六确定模块909,用于将文件类型对应的读取工具,确定为类型字符串匹配的读取工具。
在另一种可能实现方式中,如图10所示,第一确定模块901,包括:
第二确定单元9011,用于响应于文件恢复指令,确定已存储的多条索引信息和多个数据块,每条索引信息包括文件标识或数据块标识中的至少一种,文件标识指示的文件包括同一索引信息中的数据块标识指示的数据块;
查询单元9012,用于根据多条索引信息,在多个数据块中查询至少一个目标数据块,多条索引信息中不包括与目标数据块对应且满足索引条件的索引信息,索引条件是指索引信息包括文件标识和数据块标识,或者,索引信息满足索引信息格式。
在另一种可能实现方式中,查询单元9012,用于从多条索引信息中,查询不满足索引条件的目标索引信息;将目标索引信息中目标数据块标识对应的数据块,确定为目标数据块。
在另一种可能实现方式中,查询单元9012,用于确定多条索引信息中包括的数据块标识;将多个数据块中,除确定的数据块标识对应的数据块之外的其他数据块,确定为目标数据块。
在另一种可能实现方式中,文件恢复指令携带目标类型标识,目标类型标识用于指示待恢复的目标文件所属的文件类型;
如图10所示,识别模块902,包括:
第三确定单元9021,用于确定目标类型标识对应的目标类型字符串;
第二识别单元9022,用于根据目标类型字符串,识别多个目标数据块中的起始数据块及非起始数据块,起始数据块的数据头部包括目标类型字符串。
图11示出了本申请一个示例性实施例提供的电子设备1100的结构框图。该电子设备1100可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
电子设备1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1101所执行以实现本申请中方法实施例提供的文件恢复方法。
在一些实施例中,电子设备1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、显示屏1105、摄像头组件1106、音频电路1107、定位组件1108和电源1109中的至少一种。
外围设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1105可以为一个,设置在电子设备1100的前面板;在另一些实施例中,显示屏1105可以为至少两个,分别设置在电子设备1100的不同表面或呈折叠设计;在另一些实施例中,显示屏1105可以是柔性显示屏,设置在电子设备1100的弯曲表面上或折叠面上。甚至,显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。显示屏1105可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。
定位组件1108用于定位电子设备1100的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1108可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1109用于为电子设备1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。当电源1109包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,电子设备1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。
加速度传感器1111可以检测以电子设备1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1111可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1111采集的重力加速度信号,控制显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1111还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1112可以检测电子设备1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对电子设备1100的3D动作。处理器1101根据陀螺仪传感器1112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1113可以设置在电子设备1100的侧边框和/或显示屏1105的下层。当压力传感器1113设置在电子设备1100的侧边框时,可以检测用户对电子设备1100的握持信号,由处理器1101根据压力传感器1113采集的握持信号进行左右手识别或快捷操作。当压力传感器1113设置在显示屏1105的下层时,由处理器1101根据用户对显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1114用于采集用户的指纹,由处理器1101根据指纹传感器1114采集到的指纹识别用户的身份,或者,由指纹传感器1114根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1114可以被设置在电子设备1100的正面、背面或侧面。当电子设备1100上设置有物理按键或厂商Logo时,指纹传感器1114可以与物理按键或厂商Logo集成在一起。
光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制显示屏1105的显示亮度。具体地,当环境光强度较高时,调高显示屏1105的显示亮度;当环境光强度较低时,调低显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1115采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
接近传感器1116,也称距离传感器,设置在电子设备1100的前面板。接近传感器1116用于采集用户与电子设备1100的正面之间的距离。在一个实施例中,当接近传感器1116检测到用户与电子设备1100的正面之间的距离逐渐变小时,由处理器1101控制显示屏1105从亮屏状态切换为息屏状态;当接近传感器1116检测到用户与电子设备1100的正面之间的距离逐渐变大时,由处理器1101控制显示屏1105从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图11中示出的结构并不构成对电子设备1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图12是本申请实施例提供的一种服务器的结构示意图,该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central ProcessingUnits,CPU)1201和一个或一个以上的存储器1202,其中,存储器1202中存储有至少一条程序代码,至少一条程序代码由处理器1201加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
服务器1200可以用于执行上述文件恢复方法中服务器所执行的步骤。
本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现上述实施例的文件恢复方法中所执行的操作。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现上述实施例的文件恢复方法中所执行的操作。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备实现如上述实施例的文件恢复方法中所执行的操作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请实施例的可选实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种文件恢复方法,其特征在于,所述方法包括:
响应于文件恢复指令,确定已删除文件对应的多个目标数据块;
识别所述多个目标数据块中的起始数据块及非起始数据块,所述起始数据块的数据头部包括类型字符串,所述非起始数据块的数据头部不包括所述类型字符串;
将所述起始数据块和所述非起始数据块进行拼接处理,得到至少一个目标文件。
2.根据权利要求1所述的方法,其特征在于,所述起始数据块为多个,所述非起始数据块为一个,所述将所述起始数据块和所述非起始数据块进行拼接处理,得到至少一个目标文件,包括:
从多个所述起始数据块中,识别数据尾部不包括结束字符串的第一数据块;
将所述第一数据块与所述非起始数据块进行拼接处理,将得到的拼接数据块确定为一个目标文件。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将多个所述起始数据块中除所述第一数据块之外的每个第二数据块,分别确定为一个目标文件。
4.根据权利要求1所述的方法,其特征在于,所述非起始数据块为多个,所述将所述起始数据块和所述非起始数据块进行拼接处理,得到至少一个目标文件,包括:
将所述起始数据块与任一个所述非起始数据块进行拼接处理,得到满足拼接条件的第一拼接数据块,所述拼接条件为数据块的读取操作执行成功;
响应于所述第一拼接数据块满足结束条件,将所述第一拼接数据块确定为一个目标文件,所述结束条件为数据块的数据尾部包括结束字符串。
5.根据权利要求4所述的方法,其特征在于,所述将所述起始数据块与任一个所述非起始数据块进行拼接处理,得到满足拼接条件的第一拼接数据块之后,所述方法还包括:
响应于所述第一拼接数据块不满足所述结束条件,继续将所述第一拼接数据块与剩余的任一个或多个所述非起始数据块进行拼接处理,直至得到满足所述拼接条件和所述结束条件的拼接数据块,将所述拼接数据块确定为一个目标文件。
6.根据权利要求4所述的方法,其特征在于,所述将所述起始数据块与任一个所述非起始数据块进行拼接处理,得到满足拼接条件的第一拼接数据块,包括:
将所述起始数据块与任一个所述非起始数据块进行拼接处理,得到第一备选数据块;
响应于对所述第一备选数据块的读取操作执行失败,将所述起始数据块与剩余的任一个所述非起始数据块进行拼接处理,直至得到满足所述拼接条件的第一拼接数据块。
7.根据权利要求4-6任一项所述的方法,其特征在于,所述方法还包括:
调用与所述起始数据块中的类型字符串匹配的目标读取工具,对任一拼接数据块执行读取操作;
响应于所述目标读取工具读取的结束位置与所述拼接数据块的结束位置相同,确定所述拼接数据块满足所述拼接条件;
响应于所述读取工具读取的结束位置与所述拼接数据块的结束位置不相同,确定所述拼接数据块不满足所述拼接条件。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
根据所述起始数据块中的类型字符串,确定所述类型字符串对应的文件类型;
将所述文件类型对应的读取工具,确定为所述类型字符串匹配的读取工具。
9.根据权利要求1所述的方法,其特征在于,所述响应于文件恢复指令,确定已删除文件对应的多个目标数据块,包括:
响应于所述文件恢复指令,确定已存储的多条索引信息和多个数据块,每条索引信息包括文件标识或数据块标识中的至少一种,所述文件标识指示的文件包括同一索引信息中的数据块标识指示的数据块;
根据所述多条索引信息,在所述多个数据块中查询至少一个目标数据块,所述多条索引信息中不包括与所述目标数据块对应且满足索引条件的索引信息,所述索引条件是指所述索引信息包括文件标识和数据块标识,或者,所述索引信息满足索引信息格式。
10.根据权利要求9所述的方法,其特征在于,所述根据所述多条索引信息,从所述多个数据块中查询至少一个目标数据块,包括:
从所述多条索引信息中,查询不满足所述索引条件的目标索引信息;
将所述目标索引信息中目标数据块标识对应的数据块,确定为目标数据块。
11.根据权利要求9所述的方法,其特征在于,所述根据所述多条索引信息,从所述多个数据块中查询至少一个目标数据块,包括:
确定所述多条索引信息中包括的数据块标识;
将所述多个数据块中,除确定的数据块标识对应的数据块之外的其他数据块,确定为目标数据块。
12.根据权利要求1所述的方法,其特征在于,所述文件恢复指令携带目标类型标识,所述目标类型标识用于指示待恢复的目标文件所属的文件类型;
所述识别所述多个目标数据块中的起始数据块及非起始数据块,包括:
确定所述目标类型标识对应的目标类型字符串;
根据所述目标类型字符串,识别所述多个目标数据块中的所述起始数据块及所述非起始数据块,所述起始数据块的数据头部包括所述目标类型字符串。
13.一种文件恢复装置,其特征在于,所述装置包括:
第一确定模块,用于响应于文件恢复指令,确定已删除文件对应的多个目标数据块;
识别模块,用于识别所述多个目标数据块中的起始数据块及非起始数据块,所述起始数据块的数据头部包括类型字符串,所述非起始数据块的数据头部不包括所述类型字符串;
拼接处理模块,用于将所述起始数据块和所述非起始数据块进行拼接处理,得到至少一个目标文件。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现如权利要求1至12任一权利要求所述的文件恢复方法中所执行的操作。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至12任一权利要求所述的文件恢复方法中所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010984168.6A CN112084157A (zh) | 2020-09-18 | 2020-09-18 | 文件恢复方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010984168.6A CN112084157A (zh) | 2020-09-18 | 2020-09-18 | 文件恢复方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112084157A true CN112084157A (zh) | 2020-12-15 |
Family
ID=73737407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010984168.6A Pending CN112084157A (zh) | 2020-09-18 | 2020-09-18 | 文件恢复方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084157A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597234A (zh) * | 2020-12-29 | 2021-04-02 | 拉卡拉支付股份有限公司 | 数据传输方法、装置、电子设备、存储介质及程序产品 |
CN113010222A (zh) * | 2021-02-07 | 2021-06-22 | 神威超算(北京)科技有限公司 | 一种文件处理的方法和服务器 |
CN114492427A (zh) * | 2021-12-31 | 2022-05-13 | 厦门市美亚柏科信息股份有限公司 | 一种数据恢复方法及终端 |
-
2020
- 2020-09-18 CN CN202010984168.6A patent/CN112084157A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597234A (zh) * | 2020-12-29 | 2021-04-02 | 拉卡拉支付股份有限公司 | 数据传输方法、装置、电子设备、存储介质及程序产品 |
CN113010222A (zh) * | 2021-02-07 | 2021-06-22 | 神威超算(北京)科技有限公司 | 一种文件处理的方法和服务器 |
CN113010222B (zh) * | 2021-02-07 | 2024-10-29 | 中诚华隆计算机技术有限公司 | 一种文件处理的方法和服务器 |
CN114492427A (zh) * | 2021-12-31 | 2022-05-13 | 厦门市美亚柏科信息股份有限公司 | 一种数据恢复方法及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536463B (zh) | 获取资源包的方法、装置、设备及计算机可读存储介质 | |
CN108415705B (zh) | 网页生成方法、装置、存储介质及设备 | |
CN110674022B (zh) | 行为数据获取方法、装置及存储介质 | |
CN112035410B (zh) | 日志存储方法、装置、节点设备及存储介质 | |
CN108491526B (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
US20150177903A1 (en) | Method and apparatus for controlling scale resolution in electronic device | |
CN112084157A (zh) | 文件恢复方法、装置、计算机设备及存储介质 | |
CN111241115B (zh) | 数据同步方法、装置、设备及存储介质 | |
US11934814B2 (en) | Application porting method and apparatus, device, and medium | |
CN111949680A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN110569220B (zh) | 游戏资源文件的展示方法、装置、终端及存储介质 | |
CN112162843A (zh) | 工作流执行方法、装置、设备及存储介质 | |
CN111191176A (zh) | 网站内容更新方法、装置、终端及存储介质 | |
CN110995842A (zh) | 业务数据下载方法、装置、设备及存储介质 | |
CN111522798B (zh) | 数据同步方法、装置、设备及可读存储介质 | |
CN113703956A (zh) | 训练任务执行方法、装置、设备及存储介质 | |
CN110134902B (zh) | 资料信息生成方法、装置及存储介质 | |
CN112181915A (zh) | 执行业务的方法、装置、终端和存储介质 | |
CN110321332B (zh) | 多媒体文件恢复方法、装置、终端和存储介质 | |
CN112698787A (zh) | 写数据方法、装置及计算机存储介质 | |
CN114253442A (zh) | 用于前后台分离系统的模块处理方法、装置及存储介质 | |
CN111294320B (zh) | 数据转换的方法和装置 | |
CN113268234A (zh) | 页面生成方法、装置、终端和存储介质 | |
CN112711636A (zh) | 数据同步方法、装置、设备及介质 | |
CN111104566A (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 |