基于连接池的多用户数据库访问高效率优化方法及架构的制作方法

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

【附图说明】[0014]图1为连接池工作原理示意图;图2为本发明一种基于连接池的多用户数据库访问高效率架构示意图。【具体实施方式】[0015]下面参照附图,结合实施例对本发明详细说明。[0016]实施例1:一种基于连接池的多用户数据库访问高效率优化方法,为不同应用建立独立的连接 池,并集中管理多个连接池,提供一种动态连接池管理策略,能伸缩连接池大小,并能够根 据应用需求的变化而变化,其中,对建立的连接池进行集中统一的管理,获取所有连接池的 基本信息,包括每个连接池的最小连接数和最大连接数,限制所有连接池的最大连接数总 和,以此来限制数据库应用系统创建的总连接数;并实时捕捉每个连接池的配置变化,当连 接池最小连接数减少时销毁连接释放资源,当连接池最小连接数增大时创建可用连接; 运用数据库存储每个连接池的配置信息,当配置信息发生变化时触发更新消息,实现 连接池随应用变化而改变大小的动态伸缩,当整个数据库系统因为应用特殊性或者业务改 变,致使某种应用的访问此段时间需要更多的连接来提升访问性能,增大最小连接数提高 连接复用率,或增大最大连接数使访问请求可建立更多的连接;当另一种应用最近一段时 间无访问请求,其对应的连接池中的连接长时间空闲造成资源浪费,减小最小连接数释放 一直存在的连接,或减小最大连接数让其他连接池可扩充更大的最大连接数。[0017]实施例2:在实施例1基础上,本实施例为一种基于连接池的多用户数据库访问高效率架构,所 述体系结构包括:数据库管理模块,多连接池管理模块,连接池配置数据管理模块,通信协 议模块,其中:数据库管理模块,是支撑业务系统的核心,接收用户的连接请求,供用户进行数据记录 的增、删、改、查访问操作;多连接池管理模块,负责对建立的连接池进行集中统一的管理,获取所有连接池的基 本信息,包括每个连接池的最小连接数和最大连接数,限制所有连接池的最大连接数总和, 以此来限制数据库应用系统创建的总连接数,防止无限制创建连接;并实时捕捉每个连接 池的配置变化,当连接池最小连接数减少时销毁连接释放资源,当连接池最小连接数增大 时创建可用连接;连接池配置数据管理模块,运用数据库存储每个连接池的配置信息,实现动态更新连 接池配置信息,当配置信息发生变化时触发更新消息给多连接池管理模块,实现连接池随 应用变化而改变大小的动态伸缩,当整个数据库系统因为应用特殊性或者业务改变,致使 某种应用的访问此段时间需要更多的连接来提升访问性能,此时可增大最小连接数提高连 接复用率,或增大最大连接数使访问请求可建立更多的连接;而如果另一种应用最近一段 时间无访问请求,其对应的连接池中的连接长时间空闲造成资源浪费,此时可减小最小连 接数释放一直存在的连接,或减小最大连接数让其他连接池可扩充更大的最大连接数; 通信协议模块,主要是负责定义多连接池管理模块与连接池配置数据管理模块两个模 块之间的通信协议,完成触发的动态更新连接池信息的传送,包括连接池的新增和销毁、连 接池配置信息的更改,实现连接池配置数据管理模块触发的更新消息的传送。[0018]实施例3:在实施例2的基础上,本实施例所述的连接池配置数据管理模块中运用的数据库为轻 量级的数据库MySQL。[0019]注:DBMS:数据库管理系统(database management system)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和 控制,以保证数据库的安全性和完整性。
【权利要求】
1.一种基于连接池的多用户数据库访问高效率优化方法,包括为不同应用建立独立的连接池,并集中管理多个连接池,提供一种动态连接池管理策略,能伸缩连接池大小,并能够根据应用需求的变化而变化,其特征在于:对建立的连接池进行集中统一的管理,获取所有连接池的基本信息,包括每个连接池的最小连接数和最大连接数,限制所有连接池的最大连接数总和,以此来限制数据库应用系统创建的总连接数;并实时捕捉每个连接池的配置变化,当连接池最小连接数减少时销毁连接释放资源,当连接池最小连接数增大时创建可用连接;运用数据库存储每个连接池的配置信息,当配置信息发生变化时触发更新消息,实现连接池随应用变化而改变大小的动态伸缩,当整个数据库系统因为应用特殊性或者业务改变,致使某种应用的访问此段时间需要更多的连接来提升访问性能,增大最小连接数提高连接复用率,或增大最大连接数使访问请求可建立更多的连接;当另一种应用最近一段时间无访问请求,其对应的连接池中的连接长时间空闲造成资源浪费,减小最小连接数释放一直存在的连接,或减小最大连接数让其他连接池可扩充更大的最大连接数。
2.一种基于连接池的多用户数据库访问高效率架构,其特征在于,所述体系结构包括: 数据库管理模块,多连接池管理模块,连 接池配置数据管理模块,通信协议模块,其中:数据库管理模块,是支撑业务系统的核心,接收用户的连接请求,供用户进行数据记录的增、删、改、查访问操作;多连接池管理模块,负责对建立的连接池进行集中统一的管理,获取所有连接池的基本信息,包括每个连接池的最小连接数和最大连接数,限制所有连接池的最大连接数总和, 以此来限制数据库应用系统创建的总连接数,防止无限制创建连接;并实时捕捉每个连接池的配置变化,当连接池最小连接数减少时销毁连接释放资源,当连接池最小连接数增大时创建可用连接;连接池配置数据管理模块,运用数据库存储每个连接池的配置信息,实现动态更新连接池配置信息,当配置信息发生变化时触发更新消息给多连接池管理模块,实现连接池随应用变化而改变大小的动态伸缩,当整个数据库系统因为应用特殊性或者业务改变,致使某种应用的访问此段时间需要更多的连接来提升访问性能,增大最小连接数提高连接复用率,或增大最大连接数使访问请求可建立更多的连接;而如果另一种应用最近一段时间无访问请求,其对应的连接池中的连接长时间空闲造成资源浪费,减小最小连接数释放一直存在的连接,或减小最大连接数让其他连接池可扩充更大的最大连接数;通信协议模块,主要是负责定义多连接池管理模块与连接池配置数据管理模块两个模块之间的通信协议,完成触发的动态更新连接池信息的传送,包括连接池的新增和销毁、连接池配置信息的更改,实现连接池配置数据管理模块触发的更新消息的传送。
3.根据权利要求2所述的基于连接池的多用户数据库访问高效率架构,其特征在于: 所述的连接池配置数据管理模块中运用的数据库为轻量级的数据库MySQL。
【文档编号】G06F17/30GK103605727SQ201310576710
【公开日】2014年2月26日 申请日期:2013年11月19日 优先权日:2013年11月19日
【发明者】刘粉粉 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1