[发明专利]访问分布式数据库的方法、数据源代理装置及应用服务器在审
| 申请号: | 201510851922.8 | 申请日: | 2015-11-27 |
| 公开(公告)号: | CN105447151A | 公开(公告)日: | 2016-03-30 |
| 发明(设计)人: | 张科 | 申请(专利权)人: | 深圳市金蝶友商电子商务服务有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
| 地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 访问 分布式 数据库 方法 数据源 代理 装置 应用 服务器 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种访问分布式数据库的方法、数据源代理装置及应用服务器。
背景技术
在互联网应用中,应用服务器可以很方便的做集群,每个应用服务器的代码是一样的,配置也相同,因为这有利于发布部署。
在上述情况下,应用服务器集群访问的数据库配置也是相同的,当用户数据增加,单一数据库无法支撑,需要分离成多数据库时,或者其他原因我们需要分离用户数据的时候,数据库需要进行分布式部署,此时很难在不变更程序或者程序配置的情况下让应用服务器访问不同的数据库。当前流行的框架Spring在管理数据访问接口(DAO,DataAccessObject)层时,配置的数据源就是这种情况。
现有技术中,应用程序需要很清楚分布式数据库的分布情况,显式的设置访问数据库,在需要变更数据源的时候,必须修改应用程序,配置数据源的过程对应用程序来说是非透明的,从而导致更新维护程序的成本高,不灵活。
发明内容
本发明实施例提供了一种访问分布式数据库的方法、数据源代理装置及应用服务器,能够灵活动态地设置数据源。
第一方面,本发明实施例提供了一种访问分布式数据库的方法,包括:
数据源代理接收数据库访问请求,通过数据源查询服务获取数据库访问请求对应的用户标识,再确定用户标识对应的底层数据源的标识,并返回底层数据源的标识对应的底层数据源的链接。
本发明实施例中,在访问分布式数据库时,并不是显式的设置访问数据库,而是通过数据源代理进行访问,从而针对不同的用户,可以返回不同的底层数据源产生的链接,达到分布式访问的目的,从而能够灵活动态地设置数据源,节省更新维护程序的成本。
结合第一方面,在第一方面的第一种可能的实现方式中,数据源查询服务包括一种分布式存储规则,分布式存储规则指示用户标识与底层数据源标识之间的对应关系。
在具体的实施中,上述的数据源查询服务由应用方提供,是独立于应用本身的功能开发的,对应用来说是透明的。
因此,由数据源代理通过应用方提供的数据源查询服务来确定线程上下文应用的底层数据源,从而动态地产生数据源链接,达到应用本身不知晓数据源代理的分布式特性的效果。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,数据源代理返回底层数据源的标识对应的底层数据源的链接包括:数据源代理根据底层数据源的标识查找到相应的底层数据源,并返回该底层数据源的链接。
需要说明的是,首次访问一个新的底层数据源时,需要新构造数据源并返回该数据源的链接。
结合第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,该方法还包括:数据源代理基于该底层数据源链接执行数据库查询指令。
第二方面,本发明实施例提供了一种访问分布式数据库的方法,包括:应用服务器获取数据源代理;应用服务器接收用户的访问请求,之后,从所述数据源代理中获取该用户的底层数据源链接。
因此,应用服务器在访问分布式数据库时,并不是显示的设置访问数据库,而是通过数据源代理进行访问,数据源代理可以根据接收到的用户请求来返回该用户的底层数据源链接,从而达到灵活访问分布式数据库的目的。
结合第二方面,在第二方面的第一种可能的实现方式中,应用服务器获取数据源代理具体为在实例化数据访问接口DAO时获取数据源代理;应用服务器从数据源代理中获取用户的底层数据源链接具体为通过数据访问接口DAO从数据源代理中获取用户的底层数据源链接。
第三方面,本发明实施例提供了一种数据源代理装置,包括:接收单元,用于接收数据库访问请求;确定单元,用于通过数据源查询服务获取数据库访问请求对应的用户标识,再确定用户标识对应的底层数据源的标识;返回单元,用于返回底层数据源的标识对应的底层数据源的链接。
结合第三方面,在第三方面的第一种可能的实现方式中,数据源查询服务包括一种分布式存储规则,该分布式存储规则指示所述用户标识与所述底层数据源标识之间的对应关系。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,返回单元,具体用于根据底层数据源的标识查找到相应的底层数据源,并返回底层数据源的链接。
结合第三方面、第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,该装置还包括:执行单元,用于基于该底层数据源链接执行数据库操作指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市金蝶友商电子商务服务有限公司,未经深圳市金蝶友商电子商务服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510851922.8/2.html,转载请声明来源钻瓜专利网。





