数据库连接动态分配方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:39193549 阅读:13 留言:0更新日期:2023-10-27 08:40
本发明专利技术公开了一种数据库连接动态分配方法、装置、计算机设备及存储介质,涉及计算机网络技术领域,该方法包括获取距离当前时刻预设时间段内,目标数据库的目标接口实例的查询连接次数和查询连接成功率;获取上一时刻的所述目标接口实例的接口权重值,所述当前时刻与所述上一时刻的差值为所述目标数据库的轮询查询数据周期;根据所述查询连接次数和所述查询连接成功率对所述上一时刻的所述接口权重值进行修改,得到当前时刻所述目标接口实例的接口权重值;根据所述接口权重值动态分配连接池中当前时刻所述目标接口实例的数据库连接。本发明专利技术能够使得连接池中的数据库连接得到最大限度的利用。限度的利用。限度的利用。

【技术实现步骤摘要】
数据库连接动态分配方法、装置、计算机设备及存储介质


[0001]本专利技术涉及计算机网络
,具体涉及一种数据库连接动态分配方法、装置、计算机设备及存储介质。

技术介绍

[0002]当前,为充分利用数据库资源以提供业务支持,多采用数据源连接池技术。对于数据库连接池的配置,通常通过预先输入配置参数实现。
[0003]然而,由于配置参数在信息化系统运行期间保持不变,导致无法很好地适应实际使用过程中不断变化的需要。例如C3P0连接池(一个开源的JDBC连接池),建立连接池实例后根据配置初始化固定数量的连接数,提供给程序连接数据库实例使用。

技术实现思路

