[发明专利]一种分布式文件系统的存储方法及装置有效
申请号: | 201310046645.4 | 申请日: | 2013-02-05 |
公开(公告)号: | CN103152395A | 公开(公告)日: | 2013-06-12 |
发明(设计)人: | 郭东东;赵彦荣;赵健博;洪亮 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 赵娟 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 文件系统 存储 方法 装置 | ||
1.一种分布式文件系统的存储方法,包括:
接收客户端发送的文件信息,所述文件信息包括组成文件的至少一个条带,所述条带包括多个数据块;
确定每个数据块的目标存储节点,所述目标存储节点包括第一存储节点、第二存储节点、第三存储节点,其中,所述第一存储节点为客户端所在的存储节点或集群内随机选取的存储节点;所述第二存储节点为所述数据块所在条带上的其他数据块没有分配到的存储节点或集群内随机选取的存储节点;所述第三存储节点为在集群内随机选取的存储节点;
将所述数据块依次写入所述第一存储节点、第二存储节点、第三存储节点中。
2.如权利要求1所述的方法,所述确定每个数据块的目标存储节点的步骤包括:
获取客户端所在的存储节点;若所述客户端所在的存储节点为集群内的节点,则将所述客户端所在的存储节点作为第一存储节点;若所述客户端所在的存储节点不为集群内的节点,则在集群内随机选取一个存储节点作为第一存储节点;
获取条带中数据块的个数,以及已经写入的各数据块的存储地址信息;依据所述条带中数据块的个数以及各数据块的存储地址信息查找集群中所述条带的数据块没有分配到的存储节点作为候选存储节点,随机选取一个候选存储节点作为第二存储节点;若所述候选存储节点的剩余存储空间小于所述数据块的大小,则在集群内随机选择一个存储节点作为第二存储节点;
获取集群中的各个存储节点的剩余存储空间,依据所述各个存储节点的剩余存储空间计算各个存储节点在集群中的剩余空间百分比,依据所述各个存储节点在集群中的剩余空间百分比在集群内随机选取一个存储节点作为第三存储节点。
3.如权利要求1或2所述的方法,所述将数据块依次写入所述第一存储节点、第二存储节点、第三存储节点中的步骤包括:
将所述目标存储节点发送至客户端;
第一存储节点接收客户端发送的数据块,将所述数据块写入本地数据库,同时将所述数据块复制至第二存储节点中;
所述第二存储节点将接收的数据块写入本地数据库,同时将所述数据块复制至第三存储节点中;
所述第三存储节点将接收的数据块写入本地数据库中。
4.如权利要求3所述的方法,所述第一存储节点中写入的数据块为所述数据块的第一副本,所述第二存储节点中写入的数据块为所述数据块的第二副本,所述第三存储节点中写入的数据块为所述数据块的第三副本,所述方法还包括:
当数据块配置的副本数大于3时,从第4副本开始在集群内随机选择的存储节点中进行存储。
5.如权利要求1或2所述的方法,所述第二存储节点与所述第一存储节点位于不同的机架上。
6.一种分布式文件系统的存储装置,包括:
文件信息接收模块,适于接收客户端发送的文件信息,所述文件信息包括组成文件的至少一个条带,所述条带包括多个数据块;
目标存储节点确定模块,适于确定每个数据块的目标存储节点,所述目标存储节点包括第一存储节点、第二存储节点、第三存储节点,其中,所述第一存储节点为客户端所在的存储节点或集群内随机选取的存储节点;所述第二存储节点为所述数据块所在条带上的其他数据块没有分配到的存储节点或集群内随机选取的存储节点;所述第三存储节点为在集群内随机选取的存储节点;
第一写入模块,适于将所述数据块依次写入所述第一存储节点、第二存储节点、第三存储节点中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310046645.4/1.html,转载请声明来源钻瓜专利网。