CN117827109A - 数据存储资源管理 - Google Patents
数据存储资源管理 Download PDFInfo
- Publication number
- CN117827109A CN117827109A CN202410001809.XA CN202410001809A CN117827109A CN 117827109 A CN117827109 A CN 117827109A CN 202410001809 A CN202410001809 A CN 202410001809A CN 117827109 A CN117827109 A CN 117827109A
- Authority
- CN
- China
- Prior art keywords
- data storage
- quota
- allocation
- client
- request
- 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
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 208
- 238000007726 management method Methods 0.000 title claims abstract description 26
- 230000004044 response Effects 0.000 claims abstract description 74
- 238000000034 method Methods 0.000 claims description 33
- 238000013523 data management Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 8
- 238000001914 filtration Methods 0.000 description 7
- 230000009467 reduction Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000001932 seasonal effect Effects 0.000 description 2
- 238000013068 supply chain management Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000012925 reference material Substances 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000033458 reproduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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]
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及数据存储资源管理。一种数据中心中的资源管理系统包括一或多个数据存储资源提供者和交易服务器。所述交易服务器经配置以:从客户端接收对数据存储资源的读取和/或写入存取的请求,所述请求包括一或多个规范,以将所述请求的至少一部分提供给所述一或多个数据存储资源提供者,以及接收来自所述一或多个数据存储资源提供者的对所述请求的相应响应,所述响应分别包括一或多个分配选项。所述交易服务器进一步经配置以选择所述一或多个分配选项中的一者用于注册,并向数据管理器注册所述选择的分配选项。所述一或多个数据存储提供者中的至少一者经配置以根据所述所注册的分配选项提供所述数据存储资源。
Description
分案申请的相关信息
本案是分案申请。该分案的母案是申请日为2020年3月13日、申请号为202080032007.5、发明名称为“数据存储资源管理”的发明专利申请案。
技术领域
本公开大体涉及用于管理数据资源的系统和方法,例如定位于数据中心(DC)中或数据中心(DC)可存取的数据存储资源。
背景技术
一些比较的DC管理系统实施可存取DC信息且监控DC组件并负责DC决策的中央管理点。通过中央管理器将每个客户端请求匹配到一或多个存储节点。中央管理器接收来自系统中的组件的监测信息和遥测。
此类系统可具有某些缺点。例如,中央管理点在缩放成大型DC时可成为瓶颈。例如供应多种媒体类型的复杂需求的实施可能具挑战性。新的媒体类型应用规范可被实施或请求,并且可期望地通过新的匹配算法来解决,其配置可能具挑战性。因此,客户端与存储节点之间的总体映射可并非最佳的。
发明内容
在此类比较系统中,当客户端请求数据存储资源(例如,用于存储数据的卷或空间)时,所述客户端可请求管理器提供一个数据存储资源。此供应请求可包含容量或空间规范,并且可包含与例如服务水平协议(SLA)或服务质量(QoS)有关的其它规范。中央管理器可根据规范、存储节点的状态(例如,可用和/或预测容量)和客户端信息在存储节点中的一者中分配卷或空间。在分配之后,客户端可从所分配卷读取及写入。
某些复杂性可使此供应具挑战性。例如,在DC中,多个客户端可运行各种应用程序。数据中心可代管具有不同规范和资源的多个应用程序、虚拟机、容器或微服务。在一些情况下,每个此应用程序都使用持久卷来存储和处理其数据。每个应用程序可使用不同的容量和不同的存储类别,从而转换成不同的存储标准。
另外,数据中心是动态环境,其中应用程序负载可波动。例如,在例如“黑色星期五”的季节性事件期间,商业应用程序可使用比平时更多的存储,且然后在所述事件过去后释放它。
DC管理可包含将存储卷与应用程序相匹配,使得满足应用程序规范,并以最佳或改进的方式利用资源,从而解决峰值状态和稳定状态。此外,当客户端和数据节点被添加到所述数据中心时,DC可解决可缩放性。
对于实施硬盘驱动器(HDD)存储的数据中心,可基于容量来实施供应,并且管理器可定位下一个可用的空闲空间。其它媒体类型(例如固态硬盘(SSD)和非易失性存储器快速(NVMe))以及供应链管理(SCM)的进步可涉及更复杂的供应。另外,应用程序可需要高级或复杂的规范来解决服务级别规范。例如,实时投标应用程序可涉及非常严格的尾延迟要求,而备用应用程序可降低性能,并可利用低成本存储。鉴于此类复杂性,优化数据存储资源分配可具挑战性。
本文描述的一或多个实施例至少解决这些问题。在一些实施例中,DC实施数据管理的分散式方法。在一些实施例中,数据存储资源提供者(例如,其管理数据节点,包含(例如)管理快闪存储器的数据服务器)可与请求数据存储资源的客户端通信以确定数据存储资源分配。例如,所述客户端可与一或多个数据存储资源提供者通信,并且可选择由一个或多个所述数据存储资源提供者提议的或以其它方式对应于一或多个所述数据存储资源提供者的一或多个分配选项,以满足所述客户端的数据存储资源需求中的至少一些。通信可直接在客户端与数据存储资源提供者之间,或可为间接的(例如,经由交易服务器)。在此类通信中不需要使用DC管理器(尽管在一些实施例中可涉及所述DC管理器)。例如,客户端可提交数据存储资源请求,并且可实施协议交换,其中一或多个数据存储资源提供者可响应所述请求(例如,使用所提议的或候选分配选项),并且所述客户端(或交易服务器)可选择候选分配选项。所述DC管理器不需要参与所述过程。对于所述过程中的至少一些,DC管理器可在带外。所述DC管理器可注册选择的分配选项(其在本文中可称为“承诺的选择”),并且可监测数据节点或数据存储资源提供者,例如用于警报或警示,并且可通知适当各方。所述DC管理器可为所述客户端提供数据存储资源配额(allowance),并且可减少所述配额的至少一部分以为所述客户端注册承诺的选择。
在一或多个实施例中,根据第一方面,一种数据中心中的资源管理系统包含一或多个数据存储资源提供者和交易服务器。所述交易服务器经配置以:接收来自客户端的对数据存储资源的读取和/或写入存取的请求,所述请求包含一或多个规范,所述一或多个规范包含空间规范;向所述一或多个数据存储资源提供者提供所述请求的至少一部分;以及接收来自所述一或多个数据存储资源提供者的对所述请求的相应响应,所述响应分别包含一或多个分配选项,所述一或多个分配选项包含一或多个规范,所述一或多个规范包含配额规范。所述交易服务器进一步经配置以选择所述一或多个分配选项中的一者用于注册,并向数据管理器注册所述选择的分配选项。所述一或多个数据存储提供者中的至少一者经配置以根据所述注册的分配选项提供所述数据存储资源。
在一或多个实施例中,根据第二方面,一种数据存储资源管理系统包含经配置以注册分配规范的数据管理器,以及一或多个数据存储资源提供者。所述一或多个数据存储资源提供者中的每一者经配置以:接收来自客户端的对由所述数据存储资源提供者管理的数据存储资源的读取和/或写入存取的请求,所述请求包含一或多个规范,所述一或多个规范包含空间规范;向所述客户端提供对所述请求的响应,所述响应包括一或多个分配选项,所述一或多个分配选项包含一或多个规范,所述一或多个规范包含配额规范;接收来自所述数据管理器的所述一或多个分配选项中的至少一者已被注册的指示,并根据所述注册的分配选项提供所述数据存储资源。
在一或多个实施例中,根据第三方面,一种管理数据存储资源的方法包含:由客户端装置将对数据存储资源的读取和/或写入存取的请求传输给一或多个数据存储资源提供者,所述请求包含一或多个规范,所述一或多个规范包含空间规范;由所述客户端装置接收来自所述一或多个数据存储资源提供者的对所述请求的多个响应,所述响应分别包含一或多个分配选项,所述一或多个分配选项包含一或多个规范,所述一或多个规范包含包含空间规范的配额规范和包含配额量的配额规范;由所述客户端装置选择所述一或多个分配选项中的一者;由所述客户端装置向数据管理器注册所述选择的分配选项,并根据所述注册的分配选项对由所述数据存储资源提供者中的至少一者管理的数据存储器执行读取或写入操作。
附图说明
图1A展示比较的数据管理系统的概述。
图1B展示根据本公开的实施例的数据管理系统的概述。
图1C展示根据本公开的实施例的包含交易服务器的数据管理系统的概述。
图2是根据本公开的实施例的数据管理系统的框图。
图3是展示根据本公开的实施例的用于管理数据存储资源的实例方法的流程图。
图4是展示根据本公开的实施例的用于管理数据存储资源的实例方法的流程图。
图5是说明根据本公开的实施例的确定提议的配额的实例方法的曲线图。
具体实施方式
本文描述的实施例提供使用分散式方法的改进的数据管理(例如,用于DC)。在一些实施例中,客户端可提交数据存储资源请求,并且可发生协议交换,其中多个数据存储资源提供者可用相应的候选分配选项响应所述请求,并且候选分配选项中的一或多者可被选择为承诺的选择。DC管理器可管理客户端的配额。所承诺的选择可指定配额量,且DC管理器可从客户端的配额中转移或移除配额量。因此,代替其中中央DC管理器管理数据存储资源供应的所有或大部分方面的系统,所述系统由于DC管理器的限制可导致瓶颈,本文描述的实施例在数据存储资源提供者与一或多个客户端之间提供特定的动态,所述动态避免此类瓶颈,并且可容易地供应具有不同规范(例如涉及不同容量、存储类别、包含SLA或QoS规范的质量规范以及其它复杂性)的大量不同应用程序、虚拟机、容器或微服务。所述特定动态中的一些包含对从客户端到数据存储资源提供者的供应的特定请求,来自数据存储资源提供者的响应(包含指定配额量的分配选项),所述选项的选择,所述选项的注册和经由转移或减少客户端配额来考量注册,以及根据所述选项的供应。
图1A展示比较的数据管理系统的概述。在图1A中,多个客户端经配置以请求来自中央DC管理器的供应。数据节点可在其安装、委托或升级时向DC管理器注册其自身,从而向DC管理器提供关于其存储属性和能力的信息。DC管理器可接收请求,并且可响应地选择注册的数据节点来满足请求。DC管理器也可监测数据节点的可能出现的警报或问题。DC管理器可在选择数据节点以满足请求之后,响应客户端以向其通知其具有对所选节点的读取/写入权限。在此之后,客户端可向所供应的数据节点提交读取/写入请求。如上文讨论,在此系统中可出现某些挑战。例如,由于DC管理器的限制,可出现瓶颈,并且可能难以最佳地供应针对不同的容量、存储类别和质量规范的大量不同客户端需求。
图1B展示根据本公开的实施例的数据管理系统100的概述。数据管理系统100包含客户端102、数据存储资源提供者106和数据管理器108,下文详细讨论。数据管理系统100可提供数据管理的分散式方法,其中客户端102可向数据管理器108执行初始注册,并且数据管理器108可向客户端102提供或指派配额。客户端102可向数据存储资源提供者106提交分配选项的请求,在此之后可进行协议交换,其中数据存储资源提供者106可提供对包含一或多个候选分配选项的请求的相应响应,并且可由客户端102选择候选分配选项中的一或多者作为承诺的选择。数据存储资源提供者106可通过承诺所述选择来响应,并且承诺的副本或指示可被发送到数据管理器108(例如,由数据存储资源提供者108)。数据管理器108可管理客户端102的配额,可注册所承诺的选择,并且可从客户端的配额转移或移除配额量,并且用剩余的配额更新客户端102。
图1C展示根据本公开的实施例的包含交易服务器104(下文详细描述)的数据管理系统100的概述。交易服务器104可提供客户端102与数据存储资源提供者106之间的通信。交易服务器104可接收来自客户端102的供应请求,且可将供应请求传输给数据存储资源提供者106。在一些实施例中,数据存储资源提供者106可对交易服务器进行关于供应请求的轮询或查询,并且交易服务器104可相应地提供关于从客户端102接收的供应请求的信息。数据存储资源提供者106可向交易服务器104提供对供应请求的响应(其包含分配选项)。在一些实施例中,交易服务器104选择分配选项并向数据管理器108注册承诺的选择。在一些实施例中,交易服务器104选择分配选项并通知数据存储资源提供者106,且数据存储资源提供者106向数据管理器108通知承诺的选择。在一些实施例中,交易服务器104将响应传输到客户端102,并且客户端102选择分配选项并向交易服务器104或数据管理器108通知承诺的选择。
图2是根据本公开的实施例的数据管理系统100的框图。数据管理系统100可包含一或多个客户端102、交易服务器104、一或多个数据存储资源提供者106和数据管理器108。一或多个客户端102、交易服务器104、一或多个数据存储资源提供者106和数据管理器108可通信地连接(例如,经由DC私人网络)。数据管理系统100可对应于一或多个DC,并且可提供如本文所述的分散式数据管理方法。
一或多个客户端102可包含一或多个客户端装置,或可表示寻求数据存储资源的一或多个客户端装置。为了方便起见,一或多个客户端102可在本文以单数指代。客户端102可包含主机、服务器或经配置以传输用于存储或处理的数据的其它装置。客户端102可包含处理器202、账户管理器204和分配管理者206。处理器202可包含一或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。处理器202可经配置以执行存储在存储器中(机器可读媒体上)的固件、软件和指令,例如包含在本文描述的客户端102的组件中或本文描述的客户端102的组件可存取的指令。
账户管理器204可包含用于与数据管理器108进行关于由数据管理器108管理的客户端账户的通信的逻辑、硬件或固件。客户端账户可包含数据管理系统100的数据存储资源或由数据管理系统100管理的数据存储资源的配额。账户管理器204可请求数据管理器108生成或注册客户端账户,可请求客户端账户的初始配额,并且可请求客户端账户的配额的增加或其它调整。例如,账户管理器204可执行或参与配额的购买,或配额的增加。可根据与数据管理器108的协议来执行购买。
账户管理器204可提供用于管理客户端账户的用户接口(例如,图形用户接口(GUI))。例如,账户管理器204的用户可使用GUI来登录或存取客户端账户,这可包含提交登录凭证。GUI可用于向数据管理器108提交对配额的调整的请求。GUI可用于管理分配规范216。GUI可用于审查及/或选择分配选项226。
分配管理器206可包含用于管理供应请求和用于管理分配选项226的选择和/或用于实施协议交换的逻辑、硬件或固件。分配管理者206可存取、设置或以其它方式管理用于客户端102或用于由客户端102存取的客户端账户的分配规范216。例如,可使用GUI来设置分配规范216。分配规范216可包含各种规范。例如,分配规范216可包含指定期望的、优选的或所需的数据存储空间(例如,存储器(例如快闪存储器)的量)的空间规范。空间规范可包含存储规范,其包含(例如)容量、每秒输入/输出操作(IOps)、带宽、延迟、尾延迟、耐久性(保持保证、每天驱动器写入(DWPD))和可靠性冗余(例如,RAID、数据镜像和复制以及擦除编码)。
上述空间规范可用于第一数据存储空间,并且空间规范还可指定第二(例如,备用)期望的、优选的或所需的数据存储空间,当第一数据存储空间不可用时,所述第二(例如,备用)数据存储空间可用作辅助选项。空间规范可指定额外的期望的、优选的或所需的数据存储空间。可对数据存储空间进行排名或排序或以其它方式进行优先化(例如,首先寻求最高排名的数据存储空间,且然后寻求下一个排名的数据存储空间,等等)。一般来说,本文描述的包含分配规范216和规范222(下文描述)的规范可包含此类备用选项(例如,当第一选项无法实施或将不实施或难以实施时,可实施所述选项)。
分配规范216可包含配额规范,所述配额规范包含初始配额提议218。初始配额提议218可指定客户端102愿意从客户端账户转移、已经扣除或以其它方式放弃以换取数据存储资源(例如,满足分配规范的其它规范的数据存储资源)的供应的配额数量。初始配额提议218可为所需配额量,并且只有与所需配额量匹配的分配选项226(例如,为所需配额量或为大于所需配额量的配额量供应数据存储资源)可为此配额规范的可接受匹配。初始配额提议218可为匹配分配规范216和分配选项226的匹配过程的起点或输入,并且配额规范216可指示初始配额提议218不是硬要求。例如,配额规范216可指示初始配额提议218将要用于供应的初始请求中。配额规范216可指示用于匹配分配选项226的可接受配额量的范围(例如,可指定最小可接受配额量)。
分配管理者206可基于可用配额(例如,包含在客户端账户中的配额)来确定初始配额提议218。例如,分配管理者206可将初始配额提议确定为可用配额的递增函数(例如,单调递增函数)。因此,可用配额越高,初始配额提议218可越高。
配额规范216可包含一或多个质量规范。例如,质量规范可包含SLA或QoS规范。质量规范可包含第一优选质量规范,并且可包含第二(例如,备用)质量规范。在一些实施例中,第一质量规范可与第一配额量相关联,且第二质量规范可与第二配额量相关联。第二质量规范可低于第一质量规范,且第二配额量可低于第一配额量。相关联的第一质量规范和第一配额量可被包含在优选供应中,并且相关联的第二质量规范和第二配额量可被包含在备用供应中,两个供应都包含在供应请求中。数据系统100可确定是否可满足优选供应,且如果不满足,那么可确定是否可满足备用供应。
分配规范216可包含时序规范。例如,时序规范可与其它规范相关联,并且可包含指定在其期间其它规范有效、生效或需要的一或多个时间段的有效性时间框架。时序规范可包含指定在其期间其它规范不再有效、生效或需要的一或多个时间段的到期时间。因此,时序规范可对其它规范设置时间限制(例如,可指定有效期),或可提供以特定时序实施特定规范(例如,季节性地与假日或季节性事件重合,例如黑色星期五、网购星期一等,这可涉及较大的数据存储需求))。
分配管理者206可使用分配规范216来生成供应请求212,并且可将请求212传输到交易服务器104。在省略交易服务器104的一些实施例中,分配管理者206可将请求212传输到一或多个数据存储资源提供者106。请求212可包含分配规范216中所包含的任何规范。响应于经由由账户管理器204提供给客户端102的用户的GUI接收的请求,可生成和传输请求212。
分配管理者206可基于分配规范216选择由数据存储提供者106(例如,经由交易服务器104)提供的分配选项226。在其它实施例中,交易服务器104可选择分配选项226,并且可向客户端102通知选择的分配选项226的选择和/或注册。
例如,分配管理者206可接收来自数据存储资源提供者106的包含分配选项226的对供应请求212的响应214,并且分配管理者206可根据分配规范216选择分配选项226。在一些实施例中,分配管理者206选择具有分配选项226的最低配额量(例如,其满足最小空间规范)的分配选项226(例如,其满足最小空间规范)。在一些实施例中,分配管理者206可选择多个分配选项226以满足供应请求212(例如,单个供应请求)。分配管理者206可选择多个分配选项226,以使总配额量最小化、使质量最大化或在两者之间取得平衡。
例如,分配管理者206可可选地对包含在对供应请求212的接收到的响应214中的分配选项226执行初始过滤操作,以过滤掉不满足最小质量规范的分配选项226(在一些实施例中,数据存储资源提供者106可经配置以仅发送满足供应请求212中指定的最小质量的分配选项226,并且可省略由客户端102进行的此过滤)。分配管理者206可为正被考虑的(剩余)分配选项226中的每一个确定空间配额比。分配管理者206可使用具有最高空间配额比的分配选项226填充空间规范(例如,可选择具有最高空间配额比的第一分配选项226,可确定是否还有更多的空间需求有待满足,可选择具有下一最高空间配额比的第二分配选项226,等等,直到空间规范被满足)。
在一些实施例中,对从数据存储资源存储提供者106接收的供应请求的响应214可包含故障策略226,所述故障策略226指定将要在某些条件下使用的备用分配选项226。例如,响应214可包含第一组规范222(例如,包含第一较高质量规范和第一较高配额量)和第二组规范222(例如,包含第二较低质量规范和第二较低配额量),以及故障策略227,所述故障策略227指定如果不能或将不提供与第一组规范216匹配的供应,那么可取而代之提供与第二组规范216匹配的供应。故障策略227还可指定实施两组规范222的方式。例如,如果在经过由时序规范指定的供应期的中途发生未能满足第一组规范222,那么供应的总配额量可被确定为(i)针对在其期间提供与第一组规范匹配的供应的时段按比例分配的第一配额量和(ii)针对在其期间提供与第二组规范匹配的供应的时段按比例分配的第二配额量的总和。故障策略227还可指定减少(例如,相对于分配选项的总时段,固定减少或与其中未满足第一组规范222的时段成比例的减少),所述减少在分配选项226的总时段内未满足第一组规范222的情况下适用。
分配管理者206还可确定用于选择分配选项226的选项选择偏好220,并且可将选项选择偏好220传输到交易服务器104。选项选择偏好220可包含(例如)关于分配选项226的可靠性的可靠性偏好。分配选项226的可靠性可反映在可靠性分数224(例如,由分配管理者206、由交易服务器104或由数据管理器108确定的分数)中,并且可靠性偏好可包含对高可靠性分数224(例如,高于阈值)的偏好。可靠性可基于例如提议分配选项226的特定数据存储资源提供者106的历史可靠性或将要用于满足分配选项226的供应的一或多个数据节点的可靠性,或者基于数据存储资源提供者106关于可靠性(例如,特定提议的分配选项226)的自我评估。选项选择偏好220还可基于可靠性分数224指示分配选项226的配额量的加权(例如,基于可靠性分数224的函数确定权重,其中较低的可靠性分数224导致较高的权重应用于配额量)。选项选择偏好220还可包含对于质量和低配额量的相对偏好,因此允许客户端102指定关于质量与低配额量之间的潜在权衡的偏好。
因此,在一些实施例中,客户端102的分配管理者206从由数据存储资源提供者106提议的多个分配选项中选择分配选项226。在此类实施例中,交易服务器104可充当数据存储资源提供者106和客户端102之间的中介,并且客户端102可将选择的分配选项226的指示传输到交易服务器以用于向数据管理器108注册,或分配管理者206可直接向数据管理器108注册选择的分配选项226,或数据存储资源提供者106可向数据管理器108注册选择的分配选项226。在其它实施例中,分配管理者206可确定用于选择分配选项226的参数、规范或偏好(例如,包含上面讨论的任何算法、过程或规范)并将其传输到交易服务器104,且交易服务器105的请求和响应管理器(RRM)210可基于用于选择分配选项的参数、规范或偏好来选择分配选项226。
交易服务器104包含处理器208和RRM 210。交易服务器还可在RRM 210可存取的存储器中存储一或多个请求212(例如,请求212A到212N)和一或多个响应214(例如,响应214A到214N)。交易服务器可经配置以充当数据存储资源提供者106和客户端102之间的中介,为客户端102选择分配选项,并向数据管理器108注册选择的分配选项226。在一些实施例中,可省略交易服务器104,客户端可与数据存储资源提供者106直接通信,并且客户端102可执行本文描述的由交易服务器104执行的过程。
处理器208可包含一或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。处理器208可经配置以执行存储在存储器中(机器可读媒体上)的固件、软件和指令,例如包含在本文描述的交易服务器104的组件中或其可存取的指令。
RRM 210可包含用于管理供应请求、用于实施协议交换以及用于管理供应请求和/或分配选项的选择的逻辑、硬件或固件。RRM 210可管理从客户端102接收的供应请求,例如请求212A。请求212A可包含规范216、初始配额提议218和选项选择偏好220。
请求212的至少一部分的实例如下文展示:
表1:
供应的请求
·容量 100GB
·持续时间 10天
·服务水平
·可靠性 2个驱动故障
·耐久性 3个DWPD
配额量:100
RRM 210可接收来自客户端102的请求212。请求可包含(例如)规范216、初始配额提议218和选项选择偏好220。规范216可包含容量或空间规范、质量规范、时序规范、配额规范或其它规范(例如,本文描述的任何规范)。请求可包含客户端102的标识,或与客户端102相关联的客户端账户的标识。
初始配额提议218可指定客户端102愿意从客户端账户转移、已经扣除或以其它方式放弃以换取数据存储资源(例如,满足分配规范的其它规范的数据存储资源)的供应的配额数量。初始配额提议216可为所需配额量,并且只有与所需配额量匹配的分配选项(例如,为所需配额量或为大于所需配额量的配额量供应数据存储资源)可为此配额规范的可接受匹配。初始配额提议216可为匹配分配规范和分配选项的匹配过程的起点或输入,并且配额规范可指示初始配额提议216不是硬要求。例如,规范216或选项选择偏好220可指示初始配额提议218将要用于供应的初始请求中。
选项选择偏好220可包含(例如)关于分配选项的可靠性的可靠性偏好。选项选择偏好220可基于可靠性分数指示分配选项的配额量的加权。选项选择偏好220还可包含对于质量和低配额量的相对偏好,因此允许客户端102指定关于质量与低配额量之间的潜在权衡的偏好。
RRM 210可接收来自客户端102的请求212A,并且可将请求212A的至少一部分(例如,可传输规范216、初始配额提议218或选项选择偏好220中的任一者的指示)传输给一或多个数据存储资源提供者106。在一些实施例中,交易服务器104将请求212存储在存储器中,并且数据存储资源提供者“监听”未决请求212(例如,周期性地或以其它方式对交易服务器进行关于未决请求212的轮询)。RRM 210可将数据存储资源提供者106引导到可存取一或多个未决请求的地址,或可以其它方式响应此轮询,包含将一或多个存储请求212的至少一部分传输给数据存储资源提供者106。
RRM 210可接收来自数据存储资源提供者106的一或多个响应214并将其存储在存储器中(例如,包含响应214A到214N)。响应214A可指示其响应的供应请求(例如,可指示请求212A的标识),并且可包含一或多个分配选项226。分配选项226可包含规范222、可靠性分数224和故障策略227。在一些实施例中,可省略可靠性分数224和故障策略227。
规范222可包含与规范216相似或相同的规范(例如,可包含空间规范、配额规范、质量规范和/或时序规范或其它规范)。规范222可满足包含在请求212A中的至少一些规范(例如,可匹配空间规范、配额规范和质量规范中的至少一者)。规范222可满足包含在请求212A中的规范的一部分(例如,可满足空间规范或时序规范的一部分)。规范222可指定与请求212A中所指示的初始配额提议218匹配的配额量。规范222可包含指定最低允许的配额量的配额规范。例如,最低允许的配额量可指示数据存储资源提供者愿意接受用于指定供应的最低量。RRM 210可在下文描述的分配选择过程中使用最低允许的配额量。
可靠性分数224可指示提供响应214A的数据存储资源提供者106的可靠性、将要在供应中使用的一或多个数据节点的可靠性、和/或特定于所提议的供应的可靠性。可靠性可基于(例如)由提供响应214A的交易服务器104、数据管理器108或数据存储资源提供者108确定的历史可靠性或预测可靠性。
故障策略227可指定如果不能或将不提供与响应214A中所包含的第一组规范222匹配的供应,那么可取而代之提供与响应214A中所包含的第二组规范222匹配的供应。故障策略227还可指定实施两组规范222的方式。例如,如果在经过由规范222的时序规范指定的供应期的中途发生未能满足第一组规范222,那么总配额量可被确定为(i)针对在其期间提供与第一组规范222匹配的供应的时段按比例分配的第一配额量和(ii)针对在其期间提供与第二组规范222匹配的供应的时段按比例分配的第二配额量的总和。故障策略227还可指定减少(例如,相对于分配选项226的总时段,固定减少或与其中未满足第一组规范的时段成比例的减少),所述减少在分配选项226的总时段内未满足第一组规范222的情况下适用。
RRM 210可执行分配选项选择过程。RRM 210可将请求212A的至少一部分提供、传输或传播给数据存储资源提供者106。RRM 210可等待来自数据存储资源提供者106的响应的预定超时期,或可等待直到已被提供有至少一部分或请求212A的数据存储资源提供者106的全部或预定数量的百分比将响应传输到交易服务器104。
RRM 210可选择包含在从数据存储资源提供者106接收的响应214中的分配选项。RRM 210可根据规范216选择分配选项(例如,分配选项226)。RRM 210可基于规范222、可靠性分数224和故障策略227中的任一者来选择分配选项。在一些实施例中,RRM 210选择分配选项(例如,其满足最小空间规范),所述分配选项具有分配选项的最低配额量(例如,其满足最小空间规范)。在一些实施例中,RRM 210可选择多个分配选项以满足供应请求(例如,单个供应请求)。RRM 210可选择多个分配选项,以使总配额量最小化、使质量最大化或在两者之间取得平衡(例如,基于选项选择偏好220)。例如,RRM 210可可选地对包含在对供应请求的接收到的响应中的分配选项执行初始过滤操作,以过滤掉不满足最小质量规范的分配选项(在一些实施例中,数据存储资源提供者106可经配置以仅发送满足供应请求中指定的最小质量的分配选项,并且可省略客户端102的此过滤)。RRM 210可为正被考虑的(剩余)分配选项中的每一个确定空间配额比。RRM 210可使用具有最高空间配额比的分配选项填充空间规范(例如,可选择具有最高空间配额比的第一分配选项,可确定是否还有更多的空间需求有待满足,可选择具有下一最高空间配额比的第二分配选项,等等,直到空间规范被满足)。
在一些实施例中,RRM 210可确定请求212A的初始配额提议218。例如,RRM 210可基于参考空间配额比来确定初始配额提议218。RRM 210可基于一或多个历史供应(例如,基于预定数量的最近供应)来确定参考空间配额比。RRM 210可基于历史供应的平均值(例如,基于供应规范的相似性的加权平均值)来确定参考空间配额比。在一些实施例中,RRM 210可基于由数据存储资源提供者106进行的开放提议(例如,其通常可用于满足供应请求)来确定参考空间配额比。在一些实施例中,RRM 210可基于存储规范来确定参考空间配额比(例如,可确定第一类型存储(例如,HDD存储)的第一参考空间配额比,可确定第二类型存储(例如,SSD存储)的第二参考空间配额比,和/或可确定第三类型存储(例如,RAID-6SSD存储)的第三参考空间配额比。
RRM 210可基于最低最小可接受配额选择多个分配选项中的分配选项。例如,如果第一响应214A具有第一最小可接受配额,并且第二响应214B具有低于第一最小可接受配额的第二最小可接受配额,那么RRM 210可选择第二响应214B。因此,客户端102可以较低的配额确保供应。
在一些实施例中,RRM 210可接收来自数据存储资源提供者106的响应214,并且可将响应的至少一部分传输到客户端102以选择分配选项。在将响应的至少一部分传输到客户端102之前或同时,RRM 210可执行过滤过程(例如,类似于上述过滤过程的过滤过程)。RRM 210可接收来自客户端102的对分配选项226的选择,并且可向数据管理器108注册选择的分配选项226。
RRM 210可向数据管理器108注册选择的分配选项226。RRM 210可将注册请求传输到数据管理器108,所述注册请求包含客户端102的标识或与客户端102相关联的客户端账户的标识。例如,注册请求可包含选择分配选项226的规范222(以及,如果适用,故障策略227)中的至少一些。RRM 210可接收来自数据存储资源提供者106的选择的分配选项226已被注册的指示,并且RRM可将注册的指示传输到客户端102和数据存储资源提供者106中的任一者。
在一些实施例中,可省略交易服务器104。在一些实施例中,交易服务器104可执行在本文描述为由客户端102执行的某些功能。在各种实施例中,在本文描述为由客户端102执行的任何功能可由交易服务器104执行。在各种实施例中,在本文描述为由交易服务器104执行的任何功能可由客户端102执行。
数据存储资源提供者106可包含处理器228、数据存储资源230、数据存储资源配置文件232和分配选项生成器234。数据存储资源提供者106可经配置以响应供应请求、生成分配选项以及提供对数据存储资源的读取/写入存取。数据存储资源提供者106可包含一或多个数据存储资源提供者。
处理器228可包含一或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。处理器228可经配置以执行存储在存储器中(机器可读媒体上)的固件、软件和指令,例如包含在本文描述的数据存储资源提供者106的组件中或其可存取的指令。数据存储资源230可包含SSD、HDD和/或其它存储媒体。数据存储资源230可包含或可提供对可被读取或写入的数据节点(例如,卷、数据服务器、数据块或数据块的部分)的存取。
数据存储资源配置文件232可包含列出由数据存储资源提供者106管理的数据存储资源230中的至少一些的资源(例如,映射、表、库或其它参考材料),并且可包含与数据存储资源230相关联的信息。例如,数据存储资源配置文件232可指定数据存储资源230的当前或预测状态、当前容量或预测未来容量、可靠性(例如,以可靠性分数或其它方式表达)、数据存储类别或类型(例如,指定数据存储资源230或数据存储资源230的一部分是HDD存储器或SSD存储器)、或与数据存储资源230相关的其它信息。
分配选项生成器234可包含用于生成分配选项,以及用于生成对供应请求的响应并将其传输到交易服务器104或客户端102的逻辑、硬件或固件。分配选项生成器234可接收来自交易服务器104的请求212A,和/或可针对未决请求查询或轮询交易服务器104,并且可响应地生成分配选项226。在一些实施例中,分配选项生成器234可生成不一定响应于供应的特定请求的一般分配选项,并且可将分配选项发布为通常可用(例如,可发布到交易服务器104和/或客户端102)。
分配选项生成器234可基于规范216和初始配额提议218生成分配选项226,作为对请求212A的响应214A的部分。所生成的分配选项226可包含规范222、可靠性分数224(在一些实施例中,可靠性分数从由分配选项生成器234生成的分配选项226中省略,并且可完全省略,或可(例如)由交易服务器104确定),以及如果适用,包含故障策略227。分配选项生成器234可生成本文描述的任何分配选项或分配选项组。
分配选项生成器234可生成分配选项226,以包含基于参考配额的提议配额量。例如,提议的配额量可等于参考配额,或可基于参考配额的函数计算。例如,分配选项生成器234可基于一或多个历史供应(例如,基于预定数量的最近供应)来确定参考配额。分配选项生成器234可基于历史供应的平均值(例如,基于供应规范的相似性的加权平均值)来确定参考配额。在一些实施例中,分配选项生成器234可基于由其它数据存储资源提供者106进行的公开或发布的提议(例如,其通常可用于满足供应请求)来确定参考配额。在一些实施例中,分配选项生成器234可基于存储规范来确定参考配额(例如,可确定第一类型存储(例如,HDD存储)的第一参考空间配额,可确定第二类型存储(例如,SSD存储)的第二参考配额,和/或可确定第三类型存储(例如,RAID-6SSD存储)的第三参考配额)。
分配选项生成器234可基于由数据存储资源提供者106管理的可用空间量来确定提议的配额。例如,分配选项生成器234可提议配额,所述配额是可用空间量的单调递减函数。
在一些实施例在,分配选项生成器234可基于由数据存储资源提供者106管理的可用空间量(例如占用的或以其它方式承诺的)且基于参考配额来确定提议的配额。例如,如图5中展示,当不可用空间高(例如,高于预定阈值(例如50%)或由数据存储资源提供者106管理的总空间)时,分配选项生成器234可提议高于参考配额的配额,并且当不可用空间低(例如,低于预定阈值(例如50%)或由数据存储资源提供者106管理的总空间)时,分配选项生成器234可提议低于参考配额的配额。提议的配额不需要与不可用空间的量线性相关,例如,如图5中展示,当不可用空间非常低(例如低于20%)时,分配选项生成器234可确定不成比例地低的提议配额。这可有助于填充可用空间。
在一些实施例中,分配选项生成器234可经配置以实施协议交换。例如,分配选项生成器234可经配置以实施分配选项管理者106被配置以实施的协议交换过程或功能中的任一者,包含本文描述的过程和功能。
数据管理器108可包含处理器236、账户管理器238和通知管理者240。数据管理器108可经配置以注册分配选项,从而记录客户端102与一或多个数据存储资源提供者106之间的供应布置。数据管理器108可管理客户端102的配额,可注册选择的分配选项,并且可从客户端的配额转移或移除配额量。
处理器236可包含一或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。处理器236可经配置以执行存储在存储器中(机器可读媒体上)的固件、软件和指令,例如包含在本文描述的数据管理器108的组件中或其可存取的指令。
账户管理器238可包含用于管理客户端账户的逻辑、硬件或固件。客户端账户可包含数据管理系统100的数据存储资源或由数据管理系统100管理的数据存储资源的配额。账户管理器238可响应于来自客户端102的请求生成或注册客户端账户,可为客户端账户提供初始配额。例如,账户管理器238可执行或参与配额的购买,或配额的增加。可根据与客户端102的协议来执行购买。
账户管理器238可为客户端账户注册选择的分配选项。账户管理器238可基于注册的分配选项(例如,基于包含在注册的分配选项中的配额量)来调整客户端账户的配额。在一些实施例中,客户端102可请求从另一客户端102转移配额(例如,在限制时间基础上,在所述限制时间结束时客户端102返回添加的配额),并且账户管理器238可提供此转移。
账户管理器238可提供用于管理客户端账户的GUI。例如,客户端102可使用GUI来登录或存取客户端账户,这可涉及提交登录凭证。账户管理器238可验证登录凭证并提供对客户端账户的存取。GUI可用于向数据管理器108提交对配额的调整的请求。GUI可用于管理分配规范(例如由客户端102的分配管理者206使用)。
通知管理者240可包含用于管理通知的逻辑、硬件或固件。例如,通知管理者240可监测数据节点或数据存储资源提供者106,例如用于警报或警示,并且可通知适当各方(例如,可关于正在供应客户端102的数据存储资源提供者106通知客户端102)。通知管理者240可向适当各方(例如,客户端102、交易服务器104和数据存储资源提供者106中的任一者)通知分配选项的注册。
因此,数据管理系统100可在数据存储资源提供者与一或多个客户端之间提供避免在某些比较系统中经历的瓶颈的特定动态,并且数据管理系统100可容易地供应具有不同规范(例如,涉及不同容量、存储类别、质量规范和其它复杂性)的大量不同应用程序、虚拟机、容器或微服务。所述特定动态中的一些包含从客户端102到数据存储资源提供者106的供应的特定请求,来自数据存储资源提供者106的响应(包含指定配额量的分配选项226),所述选项的选择,和所述选项的注册,以及经由转移或减少客户端配额的客户端配额来考量注册。
图3是展示根据本公开的实施例的用于管理数据存储资源的实例方法的流程图。方法包含框310到360,并且可使用如上文描述的数据管理系统100来实施。简而言之,在框310,交易服务器104可接收对数据存储资源的读取和/或写入存取的请求,所述请求包含一或多个规范,所述一或多个规范包含空间规范。在框320,交易服务器104可将请求的至少一部分提供给一或多个数据存储资源提供者。在框330,可实施协议交换,其中交易服务器104可接收来自一或多个数据存储资源提供者的对请求的相应响应,所述响应分别包含一或多个分配选项,所述一或多个分配选项包含一或多个规范,所述一或多个规范包含配额规范。在框340,作为协议交换的部分,交易服务器104可选择一或多个分配选项中的一者用于注册。在框350,交易服务器104可向数据管理器注册选择的分配选项。在框360,交易服务器104可根据注册的分配选项提供数据存储资源。
更详细地来说,在框310,交易服务器104可接收来自客户端102的对数据存储资源的读取和/或写入存取的请求212A,请求212A。请求212A可包含客户端102的标识,或与客户端102相关联的客户端账户的标识。请求212A可包含规范216、初始配额提议218和选项选择偏好220。规范216可包含容量或空间规范、质量规范、时序规范、配额规范或其它规范(例如,本文描述的任何规范)。
初始配额提议218可指定客户端102愿意从客户端账户转移、已经扣除或以其它方式放弃以换取数据存储资源(例如,满足分配规范的其它规范的数据存储资源)的供应的配额数量。初始配额提议216可为所需配额量,并且只有与所需配额量匹配的分配选项(例如,为所需配额量或为大于所需配额量的配额量供应数据存储资源)可为此配额规范的可接受匹配。初始配额提议216可为匹配分配规范和分配选项的匹配过程的起点或输入,并且配额规范可指示初始配额提议216不是硬要求。例如,规范216或选项选择偏好220可指示初始配额提议218将要用于供应的初始请求中。
在框320,交易服务器104可将请求212A的至少一部分提供给一或多个数据存储资源提供者106。在一些实施例中,交易服务器104将请求212A存储在存储器中,并且数据存储资源提供者106可“监听”未决请求(例如,周期性地或以其它方式对交易服务器进行关于未决请求的轮询)。交易服务器104的RRM 210可将数据存储资源提供者106引导到可存取一或多个未决请求的地址,或可以其它方式响应此轮询,包含提供一或多个存储请求212的至少一部分。在一些实施例中,RRM 210将请求的至少一部分传输给数据存储资源提供者106。
在框330,交易服务器104可接收来自一或多个数据存储资源提供者106的对请求212A的相应响应214。响应中的一者可为包含分配选项226的响应214A。分配选项226可包含规范222、可靠性分数224和故障策略227。在一些实施例中,可省略可靠性分数224和故障策略227。
规范222可包含与规范216相似或相同的规范(例如,可包含空间规范、配额规范、质量规范和/或时序规范或其它规范)。规范222可满足包含在请求212A中的至少一些规范(例如,可匹配空间规范、配额规范和质量规范中的至少一者)。规范222可满足包含在请求212A中的规范的一部分(例如,可满足空间规范或时序规范的一部分)。规范222可指定与请求212A中指示的初始配额提议218匹配的配额量。
可靠性分数224可指示提供响应214A的数据存储资源提供者106的可靠性、将要在供应中使用的一或多个数据节点的可靠性、和/或特定于所提议的供应的可靠性。可靠性可基于(例如)由提供响应214A的交易服务器104、数据管理器108或数据存储资源提供者108确定的历史可靠性或预测可靠性。故障策略227可指定如果不能或将不提供与响应214A中所包含的第一组规范222匹配的供应,那么可取而代之提供与响应214A中所包含的第二组规范222匹配的供应。故障策略227还可指定实施两组规范222的方式。
在框340,RRM 210可选择响应214中所包含的一个或多个接收到的分配选项中的一者用于向数据管理器108注册。RRM 210可根据规范216选择分配选项(例如,分配选项226)。RRM 210可基于规范222、可靠性分数224和故障策略227中的任一者来选择分配选项。在一些实施例中,RRM 210选择分配选项(例如,其满足最小空间规范),所述分配选项具有分配选项的最低配额量(例如,其满足最小空间规范)。在一些实施例中,RRM 210可选择多个分配选项以满足供应请求(例如,单个供应请求)。RRM 210可选择多个分配选项,以使总配额量最小化、使质量最大化或在两者之间取得平衡(例如,基于选项选择偏好220)。
在框350,RRM 210可向数据管理器108注册选择的分配选项226。RRM 210可将注册请求传输到数据管理器108,所述注册请求包含客户端102的标识或与客户端102相关联的客户端账户的标识。例如,注册请求可包含选择分配选项226的规范222(以及,如果适用,故障策略227)中的至少一些。RRM 210可接收来自数据存储资源提供者106的选择的分配选项226已被注册的指示,并且RRM可将注册的指示传输到客户端102和数据存储资源提供者106中的任一者。在其它实施例中,客户端102或数据存储资源提供者106可向数据管理器108注册选择的分配选项226。
在框360,数据存储资源提供者106可根据注册的分配选项226提供数据存储资源。例如,数据存储资源提供者106可为由数据存储资源提供者106管理的存储节点提供对客户端102的读取/写入存取。存取可根据分配选项226的规范(例如,质量规范或时序规范)。
因此,数据管理系统100可以避免在某些比较系统中经历的瓶颈的方式提供数据管理,并且可容易地处置具有不同规范的大量不同应用程序、虚拟机、容器或微服务。
图4是展示根据本公开的实施例的用于管理数据存储资源的实例方法的流程图。方法包含框410到450,并且可使用如上文描述的数据管理系统100来实施。简而言之,在框410,客户端102可将对数据存储资源的读取和/或写入存取的请求传输到一或多个数据存储资源提供者,所述请求包含一或多个规范,所述一或多个规范包含空间规范。在框420,作为协议交换的部分,客户端102可接收来自一或多个数据存储资源提供者的对请求的多个响应,所述响应分别包含一或多个分配选项,所述一或多个分配选项包含一或多个规范,所述一或多个规范包含空间规范和包含配额量的配额规范。在框430,客户端102可选择一或多个分配选项中的一者。在框440,客户端102可向数据管理器108注册选择的分配选项。在框450,客户端102可根据注册的分配选项对由数据存储资源提供者中的至少一者管理的数据存储器执行读取或写入操作。
更详细地来说,在框410,客户端102可将请求212A传输给一或多个数据存储资源提供者106。请求212A可包含规范216、初始配额提议218和选项选择偏好220。规范216可包含容量或空间规范、质量规范、时序规范、配额规范或其它规范(例如,本文描述的任何规范)。
在框420,客户端102可接收来自一或多个数据存储资源提供者106的对请求的多个响应214A,响应214A分别包含一或多个分配选项226,所述一或多个分配选项226包含一或多个规范222,所述一或多个规范222包含空间规范和包含配额量的配额规范。例如,客户端102可直接接收来自数据存储资源提供者106的响应214A,或可经由交易服务器104接收响应214A。
在框430,分配选项管理器206可选择一或多个分配选项226中的一者。分配管理者206可基于分配规范222选择分配选项226。在一些实施例中,分配管理者206选择分配选项226(例如,其满足最小空间规范),所述分配选项226具有分配选项226的最低配额量(例如,其满足最小空间规范)。在一些实施例中,分配管理者206可选择多个分配选项以满足供应请求(例如,单个供应请求)。分配管理者206可选择多个分配选项226,以使总配额量最小化、使质量最大化或在两者之间取得平衡。
在框440,客户端102的账户管理器204可向数据管理器108注册选择的分配选项226。账户管理器204可直接或间接地(例如,经由交易服务器104)向数据管理器108注册选择的分配选项226。账户管理器204可使用GUI向数据管理器108注册选择的分配选项226。在其它实施例中,数据存储资源提供者106可向数据管理器108注册选择的分配选项226。
在框450,数据管理系统100可根据注册的分配选项对由数据存储资源提供者中的至少一者管理的数据存储器执行读取或写入操作。例如,客户端102可传输对由数据存储资源提供者106管理的存储节点的读取/写入请求。对存储节点的此存取可根据选择的分配选项226的规范(例如,质量规范或时序规范)。
因此,数据管理系统100可以可考量本文所讨论的一些复杂性的有效方式提供分散式数据管理。
尽管已经参考本公开的特定实施例描述和说明本公开,但这些描述和说明不是限制性的。所属领域的技术人员应当理解,在不偏离如由所附权利要求书所定义的本公开的真正精神和范围的情况下,可进行各种改变,并且可替换等效物。说明可不必按比例绘制。由于制造工艺和公差,在本公开中的艺术再现与实际设备之间可能存在区别。可存在未具体说明的本公开的其它实施例。说明书和附图被视为说明性的而不是限制性的。可进行修改以使特定情况、材料、物质组合物、方法或过程适应本公开的目标、精神和范围。所有此类修改都旨在属于所附权利要求书的范围内。尽管已经参考以特定顺序执行的特定操作来描述本文公开的方法,但将理解,在不脱离本公开的教导的情况下,可组合、细分或重新排序这些操作以形成等效的方法。因此,除非在本文特别指出,否则操作的顺序和分组不是限制。
Claims (20)
1.一种数据中心中的资源管理系统,其包括:
一或多个数据存储资源提供者,其经配置以提供对相应数据存储量的存取;及
交易服务器,其经配置以:
接收来自客户端的对数据存储资源的读取和/或写入存取的请求,所述请求包括一或多个规范,所述一或多个规范包含所述数据存储资源的空间规范;
将所述请求的至少一部分提供给所述一或多个数据存储资源提供者;
接收来自所述一或多个数据存储资源提供者的对所述请求的相应响应,所述响应分别包括一或多个分配选项,所述一或多个分配选项包括一或多个规范,所述一或多个规范包含基于所述相应数据存储量的配额规范;
选择所述一或多个分配选项中的一者进行注册;及
向数据管理器注册所选择的分配选项,
其中所述一或多个数据存储提供者中的至少一者经配置以根据所注册的分配选项向所述客户端提供针对所述数据存储资源的读取和/或写入存取。
2.根据权利要求1所述的资源管理系统,其中包含在所述请求中的所述规范包括指定配额量的初始配额提议,并且包含在所述一或多个分配选项中的所述配额规范指定与所述初始配额提议的所述配额量匹配的配额量。
3.根据权利要求2所述的资源管理系统,其进一步包括所述数据管理器,其中:
向所述数据管理器注册所述所选择的分配选项包括传输指示所述所选择的分配选项的所述规范的注册请求;及
所述数据管理器经配置以:
接收来自所述交易服务器的所述注册请求;及
基于由所述所选择的分配选项指定的所述配额量来更新所述客户端的配额。
4.根据权利要求1所述的资源管理系统,其中包含在所述请求中的所述规范包括质量规范,所述质量规范包含服务水平协议或服务质量规范中的至少一者。
5.根据权利要求4所述的资源管理系统,其中包含在所述响应中的每一者的所述一或多个分配选项中的所述规范包含基于包含在所述请求中的所述质量规范的质量规范。
6.根据权利要求4所述的资源管理系统,其中所述响应中的至少一者包含第一分配选项和第二分配选项,所述第一分配选项包含第一提议配额和第一提议质量,所述第二分配选项包含不同于所述第一提议配额的第二提议配额和不同于所述第一提议质量的第二提议质量。
7.根据权利要求4所述的资源管理系统,其中所述响应中的至少一者包含第一分配选项和第二分配选项,并且所述响应进一步包含故障策略,所述故障策略指定当所述第一分配选项故障时将要实施所述第二分配选项。
8.根据权利要求7所述的资源管理系统,其中所述第一分配选项包括第一配额规范和第一质量规范,所述第二分配选项包括低于所述第一配额规范的第二配额规范,并且所述故障策略指定至少在未满足所述第一质量规范时所述第一分配选项故障。
9.根据权利要求8所述的资源管理系统,其中包含在所述请求中的所述规范包括初始配额提议,并且所述第一配额规范匹配所述初始配额提议。
10.根据权利要求1所述的资源管理系统,其中所述交易服务器进一步经配置以将所选择的响应的指示传输到所述客户端。
11.根据权利要求1所述的资源管理系统,其中所述交易服务器进一步经配置以将对所述响应中的两者或更多者的指示传输到所述客户端,以接收来自所述客户端的选择响应,并基于来自所述客户端的所述选择响应来选择所述响应以进行注册。
12.一种数据存储资源管理系统,其包括:
数据管理器,其经配置以注册分配规范;及
一或多个数据存储资源提供者,其经配置以提供对相应数据存储量的存取,其中所述一或多个数据存储资源提供者中的每一者经配置以:
接收来自客户端的对由所述数据存储资源提供者所管理的数据存储资源的读取和/或写入存取的请求,所述请求包括一或多个规范,所述一或多个规范包含所述数据存储资源的空间规范;
将对所述请求的响应提供到所述客户端,所述响应包括一或多个分配选项,所述一或多个分配选项包括一或多个规范,所述一或多个规范包含基于所述相应数据存储量的配额规范;
接收来自所述数据管理器的所述一或多个分配选项中的至少一者已被注册的指示;及
根据所注册的分配选项向所述客户端提供针对所述数据存储资源的读取和/或写入存取。
13.根据权利要求12所述的数据存储资源管理系统,其中包含在所述请求中的所述规范包括指定配额量的初始配额提议,并且包含在所述一或多个分配选项中的所述配额规范指定与所述初始配额提议的所述配额量匹配的配额量。
14.根据权利要求12所述的数据存储资源管理系统,其中所述请求的所述一或多个规范包括指定到期时间或有效性时间框架的时序规范。
15.根据权利要求12所述的数据存储资源管理系统,其中所述数据管理器经配置以接收来自所述客户端的所选择的分配选项,注册所述所选择的分配选项,以及基于所述所选择的分配选项更新与所述客户端相关联的帐户。
16.一种管理数据存储资源的方法,其包括:
由客户端装置将对数据存储资源的读取和/或写入存取的请求传输到经配置以提供对相应数据存储量的存取的一或多个数据存储资源提供者,所述请求包括一或多个规范,所述一或多个规范包含所述数据存储资源的空间规范;
由所述客户端装置接收来自所述一或多个数据存储资源提供者的对所述请求的多个响应,所述响应分别包括一或多个分配选项,所述一或多个分配选项包括一或多个规范,所述一或多个规范包含配额规范,所述配额规范包含基于所述相应数据存储量的配额量;
由所述客户端装置选择所述一或多个分配选项中的一者;
由所述客户端装置向数据管理器注册所选择的分配选项;及
根据所注册的分配选项向所述客户端装置提供对由所述数据存储资源提供者中的至少一者所管理的所述数据存储资源的读取和/或写入存取。
17.根据权利要求16所述的方法,其中选择所述一或多个分配选项中的所述一者包括从所述多个响应中选择具有最低配额量的分配选项。
18.根据权利要求16所述的方法,其中选择所述一或多个分配选项中的所述一者包括:
基于所述配额规范和所述空间规范,为包含在所述多个响应中的至少一些中的所述分配选项中的每一者确定空间配额比;
基于所确定的空间配额比来选择多个分配选项以满足所述请求的所述空间规范。
19.根据权利要求16所述的方法,其进一步包括经由所述数据管理器登录到客户端帐户,所述帐户与配额相关联。
20.根据权利要求19所述的方法,其进一步包括由所述客户端装置从所述数据管理器接收所述配额已基于所选择的分配选项而改变的指示。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/355,588 | 2019-03-15 | ||
US16/355,588 US11042411B2 (en) | 2019-03-15 | 2019-03-15 | Data storage resource management |
PCT/IB2020/052324 WO2020188444A1 (en) | 2019-03-15 | 2020-03-13 | Data storage resource management |
CN202080032007.5A CN113767373B (zh) | 2019-03-15 | 2020-03-13 | 数据存储资源管理 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080032007.5A Division CN113767373B (zh) | 2019-03-15 | 2020-03-13 | 数据存储资源管理 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117827109A true CN117827109A (zh) | 2024-04-05 |
Family
ID=72422589
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080032007.5A Active CN113767373B (zh) | 2019-03-15 | 2020-03-13 | 数据存储资源管理 |
CN202410001809.XA Pending CN117827109A (zh) | 2019-03-15 | 2020-03-13 | 数据存储资源管理 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080032007.5A Active CN113767373B (zh) | 2019-03-15 | 2020-03-13 | 数据存储资源管理 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11042411B2 (zh) |
CN (2) | CN113767373B (zh) |
WO (1) | WO2020188444A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11080419B2 (en) * | 2019-05-28 | 2021-08-03 | Adara, Inc. | Distributed data rights management for peer data pools |
US11928515B2 (en) | 2020-12-09 | 2024-03-12 | Dell Products L.P. | System and method for managing resource allocations in composed systems |
US11698821B2 (en) | 2020-12-09 | 2023-07-11 | Dell Products L.P. | Composable information handling systems in an open network using access control managers |
US11934875B2 (en) | 2020-12-09 | 2024-03-19 | Dell Products L.P. | Method and system for maintaining composed systems |
US11693703B2 (en) | 2020-12-09 | 2023-07-04 | Dell Products L.P. | Monitoring resource utilization via intercepting bare metal communications between resources |
US11675665B2 (en) | 2020-12-09 | 2023-06-13 | Dell Products L.P. | System and method for backup generation using composed systems |
US11604595B2 (en) | 2020-12-09 | 2023-03-14 | Dell Products L.P. | Data mirroring and data migration between storage volumes using system control processors |
US11809911B2 (en) | 2020-12-09 | 2023-11-07 | Dell Products L.P. | Resuming workload execution in composed information handling system |
US11704159B2 (en) | 2020-12-09 | 2023-07-18 | Dell Products L.P. | System and method for unified infrastructure architecture |
US11809912B2 (en) | 2020-12-09 | 2023-11-07 | Dell Products L.P. | System and method for allocating resources to perform workloads |
US11853782B2 (en) | 2020-12-09 | 2023-12-26 | Dell Products L.P. | Method and system for composing systems using resource sets |
US11675625B2 (en) | 2020-12-09 | 2023-06-13 | Dell Products L.P. | Thin provisioning of resources using SCPS and a bidding system |
US11675916B2 (en) | 2021-01-28 | 2023-06-13 | Dell Products L.P. | Method and system for limiting data accessibility in composed systems |
US11768612B2 (en) * | 2021-01-28 | 2023-09-26 | Dell Products L.P. | System and method for distributed deduplication in a composed system |
US11797341B2 (en) | 2021-01-28 | 2023-10-24 | Dell Products L.P. | System and method for performing remediation action during operation analysis |
US11687280B2 (en) | 2021-01-28 | 2023-06-27 | Dell Products L.P. | Method and system for efficient servicing of storage access requests |
JP2022116934A (ja) * | 2021-01-29 | 2022-08-10 | ブラザー工業株式会社 | 管理システム、管理方法、管理用プログラム及びインストールプログラム |
US11947697B2 (en) | 2021-07-22 | 2024-04-02 | Dell Products L.P. | Method and system to place resources in a known state to be used in a composed information handling system |
US12013768B2 (en) | 2021-07-22 | 2024-06-18 | Dell Products L.P. | Method and system for automated healing of hardware resources in a composed information handling system |
US12026557B2 (en) | 2021-07-22 | 2024-07-02 | Dell Products L.P. | Method and system for a utilizing a proxy service to generate a composed information handling system |
US12008412B2 (en) | 2021-07-28 | 2024-06-11 | Dell Products | Resource selection for complex solutions |
US11928506B2 (en) | 2021-07-28 | 2024-03-12 | Dell Products L.P. | Managing composition service entities with complex networks |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8234650B1 (en) * | 1999-08-23 | 2012-07-31 | Oracle America, Inc. | Approach for allocating resources to an apparatus |
US8032701B1 (en) * | 2004-03-26 | 2011-10-04 | Emc Corporation | System and method for managing provisioning of storage resources in a network with virtualization of resources in such a network |
US7200715B2 (en) * | 2002-03-21 | 2007-04-03 | Network Appliance, Inc. | Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes |
US7159184B2 (en) * | 2002-07-31 | 2007-01-02 | Hewlett-Packard Development Company, L.P. | Method and graphical user interface for creating a configuration file used to allocate computer system resources among workloads |
US8225007B2 (en) * | 2009-01-19 | 2012-07-17 | Oracle America, Inc. | Method and system for reducing address space for allocated resources in a shared virtualized I/O device |
JP5277991B2 (ja) * | 2009-01-27 | 2013-08-28 | 富士通株式会社 | 割当制御プログラム、割当制御装置及び割当制御方法 |
US8429097B1 (en) * | 2009-08-12 | 2013-04-23 | Amazon Technologies, Inc. | Resource isolation using reinforcement learning and domain-specific constraints |
US9450838B2 (en) * | 2011-06-27 | 2016-09-20 | Microsoft Technology Licensing, Llc | Resource management for cloud computing platforms |
US9489293B2 (en) * | 2012-08-17 | 2016-11-08 | Netapp, Inc. | Techniques for opportunistic data storage |
CN103503414B (zh) * | 2012-12-31 | 2016-03-09 | 华为技术有限公司 | 一种计算存储融合的集群系统 |
WO2015094299A1 (en) * | 2013-12-19 | 2015-06-25 | Intel Corporation | Service template generation and deployment based on service level agreement requirements |
US10635316B2 (en) * | 2014-03-08 | 2020-04-28 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
JP6330840B2 (ja) * | 2016-03-29 | 2018-05-30 | 日本電気株式会社 | ストレージ管理システムおよびストレージ管理方法 |
US10491541B2 (en) * | 2016-10-10 | 2019-11-26 | International Business Machines Corporation | Quota management protocol for shared computing systems |
-
2019
- 2019-03-15 US US16/355,588 patent/US11042411B2/en active Active
-
2020
- 2020-03-13 CN CN202080032007.5A patent/CN113767373B/zh active Active
- 2020-03-13 CN CN202410001809.XA patent/CN117827109A/zh active Pending
- 2020-03-13 WO PCT/IB2020/052324 patent/WO2020188444A1/en active Application Filing
-
2021
- 2021-06-21 US US17/353,570 patent/US11816503B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN113767373B (zh) | 2024-01-19 |
CN113767373A (zh) | 2021-12-07 |
US11816503B2 (en) | 2023-11-14 |
US20210311790A1 (en) | 2021-10-07 |
US20200293375A1 (en) | 2020-09-17 |
US11042411B2 (en) | 2021-06-22 |
WO2020188444A1 (en) | 2020-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113767373B (zh) | 数据存储资源管理 | |
CN107636598B (zh) | 横向扩展NVMe存储装置中的出价/要价协议 | |
US20130262556A1 (en) | Enhanced Computer Cluster Operation Using Resource Allocation Requests | |
US11128698B2 (en) | Producer system registration | |
US9635102B2 (en) | Broker module for managing and monitoring resources between internet service providers | |
CA2916258C (en) | Producer system partitioning among leasing agent systems | |
US9350801B2 (en) | Managing client access to a plurality of computing systems | |
US11461156B2 (en) | Block-storage service supporting multi-attach and health check failover mechanism | |
US10929041B1 (en) | Block-storage service supporting multi-attach | |
US9369518B2 (en) | Producer system partitioning among leasing agent systems | |
US9780993B2 (en) | Producer computing system leasing on behalf of consumer computing system | |
US8555021B1 (en) | Systems and methods for automating and tuning storage allocations | |
US20100242048A1 (en) | Resource allocation system | |
JP7549433B2 (ja) | リソース構成見積もりシステムおよびリソース構成見積もり方法 | |
US11108700B2 (en) | Method and system to implement messaging for cluster elections | |
WO2016098138A1 (en) | Management system and management method for managing computer system |
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 |