CN115328978A - 一种连接池的连接方法和服务器 - Google Patents
一种连接池的连接方法和服务器 Download PDFInfo
- Publication number
- CN115328978A CN115328978A CN202210736958.1A CN202210736958A CN115328978A CN 115328978 A CN115328978 A CN 115328978A CN 202210736958 A CN202210736958 A CN 202210736958A CN 115328978 A CN115328978 A CN 115328978A
- Authority
- CN
- China
- Prior art keywords
- connection
- pool
- connection pool
- peak
- time period
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000015654 memory Effects 0.000 claims description 19
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- WBEJYOJJBDISQU-UHFFFAOYSA-N 1,2-Dibromo-3-chloropropane Chemical compound ClCC(Br)CBr WBEJYOJJBDISQU-UHFFFAOYSA-N 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/25—Integrating or interfacing systems involving database management systems
-
- 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
- G06F9/5022—Mechanisms to release resources
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
- Exchange Systems With Centralized Control (AREA)
Abstract
本申请提供一种数据库连接池的连接方法和服务器。所述数据库连接池包括核心连接池和业务高峰时段专用连接池,所述方法包括:判断当前时段的下一时段是否为业务高峰时段;当所述当前时段的下一时段是业务高峰时段时,则填充业务高峰时段专用连接池至最大连接数,以使得在业务高峰时段时,所述业务高峰时段专用连接池的所述最大连接数大于实际连接数。根据本申请的数据库连接池的连接方法,通过在业务高峰时段来临之前,填充业务高峰时段专用连接池至最大连接数,以在业务高峰时段时,连接池有充足的连接可用,避免了在业务高峰时可能出现的因等待建立短时大量连接导致的系统卡顿现象。
Description
技术领域
本申请涉及数据源连接池技术领域,更具体地涉及一种动态连接池的连接方法和服务器。
背景技术
随着互联网业务的增长,业务系统的交易量随之增长,业务系统处理压力增大,数据库操作的瓶颈开始显现。对于数据库的操作,数据库连接池的管理非常重要。尤其是,当业务系统处于日常高峰时段,或者,由于临时开展业务活动导致业务系统使用高峰,实时建立数据库连接池的连接,会导致建立连接的等待时间过长等现象。
发明内容
为了解决上述至少一个问题中而提出了本申请。根据本申请一方面,提供了一种数据库连接池的连接方法,所述数据库连接池包括业务高峰时段专用连接池,所述方法包括:判断当前时段的下一时段是否为业务高峰时段;当所述当前时段的下一时段是业务高峰时段时,则对数据库连接池进行配置,填充业务高峰时段专用连接池的最大连接数,以在业务高峰时段时,连接池内有充足的连接可用。
在本申请的一个实施例中,判断当前时段的下一时段是否为业务高峰时段,包括:
监控所述数据库连接池的活跃连接数和SQL语句提交的tps的时序数据,根据所述活跃连接数和所述tps的时序数据确定所述数据库连接池使用的所述业务高峰时段,以及所述业务高峰时段专用连接池的最大连接数;
判断当前时段的下一时段是否为所述活跃连接数和所述tps的时序数据所确定的所述业务高峰时段。
在本申请的一个实施例中,判断当前时段的下一时段是否为业务高峰时段,包括:
根据业务情况设定所述业务高峰时段;
判断当前时段的下一时段是否为所设定的所述业务高峰时段。
在本申请的一个实施例中,所述数据库连接池还包括核心连接池,填充业务高峰时段专用连接池的最大连接数之前,所述方法还包括:
接收创建新的连接的请求;
当初始化后的核心连接池不存在空闲连接,且核心连接池初始化连接数小于核心连接池最小连接数,则创建新的连接;
当所述核心连接池已达到核心连接池最小连接数,且核心连接池的实际连接数小于核心连接池最大连接数,则创建新的连接;
当所述核心连接池已达到核心连接池最大连接数,则在所述业务高峰时段专用连接池创建新的连接。
在本申请的一个实施例中,所述方法还包括:在预设间隔时间内轮询检测所述核心连接池中是否存在空闲连接;如果存在,则释放所述空闲连接。
在本申请的一个实施例中,在预设间隔时间内轮询检测所述核心连接池中是否存在空闲连接,包括:检测所述核心连接池内的连接时间是否超过第一最大空闲时间,如果超过,确定所述连接为空闲连接。
在本申请的一个实施例中,填充业务高峰时段专用连接池的最大连接数之后,所述方法还包括:在预设间隔时间内轮询检测所述业务高峰时段专用连接池中是否存在空闲连接;如果存在,则释放所述空闲连接。
在本申请的一个实施例中,在预设间隔时间内轮询检测所述业务高峰时段专用连接池中是否存在空闲连接,包括:检测所述业务高峰时段专用连接池内的连接时间是否超过第二最大空闲时间,如果超过,确定所述连接为空闲连接;
其中,所述第二最大空闲时间大于第一最大空闲时间。
在本申请的一个实施例中,所述核心连接池和所述业务高峰时段专用连接池均包括使用中的连接队列和空闲中的连接队列,其中所述使用中的连接队列用于存储非空闲连接,所述空闲中的连接队列用于存储空闲连接。
在本申请的一个实施例中,其中,所述数据库连接池的参数通过管理页面进行设置,被修改时无需重新启动系统即可生效。
根据本申请另一方面,提供一种服务器,所述服务器包括:
存储器和处理器,所述存储器上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时,使得所述处理器执行前述的数据库连接池的连接方法。
根据本申请的数据库连接池的连接方法,所述数据库连接池包括核心连接池和业务高峰时段专用连接池,通过在业务高峰时段来临之前,填充业务高峰时段专用连接池的最大连接数,以在业务高峰时段时,连接池有充足的连接可用,避免了在业务高峰时可能出现的因等待建立短时大量连接导致的系统卡顿现象。
另外,由于本申请的数据库连接池的配置参数通过管理页面被修改时,通过容器实时更新,无需重新启动系统即可生效。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出根据本申请实施例的数据库连接池的连接方法的示意性流程图;
图2示出根据本申请实施例的数据库连接池的示意性框图;
图3示出根据本申请实施例的服务器的示意性框图。
具体实施方式
为了使得本申请的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。基于本申请中描述的本申请实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本申请的保护范围之内。
当今信息技术快速发展,各种IT业务系统都通过数据库连接池与数据库建立连接。数据库连接池负责管理数据库连接,它保证了连接的可复用,能极大的提高对数据库操作的性能。数据库连接是一种有限且昂贵的资源,在业务高峰时,尤其突出。如何高效的分配、创建、释放数据库连接变得尤为重要。
传统的业务系统的数据库连接池多采用开源数据库连接池C3P0、DBCP和Druid等,通过配置文件设置连接池的基本参数,如最小连接数、最大连接数、最大空闲时间等。这些开源软件普遍采用配置文件的方式将连接池属性配置在文件内,在业务系统启动时,读取配置文件进行系统初始化。因此,在数据库连接池需要参数变更时,往往需要重启业务系统已使新的配置参数生效。开源软件大多缺失对数据库的基本监控,尽管Druid扩展了对数据库的监控,提供了基本的实时监控数据,但是其未针对连接高峰作出相应优化。以上诸如C3P0、DBCP、DRUID等常用的数据库连接池大部分监控单一,仅能提供监控连接是否被占用,是否空闲,且集成方式都是通过配置文件放置于系统工程中,需要变更连接池配置时,必须修改该文件,重启系统。
另外,对于业务系统的业务高峰时段,或者业务临时开展活动导致的系统使用高峰的情况,数据库连接池都需要实时建立连接,这样会导致等待连接建立时长过长的现象。
本申请方案针对以上问题,通过设置数据库连接池使用的业务高峰时间段以及业务高峰时段专用连接池的最大连接数,在高峰时段前,填充高峰时段专用连接池,避免连接建立等待的情况。本申请还可以通过管理页面设置数据库连接池参数,通过容器刷新参数值,使得连接池配置参数不用重启系统而实时生效。
基于前述的技术问题,本申请提供了一种数据库连接池的连接方法,所述数据库连接池包括核心连接池和业务高峰时段专用连接池,所述方法包括:判断当前时段的下一时段是否为业务高峰时段;当所述当前时段的下一时段是业务高峰时段时,则对数据库连接池进行配置,填充业务高峰时段专用连接池的最大连接数,以在业务高峰时段时,以使得在业务高峰时段时,所述业务高峰时段专用连接池的所述最大连接数大于实际连接数。根据本申请的数据库连接池的连接方法,所述数据库连接池包括核心连接池和业务高峰时段专用连接池,通过在业务高峰时段来临之前,填充业务高峰时段专用连接池的最大连接数,以在业务高峰时段时,连接池有充足的连接可用,避免了在业务高峰时可能出现的因等待建立短时大量连接导致的系统卡顿现象。另外,由于本申请的数据库连接池的参数通过管理页面进行设置,利用spring容器实时刷新参数值,可以实现当修改数据库连接池的参数时,无需重新启动业务系统而实时生效。
下面结合附图来详细描述根据本申请实施例的数据库连接池的连接方法的方案。在不冲突的前提下,本申请的各个实施例的特征可以相互结合。
图1示出根据本申请实施例的数据库连接池的连接方法的示意性流程图;如图1所示,所述数据库连接池包括核心连接池和业务高峰时段专用连接池,根据本申请实施例的数据库连接池的连接方法100可以包括如下步骤S101和步骤S102:
在步骤S101,判断当前时段的下一时段是否为业务高峰时段。
下文中的数据库连接是指,应用程序和数据库交互时,需要根据一定的通信协议建立一个通道,所述通道称之为数据库连接。数据库连接池:负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接泄漏。这项技术能明显提高对数据库操作的性能。
在本申请的一个示例中,步骤S101可以包括:步骤A1,监控所述数据库连接池的活跃连接数和SQL语句提交的tps的时序数据,根据所述活跃连接数和所述tps的时序数据确定所述数据库连接池使用的所述业务高峰时段,以及所述业务高峰时段专用连接池的最大连接数;步骤A2,判断当前时段的下一时段是否为所述活跃连接数和所述tps的时序数据所确定的所述业务高峰时段。
为更清楚地理解本申请的实现机制,结合图2,为本申请的数据库连接池200的示意性框图。本申请的数据库连接池包括连接池监控模块201、连接池配置和处理模块202和数据库连接池实现模块203。其中数据库连接池实现模块包括核心连接池2031和业务高峰时段专用连接池2032。其中连接池监控模块主要负责监控和记录数据库连接池按分钟级的活跃连接数和sql语句的分钟级的tps数据,形成每天数据库连接和sql提交tps的时间序列数据,由此可以确定业务系统的日常使用高峰时间段。
继续结合图2,连接池配置和处理模块负责管理连接池参数,提供参数设置界面,在设置参数后实时生效。为使连接池连接的高效使用,连接池包含以下参数:
连接池最大连接数;
核心连接池初始化连接数;
核心连接池最小连接数;
核心连接池最大连接数;
核心连接池最大空间时间;
业务高峰时间段;
业务高峰时段专用连接池最大连接数;
业务高峰时段专用连接池连接最大空闲时间。
本申请的连接池参数也包含一些基本参数,如:检测连接有效性查询语句、是否启用PreparedStatements缓存以及最大缓存数等。数据库在业务系统中被包装为名称为DataSource数据源的对象,数据池连接池的参数被包装成为数据源DataSource对象的属性,DataSource对象在spring容器中注册为单例Bean对象。当通过控制台界面重新设置数据库配置属性时,通过spring容器获取DataSource对象,对其中的属性进行实时更新,业务系统在实时操作数据库时,使用的便是最新的配置参数。
在本申请的另一个示例中,步骤S101还可以包括:步骤B1,根据业务情况设定所述业务高峰时段;步骤B2,判断当前时段的下一时段是否为所设定的所述业务高峰时段。
在步骤S102,当所述当前时段的下一时段是业务高峰时段时,则对数据库连接池进行配置,填充业务高峰时段专用连接池的最大连接数,以使得在业务高峰时段时,所述业务高峰时段专用连接池的所述最大连接数大于实际连接数。
在一个示例中,填充业务高峰时段专用连接池的最大连接数之后,所述方法还包括:在预设间隔时间内轮询检测所述业务高峰时段专用连接池中是否存在空闲连接;如果存在,则释放所述空闲连接。
在本申请的实施例中,在业务高峰来临之前,填充业务高峰专用数据库连接池的连接数至最大连接数。在业务高峰过后,开始释放业务高峰专用数据库连接池中的空闲连接。
本申请的数据库连接池技术可以极大的提高对数据库操作的性能,特别是在业务高峰时段。例如,正常情况下,数据库连接池在初始化时,建立一个连接需要花费1s,在建立后续的连接时,需要200ms,但是,在业务高峰时段,由于数据库的负载较大,连接繁忙,实际建立新的连接的时间都在1s以上。而业务高峰时段需要建立的数据库连接往往上百或者几百,远远超过服务器CPU数量。在这种情况下,数据库连接池对连接的高效管理,业务高峰时段的及时响应就变得更加重要。
本申请在数据库连接池的连接数逐渐增长的过程中,使用了核心连接池和业务高峰时段专用连接池两个层级。核心连接池也分别经过初始化、最小连接数、最大连接数三个层级填充,使得连接的利用更为高效。针对业务高峰时段的应用场景,从监控数据设置日常业务高峰时间段,也可以根据临时的业务活动集中开展的时间直接设置业务高峰时间段,并配置了业务高峰时段专用连接池。在高峰过后,该业务高峰时段专用连接池被逐步回收。本申请在大的业业务高峰时段专用连接池方面以及小的核心连接池内部结构上,都使用了空间换时间的方式,使得数据库的连接获取和释放都更加及时高效。本申请能够极大减少业务系统在等待数据库连接时的卡顿现象。
在本申请的一个示例中,在预设间隔时间内轮询检测所述业务高峰时段专用连接池中是否存在空闲连接,包括:检测所述业务高峰时段专用连接池内的连接时间是否超过第二最大空闲时间,如果超过,确定所述连接为空闲连接;
其中,所述第二最大空闲时间大于第一最大空闲时间。
本申请的业务高峰时段专用连接池连接最大空闲时间设置比核心连接池最大空闲时间大,以避免连接被释放和重新建立。在非业务高峰时段内,业务高峰时段专用连接池内连接的最大空闲时间以核心连接池的最大空闲时间为准,以及时释放连接。在具体实施时,业务高峰时段专用连接池的最大连接数和核心连接池的最大连接池应当根据实际应用场景进行设置。如果不考虑实际应用场景,一味地将连接数设置太大并没有实际意义,反而会增加CPU在线程间切换的负担。值得注意的是,业务高峰时段专用连接池和核心连接池两者最大连接数之和不大于整个数据库连接池的最大连接数。
下面介绍在非业务高峰时段,即业务平峰时段,核心连接池建立连接和释放连接的过程。
在一个示例中,填充业务高峰时段专用连接池的最大连接数之前,所述方法还包括:
接收创建新的连接的请求;
当所述初始化后的核心连接池不存在空闲连接,且核心连接池初始化连接数小于核心连接池最小连接数,则创建新的连接;
当所述核心连接池已达到核心连接池最小连接数,且核心连接池的实际连接数小于核心连接池最大连接数,则创建新的连接;
当所述核心连接池已达到核心连接池最大连接数,则在所述业务高峰时段专用连接池创建新的连接。
本申请的业务高峰时段专用连接池还可以用于非业务高峰时段,当核心连接池无可用连接时,从业务高峰专用连接池获取可用连接并返回。
一般情况下,核心连接池最小连接数一般设置为大于初始化连接数的一个较小值。
在一个示例中,所述方法还包括:在预设间隔时间内轮询检测所述核心连接池中是否存在空闲连接;如果存在,则释放所述空闲连接。
在一个示例中,在预设间隔时间内轮询检测所述核心连接池中是否存在空闲连接,包括:检测所述核心连接池内的连接时间是否超过第一最大空闲时间,如果超过,确定所述连接为空闲连接。。
值得注意的是,在非业务高峰时段内,核心连接池从业务高峰时段专用连接池获取可用连接并返回时,从业务高峰时段专用连接池获取的可用连接的最大空闲时间为第一最大空闲时间。
在本申请的一个实施例中,所述数据库连接池的参数通过管理页面进行设置,设置后,spring容器实时刷新,被修改时无需重新启动系统即可生效。
在本申请的实施例中,所述核心连接池和所述业务高峰时段专用连接池均包括使用中的连接队列和空闲中的连接队列,其中所述使用中的连接队列用于存储非空闲连接,所述空闲中的连接队列用于存储空闲连接。
在开源数据库连接池多采用一个数组或者队列容器存放数据库连接,对每个连接标记使用状态,导致各种操作都需要遍历容器,性能低下。本申请在数据库连接池结构上使用空间换时间的思路,在核心连接池和业务高峰时段专用连接池中,都设置两个队列的容器,分别为使用中的连接队列和空闲中的连接队列。这样在获取连接、统计连接状态时都能直接快速实现。在具体实现上可以使用java高并发api的队列数据结构:ArrayBlockingQueue。
根据本申请的数据库连接池的连接方法,通过在业务高峰时段来临之前,填充业务高峰时段专用连接池的最大连接数,以在业务高峰时段时,连接池有充足的连接可用,避免了在业务高峰时可能出现的因等待建立短时大量连接导致的系统卡顿现象。
另外,由于本申请的数据库连接池的配置参数通过管理页面进行修改,利用spring容器进行实时刷新,可以实现当修改数据库连接池的参数时,无需重新启动业务系统而实时生效。
下面结合图3对本申请的服务器进行描述,其中,图3示出根据本申请实施例的服务器的示意性框图。
如图3所示,服务器300包括:一个或多个存储器301和一个或多个处理器302,所述存储器301上存储有由所述处理器302运行的计算机程序,所述计算机程序在被所述处理器302运行时,使得所述处理器302执行前文所述的数据库连接池的连接方法。
服务器300可以是可以通过软件、硬件或者软硬件结合的方式实现数据库连接池的连接方法的计算机设备的部分或者全部。
如图3所示,服务器300包括一个或多个存储器301、一个或多个处理器302、显示器(未示出)和通信接口等,这些组件通过总线系统和/或其它形式的连接机构(未示出)互连。应当注意,图3所示的服务器300的组件和结构只是示例性的,而非限制性的,根据需要,服务器300也可以具有其他组件和结构。
存储器301用于存储运行过程中产生的各种数据和可执行程序指令,例如用于存储各种应用程序或实现各种具体功能的算法。可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
处理器302可以是中央处理单元(CPU)、图像处理单元(GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以服务器300中的其它组件以执行期望的功能。
在一个示例中,服务器300还包括输出装置可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示装置、扬声器等中的一个或多个。
通信接口是可以是目前已知的任意通信协议的接口,例如有线接口或无线接口,其中,通信接口可以包括一个或者多个串口、USB接口、以太网端口、WiFi、有线网络、DVI接口,设备集成互联模块或其他适合的各种端口、接口,或者连接。
此外,根据本申请实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本申请实施例的数据库连接池的连接方法的相应步骤。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
本申请实施例的服务器,由于能够实现前述的方法,因此具有和前述的方法相同的优点。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本申请的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本申请的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本申请的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本申请的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的一些模块的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本申请的具体实施方式或对具体实施方式的说明,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种数据库连接池的连接方法,其特征在于,所述数据库连接池包括业务高峰时段专用连接池,所述方法包括:
判断当前时段的下一时段是否为业务高峰时段;
当所述当前时段的下一时段是业务高峰时段时,填充所述业务高峰时段专用连接池至最大连接数,以使得在业务高峰时段时,所述业务高峰时段专用连接池的所述最大连接数大于实际连接数。
2.如权利要求1所述的方法,其特征在于,判断当前时段的下一时段是否为业务高峰时段,包括:
监控所述数据库连接池的活跃连接数和SQL语句提交的tps的时序数据,根据所述活跃连接数和所述tps的时序数据确定所述数据库连接池使用的所述业务高峰时段,以及所述业务高峰时段专用连接池的最大连接数;
判断当前时段的下一时段是否为所述活跃连接数和所述tps的时序数据所确定的所述业务高峰时段。
3.如权利要求1所述的方法,其特征在于,判断当前时段的下一时段是否为业务高峰时段,包括:
根据业务情况设定所述业务高峰时段;
判断当前时段的下一时段是否为所设定的所述业务高峰时段。
4.如权利要求1所述的方法,其特征在于,所述数据库连接池还包括核心连接池,填充业务高峰时段专用连接池的最大连接数之前,所述方法还包括:
接收创建新的连接的请求;
当初始化后的核心连接池不存在空闲连接,且核心连接池初始化连接数小于核心连接池最小连接数,则创建新的连接;
当所述核心连接池已达到核心连接池最小连接数,且核心连接池的实际连接数小于核心连接池最大连接数,则创建新的连接;
当所述核心连接池已达到核心连接池最大连接数,则在所述业务高峰时段专用连接池创建新的连接。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:在预设间隔时间内轮询检测所述核心连接池中是否存在空闲连接;如果存在,则释放所述空闲连接。
6.如权利要求5所述的方法,其特征在于,在预设间隔时间内轮询检测所述核心连接池中是否存在空闲连接,包括:检测所述核心连接池内的连接时间是否超过第一最大空闲时间,如果超过,确定所述连接为空闲连接。
7.如权利要求1所述的方法,其特征在于,填充业务高峰时段专用连接池的最大连接数之后,所述方法还包括:在预设间隔时间内轮询检测所述业务高峰时段专用连接池中是否存在空闲连接;如果存在,则释放所述空闲连接。
8.如权利要求7所述的方法,其特征在于,在预设间隔时间内轮询检测所述业务高峰时段专用连接池中是否存在空闲连接,包括:检测所述业务高峰时段专用连接池内的连接时间是否超过第二最大空闲时间,如果超过,确定所述连接为空闲连接;
其中,所述第二最大空闲时间大于第一最大空闲时间。
9.如权利要求1所述的方法,其特征在于,所述核心连接池和所述业务高峰时段专用连接池均包括使用中的连接队列和空闲中的连接队列,其中所述使用中的连接队列用于存储非空闲连接,所述空闲中的连接队列用于存储空闲连接。
10.如权利要求1所述的方法,其特征在于,其中,所述数据库连接池的参数通过管理页面设置,被修改时无需重新启动系统即可生效。
11.一种服务器,其特征在于,所述服务器包括:
存储器和处理器,所述存储器上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时,使得所述处理器执行如权利要求1至10中任一项所述的数据库连接池的连接方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210736958.1A CN115328978B (zh) | 2022-06-27 | 2022-06-27 | 一种连接池的连接方法和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210736958.1A CN115328978B (zh) | 2022-06-27 | 2022-06-27 | 一种连接池的连接方法和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115328978A true CN115328978A (zh) | 2022-11-11 |
CN115328978B CN115328978B (zh) | 2023-11-17 |
Family
ID=83918605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210736958.1A Active CN115328978B (zh) | 2022-06-27 | 2022-06-27 | 一种连接池的连接方法和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115328978B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050172029A1 (en) * | 2004-01-29 | 2005-08-04 | International Business Machines Corporation | Method and apparatus for managing a connection pool using heuristic information |
CN101095109A (zh) * | 2004-12-31 | 2007-12-26 | Bea系统公司 | 多池管理器 |
US20110010461A1 (en) * | 2008-01-23 | 2011-01-13 | Comptel Corporation | Convergent Mediation System With Improved Data Transfer |
CN102609467A (zh) * | 2012-01-16 | 2012-07-25 | 北京星网锐捷网络技术有限公司 | 数据库连接管理方法和装置 |
CN105190564A (zh) * | 2013-04-11 | 2015-12-23 | 甲骨文国际公司 | 通过用线程强度分析进行季节性趋向和预报来对云服务中的sla违反进行预测性诊断 |
CN105302692A (zh) * | 2015-10-28 | 2016-02-03 | 联动优势科技有限公司 | 基于内外参数的数据库连接池监控和管理的方法和装置 |
US20160036716A1 (en) * | 2014-07-31 | 2016-02-04 | Splunk Inc. | Priority-based processing of messages from multiple servers |
CN105426285A (zh) * | 2015-10-28 | 2016-03-23 | 联动优势科技有限公司 | 数据库连接池监控和管理的方法和装置 |
CN108549592A (zh) * | 2018-03-19 | 2018-09-18 | 联动优势电子商务有限公司 | 一种数据库连接池的监控方法及监控设备、应用服务器 |
CN111930529A (zh) * | 2020-10-09 | 2020-11-13 | 上海富友支付服务股份有限公司 | 基于消息队列及微服务的数据同步方法、模块及系统 |
CN112732441A (zh) * | 2021-01-07 | 2021-04-30 | 山东众阳健康科技集团有限公司 | 一种多元动态连接池的连接方法、装置及系统 |
-
2022
- 2022-06-27 CN CN202210736958.1A patent/CN115328978B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050172029A1 (en) * | 2004-01-29 | 2005-08-04 | International Business Machines Corporation | Method and apparatus for managing a connection pool using heuristic information |
CN101095109A (zh) * | 2004-12-31 | 2007-12-26 | Bea系统公司 | 多池管理器 |
US20110010461A1 (en) * | 2008-01-23 | 2011-01-13 | Comptel Corporation | Convergent Mediation System With Improved Data Transfer |
CN102609467A (zh) * | 2012-01-16 | 2012-07-25 | 北京星网锐捷网络技术有限公司 | 数据库连接管理方法和装置 |
CN105190564A (zh) * | 2013-04-11 | 2015-12-23 | 甲骨文国际公司 | 通过用线程强度分析进行季节性趋向和预报来对云服务中的sla违反进行预测性诊断 |
US20160036716A1 (en) * | 2014-07-31 | 2016-02-04 | Splunk Inc. | Priority-based processing of messages from multiple servers |
CN105302692A (zh) * | 2015-10-28 | 2016-02-03 | 联动优势科技有限公司 | 基于内外参数的数据库连接池监控和管理的方法和装置 |
CN105426285A (zh) * | 2015-10-28 | 2016-03-23 | 联动优势科技有限公司 | 数据库连接池监控和管理的方法和装置 |
CN108549592A (zh) * | 2018-03-19 | 2018-09-18 | 联动优势电子商务有限公司 | 一种数据库连接池的监控方法及监控设备、应用服务器 |
CN111930529A (zh) * | 2020-10-09 | 2020-11-13 | 上海富友支付服务股份有限公司 | 基于消息队列及微服务的数据同步方法、模块及系统 |
CN112732441A (zh) * | 2021-01-07 | 2021-04-30 | 山东众阳健康科技集团有限公司 | 一种多元动态连接池的连接方法、装置及系统 |
Non-Patent Citations (2)
Title |
---|
LAMYA A. OTHMAN等: "A comparative analysis of database connection pooling implementations with emphasis on the added value of aspect orientation", 《2011 9TH IEEE/ACS INTERNATIONAL CONFERENCE ON COMPUTER SYSTEMS AND APPLICATIONS (AICCSA)》, pages 102 - 111 * |
桑玲: "德阳供电公司用户用电行为分析系统设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 4, pages 138 - 494 * |
Also Published As
Publication number | Publication date |
---|---|
CN115328978B (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2893444B1 (en) | Quota-based resource management | |
EP3565219A1 (en) | Service execution method and device | |
CN113656157B (zh) | 一种分布式任务调度方法、装置、存储介质及电子设备 | |
CN109981737B (zh) | 一种网络请求的处理方法、装置、终端及存储介质 | |
CN111104227B (zh) | 一种K8s平台的资源控制方法、装置及相关组件 | |
CN113422736B (zh) | 基于令牌桶的请求管理方法、装置、设备及存储介质 | |
CN106202082B (zh) | 组装基础数据缓存的方法及装置 | |
CN107343023A (zh) | 一种Mesos管理集群中的资源分配方法、装置及电子设备 | |
CN110020383B (zh) | 一种页面数据请求处理方法及装置 | |
CN111857992B (zh) | 一种Radosgw模块中线程资源分配方法和装置 | |
CN111104219A (zh) | 虚拟核心与物理核心的绑定方法、装置、设备及存储介质 | |
CN108241535B (zh) | 资源管理的方法、装置及服务器设备 | |
CN105740170B (zh) | 一种缓存脏页刷写方法及装置 | |
CN114745334A (zh) | 一种分布式系统限流方法及系统 | |
CN109819674B (zh) | 计算机存储介质、嵌入式调度方法及系统 | |
WO2022016845A1 (zh) | 一种多节点监控方法、装置、电子设备及存储介质 | |
WO2021121161A1 (zh) | 进程管理方法和装置、电子设备 | |
CN112068960A (zh) | 一种cpu资源分配方法、装置、存储介质及设备 | |
CN111488373B (zh) | 用于处理请求的方法和系统 | |
CN115328978A (zh) | 一种连接池的连接方法和服务器 | |
CN111913792A (zh) | 一种业务处理方法和装置 | |
WO2021012974A1 (zh) | 基于云平台的容器化应用网络流控方法、装置、设备及存储介质 | |
CN114924888A (zh) | 资源配置方法、数据处理方法、装置、设备和存储介质 | |
CN114816713A (zh) | 函数调用方法及系统 | |
CN109388497B (zh) | 一种内存池的管理方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |