[发明专利]基于CEPH纠删除容错的读取文件方法及装置在审
申请号: | 201710088760.6 | 申请日: | 2017-02-17 |
公开(公告)号: | CN106991118A | 公开(公告)日: | 2017-07-28 |
发明(设计)人: | 李发明;张勤 | 申请(专利权)人: | 深圳市中博睿存信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H03M13/15 |
代理公司: | 深圳市世纪恒程知识产权代理事务所44287 | 代理人: | 胡海国,赵爱蓉 |
地址: | 518000 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 ceph 删除 容错 读取 文件 方法 装置 | ||
技术领域
本发明涉及分布式存储领域,尤其涉及一种基于CEPH纠删除容错的读取文件方法及装置。
背景技术
在CEPH分布式文件系统中,通常采用RS(k,m)的纠删码,即原始数据切片k块,编码出m块校验块,分别存储到k+m个节点中。纠删码覆盖写,需要至少m+1个节点的参与,包括1个数据节点,m个校验块节点。RS(k,m)的纠删码至多容忍m个节点丢失,需要k个节点才能解码原始数据,所以覆盖写更新需要保持至少k个节点数据版本一致,才能保证更新不会造成数据丢失。特别是在做读取操作时,纠删数据块分散在多个OSD或主机上,该数据的相应时间即为最慢的OSD或者主机上的纠删数据块相应时间,导致使用纠删编码的数据读取性能较差。
发明内容
本发明的主要目的在于提供一种基于CEPH纠删除容错的读取文件方法及装置,旨在提高使用纠删编码的数据读取性能。
为实现上述目的,本发明提供的一种基于CEPH纠删除容错的读取文件方法包括如下步骤:
接收客户端发送的读取对象的请求;
根据请求计算需要读取的数据块,并根据客户端id和对象id,向所有其它OSD发送请求读取数据块的广播消息;
接收纠删数据块及校验块所在的OSD发送过来的请求读取的数据块;
将接收到的请求读取的数据块恢复出原对象并发送给客户端。
优选地,所述接收客户端发送的读取对象的请求的步骤具体包括:客户端根据Crush算法找到主OSD,主OSD接收客户端发送的读取对象的请求。
优选地,所述将接收到的请求读取的数据块恢复出原对象并发送给客户端的步骤包括:
若纠删比为K:M,则根据最先发回的K个数据块或检验块恢复出原对象,将恢复后的原对象发送给客户端。
优选地,所述接收纠删数据块及校验块所在的OSD发送过来的请求读取的数据块的步骤具体包括:
主OSD根据客户端id检索纠删数据块及校验块所在的OSD内的缓存组内是否存在所述数据块,如果存在,则直接提取;
如果不存在,则根据对象id和读取范围内对应的数据块序号检索Hashmap的索引结构,如果存在对应数据块,则直接将所述数据块返回至主OSD。
此外,为实现上述目的,本发明还提供一种基于CEPH纠删除容错的读取文件装置,所述基于CEPH纠删除容错的读取文件装置:
第一接收模块,用于接收客户端发送的读取对象的请求;
第一发送模块,用于根据请求计算需要读取的数据块,并根据客户端id和对象id,向所有其它OSD发送请求读取数据块的广播消息;
第二接收模块,用于接收纠删数据块及校验块所在的OSD发送过来的请求读取的数据块;
第二发送模块,用于将接收到的请求读取的数据块恢复出原对象并发送给客户端。
优选地,所述客户端用于根据Crush算法找到主OSD,所述第一接收模块用于主OSD接收客户端发送的读取对象的请求。
优选地,所述第二发送模块包括:
恢复单元,用于当纠删比为K:M时,根据最先发回的K个数据块或检验块恢复出原对象,将恢复后的原对象发送给客户端。
优选地,所述第二接收模块包括:
提取单元,用于根据客户端id检索纠删数据块及校验块所在的OSD内的缓存组,如果存在所述数据块,则直接提取;
返回单元,用于当不存在所述数据块时,则根据对象id和读取范围内对应的数据块序号检索Hashmap的索引结构,如果存在对应数据块,则直接将所述数据块返回至主OSD。
本发明通过接收客户端发送读取对象的请求;根据请求计算需要读取的数据块,并根据客户端id和对象id,向所有OSD发送请求读取数据块的消息;接收接收纠删数据块及校验块所在的OSD发送过来的请求读取的数据块;将接收到的请求读取的数据块恢复出原对象并发送给客户端。采用本发明的读取文件方法实现了读取纠删数据的优化,提高了纠删编码数据的读取性能。
附图说明
图1为本发明基于CEPH纠删除容错的读取文件方法第一实施例的流程示意图;
图2为本发明基于CEPH纠删除容错的读取文件方法第二实施例中读取数据块的细化流程示意图;
图3为本发明基于CEPH纠删除容错的读取文件装置第一实施例的功能模块示意图;
图4为本发明基于CEPH纠删除容错的读取文件装置第二实施例中第二接收模块的细化功能模块示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市中博睿存信息技术有限公司,未经深圳市中博睿存信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710088760.6/2.html,转载请声明来源钻瓜专利网。