数据扩容方法及装置制造方法及图纸

技术编号:35346184 阅读:14 留言:0更新日期:2022-10-26 12:11
本发明专利技术实施例涉及一种数据扩容方法及装置,该方法包括:获取存储池集群中每个存储池的剩余容量;根据剩余容量从多个存储池中选取目标存储池;根据目标存储池的标识信息更新放置规则;当获取到待存储的对象数据后,根据更新后的放置规则,确定用于存储待存储的对象数据的目标存储池。通过将扩容存储池放置于新的故障域中,可以避免因为数据分布均衡特性,将原有的业务数据重新分配到扩容存储池,导致业务数据的存储位置发生变化对在线业务产生影响,进一步导致系统性能下降的情况发生。而且,本申请文件中,仅仅是将后续新获取的待存储对象数据存储至目标存储池,不仅不会影响到原有的在线任务的执行,还同样可以达到数据分布均衡的目的。衡的目的。衡的目的。

【技术实现步骤摘要】
数据扩容方法及装置


[0001]本专利技术实施例涉及计算机
,尤其涉及一种数据扩容方法及装置。

技术介绍

[0002]在大数据环境下,海量数据的不断涌现,到2025年全球新创建的数据将达到175ZB。面对海量数据,分布式对象存储可通过增加存储节点进行扩容来应对。但是分布式文件存储是去中心化的,在扩容时,会考虑数据分布均衡性,因此必然会使得所有的对象数据重新分配存储位置,也即是原始存储设备上的对象数据可能分配到新的存储设备上存储,存储位置发生变化。
[0003]但是系统后续读取数据时,依然会去原始存储位置读取数据,因为当前数据已经不再原始存储位置,自然也不会被读取到。当然,用户也可以修改逻辑代码或配置文件,用以指示系统从新的存储位置读取数据,但是如果需要修改逻辑代码或配置文件,也要停止业务的运行,所以不论上述哪种情况,都会对已有的在线业务产生影响,进而导致系统性能下降。
[0004]为了避免对在线业务所产生的影响,现有技术中是考虑将扩容粒度变小,每次扩容一个存储单元,例如一个磁盘、一个主机或一个机柜。但是这种方案的弊端就在于,扩容方式带来极大的运维工作量,而且有可能扩容速度赶不上数据增长速度,设备扩容的作用并不能很好的体现。

技术实现思路

[0005]本申请提供了一种数据扩容方法及装置,以解决现有技术中部分或全部技术问题。
[0006]第一方面,本申请提供了一种数据扩容方法,该方法应用于包括有存储池集群的应用场景,存储池集群包括原始存储池和至少一个扩容存储池,原始存储池和至少一个扩容存储池处于不同的故障域中,该方法包括:
[0007]获取存储池集群中每个存储池的剩余容量;
[0008]根据剩余容量,从多个存储池中选取目标存储池;
[0009]根据目标存储池的标识信息,更新放置规则,放置规则用以指示待存储的对象数据的存放位置;
[0010]当获取到待存储的对象数据后,根据更新后的放置规则,确定用于存储待存储的对象数据的目标存储池。
[0011]可选的,根据剩余容量,从多个存储池中选取目标存储池,具体包括:
[0012]从多个存储池中,选取剩余容量最多的存储池作为目标存储池。
[0013]可选的,该方法还包括:
[0014]对待存储的对象数据进行分组;
[0015]将每一组待存储的对象数据分别存储至目标存储池的预设位置。
[0016]可选的,目标存储池为至少一个扩容存储池中的任一个扩容存储池;
[0017]将每一组待存储的对象数据分别存储至目标存储池的预设位置后,该方法还包括:
[0018]获取每一组待存储的对象数据的存储位置信息;
[0019]将每一组待存储的对象数据的存储位置信息存储至原始存储池的预设位置。
[0020]可选的,目标存储池为原始存储池;
[0021]将每一组待存储的对象数据分别存储至目标存储池的预设位置后,该方法还包括:
[0022]获取每一组待存储的对象数据的存储位置信息;
[0023]将每一组待存储的对象数据的存储位置信息存储至原始存储池的预设位置。
[0024]可选的,该方法还包括:从与客户端建立映射关系的原始存储桶中,获取对象数据读取请求,其中,对象数据读取请求为客户端上传至原始存储桶的读取请求;
[0025]根据对象数据读取请求和原始存储桶,从原始存储池的预设位置读取对象数据的存储位置信息,其中,原始存储桶还用于指示与对象数据读取请求对应的对象数据的存储位置信息在原始存储池中的存储位置;
[0026]根据存储位置信息,从多个存储池中确定与存储位置信息对应的目标存储池,并从目标存储池中获取对象数据;
[0027]将对象数据反馈至原始存储桶,以便客户端后续从原始存储桶中获取与对象读取请求对应的对象数据。
[0028]第二方面,本申请提供了一种数据扩容装置,该装置包括:
[0029]获取模块,用于获取存储池集群中每个存储池的剩余容量;
[0030]选择模块,用于根据剩余容量,从多个存储池中选取目标存储池;
[0031]更新模块,用于根据目标存储池的标识信息,更新放置规则,放置规则用以指示待存储的对象数据的存放位置;
[0032]获取模块,还用于获取待存储的对象数据;
[0033]处理模块,用于当获取到待存储的对象数据后,根据更新后的放置规则,确定用于存储待存储的对象数据的目标存储池。
[0034]可选的,选择模块,具体用于从多个存储池中,选取剩余容量最多的存储池作为目标存储池。
[0035]可选的,处理模块,还用于对待存储的对象数据进行分组;
[0036]将每一组待存储的对象数据分别存储至目标存储池的预设位置。
[0037]可选的,目标存储池为至少一个扩容存储池中的任一个扩容存储池;
[0038]获取模块,还用于获取每一组待存储的对象数据的存储位置信息;
[0039]处理模块,还用于将每一组待存储的对象数据的存储位置信息存储至原始存储池的预设位置。
[0040]可选的,目标存储池为原始存储池;
[0041]获取模块,还用于获取每一组待存储的对象数据的存储位置信息;
[0042]处理模块,还用于将每一组待存储的对象数据的存储位置信息存储至原始存储池的预设位置。
[0043]可选的,该装置还包括:读取模块和发送模块;
[0044]获取模块,还用于从与客户端建立映射关系的原始存储桶中,获取对象数据读取请求,其中,对象数据读取请求为客户端上传至原始存储桶的读取请求;
[0045]读取模块,用于根据对象数据读取请求和原始存储桶,从原始存储池的预设位置读取对象数据的存储位置信息,其中,原始存储桶还用于指示与对象数据读取请求对应的对象数据的存储位置信息在原始存储池中的存储位置;处理模块,还用于根据存储位置信息,从多个存储池中确定与存储位置信息对应的目标存储池,并从目标存储池中获取对象数据;
[0046]发送模块,用于将对象数据反馈至原始存储桶,以便客户端后续从原始存储桶中获取与对象读取请求对应的对象数据。
[0047]第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0048]存储器,用于存放计算机程序;
[0049]处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例的数据扩容方法的步骤。
[0050]第四面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面任一项实施例的数据扩容方法的步骤。
[0051]本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
[0052]本申请实施例提供的该方法,该方法应用于包括有存储池集群的应用场景,其中,存储池集群获取原始存储池和至少一个扩容存储池。扩容存池与原始本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据扩容方法,其特征在于,所述方法应用于包括有存储池集群的应用场景,所述存储池集群包括原始存储池和至少一个扩容存储池,所述原始存储池和至少一个所述扩容存储池处于不同的故障域中,所述方法包括:获取存储池集群中每个所述存储池的剩余容量;根据所述剩余容量,从多个所述存储池中选取目标存储池;根据所述目标存储池的标识信息,更新放置规则,所述放置规则用以指示待存储的对象数据的存放位置;当获取到待存储的对象数据后,根据更新后的放置规则,确定用于存储所述待存储的对象数据的所述目标存储池。2.根据权利要求1所述的方法,其特征在于,根据所述剩余容量,从多个所述存储池中选取目标存储池,具体包括:从多个所述存储池中,选取剩余容量最多的存储池作为所述目标存储池。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:对所述待存储的对象数据进行分组;将每一组待存储的对象数据分别存储至所述目标存储池的预设位置。4.根据权利要求3所述的方法,其特征在于,所述目标存储池为至少一个所述扩容存储池中的任一个扩容存储池;所述将每一组待存储的对象数据分别存储至所述目标存储池的预设位置后,所述方法还包括:获取每一组待存储的对象数据的存储位置信息;将每一组待存储的对象数据的存储位置信息存储至所述原始存储池的预设位置。5.根据权利要求3所述的方法,其特征在于,所述目标存储池为所述原始存储池;所述将每一组待存储的对象数据分别存储至所述目标存储池的预设位置后,所述方法还包括:获取每一组待存储的对象数据的存储位置信息;将每一组待存储的对象数据的存储位置信息存储至所述原始存储池的预设位置。6.根据权利要求4或5所述的方法,其特征在于,所述方法包括:从与客户端建立映射关系的原始存储桶中,获取对象数据读取请求,其中,所述对象数据读取请求为客户端上传至所述原始存储桶的读取请求;根据所述对象数据读取请求和所述原始存储桶,从原始存储池的预设位置读取对象数据的存储位置信息,其中,所述原始存储桶还用于指示与所述对象数据读取请求对应的所述对象数据的存储位置信息在所述原始存储池中的存储位置;根据所述存储位置信息,从多个存储池中确定与所述存储位置信息对应的目标存储池,并从所述目标存储池中获取所述对象数据;将所述对象数据反馈至所述原始存储桶,以便所述客户端后续从所述原始存储桶中获取与所述对象读取...

【专利技术属性】
技术研发人员:蒋建涛
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:

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

1