放置组的分裂控制方法、装置、设备、介质和程序产品制造方法及图纸

技术编号:35494955 阅读:20 留言:0更新日期:2022-11-05 16:52
本公开涉及一种放置组的分裂控制方法、装置、设备、介质和程序产品。所述方法包括:对于分布式存储集群中的任一存储池中的任一放置组,确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数;其中,所述放置组的至少两个副本中的任一副本对应的分裂控制参数,用于控制所述副本对应的目标文件数量,其中,所述副本对应的目标文件数量表示触发所述副本分裂的文件数量;所述至少两个分裂控制参数互不相同;对于所述放置组的至少两个副本中的任一副本,响应于根据所述副本对应的分裂控制参数,确定所述副本中的文件数量达到所述副本对应的目标文件数量,对所述副本进行分裂。对所述副本进行分裂。对所述副本进行分裂。

【技术实现步骤摘要】
放置组的分裂控制方法、装置、设备、介质和程序产品


[0001]本公开涉及计算机
,尤其涉及一种放置组的分裂控制方法、放置组的分裂控制装置、电子设备、存储介质和程序产品。

技术介绍

[0002]Ceph是一种开源的分布式存储系统,在存储领域被广泛应用。Ceph与OpenStack结合,可以应用于私有云、公有云的解决方案中。
[0003]Ceph中的存储池(pool)中的放置组(Placement Group,PG)默认为三个副本。当存储池的策略设置为弱一致性时,写两个副本成功即可返回写入(write)成功;当存储池的策略设置为强一致性时,则要求写三个副本成功才标注为本次写入成功。目前,为了使数据高可用、高可靠,生产系统通常将存储池的策略配置为强一致性,即要求三个副本写成功。
[0004]在Ceph的FileStore存储引擎中,放置组包含若干个文件夹(通常不超过16个)。由于文件夹包含的文件数量越多,则文件夹的遍历、查询速度越慢,因此,当文件夹中的文件达到一定数量后,通常会将文件夹分裂(split)为子文件夹,并将原文件夹中的文件分散至分裂得到的子文件夹中。
[0005]然而,在存储池的策略设置为强一致性的模型中,由于要求三个副本写成功,因此三个副本将在同一时间点进入分裂状态,进而导致放置组无法写入,影响写入性能。

技术实现思路

