[发明专利]数据库连接池的控制方法在审
申请号: | 201310586676.9 | 申请日: | 2013-11-20 |
公开(公告)号: | CN103605571A | 公开(公告)日: | 2014-02-26 |
发明(设计)人: | 陈清水;李海;刘红超;张健 | 申请(专利权)人: | 国家电网公司;北京许继电气有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F17/30 |
代理公司: | 北京立成智业专利代理事务所(普通合伙) 11310 | 代理人: | 李想 |
地址: | 100017 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库连接 控制 方法 | ||
技术领域
本发明涉及计算机数据库领域,尤其涉及一种数据库连接池的控制方法。
背景技术
信息化应用程序一般都要频繁地访问数据库,典型的一个业务场景如:从数据库读取业务数据,组装成业务信息展现给用户,同时把用户对业务信息的修改内容保存到数据库。
对于一个Web应用系统,应用服务器一般为每一个客户端(即一个会话,session)访问开辟一个独立线程,以提高应用系统性能。此时,如果数据库访问采用单线程的建立、使用、关闭,就会严重阻塞多线程执行效率,并且,一个数据库访问的建立,会消耗较大的系统资源和时间,如果频繁地建立和关闭数据库访问,会极大降低系统性能。
怎样提升应用系统数据访问性能,数据库连接池就是针对这个问题提出来的。
一般地,当数据库连接池建立时,初始化几个数据连接,等待应用程序调用。应用程序调用一次,就取走一个数据连接,使用完了就归还数据连接。当连接池内的数据连接取完了,就增加新数据连接,直到创建连接达到最大允许连接个数。若再取连接时,等待一段时间,若还没有空闲连接就会抛出异常。这就是一般数据库连接池的工作原理,采用数据库连接池技术,能极大提升应用系统的数据访问性能。
但是现有技术中缺少在高并发、多数据源环境下对于数据库连接池的控制方法。
发明内容
本发明要解决的技术问题是,针对现有技术的不足,提供一种数据库连接池的控制方法,在高并发、多数据源环境下,有效提高了数据访问性能。
根据本发明一个方面,提供一种数据库连接池的控制方法,用于对外提供数据连接,包括:
根据预设的优先级范围,规范化传入的线程优先级参数,得到规范化参数优先级;
判断当前连接池是否为空,如果连接池不为空,取出第一个数据连接,设置当前状态为忙,返回该数据连接;
如果连接池为空,判断当前外部程序使用中未归还的数据连接个数是否已经达到了连接池内最大连接个数,如果未达到,增加数据连接,并加入当前数据库连接池,返回数据库连接池的第一个数据连接;
如果当前外部程序使用中未归还的数据连接个数达到连接池内最大连接个数,设置当前线程的优先级为规范化参数优先级,获取当前时间作为第一时间,循环判断当前连接池是否为空,数据库连接池进入等待状态;
循环判断当前连接池是否为空包括:获取当前时间作为第二时间,如果第二时间大于所述第一时间加上最大等待时间,则把数据连接超时信息写入日志,并返回空值;如果第二时间小于第一时间加上最大等待时间,数据库连接池继续等待;如果连接池不为空,即有新释放的数据连接时,取出第一个数据连接,设置数据连接状态为忙,并返回该数据连接。
可选的,其中,增加数据连接包括:
根据连接池扩展时每次增加数据连接个数和当前连接池可增加的数据连接个数进行对比,取其中的最小值作为要增加的数据连接数。
可选的,所述的数据库连接池的控制方法还包括:数据库连接池定期检查数据库连接是否有效,如果无效,会通知连接池清理数据连接。
可选的,所述的数据库连接池的控制方法还包括:数据库连接池定期检查数据库连接池大小,如果连接池为空,同时正在使用的数据连接个数小于连接池最小数据连接个数,则连接池加大数据连接到连接池最小连接个数。
可选的,所述的数据库连接池的控制方法还包括:数据库连接池定期检查数据库连接配置文件最后修改时间,如果最后修改时间在当前时间减去数据库检查时间范围内,则数据库配置文件已被修改,调用数据库连接池工厂刷新数据库连接池配置。
可选的,所述的数据库连接池的控制方法还包括:数据库连接池循环数据库连接池内的数据连接,如果数据连接空闲,且空闲时间大于最大空闲时间,则关闭该数据连接;
其中,关闭数据连接包括:将该数据库连接归还到数据库连接池,以便下回外部程序获取数据连接时能再次取出该连接。
根据本发明另一个方面,提供一种数据库连接池的控制方法,用于对内进行任务调度,包括:
判断配置文件是否已经修改;
如果数据库配置文件有修改,调用数据库连接池工厂,刷新当前数据库连接池配置信息,并终止后续任务调度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家电网公司;北京许继电气有限公司,未经国家电网公司;北京许继电气有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310586676.9/2.html,转载请声明来源钻瓜专利网。