一种分布式存储方法、装置、电子设备及存储介质制造方法及图纸

技术编号:39057500 阅读:16 留言:0更新日期:2023-10-12 19:50
本发明专利技术实施例提供的一种分布式存储方法、装置、电子设备及存储介质,该分布式存储方法,应用于分布式存储系统,所述分布式存储系统包括多个节点,所述方法包括:获取待存储数据,并将所述待存储数据划分为多个数据分片;将所述多个数据分片划分为多个数据分组,其中,每一数据分组包括一个或多个数据分片,当一个数据分组中包括多个数据分片时,该数据分组中的多个数据分片不连续;将所述多个数据分组存储至所述多个节点中,其中,每一个节点中存储有一个或多个数据分组。通过将待存储数据进行分段,然后进行分组,每个节点中存储一个或多个数据分组,可以将待存储数据分散存储在多个节点中,无需进行数据的充分存储,从而提高数据的存储效率。的存储效率。的存储效率。

【技术实现步骤摘要】
一种分布式存储方法、装置、电子设备及存储介质


[0001]本专利技术涉及信息
,特别是涉及一种分布式存储方法、装置、电子设备及存储介质。

技术介绍

[0002]目前,分布式存储方案的应用已经越来越广泛。通过分布式存储可以将数据存储在多台独立的设备上。相比较传统的网络存储系统中采用集中的存储服务器存放所有数据,分布式存储利用多台存储服务器分担存储负荷,不但可以满足大规模存储应用的需要,而且易于扩展。
[0003]然而,现有分布式存储方案,往往通过多节点多副本部署方案,每个节点对应存储一个副本。通过该方法由于需要针对每一个节点存储一个副本,从而导致存储空间的浪费。

技术实现思路

