数据库连接建立方法及装置转让专利

申请号 : CN201510477780.3

文献号 : CN106445946B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵建伟

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本申请公开了一种数据库连接建立方法及装置,所述方法包括:代理服务器利用超级用户的用户认证信息,以及所述代理服务器的地址标识在数据库管理系统中进行认证,建立与所述数据库管理系统的超级用户连接;将客户端发送的普通用户的用户认证信息以及所述客户端的待认证地址标识,通过所述超级用户连接转发至数据库管理系统;触发所述数据库管理系统,在所述普通用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。本申请实施例既保证了安全性,同时方便了对连接的管理和控制。

权利要求 :

1.一种数据库连接建立方法,其特征在于,包括:

代理服务器利用超级用户的用户认证信息以及所述代理服务器的地址标识,在数据库管理系统中进行认证,建立与所述数据库管理系统的超级用户连接;其中,所述数据库管理系统中预先存储超级用户的用户认证信息和超级用户的地址标识;

将客户端发送的普通用户的用户认证信息以及所述客户端的待认证地址标识,通过所述超级用户连接转发至所述数据库管理系统;

触发所述数据库管理系统,在所述普通用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。

2.如权利要求1所述的方法,其特征在于,所述数据库管理系统包括主库和备库,所述代理服务器利用超级用户的用户认证信息以及所述代理服务器的地址标识,在数据库管理系统中进行认证,建立与所述数据库管理系统的超级用户连接包括:代理服务器利用超级用户的用户认证信息以及所述代理服务器的地址标识,在主库中进行认证,建立与所述主库的超级用户连接。

3.如权利要求2所述的方法,其特征在于,在将所述超级用户的权限转换为普通用户的权限,使得所述超级用户连接转换为普通用户连接之后,所述方法还包括:在所述主库异常时,利用所述超级用户的用户认证信息,以及所述代理服务器的地址标识在所述备库中进行认证,建立与所述备库的超级用户连接;

触发所述备库将与所述备库连接的所述超级用户的权限转换为所述普通用户的权限,使得与所述备库建立的超级用户连接转换为普通用户连接。

4.如权利要求1~3任一项所述的方法,其特征在于,所述超级用户为所述数据库管理系统建立时,利用超级用户的用户认证信息以及所述代理服务器的地址标识预先创建的。

5.一种数据库连接建立方法,其特征在于,包括:

数据库管理系统对代理服务器发送的超级用户的用户认证信息,以及所述代理服务器的地址标识进行认证;其中,所述数据库管理系统中预先存储超级用户的用户认证信息和超级用户的地址标识;

在所述超级用户认证通过之后,建立与所述代理服务器的超级用户连接;

对所述代理服务器通过所述超级用户连接发送的普通用户的用户认证信息以及待认证地址标识进行认证;

根据所述代理服务器的触发命令,在所述普通用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。

6.一种数据库连接建立装置,其特征在于,包括:

第一连接模块,用于利用超级用户的用户认证信息,以及代理服务器的地址标识在数据库管理系统中进行认证,建立所述代理服务器与所述数据库管理系统的超级用户连接;

转发模块,用于将客户端发送的普通用户的用户认证信息以及所述客户端的待认证地址标识,通过所述超级用户连接转发至所述数据库管理系统;

第一转换模块,用于触发所述数据库管理系统,在所述普通用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。

7.如权利要求6所述的装置,其特征在于,所述数据库管理系统包括主库和备库,所述第一连接模块具体用于:利用超级用户的用户认证信息以及代理服务器的地址标识,在数据库管理系统的主库中进行认证,建立所述代理服务器与所述数据库管理系统的主库的超级用户连接。

8.如权利要求7所述的装置,其特征在于,还包括:

第二连接模块,用于在所述主库异常时,利用所述超级用户的用户认证信息,以及所述代理服务器的地址标识在所述数据库管理系统的备库中进行认证,建立所述代理服务器与所述备库的超级用户连接;

第二转换模块,用于触发所述备库将与所述备库连接的所述超级用户的权限转换为所述普通用户的权限,使得与所述备库建立的超级用户连接转换为普通用户连接。

9.一种数据库连接建立装置,其特征在于,包括:

第一认证模块,用于对代理服务器发送的超级用户的用户认证信息,以及所述代理服务器的地址标识进行认证;其中,所述数据库管理系统中预先存储超级用户的用户认证信息和超级用户的地址标识;

第三连接模块,用于在所述超级用户认证通过之后,建立与所述代理服务器的超级用户连接;

第二认证模块,用于对所述代理服务器通过所述超级用户连接发送的普通用户的用户认证信息以及待认证地址标识进行认证;

第四连接模块,用于根据所述代理服务器的触发命令,在所述普通该用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。

10.如权利要求9所述的装置,其特征在于,还包括:

第一预创建模块,用于利用普通用户的用户认证信息以及普通用户的客户端地址标识,创建所述普通用户;

第二预创建模块,用于利用超级用户的用户认证信息以及代理服务器地址标识,创建所述超级用户。

说明书 :

数据库连接建立方法及装置

技术领域

[0001] 本申请属于数据处理技术领域,具体地说,涉及一种数据库连接建立方法及装置。

背景技术

[0002] 数据库管理系统用于建立、使用和维护数据库,对数据库进行统一的管理和控制,用户通过数据库管理系统实现对数据库的访问。
[0003] 用户通过数据库管理系统对数据库的访问,需要连接到数据库管理系统中,数据库连接也即是指与数据库管理系统的连接。数据库管理系统首先需要进行用户认证,用户认证是指按照数据库管理系统协议,客户端提供用户认证信息,主要包括用户名和密码,实现用户连接到数据库管理系统的过程。
[0004] 为了保证连接安全性,在现有的一种数据库连接建立方式中,用户认证过程,不仅需要提供用户认证信息,还需要提供客户端的唯一地址标识,使得利用用户认证信息和客户端地址标识在数据库管理系统创建用户之后,只能允许该地址标识的客户端连接到数据库管理系统。
[0005] 在上述现有的这种数据库连接方式中,是通过客户端直接连接到数据库管理系统中,但是为了方便对连接进行管理和控制,现有技术中还提供了一种通过代理服务器(Proxy)实现数据库连接建立的方式,也即客户端首先连接到代理服务器,将用户认证信息发送至代理服务器,代理服务器再将用户认证信息转发至数据库管理系统,以建立与数据库管理系统的连接,但是这种数据库连接方式,无法实现客户端地址标识的认证,导致安全性较低,因为如果采用这种数据库连接建立方式,代理服务器需要和数据库管理系统连接,而代理服务器的地址标识和客户端的地址标识可能是不一样的,用户认证就会失败。

发明内容

[0006] 有鉴于此,本申请所要解决的技术问题是提供了一种数据库连接建立方法及装置,既保证了连接的安全性,同时方便了连接的管理和控制。
[0007] 为了解决上述技术问题,本申请公开了一种数据库连接建立方法,包括:
[0008] 代理服务器利用超级用户的用户认证信息以及所述代理服务器的地址标识,在数据库管理系统中进行认证,建立与所述数据库管理系统的超级用户连接;
[0009] 将客户端发送的普通用户的用户认证信息以及所述客户端的待认证地址标识,通过所述超级用户连接转发至所述数据库管理系统;
[0010] 触发所述数据库管理系统,在所述普通用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。
[0011] 优选地,所述数据库管理系统包括主库和备库,所述代理服务器利用超级用户的用户认证信息以及所述代理服务器的地址标识,在数据库管理系统中进行认证,建立与所述数据库管理系统的超级用户连接包括:
[0012] 代理服务器利用超级用户的用户认证信息以及所述代理服务器的地址标识,在主库中进行认证,建立与所述主库的超级用户连接。
[0013] 优选地,在将所述超级用户的权限转换为普通用户的权限,使得所述超级用户连接转换为普通用户连接之后,所述方法还包括:
[0014] 在所述主库异常时,利用所述超级用户的用户认证信息,以及所述代理服务器的地址标识在所述备库中进行认证,建立与所述备库的超级用户连接;
[0015] 触发所述备库将与所述备库连接的所述超级用户的权限转换为所述普通用户的权限,使得与所述备库建立的超级用户连接转换为普通用户连接。
[0016] 优选地,所述超级用户为所述数据库管理系统建立时,利用超级用户的用户认证信息以及所述代理服务器的地址标识预先创建的。
[0017] 一种数据库连接建立方法,包括:
[0018] 数据库管理系统对代理服务器发送的超级用户的用户认证信息,以及所述代理服务器的地址标识进行认证;
[0019] 在所述超级用户认证通过之后,建立与所述代理服务器的超级用户连接;
[0020] 对所述代理服务器通过所述超级用户连接发送的普通用户的用户认证信息以及待认证地址标识进行认证;
[0021] 根据所述代理服务器的触发命令,在所述普通用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。
[0022] 一种数据库连接建立装置,包括:
[0023] 第一连接模块,用于利用超级用户的用户认证信息,以及代理服务器的地址标识在数据库管理系统中进行认证,建立所述代理服务器与所述数据库管理系统的超级用户连接;
[0024] 转发模块,用于将客户端发送的普通用户的用户认证信息以及所述客户端的待认证地址标识,通过所述超级用户连接转发至所述数据库管理系统;
[0025] 第一转换模块,用于触发所述数据库管理系统,在所述普通用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。
[0026] 优选地,所述数据库管理系统包括主库和备库,所述第一连接模块具体用于:
[0027] 利用超级用户的用户认证信息以及代理服务器的地址标识,在数据库管理系统的主库中进行认证,建立所述代理服务器与所述数据库管理系统的主库的超级用户连接。
[0028] 优选地,还包括:
[0029] 第二连接模块,用于在所述主库异常时,利用所述超级用户的用户认证信息,以及所述代理服务器的地址标识在所述数据库管理系统的备库中进行认证,建立所述代理服务器与所述备库的超级用户连接;
[0030] 第二转换模块,用于触发所述备库将与所述备库连接的所述超级用户的权限转换为所述普通用户的权限,使得与所述备库建立的超级用户连接转换为普通用户连接。
[0031] 一种数据库连接建立装置,包括:
[0032] 第一认证模块,用于对代理服务器发送的超级用户的用户认证信息,以及所述代理服务器的地址标识进行认证;
[0033] 第三连接模块,用于在所述超级用户认证通过之后,建立与所述代理服务器的超级用户连接;
[0034] 第二认证模块,用于对所述代理服务器通过所述超级用户连接发送的普通用户的用户认证信息以及待认证地址标识进行认证;
[0035] 第四连接模块,用于根据所述代理服务器的触发命令,在所述普通该用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。
[0036] 优选地,还包括:
[0037] 第一预创建模块,用于利用普通用户的用户认证信息以及普通用户的客户端地址标识,创建所述普通用户;
[0038] 第二预创建模块,用于利用超级用户的用户认证信息以及代理服务器地址标识,创建所述超级用户。
[0039] 与现有技术相比,本申请可以获得包括以下技术效果:
[0040] 首先建立代理服务器与数据库管理系统的超级用户连接,利用该超级用户的连接将普通用户的用户认证信息以及待认证地址标识转发至数据库管理系统,从而数据库管理系统可以据此对普通用户进行认证,由于待认证地址标识为普通用户的客户端提供的,因此普通用户在已创建的前提,即可以认证通过。认证通过之后,数据库管理系统可以将超级用户进行降权,将其转换为普通用户的权限,使得与数据库管理系统的超级用户连接即变为普通用户连接,从而实现了普通用户通过代理服务器实现的数据库连接,即可以进行数据库访问。本申请实施例既方便了对连接的管理和控制,同时还保证了连接的安全性。
[0041] 当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。

附图说明

[0042] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0043] 图1是本申请实施例的一种数据库连接建立方法一个实施例的流程图;
[0044] 图2是本申请实施例的一种数据库连接建立方法又一个实施例的流程图;
[0045] 图3是本申请实施例的一种数据库连接建立方法又一个实施例的流程图;
[0046] 图4是本申请实施例的一种数据库连接建立装置一个实施例的结构示意图;
[0047] 图5是本申请实施例的一种数据库连接建立装置又一个实施例的结构示意图;
[0048] 图6是本申请实施例的一种数据库连接建立装置又一个实施例的结构示意图;
[0049] 图7是本申请实施例的一种数据库连接建立系统一个实施例的结构示意图;
[0050] 图8是本申请实施例的一种数据库连接建立系统又一个实施例的结构示意图。

具体实施方式

[0051] 以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
[0052] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0053] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0054] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0055] 图1为本申请实施例提供的一种数据库连接建立方法一个实施例的流程图,该方法可以包括以下几个步骤:
[0056] 101:代理服务器利用超级用户的用户认证信息以及所述代理服务器的地址标识,在数据库管理系统中进行认证,建立与数据库管理系统的超级用户连接。
[0057] 102:将客户端发送的普通用户的用户认证信息以及所述客户端的待认证地址标识,通过所述超级用户连接转发至数据库管理系统。
[0058] 103:触发所述数据库管理系统,在所述普通用户认证通过之后,将所述超级用户的权限转换为普通用户的权限,使得所述超级用户连接转换为普通用户连接。
[0059] 其中,用户认证信息可以包括用户名和密码。
[0060] 超级用户(Superuser)是一种用于进行系统管理的特殊用户,相比普通用户来说,拥有最高权限,能够进行全系统的配置、维护等工作,做很多普通用户没有权限做的事情;而普通用户的权限一般是超级用户的子集,只具备其部分权限。
[0061] 本申请实施例基于客户端、代理服务器以及数据库管理系统的系统架构实现,客户端与代理服务器建立连接,通过代理服务器转发认证信息,实现与数据库管理系统的连接。通过代理服务器,流量均经由代理服务器,可以方便实现流量控制、转发、读写控制等连接管理和控制操作。
[0062] 本申请实施例中的待认证地址标识也即是指客户端的地址标识,客户端可以利用自身的地址标识在数据库管理系统中请求创建用户,从而使得只有具有该地址标识的该客户端创建的用户才可以认证通过。
[0063] 超级用户是在数据库管理系统建立时,即创建的,利用超级用户的用户认证信息以及代理服务器的地址标识预先创建,由于超级用户为高权限用户,代理服务器可以获得其用户认证信息,因此使得只有代理服务器能够与数据库管理系统建立超级用户连接。
[0064] 代理服务器可以利用超级用户的用户认证信息进行认证,数据库管理系统在确定超级用户的用户认证信息与存储超级用户的用户认证信息匹配,且发送认证请求的代理服务器的地址标识与存储的超级用户的地址标识匹配,超级用户级即认证通过,从而代理服务器可以与数据库管理系统建立超级用户连接。
[0065] 而普通用户是由客户端,利用普通用户的用户认证信息以及客户端的地址标识,请求数据库管理系统创建的,因此只允许具有客户端地址标识的设备与数据库管理系统的普通用户连接。
[0066] 在现有技术中,客户端在数据库管理系统创建的普通用户,由于客户端的地址标识与代理服务器的标识可能不一致,在通过代理服务器实现数据库连接建立的方式中,会导致用户认证失败。因为代理服务器需要先与数据库管理系统建立连接,将用户认证信息转发至数据库管理系统,数据库管理系统即会获知代理服务器的地址标识,其与创建时的客户端的地址标识不一致,即会导致用户认证失败,代理服务器也无法连接到数据库管理系统。
[0067] 因此,为了方便对连接的管理和控制,同时保证安全性,本申请实施例中,可以首先建立代理服务器与数据库管理系统的超级用户连接,对普通用户的认证请求,在代理服务器与数据库管理系统建立超级用户连接之后,可以将普通用户的用户认证信息以及待认证地址标识转发至数据库管理系统,从而数据库管理系统可以获得普通用户的用户认证信息以及待认证地址标识,从而可以据此对普通用户进行认证,由于待认证地址标识为普通用户的客户端提供的,因此普通用户在已创建的前提,即可以认证通过。认证通过之后,数据库管理系统可以将超级用户进行降权,将其转换为普通用户的权限,从而代理服务器与数据库管理系统的超级用户连接即变为普通用户连接,从而实现了普通用户通过代理服务器实现数据库连接,即可以进行数据库访问。
[0068] 在一个实际应用中,该数据库管理系统可以具体为关系型数据库管理系统,例如MySQL。
[0069] 在MySQL中,超级用户的创建,举例说明,可以采用如下命令格式:
[0070] Grant select on test.*to my_user@’192.168.0.2’identified by‘my_pass’[0071] 其中,192.168.0.2即为代理服务器的地址标识。my_user为用户名,my_pass为用户密码。
[0072] 由于超级用户为高权限用户,代理服务器可以获得my_user以及my_pass,利用my_user以及my_pass进行认证,由于超级用户的创建地址为192.168.0.2,因此代理服务器提供的my_user以及my_pass即会认证通过,从而可以建立与数据库管理系统的超级用户连接。
[0073] 其中,超级用户连接的建立可以是在代理服务器接收到普通用户的认证请求,即获得普通用户的用户认证信息以及待认证地址标识之后建立的,也可以在获得普通用户的用户认证信息以及待认证地址标识之前建立,本申请对此并进行限制。在超级用户连接建立之后,代理服务器再通过该超级用户连接,将普通用户的用户认证信息以及待认证地址标识转发至数据库管理系统。
[0074] 其中,普通用户的用户认证信息以及待认证地址标识可以携带在触发命令中,该触发命令即用于触发所述数据库管理系统,在所述普通用户认证通过之后,将所述超级用户的权限转换为普通用户的权限。从而即解决了用户认证问题。
[0075] 另外,地址标识具有唯一性,一种可能的实现方式,该地址标识可以为IP地址(Internet Protocol Address)。
[0076] 在实际应用中,数据库管理系统通常采用主库和备库的部署结构,以便于在主库异常时,可以切换至备库。
[0077] 用户在认证时,代理服务器的连接均是建立的与主库的连接。
[0078] 但是在主库和备库切换时,代理服务器需要先断开与主库的连接,再连接至备库,客户端即会感知到代理服务器与数据库管理系统连接中断的异常。
[0079] 因此,在保证安全性以及方便对连接的管理和控制的前提下,为了避免连接中断的情况,作为又一个实施例,如图2所示,本申请实施例提供的数据库连接建立方法中,可以包括以下几个步骤:
[0080] 201:代理服务器利用超级用户的用户认证信息,以及所述代理服务器的地址标识在数据库管理系统的主库中进行认证,建立与数据库管理系统的主库的超级用户连接。
[0081] 202:将普通用户的用户认证信息以及待认证地址标识,通过所述超级用户连接转发至所述主库。
[0082] 203:触发所述主库,在所述普通用户认证通过之后,将所述超级用户的权限转换为普通用户的权限,使得所述超级用户连接转换为普通用户连接。
[0083] 204:在所述主库异常时,利用所述超级用户的用户认证信息,以及所述代理服务器的地址标识在所述数据库管理系统的备库中进行认证,建立与所述备库的超级用户连接。
[0084] 205:触发所述备库将与所述备库连接的所述超级用户的权限转换为所述普通用户的权限,使得与所述备库建立的超级户连接转换为普通用户连接。
[0085] 本申请实施例中,在主库异常时,代理服务器首先与备库建立一个超级用户连接,然后再将该超级用户的权限转换为普通用户的权限,超级用户的连接即变为普通用户的连接,然后可以再切断与主库的连接,使得代理服务器可以无缝切换到备库上,让用户感知不到切换,即可以避免连接闪断的问题。从而用户在通过代理服务器成功、安全的与数据库管理系统的主库建立连接之后,还可以在主库异常时,无缝切换至备库,避免了连接中断的问题,降低了对用户造成的影响。
[0086] 图3为本申请实施例提供的一种数据库连接建立方法又一个实施例的流程图,该方法可以包括以下几个步骤:
[0087] 301:数据库管理系统对代理服务器发送的超级用户的用户认证信息,以及所述代理服务器的地址标识进行认证。
[0088] 302:在所述超级用户认证通过之后,建立与所述代理服务器的超级用户连接。
[0089] 303:对所述代理服务器通过所述超级用户连接发送的普通用户的用户认证信息以及待认证地址标识进行认证。
[0090] 304:根据所述代理服务器的触发命令,在所述普通该用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。
[0091] 其中,待认证地址标识为与代理服务器连接的提供普通用户的用户认证信息的客户端的地址标识,其具有唯一性,可以为IP地址。
[0092] 超级用户为利用代理服务器的地址标识创建的,为高权限用户,代理服务器可以获知超级用户的用户认证信息。
[0093] 其中,普通用户的用户认证信息以及待认证地址标识可以携带在触发命令中,通过将超级用户降权为普通用户的权限,使得超级用户连接即变为普通用户连接。
[0094] 本申请实施例既保证了数据库的安全性,同时方便了连接的管理和控制。
[0095] 图4为本申请实施例提供的一种数据库连接建立装置一个实施例的结构示意图,该装置具体应用于代理服务器中。
[0096] 该装置可以包括:
[0097] 第一连接模块401,用于利用超级用户的用户认证信息,以及代理服务器的地址标识在数据库管理系统中进行认证,建立所述代理服务器与所述数据库管理系统的超级用户连接。
[0098] 认证成功之后,即与数据库管理系统建立了连接。
[0099] 转发模块402,用于将普通用户的用户认证信息以及待认证地址标识,通过所述超级用户连接转发至数据库管理系统;
[0100] 第一转换模块403,用于触发所述数据库管理系统,在所述普通用户认证通过之后,将所述超级用户的权限转换为普通用户的权限,使得所述超级用户连接转换为普通用户连接。
[0101] 其中,用户认证信息可以包括用户名和密码。
[0102] 本申请实施例中,可以首先建立代理服务器与数据库管理系统的超级用户连接,对普通用户的认证请求,在代理服务器与数据库管理系统建立超级用户连接之后,可以将普通用户的用户认证信息以及待认证地址标识通过该超级用户连接转发至数据库管理系统,从而数据库管理系统可以获得普通用户的用户认证信息以及待认证地址标识,从而可以据此对普通用户进行认证,由于待认证地址标识为普通用户的客户端提供的,因此普通用户在已创建的前提,即可以认证通过。认证通过之后,数据库管理系统可以将超级用户进行降权,将其转换为普通用户的权限,从而与数据库管理系统的超级用户连接即变为普通用户连接,从而实现了普通用户通过代理服务器实现数据库连接,即可以进行数据库访问。本申请实施例既方便了连接的管理和控制,同时保证了安全性。
[0103] 超级用户是在数据库管理系统建立时,利用超级用户的用户认证信息以及代理服务器的地址标识创建的,由于超级用户为高权限用户,代理服务器可以获得其用户认证信息,因此使得只有代理服务器能够与数据库管理系统建立超级用户连接。
[0104] 其中,普通用户的用户认证信息以及待认证地址标识可以携带在触发命令中,该触发命令即用于触发所述数据库管理系统,在所述普通用户认证通过之后,将所述超级用户的权限转换为普通用户的权限。从而即解决了用户认证问题。
[0105] 另外,地址标识具有唯一性,一种可能的实现方式,该地址标识可以为IP地址。
[0106] 在实际应用中,数据库管理系统通常采用主库和备库的部署结构,以便于在主库异常时,可以切换至备库。
[0107] 因此在数据库管理系统包括主库和备库,所述第一连接模块可以具体用于:
[0108] 利用超级用户的用户认证信息,以及代理服务器的地址标识在数据库管理系统的主库中进行认证,建立与所述数据库管理系统的主库的超级用户连接。
[0109] 为了避免连接中断的情况,如图5所示,为本申请实施例提供的一种数据库连接建立装置又一个实施例的结构示意图,该装置可以包括:
[0110] 第一连接模块501,用于利用超级用户的用户认证信息,以及代理服务器的地址标识在数据库管理系统的主库中进行认证,建立与所述数据库管理系统的主库的超级用户连接;
[0111] 转发模块502,用于将普通用户的用户认证信息以及待认证地址标识,通过所述超级用户连接转发至所述主库;
[0112] 第一转换模块503,用于触发所述主库,在所述普通用户认证通过之后,将所述超级用户的权限转换为普通用户的权限,使得所述超级用户连接转换为普通用户连接。
[0113] 第二连接模块504,用于在所述主库异常时,利用所述超级用户的用户认证信息,以及所述代理服务器的地址标识在所述数据库管理系统的备库中进行认证,建立与所述备库的超级用户连接.
[0114] 第二转换模块505,用于触发所述备库将与所述备库连接的所述超级用户的权限转换为所述普通用户的权限,使得与所述备库建立的超级用户连接转换为普通用户连接。
[0115] 本申请实施例中,在主库异常时,代理服务器首先与备库建立一个超级用户连接,然后再将该超级用户的权限转换为普通用户的权限,超级用户的连接即变为普通用户的连接,然后可以再切断与主库的连接,使得代理服务器可以无缝切换到备库上,让用户感知不到切换,即可以避免闪断的问题。从而用户在通过代理服务器成功、安全的与数据库管理系统的主库建立连接之后,还可以在主库异常时,无缝切换至备库,避免了连接中断的问题,降低了对用户造成的影响。
[0116] 图6为本申请实施例提供的一种数据库连接建立装置又一个实施例的结构示意图,该装置具体应用于数据库管理系统中,可以包括:
[0117] 第一认证模块601,用于对代理服务器发送的超级用户的用户认证信息,以及所述代理服务器的地址标识进行认证;
[0118] 第三连接模块602,用于在所述超级用户认证通过之后,建立与所述代理服务器的超级用户连接;
[0119] 第二认证模块603,用于对所述代理服务器通过所述超级用户连接发送的普通用户的用户认证信息以及待认证地址标识进行认证;
[0120] 第四连接模块604,用于根据所述代理服务器的触发命令,在所述普通该用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。
[0121] 其中,待认证地址标识为与代理服务器连接的提供普通用户的用户认证信息的客户端的地址标识,其具有唯一性,可以为IP地址。
[0122] 超级用户为利用代理服务器的地址标识创建的,为高权限用户,代理服务器可以获知超级用户的用户认证信息。
[0123] 其中,普通用户的用户认证信息以及待认证地址标识可以携带在触发命令中,通过将超级用户降权为普通用户的权限,使得超级用户连接即变为普通用户连接。
[0124] 数据库管理系统需要预先创建超级用户以及普通用户,超级用户以及普通用户才能进行认证。
[0125] 因此该装置还可以包括:
[0126] 第一预创建模块,用于利用普通用户的用户认证信息以及普通用户的客户端地址标识,创建所述普通用户;
[0127] 第二预创建模块,用于利用超级用户的用户认证信息以及代理服务器地址标识,创建所述超级用户。
[0128] 其中,第二预创建模块在所述数据库管理系统建立时,即创建出超级用户。第一预创建模块可以是在存在普通用户创建请求时,再创建普通用户。
[0129] 本申请实施例既保证了数据库的安全性,同时方便了连接的管理和控制。
[0130] 此外,本申请实施例还提供了一种数据库连接建立系统,如图7所示,该系统可以包括客户端701、代理服务器702以及数据库管理系统703。
[0131] 所述客户端701,用于将普通用户的用户认证信息发送至所述代理服务器702。
[0132] 所述代理服务器702,用于利用超级用户的用户认证信息以及所述代理服务器的地址标识,在数据库管理系统中进行认证,建立与所述数据库管理系统的超级用户连接;将所述客户端701发送的普通用户的用户认证信息以及所述客户端701的地址标识发送至所述数据库管理系统703;触发所述数据库管理系统703,在所述普通用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。
[0133] 所述数据库管理系统703,用于对代理服务器702发送的超级用户的用户认证信息,以及所述代理服务器702的地址标识进行认证;在所述超级用户认证通过之后,建立与所述代理服务器702的超级用户连接;对所述代理服务器702通过所述超级用户连接发送的普通用户的用户认证信息以及待认证地址标识进行认证;根据所述代理服务器702的触发命令,在所述普通用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。
[0134] 作为又一个实施例,如图8所示,所述数据库管理系统703可以包括主库801和备库802。
[0135] 代理服务器702具体是利用超级用户的用户认证信息以及所述代理服务器702的地址标识,在主库801中进行认证,建立与所述主库801的超级用户连接;将所述客户端701发送的普通用户的用户认证信息以及所述客户端701的地址标识发送至所述主库801;触发所述主库801,在所述普通用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接;
[0136] 在所述主库801异常时,利用所述超级用户的用户认证信息,以及所述代理服务器的地址标识在所述备库802中进行认证,建立与所述备库801的超级用户连接;触发所述备库801将与所述备库连接的所述超级用户的权限转换为所述普通用户的权限,使得与所述备库建立的超级用户连接转换为普通用户连接。
[0137] 所述数据库管理系统中的主库801,用于对代理服务器702发送的超级用户的用户认证信息,以及所述代理服务器702的地址标识进行认证;在所述超级用户认证通过之后,建立与所述代理服务器702的超级用户连接;对所述代理服务器702通过所述超级用户连接发送的普通用户的用户认证信息以及待认证地址标识进行认证;根据所述代理服务器702的触发命令,在所述普通用户认证通过之后,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接;
[0138] 所述数据库管理系统中的备库802,用于对代理服务器702发送的超级用户的用户认证信息,以及所述代理服务器702的地址标识进行认证;在所述超级用户认证通过之后,建立与所述代理服务器702的超级用户连接;根据所述代理服务器702的触发命令,将所述超级用户的权限转换为所述普通用户的权限,使得所述超级用户连接转换为普通用户连接。
[0139] 本申请实施例既保证了数据库的安全性,同时方便了连接的管理和控制,还避免了主备库切换导致用户连接中断的问题。
[0140] 如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
[0141] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
[0142] 上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。