一种用户资源的分配方法、装置及计算机可读存储介质与流程

文档序号:16753933发布日期:2019-01-29 17:09阅读:175来源:国知局
一种用户资源的分配方法、装置及计算机可读存储介质与流程

本发明涉及云计算操作系统技术领域,尤其涉及一种用户资源的分配方法、装置及计算机可读存储介质。



背景技术:

云计算(cloudcomputing)是基于互联网的相关服务的增加、使用和交付模式,云计算通常通过互联网来提供动态、易扩展的资源,该资源往往是虚拟化的资源。云场景下,云资源管理系统中的资源可以包括服务器硬件、存储设备、网络设备和网络安全设备等硬件资源;也可以包括计算虚拟化资源、存储虚拟化资源、网络虚拟化资源等虚拟化资源;还可以包括各种业务能力、网络能力、云控制器、各种it、app应用。

云场景下云资源管理系统中的管理员可以在云资源管理系统中配置和管理各种物理主机,如服务器,网卡,存储设备;也可以采用虚拟化技术,在系统中增加各种虚拟化资源,如云主机、云硬盘、网络、镜像、快照等;还可以动态弹性地调整虚拟化资源,比如增加或减少虚拟化资源的数目。

在云资源管理平台中,系统管理员可以把包括云主机、云硬盘、私有镜像、防火墙、负载均衡、物理机和机架在内的各种资源分配给承租用户,并收取服务费用。云场景下云资源管理系统中的资源数量巨大,资源类型复杂多样,并且资源在动态弹性地调整,在对用户进行资源分配和资源管理时,一旦资源发生变化或分配给用户的资源发生变化,就需要手动为用户调整资源并存储用户与资源的关系,手动操作步骤繁琐而且效率不高。



技术实现要素:

有鉴于此,本发明实施例提供一种用户资源的分配方法、装置及计算机可读存储介质,以智能、动态地对云场景下用户的资源进行管理。

为达到上述目的,本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种用户资源的分配方法,该方法包括:

设置角色与资源的对应关系,其中,所述资源为树形结构,所述树形结构的资源包括不同权限状态的资源节点;

根据所述资源节点的权限状态保存所述角色对应的资源树;

根据所述角色与资源的对应关系为用户分配第一角色,则所述用户拥有与所述第一角色对应的资源的合集。

上述方案中,所述树形结构的资源至少包括以下之一状态的资源节点:全赋权资源节点,半赋权资源节点,其中,所述全赋权资源节点拥有本资源节点下的全部资源的操作功能,所述半赋权资源节点拥有本资源节点下的部分资源的操作功能。

上述方案中,根据所述资源节点的权限状态保存所述角色对应的资源树包括:

当所述树形结构的第一子资源节点对应的父资源节点为全赋权资源节点时,在所述第一子资源节点通往根资源节点的路径上,仅保存所述根资源节点至离所述根资源节点最近的全赋权资源节点之间的全部资源节点;

当所述树形结构的第二子资源节点对应的父资源节点为半赋权资源节点时,在所述第二子资源节点通往根资源节点的路径上,保存所述根资源节点至所述第二子资源节点之间的全部资源节点;

当所述树形结构的根节点为全赋权资源节点时,仅保存所述根资源节点;

其中,保存所述资源节点的同时保存被保存的所述资源节点的节点状态。

上述方案中,所述方法还包括,管理所述用户对应的资源。

上述方案中,管理所述用户对应的资源包括:

在所述第一角色对应的资源树的第一资源节点下增加第三子资源节点;和/或

在所述第一角色对应的资源树的第一资源节点下删除第四子资源节点。

上述方案中,在所述第一角色对应的资源树的第一资源节点下增加第三子资源节点;和/或在所述第一角色对应的资源树的第一资源节点下删除第四子资源节点,包括:

当所述第一资源节点为全赋权资源节点时,不改变所述第一角色对应的资源树的结构,其中,所述第一资源节点对应的角色自动获取所述第三子资源节点对应的资源和/或自动回收所述第四子资源节点对应的资源;

当所述第一资源节点为半赋权资源节点时,更改所述第一角色对应的资源树的结构,包括:保存所述第三子资源节点和/或删除所述第四子资源节点。

上述方案中,管理所述用户对应的资源包括:

为所述用户增加第二角色,则所述用户同时拥有所述第一角色和所述第二角色对应的资源的合集;和/或

为所述用户删除所述第一角色,则所述用户删除与所述第一角色对应的资源的合集。

上述方案中,设置角色与资源的对应关系包括:

定义资源类型,其中,所述资源类型包括以下至少之一:资源标识,子资源节点标识,父资源节点标识,资源实体存储位置,资源类型的描述,所述资源标识用于唯一标识所述资源;

创建角色,根据定义好的所述资源类型为所述角色分配资源;

保存所述角色与所述资源的对应关系。

本发明实施例提供一种用户资源的分配装置,所述装置包括:

设置单元,用于设置角色与资源的对应关系,其中,所述资源为树形结构,所述树形结构的资源包括不同权限状态的资源节点;

保存单元,用于根据所述资源节点的权限状态保存所述角色对应的资源树;

分配单元,用于根据所述角色与资源的对应关系为用户分配第一角色,则所述用户拥有与所述第一角色对应的资源的合集。

上述方案中,所述树形结构的资源至少包括以下之一状态的资源节点:全赋权资源节点,半赋权资源节点,其中,所述全赋权资源节点拥有本资源节点下的全部资源的操作功能,所述半赋权资源节点拥有本资源节点下的部分资源的操作功能。

上述方案中,所述保存单元具体用于:

当所述树形结构的第一子资源节点对应的父资源节点为全赋权资源节点时,在所述第一子资源节点通往根资源节点的路径上,仅保存所述根资源节点至离所述根资源节点最近的全赋权资源节点之间的全部资源节点;

当所述树形结构的第二子资源节点对应的父资源节点为半赋权资源节点时,在所述第二子资源节点通往根资源节点的路径上,保存所述根资源节点至所述第二子资源节点之间的全部资源节点;

当所述树形结构的根节点为全赋权资源节点时,仅保存所述根资源节点;

其中,保存所述资源节点的同时保存被保存的所述资源节点的节点状态。

上述方案中,所述装置还包括管理单元,用于管理所述用户对应的资源。

上述方案中,所述管理单元具体用于:

在所述第一角色对应的资源树的第一资源节点下增加第三子资源节点;和/或

在所述第一角色对应的资源树的第一资源节点下删除第四子资源节点。

上述方案中,所述管理单元还用于:当所述第一资源节点为全赋权资源节点时,不改变所述第一角色对应的资源树的结构,其中,所述第一资源节点对应的角色自动获取所述第三子资源节点对应的资源和/或自动回收所述第四子资源节点对应的资源;

当所述第一资源节点为半赋权资源节点时,更改所述第一角色对应的资源树的结构,包括:保存所述第三子资源节点和/或删除所述第四子资源节点。

上述方案中,所述管理单元还用于:

为所述用户增加第二角色,则所述用户同时拥有所述第一角色和所述第二角色对应的资源的合集;和/或

为所述用户删除所述第一角色,则所述用户删除与所述第一角色对应的资源的合集。

上述方案中,所述设置单元具体用于:

定义子单元,用于定义资源类型,其中,所述资源类型包括以下至少之一:资源标识,子资源节点标识,父资源节点标识,资源实体存储位置,资源类型的描述,所述资源标识用于唯一标识所述资源;

创建子单元,用于创建角色,根据定义好的所述资源类型为所述角色分配资源;

保存子单元,用于保存所述角色与所述资源的对应关系。

本发明实施例提供一种用户资源的分配装置,所述用户资源的分配装置包括处理器和用于存储能够在处理器上运行的计算机程序的存储器,

其中,所述处理器用于运行所述计算机程序时,执行:

设置角色与资源的对应关系,其中,所述资源为树形结构,所述树形结构的资源包括不同权限状态的资源节点;

根据所述资源节点的权限状态保存所述角色对应的资源树;

根据所述角色与资源的对应关系为用户分配第一角色,则所述用户拥有与所述第一角色对应的资源的合集。

上述方案中,所述处理器还用于运行所述计算机程序时,执行:

所述树形结构的资源至少包括以下之一状态的资源节点:全赋权资源节点,半赋权资源节点,其中,所述全赋权资源节点拥有本资源节点下的全部资源的操作功能,所述半赋权资源节点拥有本资源节点下的部分资源的操作功能。

上述方案中,所述处理器还用于运行所述计算机程序时,执行:

当所述树形结构的第一子资源节点对应的父资源节点为全赋权资源节点时,在所述第一子资源节点通往根资源节点的路径上,仅保存所述根资源节点至离所述根资源节点最近的全赋权资源节点之间的全部资源节点;

当所述树形结构的第二子资源节点对应的父资源节点为半赋权资源节点时,在所述第二子资源节点通往根资源节点的路径上,保存所述根资源节点至所述第二子资源节点之间的全部资源节点;

当所述树形结构的根节点为全赋权资源节点时,仅保存所述根资源节点;

其中,保存所述资源节点的同时保存被保存的所述资源节点的节点状态。

上述方案中,所述处理器还用于运行所述计算机程序时,执行:管理所述用户对应的资源。

上述方案中,所述处理器还用于运行所述计算机程序时,执行:

在所述第一角色对应的资源树的第一资源节点下增加第三子资源节点;和/或

在所述第一角色对应的资源树的第一资源节点下删除第四子资源节点。

上述方案中,所述处理器还用于运行所述计算机程序时,执行:

当所述第一资源节点为全赋权资源节点时,不改变所述第一角色对应的资源树的结构,其中,所述第一资源节点对应的角色自动获取所述第三子资源节点对应的资源和/或自动回收所述第四子资源节点对应的资源;

