CN112507354A - 一种基于图数据库的权限管理的方法及系统 - Google Patents
一种基于图数据库的权限管理的方法及系统 Download PDFInfo
- Publication number
- CN112507354A CN112507354A CN202011401963.4A CN202011401963A CN112507354A CN 112507354 A CN112507354 A CN 112507354A CN 202011401963 A CN202011401963 A CN 202011401963A CN 112507354 A CN112507354 A CN 112507354A
- Authority
- CN
- China
- Prior art keywords
- graph database
- model
- node
- abstract
- nodes
- 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
- 238000007726 management method Methods 0.000 title description 103
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000010586 diagram Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 10
- 238000012800 visualization Methods 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 5
- 230000000007 visual effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于图数据库的权限管理的方法及系统,包括如下步骤:创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;遍历所述抽象权限管理模型,并转换为图数据库模型;根据所述图数据库模型,将权限管理信息转存储到图数据库中,并在所述图数据库中建立对应关系;在进行账号鉴权时,优先在所述图数据库中进行查询。本发明,在进行账号鉴权时,返回查询结果的时间,受数据基数及权限系统层级的影响小,确保返回查询结果的时间可被用户接受,权限系统层级可进行更清晰、准确的划分,提升权限管理的效率,确保获取到账号的资源权限的及时性。
Description
技术领域
本发明涉及权限管理领域,具体说是一种基于图数据库的权限管理的方法及系统。
背景技术
权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统中,是系统的重要组成部分。
目前,权限管理的实现大多是基于关系型数据库进行建模、存储。建模、存储所用的权限管理数据模型一般包含以下实体对象:账号、角色、以及被访问资源,上述实体对象之间可通过主外键方式进行关联。例如:
角色中的主键,在账号中做为外键,使账号与角色进行关联。
基于关系型数据库进行建模、存储的现有权限管理方案的缺陷在于:
在进行账号鉴权时,需要根据账号关联对应角色,再关联对应资源(指被访问资源),则在鉴权中关联路径为:账号->角色->被访问资源。当权限系统层级增加,例如在角色与资源间增加组织机构,则在鉴权中关联路径为:账号->角色->组织机构->被访问资源。显然,随着权限系统层级的增加,关联路径会更长。
在数据量不大的情况下,通过如上所述关联路径进行多次关联查询,在一定时间内可以查询得到被访问资源。但是,在数据基数(数据量)比较大的情况下,例如:账号在千万级,组织机构在百万级,资源数量在亿级,通过如上所述关联路径进行多次关联查询,返回查询结果的时间会随数据基数的增大变得越来越长。
特别是在权限系统层级较多的场景下,问题会更明显。例如:关联路径为“账号->角色->组织机构->一级子机构->...n级子机构->被访问资源(资源实例)”,显然进行多次关联查询将导致返回查询结果的时间变长且不可被接受。
公开于该背景技术部分的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于图数据库的权限管理的方法及系统,在进行账号鉴权时,返回查询结果的时间,受数据基数及权限系统层级的影响小,确保返回查询结果的时间可被用户接受,权限系统层级可进行更清晰、准确的划分,提升权限管理的效率,确保获取到账号的资源权限的及时性。
为达到以上目的,本发明采取的技术方案是:
一种基于图数据库的权限管理的方法,其特征在于,包括如下步骤:
创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;
遍历所述抽象权限管理模型,并按如下方式将所述抽象权限管理模型转换为图数据库模型:
获取所述抽象权限管理模型中的实体,标记所述实体为图数据库模型中的节点,
解析被标记的所述实体的实体属性,标记所述实体属性为图数据库模型中的节点的节点属性,
获取所述抽象权限管理模型中的关系,标记所述关系为图数据库模型中的边;
根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边;
在进行账号鉴权时,优先在所述图数据库中进行查询。
在上述技术方案的基础上,所述方法还包括:
将所述抽象权限管理模型进行可视化处理,生成逻辑模型er图,供管理者对所述抽象权限管理模型进行检查。
在上述技术方案的基础上,所述方法还包括:
在所述图数据库中,通过所述节点的节点属性,描述并记录该节点的特性;
在所述图数据库中,通过标签,描述并记录所述节点所属实体类型,即描述并记录所述节点所属的节点集。
在上述技术方案的基础上,所述根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边,具体步骤如下:
获取所述抽象权限管理模型中被标记的实体的数量;
在所述图数据库中按被标记的实体的数量创建相应数量的节点;
遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体数据,转存到所述图数据库中对应的节点中;
遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体属性,转存到所述图数据库中对应的节点的节点属性中;
获取所述抽象权限管理模型中的关系,解析关系对应的两个实体,在所述图数据中该两个实体对应的节点间创建边。
在上述技术方案的基础上,所述在所述图数据库中进行查询,具体步骤如下:
按照图搜索的方式,首先指定某节点为起点,其次指定经过的节点的约束条件,然后指定要到达的节点的约束条件,所述要到达的节点为终点,以起点、经过的节点、终点构成指定路径,再对所述图数据库按指定路径进行搜索;
搜索的结果为图路径,图路径的终点集合对应的节点集合就是要查询的结果;
或者,启用索引,图数据库进行搜索时,基于索引对图数据库中的节点进行搜索。
一种基于图数据库的权限管理的系统,其特征在于,包括:
抽象权限管理模型管理模块,用于创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;
图数据库模型管理模块,用于遍历所述抽象权限管理模型,并按如下方式将所述抽象权限管理模型转换为图数据库模型:
获取所述抽象权限管理模型中的实体,标记所述实体为图数据库模型中的节点,
解析被标记的所述实体的实体属性,标记所述实体属性为图数据库模型中的节点的节点属性,
获取所述抽象权限管理模型中的关系,标记所述关系为图数据库模型中的边;
信息转存储模块,根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边;
账号鉴权模块,用于在进行账号鉴权时,优先在所述图数据库中进行查询。
在上述技术方案的基础上,所述系统还包括:
抽象权限管理模型可视化模块,用于将所述抽象权限管理模型进行可视化处理,生成逻辑模型er图,供管理者对所述抽象权限管理模型进行检查。
在上述技术方案的基础上,所述系统还包括:
描述记录模块:用于在所述图数据库中,通过所述节点的节点属性,描述并记录该节点的特性;用于在所述图数据库中,通过标签,描述并记录所述节点所属实体类型,即描述并记录所述节点所属的节点集。
在上述技术方案的基础上,所述信息转存储模块,包括:
数据获取子模块,用于获取所述抽象权限管理模型中被标记的实体的数量;
转存储子模块,用于在所述图数据库中按被标记的实体的数量创建相应数量的节点;用于遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体数据,转存到所述图数据库中对应的节点中;用于遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体属性,转存到所述图数据库中对应的节点的节点属性中;用于获取所述抽象权限管理模型中的关系,解析关系对应的两个实体,在所述图数据中该两个实体对应的节点间创建边。
在上述技术方案的基础上,所述账号鉴权模块,包括:
节点标记子模块,用于指定某节点为起点,用于指定经过的节点及约束条件,用于要到达的节点及约束条件,所述要到达的节点为终点;用于以起点、经过的节点、终点构成指定路径;
搜索处理子模块,用于对图数据库按指定路径进行搜索;
搜索结果缓存子模块,用于缓存搜索得到的图路径为搜索的结果,图路径的终点集合对应的节点集合就是要查询的结果;
索引管理子模块,用于控制索引功能的启停,当索引功能启动后,图数据库进行搜索时,基于索引对图数据库中的节点进行搜索。
本发明所述的基于图数据库的权限管理的方法及系统,具有以下有益效果:
使用图数据库对权限管理进行建模、存储,利用图数据库通过关系查询的时间随数据基数增加变化不大的特性,实现在数据基数较大的情况下,快速获取到账号的资源权限。
在数据基数较大,且权限管理逻辑结构较复杂的情况下,可以有较好的查询速度,时间复杂度理论上为O(1),由于各类图数据库的具体实现方式不同,可能略有差异。但整体上优于在关系型数据中建模并实现权限管理的情况。
附图说明
本发明有如下附图:
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1本发明实施例提供的基于图数据库的权限管理的方法的流程图。
图2本发明实施例提供的抽象权限管理模型生成逻辑模型er图实施例一的示意图。
图3本发明实施例提供的图数据库中模型的示意图。
图4本发明实施例提供的抽象权限管理模型生成逻辑模型er图实施例二的示意图。
图5本发明实施例提供的搜索得到的图路径示意图。
图6本发明实施例提供的基于图数据库的权限管理的系统的结构框图。
具体实施方式
以下结合附图对本发明作进一步详细说明。所述详细说明,为结合本发明的示范性实施例做出的说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如图1所示,本发明所述的基于图数据库的权限管理的方法,包括如下步骤:
S101:创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;
本申请实施例中,所述抽象权限管理模型中包括的逻辑对象是指:抽象权限管理模型中的实体,以及实体的实体属性;
所述逻辑对象之间的关联关系是指:实体之间的关系;
所述抽象权限管理模型是对权限管理的抽象,抽象权限管理模型中,通过实体以及实体的实体属性表示逻辑对象(基本元素),通过关系表示逻辑对象之间的关联关系;
创建抽象权限管理模型的具体方式,可按基于角色的访问控制模型RBAC进行创建,RBAC基本思想是将访问许可权分配给一定的角色,用户通过饰演不同的角色获得角色所拥有的访问许可权;
创建抽象权限管理模型的具体方式,还可按基于任务和角色的访问控制模型T-RBAC进行创建;T-RBAC基本思想是先将访问权限分配给任务,再将任务分配给角色,角色通过任务与权限关联,任务是角色和权限交换信息的桥梁;
以基于角色的访问控制模型RBAC为例:
抽象权限管理模型包括五个逻辑对象(基本元素):用户(Account),角色(Role),控制对象(Objects),访问模式(AccessMode),操作(Operation);
抽象权限管理模型包括两个关系:分配角色权限PA(Permission Assignment),分配用户角色UA(UserAssignment)。
S102:遍历所述抽象权限管理模型,并按如下方式将所述抽象权限管理模型转换为图数据库模型:
获取所述抽象权限管理模型中的实体,标记所述实体为图数据库模型中的节点,
解析被标记的所述实体的实体属性,标记所述实体属性为图数据库模型中的节点的节点属性,
获取所述抽象权限管理模型中的关系即实体之间的关系,标记所述关系为图数据库模型中的边;
还是以前述的基于角色的访问控制模型RBAC为例:
五个逻辑对象(基本元素):用户(Account),角色(Role),控制对象(Objects),访问模式(AccessMode),操作(Operation),分别被标记所述实体为图数据库模型中的节点;
两个关系:分配角色权限PA(Permission Assignment),分配用户角色UA(UserAssignment),分别被标记为图数据库模型中的边;
通过上述转换处理,将所述抽象权限管理模型中的权限管理逻辑结构,转化为图数据库模型中的权限管理逻辑模型;
S103:根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边;
S104:在进行账号鉴权时,优先在所述图数据库中进行查询。
在上述技术方案的基础上,如图2所示,所述方法还包括:将抽象权限管理模型进行可视化处理,生成逻辑模型er图(entity relationship diagram,实体-联系图),供管理者对抽象权限管理模型进行检查。
图2所示实施例体现了抽象权限管理模型的数据抽象方式,在该实施例中,用“矩形框”表示的account账户和role角色均为关系型数据库中的实体对象,用“椭圆框”表示的name姓名、email邮件、job工作均为account账户的实体的属性,用“椭圆框”表示的rolename角色名称、level级别均为role角色的实体的属性,用“实心线段”将account账户和role角色连接起来表示实体对象之间的联系。
将图2所示抽象权限管理模型,转换为如图3所示的图数据库模型,在该实施例中,account账户和role角色为图数据库模型中的节点,这两个节点间节点间建立有一条边,account账户节点具有属性name姓名,role角色节点具有属性rolename角色名称。图3仅为示意,并未完整示意出将图2所示抽象权限管理模型转换为图数据库模型。
如果以前述的基于角色的访问控制模型RBAC为例,如图4所示,用五个“矩形框”表示用户(Account),角色(Role),控制对象(Objects),访问模式(AccessMode),操作(Operation)这五个实体对象。图4中,用“椭圆框”表示的实体的属性,以及图中未示出的边的属性,均可以做为搜索的条件,如角色Role实体对象,属性有角色名称rolename,则搜索中可以将角色名称rolename作为搜索条件。如前所述,抽象权限管理模型包括两个关系:分配角色权限PA(Permission Assignment),分配用户角色UA(UserAssignment),根据这两个关系,得到节点间的边,一个关系至少对应于一个边;
在上述技术方案的基础上,所述方法还包括:在所述图数据库中,通过所述节点的节点属性,描述并记录该节点的特性;
在所述图数据库中,通过标签,描述并记录所述节点所属实体类型,即描述并记录所述节点所属的节点集。
在上述技术方案的基础上,所述根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边,具体步骤如下:
获取所述抽象权限管理模型中被标记的实体的数量;
在所述图数据库中按被标记的实体的数量创建相应数量的节点;
遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体数据,转存到所述图数据库中对应的节点中;
遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体属性,转存到所述图数据库中对应的节点的节点属性中;
获取所述抽象权限管理模型中的关系,解析关系对应的两个实体,在所述图数据中该两个实体对应的节点间创建边。
在上述技术方案的基础上,所述在所述图数据库中进行查询,通过图数据库原生支持的对路径的查询实现,具体步骤如下:
按照图搜索的方式,首先指定某节点为起点,其次指定经过的节点的约束条件(如该节点中的类型属性必须为角色),然后指定要到达的节点的约束条件(如该节点中被控制对象的属性必须为某一指定的类型),所述要到达的节点为终点,以起点、经过的节点、终点构成指定路径,再对所述图数据库按指定路径进行搜索,
选择哪个节点为起点,需要视查询情况而定,例如:如需查询用户的可访问被控制节点,则将用户作为起点,如查询被控制节点可以被哪些用户访问,则将被控制节点作为起点;
指定经过的节点的约束条件,目的是为了更精确的查询,约束条件的数量可以为0个、1个或多个,需按查询情况而定,指定要到达的节点的约束条件与此同理;
在图形数据库中,能够创建四种类型的节点的约束条件:
节点属性值唯一约束(Unique node property):如果节点具有指定的标签和指定的属性,那么这些节点的属性值是唯一的;
节点属性存在约束(Node property existence):创建的节点必须存在标签和指定的属性;
关系属性存在约束(Relationship property existence):创建的关系存在类型和指定的属性;
节点键约束(Node Key):在指定的标签中的节点中,指定的属性必须存在,并且属性值的组合是唯一的;
本申请所述约束条件属于节点键约束;
搜索的结果为图路径,图路径的终点集合对应的节点集合就是要查询的结果;如图5所示;
或者,启用索引,图数据库进行搜索时,基于索引对图数据库中的节点进行搜索。
例如,指定路径:用户账号->部门->数据角色->资源组->资源。则:用户账号为起点,部门、数据角色、资源组为指定经过的节点,资源为指定要到达的节点。
本发明的权限管理使用图数据库(Graph Database),图数据库是使用图的结构来表现和存储具有图语义的数据,并快速的进行查询。图数据库的关键在于存储的是图的数据,图的数据直接将节点与节点之间的关系也保存下来,这样使得在查询的时候,两个节点的数据可以进行直接的关联,有的甚至只需要关联一步就可以获取。图数据库将数据之间的关系作为重中之重优先进行考虑。所以使用图数据库查询关系数据很快。图数据库能够直观的展示数据之间的关系,对于高度互联的数据非常的有用。
基于上述方法,本发明进一步给出了一种基于图数据库的权限管理的系统,如图6所述,所述系统包括:
抽象权限管理模型管理模块101,用于创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;
图数据库模型管理模块102,用于遍历所述抽象权限管理模型,并按如下方式将所述抽象权限管理模型转换为图数据库模型:
获取所述抽象权限管理模型中的实体,标记所述实体为图数据库模型中的节点,
解析被标记的所述实体的实体属性,标记所述实体属性为图数据库模型中的节点的节点属性,
获取所述抽象权限管理模型中的关系,标记所述关系为图数据库模型中的边;
信息转存储模块103,用于根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边;
账号鉴权模块104,用于在进行账号鉴权时,优先在所述图数据库中进行查询。
在上述技术方案的基础上,所述系统还包括:
抽象权限管理模型可视化模块,用于将所述抽象权限管理模型进行可视化处理,生成逻辑模型er图,供管理者对所述抽象权限管理模型进行检查。
在上述技术方案的基础上,所述系统还包括:
描述记录模块:用于在所述图数据库中,通过所述节点的节点属性,描述并记录该节点的特性;用于在所述图数据库中,通过标签,描述并记录所述节点所属实体类型,即描述并记录所述节点所属的节点集。
在上述技术方案的基础上,所述信息转存储模块,包括:
数据获取子模块,用于获取所述抽象权限管理模型中被标记的实体的数量;
转存储子模块,用于在所述图数据库中按被标记的实体的数量创建相应数量的节点;用于遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体数据,转存到所述图数据库中对应的节点中;用于遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体属性,转存到所述图数据库中对应的节点的节点属性中;用于获取所述抽象权限管理模型中的关系,解析关系对应的两个实体,在所述图数据中该两个实体对应的节点间创建边。
在上述技术方案的基础上,所述账号鉴权模块,包括:
节点标记子模块,用于指定某节点为起点,用于指定经过的节点及约束条件,用于要到达的节点及约束条件,所述要到达的节点为终点;用于以起点、经过的节点、终点构成指定路径;
搜索处理子模块,用于对图数据库按指定路径进行搜索;
搜索结果缓存子模块,用于缓存搜索得到的图路径为搜索的结果,图路径的终点集合对应的节点集合就是要查询的结果;
索引管理子模块,用于控制索引功能的启停,当索引功能启动后,图数据库进行搜索时,基于索引对图数据库中的节点进行搜索。
装置实施例中具体实施细节与方法实施例中实施细节类似,在此不再赘述,具体详见上述方法实施例中的详细描述。
图数据库(Graph Database)中使用的图模型有两种:
一种是Labeled Property Graphs属性标签图模型;在属性标签图模型中,图是由一系列节点、关系、属性和标签构成的。节点和节点之间的关系都会被命名,使用KV(键值存储,Key-Value)的方式来存储节点的属性和关系的属性。节点通过标签来分组。关系也被称为边,而边有两个属性,一个属性是开始节点和结束节点,另一个属性是方向,这样就构成了一个有向图,边的方向属性有助于图的快速遍历。节点和关系也可以有属性,这样就为节点之间的关系提供了附加的信息和语义。
另一种是RDF(Resource Description Framework)资源描述框架模型;在资源描述框架模型中,附加的属性都会被标识为一个独立的节点。想象一个场景,当需要添加一个name属性在图里person的节点上,在属性标签图模型中,只需要在person的节点上添加一个name属性就可以了。而在RDF模型中,需要添加一个单独的hasName节点关联到原来的person的节点上。准确的来讲,RDF模型,由节点和弧组成。一个RDF的图表示为:一个主题节点,一个对象节点,和一个谓词的弧,弧即是边。节点可以留空,and/or可以使用URIref来标识。弧也可以通过URIref标识。弧有两种类型,普通文字和类别文字。普通文字具有词法形式和可选的语言标签。类别文字由具有标识特定数据类型的URIref的字符串组成。当数据没有URI的时候,可以使用空白节点来说明数据的状态。
图数据库性能:图数据库的查询最后总会被定位到图的一部分,其余的不相关的数据不会被搜索,所以在大数据的实时分析查询中比较有优势。所以图数据库的性能与需要遍历的数据的大小有关,而整体数据存储量的大小,对查询的数据影响不大。
图数据库属性:图数据库是图查询的一个有力的工具。如计算两个节点之间的最短路径。使用图数据库,可以很自然的使用图的方式来执行图的查询。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
Claims (10)
1.一种基于图数据库的权限管理的方法,其特征在于,包括如下步骤:
创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;
遍历所述抽象权限管理模型,并按如下方式将所述抽象权限管理模型转换为图数据库模型:
获取所述抽象权限管理模型中的实体,标记所述实体为图数据库模型中的节点,
解析被标记的所述实体的实体属性,标记所述实体属性为图数据库模型中的节点的节点属性,
获取所述抽象权限管理模型中的关系,标记所述关系为图数据库模型中的边;
根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边;
在进行账号鉴权时,优先在所述图数据库中进行查询。
2.如权利要求1所述的基于图数据库的权限管理的方法,其特征在于,所述方法还包括:
将所述抽象权限管理模型进行可视化处理,生成逻辑模型er图,供管理者对所述抽象权限管理模型进行检查。
3.如权利要求1所述的基于图数据库的权限管理的方法,其特征在于,所述方法还包括:
在所述图数据库中,通过所述节点的节点属性,描述并记录该节点的特性;
在所述图数据库中,通过标签,描述并记录所述节点所属实体类型,即描述并记录所述节点所属的节点集。
4.如权利要求1所述的基于图数据库的权限管理的方法,其特征在于,所述根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边,具体步骤如下:
获取所述抽象权限管理模型中被标记的实体的数量;
在所述图数据库中按被标记的实体的数量创建相应数量的节点;
遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体数据,转存到所述图数据库中对应的节点中;
遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体属性,转存到所述图数据库中对应的节点的节点属性中;
获取所述抽象权限管理模型中的关系,解析关系对应的两个实体,在所述图数据中该两个实体对应的节点间创建边。
5.如权利要求1所述的基于图数据库的权限管理的方法,其特征在于,所述在所述图数据库中进行查询,具体步骤如下:
按照图搜索的方式,首先指定某节点为起点,其次指定经过的节点的约束条件,然后指定要到达的节点的约束条件,所述要到达的节点为终点,以起点、经过的节点、终点构成指定路径,再对所述图数据库按指定路径进行搜索;
搜索的结果为图路径,图路径的终点集合对应的节点集合就是要查询的结果;
或者,启用索引,图数据库进行搜索时,基于索引对图数据库中的节点进行搜索。
6.一种基于图数据库的权限管理的系统,其特征在于,包括:
抽象权限管理模型管理模块,用于创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;
图数据库模型管理模块,用于遍历所述抽象权限管理模型,并按如下方式将所述抽象权限管理模型转换为图数据库模型:
获取所述抽象权限管理模型中的实体,标记所述实体为图数据库模型中的节点,
解析被标记的所述实体的实体属性,标记所述实体属性为图数据库模型中的节点的节点属性,
获取所述抽象权限管理模型中的关系,标记所述关系为图数据库模型中的边;
信息转存储模块,根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边;
账号鉴权模块,用于在进行账号鉴权时,优先在所述图数据库中进行查询。
7.如权利要求6所述的基于图数据库的权限管理的系统,其特征在于,所述系统还包括:
抽象权限管理模型可视化模块,用于将所述抽象权限管理模型进行可视化处理,生成逻辑模型er图,供管理者对所述抽象权限管理模型进行检查。
8.如权利要求6所述的基于图数据库的权限管理的系统,其特征在于,所述系统还包括:
描述记录模块:用于在所述图数据库中,通过所述节点的节点属性,描述并记录该节点的特性;用于在所述图数据库中,通过标签,描述并记录所述节点所属实体类型,即描述并记录所述节点所属的节点集。
9.如权利要求6所述的基于图数据库的权限管理的系统,其特征在于,所述信息转存储模块,包括:
数据获取子模块,用于获取所述抽象权限管理模型中被标记的实体的数量;
转存储子模块,用于在所述图数据库中按被标记的实体的数量创建相应数量的节点;用于遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体数据,转存到所述图数据库中对应的节点中;用于遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体属性,转存到所述图数据库中对应的节点的节点属性中;用于获取所述抽象权限管理模型中的关系,解析关系对应的两个实体,在所述图数据中该两个实体对应的节点间创建边。
10.如权利要求6所述的基于图数据库的权限管理的系统,其特征在于,所述账号鉴权模块,包括:
节点标记子模块,用于指定某节点为起点,用于指定经过的节点及约束条件,用于要到达的节点及约束条件,所述要到达的节点为终点;用于以起点、经过的节点、终点构成指定路径;
搜索处理子模块,用于对图数据库按指定路径进行搜索;
搜索结果缓存子模块,用于缓存搜索得到的图路径为搜索的结果,图路径的终点集合对应的节点集合就是要查询的结果;
索引管理子模块,用于控制索引功能的启停,当索引功能启动后,图数据库进行搜索时,基于索引对图数据库中的节点进行搜索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011401963.4A CN112507354A (zh) | 2020-12-04 | 2020-12-04 | 一种基于图数据库的权限管理的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011401963.4A CN112507354A (zh) | 2020-12-04 | 2020-12-04 | 一种基于图数据库的权限管理的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112507354A true CN112507354A (zh) | 2021-03-16 |
Family
ID=74968315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011401963.4A Pending CN112507354A (zh) | 2020-12-04 | 2020-12-04 | 一种基于图数据库的权限管理的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112507354A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722294A (zh) * | 2021-09-01 | 2021-11-30 | 达梦数据技术(江苏)有限公司 | 一种从图数据库到关系数据库的数据迁移方法和系统 |
CN114996297A (zh) * | 2022-04-14 | 2022-09-02 | 建信金融科技有限责任公司 | 数据处理方法、装置、设备、介质及产品 |
CN117688615A (zh) * | 2024-02-02 | 2024-03-12 | 北京原点数安科技有限公司 | 云资产的管理方法及装置、电子设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170372043A1 (en) * | 2016-06-24 | 2017-12-28 | Scripps Networks Interactive, Inc. | Satellite and central asset registry systems and methods and rights management systems |
CN108509614A (zh) * | 2018-04-03 | 2018-09-07 | 中山大学 | 一种基于图数据库的任务履历管理及分析方法 |
WO2019153592A1 (zh) * | 2018-02-06 | 2019-08-15 | 平安科技(深圳)有限公司 | 用户权限数据管理装置、方法及计算机可读存储介质 |
CN110291517A (zh) * | 2017-01-20 | 2019-09-27 | 亚马逊科技公司 | 图数据库中的查询语言互操作性 |
CN110333663A (zh) * | 2019-07-02 | 2019-10-15 | 珠海格力电器股份有限公司 | 设置智能家居管理权限的方法、系统及计算机储存介质 |
CN110704434A (zh) * | 2019-09-24 | 2020-01-17 | 北京百度网讯科技有限公司 | 图谱最短路径的查询方法、装置、电子设备和存储介质 |
CN110928963A (zh) * | 2019-11-28 | 2020-03-27 | 西安理工大学 | 针对运维业务数据表的列级权限知识图谱构建方法 |
CN111221887A (zh) * | 2018-11-27 | 2020-06-02 | 中云开源数据技术(上海)有限公司 | 一种对数据湖服务器中的数据进行管理和访问的方法 |
CN111488406A (zh) * | 2020-04-16 | 2020-08-04 | 南京安链数据科技有限公司 | 一种图数据库管理方法 |
-
2020
- 2020-12-04 CN CN202011401963.4A patent/CN112507354A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170372043A1 (en) * | 2016-06-24 | 2017-12-28 | Scripps Networks Interactive, Inc. | Satellite and central asset registry systems and methods and rights management systems |
CN110291517A (zh) * | 2017-01-20 | 2019-09-27 | 亚马逊科技公司 | 图数据库中的查询语言互操作性 |
WO2019153592A1 (zh) * | 2018-02-06 | 2019-08-15 | 平安科技(深圳)有限公司 | 用户权限数据管理装置、方法及计算机可读存储介质 |
CN108509614A (zh) * | 2018-04-03 | 2018-09-07 | 中山大学 | 一种基于图数据库的任务履历管理及分析方法 |
CN111221887A (zh) * | 2018-11-27 | 2020-06-02 | 中云开源数据技术(上海)有限公司 | 一种对数据湖服务器中的数据进行管理和访问的方法 |
CN110333663A (zh) * | 2019-07-02 | 2019-10-15 | 珠海格力电器股份有限公司 | 设置智能家居管理权限的方法、系统及计算机储存介质 |
CN110704434A (zh) * | 2019-09-24 | 2020-01-17 | 北京百度网讯科技有限公司 | 图谱最短路径的查询方法、装置、电子设备和存储介质 |
CN110928963A (zh) * | 2019-11-28 | 2020-03-27 | 西安理工大学 | 针对运维业务数据表的列级权限知识图谱构建方法 |
CN111488406A (zh) * | 2020-04-16 | 2020-08-04 | 南京安链数据科技有限公司 | 一种图数据库管理方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722294A (zh) * | 2021-09-01 | 2021-11-30 | 达梦数据技术(江苏)有限公司 | 一种从图数据库到关系数据库的数据迁移方法和系统 |
CN113722294B (zh) * | 2021-09-01 | 2024-02-23 | 达梦数据技术(江苏)有限公司 | 一种从图数据库到关系数据库的数据迁移方法和系统 |
CN114996297A (zh) * | 2022-04-14 | 2022-09-02 | 建信金融科技有限责任公司 | 数据处理方法、装置、设备、介质及产品 |
CN114996297B (zh) * | 2022-04-14 | 2023-09-26 | 建信金融科技有限责任公司 | 数据处理方法、装置、设备及介质 |
CN117688615A (zh) * | 2024-02-02 | 2024-03-12 | 北京原点数安科技有限公司 | 云资产的管理方法及装置、电子设备和存储介质 |
CN117688615B (zh) * | 2024-02-02 | 2024-05-07 | 北京原点数安科技有限公司 | 云资产的管理方法及装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112507354A (zh) | 一种基于图数据库的权限管理的方法及系统 | |
US6321230B1 (en) | Binary tree with override nodes for representing a time-varying function in an enterprise model | |
US6738759B1 (en) | System and method for performing similarity searching using pointer optimization | |
Debattista et al. | Luzzu--A Framework for Linked Data Quality Assessment | |
US20080005155A1 (en) | System and Method for Generating a Service Oriented Data Composition Architecture for Integrated Asset Management | |
US20160373456A1 (en) | Business intelligence (bi) query and answering using full text search and keyword semantics | |
CN109062952A (zh) | 一种数据查询方法、装置及电子设备 | |
US20080256146A1 (en) | Query processing method for stream data processing systems | |
CN109313640B (zh) | 用于数据库优化的方法和系统 | |
EP1218831A1 (en) | System and method for performing similarity searching | |
De Virgilio et al. | R2G: a Tool for Migrating Relations to Graphs. | |
US20040181518A1 (en) | System and method for an OLAP engine having dynamic disaggregation | |
Graube et al. | R43ples: Revisions for triples | |
US6374249B1 (en) | Data structure and operations for time-varying variable in an enterprise model | |
Padia et al. | Attribute-based fine grained access control for triple stores | |
CN110928963B (zh) | 针对运维业务数据表的列级权限知识图谱构建方法 | |
Chiquito et al. | Access control model for time series databases using ngac | |
Staworko et al. | Preference-driven querying of inconsistent relational databases | |
Vasilyeva et al. | Leveraging flexible data management with graph databases | |
Knap et al. | A framework for storing and providing aggregated governmental linked open data | |
Cysneiros et al. | Including hierarchical navigation in a Graph Database query language with an OBDA approach | |
Li et al. | Fedsa: A data federation platform for law enforcement management | |
Filipiak et al. | Generating semantic media Wiki content from domain ontologies | |
CN112506913A (zh) | 一种面向制造业数据空间的大数据体系结构构建方法 | |
Hartig et al. | Recommendation-based decision support for hazard analysis and risk assessment |
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 |