[0004]本专利技术实施例的目的在于提供一种分布式存储方法、装置、电子设备及存储介质,以实现节约存储空间。具体技术方案如下:本申请实施例的第一方面,提供了一种分布式存储方法,应用于分布式存储系统,所述分布式存储系统包括多个节点,所述方法包括:获取待存储数据,并将所述待存储数据划分为多个数据分片;将所述多个数据分片划分为多个数据分组,其中,每一数据分组包括一个或多个数据分片,当一个数据分组中包括多个数据分片时,该数据分组中的多个数据分片不连续;将所述多个数据分组存储至所述多个节点中,其中,每一个节点中存储有一个或多个数据分组。
[0005]在一种可能的实施方式中,在所述将所述多个数据分组存储至所述多个节点中之后,所述方法还包括:针对任意两个目标数据分组,计算该两个目标数据分组的异或值;将计算得到的异或值存储在目标节点中。
[0006]在一种可能的实施方式中,所述将所述多个数据分组存储至所述多个节点中,包括:针对任一节点识别该节点中存储单元的数量;当该节点中包括多个存储单元时,若该节点对应的数量分组的数量不小于存储单元的数量时,在每一存储单元中存储至少一个数据分组。
[0007]在一种可能的实施方式中,在将所述多个数据分组存储至所述多个节点中时,每一节点中的多个数据分组对应的多个数据分片中的任两个数据分片均不连续。
[0008]在一种可能的实施方式中,在所述将所述多个数据分组存储至所述多个节点中之后,所述方法还包括:并行获取各节点中存储的数据分组;
对每个节点中存储的数据分组中的数据分片进行拼接,得到目标数据。
[0009]在一种可能的实施方式中,所述对每个节点中存储的数据分组中的数据分片进行拼接,得到目标数据,包括:当获取任一节点中存储的数据分组失败时,获取所述目标节点中存储的数据分组的异或值;根据所述数据分组的异或值和已经获取到的数据分组,计算未获取到数据分组;对计算得到的数据分组和获取到的数据分组中的数据分片进行拼接,得到所述目标数据。
[0010]本申请实施例的第二方面,提供了一种分布式存储装置,应用于分布式存储系统,所述分布式存储系统包括多个节点,所述装置包括:数据获取模块,用于获取待存储数据,并将所述待存储数据划分为多个数据分片;数据分组模块,用于将所述多个数据分片划分为多个数据分组,其中,每一数据分组包括一个或多个数据分片,当一个数据分组中包括多个数据分片时,该数据分组中的多个数据分片不连续;节点存储模块,用于将所述多个数据分组存储至所述多个节点中,其中,每一个节点中存储有一个或多个数据分组。
[0011]在一种可能的实施方式中,所述装置还包括:数据计算模块,用于针对任意两个目标数据分组,计算该两个目标数据分组的异或值;数据存储模块,用于将计算得到的异或值存储在目标节点中。
[0012]在一种可能的实施方式中,所述节点存储模块,包括:数量识别子模块,用于针对任一节点识别该节点中存储单元的数量;分组存储子模块,用于当该节点中包括多个存储单元时,若该节点对应的数量分组的数量不小于存储单元的数量时,在每一存储单元中存储至少一个数据分组。
[0013]在一种可能的实施方式中,在将所述多个数据分组存储至所述多个节点中时,每一节点中的多个数据分组对应的多个数据分片中的任两个数据分片均不连续。
[0014]在一种可能的实施方式中,所述装置还包括:并行获取模块,用于并行获取各节点中存储的数据分组;数据分片模块,用于对每个节点中存储的数据分组中的数据分片进行拼接,得到目标数据。
[0015]在一种可能的实施方式中,所述数据分片模块,包括:分组获取子模块,用于当获取任一节点中存储的数据分组失败时,获取所述目标节点中存储的数据分组的异或值;分组计算子模块,用于根据所述数据分组的异或值和已经获取到的数据分组,计算未获取到数据分组;数据拼接子模块,用于对计算得到的数据分组和获取到的数据分组中的数据分片进行拼接,得到所述目标数据。
[0016]本申请实施例的第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一所述的分布式存储方法步骤。
[0017]本申请实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的分布式存储方法步骤。
[0018]本专利技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的分布式存储方法步骤。
[0019]本专利技术实施例有益效果:本专利技术实施例提供的一种分布式存储方法、装置、电子设备及存储介质,该分布式存储方法,应用于分布式存储系统,所述分布式存储系统包括多个节点,所述方法包括:获取待存储数据,并将所述待存储数据划分为多个数据分片;将所述多个数据分片划分为多个数据分组,其中,每一数据分组包括一个或多个数据分片,当一个数据分组中包括多个数据分片时,该数据分组中的多个数据分片不连续;将所述多个数据分组存储至所述多个节点中,其中,每一个节点中存储有一个或多个数据分组。通过将待存储数据进行分段,然后进行分组,每个节点中存储一个或多个数据分组,通过该方法可以将待存储数据分散存储在多个节点中,无需进行数据的充分存储,从而提高数据的存储效率。
[0020]当然,实施本专利技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
[0021]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
[0022]图1为本申请实施例提供的分布式存储方法的一种流程示意图;图2为本申请实施例提供的数据分组存储的一种流程示意图;图3为本申请实施例提供的计算异或值的一种流程示意图;图4为本申请实施例提供的获取目标数据的一种流程示意图;图5为本申请实施例提供的获取目标数据的另一种流程示意图;图6为本申请实施例提供的分布式存储方法的一种原理示意图;图7为本申请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式存储方法,其特征在于,应用于分布式存储系统,所述分布式存储系统包括多个节点,所述方法包括:获取待存储数据,并将所述待存储数据划分为多个数据分片;将所述多个数据分片划分为多个数据分组,其中,每一数据分组包括一个或多个数据分片,当一个数据分组中包括多个数据分片时,该数据分组中的多个数据分片不连续;将所述多个数据分组存储至所述多个节点中,其中,每一个节点中存储有一个或多个数据分组。2.根据权利要求1所述的方法,其特征在于,在所述将所述多个数据分组存储至所述多个节点中之后,所述方法还包括:针对任意两个目标数据分组,计算该两个目标数据分组的异或值;将计算得到的异或值存储在目标节点中。3.根据权利要求1所述的方法,其特征在于,所述将所述多个数据分组存储至所述多个节点中,包括:针对任一节点识别该节点中存储单元的数量;当该节点中包括多个存储单元时,若该节点对应的数量分组的数量不小于存储单元的数量时,在每一存储单元中存储至少一个数据分组。4.根据权利要求1所述的方法,其特征在于,在将所述多个数据分组存储至所述多个节点中时,每一节点中的多个数据分组对应的多个数据分片中的任两个数据分片均不连续。5.根据权利要求2所述的方法,其特征在于,在所述将所述多个数据分组存储至所述多个节点中之后,所述方法还包括:并行获取各节点中存储的数据分组;对每个节点中存储的数据分组中的数据分片进行拼接,得到目标数据。6.根据权利要求5所述的方法,其特征在于,所述对每个节点中存储的数据分组中的数据分片进行拼接,得到目标数据,包括:当获取任一节点中存储的数据分组失败时,获取所述目标节点中存储的数据分组的异或值;根据所述数据分组的异或值和已经获取到的数据分组,计算未获取到数据分组;对计算得到的数据分组和获取到的数据分组中的数据分片进行拼接,得到所述目标数据。7.一种分布式存储装置,其特征在于,应用于分布式存储系统,所述分布式存储系统包括多个节点,所述装置包括:数据获取模块,用于获取待存储数据,并将所述待存储数据划分为多个数据分片;数据分组模块,用于将所述多个数据分片划分为多个数据分组,其中,每一数据分组包括一个或多个数...

【专利技术属性】
技术研发人员:张栋周凯段子腾王根镇刘桦烁
申请(专利权)人:中航金网北京电子商务有限公司
类型:发明
国别省市:

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

1