首页 / 专利库 / 软件 / 逻辑文件 / 一种分布式块存储的数据恢复方法、装置及存储介质

一种分布式存储的数据恢复方法、装置及存储介质

阅读:1发布:2020-06-12

专利汇可以提供一种分布式存储的数据恢复方法、装置及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种分布式 块 存储的数据恢复方法、装置及存储介质。其中,一种分布式块存储的数据恢复方法包括以下步骤:S1、读取存储 服务器 的磁盘并获取块存储设备镜像的原始存储单元文件集,对所述存储单元文件集中的冗余文件去重;S2、将所述存储单元文件集中的存储单元文件未达到存储单元文件大小最大值的进行写零填充;S3存储单元文件按照逻辑地址顺序依次按编号进行重命名,按照条带单元大小及条带宽度读取存储单元文件并写入新镜像文件;S4、将所述新镜像文件恢复到所述块存储设备。通过读取存储单元文件集,并对存储单元文件进行去重、写零操作以及重组,解决了分布式块存储在灾难情况下的数据恢复,保证数据的安全。,下面是一种分布式存储的数据恢复方法、装置及存储介质专利的具体信息内容。

1.一种分布式存储的数据恢复方法,其特征在于,包括以下步骤:
S1、读取存储服务器的磁盘并获取块存储设备镜像的原始存储单元文件集,对所述存储单元文件集中的冗余文件去重;
S2、将所述存储单元文件集中的存储单元文件未达到存储单元文件大小最大值的进行写零填充;
S3存储单元文件按照逻辑地址顺序依次按编号进行重命名,按照条带单元大小及条带宽度读取存储单元文件并写入新镜像文件;
S4、将所述新镜像文件恢复到所述块存储设备。
2.根据权利要求1所述的一种分布式块存储的数据恢复方法,其特征在于,所述S1包括以下步骤:
S11、读取存储服务器的磁盘并获取从块存储设备镜像的原始存储单元文件集;
S12、将存储单元文件集中的存储单元文件大小相同的分为一组;
S13、对于同一组大小的存储单元文件的逻辑地址进行比较,若逻辑地址重复则将重复逻辑地址的存储单元文件删除。
3.根据权利要求1或2所述的一种分布式块存储的数据恢复方法,其特征在于,所述S3包括以下步骤:
S31、根据所述存储单元文件集和所述存储单元文件的大小关系,计算出读取所述存储单元文件集的次数M,按照所述存储单元文件和条带单元的大小关系,计算出读取存储单元文件的次数Q;
S32、从存储单元文件中依次按照条带宽度K以及所述条带单元大小读取文件并写入到新镜像文件,重复此过程Q次;
S33、根据所述S32步骤读取剩下的存储单元文件,并重复M次,并将剩余的所述存储单元文件写入到新镜像文件。
4.根据权利要求1或2所述的一种分布式块存储的数据恢复方法,其特征在于,所述S4包括以下步骤:
S41、将所述新镜像文件映射到本地回环设备,再挂载到本地目录;
S42、以文件系统方式访问所述新镜像文件中的数据。
5.根据权利要求1或2所述的一种分布式块存储的数据恢复方法,其特征在于,所述S4包括以下步骤:
S41、将所述新镜像文件映射到本地回环设备;
S42、所述回环设备按照所述块存储设备的访问协议导出,访问新镜像文件的数据。
6.一种分布式块存储的数据恢复装置,其特征在于,包括:
获取去重模块,用于获取块存储设备中的存储单元文件集,将获取的存储单元文件集中重复的存储单元文件删除,只保留一份完整的存储单元文件集;
预处理模块,用于对所述存储单元文件未达到所述存储单元文件最大值的进行写零操作,并对所述存储单元文件按照逻辑地址依次进行重命名编号;
组装模块,用于将所述预处理模块中存储单元文件重新组装成新镜像文件;
恢复模块,用于将所述新镜像文件恢复至所述块存储设备。
7.根据权利要求6所述的一种分布式块存储的数据恢复装置,其特征在于,所述获取去重模块包括:
获取单元,用于读取存储服务器的磁盘并获取块存储设备中的存储单元文件集,将存储单元文件集中的存储单元文件按照相同的文件大小进行分组;
去重单元,用于对同组的存储单元文件的逻辑地址进行比较,将逻辑地址相同的存储单元文件删除。
8.根据权利要求6或7所述的一种分布式块存储的数据恢复装置,其特征在于,所述组装模块包括:
读取计算单元,用于按照所述存储单元文件集大小和所述存储单元文件大小的最大值计算出读取所述存储单元文件集的次数M,按照存储单元文件的大小和条带单元的大小,计算出读取存储单元文件的次数Q;
写入单元,用于从存储单元文件按照条带单元大小及条带宽度K读取文件并写入到新镜像文件中,以形成新镜像文件。
9.根据权利要求7所述的一种分布式块存储的数据恢复装置,其特征在于,所述恢复模块包括:
映射单元,用于将所述新镜像文件映射到本地回环设备,本地回环设备挂载本地目录;
访问单元,用于以文件系统方式访问数据。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至5任一项所述的方法。

说明书全文

一种分布式存储的数据恢复方法、装置及存储介质

技术领域

[0001] 本发明涉及数据存储技术领域,尤其是一种分布式块存储的数据恢复方法、装置及存储介质。

背景技术

[0002] 分布式存储是一种数据存储技术,通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个落。
[0003] 分布式存储的关键技术为数据元数据管理、存储系统弹性扩展技术、故障自愈、存储性能技术等来满足存储系统高可用、高可靠和高性能。按照存储协议分类,分布式存储可分为分布式文件系统、分布式块存储及分布式对象存储。分布式块存储一直由逻辑上连续的镜像文件组成,镜像文件按照存储单元和副本个数分散在不同物理磁盘上。为了提高读写的并行效率,一般分布式块存储镜像以条带化的方式组织数据。
[0004] 在数据时代,分布式块存储是存储中的基础设施。块设备通过IP-SAN或FC-SAN为应用提供服务,其中块存储的应用场景主要为云主机提供虚拟化存储、这就必然要求分布式存储的数据安全性,在各种故障及灾难下能够进行数据恢复。一般故障下,由于分布式存储系具有一致性、多副本、故障自愈等能数据都能自动恢复。但在极端或特定灾难情况下,如元数据丢失、操作系统或存储软件奔溃、部分硬盘数据丢失等情况时则硬盘内数据难以恢复。

发明内容

[0005] 本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的是提供一种分布式块存储的数据恢复方法、装置及存储介质,有利于解决分布式块存储在灾难情况下的数据恢复,保证数据的安全。
[0006] 为此,本发明的第一个目的是提供一种分布式块存储的数据恢复方法。
[0007] 本发明所采用的技术方案是:
[0008] 第一方面,本发明提供一种分布式块存储的数据恢复方法,包括以下步骤:
[0009] S1、读取存储服务器的磁盘并获取块存储设备镜像的原始存储单元文件集,对所述存储单元文件集中的冗余文件去重;
[0010] S2、将所述存储单元文件集中的存储单元文件未达到存储单元文件大小最大值的进行写零填充;
[0011] S3存储单元文件按照逻辑地址顺序依次按编号进行重命名,按照条带单元大小及条带宽度读取存储单元文件并写入新镜像文件;
[0012] S4、将所述新镜像文件恢复到所述块存储设备。
[0013] 进一步地,所述S1包括以下步骤:
[0014] S11、读取存储服务器的磁盘并获取从块存储设备镜像的原始存储单元文件集;
[0015] S12、将存储单元文件集中的存储单元文件大小相同的分为一组;
[0016] S13、对于同一组大小的存储单元文件的逻辑地址进行比较,若逻辑地址重复则将重复逻辑地址的存储单元文件删除。
[0017] 进一步地,所述S3包括以下步骤:
[0018] S31、根据所述存储单元文件集和所述存储单元文件的大小关系,计算出读取所述存储单元文件集的次数M,按照所述存储单元文件和条带单元的大小关系,计算出读取存储单元文件的次数Q;
[0019] S32、从存储单元文件中依次按照条带宽度K以及所述条带单元大小读取文件并写入到新镜像文件,重复此过程Q次;
[0020] S33、根据所述S32步骤读取剩下的存储单元文件,并重复M次,并将剩余的所述存储单元文件写入到新镜像文件。
[0021] 进一步地,所述S4包括以下步骤:
[0022] S41、将所述新镜像文件映射到本地回环设备,再挂载到本地目录;
[0023] S42、以文件系统方式访问所述新镜像文件中的数据。
[0024] 进一步地,所述S4包括以下步骤:
[0025] S41、将所述新镜像文件映射成本地回环设备;
[0026] S42、所述回环设备按照所述块存储设备的访问协议导出,访问新镜像文件的数据。
[0027] 第二方面,本发明提供一种分布式块存储的数据恢复装置,包括:
[0028] 获取去重模块,用于获取块存储设备中的存储单元文件集,将获取的存储单元文件集中重复的存储单元文件删除,只保留一份完整的存储单元文件集;
[0029] 预处理模块,用于对所述存储单元文件未达到所述存储单元文件最大值的进行写零操作,并对所述存储单元文件按照逻辑地址依次进行重命名编号;
[0030] 组装模块,用于将所述预处理模块中存储单元文件重新组装成新镜像文件;
[0031] 恢复模块,用于将所述新镜像文件恢复至所述块存储设备。
[0032] 进一步地,所述获取去重模块包括:
[0033] 获取单元,用于读取存储服务器的磁盘并获取块存储设备中的存储单元文件集,将存储单元文件集中的存储单元文件按照相同的文件大小进行分组;
[0034] 去重单元,用于对同组的存储单元文件的逻辑地址进行比较,将逻辑地址相同的存储单元文件删除。
[0035] 进一步地,所述组装模块包括:
[0036] 所述组装模块包括:
[0037] 读取计算单元,用于按照所述存储单元文件集大小和所述存储单元文件大小的最大值计算出读取所述存储单元文件集的次数M,按照存储单元文件的大小和条带单元的大小,计算出读取存储单元文件的次数Q;
[0038] 写入单元,用于从存储单元文件按照条带单元大小及条带宽度K读取文件并写入到新镜像文件中,以形成新镜像文件。
[0039] 进一步地,所述恢复模块包括:
[0040] 映射单元,用于将所述新镜像文件映射到本地回环设备,本地回环设备挂载本地目录;
[0041] 访问单元,用于以文件系统方式访问数据。
[0042] 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至5任一项所述的方法。
[0043] 本发明的有益效果是:
[0044] 本发明通过从磁盘中获取块存储设备的存储单元文件的数据,并对收集到存储单元文件集进行预处理,预处理包括存储单元文件的写零填充、去重、重编号,然后按照条带单元及条带宽度进行存储单元文件的重组装,最后恢复出原始的存储单元文件。从而提供了一种分布式块存储在存储系统软件奔溃等灾难下,能够高效和准确地进行数据恢复的方法。附图说明
[0045] 图1是本发明实施例一和实施例二的结构框图
[0046] 图2是本发明实施例一和实施例二的流程图
[0047] 图3是本发明实施例一和实施例二中步骤S3的流程图。

具体实施方式

[0048] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0049] 实施例一:参照图1,本发明公开了一种分布式块存储的数据恢复装置,包括:获取去重模块1、预处理模块2、组装模块3以及恢复模块4,获取去重模块1用于获取块存储设备中的存储单元文件集,将获取的存储单元文件集中重复的存储单元文件删除,只保留一份完整的存储单元文件集;预处理模块2用于对存储单元文件未达到存储单元文件最大值的进行写零操作,并对存储单元文件按照逻辑地址依次进行重命名编号;组装模块3用于将预处理模块2中存储单元文件重新组装成新镜像文件,恢复模块4用于将新镜像文件恢复到块存储设备。
[0050] 通过获取去重模块1读取存储服务器的磁盘并获取分布式存储在块存储设备中的存储单元文件,对存储单元文件集中多余的存储单元文件进行删除以得到一个完整的存储单元文件集,再对类似空洞文件的存储单元文件进行写零补充,通过对存储单元文件进行写零补充以防止出现空洞文件造成数据没有恢复。写零补充后对存储单元文件进行按照逻辑顺序进行重命名编号,组装模块3对写零填充和重编码的存储单元文件集进行重新组装以得到新镜像文件,并将新镜像文件恢复至原有的块存储设备,以便于使用者直接访问数据。提供了一种分布式块存储在存储系统软件奔溃等灾难下,能够高效和准确地进行数据恢复的装置。
[0051] 获取去重模块1包括获取单元以及去重单元,用于读取存储服务器的磁盘并获取块存储设备中的存储单元文件集,将存储单元文件集中的存储单元文件按照相同的文件大小进行分组,去重单元,用于对同组的存储单元文件的逻辑地址进行比较,将逻辑地址相同的存储单元文件删除。去重单元的数据处理如下:初始化HashMap,d5表示文件的md5值,count表示相同md5值的个数;遍历计算子集合文件的md5值,若hashmap中md5的个数count>1,则表示当前文件是冗余文件,将文件做删除操作;若hashmap中不包括该md5值,则将md5值添加到hashmap中,count=1。
[0052] 组装模块3包括读取计算单元以及写入单元,读取计算单元用于按照存储单元文件集大小和存储单元文件大小的最大值计算出读取存储单元文件集的次数M,按照存储单元文件的大小和条带单元的大小,计算出读取存储单元文件的次数Q,写入单元用于从存储单元文件按照条带单元大小读取文件并写入到新镜像文件中。
[0053] 读取计算单元通过存储单元文件集大小除以存储单元文件大小最大值以得到读取存储单元文件集的次数M,再通过存储单元文件大小除以条带单元文件大小以得到读取存储单元文件的次数,其中条带是把连续的数据分割成相同大小的数据块,把每段数据分别写入到分布式集群中的不同磁盘上的不同存储单元文件的方法。条带单元:指的是条带的大小,也叫条带大小。这个参数指的是写在每块磁盘上的条带数据块的大小。数据块大小一般在16KB到512KB之间(或者更大),其数值是2的次方,即16KB,32KB,64KB,128KB这样。条带宽度:是指同时可以并发读或写的条带数量。这个数量等于并发操作的存储单元个数。例如一个经过条带化的分布式块设备镜像,条带大小为256KB,条带宽度为8,在数据读操作时,并发读取8个存储单元,每次读取大小为256KB。增加条带宽度,可以增加块设备的读写性能。道理很明显,增加更多的硬盘,也就增加了可以同时并发读或写的条带数量。写入单元先从存储单元文件依次按照条带单元大小及条带宽度读取文件,且根据条带宽度一次性可以对多个存储单元读取与写入到新的存储单元文件,再根据一个存储单元文件与条带单元的大小以多次读取以形成新镜像文件,并重复该过程Q次,然后读取剩下N-K存储单元文件再读取写入重复M次,从而得到新镜像文件。
[0054] 恢复模块4包括映射单元以及访问单元,映射单元用于将新镜像文件映射到本地回环设备,本地回环设备挂载本地目录,挂载是指由操作系统使一个存储设备(诸如硬盘、CD-ROM或共享资源)上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。访问单元用于以文件系统方式访问数据。映射单元将新镜像文件映射成本地回环设备接着挂载到本地目录然后访问单元以文件系统方式进行访问,从而使数据恢复高效。
[0055] 实施例二:与实施例一不同在于,恢复模块4包括导出单元以及访问单元,导出单元用于将新镜像文件映射成本地回环设备并按照原有块存储设备的访问协议导出,访问单元用于访问导出的数据。通过导出单元将映射后的块存储设备访问协议导出,然后访问单元将数据导出,从而使数据恢复操作简易且高效。
[0056] 参照图2,本发明公开了一种分布式块存储的数据恢复方法,包括以下步骤:
[0057] S1、读取存储服务器的磁盘并获取块存储设备镜像的原始存储单元文件集,对存储单元文件集中的冗余文件去重;
[0058] S2、将存储单元文件集中的存储单元文件未达到存储单元文件大小最大值的进行写零填充;
[0059] S3存储单元文件按照逻辑地址顺序依次按编号进行重命名,按照条带单元大小及条带宽度读取存储单元文件并写入新镜像文件;
[0060] S4、将新镜像文件恢复到块存储设备。
[0061] 通过从所有存储服务器的磁盘上获取块存储设备的存储单元文件集,并对收集到存储单元文件集中的存储单元文件进行预处理,其中预处理包括类似空洞文件的存储单元文件写零填充、多余的存储单元文件删除、按照逻辑顺序对存储单元文件重编号,然后按照块存储设备的条带参数对存储单元文件中的条带单元及条带宽度进行数据重组装,最后恢复出原始的分布式块存储数据,从而提供了一种分布式块存储在存储系统软件奔溃等灾难下,高效和准确的数据恢复方法。
[0062] S1包括以下步骤:S11、读取存储服务器的磁盘并获取从块存储设备镜像的原始存储单元文件集;
[0063] S12、将存储单元文件集中的存储单元文件大小相同的分为一组;
[0064] S13、对于同一组大小的存储单元文件的逻辑地址进行比较,若逻辑地址重复则将重复逻辑地址的存储单元文件删除,且对于重复的存储单元文件的处理方法如下:初始化HashMap,md5表示文件的md5值,count表示相同md5值的个数;遍历计算子集合文件的md5值,若hashmap中md5的个数count>1,则表示当前文件是冗余文件,将文件做删除操作;若hashmap中不包括该md5值,则将md5值添加到hashmap中,count=1。通过将原始单元数据文件集按大小进行分组后,然后对同一组的逻辑地址相同的存储单元文件进行删除只留下一个存储单元文件,防止重复的存储单元文件残留造成数据重复而导致数据恢复错误,进而提高了数据恢复的准确性。
[0065] 如图3所示,S3包括以下步骤:
[0066] S31、根据存储单元文件集和存储单元文件的大小关系,计算出读取存储单元文件集的次数M,按照存储单元文件和条带单元的大小关系,计算出读取存储单元文件的次数Q;
[0067] S32、从存储单元文件中依次按照条带宽度K以及条带单元大小读取文件并写入到新镜像文件,重复此过程Q次;
[0068] S33、根据S32步骤读取剩下的存储单元文件,并重复M次,并将剩余的存储单元文件写入到新镜像文件。
[0069] 通过根据存储单元文件集的大小除以存储单元文件的大小以得到读取存储单元文件集的次数,再根据存储单元文件的大小除以条带单元大小以得到存储单元文件的读取次数,首先从存储文件依次按照条带单元大小读取文件并写入到新镜像文件中,且每个存储单元文件读取重复Q次以将一个新镜像文件写入完整,然后也将剩下的N-K的存储单元文件按照条带单元大小以及条带宽度读取并写入到新镜像文件中,在本实施例条带宽度为K也就是一次性可以并发读取K个存储单元,且每次读取条带单元大小的数据进入新镜像文件,由于存储单元文件大小和条带单元大小的关系,最后得到新镜像文件重复读取写入M次以形成完整的新镜像文件,所以在本实施例中,读取数据进入新镜像文件时需要并发读取K个存储单元,且每次读取大小为256KB,且重复读取Q次既可将一个存储单元文件读取完整成为新镜像文件,从而使存储单元文件数据恢复快速且完整。
[0070] S4包括以下步骤:S41、将新镜像文件映射成本地回环设备,挂载到本地目录;
[0071] S42、以文件系统方式访问新镜像文件中的数据,从而使数据还原到本地存储设备简易且高效。
[0072] 实施例二:与实施例一不同在于,S4包括以下步骤:S41、将新镜像文件映射成本地回环设备;
[0073] S42、回环设备按照块存储设备的访问协议导出,访问新镜像文件的数据。
[0074] 恢复后的镜像文件集映射到本地回环设备后按照原有块存储设备访问协议导致,直接访问数据,使数据还原到本地设备的操作简易。
[0075] 一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行S1-S4步骤。
[0076] 以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