一种连接数据库的方法、装置、系统、设备和存储介质与流程

文档序号:16882325发布日期:2019-02-15 22:17阅读:145来源:国知局
一种连接数据库的方法、装置、系统、设备和存储介质与流程

本公开一般涉及计算机技术领域,尤其涉及一种连接数据库的方法、装置、系统、设备和存储介质。



背景技术:

数据库信息无论对于个人还是企业都是非常之重要,对其安全性的要求也非常高。在目前的开发过程中,数据库账号信息(比如用户名和密码等)存在很大不足之处:

数据库账号信息在数据库的开发人员和业务运维人员中是共享的,而且数据库账号信息一般也不会经常修改,因此难以保证数据库的安全性,尤其针对离职的工作人员或者外包人员,更是存在泄漏密码的风险,没有安全保障。



技术实现要素:

鉴于现有技术中的上述缺陷或不足,期望提供一种能够提高数据库安全性的方案。

第一方面,本申请实施例提供了一种连接数据库的方法,包括:

用户使用客户端连接数据库时,向托管平台发送用于请求数据库账号信息的托管账号标识;所述托管账号标识是所述托管平台为所述用户分配的;

接收所述托管平台发送的与所述托管账号标识对应的数据库账号信息;

基于所述数据库账号信息,连接所述数据库。

可选的,所述方法还包括:

所述客户端与所述数据库处于连接状态时,从所述托管平台获取更新后的数据库账号信息;

当所述客户端与所述数据库建立新的连接时,基于所述更新后的数据库账号信息,连接所述数据库。

可选的,从所述托管平台获取更新后的数据库账号信息,包括:

按照预设周期,或者当接收到所述托管平台发送的数据库账号信息的更新消息时,向所述托管平台发送用于获取更新后的数据库账号信息的请求消息,以获取所述更新后的数据库账号信息。

可选的,从所述托管平台获取更新后的数据库账号信息之后,所述方法还包括:

基于更新后的数据库账号信息,对所述数据库进行连接校验;

当所述连接校验失败时,向所述托管平台发送用于表征所述更新后的数据库账号信息错误的通知信息。

可选的,所述方法还包括:

当所述连接校验成功时,利用所述更新后的数据库账号信息,对存储在所述客户端的本地文件中的数据库账号信息进行更新。

可选的,所述方法还包括:

将所述数据库账号信息以加密的方式存储在本地文件中。

第二方面,本申请实施例提供了一种连接数据库的方法,包括:

托管平台接收客户端发送的用于请求数据库账号信息的托管账号标识;

从预先存储的托管账号标识与数据库账号信息的对应关系中,确定所述托管账号标识对应的数据库账号信息;

将所述数据库账号信息反馈给所述客户端,以便所述客户端基于所述数据库账号信息,连接所述数据库。

可选的,所述托管平台接收所述托管账号标识之前,所述方法还包括:

获取对所述数据库具有不同使用权限的数据库账号信息;

为每个用户分配托管账号标识;

根据每个所述用户对所述数据库的使用权限,将每个所述用户的托管账号标识和其使用权限对应的数据库账号信息之间建立对应关系,并存储。

可选的,所述方法还包括:

获取更新后的数据库账号信息;

向连接所述数据库的客户端发送用于提示所述客户端所述数据库账号信息更新的更新消息。

第三方面,本申请实施例提供了一种连接数据库的方法,包括:

用户使用客户端连接数据库时,向托管平台发送用于请求数据库账号信息的托管账号标识;所述托管账号标识是所述托管平台为所述用户分配的;

所述托管平台接收所述托管账号标识,从预先存储的托管账号标识与数据库账号信息的对应关系中,确定所述托管账号标识对应的数据库账号信息,并将所述数据库账号信息反馈给所述客户端;

所述客户端基于所述数据库账号信息,连接所述数据库。

第四方面,本申请实施例提供了一种连接数据库的装置,所述装置应用在客户端中,所述装置包括:

托管账号标识发送单元,用于用户使用客户端连接数据库时,向托管平台发送用于请求数据库账号信息的托管账号标识;所述托管账号标识是所述托管平台为所述用户分配的;

数据库账号信息接收单元,用于接收所述托管平台发送的与所述托管账号标识对应的数据库账号信息;

连接单元,用于基于所述数据库账号信息,连接所述数据库。

第五方面,本申请实施例提供了一种连接数据库的装置,所述装置应用在托管平台中,所述装置包括:

托管账号标识接收单元,用于接收客户端发送的用于请求数据库账号信息的托管账号标识;

数据库账号信息确定单元,用于从预先存储的托管账号标识与数据库账号信息的对应关系中,确定所述托管账号标识对应的数据库账号信息;

数据库账号信息反馈单元,用于将所述数据库账号信息反馈给所述客户端,以便所述客户端基于所述数据库账号信息,连接所述数据库。

第六方面,本申请实施例提供了一种连接数据库的系统,所述系统包括:服务器、客户端和托管平台,其中:

所述客户端,用于用户使用所述客户端连接所述数据库时,向托管平台发送用于请求数据库账号信息的托管账号标识;所述托管账号标识是所述托管平台为所述用户分配的;并基于所述数据库账号信息,连接所述数据库;

所述托管平台,用于接收所述托管账号标识,从预先存储的托管账号标识与数据库账号信息的对应关系中,确定所述托管账号标识对应的数据库账号信息,并将所述数据库账号信息反馈给所述客户端。

第七方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一所述的连接数据库的方法。

第八方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于:

所述计算机程序被处理器执行时实现如上述任一所述的连接数据库的方法。

本申请实施例提供的连接数据库的方案,客户端需要连接数据库时,通过向托管平台发送用于请求数据库账号信息的托管账号标识,并基于托管平台发送的与托管账号标识对应的数据库账号信息连接数据库。本技术方案中,客户端接收到的数据库账号信息只存储在客户端的后台,使用客户端的用户并不能得知具体的数据库账号信息,从而不存在数据库账号信息泄漏的风险,提高了数据库的安全性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为本申请实施例提供的一种连接数据库的方法的示例性流程图;

图2为本申请实施例提供的又一种连接数据库的方法的示例性流程图;

图3为本申请实施例提供的又一种连接数据库的方法的示例性流程图;

图4为本申请实施例提供的一种连接数据库的装置的示例性结构框图;

图5为本申请实施例提供的一种连接数据库的装置的示例性结构框图;

图6为本申请实施例提供的一种连接数据库的系统的示例性结构框图;

图7为适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

如背景技术中所提到的,现有技术中数据库账号信息在数据库的开发人员和业务运维人员中是共享的,而且数据库账号信息一般也不会经常修改,因此难以保证数据库的安全性,尤其针对离职的工作人员或者外包人员,更是存在泄漏密码的风险,没有安全保障。

鉴于现有技术的上述缺陷,本申请实施例提供了一种连接数据库的方案。客户端需要连接数据库时,通过向托管平台发送用于请求数据库账号信息的托管账号标识,并基于托管平台发送的与托管账号标识对应的数据库账号信息连接数据库。本技术方案与现有技术相比,增加托管平台,由托管平台对数据库账号信息进行统一管理,客户端接收到的数据库账号信息只存储在客户端的后台,使用客户端的用户并不能得知具体的数据库账号信息,从而不存在数据库账号信息泄漏的风险,提高了数据库的安全性。

下面将参考附图并结合实施例来详细说明本申请。

请参考图1,为本申请实施例提供的一种连接数据库的方法的示例性流程图。该方法应用于需要连接数据库的客户端中,包括如下步骤:

步骤11,用户使用客户端连接数据库时,向托管平台发送用于请求数据库账号信息的托管账号标识;该托管账号标识是托管平台为该用户分配的。

本申请实施例中,用户并不知道数据库的数据库账号信息,而是由托管平台为该用户分配一个托管账号标识,作为用于请求数据库账号信息的凭证。当用户需要连接数据库时,在客户端中输入托管账号标识,然后客户端会将该托管账号标识发送给托管平台,托管平台再根据托管账号标识反馈相应的数据库账号信息。

步骤12,接收托管平台发送的与托管账号标识对应的数据库账号信息。

本申请实施例中,从托管平台接收的数据库账号信息并不会显示给用户,而是以加密的方式存储在客户端的本地文件中。当应用重启需要连接数据库时,首先从托管平台获取数据库账号信息,如果平台挂机或者服务不可用,将从客户端的本地文件获取数据库账号信息,从而达到不强依赖托管平台保证应用正常连接数据库达到灾备的作用,而用户无法得知数据库的数据库账号信息,数据库的安全性得以保障。

另外,由于数据库账号信息是以加密的方式进行存储的,因此即使有人想窃取存储在本地文件中的数据库账号信息,其也不会被轻易破解,更进一步加强了数据库的安全性。

步骤13,基于接收的数据库账号信息,连接数据库。

本技术方案中,数据库账号信息对于用户来说是透明的,解决了数据库账号信息泄露问题,提高了数据库的安全性。

进一步的,该方法还可以包括:

首先,客户端与数据库处于连接状态时,从托管平台获取更新后的数据库账号信息。

具体的,客户端可以按照预设周期,或者当接收到托管平台发送的数据库账号信息的更新消息时,向托管平台发送用于获取更新后的数据库账号信息的请求消息,以获取更新后的数据库账号信息。

然后,当客户端与数据库建立新的连接时,基于所述更新后的数据库账号信息,连接所述数据库。也就是说,原有数据库连接池内的可用连接不受影响,只有需要创建全新数据库连接时才基于更新后的数据库账号信息,连接数据库。

本申请实施例中,客户端与数据库连接成功之后,在客户端访问数据库的过程中,如果数据库的管理员对数据库账号信息进行了更新,也不会对客户端和数据库的连接状态有影响,客户端无需重启,只需要在有新的连接时使用更新后的数据库账号信息连接即可。

进一步的,从托管平台获取更新后的数据库账号信息之后,本申请实施例还可以包括:

基于更新后的数据库账号信息,对数据库进行连接校验;

当连接校验失败时,向托管平台发送用于表征更新后的数据库账号信息错误的通知信息;

当连接校验成功时,利用更新后的数据库账号信息,对存储在客户端本地文件中的数据库账号信息进行更新。

请参考图2,为本申请实施例提供的又一种连接数据库的方法的示例性流程图。该方法应用于托管平台中,包括如下步骤:

步骤21,托管平台接收客户端发送的用于请求数据库账号信息的托管账号标识。

其中,托管账号标识是托管平台为使用客户端的用户预先分配的。

具体分配过程如下:

托管平台首先获取对数据库具有不同使用权限的数据库账号信息,比如数据库账号信息a对数据库的使用权限为a,数据库账号信息b对应数据库的使用权限为b。

其中,对数据库具有不同使用权限的数据库账号信息可以是由数据库的管理员主动输入的。

然后为每个用户分配托管账号标识。比如为用户001托管账号标识x。

最后,根据每个用户对数据库的使用权限,将每个用户的托管账号标识和其使用权限对应的数据库账号信息之间建立对应关系,并存储。比如,用户001的使用权限为a,则将其托管账号标识x和其使用权限a对应的数据库账号信息a之间建立对应关系,即x—a。

步骤22,从预先存储的托管账号标识与数据库账号信息的对应关系中,确定托管账号标识对应的数据库账号信息。

步骤23,将数据库账号信息反馈给客户端,以便客户端基于数据库账号信息连接数据库。

进一步的,当数据库管理员主动更改了之前输入的数据库账号信息时,该方法还可以包括:

获取更新后的数据库账号信息;

向连接数据库的客户端发送用于提示客户端数据库账号信息更新的更新消息,以便连接数据库的客户端可以从托管平台获取更新后的数据库账号信息。

进一步参考图3,为本申请实施例提供的又一种连接数据库的方法的示例性流程图。该方法包括:

步骤31,用户使用客户端连接数据库时,向托管平台发送用于请求数据库账号信息的托管账号标识;该托管账号标识是托管平台为用户分配的。

步骤32,托管平台接收托管账号标识,从预先存储的托管账号标识与数据库账号信息的对应关系中,确定托管账号标识对应的数据库账号信息,并将数据库账号信息反馈给客户端。

步骤33,客户端基于数据库账号信息,连接数据库。

应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

进一步参考图4,其示出了本申请实施例提供的一种连接数据库的装置的示例性结构框图。该装置应用于连接数据库的客户端中,包括如下部分:

托管账号标识发送单元41,用于用户使用客户端连接数据库时,向托管平台发送用于请求数据库账号信息的托管账号标识;所述托管账号标识是所述托管平台为所述用户分配的;

数据库账号信息接收单元42,用于接收所述托管平台发送的与所述托管账号标识对应的数据库账号信息;

连接单元43,用于基于所述数据库账号信息,连接所述数据库。

可选的,该装置还可以包括:

更新获取单元,用于所述客户端与所述数据库处于连接状态时,从所述托管平台获取更新后的数据库账号信息;

再连接单元,用于当所述客户端需要再次连接所述数据库时,基于所述更新后的数据库账号信息,连接所述数据库。

可选的,所述更新单元,具体用于:

按照预设周期,或者当接收到所述托管平台发送的数据库账号信息的更新消息时,向所述托管平台发送用于获取更新后的数据库账号信息的请求消息,以获取所述更新后的数据库账号信息。

可选的,所述装置还可以包括:

校验单元,用于基于更新后的数据库账号信息,对所述数据库进行连接校验;

通知消息发送单元,用于当所述连接校验失败时,向所述托管平台发送用于表征所述更新后的数据库账号信息错误的通知信息。

可选的,所述装置还可以包括:

更新单元,用于当所述连接校验成功时,利用所述更新后的数据库账号信息,对存储在所述客户端的本地文件中的数据库账号信息进行更新。

可选的,所述装置还可以包括:

存储单元,用于将所述数据库账号信息以加密的方式存储在本地文件中。

应当理解,该装置中记载的诸单元或模块与参考图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于该装置及其中包含的单元,在此不再赘述。该装置可以预先实现在电子设备的浏览器或其他安全应用中,也可以通过下载等方式而加载到电子设备的浏览器或其安全应用中。该装置中的相应单元可以与电子设备中的单元相互配合以实现本申请实施例的方案。

进一步参考图5,其示出了本申请实施例提供的一种连接数据库的装置的示例性结构框图。该装置应用于托管平台中,包括如下部分:

托管账号标识接收单元51,用于接收客户端发送的用于请求数据库账号信息的托管账号标识;

数据库账号信息确定单元52,用于从预先存储的托管账号标识与数据库账号信息的对应关系中,确定所述托管账号标识对应的数据库账号信息;

数据库账号信息反馈单元53,用于将所述数据库账号信息反馈给所述客户端,以便所述客户端基于所述数据库账号信息,连接所述数据库。

可选的,该装置还可以包括:

数据库账号信息获取单元,用于获取对所述数据库具有不同使用权限的数据库账号信息;

托管账号标识分配单元,用于为每个用户分配托管账号标识;

对应关系存储单元,用于根据每个所述用户对所述数据库的使用权限,将每个所述用户的托管账号标识和其使用权限对应的数据库账号信息之间建立对应关系,并存储。

可选的,所述装置还可以包括:

更新发送单元,用于获取更新后的数据库账号信息;向连接所述数据库的客户端发送用于提示所述客户端所述数据库账号信息更新的更新消息。

应当理解,该装置中记载的诸单元或模块与参考图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于该装置及其中包含的单元,在此不再赘述。

进一步参考图6,其示出了本申请实施例提供的一种连接数据库的系统的示例性结构框图。该系统包括如下部分:服务器61、客户端62和托管平台63,其中:

所述客户端62,用于用户使用所述客户端62连接所述数据库61时,向托管平台63发送用于请求数据库账号信息的托管账号标识;所述托管账号标识是所述托管平台63为所述用户分配的;并基于所述数据库账号信息,连接所述数据库61;

所述托管平台63,用于接收所述托管账号标识,从预先存储的托管账号标识与数据库账号信息的对应关系中,确定所述托管账号标识对应的数据库账号信息,并将所述数据库账号信息反馈给所述客户端62。

应当理解,该系统中记载的诸单元或模块与参考图3描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于该系统及其中包含的单元,在此不再赘述。

下面参考图7,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统700的结构示意图。

如图7所示,计算机系统700包括中央处理单元(cpu)701,其可以根据存储在只读存储器(rom)702中的程序或者从存储部分708加载到随机访问存储器(ram)703中的程序而执行各种适当的动作和处理。在ram703中,还存储有系统700操作所需的各种程序和数据。cpu701、rom702以及ram703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。

以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。

特别地,根据本公开的实施例,上文参考图1-图3描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行图1-图3的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括xx单元、yy单元以及zz单元。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,xx单元还可以被描述为“用于xx的单元”。

作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本申请的公式输入方法。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1