数据库连接池的动态管理方法和系统技术方案

技术编号:14257570 阅读:87 留言:0更新日期:2016-12-22 21:23
本发明专利技术公开了一种数据库连接池的动态管理方法,该方法流程包括:定时或者实时获取连接池中的数据库连接的运行信息,其中,所述运行信息包括获取连接时长、连接占用时长、连接并发数以及空闲连接数中的一个或者多个;根据获取到的所述运行信息调整所述连接池的配置参数,其中,所述配置参数包括所述连接池的最大连接数和最小连接数,或者,根据获取到的所述运行信息调整所述连接池中的数据库连接的连接状态。本发明专利技术还提出一种数据库连接池的动态管理系统。本发明专利技术解决了无法对连接池进行动态调整的技术问题,提高了数据库连接池的性能。

【技术实现步骤摘要】

本专利技术涉及数据库管理
,尤其涉及一种数据库连接池的动态管理方法和系统
技术介绍
在当今海量信息化的互联网时代,数据库从简单的存储各种数据表单到海量数据存储在各行各业得到了广泛的应用,因此数据库连接池的应用越来越广泛,数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个,能够提高对数据库操作的性能,因此,连接池的性能直接决定了访问数据库的性能,从而也决定了整个系统的性能。现有的数据库连接池的管理方案一般是:预先设置好连接池的各项配置参数,连接池在工作时就按照设置好的配置参数运行,配置参数一般包括连接池的最大连接数、最小连接数等,其中,最小连接数是连接池会一直保持的数据连接,如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费掉;最大连接数是连接池能够申请的最大连接数,如果数据连接请求超过最大连接数,后面的数据连接请求将被加入到等待队列中,直到有数据库连接释放后,会按照等待队伍中的数据连接请求的顺序分配释放的数据库连接,但是当等待队伍中的数据连接请求等待时间较长时,会影响之后的数据库操作。但是,对于现有的数据库连接池,其最大连接数和最小连接数都是预先设置好的,并不会根据连接池的实时运行信息对其进行调整,因此无法对连接池进行动态调整,造成数据库连接池的性能较低。
技术实现思路
本专利技术提供一种数据库连接池的动态管理方法和系统,其主要目的在于解决无法对连接池进行动态调整的技术问题,提高数据库连接池的性能。为实现上述目的,本专利技术提供一种数据库连接池的动态管理方法,该数据库连接池的动态管理方法包括:定时或者实时获取连接池中的数据库连接的运行信息,其中,所述运行信息包括获取连接时长、连接占用时长、连接并发数以及空闲连接数中的一个或者多个;根据获取到的所述运行信息调整所述连接池的配置参数,其中,所述配置参数包括所述连接池的最大连接数和最小连接数,或者,根据获取到的所述运行信息调整所述连接池中的数据库连接的连接状态。可选地,所述根据获取到的所述运行信息,调整所述连接池的连接数的步骤包括:当所述连接池的并发连接数在预设时长内持续小于所述连接池的最小连接数时,减小所述连接池的最小连接数。可选地,所述根据获取到的所述运行信息,调整所述连接池的连接数的步骤包括:当所述获取连接时长大于预设连接请求时间阈值时,增大所述连接池的最大连接数。可选地,所述当所述获取连接时长大于预设连接请求时间阈值时,增大所述连接池的最大连接数的步骤包括:当所述获取连接时长大于预设连接请求时间阈值时,判断数据库当前是否有空闲连接;若所述数据库当前有空闲连接,则获取空闲连接数,并根据所述空闲连接数增大所述连接池的最大连接数。可选地,所述根据获取到的所述运行信息,调整所述连接池中的数据库连接的连接状态的步骤包括:当所述连接池中有数据库连接的所述连接占用时长大于预设连接占用时间阈值时,关闭占用时长大于所述预设连接占用时间阈值的所述数据库连接;所述调整所述连接池中的数据库连接的连接状态的步骤之后,所述数据库连接池的动态管理方法还包括步骤:输出所述连接池发生连接泄漏的通知信息。此外,为实现上述目的,本专利技术还提供一种数据库连接池的动态管理系统,该数据库连接池的动态管理系统包括:信息获取模块,用于定时或者实时获取连接池中的数据库连接的运行信息,其中,所述运行信息包括获取连接时长、连接占用时长、连接并发数以及空闲连接数中的一个或者多个;连接池调整模块,用于根据获取到的所述运行信息调整所述连接池的配置参数,其中,所述配置参数包括所述连接池的最大连接数和最小连接数,或者,根据获取到的所述运行信息调整所述连接池中的数据库连接的连接状态。可选地,所述连接池调整模块,还用于当所述连接池的并发连接数在预设时长内持续小于所述连接池的最小连接数时,减小所述连接池的最小连接数。可选地,所述连接池调整模块,还用于当所述获取连接时长大于预设连接请求时间阈值时,增大所述连接池的最大连接数。可选地,所述连接池调整模块包括:连接判断单元,用于当所述获取连接时长大于预设连接请求时间阈值时,判断数据库当前是否有空闲连接;连接池调整单元,用于若所述数据库当前有空闲连接,则获取空闲连接数,并根据所述空闲连接数增大所述连接池的最大连接数。可选地,所述连接池调整模块,还用于当所述连接池中有数据库连接的所述连接占用时长大于预设连接占用时间阈值时,关闭占用时长大于所述预设连接占用时间阈值的所述数据库连接;所述数据库连接池的动态管理系统还包括:信息输出模块,用于输出所述连接池发生连接泄漏的通知信息。本专利技术提出的数据库连接池的动态管理方法和系统,对数据库连接池中的数据库连接的运行信息进行定时或者实时地采集,运行信息包括获取连接时长、连接占用时长、连接并发数以及空闲连接数,也就说,在数据库连接池处于运行状态时,采集各个运行信息,对连接池的运行情况进行实时监控,进而根据获取到的运行信息对连接池的配置参数进行调整,例如连接池的最大连接数、最小连接数等,或者,根据获取到的运行信息对连接池的数据库的连接状态进行调整,通过这种方式,能够实时地根据连接池中数据库连接的使用情况对连接池的配置参数进行动态管理,能够避免因为最小连接数过大,而导致数据库连接长时间处于空闲状态造成资源浪费,或者避免因为最大连接数不能满足应用当前的需求而造成等待过久的问题,总之,本专利技术提出的方法和系统能够提高对连接池进行动态调整,提高其性能,进而提高访问数据库的性能。附图说明图1为本专利技术数据库连接池的动态管理方法第一实施例的流程图;图2为本专利技术数据库连接池的动态管理方法第二实施例的流程图;图3为本专利技术数据库连接池的动态管理系统第一实施例的功能模块示意图;图4为本专利技术数据库连接池的动态管理系统第二实施例的功能模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种数据库连接池的动态管理方法。参照图1所示,为本专利技术数据库连接池的动态管理方法第一实施例的流程图。在本实施例中,该数据库连接池的动态管理方法包括:步骤S10,定时或者实时获取连接池中的数据库连接的运行信息,其中,所述运行信息包括获取连接时长、连接占用时长、连接并发数以及空闲连接数中的一个或者多个;可以理解的是,本专利技术提出的数据库连接池的动态管理方法适用于各种不同类型的连接池,例如:DBCP(Database connection pool,数据库连接池)、C3PO连接池(一种开放源代码的JDBC连接池)、proxool连接池等各种类型的数据库连接池。数据库连接池主要负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。连接池在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,也并非将连接关闭,而是将连接放回连接池中,以供下一个连接请求访问使用。而连接的建立、本文档来自技高网...
数据库连接池的动态管理方法和系统

【技术保护点】
一种数据库连接池的动态管理方法,其特征在于,所述数据库连接池的动态管理方法包括:定时或者实时获取连接池中的数据库连接的运行信息,其中,所述运行信息包括获取连接时长、连接占用时长、连接并发数以及空闲连接数中的一个或者多个;根据获取到的所述运行信息调整所述连接池的配置参数,其中,所述配置参数包括所述连接池的最大连接数和最小连接数,或者,根据获取到的所述运行信息调整所述连接池中的数据库连接的连接状态。

【技术特征摘要】
1.一种数据库连接池的动态管理方法,其特征在于,所述数据库连接池的动态管理方法包括:定时或者实时获取连接池中的数据库连接的运行信息,其中,所述运行信息包括获取连接时长、连接占用时长、连接并发数以及空闲连接数中的一个或者多个;根据获取到的所述运行信息调整所述连接池的配置参数,其中,所述配置参数包括所述连接池的最大连接数和最小连接数,或者,根据获取到的所述运行信息调整所述连接池中的数据库连接的连接状态。2.根据权利要求1所述的数据库连接池的动态管理方法,其特征在于,所述根据获取到的所述运行信息,调整所述连接池的连接数的步骤包括:当所述连接池的并发连接数在预设时长内持续小于所述连接池的最小连接数时,减小所述连接池的最小连接数。3.根据权利要求1所述的数据库连接池的动态管理方法,其特征在于,所述根据获取到的所述运行信息,调整所述连接池的连接数的步骤包括:当所述获取连接时长大于预设连接请求时间阈值时,增大所述连接池的最大连接数。4.根据权利要求3所述的数据库连接池的动态管理方法,其特征在于,所述当所述获取连接时长大于预设连接请求时间阈值时,增大所述连接池的最大连接数的步骤包括:当所述获取连接时长大于预设连接请求时间阈值时,判断数据库当前是否有空闲连接;若所述数据库当前有空闲连接,则获取空闲连接数,并根据所述空闲连接数增大所述连接池的最大连接数。5.根据权利要求1至4中任一项所述的数据库连接池的动态管理方法,其特征在于,所述根据获取到的所述运行信息,调整所述连接池中的数据库连接的连接状态的步骤包括:当所述连接池中有数据库连接的所述连接占用时长大于预设连接占用时间阈值时,关闭占用时长大于所述预设连接占用时间阈值的所述数据库连接;所述调整所述连接池中的数据库连接的连接状态的步骤之后,所...

【专利技术属性】
技术研发人员:何涛宋威张学诚刘璟宇王军伟韩国忠余倩
申请(专利权)人:广州唯品会信息科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1