一种数据恢复方法及相关装置制造方法及图纸

技术编号:36357882 阅读:10 留言:0更新日期:2023-01-14 18:14
本申请公开了一种数据恢复方法,涉及存储技术领域,包括:扫描缓存节点,根据所述缓存节点记录的数据下刷信息,确定意外掉电时未完成数据下刷的条带;所述缓存节点位于非易失性随机访问存储器;从校验数据表的校验元素中读取数据恢复信息;所述校验数据表位于所述非易失性随机访问存储器;根据所述数据恢复信息,恢复未完成数据下刷的所述条带的数据。该方法能够加速恢复数据,提升RAID卡写数据性能。本申请还公开了一种数据恢复装置、设备以及计算机可读存储介质,均具有上述技术效果。均具有上述技术效果。均具有上述技术效果。

【技术实现步骤摘要】
一种数据恢复方法及相关装置


[0001]本申请涉及存储
,特别涉及一种数据恢复方法;还涉及一种数据恢复装置、设备以及计算机可读存储介质。

技术介绍

[0002]随着科技的发展,存储技术也在飞速的改进。RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)技术是存储中的重要技术。目前业界有软RAID存储技术和硬RAID存储技术。软RAID存储技术是对RAID阵列中条带和分块的管理都使用软件实现。硬RAID存储技术(即RAID卡)使用硬件实现对数据的管理。在硬RAID存储技术中,当发生意外掉电的情况时,容易发生写数据丢失故障。为解决由于意外掉电导致的写数据丢失,目前在RAID卡中使用基于日志的访问文件系统来解决意外掉电期间的写数据丢失。每次收到主机I/O写请求时,将该写请求的时间戳以及其他的关键信息写入一个文件日志中。当写请求的数据被安全的写入到磁盘后清除日志文件中对应的日志。该方案需要依赖底层文件系统支持来进行日志记录,写数据写入之前和写入之后都需要读写文件系统中的日志文件。并且如果在写入数据过程中出现意外掉电的情况,若要恢复丢失的数据,需要从文件系统读取该写数据对应的日志文件,根据时间戳以及其他的关键信息恢复数据。上述方案会导致RAID卡更高的开销,影响数据恢复的速度与RAID写数据性能。
[0003]有鉴于此,如何解决上述技术缺陷已成为本领域技术人员亟待解决的技术问题。

技术实现思路

[0004]本申请的目的是提供一种数据恢复方法,能够加速恢复数据,提升RAID卡写数据性能。本申请的另一个目的是提供一种数据恢复装置、设备以及计算机可读存储介质,均具有上述技术效果。
[0005]为解决上述技术问题,本申请提供了一种数据恢复方法,包括:扫描缓存节点,根据所述缓存节点记录的数据下刷信息,确定意外掉电时未完成数据下刷的条带;所述缓存节点位于非易失性随机访问存储器;从校验数据表的校验元素中读取数据恢复信息;所述校验数据表位于所述非易失性随机访问存储器;根据所述数据恢复信息,恢复未完成数据下刷的所述条带的数据。
[0006]可选的,所述根据所述缓存节点记录的数据下刷信息,确定意外掉电时未完成数据下刷的条带包括:根据所述缓存节点中控制字段关联的位图元数据中的比特位,确定意外掉电时未完成数据下刷的条带。
[0007]可选的,根据所述缓存节点中控制字段关联的位图元数据中的比特位,确定意外掉电时未完成数据下刷的条带包括:若与所述条带对应的所述比特位的值为第一数值,则确定意外掉电时所述条带未
完成数据下刷;若与所述条带对应的所述比特位的值为第二数值,则确定意外掉电时所述条带已完成数据下刷。
[0008]可选的,所述位图元数据中一个比特位对应一个条带。
[0009]可选的,所述根据所述缓存节点中控制字段关联的位图元数据中的比特位,确定意外掉电时未完成数据下刷的条带前还包括:根据所述控制字段的赋值,判断是否存在意外掉电时未完成数据下刷的条带;若存在,则根据所述缓存节点中控制字段关联的位图元数据中的比特位,确定意外掉电时未完成数据下刷的条带。
[0010]可选的,所述根据所述控制字段的赋值,判断是否存在意外掉电时未完成数据下刷的条带包括:若所述控制字段的赋值为真,则不存在意外掉电时未完成数据下刷的条带;若所述控制字段的赋值为假,则存在意外掉电时未完成数据下刷的条带。
[0011]可选的,还包括:申请所述缓存节点,并在所述缓存节点记录所述数据下刷信息。
[0012]可选的,还包括:申请所述校验元素,并在所述校验元素记录所述数据恢复信息。
[0013]可选的,所述在所述缓存节点记录所述数据下刷信息包括:若所述条带的数据分块与校验分块已全部下刷到磁盘,则将所述缓存节点中控制字段关联的位图元数据中与所述条带对应的比特位置为第一数值;若所述条带的数据分块与校验分块未全部下刷到磁盘,则将所述位图元数据中与所述条带对应的比特位置为第二数值。
[0014]可选的,所述在所述缓存节点记录所述数据下刷信息还包括:若各所述条带的数据分块与校验分块均已下刷到磁盘,则将所述控制字段赋值为真;若至少一个所述条带的数据分块与校验分块没有全部下刷到磁盘,则将所述控制字段赋值为假。
[0015]可选的,所述缓存节点还包括前指针字段与后指针字段;所述前指针字段指向前一次主机I/O写请求时申请的所述缓存节点,后指针字段指向后一次主机I/O写请求时申请的所述缓存节点。
[0016]可选的,还包括:在所述校验元素中记录所述条带的校验分块的计算结果。
[0017]可选的,所述在所述校验元素中记录所述条带的校验分块的计算结果包括:若已计算得到所述条带的校验分块,则将所述校验元素中的条带字段中对应的比特位置为第一预设值;若没有计算得到所述条带的校验分块,则将所述条带字段中对应的比特位置为第二预设值。
[0018]可选的,所述条带字段中的一个比特位对应一个条带。
[0019]可选的,所述在所述校验元素中记录所述条带的校验分块的计算结果还包括:
若已经计算得到所有的所述条带的校验分块,则将所述校验元素中的校验字段赋值为真;若没有计算得到所有的所述条带的校验分块,则将所述校验字段赋值为假。
[0020]可选的,还包括:将所述条带的数据分块写入所述缓存节点的缓存字段。
[0021]可选的,还包括:判断数据恢复是否成功;若数据恢复成功,则释放所述缓存节点与所述校验元素。
[0022]为解决上述技术问题,本申请还提供了一种数据恢复装置,包括:确定模块,用于扫描缓存节点,根据所述缓存节点记录的数据下刷信息,确定意外掉电时未完成数据下刷的条带;所述缓存节点位于非易失性随机访问存储器;读取模块,用于从校验数据表的校验元素中读取数据恢复信息;所述校验数据表位于所述非易失性随机访问存储器;恢复模块,用于根据所述数据恢复信息,恢复未完成数据下刷的所述条带的数据。
[0023]为解决上述技术问题,本申请还提供了一种数据恢复设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上任一项所述的数据恢复方法的步骤。
[0024]为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的数据恢复方法的步骤。
[0025]本申请所提供的数据恢复方法,包括:扫描缓存节点,根据所述缓存节点记录的数据下刷信息,确定意外掉电时未完成数据下刷的条带;所述缓存节点位于非易失性随机访问存储器;从校验数据表的校验元素中读取数据恢复信息;所述校验数据表位于所述非易失性随机访问存储器;根据所述数据恢复信息,恢复未完成数据下刷的所述条带的数据。
[0026]可见,本申请所提供的数据恢复方法,在非易失性随机访问存储器中维护缓存节点与校验数据表,写数据过程中通过缓存节点记录条带的数据下刷信息,通过校验数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据恢复方法,其特征在于,包括:扫描缓存节点,根据所述缓存节点记录的数据下刷信息,确定意外掉电时未完成数据下刷的条带;所述缓存节点位于非易失性随机访问存储器;从校验数据表的校验元素中读取数据恢复信息;所述校验数据表位于所述非易失性随机访问存储器;根据所述数据恢复信息,恢复未完成数据下刷的所述条带的数据。2.根据权利要求1所述的数据恢复方法,其特征在于,所述根据所述缓存节点记录的数据下刷信息,确定意外掉电时未完成数据下刷的条带包括:根据所述缓存节点中控制字段关联的位图元数据中的比特位,确定意外掉电时未完成数据下刷的条带。3.根据权利要求2所述的数据恢复方法,其特征在于,根据所述缓存节点中控制字段关联的位图元数据中的比特位,确定意外掉电时未完成数据下刷的条带包括:若与所述条带对应的所述比特位的值为第一数值,则确定意外掉电时所述条带未完成数据下刷;若与所述条带对应的所述比特位的值为第二数值,则确定意外掉电时所述条带已完成数据下刷。4.根据权利要求3所述的数据恢复方法,其特征在于,所述位图元数据中一个比特位对应一个条带。5.根据权利要求1所述的数据恢复方法,其特征在于,所述根据所述缓存节点中控制字段关联的位图元数据中的比特位,确定意外掉电时未完成数据下刷的条带前还包括:根据所述控制字段的赋值,判断是否存在意外掉电时未完成数据下刷的条带;若存在,则根据所述缓存节点中控制字段关联的位图元数据中的比特位,确定意外掉电时未完成数据下刷的条带。6.根据权利要求5所述的数据恢复方法,其特征在于,所述根据所述控制字段的赋值,判断是否存在意外掉电时未完成数据下刷的条带包括:若所述控制字段的赋值为真,则不存在意外掉电时未完成数据下刷的条带;若所述控制字段的赋值为假,则存在意外掉电时未完成数据下刷的条带。7.根据权利要求1所述的数据恢复方法,其特征在于,还包括:申请所述缓存节点,并在所述缓存节点记录所述数据下刷信息。8.根据权利要求1所述的数据恢复方法,其特征在于,还包括:申请所述校验元素,并在所述校验元素记录所述数据恢复信息。9.根据权利要求7所述的数据恢复方法,其特征在于,所述在所述缓存节点记录所述数据下刷信息包括:若所述条带的数据分块与校验分块已全部下刷到磁盘,则将所述缓存节点中控制字段关联的位图元数据中与所述条带对应的比特位置为第一数值;若所述条带的数据分块与校验分块未全部下刷到磁盘,则将所述位图元数据中与所述条带对应的比特位置为第二数值。10.根据权利要求9所述的数据恢复方法,其特征在...

【专利技术属性】
技术研发人员:李飞龙许永良孙明刚
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1