分布式存储元数据的修复方法、装置及系统的制作方法

文档序号:9616169阅读:368来源:国知局
分布式存储元数据的修复方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及数据存储技术领域,尤其涉及分布式存储元数据的修复方法、装置及系统。
【背景技术】
[0002]现有的分布式存储架构中,对元数据的可靠性要求非常高。元数据通常以镜像形式保存在不同的节点进行备份,以保证数据的可靠性。在有节点故障的场景下,元数据的镜像可靠性会降低,节点恢复正常后,其上写失败的元数据要及时的修复正确,以保证元数据的可靠性。
[0003]如何修复曾经故障节点上的元数据,常见的方式是降级写时记录要修复对象的日志,等待后台服务器获取修复日志后进行元数据的修复,进而来保证元数据的可靠性。
[0004]然而,在后台服务器把故障节点上曾经降级写的元数据修复正确之前,若再次镜像写这个故障节点上的元数据,由于该故障节点上的元数据和其它节点上的元数据不一致,因此将导致继续降级写,生成新的降级写日志。当元数据的镜像写操作频率比较高时,将生成大量的降级写日志,从而增加了后台服务器要恢复的元数据的任务量。如果降级写的日志丢失或日志还没有执行到,这时候再有其它节点发生故障,将可能导致分布式存储元数据丢失,进而丢失用户文件。
[0005]因此,如何在有节点故障的场景下及时修复故障节点上的元数据,使得后续的镜像写操作不会再产生降级写日志,成为目前亟待解决的问题。

【发明内容】

