一种数据读取方法、系统及相关组件技术方案

技术编号:20763350 阅读:28 留言:0更新日期:2019-04-03 14:08
本申请公开了一种数据读取方法,所述方法包括当接收到读取指令时,根据读取指令从所有的数据块中确定待读数据块;读取待读数据块中与读取指令对应的目标数据和待读数据块的目标版本号;读取所有冗余数据块的第一参考版本号,判断所有第一参考版本号与目标版本号是否均一致;若是,则生成数据读取成功的读取结果;若否,则读取所有原始数据块的第二参考版本号,根据所有第一参考版本号和所有第二参考版本号生成数据读取结果。本方法能够减小数据读取过程中传输的数据量,提高数据读写的效率和集群的整体性能。本申请还公开了一种数据读取系统、一种计算机可读存储介质及一种电子设备,具有以上有益效果。

【技术实现步骤摘要】
一种数据读取方法、系统及相关组件
本申请涉及分布式存储
,特别涉及一种数据读取方法、系统、一种计算机可读存储介质及一种电子设备。
技术介绍
分布式存储系统中,副本和纠删码是两种广泛使用的数据冗余机制。其中,纠删码技术主要是通过利用纠删码算法将原始的数据进行编码得到冗余,并将数据和冗余一并存储起来,以达到容错的目的。其基本思想是将K块原始的数据元素通过一定的编码计算,得到M块冗余元素。对于这K+M块的元素,当其中任意的M块元素出错(包括数据和冗余出错)时,均可以通过对应的重构算法恢复出原来的K块数据。当读取数据时,只要读取任意K块数据并且版本号一致即可认为读取成功。但是,现有技术中,会存在需要读取的数据往往只是分布在K+M块的其中的一个数据块的情况,此时现有技术也要读取至少K个数据块,这极大地增加了传输的数据量,影响了集群的整体性能。因此,如何减小数据读取过程中传输的数据量,提高数据读写的效率和集群的整体性能是本领域技术人员目前需要解决的技术问题。申请内容本申请的目的是提供一种数据读取方法、系统、一种计算机可读存储介质及一种电子设备,能够减小数据读取过程中传输的数据量,提高数据读本文档来自技高网...

【技术保护点】
1.一种数据读取方法,其特征在于,包括:当接收到读取指令时,根据所述读取指令从所有的数据块中确定待读数据块;其中,所述数据块包括原始数据块和冗余数据块;读取所述待读数据块中与所述读取指令对应的目标数据和所述待读数据块的目标版本号;读取所有所述冗余数据块的第一参考版本号,判断所有所述第一参考版本号与所述目标版本号是否均一致;若是,则生成数据读取成功的读取结果;若否,则读取所有所述原始数据块的第二参考版本号,根据所有所述第一参考版本号和所有所述第二参考版本号生成数据读取结果。

【技术特征摘要】
1.一种数据读取方法,其特征在于,包括:当接收到读取指令时,根据所述读取指令从所有的数据块中确定待读数据块;其中,所述数据块包括原始数据块和冗余数据块;读取所述待读数据块中与所述读取指令对应的目标数据和所述待读数据块的目标版本号;读取所有所述冗余数据块的第一参考版本号,判断所有所述第一参考版本号与所述目标版本号是否均一致;若是,则生成数据读取成功的读取结果;若否,则读取所有所述原始数据块的第二参考版本号,根据所有所述第一参考版本号和所有所述第二参考版本号生成数据读取结果。2.根据权利要求1所述数据读取方法,其特征在于,根据所有所述第一参考版本号和所有所述第二参考版本号生成数据读取结果包括:判断所有所述第一参考版本号和所有所述第二参考版本号中与所述目标版本号一致的数量是否大于或等于所述原始数据块的数量;若是,则生成数据读取成功的读取结果;若否,则生成数据读取失败的读取结果。3.根据权利要求1所述数据读取方法,其特征在于,在根据所述读取指令从所有的数据块中确定待读数据块之前,还包括:对所述原始数据块执行基于纠删码算法的编码计算得到所述冗余数据块。4.根据权利要求3所述数据读取方法,其特征在于,还包括:当将检测到目标数据块出错时,通过重构算法恢复所述目标数据块中的数据。5.根据权利要求1所述数据读取方法,其特征在于,当读取所有所述原始数据块的第二参考版本号时,还包括:读取所有所述原始数据块的数据。6.一种数据读取系统,其特征在于,包括:数据块确定模块,用于当接收到读取指令时,根据所述读取指令从所有的...

【专利技术属性】
技术研发人员:刘吉庆
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1