基于连接池的多用户数据库访问高效率优化方法及系统技术方案

技术编号:9718783 阅读:216 留言:0更新日期:2014-02-27 05:32
本发明专利技术涉及数据库领域,公开了一种基于连接池的多用户数据库访问高效率优化方法及架构,包括连接池可动态伸缩大小以及集中管理多连接池,对建立的连接池进行集中统一的管理,获取所有连接池的基本信息,捕捉每个连接池的配置变化,并约束连接池某些配置的变化;存储每个连接池的配置信息,当配置信息发生变化时触发更新消息,实现连接池随应用变化而伸缩其大小。本发明专利技术适用于多用户、多类型应用访问数据库时,使整个数据库系统不会因为访问时连接的建立和销毁、连接的空置、不同类型应用连接的竞争等等不合理的连接池使用策略,而造成大量资源浪费,从而进一步的提高数据库访问效率和性能。

【技术实现步骤摘要】
基于连接池的多用户数据库访问高效率优化方法及系统
本专利技术涉及数据库领域,具体涉及数据库系统的多用户访问时的高效率架构。技术背景访问数据库创建“连接”是一个很消耗资源的操作,对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。所以引入了连接池技术,把所有用户访问数据库耗时的操作放到一个缓冲区,即所谓的连接池,以此提高效率,同时连接池的使用策略也会影响到整个数据库系统的访问性能。数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。目前,数据库连接池的配置策略大多是静态的,不能根据应用需求的变化而变化,无用的连接池不能被及时地被垃圾收集,浪费部分内存,连接池在运行当中的资源调度管理策略还不能适应应用的需求,例如不能适时地调整数据库连接池的容量;而且对于多类型应用的情况,比如数据库增、删、改、查访问与ETL(抽取、转换、加载)操作,在一个连接池中竞争抢占连接,相互之间干扰了业务,不能保证重要的业务高性能运转。
技术实现思路
本专利技术要解决的技术问题是:本专利技术就是解决数据库连接池大小不能伸缩,不能根据应用而动态改变的问题,并专利技术多连接池集中管理策略应对多类型应用访问数据库时建立多连接池的情况。本专利技术所采用的技术方案为:一种基于连接池的多用户数据库访问高效率优化方法,为不同应用建立独立的连接池,并集中管理多个连接池,提供一种动态连接池管理策略,能伸缩连接池大小,并能够根据应用需求的变化而变化,其中:对建立的连接池进行集中统一的管理,获取所有连接池的基本信息,包括每个连接池的最小连接数和最大连接数,限制所有连接池的最大连接数总和,以此来限制数据库应用系统创建的总连接数;并实时捕捉每个连接池的配置变化,当连接池最小连接数减少时销毁连接释放资源,当连接池最小连接数增大时创建可用连接;并运用数据库存储每个连接池的配置信息,当配置信息发生变化时触发更新消息,实现连接池随应用变化而改变大小的动态伸缩,当整个数据库系统因为应用特殊性或者业务改变,致使某种应用的访问此段时间需要更多的连接来提升访问性能,此时可增大最小连接数提高连接复用率,或增大最大连接数使访问请求可建立更多的连接;而如果另一种应用最近一段时间无访问请求,其对应的连接池中的连接长时间空闲造成资源浪费,此时可减小最小连接数释放一直存在的连接,或减小最大连接数让其他连接池可扩充更大的最大连接数。一种基于连接池的多用户数据库访问系统,其中,所述系统的结构包括:数据库管理模块,多连接池管理模块,连接池配置数据管理模块,通信协议模块,其中:数据库管理模块,是支撑业务系统的核心,接收用户的连接请求,供用户进行数据记录的增、删、改、查访问操作。本专利技术适用于可实现连接池功能的传统关系型数据库RDBMS以及新型的数据库(比如列数据库、NoSQL数据库),适用于单机数据库,亦可适用于集群分布式数据库系统。多连接池管理模块,负责对建立的连接池进行集中统一的管理,获取所有连接池的基本信息,包括每个连接池的最小连接数和最大连接数,限制所有连接池的最大连接数总和,以此来限制数据库应用系统创建的总连接数,防止无限制创建连接;并实时捕捉每个连接池的配置变化,当连接池最小连接数减少时销毁连接释放资源,当连接池最小连接数增大时创建可用连接。而真正的连接创建、管理和销毁,依然由原连接池功能模块来实现。连接池配置数据管理模块,运用数据库存储每个连接池的配置信息,实现动态更新连接池配置信息,当配置信息发生变化时触发更新消息给多连接池管理模块,实现连接池随应用变化而改变大小的动态伸缩,当整个数据库系统因为应用特殊性或者业务改变,致使某种应用的访问此段时间需要更多的连接来提升访问性能,此时增大最小连接数提高连接复用率,或增大最大连接数使访问请求可建立更多的连接;当另一种应用最近一段时间无访问请求,其对应的连接池中的连接长时间空闲造成资源浪费,此时可减小最小连接数释放一直存在的连接,或减小最大连接数让其他连接池可扩充更大的最大连接数;通信协议模块,主要是负责定义多连接池管理模块与连接池配置数据管理模块两个模块之间的通信协议,完成触发的动态更新连接池信息的传送,包括连接池的新增和销毁、连接池配置信息的更改,实现连接池配置数据管理模块触发的更新消息的传送。多连接池管理模块可以看成一个数据库,而连接池配置数据管理模块作为数据库的上层数据操作应用。所述的连接池配置数据管理模块中运用的数据库为轻量级的数据库MySQL。重点是借用MySQL的数据库特性实现动态更新,并且MySQL数据库安装简单,占用资源少,完全可以作为一个小数据量的数据存储内嵌到应用系统中。连接池配置数据管理模块的实现需要基于MySQL数据库,将连接池的所有信息存储在MySQL数据库中,对可动态更新的信息设计触发器来触发生成更新消息。本专利技术的有益效果为:本专利技术适用于多用户、多类型应用访问数据库时,使整个数据库系统不会因为访问时连接的建立和销毁、连接的空置、不同类型应用连接的竞争等等不合理的连接池使用策略,而造成大量资源浪费,从而进一步的提高数据库访问效率和性能。附图说明图1为连接池工作原理示意图;图2为本专利技术一种基于连接池的多用户数据库访问系统示意图。具体实施方式下面参照附图,结合实施例对本专利技术详细说明。实施例1:一种基于连接池的多用户数据库访问高效率优化方法,为不同应用建立独立的连接池,并集中管理多个连接池,提供一种动态连接池管理策略,能伸缩连接池大小,并能够根据应用需求的变化而变化,其中,对建立的连接池进行集中统一的管理,获取所有连接池的基本信息,包括每个连接池的最小连接数和最大连接数,限制所有连接池的最大连接数总和,以此来限制数据库应用系统创建的总连接数;并实时捕捉每个连接池的配置变化,当连接池最小连接数减少时销毁连接释放资源,当连接池最小连接数增大时创建可用连接;运用数据库存储每个连接池的配置信息,当配置信息发生变化时触发更新消息,实现连接池随应用变化而改变大小的动态伸缩,当整个数据库系统因为应用特殊性或者业务改变,致使某种应用的访问此段时间需要更多的连接来提升访问性能,增大最小连接数提高连接复用率,或增大最大连接数使访问请求可建立更多的连接;当另一种应用最近一段时间无访问请求,其对应的连接池中的连接长时间空闲造成资源浪费,减小最小连接数释放一直存在的连接,或减小最大连接数让其他连接池可扩充更大的最大连接数。实施例2:在实施例1基础上,本实施例为一种基于连接池的多用户数据库访问系统,所述系统的结构包括:数据库管理模块,多连接池管理模块,连接池配置数据管理模块,通信协议模块,其中:数据库管理模块,是支撑业务系统的核心,接收用户的连接请求,供用户进行数据记录的增、删、改、查访问操作;多连接池管理模块,负责对建立的连接池进行集中统一的管理,获取所有连接池的基本信息,包括每个连接池的最小连接数和最大连接数,限制所有连接池的最大连接数总和,以此来本文档来自技高网...
基于连接池的多用户数据库访问高效率优化方法及系统