当所述第一资源节点为半赋权资源节点时,更改所述第一角色对应的资源树的结构,包括:保存所述第三子资源节点和/或删除所述第四子资源节点。

上述方案中,所述处理器还用于运行所述计算机程序时,执行:

为所述用户增加第二角色,则所述用户同时拥有所述第一角色和所述第二角色对应的资源的合集;和/或

为所述用户删除所述第一角色,则所述用户删除与所述第一角色对应的资源的合集。

上述方案中,所述处理器还用于运行所述计算机程序时,执行:

定义资源类型,其中,所述资源类型包括以下至少之一:资源标识,子资源节点标识,父资源节点标识,资源实体存储位置,资源类型的描述,所述资源标识用于唯一标识所述资源;

创建角色,根据定义好的所述资源类型为所述角色分配资源;

保存所述角色与所述资源的对应关系。

本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述技术方案中的方法的步骤。

本发明所提供的用户资源的分配方法、装置及计算机可读存储介质,在设置角色和资源的对应关系、根据资源节点的权限状态保存角色对应的资源树后,为用户分配第一角色,使用户拥有与第一角色对应的资源的合集,实现了在云场景下对用户的资源的智能、动态管理。

附图说明

图1为本发明实施例中云场景下用户资源的分配的情景示意图;

图2为本发明实施例用户资源的分配方法的实现流程图;

图3为本发明实施例中与角色相对应的资源的树状结构的示意图;

图4为本发明实施例中用户资源权限的示意图;

图5为本发明实施例中用户资源的分配方法的实施流程示意图;

图6为本发明实施例用户资源的分配装置的组成结构示意图。

具体实施方式

图1为本发明实施例中云场景下用户资源的分配的情景示意图,如图1所示,本发明实施例将资源与角色相对应,并为用户分配不同的角色,其中,角色具有功能权限和资源权限。此外,本发明实施例中的资源按照树状结构进行分类。在云资源管理平台中,通过该用户资源的分配方案,可以实现对用户与虚拟化资源、服务器、存储设备以及网络硬件等资源之间关系的调整和管理。

为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。

图2为本发明实施例用户资源的分配方法的实现流程图。如图2所示,本发明实施例提供的用户资源的分配方法包括:

步骤201,设置角色与资源的对应关系,其中,资源为树形结构,树形结构的资源包括不同权限状态的资源节点。

步骤202,根据资源节点的权限状态保存角色对应的资源树。

步骤203,根据角色与资源的对应关系为用户分配第一角色,则用户拥有与第一角色对应的资源的合集。

本发明实施例采用资源直接和角色对应的方式来实现用户资源的分配。其中,角色可以包含不同类型的资源和功能。在多个用户同时拥有同一类资源时,只需要在创建用户时向用户分配包含该类资源的角色。在资源发生变化时,则只需要调整对应的角色,而不需要为用户一一调整用户所分配到的资源。

用户可以分配有多个角色,用户拥有的功能权限和资源权限是用户拥有的所有角色的功能权限和资源权限的合集。通过给用户分配不同的角色,可使用户拥有不同的资源和权限,从而可以分层和分类地管理用户和资源。

在云场景下,给用户分配资源时,由于资源繁多,在数以万计的资源中不可能一一分配,往往会给用户分配一组资源或一个节点下的所有资源,这些节点下的资源是动态创建的,可弹性地增加或减少,因此保存用户和这些动态资源的关系也比较繁琐。本发明实施例通过在资源与角色之间设置对应关系、将资源按照树状结构进行分类,并为用户分配不同的角色,可使用户智能地拥有该角色对应的所有资源。

在步骤201中,设置角色与资源的对应关系时,首先需要定义资源类型,其中,资源类型包括:资源标识,子资源节点标识,父资源节点标识,资源实体存储位置,资源类型的描述,资源标识用于唯一标识资源;定义资源类型之后,需要创建角色,并根据定义好的资源类型为角色分配资源;之后,保存角色与资源的对应关系。

定义资源类型时,还需要定义资源能被哪些模块使用等其他附加信息。定义好资源类型后需要在云资源管理系统中对资源类型进行初始化。

设置角色与资源的对应关系,是为用户分配角色,使用户拥有该角色对应的资源的基础。

在采用树状结构分类展示资源的同时,还需要为资源节点确定权限状态。在本发明实施例中,树形结构的资源至少包括以下两种状态的资源节点:全赋权资源节点,半赋权资源节点,其中,全赋权资源节点拥有本资源节点下的全部资源的操作功能,半赋权资源节点拥有本资源节点下的部分资源的操作功能。

此外,树形结构的资源还包括未赋权资源节点,未赋权资源节点对本资源节点下的全部资源均不具有操作功能,或者,未赋权资源节点下没有资源。

当树状结构重新编辑时,为角色配置的对应资源发生变化。

采用树状结构展示资源,可以满足各种层次情况的资源需求,并可以对用户的资源进行通用、智能的分类分层管理;树状结构具有良好的扩展性,可接入大量的各种资源,资源数量可多达232

另外,采用树状结构分类展示资源,不需要一一保存角色拥有的每一个资源,可节省存储空间。

设置好角色与资源的对应关系后,当为用户分配的角色发生改变时,用户拥有的与角色对应的资源发生改变。具体地,增加为用户分配的角色时,用户将增加与该角色对应的资源;删除为用户分配的角色时,用户将减少与该角色对应的资源。

如图3所示,在资源的树状结构即资源树中,全赋权资源节点对应全勾选状态的树节点,即带√标记的资源节点;半赋权资源节点对应半勾选状态的树节点,即带○标记的资源节点;未赋权资源节点对应未勾选状态的树节点,即不带标记的资源节点。

不同权限的资源节点的资源操作功能可自定义。

在资源树的某个父资源节点下增加子资源节点时,如果这个父资源节点为全赋权资源节点,则拥有这个全赋权资源节点的用户,可自动拥有新增的子资源节点,即可以自动拥有全赋权资源节点下挂的所有子资源。在资源树的某个父资源节点下删除子资源节点时,如果这个父资源节点为全赋权资源节点,拥有这个全赋权资源节点的用户也会自动失去被删除的子资源节点。

因此,在对树状结构的资源节点进行更新时,通过增加全赋权资源节点下属的子节点,为全赋权资源节点对应的角色增加子节点对应的资源;通过删减全赋权资源节点下属的子节点,为全赋权资源节点对应的角色删减子节点对应的资源。

在步骤201中设置资源与角色之间的对应关系后,在步骤202中,需要保存资源与角色设置对应关系即保存角色对应的资源树。具体地,根据资源节点的权限状态保存角色对应的资源树时,当树形结构的第一子资源节点对应的父资源节点为全赋权资源节点时,在第一子资源节点通往根资源节点的路径上,仅保存根资源节点至离根资源节点最近的全赋权资源节点之间的全部资源节点;

当树形结构的第二子资源节点对应的父资源节点为半赋权资源节点时,在第二子资源节点通往根资源节点的路径上,保存根资源节点至第二子资源节点之间的全部资源节点;

当树形结构的根节点为全赋权资源节点时,仅保存根资源节点;

其中,保存资源节点的同时保存被保存的资源节点的节点状态。

采用以上技术方案,不需要保存角色中的每个资源,可以节省存储空间,并更好地对角色的资源权限进行动态、智能的分层分类管理。

在实际应用中,在保存资源和角色的对应关系时,首先判断资源树上分配给该角色的资源节点的权限状态。在子资源节点对应的父资源节点为全赋权资源节点时,在该子资源节点通往根资源节点的路径上,仅保存根资源节点至离根资源节点最近的全赋权资源节点之间的全部资源节点。如图3所示,子资源节点1的父资源节点即资源节点1为全赋权资源节点。如果将子资源节点1对应的资源分配给角色a,保存角色a和分配给角色a的资源之间的关系时,需要在子资源节点1通往资源类型1的路径上,保存资源类型1和资源节点1及资源类型1和资源节点1各自对应的节点状态。

当树形结构的子资源节点对应的父资源节点为半赋权资源节点时,在该子资源节点通往根资源节点的路径上,保存根资源节点至该子资源节点之间的全部资源节点。如图3所示,子资源节点3的父资源节点即资源节点2为半赋权资源节点。如果将子资源节点3对应的资源分配给角色a,保存角色a和分配给角色a的资源之间的关系时,需要在子资源节点3通往资源类型1的路径上,保存资源类型1、资源节点2以及子资源节点3及资源类型1、资源节点2以及子资源节点3各自对应的节点状态。

保存角色a和分配给角色a的资源之间的关系时,如图3所示的未赋权的节点如子资源节点4无需保存。

如果根节点为全赋权资源节点,只用保存根节点信息即可。如图3所示,保存角色b和分配给角色b的资源之间的关系时,只需要保存资源类型1及资源类型1对应的节点状态即可。

在步骤203根据角色与资源的对应关系为用户分配第一角色后,即可以通过管理角色对应的资源树管理用户对应的资源。

管理资源树时,可以为资源树上的资源节点增加子资源节点,该资源树对应的角色即对应地增加该子资源节点对应的资源;也可以为资源树上的资源节点删除子资源节点,该资源树对应的角色即对应地失去该子资源节点对应的资源。

具体地,管理资源树时,可以在第一角色对应的资源树的第一资源节点下增加第三子资源节点;也可以在第一角色对应的资源树的第一资源节点下删除第四子资源节点。

在第一角色对应的资源树的资源节点下增加或删除子资源节点时,当第一资源节点为全赋权资源节点时,不改变第一角色对应的资源树的结构,其中,第一资源节点对应的角色自动获取第三子资源节点对应的资源和/或自动回收第四子资源节点对应的资源;当第一资源节点为半赋权资源节点时,更改第一角色对应的资源树的结构,包括:保存第三子资源节点和/或删除第四子资源节点。

根据以上技术方案,在资源树上增加或删减资源时,如果资源的父节点为全赋权资源节点,则与该资源树对应的角色将自动地增加或失去该资源,而不需要重新保存角色对应的资源树。在如图3所示,角色a和b对应的资源节点1均为全赋权资源节点,因此,在资源节点1下删减子资源节点2并增加子资源节点5时,角色a和b将自动地失去子资源节点2的资源,同时得到子资源节点5的资源。同时,在资源节点2下增加子资源节点6时,因为角色b对应的资源节点2为全赋权资源节点,角色b自动拥有子资源节点6的资源,而角色a对应的资源节点2为半赋权资源节点,所以角色a则不能自动拥有子资源节点6的资源。

如果为全赋权资源节点增加子节点,拥有该全赋权资源节点的角色可以自动分配该子节点对应的资源,分配该角色的用户可以自动拥有该节点下的所有资源,而不需要给相关的角色手动一一分配;如果删减全赋权资源节点的子节点,用户可以自动失去该子节点对应的资源,而不需要调整对应的角色及重新保存角色资源关系。

该技术方案应用于云场景中给用户分配的资源节点的父资源节点是全赋权资源节点的情况下时,效率较高。

如图3所示,创建用户a和b,给用户a分配角色a,给用户b分配角色b后,在资源节点1下删减子资源节点2并增加子资源节点5,在资源节点2下增加子资源节点6后,将用户和资源关系保存,得到的用户资源权限关系如图4所示。

管理用户对应的资源时,还可以通过为用户增加或减少角色进行管理。

具体地,为用户增加第二角色,则用户同时拥有第一角色和第二角色对应的资源的合集;为用户删除第一角色,则用户删除与第一角色对应的资源的合集。

如果用户拥有多个角色,则获取用户资源时,该用户拥有的资源是所有角色中资源的并集,全赋权的资源节点状态叠加后还是全赋权资源节点。

图5为一种用户资源的分配方法的实施流程的示意图。如图5所示,云场景下云资源管理系统进行用户资源的分配的实施步骤如下:

步骤501,定义资源类型,资源类型需要定义作为资源的唯一标识的资源标识、资源类型名称、用于表示层次关系的该资源的上一级节点父节点标识和资源实体存储位置等信息。此外,还需要定义资源能被哪些模块使用,资源类型描述等其他附加信息。创建好资源类型后需要在云资源管理系统中对资源类型进行初始化。

步骤502,在资源树上分类地、动态弹性地创建不同类型的资源,并对资源进行回收操作。其中,资源实体存储在预先定义的资源实体区域。

步骤503,创建角色a和角色b。其中,给角色a和角色b分配的资源如图3所示,对于角色a分配了资源树上的子资源节点1、子资源节点2和子资源节点3,未分配资源树上的子资源节点4,而对角色b则分配了子资源节点1、子资源节点2、子资源节点3和子资源节点4四个子资源节点。

步骤504,保存角色和资源的关系。如图3所示,保存角色a对应的资源树时,根据资源树中资源节点的状态可知,角色a对应的资源树上的资源节点1下的子节点是全选状态,故资源节点1是全赋权资源节点,资源节点2下只有子资源节点3是全选状态,则资源节点2是半赋权资源节点。因此,保存角色a对应的资源树时,需要保存资源类型1、资源节点1、资源节点2、子资源节点3这四个资源节点,并同时保存这四个资源节点对应的节点状态。

保存角色b对应的资源树时,根据资源树中资源节点的状态可知,角色b对应的资源树上的资源节点均为全选状态,这些节点都是全赋权资源节点。因此,保存角色b对应的资源树时,只需保存资源类型1及资源类型1对应的节点状态。

步骤505,创建用户a和b,给用户a分配角色a,给用户b分配角色b。

步骤506,分别在不同的资源节点下增加资源。此时,用户和资源的关系变化如下:

在如图3所示的资源节点1下新增子资源节点5时,由于角色a对应的资源节点1是全赋权资源节点,角色a自动拥有子资源节点5的资源,用户a也自动拥有该资源。同理,由于角色b对应的资源节点1也是全赋权资源节点,角色b自动拥有子资源节点5的资源,用户b也自动拥有该资源。角色a和b各自对应的资源树均不需要重新保存。

在如图3所示的资源节点2下新增子资源节点6时,由于角色a中资源节点2是半赋权资源节点,故角色a不能自动拥有子资源节点6的资源,用户a不拥有该资源。而角色b中资源节点2是全赋权资源节点,角色b自动应用子资源节点6的资源,用户b也自动拥有该资源。同时,角色b对应的资源树不需要重新保存。

步骤507,分别在不同的资源节点下删减资源,此时,用户和资源的关系变化如下:

在如图3所示的资源节点1下删减子资源节点2,由于角色a中资源节点1是全赋权资源节点,故角色a自动失去子资源节点2的资源,用户a也自动失去该资源。同理,角色b中资源节点1也是全赋权资源节点,角色b自动失去子资源节点2对应的资源,用户b也自动失去该资源。角色a和b各自对应的资源树均不需要重新保存。

完成以上步骤后,用户a和用户b分别登陆用户门户后,被分配的资源如图4所示。

本发明所提供的用户资源的分配方法,在设置角色和资源的对应关系、根据资源节点的权限状态保存角色对应的资源树后,为用户分配第一角色,使用户拥有与第一角色对应的资源的合集,实现了在云场景下对用户的资源的智能、动态管理。

如图6所示,本发明实施例提供一种用户资源的分配装置,应用于云场景下的云资源管理系统中,该装置包括:

设置单元601,用于设置资源与角色之间的对应关系,其中,资源为树形结构,树形结构的资源包括不同权限状态的资源节点。

保存单元602,用于根据资源节点的权限状态保存角色对应的资源树。

分配单元603,用于根据角色与资源的对应关系为用户分配第一角色,则用户拥有与第一角色对应的资源的合集。

本发明实施例采用资源直接和角色对应的方式来实现用户资源的分配。其中,角色可以包含不同类型的资源和功能。在多个用户同时拥有同一类资源时,只需要在创建用户时向用户分配包含该类资源的角色。在资源发生变化时,则只需要调整对应的角色,而不需要为用户一一调整用户所分配到的资源。

在云场景下,给用户分配资源时,由于资源繁多,在数以万计的资源中不可能一一分配,往往会给用户分配一组资源或一个节点下的所有资源,这些节点下的资源是动态创建的,可弹性地增加或减少,因此保存用户和这些动态资源的关系也比较繁琐。本发明实施例通过在资源与角色之间设置对应关系、将资源按照树状结构进行分类,并为用户分配不同的角色,可使用户智能地拥有该角色对应的所有资源。

设置单元601包括定义子单元、创建子单元、和保存子单元。其中,定义子单元,用于定义资源类型,其中,资源类型包括以下至少之一:资源标识,子资源节点标识,父资源节点标识,资源实体存储位置,资源类型的描述,资源标识用于唯一标识资源。创建子单元,用于创建角色,根据定义好的资源类型为角色分配资源。保存子单元,用于保存角色与资源的对应关系。

设置角色与资源的对应关系,是为用户分配角色,使用户拥有该角色对应的资源的基础。

在采用树状结构分类展示资源的同时,还需要为资源节点确定权限状态。在本发明实施例中,树形结构的资源至少包括以下两种状态的资源节点:全赋权资源节点,半赋权资源节点,其中,全赋权资源节点拥有本资源节点下的全部资源的操作功能,半赋权资源节点拥有本资源节点下的部分资源的操作功能。

此外,树形结构的资源还包括未赋权资源节点,未赋权资源节点对本资源节点下的全部资源均不具有操作功能,或者,未赋权资源节点下没有资源。

当树状结构重新编辑时,为角色配置的对应资源发生变化。

设置好角色与资源的对应关系后,当为用户分配的角色发生改变时,用户拥有的与角色对应的资源发生改变。具体地,增加为用户分配的角色时,用户将增加与该角色对应的资源;删除为用户分配的角色时,用户将减少与该角色对应的资源。

如图3所示,在资源的树状结构即资源树中,全赋权资源节点对应全勾选状态的树节点,即带√标记的资源节点;半赋权资源节点对应半勾选状态的树节点,即带○标记的资源节点;未赋权资源节点对应未勾选状态的树节点,即不带标记的资源节点。

不同权限的资源节点的资源操作功能可自定义。

在资源树的某个父资源节点下增加子资源节点时,如果这个父资源节点为全赋权资源节点,则拥有这个全赋权资源节点的用户,可自动拥有新增的子资源节点,即可以自动拥有全赋权资源节点下挂的所有子资源。在资源树的某个父资源节点下删除子资源节点时,如果这个父资源节点为全赋权资源节点,拥有这个全赋权资源节点的用户也会自动失去被删除的子资源节点。

因此,在对树状结构的资源节点进行更新时,通过增加全赋权资源节点下属的子节点,为全赋权资源节点对应的角色增加子节点对应的资源;通过删减全赋权资源节点下属的子节点,为全赋权资源节点对应的角色删减子节点对应的资源。

保存单元602资源与角色之间的对应关系后,需要保存资源节点与角色设置对应关系即保存角色对应的资源树。具体地,当树形结构的第一子资源节点对应的父资源节点为全赋权资源节点时,在第一子资源节点通往根资源节点的路径上,仅保存根资源节点至离根资源节点最近的全赋权资源节点之间的全部资源节点;

当树形结构的第二子资源节点对应的父资源节点为半赋权资源节点时,在第二子资源节点通往根资源节点的路径上,保存根资源节点至第二子资源节点之间的全部资源节点;

当树形结构的根节点为全赋权资源节点时,仅保存根资源节点;

其中,保存资源节点的同时保存被保存的资源节点的节点状态。

采用以上技术方案,不需要保存角色中的每个资源,可以节省存储空间,并更好地对角色的资源权限进行动态、智能的分层分类管理。

设置单元601在保存资源和角色之间的关系时,首先判断资源树上分配给该角色的资源节点的权限状态。在子资源节点对应的父资源节点为全赋权资源节点时,在该子资源节点通往根资源节点的路径上,仅保存根资源节点至离根资源节点最近的全赋权资源节点之间的全部资源节点。如图3所示,子资源节点1的父资源节点即资源节点1为全赋权资源节点。如果将子资源节点1对应的资源分配给角色a,保存角色a和分配给角色a的资源之间的关系时,需要在子资源节点1通往资源类型1的路径上,保存资源类型1和资源节点1及资源类型1和资源节点1各自对应的节点状态。

当树形结构的子资源节点对应的父资源节点为半赋权资源节点时,在该子资源节点通往根资源节点的路径上,保存根资源节点至该子资源节点之间的全部资源节点。如图3所示,子资源节点3的父资源节点即资源节点2为半赋权资源节点。如果将子资源节点3对应的资源分配给角色a,保存角色a和分配给角色a的资源之间的关系时,需要在子资源节点3通往资源类型1的路径上,保存资源类型1、资源节点2以及子资源节点3及资源类型1、资源节点2以及子资源节点3各自对应的节点状态。

保存角色a和分配给角色a的资源之间的关系时,如图3所示的未赋权的节点如子资源节点4无需保存。

如果根节点为全赋权资源节点,只用保存根节点信息即可。如图3所示,保存角色b和分配给角色b的资源之间的关系时,只需要保存资源类型1及资源类型1对应的状态即可。

装置还包括管理单元,用于管理用户对应的资源。根据角色与资源的对应关系为用户分配第一角色后,管理单元即可以通过管理角色对应的资源树管理用户对应的资源。

管理单元具体用于:在第一角色对应的资源树的第一资源节点下增加第三子资源节点;以及在第一角色对应的资源树的第一资源节点下删除第四子资源节点。

管理单元在第一角色对应的资源树的资源节点下增加或删除子资源节点时,当第一资源节点为全赋权资源节点时,不改变第一角色对应的资源树的结构,其中,第一资源节点对应的角色自动获取第三子资源节点对应的资源和/或自动回收第四子资源节点对应的资源;当第一资源节点为半赋权资源节点时,更改第一角色对应的资源树的结构,包括:保存第三子资源节点和/或删除第四子资源节点。

如果为全赋权资源节点增加子节点,拥有该全赋权资源节点的角色可以自动分配该子节点对应的资源,分配该角色的用户可以自动拥有该节点下的所有资源,而不需要给相关的角色手动一一分配;如果删减全赋权资源节点的子节点,用户可以自动失去该子节点对应的资源,而不需要调整对应的角色及重新保存角色资源关系。

该技术方案应用于云场景中给用户分配的资源节点的父资源节点是全赋权资源节点的情况下时,效率较高。

管理单元还用于:为用户增加第二角色,则用户同时拥有第一角色和第二角色对应的资源的合集;为用户删除第一角色,则用户删除与第一角色对应的资源的合集。

如果用户拥有多个角色,则获取用户资源时,该用户拥有的资源是所有角色中资源的并集,全赋权的资源节点状态叠加后还是全赋权资源节点。

本发明所提供的用户资源的分配装置,在设置角色和资源的对应关系、根据资源节点的权限状态保存角色对应的资源树后,为用户分配第一角色,使用户拥有与第一角色对应的资源的合集,实现了在云场景下对用户的资源的智能、动态管理。

在实际应用中,设置单元601、保存单元602、分配单元603及管理单元均可由位于用户资源的分配装置上的中央处理器(cpu,centralprocessingunit)、微处理器(mpu,microprocessorunit)、数字信号处理器(dsp,digitalsignalprocessor)、或现场可编程门阵列(fpga,fieldprogrammablegatearray)等实现。

在示例性实施例中,本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器,上述计算机程序可由用户资源的分配装置的处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flashmemory、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备,如移动电话、计算机、平板设备、个人数字助理等。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

基于此,本发明实施例提供另一种用户资源的分配装置,该用户资源的分配包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器。

其中,该处理器用于运行所述计算机程序时,执行:设置角色与资源的对应关系,其中,所述资源为树形结构,所述树形结构的资源包括不同权限状态的资源节点。根据所述资源节点的权限状态保存所述角色对应的资源树。根据所述角色与资源的对应关系为用户分配第一角色,则所述用户拥有与所述第一角色对应的资源的合集。

