首页> 中国专利> 异常性能行为检测方法、系统、装置及存储介质

异常性能行为检测方法、系统、装置及存储介质

摘要

本申请公开了一种异常性能行为检测方法、系统、装置及计算机可读存储介质,本申请预先利用多种异常检测算法,全面分析出各种异常事件及其对应的异常特征数据,再利用异常事件和异常特征数据构建异常事件与异常事件、异常事件与异常特征数据、异常特征数据与异常特征数据之间的异常关联关系,紧密联系异常事件与异常特征数据,使得能够整体分析异常事件与异常特征数据,最后利用历史异常关联关系、历史异常事件和历史异常特征数据,构建的知识图谱模型能够有效全面的分析出数据中心当前的异常事件和相应的异常特征数据,检测结果更为全面和准确。

著录项

  • 公开/公告号CN112882911A

    专利类型发明专利

  • 公开/公告日2021-06-01

    原文格式PDF

  • 申请/专利号CN202110137565.4

  • 发明设计人 任睿;

    申请日2021-02-01

  • 分类号G06F11/34(20060101);G06F11/30(20060101);G06F16/36(20190101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人刘新雷

  • 地址 071000 河北省保定市容城县上坡村上坡街88号101室

  • 入库时间 2023-06-19 11:11:32

说明书

技术领域

本发明涉及分布式存储领域,特别涉及一种异常性能行为检测方法、系统、装置及计算机可读存储介质。

背景技术

数据中心基础设施的运维管理是为了确保数据中心环境能够满足计算机设备正常运行所需的各类设施、客户SLA和可靠性的要求。由于数据中心规模的逐渐增大,服务器节点类型复杂、运维问题类型众多、问题发生不可预测,所以系统运维也面临着越来越多的难点,如何在大规模运维场景下,基于监控数据进行智能的运维决策触发,实现自动化智能化操作的运维能力,是现代化运维手段的关键。

传统的自动化运维主要通过基于规则的模板进行触发,但由于现在的服务器节点类型复杂、运维问题类型众多、失效原因难以快速定位,基于人工的规则在很多情况下无法解决问题。而知识图谱作为一种高质量结构化数据,可以利用知识图谱构建一个全面的运维知识库,利用机器学习技术实现自动化运维。例如,对服务器硬件、操作系统、作业调度系统、计算应用的各种状态信息,如CPU使用率、作业负载、存储使用率等进行分析处理,形成业务运行数据。同时,利用收集到的用户信息、设备的硬件信息、虚拟机信息等信息作为节点属性来创建实体节点;再创建节点之间的关系,即利用各个实体节点之间的关系建立关系连接,形成关系连接作为知识图谱的关系数据,从而构建出运维知识图谱,从而实现智能化的运维管理。

目前,现有的运维知识图谱往往主要以配置管理数据库(ConfigurationManagement Database,CMDB)和运维知识库为主,通过自动丰富运维知识,形成企业专有的运维知识库。然而,以CMDB为核心构建的配置变更管理库,需要依托于变更流程对配置进行改变,使用非实时更新的机制,无法适应容器以及云环境(容器环境和云环境,资源之间的关系是完全动态的)。并且,传统配置变更的拓扑也不是时序化的,也无法根据故障时间找出对应的拓扑。同时,传统的运维知识库是静态和单一化的,无法满足快速精确的运维需求。

然而,大多数现有的运维知识图谱都是以半自动或者人工的方式构建,因此又存在两个问题:(1)运维知识不完整,知识图谱中很多实体之间潜在的关系没有被挖掘;(2)扩展性较差,不能自动地向知识图谱中添加新实体。

因此,需要一种能够更为全面有效反映异常事件与相关异常数据的检测方法。

发明内容

鉴于此,本发明的目的在于提供一种异常性能行为检测方法、系统、装置及计算机可读存储介质,能够更为全面有效的进行异常发现和故障诊断。其具体方案如下:

一种异常性能行为检测方法,包括:

获取数据中心的性能数据;

利用预先构建的知识图谱模型,对所述性能数据进行分析,得到异常事件的异常参数;

其中,所述知识图谱模型为预先构建过程,包括:

对所述数据中心的历史性能数据进行特征提取,得到与不同历史事件对应的历史特征数据;

利用异常检测算法集检测与不同历史事件对应的历史特征数据,得到多个历史异常事件和相应的历史异常特征数据;

利用每个历史异常事件和相应的历史异常特征数据,构建历史异常事件和相应的历史异常特征数据的历史异常关联关系;所述历史异常特征数据包括指标和性能因素;

利用历史异常关联关系、历史异常事件和历史异常特征数据,构建所述知识图谱模型。

可选的,所述获取数据中心的性能数据的过程,包括:

获取数据中心的硬件层性能数据、体系结构层性能数据、系统层性能数据和应用层性能数据。

可选的,所述对所述数据中心的历史性能数据进行特征提取,得到与不同历史事件对应的历史特征数据的过程,包括:

对所述数据中心的历史性能数据进行特征提取,得到与不同单场景历史事件对应的历史特征数据。

可选的,所述利用异常检测算法集检测与不同历史事件对应的历史特征数据,得到多个历史异常事件和相应的历史异常特征数据的过程,包括:

利用异常检测算法集检测与不同历史事件对应的历史特征数据,得到多个历史异常事件和相应的历史异常特征数据;

其中,所述异常检测算法集包括负载不均衡检测算法、数据量倾斜检测算法、数据放置不均衡检测算法、异常节点检测算法、异常指标检测算法、进程间干扰检测算法和系统故障类别检测算法。

本发明还公开了一种异常性能行为检测系统,包括:

性能数据获取模块,用于获取数据中心的性能数据;

知识图谱分析模块,用于利用预先构建的知识图谱模型,对所述性能数据进行分析,得到异常事件的异常参数;

其中,所述知识图谱分析模块,包括:

特征数据提取单元,用于对所述数据中心的历史性能数据进行特征提取,得到与不同历史事件对应的历史特征数据;

异常事件检测单元,用于利用异常检测算法集检测与不同历史事件对应的历史特征数据,得到多个历史异常事件和相应的历史异常特征数据;

关联因素构建单元,用于利用每个历史异常事件和相应的历史异常特征数据,构建历史异常事件和相应的历史异常特征数据的历史异常关联关系;所述历史异常特征数据包括指标和性能因素;

知识图谱构建单元,用于利用历史异常关联关系、历史异常事件和历史异常特征数据,构建所述知识图谱模型。

可选的,所述性能数据获取模块,具体用于获取数据中心的硬件层性能数据、体系结构层性能数据、系统层性能数据和应用层性能数据。

可选的,所述特征数据提取单元,具体用于对所述数据中心的历史性能数据进行特征提取,得到与不同单场景历史事件对应的历史特征数据。

可选的,所述异常事件检测单元,具体用于利用异常检测算法集检测与不同历史事件对应的历史特征数据,得到多个历史异常事件和相应的历史异常特征数据;

其中,所述异常检测算法集包括负载不均衡检测算法、数据量倾斜检测算法、数据放置不均衡检测算法、异常节点检测算法、异常指标检测算法、进程间干扰检测算法和系统故障类别检测算法。

本发明还公开了一种异常性能行为检测装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现如前述的异常性能行为检测方法。

本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的异常性能行为检测方法。

本发明中,异常性能行为检测方法,包括:获取数据中心的性能数据;利用预先构建的知识图谱模型,对性能数据进行分析,得到异常事件的异常参数;其中,知识图谱模型为预先构建过程,包括:对数据中心的历史性能数据进行特征提取,得到与不同历史事件对应的历史特征数据;利用异常检测算法集检测与不同历史事件对应的历史特征数据,得到多个历史异常事件和相应的历史异常特征数据;利用每个历史异常事件和相应的历史异常特征数据,构建历史异常事件和相应的历史异常特征数据的历史异常关联关系;历史异常特征数据包括指标和性能因素;利用历史异常关联关系、历史异常事件和历史异常特征数据,构建知识图谱模型。

本发明预先利用多种异常检测算法,全面分析出各种异常事件及其对应的异常特征数据,再利用异常事件和异常特征数据构建异常事件与异常事件、异常事件与异常特征数据、异常特征数据与异常特征数据之间的异常关联关系,紧密联系异常事件与异常特征数据,使得能够整体分析异常事件与异常特征数据,最后利用历史异常关联关系、历史异常事件和历史异常特征数据,构建的知识图谱模型能够有效全面的分析出数据中心当前的异常事件和相应的异常特征数据,检测结果更为全面和准确。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种异常性能行为检测方法流程示意图;

图2为本发明实施例公开的一种知识图谱模型预先构建方法流程示意图;

图3为本发明实施例公开的一种异常指标检测算法流程示意图;

图4为本发明实施例公开的一种异常性能行为检测系统结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种异常性能行为检测方法,参见图1所示,该方法包括:

S11:获取数据中心的性能数据。

具体的,数据中心中的性能数据为多维度数据,可以将其大致划分为硬件层性能数据、体系结构层性能数据、系统层性能数据和应用层性能数据,四大类数据,通过采用一个细粒度多层次的性能数据采集框架,从下到上同时采集数据中心系统上硬件层、体系结构层、系统层、大数据框架层、应用负载层上的性能数据,并作为大数据系统性能分析的原始输入,可有效地刻画大数据应用在整个生命周期的性能状况,以便用于后续的关联分析和性能诊断。

具体的,硬件层的硬件层性能数据主要包括硬件温度、功耗等硬件参数;在硬件层,主要依赖于现有CPU提供的一组特殊的寄存器——硬件计数器,可以采集硬件的功耗及温度信息等。

具体的,体系结构层的体系结构层性能数据主要有IPC、指令比例、TLB Miss、Cache Miss、访存带宽等;在体系结构层上,可以利用现有CPU提供的硬件计数器,硬件计数器可以记录微体系结构层事件发生的次数。

具体的,系统层的系统层性能数据主要包括CPU利用率,磁盘I/O,内存管理,网络和进程相关信息等,以及系统日志。其中,Linux系统下,在系统层的数据获取主要来自于Linux自带的文件系统proc,proc文件系统是一种无存储的文件系统,当读其中的文件时,其内容动态生成,当写文件时,文件所关联的写函数被调用,内核部件可以通过该文件系统向用户空间提供接口来提供查询信息、修改软件行为,而这些信息几乎涵盖内核的所有部分和系统的关键性能参数。此外,系统日志包括系统RAS日志和系统安全审计日志等,主要记录了系统中硬件、软件和系统问题的信息,同时还可以用于监视系统中发生的事件。针对系统日志,可以通过Rsyslog或syslog或其他日志采集工具来收集。

具体的,在数据中心应用框架层上,应用层性能数据主要包括与应用框架等相关的配置信息和相关日志;在应用负载层,则主要是用户代码层上的Profile信息等。针对这些不同层次上的性能数据,可以用不同的数据采集工具来获得,例如,使用日志收集工具搜集数据中心应用框架在运行时输出的当前应用、任务和阶段的日志等信息,之后再从中可以解析出性能相关的数据。

S12:利用预先构建的知识图谱模型,对性能数据进行分析,得到异常事件的异常参数。

具体的,本发明实施例的知识图谱模型为预先构建了各种异常事件与各种异常特征数据之间的异常关联关系的知识图谱模型,利用异常关联关系能够全面反映各种异常事件和各种异常特征数据之间的相互影响关系,将每种单场景下的异常事件及其异常特征数据与其它场景下的异常事件及其异常特征数据进行了关联,能够更好的体现数据中心在实际应用中复杂场景下,出现异常的情况,因此,能够更为全面准确的分析数据应用中的性能数据,查找出当前存在的异常事件及其相应的异常参数,异常参数可以包括异常特征数据。

其中,参见图2所示,知识图谱模型为预先构建的具体过程,可以包括S121至S124:

S121:对数据中心的历史性能数据进行特征提取,得到与不同历史事件对应的历史特征数据。

具体的,历史性能数据为历史对数据中心进行数据获取得到的,具体获取过程与S11中的获取过程一致,在此不做赘述。

具体的,得到历史性能数据后,对历史性能数据进行特征提取,为了便于对各种数据进行归类和分析,以便有效的提取,统一描述应用在数据中心系统不同层次上执行主体的行为和性能表现,定义了事件(Eevnt)和指标(Metric)。

其中,事件为将应用在数据中心系统中不同层次上执行主体的行为抽象为事件,可以分为三类事件:(1)应用层事件:应用的执行任务、执行阶段、用户操作等;(2)系统层事件:处理器进程/线程、通信进程/线程等;(3)硬件层事件:处理器控制指令、访存指令等。

其中,指标为应用在数据中心系统中不同层次上的性能表现值可通过指标来表达,可以分为三类指标:(1)应用层指标:负载在应用层习上最直观的性能观察指标,如每秒钟处理的数据量,同时还能分析应用的处理逻辑如:算法复杂度、数据变化规律(即数据在应用处理过程中的变化);(2)系统层指标:反映了软件运行环境、操作系统、硬件环境等的行为,主要包括系统各组件的单项性能以及组件间的交互情况;(3)体系结构层指标:包括指令比例、访存相关的微架构层指标。常用的指标如表所示,而且不同的指标中已经包含了系统组件或执行主体的信息,例如,CPU利用率显示的是处理器性能状态。

进一步的,面对数据中心繁多的事件和指标,并且不同的事件和指标还可能存在依赖或传播关系,那么,仅仅分析单一的异常事件或指标,是无法对数据中心的性能进行全面精确地诊断。于是,将数据中心的性能问题进行分解,将繁杂的性能问题分解为一个个可解的单场景性能问题,之后再将单场景性能问题进行关联,从而可实现性能的自适应分析。针对单场景性能问题,定义了性能状态(Status)和性能因素(Factor)。其中,性能状态指事件或指标所具有的性能状态,主要包括:正常(Normal)状态和异常(Abnormal)状态。性能因素指具有某种性能状态的事件或指标,主要包括正常/异常事件和正常/异常指标。

S122:利用异常检测算法集检测与不同历史事件对应的历史特征数据,得到多个历史异常事件和相应的历史异常特征数据。

具体的,利用多种针对性的异常检测算法分别检测不同的异常问题,从而能够全面分析出历史特征数据中包括的历史异常事件,例如,可以检测数据中心是否存在负载不均衡的现象、数据中心应用的数据分布是否存在倾斜现象、数据中心应用的数据放置位置是否存在不均衡的现象、数据中心是否存在异常节点、数据中心是否存在异常的指标、数据中心是否存在进程互相干扰的现象和数据中心存在的故障类别或失效类别等,得到多个历史异常事件,并且也能够得到与每个历史异常事件对应的历史异常特征数据。

可以理解的是,本发明实施例不局限于上述具体的异常现象和异常检测方法,即结合不同层次上性能问题的具体情况,使用基于数据驱动和模型驱动的性能异常检测技术,可以对多种异常状况进行检测。

S123:利用每个历史异常事件和相应的历史异常特征数据,构建历史异常事件和相应的历史异常特征数据的历史异常关联关系。

具体的,一个异常出现会导致连锁反映,容易引起多个异常出现,因此,为了深度研究各个异常事件与异常特征数据之间的关系,构建历史异常事件和相应的历史异常特征数据的历史异常关联关系。

具体的,数据中心的性能元素进行相关关联分析,性能元素包括异常事件和相应的异常特征数据,即对每个历史异常事件和相应的历史异常特征数据之间的相关关系进行统计和关联分析,其中,历史异常特征数据包括指标和性能因素。例如,由统计学家卡尔·皮尔逊设计的统计指标——相关系数,就是研究变量之间线性相关程度的量。相关分析不仅仅可以分析两个性能因素之间的相关关系,还可以分析多个性能因素之间的相关关系。同时,还可以利用关联挖掘算法发现不同性能元素之间可能存在的频繁关联模式。

具体地,在数据中心的应用场景下,定义以下四类相关关系:异常事件和异常事件之间的相关关系,指标和指标之间的相关关系,事件和指标之间的相关关系,性能因素和性能因素之间的相关关系。

进一步的,要分析不同性能元素之间的因果关系,可以从统计学的角度,通过概率或者分布函数来体现:在所有其它事件的发生情况固定不变情况下,如果一个事件A的发生与不发生对于另一个事件B的发生概率有影响,并且这两个事件在时间上有先后顺序(事件A发生在事件B之前,即A和B存在前序关系),那么可以说A是B的原因。例如,可以借鉴格兰杰因果关系理论,通过统计学假设检验来确定两个变量中的一个变量是否对另外一个变量的预测产生正确影响。或者通过因果路径挖掘及概率模型来建立系统中不同性能元素之间的因果关系关系,进一步推导性能问题的因果链。

具体地,基于不同的性能元素,可以定义九类因果关系:1、事件和事件之间具有因果关系,即某个事件的发生导致了另一个事件发生。2、事件和指标之间具有因果关系,即某个事件的发生导致了某个指标出现变化。3、事件和性能因素之间具有因果关系,即某个事件的发生导致了某个指标出现变化。4、指标和指标之间具有因果关系,即某个指标的变化导致了另一个指标的变化。5、事件和指标之间具有因果关系,即某个指标的变化导致了某个事件发生。6、事件和性能因素之间具有因果关系,即某个指标的变化导致了某个事件发生。7、性能因素和性能因素之间具有因果关系,即某个性能因素的变化导致了另一个性能因素的变化。8、性能因素和事件之间具有因果关系,即某个性能因素的变化导致了某个事件的发生。9、性能因素和指标之间具有因果关系,即某个性能因素的变化导致了某个指标发生变化。

S124:利用历史异常关联关系、历史异常事件和历史异常特征数据,构建知识图谱模型。

具体的,综合上述得到的历史异常关联关系、历史异常事件和历史异常特征数据,便可以得到对数据中心服务器硬件、操作系统、作业调度系统、计算应用的多维信息,抽象出不同运维事件的三元组(实体-关系-实体),从而确保知识图谱模型能够多维度的分析性能数据,得到更为全面和准确的异常检测结果。其中,实体是指抽象出的性能事件、指标、因素,关系是指实体间的相关关联关系。

可见,本发明实施例预先利用多种异常检测算法,全面分析出各种异常事件及其对应的异常特征数据,再利用异常事件和异常特征数据构建异常事件与异常事件、异常事件与异常特征数据和异常特征数据与异常特征数据之间的异常关联关系,紧密联系异常事件与异常特征数据,使得能够整体分析异常事件与异常特征数据,最后利用历史异常关联关系、历史异常事件和历史异常特征数据,构建的知识图谱模型能够有效全面的分析出数据中心当前的异常事件和相应的异常特征数据,检测结果更为全面和准确。

本发明实施例公开了一种具体的异常性能行为检测方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

具体的,异常检测算法集,可以具体包括负载不均衡检测算法、数据量倾斜检测算法、数据放置不均衡检测算法、异常节点检测算法、异常指标检测算法、进程间干扰检测算法和系统故障类别检测算法等算法。

具体的,如下为数据放置不均衡检测算法具体应用场景:数据放置是影响任务运行时间和负载均衡的另一个重要因素。要判断数据放置是否均衡,主要从数据局部性(DataLocality)进行考虑:数据局部性表示数据和执行代码的空间接近程度,如果数据和代码不在同一个节点或机架,就会产生远程数据传输的开销,从而影响任务处理数据的速度;尽量让数据接近处理代码,则可以减小长途拷贝数据和迁移数据的开销,从而提高大数据应用的性能。

在Spark框架上,数据局部性的优先级包括:

(1)PROCESS_LOCAL(本地处理),数据和代码在同一JVM上;

(2)NODE_LOCAL(本地节点),数据和代码在同一节点上;

(3)NO_PREF(无差别),当数据在任何地方被处理时没有差别,意味着它没有局部性能;

(4)RACK_LOCAL(本地机架),数据和代码在同一个机架上;

(5)ANY(任何),数据和代码在不同的机器交叉的机架。

其中,从PROCESS_LOCAL到ANY,意味着从高优先级到低优先级。

而Hadoop框架上数据局部性的优先级包括:

(1)NODE_LOCALITY(节点局部性);

(2)RACK_LOCALITY(机架局部性);

(3)OFF_SWITCH(数据中心局部性)。

其中,从NODE_LOCALITY到OFF_SWITCH,也是按照高优先级到低优先级的次序。

由于不同优先级的数据局部性可能对任务的运行时间产生不同的影响,所以主要判断数据局部性对任务运行时长的影响。首先,将任务的运行时长划分为两个类别:(1)正常运行时长,(2)异常运行时长,并用

表1Spark框架上数据局部性优先级的权重设置和表2Hadoop框架上数据局部性优先级的权重设置分别列出了为Spark和Hadoop框架中各类数据局部性优先级设置的权重值大小,其中,设置的权重值越大,说明该类数据局部性对运行时长的影响越大,若数据局部性优先级的权重为0,则表示该类数据局部性对运行时长无影响。

表1

表2

具体的,Algorithm 2基于欧氏距离的数据放置不均衡检测算法如下:

上述算法给出了基于欧式距离的数据放置不均衡检测算法。首先,通过计算各个任务的运行时长与运行时长均值之间的距离dis

进一步地,再引入数据局部性的优先级权重,通过前述定义的Ratio(locality

具体的,如下为异常指标检测检测算法的具体应用场景:为了检测每一个阶段Si上存在的异常指标,将节点k上的性能指标构建为性能指标矩阵X

然后,基于构建的性能指标矩阵,通过主成分分析、时间序列变换、标准化和离群点检测算法来发现存在的异常指标。其中,图3给出了异常指标检测流程的示例图。

通过观察发现,并不是所有的指标都和异常性能具有较强的相关性,而且不同的大数据应用和不同阶段的执行行为会对不同的性能指标产生不同程度的影响。为了减少数据集的维数以减少复杂度,并同时保持数据集中对方差贡献最大的特征,采用了主成分分析(Principal components analysis,PCA)来进行降维。主成分分析是一种统计过程,它使用正交转换将一组可能相关的变量观测值转换为一组线性无关的变量(主成分),并且主成分的数量少于或者等于原始变量数量。

在具体实现中,通过计算性能指标矩阵的协方差矩阵,然后得到协方差矩阵的特征值特征向量,并选择特征值最大(即方差最大)的前d个特征所对应的特征向量构成一个新矩阵,从而实现数据特征的降维,即得到性能指标矩阵Xsi中的主成分特征是协方差矩阵

然后再通过累积贡献率CCRated来选择出前d个主成分指标PCd,也就是说,累积贡献率超过一定阈值的那些特征向量才会被选择为主成分向量。在实验中,选择0.95作为选择主成分指标的累积贡献率。

那么,经过主成分分析对性能指标矩阵进行降维,原来性能指标矩阵X

(2)时间序列变换

通过主成分分析,能得到d个主成分指标。对每一个主成分指标,大数据应用阶段Si在每一个节点k上的主成分指标会构成一组时间序列,例如,第一个主成分指标PC1的时间序列为

均值变换公式:

(3)标准化

系统中不同的性能指标通常具有不同的单位,取值的范围也可能具有较大的差距。例如,CPU利用率和内存使用率的单位通常是百分比(%),取值在0和1之间。而磁盘读写带宽和网络收发带宽的单位则是MB/s或KB/s等。于是,通过标准化方法对不同尺度上的性能指标值调整到一个统一的范围内。

在本节中,使用线性的Min-Max标准化方法将时序变换后的指标值转换到0到1之间。具体地,Min-Max标准化的表达式

(4)基于距离和量纲的离群点检测

离群点检测的主要目的是为了检测出那些与正常数据的特征属性或行为差别较大的异常数据或行为,一般来说,离群数据相对于正常数据来说往往数据体量较小,但是也不能忽视这些离群点的影响。

在本节中,要检测出大数据应用的各个阶段是否在集群节点上存在异常指标。那么,将集群中所有计算节点上标准化后的指标值

具体地,提出了一种结合距离和量纲的非监督离群点检测算法。一般来说,在基于距离的离群点检测中,如果数据集合D中对象至少有pct部分与对象o的距离大于dmin,则称对象o是以pct和dmin为参数的基于距离的离群点,即DB(pct,dmin)离群点。其中,pct和dmin参数值的确定及有效性的评估(判断一个DB(pct,dmin)离群点是否是真正的离群点)是需要专家的经验进行指导。针对标准化后的性能指标数据,通过设置合适的参数,使用基于距离的离群点检测算法能够检测出数据集中的大部分异常值,但仍然有一些异常值会被遗漏。例如,获得了一组cpu_usage指标的值,分别为[hw073:0.006838,hw106:0.15604399,hw114:0.17810599],当设置dmin为0.5及pct为1时,不能检测出异常值;而实际上,可以直观地将0.006838视为异常点。

于是,使用对数方法(例如,使用log(10)对标准化后的原始数据进行转换,从而获得该数值所在数量级的量纲,比如,[hw073:2,hw106:0,hw114:0],那么,基于对数化的数值,可以将hw073节点上的cpu_usage视为异常值。在此之后,就可以通过基于距离的检测算法分析剩余的两个节点。

在一种基于距离和量纲的异常指标检测算法的伪代码算法中,将参数pct的默认值设置为1,而参数dmin的值可调整。该算法的步骤如下:

(1)通过对数方法获得指标值所在数量级的量纲,再使用基于量纲的离群点检测算法进行异常指标检测。即计算出所有指标值量纲的中值,然后计算每个指标值量纲与中值的距离dis,如果某个指标值量纲的距离dis大于距离的均值avg(dis),则将该指标值量纲加入到怀疑组SuspG。再比较怀疑组中所有指标值量纲与量纲中值的距离dis(SuspG),如果dis(SuspG)和avg(dis)之间的差值大于方差(variance),那么就将该指标值量纲看作离群点。

(2)使用基于距离的离群点检测算法进行异常指标检测。具体地,将指标值划分为两个类别:A类和B类,其中一个为较大类(包含指标值个数较多的类别),另一个为较小类(包含指标值个数较少的类别)。其中,分别使用两种方法来计算较大类的代表点,一种方法是计算较大类的最大值/最小值,另一种方法是计算较大类的中值。之后再计算较小类中所有指标与较大类代表点之间的距离,如果计算出的距离值大于阈值dmin,则将对应的指标值看作是离群点。在后续的实验评估中,比较了在不同dmin值下,分别使用最大值/最小值和中值代表大类的离群点检测结果。

相应的,本发明实施例还公开了一种异常性能行为检测系统,参见图4所示,该系统包括:

性能数据获取模块11,用于获取数据中心的性能数据;

知识图谱分析模块12,用于利用预先构建的知识图谱模型,对性能数据进行分析,得到异常事件的异常参数;

其中,知识图谱分析模块12,包括:

特征数据提取单元,用于对数据中心的历史性能数据进行特征提取,得到与不同历史事件对应的历史特征数据;

异常事件检测单元,用于利用异常检测算法集检测与不同历史事件对应的历史特征数据,得到多个历史异常事件和相应的历史异常特征数据;

关联因素构建单元,用于利用每个历史异常事件和相应的历史异常特征数据,构建历史异常事件和相应的历史异常特征数据的历史异常关联关系;历史异常特征数据包括指标和性能因素;

知识图谱构建单元,用于利用历史异常关联关系、历史异常事件和历史异常特征数据,构建知识图谱模型。

可见,本发明实施例预先利用多种异常检测算法,全面分析出各种异常事件及其对应的异常特征数据,再利用异常事件和异常特征数据构建异常事件与异常事件、异常事件与异常特征数据和异常特征数据与异常特征数据之间的异常关联关系,紧密联系异常事件与异常特征数据,使得能够整体分析异常事件与异常特征数据,最后利用历史异常关联关系、历史异常事件和历史异常特征数据,构建的知识图谱模型能够有效全面的分析出数据中心当前的异常事件和相应的异常特征数据,检测结果更为全面和准确。

具体的,上述性能数据获取模块,可以具体用于获取数据中心的硬件层性能数据、体系结构层性能数据、系统层性能数据和应用层性能数据。

具体的,上述特征数据提取单元,可以具体用于对数据中心的历史性能数据进行特征提取,得到与不同单场景历史事件对应的历史特征数据。

具体的,上述异常事件检测单元,可以具体用于利用异常检测算法集检测与不同历史事件对应的历史特征数据,得到多个历史异常事件和相应的历史异常特征数据;

其中,异常检测算法集包括负载不均衡检测算法、数据量倾斜检测算法、数据放置不均衡检测算法、异常节点检测算法、异常指标检测算法、进程间干扰检测算法和系统故障类别检测算法。

此外,本发明实施例还公开了一种异常性能行为检测装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序以实现如前述的异常性能行为检测方法。

另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述的异常性能行为检测方法。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号