CN101095109A - 多池管理器 - Google Patents

多池管理器 Download PDF

Info

Publication number
CN101095109A
CN101095109A CN200580045638.6A CN200580045638A CN101095109A CN 101095109 A CN101095109 A CN 101095109A CN 200580045638 A CN200580045638 A CN 200580045638A CN 101095109 A CN101095109 A CN 101095109A
Authority
CN
China
Prior art keywords
connection pool
cell systems
connection
many cell
multipool manager
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200580045638.6A
Other languages
English (en)
Inventor
拉胡尔·斯里瓦斯塔瓦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEA Systems Inc
Original Assignee
BEA Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEA Systems Inc filed Critical BEA Systems Inc
Publication of CN101095109A publication Critical patent/CN101095109A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5016Session

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

多池(210)可留意无效连接池(202A)并可避免选择无效连接池(202A)。该多池(210)可在后台(214)检查连接池(202、204、…)是否已经再生效。

Description

多池管理器
优先权权益主张
Rahul Srivastava于2004年12月31日提交的题目为“MULTIPOOLIMPROVEMENTS”的美国临时申请No.60/640,449[代理人卷号No.BEAS-01789US0];
Rahul Srivastava于2005年12月5日提交的题目为“MULTIPOOLUSING AUTOMATICALLY MAINTAINED ACTIVE CONNECTION POOLLIST”的美国专利申请No.11/294,147[代理人卷号No.BEAS-01789US1];和
Rahul Srivastava于2005年12月5日提交的题目为“CALLBACKINTERFACE FOR MULTIPOOLS”的美国专利申请No.11/294,214[代理人卷号No.BEAS-01789US2]。
技术领域
背景技术
诸如在California的San Jose的BEA系统中可用的WebLogicTM服务器之类的应用服务器允许用户进行很多功能。所述应用服务器典型支持的功能之一是提供数据库存取。在一个实施例中,由应用服务器提供诸如Java数据库连通性(JDBC)连接池(connection pool)之类的连接池。该连接池提供许多已设立的与数据库的连接。根据需要,将这些连接提供给应用服务器的应用。这样的连接池允许应用服务器中的相对多数量的应用来进行数据库存取,同时减少了应用的数据库连接时间。
发明内容
附图说明
图1是图示了一个实施例的利用多池(multipool)管理器的多池的使用的图;
图2A-2B是图示了使用具有有效连接池列表的多池管理器的图;
图3A-3B是图示了一个实施例的有效连接池列表的使用的流程图;
图4是图示了本发明一个实施例的多池管理器的操作的图;
图5A-5B是图示了本发明一个实施例的利用多池管理器的回调(callback)的使用的流程图;
图6是图示了本发明一个实施例的利用多池管理器的回调的使用的流程图。
具体实施方式
使用自动维护的有效连接池列表的多池
图1是图示了多池管理器102的操作的图。在一些系统中,期望具有多个数据库实例,诸如数据库实例104和106。例如,该数据库实例104和106中的每一个可包括在独立机器上运行的当前版本数据库。当存在多个数据库实例时,可期望使用多个连接池,诸如连接池108和连接池110。可以使用多池系统,而不是使诸如应用112、114、和116的每个应用专用(dedicating)于单个连接池并从而专用于单个数据库实例。在多池系统中,多池管理器102可确定使用哪一个连接池来获得应用到数据库系统的连接。
可能有不同的方法来选择连接池。一个选择方法具有主连接池和备份连接池。首先在主连接池上尝试连接,并然后当发生故障事件时,然后通过备份连接池发送所述连接。另一个方法是负载平衡方法,其中在多个连接池之间分配所述连接,以平衡不同连接池上的负载。循环复用(round robin)方法是负载平衡方法的示例。
本发明的一个实施例包括与数据库实例连接的、包括多个连接池202和204的多池系统。该连接池202和204适于提供到数据库实例206和208的连接。多池管理器210适于通过连接池选择和设立到数据库实例的连接。多池管理器210适于留意(keep track of)连接请求之间的无效(dead)连接池。
多池管理器210可以以避免任何无效连接池的方式来选择连接池。以图2A为例,如果连接池A无效,则多池管理器可避免选择该连接池A。在一个实施例中,根据应用所批准的,而仅进行未无效连接池的选择。在一个实施例中,应用通过回调或通过配置信息来指明是否切换连接池。
多池管理器210可适于维护有效连接池的列表212,并使用列表212来确定通过什么连接池来连接。术语“列表”不打算意指任何特定的数据结构。列表上的有效连接池可包括这样的连接池,即不是被多池管理器确定为无效的那些连接池。
可以在后台中测试无效连接池,以查看它们是否应该返回到有效连接池列表。该有效连接池列表可以是应用所提供的候选列表的子集。作为选择,可以维护分开的候选列表和有效列表,并且多池管理器可选择在该两种列表上的连接池。多池管理器210可以为与候选列表相关联的每个连接池存储指示(indication),以指明连接池是有效还是无效。
在图2A的示例中,连接池A无效,因此没有在有效连接池列表212上。诸如应用220的应用可通过多池管理器210而请求连接到数据库实例206或208之一。在图2A中,多池管理器210选择通过连接池B的连接。
多池管理器210可在后台中异步地测试连接池是否已经再生效(revive)。在一个实施例中,可以使用异步后台测试模块214。
图2B图示了这个后台测试的示例。在这个示例中,SQL测试查询(query)被发送到无效连接池A。如果从数据库实例206获得正确回答,则多池管理器210可以用连接池A的指示来更新有效连接池列表212。以这个方式,当下次应用请求到数据库的连接时,通过连接池A的连接是可能的。
图3B图示了用于图示无效连接池的异步测试的流程图。在一个实施例中,在步骤300中,过去了预置等候时间。该等候时间可以由应用设置,并与多池管理器的配置信息一起存储,或者可以使用默认值。在步骤302中,测试无效连接池。如果如测试所指明的、无效连接池已经再生效,则更新有效连接池列表306,否则,所述循环重复步骤300中的等候预置时间。
图3A图示了在一个实施例中请求连接到数据库的操作。在步骤308中,在多池管理器处收到连接到数据库的请求。在步骤310中,多池管理器可选择连接池。在一个实施例中,多池管理器210选择有效连接池列表上的连接池。然后,可尝试所述连接。在步骤312中,检查连接池是否无效。如果连接池无效,则在步骤314中,更新有效连接池列表并从有效池列表中选择新的连接池。如果连接池没有无效,则在步骤315中进行检查以查看连接池是否充满(full)。如果没有可用的连接,则多池管理器可在步骤310中从有效连接池列表中选择另一个连接池。如果任一所选择的连接池都没有无效或者充满,则在步骤316中,通过所选择的连接池进行连接。
图4是图示了可以在本发明一个实施例中发生的不同条件的流程图。在步骤402中,多池管理器收到连接到数据库的请求。在步骤404中,多池管理器从有效池列表中选择连接池。如在步骤408中确定的,所选择的连接池有可能是重新再生效的连接池。如果是,则如在步骤410中所指明的,这是所谓的故障恢复(failback)。在步骤412中,检查连接池是否无效。如果连接池无效,则在步骤414中更新有效连接池列表,并在步骤416中从有效连接池列表中选择另一个连接池,这是所谓的故障转移(failover)条件。在步骤418中,如果连接池没有无效,则进行检查以查看连接池是否充满。如果连接池充满,则在步骤420中,进行检查以查看是否允许溢出(spillover)。如果允许溢出,则在步骤422中从有效连接池列表中选择另一个连接池。步骤424示出了进行连接。如下面所描述的,应用可利用回调或利用配置信息来批准故障恢复、故障转移、或溢出条件。
本发明的一个实施例是这样的多池管理器,其适于通过连接池而选择和设立到数据库实例的连接。该多池管理器适于留意无效连接池。该多池管理器实现了这样的选择方法,其中,多池管理器避免选择无效连接池,以便为应用提供连接。
本发明的一个实施例是包括多个连接池的、用于与数据库实例连接的多池系统。该连接池适于提供到数据库实例的连接。多池管理器适于通过连接池而选择和设立到数据库实例的连接。该多池管理器适于留意无效连接池,并异步测试连接池是否再生效。
多池的回调接口
在一些实例中,期望在切换连接池之前与应用进行核对。切换连接池可以是复杂的处理。有时,存在优选的数据库实例,并且不期望用户切换到另一个更不可取的数据库实例,除非最初的数据库实例真的不可用。在本发明的一个实施例中,多池管理器实现对应用的回调,以便从应用得到批准来切换连接池。
在本发明的一个实施例中,多池系统用于利用多个连接池而连接到数据库实例。连接池502和504适于提供到数据库实例508和510的连接。多池管理器506适于通过连接池选择并设立到数据库实例的连接。多池管理器506适于在切换连接池之前与应用512进行核对。
在图5A的示例中,从多池管理器506到应用512的回调可用。如果要切换连接池,则多池管理器506可以进行到应用512的回调,以确定该应用是否将批准该切换。在图5A的示例中,有效连接池列表包括连接池B而不包括连接池A。在切换到连接池B之前,多池管理器506可进行到应用512的回调。在一个实施例中,在步骤1,多池管理器506收到连接请求。在步骤2,在多池管理器确定可能需要连接池切换之后,进行到应用512的回调。例如,该回调可以是对作为应用512的一部分的回调方法514的调用。该多池管理器506可存储配置信息506a,其可包括将在什么条件下发送回调的指示和/或回调方法名称的指示(在这个情况下,为回调方法A)。应用代码可以以任何方式实现回调方法514。在一个实施例中,多池管理器在步骤3中接收回调响应。该回调响应可以是多池管理器506可用于确定如何进行连接的指示。
在一个实施例中,回调响应指示包括“确认”指示。当收到“确认”指示时,多池管理器切换到新的连接池。另一个回调响应指示是“重试”指示。如果收到“重试”指示,则多池管理器506可尝试利用老连接池得到连接。另一个可能的回调响应指示是“不重新连接”指示。当收到“不重新连接”指示时,多池管理器不尝试进行连接。
图5B图示了回调方法可提供“重试”指示的可能原因。在一个示例中,可能期望在切换到辅助数据库实例之前进行一定数量的到主数据库实例的尝试。图5B图示了作为回调方法的一部分的、进行从应用512到数据库实例508的独立试通(ping)的示例。如果该独立试通提出数据库实例508仍旧在运行的指示,则应用可发送“重试”指示。如果应用512充分确信数据库实例停用,则可以发送“确认”回调响应。
应用512可以实现任何回调方法。在一个示例中,多池管理器具有可以用任何应用代码实现的回调接口。
图6是图示了一个实施例的回调操作的图。在步骤602中,检查是否如多池管理器所确定的那样将切换连接池。如果不切换连接池,则在步骤604中进行到连接池的连接。如果要切换连接,则在步骤606中,检查是否针对条件指明了回调。如果指明没有回调,则然后在没有回调的情况下通过新连接池进行连接。如果指明了回调,则在步骤610中,进行回调。如果收到“确认”指示,则在步骤614中利用新连接池进行连接。如果收到重试指示,则在步骤616中使用老连接池尝试进行连接。另外,如果收到“不重新连接”指示,则在步骤618中不通过连接池进行连接。
在一个实施例中,多池管理器适于通过连接池而选择并设立到数据库实例的连接。该多池管理器适于在切换连接池之前与应用进行核对。
一个非限制性示例的详细描述
下面的描述将给出多池实现的一个非限制性实现。下面的描述给出一个实施例,但是本领域的技术人员将理解,可以进行上面构思的其它实现。下面给出的任何潜在限制语言是用于结合该特定非限制性实现的上下文进行解释的,而不是想要限制这些总构思。
多池可在故障转移之前与应用进行核对,以替换池。如果当前使用的池的配置测试遭遇随机的或短暂的故障、如果当将目前没有处理客户的数据库管理系统(DBMS)实例带回到服务中时应用希望进行控制、或者如果在得到来自池的连接时应用可以指定身份、并且应该返回来自匹配池的连接,则这是非常有用的。在DBMS出售者不提供在匿名JDBC连接上设置客户身份的固有(native)支持的情况下,这也是非常有用的。
可以对多池实现几处改善。
FAILOVER(故障转移)-现有的多池算法“HIGH AVAILABILITY”将被重新命名为“FAILOVER”。如果当前池忙,则将也可选地提供将连接的应用请求路由选择到替换池的能力。
HEALTH(健康度)-将改善现有的功能以标记无效的池,从而不将连接的应用请求路由选择到这些池。
CALLBACK(回调)-将向应用提供回调接口,以便在检测到出故障的池时,控制多池判决来故障转移到替换池,或者故障恢复到先前标记为无效的池。
应用可配置FAILOVER算法。FAILOVER可以通过主连接池来发送连接,并在主连接池发生故障时,通过辅助连接池来路由选择这些连接。如果当前的池繁忙,则FAILOVER还可可选地能够将针对连接的应用请求路由选择到替换池。
在一个实施例中,应用还将能够配置下面的多池属性:
/**
*如果设置,则在当前池繁忙时,将连接的应用请求路由选择到替换
*池。这仅仅在运行HIGH_ALGORITHM算法时相关。缺省意味着特
*征被禁用。
*
*@param newVal新的属性值
*@动态(dynamic)
*@缺省错误(default false)
*/
public boolean isFailoverRequestIfBusy();
public void setFailoverRequestIfBusy(boolean failoverRequestIfBusy);
应用能够利用系统实现和注册回调。当多池检测到无效或繁忙的池时可调用该回调,这给予应用控制多池是否故障转移到替换池的能力。
在一个实施例中,应用将能够实现接下来的接口:
/**
*  如果应用希望控制WebLogic服务器多池的故障转移行动,则该应用
*  可以可选地实现这个接口。
*
*  如果应用已经注册了实现这个接口的、WebLogic服务器的类,
*  则WebLogic服务器将调用这个接口的方法“allowPoolFailover()”,
*  并取决于来自该方法的调用的返回代码来采取不同的行动。
*                                                                  @见
weblogic.management.configuration.JDBCMultiPoolMBean#setConnectionPoolFailoverCallbackHandler
*/
public interface ConnectionPoolFailoverCallback{
//这个接口的名称,
static public final String IF_NAME=
“weblogic.jdbc.extensions.ConnectionPoolFailoverCallback”;
//方法‘allowPoolFailover()’的操作码
static public final int OPCODE_CURR_POOL_DEAD=0;
static public final int OPCODE_CURR_POOL_BUSY=1;
static public final int OPCODE_REENABLE_CURR_POOL=2;
//  方法‘allowPoolFailover()’的返回代码
static public final int OK=0;//对于即将发生的动作,应用为确认
static public final int RETRY_CURRENT=1;//重试当前池
static public final int DONOT_FAILOVER=2;//不进行故障转移,WLS将扔出weblogic.jdbc.extensions.PoolUnavailableSQLException
/*
*多池将在各种故障转移/故障恢复条件下调用这个方法。应用应该基于
*应用指定的语义来从这个方法返回上述定义的代码之一。
*
*  @param currPool(当前池)-当前使用的连接池的名称,
*  决不能为空
*
*  @param nextPool(下一池)-替换连接池的名称,
*  对于操作码‘OPCODE_REENABLE_CURR_POOL’,将为空
*
*  @param opcode(操作码)-正执行的操作
*  OPCODE_CURR_POOL_DEAD-‘currPool’无效,多池需要将连接的
*  应用请求故障转移到‘nextPool’。
*
*  应用应该返回“确认”、“RETRY_CURRENT”、或“DONOT_FAILOVER”,
*这取决于希望多池做什么。
*
*OPCODE_CURR_POOL_BUSY-‘currPool’忙,多池需要将连接的应用请求重新路由选择到‘nextPool’
*
*如果可以进行这个动作,则应用应该返回“确认”,
*否则,应该返回其它返回代码中的任一个。
*
*OPCODE_REENABLE_CURR_POOL-‘currPool’先前被发现无效并因此被禁用。现在发现它已经健康,并且多池需要重新启用它。
*
*如果可以进行这个动作,则应用应该返回“确认”,
*否则,应该返回其它返回代码中的任一个。
*/
public int allowPoolFailover(String currPool,String nextPool,int opcode);
}
应用可以将这个回调注册在JDBCMultiPoolMBean的属性“ConnectionPoolFailoverCallbackHandler”中。
/**
*用于设置实现接口
weblogic.jdbc.extensions.ConnectionPoolFailoverCallback的应用类的绝对名称
*
*@见weblogic.jdbc.extensions.ConnectionPoolFailoverCallback
*@non-dynamic(非动态)
*/
public String getConnectionPoolFailoverCallbackHandler();
public void setConnectionPoolFailoverCallbackHandler(String className);
可以增强多池,以内部监视并跟踪下面的池的健康度。如果确定池无效,则将作出标记,并且不将随后的连接应用请求路由选择到该池。
在一个实施例中,应用将能够配置下面的JDBCMultiPoolMBean属性:
/**
*用于配置多池对先前被发现无效并因此被禁用的连接池的健康度进行
*检查的频率。
*
*@param newVal新的属性值
*@dynamic
*@default 300
*/
void setHealthCheckFrequencySeconds(int new Val);
int getHealthCheckFrequencySeconds();
可使用根据本公开的示教而编程的传统通用目的或专用数字计算机或(多个)微处理器来实现所述实施例,这对于在计算机技术领域的那些技术人员而言是显然的。有经验的程序员可基于本公开的示教容易地准备合适的软件代码,这对于在软件技术领域的那些技术人员而言是显然的。本发明还可通过准备集成电路或者通过互连传统组成电路的合适网络来实现,这对于本领域的技术人员而言是显然的。
一个实施例包括计算机程序产品,其是在其上(其中)存储有指令的(多个)存储介质,该指令可用于编程计算机以执行这里呈现的特征中的任一个。该存储介质可包括,但不限于任何类型的盘、ROM、RAM、EPROM、EPROM、DRAM、RAM、闪存装置、磁卡或光卡、Nan系统(包括分子记忆IC)、或者适合于存储指令和/或数据的任何类型的介质或装置,所述盘包括软盘、光盘、DVD、CD-ROM、微驱动器、和磁光盘。
在本发明中,在(多个)计算机可读介质的任一个上存储有用于控制通用目的/专用计算机或微处理器的硬件的软件、和用于使计算机或微处理器能够与人类用户或利用本发明的本发明结果的其它机械系统进行交互的软件二者。这样的软件可包括,但不限于装置驱动程序、操作系统、运行环境/容器、和用户应用程序。
已经为了说明和描述的目的而提供了本发明的优选实施例的前面描述。这不意欲穷举或将本发明限制到所公开的精确形式。对于相关技术领域的普通技术人员而言,许多修改和改变都是显而易见的。例如,可以以替换顺序来执行在所公开的本发明的实施例中执行的步骤,可省略某些步骤,并可增加其它步骤。为了最好地解释本发明的原理和它的实践应用,而选择并描述了所述实施例,从而使本领域的其它技术人员能够理解本发明具有适合于预期的特定使用的各种实施例和各种修改。意欲由权利要求及其等效来限定本发明的范围。

Claims (20)

1.一种用于连接到数据库实例的多池系统,包括:
多个连接池,所述连接池适于提供到数据库实例的连接;以及
多池管理器,适于通过连接池而选择并设立到数据库实例的连接,所述多池管理器适于留意在连接请求之间的无效连接池。
2.根据权利要求1的多池系统,其中所述多池管理器测试连接池是否已经再生效。
3.根据权利要求2的多池系统,其中所示测试是在后台异步进行的。
4.根据权利要求2的多池系统,其中所述测试是以可以由应用设置的时间段、来周期性地进行的。
5.根据权利要求1的多池系统,其中所述多池管理器优先通过主连接池发送连接。
6.根据权利要求5的多池系统,其中辅助连接池存在溢出。
7.根据权利要求1的多池系统,其中所述多池管理器通过多个连接池来使得连接负载平衡。
8.根据权利要求1的多池系统,其中所述多池管理器在切换连接池之前与应用进行核对。
9.根据权利要求8的多池系统,其中所述多池管理器使用回调接口。
10.根据权利要求8的多池系统,其中所述应用利用多池系统注册回调信息。
11.根据权利要求1的多池系统,其中该多池管理器维护有效连接池列表,并使用该列表确定通过哪个连接池进行连接。
12、一种用于连接到数据库实例的多池系统,包括:
多个连接池,所述连接池适于提供到数据库实例的连接;以及
多池管理器,适于通过连接池而选择和设立到数据库实例的连接,所述多池管理器适于留意无效连接池,并异步地测试连接池是否再生效。
13.根据权利要求12的多池系统,其中所述多池管理器优先通过主连接池发送连接。
14、一种用于连接到数据库实例的多池系统,包括:
多个连接池,所述连接池适于提供到数据库实例的连接;以及
多池管理器,适于通过连接池而选择和设立到数据库实例的连接,所述多池管理器适于在切换连接池之前与应用进行核对。
15.根据权利要求14的多池系统,其中所述多池管理器具有回调接口。
16.根据权利要求14的多池系统,其中如果从应用收到“确认”指示,则所述多池管理器切换连接池。
17.根据权利要求14的多池系统,其中如果从应用收到“重试”指示,则所述多池管理器不切换连接池,并重试原始连接池。
18.根据权利要求14的多池系统,其中如果从应用收到“不重新连接”指示,则所述多池管理器不切换连接池,并且不重试原始连接池。
19.根据权利要求14的多池系统,其中所述多池管理器在进行故障转移之前与应用进行核对。
20.根据权利要求14的多池系统,其中所述多池管理器在进行故障恢复之前与应用进行核对。
CN200580045638.6A 2004-12-31 2005-12-21 多池管理器 Pending CN101095109A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US64044904P 2004-12-31 2004-12-31
US60/640,449 2004-12-31
US11/294,147 2005-12-05
US11/294,214 2005-12-05

Publications (1)

Publication Number Publication Date
CN101095109A true CN101095109A (zh) 2007-12-26

Family

ID=38992591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200580045638.6A Pending CN101095109A (zh) 2004-12-31 2005-12-21 多池管理器

Country Status (2)

Country Link
US (2) US20060146877A1 (zh)
CN (1) CN101095109A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902779A (zh) * 2012-09-28 2013-01-30 五八有限公司 一种多数据库的连接方法及装置
CN105339896A (zh) * 2013-06-28 2016-02-17 甲骨文国际公司 用于云端连接共享集合的系统和方法
CN105938490A (zh) * 2016-04-14 2016-09-14 北京思特奇信息技术股份有限公司 一种web应用系统连接数据源智能切换方法及系统
CN107291747A (zh) * 2016-03-31 2017-10-24 北京优朋普乐科技有限公司 一种数据库连接池的管理方法、装置及系统
CN107453937A (zh) * 2016-06-01 2017-12-08 广州市动景计算机科技有限公司 网络连接池的管理方法及设备
CN109800261A (zh) * 2018-12-15 2019-05-24 平安科技(深圳)有限公司 双数据库连接池的动态控制方法、装置及相关设备
CN115328978A (zh) * 2022-06-27 2022-11-11 光大环境科技(中国)有限公司 一种连接池的连接方法和服务器

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070037650A (ko) 2004-07-23 2007-04-05 사이트릭스 시스템스, 인크. 종단에서 게이트웨이로 패킷을 라우팅하기 위한 방법 및시스템
EP1771998B1 (en) 2004-07-23 2015-04-15 Citrix Systems, Inc. Systems and methods for optimizing communications between network nodes
US7810089B2 (en) * 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US8713186B2 (en) * 2007-03-13 2014-04-29 Oracle International Corporation Server-side connection resource pooling
US7937611B2 (en) * 2007-04-30 2011-05-03 Sap Ag Method, system and machine accessible medium of a reconnect mechanism in a distributed system (cluster-wide reconnect mechanism)
US8015280B2 (en) * 2007-10-01 2011-09-06 Ebay Inc. Method and system for intelligent feature degradation in response to a network deficiency detection
US8566439B2 (en) * 2007-10-01 2013-10-22 Ebay Inc Method and system for intelligent request refusal in response to a network deficiency detection
US8886787B2 (en) * 2009-02-26 2014-11-11 Microsoft Corporation Notification for a set of sessions using a single call issued from a connection pool
EP2363806A1 (en) * 2010-03-03 2011-09-07 Software AG Connection handler and method for providing applications with heterogeneous connection objects
US9612641B2 (en) 2010-11-17 2017-04-04 International Business Machines Corporation Adjusting the connection idle timeout in connection pools
CN103403707B (zh) 2010-12-28 2017-11-14 思杰系统有限公司 用于数据库代理请求交换的系统和方法
US9589029B2 (en) * 2010-12-28 2017-03-07 Citrix Systems, Inc. Systems and methods for database proxy request switching
CN103729373B (zh) * 2012-10-15 2017-08-04 北京新媒传信科技有限公司 一种数据库代理方法和装置
CN103067293B (zh) * 2012-12-31 2017-03-22 北京京东世纪贸易有限公司 负载均衡设备的连接管理和复用的方法和系统
US9268798B2 (en) * 2013-04-26 2016-02-23 Oracle International Corporation Support for cloud-based multi-tenant environments using connection labeling
US9929916B1 (en) * 2013-05-02 2018-03-27 Aspen Technology, Inc. Achieving stateful application software service behavior in distributed stateless systems
US9785687B2 (en) 2013-06-06 2017-10-10 Oracle International Corporation System and method for transparent multi key-value weighted attributed connection using uni-tag connection pools
US9720970B2 (en) 2013-06-06 2017-08-01 Oracle International Corporation Efficient storage and retrieval of fragmented data using pseudo linear dynamic byte array
US9569472B2 (en) 2013-06-06 2017-02-14 Oracle International Corporation System and method for providing a second level connection cache for use with a database environment
US9747341B2 (en) 2013-06-06 2017-08-29 Oracle International Corporation System and method for providing a shareable global cache for use with a database environment
US9600546B2 (en) 2013-06-06 2017-03-21 Oracle International Corporation System and method for marshaling massive database data from native layer to java using linear array
CN104239365B (zh) * 2013-06-24 2018-09-04 北京新媒传信科技有限公司 一种获取数据库连接池中连接的方法和数据库连接池
CN104750546B (zh) * 2013-12-30 2018-01-30 中国移动通信集团公司 一种调整连接池的方法及系统
US9258196B2 (en) 2014-02-05 2016-02-09 International Business Machines Corporation Composite service pre-provisioning
USD750123S1 (en) 2014-02-14 2016-02-23 Aspen Technology, Inc. Display screen with graphical user interface
US10742748B2 (en) 2016-08-12 2020-08-11 Oracle International Corporation System and method for supporting live addition of a tenant in a connection pool environment
US11290540B2 (en) 2016-08-12 2022-03-29 Oracle International Corporation System and method for use of server-side connection pool tagging in a multi-tenant environment
US10824750B2 (en) * 2016-08-12 2020-11-03 Oracle International Corporation System and method for performing connection validation in a multi-tenant environment
US10909211B2 (en) 2016-08-12 2021-02-02 Oracle International Corporation System and method for control of maximum connections in a connection pool environment
US11100058B2 (en) 2017-09-06 2021-08-24 Oracle International Corporation System and method for connection concentration in a database environment
US10698770B1 (en) * 2019-04-10 2020-06-30 Capital One Services, Llc Regionally agnostic in-memory database arrangements with reconnection resiliency

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US730378A (en) * 1902-08-28 1903-06-09 Albert Leslie Lambert Tube-closure.
US1232272A (en) * 1917-03-10 1917-07-03 Clem Frazier Inflation-valve.
US1837345A (en) * 1930-08-06 1931-12-22 Niles Steel Products Company Closure for cylindrical members
US1976589A (en) * 1933-04-20 1934-10-09 Lock Joint Pipe Co Pipe joint
US3120968A (en) * 1960-04-21 1964-02-11 John H Calvin Quick disconnect coupling with ring detent
US3780773A (en) * 1971-06-17 1973-12-25 S Haugen Closure for multiple passage conduit
US4093279A (en) * 1976-09-02 1978-06-06 Fib-R-Fit Inc. Quick connect-disconnect pipe coupling
DE2703104C2 (de) * 1977-01-26 1982-07-15 Kaco Gmbh + Co, 7100 Heilbronn Gleitringdichtung
US4158407A (en) * 1977-10-17 1979-06-19 Rest Frederick G Journal guard
US4193616A (en) * 1978-05-18 1980-03-18 Dana Corporation Quick connect fitting
DE3063119D1 (en) * 1979-07-25 1983-06-16 Raoul Fremy Couplings for hoses and the like
US4423892A (en) * 1980-10-29 1984-01-03 Bartholomew Donald D Swivelable quick connector assembly
US5033513A (en) * 1980-10-29 1991-07-23 Proprietary Technology, Inc. Swivelable quick connector assembly
US4601497A (en) * 1980-10-29 1986-07-22 Proprietary Technology Swivelable quick connector assembly
US4681351A (en) * 1982-03-22 1987-07-21 Proprietary Technology, Inc. Swivelable quick connector assembly
US4915136A (en) * 1980-10-29 1990-04-10 Proprietary Technology, Inc. Stuffer plug quick connector assembly
US4483543A (en) * 1983-01-19 1984-11-20 Otis Engineering Corporation Seals
US4483371A (en) * 1983-07-22 1984-11-20 Susin Victor G Protective holder for hose tip assembly
DE3502919A1 (de) * 1985-01-29 1986-07-31 Bayerische Motoren Werke AG, 8000 München Einspritzventil fuer gemischverdichtende brennkraftmaschinen
US4632434A (en) * 1985-07-08 1986-12-30 Murray Corporation Coupling means for tubular members
US4753458A (en) * 1986-08-28 1988-06-28 Harvard Industries, Inc. Quick connector assembly
US4846506A (en) * 1987-09-04 1989-07-11 U.S. Plastics Corporation Quick connect coupling
US4869534A (en) * 1988-09-26 1989-09-26 Huron Products Corporation Swivelable quick connector
US5195787A (en) * 1990-01-16 1993-03-23 Proprietary Technology, Inc. Quick connector with heavy-duty retainer
US5046763A (en) * 1990-02-01 1991-09-10 Teleflex Incorporated Quick connect hose coupling assembly
US5219188A (en) * 1991-01-09 1993-06-15 Sanoh Kogyo Kabushiki Kaisha Construction for preventing incomplete connection of pipes
US5168902A (en) * 1991-02-22 1992-12-08 Hood Joy S Tube plugging method
EP0840051B1 (en) * 1992-05-29 2001-03-21 Tokai Rubber Industries, Ltd. Hose connecting structure
US5275443A (en) * 1992-09-15 1994-01-04 Itt Corporation Sliding collar quick connect
US5342095A (en) * 1992-09-29 1994-08-30 Itt Corporation High pressure quick connector
US5364131A (en) * 1993-02-01 1994-11-15 Ford Motor Company Quick-connect tubular coupling
US5395140A (en) * 1993-05-13 1995-03-07 Enhanced Applications, L.C. Secondary latch and indicator for fluid coupling
US5401063A (en) * 1993-07-19 1995-03-28 Enhanced Applications, L.C. Primary/secondary retainer for beaded/flared tubing
US5405175A (en) * 1993-09-24 1995-04-11 Siemens Automotive L.P. Clip attachment of fuel tube to fuel rail
US5472016A (en) * 1993-10-04 1995-12-05 Itt Corporation Quick connector stuffer pin
US5492371A (en) * 1994-11-02 1996-02-20 Itt Corporation Garter spring stuffer pack quick connector
US5730481A (en) * 1994-11-04 1998-03-24 Itt Automotive, Inc. Quick connector with snap-on retainer
US5542716A (en) * 1994-11-04 1996-08-06 Itt Corporation Quick connector with snap-on retainer
JP3445858B2 (ja) * 1994-12-29 2003-09-08 臼井国際産業株式会社 保護被覆層を有する自動車用金属配管
US5951063A (en) * 1995-06-07 1999-09-14 Itt Manufacturing Enterprises, Inc. Quick connector with snap-on retainer having enhanced engagement
US6234544B1 (en) * 1995-09-26 2001-05-22 Proprietary Technology, Inc. Quick connector with confirmation feature
US5683117A (en) * 1995-12-14 1997-11-04 Flex Technologies, Inc. Retainer clip for a connector
US5782502A (en) * 1995-12-29 1998-07-21 Itt Automotive, Inc. Radial-release quick connector
DE19619026A1 (de) * 1996-05-10 1997-11-13 Trinova Gmbh Schnellkupplung
JP2880453B2 (ja) * 1996-06-07 1999-04-12 三桜工業株式会社 配管用継手装置のリテーナ
US5863077A (en) * 1996-12-20 1999-01-26 Itt Automotive, Inc. Quick connector with snap-on frangible retainer
US6173311B1 (en) 1997-02-13 2001-01-09 Pointcast, Inc. Apparatus, method and article of manufacture for servicing client requests on a network
US6130404A (en) * 1997-03-03 2000-10-10 Itt Automotive, Inc. Electro-optical removal of plastic layer bonded to a metal tube
US5987621A (en) * 1997-04-25 1999-11-16 Emc Corporation Hardware and software failover services for a file server
JP4345995B2 (ja) * 1997-05-20 2009-10-14 臼井国際産業株式会社 重合被覆金属管
US6199110B1 (en) 1997-05-30 2001-03-06 Oracle Corporation Planned session termination for clients accessing a resource through a server
US6490610B1 (en) * 1997-05-30 2002-12-03 Oracle Corporation Automatic failover for clients accessing a resource through a server
EP0905430B1 (en) * 1997-09-30 2010-04-14 Nitta Moore Company Connector
US6155612A (en) * 1997-11-17 2000-12-05 Itt Manufacturing Enterprises, Inc. Hybrid quick connector
DE19831897C2 (de) * 1998-07-16 2000-07-06 Rasmussen Gmbh Steckkupplung zum Verbinden zweier Fluidleitungen
US6293596B1 (en) * 1999-01-06 2001-09-25 Itt Manufacturing Enterprises, Inc. Quick connector with after incident indicator clip
US6674713B1 (en) * 1999-02-23 2004-01-06 Cisco Technology, Inc. Method and apparatus for providing continuous voice and call communications between a data network and a telephony network
US6371529B1 (en) * 1999-12-28 2002-04-16 Itt Manufacturing Enterprises, Inc. Quick connector with swivelable retainer housing
JP2002082551A (ja) * 2000-06-30 2002-03-22 Ricoh Co Ltd 定着装置および画像形成装置
US6520546B2 (en) * 2000-12-27 2003-02-18 Itt Manufacturing Enterprises, Inc. Quick connector release tool
US6431612B1 (en) * 2000-12-28 2002-08-13 Itt Manufacturing Enterprises, Inc. Air flow conduit quick connector
JP3871885B2 (ja) * 2001-01-09 2007-01-24 三桜工業株式会社 配管用継手
JP3958028B2 (ja) * 2001-01-15 2007-08-15 三桜工業株式会社 配管用継手
US7337441B2 (en) * 2001-07-17 2008-02-26 Bea Systems, Inc. System and method for prepreparing a transaction process involving a chain of servers in a circular flow
US7178050B2 (en) * 2002-02-22 2007-02-13 Bea Systems, Inc. System for highly available transaction recovery for transaction processing systems
DE50204467D1 (de) * 2002-05-04 2006-02-16 Ti Automotive Fuldabrueck Gmbh Rohrkupplung für Rohrleitungen
US7962630B2 (en) * 2002-05-10 2011-06-14 Oracle International Corporation Method and mechanism for implementing tagged session pools
US20040153558A1 (en) * 2002-10-31 2004-08-05 Mesut Gunduc System and method for providing java based high availability clustering framework
US6757950B2 (en) * 2002-11-15 2004-07-06 Itt Manufacturing Enterprises, Inc. Rotatable quick connector stuffer pin
JP2006519441A (ja) * 2003-02-24 2006-08-24 ビーイーエイ システムズ, インコーポレイテッド サーバロードバランシング及びサーバアフィニティのためのシステム及び方法
US8621031B2 (en) * 2003-04-29 2013-12-31 Oracle International Corporation Method and apparatus using connection pools in communication networks
US7317390B2 (en) * 2003-06-11 2008-01-08 Quantum Magnetics, Inc. Screening checkpoint for passengers and baggage
US7953860B2 (en) * 2003-08-14 2011-05-31 Oracle International Corporation Fast reorganization of connections in response to an event in a clustered computing system
US8223632B2 (en) * 2003-12-23 2012-07-17 At&T Intellectual Property I, L.P. Method and system for prioritized rerouting of logical circuit data in a data network

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902779A (zh) * 2012-09-28 2013-01-30 五八有限公司 一种多数据库的连接方法及装置
CN102902779B (zh) * 2012-09-28 2016-03-02 五八有限公司 一种多数据库的连接方法及装置
CN105339896A (zh) * 2013-06-28 2016-02-17 甲骨文国际公司 用于云端连接共享集合的系统和方法
CN107291747A (zh) * 2016-03-31 2017-10-24 北京优朋普乐科技有限公司 一种数据库连接池的管理方法、装置及系统
CN105938490A (zh) * 2016-04-14 2016-09-14 北京思特奇信息技术股份有限公司 一种web应用系统连接数据源智能切换方法及系统
CN105938490B (zh) * 2016-04-14 2020-01-03 北京思特奇信息技术股份有限公司 一种web应用系统连接数据源智能切换方法及系统
CN107453937A (zh) * 2016-06-01 2017-12-08 广州市动景计算机科技有限公司 网络连接池的管理方法及设备
CN107453937B (zh) * 2016-06-01 2021-01-26 阿里巴巴(中国)有限公司 网络连接池的管理方法、网络访问方法及相关设备
CN109800261A (zh) * 2018-12-15 2019-05-24 平安科技(深圳)有限公司 双数据库连接池的动态控制方法、装置及相关设备
CN109800261B (zh) * 2018-12-15 2024-04-05 平安科技(深圳)有限公司 双数据库连接池的动态控制方法、装置及相关设备
CN115328978A (zh) * 2022-06-27 2022-11-11 光大环境科技(中国)有限公司 一种连接池的连接方法和服务器
CN115328978B (zh) * 2022-06-27 2023-11-17 光大环境科技(中国)有限公司 一种连接池的连接方法和服务器

Also Published As

Publication number Publication date
US20060146878A1 (en) 2006-07-06
US7761502B2 (en) 2010-07-20
US20060146877A1 (en) 2006-07-06

Similar Documents

Publication Publication Date Title
CN101095109A (zh) 多池管理器
US7260818B1 (en) System and method for managing software version upgrades in a networked computer system
CN100547558C (zh) 并行计算系统中的冗余保护的方法和系统
JP6047564B2 (ja) セッションアフィニティおよびクラスタ化されたデータベース環境におけるコネクティビティの向上を提供するためのシステムおよび方法
US7130897B2 (en) Dynamic cluster versioning for a group
CN100485676C (zh) 文件系统串行化重新初始化装置、方法和系统
US7480816B1 (en) Failure chain detection and recovery in a group of cooperating systems
US6640203B2 (en) Process monitoring in a computer system
US9904573B2 (en) Transactional updating in dynamic distributed workloads
US8495090B2 (en) Storage medium containing parallel process control program, parallel processs control system, and parallel process control method
US20080275973A1 (en) Dynamic cli mapping for clustered software entities
WO2004081762A2 (en) Method and apparatus for executing applications on a distributed computer system
CN1313929C (zh) 用于地理映射的对资源确认和排序的方法与装置
CN108121755A (zh) 使用基于提示的路由在数据库系统中的工作负载切换
CN109471711A (zh) 一种任务处理的方法及装置
KR20070110011A (ko) 다중 풀 관리자
CN103368789A (zh) 集群监视器、用于监视集群的方法及计算机可读记录介质
CN105874433A (zh) 用于支持分布式数据网格中的异步调用的系统和方法
US7937611B2 (en) Method, system and machine accessible medium of a reconnect mechanism in a distributed system (cluster-wide reconnect mechanism)
US6754753B2 (en) Atomic ownership change operation for input/output (I/O) bridge device in clustered computer system
JPH11504142A (ja) 階層的に配列されたモジュールを有しているマルチプロセッサ・システム及び方法
CN114070716B (zh) 应用程序的管理系统、应用程序的管理方法以及服务器
US20180373658A1 (en) Conflict resolution on gpio pin multiplexing
CN101359320A (zh) 多处理器系统中的单元兼容性
JP2002366381A (ja) オブジェクトの動的入替え処理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20071226