CN114064351A - 用于数据备份的存储设备子集的优化选取 - Google Patents

用于数据备份的存储设备子集的优化选取 Download PDF

Info

Publication number
CN114064351A
CN114064351A CN202010788767.0A CN202010788767A CN114064351A CN 114064351 A CN114064351 A CN 114064351A CN 202010788767 A CN202010788767 A CN 202010788767A CN 114064351 A CN114064351 A CN 114064351A
Authority
CN
China
Prior art keywords
data
determining
storage
usage
storage devices
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
CN202010788767.0A
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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN202010788767.0A priority Critical patent/CN114064351A/zh
Priority to US17/039,955 priority patent/US11301141B2/en
Publication of CN114064351A publication Critical patent/CN114064351A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • 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
    • 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/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • 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/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

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

Abstract

本公开的实施例提供了一种存储管理方法、电子设备和计算机程序产品。该方法包括:在存储设备集合中,确定用于数据备份的存储设备的多个候选子集,多个候选子集包括数目基本相同的存储设备。该方法还包括:确定与多个候选子集分别对应的全局均衡度,全局均衡度指示在对应候选子集中的存储设备被用于数据备份的情况下存储设备集合的使用均衡度。该方法进一步包括:基于全局均衡度,在多个候选子集中确定用于数据备份的存储设备的目标子集。通过本公开的实施例,存储系统可以自动地在存储设备集合中为数据备份选出存储设备子集来存储数据副本,而无需人工操作,同时还使得存储设备集合具有高全局均衡度,从而提高存储系统的自动化水平和性能。

Description

