CN112306692B - 一种分布式存储系统的归置组均衡方法和装置 - Google Patents

一种分布式存储系统的归置组均衡方法和装置 Download PDF

Info

Publication number
CN112306692B
CN112306692B CN202011272834.XA CN202011272834A CN112306692B CN 112306692 B CN112306692 B CN 112306692B CN 202011272834 A CN202011272834 A CN 202011272834A CN 112306692 B CN112306692 B CN 112306692B
Authority
CN
China
Prior art keywords
master
homing
data storage
storage devices
groups
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011272834.XA
Other languages
English (en)
Other versions
CN112306692A (zh
Inventor
丁纯杰
孟祥瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011272834.XA priority Critical patent/CN112306692B/zh
Publication of CN112306692A publication Critical patent/CN112306692A/zh
Application granted granted Critical
Publication of CN112306692B publication Critical patent/CN112306692B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式存储系统的归置组均衡方法和装置,方法包括:基于多个主归置组在多个数据存储设备上的实际分布和分布预期分别为每个数据存储设备各自分配不同的初始亲和度作为当前亲和度;基于实际分布和当前亲和度使用碾压算法为每个数据存储设备重新分配主归置组的个数以更新实际分布,并将迭代次数累加一;基于预先确定的初始步长和迭代次数确定当前步长,基于当前步长和实际分布更新当前亲和度并返回上一步骤,直到实际分布收敛并且符合分布预期;基于收敛的实际分布来执行分布式存储系统的多个主归置组在多个数据存储设备上的均衡。本发明能够在不影响精度的前提下大幅度缩短均衡时间,提高分布式存储系统的可靠性和可用性。

Description

一种分布式存储系统的归置组均衡方法和装置
技术领域
本发明涉及存储领域,更具体地,特别是指一种分布式存储系统的归置组均衡方法和装置。
背景技术
分布式存储系统为了保证用户数据的安全性,是将同一份数据复制多份副本,存放在不同的存储节点上。其中,为了方便管理数据分布和恢复,一般储存系统中的存储池都会划分成多个PG(归置组),每个PG按一定的副本或者纠删规则包含若干块OSD(数据存储设备)。比如创建三副本储存池,一份数据被分成三份存放,分别放在三个OSD上,那每个PG就包含三个OSD,每个OSD上都有一份数据。同时每个OSD上会存在多个PG,支持不同PG的数据落在同一块磁盘上。其中,PG是有主备之分的(Primary PG——主PG、Replica PG——备PG),所有分布式集群的读写操作都是先经过主PG,主PG操作完成后再转给它所属的备PG上继续操作。因而,每个OSD上所存在的主PG个数直接决定了这个OSD所承受的读写压力,主PG分布多的OSD其对应压力就大,这些压力较大的OSD就成为了整个存储系统的性能瓶颈。
在当前主流的主PG均衡策略中,其为便于调整亲和度,在每次进行主 PG均衡前会先给所有OSD设定一个同样的初始既定值,该既定值的设置是通过试错的方法统计试验出来的,之后通过Crush算法获取到既定值下的每个OSD上的主PG数,之后每次遍历是基于固定步长,循环遍历OSD调整其亲和度,这样循环往复最终使主PG满足均衡度要求。这种调整方式由于其每次调整步长固定,使得每个集群在调整时其遍历次数都会较多,在大规模集群下,整个调整就异常耗时。例如对于960个OSD,32768个PG 的集群,每次主PG均衡时间都在30以上。
针对现有技术中PG均衡耗时长、可用性差的问题,目前尚无有效的解决方案。
发明内容
有鉴于此,本发明实施例的目的在于提出一种分布式存储系统的归置组均衡方法和装置,能够在不影响精度的前提下大幅度缩短均衡时间,提高分布式存储系统的可靠性和可用性。
基于上述目的,本发明实施例的第一方面提供了一种分布式存储系统的归置组均衡方法,包括执行以下步骤:
基于多个主归置组在多个数据存储设备上的实际分布和分布预期分别为每个数据存储设备各自分配不同的初始亲和度作为当前亲和度;
基于实际分布和当前亲和度使用碾压算法为每个数据存储设备重新分配主归置组的个数以更新实际分布,并将迭代次数累加一;
基于预先确定的初始步长和迭代次数确定当前步长,基于当前步长和实际分布更新当前亲和度并返回上一步骤,直到实际分布收敛并且符合分布预期;
基于收敛的实际分布来执行分布式存储系统的多个主归置组在多个数据存储设备上的均衡。
在一些实施方式中,多个主归置组在多个数据存储设备上的实际分布包括:每个数据存储设备上分别存在的主归置组的个数;
多个主归置组在多个数据存储设备上分布预期包括:基于主归置组总数和数据存储设备总数之商确定的预期主归置组分布数、和预先确定的预期主归置组均衡度。
在一些实施方式中,分别为每个数据存储设备各自分配不同的初始亲和度包括:
为主归置组的个数大于预期主归置组分布数与预期主归置组均衡度之和的数据存储设备分配第一初始亲和度;
为主归置组的个数小于预期主归置组分布数与预期主归置组均衡度之和、并且大于预期主归置组分布数与预期主归置组均衡度之差的数据存储设备分配小于第一初始亲和度的第二初始亲和度;
为主归置组的个数小于预期主归置组分布数与预期主归置组均衡度之差的数据存储设备分配小于第二初始亲和度的第三初始亲和度。
在一些实施方式中,基于预先确定的初始步长和迭代次数确定当前步长包括:基于如下关系进行确认,当前步长与初始步长成正相关性,并且与迭代次数成负相关性。
在一些实施方式中,第一初始亲和度、第二初始亲和度、第三初始亲和度均位于零到一之间;
方法还包括:响应于基于当前步长和实际分布更新的当前亲和度不位于零到一之间,而撤销本次当前亲和度更新并重新确定一个更小的当前步长。
在一些实施方式中,方法还包括:在将迭代次数累加一的同时,还基于实际分布确定多个主归置组在多个数据存储设备上的分布均方差、包括主归置组的个数大于预期主归置组分布数的所有数据存储设备的第一集合、和包括主归置组的个数小于预期主归置组分布数的所有数据存储设备的第二集合。
在一些实施方式中,实际分布收敛包括:
响应于在一个迭代次数上的第一集合和第二集合的数据存储设备与在其上一个迭代次数上的第一集合和第二集合的数据存储设备完全相同,并且在该迭代次数上的分布均方差、第一集合的主归置组的个数的内部数据差异值、和第二集合的主归置组的个数的内部数据差异值与在该上一个迭代次数上的分布均方差、第一集合的主归置组的个数的内部数据差异值、和第二集合的主归置组的个数的内部数据差异值之差小于收敛阈值,而将该迭代次数记为收敛调整;
响应于连续出现收敛调整的迭代次数超过收敛阈值,而判定实际分布收敛。
本发明实施例的第二方面提供了一种分布式存储系统的归置组均衡装置,包括:
处理器;和
存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行以下步骤:
基于多个主归置组在多个数据存储设备上的实际分布和分布预期分别为每个数据存储设备各自分配不同的初始亲和度作为当前亲和度;
基于实际分布和当前亲和度使用碾压算法为每个数据存储设备重新分配主归置组的个数以更新实际分布,并将迭代次数累加一;
基于预先确定的初始步长和迭代次数确定当前步长,基于当前步长和实际分布更新当前亲和度并返回上一步骤,直到实际分布收敛并且符合分布预期;
基于收敛的实际分布来执行分布式存储系统的多个主归置组在多个数据存储设备上的均衡。
在一些实施方式中,多个主归置组在多个数据存储设备上的实际分布包括:每个数据存储设备上分别存在的主归置组的个数;
多个主归置组在多个数据存储设备上分布预期包括:基于主归置组总数和数据存储设备总数之商确定的预期主归置组分布数、和预先确定的预期主归置组均衡度;
分别为每个数据存储设备各自分配不同的初始亲和度包括:为主归置组的个数大于预期主归置组分布数与预期主归置组均衡度之和的数据存储设备分配第一初始亲和度;为主归置组的个数小于预期主归置组分布数与预期主归置组均衡度之和、并且大于预期主归置组分布数与预期主归置组均衡度之差的数据存储设备分配小于第一初始亲和度的第二初始亲和度;为主归置组的个数小于预期主归置组分布数与预期主归置组均衡度之差的数据存储设备分配小于第二初始亲和度的第三初始亲和度。
在一些实施方式中,步骤还包括:在将迭代次数累加一的同时,还基于实际分布确定多个主归置组在多个数据存储设备上的分布均方差、包括主归置组的个数大于预期主归置组分布数的所有数据存储设备的第一集合、和包括主归置组的个数小于预期主归置组分布数的所有数据存储设备的第二集合;
实际分布收敛包括:响应于在一个迭代次数上的第一集合和第二集合的数据存储设备与在其上一个迭代次数上的第一集合和第二集合的数据存储设备完全相同,并且在该迭代次数上的分布均方差、第一集合的主归置组的个数的内部数据差异值、和第二集合的主归置组的个数的内部数据差异值与在该上一个迭代次数上的分布均方差、第一集合的主归置组的个数的内部数据差异值、和第二集合的主归置组的个数的内部数据差异值之差小于收敛阈值,而将该迭代次数记为收敛调整;响应于连续出现收敛调整的迭代次数超过收敛阈值,而判定实际分布收敛。
本发明具有以下有益技术效果:本发明实施例提供的分布式存储系统的归置组均衡方法和装置,通过基于多个主归置组在多个数据存储设备上的实际分布和分布预期分别为每个数据存储设备各自分配不同的初始亲和度作为当前亲和度;基于实际分布和当前亲和度使用碾压算法为每个数据存储设备重新分配主归置组的个数以更新实际分布,并将迭代次数累加一;基于预先确定的初始步长和迭代次数确定当前步长,基于当前步长和实际分布更新当前亲和度并返回上一步骤,直到实际分布收敛并且符合分布预期;基于收敛的实际分布来执行分布式存储系统的多个主归置组在多个数据存储设备上的均衡的技术方案,能够在不影响精度的前提下大幅度缩短均衡时间,提高分布式存储系统的可靠性和可用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的分布式存储系统的归置组均衡方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了一种提高分布式存储系统的可靠性和可用性的分布式存储系统的归置组均衡方法的一个实施例。图1示出的是本发明提供的分布式存储系统的归置组均衡方法的流程示意图。
所述的分布式存储系统的归置组均衡方法,如图1所示,包括执行以下步骤:
步骤S101,基于多个主归置组在多个数据存储设备上的实际分布和分布预期分别为每个数据存储设备各自分配不同的初始亲和度作为当前亲和度;
步骤S103,基于实际分布和当前亲和度使用碾压算法为每个数据存储设备重新分配主归置组的个数以更新实际分布,并将迭代次数累加一;
步骤S105,基于预先确定的初始步长和迭代次数确定当前步长,基于当前步长和实际分布更新当前亲和度并返回上一步骤,直到实际分布收敛并且符合分布预期;
步骤S107,基于收敛的实际分布来执行分布式存储系统的多个主归置组在多个数据存储设备上的均衡。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM) 或随机存储记忆体(RAM)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
在一些实施方式中,多个主归置组在多个数据存储设备上的实际分布包括:每个数据存储设备上分别存在的主归置组的个数;
多个主归置组在多个数据存储设备上分布预期包括:基于主归置组总数和数据存储设备总数之商确定的预期主归置组分布数、和预先确定的预期主归置组均衡度。
在一些实施方式中,分别为每个数据存储设备各自分配不同的初始亲和度包括:
为主归置组的个数大于预期主归置组分布数与预期主归置组均衡度之和的数据存储设备分配第一初始亲和度;
为主归置组的个数小于预期主归置组分布数与预期主归置组均衡度之和、并且大于预期主归置组分布数与预期主归置组均衡度之差的数据存储设备分配小于第一初始亲和度的第二初始亲和度;
为主归置组的个数小于预期主归置组分布数与预期主归置组均衡度之差的数据存储设备分配小于第二初始亲和度的第三初始亲和度。
在一些实施方式中,基于预先确定的初始步长和迭代次数确定当前步长包括:基于如下关系进行确认,当前步长与初始步长成正相关性,并且与迭代次数成负相关性。
在一些实施方式中,第一初始亲和度、第二初始亲和度、第三初始亲和度均位于零到一之间;
方法还包括:响应于基于当前步长和实际分布更新的当前亲和度不位于零到一之间,而撤销本次当前亲和度更新并重新确定一个更小的当前步长。
在一些实施方式中,方法还包括:在将迭代次数累加一的同时,还基于实际分布确定多个主归置组在多个数据存储设备上的分布均方差、包括主归置组的个数大于预期主归置组分布数的所有数据存储设备的第一集合、和包括主归置组的个数小于预期主归置组分布数的所有数据存储设备的第二集合。
在一些实施方式中,实际分布收敛包括:
响应于在一个迭代次数上的第一集合和第二集合的数据存储设备与在其上一个迭代次数上的第一集合和第二集合的数据存储设备完全相同,并且在该迭代次数上的分布均方差、第一集合的主归置组的个数的内部数据差异值、和第二集合的主归置组的个数的内部数据差异值与在该上一个迭代次数上的分布均方差、第一集合的主归置组的个数的内部数据差异值、和第二集合的主归置组的个数的内部数据差异值之差小于收敛阈值,而将该迭代次数记为收敛调整;
响应于连续出现收敛调整的迭代次数超过收敛阈值,而判定实际分布收敛。
下面根据具体实施例进一步阐述本发明的具体实施方式。
本发明从三个方面进行优化:1.分配初始既定值时依据当前每个OSD 的主PG数与期望主PG数(期望主PG数=PG总数/OSD总数)的差距,分阶梯给定不同的初始既定值;2.自适应调整步长,不再采用固定步长的方式,初始设定较大的调整步长,在每次遍历后根据调整结果自适应修改下一次的调整步长,以达到前面N次调整以较大步长进行粗调,后面M次调整以较小步长进行微调,实现快速调整,大幅缩小总调整次数;3.在每次遍历后统计主PG分布均方差σ,并记录主PG分布较多(比期望值大)的OSD列表List1与主PG分布较小的OSD列表List2,将σ,List1,List2分别与上一次调整进行比对分析,如果两次调整之间这三个结果的差值在一定范围内,我们就认为此次调整为无效调整,当连续无效调整次数达到阈值(如20次),就结束本次主PG均衡调整,最终大大减小无效调整次数。具体步骤如下:
步骤1,首先确定期望主PG分布数E=PG总数/OSD总数,确定预期主PG均衡度,即均衡后每个OSD上的主PG个数差值max_diff。比如 max_diff=1,那期望的最终均衡度即是不同OSD之间主PG的分布相差只有1。
步骤2,开始前分配不同的初始亲和度,首先统计当前每个OSD上的主PG个数分别分配不同的既定值。比如主PG个数与期望个数E的差值小于max_diff的OSD其初始值分配为0.7,则主PG个数大于E+max_diff的 OSD其初始值就分配为0.6,而主PG个数小于E-max_diff的OSD其初始值就分配为0.8。此处可根据不同需求再进行精细的阶梯划分。
步骤3,设置初始步长step(如step=0.05),并开始遍历调整每个OSD 的主PG亲和度权重。
步骤4,确定步长调整临界条件;包含两种场景:(1)固定遍历N次 (如10次)就进行一次调整,调整结果为step=step/2;(2)由于亲和度设置范围为0-1,如果本次OSD的亲和度调整后不在0-1的范围内,则需要回退本次的亲和度调整,并记录标志位,下次遍历时调整step值。
步骤5,每次调整后分别记录主PG分布均方差σ,并记录主PG分布较多(比期望值大)的OSD列表List1与主PG分布较小的OSD列表List2,将σ,List1,List2分别与上一次调整进行比对分析,如果两次调整之间这三个结果的差值在分别在一定范围内(如两次均方差差值小于0.005;两次List1 size变化为0,内部数据差异值小于1;两次List2 size变化小于1,内部数据值差异小于3),就记录无效调整次数use_less_count++;否则use_less_count=0。
步骤6,重复步骤3-5,如果最终主PG均衡度满足相差小于等于 max_diff的要求,或者use_less_count大于阈值(如20次),则结束本次主PG均衡。
从上述实施例可以看出,本发明实施例提供的分布式存储系统的归置组均衡方法,通过基于多个主归置组在多个数据存储设备上的实际分布和分布预期分别为每个数据存储设备各自分配不同的初始亲和度作为当前亲和度;基于实际分布和当前亲和度使用碾压算法为每个数据存储设备重新分配主归置组的个数以更新实际分布,并将迭代次数累加一;基于预先确定的初始步长和迭代次数确定当前步长,基于当前步长和实际分布更新当前亲和度并返回上一步骤,直到实际分布收敛并且符合分布预期;基于收敛的实际分布来执行分布式存储系统的多个主归置组在多个数据存储设备上的均衡的技术方案,能够在不影响精度的前提下大幅度缩短均衡时间,提高分布式存储系统的可靠性和可用性。
需要特别指出的是,上述分布式存储系统的归置组均衡方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于分布式存储系统的归置组均衡方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种提高分布式存储系统的可靠性和可用性的分布式存储系统的归置组均衡装置的一个实施例。分布式存储系统的归置组均衡装置包括:
处理器;和
存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行以下步骤:
基于多个主归置组在多个数据存储设备上的实际分布和分布预期分别为每个数据存储设备各自分配不同的初始亲和度作为当前亲和度;
基于实际分布和当前亲和度使用碾压算法为每个数据存储设备重新分配主归置组的个数以更新实际分布,并将迭代次数累加一;
基于预先确定的初始步长和迭代次数确定当前步长,基于当前步长和实际分布更新当前亲和度并返回上一步骤,直到实际分布收敛并且符合分布预期;
基于收敛的实际分布来执行分布式存储系统的多个主归置组在多个数据存储设备上的均衡。
在一些实施方式中,多个主归置组在多个数据存储设备上的实际分布包括:每个数据存储设备上分别存在的主归置组的个数;
多个主归置组在多个数据存储设备上分布预期包括:基于主归置组总数和数据存储设备总数之商确定的预期主归置组分布数、和预先确定的预期主归置组均衡度;
分别为每个数据存储设备各自分配不同的初始亲和度包括:为主归置组的个数大于预期主归置组分布数与预期主归置组均衡度之和的数据存储设备分配第一初始亲和度;为主归置组的个数小于预期主归置组分布数与预期主归置组均衡度之和、并且大于预期主归置组分布数与预期主归置组均衡度之差的数据存储设备分配小于第一初始亲和度的第二初始亲和度;为主归置组的个数小于预期主归置组分布数与预期主归置组均衡度之差的数据存储设备分配小于第二初始亲和度的第三初始亲和度。
在一些实施方式中,步骤还包括:在将迭代次数累加一的同时,还基于实际分布确定多个主归置组在多个数据存储设备上的分布均方差、包括主归置组的个数大于预期主归置组分布数的所有数据存储设备的第一集合、和包括主归置组的个数小于预期主归置组分布数的所有数据存储设备的第二集合;
实际分布收敛包括:响应于在一个迭代次数上的第一集合和第二集合的数据存储设备与在其上一个迭代次数上的第一集合和第二集合的数据存储设备完全相同,并且在该迭代次数上的分布均方差、第一集合的主归置组的个数的内部数据差异值、和第二集合的主归置组的个数的内部数据差异值与在该上一个迭代次数上的分布均方差、第一集合的主归置组的个数的内部数据差异值、和第二集合的主归置组的个数的内部数据差异值之差小于收敛阈值,而将该迭代次数记为收敛调整;响应于连续出现收敛调整的迭代次数超过收敛阈值,而判定实际分布收敛。
从上述实施例可以看出,本发明实施例提供的分布式存储系统的归置组均衡装置,通过基于多个主归置组在多个数据存储设备上的实际分布和分布预期分别为每个数据存储设备各自分配不同的初始亲和度作为当前亲和度;基于实际分布和当前亲和度使用碾压算法为每个数据存储设备重新分配主归置组的个数以更新实际分布,并将迭代次数累加一;基于预先确定的初始步长和迭代次数确定当前步长,基于当前步长和实际分布更新当前亲和度并返回上一步骤,直到实际分布收敛并且符合分布预期;基于收敛的实际分布来执行分布式存储系统的多个主归置组在多个数据存储设备上的均衡的技术方案,能够在不影响精度的前提下大幅度缩短均衡时间,提高分布式存储系统的可靠性和可用性。
需要特别指出的是,上述分布式存储系统的归置组均衡装置的实施例采用了所述分布式存储系统的归置组均衡方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述分布式存储系统的归置组均衡方法的其他实施例中。当然,由于所述分布式存储系统的归置组均衡方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述分布式存储系统的归置组均衡装置也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (6)

1.一种分布式存储系统的归置组均衡方法,其特征在于,包括执行以下步骤:
基于多个主归置组在多个数据存储设备上的实际分布和分布预期分别为每个所述数据存储设备各自分配不同的初始亲和度作为当前亲和度;
基于所述实际分布和所述当前亲和度使用碾压算法为每个所述数据存储设备重新分配所述主归置组的个数以更新所述实际分布,并将迭代次数累加一;
基于预先确定的初始步长和所述迭代次数确定当前步长,基于所述当前步长和所述实际分布更新所述当前亲和度并返回上一步骤,直到所述实际分布收敛并且符合所述分布预期;
基于收敛的所述实际分布来执行分布式存储系统的多个所述主归置组在多个所述数据存储设备上的均衡;
其中,多个主归置组在多个数据存储设备上分布预期包括:基于所述主归置组的总数和所述数据存储设备的总数之商确定的预期主归置组分布数、和预先确定的预期主归置组均衡度;
所述方法还包括:响应于基于所述当前步长和所述实际分布更新的所述当前亲和度不位于零到一之间,而撤销本次当前亲和度更新并重新确定一个更小的当前步长;其中,所述亲和度位于零到一之间;
在将所述迭代次数累加一的同时,还基于所述实际分布确定多个所述主归置组在多个所述数据存储设备上的分布均方差、包括所述主归置组的个数大于所述预期主归置组分布数的所有所述数据存储设备的第一集合、和包括所述主归置组的个数小于所述预期主归置组分布数的所有所述数据存储设备的第二集合;
响应于在一个迭代次数上的所述第一集合和所述第二集合的所述数据存储设备与在其上一个迭代次数上的所述第一集合和所述第二集合的所述数据存储设备完全相同,并且在该迭代次数上的所述分布均方差、所述第一集合的所述主归置组的个数的内部数据差异值、和所述第二集合的所述主归置组的个数的内部数据差异值与在该上一个迭代次数上的所述分布均方差、所述第一集合的所述主归置组的个数的内部数据差异值、和所述第二集合的所述主归置组的个数的内部数据差异值之差小于收敛阈值,而将该迭代次数记为收敛调整;
响应于连续出现所述收敛调整的迭代次数超过收敛阈值,而判定所述实际分布收敛。
2.根据权利要求1所述的方法,其特征在于,多个主归置组在多个数据存储设备上的实际分布包括:每个所述数据存储设备上分别存在的所述主归置组的个数。
3.根据权利要求2所述的方法,其特征在于,分别为每个所述数据存储设备各自分配不同的初始亲和度包括:
为所述主归置组的个数大于所述预期主归置组分布数与所述预期主归置组均衡度之和的所述数据存储设备分配第一初始亲和度;
为所述主归置组的个数小于所述预期主归置组分布数与所述预期主归置组均衡度之和、并且大于所述预期主归置组分布数与所述预期主归置组均衡度之差的所述数据存储设备分配小于所述第一初始亲和度的第二初始亲和度;
为所述主归置组的个数小于所述预期主归置组分布数与所述预期主归置组均衡度之差的所述数据存储设备分配小于所述第二初始亲和度的第三初始亲和度。
4.根据权利要求2所述的方法,其特征在于,基于预先确定的初始步长和所述迭代次数确定当前步长包括:基于如下关系进行确认,所述当前步长与所述初始步长成正相关性,并且与所述迭代次数成负相关性。
5.一种分布式存储系统的归置组均衡装置,其特征在于,包括:
处理器;和
存储器,存储有处理器可运行的程序代码,所述程序代码在被运行时执行以下步骤:
基于多个主归置组在多个数据存储设备上的实际分布和分布预期分别为每个所述数据存储设备各自分配不同的初始亲和度作为当前亲和度;
基于所述实际分布和所述当前亲和度使用碾压算法为每个所述数据存储设备重新分配所述主归置组的个数以更新所述实际分布,并将迭代次数累加一;
基于预先确定的初始步长和所述迭代次数确定当前步长,基于所述当前步长和所述实际分布更新所述当前亲和度并返回上一步骤,直到所述实际分布收敛并且符合所述分布预期;
基于收敛的所述实际分布来执行分布式存储系统的多个所述主归置组在多个所述数据存储设备上的均衡;
其中,多个主归置组在多个数据存储设备上分布预期包括:基于所述主归置组的总数和所述数据存储设备的总数之商确定的预期主归置组分布数、和预先确定的预期主归置组均衡度;
所述步骤还包括:响应于基于所述当前步长和所述实际分布更新的所述当前亲和度不位于零到一之间,而撤销本次当前亲和度更新并重新确定一个更小的当前步长;其中,所述亲和度位于零到一之间;
在将所述迭代次数累加一的同时,还基于所述实际分布确定多个所述主归置组在多个所述数据存储设备上的分布均方差、包括所述主归置组的个数大于所述预期主归置组分布数的所有所述数据存储设备的第一集合、和包括所述主归置组的个数小于所述预期主归置组分布数的所有所述数据存储设备的第二集合;
响应于在一个迭代次数上的所述第一集合和所述第二集合的所述数据存储设备与在其上一个迭代次数上的所述第一集合和所述第二集合的所述数据存储设备完全相同,并且在该迭代次数上的所述分布均方差、所述第一集合的所述主归置组的个数的内部数据差异值、和所述第二集合的所述主归置组的个数的内部数据差异值与在该上一个迭代次数上的所述分布均方差、所述第一集合的所述主归置组的个数的内部数据差异值、和所述第二集合的所述主归置组的个数的内部数据差异值之差小于收敛阈值,而将该迭代次数记为收敛调整;
响应于连续出现所述收敛调整的迭代次数超过收敛阈值,而判定所述实际分布收敛。
6.根据权利要求5所述的装置,其特征在于,多个主归置组在多个数据存储设备上的实际分布包括:每个所述数据存储设备上分别存在的所述主归置组的个数;
分别为每个所述数据存储设备各自分配不同的初始亲和度包括:为所述主归置组的个数大于所述预期主归置组分布数与所述预期主归置组均衡度之和的所述数据存储设备分配第一初始亲和度;为所述主归置组的个数小于所述预期主归置组分布数与所述预期主归置组均衡度之和、并且大于所述预期主归置组分布数与所述预期主归置组均衡度之差的所述数据存储设备分配小于所述第一初始亲和度的第二初始亲和度;为所述主归置组的个数小于所述预期主归置组分布数与所述预期主归置组均衡度之差的所述数据存储设备分配小于所述第二初始亲和度的第三初始亲和度。
CN202011272834.XA 2020-11-13 2020-11-13 一种分布式存储系统的归置组均衡方法和装置 Active CN112306692B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011272834.XA CN112306692B (zh) 2020-11-13 2020-11-13 一种分布式存储系统的归置组均衡方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011272834.XA CN112306692B (zh) 2020-11-13 2020-11-13 一种分布式存储系统的归置组均衡方法和装置

