数据库访问控制方法、装置和数据库系统制造方法及图纸

技术编号:18204155 阅读:39 留言:0更新日期:2018-06-13 06:17
本申请公开了一种数据库访问控制方法、装置和数据库系统,该方法包括:分布式数据库中的管理节点接收用户的数据操作语句;该管理节点在该分布式数据库的节点中的有权限节点上执行该数据操作语句对应的数据操作请求,其中,该有权限节点是该分布式数据库的节点中该用户具备该数据操作语句对应的数据操作类型的访问权限的节点。本申请实施例的方案能够避免用户在不具备访问权限的节点执行数据操作请求,减少了不同用户的数据访问之间的相互影响。

【技术实现步骤摘要】
数据库访问控制方法、装置和数据库系统
本申请涉及数据库领域,尤其涉及数据库访问控制方法、装置和数据库系统。
技术介绍
在分布式数据库系统中,一般会设置对数据库、表、用户、列的权限控制,控制每个用户可以看到的数据。在实际的应用中,分布式数据库系统会有多个用户,因此可能会存在多个用户共享一张数据表的情况,其中每个用户只能看到自己有权限看的数据。现有数据库实现多个用户共享一张表的常用方法是:当用户查询这张表时,在查询中注入条件,例如用户A只运行查询字段c为1的数据记录,等等。在现有的实现多用户共享同一张表的方式中,分布式数据库系统未对数据进行物理隔离,且各个用户共同使用分布式数据库系统的所有节点,各个用户的使用性能之间可能会互相影响。如何根据控制用户的访问权限控制用户的数据访问,并减少不同用户的数据访问之间的相互影响,是本申请所要解决的技术问题。
技术实现思路
本申请实施例的目的是提供一种数据库访问控制方法、装置和数据库系统,以减少分布式数据库系统中不同用户的数据访问之间的相互影响。本申请实施例采用下述技术方案:第一方面,提供了一种数据库访问控制方法,该方法包括:分布式数据库中的管理节点接收用户的数据操作语句;该管理节点在该分布式数据库的节点中的有权限节点上执行该数据操作语句对应的数据操作请求,其中,该有权限节点是该分布式数据库的节点中该用户具备该数据操作语句对应的数据操作类型的访问权限的节点。第二方面,提出了一种数据库访问控制方法,包括:分布式数据库中的非管理节点接收该分布式数据库中的管理节点根据用户的数据操作语句发送的数据操作请求;该非管理节点确定该用户在该非管理节点执行该数据操作请求的访问权限;当该非管理节点确定该用户具备在该非管理节点执行该数据操作请求的访问权限时,该非管理节点执行该数据操作请求,并向该管理节点返回该数据操作请求的执行结果;或者,当该非管理节点确定该用户不具备在该非管理节点执行该数据操作请求的访问权限时,向该管理节点返回空结果集;其中,该非管理节点存储着该分布式数据库的用户对该非管理节点的访问权限的信息。第三方面,提出了一种数据库访问控制装置,该装置应用于分布式数据库的管理节点,该装置包括:接收单元和执行单元,其中,该接收单元接收用户的数据操作语句;该执行单元在该分布式数据库的节点中的有权限节点上执行该数据操作语句对应的数据操作请求,其中,该有权限节点是该分布式数据库的节点中该用户具备该数据操作语句对应的数据操作类型的访问权限的节点。第四方面,提出了一种数据库访问控制装置,该装置应用于分布式数据库的非管理节点,该装置包括:接收单元、确定单元、发送单元和执行单元,其中,该接收单元接收该分布式数据库中的管理节点根据用户的数据操作语句发送的数据操作请求;该确定单元确定该用户在该非管理节点执行该数据操作请求的访问权限;当该确定单元确定该用户具备在该非管理节点执行该数据操作请求的访问权限时,该执行单元执行该数据操作请求,并通过该发送单元向该管理节点返回该数据操作请求的执行结果;或者,当该确定单元确定该用户不具备在该非管理节点执行该数据操作请求的访问权限时,该执行单元通过该发送单元向该管理节点返回空结果集;其中,该非管理节点存储着该分布式数据库的用户对该非管理节点的访问权限的信息。第五方面,提出了一种分布式数据库系统,包括:管理节点和非管理节点,其中,管理节点包括第三方面的数据库访问控制装置,非管理节点包括第四方面的数据库访问控制装置。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:在本申请实施例中,通过根据用户的数据操作语句需要进行数据操作的表在分布式数据库中的数据分布请求,确定需要访问的节点,进而在用户具备该数据操作语句对应的数据操作类型的访问权限的有权限节点上,执行该数据操作语句对应的数据操作请求,从而能够避免用户在不具备访问权限的节点执行数据操作请求,在一定程度上减少了分布式数据库中不同用户的数据访问之间的相互影响。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请的一个实施例数据库访问控制的方法流程图。图2为本申请的另一个实施例数据库访问控制的方法流程图。图3为本申请的再一个实施例数据库访问控制的方法流程图。图4为本申请的再一个实施例数据库访问控制的方法流程图。图5为本申请的再一个实施例数据库访问控制的方法流程图。图6为本申请的再一个实施例数据库访问控制的交互流程图。图7为本申请的再一个实施例数据库访问控制的交互流程图。图8为本申请的再一个实施例数据库访问控制的方法流程图。图9是本申请的一个实施例电子设备的结构示意图。图10是本申请的另一个实施例数据库访问控制装置的结构示意图。图11是本申请的一个实施例数据库访问控制装置的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为了方便理解本申请实施例,首先在此介绍本申请实施例描述中会引入的几个要素。分布式数据库:指利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量。在分布式数据库的管理系统中,可包括局部场地上的数据库管理系统(LocalDBMS,LDBMS)和全局数据库管理系统(GlobalDBMS,GDBMS)。其中,LDBMS的主要功能是建立和管理局部数据库,提供场地自治能力,执行局部应用及全局查询的子查询。GDBMS的主要功能是提供分布透明性,协调全局事物的执行,协调各局部DBMS以完成全局应用,保证数据库的全局一致性,执行并发控制,实现更新同步,提供全局恢复功能等。分布式数据库的各个节点中,部署着GDBMS的节点可称为主节点,是用于协调管理分布式数据库的节点。当然,应理解,在主节点上也可以部署其它协调管理分布式数据库的管理系统,其名称不一定是GDBMS,但该管理系统一定具备GDBMS协调管理分布式数据库的节点的功能。在本申请中所提到的管理节点,即为主节点。分布式数据库的其它部署着LDBMS的节点可称为从节点。在本申请中所提到的非管理节点,即为从节点。以下结合附图,详细说明本申请各实施例提供的技术方案。图1为本申请的一个实施例数据库访问控制的方法流程图。图1的方法由分布式数据库中的管理节点执行。应理解,本申请所提到的管理节点,均指分布式数据库中的主节点,即用于协调管理分布式数据库的节点。在分布式数据库中,管理节点以外的节点称为非管理节点,也即为分布式数据库中的从节点或分支节点。图1的方法包括:S110,分布式数据库中的管理节点接收用户的数据操作语句。应理解,在本申请实施例中,管理节点为用于协调管理该分布式数据库的节点,即分布式数据库的主节点。或者说,管理节点为分布式数据本文档来自技高网...
数据库访问控制方法、装置和数据库系统