[0006]本发明实施例提供分布式存储元数据的修复方法、装置及系统,能够在有节点故障的场景下及时修复故障节点上的元数据,使得后续的镜像写操作不会再产生降级写日
ν.、ι、ο
[0007]为达到上述目的,本发明实施例提供如下技术方案:
[0008]第一方面,提供一种分布式存储元数据的修复方法,所述方法包括:
[0009]第一节点接收第二节点发送的第一消息,所述第一消息携带第一元数据,以及对所述第一元数据进行镜像写操作的操作请求;
[0010]若所述第一节点上的元数据不完整,所述第一节点获取所述第一节点上缺失的元数据;
[0011]所述第一节点根据获取到的缺失的元数据,对所述第一节点上的元数据进行修复;
[0012]在将所述第一节点上的元数据修复完整后,所述第一节点对所述第一元数据进行镜像写操作,并向所述第二节点发送第二消息,所述第二消息用于指示所述第一元数据镜像写操作成功。
[0013]在第一方面第一种可能的实现方式中,结合第一方面,所述第一节点获取所述第一节点上缺失的元数据,包括:
[0014]所述第一节点向所述第二节点发送第三消息,所述第三消息用于请求所述第一节点上缺失的元数据;
[0015]所述第一节点接收所述第二节点发送的第四消息,所述第四消息携带所述第一节点上缺失的元数据,从所述第四消息中获取所述第一节点上缺失的元数据。
[0016]在第一方面第二种可能的实现方式中,结合第一方面,所述第一节点获取所述第一节点上缺失的元数据,包括:
[0017]所述第一节点向元数据服务器MDS发送第三消息,所述第三消息用于请求所述第一节点上缺失的元数据;
[0018]所述第一节点接收所述MDS发送的第四消息,所述第四消息携带所述第一节点上缺失的元数据,从所述第四消息中获取所述第一节点上缺失的元数据。
[0019]第二方面,提供一种分布式存储元数据的修复方法,所述方法包括:
[0020]第二节点向第一节点发送第一消息,所述第一消息携带第一元数据,以及对所述第一元数据进行镜像写操作的操作请求;
[0021]若所述第一节点上的元数据不完整,所述第二节点接收所述第一节点发送的第二消息,所述第二消息用于请求所述第一节点上缺失的元数据;
[0022]所述第二节点向所述第一节点发送第三消息,所述第三消息携带所述第一节点上缺失的元数据,由所述第一节点根据所述第一节点上缺失的元数据对所述第一节点上的元数据进行修复;
[0023]所述第二节点接收所述第一节点发送的第四消息,所述第四消息用于指示所述第一元数据镜像写操作成功。
[0024]在第二方面第一种可能的实现方式中,结合第二方面,在所述第二节点向第一节点发送第一消息之前,还包括:
[0025]所述第二节点接收元数据服务器MDS发送的所述第一消息;
[0026]所述第二节点根据所述第一消息,对所述第一元数据进行镜像写操作。
[0027]第三方面,提供一种分布式存储元数据的修复方法,所述方法包括:
[0028]元数据服务器MDS向第二节点发送第一消息,所述第一消息携带第一元数据,以及对所述第一元数据进行镜像写操作的操作请求;
[0029]若所述第一节点上的元数据不完整,所述MDS接收第一节点发送的第二消息,所述第二消息用于请求所述第一节点上缺失的元数据;
[0030]所述MDS向所述第一节点发送第三消息,所述第三消息携带所述第一节点上缺失的元数据,由所述第一节点根据所述第一节点上缺失的元数据对所述第一节点上的元数据进行修复。
[0031]第四方面,提供一种第一节点,所述第一节点包括:接收单元、处理单元和发送单元;
[0032]所述接收单元,用于接收第二节点发送的第一消息,所述第一消息携带第一元数据,以及对所述第一元数据进行镜像写操作的操作请求;
[0033]所述处理单元,用于若所述第一节点上的元数据不完整,所述第一节点获取所述第一节点上缺失的元数据;
[0034]所述处理单元,还用于根据获取到的缺失的元数据,对所述第一节点上的元数据进行修复;
[0035]所述处理单元,还用于在将所述第一节点上的元数据修复完整后,对所述第一元数据进行镜像写操作;
[0036]所述发送单元,还用于向所述第二节点发送第二消息,所述第二消息用于指示所述第一元数据镜像写操作成功。
[0037]在第四方面第一种可能的实现方式中,结合第四方面,所述处理单元具体用于:
[0038]通过所述发送单元向所述第二节点发送第三消息,所述第三消息用于请求所述第一节点上缺失的元数据;
[0039]通过所述接收单元接收所述第二节点发送的第四消息,所述第四消息携带所述第一节点上缺失的元数据,从所述第四消息中获取所述第一节点上缺失的元数据。
[0040]在第四方面第二种可能的实现方式中,结合第四方面,所述处理单元具体用于:
[0041]通过所述发送单元向元数据服务器MDS发送第三消息,所述第三消息用于请求所述第一节点上缺失的元数据;
[0042]通过所述接收单元接收所述MDS发送的第四消息,所述第四消息携带所述第一节点上缺失的元数据,从所述第四消息中获取所述第一节点上缺失的元数据。
[0043]第五方面,提供一种第二节点,所述第二节点包括:接收单元和发送单元;
[0044]所述发送单元,用于向第一节点发送第一消息,所述第一消息携带第一元数据,以及对所述第一元数据进行镜像写操作的操作请求;
[0045]所述接收单元,用于若所述第一节点上的元数据不完整,接收所述第一节点发送的第二消息,所述第二消息用于请求所述第一节点上缺失的元数据;
[0046]所述发送单元,还用于向所述第一节点发送第三消息,所述第三消息携带所述第一节点上缺失的元数据,由所述第一节点根据所述第一节点上缺失的元数据对所述第一节点上的元数据进行修复;
[0047]所述接收单元,还用于接收所述第一节点发送的第四消息,所述第四消息用于指示所述第一元数据镜像写操作成功。
[0048]在第五方面第一种可能的实现方式中,结合第五方面,所述第二节点还包括处理单元;
[0049]所述接收单元,还用于在所述发送单元向第一节点发送第一消息之前,接收元数据服务器MDS发送的所述第一消息;
[0050]所述处理单元,用于根据所述第一消息,对所述第一元数据进行镜像写操作。
[0051]第六方面,提供一种元数据服务器MDS,所述MDS包括:接收单元发送单元;
[0052]所述发送单元,用于向第二节点发送第一消息,所述第一消息携带第一元数据,以及对所述第一元数据进行镜像写操作的操作请求;
[0053]所述接收单元,用于若所述第一节点上的元数据不完整,接收第一节点发送的第二消息,所述第二消息用于请求所述第一节点上缺失的元数据;
[0054]所述发送单元,还用于向所述第一节点发送第三消息,所述第三消息携带所述第一节点上缺失的元数据,由所述第一节点根据所述第一节点上缺失的元数据对所述第一节点上的元数据进行修复。
[0055]第七方面,提供一种第一节点,所述第一节点包括:接收器、处理器、发送器和总线;其中,所述接收器、所述处理器和所述发送器通过所述总线连接并完成相互间的通信;
[0056]所述接收器,用于接收第二节点发送的第一消息,所述第一消息携带第一元数据,以及对所述第一元数据进行镜像写操作的操作请求;
[0057]所述处理器,用于若所述第一节点上的元数据不完整,所述第一节点获取所述第一节点上缺失的元数据;
[0058]所述处理器,还用于根据获取到的缺失的元数据,对所述第一节点上的元数据进行修复;
[0059]所述处理器,还用于在将所述第一节点上的元数据修复完整后,对所述第一元数据进行镜像写操作;
[0060]所述发送器,还用于向所述第二节点发送第二消息,所述第二消息用于指示所述第一元数据镜像写操作成功。
[0061]在第七方面第一种可能的实现方式中,结合第七方面,所述处理器具体用于:
[0062]通过所述发送器向所述第二节点发送第三消息,所述第三消息用于请求所述第一节点上缺失的元数据;
[0063]通过所述接收器接收所述第二节点发送的第四消息,所述第四消息携带所述第一节点上缺失的元数据,从所述第四消息中获取所述第一节点上缺失的元数据。
[0064]在第七方面第二种可能的实现方式中,结合第七方面,所述处理器具体用于:
[0065]通过所述发送器向元数据服务器MDS发送第三消息,所述第三消息用于请求所述第一节点上缺失的元数据;
[0066]通过所述接收器接
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1