[发明专利]数据存储方法及数据读取方法在审
申请号: | 202110328093.0 | 申请日: | 2021-03-26 |
公开(公告)号: | CN113311993A | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 庄灿伟;董元元;赵亚飞;魏舒展 | 申请(专利权)人: | 阿里巴巴新加坡控股有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 谢湘宁;张文华 |
地址: | 新加坡珊顿道*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 存储 方法 读取 | ||
本发明公开了一种数据存储方法及数据读取方法。其中,该方法包括:将待存储数据依次存储至多个条带组的第一存储区中,并将每个第一存储区中已存储数据的校验数据存储至对应条带组的第二存储区中,其中,每个条带组的存储空间中包括第一存储区和第二存储区;在多个条带组中的第一目标条带组的第一存储区中存在剩余空间的情况下,采用多个无效数据存填充剩余空间,并将多个无效数据的数据量信息存储至第一目标条带组中的第二存储区中。本发明解决了相关技术中,在线纠删码技术中采用数据节点和元数据节点分别存储数据以及数据的元信息,数据存储可靠性低的技术问题。
技术领域
本发明涉及数据存取技术领域,具体而言,涉及一种数据存储方法及数据读取方法。
背景技术
在分布式存储系统中,为了避免数据存取的过程中产生数据的损坏或丢失,产生了在线纠删码技术,相对于多副本技术,在线纠删码技术在不影响数据可靠性前提下可以大大降低数据存储冗余度,从而大大降低了存储成本。
在线纠删码技术是在写入数据之前,对多个数据存储节的存储空间进行条带布局,通常一个条带设置较小的存储空间(比如64K或1M),由m个原始数据条带编码生成k个校验条带,从而形成一个条带组,客户端再以条带组为单位向不同数据节点写入数据。但是,在处理文件长度不是条带组倍数的场景下,在线纠删码技术最后一个条带组难以对齐,为了避免最后一个条带的数据的丢失,相关技术中将不对齐的条带组进行数据填充,并将填充量记录在元数据节点中。
需要说明的是,数据和元数据分离存储的方式依赖元数据节点的数据存储可靠性,如果发生元数据丢失或者元数据错误,会带来整体数据的不可用。具体地,在客户端写入数据节点成功但写入元数据节点失败,系统无法获取填充量,系统从保障数据一致性角度出发会丢弃最后一个条带组的数据,由于存储系统通常将数据写入数据节点成功则返回上层业务数据写入成功,如果最后因为元数据记录失败而导致最后一笔数据丢失,会给上层业务带来较高的数据处理复杂度。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据存储方法及数据读取方法,以至少解决相关技术中,在线纠删码技术中采用数据节点和元数据节点分别存储数据以及数据的元信息,数据存储可靠性低的技术问题。
根据本发明实施例的一个方面,提供了一种数据存储方法,包括:将待存储数据依次存储至多个条带组的第一存储区中,并将每个第一存储区中已存储数据的校验数据存储至对应条带组的第二存储区中,其中,每个条带组的存储空间中包括第一存储区和第二存储区;在多个条带组中的第一目标条带组的第一存储区中存在剩余空间的情况下,采用多个无效数据存填充剩余空间,并将多个无效数据的数据量信息存储至第一目标条带组中的第二存储区中,其中,第一目标条带组存储有待存储数据的尾部数据。
根据本发明实施例的另一方面,还提供了一种数据读取方法,数据读取方法应用于从上述数据存储方法中的多个条带组中读取数据,包括:确定待读取数据的读取位置,并基于读取位置确定读取偏移量;计算读取偏移量与每个条带组的第一存储区大小的商值,并基于商值确定第二目标条带组的序号,其中,第二目标条带组为多个条带组中存储待读取数据的条带组;计算读取偏移量与每个条带组的第一存储区的大小的余数,并基于余数确定目标存储位置,其中,目标存储位置为待读取数据在第二目标条带组中的存储位置;根据第二目标条带组的序号从多个条带组中确定第二目标条带组,并读取第二目标条带组中目标位置存储的数据,得到待读取数据。
根据本发明实施例的另一方面,还提供了一种数据存储装置,包括:第一存储单元,用于将待存储数据依次存储至多个条带组的第一存储区中,并将每个第一存储区中已存储数据的校验数据存储至对应条带组的第二存储区中,其中,每个条带组的存储空间中包括第一存储区和第二存储区;第二存储单元,用于在多个条带组中的第一目标条带组的第一存储区中存在剩余空间的情况下,采用多个无效数据存填充剩余空间,并将多个无效数据的数据量信息存储至第一目标条带组中的第二存储区中,其中,第一目标条带组存储有待存储数据的尾部数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴新加坡控股有限公司,未经阿里巴巴新加坡控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110328093.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置