一种用户权限优化方法及装置制造方法及图纸

技术编号:33131266 阅读:11 留言:0更新日期:2022-04-17 00:48
本发明专利技术涉及分布式数据库领域,具体提供了一种用户权限优化方法,新增一种权限标志位,将用户的权限保存在权限标注位中,具有的操作步骤如下:S1、将权限标志为集成到权限标标志量中;S2、在用户登录时,获取用户的用户名,进行后续操作;S3、用户名更新时,初始化权限标志变量;S4、权限获取;S5、数据库权限表有更改时,更新权限标志变量;S6、用户名、表名和数据库名有更改,更新权限标志变量。与现有技术相比,本发明专利技术可以减少在操作过程中读取系统权限表的次数,只增加若干次判断,从而降低系统读取系统权限表的次数,提高了数据库的效率。提高了数据库的效率。提高了数据库的效率。

【技术实现步骤摘要】
一种用户权限优化方法及装置


[0001]本专利技术涉及分布式数据库领域,具体提供一种用户权限优化方法及装置。

技术介绍

[0002]通常数据库采用的用户权限管理的方式是对于某个数据库用户,拥有授权权限的系统管理员会对该用户的权限进行授权,这种权限可以具体到某个数据库下的模式、表,并且将授权的信息保存在数据库的系统权限表中。系统权限表一般是由多个表构成的,包括用户对数据库的权限。对表的权限等等。
[0003]用户对于数据库以及表的操作一般分为all privileges、create、drop、select、insert、delete、update这7种,分别表示可以将所有权限授予给用户,可以创建表格或者数据库,可以删除表,可以对表进行读取、插入、数据删除和更新的操作。
[0004]当用户需要对某个表进行操作时,系统会首先检查系统权限表中该用户是否有相关的权限,为了保证用户权限的实时性,每次操作都会检查系统权限表。并且在一个事务中,往往用户需要对某个或者几个表进行多次的查询等操作,比较麻烦。

技术实现思路

[0005]本专利技术是针对上述现有技术的不足,提供一种实用性强的用户权限优化方法。
[0006]本专利技术进一步的技术任务是提供一种设计合理,安全适用的用户权限优化装置。
[0007]本专利技术解决其技术问题所采用的技术方案是:
[0008]一种用户权限优化方法,其特征在于,新增一种权限标志位,将用户的权限保存在权限标志位中,具有的操作步骤如下:
[0009]S1、将权限标志为集成到权限标标志量中;
[0010]S2、在用户登录时,获取用户的用户名,进行后续操作;
[0011]S3、用户名更新时,初始化权限标志变量;
[0012]S4、权限获取;
[0013]S5、数据库权限表有更改时,更新权限标志变量;
[0014]S6、用户名、表名和数据库名有更改,更新权限标志变量。
[0015]进一步的,在步骤S1中,将权限标志位集成到一个8位的权限标志变量中,权限标志变量的首位表示是否需要更新,首位为更新标志位,为0表示需要更新,为1时表示不需要更新,后7位分别是all privileges、create、drop、select、insert、delete和update这7种操作的权限标志位,权限标志位统一设定为1表示拥有该种权限,0表示没有该种权限。
[0016]进一步的,在步骤S2中,用户登录时,获取用户的用户名,拦截用户发送的SQL语句,并从SQL中解析出数据库名、表名和对表的操作。
[0017]进一步的,在步骤S3中,当用户名更新时,初始化权限标志变量,具体的初始化操作为将权限标志变量的所有位全部置0。
[0018]进一步的,在步骤S4中,系统得到数据库用户发送对某个表或者某个数据库进行
操作的需求时,系统会检查权限标志变量的首位,如果是0,则系统会读取数据库的系统权限表,查询该用户对这个表所用种类的权限,并且更新相应的权限标志位,更新时将权限标志变量的首位量0,表示该权限标志变量已更新。
[0019]进一步的,若权限标志变量的首位为1,则根据操作的种类,读取权限标志变量中相应的标志的状态,如果标志位非零,则表示有相应权限,进行具体操作;
[0020]如果标志位为零,则表示没有相应权限,返回错误信息。
[0021]进一步的,在步骤S6中,在每次解析SQL之后,检查用户名、数据库名或者表名是否更改,当用户名、数据库名、表名其中任意一个有更改时,重新初始化权限标志变量。
[0022]一种用户权限优化装置,包括:至少一个存储器和至少一个处理器;
[0023]所述至少一个存储器,用于存储机器可读程序;
[0024]所述至少一个处理器,用于调用所述机器可读程序,执行一种用户权限优化方法。
[0025]本专利技术的一种用户权限优化方法、装置及介质和现有技术相比,具有以下突出的有益效果:
[0026]本专利技术提出的增加权限标志位的方法,通过标志位记录相应的权限,可以减少在操作过程中读取系统权限表的次数,只增加若干次判断,从而降低系统读取系统权限表的次数,提高了数据库的效率。
[0027]在权限改变时,会更新权限标志位,保证了权限的一致性,从而保证了数据库的稳定性和安全性。
[0028]权限标志变量需要频繁变换时,仅增加了读取系统权限表的内容,对执行效率的影响很低。
附图说明
[0029]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]附图1是一种用户权限优化方法的流程示意图;
[0031]附图2是一种用户权限优化方法中权限获取的流程示意图。
具体实施方式
[0032]为了使本
的人员更好的理解本专利技术的方案,下面结合具体的实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本专利技术保护的范围。
[0033]下面给出一个最佳实施例:
[0034]如图1

