发明内容
本发明的主要目的在于提供一种数据库权限控制方法和装置,以解决为每个系统指定权限导致配置麻烦的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据库权限控制方法。根据本发明的数据库权限控制方法包括:接收用户查看第一维度的指令,其中,所述第一维度为所述用户拥有查看权限的维度;按照所述指令查看所述第一维度,得到所述第一维度对应的多个指标,其中,所述多个指标为所述用户拥有查看权限的指标;以及根据所述多个指标中的第一指标查看所述第一指标对应的第二维度,其中,所述第二维度为所述用户拥有查看权限的维度。
进一步地,按照所述指令查看所述第一维度,得到所述第一维度对应的多个指标包括:获取拥有用户查看权限的指标;获取所述第一维度对应的指标;判断所述第一维度对应的指标是否属于所述拥有用户查看权限的指标;以及如果判断出所述第一维度对应的指标属于所述拥有用户查看权限的指标,则将所述第一维度对应的指标中拥有用户查看权限的指标作为所述第一维度对应的多个指标。
进一步地,在将所述第一维度对应的指标中拥有用户查看权限的指标作为所述第一维度对应的多个指标之后,所述数据库权限控制方法还包括:获取所述多个指标中每个指标对应的维度;以及将所述多个指标对应的所有维度作为所述用户查看的维度,其中,所述用户查看的维度拥有用户查看权限。
进一步地,根据所述多个指标中的第一指标查看所述第一指标对应的第二维度包括:获取拥有用户查看权限的维度;获取所述第一指标对应的维度,其中,所述第一指标为所述多个指标中的任意一个指标;判断所述第一指标对应的维度是否属于所述拥有用户查看权限的维度;以及如果判断出所述第一指标对应的维度属于所述拥有用户查看权限的维度,则将所述第一指标对应的维度中拥有用户查看权限的维度作为所述第一指标对应的多个维度,其中,所述第二维度为所述第一指标对应的多个维度中的任意一个维度。
进一步地,根据所述多个指标中的第一指标查看所述第一指标对应的第二维度之后,所述数据库权限控制方法还包括:获取拥有用户查看权限的指标;获取所述第二维度对应的指标;对所述拥有用户查看权限的指标和所述第二维度对应的指标取交集;以及将所述交集作为所述用户查看的指标。
为了实现上述目的,根据本发明的一个方面,提供了一种数据库权限控制装置。根据本发明的数据库权限控制装置包括:接收单元,用于接收用户查看第一维度的指令,其中,所述第一维度为所述用户拥有查看权限的维度;第一查看单元,用于按照所述指令查看所述第一维度,得到所述第一维度对应的多个指标,其中,所述多个指标为所述用户拥有查看权限的指标;以及第二查看单元,用于根据所述多个指标中的第一指标查看所述第一指标对应的第二维度,其中,所述第二维度为所述用户拥有查看权限的维度。
进一步地,所述第一查看单元包括:第一获取模块,用于获取拥有用户查看权限的指标;第二获取模块,用于获取所述第一维度对应的指标;第一判断模块,用于判断所述第一维度对应的指标是否属于所述拥有用户查看权限的指标;以及第一确定模块,用于在判断出所述第一维度对应的指标属于所述拥有用户查看权限的指标时,将所述第一维度对应的指标中拥有用户查看权限的指标作为所述第一维度对应的多个指标。
进一步地,所述数据库权限控制装置还包括:第一获取单元,用于在将所述第一维度对应的指标中拥有用户查看权限的指标作为所述第一维度对应的多个指标之后,获取所述多个指标中每个指标对应的维度;以及第一确定单元,用于将所述多个指标对应的所有维度作为所述用户查看的维度,其中,所述用户查看的维度拥有用户查看权限。
进一步地,所述第二查看单元包括:第三获取模块,用于获取拥有用户查看权限的维度;第四获取模块,用于获取所述第一指标对应的维度;第二判断模块,用于判断所述第一指标对应的维度是否属于所述拥有用户查看权限的维度;以及第二确定模块,用于在判断出所述第一指标对应的维度属于所述拥有用户查看权限的维度时,将所述第一指标对应的维度中拥有用户查看权限的维度作为所述第一指标对应的多个维度,其中,所述第二维度为所述第一指标对应的多个维度中的任意一个维度。
进一步地,所述数据库权限控制装置还包括:第二获取单元,用于在根据所述多个指标中的第一指标查看所述第一指标对应的第二维度之后,获取拥有用户查看权限的指标;第三获取单元,用于获取所述第二维度对应的指标;交集单元,用于对所述拥有用户查看权限的指标和所述第二维度对应的指标取交集;以及第二确定单元,用于将所述交集作为所述用户查看的指标。
通过本发明,采用维度指标双过滤的方法接收用户查看第一维度的指令,其中,第一维度为用户拥有查看权限的维度;按照指令查看第一维度,得到第一维度对应的多个指标,其中,多个指标为用户拥有查看权限的指标;以及根据多个指标中的第一指标查看第一指标对应的第二维度,其中,第二维度为用户拥有查看权限的维度。通过本发明,解决了为每个系统指定权限导致配置麻烦的问题,进而达到了便于控制数据库访问权限的效果。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明提供了一种数据库权限控制方法。
图1是根据本发明第一实施例的数据库权限控制方法的流程图。如图所示,该数据库权限控制方法包括如下步骤:
步骤S102,接收用户查看第一维度的指令,其中,第一维度为用户拥有查看权限的维度。
在Olap中包括很多维度,但是,对于一个维度,有些用户能够查看该维度,有些用户不能查看该维度,如果用户能够查看该维度,则用户拥有该维度的查看权限,该维度为用户拥有查看权限的维度,例如第一维度。
接收用户查看第一维度的指令,维度包括时间、地域以及访问用户所使用的操作系统等,例如,第一维度即时间。
步骤S104,按照指令查看第一维度,得到第一维度对应的多个指标,其中,多个指标为用户拥有查看权限的指标。
通常一个维度可以对应一个或多个指标,例如,第一维度是时间,对应的指标包括页面访问量、留言量和点击量等。在接收用户的指令并确认用户查看的第一维度之后,确定通过第一维度可以查看的指标。为了避免没有用户查看权限的指标被用户查看到,所以,用户可以查看的指标是既拥有查看权限又与第一维度对应的指标。
例如,在Olap系统中,拥有用户查看权限的第一维度是时间,拥有查看权限的指标为页面访问量和留言量。
用户确认查看时间之后,与时间对应的指标为页面访问量、留言量和点击量。但是用户只有查看页面访问量和留言量的权限,因此,用户查看的时间维度对应的指标为页面访问量和留言量,即用户只能在时间的维度内查看页面访问量和留言量这两个指标,对于点击量,由于该用户没有访问权限,所以不能被盖用户查看。
步骤S106,根据多个指标中的第一指标查看第一指标对应的第二维度,其中,第二维度为用户拥有查看权限的维度。
用户在查看页面访问量和留言量时,如果想继续对页面访问量继续进行查看,查看与页面访问量对应的维度,与页面访问量对应的维度可以为一个或者多个,假设页面访问量对应的维度为地域和操作系统。如果地域和操作系统都能被用户查看,则用户可以在查看页面访问量之后查看对应的地域和操作系统。如果只有地域能够被用户查看,则用户只能在查看页面访问量之后查看对应的地域维度。
通过上述实施例,通过拥有查看那权限的维度和对应的拥有查看权限的指标的相互关系,使得用户能够查看的维度或者指标只能是拥有用户查看权限的维度或者指标,使得期望不被用户看到的维度或者指标不会被用户查看到,并且,由于维度和指标的对应关系,使得维度和指标可以通过相互的关联进行连锁查看,避免了通过为每个用户定制页面来查看有访问权限维度和指标,使复杂的配置过程简单化,并简化了程序的运行,降低了Olap配置维护的开销。
图2是根据本发明第二实施例的数据库权限控制方法的流程图。如图所示,按照指令查看第一维度,得到第一维度对应的多个指标包括如下步骤:
步骤S202,获取拥有用户查看权限的指标。
拥有用户查看权限的指标即用户能够查看的指标。
步骤S204,获取第一维度对应的指标。
第一维度对应的指标可以为一个或者多个,第一维度对应的指标可以对第一维度进行分析。
步骤S206,判断第一维度对应的指标是否属于拥有用户查看权限的指标。
步骤S208,如果判断出第一维度对应的指标属于拥有用户查看权限的指标,则将第一维度对应的指标中拥有用户查看权限的指标作为第一维度对应的多个指标。
如果第一维度对应的指标属于拥有用户查看权限的指标,则该拥有用户查看权限的指标能够被用查看,多个与第一维度对应的拥有用户查看权限的指标都可以作为用户查看第一维度之后再进行查看的指标。
进一步地,在将第一维度对应的指标中拥有用户查看权限的指标作为第一维度对应的多个指标之后,数据库权限控制方法还包括:获取多个指标中每个指标对应的维度。将多个指标对应的所有维度作为用户查看的维度,其中,用户查看的维度拥有用户查看权限。
例如,用户确定第一维度为时间,时间对应的多个指标为页面访问量、留言量和点击量,其中,页面访问量对应的维度包括W1、W2和W3,留言量对应的维度包括Y1和Y2,点击量对应的维度包括X1和X2。其中,W2、W3、X1和Y1拥有用户查看权限。那么,在用户查看时间之后,可以查看时间对应的页面访问量、留言量和点击量,上述三个指标对应的维度有W1、W2、W3、X1、X2、Y2和Y1,但是拥有用户查看权限的维度包括W2、W3、X1和Y1,用户可以对W2、W3、X1和Y1中的任意一个维度进行查看。
通过上述实施例,可以在查看第一维度之后,利用维度与指标的对应关系查看与第一维度对应的指标,并且利用用户查看权限的限制,使得用户只能在第一维度对应的指标中查看拥有用户查看权限的指标,从而达到了控制用户的查看权限的效果。在控制用户的查看权限时,只需设置用户能够查看的指标和维度,无需为每个用户定制访问的维度和指标,解决了为每个系统指定权限导致配置麻烦的问题,进而达到了便于控制数据库访问权限的效果。
进一步地,根据多个指标中的第一指标查看第一指标对应的第二维度包括:获取拥有用户查看权限的维度。获取第一指标对应的维度,其中,第一指标为多个指标中的任意一个指标。判断第一指标对应的维度是否属于拥有用户查看权限的维度。如果判断出第一指标对应的维度属于拥有用户查看权限的维度,则将第一指标对应的维度中拥有用户查看权限的维度作为第一指标对应的多个维度,其中,第二维度为第一指标对应的多个维度中的任意一个维度。
第一指标是第一维度对应的多个指标中的任意一个指标,并且第一指标拥有用户查看权限。例如,第一维度是A,对应的多个指标为页面访问量、留言量和点击量,并且页面访问量、留言量和点击量均拥有用户查看权限,则将页面访问量、留言量和点击量作为用户可以查看的第二维度。
图3是根据本发明第三实施例的数据库权限控制方法的流程图。如图所示,根据多个指标中的第一指标查看第一指标对应的第二维度之后,数据库权限控制方法还包括如下步骤:
步骤S302,获取拥有用户查看权限的指标。
步骤S304,获取第二维度对应的指标。
步骤S306,对拥有用户查看权限的指标和第二维度对应的指标取交集。
步骤S308,将交集作为用户查看的指标。
例如,拥有用户查看权限的指标包括W2、W3、X1和Y1,第二维度对应的指标为W1、W2、W3、X1、X2和Y1,则交集为W2、W3、X1和Y1,用户可以对交集中的W2、W3、X1和Y1进行查看。
通过上述实施例,用户通过已有权限的第一维度对数据进行查看,在用户分析界面中只显示与第一维度相对应的,并且有访问权限的指标。通过过滤掉与第一维度不对应的指标,过滤掉不受第一维度影响的指标,从而在用户查看界面中显示的指标都是受第一维度影响的指标,并且保证了都是用户有访问权限的指标。在用户分析界面中不显示因不受第一维度影响而导致指标数值不变的指标,避免用户理解歧义。
下面举例对本发明实施例的数据库权限控制方法进行说明。
假设系统所有维度有:w1,w2,w3
假设系统所有指标有:m1,m2,m3,m4,m5
其中,维度和指标的关系如图4所示。
假设各维度以及指标的关系为:
w1—{m1,m2,m3,m4}
w2—{m2,m3,m4,m5}
w3—{m3,m4,m5}
从上面的关系可以反推出指标与维度的关系如下:
m1—{w1}
m2—{w1,w2}
m3—{w1,w2,w3}
m4—{w1,w2,w3}
m3—{w2,w3}
假设用户a,有权限的维度为:w1,w2,w3,有权限的指标为:m1,m3,m4,m5。大括号表示集合的概念,在此为所关联的一组指标或维度,为表示方便而引进。
获取各维度与显示指标的对应关系,维度与指标的对应关系可以为一对一或多对多,本发明实施例以多对多为例进行说明,一个指标可以通过多个维度查看,一个维度也可查看多个指标。
默认情况下,显示所有可查看的维度与指标。
显示可查看的维度:{w1,w3,w3},显示指标:{m1,m3,m4,m5}
剖析某一维度并展示相应指标和继续可查看的维度。
当用户选择某一维度进行查看后,仅显示与此维度相关的并且有访问权限的所有指标,不对其它指标用做查询。
例如:用户选择维度w1进行查看,有访问权限的指标为{m1,m3,m4,m5},维度w1有关的指标为{m1,m2,m3,m4},取交集:{m1,m3,m4},则交集{m1,m3,m4}即为用户能够看到的指标,并且能够对其进行查看。
下一级可查看维度为所有显示指标所关联的维度的并集,在此并集中取所有用户有权限的维度。
m1关联的维度为{w1}
m3关联的维度为{w1,w2}
m4关联的维度为{w1,w2,w3}
下一级可查看维度为各指标关联维度的并集{w1,w2,w3},所有用户有权限的维度为{w1,w2,w3},故而取交集为{w1,w2,w3},即所显示的可查看维度集合。
进一步地,所展示指标为多维查看路径链的所有维度相关指标{m1,m2,m3,m4,m5}以及用户有权限的指标{m1,m3,m4,m5}的交集{m1,m3,m4,m5}。
目前查看链仅有w1{m1,m2,m3,m4}维度,有权限的指标为{m1,m3,m4,m5}故而取交集后显示{m1,m3,m4}。
对w1进行查看后,在得到结果的基础上对有权限的维度继续进行查看。
例如:用户选择w2进行查看,所展示指标为维度链上所有维度相关联的指标的交集,再与用户有权限的指标取交集,即为w1{m1,m2,m3,m4},w2{m2,m3,m4,m5}与有权限指标{m1,m3,m4,m5}取交集,为{m3,m4}。
继续可查看的维度为指标m3,m4所关联的维度m3{w1,w2,w3},m4{w1,w2,w3}的并集为{w1,w2,w3},与有权限的维度{w1,w2,w3}取交集为{w1,w2,w3},故而还可以从w3进行再次查看。对w3进行查看的方法与查看w2方法相同,在此不做赘述。
本发明实施例还提供了一种数据库权限控制装置。需要说明的是,本发明实施例的数据库权限控制装置可以用于执行本发明实施例的数据库权限控制方法,本发明实施例的数据库权限控制方法也可以通过本发明实施例的数据库权限控制装置来执行。
图5是根据本发明第一实施例的数据库权限控制装置的示意图。如图所示,该数据库权限控制装置包括接收单元10、第一查看单元20和第二查看单元30。
接收单元10用于接收用户查看第一维度的指令,其中,第一维度为用户拥有查看权限的维度。
在Olap中包括很多维度,但是,对于一个维度,有些用户能够查看该维度,有些用户不能查看该维度,如果用户能够查看该维度,则用户拥有该维度的查看权限,该维度为用户拥有查看权限的维度,例如第一维度。
接收用户查看第一维度的指令,维度包括时间、地域以及访问用户所使用的操作系统等,例如,第一维度即时间。
第一查看单元20用于按照指令查看第一维度,得到第一维度对应的多个指标,其中,多个指标为用户拥有查看权限的指标。
通常一个维度可以对应一个或多个指标,例如,第一维度是时间,对应的指标包括页面访问量、留言量和点击量等。在接收用户的指令并确认用户查看的第一维度之后,确定通过第一维度可以查看的指标。为了避免没有用户查看权限的指标被用户查看到,所以,用户可以查看的指标是既拥有查看权限又与第一维度对应的指标。
例如,在Olap系统中,拥有用户查看权限的第一维度是时间,拥有查看权限的指标为页面访问量和留言量。
用户确认查看时间之后,与时间对应的指标为页面访问量、留言量和点击量。但是用户只有查看页面访问量和留言量的权限,因此,用户查看的时间维度对应的指标为页面访问量和留言量,即用户只能在时间的维度内查看页面访问量和留言量这两个指标,对于点击量,由于该用户没有访问权限,所以不能被盖用户查看。
第二查看单元30用于根据多个指标中的第一指标查看第一指标对应的第二维度,其中,第二维度为用户拥有查看权限的维度。
用户在查看页面访问量和留言量时,如果想继续对页面访问量继续进行查看,查看与页面访问量对应的维度,与页面访问量对应的维度可以为一个或者多个,假设页面访问量对应的维度为地域和操作系统。如果地域和操作系统都能被用户查看,则用户可以在查看页面访问量之后查看对应的地域和操作系统。如果只有地域能够被用户查看,则用户只能在查看页面访问量之后查看对应的地域维度。
通过上述实施例,通过拥有查看那权限的维度和对应的拥有查看权限的指标的相互关系,使得用户能够查看的维度或者指标只能是拥有用户查看权限的维度或者指标,使得期望不被用户看到的维度或者指标不会被用户查看到,并且,由于维度和指标的对应关系,使得维度和指标可以通过相互的关联进行连锁查看,避免了通过为每个用户定制页面来查看有访问权限维度和指标,使复杂的配置过程简单化,并简化了程序的运行,降低了Olap配置维护的开销。
图6是根据本发明第二实施例的数据库权限控制装置的示意图。如图所示,该数据权限控制装置包括接收单元10、第一查看单元20和第二查看单元30,其中,第一查看单元20包括第一获取模块201、第二获取模块202、第一判断模块203和第一确定模块204。
第一获取模块201用于获取拥有用户查看权限的指标。拥有用户查看权限的指标即用户能够查看的指标。
第二获取模块202用于获取第一维度对应的指标。
第一维度对应的指标可以为一个或者多个,第一维度对应的指标可以对第一维度进行分析。
第一判断模块203用于判断第一维度对应的指标是否属于拥有用户查看权限的指标。
第一确定模块204用于在判断出第一维度对应的指标属于拥有用户查看权限的指标时,将第一维度对应的指标中拥有用户查看权限的指标作为第一维度对应的多个指标。
如果第一维度对应的指标属于拥有用户查看权限的指标,则该拥有用户查看权限的指标能够被用查看,多个与第一维度对应的拥有用户查看权限的指标都可以作为用户查看第一维度之后再进行查看的指标。
进一步地,数据库权限控制装置还包括:第一获取单元用于在将第一维度对应的指标中拥有用户查看权限的指标作为第一维度对应的多个指标之后,获取多个指标中每个指标对应的维度。以及第一确定单元用于将多个指标对应的所有维度作为用户查看的维度,其中,用户查看的维度拥有用户查看权限。
例如,用户确定第一维度为时间,时间对应的多个指标为页面访问量、留言量和点击量,其中,页面访问量对应的维度包括W1、W2和W3,留言量对应的维度包括Y1和Y2,点击量对应的维度包括X1和X2。其中,W2、W3、X1和Y1拥有用户查看权限。那么,在用户查看时间之后,可以查看时间对应的页面访问量、留言量和点击量,上述三个指标对应的维度有W1、W2、W3、X1、X2、Y2和Y1,但是拥有用户查看权限的维度包括W2、W3、X1和Y1,用户可以对W2、W3、X1和Y1中的任意一个维度进行查看。
通过上述实施例,可以在查看第一维度之后,利用维度与指标的对应关系查看与第一维度对应的指标,并且利用用户查看权限的限制,使得用户只能在第一维度对应的指标中查看拥有用户查看权限的指标,从而达到了控制用户的查看权限的效果。在控制用户的查看权限时,只需设置用户能够查看的指标和维度,无需为每个用户定制访问的维度和指标,解决了为每个系统指定权限导致配置麻烦的问题,进而达到了便于控制数据库访问权限的效果。
进一步地,第二查看单元包括:第三获取模块用于获取拥有用户查看权限的维度。第四获取模块,用于获取第一指标对应的维度。第二判断模块,用于判断第一指标对应的维度是否属于拥有用户查看权限的维度。以及第二确定模块,用于在判断出第一指标对应的维度属于拥有用户查看权限的维度时,将第一指标对应的维度中拥有用户查看权限的维度作为第一指标对应的多个维度,其中,第二维度为第一指标对应的多个维度中的任意一个维度。
第一指标是第一维度对应的多个指标中的任意一个指标,并且第一指标拥有用户查看权限。例如,第一维度是A,对应的多个指标为页面访问量、留言量和点击量,并且页面访问量、留言量和点击量均拥有用户查看权限,则将页面访问量、留言量和点击量作为用户可以查看的第二维度。
图7是根据本发明第三实施例的数据库权限控制装置的示意图。如图所示,该数据库权限控制装置还包括第二获取单元40、第三获取单元50、交集单元60和第二确定单元70。
第二获取单元40用于在根据多个指标中的第一指标查看第一指标对应的第二维度之后,获取拥有用户查看权限的指标。
第三获取单元50用于获取第二维度对应的指标。
交集单元60用于对拥有用户查看权限的指标和第二维度对应的指标取交集。以及
第二确定单元70用于将交集作为用户查看的指标。
例如,拥有用户查看权限的指标包括W2、W3、X1和Y1,第二维度对应的指标为W1、W2、W3、X1、X2和Y1,则交集为W2、W3、X1和Y1,用户可以对交集中的W2、W3、X1和Y1进行查看。
通过上述实施例,用户通过已有权限的第一维度对数据进行查看,在用户分析界面中只显示与第一维度相对应的,并且有访问权限的指标。通过过滤掉与第一维度不对应的指标,过滤掉不受第一维度影响的指标,从而在用户查看界面中显示的指标都是受第一维度影响的指标,并且保证了都是用户有访问权限的指标。在用户分析界面中不显示因不受第一维度影响而导致指标数值不变的指标,避免用户理解歧义。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。