一种数据库连接数异常检测、上限调整和用量预测的系统技术方案

技术编号:37384099 阅读:12 留言:0更新日期:2023-04-27 07:24
本发明专利技术公开了一种数据库连接数异常检测、上限调整和用量预测的系统,包括M1数据预处理模块:用于读取数据库对应的连接数并写入M2数据存储模块;M2数据存储模块:用于接收来自其他模块的数据;M3连接数阈值计算模块:用于计算观测连接数上限阈值、观测连接数下限阈值;M4观测连接数上限阈值、观测连接数下限阈值,用于发送告警信息;M5设计连接数阈值动态调整模块:用于进行连接数调整;M6连接数容量预测模块:对未来设计连接数上限阈值进行预测。本发明专利技术能够实现对于数据库连接池的监控、调配和预测。预测。预测。

【技术实现步骤摘要】
一种数据库连接数异常检测、上限调整和用量预测的系统


[0001]本专利技术涉及一种用于数据存储
的数据库连接数异常检测、上限调整和用量预测的系统。

技术介绍

[0002]当前已经存在一种数据库连接池异常检测方法、其方法的步骤包括:监听数据库连接获取请求;计算数据库连接请求的平均连接耗时和标准差,通过平均耗时和标准差来确定数据库连接池的获取连接耗时异常阈值;通过比较当前数据库连接获取请求的获取连接耗时与数据库连接池的获取连接耗时异常阈值进行比较,来监测数据连接池的异常。其中一种实施步骤请参阅图1。
[0003]上述方法针对数据库连接池中建立连接所消耗时间长度进行观测,用建立连接所消耗时间长度表征数据库的性能。在生产环境中,能够体现数据库性能的因素不仅包括建立连所消耗时间长度,数据库平台会因为连接池耗尽造成数据库拒绝所有新的连接请求,从而造成数据库平台提供的服务无法访问,在这种情况下,建立连接所消耗时间长度可能并不会超过阈值,上述方法不能检测这种情况。且这种方法只能对已经发生的告警情况进行检测,无法预测未来可能发生告警的时间点。
[0004]在当前生产环境下,单个数据库实例中对于数据库连接池的监控手段,没有提出针对某个数据库实例中各个数据库连接数如何分配的可行性方案。无法解决数据库实例中连接数资源合理化分配的问题。也无法对数据库实例中未来每个数据库连接数的用量做出预测。

技术实现思路

[0005]本专利技术的目的是为了克服现有技术的不足,提供一种数据库连接数异常检测、上限调整和用量预测的系统,能够实现对于数据库连接池的监控、调配和预测。
[0006]实现上述目的的一种技术方案是:一种数据库连接数异常检测、上限调整和用量预测的系统,包括如下模块:
[0007]M1数据预处理模块:对于接入本系统的数据库实例,每隔1分钟读取1次数据库实例中每个数据库对应的连接数,并以时间戳、数据库实例名

数据库名、已使用连接数作为一条“数据库连接数”记录写入到本系统的M2数据存储模块中的“数据库连接数表”;
[0008]M2数据存储模块:接收来自其他模块的数据,保留最近N天,超过N天的部分自动清理;
[0009]M3连接数阈值计算模块:对于每一个数据库,定义“设计连接数上限阈值”、“设计连接数下限阈值”、“观测连接数上限阈值”和“观测连接数下限阈值”;在初始状态下,对于一个数据库,“设计连接数上限阈值”等于“观测连接数上限阈值”;“设计连接数下限阈值”等于“观测连接数下限阈值”;
[0010]用集合A={a0,a1,

,a
n
}表示某一数据库实例中的所有数据库,对于一个数据库
实例,设计连接数上限阈值为T
u
,初始状态下,每个数据库的设计连接数上限阈值为
[0011]假设某个数据库近N天“数据库连接数”记录中第i条记录的“已使用连接数”字段值为x
i
,可计算出这个数据库已使用连接数平均值和已使用连接数标准差用已使用连接数平均值和已使用连接数标准差之和作为观测连接数上限阈值用平均值减去标准差作为观测连接数下限阈值将时间戳、数据库实例名

数据库名、观测连接数上限阈值、观测连接数下限阈值作为一条记录写入到M2数据存储模块中的“数据库观测连接数阈值表”;
[0012]当某一个数据库的观测连接数上限阈值高于其设计连接数上限阈值并持续3个采样周期的时候发送应用级别告警至M4告警模块;当某一个数据库的观测连接数下限阈值低于其设计连接数下限阈值并持续3个采样周期的时候发送应用级别告警至M4告警模块;
[0013]M4告警模块:定义集群管理员和各应用管理员,将集群级别告警发送至集群管理员,将应用级别告警发送至应用管理员;
[0014]M5设计连接数阈值动态调整模块:限定设计连接数上限阈值动态调整步长
[0015]假设数据库实例接入本系统并初始化时t=0,此时
[0016]在某一时刻t
i
(t
i
>0),数据库a
x
的观测连接数上限阈值为当时,从其余数据库的观测连接数上限阈值中找到最小值如果且且那么判定可以执行阈值动态调整:将增加δ,同时将减少δ;
[0017]对于设计连接数上限阈值发生变动的数据库,将时间戳、数据库实例名

数据库名、设计连接数上限阈值写入M2数据存储模块中的“数据库连接数阈值表”;
[0018]否则判定不可以执行阈值动态调整,发送集群级别告警至告警模块;
[0019]M6连接数容量预测模块:每天对于每一个数据库选取最近N天的观测连接数上限阈值,用线性回归算法计算未来N天每一天的设计连接数上限阈值,将预测的每一个数据库、日期、设计连接数上限阈值作为一条记录写入M2数据存储模块;对未来N天内每一个数据库的连接数上限阈值进行图形化展示。
[0020]进一步的,N为14天。
[0021]进一步的,M1数据预处理模块支持不同种类数据库实例对接,经处理后,将不同类型的数据库实例中每个数据库的连接数统一格式。
[0022]本专利技术的一种数据库连接数异常检测、上限调整和用量预测的系统,包括:将不同类型的数据库实例中每个数据库的连接数统一格式,根据数据库集群的计算资源配置(内存、CPU数量)预先计算数据库实例中计划承载的数据库数量和数据库连接数总容量;用连接数总容量除以计划承载数据库数量得到单个数据库计划分配的初始连接数;在连接数阈
值计算模块中对于每一个数据库,定义“设计连接数上限阈值”、“设计连接数下限阈值”、“观测连接数上限阈值”和“观测连接数下限阈值”。对于每个数据库,对“观测连接数上限阈值”和“观测连接数下限阈值”进行监控,可触发应用级别告警。在设计连接数阈值动态调整模块中实现对数据库实例中每个数据库设计连接数上限阈值进行动态调整;使用机器学习中的线性回归方法对未来14天每个数据库的“观测连接数上限阈值”进行预测,并进行可视化展示。通过本系统和本文提出的方法,可以实现对数据库实例中每个数据库的连接数进行监控、动态调整和预测,主要可以解决:1)因数据库实例以及数据库的连接数资源耗尽造成数据库服务中断的问题;2)数据库实例连接数分配不合理问题;3)在未来14天中数据库实例中连接池的使用情况无法预估的问题。
附图说明
[0023]图1为现有的数据库连接池异常检测方法流程示意图;
[0024]图2为本专利技术的一种数据库连接数异常检测、上限调整和用量预测的系统的程序执行流程示意图。
具体实施方式
[0025]为了能更好地对本专利技术的技术方案进行理解,下面通过具体地实施例进行详细地说明:
[0026]请参阅图2,本专利技术的一种数据库连接数异常检测、上限调整和用量预测的系统,旨在给出可行的数据库实例中连接数动态分配的方法,并给出预测数据库实例中每个数据库未来14天连接数的方法。其具本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库连接数异常检测、上限调整和用量预测的系统,其特征在于,包括如下模块:M1数据预处理模块:对于接入本系统的数据库实例,每隔1个采样周期读取1次数据库实例中每个数据库对应的连接数,并以时间戳、数据库实例名

数据库名、已使用连接数作为一条“数据库连接数”记录写入到本系统的M2数据存储模块中的“数据库连接数表”;M2数据存储模块:接收来自其他模块的数据,保留最近N天,超过N天的部分自动清理;M3连接数阈值计算模块:对于每一个数据库,定义“设计连接数上限阈值”、“设计连接数下限阈值”、“观测连接数上限阈值”和“观测连接数下限阈值”;在初始状态下,对于一个数据库,“设计连接数上限阈值”等于“观测连接数上限阈值”;“设计连接数下限阈值”等于“观测连接数下限阈值”;用集合A={a0,a1,

,a
n
}表示某一数据库实例中的所有数据库,对于一个数据库实例,设计连接数上限阈值为T
u
,初始状态下,每个数据库的设计连接数上限阈值为假设某个数据库近N天“数据库连接数”记录中第i条记录的“已使用连接数”字段值为x
i
,可计算出这个数据库已使用连接数平均值和已使用连接数标准差用已使用连接数平均值和已使用连接数标准差之和作为观测连接数上限阈值用平均值减去标准差作为观测连接数下限阈值将时间戳、数据库实例名

数据库名、观测连接数上限阈值、观测连接数下限阈值作为一条记录写入到M2数据存储模块中的“数据库观测连接数阈值表”;当某一个数据库的观测连接数上限阈值高于其设计连接数上限阈值并持续3个采样...

【专利技术属性】
技术研发人员:赵申陈翰林
申请(专利权)人:上海电气集团数字科技有限公司
类型:发明
国别省市:

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

1