CN107111626A - 用于租户的数据管理 - Google Patents
用于租户的数据管理 Download PDFInfo
- Publication number
- CN107111626A CN107111626A CN201580058176.5A CN201580058176A CN107111626A CN 107111626 A CN107111626 A CN 107111626A CN 201580058176 A CN201580058176 A CN 201580058176A CN 107111626 A CN107111626 A CN 107111626A
- Authority
- CN
- China
- Prior art keywords
- storage
- tree
- management
- tenant
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
这里描述了用于租户的数据管理的示例。在一个示例中,存储系统包括用于与存储系统相关联的多个租户中的每一个的管理树。管理树包括租户定义的数据管理策略。此外,管理树包括映射到存储域的存储树。存储域可以保持与租户有关的数据。可以基于由管理树和存储树之一定义的数据管理策略来管理数据。
Description
背景技术
随着信息技术(IT)和相关行业的扩展,越来越多的数据被存储、分层和归档。这进一步导致了诸如存储区域网络(SAN)之类的不同存储解决方案的开发。要有效管理这种系统的存储容量。为了管理此类存储基础设施的存储容量,可以使用全局命名空间(namespace)。
附图说明
具体实施方式参照附图进行描述。在附图中,附图标号的最左边的(一个或多个)数字标识参考标号首次出现的图。贯穿附图使用相同的数字来引用相同的特征和部件:
图1示出了根据本主题的示例的存储系统;
图2示出了根据本主题的示例的存储网络架构;和
图3示出了根据本主题的示例的实现存储网络架构的存储系统;
图4示出了根据本主题的示例的向由存储系统支持的多个租户(tenant)提供存储容量的方法;
图5示出了根据本主题的另一示例的向由存储系统支持的多个租户提供存储容量的方法;和
图6示出了根据本主题的示例的存储用于管理与由存储系统支持的多个租户有关的数据的指令的计算机可读介质。
具体实施方式
通常,组织可以将数据存储在中央位置,这可以通过存储系统来提供。这样的存储系统可以通过采用多个存储设备的存储基础设施来实现。这种存储基础设施的示例包括存储区域网络(SAN)。将理解,存储系统提供数据的集中存储、提取和管理。为了更好地管理存储在存储系统中的数据,当前可以使用基于全局命名空间的存储系统。
全局命名空间可以被理解为逻辑层,其可以独立于文件的实际物理文件位置来提供对文件的查看和访问。全局命名空间为管理员提供添加、修改、移动和重新配置物理文件存储而不影响用户如何查看和访问存储在物理文件记忆装置中的数据的能力。
通常,基于全局命名空间的存储系统提供容量管理,但是它们不支持精简供应(thin provisioning)同时支持多租户。此外,这种存储系统可以利用分配给每个租户的存储容量的硬划分,这可能导致存储容量的无效利用。此外,存储系统可能不提供足够的故障恢复性,从而导致在硬件或软件故障的情况下数据不可用的可能性。例如,考虑到有两个租户,比如租户A和租户B,它们由存储系统分配确定的存储块。因此,租户A可以与唯一的存储块相关联,并且类似地,租户B可以与不同的存储块相关联。还将理解,暂时或永久地成为不可用的任何存储块可能影响相应租户的数据可用性。此外,为了解决与供应相关的任何问题,预计到任何租户对存储容量的不断增长的需求时,可以部署附加的存储容量。
基于实施管理树和存储树的存储架构,本主题的方面涉及用于管理用于多个租户的存储容量的系统和方法。多个租户可以通过使用全局命名空间架构来使用诸如基于SAN的存储系统之类的存储系统中提供的存储容量。在一个示例中,可以为全局命名空间内的每个租户指定管理树形式的抽象(abstraction)。管理树可以被理解为在全局命名空间中具有相应租户的数据管理策略的命名空间实体。因此,每个管理树可以进一步与多个数据管理策略相关联,所述多个数据管理策略可以确定与相应租户有关的数据被访问或修改的方式。数据管理策略可以包括例如数据保留(retention)策略、认证策略、数据访问策略、定义用户配额(quota)的策略以及定义用于与管理树相关联的数据的反病毒机制的策略。
对于特定租户,管理树可以是唯一的。租户可以是任何功能或业务组织,其又可以进一步包括一个或多个单元,每个单元对应于组织的业务功能。可以根据各部门的功能来定义单元,如租户的营销、财务、研发(R&D)和人力资源(HR)。在其他示例中,可以基于不同的参数来定义单元,不同参数诸如用户角色、用户的地理位置以及用户的设备类型。
管理树可以被指定为具有根和各种子节点的分层结构。子节点中的每个还可以与子管理树相关联。子管理树可以对应于租户的单元。与父管理树类似,子管理树可以与它们各自的数据管理策略相关联,这些策略可能是特定于租户的单元的。例如,租户对于HR单元可能具有不同的数据管理策略,以及对于R&D单元的数据管理策略的单独集合。因此,数据管理不仅可以在租户级别处而且在单元级别处提供
为了存储与租户有关的数据,子管理树或管理树可以映射到存储树。存储树可以被理解为存储用户创建的文件和目录所基于的命名空间实体。存储树可以映射到一个或多个存储域,其中将要存储与租户或租户的单元有关的数据。在一个示例中,存储域可以是存储块的最小单元,存储块是用于保持数据的容器。存储域可以与多个存储属性相关联,这可能有助于为租户选择适当的存储域。存储属性可以是存储块的包容(containment)属性、与存储块相关联的价格、存储块的性能以及存储块的地理位置。因此,存储树提供了存储域到涵盖多个存储域的全局命名空间的映射。
本主题提供了故障恢复性以避免或最小化数据不可用性。在本存储系统中,由于可以有效地扩展和管理数据,所以可以为管理员提供分配存储域并将其映射到管理树和存储树的灵活性。因此,现在可以将故障对整个存储系统的影响包含在由存储树定义的存储系统的子集中。换句话说,如果发生存储域中的故障,则可能会影响映射到存储域的存储树,并且可能对其他存储树具有有限的影响或没有影响。
结合以下附图进一步描述这些和其他方面。应当注意,描述和附图仅仅说明了本主题的原理。此外,可以设计出尽管未明确描述或显示在本文中但是体现了本主题的原理并且包括在其范围内的各种布置。
关于附图详细说明可以如何实现用于租户的数据管理的设备和方法的示例。虽然所描述的用于租户的数据管理的设备和方法的各个方面可以在任何数量的不同设备、环境和/或实施中实现,但是示例和实施在下面的(一个或多个)图的上下文中被描述。
图1示出了根据本主题的示例的存储系统100。存储系统100能够向多个租户提供存储容量。在一个示例中,存储系统100尤其包括(一个或多个)处理器105、数据管理模块110和存储模块115。
(一个或多个)处理器105可以包括微处理器、微计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路、虚拟机和/或基于计算机可读指令来操纵信号和数据的任何其他设备。此外,可以通过使用专用硬件以及能够执行计算机可读指令的硬件来提供附图中所示的各种元素的功能,包括标记为“(一个或多个)处理器”的任何功能框。
在一个示例中,多个租户中的每一个可以具有对应的管理树(图1中未示出),每个还与一个或多个数据管理策略相关联。数据管理策略可以定义用于管理存储在与租户对应的存储域中的数据和针对与租户有关的数据的数据存储请求的规则。管理树继而可以包含存储树或存储树的集合(图1未示出),其可以提供存储系统100中的容量管理。为了提供容量管理,每个存储树可以进一步与一个或多个存储域关联。
为了根据特定于租户的数据管理策略来管理租户的数据,数据管理模块110可以标识与租户对应的管理树,以确定与租户对应的数据管理策略。此外,存储模块115可以确定与管理树相对应的存储树,以标识保持与租户有关的数据的存储域。可以基于由所标识的管理树或存储树定义的数据管理策略来管理存储域中的数据。应当理解,管理可以包括数据访问、数据保留、数据擦除、数据保护等。
图2示出了根据本主题的示例的存储网络架构200。为了简洁起见,只是一堆盘(JBOD)盒(enclosure)、目录、文件、段和文件系统的、诸如交换机、服务器对和高可用(HA)配置中的记忆装置之类的某些部件未在本图中示出。在一个示例中,存储网络架构200是基于全局命名空间的扩展(scale out)存储网络。此外,存储系统100可以被实现为虚拟系统。本主题提供了在单个命名空间下支持多个租户,单个命名空间被表示为全局命名空间205。
为了支持多个租户,命名空间可以被逻辑地划分为被称为管理树的多个管理域,诸如管理树210-1、管理tree 210-2和管理树210-M。管理树210-1、210-2、……和210-M(统称为管理树210)中的每个可以进一步与关于对应的租户的一个或多个数据管理策略相关联。数据管理策略可以描述用于提供访问和管理与租户有关的数据的规则。例如,数据管理策略可以描述认证策略、数据擦除策略、数据保留策略、防病毒策略和用户存储空间分配策略。
应当理解,每个租户可以与不同的单独的数据管理策略相关联。然而,如果租客没有定义这样的策略,则对于租户可以实现默认数据管理策略。因此,对应于这样的租户的管理树210可以包括默认数据管理策略。在一个示例中,默认数据管理策略可以由管理员预定义。
租户可以选择在所有单元上施加相同的数据管理策略,或者可以针对一些或所有单元具有单独的数据访问策略。如果要施加单独的数据管理策略,则可以通过从管理树210分支的子管理树215-1……215-K来提供单元方面的数据安全性和控制。子管理树215-1……215-K可以统称为子管理树215,并且可以单独地称为子管理树215。子管理树215可以相应地包括用于管理与租户的单元有关的数据的数据管理策略。
在一个示例中,租户的单元可以基于诸如功能、用户角色和地理位置之类的各种参数进行分类。例如,基于功能的分类可以提供单元,如财务、人力资源、研发、销售、营销和信息技术支持。同样,基于用户角色的分类可以提供单元,诸如实习生、助理、高级助理、科学家、经理等。
参考图2,管理树210-1被示为具有子管理树215-1和215-K。如图所示,诸如不具有子管理树节点的管理树210-M之类的子管理树215和管理树210可以依次可以映射到一个或多个存储树,诸如存储树220-1、存储树220-2、存储树220-3、……以及存储树220-P(统称为存储树220)。虽然管理树210和子管理树215提供策略管理,但可以通过存储树220来提供存储容量管理,如以下部分所解释的那样。
存储树220可以被理解为命名空间实体,所有用户创建的文件和目录都可以低于该空间实体驻留。存储树220还可以运转以在命名空间中提供控制点,其中可以实现诸如快照、灾难恢复(DR)复制和故障管理策略之类的各种功能。此外,存储树220可以通过指定对存储树220的大小的限制来提供容量管理。此外,可以在存储树220处设置附加数据管理策略。这样的策略的示例包括存储树220中的对象可以如何跨存储树220可以跨越的多个存储域225展开的分配策略、配额限制、快照(snap)调度、DR快照策略、存档日志和Metabox/Express查询ON/OFF。
在一个示例中,对于存储树220中的任何对象,数据管理策略可以从存储树220继承,并且如果数据管理策略未在存储树220处设置,则可以实施来自对应于存储树的管理树210或215的数据管理策略。如果在存储树220及其父管理树两者上设置相同的策略,则存储树220的数据管理策略可以超越(override)管理树210或215的数据管理策略。因此,可以从层级的底部到顶部,即从存储树级别到全局命名空间205的根,来检查数据管理策略。然而,在策略冲突的情况下可以定义某些例外,例如,在配额分配由存储树220和父管理树210或215两者定义的情况中,可以实施由管理树210定义的配额分配策略。
在另一示例中,可以确定一个或多个存储域225-1、2、……、N。一旦存储域225-1、2、……、N(统称为存储域225)被确定,则存储域225-1、2、……、N被映射到存储树220。存储域225可以被理解为在存储网络架构200中分配给租户的容量块的单元。存储域225可以例如通过存储区域网络(SAN)偶联体(couplet)独立盘冗余阵列(RAID)偶联体、盘阵列和JBOD壳实现。
存储域225中的每个可以与一个或多个基于属性的存储块相关联,存储属性例如是存储块的性能、故障包容、存储块的位置和存储块的定价。可以使用这样的存储属性来确定存储域225中的哪个将被选择用于与来自存储树220中的存储树相关联。在这种情况下,可以基于租户选择或指定的存储属性选择可向租户提供存储容量的存储域225。这些存储属性可以在租户的相应管理树210中定义。基于所选择的存储属性,可以为租户选择存储域225。例如,租户可以指定要使用快速处理存储容量或者使用在特定地理位置中可用的存储容量。在该示例中,如果租户希望有助于(avail)位于租户的组织附近的地理位置内的闪存类型记忆装置,则可以选择具有在所选择的地理位置属性中的存储域225之一内的闪存类型记忆装置。
如前所述,存储树220可以映射到一个或多个存储域225。根据本图示,存储树220-1映射到存储域225-1,并且存储树220-2映射到存储域225-2和225-3。任何一个存储树220与一个或多个存储域225的映射可以基于分配给租户或租户的单元的配额和所选择的存储属性。此外,在其他示例中,存储域225也可以在多个单元或租户之间共享,即,多个存储树220可以映射到相同的存储域225。例如,在多个租户已经选择了类似的存储属性的情况下,相同的存储域225可以映射到它们对应的存储树220。
多个存储树220到相同存储域的映射也在图2中示出,并且可以通过以下示例更好地理解。参考图2,与管理树210-2相对应的租户有关的数据可以存储在存储域225-3和存储域225-N中,其中对应的存储树220-3和220-4可以提供用于容量管理。此外,与管理树210-M相对应的另一租户有关的数据也可以存储在存储域225-N中,其中存储树220-P提供容量管理。因此,存储域225-3在存储树220-2和存储树220-3之间共享,并且存储域225-N在存储树220-4和存储树220-P之间共享。在本示例中,管理树210-1、210-2和210-M可以通过执行相应的数据管理策略来在数据存储在存储域225-3和存储域225-N中时提供数据安全性。类似地,存储域225也可以在租户的各个单元之间共享。
此外,在本示例中可以实现精简供应,因为存储域225现在在各种租户之间共享,这可以以不同的速率利用存储容量。这样,本架构可以支持精简供应,并且同时也可以提供数据安全性。
在一个示例中,管理树210、子管理树215和存储树220的概念可以以多种方式实现。例如,管理树210、子管理树215和存储树220可以映射到命名空间中的目录。然而,在其他示例中,子管理树215和存储树220可以存储在数据库中,并且例如可以在命名空间中提供节点,例如与管理树210相对应的节点,并且该节点可以充当由管理树210定义的层级的入口点。因此,存储网络架构200可以在不同的实施中以不同的方式实现管理、子管理和存储树的性质继承模型。
存储网络架构200可以根据以下等式在逻辑上表示:
等式(1)表示存储系统100的全局存储空间。如可以从等式(1)想到的,全局存储空间包括多个存储域225,即,1到N。因此,存储域225构成存储空间,即,存储系统100的可用容量。等式(2)表示全局命名空间映射到全局存储空间并在全局存储空间中实现。随后的等式示出了根据当前架构200的全局命名空间的部件。
等式(3)示出了全局命名空间包括多个管理树,诸如管理树210。换句话说,全局命名空间包括管理树210。管理树210还可以进一步包括又包括其他部件的子管理树或存储树,如等式4和5中所示的。等式(4)示出了每个管理树210可以包括一个或多个子管理树215或一个或多个存储树220。应当理解,子管理树215也可以被认为是可以由上述等式(4)表示的管理树210。
此外,如前所述,存储树220可以映射到一个或多个存储域225,并且其由等式(5)表示,其指示每个存储树220可以继而包括一个或多个存储域225。因此,等式(4)和(5)对应于图2中所示的存储网络架构200中表示的层级结构。
因此,可以想到本存储架构200支持多个租户,并且同时提供存储容量分配的灵活性以有效地利用存储资源。本主题也可以提供故障恢复性。例如,如果具有与租户A的单元X和租户B的单元Y有关的数据的存储域出现故障,则由于通过存储树提供的数据的分离,与单元X和Y有关的数据可能变得不可用;而与其他单元和租户有关的数据可能不受影响。因此,故障的影响可以是可跟踪的并且这样可能不影响整个存储系统。
图3示出了根据本主题的示例实现存储网络架构200的存储系统100。存储系统100可以向多个租户提供存储空间。存储系统100可以包括通信地耦合到由存储系统100提供的记忆装置304的计算系统302。记忆装置304可以包括存储域225。
计算系统302可以在例如台式计算机、多处理器系统、个人数字助理(PDA)、膝上型计算机、网络计算机、云服务器、小型计算机、大型计算机、诸如平板计算机的手持设备中实现。计算系统302还可托管多个应用。计算系统302包括例如(一个或多个)处理器105、(一个或多个)接口(图中未示出)、存储器306、模块308和数据310。
接口可以包括各种市售接口,例如用于(一个或多个)外围设备的接口,诸如被称为I/O设备的数据输入输出设备、接口卡、存储设备和网络设备。
存储器306可以通信地耦合到(一个或多个)处理器105,并且可以包括本领域中已知的任何非暂时性的计算机可读介质,包括例如易失性存储器,诸如静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)和/或非易失性存储器,诸如只读存储器(ROM)、可擦除可编程ROM、闪速存储器、硬盘、光盘和磁带。
模块308尤其包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件和数据结构。模块308还可以被实现为(一个或多个)信号处理器、(一个或多个)状态机、逻辑电路和/或基于操作指令来操纵信号的任何其他设备或部件。此外,模块308可以由硬件、由处理单元执行的计算机可读指令或由其组合来实现。
模块308可以包括数据管理模块110、存储模块115、管理服务模块312和(一个或多个)其他模块314。其他模块314可以包括补充应用和功能的程序或编码指令,例如,计算系统302的操作系统中的程序。此外,数据310可以包括策略和存储数据316、映射数据318和其他数据320。应当理解,管理树210可以包括子管理树215。尽管数据310已经在计算系统302的内部被示出,但是应当理解,也可以在外部记忆装置上提供该数据。
如前所述,管理树210和存储树220的概念使得存储系统100能够以有效的方式向多个租户提供存储容量,而不包括数据安全性。管理树210、子管理树215和存储树120可以存储在策略和存储数据316中。
在一个示例中,数据管理模块110可以为与存储系统100相关联的每个租户创建管理树。此外,管理树210可以与存储域225的集合相关联,这可以向对应于管理树210的租户提供存储容量。如前所述,存储域225可以基于租户指定的存储属性来选择。
此外,可以为管理树210中的每个创建一个或多个存储树220,并且存储域225的子集可以与存储树220中的每个相关联。在一个示例中,数据管理模块110可以标识与存储树220相关联的存储域225。例如,可以基于为对应于存储树220的单元指定的存储属性来标识存储域225的子集。
一旦在存储系统100中实现了存储网络架构200的层级结构,则可以由数据管理模块110和存储模块115来管理存储在形成全局存储空间的存储域225中的数据。在一个示例中,数据管理模块110和存储模块115可以基于相应的管理树115来提供管理与各种租户有关的数据。数据管理模块110可以标识与租户有关的数据管理策略,并且存储模块115基于标识的管理树定义的数据管理策略可以管理存储在记忆装置304中的数据。例如,一个租户的数据擦除策略可以阐述与所有其单元有关的数据将在两年后被擦除,而另一个租户的数据擦除策略可以阐述与基础设施支持单元有关的数据将在一年后擦除,而与研发有关的数据不擦除。
在另一示例中,还可以基于由对应的租户定义的数据管理策略来处理来自用户的数据存储请求。每个数据存储请求可以包括指示其所属租户的租户ID和/或指示租户的单元的单元ID。为了处理数据存储请求,数据管理模块110可以确定数据存储请求的租户ID。基于该租户ID,数据管理模块110可以使用映射数据318来标识对应的管理树210。映射数据318可以包括ID到租户映射、父子映射、管理存储树映射。ID到租户映射可以将每个租户ID映射到相应的管理树210。父子映射可以将管理树210映射到子管理树215,如果有的话。为了说明的目的,具有子管理树210的管理树210可以被称为父管理树。管理存储树映射可以指示对应于管理树210和/或子管理树215的存储树220。
参考数据存储请求的处理,数据管理模块110可以基于从数据存储请求获得的租户ID标识相应的租户并且因此标识管理树210。此外,使用父子映射,可以断定是否将实现单元策略。换句话说,数据管理模块110可以断定所标识的管理树210是否具有子管理树215。在存在针对租户的子管理树215的情况下,数据管理模块110可以从数据存储请求标识单元ID。
在确定单元ID时,可以确定相应的子管理树215。应当理解,租户可以针对单个单元具有单独的数据管理策略,而单元中的其余单元可以具有相同的数据管理策略。在这种情况下,可能有两个子管理树215,一个定义特定于单元的策略并且另一个定义适用于其余单元的策略;或者可以存在单个子管理树215,因为管理树210可以指示除了在子管理树215中针对其定义了数据管理策略的特定单元之外,的所有单元将实现一般数据管理策略。因此与存储在相同或不同的存储域225中的各种租户有关的数据可以由数据管理模块110基于相应的管理树210管理。
基于确定的管理树,子或父,数据存储请求可以由存储模块115处理。例如,存储模块115可以执行由管理树定义的认证策略,以检查用户的真实性来提供对数据的受控访问。如果数据存储请求被认证,则存储模块115可以执行所指示的动作,否则可以将其丢弃,并且可以向用户提供通知。在一个示例中,存储模块115可以通信地耦合到租户的认证域以提供数据存储请求的处理。
此外,在接收到数据存储请求时,存储模块115可以标识映射到先前标识的管理树的存储树220。在一个示例中,基于所标识的存储树220,存储模块115可以确定附加数据管理策略是否由存储树220定义。在定义附加数据管理策略的情况下,存储模块220可以确定数据由存储树220定义的数据管理策略超越由其父管理树定义的策略。策略超越规则可以存储在策略和存储数据316中。策略超越规则可以指示例如从层级的底部到顶部检查数据管理策略。此外,在其他示例中,策略超越规则还可以指定底到顶规则的例外。
基于要执行的数据管理策略,存储模块115可以处理数据存储请求并管理与租户有关的数据。例如,数据存储请求可以针对存储在存储域225中的数据。基于存储树220,存储模块115可以标识对应的存储域225,并且在执行数据管理策略时执行在存储域225上由数据存储请求指示的输入/输出操作。在其他示例中,数据存储请求可以用于访问存储树120中的对象。基于上述认证过程,数据存储请求可以相应地被路由到相应的存储树。
此外,计算系统302还可以包括管理服务模块312,其可以提供管理树和存储树的容量扩展、添加、删除和修改。例如,当租户耗尽分配的存储容量并请求附加的存储容量时,来自一个或多个其他存储域225的某存储容量可以被分配给租户。可以基于由租户指定的存储属性来选择存储域225。应当理解,可以在对应于租户的管理树210中指定这些存储属性。在另一示例中,在预期未来容量增长时,可以主动地将附加的存储域225添加到存储系统110。在所述示例中,管理服务模块312可以将新添加的存储域225与一个或多个管理树210相关联。因此,对应于这些管理树210的存储树220可以被扩展以包括附加存储域225。
基于要添加的存储域225,管理服务模块312可以修改与租户相关联的存储树220以反映容量扩展并映射新的存储域225。此外,在其他示例中,在新的存储域225将被添加到存储系统100的情况下,新的存储域225可以通过存储树220映射到全局命名空间,例如全局命名空间205。例如,管理服务模块312可以添加新的存储域225到全局命名空间205使用的全局存储空间。如前所述,存储树220也映射到其父管理树210或215,因此,新存储域225中的数据也可以基于数据管理树210或215定义的数据管理策略被管理。
图4和图5示出了根据本主题的各种示例的方法400和方法500,其用于向与诸如存储系统100之类的存储系统相关联的多个租户提供存储容量。
描述方法的顺序不旨在被解释为限制,并且所描述的方法框中的一些可以以不同的顺序组合以实现方法或等同的替代方法。另外,在不脱离本文所描述的主题的精神和范围的情况下,可以从方法中删除各个框。此外,方法可以以任何合适的硬件、计算机可读指令或其组合实现。
应当理解,可以通过编程的计算设备例如基于从非暂时性计算机可读介质检索的指令来执行所述方法。计算机可读介质可以包括机器可执行或计算机可执行指令,以执行所述方法的全部或一部分。计算机可读介质可以是例如数字存储器、磁存储介质,例如磁盘和磁带、硬盘驱动器或光学可读数据存储介质。
如图4中所示,在框402处,可以创建用于与存储系统相关联的多个租户中的每一个的管理树。管理树可以与数据管理策略相关联,数据管理策略可以定义与租户相关联的数据将被访问和修改的方式。
在框404处,可以创建映射到管理树的至少一个存储树。存储树可以是命名空间实体,在该命名空间实体下存储与租户有关的数据。
在框406处,存储树可以映射到一个或多个存储域。存储域可以保持与租户有关的数据,其中存储域中的数据是基于由管理树和存储树之一定义的数据管理策略来管理的。
参考图5,在框502处,为与存储系统相关联的每个租户创建管理树。此外,每个管理树可以与定义规则以管理与相应租户有关的数据的数据管理策略相关联。
在框504处,断定是否定义了对租户的单元特定的数据管理策略。在断定对租户特定的数据管理策略被定义的情况下,方法500可以分支到(‘是’框)框506。
在框506处,子管理树被创建为管理树的节点。管理树的每个节点可以表示租户的单元,并且可以具有单元特定的数据管理策略。
然而,如果在框504处,断定对租户的单元特定的数据管理策略未被定义,则方法500可以进行到(‘否’分支)框508。
在框508处,基于租户指定的存储属性来选择一个或多个存储域,以向租户提供存储容量。存储域可以与存储属性相关联,存储属性诸如故障包容、性能、定价和地理位置。
在框510处,创建映射到管理树和子管理树之一的一个或多个存储树。存储树可以直接映射到管理树,以防管理树不具有任何子节点。存储树可以是全局命名空间中的实体,在该全局命名空间之下存储与租户有关的数据和对象。
在框512处,将每个存储树映射到存储域的子集。
在一个示例中,在生成存储网络架构时或者在诸如存储网络架构220之类的存储网络架构创建之后,可以断定分配给租户的存储容量或存储系统的存储容量,即全局存储空间,是否将要扩展。在断定存储系统的存储容量将要被扩展的情况下,可以将附加存储域添加并映射到对应于一个或多个租户的存储树。换句话说,存储树可以被映射到对应于租户的管理树。在另一示例中,如果将要扩展租户的存储容量,则可以基于由租户指定的存储属性,为租户选择附加存储域,如在框508处所示。此外,附加存储域可以映射到存储树以反映容量扩展。在一个示例中,管理服务模块312提供容量扩展。
图6示出了根据本主题的示例的实现用于管理在胜任多租户的存储系统中的数据的非暂时性计算机可读介质的示例网络环境600。网络环境600可以是公共联网环境或私有联网环境。在一个实现中,网络环境600包括通过通信链路606与非暂时性计算机可读介质604通信地耦合的处理资源602。
例如,处理资源602可以是网络设备的处理器,网络设备诸如计算系统302。非暂时性计算机可读介质604可以是例如内部存储器设备或外部存储器设备。在一个实现中,通信链路606可以是诸如通过存储器读/写接口形成的链路之类的直接通信链路。在另一实现中,通信链路606可以是诸如通过网络接口形成的链路之类的间接通信链路。在这种情况下,处理资源602可以通过网络608访问非暂时性计算机可读介质604。网络608可以是单个网络或多个网络的组合,并且可以使用各种不同的通信协议。
处理资源602和非暂时性计算机可读介质604也可以通过网络608通信地耦合到数据源610。数据源610可以包括例如数据库和计算设备。数据源610可以由数据库管理员和其他用户使用以与处理资源602通信。
在一个实现中,非暂时性计算机可读介质604包括计算机可读指令的集合,诸如用于实现数据管理模块110的指令。下文中称为指令的计算机可读指令的集合可以通过通信链路606由处理资源602访问并且随后被执行以执行用于管理与由存储系统100支持的多个租户有关的数据的动作。
为了讨论的目的,已经参考关于图1-3较早引入的各种部件描述了处理资源602对指令的执行。在一个示例中,在处理资源602执行时,数据管理模块110创建对应于租户的管理树210。另外,存储域225的集合可以与管理树210相关联以提供存储容量。管理树210可以包括一个或多个存储树220以提供容量管理。来自与管理树210相关联的存储域225的存储域225的子集可以被映射到存储树210。映射到存储树220的存储域225中的数据可以基于管理树和存储树之一定义的数据管理策略来管理。
因此,本主题的方法和系统利用容量分配的灵活性并且同时确保数据安全性来提供支持多个租户。虽然已经以特定于结构特征和/或方法的语言描述了本公开的示例,但是应当认为所附权利要求不一定限于所描述的具体特征或方法。相反,具体特征和方法被公开和解释为本公开的示例。
Claims (15)
1.一种存储系统,包括:
处理器;
数据管理模块,其耦合到所述处理器,以标识对应于来自多个租户中的租户的管理树,所述管理树是具有与所述租户相对应的数据管理策略的命名空间实体,其中所述多个租户中的每一个与相应的管理树相关联;和
耦合到所述处理器的存储模块,用于:
标识与所述管理树相对应的存储树,所述存储树被映射到保持与所述租户有关的数据的存储域,其中所述存储树是命名空间实体,在所述命名空间实体下存储与所述租户有关的数据;和
确定要执行的数据管理策略以管理存储域中的数据,其中数据管理策略由管理树和存储树之一定义。
2.根据权利要求1所述的存储系统,其中与所述多个租户对应的所述存储树映射到所述存储域,其中与所述多个租户有关的数据被存储在所述存储域中。
3.根据权利要求1所述的存储系统,其中所述存储模块用于:
断定存储树是否包括附加数据管理策略;
确定存储树何时包括附加数据管理策略,基于策略超越规则确定附加数据管理策略是否超越管理树定义的数据管理策略;和
基于确定执行附加数据管理策略。
4.根据权利要求1所述的存储系统,其中当所述租户包括一个或多个单元时,所述数据管理模块标识定义与租户的单元相对应的数据管理策略的子管理树,并且其中所述子管理树映射到存储树以存储与租户的单元有关的数据。
5.根据权利要求1所述的存储系统,其中,所述存储模块基于由所述管理树定义的数据管理策略来管理所述存储域中的数据。
6.根据权利要求1所述的存储系统,其中所述存储系统包括基于全局命名空间的扩展存储系统。
7.根据权利要求6所述的存储系统,其中,所述管理树和所述存储树中的每一个被提供为全局命名空间中的目录。
8.一种方法,包括:
针对与存储系统相关联的多个租户中的每一个创建管理树,所述管理树与数据管理策略相关联,所述数据管理策略定义与租户相关联的数据被访问和修改的方式;
创建映射到所述管理树的存储树,所述存储树是命名空间实体,在所述命名空间实体下存储与所述租户有关的数据;和
将所述存储树映射到存储系统的存储域,所述存储域保持与租户有关的数据,其中基于由存储树和管理树之一定义的数据管理策略来管理所述存储域中的数据。
9.根据权利要求8所述的方法,其中所述方法还包括:
断定特定于租户的单元的数据管理政策是否由租户定义;和
当定义特定于所述单元的数据管理策略时,创建子管理树作为管理树的节点,其中存储树映射到子管理树。
10.根据权利要求8所述的方法,其中,所述映射还包括基于由所述租户指定的存储属性来选择要映射到所述存储树的存储域。
11.根据权利要求8所述的方法,其中所述方法还包括:
断定是否向租户分配附加的存储容量;
基于租户指定的存储属性选择新的存储域以提供附加的存储容量;和
将新的存储域映射到存储树以反映容量扩展。
12.一种具有计算机可读指令的集合的非暂时性计算机可读介质,所述计算机可读指令在被执行时使得处理器
创建与来自由存储系统支持的多个租户中的租户相对应的管理树,所述管理树与为租户定义的数据管理策略相关联,其中管理树分支到存储树以提供容量管理;
将至少一个存储域与所述管理树相关联,基于由所述租户指定的存储属性来选择所述至少一个存储域;和
创建从所述管理树分支的存储树以提供容量管理,所述存储树被映射到所述至少一个存储域,其中基于由所述管理树定义的数据管理策略来管理所述至少一个存储域中的数据。
13.根据权利要求12所述的非暂时性计算机可读,其中计算机可读指令的集合在执行时进一步使得处理器在所述多个租户中每一个的存储树映射到至少一个存储域时,管理与所述至少一个存储域中的所述多个租户有关的数据。
14.根据权利要求12所述的非暂时性计算机可读,其中计算机可读指令的集合在执行时进一步使得处理器基于父子映射来标识所述管理树的子管理树,所述子管理树定义与租户的单元相对应的数据管理策略,其中基于与子管理树对应的存储树来标识至少一个存储域。
15.根据权利要求12所述的非暂时性计算机可读,其中计算机可读指令的集合在执行时进一步使得处理器:
断定存储树是否包括附加的数据管理策略;
确定存储树何时包括附加数据管理策略,基于策略超越规则确定附加数据管理策略是否超越由管理树定义的数据管理策略;以及
基于确定执行附加数据管理策略。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN5485/CHE/2014 | 2014-11-01 | ||
IN5485CH2014 | 2014-11-01 | ||
PCT/US2015/011540 WO2016069034A1 (en) | 2014-11-01 | 2015-01-15 | Data management for tenants |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107111626A true CN107111626A (zh) | 2017-08-29 |
CN107111626B CN107111626B (zh) | 2021-04-02 |
Family
ID=55858127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580058176.5A Active CN107111626B (zh) | 2014-11-01 | 2015-01-15 | 用于租户的数据管理 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10339123B2 (zh) |
CN (1) | CN107111626B (zh) |
WO (1) | WO2016069034A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163002A (zh) * | 2019-05-29 | 2019-08-23 | 上海有谱网络科技有限公司 | 一种SaaS软件租户数据隔离的方法 |
CN112115134A (zh) * | 2020-08-04 | 2020-12-22 | 北京金山云网络技术有限公司 | 数据存储方法、装置、电子设备及存储介质 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10630772B2 (en) * | 2014-09-10 | 2020-04-21 | Panzura, Inc. | Maintaining global namespace consistency for a distributed filesystem |
US10243848B2 (en) | 2015-06-27 | 2019-03-26 | Nicira, Inc. | Provisioning logical entities in a multi-datacenter environment |
US10038694B1 (en) * | 2016-03-30 | 2018-07-31 | EMC IP Holding Company LLC | System and method for security mode-based authorization for data management operations in a multi-tenant protection storage system |
US10984133B1 (en) * | 2017-08-02 | 2021-04-20 | Styra, Inc. | Defining and distributing API authorization policies and parameters |
JP6624251B1 (ja) * | 2018-07-31 | 2019-12-25 | 横河電機株式会社 | インターフェイスモジュール、ネットワークデバイス、およびネットワークシステム |
US10656876B1 (en) * | 2018-11-12 | 2020-05-19 | Cohesity, Inc. | Cloud edition and retrieve |
US11983155B2 (en) * | 2020-01-14 | 2024-05-14 | International Business Machines Corporation | Namespace range creation to distribute workload in a dispersed storage system |
US11740825B2 (en) | 2020-01-14 | 2023-08-29 | International Business Machines Corporation | Object lifecycle management in a dispersed storage system |
US11394634B2 (en) | 2020-04-06 | 2022-07-19 | Vmware, Inc. | Architecture for stretching logical switches between multiple datacenters |
US11088902B1 (en) | 2020-04-06 | 2021-08-10 | Vmware, Inc. | Synchronization of logical network state between global and local managers |
US11438238B2 (en) | 2020-04-06 | 2022-09-06 | Vmware, Inc. | User interface for accessing multi-site logical network |
US11777793B2 (en) | 2020-04-06 | 2023-10-03 | Vmware, Inc. | Location criteria for security groups |
US11374817B2 (en) | 2020-04-06 | 2022-06-28 | Vmware, Inc. | Determining span of logical network element |
US11343227B2 (en) | 2020-09-28 | 2022-05-24 | Vmware, Inc. | Application deployment in multi-site virtualization infrastructure |
US11445021B2 (en) | 2020-12-22 | 2022-09-13 | Salesforce.Com, Inc. | Sharing objects across namespaces in a container-orchestration system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110137966A1 (en) * | 2009-12-08 | 2011-06-09 | Netapp, Inc. | Methods and systems for providing a unified namespace for multiple network protocols |
CN103218433A (zh) * | 2013-04-15 | 2013-07-24 | 北京邮电大学 | 一种应用于随机存取的元数据管理方法及模块 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7185359B2 (en) * | 2001-12-21 | 2007-02-27 | Microsoft Corporation | Authentication and authorization across autonomous network systems |
US20040039594A1 (en) * | 2002-01-09 | 2004-02-26 | Innerpresence Networks, Inc. | Systems and methods for dynamically generating licenses in a rights management system |
DE10218905B4 (de) * | 2002-04-26 | 2016-03-17 | Intelligent Views Gmbh | Verfahren und Datenstruktur zur Zugriffssteuerung in Wissensnetzen |
JP4284497B2 (ja) * | 2003-01-29 | 2009-06-24 | 日本電気株式会社 | 情報共有方法、装置、およびプログラム |
CA2508591A1 (en) * | 2004-05-28 | 2005-11-28 | Emergis Inc | System and method having a hierarchical model with override capability for generating a flexible insurance plan |
US7475077B2 (en) * | 2006-01-31 | 2009-01-06 | International Business Machines Corporation | System and method for emulating a virtual boundary of a file system for data management at a fileset granularity |
US8719768B2 (en) | 2006-08-22 | 2014-05-06 | Dell Products L.P. | Accretion of inter-namespace instances in multi-tenant CIMOM environment |
US8862590B2 (en) | 2007-06-29 | 2014-10-14 | Microsoft Corporation | Flexible namespace prioritization |
US8285681B2 (en) | 2009-06-30 | 2012-10-09 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
US8180813B1 (en) | 2009-12-08 | 2012-05-15 | Netapp, Inc. | Content repository implemented in a network storage server system |
US20120185413A1 (en) | 2011-01-14 | 2012-07-19 | International Business Machines Corporation | Specifying Physical Attributes of a Cloud Storage Device |
US9116633B2 (en) | 2011-09-30 | 2015-08-25 | Commvault Systems, Inc. | Information management of virtual machines having mapped storage devices |
US9805054B2 (en) | 2011-11-14 | 2017-10-31 | Panzura, Inc. | Managing a global namespace for a distributed filesystem |
US9043545B2 (en) | 2012-01-06 | 2015-05-26 | Netapp, Inc. | Distributing capacity slices across storage system nodes |
US9838370B2 (en) * | 2012-09-07 | 2017-12-05 | Oracle International Corporation | Business attribute driven sizing algorithms |
US9361321B1 (en) * | 2013-04-15 | 2016-06-07 | Emc Corporation | Backend capacity report for de-duplicated storage systems |
-
2015
- 2015-01-15 WO PCT/US2015/011540 patent/WO2016069034A1/en active Application Filing
- 2015-01-15 CN CN201580058176.5A patent/CN107111626B/zh active Active
- 2015-01-15 US US15/507,227 patent/US10339123B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110137966A1 (en) * | 2009-12-08 | 2011-06-09 | Netapp, Inc. | Methods and systems for providing a unified namespace for multiple network protocols |
CN103218433A (zh) * | 2013-04-15 | 2013-07-24 | 北京邮电大学 | 一种应用于随机存取的元数据管理方法及模块 |
Non-Patent Citations (2)
Title |
---|
JULIA MYINT等: "A Data Placement Algorithm with Binary Weighted Tree on PC Cluster-based Cloud Storage System", 《2011 INTERNATIONAL CONFERENCE ON CLOUD AND SERVICE COMPUTING》 * |
万继光等: "集群多媒体存储系统的两级元数据管理", 《小型微型计算机系统》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163002A (zh) * | 2019-05-29 | 2019-08-23 | 上海有谱网络科技有限公司 | 一种SaaS软件租户数据隔离的方法 |
CN110163002B (zh) * | 2019-05-29 | 2023-06-13 | 上海有谱网络科技有限公司 | 一种SaaS软件租户数据隔离的方法 |
CN112115134A (zh) * | 2020-08-04 | 2020-12-22 | 北京金山云网络技术有限公司 | 数据存储方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US10339123B2 (en) | 2019-07-02 |
CN107111626B (zh) | 2021-04-02 |
US20170286465A1 (en) | 2017-10-05 |
WO2016069034A1 (en) | 2016-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107111626A (zh) | 用于租户的数据管理 | |
US11995336B2 (en) | Bucket views | |
US11954220B2 (en) | Data protection for container storage | |
CN104160381B (zh) | 多租户环境中租户特定数据集的管理方法及其系统 | |
CN108351885A (zh) | 减少与容器的存储和操作相关联的资源消耗 | |
CN102103518B (zh) | 一种在虚拟化环境中管理资源的系统及其实现方法 | |
CN105706086A (zh) | 用于获取、存储和消费大规模数据流的管理服务 | |
CN112560244A (zh) | 一种基于Docker的虚拟仿真实验系统及方法 | |
CN107046563A (zh) | 一种分布式高效云盘的实现方法、系统及云平台 | |
CN104536903B (zh) | 一种按数据属性分类存放的混合存储方法及系统 | |
CN110083656A (zh) | 日志记录管理 | |
DE112020003277T5 (de) | Erzeugen von tags für die datenzuweisung | |
CN105718217A (zh) | 一种精简配置存储池数据一致性维护的方法及装置 | |
CN109819004A (zh) | 用于部署多活数据中心的方法和系统 | |
US20210263667A1 (en) | Multi-cloud orchestration as-a-service | |
CN104168135A (zh) | 网卡资源池化管理方法及系统 | |
US10802749B2 (en) | Implementing hierarchical availability domain aware replication policies | |
CN106453618A (zh) | 基于G‑Cloud云计算的遥感图像处理服务云平台系统 | |
US20230020268A1 (en) | Evaluating Recommended Changes To A Storage System | |
US20230195444A1 (en) | Software Application Deployment Across Clusters | |
CN108874305A (zh) | 用于存储区域网络(san)设备的对象覆盖 | |
CN104182503A (zh) | 云平台数据访问安全隔离方法 | |
CN108551764A (zh) | 用于备份大型分布式横向扩展数据系统的系统和方法 | |
US9798483B2 (en) | Object storage power consumption optimization | |
US11693559B2 (en) | Dynamic object policy reconfiguration mechanism for object storage 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |