一种下发命令的方法和系统的制作方法

文档序号:7629326阅读:195来源:国知局
专利名称:一种下发命令的方法和系统的制作方法
技术领域
本发明涉及网络管理技术,特别是涉及一种在网络部署时下发命令的方法和系统。
背景技术
在进行网络部署时,网络管理人员需要向网络中的各个设备下发命令,包括配置命令和撤消命令,其中,配置命令用于使各个设备执行数据配置过程,撤消命令用于使各个设备撤消已进行的数据配置。比如,网络管理人员通过向网络中的各个设备下发配置命令指定各个设备所使用的报文封装方式和加密算法等。
目前所采用的一种下发命令的方式是预先为每一种命令行格式的部署业务分别配置对应的网管系统;当需要针对一个设备下发命令时,网络管理人员首先获取当前设备所支持的命令行格式信息,然后进入到当前设备所支持命令行格式的部署业务对应的网管系统中,并通过当前所进入网管系统提供的可视化界面输入对当前设备的配置参数,当前网管系统根据所输入的配置参数形成具体的命令,将所生成的命令下发到当前的设备上。
由以上描述可以看出,在现有技术中,在下发命令时,网络管理人员必须根据当前所需配置设备的信息获取当前设备所支持的命令行格式,并需根据当前设备所支持的命令行格式查找并进入到对应的网管系统中,然后才能实现后续的下发命令的过程。然而,由于网络中的设备通常由不同厂商的设备所组成,并且同一厂商的设备也可能存在各种不同的版本,而不同厂商的设备以及同一厂商不同版本的设备所支持的命令行格式通常是不相同的,这样,对应于支持每一种命令行格式部署业务的设备均存在一个网管系统,相应地,网络管理人员对支持不同命令行格式部署业务的不同设备必须分别下发命令,也就是说,当对支持一种命令行格式的设备下发命令时,网络管理人员必须查找并进入到该种命令行格式部署业务所对应的网管系统中,然后执行输入配置参数的过程;当对支持其它命令行格式部署业务的设备下发命令时,网络管理人员必须分别查找并进入到该其它命令行格式部署业务所分别对应的网管系统中,然后才能执行输入配置参数的过程。由此可见,在现有技术中,网络管理人员所进行的下发命令的过程是针对每一种命令行格式的部署业务分别进行开发的过程,从而为网络管理人员的下发命令操作带来极大的不便,并大大增加了对网络设备下发命令的业务实现周期,增加了业务实现的成本。

发明内容
有鉴于此,本发明的主要目的在于提供一种下发命令的方法,本发明的另一目的在于提供一种下发命令的系统,以便于网络管理人员对支持不同命令行格式的设备下发命令。
为了达到上述目的,本发明的技术方案是这样实现的一种下发命令的方法,包括以下步骤A、为每一种命令行格式设置对应的配置文件,该配置文件中包括其对应命令行格式部署业务使用的命令语句;B、系统获取网络管理人员输入的配置信息,根据该配置信息获取当前的命令行格式,并获取当前命令行格式所对应的配置文件;C、系统根据接收到的配置信息和所获取配置文件中的命令语句生成命令,并将所生成的命令下发到对应的设备上。
所述配置信息中包括所述设备的信息;在步骤B中,所述根据配置信息获取当前命令行格式的步骤包括根据配置信息中所述设备的信息获取当前的命令行格式。
在步骤A中,所设置的每一个配置文件中包括该配置文件对应的命令行格式信息;在步骤B中,所述获取当前命令行格式所对应的配置文件的步骤包括在各配置文件中查找当前命令行格式的信息,然后获取所查找到命令行格式信息所在的配置文件。
所述步骤A进一步包括为所设置的每一个配置文件设置对应的标识,并设置每一个配置文件的标识与该配置文件所对应命令行格式的对应关系;在步骤B中,所述获取当前命令行格式所对应的配置文件的步骤包括根据所设置的每一个配置文件的标识与命令行格式的对应关系,得到与当前命令行格式对应的配置文件的标识,根据所得到的配置文件的标识获取对应配置文件。
所述步骤A包括A1、针对一种命令行格式部署业务中使用的命令语句,将其中在实现每一个业务操作时有关联且不可分割使用的各个命令语句设置为一个命令语句组,并为每一个命令语句组设置一个标识;A2、根据每一种业务类型所分别使用的命令语句,设置每一种业务类型分别对应的各命令语句组及其执行顺序,并将对应于每一种业务类型的各命令语句组及其执行顺序分别设置为一个功能组,并为每一个功能组设置一个标识,然后设置每一个功能组的标识与业务类型的对应关系;A3、将在当前命令格式下所设置的各个命令语句组及其标识、各个功能组及其标识、以及各功能组标识与业务类型的对应关系,组成对应于当前命令格式的配置文件;A4、重复执行步骤A1至步骤A3,直至为所有的命令行格式分别设置出对应的配置文件;所述配置信息中包括需配置的当前业务类型的信息以及需配置变量的名称及其取值;在步骤C中,所述生成命令的步骤包括C1、在所获取的配置文件中,根据各功能组的标识与业务类型的对应关系,查找到对应于当前业务类型的功能组;C2、根据所查找到功能组中顺序设置的各个命令语句组的标识,依次获取每个命令语句组中包含的所有命令语句;C3、根据配置信息中各个变量的名称及其取值,将所获取的所有命令语句中包括的各变量的名称替换为该变量对应的取值。
该方法进一步包括设置顺序结构、选择结构和循环结构;在步骤A1中,所述设置命令语句组的步骤包括在所述实现每一个业务操作时有关联且不可分割使用的各个命令语句中,设置必定存在的命令语句以顺序结构出现,设置根据配置参数可选存在的命令语句以选择结构出现,设置必定存在且根据配置参数确定执行次数的命令语句以循环结构出现,将以顺序结构、选择结构和循环结构出现的各个命令语句设置为一个命令语句组;在步骤C2中,所述获取命令语句组中包含的所有命令语句的步骤包括获取命令语句组中所有以顺序结构出现的命令语句,根据配置参数获取以选择结构出现的命令语句,获取以循环结构出现的命令语句,并根据配置参数确定获取以循环结构出现的命令语句的次数。
当所述命令语句为撤消配置的命令语句时,所述配置文件为撤消配置的配置文件,所生成并下发的命令为撤消命令;当所述命令语句为实现配置的命令语句时,所述配置文件为实现配置的配置文件,所生成并下发的命令为配置命令。
该方法进一步包括设置所有命令行格式对应的所有正确回显内容和错误回显内容;在步骤C中,所生成并下发的命令为配置命令;在步骤C之后进一步包括所述设备根据接收到的配置命令执行数据配置过程,并向所述系统返回配置结果;系统根据所设置的所有命令行格式对应的所有正确回显内容和错误回显内容,判断所述设备返回的是正确回显内容还是错误回显内容,并将所判断出的正确回显内容或错误回显内容进行显示。
一种下发命令的系统,该系统包括转换单元、生成单元和部署单元,其中,转换单元,用于获取网络管理人员输入的配置信息,并将所获取的配置信息转换为生成单元所需的参数格式,然后将具有转换后参数格式的配置信息输出至生成单元;生成单元,用于接收转换单元发来的具有转换后参数格式的配置信息,根据该具有转换后参数格式的配置信息获取当前的命令行格式,并根据该当前的命令行格式获取对应的配置文件,并且,生成单元根据接收到的具有转换后参数格式的配置信息和所获取配置文件中的命令语句生成命令,并将所生成的命令输出至部署单元;部署单元,用于接收生成单元发来的命令,并将所接收到的命令下发到对应的设备上。
所述生成单元,用于生成实现配置的配置命令或者撤消配置的撤消命令,并将所生成的配置命令或者撤消命令输出至部署单元;所述部署单元,用于将接收到的配置命令或者撤消命令下发到对应的设备上。
所述部署单元,进一步用于接收设备返回的回显内容,并在判断出设备返回的是正确回显内容后向网络管理人员显示配置成功的信息,以及在判断出设备返回的是错误回显内容向网络管理人员显示配置失败的信息。
可见,本发明具有以下优点1、本发明采用通用的方式来实现下发命令,包括配置命令和撤消命令。也就是说,在针对支持任意一种命令行格式的设备下发命令时,网络管理人员只需进入到一个统一的网管用户界面中向系统输入对当前设备当前业务类型的具体配置参数,而无需考虑当前设备所支持的命令行格式。可见,网络管理人员所进行的下发命令的过程是无需区分命令行格式的统一开发过程,从而为网络管理人员的部署工作带来极大的方便,并大大减少了对网络设备下发命令的业务实现周期,降低了业务的实现成本。
2、本发明能够采用相同的方式和系统来实现不同厂商以及同一厂商不同版本设备的业务部署过程,也就是说很容易支持多厂商设备,因此使得本发明具有极强的实用性。
3、本发明采用命令语句组Action和功能组Function来组织配置内容,使得对应于每一种命令行格式的配置具有较好的可维护性,便于完成功能扩展。例如当需要实现新的功能时,只需要定义新的Action和Function即可完成新增功能。
4、由于本发明设置了撤消配置对应的Action和Function,因此,当设备的数据配置过程失败时,本发明能够通过下发撤消命令,使设备清除已完成的数据配置,恢复到未进行当前配置的原始状态,因此,本发明提供了较好的容错机制,大大增强了网络部署业务的实现灵活性。


