一种对象备份方法及装置与流程

未命名 07-14 阅读:98 评论:0


1.本技术涉及对象存储领域,尤其涉及一种对象备份方法及装置。


背景技术:

2.备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。例如当集群容量的使用率达到某个阈值(如85%)之后,会对集群的对象或者其他内容进行备份,以便空出空间,方便业务数据的写入。
3.在现有技术中,在现有技术中,一般是针对某个目录或者存储桶里面的对象进行备份,由于桶里面的对象不是均匀分布在集群的节点上的,导致即使在备份完成之后,某些节点也只能提供10%的存储能力,,只能读数据,而不能写数据了,使得存储集群节点间的存储容量负载不均衡,进而使得集群数据并发写入速度效率低下。


技术实现要素:

4.有鉴于此,本技术提供了一种对象备份方法及装置,使得存储集群节点间负载均衡,进而提升集群数据并发写入速度效率。
5.第一方面,本技术提供了一种对象备份方法,所述方法包括:
6.从集群中获取对象信息;所述对象信息包括各个对象所在的磁盘位置信息;
7.基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;
8.遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的;
9.根据所述目标备份对象列表进行备份。
10.可选地,所述对象列表包括大对象列表和小对象列表;
11.所述基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表包括:
12.基于所述各个对象所在的磁盘位置信息,按照对象大小,确定各个对象在所述集群的排序;
13.当所述集群中存储对象的个数小于第一阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前x%个,作为大对象列表,将所述集群中排序为后x%个,作为小对象列表;
14.当所述集群中存储对象的个数小于第二阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前y%个,作为大对象列表,将所述集群中排序为后y%个,作为小对象列表;
15.当所述集群中存储对象的个数小于第三阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前z%个,作为大对象列表,将所述集群中排序为后z%个,作为小对象列表;
16.其中,x,y,z为大于1小于100的整数,且x》y》z;;所述第二阈值的最小值大于所述
第一阈值的最大值,所述第三阈值的最小值大于所述第二阈值的最大值。
17.可选地,在所述从集群中获取对象信息之前,所述方法还包括:
18.扫描所述集群,若所述集群的存储使用率达到预设阈值,则从所述集群中获取对象信息。
19.可选地,所述方法还包括:
20.获取所述集群的磁盘个数;
21.根据所述集群的目标备份量,以及所述集群的磁盘个数,确定每个磁盘的目标备份量;其中,所述集群的目标备份量是当所述集群的存储使用率达到预设阈值时,根据预先设定的备份比例确定的;
22.所述遍历所述对象列表,按照预设的均衡算法,确定所述目标备份对象列表包括:
23.遍历所述大对象列表,并获取所述大对象列表中各个对象所在磁盘的位置列表,以及所述大对象列表中各个对象所在磁盘的个数;
24.遍历所述大对象列表中各个对象所在磁盘的位置列表,若第一当前对象所在的磁盘的存储对象与第一当前对象所在磁盘的个数之间的第一比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第一比值之间的第一差值,确定第一当前对象所在磁盘需要备份量;将第一当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第一当前对象为所述大对象列表中的对象;
25.遍历所述小对象列表,并获取所述小对象列表中各个对象所在磁盘的位置列表,以及所述小对象列表中各个对象所在磁盘的个数;
26.遍历所述小对象列表中各个对象所在磁盘的位置列表,若第二当前对象所在的磁盘的存储对象与第二当前对象所在磁盘的个数之间的第二比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第二比值之间的第二差值,确定第二当前对象所在磁盘需要备份量;将第二当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第二当前对象为所述大对象列表中的对象。
27.可选地,所述方法还包括:设置最小均衡备份比例,所述最小备份比例用于确定所述集群中需要备份磁盘的最少备份的对象。
28.可选地,若目标磁盘的需要备份量大于均衡值时,所述均衡值为每个磁盘的目标备份量与所述最小均衡备份比例之间的乘积值,所述目标磁盘为所述集群中需要备份磁盘,所述方法还包括:
29.遍历所述集群中剩余对象,并获取所述剩余对象中各个对象所在磁盘的位置列表,以及所述剩余对象中各个对象所在磁盘的个数;;所述剩余对象为所述集群中除大对象列表和小对象列表之外的对象;
30.遍历所述剩余对象中各个对象所在磁盘的位置列表,若第三当前对象所在的磁盘的存储对象与第三当前对象所在磁盘的个数之间的第三比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第三比值之间的第三差值,确定第三当前对象所在磁盘需要备份量;将第三当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第三当前对象为所述剩余对象中的对象。
31.第二方面,本技术实施例提供了一种对象备份装置,所述装置包括:
32.获取模块,用于从集群中获取对象信息;所述对象信息包括各个对象所在的磁盘
位置信息;
33.确定模块,用于基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;
34.遍历模块,用于遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的;
35.备份模块,用于根据所述目标备份对象列表进行备份。
36.可选地,所述对象列表包括大对象列表和小对象列表;
37.所述确定模块,具体用于基于所述各个对象所在的磁盘位置信息,按照对象大小,确定各个对象在所述集群的排序;
38.当所述集群中存储对象的个数小于第一阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前x%个,作为大对象列表,将所述集群中排序为后x%个,作为小对象列表;
39.当所述集群中存储对象的个数小于第二阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前y%个,作为大对象列表,将所述集群中排序为后y%个,作为小对象列表;
40.当所述集群中存储对象的个数小于第三阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前z%个,作为大对象列表,将所述集群中排序为后z%个,作为小对象列表;
41.其中,x,y,z为大于1小于100的整数,且x》y》z;;所述第二阈值的最小值大于所述第一阈值的最大值,所述第三阈值的最小值大于所述第二阈值的最大值。
42.可选地,在所述从集群中获取对象信息之前,所述方法还包括:
43.扫描模块,用于扫描所述集群,若所述集群的存储使用率达到预设阈值,则从所述集群中获取对象信息。
44.第三方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以上任意一项所述方法。
45.上述技术方案具有如下有益效果:
46.本技术提供了一种对象备份方法及装置。在执行所述方法时,首先从集群中获取对象信息;其中,对象信息包括各个对象所在的磁盘位置信息;接着基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;然后遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的;最后根据所述目标备份对象列表进行备份。这样一来,通过遍历集群中的对象列表,按照预设的均衡算法,对集群中的对象进行备份,使得存储集群节点间负载均衡,进而提升集群数据并发写入速度效率。
附图说明
47.为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这
些附图获得其他的附图。
48.图1为本技术实施例提供的对象备份方法的一种方法流程图;
49.图2为本技术实施例提供的对象备份装置的一种结构示意图。
具体实施方式
50.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.本技术实施例相关背景技术介绍如下:
52.存储桶(bucket):是对象的载体,可理解为存放对象的“容器”,且该“容器”无容量上限。对象以扁平化结构存放在存储桶中,无文件夹和目录的概念,用户可选择将对象存放到某个存储桶中。
53.对象存储:将对象备份到磁带库之后,元数据还保留在对象存储中,真实的真是的对象数据迁移到磁带库;对用户来说,当访问这个备份对象时候,对象存储需要将这个备份对象从磁带库中召回。
54.磁带库:物理磁带库是一种存储设备,包含一个或多个驱动器、许多插槽、一个条形码阅读器以及一个用于装载磁带的自动机械臂。磁带库是基于磁带的备份系统,像自动加载磁带机一样提供自动备份和数据恢复功能,可以实现连续备份、自动搜索磁带,也可以在驱动管理软件控制下实现智能恢复、实时监控和统计,整个数据存储备份过程完全摆脱了人工干涉。缺点是读取速度较慢,因为常常涉及到磁带的机械操作,一般用于冷备。
55.分布式存储:是一种数据存储技术,通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。在大数据环境下,元数据的体量也非常大,元数据的存取性能是整个分布式文件系统性能的关键。常见的元数据管理可以分为集中式和分布式元数据管理架构。
56.为便于理解本技术提供的技术方案,下面将先对本技术涉及的背景技术进行说明。
57.在现有技术中,不论是备份还是归档,一般是针对某个目录或者存储桶里面的对象进行的,将桶里面的全部对象备份到磁带库中。
58.这种备份因为下面两个原因会导致存储集群的节点存储不是均衡的:
59.1)对象存储集群经过长时间增加和删除,集群里面的存储节点大概率不是均衡的。
60.2)桶里面的对象,也不是均匀分布在存储集群的节点上的。
61.导致即使在备份完成之后,某些节点也只能提供10%的存储能力,只能读数据,而不能写数据了,使得存储集群节点间的存储容量负载不均衡,进而使得集群数据并发写入速度效率低下。
62.为了克服上述技术问题,本技术实施例提供了一种对象备份方法,该方法可以由一种对象备份装置来执行,该装置可以由软件和/或硬件的方式实现,并一般可集成于服务器或终端设备中。
63.请参见图1,图1为本技术实施例提供的对象备份方法的一种方法流程图,该方法可以包括:
64.步骤s101:从集群中获取对象信息;所述对象信息包括各个对象所在的磁盘位置信息。
65.本技术实施例中,从待备份的集群中获取各个节点上的对象信息,其中,对象信息包括各个对象所在的磁盘位置信息,可以理解的是,由于一个对象会均匀保存在多个磁盘,因此该磁盘位置信息用于确定各个对象存储的位置信息。
66.在一种可能实现的方式中,在所述从集群中获取对象信息之前,所述方法还包括:
67.扫描所述集群,若所述集群的存储使用率达到预设阈值,则从所述集群中获取对象信息。
68.具体地,对象备份装置定时扫描集群,当集群的存储使用率达到预设阈值时,则触发备份,将对象备份至磁带库。其中,该阈值可以根据实际情况进行设定,在此不做限定。
69.进一步地,可以根据实际情况设定备份比例,例如:存储使用率达到预先设置的使用率上限(如90%),则触发备份,将对象备份至磁带库,备份的备份比例可以由管理员设置,如配置20%,则需要将集群中20%的对象备份至磁带库。
70.步骤s102:基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表。
71.本技术实施例中,该对象列表用于确定集群中的所有对象,便于进行后续操作。
72.在一种可能实现的方式中,所述对象列表包括大对象列表和小对象列表;
73.所述基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表包括:
74.基于所述各个对象所在的磁盘位置信息,按照对象大小,确定各个对象在所述集群的排序;
75.当所述集群中存储对象的个数小于第一阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前x%个,作为大对象列表,将所述集群中排序为后x%个,作为小对象列表;
76.当所述集群中存储对象的个数小于第二阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前y%个,作为大对象列表,将所述集群中排序为后y%个,作为小对象列表;
77.当所述集群中存储对象的个数小于第三阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前z%个,作为大对象列表,将所述集群中排序为后z%个,作为小对象列表;
78.示例性地:大对象列表cnt-large用oli(1《=i《=cnt-large)表示,小对象列表cnt-small用osi(1《=i《=cnt-small)表示;i为下标。
79.当所述集群中存储对象的个数小于第一阈值且所述各个对象在所述集群的排序为从大到小,则cnt-large为所述集群中排序前x%对象,cnt-small为所述集群中排序后x%对象。
80.当所述集群中存储对象的个数小于第二阈值且所述各个对象在所述集群的排序为从大到小,则cnt-large为所述集群中排序前y%对象,cnt-small为所述集群中排序后y%对象。
81.当所述集群中存储对象的个数小于第三阈值且所述各个对象在所述集群的排序
为从大到小,则cnt-large为所述集群中排序前z%对象,cnt-small为所述集群中排序后z%对象。
82.需要说明的是,x,y,z为大于1小于100的整数,且x》y》z;所述第二阈值的最小值大于所述第一阈值的最大值,所述第三阈值的最小值大于所述第二阈值的最大值。x,y,z,第一阈值,第二阈值,第三阈值均可以根据实际情况进行设定,在此不做限制。
83.步骤s103:遍历所述对象列表,按照预设的均衡算法,,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的。
84.本技术实施例中,通过遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表,使得存储集群节点间负载均衡。
85.在一种可能实现的方法中,所述方法还包括,获取所述集群的磁盘个数;
86.根据所述集群的目标备份量,以及所述集群的磁盘个数,确定每个磁盘的目标备份量;其中,所述集群的目标备份量是当所述集群的存储使用率达到预设阈值时,根据预先设定的备份比例确定的。集群的目标备份量=集群容量乘以预先设定的备份比例。
87.例如:存储使用率达到预先设置的使用率上限(如90%),则触发备份,将对象备份至磁带库,备份的备份比例可以由管理员设置,如配置20%,则需要将集群中20%的对象备份至磁带库。
88.在此基础上,步骤s103具体包括:遍历所述大对象列表,并获取所述大对象列表中各个对象所在磁盘的位置列表,以及所述大对象列表中各个对象所在磁盘的个数;
89.遍历所述大对象列表中各个对象所在磁盘的位置列表,若第一当前对象所在的磁盘的存储对象与第一当前对象所在磁盘的个数之间的第一比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第一比值之间的第一差值,确定第一当前对象所在磁盘需要备份量;将第一当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第一当前对象为所述大对象列表中的对象;
90.需要说明的是,循环执行遍历所述大对象列表中各个对象所在磁盘的位置列表,直至大对象列表中各个对象所在的磁盘需要备份量计算完成。
91.遍历所述小对象列表,并获取所述小对象列表中各个对象所在磁盘的位置列表,以及所述小对象列表中各个对象所在磁盘的个数;
92.遍历所述小对象列表中各个对象所在磁盘的位置列表,若第二当前对象所在的磁盘的存储对象与第二当前对象所在磁盘的个数之间的第二比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第二比值之间的第二差值,确定第二当前对象所在磁盘需要备份量;将第二当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第二当前对象为所述大对象列表中的对象。
93.需要说明的是,循环执行遍历所述小对象列表中各个对象所在磁盘的位置列表,直至小对象列表中各个对象所在的磁盘需要备份量计算完成。
94.示例性地:以bs为集群的目标备份量,dc为集群的磁盘个数,dsi为每个磁盘的目标备份量,bo为目标备份对象列表为例,进行详细说明:
95.遍历所述大对象列表oli,并获取所述大对象列表中各个对象所在磁盘的位置列表ll,以及所述大对象列表中各个对象所在磁盘的个数lc;
96.遍历所述大对象列表中各个对象所在磁盘的位置列表ll,若(第一当前对象所在的磁盘的存储对象/第一当前对象所在磁盘的个数)《=dsi,则第一当前对象所在磁盘需要备份量为dsi-(第一当前对象所在的磁盘的存储对象/第一当前对象所在磁盘的个数),同时将第一当前对象所在磁盘需要备份量加入至目标备份对象列表bo中,所述第一当前对象为所述大对象列表中的对象。
97.需要说明的是,循环执行遍历所述大对象列表中各个对象所在磁盘的位置列表ll,直至大对象列表中各个对象所在的磁盘需要备份量计算完成。
98.遍历所述小对象列表osi,并获取所述小对象列表中各个对象所在磁盘的位置列表ls,以及所述大对象列表中各个对象所在磁盘的个数lcs;
99.遍历所述小对象列表中各个对象所在磁盘的位置列表ls,若(第二当前对象所在的磁盘的存储对象/第二当前对象所在磁盘的个数)《=dsi,则第二当前对象所在磁盘需要备份量为dsi-(第二当前对象所在的磁盘的存储对象/第二当前对象所在磁盘的个数),同时将第二当前对象所在磁盘需要备份量加入至目标备份对象列表bo中,所述第二当前对象为所述小对象列表中的对象。
100.需要说明的是,循环执行遍历所述小对象列表中各个对象所在磁盘的位置列表ls,直至小对象列表中各个对象所在的磁盘需要备份量计算完成。
101.可见,本技术实施例中通过均衡算法计算集群中大对象列表和小对象列表的各个对象所在的磁盘需要的备份量,使得存储集群节点间负载均衡,而且,进而提升集群数据并发写入速度效率,提高分布式对象存储系统的读写能力。
102.更进一步地,在一种可能的实现方式中,所述方法还包括:设置最小均衡备份比例,所述最小备份比例用于确定所述集群中需要备份磁盘的最少备份的对象。
103.需要说明的是,最小均衡备份比例可以根据实际情况进行设定,在此,本技术不做限定。
104.本技术实施例中,通过设置一个最小的均衡备份比率,意思为每个磁盘最少需要备份多大的对象(每个磁盘最少需要备份的大小)如80%,即dsi*0.8,这样一来,使得每个磁盘之间的存储差值缩小,进而使得存储集群节点间负载均衡,进而提升集群数据并发写入速度效率。
105.在一种可能的实现方式中,当遍历完大对象列表中各个对象所在磁盘需要备份量和小对象列表中各个对象所在磁盘需要备份量后,若目标磁盘的需要备份量大于均衡值时,所述均衡值为每个磁盘的目标备份量与所述最小均衡备份比例之间的乘积值,所述目标磁盘为所述集群中需要备份磁盘,所述方法还包括:遍历所述集群中剩余对象,并获取所述剩余对象中各个对象所在磁盘的位置列表,以及所述剩余对象中各个对象所在磁盘的个数;所述剩余对象为所述集群中除大对象列表和小对象列表之外的对象;
106.遍历所述剩余对象中各个对象所在磁盘的位置列表,若第三当前对象所在的磁盘的存储对象与第三当前对象所在磁盘的个数之间的第三比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第三比值之间的第三差值,确定第三当前对象所在磁盘需要备份量;将第三当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第三当前对象为所述剩余对象中的对象。
107.示例性地:判断所述集群中需要备份磁盘的需要备份量是否大于均衡值,所述均
衡值为每个磁盘的目标备份量与所述最小均衡备份比例之间的乘积值,即当集群中需要备份磁盘的需要备份量》(bs/dc)*最小均衡备份比例时,遍历集群中剩余对象,并获取所述剩余对象中各个对象所在磁盘的位置列表,以及所述剩余对象中各个对象所在磁盘的个数;所述剩余对象为所述集群中除大对象列表和小对象列表之外的对象;
108.遍历所述剩余对象中各个对象所在磁盘的位置列表,若(第三当前对象所在的磁盘的存储对象/第三当前对象所在磁盘的个数)《=dsi,则第三当前对象所在磁盘需要备份量为dsi-(第三当前对象所在的磁盘的存储对象/第三当前对象所在磁盘的个数),同时将第三当前对象所在磁盘需要备份量加入至目标备份对象列表bo中,所述第三当前对象为所述小对象列表中的对象。
109.需要说明的是,循环执行遍历所述剩余对象中各个对象所在磁盘的位置列表ls,直至剩余对象中各个对象所在的磁盘需要备份量计算完成。
110.可见,本技术实施例中通过遍历剩余对象中各个对象所在磁盘需要的备份量,这样一来,使得每个磁盘之间的存储差值缩小,进而使得存储集群节点间负载均衡,进而提升集群数据并发写入速度效率。
111.步骤s104:根据所述目标备份对象列表进行备份。
112.具体地,通过步骤s103确定目标备份对象列表后,根据所述目标备份对象列表,将目标备份对象列表备份至磁带。
113.从上述技术方案可以看出,本技术首先从集群中获取对象信息;其中,对象信息包括各个对象所在的磁盘位置信息;接着基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;然后遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的;最后根据所述目标备份对象列表进行备份。这样一来,通过遍历集群中的对象列表,按照预设的均衡算法,对集群中的对象进行备份,使得存储集群节点间负载均衡,进而提升集群数据并发写入速度效率。
114.对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
115.以上为本技术实施例提供一种对象备份方法的一些具体实现方式,基于此,本技术还提供了对应的装置。下面将从功能模块化的角度对本技术实施例提供的装置进行介绍。
116.参见图2所示的一种对象备份装置的结构示意图,该装置可以包括获取模块100、确定模块200、遍历模块300、备份模块400。
117.获取模块100,用于从集群中获取对象信息;所述对象信息包括各个对象所在的磁盘位置信息;
118.确定模块200,用于基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;
119.遍历模块300,用于遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个
数生成的;
120.备份模块400,用于根据所述目标备份对象列表进行备份。
121.可选地,所述对象列表包括大对象列表和小对象列表;
122.所述确定模块,具体用于基于所述各个对象所在的磁盘位置信息,按照对象大小,确定各个对象在所述集群的排序;
123.当所述集群中存储对象的个数小于第一阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前x%个,作为大对象列表,将所述集群中排序为后x%个,作为小对象列表;
124.当所述集群中存储对象的个数小于第二阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前y%个,作为大对象列表,将所述集群中排序为后y%个,作为小对象列表;
125.当所述集群中存储对象的个数小于第三阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前z%个,作为大对象列表,将所述集群中排序为后z%个,作为小对象列表;
126.其中,x,y,z为大于1小于100的整数,且x》y》z;;所述第二阈值的最小值大于所述第一阈值的最大值,所述第三阈值的最小值大于所述第二阈值的最大值。
127.可选地,在所述从集群中获取对象信息之前,所述方法还包括:
128.扫描模块,用于扫描所述集群,若所述集群的存储使用率达到预设阈值,则从所述集群中获取对象信息。
129.从上述技术方案可以看出,本技术首先从集群中获取对象信息;其中,对象信息包括各个对象所在的磁盘位置信息;接着基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;然后遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的;最后根据所述目标备份对象列表进行备份。这样一来,通过遍历集群中的对象列表,按照预设的均衡算法,对集群中的对象进行备份,使得存储集群节点间负载均衡,进而提升集群数据并发写入速度效率。
130.本技术实施例还提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述实施例中所述的一种对象备份方法。
131.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
132.本领域技术人员可以理解,图所示的流程图仅是本技术的实施方式可以在其中得以实现的一个示例,本技术实施方式的适用范围不受到该流程图任何方面的限制。
133.在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
134.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
135.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种对象备份方法,其特征在于,所述方法包括:从集群中获取对象信息;所述对象信息包括各个对象所在的磁盘位置信息;基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的;根据所述目标备份对象列表进行备份。2.根据权利要求1所述的方法,其特征在于,所述对象列表包括大对象列表和小对象列表;所述基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表包括:基于所述各个对象所在的磁盘位置信息,按照对象大小,确定各个对象在所述集群的排序;当所述集群中存储对象的个数小于第一阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前x%个,作为大对象列表,将所述集群中排序为后x%个,作为小对象列表;当所述集群中存储对象的个数小于第二阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前y%个,作为大对象列表,将所述集群中排序为后y%个,作为小对象列表;当所述集群中存储对象的个数小于第三阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前z%个,作为大对象列表,将所述集群中排序为后z%个,作为小对象列表;其中,x,y,z为大于1小于100的整数,且x>y>z;;所述第二阈值的最小值大于所述第一阈值的最大值,所述第三阈值的最小值大于所述第二阈值的最大值。3.根据权利要求1所述的方法,其特征在于,在所述从集群中获取对象信息之前,所述方法还包括:扫描所述集群,若所述集群的存储使用率达到预设阈值,则从所述集群中获取对象信息。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:获取所述集群的磁盘个数;根据所述集群的目标备份量,以及所述集群的磁盘个数,确定每个磁盘的目标备份量;其中,所述集群的目标备份量是当所述集群的存储使用率达到预设阈值时,根据预先设定的备份比例确定的;所述遍历所述对象列表,按照预设的均衡算法,确定所述目标备份对象列表包括:遍历所述大对象列表,并获取所述大对象列表中各个对象所在磁盘的位置列表,以及所述大对象列表中各个对象所在磁盘的个数;遍历所述大对象列表中各个对象所在磁盘的位置列表,若第一当前对象所在的磁盘的存储对象与第一当前对象所在磁盘的个数之间的第一比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第一比值之间的第一差值,确定第一当前对象所在磁盘需要备份量;将第一当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第一当前对象为所述大对象列表中的对象;
遍历所述小对象列表,并获取所述小对象列表中各个对象所在磁盘的位置列表,以及所述小对象列表中各个对象所在磁盘的个数;遍历所述小对象列表中各个对象所在磁盘的位置列表,若第二当前对象所在的磁盘的存储对象与第二当前对象所在磁盘的个数之间的第二比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第二比值之间的第二差值,确定第二当前对象所在磁盘需要备份量;将第二当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第二当前对象为所述大对象列表中的对象。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:设置最小均衡备份比例,所述最小备份比例用于确定所述集群中需要备份磁盘的最少备份的对象。6.根据权利要求5所述的方法,其特征在于,若目标磁盘的需要备份量大于均衡值时,所述均衡值为每个磁盘的目标备份量与所述最小均衡备份比例之间的乘积值,所述目标磁盘为所述集群中需要备份磁盘,所述方法还包括:遍历所述集群中剩余对象,并获取所述剩余对象中各个对象所在磁盘的位置列表,以及所述剩余对象中各个对象所在磁盘的个数;;所述剩余对象为所述集群中除大对象列表和小对象列表之外的对象;遍历所述剩余对象中各个对象所在磁盘的位置列表,若第三当前对象所在的磁盘的存储对象与第三当前对象所在磁盘的个数之间的第三比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第三比值之间的第三差值,确定第三当前对象所在磁盘需要备份量;将第三当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第三当前对象为所述剩余对象中的对象。7.一种对象备份装置,其特征在于,所述装置包括:获取模块,用于从集群中获取对象信息;所述对象信息包括各个对象所在的磁盘位置信息;确定模块,用于基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;遍历模块,用于遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的;备份模块,用于根据所述目标备份对象列表进行备份。8.根据权利要求7所述的装置,其特征在于,所述对象列表包括大对象列表和小对象列表;所述确定模块,具体用于基于所述各个对象所在的磁盘位置信息,按照对象大小,确定各个对象在所述集群的排序;当所述集群中存储对象的个数小于第一阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前x%个,作为大对象列表,将所述集群中排序为后x%个,作为小对象列表;当所述集群中存储对象的个数小于第二阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前y%个,作为大对象列表,将所述集群中排序为后y%个,作为小对象列表;当所述集群中存储对象的个数小于第三阈值且所述各个对象在所述集群的排序为从
大到小,将所述集群中排序为前z%个,作为大对象列表,将所述集群中排序为后z%个,作为小对象列表;其中,x,y,z为大于1小于100的整数,且x>y>z;;所述第二阈值的最小值大于所述第一阈值的最大值,所述第三阈值的最小值大于所述第二阈值的最大值。9.根据权利要求8所述的装置,其特征在于,在所述从集群中获取对象信息之前,所述方法还包括:扫描模块,用于扫描所述集群,若所述集群的存储使用率达到预设阈值,则从所述集群中获取对象信息。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的方法。

技术总结
本申请提供了一种对象备份方法及装置。在执行该方法时,首先从集群中获取对象信息;其中,对象信息包括各个对象所在的磁盘位置信息;接着基于各个对象所在的磁盘位置信息,确定集群中的对象列表;然后遍历对象列表,按照预设的均衡算法,确定目标备份对象列表;预设的均衡算法是基于各个对象所在的磁盘位置信息和集群的磁盘个数生成的;最后根据目标备份对象列表进行备份。这样一来,通过遍历集群中的对象列表,按照预设的均衡算法,对集群中的对象进行备份,使得存储集群节点间负载均衡,进而提升集群数据并发写入速度效率。进而提升集群数据并发写入速度效率。进而提升集群数据并发写入速度效率。


技术研发人员:黄梦龙 李云龙 陈亮 王进波
受保护的技术使用者:湖南快乐阳光互动娱乐传媒有限公司
技术研发日:2023.03.10
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