一种获取网络设备标准配置模板的方法和计算设备与流程

文档序号:16149433发布日期:2018-12-05 17:14阅读:135来源:国知局

本申请涉及通信领域,尤其涉及一种获取网络设备标准配置模板的方法和计算设备。

背景技术

网络设备配置检查中,网络设备上的当前配置被与标准配置进行匹配。在匹配过程中网络设备上的当前配置与标准配置不一致的信息被做为告警进行提示,随后交由专家处理。

以上配置检查的方式,需要保存每台网络设备的标准配置,占用的存储资源多。



技术实现要素:

本申请提供了一种获取网络设备标准配置模板的方法和计算设备,以降低存储资源使用量。

第一方面,提供了一种获取网络设备标准配置模板的方法。该方法包括:计算设备获取多个网络设备的配置命令,根据所述多个网络设备的配置命令生成命令模板集合,所述命令模板集合包括多个命令模板。所述计算设备根据所述命令模板集合生成相关度矩阵,所述相关度矩阵包括多个相关度值,每个相关度值指示所述命令模板集合中一个命令模板与所述多个网络设备中一个网络设备的相关度。所述计算设备根据所述相关度矩阵,对所述多个网络设备进行聚类以得到至少两个类别的网络设备,根据聚类结果将所述相关度矩阵划分成多个子矩阵,每个子矩阵对应所述至少两个类别的网络设备中的一个类别,每个子矩阵中的相关度值指示所述命令模板集合与对应类别的网络设备的相关度。所述计算设备对所述每个子矩阵进行奇异值分解以获取非零奇异值,并将所述命令模板集合中对所述非零奇异值的贡献度大于门限的命令模板作为对应类别的标准配置模板。

以上方案为各个类别生成标准配置模板,避免了为每台设备保存用于配置检查的标准配置,降低了存储资源的消耗。

可选地,所述计算设备获取待检测网络设备的配置命令,根据所述待检测网络设备的配置命令生成待检测网络设备的命令模板,将所述待检测网络设备的命令模板与所述待检测网络设备所属类别的标准配置模板进行匹配,根据匹配结果输出错误提示。

可选地,所述计算设备根据所述待检测网络设备的配置命令和各个类别的标准配置模板确定所述待检测网络设备所属类别。

可选地,所述待检测网络设备是所述多个网络设备中的一个网络设备,所述计算设备根据所述聚类结果确定所述待检测网络设备所属类别。

可选地,所述计算设备删除所述配置命令中的参数以获取所述多个命令模板。配置命令中的参数被删除,使得后续生成的标准配置模板不含参数,由此基于标准配置模板进行配置检查更容易实现匹配,具有更好地适用性。

可选地,所述相关度矩阵是n×m矩阵,n为所述多个网络设备的数量,m为所述命令模板集合中命令模板的数量;所述相关度值的计算公式为:

其中,wij表示所述相关度矩阵中第i行第j列的相关度值,tfij表示第i个网络设备中包括的所述命令模板集合中第j个命令模板的数量,dfj表示所述多个网络设备中包括所述第j个命令模板的网络设备的数量,δj表示所述第j个命令模板的权重。以上方案中,通过设定命令模板的权重,可以提高聚类结果的准确性和适用性。

可选地,所述奇异值分解的计算公式为:m=uσv*;其中,m表示进行奇异值分解的子矩阵,u表示s×s酉矩阵,s为子矩阵m对应的类别的网络设备的数量,σ表示半正定s×m矩形对角矩阵,σ中非零奇异值从第1行开始沿对角线从大到小顺序排列,v*表示m×m酉矩阵,v*是v的共轭转置矩阵;

所述贡献度的计算公式为:其中,ρj表示所述命令模板集合中第j个命令模板的贡献度,up表示u中第p个行向量,mj表示m中第j个列向量,vjp表示v中第j行第p列的元素,k为σ中非零奇异值的数量,λp表示σ中从大到小第p个非零奇异值。通过以上计算公式计算出的贡献度,具有固定的取值范围0到1,可以为所有类别设定一个相同的门限(门限取值范围在0至1),简便地完成门限设定。

第二方面,提供了一种计算设备。该计算设备包括获取单元和处理单元。

获取单元,用于获取多个网络设备的配置命令。

处理单元,用于根据所述多个网络设备的配置命令生成命令模板集合,根据所述命令模板集合生成相关度矩阵,所述命令模板集合包括多个命令模板,所述相关度矩阵包括多个相关度值,每个相关度值指示所述命令模板集合中一个命令模板与所述多个网络设备中一个网络设备的相关度。

