CN105391566B - 一种动态的网络设备配置比对的方法及装置 - Google Patents
一种动态的网络设备配置比对的方法及装置 Download PDFInfo
- Publication number
- CN105391566B CN105391566B CN201410448651.7A CN201410448651A CN105391566B CN 105391566 B CN105391566 B CN 105391566B CN 201410448651 A CN201410448651 A CN 201410448651A CN 105391566 B CN105391566 B CN 105391566B
- Authority
- CN
- China
- Prior art keywords
- configuration
- configuration file
- image
- pixel
- comparison result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种动态的网络设备配置比对的方法及装置。所述方法,包括:分别获取待比对的用于网络设备的图形化界面的第一配置图像和获取所述网络设备上实际运行的图形化界面的第二配置图像;分别根据所述第一配置图像中每个像素的像素信息生成第一像素信息和根据所述第二配置图像中每个像素的像素信息生成第二像素信息;比较所述第一配置图像的第一像素信息与所述第二配置图像的第二像素信息的相似度,得到比较结果。上述方案,通过基于图形化界面方式设备配置比对方法,将维护人员从日常繁琐、重复的图形化界面配置核查中解脱出来,提升运维效率,降低维护管理成本。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种动态的网络设备配置比对的方法及装置。
背景技术
随着互联网、物联网以及ICT(Information Communication Technology,简称ICT,它是信息技术与通信技术相融合而形成的一个新的概念和新的技术领域)产业的高速发展,网络上的节点已不再单纯是计算机,还将包括PDA、Pad、移动电话、各式移动终端等,这些设备都需要接入到网络中,从20世纪90年代开始,我国已逐步建成覆盖全社会的网络基础设施,交换机、路由器以及防火墙作为网络互联、安全防护设备大量应用在网络建设中。
同时,随着三网融合步伐的加快,电信网、计算机网和有线电视网三大网络高层业务的融合,将形成无缝覆盖并趋向使用统一的IP协议,为用户提供多样化、个性化的服务(目前,业务支撑网络已初步实现与广播电视网、电信网的融合,并为用户提供高质量,多样化的业务咨询及办理服务)。这些服务的提供离不开交换机、路由器以及防火墙配置各种参数、路由和策略,比如QoS(Quality of Service,服务质量)、VLAN信息、路由策略信息等,在承载核心关键业务的大型网络中,这些网络设备参数动辄几千行,如何对各网络设备进行高效的配置参数与实际运行参数比对分析,实现支撑网络的高质量、低成本的设备配置核查是目前亟需解决的问题。而现有的移动业务支撑的网络设备,配置参数核对主要有人工比对和程序比对两种方式:
人工比对:较为原始的配置检验方法。顾名思义由人工逐个登录设备进行配置核查,参数比对。主要过程为:人为登录网络设备查看实际运行参数并逐行与备份配置参数进行比对。人工比对方法的优点在于通用性较强;缺点是成本高、耗时长,而且容易出错,因此,此方法较适用于设备数量较少的图形化界面配置设备、配置参数简单的情况。
程序比对:较为基础的自动化配置检验方法。主要过程为:由脚本程序逐个登录设备进行配置下载并存储为指定格式文件(如文本文件.txt),然后,启动比对程序将下载文件与备份文件进行比对,生成比对结果。程序比对方法主要优势在于成本低、耗时短,准确率较高,适用于设备多,配置参数较复杂的情况;劣势为通用性较差,只适用于命令行方式配置设备。
人工比对和程序比对都有其擅长的设备配置比对场景,但也存在着明显的应用局限性:人工比对可以实现对设备数量较少的图形化界面配置比对,但随着网络规模的不断扩大,图形化界面配置设备数量的增多,人工比对的瓶颈越明显,且使用图形化界面进行设备参数配置已成为一种新型的设备配置实现方式正在为越来越多的用户和管理者所接纳并使用,但在配置比对过程中效率较低;相比人工比对,程序比对效率较高,适用于设备数量多,配置参数较复杂情况,但通用性较差,尚未支持图形化界面设备的配置比对。
人工比对和程序比对是目前业务支撑网络***中采用的主要配置核查、比对方案,但随着物联网、互联网等“新兴网络”的引入,此方案的瓶颈逐渐显现,主要体现以下几个方面:
1)比对方案单一、存在技术短板:设备配置只能选择“人工比对”或“程序比对”,但两种方案均存在一定的技术局限性,无法满足大量图形化界面配置设备、配置参数较复杂的配置需求;
2)比对时间浪费情况严重:在数据中心建设过程中,采购的设备将不仅包括支持传统的命令行方式管理设备,还会大量使用仅支持图形化界面方式管理设备,此类设备将占用大量的人工比对时间,且效率极低,易出错,造成很大的比对时间浪费;
3)无法实现基于图形化界面配置管理模式下设备配置的高效比对:随着移动的庞大业务数据将需要越来越多的设备进行存储、传输和管理,与传统的人工配置比对模式相比,程序比对的耗时更短、效率更高,但却无法有效解决“图形化界面”配置管理模式下的高效比对问题;
4)人力成本投资、业务支撑网络安全风险居高不下:大量的图形化界面配置比对审核工作将耗费大量的人力、代维成本进行核查,且较易出错,这不仅带来更高的人力成本投资,而且实际应用中还会带来巨大的安全隐患,从而产生额外的管理和维护成本。
综上所述,目前的设备配置比对主要以人工比对和程序比对为主,其中,图形化界面设备配置核查则主要通过人工方式比对,此种方法成本高、耗时长、且容易出错,当网络结构日趋复杂、设备数量逐渐增多时,设备的维护成本将急剧增加,设备配置比对处理时间大幅度延长,比对效率低下,进而造成公司安全隐患,严重情况下则导致公司链路故障,业务中断,影响用户满意度及公司形象。
发明内容
本发明要解决的技术问题是提供一种动态的网络设备配置比对的方法及装置,用以解决现有的通过人工方式对图形化界面设备配置核查的成本高,耗时长、容易出错的问题。
为了解决上述技术问题,本发明实施例提供一种动态的网络设备配置比对的方法,包括:
分别获取待比对的用于网络设备的图形化界面的第一配置图像和获取所述网络设备上实际运行的图形化界面的第二配置图像;
分别根据所述第一配置图像中每个像素的像素信息生成第一像素信息和根据所述第二配置图像中每个像素的像素信息生成第二像素信息;
比较所述第一配置图像的第一像素信息与所述第二配置图像的第二像素信息的相似度,得到比较结果。
进一步地,所述获取所述网络设备上实际运行的图形化界面的第二配置图像,具体为:
通过截屏获取所述网络设备上实际运行的图形化界面的第二配置图像。
进一步地,所述分别根据所述第一配置图像中每个像素的像素信息生成第一像素信息和根据所述第二配置图像中每个像素的像素信息生成第二像素信息,具体为:
分别根据所述第一配置图像中每个像素的灰度值生成第一灰度值矩阵和根据所述第二配置图像中每个像素的灰度值生成第二灰度值矩阵;
所述比较所述第一配置图像的第一像素信息与所述第二配置图像的第二像素信息的相似度,得到比较结果,具体为:
依次比较所述第一配置图像的第一灰度值矩阵与所述第二配置图像的第二灰度值矩阵的相似度,得到所述第一配置图像和所述第二配置图像中每个像素的相似度值;
根据得到的所述第一配置图像和所述第二配置图像中每个像素的相似度值,生成所述比较结果。
进一步地,在所述分别根据所述第一配置图像中每个像素的灰度值生成第一灰度值矩阵和根据所述第二配置图像中每个像素的灰度值生成第二灰度值矩阵之后还包括:
分别获取所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数;
判断所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数是否分别相等,并得出一判断结果;
若所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数至少有一者不相等,则将行数和/或列数较小的一者的灰度值矩阵进行扩充,增加的行和/或列以空值进行填充。
进一步地,所述比较结果包括:所述第一配置图像和第二配置图像中不相似的像素的行数,或者所述第一配置图像和第二配置图像中不相似的像素的行数和列数。
进一步地,所述方法还包括:
分别获取待比对的用于网络设备配置的第一配置文件和获取所述网络设备实际运行时生成的第二配置文件;
比较所述第一配置文件与所述第二配置文件所占存储空间是否相等,并得出第一比较结果;
若所述第一比较结果表明所述第一配置文件与所述第二配置文件所占存储空间不相等,则比对得到所述第一配置文件与所述第二配置文件不同的字符,生成比对结果并输出。
进一步地,若所述第一比较结果表明所述第一配置文件与所述第二配置文件所占存储空间相等,所述方法还包括:
比较所述第一配置文件与所述第二配置文件的字符数是否相等,并得出第二比较结果;
若所述第二比较结果表明所述第一配置文件与所述第二配置文件的字符数不相等,则比较所述第一配置文件与所述第二配置文件不同的字符,生成比对结果并输出。
进一步地,若所述第二比较结果表明所述第一配置文件与所述第二配置文件的字符数相等,所述方法还包括:
比较所述第一配置文件与所述第二配置文件的命令行数是否相等,并得出第三比较结果;
若所述第三比较结果表明所述第一配置文件与所述第二配置文件的命令行数相等,比对所述第一配置文件与所述第二配置文件的对应命令行的字符,生成比对结果并输出;
若所述第三比较结果表明所述第一配置文件与所述第二配置文件的命令行数不相等,比对所述第一配置文件与所述第二配置文件中的命令行,生成比对结果并输出。
本发明实施例提供一种动态的网络设备配置比对的装置,包括:
第一获取模块,用于分别获取待比对的用于网络设备的图形化界面的第一配置图像和获取所述网络设备上实际运行的图形化界面的第二配置图像;
生成模块,用于分别根据所述第一配置图像中每个像素的像素信息生成第一像素信息和根据所述第二配置图像中每个像素的像素信息生成第二像素信息;
第一比较模块,用于比较所述第一配置图像的第一像素信息与所述第二配置图像的第二像素信息的相似度,得到比较结果。
进一步地,所述生成模块具体用于:分别根据所述第一配置图像中每个像素的灰度值生成第一灰度值矩阵和根据所述第二配置图像中每个像素的灰度值生成第二灰度值矩阵;
所述第一比较模块具体为:依次比较所述第一配置图像的第一灰度值矩阵与所述第二配置图像的第二灰度值矩阵的相似度,得到所述第一配置图像和所述第二配置图像中每个像素的相似度值;
根据得到的所述第一配置图像和所述第二配置图像中每个像素的相似度值,生成所述比较结果。
进一步地,所述装置,还包括:
第二获取模块,用于分别获取所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数;
判断模块,用于判断所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数是否分别相等,并得出一判断结果;
填充模块,若所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数至少有一者不相等,则将行数和/或列数较小的一者的灰度值矩阵进行扩充,增加的行和/或列以空值进行填充。
进一步地,所述装置,还包括:
第三获取模块,用于分别获取待比对的用于网络设备配置的第一配置文件和获取所述网络设备实际运行时生成的第二配置文件;
第二比较模块,用于比较所述第一配置文件与所述第二配置文件所占存储空间是否相等,并得出第一比较结果;
第一比对输出模块,若所述第一比较结果表明所述第一配置文件与所述第二配置文件所占存储空间不相等,则比对得到所述第一配置文件与所述第二配置文件不同的字符,生成比对结果并输出。
进一步地,若所述第一比较结果表明所述第一配置文件与所述第二配置文件所占存储空间相等,所述装置还包括:
第三比较模块,用于比较所述第一配置文件与所述第二配置文件的字符数是否相等,并得出第二比较结果;
第二比对输出模块,若所述第二比较结果表明所述第一配置文件与所述第二配置文件的字符数不相等,则比较所述第一配置文件与所述第二配置文件不同的字符,生成比对结果并输出。
进一步地,若所述第二比较结果表明所述第一配置文件与所述第二配置文件的字符数相等,所述装置还包括:
第四比较模块,用于比较所述第一配置文件与所述第二配置文件的命令行数是否相等,并得出第三比较结果;
第三比对输出模块,若所述第三比较结果表明所述第一配置文件与所述第二配置文件的命令行数相等,比对所述第一配置文件与所述第二配置文件的对应命令行的字符,生成比对结果并输出;
第四比对输出模块,若所述第三比较结果表明所述第一配置文件与所述第二配置文件的命令行数不相等,比对所述第一配置文件与所述第二配置文件中的命令行,生成比对结果并输出。
本发明的有益效果是:
上述方案,通过将运行过程中获取的配置图像和预先存储的配置图像进行比对,生成比对结果并输出,通过基于图形化界面方式设备配置比对方法,将维护人员从日常繁琐、重复的图形化界面配置核查中解脱出来,提升运维效率,降低维护管理成本。
附图说明
图1表示本发明实施例的所述方法的总体流程图;
图2表示网络设备启动原理图;
图3表示本发明实施例的对灰度值矩阵进行处理的方法流程图;
图4表示本发明实施例的获取的所述第一配置图像示意图;
图5表示本发明实施例的获取的所述第二配置图像示意图;
图6表示本发明实施例的对配置文件进行对比的详细流程图;
图7表示本发明实施例的所述装置的模块示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
本发明针对现有的通过人工方式对图形化界面设备配置核查的成本高,耗时长、容易出错的问题,提供一种动态的网络设备配置比对的方法及装置。
如图1所示,本发明实施例提供一种动态的网络设备配置比对的方法,包括:
步骤10,分别获取待比对的用于网络设备的图形化界面的第一配置图像和获取所述网络设备上实际运行的图形化界面的第二配置图像;
步骤20,分别根据所述第一配置图像中每个像素的像素信息生成第一像素信息和根据所述第二配置图像中每个像素的像素信息生成第二像素信息;
步骤30,比较所述第一配置图像的第一像素信息与所述第二配置图像的第二像素信息的相似度,得到比较结果。
上述方案,通过获取配置图像信息,然后将前后获取的配置图像进行对比,并输出对比结果供网络管理人员进行查看,此种图形化界面配置设备比对方法,比对精准度高,提高了比对效率,减少了人力、物力投资成本。
应当说明的是,上述的网络设备主要由硬件和软件两个部分组成。华为、Cisco等主流网络设备都有他们的互联网操作***(Internet work Operating System,IOS)。IOS提供了与Microsoft Windows XP或linux相似的功能:控制和管理其运行时所在的硬件。几乎所有基于IOS的网络设备都使用相同的硬件和固件组件以在启动过程中起协助作用,这些组件包括:ROM(只读存储器)、RAM(随机存取存储器)、闪存、NVRAM(非易失性RAM)、配置寄存器和物理接口。所有这些组件都可影响网络设备如何启动、如何定位操作***并加载它以及如何找到配置文件并加载它。基本上,IOS提供用户与硬件之间的界面,从而使用户能够执行命令以配置和管理设备。同时,网络设备IOS针对那些为任何规模的网络提供连通性、可扩展性、可靠性和安全性解决方案的协议和功能。IOS为LAN和WAN环境,包括铜线和光纤布线以及无线支持多种数据链路层协议;IOS支持固化和模块化的机架平台,从而使用户能够为自己的需求购买合适的硬件;同时为确保用户的关键资源始终可达,提供网络冗余;利用IOS用户可以依照内部安全策略严格地控制对网络和联网设备的访问,网络设备启动过程原理如图2所示(具体的原理流程在此便不再赘述)。
网络设备的访问方式较为多样,包括:控制台、辅助端口、Telnet、Web浏览器和SNMP(简单网络管理协议)管理中心。命令行模式下控制台接口提供到一个路由器的串行连接访问:利用控制台进入设备后,可以在基于文本的模式输入命令;图形化界面模式下通过设备开启的80或者443端口进行访问,打开Web界面并输入管理员账号和口令后即可进行配置管理。然而,为了从远程站点访问网络设备,首先需要创建一个基本的配置,包括IP寻址信息。因此,要进行初始化配置,需要先访问网络设备的控制台端口。在开始配置设备之前,首先必须将其连接到网络中,并且建立到其控制台接口的终端连接,具体启动过程为:进行硬件测试,定位和加载IOS,定位并且执行这个设备的配置文件。配置文件的正确执行与否是用户的路由、策略配置需求能否在网络设备上正确实现的关键。
对于图形化界面方式配置比对来说,首先在设备初次配置完成后,利用截图工具获取配置界面的截图,并进行存储,作为配置比对的对照图像;在设备实际运行过程中,通过截图工具依据对照图像对网络设备配置的图形化界面进行截屏,作为对比图像,将上述二者图像进行对比,得到比对结果,并进行显示输出,网络设备管理人员依据设备比对结果,进行设备配置更改的合法性的确认,保证了网络运行的安全性。
应当说明的是,本发明实施例的所述每个像素的像素信息具体为每个像素的灰度值,所述第一像素信息为第一灰度值矩阵,所述第二像素信息为第二灰度值矩阵。
上述的步骤20具体为:分别根据所述第一配置图像中每个像素的灰度值生成第一灰度值矩阵和根据所述第二配置图像中每个像素的灰度值生成第二灰度值矩阵;步骤30具体为:依次比较所述第一配置图像的第一灰度值矩阵与所述第二配置图像的第二灰度值矩阵的相似度,得到所述第一配置图像和所述第二配置图像中每个像素的相似度值;根据得到的所述第一配置图像和所述第二配置图像中每个像素的相似度值,生成所述比较结果。
应当说明的是,在进行灰度值矩阵对比时,应保证所对比的两个灰度值矩阵具有相同的维数,因此,在比对两配置图像的灰度值矩阵之前,如图3所示,还应包括:
步骤40,分别获取所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数;
步骤50,判断所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数是否分别相等,并得出一判断结果;
步骤60,若所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数至少有一者不相等,则将行数和/或列数较小的一者的灰度值矩阵进行扩充,增加的行和/或列以空值进行填充。
应当说明的是,矩阵的填充为本领域技术人员所熟知的,在此便不再进行详细的说明,进行矩阵扩充后,进行比对的两灰度值矩阵的行数和列数大小均相等,方便了比对的进行。
两灰度值矩阵比对完成后,为了方便网络管理人员查看所述比较结果,本发明的另一实施例中,在所述步骤30之后,还包括:显示所述第一配置图像和所述第二配置图像的相似度的比较结果。
应当说明的是,比较结果以文本的形式呈现比对不一致的行和/或列的信息,管理员依据比较结果能够定位输出比对不一致的位置,比较结果可以根据管理员的设置为输出不相似像素的行数(因图形配置界面每一行前面都有相应的行标号,例如比对发现现在的第50行与原来的相比出现了差异,则在比对结果中输出“第50行异常”的信息),或者是不相似的像素的行数和列数。
下面对以上图形化界面方式设备配置比对进行详细的算法实现说明:
图像中常采用8比特表示一个点的灰度值,这里先介绍两个取值为0到255之间数值序列的比对和相似性的概念。在引进序列比对和相似性的概念之前,先定义得分函数:
其中x、y分别是进行比对的两个序列中的数值,其值为0到255的数值或者为“空”。
两个序列的比对是指两个序列,设为s=(s1,s2,…,sn)和t=(t1,t2,…,tn),通过在序列的某些位置***“空”(新的序列称为原序列的扩展),使其长度相同,变成新的序列s'和t'(包含0到255的数值或者“空”),则定义这两个长度相同的序列比对相似度为(设长度为n,s'(i)、t'(i)为序列的第i个元素):
而所有的s和t的比对中,将相似度最大的比对称为s和t的最佳比对,对应的比对相似度称为二者的相似度。显然,相似度是一个非负数,它反映了两个序列相似的程度。例如,序列(0,0,0)和序列(255,255,255)的相似度为0,而序列(0,255,255)和(255,255,0)的相似度为255,显然后者比前者更加相似。
在进行图像比对的过程中,可以把图像的像素一行接着一行地排列起来,于是图像的所有像素也可以看作一个序列,有了序列相似度的定义,可以引入设备图形化界面配置图像比对相似度的定义,即图像像素点矩阵之间的比对相似度。
主要的算法说明:
设s和t为两个二维数组矩阵,矩阵为m行n列即m×n矩阵,矩阵中的数取值均为0到255之间的数。求其比对相似度的动态规划算法如下:
令a初始化为全0的二维数组矩阵,行标从1到m,列标从1到n;令b、c、d初始化为全0的一维矩阵数组,下标从1到n,对s、t矩阵中的m行的每一个元素,作如下循环(i=1…m);
对s、t矩阵中的n列每一个元素(j=1…n)
令b[j]<—s[i,j]
令c[j]<—t[i,j]
a[i,j]<—score(b[j],c[j])/255
if a[i,j]等于1
a[i,j]<—0
else a[i,j]<—1
结束j循环
d[i]<—sim(b,c)/(255×n)
if d[i]等于1
d[i]<—0
else d[i]<—1
结束i循环
针对矩阵每一行的比对sim函数值最大为255×n即两数列完全相同,因此最后d[i]、a[i,j]的值均为0或1,即为图像像素点矩阵的最优比对相似度。
该算法区别于一般的序列核查的比对算法的改进点是:
1、由于配置图形比对不需要求出最优比对,所以算法不需回溯;
2、可根据配置比对告警级别定制输出结果,即如只需告警比对配置行数,则在计算过程中只需保存一个一维数组的得分,减少算法的空间复杂度;如需告警确切的行数和列数,则需保存一个二维数组的得分。
该算法的时间复杂度为O(m×n),从实际运行情况看,在一般计算机上对两个10K左右的文件,求其比对相似度所需时间均不超过1s,作为配置比对图像中的关键部位,其大小一般仅为1K-10K之间,实际所需时间可能仅为0.01s,所以该算法在速度上基本可以满足大部分的应用需求。
以图形化界面方式配置check point防火墙为例,具体说明比对相似度在图像比对中的应用:
从防火墙配置图像(由程序***进行截屏采集)中取出包含配置的m×n(m、n为对应的像素个数变量)像素的区域,每像素用0-255的数值表示其灰度值(仅考虑其亮度信息),所以每个配置图像对应一个m×n的矩阵,矩阵元素取值为0-255。在比对之前,对每个配置图像先进行灰度直方图均衡化处理,以部分消除由于成像时环境光线强弱不同产生的偏差。
图4为进行灰度直方图均衡化处理后的待比对的第一配置图像信息,其对应的矩阵如表1所示:
153 | 134 | 166 | 65 | 90 | 233 | 45 | 32 | 158 | 68 | 76 | 87 |
154 | 134 | 168 | 70 | 67 | 233 | 46 | 32 | 158 | 68 | 76 | 87 |
155 | 134 | 168 | 70 | 72 | 233 | 47 | 32 | 158 | 68 | 76 | 87 |
表1 待比对的第一配置图像信息的生成矩阵
图5为进行灰度直方图均衡化处理后的设备实际运行时采集的第二配置图像信息,其对应的矩阵如表2所示:
153 | 134 | 166 | 65 | 90 | 233 | 45 | 32 | 158 | 68 | 76 | 87 |
154 | 134 | 168 | 70 | 67 | 233 | 202 | 32 | 158 | 68 | 76 | 87 |
155 | 134 | 168 | 70 | 72 | 233 | 203 | 32 | 158 | 68 | 76 | 87 |
表2 设备实际运行过程中第二配置图像信息的生成矩阵
按照前面的定义,对于两个配置图像的配置比对,则为表1中矩阵与表2中矩阵的比对,输出为一个只包含数值0和1(对应图像区域的像素值相同则为0,不相同则为1)的矩阵,表1和表2的比对输出矩阵如表3所示:
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
表3 比对后的生成矩阵
若配置图像相同,他们的差异度m×n×0=0,反之,如果两个图像完全不同,则配置差异度为m×n×1=m×n。由此得到取值为0和1的配置图像两两之间的比对差异矩阵,并由此得出图像配置比对的差异区域进行分析输出。
动态比对算法可以用来计算两个序列的差异度,如果把二位图像数据线性化,也可以用它来计算两个图像的差异度。从上面的分析可以看出,这种方法给出的图像差异性度量,在某种程度上恰当地反映了与原配置的差异程度及差异区域,较好地实现了基于图形化界面设备配置的自动化比对核查,并且计算简单,容易实现。
本发明上述方案,通过对图像成像原理的分析实现一种动态的网络设备配置变更比对方法,可同时满足大量图形化界面方式网络设备配置核查比对需求,解决了目前大数据中心网络互联设备的安全问题,为物联网、互联网等海量设备配置核查提供了一种灵活的比对方案,可有效支撑“新业务模式”下的数据安全管理;通过对图像成像原理的研究,可快速实现基于图形化界面配置管理模式下设备配置的高效比对,进一步拓展自动化配置核查比对范围,实现自动化网络配置核查的全覆盖,动态比对算法的耗时更短、效率更高,可有效解决“图形化界面”配置管理模式下的高效比对问题。
本发明实施例还提供一种基于命令行方式配置文件的比对,首先,应当说明的是,在网络设备中有不同类型、不同种类、不同属性以及不同格式的文件,这些文件共同组成了网络设备的文件族。
通常在网络设备中共包含三种类型的文件,它们分别是:App文件、配置文件和Web文件。App文件、配置文件和Web文件支持三种属性:main、backup、none。main标识主启动文件。设备启动时会首先由主启动文件启动,Flash中main属性的App文件、配置文件和web文件只能各有一个。标识backup启动文件,设备如果使用主启动文件启动失败时,将由backup文件启动,同样,Flash中backup属性的App文件、配置文件和web文件只能各有一个。标识不具有main和backup属性的其他文件。App文件的后缀为.bin,配置文件的后缀为.cfg,web文件的后缀为.web。一个文件可以同时具有main和backup的属性,显示时使用(*b)标识。如果用户新配置文件的属性为main时,原main属性文件将丢失main属性,当新文件的属性变为main时,为保证Flash中main属性的App文件、配置文件和web文件只能各有一个(backup属性文件亦是如此),对文件的操作和对文件属性的操作是分离的。从Flash中删除一个文件,该文件的main属性不会被删除,如果把同名的另一个合法文件下载到Flash中,则新文件将具有main属性。本发明所述的网络设备配置变更比对中的网络设备配置主要是main属性的配置文件,它存储在网络设备的Flash存储器中,设备关闭后,其中的内容不会清除且在下次启动后仍然可用。在交换机启动后IOS(一种移动操作***)将从Flash中加载这个配置并将其放入RAM中。
网络设备可以保存多个配置文件。***启动时优先选择用户指定的main属性的配置文件,如果没有指定任何启动配置文件则以空配置启动。配置文件是用来保存用户对设备所进行的配置,记录用户的配置信息的文本格式文件。网络设备启动时需要一些基本程序和数据,运行中也会产生一些重要数据,这些数据都以文件的方式保存在存储器中,以便调用和管理。网络设备通过文件***对这些文件进行管理和控制,并为用户提供了操作和管理文件***的工具。也为进行配置文件比对算法提供了基础。
在文件***中保存的文件类型主要包括:
应用程序文件:网络设备操作***在特定设备上的特定版本的实体程序文件称为应用程序文件,也称为映像(image),这种文件的扩展名为.bin;
配置文件:***将用户对设备的所有配置以命令的方式保存成文本文件,即配置文件,这种文件的扩展名为.cfg;
日志文件:***在运行中产生的文本日志可以存储在文本格式的文件中,称为日志文件。
而配置文件是指以文本格式保存设备配置命令的文件,它记录用户的配置信息,通过配置文件,用户可以方便地了解配置信息,同时也可以对配置文件的参数进行分析,获取网络设备所实现的数据传输功能。当网络设备的配置参数发生改变,引起网络连通性、路由、策略出现异常时,可以通过对网络配置参数的比对,查找问题的根源。
网络设备上的配置文件是以文本的形式存储的,因此可以方便地打开或读取,但对于大数据中心的网络设备配置文件,其路由表、端口地址信息和策略等可能要近万行,对于大量的网络设备逐一核查当前配置与策略无疑是一个复杂工程,因此从配置文件的特征研究配置文件的比对是很有必要的。
文件在计算机中是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可以分为ASCII和二进制文件,ASCII文件即文本(text)文件,它的每一个字节对应一个ASCII码,代表一个字符。用ASCII形式与字符一一对应,一个字节代表一个字符,因而便于对字符逐个处理。命令行方式配置的网络设备中配置文件是以文本格式存在的,因此可以利用“一个字节代表一个字符,便于对字符逐个处理”的特点,进行两个文件的分析比对。
对两个配置文件进行比对可以分为两种不同的情况:
第一种情况:两个配置文件所占存储空间不同。例如:对于一个12K的配置文件与15K的配置文件,很容易区分出两个文件来,然后再比较配置内容的不同。
第二种情况:两个配置文件所占存储空间相同。鉴于目前操作***常用分区格式为FAT32和NTFS,两种分区格式的每个簇都固定为4KB。因此对于在硬盘上存储空间相同的两个文件可以分为两种情况:第一种是两个配置文件所占存储空间相同并且其包含的字节数不同;第二种是两个配置文件所占存储空间相同并且其包含的字节数也相同。对于以上三种情况可以采用不同的比对方案。第一种情况可以直接判断两个配置文件大小,因为两个配置文件大小不同,则可直接筛选出两个文件的不同。对于第二种情况,首先判断两个配置文件的字节数是否相同,如果字节数相同,则判断文件的命令行数是否相同,如果命令行数相同,在逐一比较命令行的参数的不同,若命令行数不相同,直接比较缺失的命令行;如果字节数不同,则可直接比较每条命令参数的不同。
如图6所示,本发明实施例的基于命令行方式配置文件的比对方法主要为:
步骤S11,分别获取待比对的用于网络设备配置的第一配置文件和获取所述网络设备实际运行时生成的第二配置文件;
步骤S12,判断两个配置文件所占存储空间是否相等;
若所占存储空间不相等,则执行步骤S13,比对两个配置文件不同的字符,执行步骤S19;
若所占存储空间相等,则执行步骤S14,判断两个配置文件的字符数是否相等;
若两个配置文件字符数不相等,则执行步骤S15,比对两个配置文件不同的字符,执行步骤S19;
若两个配置文件字符数相等,则执行步骤S16,判断两个配置文件的命令行数是否相等;
若两个配置文件的命令行数不相等,则执行步骤S17,比对两个配置文件中的命令行,执行步骤S19;
若两个配置文件的命令行数相等,则执行步骤S18,比对两个配置文件中对应命令行的字符,执行步骤S19;
步骤S19,生成比对结果并输出。
应当说明的是,此种配置文件比对方法,缩短了比对时间,显著的提高了比对效率。
如图7所示,本发明实施例提供一种动态的网络设备配置比对的装置,包括:
第一获取模块100,用于分别获取待比对的用于网络设备的图形化界面的第一配置图像和获取所述网络设备上实际运行的图形化界面的第二配置图像;
生成模块200,用于分别根据所述第一配置图像中每个像素的像素信息生成第一像素信息和根据所述第二配置图像中每个像素的像素信息生成第二像素信息;
第一比较模块300,用于比较所述第一配置图像的第一像素信息与所述第二配置图像的第二像素信息的相似度,得到比较结果。
应当说明的是,所述生成模块200具体用于:分别根据所述第一配置图像中每个像素的灰度值生成第一灰度值矩阵和根据所述第二配置图像中每个像素的灰度值生成第二灰度值矩阵;
所述第一比较模块300具体为:依次比较所述第一配置图像的第一灰度值矩阵与所述第二配置图像的第二灰度值矩阵的相似度,得到所述第一配置图像和所述第二配置图像中每个像素的相似度值;
根据得到的所述第一配置图像和所述第二配置图像中每个像素的相似度值,生成所述比较结果。
具体地,所述装置,还包括:
第二获取模块,用于分别获取所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数;
判断模块,用于判断所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数是否分别相等,并得出一判断结果;
填充模块,若所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数至少有一者不相等,则将行数和/或列数较小的一者的灰度值矩阵进行扩充,增加的行和/或列以空值进行填充。
为了方便网络管理人员查看所述比较结果,所述装置还包括:
显示模块,用于显示所述第一配置图像和所述第二配置图像的相似度的比较结果。
具体地,所述装置,还包括:
第三获取模块,用于分别获取待比对的用于网络设备配置的第一配置文件和获取所述网络设备实际运行时生成的第二配置文件;
第二比较模块,用于比较所述第一配置文件与所述第二配置文件所占存储空间是否相等,并得出第一比较结果;
第一比对输出模块,若所述第一比较结果表明所述第一配置文件与所述第二配置文件所占存储空间不相等,则比对得到所述第一配置文件与所述第二配置文件不同的字符,生成比对结果并输出。
应当说明的是,若所述第一比较结果表明所述第一配置文件与所述第二配置文件所占存储空间相等,所述装置还包括:
第三比较模块,用于比较所述第一配置文件与所述第二配置文件的字符数是否相等,并得出第二比较结果;
第二比对输出模块,若所述第二比较结果表明所述第一配置文件与所述第二配置文件的字符数不相等,则比较所述第一配置文件与所述第二配置文件不同的字符,生成比对结果并输出。
应当说明的是,若所述第二比较结果表明所述第一配置文件与所述第二配置文件的字符数相等,所述装置还包括:
第四比较模块,用于比较所述第一配置文件与所述第二配置文件的命令行数是否相等,并得出第三比较结果;
第三比对输出模块,若所述第三比较结果表明所述第一配置文件与所述第二配置文件的命令行数相等,比对所述第一配置文件与所述第二配置文件的对应命令行的字符,生成比对结果并输出;
第四比对输出模块,若所述第三比较结果表明所述第一配置文件与所述第二配置文件的命令行数不相等,比对所述第一配置文件与所述第二配置文件中的命令行,生成比对结果并输出。
需要说明的是,该装置实施例是与上述方法对应的装置,上述方法的所有实现方式均适用于该装置实施例中,也能达到与上述方法相同的技术效果。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (10)
1.一种动态的网络设备配置比对的方法,其特征在于,包括:
分别获取待比对的用于网络设备的图形化界面的第一配置图像和获取所述网络设备上实际运行的图形化界面的第二配置图像;
分别根据所述第一配置图像中每个像素的像素信息生成第一像素信息和根据所述第二配置图像中每个像素的像素信息生成第二像素信息;
比较所述第一配置图像的第一像素信息与所述第二配置图像的第二像素信息的相似度,得到比较结果;
所述分别根据所述第一配置图像中每个像素的像素信息生成第一像素信息和根据所述第二配置图像中每个像素的像素信息生成第二像素信息,具体为:
分别根据所述第一配置图像中每个像素的灰度值生成第一灰度值矩阵和根据所述第二配置图像中每个像素的灰度值生成第二灰度值矩阵;
所述比较所述第一配置图像的第一像素信息与所述第二配置图像的第二像素信息的相似度,得到比较结果,具体为:
依次比较所述第一配置图像的第一灰度值矩阵与所述第二配置图像的第二灰度值矩阵的相似度,得到所述第一配置图像和所述第二配置图像中每个像素的相似度值;
根据得到的所述第一配置图像和所述第二配置图像中每个像素的相似度值,生成所述比较结果;
在所述分别根据所述第一配置图像中每个像素的灰度值生成第一灰度值矩阵和根据所述第二配置图像中每个像素的灰度值生成第二灰度值矩阵之后还包括:
分别获取所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数;
判断所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数是否分别相等,并得出一判断结果;
若所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数至少有一者不相等,则将行数和/或列数较小的一者的灰度值矩阵进行扩充,增加的行和/或列以空值进行填充。
2.根据权利要求1所述的方法,其特征在于,所述获取所述网络设备上实际运行的图形化界面的第二配置图像,具体为:
通过截屏获取所述网络设备上实际运行的图形化界面的第二配置图像。
3.根据权利要求1所述的方法,其特征在于,所述比较结果包括:所述第一配置图像和第二配置图像中不相似的像素的行数,或者所述第一配置图像和第二配置图像中不相似的像素的行数和列数。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
分别获取待比对的用于网络设备配置的第一配置文件和获取所述网络设备实际运行时生成的第二配置文件;
比较所述第一配置文件与所述第二配置文件所占存储空间是否相等,并得出第一比较结果;
若所述第一比较结果表明所述第一配置文件与所述第二配置文件所占存储空间不相等,则比对得到所述第一配置文件与所述第二配置文件不同的字符,生成比对结果并输出。
5.根据权利要求4所述的方法,其特征在于,若所述第一比较结果表明所述第一配置文件与所述第二配置文件所占存储空间相等,所述方法还包括:
比较所述第一配置文件与所述第二配置文件的字符数是否相等,并得出第二比较结果;
若所述第二比较结果表明所述第一配置文件与所述第二配置文件的字符数不相等,则比较所述第一配置文件与所述第二配置文件不同的字符,生成比对结果并输出。
6.根据权利要求5所述的方法,其特征在于,若所述第二比较结果表明所述第一配置文件与所述第二配置文件的字符数相等,所述方法还包括:
比较所述第一配置文件与所述第二配置文件的命令行数是否相等,并得出第三比较结果;
若所述第三比较结果表明所述第一配置文件与所述第二配置文件的命令行数相等,比对所述第一配置文件与所述第二配置文件的对应命令行的字符,生成比对结果并输出;
若所述第三比较结果表明所述第一配置文件与所述第二配置文件的命令行数不相等,比对所述第一配置文件与所述第二配置文件中的命令行,生成比对结果并输出。
7.一种动态的网络设备配置比对的装置,其特征在于,包括:
第一获取模块,用于分别获取待比对的用于网络设备的图形化界面的第一配置图像和获取所述网络设备上实际运行的图形化界面的第二配置图像;
生成模块,用于分别根据所述第一配置图像中每个像素的像素信息生成第一像素信息和根据所述第二配置图像中每个像素的像素信息生成第二像素信息;
第一比较模块,用于比较所述第一配置图像的第一像素信息与所述第二配置图像的第二像素信息的相似度,得到比较结果;
所述生成模块具体用于:分别根据所述第一配置图像中每个像素的灰度值生成第一灰度值矩阵和根据所述第二配置图像中每个像素的灰度值生成第二灰度值矩阵;
所述第一比较模块具体为:依次比较所述第一配置图像的第一灰度值矩阵与所述第二配置图像的第二灰度值矩阵的相似度,得到所述第一配置图像和所述第二配置图像中每个像素的相似度值;
根据得到的所述第一配置图像和所述第二配置图像中每个像素的相似度值,生成所述比较结果;
第二获取模块,用于分别获取所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数;
判断模块,用于判断所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数是否分别相等,并得出一判断结果;
填充模块,若所述第一灰度值矩阵和所述第二灰度值矩阵的行数和列数至少有一者不相等,则将行数和/或列数较小的一者的灰度值矩阵进行扩充,增加的行和/或列以空值进行填充。
8.根据权利要求7所述的装置,其特征在于,还包括:
第三获取模块,用于分别获取待比对的用于网络设备配置的第一配置文件和获取所述网络设备实际运行时生成的第二配置文件;
第二比较模块,用于比较所述第一配置文件与所述第二配置文件所占存储空间是否相等,并得出第一比较结果;
第一比对输出模块,若所述第一比较结果表明所述第一配置文件与所述第二配置文件所占存储空间不相等,则比对得到所述第一配置文件与所述第二配置文件不同的字符,生成比对结果并输出。
9.根据权利要求8所述的装置,其特征在于,若所述第一比较结果表明所述第一配置文件与所述第二配置文件所占存储空间相等,所述装置还包括:
第三比较模块,用于比较所述第一配置文件与所述第二配置文件的字符数是否相等,并得出第二比较结果;
第二比对输出模块,若所述第二比较结果表明所述第一配置文件与所述第二配置文件的字符数不相等,则比较所述第一配置文件与所述第二配置文件不同的字符,生成比对结果并输出。
10.根据权利要求9所述的装置,其特征在于,若所述第二比较结果表明所述第一配置文件与所述第二配置文件的字符数相等,所述装置还包括:
第四比较模块,用于比较所述第一配置文件与所述第二配置文件的命令行数是否相等,并得出第三比较结果;
第三比对输出模块,若所述第三比较结果表明所述第一配置文件与所述第二配置文件的命令行数相等,比对所述第一配置文件与所述第二配置文件的对应命令行的字符,生成比对结果并输出;
第四比对输出模块,若所述第三比较结果表明所述第一配置文件与所述第二配置文件的命令行数不相等,比对所述第一配置文件与所述第二配置文件中的命令行,生成比对结果并输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410448651.7A CN105391566B (zh) | 2014-09-04 | 2014-09-04 | 一种动态的网络设备配置比对的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410448651.7A CN105391566B (zh) | 2014-09-04 | 2014-09-04 | 一种动态的网络设备配置比对的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105391566A CN105391566A (zh) | 2016-03-09 |
CN105391566B true CN105391566B (zh) | 2018-12-07 |
Family
ID=55423420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410448651.7A Active CN105391566B (zh) | 2014-09-04 | 2014-09-04 | 一种动态的网络设备配置比对的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105391566B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254104B (zh) * | 2016-07-28 | 2020-01-03 | 新华三信息技术有限公司 | 一种安装状态的获取方法及装置 |
CN107861655B (zh) * | 2017-11-01 | 2020-07-07 | 平安科技(深圳)有限公司 | 控件匹配方法、装置、计算机设备和存储介质 |
CN109240755A (zh) * | 2018-06-28 | 2019-01-18 | 平安科技(深圳)有限公司 | 一种配置文件比对方法和配置文件比对*** |
CN109684005B (zh) * | 2018-12-11 | 2021-08-24 | 浙江口碑网络技术有限公司 | 图形界面中组件相似度确定方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060070702A (ko) * | 2004-12-21 | 2006-06-26 | 엘지전자 주식회사 | 초기 사용시 기본 설정과 사용자 설정의 비교 표시 방법및 장치 |
CN1975658A (zh) * | 2005-12-02 | 2007-06-06 | 三星电子株式会社 | 设置配置信息的方法和设备 |
CN102364894A (zh) * | 2011-10-21 | 2012-02-29 | 中兴通讯股份有限公司 | 一种配置数据文件的下发方法及网管设备 |
CN103518393A (zh) * | 2011-03-09 | 2014-01-15 | 埃塞特科学有限责任公司 | 检测移动通信设备内容的***和方法 |
CN103714340A (zh) * | 2014-01-09 | 2014-04-09 | 西安电子科技大学 | 基于图像分块的自适应特征提取方法 |
CN103729342A (zh) * | 2012-10-12 | 2014-04-16 | ***股份有限公司 | 文件比对方法及装置 |
-
2014
- 2014-09-04 CN CN201410448651.7A patent/CN105391566B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060070702A (ko) * | 2004-12-21 | 2006-06-26 | 엘지전자 주식회사 | 초기 사용시 기본 설정과 사용자 설정의 비교 표시 방법및 장치 |
CN1975658A (zh) * | 2005-12-02 | 2007-06-06 | 三星电子株式会社 | 设置配置信息的方法和设备 |
CN103518393A (zh) * | 2011-03-09 | 2014-01-15 | 埃塞特科学有限责任公司 | 检测移动通信设备内容的***和方法 |
CN102364894A (zh) * | 2011-10-21 | 2012-02-29 | 中兴通讯股份有限公司 | 一种配置数据文件的下发方法及网管设备 |
CN103729342A (zh) * | 2012-10-12 | 2014-04-16 | ***股份有限公司 | 文件比对方法及装置 |
CN103714340A (zh) * | 2014-01-09 | 2014-04-09 | 西安电子科技大学 | 基于图像分块的自适应特征提取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105391566A (zh) | 2016-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105005532B (zh) | 一种自动化测试应用程序接口稳定性的***及方法 | |
CN105391566B (zh) | 一种动态的网络设备配置比对的方法及装置 | |
US20150127792A1 (en) | Configuration management device, configuration interface device and method for vendor-independent network device configuration | |
CN105071948B (zh) | 一种接入交换机的自动部署方法及装置 | |
CN102724079B (zh) | 一种以太网设备辅助配置的方法及*** | |
CN102427445B (zh) | It仿真基础架构离线合规性安全审计方法 | |
US20060007491A1 (en) | Setting information holding storage system | |
CN109284140A (zh) | 配置方法及相关设备 | |
CN107196983A (zh) | 一种资源分发方法及装置 | |
CN103873488A (zh) | 基于路由器插件的上网控制方法 | |
CN115422048A (zh) | 链路稳定性测试方法、装置、计算机设备和存储介质 | |
CN107734046A (zh) | 远程操作数据库的方法、服务端、客户端和*** | |
CN110502558A (zh) | 数据导出方法、装置、计算机设备和存储介质 | |
CN114513419A (zh) | 安全策略配置方法及*** | |
CN110673507A (zh) | 一种物联设备数据模拟方法及装置 | |
CN116455869A (zh) | 基于Kubernetes高效配置公网域名方法和*** | |
CN116032581A (zh) | 网络设备安全管理方法及电子设备 | |
CN111343193B (zh) | 云网络端口安全防护方法、装置、电子设备及存储介质 | |
CN109600242A (zh) | 用于家电配网的管理方法、家电、客户端及*** | |
CN111090853B (zh) | 账户管理方法、***、电子设备及存储介质 | |
Cisco | GSR Manager Release Notes (Release 2.0.1) | |
Cisco | VCLI Usage Overview | |
Cisco | Cisco NSM 4.3 Release Notes | |
Cisco | VCLI Installation and Overview | |
Cisco | Configuring Devices with Cisco UGM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |