CN116414624A - 一种对象备份方法及装置 - Google Patents

一种对象备份方法及装置 Download PDF

Info

Publication number
CN116414624A
CN116414624A CN202310231068.XA CN202310231068A CN116414624A CN 116414624 A CN116414624 A CN 116414624A CN 202310231068 A CN202310231068 A CN 202310231068A CN 116414624 A CN116414624 A CN 116414624A
Authority
CN
China
Prior art keywords
cluster
objects
list
disk
backup
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.)
Pending
Application number
CN202310231068.XA
Other languages
English (en)
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.)
Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
Original Assignee
Hunan Happly Sunshine Interactive Entertainment Media 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 Hunan Happly Sunshine Interactive Entertainment Media Co Ltd filed Critical Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
Priority to CN202310231068.XA priority Critical patent/CN116414624A/zh
Publication of CN116414624A publication Critical patent/CN116414624A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

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

Description

一种对象备份方法及装置
技术领域
本申请涉及对象存储领域,尤其涉及一种对象备份方法及装置。
背景技术
备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。例如当集群容量的使用率达到某个阈值(如85%)之后,会对集群的对象或者其他内容进行备份,以便空出空间,方便业务数据的写入。
在现有技术中,在现有技术中,一般是针对某个目录或者存储桶里面的对象进行备份,由于桶里面的对象不是均匀分布在集群的节点上的,导致即使在备份完成之后,某些节点也只能提供10%的存储能力,,只能读数据,而不能写数据了,使得存储集群节点间的存储容量负载不均衡,进而使得集群数据并发写入速度效率低下。
发明内容
有鉴于此,本申请提供了一种对象备份方法及装置,使得存储集群节点间负载均衡,进而提升集群数据并发写入速度效率。
第一方面,本申请提供了一种对象备份方法,所述方法包括:
从集群中获取对象信息;所述对象信息包括各个对象所在的磁盘位置信息;
基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;
遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的;
根据所述目标备份对象列表进行备份。
可选地,所述对象列表包括大对象列表和小对象列表;
所述基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表包括:
基于所述各个对象所在的磁盘位置信息,按照对象大小,确定各个对象在所述集群的排序;
当所述集群中存储对象的个数小于第一阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前X%个,作为大对象列表,将所述集群中排序为后X%个,作为小对象列表;
当所述集群中存储对象的个数小于第二阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前Y%个,作为大对象列表,将所述集群中排序为后Y%个,作为小对象列表;
当所述集群中存储对象的个数小于第三阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前Z%个,作为大对象列表,将所述集群中排序为后Z%个,作为小对象列表;
其中,X,Y,Z为大于1小于100的整数,且X>Y>Z;;所述第二阈值的最小值大于所述第一阈值的最大值,所述第三阈值的最小值大于所述第二阈值的最大值。
可选地,在所述从集群中获取对象信息之前,所述方法还包括:
扫描所述集群,若所述集群的存储使用率达到预设阈值,则从所述集群中获取对象信息。
可选地,所述方法还包括:
获取所述集群的磁盘个数;
根据所述集群的目标备份量,以及所述集群的磁盘个数,确定每个磁盘的目标备份量;其中,所述集群的目标备份量是当所述集群的存储使用率达到预设阈值时,根据预先设定的备份比例确定的;
所述遍历所述对象列表,按照预设的均衡算法,确定所述目标备份对象列表包括:
遍历所述大对象列表,并获取所述大对象列表中各个对象所在磁盘的位置列表,以及所述大对象列表中各个对象所在磁盘的个数;
遍历所述大对象列表中各个对象所在磁盘的位置列表,若第一当前对象所在的磁盘的存储对象与第一当前对象所在磁盘的个数之间的第一比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第一比值之间的第一差值,确定第一当前对象所在磁盘需要备份量;将第一当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第一当前对象为所述大对象列表中的对象;
遍历所述小对象列表,并获取所述小对象列表中各个对象所在磁盘的位置列表,以及所述小对象列表中各个对象所在磁盘的个数;
遍历所述小对象列表中各个对象所在磁盘的位置列表,若第二当前对象所在的磁盘的存储对象与第二当前对象所在磁盘的个数之间的第二比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第二比值之间的第二差值,确定第二当前对象所在磁盘需要备份量;将第二当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第二当前对象为所述大对象列表中的对象。
可选地,所述方法还包括:设置最小均衡备份比例,所述最小备份比例用于确定所述集群中需要备份磁盘的最少备份的对象。
可选地,若目标磁盘的需要备份量大于均衡值时,所述均衡值为每个磁盘的目标备份量与所述最小均衡备份比例之间的乘积值,所述目标磁盘为所述集群中需要备份磁盘,所述方法还包括:
遍历所述集群中剩余对象,并获取所述剩余对象中各个对象所在磁盘的位置列表,以及所述剩余对象中各个对象所在磁盘的个数;;所述剩余对象为所述集群中除大对象列表和小对象列表之外的对象;
遍历所述剩余对象中各个对象所在磁盘的位置列表,若第三当前对象所在的磁盘的存储对象与第三当前对象所在磁盘的个数之间的第三比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第三比值之间的第三差值,确定第三当前对象所在磁盘需要备份量;将第三当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第三当前对象为所述剩余对象中的对象。
第二方面,本申请实施例提供了一种对象备份装置,所述装置包括:
获取模块,用于从集群中获取对象信息;所述对象信息包括各个对象所在的磁盘位置信息;
确定模块,用于基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;
遍历模块,用于遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的;
备份模块,用于根据所述目标备份对象列表进行备份。
可选地,所述对象列表包括大对象列表和小对象列表;
所述确定模块,具体用于基于所述各个对象所在的磁盘位置信息,按照对象大小,确定各个对象在所述集群的排序;
当所述集群中存储对象的个数小于第一阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前X%个,作为大对象列表,将所述集群中排序为后X%个,作为小对象列表;
当所述集群中存储对象的个数小于第二阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前Y%个,作为大对象列表,将所述集群中排序为后Y%个,作为小对象列表;
当所述集群中存储对象的个数小于第三阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前Z%个,作为大对象列表,将所述集群中排序为后Z%个,作为小对象列表;
其中,X,Y,Z为大于1小于100的整数,且X>Y>Z;;所述第二阈值的最小值大于所述第一阈值的最大值,所述第三阈值的最小值大于所述第二阈值的最大值。
可选地,在所述从集群中获取对象信息之前,所述方法还包括:
扫描模块,用于扫描所述集群,若所述集群的存储使用率达到预设阈值,则从所述集群中获取对象信息。
第三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以上任意一项所述方法。
上述技术方案具有如下有益效果:
本申请提供了一种对象备份方法及装置。在执行所述方法时,首先从集群中获取对象信息;其中,对象信息包括各个对象所在的磁盘位置信息;接着基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;然后遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的;最后根据所述目标备份对象列表进行备份。这样一来,通过遍历集群中的对象列表,按照预设的均衡算法,对集群中的对象进行备份,使得存储集群节点间负载均衡,进而提升集群数据并发写入速度效率。
附图说明
为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的对象备份方法的一种方法流程图;
图2为本申请实施例提供的对象备份装置的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例相关背景技术介绍如下:
存储桶(Bucket):是对象的载体,可理解为存放对象的“容器”,且该“容器”无容量上限。对象以扁平化结构存放在存储桶中,无文件夹和目录的概念,用户可选择将对象存放到某个存储桶中。
对象存储:将对象备份到磁带库之后,元数据还保留在对象存储中,真实的真是的对象数据迁移到磁带库;对用户来说,当访问这个备份对象时候,对象存储需要将这个备份对象从磁带库中召回。
磁带库:物理磁带库是一种存储设备,包含一个或多个驱动器、许多插槽、一个条形码阅读器以及一个用于装载磁带的自动机械臂。磁带库是基于磁带的备份系统,像自动加载磁带机一样提供自动备份和数据恢复功能,可以实现连续备份、自动搜索磁带,也可以在驱动管理软件控制下实现智能恢复、实时监控和统计,整个数据存储备份过程完全摆脱了人工干涉。缺点是读取速度较慢,因为常常涉及到磁带的机械操作,一般用于冷备。
分布式存储:是一种数据存储技术,通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。在大数据环境下,元数据的体量也非常大,元数据的存取性能是整个分布式文件系统性能的关键。常见的元数据管理可以分为集中式和分布式元数据管理架构。
为便于理解本申请提供的技术方案,下面将先对本申请涉及的背景技术进行说明。
在现有技术中,不论是备份还是归档,一般是针对某个目录或者存储桶里面的对象进行的,将桶里面的全部对象备份到磁带库中。
这种备份因为下面两个原因会导致存储集群的节点存储不是均衡的:
1)对象存储集群经过长时间增加和删除,集群里面的存储节点大概率不是均衡的。
2)桶里面的对象,也不是均匀分布在存储集群的节点上的。
导致即使在备份完成之后,某些节点也只能提供10%的存储能力,只能读数据,而不能写数据了,使得存储集群节点间的存储容量负载不均衡,进而使得集群数据并发写入速度效率低下。
为了克服上述技术问题,本申请实施例提供了一种对象备份方法,该方法可以由一种对象备份装置来执行,该装置可以由软件和/或硬件的方式实现,并一般可集成于服务器或终端设备中。
请参见图1,图1为本申请实施例提供的对象备份方法的一种方法流程图,该方法可以包括:
步骤S101:从集群中获取对象信息;所述对象信息包括各个对象所在的磁盘位置信息。
本申请实施例中,从待备份的集群中获取各个节点上的对象信息,其中,对象信息包括各个对象所在的磁盘位置信息,可以理解的是,由于一个对象会均匀保存在多个磁盘,因此该磁盘位置信息用于确定各个对象存储的位置信息。
在一种可能实现的方式中,在所述从集群中获取对象信息之前,所述方法还包括:
扫描所述集群,若所述集群的存储使用率达到预设阈值,则从所述集群中获取对象信息。
具体地,对象备份装置定时扫描集群,当集群的存储使用率达到预设阈值时,则触发备份,将对象备份至磁带库。其中,该阈值可以根据实际情况进行设定,在此不做限定。
进一步地,可以根据实际情况设定备份比例,例如:存储使用率达到预先设置的使用率上限(如90%),则触发备份,将对象备份至磁带库,备份的备份比例可以由管理员设置,如配置20%,则需要将集群中20%的对象备份至磁带库。
步骤S102:基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表。
本申请实施例中,该对象列表用于确定集群中的所有对象,便于进行后续操作。
在一种可能实现的方式中,所述对象列表包括大对象列表和小对象列表;
所述基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表包括:
基于所述各个对象所在的磁盘位置信息,按照对象大小,确定各个对象在所述集群的排序;
当所述集群中存储对象的个数小于第一阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前X%个,作为大对象列表,将所述集群中排序为后X%个,作为小对象列表;
当所述集群中存储对象的个数小于第二阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前Y%个,作为大对象列表,将所述集群中排序为后Y%个,作为小对象列表;
当所述集群中存储对象的个数小于第三阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前Z%个,作为大对象列表,将所述集群中排序为后Z%个,作为小对象列表;
示例性地:大对象列表CNT-Large用OLi(1<=i<=CNT-Large)表示,小对象列表CNT-Small用OSi(1<=i<=CNT-Small)表示;i为下标。
当所述集群中存储对象的个数小于第一阈值且所述各个对象在所述集群的排序为从大到小,则CNT-Large为所述集群中排序前X%对象,CNT-Small为所述集群中排序后X%对象。
当所述集群中存储对象的个数小于第二阈值且所述各个对象在所述集群的排序为从大到小,则CNT-Large为所述集群中排序前Y%对象,CNT-Small为所述集群中排序后Y%对象。
当所述集群中存储对象的个数小于第三阈值且所述各个对象在所述集群的排序为从大到小,则CNT-Large为所述集群中排序前Z%对象,CNT-Small为所述集群中排序后Z%对象。
需要说明的是,X,Y,Z为大于1小于100的整数,且X>Y>Z;所述第二阈值的最小值大于所述第一阈值的最大值,所述第三阈值的最小值大于所述第二阈值的最大值。X,Y,Z,第一阈值,第二阈值,第三阈值均可以根据实际情况进行设定,在此不做限制。
步骤S103:遍历所述对象列表,按照预设的均衡算法,,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的。
本申请实施例中,通过遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表,使得存储集群节点间负载均衡。
在一种可能实现的方法中,所述方法还包括,获取所述集群的磁盘个数;
根据所述集群的目标备份量,以及所述集群的磁盘个数,确定每个磁盘的目标备份量;其中,所述集群的目标备份量是当所述集群的存储使用率达到预设阈值时,根据预先设定的备份比例确定的。集群的目标备份量=集群容量乘以预先设定的备份比例。
例如:存储使用率达到预先设置的使用率上限(如90%),则触发备份,将对象备份至磁带库,备份的备份比例可以由管理员设置,如配置20%,则需要将集群中20%的对象备份至磁带库。
在此基础上,步骤S103具体包括:遍历所述大对象列表,并获取所述大对象列表中各个对象所在磁盘的位置列表,以及所述大对象列表中各个对象所在磁盘的个数;
遍历所述大对象列表中各个对象所在磁盘的位置列表,若第一当前对象所在的磁盘的存储对象与第一当前对象所在磁盘的个数之间的第一比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第一比值之间的第一差值,确定第一当前对象所在磁盘需要备份量;将第一当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第一当前对象为所述大对象列表中的对象;
需要说明的是,循环执行遍历所述大对象列表中各个对象所在磁盘的位置列表,直至大对象列表中各个对象所在的磁盘需要备份量计算完成。
遍历所述小对象列表,并获取所述小对象列表中各个对象所在磁盘的位置列表,以及所述小对象列表中各个对象所在磁盘的个数;
遍历所述小对象列表中各个对象所在磁盘的位置列表,若第二当前对象所在的磁盘的存储对象与第二当前对象所在磁盘的个数之间的第二比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第二比值之间的第二差值,确定第二当前对象所在磁盘需要备份量;将第二当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第二当前对象为所述大对象列表中的对象。
需要说明的是,循环执行遍历所述小对象列表中各个对象所在磁盘的位置列表,直至小对象列表中各个对象所在的磁盘需要备份量计算完成。
示例性地:以BS为集群的目标备份量,DC为集群的磁盘个数,DSi为每个磁盘的目标备份量,BO为目标备份对象列表为例,进行详细说明:
遍历所述大对象列表OLi,并获取所述大对象列表中各个对象所在磁盘的位置列表LL,以及所述大对象列表中各个对象所在磁盘的个数LC;
遍历所述大对象列表中各个对象所在磁盘的位置列表LL,若(第一当前对象所在的磁盘的存储对象/第一当前对象所在磁盘的个数)<=DSi,则第一当前对象所在磁盘需要备份量为DSi-(第一当前对象所在的磁盘的存储对象/第一当前对象所在磁盘的个数),同时将第一当前对象所在磁盘需要备份量加入至目标备份对象列表BO中,所述第一当前对象为所述大对象列表中的对象。
需要说明的是,循环执行遍历所述大对象列表中各个对象所在磁盘的位置列表LL,直至大对象列表中各个对象所在的磁盘需要备份量计算完成。
遍历所述小对象列表OSi,并获取所述小对象列表中各个对象所在磁盘的位置列表LS,以及所述大对象列表中各个对象所在磁盘的个数LCS;
遍历所述小对象列表中各个对象所在磁盘的位置列表LS,若(第二当前对象所在的磁盘的存储对象/第二当前对象所在磁盘的个数)<=DSi,则第二当前对象所在磁盘需要备份量为DSi-(第二当前对象所在的磁盘的存储对象/第二当前对象所在磁盘的个数),同时将第二当前对象所在磁盘需要备份量加入至目标备份对象列表BO中,所述第二当前对象为所述小对象列表中的对象。
需要说明的是,循环执行遍历所述小对象列表中各个对象所在磁盘的位置列表LS,直至小对象列表中各个对象所在的磁盘需要备份量计算完成。
可见,本申请实施例中通过均衡算法计算集群中大对象列表和小对象列表的各个对象所在的磁盘需要的备份量,使得存储集群节点间负载均衡,而且,进而提升集群数据并发写入速度效率,提高分布式对象存储系统的读写能力。
更进一步地,在一种可能的实现方式中,所述方法还包括:设置最小均衡备份比例,所述最小备份比例用于确定所述集群中需要备份磁盘的最少备份的对象。
需要说明的是,最小均衡备份比例可以根据实际情况进行设定,在此,本申请不做限定。
本申请实施例中,通过设置一个最小的均衡备份比率,意思为每个磁盘最少需要备份多大的对象(每个磁盘最少需要备份的大小)如80%,即DSi*0.8,这样一来,使得每个磁盘之间的存储差值缩小,进而使得存储集群节点间负载均衡,进而提升集群数据并发写入速度效率。
在一种可能的实现方式中,当遍历完大对象列表中各个对象所在磁盘需要备份量和小对象列表中各个对象所在磁盘需要备份量后,若目标磁盘的需要备份量大于均衡值时,所述均衡值为每个磁盘的目标备份量与所述最小均衡备份比例之间的乘积值,所述目标磁盘为所述集群中需要备份磁盘,所述方法还包括:遍历所述集群中剩余对象,并获取所述剩余对象中各个对象所在磁盘的位置列表,以及所述剩余对象中各个对象所在磁盘的个数;所述剩余对象为所述集群中除大对象列表和小对象列表之外的对象;
遍历所述剩余对象中各个对象所在磁盘的位置列表,若第三当前对象所在的磁盘的存储对象与第三当前对象所在磁盘的个数之间的第三比值,小于或等于所述每个磁盘的目标备份量,则根据每个磁盘的目标备份量与第三比值之间的第三差值,确定第三当前对象所在磁盘需要备份量;将第三当前对象所在磁盘需要备份量加入至目标备份对象列表中;所述第三当前对象为所述剩余对象中的对象。
示例性地:判断所述集群中需要备份磁盘的需要备份量是否大于均衡值,所述均衡值为每个磁盘的目标备份量与所述最小均衡备份比例之间的乘积值,即当集群中需要备份磁盘的需要备份量>(BS/DC)*最小均衡备份比例时,遍历集群中剩余对象,并获取所述剩余对象中各个对象所在磁盘的位置列表,以及所述剩余对象中各个对象所在磁盘的个数;所述剩余对象为所述集群中除大对象列表和小对象列表之外的对象;
遍历所述剩余对象中各个对象所在磁盘的位置列表,若(第三当前对象所在的磁盘的存储对象/第三当前对象所在磁盘的个数)<=DSi,则第三当前对象所在磁盘需要备份量为DSi-(第三当前对象所在的磁盘的存储对象/第三当前对象所在磁盘的个数),同时将第三当前对象所在磁盘需要备份量加入至目标备份对象列表BO中,所述第三当前对象为所述小对象列表中的对象。
需要说明的是,循环执行遍历所述剩余对象中各个对象所在磁盘的位置列表LS,直至剩余对象中各个对象所在的磁盘需要备份量计算完成。
可见,本申请实施例中通过遍历剩余对象中各个对象所在磁盘需要的备份量,这样一来,使得每个磁盘之间的存储差值缩小,进而使得存储集群节点间负载均衡,进而提升集群数据并发写入速度效率。
步骤S104:根据所述目标备份对象列表进行备份。
具体地,通过步骤S103确定目标备份对象列表后,根据所述目标备份对象列表,将目标备份对象列表备份至磁带。
从上述技术方案可以看出,本申请首先从集群中获取对象信息;其中,对象信息包括各个对象所在的磁盘位置信息;接着基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;然后遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的;最后根据所述目标备份对象列表进行备份。这样一来,通过遍历集群中的对象列表,按照预设的均衡算法,对集群中的对象进行备份,使得存储集群节点间负载均衡,进而提升集群数据并发写入速度效率。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
以上为本申请实施例提供一种对象备份方法的一些具体实现方式,基于此,本申请还提供了对应的装置。下面将从功能模块化的角度对本申请实施例提供的装置进行介绍。
参见图2所示的一种对象备份装置的结构示意图,该装置可以包括获取模块100、确定模块200、遍历模块300、备份模块400。
获取模块100,用于从集群中获取对象信息;所述对象信息包括各个对象所在的磁盘位置信息;
确定模块200,用于基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;
遍历模块300,用于遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的;
备份模块400,用于根据所述目标备份对象列表进行备份。
可选地,所述对象列表包括大对象列表和小对象列表;
所述确定模块,具体用于基于所述各个对象所在的磁盘位置信息,按照对象大小,确定各个对象在所述集群的排序;
当所述集群中存储对象的个数小于第一阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前X%个,作为大对象列表,将所述集群中排序为后X%个,作为小对象列表;
当所述集群中存储对象的个数小于第二阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前Y%个,作为大对象列表,将所述集群中排序为后Y%个,作为小对象列表;
当所述集群中存储对象的个数小于第三阈值且所述各个对象在所述集群的排序为从大到小,将所述集群中排序为前Z%个,作为大对象列表,将所述集群中排序为后Z%个,作为小对象列表;
其中,X,Y,Z为大于1小于100的整数,且X>Y>Z;;所述第二阈值的最小值大于所述第一阈值的最大值,所述第三阈值的最小值大于所述第二阈值的最大值。
可选地,在所述从集群中获取对象信息之前,所述方法还包括:
扫描模块,用于扫描所述集群,若所述集群的存储使用率达到预设阈值,则从所述集群中获取对象信息。
从上述技术方案可以看出,本申请首先从集群中获取对象信息;其中,对象信息包括各个对象所在的磁盘位置信息;接着基于所述各个对象所在的磁盘位置信息,确定所述集群中的对象列表;然后遍历所述对象列表,按照预设的均衡算法,确定目标备份对象列表;所述预设的均衡算法是基于所述各个对象所在的磁盘位置信息和所述集群的磁盘个数生成的;最后根据所述目标备份对象列表进行备份。这样一来,通过遍历集群中的对象列表,按照预设的均衡算法,对集群中的对象进行备份,使得存储集群节点间负载均衡,进而提升集群数据并发写入速度效率。
本申请实施例还提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述实施例中所述的一种对象备份方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本领域技术人员可以理解,图所示的流程图仅是本申请的实施方式可以在其中得以实现的一个示例,本申请实施方式的适用范围不受到该流程图任何方面的限制。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

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中任一项所述的方法。
CN202310231068.XA 2023-03-10 2023-03-10 一种对象备份方法及装置 Pending CN116414624A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310231068.XA CN116414624A (zh) 2023-03-10 2023-03-10 一种对象备份方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310231068.XA CN116414624A (zh) 2023-03-10 2023-03-10 一种对象备份方法及装置

Publications (1)

Publication Number Publication Date
CN116414624A true CN116414624A (zh) 2023-07-11

Family

ID=87057416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310231068.XA Pending CN116414624A (zh) 2023-03-10 2023-03-10 一种对象备份方法及装置

Country Status (1)

Country Link
CN (1) CN116414624A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932555A (zh) * 2023-08-14 2023-10-24 合芯科技有限公司 一种目标对象切片位置确定方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932555A (zh) * 2023-08-14 2023-10-24 合芯科技有限公司 一种目标对象切片位置确定方法、装置、设备及存储介质
CN116932555B (zh) * 2023-08-14 2024-04-30 合芯科技有限公司 一种目标对象切片位置确定方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US9606740B2 (en) System, method and computer program product for synchronizing data written to tape including writing an index into a data partition
EP3002672B1 (en) Apparatus for increasing data storage capacity
US8473462B1 (en) Change tracking for shared disks
US8412680B1 (en) System and method for performing backup operations and reporting the results thereof
US8959301B2 (en) Accessing data in a storage system
US10628298B1 (en) Resumable garbage collection
US9218251B1 (en) Method to perform disaster recovery using block data movement
EP2686763A1 (en) Optimized shrinking of virtual disks
US11630741B2 (en) System and method for backing up data in a load-balanced clustered environment
US11221785B2 (en) Managing replication state for deleted objects
CN103037004A (zh) 云存储系统操作的实现方法和装置
US11546426B2 (en) System and method for client policy assignment in a data storage system
CN110083490A (zh) 一种数据库备份方法、还原方法以及存储介质
CN116414624A (zh) 一种对象备份方法及装置
CN110147203A (zh) 一种文件管理方法、装置、电子设备及存储介质
CN106844491B (zh) 一种临时数据的写入、读取方法及写入、读取装置
US9395930B2 (en) Information processing system, control method of information processing system, and recording medium
WO2024041376A1 (zh) 分布式图数据处理系统、方法、装置、设备及存储介质
US8495026B1 (en) Systems and methods for migrating archived files
US11442637B1 (en) Managing drive space among different data services environments within a storage system
US9111015B1 (en) System and method for generating a point-in-time copy of a subset of a collectively-managed set of data items
US20070061530A1 (en) Method for storage of digital data in a mainframe data center and associated device
WO2013174166A1 (en) Method for high performance dump data set creation
CN111913916A (zh) 一种文件重组的方法及设备
US11947493B2 (en) Techniques for archived log deletion

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