The embodiment of the invention discloses an erasure code data reading method, device, apparatus and computer readable storage medium based on the read operation request sent by a client is received; according to the offset and length of carrying the read operation request, determine the required data read meets the preset conditions to optimize read; if so, according to offset and length, determined that the data corresponding to the hard disk, and calculate the offset and length of each target object files in the hard disk, hard disk read through the corresponding to send commands, access to the corresponding data; according to the erasure code data distribution rules of segmented data, constitute a complete object the data and the target data is sent to the client. Through the above judgment steps and determining the hard disk where the required read data is located, the reading and communication time of the hard disk on the invalid data is reduced, thus improving the reading performance of the small file in the mass storage system.
【技术实现步骤摘要】
一种基于纠删码的数据读取方法、装置、设备
本专利技术涉及数据存储
,特别是涉及一种基于纠删码的数据读取方法、装置、设备和计算机可读存储介质。
技术介绍
纠删码(erasurecoding,EC)是一种数据保护方法,它将一定长度(stripe_width)的数据分割成K份,用K份数据通过算法计算出M份冗余数据块;并将这K+M份数据存储在不同的位置,比如磁盘、存储节点或者其它地理位置。只需要K+M份中的K份数据就可以恢复出源数据。纠删码与副本相比在保障数据安全的情况下,可以提高磁盘有效利用率;所以纠删码技术在分布式存储系统中得到广泛应用。传统方式中,纠删码的数据读写都是以纠删条带长度(stripe_width)为基本单元的,即使是读取一个字节的长度的内容,它也是读取这个字节所在的整个条带的内容;然后抽取出所需的数据。有可能所需的数据分布在一个硬盘上,但由于现有以整条纠删条带为基本操作单元实现的机制需要从K个硬盘上读取数据。但所需读取的数据小于一个完整的纠删码条带时可能会产生一些无用的读操作,在集群压力较大时这些无用的操作将成为影响整个集群性能的瓶颈点,造成存储集群的性能较低。可见,如何提高存储系统的小文件读性能,是本领域技术人员亟待解决的问题。
技术实现思路
本专利技术实施例的目的是提供一种基于纠删码的数据读取方法、装置、设备和计算机可读存储介质,可以提高存储系统的小文件读性能。为解决上述技术问题,本专利技术实施例提供一种基于纠删码的数据读取方法,包括:接收客户端发送的读操作请求;依据所述读操作请求中携带的偏移量和长度,判断所需读取的数据是否满足预设的读优化 ...
【技术保护点】
一种基于纠删码的数据读取方法,其特征在于,包括:接收客户端发送的读操作请求;依据所述读操作请求中携带的偏移量和长度,判断所需读取的数据是否满足预设的读优化条件;若是,则依据所述偏移量和长度,确定出所述数据对应的硬盘;并计算出每个所述硬盘中对象文件的目标偏移量和目标长度;依据所述目标偏移量和目标长度,向每个所述硬盘发送对应的读取命令,获取到对应的子数据;根据纠删码数据分布规则,拼接所述子数据,构成一个完整的目标数据,并将所述目标数据封装成消息发送至所述客户端。
【技术特征摘要】
1.一种基于纠删码的数据读取方法,其特征在于,包括:接收客户端发送的读操作请求;依据所述读操作请求中携带的偏移量和长度,判断所需读取的数据是否满足预设的读优化条件;若是,则依据所述偏移量和长度,确定出所述数据对应的硬盘;并计算出每个所述硬盘中对象文件的目标偏移量和目标长度;依据所述目标偏移量和目标长度,向每个所述硬盘发送对应的读取命令,获取到对应的子数据;根据纠删码数据分布规则,拼接所述子数据,构成一个完整的目标数据,并将所述目标数据封装成消息发送至所述客户端。2.根据权利要求1所述的方法,其特征在于,所述依据所述读操作请求中携带的偏移量和长度,判断所需读取的数据是否满足预设的读优化条件包括:判断所需读取的数据是否小于纠删条带长度;若是,则依据所述读操作请求中携带的偏移量和长度,判断所述数据所分布的硬盘个数是否小于源数据所分布的硬盘个数,并且所述数据所分布的硬盘是否正常运行。3.一种基于纠删码的数据读取装置,其特征在于,包括接收单元、判断单元、确定单元、发送单元和拼接单元;所述接收单元,用于接收客户端发送的读操作请求;所述判断单元,用于依据所述读操作请求中携带的偏移量和长度,判断所需读取的数据是否...
【专利技术属性】
技术研发人员:方兰春,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。