所述处理单元,还用于根据所述相关度矩阵,对所述多个网络设备进行聚类以得到至少两个类别的网络设备,根据聚类结果将所述相关度矩阵划分成多个子矩阵,每个子矩阵对应所述至少两个类别的网络设备中的一个类别,每个子矩阵中的相关度值指示所述命令模板集合与对应类别的网络设备的相关度。

所述处理单元,还用于对所述每个子矩阵进行奇异值分解以获取非零奇异值,并将所述命令模板集合中对所述非零奇异值的贡献度大于门限的命令模板作为对应类别的标准配置模板。

可选地,所述获取单元,还用于获取待检测网络设备的配置命令;所述处理单元,还用于根据所述待检测网络设备的配置命令生成待检测网络设备的命令模板,将所述待检测网络设备的命令模板与所述待检测网络设备所属类别的标准配置模板进行匹配,根据匹配结果输出错误提示。

可选地,所述处理单元根据所述待检测网络设备的配置命令和各个类别的标准配置模板确定所述待检测网络设备所属类别。

可选地,所述待检测网络设备是所述多个网络设备中的一个网络设备,所述处理单元根据所述聚类结果确定所述待检测网络设备所属类别。

可选地,所述处理单元删除所述配置命令中的参数以获取所述多个命令模板。配置命令中的参数被删除,使得后续生成的标准配置模板不含参数,由此基于标准配置模板进行配置检查更容易实现匹配,具有更好地适用性。

可选地,所述相关度矩阵是n×m矩阵,n为所述多个网络设备的数量,m为所述命令模板集合中命令模板的数量;所述相关度值的计算公式采用第一方面中所述相关度值的计算公式。

可选地,所述奇异值分解的计算公式和所述贡献度的计算公式分别采用第一方面中所述奇异值分解的计算公式和所述贡献度的计算公式。

第三方面,提供了一种计算设备。该计算设备包括网络接口和处理器。

网络接口,用于获取多个网络设备的配置命令。

处理器,用于根据所述多个网络设备的配置命令生成命令模板集合,根据所述命令模板集合生成相关度矩阵,所述命令模板集合包括多个命令模板,所述相关度矩阵包括多个相关度值,每个相关度值指示所述命令模板集合中一个命令模板与所述多个网络设备中一个网络设备的相关度。

所述处理器,还用于根据所述相关度矩阵,对所述多个网络设备进行聚类以得到至少两个类别的网络设备,根据聚类结果将所述相关度矩阵划分成多个子矩阵,每个子矩阵对应所述至少两个类别的网络设备中的一个类别,每个子矩阵中的相关度值指示所述命令模板集合与对应类别的网络设备的相关度。

所述处理器,还用于对所述每个子矩阵进行奇异值分解以获取非零奇异值,并将所述命令模板集合中对所述非零奇异值的贡献度大于门限的命令模板作为对应类别的标准配置模板。

可选地,所述网络接口,还用于获取待检测网络设备的配置命令;所述处理器,还用于根据所述待检测网络设备的配置命令生成待检测网络设备的命令模板,将所述待检测网络设备的命令模板与所述待检测网络设备所属类别的标准配置模板进行匹配,根据匹配结果输出错误提示。

可选地,所述处理器根据所述待检测网络设备的配置命令和各个类别的标准配置模板确定所述待检测网络设备所属类别。

可选地,所述待检测网络设备是所述多个网络设备中的一个网络设备,所述处理器根据所述聚类结果确定所述待检测网络设备所属类别。

可选地,所述处理器删除所述配置命令中的参数以获取所述多个命令模板。配置命令中的参数被删除,使得后续生成的标准配置模板不含参数,由此基于标准配置模板进行配置检查更容易实现匹配,具有更好地适用性。

可选地,所述相关度矩阵是n×m矩阵,n为所述多个网络设备的数量,m为所述命令模板集合中命令模板的数量;所述相关度值的计算公式采用第一方面中所述相关度值的计算公式。

可选地,所述奇异值分解的计算公式和所述贡献度的计算公式分别采用第一方面中所述奇异值分解的计算公式和所述贡献度的计算公式。

第四方面,提供了一种计算机存储介质。所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机做为所述计算设备执行以上第一方面所述的方法。

第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机做为所述计算设备执行以上第一方面所述的方法。

附图说明

图1为本申请实施例提供的一种应用场景示意图。

图2为本申请实施例提供的一种获取网络设备标准配置模板的方法的流程示意图;

图3为本申请实施例提供的配置命令的示意图;

