一种网络连通性测试方法及系统的制作方法_2

文档序号:9455741阅读:来源:国知局
1 :确定测试探针的数量及所述测试探针在网络中的部署位置。
[0056] 在本步骤中,需要确定测试探针在网络中的部署位置,根据该问题的求解特征,可 以将测试探针的部署抽象成最小集合覆盖模型,具体模型描述如下:
[0057] -个数据网(网络)可以抽象成一个无向图G(V,E),其中V是网络中所有节点的 集合,E是网络中节点间的通信链路集合,|E|,|V|分别表示网络中的节点数目及链路数 目。定义P sid= {e I e e E,s e V,d e V}为节点s到d的通信路径包含的链路集合,网络 中的任意两点间路径的链路集合由路由算法决定,所有路径的链路集合定义为网络的路径 集合T = {Ps,d I s e V,d e V,s乒d},满足大小为
且E中的任意一条链路 都至少包含在T中的一条路径里。
[0058] 按照集合覆盖的思想及连通性测试的覆盖要求,本模型求解的是最小的路径集合 K c Γ,使得E中所有的链路都被Ts覆盖,即:
[0060] 所求得的!^即可作为连通性测试的测试路径集,IT s I即为测试路径的条数。
[0061] 定义Vs为待部署的探针集,它包含了 Ts所有测试路径的两个端点,BP :
[0065] 最小集合覆盖问题得到了大量研究并广泛应用在软件测试、模式识别、生物信息 学等领域,是一个经典的NP完全问题。解决此问题的方法主要有贪心算法及启发式搜索算 法两大类。由于贪心算法实现起来较为容易,且计算时间较短。本实施例选择贪心算法作 为模型求解的算法。
[0066] 在本步骤101中,基于最小集合覆盖模型,采用贪心算法确定测试探针的数量及 所述测试探针在网络中的部署位置,参见图2,本步骤101具体包括如下步骤100-600 :
[0067] 步骤100 :获取所述网络中任意两节点间的最短路径作为两节点间的路由线路 Ps,d。
[0068] 在本步骤中,可以采用经典的Floyd算法或Di jkstra算法获取任意两节点间的路 由线路Ps,d。
[0069] 步骤200 :确定每条路由线路Ps,d的长度|Ps,d|,所述路由线路P s,d的长度|Ps,d|为 所述路由线路P sid包含的未被覆盖的链路的数量u Sid。
[0070] 步骤300 :获取当前网络中长度最长的路由线路Psid作为路由线路Pniax,并将该路 由线路P niax加入到预设最小路径集T s,且将该路由线路Pniax两端的节点加入到预设探针集 VsO
[0071 ] 在本步骤中,获取当前网络中长度最长的路由线路Psi d作为路由线路P _,若存在 多条这样的线路,则选择线路端点已被选为测试探针的数目多的那条线路。
[0072] 步骤400 :将所述路由线路Pniax包含的未被覆盖的链路标记为已覆盖,且更新网络 中任意两节点间的路由线路P sid包含的未被覆盖的链路的数量U Sid。
[0073] 步骤500 :判断所述网络中所有的链路是否均为已覆盖的状态。若是,执行步骤 600,否则执行步骤300,直至所述网络中所有的链路均为已覆盖的状态。
[0074] 步骤600 :获取所述预设探针集Vs中的所有节点为所述测试探针在网络中的部署 位置,所述预设探针集Vs中的节点的数量为所述测试探针的数量;所述预设最小路径集T s 中的路由线路为测试路径。
[0075] 通过上述步骤100-600的描述可知,依据求解问题的特征,本实施例将网络连通 性测试探针部署抽象成最小集合覆盖模型,在此模型的基础上设计贪心算法确定探针的部 署,该算法可以求得全局范围内的优化解,且算法实现简单,效率高。
[0076] 步骤102 :根据预设的测试需求对所述测试探针之间的网络连通情况进行测试。
[0077] 在本步骤中,根据预设的测试需求确定测试的目标节点,所述目标节点为所述预 设探针集1中的一个或多个节点;按照预设频率ping各个所述目标节点,获取预设时间内 所述目标节点之间的网络连通状况。
[0078] 从上面描述可知,在确定了探针集以及相应的测试路径后,在实际进行网络连通 性测试时,首先根据测试任务列表确定测试目的节点,然后按照一定的频率Ping各个目的 节点,采集一定时间内的数据评估连通性状况并收集返回的结果。如果发现有测试路径无 法连通,则进行故障诊断。根据已经返回的测试结果判断故障可能的位置,如果需要还可以 发送traceroute辅助探针,直到最后定位故障位置。
[0079] 综上所述,本实施例可以实现通过部署较少的测试探针,获取较大的网络测试覆 盖率的测试效果。本实施例所述的网络连通性测试方法可减轻网络负担,尤其适用于大规 模网络。
[0080] 一般地,由于网络边缘节点的度数通常较小,若把测试探针的部署位置选定在网 络的边缘处,那么从该探测站点发送出的探测的数目以及探测的能力就会收到相应的限 制,因而测试探针的部署位置最好不要在网络的边缘。因此优选地,在确定测试探针的数量 及所述测试探针在网络中的部署位置之前,所述方法还包括如下步骤101'。
[0081] 步骤101' :对所述网络进行分割,获取所述网络的有效子网络。
[0082] 在所述步骤101'获取所述网络的有效子网络之后,再执行步骤101,即确定所述 测试探针的数量及所述测试探针在所述有效子网络中的部署位置。
[0083] 上述步骤101'对所述网络进行分割,获取所述网络的有效子网络,包括以下两种 分割方式:
[0084] 比如,获取所述网络中以预设的数据交换设备为中心形成的有效子网络;例如,获 取所述网络中以路由器或交换机等大型数据交换设备为中心形成的有效子网络。
[0085] 或者,
[0086] 获取所述网络中除去接入层后形成的有效子网络。
[0087] 例如,对于一幅网络拓扑图,按照从内到外、从骨干核心层到接入层的顺序进行编 号,总共有160个节点,185条链路。
[0088] 那么在确定测试探针的数量及测试探针的部署位置之前,可以先对该网络进行分 害J,获取所述网络的有效子网络。第一种分割方式是选择路由器或交换机等大型的数据交 换设备形成的有效子网络,该有效子网络包含69个节点,93条链路;第二种是除去接入层 构成另一有效子网络,该有效子网络包含46个节点、67条链路。相对于分割前所述网络的 160个节点,185条链路,分割后的有效子网络,不但减少了节点和链路个数,而且在该有效 子网络中部署测试探针能够有效避免将测试探针部署在所述网络边缘上的问题。
[0089] 按照上述步骤101,基于最小集合覆盖模型,对按路由器分割和除去接入层得到的 有效子网络进行测试探针部署,最终确定的测试探针数量、部署结果、测试路径及链路覆盖 率如表1-4所示。
[0090] 表1评价指标



[0099] 从上述实施例可以看出,采用本发明所述的网络连通性测试方法,可以利用较少 的测试探针,获取较高的链路覆盖率,从而不但减轻了网络负担,而且加快了测试速度,节 省了测试时间。例如,对于按路由器分割后的有效子网络,其包含69个节点,93条链路, 经过本发明所述方法得到的需要部署测试探针的节点的个数为41,测试路径为29,相对于 现有技术,本发明省去了 28( = 69-41)测试节点,且本发明的测试链路覆盖率能够达到 100%〇
[0100] 本发明第二个实施例还提供了一种网络连通性测试系统,参见图3,该系统包括:
[0101] 确定单元31,用于确定测试探针的数量及所述测试探针在网络中的部署位置;
[0102] 测试单元32,用于根据预设的测试需求对所述测试探针之间的网络连通情况进行 测试。
[0103] 其中,所述确定单元31包括:
[0104] 第一获取模块311,用于获取所述网络中任意两节点间的最短路径作为两节点间 的路由线路P Sid;
[0105] 第一确定模块312,用于确定所述第一获取模块获取的每条路由线路Psid的长度 |P Sid|,所述路由线路Psid的长度IPsidI为所述路由线路Psid包含的未被覆盖的链路的数量 Us, d;
[0106] 第二获取模块3
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1