CN106021544A - 数据库分布式连接池管理方法和系统 - Google Patents
数据库分布式连接池管理方法和系统 Download PDFInfo
- Publication number
- CN106021544A CN106021544A CN201610363384.2A CN201610363384A CN106021544A CN 106021544 A CN106021544 A CN 106021544A CN 201610363384 A CN201610363384 A CN 201610363384A CN 106021544 A CN106021544 A CN 106021544A
- Authority
- CN
- China
- Prior art keywords
- application
- connection pool
- connection
- idle
- data storehouse
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种数据库分布式连接池管理系统和方法。所述系统包括:多个本地监控器,分别嵌入在多个应用中,并配置为收集对应应用的连接池内的空闲数据库连接信息;以及中心控制器,配置为从所述多个本地监控器接收空闲数据库连接信息,对接收到的空闲数据库连接信息进行分析,并将分析结果发送给所述多个本地监控器;其中所述多个本地监控器之一还配置为:响应于接收到数据库访问请求,确定在对应应用的连接池内的空闲数据库连接是否充足;如果确定对应应用的连接池内的空闲数据库连接不足,则根据从中心控制器接收到的分析结果,经由其他应用的连接池内的空闲数据库连接执行代理数据库访问。
Description
技术领域
本发明涉及计算机领域,具体地,涉及一种数据库分布式连接池管理方法和系统。
背景技术
目前,随着计算机和网络通信技术的发展,应用和数据库之间进行安全、快速、有效的数据连接变得越来越重要。
在互联网应用中,为了应对海量用户的高并发访问,往往采用连接池的方式来实现数据通信。连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程或进程使用。当应用请求连接池中的空闲连接时,首先查看连接池中是否有空闲连接。如果存在空闲连接,则把连接池中的空闲连接分配给应用使用;若是没有空闲连接,则查看当前所开的连接数是否达到最大预设连接数M,如果没有达到最大预设连接数,则创建一个连接给请求的客户端,如果达到最大预设连接数M,则等待空闲连接。然而,每个应用的连接池往往只能在该应用内共享,而其它应用不能使用,这样导致对单个应用中连接池的控制不能达到很好的效果,无法使整个数据库的连接资源达到平衡。例如,在一部分应用忙碌而一部分应用空闲的情况下,忙碌的应用可能需要等待空闲连接,而空闲的应用可能浪费大量数据库连接资源。更糟糕的情况是,如果数据流量在这些应用中反复变化,使得忙的应用变闲,闲的应用变忙,这样会导致出现不断关闭和重建连接的现象。
也就是说,现有的连接池管理技术往往存在如下缺点:首先每个应用的数据库连接池不能共享,导致忙碌应用的数据库连接不够用,空闲应用的数据库连接资源浪费。其次,在忙碌应用和空闲应用不断转变时,数据库连接不断关闭和创建,导致数据库连接可能出现比单库连接池更多的关闭和创建操作。因此,即使在分布式系统的情况下,连接池的作用依然无法很好的发挥出来。此外,当流量在应用间切换时,本身流量较小的应用一下子获得大量流量,就需要新建很多数据库连接,但是之前占用较多数据库连接的应用,虽然流量下降但却可能还并没有释放数据库连接,在这种情况下,导致在数据库端新建更多的连接。最后,现有的连接池管理技术不方便控制资源。具体地,无法合理配置参数,不能评估出底层数据库真正的连接数。因此,在底层数据库出现连接数资源不够,或者数据库负载过高时,不能方便控制应用请求的连接数。
为了避免这种情况,本方案提出了一种数据库分布式连接池管理方法和系统,使得各应用在尽量使用本应用的连接池的前提下,还可以借用其它应用的连接池的空闲数据库连接,从而使得每个应用都有足够的数据库连接可用,也避免了不断关闭和重建数据库连接。
发明内容
为了至少解决上述问题中的至少一个,本发明提供了一种数据库分布式连接池管理方法和系统,使得各应用在尽量使用本应用的连接池的前提下,还可以借用其它应用的连接池的空闲数据库连接,从而使得每个应用都有足够的数据库连接可用,也避免了不断关闭和重建数据库连接。
根据本发明的第一方面,提供了一种数据库分布式连接池管理系统,可以包括:多个本地监控器,分别嵌入在多个应用中,并配置为收集对应应用的连接池内的空闲数据库连接信息;以及中心控制器,配置为从所述多个本地监控器接收空闲数据库连接信息,对接收到的空闲数据库连接信息进行分析,并将分析结果发送给所述多个本地监控器;其中所述多个本地监控器之一还配置为:响应于接收到数据库访问请求,确定在对应应用的连接池内的空闲数据库连接是否充足;如果确定对应应用的连接池内的空闲数据库连接不足,则根据从中心控制器接收到的分析结果,经由其他应用的连接池内的空闲数据库连接执行代理数据库访问。
所述多个本地监控器之一还可以配置为:如果确定对应应用的连接池内的空闲数据库连接充足,则经由所述对应应用的连接池内的空闲数据库连接执行代理数据库访问。
所述中心控制器可以配置为包括监控器通信模块和空闲连接管理模块,其中所述监控器通信模块配置为与所述多个本地监控器通信相连;以及所述空闲连接管理模块配置为经由监控器通信模块从所述多个本地监控器收集每个应用的连接池内的空闲数据库连接信息,按照预定规则分析所述每个应用的连接池内的空闲数据库连接信息,并经由监控器通信模块将分析结果发送至所述多个本地监控器。
所述多个本地监控器之一可以包括:中心通信模块,配置为与中心控制器进行通信以便接收分析结果;全局空闲连接管理模块,配置为在对应应用的连接池内的空闲数据库连接不足的情况下,根据经由中心通信模块接收到的分析结果,为数据库访问分配其他应用的连接池以便经由所述其他应用的连接池内的空闲数据库连接执行代理数据库访问;本地数据库连接池代理模块,配置为负责经由对应应用的连接池的代理访问,并向中心通信模块提供对应应用的连接池内的空闲数据库连接信息;远程数据库请求代理模块,配置为在对应应用的连接池内的空闲数据库连接不足时,负责向由全局空闲连接管理模块分配的其他应用的连接池发送代理数据库访问请求;以及远程数据库执行代理模块,配置为响应于从请求方应用接收到代理数据库访问请求,搜索对应应用的连接池内的可用空闲数据库连接,以便执行代理数据库访问。
所述远程数据库执行代理模块还可以配置为:响应于搜索到可用空闲数据库连接,则经由所述可用空闲数据库连接执行代理数据库访问并将结果返回给请求方应用;且如果没有搜索到可用空闲数据库连接,则将错误信息返回给请求方应用。
根据本发明的第二方面,提供了一种数据库分布式连接池管理方法,可以包括:收集每个应用的连接池内的空闲数据库连接信息;对收集到的每个应用的连接池内的空闲数据库连接信息进行分析以获得分析结果;响应于从请求方应用接收到数据库访问请求,确定请求方应用的连接池内的空闲数据库连接是否充足;如果确定请求方应用的连接池内的空闲数据库连接不足,则根据分析结果,请求经由其他应用的连接池内的空闲数据库连接执行代理数据库访问。
所述对收集到的每个应用的连接池内的空闲数据库连接信息进行分析以获得分析结果可以包括:按照预定规则分析所述每个应用的连接池内的空闲数据库连接信息,以获得分析结果。
所述方法还可以包括:如果确定请求方应用的连接池内的空闲数据库连接充足,则经由请求方应用的连接池内的空闲数据库连接执行代理数据库访问。
所述请求经由其他应用的连接池内的空闲数据库连接执行代理数据库访问可以包括:在请求方应用的连接池内的空闲数据库连接不足的情况下,根据分析结果,为数据库访问分配其他应用的连接池;向所分配的其他应用的连接池发送代理数据库访问请求;以及响应于其他应用的连接池从请求方应用接收到代理数据库访问请求,搜索在所述其他应用的连接池内的可用空闲数据库连接,以便执行代理数据库访问。
所述方法还可以包括:响应于搜索到可用空闲数据库连接,则经由所述可用空闲数据库连接执行代理数据库访问并将结果返回给请求方应用;且如果没有搜索到可用空闲数据库连接,则将错误信息返回给请求方应用。
附图说明
以下结合附图,将更清楚本发明的示例实施例的上述和其它方面、特征以及优点,附图中:
图1示出了根据本发明实施例的数据库分布式连接池管理系统的操作环境的示意图;
图2示出了根据本发明实施例的数据库分布式连接池管理系统的框图;
图3示出了根据本发明实施例的空闲数据库连接管理方法的流程图;
图4示出了根据本发明示例实施例的空闲连接管理流程;以及
图5示出了根据本发明示例实施例的数据库连接请求操作流程图。
具体实施方式
以下参考附图描述了本发明的示例实施。本发明提供了一种数据库分布式连接池管理方法和系统,使得各应用在尽量使用本应用的连接池的前提下,还可以借用其它应用的连接池的空闲数据库连接,从而使得每个应用都有足够的数据库连接可用,也避免了不断关闭和重建数据库连接。
应注意,为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。需要说明的是,在附图或说明书描述中,相似或相同的部分都使用相同的图号。
图1示出了根据本发明实施例的数据库分布式连接池管理系统的操作环境10的示意图。
在根据本发明实施例的数据库分布式连接池管理系统的操作环境10下,存在数据库300和多个应用(例如,应用1、应用2和应用3)。根据本发明实施例的数据库分布式连接池管理系统包括与多个应用相对应的多个本地监控器100(例如,本地监控器100-1、本地监控器100-2和本地监控器100-3)和中心控制器200。
多个本地监控器100可以分别嵌入到各应用中,并每一个本地监控器均被配置为收集与之相对应的应用的连接池内的空闲数据库连接信息。中心控制器200可以是用于管理集群内的多个应用的空闲数据库连接的独立设备,并配置为从所述多个本地监控器100中的每一个接收对应应用的连接池内的空闲数据库连接信息,对接收到的所有空闲数据库连接信息进行分析,并将分析结果发送给所述多个本地监控器100。此外,所述本地监控器100还配置为响应于接收到数据库访问请求,确定在对应应用的连接池内的空闲数据库连接是否充足;如果确定对应应用的连接池内的空闲数据库连接不足,则根据从中心控制器200接收到的分析结果,经由其他应用的连接池内的空闲数据库连接执行代理数据库访问。此外,如果确定对应应用的连接池内的空闲数据库连接充足,则经由所述对应应用的连接池内的空闲数据库连接执行代理数据库访问。
也就是说,中心控制器200负责对各应用的连接池内的空闲数据库连接进行一个统计分析,并将分析结果不断的推给各个应用或各应用的本地监控器。嵌入在各应用中的本地监控器100一方面负责接收中心控制器200推送的分析结果,另一方面在本地数据库连接不够使用时将数据库访问请求代理到所选的集群内其它应用的连接池内的空闲数据连接执行,其中所述其他应用可以是根据从中心控制器200推送的分析结果而确定的。应注意,本文以包括三个应用的操作环境为例阐述了本发明的原理,但是本领域技术人员应认识到,本发明可以不限于上述实施例且可以包括更多或更少的应用。
图2示出了根据本发明实施例的数据库分布式连接池管理系统20的框图。
如图2所示,中心控制器200可以包括监控器通信模块210和空闲连接管理模块220。所述监控器通信模块210可以配置为与所述多个本地监控器100通信相连,例如,经由有线连接或无线地连接。所述空闲连接管理模块220配置为经由监控器通信模块210从所述多个本地监控器100收集每个应用的连接池内的空闲数据库连接信息,按照预定规则分析所述每个应用的连接池内的空闲数据库连接信息,并经由监控器通信模块将分析结果发送至所述多个本地监控器。即,客户端通信模块210负责接收各个应用的本地监控器100推送来的空闲数据库连接信息,并将接收的信息提交给空闲连接管理模块220,空闲连接模块220负责将空闲连接信息按规则进行筛选组织(例如,按照预定规则排序),然后将经过组织的空闲数据库连接信息(例如,排序结果)交给客户端通信模块210,由客户端通信模块210推送到各个应用的本地监控器100。
多个本地监控器100中的每个本地监控器可以包括以下模块:中心通信模块110,配置为与中心控制器200进行通信以便接收分析结果;全局空闲连接管理模块120,配置为在对应应用的连接池内的空闲数据库连接不足的情况下,根据经由中心通信模块110接收到的分析结果,为数据库访问分配其他应用的连接池以便经由所述其他应用的连接池内的空闲数据库连接执行代理数据库访问;本地数据库连接池代理模块130,配置为负责经由对应应用的连接池的代理访问,并向中心通信模块110提供对应应用的连接池内的空闲数据库连接信息;远程数据库请求代理模块140,配置为在对应应用的连接池内的空闲数据库连接不足时,负责向由全局空闲连接管理模块120分配的其他应用的连接池发送代理数据库访问请求;以及远程数据库执行代理模块150,配置为响应于从请求方应用接收到代理数据库访问请求,搜索对应应用的连接池内的可用空闲数据库连接,以便执行代理数据库访问。此外,所述远程数据库执行代理模块150还配置为:响应于搜索到可用空闲数据库连接,则经由所述可用空闲数据库连接执行代理数据库访问并将结果返回给请求方应用;且如果没有搜索到可用空闲数据库连接,则将错误信息返回给请求方应用。
也就是说,中心通信模块110一方面负责将自身应用的连接池的空闲数据库连接信息提交给中心控制器200,另一方面接收来自中心控制器200推送的分析结果,并将分析结果提交给全局空闲连接管理模块120。全局空闲连接管理模块120负责管理全局其它应用的连接池的空闲数据库连接。当本地连接池(即,在其中嵌入所述本地监控器的对应应用的连接池)中连接达到最大连接数并且不能再分配连接时,全局空闲连接管理模块120根据由中心通信模块110接收到的对全局空闲数据库连接信息的分析结果,为数据库访问请求分配全局其他应用的连接池的空闲数据库连接。本地数据库连接池代理模块130主要负责经由本地连接池的代理访问,其中将本地连接池的最小空闲连接和最大空闲连接配置为比较大且彼此接近,使得本地连接池不会轻易释放数据库连接,以避免不断关闭和重建数据库连接。远程数据库请求代理模块140负责当本地连接池不能分配空闲数据库连接时,向由全局空闲连接管理模块120分配的全局其他应用的连接池请求执行代理数据库访问。远程数据库执行代理模块150可以配置为响应于接收到请求方应用的数据访问请求,经由自身连接池中的空闲数据库连接帮助请求方应用执行代理数据库访问。具体他,如果请求到自身可用的空闲数据库连接,则执行代理数据库访问并将结果返回给请求应用,如也无可用连接,则将无法帮助执行的信息(例如,错误信息)返回给请求方应用。
具体地,以下将参考图3来描述根据本发明的示例实施例的空闲数据库连接管理方法的流程图。
具体地,根据本发明的示例实施例的空闲数据库连接管理方法包括:在步骤S301,收集每个应用的连接池内的空闲数据库连接信息。在步骤S303,对收集到的每个应用的连接池内的空闲数据库连接信息进行分析以获得分析结果;所述对收集到的每个应用的连接池内的空闲数据库连接信息进行分析以获得分析结果包括:按照预定规则分析所述每个应用的连接池内的空闲数据库连接信息,以获得分析结果。在步骤S305,响应于从请求方应用接收到数据库访问请求,确定请求方应用的连接池内的空闲数据库连接是否充足。如果确定请求方应用的连接池内的空闲数据库连接不足,则在步骤S307根据分析结果,请求经由其他应用的连接池内的空闲数据库连接执行代理数据库访问。所述请求经由其他应用的连接池内的空闲数据库连接执行代理数据库访问包括:在请求方应用的连接池内的空闲数据库连接不足的情况下,根据分析结果,为数据库访问分配其他应用的连接池;向所分配的其他应用的连接池发送代理数据库访问请求;并且响应于其他应用的连接池从请求方应用接收到代理数据库访问请求,在所述其他应用的连接池内搜索可用空闲数据库连接,以便执行代理数据库访问。此外,根据本发明示例实施例的空闲数据库连接管理方法还包括:响应于搜索到所述其他应用的连接池内的可用空闲数据库连接,则经由所述可用空闲数据库连接执行代理数据库访问并将结果返回给请求方应用;且如果没有搜索到可用空闲数据库连接,则将错误信息返回给请求方应用。此外,如果确定请求方应用的连接池内的空闲数据库连接充足,则在步骤S309经由请求方应用的连接池内的空闲数据库连接执行代理数据库访问。
具体地,图4描述了根据本发明示例实施例的空闲连接管理流程。本地数据库连接池代理模块130向中心通信模块110报告本地空闲连接资源,并经由中心通信模块110将自身的空闲连接资源信息发送给与中心控制器200的监控器通信模块210。例如,本地数据库连接池代理模块130以一定频率将本地空闲的数据库连接池信息通过中心通信模块报告给中心控制器。监控器通信模块210通过与嵌入在各应用的多个监控器的中心通信模块进行通信,可以获得所有应用的连接池内的空闲数据库连接资源。监控器通信模块210将接收到的空闲连接资源信息发送给空闲连接管理模块220,空闲连接管理模块定期将当前时刻所有应用的控线连接信息(即,全局空闲连接资源)进行统计分析(例如,根据特定规则来进行排序),并经由监控器通信模块210将分析结果发送给各个应用。例如,在经由监控器通信模块接收到空闲连接信息后进行统一分析统计,然后将分析报告精心组织,将结果全量或者增量的方式通过监控器通信模块推送给各应用。各应用的中心通信模块110接收到包括全局各应用的连接池内的空闲数据库连接信息的分析结果,并将其传送至对应的全局空闲连接管理模块120,以便由对应的全局空闲连接管理模块120管理全局空闲连接信息,例如,将接收到的全局空闲连接信息组织按一定策略排序备用,等待当本地数据库连接不够用时请求其他应用的连接池执行代理数据库访问。
图5描述了根据本发明示例实施例的数据库连接请求操作流程图。
根据本发明示例实施例的数据库连接请求操作流程如下:响应于接收到数据库访问,每个应用优先到本地数据库连接池代理中请求本地数据库连接。此时,判断是否请求到本地连接池内的空闲数据连接。如果请求到本地连接池内的空闲数据库连接,则直接通过该连接执行数据库访问。如果请求不到,则到全局空闲连接管理模块请求分配全局内其它应用的连接池的空闲数据库连接。全局空闲连接管理模块按一定策略为其分配有空闲连接的其它应用的连接池,将所分配的有空闲数据库连接的应用连接池的信息交给远程数据库请求代理模块,以便经由远程数据库请求代理模块向所分配的应用连接池内的空闲数据库连接请求帮助请求方应用执行代理数据库访问。帮助请求方应用执行代理数据库访问的应答方应用通过自身的远程数据库执行代理模块执行代理数据库访问。具体地,应答方应用首先到自身的本地数据库连接池代理模块请求空闲数据库连接,如果请求到空闲数据库连接,则帮助请求方应用执行代理数据库访问并返回执行结果,否则直接返回错误代码,以便指示本应用也没有空闲数据库连接。如果请求方应用的请求代理模块收到正确结果,则返回正确结果。反之,如果请求方应用收到错误代码,则根据配置,在超时时间内再尝试或者直接返回数据库访问失败结果。
根据本发明示例实施例的数据库分布式连接池管理系统和方法可以弥补传统连接池在分布式部署中对数据库连接管理的不足,使得各应用在尽量使用本应用的连接池的前提下,还可以借用其它应用的连接池的空闲数据库连接,从而使得每个应用都有足够的数据库连接可用,也避免了不断关闭和重建数据库连接。此外,所述方法和系统实现数据库连接不限于在一个应用中共享,还能在全局中共享,大大提高了数据库连接的使用率,避免了不断关闭和重建数据库连接,更有效的控制了资源。
以上方案仅是示出本发明构思的一个具体实现方案,本发明不限于上述实现方案。可以省略或跳过上述实现方案中的一部分处理,而不脱离本发明的精神和范围。
前面的方法可以通过多种计算机装置以可执的程序命令形式实现并记录在计算机可读记录介质中。在这种情况下,计算机可读记录介质可以包括单独的程序命令、数据文件、数据结构或其组合。同时,记录在记录介质中的程序命令可以专门设计或配置用于本发明,或是计算机软件领域的技术人员已知应用的。计算机可读记录介质包括例如硬盘、软盘或磁带等磁性介质、例如压缩盘只读存储器(CD-ROM)或数字通用盘(DVD)等光学介质、例如光磁软盘的磁光介质以及例如存储和执行程序命令的ROM、RAM、闪存等硬件装置。此外,程序命令包括编译器形成的机器语言代码和计算机通过使用解释程序可执行的高级语言。前面的硬件装置可以配置成作为至少一个软件模块操作以执行本发明的操作,并且逆向操作也是一样的。
尽管以特定顺序示出并描述了本文方法的操作,然而可以改变每个方法的操作的顺序,使得可以以相反顺序执行特定操作或使得可以至少部分地与其它操作同时来执行特定操作。此外,本发明不限于上述示例实施例,它可以在不脱离本公开的精神和范围的前提下,包括一个或多个其他部件或操作,或省略一个或多个其他部件或操作。
以上已经结合本发明的优选实施例示出了本发明,但是本领域的技术人员将会理解,在不脱离本发明的精神和范围的情况下,可以对本发明进行各种修改、替换和改变。因此,本发明不应由上述实施例来限定,而应由所附权利要求及其等价物来限定。
Claims (10)
1.一种数据库分布式连接池管理系统,包括:
多个本地监控器,分别嵌入在多个应用中,并配置为收集对应应用的连接池内的空闲数据库连接信息;以及
中心控制器,配置为从所述多个本地监控器接收空闲数据库连接信息,对接收到的空闲数据库连接信息进行分析,并将分析结果发送给所述多个本地监控器;
其中所述多个本地监控器之一还配置为:响应于接收到数据库访问请求,确定在对应应用的连接池内的空闲数据库连接是否充足;如果确定对应应用的连接池内的空闲数据库连接不足,则根据从中心控制器接收到的分析结果,经由其他应用的连接池内的空闲数据库连接执行代理数据库访问。
2.根据权利要求1所述的系统,其中所述多个本地监控器之一还配置为:如果确定对应应用的连接池内的空闲数据库连接充足,则经由所述对应应用的连接池内的空闲数据库连接执行代理数据库访问。
3.根据权利要求1所述的系统,其中所述中心控制器配置为包括监控器通信模块和空闲连接管理模块,其中
所述监控器通信模块配置为与所述多个本地监控器通信相连;以及
所述空闲连接管理模块配置为经由监控器通信模块从所述多个本地监控器收集每个应用的连接池内的空闲数据库连接信息,按照预定规则分析所述每个应用的连接池内的空闲数据库连接信息,并经由监控器通信模块将分析结果发送至所述多个本地监控器。
4.根据权利要求1所述的系统,其中所述多个本地监控器之一包括:
中心通信模块,配置为与中心控制器进行通信以便接收分析结果;
全局空闲连接管理模块,配置为在对应应用的连接池内的空闲数据库连接不足的情况下,根据经由中心通信模块接收到的分析结果,为数据库访问分配其他应用的连接池以便经由所述其他应用的连接池内的空闲数据库连接执行代理数据库访问;
本地数据库连接池代理模块,配置为负责经由对应应用的连接池的代理访问,并向中心通信模块提供对应应用的连接池内的空闲数据库连接信息;
远程数据库请求代理模块,配置为在对应应用的连接池内的空闲数据库连接不足时,负责向由全局空闲连接管理模块分配的其他应用的连接池发送代理数据库访问请求;以及
远程数据库执行代理模块,配置为响应于从请求方应用接收到代理数据库访问请求,搜索对应应用的连接池内的可用空闲数据库连接,以便执行代理数据库访问。
5.根据权利要求4所述的系统,其中所述远程数据库执行代理模块还配置为:响应于搜索到可用空闲数据库连接,则经由所述可用空闲数据库连接执行代理数据库访问并将结果返回给请求方应用;且如果没有搜索到可用空闲数据库连接,则将错误信息返回给请求方应用。
6.一种数据库分布式连接池管理方法,包括:
收集每个应用的连接池内的空闲数据库连接信息;
对收集到的每个应用的连接池内的空闲数据库连接信息进行分析以获得分析结果;
响应于从请求方应用接收到数据库访问请求,确定请求方应用的连接池内的空闲数据库连接是否充足;
如果确定请求方应用的连接池内的空闲数据库连接不足,则根据分析结果,请求经由其他应用的连接池内的空闲数据库连接执行代理数据库访问。
7.根据权利要求6所述的方法,其中所述对收集到的每个应用的连接池内的空闲数据库连接信息进行分析以获得分析结果包括:按照预定规则分析所述每个应用的连接池内的空闲数据库连接信息,以获得分析结果。
8.根据权利要求6所述的方法,其中所述方法还包括:如果确定请求方应用的连接池内的空闲数据库连接充足,则经由请求方应用的连接池内的空闲数据库连接执行代理数据库访问。
9.根据权利要求6所述的方法,其中所述请求经由其他应用的连接池内的空闲数据库连接执行代理数据库访问包括:
在请求方应用的连接池内的空闲数据库连接不足的情况下,根据分析结果,为数据库访问分配其他应用的连接池;
向所分配的其他应用的连接池发送代理数据库访问请求;以及
响应于其他应用的连接池从请求方应用接收到代理数据库访问请求,搜索在所述其他应用的连接池内的可用空闲数据库连接,以便执行代理数据库访问。
10.根据权利要求9所述的方法,其中所述方法还包括:响应于搜索到可用空闲数据库连接,则经由所述可用空闲数据库连接执行代理数据库访问并将结果返回给请求方应用;且如果没有搜索到可用空闲数据库连接,则将错误信息返回给请求方应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610363384.2A CN106021544B (zh) | 2016-05-27 | 2016-05-27 | 数据库分布式连接池管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610363384.2A CN106021544B (zh) | 2016-05-27 | 2016-05-27 | 数据库分布式连接池管理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106021544A true CN106021544A (zh) | 2016-10-12 |
CN106021544B CN106021544B (zh) | 2020-02-07 |
Family
ID=57094681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610363384.2A Active CN106021544B (zh) | 2016-05-27 | 2016-05-27 | 数据库分布式连接池管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106021544B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145061A (zh) * | 2018-07-26 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种数据库分配会话对象的方法、数据库和服务器 |
CN109800261A (zh) * | 2018-12-15 | 2019-05-24 | 平安科技(深圳)有限公司 | 双数据库连接池的动态控制方法、装置及相关设备 |
CN111324644A (zh) * | 2018-11-28 | 2020-06-23 | 中国移动通信集团浙江有限公司 | 大型微服务架构下的数据库连接风暴的监控方法及装置 |
CN114064810A (zh) * | 2022-01-17 | 2022-02-18 | 北京奥星贝斯科技有限公司 | 处理事务的方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722575A (zh) * | 2012-06-05 | 2012-10-10 | 河北世窗信息技术有限公司 | 一种多类型数据库连接池管理系统及管理方法 |
US8600925B2 (en) * | 2011-06-23 | 2013-12-03 | Microsoft Corporation | Object-relational mapped database initialization |
CN103810203A (zh) * | 2012-11-13 | 2014-05-21 | 深圳市腾讯计算机系统有限公司 | 一种数据库管理系统连接复用方法及装置 |
CN103970807A (zh) * | 2013-02-06 | 2014-08-06 | 阿里巴巴集团控股有限公司 | 数据库连接管理方法及系统 |
US20150058858A1 (en) * | 2013-08-21 | 2015-02-26 | Hasso-Platt ner-Institut fur Softwaresystemtechnik GmbH | Dynamic task prioritization for in-memory databases |
CN104809247A (zh) * | 2015-05-18 | 2015-07-29 | 北京京东尚科信息技术有限公司 | 数据库连接的分配和回收方法 |
CN105138693A (zh) * | 2015-09-18 | 2015-12-09 | 联动优势科技有限公司 | 一种访问数据库的方法及装置 |
CN105279263A (zh) * | 2015-10-23 | 2016-01-27 | 国网信息通信产业集团有限公司 | 一种支持多应用共享的数据库连接系统及方法 |
US20160092271A1 (en) * | 2014-09-30 | 2016-03-31 | International Business Machines Corporation | Merging connection pools to form a logical pool of connections during a preset period of time thereby more efficiently utilizing connections in connection pools |
-
2016
- 2016-05-27 CN CN201610363384.2A patent/CN106021544B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8600925B2 (en) * | 2011-06-23 | 2013-12-03 | Microsoft Corporation | Object-relational mapped database initialization |
CN102722575A (zh) * | 2012-06-05 | 2012-10-10 | 河北世窗信息技术有限公司 | 一种多类型数据库连接池管理系统及管理方法 |
CN103810203A (zh) * | 2012-11-13 | 2014-05-21 | 深圳市腾讯计算机系统有限公司 | 一种数据库管理系统连接复用方法及装置 |
CN103970807A (zh) * | 2013-02-06 | 2014-08-06 | 阿里巴巴集团控股有限公司 | 数据库连接管理方法及系统 |
US20150058858A1 (en) * | 2013-08-21 | 2015-02-26 | Hasso-Platt ner-Institut fur Softwaresystemtechnik GmbH | Dynamic task prioritization for in-memory databases |
US20160092271A1 (en) * | 2014-09-30 | 2016-03-31 | International Business Machines Corporation | Merging connection pools to form a logical pool of connections during a preset period of time thereby more efficiently utilizing connections in connection pools |
CN104809247A (zh) * | 2015-05-18 | 2015-07-29 | 北京京东尚科信息技术有限公司 | 数据库连接的分配和回收方法 |
CN105138693A (zh) * | 2015-09-18 | 2015-12-09 | 联动优势科技有限公司 | 一种访问数据库的方法及装置 |
CN105279263A (zh) * | 2015-10-23 | 2016-01-27 | 国网信息通信产业集团有限公司 | 一种支持多应用共享的数据库连接系统及方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145061A (zh) * | 2018-07-26 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种数据库分配会话对象的方法、数据库和服务器 |
CN111324644A (zh) * | 2018-11-28 | 2020-06-23 | 中国移动通信集团浙江有限公司 | 大型微服务架构下的数据库连接风暴的监控方法及装置 |
CN111324644B (zh) * | 2018-11-28 | 2023-10-27 | 中国移动通信集团浙江有限公司 | 大型微服务架构下的数据库连接风暴的监控方法及装置 |
CN109800261A (zh) * | 2018-12-15 | 2019-05-24 | 平安科技(深圳)有限公司 | 双数据库连接池的动态控制方法、装置及相关设备 |
CN109800261B (zh) * | 2018-12-15 | 2024-04-05 | 平安科技(深圳)有限公司 | 双数据库连接池的动态控制方法、装置及相关设备 |
CN114064810A (zh) * | 2022-01-17 | 2022-02-18 | 北京奥星贝斯科技有限公司 | 处理事务的方法和装置 |
CN114064810B (zh) * | 2022-01-17 | 2022-05-03 | 北京奥星贝斯科技有限公司 | 处理事务的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106021544B (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100578455C (zh) | 提交给网格环境的网格作业使用前的资源功能性验证 | |
CN104885054B (zh) | 大规模并行处理数据库中执行事务的系统和方法 | |
CN104050042B (zh) | Etl作业的资源分配方法及装置 | |
CN106021544A (zh) | 数据库分布式连接池管理方法和系统 | |
CN101604334B (zh) | 一种基于缓存技术的医疗影像数据库检索方法及检索系统 | |
CN106446153A (zh) | 一种分布式newSQL数据库系统及方法 | |
CN108255712A (zh) | 数据系统的测试系统和测试方法 | |
CN100554985C (zh) | 一种北向接口数据完整性的检验方法 | |
CN1358379A (zh) | 电信网络资源管理方案和方法 | |
CN101299198B (zh) | 一种动态自适应的网格数据迁移方法 | |
CN107402926A (zh) | 一种查询方法以及查询设备 | |
CN115733754B (zh) | 基于云原生中台技术的资源管理系统及其弹性构建方法 | |
DE102017213160A1 (de) | Kompilierung für knotenvorrichtungs-GPU-basierte Parallelverarbeitung | |
CN112057038A (zh) | 一种基于云平台的大数据智能健康监护系统 | |
CN110706125A (zh) | 水利大数据分析信息服务系统和平台服务系统 | |
CN113515363B (zh) | 面向异型任务高并发的多层次数据处理系统动态调度平台 | |
CN106060125A (zh) | 一种基于数据标签的分布式实时数据传输方法 | |
CN102055779B (zh) | 生成高可用性组的方法、设备及系统 | |
CN103425684A (zh) | 数据库的操作方法及装置 | |
CN108920702A (zh) | 实现异构数据库同步在线交换和共享的方法 | |
WO2023209414A1 (en) | Methods and apparatus for computing resource allocation | |
CN100358289C (zh) | 一种综合网管系统及管理网元管理系统的方法 | |
CN104735097A (zh) | 信息的收集方法和系统 | |
CN102929605A (zh) | 一种基于云计算的数据挖掘系统开放接口 | |
CN100373883C (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 |