[发明专利]数据库切换方法及装置有效
申请号: | 201410433481.5 | 申请日: | 2014-08-28 |
公开(公告)号: | CN105373563B | 公开(公告)日: | 2020-02-18 |
发明(设计)人: | 朱超;王超;陈非 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/242 |
代理公司: | 北京市浩天知识产权代理事务所(普通合伙) 11276 | 代理人: | 宋菲 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 切换 方法 装置 | ||
本申请公开了一种数据库切换方法及装置,该方法中间件与原数据库之间建立有第一连接,当中间件接收到将原数据库切换为新数据库的切换请求时,根据该切换请求,中间件与新数据库建立第二连接,并保持与原数据库的第一连接,由于此时中间件同时保持着与原数据库、新数据库之间的连接,因此,当中间件接收到客户端的操作请求时,不必等待原数据库将尚未完成处理的操作请求全部处理完毕,即可直接将接收到的操作请求通过第二连接发送给新数据库处理,有效地提高了中间件的发送效率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据库切换方法及装置。
背景技术
随着互联网的迅速发展,数据库的中间件技术在面向网络的分布式数据库系统中得到了广泛的应用。
中间件可以是位于客户端与数据库之间的中转设备,并可以连接两者。当客户端向中间件请求访问数据库时,该客户端先与中间件建立通讯连接,然后,中间件从预先建立的数据库连接中选择一个当前空闲的数据库连接,并将该数据库连接分配给该客户端使用。
当客户端要使用结构化查询语言(Structured Query Language,SQL)语句对数据库中的数据进行操作时,会将SQL语句发送至中间件,由中间件通过分配给该客户端的数据库连接将该SQL语句转发至数据库,数据库执行接收到的该SQL语句,并通过中间件向该客户端返回该SQL语句的执行结果。
在现有技术中,当要将原数据库切换为新数据库时,中间件会接收到将原数据库切换为新数据库的切换请求,此时,中间件需要一直等待原数据库将之前中间件发送的SQL语句全部执行完毕后,才能将尚未发送给原数据库的SQL语句发送给新数据库,从而导致中间件的发送效率较低。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据库切换方法及装置,在原数据库切换为新数据库时,能够有效地提高中间件的发送效率。
根据本发明的第一个方面,提出一种数据库切换方法,中间件与第一数据库之间建立有第一连接,包括:
所述中间件接收将所述第一数据库切换为第二数据库的切换请求;
所述中间件根据所述切换请求,与所述第二数据库建立第二连接,并保持所述第一连接;
当所述中间件接收到客户端的操作请求时,将所述操作请求通过所述第二连接发送给所述第二数据库处理。
可选地,所述方法还包括:
监控所述第一数据库中的未完成处理的操作请求;
当监控到所述第一数据库中不存在未完成处理的操作请求时,所述中间件断开所述第一连接。
可选地,监控所述第一数据库中的未完成处理的操作请求具体包括:
所述中间件监控所述第一数据库中的未完成处理的操作请求的数量;
每监控到所述第一数据库处理完一个操作请求时,将所述未完成处理的操作请求的数量减1;
当所述未完成处理的操作请求的数量为0时,确定所述第一数据库中不存在未完成处理的操作请求。
可选地,将所述操作请求通过所述第二连接发送给所述第二数据库处理之前,所述方法还包括:
确定所述操作请求所属的数据库事务中的其它操作请求未通过所述第一连接发送给所述第一数据库处理。
可选地,所述操作请求包括:SQL语句;
所述处理包括:执行SQL语句,并向所述中间件发送执行结果。
根据本发明的第二个方面,提出一种数据库切换装置,中间件与第一数据库之间建立有第一连接,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410433481.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:网页处理方法及装置
- 下一篇:数据迁移方法、设备及数据节点服务器