[发明专利]一种多数据库的连接方法及装置有效
申请号: | 201210371389.1 | 申请日: | 2012-09-28 |
公开(公告)号: | CN102902779A | 公开(公告)日: | 2013-01-30 |
发明(设计)人: | 任军;柳忠伟 | 申请(专利权)人: | 五八有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 田俊峰 |
地址: | 300457 天津市滨海新区第一大*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多数 连接 方法 装置 | ||
技术领域
本发明涉及数据库连接技术领域,特别是涉及一种多数据库的连接方法及装置。
背景技术
在使用多数据库作为数据提供者的情况下,普通数据库连接池只能同时使用一个数据库作为连接提供者,如果当前数据库出现异常,需要停止应用直至数据库恢复。现有的解决方案中,有通过设置主用数据库和备用数据库来解决上述问题的方案,备用数据库的主要作用是用于数据备份,虽然能够保证数据的不丢失,但是在主用数据库出现问题时,却很难保证系统继续正常运行。如果系统要在短期内恢复访问,需要手动修改数据库配置,调用备用数据库,并重启服务。当主用数据库恢复正常以后,还要再次修改配置恢复对主用数据库的访问,整个过程会造成整个系统的不稳定甚至停用。
发明内容
本发明要解决的技术问题是提供一种多数据库的连接方法及装置,用以解决现有技术中数据库出现问题时造成的系统不稳定甚至停用的问题。
为解决上述技术问题,一方面,本发明提供一种多数据库的连接方法,包括:
启动时,加载配置中的全部数据库连接池,以及,在所有数据库连接池中,设置主用数据库对应的连接池为当前使用连接池,设置剩余的备用数据库对应的连接池为备用连接池;
接到调用者发起的数据库资源请求时,判断主用数据库是否能够连接,如果是,则进行连接,如果否,则进行数据库切换,在备用数据库中选择一个数据库进行连接;使调用者获得连接。
进一步,启动时,还启动数据状态监视器,用于对主用数据库的健康参数进行监测,获取主用数据库的健康参数。
进一步,判断数据库是否能够连接,具体包括以下步骤:
首先判断主用数据库是否已经停止,如果是,则判定主用数据库无法连接;如果否,其次判断主用数据库对应的当前使用连接池是否已经连接满,如果是,则判定主用数据库无法连接;如果否,最后判断主用数据库的健康参数是否达到预先设定的健康参数阈值,如果是,则判定主用数据库无法连接;如果否,则判定主用数据库可以连接。
进一步,在调用者发起数据库资源请求之后,对进入获取连接的线程进行计数,当计数器达到预先设定的计数阈值,调用者还没有获得连接时,判定主用数据库无法连接。
进一步,在调用者获得连接之后,还包括:
数据状态监视器对当前连接的数据库的健康参数进行监测,获取当前连接数据库的健康参数,并判断是否达到预先设定的健康参数阈值,如果是,则修改当前连接的数据库状态为不可连接,进行数据库切换;如果否,则保持连接。
进一步,数据状态监视器对当前连接的数据库的健康参数进行监测,具体包括:
判断当前连接的数据库执行读写操作是否出现异常,如果是,则对当前连接的数据库的健康参数减1;如果否,则对当前连接的数据库的健康参数加2;
当前连接的数据库出现坏连接,则对当前连接的数据库的健康参数加4。
另一方面,本发明还提供一种多数据库的连接装置,包括:
启动配置模块,用于启动时,加载配置中的全部数据库连接池,以及,在所有数据库连接池中,设置主用数据库对应的连接池为当前使用连接池,设置剩余的备用数据库对应的连接池为备用连接池;
连接切换模块,用于接到调用者发起的数据库资源请求时,判断主用数据库是否能够连接,如果是,则进行连接,如果否,则进行数据库切换,在备用数据库中选择一个数据库进行连接;使调用者获得连接。
进一步,所述装置还包括:
数据状态监视器,用于启动后对主用数据库的健康参数进行监测,获取主用数据库的健康参数;
所述连接切换模块首先判断主用数据库是否已经停止,如果是,则判定主用数据库无法连接;如果否,其次判断主用数据库对应的当前使用连接池是否已经连接满,如果是,则判定主用数据库无法连接;如果否,最后判断主用数据库的健康参数是否达到预先设定的健康参数阈值,如果是,则判定主用数据库无法连接;如果否,则判定主用数据库可以连接;
所述连接切换模块在调用者发起数据库资源请求之后,对进入获取连接的线程进行计数,当计数器达到预先设定的计数阈值,调用者还没有获得连接时,判定主用数据库无法连接。
进一步,所述数据状态监视器还用于对当前连接的数据库的健康参数进行监测,获取当前连接数据库的健康参数,并判断是否达到预先设定的健康参数阈值,如果是,则修改当前连接的数据库状态为不可连接,进行数据库切换;如果否,则保持连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于五八有限公司,未经五八有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210371389.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:接线端子的快速接线机构
- 下一篇:一种歌曲处理方法及系统