CN1622528A - 有效的连接池管理系统和方法 - Google Patents
有效的连接池管理系统和方法 Download PDFInfo
- Publication number
- CN1622528A CN1622528A CN200410077875.8A CN200410077875A CN1622528A CN 1622528 A CN1622528 A CN 1622528A CN 200410077875 A CN200410077875 A CN 200410077875A CN 1622528 A CN1622528 A CN 1622528A
- Authority
- CN
- China
- Prior art keywords
- connection
- idle
- free time
- time
- connection pool
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明是一种高度有效的连接池管理的方法、系统和装置。在本发明的一个优选方面,高度有效的连接池管理系统可以包括一个被配置为存储一个或多个空闲连接的连接池。该系统还包括一个连接管理器,其被编程为耦合到所述的连接池。连接管理器还可以被编程为通过向空闲连接中的各个空闲连接发出无阻塞输入/输出(I/O)操作来验证这些空闲连接中的各个空闲连接。
Description
技术领域
本发明涉及基于套接字的数据通信领域,更具体地,涉及连接池管理。
背景技术
连接池(connection pool)代表了分布式计算领域中的一个重大进步。在使用连接池之前,客户机-服务器结构中的客户机进程按照需要建立与后端服务器进程之间的直接连接。这些直接连接通常采用两个端口之间的套接字的形式,每个端口驻留在一个特定的网络地址处。打开客户机进程和服务器进程之间的连接需要消耗大量的计算资源。具体来说,首先要在客户机进程和所请求的服务器进程中识别出所希望的套接字。一个握手过程可导致在客户机和服务器进程之间建立起连接。
本领域的技术人员将会认识到,在需要多个、重复的连接的应用中,在需要时仅仅在打开连接上就会消耗极其大量的计算资源。还有,特别是在涉及与后端数据库服务器之间的反复的远程连接的数据密集型应用中,情况更是如此。此外,不一定总是能够可靠地建立连接。就这点来说,当不能在这些进程之间建立套接字时,这种尝试会失败,使得客户机进程没有任何办法。不幸的是,从只有很少的可用连接到出现故障的连接都会导致获得由客户机进程所使用的连接的尝试失败。
连接池被广泛地看作是一种克服传统计算机进程连接中的明显缺陷的合适的工具。连接池是打开许多到有限数量的后端服务器进程的连接的应用所使用的技术。反向代理(reverse proxy)代表了连接池的一种典型应用。在连接池原型中,预先建立与后端服务器进程的连接。这些连接可以被组织在一个诸如数组或列表的数据结构中,在其中这些连接可以保持为空闲,直到或是由主服务器进程为了外部客户机将其提供出来,或是直接由客户机进程将其提供出来。以这种方式,当客户机进程需要使用与后端服务器进程的连接时,将不必每次都创建连接。
在对空闲连接池的管理中,需要一种消耗很少计算开销的有效的过程以验证最近没有被提供的连接仍保持为有效并且在需要时可以使用。在这点上,已知的是,使用空闲连接执行“宽慰性”事务(placebo transaction)以确保空闲连接的可靠性。当然,对任何一个空闲连接执行宽慰性事务会必然地消耗该空闲连接,从而访问该空闲连接的任何尝试都会被阻塞。虽然线程的自由使用可以克服宽慰性事务的阻塞行为,但是产生大量的线程供并发使用会消耗相当数量的计算资源。因此,在具有多个空闲连接的池中,使用线程的验证过程验证每个连接会产生与由于无效空闲连接而将会存在的相同级别的计算开销。
发明内容
本发明用于解决与连接池管理有关的技术中的缺陷,并且提供了一种用于高度有效的连接池管理的新颖的、非显而易见的方法、系统和装置。在本发明的一个优选方面,连接池管理系统可以包括一个被配置为存储一个或多个空闲连接的连接池。该系统还包括被编程为用于耦合到该连接池的连接管理器。所述的连接管理器还能够被编程为通过对各个空闲连接发出无阻塞输入/输出(I/O)操作,验证各个空闲连接。
连接池可以包括一个阵列结构。该阵列结构中的每个元素能够包括一个时间戳数据成员以及对一个空闲连接的引用。连接池还能够包括一个用于对空闲连接进行后进先出(LIFO)排序的结构。最后,连接池能够包括一个用于存储一个全局时间戳的结构。所述的全局时间戳能够指出最早的一个空闲连接被加入到连接池时的时间值。
本发明还能够包括一种连接池管理方法。在本发明的方法中,作为对将多个空闲连接中的第一个空闲连接加入到连接池的响应,可以记录一个全局时间戳,它指示第一个空闲连接被加入到连接池时的时间值。类似地,作为对将后续空闲连接加入到连接池的响应,可以将各个时间戳与相应的空闲连接相关联地记录在连接池中。可以将最早的空闲连接的时间戳与所述的全局时间戳进行比较,以确定是否出现了超时情况。结果,当确定出现了超时情况时,可以使用无阻塞I/O请求探测上述空闲连接中的至少一个空闲连接,以便验证这些空闲连接。
本发明的其它方面将在下面的说明中部分地提出,部分地将从下面的说明中显而易见,或是可以通过对本发明的实践获知。通过在所附的权利要求中特别指出的要素及其组合,将实现并获得本发明的这些方面。应当理解,上面的一般性描述以及下面的详细说明都仅是示例性和说明性的,并不是如权利要求那样对所提出的发明的限制。
附图说明
结合在说明书中并构成说明书一部分的附图说明了本发明的实施例,并且与说明部分一起用于解释本发明的原理。此处例示的实施例是当前优选的实施例,然而应当理解,本发明并不限制在所显示的确切的结构安排和手段,其中:
图1是根据本发明被配置为用于管理连接池的连接管理器的示意图;
图2是表示一个过程的流程图,该过程用于向图1的连接池内添加一个新连接;
图3是表示一个过程的流程图,该过程用于验证图1的连接池内的连接;以及
图4是表示一个过程的流程图,该过程用于提供图1的连接池内的连接。
具体实施方式
本发明是一种用于以高度有效的方式管理连接池的方法、系统和装置。根据本发明,一个阵列能够被配置为以LIFO的结构安排存储一个或多个已经建立的连接。阵列中的每个被占据的项还可以存储一个时间戳,它先是指示该连接是何时被加入到该阵列中的,随后指示该连接后来是何时被验证的。重要的是,仅有用于最后被添加的连接的时间戳可以被用来和连接池的一个预先设置的超时时间比较,以便确定何时应该验证池中的这些连接。
在验证过程中,可以查询阵列中的每个连接以确定该连接的时间戳是否超过了所述的预先设置的超时时间。如果该连接的时间戳超过了该超时时间,则可以在该连接上施加一个无阻塞I/O操作,以确定该连接是否仍然保持有效。如果该无阻塞I/O操作成功,则可以更新时间戳以反应出当前的时间,并且可以测试阵列中的下一个连接。否则,可以将该连接从阵列中删除。重要的是,本领域的技术人员将会认识到,通过对连接仅使用无阻塞I/O操作,而不是产生独立的线程测试连接的有效性,可以避免大量的计算资源消耗。
图1是根据本发明被配置为用于管理连接池的连接管理器的示意图。连接管理器130可以耦合到连接池110以及一个或多个客户机进程140。客户机进程140可以直接地耦合到连接管理器130,从而各个客户机进程140可以直接请求使用布置在连接池110中的连接120A、120B...120n。可选择地,客户机进程140可以通过一个耦合于连接管理器130的服务器进程(未示出)间接地请求使用连接120A、120B...120n。
在上述任一情况下,连接池110可以包括一个或多个空闲连接120A、120B...120n。连接120A、120B...120n可以以阵列类型数据结构安排在连接池110内。该阵列类型数据结构可以被连接管理器130以LIFO的方式访问。结果,该阵列类型数据结构可以采用堆栈的形式,在其中最近添加到连接池110的空闲连接可以被用于随后的请求以提供连接。因此,能够大大地提高了提供有效连接的可能性。
连接池110中的每个连接120A、120B...120n可以具有一个与其相关联的时间戳。该时间戳能够指示出各个连接120A、120B...120n是何时被添加到连接池110的。当根据本发明验证了各个连接120A、120B...120n时,在随后的某一时刻可以更新这些时间戳。在任何情况下,可以将连接120A、120B...120n的时间戳与一个连接池110所关联的全局时间戳进行比较,以确定何时需要进行验证。该全局时间戳可以保存连接池110中最早的时间戳的值。当连接120A、120B...120n中新近空闲的一个连接被添加到连接池110内时,可以将连接120A、120B...120n中的该新近空闲的连接的时间戳与该全局时间戳和一个预先设定的超时时间值的和进行比较。如果连接120A、120B...120n中的该新近空闲的连接的时间戳超过了所述两值之和,则可以对整个连接池110进行验证。
在验证过程中,连接管理器130可以同步该阵列,以便可以暂时挂起对连接池110的添加和删除。然后,可以顺序地遍历该阵列。在阵列中的每个元素处,可以将阵列元素中的连接120A、120B...120n中的一个相应的连接的时间戳与全局时间戳和超时时间值的和进行比较,以确定是否应该验证连接120A、120B...120n中的该相应的连接。
如果应该验证,就对连接120A、120B...120n中的该相应的连接施加无阻塞I/O操作150。如果操作失败,则连接120A、120B...120n中的该相应的连接可能是无效的,并且从连接池110中将其删除。否则,以最近的时间更新该时间戳,并且处理连接池110内连接120A、120B...120n中的下一个连接,直到连接池110内的连接120A、120B...120n中没有剩余的连接要被验证时为止。
在对连接管理器130的操作的更详细的说明中,图2到图4是说明了用于添加、验证和提供图1的连接池110内的连接120A、120B...120n的过程的流程图。
首先从图2开始,它显示出了一个说明用于向连接池添加新连接的过程的流程图。首先在块210开始,可以接收将一个连接添加到池中的请求。在判断块220,可以确定该池是否包括任何空闲连接,或者该池是否是空的。如果该池是空的,则在块260,可以更新该池的全局时间戳以反应出当前的时间,并且在块270,当前的时间还可以与该新连接相关联地保存。
如果在判断块220中,连接池被确定为包括至少一个空闲连接,则在判断块230中,可以确定池最早时间戳是否超过了全局时间戳和一个预先设置的超时时间值的总和。如果没有超过,则在块240可以将该连接与当前时间戳一起添加到池中,并且在块250该过程结束。否则,在块280,可以确定必须考虑对整个池进行池验证,并且该过程可以在图3中继续。特别要指出的是,当此处谈及时间戳时,并不旨在意味着所有的时间戳都必须指示基于24小时时钟的特定时间。而是该时间戳可以同样地包括一个所经过的时间。
图3是例示用于验证图1的连接池内的连接的过程的流程图。在块305开始,可以接收一个验证连接池内连接的请求。在块310,可以从池中提取出第一个连接以便验证。在判断块315中,可以确定第一个连接的时间戳是否超过了全局时间戳和预先设置的超时时间值的和。如果没有,则不必进一步验证该连接,并且在判断块320,如果还有剩余连接要处理,则可以在块310中从该池提取出下一个连接,并且可以继续进行该验证过程。否则在块360该过程结束。
如果在判断块315确定第一个连接的时间戳超过了全局时间戳和预先设置的超时时间值的和,则在块325,可以在该连接上执行一个无阻塞I/O操作。无阻塞I/O操作是本领域中已知的技术,并且已为此目的开发出了完整的程序库。在连接池中的连接将一个后端数据服务器耦合到一个客户机进程的情况中,可以在该连接上执行一个无阻塞读。
在任何情况下,在判断块330中,如果该无阻塞I/O操作失败了,则在块335中,可以假定该连接是无效的并将其关闭。在块340中,可以从连接池中删除该连接,并且在块345中,通过将该池中最近添加的空闲连接移动到由已删除空闲连接所腾出的阵列元素处,可以“堵上”该阵列元素。相反地,如果该无阻塞I/O操作没有失败,可以假设该连接是有效的,并且在块350中可以用当前时间更新其各自的时间戳。在这两种情况下,该过程都可以继续到前面说明的判断块320。一旦验证了所有的连接,该过程就可以结束,并且该池中的空闲连接可以由连接管理器自由地提供。
就这点而言,图4是例示用于提供图1的连接池内的连接的过程的流程图。首先在块405开始,可以请求一个连接,并且在判断块410,可以确定是否有任何剩余的连接可用于请求。如果没有,则在块440,连接管理器可以等待,直到有一个空闲连接成为可用为止。否则,在块415,可以提取出最后被添加到连接池中的空闲连接,并且在块420,可以在提取出的连接上执行无阻塞I/O操作以确保其有效性。
如果在判断块425,该无阻塞I/O操作没有失败,则在块430,可以将提取出的连接返回给连接管理器以便由请求进程使用,并且该过程在块435结束。比较起来,如果在判断块425该无阻塞I/O操作失败了,则在块445可以确定该连接是无效的并将其关闭。随后在块450中,可以从池中删除该连接,并且可以如前面所述的那样,“堵上”持有对该连接的引用的阵列元素。
本发明可以用硬件、软件或硬件和软件的组合来实现。可以以集中方式在一个计算机系统内,或是以分布方式实现本发明的方法和系统的具体实施,其中在分布方式中,不同的组件分布在几个互连的计算机系统之上。任何类型的计算机系统或其它适合于执行此处描述的方法的装置都适用于实现描述于此的功能。
一种典型的硬件和软件的组合是带有计算机程序的通用计算机系统,当所述的计算机程序被加载并执行时,它控制该计算机系统以便它可以实现描述于此的方法。本发明还可以被嵌入到计算机程序产品中,它包括能够实现此处描述的方法的所有特征,并且当其被加载到计算机系统中时可以实现这些方法。
在本文中的计算机程序或应用是指一组指令的以任何语言、代码或符号表示的任何表达,其中该组指令旨在使得具有信息处理能力的系统或是直接地执行特定的功能,或是在进行如下处理中的一种或全部之后执行该特定的功能:a)转换成另一种语言、代码或符号;b)以不同的材料形式再现。值得注意的是,本发明可以以其它特定的形式来实现,而不背离本发明的精神或本质属性,并且因此,应当参考下面的权利要求,而不是前面的说明书,作为本发明范围的指示。
Claims (24)
1.一种连接池管理系统,包括:
连接池,被配置为存储多个空闲连接;以及
连接管理器,被编程为耦合到所述的连接池,并且进一步被编程为通过向各个所述空闲连接中的每一个发出一无阻塞输入/输出(I/O)操作来验证所述各个空闲连接。
2.如权利要求1的系统,其中所述的连接池具有一个阵列结构,其中所述阵列结构中的每个元素包括一时间戳数据成员和对一个所述空闲连接的引用。
3.如权利要求1的系统,其中所述的连接池包括一个用于所述空闲连接的后进先出(LIFO)排序的结构。
4.如权利要求1的系统,其中所述的连接池包括一个用于存储全局时间戳的结构,该全局时间戳指示最早的空闲连接被添加到所述连接池时的时间值。
5.一种连接池管理方法,包括如下步骤:
作为对将多个空闲连接中的第一个空闲连接添加到连接池的响应,记录一全局时间戳,它指示所述第一个空闲连接被添加到所述连接池时的时间值;
作为对将所述空闲连接中后续的空闲连接添加到所述连接池的响应,将各个时间戳与所述空闲连接中所述后续空闲连接中相应的空闲连接相关联地记录在所述连接池中;
将所述空闲连接中最早的空闲连接的时间戳与所述的全局时间戳进行比较以确定是否出现了超时情况;以及
作为对确定出现了超时情况的响应,用无阻塞输入/输出(I/O)请求探测所述空闲连接中的至少一个空闲连接,以便验证所述空闲连接中的所述至少一个空闲连接。
6.如权利要求5的方法,其中所述的比较步骤包括将与最近最少被添加到所述连接池的连接相关联的时间戳与所述全局时间戳进行比较,以确定是否出现了超时情况的步骤。
7.如权利要求5的方法,其中所速的比较步骤包括如下的步骤:
计算所述的全局时间戳和一预先设置的超时时间值的和;
将所述空闲连接中所述最早的空闲连接的所述时间戳与所述全局时间戳和预先设置的超时时间值的和进行比较;以及
如果所述空闲连接中的所述最早的空闲连接的所述时间戳超过了所述全局时间戳和预先设置的超时时间值的和,则断定出现了超时情况。
8.如权利要求5的方法,其中所述的探测步骤包括如下的步骤:
顺序地为所述连接池中的每个所述空闲连接执行与所述全局时间戳的时间戳比较;以及
对于所述空闲连接中具有超过了所述全局时间戳和预先设置的超时时间值的和的时间戳的每个空闲连接,在该空闲连接上尝试一无阻塞输入/输出(I/O)操作。
9.如权利要求5的方法,还包括在探测所述空闲连接中的所述至少一个空闲连接之后,以一新值更新所述全局时间戳的步骤。
10.如权利要求5的方法,还包括对提供所述连接池中的一空闲连接的请求做出响应,提供所述空闲连接中最近使用的一个空闲连接的步骤。
11.如权利要求10的方法,其中所述的提供步骤还包括如下的步骤:
用一无阻塞输入/输出(I/O)请求探测所述的被提供的空闲连接,以便验证所述被提供的空闲连接;以及
在所述被提供的空闲连接没有通过验证的情况下,从所述的连接池中删除所述被提供的空闲连接,并且提供所述空闲连接中的另一个空闲连接。
12.如权利要求5的方法,还包括以后进先出(LIFO)方式将所述空闲连接中的每个空闲连接添加到所述连接池中的步骤。
13.如权利要求12的方法,其中所述的添加步骤还包括为所述空闲连接中的每个被添加的空闲连接,在所述连接池中记录一时间戳,以便指明所述空闲连接中的所述被添加的空闲连接是何时添加到所述连接池中的步骤。
14.如权利要求5的方法,还包括从所述连接池中删除每个在所述探测步骤中没有通过验证的空闲连接的步骤。
15.一种机器可读的存储装置,其上存储有用于连接池管理的计算机程序,所述的计算机程序包括例行指令集,当由机器执行该程序时,可以使得该机器执行如下的步骤:
作为对将多个空闲连接中的第一个空闲连接添加到连接池的响应,记录一全局时间戳,它指示所述第一个空闲连接被添加到所述连接池时的时间值;
作为对将所述空闲连接中后续的空闲连接添加到所述连接池的响应,将各个时间戳与所述后续空闲连接中相应的空闲连接相关联地记录在所述连接池中;
将所述空闲连接中最早的空闲连接的时间戳与所述的全局时间戳进行比较以确定是否出现了超时情况;以及
作为对确定出现了超时情况的响应,用无阻塞输入/输出(I/O)请求探测所述空闲连接中的至少一个空闲连接,以便验证所述空闲连接中的所述至少一个空闲连接。
16.如权利要求15的机器可读的存储装置,其中所述的比较步骤包括将与最近最少被添加到所述连接池的连接相关联的时间戳与所述全局时间戳进行比较,以确定是否出现了超时情况的步骤。
17.如权利要求15的机器可读的存储装置,其中所述的比较步骤包括如下的步骤:
计算所述的全局时间戳和一预先设置的超时时间值的和;
将所述空闲连接中所述最早的空闲连接的所述时间戳与所述全局时间戳和预先设置的超时时间值的和进行比较;以及
如果所述空闲连接中的所述最早的空闲连接的所述时间戳超过了所述全局时间戳和预先设置的超时时间值的和,则断定出现了超时情况。
18.如权利要求15的机器可读的存储装置,其中所述的探测步骤包括如下的步骤:
顺序地为所述连接池中的每个所述空闲连接执行与所述全局时间戳的时间戳比较;以及
对于所述空闲连接中具有超过了所述全局时间戳和预先设置的超时时间值的和的时间戳的每个空闲连接,在该空闲连接上尝试一无阻塞输入/输出(I/O)操作。
19.如权利要求15的机器可读的存储装置,还包括在探测所述空闲连接中的所述至少一个空闲连接之后,以一新值更新所述全局时间戳的步骤。
20.如权利要求15的机器可读的存储装置,还包括对提供所述连接池中的一空闲连接的请求做出响应,提供所述空闲连接中最近使用的一个空闲连接的步骤。
21.如权利要求20的机器可读的存储装置,其中所述的提供步骤还包括如下的步骤:
用一无阻塞输入/输出(I/O)请求探测所述的被提供的空闲连接,以便验证所述被提供的空闲连接;以及
在所述被提供的空闲连接没有通过验证的情况下,从所述的连接池中删除所述被提供的空闲连接,并且提供所述空闲连接中的另一个空闲连接。
22.如权利要求15的机器可读的存储装置,还包括以后进先出(LIFO)的方式将所述空闲连接中的每个空闲连接添加到所述连接池中的步骤。
23.如权利要求22的机器可读的存储装置,其中所述的添加步骤还包括为所述空闲连接中的每个被添加的空闲连接,在所述连接池中记录一时间戳,以便指明所述空闲连接中的所述被添加的空闲连接是何时添加到所述连接池中的步骤。
24.如权利要求15的机器可读的存储装置,还包括从所述连接池中删除每个在所述探测步骤中没有通过验证的空闲连接的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/723,924 | 2003-11-26 | ||
US10/723,924 US8041821B2 (en) | 2003-11-26 | 2003-11-26 | Connection pool management |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1622528A true CN1622528A (zh) | 2005-06-01 |
Family
ID=34620006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410077875.8A Pending CN1622528A (zh) | 2003-11-26 | 2004-09-16 | 有效的连接池管理系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8041821B2 (zh) |
CN (1) | CN1622528A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102780764A (zh) * | 2012-06-28 | 2012-11-14 | 北京奇虎科技有限公司 | 一种代理通信系统及方法 |
CN103067293A (zh) * | 2012-12-31 | 2013-04-24 | 北京京东世纪贸易有限公司 | 负载均衡设备的连接管理和复用的方法和系统 |
CN103559204A (zh) * | 2013-10-08 | 2014-02-05 | 北京奇虎科技有限公司 | 处理数据库操作请求的方法、设备和系统 |
CN104144185A (zh) * | 2013-05-09 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 数据通信方法、装置及终端 |
CN104427529A (zh) * | 2013-08-26 | 2015-03-18 | 联想(北京)有限公司 | 一种信息处理方法和终端 |
CN104636131A (zh) * | 2014-12-12 | 2015-05-20 | 北京奇虎科技有限公司 | 一种特殊指令的执行方法及装置 |
CN105631079A (zh) * | 2014-11-27 | 2016-06-01 | 中国科学院沈阳自动化研究所 | 一种可配置的分段式生产任务排程方法 |
CN110289993A (zh) * | 2019-06-06 | 2019-09-27 | 阿里巴巴集团控股有限公司 | 一种连接池管理方法、装置、设备及转接系统 |
CN112817933A (zh) * | 2020-12-30 | 2021-05-18 | 国电南京自动化股份有限公司 | 一种弹性数据库连接池的管理方法及装置 |
CN113873036A (zh) * | 2021-09-28 | 2021-12-31 | 北京达佳互联信息技术有限公司 | 一种通信方法、装置、服务器及存储介质 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050267958A1 (en) * | 2004-04-28 | 2005-12-01 | International Business Machines Corporation | Facilitating management of resources by tracking connection usage of the resources |
US8224966B2 (en) * | 2004-08-24 | 2012-07-17 | Cisco Technology, Inc. | Reproxying an unproxied connection |
US9118717B2 (en) * | 2005-02-18 | 2015-08-25 | Cisco Technology, Inc. | Delayed network protocol proxy for packet inspection in a network |
US8667184B2 (en) * | 2005-06-03 | 2014-03-04 | Qnx Software Systems Limited | Distributed kernel operating system |
US9282151B2 (en) * | 2008-09-11 | 2016-03-08 | International Business Machines Corporation | Flow control in a distributed environment |
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 |
US9612641B2 (en) | 2010-11-17 | 2017-04-04 | International Business Machines Corporation | Adjusting the connection idle timeout in connection pools |
CN103561060B (zh) * | 2013-10-17 | 2017-08-11 | 北京京东尚科信息技术有限公司 | 一种多线程环境下的通信链接方法及中转服务器 |
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 |
US10909211B2 (en) | 2016-08-12 | 2021-02-02 | Oracle International Corporation | System and method for control of maximum connections in a connection pool environment |
US10824750B2 (en) * | 2016-08-12 | 2020-11-03 | Oracle International Corporation | System and method for performing connection validation in a multi-tenant environment |
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 |
US10909088B2 (en) | 2017-09-06 | 2021-02-02 | Oracle International Corporation | System and method for high availability and load balancing in a database environment |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5093912A (en) * | 1989-06-26 | 1992-03-03 | International Business Machines Corporation | Dynamic resource pool expansion and contraction in multiprocessing environments |
US6141325A (en) * | 1996-12-18 | 2000-10-31 | International Business Machines Corporation | Paradigm for enabling interoperability between different subnetworks |
US6105067A (en) * | 1998-06-05 | 2000-08-15 | International Business Machines Corp. | Connection pool management for backend servers using common interface |
US6411986B1 (en) * | 1998-11-10 | 2002-06-25 | Netscaler, Inc. | Internet client-server multiplexer |
US6477569B1 (en) * | 1998-11-20 | 2002-11-05 | Eugene Sayan | Method and apparatus for computer network management |
US6775707B1 (en) * | 1999-10-15 | 2004-08-10 | Fisher-Rosemount Systems, Inc. | Deferred acknowledgment communications and alarm management |
US7076556B1 (en) * | 2000-07-31 | 2006-07-11 | Cisco Technology, Inc. | Method and apparatus for storage and retrieval of connection data in a communications system |
US6988140B2 (en) * | 2001-02-23 | 2006-01-17 | Sun Microsystems, Inc. | Mechanism for servicing connections by disassociating processing resources from idle connections and monitoring the idle connections for activity |
US7143131B1 (en) | 2001-05-04 | 2006-11-28 | Microsoft Corporation | Transmission control protocol |
US20030037263A1 (en) * | 2001-08-08 | 2003-02-20 | Trivium Systems Inc. | Dynamic rules-based secure data access system for business computer platforms |
US6886041B2 (en) * | 2001-10-05 | 2005-04-26 | Bea Systems, Inc. | System for application server messaging with multiple dispatch pools |
US7058717B2 (en) * | 2002-07-25 | 2006-06-06 | International Business Machines Corporation | Method and system for providing highly available services based on a load balancing policy and a reusable connection context object |
US7698434B2 (en) * | 2002-08-29 | 2010-04-13 | Bea Systems, Inc. | J2EE connector architecture |
US8145759B2 (en) * | 2002-11-04 | 2012-03-27 | Oracle America, Inc. | Dynamically configurable resource pool |
GB2411030B (en) * | 2002-11-20 | 2006-03-22 | Filesx Ltd | Fast backup storage and fast recovery of data (FBSRD) |
US7080126B2 (en) * | 2003-02-28 | 2006-07-18 | Bea Systems, Inc. | Computer program product for performing resource pool maintenance by maintaining resources in several deques |
US8621031B2 (en) * | 2003-04-29 | 2013-12-31 | Oracle International Corporation | Method and apparatus using connection pools in communication networks |
US20050038890A1 (en) * | 2003-08-11 | 2005-02-17 | Hitachi., Ltd. | Load distribution method and client-server system |
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 |
US7937493B2 (en) * | 2003-08-14 | 2011-05-03 | Oracle International Corporation | Connection pool use of runtime load balancing service performance advisories |
US7747717B2 (en) * | 2003-08-14 | 2010-06-29 | Oracle International Corporation | Fast application notification in a clustered computing system |
US8346909B2 (en) * | 2004-01-22 | 2013-01-01 | International Business Machines Corporation | Method for supporting transaction and parallel application workloads across multiple domains based on service level agreements |
US9582313B2 (en) * | 2004-06-03 | 2017-02-28 | Sap Se | Connection resource system |
US7702906B1 (en) * | 2005-06-30 | 2010-04-20 | Symantec Operating Corporation | Securing kernel metadata communication in environments employing distributed software services |
US7996837B2 (en) * | 2006-05-03 | 2011-08-09 | Oracle International Corporation | Recovery mechanism for transactions |
US7702796B2 (en) * | 2006-05-18 | 2010-04-20 | International Business Machines Corporation | Recovering a pool of connections |
US7716146B2 (en) * | 2006-12-22 | 2010-05-11 | Verizon Patent And Licensing Inc. | Network management system utilizing a neural network |
US8218572B2 (en) * | 2006-12-22 | 2012-07-10 | Verizon Patent And Licensing Inc. | Network element connection management within a network management system |
US8218570B2 (en) * | 2006-12-22 | 2012-07-10 | Verizon Patent And Licensing Inc. | Network element abstraction within a network management system |
US8713186B2 (en) * | 2007-03-13 | 2014-04-29 | Oracle International Corporation | Server-side connection resource pooling |
US8539504B2 (en) * | 2007-08-30 | 2013-09-17 | International Business Machines Corporation | Heterogeneous architecture in pooling management |
-
2003
- 2003-11-26 US US10/723,924 patent/US8041821B2/en active Active
-
2004
- 2004-09-16 CN CN200410077875.8A patent/CN1622528A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102780764B (zh) * | 2012-06-28 | 2015-12-16 | 北京奇虎科技有限公司 | 一种代理通信系统及方法 |
CN102780764A (zh) * | 2012-06-28 | 2012-11-14 | 北京奇虎科技有限公司 | 一种代理通信系统及方法 |
CN103067293A (zh) * | 2012-12-31 | 2013-04-24 | 北京京东世纪贸易有限公司 | 负载均衡设备的连接管理和复用的方法和系统 |
CN103067293B (zh) * | 2012-12-31 | 2017-03-22 | 北京京东世纪贸易有限公司 | 负载均衡设备的连接管理和复用的方法和系统 |
CN104144185A (zh) * | 2013-05-09 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 数据通信方法、装置及终端 |
CN104427529A (zh) * | 2013-08-26 | 2015-03-18 | 联想(北京)有限公司 | 一种信息处理方法和终端 |
CN104427529B (zh) * | 2013-08-26 | 2018-04-27 | 联想(北京)有限公司 | 一种信息处理方法和终端 |
CN103559204A (zh) * | 2013-10-08 | 2014-02-05 | 北京奇虎科技有限公司 | 处理数据库操作请求的方法、设备和系统 |
CN105631079A (zh) * | 2014-11-27 | 2016-06-01 | 中国科学院沈阳自动化研究所 | 一种可配置的分段式生产任务排程方法 |
CN105631079B (zh) * | 2014-11-27 | 2019-03-12 | 中国科学院沈阳自动化研究所 | 一种可配置的分段式生产任务排程方法 |
CN104636131A (zh) * | 2014-12-12 | 2015-05-20 | 北京奇虎科技有限公司 | 一种特殊指令的执行方法及装置 |
CN104636131B (zh) * | 2014-12-12 | 2018-07-27 | 北京奇虎科技有限公司 | 一种特殊指令的执行方法及装置 |
CN110289993A (zh) * | 2019-06-06 | 2019-09-27 | 阿里巴巴集团控股有限公司 | 一种连接池管理方法、装置、设备及转接系统 |
CN112817933A (zh) * | 2020-12-30 | 2021-05-18 | 国电南京自动化股份有限公司 | 一种弹性数据库连接池的管理方法及装置 |
CN113873036A (zh) * | 2021-09-28 | 2021-12-31 | 北京达佳互联信息技术有限公司 | 一种通信方法、装置、服务器及存储介质 |
CN113873036B (zh) * | 2021-09-28 | 2024-03-05 | 北京达佳互联信息技术有限公司 | 一种通信方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20050120117A1 (en) | 2005-06-02 |
US8041821B2 (en) | 2011-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1622528A (zh) | 有效的连接池管理系统和方法 | |
US11645261B2 (en) | System and method for heterogeneous database replication from a remote server | |
US7895172B2 (en) | System and method for writing data dependent upon multiple reads in a distributed database | |
US7934066B2 (en) | Extensible application backup system and method | |
US6708227B1 (en) | Method and system for providing common coordination and administration of multiple snapshot providers | |
US7117229B2 (en) | Method and system for online reorganization of databases | |
US8032790B2 (en) | Testing of a system logging facility using randomized input and iteratively changed log parameters | |
JP4049293B2 (ja) | 情報システムにおいて一貫性を維持するためのトランザクションシステム及び方法 | |
US7650356B2 (en) | Generating an optimized restore plan | |
US10831724B2 (en) | Method of reconciling resources in the metadata hierarchy | |
US20100115332A1 (en) | Virtual machine-based on-demand parallel disaster recovery system and the method thereof | |
US20090328023A1 (en) | Implementing optimized installs around pre-install and post-install actions | |
US20110137864A1 (en) | High throughput, reliable replication of transformed data in information systems | |
KR20170049375A (ko) | 가상 머신 시스템 디스크 스냅 샷의 생성 방법 및 장치 | |
US20030093620A1 (en) | System and method for intercepting file system writes | |
CN104813276A (zh) | 从备份系统流式恢复数据库 | |
CN104166600A (zh) | 数据备份与恢复方法及装置 | |
CN1668010A (zh) | 用来在更新分发系统中分发更新元数据的基于标记模式 | |
CN111241195B (zh) | 分布式系统的数据库处理方法、装置、设备及存储介质 | |
US11907260B2 (en) | Compare processing using replication log-injected compare records in a replication environment | |
CN102841824B (zh) | 一种回滚方法和回滚装置 | |
US7069270B1 (en) | Automated method and mechanism for converting a single instance application to a multiple instance application | |
CN105677579B (zh) | 缓存系统中的数据访问方法和系统 | |
CN101727318A (zh) | 用于促进持久化应用编程接口的方法和装置 | |
US9009098B1 (en) | Methods and apparatus for creating a centralized data store |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination |