[发明专利]减少预读的数据写入方法、装置和存储介质在审
申请号: | 202111372696.7 | 申请日: | 2021-11-18 |
公开(公告)号: | CN114217736A | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 郑乾坤 | 申请(专利权)人: | 新华三大数据技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 450000 河南省郑州市郑州高*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 减少 数据 写入 方法 装置 存储 介质 | ||
本发明提供一种减少预读的数据写入方法、装置和存储介质,用于提高存储系统的条带写入性能。本发明针对目标写入条带,预读出旧校验数据块和待写入数据涉及的旧存储数据块,用旧校验数据块和待写入数据涉及的旧存储数据块计算出中间校验数据块,用中间校验数据块和待写入数据块计算出新校验数据块。本发明通过减少因写IO而产生的预读请求来达到提升分布式存储系统性能的目的,从而满足部分对IOPS有较高要求的场景。
技术领域
本发明涉及计算机技术领域,尤其涉及一种减少预读的数据写入方法、装置和存储介质。
背景技术
在分布式存储系统中,为了保证数据持久性,大都采用多副本或纠删码技术对数据进行存储。与副本存储方式相比,纠删码可以获得更高的空间利用率。比如,对于10TB原始磁盘容量,如果配置3副本,可用容量只有约原始磁盘容量的三分之一约3.3TB,如果配置(8,2)纠删码,在数据持久性和3副本相同的情况下,可用容量则可以达到约原始磁盘容量的四分之三约8TB,可用容量比副本方式提高了142.4%。虽然纠删码存储方式可以提升空间利用率,但却是以分布式系统的性能下降为代价换来的,导致系统性能下降的主要原因有以下两个:
一个原因是纠删码计算校验数据时需要消耗系统更多的CPU资源;
另一个原因是纠删码计算校验数据时以条带为粒度进行计算,如果用户下发的写请求非条带对齐,将需要将非对齐的部分重新读取上来,这样就会产生大量的预读IO,占用较多磁盘资源,影响系统整体性能。
纠删码存储方式的基本原理如下所示:
假定纠删码的配置为(N,M),数据写入存储系统时会先被分割为N个定长的数据块,用D1、D2、…、DN来表示。根据这N个数据块,计算出M个校验块,用P1、P2、…、PM来表示。数据块和校验块是定长的,典型长度为4KB、8KB、16KB等。一组完整的数据块加校验块称为一个数据条带。
由于IO写放大的原因,在同等配置下纠删码方式的每秒输入输出(Input/OutputPer Second,IOPS)性能远低于副本方式。所以在一些对IOPS性能要求较高的场景下,一般都配置成副本方式。
在分布式存储系统中,在纠删码存储方式下,为了减少因写IO而产生的预读请求,将存储系统中的条带大小根据用户IO场景进行动态调整,通过这种方式来减少读请求的产生,在一些IO场景系统可以获得很高的IOPS值,满足大部分场景业务需求。然而,此种解决方式通用性比较差,使用较为复杂,需要在使用存储服务前分析用户的IO模型,根据IO模型配置纠删码的条带,但用户的IO大多不是单一模型,在IO模型多样性的环境中,单一结构的条带,依然会存在严重的写放大问题。
发明内容
有鉴于此,本发明提供一种减少预读的数据写入方法、装置和存储介质,用于提高存储系统的条带写入性能。
基于本发明实施例的一方面,本发明提供了一种减少预读的数据写入方法,该方法包括:
针对目标写入条带,预读出旧校验数据块和待写入数据涉及的旧存储数据块;
用所述旧校验数据块和待写入数据涉及的旧存储数据块计算出中间校验数据块;
用所述中间校验数据块和待写入数据块计算出新校验数据块;
将所述待写入数据块和新校验数据块写入到目标写入条带。
进一步地,所述待写入数据块由对应块位置的待写入数据,或旧存储数据块中不涉及待写入数据的部分和待写入数据组合构成。
进一步地,所述中间校验数据块和新校验数据块是通过ISA纠删码算法计算而得。
进一步地,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三大数据技术有限公司,未经新华三大数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111372696.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:心跳报文的订阅方法及装置
- 下一篇:一种汽车空调出风口面板喷涂工艺
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置