【技术保护点】
一种数据库访问控制方法,其特征在于,所述方法包括:分布式数据库中的管理节点接收用户的数据操作语句;所述管理节点在所述分布式数据库的节点中的有权限节点上执行所述数据操作语句对应的数据操作请求,其中,所述有权限节点是所述分布式数据库的节点中所述用户具备所述数据操作语句对应的数据操作类型的访问权限的节点。

【技术特征摘要】
1.一种数据库访问控制方法,其特征在于,所述方法包括:分布式数据库中的管理节点接收用户的数据操作语句;所述管理节点在所述分布式数据库的节点中的有权限节点上执行所述数据操作语句对应的数据操作请求,其中,所述有权限节点是所述分布式数据库的节点中所述用户具备所述数据操作语句对应的数据操作类型的访问权限的节点。2.如权利要求1所述的方法,其特征在于,所述管理节点在所述分布式数据库的节点中的有权限节点上执行所述数据操作语句对应的数据操作请求包括:所述管理节点根据所述数据操作语句需要操作的表在所述分布式数据库中的数据分布情况,确定所述分布式数据库的节点中存在所述表的数据的至少一个节点;所述管理节点在所述至少一个节点中的有权限节点上执行所述数据操作语句对应的数据操作请求。3.如权利要求1或2所述的方法,其特征在于,所述管理节点在所述分布式数据库的节点中的有权限节点上执行所述数据操作语句对应的数据操作请求包括:所述管理节点根据所述数据操作语句的数据操作类型和所述用户在所述分布式数据库的节点中的访问权限,确定所述分布式数据库的节点中的所述有权限节点,其中,所述管理节点存储着所述分布式数据库的用户对所述分布式数据库的节点的访问权限的信息;所述管理节点向所述管理节点以外的所述有权限节点发送所述数据操作语句对应的数据操作请求,以请求所述有权限节点执行所述数据操作请求。4.如权利要求1或2所述的方法,其特征在于,所述管理节点在所述分布式数据库的节点中的有权限节点上执行所述数据操作语句对应的数据操作请求包括:所述管理节点向所述分布式数据库的节点发送所述数据操作请求,以请求所述分布式数据库的节点中的所述有权限节点执行所述数据操作请求,其中,所述分布式数据库的节点中的每个节点存储着所述分布式数据库的用户对所述节点的访问权限的信息。5.如权利要求3或4所述的方法,其特征在于,所述分布式数据库的用户对所述节点的访问权限包括以下至少一种:所述分布式数据库的用户的角色对所述分布式数据库的节点中指定数据操作类型的访问权限;所述分布式数据库的用户对所述分布式数据库的节点中指定数据操作类型的访问权限。6.如权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:所述管理节点确定所述数据操作语句在所述分布式数据库的节点中的无权限节点的执行结果为空结果集,其中,所述无权限节点是所述分布式数据库的节点中所述用户不具备所述数据操作语句对应的数据操作类型的访问权限的节点。7.如权利要求6所述的方法,其特征在于,所述管理节点确定所述数据操作语句在所述分布式数据库的节点中的无权限节点的执行结果为空结果集包括:所述管理节点根据所述数据操作语句的数据操作类型和所述用户在所述分布式数据库的节点中的访问权限,确定所述分布式数据库的节点中的所述无权限节点,其中,所述管理节点存储着所述分布式数据库的用户对所述分布式数据库的节点的访问权限的信息;所述管理节点确定所述数据操作语句在所述无权限节点的执行结果为空结果集。8.如权利要求6所述的方法,其特征在于,所述管理节点确定所述数据操作语句在所述分布式数据库的节点中的无权限节点的执行结果为空结果集包括:所述管理节点向所述分布式数据库的节点发送所述数据操作语句对应的数据操作请求,以请求所述分布式数据库的节点执行所述数据操作请求,其中,所述分布式数据库的节点中的每个节点存储着所述分布式数据库的用户对所述节点的访问权限的信息;所述管理节点接收所述无权限节点反馈的空结果集,并确认所述数据操作语句在所述无权限节点的执行结果为空结果集。9.一种数据库访问控制方法,其特征在于,包括:分布式数据库中的非管理节点接收所述分布式数据库中的管理节点根据用户的数据操作语句发送的数据操作请求;所述非管理节点确定所述用户在所述非管理节点执行所述数据操作请求的访问权限;当所述非管理节点确定所述用户具备在所述非管理节点执行所述数据操作请求的访问权限时,所述非管理节点执行所述数据操作请求,并向所述管理节点返回所述数据操作请求的执行结果;或者,当所述非管理节点确定所述用户不具备在所述非管理节点执行所述数据操作请求的访问权限时,向所述管理节点返回空结果集;其中,所述非管理节点存储着所述分布式数据库的用户对所述非管理节点的访问权限的信息。10.如权利要求9所述的方法,其特征在于,所述分布式数据库的用户对所述非管理节点的访问权限的信息包括以下至少一种:所述分布式数据库的用户的角色对所述非管理节点中指定数据操作类型的访问权限;所述分布式数据库的用户对所述非管理节点中指定数据操作类型的访问权限。11.一种数据库访问控制装置,其特征在...

【专利技术属性】
技术研发人员:范孝剑张广舟林晓斌窦贤明
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1