固态硬盘数据恢复方法及固态硬盘技术

技术编号:38731647 阅读:11 留言:0更新日期:2023-09-08 23:21
本发明专利技术涉及计算机技术领域,提供一种固态硬盘数据恢复方法及固态硬盘,该方法包括:在固态硬盘重启后,对固态硬盘的数据树进行遍历;若确定固态硬盘中存在目标存储内存块,则以目标存储内存块为第一父节点存储内存块,在数据树中遍历出第一子节点存储内存块;以目标存储内存块为第二子节点存储内存块确定出第二父节点存储内存块,并根据第二父节点存储内存块在数据树中遍历出目标存储内存块的兄弟节点存储内存块;根据第二父节点存储内存块的父节点数据、兄弟节点存储内存块的兄弟节点数据和第一子节点存储内存块的子节点数据,对目标存储内存块的数据进行数据恢复。本发明专利技术提高了固态硬盘数据恢复的恢复效率和固态硬盘的使用寿命。使用寿命。使用寿命。

【技术实现步骤摘要】
固态硬盘数据恢复方法及固态硬盘


[0001]本专利技术涉及计算机
,尤其涉及一种固态硬盘数据恢复方法及固态硬盘。

技术介绍

[0002]目前的固态硬盘数据恢复方法主要是,在固态硬盘重启后,若确定固态硬盘的数据丢失时,则立刻在数据库中获取固态硬盘的数据,并将获取到的数据镜像重写至固态硬盘中,再重写成功后,再次重启运行固态硬盘。由此可知,现有技术在固态硬盘数据恢复的过程中,固态硬盘需要经过两次重启,导致了固态硬盘数据恢复的恢复效率低。同时,多次重启固态硬盘,损害了固态硬盘的使用寿命。

技术实现思路

