[发明专利]一种基于纠删码的数据读取方法、装置、设备有效
申请号: | 201710912352.8 | 申请日: | 2017-09-29 |
公开(公告)号: | CN107608821B | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 方兰春 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 纠删码 数据 读取 方法 装置 设备 | ||
本发明实施例公开了一种基于纠删码的数据读取方法、装置、设备和计算机可读存储介质,接收客户端发送的读操作请求;依据读操作请求中携带的偏移量和长度,判断所需读取的数据是否满足预设的读优化条件;若是,则依据偏移量和长度,确定出所述数据对应的硬盘,并计算出每个硬盘中对象文件的目标偏移量和目标长度,通过向硬盘发送对应的读取命令,获取到对应的子数据;根据纠删码数据分布规则,拼接子数据,构成一个完整的目标数据,并将目标数据发送至所述客户端。通过上述判断步骤以及确定所需读取的数据所在的硬盘,减少了无效数据所在硬盘的读取和通讯耗时,从而提高了海量存储系统的小文件读性能。
技术领域
本发明涉及数据存储技术领域,特别是涉及一种基于纠删码的数据读取方法、装置、设备和计算机可读存储介质。
背景技术
纠删码(erasure coding,EC)是一种数据保护方法,它将一定长度(stripe_width)的数据分割成K份,用K份数据通过算法计算出M份冗余数据块;并将这K+M份数据存储在不同的位置,比如磁盘、存储节点或者其它地理位置。只需要K+M份中的K份数据就可以恢复出源数据。纠删码与副本相比在保障数据安全的情况下,可以提高磁盘有效利用率;所以纠删码技术在分布式存储系统中得到广泛应用。
传统方式中,纠删码的数据读写都是以纠删条带长度(stripe_width)为基本单元的,即使是读取一个字节的长度的内容,它也是读取这个字节所在的整个条带的内容;然后抽取出所需的数据。有可能所需的数据分布在一个硬盘上,但由于现有以整条纠删条带为基本操作单元实现的机制需要从K个硬盘上读取数据。但所需读取的数据小于一个完整的纠删码条带时可能会产生一些无用的读操作,在集群压力较大时这些无用的操作将成为影响整个集群性能的瓶颈点,造成存储集群的性能较低。
可见,如何提高存储系统的小文件读性能,是本领域技术人员亟待解决的问题。
发明内容
本发明实施例的目的是提供一种基于纠删码的数据读取方法、装置、设备和计算机可读存储介质,可以提高存储系统的小文件读性能。
为解决上述技术问题,本发明实施例提供一种基于纠删码的数据读取方法,包括:
接收客户端发送的读操作请求;
依据所述读操作请求中携带的偏移量和长度,判断所需读取的数据是否满足预设的读优化条件;
若是,则依据所述偏移量和长度,确定出所述数据对应的硬盘;并计算出每个所述硬盘中对象文件的目标偏移量和目标长度;
依据所述目标偏移量和目标长度,向每个所述硬盘发送对应的读取命令,获取到对应的子数据;
根据纠删码数据分布规则,拼接所述子数据,构成一个完整的目标数据,并将所述目标数据封装成消息发送至所述客户端。
可选的,所述依据所述读操作请求中携带的偏移量和长度,判断所需读取的数据是否满足预设的读优化条件包括:
判断所需读取的数据是否小于纠删条带长度;
若是,则依据所述读操作请求中携带的偏移量和长度,判断所述数据所分布的硬盘个数是否小于源数据所分布的硬盘个数,并且所述数据所分布的硬盘是否正常运行。
本发明实施例还提供了一种基于纠删码的数据读取装置,包括接收单元、判断单元、确定单元、发送单元和拼接单元;
所述接收单元,用于接收客户端发送的读操作请求;
所述判断单元,用于依据所述读操作请求中携带的偏移量和长度,判断所需读取的数据是否满足预设的读优化条件;
若是,则触发所述确定单元,所述确定单元,用于依据所述偏移量和长度,确定出所述数据对应的硬盘,并计算出每个所述硬盘中对象文件的目标偏移量和目标长度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710912352.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于纠删码的文件写入方法及相关装置
- 下一篇:单据处理方法、终端及服务器
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置