Publications (2)

Publication Number Publication Date
CN112306692A CN112306692A (zh) 2021-02-02
CN112306692B true CN112306692B (zh) 2023-01-06

Family

ID=74334468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011272834.XA Active CN112306692B (zh) 2020-11-13 2020-11-13 一种分布式存储系统的归置组均衡方法和装置

Country Status (1)

Country Link
CN (1) CN112306692B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114461152A (zh) * 2022-04-12 2022-05-10 广东睿江云计算股份有限公司 ceph读写质量优化方法、装置、计算机设备及存储介质
CN117519992B (zh) * 2024-01-04 2024-04-16 中电云计算技术有限公司 一种基于crush算法的查表型负载均衡方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109343798A (zh) * 2018-09-25 2019-02-15 郑州云海信息技术有限公司 对分布式存储系统的主pg均衡调整的方法、装置及介质
CN111090390A (zh) * 2019-10-31 2020-05-01 平安科技(深圳)有限公司 分布式系统的存储分配方法、装置及计算机设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8666946B2 (en) * 2009-07-10 2014-03-04 Alcatel Lucent Incremental quantile tracking of multiple record types

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109343798A (zh) * 2018-09-25 2019-02-15 郑州云海信息技术有限公司 对分布式存储系统的主pg均衡调整的方法、装置及介质
CN111090390A (zh) * 2019-10-31 2020-05-01 平安科技(深圳)有限公司 分布式系统的存储分配方法、装置及计算机设备

Also Published As

Publication number Publication date
CN112306692A (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
RU2744585C2 (ru) Способ и аппаратура для записи служебных данных в цепочку блоков и способ для определения поднабора услуг
US11487618B2 (en) Data storage method, apparatus, and system
CN112306692B (zh) 一种分布式存储系统的归置组均衡方法和装置
WO2020000817A1 (zh) 一种归置组所属硬盘分配方法、系统、装置及存储介质
CN107622020B (zh) 一种数据存储方法、访问方法及装置
CN110737398A (zh) 协调访问操作的方法、设备和计算机程序产品
US10664458B2 (en) Database rebalancing method
US10452685B2 (en) Method and apparatus for replicating data
US20120233382A1 (en) Data storage apparatus and method for table management
CN111290710A (zh) 一种基于动态调整复制因子的云副本存储方法及系统
CN104702691A (zh) 分布式负载均衡方法和装置
CN111984729A (zh) 异构数据库数据同步方法、装置、介质和电子设备
US10254973B2 (en) Data management system and method for processing distributed data
CN109992196B (zh) 索引数据的存储方法及装置、存储系统
US8918555B1 (en) Adaptive and prioritized replication scheduling in storage clusters
CN111506254A (zh) 分布式存储系统及其管理方法、装置
Mense et al. Spread: An adaptive scheme for redundant and fair storage in dynamic heterogeneous storage systems
US20180183712A1 (en) Traffic control method and apparatus
CN107145303A (zh) 一种用于在分布式存储系统中执行文件写入的方法与设备
CN111124260B (zh) 管理独立盘冗余阵列的方法、电子设备和计算机程序产品
CN111694635A (zh) 一种服务质量控制方法及装置
CN113486040B (zh) 数据存储方法、装置、设备及介质
CN114265556B (zh) 一种数据存储方法及装置
CN115442388B (zh) 用于分布式存储集群利用率100%的扩容方法、装置及系统
CN111767525B (zh) 一种基于数据存储系统的数据权限调整方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant