【技术实现步骤摘要】
本专利技术涉及计算机数据库领域,尤其涉及一种。
技术介绍
信息化应用程序一般都要频繁地访问数据库,典型的一个业务场景如:从数据库读取业务数据,组装成业务信息展现给用户,同时把用户对业务信息的修改内容保存到数据库。对于一个Web应用系统,应用服务器一般为每一个客户端(即一个会话,session)访问开辟一个独立线程,以提高应用系统性能。此时,如果数据库访问采用单线程的建立、使用、关闭,就会严重阻塞多线程执行效率,并且,一个数据库访问的建立,会消耗较大的系统资源和时间,如果频繁地建立和关闭数据库访问,会极大降低系统性能。怎样提升应用系统数据访问性能,数据库连接池就是针对这个问题提出来的。一般地,当数据库连接池建立时,初始化几个数据连接,等待应用程序调用。应用程序调用一次,就取走一个数据连接,使用完了就归还数据连接。当连接池内的数据连接取完了,就增加新数据连接,直到创建连接达到最大允许连接个数。若再取连接时,等待一段时间,若还没有空闲连接就会抛出异常。这就是一般数据库连接池的工作原理,采用数据库连接池技术,能极大提升应用系统的数据访问性能。但是现有技术中缺少在 ...
【技术保护点】
一种数据库连接池的控制方法,用于对外提供数据连接,包括:根据预设的优先级范围,规范化传入的线程优先级参数,得到规范化参数优先级;判断当前连接池是否为空,如果连接池不为空,取出第一个数据连接,设置当前状态为忙,返回该数据连接;如果连接池为空,判断当前外部程序使用中未归还的数据连接个数是否已经达到了连接池内最大连接个数,如果未达到,增加数据连接,并加入当前数据库连接池,返回数据库连接池的第一个数据连接;如果当前外部程序使用中未归还的数据连接个数达到连接池内最大连接个数,设置当前线程的优先级为规范化参数优先级,获取当前时间作为第一时间,循环判断当前连接池是否为空,数据库连接池进入 ...
【技术特征摘要】
1.一种数据库连接池的控制方法,用于对外提供数据连接,包括: 根据预设的优先级范围,规范化传入的线程优先级参数,得到规范化参数优先级; 判断当前连接池是否为空,如果连接池不为空,取出第一个数据连接,设置当前状态为忙,返回该数据连接; 如果连接池为空,判断当前外部程序使用中未归还的数据连接个数是否已经达到了连接池内最大连接个数,如果未达到,增加数据连接,并加入当前数据库连接池,返回数据库连接池的第一个数据连接; 如果当前外部程序使用中未归还的数据连接个数达到连接池内最大连接个数,设置当前线程的优先级为规范化参数优先级,获取当前时间作为第一时间,循环判断当前连接池是否为空,数据库连接池进入等待状态; 循环判断当前连接池是否为空包括:获取当前时间作为第二时间,如果第二时间大于所述第一时间加上最大等待时间,则把数据连接超时信息写入日志,并返回空值;如果第二时间小于第一时间加上最大等待时间,数据库连接池继续等待;如果连接池不为空,即有新释放的数据连接时,取出第一个数据连接,设置数据连接状态为忙,并返回该数据连接。2.根据权利要求1所述的数据库连接池的控制方法,其中,增加数据连接包括: 根据连接池扩展时每次增加数据连接个数和当前连接池可增加的数据连接个数进行对比,取其中的最小值作为要增加的数据连接数。3.根据权利要求1所述的数据库连接池的控制方法,还包括:数据库连接池定期检查数据库连接是否有效,如果无效,会通知连接池清理数据连接。4.根据权利要求1所述的数据库连接池的控制方法,还包括:数据库连接池定期检查数据库连接池大小,如果连接池为空,同时正在使用的数据连接个数小于连接池最小数据连接个数,则连接池加大数据连接到连接池最小连接个数。5.根据权利要求1所述的数据库连接池的控制方法,还包括:数据库连接池定期检查数据库连接配置文件最后修改时间,如果最后修改时间在当前时间减去数据库检查时间范围内,则数据库配置文件已被修改,调用数据...
【专利技术属性】
技术研发人员:陈清水,李海,刘红超,张健,
申请(专利权)人:国家电网公司,北京许继电气有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。