[发明专利]高效高可用性存储系统在审
申请号: | 201380068637.8 | 申请日: | 2013-12-30 |
公开(公告)号: | CN104885056A | 公开(公告)日: | 2015-09-02 |
发明(设计)人: | 施广宇;徐向阳;李智 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10;H04L29/08;H04L29/14 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高效 可用性 存储系统 | ||
1.一种用于构成数据保护组一部分的服务器,其特征在于,所述服务器包括:
存储器;
收发器,用于接收来自其他设备的存储数据文件的请求;
处理器,其与所述存储器及所述收发器耦合,用于:
获取所述存储数据文件的请求;
将所述数据文件写入所述存储器的容器;
当所述容器存满时编码容器内容,生成多个编码块;
其中,所述收发器还用于:
将所述多个编码块在数据保护组的对等服务器中分发;
其中,所述服务器还包括缓存,所述容器内容构成数据块,且所述编码容器内容包括:
确定编码矩阵的大小;
确定所述数据块的子矩阵的大小,使得所述编码矩阵的大小和所述子矩阵的大小之和小于所述缓存的大小;
请求将所述数据块的所述子矩阵和所述编码矩阵从所述存储器写入所述缓存,其中,所述缓存用于存储所述数据块的所述子矩阵和所述编码矩阵;
通过选择并计算所述数据块的所述子矩阵中的至少两个行的异或(XOR)来计算一部分编码块,其中,所述至少两个行是根据所述编码矩阵的第一子矩阵中的元素选择的。
2.根据权利要求1所述的服务器,其特征在于,所述收发器还用于向至少一个位置节点发送消息以指示所述服务器负责所述容器中的数据。
3.根据权利要求1或2所述的服务器,其特征在于,所述编码容器内容还包括,针对大小等于或小于所述子矩阵的所述数据块的多个子矩阵中的每个子矩阵,编码所述选择的子矩阵以生成剩余编码块。
4.根据权利要求1所述的服务器,其特征在于,所述编码是柯西里德-所罗门编码。
5.一种装置,其特征在于,包括:
存储器,用于存储数据块以及用于编码所述数据块的编码矩阵;
缓存;
处理器,其与所述缓存及所述存储器耦合,且所述处理器用于:
确定所述编码矩阵的大小;
确定所述数据块的子矩阵的大小,使得所述编码矩阵的大小和所述子矩阵的大小之和小于所述缓存的大小;
请求将所述数据块的所述子矩阵和所述编码矩阵从所述存储器写入所述缓存,其中,所述缓存用于存储所述数据块的所述子矩阵和所述编码矩阵;
通过选择所述数据块的所述子矩阵中的至少两个行并对所述至少两个行进行二进制运算来计算一部分编码块,其中,所述至少两个行是根据所述编码矩阵的第一子矩阵中的元素选择的。
6.根据权利要求5所述的装置,还包括与所述处理器耦合的第一寄存器和第二寄存器,其中,所述计算一部分编码块包括:
从所述第一寄存器中提取所述数据块的所述子矩阵的第一行;
从所述第二寄存器中提取所述数据块的所述子矩阵的第二行,其中,所述第一行和所述第二行是根据所述编码矩阵的所述子矩阵中的元素选择的;
对所述第一行和所述第二行进行异或运算以产生一个结果;
将所述结果存储在所述第一寄存器中。
7.根据权利要求6所述的装置,其特征在于,所述处理器还用于:
根据所述编码矩阵的所述子矩阵的元素提取所述数据块的所述子矩阵的第三行;
计算所述结果和所述第三行的XOR以生成第二结果;
将所述第二结果写入所述第一寄存器。
8.根据权利要求5所述的装置,还包括至少四个与所述处理器耦合的寄存器,其中,所述数据块的所述子矩阵中的所述至少两个行包括至少四行,并存储在所述寄存器中,所述处理器还用于通过单指令多数据(SIMD)运算对所述至少四行进行XOR运算。
9.根据权利要求5所述的装置,其特征在于,所述处理器还用于:
针对大小等于或小于所述子矩阵的所述数据块的多个子矩阵中的每个子矩阵,编码所述选择的子矩阵以生成剩余编码块。
10.根据权利要求5所述的装置,其特征在于,所述对至少两个行的二进制运算包括对所述至少两个行的XOR运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380068637.8/1.html,转载请声明来源钻瓜专利网。