数据存储方法、数据恢复方法、节点及存储介质技术

技术编号:23399738 阅读:41 留言:0更新日期:2020-02-22 12:02
本申请提供了一种数据存储方法,该方法引入了对EC条带中数据块的元数据进行交叉备份的机制,通过将数据块以及交叉备份的元数据,共同存储在数据条带单元中,确保不同存储节点之间会互相存储数据块的元数据,即使某个存储节点的元数据丢失,由于其他存储节点的数据条带单元中预先存储了该存储节点的元数据备份,也可以根据其他存储节点的数据条带单元中,获取该存储节点的缺失元数据,从而降低了元数据丢失的概率,极大地提高了数据存储的可靠性和安全性,从而提升分布式存储系统的存储性能。

Data storage method, data recovery method, node and storage medium

【技术实现步骤摘要】
数据存储方法、数据恢复方法、节点及存储介质
本申请涉及存储
,特别涉及一种数据存储方法、数据恢复方法、节点及存储介质。
技术介绍
随着存储技术的发展,目前的分布式存储系统经常使用纠删码(ErasureCode,以下简称:EC)技术,以EC条带的形式来存储数据。每条EC条带由m个数据块和k个校验块组成,数据块用于存储数据,校验块用于恢复数据。当EC条带中丢失数据块时,只要丢失的数据块的总数量不小于k,通过对剩余的数据块和校验块进行EC反编码,就能恢复丢失的数据块,从而极大地提高数据存储的稳定性和可靠性。针对使用EC技术存储数据的过程,分布式系统通常包括客户端节点、主存储节点以及至少一个备存储节点,客户端节点用于向主存储节点下发数据,主存储节点用于对数据进行EC编码,向至少一个备存储节点发送数据块以及校验块,每个备存储节点用于存储数据块或校验块。具体来说,当客户端节点接收到待存储的数据时,会根据数据的目标存储位置,将数据发送给目标存储位置对应的主存储节点,主存储节点会将数据划分为m个数据块,采用冗余算法,对m个数据块进行EC编码,得到本文档来自技高网...

【技术保护点】
1.一种数据存储方法,其特征在于,所述方法包括:/n根据待存储的至少一个数据块,生成至少一个数据条带单元,每个数据条带单元包括数据块以及交叉备份的元数据,所述交叉备份的元数据包括所述数据条带单元包括的数据块的元数据和所述数据条带单元以外的其他数据条带单元包括的数据块的元数据;/n对所述至少一个数据条带单元进行纠删码EC编码,得到至少一个校验条带单元;/n将所述至少一个数据条带单元以及所述至少一个校验条带单元,分发至至少一个存储节点。/n

【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括:
根据待存储的至少一个数据块,生成至少一个数据条带单元,每个数据条带单元包括数据块以及交叉备份的元数据,所述交叉备份的元数据包括所述数据条带单元包括的数据块的元数据和所述数据条带单元以外的其他数据条带单元包括的数据块的元数据;
对所述至少一个数据条带单元进行纠删码EC编码,得到至少一个校验条带单元;
将所述至少一个数据条带单元以及所述至少一个校验条带单元,分发至至少一个存储节点。


2.根据权利要求1所述的方法,其特征在于,所述根据待存储的至少一个数据块,生成至少一个数据条带单元,包括:
对所述至少一个数据块的元数据进行备份,得到至少一个元数据备份,所述至少一个数据块和所述至少一个元数据备份一一对应;
对于所述至少一个数据块中的数据块,从所述至少一个元数据备份中,选取所述数据块对应的至少一个目标元数据备份;
根据所述数据块、所述数据块的元数据以及所述至少一个目标元数据备份,生成数据条带单元。


3.根据权利要求2所述的方法,其特征在于,所述从所述至少一个元数据备份中,选取所述数据块对应的至少一个目标元数据备份,包括:
根据所述数据块对应的第一存储节点,查询存储节点之间的交叉备份关系,得到所述第一存储节点对应的至少一个第二存储节点;
确定所述至少一个第二存储节点对应的数据块的元数据备份,作为所述至少一个目标元数据备份。


4.根据权利要求1所述的方法,其特征在于,所述对所述至少一个数据条带单元进行纠删码EC编码,得到至少一个校验条带单元,包括下述至少一个步骤:
对所述至少一个数据条带单元中的数据块进行EC编码,得到所述至少一个校验条带单元中的校验块;
对所述至少一个数据条带单元中的元数据进行EC编码,得到所述至少一个校验条带单元中的元数据校验块。


5.根据权利要求1所述的方法,其特征在于,所述将所述至少一个数据条带单元以及所述至少一个校验条带单元,分发至至少一个存储节点,包括:
确定所述至少一个存储节点中的第三存储节点处于亚健康状态;
向所述至少一个存储节点中的第四存储节点,发送所述第三存储节点对应的第一数据条带单元以外的至少一个第二数据条带单元以及所述至少一个校验条带单元;和/或,向所述至少一个存储节点中的第四存储节点,发送所述第三存储节点对应的第一校验条带单元以外的至少一个第二校验条带单元以及所述至少一个数据条带单元。


6.根据权利要求5所述的方法,其特征在于,所述向所述至少一个存储节点中的第四存储节点,发送所述第三存储节点对应的第一数据条带单元以外的至少一个第二数据条带单元以及所述至少一个校验条带单元之后,所述方法还包括:
当接收到读请求时,向第五存储节点发送所述读请求,所述读请求用于指示读取所述第一数据条带单元的数据块,所述第五存储节点存储的交叉备份的元数据包括所述第一数据条带单元的数据块的元数据。


7.根据权利要求5所述的方法,其特征在于,所述向所述至少一个存储节点中的第四存储节点,发送所述第三存储节点对应的第一数据条带单元以外的至少一个第二数据条带单元以及所述至少一个校验条带单元,包括下述至少一个步骤:
向所述至少一个第二数据条带单元写入所述第三存储节点的亚健康标记,所述亚健康标记用于指示所述第三存储节点处于亚健康状态;
向所述第四存储节点发送写请求,所述写请求携带所述第三存储节点的亚健康标记以及所述第四存储节点对应的第二数据条带单元。


8.一种数据恢复方法,其特征在于,所述方法包括:
存储至少一个数据条带单元,每个数据条带单元包括数据块以及交叉备份的元数据,所述交叉备份的元数据包括所述数据条带单元的数据块的元数据和所述数据条带单元以外的其他数据条带单元包括的数据块的元数据;
根据所述至少一个数据条带单元,获取第三存储节点的缺失元数据;
向所述第三存储节点发送所述缺失元数据。

...

【专利技术属性】
技术研发人员:魏明昌
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1