[发明专利]磁盘扩容方法、装置及计算机设备有效
申请号: | 201910350207.4 | 申请日: | 2019-04-28 |
公开(公告)号: | CN110083312B | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | 娄婷 | 申请(专利权)人: | 联想(北京)有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 磁盘 扩容 方法 装置 计算机 设备 | ||
1.一种磁盘扩容方法,所述方法包括
获取待存储数据,计算所述待存储数据的数据哈希值;
依据所述待存储数据的数据哈希值,将所述待存储数据映射到哈希环,并获取所述哈希环中目标数据的数据哈希值,所述哈希环映射有第一数量个磁盘及所述磁盘中的各数据,所述目标数据包括映射到第一磁盘的数据,所述第一磁盘是所述第一数量个磁盘中,具有与所述待存储数据的数据哈希值匹配的磁盘哈希值的磁盘;
利用所述目标数据的数据哈希值以及所述待存储数据的数据哈希值,确定扩容磁盘在所述哈希环映射的磁盘哈希值,包括:利用所述目标数据的数据哈希值以及所述待存储数据的数据哈希值,采用均值算法计算得到映射至所述第一磁盘的数据的哈希期望值;将所述哈希期望值作为扩容磁盘的磁盘哈希值,并将所述扩容磁盘映射到所述哈希环中,来确定扩容磁盘的位置,且保证扩容磁盘后,系统中各磁盘的负载均衡;
依据所述扩容磁盘的磁盘哈希值及目标数据的数据哈希值,确定所述目标数据中的迁移数据,将所述迁移数据及所述待存储数据映射到所述扩容磁盘中。
2.根据权利要求1所述的方法,还包括:
依据随机哈希算法,将分布式存储系统存储的数据映射至哈希环,所述哈希环包括所述数据的数据哈希值;
将所述分布式存储系统中的第一数量个磁盘平均映射至所述哈希环,并确定各磁盘的磁盘哈希值;
按照所述哈希环的第一旋转方向,将映射至所述哈希环上的数据映射到相应的磁盘中。
3.根据权利要求2所述的方法,所述将所述分布式存储系统中的第一数量个磁盘平均映射至所述哈希环,并确定各磁盘的磁盘哈希值,包括:
获取所述分布式存储系统中第一数量个磁盘各自的二进制编码,其中,所述第一数量个二进制编码是连续的二进制数;
对所述二进制数进行补零,将得到的32位二进制数作为相应磁盘的磁盘哈希值;
利用所述磁盘哈希值,将所述第一数量个磁盘映射到所述哈希环中,以使所述第一数量个磁盘平均分布在所述哈希环中。
4.根据权利要求2所述的方法,还包括:
利用所述第一数量个磁盘各自的磁盘哈希值,按照所述第一旋转方向,确定所述第一数量个磁盘各自对应的哈希值范围;
所述获取所述哈希环中目标数据的数据哈希值,包括:
从所述第一数量个磁盘各自对应的哈希值范围中,确定所述待存储数据的数据哈希值所属的目标哈希值范围;
将所述目标哈希值范围对应的磁盘作为第一磁盘,获取映射至所述第一磁盘的目标数据的数据哈希值。
5.根据权利要求2-4任一项所述的方法,在获取待存储数据之后,所述方法还包括:
检测所述分布式存储系统的第一数量个磁盘中,是否存在具有存储空间余量的第二磁盘;
如果是,依据所述第二磁盘具有的存储空间大小,将所述待存储数据写入相应的第二磁盘;
如果否,执行所述计算所述待存储数据的数据哈希值步骤。
6.根据权利要求1-4任一项所述的方法,所述依据所述扩容磁盘的磁盘哈希值及目标数据的数据哈希值,确定所述目标数据中的迁移数据,包括:
确定所述目标数据中,数据哈希值在所述第一磁盘的磁盘哈希值与所述扩容磁盘的磁盘哈希值之间的固定数据;
将所述目标数据中,除所述固定数据之外的目标数据作为迁移数据,并清除所述迁移数据与所述第一磁盘的映射关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910350207.4/1.html,转载请声明来源钻瓜专利网。