一种基于分布式数据库的分区权限管理方法技术

技术编号:27096294 阅读:15 留言:0更新日期:2021-01-25 18:34
本发明专利技术公开了一种基于分布式数据库的分区权限管理方法,属于数据库技术领域,对数据进行分区并设置权限,授予用户对分区的权限,包括访问权限和操作权限;在用户操作该分区数据时,检查其是否有访问权限,若有访问权限,则进一步检查是否具有操作权限;若无访问权限则直接结束;若具有操作权限则对目标数据进行相应的操作,若无操作权限则直接结束。本发明专利技术能够在提高数据访问权限的基础上利用分布式数据库分区特性提高权限的检查粒度和检查效率,避免对大量数据的检索,提高数据库系统的检索速率。速率。速率。

【技术实现步骤摘要】
一种基于分布式数据库的分区权限管理方法


[0001]本专利技术涉及数据库
,具体地说是一种基于分布式数据库的分区权限管理方法。

技术介绍

[0002]传统数据库在用户大量请求存在大幅地理跨度的场景中,由于逻辑上在同一张表格的数据往往在物理上也更近,数据的访问、修改以及数据访问权限的控制等都存在局限性,传统的基于角色的访问控制粒度较高,访问速度较慢,对权限控制能力较低。

技术实现思路

[0003]本专利技术的技术任务是针对以上不足之处,提供一种基于分布式数据库的分区权限管理方法,能够在提高数据访问权限的基础上利用分布式数据库分区特性提高权限的检查粒度和检查效率,避免对大量数据的检索,提高数据库系统的检索速率。
[0004]本专利技术解决其技术问题所采用的技术方案是:
[0005]一种基于分布式数据库的分区权限管理方法,对数据进行分区并设置权限,授予用户对分区的权限,包括访问权限和操作权限;在用户操作该分区数据时,检查其是否有访问权限,若有访问权限,则进一步检查是否具有操作权限;若无访问权限则直接结束;
[0006]若具有操作权限则对目标数据进行相应的操作,若无操作权限则直接结束。
[0007]该方法在检查用户对目标数据是否有相应的操作权限前,先检查用户是否有访问该数据所在分区的权限,以解决行级权限针对大量数据无法有效进行数据管理的缺陷。
[0008]优选的,所述对数据进行分区的操作过程如下:
[0009]S1、分析数据特征,选择合适的分区规则,确定分区依据及分区数量,进行分区操作;
[0010]S2、由于分区的字段必须包含在主键之中,选择合适的主键或添加主键,作为分区的依据字段;
[0011]S3、创建分区。
[0012]进一步的,所述授予用户对分区的权限,针对不同的用户需求,对其授予不同分区的访问权限。
[0013]优选的,用户操作分区数据时,检查其是否有访问权限的具体过程如下:
[0014]用户对数据执行操作时,系统按照分区的依据,判断数据存储在哪个分区上;
[0015]检查该用户是否有该分区的访问权限,用户若对该分区中任意数据有任意权限,则授予访问权限;若无访问权限,则返回错误信息。
[0016]进一步的,所述授予访问权限的方式包括自动获取和/或手动授权。
[0017]优选的,检查是否具有操作权限的具体过程如下:
[0018]检查用户是否对目标数据有相应的权限,包括但不限于表级权限、列级权限以及行级权限,用户有相应的操作权限,对目标数据进行相应的操作;
[0019]若无,则返回错误信息。
[0020]优选的,以地理位置为分区数据,将数据分成多个区块,同时对各个地区的数据库存储设备做区域性标记,引导数据向相关区域的设备聚集。
[0021]进一步的,在权限控制上,授予该地区普通用户对应分区的访问权限。
[0022]本专利技术还要求保护一种基于分布式数据库的分区权限管理装置,包括:至少一个存储器和至少一个处理器;
[0023]所述至少一个存储器,用于存储机器可读程序;
[0024]所述至少一个处理器,用于调用所述机器可读程序,执行上述的方法。
[0025]本专利技术还要求保护一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述的方法。
[0026]本专利技术的一种基于分布式数据库的分区权限管理方法与现有技术相比,具有以下有益效果:
[0027]该方法结合分布式数据库在地理分区上的优势,为不同地区的用户分配该分区的相应权限,在提高数据访问权限的基础上利用分布式数据库分区特性提高权限的检查粒度和检查效率。先对用户进行粗略的权限检查,检查其是否能够检索到该数据,若能,则对其进行进一步权限检查;若不能,则直接结束,因此,能够避免对大量数据的检索,极大提高了数据库系统的检索速率。
附图说明
[0028]图1是本专利技术一个实施例提供的基于分布式数据库的分区权限管理方法流程图;
[0029]图2是本专利技术一个实施例提供的常见跨区域数据库项目数据分布图示例;
[0030]图3是本专利技术一个实施例提供的基于分布式数据库的跨区域数据库项目数据分布图示例。
具体实施方式
[0031]下面结合附图和具体实施例对本专利技术作进一步说明。
[0032]分布式数据库系统通过网络,将位于不同地点的许多计算机互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。
[0033]分布式数据库在逻辑上是一个统一的整体,在物理上则是分别存储在不同的物理节点上。一个应用程序可以通过网络访问分布在不同地理位置的数据库。数据库的分布性体现在数据库中的数据不是存储在同一场地,更确切地讲,不是存储在同一计算机的存储设备上,而是存储在计算机网络的多个场地上。这就是分布式数据库与集中式数据库最主要的区别。从用户的角度来看,分布式数据库系统在逻辑上和集中式数据库系统一样,用户可以在任何一个场地执行全局应用。就好像数据是存储在同一台计算机上,由单个数据库管理系统管理一样,用户感觉没有什么区别。
[0034]分布式数据库系统适合于单位分散的部门,允许各个部门将其常用的数据存储在本地,实施就地存放本地使用,从而提高响应速度,降低通信费用。分布式数据库系统与集中式数据库系统相比具有可扩展性,通过增加适当的数据冗余,提高系统的可靠性。
[0035]分布式数据库通过分区技术,将数据均衡到不同的地方,提高数据检索的效率,降
低数据库的频繁I/O压力值,减少数据读写的总量以缩减响应时间,提高数据管理能力。
[0036]分区主要有两种形式:水平分区和垂直分区。水平分区对表的行进行分区,通过这样的方式不同分组里面的物理列分割的数据集得以组合,从而进行个体分割(单分区)或集体分割(一个或多个分区)。所有在表中定义的列在每个数据集中都能找到,所以表的特性依然得以保持。垂直分区是通过对表的垂直划分来减少目标表的宽度,使某些特定的列被划分到特定的分区,每个分区都包含了其中的列所对应的行。
[0037]用户可以按照不同的分区规则对数据库进行分区,具体规则如下:
[0038](1)RANGE分区:
[0039]基于属于一个给定连续区间的列值,把多行分配给分区。这些区间要连续且不能相互重叠,使用VALUES LESS THAN操作符来进行定义。
[0040](2)LIST分区:
[0041]类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。
[0042](3)HASH分区:
[0043]基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含MySQL中有效的、产生非负整数值的任何表达式。
[0044](4)KEY分区:
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于分布式数据库的分区权限管理方法,其特征在于,对数据进行分区并设置权限,授予用户对分区的权限,包括访问权限和操作权限;在用户操作该分区数据时,检查其是否有访问权限,若有访问权限,则进一步检查是否具有操作权限;若无访问权限则直接结束;若具有操作权限则对目标数据进行相应的操作,若无操作权限则直接结束。2.根据权利要求1所述的一种基于分布式数据库的分区权限管理方法,其特征在于,所述对数据进行分区的操作过程如下:S1、分析数据特征,选择合适的分区规则,确定分区依据及分区数量,进行分区操作;S2、选择合适的主键或添加主键,作为分区的依据字段;S3、创建分区。3.根据权利要求1或2所述的一种基于分布式数据库的分区权限管理方法,其特征在于,所述授予用户对分区的权限,针对不同的用户需求,对其授予不同分区的访问权限。4.根据权利要求3所述的一种基于分布式数据库的分区权限管理方法,其特征在于,用户操作分区数据时,检查其是否有访问权限的具体过程如下:用户对数据执行操作时,系统按照分区的依据,判断数据存储在哪个分区上;检查该用户是否有该分区的访问权限,用户若对该分区中任意数据有任意权限,则授予访问权限;若无访问权限,则返回错误信息。5.根据权利要求4所述的一...

【专利技术属性】
技术研发人员:邢政沈豪江磊陈磊石梦飞鲍之骁徐扬刘文硕
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1