[0003]本专利技术提供一种固态硬盘数据恢复方法及固态硬盘,旨在提高固态硬盘数据恢复的恢复效率和提高固态硬盘的使用寿命。
[0004]第一方面,本专利技术提供一种固态硬盘数据恢复方法,包括:在固态硬盘重启后,对所述固态硬盘的数据树进行遍历,确定所述固态硬盘中是否存在数据丢失的目标存储内存块;所述数据树中的各个节点为所述固态硬盘的各个存储内存块;若确定所述固态硬盘中存在目标存储内存块,则以所述目标存储内存块为第一父节点存储内存块,在所述数据树中遍历出第一子节点存储内存块;以所述目标存储内存块为第二子节点存储内存块确定出第二父节点存储内存块,并根据所述第二父节点存储内存块在所述数据树中遍历出所述目标存储内存块的兄弟节点存储内存块;根据所述第二父节点存储内存块的父节点数据、所述兄弟节点存储内存块的兄弟节点数据和所述第一子节点存储内存块的子节点数据,对所述目标存储内存块的数据进行数据恢复。
[0005]在一个实施例中,所述根据所述第二父节点存储内存块的父节点数据、所述兄弟节点存储内存块的兄弟节点数据和所述第一子节点存储内存块的子节点数据,对所述目标存储内存块的数据进行数据恢复,包括:根据所述子节点数据的第一数据类型,确定所述目标存储内存块的数据所属的数据总类型;根据所述兄弟节点数据的第二数据类型和所述数据总类型,确定所述目标存储内存块的第三数据类型;确定所述目标存储内存块的数据丢失类型,并根据所述数据丢失类型、所述第三数据类型和所述父节点数据,对所述目标存储内存块的数据进行数据恢复。
[0006]所述数据丢失类型包括部分丢失类型;所述根据所述数据丢失类型、所述第三数据类型和所述父节点数据,对所述目标
存储内存块的数据进行数据恢复,包括:若确定所述数据丢失类型为部分丢失类型,则根据所述第三数据类型在所述父节点数据中获取出待恢复数据;获取所述目标存储内存块中的存在数据的目标内存条的第一数量,并根据所述子节点数据计算出所需要内存条的总数量;确定所述子节点数据中各部分数据所需要内存条的第二数量;根据所述总数量、所述第一数量和所述第二数量剔除所述待恢复数据中的重复数据,得到第一目标恢复数据,并以所述第一目标恢复数据对所述目标存储内存块的数据进行数据恢复。
[0007]所述数据丢失类型包括全部丢失类型;所述根据所述数据丢失类型、所述第三数据类型和所述父节点数据,对所述目标存储内存块的数据进行数据恢,包括:若确定所述数据丢失类型为全部丢失类型,则根据所述第三数据类型在所述父节点数据中获取出第二目标恢复数据,并以所述第二目标恢复数据对所述目标存储内存块的数据进行数据恢复。
[0008]确定所述目标存储内存块的具体步骤包括:获取每一个存储内存块的数据加载速率值,并确定每一个存储内存块的数据加载速率值是否大于或者等于预设速率值;若确定每一个存储内存块的数据加载速率值小于所述预设速率值,则获取每一个存储内存块的数据树遍历延迟值,并确定每一个存储内存块的数据树遍历延迟值是否小于或者等于预设延迟值;若确定每一个存储内存块的数据树遍历延迟值大于所述预设延迟值,则获取每一个存储内存块的数据解码值,并确定每一个存储内存块的数据解码值是否为预设值;若确定每一个存储内存块的数据解码值不为所述预设值,则将每一个存储内存块确定为所述目标存储内存块。
[0009]所述根据所述第二父节点存储内存块的父节点数据、所述兄弟节点存储内存块的兄弟节点数据和所述第一子节点存储内存块的子节点数据,对所述目标存储内存块的数据进行数据恢复之后,还包括:根据所述数据树获取包含所述目标存储内存块的所有节点链路;对每一条节点链路进行运行状态进行测试,得到每一条节点链路的性能测试值和告警数量值;若确定每一条节点链路的性能测试值高于预设测试值,且告警数量低于预设数量,则运行所述固态硬盘。
[0010]所述对每一条节点链路进行运行状态进行测试,得到每一条节点链路的性能测试值和告警数量值之后,还包括:若确定每一条节点链路的性能测试值低于所述预设测试值,或/和告警数量高于所述预设数量,则在数据库中获取所述固态硬盘的待写入数据,并将所述待写入数据镜像至所述固态硬盘中的每一个存储内存块中,并重启运行所述固态硬盘。
[0011]第二方面,本专利技术提供一种固态硬盘,所述固态硬盘包括第一遍历单元、第二遍历
单元、确定遍历单元和数据恢复单元;第一遍历单元,用于在固态硬盘重启后,对所述固态硬盘的数据树进行遍历,确定所述固态硬盘中是否存在数据丢失的目标存储内存块;所述数据树中的各个节点为所述固态硬盘的各个存储内存块;第二遍历单元,用于若确定所述固态硬盘中存在目标存储内存块,则以所述目标存储内存块为第一父节点存储内存块,在所述数据树中遍历出第一子节点存储内存块;确定遍历单元,用于以所述目标存储内存块为第二子节点存储内存块确定出第二父节点存储内存块,并根据所述第二父节点存储内存块在所述数据树中遍历出所述目标存储内存块的兄弟节点存储内存块;数据恢复单元,用于根据所述第二父节点存储内存块的父节点数据、所述兄弟节点存储内存块的兄弟节点数据和所述第一子节点存储内存块的子节点数据,对所述目标存储内存块的数据进行数据恢复。
[0012]第三方面,本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上第一方面所述固态硬盘数据恢复方法。
[0013]第四方面,本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上第一方面所述固态硬盘数据恢复方法。
[0014]本专利技术提供的固态硬盘数据恢复方法及固态硬盘,在固态硬盘重启后,对固态硬盘的数据树进行遍历,确定固态硬盘中是否存在数据丢失的目标存储内存块;数据树中的各个节点为固态硬盘的各个存储内存块;若确定固态硬盘中存在目标存储内存块,则以目标存储内存块为第一父节点存储内存块,在数据树中遍历出第一子节点存储内存块;以目标存储内存块为第二子节点存储内存块确定出第二父节点存储内存块,并根据第二父节点存储内存块在数据树中遍历出目标存储内存块的兄弟节点存储内存块;根据第二父节点存储内存块的父节点数据、兄弟节点存储内存块的兄弟节点数据和第一子节点存储内存块的子节点数据,对目标存储内存块的数据进行数据恢复。
[0015]在固态硬盘数据恢复的过程中,通过遍历固态硬盘的数据树即可完成固态硬盘数据恢复,不需要再次重写和重启本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种固态硬盘数据恢复方法,其特征在于,包括:在固态硬盘重启后,对所述固态硬盘的数据树进行遍历,确定所述固态硬盘中是否存在数据丢失的目标存储内存块;所述数据树中的各个节点为所述固态硬盘的各个存储内存块;若确定所述固态硬盘中存在目标存储内存块,则以所述目标存储内存块为第一父节点存储内存块,在所述数据树中遍历出第一子节点存储内存块;以所述目标存储内存块为第二子节点存储内存块确定出第二父节点存储内存块,并根据所述第二父节点存储内存块在所述数据树中遍历出所述目标存储内存块的兄弟节点存储内存块;根据所述第二父节点存储内存块的父节点数据、所述兄弟节点存储内存块的兄弟节点数据和所述第一子节点存储内存块的子节点数据,对所述目标存储内存块的数据进行数据恢复。2.根据权利要求1所述的固态硬盘数据恢复方法,其特征在于,所述根据所述第二父节点存储内存块的父节点数据、所述兄弟节点存储内存块的兄弟节点数据和所述第一子节点存储内存块的子节点数据,对所述目标存储内存块的数据进行数据恢复,包括:根据所述子节点数据的第一数据类型,确定所述目标存储内存块的数据所属的数据总类型;根据所述兄弟节点数据的第二数据类型和所述数据总类型,确定所述目标存储内存块的第三数据类型;确定所述目标存储内存块的数据丢失类型,并根据所述数据丢失类型、所述第三数据类型和所述父节点数据,对所述目标存储内存块的数据进行数据恢复。3.根据权利要求2所述的固态硬盘数据恢复方法,其特征在于,所述数据丢失类型包括部分丢失类型;所述根据所述数据丢失类型、所述第三数据类型和所述父节点数据,对所述目标存储内存块的数据进行数据恢复,包括:若确定所述数据丢失类型为部分丢失类型,则根据所述第三数据类型在所述父节点数据中获取出待恢复数据;获取所述目标存储内存块中的存在数据的目标内存条的第一数量,并根据所述子节点数据计算出所需要内存条的总数量;确定所述子节点数据中各部分数据所需要内存条的第二数量;根据所述总数量、所述第一数量和所述第二数量剔除所述待恢复数据中的重复数据,得到第一目标恢复数据,并以所述第一目标恢复数据对所述目标存储内存块的数据进行数据恢复。4.根据权利要求2所述的固态硬盘数据恢复方法,其特征在于,所述数据丢失类型包括全部丢失类型;所述根据所述数据丢失类型、所述第三数据类型和所述父节点数据,对所述目标存储内存块的数据进行数据恢,包括:若确定所述数据丢失类型为全部丢失类型,则根据所述第三数据类型在所述父节点数据中获取出第二目标恢复数据,并以所述第二目标恢复数据对所述目标存储内存块的数据
进行数据恢复。5.根据权利要求1所述的固态硬盘数据恢复方法,其特征在于,确定所述目标存储内存块的具体步骤包括:获取每一个存储内存块的数据加载速率值,并确定每一个存储内存块的数据加载速率值是否大于或者等于预设速率值;若...

【专利技术属性】
技术研发人员:付万福
申请(专利权)人:深圳市威科伟业电子科技有限公司
类型:发明
国别省市:

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

1