CN103888304A - 一种多节点应用的异常检测方法及相关装置 - Google Patents
一种多节点应用的异常检测方法及相关装置 Download PDFInfo
- Publication number
- CN103888304A CN103888304A CN201210554617.9A CN201210554617A CN103888304A CN 103888304 A CN103888304 A CN 103888304A CN 201210554617 A CN201210554617 A CN 201210554617A CN 103888304 A CN103888304 A CN 103888304A
- Authority
- CN
- China
- Prior art keywords
- application
- vector
- data
- characteristic vector
- node diagnostic
- 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.)
- Granted
Links
Images
Abstract
本发明实施例公开了一种多节点应用的异常检测方法及相关装置,用于及时发现应用间的相互干扰,检测多节点应用的异常行为。本发明实施例包括采集多节点应用运行时产生的数据;根据采集到的数据,构建应用交互拓扑图,应用交互拓扑图包括节点特征向量和边特征向量;判断应用交互拓扑图与预置的应用交互拓扑图是否同构;若应用交互拓扑图与预置的应用交互拓扑图不同构,则确定出多节点应用运行时存在异常。
Description
技术领域
本发明涉及异常检测技术领域,尤其是涉及一种多节点应用的异常检测方法及相关装置。
背景技术
随着云计算技术的兴起与发展,各种云平台应运而生,如谷歌(Google)发布的一个开发、托管网络应用程序的平台Google APP engine,它使用Google管理的数据中心,并采用云计算技术通过跨越多个服务器和数据中心来虚拟化应用程序,同时随着手机的普遍使用,各种手机平台也随之出现,如Google为安卓(Android)设备开发的在线应用程序商店Google Play,用于为Android用户提供多节点应用程序,其中,多节点应用程序是指在多个机器上部署应用程序。
可是,目前还没有对多节点应用程序异常行为进行检测的有效方案,例如,针对最广泛的多节点应用程序——第三方应用程序,有必要提出一种异常检测方法来及时发现应用间的相互干扰和异常行为。
发明内容
本发明实施例提供了一种多节点应用的异常检测方法及相关装置,用于及时发现应用间的相互干扰,检测多节点应用的异常行为。
有鉴于此,本发明一方面提供一种多节点应用的异常检测方法,可包括:
采集多节点应用运行时产生的数据;
根据采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构;
若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则确定出所述多节点应用运行时存在异常。
在第一种可能的实现方式中,所述采集多节点应用运行时产生的数据包括:采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据,其中,网络层上采集到的数据包括数据包类型和流量大小,操作系统层上采集到的数据包括中央处理器CPU利用率和磁盘输入输出IO数据,体系结构层上采集到的数据包括缓存失效cache miss数据和混合指令集instruction mix数据。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据采集到的数据,构建应用交互拓扑图包括:根据操作系统层和体系结构层上采集到的数据,构建应用交互拓扑图中的节点特征向量,根据网络层上采集到的数据,构建应用交互拓扑图中的边特征向量,其中,所述节点特征向量包括节点网协IP地址,CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
结合第一方面或第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构之后,包括:若所述应用交互拓扑图与预置的应用交互拓扑图同构,则确定出所述多节点应用运行时不存在异常。
结合第一方面或第一方面的第一种或第二种可能的实现方式,在第四种可能的实现方式中,所述判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构之后,包括:若所述应用交互拓扑图与预置的应用交互拓扑图同构,对节点特征向量和/或边特征向量进行判断,所述对所述节点特征向量和/或所述边特征向量进行判断包括:对所述节点特征向量和边特征向量进行判断时,若所述节点特征向量和边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常;对所述节点特征向量或边特征向量进行判断时,若所述节点特征向量或边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述节点特征向量包括CPU利用率,磁盘IO数据,cache miss数据和instructionmix数据;所述对节点特征向量进行判断包括:对于每一个节点特征向量,构造所述节点特征向量在N个应用实例下的N*N差异性矩阵,Xij为i行对应的应用实例下该节点特征向量属性值大于j列对应的应用实例下该节点特征向量属性值的次数,其中,Xij为所述N*N差异性矩阵中的元素,N为大于1的正整数,i,j为大于等于1且小于等于N的正整数;根据所述N*N差异性矩阵中的元素,获取所述N个应用实例之间所述节点特征向量属性值的大小关系;将获取的节点特征向量属性值的大小关系与第一预置关系式比较,若所述大小关系与第一预置关系式相符,则确定出所述节点特征向量满足预置条件,若所述大小关系与第一预置关系式不相符,则确定出所述节点特征向量不满足预置条件。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前,包括:读取N个应用实例下的节点特征向量属性值;若读取的节点特征向量属性值在第一预置阈值范围内,则触发构造所述节点特征向量在N个应用实例下的N*N差异性矩阵;若读取的节点特征向量属性值不在第一预置阈值范围内,则确定出所述多节点应用运行时存在异常。
结合第一方面的第四种可能的实现方式,在第七种可能的实现方式中,所述边特征向量为流量大小,所述对边特征向量进行判断包括:构造所述边特征向量在M个应用实例下的M*M差异性矩阵,Xpq为p行对应的应用实例发送到q列对应的应用实例的边特征向量属性值大小,其中,Xpq为所述M*M差异性矩阵中的元素,M为大于1的正整数,p,q为大于等于1且小于等于M的正整数;根据所述M*M差异性矩阵中的元素,获取所述M个应用实例之间所述边特征向量属性值的比例关系;将获取的边特征向量属性值的比例关系与第二预置关系式比较,若所述比例关系与第二预置关系式相符,则确定出所述边特征向量满足预置条件,若所述比例关系与第二预置关系式不相符,则确定出所述边特征向量不满足预置条件。
结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前,包括:读取M个应用实例下的边特征向量属性值;若读取的边特征向量属性值在第二预置阈值范围内,则触发构造所述边特征向量在M个应用实例下的M*M差异性矩阵;若读取的边特征向量属性值不在第二预置阈值范围内,则确定出所述多节点应用运行时存在异常。
本发明第二方面提供一种多节点应用的异常检测装置,可包括:
数据采集模块,用于采集多节点应用运行时产生的数据;
构图模块,用于根据所述数据采集模块采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
判断模块,用于判断所述构图模块构建的应用交互拓扑图与预置的应用交互拓扑图是否同构,若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则确定出所述多节点应用运行时存在异常。
在第一种可能的实现方式中,所述数据采集模块具体用于:采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据,其中,网络层上采集到的数据包括数据包类型和流量大小,操作系统层上采集到的数据包括中央处理器CPU利用率和磁盘输入输出IO数据,体系结构层上采集到的数据包括缓存失效cache miss数据和混合指令集instruction mix数据。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述构图模块具体用于:根据操作系统层和体系结构层上采集到的数据,构建应用交互拓扑图中的节点特征向量,根据网络层上采集到的数据,构建应用交互拓扑图中的边特征向量,其中,所述节点特征向量包括节点IP地址,CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
结合第二方面或第二方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述判断模块还用于:若所述应用交互拓扑图与预置的应用交互拓扑图同构,则确定出所述多节点应用运行时不存在异常。
结合第二方面或第二方面的第一种或第二种可能的实现方式,在第四种可能的实现方式中,所述判断模块还用于:若所述应用交互拓扑图与预置的应用交互拓扑图同构,对节点特征向量和/或边特征向量进行判断,对所述节点特征向量和边特征向量进行判断时,若所述节点特征向量和边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常;对所述节点特征向量或边特征向量进行判断时,若所述节点特征向量或边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述节点特征向量包括CPU利用率,磁盘IO数据,cache miss数据和instructionmix数据;所述判断模块,用于对节点特征向量进行判断包括:对于每一个节点特征向量,构造所述节点特征向量在N个应用实例下的N*N差异性矩阵,Xij为i行对应的应用实例下该节点特征向量属性值大于j列对应的应用实例下该节点特征向量属性值的次数,其中,Xij为所述N*N差异性矩阵中的元素,N为大于1的正整数,i,j为大于等于1且小于等于N的正整数;根据所述N*N差异性矩阵中的元素,获取所述N个应用实例之间所述节点特征向量属性值的大小关系;将获取的节点特征向量属性值的大小关系与第一预置关系式比较,若所述大小关系与第一预置关系式相符,则确定出所述节点特征向量满足预置条件,若所述大小关系与第一预置关系式不相符,则确定出所述节点特征向量不满足预置条件。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述判断模块用于构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前,包括:读取N个应用实例下的节点特征向量属性值;若读取的节点特征向量属性值在第一预置阈值范围内,则触发构造所述节点特征向量在N个应用实例下的N*N差异性矩阵;若读取的节点特征向量属性值不在第一预置阈值范围内,则确定出所述多节点应用运行时存在异常。
结合第二方面的第四种可能的实现方式,在第七种可能的实现方式中,所述边特征向量为流量大小,所述判断模块,用于对边特征向量进行判断包括:构造所述边特征向量在M个应用实例下的M*M差异性矩阵,Xpq为p行对应的应用实例发送到q列对应的应用实例的边特征向量属性值大小,其中,Xpq为所述M*M差异性矩阵中的元素,M为大于1的正整数,p,q为大于等于1且小于等于M的正整数;根据所述M*M差异性矩阵中的元素,获取所述M个应用实例之间所述边特征向量属性值的比例关系;将获取的边特征向量属性值的比例关系与第二预置关系式比较,若所述比例关系与第二预置关系式相符,则确定出所述边特征向量满足预置条件,若所述比例关系与第二预置关系式不相符,则确定出所述边特征向量不满足预置条件。
结合第二方面的第七种可能的实现方式,在第八种可能的实现方式中,所述判断模块用于构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前,包括:读取M个应用实例下的边特征向量属性值;若读取的边特征向量属性值在第二预置阈值范围内,则触发构造所述边特征向量在M个应用实例下的M*M差异性矩阵;若读取的边特征向量属性值不在第二预置阈值范围内,则确定出所述多节点应用运行时存在异常。
从以上技术方案可以看出,本发明实施例提供的一种多节点应用的异常检测方法及相关装置,根据多节点应用运行时产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为;且可进一步通过对应用交互拓扑图中的特征向量进行判断,及时从网络层、操作系统层和体系结构层上检测发现异常行为,避免应用间的相互干扰,保证数据和信息的安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的多节点应用的异常检测方法的流程示意图;
图2为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图;
图3为本发明实施例中构建的应用交互拓扑图;
图4为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图;
图5为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图;
图6为本发明实施例中构造节点特征向量差异性矩阵的流程示意图;
图7为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图;
图8为本发明实施例中构造边特征向量差异性矩阵的流程示意图;
图9为本发明实施例提供的应用场景中构建的应用交互拓扑图;
图10为本发明实施例提供的多节点应用的异常检测装置结构示意图。
具体实施方式
本发明实施例提供了一种多节点应用的异常检测方法及相关装置,用于及时发现应用间的相互干扰,检测多节点应用的异常行为。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种多节点应用的异常检测方法及相关装置,可用于在云平台和手机平台上对多节点应用进行异常行为检测,为便于理解,本发明实施例针对应用最广泛的第三方应用进行分析,但并不能作为对本发明的限定。可以理解的是,所讲述的方法同样适用于其他多节点应用。
请参考图1,图1为本发明实施例提供的一种多节点应用的异常检测方法的流程示意图,其中,所述方法包括以下步骤:
S101、采集多节点应用运行时产生的数据;
可以理解的是,所述多节点应用可以是第三方应用或其他多节点应用,其中,第三方应用是由非软件编制方的其他组织或个人开发的相关软件,例如软件编制方提供一个运行环境,而其他组织或个人开发运行在此环境上的应用软件。
S102、根据采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
另外,可根据采集到的数据生成日志,进而分析日志,从而进行异常行为的判定;其中,构建的应用交互拓扑图,每个节点和每个边维护一个特征向量;
S103、判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构;
通过分析构建的应用交互拓扑图的同构性,判断多节点应用运行时是否存在异常;若判断出所述应用交互拓扑图与预置的应用交互拓扑图不同构,则执行步骤S104;
S104、确定出所述多节点应用运行时存在异常。
由上述可知,本发明实施例提供的一种多节点应用的异常检测方法,根据多节点应用(如第三方应用)运行时产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为,避免应用间的相互干扰,保证数据和信息的安全。
请参考图2,图2为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图,所述方法可针对云开发平台和手机平台,结合操作系统层、网络层和体系结构层对行为进行异常检测。
其中,所述方法包括以下步骤:
S201、采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据;
其中,网络层上采集到的数据包括数据包类型和流量大小,操作系统(OS,Operating System)层上采集到的数据包括中央处理器(CPU,CentralProcessing Unit)利用率和磁盘输入输出(IO,Input/Output)数据,体系结构层上采集到的数据包括缓存失效cache miss数据和混合指令集instruction mix数据。另外,可根据从网络层、操作系统层和体系结构层上采集到的数据生成日志,进而对日志进行分析,从而进行异常行为的判定;
可以理解的是,本实施例中,主要采用perf以及systemtap等工具进行数据的采集,其中,网络层采集的数据表现了网络中流量的情况,操作系统层采集的数据表现了系统的运行状况,体系结构层采集的数据表现了应用的特性。
S202、根据采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
在本发明实施方式中,可具体地:根据操作系统层和体系结构层上采集到的数据,构建应用交互拓扑图中的节点特征向量,根据网络层上采集到的数据,构建应用交互拓扑图中的边特征向量;其中,所述节点特征向量包括节点网协(IP,Internet Protocol)地址,CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
以下结合多节点应用A、B、C、D,对异常行为检测方法进行分析:
可一并参考图3,图3为构建的应用交互拓扑图示意,根据采集到的数据,构建应用交互拓扑图以及构建图中节点的特征向量和边的特征向量;如图3所示应用交互拓扑图中,在4个不同的节点上分别运行应用实例A、B、C、D,每个节点所定义的特征向量可以包括节点IP地址,CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据,每个边上所定义的特征向量可以包括数据包类型和流量大小;
可以理解的是,本发明实施例中,节点IP地址可以认为是节点特征向量的一个固有属性;边特征向量中,两个应用交互之间的数据包类型为传输控制协议(TCP,Transmission Control Protocol)类型,所述节点IP地址和数据包类型对异常行为检测不造成影响。
S203、判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构;
其中,预置的应用交互拓扑图是预先存储在处理器中的,预置的应用交互拓扑图是系统正常运行下从网络层、操作系统层和体系结构层上进行数据采集而构建的;同样地,预置的应用交互拓扑图也包括节点特征向量和边特征向量,节点特征向量包括节点IP地址,CPU利用率,磁盘IO数据,cachemiss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
在一种实施方式中,可以根据S203的判断结果,若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则执行步骤S204,若所述应用交互拓扑图与预置的应用交互拓扑图同构,则执行步骤S205;
S204、确定出所述多节点应用运行时存在异常;
S205、确定出所述多节点应用运行时不存在异常。
在另一种实施方式中,可如图4所示,可以根据S203的判断结果,若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则执行步骤S204,判断出所述应用交互拓扑图与预置的应用交互拓扑图同构,则可以执行步骤S206;
S204、确定出所述多节点应用运行时存在异常;
S206、判断节点特征向量和/或边特征向量是否满足预置条件;
在判断出构建的应用交互拓扑图与预置的应用交互拓扑图同构之后,可以进而对节点特征向量和/或边特征向量进行判断,判断节点特征向量和/或边特征向量是否满足预置条件;即可认为是结合不同节点下运行的应用实例的特征向量属性进行异常行为的检测,由于特征向量属性值与所运行的应用实例有关,可以通过检测各个应用实例的特征向量属性值在运行时的大小关系或者比例关系,检测应用实例在运行时是否存在异常行为。
可以理解的是,可以只对节点特征向量进行判断,也可以只对边特征向量进行判断,也可以先对节点特征向量判断,若节点特征向量满足预置条件,再对边特征向量判断,也可以先对边特征向量判断,若边特征向量满足预置条件,再对节点特征向量判断,此处不作具体限定。
即对所述节点特征向量和边特征向量进行判断时,根据S206的判断结果,若所述节点特征向量和边特征向量满足预置条件则执行步骤S207,若所述节点特征向量或边特征向量不满足预置条件,则返回执行步骤S204;对所述节点特征向量或边特征向量进行判断时,根据S206的判断结果,若所述节点特征向量或边特征向量满足预置条件,则执行步骤S207,若所述节点特征向量或边特征向量不满足预置条件,则返回执行步骤S204;
S207、确定出所述多节点应用运行时不存在异常。
由上述可知,本发明实施例提供的一种多节点应用的异常检测方法,根据多节点应用(如第三方应用)运行时在网络层、操作系统层和体系结构层上产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为;且可进一步通过对应用交互拓扑图中的节点特征向量和/或边特征向量进行判断,及时从网络层、操作系统层和体系结构层上检测发现异常行为,如发现手机中的恶意软件,避免应用间的相互干扰,保证数据和信息的安全。
请参考图5,图5为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图,所述方法针对构建的应用交互拓扑图与预置的应用交互拓扑图同构情况下,对节点特征向量进行异常行为判定。
其中,所述方法包括以下步骤:
S301、采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据;
S302、根据采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
可以理解的是,步骤S301和步骤S302的过程可参考前述步骤S201和步骤S202中对应的步骤过程进行具体实现,此处不再阐述。
S303、判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构;
其中,预置的应用交互拓扑图是预先存储在处理器中的,预置的应用交互拓扑图是系统正常运行下从网络层、操作系统层和体系结构层上进行数据采集而构建的;同样地,预置的应用交互拓扑图也包括节点特征向量和边特征向量,节点特征向量包括节点IP地址,CPU利用率,磁盘IO数据,cachemiss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
根据S303的判断结果,若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则执行步骤S304,判断出所述应用交互拓扑图与预置的应用交互拓扑图同构,则可以执行步骤S305。
S304、确定出所述多节点应用运行时存在异常;
S305、判断节点特征向量是否满足预置条件;
可以理解的是,在判断出构建的应用交互拓扑图与预置的应用交互拓扑图同构之后,可以进而对节点特征向量进行判断,判断节点特征向量是否满足预置条件;
在某些实施方式中,若所述节点特征向量包括CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据,判断节点特征向量是否满足预置条件(S305)的过程可以具体为:
步骤a、对于每一个节点特征向量,构造所述节点特征向量在N个应用实例下的N*N差异性矩阵;
Xij为i行对应的应用实例下该节点特征向量属性值大于j列对应的应用实例下该节点特征向量属性值的次数,其中,Xij为所述N*N差异性矩阵中的元素,N为大于1的正整数,i,j为大于等于1且小于等于N的正整数;
其中,在构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前还包括读取N个应用实例下的节点特征向量属性值;
以下假设构造的节点特征向量差异性矩阵为CPU利用率的差异性矩阵,结合N个应用实例,对节点特征向量(CPU利用率)差异性矩阵的构造进行分析,可一并参考图6,图6为本发明实施例中构造节点特征向量差异性矩阵的流程示意图,其中:
S401、初始化差异性矩阵,假设Xij均为0;
其中,i行对应的应用实例不同于j列对应的应用实例;
S402、读取N个应用实例下的CPU利用率的值;
S403、判断A应用实例下的CPU利用率是否大于B应用实例下的CPU利用率;
可以理解的是,在该实施方式中,为方便描述,A和B仅代表N个应用实例中两个不同的应用实例,但并不能作为对本发明的限定;
根据步骤S403的判断结果,若A应用实例下的CPU利用率大于B应用实例下的CPU利用率,则执行步骤S403a,若A应用实例下的CPU利用率没有大于B应用实例下的CPU利用率,则执行步骤S403b;
S403a、Xij加1;
S403b、Xji加1;
S404、判断N个应用实例下的CPU利用率的值是否读取完毕;
在某些实施方式中,当达到预置时间阈值时可以判断出读取完毕,则执行步骤S405,若未读取完毕,则返回步骤S402继续读取;
S405、CPU利用率差异性矩阵构建完毕。
优选地,在构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前还可以包括:若读取的节点特征向量属性值在第一预置阈值范围内,则触发构造所述节点特征向量在N个应用实例下的N*N差异性矩阵;若读取的节点特征向量属性值不在第一预置阈值范围内,则确定出所述多节点应用运行时存在异常。
其中,第一预置阈值是预先存储在处理器中的,是系统正常运行时该节点特征向量属性值的大小;若读取的节点特征向量属性值不在该第一预置阈值范围内,则无需再构造该特征向量的差异性矩阵,可直接确定出多节点应用运行时存在异常。
步骤b、根据所述N*N差异性矩阵中的元素,获取所述N个应用实例之间所述节点特征向量属性值的大小关系;
以节点特征向量为CPU利用率为例,根据构造的N个应用实例下,CPU利用率差异性矩阵中的节点特征向量属性值(即CPU利用率的大小),可以知道各个应用实例之间CPU利用率的大小关系;
步骤c、将获取的节点特征向量属性值的大小关系与第一预置关系式比较,若所述大小关系与第一预置关系式相符,则确定出所述节点特征向量满足预置条件,若所述大小关系与第一预置关系式不相符,则确定出所述节点特征向量不满足预置条件。
以节点特征向量为CPU利用率为例,将获取的各个应用实例之间CPU利用率的大小关系与第一预置关系式比较:其中,第一预置关系式是预先存储在处理器中的,第一预置关系式是系统正常运行下统计的各应用实例该节点特征向量属性值的大小关系;若Xij的值明显大于Xji的值,则可以认为该节点特征向量属性值(CPU利用率)在A、B应用实例中的关系为“A应用实例下的CPU利用率大于B应用实例下的CPU利用率”;若Xij的值和Xji的值差异不大,则可以认为该节点特征向量属性值(CPU利用率)A、B应用实例中无明显大小关系,从而得到各个应用实例中该节点特征向量属性值(CPU利用率)的大小关系;进一步地,可以设定在一预置周期内对矩阵中的数值进行更新统计,并分析当前状态下该特征向量属性值在各个应用实例中的大小关系,若符合正常运行下统计的第一预置关系式,则确定出所述节点特征向量满足预置条件,若不符合正常运行下统计的第一预置关系式,则确定出所述节点特征向量不满足预置条件。
可以理解的是,当所述节点特征向量为磁盘IO数据或cache miss数据或instruction mix数据,其节点特征向量差异性矩阵的构造可以参考CPU利用率差异性矩阵的构造过程,此处不再具体阐述。
可以根据S305中步骤c的判断结果,若所述节点特征向量满足预置条件,则执行步骤S306,若所述节点特征向量不满足预置条件,则返回执行步骤S304;
S306、确定出所述多节点应用运行时不存在异常。
在某些实施方式中,若所述节点特征向量满足预置条件,则可以进一步对边特征向量进行判断,以确定出多节点应用运行时是否存在异常。
由上述可知,本发明实施例提供的一种多节点应用的异常检测方法,根据多节点应用(如第三方应用)运行时在网络层、操作系统层和体系结构层上产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为;且可进一步通过对应用交互拓扑图中的节点特征向量进行判断,构造节点特征向量在多个应用实例下的该节点特征向量差异性矩阵,通过分析各应用实例中该节点特征向量属性值的大小关系,可以及时从网络层、操作系统层和体系结构层上检测发现异常行为,如发现手机中的恶意软件,避免应用间的相互干扰,保证数据和信息的安全。
请参考图7,图7为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图,所述方法针对构建的应用交互拓扑图与预置的应用交互拓扑图同构情况下,对边特征向量进行异常行为判定。
其中,所述方法包括以下步骤:
S501、采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据;
S502、根据采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
可以理解的是,步骤S501和步骤S502的过程可参考前述步骤S201和步骤S203中对应的步骤过程进行具体实现,此处不再阐述。
S503、判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构;
其中,预置的应用交互拓扑图是预先存储在处理器中的,预置的应用交互拓扑图是系统正常运行下从网络层、操作系统层和体系结构层上进行数据采集而构建的;同样地,预置的应用交互拓扑图也包括节点特征向量和边特征向量,节点特征向量包括节点IP地址,CPU利用率,磁盘IO数据,cachemiss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
根据S503的判断结果,若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则执行步骤S504,判断出所述应用交互拓扑图与预置的应用交互拓扑图同构,则可以执行步骤S505。
S504、确定出所述多节点应用运行时存在异常;
S505、判断边特征向量是否满足预置条件;
可以理解的是,在判断出构建的应用交互拓扑图与预置的应用交互拓扑图同构之后,可以进而对边特征向量进行判断,判断边特征向量是否满足预置条件;
在某些实施方式中,若边特征向量为流量大小,判断边特征向量是否满足预置条件(S505)的过程可以具体为:
步骤a、构造所述边特征向量在M个应用实例下的M*M差异性矩阵;
Xpq为p行对应的应用实例发送到q列对应的应用实例的边特征向量属性值大小,其中,Xpq为所述M*M差异性矩阵中的元素,M为大于1的正整数,p,q为大于等于1且小于等于M的正整数;
其中,在构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前还包括读取M个应用实例下的边特征向量属性值;
以下假设构造的边特征向量差异性矩阵为流量大小的差异性矩阵,结合以M个应用实例中的A应用和B应用为例,对边特征向量差异性矩阵的构造进行分析,可一并参考图8,图8本发明实施例中构造边特征向量差异性矩阵的流程示意图,其中:
S601、初始化差异性矩阵,假设Xpq均为0;
其中,p行对应的应用实例不同于q列对应的应用实例;
S602、读取N个应用实例之间的流量大小的值;
S603、判断A应用实例发送到B应用实例的边特征向量属性值大小是否为b字节;
其中,所述b是在网络交互中,在一段时间内,节点P发送到节点Q的数据包大小(单位为字节数)。在本实施方式中,假设节点P上运行应用实例A,节点Q上运行应用实例B,则记录在这段时间内应用实例A发送到应用实例B的数据包大小。
可以理解的是,在该实施方式中,为方便描述,A和B仅代表M个应用实例中两个不同的应用实例,但并不能作为对本发明的限定;
根据步骤S603的判断结果,若A应用实例发送到B应用实例的边特征向量属性值大小是为b字节,则执行步骤S603a,若A应用实例发送到B应用实例的边特征向量属性值大小不是为b字节,则执行步骤S603b;
S603a、Xpq加b;
S603b、判断B应用实例发送到A应用实例的边特征向量属性值大小是否为b字节;若是,则执行步骤S604;
S604、Xqp加b;
S605、判断N个应用实例之间的流量大小的值是否读取完毕;
在某些实施方式中,当达到预置时间阈值时可以判断出读取完毕,则执行步骤S606,若未读取完毕,则返回步骤S602继续读取;
S606、流量大小差异性矩阵构建完毕。
优选地,在构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前还可以包括:
若读取的边特征向量属性值在第二预置阈值范围内,则触发构造所述边特征向量在M个应用实例下的M*M差异性矩阵;若读取的边特征向量属性值不在第二预置阈值范围内,则确定出所述多节点应用运行时存在异常。
其中,第二预置阈值是预先存储在处理器中的,是系统正常运行时该边特征向量属性值的大小;若读取的边特征向量属性值不在该第二预置阈值范围内,则无需再构造该特征向量的差异性矩阵,可直接确定出多节点应用运行时存在异常。
步骤b、根据所述M*M差异性矩阵中的元素,获取所述M个应用实例之间所述边特征向量属性值的比例关系;
以边特征向量为流量大小为例,根据构造的M个应用实例下,流量大小差异性矩阵中的边特征向量属性值(即流量大小),可以知道各个应用实例之间流量大小的比例关系;
为方便计算,本发明实施方式中,可以以以差异性矩阵中的最小值为基准,设定为1,再将余下各值等比例的变换得到新的比值关系矩阵。
步骤c、将获取的边特征向量属性值的比例关系与第二预置关系式比较,若所述比例关系与第二预置关系式相符,则确定出所述边特征向量满足预置条件,若所述比例关系与第二预置关系式不相符,则确定出所述边特征向量不满足预置条件。
以边特征向量为流量大小为例,将获取的流量大小的比例关系与第二预置关系式比较,其中,第二预置关系式是预先存储在处理器中的,第二预置关系式是系统正常运行下统计的各应用实例之间交互的流量的比例关系;进一步地,可以设定在一预置周期内对矩阵中的数值进行更新统计,从而可以得到应用交互拓扑图中各边交互的比例关系,若符合正常运行下的第二预置关系式,则确定出所述节点特征向量满足预置条件,若不符合正常运行下的第二预置关系式,可以认为流量大小不符合设定的可接受范围,则确定出所述节点特征向量不满足预置条件。
可以理解的是,其他边特征向量差异性矩阵的构造可以参考流量大小差异性矩阵的构造过程,此处不再具体阐述。
可以根据S505中步骤c的判断结果,若所述边特征向量满足预置条件,则执行步骤S506,若所述边特征向量不满足预置条件,则返回执行步骤S504;
S506、确定出所述多节点应用运行时不存在异常;
由上述可知,本发明实施例提供的一种多节点应用的异常检测方法,根据多节点应用(如第三方应用)运行时在网络层、操作系统层和体系结构层上产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为;且可进一步通过对应用交互拓扑图中的边特征向量进行判断,构造边特征向量在多个应用实例下的该边特征向量差异性矩阵,通过分析各应用实例中该边特征向量属性值的比例关系,可以及时从网络层、操作系统层和体系结构层上检测发现异常行为,如发现手机中的恶意软件,避免应用间的相互干扰,保证数据和信息的安全。
为方便理解,以下以一具体应用场景对多节点应用的异常检测方法进行分析:
在该应用场景下,如图9所示,假设在5个不同的节点上分别运行应用实例Apache、Mysql、Dis_Sphinx、Sphinx_1、Sphinx_2,其中,每个节点上所定义的特征向量为节点IP地址,CPU利用率,磁盘IO数据,Cache miss数据和Instruction mix数据,每条边上所定义的特征向量为数据包类型和流量大小,通过分析训练数据,针对每个应用实例的特征向量的每一个特征向量属性值设定了阈值(如第一预置阈值和第二预置阈值等),并且设定了每一特征向量属性值在不同应用实例下的差异性规则(如第一预置关系式和第二预置关系式等)。
在进行异常检测时,在以上5个节点对应的应用实例中采集数据(即我们所定义的特征向量的数据),并将所采集的数据进行汇总和关联分析,构建应用交互拓扑图,并记录每个节点和边上的特征向量。
首先,将构建的应用交互拓扑图与系统正常运行时预置的应用交互拓扑图进行比较,判断它们是否同构,若同构则进行下一步检验,若不同构,则可以判断出发生异常;其次在判断出同构后,可以检验节点上的特征向量是否出现异常,针对上述特征向量中的单一特征向量属性值进行阈值比较,即与正常训练库中每一单一特征向量属性值的正常范围进行比较,从而发现某一节点上的某个特征向量的异常,比如由于CPU利用率太高而出现的异常。在此基础上,结合分析不同节点上某个特征向量的值,构建差异性矩阵,本实施方式中,可以是总结cache miss数据在Apache、Mysql和Sphinx应用实例上存在的大小关系,将得到的大小关系与预置的差异性规则进行对比,从而可以判断出是否存在异常。
若得到的大小关系满足预置的差异性规则,可以进一步地检验边特征向量属性是否出现异常,针对节点上应用实例之间的数据流量进行阈值比较,比如若Apache发送到Mysql的流量超出了设定的范围,可以判断出现流量异常;若判断出各条边的流量大小属于正常范围之后,可以分析各个节点交互的差异性,即分析各边交互的流量存在的比例关系,比如Apache发送到Mysql与Apache发送到Dis_Sphinx的流量比例关系在正常情况下满足大致1∶5的关系,此为训练数据得到的一个差异性规则(即第二预置关系式),在检测过程中,发现其比例关系大致为1∶10,则确定存在异常行为。
由上述可知,本发明实施例提供的一种多节点应用的异常检测方法,根据多节点应用(如第三方应用)运行时在网络层、操作系统层和体系结构层上产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为;且可进一步通过对应用交互拓扑图中的节点特征向量和边特征向量进行判断,构造节点特征向量和边特征向量在多个应用实例下的该边特征向量差异性矩阵,通过分析各应用实例中单一节点特征向量属性值的大小关系,和边特征向量属性值的比例关系,可以及时从网络层、操作系统层和体系结构层上检测发现异常行为,避免应用间的相互干扰,保证数据和信息的安全。
为便于更好的实施本发明实施例的技术方案,本发明实施例还提供用于实施上述方法的相关装置。其中名词的含义与上述方法中相同,具体实现细节可以参考方法实施例中的说明。
请参考图10,图10为本发明实施例提供的一种多节点应用的异常检测装置结构示意图,其中,所述装置包括:
数据采集模块101,用于采集多节点应用运行时产生的数据;
构图模块102,用于根据所述数据采集模块101采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
判断模块103,用于判断所述构图模块102构建的应用交互拓扑图与预置的应用交互拓扑图是否同构,若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则确定出所述多节点应用运行时存在异常。
可以理解的是,所述装置还可以包括日志分析模块,用于根据采集到的数据生成日志文件,并对日志文件进行数据分析,从而构图模块102构建应用交互拓扑图,判断模块103通过判断构建应用交互拓扑图的同构性,判断多节点应用运行时是否存在异常。
由上述可知,本发明实施例提供的一种多节点应用的异常检测装置,根据多节点应用(如第三方应用)运行时产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为,避免应用间的相互干扰,保证数据和信息的安全。
进一步地,所述数据采集模块101具体用于:采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据,其中,网络层上采集到的数据包括数据包类型和流量大小,操作系统层上采集到的数据包括中央处理器CPU利用率和磁盘输入输出IO数据,体系结构层上采集到的数据包括缓存失效cache miss数据和混合指令集instruction mix数据。
可以理解的是,本实施例中,主要采用perf以及systemtap等工具进行数据的采集,其中,网络层采集的数据表现了网络中流量的情况,操作系统层采集的数据表现了系统的运行状况,体系结构层采集的数据表现了应用的特性。
更进一步地,根据从网络层、操作系统层和体系结构层上采集到的数据,所述构图模块102具体用于:根据操作系统层和体系结构层上采集到的数据,构建应用交互拓扑图中的节点特征向量,根据网络层上采集到的数据,构建应用交互拓扑图中的边特征向量,其中,所述节点特征向量包括节点IP地址,CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
在一种实施方式中,所述判断模块103还用于:若所述应用交互拓扑图与预置的应用交互拓扑图同构,则确定出所述多节点应用运行时不存在异常。
在另一种实施方式中,所述判断模块103还用于:若所述应用交互拓扑图与预置的应用交互拓扑图同构,对节点特征向量和/或边特征向量进行判断,对所述节点特征向量和边特征向量进行判断时,若所述节点特征向量和边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常;对所述节点特征向量或边特征向量进行判断时,若所述节点特征向量或边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常。
其中,在该实施方式下,可以只对节点特征向量进行判断,也可以只对边特征向量进行判断,也可以先对节点特征向量判断,若节点特征向量满足预置条件,再对边特征向量判断,也可以先对边特征向量判断,若边特征向量满足预置条件,再对节点特征向量判断,此处不作具体限定。
在某些实施方式中,针对构建的应用交互拓扑图与预置的应用交互拓扑图同构情况下,判断模块103对节点特征向量进行异常行为判定可以按如下实施方式具体实现:
所述节点特征向量包括CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据;对于每一个节点特征向量,构造所述节点特征向量在N个应用实例下的N*N差异性矩阵,Xij为i行对应的应用实例下该节点特征向量属性值大于j列对应的应用实例下该节点特征向量属性值的次数,其中,Xij为所述N*N差异性矩阵中的元素,N为大于1的正整数,i,j为大于等于1且小于等于N的正整数;根据所述N*N差异性矩阵中的元素,获取所述N个应用实例之间所述节点特征向量属性值的大小关系;将获取的节点特征向量属性值的大小关系与第一预置关系式比较,若所述大小关系与第一预置关系式相符,则确定出所述节点特征向量满足预置条件,若所述大小关系与第一预置关系式不相符,则确定出所述节点特征向量不满足预置条件。
优选地,所述判断模块103用于构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前,还读取N个应用实例下的节点特征向量属性值;若读取的节点特征向量属性值在第一预置阈值范围内,则触发构造所述节点特征向量在N个应用实例下的N*N差异性矩阵;若读取的节点特征向量属性值不在第一预置阈值范围内,则确定出所述多节点应用运行时存在异常。
可以理解的是,构造节点特征向量差异性矩阵的步骤过程可以参考上述实施例相关描述进行具体实现,此处不再具体阐述。
在某些实施方式中,针对构建的应用交互拓扑图与预置的应用交互拓扑图同构情况下,判断模块103对边特征向量进行异常行为判定可以按如下实施方式具体实现:
所述边特征向量为流量大小,构造所述边特征向量在M个应用实例下的M*M差异性矩阵,Xpq为p行对应的应用实例发送到q列对应的应用实例的边特征向量属性值大小,其中,Xpq为所述M*M差异性矩阵中的元素,M为大于1的正整数,p,q为大于等于1且小于等于M的正整数;根据所述M*M差异性矩阵中的元素,获取所述M个应用实例之间所述边特征向量属性值的比例关系;将获取的边特征向量属性值的比例关系与第二预置关系式比较,若所述比例关系与第二预置关系式相符,则确定出所述边特征向量满足预置条件,若所述比例关系与第二预置关系式不相符,则确定出所述边特征向量不满足预置条件。
优选地,所述判断模块103用于构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前,还读取M个应用实例下的边特征向量属性值;若读取的边特征向量属性值在第二预置阈值范围内,则触发构造所述边特征向量在M个应用实例下的M*M差异性矩阵;若读取的边特征向量属性值不在第二预置阈值范围内,则确定出所述多节点应用运行时存在异常。
可以理解的是,构造边特征向量差异性矩阵的步骤过程可以参考上述实施例相关描述进行具体实现,此处不再具体阐述。
由上述可知,本发明实施例提供的一种多节点应用的异常检测方法,根据多节点应用(如第三方应用)运行时在网络层、操作系统层和体系结构层上产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为;且可进一步通过对应用交互拓扑图中的节点特征向量和/或边特征向量进行判断,构造节点特征向量和/或边特征向量在多个应用实例下的该边特征向量差异性矩阵,通过分析各应用实例中单一节点特征向量属性值的大小关系,和/或边特征向量属性值的比例关系,可以及时从网络层、操作系统层和体系结构层上检测发现异常行为,避免应用间的相互干扰,保证数据和信息的安全。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置及装置中的单元模块的具体工作过程,可以参考前述方法实施例中的对应过程进行具体实现,在此不再赘述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本发明所提供的一种多节点应用的异常检测方法及相关装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (18)
1.一种多节点应用的异常检测方法,其特征在于,包括:
采集多节点应用运行时产生的数据;
根据采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构;
若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则确定出所述多节点应用运行时存在异常。
2.根据权利要求1所述的方法,其特征在于,所述采集多节点应用运行时产生的数据包括:
采集多节点应用运行时在网络层、操作系统层和体系结构层上产生的数据,其中,网络层上采集到的数据包括数据包类型和流量大小,操作系统层上采集到的数据包括中央处理器CPU利用率和磁盘输入输出IO数据,体系结构层上采集到的数据包括缓存失效cache miss数据和混合指令集instructionmix数据。
3.根据权利要求2所述的方法,其特征在于,所述根据采集到的数据,构建应用交互拓扑图包括:
根据操作系统层和体系结构层上采集到的数据,构建应用交互拓扑图中的节点特征向量,根据网络层上采集到的数据,构建应用交互拓扑图中的边特征向量,其中,所述节点特征向量包括节点网协IP地址,CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构之后,包括:
若所述应用交互拓扑图与预置的应用交互拓扑图同构,则确定出所述多节点应用运行时不存在异常。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构之后,包括:
若所述应用交互拓扑图与预置的应用交互拓扑图同构,对所述节点特征向量和/或所述边特征向量进行判断;
所述对所述节点特征向量和/或所述边特征向量进行判断包括:
对所述节点特征向量和边特征向量进行判断时,若所述节点特征向量和边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常;
对所述节点特征向量或边特征向量进行判断时,若所述节点特征向量或边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常。
6.根据权利要求5所述的方法,其特征在于,
所述节点特征向量包括CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据;
对所述节点特征向量进行判断包括:
对于每一个节点特征向量,构造所述节点特征向量在N个应用实例下的N*N差异性矩阵,Xij为i行对应的应用实例下该节点特征向量属性值大于j列对应的应用实例下该节点特征向量属性值的次数,其中,Xij为所述N*N差异性矩阵中的元素,N为大于1的正整数,i,j为大于等于1且小于等于N的正整数;
根据所述N*N差异性矩阵中的元素,获取所述N个应用实例之间所述节点特征向量属性值的大小关系;
将获取的节点特征向量属性值的大小关系与第一预置关系式比较,若所述大小关系与第一预置关系式相符,则确定出所述节点特征向量满足预置条件,若所述大小关系与第一预置关系式不相符,则确定出所述节点特征向量不满足预置条件。
7.根据权利要求6所述的方法,其特征在于,所述构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前,包括:
读取N个应用实例下的节点特征向量属性值;
若读取的节点特征向量属性值在第一预置阈值范围内,则触发构造所述节点特征向量在N个应用实例下的N*N差异性矩阵;
若读取的节点特征向量属性值不在第一预置阈值范围内,则确定出所述多节点应用运行时存在异常。
8.根据权利要求5所述的方法,其特征在于,
所述边特征向量为流量大小,
对所述边特征向量进行判断包括:
构造所述边特征向量在M个应用实例下的M*M差异性矩阵,Xpq为p行对应的应用实例发送到q列对应的应用实例的边特征向量属性值大小,其中,Xpq为所述M*M差异性矩阵中的元素,M为大于1的正整数,p,q为大于等于1且小于等于M的正整数;
根据所述M*M差异性矩阵中的元素,获取所述M个应用实例之间所述边特征向量属性值的比例关系;
将获取的边特征向量属性值的比例关系与第二预置关系式比较,若所述比例关系与第二预置关系式相符,则确定出所述边特征向量满足预置条件,若所述比例关系与第二预置关系式不相符,则确定出所述边特征向量不满足预置条件。
9.根据权利要求8所述的方法,其特征在于,所述构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前,包括:
读取M个应用实例下的边特征向量属性值;
若读取的边特征向量属性值在第二预置阈值范围内,则触发构造所述边特征向量在M个应用实例下的M*M差异性矩阵;
若读取的边特征向量属性值不在第二预置阈值范围内,则确定出所述多节点应用运行时存在异常。
10.一种多节点应用的异常检测装置,其特征在于,包括:
数据采集模块,用于采集多节点应用运行时产生的数据;
构图模块,用于根据所述数据采集模块采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
判断模块,用于判断所述构图模块构建的应用交互拓扑图与预置的应用交互拓扑图是否同构,若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则确定出所述多节点应用运行时存在异常。
11.根据权利要求10所述的装置,其特征在于,所述数据采集模块具体用于:
采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据,其中,网络层上采集到的数据包括数据包类型和流量大小,操作系统层上采集到的数据包括中央处理器CPU利用率和磁盘输入输出IO数据,体系结构层上采集到的数据包括缓存失效cache miss数据和混合指令集instruction mix数据。
12.根据权利要求11所述的装置,其特征在于,所述构图模块具体用于:
根据操作系统层和体系结构层上采集到的数据,构建应用交互拓扑图中的节点特征向量,根据网络层上采集到的数据,构建应用交互拓扑图中的边特征向量,其中,所述节点特征向量包括节点IP地址,CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
13.根据权利要求10至12任一项所述的装置,其特征在于,所述判断模块还用于:
若所述应用交互拓扑图与预置的应用交互拓扑图同构,则确定出所述多节点应用运行时不存在异常。
14.根据权利要求10至12任一项所述的装置,其特征在于,所述判断模块还用于:
若所述应用交互拓扑图与预置的应用交互拓扑图同构,对节点特征向量和/或边特征向量进行判断,对所述节点特征向量和边特征向量进行判断时,若所述节点特征向量和边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常;对所述节点特征向量或边特征向量进行判断时,若所述节点特征向量或边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常。
15.根据权利要求14所述的装置,其特征在于,
所述节点特征向量包括CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据;
所述判断模块,用于对节点特征向量进行判断包括:
对于每一个节点特征向量,构造所述节点特征向量在N个应用实例下的N*N差异性矩阵,Xij为i行对应的应用实例下该节点特征向量属性值大于j列对应的应用实例下该节点特征向量属性值的次数,其中,Xij为所述N*N差异性矩阵中的元素,N为大于1的正整数,i,j为大于等于1且小于等于N的正整数;
根据所述N*N差异性矩阵中的元素,获取所述N个应用实例之间所述节点特征向量属性值的大小关系;
将获取的节点特征向量属性值的大小关系与第一预置关系式比较,若所述大小关系与第一预置关系式相符,则确定出所述节点特征向量满足预置条件,若所述大小关系与第一预置关系式不相符,则确定出所述节点特征向量不满足预置条件。
16.根据权利要求15所述的装置,其特征在于,所述判断模块用于构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前,包括:
读取N个应用实例下的节点特征向量属性值;
若读取的节点特征向量属性值在第一预置阈值范围内,则触发构造所述节点特征向量在N个应用实例下的N*N差异性矩阵;
若读取的节点特征向量属性值不在第一预置阈值范围内,则确定出所述多节点应用运行时存在异常。
17.根据权利要求14所述的装置,其特征在于,
所述边特征向量为流量大小,
所述判断模块,用于对边特征向量进行判断包括:
构造所述边特征向量在M个应用实例下的M*M差异性矩阵,Xpq为p行对应的应用实例发送到q列对应的应用实例的边特征向量属性值大小,其中,Xpq为所述M*M差异性矩阵中的元素,M为大于1的正整数,p,q为大于等于1且小于等于M的正整数;
根据所述M*M差异性矩阵中的元素,获取所述M个应用实例之间所述边特征向量属性值的比例关系;
将获取的边特征向量属性值的比例关系与第二预置关系式比较,若所述比例关系与第二预置关系式相符,则确定出所述边特征向量满足预置条件,若所述比例关系与第二预置关系式不相符,则确定出所述边特征向量不满足预置条件。
18.根据权利要求17所述的装置,其特征在于,所述判断模块用于构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前,包括:
读取M个应用实例下的边特征向量属性值;
若读取的边特征向量属性值在第二预置阈值范围内,则触发构造所述边特征向量在M个应用实例下的M*M差异性矩阵;
若读取的边特征向量属性值不在第二预置阈值范围内,则确定出所述多节点应用运行时存在异常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210554617.9A CN103888304B (zh) | 2012-12-19 | 2012-12-19 | 一种多节点应用的异常检测方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210554617.9A CN103888304B (zh) | 2012-12-19 | 2012-12-19 | 一种多节点应用的异常检测方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103888304A true CN103888304A (zh) | 2014-06-25 |
CN103888304B CN103888304B (zh) | 2017-08-04 |
Family
ID=50957031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210554617.9A Expired - Fee Related CN103888304B (zh) | 2012-12-19 | 2012-12-19 | 一种多节点应用的异常检测方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103888304B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536996A (zh) * | 2014-12-12 | 2015-04-22 | 南京理工大学 | 一种同构环境下计算节点异常检测方法 |
CN105824906A (zh) * | 2016-03-15 | 2016-08-03 | 焦点科技股份有限公司 | 一种ip库质量评估及入库方法和系统 |
CN106339315A (zh) * | 2016-08-19 | 2017-01-18 | 东软集团股份有限公司 | 定位缺陷的方法及装置 |
CN106789265A (zh) * | 2016-12-27 | 2017-05-31 | 北京五八信息技术有限公司 | 一种服务集群的聚类方法及装置 |
CN107666468A (zh) * | 2016-07-29 | 2018-02-06 | 中国电信股份有限公司 | 网络安全检测方法和装置 |
CN108228442A (zh) * | 2016-12-14 | 2018-06-29 | 华为技术有限公司 | 一种异常节点的检测方法及装置 |
CN108664346A (zh) * | 2017-03-27 | 2018-10-16 | 中国移动通信集团福建有限公司 | 分布式存储系统的节点异常的定位方法、装置和系统 |
CN109818796A (zh) * | 2019-02-11 | 2019-05-28 | 南方科技大学 | 数据中心构建方法、装置、电子设备和介质 |
CN109844749A (zh) * | 2018-08-29 | 2019-06-04 | 区链通网络有限公司 | 一种基于图算法的节点异常检测方法、装置及存储装置 |
CN109951499A (zh) * | 2019-04-25 | 2019-06-28 | 北京计算机技术及应用研究所 | 一种基于网络结构特征的异常检测方法 |
CN111061586A (zh) * | 2019-12-05 | 2020-04-24 | 深圳先进技术研究院 | 一种容器云平台异常检测方法、系统及电子设备 |
CN113298345A (zh) * | 2021-04-06 | 2021-08-24 | 杭州未名信科科技有限公司 | 异常行为的检测方法、装置、电子设备及介质 |
CN116628554A (zh) * | 2023-05-31 | 2023-08-22 | 烟台大学 | 一种工业互联网数据异常的检测方法、系统和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1697284A (zh) * | 2005-03-22 | 2005-11-16 | 东北大学 | 一种电力数据采集与监控系统及装置 |
US20070086350A1 (en) * | 2005-10-13 | 2007-04-19 | International Business Machines Corporation | Method, system, and computer program product for providing failure detection with minimal bandwidth usage |
CN102138130A (zh) * | 2008-08-29 | 2011-07-27 | 国际商业机器公司 | 检测规则生成装置、检测规则生成方法和计算机程序 |
CN102802158A (zh) * | 2012-08-07 | 2012-11-28 | 湖南大学 | 基于信任评估的无线传感器网络异常检测方法 |
-
2012
- 2012-12-19 CN CN201210554617.9A patent/CN103888304B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1697284A (zh) * | 2005-03-22 | 2005-11-16 | 东北大学 | 一种电力数据采集与监控系统及装置 |
US20070086350A1 (en) * | 2005-10-13 | 2007-04-19 | International Business Machines Corporation | Method, system, and computer program product for providing failure detection with minimal bandwidth usage |
CN102138130A (zh) * | 2008-08-29 | 2011-07-27 | 国际商业机器公司 | 检测规则生成装置、检测规则生成方法和计算机程序 |
CN102802158A (zh) * | 2012-08-07 | 2012-11-28 | 湖南大学 | 基于信任评估的无线传感器网络异常检测方法 |
Non-Patent Citations (1)
Title |
---|
崔超: ""浅析应用服务器异常节点检测问题"", 《计算机光盘软件与应用》 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536996A (zh) * | 2014-12-12 | 2015-04-22 | 南京理工大学 | 一种同构环境下计算节点异常检测方法 |
CN104536996B (zh) * | 2014-12-12 | 2017-12-12 | 南京理工大学 | 一种同构环境下计算节点异常检测方法 |
CN105824906B (zh) * | 2016-03-15 | 2019-02-05 | 焦点科技股份有限公司 | 一种ip库质量评估及入库方法和系统 |
CN105824906A (zh) * | 2016-03-15 | 2016-08-03 | 焦点科技股份有限公司 | 一种ip库质量评估及入库方法和系统 |
CN107666468A (zh) * | 2016-07-29 | 2018-02-06 | 中国电信股份有限公司 | 网络安全检测方法和装置 |
CN107666468B (zh) * | 2016-07-29 | 2020-08-04 | 中国电信股份有限公司 | 网络安全检测方法和装置 |
CN106339315A (zh) * | 2016-08-19 | 2017-01-18 | 东软集团股份有限公司 | 定位缺陷的方法及装置 |
CN106339315B (zh) * | 2016-08-19 | 2019-03-22 | 东软集团股份有限公司 | 定位缺陷的方法及装置 |
CN108228442A (zh) * | 2016-12-14 | 2018-06-29 | 华为技术有限公司 | 一种异常节点的检测方法及装置 |
CN108228442B (zh) * | 2016-12-14 | 2020-10-27 | 华为技术有限公司 | 一种异常节点的检测方法及装置 |
CN106789265A (zh) * | 2016-12-27 | 2017-05-31 | 北京五八信息技术有限公司 | 一种服务集群的聚类方法及装置 |
CN108664346A (zh) * | 2017-03-27 | 2018-10-16 | 中国移动通信集团福建有限公司 | 分布式存储系统的节点异常的定位方法、装置和系统 |
CN109844749B (zh) * | 2018-08-29 | 2023-06-20 | 区链通网络有限公司 | 一种基于图算法的节点异常检测方法、装置及存储装置 |
CN109844749A (zh) * | 2018-08-29 | 2019-06-04 | 区链通网络有限公司 | 一种基于图算法的节点异常检测方法、装置及存储装置 |
WO2020042024A1 (zh) * | 2018-08-29 | 2020-03-05 | 区链通网络有限公司 | 一种基于图算法的节点异常检测方法、装置及存储装置 |
CN109818796B (zh) * | 2019-02-11 | 2022-04-15 | 南方科技大学 | 数据中心构建方法、装置、电子设备和介质 |
CN109818796A (zh) * | 2019-02-11 | 2019-05-28 | 南方科技大学 | 数据中心构建方法、装置、电子设备和介质 |
CN109951499A (zh) * | 2019-04-25 | 2019-06-28 | 北京计算机技术及应用研究所 | 一种基于网络结构特征的异常检测方法 |
CN111061586A (zh) * | 2019-12-05 | 2020-04-24 | 深圳先进技术研究院 | 一种容器云平台异常检测方法、系统及电子设备 |
CN111061586B (zh) * | 2019-12-05 | 2023-09-19 | 深圳先进技术研究院 | 一种容器云平台异常检测方法、系统及电子设备 |
CN113298345A (zh) * | 2021-04-06 | 2021-08-24 | 杭州未名信科科技有限公司 | 异常行为的检测方法、装置、电子设备及介质 |
CN113298345B (zh) * | 2021-04-06 | 2022-11-18 | 杭州未名信科科技有限公司 | 异常行为的检测方法、装置、电子设备及介质 |
CN116628554A (zh) * | 2023-05-31 | 2023-08-22 | 烟台大学 | 一种工业互联网数据异常的检测方法、系统和设备 |
CN116628554B (zh) * | 2023-05-31 | 2023-11-03 | 烟台大学 | 一种工业互联网数据异常的检测方法、系统和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103888304B (zh) | 2017-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103888304A (zh) | 一种多节点应用的异常检测方法及相关装置 | |
Xue et al. | Practise: Robust prediction of data center time series | |
US20140195860A1 (en) | Early Detection Of Failing Computers | |
US9710122B1 (en) | Customer support interface | |
CN104270416A (zh) | 负载均衡控制方法及管理节点 | |
CN102651062B (zh) | 基于虚拟机架构的恶意行为跟踪系统和方法 | |
JP5803496B2 (ja) | ストレージシステム | |
US20150089042A1 (en) | Dynamic discovery of applications, external dependencies, and relationships | |
CN107977254A (zh) | 云数据系统中请求的响应方法和计算机可读存储介质 | |
JP2006236331A (ja) | 保存領域ネットワークの分析と問題報告の方法及び装置 | |
US9213618B2 (en) | Storage management systems and methods in hierarchical storage systems | |
US11599404B2 (en) | Correlation-based multi-source problem diagnosis | |
Joshi et al. | Sherlock: Lightweight detection of performance interference in containerized cloud services | |
US10999159B2 (en) | System and method of detecting application affinity using network telemetry | |
CN112235300A (zh) | 云虚拟网络漏洞检测方法、系统、装置及电子设备 | |
US11546224B2 (en) | Virtual network layer for distributed systems | |
CN110515758A (zh) | 一种故障定位方法、装置、计算机设备及存储介质 | |
JP4495248B2 (ja) | 情報処理装置、障害処理方法 | |
US11297086B2 (en) | Correlation-based network security | |
CN112769782A (zh) | 多云安全基线管理的方法与设备 | |
Buga et al. | Towards Modeling Monitoring Services for Large-Scale Distributed Systems with Abstract State Machines. | |
CN102822806B (zh) | 检测应用的无进展状态 | |
JP2021157339A (ja) | 情報処理方法、及び情報処理プログラム | |
WO2014054233A1 (ja) | 情報システムの性能評価装置、方法およびプログラム | |
JP2021529366A (ja) | リモート・アプリケーションを提供するサーバのセキュリティ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170804 Termination date: 20201219 |