一种云数据库中OLTP应用的在线异常检测方法和系统技术方案

技术编号:34099784 阅读:31 留言:0更新日期:2022-07-11 23:10
本发明专利技术公开了一种云数据库中OLTP应用的在线异常检测方法,其是基于相关性衡量方法和云数据库架构特点的基础上实现的,通过相关性衡量方法判断关键指标的变化趋势,通过相关性阈值确定是否存在变化趋势异常的关键指标,相比于基于统计学和机器学习的方法,该方法显著提高了检测的效率;随后,其通过利用关键指标的时间序列确定数据库状态,显著提高了异常判断的准确率;同时,相关性阈值判别机制令阈值的设定简单化,极大的减少了人工成本。本发明专利技术还公开了一种云数据库中OLTP应用的在线异常检测系统。检测系统。检测系统。

【技术实现步骤摘要】
一种云数据库中OLTP应用的在线异常检测方法和系统


[0001]本专利技术属于数据库
,更具体地,设计一种云数据库中OLTP应用的在线异常检测方法和系统。

技术介绍

[0002]云数据库是云基础设施中的核心产品。随着互联网技术的急速发展,数据规模不断增长,数据类型也更加复杂。企业需要保证数据的可靠存储,这带来额外的经济负担。因此,许多企业寻求更合适的解决方案,将存储等基础设施服务转交给第三方云计算服务提供商。随着云数据库市场的不断增长,异常检测服务对云数据库的稳定性至关重要。在线事务处理(Online Transaction Processing,简称OLTP)是云数据库的主要应用,必须具备高吞吐量和低延迟的特点,这对异常检测服务的精度和效率也提出了更高的要求。
[0003]现有OLTP应用的异常检测方法包括基于传统统计学的方法、以及机器学习的方法,其中,基于传统统计学的异常检测方法是针对不同的关键指标设定不同的偏离阈值,来计算关键指标是否存在显著偏离正常模式的趋势来发现异常问题;机器学习的异常检测方法通过神经网络隐性的学习所有关键指标的变化趋势,输出关键指标在某一时刻的异常概率来发现异常问题。
[0004]然而,上述异常检测方法都存在一些不可忽略的缺陷:第一,基于传统统计学的异常检测方法误报率和漏报率较高;第二、基于传统统计学的异常检测方法对云数据库场景的适配度不高,这导致很难获得更好的精准度;第三,机器学习的异常检测方法需要花费很长时间才能完成异常检测。

技术实现思路

[0005]针对现有技术的以上缺陷或改进需求,本专利技术提供了一种云数据库中OLTP应用的在线异常检测方法,其目的在于,解决现有基于传统统计学的在线异常检测方法误报率和漏报率较高的技术问题、以及对云数据库场景的适配度不高导致很难获得良好精准度的技术问题;以及现有基于机器学习的在线异常检测方法需要花费很长时间才能完成异常检测的技术问题。
[0006]为实现上述目的,按照本专利技术的一个方面,提供了一种云数据库中OLTP应用的在线异常检测方法,包括以下步骤:
[0007](1)设置计数器count1=1,count2=1,count3=1,i=1,s=1,并从第j个云数据库的监控系统获取多个关键指标信息序列构成的关键指标信息集合{K
j1
,K
j2
,...,K
jn
},其中j∈[1,M],M表示云数据库的总数,n表示该关键指标信息集合中关键指标信息的个数;
[0008](2)判断count1是否小于关键指标信息集合中关键指标信息的个数n,如果是则进入步骤(3),否则进入步骤(6);
[0009](3)判断count2是否小于云数据库的总数M,如果是则进入步骤(4),否则设置计数器count1=count1+1,并返回步骤(2)。
[0010](4)判断count3是否小于云数据库的总数M,如果是则进入步骤(5),否则设置计数器count2=count2+1,并返回步骤(3);
[0011](5)计算第j个云数据库对应的关键指标信息集合{K
j1
,K
j2
,...,K
jn
}中的每个关键指标信息序列K
jq
和第p个云数据库对应的关键指标信息集合{K
p1
,K
p2
,...,K
pn
}中相同位置处的关键指标信息序列K
pq
之间的相关性分数S
kpq
,其中p∈[1,M],且p≠j,q∈[1,n],将该相关性分数S
jpq
加入相关性系数矩阵Matrix的第count2*(M

1)+count3行、第count1列,设置计数器count3=count3+1,并返回步骤(4)。
[0012](6)设置矩阵Matrix1,其行数为M,列数为3,判断s是否大于关键指标信息集合中关键指标信息的个数n,如果是则进入步骤(7),否则进入步骤(9);
[0013](7)判断i是否大于m*(m

1)/2,如果是则进入步骤(8),否则设置s=s+1,并返回步骤(6);
[0014](8)判断相关性系数矩阵Matrix的第s列中的第i个元素是否大于第一阈值,还是大于第二阈值且小于等于第一阈值,还是小于等于第二阈值,如果大于第一阈值则将矩阵Matrix1的第i行第1列的值加一,并返回步骤(7),如果大于第二阈值且小于等于第一阈值则将矩阵Matrix1的第i行第2列的值加一,并返回步骤(7),如果小于等于第二阈值则将矩阵Matrix1的第i行第3列的元素加一,然后设置计数器i=i+1,并返回步骤(7)。
[0015](9)设置计数器t=1;
[0016](10)判断t是否大于M,如果是则过程结束,否则进入步骤(11);
[0017](11)判断矩阵Matrix1的第t行第1列的元素是否等于关键指标信息集合中关键指标信息的个数n,如果是则将第t个数据库标记为正常状态,过程结束,否则进入步骤(12);
[0018](12)判断矩阵Matrix1的第t行第3列的元素是否大于0,如果是则将第t个数据库标记为异常状态,过程结束,否则进入步骤(13);
[0019](13)判断矩阵Matrix1的第t行第2列的元素是否大于等于第三阈值,如果是则将第t个数据库标记为异常状态,过程结束,否则进入步骤(14);
[0020](14)将第t个数据库标记为待观察状态,过程结束。
[0021]优选地,关键指标信息包括内存、CPU利用率、以及磁盘容量等。
[0022]关键指标信息集合中的每个关键指标信息序列具有相同的长度,长度范围是[12,24],优选为18;
[0023]获取每个关键指标信息序列的总采样时间是[60秒,120秒],采样的时间间隔是5秒。
[0024]优选地,步骤(5)中相关性分数S
jpq
是采用以下公式计算:
[0025][0026]其中||.||表示括号内序列的模长。
[0027]优选地,第一阈值的取值范围是[0.6,0.8],优选为0.7;
[0028]第二阈值的取值范围是[0.4,0.6),优选为0.5;
[0029]第三阈值的取值范围是[3,6],优选为4。
[0030]按照本专利技术的另一方面,提供了一种云数据库中OLTP应用的在线异常检测系统,包括:
[0031]第一模块,用于设置计数器count1=1,count2=1,count3=1,i=1,s=1,并从第j个云数据库的监控系统获取多个关键指标信息序列构成的关键指标信息集合{K
j1
,K
j2
,...,K
jn
},其中j∈[1,M],M表示云数据库的总数,n表示该关键指标信息集合中关键指标信息的个数;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云数据库中OLTP应用的在线异常检测方法,其特征在于,包括以下步骤:(1)设置计数器count1=1,count2=1,count3=1,i=1,s=1,并从第j个云数据库的监控系统获取多个关键指标信息序列构成的关键指标信息集合{K
j1
,K
j2
,...,K
jn
},其中j∈[1,M],M表示云数据库的总数,n表示该关键指标信息集合中关键指标信息的个数;(2)判断count1是否小于关键指标信息集合中关键指标信息的个数n,如果是则进入步骤(3),否则进入步骤(6);(3)判断count2是否小于云数据库的总数M,如果是则进入步骤(4),否则设置计数器count1=count1+1,并返回步骤(2)。(4)判断count3是否小于云数据库的总数M,如果是则进入步骤(5),否则设置计数器count2=count2+1,并返回步骤(3);(5)计算第j个云数据库对应的关键指标信息集合{K
j1
,K
j2
,...,K
jn
}中的每个关键指标信息序列K
jq
和第p个云数据库对应的关键指标信息集合{K
p1
,K
p2
,...,K
pn
}中相同位置处的关键指标信息序列K
pq
之间的相关性分数S
jpq
,其中p∈[1,M],且p≠j,q∈[1,n],将该相关性分数S
jpq
加入相关性系数矩阵Matrix的第count2*(M

1)+count3行、第count1列,设置计数器count3=count3+1,并返回步骤(4)。(6)设置矩阵Matrix1,其行数为M,列数为3,判断s是否大于关键指标信息集合中关键指标信息的个数n,如果是则进入步骤(7),否则进入步骤(9);(7)判断i是否大于m*(m

1)/2,如果是则进入步骤(8),否则设置s=s+1,并返回步骤(6);(8)判断相关性系数矩阵Matrix的第s列中的第i个元素是否大于第一阈值,还是大于第二阈值且小于等于第一阈值,还是小于等于第二阈值,如果大于第一阈值则将矩阵Matrix1的第i行第1列的值加一,并返回步骤(7),如果大于第二阈值且小于等于第一阈值则将矩阵Matrix1的第i行第2列的值加一,并返回步骤(7),如果小于等于第二阈值则将矩阵Matrix1的第i行第3列的元素加一,然后设置计数器i=i+1,并返回步骤(7)。(9)设置计数器t=1;(10)判断t是否大于M,如果是则过程结束,否则进入步骤(11);(11)判断矩阵Matrix1的第t行第1列的元素是否等于关键指标信息集合中关键指标信息的个数n,如果是则将第t个数据库标记为正常状态,过程结束,否则进入步骤(12);(12)判断矩阵Matrix1的第t行第3列的元素是否大于0,如果是则将第t个数据库标记为异常状态,过程结束,否则进入步骤(13);(13)判断矩阵Matrix1的第t行第2列的元素是否大于等于第三阈值,如果是则将第t个数据库标记为异常状态,过程结束,否则进入步骤(14);(14)将第t个数据库标记为待观察状态,过程结束。2.根据权利要求1所述的云数据库中OLTP应用的在线异常检测方法,其特征在于,关键指标信息包括内存、CPU利用率、以及磁盘容量等。关键指标信息集合中的每个关键指标信息序列具有相同的长度,长度范围是[12,24],优选为18;获取每个关键指标信息序列的总采样时间是[60秒,120秒],采样的时间间隔是5秒。3.根据权利要求1或2所述的云数据库中OLTP应用的在线异常检测方法,其特征在于,
步骤(5)中相关性分数S...

【专利技术属性】
技术研发人员:张光钰李春花周可陈万成方浩天邢家树程彬杨杰
申请(专利权)人:深圳市腾讯计算机系统有限公司
类型:发明
国别省市:

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

1