System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据存储方法、装置、设备以及存储介质制造方法及图纸_技高网

一种数据存储方法、装置、设备以及存储介质制造方法及图纸

技术编号:42229130 阅读:8 留言:0更新日期:2024-08-02 13:45
本申请实施例提供了一种数据存储方法、装置、设备以及存储介质,涉及云存储技术领域。具体实现方案为:当检测到目标存储集群中在线的存储节点发生变化时,获取在线的存储节点的节点数量;若所获取的节点数量小于第一预设阈值,则基于在线的存储节点中的存储资源,确定不少于第一预设阈值个待利用存储单元;基于得到的待利用存储单元的数量以及预定的安全级别,确定当前的EC编码方式;按照当前的EC编码方式将当前的待存储数据分散存储至得到的待利用存储单元中。可见,通过本方案,可以兼顾数据的安全性和空间利用率。

【技术实现步骤摘要】

本申请涉及云存储,特别是涉及一种数据存储方法、装置、设备以及存储介质


技术介绍

1、随着互联网技术的发展,云存储服务应用的领域越来越广。例如云存储服务可以应用在视频监控领域,将拍摄得到的视频数据上传至存储节点(云服务器),视频数据一般划分为多个数据块分散存储在云存储集群中的多个存储节点上。

2、相关技术中,为了保证数据存储的安全性,采用ec(erasure coding,纠删码)编码对数据块进行保护,以在部分数据块丢失的情况下,能够恢复丢失的数据块。其中,ec是一种数据编码容错技术,它可以将原始数据划分为n个数据块后进行编码,得到的编码数据中包括n+m个数据块,n和m均为正整数。该n+m个数据块分散存储在n+m个存储节点中,每一存储节点用于存储一数据块。其中该n个数据块为原始数据块,该m个数据块为校验块,校验块数量m决定了数据保护的安全级别。也就是当这n+m个数据块发生数据块丢失,并且丢失的数据块不多于m个时,可以利用这n+m个数据块中剩余的数据块,恢复丢失的数据块。

3、但是,当集群中存在存储节点离线并使得在线的存储节点数小于ec编码要求的节点数时,若保证安全级别不变,即校验块个数不变,则会导致存储节点的空间利用率降低,也就是n/(n+m)的值减小。

4、因此,如何兼顾数据的安全性和空间利用率,成为亟需解决的技术问题。


技术实现思路

1、本申请实施例的目的在于提供一种数据存储方法、装置、设备以及存储介质,以兼顾数据的安全性和空间利用率。具体技术方案如下:

2、第一方面,本申请实施例提供了一种数据存储方法,所述方法包括:

3、当检测到目标存储集群中在线的存储节点发生变化时,获取在线的存储节点的节点数量;

4、若所获取的节点数量小于第一预设阈值,则基于在线的存储节点中的存储资源,确定不少于所述第一预设阈值个待利用存储单元;其中,所述第一预设阈值为:基于纠删码ec编码方式在存储单元中进行数据存储时,能够满足预定的空间利用率以及预定的安全级别所需的最少存储单元的数量;

5、基于得到的待利用存储单元的数量以及预定的安全级别,确定当前的ec编码方式;

6、按照当前的ec编码方式将当前的待存储数据分散存储至得到的待利用存储单元中。

7、第二方面,本申请实施例提供了一种数据存储装置,所述装置包括:

8、检测模块,用于当检测到目标存储集群中在线的存储节点发生变化时,获取在线的存储节点的节点数量;

9、第一确定模块,用于若所获取的节点数量小于第一预设阈值,则基于在线的存储节点中的存储资源,确定不少于所述第一预设阈值个待利用存储单元;其中,所述第一预设阈值为:基于ec编码方式在存储单元中进行数据存储时,能够满足预定的空间利用率以及预定的安全级别所需的最少存储单元的数量;

10、第二确定模块,用于基于得到的待利用存储单元的数量以及预定的安全级别,确定当前的ec编码方式;

11、存储模块,用于按照当前的ec编码方式将当前的待存储数据分散存储至得到的待利用存储单元中。

12、第三方面,本申请实施例提供了一种电子设备,包括:

13、存储器,用于存放计算机程序;

14、处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的数据存储方法。

15、第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的数据存储方法。

16、第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包含可执行指令,当所述可执行指令在计算机上执行时,使得计算机执行上述任一项所述的数据存储方法。

17、本申请实施例有益效果:

18、本申请实施例提供的方案,若所获取的节点数量小于第一预设阈值,则基于在线的存储节点中的存储资源,确定不少于第一预设阈值个待利用存储单元。接着,基于得到的待利用存储单元的数量以及预定的安全级别,确定当前的ec编码方式,按照当前的ec编码方式将当前的待存储数据分散存储至得到的待利用存储单元中。由于确定出的待利用存储单元的数量不小于第一预设阈值,第一预设阈值为基于ec编码方式在存储单元中进行数据存储时,能够满足预定的空间利用率以及预定的安全级别所需的最少存储单元的数量,且当前的ec编码方式基于得到的待利用存储单元的数量以及预定的安全级别所确定,因此,在预定的安全级别所要求的校验块的数量不变的情况下,ec编码方式所支持的原始数据块的数量变大,从而,按照当前的ec编码方式将待存储数据分散存储至得到的待利用存储单元中,能够兼顾数据的安全性和空间利用率。

19、当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。

本文档来自技高网...

【技术保护点】

1.一种数据存储方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述基于得到的待利用存储单元的数量以及预定的安全级别,确定当前的EC编码方式之前,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述若所获取的节点数量小于第一预设阈值,则基于在线的存储节点中的存储资源,确定不少于所述第一预设阈值个待利用存储单元,包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1-4任一项所述的方法,其特征在于,所述基于得到的待利用存储单元的数量以及预定的安全级别,确定当前的EC编码方式,包括:

6.一种数据存储装置,其特征在于,所述装置包括:

7.根据权利要求6所述的装置,其特征在于,所述装置还包括:

8.一种电子设备,其特征在于,包括:

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法。

10.一种计算机程序产品,其特征在于,所述计算机程序产品包含可执行指令,当所述可执行指令在计算机上执行时,使得计算机执行权利要求1-5任一项所述的方法。

...

【技术特征摘要】

1.一种数据存储方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述基于得到的待利用存储单元的数量以及预定的安全级别,确定当前的ec编码方式之前,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述若所获取的节点数量小于第一预设阈值,则基于在线的存储节点中的存储资源,确定不少于所述第一预设阈值个待利用存储单元,包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1-4任一项所述的方法,其特征在于,所述基于得到的待利用存储单元的数量以...

【专利技术属性】
技术研发人员:汪渭春黄华东夏伟强李丹旺苏霞王伟
申请(专利权)人:杭州海康威视系统技术有限公司
类型:发明
国别省市:

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

1