PST文件的修复方法、设备及存储介质技术

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

【技术实现步骤摘要】
PST文件的修复方法、设备及存储介质


[0001]本专利技术涉及文件修复领域,尤其涉及一种PST文件的修复方法、设备及存储介质。

技术介绍

[0002]在日常办公和商务沟通中,经常是通过邮件进行信息沟通,邮件信息对我们而言极其重要。如果我们使用软件进行收、发邮件时,可能会因为程序崩溃、系统崩溃或者误删除操作导致我们的邮件数据被损坏,无法打开邮件而丢失许多重要的数据和信息,这对用户的工作资源造成巨大浪费,降低了用户的工作效率。
[0003]目前用户可以使用Microsoft Outlook自带的修复工具进行PST邮件文件的修复,但是官方自带的工具只能实现对误操作的邮件进行恢复,一旦文件是因软件崩溃等其他因素被损坏,该官方自带的工具就无法修复PST文件。因此,针对当前PST文件在程序崩溃、系统崩溃下的数据损坏无法修复的技术问题,需要一种新的技术来解决当前问题。

技术实现思路

[0004]本专利技术的主要目的在于解决当前PST文件在程序崩溃、系统崩溃下的数据损坏无法修复的技术问题。
[0005]本专利技术第一方面提供了一种PST文件的修复方法,所述PST文件的修复方法包括:接收待修复的PST文件;读取所述PST文件的文件头数据,根据所述文件头数据,查询所述PST文件中的根记录数据,其中,所述根记录数据包括:BrefNBT数据、BrefBBT数据;解析所述BrefNBT数据的数据结构,得到所述BrefNBT数据对应的BID数据集;根据所述BID数据集,对所述BrefBBT数据进行Blcoks Btree数据块校验处理,得到异常BID数据集;基于所述异常BID数据集,对所述BrefBBT数据、所述BrefNBT数据进行异常数据删除处理,得到更新BrefBBT数据、更新BrefNBT数据;基于所述更新BrefBBT数据和所述更新BrefNBT数据,对所述PST文件进行修复处理,生成修复后的PST文件。
[0006]可选的,在本专利技术第一方面的第一种实现方式中,所述解析所述BrefNBT数据的数据结构,得到所述BrefNBT数据对应的BID数据集包括:解析所述BrefNBT数据的所有节点对应BID数据,组合生成BID数据集。
[0007]可选的,在本专利技术第一方面的第二种实现方式中,所述根据所述BID数据集,对所述BrefBBT数据进行Blcoks Btree数据块校验处理,得到异常BID数据集包括:提取所述BID数据集中的目标BID数据;根据所述目标BID数据,在所述BrefBBT数据进行Blcoks Btree数据查询处理,得到查询结果;当所述查询结果为空时,则将所述目标BID数据写入预置收集框架集中,生成异常
BID数据集;当所述查询结果不为空时,则读取所述目标BID数据对应Blcoks Btree数据的存储占用值;判断所述存储占用值是否小于预置占用阈值;若小于预置占用阈值,则将所述目标BID数据写入预置收集框架集中,生成异常BID数据集。
[0008]可选的,在本专利技术第一方面的第三种实现方式中,所述解析所述BrefNBT数据的数据结构,得到所述BrefNBT数据对应的BID数据集包括:读取所述BrefNBT数据的i个顶部节点数据,其中,所述顶部节点数据包括:顶部BID数据、N
i
个子节点BID,i=1,2,

