CN110399313B - 用于提高缓存性能的系统和方法 - Google Patents
用于提高缓存性能的系统和方法 Download PDFInfo
- Publication number
- CN110399313B CN110399313B CN201910332323.3A CN201910332323A CN110399313B CN 110399313 B CN110399313 B CN 110399313B CN 201910332323 A CN201910332323 A CN 201910332323A CN 110399313 B CN110399313 B CN 110399313B
- Authority
- CN
- China
- Prior art keywords
- client
- data
- remote backup
- backup storage
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000003860 storage Methods 0.000 claims abstract description 256
- 238000013500 data storage Methods 0.000 claims abstract description 50
- 230000002085 persistent effect Effects 0.000 claims abstract description 35
- 238000013507 mapping Methods 0.000 claims abstract description 19
- 238000010586 diagram Methods 0.000 description 34
- 238000004458 analytical method Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 239000007787 solid Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000003416 augmentation Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及用于提高缓存性能的系统和方法,并提供了一种用于向远程备份存储装置分配客户端的协调点,其包括持久性存储装置和处理器。该持久性存储装置包括客户端类型到远程备份存储装置的映射。处理器从客户端中的一个客户端获得针对数据的数据存储请求;获得客户端的推断特征;使用客户端的推断特征识别客户端的类型;基于所识别的客户端类型,使用客户端类型到远程备份存储装置的映射来选择远程备份存储装置中的一个远程备份存储装置;以及分配所选择的远程备份存储装置以服务该数据存储请求。
Description
技术领域
本公开涉及数据的存储和备份。
背景技术
计算设备产生,使用并存储数据。数据例如可以是与数据相关联的图像、文档、网页或元数据。数据可存储在持久性存储装置上。存储的数据可从持久性存储装置删除。
可通过将存储在计算设备上的数据存储在第二个计算设备上来备份该数据。第二个计算设备可在地理上与上述计算设备分离。
发明内容
在一个方面中,本发明的一个或多个实施例的用于向远程备份存储装置分配客户端的协调点包括持久性存储装置和处理器。该持久性存储装置包括客户端类型到远程备份存储装置的映射。处理器从所述客户端中的一个客户端获得针对数据的数据存储请求;获得客户端的推断特征;使用客户端的推断特征识别客户端的类型;根据所识别的客户端类型,使用客户端类型到远程备份存储装置的映射选择所述远程备份存储装置中的一个远程备份存储装置;并分配所选的远程备份存储装置以服务于该数据存储请求。
一方面,本发明的一个或多个实施例的一种操作用于向远程备份存储装置分配客户端的协调点的方法包括从客户端中的一个客户端获得针对数据的数据存储请求。该方法还包括在不读取数据的情况下获得客户端的推断特征;使用客户端的推断特征识别客户端的类型;根据所识别的客户端类型,使用客户端类型到远程备份存储装置的映射选择所述远程备份存储装置中的一个远程备份存储装置;并分配所选的远程备份存储装置以服务于数据存储请求。
一方面,本发明的一个或多个实施例的非暂时性计算机可读介质包括计算机可读程序代码,该计算机可读程序代码在由计算机处理器执行时使计算机处理器能够执行向远程备份存储装置分配客户端的方法,该方法包括从客户端中的一个客户端获得针对数据的数据存储请求。该方法还包括在不读取数据的情况下获得客户端的推断特征;使用客户端的推断特征识别客户端的类型;根据所识别的客户端类型,使用客户端类型到远程备份存储装置的映射选择所述远程备份存储装置中的一个远程备份存储装置;并分配所选的远程备份存储装置以服务于数据存储请求。
附图说明
下面将参照附图说明本发明的某些实施例。但是,附图仅通过示例的方式示出了本发明的某些方面或实施方式,并不意味着限制权利要求的范围。
图1示出了本发明的一个或多个实施例的系统的示意图;
图2A示出了本发明的一个或多个实施例的客户端分组的一个示例的示意图;
图2B示出了本发明的一个或多个实施例的示例性网关池的示意图;
图2C示出了本发明的一个或多个实施例的示例性网关的示意图;
图2D示出了本发明的一个或多个实施例的一组示例性存储装置的示意图;
图2E示出了本发明的一个或多个实施例的示例性远程存储装置的示意图;
图3示出了本发明的一个或多个实施例的示例性协调点的示意图;
图4A示出了本发明的一个或多个实施例的示例性客户端池映射的示意图;
图4B示出了本发明的一个或多个实施例的示例性客户端类型的示意图;
图4C示出了为远程备份分配的客户端的示例特性的示意图;
图5A示出了本发明的一个或多个实施例的分配远程备份存储装置以服务于客户端的方法的流程图;
图5B示出了本发明的一个或多个实施例的获得客户端的推断特征的方法的流程图;
图5C示出了本发明的一个或多个实施例的识别客户端的类型的方法的流程图;
图5D示出了本发明的一个或多个实施例的分配所选择的远程备份存储装置以服务于数据存储请求的方法的流程图;
图6A示出了一个示例性系统的示意图;
图6B示出了图5A的示例性系统的客户端的操作系统的示意图;
图6C示出了在将未分配的客户端分配给远程备份存储装置以提供服务之后的图5C的示例性系统的示意图;
图7示出了本发明的一个或多个实施例的计算设备的示意图。
具体实施方式
下面将参照附图说明本发明的具体实施例。在以下说明中,阐述了许多细节作为本发明的示例。本领域技术人员应理解,无需这些具体细节即可实践本发明的一个或多个实施例,并且在不脱离本发明的范围的情况下可做出各种变化或修改。在本文中省略了本领域普通技术人员已知的某些细节,以避免使说明变得模糊。
在以下的附图说明中,在本发明的多个实施例中参照某个附图说明的任何部件可以等同于参照任何其他附图说明的一个或多个以相似方式命名的部件。为了简洁起见,不会参照每个附图重复说明这些部件。因此,每个附图的部件的每个实施例通过引用结合在此,并假定其可选地存在于具有一个或多个以相似方式命名的部件的每个其他附图中。此外,根据本发明的多个实施例,对附图的部件的任何说明应理解为可选的实施例,这种可选的实施例可以是除了相对于任何其他附图中的以相似方式命名的相应部件说明的实施例之外的实施例,与这些实施例结合实施,或者代替这些实施例。
本发明的实施例总体涉及用于管理数据的系统、装置和方法。管理数据可包括将来自客户端的数据存储在存储装置中。存储装置可能远离客户端。例如,存储装置可经由网络可操作地连接至客户端。不同的存储装置可服务于不同客户端的数据存储需求,例如,一个存储装置可仅向一部分客户端提供数据存储服务。
在本发明的一个或多个实施例中,在分配远程备份存储装置以向客户端提供数据存储服务之前,系统可对每个客户端进行推断特征分析。具有相似推断特征的客户端可分配给相同的远程备份存储装置。具有不同推断特征的客户端可分配给不同的远程备份存储装置。如下文中所进一步详述,远程备份存储装置可以是去重数据存储装置,因此,当每个客户端在远程备份存储装置中存储相似数据时,该远程备份存储装置的数据存储效率会高得多。
以推断方式而不是直接方式确定客户端的特征可使系统能够预测客户端将在备份存储装置中存储的数据的类型,而无需访问将被客户端存储的实际数据。这样,在本发明的一个或多个实施例中,对于由远程备份存储装置提供的服务,能够将为该服务存储相似数据的客户端聚合在一起,从而增加数据去重的益处,而无需客户端提供客户端数据。在客户端数据是机密数据的情况下,上述通过推断方式确定客户端的特征的方法能提高客户端的数据安全性,例如,客户端需要提供样本或对客户端数据的其他访问能力,作为从备份存储装置获得数据存储服务的先决条件。
在本发明的一个或多个实施例中,在存储装置中存储数据可能消耗计算资源。如下文中所论述,当不同客户端在去重存储装置中存储不同类型的数据时,去重存储可能消耗更多的计算资源。本发明的一个或多个实施例可通过在向远程备份存储装置分配客户端之前以推断方式确定客户端的特征来降低这种情况发生的可能性。
在本文中所用的计算资源指处理器计算周期、通信带宽、暂时存储输入-输出周期、持久性存储输入-输出周期、和/或暂时或持久性存储器的存储容量。例如可通过随机存取存储器实现暂时存储。用于持久性存储的存储器例如可由固态硬盘驱动器提供。处理器计算周期例如可由中央处理单元提供。通信带宽例如可由网络接口卡提供。
在本发明的一个或多个实施例中,将具有相似推断特征的所有客户端分配给用于数据存储服务的同一个远程备份存储装置。如下文中所进一步详述,通过上述方法分配客户端可防止在为客户端提供服务时导致计算资源严重消耗的系统状况。
上述结果是意料之外的,因为传统网络存储系统中相似工作载荷的聚合通常导致计算资源在某段时间内被过度利用而在其他时间内利用不足。在传统系统中,相似的工作载荷会分布在整个系统中,使得服务于上述工作载荷的峰值计算资源的开销不会强加在同一个远程备份存储装置上。因此,本发明的实施例可提供一种以与向远程备份存储装置分配工作载荷的典型模式相反的方法分配客户端的系统。上述分配客户端的方法是非常规的,因为它有可能将多个客户端的峰值工作载荷强加到同一个远程备份存储装置上。
图1示出了本发明的一个或多个实施例的计算系统。该系统可包括将数据存储在远程备份存储装置(100)中的客户端组(10)。每个客户端组可包括任何数量的客户端。每个远程备份存储装置(100A、100N)可向不同的客户端组(10A、10N)提供数据存储服务。该系统还可包括将未分配的客户端(15)分配给客户端组(10)和/或将客户端从一个客户端组重新分配给另一个客户端组的协调点(140)。未分配的客户端(15)可包括任何数量的客户端。通过将未分配的客户端(15)分配给客户端组(10),该协调点选择将向未分配的客户端(15)提供数据存储服务的远程备份存储装置(100A、100N)。该示例性系统的每个组件可通过有线和无线连接的任何组合可操作地连接。每个系统组件将在下文中说明。
客户端组(10)的客户端和未分配的客户端(15)可以是计算设备。所述计算设备例如可以是移动电话、平板计算机、便携式计算机、台式计算机、服务器、或云资源。计算设备可包括一个或多个处理器、存储器(例如随机存取存储器)和持久性存储装置(例如磁盘驱动器、固态驱动器等)。持久性存储装置可存储计算机指令,例如计算机代码,该计算机指令在由计算设备的处理器执行时使计算设备执行本申请中说明的功能。在不脱离本发明的情况下,客户端可以是其他类型的计算设备。
客户端组(10)的客户端可编程为将数据存储在远程备份存储装置(100)中。通过将数据存储在远程备份存储装置(100)中,客户端可存储数据的备份副本和/或降低客户端的存储装置利用率。
在本发明的一个或多个实施例中,客户端将相应客户端的全部或部分数据的副本存储在远程备份存储装置(100)中。换句话说,远程备份存储装置(100)可用于存储客户端数据的副本。
在本发明的一个或多个实施例中,客户端组的客户端将数据存储在远程备份存储装置(100)中,而不在本地存储数据的副本。换句话说,客户端不是将数据存储到本地存储装置,而是可将数据存储在远程备份存储装置(100)中,从而在存储数据时不使用客户端的本地数据存储资源。欲了解客户端组(10)的更多细节,请参考图2A。
在本发明的一个或多个实施例中,可将每个未分配的客户端(15)分配给一个客户端组(10A、10N),并将其编程为将数据存储在向已分配的客户端组提供数据存储服务的远程备份存储装置(100A、100N)中。每个客户端可从协调点(140)接收相应的分配和编程信息。当各个未分配客户端(15)请求将数据存储在远程备份存储装置(100)中时,协调点(140)可对各个未分配客户端(15)进行分配和编程。在不脱离本发明的情况下,可在其他时间分配各个未分配客户端(15)(例如在首次加入图1的系统时)。某些未分配客户端可保持未分配状态,直到该未分配客户端请求存储数据。
虽然所示每个客户端组(10A、10N)由图1中的独立的远程备份存储装置(100A、100N)服务(即,提供的数据存储服务),但是在不脱离本发明的情况下,一个客户端组也可由多个远程备份存储装置服务。例如,一个客户端组可由多个远程备份存储装置服务。在这种情况下,可针对为服务于客户端组而分配的每个远程备份存储装置上的服务载荷动态地平衡客户端组的存储需求。基于这种平衡,客户端组可由所分配的远程备份存储装置之中的任何一个服务,以在为服务于客户端组而分配的远程备份存储装置之间平衡服务载荷。
如上所述,客户端组(10)可将数据存储在远程备份存储装置(100)中。远程备份存储装置(100)可向客户端组提供数据存储服务。每个远程备份存储装置(例如110A、100N)可包括增强装置(110A、110N)、网关池(120A、120N)和一组存储装置(130A、130N)。远程备份存储装置的每个组件将在下文中说明。
在本发明的一个或多个实施例中,网关池(120A、120N)的网关是计算设备。所述计算设备例如可以是移动电话、平板计算机、便携式计算机、台式计算机、服务器、分布式计算系统或云资源。计算设备可包括一个或多个处理器、存储器(例如随机存取存储器)和持久性存储装置(例如磁盘驱动器、固态驱动器等)。持久性存储装置可存储计算机指令,例如计算机代码,该计算机指令在由计算设备的处理器执行时使计算设备执行本申请中说明的功能。在不脱离本发明的情况下,网关池(120A、120N)的网关也可以是其他类型的计算设备。
在本发明的一个或多个实施例中,网关池(120A、120N)的网关是分布式计算设备。在本文中所用的分布式计算设备指由利用一个或多个独立和/或不同的计算设备的计算资源的逻辑设备提供的功能。例如,在本发明的一个或多个实施例中,网关池(120)的网关可以是包括分布在多个独立和/或不同的计算设备上的组件的分布式设备。在这种情况中,在不脱离本发明的情况下,网关池(120)的网关的功能可由多个不同的计算设备执行。
在本发明的一个或多个实施例中,网关池(120A、120N)的每个网关可与相应池的其他网关协作,以在整个应用中提供所述的网关池(120A、120N)的功能。换句话说,相应池的每个网关可服务于分配给相应池的客户端的数据存储/访问请求,例如向相应的客户端组(10A、10N)提供数据存储服务。
在本发明的一个或多个实施例中,网关池(120A、120N)管理客户端数据。网关池(120A、120N)可通过接收存储客户端数据的请求或通过从客户端组(10)获得客户端数据来管理客户端数据。网关池(120A、120N)可响应于这些请求执行适当的动作来服务于来自客户端的上述存储/访问请求。欲了解网关池(120A、120N)的更多细节,请参考图2B。
网关池(120A、120N)可将客户端数据存储在相应的一组存储装置(130A、130N)中。每个存储装置组(130A、130N)可以是包括物理数据存储资源的装置,例如硬盘驱动器、固态驱动器、磁带驱动器等。存储装置组(130A、130N)可向网关池(120A、120N)提供数据存储服务。
在本发明的一个或多个实施例中,存储装置组(130A、130N)是计算设备。所述计算设备例如可以是移动电话、平板计算机、便携式计算机、台式计算机、服务器、分布式计算系统或云资源。计算设备可包括一个或多个处理器、存储器(例如随机存取存储器)和持久性存储装置(例如磁盘驱动器、固态驱动器等)。持久性存储装置可存储计算机指令,例如计算机代码,该计算机指令在由计算设备的处理器执行时使计算设备执行本申请中说明的功能。在不脱离本发明的情况下,存储装置组(130A、130N)可以是其他类型的计算设备。
在本发明的一个或多个实施例中,存储装置组(130A、130N)是分布式计算设备。在本文中所用的分布式计算设备指由利用一个或多个独立和/或不同的计算设备的计算资源的逻辑设备提供的功能。例如,在本发明的一个或多个实施例中,存储装置组(130A、130N)可以是包括分布在多个独立和/或不同的计算设备上的组件的分布式设备。在这种情况中,存储装置组(130A、130N)的功能可由多个不同的计算设备执行。
存储装置组(130A、130N)可存储客户端数据或提供先前存储的客户端数据。存储装置组(130A、130N)可响应于来自网关池(120A、120N)的请求存储或提供客户端数据。存储装置组(130A、130N)可响应于这些请求执行适当的动作来满足来自网关池的上述存储/访问请求。在本发明的一些实施例中,存储装置组(130A、130N)还可存储直接从客户端组(10)接收的数据,或者将存储的数据直接提供给客户端组(10)。例如,网关池(120A、120N)可协调这种情况,以减少负责服务于来自客户端的数据存储/访问请求的相应网关池的载荷。欲了解存储装置组(130A、130N)的更多细节,请参考图2D。
虽然存储装置组(130A、130N)被示为可操作地连接至独立的网关池(120A、120N),但是在不脱离本发明的情况下,多个存储装置组可以可操作地连接至网关池的任何组合。换句话说,存储装置组可为任意数量的网关池提供存储服务。
在本发明的一个或多个实施例中,增强装置(110A、110N)可有助于客户端组与向该客户端组提供数据存储服务的远程备份存储装置的网关池之间的通信。
在本发明的一个或多个实施例中,增强装置(110A、110N)是计算设备。所述计算设备例如可以是移动电话、平板计算机、便携式计算机、台式计算机、服务器、分布式计算系统或云资源。计算设备可包括一个或多个处理器、存储器(例如随机存取存储器)和持久性存储装置(例如磁盘驱动器、固态驱动器等)。持久性存储装置可存储计算机指令,例如计算机代码,该计算机指令在由计算设备的处理器执行时使计算设备执行本申请中说明的功能。在不脱离本发明的情况下,增强装置(110A、110N)可以是其他类型的计算设备。
在本发明的一个或多个实施例中,增强装置(110A、110N)是分布式计算设备。在本文中所用的分布式计算设备指由利用一个或多个独立和/或不同的计算设备的计算资源的逻辑设备提供的功能。例如,在本发明的一个或多个实施例中,增强装置(110A、110N)可以是包括分布在多个独立和/或不同的计算设备上的组件的分布式设备。在这种情况下,在不脱离本发明的情况下,增强装置(110A、110N)的功能可由多个不同的计算设备执行。
如上所述,网关池(120A、120N)可管理客户端数据。在本发明的一个或多个实施例中,协调点(140)向远程备份存储装置(110)分配客户端,以便为分配的客户端(例如相应的客户端组)提供服务。协调点(140)可根据客户端的推断特征分配客户端。这样做可提高将在远程备份存储装置(110)中存储相似数据的不同客户端分配给同一个远程备份存储装置的可能性。
在本发明的一个或多个实施例中,所述对客户端进行推断特征分析识别客户端的类型,而不询问客户端数据。一种类型的客户端可以是可能存储相似数据的一组客户端。例如,容纳数据库副本的多个客户端可能存储相似的数据。因此,进行推断特征分析使协调点能够识别将来可能存储相似数据的客户端。如下文所述,协调点(140)可将可能存储相似数据的客户端分配给同一个客户端组。这样做可提高存储的数据的去重率,降低存储客户端数据的计算资源开销,和/或减少用于存储客户端数据的通信带宽。
在本发明的一个或多个实施例中,所述对客户端进行推断特征分析可预测客户端可能存储的数据内容。例如,具有不同推断特征的客户端可能正在运行不同类型的应用程序,这些应用程序可能产生不同类型的数据。因此,所述对客户端进行推断特征分析可用于预测客户端数据的内容。
在本发明的一个或多个实施例中,协调点(140)是计算设备。所述计算设备例如可以是移动电话、平板计算机、便携式计算机、台式计算机、服务器、分布式计算系统或云资源。计算设备可包括一个或多个处理器、存储器(例如随机存取存储器)和持久性存储装置(例如磁盘驱动器、固态驱动器等)。持久性存储装置可存储计算机指令,例如计算机代码,该计算机指令在由计算设备的处理器执行时使计算设备执行本申请中说明的功能和图5A-5D中所示的方法。在不脱离本发明的情况下,协调点(140)可以是其他类型的计算设备。
在本发明的一个或多个实施例中,协调点(140)是分布式计算设备。例如,协调点(140)可以是包括分布在多个单独和/或不同的计算设备上的组件的分布式设备。在这种情况下,在不脱离本发明的情况下,协调点(140)的功能可由多个不同的计算设备执行。
在本发明的一个或多个实施例中,协调点(140)分配将由网关池(120)服务的客户端。协调点(140)可进行这种分配,以最大限度地减少为客户端提供服务的计算资源开销。协调点(140)可在考虑以下因素中的一个或多个的基础上根据客户端的推断特征来进行这种分配:(i)客户端的状态,例如该客户端是物理设备还是虚拟设备;(ii)客户端的文件系统;(iii)客户端的操作系统;以及(iv)客户端的存储容量。在不脱离本发明的情况下,进行推断特征分析还可考虑更多、不同或更少的因素。欲了解协调点(140)的更多细节,请参考图3。
为了进一步解释系统组件的操作,图2A-2E和图3示出了图1的系统的组件的示例。虽然这些示意图示出了系统组件的各个部分,但是在不脱离本发明的情况下,系统的每个组件可包括更多、更少或不同的部分。
图2B示出了本发明的一个或多个实施例的示例性客户端组(200)的示意图。示例性客户端组(200)包括客户端(200A、200N)。在不脱离本发明的情况下,示例性客户端组(200)可包括任意数量的客户端。
可通过协调点将示例性客户端组(200)的每个客户端分配给示例性客户端组(200)。协调点可将可能存储相似数据的客户端分配给示例性客户端组(200)。例如,示例性客户端组(200)的所有客户端(200A、200N)可容纳向公司的员工提供电子邮件服务的电子邮件服务器的实例。协调点可根据识别出所有客户端都是相似类型(例如电子邮件服务器类型)的推断特征分析将所有客户端(200A、200N)分配给示例性客户端组(200)。由于该示例的每个客户端容纳电子邮件服务器的一个实例,因此推断特征分析会将它们识别为相同类型,因为每个客户端可能存储相似的数据。
如上所述,每个客户端组可由一个网关池服务。图2B示出了本发明的一个或多个实施例的示例性网关池(210)的示意图。示例性网关池(210)包括网关(210A、210N)。在不脱离本发明的情况下,示例性网关池(210)可包括任意数量的网关。
图2C示出了本发明的一个或多个实施例的示例性网关(220)的示意图。示例性网关(220)包括去重器(220A)和缓存器(220B)。下面论述示例性网关(220)的每个组件。
去重器(220A)可获取客户端数据,并参照已存储在存储装置组中的客户端数据对所述客户端数据进行去重。在本发明的一个或多个实施例中,去重意味着将待存储数据与已存储数据进行比较,并且仅存储与已存储数据不同的待存储数据部分。通过对数据进行去重,可使用相同数量的存储装置来存储更大量的数据。去重器(220A)可使用存储在缓存器(220B)中的数据进行去重。
在本发明的一个或多个实施例中,去重器(220A)是硬件设备。所述硬件设备可包括电路。所述硬件设备例如可以是可编程门阵列、数字信号处理器或专用集成电路。在不脱离本发明的情况下,去重器(220A)可以是其他硬件设备。
在本发明的一个或多个实施例中,去重器(220A)实现为存储在持久性存储装置上的指令,该指令由处理器或其他可编程设备执行。所述处理器或其他可编程设备可包括电路。在执行指令时,所述处理器或其他可编程设备可提供去重器(220A)的功能。
缓存器(220B)可存储数据。所述数据可以是存储在存储装置组中的客户端数据的指纹。所述指纹例如可以是存储在存储装置组中的客户端数据的部分的哈希值。在进行去重时,去重器(220A)可产生客户端数据的哈希值,并将其与缓存器(220B)中的哈希值进行比较,以确定在存储装置组中是否已存储有客户端数据的副本。
在本发明的一个或多个实施例中,缓存器(220B)是硬件设备。所述硬件设备可包括电路。所述硬件设备例如可以是可编程门阵列、固态驱动器、或其他高性能存储器装置。在不脱离本发明的情况下,缓存器(220B)可以是其他硬件设备。
在本发明的一个或多个实施例中,缓存器(220B)实现为存储在持久性存储装置上的指令,该指令由处理器或其他可编程设备执行。所述处理器或其他可编程设备可包括电路。在执行指令时,所述处理器或其他可编程设备可提供缓存器(220B)的功能。
图2D示出了本发明的一个或多个实施例的一组示例性存储装置组(230)的示意图。示例性存储装置组(230)包括任意数量的远程存储装置(230A、230N)。在本发明的一个或多个实施例中,远程存储装置是不与客户端部署在同一位置的存储装置。每个远程存储装置(230A、230N)可以是向网关池的网关提供存储服务的物理或虚拟设备。例如,第一远程存储装置可以是服务器,而第二远程存储装置可以是云资源,即,运行云计算平台的逻辑设备。
图2E示出了本发明的一个或多个实施例的示例性远程存储装置(240)的示意图。示例性远程存储装置(240)可包括持久性存储装置(240A)。持久性存储装置(240A)可容纳去重数据存储装置(240B)。示例性远程存储装置(240)可在去重数据存储装置(240B)中从网关接收去重数据。示例性远程存储装置(240)可响应于来自网关的数据访问请求提供存储在去重数据存储装置(240B)中的数据。
图3示出了本发明的一个或多个实施例的示例性协调点(300)的示意图。示例性协调点(300)可根据客户端的推断特征将客户端分配给客户端组。示例性协调点(300)可包括客户端管理器(310)和持久性存储装置(320)。下面论述示例性协调点(300)的每个组件。
客户端管理器(310)可将客户端分配给客户端组。客户端管理器(310)可根据客户端的推断特征来进行分配。所述推断特征可存储在持久性存储装置(320)中。为了提供上述功能,客户端管理器(310)可执行图5A-5D中所示的完整方法或该方法的一部分。客户端管理器(310)可使用存储在持久性存储装置(320)中的一个或多个数据结构。
在本发明的一个或多个实施例中,客户端管理器(310)是硬件设备。所述硬件设备可包括电路。所述硬件设备例如可以是可编程门阵列、数字信号处理器或专用集成电路。在不脱离本发明的情况下,客户端管理器(310)可以是其他硬件设备。
在本发明的一个或多个实施例中,客户端管理器(310)实现为存储在持久性存储装置上的指令,该指令由处理器或其他可编程设备执行。所述处理器或其他可编程设备可包括电路。在执行指令时,所述处理器或其他可编程设备可提供客户端管理器(310)的功能。
持久性存储装置(320)可以是用于存储数据的硬件设备。所述硬件设备可包括一个或多个硬盘驱动器、固态驱动器和磁带驱动器。在不脱离本发明的情况下,所述硬件设备可以是用于存储数据的其他类型的物理设备。
持久性存储装置(320)可存储客户端管理器(310)使用的数据结构。所述数据结构可包括客户端到客户端组的映射(320A)、客户端类型特征(320B)、以及分配给远程备份存储装置(320C)的客户端的特征。欲了解上述数据结构的更多细节,请参考图4A-4C。
图4A示出了本发明的一个或多个实施例的示例性客户端到客户端组的映射(400)的示意图。示例性客户端到客户端组的映射(400)可将客户端与客户端组相关联。如上所述,不同的客户端组可由不同的远程备份存储装置服务,并且因此将客户端分配给客户端组(即,产生客户端与客户端组之间的关联)会导致所分配的客户端由相应的远程备份存储装置提供数据存储服务。
在本发明的一个或多个实施例中,示例性客户端到客户端组的映射(400)包括条目(401、405)。每个条目可表明客户端与客户端组之间的关联。在本发明的一个或多个实施例中,每个条目可包括客户端标识符(402)和客户端组标识符(403)。因此,通过使用条目,可使用示例性客户端到客户端组的映射(400)来标识任何客户端的客户端组。
示例性客户端到客户端组的映射(400)的条目可由协调点产生。例如,当协调点将客户端分配给客户端组时,协调点可更新示例性客户端到客户端组的映射(400),以反映该分配。可添加包括所分配的客户端的标识符和该客户端被分配到的客户端组的标识符的新条目以反映该分配。
图4B示出了本发明的一个或多个实施例的示例性客户端类型特征(410)的示意图。示例性客户端类型特征(410)可表明每个客户端类型的特征。所述特征可与在产生客户端的推断特征时获得的数据对应。
在本发明的一个或多个实施例中,示例性客户端类型特征(410)包括条目(411、420)。每个条目可表明客户端类型的特征。在本发明的一个或多个实施例中,所述条目包括以下项目中的一个或多个:客户端类型标识符(412)、客户端状态(414)、客户端文件系统(416)、客户端操作系统(418)、以及客户端存储容量(419)。
客户端类型标识符(412)可以是客户端类型的名称。客户端状态(414)可表明客户端是物理实体还是虚拟实体。客户端文件系统(416)可表明客户端的文件系统(例如文件分配表、分层文件系统、新技术文件系统、第二扩展文件系统等)。客户端操作系统(418)可表明客户端的操作系统(Linux、Unix、OSX、Windows等)。客户端存储容量(419)可表明客户端的持久性存储空间的量(例如可用磁盘空间、总磁盘空间等)。
图4C示出了本发明的一个或多个实施例的分配给远程备份存储装置(430)的客户端的示例性特征的示意图。分配给远程备份存储装置(430)的客户端的示例性特征可表明客户端组的每个客户端的特征。所述特征可以是通过对客户端组的客户端进行推断特征分析所确定的特征的统计分析结果。
在本发明的一个或多个实施例中,分配给远程备份存储装置(430)的客户端的示例性特征包括条目(431、440)。每个条目可表明与该条目相关联的客户端组的客户端的特征的统计分析结果。在本发明的一个或多个实施例中,所述条目包括以下项目中的一个或多个:客户端组标识符(432)、平均客户端状态(434)、平均客户端文件系统(436)、平均客户端操作系统(438)、以及平均客户端存储容量(439)。所述条目的每个上述成分可基于对客户端组的每个客户端进行的推断特征分析。
例如,平均客户端状态(434)可以是客户端组的客户端的一个分数,所述客户端是物理机器而不是虚拟机器。在另一个示例中,平均客户端文件系统(436)可以是客户端组的客户端的每个操作系统的分数量。虽然在图4C中是以平均值描述的,但是在不脱离本发明的情况下,每个条目(431、440)的成分也可以是对客户端组的客户端进行的每个推断特征分析所确定的特征的其他描述。
虽然图4A-4C中所示的数据结构被示为条目列表,但是在不脱离本发明的情况下,该数据结构也可按其他格式存储,可划分为多个数据结构,和/或该数据结构的一部分可分布在多个计算设备上。
如上所述,协调点(140,图1)可将客户端、未分配的客户端(15,图1)、或已分配的客户端(10,图1)分配给客户端组。图5A-5D示出了本发明的一个或多个实施例的用于进行分配的方法。本领域普通技术人员应理解,图5A-5D中所示的方法的这些步骤中的一部分或全部可按不同顺序执行,可组合或省略,并且一部分或所有步骤可并行执行。
图5A示出了本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图5A中所示的方法可用于将客户端分配给客户端组。图5A中所示的方法例如可由协调点(140,图1)执行。在不脱离本发明的情况下,图1中所示的系统的其他组件也可执行图5A的方法。
在步骤500中,从客户端获得针对数据的数据存储请求。
在本发明的一个或多个实施例中,所述数据存储请求是从客户端直接获得的。例如,客户端可发送包括数据存储请求的消息。
在本发明的一个或多个实施例中,所述数据存储请求是从客户端间接获得的。例如,可将数据存储请求发送至网关池,而网关池又将该数据存储请求转发至协调点。
在本发明的一个或多个实施例中,所述数据是任何类型的数据。例如,所述数据可以是数据库、文本文档、音频文件、视频文件、或任何其他类型的数据。所述数据库可以是多种数据库类型之一。例如,数据库类型可以是数据库的模型,例如关系数据库、非关系数据库等。例如,第一数据库可以是关系数据库,而第二数据库可以是非关系数据库。在不脱离本发明的情况下,所述数据可包括任意数量的数据。
在本发明的一个或多个实施例中,所述客户端是未分配的客户端。在本发明的一个或多个实施例中,所述客户端是客户端组的客户端,即,已分配的客户端。
在步骤502中,获得客户端的推断特征。
在本发明的一个或多个实施例中,所述推断特征是通过识别客户端的状态、客户端的文件系统、客户端的操作系统、以及客户端的存储容量中的一个或多个来获得的。所述状态可反映客户端是物理机器还是虚拟机器。
在本发明的一个或多个实施例中,所述推断特征是通过向客户端发送请求来获得的。该请求可指定推断特征的参数,例如状态、文件系统、操作系统、存储容量。所述参数可通过来自客户端的包含参数的响应来获得。
在本发明的一个或多个实施例中,所述推断特征是从存储推断特征的服务器(未示出)获得的。例如,当客户端最初打开时,或者在其他类型的情况下,它可向服务器发送推断特征以便存储。这样,客户端的载荷可转移到客户端或协调点处于低载荷状况下时的另一个时段,而不是在客户端请求存储数据时。
在本发明的一个或多个实施例中,所述推断特征是通过图5B中所示的方法获得的。在不脱离本发明的情况下,也可通过其他方法获得所述推断特征。
在步骤504中,使用所获得的客户端的推断特征识别客户端的类型。
在本发明的一个或多个实施例中,通过将推断特征的参数与客户端类型特征(例如图4B中的410)匹配来识别客户端的类型。例如,所述参数可与客户端类型特征的条目匹配。可将具有最佳匹配的条目识别为匹配条目。匹配条目的客户端类型可用作识别的客户端类型。
在本发明的一个或多个实施例中,最佳匹配条目可以是与推断特征的参数最匹配的客户端类型特征条目。最匹配的条目可以是条目的参数与推断特征的参数之间的绝对差异最小的条目。在不脱离本发明的情况下,可使用其他指标来确定最匹配的条目。例如,在计算最匹配的条目时,某些参数可能比其他参数的权重更高。在另一个示例中,最匹配的条目可能需要与某个参数精确匹配并且与其余参数最匹配。
在本发明的一个或多个实施例中,客户端类型可通过图5C中所示的方法识别。在不脱离本发明的情况下,也可通过其他方法识别客户端类型。
在步骤506中,根据所识别的客户端类型选择远程备份存储装置。
如上所述,协调点可将相似的客户端类型分配给某些客户端组,以将它们分配为由特定的远程备份存储装置服务。这样,协调点可聚合可能存储由特定远程备份存储装置服务的相似数据的客户端。
在本发明的一个或多个实施例中,每个客户端组与相应的远程备份存储装置相关联。协调点可选择将客户端分配给与远程备份存储装置对应的客户端组,以选择远程备份存储装置。
在本发明的一个或多个实施例中,远程备份存储装置是在第二远程备份存储装置具有比所选择的远程备份存储装置低的客户端负载时而被选择的。例如,所选择的远程备份存储装置可能服务于十个客户端,而第二远程备份存储装置可能仅服务于一个客户端。上述结果是非常规的,因为它在某些远程备份存储装置上施加的客户端载荷比在其他远程备份存储装置上施加的客户端载荷高。常规的方法可在远程备份存储装置之间对客户端负载进行负载均衡。在本发明的一个或多个实施例中,在此说明的方法是非常规的,因为它会导致远程备份存储装置之间的客户端分布不均衡。
在本发明的一个或多个实施例中,远程备份存储装置的工作负载与其服务的客户端的数量成比例。具有较高客户端负载的远程备份存储装置(即,其服务的客户端的数量较多)具有较高的工作负载。
在步骤508中,分配所选的远程备份存储装置以服务于数据存储请求。
在本发明的一个或多个实施例中,通过将客户端分配给由所选的远程备份存储装置服务的相应客户端组来分配所选的远程备份存储装置。在分配之后,客户端就可凭借处于由所选的远程备份存储装置服务的客户端组中而由所选的远程备份存储装置服务。
在本发明的一个或多个实施例中,通过图5D中所示的方法分配所选的远程备份存储装置。在不脱离本发明的情况下,可通过其他方法分配所选的远程备份存储装置。
该方法可在步骤508之后结束。
图5B示出了本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图5B中所示的方法可用于获得客户端的推断特征。图5B中所示的方法例如可由协调点(140,图1)执行。在不脱离本发明的情况下,图1中所示的系统的其他组件可执行图5B的方法。
在步骤510中,识别客户端的文件系统。
在本发明的一个或多个实施例中,通过向客户端发送请求并从客户端接收指示客户端的文件系统的响应来识别文件系统。
在本发明的一个或多个实施例中,通过监视客户端的通信来识别文件系统。例如,可通过监视由客户端发送的通信的内容或其他特征来识别客户端的文件系统。通过这种方式可识别客户端的文件系统,而无需与客户端直接交互或向客户端施加负载。
在不脱离本发明的情况下,可通过其他方法识别客户端的文件系统。
在步骤512中,识别客户端的状态。
在本发明的一个或多个实施例中,通过向客户端发送请求并从客户端接收指示客户端的状态的响应来识别状态。
在本发明的一个或多个实施例中,所述状态是直接识别的。例如,可通过识别解析至网络上的相同端点的多个客户端来识别状态。像进行类似的解析的其他客户端一样,解析至网络上的相同端点可表明该客户端是虚拟机器。
在不脱离本发明的情况下,可通过其他方法识别客户端的状态。
在步骤514中,识别客户端的存储容量的大小。
在本发明的一个或多个实施例中,通过向客户端发送请求并从客户端接收指示存储容量的响应来识别客户端的存储容量的大小。所述存储容量例如可指客户端的总存储容量或客户端的可用存储容量。
在本发明的一个或多个实施例中,客户端的存储容量是间接地识别的。例如,可通过识别解析至网络上的相同端点的多个客户端来识别状态。像进行类似的解析的其他客户端一样,解析至网络上的相同端点可表明该客户端是虚拟机器。
在不脱离本发明的情况下,可通过其他方法识别客户端的存储容量。
在步骤516中,识别客户端的操作系统。
在本发明的一个或多个实施例中,通过向客户端发送请求并从客户端接收指示客户端的文件系统的响应来识别操作系统。
在本发明的一个或多个实施例中,操作系统是间接地识别的,即,不明确地请求客户端识别其操作系统。例如可通过监视客户端的通信来间接地识别操作系统。例如可通过询问由客户端发送的通信的内容或其他特征来识别客户端的操作系统。通过这种方式可识别客户端的操作系统,而无需与客户端直接交互或向客户端施加负载。
在不脱离本发明的情况下,可通过其他方法识别客户端的操作系统。
该方法可在步骤516之后结束。
图5C示出了本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,可使用图5C中所示的方法识别客户端的类型。图5C中所示的方法例如可由协调点(140,图1)执行。在不脱离本发明的情况下,图1中所示的系统的其他组件可执行图5C的方法。
在步骤520中,基于客户端的推断特征预测数据的内容。
在本发明的一个或多个实施例中,基于推断特征的参数预测内容。例如,可基于客户端的存储容量预测内容。可预测具有相同存储容量的所有客户端具有相似的数据内容。
在步骤522中,将预测的内容与和预测的内容相关联的客户端类型进行匹配。
在本发明的一个或多个实施例中,通过将预测的内容与每个客户端类型的客户端的其他预测数据内容进行比较来进行匹配。
该方法可在步骤522之后结束。
图5D示出了本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图5D中所示的方法可用于分配远程备份存储装置以服务于数据存储请求。图5D中所示的方法例如可由协调点(140,图1)执行。在不脱离本发明的情况下,图1中所示的系统的其他组件也可执行图5D的方法。
在步骤530中,向客户端发送所选的远程备份存储装置的网关的标识符。
在本发明的一个或多个实施例中,向客户端发送标识符使客户端能够与网关通信,并因此与远程备份存储装置通信,其中所述网关是该远程备份存储装置的组件。
在本发明的一个或多个实施例中,向客户端发送标识符会自动将客户端分配给由远程备份存储装置服务的客户端组,其中所述网关是该远程备份存储装置的成员。
在本发明的一个或多个实施例中,向客户端发送网关的标识符会将客户端编程为将数据存储在远程备份存储装置中,其中所述网关是该远程备份存储装置的成员。例如,可将客户端编程为按照协调点的指示将数据存储在远程存储装置中。
该方法可在步骤530之后结束。
为了进一步解释本发明的实施例,在图6A-6C中示出了一个非限制性示例。
例1
考虑如图6A所示的场景,其中系统包括三个客户端(600、602、604),这些客户端已被分配为在远程备份存储装置(606、608)中存储数据。分配的客户端A(600)将数据存储在远程备份存储装置A(606)中,并且分配的客户端B和C(602、604)将数据存储在远程备份存储装置B(608)中。分配的客户端A(600)可在第一客户端组(未示出)中,并且分配的客户端B和C(602、604)可在第二客户端组(未示出)中。
未分配的客户端D(605)请求将数据存储在系统中。协调点(未示出)可获得数据存储请求。
协调点可响应该数据存储请求对未分配的客户端D进行推断特征分析(605)。
图6B示出了客户端(600、602、604和605)的操作系统的示意图。如图中所示,分配的客户端A(600)正在运行BSD,而分配的客户端B和C(602、604)正在运行Unix。与分配的客户端B和C(602、604)一样,未分配的客户端D(605)也在运行Unix。
基于推断特性,协调点识别未分配的客户端D(605)正在运行Unix。然后,协调点将推断特征与分配的客户端的推断特征进行匹配。基于匹配结果,协调点识别未分配的客户端D(605)属于分配的客户端B和C(602、604)的客户端类型。具体而言,由于每个上述客户端运行相同的操作系统,因此协调点确定它们属于相同的客户端类型。
由于未分配的客户端D(605)与分配的客户端B和C(602、604)属于相同的类型,因此协调点对未分配的客户端D(605)进行编程以将数据存储在远程备份存储装置B(608)中,从而将未分配的客户端D(605)分配为同一个客户端组(未示出)的成员,其中分配的客户端B和C(602、604)是该客户端组的成员。
如图6C所示,协调点将未分配的客户端D(605)分配为由具有比其他远程备份存储装置高的工作负载的远程备份存储装置(例如606)服务。该结果与现有系统形成对比,现有系统可能尝试在远程备份存储装置之间对客户端进行负载均衡,例如,向每个远程备份存储装置分配相同数量的客户端,以便由该远程备份存储装置为这些客户端提供服务。
例1在此结束。
如上所述,可使用计算设备来实现本发明的实施例。图6示出了本发明的一个或多个实施例的计算设备的示意图。计算设备(700)可包括一个或多个计算机处理器(702)、非持久性存储装置(704)(例如易失性存储器,例如随机存取存储器(RAM)、高速缓冲存储器)、持久性存储装置(706)(例如硬盘、光驱(例如光盘(CD)驱动器)或数字通用盘(DVD)驱动器、闪存等)、通信接口(712)(例如蓝牙接口、红外线接口、网络接口、光接口等)、输入装置(710)、输出装置(708)、以及许多其他元件(未示出)和功能。这些组件中的每一个将在下文中说明。
在本发明的一个实施例中,计算机处理器(702)可以是用于处理指令的集成电路。例如,计算机处理器可以是一个或多个核心、或者是处理器的微核心。计算设备(700)还可包括一个或多个输入装置(710),例如触摸屏、键盘、鼠标、麦克风、触摸板、电子笔、或任何其他类型的输入装置。此外,通信接口(712)可包括用于将计算设备(700)连接至网络(未示出)(例如局域网(LAN)、广域网(WAN)(例如因特网)、移动网络或任何其他类型的网络)和/或另一个设备(例如另一个计算设备)的集成电路。
在本发明的一个实施例中,计算设备(700)可包括一个或多个输出装置(708),例如屏幕(例如液晶显示屏(LCD)、等离子显示屏、触摸屏、阴极射线管(CRT)监视器、投影仪或其他显示装置)、打印机、外部存储器、或任何其他输出装置。一个或多个输出装置可与输入装置相同或不同。输入和输出装置可通过本地或远程方式连接至计算机处理器(702)、非持久性存储装置(704)和持久性存储装置(706)。存在许多不同类型的计算设备,并且上述输入和输出装置可以采取其他形式。
可使用由数据管理设备的一个或多个处理器执行的指令来实现本发明的一个或多个实施例。此外,这样的指令可与存储在一个或多个非暂时性计算机可读介质上的计算机可读指令对应。
本发明的一个或多个实施例能够解决在网络环境中进行数据存储的问题。在联网环境中,客户端数据可存储在一系列存储装置中。将客户端数据存储在各个去重存储装置中会向系统施加不同的计算资源使用负载。例如,将客户端数据存储在存储与客户端数据不同的数据的去重存储装置中可能会施加很高的计算资源负载。本发明的实施例可通过将具有相似推断特性的所有客户端分配为由特定远程备份存储装置服务来降低存储客户端数据的计算资源开销。这样做会提高分配为由远程备份存储装置服务的每个客户端通过存储网关池存储相似数据的可能性,从而提高存储数据的去重因子。因此,本发明的实施例可通过提高存储数据的去重因子来改善网络环境中的数据存储。
本发明的其他实施例可提供一种无需询问客户端数据就能识别客户端可能强加在远程备份存储装置上的工作负载类型的方法。例如,本发明的实施例可提供一种对客户端进行推断特征分析的方法,该方法无需询问客户端数据就能预测客户端可能存储的数据类型。通过这种方式,本发明的实施例可提高网络环境中的数据安全性,减少访问客户端数据的系统组件的数量。
与当前网络存储系统相比,上述方法导致以非典型的方式向网关池分配客户端,而当前网络存储系统试图通过将执行相似工作负载的客户端分配给不同的远程备份存储装置来分散存储数据的负载。尤其是,当向远程备份存储装置分配客户端时,可将客户端分配给比其他远程备份存储装置的负载重的远程备份存储装置。因此,本发明的实施例可提供一种系统,该系统根据由客户端施加在相应远程备份存储装置上的工作负载的类型向远程备份存储装置分配客户端,而不是基于在远程备份存储装置之间均衡客户端负载的目标进行分配。
上述问题应理解为是本文所公开的本发明的实施例所解决的问题的一些示例,并且本发明不限于解决相同/类似的问题。所公开的发明广泛适用于解决除本文所述的问题之外的一系列问题。
本发明的一个或多个实施例可实现下列一种或多种能力:i)提高用于在去重存储装置中存储数据的去重因子,ii)通过主动地将客户端分配为由已经存储来自执行相似工作负载的其他客户端的数据的存储装置服务来提高网络存储拓扑的数据存储容量,iii)通过减少用于存储客户端数据的存储空间总量来减少用于存储数据的计算资源,以及iv)通过在不访问或询问客户端数据的基础上分配客户端以实现服务来提高网络安全性。
虽然本发明在上文中是参照有限数量的实施例说明的,但是受益于本公开的本领域技术人员能理解,能够设计出不脱离本文中所公开的本发明的范围的其他实施例。因此,本发明的范围仅由所附权利要求限定。
Claims (17)
1. 一种用于向远程备份存储装置分配客户端的协调点,包括:
持久性存储装置,所述持久性存储装置包括客户端的类型到远程备份存储装置的映射;和
处理器,所述处理器被编程为:
从所述客户端中的一个客户端获得针对数据的数据存储请求;
在不读取所述数据的基础上获得所述客户端的推断特征;
使用所述客户端的所述推断特征识别所述客户端的类型,
其中,使用所述客户端的所述推断特征识别所述客户端的类型,所述处理器还被编程为:
基于所述客户端的所述推断特征做出所述数据的内容的预测;且
将所述数据的内容的预测与多种类型中的一种类型匹配,
其中所述多种类型中的每种类型与不同的相应内容相关联;
基于所识别的所述客户端的类型,使用所述客户端的类型到远程备份存储装置的映射来选择所述远程备份存储装置中的一个远程备份存储装置;和
分配所选择的远程备份存储装置以服务所述数据存储请求。
2.根据权利要求1所述的协调点,其中获得所述客户端的所述推断特征包括:
识别所述客户端的文件系统。
3.根据权利要求1所述的协调点,其中获得所述客户端的所述推断特征包括:
识别所述客户端的状态。
4.根据权利要求1所述的协调点,其中获得所述客户端的所述推断特征包括:
识别所述客户端的存储容量的大小。
5.根据权利要求1所述的协调点,其中获得所述客户端的所述推断特征包括:
识别所述客户端的操作系统。
6.根据权利要求1所述的协调点,其中所述数据是对于所述协调点不可读的。
7.根据权利要求1所述的协调点,其中所选择的远程备份存储装置是在所选择的远程备份存储装置具有比所述远程备份存储装置中的第二远程备份存储装置高的工作负载时而被选择的。
8.根据权利要求1所述的协调点,其中,所述客户端的类型到远程备份存储装置的映射将不同类型的客户端与不同的远程备份存储装置相关联。
9.根据权利要求1所述的协调点,其中,所述客户端的类型包括选自由所述客户端的存储容量、所述客户端的文件系统、所述客户端的操作系统和所述客户端的状态组成的组中的至少一个。
10.根据权利要求1所述的协调点,其中分配所选择的远程备份存储装置以服务所述数据存储请求包括:
向所述客户端发送所选择的远程备份存储装置的网关的标识符。
11.根据权利要求1所述的协调点,其中所述处理器还被编程为:
从所述客户端中的第二客户端获得针对第二数据的第二数据存储请求;
获得所述第二客户端的第二推断特征;
使用所述第二推断特征识别所述第二客户端的第二客户类型;
基于所识别的所述第二客户端的第二客户类型,使用所述客户端的类型到远程备份存储装置的映射来选择所述远程备份存储装置中的第二远程备份存储装置;和
分配所选择的第二远程备份存储装置以服务所述第二数据存储请求。
12.根据权利要求11所述的协调点,其中所述数据是第一数据库类型,并且所述第二数据是第二数据库类型。
13.根据权利要求12所述的协调点,其中所述客户端的类型和所述第二客户端的类型是不同的。
14.根据权利要求11所述的协调点,其中,所述数据属于第一数据库类型,并且所述第二数据属于第一数据库类型。
15.根据权利要求14所述的协调点,其中所述客户端的类型和所述第二客户端的类型是不同的。
16.一种操作用于向远程备份存储装置分配客户端的协调点的方法,包括:
从所述客户端中的一个客户端获得针对数据的数据存储请求;
在不读取所述数据的基础上:
获得所述客户端的推断特征;
使用所述客户端的所述推断特征识别所述客户端的类型,其中,使用所述客户端的所述推断特征识别所述客户端的类型包括:
基于所述客户端的所述推断特征做出所述数据的内容的预测;和
将所述数据的内容的预测与多种类型中的一种类型匹配,
其中所述多种类型中的每种类型与不同的相应内容相关联;
基于所识别的所述客户端的类型,使用客户端的类型到远程备份存储装置的映射来选择所述远程备份存储装置中的一个远程备份存储装置;和
分配所选择的远程备份存储装置以服务所述数据存储请求。
17.一种非暂时性计算机可读介质,包括计算机可读程序代码,所述计算机可读程序代码在由计算机处理器执行时使得所述计算机处理器能够执行用于向远程备份存储装置分配客户端的方法,所述方法包括:
从所述客户端中的一个客户端获得针对数据的数据存储请求;
在不读取所述数据的基础上:
获得所述客户端的推断特征;
使用所述客户端的所述推断特征识别所述客户端的类型,其中,使用所述客户端的所述推断特征识别所述客户端的类型包括:
基于所述客户端的所述推断特征做出所述数据的内容的预测;和
将所述数据的内容的预测与多种类型中的一种类型匹配,
其中所述多种类型中的每种类型与不同的相应内容相关联;
基于所识别的所述客户端的类型,使用客户端的类型到远程备份存储装置的映射来选择所述远程备份存储装置中的一个远程备份存储装置;和
分配所选择的远程备份存储装置以服务所述数据存储请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/962,421 US10769030B2 (en) | 2018-04-25 | 2018-04-25 | System and method for improved cache performance |
US15/962,421 | 2018-04-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110399313A CN110399313A (zh) | 2019-11-01 |
CN110399313B true CN110399313B (zh) | 2023-11-03 |
Family
ID=66217842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910332323.3A Active CN110399313B (zh) | 2018-04-25 | 2019-04-24 | 用于提高缓存性能的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10769030B2 (zh) |
EP (1) | EP3561675A1 (zh) |
CN (1) | CN110399313B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1016971A2 (en) * | 1987-12-22 | 2000-07-05 | Sun Microsystems, Inc. | Multiprocessor digital data processing system |
US8484356B1 (en) * | 2011-06-08 | 2013-07-09 | Emc Corporation | System and method for allocating a storage unit for backup in a storage system with load balancing |
CN104123235A (zh) * | 2013-04-26 | 2014-10-29 | 国际商业机器公司 | 访问存储在服务器上高速缓存中的数据记录的设备和方法 |
US9164702B1 (en) * | 2012-09-07 | 2015-10-20 | Google Inc. | Single-sided distributed cache system |
CN106412034A (zh) * | 2016-09-14 | 2017-02-15 | 北京百度网讯科技有限公司 | 业务处理方法及装置 |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5668986A (en) | 1991-10-02 | 1997-09-16 | International Business Machines Corporation | Method and apparatus for handling data storage requests in a distributed data base environment |
US5493689A (en) | 1993-03-01 | 1996-02-20 | International Business Machines Corporation | System for configuring an event driven interface including control blocks defining good loop locations in a memory which represent detection of a characteristic pattern |
US6421317B1 (en) | 1997-11-07 | 2002-07-16 | International Business Machines Corporation | Method and apparatus for an automatic load balancing and back-up of a multi-users network |
US6279011B1 (en) | 1998-06-19 | 2001-08-21 | Network Appliance, Inc. | Backup and restore for heterogeneous file server environment |
US6970913B1 (en) | 1999-07-02 | 2005-11-29 | Cisco Technology, Inc. | Load balancing using distributed forwarding agents with application based feedback for different virtual machines |
US6298451B1 (en) | 1999-11-02 | 2001-10-02 | Idini Corporation | Directory-based failure recovery and load balancing system |
US6826711B2 (en) | 2000-02-18 | 2004-11-30 | Avamar Technologies, Inc. | System and method for data protection with multidimensional parity |
US7143167B2 (en) | 2000-05-02 | 2006-11-28 | Sun Microsystems, Inc. | Method and system for managing high-availability-aware components in a networked computer system |
US6665812B1 (en) | 2000-12-22 | 2003-12-16 | Emc Corporation | Storage array network backup configuration |
US7221945B2 (en) | 2002-05-03 | 2007-05-22 | Leapstone Systems, Inc. | System and method for establishing and controlling access to network resources |
US7529822B2 (en) | 2002-05-31 | 2009-05-05 | Symantec Operating Corporation | Business continuation policy for server consolidation environment |
US20050033818A1 (en) | 2003-01-16 | 2005-02-10 | Jardin Cary Anthony | System and method for distributed database processing in a clustered environment |
CA2520498C (en) | 2003-04-03 | 2012-09-25 | Commvault Systems, Inc. | System and method for dynamically performing storage operations in a computer network |
US7073027B2 (en) | 2003-07-11 | 2006-07-04 | International Business Machines Corporation | Methods, systems and computer program products for controlling caching of distributed data |
US7664847B2 (en) | 2003-08-14 | 2010-02-16 | Oracle International Corporation | Managing workload by service |
US7263529B2 (en) | 2003-08-29 | 2007-08-28 | Pitney Bowes Inc. | Method and system for creating and maintaining a database of user profiles and a related value rating database for information sources and for generating a list of information sources having a high estimated value |
US7302450B2 (en) | 2003-10-02 | 2007-11-27 | International Business Machines Corporation | Workload scheduler with resource optimization factoring |
US7440982B2 (en) | 2003-11-13 | 2008-10-21 | Commvault Systems, Inc. | System and method for stored data archive verification |
CA2544063C (en) | 2003-11-13 | 2013-09-10 | Commvault Systems, Inc. | System and method for combining data streams in pilelined storage operations in a storage network |
US20050149940A1 (en) | 2003-12-31 | 2005-07-07 | Sychron Inc. | System Providing Methodology for Policy-Based Resource Allocation |
US7343459B2 (en) | 2004-04-30 | 2008-03-11 | Commvault Systems, Inc. | Systems and methods for detecting & mitigating storage risks |
US7369505B2 (en) | 2004-06-07 | 2008-05-06 | Ebay Inc. | Method and system to efficiently manage network connection to connect a client and a resource |
US8145872B2 (en) | 2004-11-08 | 2012-03-27 | International Business Machines Corporation | Autonomic self-tuning of database management system in dynamic logical partitioning environment |
US8661216B2 (en) | 2005-12-19 | 2014-02-25 | Commvault Systems, Inc. | Systems and methods for migrating components in a hierarchical storage network |
JP4920391B2 (ja) | 2006-01-06 | 2012-04-18 | 株式会社日立製作所 | 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム |
US7966513B2 (en) | 2006-02-03 | 2011-06-21 | Emc Corporation | Automatic classification of backup clients |
US8209696B2 (en) | 2006-02-13 | 2012-06-26 | Teradata Us, Inc. | Method and system for load balancing a distributed database |
US8286174B1 (en) | 2006-04-17 | 2012-10-09 | Vmware, Inc. | Executing a multicomponent software application on a virtualized computer platform |
US7954143B2 (en) | 2006-11-13 | 2011-05-31 | At&T Intellectual Property I, Lp | Methods, network services, and computer program products for dynamically assigning users to firewall policy groups |
US20080140960A1 (en) | 2006-12-06 | 2008-06-12 | Jason Ferris Basler | System and method for optimizing memory usage during data backup |
WO2008126297A1 (ja) | 2007-03-30 | 2008-10-23 | Fujitsu Limited | バックアップ制御装置 |
US8156502B1 (en) | 2007-06-08 | 2012-04-10 | Hewlett-Packard Development Company, L.P. | Computer resource allocation as a function of demand type |
US9141435B2 (en) | 2007-07-30 | 2015-09-22 | Sybase, Inc. | System and methodology providing workload management in database cluster |
US7904409B2 (en) | 2007-08-01 | 2011-03-08 | Yahoo! Inc. | System and method for global load balancing of requests for content based on membership status of a user with one or more subscription services |
US8387054B1 (en) | 2007-09-28 | 2013-02-26 | Symantec Corporation | Method and apparatus of scheduling data movers |
US20090144388A1 (en) | 2007-11-08 | 2009-06-04 | Rna Networks, Inc. | Network with distributed shared memory |
US8006130B2 (en) | 2007-12-20 | 2011-08-23 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and systems for generating availability management framework (AMF) configurations |
US8375396B2 (en) | 2008-01-31 | 2013-02-12 | Hewlett-Packard Development Company, L.P. | Backup procedure with transparent load balancing |
US8782256B2 (en) | 2008-11-26 | 2014-07-15 | Cisco Technology, Inc. | Deterministic session load-balancing and redundancy of access servers in a computer network |
WO2010127365A1 (en) | 2009-05-01 | 2010-11-04 | Citrix Systems, Inc. | Systems and methods for establishing a cloud bridge between virtual storage resources |
US8578120B2 (en) | 2009-05-22 | 2013-11-05 | Commvault Systems, Inc. | Block-level single instancing |
US9235579B1 (en) | 2009-06-26 | 2016-01-12 | Symantec Corporation | Scalable enterprise data archiving system |
US8607014B2 (en) | 2009-12-22 | 2013-12-10 | At&T Intellectual Property I, L.P. | Multi-autonomous system anycast content delivery network |
AU2011205748B2 (en) | 2010-01-15 | 2014-06-26 | Endurance International Group, Inc. | Unaffiliated web domain hosting service based on a common service architecture |
US8695012B2 (en) | 2010-02-05 | 2014-04-08 | Telefonaktiebolaget L M Ericsson (Publ) | Load and backup assignment balancing in high availability systems |
US9037712B2 (en) | 2010-09-08 | 2015-05-19 | Citrix Systems, Inc. | Systems and methods for self-loading balancing access gateways |
US9372854B2 (en) | 2010-11-08 | 2016-06-21 | Hewlett Packard Enterprise Development Lp | Load balancing backup jobs in a virtualized storage system having a plurality of physical nodes |
US8549247B2 (en) | 2010-12-28 | 2013-10-01 | Hitachi, Ltd. | Storage system, management method of the storage system, and program |
US20120204187A1 (en) | 2011-02-08 | 2012-08-09 | International Business Machines Corporation | Hybrid Cloud Workload Management |
JP5843459B2 (ja) | 2011-03-30 | 2016-01-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体 |
US9172750B2 (en) | 2011-04-26 | 2015-10-27 | Brian J. Bulkowski | Cluster-node load balancing in a distributed database system |
US8458210B2 (en) | 2011-05-06 | 2013-06-04 | Verizon Patent And Licensing Inc. | Database load balancing through dynamic database routing |
US8412900B1 (en) | 2011-09-27 | 2013-04-02 | Hitachi, Ltd. | Storage system and volume pair synchronization method |
US9690694B2 (en) * | 2011-09-27 | 2017-06-27 | Sandisk Technologies, Llc | Apparatus, system, and method for an address translation layer |
US8965921B2 (en) | 2012-06-06 | 2015-02-24 | Rackspace Us, Inc. | Data management and indexing across a distributed database |
US20140025796A1 (en) * | 2012-07-19 | 2014-01-23 | Commvault Systems, Inc. | Automated grouping of computing devices in a networked data storage system |
US9552231B2 (en) | 2012-09-27 | 2017-01-24 | Adobe Systems Incorporated | Client classification-based dynamic allocation of computing infrastructure resources |
US9069482B1 (en) | 2012-12-14 | 2015-06-30 | Emc Corporation | Method and system for dynamic snapshot based backup and recovery operations |
US20140331078A1 (en) | 2013-01-24 | 2014-11-06 | Uri Cohen | Elastic Space-Based Architecture application system for a cloud computing environment |
US9215619B2 (en) | 2013-01-28 | 2015-12-15 | Verizon Patent And Licensing Inc. | Method and system for application-aware load balancing |
GB2510426A (en) | 2013-02-05 | 2014-08-06 | Ibm | Workload balancing in a distributed database |
US9219781B2 (en) | 2013-04-06 | 2015-12-22 | Citrix Systems, Inc. | Systems and methods for GSLB preferred backup list |
US9483361B2 (en) | 2013-05-08 | 2016-11-01 | Commvault Systems, Inc. | Information management cell with failover management capability |
CN104424407A (zh) | 2013-08-27 | 2015-03-18 | 宇宙互联有限公司 | 存储管理系统及方法 |
CN104426938A (zh) | 2013-08-27 | 2015-03-18 | 宇宙互联有限公司 | 存储管理系统及方法 |
TWI568213B (zh) | 2014-04-03 | 2017-01-21 | 財團法人工業技術研究院 | 交談式遠端管理系統及其負載平衡控制方法 |
US9672116B1 (en) | 2014-07-08 | 2017-06-06 | EMC IP Holding Company LLC | Backup using instinctive preferred server order list (PSOL) |
US9489270B2 (en) | 2014-07-31 | 2016-11-08 | International Business Machines Corporation | Managing backup operations from a client system to a primary server and secondary server |
US9367401B2 (en) | 2014-09-30 | 2016-06-14 | Storagecraft Technology Corporation | Utilizing an incremental backup in a decremental backup system |
US9645891B2 (en) | 2014-12-04 | 2017-05-09 | Commvault Systems, Inc. | Opportunistic execution of secondary copy operations |
US9519432B1 (en) | 2015-06-15 | 2016-12-13 | International Business Machines Corporation | Self-adjusting backup operations |
US10275320B2 (en) | 2015-06-26 | 2019-04-30 | Commvault Systems, Inc. | Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation |
US9880880B2 (en) | 2015-06-26 | 2018-01-30 | Amazon Technologies, Inc. | Automatic scaling of computing resources using aggregated metrics |
US9838332B1 (en) | 2015-06-30 | 2017-12-05 | Spanning Cloud Apps Llc | Dynamically meeting slas without provisioning static capacity |
US9984141B2 (en) * | 2015-08-21 | 2018-05-29 | International Business Machines Corporation | Inferring application type based on input-output characteristics of application storage resources |
US10013189B1 (en) | 2015-12-14 | 2018-07-03 | EMC IP Holding Company LLC | Storage volume backup management for multi-tenant environments |
US10250488B2 (en) | 2016-03-01 | 2019-04-02 | International Business Machines Corporation | Link aggregation management with respect to a shared pool of configurable computing resources |
US10331383B2 (en) | 2016-06-24 | 2019-06-25 | International Business Machines Corporation | Updating storage migration rates |
US10423459B1 (en) | 2016-09-23 | 2019-09-24 | Amazon Technologies, Inc. | Resource manager |
US10412022B1 (en) | 2016-10-19 | 2019-09-10 | Amazon Technologies, Inc. | On-premises scaling using a versatile scaling service and an application programming interface management service |
-
2018
- 2018-04-25 US US15/962,421 patent/US10769030B2/en active Active
-
2019
- 2019-04-16 EP EP19169660.8A patent/EP3561675A1/en not_active Withdrawn
- 2019-04-24 CN CN201910332323.3A patent/CN110399313B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1016971A2 (en) * | 1987-12-22 | 2000-07-05 | Sun Microsystems, Inc. | Multiprocessor digital data processing system |
US8484356B1 (en) * | 2011-06-08 | 2013-07-09 | Emc Corporation | System and method for allocating a storage unit for backup in a storage system with load balancing |
US9164702B1 (en) * | 2012-09-07 | 2015-10-20 | Google Inc. | Single-sided distributed cache system |
CN104123235A (zh) * | 2013-04-26 | 2014-10-29 | 国际商业机器公司 | 访问存储在服务器上高速缓存中的数据记录的设备和方法 |
CN106412034A (zh) * | 2016-09-14 | 2017-02-15 | 北京百度网讯科技有限公司 | 业务处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US10769030B2 (en) | 2020-09-08 |
EP3561675A1 (en) | 2019-10-30 |
CN110399313A (zh) | 2019-11-01 |
US20190332493A1 (en) | 2019-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9858124B1 (en) | Dynamic management of data stream processing | |
US8832687B2 (en) | Managing quotas in a distributed virtualization environment | |
US9998531B2 (en) | Computer-based, balanced provisioning and optimization of data transfer resources for products and services | |
US20120263191A1 (en) | Mechanism For Managing Quotas In a Distributed Virtualization Environment | |
CN108132775B (zh) | 一种租户管理系统及方法 | |
WO2022111313A1 (zh) | 一种请求处理方法及微服务系统 | |
US10616134B1 (en) | Prioritizing resource hosts for resource placement | |
US8660996B2 (en) | Monitoring files in cloud-based networks | |
US20110173319A1 (en) | Apparatus and method for operating server using virtualization technique | |
US9645852B2 (en) | Managing a workload in an environment | |
US9558044B2 (en) | Managing resources of a shared pool of configurable computing resources | |
US11546307B2 (en) | Method to implement multi-tenant/shared Redis cluster using envoy | |
US10754368B1 (en) | Method and system for load balancing backup resources | |
US10834189B1 (en) | System and method for managing workload in a pooled environment | |
US11418583B2 (en) | Transaction process management by dynamic transaction aggregation | |
CN110399313B (zh) | 用于提高缓存性能的系统和方法 | |
US10587529B1 (en) | Dynamic selection of router groups to manage computing instances | |
US9641453B2 (en) | Method for prioritizing throughput for network shares | |
KR20040075307A (ko) | 정책 쿼럼 기반의 그리드 자원 관리 시스템 및 그 방법 | |
US11385968B2 (en) | System and method for a dynamic data stream prioritization using content based classification | |
US11119867B1 (en) | System and method for backup storage selection | |
US10942779B1 (en) | Method and system for compliance map engine | |
US10509587B2 (en) | System and method for high priority backup | |
US20210365390A1 (en) | System and method for managing resources of a storage device and quantifying the cost of i/o requests | |
US11082492B2 (en) | System and method for dynamic backup sessions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |