数据库自动授权访问方法技术

技术编号:12358447 阅读:79 留言:0更新日期:2015-11-20 14:28
本发明专利技术公开了一种数据库自动授权访问方法,是由需授权访问客体向被访问数据库进行自动授权并访问的方法,包括:步骤(S1),传递所述被访问数据库的信息作为主库信息;步骤(S2),根据主库信息,在预先设置的主从数据库关系列表中匹配出与被访问数据库对应的从数据库的可授权从库信息;步骤(S3),根据可授权从库信息,在被访问数据库中执行授权语句,以使从数据库被授予访问权限;步骤(S4),根据可授权从库信息,生成需授权访问客体进行访问的数据源;步骤(S5),根据数据源,生成需授权访问客体进行访问的访问配置信息;和步骤(S6),需授权访问客体根据访问配置信息,向被访问数据库进行访问。

【技术实现步骤摘要】

本专利技术涉及一种数据库授权访问方法,具体涉及一种。
技术介绍
随着数据库技术、网络技术的不断发展及数据库管理系统的广泛应用,数据库中存储的数据量急剧增大。近年,在信息技术与数据智能发展的大环境下,面向企业管理和决策主题的针对海量数据存储和计算分析的数据仓库(Data Warehouse)技术被广泛应用。其中,数据仓库的安全性是在数据库级别定义的,而建立对数据库的访问权限是保护数据安全的策略之一,也是数据库安全应用的有效保证。在数据从数据库抽取到数据仓库的过程中,需要在保证数据库权限安全的情况下,在数据库中对数据访问权限进行授权。现有的授权访问方法还主要是通过手动方式完成的。图4是现有数据库授权访问方法的示意图。如图4所示,首先,数据仓库DBl提供需要接入的数据库IP、库名和表名、以及需要获得访问权限的服务器IP地址(步骤SAl);接着,数据库管理员P2根据得到的信息查找主从库关系列表Tl,匹配出正确的需授权服务器及数据库地址(SA2);然后,手动编写并执行数据库授权语句(例如,数据库常用的SQL的GRANT语句等),对某一用户名及相关机器资源授予访问权限(步骤SA3);然后,数据库管理员P2将授予权限的用户名以配置的方式告知数据仓库管理员Pl (步骤SA4);最后,数据仓库管理员Pl使用该配置对数据库DB2进行访问(步骤SA5)。在现有的数据库授权访问方法中,存在如下问题:(1)手动线下授权需要手动编写数据库授权语句,例如GRANT语句等,效率低下,且易发生错误;(2)在分库分表等比较多的情况下,需要重复多次授权;(3)主从库关系不明确,若直接抽取生产主库,则会对正常生产产生影响。(4)授权后没有验证连通性流程,只有在实际数据抽取时才会发现操作失误,并导致线上任务失败。
技术实现思路
本专利技术是鉴于现有数据库授权访问方法的上述问题而做出的,其目的在于提供一种提高了授权效率并能自动验证连通性的。本专利技术的一个方面的,是由需授权访问客体向被访问数据库进行自动授权并访问的方法,包括:调用自动授权接口步骤(SI),传递作为主数据库的所述被访问数据库的信息作为主库信息;主从库关系匹配步骤(S2),根据所述主库信息,在预先设置的主从数据库关系列表中查找并匹配出与所述被访问数据库对应的从数据库的可授权从库信息;授权步骤(S3),根据所述可授权从库信息,在所述被访问数据库中执行授权语句,以使所述从数据库被授予可由所述需授权访问客体进行访问的权限;数据源生成步骤(S4),根据所述可授权从库信息,生成所述需授权访问客体向所述被访问数据库进行访问的数据源,该数据源包括通过上述授权步骤(S3)被授权的所述从数据库的授权信息;生成访问配置信息步骤(S5),根据所述数据源,生成所述需授权访问客体向所述被访问数据库进行访问的访问配置信息;和数据库访问步骤(S6),所述需授权访问客体根据所述访问配置信息,向所述被访问数据库进行访问。根据本专利技术的一个方面的,在所述生成访问配置信息步骤(S5)与所述数据库访问步骤(S6)之间包括:验证数据连通性步骤(SSl),根据所述访问配置信息,在所述需授权访问客体向所述被访问数据库进行访问之前,访问被授权的所述从数据库,以验证授权是否成功。根据本专利技术的一个方面的,在所述验证数据连通性步骤(SSl)中,当不能访问被授权的所述从数据库时,判断为授权失败,并结束自动授权访问;当能访问被授权的所述从数据库时,判断为授权成功,并进入所述数据库访问步骤(S6)。根据本专利技术的一个方面的,在所述主从库关系匹配步骤(S2)中,当在所述主从数据库关系列表中未查找到所述从库信息时,判断为授权失败,并结束自动授权访问;当在所述主从数据库关系列表中查找到所述从库信息时,进入所述授权步骤(S3) ο 根据本专利技术的一个方面的,在所述数据源生成步骤(S4)中,判定是否已存在相应的所述数据源,当尚未存在相应的所述数据源时,创建新的数据源,当已存在相应的所述数据源时,直接生成该数据源。根据本专利技术的一个方面的,所述主库信息包括:所述被访问数据库所在服务器IP、数据库名称、被访问的数据表名称、需获得授权的服务器IP。根据本专利技术的一个方面的,在调用自动授权接口步骤(SI)中,提供交互式界面来传递所述主库信息。根据本专利技术的一个方面的,所述主从库关系列表包括:作为主数据库的所述被访问数据库和所述从数据库的所在服务器IP、端口及数据库名称的信息,所述主从库关系列表根据所述主库信息,来匹配出对应的所述从库信息。根据本专利技术的一个方面的,所述数据源包括:被授权的所述从数据库的所在服务器IP、端口、数据库名称、以及被授予访问权限的用户名和加密后的密码。根据本专利技术的一个方面的,所述需授权访问客体是数据仓库。根据本专利技术的一个方面的,所述被访问数据库是关系型数据库。根据本专利技术的一个方面的,所述授权语句是SQL的GRANT语句。根据本专利技术的上述技术方案,自动执行授权语句(例如,GRANT语句)进行授权并匹配或创建数据源,提高了授权效率。根据本专利技术的上述技术方案,根据主从库关系自动匹配授权从库,避免了抽取时对主库正常生产产生压力。根据本专利技术的上述技术方案,在授权后还通过抽数(数据抽取)节点访问被授权数据库的表,以验证数据连通性,从而避免了只有在实际数据抽取时才会发现操作失误并导致线上任务失败的情形。【附图说明】图1是本专利技术的数据库授权访问方法的整体示意图。图2是本专利技术的数据库授权访问方法的流程图。图3是本专利技术的数据库授权访问方法中追加了验证数据连通性步骤的流程图。图4是现有数据库授权方法的示意图。【具体实施方式】为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术进一步详细说明。图1是本专利技术的数据库授权方法的整体示意图。如图1所示,首先,作为需要获取数据访问权限的授权访问客体的数据仓库DB1,调用自动授权接口 I/F,该自动授权接口 I/F提供交互式界面,并通过该交互式界面输入数据仓库DBl需要访问的关系型数据库DB2所在服务器IP、数据库名称、要访问的数据表名称、需要获得授权的服务器(包含配置web端所在服务器及执行抽数任务的服务器)IP等授权信息作为主库信息,且将该主库信息传递给后续的自动授权处理(即,授权执行后台),而且还可以接收授权执行进度及授权成功或失败信息并进行显示,以便用户及时获知授权状况(步骤SI)。在此,上述的关系型数据库DB2是需要提供授权的数据库,其可以包括MySQUSQLServer或Oracle数据库等。授权用语句(例如,SQL的GRANT语句)将在此环境中执行。接着,根据自动授权接口 I/F传递来的主库信息,在预先设置的数据库D2的主从库关系列表Tl中查找并匹配从库信息,以确定可授权的从库信息(步骤S2)。其中,主从库关系列表Tl的由来是:由于生产库需要较高的安全性和稳定性,一般会提供多个备份数据库,主库用于支持生产作业,从库用于灾备或支持数据查询和抽取等操作,减小主库生产压力和风险。该主从库关系列表Tl包含生产库对应的主库与从库所在服务器IP、端口及库名信息,当由自动授权接口 I/F传递来上述主库信息时,可以自动匹配并返回对应的从库信息。然后,根据匹配并确定的从库信息,在所对应的数据本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/CN105069370.html" title="数据库自动授权访问方法原文来自X技术">数据库自动授权访问方法</a>

【技术保护点】
一种数据库自动授权访问方法,是由需授权访问客体向被访问数据库进行自动授权并访问的方法,包括:调用自动授权接口步骤(S1),传递作为主数据库的所述被访问数据库的信息作为主库信息;主从库关系匹配步骤(S2),根据所述主库信息,在预先设置的主从数据库关系列表中查找并匹配出与所述被访问数据库对应的从数据库的可授权从库信息;授权步骤(S3),根据所述可授权从库信息,在所述被访问数据库中执行授权语句,以使所述从数据库被授予可由所述需授权访问客体进行访问的权限;数据源生成步骤(S4),根据所述可授权从库信息,生成所述需授权访问客体向所述被访问数据库进行访问的数据源,该数据源包括通过上述授权步骤(S3)被授权的所述从数据库的授权信息;生成访问配置信息步骤(S5),根据所述数据源,生成所述需授权访问客体向所述被访问数据库进行访问的访问配置信息;和数据库访问步骤(S6),所述需授权访问客体根据所述访问配置信息,向所述被访问数据库进行访问。

【技术特征摘要】

【专利技术属性】
技术研发人员:吕沛袁孙荣章冯玉敏刘彦伟李冰心胡帅
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1