CN106878068B - 一种配置管理方法和装置 - Google Patents
一种配置管理方法和装置 Download PDFInfo
- Publication number
- CN106878068B CN106878068B CN201710055252.8A CN201710055252A CN106878068B CN 106878068 B CN106878068 B CN 106878068B CN 201710055252 A CN201710055252 A CN 201710055252A CN 106878068 B CN106878068 B CN 106878068B
- Authority
- CN
- China
- Prior art keywords
- command
- configuration
- relation
- deletion
- configuration command
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种配置管理方法和装置,该方法包括:获取待删除配置对应的配置命令;通过所述配置命令查询匹配关系,得到所述配置命令对应的删除命令;其中,所述匹配关系用于记录配置命令与删除命令的对应关系;将所述删除命令发送给网络设备,以使所述网络设备利用所述删除命令删除所述网络设备上的所述待删除配置。通过本申请的技术方案,不需要由用户为待删除配置生成删除命令,即不需要用户手工生成删除命令,减轻用户工作量,避免使用错误的删除命令。而且,即使待删除配置的数量比较多,针对每个待删除配置,可以采用相同流程处理,降低了处理的繁琐度。
Description
技术领域
本申请涉及网络管理技术领域,尤其涉及一种配置管理方法和装置。
背景技术
网络管理系统简称网管系统,可以以统一的风格提供与网络相关的各类管理、控制、监控等功能,为网络设备(如交换机、路由器、安全设备等)的管理带来极大方便。基于业务需求,网管系统可能需要对网络设备的配置进行迁移,如将网络设备A的配置迁移到网络设备B,并删除网络设备A的配置。
为了删除网络设备A的配置,需要由用户为该配置生成一个删除命令,并在网管系统输入该删除命令,网管系统将该删除命令发送给网络设备A,以使网络设备A根据该删除命令删除该配置。但是,当待删除的配置比较多时,需要用户为每个配置单独生成一个删除命令,工作量很大,而且用户可能还会生成错误的删除命令,导致无法删除网络设备A的配置,继而影响业务的使用。
发明内容
本申请提供一种配置管理方法,所述方法包括:
获取待删除配置对应的配置命令;
通过所述配置命令查询匹配关系,得到所述配置命令对应的删除命令;其中,所述匹配关系用于记录配置命令与删除命令的对应关系;
将所述删除命令发送给网络设备,以使所述网络设备利用所述删除命令删除所述网络设备上的所述待删除配置。
本申请提供一种配置管理装置,所述装置包括:
获取模块,用于获取待删除配置对应的配置命令;
查询模块,用于通过所述配置命令查询匹配关系,得到所述配置命令对应的删除命令;其中,所述匹配关系用于记录配置命令与删除命令的对应关系;
发送模块,用于将所述删除命令发送给网络设备,以使所述网络设备利用所述删除命令删除所述网络设备上的所述待删除配置。
基于上述技术方案,本申请实施例中,通过维护配置命令与删除命令的对应关系,可以查询到待删除配置对应的配置命令对应的删除命令,而不需要由用户为待删除配置生成删除命令,即不需要用户手工生成删除命令,减轻用户工作量,避免使用错误的删除命令。而且,即使待删除配置的数量比较多,针对每个待删除配置,可以采用相同流程处理,降低了处理的繁琐度。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的配置管理方法的流程图;
图2是本申请一种实施方式中的网管设备的硬件结构图;
图3是本申请一种实施方式中的配置管理装置的结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种配置管理方法,可以应用于网管系统,该网管系统可以包括网管设备和网络设备,网管设备是网管系统的管理设备,网络设备是网管系统的被管理设备。网管设备可以为PC(Personal Computer,个人计算机)等,网络设备可以为交换机、路由器、安全设备等。参见图1所示,为配置管理方法的流程图,该方法可以应用于网管设备,该方法可以包括:
步骤101,获取待删除配置对应的配置命令。
在一个例子中,假设网管设备需要将网络设备A的配置迁移到网络设备B,则在将配置迁移到B之后,在网络设备A上对该配置进行删除,因而需要将迁移到网络设备B的配置确定为待删除配置。例如,假设将网络设备A的接口1的所有配置迁移到网络设备B,则将接口1的所有配置确定为待删除配置。
具体的,通常情况下,网管设备在向网络设备A下发配置时,会针对每个配置生成一个配置命令,将生成的配置命令存储到配置文件,例如,网管设备需要向网络设备A下发配置1、配置2和配置3时,为配置1、配置2和配置3分别生成配置命令1、配置命令2和配置命令3,在配置文件存储配置命令1、配置命令2和配置命令3。网管设备将配置文件下发到网络设备A,在网管设备将配置文件下发到网络设备A后,网络设备A执行配置命令1,从而在网络设备A上生成配置1,以此类推。基于上述工作原理,为了获取到待删除配置对应的配置命令,则网管设备可以获取到该配置文件,并将该配置文件中的每个配置命令均确定为待删除配置对应的配置命令。
在另一个例子中,若在向网络设备A下发配置的过程中,由于配置冲突等原因,导致配置下发失败,则将已下发配置确定为待删除配置。例如,网管设备在向网络设备A下发配置时,针对每个配置生成一个配置命令,并将生成的配置命令存储到配置文件,假设在配置文件存储配置命令1-配置命令100。然后,网管设备配置文件下发到网络设备A,如依次将配置命令1-配置命令100下发到网络设备A。假设在将配置命令51下发到网络设备A后,网络设备A执行配置命令51时,与网络设备A的已有配置发生冲突,并导致配置下发失败,则将配置命令1-配置命令50对应的配置确定为待删除配置。基于上述工作原理,为了获取到待删除配置对应的配置命令,则网管设备可以将该配置文件中的配置命令1-配置命令50确定为待删除配置对应的配置命令。
步骤102,通过该配置命令查询匹配关系,得到该配置命令对应的删除命令;其中,该匹配关系可以用于记录配置命令与删除命令的对应关系。
在一个例子中,该匹配关系可以采用任意数据结构,对此数据结构不做限制,只要该匹配关系记录有配置命令与删除命令的对应关系即可。例如,该匹配关系的数据结构可以是线性结构、散列结构等。
在一个例子中,该匹配关系可以采用任意存储方式,对此存储方式不做限制,只要该匹配关系记录有配置命令与删除命令的对应关系即可。例如,该匹配关系的存储方式可以是文件存储、表格存储、数据库存储、网络存储等。
在一个例子中,网管设备可以维护匹配关系,该匹配关系包括多组关系集合。针对每组关系集合,可以包括配置命令与删除命令的对应关系;或者,针对每组关系集合,可以包括配置命令与删除命令的对应关系、配置命令与第一标识的对应关系、删除命令与第二标识的对应关系。其中,第一标识用于指示对应的命令为配置命令,第二标识用于指示对应的命令为删除命令。
其中,该匹配关系可以是指定类型的匹配关系,指定类型可以包括但不限于XML(eXtensible Markup Language,可扩展标记语言)类型。在实际应用中,该指定类型还可以为其它类型,对此指定类型不做限制,后续以XML类型为例进行说明。一般来说,现有技术中采用源代码的形式编写配置对应的删除命令,进而执行配置的删除操作。但是对于用户而言,由于无法看到源代码的编写形式,因而编写删除命令很复杂,而通过使用记录有配置命令与删除命令的对应关系匹配关系,使得网管设备可以方便的读取匹配关系中的配置命令以及删除命令,可以方便编辑匹配关系。
其中,需要说明的是,本实施例中的“匹配关系”也是以配置文件的形式进行存储和编写,命名为“匹配关系”仅仅是为了与上述实施例中所提到的待删除配置对应的配置文件相互区分。
其中,上述匹配关系的内容可以是多组关系集合,在一种实现方式中,每组关系集合可以只包括配置命令与删除命令的对应关系。在另一种实现方式中,为区分出关系集合中的配置命令与删除命令,每组关系集合中除了包括配置命令与删除命令的对应关系,还可以包括配置命令与第一标识的对应关系、删除命令与第二标识的对应关系。后续过程以第二种实现方式为例进行说明。
如下所示,为一组关系集合的示例,在该组关系集合中,包括配置命令A1与删除命令B1的对应关系,配置命令A1与第一标识srcCmd的对应关系,删除命令B1与第二标识DestCmd的对应关系。通过使用第一标识srcCmd和第二标识DestCmd,可以区分出关系集合中的配置命令与删除命令,即第一标识srcCmd之后的命令为配置命令,第二标识DestCmd之后的命令为删除命令。其中,第一行的“TemplSet”表示模板集合开始,第四行的“TemplSet”表示模板集合结束。“name=matchCmdInfo”表示名称为匹配命令信息,“type=match”表示类型为匹配。此外,Templ name="srcCmd">配置命令A1</Templ表示srcCmd与配置命令A1的对应关系,<Templ name="DestCmd">删除命令B1</Templ>表示DestCmd与删除命令B1的对应关系。
<TemplSet name="matchCmdInfo"type="match">
<Templ name="srcCmd">配置命令A1</Templ>
<Templ name="DestCmd">删除命令B1</Templ>
</TemplSet>
在一个例子中,针对“通过该配置命令查询匹配关系,得到该配置命令对应的删除命令”的过程,可以包括但不限于:从匹配关系的第一组关系集合开始,依次遍历每组关系集合。针对当前遍历出的一组关系集合,比较该配置命令与该组关系集合中的配置命令是否匹配。如果是,将该组关系集合中的删除命令确定为该配置命令对应的删除命令,并结束遍历过程。如果否,继续遍历下一组关系集合,将下一组关系集合确定为当前遍历出的一组关系集合,执行“比较该配置命令与该组关系集合中的配置命令是否匹配”的过程,以此类推。
针对“比较该配置命令(即步骤101确定出的配置命令,后续以配置命令A为例)与该组关系集合中的配置命令是否匹配、将该组关系集合中的删除命令确定为配置命令A对应的删除命令”的过程,假设关系集合只包括配置命令与删除命令的对应关系,则可以约定配置命令在删除命令之前,基于此,可以比较配置命令A与关系集合中的第一条命令是否匹配,如果匹配,说明配置命令A与关系集合中的配置命令匹配,将关系集合中的第二条命令确定为配置命令A对应的删除命令,否则,说明配置命令A与关系集合中的配置命令不匹配。
假设关系集合包括配置命令与删除命令的对应关系、配置命令与第一标识的对应关系、删除命令与第二标识的对应关系,则针对当前遍历出的一组关系集合,可以基于配置命令与第一标识的对应关系、删除命令与第二标识的对应关系、第一标识、第二标识,从该关系集合中确定出配置命令和删除命令,并比较配置命令A与关系集合中的配置命令是否匹配,如果匹配,说明配置命令A与关系集合中的配置命令匹配,将关系集合中的删除命令确定为配置命令A对应的删除命令,否则,说明配置命令A与关系集合中的配置命令不匹配。
在一个例子中,针对匹配关系包括的多组关系集合,所述多组关系集合包括第一类关系集合以及第二类关系集合;其中,第一类关系集合为能够与预设配置命令匹配的集合,第二类关系集合为能够与任意配置命令匹配的通用集合。而且,所述第二类关系集合位于所述第一类关系集合的后面,以在配置命令与第一类关系集合无法匹配时,与第二类关系集合进行匹配。所述第二类关系集合中的配置命令包括参数变量,所述参数变量能与任意字符匹配。
其中,预设配置命令一般即为删除命令是格式特殊的配置命令和/或常用命令,例如,对于下述的情况二以及情况四而言,其删除命令并不是简单的在配置命令前面加undo,因而第一类关系集合中预先设置了一些与特殊的删除命令对应的配置命令。也有一些频繁使用或频繁迁移的配置命令,即常用配置命令,预先设置在第一类关系集合中,从而可以快速匹配到相应的删除命令。
其中,针对“第二类关系集合能够与任意配置命令匹配”,这里的任意是一个相对的任意,不代表第二类关系集合可以与所有的配置命令匹配成功,只是对于大多数配置命令来说,能够与第二类关系集合匹配成功,对此不做限制。
在一个例子中,针对第一类关系集合包括的配置命令和删除命令,可以满足以下条件的任意一种或多种:
配置命令只包括配置项,删除命令只包括配置项,即配置命令不包括参数变量,删除命令不包括参数变量;
配置命令包括配置项和参数变量,删除命令只包括配置项,即配置命令包括参数变量,删除命令不包括参数变量;
配置命令包括配置项和参数变量,删除命令包括配置项和参数变量,即配置命令包括参数变量,删除命令包括参数变量,且删除命令包括的参数变量的数量小于等于配置命令包括的参数变量的数量。
可选的,第一类关系集合中参数变量能与任意字符匹配,但是一般来说,第一类关系集合中的参数变量用于与数字匹配。
在一个例子中,针对第二类关系集合包括的配置命令和删除命令,所述配置命令包括undo和参数变量,所述删除命令包括参数变量;和/或,所述配置命令包括参数变量,所述删除命令包括undo和参数变量。
以下结合几种具体情况对上述关系集合进行详细说明,在下面这几种情况中,情况一至情况四是第一类关系集合的几个示例,实际应用中不局限于此。情况五和情况六是第二类关系集合的几个示例,实际应用中不局限于此。
针对存在参数变量的情况,还可以使用$来代表参数变量。当然,也可以使用其它字符来代表参数变量,对此不做限制,后续过程以使用$来代表参数变量为例。此外,针对配置命令或者删除命令中的“undo”,其具体含义与命令有关,例如,当“undo”后面的命令表示添加某个配置时,则“undo”表示撤销该配置;当“undo”后面的命令表示撤销某个配置时,则“undo”表示添加该配置;当“undo”后面的命令表示使能某个配置时,则“undo”表示去使能该配置;当“undo”后面的命令表示去使能某个配置时,则“undo”表示使能该配置。当然,“undo”也可以有其它含义,只要与后面的命令相反即可。
情况一、配置命令可以只包括配置项,删除命令可以只包括配置项。在如下示例中,关系集合可以包括配置命令“port access vlan”与删除命令“undoport access vlan”的对应关系,使用srcCmd区分出配置命令,使用DestCmd区分出删除命令。而且,“portaccess vlan”是配置命令的配置项,“undo portaccess vlan”是删除命令的配置项。
<TemplSet name="matchCmdInfo"type="match">
<Templ name="srcCmd">port access vlan</Templ>
<Templ name="DestCmd">undo port access vlan</Templ>
</TemplSet>
情况二、配置命令可以包括配置项和参数变量,删除命令可以只包括配置项。在如下示例中,该关系集合可以包括配置命令“management-vlan$”与删除命令“undomanagement-vlan”的对应关系,使用srcCmd区分出配置命令,使用DestCmd区分出删除命令。而且,“management-vlan”是配置命令的配置项,“$”是配置命令的参数变量,“undomanagement-vlan”是删除命令的配置项。
<TemplSet name="matchCmdInfo"type="match">
<Templ name="srcCmd">management-vlan$</Templ>
<Templ name="DestCmd">undo management-vlan</Templ>
</TemplSet>
情况三、配置命令可以包括配置项和参数变量,删除命令可以包括配置项和参数变量,且删除命令包括的参数变量的数量等于配置命令包括的参数变量的数量。在如下示例中,该关系集合可以包括配置命令“acl number$”与删除命令“undo acl number$”的对应关系,使用srcCmd区分出配置命令,使用DestCmd区分出删除命令。“acl number”是配置命令的配置项,“acl number$”的“$”是配置命令的参数变量,“undo acl number”是删除命令的配置项,“undo acl number$”的“$”是删除命令的参数变量。
<TemplSet name="matchCmdInfo"type="match">
<Templ name="srcCmd">acl number$</Templ>
<Templ name="DestCmd">undo acl number$</Templ>
</TemplSet>
情况四、配置命令可包括配置项和参数变量,删除命令可包括配置项和参数变量,且删除命令包括的参数变量的数量小于配置命令包括的参数变量的数量。在如下示例中,该关系集合可以包括配置命令“serial$speed$”与删除命令“undo serial$speed”的对应关系,使用srcCmd区分出配置命令,使用DestCmd区分出删除命令。“serial speed”是配置命令的配置项,“serial$speed$”的“$”是配置命令的参数变量,“undo serial speed”是删除命令的配置项,“undo serial$speed”的“$”是删除命令的参数变量。
<TemplSet name="matchCmdInfo"type="match">
<Templ name="srcCmd">serial$speed$</Templ>
<Templ name="DestCmd">undo serial$speed</Templ>
</TemplSet>
在一个例子中,当配置命令包括参数变量,删除命令包括参数变量时,假设配置命令是serial 1speed 300,则1和300是参数变量。针对情况三,删除命令是undo serial1speed 300,即删除命令包括的参数变量的数量等于配置命令包括的参数变量的数量,这样可以删除“serial 1speed 300”对应的配置。针对情况四,删除命令是undo serial1speed,删除命令包括的参数变量的数量小于配置命令包括的参数变量的数量,这样,可以删除serial 1的所有speed对应的配置,也就可以删除“serial 1speed 300”对应的配置。
情况五、配置命令可以包括undo和参数变量,删除命令可以包括参数变量,即配置命令是undo命令,删除命令是去掉undo。在如下示例中,该关系集合可以包括配置命令“undo$”与删除命令“$”的对应关系,使用srcCmd区分出配置命令,使用DestCmd区分出删除命令。
<TemplSet name="matchCmdInfo"type="match">
<Templ name="srcCmd">undo$</Templ>
<Templ name="DestCmd">$</Templ>
</TemplSet>
情况六、配置命令可以包括参数变量,删除命令可以包括undo和参数变量,即配置命令是一个参数变量,删除命令是在配置命令之前添加undo。在如下示例中,关系集合可以包括配置命令“$”与删除命令“undo$”的对应关系,使用srcCmd区分出配置命令,使用DestCmd区分出删除命令。
<TemplSet name="matchCmdInfo"type="match">
<Templ name="srcCmd">$</Templ>
<Templ name="DestCmd">undo$</Templ>
</TemplSet>
基于上述第一类关系集合和第二类关系集合,针对上述“比较配置命令(即步骤101确定出的配置命令,以配置命令A为例)与第一类关系集合或第二类关系集合中的配置命令(为了方便描述,后续将其称为配置命令B)是否匹配”的过程,可以包括但不限于:
1、当配置命令A只包括配置项时,判断配置命令B是否只包括配置项。如果否,则确定配置命令A与配置命令B不匹配。如果是,则判断配置命令A包括的配置项与配置命令B包括的配置项是否相同;如果相同,则确定配置命令A与配置命令B匹配;如果不同,则确定配置命令A与配置命令B不匹配。
2、当配置命令A包括配置项和参数值(即具体数值,如100等)时,判断配置命令B是否包括配置项和参数变量。如果否,则确定配置命令A与配置命令B不匹配。如果是,则判断配置命令A包括的配置项与配置命令B包括的配置项是否相同;如果不同,则确定配置命令A与配置命令B不匹配;如果相同,则当配置命令A包括的参数值与配置命令B包括的参数变量匹配(通常情况下,任意参数值均可以与参数变量$匹配)时,则确定配置命令A与配置命令B匹配。
3、当配置命令A包括undo和字符串(该字符串可以为配置项和参数值,也可以为配置项,还可以为参数值,对此字符串不做限制,如management-vlan、acl number$等)时,判断配置命令B是否包括undo和参数变量(上述情况五包括undo和参数变量)。如果否,则确定配置命令A与配置命令B不匹配。如果是,则确定配置命令A与配置命令B匹配。而且,在此情况下,从上述情况五可以看出,与配置命令A对应的删除命令也就是配置命令A中的字符串。
4、当配置命令A包括字符串(该字符串可以为配置项和参数值,也可以为配置项,还可以为参数值,对此字符串不做限制,如management-vlan、acl number$等)时,判断配置命令B是否包括参数变量(上述情况六包括参数变量)。如果否,则确定配置命令A与配置命令B不匹配。如果是,则确定配置命令A与配置命令B匹配。而且,在此情况下,从上述情况六可以看出,与配置命令A对应的删除命令也就是undo和配置命令A中的字符串。
综上所述,基于情况五的关系集合以及情况六的关系集合,针对某个配置命令,即使没有在匹配关系中记录该配置命令对应的删除命令,该配置命令也可以匹配到情况五的关系集合或者情况六的关系集合,因此,针对所有配置命令,均可以命中匹配关系中的某个关系集合。而且,考虑到情况五的关系集合以及情况六的关系集合是两组通用关系集合,因此,可以将情况五的关系集合以及情况六的关系集合放到匹配关系的最后两组,这样,针对某个配置命令,如果在匹配关系中记录有该配置命令对应的删除命令,则可以先查询到该删除命令,如果在匹配关系中没有记录该配置命令对应的删除命令,则可以基于情况五的关系集合或者情况六的关系集合,确定该配置命令对应的删除命令。
在一个例子中,在获得待删除配置对应的配置命令后,只需要从匹配关系的第一组关系集合开始,从上到下依次进行匹配即可,直到匹配成功为止。这样,针对所有待删除配置对应的配置命令,不管是何种业务,都会采用相同流程进行处理,不用区分业务类型,极大的降低了繁琐度,简化删除配置的操作。
具体的,在传统方式中,不同业务类型可能采用不同的删除命令结构,例如,业务类型A采用结构1,业务类型B采用结构2。基于此,假设是业务类型A的配置命令,则需要用户为该配置生成一个结构1的删除命令,假设是业务类型B的配置命令,则需要用户为该配置生成一个结构2的删除命令。基于此,用户在生成删除命令时,需要先区分业务类型,在确定该业务类型采用的结构,然后才能够生成该结构的删除命令,例如,假设需要生成100条删除命令,先是生成一个针对业务类型A的删除命令,然后生成一个针对业务类型B的删除命令,然后又生成一个针对业务类型A的删除命令,以此类推。上述方式需要用户反复确定业务类型以及结构,用户处理繁琐,操作复杂度很高,工作量大。
与上述方式不同的是,本申请实施例中,在获得待删除配置对应的配置命令后,针对每个配置命令,均不用区分该配置命令的业务类型,可以直接从匹配关系的第一组关系集合开始,从上到下依次进行匹配即可,直到匹配成功为止。这样,可以极大的降低繁琐度,简化删除配置的操作,降低用户工作量。
在一个例子中,网管设备还可以根据用户需求对匹配关系进行调整,如在匹配关系中增加新的关系集合或者删除已有的关系集合,在这一过程中,配置管理方法的流程并不需要改动,从而极大的提升了网管系统的可扩展性。
步骤103,将删除命令(即步骤102中得到的删除命令)发送给网络设备,以使该网络设备利用该删除命令删除本网络设备上的待删除配置。
在一个例子中,若待删除配置的数量为一个,则可以得到一个删除命令,并直接将该一个删除命令发送给网络设备,或者,也可以将该一个删除命令添加到undo命令集中,并将该undo命令集发送给网络设备。
若待删除配置的数量为至少两个,则可以得到至少两个删除命令,每个待删除配置对应一个删除命令。基于此,针对至少两个待删除配置中的每个待删除配置,网管设备还可以将该待删除配置对应的配置命令对应的删除命令添加到undo命令集中,即将所述至少两个待删除配置对应的配置命令对应的删除命令添加到undo命令集中。进一步的,针对将删除命令发送给网络设备的过程,可以包括:在将所述至少两个待删除配置对应的配置命令(即步骤101中获取到所有删除配置对应的配置命令)对应的删除命令均添加到undo命令集后,将该undo命令集发送给网络设备,以使网络设备利用undo命令集中的每个删除命令删除本网络设备上的待删除配置,从而删除所述至少两个待删除配置。
基于上述技术方案,本申请实施例中,通过维护配置命令与删除命令的对应关系,可以查询到待删除配置对应的配置命令对应的删除命令,而不需要由用户为待删除配置生成删除命令,即不需要用户手工生成删除命令,减轻用户工作量,避免使用错误的删除命令。而且,即使待删除配置的数量比较多,针对每个待删除配置,可以采用相同流程处理,降低了处理的繁琐度。
以下结合具体应用场景,对本申请实施例的上述技术方案进行详细说明。
本应用场景下,以网管设备进行业务(如VPN(Virtual Private Network,虚拟专用网络)业务、SAN(Storage Area Network,存储区域网络)业务等)迁移操作为例,例如,将网络设备A的接口1的配置迁移到网络设备B的接口2。在上述应用场景下,该配置管理方法可以包括以下步骤:
步骤1、网管设备获取网络设备A的接口1下的配置文件X。其中,配置文件X包括针对网络设备A的接口1的所有配置(即待删除配置)的配置命令。举例来说,配置文件X可以为“deviceAInterface.cfg”。
步骤2、获取包含匹配关系的配置文件。
其中包含匹配关系的配置文件可以为XML类型的配置文件。可选的,可以根据“srcCmd”和“DestCmd”解析出该XML配置文件中的配置命令及其对应的删除命令,即匹配关系。
步骤3、网管设备将配置文件X中的所有配置命令确定为待删除配置对应的配置命令。假设配置文件X包括配置命令1-配置命令100,则针对这100个配置命令执行步骤4-步骤7,为了方便描述,以配置命令1为例进行说明。
步骤4、网管设备比较配置命令1与匹配关系中的配置命令是否匹配。针对当前遍历出的一组关系集合,如果否,执行步骤5;如果是,执行步骤6。
步骤5、网管设备继续遍历下一组关系集合,并将遍历出的下一组关系集合确定为当前遍历出的一组关系集合,并返回执行步骤4。
其中,网管设备可以从匹配关系的第一组关系集合开始,依次遍历每组关系集合,对此遍历过程不再赘述。例如,网管设备先遍历出第一组关系集合,执行步骤4,若配置命令1与第一组关系集合的配置命令不匹配,则遍历出第二组关系集合,执行步骤4,若配置命令1与第二组关系集合的配置命令不匹配,则遍历出第三组关系集合,执行步骤4,以此类推,后续不再进行赘述。
步骤6、网管设备将该组关系集合中的删除命令(假设为删除命令1)确定为该配置命令1对应的删除命令,并结束遍历过程。然后,执行步骤7。
步骤7、网管设备将删除命令1添加到undo命令集中。
在针对配置命令1-配置命令100执行步骤4-步骤7后,可以将配置命令1-配置命令100对应的删除命令均添加到undo命令集中,这样,该undo命令集中可以包括100个删除命令。然后,执行步骤8。
步骤8、网管设备将该undo命令集发送给网络设备A。
步骤9、网络设备A利用该undo命令集中的100个删除命令,从本网络设备A上删除这100个删除命令对应的待删除配置,对此删除过程不再赘述。
步骤10、网管设备将配置文件X发送给网络设备B。其中,步骤10与步骤4-步骤9之间的每个步骤都没有先后顺序关系,只是以上述顺序为例进行说明。步骤10之后,执行步骤10。
步骤11、网络设备B利用配置文件X中的配置命令1-配置命令100,在本网络设备B的接口B上下发所述配置命令1-配置命令100分别对应的配置。
至此,完成将网络设备A的接口1的配置迁移到网络设备B的接口2。
基于上述技术方案,本申请实施例中,通过维护配置命令与删除命令的对应关系,可以查询到待删除配置对应的配置命令对应的删除命令,而不需要由用户为待删除配置生成删除命令,即不需要用户手工生成删除命令,减轻用户工作量,避免使用错误的删除命令。而且,即使待删除配置的数量比较多,针对每个待删除配置,可以采用相同流程处理,降低了处理的繁琐度。
基于与上述方法同样的申请构思,本申请实施例中还提供了一种配置管理装置,该配置管理装置应用在网管设备上。其中,该配置管理装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的网管设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图2所示,为本申请提出的配置管理装置所在的网管设备的一种硬件结构图,除了图2所示的处理器、非易失性存储器外,网管设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该网管设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图3所示,为本申请提出的配置管理装置的结构图,所述装置包括:
获取模块11,用于获取待删除配置对应的配置命令;
查询模块12,用于通过所述配置命令查询匹配关系,得到所述配置命令对应的删除命令;其中,所述匹配关系用于记录配置命令与删除命令的对应关系;
发送模块13,用于将所述删除命令发送给网络设备,以使所述网络设备利用所述删除命令删除所述网络设备上的所述待删除配置。
在一个例子中,所述匹配关系包括多组关系集合;针对每组关系集合,包括配置命令与删除命令的对应关系、配置命令与第一标识的对应关系、删除命令与第二标识的对应关系;所述第一标识用于指示对应的命令为配置命令,所述第二标识用于指示对应的命令为删除命令。
在一个例子中,所述匹配关系包括多组关系集合,在通过所述配置命令查询匹配关系,得到所述配置命令对应的删除命令的过程中,所述查询模块12具体用于:从所述匹配关系的第一组关系集合开始,依次遍历每组关系集合;
针对当前遍历出的一组关系集合,比较所述配置命令与该组关系集合中的配置命令是否匹配;如果是,将该组关系集合中的删除命令确定为所述配置命令对应的删除命令,并结束遍历过程;如果否,继续遍历下一组关系集合。
在一个例子中,所述匹配关系包括多组关系集合,所述多组关系集合包括第一类关系集合和第二类关系集合;其中,所述第一类关系集合为能够与预设配置命令匹配的集合,所述第二类关系集合为能够与任意配置命令匹配的通用集合;所述第二类关系集合位于所述第一类关系集合的后面,以在配置命令与第一类关系集合无法匹配时,与第二类关系集合进行匹配。
在一个例子中,所述第二类关系集合中的配置命令包括参数变量,所述参数变量能与任意字符匹配。
所述查询模块12,还用于当待删除配置的数量为至少两个时,针对至少两个待删除配置中的每个待删除配置,将该待删除配置对应的配置命令对应的删除命令添加到undo命令集中;
所述发送模块13,具体用于在所述查询模块12将所述至少两个待删除配置对应的删除命令均添加到undo命令集后,将所述undo命令集发送给网络设备。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可以采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本申请可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种配置管理方法,其特征在于,所述方法包括:
获取待删除配置对应的配置命令;
通过所述配置命令查询匹配关系,得到所述配置命令对应的删除命令;其中,所述匹配关系用于记录配置命令与删除命令的对应关系;
将所述删除命令发送给网络设备,以使所述网络设备利用所述删除命令删除所述网络设备上的所述待删除配置;
其中,所述匹配关系包括多组关系集合;针对每组关系集合,包括配置命令与删除命令的对应关系、配置命令与第一标识的对应关系、删除命令与第二标识的对应关系;所述第一标识用于指示对应的命令为配置命令,所述第二标识用于指示对应的命令为删除命令。
2.根据权利要求1所述的方法,其特征在于,所述通过所述配置命令查询匹配关系,得到所述配置命令对应的删除命令的过程,具体包括:
从所述匹配关系的第一组关系集合开始,依次遍历每组关系集合;
针对当前遍历出的一组关系集合,比较所述配置命令与该组关系集合中的配置命令是否匹配;如果是,将该组关系集合中的删除命令确定为所述配置命令对应的删除命令,并结束遍历过程;如果否,继续遍历下一组关系集合。
3.根据权利要求1或2所述的方法,其特征在于,所述多组关系集合包括第一类关系集合以及第二类关系集合;
其中,所述第一类关系集合为能够与预设配置命令匹配的集合,所述第二类关系集合为能够与任意配置命令匹配的通用集合;
所述第二类关系集合位于所述第一类关系集合的后面,以在配置命令与第一类关系集合无法匹配时,与第二类关系集合进行匹配。
4.根据权利要求3所述的方法,其特征在于,所述第二类关系集合中的配置命令包括参数变量,所述参数变量能与任意字符匹配。
5.根据权利要求1所述的方法,其特征在于,
若待删除配置的数量为至少两个,所述通过所述配置命令查询匹配关系,得到所述配置命令对应的删除命令之后,所述方法还包括:
针对至少两个待删除配置中的每个待删除配置,将该待删除配置对应的配置命令对应的删除命令添加到undo命令集中;
所述将所述删除命令发送给网络设备的过程,具体包括:
在将所述至少两个待删除配置对应的删除命令均添加到undo命令集后,将所述undo命令集发送给网络设备。
6.一种配置管理装置,其特征在于,所述装置包括:
获取模块,用于获取待删除配置对应的配置命令;
查询模块,用于通过所述配置命令查询匹配关系,得到所述配置命令对应的删除命令;其中,所述匹配关系用于记录配置命令与删除命令的对应关系;
发送模块,用于将所述删除命令发送给网络设备,以使所述网络设备利用所述删除命令删除所述网络设备上的所述待删除配置;
其中,所述匹配关系包括多组关系集合;针对每组关系集合,包括配置命令与删除命令的对应关系、配置命令与第一标识的对应关系、删除命令与第二标识的对应关系;所述第一标识用于指示对应的命令为配置命令,所述第二标识用于指示对应的命令为删除命令。
7.根据权利要求6所述的装置,其特征在于,
在通过所述配置命令查询匹配关系,得到所述配置命令对应的删除命令的过程中,所述查询模块具体用于:
从所述匹配关系的第一组关系集合开始,依次遍历每组关系集合;
针对当前遍历出的一组关系集合,比较所述配置命令与该组关系集合中的配置命令是否匹配;如果是,将该组关系集合中的删除命令确定为所述配置命令对应的删除命令,并结束遍历过程;如果否,继续遍历下一组关系集合。
8.根据权利要求6或7所述的装置,其特征在于,所述多组关系集合包括第一类关系集合和第二类关系集合;
其中,所述第一类关系集合为能够与预设配置命令匹配的集合,所述第二类关系集合为能够与任意配置命令匹配的通用集合;
所述第二类关系集合位于所述第一类关系集合的后面,以在配置命令与第一类关系集合无法匹配时,与第二类关系集合进行匹配。
9.根据权利要求8所述的装置,其特征在于,所述第二类关系集合中的配置命令包括参数变量,所述参数变量能与任意字符匹配。
10.根据权利要求6所述的装置,其特征在于,所述查询模块,还用于当待删除配置的数量为至少两个时,针对至少两个待删除配置中的每个待删除配置,将该待删除配置对应的配置命令对应的删除命令添加到undo命令集中;
所述发送模块,具体用于在所述查询模块将所述至少两个待删除配置对应的删除命令均添加到undo命令集后,将所述undo命令集发送给网络设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710055252.8A CN106878068B (zh) | 2017-01-24 | 2017-01-24 | 一种配置管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710055252.8A CN106878068B (zh) | 2017-01-24 | 2017-01-24 | 一种配置管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106878068A CN106878068A (zh) | 2017-06-20 |
CN106878068B true CN106878068B (zh) | 2020-05-12 |
Family
ID=59158998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710055252.8A Active CN106878068B (zh) | 2017-01-24 | 2017-01-24 | 一种配置管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106878068B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347592A (zh) * | 2019-06-26 | 2019-10-18 | 武汉思普崚技术有限公司 | 一种防火墙的测试条目配置方法、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1696905A (zh) * | 2001-11-06 | 2005-11-16 | 佳能株式会社 | 动态网络设备重新配置方法及设备 |
CN101141467A (zh) * | 2007-10-31 | 2008-03-12 | 杭州华三通信技术有限公司 | 配置方法及系统 |
CN101163043A (zh) * | 2007-11-08 | 2008-04-16 | 华为技术有限公司 | 一种网络管理功能配置方法以及网络管理功能配置系统 |
CN102215120A (zh) * | 2010-07-29 | 2011-10-12 | 中兴通讯股份有限公司 | 一种网元内数据处理方法和系统 |
CN103500191A (zh) * | 2013-09-17 | 2014-01-08 | 华为技术有限公司 | 一种流表配置、查询、表项删除方法及装置 |
CN103500103A (zh) * | 2013-10-25 | 2014-01-08 | 乐视网信息技术(北京)股份有限公司 | 一种合作配置管理的方法及装置 |
CN103838589A (zh) * | 2012-11-20 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 一种插件删除、恢复方法及客户端 |
CN104378449A (zh) * | 2014-12-09 | 2015-02-25 | 飞天诚信科技股份有限公司 | 一种虚拟ip的实现方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103812823B (zh) * | 2012-11-07 | 2017-10-10 | 华为技术有限公司 | 虚拟机热迁移时配置信息迁移的方法、设备及系统 |
CN104679772B (zh) * | 2013-11-29 | 2019-01-25 | 深圳市腾讯计算机系统有限公司 | 分布式数据仓库中删除文件的方法、装置、设备及系统 |
-
2017
- 2017-01-24 CN CN201710055252.8A patent/CN106878068B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1696905A (zh) * | 2001-11-06 | 2005-11-16 | 佳能株式会社 | 动态网络设备重新配置方法及设备 |
CN101141467A (zh) * | 2007-10-31 | 2008-03-12 | 杭州华三通信技术有限公司 | 配置方法及系统 |
CN101163043A (zh) * | 2007-11-08 | 2008-04-16 | 华为技术有限公司 | 一种网络管理功能配置方法以及网络管理功能配置系统 |
CN102215120A (zh) * | 2010-07-29 | 2011-10-12 | 中兴通讯股份有限公司 | 一种网元内数据处理方法和系统 |
CN103838589A (zh) * | 2012-11-20 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 一种插件删除、恢复方法及客户端 |
CN103500191A (zh) * | 2013-09-17 | 2014-01-08 | 华为技术有限公司 | 一种流表配置、查询、表项删除方法及装置 |
CN103500103A (zh) * | 2013-10-25 | 2014-01-08 | 乐视网信息技术(北京)股份有限公司 | 一种合作配置管理的方法及装置 |
CN104378449A (zh) * | 2014-12-09 | 2015-02-25 | 飞天诚信科技股份有限公司 | 一种虚拟ip的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106878068A (zh) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902313B2 (en) | Dynamic hierarchical tagging system and method | |
CN110447035B (zh) | 结构化用户数据文件中用户内容模糊 | |
US20170279840A1 (en) | Automated event id field analysis on heterogeneous logs | |
US9864876B2 (en) | Live editing and publishing of documents within a content management system using a hybrid draft authorization workflow | |
CN102968498A (zh) | 数据处理方法及装置 | |
CN104317928A (zh) | 一种基于分布式数据库的业务etl方法及系统 | |
US11811839B2 (en) | Managed distribution of data stream contents | |
US11275795B2 (en) | System and method for in-place record content management | |
CN105635311A (zh) | 一种云管理平台中资源池信息同步的方法 | |
CN107291768B (zh) | 一种索引建立的方法及装置 | |
CN108205623A (zh) | 用于共享目录的方法和装置 | |
CN106909595A (zh) | 一种数据迁移方法及装置 | |
CN105095425A (zh) | 一种数据库的跨库结转方法及装置 | |
CN108073352A (zh) | 虚拟磁盘处理方法及装置 | |
CN110597821B (zh) | 数据仓库表结构变更方法及装置 | |
CN106878068B (zh) | 一种配置管理方法和装置 | |
CN107181773A (zh) | 分布式存储系统的数据存储及数据管理方法、设备 | |
CN109947739B (zh) | 数据源管理方法及装置 | |
US8909875B1 (en) | Methods and apparatus for storing a new version of an object on a content addressable storage system | |
US20180322187A1 (en) | Dynamic alternate keys for use in file systems utilizing a keyed index | |
CN113515387B (zh) | 数据处理方法、装置及电子装置 | |
CN104991963B (zh) | 文件处理方法和装置 | |
CN111211966B (zh) | 一种用于存储聊天工具中传输文件的方法及系统 | |
CN109976897A (zh) | 一种大数据集群的部署方法、数据交互方法及对应装置 | |
CN110442604B (zh) | 数据流向查询方法、抽取方法、处理方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |