[发明专利]一种针对数据库连接意外中断的自动重连方法及其装置有效
申请号: | 201210138481.3 | 申请日: | 2012-05-07 |
公开(公告)号: | CN102708175A | 公开(公告)日: | 2012-10-03 |
发明(设计)人: | 李睿;吕江花;马世龙 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 周长琪 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 数据库连接 意外 中断 自动 方法 及其 装置 | ||
1.一种针对数据库连接意外中断的自动重连装置,其特征在于,该装置包括如下模块:数据库连接池、连接有效性检测器(3)、数据库连接请求监视器(4)、连接请求优先级分析器(5)、以及异常捕获器(6);数据库连接池运行在数据库服务器(7)上,包括数据库常规数据库连接池(1)和备用数据库连接池(2);数据库常规数据库连接池(1)中保存着固定数目的数据库连接,当数据连接池初始化时,将初始化常规数据库连接池(1)中的数据库连接;
数据库连接请求监视器(4)检测应用程序发起的数据库连接请求,并记录前后两次数据库连接请求之间的时间间隔;当数据库连接请求监视器(4)检测到数据库连接请求时,首先检测当前常规数据库连接池(1)中是否有空闲连接,若没有空闲连接,则进行等待,直到有空闲连接,若有空闲连接,给该数据库连接请求分配一个数据库连接,并根据前后两次数据库连接请求之间的时间间隔将所分配的数据库连接发送给连接有效性检测器(3)进行有效性检测;连接有效性检测器(3)对常规数据库连接池(1)所分配的数据库连接进行预连接,以检测当前所分配的数据库连接的有效性,若连接有效,则将所分配的数据库连接返回给应用程序所发起的数据库连接请求,若连接无效,则发送通知给连接请求优先级分析器(5);连接请求优先级分析器(5)在接收到连接有效性检测器(3)的通知后,通过预先设定的优先级策略对应用程序所发起的数据库连接请求进行判断,当该数据库连接请求属于优先级较高的数据库连接请求时,发送启用命令给备用数据库连接池(2);备用数据库连接池(2)在接收到启用命令后,进行初始化,初始化用户设定数目的数据库连接;
异常捕获器(6)为自定义的异常捕获机制,用于监控数据库常规数据库连接池(1)、备用数据库连接池(2)、连接有效性检测器(3)、数据库连接请求监视器(4)、连接请求优先级分析器(5)和数据库服务器(7),当捕获到数据库连接异常时,产生异常处理信息给用户。
2.根据权利要求1所述的一种针对数据库连接意外中断的自动重连装置,其特征在于,所述的数据库连接请求监视器(4),设置有两个时间变量Tlast和Tnow,在应用程序首次发起数据库连接请求时,记录当前数据库连接请求的时间,同时赋值给两个时间变量Tlast和Tnow,当应用程序不是首次发起数据库连接请求时,将时间变量Tnow的值赋值给时间变量Tlast,记录当前数据库连接请求的时间,同时赋值给时间变量Tnow;时间变量Tnow与Tlast之间的差值就是相邻两次数据库连接请求的时间间隔;将得到的时间间隔与预设值A进行比较,当时间间隔大于预设值A时,通过连接有效性检测器(3)检测常规数据库连接池(1)分配给当前的数据库连接请求的数据库连接的有效性;否则,直接使用分配到的数据库连接执行数据库SQL操作。
3.根据权利要求1所述的一种针对数据库连接意外中断的自动重连装置,其特征在于,所述的备用数据库连接池(2),当其内按需创建的数据库连接均被释放后,被清空。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210138481.3/1.html,转载请声明来源钻瓜专利网。