[发明专利]数据库连接的控制方法及装置有效
申请号: | 201510494001.0 | 申请日: | 2015-08-12 |
公开(公告)号: | CN106445976B | 公开(公告)日: | 2019-12-24 |
发明(设计)人: | 相利 | 申请(专利权)人: | 北京国双科技有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21 |
代理公司: | 11348 北京鼎佳达知识产权代理事务所(普通合伙) | 代理人: | 王伟锋;刘铁生 |
地址: | 100083 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种数据库连接的控制方法及装置,涉及数据库访问技术领域,主要目的在于解决当应用程序无需访问数据库时,可能因为各种原因没有对数据库连接进行释放,该数据库连接会一直维持,直到关闭或者重启该数据库时,才会关闭该数据库连接,造成数据库资源浪费的问题。本发明的主要技术方案包括:在创建数据库连接时,创建监控数据库连接的监控线程;启动监控线程,监控数据库连接的空闲时间是否超出预设时间阈值;若数据库连接的空闲时间超出预设时间阈值,则释放数据库连接,并停止监控线程。本发明主要应用于应用程序基于数据库连接访问数据库的过程中。 | ||
搜索关键词: | 数据库连接 控制 方法 装置 | ||
【主权项】:
1.一种数据库连接的控制方法,其特征在于,包括:/n在创建数据库连接时,调用预设应用程序编程接口创建监控所述数据库连接的监控线程,进一步至少包括:对于编程语言Java,在创建监控线程时,可以通过扩展Thread类来创建监控线程;或者,通过实现Runnable接口来创建监控线程;/n启动所述监控线程,监控所述数据库连接的空闲时间是否超出预设时间阈值,其中,所述数据库连接的空闲时间为所述数据库连接最终执行数据库操作指令的时间与系统当前时间之间的时间间隔;/n其中,将所述数据库连接最终执行所述数据库操作指令的时间定义为第一时间,获取第一时间包括:检测所述第一时间是否处于加锁状态,所述加锁状态为所述数据库连接中的数据库操作指令正在执行时对所述第一时间添加线程锁,其他线程无法访问加锁状态的所述第一时间;若所述第一时间未处于所述加锁状态,则调用预设函数获取所述第一时间;/n其中,若所述第一时间处于所述加锁状态,则将所述监控线程加入获取所述第一时间对应的等待队列中,等待所述第一时间解锁之后,调用预设函数获取所述第一时间,具体步骤包括:按照预设监控周期,利用所述监控线程执行监控数据库连接的空闲时间是否超出预设时间阈值,若检测到第一时间处于加锁状态,所述监控线程在获取第一时间对应的等待队列中等待第一时间解锁的过程中,所述监控线程执行下一个预设监控周期,将执行的两次监控线程都放入获取第一时间的等待队列中,以用于当第一时间被执行解锁时执行返回一个第一时间;/n若所述数据库连接的空闲时间超出所述预设时间阈值,则释放所述数据库连接,并停止所述监控线程。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510494001.0/,转载请声明来源钻瓜专利网。