用于数据备份的存储设备子集的优化选取
技术领域
本公开的实施例一般地涉及计算机系统或存储系统,并且更特别地涉及一种存储管理方法、电子设备和计算机程序产品。
背景技术
如今,许多公司或企业每天都会生成大量的数据。为了数据的安全,对数据的保护变得越来越重要。在这方面,备份存储系统可以提供数据保护,其可以将待备份的数据复制到多个存储设备,从而获得存放在不同存储设备中的多个数据副本。
在传统方案中,选择用于存储数据副本的存储设备和确定相关的路由规划是由备份存储系统的用户来完成的。也就是说,用户需要为每个待备份的数据(或数据源)手动地选择并指定一个或多个存储设备,以作为数据副本的存放目的地。然而,这对于用户来说可能是复杂且繁琐的,并且也无法保证所选存储设备的合理性,从而造成备份存储系统的性能降低。
发明内容
本公开的实施例提出了一种在存储设备集合中确定用于数据备份的存储设备子集的技术方案,并且具体提供了一种存储管理方法、电子设备和计算机程序产品。
在本公开的第一方面,提供了一种存储管理方法。该方法包括:在存储设备集合中,确定用于数据备份的存储设备的多个候选子集,多个候选子集包括数目基本相同的存储设备。该方法还包括:确定与多个候选子集分别对应的全局均衡度,全局均衡度指示在对应候选子集中的存储设备被用于数据备份的情况下存储设备集合的使用均衡度。该方法进一步包括:基于全局均衡度,在多个候选子集中确定用于数据备份的存储设备的目标子集。
在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理器以及存储有计算机程序指令的至少一个存储器。至少一个存储器和计算机程序指令被配置为,与至少一个处理器一起,使电子设备:在存储设备集合中,确定用于数据备份的存储设备的多个候选子集,多个候选子集包括数目基本相同的存储设备。至少一个存储器和计算机程序指令还被配置为,与至少一个处理器一起,使电子设备:确定与多个候选子集分别对应的全局均衡度,全局均衡度指示在对应候选子集中的存储设备被用于数据备份的情况下存储设备集合的使用均衡度。至少一个存储器和计算机程序指令进一步被配置为,与至少一个处理器一起,使电子设备:基于全局均衡度,在多个候选子集中确定用于数据备份的存储设备的目标子集。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使机器执行根据第一方面的方法的步骤。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其他特征通过以下的描述将变得容易理解。
附图说明
通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例。
图1示出了本公开的实施例可以在其中实现的示例存储系统的示意图。
图2示出了根据本公开的实施例的示例存储管理方法的流程图。
图3示出了根据本公开的实施例的在存储设备集合中确定多个候选子集的示例过程。
图4示出了根据本公开的实施例的基于预定性能要求在多个初始候选子集中选择多个候选子集的示意图。
图5示出了根据本公开的实施例的确定与第一候选集合相对应的第一全局均衡度的示例过程。
图6示出了根据本公开的实施例的确定与第一候选集合相对应的第一全局均衡度的示意图。
图7示出了根据本公开的实施例的确定与第一存储设备相对应的第一使用度量的示例过程。
图8示出了根据本公开的实施例的确定与第一存储设备相对应的第一使用度量的示意图。
图9示出了根据本公开的实施例的确定与第一存储设备相对应的第一可用存储容量的使用度量的示例过程。
图10示出了根据本公开的实施例的确定与第一存储设备相对应的第一可用存储容量的使用度量的示意图。
图11示出了根据本公开的实施例的确定与第一存储设备相对应的第一输入网络带宽的使用度量的示例过程。
图12示出了根据本公开的实施例的确定与第一存储设备相对应的第一输入网络带宽的使用度量的示意图。
图13示出了根据本公开的实施例的确定与第二存储设备相对应的第二使用度量的示意图。
图14示出了根据本公开的实施例的确定与第二存储设备相对应的第二可用存储容量的使用度量的示意图。
图15示出了根据本公开的实施例的确定与第二存储设备相对应的第二输入网络带宽的使用度量的示意图。
图16示出了根据本公开的实施例的在存储设备集合中选择用于数据备份的存储设备子集的示例操作流程。
图17示出了一种可以被用来实施本公开的实施例的示例设备的框图。
贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相似的组件。
具体实施方式
下面将参考附图中示出的若干示例性实施例来描述本公开的原理和精神。应当理解,描述这些实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。在本文的描述和权利要求中,除非另有定义,否则本文中使用的所有技术术语和科学术语具有与本公开所属领域的普通技术人员通常所理解的含义。
如上文提到的,在传统方案中,选择用于存储数据副本的存储设备和确定相关的路由规划是由备份存储系统的用户来完成的。也就是说,用户需要为每个待备份的数据(或数据源)手动地选择并指定一个或多个存储设备,以作为数据副本的存放目的地。然而,这对于用户来说可能是复杂且繁琐的,并且也无法保证所选存储设备的合理性,从而造成备份存储系统的性能降低。
具体地,用户指定的服务等级协议(SLA)可能要求将多个数据副本分别复制到位于不同地理位置处的多个存储设备。此外,由于需要在灾难发生时对数据进行灾难恢复,政府和企业等还建立了有关数据保护的规章。例如,为了应对地震、台风和洪水等自然灾害可能对存放数据副本的多个存储设备造成同时损坏,这些规章对于用于数据备份的存储设备还有一些其他要求。这些要求可能包括各个存储设备之间的距离、以及各个存储设备与数据产生者之间的距离需要大于指定距离。
因此,在选择用于数据备份的存储设备的过程中,用户可能需要收集并且考虑各种相关参数。例如,用户在创建用于数据备份的备份策略时,可能需要根据这些相关参数来选择用于数据备份的存储设备。为此,用户可能需要首先了解每个存储设备的地理位置、各个存储设备之间的距离、数据源与存储设备之间的网络带宽、以及每个存储设备的剩余存储容量,等等。可以看出,在上述过程中,存在许多操作需要用户手动地完成。这对于用户来说显然是复杂且繁琐的,当存在数目众多的可供选择的存储设备时,用户可能难以快速地选择出符合要求的存储设备。
此外,可能更为重要的是,由于存储设备的选择是由用户手动完成的,因此选出的存储设备可能不是最佳的选择。例如,用户选出的存储设备可能由于网络带宽低而导致某些数据副本存储失败,或者被取消复制到存储设备。又例如,将数据副本存储到的用户选出的存储设备可能导致存储设备集合的存储资源在使用上的不均衡。例如,存储设备集合中的某些存储设备可能已经接近存满,而其他存储设备可能还具有大量的存储容量。如果要人工实现存储设备的使用均衡,用户可能需要额外的人力来监控存储设备的各种参数。
鉴于传统方案中存在的上述问题以及潜在的其他问题,本公开的实施例提出了一种在存储设备集合中确定用于数据备份的存储设备子集的技术方案。在本公开的实施例中,针对待确定存储设备的数据备份,计算设备可以在存储设备集合中确定存储设备的多个候选子集。接着,计算设备可以确定与多个候选子集分别对应的多个全局均衡度。然后,计算设备可以基于多个全局均衡度,在多个候选子集中确定用于数据备份的存储设备的目标子集。通过本公开的实施例,存储系统可以自动地在存储设备集合中为数据备份选出存储设备子集,以用于存储数据副本,而无需人工操作,同时还可以使得整个存储设备集合具有较高的全局均衡度,从而提高存储系统的自动化水平和性能。
图1示出了本公开的实施例可以在其中实现的示例存储系统100的示意图。如图1所示,示例存储系统100可以包括存储设备集合110。存储设备集合110可以包括N个存储设备,即存储设备110-1、存储设备110-2、存储设备110-3、存储设备110-4、存储设备110-5、存储设备110-6、存储设备110-7、……、存储设备110-N,其中N为正整数。在一些实施例中,存储设备集合110中的存储设备110-1至110-N可以主要用于对数据进行备份,也即,用于存储数据副本。在这种情况下,示例存储系统100可以是用于存储数据副本的备份存储系统。当然,在其他实施例中,存储设备110-1至110-N也可以用于存储任何其他的数据、信息或内容。因此,示例存储系统100可以是任何其他用途或功能的存储系统,但是也可以用于存储数据副本。
在一些实施例中,存储设备110-1至110-N中的一个或多个存储设备可以是个体的物理存储设备,也即,单独的物理存储设备。在另外的实施例中,存储设备110-1至110-N中的一个或多个存储设备也可以是多个物理存储设备的组合。例如,存储设备110-1至110-N中的任何存储设备都可以是指多个个体物理存储设备的组合,诸如某个存储站点的所有物理存储设备的集合。换言之,在一些实施例中,存储设备110-1至110-N中的一个或多个存储设备可以是指一个或多个存储站点,而不是物理存储设备,每个存储站点可以对应于一个备份存储系统。
在一些实施例中,存储设备110-1至110-N中的一个或多个存储设备可以分别位于距离较远的多个地理位置,例如,位于不同的大洲、不同的国家、不同的城市,等等。当然,在其他实施例中,存储设备110-1至110-N中的一个或多个存储设备也可能位于大致相同的地理位置,例如,在相同的城市中、在相同的大楼中、在相同的房间中,等等。也就是说,本公开的实施例对于存储设备110-1至110-N的地理位置没有任何限制,而是等同地适用于存储设备110-1至110-N各自位于任何可能的地理位置的情形。
另外,示例存储系统100可以包括用于控制和管理示例存储系统100的计算设备120。例如,计算设备120可以将需要备份的数据复制到存储设备集合110中的一个或多个存储设备中,处理对存储设备110-1至110-N中存储的数据(诸如数据副本)的访问请求,组织和管理存储设备110-1至110-N中存储的数据,控制和访问示例存储系统100中的其他设备或组件,等等。更一般地,计算设备120可以实现与示例存储系统100有关的任何计算功能、控制功能、处理功能、和/或类似功能。在一些实施例中,计算设备120可以是示例存储系统100的主控制设备,其主要用于控制示例存储系统100的功能。
在另一些实施例中,计算设备120也可以是示例存储系统100的某个客户端的计算设备,其主要用于控制客户端的功能,但是可以与示例存储系统100的控制设备通信地耦合从而实现数据备份功能。在其他实施例中,计算设备120可以是与示例存储系统100相关联的任何计算设备。此外,需要注意的是,本文中描述的由计算设备120执行的各种处理或操作也可以由多个计算设备分别完成,也即各个计算设备可以分别实现这些处理或操作中的一部分,而这些计算设备可以位于不同的地理位置或者属于不同的实体。
如图1所示,当存在待分配备份存储设备的数据备份130时,计算设备120可以在存储设备集合110中确定一个或多个存储设备,以用于存储与数据备份130相关联的数据副本。该一个或多个存储设备也称为用于数据备份130的存储设备的目标子集140-T。也就是说,计算设备120将在存储设备110-1至110-N中确定哪个或哪些存储设备用于数据备份130。在一些实施例中,数据备份130可以具体是指数据备份任务或事件,其可以是示例存储系统100针对某个数据源而产生或创建的。例如,示例存储系统100的用户可能指示针对该数据源进行数据备份130,或者示例存储系统100可以依据预设的数据备份触发条件来触发对该数据源的数据备份130。在一些实施例中,数据源可以是示例存储系统100中的客户端,其可以生成待备份的数据。示例存储系统100的用户可以通过客户端将数据(例如,数据副本)存储到存储设备集合110中的一个或多个存储设备,并且可以通过客户端从存储有数据副本的存储设备读取数据副本。在其他实施例中,数据源可以是能够生成数据的任何设备或实体。
在图1的示例中,为了合理地在存储设备集合110中选取用于数据备份130的目标子集140-T,计算设备120可以先确定用于数据备份130的存储设备的M个候选子集,也即候选子集140-1、候选子集140-2、候选子集140-3、……、候选子集140-M,其中M为正整数。然后,计算设备120可以确定与候选子集140-1至140-M分别对应的全局均衡度150-1至150-M。在本公开的实施例中,全局均衡度150-1至150-M中的每个全局均衡度可以指示在对应候选子集中的存储设备被用于数据备份130的情况下存储设备集合110的使用均衡度。例如,不失一般性,全局均衡度150-1可以表示候选子集140-1中的存储设备110-1至110-3用于数据备份130时存储设备集合110的使用均衡度。接着,计算设备120可以基于全局均衡度150-1至150-M,在多个候选子集140-1至140-M中确定目标子集140-T。例如,计算设备120可以将全局均衡度高的候选子集作为目标子集140-T,从而优化存储设备集合110的使用均衡度。
需要说明的是,本文中的“使用均衡度”可以是指对于多个存储设备在任何方面的“使用”的均衡程度。例如,“使用均衡度”可以是指对于多个存储设备的可用存储容量的“使用均衡度”,对于多个存储设备的输入网络带宽的“使用均衡度”,对于多个存储设备的处理资源的“使用均衡度”,对于多个存储设备的存储器资源的“使用均衡度”,等等。然而,将理解,本公开的实施例也等同地适用于对于多个存储设备的任何其他方面的“使用均衡度”。此外,应当指出的是,尽管图1中将候选子集140-1至140-M描绘为均包括三个存储设备,但是该描绘仅为示例性的,无意以任何方式限制本公开的范围。在其他实施例中,候选子集140-1至140-M可以包括相同数目的存储设备,也可以包括不同数目的存储设备,并且每个候选子集可以包括任何数目的存储设备。
在一些实施例中,计算设备120可以包括任何能够实现计算功能和/或控制功能的设备,包括但不限于,专用计算机、通用计算机、通用处理器、微处理器、微控制器、或状态机。计算设备120还可以实施为个体计算设备或计算设备的组合,例如,数字信号处理器(DSP)和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核心、或者任何其他这样的配置。另外要指出的是,在本公开的上下文中,计算设备120也可以称为电子设备120,这两个术语在本文中可以互换地使用。
在一些实施例中,存储设备110-1至110-N可以是能够提供存储服务或功能的任何具有存储能力的设备或系统,包括但不限于,备份存储站点、云存储系统、硬盘(HDD)、固态盘(SSD)、可移除盘、紧致盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘、串行附接小型计算机系统接口(SCSI)存储盘(SAS)、串行高级技术附接(SATA)存储盘、任何其他磁性存储设备和任何其他光学存储设备、或它们的任何组合。
在一些实施例中,本文中的数据源或客户端可以是指能够生成数据并接受数据存储服务的任何设备。在一些实施例中,这样的设备包括但不限于,个人计算机、平板计算机、膝上型计算机、笔记本计算机、上网本计算机、任何其他类型的计算机、蜂窝电话或智能电话、媒体播放器设备、电子书设备、移动WiFi设备、可穿戴计算设备、无线设备、移动设备、用户设备、以及任何其他类型的电子计算设备。
在一些实施例中,示例存储系统100中的各个组件之间的通信链路可以是能够实现这些组件之间的数据通信或控制信号通信的任何形式的连接或耦合,包括但不限于,同轴电缆、光纤电缆、双绞线、或无线技术(诸如红外、无线电和微波)。在一些实施例中,通信链路还可以包括但不限于,网卡、集线器、调制解调器、中继器、网桥、交换机、路由器等用于网络连接的设备、以及各种网络连接线路、无线链路等。在一些实施例中,通信链路可以包括各种类型的总线。在其他实施例中,通信链路可以包括计算机网络、通信网络、或者其他有线或无线网络。
应当理解,图1仅示意性地示出了示例存储系统100中的与本公开的实施例相关的单元、元素、模块或组件。在实践中,示例存储系统100还可以包括用于其他功能的其他单元、元素、模块或组件。此外,图1中示出的单元、元素、模块或组件的特定数目仅是示意性的,无意以任何方式限制本公开的范围。在其他实施例中,示例存储系统100可以包括任何适当数目的存储设备、计算设备、数据备份、候选子集、全局均衡度、目标子集,等等。因此,本公开的实施例不限于图1所描绘的具体设备、单元、元素、模块或组件,而是一般性地适用于任何具有数据备份功能的存储环境。下面参考图2来描述本公开的实施例的示例存储管理方法。
图2示出了根据本公开的实施例的示例存储管理方法200的流程图。在一些实施例中,示例方法200可以由示例存储系统100中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现,或者由计算设备120的各种功能模块来实现。在其他实施例中,示例方法200也可以由独立于示例存储系统100的计算设备来实现,或者可以由示例存储系统100中的其他单元或模块来实现。为了便于说明,将结合图1来描述示例方法200。
在框210处,针对待分配存储设备的数据备份130,计算设备120可以在存储设备集合110中确定存储设备的多个候选子集140-1至140-M。一般而言,候选子集140-1至140-M中的各个候选子集可以包括不同数目的存储设备。例如,这意味着数据备份130对于数据副本的数目没有要求。也即,与数据备份130相关联的数据可以同时备份到1至N中的任何数目的存储设备上。在这样的情况下,候选子集140-1至140-M中可以存在仅包括一个存储设备的候选子集,也可以存在包括全部存储设备110-1至11-N的候选子集,或者可以包括1至N之间的其他数目的存储设备的候选子集。
在一些实施例中,为了使各个候选子集提供基本相同程度的数据保护(也即基本相同数目的数据副本),也为了各个候选子集之间具有较高的可比性,计算设备120可以使得候选子集140-1至140-M包括数目基本相同的存储设备。例如,这意味着不论计算设备120最终选择哪个候选子集用于数据备份130,与数据备份130相关联的数据都将实现基本相同的数据安全性。需要说明的是,这里的数目“基本相同”可以是指不同候选子集中包括的存储设备的数目大致是相同的,但也不排除一个或多个候选子集中包括略多或略少的存储设备。
更量化地说,在一些实施例中,两个候选子集中的存储设备的数目“基本相同”可以解释为这两个候选子集中的存储设备的数目差异与存储设备集合110中的存储设备的总数目的比值小于预定阈值。作为示例,假设存储设备集合110包括100个存储设备,那么两个候选子集的存储设备的数目差异不超过5个,即可以认为是存储设备的数目“基本相同”。换言之,该示例中的预定阈值被设置为5%。然而,应当理解,这里的列举的预定阈值5%仅是示例性的,无意以任何方式限制本公开的范围。在其他实施例中,该预定阈值可以根据具体的技术环境、应用场景和性能要求等来合理地设置。
在其他实施例中,候选子集140-1至140-M可以均包括相同数目的存储设备。作为示例,图1将候选子集140-1至140-M描绘为均包括3个存储设备。也就是说,假设每个存储设备上可以存储与数据备份130相关联的一个数据副本,那么候选子集140-1至140-M均可以存储与数据备份130相关联的三个数据副本。因此,在这样的实施例中,计算设备120可以基于数据备份130的所需要的数据副本数目,在存储设备集合110中选择候选子集140-1至140-M。例如,假设数据备份130需要三个数据副本,则计算设备120可以在存储设备集合110中确定全部可能组合的数目
Figure BDA0002623004780000111
个候选子集,也即,
Figure BDA0002623004780000112
当然,在其他实施例中,候选子集140-1至140-M的数目M也可以小于所有可能组合的数目
Figure BDA0002623004780000113
下文将参考图3和图4来描述这样的示例。
图3示出了根据本公开的实施例的在存储设备集合110中确定多个候选子集140的示例过程300。在一些实施例中,示例过程300可以由示例存储系统100中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现,或者由计算设备120的各种功能模块来实现。在其他实施例中,示例过程300也可以由独立于示例存储系统100的计算设备来实现,或者可以由示例存储系统100中的其他单元或模块来实现。
图4示出了根据本公开的实施例的基于预定性能要求420在多个初始候选子集410中选择多个候选子集140的示意图。如图4所示,计算设备120可以在存储设备集合110中先确定多个初始候选子集410,然后再基于预定性能要求420从多个初始候选子集410中确定出多个候选子集140。以此方式,计算设备120可以从初始候选子集410中排除掉不满足预定性能要求420的候选子集,从而确保最终确定的目标子集140-T将符合预定性能要求420。
具体地,参考图3,在框310处,计算设备120可以确定数据备份130所需要的数据副本数目。在一些实施例中,数据备份130要求的数据副本数目可以由示例存储系统100的用户来输入。例如,用户可以在设置数据备份130的服务等级协议(SLA)参数时设置所需要的数据副本数目。在图1的示例中,不失一般性,假设用户针对数据备份130设置的数据副本数目为3。应当理解,本公开的实施例等同地适用于数据备份130要求任何数目的数据副本的情形。
在框320处,计算设备120可以基于数据备份130要求的数据副本数目,从存储设备集合110中确定多个初始候选子集410-1至410-P,其中P为正整数。在一些实施例中,初始候选子集410-1至410-P中的每个初始候选子集的存储设备的数目可以等于数据备份130要求的数据副本数目,也即,每个存储设备上可以存储一个数据副本。以此方式,计算设备120可以在满足数据备份130的数据副本数目要求的同时,简化初始候选子集410-1至410-P的确定操作。具体地,根据数据备份130要求的数据副本数目,计算设备120可以将存储设备集合110中的所有可能的存储设备组合确定为初始候选子集410-1至410-P。例如,在数据副本数目为三的情况下,计算设备120可以确定
Figure BDA0002623004780000121
个初始候选子集410-1至410-P,也即
Figure BDA0002623004780000122
在其他实施例中,计算设备120也可以确定数目P少于
Figure BDA0002623004780000123
的初始候选子集410-1至410-P。例如,存储设备集合110中可能存在当前不可用的存储设备,因此计算设备120可以从初始候选子集410-1至410-P中排除掉包括不可用存储设备的组合。
在其他实施例中,初始候选子集410-1至410-P中的每个初始候选子集的存储设备的数目也可以不同于数据备份130要求的数据副本数目。例如,计算设备120可以在数据备份130要求的数据副本数目的基础上再增加预定数目的存储设备,以向数据备份130提供更多的数据副本,从而加强与数据备份130相关联的数据的保护。作为示例,假设数据备份130要求的数据副本数目为3,那么计算设备120可以将每个初始候选子集中的存储设备的数目确定为4,从而实际向数据备份130的相关数据提供4个数据副本。将理解,这里列举的各种具体数目仅为示例性的,无意以任何方式限制本公开的范围。在其他实施例中,计算设备120可以在所要求的数据副本数目的基础上增加任何数目的增量,以确定每个初始候选子集的存储设备的数目。
在框330处,在确定初始候选子集410-1至410-P之后,计算设备120可以基于对候选子集140-1至140-M的预定性能要求420,在初始候选子集410-1至410-P中选择候选子集140-1至140-M。例如,在图4的示例中,由于不符合预定性能要求420,计算设备120可以排除掉初始候选子集410-1至410-P中的初始候选子集410-4和410-5,从而选出候选子集140-1至140-M。
一般而言,预定性能要求420可以是对候选子集140-1至140-M中的存储设备或存储设备组合预先设置的任何性能要求。在一些实施例中,预定性能要求420可以是每个候选子集140-1至140-M中的任何两个存储设备之间的距离大于阈值距离。因此,如果计算设备120确定两个存储设备之间的距离小于该阈值距离,则计算设备120可以从初始候选子集410-1至410-P中排除掉包括这两个存储设备的初始候选子集。作为示例,该阈值距离可以是100千米。该阈值距离可以确保每个候选子集中的存储设备都具有不同的物理环境,因此降低不同存储设备遭受同时故障(例如,停电、洪水、机械撞击等)的可能性。将理解,这里列举的阈值距离的具体数值仅为示例性的,无意以任何方式限制本公开的范围。在其他实施例中,阈值距离可以根据具体的技术环境和性能要求被设置为任何值。
附加地或备选地,预定性能要求420可以是候选子集140中的任何存储设备的可用资源量大于阈值资源量,从而确保任何候选子集140-1至140-M均可以完成数据备份130。例如,这里的可用资源量可以包括存储设备的计算资源量、存储器资源量、存储容量、网络带宽,等等。因此,如果计算设备120确定某个(或某些)存储设备的可用资源量少于阈值资源量,则计算设备120可以从初始候选子集410-1至410-P中排除掉包括这样的存储设备的初始候选子集。在一些实施例中,这里的阈值资源量可以由计算设备120基于数据备份130所需要的资源量来设置。当然,在其他实施例中,阈值资源量也可以是根据具体的技术环境和性能要求预先确定的。
从上文的描述可见,通过示例过程300,计算设备120可以基于数据备份130所要求的数据副本数目,从存储设备集合110中全面且高效地确定出满足预定性能要求420的候选子集140-1至140-M。
返回参考图2,在框220处,计算设备120可以确定与多个候选子集140-1至140-M分别对应的全局均衡度150-1至150-M。如上文描述的,全局均衡度可以指示在对应候选子集中的存储设备被用于数据备份130的情况下存储设备集合110的使用均衡度。不失一般性,以候选子集140-1的全局均衡度150-1作为示例,全局均衡度150-1可以是指在候选子集140-1中的存储设备110-1、110-2和110-3用于数据备份130的情况下存储设备集合110的使用均衡度。在后文中,将示例性地描述计算设备120确定全局均衡度150-1的示例。将明白,计算设备120可以采用类似方式来确定与候选子集140-2至140-M分别对应的全局均衡度150-2至150-M。
因此,在一些实施例中,为了确定全局均衡度150-1,计算设备120可以假定存储设备110-1、110-2和110-3用于数据备份130,然后计算设备120可以逐个确定存储设备集合110中的存储设备110-1至110-N的使用度量,也即每个存储设备的使用程度的度量。如本文中使用的,“使用度量”可以是指对存储设备的任何方面的使用程度的度量,例如,可用存储容量的使用程度的度量、输入网络带宽的使用程度的度量、计算资源的使用程度的度量、存储器资源的使用程度的度量,等等。另外,由于存储设备110-1至110-N主要用于存储数据,因此某个存储设备的数据增加速度可以一般性地反映该存储设备的使用程度。
在获得存储设备110-1至110-N的使用度量之后,计算设备120可以基于这些使用度量来确定存储设备集合110的全局均衡度150-1。例如,计算设备120可以计算存储设备110-1至110-N的使用度量的标准差,以作为存储设备集合110的全局均衡度150-1。当然,在其他实施例中,计算设备120也可以采用存储设备110-1至110-N的使用度量的其他类似的统计指标(例如,方差),以作为存储设备集合110的全局均衡度150-1。更一般地,计算设备120可以采用能够体现存储设备110-1至110-N的使用度量的均衡性的任何指标,以作为存储设备集合110的全局均衡度150-1。
在一些实施例中,在确定全局均衡度150-1的过程中,由于候选子集140-1被假定用于数据备份130,而候选子集140-1以外的存储设备110-4至110-N被假定不用于数据备份130,所以对于存储设备110-1至110-3以及存储设备110-4至110-N,计算设备120可以采用不同的方式来确定存储设备的“使用度量”。具体地,计算设备120可以依据存储设备是否属于候选子集140-1而将存储设备110-1至110-N划分为两组,然后针对该两组存储设备来分别确定两组使用度量。后文将参考图5和图6来描述这样的示例。
此外,需要说明的是,本文中提及的存储设备集合110的“使用均衡度”可以是指对于存储设备集合110中的各个存储设备的任何方面的“使用”的均衡程度。例如,“使用均衡度”可以是指对于存储设备集合110中的各个存储设备的可用存储容量的“使用均衡度”,或者是指对于存储设备集合110中的各个存储设备的输入网络带宽的“使用均衡度”。因此,计算设备120可以相应地确定存储设备的可用存储容量或输入网络带宽的“使用度量”。后文将参考图9至图12和图14至图15来描述这样的示例。然而,将理解,本公开的实施例也等同地适用于对于存储设备集合110中的各个存储设备的任何其他方面的“使用均衡度”。
继续参考图2,在框230处,在确定与候选子集140-1至140-M分别对应的全局均衡度150-1至150-M之后,计算设备120可以基于全局均衡度150-1至150-M,在多个候选子集140-1至140-M中确定用于数据备份130的存储设备的目标子集140-T。例如,计算设备120可以将全局均衡度高的候选子集作为目标子集140-T,从而优化存储设备集合110的使用均衡度。具体地,在一些实施例中,计算设备120可以在全局均衡度150-1至150-M中确定高于阈值均衡度的目标全局均衡度。作为示例,这里的阈值均衡度可以由计算设备120在确定全局均衡度150-1至150-M之后来选取,诸如,全局均衡度150-1至150-M的平均值。又例如,阈值均衡度也可以根据具体的技术环境和性能要求来预先设定。
在一些情况下,计算设备120可能确定多个全局均衡度高于阈值均衡度。此时,计算设备120可以在这些全局均衡度中随机地选择一个全局均衡度,以作为目标全局均衡度。然后,计算设备120可以确定与目标全局均衡度相对应的候选子集,作为目标子集140-T。例如,假设在图1的示例中,全局均衡度150-2和150-3均高于阈值均衡度,而计算设备120随机地选择全局均衡度150-3作为目标全局均衡度,那么与全局均衡度150-3相对应的候选子集140-3可以被确定为目标子集140-T。以此方式,计算设备120可以确保目标子集140-T的全局均衡度在所有的全局均衡度150-1至150-M中是较高的,从而优化示例存储系统100的性能。
在一些实施例中,由于计算设备120已经确定了全局均衡度150-1至150-M,所以计算设备120可以选择全局均衡度150-1至150-M中的最高全局均衡度作为目标全局均衡度。例如,假设在图1的示例中,全局均衡度150-1至150-M中最高的是全局均衡度150-3,那么计算设备120可以选择全局均衡度150-3作为目标全局均衡度,因此全局均衡度150-3对应的候选子集140-3可以被确定为目标子集140-T。以此方式,计算设备120可以确保目标子集140-T的全局均衡度在所有的全局均衡度150-1至150-M中是最高的,从而使得示例存储系统100的性能最优。
通过示例存储管理方法200,计算设备120可以自动地在存储设备集合110中为数据备份130选出存储设备的目标子集140-T,以用于存储数据副本,而无需人工操作,同时还可以使得整个存储设备集合110具有较高的全局均衡度,从而提高示例存储系统100的自动化水平和性能。
如上文在描述图2的框220时提到的,为了确定与候选子集140-1对应的全局均衡度150-1,计算设备120可以依据存储设备是否属于候选子集140-1而将存储设备110-1至110-N划分为两组,然后针对该两组存储设备来分别确定两组使用度量。下文将参考图5和图6来描述这样的示例。需要说明的是,在下文的描述中,示例性地说明了计算设备120确定第一全局均衡度150-1的示例过程。将明白,计算设备120可以类似地确定与候选子集140-2至140-M相对应的全局均衡度150-2至150-M。
图5示出了根据本公开的实施例的确定与第一候选集合140-1相对应的第一全局均衡度150-1的示例过程500。在一些实施例中,示例过程500可以由示例存储系统100中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现,或者由计算设备120的各种功能模块来实现。在其他实施例中,示例过程500也可以由独立于示例存储系统100的计算设备来实现,或者可以由示例存储系统100中的其他单元或模块来实现。
图6示出了根据本公开的实施例的确定与第一候选集合140-1相对应的第一全局均衡度150-1的示意图。如图6所示,由于第一候选集合140-1被假设用于数据备份130,所以存储设备集合110可以被分成两个部分。一个部分是第一候选集合140-1中的存储设备,另一部分是第一候选集合140-1以外的存储设备,也即第一候选集合140-1的补集,下文可以称为第一补集640-1。针对第一候选集合140-1和第一补集640-1,计算设备120可以采用不同的方式来确定存储设备的使用度量,其中与第一候选集合140-1中的各个存储设备相关联的使用度量可以称为第一组使用度量610,而与第一补集640-1中的各个存储设备相关联的使用度量可以称为第二组使用度量615。然后,计算设备120可以基于第一组使用度量610和第二组使用度量615来得出第一全局均衡度150-1。
具体地,参考图5,在框510处,计算设备120可以确定第一组使用度量610,第一组使用度量610中的使用度量分别对应于第一候选子集140-1中的存储设备。例如,在图6的示例中,第一候选子集140-1包括存储设备110-1、110-2和110-3。因此,第一组使用度量610可以包括存储设备110-1的使用度量610-1、存储设备110-2的使用度量610-2、以及存储设备110-3的使用度量610-3。也就是说,计算设备120可以分别确定存储设备110-1、110-2和110-3各自的使用度量610-1、610-2和610-3。
如上文提到的,在本公开的实施例中,“使用度量”可以是指对存储设备的任何方面的使用程度的度量,例如,可用存储容量的使用程度的度量、输入网络带宽的使用程度的度量、计算资源的使用程度的度量、存储器资源的使用程度的度量,等等。又例如,由于本文的“使用度量”是针对存储设备而言的,而存储设备主要用于存储数据,所以存储设备的数据增加速度可以一般性地表示存储设备的使用程度。因此,总的来说,计算设备120可以通过确定存储设备110-1、110-2和110-3在任何方面被使用的程度,来确定第一组使用度量610中的各个使用度量610-1、610-2和610-3。在一些实施例中,计算设备120可以基于第一候选子集140-1中的存储设备110-1、110-2和110-3的数据增加速度来确定第一组使用度量610。后文将参考图7和图8来描述这样的实施例。
在框520处,计算设备120可以确定第二组使用度量615,第二组使用度量615中的使用度量分别对应于第一候选子集140-1以外的存储设备,也即第一补集640-1中的存储设备。例如,在图6的示例中,第一补集640-1包括存储设备110-4、110-5、……、110-N。因此,第二组使用度量615可以包括存储设备110-4的使用度量610-4、存储设备110-5的使用度量610-5、……、以及存储设备110-N的使用度量610-N。也就是说,计算设备120可以分别确定存储设备110-4至110-N各自的使用度量610-4至610-N。
与确定第一组使用度量610的方式类似,计算设备120可以通过确定存储设备110-4至110-N在任何方面被使用的程度来确定第二组使用度量615中的各个使用度量610-4至610-N。在一些实施例中,计算设备120可以基于第一补集640-1中的存储设备110-4至110-N的数据增加速度来确定第二组使用度量615。后文将参考图13来描述这样的实施例。
在框530处,在确定第一组使用度量610和第二组使用度量615之后,计算设备120可以基于第一组使用度量610和第二组使用度量615来确定第一全局均衡度150-1。例如,计算设备120可以计算存储设备110-1至110-N的使用度量610-1至610-N的标准差,以作为全局均衡度150-1。当然,在其他实施例中,计算设备120也可以采用存储设备110-1至110-N的使用度量610-1至610-N的其他类似的统计指标(例如,方差),以作为全局均衡度150-1。更一般地,计算设备120可以采用能够体现存储设备110-1至110-N的使用度量610-1至610-N的均衡性的任何指标,以作为全局均衡度150-1。
通过示例过程500,计算设备120可以按照存储设备是否用于数据备份130而有区别地确定存储设备的使用度量,进而得出对应的全局均衡度。以此方式,存储设备的使用度量的计算精度和有效性可以被提高,从而对应的全局均衡度的计算精度和有效性也被提高。
如上文在描述图5的框510时提到的,在一些实施例中,计算设备120可以基于第一候选子集140-1中的存储设备110-1、110-2和110-3的数据增加速度来确定第一组使用度量610。下文将参考图7和图8,以第一组使用度量610中的第一使用度量610-1为例来描述这样的实施例。如上文提到的,第一使用度量610-1是与第一候选子集140-1中的第一存储设备110-1相对应的,也即,第一使用度量610-1是第一存储设备110-1的使用度量。需要说明的是,计算设备120可以按照下文参考图7和图8描述的类似方式来确定存储设备110-2的使用度量610-2和存储设备110-3的使用度量610-3,从而确定第一组使用度量610。
图7示出了根据本公开的实施例的确定与第一存储设备110-1相对应的第一使用度量610-1的示例过程700。在一些实施例中,示例过程700可以由示例存储系统100中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现,或者由计算设备120的各种功能模块来实现。在其他实施例中,示例过程700也可以由独立于示例存储系统100的计算设备来实现,或者可以由示例存储系统100中的其他单元或模块来实现。
图8示出了根据本公开的实施例的确定与第一存储设备110-1相对应的第一使用度量610-1的示意图。如图8所示,在计算设备120确定用于数据备份130的存储设备的目标子集140-T之前,第一存储设备110-1可能已经存在已有的备份任务,下文中可以称为第一已有备份任务810。因此,在假设第一候选子集140-1用于数据备份130的情况下,为了计算第一存储设备110-1的第一使用度量610-1,计算设备120需要考虑到第一已有备份任务810和数据备份130两者。当然,在一些实施例中,第一存储设备110-1上可能存在多个已有的备份任务。在这样的情况下,计算设备120可以按照用于第一已有备份任务810的类似方式来处理这些已有的备份任务。
参考图7,在框710处,计算设备120可以确定与第一存储设备110-1的第一已有备份任务810相关联的第一数据增加速度815。一般而言,计算设备120可以通过任何适当的方式来确定第一数据增加速度815。例如,在一些实施例中,计算设备120可以直接查询第一已有备份任务810的相关配置参数(例如,单位时间内需要备份的数据大小),从而获得第一数据增加速度815。在其他实施例中,计算设备120可以基于历史统计或经验值来获得第一数据增加速度815。例如,计算设备120可以计算第一已有备份任务810在过去的单位时间内的数据增加速度(例如,每天增加的数据量),从而估计第一数据增加速度815。
在另外的实施例中,计算设备120可以基于第一已有备份任务810的备份数据大小、数据增加率和数据去重率,来确定第一数据增加速度815。作为示例,假设第一已有备份任务810的每次的备份数据大小是1000GB,这可能是经验值或估计值。此外,假设第一已有备份任务810的恢复点目标(RPO)为4小时,也即,一天需要备份6次,并且连续两次要备份的两个数据副本之间的差异率可以是5%,这可能是经验值或估计值。再者,假设第一已有备份任务810的数据去重率为50倍,这也可能是经验值或估计值。据此,第一已有备份任务810的数据增加率可以估计为6/天×5%=0.3/天。进而,在该示例中,第一数据增加速度815可以计算为
Figure BDA0002623004780000211
以此方式,计算设备120可以相对准确地估计第一数据增加速度815。应当理解,这里列出的各种参数的具体数值仅为示例性的,无意以任何方式限制本公开的范围。在其他实施例中,已有备份任务的备份数据大小、数据增加率和数据去重率可以是任何适当的数值。
在框720处,计算设备120可以确定与数据备份130相关联的附加数据增加速度820。一般而言,计算设备120可以通过任何适当的方式来确定附加数据增加速度820。例如,在一些实施例中,计算设备120可以直接查询数据备份130的相关配置参数(例如,单位时间内需要备份的数据大小),从而获得附加数据增加速度820。在其他实施例中,计算设备120可以基于经验值来获得附加数据增加速度820。例如,计算设备120可以通过引起数据备份130的数据源的相关信息来估计附加数据增加速度820。在另外的实施例中,计算设备120可以基于数据备份130的备份数据大小、数据增加率和数据去重率,来确定附加数据增加速度820。以此方式,计算设备120可以相对准确地估计附加数据增加速度820。具体的确定方式可以类似于上文关于第一已有备份任务810的备份数据大小、数据增加率和数据去重率的相关描述,此处不再赘述。
在框730处,计算设备120可以基于第一数据增加速度815和附加数据增加速度820来确定第一存储设备110-1的第一使用度量610-1。由于第一存储设备110-1主要是用于存储数据的,而第一数据增加速度815和附加数据增加速度820指示了单位时间内将要存储到第一存储设备110-1中的数据量,因此它们可以体现第一存储设备110-1被使用的程度。基于此,在一些实施例中,计算设备120可以直接采用第一数据增加速度815与附加数据增加速度820之和,作为第一使用度量610-1。在其他实施例中,为了更为准确地反映出第一存储设备110-1在某个方面的使用程度,计算设备120还可以进一步考虑第一存储设备110-1的其他参数来确定第一使用度量610-1。下文将参考图9至图12来描述这样的实施例。
通过示例过程700,计算设备120可以分别定量地确定由于第一已有备份任务810和数据备份130在第一存储设备110-1上引起的第一数据增加速度815和附加数据增加速度,进而确定第一存储设备110-1的第一使用度量610-1。以此方式,第一存储设备110-1的第一使用度量610-1的计算精度和有效性可以提高。
图9示出了根据本公开的实施例的确定与第一存储设备110-1相对应的第一可用存储容量的使用度量的示例过程900。在一些实施例中,示例过程900可以由示例存储系统100中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现,或者由计算设备120的各种功能模块来实现。在其他实施例中,示例过程900也可以由独立于示例存储系统100的计算设备来实现,或者可以由示例存储系统100中的其他单元或模块来实现。
图10示出了根据本公开的实施例的确定与第一存储设备110-1相对应的第一可用存储容量1010的使用度量1030的示意图。如图10所示,作为确定第一使用度量610-1的示例方式,在第一数据增加速度815和附加数据增加速度820的基础上,计算设备120可以进一步考虑第一存储设备110-1的第一可用存储容量1010,来确定第一存储设备110-1的第一可用存储容量1010的使用度量1030。下面参考图10来描述图9的示例过程900。
在框910处,计算设备120可以确定第一存储设备110-1的第一可用存储容量1010。例如,计算设备120可以直接查询到第一存储设备110-1的第一可用存储容量1010。当然,计算设备120也可以采用任何其他适当的方式来获得第一存储设备110-1的第一可用存储容量1010,本公开的实施例对此不作限制。
在框920处,计算设备120可以基于第一数据增加速度815和附加数据增加速度820来确定总数据增加速度1020。将明白,总数据增加速度1020指示了单位时间内将要存储到第一存储设备110-1中的总数据量,因此一般性地体现了第一存储设备110-1被使用的程度。在总数据增加速度1020的基础上,计算设备120可以结合第一存储设备110-1的其他参数来进一步计算第一存储设备110-1在某个方面的使用程度。
在框930处,计算设备120可以基于第一可用存储容量1010和总数据增加速度1020,来确定第一可用存储容量1010的使用度量1030。例如,计算设备120可以使用第一可用存储容量1010来除以总数据增加速度1020,从而可以估计出第一存储设备110-1的可用存储容量将在多长时间之后被用尽,也即,第一存储设备110-1多久将被填满。应当理解,该时间长度参数体现了第一存储设备110-1在可用存储容量方面被使用的程度。在一些实施例中,在总数据增加速度1020发生变化的情况下,为了使得该时间长度参数与第一存储设备110-1在其他方面的使用程度具有相同的变化方向(例如,随着总数据增加速度1020的增大而同时增大,或者随着总数据增加速度1020的减小而同时减小),计算设备120也可以使用上述时间长度参数的倒数来表示第一存储设备110-1在可用存储容量方面被使用的程度。
通过示例过程900,计算设备120可以基于总数据增加速度1020和第一可用存储容量1010来定量地确定第一存储设备110-1的第一可用存储容量1010的使用度量1030。以此方式,第一存储设备110-1在可用存储容量方面的使用程度的计算精度和有效性可以提高。
图11示出了根据本公开的实施例的确定与第一存储设备110-1相对应的第一输入网络带宽的使用度量的示例过程1100。在一些实施例中,示例过程1100可以由示例存储系统100中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现,或者由计算设备120的各种功能模块来实现。在其他实施例中,示例过程1100也可以由独立于示例存储系统100的计算设备来实现,或者可以由示例存储系统100中的其他单元或模块来实现。
图12示出了根据本公开的实施例的确定与第一存储设备110-1相对应的第一输入网络带宽1210的使用度量1230的示意图。如图12所示,作为确定第一使用度量610-1的示例方式,在第一数据增加速度815和附加数据增加速度820的基础上,计算设备120可以进一步考虑第一存储设备110-1的第一输入网络带宽1210,来确定第一存储设备110-1的第一输入网络带宽1210的使用度量1230。下面参考图12来描述图11的示例过程1100。
在框1110处,计算设备120可以确定第一存储设备110-1的第一输入网络带宽1210。例如,计算设备120可以直接查询到第一存储设备110-1的第一输入网络带宽1210。当然,计算设备120也可以采用任何其他适当的方式来获得第一存储设备110-1的第一输入网络带宽1210,本公开的实施例对此不作限制。
在框1120处,计算设备120可以基于第一数据增加速度815和附加数据增加速度820来确定总数据增加速度1020。将明白,总数据增加速度1020指示了单位时间内将要存储到第一存储设备110-1中的总数据量,因此一般性地体现了第一存储设备110-1被使用的程度。在总数据增加速度1020的基础上,计算设备120可以结合第一存储设备110-1的其他参数来进一步计算第一存储设备110-1在某个方面的使用程度。
在框1130处,计算设备120可以基于第一输入网络带宽1210和总数据增加速度1020来确定第一输入网络带宽1210的使用度量1230。例如,计算设备120可以使用总数据增加速度1020来除以第一输入网络带宽1210,从而可以估计出第一存储设备110-1的网络带宽使用率,也即,第一存储设备110-1的多大比例的网络带宽将被使用。将理解,该网络带宽使用率参数体现了第一存储设备110-1在输入网络带宽方面被使用的程度。
在一些实施例中,在总数据增加速度1020发生变化的情况下,该网络带宽使用率与上文描述的时间长度参数的倒数可以随着总数据增加速度1020的增大而同时增大,或者随着总数据增加速度1020的减小而同时减小。因此,在这些实施例中,网络带宽使用率和时间长度参数的倒数可以组合地用于评估第一存储设备110-1的使用程度,也即第一使用度量610-1。
通过示例过程1100,计算设备120可以基于总数据增加速度1020和第一输入网络带宽1210来定量地确定第一存储设备110-1的第一输入网络带宽1210的使用度量1230。以此方式,第一存储设备110-1在输入网络带宽方面的使用程度的计算精度和有效性可以提高。
如上文在描述图5的框520时提到的,在一些实施例中,计算设备120可以基于第一补集640-1中的存储设备110-4至110-N的数据增加速度来确定第二组使用度量620。下文将参考图13,以第二组使用度量615中的第二使用度量610-4为例来描述这样的实施例。如上文提到的,第二使用度量610-4是与第一候选子集140-1以外的第二存储设备110-4相对应的,也即,第二使用度量610-4是第二存储设备110-4的使用度量。需要说明的是,计算设备120可以按照下文参考图13描述的类似方式来确定存储设备110-5至110-N的使用度量610-5至610-N,从而确定第二组使用度量615。
图13示出了根据本公开的实施例的确定与第二存储设备110-4相对应的第二使用度量610-4的示意图。如图13所示,在计算设备120确定用于数据备份130的存储设备的目标子集140-T之前,第二存储设备110-4可能已经存在已有的备份任务,本文中可以称为第二已有备份任务1310。因此,在假设第一候选子集140-1用于数据备份130的情况下,第二存储设备110-4将不被用于数据备份130,为了计算第二存储设备110-4的第二使用度量610-4,计算设备120仅需要考虑第二已有备份任务1310。当然,在一些实施例中,第二存储设备110-4上可能存在多个已有的备份任务。在这样的情况下,计算设备120可以按照用于第二已有备份任务1310的类似方式来处理这些已有的备份任务。
参考图13,为了确定第二使用度量610-4,计算设备120可以确定与第二存储设备110-4的第二已有备份任务1310相关联的第二数据增加速度1315。一般而言,计算设备120可以通过任何适当的方式来确定第二数据增加速度1315。例如,在一些实施例中,计算设备120可以直接查询第二已有备份任务1310的相关配置参数(例如,单位时间内需要备份的数据大小),从而获得第二数据增加速度1315。在其他实施例中,计算设备120可以基于历史统计或经验值来获得第二数据增加速度1315。例如,计算设备120可以计算第二已有备份任务1310在过去的单位时间内的数据增加速度(例如,每天增加的数据量),从而估计第二数据增加速度1315。
在另外的实施例中,计算设备120可以基于第二已有备份任务1310的备份数据大小、数据增加率和数据去重率,来确定第二数据增加速度1315。以此方式,计算设备120可以相对准确地估计第二数据增加速度1315。具体的确定方式可以类似于上文关于第一已有备份任务810的备份数据大小、数据增加率和数据去重率的相关描述,此处不再赘述。
在确定第二数据增加速度1315之后,计算设备120可以基于第二数据增加速度1315来确定第二存储设备110-4的第二使用度量610-4。由于第二存储设备110-4主要是用于存储数据的,而第二数据增加速度1315指示了单位时间内将要存储到第二存储设备110-4中的数据量,因此体现了第二存储设备110-4被使用的程度。基于此,在一些实施例中,计算设备120可以直接采用第二数据增加速度1315作为第二使用度量610-4。在其他实施例中,为了更为准确地反映出第二存储设备110-4在某个方面的使用程度,计算设备120还可以进一步考虑第二存储设备110-4的其他参数来确定第二使用度量610-4。下文将参考图14至图15来描述这样的实施例。
通过图13示出的示例方式,计算设备120可以定量地确定由于第二已有备份任务1310在第二存储设备110-4上引起的第二数据增加速度1315,进而确定第二存储设备110-4的第二使用度量610-4。以此方式,第二存储设备110-4的第二使用度量610-4的计算精度和有效性可以提高。
图14示出了根据本公开的实施例的确定与第二存储设备110-4相对应的第二可用存储容量1410的使用度量1430的示意图。如图14所示,作为确定第二使用度量610-4的示例方式,在第二数据增加速度1315的基础上,计算设备120可以进一步考虑第二存储设备110-4的第二可用存储容量1410,来确定第二存储设备110-4的第二可用存储容量1410的使用度量1430。
具体地,计算设备120可以确定第二存储设备110-4的第二可用存储容量1410。例如,计算设备120可以直接查询到第二存储设备110-4的第二可用存储容量1410。当然,计算设备120也可以采用任何其他适当的方式来获得第二存储设备110-4的第二可用存储容量1410,本公开的实施例对此不作限制。
另一方面,第二数据增加速度1315指示了单位时间内将要存储到第二存储设备110-4中的数据量,因此一般性地体现了第二存储设备110-4被使用的程度。在第二数据增加速度1315的基础上,计算设备120可以结合第二存储设备110-4的其他参数来进一步计算第二存储设备110-4在某个方面的使用程度。
因此,计算设备120可以基于第二可用存储容量1410和第二数据增加速度1315,来确定第二可用存储容量1410的使用度量1430。例如,计算设备120可以使用第二可用存储容量1410来除以第二数据增加速度1315,从而可以估计出第二存储设备110-4的可用存储容量将在多长时间之后被用尽,也就是说,第二存储设备110-4多久将被填满。应当理解,该时间长度参数体现了第二存储设备110-4在可用存储容量方面被使用的程度。在一些实施例中,在第二数据增加速度1315发生变化的情况下,为了使得该时间长度参数与第二存储设备110-4在其他方面的使用程度具有相同的变化方向(例如,随着第二数据增加速度1315的增大而同时增大,或者随着第二数据增加速度1315的减小而同时减小),计算设备120也可以使用上述时间长度参数的倒数来表示第二存储设备110-4在可用存储容量方面被使用的程度。
通过图14示出的示例方式,计算设备120可以基于第二数据增加速度1315和第二可用存储容量1410来定量地确定第二存储设备110-4的第二可用存储容量1410的使用度量1430。以此方式,第二存储设备110-4在可用存储容量方面的使用程度的计算精度和有效性可以提高。
图15示出了根据本公开的实施例的确定与第二存储设备110-4相对应的第二输入网络带宽1510的使用度量1530的示意图。如图15所示,作为确定第二使用度量610-4的示例方式,在第二数据增加速度1315的基础上,计算设备120可以进一步考虑第二存储设备110-4的第二输入网络带宽1510,来确定第二存储设备110-4的第二输入网络带宽1510的使用度量1530。
具体地,计算设备120可以确定第二存储设备110-4的第二输入网络带宽1510。例如,计算设备120可以直接查询到第二存储设备110-4的第二输入网络带宽1510。当然,计算设备120也可以采用任何其他适当的方式来获得第二存储设备110-4的第二输入网络带宽1510,本公开的实施例对此不作限制。
另一方面,第二数据增加速度1315指示了单位时间内将要存储到第二存储设备110-4中的数据量,因此一般性地体现了第二存储设备110-4被使用的程度。在第二数据增加速度1315的基础上,计算设备120可以结合第二存储设备110-4的其他参数来进一步计算第二存储设备110-4在某个方面的使用程度。
因此,计算设备120可以基于第二输入网络带宽1510和第二数据增加速度1315,来确定第二输入网络带宽1510的使用度量1530。例如,计算设备120可以使用第二数据增加速度1315来除以第二输入网络带宽1510,从而可以估计出第二存储设备110-4的网络带宽使用率,也即,第二存储设备110-4的多大比例的网络带宽将被使用。将理解,该网络带宽使用率参数体现了第二存储设备110-4在输入网络带宽方面被使用的程度。
在一些实施例中,在第二数据增加速度1315发生变化的情况下,该网络带宽使用率与上文描述的时间长度参数的倒数可以随第二数据增加速度1315的增大而同时增大,或者随着第二数据增加速度1315的减小而同时减小。因此,在这些实施例中,网络带宽使用率和时间长度参数的倒数可以组合地用于评估第二存储设备110-4的使用程度,也即第二使用度量610-4。
通过图15示出的示例方式,计算设备120可以基于第二数据增加速度1315和第二输入网络带宽1510来定量地确定第二存储设备110-4的第二输入网络带宽1510的使用度量1530。以此方式,第二存储设备110-4在输入网络带宽方面的使用程度的计算精度和有效性可以提高。
前文参考图1至图15描述了本公开的技术方案的一些实施例。为了更好地说明本公开的实施例的示例应用场景,后文将参考图16来描述本公开的技术方案在一种示例场景下的应用示例。
图16示出了根据本公开的实施例的在存储设备集合1602中选择用于数据备份的存储设备子集(目标子集)1622的示例操作流程。在图16的示例中,存储系统的存储设备集合1602中可以包括T=6个存储设备(例如,备份站点)S1至S6,它们示意性地被描绘为位于网络中,并且通过网络通信地连接以提供数据备份服务。如图16所示,当前存在新数据源1606,也称为新数据资产(asset)1606,需要通过存储设备集合1602中的存储设备来执行数据备份,并且用户已经针对新数据源1606输入了服务等级协议(SLA)参数1604。例如,服务等级协议参数1604可以指示需要保护的数据源,并且包括所需要的数据副本数目、数据副本之间的阈值距离、以及恢复点目标(RPO),等等。
在下文中,首先不考虑待备份的新数据源1606,然后基于前文描述的本公开的技术方案为存储设备集合1602创建全局均衡度函数GE(也可以称为全局评估函数),其可以是前文描述的全局均衡度的一种实现方式。在一些实施例中,全局均衡度函数GE可以用于评估与候选子集相对应的全局均衡度并且提供相应的评估分数。也就是说,全局均衡度函数GE可以用于计算用于新数据源1606的备份的各种候选子集所对应的全局均衡度,从而选出具有最优全局均衡度的候选子集作为目标子集1622。另外,存储系统可以定期地计算全局均衡度函数GE,以查看存储系统是否均衡。
为了创建全局均衡度函数GE,可以假设存储系统中的每个存储设备S1至S6的地理位置(例如,纬度和经度)、剩余容量、输入网络带宽是已知的。此外,每个存储设备S1至S6上的已有备份任务的每个数据副本之间的差异率的经验值、以及数据副本的去重率的经验值是已知的。具体地,全局均衡度函数GE的创建需要存储系统中的上述参数以及存储系统在当前状况下的上述经验值。例如,采用符号的表达方式,上述这些参数可以表示为:存储设备的剩余容量RCt、存储设备的输入网络带宽NBt、存储设备的总数目T(图16的示例中T=6),其中t表示某个存储设备。
此外,从存储设备上的已有备份策略(也即上文描述的已有备份任务)在后端上造成的数据增加速度可以表示为VEt。在一些实施例中,VEt可以由源数据大小和上述经验值来计算得出。例如,需要复制的源数据大小可以表示为SDSs,例如假定为1000GB。前端的每日数据增长率DDIt可以从前端已有备份的恢复点目标(RPO)中收集,例如假定为4小时,也即一天6个数据副本。此外,相邻的两个数据副本之间的差异率例如假定为5%。然后,存储系统可以得出DDIt=0.3每天。进一步地,存储系统的去重率DR的经验值可以假设是50倍。
在上述假定取值的情况下,后端的每天数据增加速度VEt可以表示为:
Figure BDA0002623004780000301
其中n表示需要保护的源数据的数目,为了简单起见,这里假设该示例中只有一个SDSs,则VEt将被确定为每天6GB。
基于VEt,在可用存储容量方面,存储系统可以针对每个存储设备定义ETFRt,其含义为“估计被填满的时间(倒数)”:
Figure BDA0002623004780000311
然后,存储系统可以将σ1定义为ETFRt的标准差:
Figure BDA0002623004780000312
另外,基于VEt,在输入网络带宽方面,存储系统可以针对每个存储设备定义ETCt,其含义为“网络带宽的占用率”或“估计完成的时间”:
Figure BDA0002623004780000313
然后,存储系统可以定义σ2为ETCt的标准差:
Figure BDA0002623004780000314
因此,全局均衡度函数GE可以定义为:
GE=σ1*v1+σ2*v2+v3
这里v1和v2是自定义权重,以指示σ1和σ2中哪个对用户更重要,v3是增加的值以使结果落在期望的范围内。
需要说明的是,全局均衡度函数GE是可扩展的,其可以根据需要添加更多的考虑因素。此外,要注意的是,全局均衡度函数GE可以代表整个存储系统的全局均衡度。因此,存储系统可以定期地计算全局均衡度函数GE,将结果进行比较以查看存储系统是否运行平稳,GE的值越小,表示存储系统正在更加均衡地利用资源。
接下来考虑添加要保护和复制的新数据源1606。为此,存储系统需要考虑的因素可以包括用户要求的数据副本数目R、任何两个副本之间的距离应当大于的阈值距离、存储设备t1和存储设备t2之间的距离DIST(t1,t2)、新数据源1606需要添加的数据副本的速度V(例如,其计算方法可以与VEt相同)、以及RESt。RESt可以表示存储设备上的除了RCt和NBt之外的剩余资源,例如CPU和存储器等,这些资源可能导致存储设备的容量能处理更多的数据备份请求。
如图16所示,存储系统首先可以从T个存储设备中选择(1652)R个存储设备(在图16的示例中,R=3),从而获得候选子集1610。这在数学上是一个组合问题,因此候选子集1610中的组合数目可以计算如下:
Figure BDA0002623004780000321
从这些S个组合中,存储系统需要排除掉不满足“硬性”要求1612的组合,也即使用“硬性”要求1612来过滤(1664)候选子集1610。例如,“硬性”要求1612可以包括距离(即阈值距离)和RES,其中距离可以由服务等级协议参数1604来指定(1656),而RES可以从存储设备集合1602中获得(1654)。具体地,存储系统可以使用DIST(t1,t2)来计算两个存储设备之间的距离,如果组合中任何两个存储设备之间的距离小于指定的阈值距离,则存储系统可以丢弃该组合。此外,RESt描述了每个存储设备可以处理的容量,如果向存储设备增加多于V的负载,则存储设备可能无法处理并且需要放弃该负载,这意味着该存储设备的容量已用完,也就是说,存储设备无法处理更多的备份请求。因此,RESt与VEt和V的关系可以限定如下:
(VEt+V)*v4>RESt
其中v4是经验值,也可以由用户设置。
需要说明的是,本公开的实施例中的“硬性”要求1612是可扩展的,当有新的“硬性”要求时,存储系统可以将新“硬性”要求添加到“硬性”要求1612。
然后,对于满足阈值距离和RESt要求的其余组合,例如通过“硬性”要求1612的过滤而符合(1670)要求的候选子集可以计算对应的全局均衡度1620,表示为E以区别于上文的GE。例如,存储设备可以基于服务等级协议参数1604提供(1658)的恢复点目标、新数据源1606提供(1660)的源数据大小、以及经验值1608提供(1662)的相关经验值(例如,包括数据差异率和数据去重率),来计算针对新数据源1606的数据增加速度1614,表示为V。
用于计算考虑新数据源1606时的全局均衡度E的公式大体上类似于用于计算GE的公式,不同之处在于被选择用于数据备份的存储设备需要将V添加到VEt。因此,存储系统还需要新数据源1606的数据增加速度1614来提供(1672)计算参数,已知存储参数1616来提供(1666)相关参数(例如,包括可用存储容量和输入网络带宽等),以及已有数据源的数据增加速度1618来提供(1668)的计算参数。全局均衡度E的具体计算公式如下。在计算完所有组合之后,存储系统可以根据静态分析的观点找出最佳解。
Figure BDA0002623004780000331
Figure BDA0002623004780000332
Figure BDA0002623004780000333
作为一种示例,假设所有的组合都满足阈值距离和RESt的要求。每个存储设备的剩余容量RCt和输入网络带宽NBt的取值如下面的表1所示。
表1
Figure BDA0002623004780000334
Figure BDA0002623004780000341
此外,假设v1=v2=1,000并且v3=0,那么全局均衡度GE可以计算为:GE=σ1*v1+σ2*v2+v3=σ1+σ2=10.50608757。
在添加新数据源1606时,假设R=3和V=6GB/天,则S个组合的全局均衡度E可以被计算为如表2所示。
表2
Figure BDA0002623004780000342
Figure BDA0002623004780000351
从表2中可以发现候选子集{s2,s4,s6}具有最高的全局均衡度,因此在用户需要三个数据副本时,也即需要选择三个存储设备情况下,候选子集{s2,s4,s6}是存储设备集合1602,也即{s1,s2,s3,s4,s5,s6}中的最优解。基于此,存储系统可以基于候选子集的全局均衡度1620来确定(1674)目标子集1622为{s2,s4,s6}。当新数据源1606添加到存储系统中时,如果选择{s2,s4,s6}作为备份存储设备,则存储系统将变得比其他组合用于数据备份时更加均衡。
从图16的示例可以看出,本公开的技术方案提供了一种智能方式来(例如,在创建位置服务等级协议SLA时)建议用于数据备份的存储设备(或存储站点)并且对路由进行规划,然后可以转换为备份策略。因此,当用户在不同存储站点中拥有大量存储设备时,本公开的技术方案可以极大地减轻用户(或管理员)的操作负担。
具体地,本公开的技术方案可以帮助用户轻松地选择用于数据备份的存储设备。相比之下,当存在许多存储设备可供选择时,采用传统方式的用户将难以操作。如果使用本公开的技术方案向用户建议用于数据备份的存储设备和路由规划,这将为存储系统引入更多的智能,减少用户的手工工作,并且易于使用。另外,除了满足硬性要求(诸如阈值距离)之外,本公开的技术方案还可以引入有关网络带宽和存储容量的均衡使用的更多智能。换句话说,本公开的技术方案还可以均衡资源使用,例如均衡剩余存储容量和网络带宽的使用。
图17示意性地示出了一种可以被用来实施本公开的实施例的示例设备1700的框图。在一些实施例中,示例设备1700可以是电子设备,其可以用于实施图1中的计算设备120。如图17中所示出的,示例设备1700包括中央处理单元(CPU)1701,其可以根据存储在只读存储设备(ROM)1702中的计算机程序指令或者从存储单元1708加载到随机访问存储设备(RAM)1703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1703中,还可存储示例设备1700操作所需的各种程序和数据。CPU 1701、ROM 1702以及RAM 1703通过总线1704彼此相连。输入/输出(I/O)接口1705也连接至总线1704。
示例设备1700中的多个部件连接至I/O接口1705,包括:输入单元1706,例如键盘、鼠标等;输出单元1707,例如各种类型的显示器、扬声器等;存储单元1708,例如磁盘、光盘等;以及通信单元1709,例如网卡、调制解调器、无线通信收发机等。通信单元1709允许示例设备1700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如示例方法或示例过程可由处理单元1701来执行。例如,在一些实施例中,各种示例方法或示例过程可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1702和/或通信单元1709而被载入和/或安装到示例设备1700上。当计算机程序被加载到RAM 1703并由CPU 1701执行时,可以执行上文描述的示例方法或示例过程的一个或多个步骤。
如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。本文还可能包括其他明确的和隐含的定义。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。
应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。
此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
虽然已经参考若干具体实施例描述了本公开,但是应当理解,本公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。

