一种基于贪婪算法的SDN矩阵网络探针部署方法及设备与流程

文档序号:17355501发布日期:2019-04-09 21:37阅读:540来源:国知局
一种基于贪婪算法的SDN矩阵网络探针部署方法及设备与流程

本发明涉及基于探针的网络流量检测领域,尤其涉及一种基于贪婪算法的sdn矩阵网络探针部署方法及设备。



背景技术:

随着sdn在数据中心、互联网等领域广泛应用,基于矩阵的sdn网络拓扑部署方案为网络管理提供了更加灵活、便捷的解决办法。由于sdn网络具备对任意网络节点流量采集的能力,为运维管理中探针部署和网络流量采集提供了便利。但如何采集矩阵网络中的流量,以最小化探针的部署代价和维护代价成为sdn网络矩阵运维管理中的重要问题。

当前的解决方案通常将探针最优化部署问题转换为最小顶点覆盖问题,但该问题是一个np问题,因此通常采用贪婪算法等解决方案。现有发明专利与流量安全采集有关的方法有:一种用于电力通信专网业务监测的探针部署方法和装置(申请号:cn201510530809.x,申请日期:2015.08.26)通过将探针部署转换为无向图下的最小弱顶点覆盖问题,基于节点权重确定探针的部署优先级,但该方法没有解决等权重下的探针部署问题;一种基于顶点覆盖和弱顶点覆盖的探针部署方法(申请号:cn201510807537.3,申请日期:2015.11.19),针对已有弱顶点覆盖算法存在时间复杂度和空间复杂度较高的问题,提出一种基于顶点覆盖和弱顶点覆盖的探针部署的贪心算法,但该算法基于度排序的方法无法有效解决矩阵网络中度相同节点的选择问题;一种基于改进贪心策略的探针部署方法(申请号:cn201610304469.3,申请日期:2016.05.06)针对最小顶点覆盖贪心策略中的最大度顶点不唯一问题给出一种基于限定覆盖顶点选取方向的改进方法,但该算法没有充分考虑连接度多个度为1节点的情形,在矩阵网络选取探针部署点时容易出现局部最优解问题。



技术实现要素:

本发明主要面向sdn网络矩阵探针优化部署问题提出解决方案,具体针对如何改进探针优化部署贪婪算法,克服现有贪婪算法在面向矩阵网络时出现的局部最优解问题,以最小化sdn网络矩阵探针的部署代价和维护代价。

本发明提供的一种基于贪婪算法的sdn矩阵网络探针部署方法,包括:

步骤a,将网络矩阵转换为无向图,点表示网络中的节点,边表示网络连接;

步骤b,计算每一个点的度;

步骤c,遍历图,当存在连接了2个以上度为1的点的点,则将该点标记为不可裁剪点,否则不存在不可裁剪点;

步骤d,检测是否存在不可裁剪点或度为1的点,如果存在则删除所有不可裁剪点及其与其他点的边,以及度为1的点及其与其他点的边,进入步骤f,否则进入步骤e;

步骤e,对所有点的度排序,删除度最小的点及其连边,并将其邻居点中度最大的点设为不可裁剪点,若存在多个度最小点或多个度最大的邻居点,随机选取;

步骤f,检查图中是否还有点,如果是,则将图送入步骤c,否则进入步骤g;

步骤g,将所有不可裁剪点作为探针部署节点。

本发明另一方面提供的一种基于贪婪算法的sdn矩阵网络探针部署设备,包括:

无向图转换装置,用于将网络矩阵转换为无向图,点表示网络中的节点,边表示网络连接;

度计算装置,用于计算每一个点的度;

不可裁剪点标记装置,用于遍历图,当存在连接了2个以上度为1的点的点,则将该点标记为不可裁剪点;

第一删除装置,用于当存在度为1的点或不可裁剪点时,删除度为1的点及其与其他点的边,以及不可裁剪点及其与其他点的边;

第二删除装置,用于当不存在不可裁剪点和度为1的点时,删除度最小的点及其连边,并将其邻居点中度最大的点设为不可裁剪点,若存在多个度最小点或多个度最大的邻居点,随机选取;

第一检查装置,用于检查是否存在连接2个以上度为1的点的点;

第二检查装置,用于检测是否存在不可裁剪点或度为1的点;

第三检查装置,用于检查图中是否还有点,如果是,则将图送入不可裁剪点标记装置;

探针部署节点确定装置,用于将所有不可裁剪点作为探针部署节点。

本发明另一方面提供的一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述的方法的步骤。

本发明提出一种基于最小顶点覆盖贪婪算法的面向sdn矩阵网络的探针部署方法,主要创新在于不再以度排序作为选择标准,而从不可裁剪点入手,获取采集点的最小集合,从而改进现有最小定点覆盖贪婪算法,有效减少探针部署数量。

附图说明

本发明将通过例子并参照附图的方式说明,其中:

图1为本发明实施例的sdn矩阵网络连接示意图;

图2为本发明实施例的网络拓扑连接示意图;

图3-图4为本发明实施例的删除多余点和边后的拓扑连接示意图。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

本发明通过将sdn网络矩阵转换为无向图,将图中的点和边按照是否可删除进行判断,通过递归算法,将所有可删除的点去除后,即可得到最终的探针部署节点分布图,从而确定需要部署的探针位置。具体方法如下:

步骤a,将网络矩阵转换为无向图,点表示网络中的节点,边表示网络连接;

步骤b,计算每一个点的度;

步骤c,遍历图,当存在连接了2个以上度为1的点的点,则将该点标记为不可裁剪点,否则不存在不可裁剪点;

步骤d,检测是否存在不可裁剪点或度为1的点,如果存在则删除所有不可裁剪点及其与其他点的边,以及度为1的点及其与其他点的边,进入步骤f,否则进入步骤e;

步骤e,对所有点的度排序,删除度最小的点及其连边,并将其邻居点中度最大的点设为不可裁剪点,若存在多个度最小点或多个度最大的邻居点,随机选取;

步骤f,检查图中是否还有点,如果是,则将图送入步骤c,否则进入步骤g;

步骤g,将所有不可裁剪点作为探针部署节点。

实施例

假设有9台计算机连接在如图1所示的矩阵网络中,通过部署探针对9台计算机的流量进行采集,则探针部署方法如下:

1.将网络矩阵转换为无向图,如图2所示。

2.计算每一个点的度,其中点1、2、3、4、8、9、13、14、18、19、20、21的度为1,其余9个点的度为4。

3.遍历图,将连接了2个度为1的点的点5、7、15、17标记为不可裁剪点。4.删除度为1的点及其与其他点的边,删除不可裁剪点与其他点的边,如图3所示。

5.图3中除不可裁剪点,还有6、10、11、12和16共5个点。

6.遍历图,将点11标记(连接了4个度为1的点)为不可裁剪点。

7.删除度为1的点及其与其他点的边,删除不可裁剪点与其他点的边,如图4所示。

8.最后可得点5、7、11、15、17为探针部署节点。

不可裁剪点定义

不可裁剪点是指在网络中,如果去掉在该点中部署的探针,则将存在网络流量无法被采集的节点。比如在图2中,如果不在节点5部署探针,则节点1到节点4的流量将无法采集。

对于节点6,其直接连接到节点2。但节点2到1、4的流量可通过节点5采集,到节点3、8的流量可通过节点7采集,到节点9的流量可通过节点5、11或15采集,到节点13的流量可通过7、11或17采集,到节点14、19的流量可通过节点15采集,到节点18、21的流量可通过节点17采集,到节点20流量可通过11、15或17采集,因此节点6不是不可裁剪节点。

本发明还提供的一种基于贪婪算法的sdn矩阵网络探针部署设备,包括:无向图转换装置,用于将网络矩阵转换为无向图,点表示网络中的节点,边表示网络连接;度计算装置,用于计算每一个点的度;不可裁剪点标记装置,用于遍历图,当存在连接了2个以上度为1的点的点,则将该点标记为不可裁剪点;第一删除装置,用于当存在度为1的点或不可裁剪点时,删除度为1的点及其与其他点的边,以及不可裁剪点及其与其他点的边;第二删除装置,用于当不存在不可裁剪点和度为1的点时,删除度最小的点及其连边,并将其邻居点中度最大的点设为不可裁剪点,若存在多个度最小点或多个度最大的邻居点,随机选取;第一检查装置,用于检查是否存在连接2个以上度为1的点的点;第二检查装置,用于检测是否存在不可裁剪点或度为1的点;第三检查装置,用于检查图中是否还有点,如果是,则将图送入不可裁剪点标记装置;探针部署节点确定装置,用于将所有不可裁剪点作为探针部署节点。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

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