所述处理器还用于运行所述计算机程序时,执行:所述树形结构的资源至少包括以下之一状态的资源节点:全赋权资源节点,半赋权资源节点,其中,所述全赋权资源节点拥有本资源节点下的全部资源的操作功能,所述半赋权资源节点拥有本资源节点下的部分资源的操作功能。

所述处理器还用于运行所述计算机程序时,执行:当所述树形结构的第一子资源节点对应的父资源节点为全赋权资源节点时,在所述第一子资源节点通往根资源节点的路径上,仅保存所述根资源节点至离所述根资源节点最近的全赋权资源节点之间的全部资源节点。当所述树形结构的第二子资源节点对应的父资源节点为半赋权资源节点时,在所述第二子资源节点通往根资源节点的路径上,保存所述根资源节点至所述第二子资源节点之间的全部资源节点。当所述树形结构的根节点为全赋权资源节点时,仅保存所述根资源节点;其中,保存所述资源节点的同时保存被保存的所述资源节点的节点状态。

所述处理器还用于运行所述计算机程序时,执行:管理所述用户对应的资源。

所述处理器还用于运行所述计算机程序时,执行:在所述第一角色对应的资源树的第一资源节点下增加第三子资源节点;和/或在所述第一角色对应的资源树的第一资源节点下删除第四子资源节点。

所述处理器还用于运行所述计算机程序时,执行:当所述第一资源节点为全赋权资源节点时,不改变所述第一角色对应的资源树的结构,其中,所述第一资源节点对应的角色自动获取所述第三子资源节点对应的资源和/或自动回收所述第四子资源节点对应的资源。当所述第一资源节点为半赋权资源节点时,更改所述第一角色对应的资源树的结构,包括:保存所述第三子资源节点和/或删除所述第四子资源节点。

所述处理器还用于运行所述计算机程序时,执行:为所述用户增加第二角色,则所述用户同时拥有所述第一角色和所述第二角色对应的资源的合集;和/或为所述用户删除所述第一角色,则所述用户删除与所述第一角色对应的资源的合集。

所述处理器还用于运行所述计算机程序时,执行:定义资源类型,其中,所述资源类型包括以下至少之一:资源标识,子资源节点标识,父资源节点标识,资源实体存储位置,资源类型的描述,所述资源标识用于唯一标识所述资源。创建角色,根据定义好的所述资源类型为所述角色分配资源。保存所述角色与所述资源的对应关系。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器运行时,执行:设置角色与资源的对应关系,其中,所述资源为树形结构,所述树形结构的资源包括不同权限状态的资源节点。根据所述资源节点的权限状态保存所述角色对应的资源树。根据所述角色与资源的对应关系为用户分配第一角色,则所述用户拥有与所述第一角色对应的资源的合集。

计算机程序被处理器运行时,还执行:所述树形结构的资源至少包括以下之一状态的资源节点:全赋权资源节点,半赋权资源节点,其中,所述全赋权资源节点拥有本资源节点下的全部资源的操作功能,所述半赋权资源节点拥有本资源节点下的部分资源的操作功能。

计算机程序被处理器运行时,还执行:当所述树形结构的第一子资源节点对应的父资源节点为全赋权资源节点时,在所述第一子资源节点通往根资源节点的路径上,仅保存所述根资源节点至离所述根资源节点最近的全赋权资源节点之间的全部资源节点。当所述树形结构的第二子资源节点对应的父资源节点为半赋权资源节点时,在所述第二子资源节点通往根资源节点的路径上,保存所述根资源节点至所述第二子资源节点之间的全部资源节点。当所述树形结构的根节点为全赋权资源节点时,仅保存所述根资源节点;其中,保存所述资源节点的同时保存被保存的所述资源节点的节点状态。

计算机程序被处理器运行时,还执行:管理所述用户对应的资源。

计算机程序被处理器运行时,还执行:在所述第一角色对应的资源树的第一资源节点下增加第三子资源节点;和/或在所述第一角色对应的资源树的第一资源节点下删除第四子资源节点。

计算机程序被处理器运行时,还执行:当所述第一资源节点为全赋权资源节点时,不改变所述第一角色对应的资源树的结构,其中,所述第一资源节点对应的角色自动获取所述第三子资源节点对应的资源和/或自动回收所述第四子资源节点对应的资源。当所述第一资源节点为半赋权资源节点时,更改所述第一角色对应的资源树的结构,如保存所述第三子资源节点和/或删除所述第四子资源节点。

计算机程序被处理器运行时,还执行:为所述用户增加第二角色,则所述用户同时拥有所述第一角色和所述第二角色对应的资源的合集;和/或为所述用户删除所述第一角色,则所述用户删除与所述第一角色对应的资源的合集。

计算机程序被处理器运行时,还执行:定义资源类型,其中,所述资源类型包括以下至少之一:资源标识,子资源节点标识,父资源节点标识,资源实体存储位置,资源类型的描述,所述资源标识用于唯一标识所述资源。创建角色,根据定义好的所述资源类型为所述角色分配资源。保存所述角色与所述资源的对应关系。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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