一种基于图数据库的权限管理的方法、系统、介质及设备与流程
未命名
09-18
阅读:129
评论:0

1.本公开涉及权限管理技术领域,更为具体来说,本公开涉及一种基于图数据库的权限管理的方法、系统、介质及设备。
背景技术:
2.权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统中,是系统的重要组成部分。
3.目前,权限管理的实现大多是基于关系型数据库进行建模、存储。建模、存储所用的权限管理数据模型一般包含以下实体对象:账号、角色、以及被访问资源,上述实体对象之间可通过主外键方式进行关联。例如:
4.角色中的主键,在账号中做为外键,使账号与角色进行关联。
5.基于关系型数据库进行建模、存储的现有权限管理方案的缺陷在于:
6.在进行账号鉴权时,需要根据账号关联对应角色,再关联对应资源(指被访问资源),则在鉴权中关联路径为:账号-》角色-》被访问资源。当权限系统层级增加,例如在角色与资源间增加组织机构,则在鉴权中关联路径为:账号-》角色-》组织机构-》被访问资源。显然,随着权限系统层级的增加,关联路径会更长。
7.在数据量不大的情况下,通过如上所述关联路径进行多次关联查询,在一定时间内可以查询得到被访问资源。但是,在数据基数(数据量)比较大的情况下,例如:账号在千万级,组织机构在百万级,资源数量在亿级,通过如上所述关联路径进行多次关联查询,返回查询结果的时间会随数据基数的增大变得越来越长。
8.特别是在权限系统层级较多的场景下,问题会更明显。例如:关联路径为"账号-)角色-》组织机构-》一级子机构-》...n级子机构-》被访问资源(资源实例)",显然进行多次关联查询将导致返回查询结果的时间变长且不可被接受。
9.公开干该背景技术部分的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
技术实现要素:
10.为解决现有技术的权限管理方法无法满足讲解人员高效便捷控制的需求的技术问题。
11.为实现上述技术目的,本公开提供了一种基于图数据库的权限管理的方法,包括:
12.创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;其中,所述抽象权限管理模型采用rbac模型;
13.遍历所述抽象权限管理模型,并按如下方式将所述抽象权限管理模型转换为图数据库模型:
14.获取所述抽象权限管理模型中的实体,标记所述实体为图数据库模型中的节点,
解析被标记的所述实体的实体属性,标记所述实体属性为图数据库模型中的节点的节点属性,
15.获取所述抽象权限管理模型中的关系,标记所述关系为图数据库模型中的边;根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边;
16.在进行账号鉴权时,优先在所述图数据库中进行查询。
17.进一步,所述方法还包括:
18.将所述抽象权限管理模型进行可视化处理,生成逻辑模型er图,供管理者对所述抽象权限管理模型进行检查。
19.进一步,所述方法还包括:
20.在所述图数据库中,通过所述节点的节点属性,描述并记录该节点的特性;
21.在所述图数据库中,通过标签,描述并记录所述节点所属实体类型,即描述并记录所述节点所属的节点集。
22.进一步,所述根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边,具体步骤如下:
23.获取所述抽象权限管理模型中被标记的实体的数量;
24.在所述图数据库中按被标记的实体的数量创建相应数量的节点;
25.遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体数据,转存到所述图数据库中对应的节点中;
26.遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体属性,转存到所述图数据库中对应的节点的节点属性中;
27.获取所述抽象权限管理模型中的关系,解析关系对应的两个实体,在所述图数据中该两个实体对应的节点间创建边。
28.进一步,所述在所述图数据库中进行查询,具体步骤如下:
29.按照图搜索的方式,首先指定某节点为起点,其次指定经过的节点的约束条件,然后指定要到达的节点的约束条件,所述要到达的节点为终点,以起点、经过的节点、终点构成指定路径,再对所述图数据库按指定路径进行搜索;
30.搜索的结果为图路径,图路径的终点集合对应的节点集合就是要查询的结果;
31.或者,启用索引,图数据库进行搜索时,基于索引对图数据库中的节点进行搜索。
32.为了解决上述技术问题,本公开还能提供一种基于图数据库的权限管理的系统,其特征在于,包括:
33.抽象权限管理模型管理模块,用于创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;其中,所述抽象权限管理模型采用rbac模型;
34.图数据库模型管理模块,用于遍历所述抽象权限管理模型,并按如下方式将所述抽象权限管理模型转换为图数据库模型:
35.获取所述抽象权限管理模型中的实体,标记所述实体为图数据库模型中的节点,解析被标记的所述实体的实体属性,标记所述实体属性为图数据库模型中的节点的节点属性,
36.获取所述抽象权限管理模型中的关系,标记所述关系为图数据库模型中的边;信息转存储模块,根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边;
37.账号鉴权模块,用于在进行账号鉴权时,优先在所述图数据库中进行查询。
38.进一步,所述系统还包括:
39.抽象权限管理模型可视化模块,用于将所述抽象权限管理模型进行可视化处理,生成逻辑模型er图,供管理者对所述抽象权限管理模型进行检查。
40.进一步,所述系统还包括:
41.描述记录模块:用于在所述图数据库中,通过所述节点的节点属性,描述并记录该节点的特性;用于在所述图数据库中,通过标签,描述并记录所述节点所属实体类型,即描述并记录所述节点所属的节点集。
42.为实现上述技术目的,本公开还能够提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时用于实现上述的多屏幕统一调度展示的方法的步骤。
43.为实现上述技术目的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的多屏幕统一调度展示的方法的步骤。
44.本公开的有益效果为:
45.本公开的方法和系统采用图数据库,图数据库以有向图的形式组织数据,一个数据节点除了包含标签和属性以外,还直接包括关系的数据,查询复杂关系数据不需要进行关联查询,一次查询即可获取全部“关系”的数据,提高了查询效率。
附图说明
46.图1示出了本公开的实施例1的方法的流程示意图;
47.图2示出了本公开的实施例2的系统的结构示意图;
48.图3示出了本公开的实施例4的结构示意图。
具体实施方式
49.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
50.在附图中示出了根据本公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示的各种区域、层的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
51.rbac模型,是国际通用的权限管理模型。rbac模型中有用户、权限、菜单、角色等维度,在数据模型设计中,通常对应着关系数据库中的用户表、权限表、菜单表、角色表,其中用户与角色是多对多的关系,角色与权限是多对多的关系,因此还有额外的用户-角色关联表、角色-权限关联表。在认证授权服务开发时,需要查询用户及其所对应的角色权限,则需
要关联5张表进行查询,在复杂系统或者数据量很大的情况下,关系数据库关联5张表的查询是比较缓慢的。
52.关系数据库(rdbms),是当前使用最广泛的数据库,以表、行、列的模式来存储数据。关系数据库建模时,通常会遇到两个实体相关联的情况,也就是“一对一”,“一对多”,“多对多”等“关系”。针对“一对一”关系和“一对多”关系,通常采用外键进行关联;而针对“多对多”关系时,需要建立关联表进行关联。在查询“多对多”关系的数据时,至少要“join”三张表,如果还需要查询其他额外数据时,就要关联更多的表来进行“join”查询。以mysql为例,关联查询采用的是nested loop,也就是嵌套循环,本质上是在外层循环里面包含一个内层循环,随着关联表数据量增加,循环次数呈现指数上涨,查询时间会越来越慢。
53.图数据库(graphdb),是近年兴起的nosql数据库,以“标签”、“节点”、“属性”、“边”的模式来存储数据。同关系数据库作为类比,以用户表为例,图数据库中的数据以标签进行分组,例如用户标签,类似于关系数据库中的“用户表”;以节点存储属于某个实体的一组具体数据,例如“张三”节点,类似于关系数据库用户表中的“行”数据;以属性存储具体的字段,例如“张三”节点中有“年龄”、“性别”等属性,类似于关系数据库中的字段“年龄”、“性别”等“列”;以“关系”存储与其他节点的外键,例如关系“张三-管理员关系表”中的userid和roleid等外键,类似于关系数据库中用户-角色关联表中的关联数据。因此,对于“多对多”关系的查询,图数据库不需要关联多张表,以“关系”记录取代关系表,通过独特的模式匹配,就能把用户的字段和用户同其他表的关系全部查出来。
54.实施例一:
55.如图1所示:
56.本公开提供了一种基于图数据库的权限管理的方法,包括:
57.s101:创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;其中,所述抽象权限管理模型采用rbac模型;
58.s102:遍历所述抽象权限管理模型,并按如下方式将所述抽象权限管理模型转换为图数据库模型:
59.获取所述抽象权限管理模型中的实体,标记所述实体为图数据库模型中的节点,解析被标记的所述实体的实体属性,标记所述实体属性为图数据库模型中的节点的节点属性,
60.获取所述抽象权限管理模型中的关系,标记所述关系为图数据库模型中的边;
61.s103:根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边;
62.104:在进行账号鉴权时,优先在所述图数据库中进行查询。
63.进一步,所述方法还包括:
64.将所述抽象权限管理模型进行可视化处理,生成逻辑模型er图,供管理者对所述抽象权限管理模型进行检查。
65.进一步,所述方法还包括:
66.在所述图数据库中,通过所述节点的节点属性,描述并记录该节点的特性;
67.在所述图数据库中,通过标签,描述并记录所述节点所属实体类型,即描述并记录所述节点所属的节点集。
68.进一步,所述根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边,具体步骤如下:
69.获取所述抽象权限管理模型中被标记的实体的数量;
70.在所述图数据库中按被标记的实体的数量创建相应数量的节点;
71.遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体数据,转存到所述图数据库中对应的节点中;
72.遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体属性,转存到所述图数据库中对应的节点的节点属性中;
73.获取所述抽象权限管理模型中的关系,解析关系对应的两个实体,在所述图数据中该两个实体对应的节点间创建边。
74.进一步,所述在所述图数据库中进行查询,具体步骤如下:
75.按照图搜索的方式,首先指定某节点为起点,其次指定经过的节点的约束条件,然后指定要到达的节点的约束条件,所述要到达的节点为终点,以起点、经过的节点、终点构成指定路径,再对所述图数据库按指定路径进行搜索;
76.搜索的结果为图路径,图路径的终点集合对应的节点集合就是要查询的结果;
77.或者,启用索引,图数据库进行搜索时,基于索引对图数据库中的节点进行搜索。
78.实施例二:
79.如图2所示:
80.为了解决上述技术问题,本公开还能提供一种基于图数据库的权限管理的系统,其特征在于,包括:
81.抽象权限管理模型管理模块201,用于创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;其中,所述抽象权限管理模型采用rbac模型;
82.图数据库模型管理模块202,用于遍历所述抽象权限管理模型,并按如下方式将所述抽象权限管理模型转换为图数据库模型:
83.获取所述抽象权限管理模型中的实体,标记所述实体为图数据库模型中的节点,解析被标记的所述实体的实体属性,标记所述实体属性为图数据库模型中的节点的节点属性,
84.获取所述抽象权限管理模型中的关系,标记所述关系为图数据库模型中的边;
85.信息转存储模块203,根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边;
86.账号鉴权模块204,用于在进行账号鉴权时,优先在所述图数据库中进行查询。
87.进一步,所述系统还包括:
88.抽象权限管理模型可视化模块,用于将所述抽象权限管理模型进行可视化处理,生成逻辑模型er图,供管理者对所述抽象权限管理模型进行检查。
89.进一步,所述系统还包括:
90.描述记录模块:用于在所述图数据库中,通过所述节点的节点属性,描述并记录该节点的特性;用于在所述图数据库中,通过标签,描述并记录所述节点所属实体类型,即描述并记录所述节点所属的节点集。
91.进一步,所述根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边,具体步骤如下:
92.获取所述抽象权限管理模型中被标记的实体的数量;
93.在所述图数据库中按被标记的实体的数量创建相应数量的节点;
94.遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体数据,转存到所述图数据库中对应的节点中;
95.遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体属性,转存到所述图数据库中对应的节点的节点属性中;
96.获取所述抽象权限管理模型中的关系,解析关系对应的两个实体,在所述图数据中该两个实体对应的节点间创建边。
97.进一步,所述在所述图数据库中进行查询,具体步骤如下:
98.按照图搜索的方式,首先指定某节点为起点,其次指定经过的节点的约束条件,然后指定要到达的节点的约束条件,所述要到达的节点为终点,以起点、经过的节点、终点构成指定路径,再对所述图数据库按指定路径进行搜索;
99.搜索的结果为图路径,图路径的终点集合对应的节点集合就是要查询的结果;
100.或者,启用索引,图数据库进行搜索时,基于索引对图数据库中的节点进行搜索。
101.实施例三:
102.本公开还能够提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时用于实现上述的多屏幕统一调度展示的方法的步骤。
103.本公开的计算机存储介质可以采用半导体存储器、磁芯存储器、磁鼓存储器或磁盘存储器实现。
104.半导体存储器,主要用于计算机的半导体存储元件主要有mos和双极型两种。mos元件集成度高、工艺简单但速度较慢。双极型元件工艺复杂、功耗大、集成度低但速度快。nmos和cmos问世后,使mos存储器在半导体存储器中开始占主要地位。nmos速度快,如英特尔公司的1k位静态随机存储器的存取时间为45ns。而cmos耗电省,4k位的cmos静态存储器存取时间为300ns。上述半导体存储器都是随机存取存储器(ram),即在工作过程中可随机进行读出和写入新内容。而半导体只读存储器(rom)在工作过程中可随机读出但不能写入,它用来存放已固化好的程序和数据。rom又分为不可改写的熔断丝式只读存储器
──
prom和可改写的只读存储器eprom两种。
105.磁芯存储器,具有成本低,可靠性高的特点,且有20多年的实际使用经验。70年代中期以前广泛使用磁芯存储器作为主存储器。其存储容量可达10位以上,存取时间最快为300ns。国际上典型的磁芯存储器容量为4ms~8mb,存取周期为1.0~1.5μs。在半导体存储快速发展取代磁芯存储器作为主存储器的位置之后,磁芯存储器仍然可以作为大容量扩充存储器而得到应用。
106.磁鼓存储器,一种磁记录的外存储器。由于其信息存取速度快,工作稳定可靠,虽然其容量较小,正逐渐被磁盘存储器所取代,但仍被用作实时过程控制计算机和中、大型计算机的外存储器。为了适应小型和微型计算机的需要,出现了超小型磁鼓,其体积小、重量轻、可靠性高、使用方便。
107.磁盘存储器,一种磁记录的外存储器。它兼有磁鼓和磁带存储器的优点,即其存储
容量较磁鼓容量大,而存取速度则较磁带存储器快,又可脱机贮存,因此在各种计算机系统中磁盘被广泛用作大容量的外存储器。磁盘一般分为硬磁盘和软磁盘存储器两大类。
108.硬磁盘存储器的品种很多。从结构上,分可换式和固定式两种。可换式磁盘盘片可调换,固定式磁盘盘片是固定的。可换式和固定式磁盘都有多片组合和单片结构两种,又都可分为固定磁头型和活动磁头型。固定磁头型磁盘的容量较小,记录密度低存取速度高,但造价高。活动磁头型磁盘记录密度高(可达1000~6250位/英寸),因而容量大,但存取速度相对固定磁头磁盘低。磁盘产品的存储容量可达几百兆字节,位密度为每英寸6 250位,道密度为每英寸475道。其中多片可换磁盘存储器由于盘组可以更换,具有很大的脱体容量,而且容量大,速度高,可存储大容量情报资料,在联机情报检索系统、数据库管理系统中得到广泛应用。
109.实施例四:
110.本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的多屏幕统一调度展示的方法的步骤。
111.图3为一个实施例中电子设备的内部结构示意图。如图3所示,该电子设备包括通过系统总线连接的处理器、存储介质、存储器和网络接口。其中,该计算机设备的存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种多屏幕统一调度展示的方法。该电设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种多屏幕统一调度展示的方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
112.该电子设备包括但不限于智能电话、计算机、平板电脑、可穿戴智能设备、人工智能设备、移动电源等。
113.所述处理器在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器内的程序或者模块(例如执行远端数据读写程序等),以及调用存储在所述存储器内的数据,以执行电子设备的各种功能和处理数据。
114.所述总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器以及至少一个处理器等之间的连接通信。
115.图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些
部件,或者不同的部件布置。
116.例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
117.进一步地,所述电子设备还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
118.可选地,该电子设备还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
119.进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
120.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
121.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
122.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
123.以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。本公开的范围由所附权利要求及其等价物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
技术特征:
1.一种基于图数据库的权限管理的方法,其特征在于,包括:创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;其中,所述抽象权限管理模型采用rbac模型;遍历所述抽象权限管理模型,并按如下方式将所述抽象权限管理模型转换为图数据库模型:获取所述抽象权限管理模型中的实体,标记所述实体为图数据库模型中的节点,解析被标记的所述实体的实体属性,标记所述实体属性为图数据库模型中的节点的节点属性,获取所述抽象权限管理模型中的关系,标记所述关系为图数据库模型中的边;根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边;在进行账号鉴权时,优先在所述图数据库中进行查询。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述抽象权限管理模型进行可视化处理,生成逻辑模型er图,供管理者对所述抽象权限管理模型进行检查。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述图数据库中,通过所述节点的节点属性,描述并记录该节点的特性;在所述图数据库中,通过标签,描述并记录所述节点所属实体类型,即描述并记录所述节点所属的节点集。4.根据权利要求1所述的方法,其特征在于,所述根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边,具体步骤如下:获取所述抽象权限管理模型中被标记的实体的数量;在所述图数据库中按被标记的实体的数量创建相应数量的节点;遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体数据,转存到所述图数据库中对应的节点中;遍历所述抽象权限管理模型中被标记的实体,逐一获取被标记的实体的实体属性,转存到所述图数据库中对应的节点的节点属性中;获取所述抽象权限管理模型中的关系,解析关系对应的两个实体,在所述图数据中该两个实体对应的节点间创建边。5.根据权利要求1所述的方法,其特征在于,所述在所述图数据库中进行查询,具体步骤如下:按照图搜索的方式,首先指定某节点为起点,其次指定经过的节点的约束条件,然后指定要到达的节点的约束条件,所述要到达的节点为终点,以起点、经过的节点、终点构成指定路径,再对所述图数据库按指定路径进行搜索;搜索的结果为图路径,图路径的终点集合对应的节点集合就是要查询的结果;或者,启用索引,图数据库进行搜索时,基于索引对图数据库中的节点进行搜索。6.一种基于图数据库的权限管理的系统,其特征在于,包括:抽象权限管理模型管理模块,用于创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;其中,所述抽象权限管理模型采用
rbac模型;图数据库模型管理模块,用于遍历所述抽象权限管理模型,并按如下方式将所述抽象权限管理模型转换为图数据库模型:获取所述抽象权限管理模型中的实体,标记所述实体为图数据库模型中的节点,解析被标记的所述实体的实体属性,标记所述实体属性为图数据库模型中的节点的节点属性,获取所述抽象权限管理模型中的关系,标记所述关系为图数据库模型中的边;信息转存储模块,根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边;账号鉴权模块,用于在进行账号鉴权时,优先在所述图数据库中进行查询。7.根据权利要求6所述的系统,其特征在于,所述系统还包括:抽象权限管理模型可视化模块,用于将所述抽象权限管理模型进行可视化处理,生成逻辑模型er图,供管理者对所述抽象权限管理模型进行检查。8.根据权利要求6所述的系统,其特征在于,所述系统还包括:描述记录模块:用于在所述图数据库中,通过所述节点的节点属性,描述并记录该节点的特性;用于在所述图数据库中,通过标签,描述并记录所述节点所属实体类型,即描述并记录所述节点所属的节点集。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现权利要求1~5任一项中所述的基于图数据库的权限管理的方法对应的步骤。10.一种计算机存储介质,其上存储有计算机程序指令,其特征在于,所述程序指令被处理器执行时用于实现权利要求1~5任一项中所述的基于图数据库的权限管理的方法对应的步骤。
技术总结
本公开涉及一种基于图数据库的权限管理的方法、系统、介质及设备。所述方法包括:创建抽象权限管理模型,设定所述抽象权限管理模型中包括的逻辑对象,以及逻辑对象之间的关联关系;遍历所述抽象权限管理模型,并按如下方式将所述抽象权限管理模型转换为图数据库模型:获取所述抽象权限管理模型中的实体,标记所述实体为图数据库模型中的节点,解析被标记的所述实体的实体属性,标记所述实体属性为图数据库模型中的节点的节点属性,获取所述抽象权限管理模型中的关系,标记所述关系为图数据库模型中的边;根据所述图数据库模型,将对应于具体用户的权限管理信息转存储到图数据库的节点中,并在所述图数据库中对应的节点间建立边。边。边。
技术研发人员:肖旺 徐超 王志红
受保护的技术使用者:光控特斯联(重庆)信息技术有限公司
技术研发日:2023.05.09
技术公布日:2023/9/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种梅菜加工方法 下一篇:一种盾构隧道与地铁车站接口防水密封结构及施工方法与流程