一种多节点应用的异常检测方法及相关装置制造方法

文档序号:7987611阅读:326来源:国知局
一种多节点应用的异常检测方法及相关装置制造方法
【专利摘要】本发明实施例公开了一种多节点应用的异常检测方法及相关装置,用于及时发现应用间的相互干扰,检测多节点应用的异常行为。本发明实施例包括采集多节点应用运行时产生的数据;根据采集到的数据,构建应用交互拓扑图,应用交互拓扑图包括节点特征向量和边特征向量;判断应用交互拓扑图与预置的应用交互拓扑图是否同构;若应用交互拓扑图与预置的应用交互拓扑图不同构,则确定出多节点应用运行时存在异常。
【专利说明】一种多节点应用的异常检测方法及相关装置
【技术领域】
[0001]本发明涉及异常检测【技术领域】,尤其是涉及一种多节点应用的异常检测方法及相
关装置。
【背景技术】
[0002]随着云计算技术的兴起与发展,各种云平台应运而生,如谷歌(Google)发布的一个开发、托管网络应用程序的平台Google APP engine,它使用Google管理的数据中心,并采用云计算技术通过跨越多个服务器和数据中心来虚拟化应用程序,同时随着手机的普遍使用,各种手机平台也随之出现,如Google为安卓(Android)设备开发的在线应用程序商店Google Play,用于为Android用户提供多节点应用程序,其中,多节点应用程序是指在多个机器上部署应用程序。
[0003]可是,目前还没有对多节点应用程序异常行为进行检测的有效方案,例如,针对最广泛的多节点应用程序——第三方应用程序,有必要提出一种异常检测方法来及时发现应用间的相互干扰和异常行为。

【发明内容】

[0004]本发明实施例提供了一种多节点应用的异常检测方法及相关装置,用于及时发现应用间的相互干扰,检测多节点应用的异常行为。
[0005]有鉴于此,本发明一方面提供一种多节点应用的异常检测方法,可包括:
[0006]采集多节点应用运行时产生的数据;
[0007]根据采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
[0008]判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构;
[0009]若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则确定出所述多节点应用运行时存在异常。
[0010]在第一种可能的实现方式中,所述采集多节点应用运行时产生的数据包括:采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据,其中,网络层上采集到的数据包括数据包类型和流量大小,操作系统层上采集到的数据包括中央处理器CPU利用率和磁盘输入输出IO数据,体系结构层上采集到的数据包括缓存失效cache miss数据和混合指令集instruction mix数据。
[0011]结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据采集到的数据,构建应用交互拓扑图包括:根据操作系统层和体系结构层上采集到的数据,构建应用交互拓扑图中的节点特征向量,根据网络层上采集到的数据,构建应用交互拓扑图中的边特征向量,其中,所述节点特征向量包括节点网协IP地址,CPU利用率,磁盘10数据,cache miss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。[0012]结合第一方面或第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构之后,包括:若所述应用交互拓扑图与预置的应用交互拓扑图同构,则确定出所述多节点应用运行时不存在异常。
[0013]结合第一方面或第一方面的第一种或第二种可能的实现方式,在第四种可能的实现方式中,所述判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构之后,包括:若所述应用交互拓扑图与预置的应用交互拓扑图同构,对节点特征向量和/或边特征向量进行判断,所述对所述节点特征向量和/或所述边特征向量进行判断包括:对所述节点特征向量和边特征向量进行判断时,若所述节点特征向量和边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常;对所述节点特征向量或边特征向量进行判断时,若所述节点特征向量或边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常。
[0014]结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述节点特征向量包括CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据;所述对节点特征向量进行判断包括:对于每一个节点特征向量,构造所述节点特征向量在N个应用实例下的N*N差异性矩阵,Xij为i行对应的应用实例下该节点特征向量属性值大于j列对应的应用实例下该节点特征向量属性值的次数,其中,Xij为所述N*N差异性矩阵中的元素,N为大于I的正整数,i, j为大于等于I且小于等于N的正整数;根据所述N*N差异性矩阵中的元素,获取所述N个应用实例之间所述节点特征向量属性值的大小关系;将获取的节点特征向量属性值的大小关系与第一预置关系式比较,若所述大小关系与第一预置关系式相符,则确定出所述节点特征向量满足预置条件,若所述大小关系与第一预置关系式不相符,则确定出所述节点特征向量不满足预置条件。
[0015]结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前,包括:读取N个应用实例下的节点特征向量属性值;若读取的节点特征向量属性值在第一预置阈值范围内,则触发构造所述节点特征向量在N个应用实例下的N*N差异性矩阵;若读取的节点特征向量属性值不在第一预置阈值范围内,则确定出所述多节点应用运行时存在异常。
[0016]结合第一方面的第四种可能的实现方式,在第七种可能的实现方式中,所述边特征向量为流量大小,所述对边特征向量进行判断包括:构造所述边特征向量在M个应用实例下的M*M差异性矩阵,Xm为P行对应的应用实例发送到q列对应的应用实例的边特征向量属性值大小,其中,Xm为所述M*M差异性矩阵中的元素,M为大于I的正整数,p,q为大于等于I且小于等于M的正整数;根据所述M*M差异性矩阵中的元素,获取所述M个应用实例之间所述边特征向量属性值的比例关系;将获取的边特征向量属性值的比例关系与第二预置关系式比较,若所述比例关系与第二预置关系式相符,则确定出所述边特征向量满足预置条件,若所述比例关系与第二预置关系式不相符,则确定出所述边特征向量不满足预置条件。
[0017]结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前,包括:读取M个应用实例下的边特征向量属性值;若读取的边特征向量属性值在第二预置阈值范围内,则触发构造所述边特征向量在M个应用实例下的M*M差异性矩阵;若读取的边特征向量属性值不在第二预置阈值范围内,则确定出所述多节点应用运行时存在异常。
[0018]本发明第二方面提供一种多节点应用的异常检测装置,可包括:
[0019]数据采集模块,用于采集多节点应用运行时产生的数据;
[0020]构图模块,用于根据所述数据采集模块采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
[0021]判断模块,用于判断所述构图模块构建的应用交互拓扑图与预置的应用交互拓扑图是否同构,若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则确定出所述多节点应用运行时存在异常。
[0022]在第一种可能的实现方式中,所述数据采集模块具体用于:采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据,其中,网络层上采集到的数据包括数据包类型和流量大小,操作系统层上采集到的数据包括中央处理器CPU利用率和磁盘输入输出IO数据,体系结构层上采集到的数据包括缓存失效cache miss数据和混合指令集instruction mix 数据。
[0023]结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述构图模块具体用于:根据操作系统层和体系结构层上采集到的数据,构建应用交互拓扑图中的节点特征向量,根据网络层上采集到的数据,构建应用交互拓扑图中的边特征向量,其中,所述节点特征向量包括节点IP地址,CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
[0024]结合第二方面或第二方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述判断模块还用于:若所述应用交互拓扑图与预置的应用交互拓扑图同构,则确定出所述多节点应用运行时不存在异常。
[0025]结合第二方面或第二方面的第一种或第二种可能的实现方式,在第四种可能的实现方式中,所述判断模块还用于:若所述应用交互拓扑图与预置的应用交互拓扑图同构,对节点特征向量和/或边特征向量进行判断,对所述节点特征向量和边特征向量进行判断时,若所述节点特征向量和边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常;对所述节点特征向量或边特征向量进行判断时,若所述节点特征向量或边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常。
[0026]结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述节点特征向量包括CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据;所述判断模块,用于对节点特征向量进行判断包括:对于每一个节点特征向量,构造所述节点特征向量在N个应用实例下的N*N差异性矩阵,Xu为i行对应的应用实例下该节点特征向量属性值大于j列对应的应用实例下该节点特征向量属性值的次数,其中,Xu为所述N*N差异性矩阵中的元素,N为大于I的正整数,i, j为大于等于I且小于等于N的正整数;根据所述N*N差异性矩阵中的元素,获取所述N个应用实例之间所述节点特征向量属性值的大小关系;将获取的节点特征向量属性值的大小关系与第一预置关系式比较,若所述大小关系与第一预置关系式相符,则确定出所述节点特征向量满足预置条件,若所述大小关系与第一预置关系式不相符,则确定出所述节点特征向量不满足预置条件。
[0027]结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述判断模块用于构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前,包括:读取N个应用实例下的节点特征向量属性值;若读取的节点特征向量属性值在第一预置阈值范围内,则触发构造所述节点特征向量在N个应用实例下的N*N差异性矩阵;若读取的节点特征向量属性值不在第一预置阈值范围内,则确定出所述多节点应用运行时存在异常。
[0028]结合第二方面的第四种可能的实现方式,在第七种可能的实现方式中,所述边特征向量为流量大小,所述判断模块,用于对边特征向量进行判断包括:构造所述边特征向量在M个应用实例下的M*M差异性矩阵,Xm为P行对应的应用实例发送到q列对应的应用实例的边特征向量属性值大小,其中,Xpq为所述M*M差异性矩阵中的元素,M为大于I的正整数,P,q为大于等于I且小于等于M的正整数;根据所述M*M差异性矩阵中的元素,获取所述M个应用实例之间所述边特征向量属性值的比例关系;将获取的边特征向量属性值的比例关系与第二预置关系式比较,若所述比例关系与第二预置关系式相符,则确定出所述边特征向量满足预置条件,若所述比例关系与第二预置关系式不相符,则确定出所述边特征向量不满足预置条件。
[0029]结合第二方面的第七种可能的实现方式,在第八种可能的实现方式中,所述判断模块用于构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前,包括:读取M个应用实例下的边特征向量属性值;若读取的边特征向量属性值在第二预置阈值范围内,则触发构造所述边特征向量在M个应用实例下的M*M差异性矩阵;若读取的边特征向量属性值不在第二预置阈值范围内,则确定出所述多节点应用运行时存在异常。
[0030]从以上技术方案可以看出,本发明实施例提供的一种多节点应用的异常检测方法及相关装置,根据多节点应用运行时产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为;且可进一步通过对应用交互拓扑图中的特征向量进行判断,及时从网络层、操作系统层和体系结构层上检测发现异常行为,避免应用间的相互干扰,保证数据和信息的安全。
【专利附图】

【附图说明】
[0031]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1为本发明实施例提供的多节点应用的异常检测方法的流程示意图;
[0033]图2为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图;
[0034]图3为本发明实施例中构建的应用交互拓扑图;
[0035]图4为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图;
[0036]图5为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图;
[0037]图6为本发明实施例中构造节点特征向量差异性矩阵的流程示意图;[0038]图7为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图;
[0039]图8为本发明实施例中构造边特征向量差异性矩阵的流程示意图;
[0040]图9为本发明实施例提供的应用场景中构建的应用交互拓扑图;
[0041]图10为本发明实施例提供的多节点应用的异常检测装置结构示意图。
【具体实施方式】
[0042]本发明实施例提供了一种多节点应用的异常检测方法及相关装置,用于及时发现应用间的相互干扰,检测多节点应用的异常行为。
[0043]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0044]本发明实施例提供了一种多节点应用的异常检测方法及相关装置,可用于在云平台和手机平台上对多节点应用进行异常行为检测,为便于理解,本发明实施例针对应用最广泛的第三方应用进行分析,但并不能作为对本发明的限定。可以理解的是,所讲述的方法同样适用于其他多节点应用。
[0045]请参考图1,图1为本发明实施例提供的一种多节点应用的异常检测方法的流程示意图,其中,所述方法包括以下步骤:
[0046]SlOl、采集多节点应用运行时产生的数据;
[0047]可以理解的是,所述多节点应用可以是第三方应用或其他多节点应用,其中,第三方应用是由非软件编制方的其他组织或个人开发的相关软件,例如软件编制方提供一个运行环境,而其他组织或个人开发运行在此环境上的应用软件。
[0048]S102、根据采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
[0049]另外,可根据采集到的数据生成日志,进而分析日志,从而进行异常行为的判定;其中,构建的应用交互拓扑图,每个节点和每个边维护一个特征向量;
[0050]S103、判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构;
[0051]通过分析构建的应用交互拓扑图的同构性,判断多节点应用运行时是否存在异常;若判断出所述应用交互拓扑图与预置的应用交互拓扑图不同构,则执行步骤S104 ;
[0052]S104、确定出所述多节点应用运行时存在异常。
[0053]由上述可知,本发明实施例提供的一种多节点应用的异常检测方法,根据多节点应用(如第三方应用)运行时产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为,避免应用间的相互干扰,保证数据和信息的安全。
[0054]请参考图2,图2为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图,所述方法可针对云开发平台和手机平台,结合操作系统层、网络层和体系结构层对行为进行异常检测。
[0055]其中,所述方法包括以下步骤:
[0056]S201、采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据;
[0057]其中,网络层上采集到的数据包括数据包类型和流量大小,操作系统(OS,Operating System)层上采集到的数据包括中央处理器(CPU, Central Processing Unit)利用率和磁盘输入输出(10,Input/Output)数据,体系结构层上采集到的数据包括缓存失效cache miss数据和混合指令集instruction mix数据。另外,可根据从网络层、操作系统层和体系结构层上采集到的数据生成日志,进而对日志进行分析,从而进行异常行为的判定;
[0058]可以理解的是,本实施例中,主要采用perf以及systemtap等工具进行数据的采集,其中,网络层采集的数据表现了网络中流量的情况,操作系统层采集的数据表现了系统的运行状况,体系结构层采集的数据表现了应用的特性。
[0059]S202、根据采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
[0060]在本发明实施方式中,可具体地:根据操作系统层和体系结构层上采集到的数据,构建应用交互拓扑图中的节点特征向量,根据网络层上采集到的数据,构建应用交互拓扑图中的边特征向量;其中,所述节点特征向量包括节点网协(IP,Internet Protocol)地址,CPU利用率,磁盘10数据,cache miss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
[0061]以下结合多节点应用A、B、C、D,对异常行为检测方法进行分析:
[0062]可一并参考图3,图3为构建的应用交互拓扑图示意,根据采集到的数据,构建应用交互拓扑图以及构建图中节点的特征向量和边的特征向量;如图3所示应用交互拓扑图中,在4个不同的节点上分别运行应用实例A、B、C、D,每个节点所定义的特征向量可以包括节点IP地址,CPU利用率,磁盘10数据,cache miss数据和instruction mix数据,每个边上所定义的特征向量可以包括数据包类型和流量大小;
[0063]可以理解的是,本发明实施例中,节点IP地址可以认为是节点特征向量的一个固有属性;边特征向量中,两个应用交互之间的数据包类型为传输控制协议(TCP,Transmission Control Protocol)类型,所述节点IP地址和数据包类型对异常行为检测不造成影响。
[0064]S203、判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构;
[0065]其中,预置的应用交互拓扑图是预先存储在处理器中的,预置的应用交互拓扑图是系统正常运行下从网络层、操作系统层和体系结构层上进行数据采集而构建的;同样地,预置的应用交互拓扑图也包括节点特征向量和边特征向量,节点特征向量包括节点IP地址,CPU利用率,磁盘10数据,cache miss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
[0066]在一种实施方式中,可以根据S203的判断结果,若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则执行步骤S204,若所述应用交互拓扑图与预置的应用交互拓扑图同构,则执行步骤S205 ;
[0067]S204、确定出所述多节点应用运行时存在异常;
[0068]S205、确定出所述多节点应用运行时不存在异常。
[0069]在另一种实施方式中,可如图4所示,可以根据S203的判断结果,若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则执行步骤S204,判断出所述应用交互拓扑图与预置的应用交互拓扑图同构,则可以执行步骤S206 ;
[0070]S204、确定出所述多节点应用运行时存在异常;
[0071]S206、判断节点特征向量和/或边特征向量是否满足预置条件;
[0072]在判断出构建的应用交互拓扑图与预置的应用交互拓扑图同构之后,可以进而对节点特征向量和/或边特征向量进行判断,判断节点特征向量和/或边特征向量是否满足预置条件;即可认为是结合不同节点下运行的应用实例的特征向量属性进行异常行为的检测,由于特征向量属性值与所运行的应用实例有关,可以通过检测各个应用实例的特征向量属性值在运行时的大小关系或者比例关系,检测应用实例在运行时是否存在异常行为。
[0073]可以理解的是,可以只对节点特征向量进行判断,也可以只对边特征向量进行判断,也可以先对节点特征向量判断,若节点特征向量满足预置条件,再对边特征向量判断,也可以先对边特征向量判断,若边特征向量满足预置条件,再对节点特征向量判断,此处不作具体限定。
[0074]即对所述节点特征向量和边特征向量进行判断时,根据S206的判断结果,若所述节点特征向量和边特征向量满足预置条件则执行步骤S207,若所述节点特征向量或边特征向量不满足预置条件,则返回执行步骤S204 ;对所述节点特征向量或边特征向量进行判断时,根据S206的判断结果,若所述节点特征向量或边特征向量满足预置条件,则执行步骤S207,若所述节点特征向量或边特征向量不满足预置条件,则返回执行步骤S204 ;
[0075]S207、确定出所述多节点应用运行时不存在异常。
[0076]由上述可知,本发明实施例提供的一种多节点应用的异常检测方法,根据多节点应用(如第三方应用)运行时在网络层、操作系统层和体系结构层上产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为;且可进一步通过对应用交互拓扑图中的节点特征向量和/或边特征向量进行判断,及时从网络层、操作系统层和体系结构层上检测发现异常行为,如发现手机中的恶意软件,避免应用间的相互干扰,保证数据和信息的安全。
[0077]请参考图5,图5为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图,所述方法针对构建的应用交互拓扑图与预置的应用交互拓扑图同构情况下,对节点特征向量进行异常行为判定。
[0078]其中,所述方法包括以下步骤:
[0079]S301、采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据;
[0080]S302、根据采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
[0081]可以理解的是,步骤S301和步骤S302的过程可参考前述步骤S201和步骤S202中对应的步骤过程进行具体实现,此处不再阐述。
[0082]S303、判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构;
[0083]其中,预置的应用交互拓扑图是预先存储在处理器中的,预置的应用交互拓扑图是系统正常运行下从网络层、操作系统层和体系结构层上进行数据采集而构建的;同样地,预置的应用交互拓扑图也包括节点特征向量和边特征向量,节点特征向量包括节点IP地址,CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
[0084]根据S303的判断结果,若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则执行步骤S304,判断出所述应用交互拓扑图与预置的应用交互拓扑图同构,则可以执行步骤S305。
[0085]S304、确定出所述多节点应用运行时存在异常;
[0086]S305、判断节点特征向量是否满足预置条件;
[0087]可以理解的是,在判断出构建的应用交互拓扑图与预置的应用交互拓扑图同构之后,可以进而对节点特征向量进行判断,判断节点特征向量是否满足预置条件;
[0088]在某些实施方式中,若所述节点特征向量包括CPU利用率,磁盘IO数据,cachemiss数据和instruction mix数据,判断节点特征向量是否满足预置条件(S305)的过程可以具体为:
[0089]步骤a、对于每一个节点特征向量,构造所述节点特征向量在N个应用实例下的N*N差异性矩阵;
[0090]Xij为i行对应的应用实例下该节点特征向量属性值大于j列对应的应用实例下该节点特征向量属性值的次数,其中,Xu为所述N*N差异性矩阵中的元素,N为大于I的正整数,i,j为大于等于I且小于等于N的正整数;
[0091]其中,在构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前还包括读取N个应用实例下的节点特征向量属性值;
[0092]以下假设构造的节点特征向量差异性矩阵为CPU利用率的差异性矩阵,结合N个应用实例,对节点特征向量((PU利用率)差异性矩阵的构造进行分析,可一并参考图6,图6为本发明实施例中构造节点特征向量差异性矩阵的流程示意图,其中:
[0093]S401、初始化差异性矩阵,假设Xij均为O ;
[0094]其中,i行对应的应用实例不同于j列对应的应用实例;
[0095]S402、读取N个应用实例下的CPU利用率的值;
[0096]S403、判断A应用实例下的CPU利用率是否大于B应用实例下的CPU利用率;
[0097]可以理解的是,在该实施方式中,为方便描述,A和B仅代表N个应用实例中两个不同的应用实例,但并不能作为对本发明的限定;
[0098]根据步骤S403的判断结果,若A应用实例下的CPU利用率大于B应用实例下的CPU利用率,则执行步骤S403a,若A应用实例下的CPU利用率没有大于B应用实例下的CPU利用率,则执行步骤S403b ;
[0099]S403a、Xij 加 I ;
[0100]S403b、Xjdt]l;
[0101]S404、判断N个应用实例下的CPU利用率的值是否读取完毕;
[0102]在某些实施方式中,当达到预置时间阈值时可以判断出读取完毕,则执行步骤S405,若未读取完毕,则返回步骤S402继续读取;
[0103]S405、CPU利用率差异性矩阵构建完毕。
[0104]优选地,在构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前还可以包括:若读取的节点特征向量属性值在第一预置阈值范围内,则触发构造所述节点特征向量在N个应用实例下的N*N差异性矩阵;若读取的节点特征向量属性值不在第一预置阈值范围内,则确定出所述多节点应用运行时存在异常。
[0105]其中,第一预置阈值是预先存储在处理器中的,是系统正常运行时该节点特征向量属性值的大小;若读取的节点特征向量属性值不在该第一预置阈值范围内,则无需再构造该特征向量的差异性矩阵,可直接确定出多节点应用运行时存在异常。
[0106]步骤b、根据所述N*N差异性矩阵中的元素,获取所述N个应用实例之间所述节点特征向量属性值的大小关系;
[0107]以节点特征向量为CPU利用率为例,根据构造的N个应用实例下,CPU利用率差异性矩阵中的节点特征向量属性值(即CPU利用率的大小),可以知道各个应用实例之间CPU利用率的大小关系;
[0108]步骤C、将获取的节点特征向量属性值的大小关系与第一预置关系式比较,若所述大小关系与第一预置关系式相符,则确定出所述节点特征向量满足预置条件,若所述大小关系与第一预置关系式不相符,则确定出所述节点特征向量不满足预置条件。
[0109]以节点特征向量为CPU利用率为例,将获取的各个应用实例之间CPU利用率的大小关系与第一预置关系式比较:其中,第一预置关系式是预先存储在处理器中的,第一预置关系式是系统正常运行下统计的各应用实例该节点特征向量属性值的大小关系;若\」的值明显大于Xji的值,则可以认为该节点特征向量属性值(CPU利用率)在A、B应用实例中的关系为“A应用实例下的CPU利用率大于B应用实例下的CPU利用率”;若Xij的值和Xji的值差异不大,则可以认为该节点特征向量属性值(CPU利用率)A、B应用实例中无明显大小关系,从而得到各个应用实例中该节点特征向量属性值(CPU利用率)的大小关系;进一步地,可以设定在一预置周期内对矩阵中的数值进行更新统计,并分析当前状态下该特征向量属性值在各个应用实例中的大小关系,若符合正常运行下统计的第一预置关系式,则确定出所述节点特征向量满足预置条件,若不符合正常运行下统计的第一预置关系式,则确定出所述节点特征向量不满足预置条件。
[0110]可以理解的是,当所述节点特征向量为磁盘IO数据或cache miss数据或instruction mix数据,其节点特征向量差异性矩阵的构造可以参考CPU利用率差异性矩阵的构造过程,此处不再具体阐述。
[0111]可以根据S305中步骤c的判断结果,若所述节点特征向量满足预置条件,则执行步骤S306,若所述节点特征向量不满足预置条件,则返回执行步骤S304 ;
[0112]S306、确定出所述多节点应用运行时不存在异常。
[0113]在某些实施方式中,若所述节点特征向量满足预置条件,则可以进一步对边特征向量进行判断,以确定出多节点应用运行时是否存在异常。
[0114]由上述可知,本发明实施例提供的一种多节点应用的异常检测方法,根据多节点应用(如第三方应用)运行时在网络层、操作系统层和体系结构层上产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为;且可进一步通过对应用交互拓扑图中的节点特征向量进行判断,构造节点特征向量在多个应用实例下的该节点特征向量差异性矩阵,通过分析各应用实例中该节点特征向量属性值的大小关系,可以及时从网络层、操作系统层和体系结构层上检测发现异常行为,如发现手机中的恶意软件,避免应用间的相互干扰,保证数据和信息的安全。[0115]请参考图7,图7为本发明实施例提供的多节点应用的异常检测方法的另一流程示意图,所述方法针对构建的应用交互拓扑图与预置的应用交互拓扑图同构情况下,对边特征向量进行异常行为判定。
[0116]其中,所述方法包括以下步骤:
[0117]S501、采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据;
[0118]S502、根据采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
[0119]可以理解的是,步骤S501和步骤S502的过程可参考前述步骤S201和步骤S203中对应的步骤过程进行具体实现,此处不再阐述。
[0120]S503、判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构;
[0121]其中,预置的应用交互拓扑图是预先存储在处理器中的,预置的应用交互拓扑图是系统正常运行下从网络层、操作系统层和体系结构层上进行数据采集而构建的;同样地,预置的应用交互拓扑图也包括节点特征向量和边特征向量,节点特征向量包括节点IP地址,CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。
[0122]根据S503的判断结果,若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则执行步骤S504,判断出所述应用交互拓扑图与预置的应用交互拓扑图同构,则可以执行步骤S505。
[0123]S504、确定出所述多节点应用运行时存在异常;
[0124]S505、判断边特征向量是否满足预置条件;
[0125]可以理解的是,在判断出构建的应用交互拓扑图与预置的应用交互拓扑图同构之后,可以进而对边特征向量进行判断,判断边特征向量是否满足预置条件;
[0126]在某些实施方式中,若边特征向量为流量大小,判断边特征向量是否满足预置条件(S505)的过程可以具体为:
[0127]步骤a、构造所述边特征向量在M个应用实例下的M*M差异性矩阵;
[0128]Xpq为P行对应的应用实例发送到q列对应的应用实例的边特征向量属性值大小,其中,Xpq为所述M*M差异性矩阵中的元素,M为大于I的正整数,p,q为大于等于I且小于等于M的正整数;
[0129]其中,在构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前还包括读取M个应用实例下的边特征向量属性值;
[0130]以下假设构造的边特征向量差异性矩阵为流量大小的差异性矩阵,结合以M个应用实例中的A应用和B应用为例,对边特征向量差异性矩阵的构造进行分析,可一并参考图8,图8本发明实施例中构造边特征向量差异性矩阵的流程示意图,其中:
[0131 ] S601、初始化差异性矩阵,假设Xm均为O ;
[0132]其中,P行对应的应用实例不同于q列对应的应用实例;
[0133]S602、读取N个应用实例之间的流量大小的值;
[0134]S603、判断A应用实例发送到B应用实例的边特征向量属性值大小是否为b字节;
[0135]其中,所述b是在网络交互中,在一段时间内,节点P发送到节点Q的数据包大小(单位为字节数)。在本实施方式中,假设节点P上运行应用实例A,节点Q上运行应用实例B,则记录在这段时间内应用实例A发送到应用实例B的数据包大小。
[0136]可以理解的是,在该实施方式中,为方便描述,A和B仅代表M个应用实例中两个不同的应用实例,但并不能作为对本发明的限定;
[0137]根据步骤S603的判断结果,若A应用实例发送到B应用实例的边特征向量属性值大小是为b字节,则执行步骤S603a,若A应用实例发送到B应用实例的边特征向量属性值大小不是为b字节,则执行步骤S603b ;
[0138]S603a、XpqWb;
[0139]S603b、判断B应用实例发送到A应用实例的边特征向量属性值大小是否为b字节;若是,则执行步骤S604 ;
[0140]S604、XqpWb;
[0141]S605、判断N个应用实例之间的流量大小的值是否读取完毕;
[0142]在某些实施方式中,当达到预置时间阈值时可以判断出读取完毕,则执行步骤S606,若未读取完毕,则返回步骤S602继续读取;
[0143]S606、流量大小差异性矩阵构建完毕。
[0144]优选地,在构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前还可以包括:
[0145]若读取的边特征向量属性值在第二预置阈值范围内,则触发构造所述边特征向量在M个应用实例下的M*M差异性矩阵;若读取的边特征向量属性值不在第二预置阈值范围内,则确定出所述多节点应用运行时存在异常。
[0146]其中,第二预置阈值是预先存储在处理器中的,是系统正常运行时该边特征向量属性值的大小;若读取的边特征向量属性值不在该第二预置阈值范围内,则无需再构造该特征向量的差异性矩阵,可直接确定出多节点应用运行时存在异常。
[0147]步骤b、根据所述M*M差异性矩阵中的元素,获取所述M个应用实例之间所述边特征向量属性值的比例关系;
[0148]以边特征向量为流量大小为例,根据构造的M个应用实例下,流量大小差异性矩阵中的边特征向量属性值(即流量大小),可以知道各个应用实例之间流量大小的比例关系;
[0149]为方便计算,本发明实施方式中,可以以以差异性矩阵中的最小值为基准,设定为I,再将余下各值等比例的变换得到新的比值关系矩阵。
[0150]步骤C、将获取的边特征向量属性值的比例关系与第二预置关系式比较,若所述比例关系与第二预置关系式相符,则确定出所述边特征向量满足预置条件,若所述比例关系与第二预置关系式不相符,则确定出所述边特征向量不满足预置条件。
[0151]以边特征向量为流量大小为例,将获取的流量大小的比例关系与第二预置关系式比较,其中,第二预置关系式是预先存储在处理器中的,第二预置关系式是系统正常运行下统计的各应用实例之间交互的流量的比例关系;进一步地,可以设定在一预置周期内对矩阵中的数值进行更新统计,从而可以得到应用交互拓扑图中各边交互的比例关系,若符合正常运行下的第二预置关系式,则确定出所述节点特征向量满足预置条件,若不符合正常运行下的第二预置关系式,可以认为流量大小不符合设定的可接受范围,则确定出所述节点特征向量不满足预置条件。
[0152]可以理解的是,其他边特征向量差异性矩阵的构造可以参考流量大小差异性矩阵的构造过程,此处不再具体阐述。
[0153]可以根据S505中步骤c的判断结果,若所述边特征向量满足预置条件,则执行步骤S506,若所述边特征向量不满足预置条件,则返回执行步骤S504 ;
[0154]S506、确定出所述多节点应用运行时不存在异常;
[0155]由上述可知,本发明实施例提供的一种多节点应用的异常检测方法,根据多节点应用(如第三方应用)运行时在网络层、操作系统层和体系结构层上产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为;且可进一步通过对应用交互拓扑图中的边特征向量进行判断,构造边特征向量在多个应用实例下的该边特征向量差异性矩阵,通过分析各应用实例中该边特征向量属性值的比例关系,可以及时从网络层、操作系统层和体系结构层上检测发现异常行为,如发现手机中的恶意软件,避免应用间的相互干扰,保证数据和信息的安全。
[0156]为方便理解,以下以一具体应用场景对多节点应用的异常检测方法进行分析:
[0157]在该应用场景下,如图9所示,假设在5个不同的节点上分别运行应用实例Apache、Mysql、Dis_Sphinx、Sphinx_l、Sphinx_2,其中,每个节点上所定义的特征向量为节点IP地址,CPU利用率,磁盘IO数据,Cache miss数据和Instruction mix数据,每条边上所定义的特征向量为数据包类型和流量大小,通过分析训练数据,针对每个应用实例的特征向量的每一个特征向量属性值设定了阈值(如第一预置阈值和第二预置阈值等),并且设定了每一特征向量属性值在不同应用实例下的差异性规则(如第一预置关系式和第二预置关系式等)。
[0158]在进行异常检测时,在以上5个节点对应的应用实例中采集数据(即我们所定义的特征向量的数据),并将所采集的数据进行汇总和关联分析,构建应用交互拓扑图,并记录每个节点和边上的特征向量。
[0159]首先,将构建的应用交互拓扑图与系统正常运行时预置的应用交互拓扑图进行比较,判断它们是否同构,若同构则进行下一步检验,若不同构,则可以判断出发生异常;其次在判断出同构后,可以检验节点上的特征向量是否出现异常,针对上述特征向量中的单一特征向量属性值进行阈值比较,即与正常训练库中每一单一特征向量属性值的正常范围进行比较,从而发现某一节点上的某个特征向量的异常,比如由于CPU利用率太高而出现的异常。在此基础上,结合分析不同节点上某个特征向量的值,构建差异性矩阵,本实施方式中,可以是总结cache miss数据在Apache、Mysql和Sphinx应用实例上存在的大小关系,将得到的大小关系与预置的差异性规则进行对比,从而可以判断出是否存在异常。
[0160]若得到的大小关系满足预置的差异性规则,可以进一步地检验边特征向量属性是否出现异常,针对节点上应用实例之间的数据流量进行阈值比较,比如若Apache发送到Mysql的流量超出了设定的范围,可以判断出现流量异常;若判断出各条边的流量大小属于正常范围之后,可以分析各个节点交互的差异性,即分析各边交互的流量存在的比例关系,比如Apache发送到Mysql与Apache发送到Dis_Sphinx的流量比例关系在正常情况下满足大致1: 5的关系,此为训练数据得到的一个差异性规则(即第二预置关系式),在检测过程中,发现其比例关系大致为1: 10,则确定存在异常行为。[0161]由上述可知,本发明实施例提供的一种多节点应用的异常检测方法,根据多节点应用(如第三方应用)运行时在网络层、操作系统层和体系结构层上产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为;且可进一步通过对应用交互拓扑图中的节点特征向量和边特征向量进行判断,构造节点特征向量和边特征向量在多个应用实例下的该边特征向量差异性矩阵,通过分析各应用实例中单一节点特征向量属性值的大小关系,和边特征向量属性值的比例关系,可以及时从网络层、操作系统层和体系结构层上检测发现异常行为,避免应用间的相互干扰,保证数据和信息的安全。
[0162]为便于更好的实施本发明实施例的技术方案,本发明实施例还提供用于实施上述方法的相关装置。其中名词的含义与上述方法中相同,具体实现细节可以参考方法实施例中的说明。
[0163]请参考图10,图10为本发明实施例提供的一种多节点应用的异常检测装置结构示意图,其中,所述装置包括:
[0164]数据采集模块101,用于采集多节点应用运行时产生的数据;
[0165]构图模块102,用于根据所述数据采集模块101采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量;
[0166]判断模块103,用于判断所述构图模块102构建的应用交互拓扑图与预置的应用交互拓扑图是否同构,若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则确定出所述多节点应用运行时存在异常。
[0167]可以理解的是,所述装置还可以包括日志分析模块,用于根据采集到的数据生成日志文件,并对日志文件进行数据分析,从而构图模块102构建应用交互拓扑图,判断模块103通过判断构建应用交互拓扑图的同构性,判断多节点应用运行时是否存在异常。
[0168]由上述可知,本发明实施例提供的一种多节点应用的异常检测装置,根据多节点应用(如第三方应用)运行时产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为,避免应用间的相互干扰,保证数据和信息的安全。
[0169]进一步地,所述数据采集模块101具体用于:采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据,其中,网络层上采集到的数据包括数据包类型和流量大小,操作系统层上采集到的数据包括中央处理器CPU利用率和磁盘输入输出IO数据,体系结构层上采集到的数据包括缓存失效cache miss数据和混合指令集instructionmix数据。
[0170]可以理解的是,本实施例中,主要采用perf以及systemtap等工具进行数据的采集,其中,网络层采集的数据表现了网络中流量的情况,操作系统层采集的数据表现了系统的运行状况,体系结构层采集的数据表现了应用的特性。
[0171]更进一步地,根据从网络层、操作系统层和体系结构层上采集到的数据,所述构图模块102具体用于:根据操作系统层和体系结构层上采集到的数据,构建应用交互拓扑图中的节点特征向量,根据网络层上采集到的数据,构建应用交互拓扑图中的边特征向量,其中,所述节点特征向量包括节点IP地址,CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据,所述边特征向量包括数据包类型和流量大小。[0172]在一种实施方式中,所述判断模块103还用于:若所述应用交互拓扑图与预置的应用交互拓扑图同构,则确定出所述多节点应用运行时不存在异常。
[0173]在另一种实施方式中,所述判断模块103还用于:若所述应用交互拓扑图与预置的应用交互拓扑图同构,对节点特征向量和/或边特征向量进行判断,对所述节点特征向量和边特征向量进行判断时,若所述节点特征向量和边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常;对所述节点特征向量或边特征向量进行判断时,若所述节点特征向量或边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常。
[0174]其中,在该实施方式下,可以只对节点特征向量进行判断,也可以只对边特征向量进行判断,也可以先对节点特征向量判断,若节点特征向量满足预置条件,再对边特征向量判断,也可以先对边特征向量判断,若边特征向量满足预置条件,再对节点特征向量判断,此处不作具体限定。
[0175]在某些实施方式中,针对构建的应用交互拓扑图与预置的应用交互拓扑图同构情况下,判断模块103对节点特征向量进行异常行为判定可以按如下实施方式具体实现:
[0176]所述节点特征向量包括CPU利用率,磁盘IO数据,cache miss数据和instructionmix数据;对于每一个节点特征向量,构造所述节点特征向量在N个应用实例下的N*N差异性矩阵,Xu为i行对应的应用实例下该节点特征向量属性值大于j列对应的应用实例下该节点特征向量属性值的次数,其中,Xu为所述N*N差异性矩阵中的元素,N为大于I的正整数,i,j为大于等于I且小于等于N的正整数;根据所述N*N差异性矩阵中的元素,获取所述N个应用实例之间所述节点特征向量属性值的大小关系;将获取的节点特征向量属性值的大小关系与第一预置关系式比较,若所述大小关系与第一预置关系式相符,则确定出所述节点特征向量满足预置条件,若所述大小关系与第一预置关系式不相符,则确定出所述节点特征向量不满足预置条件。
[0177]优选地,所述判断模块103用于构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前,还读取N个应用实例下的节点特征向量属性值;若读取的节点特征向量属性值在第一预置阈值范围内,则触发构造所述节点特征向量在N个应用实例下的N*N差异性矩阵;若读取的节点特征向量属性值不在第一预置阈值范围内,则确定出所述多节点应用运行时存在异常。
[0178]可以理解的是,构造节点特征向量差异性矩阵的步骤过程可以参考上述实施例相关描述进行具体实现,此处不再具体阐述。
[0179]在某些实施方式中,针对构建的应用交互拓扑图与预置的应用交互拓扑图同构情况下,判断模块103对边特征向量进行异常行为判定可以按如下实施方式具体实现:
[0180]所述边特征向量为流量大小,构造所述边特征向量在M个应用实例下的M*M差异性矩阵,Xpq为P行对应的应用实例发送到q列对应的应用实例的边特征向量属性值大小,其中,Xpq为所述M*M差异性矩阵中的元素,M为大于I的正整数,p,q为大于等于I且小于等于M的正整数;根据所述M*M差异性矩阵中的元素,获取所述M个应用实例之间所述边特征向量属性值的比例关系;将获取的边特征向量属性值的比例关系与第二预置关系式比较,若所述比例关系与第二预置关系式相符,则确定出所述边特征向量满足预置条件,若所述比例关系与第二预置关系式不相符,则确定出所述边特征向量不满足预置条件。
[0181]优选地,所述判断模块103用于构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前,还读取M个应用实例下的边特征向量属性值;若读取的边特征向量属性值在第二预置阈值范围内,则触发构造所述边特征向量在M个应用实例下的M*M差异性矩阵;若读取的边特征向量属性值不在第二预置阈值范围内,则确定出所述多节点应用运行时存在异常。
[0182]可以理解的是,构造边特征向量差异性矩阵的步骤过程可以参考上述实施例相关描述进行具体实现,此处不再具体阐述。
[0183]由上述可知,本发明实施例提供的一种多节点应用的异常检测方法,根据多节点应用(如第三方应用)运行时在网络层、操作系统层和体系结构层上产生的数据,构建应用交互拓扑图,通过对应用交互拓扑图进行判断,可以及时检测发现多节点应用运行时是否存在异常行为;且可进一步通过对应用交互拓扑图中的节点特征向量和/或边特征向量进行判断,构造节点特征向量和/或边特征向量在多个应用实例下的该边特征向量差异性矩阵,通过分析各应用实例中单一节点特征向量属性值的大小关系,和/或边特征向量属性值的比例关系,可以及时从网络层、操作系统层和体系结构层上检测发现异常行为,避免应用间的相互干扰,保证数据和信息的安全。
[0184]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置及装置中的单元模块的具体工作过程,可以参考前述方法实施例中的对应过程进行具体实现,在此不再赘述。
[0185]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0186]以上对本发明所提供的一种多节点应用的异常检测方法及相关装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种多节点应用的异常检测方法,其特征在于,包括: 采集多节点应用运行时产生的数据; 根据采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量; 判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构; 若所述应用交互拓扑图与预置的应用交互拓扑图不同构,则确定出所述多节点应用运行时存在异常。
2.根据权利要求1所述的方法,其特征在于,所述采集多节点应用运行时产生的数据包括: 采集多节点应用运行时在网络层、操作系统层和体系结构层上产生的数据,其中,网络层上采集到的数据包括数据包类型和流量大小,操作系统层上采集到的数据包括中央处理器CPU利用率和磁盘输入输出IO数据,体系结构层上采集到的数据包括缓存失效cachemiss数据和混合指令集instruction mix数据。
3.根据权利要求2所述的方法,其特征在于,所述根据采集到的数据,构建应用交互拓扑图包括: 根据操作系统层和体系结构层上采集到的数据,构建应用交互拓扑图中的节点特征向量,根据网络层上采集到的数据,构建应用交互拓扑图中的边特征向量,其中,所述节点特征向量包括节点网协IP地址,CPU利用率,磁盘IO数据,cache miss数据和instructionmix数据,所述边特征向量包括数据包类型和流量大小。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构之后,包括: 若所述应用交互拓扑图与预置的应用交互拓扑图同构,则确定出所述多节点应用运行时不存在异常。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述判断所述应用交互拓扑图与预置的应用交互拓扑图是否同构之后,包括: 若所述应用交互拓扑图与预置的应用交互拓扑图同构,对所述节点特征向量和/或所述边特征向量进行判断; 所述对所述节点特征向量和/或所述边特征向量进行判断包括: 对所述节点特征向量和边特征向量进行判断时,若所述节点特征向量和边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常; 对所述节点特征向量或边特征向量进行判断时,若所述节点特征向量或边特征向量满足预置条件,则确定出所述多节点应用运行时不存在异常,若所述节点特征向量或边特征向量不满足预置条件,则确定出所述多节点应用运行时存在异常。
6.根据权利要求5所述的方法,其特征在于, 所述节点特征向量包括CPU利用率,磁盘IO数据,cache miss数据和instruction mix数据; 对所述节点特征向量进行判断包括: 对于每一个节点特征向量,构造 所述节点特征向量在N个应用实例下的N*N差异性矩阵,Xu为i行对应的应用实例下该节点特征向量属性值大于j列对应的应用实例下该节点特征向量属性值的次数,其中,Xu为所述N*N差异性矩阵中的元素,N为大于I的正整数,i,j为大于等于I且小于等于N的正整数; 根据所述N*N差异性矩阵中的元素,获取所述N个应用实例之间所述节点特征向量属性值的大小关系; 将获取的节点特征向量属性值的大小关系与第一预置关系式比较,若所述大小关系与第一预置关系式相符,则确定出所述节点特征向量满足预置条件,若所述大小关系与第一预置关系式不相符,则确定出所述节点特征向量不满足预置条件。
7.根据权利要求6所述的方法,其特征在于,所述构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前,包括: 读取N个应用实例下的节点特征向量属性值; 若读取的节点特征向量属性值在第一预置阈值范围内,则触发构造所述节点特征向量在N个应用实例下的N*N差异性矩阵; 若读取的节点特征向量属性值不在第一预置阈值范围内,则确定出所述多节点应用运行时存在异常。
8.根据权利要求5所述的方法,其特征在于, 所述边特征向量为流量大小, 对所述边特征向量进行判断包括: 构造所述边特征向量在M个应 用实例下的M*M差异性矩阵,Xm为P行对应的应用实例发送到q列对应的应用实例的边特征向量属性值大小,其中,Xm为所述M*M差异性矩阵中的元素,M为大于I的正整数,p,q为大于等于I且小于等于M的正整数; 根据所述M*M差异性矩阵中的元素,获取所述M个应用实例之间所述边特征向量属性值的比例关系; 将获取的边特征向量属性值的比例关系与第二预置关系式比较,若所述比例关系与第二预置关系式相符,则确定出所述边特征向量满足预置条件,若所述比例关系与第二预置关系式不相符,则确定出所述边特征向量不满足预置条件。
9.根据权利要求8所述的方法,其特征在于,所述构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前,包括: 读取M个应用实例下的边特征向量属性值; 若读取的边特征向量属性值在第二预置阈值范围内,则触发构造所述边特征向量在M个应用实例下的M*M差异性矩阵; 若读取的边特征向量属性值不在第二预置阈值范围内,则确定出所述多节点应用运行时存在异常。
10.一种多节点应用的异常检测装置,其特征在于,包括: 数据采集模块,用于采集多节点应用运行时产生的数据; 构图模块,用于根据所述数据采集模块采集到的数据,构建应用交互拓扑图,所述应用交互拓扑图包括节点特征向量和边特征向量; 判断模块,用于判断所述构图模块构建的应用交互拓扑图与预置的应用交互拓扑图是否同构,若所述应用交互拓扑图与预 置的应用交互拓扑图不同构,则确定出所述多节点应用运行时存在异常。
11.根据权利要求10所述的装置,其特征在于,所述数据采集模块具体用于: 采集多节点应用运行时,在网络层、操作系统层和体系结构层上产生的数据,其中,网络层上采集到的数据包括数据包类型和流量大小,操作系统层上采集到的数据包括中央处理器CPU利用率和磁盘输入输出IO数据,体系结构层上采集到的数据包括缓存失效cachemiss数据和混合指令集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差异性矩阵,Xu为i行对应的应用实例下该节点特征向量属性值大于j列对应的应用实例下该节点特征向量属性值的次数,其中,Xu为所述N*N差异性矩阵中的元素,N为大于I的正整数,i,j为大于等于I且小于等于N的正整数; 根据所述N*N差异性矩阵中的元素,获取所述N个应用实例之间所述节点特征向量属性值的大小关系; 将获取的节点特征向量属性值的大小关系与第一预置关系式比较,若所述大小关系与第一预置关系式相符,则确定出所述节点特征向量满足预置条件,若所述大小关系与第一预置关系式不相符,则确定出所述节点特征向量不满足预置条件。
16.根据权利要求15所述的装置,其特征在于,所述判断模块用于构造所述节点特征向量在N个应用实例下的N*N差异性矩阵之前,包括: 读取N个应用实例下的节点特征向量属性值; 若读取的节点特征向量属性值在第 一预置阈值范围内,则触发构造所述节点特征向量在N个应用实例下的N*N差异性矩阵; 若读取的节点特征向量属性值不在第一预置阈值范围内,则确定出所述多节点应用运行时存在异常。
17.根据权利要求14所述的装置,其特征在于, 所述边特征向量为流量大小, 所述判断模块,用于对边特征向量进行判断包括: 构造所述边特征向量在M个应用实例下的M*M差异性矩阵,Xm为P行对应的应用实例发送到q列对应的应用实例的边特征向量属性值大小,其中,Xm为所述M*M差异性矩阵中的元素,M为大于I的正整数,p,q为大于等于I且小于等于M的正整数; 根据所述M*M差异性矩阵中的元素,获取所述M个应用实例之间所述边特征向量属性值的比例关系; 将获取的边特征向量属性值的比例关系与第二预置关系式比较,若所述比例关系与第二预置关系式相符,则确定出所述边特征向量满足预置条件,若所述比例关系与第二预置关系式不相符,则确定出所述边特征向量不满足预置条件。
18.根据权利要求17所述的装置,其特征在于,所述判断模块用于构造所述边特征向量在M个应用实例下的M*M差异性矩阵之前,包括: 读取M个应用实例下的边特征向量属性值; 若读取的边特征向量属性值在第二预置阈值范围内,则触发构造所述边特征向量在M个应用实例下的M*M差异性矩阵 ; 若读取的边特征向量属性值不在第二预置阈值范围内,则确定出所述多节点应用运行时存在异常。
【文档编号】H04L12/26GK103888304SQ201210554617
【公开日】2014年6月25日 申请日期:2012年12月19日 优先权日:2012年12月19日
【发明者】高婉铃, 陆钢, 王磊, 左啸冰 申请人:华为技术有限公司, 中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1