基于权限图的资源权限控制方法、系统、设备及存储介质

文档序号:190832 发布日期:2021-11-02 浏览:29次 >En<

阅读说明:本技术 基于权限图的资源权限控制方法、系统、设备及存储介质 (Resource authority control method, system, equipment and storage medium based on authority graph ) 是由 吴昊宇 于 2021-08-16 设计创作,主要内容包括:本发明公开了一种基于权限图的资源权限控制方法、系统、设备及存储介质,上述方法包括:权限图形成步骤:在组织内部的知识图谱中,根据用户拥有的权限规则,将用户所有能触达的数据资源权限的拥有者实体组成用户的权限图;权限图缓存步骤:将权限图放入缓存中,并指定权限图的过期时间;权限判断步骤:当用户访问数据资源时,检查缓存列表中是否存在用户对应的权限图,若是,则返回权限图进行权限判断;若否,则返回权限图形成步骤。可以大大加快用户访问数据资源时候的速度,适用于灵活多变的组织结构和复杂的权限控制场景。(The invention discloses a resource authority control method, a system, equipment and a storage medium based on an authority graph, wherein the method comprises the following steps: and (3) permission graph forming step: in a knowledge graph in an organization, according to an authority rule owned by a user, all owner entities of data resource authority which can be reached by the user form an authority graph of the user; and (3) permission graph caching step: putting the authority graph into a cache, and appointing the expiration time of the authority graph; and (3) permission judgment step: when a user accesses a data resource, checking whether an authority graph corresponding to the user exists in the cache list, and if so, returning the authority graph to judge the authority; if not, returning to the step of forming the authority graph. The method can greatly accelerate the speed of the user when accessing the data resources, and is suitable for flexible and changeable organizational structures and complex authority control scenes.)

基于权限图的资源权限控制方法、系统、设备及存储介质

技术领域

本发明涉及计算机技术领域,尤其涉及一种基于权限图的资源权限控制方法、系统、设备及存储介质。

背景技术

权限控制一般分为功能权限和数据权限两大类,功能权限一般可以使用功能路径匹配的方式对功能进行粗力度的区分,数据权限则是根据数据资源的所有者进行细粒度的区分。

知识图谱本质上是一种基于图模型的关联网络知识表达。知识图谱将实体抽象为顶点,将实体之间的关系抽象为边,通过结构化的形式对知识进行建模和描述,并将知识可视化。知识图谱是图数据库关联最为紧密、场景最广泛的应用方向。知识图谱以图数据库作为存储引擎,对海量信息进行智能化处理,形成大规模的知识库并进而支撑业务应用。

目前权限系统的设计一般使用RBAC(Role-Based Access Control)基于角色的访问控制系统,如RBAC-0模型、RBAC-1模型、RBAC-2模型。在这种系统设计中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。

但是RBAC系统对数据资源的权限控制没有很好的支持,一般只有上下级继承、同级可见等基本数据资源权限控制,不能解决现在企业里虚拟组织、工作小组、项目组织等多变不稳定的组织结构带来的数据权限问题。

发明内容

本发明针对上述的对数据资源的权限控制展示具有局限性的技术问题,提出一种基于权限图的资源权限控制方法、系统、设备及存储介质。

第一方面,本申请实施例提供了一种基于权限图的资源权限控制方法,包括:

权限图形成步骤:在组织内部的知识图谱中,根据用户拥有的权限规则,将所述用户所有能触达的数据资源权限的拥有者实体组成所述用户的权限图;

权限图缓存步骤:将所述权限图放入缓存中,并指定所述权限图的过期时间;

权限判断步骤:当所述用户访问数据资源时,检查缓存列表中是否存在所述用户对应的所述权限图,若是,则返回所述权限图进行权限判断;若否,则返回所述权限图形成步骤。

上述资源权限控制方法,其中,所述权限判断步骤包括:判断拥有所述数据资源的实体是否在所述用户对应的所述权限图中,若是,则所述用户有权限访问所述数据资源,若否,则所述用户没有权限访问所述数据资源。

上述资源权限控制方法,其中,还包括:

数据资源控制步骤:将所述数据资源作为实体进行治理后进入所述知识图谱;或;通过数据资源列表增加对实体的引用关系。

上述资源权限控制方法,其中,还包括:

权限图更新步骤:当所述知识图谱中的实体或者边发生变化时,根据权限规则指定的路径传播所述实体或者所述边的变化到达用户实体结点,删除所述用户实体结点对应的所述权限图。

第二方面,本申请实施例提供了一种基于权限图的资源权限控制系统,包括:

权限图形成单元:在组织内部的知识图谱中,根据用户拥有的权限规则,将所述用户所有能触达的数据资源权限的拥有者实体组成所述用户的权限图;

权限图缓存单元:将所述权限图放入缓存中,并指定所述权限图的过期时间;

权限判断单元:当所述用户访问数据资源时,检查缓存列表中是否存在所述用户对应的所述权限图,若是,则返回所述权限图进行权限判断;若否,则返回所述权限图形成单元。

上述资源权限控制系统,其中,所述权限判断单元包括:判断拥有所述数据资源的实体是否在所述用户对应的所述权限图中,若是,则所述用户有权限访问所述数据资源,若否,则所述用户没有权限访问所述数据资源。

上述资源权限控制系统,其中,还包括:

数据资源控制单元:将所述数据资源作为实体进行治理后进入所述知识图谱;或;通过数据资源列表增加对实体的引用关系。

上述资源权限控制系统,其中,还包括:

权限图更新单元:当所述知识图谱中的实体或者边发生变化时,根据权限规则指定的路径传播所述实体或者所述边的变化到达用户实体结点,删除所述用户实体结点对应的所述权限图。

第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的基于权限图的资源权限控制方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的基于权限图的资源权限控制方法。

与现有技术相比,本发明的优点和积极效果在于:

1.本发明提出基于权限图的数据资源控制方法,利用知识图谱技术可以对数据资源的归属和权限进行非常精密的控制,可以基于组织层级、人员关系甚至任意指定实体的关系对数据资源的权限进行判断和控制,可以做到灵活的数据资源权限配置和使用,适用于灵活多变的组织结构和复杂的权限控制场景。

2.本发明提出通过缓存权限图的方法加快数据资源权限的判断,可以大大加快用户访问数据资源时候的速度,并设置过期时间,保证缓存权限图的按时更新;知识图谱里面的实体、边等内容发生变化的时候,又可以删除过期的缓存权限图,让用户下一次的访问重新构造权限图,从而正确的判断数据资源权限。

附图说明

图1为本发明提供的一种基于权限图的资源权限控制方法的步骤示意图;

图2为本发明提供的组织内部的知识图谱的示意图;

图3为本发明提供的通过进入知识图谱实现对数据资源控制的示意图;

图4为本发明提供的不进入知识图谱实现对数据资源控制的示意图;

图5为本发明提供的一种基于权限图的资源权限控制系统的框架图;

图6为根据本申请实施例的计算机设备的框架图。

其中,附图标记为:

1、数据资源控制单元;2、权限图形成单元;3、权限图缓存单元;4、权限判断单元;5、权限图更新单元;81、处理器;82、存储器;83、通信接口;80、总线。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。

在详细阐述本发明各个实施例之前,对本发明的核心发明思想予以概述,并通过下述若干实施例予以详细阐述。

本发明利用知识图谱技术,分别提出入图和不入图两种模式对数据资源权限进行控制,并提出通过生成权限图缓存,利用权限图对用户的数据资源权限进行判断的方法。

实施例一:

图1为本发明提供的一种基于权限图的资源权限控制方法的步骤示意图。如图1所示,本实施例揭示了一种基于权限图的资源权限控制方法(以下简称“方法”)的具体实施方式。

具体而言,本实施例所揭示的方法主要包括以下步骤:

步骤S1:在组织内部的知识图谱中,根据用户拥有的权限规则,将所述用户所有能触达的数据资源权限的拥有者实体组成所述用户的权限图;

其中,可以将所述数据资源作为实体进行治理后进入所述知识图谱;或;通过数据资源列表增加对实体的引用关系。

步骤S2:将所述权限图放入缓存中,并指定所述权限图的过期时间;

步骤S3:当所述用户访问数据资源时,检查缓存列表中是否存在所述用户对应的所述权限图,若是,则返回所述权限图进行权限判断;若否,则返回所述步骤S1。

其中,步骤S3包括:判断拥有所述数据资源的实体是否在所述用户对应的所述权限图中,若是,则所述用户有权限访问所述数据资源,若否,则所述用户没有权限访问所述数据资源。

具体而言,当所述知识图谱中的实体或者边发生变化时,根据权限规则指定的路径传播所述实体或者所述边的变化到达用户实体结点,删除所述用户实体结点对应的所述权限图。

以下,结合图2、图3、图4,具体说明本方法的应用流程如下:

如图2所示,图2为一个组织内部的知识图谱,包括实体和他们之间的关系,基于这样的组织内部实体关系知识图谱,可以有两种对数据资源的控制方式:

一种方式是把数据作为一类或者多类实体治理之后进入知识图谱,明确用边表示数据资源实体和其他实体的关系,如图3所示;

另一种方式是不在知识图谱中建立数据资源的实体,而是在数据资源列表中增加对实体的引用关系,如图4所示。通过这种不入图的资源控制方法可以减少存储量。

数据资源的权限授予方法在知识图谱中可以定义为授权给指定点和边的路径。

比如,一个员工的上级拥有该员工的数据资源权限:

grant permission to g.V(resource).outE(“own”).out().hasLabel(“employee”).outE(“leader”).inV()

一个项目关联群里的员工拥有该项目所有群的数据资源权限:

grant permission to g.V(resource).outE(“owner”).out().hasLabel(“group”).outE(“relation”).inV().hasLabel(“project”).outE(“relation”).inV().hasLabel(“group”).outE(“hasMember”).inV()

典型的数据资源权限控制场景是判断某个用户对某个指定的数据资源是否有权限。

在如图3所示的第一种方案下,可以转换为:在一个图中,寻找一个点和另外一个点是否有指定条件的路径,其中每一条数据资源的授权都转换为两个点之间指定条件的路径判断。如果两个点之间有路径,说明用户对数据资源有权限,如果对于所有的数据资源授权条件下,两个点都没有路径,说明用户对数据资源没有权限。

如图4所示的第二种方案下,可以把数据资源加入到图中作为一个临时实体,用第一种方案的方法来寻找临时实体点和用户点之间是否存在路径。

实时的数据资源权限判断需要有类似于图遍历的查询,是比较费时的。考虑到用户组织、项目等数据是相对稳定的,可以产生一个用户的权限图缓存来加速权限的判断。用户权限图缓存方法如下所示:

在某一个用户访问数据资源的时候,检查缓存列表,如果有缓存的权限图,直接返回缓存的权限图进行权限判断:拥有该数据资源的实体是否在用户的缓存权限图中,如果在,则表示用户有权限访问,否则没有权限访问。

如果没有缓存的权限图,对某一个用户,使用该用户拥有的所有权限规则,也就是图权限路径,达到该用户所有能触达的权限拥有者实体(排除数据资源实体),可能包括员工、项目、群等实体,形成用户的权限图。

把这个用户对应的权限图放入到缓存中,指定用户的权限图的过期时间,防止缓存不更新。

在知识图谱中的实体或者边发生变化的时候,需要扫描系统里面所有的数据权限规则,通过这些数据权限规则指定的路径,传播这个实体或者边的变化到达所有影响到的用户实体结点,删除对应用户的权限图缓存。如果大量的实体或者边都要发生变化,进行批量变更的时候,可以先删除所有用户的权限图缓存,然后在执行批量实体和边的变更。

通过这种缓存的方法,系统中维护了经常访问系统的用户的缓存权限图,可以大大加快用户访问数据资源时候的速度;知识图谱里面的实体、边等内容发生变化的时候,又可以删除过期的缓存权限图,让用户下一次的访问重新构造权限图,从而正确的判断数据资源权限。

通过上述缓存的方法能够加快数据资源权限的判断,提高系统的性能,可以做到灵活的数据资源权限配置和使用,适用于灵活多变的组织结构和复杂的权限控制场景。

实施例二:

结合实施例一所揭示的一种基于权限图的资源权限控制方法,本实施例揭示了一种基于权限图的资源权限控制系统(以下简称“系统”)的具体实施示例。

参照图5所示,所述系统包括:

数据资源控制单元1:将数据资源作为实体进行治理后进入知识图谱;或;通过数据资源列表增加对实体的引用关系;

权限图形成单元2:在组织内部的知识图谱中,根据用户拥有的权限规则,将所述用户所有能触达的数据资源权限的拥有者实体组成所述用户的权限图;

权限图缓存单元3:将所述权限图放入缓存中,并指定所述权限图的过期时间;

权限判断单元4:当所述用户访问数据资源时,检查缓存列表中是否存在所述用户对应的所述权限图,若是,则返回所述权限图进行权限判断;若否,则返回所述权限图形成单元2;

具体而言,所述权限判断单元4包括:判断拥有所述数据资源的实体是否在所述用户对应的所述权限图中,若是,则所述用户有权限访问所述数据资源,若否,则所述用户没有权限访问所述数据资源。

权限图更新单元5:当所述知识图谱中的实体或者边发生变化时,根据权限规则指定的路径传播所述实体或者所述边的变化到达用户实体结点,删除所述用户实体结点对应的所述权限图。

本实施例所揭示的一种基于权限图的资源权限控制系统与实施例一所揭示的一种基于权限图的资源权限控制方法中其余相同部分的技术方案,请参照实施例一所述,在此不再赘述。

实施例三:

结合图6所示,本实施例揭示了一种计算机设备的一种具体实施方式。计算机设备可以包括处理器81以及存储有计算机程序指令的存储器82。

具体地,上述处理器81可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器82可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可在数据处理装置的内部或外部。在特定实施例中,存储器82是非易失性(Non-Volatile)存储器。在特定实施例中,存储器82包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。

存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的计算机程序指令。

处理器81通过读取并执行存储器82中存储的计算机程序指令,以实现上述实施例中的任意一种资源权限控制方法。

在其中一些实施例中,计算机设备还可包括通信接口83和总线80。其中,如图6所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。

通信接口83用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。

总线80包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线80可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

另外,结合上述实施例中的资源权限控制方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种资源权限控制方法。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于区块链技术的多节点用户认证方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类