CN109684397A - 基于influx dB数据库连接池和管理方法 - Google Patents
基于influx dB数据库连接池和管理方法 Download PDFInfo
- Publication number
- CN109684397A CN109684397A CN201811581360.XA CN201811581360A CN109684397A CN 109684397 A CN109684397 A CN 109684397A CN 201811581360 A CN201811581360 A CN 201811581360A CN 109684397 A CN109684397 A CN 109684397A
- Authority
- CN
- China
- Prior art keywords
- connection
- pool
- influx
- allocation component
- database
- 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
- 230000004941 influx Effects 0.000 title claims abstract description 75
- 238000007726 management method Methods 0.000 title claims abstract description 66
- 238000009826 distribution Methods 0.000 claims abstract description 19
- 238000003860 storage Methods 0.000 claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims 1
- 238000013468 resource allocation Methods 0.000 abstract description 6
- 239000000306 component Substances 0.000 description 80
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于influx dB数据库连接池、管理方法、计算机设备和存储介质,其中管理方法包括:获取基于influx dB数据库连接池的管理请求;根据所述基于influx dB数据库连接池的管理请求,对资源池进行初始化并加载连接分配组件;对创建连接以及获取连接超时进行管理;对归还连接以及销毁连接进行管理;根据已加载的所述连接分配组件对连接分配进行管理。本发明通过对连接进行统一的管理实现了连接资源分配策略更丰富,灵活动态对连接资源进行管理,提高了资源复用,并减少了资源开销。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于influx dB数据库连接池、管理方法、计算机设备和存储介质。
背景技术
目前,在IDC成千上万台服务器环境下,分布式应用架构、各种中间件,这种情况下监控上千台服务的主机资源、网络、按不同纬度监控服务的性能、TPS等会产生海量的、严格按时间递增的、结构简单的各种监控指标数据,时序数据库对这种数据有着天然优势,influx dB作为时序数据库中姣姣者,着力于高性能地查询与存储时序型数据,无需外部依赖,受得很多监控系统的青睐。
当前influx dB数据操作使用中,都是以最传统的数据库连接方式,在传统的数据库连接方式中,每次数据访问都必须经历建立数据库连接、打开数据库、存取数据、关闭数据库连接等步骤。数据库连接是一种关键的、有限的、昂贵的资源,频繁的建立、关闭连接,增加很多重复资源开销,会极大的减低系统的性能,因此对于连接的使用成了系统性能的瓶颈,特别是在今天应用并发大暴发及海量数据时代,这个性能瓶颈显得尤为突出。解决influx dB连接使用优化变得突出。
发明内容
基于此,有必要针对上述技术问题,提供一种基于influx dB数据库连接池、管理方法、计算机设备和存储介质。
一种基于influx dB数据库连接池的管理方法,所述方法包括:
获取基于influx dB数据库连接池的管理请求;
根据所述基于influx dB数据库连接池的管理请求,对资源池进行初始化并加载连接分配组件;
对创建连接以及获取连接超时进行管理;
对归还连接以及销毁连接进行管理;
根据已加载的所述连接分配组件对连接分配进行管理。
在其中一个实施例中,所述根据所述基于influx dB数据库连接池的管理请求,对资源池进行初始化并加载连接分配组件的步骤包括:
根据所述基于influx dB数据库连接池的管理请求获取配置项目信息;
根据最大连接数初始化资源池大小;
根据初始化最小连接数创建连接并存放在资源池中;
加载连接分配组件。
在其中一个实施例中,所述加载连接分配组件的步骤包括:
判断所述配置项目中是否配置了自定义连接分配组件及其放置位置;
若没有配置自定义连接分配组件,则加载内置连接分配组件;
若有则根据所述放置位置加载相应的自定义连接分配组件;
检查所述自定义连接分配组件是否符合连接分配组件标准,若不符合则加载内置连接分配组件。
在其中一个实施例中,所述连接分配组件用于:
统计一时间段内平均使用连接数;
判断当前资源池中连接数是否超过最大连接数,若是则返回0个可创建连接,否则根据当前时间段历史平均使用连接数与资源池中现有连接数进行比较,若当前时间段历史平均使用连接数小于资源池中现有连接数,则返回两者差值,否则返回一可创建连接;
比较历史平均连接数与当前资源池中的连接数的大小,若历史平均连接数大于当前资源池中的连接数则返回false,否则返回true。
在其中一个实施例中,所述对创建连接以及获取连接超时进行管理的步骤包括:
获取用户的获取连接请求;
判断资源池中是否有空闲连接;
若存在空闲连接,则把连接分配给用户;
若没有空闲连接,则调用连接分配组件,根据所述连接分配组件创建空闲连接存放到资源池中并分配一个新创建连接给用户;
若没有新的连接可创建,则按最大等待时间进行等待;
若等待超过最大等待时间后仍没有空闲连接,则返回无空闲连接的异常消息给用户。
在其中一个实施例中,所述对归还连接以及销毁连接进行管理的步骤包括:
获取归还连接请求;
调用连接分配组件,根据所述连接分配组件判断当前连接是否要删除;
如果是就删除所述当前连接,否则就将所述当前连接标记为空闲状态。
一种基于influx dB数据库连接池,所述基于influx dB数据库连接池包括:
资源池,所述资源池用于存放连接对象容器;
获取连接管理模块,所述获取连接管理模块用于对创建连接以及获取连接超时进行管理;
归还连接管理模块,所述归还连接管理模块用于对归还连接以及销毁连接进行管理;
连接分配管理模块,所述连接分配管理模块用于根据分配组件对连接分配进行管理。
在其中一个实施例中,所述基于influx dB数据库连接池还包括:
连接检查模块,所述连接检查模块用于检查在资源池中的空闲连接是否有效,并清理无效的空闲连接。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
上述基于influx dB数据库连接池、管理方法、计算机设备和存储介质,通过获取基于influx dB数据库连接池的管理请求;根据所述基于influx dB数据库连接池的管理请求,对资源池进行初始化并加载连接分配组件;对创建连接以及获取连接超时进行管理;对归还连接以及销毁连接进行管理;根据已加载的所述连接分配组件对连接分配进行管理。本发明通过对连接进行统一的管理实现了连接资源分配策略更丰富,灵活动态对连接资源进行管理,提高了资源复用,并减少了资源开销。
附图说明
图1为一个实施例中基于influx dB数据库连接池的管理方法的应用场景图;
图2为一个实施例中基于influx dB数据库连接池的管理方法的流程示意图;
图3为一个实施例中根据基于influx dB数据库连接池的管理请求,对资源池进行初始化并加载连接分配组件的步骤的流程示意图;
图4为一个实施例中加载连接分配组件的步骤的流程示意图;
图5为一个实施例中连接分配组件功能应用的流程示意图;
图6为一个实施例中对创建连接以及获取连接超时进行管理的步骤的流程示意图;
图7为一个实施例中对归还连接以及销毁连接进行管理的步骤的流程示意图;
图8为一个实施例中基于influx dB数据库连接池的结构框图;
图9为另一个实施例中基于influx dB数据库连接池的结构框图;
图10为再一个实施例中基于influx dB数据库连接池的结构框图;
图11为又一个实施例中基于influx dB数据库连接池的结构框图;
图12为一个实施例中计算机设备的内部结构图;
图13为一个实施例中基于influx dB数据库连接池的整体功能结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本发明实施例所提供的基于influx dB数据库连接池的管理方法可应用到如图1所示的应用环境中。计算机设备110通过网络与服务器120连接,其中,该计算机设备110包括:个人电脑、大型计算机等任意一种计算机设备。用户通过计算机设备110向服务器120发送基于influx dB数据库连接池的管理请求。服务器120获取用户通过计算机设备110发送的基于influx dB数据库连接池的管理请求。根据基于influx dB数据库连接池的管理请求,对资源池进行初始化并加载连接分配组件,通过获取连接管理模块对创建连接以及获取连接超时进行管理,通过归还连接管理模块对归还连接以及销毁连接进行管理,通过连接分配管理模块根据已加载的连接分配组件对连接分配进行管理,以实现本发明所提出的一种基于influx dB数据库连接池的管理方法。
在一个实施例中,如图2所示,提供了一种基于influx dB数据库连接池的管理方法,以该方法应用于图1中的应用环境为例进行说明,该方法包括:
步骤202,获取基于influx dB数据库连接池的管理请求;
步骤204,根据基于influx dB数据库连接池的管理请求,对资源池进行初始化并加载连接分配组件;
步骤206,对创建连接以及获取连接超时进行管理;
步骤208,对归还连接以及销毁连接进行管理;
步骤210,根据已加载的连接分配组件对连接分配进行管理。
具体地,服务器可以获取用户通过计算计算机设备发送的基于influx dB数据库连接池的管理请求。在进行管理之前需要对资源池进初始化,根据配置项目中的参数建立资源池,然后在加载相应的连接分配组件。连接分配组件是用于管理资源池中连接分配的核心组件,该组件可以通过人为的自定义进行配置,也可以通过内置的配置文件进行快速配置。服务器可以根据该已加载的连接分配组件对连接分配进行管理。此外,还可以通过调用连接分配组件实现对创建连接以及获取连接超时进行管理,还可以通过调用连接分配组件实现对归还连接以及销毁连接进行管理。
在本实施例中,通过获取基于influx dB数据库连接池的管理请求;根据基于influx dB数据库连接池的管理请求,对资源池进行初始化并加载连接分配组件;对创建连接以及获取连接超时进行管理;对归还连接以及销毁连接进行管理;根据已加载的连接分配组件对连接分配进行管理。本发明通过对连接进行统一的管理实现了连接资源分配策略更丰富,灵活动态对连接资源进行管理,提高了资源复用,并减少了资源开销。
在一个实施例中,如图3所示,提供了一种基于influx dB数据库连接池的管理方法,其中根据基于influx dB数据库连接池的管理请求,对资源池进行初始化并加载连接分配组件的步骤包括:
步骤302,根据基于influx dB数据库连接池的管理请求获取配置项目信息;
步骤304,根据最大连接数初始化资源池大小;
步骤306,根据初始化最小连接数创建连接并存放在资源池中;
步骤308,加载连接分配组件。
具体地,资源池建立的步骤包括:首先根据设定中maxSize(最大连接数)初始化资源池大小,并根据设定initSize(初始化最小连接数)创建连接并放置在资源池中,以便在需要时候快速提供连接。
在本实施例中,实现了根据基于influx dB数据库连接池的管理请求中的各项参数快速建立资源池。
在一个实施例中,如图4所示,提供了一种基于influx dB数据库连接池的管理方法,其中加载连接分配组件的步骤包括:
步骤402,判断配置项目中是否配置了自定义连接分配组件及其放置位置;若没有配置自定义连接分配组件,则执行步骤404,若有则执行步骤406;
步骤404,加载内置连接分配组件;
步骤406,根据放置位置加载相应的自定义连接分配组件;
步骤408,检查自定义连接分配组件是否符合连接分配组件标准,若不符合则加载内置连接分配组件。
具体地,分配组件加载的步骤包括:根据配置项目中是否配置自定义的分配组件放置位置,如果有,则根据位置加载自定义分配组件,并检查组件是否符合分配组件标准,如不符合则加载内置分配组件,如没有配置自定义组件,加载内置分配组件。
在本实施例中,实现了可以通过自定义进行配置,也可以通过内置配组组件进行快速配置,减少配置项,减少繁琐的配置,使得上手更加容易。
在一个实施例中,如图5所示,提供了一种基于influx dB数据库连接池的管理方法,其中连接分配组件用于:
步骤502,统计一时间段内平均使用连接数;
步骤504,判断当前资源池中连接数是否超过最大连接数,若是则返回0个可创建连接,否则根据当前时间段历史平均使用连接数与资源池中现有连接数进行比较,若当前时间段历史平均使用连接数小于资源池中现有连接数,则返回两者差值,否则返回一可创建连接;
步骤506,比较历史平均连接数与当前资源池中的连接数的大小,若历史平均连接数大于当前资源池中的连接数则返回false,否则返回true。
具体地,本实施例中的连接分配组件可以为内置分配组件,具体的功能包括:
统计功能:以1分钟为粒度,统计一小时内的平均连接数,然后计算某个时间段如(9点到10点这段时间)从系统启动到现在这个时间段的平均使用连接数。
创建决策功能:当有新请求调用此功能时,首先判定资源池中连接数是否超过设定中maxSize(最大连接数),如果是则返回0个可创建连接,否则的话,根据此时时间段历史平均使用连接数与资源池中现有连接数比较,如果历史平均数小于资源池连接数,返回两者差值,否则返回1个可创建连接。
销毁决策功能:当有归还连接请求时,比较历史平均连接数与资源池中的连接数,如果平均连接数大于资源池中连接数返回false,否则返回true。
在本实施例中,可根据业务灵活自定义资源分配策略,使资源更加合理分配。通过以上功能可以使资源分配策略更丰富,灵活动态对连接资源进行管理,提高资源复用,减少资源开销;能快速响应系统的数据请求。
在一个实施例中,如图6所示,提供了一种基于influx dB数据库连接池的管理方法,其中对创建连接以及获取连接超时进行管理的步骤包括:
步骤602,获取用户的获取连接请求;
步骤604,判断资源池中是否有空闲连接,若存在空闲连接,则执行步骤606,若没有空闲连接,则执行步骤608;
步骤606,把连接分配给用户;
步骤608,调用连接分配组件,根据连接分配组件创建空闲连接存放到资源池中并分配一个新创建连接给用户;
步骤610,若没有新的连接可创建,则按最大等待时间进行等待;
步骤612,若等待超过最大等待时间后仍没有空闲连接,则返回无空闲连接的异常消息给用户。
具体地,获取连接的步骤包括:首先查看资源池中是否有空闲连接。如果存在空闲连接,则把连接分配给客户并作相应处理(即标记该连接为正在使用)。如果没有空闲连接,则调用分配策略组件中创建决策功能,由组件决定此时创建多少个空闲连接放到资源池中并分配一个新创建连接给用户;如果没有新的连接可创建就按设定的maxWaitTime(最大等待时间)进行等待,如果等待maxWaitTime后仍没有空闲连接,就抛出无空闲连接的异常给用户。
在本实施例中,实现了根据分配策略组件中创建决策功能对创建连接以及获取超时进行管理。
在一个实施例中,如图7所示,提供了一种基于influx dB数据库连接池的管理方法,其中对归还连接以及销毁连接进行管理的步骤包括:
步骤702,获取归还连接请求;
步骤704,调用连接分配组件,根据连接分配组件判断当前连接是否要删除,若需要删除则执行步骤706,否则执行708;
步骤706,删除当前连接;
步骤708,将当前连接标记为空闲状态。
具体地,归还连接的步骤包括:首先调用分配策略组件中销毁决策功能判断当前连接是否要删除,如果是就删除该连接,否则就将该连接标记为空闲状态,可供再次复用。
在本实施例中,实现了根据分配策略组件中销毁决策功能对归还以及销毁连接进行管理。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种基于influx dB数据库连接池800,该基于influx dB数据库连接池800包括:
资源池801,用于存放连接对象容器;
获取连接管理模块802,用于对创建连接以及获取连接超时进行管理;
归还连接管理模块803,用于对归还连接以及销毁连接进行管理;
连接分配管理模块804,用于根据分配组件对连接分配进行管理。
在一个实施例中,如图9所示,提供了一种基于influx dB数据库连接池800,还包括:初始化模块805,该初始化模块805用于:
根据基于influx dB数据库连接池的管理请求获取配置项目信息;
根据最大连接数初始化资源池大小;
根据初始化最小连接数创建连接并存放在资源池中;
加载连接分配组件。
在一个实施例中,如图10所示,提供了一种基于influx dB数据库连接池800,还包括:加载模块806,该加载模块806用于:
判断配置项目中是否配置了自定义连接分配组件及其放置位置;
若没有配置自定义连接分配组件,则加载内置连接分配组件;
若有则根据放置位置加载相应的自定义连接分配组件;
检查自定义连接分配组件是否符合连接分配组件标准,若不符合则加载内置连接分配组件。
在一个实施例中,连接分配组件用于:
统计一时间段内平均使用连接数;
判断当前资源池中连接数是否超过最大连接数,若是则返回0个可创建连接,否则根据当前时间段历史平均使用连接数与资源池中现有连接数进行比较,若当前时间段历史平均使用连接数小于资源池中现有连接数,则返回两者差值,否则返回一可创建连接;
比较历史平均连接数与当前资源池中的连接数的大小,若历史平均连接数大于当前资源池中的连接数则返回false,否则返回true。
在一个实施例中,获取连接管理模块802还用于:
获取用户的获取连接请求;
判断资源池中是否有空闲连接;
若存在空闲连接,则把连接分配给用户;
若没有空闲连接,则调用连接分配组件,根据连接分配组件创建空闲连接存放到资源池中并分配一个新创建连接给用户;
若没有新的连接可创建,则按最大等待时间进行等待;
若等待超过最大等待时间后仍没有空闲连接,则返回无空闲连接的异常消息给用户。
在一个实施例中,归还连接管理模块803还用于:
获取归还连接请求;
调用连接分配组件,根据连接分配组件判断当前连接是否要删除;
如果是就删除当前连接,否则就将当前连接标记为空闲状态。
在一个实施例中,如图11所示,提供了一种基于influx dB数据库连接池800,该基于influx dB数据库连接池800还包括:
连接检查模块807,用于检查在资源池中的空闲连接是否有效,并清理无效的空闲连接。
具体地,参考图13为基于influx dB数据库连接池的整体功能结构图。基于influxdB数据库连接池包括:资源池(用来存放连接对象容器);获取连接管理(创建连接,获取超时处理);归还连接管理(归还连接,销毁连接);资源分配策略(自定义分配策略,内置分配策略);资源检查(连接有效性检查)。
连接检查模块807用于定时检查在资源池中的空闲连接是否有效,清理无效的空闲连接。
在本实施例中,实现了对连接资源的有效性进行检查,使得基于influx dB数据库连接池得到了进一步的优化。
关于基于influx dB数据库连接池的具体限定可以参见上文中对于基于influxdB数据库连接池的管理方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于influx dB数据库连接池的管理方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于influx dB数据库连接池的管理方法,其特征在于,所述方法包括:
获取基于influx dB数据库连接池的管理请求;
根据所述基于influx dB数据库连接池的管理请求,对资源池进行初始化并加载连接分配组件;
对创建连接以及获取连接超时进行管理;
对归还连接以及销毁连接进行管理;
根据已加载的所述连接分配组件对连接分配进行管理。
2.根据权利要求1所述的基于influx dB数据库连接池的管理方法,其特征在于,所述根据所述基于influx dB数据库连接池的管理请求,对资源池进行初始化并加载连接分配组件的步骤包括:
根据所述基于influx dB数据库连接池的管理请求获取配置项目信息;
根据最大连接数初始化资源池大小;
根据初始化最小连接数创建连接并存放在资源池中;
加载连接分配组件。
3.根据权利要求2所述的基于influx dB数据库连接池的管理方法,其特征在于,所述加载连接分配组件的步骤包括:
判断所述配置项目中是否配置了自定义连接分配组件及其放置位置;
若没有配置自定义连接分配组件,则加载内置连接分配组件;
若有则根据所述放置位置加载相应的自定义连接分配组件;
检查所述自定义连接分配组件是否符合连接分配组件标准,若不符合则加载内置连接分配组件。
4.根据权利要求1-3任一项所述的基于influx dB数据库连接池的管理方法,其特征在于,所述连接分配组件用于:
统计一时间段内平均使用连接数;
判断当前资源池中连接数是否超过最大连接数,若是则返回0个可创建连接,否则根据当前时间段历史平均使用连接数与资源池中现有连接数进行比较,若当前时间段历史平均使用连接数小于资源池中现有连接数,则返回两者差值,否则返回一可创建连接;
比较历史平均连接数与当前资源池中的连接数的大小,若历史平均连接数大于当前资源池中的连接数则返回false,否则返回true。
5.根据权利要求4所述的基于influx dB数据库连接池的管理方法,其特征在于,所述对创建连接以及获取连接超时进行管理的步骤包括:
获取用户的获取连接请求;
判断资源池中是否有空闲连接;
若存在空闲连接,则把连接分配给用户;
若没有空闲连接,则调用连接分配组件,根据所述连接分配组件创建空闲连接存放到资源池中并分配一个新创建连接给用户;
若没有新的连接可创建,则按最大等待时间进行等待;
若等待超过最大等待时间后仍没有空闲连接,则返回无空闲连接的异常消息给用户。
6.根据权利要求4所述的基于influx dB数据库连接池的管理方法,其特征在于,所述对归还连接以及销毁连接进行管理的步骤包括:
获取归还连接请求;
调用连接分配组件,根据所述连接分配组件判断当前连接是否要删除;
如果是就删除所述当前连接,否则就将所述当前连接标记为空闲状态。
7.一种基于influx dB数据库连接池,其特征在于,所述基于influx dB数据库连接池包括:
资源池,所述资源池用于存放连接对象容器;
获取连接管理模块,所述获取连接管理模块用于对创建连接以及获取连接超时进行管理;
归还连接管理模块,所述归还连接管理模块用于对归还连接以及销毁连接进行管理;
连接分配管理模块,所述连接分配管理模块用于根据分配组件对连接分配进行管理。
8.根据权利要求7所述的基于influx dB数据库连接池,其特征在于,所述基于influxdB数据库连接池还包括:
连接检查模块,所述连接检查模块用于检查在资源池中的空闲连接是否有效,并清理无效的空闲连接。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811581360.XA CN109684397A (zh) | 2018-12-24 | 2018-12-24 | 基于influx dB数据库连接池和管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811581360.XA CN109684397A (zh) | 2018-12-24 | 2018-12-24 | 基于influx dB数据库连接池和管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109684397A true CN109684397A (zh) | 2019-04-26 |
Family
ID=66188257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811581360.XA Pending CN109684397A (zh) | 2018-12-24 | 2018-12-24 | 基于influx dB数据库连接池和管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684397A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112699150A (zh) * | 2021-01-04 | 2021-04-23 | 中国银联股份有限公司 | 一种数据库操作框架、方法及系统 |
CN112751933A (zh) * | 2020-12-30 | 2021-05-04 | 上海浦东发展银行股份有限公司 | 一种基于socket连接的数据传输方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140317449A1 (en) * | 2013-04-18 | 2014-10-23 | International Business Machines Corporation | Apparatus and method for allocating processing requests |
CN105426285A (zh) * | 2015-10-28 | 2016-03-23 | 联动优势科技有限公司 | 数据库连接池监控和管理的方法和装置 |
CN105591790A (zh) * | 2014-12-30 | 2016-05-18 | 中国银联股份有限公司 | 数据通信连接池管理装置 |
CN105740301A (zh) * | 2014-12-12 | 2016-07-06 | 北大方正集团有限公司 | 一种分布式数据库内部调整连接的方法及装置 |
CN106484882A (zh) * | 2016-10-14 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 一种数据库连接池的管理方法和装置 |
-
2018
- 2018-12-24 CN CN201811581360.XA patent/CN109684397A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140317449A1 (en) * | 2013-04-18 | 2014-10-23 | International Business Machines Corporation | Apparatus and method for allocating processing requests |
CN105740301A (zh) * | 2014-12-12 | 2016-07-06 | 北大方正集团有限公司 | 一种分布式数据库内部调整连接的方法及装置 |
CN105591790A (zh) * | 2014-12-30 | 2016-05-18 | 中国银联股份有限公司 | 数据通信连接池管理装置 |
CN105426285A (zh) * | 2015-10-28 | 2016-03-23 | 联动优势科技有限公司 | 数据库连接池监控和管理的方法和装置 |
CN106484882A (zh) * | 2016-10-14 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 一种数据库连接池的管理方法和装置 |
Non-Patent Citations (1)
Title |
---|
季一木等: "轨道交通系统中多客户端连接池动态分配策略", 《计算机工程》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112751933A (zh) * | 2020-12-30 | 2021-05-04 | 上海浦东发展银行股份有限公司 | 一种基于socket连接的数据传输方法 |
CN112751933B (zh) * | 2020-12-30 | 2023-05-05 | 上海浦东发展银行股份有限公司 | 一种基于socket连接的数据传输方法 |
CN112699150A (zh) * | 2021-01-04 | 2021-04-23 | 中国银联股份有限公司 | 一种数据库操作框架、方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110612705B (zh) | 一种无服务器架构下业务部署的方法和函数管理平台 | |
US9304807B2 (en) | Fault tolerant batch processing | |
CN109471711B (zh) | 一种任务处理的方法及装置 | |
CN109684397A (zh) | 基于influx dB数据库连接池和管理方法 | |
CN105893320A (zh) | 一种面向多核处理器的远程任务函数调用方法 | |
CN107026879A (zh) | 一种数据缓存方法及后台应用系统 | |
CN113377668A (zh) | 服务接口的自动化测试方法、装置和计算机设备 | |
CN112230857A (zh) | 一种混合云系统、混合云盘申请方法和数据存储方法 | |
CN109697112B (zh) | 分布式集约化一站式作业系统和实现方法 | |
CN113946427A (zh) | 用于多操作系统的任务处理方法、处理器及存储介质 | |
CN110442530A (zh) | 优化内存数据处理的方法、存储介质 | |
CN112000670B (zh) | 一种多线程程序数据统一管理方法、系统及电子设备 | |
CN116521363B (zh) | 一种代码打包方法、计算机设备及存储介质 | |
McGee | The information management system IMS/VS, Part V: Transaction processing facilities | |
CN111737021A (zh) | 并行任务的处理方法、装置、电子设备及存储介质 | |
CN112434050B (zh) | 电网业务处理系统的数据同步方法、装置和业务处理系统 | |
CN114844838A (zh) | 一种流量控制方法和装置 | |
CN114020612A (zh) | 测试数据构造处理方法、装置、计算机设备及存储介质 | |
CN112231103A (zh) | 基于状态锁的存储线程管理方法、系统、终端及存储介质 | |
CN111949687B (zh) | 基于共享内存和多进程的分布式数据库架构及其实现方法 | |
CN113448710B (zh) | 基于业务资源的分布式应用系统 | |
CN109995617A (zh) | 主机管理特性的自动化测试方法、装置、设备及存储介质 | |
CN113806011B (zh) | 集群资源控制方法和装置、集群、计算机可读存储介质 | |
CN114840125A (zh) | 设备资源配置、管理方法、装置、设备、介质和程序产品 | |
CN113342540B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190426 |
|
RJ01 | Rejection of invention patent application after publication |