【技术实现步骤摘要】
对复制型数据库的访问进行负载平衡本申请是申请日为2013年6月24日、题为“对复制型数据库的访问进行负载平衡”的专利技术专利申请201380057923.4的分案申请。
本专利技术设计跨管理分布式副本的系统提供服务,并且更具体地,涉及用于管理到这些系统的连接和这些系统中的负载平衡的全局数据服务框架,以及涉及跨这些副本管理服务的故障转移。
技术介绍
由于各种原因,许多商业维护相同数据的多个拷贝。例如,国际化公司可能跨位于世界各地的许多数据库复制关键数据。维护相同数据的多个副本的原因包括,但不限于:·商业连续性和灾难恢复;·为本地客户的性能优化;·内容本地化和高速缓存;·遵守当地法律;及·集成通过并购获得的数据中心。虽然维护相同数据的若干个副本可以提供多种好处,但是如果不能有效地管理,这也会成为麻烦。因此,已经开发了提供“数据库服务”并允许跨属于同一集群网格的数据库服务器实例进行服务级别工作负载管理的数据库系统。遗憾的是,跨属于集群网格的数据库服务器实例管理工作负载没有考虑在那个网格之外维护的潜在的大量副本。分布式环境通常比集群支持更高程度的异质性。例如,在分布式环境中,跨其维护副本的各种系统可以具有不同的硬件系统架构、不同的操作系统、甚至不同类型的数据库系统。与集群不同,分布式环境中的数据库不能访问用于保持状态的共享存储。因此,通过其可以高效地管理相同数据的多个分布式副本的机制将是所期望的。在本节中描述的方法是可以实行的方法,但不一定是先前已被构想 ...
【技术保护点】
1.一种方法,包括:/n将一组全局服务管理器分组到多个区域中;/n其中,所述多个区域包括第一区域和第二区域;/n其中,所述第一区域包括来自所述一组全局服务管理器中的第一组一个或多个全局服务管理器,并且所述第二区域包括来自所述一组全局服务管理器中的第二组一个或多个全局服务管理器;/n其中,所述第一组一个或多个全局服务管理器处理来自所述第一区域本地的客户端的服务请求,并且所述第二组一个或多个全局服务管理器处理来自所述第二区域本地的客户端的服务请求;/n将所述第二区域建立为用于所述第一区域的伙伴区域;/n确定第一组一个或多个全局服务管理器不再处于工作状态;并且/n响应于确定所述第一组一个或多个全局服务管理器不再处于工作状态,使用来自所述第二组一个或多个全局服务管理器中的至少一个全局服务管理器来处理来自所述第一区域本地的客户端的服务请求。/n
【技术特征摘要】
20121005 US 13/645,8191.一种方法,包括:
将一组全局服务管理器分组到多个区域中;
其中,所述多个区域包括第一区域和第二区域;
其中,所述第一区域包括来自所述一组全局服务管理器中的第一组一个或多个全局服务管理器,并且所述第二区域包括来自所述一组全局服务管理器中的第二组一个或多个全局服务管理器;
其中,所述第一组一个或多个全局服务管理器处理来自所述第一区域本地的客户端的服务请求,并且所述第二组一个或多个全局服务管理器处理来自所述第二区域本地的客户端的服务请求;
将所述第二区域建立为用于所述第一区域的伙伴区域;
确定第一组一个或多个全局服务管理器不再处于工作状态;并且
响应于确定所述第一组一个或多个全局服务管理器不再处于工作状态,使用来自所述第二组一个或多个全局服务管理器中的至少一个全局服务管理器来处理来自所述第一区域本地的客户端的服务请求。
2.如权利要求1所述的方法,其中,在所述第一组一个或多个全局服务管理器不再处于工作状态之后,来自所述第二组一个或多个全局服务管理器中的所述至少一个全局服务管理器充当用于所述第一区域的监听者,同时继续充当用于所述第二区域的监听者。
3.如权利要求1所述的方法,
其中,来自所述第二组一个或多个全局服务管理器中的所述至少一个全局服务管理器使得从所述第一区域本地的客户端接收到的连接请求被转发到位于所述第一区域中的数据库服务器实例;并且
其中,来自所述第二组一个或多个全局服务管理器中的所述至少一个全局服务管理器使得从所述第二区域本地的客户端接收到的连接请求被转发到位于所述第二区域中的数据库服务器实例。
4.如权利要求1所述的方法,还包括:
在来自所述第二组一个或多个全局服务管理器中的所述至少一个全局服务管理器处,接收来自所述第一区域本地的客户端的连接请求;
响应于接收到所述连接请求,从一组数据库服务器实例中选择至少一个数据库服务器实例;并且
其中,所述选择至少部分地基于确定该客户端位于所述第一区域本地以及一个或多个其他选择标准。
5.如权利要求1所述的方法,其中,在所述第一组一个或多个全局服务管理器不再处于工作状态时,来自所述第二组一个或多个全局服务管理器中的所述至少一个全局服务管理器为所述第一区域生成事件。
6.如权利要求1所述的方法,其中,来自所述第二组一个或多个全局服务管理器中的所述至少一个全局服务管理器为所述第一区域本地的客户端计算度量,并且向所述第一区域本地的所述客户端发布所述度量。
7.一种方法,包括:
接收用于分布式复制环境内的特定服务的一组一个或多个参数值;
其中,所述分布式复制环境包括多个数据库系统,所述多个数据库系统中的每个数据库系统维护与所述特定服务相关联的数据集的单独拷贝;以及
基于用于所述特定服务的所述一组一个或多个参数值,执行以下各项中的至少一者:
确定客户端是否能够被连接到不位于该客户端本地的区域中的数据库服务器实例;
确定所述特定服务是否能够从第一数据库服务器实例故障转移到位于与所述第一数据库服务器实例不同的区域中的第二数据库服务器实例;或者
确定数据库服务器实例的复制滞后是否满足阈值。
8.如权利要求7所述的方法,其中,所述方法包括确定客户端是否能够被连接到不位于该客户端本地的区域中的数据库服务器实例。
9.如权利要求8所述的方法,
其中,所述一组一个或多个参数值包括本地性参数值,所述本地性参数值指示用于对客户端连接请求进行路由的位置限制;并且
其中,确定客户端是否能够被连接到不位于该客户端本地的区域中的数据库服务器实例包括:确定所述本地性参数值是否将用于该客户端的连接限制到属于该客户端本地的区域的数据库服务器实例。
10.如权利要求7所述的方法,其中,所述方法包括确定所述特定服务是否能够从所述第一数据库服务器实例故障转移到位于与所述第一数据库服务器实例不同的区域中的所述第二数据库服务器实例。
11.如权利要求10所述的方法,
其中,所述一组一个或多个参数值包括指示允许区域间故障转移的参数值;并且
其中,确定所述特定服务是否能够从所述第一数据库服务器实例故障转移到位于与所述第一数据库服务器实例不同的区域中的所述第二数据库服务器实例包括:确定所述特定服务在客户端本地的区域中是不可用的。
12.如权利要求7所述的方法,其中,所述方法包括确定数据库服务器实例的复制滞后是否满足阈值。
13.如权利要求12所述的方法,
其中,所述一组一个或多个参数值包括指示复制滞后的最大可接受阈值的参数值;并且
所述方法还包括:响应于确定所述数据库服务器实例的复制滞后超出所述最大可接受阈值,将一个或多个客户端路由到复制滞后满足所述最大可接受阈值的不同数据库服务器实例。
14.一个或多个存储指令的非暂时性存储介质,所述指令在由一个或多个计算设备执行时,使得执行以下操作:
将一组全局服务管理器分组到多个区域中;
其中,所述多个区域包括第一区域和第二区域;
其中,所述第一区域包括来自所述一组全局服务管理器中的第一组一个或多个全局服务管理器,并且所述第二区域包括来自所述一组全局服务管理器中的第二组一个或多个全局服务管理器;
其中,所述第一组一个或多个全局服务管理器处理来...
【专利技术属性】
技术研发人员:胡维民,L·切达姆巴瑞恩,M·迪尔曼,F·A·坎,B·马瑟尔,K·S·尼尔,L·诺瓦克,K·C·帕泰尔,S·拉马萨伯雷马尼安,M·J·斯泰沃特,H·苏恩,
申请(专利权)人:甲骨文国际公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。