状态检测方法、装置、设备及存储介质
技术领域
本公开涉及数据处理领域,具体而言,涉及一种状态检测方法、装置、设备及可读存储介质。
背景技术
随着企业业务信息化的深入,互联网技术(Internet Technology,IT)设备及软件的运行维护工作变得越来越复杂和重要。对于与企业的服务至关重要的一些IT实体,例如服务器、飞行器、机器人辅助系统及引擎等等,通常具有一些相关指标来表征它们的运行情况,例如服务器的中央处理器指标、网络指标、内存占用情况,飞行器的辐射情况、温度、功率等。在企业运维中,需要通过采集实体的指标以获得其运行状态,便于及时处理异常情况。
一些相关技术中采用静态阈值检测方式,但在阈值设定过高时漏告警数量较多,导致质量隐患难以发现;而在阈值设定过低时告警数量过多,会引发告警风暴,从而干扰业务运维人员的判断。
另一些相关技术中采用单指标异常状态检测方式,但在运维过程中获得的一些指标孤立来看可能并没有异常,但实体运行状态是存在异常的;另一些指标孤立来看存在异常,但实体运行状态是正常的,从而导致实体运行状况判断准确度较低。
如上所述,如何提供准确度较高的运行状态检测方法成为亟待解决的问题。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种状态检测方法、装置、设备及可读存储介质,至少在一定程度上克服由于相关技术采用静态阈值检测方式或单指标异常状态检测方式进行检测实体运行状态准确度较低的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提供一种状态检测方法,包括:获得初始指标数据,所述初始指标数据包括多个种类状态指标的时间序列数据;对所述初始指标数据进行预处理得到输入数据,所述输入数据包括所述多个种类状态指标的第一预定时长的时间序列数据;基于所述输入数据通过循环神经网络得到时间特征数据,所述时间特征数据表征所述多个种类状态指标中的各个种类状态指标在所述第一预定时长内的特性;基于所述输入数据通过卷积神经网络得到空间特征数据,所述空间特征数据表征所述多个种类状态指标的综合特性;将所述时间特征数据和所述空间特征数据进行整合得到待分类数据;将所述待分类数据通过分类器进行处理得到状态检测结果。
根据本公开的一实施例,所述循环神经网络包括长短期记忆网络层和正则化层;所述基于所述输入数据通过循环神经网络得到时间特征数据包括:对所述输入数据进行维度转换,获得第一网络数据,所述第一网络数据包括多个时间步的指标数据,所述多个时间步的指标数据中的各个时间步的指标数据包括所述多个种类状态指标的第二预定时长的时间序列数据,所述多个时间步的数量表征状态持续时长,所述第二预定时长根据所述第一预定时长和所述多个时间步的数量得到;将所述第一网络数据输入所述循环神经网络,通过所述长短期记忆网络层和所述正则化层基于多个时间步对所述第一网络数据进行处理,得到所述时间特征数据,所述时间特征数据表征所述多个种类状态指标中的各个种类状态指标在所述第二预定时长内的特性。
根据本公开的一实施例,所述长短期记忆网络层具有注意力机制。
根据本公开的一实施例,所述卷积神经网络包括多个卷积层和全局池化层,所述多个卷积层中的各个卷积层包括归一化层和激活函数,所述激活函数为指数线性函数;所述基于所述输入数据通过卷积神经网络得到空间特征数据包括:将所述输入数据通过所述归一化层进行归一化处理获得归一化输入数据;将所述归一化输入数据进行卷积处理后通过所述激活函数得到空间特征图;通过所述全局池化层对所述空间特征图进行平均池化处理得到所述空间特征数据。
根据本公开的一实施例,所述多个卷积层的所述各个卷积层包括多个通道,所述多个通道的数量为所述第二预定时长的时间序列数据量;所述多个卷积层包括第一卷积层、第二卷积层和第三卷积层,所述第二卷积层具有通道权重调整机制;所述将所述输入数据通过所述归一化层进行归一化处理获得归一化输入数据,将所述归一化输入数据进行卷积处理后通过所述激活函数得到空间特征图包括:将所述输入数据通过所述第一卷积层的所述归一化层进行归一化处理获得第一归一化输入数据;将所述第一归一化输入数据进行卷积处理后通过所述第一卷积层的激活函数得到第一空间特征图;将所述第一空间特征图通过所述第二卷积层的所述归一化层进行归一化处理获得第二归一化输入数据;将所述第二归一化输入数据进行卷积处理后通过所述第二卷积层的激活函数进行通道加权处理得到第二空间加权图;将所述第二空间加权图通过所述第三卷积层的所述归一化层进行归一化处理获得第三归一化输入数据;将所述第三归一化输入数据进行卷积处理后通过所述第三卷积层的激活函数得到第三空间加权图;所述通过所述全局池化层对所述空间特征图进行平均池化处理得到所述空间特征数据包括:通过所述全局池化层对所述第三空间加权图进行平均池化处理得到所述空间特征数据。
根据本公开的一实施例,在基于所述输入数据通过循环神经网络得到时间特征数据之前,所述方法还包括:获得训练样本和标签,所述训练样本包括所述多个种类状态指标的所述多个时间步的所述第二预定时长的时间序列数据,所述标签为所述训练样本的预设状态检测结果值;基于所述训练样本通过所述循环神经网络获得时间训练数据;基于所述训练样本通过所述卷积神经网络获得空间训练数据;将所述时间训练数据和所述空间训练数据进行整合后输入所述分类器,获得实际状态检测结果值;根据所述实际状态检测结果值和所述预设检测状态值更新所述循环神经网络的参数、所述卷积神经网络和所述分类器的参数;根据所述实际状态检测结果值和所述预设检测状态值调整所述多个时间步的数量。
根据本公开的一实施例,所述对所述初始指标数据进行预处理得到输入数据包括:转换所述初始指标数据的结构,获得所述输入数据,所述输入数据的结构包括第一维度、第二维度和第三维度,所述第一维度为所述第二预定时长的时间序列数据量,所述第二维度为所述多个种类状态指标的种类数量,所述第三维度为所述多个时间步的数量,所述多个时间步的数量根据所述第一预定时长和所述第二预定时长得到。
根据本公开的再一方面,提供一种状态检测装置,包括:数据获取模块,用于获得初始指标数据,所述初始指标数据包括多个种类状态指标的时间序列数据;数据预处理模块,用于对所述初始指标数据进行预处理得到输入数据,所述输入数据包括所述多个种类状态指标的第一预定时长的时间序列数据;循环网络模块,用于基于所述输入数据通过循环神经网络得到时间特征数据,所述时间特征数据表征所述多个种类状态指标中的各个种类状态指标在所述第一预定时长内的特性;卷积网络模块,用于基于所述输入数据通过卷积神经网络得到空间特征数据,所述空间特征数据表征所述多个种类状态指标的综合特性;数据整合模块,用于将所述时间特征数据和所述空间特征数据进行整合得到待分类数据;状态分类模块,用于将所述待分类数据通过分类器进行处理得到状态检测结果。
根据本公开的再一方面,提供一种设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,所述处理器执行所述可执行指令时实现如上述任一种方法。
根据本公开的再一方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任一种方法。
本公开的实施例提供的方法,通过对获得的包括多个种类状态指标的时间序列数据的初始指标数据进行预处理得到包括多个种类状态指标的第一预定时长的时间序列数据的输入数据,基于输入数据通过循环神经网络得到表征多个种类状态指标中的各个种类状态指标在第一预定时长内的特性的时间特征数据,并基于输入数据通过卷积神经网络得到表征多个种类状态指标的综合特性的空间特征数据,再将时间特征数据和空间特征数据进行整合得到的待分类数据通过分类器进行处理得到状态检测结果,从而可实现从时间和空间上提取多种类状态指标时间序列的特征,一定程度上提高了状态检测的准确度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。
图1示出本公开实施例中一种状态检测系统结构的示意图;
图2示出本公开实施例中一种状态检测方法的流程图。
图3示出本公开实施例中另一种状态检测方法的流程图。
图4示出本公开实施例中再一种状态检测方法的流程图。
图5示出本公开实施例中一种用于状态检测的网络模型训练方法的流程图。
图6示出本公开实施例中一种状态检测装置的框图。
图7a示出本公开实施例中另一种状态检测装置的框图。
图7b是根据一示例性实施例示出的一种状态检测模型网络结构图
图8示出本公开实施例中一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。符号“/”一般表示前后关联对象是一种“或”的关系。
在本公开中,除非另有明确的规定和限定,“连接”等术语应做广义理解,例如,可以是电连接或可以互相通讯;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
相关技术中实体状态检测通常采用两种方式:一种是以静态阈值检测为主的方式;另一种是单指标异常状态检测,通过机器学习算法结合人工标注结果,实现自动学习阈值、自动调参来识别异常。以服务器为例的诸多实体的多种指标数据都是以时间序列的形式进行采集,因此,多指标数据也就可以看做是多时间序列数据,我们可以通过对实体的多时间序列进行异常检测来对实体进行状态检测。
与静态阈值检测方式相比,基于多指标时间序列的异常状态检测可以对多项指标综合考虑,以及从空间和时间两方面综合考虑时间序列数据特征,可一定程度上提高状态检测的准确度。
与单指标时间序列异常状态检测相比,基于多指标时间序列的异常状态检测有很多优势,例如(1)运维工程师可更加关注服务器整体是否异常,如通过积压消息数、入队和出队消息数等多个指标综合判断消息队列的健康度,因此相比较基于单指标时间序列的异常状态检测方法,多时间序列异常状态检测的动机更加直接,更符合切实的需求;(2)对于状态检测,在对每一条时间序列建模时,多指标时间序列比单指标时间序列信息更多,模型的效果也会更好;(3)对于实体的状态检测,如果做单指标时间序列状态检测的话,需要为每条时间序列建立模型,然后结合领域知识和规则整合每条时间序列的状态,因此多指标时间序列状态检测效率更高,可以提供更多相同底层现象的模式和视图,提高分类性能,进而可以解决单指标时间序列状态检测无法确定而需要通过多个指标综合判断异常的场景。
如上所述,因基于多指标时间序列对实体进行状态检测的方法具有高准确度、高效率和应用广泛等优势,因此,本公开提供了一种方法,使用卷积神经网络和循环神经网络从空间和时间上提取多指标时间序列数据特征,并引入通道权重调整机制和注意力机制来平衡数据局部特征的权重,并改进网络模型内部参数,进而对网络等实体的状态进行检测。
图1示出了可以应用本公开的状态检测方法或状态检测装置的示例性系统架构10。
如图1所示,系统架构10可以包括待检测的实体,例如服务器102、中央处理器集群104、无人机106等等,这些实体通过网络与状态检测平台相连接,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。状态检测平台可以包括采集层108、处理层110和存储层112,对待检测的实体进行指标数据采集、处理、存储等。状态检测平台可以与运维管理端114相连接。状态检测平台和运维管理端114可由运维服务器支持以实现运维服务。
用户可以使用运维管理端114通过状态检测平台对服务器102、中央处理器集群104、无人机106等实体进行运维管理。运维管理端114可以设在终端设备上,终端设备可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。终端设备上可以安装有各种通讯客户端应用,例如运维管理应用、数据导入类应用、数据处理应用等。
运维服务器可以是提供各种服务的服务器,例如对用户通过运维管理端114所浏览的运维管理网站或软件提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的初始数据进行分析等处理,并将如状态检测结果给终端设备。
应该理解,图1中的终端设备、网络层和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络层和服务器。
图2是根据一示例性实施例示出的一种状态检测方法的流程图。如图2所示的状态检测方法例如可以应用于状态检测系统中。
参考图2,本公开实施例提供的状态检测方法20可以包括以下步骤。
在步骤S202中,获得初始指标数据,初始指标数据包括多个种类状态指标的时间序列数据。可从数据存储装置获取从服务器采集的基础运维监控指标,比如中央处理器(CPU)使用率、状态连接数等。获取的初始指标数据是一段时间的多元时间序列数据,例如跨度一个月左右的间隔为1分钟的数据。
在步骤S204中,对初始指标数据进行预处理得到输入数据,输入数据包括多个种类状态指标的第一预定时长的时间序列数据。
在一些实施例中,例如可先处理因系统没有采集到导致的缺失数据、以及发生时间滞后现象导致数据缺失的指标,然后可通过过滤式筛选方法从原始指标中筛选出与运维状态相关的指标,保留相关指标的数据,再将筛选好的指标数据处理成适用于神经网络的三维数据结构,例如将每次传入的样本量设定为数据的长,将特征筛选过后保留的指标个数设定为高,为了能够处理异常持续现象,将预设的平均异常持续时长设定为宽,则平均异常持续时长与每次传入的样本量相乘则为第一预定时长。
在步骤S206中,基于输入数据通过循环神经网络得到时间特征数据,时间特征数据表征。
在一些实施例中,例如,先将重构的三维数据转换为多个时间步长的二维数据后,时间步长数量为原三维数据的宽,输入到循环神经网络中,通过循环神经网络获得考虑了多个时间步长的各个种类状态指标在第一预定时长内的特性的时间特征数据,该时间特征数据的输出为长度为指标个数的向量,向量中的各个值表征了各个指标的时间特征。循环神经网络可采用如长短期记忆网络、双向长短期记忆网络等等。
在步骤S208中,基于输入数据通过卷积神经网络得到空间特征数据,空间特征数据表征多个种类状态指标的综合特性。
在一些实施例中,例如,将重构的三维数据输入卷积神经网络,通过卷积神经网络的卷积核及激活函数处理后得到多通道空间特征图,特征图的数量为三维数据的长,即输入的样本量,各个特征图为长度为指标个数、宽度为平均异常持续时长的特征值矩阵,然后在对各个特征图进行平均池化处理,获得长度为输入的样本量的特征向量,向量中各个值表征了各个时间点指标数据的空间特征。卷积神经网络可采用如全卷积神经网络等等。
在步骤S210中,将时间特征数据和空间特征数据进行整合得到待分类数据。
在一些实施例中,例如,将从循环神经网络输出的长度为指标个数的向量与从卷积神经网络输出的长度为输入的样本量的特征向量合并为长度为指标个数加上输入的样本量的向量,以便综合时间和空间因素进行判断。
在步骤S212中,将待分类数据通过分类器进行处理得到状态检测结果。可将待分类的特征向量经过二分类器得到状态是否异常的判断结果,也可经过概率分类器得到状态为异常的概率等等。对此本公开不作限制。
根据本公开实施例提供的状态检测方法,通过对获得的包括多个种类状态指标的时间序列数据的初始指标数据进行预处理得到包括多个种类状态指标的第一预定时长的时间序列数据的输入数据,基于输入数据通过循环神经网络得到表征多个种类状态指标中的各个种类状态指标在第一预定时长内的特性的时间特征数据,并基于输入数据通过卷积神经网络得到表征多个种类状态指标的综合特性的空间特征数据,再将时间特征数据和空间特征数据进行整合得到的待分类数据通过分类器进行处理得到状态检测结果,从而可实现从时间和空间上提取多种类状态指标时间序列的特征,一定程度上提高了状态检测的准确度。
卷积神经网络可以充分利用长短周期的动态依赖性,提取时序数据的局部特征;长短期记忆神经网络因其能够保持长期记忆而被证明能够很好的学习包含位置长度的长期模式的序列,同时学习到更高层次的时间特征,从而在更稀疏的表示下更快地进行学习。因此对于检测多指标网络状态的分类问题,卷积神经网络结合循环神经网络可提高多指标时间序列数据的异常状态检测的准确度。
图3是根据一示例性实施例示出的一种状态检测方法的流程图。如图3所示的状态检测方法例如可以应用于状态检测系统中。
参考图3,本公开实施例提供的方法30可以包括以下步骤。
在步骤S302中,获得初始指标数据,初始指标数据包括多个种类状态指标的时间序列数据。可从服务器在线采集的基础运维监控指标,比如中央处理器(CPU)使用率、状态连接数等。获取的初始指标数据是一段时间的多元时间序列数据,例如跨度一周的间隔为1分钟的数据。
在一些实施例中,例如可先处理初始指标数据中因系统没有采集到导致的缺失数据、以及发生时间滞后现象导致数据缺失的指标,将没有采集到的缺失数据位置用相邻多个点(如6个)的值进行填充,将滞后的数据还原到缺失的位置等等。然后可通过过滤式筛选方法基于统计量相关性等相关参数从原始指标中筛选出与运维状态相关的指标,仅保留相关指标的数据。
在步骤S304中,转换初始指标数据的结构,获得输入数据,输入数据包括多个种类状态指标的第一预定时长的时间序列数据,输入数据的结构包括第一维度、第二维度和第三维度,第一维度为第二预定时长的时间序列数据量,第二维度为多个种类状态指标的种类数量,第三维度为多个时间步的数量,多个时间步的数量根据第一预定时长和第二预定时长得到。
在一些实施例中,第二预定时长的时间序列数据量可为将每次传入的样本量,例如128个。时间步的数量可为预设的平均异常持续时长,例如5分钟。
在步骤S3061中,对输入数据进行维度转换,获得第一网络数据,第一网络数据包括多个时间步的指标数据,多个时间步的指标数据中的各个时间步的指标数据包括多个种类状态指标的第二预定时长的时间序列数据,多个时间步的数量表征状态持续时长,第二预定时长根据第一预定时长和多个时间步的数量得到。
在步骤S3062中,将第一网络数据输入循环神经网络,通过长短期记忆网络层和正则化层基于多个时间步对第一网络数据进行处理,得到时间特征数据,时间特征数据表征多个种类状态指标中的各个种类状态指标在第二预定时长内的特性。
在一些实施例中,例如输入数据的长即第二预定时长的时间序列数据量、每次传入的样本量为128,宽即为时间步的数量、预设的平均异常持续时长为5(分钟),高即为指标种类数为30,则输入长短期记忆(Long Short-Term Memory,LSTM)网络层的数据维度为128*30*5,则每个时间步(共5个时间步)输入的数据是30*1,得到一个30*1的输出。因此LSTM循环神经网络输出的时间特征数据为30*1的矩阵。
在一些实施例中,正则化层例如可采用Dropout层,对输入采用Dropout,即到每个LSTM中节点的输入连接上的数据将会以一定概率在前向激活和反向权值更新的过程中失活。
进一步地,长短期记忆网络层具有注意力机制。注意力(Attention)机制可应用到循环神经网络(Recurrent Neural Network,RNN)模型解决分类问题,可作为多元时间序列建模和转换模型的支撑部分,其允许对依赖项进行建模,不考虑它们在输入或输出序列中的距离。它的本质是一系列注意力分配系数,也就是一系列权重参数。LSTM网络解决了长距离信息丢失的问题,它拥有一个记忆区,通过遗忘门、输入门和输出门这三道门对记忆区进行维护,每当接收到新的输入时,就会将新的信息有选择地加入到记忆区里,并会有选择地保留以往的信息,将记忆区的新老信息整合之后再选择性输出。这种方法会存在的问题是,LSTM网络每一步接受的输入只能是事先给定的,这个输入有可能是冗余信息,甚至可能是对当前t时刻不恰当的信息。若在LSTM网络中采用的Attention机制,例如首先进行序列的每一个元素与其他元素的对比,在这个过程中每一个元素间的距离都是1,当t时刻输入z(t)到来时,会得到一个输出向量h(t),LSTM的内部状态也将同时被改变,输出向量h(t)可代表当前大脑存储的对环境信息的表征,此时将反过来作为Attention模块的输入,计算出下一步LSTM模型的输入。因此可根据已观察到的环境信息从众多备选输入中选择“最合适”的输入,可绘制输入和输出之间的全局和局部的依赖关系。
在步骤S3081中,将输入数据通过卷积神经网络的归一化层进行归一化处理获得归一化输入数据。
在一些实施例中,例如与卷积神经网络的卷积层融合的归一化层为BN(BatchNormalization)层,进行数据归一化操作。
在步骤S3082中,将归一化输入数据进行卷积处理后通过卷积神经网络的激活函数得到空间特征图。
进一步地,激活函数为指数线性函数。指数线性函数为分段函数,具体表达式如下:
式中α为训练参数。与相关技术中采用的线性整流函数(Rectified Linear Unit,ReLU)或参数线性整流函数(Parametric Rectified Linear Unit,PReLU)等激活函数相比,采用的指数线性激活函数具有以下优点:(1)缓解了梯度消失的问题。由于x>0时,函数的导数值函数值恒为1,所以指数线性激活函数在x>0时保持梯度不衰减,从而缓解了梯度消失问题;(2)激活了负值。指数线性激活函数在负半轴非饱和区保留了部分梯度值,当激活值落入非饱和区时,仍能获得有效的激活,同时通过参数α控制非饱和区域的大小,可以对负值特征进行更加有效的激活,缓解了ReLU函数或PReLU函数导致的神经元死亡的现象。(3)近似于0均值分布。指数线性函数在负半轴有激活值,这就保证了输出的均值近似于0.上一层输出的均值近似于0,这样就有效缓解了ReLU激活函数的偏移现象,权值可以获得较快的更新,从而获得较快的梯度下降速度。(4)对噪声具有健壮性。指数线性函数在负半轴具有软饱和性,在x<0时,函数输出范围在[-α,0)之间。软饱和性意味着函数可以减小输出到下一层的信息的变化,这样表现出来的特征对噪声具有健壮性,同时也降低了复杂度。
在步骤S3083中,通过卷积神经网络的全局池化层对空间特征图进行平均池化处理得到空间特征数据。卷积神经网络中可包括多个卷积层,各个卷积层与各自的归一化层融合。
在一些实施例中,例如输入数据结构为128*5*30,卷积核可为3*30的矩阵,通道数为长即128个,在卷积网络处理时使用卷积核矩阵逐步扫过输入数据,对应位置相乘再相加,同时使用0来填充输入数据,则通过最后一层卷积层输出128个具有5*30个特征数据的特征图。然后通过全局池化层将各个特征图进行平均池化处理,得到128*1的空间特征矩阵,与循环神经网络的输出数据的维度相同。
在步骤S310中,将时间特征数据和空间特征数据进行整合得到待分类数据。将维度相同的时间特征数据和空间特征数据接合为一个待分类的特征矩阵。
在步骤S312中,将待分类数据通过分类器进行处理得到状态检测结果。可将待分类的特征向量经过二分类器得到状态是否异常的判断结果。
图4是根据一示例性实施例示出的一种状态检测方法的流程图。如图4所示的状态检测方法例如可以应用于状态检测系统中。
参考图4,本公开实施例提供的方法40可以包括以下步骤。
在步骤S402中,获得初始指标数据,初始指标数据包括多个种类状态指标的时间序列数据。
在步骤S404中,对初始指标数据进行预处理得到输入数据,输入数据包括多个种类状态指标的第一预定时长的时间序列数据。
在步骤S4061中,对输入数据进行维度转换,获得第一网络数据,第一网络数据包括多个时间步的指标数据,多个时间步的指标数据中的各个时间步的指标数据包括多个种类状态指标的第二预定时长的时间序列数据,多个时间步的数量表征状态持续时长,第二预定时长根据第一预定时长和多个时间步的数量得到。
在步骤S4062中,将第一网络数据输入循环神经网络,通过长短期记忆网络层和正则化层基于多个时间步对第一网络数据进行处理,得到时间特征数据,时间特征数据表征多个种类状态指标中的各个种类状态指标在第二预定时长内的特性。
步骤S402-S4062的关于数据预处理和循环神经网络的数据处理的实施例可参照步骤S302-S3062的一些实施例,此处不再赘述。
在步骤S4081中,将输入数据通过第一卷积层的归一化层进行归一化处理获得第一归一化输入数据。
在步骤S4082中,将第一归一化输入数据进行卷积处理后通过第一卷积层的激活函数得到第一空间特征图。
在步骤S4083中,将第一空间特征图通过第二卷积层的归一化层进行归一化处理获得第二归一化输入数据。
在步骤S4084中,将第二归一化输入数据进行卷积处理后通过第二卷积层的激活函数进行通道加权处理得到第二空间加权图。
在步骤S4085中,将第二空间加权图通过第三卷积层的归一化层进行归一化处理获得第三归一化输入数据。
在步骤S4086中,将第三归一化输入数据进行卷积处理后通过第三卷积层的激活函数得到第三空间加权图。
在一些实施例中,由于不同的卷积层数不仅会影响到模型的精确度,还会对模型的时效性造成一定程度的影响。卷积层数越多,模型的精确度就越高,但是随着卷积层数的增多,模型的计算时效性在逐渐降低,这样会增加模型的计算成本。考虑实际情况中运维数据集上使用的网络结构,综合精确度和模型计算时间两种因素,在卷积网络中设置三层卷积层,既可以保证模型的精度,又可以避免因模型计算时间过长而增加成本消耗的问题。
在一些实施例中,为了有选择地强调有用的特征,抑制不太有用的特征,调整特征图的权重,可在第二卷积层引入Squeeze-and-Excited block机制,Squeeze-and-Excitedblock机制可通过对通道之间的相互依赖关系建模,调整的卷积神经网络中生成的各个通道特征图的权重。该机制可自适应地重新校准通道方向的特征响应,学习全局信息,并且有选择地强调有用的特征,抑制不太有用的特征,提高网络的表示质量。在网络的每个卷积层上,一组卷积核沿着输入通道,表达邻近的特征空间模式,通过将一系列卷积层与非线性激活函数和下采样操作交织在一起,同时通过将学习机制集成到网络中来捕获特征之间的空间相关性。
在步骤S4087中,通过全局池化层对第三空间加权图进行平均池化处理得到空间特征数据。
在步骤S410中,将时间特征数据和空间特征数据进行整合得到待分类数据。
在步骤S412中,将待分类数据通过分类器进行处理得到状态检测结果。
根据本公开实施例提供的状态检测方法,通过对获得的包括多个种类状态指标的时间序列数据的初始指标数据进行预处理得到包括多个种类状态指标的第一预定时长的时间序列数据的输入数据,基于输入数据通过LSTM网络得到表征多个种类状态指标中的各个种类状态指标在第一预定时长内的特性的时间特征数据,并基于输入数据通过具有通道权重调整机制的卷积神经网络得到表征多个种类状态指标的综合特性的空间特征数据,再将时间特征数据和空间特征数据进行整合得到的待分类数据通过分类器进行处理得到状态检测结果,从而可实现从时间和空间上提取多种类状态指标时间序列的特征,一定程度上提高了状态检测的准确度。
图5是根据一示例性实施例示出的一种网络模型训练方法的流程图。如图5所示的网络模型方法例如可以应用于状态检测系统中。
参考图5,本公开实施例提供的方法50可以包括以下步骤。
在步骤S502中,获得初始指标数据,初始指标数据包括多个种类状态指标的时间序列数据。可离线获取从服务器采集的基础运维监控指标,比如中央处理器(CPU)使用率、状态连接数等。获取的初始指标数据是一段时间的多元时间序列数据,例如跨度一个月左右的间隔为1分钟的数据。
在步骤S504中,对初始指标数据进行填充、筛选,获得筛选后的指标数据。
在一些实施例中,例如可先处理因系统没有采集到导致的缺失数据、以及发生时间滞后现象导致数据缺失的指标,然后可通过过滤式筛选方法从原始指标中筛选出与运维状态相关的指标,保留相关指标的数据,再将筛选好的指标数据处理成适用于神经网络的三维数据结构,例如将每次传入的样本量设定为数据的长,将特征筛选过后保留的指标个数设定为高,为了能够处理异常持续现象,将预设的平均异常持续时长设定为宽,则平均异常持续时长与每次传入的样本量相乘则为第一预定时长。
在步骤S506中,转换筛选后的指标数据的结构,获得训练样本,输入数据的结构包括第一维度、第二维度和第三维度,第一维度为第二预定时长的时间序列数据量,第二维度为多个种类状态指标的种类数量,第三维度为多个时间步的数量,多个时间步的数量根据第一预定时长和第二预定时长得到。
在一些实施例中,例如输入数据的长即第二预定时长的时间序列数据量、每次传入的样本量为128,宽即为时间步的数量、预设的平均异常持续时长为5(分钟),高即为指标种类数为30,128为一次训练选取的样本数,进行多次训练即可遍历全部数据。
在步骤S508中,基于训练样本通过循环神经网络获得时间训练数据。
在步骤S509中,基于训练样本通过卷积神经网络获得空间训练数据。
在步骤S510中,将时间训练数据和空间训练数据进行整合后输入分类器,获得实际状态检测结果值。
步骤S508-步骤S510的关于循环神经网络和卷积神经网络进行特征提取以及数据整合的一些实施例可参照步骤S3061-S3083和步骤S4061-S4086的一些实施例,此处不再赘述。
在步骤S512中,根据实际状态检测结果值和预设检测状态值更新循环神经网络、卷积神经网络和分类器的参数。
在步骤S513中,根据实际状态检测结果值和预设检测状态值调整多个时间步的数量。
在一些实施例中对于连续的标记异常间隔,如果一个异常检测方法检测连续异常间隔不迟于预定T时间戳开始后连续异常的间隔,它可以用来表明整个连续的异常检测方法成功检测到了异常间隔,所以每个点的异常间隔算作一个真阳性(TP)点,否则,连续异常区间内的每个异常点都被视为假阴性(FN)点;对于标记为正常的点,如果异常检测方法误报了一个实际上正常的点为异常,则视为假阳性(FP),否则视为真阴性(TN)。在训练时可根据实际状态检测结果值和预设检测状态值调整预定的T时间,即为平均异常持续时长,也即多个时间步的数量。
根据本公开实施例提供的网络模型训练方法,通过在卷积神经网络中设置三个卷积层以及归一化层,结合循环神经网络,对包括循环神经网络、卷积神经网络和分类器的分类模型的参数进行训练,具有较高的模型收敛速度和模型准确度。
图6是根据一示例性实施例示出的一种状态检测装置的框图。如图6所示的状态检测装置例如可以应用于状态检测系统中。
参考图6,本公开实施例提供的装置60可以包括数据获取模块602、数据预处理模块604、循环网络模块606、卷积网络模块608、数据整合模块610和状态分类模块612。
数据获取模块602可用于获得初始指标数据,初始指标数据包括多个种类状态指标的时间序列数据。
数据预处理模块604可用于对初始指标数据进行预处理得到输入数据,输入数据包括多个种类状态指标的第一预定时长的时间序列数据。
循环网络模块606可用于基于输入数据通过循环神经网络得到时间特征数据,时间特征数据表征多个种类状态指标中的各个种类状态指标在第一预定时长内的特性。
卷积网络模块608可用于基于输入数据通过卷积神经网络得到空间特征数据,空间特征数据表征多个种类状态指标的综合特性。
数据整合模块610可用于将时间特征数据和空间特征数据进行整合得到待分类数据。
状态分类模块612可用于将待分类数据通过分类器进行处理得到状态检测结果。
图7a是根据一示例性实施例示出的一种状态检测装置的框图。如图7a所示的状态检测装置例如可以应用于状态检测系统中。
参考图7a,本公开实施例提供的装置70可以包括数据获取模块702、数据预处理模块704、网络训练模块706、循环网络模块707、卷积网络模块708、数据整合模块710和状态分类模块712,其中,循环网络模块707包括维度转换单元7071、长短期记忆网络层7072和正则化层7073,卷积网络模块708包括第一卷积层7081、第二卷积层7082、第三卷积层7083和全局池化层7084。
数据获取模块702可用于获得初始指标数据,初始指标数据包括多个种类状态指标的时间序列数据。
数据获取模块702还可用于获得训练样本和标签,训练样本包括多个种类状态指标的多个时间步的第二预定时长的时间序列数据,标签为训练样本的预设状态检测结果值。
数据预处理模块704可用于对初始指标数据进行预处理得到输入数据,输入数据包括多个种类状态指标的第一预定时长的时序列数据。
数据预处理模块704还可用于对初始指标数据进行预处理得到输入数据,输入数据包括转换初始指标数据的结构,获得输入数据,输入数据的结构包括第一维度、第二维度和第三维度,第一维度为第二预定时长的时间序列数据量,第二维度为多个种类状态指标的种类数量,第三维度为多个时间步的数量,多个时间步的数量根据第一预定时长和第二预定时长得到。
循环网络模块707可用于基于输入数据通过循环神经网络得到时间特征数据,时间特征数据表征多个种类状态指标中的各个种类状态指标在第一预定时长内的特性。
循环网络模块707可用于基于训练样本通过循环神经网络获得时间训练数据。
维度转换单元7071可用于对输入数据进行维度转换,获得第一网络数据,第一网络数据包括多个时间步的指标数据,多个时间步的指标数据中的各个时间步的指标数据包括多个种类状态指标的第二预定时长的时间序列数据,多个时间步的数量表征状态持续时长,第二预定时长根据第一预定时长和多个时间步的数量得到。
长短期记忆网络层7072可用于和正则化层7073基于多个时间步对第一网络数据进行处理,得到时间特征数据,时间特征数据表征多个种类状态指标中的各个种类状态指标在第二预定时长内的特性。长短期记忆网络层7072可具有注意力机制。
卷积网络模块708可用于基于输入数据通过卷积神经网络得到空间特征数据,空间特征数据表征多个种类状态指标的综合特性。
卷积网络模块708还可用于基于训练样本通过卷积神经网络获得空间训练数据。
第一卷积层7081可用于将输入数据通过归一化层进行归一化处理获得第一归一化输入数据。
第一卷积层7081还可用于将第一归一化输入数据进行卷积处理后通过激活函数得到第一空间特征图。
第二卷积层7082可用于将第一空间特征图通过归一化层进行归一化处理获得第二归一化输入数据。
第二卷积层7082还可用于将第二归一化输入数据进行卷积处理后通过激活函数进行通道加权处理得到第二空间加权图。激活函数为指数线性函数。
第三卷积层7083可用于将第二空间加权图通过归一化层进行归一化处理获得第三归一化输入数据。
第三卷积层7083还可用于将第三归一化输入数据进行卷积处理后通过第三卷积层的激活函数得到第三空间加权图。
全局池化层7084可用于通过全局池化层对第三空间加权图进行平均池化处理得到空间特征数据。
数据整合模块710可用于将时间特征数据和空间特征数据进行整合得到待分类数据。
数据整合模块710还可用于将时间训练数据和空间训练数据进行整合后输入状态分类模块712。
状态分类模块712可用于将待分类数据进行处理得到状态检测结果。
状态分类模块712还可用于对整合后的训练数据进行分类处理获得实际状态检测结果值。
网络训练模块706可用于根据实际状态检测结果值和预设检测状态值更新循环神经网络的参数、卷积神经网络和分类器的参数。
网络训练模块706还可用于根据实际状态检测结果值和预设检测状态值调整多个时间步的数量。
图7b是根据一示例性实施例示出的一种状态检测模型网络结构图。如图7b所示的状态检测网络例如可以应用于状态检测系统中。
参考图7b,根据本公开实施例提供的模型网络71,输入数据首先分别输入循环网络模块和卷积网络模块。输入数据在输入循环网络模块时先经过维度转换7001,然后将转换好的数据输入具有注意力机制的长短期记忆网络层7002以输出时间特征数据,长短期记忆网络层7002可设有正则化层,以提高模型的准确度。输入数据输入卷积网络模块,卷积网络模块例如可依次设置三个卷积层,例如输入数据依次输入第一卷积层7011、第二卷积层7012和第三卷积层7013,各个卷积层上设有归一化层,输入的数据首先进行归一化再进行卷积然后采用激活函数进行计算,在训练时加快收敛速度;可在第二卷积层7012上设置通道权重调整机制,使输入的各通道的特征值带有权重因素;从最后一层卷积层输出的权重空间特征图再经过全局池化层7014进行平均池化,获得空间特征数据。然后将时间特征数据和空间特征数据进行数据整合7021,然后将整合得到的向量输入分类器7022进行二分类,输出状态是否异常的判断结果。
图8示出本公开实施例中一种电子设备的结构示意图。需要说明的是,图8示出的设备仅以计算机系统为示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有设备800操作所需的各种程序和数据。CPU801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本公开的系统中限定的上述功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括数据获取模块、数据预处理模块、循环网络模块、卷积网络模块、数据整合模块和状态分类模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,数据获取模块还可以被描述为“向所连接的服务器端获取初始数据的模块”。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获得初始指标数据,初始指标数据包括多个种类状态指标的时间序列数据;对初始指标数据进行预处理得到输入数据,输入数据包括多个种类状态指标的第一预定时长的时间序列数据;基于输入数据通过循环神经网络得到时间特征数据,时间特征数据表征多个种类状态指标中的各个种类状态指标在第一预定时长内的特性;基于输入数据通过卷积神经网络得到空间特征数据,空间特征数据表征多个种类状态指标的综合特性;将时间特征数据和空间特征数据进行整合得到待分类数据;将待分类数据通过分类器进行处理得到状态检测结果。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。