[0004]针对现有技术中存在的缺陷,本专利技术的目的在于提供一种数据库连接动态分配方法、装置、计算机设备及存储介质,能够使得连接池中的数据库连接得到最大限度的利用。
[0005]为达到以上目的,本专利技术提供的一种数据库连接动态分配方法,具体包括以下步骤:
[0006]获取距离当前时刻预设时间段内,目标数据库的目标接口实例的查询连接次数和查询连接成功率;
[0007]获取上一时刻的所述目标接口实例的接口权重值,所述当前时刻与所述上一时刻的差值为所述目标数据库的轮询查询数据周期;
[0008]根据所述查询连接次数和所述查询连接成功率对所述上一时刻的所述接口权重值进行修改,得到当前时刻所述目标接口实例的接口权重值;
[0009]根据所述接口权重值动态分配连接池中当前时刻所述目标接口实例的数据库连接。
[0010]在上述技术方案的基础上,在获取距离当前时刻预设时间段内,目标数据库的目标接口实例的查询连接次数和查询连接成功率之前,还包括:
[0011]获取各数据库的环境运行信息和储存数据信息;
[0012]基于预设的评分策略,对所述各数据库的所述环境运行信息、所述储存数据信息进行评分加权,得到所述各数据库的接口实例初始时刻的接口权重值。
[0013]在上述技术方案的基础上,在根据所述接口权重值动态分配连接池中当前时刻所述目标接口实例的数据库连接之后,还包括:
[0014]获取所述连接池中的空闲的数据库连接的连接数量,所述空闲的数据库连接为所述连接池中未分配给数据库的数据库连接;
[0015]若所述连接数量小于等于第一预设阈值,则释放部分分配给各数据库的数据库连接;
[0016]若所述连接数量大于第一预设阈值小于第二预设阈值,则保持当前的空闲的数据
库连接的连接数量;
[0017]若所述连接数量大于等于第二预设阈值,则将所述连接池中部分空闲的数据库分配给各数据库。
[0018]在上述技术方案的基础上,所述若所述连接数量小于等于第一预设阈值,则释放部分分配给各数据库的数据库连接,具体步骤包括:
[0019]若所述连接数量小于等于第一预设阈值,则获取各数据库的接口实例当前时刻的接口权重值;
[0020]根据所述各数据库的接口实例当前时刻的接口权重值确定小于权重平均值的第一类数据库;
[0021]获取所述第一类数据库的数据库连接的连接使用率;
[0022]根据所述第一类数据库的连接使用率,释放部分第一类数据库中的部分数据库连接。
[0023]在上述技术方案的基础上,所述若所述连接数量大于等于第二预设阈值,则将所述连接池中部分空闲的数据库分配给各数据库,具体步骤包括:
[0024]若所述连接数量大于等于第二预设阈值,则获取各数据库的接口实例当前时刻的接口权重值;
[0025]根据所述各数据库的接口实例当前时刻的接口权重值确定大于等于权重平均值的第二类数据库;
[0026]获取所述第二类数据库的数据库连接的连接使用率;
[0027]根据所述第二类数据库的连接使用率,将所述连接池中部分空闲的数据库分配给部分所述第二类数据库。
[0028]在上述技术方案的基础上,在根据所述接口权重值动态分配连接池中当前时刻所述目标接口实例的数据库连接之后,还包括:
[0029]将所述预设时间段划分为若干个时间分段;
[0030]根据所述查询连接次数计算各时间分段内所述目标接口实例的查询连接次数;
[0031]获取所述各时间分段中与当前时刻相同时间属性的目标时间分段;
[0032]根据所述目标时间分段的查询连接次数对当前时刻所述目标接口实例的数据库连接进行调整,得到当前时刻所述目标接口实例修正后的数据库连接。
[0033]在上述技术方案的基础上,在根据所述接口权重值动态分配连接池中当前时刻所述目标接口实例的数据库连接之后,还包括:
[0034]获取各数据库的监控项运行参数,所述运行参数包括CPU使用率、内存利用率、连接状态、磁盘使用率、日志空间使用率;
[0035]若任一监控项运行参数超过对应的预设监控阈值,则进行告警。
[0036]本专利技术提供的一种数据库连接动态分配装置,包括:
[0037]信息获取模块,用于获取距离当前时刻预设时间段内,目标数据库的目标接口实例的查询连接次数和查询连接成功率;获取上一时刻的所述目标接口实例的接口权重值,所述当前时刻与所述上一时刻的差值为所述目标数据库的轮询查询数据周期;
[0038]权重调整模块,与所述信息获取模块通讯连接,用于根据所述查询连接次数和所述查询连接成功率对所述上一时刻的所述接口权重值进行修改,得到当前时刻所述目标接
口实例的接口权重值;
[0039]连接调整模块,与所述权重调整模块通讯连接,用于根据所述接口权重值动态分配连接池中当前时刻所述目标接口实例的数据库连接。
[0040]本专利技术提供的一种计算机设备,所述计算机设备包括:
[0041]一个或多个处理器;
[0042]存储器;以及一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现上述所述的数据库连接动态分配方法。
[0043]本专利技术提供的一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器进行加载,以执行上述所述的数据库连接动态分配方法中的步骤。
[0044]与现有技术相比,本专利技术的优点在于:每隔轮询查询数据周期基于接口实例的查询连接次数和查询连接成功率调整目标接口实例的接口权重值,基于调整之后的接口权重值重新动态分配目标接口实例的数据库连接,使得连接池中的数据库连接得到最大限度的利用。
附图说明
[0045]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0046]图1是本申请实施例中数据库连接动态分配方法的流程示意图;
[0047]图2是本申请另一实施例中数据库连接动态分配方法的流程示意图;
[0048]图3是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库连接动态分配方法,其特征在于,具体包括以下步骤:获取距离当前时刻预设时间段内,目标数据库的目标接口实例的查询连接次数和查询连接成功率;获取上一时刻的所述目标接口实例的接口权重值,所述当前时刻与所述上一时刻的差值为所述目标数据库的轮询查询数据周期;根据所述查询连接次数和所述查询连接成功率对所述上一时刻的所述接口权重值进行修改,得到当前时刻所述目标接口实例的接口权重值;根据所述接口权重值动态分配连接池中当前时刻所述目标接口实例的数据库连接。2.如权利要求1所述的一种数据库连接动态分配方法,其特征在于,在获取距离当前时刻预设时间段内,目标数据库的目标接口实例的查询连接次数和查询连接成功率之前,还包括:获取各数据库的环境运行信息和储存数据信息;基于预设的评分策略,对所述各数据库的所述环境运行信息、所述储存数据信息进行评分加权,得到所述各数据库的接口实例初始时刻的接口权重值。3.如权利要求1所述的一种数据库连接动态分配方法,其特征在于,在根据所述接口权重值动态分配连接池中当前时刻所述目标接口实例的数据库连接之后,还包括:获取所述连接池中的空闲的数据库连接的连接数量,所述空闲的数据库连接为所述连接池中未分配给数据库的数据库连接;若所述连接数量小于等于第一预设阈值,则释放部分分配给各数据库的数据库连接;若所述连接数量大于第一预设阈值小于第二预设阈值,则保持当前的空闲的数据库连接的连接数量;若所述连接数量大于等于第二预设阈值,则将所述连接池中部分空闲的数据库分配给各数据库。4.如权利要求3所述的一种数据库连接动态分配方法,其特征在于,所述若所述连接数量小于等于第一预设阈值,则释放部分分配给各数据库的数据库连接,具体步骤包括:若所述连接数量小于等于第一预设阈值,则获取各数据库的接口实例当前时刻的接口权重值;根据所述各数据库的接口实例当前时刻的接口权重值确定小于权重平均值的第一类数据库;获取所述第一类数据库的数据库连接的连接使用率;根据所述第一类数据库的连接使用率,释放部分第一类数据库中的部分数据库连接。5.如权利要求3所述的一种数据库连接动态分配方法,其特征在于,所述若所述连接数量大于等于第二预设阈值,则将所述连接池中部分空闲的数据库分配给各数据库,具体步骤包括:若所述连接数量大于等于第二预设阈值,则获取各数据库的接口实例当前时刻的接口权重...

【专利技术属性】
技术研发人员:李成伟李汉民张帧
申请(专利权)人:武汉大学中南医院
类型:发明
国别省市:

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

1