一种基于用户连接图的深度行为关联方法与流程

文档序号:12491680阅读:412来源:国知局
一种基于用户连接图的深度行为关联方法与流程

本发明属于计算机网络的用户行为分析技术领域,具体的涉及一种基于用户连接图的深度行为关联方法。



背景技术:

互联网作为人们交互的综合性服务平台,已经集成了语音、视频、图像、文本等异构多源数据。网民规模也迅速膨胀,并广泛参与互联网交易、互联网医疗、互联网教育等,业务行为呈现差异化、规模化的发现趋势。

一般采用基于机器学习方法进行用户行为分析,例如:朴素贝叶斯、支持向量机和C4.5等。基于机器学习的方法是基于数据流的样本集和统计信息(如流字节数、报文数、报文平均间隔等)构建训练模型,对用户行为进行分类识别。但是大量的流量测量报告表明:网络的在线用户数量与用户的作息时间之间具有明显的相关性,由此会引发网络流量的时移特性。随着网络时空环境和业务分布的变化,传统基于机器学习的方法会产生“模型失配”问题:时刻t得到的学习模型Mt,与前一时刻t-1得到的学习模型Mt-1不一致的现象。导致这种现象的原因是网络流量的突发性、网络时空环境发生变化、网络应用分布发生变化等。

为了独立于流量统计特性,不再关注应用层负载、流量特征的提取和统计,而应从用户相互连接和关联通信的角度进行研究,为互联网用户行为分析开辟了新的研究思路。



技术实现要素:

本发明针对现有技术在面对网络流量的突发性、网络时空环境发生变化、网络应用分布发生变化的情况下,采用基于机器学习的分析方法会产生“模型失配”的问题,提出一种基于用户连接图的深度行为关联方法。

本发明的技术方案是:一种基于用户连接图的深度行为关联方法,所述方法包括:

根据网络中报文的IP地址、端口号和协议号,构造用户连接图;

根据用户连接图,基于用户的相邻通信关系,构造行为关联矩阵;

根据行为关联矩阵,利用K-means聚簇方法,划分用户社团;

根据用户社团,基于熟知端口号和常用端口号,计算用户社团内任意用户结点行为标识;

根据用户社团内任意用户结点行为标识,采用多数投票表决方法,计算整个用户社团的行为标识。

所述的基于用户连接图的深度行为关联方法,所述构造用户连接图的具体方法为:

根据{IP地址、端口号、协议号}构造用户连接图的点;

根据报文间的传递关系,从行为学角度确定建立边的基本原则;

根据{源IP地址,源端口、目的IP地址、目的端口、协议号}五元组信息,构造用户连接图中任意两点的边。

所述的基于用户连接图的深度行为关联方法,所述构造行为关联矩阵的具体方法为:

根据用户是否直接通信,构造用户连接图中相邻用户集合;

根据相邻用户间具有共同的业务应用,计算相邻用户的行为距离;

根据非相邻用户间具有相似的业务应用,计算非相邻用户的行为距离。

所述的基于用户连接图的深度行为关联方法,所述划分用户社团的方法为:

输入行为关联矩阵,初始化选择K个聚簇中心,K为自然数;

利用K-means聚类方法,找到最佳的K个聚簇中心;

任意用户结点归并到相应的聚簇,形成K个用户社团。

所述的基于用户连接图的深度行为关联方法,所述的用户结点行为标识包括:

按照用户结点度数,寻求用户社团中度数最大的用户结点,用户结点度是指与该用户结点相关联的边的条数;

根据用户结点的熟知端口号和协议号,确定用户结点行为标识,熟知端口号是指使用网络通讯时常常会用到的端口;

根据用户结点的常用端口号和协议号,确定用户结点行为标识,常用端口号是运营商提供公共服务注册使用的端口。

所述的基于用户连接图的深度行为关联方法,所述计算用户社团行为标识的方法为:根据用户社团内任意用户结点行为标识,将数量比例最大的用户行为标识确定为该用户社团的行为类别;若没有满足上述条件的行为标识,则重新进行用户社团划分和确定用户结点行为标识。本发明的有益效果是:与现有技术相比,本发明不依赖于负载信息和基于流的统计信息,克服了“模型失配”现象,提高了用户行为深度关联分析的准确性;无需提取基于流的统计信息和基于样本集的学习训练,降低了用户行为深度关联分析的时间复杂度;从用户连接和关联通信的角度出发,构建和划分用户连接图,最终实现“物以类聚、人以群分”的目标;本发明还可用于分析用户行为分析、用户行为偏好分析、用户群活动规律分析,对于商业增值业务挖掘、业务趋势预测以及网络安全管控具有重要意义。

附图说明

图1为本发明基于用户连接图的深度行为关联步骤流程示意图;

图2为构建用户连接图步骤流程示意图;

图3为计算行为关联矩阵步骤流程示意图;

图4为用户社团划分步骤流程示意图;

图5为计算用户结点行为标识步骤流程示意图;

图6为计算用户社团行为标识步骤流程示意图;

图7为部分熟知端口列表示意图;

图8为行为距离等于3的示意图;

图9为行为距离等于5的示意图。

具体实施方式

实施例1:结合图1-图9,用户结点度数:用户结点度是指与该用户结点相关联的边的条数。

K-means聚类:K-means聚类算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一,其核心思想是:以K个点为中心进行聚类,对最靠近中心点的对象归类;通过迭代的方法,逐次更新各聚类中心点,直到找到最好的聚类效果。

熟知端口号:使用网络通讯时常常会用到的端口,每个端口对应一种网络服务,范围在0-1023,参考图7。

常用端口号:是运营商提供公共服务注册使用的端口,如游戏类服务“魔兽世界”对应端口3424、数据库类服务Mysql对应端口3306等。

一种基于用户连接图的深度行为关联方法,如图1所示,首先对该方法的如下流程进行简单介绍:

步骤101、根据网络中报文的IP地址、端口号和协议号等信息,构造用户连接图;

步骤102、根据用户连接图,基于用户的相邻通信关系,构造行为关联矩阵;

步骤103、根据行为关联矩阵,利用K-means聚簇方法,划分得到用户社团;

步骤104、根据用户社团,基于熟知端口号和常用端口号,计算用户社团内任意用户结点行为标识;

步骤105、根据用户社团内任意用户结点行为标识,采用多数投票方法,得到整个用户社团的行为标识。

进一步的,建立用户连接图,具体包括,参照图2,步骤201、依据{IP地址、端口号、协议号}构造用户连接图的点,如用户A对应192.168.1.1、6890、6,用户B对应为192.168.1.2、4611、6,用户C对应为10.10.1.1、80、6。

步骤202、根据报文间的传递关系,确定建立边的基本原则;连接图的边表征了用户之间的交互,从行为学的角度,只要用户A向用户B发送了报文,则A必然存在向B索取某种信息或资源的意图,可以根据以下原则,对用户A和B构建一条边:(1)对于UDP流,若A向B传送了第一个报文;(2)对于TCP流,若A向B发送了第一个SYN报文;(3)若A、B之间通信的字节总数或者报文总数大于某一阈值;(4)若A和B三次握手成功,TCP连接建立;(5)根据A和B之间的传输层协议(TCP、UDP、ICMP等)。

步骤203、依据{源IP地址,源端口、目的IP地址、目的端口、协议号}五元组信息,建立用户连接图中任意两点的边。若A和B分别与C进行了TCP三次握手,则将A和C(五元组信息对应为{192.168.1.1、6890、10.10.1.1、80、6}),B和C(五元组信息对应为{192.168.1.2、4611、10.10.1.1、80、6})分别建立一条边。

步骤204、根据用户连接图的点和边,进行用户行为的直观分析;若大量用户和C建立边,则说明C可能是服务提供者,也可能是DDoS攻击的目标主机。

进一步的,计算行为关联矩阵,具体发过程包括,参照图3:步骤301、根据用户是否直接通信,构造用户连接图相邻用户集合。若用户vi与用户vj直接相连,则称vi和vj为相邻用户;若vi与用户v1、v2、v3相连,则用户vi的相邻用户集合为Ui={v1,v2,v3}。

步骤302、根据相邻用户间具有共同的业务应用,计算相邻用户的行为距离。若用户vi和vj为直连通信用户,则定义vi和vj的用户行为距离为0(即两个用户具有共同的业务应用)。

步骤303、根据非相邻用户间具有相似的业务应用,计算非相邻用户的行为距离。若vi和vj不相邻,且vi和vj对应的相邻用户集合为Ui和Uj,则vi和vj的用户行为距离等于两个相邻集合相同用户的个数|Ui∩Uj|。例如:UA={C,D,E,F},UB={C,D,E,G},则用户A和用户B的行为距离为3。

进一步的,结合图8,若用户A和用户C、D、E直接相连(即相邻用户),并且用户B也和用户C、D、E直接相连,则用户A和B都与C、D、E等3个用户相邻,则A和B的行为距离等于3。

进一步的,结合图9,若用户A和用户C、D、E、F、G直接相连(即相邻用户),并且用户B也和用户C、D、E、F、G直接相连,则用户A和B都与C、D、E、F、G等5个用户相邻,则A和B的行为距离等于5。

步骤304、构造行为关联矩阵,矩阵中各个元素为步骤302和步骤303计算得到的用户行为距离。

进一步的,划分用户社团,具体包括,结合图4,步骤401、输入行为关联矩阵,初始化选择K个聚簇中心,K为自然数;步骤402、利用K-means聚类方法,直到找到最佳的K个聚簇中心;步骤403、任意用户结点归并到相应的聚簇,形成K个用户社团。

进一步的,计算用户结点行为标识,具体方法包括,结合图5,步骤501、按照用户结点度数进行行为标注。首先,寻求用户社团中度数最大的用户结点:一方面,在用户连接图中,用户结点度数越大表明其相邻用户越多;另一方面,若连接度数最大的用户结点被标注,则与其直接相连的用户也相应地得到了识别,从而能有效降低计算复杂度;步骤502、根据用户结点的熟知端口号和协议号,确定用户结点行为标识;步骤503、根据用户结点的常用端口号和协议号,确定用户结点行为标识。

进一步的:计算用户社团的行为标识,具体方法包括,结合图6,步骤601、针对任意用户社团,将数量比例最大的用户结点行为标识,确定为该用户社团的行为类别;步骤602、若没有满足上述条件的行为标识,则重新进行用户社团划分和确定用户结点行为标识。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1