针对SN架构的MPP数据库集群的数据库连接池管理方法及系统技术方案

技术编号:12910784 阅读:125 留言:0更新日期:2016-02-24 16:17
本发明专利技术实施例提供一种针对SN架构的MPP数据库集群的数据库连接池管理方法及系统,其中,所述方法包括:根据SN架构的MPP数据库集群的可连接节点信息初始化数据库连接池,生成缓存分区;根据应用程序所发起的连接数据请求,选取提供可用连接的缓存分区供所述应用程序连接;使所述缓存分区借出一个连接,并维护缓存分区的状态。本发明专利技术实施例能够针对SN架构的MPP数据库集群对数据库连接池进行有效管理,可以通过实现标准接口与现有应用无缝迁移,且相比传统数据库连接池性能有大幅提升,实现创建连接时的负载均衡,且能够自定义负载均衡策略。并高效解决基于SN架构大规模集群节点失效场景下,连接池释放失效连接问题。

【技术实现步骤摘要】

本专利技术属于数据库
,尤其是涉及一种针对SN架构的MPP数据库集群的数据库连接池管理方法及系统
技术介绍
数据库连接池是一种采用池化管理数据库连接资源,提高应用系统对数据库访问性能的技术。连接池的主要功能是负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个。现有技术中,通过释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。采用数据库连接池,可有效避免频繁的数据库连接的创建和关闭等耗时操作,能够明显提高对数据库访问的性能。在大规模数据密集型系统中,数据通常分布在由多个相互独立的数据库组成的无共享结构的数据库集群系统中,基于SN(SHARED-NOTHING)架构的MPP(Massively ParallelProcessing)数据库集群就是其中的一种,在集群系统中,数据的检索和查询往往涉及多个数据库中的数据的协同处理。数据库连接池是提高单个数据库实例连接管理和数据访问的有效途径。然而,在基于SN(SHARED-NOTHING)架构的MPP(Massively ParallelProcessing)数据库集群中单个数据库连接池往往无法满足对多个数据库的协同访问。
技术实现思路
有鉴于此,本专利技术实施例提供了一种针对SN架构的MPP数据库集群的数据库连接池管理方法及系统,以针对SN架构的MPP数据库集群实现高效的具有负载均衡高可用的数据库连接缓存的目的。第一方面,本专利技术实施例提供了一种针对SN架构的MPP数据库集群的数据库连接池管理方法,所述方法包括:根据SN架构的MPP数据库集群的可连接节点信息初始化数据库连接池,生成缓存分区;根据应用程序所发起的连接数据请求,选取提供可用连接的缓存分区供所述应用程序连接;使所述缓存分区借出一个连接,并维护缓存分区的状态。进一步的,在使所述缓存分区借出一个连接,并维护缓存分区的状态之后,还包括:主动感知或周期探测数据库集群各个节点的状态,在节点失效时,将失效节点对应的缓存分区设置为不可用状态并释放当前缓存分区的所有连接。进一步的,在将失效节点对应的缓存分区设置为不可用状态并释放当前缓存分区的所有连接后,还包括:在失效节点重新回到集群中后,连接池方法的缓存管理模块重新把对应的缓存分区状态设置为可用状态。进一步的,所述根据应用程序所发起的连接数据请求,选取提供可用连接的缓存分区供所述应用程序连接,包括:根据应用程序所发起的连接数据请求,选取借出连接数最少的缓存分区供所述应用程序连接。更进一步的,所述维护缓存分区的状态,包括:根据最大连接数、最小连接数、最大空闲连接数、最小空闲连接数、最大空闲时间和初始化连接数维护当前缓存分区的功能。第二方面,本专利技术实施例还提供了一种针对SN架构的MPP数据库集群的数据库连接池管理系统,所述系统包括:缓存分区生成模块,用于根据SN架构的MPP数据库集群的可连接节点信息初始化数据库连接池,生成缓存分区;缓存分区选取模块,用于根据应用程序所发起的连接数据请求,选取提供可用连接的缓存分区供所述应用程序连接;状态维护模块,用于使所述缓存分区借出一个连接,并维护缓存分区的状态。 进一步的,所述系统还包括:连接释放模块,用于主动感知或周期探测数据库集群各个节点的状态,在节点失效时,将失效节点对应的缓存分区设置为不可用状态并释放当前缓存分区的所有连接。进一步的,所述系统还包括:可用状态设置模块,用于在失效节点重新回到集群中后,连接池方法的缓存管理模块重新把对应的缓存分区状态设置为可用状态。进一步的,所述缓存分区选取模块,用于:根据应用程序所发起的连接数据请求,选取借出连接数最少的缓存分区供所述应用程序连接。更进一步的,所述状态维护模块用于:根据最大连接数、最小连接数、最大空闲连接数、最小空闲连接数、最大空闲时间和初始化连接数维护当前缓存分区的功能。采用本专利技术实施例所提供的技术方案,能够针对SN架构的MPP数据库集群对数据库连接池进行有效管理,可以通过实现标准接口与现有应用无缝迀移,且相比传统数据库连接池性能有大幅提升,实现创建连接时的负载均衡,且能够自定义负载均衡策略。并高效解决基于SN架构大规模集群节点失效场景下,连接池释放失效连接问题。【附图说明】通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1是本专利技术第一实施例所提供的针对SN架构的MPP数据库集群的数据库连接池管理方法的流程示意图;图2是本专利技术第二实施例所提供的针对SN架构的MPP数据库集群的数据库连接池管理方法的流程示意图;图3是本专利技术第二实施例所提供的针对SN架构的MPP数据库集群的数据库连接池管理方法中总体功能架构示意图;图4是本专利技术第二实施例所提供的针对SN架构的MPP数据库集群的数据库连接池管理方法中连接池方法功能分解示意图;图5是本专利技术第三实施例提供的针对SN架构的MPP数据库集群的数据库连接池管理系统的结构示意图。【具体实施方式】下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。图1示出本专利技术的第一实施例。图1是本专利技术第一实施例提供的针对SN架构的MPP数据库集群的数据库连接池管理方法的流程示意图,本实施例的方法由针对SN架构的MPP数据库集群的数据库连接池管理系统来执行,可通过硬件和软件的方式实现,并集成于数据库集群中。参见图1,所述针对SN架构的MPP数据库集群的数据库连接池管理方法,包括:步骤S101,根据SN架构的MPP数据库集群的可连接节点信息初始化数据库连接池,生成缓存分区。在使用数据库连接池之前,需要对数据库连接池之进行初始化配置。具体的,需要根据SN架构的MPP数据库集群的节点进行配置。示例性的,所述据SN架构的MPP数据库集群为4节点数据库集群,每个节点的IP地址为:192.168.9.5,192.168.9.6,192.168.9.7,192.168.9.8。假设4个数据库节点都可以作为应用的接入点。配置数据库集群连接池对应的4个数据库集群的IP ;初始化大小为8 ;最大空闲连接数40 ;最小空闲连接数12 ;负载均衡策略最小连接数优先;连接池根据配置的信息初始化4个缓存分区,缓存分区I?4分别对应节点I?4。步骤S102,根据应用程序所发起的连接数据请求,选取提供可用连接的缓存分区供所述应用程序连接。应用程序需要访问根据据SN架构的MPP数据库集群时,应用程序向连接池申请一个连接,发出申请缓存分区请求。数据库连接池根据申请缓存分区请求,查看缓存分区的状态,寻找可用状态的缓存分区供应用程序连接。如果缓存分区都是可用状态,查询每个缓存分区的借出连接,从缓存分区中找一个借出连接最少的一个缓存分区,并将所述借出连接最少的一个缓存分区与应用程序建立连接。步骤S103,使所述缓存分区借出一个连接,并维护缓存分区的状态。在确定提供可用连接的缓存分区后,将所述缓存分区与应用程序建立一个借出连接,并记录借出连接的信息。并根据护缓存分区的状态,例如:根据最大连接数本文档来自技高网...

【技术保护点】
一种针对SN架构的MPP数据库集群的数据库连接池管理方法,其特征在于,所述方法包括:根据SN架构的MPP数据库集群的可连接节点信息初始化数据库连接池,生成缓存分区;根据应用程序所发起的连接数据请求,选取提供可用连接的缓存分区供所述应用程序连接;使所述缓存分区借出一个连接,并维护缓存分区的状态。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵伟武新田志敏杨伟伟
申请(专利权)人:天津南大通用数据技术股份有限公司
类型:发明
国别省市:天津;12

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

1