[发明专利]数据库切换方法和数据库切换系统有效
申请号: | 201210438737.2 | 申请日: | 2012-11-06 |
公开(公告)号: | CN103810174A | 公开(公告)日: | 2014-05-21 |
发明(设计)人: | 李铮 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许志勇 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 切换 方法 系统 | ||
1.一种数据库切换方法,其用于从一台或多台服务器与主数据库的连接切换到所述一台或多台服务器与备数据库的连接,其中,每台服务器具备兼容性开关、数据源切换开关、兼容性逻辑模块以及数据源构建逻辑模块,所述方法包括以下步骤:
A)分别开启每台服务器的所述兼容性开关来启动每台服务器的所述兼容性逻辑模块,所述兼容性逻辑模块执行使所述主数据库和所述备数据库业务兼容的兼容处理,所述数据源构建逻辑模块基于所述数据源切换开关的未开启状态而将所述主数据库构建为主数据源以及将所述备数据库构建为备数据源;
B)分别开启每台服务器的所述数据源切换开关而使每台服务器从与所述主数据库的连接切换到与所述备数据库的连接,所述兼容性逻辑模块继续执行所述兼容处理,所述数据源构建逻辑模块基于所述数据源切换开关的开启状态而将所述主数据库构建为备数据源以及将所述备数据库构建为主数据源;以及
C)经过预定时间后关闭每台服务器的所述兼容性开关。
2.根据权利要求1所述的方法,其中,所述兼容处理是:当存在来自每台服务器的所述业务请求时,所述兼容性逻辑模块分别在所述主数据源和所述备数据源中查询所述业务请求对应的业务ID,当所述主数据源或所述备数据源中具有所述业务ID时将所述业务请求在具有所述业务ID的所述主数据源或所述备数据源中进行处理,当所述主数据源或所述备数据源中不具有所述业务ID时将所述业务请求在所述主数据源中处理。
3.根据权利要求1所述的方法,其中,在所述分别开启每台服务器的所述兼容性开关的步骤之前,还包括在第一模式与第二模式之间切换数据库切换模式的步骤。
4.根据权利要求3所述的方法,其中,第一模式是在单库与分库之间进行切换的数据库水平拆分模式,第二模式是在主库与备库之间进行切换的数据库失效切换模式。
5.根据权利要求4所述的方法,其中,
在所述数据库切换模式是所述第一模式时,所述数据源切换开关被开启表示从单库切换到分库,其中,所述单库是主数据库,所述分库是备数据库;
在所述数据库切换模式是所述第二模式时,所述数据源切换开关被开启表示从备库切换到主库,其中,所述备库是主数据库,所述主库是备数据库。
6.根据权利要求3所述的方法,其中,所述数据源构建逻辑模块根据所述数据库切换模式和所述数据源切换开关的状态构建所述主数据源和所述备数据源。
7.根据权利要求6所述的方法,其中,当所述数据库切换模式是所述第一模式且所述数据源切换开关的状态是未开启状态时,所述数据源构建逻辑模块将所述主数据源构建为单库、将所述备数据源构建为分库。
8.根据权利要求6所述的方法,其中,当所述数据库切换模式是所述第一模式且所述数据源切换开关的状态是开启状态时,所述数据源构建逻辑模块将所述主数据源构建为分库、将所述备数据源构建为单库。
9.根据权利要求5所述的方法,其中,在所述数据库切换模式是所述第二模式时,在执行步骤(A)之前,还包括不开启所述兼容性开关而直接将所述主库切换到所述备库的步骤。
10.根据权利要求6所述的方法,其中,当所述数据库切换模式是所述第二模式且所述数据源切换开关的状态是未开启状态时,所述数据源构建逻辑模块将所述主数据源构建为备库、将所述备数据源构建为主库。
11.根据权利要求6所述的方法,其中,当所述数据库切换模式是所述第二模式且所述数据源切换开关的状态是开启状态时,所述数据源构建逻辑模块将所述主数据源构建为主库、将所述备数据源构建为备库。
12.根据权利要求1所述的方法,还包括:在开启所述兼容性开关或所述数据源切换开关以后发生错误时,通过关闭在发生错误前已开启的所述兼容性开关或所述数据源切换开关来执行回滚操作的步骤。
13.一种数据库切换系统,用于从一台或多台服务器与主数据库的连接切换到所述一台或多台服务器与备数据库的连接,所述数据库切换系统包括所述一台或多台服务器、所述主数据库以及所述备数据库,每台服务器包括兼容性开关、数据源切换开关、兼容性逻辑模块以及数据源构建逻辑模块,
每台服务器的所述兼容性开关,用于通过被开启而启动所述兼容性逻辑模块,通过在所述数据源切换开关被开启且经过预定时间之后被关闭而使所述兼容性逻辑模块停止工作;
每台服务器的所述数据源切换开关,用于通过在开启所述兼容性开关之后被开启而使所在服务器从与所述主数据库的连接切换到与所述备数据库的连接;
每台服务器的所述兼容性逻辑模块,用于在所述兼容性开关从被开启到被关闭的期间内执行使所述主数据库和所述备数据库业务兼容的兼容处理;以及
每台服务器的所述数据源构建逻辑模块,用于在所述数据源切换开关被开启之前,将所述主数据库构建为主数据源以及将所述备数据库构建为备数据源,而在所述数据源切换开关被开启之后,将所述主数据库构建为备数据源以及将所述备数据库构建为主数据源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210438737.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种商品信息的搜索方法及装置
- 下一篇:生成单据的方法及系统