本发明专利技术公开了分布式对象存储数据冗余方法、装置、设备及存储介质,所述方法包括:基于纠删码算法,将数据分片后编码,得到m个数据分片和n个校验分片;对m个数据分片和n个校验分片分别添加对应的分片身份标识;将各数据分片和校验分片随机存放到不同的数据存储模块。在接收到对目标数据的读取请求后,在存储有目标数据的数据分片和校验分片的各数据存储模块中随机选取m个数据存储模块;在选取的每个数据存储模块中读取与所述目标数据对应的一个分片,得到m个分片;根据m个分片的分片身份标识,进行纠删码解码,得到目标数据。本实施例所述方法,减轻了数据存储模块的负载,均衡了磁盘读写,使得资源利用更加合理。
【技术实现步骤摘要】
分布式对象存储数据冗余方法、装置、设备及存储介质
本专利技术涉及大数据领域,尤其涉及一种分布式对象存储数据冗余方法、装置、设备及存储介质。
技术介绍
随着云计算和大数据技术的发展,新兴的分布式文件,块和对象存储技术也正在逐渐取代NAS(NetworkAttachedStorage,网络附属存储)、SAN(StorageAreaNetwork,存储区域网络)等传统的存储技术。为了提高可靠性,分布式存储技术多采用多副本的方式进行数据存储,但是随着数据量的增加,这种技术会引起存储成本的大幅提升,在这样的背景下,纠删码技术应用到存储中,在一定程度上解决了这个问题。Tfs(分布式文件系统)在文件写入时采用多副本存储,然后采用单独的编码模块对以存储的数据再进行纠删码存储,这种方式不够灵活,而且会耗费额外的存储空间和带宽资源;Ceph(可扩展、高性能分布式文件系统)支持文件写入时的纠删码存储,但是Ceph的实现方案存在资源分配上不够合理。具体的,Ceph纠删码存储方案支持写入时进行编码存储,全部数据写入到主存储模块(primaryosd)中,由此osd进行切片和编码,之后将原始切片和编码切片传输到指定的osd中,所有切片按顺序存放,某个osd只存放在原数据中相同位置的切片;读取时,读取所有原始切片合成源数据然后返回。然而,Ceph的编解码是在存储模块中实现的,这无疑加重了存储模块的负载,同时指定的osd只存放原始数据中相同位置的切片,这导致读取时,只读取原始数据所在的osd,编码切片所在的osd不会读取,io(读写)都集中在原始数据所在磁盘,编码数据所在磁盘io空闲,资源分配不够合理。
技术实现思路
鉴于上述问题,提出了本专利技术实施例以便提供一种解决上述问题的分布式对象存储数据冗余方法、装置、设备及存储介质。依据本专利技术实施例的一个方面,提供一种分布式对象存储数据冗余方法,包括:基于纠删码算法,将数据分片后编码,得到m个数据分片和n个校验分片;其中,m、n为正整数,且m>n;对所述m个数据分片和n个校验分片分别添加对应的分片身份标识;将各所述数据分片和校验分片随机存放到不同的数据存储模块;其中,每个所述数据存储模块管理有一个或多个用于存储分片数据的超级文件;每个所述数据存储模块管理的超级文件个数相同、编号方式一致。可选地,本专利技术实施例中,所述将各所述数据分片和校验分片随机存放到不同的数据存储模块,具体包括:确定存放各所述数据分片和校验分片的数据存储模块组;所述数据存储模块组中的数据存储模块数量为m+n个;将各所述数据分片和校验分片随机存放到所述数据存储模块组中的各数据存储模块中。可选地,本专利技术实施例中,所述将各所述数据分片和校验分片随机存放到不同的数据存储模块,包括:将各所述数据分片和校验分片随机存放到不同的数据存储模块中相同编号的超级文件中。可选地,本专利技术实施例中,在将各所述数据分片和校验分片随机存放到不同的数据存储模块之前,还包括:获取各所述数据分片和校验分片的存储调度信息;所述存储调度信息包括:存储所述数据分片和校验分片的超级文件的编号信息。可选地,本专利技术实施例中,所述分片身份标识包括:分片类型和分片位置信息。可选地,本专利技术实施例中,所述分片身份标识添加在对应分片的头部。依据本专利技术实施例的另一个方面,提供一种分布式对象存储数据冗余方法,包括:在接收到对目标数据的读取请求后,在存储有所述目标数据的数据分片和校验分片的各数据存储模块中随机选取m个数据存储模块;所述m为正整数;在选取的每个数据存储模块中读取与所述目标数据对应的一个分片,得到m个分片;根据所述m个分片的分片身份标识,进行纠删码解码,得到目标数据。可选地,本专利技术实施例中,所述在选取的每个数据存储模块中读取与所述目标数据对应的一个分片,包括:获取所述目标数据的数据分片和校验分片的存储调度信息;所述存储调度信息包括存储所述数据分片和校验分片的超级文件的编号信息;根据所述超级文件的编号信息,在选取的每个数据存储模块中读取与所述目标数据对应的一个分片。可选地,本专利技术实施例中,所述分片身份标识包括:分片类型和分片位置信息。依据本专利技术实施例的第三个方面,提供一种分布式对象存储数据冗余装置,包括:编码模块,用于基于纠删码算法,将数据分片后编码,得到m个数据分片和n个校验分片;其中,m、n为正整数,且m>n;分片处理模块,用于对所述m个数据分片和n个校验分片分别添加对应的分片身份标识;存储处理模块,用于将各所述数据分片和校验分片随机存放到不同的数据存储模块;其中,每个所述数据存储模块管理有一个或多个用于存储分片数据的超级文件;每个所述数据存储模块管理的超级文件个数相同、编号方式一致。可选地,本专利技术实施例中,所述存储处理模块,具体用于确定存放各所述数据分片和校验分片的数据存储模块组;将各所述数据分片和校验分片随机存放到所述数据存储模块组中的各数据存储模块中;所述数据存储模块组中的数据存储模块数量为m+n个。可选地,本专利技术实施例中,所述存储处理模块,具体用于将各所述数据分片和校验分片随机存放到不同的数据存储模块中相同编号的超级文件中。可选地,本专利技术实施例中,所述存储处理模块,还用于在将各所述数据分片和校验分片随机存放到不同的数据存储模块之前,获取各所述数据分片和校验分片的存储调度信息;所述存储调度信息包括:存储所述数据分片和校验分片的超级文件的编号信息。可选地,本专利技术实施例中,所述分片身份标识包括:分片类型和分片位置信息;所述分片身份标识添加在对应分片的头部。依据本专利技术实施例的第四个方面,提供一种分布式对象存储数据冗余装置,包括:选取模块,用于在接收到对目标数据的读取请求后,在存储有所述目标数据的数据分片和校验分片的各数据存储模块中随机选取m个数据存储模块;所述m为正整数;分片读取模块,用于在选取的每个数据存储模块中读取与所述目标数据对应的一个分片,得到m个分片;分片处理模块,用于根据所述m个分片的分片身份标识,进行纠删码解码,得到目标数据。可选地,本专利技术实施例中,所述分片读取模块,具体用于获取所述目标数据的数据分片和校验分片的存储调度信息;所述存储调度信息包括存储所述数据分片和校验分片的超级文件的编号信息;根据所述超级文件的编号信息,在选取的每个数据存储模块中读取与所述目标数据对应的一个分片。可选地,本专利技术实施例中,所述分片身份标识包括:分片类型和分片位置信息。依据本专利技术实施例的第五个方面,提供一种计算设备,所述计算设备包括:存储器、处理器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的分布式对象存储数据冗余程序,以实现本专利技术实施例提供分布式对象存储数据冗余方法的步骤。依据本专利技术实施例的第六个方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本专利技术实施例提供分布式对象存储数据冗余方法的步骤。本专利技术实施例提供的分布式对象存储数据冗余方案:在数据上传方面,将分片和编码过程从数据存储模块中抽离出来,减轻了数据存储模块的负载;并且将分片随机分配到不同的数据存储模块中,减轻了数据存储模块的负载;在数据读取方面,在存储有目标数据的各数据存储模块中随机选取数据存储模块进行分片读取,以及将本文档来自技高网...
【技术保护点】
1.一种分布式对象存储数据冗余方法,其特征在于,包括:基于纠删码算法,将数据分片后编码,得到m个数据分片和n个校验分片;其中,m、n为正整数,且m>n;对所述m个数据分片和n个校验分片分别添加对应的分片身份标识;将各所述数据分片和校验分片随机存放到不同的数据存储模块;其中,每个所述数据存储模块管理有一个或多个用于存储分片数据的超级文件;每个所述数据存储模块管理的超级文件个数相同、编号方式一致。
【技术特征摘要】
1.一种分布式对象存储数据冗余方法,其特征在于,包括:基于纠删码算法,将数据分片后编码,得到m个数据分片和n个校验分片;其中,m、n为正整数,且m>n;对所述m个数据分片和n个校验分片分别添加对应的分片身份标识;将各所述数据分片和校验分片随机存放到不同的数据存储模块;其中,每个所述数据存储模块管理有一个或多个用于存储分片数据的超级文件;每个所述数据存储模块管理的超级文件个数相同、编号方式一致。2.如权利要求1所述的方法,其特征在于,所述将各所述数据分片和校验分片随机存放到不同的数据存储模块,具体包括:确定存放各所述数据分片和校验分片的数据存储模块组;所述数据存储模块组中的数据存储模块数量为m+n个;将各所述数据分片和校验分片随机存放到所述数据存储模块组中的各数据存储模块中。3.如权利要求1或2所述的方法,其特征在于,所述将各所述数据分片和校验分片随机存放到不同的数据存储模块,包括:将各所述数据分片和校验分片随机存放到不同的数据存储模块中相同编号的超级文件中。4.如权利要求1所述的方法,其特征在于,在将各所述数据分片和校验分片随机存放到不同的数据存储模块之前,还包括:获取各所述数据分片和校验分片的存储调度信息;所述存储调度信息包括:存储所述数据分片和校验分片的超级文件的编号信息。5.如权利要求1所述的方法,其特征在于,所述分片身份标识包括:分片类型和分片位置信息。6.如权利要求1或5所述的方法,其特征在于,所述分片身份标识添加在对应分片的头部。7.一种分布式对象存储数据冗余方法,其特征在于,包括:在接收到对目标数据的读取请求后,在存储有所述目标数据的数据分片和校验分片的各数据存储模块中随机选取m个数据存储模块;所述m为正整数;在选取的每个数据存储模块中读取与所述目标数据对应的一个分片,得到m个分片;根据所述m个分片的分片身份标识,进行纠删码解码,得到目标数据。8.如权利要求7所述的方法,其特征在于,所述在选取的每个数据存储模块中读取与所述目标数据对应的一个分片,包括:获取所述目标数据的数据分片和校验分片的存储调度信息;所述存储调度信息包括存储所述数据分片和校验分片的超级文件的编号信息;根据所述超级文件的编号信息,在选取的每个数据存储模块中读取与所述目标数据对应的一个分片。9.如权利要求7或8所述的方法,其特征在于,所述分片身份标识包括:分片类型和分片位置信息。10.一种分布式对象存储数据冗余装置,其特征在于,包括:编码模块,用于基于纠删码算法,将数据分片后编码,得到m个数据分片和n个校验分片;其中,m、n为正整数,且m>n;分片处理模块,用于对所述m个数据分片和n个校验分...
【专利技术属性】
技术研发人员:周化锰,
申请(专利权)人:北京城市网邻信息技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。