CN104951481A - 一种管理数据库连接的方法和装置 - Google Patents
一种管理数据库连接的方法和装置 Download PDFInfo
- Publication number
- CN104951481A CN104951481A CN201410128220.2A CN201410128220A CN104951481A CN 104951481 A CN104951481 A CN 104951481A CN 201410128220 A CN201410128220 A CN 201410128220A CN 104951481 A CN104951481 A CN 104951481A
- Authority
- CN
- China
- Prior art keywords
- database
- described database
- address
- mapping table
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种管理数据库连接的方法和装置,该方法包括:从应用程序接收与业务有关的连接请求,所述连接请求包括与所述业务对应的进程标识;根据所述进程标识查找第一映射表,获取所述数据库对应的业务标识和所述数据库的地址标识;根据所述数据库的地址标识查找第二映射表,获取所述数据库的地址;根据所述数据库对应的业务标识查找第三映射表,获取所述数据库的账号和密码;向所述应用程序发送所述数据库的地址以及所述数据库的账号和密码。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种管理数据库连接的方法和装置。
背景技术
当前,连接资源采用中间件提供的连接池来管理应用程序对数据库的连接这种方法已经广泛的应用在一些大型或复杂的应用***中。应用程序经常可以通过利用连接池所具有的连接池参数配置进行数据库的连接,具体可以是应用程序和数据库在连接过程中的最大值、最小值、空闲值和初始值这些状态,应用程序对数据库进行连接的探测及断连后的重连,应用程序和数据库在连接过程中对连接进行实时监控和回收释放后的连接。
而连接池在与数据库连接的过程中通常需要数据库提供数据库服务器的IP地址、监听端口、数据库实例名以及数据库账号和密码;通常情况下,一个连接池对应应用程序对数据库的一个连接,因此随着应用***越来越庞大,***中的应用程序越来越多,从而导致应用程序在运行过程中所需要处理的数据量与日俱增,所需要的数据库实例、数据库连接也在随之增加,依赖的连接池越来越多,将导致连接池维护工作繁重,容易发生配置错误,严重影响应用程序的正常运行。
发明内容
有鉴于此,本发明实施例期望提供一种管理数据库连接的方法和装置,能够简化配置操作,降低维护工作的复杂程度。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种管理数据库连接的方法,所述方法包括:
从应用程序接收与业务有关的连接请求,所述连接请求包括与所述业务对应的进程标识;
根据所述进程标识查找第一映射表,获取所述数据库对应的业务标识和所述数据库的地址标识,所述第一映射表包括所述进程标识与所述数据库对应的业务标识和所述数据库的地址标识之间的对应关系;
根据所述数据库的地址标识查找第二映射表,获取所述数据库的地址,所述数据库的地址用于所述应用程序根据所述数据库的地址找到所述数据库,所述第二映射表包括所述数据库的地址标识与所述数据库地址之间的对应关系;
根据所述数据库对应的业务标识查找第三映射表,获取所述数据库的账号和密码,所述第三映射表包括所述数据库对应的业务标识与所述数据库的账号和密码之间的对应关系;
向所述应用程序发送所述数据库的地址以及所述数据库的账号和密码,所述数据库的地址用于所述应用程序根据所述数据库的地址找到所述数据库,所述数据库的账号和密码用于所述应用程序根据所述数据库的账号和密码与所述数据库进行连接验证。
根据第一种可能的实现方式,结合第一方面,所述数据库的账号和密码为密文状态。
根据第二种可能的实现方式,结合第一方面或者第一种可能的实现方式,所述第一映射表还包括所述进程标识与所述数据库的连接参数之间的对应关系;
相应的,除了向所述应用程序返回所述数据库的地址以及所述数据库的账号和密码之外,所述方法还包括,向所述应用程序返回所述数据库的连接参数,所述数据库的连接参数用于所述应用程序通过所述数据库的账号和密码进行连接后,依照所述数据库的连接参数对所述数据库进行状态的监控。
第二方面,本发明实施例提供了一种包含程序可读指令的计算机程序,当被载入一个或多个计算机***中,并由所述一个或多个计算机***执行时,所述程序可读指令使所述一个或多个计算机***执行按照第一方面中的任一项所述的方法。
第三方面,本发明实施例提供了一种包含计算机可读存储介质的计算机程序产品,所述计算机可读存储介质保存按照第二方面所述的计算机程序。
第四方面,本发明实施例提供了一种管理数据库连接的装置,所述装置包括:接收单元、存储单元、获取单元和响应单元,其中,所述接收单元用于,从应用程序接收与业务有关的连接请求,所述连接请求包括与所述业务对应的进程标识;
所述存储单元用于,存储第一映射表、第二映射表和第三映射表,其中,所述第一映射表包括所述进程标识与所述数据库对应的业务标识和所述数据库的地址标识之间的对应关系;所述第二映射表包括所述数据库的地址标识与所述数据库地址之间的对应关系;所述第三映射表包括所述数据库对应的业务标识与所述数据库的账号和密码之间的对应关系;
所述获取单元用于,根据所述接收单元接收的进程标识查找所述存储单元存储的第一映射表,获取所述数据库对应的业务标识和所述数据库的地址标识;
根据所述数据库的地址标识查找所述存储单元存储的第二映射表,获取所述数据库的地址;
根据所述数据库对应的业务标识查找所述存储单元存储的第三映射表,获取所述数据库的账号和密码;
所述响应单元用于,向所述应用程序发送所述数据库的地址以及所述数据库的账号和密码,所述数据库的地址用于所述应用程序根据所述数据库的地址找到所述数据库,所述数据库的账号和密码用于所述应用程序根据所述数据库的账号和密码与所述数据库进行连接验证。
根据第一种可能的实现方式,结合第四方面,所述数据库的账号和密码为密文状态。
根据第二种可能的实现方式,结合第四方面或者第一种可能的实现方式,所述第一映射表还包括所述进程标识与所述数据库的连接参数之间的对应关系;
相应的,所述响应单元还用于,向所述应用程序返回所述数据库的连接参数,所述数据库的连接参数用于所述应用程序通过所述数据库的账号和密码进行连接后,依照所述数据库的连接参数对所述数据库进行状态的监控。
本发明实施例提供了一种管理数据库连接的方法和装置,通过将数据库与进程之间通过对应关系进行绑定,简化了数据库与进程之间连接的配置操作,进一步地支持数据库账号和密码的密文处理,从而避免数据库的信息外泄,提高信息安全,进一步地还能够使RAC的调度更加均衡和灵活。
附图说明
图1为现有的应用程序与数据库进行连接的结构示意图;
图2为本发明实施例提供的一种管理数据库连接的方法流程示意图;
图3a为本发明实施例提供的一种第一映射表的示意图;
图3b为本发明实施例提供的一种第二映射表的示意图;
图3c为本发明实施例提供的一种第三映射表的示意图;
图4为本发明实施例提供的一种管理数据库连接的装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
参见图1,为应用程序与数据库进行连接的结构示意图,从中可以知道,在应用程序10和数据库20之间通过中间件提供的数据库连接池30进行连接,但是从背景技术中的描述可以发现现有的连接池技术存在很多的问题,因此本发明实施例通过对中间件提供的数据库连接池30进行改进,来避免背景技术中出现的问题。
参见图2,为本发明实施例提供的一种管理数据库连接的方法,可以通过本发明实施例所提出的中间件装置来替换应用程序10和数据库20之间的数据库连接池30,具体的,为了清楚的说明技术方案,本实施例以图1所示进行说明,但可以理解的,图1中的数据库连接池应该为本发明实施例所提出的中间件装置,所述方法可以包括:
S201、从应用程序接收与业务有关的连接请求,所述连接请求包括与所述业务对应的进程标识;
示例性的,当应用程序需要通过一个进程来处理业务1的时候,应用程序可以通过预定的程序或指令查询到业务1对应的进程1,需要说明的,业务1与进程1之间对应关系可以在应用程序的编写过程中通过进行建立,使得应用程序在运行的时候,可以通过执行预设的程序或指令来查询业务1所对应的进程1,具体在JAVA环境下,可以通过执行指令getConnection(String别名1)来获取到进程1,在这里,指令getConnection(String别名1)就属于上述预设的指令,而应用程序中指令getConnection(String别名1)的实现代码段就是上述预设的程序;可以理解的,在其他编程语言的运行环境下,也可以通过相应的编程语言实现指令getConnection(String别名1)以及实现该指令的代码段,其中,指令中的别名1可以是与业务1对应的标识;
或者,当应用程序需要通过两个或两个以上的进程来处理业务2的时候,本实施例以应用程序需要两个进程来处理业务2为例进行说明,可以理解的,应用程序需要两个以上的进程来处理业务2的时候,与两个进程来处理业务2的情况相同,在此不再赘述。应用程序也可以通过预定的程序或指令查询到业务2对应的进程2和进程3,具体的,可以通过分别执行JAVA指令getConnection(String别名2)来获取到进程2和进程3,其中,指令中的别名2可以是与业务2对应的标识;
接着,中间件装置可以从应用程序接收所述包括与业务对应的进程标识的连接请求;具体以业务1为例,连接请求可以包括与业务1对应的进程1;以业务2为例,连接请求可以包括与业务2所对应的进程2和进程3。
S202、根据所述进程标识查找第一映射表,获取所述数据库对应的业务标识和所述数据库的地址标识;
示例性的,中间件装置在接收到包括进程标识的连接请求后,可以查询预先存储在中间件装置中的第一映射表,第一映射表可以在建立中间件装置过程中根据应用程序处理的业务以及在处理业务中所需要的数据库保存在中间件装置中,可以理解的,当处理业务需要应用程序与两个以及两个以上的数据库进行连接的时候,该业务与数据库是一对多的对应关系,如图3a所示,第一映射表可以包括所述进程标识与所述数据库对应的业务标识和所述数据库的地址标识之间的对应关系;
具体的,以业务1为例,连接请求中包括了进程1,中间件装置可以通过在第一映射表中查找与进程1对应的数据库对应的业务标识以及数据库的地址标识,其中,数据库的地址标识可以理解为与数据库地址对应的一个名称,由于,数据库的地址标识的字节长度要远小于数据库的地址的长度,因此,在第一映射表中通过数据库的地址标识来代替对应的数据库地址可以减少存储第一映射表的硬件开销;
具体的,以业务2为例,连接请求中包括了进程2和进程3,中间件装置会在第一映射表中分别查找进程2与进程3对应的数据库对应的业务标识以及数据库的地址标识,可以理解的,当所述数据库能够支持真正应用集群(RAC,Real Application Cluster)的时候,由于应用程序处理业务2需要连接两个数据库作为数据源,因此,进程2和进程3对应的数据库对应的业务标识是相同的,与业务2相对应;但是,由于进程2和进程3分别需要不同的数据库来进行处理,因此,进程2和进程3分别对应的数据库的地址标识是不同的,通过数据库的地址标识的不同来将进程对应的数据库进行绑定和对应,这样可以使得在需要使用RAC的时候,将组成RAC的数据库与相应的进程绑定起来,从而可以通过应用程序对进程的均衡调度,来实现应用程序对组成RAC的数据库的均衡调度。
示例性的,如图3a所示,第一映射表还可以包括与所述进程标识对应的所述数据库的连接状态下的连接参数;比如数据库的最大连接数、最小连接数、空闲连接数、初始连接数等,这些参数可以表示或反映了数据库在连接时的连接状态。
S203、根据所述数据库的地址标识查找第二映射表,获取所述数据库的地址,所述第二映射表包括所述数据库的地址标识与所述数据库地址之间的对应关系;
示例性的,第二映射表可以在建立中间件装置过程中,根据数据库的地址来得到该地址对应的数据库的地址标识之后,保存在中间件装置中。第二映射表的内容可以如图3b所示,通过所述数据库的地址标识查找第二映射表,可以得到与数据库的地址标识对应的数据库地址;
具体的,以业务1为例,可以通过查找第二映射表得到进程1对应的数据库的地址;
具体的,以业务2为例,可以通过查找第二映射表分别得到进程2和进程3对应的数据库的地址;可以理解的,当所述数据库能够支持RAC的时候,尽管进程2和进程3对应的数据库的业务标识相同,但是也能够使得进程2和进程3分别得到与自身进行连接的数据库,从而得到进程2和进程3自身对应的数据库的地址。
可以理解的,进程可以通过对应的数据库地址找到相应的数据库,并和对应的数据库根据对应的数据库的地址进行连接。
S204、根据所述数据库对应的业务标识查找第三映射表,获取所述数据库的账号和密码,所述第三映射表包括所述数据库对应的业务标识与所述数据库的账号和密码之间的对应关系。
示例性的,第三映射表可以在建立中间件装置过程中保存在中间件装置中,具体的,可以将数据库对应的业务标识与该业务连接对应的数据库所需要的验证信息作为第三映射表,优选的,连接信息可以是连接数据库所需要的用户名和密码,第三映射表可以如图3c所示,其中,可以知道,第三映射表主要包括进行数据库连接时所需要的参数,比如数据库的账号和密码,进一步的,账号和密码可以是密文状态,这样可以避免中间件装置的维护人员获取到明文的账号和密码,保证了数据库的安全。
示例性的,当完成了S201至S204之后,所述方法还包括:
S205:中间件装置向所述应用程序返回所述数据库的地址以及所述数据库的账号和密码,使得应用程序能够根据所述数据库的地址找寻到所述数据库之后,通过所述数据库的账号和密码对所述数据库进行连接以及后续的操作;进一步的,当所述数据库的账号和密码为密文状态的时候,由于所述数据库的账号和密码是应用程序通过第三映射表的对应关系得到的,因此应用程序在与所述数据库进行连接的过程中,可以将中间件装置根据第三映射表中对应关系所得到的密文状态的数据库的账号和密码通过所述中间件装置传输至所述数据库;在所述数据库对所述密文状态的数据库的账号和密码进行解密和验证之后,应用程序才会与所述数据库进行连接。
进一步的,当所述第一映射表还包括所述进程标识与所述数据库的连接参数之间的对应关系的时候;
相应的,中间件装置除了向所述应用程序返回所述数据库的账号和密码之外,所述方法还包括,中间件装置向所述应用程序返回所述数据库的连接参数,以使所述应用程序通过所述数据库的账号和密码进行连接后,依照所述数据库的连接参数对所述数据库进行状态的监控,例如在连接期间,所述应用程序可以根据获取到的连接参数监控数据库当前的状态,比如数据库的最大连接数、最小连接数、空闲连接数、初始连接数等。
本发明实施例提供了一种管理数据库连接的方法,通过将数据库与进程之间通过对应关系进行绑定,简化了数据库与进程之间连接的配置操作,并且支持数据库账号和密码的密文处理,从而避免数据库的信息外泄,提高信息安全,进一步地还能够使RAC的调度更加均衡和灵活。
此外,可以理解的,上述实施例提供的方法也可以通过指令和/或程序的形式保存在一个可移动存储介质中,当所述指令和/或程序被载入一个或多个计算机***中,并由所述一个或多个计算机***执行时,所述指令和/或程序可以使所述一个或多个计算机***执行按照上述实施例所述的方法。所述可移动存储介质可以包括(但不限于)任意种类的磁盘,包括软盘、光盘、DVD、CD-ROM、微驱动器和磁光盘,ROM,RAM,EPROM,EEPROM,DRAM,VRAM,闪速存储器件,磁卡或光卡,纳米***(包括分子存储器IC),或者适合于保存指令和/或数据的任何种类的介质或器件。
参见图4,为本发明实施例提供的一种管理数据库连接的装置40,所述装置40可以是一种用于替换图1中所示数据库连接池30的中间件装置,所述装置40可以包括:接收单元401、存储单元402、获取单元403和响应单元404,其中,
接收单元401用于,从应用程序接收与业务有关的连接请求,所述连接请求包括与所述业务对应的进程标识;
存储单元402用于,存储第一映射表、第二映射表和第三映射表,其中,所述第一映射表包括所述进程标识与所述数据库对应的业务标识和所述数据库的地址标识之间的对应关系;所述第二映射表包括所述数据库的地址标识与所述数据库地址之间的对应关系;所述第三映射表包括所述数据库对应的业务标识与所述数据库的账号和密码之间的对应关系;
获取单元403用于,根据所述接收单元接收的进程标识查找所述存储单元存储的第一映射表,获取所述数据库对应的业务标识和所述数据库的地址标识;
根据所述数据库的地址标识查找所述存储单元存储的第二映射表,获取所述数据库的地址;
根据所述数据库对应的业务标识查找所述存储单元存储的第三映射表,获取所述数据库的账号和密码;
响应单元404,用于向所述应用程序发送获取单元403获取的所述数据库的地址以及所述数据库的账号和密码,所述数据库的地址用于所述应用程序根据所述数据库的地址找到所述数据库,所述数据库的账号和密码用于所述应用程序根据所述数据库的账号和密码与所述数据库进行连接验证。
示例性的,当应用程序需要通过一个进程来处理业务1的时候,应用程序可以通过预定的程序或指令查询到业务1对应的进程1,需要说明的,业务1与进程1之间对应关系可以在应用程序的编写过程中通过进行建立,使得应用程序在运行的时候,可以通过执行预设的程序或指令来查询业务1所对应的进程1,具体在JAVA环境下,可以通过执行指令getConnection(String别名1)来获取到进程1,在这里,指令getConnection(String别名1)就属于上述预设的指令,而应用程序中指令getConnection(String别名1)的实现代码段就是上述预设的程序;可以理解的,在其他编程语言的运行环境下,也可以通过相应的编程语言实现指令getConnection(String别名1)以及实现该指令的代码段,其中,指令中的别名1可以是与业务1对应的标识;
或者,当应用程序需要通过两个或两个以上的进程来处理业务2的时候,本实施例以应用程序需要两个进程来处理业务2为例进行说明,可以理解的,应用程序需要两个以上的进程来处理业务2的时候,与两个进程来处理业务2的情况相同,在此不再赘述。应用程序也可以通过预定的程序或指令查询到业务2对应的进程2和进程3,具体的,可以通过分别执行JAVA指令getConnection(String别名2)来获取到进程2和进程3,其中,指令中的别名2可以是与业务2对应的标识;
接着,接收单元401可以从应用程序接收包括与业务对应的进程标识的连接请求;具体以业务1为例,连接请求可以包括与业务1对应的进程1;以业务2为例,连接请求可以包括与业务2所对应的进程2和进程3。
示例性的,获取单元403在接收单元401接收到包括进程标识的连接请求后,可以查询预先存储在存储单元402中的第一映射表,第一映射表可以在建立中间件装置过程中根据应用程序处理的业务以及在处理业务中所需要的数据库保存在中间件装置中,可以理解的,当处理业务需要应用程序与两个以及两个以上的数据库进行连接的时候,该业务与数据库是一对多的对应关系,如图3a所示,第一映射表可以包括所述进程标识与所述数据库对应的业务标识和所述数据库的地址标识之间的对应关系;
具体的,以业务1为例,连接请求中包括了进程1,获取单元403可以通过在第一映射表中查找与进程1对应的数据库对应的业务标识以及数据库的地址标识,其中,数据库的地址标识可以理解为与数据库地址对应的一个名称,由于,数据库的地址标识的字节长度要远小于数据库的地址的长度,因此,在第一映射表中通过数据库的地址标识来代替对应的数据库地址可以减少存储第一映射表的硬件开销;
具体的,以业务2为例,连接请求中包括了进程2和进程3,获取单元403会在第一映射表中分别查找进程2与进程3对应的数据库对应的业务标识以及数据库的地址标识,可以理解的,当所述数据库能够支持RAC的时候,由于应用程序处理业务2连接两个数据库作为数据源,因此,进程2和进程3对应的数据库对应的业务标识是相同的,与业务2相对应;但是进程2和进程3的处理需要分别对应的数据库的地址标识是不同的,通过数据库的地址标识的不同来将进程对应的数据库进行绑定和对应,这样可以使得在需要使用RAC的时候,将组成RAC的数据库与相应的进程绑定起来,从而可以通过应用程序对进程的均衡调度,来实现应用程序对组成RAC的数据库的均衡调度。
示例性的,如图3a所示,第一映射表还可以包括与所述进程标识对应的所述数据库的连接状态下的连接参数;比如数据库的最大连接数、最小连接数、空闲连接数、初始连接数等,这些参数可以表示或反映了数据库在连接时的连接状态。。
示例性的,第二映射表可以在建立中间件装置过程中,根据数据库的地址来得到该地址对应的数据库的地址标识之后,保存在中间件装置中。第二映射表的内容可以如图3b所示,获取单元403通过所述数据库的地址标识查找第二映射表,可以得到与数据库的地址标识对应的数据库地址;
具体的,以业务1为例,获取单元403可以通过查找第二映射表得到进程1对应的数据库的地址;
具体的,以业务2为例,获取单元403可以通过查找第二映射表分别得到进程2和进程3对应的数据库的地址;可以理解的,当所述数据库能够支持RAC的时候,尽管进程2和进程3对应的数据库的业务标识相同,但是也能够使得进程2和进程3分别得到与自身进行连接的数据库,从而得到进程2和进程3自身对应的数据库的地址。
可以理解的,进程可以通过对应的数据库地址找到相应的数据库,并和对应的数据库根据对应的数据库的地址进行连接。
示例性的,第三映射表可以在建立中间件装置过程中保存在中间件装置中,具体的,可以将数据库对应的业务标识与该业务连接对应的数据库所需要的验证信息作为第三映射表,优选的,连接信息可以是连接数据库所需要的用户名和密码,第三映射表可以如图3c所示,其中,可以知道,第三映射表主要包括进行数据库连接时所需要的参数,比如数据库的账号和密码,进一步的,账号和密码可以是密文状态,这样可以避免中间件装置的维护人员获取到明文的账号和密码,保证了数据库的安全。
进一步的,当所述第一映射表还包括所述进程标识与所述数据库的连接参数之间的对应关系;
相应的,所述响应单元404还用于,向所述应用程序返回所述数据库的连接参数,以使所述应用程序通过所述数据库的账号和密码进行连接后,依照所述数据库的连接参数对所述数据库进行状态的监控,例如在连接期间,所述应用程序可以根据获取到的连接参数监控数据库当前的状态,比如数据库的最大连接数、最小连接数、空闲连接数、初始连接数等。
本发明实施例提供了一种管理数据库连接的装置40,通过将数据库与进程之间通过对应关系进行绑定,简化了数据库与进程之间连接的配置操作,并且支持数据库账号和密码的密文处理,从而避免数据库的信息外泄,提高信息安全,进一步地还能够使RAC的调度更加均衡和灵活。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (8)
1.一种管理数据库连接的方法,其特征在于,所述方法包括:
从应用程序接收与业务有关的连接请求,所述连接请求包括与所述业务对应的进程标识;
根据所述进程标识查找第一映射表,获取所述数据库对应的业务标识和所述数据库的地址标识,所述第一映射表包括所述进程标识与所述数据库对应的业务标识和所述数据库的地址标识之间的对应关系;
根据所述数据库的地址标识查找第二映射表,获取所述数据库的地址,所述数据库的地址用于所述应用程序根据所述数据库的地址找到所述数据库,所述第二映射表包括所述数据库的地址标识与所述数据库地址之间的对应关系;
根据所述数据库对应的业务标识查找第三映射表,获取所述数据库的账号和密码,所述第三映射表包括所述数据库对应的业务标识与所述数据库的账号和密码之间的对应关系;
向所述应用程序发送所述数据库的地址以及所述数据库的账号和密码,所述数据库的地址用于所述应用程序根据所述数据库的地址找到所述数据库,所述数据库的账号和密码用于所述应用程序根据所述数据库的账号和密码与所述数据库进行连接验证。
2.根据权利要求1所述的方法,其特征在于,所述数据库的账号和密码为密文状态。
3.根据权利要求1或2所述的方法,其特征在于,所述第一映射表还包括所述进程标识与所述数据库的连接参数之间的对应关系;
相应的,除了向所述应用程序返回所述数据库的地址以及所述数据库的账号和密码之外,所述方法还包括,向所述应用程序返回所述数据库的连接参数,所述数据库的连接参数用于所述应用程序通过所述数据库的账号和密码进行连接后,依照所述数据库的连接参数对所述数据库进行状态的监控。
4.一种包含程序可读指令的计算机程序,当被载入一个或多个计算机***中,并由所述一个或多个计算机***执行时,所述程序可读指令使所述一个或多个计算机***执行按照权利要求1至3任一项所述的方法。
5.一种包含计算机可读存储介质的计算机程序产品,所述计算机可读存储介质保存按照权利要求4所述的计算机程序。
6.一种管理数据库连接的装置,其特征在于,所述装置包括:接收单元、存储单元、获取单元和响应单元,其中,所述接收单元用于,从应用程序接收与业务有关的连接请求,所述连接请求包括与所述业务对应的进程标识;
所述存储单元用于,存储第一映射表、第二映射表和第三映射表,其中,所述第一映射表包括所述进程标识与所述数据库对应的业务标识和所述数据库的地址标识之间的对应关系;所述第二映射表包括所述数据库的地址标识与所述数据库地址之间的对应关系;所述第三映射表包括所述数据库对应的业务标识与所述数据库的账号和密码之间的对应关系;
所述获取单元用于,根据所述接收单元接收的进程标识查找所述存储单元存储的第一映射表,获取所述数据库对应的业务标识和所述数据库的地址标识;
根据所述数据库的地址标识查找所述存储单元存储的第二映射表,获取所述数据库的地址;
根据所述数据库对应的业务标识查找所述存储单元存储的第三映射表,获取所述数据库的账号和密码;
所述响应单元用于,向所述应用程序发送所述数据库的地址以及所述数据库的账号和密码,所述数据库的地址用于所述应用程序根据所述数据库的地址找到所述数据库,所述数据库的账号和密码用于所述应用程序根据所述数据库的账号和密码与所述数据库进行连接验证。
7.根据权利要求6所述的装置,其特征在于,所述数据库的账号和密码为密文状态。
8.根据权利要求6或7所述的装置,其特征在于,所述第一映射表还包括所述进程标识与所述数据库的连接参数之间的对应关系;
相应的,所述响应单元还用于,向所述应用程序返回所述数据库的连接参数,所述数据库的连接参数用于所述应用程序通过所述数据库的账号和密码进行连接后,依照所述数据库的连接参数对所述数据库进行状态的监控。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410128220.2A CN104951481B (zh) | 2014-03-31 | 2014-03-31 | 一种管理数据库连接的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410128220.2A CN104951481B (zh) | 2014-03-31 | 2014-03-31 | 一种管理数据库连接的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104951481A true CN104951481A (zh) | 2015-09-30 |
CN104951481B CN104951481B (zh) | 2018-10-23 |
Family
ID=54166144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410128220.2A Active CN104951481B (zh) | 2014-03-31 | 2014-03-31 | 一种管理数据库连接的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104951481B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108961039A (zh) * | 2018-07-02 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 交易处理方法、装置及*** |
CN109344653A (zh) * | 2018-10-16 | 2019-02-15 | 顺丰科技有限公司 | 一种连接数据库的方法、装置、***、设备和存储介质 |
CN109815686A (zh) * | 2019-03-01 | 2019-05-28 | 浙江齐治科技股份有限公司 | 一种登录密码更改方法及装置 |
CN110716915A (zh) * | 2019-09-02 | 2020-01-21 | 平安普惠企业管理有限公司 | 操作数据库的方法、装置、电子设备及存储介质 |
CN111818671A (zh) * | 2019-07-05 | 2020-10-23 | 维沃移动通信有限公司 | 支持端口控制的方法及设备 |
CN112182641A (zh) * | 2020-09-04 | 2021-01-05 | 支付宝(杭州)信息技术有限公司 | 基于隐私数据、访问参数的数据访问方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033938A (zh) * | 2010-12-10 | 2011-04-27 | 天津神舟通用数据技术有限公司 | 基于二级映射的集群动态扩展方法 |
US20130254761A1 (en) * | 2012-03-20 | 2013-09-26 | Cellco Partnership D/B/A Verizon Wireless | Granular application sessions tagging |
CN103605571A (zh) * | 2013-11-20 | 2014-02-26 | 国家电网公司 | 数据库连接池的控制方法 |
CN103634298A (zh) * | 2013-11-14 | 2014-03-12 | 北京奇虎科技有限公司 | 一种数据库连接处理方法及装置 |
-
2014
- 2014-03-31 CN CN201410128220.2A patent/CN104951481B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033938A (zh) * | 2010-12-10 | 2011-04-27 | 天津神舟通用数据技术有限公司 | 基于二级映射的集群动态扩展方法 |
US20130254761A1 (en) * | 2012-03-20 | 2013-09-26 | Cellco Partnership D/B/A Verizon Wireless | Granular application sessions tagging |
CN103634298A (zh) * | 2013-11-14 | 2014-03-12 | 北京奇虎科技有限公司 | 一种数据库连接处理方法及装置 |
CN103605571A (zh) * | 2013-11-20 | 2014-02-26 | 国家电网公司 | 数据库连接池的控制方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108961039A (zh) * | 2018-07-02 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 交易处理方法、装置及*** |
CN108961039B (zh) * | 2018-07-02 | 2023-03-31 | 创新先进技术有限公司 | 交易处理方法、装置及*** |
CN109344653A (zh) * | 2018-10-16 | 2019-02-15 | 顺丰科技有限公司 | 一种连接数据库的方法、装置、***、设备和存储介质 |
CN109815686A (zh) * | 2019-03-01 | 2019-05-28 | 浙江齐治科技股份有限公司 | 一种登录密码更改方法及装置 |
CN111818671A (zh) * | 2019-07-05 | 2020-10-23 | 维沃移动通信有限公司 | 支持端口控制的方法及设备 |
CN111818671B (zh) * | 2019-07-05 | 2022-02-01 | 维沃移动通信有限公司 | 支持端口控制的方法及设备 |
CN110716915A (zh) * | 2019-09-02 | 2020-01-21 | 平安普惠企业管理有限公司 | 操作数据库的方法、装置、电子设备及存储介质 |
CN112182641A (zh) * | 2020-09-04 | 2021-01-05 | 支付宝(杭州)信息技术有限公司 | 基于隐私数据、访问参数的数据访问方法、装置及设备 |
CN112182641B (zh) * | 2020-09-04 | 2023-11-10 | 支付宝(杭州)信息技术有限公司 | 基于隐私数据、访问参数的数据访问方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104951481B (zh) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104951481A (zh) | 一种管理数据库连接的方法和装置 | |
CN104978258B (zh) | 软件自动化测试方法及*** | |
CN109543462B (zh) | 设备标识确定方法、装置、服务器及存储介质 | |
US9135454B2 (en) | Systems and methods for enabling searchable encryption | |
CN103458086B (zh) | 一种智能手机及其故障检测方法 | |
US10754869B2 (en) | Managing data format of data received from devices in an internet of things network | |
US9948571B2 (en) | System and method for cloud connection pool | |
CN102202087B (zh) | 一种标识存储设备的方法及*** | |
CN107911249A (zh) | 一种网络设备的命令行发送方法、装置和设备 | |
US20150106914A1 (en) | Remote control system, and method thereof | |
US20150248421A1 (en) | System and method for recovering system status consistently to designed recovering time point in distributed database | |
CN104376431A (zh) | 一种工程项目管理方法及*** | |
CN104714835A (zh) | 一种数据访问处理方法及装置 | |
CN103701641A (zh) | 一种自动化运维的方法和*** | |
CN107580032B (zh) | 数据处理方法、装置及设备 | |
CN109144785A (zh) | 用于备份数据的方法和装置 | |
CN105095103A (zh) | 用于云环境下的存储设备管理方法和装置 | |
CN111225082A (zh) | 一种物联网智能设备的身份管理方法、装置及物联网平台 | |
CN107357831A (zh) | 可配置的流程实例数据分布式存储方法及*** | |
CN105357267A (zh) | 一种获取服务器信息的方法、装置及*** | |
CN112600703B (zh) | 网络设备远程访问故障定位方法及装置 | |
CN103019847A (zh) | 对虚拟机数据进行迁移的方法及*** | |
CN105281944B (zh) | 网络协议地址的设定方法及服务管理*** | |
CN105740040B (zh) | 虚拟机数据加载方法及*** | |
CN104407846B (zh) | 一种信息处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |