一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于监控数据中心状态的方法、装置、设备及介质与流程

2022-06-02 14:45:26 来源:中国专利 TAG:


1.本公开涉及人工智能领域,更具体地涉及一种用于监控数据中心状态的方法和装置,一种用于监控数据中心状态的神经网络模型的训练方法和装置,以及一种电子设备,介质和程序产品。


背景技术:

2.大型数据中心的构成较为复杂。在日常生产活动中,任何一个环节出现故障,对故障根本原因的排查都较为复杂。现有技术中,对大型数据中心进行故障定位方式主要分为两大类:传统报警定义和报警关联分析。然而,这两种方式都是在接到报警信号后再通过人工关联分析来排查故障根源,难以分析清楚数据中心集群内部各节点的状态以及节点之间的相互影响,不仅效率低,消耗大量人力和物力,而且难以通用地应用于各种类型的数据中心。


技术实现要素:

3.鉴于上述问题,本公开提供了可以提高数据中心状态监控效率和准确率的用于监控数据中心状态的方法和装置、用于监控数据中心状态的神经网络模型的训练方法和装置、以及电子设备、介质和程序产品。
4.本公开实施例的第一个方面,提供了一种用于监控数据中心状态的方法。所述方法包括:在r个时刻采集所述数据中心的n个设备各自的特征数据,得到r个特征数据序列,其中,在每个所述特征数据序列中通过开始标志位标识出起始位置,其中,r、n分别为大于或等于1的整数;基于每个所述特征数据序列得到一个特征矩阵,其中,所述特征数据序列中的开始标志位和所述n个设备各自的所述特征数据分别对应转换为所述特征矩阵中的特征向量;利用神经网络模型处理所述特征矩阵,得到所述神经网络模型输出的输出矩阵,其中,所述输出矩阵中的向量与所述特征矩阵中的特征向量一一对应;其中,所述神经网络模型为通过预训练技术训练得到的;以及基于所述输出矩阵中与开始标志位对应的向量,得到所述数据中心的状态信息,所述状态信息包括所述数据中心的运行状态信息或时间状态信息至少之一。
5.根据本公开的实施例,所述状态信息包括所述数据中心的运行状态信息,所述基于所述输出矩阵中与开始标志位相对应的向量,得到所述数据中心的状态信息包括:利用集群状态分类器对所述输出矩阵中与开始标志位对应的向量进行分类,得到第一分类结果;其中,所述第一分类结果用于指示所述数据中心是否存在异常。
6.根据本公开的实施例,所述方法还包括:在所述第一分类结果表明所述数据中心存在异常时,利用与所述n个设备中的每个设备对应的设备状态分类器,来对所述输出矩阵中与每个设备对应的向量进行分类,得到第二分类结果;其中,所述第二分类结果用于指示设备是否存在故障。
7.根据本公开的实施例,通过如下方式训练所述神经网络模型:获取在m个历史时刻
采集的m个所述特征数据序列,以得到用于训练的m个历史特征数据序列,其中,m为大于或等于1的整数;将基于每个所述历史特征数据序列得到的所述特征矩阵作为历史特征矩阵;将所述历史特征矩阵输入到所述神经网络模型,得到所述神经网络模型输出的第一历史输出矩阵;将所述历史特征矩阵中部分设备对应的所述特征向量进行数据掩码,得到半掩特征矩阵;将所述半掩特征矩阵输入到所述神经网络模型,得到所述神经网络模型输出的第二历史输出矩阵;以及基于所述第一历史输出矩阵与所述第二历史输出矩阵的差异,反向优化所述神经网络模型。
8.根据本公开的实施例,所述将所述历史特征矩阵中部分设备对应的所述特征向量进行数据掩码,得到半掩特征矩阵,包括以下至少之一:将所述部分设备对应的所述特征向量用零向量替换;或者将所述部分设备对应的所述特征向量替换为其他设备对应的所述特征向量。
9.根据本公开的实施例,当r大于1,且所述状态信息包括所述数据中心的时间状态信息时,所述基于所述输出矩阵中与开始标志位相对应的向量,得到所述数据中心的状态信息包括:将每两个所述输出矩阵中与开始标志位对应的向量成对输入到时序状态分类器;以及获得所述时序状态分类器输出的第三分类结果,所述第三分类结果用于指示成对输入的两个向量对应的时刻是否具有先后顺序。
10.根据本公开的实施例,所述方法还包括:根据所述第三分类结果,将r个所述输出矩阵按照在时间上所具有的先后顺序进行排序;以及按照r个所述输出矩阵的顺序相应地对r个所述特征数据序列、以及r个所述特征矩阵进行排序。
11.根据本公开的实施例,所述方法还包括通过如下方式训练所述神经网络模型:获取在q个历史时刻采集的q个所述特征数据序列,以得到用于训练的q个历史特征数据序列,其中q为大于或等于1的整数;将基于每个所述历史特征数据序列得到所述特征矩阵作为历史特征矩阵;将所述历史特征矩阵输入到所述神经网络模型,得到所述神经网络模型输出的历史输出矩阵;从每个所述历史输出矩阵中抽取出与开始标志位对应的向量以作为历史标志位向量;将抽取出的q个所述历史标志位向量两两成对并划分到两个类别中,其中,一个类别中每对所述历史标志位向量对应的时刻具有先后顺序,在另一个类别中每对所述历史标志位向量对应的时刻为随机关系;将每对所述历史标志位向量输入到所述时序状态分类器,获得所述时序状态分类器输出的所述第三分类结果;以及基于所述时序状态分类器输出的所述第三分类结果与每对所述历史标志位向量所属的类别的差异,联合训练所述神经网络模型和所述时序状态分类器。
12.根据本公开的实施例,所述神经网络模型中设置有自注意力机制。
13.根据本公开的实施例,所述神经网络模型为transformer模型。
14.本公开实施例的第二方面,还提供了一种用于监控数据中心状态的神经网络模型的训练方法。所述训练方法包括:获取在m个时刻采集的所述数据中心的n个设备各自的特征数据,得到m个历史特征数据序列,其中,在每个所述历史特征数据序列中通过开始标志位标识出起始位置;其中,r、n分别为大于或等于1的整数;基于每个所述历史特征数据序列得到一个历史特征矩阵,其中,所述历史特征数据序列中的开始标志位和所述n个设备各自的所述特征数据分别对应转换为所述历史特征矩阵中的特征向量;将所述历史特征矩阵输入到所述神经网络模型,得到所述神经网络模型输出的第一历史输出矩阵;将所述历史特
征矩阵中部分设备对应的所述特征向量进行数据掩码,得到半掩特征矩阵;将所述半掩特征矩阵输入到所述神经网络模型,得到所述神经网络模型输出的第二历史输出矩阵;以及基于所述第一历史输出矩阵与所述第二历史输出矩阵的差异,反向优化所述神经网络模型。
15.根据本公开的实施例,所述将所述历史特征矩阵中部分设备对应的所述特征向量进行数据掩码,得到半掩特征矩阵,包括以下至少之一:将所述部分设备对应的所述特征向量用零向量替换;或者将所述部分设备对应的所述特征向量替换为其他设备对应的所述特征向量。
16.本公开实施例的第三方面,还提供了一种用于监控数据中心状态的神经网络模型的训练方法。所述训练方法包括:获取在q个时刻采集的所述数据中心的n个设备各自的特征数据,得到q个历史特征数据序列,其中,在每个所述历史特征数据序列中通过开始标志位标识出起始位置;其中,q、n分别为大于或等于1的整数;基于每个所述历史特征数据序列得到一个历史特征矩阵,其中,所述历史特征数据序列中的开始标志位和所述n个设备各自的所述特征数据分别对应转换为所述历史特征矩阵中的特征向量;将所述历史特征矩阵输入到所述神经网络模型,得到所述神经网络模型输出的历史输出矩阵;从每个所述历史输出矩阵中抽取出与开始标志位对应的向量作为历史标志位向量;将抽取出的q个所述历史标志位向量两两成对并划分到两个类别中,其中,一个类别中每对所述历史标志位向量对应的时刻具有先后顺序,在另一个类别中每对所述历史标志位向量对应的时刻为随机关系;将每对所述历史标志位向量输入到时序状态分类器,获得所述时序状态分类器输出的第三分类结果,所述第三分类结果用于指示成对输入的两个所述历史标志位向量对应的时刻是否具有先后顺序;以及基于所述时序状态分类器输出的所述第三分类结果与每对所述历史标志位向量所属的类别的差异,反向优化所述神经网络模型和所述时序状态分类器。
17.本公开实施例的第四方面,提供了一种用于监控数据中心状态的装置。所述装置包括数据采集模块、数据预处理模块、神经网络模型以及监控模块。数据采集模块用于在r个时刻采集所述数据中心的n个设备各自的特征数据,得到r个特征数据序列,其中,在每个所述特征数据序列中通过开始标志位标识出起始位置;其中,r、n分别为大于或等于1的整数。数据预处理模块用于基于每个所述特征数据序列得到一个特征矩阵,其中,所述特征数据序列中的开始标志位和所述n个设备各自的所述特征数据分别对应转换为所述特征矩阵中的特征向量。神经网络模型为通过预训练技术训练得到的,其中,所述神经网络模型用于处理所述特征矩阵并得到输出矩阵,其中,所述输出矩阵中的向量与所述特征矩阵中的特征向量一一对应。监控模块用于基于所述输出矩阵中与开始标志位对应的向量,得到所述数据中心的状态信息,所述状态信息包括所述数据中心的运行状态信息或时间状态信息至少之一。
18.根据本公开的实施例,所述监控模块包括集群状态分离器。所述集群状态分类器用于对所述输出矩阵中与开始标志位对应的向量进行分类,得到第一分类结果;其中,所述第一分类结果用于指示所述数据中心是否存在异常。
19.根据本公开的实施例,所述监控模块还包括n个设备状态分类器。n个所述设备状态分类器与所述n个设备一一对应。每个所述设备状态分类器用于对所述输出矩阵中与该设备对应的向量进行分类,得到第二分类结果;其中,所述第二分类结果用于指示设备是否
存在故障。
20.根据本公开的实施例,所述监控模块还包括时序状态分类器。所述时序状态分类器还用于以每两个所述输出矩阵中与开始标志位对应的向量成对作为输入,并输出第三分类结果,所述第三分类结果用于指示成对输入的两个向量对应的时刻是否具有先后顺序,以使r个所述输出矩阵按照在时间上所具有的先后顺序进行排序。
21.本公开实施例的第五方面,提供了一种用于监控数据中心状态的神经网络模型的训练装置。所述训练装置包括数据获取模块、数据预处理模块、第一类预训练任务构建模块、以及第一预训练模块。数据获取模块用于获取在m个时刻采集的所述数据中心的n个设备各自的特征数据,得到m个历史特征数据序列,其中,在每个所述历史特征数据序列中通过开始标志位标识出起始位置;其中,r、n分别为大于或等于1的整数。数据预处理模块用于基于每个所述历史特征数据序列得到一个历史特征矩阵,其中,所述历史特征数据序列中的开始标志位和所述n个设备各自的所述特征数据分别对应转换为所述历史特征矩阵中的特征向量。第一类预训练任务构建模块用于将所述历史特征矩阵中部分设备对应的所述特征向量进行数据掩码,得到半掩特征矩阵。第一预训练模块用于:将所述历史特征矩阵输入到所述神经网络模型,得到所述神经网络模型输出的第一历史输出矩阵;将所述半掩特征矩阵输入到所述神经网络模型,得到所述神经网络模型输出的第二历史输出矩阵;以及基于所述第一历史输出矩阵与所述第二历史输出矩阵的差异,反向优化所述神经网络模型。
22.本公开实施例的第六方面,提供了一种用于监控数据中心状态的神经网络模型的训练装置。所述训练装置包括数据获取模块、数据预处理模块、第二类预训练任务构建模块以及第二预训练模块。数据获取模块用于获取在q个时刻采集的所述数据中心的n个设备各自的特征数据,得到q个历史特征数据序列,其中,在每个所述历史特征数据序列中通过开始标志位标识出起始位置,其中,q、n分别为大于或等于1的整数。数据预处理模块用于基于每个所述历史特征数据序列得到一个历史特征矩阵,其中,所述历史特征数据序列中的开始标志位和所述n个设备各自的所述特征数据分别对应转换为所述历史特征矩阵中的特征向量。第二类预训练任务构建模块,用于:将所述历史特征矩阵输入到所述神经网络模型,得到所述神经网络模型输出的历史输出矩阵;从每个所述历史输出矩阵中抽取出与开始标志位对应的向量以作为历史标志位向量;以及将抽取出的q个所述历史标志位向量两两成对并划分到两个类别中,其中,一个类别中每对所述历史标志位向量对应的时刻具有先后顺序,在另一个类别中每对所述历史标志位向量对应的时刻为随机关系;第二预训练模块用于:将每对所述历史标志位向量输入到时序状态分类器,获得所述时序状态分类器输出的第三分类结果,所述第三分类结果用于指示成对输入的两个所述历史标志位向量对应的时刻是否具有先后顺序;以及基于所述时序状态分类器输出的所述第三分类结果与每对所述历史标志位向量所属的类别的差异,反向优化所述神经网络模型和所述时序状态分类器。
23.本公开实施例的第七方面提供了一种电子设备。所述电子设备包括一个或多个处理器和一个或多个存储器。所述一个或多个存储器用于存储一个或多个程序。其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述第一方面、第二方面或第三方面提供的方法。
24.本公开实施例的第八方面还提供了一种计算机可读存储介质,其上存储有可执行
应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
43.在本文中,需要理解的是,说明书及附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
44.本公开的实施例提供了一种用于监控数据中心状态的方法。具体地,首先在r个时刻采集数据中心的n个设备各自的特征数据,得到r个特征数据序列,其中,在每个特征数据序列中通过开始标志位标识出起始位置,其中,r、n分别为大于或等于1的整数。然后基于每个特征数据序列得到一个特征矩阵,其中,特征数据序列中的开始标志位和n个设备各自的特征数据分别对应转换为特征矩阵中的特征向量。接下来利用神经网络模型处理特征矩阵,得到神经网络模型输出的输出矩阵,其中,输出矩阵中的向量与特征矩阵中的特征向量一一对应,其中,神经网络模型为通过预训练技术训练得到的。此后,基于输出矩阵中与开始标志位对应的向量,得到数据中心的状态信息,该状态信息可以包括数据中心的运行状态信息或时间状态信息至少之一。
45.根据本公开实施例,可以利用基于预训练技术得到神经网络模型,对不同时刻采集的数据中心的特征进行处理,并可以基于神经网络模型处理后得到的输出数据来判断数据中心的运行状态信息(例如,是否存在异常)、或时间信息状态(例如,不同时刻所得到的数据是否具有先后顺序)、和/或数据中心内部各个设备的状态(例如,各个节点是否存在故障)等,从而可以有效的监控数据中心的状态,且可以广泛地应用于各种数据中心,通用性强。
46.预训练技术核心思想是:放弃模型的随机初始化,先用大量无标注训练数据对模型进行预训练,得到蕴含上下文信息的通用语言表示,然后根据具体所要完成的任务对模型进行微调。
47.具体到本公开实施例中,在利用预训练技术训练神经网络模型时,可以先使用历史时刻采集到的数据中心中的各个设备的特征,形成大量无标注数据,来训练神经网络模型,使神经网络模型通过自注意力学习的方式,学习数据中心在不同时刻中各个设备各自的状态、各个设备之间的相互影响、以及集群的整体状态等。然后,可以根据对集群的监控目的构建对应的预训练任务来优化神经网络模型。
48.例如可以构建第一类预训练任务,将数据中心某一时刻的各个设备的特征中部分设备的特征进行数据掩码,然后输入到神经网络模型,以使神经网络模型来根据预先学到知识,对抗数据中的干扰,达到根据部分真实输入,也能够得到与整个集群中各个设备的正确输出的目的。以此方式,可以提高神经网络模型对抗输入数据中的各种干扰因素或随机因素的能力,进而提高将神经网络模型用于监控数据中心状态时的稳定性和准确性。
49.又例如,可以构建第二类预训练任务,使神经网络模型可以学习数据中心中的各个设备及其整体随时间的变迁特性,以达到可以区分出两个时刻对应的数据是否具有时间先后顺序的目的。这样,当将神经网络模型用于监控数据中心状态时,如果发现某一个或某一些时刻数据中心出现了异常,则可以通过对所采集的一系列数据按照时间先后顺序排序,就可以确定出异常所波及的时间范围,例如起始时刻、终止时刻、持续时长等信息,以此方式便于在时间维度上对数据中心的故障进行准确排查。
50.基于上述的第一类预训练任务和第二类预训练任务,本公开实施例还分别提供了
一种用于监控数据中心状态的神经网络模型的训练方法。此外,本公开实施例还提供了与本公开各个实施例的方法对应的装置、电子设备、介质和程序产品。
51.需要说明的是,本公开各个实施例提供的方法、装置、电子设备、介质和程序产品可用于金融领域,也可用于除金融领域之外的任意领域,本公开对应用领域不做限定。
52.图1示意性示出了根据本公开实施例的用于监控数据中心状态的方法、装置、设备、介质和程序产品的应用场景图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
53.如图1所示,根据该实施例的应用场景100可以包括至少一个终端设备(图中示出了三个,101、102、103)、服务器104以及数据中心105。终端设备101、102、103与服务器104通信,数据中心105与服务器104通信。数据中心105中包括n个设备10构成的集群,其中,n为大于或等于1的整数。
54.用户可以使用终端设备101、102、103与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如邮箱客户端、数据中心状态监控软件等(仅为示例)。终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
55.服务器104可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。
56.服务器104可以执行本公开实施例的用于监控数据中心状态的方法,对数据中心105的状态进行监控。其中,服务器104中可以部署有神经网络模型。该神经网络模型中可以设置有自注意力机制。在一个实施例中,神经网络模型可以是transformer模型。该神经网络模型可以通过预训练技术进行训练。
57.服务器104可以通过与数据中心105的通信来采集数据中心105中各个设备10的特征数据,然后根据本公开实施例的方法对数据进行处理,以此来监控数据中心105的状态,并可以将监控结果发送到终端设备101、102、103供用户查看。
58.需要说明的是,本公开实施例所提供的用于监控数据中心状态的方法一般可以由服务器104执行。相应地,本公开实施例所提供的用于监控数据中心状态的装置一般可以设置于服务器104中。本公开实施例所提供的用于监控数据中心状态的方法也可以由不同于服务器104且能够与终端设备101、102、103和数据中心105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的用于监控数据中心状态的装置也可以设置于不同于服务器104且能够与终端设备101、102、103和数据中心105通信的服务器或服务器集群中。
59.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
60.以下将基于图1描述的场景,通过图2~图8对本公开实施例的用于监控数据中心状态方法、以及其中所涉及的神经网络模型的训练方法进行详细描述。
61.图2示意性示出了根据本公开实施例的用于监控数据中心状态方法的流程图。
62.如图2所示,根据本公开实施例的用于监控数据中心状态方法可以包括操作s210~操作s240。
63.在操作s210,在r个时刻采集数据中心105的n个设备10各自的特征数据,得到r个
特征数据序列,其中,在每个特征数据序列中通过开始标志位标识出起始位置,其中,r、n分别为大于或等于1的整数。
64.根据本公开的实施例,对数据中心105的集群内每个设备10进行特征数据的采集,包括但不限于cpu、内存、io等特征数据。cpu相关的特征数据例如可以包括cpu使用率、cpu运行速率、cpu功率等。内存相关的特征数据例如可以包括内存使用率、内存读写速率等。io相关的特征数据例如可以包括io吞吐率、io平均响应时间、单位时间io次数等。在一个实施例中,对每个设备10可以采集上百项指标,即可以使用该上百项指标来刻画某一时刻集群中的某个设备10。
65.每个特征数据序列由该时刻中n个设备10各自的特征数据以及开始标志位组成,即每个设备10的上百项指标对应为该特征数据序列中的一个组成单元。从而,在特征数据序列中有n个这样的组成单元按照预定的顺序排列而成。当源源不断地从数据中心105采集数据时,通过开始标志位可以区分出不同时刻的特征数据序列。
66.在操作s220,基于每个特征数据序列得到一个特征矩阵,其中,特征数据序列中的开始标志位和n个设备10各自的特征数据分别对应转换为特征矩阵中的特征向量。
67.通过对开始标志位和n个设备10各自的特征数据进行处理,转换为特征向量。例如,可以将开始标志位处理为零向量或者与采集时刻相关联的向量,同时将采集的n个设备10各自的特征数据处理为统一长度、统一规范或格式的数据,从而得到相应的特征向量。
68.例如,可以对采集的每个设备10的特征数据进行数据清洗,对异常值(例如,某项指标中出现乱码或特殊字符)用0补齐,并将每个设备10的特征数据补齐至统一长度x(例如,x=156)。如果采集过程中某些指标采集不足或传输过程中丢失数据的,将长度不够的以0补齐。如果采集过程中出现超长数据,则按照长度x进行截取。以此方式,将每个设备的特征数据均处理为等长数值。
69.进一步地,根据本公开的实施例,还可以根据每个设备10的设备类型不同,对每个设备10的特征数据进行编码。例如,运行oracle的服务器,使用编码参数1进行编码;运行mysql的服务器,使用编码参数2进行编码。进行编码时,在一个实施例中,可以对长度x的特征数据中的每一位加上编码参数。在另一个实施例中,可以在长度x的特征数据的最末尾再加一位来填写编码参数。
70.再者,还可以对清洗和/或编码后的数据进行归一化处理等。
71.在操作s230,利用神经网络模型处理特征矩阵,得到神经网络模型输出的输出矩阵,其中,输出矩阵中的向量与特征矩阵中的特征向量一一对应。其中,神经网络模型为通过预训练技术训练得到的。神经网络模型的输入输出过程可以参考图3的示意。
72.图3示意性示出了根据本公开实施例的神经网络模型的输入输出过程。
73.如图3所示,对神经网络模型30输入特征矩阵,例如[s,machine1,machine2,machine3,machine4,...,machinen]。神经网络模型30是通过预训练技术训练得到的,如上文介绍可以通过预训练技术使神经网络模型30通过自注意力学习的方式,学习数据中心105中n个设备10各自的状态、各个设备10之间的相互影响、以及集群的整体状态与集群中各个设备10的关联关系等。神经网络模型30可以基于学习到的知识,通过自注意力机制的学习和处理,得到输出矩阵[fs,f1,f2,f3,f4,...,fn]。输出矩阵中的向量与特征矩阵中的特征向量一一对应。当然,输出矩阵中每一个向量的长度与特征矩阵中的特征向量的长度
可以不同,具体根据对神经网络模型30的输出维度设置来确定。
[0074]
在操作s240,基于输出矩阵中与开始标志位对应的向量,得到数据中心105的状态信息,该状态信息包括数据中心105的运行状态信息或时间状态信息至少之一。
[0075]
如图3所示,由于在特征矩阵中开始标志位被转换为特征向量s,则输出矩阵中与开始标志位对应的向量即为fs。
[0076]
根据本公开的实施例,可以在训练神经网络模型30时,通过构建相应的预训练任务,如上文提及的第一类训练任务和第二类训练任务,神经网络模型30的输出矩阵中向量fs中包含数据中心105的运行状态信息(例如,是否存在异常)、和/或数据中心105的时间状态信息(例如先后得到的两个特征数据序列是否具有时间先后顺序)。进而可以通过对向量fs的进一步处理,来监控数据中心105的运行状态和/或时间变迁特性。
[0077]
图4示意性示出了根据本公开一实施例的用于监控数据中心状态的流程架构。
[0078]
如图4所示,在一个实施例中可以将输出矩阵中与开始标志位对应的向量fs作为集群状态分类器41的输入,利用集群状态分类器41向量fs进行分类,得到第一分类结果a1。其中,第一分类结果a1用于指示数据中心105是否存在异常。集群状态分类器41为机器学习模型。集群状态分类器41例如可以是在已知各个历史时刻数据中心105的运行状态是否存在异常的情况下,以神经网络模型30输出的输出矩阵作为训练输入数据,以各个历史时刻数据中心105的运行状态作为标签,对集群状态分类器41进行训练得到的。
[0079]
或者,在另一个实施例中,可以将每两个输出矩阵中与开始标志位对应的向量《fs-i,fs-j》成对输入到时序状态分类器42,其中,i≠j,fs-i、fs-j表示根据在i、j不同时刻采集的数据对应得到的向量。fs。然后,利用时序状态分类器42对《fs-i,fs-j》之间的关系进行分类,输出第三分类结果a3。第三分类结果a3用于指示成对输入的两个向量对应的时刻是否具有先后顺序。
[0080]
由于在实际数据采集过程中,可能会存在网络延迟、信号干扰等因素,导致从数据中心105采集的数据与到达服务器104时的数据顺序不一致,例如先采集的数据可能由于网络延迟因素后到达服务器104。因此,根据本公开实施例在进行数据中心状态监控时,有必要对操作s210中所采集的特征数据序列的先后顺序进行验证和确认,以便在发生故障时准确排查根源。
[0081]
时序状态分类器42可以是通过对输出矩阵中的fs的时间迁移特性进行学习训练得到的分类器。例如,可以将神经网络模型30和时序状态分类器42进行联合训练,使得神经网络模型30的输出矩阵中与开始标志位对应的向量fs可以反映出数据中心105的时间特征。
[0082]
图5示意性示出了根据本公开另一实施例的用于监控数据中心状态的流程架构。
[0083]
结合图5,当集群状态分类器41输出的第一分类结果a1表明数据中心105存在异常时,可以利用与n个设备10中的每个设备10对应的设备状态分类器50,来对输出矩阵中与每个设备10对应的向量(即,f1~fn其中之一)进行分类,得到第二分类结果a2。其中,第二分类结果a2用于指示对应的设备10是否存在故障。这样就可以定位出在数据中心105内部出现故障的设备10,从而可以快速在数据中心105内部定位出故障的具体位置,便于快速排查故障根本原因。
[0084]
图6示意性示出了根据本公开一实施例的神经网络模型的训练方法流程图。图6的
流程示意了构建第一类预训练任务对神经网络模型30进行训练的过程。
[0085]
如图6所示,该训练方法可以包括操作s610~操作s660。
[0086]
在操作s610,获取在m个历史时刻采集的m个特征数据序列,以得到用于训练的m个历史特征数据序列,其中,m为大于或等于1的整数。
[0087]
在操作s620,将基于每个历史特征数据序列得到的特征矩阵作为历史特征矩阵。
[0088]
在操作s630,将历史特征矩阵输入到神经网络模型30,得到神经网络模型30输出的第一历史输出矩阵。
[0089]
在操作s640,将历史特征矩阵中部分设备对应的特征向量进行数据掩码,得到半掩特征矩阵。
[0090]
例如,可以将部分设备对应的特征向量用零向量替换,或者将部分设备对应的特征向量替换为其他设备10对应的特征向量。可以设置进行数据掩码的部分设备在数据中心105集群中的设备占比。在一个实施例中,可以随机选取集群中n%(n%的值根据需要设计,例如不大于20%)的设备进行数据改动,将n%的设备中一部分设备的进行用零向量替换,另一部分设备的数据采用集群中其他设备的数据随机替代,而其余设备的数据则保持原有不变。
[0091]
在操作s650,将半掩特征矩阵输入到神经网络模型30,得到神经网络模型30输出的第二历史输出矩阵。该实施例中操作s630和操作s650中神经网络模型30的输入输出过程可以参考图3的示意。
[0092]
在操作s660,基于第一历史输出矩阵与第二历史输出矩阵的差异,反向优化神经网络模型30。
[0093]
这样训练所希望达到的目的是,即使在输入神经网络模型30的数据中有部分缺失、或部分顺序混乱的情况下,神经网络模型30依然能够根据数据中心105中多数设备10的真实状态,对所有设备10输出正确的向量(即,图3中的f1~fn)。例如,通过该训练后,即使特征矩阵中machine2被零向量替代,machine4被machine1替代,神经网络模型30仍旧输出图3中的输出矩阵。
[0094]
以此方式,使神经网络模型30能够充分学习n个设备10之间的相互关系和相互影响,并基于此提高神经网络模型30对抗输入数据中的各种干扰因素或随机因素的能力。毕竟在采集数据的过程中数据缺失、或者数据传输过程中网络延迟或干扰等因素,会影响到服务器104获取到的数据的真实性和完整性。
[0095]
可见,根据本公开的实施例,可以提高将神经网络模型30用于监控数据中心105状态时的稳定性和准确性,从而可以降低应用神经网络模型30对数据中心105进行状态监控时的误判率。
[0096]
图7示意性示出了根据本公开另一实施例的用于监控数据中心状态的方法流程图。
[0097]
如图7所示,根据该实施例的用于监控数据中心状态的方法可以包括操作s210~操作s230、以及操作s740~操作s770。
[0098]
首先经过操作s210~操作s230,得到神经网络模型30输出的输出矩阵。具体可以参考上文的相关描述,此处不再赘述。
[0099]
接下来在操作s740,将每两个输出矩阵中与开始标志位对应的向量成对输入到时
序状态分类器42。对此可以参考图4中向量《fs-i,fs-j》成对输入到时序状态分类器42。
[0100]
然后在操作s750,获得时序状态分类器42输出的第三分类结果a3,第三分类结果a3用于指示成对输入的两个向量对应的时刻是否具有先后顺序。例如,可以对所有的输出矩阵中的向量两两成对进行遍历,寻找出每个输出矩阵在时间顺序上前后相邻的输出矩阵。
[0101]
在此之后可以在操作s760,根据第三分类结果a3,将r个输出矩阵按照在时间上所具有的先后顺序进行排序。
[0102]
以及在操作s770,按照r个输出矩阵的顺序相应地对r个特征数据序列、以及r个特征矩阵进行排序。
[0103]
根据本公开的实施例,当数据中心105的运行存在异常时,可以根据排序结果,确定出异常的起始时刻,异常随时间迁移的扩散情况。进一步地,当再结合图5所示的方式掌握了数据中心105内部出现故障的设备情况时,就可以明确异常随时间在数据中心105内部的扩散情况,便于快速进行问题排查。
[0104]
图8示意性示出了根据本公开例另一实施例的神经网络模型的训练方法流程图。图8的流程示意了构建第二类预训练任务对神经网络模型30进行训练的过程。
[0105]
如图8所示,该训练方法可以包括操作s810~s870。
[0106]
在操作s810,获取在q个历史时刻采集的q个特征数据序列,以得到用于训练的q个历史特征数据序列,其中q为大于或等于1的整数。
[0107]
在操作s820,将基于每个历史特征数据序列得到的特征矩阵作为历史特征矩阵。
[0108]
在操作s830,将历史特征矩阵输入到神经网络模型30,得到神经网络模型30输出的历史输出矩阵。神经网络模型30的输入输出过程可以参考图3的示意。
[0109]
在操作s840,从每个历史输出矩阵中抽取出与开始标志位对应的向量,以作为历史标志位向量。
[0110]
在操作s850,将抽取出的q个历史标志位向量两两成对并划分到两个类别中,成对的两个历史标志位向量按照预定的顺序排列。一个类别中每对历史标志位向量对应的时刻具有先后顺序,在另一个类别中每对历史标志位向量对应的时刻为随机关系。
[0111]
在操作s860,将每对历史标志位向量输入到时序状态分类器42,获得时序状态分类器42输出的第三分类结果a3。
[0112]
在操作s870,基于时序状态分类器42输出的第三分类结果a3与每对历史标志位向量所属的类别的差异,联合训练神经网络模型30和时序状态分类器42。以此方式使得神经网络模型30的输出矩阵中与开始标志位对应的向量fs可以反映出数据中心105的时间特征。
[0113]
基于上述各个实施例的用于监控数据中心状态的方法、以及神经网络模型的训练方法,本公开实施例还提供了一种用于监控数据中心状态装置、一种用于监控数据中心状态的神经网络模型的训练装置。以下将结合图9~图11对这些装置进行详细描述。
[0114]
图9示意性示出了根据本公开实施例的用于监控数据中心状态的装置900的框图。
[0115]
如图9所示,该用于监控数据中心状态的装置900可以包括数据采集模块910、数据预处理模块920、神经网络模型930以及监控模块940。该装置900可以用于执行上述图2~图5、和图7所描述的方法。
[0116]
数据采集模块910用于在r个时刻采集数据中心的n个设备各自的特征数据,得到r个特征数据序列,其中,在每个特征数据序列中通过开始标志位标识出起始位置;其中,r、n分别为大于或等于1的整数。在一个实施例中,数据采集模块910可以执行上文描述的操作s210。
[0117]
数据预处理模块920用于基于每个特征数据序列得到一个特征矩阵,其中,特征数据序列中的开始标志位和n个设备各自的特征数据分别对应转换为特征矩阵中的特征向量。在一个实施例中,数据预处理模块920可以指向上文描述的操作s220。
[0118]
神经网络模型930为通过预训练技术训练得到的。神经网络模型930用于处理特征矩阵并得到输出矩阵,其中,输出矩阵中的向量与特征矩阵中的特征向量一一对应。在一个实施例中,神经网络模型930用以执行上文描述的操作s230。
[0119]
监控模块940用于基于输出矩阵中与开始标志位对应的向量,得到数据中心的状态信息,状态信息包括数据中心的运行状态信息或时间状态信息至少之一。在一个实施例中,监控模块940可以执行上文描述的操作s240。
[0120]
根据本公开的实施例,监控模块940包括集群状态分离器。集群状态分类器用于对输出矩阵中与开始标志位对应的向量进行分类,得到第一分类结果;其中,第一分类结果用于指示数据中心是否存在异常。
[0121]
根据本公开的实施例,监控模块940还包括n个设备状态分类器。n个设备状态分类器与n个设备一一对应。每个设备状态分类器用于对输出矩阵中与该设备对应的向量进行分类,得到第二分类结果;其中,第二分类结果用于指示设备是否存在故障。
[0122]
根据本公开的实施例,监控模块940还包括时序状态分类器。时序状态分类器还用于以每两个输出矩阵中与开始标志位对应的向量成对作为输入,并输出第三分类结果,第三分类结果用于指示成对输入的两个向量对应的时刻是否具有先后顺序,以使r个输出矩阵按照在时间上所具有的先后顺序进行排序。相应地,监控模块940可以执行上文描述的操作s740~操作s770。
[0123]
图10示意性示出了根据本公开一实施例的神经网络模型的训练装置1000的框图。
[0124]
如图10所示,该用于监控数据中心状态的神经网络模型的训练装置1000可以包括数据获取模块1010、数据预处理模块1020、第一类预训练任务构建模块1030以及第一预训练模块1040。该训练装置1000可以用于执行参考图6所描述的训练方法。
[0125]
数据获取模块1010用于获取在m个时刻采集的数据中心的n个设备各自的特征数据,得到m个历史特征数据序列,其中,在每个历史特征数据序列中通过开始标志位标识出起始位置;其中,r、n分别为大于或等于1的整数。在一个实施例中,该数据获取模块1010可以执行上文描述的操作s610。
[0126]
数据预处理模块1020用于基于每个历史特征数据序列得到一个历史特征矩阵,其中,历史特征数据序列中的开始标志位和n个设备各自的特征数据分别对应转换为历史特征矩阵中的特征向量。在一个实施例中,数据预处理模块1020可以用于执行上文描述的操作s620。在一个实施例中,数据处理模块1020和数据处理模块920的数据处理过程一致。
[0127]
第一类预训练任务构建模块1030用于将历史特征矩阵中部分设备对应的特征向量进行数据掩码,得到半掩特征矩阵。在一个实施例中,第一类预训练任务构建模块1030可以执行上文描述的操作s640。
[0128]
第一预训练模块1040用于:将历史特征矩阵输入到神经网络模型,得到神经网络模型输出的第一历史输出矩阵;将半掩特征矩阵输入到神经网络模型,得到神经网络模型输出的第二历史输出矩阵;以及基于第一历史输出矩阵与第二历史输出矩阵的差异,反向优化神经网络模型。在一个实施例中,第一预训练模块1040可以执行上文描述的操作s630、s650和s660。
[0129]
图11示意性示出了根据本公开另一实施例的神经网络模型的训练装置1100的框图。
[0130]
如图11所示,该用于监控数据中心状态的神经网络模型的训练装置1100可以包括数据获取模块1110、数据预处理模块1120、第二类预训练任务构建模块1130以及第二预训练模块1140。该装置1100可以用于实现参考图8所描述的训练方法。
[0131]
数据获取模块1110用于获取在q个时刻采集的数据中心的n个设备各自的特征数据,得到q个历史特征数据序列,其中,在每个历史特征数据序列中通过开始标志位标识出起始位置,其中,q、n分别为大于或等于1的整数。在一个实施例中,数据获取模块1110可以用于执行操作s810。在一个实施例中,数据获取模块1110与数据获取模块1010的的数据处理过程一致。
[0132]
数据预处理模块1120用于基于每个历史特征数据序列得到一个历史特征矩阵,其中,历史特征数据序列中的开始标志位和n个设备各自的特征数据分别对应转换为历史特征矩阵中的特征向量。在一个实施例中,数据预处理模块1120可以执行上文描述的操作s820。在一个实施例中,数据预处理模块1120与数据预处理模块1020的的数据处理过程一致。
[0133]
第二类预训练任务构建模块1130用于:将历史特征矩阵输入到神经网络模型,得到神经网络模型输出的历史输出矩阵;从每个历史输出矩阵中抽取出与开始标志位对应的向量以作为历史标志位向量;以及将抽取出的q个历史标志位向量两两成对并划分到两个类别中,其中,一个类别中每对历史标志位向量对应的时刻具有先后顺序,在另一个类别中每对历史标志位向量对应的时刻为随机关系。在一个实施例中,第二类预训练任务构建模块1130可以执行上文描述的操作s840和操作s850。
[0134]
第二预训练模块1140用于:将每对历史标志位向量输入到时序状态分类器,获得时序状态分类器输出的第三分类结果,第三分类结果用于指示成对输入的两个历史标志位向量对应的时刻是否具有先后顺序;以及基于时序状态分类器输出的第三分类结果与每对历史标志位向量所属的类别的差异,反向优化神经网络模型和时序状态分类器。在一个实施例中,第二预训练模块1140可以执行上文描述的操作s860和操作s870。
[0135]
根据本公开的一些实施例,训练装置1000或训练装置1100二者至少之一可以集成到用于监控数据中心状态的神经网络模型的训练装置900中,用于对神经网络模型930进行相应的训练。
[0136]
根据本公开的实施例,数据采集模块910、数据预处理模块920、神经网络模型930、监控模块940、数据获取模块1010、数据预处理模块1020、第一类预训练任务构建模块1030、第一预训练模块1040、数据获取模块1110、数据预处理模块1120、第二类预训练任务构建模块1130或第二预训练模块1140中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功
能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,数据采集模块910、数据预处理模块920、神经网络模型930、监控模块940、数据获取模块1010、数据预处理模块1020、第一类预训练任务构建模块1030、第一预训练模块1040、数据获取模块1110、数据预处理模块1120、第二类预训练任务构建模块1130或第二预训练模块1140中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,数据采集模块910、数据预处理模块920、神经网络模型930、监控模块940、数据获取模块1010、数据预处理模块1020、第一类预训练任务构建模块1030、第一预训练模块1040、数据获取模块1110、数据预处理模块1120、第二类预训练任务构建模块1130或第二预训练模块1140中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0137]
图12示意性示出了适于实现根据本公开实施例的用于监控数据中心状态方法或神经网络模型的训练方法的电子设备的方框图。
[0138]
如图12所示,根据本公开实施例的电子设备1200包括处理器1201,其可以根据存储在只读存储器(rom)1202中的程序或者从存储部分1208加载到随机访问存储器(ram)1203中的程序而执行各种适当的动作和处理。处理器1201例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic))等等。处理器1201还可以包括用于缓存用途的板载存储器。处理器1201可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
[0139]
在ram 1203中,存储有电子设备1200操作所需的各种程序和数据。处理器1201、rom 1202以及ram 1203通过总线1204彼此相连。处理器1201通过执行rom 1202和/或ram 1203中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom 1202和ram 1203以外的一个或多个存储器中。处理器1201也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
[0140]
根据本公开的实施例,电子设备1200还可以包括输入/输出(i/o)接口1205,输入/输出(i/o)接口1205也连接至总线1204。电子设备1200还可以包括连接至i/o接口1205的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至i/o接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
[0141]
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
[0142]
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介
质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom 1202和/或ram 1203和/或rom 1202和ram 1203以外的一个或多个存储器。
[0143]
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。
[0144]
在该计算机程序被处理器1201执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
[0145]
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1209被下载和安装,和/或从可拆卸介质1211被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0146]
在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被处理器1201执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
[0147]
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c ,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0148]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0149]
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可
以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
[0150]
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献