CN115729907A - 为数据库实例的监控指标分类的方法和装置、为数据库实例分类的方法和装置 - Google Patents
为数据库实例的监控指标分类的方法和装置、为数据库实例分类的方法和装置 Download PDFInfo
- Publication number
- CN115729907A CN115729907A CN202111003894.6A CN202111003894A CN115729907A CN 115729907 A CN115729907 A CN 115729907A CN 202111003894 A CN202111003894 A CN 202111003894A CN 115729907 A CN115729907 A CN 115729907A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- database
- indexes
- monitoring index
- series data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了一种为数据库实例的监控指标分类的方法。所述方法包括:为数据库实例的监控指标分类的方法包括获取数据库实例的多个监控指标各自的时序数据;针对所述多个监控指标中的每两个监控指标,基于所述每两个监控指标中的第一监控指标的第一时序数据和第二监控指标的第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相关系数;将多个监控指标中的相关系数大于或等于预设强相关阈值的监控指标确定为属于同一类监控指标,以便同一类监控指标用于确定数据库实例的同一类故障。还公开了为数据库实例的监控指标分类的装置、为数据库实例分类的方法和装置。
Description
技术领域
本申请涉及数据库维护的领域,尤其涉及一种为数据库实例的监控指标分类的方法和装置、一种为数据库实例分类的方法和装置、以及相应的计算设备及存储介质。
背景技术
数据库的运行状况通常可以由数据库实例的监控指标来反映。当数据库出现问题时,数据库管理员(Database Administrator,简称DBA)可以通过查看数据库实例的各个监控指标来排查数据库出现问题的原因。然而,一个数据库可能有数十上百种监控指标。如果一一查看这些指标,则会耗费数据库管理员的大量精力,排查效率也是非常低的。因此,期望减少数据库管理员需要排查的监控指标的数量,以便高效地排查数据库出现问题的原因。
另外,如果不同的数据库实例出现问题,数据库管理员通常会对这些数据库实例逐一排查问题。然而,数据库管理员面对的数据库实例的规模可能过于庞大,如果逐一排查,则会非常耗时。为了减少数据库实例的问题排查时间,期望的是,将容易出现相似问题的数据库实例分成一类,以便同类数据库实例的维护经验可以复用。所以,对于数据库实例的准确分类也是至关重要的。遗憾的是,在相关技术中,数据库实例的分类的准确性也不高。
发明内容
本申请提供了一种为数据库实例的监控指标分类的方法和装置、一种为数据库实例分类的方法和装置,以及相应的计算设备及存储介质,期望克服上面描述的问题中的部分或者全部。
根据本申请的一方面,提供了一种为数据库实例的监控指标分类的方法,其中所述监控指标反映所述数据库实例的故障。该方法包括:获取所述数据库实例的多个监控指标各自的时序数据;针对所述多个监控指标中的每两个监控指标,基于所述每两个监控指标中的第一监控指标的第一时序数据和第二监控指标的第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相关系数;以及将所述多个监控指标中的相关系数大于或等于预设强相关阈值的监控指标确定为属于同一类监控指标,以便所述同一类监控指标用于确定所述数据库实例的同一类故障。
在一些实施例中,针对所述多个监控指标中的每两个监控指标,基于所述每两个监控指标中的第一监控指标的第一时序数据和第二监控指标的第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相关系数包括:基于所述第一时序数据和所述第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相似度;以及,基于所述第一监控指标和所述第二监控指标之间的相似度,确定所述第一监控指标和所述第二监控指标之间的相关系数。
在一些实施例中,基于所述第一时序数据和所述第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相似度包括:计算多个预设时延中的每个时延下的所述第一时序数据和所述第二时序数据的各个相同时刻的值的乘积;以及,在所述每个时延下,分别累加所述第一时序数据和所述第二时序数据的各个相同时刻的数据值的乘积,以得到所述每个时延下的所述第一监控指标和第二监控指标的相似度。
在一些实施例中,基于所述第一监控指标和所述第二监控指标之间的相似度,确定所述第一监控指标和所述第二监控指标之间的相关系数包括:对所述每个时延下的所述第一监控指标和第二监控指标的相似度进行归一化处理,以得到所述每个时延下的所述第一监控指标和所述第二监控指标之间的归一化相似度;以及,取所述多个时延下的所述第一监控指标和所述第二监控指标之间的归一化相似度中的最大值作为所述第一监控指标和所述第二监控指标之间的相关系数。
在一些实施例中,获取所述数据库实例的多个监控指标各自的时序数据包括:为所述多个监控指标各自的时序数据确定相同的时序数据采集时段;以及,采集所述多个监控指标各自在所述时序数据采集时段内的时序数据。
在一些实施例中,获取所述数据库实例的多个监控指标各自的时序数据包括:为所述多个监控指标各自的时序数据确定相同的时序数据采样间隔;以及,每隔所述时序数据采样间隔,分别对所述多个监控指标的即时值进行采样,以获得所述多个监控指标各自的时序数据。
根据本申请的另一方面,提供了一种为数据库实例分类的方法。所述方法包括:确定多个数据库实例中的每两个数据库实例之间的数据库实例相关系数。其包括:获取所述每两个数据库实例中的第一数据库实例的第一监控指标组中的监控指标的时序数据和所述每两个数据库中的第二数据库实例的第二监控指标组中的监控指标的时序数据,其中所述第一监控指标组中的监控指标与第二监控指标组中的监控指标是相同的,并且第一监控指标组和第二监控指标组中的相同的监控指标构成相同监控指标对;基于所述第一监控指标组中的监控指标的时序数据和所述第二监控指标组中的监控指标的时序数据,确定每个相同监控指标对的时序数据相关系数;和基于所有相同监控指标对的时序数据相关系数,确定所述第一数据库实例和所述第二数据库实例之间的数据库实例相关系数。所述方法还包括:将所述多个数据库实例中的数据库实例相关系数大于或等于预设强相关阈值的数据库实例确定为属于同一类数据库实例。
在一些实施例中,基于所述第一监控指标组中的监控指标的时序数据和所述第二监控指标组中的监控指标的时序数据,确定每个相同监控指标对的时序数据相关系数包括:基于所述第一监控指标组中的监控指标的时序数据和所述第二监控指标组中的监控指标的时序数据,确定所述每个相同监控指标对的时序数据相似度;以及,基于所述每个相同监控指标对的时序数据相似度,确定所述每个相同监控指标对的时序数据相关系数。
在一些实施例中,基于所述第一监控指标组中的监控指标的时序数据和所述第二监控指标组中的监控指标的时序数据,确定所述每个相同监控指标对的时序数据相似度包括:在多个预设时延中的每个时延下,计算所述相同监控指标对中的各监控指标的时序数据的各相同时刻的数据值的乘积;以及,在所述每个时延下,将各相同时刻的数据值的乘积进行累加,以得到所述每个时延下的所述相同监控指标对的时序数据相似度。
在一些实施例中,基于所述每个相同监控指标对的时序数据相似度,确定所述每个相同监控指标对的时序数据相关系数包括:对所述每个时延下的所述相同监控指标对的时序数据相似度进行归一化处理,以得到所述每个时延下的所述相同监控指标对的归一化相似度;以及,取所述多个时延各自的所述相同监控指标对的归一化相似度中的最大值,作为所述每个相同监控指标对的时序数据相关系数。
在一些实施例中,基于所有相同监控指标对的时序数据相关系数,确定所述第一数据库实例和所述第二数据库实例之间的数据库实例相关系数包括:对所有相同监控指标对的时序数据相关系数求平均值,以得到所述第一数据库实例和所述第二数据库实例之间的数据库实例相关系数。
在一些实施例中,所述方法还包括:获取所述多个数据库实例各自的元数据信息,所述元数据信息包括所述多个数据库实例的地区、业务ID、业务方、业务类型、实例ID、实例所在园区和实例所在物理机中的至少一种;以及,基于所述多个数据库实例各自的元数据信息,重新确定所述多个数据库实例是否属于同一类数据库实例。
根据本申请的又一方面,提供了一种为数据库实例的监控指标分类的装置,所述装置包括:监控指标时序数据获取模块,其配置成获取所述数据库实例的多个监控指标各自的时序数据;监控指标相关系数确定模块,其配置成针对所述多个监控指标中的每两个监控指标,基于所述每两个监控指标中的第一监控指标的第一时序数据和第二监控指标的第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相关系数;以及监控指标分类模块,其配置成将所述多个监控指标中的相关系数大于或等于预设强相关阈值的监控指标确定为属于同一类监控指标,以便所述同一类监控指标用于确定所述数据库实例的同一类故障。
根据本申请的又一方面,提供了一种为数据库实例分类的装置,所述装置包括:数据库实例相关系数确定模块,其配置成确定多个数据库实例中的每两个数据库实例之间的数据库实例相关系数。所述数据库实例相关系数确定模块包括:监控指标时序数据获取模块,其配置成获取所述每两个数据库实例中的第一数据库实例的第一监控指标组中的监控指标的时序数据和所述每两个数据库中的第二数据库实例的第二监控指标组中的监控指标的时序数据,其中所述第一监控指标组中的监控指标与第二监控指标组中的监控指标是相同的,第一监控指标组和第二监控指标组中的相同的监控指标构成相同监控指标对;时序数据相相关系数确定模块,其配置成基于所述第一监控指标组中的监控指标的时序数据和所述第二监控指标组中的监控指标的时序数据,确定每个相同监控指标对的时序数据相关系数;以及数据库实例相关系数确定模块,其配置成基于所有相同监控指标对的时序数据相关系数,确定所述第一数据库实例和所述第二数据库实例之间的数据库实例相关系数。所述装置还包括数据库实例分类模块,其配置成将所述多个数据库实例中的数据库实例相关系数大于或等于预设强相关阈值的数据库实例确定为属于同一类数据库实例。
根据本申请的又一方面,提供了一种计算设备,包括:存储器,其被配置成存储计算机可执行指令;处理器,其被配置成当所述计算机可执行指令被处理器执行时执行如本申请任一实施例所述的方法。
根据本申请的又一方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,当所述计算机可执行指令被执行时,执行如本申请任一实施例所述的方法。
本申请以监控指标的时序数据的相似度为依据,为监控指标分类。在对监控指标分类时,可以将这两个或更多个相关性比较高的监控指标分成一类。在排查数据库的故障时,可以仅观察这些监控指标中的任意一个监控指标是否显示异常,即可确定数据库故障的原因是不是这些监控指标所共同反映的故障。由于不需要对所有监控指标都进行排查,在分类准确性得到保证的前提下,数据库问题的排查速度得到了提高。通过基于时序数据对监控指标进行分类,可以将排查对象由数据库中的数十个或上百个监控指标缩减为几个到十几个监控指标,从而大大提高了排查效率。
另外,本申请对数据库实例的分类参考了待分类的多个数据库实例的相同的监控指标的时序数据。被确定为属于同一类别的数据库实例很可能属于类似的业务。在管理数据库时,可以统一管理这些数据库实例,有利于计算资源的合理分配和利用。另外,这样的多个数据库实例可能出现相同的故障,因此其中一个数据库实例的解决故障的经验可以被其它数据库实例借鉴,使得其它数据库实例的故障被更快地解决,从而降低了运维成本。
附图说明
图1示意性地示出了根据本申请实施例的技术方案可以实施在其中的一种示例性网络场景;
图2示意性地示出了根据本申请实施例的一种为数据库实例的监控指标分类的方法被实施的示意原理图;
图3示意性地示出了根据本申请实施例的为数据库实例的监控指标分类的方法的流程图;
图4示意性地示出了根据本申请实施例的为数据库实例的监控指标分类的方法的另一流程图;
图5示意性地示出了根据本申请实施例的为数据库实例的监控指标分类的方法的又一流程图;
图6示意性地示出了根据本申请实施例的为数据库实例的监控指标分类的方法的具体应用的流程图;
图7示意性地示出了根据本申请实施例的一种为数据库实例分类的方法被实施的示意原理图;
图8示意性地示出了根据本申请实施例的为数据库实例分类的方法的流程图;
图9示意性地示出了根据本申请实施例的为数据库实例分类的方法的另一流程图;
图10示意性地示出了根据本申请实施例的为数据库实例分类的方法的又一流程图;
图11示意性地示出了根据本申请实施例的为数据库实例分类的方法的具体应用的流程图;
图12示意性地示出了根据本申请实施例的为数据库实例的监控指标分类的装置的结构框图;
图13示意性地示出了根据本申请实施例的为数据库实例分类的装置的结构框图;
图14示意性地示出了可以实现本申请描述的各种技术的示例计算设备。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚和完整的描述。所描述的实施例仅仅是本申请的一部分实施例,而不是全部实施例。基于本申请的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例都属于本申请保护的范围。
为了便于对本发明实施例的理解,下面先对几个概念进行简单介绍:
数据库和数据库实例:数据库是多个数据文件的集合,数据库实例是运行在数据库中进程。用户通过客户端运行数据库实例以读取和写入数据库中的数据。一个数据库实例可以操作多个数据库。也可以这样理解:数据库实例是应用程序,用户对数据库进行操作,包括定义表结构,数据查询,数据维护等控制操作,都必须在数据库实例下进行的,而终端的应用程序就是通过数据库实例才能和数据库交互。
数据库实例的监控指标:监控指标是从某方面反映数据库运行状态或健康程度的参数。例如,当一个监控指标的参数大于某阈值,则可能表示数据库的某方面出现异常。一个数据库实例可能包含数十甚至上百种监控指标。多个监控指标可能反应数据库的同一方面的异常情况。
监控指标的时序数据:时序数据也称为时间序列数据。数据库实例的监控是动态的,数据库的监控指标的时序数据是监控指标在某一时段内按时间顺序和预设采样间隔(例如,每分钟)记录的数据列或参数列。时序数据可以是时期数,也可以时点数。本申请中可以是包含特定时间间隔(例如,每分钟)的单变量数据。可以理解,时序数据体现了监控指标的参数值沿时间发展的变化趋势。
发明人发现,在相关技术中,监控指标的分类准确性和合理性较差,导致对于数据库问题的排查速度和/或排查准确性较差。发明人还发现,由于监控指标的时序数据是动态发展的,如果两个监控指标的时序数据的变化趋势相似,那么意味着这两个监控指标可能对于数据库的同一种问题能够做出相同的反应,这两个监控指标因此被认为是相关的。这种相关性以客观上的时序数据作为依据,而非仅仅来源于数据库管理员的主观判断,因此具有较高的准确性。因此,本申请提出,以监控指标的时序数据的相似度为依据,为监控指标分类。在对监控指标分类时,可以将这两个相关性比较高的监控指标分成一类。在排查数据库的故障时,可以仅观察这两个监控指标中的任意一个监控指标是否显示异常,即可确定数据库故障的原因是不是这两个监控指标所共同反映的故障。或者,如果三个或更多个监控指标被认为相关性比较高,在排查数据库的故障时,可以仅观察这些监控指标中的任意一个或几个监控指标是否显示异常,即可确定数据库故障的原因是不是这些监控指标所共同反映的故障。由于不需要对所有监控指标都进行排查,在分类准确性得到保证的前提下,数据库问题的排查速度得到了提高。在实际应用中,通过基于时序数据对监控指标进行分类,可以将排查对象由数据库中的数十个或上百个监控指标缩减为几个到十几个监控指标,从而大大提高了排查效率。
另一方面,发明人发现,数据库实例的分类准确性和合理性也较差,使得对于数据库的维护效率较差。发明人还发现不同数据库实例其实包含了相同的监控指标。例如,如果两个或更多个数据库实例的一对相同的监控指标的时序数据的变化趋势相似,或者多对相同的监控指标中的大多对相同监控指标的时序数据的变化趋势相似,或者整体变化趋势相似,那么这些数据库实例很可能属于类似的业务,在管理数据库时,可以被统一管理,有利于计算资源的合理分配和利用。另外,这样的多个数据库实例可能出现相同的故障,因此其中一个数据库实例的解决故障的经验可以被其它数据库实例借鉴,使得其它数据库实例的故障被更快地解决,从而降低了运维成本。
本申请提供了一种为数据库实例的监控指标分类的方法以及一种为数据库实例分类的方法。图1示意性地示出了根据本申请实施例的技术方案可以实施在其中的一种示例性网络场景100。如图1所示,网络场景100可以包括服务器和终端设备110。本申请不对终端设备和服务器的数量进行限制。例如,该网络场景100可以包括一个终端设备,例如终端设备110,以及多个服务器,如服务器105a、105b、105c等。如图1所示,每个服务器105a、105b、105c可以分别与终端设备110例如通过网络进行连接,以便每个服务器105a、105b、105c可以与终端设备110进行数据交互。
本申请中的服务器例如可以是独立的物理服务器,也可以是如图1所示的由多个物理服务器105a、105b、105c构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备例如可以是智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视等智能终端。
下面以终端设备110与服务器105a之间的通信为例,描述本申请的实施例。根据本申请实施例的为数据库实例的监控指标分类的方法以及为数据库实例分类的方法既可以在终端设备110中完成;也可以在服务器105a中完成并将分类结果传输给终端设备110,以供数据库管理员知悉和进行后续操作;也可以由终端设备110与服务器105a协作完成,并在终端设备110中向数据库管理员显示分类结果。本申请的数据库例如可以储存在服务器105a中,当然也可以储存在终端设备110中。本申请的为数据库实例的监控指标分类的方法和为数据库实例分类的方法涉及数据库实例的监控指标的时序数据的获取、时序数据之间的相似度的确定、监控指标的相关系数和数据库实例的相关系数的确定、各相关系数与阈值的比较等过程。这些过程可能仅在终端设备110中完成,也可能仅在服务器105a中完成,还可能部分在终端设备110中完成、部分在服务器105a中完成。当然,这不是限制性的,为数据库实例的监控指标分类以及为数据库实例分类还可以在终端上或者由终端和服务器协作实现。
根据本申请的一方面,提供了一种为数据库实例的监控指标分类的方法。图2示意性地示出了根据本申请实施例的一种为数据库实例的监控指标分类的方法被实施的示意原理图。如图2所示,所述原理图被示意性地示为三层架构。第一层250中示出了数据库实例可以包括多个监控指标。然后,在第二层255中示出了多个监控指标可以根据其时序数据被划分成若干监控指标组,每个监控指标组中包含若干个监控指标。最后,在第三层260中示出了监控指标的分类情况可以由终端设备的显示界面200显示给数据库管理员。数据库管理员可以利用监控指标的分组情况进行后续操作,例如利用分好类的监控指标排除数据库的问题。
例如,假设本申请的一个具体应用场景,其中数据库实例的监控指标可以包括监控指标1-9,在这些监控指标中,监控指标1-2被确定为属于第一类监控指标205,监控指标3-5被确定为属于第二类监控指标210,监控指标6-9被确定为属于第三类监控指标215。在显示界面200中,可以按照确定好的类别将监控指标1-9显示在对应的监控指标类别中。在一些实施例中,当数据库管理员观看显示界面200时,显示界面200可以只显示三个监控指标类别而不显示每一类中具体包含的监控指标的链接入口。当数据库管理员通过预设方式(例如点击或滑动鼠标等)选定某一监控指标类别后,显示界面显示该监控指标类别包含的具体监控指标的链接入口220。在另一些实施例中,显示界面200可以同时显示三个监控指标类别以及每一类监控指标中具体包含的监控指标的链接入口220。
在数据库管理员排查数据库的问题时,当一个或多个监控指标类别中的监控指标的链接入口被显示之后,数据库管理员可以在一类监控指标中只选择一个或几个监控指标进行查看,以完成对该类监控指标的排查。具体的,数据库管理员可以在一类监控指标中只进入一个或几个监控指标的链接入口,以查看相应监控指标的参数值。
图3示意性地示出了根据本申请实施例的为数据库实例的监控指标分类的方法的流程图。该方法例如可以由终端设备110执行,也可以由服务器105a、105b、105c执行,还可以由终端设备和服务器共同协作执行。为便于理解,本申请的实施例以该方法由上述服务器105a执行为例进行说明。如图3所示,该方法可以包括如下步骤:
在步骤S305,获取所述数据库实例的多个监控指标各自的时序数据;
在步骤S310,针对所述多个监控指标中的每两个监控指标,基于所述每两个监控指标中的第一监控指标的第一时序数据和第二监控指标的第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相关系数;
在步骤S315,将所述多个监控指标中的相关系数大于或等于预设强相关阈值的监控指标确定为属于同一类监控指标,以便所述同一类监控指标用于确定所述数据库实例的同一类故障。
下面将对这些步骤进行详细描述。
首先,对获取所述数据库实例的多个监控指标各自的时序数据的步骤S305进行详细描述。
为了获取数据库实例的任一监控指标的时序数据,可以先确定该监控指标的时序数据的采集时段和采样间隔。数据库实例的监控指标的分类可以在数据库出现问题之前完成,这样可以在数据库出现问题时,数据库管理员立刻利用已经分好类的监控指标进行问题排查,使得排查更为迅速。在这种情况下,监控指标的时序数据的采集时段可以设定为数据库最繁忙的时段,例如数据库实例耗费的CPU(central processing unit,中央处理器)资源最多的某些时段。数据库实例的监控指标的分类也可以在数据库出现问题之后进行,这样可以使监控指标的分类更具有针对性。例如,可以将采样时段设置为从数据库出现问题之前的某一时刻开始(例如从问题出现前的n分钟开始采集,n可以小于30分钟),到数据库出现问题之后的某一时刻为止(例如在问题出现后的n分钟停止采集,n可以小于30分钟),这样采集的时序数据将与数据库的问题具有更强的针对性,使得监控指标的分类对于数据库问题的解决更有效。
监控指标的时序数据的采样间隔首先与时序数据的采集时段的长短有关。当采集时段较长时,采样间隔可以相应地较长。监控指标的时序数据的采样间隔还与时序数据的波动特点有关。例如,可以先对采集时段内的各监控指标的时序数据的整体波动情况进行判断。虽然各监控指标的时序数据的波动情况一般是各不相同的,但是数据库管理员可以进行概括性的判断,确定整体上的波动情况。如果整体上波动比较剧烈,则可以将采样间隔设置的较短;如果整体上波动比较平缓,则可以将采样间隔设置的较长。或者,可以以各监控指标中时序数据波动最剧烈的指标为基准,设置采样间隔。这样可以保证不会遗漏关键数据,保证监控指标分类的准确性。
不同采样间隔的时序数据可能会对监控指标的相似性判断有影响。有些监控指标可能在采用某一时间级别的采样间隔的情况下不存在相似性,但采用在另一时间级别的采样间隔的情况下存在相似性。发明人发现,在用于数据库问题排查的数据库监控指标分类的领域中,通过分钟级别的采样间隔得到的时序数据对于监控指标的相似性的判断更加有效。小时和天级别采样间隔可能也可以用于监控指标的相似性判断,但其效果不如分钟级别的采样间隔。
在一些实施例中,数据库实例的多个监控指标各自的时序数据的采集时段是同一时段。通过将各个监控指标的时序数据的采集时段设置为同一时段,可以使各监控指标的相似度评价的参考系相同,减少了同一指标在不同时段的时序数据的波动不同所带来的影响。
如图3所示,在获取多个监控指标各自的时序数据之后,根据本申请的为数据库实例的监控指标分类的方法还包括针对所述多个监控指标中的每两个监控指标,基于所述每两个监控指标中的第一监控指标的第一时序数据和第二监控指标的第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相关系数的步骤S310。下面对步骤S310进行详细描述。
本申请的目的是将数据库实例的所有监控指标进行分类,其实质是确定所有监控指标中的每两个监控指标的相关系数,以确定这两个监控指标是否可以被确定为属于同一类监控指标。由于监控指标的相关性具有传递性,可以基于每两个监控指标的分类结果,将两个以上的监控指标确定为属于同一监控指标组。例如,假设指标1和指标2被确定为属于同一类监控指标,指标2和指标3强被确定为属于同一类监控指标,那么根据指标相关性的传递性,指标1和指标3也可以被确定为属于同一类监控指标。换句话说,在一些实施例中,可以不直接确定指标1和指标3之间的相关系数,而间接地通过指标1和指标2之间的相关系数以及指标2和指标3之间的相关系数,来判断指标1和指标3是否可以被确定为属于同一类监控指标。实际上,即使直接计算指标1和指标3之间的相关系数,所得到的相关系数值也将指标1和指标3可以被确定为属于同一类监控指标。因此,在上述场景中,指标1、指标2和指标3这三个指标可以被确定为属于同一指标组。
应指出,本申请中的监控指标相关性的计算方式是非常复杂的,以保证监控指标相关性的传递性可以在数十个监控指标之间传递。客观上,随着监控指标的增加,这种相关性的传递可能会减弱,但减弱的程度是非常少的。在数据库监控指标的场景中,相关性因传递而导致的减弱几乎不需考虑。例如,假设指标1和指标2被确定为属于同一类监控指标,指标2和指标3强被确定为属于同一类监控指标,以此类推,直到指标49与指标50被确定为属于同一类监控指标,那么指标1和指标50也可以被确定为属于同一类监控指标。在这种情况下,指标1-50这50个指标可以被确定为属于同一类监控指标。
在一些实施例中,如图4所示,步骤S310可以包括如下步骤:
在步骤S3105:基于所述第一时序数据和所述第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相似度,以及
在步骤S3110:基于所述第一监控指标和所述第二监控指标之间的相似度,确定所述第一监控指标和所述第二监控指标之间的相关系数。
下面将通过对步骤S3105和步骤S3110的详细描述来描述步骤S310的具体操作。
在一些实施例中,两个监控指标之间的相似度可以通过步骤S305中获取的这两个监控指标各自的时序数据之间的向量距离来确定。首先需要将监控指标的时序数据进行向量化。术语“向量化”表示将时序数据转化成由特征向量表示的过程。数据库的监控指标的时序数据是监控指标在某一时段内按时间顺序和预设采样间隔记录的数据列或参数列,其体现了监控指标的参数值沿时间发展的变化趋势。将时序数据的每一采样时刻作为维度,将每一采样时刻的数据值作为对应维度上分量,可以得到该时序数据的向量化数据。例如,对某一监控指标进行n次采样,每次采样得到对应的数据值,这些数据值按照采样顺序和间隔记录的数据集即为该监控指标的时序数据,则该时序数据的向量化是一个n维的向量,每1个维度的分量值是第一次采样的数据值,每2个维度的分量值是第二次采样的数据值,以此类推,直到每n个维度的分量值是第n次采样的数据值。
在对两个监控指标的时序数据进行向量化之后,可以计算这两个数据向量之间的向量距离,该向量距离即为这两个监控指标的相似度。例如,第一监控指标和第二监控指标之间的相似度可以通过计算第一监控指标的时序数据的特征向量和第二监控指标的时序数据的特征向量之间的向量距离来确定。向量距离可以由不同的方法计算,例如欧氏距离、余弦距离等。
在获得了两个监控指标的相似度之后,可以基于这两个监控指标的相似度,确定这两个监控指标之间的相关系数。在一些实施例中,两个监控指标之间的相关系数可以通过对这两个监控指标的相似度(例如向量距离)进行归一化而得到。通过归一化处理,可以将向量距离这种绝对值关系简化为相对值关系,其可以有效地简化后续计算,缩小量值。
数据库实例的多个监控指标各自的时序数据的采集时段是同一时段。然而,这是一种理想状态。尽管计算机发出的指令可能是采集同一时段的时序数据,但受限于硬件和软件的原因,有可能多个监控指标的时序数据的采集时段并不完全重合,例如两个时序数据的采集时段存在时延。另外,两个特征向量之间的向量距离有不同的算法,但是,在特征向量表征时序数据的场景下,需要将时间维度的特性考虑在内。例如,在比较两个时序数据的向量距离时,应当将第一时序数据的某一时刻的数据映射到第二时序数据的相同时刻的数据,而不能仅关注数据本身的相似度,因为有可能两个时序数据中最相似的点位于这两个时序数据的不同时刻。
为了将时延和映射的因素考虑在内,在一些实施例中,基于所述第一时序数据和所述第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相似度的步骤S3105可以具体包括:
在步骤S3106中,计算多个预设时延中的每个时延下的所述第一时序数据和所述第二时序数据的各个相同时刻的值的乘积,以及
在步骤S3107中,在所述每个时延下,分别累加所述第一时序数据和所述第二时序数据的各个相同时刻的数据值的乘积,以得到所述每个时延下的所述第一监控指标和第二监控指标的相似度。
此外,基于所述第一监控指标和所述第二监控指标之间的相似度,确定所述第一监控指标和所述第二监控指标之间的相关系数的步骤S3110可以具体包括:
在步骤S3111中,对所述每个时延下的所述第一监控指标和第二监控指标的相似度进行归一化处理,以得到所述每个时延下的所述第一监控指标和所述第二监控指标之间的归一化相似度,以及
在步骤S3112中,取所述多个时延下的所述第一监控指标和所述第二监控指标之间的归一化相似度中的最大值作为所述第一监控指标和所述第二监控指标之间的相关系数。
图5示意性地示出了步骤S3105所包括的步骤S3106和步骤S3107以及步骤S3110所包括的步骤S3111和步骤S3112的工作流程。下面对这些步骤进行详细介绍。
首先,在获得了多个监控指标中的每两个监控指标中的第一监控指标的时序数据(即,第一时序数据)和第二监控指标的时序数据(即,第二时序数据)之后,如步骤S3106所述,计算多个预设时延中的每个时延下的这两个时序数据(即,所述第一时序数据和所述第二时序数据)的各个相同时刻的值的乘积。例如,对于两个时序数据X(,,…)和Y(,,…)来说,理论上,和是两个时序数据各自在同一时刻的数据值。因此,为了实现前述映射因素,应当将和进行映射,其中,i表示每个数据值在时序数据中的时间位次。然而由于时延的存在,可能在实际情况下,和并不是相同时刻的两个数据值,因此需要对此映射关系进行调整。例如,假设这两段时序数据存在时延为s的关系,则其映射关系应该是与映射或者是与映射,取决于时延s为正还是为负。正时延表示序列Y的采集时间段在序列X的采集时间段之后,而负时延表示序列Y的采集时间段在序列X的采集时间段之前。此处的每一个时延是预设的,因为并不知道两个序列真正的时延是什么。因此,对每个预设时延进行尝试,并在后续处理中通过在各时延下取相似度的最大值来确定两个监控指标的相关系数。总结起来,每个时延下的第一时序数据和第二时序数据的各个相同时刻的数据值的乘积可以被表达为:
然后,如步骤S3107所述,在每个时延s下,分别累加第一时序数据和第二时序数据的各个相同时刻的数据值的乘积,以得到每个时延下的第一监控指标和第二监控指标的相似度。也就是,两个监控指标在每个时延下的相似度可以表达为:
然后,如步骤S3111所述,对每个时延下的第一监控指标和第二监控指标的相似度进行归一化处理,以得到每个时延下的第一监控指标和第二监控指标之间的归一化相似度。通过归一化的处理,可以将向量距离(即,相似度)这种绝对值关系简化为相对值关系,以便简化后续计算,缩小量值。经过归一化后,相似度的范围将在-1到1之间。绝对值越接近1,表明两个监控指标的时序相关性越强,反之亦然。监控指标的相似度的归一化处理可以表达为:
最后,如步骤S3112所述,取所述多个时延下的第一监控指标和第二监控指标之间的归一化相似度中的最大值作为第一监控指标和第二监控指标之间的相关系数。在考虑了时延因素的情况下,两个监控指标在每个时延下都存在单独的相似度,经过归一化处理后得到单独的归一化相似度。通过在这些归一化相似度中取最大值,可以减小两个原本可以被认为属于同一类别的监控指标被误判为不属于同一类别的可能性。监控指标的相关系数可以表达为:
最后介绍步骤S315。在获得了每两个监控指标之间的相关系数之后,可以将相关系数大于或等于预设强相关阈值的监控指标确定为属于同一类监控指标。两个监控指标之间的相关性可以被分为极强相关、强相关、中等程度相关、弱相关、极弱相关或无相关等级别。每个级别包括预设的阈值,当到达该阈值时,可以认为两个监控指标的相关性术语对应的级别。相关性级别与相关系数阈值的关系例如可以按下表设置:
表1 相关系数与相关性对照表
相关系数 | 相关性 |
0.8-1.0 | 极强相关 |
0.6-0.8 | 强相关 |
0.4-0.6 | 中等程度相关 |
0.2-0.4 | 弱相关 |
0.0-0.2 | 极弱相关或无相关 |
可以根据需要选择适当的相关系数作为强相关阈值。例如,可以将强相关阈值预设为0.8,意味着相关系数大于或等于0.8的两个监控指标可以被认为是强相关的,因此可以被认定为属于同一类监控指标。
同一类监控指标的变化趋势是类似的,在排查数据库问题时,只需观察其中的一项或几项即可完成整类监控指标的排查,大大提高了数据库问题排查的效率。
本申请的为数据库实例的监控指标分类的方法依据监控指标的时序数据来进行分类,因此分类结果更客观、更准确,更好地反映了监控指标的本质。并且,该方法考虑了时序数据的时延属性和映射属性,使得监控指标的相关性的考虑因素更加全面,得到的分类结果也将更加准确。基于这种准确的分类结果,数据库管理员在可以在一类监控指标中仅观察一个或少数几个监控指标,即可完成对这一类监控指标的排查,从而有效地提高了数据库问题的排查速度,减少了运维成本。
图6示出了根据本申请实施例的为数据库实例的监控指标分类的方法的具体应用的流程图。在该应用中,该数据库实例示例性地包括四个监控指标——cpu利用率、querys请求量、slow_logs慢查询个数以及capacity磁盘容量变化。应理解,数据库实例中的监控指标显著多于四个,一般可达数十甚至上百个。因此,该应用并不是为了体现数据库监控指标的数量或者哪些监控指标更典型,而仅是为了解释如何利用本申请的为数据库实例的监控指标分类的方法来实现减少数据库管理员排查的监控指标的数量。
回到该应用中,首先,获取所列举的四个监控指标各自的时序数据。时序数据的采集时段和采样间隔可以按照前文描述的原理来设置,此处不再赘述。在获取这四个监控指标各自的时序数据之后,可以确定这四个监控指标中的每两个监控指标之间的相关系数。以cpu利用率和querys请求量作为每两个监控指标的示例。基于所采集的cpu利用率的时序数据和querys请求量的时序数据,确定cpu利用率和querys请求量这两个指标的相关系数。在该过程中,可以考虑时延和映射的因素。在经过计算相同时刻数据值的乘积累加和、为监控指标的相似度进行归一化处理、以及取各个时延中的归一化相似度的最大值等步骤之后,可以得到cpu利用率和querys请求量这两个监控指标之间的相关系数为0.88623。利用上述方法,可以获得者四个监控指标中的每两个监控指标之间的相关系数。这些相关系数记录在下方的列表中。
表2监控指标相关性表
相关系数 | cpu利用率 | querys | slow_logs | capacity |
cpu利用率 | 1 | 0.88623 | 0.16021 | 0.12093 |
querys | 0.88623 | 1 | 0.14332 | 0.08613 |
slow_logs | 0.16021 | 0.14332 | 1 | 0.210589 |
capacity | 0.12093 | 0.08613 | 0.210589 | 1 |
由上表可看出,该表是对称的,并且对角线为1。这说明,相同的两个监控指标的相关系数将达到最大值1。如需观察或储存该表,则只需观察或储存该表的上三角矩阵或下三角矩阵。
在获得了每两个监控指标的相关系数之后,可以通过将各相关系数与预设的强相关阈值相比较以进行相似性判断,将相关系数大于或等于强相关阈值的两个监控指标确定为属于同一类监控指标。例如,可以将强相关阈值设置为0.8。根据上表所示的四个监控指标的相关系数,可以看到cpu利用率和querys请求量这两个监控指标之间的相关系数大于该强相关阈值,而其它任何两个监控指标之间的相关系数都小于0.8。在这种情况下,可以认为cpu利用率和querys请求量属于同一组监控指标,slow_logs慢查询个数和capacity磁盘容量变化分别属于与cpu利用率和querys请求量的监控指标组不同的组,即cpu利用率和querys请求量属于同一个监控指标组,slow_logs慢查询个数属于另一个监控指标组,而capacity磁盘容量变化属于又一个监控指标组。
随后,在排查数据库的问题时,在cpu利用率和querys请求量这两个监控指标中,只需查看其中一个指标是否出现异常,即相当于完成了对这两个监控指标的排查,从而减少了排查时间,提高了效率。
根据本申请的另一方面,根据本申请的一方面,提供了一种为数据库实例分类的方法。图7示意性地示出了根据本申请实施例的一种为数据库实例分类的方法被实施的示意原理图。如图7所示,所述原理图被示意性地示为三层架构。在第一层705中示出了服务器105上包含多个数据库实例710,每个数据库实例包括多个监控指标。一般来说,每个数据库实例包含的监控指标基本是完全一样的。每两个相同的监控指标可以组成一对,被称为相同监控指标对。不同数据库实例的相同监控指标的时序数据可以有不同的变化趋势。在第二层715中示出了基于数据库实例之间的相同的监控指标的时序数据来确定每两个数据库实例的相关系数,以用于为数据库实例分类。在具体应用中,可以将两个数据库实例的所有相同的监控指标的时序数据都用于为这两个数据库实例确定相关系数,也可以只用一部分相同的监控指标的时序数据来为这两个数据库实例确定相关系数。然后,相关系数大于预设强相关阈值的数据库实例可以被确定为属于同一类数据库实例720。基于此,多个数据库实例可以被分为若干类。然后,在第三层725示出了这些数据库实例710的分类情况可以由终端设备的显示界面200显示给数据库管理员。数据库管理员可以利用监控指标的分组情况进行后续操作,例如利用分好类的数据库实例来解决数据库在物理机中的布置问题以及多个数据库实例的维护经验的复用问题。
例如,假设本申请的一个具体应用场景,其中服务器105上布置有数据库实例1-9,每个数据库实例具有监控指标组,各个数据库实例的监控指标组中所包含的监控指标是相同的。在这些数据库实例中,数据库实例1-2被确定为属于第一类数据库实例755,数据库实例3-5被确定为属于第二类数据库实例760,数据库实例6-9被确定为属于第三类监控指标765。在显示界面200中,可以按照确定好的类别将数据库实例1-9显示在对应的数据库实例类别中。数据库管理员通过显示界面的显示内容,可以知悉数据库实例的分类情况。
基于相同监控指标的时序数据对数据库实例进行分类,所得到的同一类数据库实例很可能属于类似的业务。本申请能通过时序相关性算法发现这些隐含的信息,并对数据库实例进行合理分类,统一管理。比如,属于同一类别的某些数据库实例可能都在某个时刻耗费的CPU资源比较多,因此,可以将被认为属于同一类别的数据库实例布置在不同的物理机中,以便提高处理速度,改善用户体验,并且减少线上出现问题的可能性。另外,同一类数据库实例可能出现类似的问题。在知晓数据库实例的分类结果之后,数据库管理员可以基于同一类数据库实例中的已经出现过问题的数据库实例的维护经验来处理该类数据库实例中的另一个已经出现问题但尚不知道问题原因的数据库实例的维护。这种维护经验的复用有助于加快数据库实例的问题解决速度。
图8示意性地示出了根据本申请实施例的为数据库实例分类的方法的流程图。该方法例如可以由终端设备110执行,也可以由服务器105a、105b、105c执行,还可以由终端设备和服务器共同协作执行。为便于理解,本申请的实施例以该方法由上述服务器105a执行为例进行说明。如图8所示,该方法可以包括如下步骤:
在步骤S805,确定多个数据库实例中的每两个数据库实例之间的数据库实例相关系数,以及
在步骤S810,将所述多个数据库实例中的数据库实例相关系数大于或等于预设强相关阈值的数据库实例确定为属于同一类数据库实例。
步骤S805可以包括:在步骤S815,获取所述每两个数据库实例中的第一数据库实例的第一监控指标组中的监控指标的时序数据和所述每两个数据库中的第二数据库实例的第二监控指标组中的监控指标的时序数据,其中所述第一监控指标组中的监控指标与第二监控指标组中的监控指标是相同的,第一监控指标组和第二监控指标组中的相同的监控指标构成相同监控指标对;
在步骤S820,基于所述第一监控指标组中的监控指标的时序数据和所述第二监控指标组中的监控指标的时序数据,确定每个相同监控指标对的时序数据相关系数;和,在步骤S825,基于所有相同监控指标对的时序数据相关系数,确定所述第一数据库实例和所述第二数据库实例之间的数据库实例相关系数。
下面对这些步骤进行详细描述。
首先对确定多个数据库实例中的每两个数据库实例之间的数据库实例相关系数的步骤S805进行描述。如前面提到的,步骤S805具有三个子步骤S815、S820、S825。下面将通过对这些子步骤的描述类描述步骤S805。
首先,获取每两个数据库实例各自的监控指标组中的监控指标的时序数据。两个数据库实例的相似度/相关系数可以以这两个数据库实例的相同的一对或多对监控指标的时序数据的相似度作为依据。因此可以首先为每个数据库实例确定一个监控指标组,两个数据库各自的监控指标组中含有的指标是相同。每一对相同的监控指标构成一个相同监控指标对。两个数据库实例的指标一般是完全相同的。因此,在一些实施例中,每个数据库实例的监控指标组可以由该数据库实例的所有监控指标构成。不过,这并不是必须的。在另外一些实施例中,为了使数据库实例的分类更有针对性,并且减少计算量,每个数据库实例可以从上百个监控指标中选择其中一部分,甚至仅选择其中一个监控指标,来用于数据库实例的相关系数的确定。例如,可以选择能够直接反应数据库健康状态的监控指标构成每个数据库的监控指标组,因为这样的监控指标对数据库的性能变化比较敏感,能够发现数据库的隐含特征,从而使数据库实例的分类更加准确。能够直接反应数据库健康状态的监控指标包括但不限于cpu_use_rate(cpu利用率),querys(数据库接受请求量),capacity(磁盘使用容量),innodb_cache_hit_rate(引擎层的缓存命中率),innodb_row_lock_time_avg(引擎层行锁等待时间),slow_queries(慢查询数量),threads_running(线程运行数量)等等。
在确定了需要获取哪些监控指标的时序数据,即确定了监控指标组的构成之后,进行这些监控指标的时序数据的获取。监控指标的时序数据的获取与步骤S305中对时序数据的获取类似。同样需要考虑针对具体应用设置时序数据的采集时段和采样间隔,并且要求相同监控指标对中的两个监控指标的时序数据的采集时段和采样间隔相同。前文已对时序数据的采集进行了详细的描述,此处不再赘述。
在获取每两个数据库实例中的每个数据库实例的监控指标组中的监控指标的时序数据之后,将基于每个相同监控指标对的两个监控指标的时序数据来确定该相同监控指标对的时序数据相关系数(步骤S820)。前文已经提到了利用监控指标的时序数据确定监控指标的相关系数的过程,其核心是将时延和映射的因素考虑在内,为两个时序数据确定相似度(向量距离)并进行归一化处理,并针对各时延下的归一化相似度取最大值作为监控指标的相关系数。在确定每个相同监控指标对的时序数据相关系数的过程中,同样需要考虑时延和映射的因素,并且同样涉及归一化和取最大值的过程。这些因素和过程的意义和效果已在前文进行了相应的解释,此处不再赘述。如图9所示,步骤S820可以包括下述子步骤:
在步骤S821中,基于所述第一监控指标组中的监控指标的时序数据和所述第二监控指标组中的监控指标的时序数据,确定所述每个相同监控指标对的时序数据相似度;
在步骤S822中,基于所述每个相同监控指标对的时序数据相似度,确定所述每个相同监控指标对的时序数据相关系数。
更具体的,步骤S821可以包括下述子步骤:
在步骤S8201中,在多个预设时延中的每个时延下,计算所述相同监控指标对中的各监控指标的时序数据的各相同时刻的数据值的乘积;
在步骤S8202中,在所述每个时延下,将各相同时刻的数据值的乘积进行累加,以得到所述每个时延下的所述相同监控指标对的时序数据相似度。
并且,步骤S822可以包括下述子步骤:
在步骤S8203中,对所述每个时延下的所述相同监控指标对的时序数据相似度进行归一化处理,以得到所述每个时延下的所述相同监控指标对的归一化相似度;
在步骤S8204中,取所述多个时延各自的所述相同监控指标对的归一化相似度中的最大值,作为所述每个相同监控指标对的时序数据相关系数。
图10示意性地示出了步骤S821包括的步骤S8201和步骤S8202以及步骤S822包括的步骤S8203和步骤S8204的流程图。
下面通过对这些子步骤的描述来介绍步骤S820。
首先,在获得了监控指标的时序数据之后,在多个预设时延中的每个时延下,计算相同监控指标对中的各监控指标的时序数据的各相同时刻的数据值的乘积(步骤S8201)。在该步骤中,可以首先对各时序数据进行向量化,获得每个时序数据的特征向量,其中时序数据的每一采样时刻作为特征向量的维度,每一采样时刻的数据值作为特征向量对应维度上的分量值。在向量化后,计算相同监控指标对中的各监控指标的时序数据的各相同时刻的数据值的乘积包括计算两个时序数据的特征向量的相同维度的分量值的乘积。通过要求相同维度的分量值的乘积,相同维度表现了遵循时间序列的映射关系。另外,为了考虑时延的因素,在多个预设时延中的每个时延下分别计算两个时序数据的相同时刻的数据值的乘积。类似的,在两个时序数据可被表达为X(,,…)和Y(,,…)的情况下,考虑了时延和映射的相同时刻的数据值乘积可以表达为:
通过归一化的处理,可以将向量距离(即,相似度)这种绝对值关系简化为相对值关系,以便简化后续计算,缩小量值。通过针对各时延下的归一化相似度取最大值,可以减小两个原本可以被认为相似的时序数据被误判为不相似,导致各时序所对应的数据库实例被认为不属于同一类别的可能性。
在获得了每个相同监控指标对的时序数据相关系数之后,可以在步骤S825中,基于所有相同监控指标对的时序数据相关系数,确定所述第一数据库实例和所述第二数据库实例之间的数据库实例相关系数。步骤S825具体包括,在步骤S8251中,对所有相同监控指标对的时序数据相关系数求平均值,以得到所述第一数据库实例和所述第二数据库实例之间的数据库实例相关系数。除了步骤S8201、步骤S8202、步骤S8203和步骤S8202,图10还示意性地示出了步骤S825所包括的步骤S8251与这四个步骤之间的流程关系。前文提到,每个数据库实例的监控指标组可以由该数据库实例的所有监控指标构成,也可以由一部分监控指标构成,甚至仅包含一个监控指标。当监控指标组包含两个或更多监控指标时,为了确定两个数据库实例的相关系数,可以对各相同监控指标对的时序数据相关系数求平均值,以确定两个数据库实例的相关系数。当监控指标组仅包含一个监控指标时,即两个数据库实例的相关系数仅由一个相同监控指标对的时序数据相关系数来确定。在这种情况下,由于一个量的平均值为该量的自身,表述“对所有相同监控指标对的时序数据相关系数求平均值”可以实质上理解为该一个相同监控指标对的时序数据相关系数的自身,此时,两个数据库实例之间的数据库实例相关系数即为该一个相同监控指标对的时序数据相关系数。上述为所有相同监控指标对的时序数据相关系数求平均值的过程可以表达为:
其中R表示两个数据库实例之间的数据库实例相关系数,n表示监控指标组中的监控指标的个数,NCCj表示每一个相同监控指标对的时序数据相关系数。
在步骤S820之后,可以基于所确定的每两个数据库实例之间的数据库实例相关系数,将相关系数大于或等于预设强相关阈值的数据库实例确定为属于同一类数据库实例(步骤S825)。数据库实例之间的相关性也可以分为极强相关、强相关、中等程度相关、弱相关、极弱相关或无相关等级别。每个级别包括预设的阈值。如果认为某一级别或某几个级别的数据库实例可被确定为属于同一类数据库实例,则可以将对应级别的阈值确定为强相关阈值。当两个数据库实例相关系数大于或等于该强相关阈值时,可以将这两个数据库实例确定为属于同一类数据库实例。
另外,数据库实例的相关性也具有传递性。例如,如果数据库实例1和数据库实例2被确定为属于同一类数据库实例,数据库实例2和数据库实例3被确定为属于同一类数据库实例,那么根据数据库实例相关性的传递性,数据库实例1和数据库实例3也可以被确定为属于同一类数据库实例。这样,数据库实例1、2、3可以被确定为属于同一类数据库实例。
基于本申请实施例的为数据库实例分类的结果,一般达到了上万甚至几十万的级别的云数据库实例规模的管理可以大大简化。如果很多个实例同时出现线上问题,那么不再需要逐个处理每个实例的线上问题。通过提前对数据库实例进行分类,那么很可能属于同一类的数据库实例出现问题的原因是相同的,解决方案也是相似的。因此可以利用同一类数据库实例中的一个数据库实例的问题解决经验来快速处理该类数据库实例中的其他数据库实例的类似问题,从而加快了其它数据库实例问题的解决速度。另外,根据本申请实施例的为数据库实例分类的方法所得到的结果而被分为同一类的数据库实例可能属于同一或相似业务,CPU可能同时处于高负荷状态,造成QPS(Queries Per Second,每秒查询量)和TPS(Transactions Per Second,每秒事务数量)降低。因此,在讨论同一类数据库实例的物理机布置时,可以将这些数据库实例分别布置在不同的物理机上,以避免上述问题的发生。
在一些实施例中,根据本申请的为数据库实例分类的方法还包括获取所述多个数据库实例各自的元数据信息,以及基于所述多个数据库实例各自的元数据信息,重新确定所述多个数据库实例是否属于同一类数据库实例等步骤。下面对这两个步骤进行介绍。
发明人发现,在基于前述方法对数据库实例进行分类后,数据库实例的元数据可能能够用于对该分类结果进行调整。数据库的元数据(MetaData)是指定义数据库各类对象结构的数据,主要是关于数据库本身的一些整体综合信息。其中,一些元数据信息对于数据库实例的分类和数据库的维护是有用处的。比如,数据库实例的一种元数据是数据库实例所在地区。如果出现了地区级别的网络故障,那么一个很明显的特征是该地区的所有实例网络都会出现问题。换句话说,这些数据库实例出现问题的原因相同,解决问题的方法也相同,因此可能适合于被划分在同一类数据库实例中。因此,在基于相同监控指标对的时序数据的相关系数为数据库实例分类之后,可以基于数据库的元数据对该分类结果进行调整。例如,如果分类之后发现,第一类的数据库实例的所在地区基本都是A地,而第二类数据库实例中的某实例的所在地区也是A地而其余实例的所在地区不是A地,则可以考虑是否有必要将该实例的分类由第二类数据库实例变更为第一类数据库实例。又如,如果某一类数据库实例的所在地区基本都是A地,但其中一个实例的所在地区不是A地,则可以考虑是否应该将该实例从该类数据库实例中移除。在一些实施例中,数据库的元数据的示例包括:数据库实例所在地区、业务ID、业务方、业务类型、实例id、实例所在园区、所在物理机等。这些元数据相同的多个数据库实例可能出现相似或相同的问题,因此基于这些元数据对数据库实例的分组进行调整可能是有益处的。
除了用于数据库实例的分类,元数据对于数据库实例的问题解决还有其它用处。例如,可以在依据相同监控指标对的时序数据相关系数对数据库实例进行分类后,为每一个数据库实例标注其对应的元数据。通过这种操作,数据库管理员可以迅速将这些元数据信息和故障原因联系起来,以便更快地排查问题。
图11示出了根据本申请实施例的为数据库实例分类的方法的具体应用的流程图。在该应用中,需要为四个数据库实例1-4进行分类,每个数据库实例的监控指标组都包含四个监控指标——cpu利用率、querys请求量、slow_logs慢查询个数以及capacity磁盘容量变化。应理解,该应用不意图限定待分类的数据库实例的数量和数据库实例分类所应用到的监控指标的数量。
下面以数据库实例1和数据库实例2之间的数据库实例相关系数的确定为例描述该示例。数据库实例1的cpu利用率和数据库实例2的cpu利用率构成一个相同监控指标对。类似的,数据库实例1的querys请求量和数据库实例2的querys请求量、数据库实例1的slow_logs慢查询个数和数据库实例2的slow_logs慢查询个数、数据库实例1的capacity磁盘容量变化和数据库实例2的capacity磁盘容量变化分别构成相同监控指标对。首先进行时序数据相关系数计算。在该计算中,首先分别获取数据库实例1的上述四个监控指标各自的时序数据以及数据库实例2的上述四个监控指标各自的时序数据。然后分别计算上述四个相同监控指标对的时序数据的相关系数。在确定各相关系数时,需要计算每两个时序数据在相同时刻的数据值的乘积,以体现映射关系,并且在每个预设时延下分别计算该乘积,以体现时延性。经过归一化和最大值提取处理,分别得到四种时序数据的相关系数。
然后,进行数据库实例相似性判断。取前述四种时序数据的相关系数的平均值作为数据库实例1和数据库实例2之间的数据库实例相关系数,以从数值上衡量数据库实例1和数据库实例2之间的相似性。
最后,进行数据库实例分类,其中基于数据库实例1和数据库实例2之间的数据库实例相关系数是否大于或等于预设强相关阈值,确定数据库实例1和数据库实例2是否属于同一类数据库实例。
前述关于数据库实例1和数据库实例2的步骤可以继续扩展到这四个数据库实例中的其它每两个数据库实例。例如,经过前述方法,得到的每两个数据库实例的相关系数如下表所示:
表3 数据库实例相关系数表
相关系数 | 实例1 | 实例2 | 实例3 | 实例4 |
实例1 | 1 | 0.90235 | 0.16610 | 0.45201 |
实例2 | 0.90235 | 1 | 0.11560 | 0.06943 |
实例3 | 0.16610 | 0.11560 | 1 | 0.23069 |
实例4 | 0.45201 | 0.06943 | 0.23069 | 1 |
可以将强相关阈值设置为0.8。在这种情况下,可以发现,数据库实例1和数据库实例2的数据库实例相关系数大于0.8,而其它每两个数据库实例的相关系数均小于0.8。因此,在这四个数据库实例中,数据库实例1和数据库实例2属于同一类数据库实例,数据库实例3属于与数据库实例1和数据库实例2不同的一类数据库实例,数据库实例4属于与数据库实例1和数据库实例2不同的另一类数据库实例。
基于上述分类结果,在后续应用中,如果数据库实例1和数据库实际2都出现问题,则用于数据库实例1的解决方案很可能适用于数据库实例2的解决方案,用于数据库实例2的解决方案也很可能适用于数据库实例1的解决方案。因此,这两个数据库实例的问题解决方案可以互用,提高了问题解决速度,并降低了运维成本。另外,上述分类结果表明,数据库实例1和数据库实际2可能属于类似的业务,有可能在某个时刻同时耗费较多的CPU资源。因此,可以将数据库实例1和数据库实际2布置在不同的物理机上,以提高各自的运行速度。
根据本申请的另一方面,还公开了一种为数据库实例的监控指标分类的装置。图12示出了该装置的结构框图。如图12所示,该装置1200包括监控指标时序数据获取模块1210、监控指标相关系数确定模块1215、以及监控指标分类模块1220。监控指标时序数据获取模块1210配置成获取所述数据库实例的多个监控指标各自的时序数据。时序数据是动态发展的,体现了监控指标的参数值沿时间发展的变化趋势,因此可以客观地反映多个监控指标的内在相似度,使得监控指标的分类具有较高的准确性。监控指标相关系数确定模块1215配置成针对所述多个监控指标中的每两个监控指标,基于所述每两个监控指标中的第一监控指标的第一时序数据和第二监控指标的第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相关系数。监控指标的相关系数的确定可以将时延和映射的因素考虑在内,以便基于时序数据的本质属性,更好地确定时序数据之间的相似度。监控指标分类模块1220配置成将所述多个监控指标中的相关系数大于或等于预设强相关阈值的监控指标确定为属于同一类监控指标,以便所述同一类监控指标用于确定所述数据库实例的同一类故障。通过将多个强相关的监控指标划分为同一类指标,数据库管理员在可以在一类监控指标中仅观察一个或少数几个监控指标,即可完成对这一类监控指标的排查,从而有效地提高了数据库问题的排查速度,减少了运维成本。
根据本申请的另一方面,还公开了一种为数据库实例分类的装置。图13示出了该装置的结构框图。如图13所示,该装置1300包括数据库实例相关系数确定模块1305和数据库实例分类模块1310。数据库实例相关系数确定模块1305配置成确定多个数据库实例中的每两个数据库实例之间的数据库实例相关系数。数据库实例分类模块1310配置成将所述多个数据库实例中的数据库实例相关系数大于或等于预设强相关阈值的数据库实例确定为属于同一类数据库实例。数据库实例相关系数确定模块1305包括监控指标时序数据获取模块1315、时序数据相相关系数确定模块1320、以及数据库实例相关系数确定模块1325。监控指标时序数据获取模块1315配置成获取所述每两个数据库实例中的第一数据库实例的第一监控指标组中的监控指标的时序数据和所述每两个数据库中的第二数据库实例的第二监控指标组中的监控指标的时序数据,其中所述第一监控指标组中的监控指标与第二监控指标组中的监控指标是相同的,第一监控指标组和第二监控指标组中的相同的监控指标构成相同监控指标对。由于监控指标的时序数据的变化趋势相似的多个数据库实例一般属于类似的业务,可以被统一管理,因此通过利用多个数据库实例的相同监控指标的时序数据的相似度,可以以更客观的方式体现数据库实例的相似度,进而更恰当地对数据库实例分类,有利于计算资源的合理分配和利用。时序数据相相关系数确定模块1320配置成基于所述第一监控指标组中的监控指标的时序数据和所述第二监控指标组中的监控指标的时序数据,确定每个相同监控指标对的时序数据相关系数。相同监控指标对的时序数据相关系数的确定同样考虑了时序数据的本质属性,涵盖了时延和映射的因素,所得到的时序数据相关系数将更加准确、客观。数据库实例相关系数确定模块1325配置成基于所有相同监控指标对的时序数据相关系数,确定所述第一数据库实例和所述第二数据库实例之间的数据库实例相关系数。通过该装置,同一类别的数据库实例中的一个数据库实例的解决故障的经验可以被其它数据库实例借鉴,使得其它数据库实例的故障被更快地解决,从而降低了运维成本。
图14示意性地图示了示例系统1400,其包括代表可以实现本文描述的各种技术的一个或多个系统和/或设备的示例计算设备1410。计算设备1410可以是例如服务提供商的服务器、与服务器相关联的设备、片上系统、和/或任何其它合适的计算设备或计算系统。上面参照图12描述的为数据库实例的监控指标分类的装置1200和为数据库实例分类的装置1300可以采取计算设备1410的形式。替换地,为数据库实例的监控指标分类的装置1200和为数据库实例分类的装置1300可以以应用1416的形式被实现为计算机程序。
如图示的示例计算设备1410包括彼此通信耦合的处理系统1411、一个或多个计算机可读介质1412以及一个或多个I/O接口1413。尽管未示出,但是计算设备1410还可以包括系统总线或其他数据和命令传送系统,其将各种组件彼此耦合。系统总线可以包括不同总线结构的任何一个或组合,所述总线结构诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种总线架构中的任何一种的处理器或局部总线。还构思了各种其他示例,诸如控制和数据线。
处理系统1411代表使用硬件执行一个或多个操作的功能。因此,处理系统1411被图示为包括可被配置为处理器、功能块等的硬件元件1414。这可以包括在硬件中实现为专用集成电路或使用一个或多个半导体形成的其它逻辑器件。硬件元件1414不受其形成的材料或其中采用的处理机构的限制。例如,处理器可以由(多个)半导体和/或晶体管(例如,电子集成电路(IC))组成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质1412被图示为包括存储器/存储装置1415。存储器/存储装置1415表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储装置1415可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置1415可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。计算机可读介质1412可以以下面进一步描述的各种其他方式进行配置。
一个或多个I/O接口1413代表允许用户使用各种输入设备向计算设备1410输入命令和信息并且可选地还允许使用各种输出设备将信息呈现给用户和/或其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的容性或其他传感器)、相机(例如,可以采用可见或不可见的波长(诸如红外频率)将不涉及触摸的运动检测为手势)等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,计算设备1410可以以下面进一步描述的各种方式进行配置以支持用户交互。
计算设备1410还包括应用1416。应用1416可以例如是为数据库实例的监控指标分类的装置1200的软件实例和为数据库实例分类的装置1300的软件实例,并且与计算设备1410中的其他元件相组合地实现本文描述的技术。
本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文所使用的术语“模块”,“功能”和“组件”一般表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。
所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质传输。计算机可读介质可以包括可由计算设备1410访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
与单纯的信号传输、载波或信号本身相反,“计算机可读存储介质”是指能够持久存储信息的介质和/或设备,和/或有形的存储装置。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质和/或以适用于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据)的方法或技术实现的存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、硬盘、盒式磁带、磁带,磁盘存储装置或其他磁存储设备,或其他存储设备、有形介质或适于存储期望信息并可以由计算机访问的制品。
“计算机可读信号介质”是指被配置为诸如经由网络将指令发送到计算设备1410的硬件的信号承载介质。信号介质典型地可以将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波、数据信号或其它传输机制的调制数据信号中。信号介质还包括任何信息传递介质。术语“调制数据信号”是指这样的信号,该信号的特征中的一个或多个被设置或改变,从而将信息编码到该信号中。作为示例而非限制,通信介质包括诸如有线网络或直接连线的有线介质以及诸如声、RF、红外和其它无线介质的无线介质。
如前所述,硬件元件1414和计算机可读介质1412代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其在一些实施例中可以用于实现本文描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅中的其它实现或其他硬件设备的组件。在这种上下文中,硬件元件可以作为执行由硬件元件所体现的指令、模块和/或逻辑所定义的程序任务的处理设备,以及用于存储用于执行的指令的硬件设备,例如,先前描述的计算机可读存储介质。
前述的组合也可以用于实现本文所述的各种技术和模块。因此,可以将软件、硬件或程序模块和其它程序模块实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件1414体现的一个或多个指令和/或逻辑。计算设备1410可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如通过使用处理系统的计算机可读存储介质和/或硬件元件1414,可以至少部分地以硬件来实现将模块实现为可由计算设备1410作为软件执行的模块。指令和/或功能可以由一个或多个制品(例如,一个或多个计算设备1410和/或处理系统1011)可执行/可操作以实现本文所述的技术、模块和示例。
在各种实施方式中,计算设备1410可以采用各种不同的配置。例如,计算设备1410可以被实现为包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等的计算机类设备。计算设备1410还可以被实现为包括诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等移动设备的移动装置类设备。计算设备1410还可以实现为电视类设备,其包括具有或连接到休闲观看环境中的一般地较大屏幕的设备。这些设备包括电视、机顶盒、游戏机等。
本文描述的技术可以由计算设备1410的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。功能还可以通过使用分布式系统、诸如通过如下所述的平台1422而在“云”1420上全部或部分地实现。
云1420包括和/或代表用于资源1424的平台1422。平台1422抽象云1420的硬件(例如,服务器)和软件资源的底层功能。资源1424可以包括在远离计算设备1010的服务器上执行计算机处理时可以使用的应用和/或数据。资源1424还可以包括通过因特网和/或通过诸如蜂窝或Wi-Fi网络的订户网络提供的服务。
平台1422可以抽象资源和功能以将计算设备1010与其他计算设备连接。平台1422还可以用于抽象资源的分级以提供遇到的对于经由平台1422实现的资源1424的需求的相应水平的分级。因此,在互连设备实施例中,本文描述的功能的实现可以分布在整个系统1400内。例如,功能可以部分地在计算设备1410上以及通过抽象云1420的功能的平台1422来实现。
根据本申请的又一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算设备执行上述各种可选实现方式中提供的为数据库实例的监控指标分类的方法和为数据库实例分类的方法。
应当理解,为清楚起见,参考不同的功能单元对本申请的实施例进行了描述。然而,将明显的是,在不偏离本申请的情况下,每个功能单元的功能性可以被实施在单个单元中、实施在多个单元中或作为其它功能单元的一部分被实施。例如,被说明成由单个单元执行的功能性可以由多个不同的单元来执行。因此,对特定功能单元的参考仅被视为对用于提供所描述的功能性的适当单元的参考,而不是表明严格的逻辑或物理结构或组织。因此,本申请可以被实施在单个单元中,或者可以在物理上和功能上被分布在不同的单元和电路之间。
将理解的是,尽管第一、第二、第三等术语在本文中可以用来描述各种设备、元件、部件或部分,但是这些设备、元件、部件或部分不应当由这些术语限制。这些术语仅用来将一个设备、元件、部件或部分与另一个设备、元件、部件或部分相区分。
尽管已经结合一些实施例描述了本申请,但是其不旨在被限于在本文中所阐述的特定形式。相反,本申请的范围仅由所附权利要求来限制。附加地,尽管单独的特征可以被包括在不同的权利要求中,但是这些可以可能地被有利地组合,并且包括在不同权利要求中不暗示特征的组合不是可行的和/或有利的。特征在权利要求中的次序不暗示特征必须以其工作的任何特定次序。此外,在权利要求中,词“包括”不排除其它元件,并且术语“一”或“一个”不排除多个。权利要求中的附图标记仅作为明确的例子被提供,不应该被解释为以任何方式限制权利要求的范围。
Claims (16)
1.一种为数据库实例的监控指标分类的方法,其中所述监控指标反映所述数据库实例的故障,所述方法包括:
获取所述数据库实例的多个监控指标各自的时序数据;
针对所述多个监控指标中的每两个监控指标,基于所述每两个监控指标中的第一监控指标的第一时序数据和第二监控指标的第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相关系数;
将所述多个监控指标中的相关系数大于或等于预设强相关阈值的监控指标确定为属于同一类监控指标,以便所述同一类监控指标用于确定所述数据库实例的同一类故障。
2. 根据权利要求1所述的方法,其中,针对所述多个监控指标中的每两个监控指标,基于所述每两个监控指标中的第一监控指标的第一时序数据和第二监控指标的第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相关系数包括:
基于所述第一时序数据和所述第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相似度;以及
基于所述第一监控指标和所述第二监控指标之间的相似度,确定所述第一监控指标和所述第二监控指标之间的相关系数。
3. 根据权利要求2所述的方法,其中,基于所述第一时序数据和所述第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相似度包括:
计算多个预设时延中的每个时延下的所述第一时序数据和所述第二时序数据的各个相同时刻的值的乘积;以及
在所述每个时延下,分别累加所述第一时序数据和所述第二时序数据的各个相同时刻的数据值的乘积,以得到所述每个时延下的所述第一监控指标和第二监控指标的相似度。
4. 根据权利要求3的方法,其中,基于所述第一监控指标和所述第二监控指标之间的相似度,确定所述第一监控指标和所述第二监控指标之间的相关系数包括:
对所述每个时延下的所述第一监控指标和第二监控指标的相似度进行归一化处理,以得到所述每个时延下的所述第一监控指标和所述第二监控指标之间的归一化相似度;以及
取所述多个时延下的所述第一监控指标和所述第二监控指标之间的归一化相似度中的最大值作为所述第一监控指标和所述第二监控指标之间的相关系数。
5.根据权利要求1所述的方法,其中,获取所述数据库实例的多个监控指标各自的时序数据包括:
为所述多个监控指标各自的时序数据确定相同的时序数据采集时段;
采集所述多个监控指标各自在所述时序数据采集时段内的时序数据。
6.根据权利要求1所述的方法,其中,获取所述数据库实例的多个监控指标各自的时序数据包括:
为所述多个监控指标各自的时序数据确定相同的时序数据采样间隔;
每隔所述时序数据采样间隔,分别对所述多个监控指标的即时值进行采样,以获得所述多个监控指标各自的时序数据。
7.一种为数据库实例分类的方法,包括:
确定多个数据库实例中的每两个数据库实例之间的数据库实例相关系数,其包括:
获取所述每两个数据库实例中的第一数据库实例的第一监控指标组中的监控指标的时序数据和所述每两个数据库中的第二数据库实例的第二监控指标组中的监控指标的时序数据,其中所述第一监控指标组中的监控指标与第二监控指标组中的监控指标是相同的,并且第一监控指标组和第二监控指标组中的相同的监控指标构成相同监控指标对;
基于所述第一监控指标组中的监控指标的时序数据和所述第二监控指标组中的监控指标的时序数据,确定每个相同监控指标对的时序数据相关系数;和
基于所有相同监控指标对的时序数据相关系数,确定所述第一数据库实例和所述第二数据库实例之间的数据库实例相关系数;
将所述多个数据库实例中的数据库实例相关系数大于或等于预设强相关阈值的数据库实例确定为属于同一类数据库实例。
8.根据权利要求7所述的方法,其中,基于所述第一监控指标组中的监控指标的时序数据和所述第二监控指标组中的监控指标的时序数据,确定每个相同监控指标对的时序数据相关系数包括:
基于所述第一监控指标组中的监控指标的时序数据和所述第二监控指标组中的监控指标的时序数据,确定所述每个相同监控指标对的时序数据相似度;
基于所述每个相同监控指标对的时序数据相似度,确定所述每个相同监控指标对的时序数据相关系数。
9.根据权利要求8所述的方法,其中,基于所述第一监控指标组中的监控指标的时序数据和所述第二监控指标组中的监控指标的时序数据,确定所述每个相同监控指标对的时序数据相似度包括:
在多个预设时延中的每个时延下,计算所述相同监控指标对中的各监控指标的时序数据的各相同时刻的数据值的乘积;
在所述每个时延下,将各相同时刻的数据值的乘积进行累加,以得到所述每个时延下的所述相同监控指标对的时序数据相似度。
10.根据权利要求9所述的方法,其中,基于所述每个相同监控指标对的时序数据相似度,确定所述每个相同监控指标对的时序数据相关系数包括:
对所述每个时延下的所述相同监控指标对的时序数据相似度进行归一化处理,以得到所述每个时延下的所述相同监控指标对的归一化相似度;
取所述多个时延各自的所述相同监控指标对的归一化相似度中的最大值,作为所述每个相同监控指标对的时序数据相关系数。
11.根据权利要求7的方法,其中,基于所有相同监控指标对的时序数据相关系数,确定所述第一数据库实例和所述第二数据库实例之间的数据库实例相关系数包括:
对所有相同监控指标对的时序数据相关系数求平均值,以得到所述第一数据库实例和所述第二数据库实例之间的数据库实例相关系数。
12. 根据权利要求7所述的方法,还包括:
获取所述多个数据库实例各自的元数据信息,所述元数据信息包括所述多个数据库实例的地区、业务ID、业务方、业务类型、实例ID、实例所在园区和实例所在物理机中的至少一种;以及
基于所述多个数据库实例各自的元数据信息,重新确定所述多个数据库实例是否属于同一类数据库实例。
13.一种为数据库实例的监控指标分类的装置,包括:
监控指标时序数据获取模块,其配置成获取所述数据库实例的多个监控指标各自的时序数据,
监控指标相关系数确定模块,其配置成针对所述多个监控指标中的每两个监控指标,基于所述每两个监控指标中的第一监控指标的第一时序数据和第二监控指标的第二时序数据,确定所述第一监控指标和所述第二监控指标之间的相关系数,以及
监控指标分类模块,其配置成将所述多个监控指标中的相关系数大于或等于预设强相关阈值的监控指标确定为属于同一类监控指标,以便所述同一类监控指标用于确定所述数据库实例的同一类故障。
14.一种为数据库实例分类的装置,包括:
数据库实例相关系数确定模块,其配置成确定多个数据库实例中的每两个数据库实例之间的数据库实例相关系数,所述数据库实例相关系数确定模块包括:
监控指标时序数据获取模块,其配置成获取所述每两个数据库实例中的第一数据库实例的第一监控指标组中的监控指标的时序数据和所述每两个数据库中的第二数据库实例的第二监控指标组中的监控指标的时序数据,其中所述第一监控指标组中的监控指标与第二监控指标组中的监控指标是相同的,第一监控指标组和第二监控指标组中的相同的监控指标构成相同监控指标对;
时序数据相相关系数确定模块,其配置成基于所述第一监控指标组中的监控指标的时序数据和所述第二监控指标组中的监控指标的时序数据,确定每个相同监控指标对的时序数据相关系数;以及
数据库实例相关系数确定模块,其配置成基于所有相同监控指标对的时序数据相关系数,确定所述第一数据库实例和所述第二数据库实例之间的数据库实例相关系数;
所述装置还包括数据库实例分类模块,其配置成将所述多个数据库实例中的数据库实例相关系数大于或等于预设强相关阈值的数据库实例确定为属于同一类数据库实例。
15.一种计算设备,包括:
存储器,其被配置成存储计算机可执行指令;
处理器,其被配置成当所述计算机可执行指令被处理器执行时执行根据权利要求1-12中的任一项所述的方法。
16.一种计算机可读存储介质,其存储有计算机可执行指令,当所述计算机可执行指令被执行时,执行根据权利要求1-12中的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111003894.6A CN115729907A (zh) | 2021-08-30 | 2021-08-30 | 为数据库实例的监控指标分类的方法和装置、为数据库实例分类的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111003894.6A CN115729907A (zh) | 2021-08-30 | 2021-08-30 | 为数据库实例的监控指标分类的方法和装置、为数据库实例分类的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729907A true CN115729907A (zh) | 2023-03-03 |
Family
ID=85290712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111003894.6A Pending CN115729907A (zh) | 2021-08-30 | 2021-08-30 | 为数据库实例的监控指标分类的方法和装置、为数据库实例分类的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115729907A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117540258A (zh) * | 2024-01-10 | 2024-02-09 | 深圳市艾克姆科技发展有限公司 | 一种注塑生产监测方法、装置及系统 |
-
2021
- 2021-08-30 CN CN202111003894.6A patent/CN115729907A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117540258A (zh) * | 2024-01-10 | 2024-02-09 | 深圳市艾克姆科技发展有限公司 | 一种注塑生产监测方法、装置及系统 |
CN117540258B (zh) * | 2024-01-10 | 2024-05-03 | 深圳市艾克姆科技发展有限公司 | 一种注塑生产监测方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111984499B (zh) | 一种大数据集群的故障检测方法和装置 | |
Taleb et al. | Big data pre-processing: A quality framework | |
CN108923952B (zh) | 基于服务监控指标的故障诊断方法、设备及存储介质 | |
US10262032B2 (en) | Cache based efficient access scheduling for super scaled stream processing systems | |
US10409650B2 (en) | Efficient access scheduling for super scaled stream processing systems | |
US20190052575A1 (en) | Methods and systems providing a scalable process for anomaly identification and information technology infrastructure resource optimization | |
CN107729210B (zh) | 分布式服务集群的异常诊断方法和装置 | |
US9317539B2 (en) | Time-series database setup automatic generation method, setup automatic generation system and monitoring server | |
CN108683530B (zh) | 多维度数据的数据分析方法、装置及存储介质 | |
US7502971B2 (en) | Determining a recurrent problem of a computer resource using signatures | |
US10133775B1 (en) | Run time prediction for data queries | |
JP2018530803A (ja) | コンピュータ環境における根本原因分析および修復のために機械学習原理を活用する装置および方法 | |
CN111902805A (zh) | 根据应用程序遥测进行多变量异常检测 | |
CN112559271B (zh) | 分布式应用的接口性能监测方法、装置、设备及存储介质 | |
US9489379B1 (en) | Predicting data unavailability and data loss events in large database systems | |
US10657099B1 (en) | Systems and methods for transformation and analysis of logfile data | |
US20220107858A1 (en) | Methods and systems for multi-resource outage detection for a system of networked computing devices and root cause identification | |
WO2022001125A1 (zh) | 一种存储系统的存储故障预测方法、系统及装置 | |
Keeton et al. | Do you know your IQ? A research agenda for information quality in systems | |
CN113537337A (zh) | 训练方法、异常检测方法、装置、设备和存储介质 | |
CN116010220A (zh) | 一种告警诊断方法、装置、设备及存储介质 | |
CN115729907A (zh) | 为数据库实例的监控指标分类的方法和装置、为数据库实例分类的方法和装置 | |
US20210286777A1 (en) | Data access and recommendation system | |
Jain et al. | Log based method for faster IoT queries | |
US20190018723A1 (en) | Aggregating metric scores |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |