数据库的连接池转换方法、装置、设备及存储介质制造方法及图纸

技术编号:29097472 阅读:20 留言:0更新日期:2021-06-30 10:08
本发明专利技术涉及数据连接领域,公开了一种数据库的连接池转换方法、装置、设备及存储介质。该方法包括:接收所述数据节点集群中第一数据节点的连接请求;判断所述第一数据节点是否存在会话绑定设置;若否,则基于预置全局连接池,将所述第一数据节点连接至所述连接请求对应的第二数据节点;若是,则根据预置特定连接算法,将所述第一数据节点连接至所述连接请求对应的第二数据节点。的第二数据节点。的第二数据节点。

【技术实现步骤摘要】
数据库的连接池转换方法、装置、设备及存储介质


[0001]本专利技术涉及数据连接领域,尤其涉及一种数据库的连接池转换方法、装置、设备及存储介质。

技术介绍

[0002]在MPP分布式数据库中,通常由协调节点和一个数据节点集群组成,协调节点负责客户端接入,每个客户端连接协调节点后都会创建一个会话。会话维护则会话信息,负责接收客户端的SQL、生成执行计划并下发到数据节点执行。为了提升性能,协调节点往往采用连接池的方式来管理与数据节点集群之间的连接。在普通连接池中,连接与会话之间是没有关联关系的,但是对于某些操作和事务,需要保证一个会话事务中所有操作都在相同的一批节点连接中执行。这些管理操作普通连接池无法提供,需要上层自己管理连接。但是,MPP分布式数据库中协调节点需要很频繁的与节点集群之间进行通信,通常情况下都使用连接池的方式来管理与节点之间的连接以提升性能。普通连接池通常情况下都没办法感知会话与连接之间的关系。某些操作和事务需要保证会话中所有操作都在相同一批节点连接执行的逻辑,不能每次执行都从连接池中获取链接,因为每次获取到的都可能是不同的连接。通常情况下需要在事务开启时在会话上下文中保存所有执行的节点连接对象,之后的操作都通过这些节点连接来执行,直到事务提交或终止才可归还这部分连接到连接池中。
[0003]在事务的执行过程中,还存在一部分非事务主流程的操作,比如数据重分布、日志记录等,这些操作通常需要与事务主流程分离开,不能在会话中保存的这批节点连接中执行,而是需要通过从连接池中获取连接来执行。上层繁琐的连接管理带来系统极大的负担,因此需要上层自己处理连接与会话的关联关系并根据不同的逻辑选择不同的执行方式的技术。

技术实现思路

[0004]本专利技术的主要目的在于解决数据连接池中在执行会话事务任务进程中连接繁琐导致服务器资源占用过大的技术问题。
[0005]本专利技术第一方面提供了一种数据库的连接池转换方法,包括步骤:
[0006]接收所述数据节点集群中第一数据节点的连接请求;
[0007]判断所述第一数据节点是否存在会话绑定设置;
[0008]若否,则基于预置全局连接池,将所述第一数据节点连接至所述连接请求对应的第二数据节点;
[0009]若是,则根据预置特定连接算法,将所述第一数据节点连接至所述连接请求对应的第二数据节点。
[0010]可选的,在本专利技术第一方面的第一种实现方式中,所述判断所述第一数据节点是否存在会话绑定设置包括:
[0011]根据预置传输协议和所述连接请求,生成空的ThreadLocalPool;
[0012]判断所述第一数据节点的连接请求是否设置为会话绑定设置。
[0013]可选的,在本专利技术第一方面的第二种实现方式中,所述基于预置全局连接池,将所述第一数据节点连接至所述连接请求对应的第二数据节点包括:
[0014]创建所述第一数据节点与预置全局连接池的第一链路连接;
[0015]创建所述连接请求对应第二数据节点与所述全局连接池的第二链路连接;
[0016]根据所述第一链路连接与所述第二链路连接,所述第一数据节点连接至所述连接请求对应的第二数据节点,并清空所述ThreadLocalPool。
[0017]可选的,在本专利技术第一方面的第三种实现方式中,所述根据预置特定连接算法,将所述第一数据节点连接至所述连接请求对应的第二数据节点包括:
[0018]建立所述第一数据节点与所述ThreadLocalPool的第三链路连接;
[0019]建立所述连接请求对应第二数据节点与所述ThreadLocalPool的第四链路连接;
[0020]根据所述第三链路连接与所述第四链路连接,进行所述第一数据节点与所述第二数据节点传输测试处理,得到连接测试结果;
[0021]根据所述连接测试结果,将所述第一数据节点连接至所述连接请求对应的第二数据节点。
[0022]可选的,在本专利技术第一方面的第四种实现方式中,所述根据所述连接测试结果,将所述第一数据节点连接至所述连接请求对应的第二数据节点包括:
[0023]判断所述连接测试结果是否为连接通畅;
[0024]若为连接通畅,则通过所述第三链路连接与所述第四链路连接,确立所述第一数据与所述第二数据节点的连接拓扑结构;
[0025]若不为连接通畅,则创建所述第一数据节点与预置全局连接池的第一链路连接,以及创建所述连接请求对应第二数据节点与所述全局连接池的第二链路连接;
[0026]根据所述第一链路连接与所述第二链路连接,所述第一数据节点连接至所述连接请求对应的第二数据节点,并清空所述ThreadLocalPool。
[0027]可选的,在本专利技术第一方面的第五种实现方式中,在所述通过所述第三链路连接与所述第四链路连接,确立所述第一数据与所述第二数据节点的连接拓扑结构之后,还包括:
[0028]接收所述第一数据的连接断开请求;
[0029]判断所述连接断开请求是否设置为归还至所述ThreadLocalPool;
[0030]若是,则删除所述第三链路连接,并保存所述第四链路连接和所述ThreadLocalPool;
[0031]若否,则链路链路删除所述第三链路连接和所述第四链路连接,清空所述ThreadLocalPool,并将所述连接拓扑结构保存至所述全局连接池中。
[0032]可选的,在本专利技术第一方面的第六种实现方式中,在所述接收所述数据节点集群中第一数据节点的连接请求之后,在所述判断所述第一数据节点是否存在会话绑定设置之前,还包括:
[0033]判断所述第一数据节点在预置时间区间中的请求次数是否超过访问阈值;
[0034]若是,则停止执行所述连接请求;
[0035]若否,则执行所述连接请求。
[0036]本专利技术第二方面提供了一种数据库的连接池转换装置,包括:
[0037]接收模块,用于接收所述数据节点集群中第一数据节点的连接请求;
[0038]判断模块,用于判断所述第一数据节点是否存在会话绑定设置;
[0039]第一连接模块,用于若否,则基于预置全局连接池,将所述第一数据节点连接至所述连接请求对应的第二数据节点;
[0040]第二连接模块,用于若是,则根据预置特定连接算法,将所述第一数据节点连接至所述连接请求对应的第二数据节点。
[0041]本专利技术第三方面提供了一种数据库的连接池转换设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据库的连接池转换设备执行上述的数据库的连接池转换方法。
[0042]本专利技术的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的数据库的连接池转换方法。
[0043]在本专利技术实施例中,使用threa本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库的连接池转换方法,所述数据库的连接池转换方法应用于数据节点集群,其特征在于,包括步骤:接收所述数据节点集群中第一数据节点的连接请求;判断所述第一数据节点是否存在会话绑定设置;若否,则基于预置全局连接池,将所述第一数据节点连接至所述连接请求对应的第二数据节点;若是,则根据预置特定连接算法,将所述第一数据节点连接至所述连接请求对应的第二数据节点。2.根据权利要求1所述的数据库的连接池转换方法,其特征在于,所述判断所述第一数据节点是否存在会话绑定设置包括:根据预置传输协议和所述连接请求,生成空的ThreadLocalPool;判断所述第一数据节点的连接请求是否设置为会话绑定设置。3.根据权利要求2所述的数据库的连接池转换方法,其特征在于,所述基于预置全局连接池,将所述第一数据节点连接至所述连接请求对应的第二数据节点包括:创建所述第一数据节点与预置全局连接池的第一链路连接;创建所述连接请求对应第二数据节点与所述全局连接池的第二链路连接;根据所述第一链路连接与所述第二链路连接,所述第一数据节点连接至所述连接请求对应的第二数据节点,并清空所述ThreadLocalPool。4.根据权利要求2、3中任一项所述的数据库的连接池转换方法,其特征在于,所述根据预置特定连接算法,将所述第一数据节点连接至所述连接请求对应的第二数据节点包括:建立所述第一数据节点与所述ThreadLocalPool的第三链路连接;建立所述连接请求对应第二数据节点与所述ThreadLocalPool的第四链路连接;根据所述第三链路连接与所述第四链路连接,进行所述第一数据节点与所述第二数据节点传输测试处理,得到连接测试结果;根据所述连接测试结果,将所述第一数据节点连接至所述连接请求对应的第二数据节点。5.根据权利要求4所述的数据库的连接池转换方法,其特征在于,所述根据所述连接测试结果,将所述第一数据节点连接至所述连接请求对应的第二数据节点包括:判断所述连接测试结果是否为连接通畅;若为连接通畅,则通过所述第三链路连接与所述第四链路连接,确立所述第一数据与所述第二数据节点的连接拓扑结构;若不为连接通畅,则创建所述第一数据节点与预置全局连接池的第一链路连接,以及创建所述连接请求对应第二数据节点与所述全局连接...

【专利技术属性】
技术研发人员:黄李强熊志强
申请(专利权)人:深圳市汉云科技有限公司
类型:发明
国别省市:

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

1