图4为本申请实施例提供的一种格式的命令模板的示意图;

图5为本申请实施例提供的另一种格式的命令模板的示意图;

图6为本申请实施例提供的一种划分相关度矩阵的示意图;

图7为本申请实施例提供的一种计算设备700的结构图;

图8为本申请实施例提供的一种计算设备800的结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式做出进一步地描述。

图1为本申请实施例提供的一种应用场景示意图。图1所示网络包括多台网络设备(例如网络设备103、104和105)和计算设备101。例如,网络设备103、104和105可以是交换机或路由器等。计算设备101可以连接网络中的各网络设备,并获取各网络设备的配置信息。计算设备101例如是计算机或移动终端。所述网络中还可以包括数据库设备102,计算设备101可以将数据存储到数据库设备102中。数据库设备102可以与计算设备101为同一设备,也可以为独立设备。

图2为本申请实施例提供的一种获取网络设备标准配置模板的方法的流程示意图。该方法可应用于图1所示网络中,该方法具体包括:

s201、计算设备101获取多个网络设备的配置命令,根据所述多个网络设备的配置命令生成命令模板集合。

该多个网络设备例如是图1中网络设备103、网络设备104和网络设备105。计算设备101可以通过各种方式获取各网络设备上的配置命令,例如通过文件传输协议(英文:filetransferprotocol,ftp)获取各网络设备上的配置文件,再从配置文件中获取配置命令。还例如计算设备101登录到各网络设备上,直接通过命令交互方式获取网络设备上的配置命令。网络设备上的每个配置命令可以用于配置该网络设备的一个功能。每个配置命令可以包括一个或多个配置命令行。图3给出了3个配置命令的示例,该3个配置命令被符号“#”来分隔,该3个配置命令均包括2个配置命令行。分隔符号也可以为其他符号。第1个配置命令用于建立一个名称为“_local_oam_vpn_”的虚拟专用网(英文:virtualprivatenetwork,vpn)实例,并设置该vpn实例支持互联网协议版本4(英语:internetprotocolversion4,ipv4)地址族。第2个配置命令用于建立一个名称为“_dcn_vpn_”的专用于数据通信网(英文:datacommunicationnetwork,dcn)的vpn实例,并设置该vpn实例支持ipv4地址族。第3个配置命令与第1个配置命令功能相似,用于建立一个名称为“_local_oam_vpn2_”的vpn实例,并设置该vpn实例支持ipv4地址族。

配置命令中包括命令和参数。例如图3中第1个配置命令中“ipvpn-instanceipv4-family”为命令,“_local_oam_vpn_”为参数;第2个配置命令中“ipdcnvpn-instanceipv4-family”为命令,“_dcn_vpn_”为参数;第3个配置命令中“ipvpn-instanceipv4-family”为命令,“_local_oam_vpn2_”为参数。计算设备101根据命令字典可以识别配置命令中的命令。命令字典可以由人工设定。计算设备101将配置命令中的参数删除后得到命令模板,由此一个命令模板包括一个配置命令中的命令。各网络设备上具有相同功能的配置命令在将参数删除后,得到的命令模板相同。例如图3中所示第1个配置命令和第3个配置命令都是用于建立一个支持ipv4地址族的vpn实例,不同之处仅在于建立的vpn实例的名称(即参数)不同。图4示出了将图3中3个配置命令中的参数删除后得到的3个命令模板。如图4所示在删除参数后,第1个命令模板和第3个命令模板相同。图5示出了另一种格式的命令模板,图5中每个配置命令删除参数后的全部内容被排列成一行组成命令模板。计算设备101删除从多个网络设备获取的配置命令中的参数以获取多个命令模板,并从该多个命令模板中获取不同的命令模板以生成命令模板集合。当存在多个相同的命令模板时,计算设备101选取其中一个加入到命令模板集合中。例如图4所示3个命令模板中第1个命令模板和第3个命令模板相同,计算设备101生成的命令模板集合中可以包括第1个命令模板和第2个命令模板。由此,生成的命令模板集合包括多个命令模板。

s202、计算设备101根据命令模板集合生成相关度矩阵。

计算设备101根据命令模板集合计算多个相关度值,利用该多个相关度值生成相关度矩阵。每个相关度值指示该命令模板集合中一个命令模板与该多个网络设备中一个网络设备的相关度。该相关度矩阵随后被用于聚类。假设计算设备101从n个网络设备获取配置命令,并且根据该配置命令生成的命令模板集合中包括m个命令模板,则相关度矩阵是n×m矩阵。所述n个设备中每个设备对应矩阵的一行,所述m个不同命令模板中每个命令模板对应矩阵的一列。相关度值的计算可采用以下公式:

其中,wij表示相关度矩阵中第i行第j列的相关度值。tfij表示第i个网络设备中包括的命令模板集合中第j个命令模板的数量。dfj表示所述n个网络设备中包括该第j个命令模板的网络设备的数量。δj表示该第j个命令模板的权重。

命令模板的类型可以包括典型命令模板、普通命令模板和干扰命令模板。可以设定类型是典型命令模板的各个命令模板所包括的命令,设定类型是普通命令模板的各个命令模板所包括的命令以及类型是干扰命令模板的各个命令模板所包括的命令。可以设定各个类型的命令模板的权重。其中典型命令模板的权重大于普通命令模板的权重,普通命令模板的权重大于干扰命令模板的权重(例如典型命令模板权重为1,普通命令模板权重为0.1,干扰命令模板权重为0)。典型命令模板是只出现在某些常见类别设备上的命令模板,根据典型命令模板能够较好地区分出设备的类别。普通命令模板是在各类设备上都出现较多的命令模板,根据普通命令模板较难区分出设备的类别。干扰命令模板是偶尔出现的罕见的命令模板。罕见的命令模板对应的dfj的值明显小于典型命令模板和普通命令模板对应的dfj的值。如果罕见的命令模板的权重和普通命令模板的权重相同,指示该罕见的命令模板与出现该罕见的命令模板的网络设备的相关度的相关度值(即干扰相关度值)会过大。这将导致在使用包括该干扰相关度值的相关度矩阵进行聚类时,包括该罕见的命令模板的网络设备被单独分成一类,而不是分到该网络设备所属的常见类别中(即该偶尔出现的罕见的命令模板干扰了该网络设备的分类)。因此,将罕见的命令模板的权重设定为小于普通命令模板的权重。以上方案中,通过设定命令模板的权重(提高典型命令模板的影响,降低普通命令模板和干扰命令模板的影响),可以提高聚类结果的准确性和适用性,提升基于聚类结果进行网络设备区分的准确性。

为简化处理,可以仅设定类型是典型命令模板和干扰命令模板的各个命令模板所包括的命令。对于类型不是典型命令模板或干扰命令模板的命令模板,则认定为是普通命令模板。

s203、计算设备101根据相关度矩阵,对所述多个网络设备进行聚类以得到至少两个类别的网络设备,根据聚类结果将相关度矩阵划分成多个子矩阵。

所述聚类可以采用近邻传播(英语:affinitypropagation,ap)聚类算法,以相关度矩阵做为输入。ap聚类算法是一种无监督聚类算法,分类的数目由设定的分类门限确定。分类门限取值范围0到1,分类门限越小,分类越少,分类门限越大,分类越多。通过聚类可以将所述多个网络设备分成多个类别(至少两个类别)。网络设备上的命令模板反映了该网络设备的功能,所述聚类中具有相同或相似功能的设备会被分到同一个类别。例如互联网协议无线接入网(英文:internetprotocolradioaccessnetwork,ipran)网络中包括基站网关(英文:cellsitegateway,csg)设备、汇聚站网关(英文:aggregationsitegateway,asg)设备和无线控制器站网关(英文:radionetworkcontrollersitegateway,rsg)设备。对ipran中的设备进行聚类后,csg设备、asg设备和rsg设备可以被聚成三类。例如多协议标签转换(英文:multiprotocollabelswitching,mpls)网络中包括用户边缘(英文:customeredge,ce)设备、运营商边缘(英文:provideredge,pe)设备和运营商(英文:provider,p)设备。对mpls网络中的设备进行聚类后,pe设备、ce设备和p设备可以被聚成三类。

根据聚类结果,可以将相关度矩阵划分成多个子矩阵。每个子矩阵对应所述至少两个类别的网络设备中的一个类别,每个子矩阵中的相关度值指示命令模板集合与对应类别的网络设备的相关度。图6示出了将7×m的相关度矩阵601划分成4×m和3×m的两个子矩阵的例子。假设根据7个网络设备(网络设备1至网络设备7分别是第1个至第7个网络设备)的7×m相关度矩阵601进行聚类,7个网络设备上共包括m个不同命令模板(即命令模板集合包括m个不同命令模板,命令模板1至命令模板m分别是第1个至第m个不同命令模板)。相关度矩阵601中每个相关度值指示该命令模板集合中一个命令模板与该7个网络设备中一个网络设备的相关度(例如w12指示命令模板2与网络设备1的相关度,w61指示命令模板1与网络设备6的相关度)。所述聚类将所述7个网络设备分成两类设备。第1类设备包括网络设备1、网络设备2、网络设备4和网络设备5,第2类设备包括网络设备3、网络设备6和网络设备7。相关度矩阵601中第1类设备对应的行向量组成第一个子矩阵602,第一个子矩阵602中的相关度值指示命令模板集合(包括命令模板1至命令模板m)与第1类设备的相关度(例如w12指示命令模板2与网络设备1的相关度,w2m指示命令模板m与网络设备2的相关度)。相关度矩阵601中第2类设备对应的行向量组成第二个子矩阵603,第二个子矩阵603中的相关度值指示命令模板集合(命令模板1至命令模板m)与第2类设备的相关度(例如w61指示命令模板1与网络设备6的相关度,w72指示命令模板2与网络设备7的相关度)。

s204、计算设备101对每个子矩阵进行奇异值分解(英文:singularvaluedecomposition,svd)以获取非零奇异值,获取所述命令模板集合中对所述非零奇异值的贡献度大于门限的命令模板作为所述每个子矩阵对应类别的标准配置模板。

奇异值分解的计算公式为:m=uσv*。其中,m表示进行奇异值分解的子矩阵(例如图6中子矩阵602或子矩阵603)。u表示s×s酉矩阵,s为子矩阵m对应的类别的网络设备的数量(例如图6中子矩阵602对应的第1类网络设备的数量是4,子矩阵603对应的第2类网络设备的数量是3)。σ表示半正定s×m矩形对角矩阵(英文:rectangulardiagonalmatrix,矩形对角矩阵是指该矩阵中对角线以外的元素均为零,该矩阵中对角线上的元素是指该矩阵中行号和列号相等的元素),σ中包括k个从第1行开始沿对角线从大到小顺序排列的非零奇异值,k的数量等于子矩阵m的秩,σ中非零奇异值均大于0。v*表示m×m酉矩阵,v*是v的共轭转置矩阵。举例来说,对4×5子矩阵进行奇异值分解时,u为4×4酉矩阵,σ为半正定4×5矩形对角矩阵,v*是5×5酉矩阵。通过以上奇异值分解可以获得k个非零奇异值,k为矩阵m的秩。

经过以上奇异值分解得出的每个非零奇异值都可以被分解为m个贡献值,该m个贡献值之和等于该每个非零奇异值。从一个非零奇异值分解出的m个贡献值中,每个贡献值对应于一个命令模板,由此该每个贡献值反映该一个命令模板对该一个非零奇异值的贡献。将每个非零奇异值分解为m个贡献值的公式如下所示:

其中λp表示矩阵σ中从大到小第p个非零奇异值。表示m个贡献值之和,其中第1个贡献值是upm1v1p,第2个贡献值是upm2v2p,第j个贡献值是upmjvjp。up表示矩阵u的第p个行向量。mj表示矩阵m的第j个列向量(矩阵m中每个列向量对应于一个命令模板)。vjp表示矩阵v的第j行第p列的元素。以上每个贡献值对应于一个命令模板,第j个贡献值upmjvjp对应于第j个命令模板。举例来说,λ1等于m个贡献值u1m1v11,u1m2v21,…,u1mmvm1之和,其中u1m1v11对应于第1个命令模板,u1m2v21对应于第2个命令模板,u1mmvm1对应于第m个命令模板。

根据以上非零奇异值和命令模板的关系,计算设备101可以对所有非零奇异值中对应同一个命令模板的贡献值进行度量以计算每个命令模板对所有非零奇异值的贡献度。例如按照如下公式a计算贡献度:

其中,ρj表示命令模板集合中第j个命令模板的贡献度。up表示矩阵u中第p个行向量。mj表示矩阵m中第j个列向量。vjp表示矩阵v中第j行第p列的元素。k表示σ中非零奇异值的数量。λp表示矩阵σ中第p个奇异值。贡献度可以反映命令模板的典型程度。命令模板的贡献度越高,该命令模板越适合做为网络设备配置检查的参照标准。公式a中ρj的取值范围是0到1,可以为所有子矩阵对应的类别设定一个相同的门限(门限取值范围在0至1),简便地完成门限设定。

计算设备101还可以按照如下公式b计算贡献度(公式b中各参数与公式a中各参数含义相同):

计算设备101比较以上贡献度和门限,将命令模板集合中贡献度大于门限的命令模板做为子矩阵m对应类别的标准配置模板。例如根据图6中子矩阵602,将贡献度大于门限的命令模板做为第1类设备的标准配置模板;根据图6中子矩阵603,将贡献度大于门限的命令模板做为第2类设备的标准配置模板。门限的大小与所述多个网络设备上不同命令模板的个数(即命令模板集合中命令模板的数量)相关,不同命令模板的个数越多,门限越小。门限可以人工确定。对于图6中第1类设备,假设命令模板1和命令模板m的贡献度大于门限,则命令模板1和命令模板m做为第1类设备的标准配置模板;假设命令模板2和命令模板m的贡献度大于门限,则命令模板2和命令模板m做为第2类设备的标准配置模板。

标准配置模板可以做为网络设备配置检查的参照标准。以上生成标准配置模板的过程中通过删除参数的方式屏蔽了配置命令中参数的差异,可以更有效地进行聚类,后续生成的标准配置模板不含参数,由此基于标准配置模板进行配置检查更容易实现匹配,具有更好地适用性。通过为各个类别生成标准配置模板,避免了为每台设备保存用于配置检查的标准配置,降低了存储资源的消耗。

基于标准配置模板的配置检查可以代替基于基线(英文:baseline)配置的配置检查。基线是指在某一个时间点被认可的产品属性的说明。网络管理中,基线配置可以是在网络建立之初设计好的网络中的每台设备应当符合的一套正确配置。基于基线配置的配置检查中,如果发现设备的配置命令与基线配置不一致,则认为该设备存在配置风险,发出错误提示。而基于标准配置模板的配置检查中,屏蔽了配置命令中参数的差异,避免了仅仅是由于配置命令中参数不同而造成的不必要的错误提示。例如网络设备升级或网络扩容中ip地址进行重新分配,这使得网络设备上用于配置ip地址的配置命令与基线配置不一致。所述不一致仅仅是由于ip地址(即用于配置ip地址的配置命令中的参数)发生变化而导致,并不属于配置错误。以上情况中屏蔽参数ip地址,有助于在配置检查中避免不必要的错误提示。并且以上基于标准配置模板的配置检查中,使用标准配置模板进行匹配,能够满足配置检查的同时降低存储资源的消耗。

计算设备101在获取各个类别的标准配置模板后,可以将标准配置模板存储到本地或异地数据库中。例如计算设备101与数据库设备102为同一设备时,存储到计算设备101的本地数据库中。又例如计算设备101与数据库设备102是两个独立的设备时,存储到异地数据库(即数据库设备102上的数据库)中。

s205、计算设备101将待检测网络设备的命令模板与待检测网络设备所属类别的标准配置模板进行匹配,根据匹配结果输出错误提示。

计算设备101获取待检测网络设备的配置命令,根据待检测网络设备的配置命令生成待检测网络设备的命令模板以进行配置检查。待检测设备例如是新加入网络的网络设备(例如新加入网络的交换机或路由器)或是网络中已有网络设备(例如图1所示网络设备103、网络设备103或网络设备105)。对网络中已有网络设备进行配置检查,可以发现网络运行过程中已有网络设备上的错误的配置更改。待检测网络设备的配置命令的获取方式以及命令模板的生成方式可参照s201中所述,在此不再赘述。计算设备101可以从本地数据库或异地数据库(例如数据库设备102上的数据库)获取标准配置模板。

计算设备101可以将待检测网络设备的命令模板与各个类别的标准配置模板进行匹配,以确定待检测网络设备所属类别以及待检测网络设备的命令模板与待检测网络设备所属类别的网络设备的标准配置模板的匹配结果。举例来说,确定待检测网络设备的所有命令模板中与各个类别的标准配置模板内容相同的命令模板的个数,做为各个类别的分数。分数最高的类别即为待检测网络设备所属类别。如果分数最高的多个类别的分数相同,则包括标准配置模板个数少的类别为待检测网络设备的类别。如果分数最高的多个类别的分数相同,且包括标准配置模板个数也相同,则任选该多个类别中的一个类别做为待检测网络设备的类别。例如待检测网络设备的命令模板包括a、b和c。类别1的标准配置模板包括a、b和d。类别2的标准配置模板包括a、b、c和d。则待检测网络设备的所有命令模板中a和b能够与类别1的标准配置模板a和b匹配(即类别1的分数为2)。待检测网络设备的所有命令模板中a、b和c能够与类别2的标准配置模板a、b和c匹配(即类别2的分数为3,大于类别1的分数)。由此待检测网络设备的类别为类别2。

当待检测网络设备是网络中已有网络设备时,计算设备101也可以根据s203中的聚类结果确定该待检测网络设备所属类别。计算设备101在执行s203时,可以在本地或异地数据库保存所述已有网络设备所属类别。计算设备101根据s203中的聚类结果确定该待检测网络设备所属类别后,可以将待检测网络设备的命令模板与该待检测网络设备所属类别的标准配置模板进行匹配,获得匹配结果。

待检测网络设备的命令模板与待检测网络设备所属类别的网络设备的标准配置模板的匹配结果例如包括第一类结果:待检测网络设备所属类别的网络设备的所有标准配置模板中不存在于待检测网络设备的命令模板中的标准配置模板。

待检测网络设备的命令模板与待检测网络设备所属类别的网络设备的标准配置模板的匹配结果例如包括第二类结果:待检测网络设备的所有命令模板中不存在于待检测网络设备所属类别的网络设备的标准配置模板的命令模板。

计算设备101根据所述匹配结果输出错误提示。对于第一类结果,错误提示的内容可以包括遗漏标准配置。对于第二类结果,错误提示的内容可以包括出现疑似错误配置。计算设备101可以将错误提示输出到屏幕、日志或其他设备上以便对错误配置进行更改。

计算设备101可以是一个设备,也可以是两个单独的设备。当计算设备101是两个单独的设备时,该两个单独的设备中一个可以用于执行s201至s204,另一个可以用于执行s205。

图7示出了本申请实施例提供的一种计算设备700的结构图。计算设备700可以是图2所示方法中计算设备101。计算设备700包括获取单元701和处理单元702。

获取单元701,用于获取多个网络设备(例如图1中网络设备103、网络设备104和网络设备105)的配置命令(具体可参照s201中所述)。

处理单元702,用于根据所述多个网络设备的配置命令生成命令模板集合,根据命令模板集合生成相关度矩阵(具体可参照s202中所述)。该命令模板集合包括多个命令模板。该相关度矩阵包括多个相关度值,每个相关度值指示命令模板集合中一个命令模板与所述多个网络设备中一个网络设备的相关度。

处理单元702,还用于根据该相关度矩阵,对所述多个网络设备进行聚类以得到至少两个类别的网络设备,根据聚类结果将所述相关度矩阵划分成多个子矩阵(具体可参照s203中所述)。每个子矩阵对应所述至少两个类别的网络设备中的一个类别。每个子矩阵中的相关度值指示所述命令模板集合与对应类别的网络设备的相关度。

处理单元702,还用于对所述每个子矩阵进行奇异值分解以获取非零奇异值,并将命令模板集合中对该非零奇异值的贡献度大于门限的命令模板作为对应类别的标准配置模板(具体可参照s204中所述)。

处理单元702在获取各个类别的标准配置模板后,可以将标准配置模板存储到本地或异地数据库中(具体可参照s204中所述)。

获取单元701还可以用于获取待检测网络设备的配置命令(具体可参照s205中所述)。处理单元702还可以用于根据所述待检测网络设备的配置命令生成待检测网络设备的命令模板,将所述待检测网络设备的命令模板与所述待检测网络设备所属类别的标准配置模板进行匹配,根据匹配结果输出错误提示(具体可参照s205中所述)。

处理单元702可以删除所述配置命令中的参数以获取所述多个命令模板(具体可参照s201中所述)。

获取单元701可以是一个单元,也可以是两个单独的单元。当获取单元701是两个单独的单元时,该两个单独的单元中一个可以用于所述获取多个网络设备的配置命令,另一个可以用于所述获取待检测网络设备的配置命令。

处理单元702可以是一个单元,也可以是两个单独的单元。当处理单元702是两个单独的单元时,该两个单独的单元中一个可以用于所述根据所述多个网络设备的配置命令生成命令模板集合,根据命令模板集合生成相关度矩阵,根据该相关度矩阵对所述多个网络设备进行聚类以得到至少两个类别的网络设备,根据聚类结果将所述相关度矩阵划分成多个子矩阵,对所述每个子矩阵进行奇异值分解以获取非零奇异值,并将命令模板集合中对该非零奇异值的贡献度大于门限的命令模板作为对应类别的标准配置模板,以及可以在获取各个类别的标准配置模板后,将标准配置模板存储到本地或异地数据库中。该两个单独的单元中另一个可以用于所述根据所述待检测网络设备的配置命令生成待检测网络设备的命令模板,将所述待检测网络设备的命令模板与所述待检测网络设备所属类别的标准配置模板进行匹配,根据匹配结果输出错误提示。该两个单独的单元中另一个可以根据所述待检测网络设备的配置命令和各个类别的标准配置模板确定所述待检测网络设备所属类别。所述待检测网络设备是所述多个网络设备中的一个网络设备时,该两个单独的单元中另一个可以根据所述聚类结果确定所述待检测网络设备所属类别。

