CN104871134B - 使用连接加标签来支持基于云的多租户环境 - Google Patents
使用连接加标签来支持基于云的多租户环境 Download PDFInfo
- Publication number
- CN104871134B CN104871134B CN201480003575.7A CN201480003575A CN104871134B CN 104871134 B CN104871134 B CN 104871134B CN 201480003575 A CN201480003575 A CN 201480003575A CN 104871134 B CN104871134 B CN 104871134B
- Authority
- CN
- China
- Prior art keywords
- connection
- tenant
- request
- pool
- cost
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
适用于连接池的连接加标签的系统和方法,包括使用连接加标签来支持基于云的多租户环境。根据实施例,所述系统包括:连接池,包括多个连接对象,所述多个连接对象提供软件应用可以用来请求访问数据库的连接,其中,可以根据特定应用的配置来给所述连接中的每一个加标签;以及连接池逻辑,识别被加标签为高成本连接的连接,并且对创建或重新利用高成本连接以服务来自多个租户或租户应用的请求进行控制。根据实施例,所述系统包括连接池逻辑,所述连接池逻辑识别被加标签为高成本连接的连接并且在连接的总数低于特定阈值时避免使用这些高成本连接来服务请求。
Description
(版权声明)
本专利文件的公开的一部分包含受版权保护的材料。版权所有者不反对任何人对专利文档或专利公开内容按照在美国专利商标局可以公开得到的文件或记录中出现得那样进行传真复制,但是除此之外在任何情况下都保留所有版权。
优先权要求
本申请要求在2013年4月26日提交的发明名称为“SYSTEM AND METHOD FORCONNECTION LABELING FOR USE WITH CONNECTION POOLS”的美国临时专利申请No.61/816610(受权人卷号No.ORACL-05448US0)、在2013年6月6日提交的发明名称为“SYSTEM ANDMETHOD FOR CONNECTION LABELING FOR USE WITH CONNECTION POOLS”的美国专利申请No.13/912086(受权人卷号No.ORACL-05448US1)、在2013年4月26日提交的发明名称为“SUPPORT FOR CLOUD-BASED MULTI-TENANT ENVIRONMENTS USING CONNECTION LABELING”美国临时专利申请No.61/816623(受权人卷号No.ORACL-05449US0)和在2013的6月6日提交的发明名称为“SUPPORT FOR CLOUD-BASED MULTI-TENANT ENVIRONMENTS USINGCONNECTION LABELING”的美国专利申请No.13/912098(受权人卷号No.ORACL-05449US1)的优先权,上述申请中的每一个通过引用并入于此。
技术领域
本发明的实施例总体上涉及连接池(connection pool),特别是涉及包括使用连接加标签来支持基于云的多租户环境的、适用于连接池的连接加标签(connectionlabeling)的系统和方法。
背景技术
一般而言,连接池是数据库连接对象的高速缓存。连接对象代表可被软件应用用来与数据库连接的物理数据库连接。在运行时间,应用可以从池请求连接。如果池包含可满足请求的连接,那么它向应用返回连接。如果没有发现连接,那么新连接可以被创建并且被返回给应用。应用使用连接来访问数据库以执行工作,然后将连接返回给池。然后可以使连接可用于后来的连接请求。
创建连接可能在时间和资源上均成本高昂。例如,诸如网络通信、认证、事务登记和内存分配之类的任务均对创建连接对象所花费的时间和资源的量有贡献。连接池允许重新利用这种连接对象,并且减少必须创建对象的次数。
连接池的一个示例是Oracle通用连接池(Oracle Universal Connection Pool,UCP),所述UCP提供了用于高速缓存JDBC连接的连接池。数据库密集的Java应用可以使用连接池来提高系统资源的性能利用。UCP连接池可以使用任何JDBC驱动程序来创建物理连接,所述物理连接然后由池维护。可以基于应用的性能和可用性要求,通过用于优化池行为的特性来配置连接池。
发明内容
在诸如云环境或融合应用(Fusion Application)多租户环境之类的多租户环境的情况中,由于容纳多个租户以及例如维持每个不同租户对数据库访问之间的安全的需要,连接类型可能非常复杂。这些复杂的连接被认为是高成本的连接。对于提高系统性能和/或在云环境内操作的应用的性能,处理高成本连接的方法可能是有用的。
根据实施例,在此描述了用于连接池的连接加标签的系统和方法,包括使用连接加标签来支持基于云的多租户环境。根据实施例,所述系统包括:连接池,包括多个连接对象,所述多个连接对象提供软件应用可以用来请求访问数据库的连接,其中,可以根据特定应用的配置来为所述连接中的每一个加标签;以及连接池逻辑,识别被加标签为高成本连接的连接,并且对创建或重新利用高成本连接以服务来自多个租户或租户应用的请求进行控制。根据实施例,所述系统包括连接池逻辑,所述连接池逻辑识别被加标签为高成本连接的连接并且在连接的总数低于特定的阈值时避免使用这些高成本连接来服务请求。
附图说明
图1示出了根据实施例的适用于连接池的连接加标签的系统。
图2进一步示出了根据实施例的适用于连接池的连接加标签的系统。
图3进一步示出了根据实施例的适用于连接池的连接加标签的系统。
图4进一步示出了根据实施例的适用于连接池的连接加标签的系统。
图5是示出了根据实施例的适用于连接池的连接加标签的处理的流程图。
图6示出了根据实施例的包括使用连接加标签来支持基于云的多租户环境的、适用于连接池的连接加标签的系统。
图7进一步示出了根据实施例的包括使用连接加标签来支持基于云的多租户环境的、适用于连接池的连接加标签的系统。
图8是示出根据实施例的包括使用连接加标签来支持基于云的多租户环境的、适用于连接池的连接加标签的处理的流程图。
具体实施方式
根据实施例,在此描述包含连接池的系统,其中,系统可以识别高成本连接,并且,当连接的总数低于特定的阈值时,避免使用这些高成本连接来服务请求。根据实施例,所述系统可以与允许经由连接池访问数据库的基于云的或多租户的云环境一起使用或者提供对其的支持。
根据实施例,这允许连接池使用新的物理连接来服务来自不同的应用、诸如来自不同的租户应用的连接请求,而不会招致可能已入池的其它连接(例如,其它的租户连接)的重新初始化花销。
连接加标签
图1示出了根据实施例的适用于连接池的连接加标签的系统。如图1所示,诸如融合应用环境之类的应用服务器/数据库环境100可以包含数据库102或者提供对数据库102的访问。进一步如图1所示,该系统还包含连接池逻辑104,连接池逻辑104控制105连接池106中的对象的创建和使用,连接池106包含当前正使用的连接108和空闲的连接110。
软件应用109可以在使用连接之前初始化从连接池检索的连接111。初始化的示例包括简单状态重新初始化或更复杂的初始化,其中简单状态重新初始化需要应用代码内的方法调用,更复杂的初始化包含需要网络上的往返行程的数据库操作。后一种类型的初始化的成本可能相当大。
诸如Oracle通用连接池(UCP)之类的一些连接池允许使用连接池特性来配置它们的连接池。所述特性已得到并设定了通过池启用的数据源实例可获得的方法。这些方法是以编程方式对池进行配置的便捷方式。如果未设定池特性,那么连接池使用默认特性值。
图2进一步示出了根据实施例的适用于连接池的连接加标签的系统。
根据实施例,给连接加标签允许应用将任意的名称/值对(name/value pair)附到连接上。应用然后可以从连接池请求具有期望的标签的连接。通过使特定的标签与特定的连接状态相关联,应用可以从池检索已初始化的连接并且可以避免重新初始化的时间和成本。连接加标签不会对用户定义的密钥或值强加任何意义;任何用户定义的密钥和值的意义仅由应用来定义。
例如,如图2所示,连接池可包含当前在使用的多个连接,该多个连接在此被指示为连接A 112和B 114。连接中的每一个可以被加标签。在图2所示的示例中,连接A 112被加标签(蓝),而连接B 114被加标签(绿)。这些标签/颜色是出于例示的目的而提供的。根据各种实施例,可以使用不同类型的标签来区分不同的连接类型。
进一步如图2所示,连接池还可以包含多个空闲的连接,该多个空闲的连接在此被指示为连接C 116、D 118、E 120、F 122、G 124和N 126。空闲连接中的每一个可类似地被加标签,在本例示中被加标签为(蓝)或(绿),同样地,这些标签/颜色是出于例示的目的而提供的。
进一步如图2所示,根据实施例,如果软件应用130希望通过使用特定类型的连接,例如(红)连接,对数据库提出请求,那么它可提出getConnection(红)请求132。作为响应,连接池逻辑将创建在此被指示为X 134(红)的新的(红)连接;或者把现有的空闲连接从(蓝或绿)重新利用为(红),该空闲连接在此被指示为E 135(红)。
图3进一步示出了根据实施例的适用于连接池的连接加标签的系统。
根据实施例,各软件应用可利用成本函数回调来提供针对该应用定义与重新利用连接相关联的成本的配置信息136以及诸如高成本连接和阈值之类的附加配置信息。
例如,特定的应用可以考虑:将(蓝)连接重新利用为(红)连接的成本具有50的值,将(绿)连接重新利用为(红)连接的成本具有80的值,高成本连接具有70的值,而合理的阈值为10。这些值的意义类似地由应用来定义,并且以上是出于例示的目的而提供的。根据各种实施例,可以使用不同的数值或非数值的值来区分不同的连接成本。
根据实施例,连接池逻辑在池中可用的每个连接上迭代。对于每个连接,它调用成本方法。成本方法的结果是代表将连接重新配置为需要的状态所需的成本的估值的整数。该值越大,则重新配置连接的成本越高。
根据实施例,由应用138提供的配置信息140可以由连接池逻辑在确定141是否创建或重新利用连接(特别是高成本连接)时使用。例如,根据实施例,系统可以执行与由下面的伪代码所示的处理类似的处理。
高成本:70
阈值:10
getConnection(红)
如果完美的匹配(红)
那么 将其返回
否则 找到最便宜连接
如果 最便宜连接的成本<高成本
那么 重新利用该连接
否则 如果 连接之和<阈值
那么 创建新连接并施加标签
否则 连接之和≥阈值 那么 重新利用最便宜连接
使用以上例示,根据实施例,特定的应用可以将高成本定义为70,并且将阈值定义为10。
当系统接收到对特定连接类型(例如,红)的请求时,连接池逻辑首先确定是否存在完美的/现有的匹配(即,空闲的红连接),并且,如果是,则返回供该应用使用的连接。否则,连接池逻辑找到可以重新利用(为红连接)的最便宜连接。如果最便宜连接的成本小于高成本(70),那么该连接被重新利用。否则,如果连接的总数小于阈值(10),那么新的(红)连接被创建,被相应地加上标签,并且被提供给应用。否则,如果连接的总数大于或等于阈值,那么最便宜连接被重新利用为(红)连接142。
图4进一步示出了根据实施例的适用于连接池的连接加标签的系统。
根据实施例,当活动连接和空闲连接的总数少时,使用特定类型的高成本连接的请求可能导致创建新的高成本连接Y 144(红)而非重新利用现有的(可能也是高成本的)连接。然后,新类型的连接可以用于后来的该类型的请求。虽然所提出的方法可能导致创建高成本连接而非重新利用现有的(可能也是高成本的)连接,但该方法可以提供可观的性能改善,特别是在一般利用高成本连接的例如多租户云环境之类的复杂环境中。
图5是示出了根据实施例的适用于连接池的连接加标签的处理的流程图。如图5所示,根据实施例,在步骤152中,系统接收与数据库连接的请求(例如,getConnection(红))。
在步骤154中,系统确定是否存在完美的/现有的连接匹配(红)。如果存在现有匹配连接,那么在步骤156中,返回现有的(红)连接。否则,在步骤158中,找到最便宜的现有非匹配连接(例如,蓝、绿)。
在步骤160中,系统确定最便宜的非匹配连接成本是否小于高成本。如果是,那么在步骤162中,最便宜的非匹配连接被重新利用为(红)连接。
在步骤164中,系统确定所有连接的和是否小于阈值,如果是,那么在步骤166中,创建新连接,并且对新连接施加适当的连接标签(红)。否则,在步骤168中,如果所有连接的和大于或等于阈值,那么最便宜的连接被重新利用为(红)连接。
以上描述了确定是否创建或重新利用连接(特别是高成本连接)的一种方法。根据其它的实施例和实现,可以使用其它的方法。此外,如上所述,标签/颜色是出于例示的目的而提供的;根据其它的实施例,可以使用不同类型的标签来区分不同的连接类型。
具有多租户环境的连接加标签
根据实施例,适用于连接池的连接加标签的系统和方法可以包括使用连接加标签来支持基于云的多租户环境。根据实施例,这种类型的环境可被认为是“应用即服务”(Application as a Service,AaaS)环境。
图6示出了根据实施例的包括使用连接加标签来支持基于云的多租户环境的、适用于连接池的连接加标签的系统。如图6所示,多租户云环境可以包括诸如融合应用环境之类的应用服务器/数据库环境100,应用服务器/数据库环境100包括或提供对数据库102的访问,以供基于云的环境170中的多个租户或租户应用172、174、176使用。进一步如图6所示,系统还包括连接池逻辑104,连接池逻辑104控制连接池106中的对象的创建。
经由云171被租户访问的软件应用可以在使用从连接池检索到的连接178之前初始化该连接。如上所述,初始化的示例包括简单状态重新初始化或更复杂的初始化,其中简单状态重新初始化需要应用代码内的方法调用,更复杂的初始化包含需要网络上的往返行程的数据库操作,并且后一种类型的初始化的成本可能相当大。并且,如上所述,给连接加标签允许应用将任意的名称/值对附到连接,并且,应用然后可以从连接池请求具有期望的标签的连接。通过使特定的标签与特定的连接状态相关联,应用可以从池检索已初始化的连接并且可以避免重新初始化的时间和成本。同样,连接加标签不对用户定义的密钥或值强加任何意义;任何用户定义的密钥和值的意义仅由应用来定义。
例如,如图6所示,连接池可以包含多个当前在使用的连接108,这些连接在此被指示为A 112和B 114;并且还可以包含多个空闲的连接110,这些连接在此被指示为连接C116、D 118、E 120、F 122、G 124和N 126。连接中的每一个可类似地被加标签,在本例示中被加标签为(蓝)或(绿),同样,这些标签/颜色是出于例示的目的而提供的;根据各种实施例,可以使用不同类型的标签来区分不同的连接类型。
图7进一步示出了根据实施例的包括使用连接加标签来支持基于云的多租户环境的、适用于连接池的连接加标签的系统。
根据实施例,如果软件应用130希望通过使用例如(红)连接之类的特定类型的连接来对数据库提出请求,那么它可以提出getConnection(红)请求180。作为响应,连接池逻辑将创建新的(红)连接,或者把现有的空闲连接从(蓝或绿)重新利用为(红)。
根据实施例,连接池包括支持应用使用configure()回调以指定“SET CONTAINER”或设定容器,以把特定连接从一个租户重新利用为另一个,这具有在特定的数据库连接上切换租户的效果。
根据实施例,每个软件应用可以利用成本函数回调来提供针对该应用定义与重新利用连接相关联的成本的配置信息136和诸如高成本连接和阈值之类的附加配置信息。
例如,特定的应用可以考虑:将(蓝)连接重新利用为(红)连接的成本具有50的值,将(绿)连接重新利用为(红)连接的成本具有80的值,高成本连接具有70的值,而合理的阈值为10。这些值的意义类似地由应用来定义,并且以上是出于例示的目的而提供的。根据各种实施例,可以使用不同的数值或非数值的值来区分不同的连接成本。
根据实施例,连接池逻辑在池中可用的每个连接上迭代。对于每个连接,它调用成本方法。成本方法的结果是代表将连接重新配置为需要的状态所需的成本的估值的整数。该值越大,则重新配置连接的成本越高。
根据实施例,由应用提供的配置信息140可以由连接池逻辑在确定是否创建或重新利用连接(特别是高成本连接)时使用。例如,根据实施例,系统可以执行与上面所例示的处理类似的处理。
使用上面的例示,根据实施例,特定的应用可以将高成本定义为70,将阈值定义为10。当系统接收到对于特定连接类型(例如,红)的请求时,连接池逻辑首先确定是否存在完美的/现有的匹配(即,空闲的红连接),并且,如果是,那么返回供该应用使用的连接。否则,连接池逻辑找到可被重新利用(为红连接)的最便宜连接。如果最便宜连接的成本小于高成本(70),那么该连接被重新利用。否则,如果连接的总数小于阈值(10),那么在此被指示为Z184(红)的新的(红)连接被创建,被相应地加标签,并且被提供给应用。否则,如果连接的总数大于或等于阈值,那么最便宜连接被重新利用为在此被指示为E 182(红)的(红)连接。
根据实施例,当活动连接和空闲连接的总数少时,使用特定类型的高成本连接的请求可能导致创建新的高成本连接,而不是重新利用现有的(可能也是高成本的)连接。新类型的连接然后可以用于后来的该类型的请求。
虽然所提出的方法可能导致创建高成本连接而不是重新利用现有的(可能也是高成本的)连接,但该方法可以提供可观的性能改善,特别是在一般利用高成本连接的例如多租户云环境之类的复杂环境中。
例如,如图7所示,系统可以由基于云的环境中的多个租户或租户应用使用。在这种多租户环境中,由于需要容纳多个租户以及例如维持各不同租户对数据库的访问之间的安全,连接类型可能非常复杂。使用在此描述的方法,可以提高在云环境内操作的应用的性能。
图8是示出了根据实施例的包括使用连接加标签来支持基于云的多租户环境的、适用于连接池的连接加标签的处理的流程图。如图8所示,根据实施例,在步骤192中,提供多租户云环境,该多租户云环境包括或提供对数据库的访问以供多个租户或租户应用使用。
在步骤194中,提供连接池,该连接池提供了软件应用可用来请求访问数据库的连接,其中连接可以根据特定应用的配置来被加标签。
在步骤196中,软件应用被配置为与连接加标签和连接成本信息一起支持来自多个租户或租户应用的连接请求。
在步骤198中,识别被加标签为高成本连接的连接,并且,系统随后对创建或重新利用高成本连接以服务来自多个租户或租户应用的请求进行控制。
示例性实现
以下提供根据各种实施例的在Oracle UCP环境中连接加标签可以如何用于连接池的例示性的示例。根据其它的实施例,可以提供例如适用于WebLogic服务器连接池或其它类型的连接池的功能。
在Oracle UCP中,连接加标签(CL)提供识别高成本连接的机构。根据实施例,CL必须至少支持离散值;并且可以支持一系列的值。CL可以提供重新使用高成本连接阈值(Reuse High-Cost Connection Threshold)配置参数(类似于最小池尺寸(MinPoolSize)、最大池尺寸(MaxPoolSize))。当最低成本的可用连接是高成本连接时,系统可以针对重新使用高成本连接阈值以及针对最小池尺寸测试当前池尺寸。如果当前<最小或当前<阈值,那么系统返回新连接。否则,如果(当前>=阈值),那么系统返回最低成本的高成本连接。当不存在可用的连接时,当前行为保持(即,受制于最大池尺寸地返回新连接,并且,如果>=最大池尺寸,那么受制于超时地等待可用连接,等等)。
根据实施例,UCP连接加标签行为UCP的连接加标签特征在连接加标签回调实现中支持cost()方法,以便任何应用确定初始化和重新初始化池中的连接的成本。池支持可以按应用要求完全定制的灵活成本值范围。池使用从回调返回的cost()值,以确定服务各连接请求的最佳候选连接。它总是选择具有最低成本值的连接。最低成本值为0指示无重新初始化,而Integer.MAX_VALUE强迫池使用全新的物理连接来服务请求。池区分具有施加的标签的连接和没有标签的连接。当连接加标签被激活时,池总是首先检查池中具有施加的标签的连接,并且只有当它不能找到任何可用的已加标签的连接来服务请求时,它才尝试从没有标签的连接找到可用的连接。当这失败时,如果池仍具有增大空间,那么它尝试创建新的物理连接。
根据各种实施例,以上的变型可以包括:
添加新的UCP池特性ConnectionLabelingHighCost(在UCP数据源PoolxxxDataSource上也可用)。当设定值大于0时,具有等于或大于特性值的成本值的连接被认为是“高成本”连接。默认值是Integer.MAX_VALUE。例如,如果特性值被设定为5,那么根据加标签回调计算的成本值等于或大于5的任何连接被认为是高成本连接。
添加新的UCP池特性——高成本连接重新使用阈值HighCostConnectionReuseThreshold(在UCP数据源PoolxxxDataSource也可用)。当设定值大于0时,这指定了总连接数的阈值,超出该阈值,允许连接加标签重新使用池中的高成本连接来服务请求。低于该阈值,连接加标签使用可用的低成本连接或者创建全新的物理连接来服务请求。例如,如果特性值被设定为20,那么当不存在可用的低成本连接且总连接达到20时,连接加标签重新使用高成本连接。HighCostConnectionReuseThreshold的默认值为0。要使该特性生效,连接加标签回调必须被同时登记。有效的连接加标签回调登记继续激活连接加标签。当最低成本结果等于或大于ConnectionLabelingHighCost时,入池逻辑在成本选择迭代之后检查新阈值。该新阈值被检查时的总连接数应考虑活动连接创建请求的数量(池已具有提取该信息的代码)。所述检查必须考虑最小池尺寸和最大池尺寸。注意,即使在达到新阈值之后,具有成本值Integer.MAX_VALUE的任何已加标签的连接也将不被重新使用。这与在未设定新阈值和ConnectionLabelingHighCost时的现有连接加标签行为一致。
根据实施例,不存在不重新使用池中的无标签(无状态)的连接来服务具有标签的连接请求(即,加标签请求)的要求。一旦HighCostConnectionReuseThreshold已达到且连接加标签被激活,则相比于创建新的物理连接,池仍偏好无标签(无状态)的连接。
根据实施例,为了支持特殊的连接加标签回调实现,对于应用认为是高成本的任何连接,这种回调中的cost()方法(1)在池尺寸达到HighCostConnectionReuseThreshold之前,仅返回针对这种连接的Integer.MAX_VALUE,并且(2)在阈值已达到之后返回实际的高成本值。这有效地禁止了在低于阈值的情况下现有的UCP代码重新使用高成本连接来服务请求。回调实现可针对阈值动态地检查池尺寸。
可以使用包含一个或更多个处理器、根据本公开的教导编程的存储器和/或计算机可读存储介质的一个或更多个传统的通用或专用数字计算机、计算设备、机器或微处理器来方便地实现本发明的实施例。如软件领域的技术人员将明白的,基于本公开的教导,熟练的编程人员可以很容易地准备适当的软件代码。
在一些实施例中,本发明包括计算机程序产品,该计算机程序产品是其上/其中存储有可用于对计算机进行编程以执行本发明的处理中的任一个的指令的非暂时性存储介质或计算机可读介质(介质)。存储介质的示例可包括但不限于包括软盘、光盘、DVD、CD-ROM、微驱动器和磁光盘在内的任何类型的盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存设备、磁卡或光卡、纳米系统(包含分子存储器IC)或适于存储指令和/或数据的任何类型的介质或设备。
出于例示和描述的目的,已经提供了对本发明的实施例的以上描述。其非意在穷举或者将本发明限于所公开的确切形式。对于本领域技术人员来说许多修改和变型是明显的。为了最佳地解释本发明的原理及其实际应用,选择和描述了实施例,由此使得本领域其他人员能够理解本发明的各种实施例以及适合于所设想的特定用途的各种修改。
Claims (18)
1.一种适用于连接池的连接加标签的系统,包括:
计算机,包含处理器和数据库;
连接池,包含多个连接对象,所述多个连接对象提供软件应用可用来请求访问数据库的连接,其中,可以根据特定软件应用的配置信息来给所述连接中的每一个加标签;以及
连接池逻辑,所述连接池逻辑响应于从所述特定软件应用接收到针对与特定标签相关联的特定类型的连接的请求而操作以:
从所述连接池中的空闲连接中识别一个或多个高成本连接,其中所述一个或多个高成本连接是至少部分地基于其标签以及由所述特定软件应用的所述配置信息提供的相关联的成本值来识别的,
确定所述连接池中的连接的总数是否小于由所述特定软件应用定义的阈值,并且
基于所述确定的结果以及与连接相关联的重新利用成本,确定创建新连接或者重新利用识别出的高成本连接中的一个高成本连接,以服务来自所述特定软件应用的所述请求。
2.根据权利要求1所述的系统,其中,所述系统适于由多租户的基于云的环境中的多个租户或租户应用使用,并且其中,所述多个租户或租户应用中的每个特定的租户或租户应用可以与被加标签的连接类型相关联,所述特定应用使用该连接类型来与用于该特定租户的数据库连接。
3.根据权利要求1至2中的任一项所述的系统,其中,所述系统适于由多租户的基于云的环境中的多个租户或租户应用使用,并且其中,连接池包括支持所述特定应用使用配置回调来指定或设定容器,以将特定连接从所述多个租户或租户应用中的一个重新利用为所述多个租户或租户应用中的另一个,这种重新利用具有在特定的数据库连接上切换租户的效果。
4.根据权利要求1至2中的任一项所述的系统,其中,所述连接池逻辑执行以下的处理:
对于所接收的请求,确定是否存在现有的匹配连接;并且
如果存在现有的匹配连接,那么返回该现有的匹配连接,否则,
找到最便宜的非匹配连接并且确定该最便宜的非匹配连接成本是否小于高成本值,并且,如果是,则将该最便宜的非匹配连接重新利用为适用于请求,否则,
如果所有连接的和小于所述阈值,那么创建适用于请求的新连接,并且返回该新连接,并且
如果所有连接的和大于或等于所述阈值,那么将所述最便宜的连接重新利用为适用于请求。
5.根据权利要求1至2中的任一项所述的系统,其中,连接池逻辑识别被加标签为高成本连接的连接,并且当连接的总数低于所述阈值时避免使用这些高成本连接来服务请求。
6.根据权利要求1至2中的任一项所述的系统,其中,连接池逻辑被配置为使得当活动连接和空闲连接的总数低时,要使用特定类型的高成本连接的请求导致创建新的高成本连接而不是重新利用现有的连接。
7.一种适用于连接池的连接加标签的方法,包括:
在包含处理器和数据库的计算机处提供多租户云环境,所述多租户云环境包括或提供对所述数据库的访问以供基于云的环境中的多个租户或租户应用使用;
提供连接池,所述连接池包含多个连接对象,所述多个连接对象提供软件应用可用来请求访问数据库的连接,其中,可以根据特定软件应用的配置信息来给所述连接中的每一个加标签;以及
使用连接池逻辑,响应于从所述特定软件应用接收到针对与特定标签相关联的特定类型的连接的请求:
从所述连接池中的空闲连接中识别一个或多个高成本连接,其中所述一个或多个高成本连接是至少部分地基于其标签以及由所述特定软件应用的所述配置信息提供的相关联的成本值来识别的,
确定所述连接池中的连接的总数是否小于由所述特定软件应用定义的阈值,并且
基于所述确定的结果以及与连接相关联的重新利用成本,确定创建新连接或者重新利用识别出的高成本连接中的一个高成本连接,以服务来自所述特定软件应用的所述请求。
8.根据权利要求7所述的方法,其中,所述方法适于由多租户的基于云的环境中的多个租户或租户应用使用,并且其中,所述多个租户或租户应用中的每个特定的租户或租户应用可以与被加标签的连接类型相关联,所述特定应用使用该连接类型来与用于该特定租户的数据库连接。
9.根据权利要求7至8中的任一项所述的方法,其中,所述方法适于由多租户的基于云的环境中的多个租户或租户应用使用,并且其中,连接池包括支持所述特定应用使用配置回调来指定或设定容器,以将特定连接从所述多个租户或租户应用中的一个重新利用为所述多个租户或租户应用中的另一个,这种重新利用具有在特定的数据库连接上切换租户的效果。
10.根据权利要求7至8中的任一项所述的方法,其中,连接池逻辑执行以下的处理:
对于所接收的请求,确定是否存在现有的匹配连接;并且
如果存在现有的匹配连接,那么返回该现有的匹配连接,否则,
找到最便宜的非匹配连接并且确定该最便宜的非匹配连接成本是否小于高成本值,并且,如果是,则将该最便宜的非匹配连接重新利用为适用于请求,否则,
如果所有连接的和小于所述阈值,那么创建适用于请求的新连接,并且返回该新连接,并且
如果所有连接的和大于或等于所述阈值,那么将所述最便宜的连接重新利用为适用于请求。
11.根据权利要求7至8中的任一项所述的方法,其中,连接池逻辑识别被加标签为高成本连接的连接,并且当连接的总数低于所述阈值时避免使用这些高成本连接来服务请求。
12.根据权利要求7至8中的任一项所述的方法,其中,连接池逻辑被配置为使得当活动连接和空闲连接的总数低时,要使用特定类型的高成本连接的请求导致创建新的高成本连接而不是重新利用现有的连接。
13.一种非暂时性计算机可读介质,包括存储于其上的指令,当所述指令被一个或更多个计算机读出和执行时使所述一个或更多个计算机执行包括以下的方法:
在包含处理器和数据库的计算机处提供多租户云环境,所述多租户云环境包括或提供对所述数据库的访问以供基于云的环境中的多个租户或租户应用使用;
提供连接池,所述连接池包含多个连接对象,所述多个连接对象提供软件应用可用来请求访问数据库的连接,其中,可以根据特定软件应用的配置信息来给所述连接中的每一个加标签;以及
使用连接池逻辑,响应于从所述特定软件应用接收到针对与特定标签相关联的特定类型的连接的请求:
从所述连接池中的空闲连接中识别一个或多个高成本连接,其中所述一个或多个高成本连接是至少部分地基于其标签以及由所述特定软件应用的所述配置信息提供的相关联的成本值来识别的,
确定所述连接池中的连接的总数是否小于由所述特定软件应用定义的阈值,并且
基于所述确定的结果以及与连接相关联的重新利用成本,确定创建新连接或者重新利用识别出的高成本连接中的一个高成本连接,以服务来自所述特定软件应用的所述请求。
14.根据权利要求13所述的非暂时性计算机可读介质,其中,所述方法适于由多租户的基于云的环境中的多个租户或租户应用使用,并且其中,所述多个租户或租户应用中的每个特定的租户或租户应用可以与被加标签的连接类型相关联,所述特定应用使用该连接类型来与用于该特定租户的数据库连接。
15.根据权利要求13至14中的任一项所述的非暂时性计算机可读介质,其中,所述方法适于由多租户的基于云的环境中的多个租户或租户应用使用,并且其中,连接池包括支持所述特定应用使用配置回调来指定或设定容器,以将特定连接从所述多个租户或租户应用中的一个重新利用为所述多个租户或租户应用中的另一个,这种重新利用具有在特定的数据库连接上切换租户的效果。
16.根据权利要求13至14中的任一项所述的非暂时性计算机可读介质,其中,连接池逻辑执行以下的处理:
对于所接收的请求,确定是否存在现有的匹配连接;并且
如果存在现有的匹配连接,那么返回该现有的匹配连接,否则,
找到最便宜的非匹配连接并且确定该最便宜的非匹配连接成本是否小于高成本值,并且,如果是,则将该最便宜的非匹配连接重新利用为适用于请求,否则,
如果所有连接的和小于所述阈值,那么创建适用于请求的新连接,并且返回该新连接,并且
如果所有连接的和大于或等于所述阈值,那么将所述最便宜的连接重新利用为适用于请求。
17.根据权利要求13至14中的任一项所述的非暂时性计算机可读介质,其中,连接池逻辑识别被加标签为高成本连接的连接,并且当连接的总数低于所述阈值时避免使用这些高成本连接来服务请求。
18.根据权利要求13至14中的任一项所述的非暂时性计算机可读介质,其中,连接池逻辑被配置为使得当活动连接和空闲连接的总数低时,要使用特定类型的高成本连接的请求导致创建新的高成本连接而不是重新利用现有的连接。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361816623P | 2013-04-26 | 2013-04-26 | |
US201361816610P | 2013-04-26 | 2013-04-26 | |
US61/816,623 | 2013-04-26 | ||
US61/816,610 | 2013-04-26 | ||
US13/912,098 | 2013-06-06 | ||
US13/912,086 | 2013-06-06 | ||
US13/912,086 US9251178B2 (en) | 2013-04-26 | 2013-06-06 | System and method for connection labeling for use with connection pools |
US13/912,098 US9268798B2 (en) | 2013-04-26 | 2013-06-06 | Support for cloud-based multi-tenant environments using connection labeling |
PCT/US2014/035187 WO2014176363A1 (en) | 2013-04-26 | 2014-04-23 | Support for cloud-based multi-tenant environments using connection labeling |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104871134A CN104871134A (zh) | 2015-08-26 |
CN104871134B true CN104871134B (zh) | 2018-12-14 |
Family
ID=51790200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480003575.7A Active CN104871134B (zh) | 2013-04-26 | 2014-04-23 | 使用连接加标签来支持基于云的多租户环境 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9268798B2 (zh) |
EP (1) | EP2989546B1 (zh) |
JP (3) | JP6606064B2 (zh) |
CN (1) | CN104871134B (zh) |
WO (1) | WO2014176363A1 (zh) |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10129078B2 (en) | 2014-10-30 | 2018-11-13 | Equinix, Inc. | Orchestration engine for real-time configuration and management of interconnections within a cloud-based services exchange |
CN104572974B (zh) * | 2014-12-31 | 2018-10-12 | 北京奇虎科技有限公司 | 业务请求处理方法和装置 |
WO2016172195A1 (en) * | 2015-04-20 | 2016-10-27 | Oracle International Corporation | System and method for providing access to a sharded database using a cache and a shard topology |
US10862803B2 (en) * | 2015-09-02 | 2020-12-08 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Repurposing a target endpoint to execute a management task |
US10268710B2 (en) | 2015-10-07 | 2019-04-23 | Oracle International Corporation | Relational database organization for sharding |
CN106599711A (zh) * | 2015-10-15 | 2017-04-26 | 华为技术有限公司 | 一种数据库访问控制方法,及装置 |
CN105279263A (zh) * | 2015-10-23 | 2016-01-27 | 国网信息通信产业集团有限公司 | 一种支持多应用共享的数据库连接系统及方法 |
US10594627B2 (en) | 2016-01-27 | 2020-03-17 | Oracle International Corporation | System and method for supporting scalable representation of switch port status in a high performance computing environment |
US10972375B2 (en) | 2016-01-27 | 2021-04-06 | Oracle International Corporation | System and method of reserving a specific queue pair number for proprietary management traffic in a high-performance computing environment |
US10594547B2 (en) | 2016-01-27 | 2020-03-17 | Oracle International Corporation | System and method for application of virtual host channel adapter configuration policies in a high-performance computing environment |
US10178027B2 (en) | 2016-01-27 | 2019-01-08 | Oracle International Corporation | System and method for supporting inter subnet partitions in a high performance computing environment |
US11018947B2 (en) | 2016-01-27 | 2021-05-25 | Oracle International Corporation | System and method for supporting on-demand setup of local host channel adapter port partition membership in a high-performance computing environment |
US10936966B2 (en) * | 2016-02-23 | 2021-03-02 | At&T Intellectual Property I, L.P. | Agent for learning and optimization execution |
US10171353B2 (en) | 2016-03-04 | 2019-01-01 | Oracle International Corporation | System and method for supporting dual-port virtual router in a high performance computing environment |
US10425386B2 (en) | 2016-05-11 | 2019-09-24 | Oracle International Corporation | Policy enforcement point for a multi-tenant identity and data security management cloud service |
US9838376B1 (en) | 2016-05-11 | 2017-12-05 | Oracle International Corporation | Microservices based multi-tenant identity and data security management cloud service |
US9781122B1 (en) | 2016-05-11 | 2017-10-03 | Oracle International Corporation | Multi-tenant identity and data security management cloud service |
US10341410B2 (en) | 2016-05-11 | 2019-07-02 | Oracle International Corporation | Security tokens for a multi-tenant identity and data security management cloud service |
US10454940B2 (en) | 2016-05-11 | 2019-10-22 | Oracle International Corporation | Identity cloud service authorization model |
US9838377B1 (en) | 2016-05-11 | 2017-12-05 | Oracle International Corporation | Task segregation in a multi-tenant identity and data security management cloud service |
US10581820B2 (en) | 2016-05-11 | 2020-03-03 | Oracle International Corporation | Key generation and rollover |
CN105956138B (zh) * | 2016-05-11 | 2019-07-12 | 北京百度网讯科技有限公司 | 数据库连接的控制方法和装置 |
US10878079B2 (en) | 2016-05-11 | 2020-12-29 | Oracle International Corporation | Identity cloud service authorization model with dynamic roles and scopes |
CN108322472B (zh) * | 2016-05-11 | 2019-06-25 | 甲骨文国际公司 | 用于提供基于云的身份和访问管理的方法、系统和介质 |
US10353910B2 (en) * | 2016-07-15 | 2019-07-16 | Ebay Inc. | Preemptive connection pool adjustments |
US20180039628A1 (en) * | 2016-08-03 | 2018-02-08 | Oracle International Corporation | System and method for providing dynamic relocation of tenants in a multi-tenant database environment |
US11120036B2 (en) * | 2016-08-03 | 2021-09-14 | Oracle International Corporation | System and method for efficient repurposing of connections in a multi-tenant database environment |
US10516672B2 (en) | 2016-08-05 | 2019-12-24 | Oracle International Corporation | Service discovery for a multi-tenant identity and data security management cloud service |
US10505941B2 (en) | 2016-08-05 | 2019-12-10 | Oracle International Corporation | Virtual directory system for LDAP to SCIM proxy service |
US10530578B2 (en) | 2016-08-05 | 2020-01-07 | Oracle International Corporation | Key store service |
US10585682B2 (en) | 2016-08-05 | 2020-03-10 | Oracle International Corporation | Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service |
US10735394B2 (en) | 2016-08-05 | 2020-08-04 | Oracle International Corporation | Caching framework for a multi-tenant identity and data security management cloud service |
US10255061B2 (en) | 2016-08-05 | 2019-04-09 | Oracle International Corporation | Zero down time upgrade for a multi-tenant identity and data security management cloud service |
US10263947B2 (en) | 2016-08-05 | 2019-04-16 | Oracle International Corporation | LDAP to SCIM proxy service |
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 |
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 |
US10484382B2 (en) | 2016-08-31 | 2019-11-19 | Oracle International Corporation | Data management for a multi-tenant identity cloud service |
US10594684B2 (en) | 2016-09-14 | 2020-03-17 | Oracle International Corporation | Generating derived credentials for a multi-tenant identity cloud service |
US10846390B2 (en) | 2016-09-14 | 2020-11-24 | Oracle International Corporation | Single sign-on functionality for a multi-tenant identity and data security management cloud service |
US10511589B2 (en) | 2016-09-14 | 2019-12-17 | Oracle International Corporation | Single logout functionality for a multi-tenant identity and data security management cloud service |
US10484243B2 (en) | 2016-09-16 | 2019-11-19 | Oracle International Corporation | Application management for a multi-tenant identity cloud service |
US10445395B2 (en) | 2016-09-16 | 2019-10-15 | Oracle International Corporation | Cookie based state propagation for a multi-tenant identity cloud service |
US10567364B2 (en) | 2016-09-16 | 2020-02-18 | Oracle International Corporation | Preserving LDAP hierarchy in a SCIM directory using special marker groups |
US10791087B2 (en) | 2016-09-16 | 2020-09-29 | Oracle International Corporation | SCIM to LDAP mapping using subtype attributes |
US10341354B2 (en) | 2016-09-16 | 2019-07-02 | Oracle International Corporation | Distributed high availability agent architecture |
EP3513542B1 (en) | 2016-09-16 | 2021-05-19 | Oracle International Corporation | Tenant and service management for a multi-tenant identity and data security management cloud service |
US10904074B2 (en) | 2016-09-17 | 2021-01-26 | Oracle International Corporation | Composite event handler for a multi-tenant identity cloud service |
US10261836B2 (en) | 2017-03-21 | 2019-04-16 | Oracle International Corporation | Dynamic dispatching of workloads spanning heterogeneous services |
US10454915B2 (en) | 2017-05-18 | 2019-10-22 | Oracle International Corporation | User authentication using kerberos with identity cloud service |
US10348858B2 (en) | 2017-09-15 | 2019-07-09 | Oracle International Corporation | Dynamic message queues for a microservice based cloud service |
US11308132B2 (en) | 2017-09-27 | 2022-04-19 | Oracle International Corporation | Reference attributes for related stored objects in a multi-tenant cloud service |
US10834137B2 (en) | 2017-09-28 | 2020-11-10 | Oracle International Corporation | Rest-based declarative policy management |
US11271969B2 (en) | 2017-09-28 | 2022-03-08 | Oracle International Corporation | Rest-based declarative policy management |
US10705823B2 (en) | 2017-09-29 | 2020-07-07 | Oracle International Corporation | Application templates and upgrade framework for a multi-tenant identity cloud service |
US10715564B2 (en) | 2018-01-29 | 2020-07-14 | Oracle International Corporation | Dynamic client registration for an identity cloud service |
US10931656B2 (en) | 2018-03-27 | 2021-02-23 | Oracle International Corporation | Cross-region trust for a multi-tenant identity cloud service |
US10798165B2 (en) | 2018-04-02 | 2020-10-06 | Oracle International Corporation | Tenant data comparison for a multi-tenant identity cloud service |
US11165634B2 (en) | 2018-04-02 | 2021-11-02 | Oracle International Corporation | Data replication conflict detection and resolution for a multi-tenant identity cloud service |
US11258775B2 (en) | 2018-04-04 | 2022-02-22 | Oracle International Corporation | Local write for a multi-tenant identity cloud service |
CN108600349B (zh) * | 2018-04-11 | 2021-01-05 | 北京小米移动软件有限公司 | 连接池中的连接管理方法及装置 |
US11012444B2 (en) | 2018-06-25 | 2021-05-18 | Oracle International Corporation | Declarative third party identity provider integration for a multi-tenant identity cloud service |
US10764273B2 (en) | 2018-06-28 | 2020-09-01 | Oracle International Corporation | Session synchronization across multiple devices in an identity cloud service |
US11693835B2 (en) | 2018-10-17 | 2023-07-04 | Oracle International Corporation | Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service |
US11321187B2 (en) | 2018-10-19 | 2022-05-03 | Oracle International Corporation | Assured lazy rollback for a multi-tenant identity cloud service |
US11651357B2 (en) | 2019-02-01 | 2023-05-16 | Oracle International Corporation | Multifactor authentication without a user footprint |
US11061929B2 (en) | 2019-02-08 | 2021-07-13 | Oracle International Corporation | Replication of resource type and schema metadata for a multi-tenant identity cloud service |
US11321343B2 (en) | 2019-02-19 | 2022-05-03 | Oracle International Corporation | Tenant replication bootstrap for a multi-tenant identity cloud service |
US11669321B2 (en) | 2019-02-20 | 2023-06-06 | Oracle International Corporation | Automated database upgrade for a multi-tenant identity cloud service |
US11423111B2 (en) | 2019-02-25 | 2022-08-23 | Oracle International Corporation | Client API for rest based endpoints for a multi-tenant identify cloud service |
US11792226B2 (en) | 2019-02-25 | 2023-10-17 | Oracle International Corporation | Automatic api document generation from scim metadata |
US11194773B2 (en) | 2019-09-12 | 2021-12-07 | Oracle International Corporation | Integration of existing databases into a sharding environment |
US11870770B2 (en) | 2019-09-13 | 2024-01-09 | Oracle International Corporation | Multi-tenant identity cloud service with on-premise authentication integration |
US11687378B2 (en) | 2019-09-13 | 2023-06-27 | Oracle International Corporation | Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability |
US11611548B2 (en) | 2019-11-22 | 2023-03-21 | Oracle International Corporation | Bulk multifactor authentication enrollment |
US11176155B2 (en) * | 2019-12-13 | 2021-11-16 | Paypal, Inc | Self-adjusting connection pool in a distributed system |
CN111935313B (zh) * | 2020-09-24 | 2020-12-25 | 武汉中科通达高新技术股份有限公司 | 一种连接池管理方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193820A (zh) * | 2010-03-03 | 2011-09-21 | 软件股份公司 | 用于向应用提供异构连接对象的连接处理器和方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050015411A1 (en) | 1996-06-27 | 2005-01-20 | Gerald Altman | Systems, processes, and products for storage and retrieval of electronic files |
US7031987B2 (en) | 1997-05-30 | 2006-04-18 | Oracle International Corporation | Integrating tablespaces with different block sizes |
US8145759B2 (en) | 2002-11-04 | 2012-03-27 | Oracle America, Inc. | Dynamically configurable resource pool |
US8051144B2 (en) | 2003-07-29 | 2011-11-01 | At&T Intellectual Property I, L.P. | J2EE enterprise information system (EIS) common object request broker architecture (CORBA) connector |
US8434027B2 (en) | 2003-12-15 | 2013-04-30 | Quantum Matrix Holdings, Llc | System and method for multi-dimensional organization, management, and manipulation of remote data |
EP1844395A4 (en) | 2004-12-31 | 2009-08-05 | Bea Systems Inc | MULTIPOOL MANAGEMENT |
US7761502B2 (en) | 2004-12-31 | 2010-07-20 | Bea Systems, Inc. | Callback interface for multipools |
US8539504B2 (en) | 2007-08-30 | 2013-09-17 | International Business Machines Corporation | Heterogeneous architecture in pooling management |
US8185880B2 (en) | 2007-10-04 | 2012-05-22 | International Business Machines Corporation | Optimizing heap memory usage |
US9372712B2 (en) | 2009-12-17 | 2016-06-21 | International Business Machines Corporation | Optimizing virtual storage size in a virtual computer system based on information related to virtual machines, user inputs and/or configuration parameters |
US8893093B2 (en) * | 2010-05-07 | 2014-11-18 | Salesforce.Com, Inc. | Method and system for automated performance testing in a multi-tenant environment |
US8756329B2 (en) | 2010-09-15 | 2014-06-17 | Oracle International Corporation | System and method for parallel multiplexing between servers in a cluster |
JPWO2012063301A1 (ja) * | 2010-11-08 | 2014-05-12 | 株式会社日立製作所 | 計算機システム、マルチテナント制御方法及びマルチテナント制御プログラム |
EP2786262A4 (en) * | 2011-12-01 | 2014-12-03 | Huawei Tech Co Ltd | SYSTEMS AND METHODS FOR CONNECTING CONNECTIONS FOR TRANSMITTING VIDEO STREAMS ON CONTENT PROVIDING NETWORKS |
-
2013
- 2013-06-06 US US13/912,098 patent/US9268798B2/en active Active
- 2013-06-06 US US13/912,086 patent/US9251178B2/en active Active
-
2014
- 2014-04-23 JP JP2016510763A patent/JP6606064B2/ja active Active
- 2014-04-23 WO PCT/US2014/035187 patent/WO2014176363A1/en active Application Filing
- 2014-04-23 EP EP14728017.6A patent/EP2989546B1/en active Active
- 2014-04-23 CN CN201480003575.7A patent/CN104871134B/zh active Active
-
2019
- 2019-05-29 JP JP2019100686A patent/JP7075911B2/ja active Active
-
2021
- 2021-03-23 JP JP2021048960A patent/JP7174797B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193820A (zh) * | 2010-03-03 | 2011-09-21 | 软件股份公司 | 用于向应用提供异构连接对象的连接处理器和方法 |
Non-Patent Citations (2)
Title |
---|
Das等.Oracle Universal Connection Pool for JDBC Developer"s Guide 11g Release2(11.2) E12265-02.《http://docs.oracle.com/cd/E11882_01/java.112/e12265/title.htm》.2009, * |
Oracle Universal Connection Pool for JDBC Developer"s Guide 11g Release2(11.2) E12265-02;Das等;《http://docs.oracle.com/cd/E11882_01/java.112/e12265/title.htm》;20090930;1-74 * |
Also Published As
Publication number | Publication date |
---|---|
JP2019175487A (ja) | 2019-10-10 |
US20140324910A1 (en) | 2014-10-30 |
JP2016526199A (ja) | 2016-09-01 |
US9268798B2 (en) | 2016-02-23 |
US9251178B2 (en) | 2016-02-02 |
EP2989546B1 (en) | 2021-08-11 |
JP6606064B2 (ja) | 2019-11-13 |
WO2014176363A1 (en) | 2014-10-30 |
CN104871134A (zh) | 2015-08-26 |
JP7174797B2 (ja) | 2022-11-17 |
EP2989546A1 (en) | 2016-03-02 |
JP2021108151A (ja) | 2021-07-29 |
US20140324911A1 (en) | 2014-10-30 |
JP7075911B2 (ja) | 2022-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104871134B (zh) | 使用连接加标签来支持基于云的多租户环境 | |
DE112020000629T5 (de) | Vereinheitlichte und automatisierte installation, einsatz, konfiguration und verwaltung von softwaredefinierten speicheranlagen | |
US20170039078A1 (en) | Application configuration in a virtual environment | |
US7921075B2 (en) | Generic sequencing service for business integration | |
US20190227713A1 (en) | System and method for managing object store | |
US10089313B2 (en) | Conversion of data integration system files | |
CN103198090A (zh) | 用于优化虚拟桌面环境中的存储分配的方法和系统 | |
US7937711B2 (en) | Method and apparatus for providing a consolidated namespace to client applications in multi-tenant common information model (CIM) environments | |
CN109558674A (zh) | 销量预测及其模型训练方法、装置 | |
US8290916B2 (en) | Rule-based record profiles to automate record declaration of electronic documents | |
US11068487B2 (en) | Event-stream searching using compiled rule patterns | |
US8607321B2 (en) | Identification of a smart card on a plug and play system | |
CN114255016A (zh) | 工作流系统应用方法、系统、计算机及可读存储介质 | |
CN106529281A (zh) | 一种可执行文件处理方法及装置 | |
CN102546628B (zh) | 一种样本鉴定方法及系统 | |
US20100153326A1 (en) | Rules based fetching of operating platform status | |
CN109784030A (zh) | 一种ca证书管理的方法及系统 | |
US11340968B1 (en) | Executing repetitive custom workflows through API recording and playback | |
US20230418842A1 (en) | Data processing independent of storage, format or schema | |
US10397128B2 (en) | Routing handler for rule-based action triggering | |
US20150106322A1 (en) | Service modeling and execution | |
CN114518833A (zh) | 用于存储管理的方法、电子设备和计算机程序产品 | |
EP2601627B1 (en) | Transaction processing system and method | |
US9876676B1 (en) | Methods, systems, and computer readable mediums for managing computing systems by a management orchestration module | |
CN115103028B (zh) | SaaS应用的请求处理方法、装置、计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |