[发明专利]自动切换数据源的方法、装置及一种数据源切换器无效
申请号: | 200710103030.5 | 申请日: | 2007-04-29 |
公开(公告)号: | CN101295304A | 公开(公告)日: | 2008-10-29 |
发明(设计)人: | 金伟安;程立 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 逯长明 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自动 切换 数据源 方法 装置 一种 | ||
技术领域
本发明涉及数据库访问技术,特别是涉及多数据库访问技术,提出一种自动切换数据源的方法和装置,以及一种数据源切换器。
背景技术
在一些大型的业务系统中,如电子商务网站,支持网站运行的后台系统数据库中保存着大量的数据记录。但随着网站运营时间的推移,所述数据库中的数据量会非常大,访问数据库的操作非常耗时,从而影响整个系统的性能。
当系统数据库中的记录太多时,常用的解决方法是将所述数据库的数据定期迁移到其他数据库中。其中,将最初存放记录的数据库称为生产数据库,简称生产库;将存放迁移数据的数据库称为历史数据库,简称历史库。将生产库中的一部分数据迁移到历史库后,生产库中的数据量减少,从而提高了访问生产库的效率。
系统需要经常访问生产库,但根据不同的业务需求,也需要访问历史库中的数据。现有的处理方法是:接收数据库访问请求后,应用程序先判断需要访问的数据库,然后连接相应的数据库进行各类访问操作。
目前,很多业务系统都基于某种程序框架,利用程序框架开发出满足各种业务需求的应用程序。例如,一种基于Ibatis框架(是一种数据库层的控制框架)的业务系统,框架程序中的IbatisDAO用于进行数据操作,是Ibatis框架支持提供的数据库操作组件。基于所述Ibatis框架的应用程序,在需要访问一个数据库时,调用IbatisDAO数据库操作组件,完成各类数据库操作。具体过程是:先配置IbatisDAO数据库操作组件,使其继承框架底层的数据库连接组件,所述数据库连接组件是框架底层提供的用于连接数据库的组件;然后由应用程序调用IbatisDAO,通过继承数据库连接组件连接数据库的方法,进行数据库操作。
由于所述数据库连接组件只支持连接一个数据库,所以继承其属性和方法的IbatisDAO也只支持连接一个数据库,或者访问生产库,或者访问历史库。但是为实现业务系统能够根据业务需求灵活访问生产库或历史库,需要新增一套连接数据库的配置信息,即配置两份IbatisDAO分别继承框架底层的数据库连接组件,如prodIbatisDAO连接生产库,historyIbatisDAO连接历史库。而且,还需要在应用程序中添加一段判断数据源的程序,应用程序根据判断得到的数据源标识从两者中选择IbatisDAO,再进行相应的数据库操作。其中,所述数据源指数据获取的来源,即存放该数据的数据库;所述数据源标识用于区别数据源,如prod表示生产库,history表示历史库。
上述在应用程序中实现多数据访问的方法,存在以下缺点:第一,在大型业务系统中,每个数据库中的数据量非常大,需要配置的信息非常多,所以新增一套IbatisDAO数据库操作配置,就需要花费很多时间和精力,如果增加多套配置,就会增加很大的开发量;第二,为实现多数据库访问,还需要修改应用程序,在应用程序中增加判断程序,因此实现起来不灵活,还容易造成应用程序出错,影响业务系统的正常运行。
发明内容
本发明所要解决的技术问题是提供一种自动切换数据源的方法和装置,以解决业务系统灵活访问多个数据库的问题。
本发明的另一个目的是提供一种数据源切换器,设置在业务系统中,实现业务系统在基本不作修改的情况下可以灵活访问多个数据库。
为解决上述技术问题,根据本发明提供的具体实施例,本发明公开了以下技术方案:
一种切换数据源的方法,包括:
创建数据库连接,使所述连接支持多个数据源;
配置数据库操作继承所述数据库连接的方法和属性;
调用数据库操作,所述数据库连接获取数据源标识并返回;
所述数据库操作根据返回的数据源标识,切换连接到相应的数据库,并进行各类操作。
所述方法还包括:从请求中获取数据源标识并存储,数据库连接获取所述存储的数据源标识。其中,使用过滤器拦截请求,获取数据源标识并存储。
所述方法还包括:对数据源进行配置,配置信息包括数据源标识。
所述方法还包括:执行完一次请求,自动删除存储的数据源标识。
一种切换数据源的装置,包括:
系统配置单元,用于创建数据源切换单元,并对数据库操作单元进行配置;
数据源切换单元,用于获取数据源标识,并返回给数据库操作单元;
数据库操作单元,用于被调用时,根据返回的数据源标识,切换连接到相应的数据库,并进行各类操作。
所述装置还包括:数据源标识获取单元,用于从请求中获取数据源标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710103030.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种半强制通风静态污泥好氧堆肥方法
- 下一篇:自称重式旅行箱