CN116860509B - Pst文件的修复方法、设备及存储介质 - Google Patents

Pst文件的修复方法、设备及存储介质 Download PDF

Info

Publication number
CN116860509B
CN116860509B CN202311126013.9A CN202311126013A CN116860509B CN 116860509 B CN116860509 B CN 116860509B CN 202311126013 A CN202311126013 A CN 202311126013A CN 116860509 B CN116860509 B CN 116860509B
Authority
CN
China
Prior art keywords
data
bid
brefbbt
file
pst file
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.)
Active
Application number
CN202311126013.9A
Other languages
English (en)
Other versions
CN116860509A (zh
Inventor
吴毓彬
黄德安
陈子文
姜亚明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Imyfone Technology Co ltd
Original Assignee
Shenzhen Imyfone Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Imyfone Technology Co ltd filed Critical Shenzhen Imyfone Technology Co ltd
Priority to CN202311126013.9A priority Critical patent/CN116860509B/zh
Publication of CN116860509A publication Critical patent/CN116860509A/zh
Application granted granted Critical
Publication of CN116860509B publication Critical patent/CN116860509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及文件修复领域,公开了一种PST文件的修复方法、设备及存储介质。该方法包括:接收待修复的PST文件;读取PST文件的文件头数据,根据文件头数据,查询PST文件中的根记录数据,其中,根记录数据包括:BrefNBT数据、BrefBBT数据;解析BrefNBT数据的数据结构,得到BrefNBT数据对应的BID数据集;根据BID数据集,对BrefBBT数据进行Blcoks Btree数据块校验处理,得到异常BID数据集;基于异常BID数据集,对BrefBBT数据、BrefNBT数据进行异常数据删除处理,得到更新BrefBBT数据、更新BrefNBT数据;基于更新BrefBBT数据和更新BrefNBT数据,对PST文件进行修复处理,生成修复后的PST文件。在本发明实施例中,解决了当前PST文件在程序崩溃、系统崩溃下的数据损坏无法修复的技术问题。

Description

PST文件的修复方法、设备及存储介质
技术领域
本发明涉及文件修复领域,尤其涉及一种PST文件的修复方法、设备及存储介质。
背景技术
在日常办公和商务沟通中,经常是通过邮件进行信息沟通,邮件信息对我们而言极其重要。如果我们使用软件进行收、发邮件时,可能会因为程序崩溃、系统崩溃或者误删除操作导致我们的邮件数据被损坏,无法打开邮件而丢失许多重要的数据和信息,这对用户的工作资源造成巨大浪费,降低了用户的工作效率。
目前用户可以使用Microsoft Outlook自带的修复工具进行PST邮件文件的修复,但是官方自带的工具只能实现对误操作的邮件进行恢复,一旦文件是因软件崩溃等其他因素被损坏,该官方自带的工具就无法修复PST文件。因此,针对当前PST文件在程序崩溃、系统崩溃下的数据损坏无法修复的技术问题,需要一种新的技术来解决当前问题。
发明内容
本发明的主要目的在于解决当前PST文件在程序崩溃、系统崩溃下的数据损坏无法修复的技术问题。
本发明第一方面提供了一种PST文件的修复方法,所述PST文件的修复方法包括:
接收待修复的PST文件;
读取所述PST文件的文件头数据,根据所述文件头数据,查询所述PST文件中的根记录数据,其中,所述根记录数据包括:BrefNBT数据、BrefBBT数据;
解析所述BrefNBT数据的数据结构,得到所述BrefNBT数据对应的BID数据集;
根据所述BID数据集,对所述BrefBBT数据进行Blcoks Btree数据块校验处理,得到异常BID数据集;
基于所述异常BID数据集,对所述BrefBBT数据、所述BrefNBT数据进行异常数据删除处理,得到更新BrefBBT数据、更新BrefNBT数据;
基于所述更新BrefBBT数据和所述更新BrefNBT数据,对所述PST文件进行修复处理,生成修复后的PST文件。
可选的,在本发明第一方面的第一种实现方式中,所述解析所述BrefNBT数据的数据结构,得到所述BrefNBT数据对应的BID数据集包括:
解析所述BrefNBT数据的所有节点对应BID数据,组合生成BID数据集。
可选的,在本发明第一方面的第二种实现方式中,所述根据所述BID数据集,对所述BrefBBT数据进行Blcoks Btree数据块校验处理,得到异常BID数据集包括:
提取所述BID数据集中的目标BID数据;
根据所述目标BID数据,在所述BrefBBT数据进行Blcoks Btree数据查询处理,得到查询结果;
当所述查询结果为空时,则将所述目标BID数据写入预置收集框架集中,生成异常BID数据集;
当所述查询结果不为空时,则读取所述目标BID数据对应Blcoks Btree数据的存储占用值;
判断所述存储占用值是否小于预置占用阈值;
若小于预置占用阈值,则将所述目标BID数据写入预置收集框架集中,生成异常BID数据集。
可选的,在本发明第一方面的第三种实现方式中,所述解析所述BrefNBT数据的数据结构,得到所述BrefNBT数据对应的BID数据集包括:
读取所述BrefNBT数据的i个顶部节点数据,其中,所述顶部节点数据包括:顶部BID数据、Ni个子节点BID,i=1,2,…,M,Ni、M为正整数;
根据所述Ni个子节点BID,对所述BrefNBT数据中递归检索处理,得到递归BID数据集;
将i个所述顶部BID数据添加至所述递归BID数据集,生成所述BrefNBT数据对应的BID数据集。
可选的,在本发明第一方面的第四种实现方式中,所述基于所述异常BID数据集,对所述BrefBBT数据、所述BrefNBT数据进行异常数据删除处理,得到更新BrefBBT数据、更新BrefNBT数据包括:
读取所述异常BID数据集的异常BID数据;
将所述异常BID数据在所述BrefNBT数据中对应的节点信息进行删除处理,得到更新BrefNBT数据;
将所述异常BID数据在所述BrefBBT数据中对应的Blcoks Btree数据块进行删除处理,得到更新BrefBBT数据。
可选的,在本发明第一方面的第五种实现方式中,所述基于所述更新BrefBBT数据和所述更新BrefNBT数据,对所述PST文件进行修复处理,生成修复后的PST文件包括:
将所述更新BrefBBT数据覆写进所述PST文件中每个Blcoks Btree数据块,将所述更新BrefNBT数据覆写进所述PST文件中的节点数据树,生成覆写PST文件;
修改所述覆写PST文件的头文件数据,生成修复后的PST文件。
可选的,在本发明第一方面的第六种实现方式中,所述将所述更新BrefBBT数据覆写进所述PST文件中每个Blcoks Btree数据块,将所述更新BrefNBT数据覆写进所述PST文件中的节点数据树,生成覆写PST文件包括:
将所述更新BrefBBT数据覆写进所述PST文件中每个Blcoks Btree数据块,并修改每个Blcoks BTree数据块的数据偏移量,生成第一PST文件,以及记录每个Blcoks BTree数据块的修改后数据偏移量;
将所述更新BrefNBT数据覆写进所述第一PST文件中的节点数据树,并修改节点数据树对应的数据偏移量,生成第二PST文件,以及记录所述节点数据树的修改后数据偏移量;
基于所述Blcoks BTree数据块的修改后数据偏移量、所述节点数据树的修改后数据偏移量,对所述第二PST文件的根记录数据进行修改,生成覆写PST文件。
可选的,在本发明第一方面的第七种实现方式中,所述修改所述覆写PST文件的头文件数据,生成修复后的PST文件包括:
读取所述覆写PST文件的文件存储值,以及基于所述文件存储值,计算所述覆写PST文件的头部CRC校验码;
基于所述头部CRC校验码,修改所述覆写PST文件的文件头数据,生成修复后的PST文件。
本发明第二方面提供了一种PST文件的修复设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述PST文件的修复设备执行上述的PST文件的修复方法。
本发明的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的PST文件的修复方法。
在本发明实施例中,通过对因程序崩溃、系统崩溃损坏而无法打开的PST文件进行解析拆分,再删除异常数据,最后重构PST文件的操作,实现对损坏的PST文件的修复,恢复原有的邮件信息,解决了当前PST文件在程序崩溃、系统崩溃下的数据损坏无法修复的技术问题。
附图说明
图1为本发明实施例中PST文件的修复方法的第一个实施例示意图;
图2为本发明实施例中PST文件的修复方法的103步骤的一个实施例示意图;
图3为本发明实施例中PST文件的修复方法的104步骤的一个实施例示意图;
图4为本发明实施例中PST文件的修复方法的105步骤的一个实施例示意图;
图5为本发明实施例中PST文件的修复方法的106步骤的一个实施例示意图;
图6为本发明实施例中PST文件的修复方法的1061步骤的一个实施例示意图;
图7为本发明实施例中PST文件的修复方法的1062步骤的一个实施例示意图;
图8为本发明实施例中PST文件的修复设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种PST文件的修复方法、设备及存储介质。
下面将参照附图更详细地描述本发明公开的实施例。虽然附图中显示了本发明公开的某些实施例,然而应当理解的是,本发明公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本发明公开的附图及实施例仅用于示例性作用,并非用于限制本发明公开的保护范围。
在本发明公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中PST文件的修复方法的一个实施例包括:
101、接收待修复的PST文件;
在本实施例中,接收互联网、无线传输、本地磁盘中的待修复的PST文件。
102、读取所述PST文件的文件头数据,根据所述文件头数据,查询所述PST文件中的根记录数据,其中,所述根记录数据包括:BrefNBT数据、BrefBBT数据;
在本实施例中,首先解析PST文件,读取损坏的PST文件,读取到文件的十六进制数据。先解析PST文件的文件头数据,头文件数据中带有PST文件的编码格式和根记录数据,根记录数据中包含有BrefNBT(Bref the Node BTree)数据和BrefBBT(Bref the BlockBTree)数据的数据结构内容,NBT包含了指向PST文件中所有可访问结点的指针,B树的高效搜索方式能够快速的定位任意结点(nodes)。
103、解析所述BrefNBT数据的数据结构,得到所述BrefNBT数据对应的BID数据集;
在本实施例中,BrefNBT数据的数据结构是包含有多个顶点节点的2级BTree数据,顶点节点数据包含有BID数据(数据的网桥ID)和子节点BID(子节点的网桥ID),而数据树的底部节点只包含有BID数据(数据的网桥ID)而没有子节点BID,利用BID数据可以在BrefBBT数据中检索到对应数据块进行访问数据。
进一步的,图2为本发明实施例中PST文件的修复方法的103步骤的一个实施例,103步骤可以包括以下步骤:
1031、读取所述BrefNBT数据的i个顶部节点数据,其中,所述顶部节点数据包括:顶部BID数据、Ni个子节点BID,i=1,2,…,M,Ni、M为正整数;
1032、根据所述Ni个子节点BID,对所述BrefNBT数据中递归检索处理,得到递归BID数据集;
1033、将i个所述顶部BID数据添加至所述递归BID数据集,生成所述BrefNBT数据对应的BID数据集。
在1031-1033步骤中,读取BrefNBT数据的总共5个顶部节点数据,每个顶点数据都有一个顶部BID数据以及每个顶部节点可以分别有1、2、3、4、5个字节点BID,利用1、2、3、4、5个字节点BID递归读取BID数据直至底部节点数据的BID数据,将1、2、3、4、5个字节点BID递归读取到的BID数据写入至递归BID数据集,子节点可以递归的包含任意数量的子节点级别,通过这种方式可以获取全部Node BTree数据信息,Blcoks BTree也是同理可全部数据信息。
然后将原有的5个顶部节点数据的顶部BID数据也写入所述递归BID数据集,最终生成所述BrefNBT数据对应的BID数据集。
进一步的,103步骤可以包括以下步骤:
1034、解析所述BrefNBT数据的所有节点对应BID数据,组合生成BID数据集。
在1034步骤中,解析BrefNBT数据的所有节点,提取所有节点对应BID数据不分先后顺序一并组合得到BID数据集。
104、根据所述BID数据集,对所述BrefBBT数据进行Blcoks Btree数据块校验处理,得到异常BID数据集;
在本实施例中,对BrefBBT数据对应的Blcoks Btree数据块进行依次检索,把BID数据集中的每个BID数据在Blcoks Btree数据块中进行检索,判断该BID数据是否有数据或者数据是否受损是否可以被检索到,将检索到异常BID数据对应的BID数据写入异常BID数据集中。
进一步的,图3为本发明实施例中PST文件的修复方法的104步骤的一个实施例,104步骤可以包括以下步骤:
1041、提取所述BID数据集中的目标BID数据;
1042、根据所述目标BID数据,在所述BrefBBT数据进行Blcoks Btree数据查询处理,得到查询结果;
1043、当所述查询结果为空时,则将所述目标BID数据写入预置收集框架集中,生成异常BID数据集;
1044、当所述查询结果不为空时,则读取所述目标BID数据对应Blcoks Btree数据的存储占用值;
1045、判断所述存储占用值是否小于预置占用阈值;
1046、若小于预置占用阈值,则将所述目标BID数据写入预置收集框架集中,生成异常BID数据集。
在1041-1046步骤中,提取所述BID数据集中的一个BID数据作为目标BID数据,将目标BID数据在通过BrefBBT数据进行Blcoks Btree数据查询处理,生成查询结果。如果查询结果为空,则说明目标BID数据对应的Blcoks Btree数据块不存在,则需要将目标BID数据写入原有的收集框架中,得到异常BID数据集。
而查询结果不为空时,则读取目标BID数据检索到的Blcoks Btree数据块的存储值大小,分析Blcoks Btree数据块的存储值大小是否过小,若小于了预置占用阈值,则同样要将目标BID数据写入预置收集框架集中,生成异常BID数据集。
遍历提取所述BID数据集中的BID数据,将检测到异常BID数据的BID数据均写入上述的收集框架中,最终得到BID数据集对应的异常BID数据集。
105、基于所述异常BID数据集,对所述BrefBBT数据、所述BrefNBT数据进行异常数据删除处理,得到更新BrefBBT数据、更新BrefNBT数据;
在本实施例中,异常BID数据集中包含所有检测异常的BID数据,对异常的BID数据对应的Node BTree中的损坏节点信息进行删除,再对Blcoks BTree中的异常BID数据进行删除操作,这样就只保留了正常的Node BTree数据、Blcoks BTree数据。
进一步的,图4为本发明实施例中PST文件的修复方法的105步骤的一个实施例,105步骤可以包括以下步骤:
1051、读取所述异常BID数据集的异常BID数据;
1052、将所述异常BID数据在所述BrefNBT数据中对应的节点信息进行删除处理,得到更新BrefNBT数据;
1053、将所述异常BID数据在所述BrefBBT数据中对应的Blcoks Btree数据块进行删除处理,得到更新BrefBBT数据。
在1051-1053步骤中,通过解析BrefNBT数据和BrefBBT数据两个数据结构可以分别获取到Node BTree的数据信息、Blcoks BTree的数据信息,将异常BID数据集中异常BID数据在所述BrefNBT数据进行检索Node BTree的数据信息对应的节点进行删除处理,得到更新BrefNBT数据、
将异常BID数据集中异常BID数据在所述BrefBBT数据中对应的Blcoks Btree数据块进行删除,得到更新BrefBBT数据。
106、基于所述更新BrefBBT数据和所述更新BrefNBT数据,对所述PST文件进行修复处理,生成修复后的PST文件。
在本实施例中,按照PST格式规范保留原有头部信息,然后开始写入Blcoks BTree中每一个数据块的数据,并修改每个数据块、Blcoks BTree页的目标的绝对文件偏移量,再写入Node BTree数据,并修改每个Node BTree页的目标的绝对文件偏移量,最后修改头部信息,完成整个PST文件的构建和修复。
进一步的,图5为本发明实施例中PST文件的修复方法的106步骤的一个实施例,106步骤可以包括以下步骤:
1061、将所述更新BrefBBT数据覆写进所述PST文件中每个Blcoks Btree数据块,将所述更新BrefNBT数据覆写进所述PST文件中的节点数据树,生成覆写PST文件;
1062、修改所述覆写PST文件的头文件数据,生成修复后的PST文件。
在1061-1062步骤中,按照PST格式规范保留原有头部信息,然后开始写入BlcoksBTree中每一个数据块的数据,并修改每个数据块、Blcoks BTree页的目标的绝对文件偏移量,再写入Node BTree数据,并修改每个Node BTree页的目标的绝对文件偏移量,最后修改头部信息,完成整个PST文件的构建和修复。
进一步的,图6为本发明实施例中PST文件的修复方法的1061步骤的一个实施例,1061步骤可以包括以下步骤:
10611、将所述更新BrefBBT数据覆写进所述PST文件中每个Blcoks Btree数据块,并修改每个Blcoks BTree数据块的数据偏移量,生成第一PST文件,以及记录每个BlcoksBTree数据块的修改后数据偏移量;
10612、将所述更新BrefNBT数据覆写进所述第一PST文件中的节点数据树,并修改节点数据树对应的数据偏移量,生成第二PST文件,以及记录所述节点数据树的修改后数据偏移量;
10613、基于所述Blcoks BTree数据块的修改后数据偏移量、所述节点数据树的修改后数据偏移量,对所述第二PST文件的根记录数据进行修改,生成覆写PST文件。
在10611-10612步骤中,按照PST格式规范保留原有头部信息,然后开始写入Blcoks BTree中每一个数据块的数据,并修改每个数据块、Blcoks BTree页的目标的绝对文件偏移量(ib数据),记录Blcoks BTree的偏移量。再写入Node BTree数据,并修改每个Node BTree页的目标的绝对文件偏移量(ib数据),记录Node BTree的偏移量。最后修改头部信息,即根据Node BTree和Blcoks BTree的偏移量去修改根记录中的BrefNBT、BrefBBT这两个数据结构信息,生成覆写PST文件。
进一步的,图7为本发明实施例中PST文件的修复方法的1062步骤的一个实施例,1062步骤可以包括以下步骤:
10621、读取所述覆写PST文件的文件存储值,以及基于所述文件存储值,计算所述覆写PST文件的头部CRC校验码;
1062、基于所述头部CRC校验码,修改所述覆写PST文件的文件头数据,生成修复后的PST文件。
重新计算当前整个文件的大小并修改文件大小数据信息,最后重新计算头部的CRC校验码并进行修改写入文件头数据,生成修复后的PST文件。
在本发明实施例中,通过对因程序崩溃、系统崩溃损坏而无法打开的PST文件进行解析拆分,再删除异常数据,最后重构PST文件的操作,实现对损坏的PST文件的修复,恢复原有的邮件信息,解决了当前PST文件在程序崩溃、系统崩溃下的数据损坏无法修复的技术问题。
图8是本发明实施例提供的一种PST文件的修复设备的结构示意图,该PST文件的修复设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对PST文件的修复设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在PST文件的修复设备800上执行存储介质830中的一系列指令操作。
基于PST文件的修复设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如Windows Serve,Mac OS X,Unix,Linux,Free BSD等等。本领域技术人员可以理解,图8示出的PST文件的修复设备结构并不构成对基于PST文件的修复设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述PST文件的修复方法的步骤。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (8)

1.一种PST文件的修复方法,其特征在于,包括步骤:
接收待修复的PST文件;
读取所述PST文件的文件头数据,根据所述文件头数据,查询所述PST文件中的根记录数据,其中,所述根记录数据包括:BrefNBT数据、BrefBBT数据;
解析所述BrefNBT数据的数据结构,得到所述BrefNBT数据对应的BID数据集;
根据所述BID数据集,对所述BrefBBT数据进行Blcoks Btree数据块校验处理,得到异常BID数据集;
基于所述异常BID数据集,对所述BrefBBT数据、所述BrefNBT数据进行异常数据删除处理,得到更新BrefBBT数据、更新BrefNBT数据;
基于所述更新BrefBBT数据和所述更新BrefNBT数据,对所述PST文件进行修复处理,生成修复后的PST文件;
其中,所述根据所述BID数据集,对所述BrefBBT数据进行Blcoks Btree数据块校验处理,得到异常BID数据集包括:
提取所述BID数据集中的目标BID数据;
根据所述目标BID数据,在所述BrefBBT数据进行Blcoks Btree数据查询处理,得到查询结果;
当所述查询结果为空时,则将所述目标BID数据写入预置收集框架集中,生成异常BID数据集;
当所述查询结果不为空时,则读取所述目标BID数据对应Blcoks Btree数据的存储占用值;
判断所述存储占用值是否小于预置占用阈值;
若小于预置占用阈值,则将所述目标BID数据写入预置收集框架集中,生成异常BID数据集;
其中,所述基于所述异常BID数据集,对所述BrefBBT数据、所述BrefNBT数据进行异常数据删除处理,得到更新BrefBBT数据、更新BrefNBT数据包括:
读取所述异常BID数据集的异常BID数据;
将所述异常BID数据在所述BrefNBT数据中对应的节点信息进行删除处理,得到更新BrefNBT数据;
将所述异常BID数据在所述BrefBBT数据中对应的Blcoks Btree数据块进行删除处理,得到更新BrefBBT数据。
2.根据权利要求1所述的PST文件的修复方法,其特征在于,所述解析所述BrefNBT数据的数据结构,得到所述BrefNBT数据对应的BID数据集包括:
解析所述BrefNBT数据的所有节点对应BID数据,组合生成BID数据集。
3.根据权利要求1所述的PST文件的修复方法,其特征在于,所述解析所述BrefNBT数据的数据结构,得到所述BrefNBT数据对应的BID数据集包括:
读取所述BrefNBT数据的i个顶部节点数据,其中,所述顶部节点数据包括:顶部BID数据、Ni个子节点BID,i=1,2,…,M,Ni、M为正整数;
根据所述Ni个子节点BID,对所述BrefNBT数据递归检索处理,得到递归BID数据集;
将i个所述顶部BID数据添加至所述递归BID数据集,生成所述BrefNBT数据对应的BID数据集。
4.根据权利要求1所述的PST文件的修复方法,其特征在于,所述基于所述更新BrefBBT数据和所述更新BrefNBT数据,对所述PST文件进行修复处理,生成修复后的PST文件包括:
将所述更新BrefBBT数据覆写进所述PST文件中每个Blcoks Btree数据块,将所述更新BrefNBT数据覆写进所述PST文件中的节点数据树,生成覆写PST文件;
修改所述覆写PST文件的头文件数据,生成修复后的PST文件。
5.根据权利要求4所述的PST文件的修复方法,其特征在于,所述将所述更新BrefBBT数据覆写进所述PST文件中每个Blcoks Btree数据块,将所述更新BrefNBT数据覆写进所述PST文件中的节点数据树,生成覆写PST文件包括:
将所述更新BrefBBT数据覆写进所述PST文件中每个Blcoks Btree数据块,并修改每个Blcoks BTree数据块的数据偏移量,生成第一PST文件,以及记录每个Blcoks BTree数据块的修改后数据偏移量;
将所述更新BrefNBT数据覆写进所述第一PST文件中的节点数据树,并修改节点数据树对应的数据偏移量,生成第二PST文件,以及记录所述节点数据树的修改后数据偏移量;
基于所述Blcoks BTree数据块的修改后数据偏移量、所述节点数据树的修改后数据偏移量,对所述第二PST文件的根记录数据进行修改,生成覆写PST文件。
6.根据权利要求5所述的PST文件的修复方法,其特征在于,所述修改所述覆写PST文件的头文件数据,生成修复后的PST文件包括:
读取所述覆写PST文件的文件存储值,以及基于所述文件存储值,计算所述覆写PST文件的头部CRC校验码;
基于所述头部CRC校验码,修改所述覆写PST文件的文件头数据,生成修复后的PST文件。
7.一种PST文件的修复设备,其特征在于,所述PST文件的修复设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述PST文件的修复设备执行如权利要求1-6中任一项所述的PST文件的修复方法。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的PST文件的修复方法。
CN202311126013.9A 2023-09-04 2023-09-04 Pst文件的修复方法、设备及存储介质 Active CN116860509B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311126013.9A CN116860509B (zh) 2023-09-04 2023-09-04 Pst文件的修复方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311126013.9A CN116860509B (zh) 2023-09-04 2023-09-04 Pst文件的修复方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116860509A CN116860509A (zh) 2023-10-10
CN116860509B true CN116860509B (zh) 2023-12-26

Family

ID=88225301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311126013.9A Active CN116860509B (zh) 2023-09-04 2023-09-04 Pst文件的修复方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116860509B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030052582A (ko) * 2001-12-21 2003-06-27 주식회사 파이널데이터 전자메일 메세지 복구 방법 및 이를 저장한 컴퓨터가 판독가능한 기록 매체
CN103678026A (zh) * 2012-09-18 2014-03-26 杭州海康威视系统技术有限公司 可修复的视频监控数据存储和修复方法及其装置
CN105808589A (zh) * 2014-12-31 2016-07-27 中国电信股份有限公司 文件处理的方法和装置
EP3070630A2 (en) * 2015-03-16 2016-09-21 The MaidSafe Foundation Data system and method
CN106611134A (zh) * 2016-06-06 2017-05-03 四川用联信息技术有限公司 一种云端数据完整性验证方法
CN110798730A (zh) * 2019-11-14 2020-02-14 深圳市浪涛科技有限公司 一种mp4文件录制及修复方法
CN113742127A (zh) * 2021-09-16 2021-12-03 重庆大学 一种裸闪存文件系统的故障恢复方法
CN116126592A (zh) * 2022-12-29 2023-05-16 深圳软牛科技有限公司 扫描崩溃的环境还原方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2013214801B2 (en) * 2012-02-02 2018-06-21 Visa International Service Association Multi-source, multi-dimensional, cross-entity, multimedia database platform apparatuses, methods and systems
US10204010B2 (en) * 2014-10-03 2019-02-12 Commvault Systems, Inc. Intelligent protection of off-line mail data

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030052582A (ko) * 2001-12-21 2003-06-27 주식회사 파이널데이터 전자메일 메세지 복구 방법 및 이를 저장한 컴퓨터가 판독가능한 기록 매체
CN103678026A (zh) * 2012-09-18 2014-03-26 杭州海康威视系统技术有限公司 可修复的视频监控数据存储和修复方法及其装置
CN105808589A (zh) * 2014-12-31 2016-07-27 中国电信股份有限公司 文件处理的方法和装置
EP3070630A2 (en) * 2015-03-16 2016-09-21 The MaidSafe Foundation Data system and method
CN106611134A (zh) * 2016-06-06 2017-05-03 四川用联信息技术有限公司 一种云端数据完整性验证方法
CN110798730A (zh) * 2019-11-14 2020-02-14 深圳市浪涛科技有限公司 一种mp4文件录制及修复方法
CN113742127A (zh) * 2021-09-16 2021-12-03 重庆大学 一种裸闪存文件系统的故障恢复方法
CN116126592A (zh) * 2022-12-29 2023-05-16 深圳软牛科技有限公司 扫描崩溃的环境还原方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
丁显鹏.技术分享:Outlook邮件删除恢复的原理及实现.《https://mp.weixin.qq.com/s?src=3&timestamp=1696899885&ver=1&signature=*8t8IAC*0i48urklGirryTlHsez7oZC8dhlzKnEBdNUheoRzJzsg3-7ObyGFCpRWewapM6QYDrsuvYFP97D3pzha2Lv-HK3ra8MDeHplTO2hyoS96U5fO-OgM-tUykvUR1qgYeXP5QRRe6rfJCBNJA==》.2016,第1页至第11页. *
面向编辑过程还原的勒索病毒删除文档重组方法;徐国天;《小型微型计算机系统》;第1087页至第1094页 *

Also Published As

Publication number Publication date
CN116860509A (zh) 2023-10-10

Similar Documents

Publication Publication Date Title
US7283072B1 (en) Methods of creating a dictionary for data compression
CN105009067B (zh) 管理对存储数据单元的操作
US7689630B1 (en) Two-level bitmap structure for bit compression and data management
EP3238344A1 (en) Lossless reduction of data by deriving data from prime data elements resident in a content-associative sieve
US10972569B2 (en) Apparatus, method, and computer program product for heterogenous compression of data streams
CN109684290B (zh) 日志存储方法、装置、设备及计算机可读存储介质
JP7157141B2 (ja) ゲノム・ファイルのためのコンテキスト・アウェア差分アルゴリズム
US7973680B2 (en) Method and system for creating an in-memory physical dictionary for data compression
CN111061752B (zh) 数据处理方法、装置及电子设备
US9665590B2 (en) Bitmap compression for fast searches and updates
CN108475508B (zh) 音频数据和保存在块处理存储系统中的数据的简化
CN111125298A (zh) 重建ntfs文件目录树的方法、设备及存储介质
CN110851409A (zh) 一种日志压缩、解压缩方法、设备及存储介质
KR102275240B1 (ko) 저장된 데이터 유닛들의 동작 관리
CN113010477B (zh) 持久内存文件系统元数据的检索方法和装置、存储结构
CN116860509B (zh) Pst文件的修复方法、设备及存储介质
CN111104259B (zh) 一种数据库恢复方法、装置及存储介质
CN111078652A (zh) 物流箱码的归档压缩方法及装置
CN111309677A (zh) 一种分布式文件系统的文件管理方法及装置
US6357002B1 (en) Automated extraction of BIOS identification information for a computer system from any of a plurality of vendors
US20100023479A1 (en) Hexadecimal file fast decompression method
CN112463736B (zh) 一种用于apfs文件的恢复方法和系统
CN111767171B (zh) 文件备份与还原的方法
EP4057155A1 (en) Memory-efficient data unarchiving
CN114253933A (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
GR01 Patent grant
GR01 Patent grant