一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于双存储池的放置组调整方法、系统、装置及存储介质与流程

2021-12-14 23:23:00 来源:中国专利 TAG:


1.本发明涉及分布式存储技术领域,更具体的说是涉及一种基于双存储池的放置组调整方法、系统、装置及存储介质。


背景技术:

2.在分布式存储系统中,存储的内容按照固定大小切割,这一块固定大小的数据称为一个对象,pg(placement group,放置组)就是多个对象的聚合,是一个逻辑上的概念,pg和对象之间通过一致性哈希算法对应起来,一个pg对应于多个对象。而每个pg与osd(object

based storage device,对象存储设备)的对应是通过数据分布算法对应起来的,一个pg对应于多个osd,osd可以简单理解为物理上的磁盘,一个osd上可以有多个pg,这样想要存储的内容就放置在了磁盘上。存储池就是pg的聚合。
3.在分布式存储场景下,通常在高速介质如ssd(solid state disk,固态电子存储阵列硬盘)上划分分区部署osd,用这些osd创建一个高速存储池,在低速介质hdd(hard disk drive,硬盘驱动器)上部署osd,用这些osd创建一个低速存储池,将这两个存储池进行绑定,所有从客户端来的数据请求都要经过这个高速存储池,然后由它决定后续逻辑是下发到高速存储池中处理,还是转发到低速存储池中处理。而这个转发的过程是由每个pg成员中的主进行决定的,同样只有主能承担读写的业务请求。pg成员中的主指的是在pg的成员osd中选择一个作为主osd承担业务读写,其他osd为从osd。这两个绑定的存储池之间存在一个pg的对应的关系,也就是高速池的某个pg转发请求时只能转发给它对应的低速池的pg,且只有pg的主有这种转发处理的功能。
4.但是,当存储集群压力达到一定程度时,如果两个对应pg的主不在同一个节点上,则需要通过网络才能传递过去,一旦网络达到瓶颈时就会限制转发的速度造成存储集群的性能达不到预期。


技术实现要素:

5.针对以上问题,本发明的目的在于提供一种基于双存储池的放置组调整方法、系统、装置及存储介质,能够使两个绑定的存储池的对应的放置组的主尽量在同一个物理节点上,减小了网络的压力,提高存储集群的性能,提高产品竞争力。
6.本发明为实现上述目的,通过以下技术方案实现:一种基于双存储池的放置组调整方法,包括:
7.根据池内放置组的数量将双存储池分为参照池和绑定池;
8.遍历访问绑定池内的放置组;
9.访问绑定池内的任一放置组时,首先获取当前访问的放置组pg1和参照池内对应的放置组pg2;然后,判断放置组pg1的主和放置组pg2的主是否在同一物理节点上;
10.若是,继续遍历访问绑定池内的放置组;
11.若否,采用遍历搜索机制在绑定池中搜索可替换的放置组pg3;
12.找到后,对放置组pg3与放置组pg2进行整体互换。
13.进一步,所述根据池内放置组的数量将双存储池分为参照池和绑定池包括:
14.获取两个存储池内放置组的数量;
15.将放置组的数量少的存储池作为参照池,另一个存储池作为绑定池。
16.进一步,所述获取当前放置组pg1和参照池内对应的放置组pg2包括:
17.获取当前的放置组,记为pg1,并获取放置组pg1的主所在的物理节点的ip地址,记为ip1;
18.获取参照池内的与放置组pg1对应的放置组,记为pg2,并获取放置组pg2的主所在的物理节点的ip地址,记为ip2。
19.进一步,所述判断放置组pg1和放置组pg2的主是否在同一物理节点上具体为:判断ip1是否与ip2相同。
20.进一步,所述采用遍历搜索机制在绑定池中搜索可替换的放置组pg3包括:在绑定池内顺序遍历放置组pg1之后的放置组,并在遍历时通过第一筛选机制筛选出候选放置组;
21.通过第二筛选机制在候选放置组中确定可替换的放置组pg3。
22.进一步,所述第一筛选机制包括:
23.判断放置组的主所在的物理节点的ip地址与ip2是否相同;
24.若否,继续遍历下一个放置组;
25.若是,判断放置组的主所在的物理节点的ip地址与参照池中对应的放置组的主所在的物理节点的ip地址是否相同;
26.若是,继续遍历下一个放置组;否则,当前放置组为候选放置组。
27.进一步,所述第二筛选机制包括:
28.若候选放置组在参照池中对应的放置组的主所在的物理节点的ip地址与ip1相同,则此候选放置组为可替换的放置组pg3;
29.若所有候选放置组在参照池中对应的放置组的主所在的物理节点的ip地址与ip1均不相同,则通过第一筛选机制筛选出的第一个候选放置组为可替换的放置组pg3。
30.相应的,本发明还公开了一种基于双存储池的放置组调整系统,包括:存储池识别单元,用于根据池内放置组的数量将双存储池分为参照池和绑定池;遍历单元,用于遍历访问绑定池内的放置组;
31.读取单元,用于获取当前访问的放置组pg1和参照池内对应的放置组pg2;
32.判断单元,用于判断放置组pg1的主和放置组pg2的主是否在同一物理节点上;搜索单元,用于采用遍历搜索机制在绑定池中搜索可替换的放置组pg3;
33.互换单元,用于对放置组pg3与放置组pg2进行整体互换。
34.相应的,本发明公开了一种基于双存储池的放置组调整装置,包括:
35.存储器,用于存储基于双存储池的放置组调整程序;
36.处理器,用于执行所述基于双存储池的放置组调整程序时实现如上文任一项所述基于双存储池的放置组调整方法的步骤。
37.相应的,本发明公开了一种可读存储介质,所述可读存储介质上存储有基于双存储池的放置组调整程序,所述基于双存储池的放置组调整程序被处理器执行时实现如上文任一项所述基于双存储池的放置组调整方法的步骤。
38.对比现有技术,本发明有益效果在于:本发明提供了一种基于双存储池的放置组调整方法、系统、装置及存储介质,以放置组数量较少的存储池作为参照池,以放置组数量较多的存储池作为绑定池,根据参照池改变绑定池的放置组的布局。具体为先获取参照池的放置组的主,再根据对应关系找到绑定池的放置组作为参照放置组,如果两个放置组的主不在同一个物理节点上,那么此放置组即为待调整的放置组。此时,在绑定池中找到一个放置组,此放置组的主与参照放置组的主在同一节点上的,将该放置组的成员与待调整的放置组成员整体互换。通过上述方法进行放置组的调整,即保证了放置组均衡不会被破坏,也能尽量使两个对应pg主在同一个物理节点上,从而减小了网络的压力,提高存储集群的性能,提高产品竞争力。
39.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
40.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
41.附图1是本发明的实施例一的方法流程图;
42.附图2是本发明的实施例二的第一流程示意图;
43.附图3是本发明的实施例二的第二流程示意图;
44.附图4是本发明的实施例三的系统结构图。
45.图中,1为存储池识别单元;2为遍历单元;3为读取单元;4为判断单元;5为搜索单元,6为互换单元。
具体实施方式
46.本发明的核心是提供一种基于双存储池的放置组调整方法,现有技术中,当存储集群压力达到一定程度时,在两个绑定的存储池中,如果两个对应放置组的主不在同一个节点上,则需要通过网络才能传递过去,一旦网络达到瓶颈时就会限制转发的速度造成存储集群的性能达不到预期。
47.而本发明提供的基于双存储池的放置组调整方法,首先,以放置组数量较少的存储池作为参照池,以放置组数量较多的存储池作为绑定池。然后,先获取参照池的放置组的主,再根据对应关系找到绑定池的放置组作为参照放置组,如果两个放置组的主不在同一个物理节点上,那么此放置组即为待调整的放置组。最后,在绑定池中找到一个放置组,此放置组的主与参照放置组的主在同一节点上的,将该放置组的成员与待调整的放置组成员整体互换。由此可见,本发明能够使两个绑定的存储池的对应的放置组的主尽量在同一个物理节点上,减小了网络的压力,提高存储集群的性能,提高产品竞争力。
48.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提
下所获得的所有其他实施例,都属于本发明保护的范围。
49.实施例一:
50.如图1所示,本实施例提供了一种基于双存储池的放置组调整方法,包括如下步骤:
51.s1:根据池内放置组的数量将双存储池分为参照池和绑定池。
52.首先,获取两个存储池内放置组的数量;然后,将放置组的数量少的存储池作为参照池,另一个存储池作为绑定池。
53.s2:遍历访问绑定池内的放置组,访问绑定池内的任一放置组时,首先获取当前访问的放置组pg1和参照池内对应的放置组pg2。
54.具体来说,获取当前的放置组,记为pg1,并获取放置组pg1的主所在的物理节点的ip地址,记为ip1;获取参照池内的与放置组pg1对应的放置组,记为pg2,并获取放置组pg2的主所在的物理节点的ip地址,记为ip2。
55.s3:判断放置组pg1的主和放置组pg2的主是否在同一物理节点上。若是,则转到步骤s2;若否,转到步骤s4。
56.若ip1是与ip2相同,则放置组pg1的主和放置组pg2的主在同一物理节点上;否则,放置组pg1的主和放置组pg2的主不在同一物理节点上。
57.s4:采用遍历搜索机制在绑定池中搜索可替换的放置组pg3。找到后,对放置组pg3与放置组pg2进行整体互换,互换完成后,转到步骤s2。
58.其中,在绑定池中搜索可替换的放置组pg3的过程具体为:
59.首先,在绑定池内顺序遍历放置组pg1之后的放置组,并在遍历时通过第一筛选机制筛选出候选放置组。通过第二筛选机制在候选放置组中确定可替换的放置组pg3。
60.第一筛选机制具体为:
61.判断放置组的主所在的物理节点的ip地址与ip2是否相同。若否,继续遍历下一个放置组;若是,则判断放置组的主所在的物理节点的ip地址与参照池中对应的放置组的主所在的物理节点的ip地址是否相同。若是,继续遍历下一个放置组;否则,当前放置组为候选放置组。
62.第二筛选机制是针对每个候选放置组进行的,具体包括:
63.首先,判断候选放置组在参照池中对应的放置组的主所在的物理节点的ip地址是否与ip1相同,若是,则此候选放置组为可替换的放置组pg3。如果根据此判断依据无法在候选放置组确定一个可替换的放置组pg3,则将通过第一筛选机制筛选出的第一个候选放置组作为可替换的放置组pg3。
64.本实施例提供了一种基于双存储池的放置组调整方法,首先,以放置组数量较少的存储池作为参照池,以放置组数量较多的存储池作为绑定池。然后,先获取参照池的放置组的主,再根据对应关系找到绑定池的放置组作为参照放置组,如果两个放置组的主不在同一个物理节点上,那么此放置组即为待调整的放置组。最后,在绑定池中找到一个放置组,此放置组的主与参照放置组的主在同一节点上的,将该放置组的成员与待调整的放置组成员整体互换。通过上述方法调整绑定池的放置组,即保证了放置组均衡不会被破坏,也能尽量使两个对应pg主在同一个物理节点上,从而减小了网络的压力,提高存储集群的性能,提高产品竞争力。
65.实施例二:
66.基于实施例一,如图2、图3所示本发明还公开了一种基于双存储池的放置组调整方法。其中,存储池1为参照池,存储池2为其绑定池。在存储池1中依次有放置组pg1.2、pg1.3、pg1.4,在存储池2与pg1.2、pg1.3、pg1.4对应的放置组依次为pg2.2、pg2.3、pg2.4。
67.如图2所示,遍历存储池2的放置组,首先,获得放置组pg2.2,pg2.2的主为39,所在节点为节点2。则在存储池1中,与pg2.2对应放置组为pg1.2,pg1.2的主为31,所在节点为节点1。由于pg2.2和pg1.2的主所在的节点不同,继续往后遍历存储池2的放置组pg2.3,pg2.3的主和pg1.2的主所在的节点均为节点1,满足要求,则把pg2.3选为候选放置组。但是,由于pg2.3在存储池1对应的放置组pg1.3的主在节点3上,所以如果让pg2.2和pg2.3互换成员,那么当存储池2遍历到pg2.3的时候由于存储池1中对应的放置组pg1.3的主在节点3上,还需要进行替换,因此,pg2.3不是最理想的候选放置组,暂不进行替换。
68.此时,需要继续遍历筛选其他的候选放置组进行评估,如图3所示,继续向后遍历存储池2的放置组pg2.4,pg2.4的主在节点1上,与pg1.2的主31所在的节点相同,也满足要求,即pg2.4也为候选放置组。首先,获取pg2.4在存储池1中对应的放置组pg1.4,pg1.4的主在节点2上。如果对pg2.4和pg2.1的成员进行互换,互换后,pg2.4的主所在的节点为节点2,与其对应的pg1.4的主也在节点2上,那么当存储池2遍历到pg2.4的时候也就不需要进行替换了。因此,pg2.4为最理想的候选放置组,将pg2.4作为可替换放置组,与pg2.2进行成员互换。
69.另外,如果pg2.4以及存储池2中后续的放置组即使符合候选放置组的要求,但是均无法满足最理想的候选放置组的要求,则将pg2.3与pg2.2进行成员互换。并按照上述步骤对存储池2中的其他放置组进行调整。
70.实施例三:
71.基于实施例一,如图4所示,本实施例提供了一种基于双存储池的放置组调整系统,包括:存储池识别单元1、遍历单元2、读取单元3、判断单元4、搜索单元5和互换单元6。
72.存储池识别单元1,用于根据池内放置组的数量将双存储池分为参照池和绑定池。存储池识别单元1具体用于:获取两个存储池内放置组的数量;将放置组的数量少的存储池作为参照池,另一个存储池作为绑定池。
73.遍历单元2,用于遍历访问绑定池内的放置组。
74.读取单元3,用于获取当前访问的放置组pg1和参照池内对应的放置组pg2。读取单元3具体用于:获取当前的放置组,记为pg1,并获取放置组pg1的主所在的物理节点的ip地址,记为ip1;获取参照池内的与放置组pg1对应的放置组,记为pg2,并获取放置组pg2的主所在的物理节点的ip地址,记为ip2。
75.判断单元4,用于判断放置组pg1的主和放置组pg2的主是否在同一物理节点上。即判断ip1是否与ip2相同。
76.搜索单元5,用于采用遍历搜索机制在绑定池中搜索可替换的放置组pg3。搜索单元5具体用于:在绑定池内顺序遍历放置组pg1之后的放置组,并在遍历时通过第一筛选机制筛选出候选放置组;通过第二筛选机制在候选放置组中确定可替换的放置组pg3。
77.互换单元6,用于对放置组pg3与放置组pg2进行整体互换。
78.本实施例提供了一种基于双存储池的放置组调整系统,以放置组数量较少的存储
池作为参照池,以放置组数量较多的存储池作为绑定池,根据参照池改变绑定池的放置组的布局。具体为先获取参照池的放置组的主,再根据对应关系找到绑定池的放置组作为参照放置组,如果两个放置组的主不在同一个物理节点上,那么此放置组即为待调整的放置组。此时,在绑定池中找到一个放置组,此放置组的主与参照放置组的主在同一节点上的,将该放置组的成员与待调整的放置组成员整体互换。通过本系统进行放置组的调整,即保证了放置组均衡不会被破坏,也能尽量使两个对应pg主在同一个物理节点上,从而减小了网络的压力,提高存储集群的性能,提高产品竞争力。
79.实施例四:
80.本实施例公开了一种基于双存储池的放置组调整装置,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的基于双存储池的放置组调整程序时实现以下步骤:
81.1、根据池内放置组的数量将双存储池分为参照池和绑定池。
82.2、遍历访问绑定池内的放置组。访问绑定池内的任一放置组时,首先获取当前访问的放置组pg1和参照池内对应的放置组pg2;然后,判断放置组pg1的主和放置组pg2的主是否在同一物理节点上。若是,继续遍历访问绑定池内的放置组;若否,采用遍历搜索机制在绑定池中搜索可替换的放置组pg3。
83.3、找到后,对放置组pg3与放置组pg2进行整体互换。
84.进一步的,本实施例中的基于双存储池的放置组调整装置,还可以包括:
85.输入接口,用于获取外界导入的基于双存储池的放置组调整程序,并将获取到的基于双存储池的放置组调整程序保存至所述存储器中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器中,以便处理器利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口具体可以包括但不限于usb接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
86.输出接口,用于将处理器产生的各种数据输出至与其相连的终端设备,以便于与输出接口相连的其他终端设备能够获取到处理器产生的各种数据。本实施例中,所述输出接口具体可以包括但不限于usb接口、串行接口等。
87.通讯单元,用于在基于双存储池的放置组调整装置和外部服务器之间建立远程通讯连接,以便于基于双存储池的放置组调整装置能够将镜像文件挂载到外部服务器中。本实施例中,通讯单元具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。
88.键盘,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
89.显示器,用于运行服务器供电线路短路定位过程的相关信息进行实时显示。
90.鼠标,可以用于协助用户输入数据并简化用户的操作。
91.本实施例提供了一种基于双存储池的放置组调整装置,能够使两个绑定的存储池的对应的放置组的主尽量在同一个物理节点上,减小了网络的压力,提高存储集群的性能,提高产品竞争力。
92.实施例五:
93.本实施例还公开了一种可读存储介质,这里所说的可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动硬
盘、cd

rom或技术领域内所公知的任意其他形式的存储介质。可读存储介质中存储有基于双存储池的放置组调整程序,所述基于双存储池的放置组调整程序被处理器执行时实现以下步骤:
94.1、根据池内放置组的数量将双存储池分为参照池和绑定池。
95.2、遍历访问绑定池内的放置组。访问绑定池内的任一放置组时,首先获取当前访问的放置组pg1和参照池内对应的放置组pg2;然后,判断放置组pg1的主和放置组pg2的主是否在同一物理节点上。若是,继续遍历访问绑定池内的放置组;若否,采用遍历搜索机制在绑定池中搜索可替换的放置组pg3。
96.3、找到后,对放置组pg3与放置组pg2进行整体互换。
97.本实施例提供了一种可读存储介质,首先,以放置组数量较少的存储池作为参照池,以放置组数量较多的存储池作为绑定池。然后,先获取参照池的放置组的主,再根据对应关系找到绑定池的放置组作为参照放置组,如果两个放置组的主不在同一个物理节点上,那么此放置组即为待调整的放置组。最后,在绑定池中找到一个放置组,此放置组的主与参照放置组的主在同一节点上的,将该放置组的成员与待调整的放置组成员整体互换。
98.综上所述,本发明保证了放置组均衡不会被破坏,也能尽量使两个对应pg主在同一个物理节点上,从而减小了网络的压力,提高存储集群的性能,提高产品竞争力。
99.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
100.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
101.在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
102.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
103.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
104.同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以
是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
105.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的存储介质中。
106.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
107.以上对本发明所提供的基于双存储池的放置组调整方法、系统、装置及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献