一种基于用户群组的存储配额方法与流程

文档序号:13875849阅读:899来源:国知局
一种基于用户群组的存储配额方法与流程

本发明涉及计算机存储技术领域,尤其涉及一种基于用户群组的存储配额方法。



背景技术:

随着信息量的爆炸式增加,网络存储技术得到不断成熟发展和广泛运用。在许多网络存储系统中,元数据和数据是分离的,各由单独的服务器管理,分别称为元数据服务器和数据服务器。用户将自己的数据存储到数据服务器上,使用一定量的系统资源。当出现多用户共同使用系统时,系统就必须提供一种让各用户合理、有效地使用系统资源的方法,让有限的系统资源被高效地利用,也即存储配额方法。

现有的存储配额方法是基于物理存储用户,鲜有从业务层面的用户以及部门、角色上来实现存储配额。总的来看,现有存储配额方法存在以下三个不足:(1)单用户配额:目前很多存储配额方法的对象是针对存储用户,不能够从业务层面来管理用户以及部门、角色下用户群组的存储配额,无法对用户、部门、角色进行存储资源的配额控制;(2)普适性弱:随着各个存储厂商对存储的管理特性的不断改革,会存在多种的底层存储管理方式,现有存储配额方法只能匹配特定存储厂商的管理特性,当需要接入其他厂商的存储时,必须要再做定制开发,普适性较弱;(3)灵活性差:现有存储配额方法只能对存储用户的存储容量进行分配,不能够统一为部门、角色进行存储配额来实现部门、角色下所有用户的共享存储使用,灵活性差。



技术实现要素:

本发明的目的在于:为解决现有的存储配额方法只能针对单用户进行配额、普适性弱、灵活性差的问题,本发明提供一种基于用户群组的存储配额方法。

本发明的具体方案如下:

一种基于用户群组的存储配额方法,根据业务管理程序中的用户、部门和角色对存储进行逻辑封装,通过配置用户或部门或角色与存储的绑定关系,从而达到用户对存储的独占或共享使用,对逻辑层面的存储与物理层面的存储建立对应关系,将业务层面的内容用户与存储用户作一一绑定。

具体地,所述存储配额的步骤如下:

步骤一:为业务层面的内容用户创建独占pool,为部门和角色分别创建共享pool,存放在数据库中;该pool属于逻辑层面的存储池概念。

步骤二:为独占pool和共享pool创建存储单元unit,存放在数据库中;该unit属于逻辑层面的存储单元概念。

步骤三:在物理存储上创建存储用户,并创建unit文件夹;形成了物理目录。

步骤四:为unit文件夹分配配额、设置权限。

步骤五:将步骤二中的存储单元unit和步骤三中的unit文件夹建立对应关系。

步骤六:将业务层面的内容用户与存储用户作一一绑定,用户、部门和角色的存储配额完成。

具体地,步骤一中,独占pool只能绑定唯一的用户,且绑定关系只能是用户,共享pool可以绑定某个角色或组织机构部门,每个用户访问自己的独占pool或有权限的共享pool。

具体地,所述步骤四中,默认所述unit文件夹创建者具有对所述unit文件夹的访问权限、可更改设置所述unit文件夹的访问权限。

进一步地,用户、部门和角色的存储配额大小可以随时修改,用户的独占pool下的存储配额只允许本用户使用,部门的共享pool下的存储配额允许本部门下所有用户共同使用,角色的共享pool下的存储配额允许本角色下所有用户共同使用。

进一步地,在用户、部门或角色的存储操作中,有文件删除时,及时回收释放空间。保持配额使用情况的正确管理。

具体地,通过接口获取用户、部门和角色的存储配额总大小和已使用空间大小,对配额空间进行实时统计。

采用上述方案后,本发明的有益效果在于:

(1)群组性配额:本发明将pool分为独占pool和共享pool,用户拥有自己独占pool的存储目录,部门和角色拥有对应的共享pool的存储目录,在业务层面不仅能够对单一用户进行存储配额,还能够管理部门、角色下用户群组性的存储配额,对用户、部门、角色进行存储资源的配额控制。

(2)普适性强:在空间管理程序实现pool资源池化,空间管理程序适配了很多种底层存储的管理方式,适配大多数存储厂商,无需针对每个存储厂商的管理特性做定制开发,具有较强的普适性。

(3)灵活性好:对存储进行逻辑封装,即实现pool资源池化后,便于对用户、部门、角色的存储容量进行灵活分配,动态调整以及配额限定,用户除了可使用自己独有的配额以外,还可以使用所属部门、角色下的共享配额,具备动态弹性使用之优点。另外,配额是基于物理的配额,保证统计的准确性。

附图说明

图1为本发明的存储配额方法过程示意图;

图2为本发明利用空间管理程序对物理存储进行逻辑封装的架构图;

图3为本发明利用空间管理程序实现pool池化的逻辑对象关系图。

具体实施方式

下面,将结合具体实施例对本发明进行更加清楚、完整的说明。

为了实现既能对业务层的用户进行存储配额,又能对部门和角色下的所有用户进行配额,将业务上用户、部门、角色的概念和存储空间配额结合起来,达到配额的动态弹性使用的效果,并且能适配多种底层存储的管理方式。本实施例的基于用户群组的存储配额方法,根据业务管理程序中的用户、部门和角色对存储进行逻辑封装,对逻辑层面的存储与物理层面的存储建立对应关系,将业务层面的内容用户与存储用户作一一绑定。本发明中的基于用户群组的存储配额是指可以给用户、部门、角色分配存储空间配额,用户拥有自己独占pool的存储目录,部门和角色拥有对应的共享pool的存储目录,通过接口给存储设置了目录的配额。

逻辑封装的具体构架如图2所示,将整个存储配额方法看作是一个空间管理程序,从图2中可以看到,pool分为独占pool和共享pool,其中,独占pool只能绑定唯一的用户,且绑定关系只能是用户,共享pool可以绑定某个角色或组织机构部门,每个用户访问自己的工作区pool或有权限的共享区pool;在空间管理程序中,进行空间划分和用户授权,未授权用户不能访问其他poo1中的任何文件;访问控制模块对用户操作物理存储进行实时读写授权空间控制,授权用户在pool达到配额后驱动会主动切断该操作系统对文件任何io;用户可以将该pool中的文件“分享”至其他pool,此时pool管理层会自动调用hardlink使得共享文件可以被其他用户使用。此时该共享文件在用户看来是一个“真实”文件,但其实只是一个文件指针,因此并没有占用物理空间,分享的过程也是秒级(同一卷内)。

图3是本发明利用空间管理程序实现pool池化的逻辑对象关系图,图中的英文标识具体解释为:user:用户;pool:存储池;poolcode:存储池标识;name:存储池名称;typedef:类型描述;state:状态;poolunits:存储池单元;unit:存储单元;code:存储单元标识;name:存储单元名称;capacity:容量;currentcapacity:已用容量;currentlogiccapacity:逻辑引用容量;buffersize:缓冲区大小;uncmountdef:unc访问方式描述;mountname:挂载目录名称;readonlyuser:只读用户;accesspath:访问路径;ftpmountdef:ftp访问方式描述;ossmountdef:oss访问方式描述;storagepath:存储路径;accessrule:访问规则;ossaccess:oss访问;ftpaccess:ftp访问;archivepolicy:归档策略;policyname:策略名称;lifetimesetting:生命周期设置;nearlineaccessinfo:近线访问信息;filerecord:文件记录;filepath:文件路径;filesize:文件大小;此图为e-r图,一根线上的数字代表两个实体的对应关系,如一根线上是1和n代表这两个实体是一对多的关系,一根线上是1和0-1表示要么没有关系要么一一对应。

因此,从图中可以看出,pool是用户和unit的关系桥梁结构,它关联多个unit,每个unit需要在总空间的容量下进行“格式化”,并且设定访问容量。一个或多个用户,通过唯一的pool共享一组unit。某个或某组用户,最终的逻辑空间交互身份是pool。空间管理可按pool管理/划分多个存储体容量,可以unit的方式将物理存储动态增加至pool/扩充pool总空间,支持网络盘。pool的总容量是unit的容量总和,空间使用量以pool为单位进行统计。

unit和物理目录是一对一独占关系,每个unit在初始化的时候,只能取得当前存储(或盘)的剩余物理容量。每一个unit,必须对应的是unc、ftp、oss类型根路径下的一个不可重复且不是包含关系的目录。

具体而言,本实施中所述存储配额的步骤如下:

在下述步骤中,该步骤假设已在业务管理程序端创建了用户、部门、角色,并且用户已分配到了所属的部门和角色。

步骤一:为业务层面的内容用户创建独占pool,为部门和角色分别创建共享pool,存放在数据库中,该pool属于逻辑层面的存储池概念。独占pool只能绑定唯一的用户,且绑定关系只能是用户,共享pool可以绑定某个角色或组织机构部门,每个用户访问自己的独占pool或有权限的共享pool。

步骤二:为独占pool和共享pool创建存储单元unit,存放在数据库中,该unit属于逻辑层面的存储单元概念。

步骤三:在物理存储上创建存储用户,并创建unit文件夹,形成了物理目录,这样,用户就拥有了独占pool的存储目录,部门和角色拥有了对应的共享pool的存储目录,不同的存储目录拥有不同的配额。

步骤四:为unit文件夹分配配额、设置权限;默认所述unit文件夹创建者具有对所述unit文件夹的访问权限、可更改设置所述unit文件夹的访问权限。

步骤五:将步骤二中的存储单元unit和步骤三中的unit文件夹建立对应关系;

步骤六:将业务层面的内容用户与存储用户作一一绑定,用户、部门和角色的存储配额完成。

用户、部门和角色的存储配额大小可以随时修改,用户的独占pool下的存储配额只允许本用户使用,部门的共享pool下的存储配额允许本部门下所有用户共同使用,角色的共享pool下的存储配额允许本角色下所有用户共同使用。在用户、部门或角色的存储操作中,有文件删除时,及时回收释放空间,这就保持了配额使用情况的正确管理。

在对配额空间进行实时统计时,通过接口获取用户、部门和角色的存储配额总大小和使用空间大小。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1