[发明专利]一种实现分布式数据库代理的方法及装置有效
申请号: | 201210473158.1 | 申请日: | 2012-11-20 |
公开(公告)号: | CN102982141A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 张辉华 | 申请(专利权)人: | 北京搜狐新媒体信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100084 北京市海淀区中关*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 分布式 数据库 代理 方法 装置 | ||
1.一种实现分布式数据库代理的方法,其特征在于,包括:
通过监听数据库配置信息的变化,更新所保存的数据库配置信息,所述数据库配置信息至少包括数据库名称、其对应的IP地址和端口;
接收客户端对目标数据库的连接请求,获得目标数据库名称;
若目标数据库名称在所保存的数据库配置信息中,根据目标数据库名称对应的IP地址和端口,建立客户端与目标数据库的连接。
2.根据权利要求1所述的方法,其特征在于,所述通过监听数据库配置信息,更新所保存的数据库配置信息具体实现为:
读取所保存的数据库配置信息;
根据所述数据库配置信息,访问该数据库;
如果访问失败,删除该数据库配置信息;
如果访问正常,接收返回的更新数据库配置信息,更新该数据库配置信息。
3.根据权利要求2所述的方法,其特征在于,还包括获得所保存的数据库配置信息的步骤:
接收数据库配置信息的注册请求,所述数据库配置信息至少包括数据库名称、IP地址和端口;
为该数据库配置信息分配存储空间,保存该数据库配置信息。
4.根据权利要求1所述的方法,其特征在于,所述通过监听数据库配置信息,更新所保存的数据库配置信息具体实现为:
通过监听ZooKeeper发出的数据库节点变化的通知,确定数据库配置信息的变化;
在监听到所述通知时,读取ZooKeeper上保存的数据库节点的配置信息;
更新数据库配置信息。
5.根据权利要求1所述的方法,其特征在于,还包括:若目标数据库名称不在数据库配置信息中,向客户端返回数据库信息不存在错误。
6.根据权利要求1所述的方法,其特征在于,所述根据目标数据库名称对应的IP地址和端口,建立客户端与目标数据库的连接具体实现为:
查询是否存在目标数据库名称对应的连接池;
如果存在,从目标数据库名称对应的连接池中取出空闲连接,通过该空闲连接建立客户端与目标数据库的连接,并且将该空闲连接状态设置为繁忙,其中,所述空闲连接具体根据数据库配置信息中该目标数据库名称对应的IP地址和端口创建;
如果不存在,根据数据库配置信息中该目标数据库名称对应的IP地址和端口创建目标数据库名称对应的连接池,其中所述连接池包含最小连接数个空闲连接,从该连接池中取出空闲连接,通过该空闲连接建立客户端与目标数据库的连接,并且将该空闲连接状态设为繁忙。
7.根据权利要求6所述的方法,其特征在于,所述从目标数据库名称对应的连接池中取出空闲连接,具体实现为:
判断目标数据库名称对应的连接池中是否有空闲连接;
如果有,从目标数据库名称对应的连接池中取出空闲连接;
如果没有,判断目标数据库名称对应的连接池中的连接数是否小于最大连接数阈值,如果是,在该连接池中增加与目标数据库的空闲连接,从该连接池中取出空闲连接。
8.根据权利要求6所述的方法,其特征在于,在建立客户端与目标数据库的连接之后,还包括:
接收客户端断开与目标数据库连接的请求;
根据所述请求,断开与客户端的连接,将与目标数据库的连接放回目标数据名称对应的连接池,并且将该连接状态设置为空闲。
9.根据权利要求6-8任意一项所述的方法,其特征在于,还包括:
计算所述连接池内的空闲连接的空闲时间;
查询出空闲时间超过预设空闲时间阈值的空闲连接;
若所查询出的空闲连接所在连接池内的连接个数大于最小连接数阈值,则将所查询出的空闲连接从连接池内删除。
10.根据权利要求1所述的方法,其特征在于,所述数据库配置信息还包括用户名和密码;
所述接收客户端对数据库的连接请求,获得目标数据库名称时,还获得客户端的用户名和密码;
在建立客户端与目标数据库的连接之前,还将客户端的用户名和密码与数据库配置信息中的用户名和密码进行匹配;
所述建立客户端与目标数据库的连接具体在匹配正确时,建立客户端与目标数据库的连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京搜狐新媒体信息技术有限公司,未经北京搜狐新媒体信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210473158.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于挖掘微博热点话题的装置及方法
- 下一篇:改进不透气性的注射成型容器