图1是本发明系统的基本结构示意图。
图2是在本发明实施例中下发配置命令的流程图。
图3是在本发明实施例中针对一种命令行格式设置对应配置文件的流程图。
图4是在本发明实施例中显示配置结果的流程图。
图5是在本发明实施例中下发撤消命令的流程图。
具体实施例方式
在现有技术中,网络管理人员针对每一种命令行格式的部署业务必须分别进行下发命令的操作,也就是说,下发命令的操作必须分别针对不同厂商的设备以及同一厂商不同版本的设备,因此,导致下发命令过程的通用性较差,为网络管理人员带来极大的不便。针对这一缺点,本发明提出了一种下发命令的方法,其核心思想是对每一种命令行格式分别设置对应的配置文件,该配置文件中包括其对应命令行格式的部署业务中使用的所有命令语句;系统接收网络管理人员输入的配置信息,根据该配置信息获取当前的命令行格式,并根据该当前的命令行格式获取对应的配置文件;系统根据接收到的配置信息和所获取配置文件中的命令语句生成命令,并将所生成的命令下发到对应的设备上。
图1是本发明系统的基本结构示意图。参见图1,本发明相应地还提出了一种下发命令的系统,该系统包括转换单元、生成单元和部署单元,其中,转换单元,用于接收网络管理人员通过网管用户界面输入的配置信息,并将接收到的配置信息转换为生成单元所需的参数格式,然后将具有转换后参数格式的配置信息输出至生成单元;生成单元,用于接收转换单元发来的具有转换后参数格式的配置信息,根据该具有转换后参数格式的配置信息获取当前的命令行格式,并根据该当前的命令行格式获取对应的配置文件,并且,生成单元根据接收到的具有转换后参数格式的配置信息和所获取配置文件中的命令语句生成命令,并将所生成的命令输出至部署单元;部署单元,用于接收生成单元发来的命令,并将所接收到的命令下发到对应的设备上。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
图2是在本发明实施例中下发配置命令的流程图。参见图1和图2,利用本发明系统,本发明方法实现下发配置命令的过程具体包括以下步骤步骤201预先为每一种命令行格式设置对应的配置文件。
这里,所设置的每一个配置文件中均包括其对应命令行格式的部署业务中使用的命令语句。并且,每一种命令行格式对应的配置文件区分为实现配置的配置文件和撤消配置的配置文件,也就是说,实现配置的配置文件中包括的是用于实现配置的命令语句,撤消配置的配置文件中包括的是用于撤消配置的命令语句。
图3是在本发明实施例中针对一种命令行格式设置对应配置文件的流程图。参见图3,在针对一种命令行格式,比如命令行格式1,设置对应的配置文件时,具体的实体过程包括以下步骤步骤301针对命令行格式1部署业务中使用的所有实现配置的命令语句,将其中在实现每一个配置操作时有关联且不可分割使用的各个命令语句分别设置为一个命令语句组进行保存,并为每一个命令语句组设置一个标识。
这里,在对设备进行一个配置操作时,需要下发许多命令语句,其中,有些命令语句是有关联且不可分割使用的,这些命令语句处于同一个上下文中,形成一个整体。因此,为了便于后续过程中的配置,本发明将在实现一个配置操作时有关联且不可分割使用的各个命令语句设置为一个命令语句组进行保存,所设置的唯一标识可以是该命令语句组的名称。为便于描述,以下将所设置的命令语句组统称为Action,相应地,为命令语句组所设置的标识可以是为Action所定义的名称。比如,在命令行格式1的部署业务中,配置一个IPSec安全提议时必须使用以下的命令语句ipsec proposal**encapsulation-mode**transform**esp encryption-algorithm**esp authentication-algorithm**quit在上述命令语句中,符号“**”是由具体配置操作,即根据网络管理人员输入的配置信息所确定的值。由于在配置一个IPSec安全提议时上述命令语句是有关联且不可分割使用的,因此,本发明则可将上述的命令语句设置为一个Action,并设置该Action的唯一标识,比如该Action的名称。
另外,在将有关联且不可分割使用的各个命令语句设置为一个命令语句组Action时,由于每一个具体配置任务所需命令语句数目的不同、命令语句之间依赖关系的不同,导致Action中所包含的一些命令语句在很多情况下是动态存在的。比如,在配置静态路由时,配置的条数是动态变化的,可能配置一条或多条,甚至不进行配置。又如,在配置IPSec安全提议所采用的协议时,如果配置的是报文头验证(AH)协议,则还需要命令语句来配置AH协议的验证算法;如果配置的是封装安全载荷(ESP)协议,则还需要命令来配置ESP协议的验证算法和加密算法;如果配置的是AH-ESP协议,则还需要命令语句来分别配置AH协议的验证算法、ESP协议的验证算法和加密算法。可见,在形成一个Action时,Action中的一些命令语句是动态存在的,也就是说,在具体下发过程中,Action中的此种命令语句根据实际配置的要求可以下发也可以不下发,可以结合具体的参数值下发一次或多次。为了满足Action中语句的动态存在要求,本发明在每一个Action中设置了顺序结构<CMD>、选择结构<IF>和循环结构<FOR>三种,其中,顺序结构<CMD>表示一条基本命令语句,是最小单位,也就是说该顺序结构<CMD>中的命令语句是Action中必须存在并执行的语句,且只能被执行一次;选择结构<IF>中的命令语句表示,如果根据网络管理人员输入的配置信息确定符合选择的条件,则当前Action中包括并需执行选择结构<IF>结构中的命令语句,否则,当前Action中不包括且无需执行选择结构<IF>中的命令语句;循环结构<FOR>结构中的命令语句表示,循环结构<FOR>中的命令语句是Action中必须存在并执行的语句,且需根据网络管理人员所输入的配置信息决定循环结构<FOR>结构中的命令语句被重复执行的次数。
比如,配置一个IPSec安全提议的Action可以设置为如下形式<Action name=″DefineIPSecProposal″model=″1″>
<FOR i=″$IPSecProposal.count″>
<CMD txt=″ipsec proposal$IPSecProposalName[i]″/>
<CMD txt=″encapsulation-mode$EncapMode[i]″/>
<CMD txt=″transform$IPSecProtocol[i]″/>
<IF lett=″$IPSecProtocol[i]″right=″esp″operator=″==″>
<CMD txt=″esp encryption-algorithm$EspEncryAlgorithm[i]″/>
<CMD txt=″esp authentication-algorithm$EspAuthAlgorithm[i]″/>
</IF>
<IF left=″$IPSecProtocol[i]″right=″ah″operator=″==″>
<CMD txt=″ah authentication-algorithm$AhAuthAlgorithm[i]″/>
</IF>
<IF left=″$IPSecProtocol[i]″right=″ah-esp″operator=″==″>
<CMD txt=″esp encryption-algorithm$EspEncryAlgorithm[i]″/>
<CMD txt=″esp authentication-algorithm$EspAuthAlgorithm[i]″/>
<CMD txt=″ah authentication-algorithm$AhAuthAlgorithm[i]″/>
</IF>
<CMD txt=″quit″/>
</FOR>
</Action>
如上所示,上述Action定义的第一行表示这是一个名称为“DefineIPSecProposal”的Action,model=″1”表示需要进入到特定子命令模式下。本发明为每一个所设置的Action定义不同的名称,以避免重复,并保证通过名称可使用共用的Action,便于业务复用。在Action定义的开始和结束之间是Action所包含的所有命令语句行,用顺序结构<CMD>、选择结构<IF>和循环结构<FOR>表示。其中,符号“$”表示需要根据网络管理人员输入的配置信息所确定的变量值。对于选择结构,使用<IF left=″**″right=″**″operator=″*″>…</IF>对来实现,其中left为由网络管理人员输入的配置信息所确定的变量值,right为比较常量,operator包括==,<>,>,<等关系操作符,从而完整的实现选择结构。对于循环结构使用<FORi=″$**.count″>…</For>对来实现,其中“$**.count”用于表示变量的循环次数,在循环体中的具体变量值用“$**[i]”表示。
这样,经过本步骤301的处理过程,则可将命令行格式1的部署业务中使用的所有用于实现配置的命令语句针对每一种配置操作设置为各个不同的命令语句组,即各个不同的命令语句组Action,各Action之间通过其标识加以区别。
步骤302根据实现每一种业务类型时所分别使用的命令语句,设置每一种业务类型分别对应的各Action及其执行顺序,并将对应于每一种业务类型的各Action及其执行顺序分别设置为一个功能组(Function),并为每一个实现配置的Function设置一个标识。
这里,对一个设备的配置是通过下发一组命令语句来完成的,由于本发明已通过不同的Action来对命令语句进行分组,因此在对一个设备进行具体的业务配置时,是通过执行一系列的Action来完成的。由于不同Action之间具有一定的独立性,因此为了表示不同的Action中命令语句下发的顺序,本发明分别设置在实现每一种类型业务时所涉及的各个Action及其执行顺序。该设置的具体方式可以是根据各个Action中命令语句被下发的先后顺序,将实现每一种类型业务时所使用各个Action的名称按照顺序进行排列并保存为一个Function,所设置的功能组的标识可以是为该Function所定义的名称。比如,在命令行格式1的部署业务中,在配置一个IPSec VPN的业务时,将该IPSec VPN业务所涉及的Action及其执行顺序设置为一个Function,则该Function可以设置为如下的形式<Function name=″ConfigIPSecVPN″>
<Action name=″DefineAcl″/>
<Action name=″DefineIPSecProposal″/>(在这里引用定义IPSec安全提议的Action)……<Action name=″ApplyIPSecPolicyOnInterface″/>
</Function>
上述Function定义了实现IPSec VPN业务所涉及的Action及其执行的先后顺序。也就是说,在实现IPSec VPN业务时,该IPSec VPN业务所使用命令语句对应的Function的标识,比如名称为ConfigIPSecVPN,并且,该IPSec VPN业务所使用命令语句的格式为首先执行名称为DefineAcl的Action中的命令语句,以定义一个ACL;然后利用名称为DefineIPSecProposal的Action中的命令语句定义IPSec安全提议等;最后执行名称为ApplyIPSecPolicyOnInterface的Action中的命令语句,将安全策略应用到设备上。
这样,经过本步骤302的处理过程,则可通过设置各个不同的Function来设置出在命令行格式1的部署业务中,实现每一种不同类型业务配置所使用的所有命令语句。
可见,本发明设置Function的方式可以实现命令语句的复用。比如,在命令格式1的部署业务中,很多具体的业务都需要使用名称为DefineAcl的Action中所包括的命令语句,以定义一个ACL,因此,本发明只需在所设置的相应各Function中使用该共同的名称为DefineAcl的Action即可,而无需再进行繁琐的设置完整命令语句的过程。另外,在配置和执行命令语句时,命令语句之间往往具有依赖性,一条命令语句没有配置,下面的命令语句往往无法配置,在这种情况下,只要按照命令行之间的依赖关系来设置Function即可。
步骤303设置每一个实现配置的Function的标识与业务类型的对应关系。
步骤304针对命令行格式1的部署业务中使用的所有命令语句,将其中在撤消一种配置操作时有关联且不可分割使用的各个命令语句设置为一个命令语句组,并为该命令语句组设置一个标识。
这里,在对设备进行数据配置时,如果配置过程失败,仍然可以通过下发命令的方式来撤消当前对设备所进行的配置,从而提供容错机制。为撤消一种配置操作,有些命令语句是有关联且不可分割使用的,这些命令语句处于同一个上下文中,形成一个整体。因此,为了便于后续撤消过程中的使用,本发明将在撤消一种配置操作时有关联且不可分割使用的各个命令语句设置为一个命令语句组进行保存,所设置的唯一标识可以是为该命令语句组定义的名称。相应地,以下将在撤消一种配置操作时针对有关联且不可分割使用的各个命令语句所设置的命令语句组统称为Action,本步骤中所设置的唯一标识是为该Action所定义的名称。另外,与设置实现配置操作的Action相同,在设置撤消配置操作的Action时,该撤消配置操作的Action中也包含一些动态存在的命令语句,为了满足撤消配置操作的Action中命令语句的动态存在要求,本发明在撤消配置操作的Action中也设置顺序结构<CMD>、选择结构<IF>和循环结构<FOR>。比如,在命令行格式1的部署业务中,撤消所配置IPSec安全提议的Action可以设置为如下形式<Action name=″UndoDefineIPSecProposal″model=″0″>
<FOR i=″$IPSecProposal.count″>
<CMD txt=″undo ipsec proposal$IPSecProposalName[i]″/>
</FOR>
</Action>
该撤消所配置IPSec安全提议的Action的名称即唯一标识为UndoDefineIPSecProposal。
这样,经过本步骤304的处理过程,则可将命令行格式1的部署业务中使用的所有撤消配置的命令语句,针对所撤消的每一种配置操作,设置为各个不同的Action进行保存。
实现配置操作的各个Action之间、撤消配置操作的各个Action之间以及实现配置操作的Action与撤消配置操作的Action之间通过其标识,比如互不相同的名称加以区别。
步骤305针对已设置的各个撤消配置的Action,分别设置在撤消每一种类型业务时所涉及的Action及其执行顺序,并将所设置的撤消每一种类型业务时所涉及的Action及其执行顺序设置为一个唯一的标识。
本步骤执行过程的原理与步骤302中设置实现每一种类型业务时所涉及的Action及其执行顺序过程的原理相同,也可以将在撤消一种类型业务时对所涉及各个Action的名称按照执行顺序进行排列后所形成的命令语句统称为Function,所设置的唯一的标识是为该Function所定义的名称。比如,在命令行格式1的部署业务中,在撤消所配置的IPSec VPN的业务时,将撤消该IPSec VPN业务所涉及的Action及其执行顺序设置为一个Function,则该Function可以设置为如下的形式<Function name=″UndoConfigIPSecVPN″>
<Action name=″UndoApplyIPSecPolicyOnInterface″/>
……<Action name=″UndoDefineIPSecProposal″/>(在这里引用回滚配置IPSec安全提议的Action)<Action name=″UndoDefineAcl″/>
</Function>
可见,在上述步骤304和步骤305中,所设置的Action和Function分别为撤消配置的Action和Function。
步骤306设置每一个撤消配置的Function名称与业务类型的对应关系。
需要说明的是,步骤301至步骤303与步骤304至步骤306之间并无固定的执行上的先后顺序。
实现配置操作的各个Function之间、撤消配置操作的各个Function之间以及实现配置操作的Function与撤消配置操作的各个Function通过其标识比如互不相同的名称加以区别。
步骤307将在命令行格式1下所有实现配置的Action和Function组成对应于该命令行格式1的实现配置的配置文件,并为该配置文件设置唯一的标识。
步骤308将在命令行格式1下所有撤消配置的Action和Function组成对应于该命令行格式1的撤消配置的配置文件,并为该配置文件设置唯一的标识。
针对每一种命令行格式,本发明均可通过上述图3所示过程完成设置配置文件的过程,也就是说,任意一种命令行格式的部署业务所使用的所有实现配置和撤消配置的命令语句则被设置在对应的实现配置和撤消配置的配置文件中。
步骤202保存每一个配置文件所对应的命令行格式的信息。
这里,保存每一个配置文件所对应的命令行格式的信息的方式可以是在该每一个配置文件中比如文件头处分别携带其对应的命令行格式的信息,也可以是首先分别为每一个配置文件设置标识,然后设置配置文件的标识与该配置文件对应命令行格式信息的对应关系,并将该对应关系进行集中设置,比如,保存在一个文件中。
步骤203预先设置所有命令行格式对应的所有正确回显内容和错误回显内容。
这里,由于每一种命令行格式和每一种命令的正确和错误回显内容往往是不相同的,因此,为了便于判断所下发命令是否对设备配置成功,本发明可以进一步设置出所有命令行格式对应的所有正确回显内容和错误回显内容,从而使系统在后续过程中可识别每一个设备所返回的回显内容为正确回显内容还是错误回显内容。
步骤204当需要针对网络中的一个设备下发配置命令时,网络管理人员将对该设备的各种配置参数通过网管用户界面输入系统。
这里,网络管理人员所输入的各种配置参数中包括实现当前所需配置设备的信息、所配置的业务类型信息、变量的名称、变量个数和变量值等。
步骤205系统中的转换单元接收网络管理人员输入的各种配置参数,将所接收到的各种配置参数转换为生成单元所需的参数格式。
这里,比如生成单元所需的参数格式为名值对格式,也就是说,对于一个具体的变量,该变量的变量名与变量值成对出现,则在本步骤中,转换单元将网络管理人员输入的各种配置参数中包括的变量的名称、变量个数和变量值等转换为各个名值对,各名值对中包括各个变量名称及其对应的取值。比如,转换单元接收到的网络管理人员为创建两条IPSec安全提议所输入的各种配置参数,转换单元所生成的名值对为$IPSecProposal.count=2(2表示配置两条安全提议);$IPSecProposalName
=propl(用
表示第1条安全提议);$EncapMode
=tunnel;$IPSecProtocol
=ah;$AhAuthAlgorithm
=md5;$IPSecProposalName[1]=prop2(用[1]表示第2条安全提议);$EncapMode[1]=transport;$IPSecProtocol[1]=esp;$EspEncryAlgorithm[1]=des;$EspAuthAlgorithm[1]=shal。
比如,第三条命令语句中,EncapMode为变量的名称,tunnel为该变量的取值,其它命令语句同理。
步骤206转换单元将具有转换后参数格式的配置参数输出至生成单元。
步骤207生成单元根据接收到的配置参数中包括的设备信息获取当前的命令行格式信息。
步骤208生成单元根据当前的命令行格式信息和预先保存的每一个配置文件所对应的命令行格式的信息,获取与当前命令行格式对应的实现配置的配置文件。
这里,如果在步骤202中采用了在每一个配置文件中分别携带其对应的命令行格式信息的方式,则在本步骤中,生成单元在各配置文件中查找当前命令行格式的信息,然后获取当前命令行格式信息所在的实现配置的配置文件。如果在步骤202中,采用了将所有配置文件的标识与其对应的命令行格式的信息进行集中设置,比如,保存在一个文件中,则在本步骤中,生成单元根据所设置的每一个配置文件的标识与命令行格式的对应关系,得到与当前命令行格式对应的配置文件的标识,根据所得到的配置文件的标识获取当前实现配置的配置文件。
步骤209生成单元根据接收到的具有转换后参数格式的配置参数在当前实现配置的配置文件中获取对应于当前业务类型的所有实现配置的命令语句。
这里,生成单元在获取对应于当前业务类型的所有实现配置的命令语句时,首先在所获取的配置文件中根据各个实现配置的Function的标识以及预先设置的实现配置的Function的标识与业务类型的对应关系,查找到对应于当前业务类型的实现配置的Function,然后根据所查找到Function中顺序设置的各个Action的标识,依次获取各个Action中包含的所有命令语句。其中,在获取每一个Action中包含的所有命令语句的过程为获取命令语句组Action中所有以顺序结构出现的命令语句,根据配置参数获取以选择结构出现的命令语句,获取以循环结构出现的命令语句,并根据配置参数确定获取以循环结构出现的命令语句的次数。
步骤210生成单元根据接收到的具有转换后参数格式的配置参数以及所获取的所有实现配置的命令语句生成配置命令。
这里,生成单元在生成配置命令时,是根据具有转换后参数格式的配置参数中各个变量的名称及其取值,将所获取命令语句中包括的相应变量名称替换为该变量名称对应的取值。
步骤211生成单元将所生成的配置命令输出至部署单元,部署单元将接收到的配置命令下发到对应的设备上。
这里,部署单元可以根据实际的业务需要选择命令下发协议,如Telnet或SSH协议等,并使用所选择的命令下发协议将接收到的配置命令下发到设备上。
图4是在本发明实施例中显示配置结果的流程图。参见图4,在经过上述图2所示流程,使设备接收到一次配置命令后,该设备则可根据配置命令完成自身的数据配置过程。如果本次配置过程成功,则该设备向部署单元返回其支持命令行格式的正确回显内容,如果本次配置过程失败,则该设备向部署单元返回其支持命令行格式的错误回显内容,这样,在本发明中,针对设备所返回的反映配置结果的回显内容可以进行相应地配置处理,该处理过程具体包括以下步骤步骤401部署单元接收设备返回的回显内容。
步骤402部署单元根据预先设置的所有命令行格式的所有正确回显内容和错误回显内容,判断设备返回的是正确回显内容还是错误回显内容,如果是正确回显内容,则执行步骤403,如果是错误回显内容,则执行步骤404。
步骤403部署单元控制网管用户界面向网络管理人员显示配置成功的信息,结束当前流程。
这里,部署单元控制网管用户界面向网络管理人员显示配置成功的信息后,网络管理人员则可进行下一次的输入配置信息下发配置命令的过程。
步骤404部署单元控制网管用户界面向网络管理人员显示配置失败的信息。
这里,网络管理人员根据所显示的配置失败信息可以进一步通过网管用户界面向转换单元输入忽略本次配置的指示,或输入撤消本次配置的指示。
图5是在本发明实施例中下发撤消命令的流程图。参见图2、图3和图5,在根据上述图2中步骤201至步骤203过程中所进行的设置包括所有撤消命令的用于撤消配置的配置文件后,本发明实现下发撤消命令的过程包括以下步骤步骤501当系统接收到网络管理人员通过网管用户界面输入的撤消本次配置的指示后,获取本次配置时的各种配置参数。
这里,所获取的各种配置参数是下发配置命令时网络管理人员所输入的各种配置参数,即包括当前设备的信息、所配置的业务类型信息、变量的名称、变量个数和变量值等。
步骤502~步骤504与步骤205~步骤207的所有描述均相同。
步骤505生成单元根据当前的命令行格式信息和预先保存的每一个配置文件所对应的命令行格式的信息,获取与当前命令行格式对应的撤消配置的配置文件。
步骤506生成单元根据接收到的具有转换后参数格式的配置参数在当前撤消配置的配置文件中获取对应于当前业务类型的所有撤消配置的命令语句。
步骤507生成单元根据接收到的具有转换后参数格式的配置参数以及所获取的所有撤消配置的命令语句生成撤消命令。
步骤508生成单元将所生成的撤消命令输出至部署单元。
步骤509部署单元将接收到的撤消命令下发到对应的设备上。
上述步骤505至步骤509的具体实现过程与步骤208至步骤212具体实现过程的原理完全相同。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种下发命令的方法,其特征在于,该方法包括以下步骤A、为每一种命令行格式设置对应的配置文件,该配置文件中包括其对应命令行格式部署业务使用的命令语句;B、系统获取网络管理人员输入的配置信息,根据该配置信息获取当前的命令行格式,并获取当前命令行格式所对应的配置文件;C、系统根据接收到的配置信息和所获取配置文件中的命令语句生成命令,并将所生成的命令下发到对应的设备上。
2.根据权利要求1所述的方法,其特征在于,所述配置信息中包括所述设备的信息;在步骤B中,所述根据配置信息获取当前命令行格式的步骤包括根据配置信息中所述设备的信息获取当前的命令行格式。
3.根据权利要求1所述的方法,其特征在于,在步骤A中,所设置的每一个配置文件中包括该配置文件对应的命令行格式信息;在步骤B中,所述获取当前命令行格式所对应的配置文件的步骤包括在各配置文件中查找当前命令行格式的信息,然后获取所查找到命令行格式信息所在的配置文件。
4.根据权利要求1所述的方法,其特征在于,所述步骤A进一步包括为所设置的每一个配置文件设置对应的标识,并设置每一个配置文件的标识与该配置文件所对应命令行格式的对应关系;在步骤B中,所述获取当前命令行格式所对应的配置文件的步骤包括根据所设置的每一个配置文件的标识与命令行格式的对应关系,得到与当前命令行格式对应的配置文件的标识,根据所得到的配置文件的标识获取对应配置文件。
5.根据权利要求1所述的方法,其特征在于,所述步骤A包括A1、针对一种命令行格式部署业务中使用的命令语句,将其中在实现每一个业务操作时有关联且不可分割使用的各个命令语句设置为一个命令语句组,并为每一个命令语句组设置一个标识;A2、根据每一种业务类型所分别使用的命令语句,设置每一种业务类型分别对应的各命令语句组及其执行顺序,并将对应于每一种业务类型的各命令语句组及其执行顺序分别设置为一个功能组,并为每一个功能组设置一个标识,然后设置每一个功能组的标识与业务类型的对应关系;A3、将在当前命令格式下所设置的各个命令语句组及其标识、各个功能组及其标识、以及各功能组标识与业务类型的对应关系,组成对应于当前命令格式的配置文件;A4、重复执行步骤A1至步骤A3,直至为所有的命令行格式分别设置出对应的配置文件;所述配置信息中包括需配置的当前业务类型的信息以及需配置变量的名称及其取值;在步骤C中,所述生成命令的步骤包括C1、在所获取的配置文件中,根据各功能组的标识与业务类型的对应关系,查找到对应于当前业务类型的功能组;C2、根据所查找到功能组中顺序设置的各个命令语句组的标识,依次获取每个命令语句组中包含的所有命令语句;C3、根据配置信息中各个变量的名称及其取值,将所获取的所有命令语句中包括的各变量的名称替换为该变量对应的取值。
6.根据权利要求5所述的方法,其特征在于,该方法进一步包括设置顺序结构、选择结构和循环结构;在步骤A1中,所述设置命令语句组的步骤包括在所述实现每一个业务操作时有关联且不可分割使用的各个命令语句中,设置必定存在的命令语句以顺序结构出现,设置根据配置参数可选存在的命令语句以选择结构出现,设置必定存在且根据配置参数确定执行次数的命令语句以循环结构出现,将以顺序结构、选择结构和循环结构出现的各个命令语句设置为一个命令语句组;在步骤C2中,所述获取命令语句组中包含的所有命令语句的步骤包括获取命令语句组中所有以顺序结构出现的命令语句,根据配置参数获取以选择结构出现的命令语句,获取以循环结构出现的命令语句,并根据配置参数确定获取以循环结构出现的命令语句的次数。
7.根据权利要求5或6所述的方法,其特征在于,当所述命令语句为撤消配置的命令语句时,所述配置文件为撤消配置的配置文件,所生成并下发的命令为撤消命令;当所述命令语句为实现配置的命令语句时,所述配置文件为实现配置的配置文件,所生成并下发的命令为配置命令。
8.根据权利要求5所述的方法,其特征在于,该方法进一步包括设置所有命令行格式对应的所有正确回显内容和错误回显内容;在步骤C中,所生成并下发的命令为配置命令;在步骤C之后进一步包括所述设备根据接收到的配置命令执行数据配置过程,并向所述系统返回配置结果;系统根据所设置的所有命令行格式对应的所有正确回显内容和错误回显内容,判断所述设备返回的是正确回显内容还是错误回显内容,并将所判断出的正确回显内容或错误回显内容进行显示。
9.一种下发命令的系统,其特征在于,该系统包括转换单元、生成单元和部署单元,其中,转换单元,用于获取网络管理人员输入的配置信息,并将所获取的配置信息转换为生成单元所需的参数格式,然后将具有转换后参数格式的配置信息输出至生成单元;生成单元,用于接收转换单元发来的具有转换后参数格式的配置信息,根据该具有转换后参数格式的配置信息获取当前的命令行格式,并根据该当前的命令行格式获取对应的配置文件,并且,生成单元根据接收到的具有转换后参数格式的配置信息和所获取配置文件中的命令语句生成命令,并将所生成的命令输出至部署单元;部署单元,用于接收生成单元发来的命令,并将所接收到的命令下发到对应的设备上。
10.根据权利要求9所述的系统,其特征在于,所述生成单元,用于生成实现配置的配置命令或者撤消配置的撤消命令,并将所生成的配置命令或者撤消命令输出至部署单元;所述部署单元,用于将接收到的配置命令或者撤消命令下发到对应的设备上。
11.根据权利要求9或10所述的系统,其特征在于,所述部署单元,进一步用于接收设备返回的回显内容,并在判断出设备返回的是正确回显内容后向网络管理人员显示配置成功的信息,以及在判断出设备返回的是错误回显内容向网络管理人员显示配置失败的信息。
全文摘要
本发明公开了一种下发命令的方法和系统。该系统包括转换单元、生成单元和部署单元。该方法包括为每一种命令行格式设置对应的配置文件,该配置文件中包括其对应命令行格式部署业务使用的命令语句;系统获取网络管理人员输入的配置信息,根据该配置信息获取当前的命令行格式,并获取当前命令行格式所对应的配置文件;系统根据接收到的配置信息和所获取配置文件中的命令语句生成命令,并将所生成的命令下发到对应的设备上。本发明能够保证网络管理人员的下发命令过程是无需区分命令行格式的统一开发过程,从而为网络管理人员的部署工作带来极大的方便,并大大减少了对网络设备下发命令的业务实现周期,降低了业务的实现成本。
文档编号H04L12/24GK1787459SQ200510132239
公开日2006年6月14日 申请日期2005年12月22日 优先权日2005年12月22日
发明者宋浩杰, 孙利辉, 张学明, 许必欢, 雷海波 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1