[发明专利]一种数据存储的方法、装置和系统有效
申请号: | 201780011483.7 | 申请日: | 2017-12-20 |
公开(公告)号: | CN108780386B | 公开(公告)日: | 2020-09-04 |
发明(设计)人: | 刘小威;伍华涛;殷丽慧 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/10 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;李稷芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 存储 方法 装置 系统 | ||
一种数据存储的方法、装置和系统,存储客户端需要将待写入数据存储到分布式存储系统中,管理服务器为待写入数据分配的第一数据单元所对应的存储节点仅为存储节点组中的部分节点,当存储客户端收到管理服务器返回的第一数据单元的状态时,即可确定对待写入数据执行EC编码时需要生成的数据块和校验块的数量,存储客户端将生成的数据块和校验块存储到第一数据单元所在的分区中管理服务器指定的部分存储节点中,从而实现了EC冗余比的动态调整,管理服务器可以根据需要将分区中的部分节点排除出待写入数据存储的范围,降低了数据存储的IO量。
技术领域
本发明涉及IT技术领域,尤其涉及一种数据存储的方法、装置和系统。
背景技术
现阶段的分布式存储系统越来越多的采用纠删码(Erasure Code,EC)技术对数据进行存储。纠删码技术原理是将数据分割成N个数据块,并且采用冗余算法对N个数据块进行编码,生成M个校验块,该N个数据块与M个校验块称为一个EC条带。其中,数据块或校验块也称为EC块,当丢失的EC块不大于M个时都可以恢复出原始数据,EC条带的冗余比r=M/N或r=M/(N+M)。示例性的,当N等于4,M等于2时,EC条带可以表示为EC 4+2。
为了保证存储的可靠性,分布式存储系统会将每个EC条带包含的N+M个EC块分配给N+M个存储节点进行存储,N+M个存储节点构成一个存储节点组。这样,即使某个节点出现了故障,也能够根据存储节点组的其他节点中存储的数据将故障节点中存储的EC块恢复出来。可以理解的,采用EC技术的分布式存储系统能够容忍M个存储节点同时出现故障。
当存储节点组中的某个存储节点发生故障时,一个新的存储节点会被加入到存储节点组中,替换发生故障的存储节点,在新的存储节点恢复故障节点的数据。当故障节点恢复正常后,再将新的存储节点的数据写回到恢复的节点中。由于存储节点存储的数据量一般比较大,故障节点中的数据的迁移和回迁将会对存储系统的性能造成较大的影响。
发明内容
本文描述了一种数据存储的方法、装置和系统,以避免故障节点中数据的迁移和回迁对分布式存储系统的性能造成的影响。
第一方面,本发明实施例提供了一种数据存储系统,所述数据存储系统包括存储客户端和分布式存储系统,所述分布式存储系统采用纠删码EC技术存储数据,所述分布式存储系统包括管理服务器以及多个存储节点,N+M个存储节点组成的存储节点组对应一个分区,其中,N个存储节点用来存储数据块,M个存储节点用于存储根据数据块生成的校验块,所述N和M为大于2的正整数,
所述存储客户端处理来自用户设备的写请求,为待写入数据向所述管理服务器请求分配数据单元,所述管理服务器为所述待写入数据在第一分区中分配第一数据单元,向所述存储客户端返回所述第一数据单元的标识和第一数据单元的状态,其中,所述第一数据单元的状态指示所述第一分区中允许所述存储客户端使用的存储节点,允许所述存储客户端使用的存储节点的数量小于N+M,所述存储客户端根据所述第一数据单元的状态确定需要生成的数据块的数量和校验块的数量,对所述待写入数据执行EC编码,生成所述待写入数据对应的数据块和校验块,生成的数据块的数量和校验块的数量之和等于所述允许所述存储客户端使用的存储节点的数量,所述存储客户端根据第一分区视图和所述第一数据单元的状态,将生成的数据块和校验块存储到所述第一分区中允许所述存储客户端使用的各存储节点中,每个节点存储一个数据块或校验块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780011483.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:模数转换结果读出电路
- 下一篇:虚拟化环境中的存储资源管理
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置