[发明专利]基于连接池的多用户数据库访问高效率优化方法及系统有效
申请号: | 201310576710.4 | 申请日: | 2013-11-19 |
公开(公告)号: | CN103605727B | 公开(公告)日: | 2017-07-28 |
发明(设计)人: | 刘粉粉 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 连接 多用户 数据库 访问 高效率 优化 方法 架构 | ||
技术领域
本发明涉及数据库领域,具体涉及数据库系统的多用户访问时的高效率架构。
技术背景
访问数据库创建“连接”是一个很消耗资源的操作,对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。所以引入了连接池技术,把所有用户访问数据库耗时的操作放到一个缓冲区,即所谓的连接池,以此提高效率,同时连接池的使用策略也会影响到整个数据库系统的访问性能。
数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。
目前,数据库连接池的配置策略大多是静态的,不能根据应用需求的变化而变化,无用的连接池不能被及时地被垃圾收集,浪费部分内存,连接池在运行当中的资源调度管理策略还不能适应应用的需求,例如不能适时地调整数据库连接池的容量;而且对于多类型应用的情况,比如数据库增、删、改、查访问与ETL(抽取、转换、加载)操作,在一个连接池中竞争抢占连接,相互之间干扰了业务,不能保证重要的业务高性能运转。
发明内容
本发明要解决的技术问题是:本发明就是解决数据库连接池大小不能伸缩,不能根据应用而动态改变的问题,并发明多连接池集中管理策略应对多类型应用访问数据库时建立多连接池的情况。
本发明所采用的技术方案为:
一种基于连接池的多用户数据库访问高效率优化方法,为不同应用建立独立的连接池,并集中管理多个连接池,提供一种动态连接池管理策略,能伸缩连接池大小,并能够根据应用需求的变化而变化,其中:对建立的连接池进行集中统一的管理,获取所有连接池的基本信息,包括每个连接池的最小连接数和最大连接数,限制所有连接池的最大连接数总和,以此来限制数据库应用系统创建的总连接数;并实时捕捉每个连接池的配置变化,当连接池最小连接数减少时销毁连接释放资源,当连接池最小连接数增大时创建可用连接;并运用数据库存储每个连接池的配置信息,当配置信息发生变化时触发更新消息,实现连接池随应用变化而改变大小的动态伸缩,当整个数据库系统因为应用特殊性或者业务改变,致使某种应用的访问此段时间需要更多的连接来提升访问性能,此时可增大最小连接数提高连接复用率,或增大最大连接数使访问请求可建立更多的连接;而如果另一种应用最近一段时间无访问请求,其对应的连接池中的连接长时间空闲造成资源浪费,此时可减小最小连接数释放一直存在的连接,或减小最大连接数让其他连接池可扩充更大的最大连接数。
一种基于连接池的多用户数据库访问系统,其中,所述系统的结构包括:数据库管理模块,多连接池管理模块,连接池配置数据管理模块,通信协议模块, 其中:
数据库管理模块,是支撑业务系统的核心,接收用户的连接请求,供用户进行数据记录的增、删、改、查访问操作。
本发明适用于可实现连接池功能的传统关系型数据库RDBMS以及新型的数据库(比如列数据库、NoSQL数据库),适用于单机数据库,亦可适用于集群分布式数据库系统。
多连接池管理模块,负责对建立的连接池进行集中统一的管理,获取所有连接池的基本信息,包括每个连接池的最小连接数和最大连接数,限制所有连接池的最大连接数总和,以此来限制数据库应用系统创建的总连接数,防止无限制创建连接;并实时捕捉每个连接池的配置变化,当连接池最小连接数减少时销毁连接释放资源,当连接池最小连接数增大时创建可用连接。而真正的连接创建、管理和销毁,依然由原连接池功能模块来实现。
连接池配置数据管理模块,运用数据库存储每个连接池的配置信息,实现动态更新连接池配置信息,当配置信息发生变化时触发更新消息给多连接池管理模块,实现连接池随应用变化而改变大小的动态伸缩,当整个数据库系统因为应用特殊性或者业务改变,致使某种应用的访问此段时间需要更多的连接来提升访问性能,此时增大最小连接数提高连接复用率,或增大最大连接数使访问请求可建立更多的连接;当另一种应用最近一段时间无访问请求,其对应的连接池中的连接长时间空闲造成资源浪费,此时可减小最小连接数释放一直存在的连接,或减小最大连接数让其他连接池可扩充更大的最大连接数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310576710.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种棘胸蛙的养殖方法
- 下一篇:一种酸处理式紫菜全浮动养殖方法