访问分布式数据库的方法、数据源代理装置及应用服务器的制造方法

文档序号:9687612阅读:599来源:国知局
访问分布式数据库的方法、数据源代理装置及应用服务器的制造方法
【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种访问分布式数据库的方法、数据源代理装置及应用服务器。
【背景技术】
[0002]在互联网应用中,应用服务器可以很方便的做集群,每个应用服务器的代码是一样的,配置也相同,因为这有利于发布部署。
[0003]在上述情况下,应用服务器集群访问的数据库配置也是相同的,当用户数据增加,单一数据库无法支撑,需要分离成多数据库时,或者其他原因我们需要分离用户数据的时候,数据库需要进行分布式部署,此时很难在不变更程序或者程序配置的情况下让应用服务器访问不同的数据库。当前流行的框架Spring在管理数据访问接口(DAO,Data AccessObject)层时,配置的数据源就是这种情况。
[0004]现有技术中,应用程序需要很清楚分布式数据库的分布情况,显式的设置访问数据库,在需要变更数据源的时候,必须修改应用程序,配置数据源的过程对应用程序来说是非透明的,从而导致更新维护程序的成本高,不灵活。

【发明内容】

[0005]本发明实施例提供了一种访问分布式数据库的方法、数据源代理装置及应用服务器,能够灵活动态地设置数据源。
[0006]第一方面,本发明实施例提供了一种访问分布式数据库的方法,包括:
[0007]数据源代理接收数据库访问请求,通过数据源查询服务获取数据库访问请求对应的用户标识,再确定用户标识对应的底层数据源的标识,并返回底层数据源的标识对应的底层数据源的链接。
[0008]本发明实施例中,在访问分布式数据库时,并不是显式的设置访问数据库,而是通过数据源代理进行访问,从而针对不同的用户,可以返回不同的底层数据源产生的链接,达到分布式访问的目的,从而能够灵活动态地设置数据源,节省更新维护程序的成本。
[0009]结合第一方面,在第一方面的第一种可能的实现方式中,数据源查询服务包括一种分布式存储规则,分布式存储规则指示用户标识与底层数据源标识之间的对应关系。
[0010]在具体的实施中,上述的数据源查询服务由应用方提供,是独立于应用本身的功能开发的,对应用来说是透明的。
[0011]因此,由数据源代理通过应用方提供的数据源查询服务来确定线程上下文应用的底层数据源,从而动态地产生数据源链接,达到应用本身不知晓数据源代理的分布式特性的效果。
[0012]结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,数据源代理返回底层数据源的标识对应的底层数据源的链接包括:数据源代理根据底层数据源的标识查找到相应的底层数据源,并返回该底层数据源的链接。
[0013]需要说明的是,首次访问一个新的底层数据源时,需要新构造数据源并返回该数据源的链接。
[0014]结合第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,该方法还包括:数据源代理基于该底层数据源链接执行数据库查询指令。
[0015]第二方面,本发明实施例提供了一种访问分布式数据库的方法,包括:应用服务器获取数据源代理;应用服务器接收用户的访问请求,之后,从所述数据源代理中获取该用户的底层数据源链接。
[0016]因此,应用服务器在访问分布式数据库时,并不是显示的设置访问数据库,而是通过数据源代理进行访问,数据源代理可以根据接收到的用户请求来返回该用户的底层数据源链接,从而达到灵活访问分布式数据库的目的。
[0017]结合第二方面,在第二方面的第一种可能的实现方式中,应用服务器获取数据源代理具体为在实例化数据访问接口 DA0时获取数据源代理;应用服务器从数据源代理中获取用户的底层数据源链接具体为通过数据访问接口 DA0从数据源代理中获取用户的底层数据源链接。
[0018]第三方面,本发明实施例提供了一种数据源代理装置,包括:接收单元,用于接收数据库访问请求;确定单元,用于通过数据源查询服务获取数据库访问请求对应的用户标识,再确定用户标识对应的底层数据源的标识;返回单元,用于返回底层数据源的标识对应的底层数据源的链接。
[0019]结合第三方面,在第三方面的第一种可能的实现方式中,数据源查询服务包括一种分布式存储规则,该分布式存储规则指示所述用户标识与所述底层数据源标识之间的对应关系。
[0020]结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,返回单元,具体用于根据底层数据源的标识查找到相应的底层数据源,并返回底层数据源的链接。
[0021]结合第三方面、第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,该装置还包括:执行单元,用于基于该底层数据源链接执行数据库操作指令。
[0022]第四方面,本发明实施例提供了一种访问分布式数据库的应用服务器,包括:第一获取单元,用于获取数据源代理;接收单元,用于接收用户的访问请求;第二获取单元,用于从上述数据源代理中获取该用户的底层数据源链接。
[0023]结合第四方面,在第四方面的第一种可能的实现方式中,第一获取单元,具体用于在实例化数据访问接口 DA0时获取数据源代理;第二获取单元,具体用于在接收到用户访问请求后,通过数据访问接口 DA0从数据源代理中获取用户的底层数据源链接。
[0024]从以上技术方案可以看出,本发明实施例的方案具有如下有益效果:
[0025]本发明实施例中,由数据源代理替代数据源,在数据源链接的管理上,接管了应用对链接的申请和归还,由数据源代理通过数据源查询服务来动态地产生数据库链接,达到通过数据源代理透明的分布式数据库的目的,从而能够灵活动态地设置数据源。
【附图说明】
[0026]图1为本发明实施例中应用服务器、数据源代理、底层数据源关系示意图;
[0027]图2为本发明实施例中访问分布式数据库方法的流程图;
[0028]图3为本发明实施例中访问分布式数据库的数据源代理装置的功能模块结构示意图;
[0029]图4为本发明实施例中访问分布式数据库的应用服务器的功能模块结构示意图。
【具体实施方式】
[0030]本发明实施例提供了一种访问分布式数据库的方法、数据源代理装置及应用服务器,能够灵活动态地设置数据源。下面分别进行详细说明。
[0031]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0032]本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1