【技术保护点】
一种基于连接池的多用户数据库访问高效率优化方法,包括为不同应用建立独立的连接池,并集中管理多个连接池,提供一种动态连接池管理策略,能伸缩连接池大小,并能够根据应用需求的变化而变化,其特征在于:对建立的连接池进行集中统一的管理,获取所有连接池的基本信息,包括每个连接池的最小连接数和最大连接数,限制所有连接池的最大连接数总和,以此来限制数据库应用系统创建的总连接数;并实时捕捉每个连接池的配置变化,当连接池最小连接数减少时销毁连接释放资源,当连接池最小连接数增大时创建可用连接;运用数据库存储每个连接池的配置信息,当配置信息发生变化时触发更新消息,实现连接池随应用变化而改变大小的动态伸缩,当整个数据库系统因为应用特殊性或者业务改变,致使某种应用的访问此段时间需要更多的连接来提升访问性能,增大最小连接数提高连接复用率,或增大最大连接数使访问请求可建立更多的连接;当另一种应用最近一段时间无访问请求,其对应的连接池中的连接长时间空闲造成资源浪费,减小最小连接数释放一直存在的连接,或减小最大连接数让其他连接池可扩充更大的最大连接数。

【技术特征摘要】
1.一种基于连接池的多用户数据库访问高效率优化方法,包括为不同应用建立独立的连接池,并集中管理多个连接池,提供一种动态连接池管理策略,能伸缩连接池大小,并能够根据应用需求的变化而变化,其特征在于:对建立的连接池进行集中统一的管理,获取所有连接池的基本信息,包括每个连接池的最小连接数和最大连接数,限制所有连接池的最大连接数总和,以此来限制数据库应用系统创建的总连接数;并实时捕捉每个连接池的配置变化,当连接池最小连接数减少时销毁连接释放资源,当连接池最小连接数增大时创建可用连接;运用数据库存储每个连接池的配置信息,当配置信息发生变化时触发更新消息,实现连接池随应用变化而改变大小的动态伸缩,当整个数据库系统因为应用特殊性或者业务改变,致使某种应用的访问此段时间需要更多的连接来提升访问性能,增大最小连接数提高连接复用率,或增大最大连接数使访问请求可建立更多的连接;当另一种应用最近一段时间无访问请求,其对应的连接池中的连接长时间空闲造成资源浪费,减小最小连接数释放一直存在的连接,或减小最大连接数让其他连接池可扩充更大的最大连接数。2.一种基于连接池的多用户数据库访问系统,其特征在于,所述系统的结构包括:数据库管理模块,多连接池管理模块,连接池配置数据管理模块,通信协议模块,其中:数据库管理模块,是支撑业务系统的核心,接收用户的连接请求,供用户进行数据记录的增、删、改、查访问操作;多连接池管理模...

【专利技术属性】
技术研发人员:刘粉粉
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

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

1