CN105335250A - 一种基于分布式文件系统的数据恢复方法及装置 - Google Patents

一种基于分布式文件系统的数据恢复方法及装置 Download PDF

Info

Publication number
CN105335250A
CN105335250A CN201410363719.1A CN201410363719A CN105335250A CN 105335250 A CN105335250 A CN 105335250A CN 201410363719 A CN201410363719 A CN 201410363719A CN 105335250 A CN105335250 A CN 105335250A
Authority
CN
China
Prior art keywords
data
data server
server
sheet
true
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.)
Granted
Application number
CN201410363719.1A
Other languages
English (en)
Other versions
CN105335250B (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN201410363719.1A priority Critical patent/CN105335250B/zh
Publication of CN105335250A publication Critical patent/CN105335250A/zh
Application granted granted Critical
Publication of CN105335250B publication Critical patent/CN105335250B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于分布式文件系统的数据恢复方法及装置,用以解决现有技术中数据发生异常无法及时恢复的问题,该方法为:元数据服务器确定存储于任意一个数据服务器中的一个真实数据片发生异常时,确定发生异常的真实数据片所归属的数据块中其它所有正常的真实数据片和校验数据片;元数据服务器计算每一个数据服务器的富于负载能力;并根据每一个数据服务器的富于负载能力,在所有数据服务器中筛选出数据片恢复数据服务器;根据其它所有正常的真实数据片和校验数据片,在该数据片恢复数据服务器中恢复发生异常的真实数据片。这样,综合考虑数据服务器的负载能力,进行恢复异常数据,最大限度的节省了数据恢复的时间,提高了数据恢复的效率。

Description

一种基于分布式文件系统的数据恢复方法及装置
技术领域
本发明涉及分布式文件系统领域,尤其涉及一种基于分布式文件系统的数据恢复方法及装置。
背景技术
随着因特网的快速发展,因特网上的数据将呈现爆发式的增长,而存储这些海量数据的分布式文件系统(DistributedFileSystem,DFS)往往会因为底层硬件磁盘损坏以及系统故障等不可预知的原因造成部分数据被损坏,进而导致部分文件不可读取。一旦出现被损坏的文件,DFS会根据损坏文件的元数据信息重新恢复被损坏的文件,从而保证在DFS内数据的安全性。
目前主流的DFS往往采用硬件磁盘阵列(RedundantArrayofIndependentDisk,RAID)磁盘的方式或者文件副本的方式进行文件的存储。其中,对于采用硬件RAID磁盘的方式进行文件存储的这种方法,当构成RAID磁盘组中的某块磁盘损坏后,则存储在该损坏磁盘上的所有文件都将失效,此时必须人为的手动插入一块磁盘以重新组成RAID磁盘组来恢复受损的文件,因此需要人为的干预。对于采用文件副本的方式进行文件存储的这种方法,如果当某块磁盘被受损后,则该损坏磁盘上的所有文件都将失效,此时必须根据元数据信息从其他某块单独的磁盘读取原来文件的备份信息来进行恢复,但是此种情况恢复速度往往受限于单个磁盘的读取和写入速度,显然,受损文件恢复过程比较长,此外如果系统副本数据分布不均衡的话,例如,同一磁盘的多个副本集中存储某个磁盘,则受损文件的恢复过程会更长。
总之,现有技术中采用RAID磁盘的方式进行文件存储在数据恢复过程中,需要人工更换磁盘,会导致数据无法及时恢复,采用文件副本的方式进行文件存储在数据恢复过程中,由于单个磁盘的读写速度较慢以及系统副本数据分布不均衡时,导致数据恢复过程耗时较长,降低了数据恢复效率。
发明内容
本发明实施例提供一种基于分布式文件系统的数据恢复方法及装置,用以解决现有技术中采用RAID磁盘的方式进行文件存储在数据恢复过程中,需要人工更换磁盘,导致的数据无法及时恢复的问题,以及采用文件副本的方式进行文件存储在数据恢复过程中,由于单个磁盘的读写速度较慢以及系统副本数据分布不均衡,导致数据恢复过程耗时较长,降低了数据恢复效率的问题。
本发明实施例提供的具体技术方案如下:
一种基于分布式文件系统的数据恢复方法,包括:
元数据服务器确定存储于任意一个数据服务器中的一个真实数据片发生异常时,确定发生异常的真实数据片所归属的数据块中其它所有正常的真实数据片和校验数据片;
元数据服务器获取每一个数据服务器的负载信息,并根据所述每一个数据服务器的负载信息,计算所述每一个数据服务器的富于负载能力;
元数据服务器根据所述每一个数据服务器的富于负载能力,在所有数据服务器中筛选出数据片恢复数据服务器;
元数据服务器根据所述发生异常的真实数据片所归属的数据块中的其它所有正常的真实数据片和校验数据片,在所述数据片恢复数据服务器中恢复所述发生异常的真实数据片。
通过这种方法,综合考虑各个数据节点间由于硬件配置的不同造成的承受负载能力的不同,并在数据恢复过程中,通过从多个数据服务器读取数据恢复异常数据,最大限度的节省了数据恢复的时间,提高了数据恢复的效率。
较佳地,该方法进一步包括:
元数据服务器在存储一数据块时,根据预设的数据大小,将所述数据块分割为第一设定数目的数据片,其中,第一设定数目的数据片中包括第二设定数目的真实数据片和第三设定数目的校验数据片;
分别将所述数据块中的每一个数据片保存至对应的数据服务器。
通过这种方法,将文件分割为数据块后,再将数据块分割为数据片,并且每个数据片分别存储于不同的数据服务器中,这样,数据片粒度较小,在数据恢复过程中,是通过存储于其他数据服务器中的数据片进行恢复的,可以避免文件副本受限于单个磁盘的读取和写入的速度,使恢复速度更快。
较佳地,元数据服务器确定存储于任意一个数据服务器中的一个真实数据片发生异常,包括:
元数据服务器检测到所述任意一个数据服务器发生异常时,确定存储于该任意一个数据服务器中的全部真实数据片发生异常;或者
元数据服务器接收客户端上报的第一类异常消息时,确定存储于该任意一个数据服务器中的一个真实数据片发生异常,其中,所述第一类异常消息为所述客户端在读写所述真实数据片所归属的数据块,根据所述数据块中的校验数据片确定所述真实数据片发生异常时,上报至元数据服务器的;或者
元数据服务器接收所述任一个数据服务器上报的第二类异常消息时,确定存储于该任意一个数据服务器中的一个真实数据片发生异常,其中,所述第二类异常消息为所述任意一个数据服务器根据所述真实数据片所归属的数据块中的其它真实数据片和校验数据片确定所述真实数据片发生异常时,上报至元数据服务器的。
通过这种方法,元数据服务器可以实时的确定发生异常的数据片,从而保证了对发生异常的数据进行恢复的实时性。
较佳地,元数据服务器获取任意一个数据服务器的负载信息,包括:
元数据服务器按照第一查询周期查询所述任意一个数据服务器的负载信息;或者
元数据服务器接收在所述任意一个数据服务器按照第二判断周期计算所述任意一个数据服务器的负载变化率,判定所述负载变化率超过设定负载变化率阈值时,上报的所述任意一个数据服务器的负载信息。
通过这种方法,元数据服务器可以在保证计算压力的情况下实时的获取每个数据服务器的负载信息变化。
较佳地,元数据服务器获取每一个数据服务器的负载信息,包括:
元数据服务器获取每一个数据服务器的中央处理器CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽以及磁盘读写速度。
通过这种方法,元数据服务器可以获取每个数据服务器的负载信息的参数。
较佳地,元数据服务器根据任意一个数据服务器的负载信息,计算所述任意一个数据服务器的富于负载能力,包括:
元数据服务器根据分别针对负载信息中的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽、磁盘读写速度预设的权重,对所述任意一个数据服务器的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽、磁盘读写速度进行加权和运算,得到所述任意一个数据服务器的富于负载能力。
通过这种方法,可以准确的得到每一个数据服务器的富于负载能力。
较佳地,元数据服务器根据所述每一个数据服务器的富于负载能力,在所有数据服务器中筛选出数据片恢复数据服务器,包括:
元数据服务器在所有数据服务器中筛选出不包含所述发生异常的真实数据片所归属的数据块中的真实数据片和校验数据片的数据服务器作为备选数据服务器;
元数据服务器在所述备选数据服务器中筛选出富于负载能力值最大的数据服务器作为数据片恢复数据服务器。
采用这种方法,在不包含异常数据片相关的数据片所在的数据服务器中进行数据恢复,保证了一个数据块中的每个数据片均占用不同的数据服务器,可以通过从多个数据服务器读取数据恢复异常数据,最大限度的节省了数据恢复的时间,提高了数据恢复的效率。
一种基于分布式文件系统的数据恢复装置,包括:
确定单元,用于确定存储于任意一个数据服务器中的一个真实数据片发生异常时,确定发生异常的真实数据片所归属的数据块中其它所有正常的真实数据片和校验数据片;
计算单元,用于获取每一个数据服务器的负载信息,并根据所述每一个数据服务器的负载信息,计算所述每一个数据服务器的富于负载能力;
筛选单元,用于根据所述每一个数据服务器的富于负载能力,在所有数据服务器中筛选出数据片恢复数据服务器;
恢复单元,用于根据所述发生异常的真实数据片所归属的数据块中的其它所有正常的真实数据片和校验数据片,在所述数据片恢复数据服务器中恢复所述发生异常的真实数据片。
这样,综合考虑各个数据节点间由于硬件配置的不同造成的承受负载能力的不同,并在数据恢复过程中,通过从多个数据服务器读取数据恢复异常数据,最大限度的节省了数据恢复的时间,提高了数据恢复的效率。
较佳地,该装置进一步包括:
分割单元,用于在存储一数据块时,根据预设的数据大小,将所述数据块分割为第一设定数目的数据片,其中,第一设定数目的数据片中包括第二设定数目的真实数据片和第三设定数目的校验数据片;
保存单元,用于分别将所述数据块中的每一个数据片保存至对应的数据服务器。
这样,将文件分割为数据块后,再将数据块分割为数据片,并且每个数据片分别存储于不同的数据服务器中,数据片粒度较小,在数据恢复过程中,是通过存储于其他数据服务器中的数据片进行恢复的,可以避免文件副本受限于单个磁盘的读取和写入的速度,使恢复速度更快。
较佳地,所述确定单元确定存储于任意一个数据服务器中的一个真实数据片发生异常,包括:
所述确定单元检测到所述任意一个数据服务器发生异常时,确定存储于该任意一个数据服务器中的全部真实数据片发生异常;或者
所述确定单元接收客户端上报的第一类异常消息时,确定存储于该任意一个数据服务器中的一个真实数据片发生异常,其中,所述第一类异常消息为所述客户端在读写所述真实数据片所归属的数据块,根据所述数据块中的校验数据片确定所述真实数据片发生异常时,上报至元数据服务器的;或者
所述确定单元接收所述任一个数据服务器上报的第二类异常消息时,确定存储于该任意一个数据服务器中的一个真实数据片发生异常,其中,所述第二类异常消息为所述任意一个数据服务器根据所述真实数据片所归属的数据块中的其它真实数据片和校验数据片确定所述真实数据片发生异常时,上报至元数据服务器的。
这样,确定单元可以实时的确定发生异常的数据片,从而保证了对发生异常的数据进行恢复的实时性。
较佳地,所述计算单元获取任意一个数据服务器的负载信息,包括:
所述计算单元按照第一查询周期查询所述任意一个数据服务器的负载信息;或者
所述计算单元接收在所述任意一个数据服务器按照第二判断周期计算所述任意一个数据服务器的负载变化率,判定所述负载变化率超过设定负载变化率阈值时,上报的所述任意一个数据服务器的负载信息。
这样,计算单元可以在保证计算压力的情况下实时的获取每个数据服务器的负载信息变化。
较佳地,所述计算单元获取每一个数据服务器的负载信息,包括:
所述计算单元获取每一个数据服务器的中央处理器CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽以及磁盘读写速度。
这样,计算单元可以获取每个数据服务器的负载信息的参数。
较佳地,所述计算单元根据任意一个数据服务器的负载信息,计算所述任意一个数据服务器的富于负载能力,包括:
所述计算单元根据分别针对负载信息中的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽、磁盘读写速度预设的权重,对所述任意一个数据服务器的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽、磁盘读写速度进行加权和运算,得到所述任意一个数据服务器的富于负载能力。
这样,计算单元可以准确的得到每一个数据服务器的富于负载能力。
较佳地,所述筛选单元根据所述每一个数据服务器的富于负载能力,在所有数据服务器中筛选出数据片恢复数据服务器,包括:
所述筛选单元在所有数据服务器中筛选出不包含所述发生异常的真实数据片所归属的数据块中的真实数据片和校验数据片的数据服务器作为备选数据服务器;
所述筛选单元在所述备选数据服务器中筛选出富于负载能力值最大的数据服务器作为数据片恢复数据服务器。
这样,筛选单元在不包含异常数据片相关的数据片所在的数据服务器中进行数据恢复,保证了一个数据块中的每个数据片均占用不同的数据服务器,可以通过从多个数据服务器读取数据恢复异常数据,最大限度的节省了数据恢复的时间,提高了数据恢复的效率。
采用本发明技术方案,通过源数据服务器主动检测数据服务器、客户端和数据服务器主动上报发生异常的数据片,三个数据流对发生异常的数据片进行实时检测,提高了确定受损数据的效率;与传统的轮询等静态负载均衡等方式无法考虑各个数据节点本身的负载能力的不同,且与传统的动态负载均衡造成的元数据服务器计算压力过大的情况不同,本发明通过元数据服务器主动检测数据服务器的负载信息以及数据服务器检测到本身的负载变化率后上报元数据服务器的方式,综合考虑各个数据节点间由于硬件配置的不同造成承受负载能力的不同;在数据恢复过程中,通过从多个数据服务器读取数据恢复异常数据,最大限度的节省了数据恢复的时间,提高了数据恢复的效率。
附图说明
图1为现有技术提供的一种分布式文件系统的结构示意图;
图2为本发明实施例提供的一种基于分布式文件系统的数据恢复方法的具体流程图;
图3为本发明实施例提供的一种文件分割存储方法实例示意图;
图4为本发明实施例提供的一种基于分布式文件系统的数据恢复装置的结构示意图。
具体实施方式
采用本发明技术方案,能够有效地避免现有技术中采用RAID磁盘的方式进行文件存储在数据恢复过程中,需要人工更换磁盘,导致的数据无法及时恢复的问题,以及采用文件副本的方式进行文件存储在数据恢复过程中,由于单个磁盘的读写速度较慢以及系统副本数据分布不均衡,导致数据恢复过程耗时较长,降低了数据恢复效率的问题。
本发明实施例提供了一种基于分布式文件系统的数据恢复方法,下面结合附图对本发明优选的实施方式进行详细说明。
参阅图1所示,现有技术下的分布式文件系统包括元数据服务器、客户端以及数据服务器,其中,客户端先元数据服务器发起读写文件请求,元数据服务器根据客户端的读写文件请求将文件数据的真实分布返回给客户端,客户端根据元数据服务器返回的信息从数据服务器中读写真实文件。
参阅图2所示,本发明实施例提供的一种基于分布式文件系统的数据恢复方法的具体处理流程包括:
步骤201:元数据服务器确定存储于任意一个数据服务器中的一个真实数据片发生异常时,确定发生异常的真实数据片所归属的数据块中其它所有正常的真实数据片和校验数据片。
较佳地,元数据服务器在存储一数据块时,根据预设的数据大小,将该一数据块分割为第一设定数目的数据片,其中,第一设定数目的数据片中包括第二设定数目的真实数据片和第三设定数目的校验数据片;
分别将该数据块中的每一个数据片保存至对应的数据服务器。
较佳地,元数据服务器存储文件时,首先将该文件分割为数据大小相同的数据块,然后再将每一个数据块按照冗余码(ErasureCode)的方式切割成N+M个数据片分布在N+M个数据服务器中,即每一个数据片对应一个数据服务器,该数据片存储于数据服务器的数据节点中,显然,在本发明实施例中的分布式文件中数据服务器的个数大于N+M。
参阅图3所示,本发明实施例提供的一种文件分割存储方法实例示意图显示,将数据较大的文件1分割为相同数据大小的数据块1、数据块2,并将数据较小的文件2直接作为数据块3;然后将每个数据块分割为4个数据片,分别存储于4个数据服务器中,其中数据服务器的数目大于4。
其中,N+M为第一设定数目,N为第二设定数目,M为第三设定数目,即在N+M个数据片中,有N个真实数据片以及M个校验数据片,N和M为大于等于1的正整数。
将文件分割为数据块后,再将数据块分割为数据片,并且每个数据片分别存储于不同的数据服务器中,这样,数据片粒度较小,在数据恢复过程中,是通过存储于其他数据服务器中的数据片进行恢复的,可以避免文件副本受限于单个磁盘的读取和写入的速度,使恢复速度更快。
元数据服务器确定存储于某个数据服务器中的一个真实数据片发生异常时,确定发生异常的真实数据片所归属的数据块中其它所有正常的真实数据片和校验数据片以及其它所有正常的真实数据片和校验数据片的位置。
具体的,元数据服务器确定存储于任意一个数据服务器中的一个真实数据片发生异常,包括以下三种方式:
元数据服务器检测到任意一个数据服务器发生异常时,确定存储于该任意一个数据服务器中的全部真实数据片发生异常;或者
元数据服务器接收客户端上报的第一类异常消息时,确定存储于该任意一个数据服务器中的一个真实数据片发生异常,其中,第一类异常消息为客户端在读写该真实数据片所归属的数据块,根据该数据块中的校验数据片确定该真实数据片发生异常时,上报至元数据服务器的;或者
元数据服务器接收该任一个数据服务器上报的第二类异常消息时,确定存储于该任意一个数据服务器中的一个真实数据片发生异常,其中,第二类异常消息为该任意一个数据服务器根据该真实数据片所归属的数据块中的其它真实数据片和校验数据片确定该真实数据片发生异常时,上报至元数据服务器的。
具体的,元数据服务器主动监测主要通过检测每一个数据服务器的运行状况,例如数据服务器的运行异常或宕机等情况,造成整个数据服务器不可用,则元数据服务器可确定该数据服务中保存的所有数据片均发生异常。
数据服务器会主动区分热块和冷块,热块即经常被读写的数据片,而冷块即不经常被读写的数据片,针对不同的类型数据片,确定其异常也不同:
针对热块,由于经常被客户端使用,因此,在客户端读写该热块所归属的数据块时,可以通过该数据块的校验数据片确定该热块是否发生异常,确定发生异常时,客户端将上报至元数据服务器;
针对冷块,在所在的数据服务器负载率较低的情况下,通过该冷块所归属的数据块的其它的数据片(包括真实数据片和校验数据片)对该冷块进行校验,确定发生异常时,该冷块所在的数据服务器上报至元数据服务器。
这样,元数据服务器可以实时的确定发生异常的数据片,从而保证了对发生异常的数据进行恢复的实时性。
步骤202:元数据服务器获取每一个数据服务器的负载信息,并根据每一个数据服务器的负载信息,计算每一个数据服务器的富于负载能力。
首先,元数据服务器可以通过以下两种方式获取任意一个数据服务器的负载信息:
元数据服务器按照第一查询周期查询任意一个数据服务器的负载信息;或者
元数据服务器接收在任意一个数据服务器按照第二判断周期计算该任意一个数据服务器的负载变化率,判定负载变化率超过设定负载变化率阈值时,上报的该任意一个数据服务器的负载信息。
具体的,元数据服务器按照第一查询周期T1主动查询每个数据服务器的负载信息,其中,T1的一般时间较长,主要为了避免数据服务器主动上报负载信息异常时,导致负载信息收集不及时。
数据服务器按照第二判断周期T2,采用公式一,计算自身的负载变化率,若该负载变化率在设定负载变化率阈值范围内,则不将该数据服务器的负载信息上报至元数据服务器,若该负载变化率大于或等于设定负载变化率阈值,则将该数据服务器的负责信息上报至元数据服务器。
x = | F t 1 - F t 2 | T 2 公式一
其中Ft1、Ft2分别代表前后两次采集的负载,T2代表第二判断周期。
其中,数据服务器获取每一个数据服务器的负载信息,包括:
元数据服务器获取每一个数据服务器的中央处理器CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽以及磁盘读写速度。
最后,元数据服务器采用以下方法根据任意一个数据服务器的负载信息,计算该任意一个数据服务器的富于负载能力:
元数据服务器根据分别针对负载信息中的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽、磁盘读写速度预设的权重,对该任意一个数据服务器的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽、磁盘读写速度进行加权和运算,得到该任意一个数据服务器的富于负载能力。
优选的,采用公式二计算任意一个数据服务器的富于负载能力:
SurplusCapacity = r 1 r 2 r 3 r 4 r 5 f 1 f 2 f 3 f 4 f 5 公式二
其中,f1为cpu剩余使用率,f2为内存剩余使用率,f3为磁盘剩余使用容量,f4为网络剩余带宽,f5为磁盘读写速度,且r1、r2、r3、r4、r5分别为针对负载信息中的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽、磁盘读写速度预设的权重。
这样,可以综合考虑了数据服务器的最大负载能力以及数据服务器当前的负载情况,避免了数据服务器负载过大导致无法恢复异常的受损数据片。
步骤203:元数据服务器根据每一个数据服务器的富于负载能力,在所有数据服务器中筛选出数据片恢复数据服务器。
具体的,执行步骤203时采用以下方法筛选出数据片恢复数据服务器:
元数据服务器在所有数据服务器中筛选出不包含发生异常的真实数据片所归属的数据块中的真实数据片和校验数据片的数据服务器作为备选数据服务器;
元数据服务器在备选数据服务器中筛选出富于负载能力值最大的数据服务器作为数据片恢复数据服务器。
优选的,不选择在发生异常数据片归属的数据块中的所有的数据片(真实数据片和校验数据片)所占用的数据服务器作为数据片恢复数据服务器,这样可以保证恢复后的该数据块中的每一个数据片分别占用一个不同的数据服务器,也保证了数据服务器的数据均衡,进而保证在数据片恢复过程中,不受限于单个磁盘的读写速度,提高了恢复效率。
步骤204:元数据服务器根据发生异常的真实数据片所归属的数据块中的其它所有正常的真实数据片和校验数据片,在该数据片恢复数据服务器中恢复发生异常的真实数据片。
具体的,将文件分割成多个数据块,将数据块分割成N+M个数据片分布在N+M个数据服务器的数据节点中,当某个数据块损坏时,可以根据与其相关的数据片上的帧数数据和校验数据(即正常的真实数据片和校验数据片)恢复该数据块,这种数据恢复方法与硬件RAID磁盘的方式以及文件副本方式相比,由于恢复粒度更小,且是并行从其它不同的数据服务器的数据节点中读取数据片进行恢复,不受限于单个磁盘的读写速度,最大化的提高了恢复的效率,节省了恢复时间。
在本发明实施例中,是针对与一个数据块中的一个数据片发生异常时的数据恢复流程,然而,在实际场景中,通常会出现多个数据块或者一个数据块中的多个数据片同时发生异常,因此,可以在数据块以及数据片中携带文件的一些基本信息,然后针对不同的应用场景,可以按照文件的基本信息以优先级的顺序进行恢复。例如,针对用户存放的个人基本文档的应用场景,可以按照用户的等级进行划分,优先恢复用户的等级高的用户的文件;针对事件敏感型的大数据视频监控应用场景,可以按照时间的顺序,优先恢复最近时间点的数据等。
基于上述实施例,参阅图4所示,本发明实施例还提供了一种基于分布式文件系统的数据恢复装置,该装置包括:确定单元401、计算单元402、筛选单元403以及恢复单元404,其中,
确定单元401,用于确定存储于任意一个数据服务器中的一个真实数据片发生异常时,确定发生异常的真实数据片所归属的数据块中其它所有正常的真实数据片和校验数据片;
计算单元402,用于获取每一个数据服务器的负载信息,并根据每一个数据服务器的负载信息,计算每一个数据服务器的富于负载能力;
筛选单元403,用于根据每一个数据服务器的富于负载能力,在所有数据服务器中筛选出数据片恢复数据服务器;
恢复单元404,用于根据发生异常的真实数据片所归属的数据块中的其它所有正常的真实数据片和校验数据片,在数据片恢复数据服务器中恢复该发生异常的真实数据片。
该装置进一步包括:
分割单元,用于在存储一数据块时,根据预设的数据大小,将该数据块分割为第一设定数目的数据片,其中,第一设定数目的数据片中包括第二设定数目的真实数据片和第三设定数目的校验数据片;
保存单元,用于分别将该数据块中的每一个数据片保存至对应的数据服务器。
确定单元401确定存储于任意一个数据服务器中的一个真实数据片发生异常,包括:
确定单元401检测到任意一个数据服务器发生异常时,确定存储于该任意一个数据服务器中的全部真实数据片发生异常;或者
确定单元401接收客户端上报的第一类异常消息时,确定存储于该任意一个数据服务器中的一个真实数据片发生异常,其中,第一类异常消息为客户端在读写所述真实数据片所归属的数据块,根据该数据块中的校验数据片确定该真实数据片发生异常时,上报至元数据服务器的;或者
确定单元401接收任一个数据服务器上报的第二类异常消息时,确定存储于该任意一个数据服务器中的一个真实数据片发生异常,其中,第二类异常消息为任意一个数据服务器根据该真实数据片所归属的数据块中的其它真实数据片和校验数据片确定该真实数据片发生异常时,上报至元数据服务器的。
计算单元402获取任意一个数据服务器的负载信息,包括:
计算单元402按照第一查询周期查询任意一个数据服务器的负载信息;或者
计算单元402接收在任意一个数据服务器按照第二判断周期计算该任意一个数据服务器的负载变化率,判定该负载变化率超过设定负载变化率阈值时,上报的该任意一个数据服务器的负载信息。
计算单元402获取每一个数据服务器的负载信息,包括:
计算单元402获取每一个数据服务器的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽以及磁盘读写速度。
计算单元402根据任意一个数据服务器的负载信息,计算该任意一个数据服务器的富于负载能力,包括:
计算单元402根据分别针对负载信息中的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽、磁盘读写速度预设的权重,对任意一个数据服务器的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽、磁盘读写速度进行加权和运算,得到该任意一个数据服务器的富于负载能力。
筛选单元403根据每一个数据服务器的富于负载能力,在所有数据服务器中筛选出数据片恢复数据服务器,包括:
筛选单元403在所有数据服务器中筛选出不包含发生异常的真实数据片所归属的数据块中的真实数据片和校验数据片的数据服务器作为备选数据服务器;
筛选单元403在该备选数据服务器中筛选出富于负载能力值最大的数据服务器作为数据片恢复数据服务器。
综上所述,通过本发明实施例中提供的一种基于分布式文件系统的数据恢复方法及装置,其中,通过源数据服务器主动检测数据服务器、客户端和数据服务器主动上报发生异常的数据片,三个数据流对发生异常的数据片进行实时检测,提高了确定受损数据的效率;与传统的轮询等静态负载均衡等方式无法考虑各个数据节点本身的负载能力的不同,且与传统的动态负载均衡造成的源数据服务器计算压力过大的情况不同,本发明通过元数据服务器主动检测数据服务器的负载信息以及数据服务器检测到本身的负载变化率后上报元数据服务器的方式,综合考虑各个数据节点间由于硬件配置的不同造成承受负载能力的不同;在数据恢复过程中,通过从多个数据服务器读取数据恢复异常数据,最大限度的节省了数据恢复的时间,提高了数据恢复的效率。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种基于分布式文件系统的数据恢复方法,其特征在于,包括:
元数据服务器确定存储于任意一个数据服务器中的一个真实数据片发生异常时,确定发生异常的真实数据片所归属的数据块中其它所有正常的真实数据片和校验数据片;
元数据服务器获取每一个数据服务器的负载信息,并根据所述每一个数据服务器的负载信息,计算所述每一个数据服务器的富于负载能力;
元数据服务器根据所述每一个数据服务器的富于负载能力,在所有数据服务器中筛选出数据片恢复数据服务器;
元数据服务器根据所述发生异常的真实数据片所归属的数据块中的其它所有正常的真实数据片和校验数据片,在所述数据片恢复数据服务器中恢复所述发生异常的真实数据片。
2.如权利要求1所述的方法,其特征在于,进一步包括:
元数据服务器在存储一数据块时,根据预设的数据大小,将所述数据块分割为第一设定数目的数据片,其中,第一设定数目的数据片中包括第二设定数目的真实数据片和第三设定数目的校验数据片;
分别将所述数据块中的每一个数据片保存至对应的数据服务器。
3.如权利要求1所述的方法,其特征在于,元数据服务器确定存储于任意一个数据服务器中的一个真实数据片发生异常,包括:
元数据服务器检测到所述任意一个数据服务器发生异常时,确定存储于该任意一个数据服务器中的全部真实数据片发生异常;或者
元数据服务器接收客户端上报的第一类异常消息时,确定存储于该任意一个数据服务器中的一个真实数据片发生异常,其中,所述第一类异常消息为所述客户端在读写所述真实数据片所归属的数据块,根据所述数据块中的校验数据片确定所述真实数据片发生异常时,上报至元数据服务器的;或者
元数据服务器接收所述任一个数据服务器上报的第二类异常消息时,确定存储于该任意一个数据服务器中的一个真实数据片发生异常,其中,所述第二类异常消息为所述任意一个数据服务器根据所述真实数据片所归属的数据块中的其它真实数据片和校验数据片确定所述真实数据片发生异常时,上报至元数据服务器的。
4.如权利要求1所述的方法,其特征在于,元数据服务器获取任意一个数据服务器的负载信息,包括:
元数据服务器按照第一查询周期查询所述任意一个数据服务器的负载信息;或者
元数据服务器接收在所述任意一个数据服务器按照第二判断周期计算所述任意一个数据服务器的负载变化率,判定所述负载变化率超过设定负载变化率阈值时,上报的所述任意一个数据服务器的负载信息。
5.如权利要求1所述的方法,其特征在于,元数据服务器获取每一个数据服务器的负载信息,包括:
元数据服务器获取每一个数据服务器的中央处理器CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽以及磁盘读写速度。
6.如权利要求5所述的方法,其特征在于,元数据服务器根据任意一个数据服务器的负载信息,计算所述任意一个数据服务器的富于负载能力,包括:
元数据服务器根据分别针对负载信息中的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽、磁盘读写速度预设的权重,对所述任意一个数据服务器的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽、磁盘读写速度进行加权和运算,得到所述任意一个数据服务器的富于负载能力。
7.如权利要求1-6任一项所述的方法,其特征在于,元数据服务器根据所述每一个数据服务器的富于负载能力,在所有数据服务器中筛选出数据片恢复数据服务器,包括:
元数据服务器在所有数据服务器中筛选出不包含所述发生异常的真实数据片所归属的数据块中的真实数据片和校验数据片的数据服务器作为备选数据服务器;
元数据服务器在所述备选数据服务器中筛选出富于负载能力值最大的数据服务器作为数据片恢复数据服务器。
8.一种基于分布式文件系统的数据恢复装置,其特征在于,包括:
确定单元,用于确定存储于任意一个数据服务器中的一个真实数据片发生异常时,确定发生异常的真实数据片所归属的数据块中其它所有正常的真实数据片和校验数据片;
计算单元,用于获取每一个数据服务器的负载信息,并根据所述每一个数据服务器的负载信息,计算所述每一个数据服务器的富于负载能力;
筛选单元,用于根据所述每一个数据服务器的富于负载能力,在所有数据服务器中筛选出数据片恢复数据服务器;
恢复单元,用于根据所述发生异常的真实数据片所归属的数据块中的其它所有正常的真实数据片和校验数据片,在所述数据片恢复数据服务器中恢复所述发生异常的真实数据片。
9.如权利要求8所述的装置,其特征在于,进一步包括:
分割单元,用于在存储一数据块时,根据预设的数据大小,将所述数据块分割为第一设定数目的数据片,其中,第一设定数目的数据片中包括第二设定数目的真实数据片和第三设定数目的校验数据片;
保存单元,用于分别将所述数据块中的每一个数据片保存至对应的数据服务器。
10.如权利要求8所述的装置,其特征在于,所述确定单元确定存储于任意一个数据服务器中的一个真实数据片发生异常,包括:
所述确定单元检测到所述任意一个数据服务器发生异常时,确定存储于该任意一个数据服务器中的全部真实数据片发生异常;或者
所述确定单元接收客户端上报的第一类异常消息时,确定存储于该任意一个数据服务器中的一个真实数据片发生异常,其中,所述第一类异常消息为所述客户端在读写所述真实数据片所归属的数据块,根据所述数据块中的校验数据片确定所述真实数据片发生异常时,上报至元数据服务器的;或者
所述确定单元接收所述任一个数据服务器上报的第二类异常消息时,确定存储于该任意一个数据服务器中的一个真实数据片发生异常,其中,所述第二类异常消息为所述任意一个数据服务器根据所述真实数据片所归属的数据块中的其它真实数据片和校验数据片确定所述真实数据片发生异常时,上报至元数据服务器的。
11.如权利要求8所述的装置,其特征在于,所述计算单元获取任意一个数据服务器的负载信息,包括:
所述计算单元按照第一查询周期查询所述任意一个数据服务器的负载信息;或者
所述计算单元接收在所述任意一个数据服务器按照第二判断周期计算所述任意一个数据服务器的负载变化率,判定所述负载变化率超过设定负载变化率阈值时,上报的所述任意一个数据服务器的负载信息。
12.如权利要求8所述的装置,其特征在于,所述计算单元获取每一个数据服务器的负载信息,包括:
所述计算单元获取每一个数据服务器的中央处理器CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽以及磁盘读写速度。
13.如权利要求12所述的装置,其特征在于,所述计算单元根据任意一个数据服务器的负载信息,计算所述任意一个数据服务器的富于负载能力,包括:
所述计算单元根据分别针对负载信息中的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽、磁盘读写速度预设的权重,对所述任意一个数据服务器的CPU剩余使用率、内存剩余使用率、磁盘剩余容量、网络剩余带宽、磁盘读写速度进行加权和运算,得到所述任意一个数据服务器的富于负载能力。
14.如权利要求8-13任一项所述的装置,其特征在于,所述筛选单元根据所述每一个数据服务器的富于负载能力,在所有数据服务器中筛选出数据片恢复数据服务器,包括:
所述筛选单元在所有数据服务器中筛选出不包含所述发生异常的真实数据片所归属的数据块中的真实数据片和校验数据片的数据服务器作为备选数据服务器;
所述筛选单元在所述备选数据服务器中筛选出富于负载能力值最大的数据服务器作为数据片恢复数据服务器。
CN201410363719.1A 2014-07-28 2014-07-28 一种基于分布式文件系统的数据恢复方法及装置 Active CN105335250B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410363719.1A CN105335250B (zh) 2014-07-28 2014-07-28 一种基于分布式文件系统的数据恢复方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410363719.1A CN105335250B (zh) 2014-07-28 2014-07-28 一种基于分布式文件系统的数据恢复方法及装置

Publications (2)

Publication Number Publication Date
CN105335250A true CN105335250A (zh) 2016-02-17
CN105335250B CN105335250B (zh) 2018-09-28

Family

ID=55285805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410363719.1A Active CN105335250B (zh) 2014-07-28 2014-07-28 一种基于分布式文件系统的数据恢复方法及装置

Country Status (1)

Country Link
CN (1) CN105335250B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577561A (zh) * 2017-09-14 2018-01-12 郑州云海信息技术有限公司 一种数据恢复方法、装置、设备及计算机可读存储介质
CN107608831A (zh) * 2017-09-26 2018-01-19 甘肃万维信息技术有限责任公司 备份数据的处理方法及装置
CN107885617A (zh) * 2017-10-19 2018-04-06 用友网络科技股份有限公司 导出业务数据的方法、系统、计算机设备及可读存储介质
WO2019062856A1 (zh) * 2017-09-29 2019-04-04 杭州海康威视系统技术有限公司 数据重构方法及装置、数据存储系统
CN111400241A (zh) * 2019-11-14 2020-07-10 杭州海康威视系统技术有限公司 数据重构方法和装置
CN112199199A (zh) * 2020-11-17 2021-01-08 广州珠江数码集团股份有限公司 一种服务器负载均衡分发方法
CN112380176A (zh) * 2020-11-17 2021-02-19 浙江大华技术股份有限公司 一种实时监测文件系统异常的方法、装置及存储介质
CN113535330A (zh) * 2021-07-26 2021-10-22 北京计算机技术及应用研究所 一种基于节点评价函数的超融合系统数据本地化存储方法
CN115550368A (zh) * 2022-11-30 2022-12-30 苏州浪潮智能科技有限公司 一种元数据上报方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161302A1 (en) * 2008-08-04 2011-06-30 Zte Corporation Distributed File System and Data Block Consistency Managing Method Thereof
CN102279777A (zh) * 2011-08-18 2011-12-14 成都市华为赛门铁克科技有限公司 数据冗余处理方法、装置和分布式存储系统
CN103064765A (zh) * 2012-12-28 2013-04-24 华为技术有限公司 数据恢复方法、装置及集群存储系统
CN103559102A (zh) * 2013-10-22 2014-02-05 北京航空航天大学 数据冗余处理方法、装置和分布式存储系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161302A1 (en) * 2008-08-04 2011-06-30 Zte Corporation Distributed File System and Data Block Consistency Managing Method Thereof
CN102279777A (zh) * 2011-08-18 2011-12-14 成都市华为赛门铁克科技有限公司 数据冗余处理方法、装置和分布式存储系统
CN103064765A (zh) * 2012-12-28 2013-04-24 华为技术有限公司 数据恢复方法、装置及集群存储系统
CN103559102A (zh) * 2013-10-22 2014-02-05 北京航空航天大学 数据冗余处理方法、装置和分布式存储系统

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577561A (zh) * 2017-09-14 2018-01-12 郑州云海信息技术有限公司 一种数据恢复方法、装置、设备及计算机可读存储介质
CN107608831A (zh) * 2017-09-26 2018-01-19 甘肃万维信息技术有限责任公司 备份数据的处理方法及装置
CN107608831B (zh) * 2017-09-26 2020-08-04 中电万维信息技术有限责任公司 备份数据的处理方法及装置
WO2019062856A1 (zh) * 2017-09-29 2019-04-04 杭州海康威视系统技术有限公司 数据重构方法及装置、数据存储系统
CN109582213A (zh) * 2017-09-29 2019-04-05 杭州海康威视系统技术有限公司 数据重构方法及装置、数据存储系统
CN109582213B (zh) * 2017-09-29 2020-10-30 杭州海康威视系统技术有限公司 数据重构方法及装置、数据存储系统
CN107885617B (zh) * 2017-10-19 2021-05-11 用友网络科技股份有限公司 导出业务数据的方法、系统、计算机设备及可读存储介质
CN107885617A (zh) * 2017-10-19 2018-04-06 用友网络科技股份有限公司 导出业务数据的方法、系统、计算机设备及可读存储介质
CN111400241A (zh) * 2019-11-14 2020-07-10 杭州海康威视系统技术有限公司 数据重构方法和装置
CN111400241B (zh) * 2019-11-14 2024-04-05 杭州海康威视系统技术有限公司 数据重构方法和装置
CN112199199A (zh) * 2020-11-17 2021-01-08 广州珠江数码集团股份有限公司 一种服务器负载均衡分发方法
CN112380176A (zh) * 2020-11-17 2021-02-19 浙江大华技术股份有限公司 一种实时监测文件系统异常的方法、装置及存储介质
CN113535330A (zh) * 2021-07-26 2021-10-22 北京计算机技术及应用研究所 一种基于节点评价函数的超融合系统数据本地化存储方法
CN113535330B (zh) * 2021-07-26 2023-08-08 北京计算机技术及应用研究所 一种基于节点评价函数的超融合系统数据本地化存储方法
CN115550368A (zh) * 2022-11-30 2022-12-30 苏州浪潮智能科技有限公司 一种元数据上报方法、装置、设备及存储介质
CN115550368B (zh) * 2022-11-30 2023-03-10 苏州浪潮智能科技有限公司 一种元数据上报方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN105335250B (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
CN105335250A (zh) 一种基于分布式文件系统的数据恢复方法及装置
US9026679B1 (en) Methods and apparatus for persisting management information changes
CN107506266B (zh) 一种数据恢复方法及系统
CN107769943B (zh) 一种主备集群切换的方法和设备
CN103516736A (zh) 分布式缓存系统的数据恢复方法及装置
CN104615504B (zh) 一种实现数据保护的方法及装置
CN103441906A (zh) 基于自主计算的代理缓存集群异常检测系统
CN105573859A (zh) 一种数据库的数据恢复方法和设备
US20210103490A1 (en) Encryption detection
CN105955662A (zh) 一种k-db数据表空间的扩容方法与系统
CN111857592A (zh) 基于对象存储系统的数据存储方法及装置、电子设备
CN111966449B (zh) 一种虚拟机备份管理方法、系统、终端及存储介质
CN103412929A (zh) 一种海量数据的存储方法
CN104182302A (zh) 数据库备份方法及装置
GB2601938A (en) Automatic ransomware detection with an on-demand file system lock down and automatic repair function
CN107391307A (zh) 存储区域网络存储设备快照功能的测试方法及装置
WO2022247219A1 (zh) 一种信息备份方法、设备及平台
CN117149527B (zh) 一种服务器数据备份与恢复系统及方法
CN111240936A (zh) 一种数据完整性校验的方法及设备
CN113595776B (zh) 监控数据处理方法与系统
CN114513400A (zh) 一种日志聚合系统及一种提高日志聚合系统可用性的方法
US20200242265A1 (en) Detecting abnormal data access patterns
CN111625506A (zh) 一种基于删除队列的分布式数据删除方法、装置及设备
CN103501320B (zh) 一种利用失效日志计算存储集群可用性的方法
CN109669814A (zh) 一种元数据服务的恢复方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant