利索能及
我要发布
收藏
专利号: 2021108962353
申请人: 东北大学秦皇岛分校
专利类型:发明专利
专利状态:已下证
更新日期:2024-12-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于流量矩阵的数据流协同采样方法,其特征在于:包括以下步骤:步骤1、以自治域为单位,将域内所有路由节点视为一个整体,确定各路由节点的流量目录;

步骤2、结合各路由节点的流量目录,根据每个路由节点的采样能力,基于负载均衡思想,建立数据流分配优化模型,将自治域内总的采样任务划分为多个采样目录,分配给若干个采样点;

步骤3、采用基于解空间树的最优解搜索算法,在自治域控制中得出采集本自治域所有数据流所需要的路由设备以及各自的采样目录;

步骤4、引入布鲁姆过滤器BF,将采样目录和流量目录存入BF中;基于步骤3中的任务分配结果,使采样点之间以协同的方式依据采样目录执行采样任务,获得自治域内所有的数据流;同时,保证每条数据流都会被采集而且不会同时被多个节点采集。

2.根据权利要求1所述的一种基于流量矩阵的数据流协同采样方法,其特征在于:步骤R L

1所述自治域是由路由设备和物理链路组成,定义为一个无向图,表示为G=<R,L,A ,A>,R L

其中,R为路由设备的集合,L为链路的集合,A为路由设备属性的集合,A 表示链路属性的集合;路由设备属性包含计算能力、存储能力;链路属性包含带宽、链路负载以及连通关系;通过流量矩阵,将链路L、链路负载和连通关系链路属性转化为一个设备属性——增量式流量目录;此外,将路由设备的计算能力、存储能力以及链路的带宽属性抽象为另一设备属R L

性——采样能力SC;进而将自治域的表示由无向图G=<R,L,A ,A>转化为点集N=<R,ITL,SC>,其中,R为路由设备的集合,ITLi指经过路由设备Ri的所有数据流的集合,SCi为路由设备Ri的采样能力,i=1,2,…,n,n为自治域内路由节点数,即|R|=n;设定自治域内共有m条数据流,即|F|=m;且域内所有数据流的集合被量化为:所述流量矩阵用于描述自治域内的流量信息,具体是路由器之间的流量信息,通过路由矩阵和链路负载计算得到,如下公式所示:Y=AX

其中,Y为链路负载,A为路由矩阵,X为流量矩阵;

所述路由矩阵A通过路由信息和网络拓扑图获得,其中,行表示的是真实存在的链路,列表示的是所有存在的OD对;如果OD对k的路径上存在一条链路i,则对应的路由矩阵A中的元素Aij的值为1,反之为0;

所述链路负载Y由SNMP协议或netFlow技术测量获得,表示链路上的流量数据;

所述增量式流量目录为路由节点所包含数据流的集合。

3.根据权利要求2所述的一种基于流量矩阵的数据流协同采样方法,其特征在于:所述路由节点采样能力为路由节点i在资源有限的条件下可以采样数据流的最大值,称为该节点的采样能力,记为SCi;

所述采样目录为每个节点被分配需要采集的数据流的集合,记为SM;

所述采样点是指分配了采样任务的路由节点,通过以下判别函数确定:其中,yi=1表示路由节点i为采样点;否则,i为普通路由节点,aij为决策变量,表示路由节点i是否采集数据流j,若节点i负责对数据流j采样,则aij=1,否则aij=0; 表示节点i分配数据流的总量;

设定每条数据流只能被一个路由节点采样,即, 此外,在满足条件的基础上, 表示当前的决策所能包含数据流的总量;同时,为了获得完备的数据样本,需要将域内所有的数据流全部采样,即,进而建立数据流分配优化模型,如下公式所示:obj:min:

s.t.

其中,SCi为路由节点i的采样能力。

4.根据权利要求3所述的一种基于流量矩阵的数据流协同采样方法,其特征在于:所述步骤3的具体方法为:

设定解空间树用来描述自治域内路由设备的参数以及关系,由若干树节点构成,每个树节点包含多个属性:设备编号、流量目录、采样能力、采样目录、双亲节点指针、孩子节点指针;树的根节点r0存储在搜索队列Q中;具体搜索方法为:步骤3.1、判断数据流是否分配完毕,若分配完毕算法结束,否则执行步骤3.2;

通过遍历搜索从队列首节点开始搜索队列Q,其中当前节点Q.ftont所有双亲节点的采样目录属性得到所有已分配的数据流集合,该数据集合与自治域内所有数据流集合F做差得到当前未分配数据流集合F′;若该集合为空,则自治域内所有数据流已分配完毕,算法结束;若集合F′不为空,则执行步骤3.2;

步骤3.2、为当前路由节点分配任务;分配策略为:从未分配流集合F′与当前流量目录的交集中选取满足该路由节点采样能力约束的数据流;具体为:S1)、从路由设备集合R中挑选未分配任务的路由节点组成新集合R′,同时将已经分配的数据流从集合R′内所有节点的流量目录中去除;

S2)、然后,从集合R′中选择采样目录的大小与采样能力的比值最大的节点构成集合max,集合max中的节点将作为当前节点的孩子节点;除了要将集合max中的节点依次存储在队列Q中,还要将这些节点与当前节点建立父子关系;

S3)、最后将当前节点指针暂存至临时变量Point,并将当前节点移出搜索队列Q,重新执行至步骤3.1;

当循环结束表示已经搜索出一个解,而且该解的最后一个节点的指针保存在变量Point中,则只需遍历暂存指针的临时变量Point的所有双亲节点获得此次搜索的解——采样点集合SamplingPoints,采样规则存储在采样节点的采样目录SamplingList中。

5.根据权利要求4所述的一种基于流量矩阵的数据流协同采样方法,其特征在于:所述步骤4的具体方法为:

步骤4.1、当前路由节点提取待转发的数据包的数据流特征;所述数据流特征包括网络数据源/目的IP地址、源/目的端口、协议这5个数据;

步骤4.2、判断当前路由节点是否为采样节点,当该路由节点为采样节点时,则执行以下操作:

(1)使用布鲁姆过滤器将数据流特征与采样目录中的数据流特征进行匹配,若匹配,则采样该数据包,若不匹配,则转(2);

(2)进一步检验该数据流特征是否与流量清单中的数据流特征匹配,若匹配,则正常转发该数据包,若不匹配,则该路由节点检测到了新的数据流,转(3);

(3)该路由节点更新自身的流量清单并向自治域内服务器发出提醒,转步骤4.3;

当该节点不为采样节点时,执行以下操作:

1)检查该数据包中的数据流特征是否与流量清单中的特征匹配,若匹配,则正常转发,若不匹配,则转2);

2)更新自身流量清单并向自治域内服务器发出提醒,执行步骤4.3;

步骤4.3、自治域内服务器收到提醒消息时要迅速做出判断,鉴别这些新的数据流属于以下哪种情况:

A1)该数据流之前便存在于自治域内其他节点的流量清单中,则更新报警节点的流量清单;

A2)该数据流之前不存在于任何一个节点的流量清单中,则更新采样清单,以保证域内数据流的全采样,具体更新步骤如下:A21)整合报警节点及对应新数据流的信息,得到一组新的节点和所属的新流量清单,该流量清单仅包含新数据流;

A22)将步骤A21)中新的节点和所属的新流量清单这些信息作为数据流分配优化模型新的输入,再次求解数据流分配优化模型便得出针对新流量的采样策略;

A23)更新对应节点的采样清单;为了最小化采样节点的数量,新数据流的采样任务优先分配给已有的仍有采样能力的采样点,若已有采样点不满足需求,则引入新的采样点。