2所示,本专利技术一种用户权限优化方法,新增一种权限标志位,将用户的权限保存在权限标注位中,具有的操作步骤如下:
[0035]S1、将权限标志为集成到权限标标志量中;
[0036]将权限标志位集成到一个8位的权限标志变量中,权限标志变量的首位表示是否
需要更新,首位为更新标志位,为0表示需要更新,为1时表示不需要更新,后7位分别是all privileges、create、drop、select、insert、delete和update这7种操作的权限标志位,权限标志位统一设定为1表示拥有该种权限,0表示没有该种权限。
[0037]S2、在用户登录时,获取用户的用户名,进行后续操作;
[0038]用户登录时,获取用户的用户名,拦截用户发送的SQL语句,并从SQL中解析出数据库名、表名和对表的操作。
[0039]S3、用户名更新时,初始化权限标志变量;
[0040]当用户名更新时,初始化权限标志变量,具体的初始化操作为将权限标志变量的所有位全部置0。
[0041]S4、权限获取;
[0042]系统得到数据库用户发送对某个表或者某个数据库进行操作的需求时,系统会检查权限标志变量的首位,如果是0,则系统会读取数据库的系统权限表,查询该用户对这个表所用种类的权限,并且更新相应的权限标志位,更新时将权限标志变量的首位量0,表示该权限标志变量已更新。
[0043]若权限标志变量的首位为1,则根据操作的种类,读取权本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用户权限优化方法,其特征在于,新增一种权限标志位,将用户的权限保存在权限标志位中,具有的操作步骤如下:S1、将权限标志为集成到权限标标志量中;S2、在用户登录时,获取用户的用户名,进行后续操作;S3、用户名更新时,初始化权限标志变量;S4、权限获取;S5、数据库权限表有更改时,更新权限标志变量;S6、用户名、表名和数据库名有更改,更新权限标志变量。2.根据权利要求1所述的一种用户权限优化方法,其特征在于,在步骤S1中,将权限标志位集成到一个8位的权限标志变量中,权限标志变量的首位表示是否需要更新,首位为更新标志位,为0表示需要更新,为1时表示不需要更新,后7位分别是all privileges、create、drop、select、insert、delete和update这7种操作的权限标志位,权限标志位统一设定为1表示拥有该种权限,0表示没有该种权限。3.根据权利要求2所述的一种用户权限优化方法,其特征在于,在步骤S2中,用户登录时,获取用户的用户名,拦截用户发送的SQL语句,并从SQL中解析出数据库名、表名和对表的操作。4.根据权利要求3所述的一种用户权限优化方法,其特征在于,在步骤S3中,当用户名更新时,初始化...

【专利技术属性】
技术研发人员:孙哲华张炜刚苑晓龙
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1