[0006]本公开提供了一种放置组的分裂控制技术方案。
[0007]根据本公开的一方面,提供了一种放置组的分裂控制方法,包括:
[0008]对于分布式存储集群中的任一存储池中的任一放置组,确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数;其中,所述放置组的至少两个副本中的任一副本对应的分裂控制参数,用于控制所述副本对应的目标文件数量,其中,所述副本对应的目标文件数量表示触发所述副本分裂的文件数量;所述至少两个分裂控制参数互不相同;
[0009]对于所述放置组的至少两个副本中的任一副本,响应于根据所述副本对应的分裂控制参数,确定所述副本中的文件数量达到所述副本对应的目标文件数量,对所述副本进行分裂。
[0010]在本公开实施例中,对于分布式存储集群中的任一存储池中的任一放置组,确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数,其中,所述放置组的至少两个副本中的任一副本对应的分裂控制参数,用于控制所述副本对应的目标文件数量,所述副本对应的目标文件数量表示触发所述副本分裂的文件数量,且所述至少两个分裂控制参数互不相同,并且,对于所述放置组的至少两个副本中的任一副本,响应于根据所述副本对应的分裂控制参数,确定所述副本中的文件数量达到所述副本对应的目标文件数量,对所述副本进行分裂,由此使触发同一放置组的不同副本分裂的文件数量不同,即,使同一放置组的不同副本在不同的时间点进入分裂状态,从而能够降低放置组无法写入的概率,
进而能够优化分布式存储集群的写入性能。
[0011]在一种可能的实现方式中,所述对于分布式存储集群中的任一存储池中的任一放置组,确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数,包括:
[0012]对于分布式存储集群中的任一存储池中的任一放置组,从至少两个预设分裂控制参数集合中,分别确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数;其中,所述放置组的至少两个副本中的任意两个副本对应的分裂控制参数从不同的预设分裂控制参数集合中确定;所述预设分裂控制参数集合的数量大于或等于所述存储池中的放置组的副本数;所述至少两个预设分裂控制参数集合中的任一预设分裂控制参数集合包括至少两个分裂控制参数;所述至少两个预设分裂控制参数集合中的任意两个预设分裂控制参数集合之间均不存在交集。
[0013]在该实现方式中,通过对于分布式存储集群中的任一存储池中的任一放置组,从至少两个预设分裂控制参数集合中,分别确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数,其中,所述放置组的至少两个副本中的任意两个副本对应的分裂控制参数从不同的预设分裂控制参数集合中确定,所述预设分裂控制参数集合的数量大于或等于所述存储池中的放置组的副本数,所述至少两个预设分裂控制参数集合中的任一预设分裂控制参数集合包括至少两个分裂控制参数,且所述至少两个预设分裂控制参数集合中的任意两个预设分裂控制参数集合之间均不存在交集,由此有助于使同一对象存储设备中的不同放置组的不同副本具有不同的分裂控制参数,从而有助于使同一对象存储设备中的不同副本在不同时间点进入分裂状态,进而有助于减轻对象存储设备对应的服务器的负载。
[0014]在一种可能的实现方式中,所述对于分布式存储集群中的任一存储池中的任一放置组,从至少两个预设分裂控制参数集合中,分别确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数,包括:
[0015]对于分布式存储集群中的任一存储池中的任一放置组,从至少两个预设分裂控制参数集合中,分别随机确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数。
[0016]在该实现方式中,通过对于分布式存储集群中的任一存储池中的任一放置组,从至少两个预设分裂控制参数集合中,分别随机确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数,由此有助于进一步减轻服务器的负载。
[0017]在一种可能的实现方式中,在所述对于分布式存储集群中的任一存储池中的任一放置组,从至少两个预设分裂控制参数集合中,分别确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数之前,所述方法还包括:
[0018]根据预设的目标文件数量区间,以及预设的分裂控制参数与目标文件数量之间的映射关系,确定预设的分裂控制参数区间;
[0019]根据所述预设的分裂控制参数区间,以及所述存储池中的放置组的副本数,确定所述至少两个预设分裂控制参数集合,其中,所述预设分裂控制参数集合的数量等于所述存储池中的放置组的副本数。
[0020]在该实现方式中,通过根据预设的目标文件数量区间,以及预设的分裂控制参数与目标文件数量之间的映射关系,确定预设的分裂控制参数区间,并根据所述预设的分裂
控制参数区间,以及所述存储池中的放置组的副本数,确定所述至少两个预设分裂控制参数集合,其中,所述预设分裂控制参数集合的数量等于所述存储池中的放置组的副本数,由此能够确定出更合理的预设分裂控制参数集合,并能够解决因副本对应的分裂控制参数过大导致副本的分裂耗时过长的问题。
[0021]在一种可能的实现方式中,所述根据预设的分裂控制参数区间,以及所述存储池中的放置组的副本数,确定所述至少两个预设分裂控制参数集合,包括:
[0022]根据所述存储池中的放置组的副本数的数量N,从预设的分裂控制参数区间中,确定差值最大的N个目标数值,其中,N为大于或等于2的整数;
[0023]对于所述N个目标数值中的任一目标数值,根据所述目标数值以及所述目标数值附近的至少一个数值,确定预设分裂控制参数集合。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种放置组的分裂控制方法,其特征在于,包括:对于分布式存储集群中的任一存储池中的任一放置组,确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数;其中,所述放置组的至少两个副本中的任一副本对应的分裂控制参数,用于控制所述副本对应的目标文件数量,其中,所述副本对应的目标文件数量表示触发所述副本分裂的文件数量;所述至少两个分裂控制参数互不相同;对于所述放置组的至少两个副本中的任一副本,响应于根据所述副本对应的分裂控制参数,确定所述副本中的文件数量达到所述副本对应的目标文件数量,对所述副本进行分裂。2.根据权利要求1所述的方法,其特征在于,所述对于分布式存储集群中的任一存储池中的任一放置组,确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数,包括:对于分布式存储集群中的任一存储池中的任一放置组,从至少两个预设分裂控制参数集合中,分别确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数;其中,所述放置组的至少两个副本中的任意两个副本对应的分裂控制参数从不同的预设分裂控制参数集合中确定;所述预设分裂控制参数集合的数量大于或等于所述存储池中的放置组的副本数;所述至少两个预设分裂控制参数集合中的任一预设分裂控制参数集合包括至少两个分裂控制参数;所述至少两个预设分裂控制参数集合中的任意两个预设分裂控制参数集合之间均不存在交集。3.根据权利要求2所述的方法,其特征在于,所述对于分布式存储集群中的任一存储池中的任一放置组,从至少两个预设分裂控制参数集合中,分别确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数,包括:对于分布式存储集群中的任一存储池中的任一放置组,从至少两个预设分裂控制参数集合中,分别随机确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数。4.根据权利要求2或3所述的方法,其特征在于,在所述对于分布式存储集群中的任一存储池中的任一放置组,从至少两个预设分裂控制参数集合中,分别确定与所述放置组的至少两个副本一一对应的至少两个分裂控制参数之前,所述方法还包括:根据预设的目标文件数量区间,以及预设的分裂控制参数与目标文件数量之间的映射关系,确定预设的分裂控制参数区间;根据所述预设的分裂控制参数区间,以及所述存储池中的放置组的副本数,确定所述至少两个预设分裂控制参数集合,其中,所述预设分裂控制参数集合的数量等于所述存储池中的放置组的副本数。5.根据权利要求4所述的方法,其特征在于,所述根据预设的分裂控制参数区间,以及所述存储池中的放置组的副本数,确定所述至少两个预设分裂控制参数集合,包括:根据所述存储池中的放置组的副本数的数量N,从预设的分裂控制参数区间中,确定差值最大的N个目标数值,其中,N为大于或等于2的整数;对于所述N个目标数值中的任一目标数值,根据所述目标数值以及所述目标数值附近的至少一个数值,确定预设分裂控制参数集合。6.根据权利要求5所述的方法,其特征在于,所述根据所述存储池中的放置组的副本数的数量N,从预设的分裂控制参数区间中,确
定差值最大的N个目标数值,包括:在所述存储池...

【专利技术属性】
技术研发人员:王俊李忠文
申请(专利权)人:上海商汤科技开发有限公司
类型:发明
国别省市:

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

1