,M,N
i
、M为正整数;根据所述N
i
个子节点BID,对所述BrefNBT数据中递归检索处理,得到递归BID数据集;将i个所述顶部BID数据添加至所述递归BID数据集,生成所述BrefNBT数据对应的BID数据集。
[0009]可选的,在本专利技术第一方面的第四种实现方式中,所述基于所述异常BID数据集,对所述BrefBBT数据、所述BrefNBT数据进行异常数据删除处理,得到更新BrefBBT数据、更新BrefNBT数据包括:读取所述异常BID数据集的异常BID数据;将所述异常BID数据在所述BrefNBT数据中对应的节点信息进行删除处理,得到更新BrefNBT数据;将所述异常BID数据在所述BrefBBT数据中对应的Blcoks Btree数据块进行删除处理,得到更新BrefBBT数据。
[0010]可选的,在本专利技术第一方面的第五种实现方式中,所述基于所述更新BrefBBT数据和所述更新BrefNBT数据,对所述PST文件进行修复处理,生成修复后的PST文件包括:将所述更新BrefBBT数据覆写进所述PST文件中每个Blcoks Btree数据块,将所述更新BrefNBT数据覆写进所述PST文件中的节点数据树,生成覆写PST文件;修改所述覆写PST文件的头文件数据,生成修复后的PST文件。
[0011]可选的,在本专利技术第一方面的第六种实现方式中,所述将所述更新BrefBBT数据覆写进所述PST文件中每个Blcoks Btree数据块,将所述更新BrefNBT数据覆写进所述PST文件中的节点数据树,生成覆写PST文件包括:将所述更新BrefBBT数据覆写进所述PST文件中每个Blcoks Btree数据块,并修改每个Blcoks BTree数据块的数据偏移量,生成第一PST文件,以及记录每个Blcoks BTree数据块的修改后数据偏移量;将所述更新BrefNBT数据覆写进所述第一PST文件中的节点数据树,并修改节点数据树对应的数据偏移量,生成第二PST文件,以及记录所述节点数据树的修改后数据偏移量;基于所述Blcoks BTree数据块的修改后数据偏移量、所述节点数据树的修改后数据偏移量,对所述第二PST文件的根记录数据进行修改,生成覆写PST文件。
[0012]可选的,在本专利技术第一方面的第七种实现方式中,所述修改所述覆写PST文件的头
文件数据,生成修复后的PST文件包括:读取所述覆写PST文件的文件存储值,以及基于所述文件存储值,计算所述覆写PST文件的头部CRC校验码;基于所述头部CRC校验码,修改所述覆写PST文件的文件头数据,生成修复后的PST文件。
[0013]本专利技术第二方面提供了一种PST文件的修复设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述PST文件的修复设备执行上述的PST文件的修复方法。
[0014]本专利技术的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的PST文件的修复方法。
[0015]在本专利技术实施例中,通过对因程序崩溃、系统崩溃损坏而无法打开的PST文件进行解析拆分,再删除异常数据,最后重构PST文件的操作,实现对损坏的PST文件的修复,恢复原有的邮件信息,解决了当前PST文件在程序崩溃、系统崩溃下的数据损坏无法修复的技术问题。
附图说明
[0016]图1为本专利技术实施例中PST文件的修复方法的第一个实施例示意图;图2为本专利技术实施例中PST文件的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种PST文件的修复方法,其特征在于,包括步骤:接收待修复的PST文件;读取所述PST文件的文件头数据,根据所述文件头数据,查询所述PST文件中的根记录数据,其中,所述根记录数据包括:BrefNBT数据、BrefBBT数据;解析所述BrefNBT数据的数据结构,得到所述BrefNBT数据对应的BID数据集;根据所述BID数据集,对所述BrefBBT数据进行Blcoks Btree数据块校验处理,得到异常BID数据集;基于所述异常BID数据集,对所述BrefBBT数据、所述BrefNBT数据进行异常数据删除处理,得到更新BrefBBT数据、更新BrefNBT数据;基于所述更新BrefBBT数据和所述更新BrefNBT数据,对所述PST文件进行修复处理,生成修复后的PST文件。2.根据权利要求1所述的PST文件的修复方法,其特征在于,所述解析所述BrefNBT数据的数据结构,得到所述BrefNBT数据对应的BID数据集包括:解析所述BrefNBT数据的所有节点对应BID数据,组合生成BID数据集。3.根据权利要求1所述的PST文件的修复方法,其特征在于,所述根据所述BID数据集,对所述BrefBBT数据进行Blcoks Btree数据块校验处理,得到异常BID数据集包括:提取所述BID数据集中的目标BID数据;根据所述目标BID数据,在所述BrefBBT数据进行Blcoks Btree数据查询处理,得到查询结果;当所述查询结果为空时,则将所述目标BID数据写入预置收集框架集中,生成异常BID数据集;当所述查询结果不为空时,则读取所述目标BID数据对应Blcoks Btree数据的存储占用值;判断所述存储占用值是否小于预置占用阈值;若小于预置占用阈值,则将所述目标BID数据写入预置收集框架集中,生成异常BID数据集。4.根据权利要求1所述的PST文件的修复方法,其特征在于,所述解析所述BrefNBT数据的数据结构,得到所述BrefNBT数据对应的BID数据集包括:读取所述BrefNBT数据的i个顶部节点数据,其中,所述顶部节点数据包括:顶部BID数据、N
i
个子节点BID,i=1,2,

,M,N
i
、M为正整数;根据所述N
i
个子节点BID,对所述BrefNBT数据中递归检索处理,得到递归BID数据集;将i个所述顶部BID数据添加至所述递归BID数据集,生成所述BrefNBT数据对应的BID数据集。5.根据权利要求1所述的PST文件的修复方法,其特征在于,所述基于所述异常BID数据集,对所述BrefBBT数据、所述BrefNBT数据进行异常数据删除处理,得到更新BrefBBT数据、更新Bre...

【专利技术属性】
技术研发人员:吴毓彬黄德安陈子文姜亚明
申请(专利权)人:深圳麦风科技有限公司
类型:发明
国别省市:

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

1