Claims (31)

1.一种存储管理方法,包括:
在存储设备集合中,确定用于数据备份的存储设备的多个候选子集,所述多个候选子集包括数目基本相同的存储设备;
确定与所述多个候选子集分别对应的全局均衡度,全局均衡度指示在对应候选子集中的存储设备被用于所述数据备份的情况下所述存储设备集合的使用均衡度;以及
基于所述全局均衡度,在所述多个候选子集中确定用于所述数据备份的存储设备的目标子集。
2.根据权利要求1所述的方法,其中所述全局均衡度中的第一全局均衡度与所述多个候选子集中的第一候选子集相对应,并且其中确定所述全局均衡度包括:
确定第一组使用度量,所述第一组使用度量中的使用度量分别对应于所述第一候选子集中的存储设备;
确定第二组使用度量,所述第二组使用度量中的使用度量分别对应于所述第一候选子集以外的存储设备;以及
基于所述第一组使用度量和所述第二组使用度量,来确定所述第一全局均衡度。
3.根据权利要求2所述的方法,其中所述第一组使用度量中的第一使用度量与所述第一候选子集中的第一存储设备相对应,并且其中确定所述第一组使用度量包括:
确定与所述第一存储设备的第一已有备份任务相关联的第一数据增加速度;
确定与所述数据备份相关联的附加数据增加速度;以及
基于所述第一数据增加速度和所述附加数据增加速度,来确定所述第一使用度量。
4.根据权利要求3所述的方法,其中确定所述第一使用度量包括:
确定所述第一存储设备的第一可用存储容量;
基于所述第一数据增加速度和所述附加数据增加速度,来确定总数据增加速度;以及
基于所述第一可用存储容量和所述总数据增加速度,来确定所述第一可用存储容量的使用度量。
5.根据权利要求3所述的方法,其中确定所述第一使用度量包括:
确定所述第一存储设备的第一输入网络带宽;
基于所述第一数据增加速度和所述附加数据增加速度,来确定总数据增加速度;以及
基于所述第一输入网络带宽和所述总数据增加速度,来确定所述第一输入网络带宽的使用度量。
6.根据权利要求3所述的方法,其中确定所述第一数据增加速度包括:
基于所述第一已有备份任务的备份数据大小、数据增加率和数据去重率,来确定所述第一数据增加速度。
7.根据权利要求3所述的方法,其中确定所述附加数据增加速度包括:
基于所述数据备份的备份数据大小、数据增加率和数据去重率,来确定所述附加数据增加速度。
8.根据权利要求2所述的方法,其中所述第二组使用度量中的第二使用度量与所述第一候选子集以外的所述存储设备中的第二存储设备相对应,并且其中确定所述第二组使用度量包括:
确定与所述第二存储设备的第二已有备份任务相关联的第二数据增加速度;以及
基于所述第二数据增加速度来确定所述第二使用度量。
9.根据权利要求8所述的方法,其中确定所述第二使用度量包括:
确定所述第二存储设备的第二可用存储容量;以及
基于所述第二可用存储容量和所述第二数据增加速度,来确定所述第二可用存储容量的使用度量。
10.根据权利要求8所述的方法,其中确定所述第二使用度量包括:
确定所述第二存储设备的第二输入网络带宽;以及
基于所述第二输入网络带宽和所述第二数据增加速度,来确定所述第二输入网络带宽的使用度量。
11.根据权利要求8所述的方法,其中确定所述第二数据增加速度包括:
基于所述第二已有备份任务的备份数据大小、数据增加率和数据去重率,来确定所述第二数据增加速度。
12.根据权利要求1所述的方法,其中确定所述多个候选子集包括:
确定所述数据备份所需要的数据副本数目;
基于所述数据副本数目,从所述存储设备集合中确定多个初始候选子集;以及
基于对所述多个候选子集的预定性能要求,在所述多个初始候选子集中选择所述多个候选子集。
13.根据权利要求12所述的方法,其中所述多个初始候选子集中的存储设备的数目等于所述数据副本数目。
14.根据权利要求12所述的方法,其中所述预定性能要求包括以下至少一者:
所述多个候选子集中的每个候选子集中的任何两个存储设备之间的距离大于阈值距离;以及
所述多个候选子集中的任何存储设备的可用资源量大于阈值资源量。
15.根据权利要求1所述的方法,其中确定所述目标子集包括:
在所述全局均衡度中,确定高于阈值均衡度的目标全局均衡度;以及
确定与所述目标全局均衡度相对应的候选子集,作为所述目标子集。
16.一种电子设备,包括:
至少一个处理器;以及
至少一个存储器,存储有计算机程序指令,所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使所述电子设备:
在存储设备集合中,确定用于数据备份的存储设备的多个候选子集,所述多个候选子集包括数目基本相同的存储设备;
确定与所述多个候选子集分别对应的全局均衡度,全局均衡度指示在对应候选子集中的存储设备被用于所述数据备份的情况下所述存储设备集合的使用均衡度;以及
基于所述全局均衡度,在所述多个候选子集中确定用于所述数据备份的存储设备的目标子集。
17.根据权利要求16所述的电子设备,其中所述全局均衡度中的第一全局均衡度与所述多个候选子集中的第一候选子集相对应,并且其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使所述电子设备通过以下来确定所述全局均衡度:
确定第一组使用度量,所述第一组使用度量中的使用度量分别对应于所述第一候选子集中的存储设备;
确定第二组使用度量,所述第二组使用度量中的使用度量分别对应于所述第一候选子集以外的存储设备;以及
基于所述第一组使用度量和所述第二组使用度量,来确定所述第一全局均衡度。
18.根据权利要求17所述的电子设备,其中所述第一组使用度量中的第一使用度量与所述第一候选子集中的第一存储设备相对应,并且其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使所述电子设备通过以下来确定所述第一组使用度量:
确定与所述第一存储设备的第一已有备份任务相关联的第一数据增加速度;
确定与所述数据备份相关联的附加数据增加速度;以及
基于所述第一数据增加速度和所述附加数据增加速度,来确定所述第一使用度量。
19.根据权利要求18所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使所述电子设备通过以下来确定所述第一使用度量:
确定所述第一存储设备的第一可用存储容量;
基于所述第一数据增加速度和所述附加数据增加速度,来确定总数据增加速度;以及
基于所述第一可用存储容量和所述总数据增加速度,来确定所述第一可用存储容量的使用度量。
20.根据权利要求18所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使所述电子设备通过以下来确定所述第一使用度量:
确定所述第一存储设备的第一输入网络带宽;
基于所述第一数据增加速度和所述附加数据增加速度,来确定总数据增加速度;以及
基于所述第一输入网络带宽和所述总数据增加速度,来确定所述第一输入网络带宽的使用度量。
21.根据权利要求18所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使所述电子设备通过以下来确定所述第一数据增加速度:
基于所述第一已有备份任务的备份数据大小、数据增加率和数据去重率,来确定所述第一数据增加速度。
22.根据权利要求18所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使所述电子设备通过以下来确定所述附加数据增加速度:
基于所述数据备份的备份数据大小、数据增加率和数据去重率,来确定所述附加数据增加速度。
23.根据权利要求17所述的电子设备,其中所述第二组使用度量中的第二使用度量与所述第一候选子集以外的所述存储设备中的第二存储设备相对应,并且其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使所述电子设备通过以下来确定所述第二组使用度量:
确定与所述第二存储设备的第二已有备份任务相关联的第二数据增加速度;以及
基于所述第二数据增加速度来确定所述第二使用度量。
24.根据权利要求23所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使所述电子设备通过以下来确定所述第二使用度量:
确定所述第二存储设备的第二可用存储容量;以及
基于所述第二可用存储容量和所述第二数据增加速度,来确定所述第二可用存储容量的使用度量。
25.根据权利要求23所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使所述电子设备通过以下来确定所述第二使用度量:
确定所述第二存储设备的第二输入网络带宽;以及
基于所述第二输入网络带宽和所述第二数据增加速度,来确定所述第二输入网络带宽的使用度量。
26.根据权利要求23所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使所述电子设备通过以下来确定所述第二数据增加速度:
基于所述第二已有备份任务的备份数据大小、数据增加率和数据去重率,来确定所述第二数据增加速度。
27.根据权利要求16所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使所述电子设备通过以下来确定所述多个候选子集:
确定所述数据备份所需要的数据副本数目;
基于所述数据副本数目,从所述存储设备集合中确定多个初始候选子集;以及
基于对所述多个候选子集的预定性能要求,在所述多个初始候选子集中选择所述多个候选子集。
28.根据权利要求27所述的电子设备,其中所述多个初始候选子集中的存储设备的数目等于所述数据副本数目。
29.根据权利要求27所述的电子设备,其中所述预定性能要求包括以下至少一者:
所述多个候选子集中的每个候选子集中的任何两个存储设备之间的距离大于阈值距离;以及
所述多个候选子集中的任何存储设备的可用资源量大于阈值资源量。
30.根据权利要求16所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使所述电子设备通过以下来确定所述目标子集:
在所述全局均衡度中,确定高于阈值均衡度的目标全局均衡度;以及
确定与所述目标全局均衡度相对应的候选子集,作为所述目标子集。
31.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1-15中任一项所述的方法的步骤。
CN202010788767.0A 2020-08-07 2020-08-07 用于数据备份的存储设备子集的优化选取 Pending CN114064351A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010788767.0A CN114064351A (zh) 2020-08-07 2020-08-07 用于数据备份的存储设备子集的优化选取
US17/039,955 US11301141B2 (en) 2020-08-07 2020-09-30 Optimized selection of subset of storage devices for data backup

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010788767.0A CN114064351A (zh) 2020-08-07 2020-08-07 用于数据备份的存储设备子集的优化选取

Publications (1)

Publication Number Publication Date
CN114064351A true CN114064351A (zh) 2022-02-18

Family

ID=80115037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010788767.0A Pending CN114064351A (zh) 2020-08-07 2020-08-07 用于数据备份的存储设备子集的优化选取

Country Status (2)

Country Link
US (1) US11301141B2 (zh)
CN (1) CN114064351A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114610771A (zh) * 2022-05-16 2022-06-10 广东孺子牛地理信息科技有限公司 一种vr自然灾害场景交互系统、方法及云平台
CN115686939A (zh) * 2022-10-27 2023-02-03 湖南长银五八消费金融股份有限公司 数据备份方法、装置、计算机设备和存储介质
CN116594571A (zh) * 2023-07-11 2023-08-15 苏州浪潮智能科技有限公司 一种存储故障修复方法、系统、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7535828B2 (en) * 2005-03-18 2009-05-19 Cisco Technology, Inc. Algorithm for backup PE selection
US10235096B2 (en) * 2013-12-06 2019-03-19 Concurrent Ventures, LLC System and method for dynamically load balancing storage media devices based on an average or discounted average sustained performance level
US10366103B2 (en) * 2016-11-01 2019-07-30 Sap Se Load balancing for elastic query service system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114610771A (zh) * 2022-05-16 2022-06-10 广东孺子牛地理信息科技有限公司 一种vr自然灾害场景交互系统、方法及云平台
CN114610771B (zh) * 2022-05-16 2022-07-26 广东孺子牛地理信息科技有限公司 一种vr自然灾害场景交互系统、方法及云平台
CN115686939A (zh) * 2022-10-27 2023-02-03 湖南长银五八消费金融股份有限公司 数据备份方法、装置、计算机设备和存储介质
CN116594571A (zh) * 2023-07-11 2023-08-15 苏州浪潮智能科技有限公司 一种存储故障修复方法、系统、设备及介质
CN116594571B (zh) * 2023-07-11 2023-09-29 苏州浪潮智能科技有限公司 一种存储故障修复方法、系统、设备及介质

Also Published As

Publication number Publication date
US20220043581A1 (en) 2022-02-10
US11301141B2 (en) 2022-04-12

Similar Documents

Publication Publication Date Title
CN114064351A (zh) 用于数据备份的存储设备子集的优化选取
US10540113B2 (en) Extent migration in multi-tier storage systems
US10620839B2 (en) Storage pool capacity management
US10715460B2 (en) Opportunistic resource migration to optimize resource placement
CN107562531B (zh) 一种数据均衡方法和装置
US10616134B1 (en) Prioritizing resource hosts for resource placement
US10649811B2 (en) Sunder management for a cluster of disperse nodes
WO2016113153A1 (en) Distributed map reduce network
US10175899B2 (en) Storage site selection in a multi-target environment using weights
CN112005219B (zh) 计算集群中具有数据访问意识的工作负载管理的方法和系统
US9507676B2 (en) Cluster creation and management for workload recovery
CN103827823A (zh) 迁移虚拟机
US11150944B2 (en) Balancing mechanisms in ordered lists of dispatch queues in a computational device
US10754556B2 (en) Prioritization of virtual volumes to take offline in a thin provisioning system
US20130339204A1 (en) Risk-based dynamic geo-location based replication of services in cloud computing
CN109582213A (zh) 数据重构方法及装置、数据存储系统
Taghizadeh et al. A metaheuristic‐based data replica placement approach for data‐intensive IoT applications in the fog computing environment
CN116893933A (zh) 一种边缘计算系统的容灾控制方法、装置及相关设备
Chikhaoui et al. A cost model for hybrid storage systems in a cloud federations
US10909094B1 (en) Migration scheduling for fast-mutating metadata records
US10594620B1 (en) Bit vector analysis for resource placement in a distributed system
US11336519B1 (en) Evaluating placement configurations for distributed resource placement
CN114253936A (zh) 分布式数据库的缩容方法、装置、设备和介质
KR102212108B1 (ko) 스토리지 오케스트레이션의 학습형 최적화 대상 볼륨 선정 방법
US11175959B2 (en) Determine a load balancing mechanism for allocation of shared resources in a storage system by training a machine learning module based on number of I/O operations

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