一种基于顶点覆盖和弱顶点覆盖的探针部署方法_3

文档序号:9729980阅读:来源:国知局
状态S3"S1和S2 都是已经确定的状态,节点的选取只能从S3中选取。
[0062] 取出最优队列里的第一个节点进行扩展:
[0063] 将该节点设置为S1,同时按照公式4修改该节点的信息,然后把该节点放入空间树 的左节点;再将该节点设置为S2,不用修改其他节点信息直接放入空间树的右节点。
[0064] ki = ki-l, e = e-De邑ree ,De邑ree = 0 4
[00化]通过约束条巧
先对右节点判定,若满足,将该点插入最优队列; 再选取左节点进行判定,若满足,将该节点插入最优队列。
[0066] 对上面步骤的迭代就是具体的判定过程。
[0067] 相应的流程图如图1所示。
[0068] 在基于最小顶点覆盖的探针部署算法的基础上加 W改进,提出了基于最小弱顶点 覆盖的探针部署算法:
[0069] 在定义1的基础上,由于探针设置在路由器或交换机等交换设备上,根据流量守 恒,那么图G还满足W下两条约束条件:
[0070] 1.对图G的顶点集V中的任意顶点V,其度Degree(v) > 2;
[0071] 2.对图G的顶点集V中的任意顶点V,满足流守恒方程,即流进=流出。
[0072] 尽管W下原因会将导致流守恒方程的失真,如:交换设备是数据的源或汇,而不仅 仅是数据转发器;多播导致输出端口的数据复制;交换设备本身的数据包延迟或丢失。但是 若干研究表明,流守恒方程所具有的相对误差小于0.05%。
[0073] 定义3(弱顶点覆盖):假定无向图G(V,E)目满足对任意veV有Degree(v) >2,称 《cr是图G的弱顶点覆盖集,当且仅当执行W下操作能使E中所有的边都可W被标记:
[0074] (1)标记所有与S中顶点相关联的边;
[0075] (2)若某个顶点V的Degree(v)-1条相关联的边己被标记,则标记剩下的那条相关 联的边;
[0076] (3)重复第(2)步,直到不能再标记新的边为止。
[0077] 显然,由此弱顶点覆盖S就可W得到图G中各链路的流量。本文利用关联矩阵的概 念建立求解弱顶点覆盖问题的模型,为此先给出W下定义。
[007引定义4(关联关系)在无向图G(V,E)中,若vEV是eEE的顶点之一,贝嚇V与e之间存 在着关联关系,记为vRe
[0079] 定义5(关联矩阵)图G(V,E)的关联矩阵A=(au)是
[0080] 指如下定义的η Xm矩阵:
[0081]
3
[0082] 根据关联矩阵的定义,可知V的一个子集构成图G的一个覆盖,当且仅当在它包含 的节点所对应的关联矩阵的行中每列至少存在一个1。
[0083] 根据W上分析,采用贪屯、算法可W求解弱顶点覆盖问题,需要注意的是我们的网 络图中的边界点度为1,并不满足条件约束1,所W我们需要对无向图进行预处理。
[0084] 对于初始情况下度为1的顶点VI,只有一个边与该点存在关联,该边记为ej响的另 一个顶点记为Vj。
[0085] 当vj只有一个度为1的邻顶点VI,只要得出vj其他相关边的流量信息就能根据流量 算出eu的流量。即vj满足最小弱顶点覆盖,只是计算该边的度需要把eu加上;或者vj是探针 部署位置时也直接能监测到eu的流量。
[0086] 当vj有多化|k>l)个度为1的邻顶点,若不把节点V六受为探针,则至少需要设置k个 探针,所W只有将节点Vj设为探针,才能保证部署探针目数最少。
[0087] 根据上面分析,可知初始情况度为1的节点可W都不设探针,可W直接被舍弃,但 预处理舍弃一个度为1的节点时,不将其他与其相连的节点的度减1。
[0088] 鉴于上述基于最小弱顶点覆盖的流量监测模型,设计其算法流程如下:
[0089] Stepl:先删除所有度为1的节点,即删除关联矩阵中所有行元素之和为1的行;
[0090] Step2:选取一个包含的链路数目最多的节点,记为VI;
[0091] Step3:删去关联矩阵中Vi对应的行及该行中值为1的元素所在的列;然后在剩下 的关联矩阵中再依次删除所有行元素之和不超过1的其他行及运些行中值为1的元素所对 应的列,直到不能再删除新的行和列为止;
[0092] Step4:重复Step2,Step3的操作,直到所有的链路都被包含到。
[0093] 相应的算法流程图如图2所示。
[0094] 本发明的技术关键点在于:
[00M] 1、本算法对最小顶点覆盖问题的贪屯、算法进行改进,通过分支限定法的贪屯、策略 实现探针部署问题;
[0096] 2、在考虑到网络监测方式的同时,加上流量守恒的约束,使用最小弱顶点覆盖能 够部署更少的探针来实现整个网络的网络流量监测。
[0097] 本发明的有益效果:本专利提出一种基于顶点覆盖和弱顶点覆盖的探针部署技 术,其优点在于,该技术立足于对最小顶点覆盖问题的贪屯、算法,在该算法的基础上加 W改 进,提出了基于顶点覆盖和弱顶点覆盖的探针部署算法。首先使用最小顶点覆盖,使得在可 W得到每一条链路流量的条件下,所需流量监测器数目最小。之后改进为最小弱顶点覆盖。 仿真表明,与基于最小顶点覆盖的部署方案相比,本方案使用的探针数更少,而且算法更简 单,耗时更短,是一种更优秀的网络流量监测探针部署方案。
【附图说明】
[0098] 图1为基于最小顶点覆盖的探针部署算法流程图;
[0099] 图2为基于最小弱顶点覆盖的算法流程图。
【具体实施方式】
[0100] -种基于顶点覆盖和弱顶点覆盖的探针部署方法,本发明特征在于,包括:确定测 试探针的数量及所述测试探针在网络中的部署位置。
[0101] 在基于定点覆盖的探针部署方法中,确定测试探针的数量及所述测试探针在网络 中的部署位置的步骤为:
[0102] S1.对网络中所有节点的度排序,得到同时满足前k-1个节点的度的和小于链路数 和前k个节点的度的和大于链路数条件的k;
[0103] S2.将原图数据构造成一个解空间树的节点,利用定界策略判断是否有解,如果无 解将k加1,重新进入S2,如果有可能有解则插入到优先队列中;
[0104] S3.若优先队列不为空,那么便从优先队列中取出第一个可行的节点,进入S4,如 果优先队列为空则将k加1,重新进入S2;
[0105] S4.判断当前节点是否满足解的条件,如果满足便输出解退出,如果不满足便进入 S5;
[0106] S5.检查当前节点是否可W扩展,不能扩展的话便进入S3继续循环,如果能扩展的 话则扩展,然后验证扩展到左右节点是否有解,将有解的扩展节点插入到优先队列中,然后 进入S3继续循环。
[0107] 在基于最小弱顶点覆盖的探针部署方法中,确定测试探针的数量及所述测试探针 在网络中的部署位置的步骤为:
[0108] S1.先删除所有度为1的节点,即删除关联矩阵中所有行元素之和为1的行;
[0109] S2.选取一个包含的链路数目最多的节点,记为Vi;
[0110] S3.删去关联矩阵中VI对应的行及该行中值为1的元素所在的列;然后在剩下的关 联矩阵中再依次删除所有行元素之和不超过1的其他行及运些行中值为1的元素
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1