一种数据库只读用户数据查询方法及装置制造方法及图纸

技术编号:24573906 阅读:26 留言:0更新日期:2020-06-21 00:06
本发明专利技术提供一种数据库只读用户数据查询方法及装置,该方法包括如下步骤:创建与业务用户对应的只读用户并赋予只读用户连接数据库权限及使用数据库基本资源权限;创建的只读用户通过客户端登录系统执行结构化查询语言语句;检查执行的结构化查询语言语句内容的关键词;当结构化查询语言语句只存在查询语句的关键词时,将查询语句转交到该只读用户对应的业务用户下执行;执行完毕后,业务用户将查询结果返回给只读用户,只读用户接收到查询结果后将结果返回给客户端。

A query method and device for read-only user data in database

【技术实现步骤摘要】
一种数据库只读用户数据查询方法及装置
本专利技术涉及数据库数据查询
,具体涉及一种数据库只读用户数据查询方法及装置。
技术介绍
数据库在使用时,会在数据库中创建业务用户,然后在该用户中创建需要的表、索引、存储过程等对象供业务系统使用,该用户对其下的对象拥有增删改等权限。有些场景下基于安全考虑,不希望将该业务用户名及密码透露给所有人,对于只需要查询数据的情况,一般会单独创建一个拥有只读权限的用户,用该用户对其它用户下的对象进行查询访问。比如,业务用户A用户下有表T1,以A用户登陆数据库系统时,直接使用表名T1就可以查询其中数据。现在创建一个B用户,要求通过B用户能够查询A用户下表T1的数据,而且不允许对T1表进行DML操作,通常实现方式是给B用户赋予对A.T1表的只读查询功能,以B用户登陆数据库时,就可以通过A.T1访问到A用户下的T1表,类似使用如下语句select*fromA.T1,这比直接在A用户下查询T1表多了用户名的前缀,也就是在B用户下查询A用户表时,需要在表名前加上用户名A的前缀,这给B用户访问A用户表增加了麻烦。为了避免在访问表时使用前缀,通常使用同义词的功能达到这个目的。在B用户中创建一个同义词T1,该同义词指向A.T1,这样在B用户中就可以使用名称T1替代A.T1查询A.T1中的数据了,从而不需要再加前缀。这需要在B用户下为每个A用户下的对象创建同义词,操作比较繁琐,而且当A用户新增对象时,需要同时在B用户下为新对象创建同义词,这增加了数据库管理人员的维护工作量,也使数据库管理更加复杂。
技术实现思路
针对在只读用户下为每个业务用户下的对象创建同义词,操作比较繁琐,而且当业务用户新增对象时,需要同时在制度用户下为新对象创建同义词,这增加了数据库管理人员的维护工作量,也使数据库管理更加复杂的问题,本专利技术提供一种数据库只读用户数据查询方法及装置。一方面,本专利技术提供一种数据库只读用户数据查询方法,包括如下步骤:创建与业务用户对应的只读用户并赋予只读用户连接数据库权限及使用数据库基本资源权限;创建的只读用户通过客户端登录系统执行结构化查询语言语句;检查执行的结构化查询语言语句内容的关键词;当结构化查询语言语句只存在查询语句的关键词时,将查询语句转交到该只读用户对应的业务用户下执行;执行完毕后,业务用户将查询结果返回给只读用户,只读用户接收到查询结果后将结果返回给客户端。进一步的,该方法还包括:当结构化查询语言语句存在非查询语句的关键词时,输出不允许执行的提示信息。进一步的,所述的创建与业务用户对应的只读用户并赋予只读用户连接数据库权限及使用数据库基本资源权限的步骤具体包括:创建只读用户并设置只读用户的登录密码;为了方便进行只读查询;将创建的只读用户映射到对应的业务用户;赋予只读用户连接数据库权限及使用数据库基本资源权限。进一步的,所述的赋予只读用户连接数据库权限及使用数据库基本资源权限的步骤还包括:为了避免只读用户拥有更多权限,当给只读用户赋予除了上述两种权限的其它权限时,输出不允许给只读用户额外赋权的提示信息。进一步的,所述的检查执行的结构化查询语言语句内容的关键词的步骤还包括:屏蔽含有增删改造成表数据及对象变化的结构化查询语言语句。当需要只读功能的用户时,使用本专利方法可以方便的为一个用户创建一个只读用户,无需关心只读用户的权限问题,也无需在只读用户下创建同义词,简化了数据库的管理,提高了数据库的管理效率,避免了由于疏忽带来的数据库使用问题。另一方面,本专利技术技术方案提供一种数据库只读用户数据查询装置,包括只读用户创建模块、查询语句执行模块、检查模块、查询语句转交模块、查询结果接收模块和查询结果输出模块;只读用户创建模块,应用创建与业务用户对应的只读用户并赋予只读用户连接数据库权限及使用数据库基本资源权限;查询语句执行模块,用于创建的只读用户通过客户端登录系统时执行结构化查询语言语句;检查模块,用于检查执行的结构化查询语言语句内容的关键词;查询语句转交模块,用于当结构化查询语言语句只存在查询语句的关键词时,将查询语句转交到该只读用户对应的业务用户下执行;查询结果接收模块,用于接收业务用户返回给只读用户查询结果;查询结果输出模块,用于将只读用户接收到查询结果输出给客户端。进一步的,该装置还包括提示信息输出模块;提示信息输出模块,用于当结构化查询语言语句存在非查询语句的关键词时,输出不允许执行的提示信息。进一步的,所述的只读用户创建模块包括创建单元、映射单元、权限设置单元;创建单元,用于创建只读用户并设置只读用户的登录密码;映射单元,用于将创建的只读用户映射到对应的业务用户;权限设置单元,用于赋予只读用户连接数据库权限及使用数据库基本资源权限。进一步的,所述的权限设置单元,还用于当给只读用户赋予除了上述两种权限的其它权限时,输出不允许给只读用户额外赋权的提示信息。从以上技术方案可以看出,本专利技术具有以下优点:为业务用户创建一个只读用户,在只读用户下执行的结构化查询语言语句,被自动转到业务用户下执行,结构化查询语言语句的执行结果再由只读用户返回。在只读用户下执行的结构化查询语言语句,首先会对结构化查询语言语句内容进行检查,屏蔽合有增删改等可能造成表数据及对象变化的结构化查询语言语句,只允许执行select的查询语句。无需给只读用户单独再赋予对业务用户对象的只读访问权限,也无需在只读用户下单独创建指向业务用户下对象的同义词,简化了数据库的管理提高了管理效率,避免了由于疏忽带来的数据库使用问题。此外,本专利技术设计原理可靠,结构简单,具有非常广泛的应用前景。由此可见,本专利技术与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的一种数据库只读用户数据查询方法的示意性流程图。图2是SQL查询语句执行流程示意图。具体实施方式为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。结构化查询语言(StructuredQueryLanguage)简称SQL。实施例一如图1所示,本专利技术提供一种数据库只读用户数据查询方法,包括如下步骤:...

【技术保护点】
1.一种数据库只读用户数据查询方法,其特征在于,包括如下步骤:/n创建与业务用户对应的只读用户并赋予只读用户连接数据库权限及使用数据库基本资源权限;/n创建的只读用户通过客户端登录系统执行结构化查询语言语句;/n检查执行的结构化查询语言语句内容的关键词;/n当结构化查询语言语句只存在查询语句的关键词时,将查询语句转交到该只读用户对应的业务用户下执行;/n执行完毕后,业务用户将查询结果返回给只读用户,只读用户接收到查询结果后将结果返回给客户端。/n

【技术特征摘要】
1.一种数据库只读用户数据查询方法,其特征在于,包括如下步骤:
创建与业务用户对应的只读用户并赋予只读用户连接数据库权限及使用数据库基本资源权限;
创建的只读用户通过客户端登录系统执行结构化查询语言语句;
检查执行的结构化查询语言语句内容的关键词;
当结构化查询语言语句只存在查询语句的关键词时,将查询语句转交到该只读用户对应的业务用户下执行;
执行完毕后,业务用户将查询结果返回给只读用户,只读用户接收到查询结果后将结果返回给客户端。


2.根据权利要求1所述的一种数据库只读用户数据查询方法,其特征在于,该方法还包括:
当结构化查询语言语句存在非查询语句的关键词时,输出不允许执行的提示信息。


3.根据权利要求1所述的一种数据库只读用户数据查询方法,其特征在于,所述的创建与业务用户对应的只读用户并赋予只读用户连接数据库权限及使用数据库基本资源权限的步骤具体包括:
创建只读用户并设置只读用户的登录密码;
将创建的只读用户映射到对应的业务用户;
赋予只读用户连接数据库权限及使用数据库基本资源权限。


4.根据权利要求3所述的一种数据库只读用户数据查询方法,其特征在于,所述的赋予只读用户连接数据库权限及使用数据库基本资源权限的步骤还包括:
当给只读用户赋予除了上述两种权限的其它权限时,输出不允许给只读用户额外赋权的提示信息。


5.根据权利要求1所述的一种数据库只读用户数据查询方法,其特征在于,所述的检查执行的结构化查询语言语句内容的关键词的步骤还包括:
屏蔽含有增删改造成表数据及对象变化的结构化查询语言语句。<...

【专利技术属性】
技术研发人员:刘海洲
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1