图8示出了本申请实施例提供的一种计算设备800的结构图。计算设备800可以是图2所示方法中计算设备101。计算设备800包括网络接口801和处理器802。

网络接口801,用于获取多个网络设备(例如图1中网络设备103、网络设备104和网络设备105)的配置命令(计算设备800通过网络接口可以连接各网络设备获取配置命令,具体可参照s201中所述)。

处理器802,用于根据所述多个网络设备的配置命令生成命令模板集合,根据命令模板集合生成相关度矩阵(具体可参照s202中所述)。该命令模板集合包括多个命令模板。该相关度矩阵包括多个相关度值,每个相关度值指示命令模板集合中一个命令模板与所述多个网络设备中一个网络设备的相关度。

处理器802,还用于根据该相关度矩阵,对所述多个网络设备进行聚类以得到至少两个类别的网络设备,根据聚类结果将所述相关度矩阵划分成多个子矩阵(具体可参照s203中所述)。每个子矩阵对应所述至少两个类别的网络设备中的一个类别。每个子矩阵中的相关度值指示所述命令模板集合与对应类别的网络设备的相关度。

处理器802,还用于对所述每个子矩阵进行奇异值分解以获取非零奇异值,并将所述命令模板集合中对该非零奇异值的贡献度大于门限的命令模板作为对应类别的标准配置模板(具体可参照s204中所述)。

网络接口801可以为可以是有线通信接口、无线通信接口或其组合。有线通信接口例如是以太网接口、异步传输模式(英文:asynchronoustransfermode,atm)接口或基于sdh/sonet的包封装(英文:packetoversonet/sdh,pos)接口。无线通信接口例如是无线局域网(wirelesslocalareanetwork,wlan)接口、蜂窝网络通信接口或其组合。

处理器802包括但不限于中央处理器(英文:centralprocessingunit,cpu),网络处理器(英文:networkprocessor,np),专用集成电路(英文:application-specificintegratedcircuit,asic)或者可编程逻辑器件(英文:programmablelogicdevice,pld)中的一个或多个。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(英文:field-programmablegatearray,fpga),通用阵列逻辑(英文:genericarraylogic,gal)或其任意组合。

网络接口801可以和处理器802通过总线通信,也可以直连。

网络接口801还可以用于获取待检测网络设备的配置命令(具体可参照s205中所述)。处理器802还可以用于根据所述待检测网络设备的配置命令生成待检测网络设备的命令模板,将所述待检测网络设备的命令模板与所述待检测网络设备所属类别的网络设备的标准配置模板进行匹配,根据匹配结果输出错误提示(具体可参照s205中所述)。

处理器802可以删除所述配置命令中的参数以获取所述多个命令模板(具体可参照s201中所述)。

网络接口801可以是一个器件,也可以是两个单独的器件。当网络接口801是两个单独的器件时,该两个单独的器件中一个可以用于所述获取多个网络设备的配置命令,另一个可以用于所述获取待检测网络设备的配置命令。

处理器802可以是一个器件,也可以是两个单独的器件。当处理器802是两个单独的器件时,该两个单独的器件中一个可以用于所述根据所述多个网络设备的配置命令生成命令模板集合,根据命令模板集合生成相关度矩阵,根据该相关度矩阵对所述多个网络设备进行聚类以得到至少两个类别的网络设备,根据聚类结果将所述相关度矩阵划分成多个子矩阵,对所述每个子矩阵进行奇异值分解以获取非零奇异值,并将命令模板集合中对该非零奇异值的贡献度大于门限的命令模板作为对应类别的标准配置模板,以及可以在获取各个类别的标准配置模板后,将标准配置模板存储到本地或异地数据库中。该两个单独的器件中另一个可以用于所述根据所述待检测网络设备的配置命令生成待检测网络设备的命令模板,将所述待检测网络设备的命令模板与所述待检测网络设备所属类别的标准配置模板进行匹配,根据匹配结果输出错误提示。该两个单独的器件中另一个可以根据所述待检测网络设备的配置命令和各个类别的标准配置模板确定所述待检测网络设备所属类别。所述待检测网络设备是所述多个网络设备中的一个网络设备时,该两个单独的器件中另一个可以根据所述聚类结果确定所述待检测网络设备所属类别。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。

应理解,在本申请的各种实施例中,上述各方法的序号的大小并不意味着执行顺序的先后,各方法的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

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