一种恢复网络设备的出厂配置的方法、装置及网络设备与流程

文档序号:27691226发布日期:2021-12-01 03:11阅读:100来源:国知局
一种恢复网络设备的出厂配置的方法、装置及网络设备与流程
一种恢复网络设备的出厂配置的方法、装置及网络设备
1.相关申请的交叉引用
2.本发明为2016年8月24日提交,申请号为201610716564.4,发明名称为“一种恢复网络设备的出厂配置的方法、装置及网络设备”的中国专利申请的分案申请,其全部内容通过引用结合在本技术中。
技术领域
3.本发明涉及配置管理技术领域,尤其涉及一种恢复网络设备的出厂配置的方法、装置及网络设备。


背景技术:

4.通常情况下,大部分设备都具备恢复出厂配置的功能,以便在设备功能不稳定或者用户忘记设备的登录密码时,通过将设备恢复出厂配置使设备恢复正常。
5.目前,基于网络配置协议(英文:network configuration protocol,简称netconf)恢复网络设备出厂配置的方法中,网络设备中的各业务模块保存各自的出厂配置数据,并且每个业务模块的yang模型中定义了一个用于恢复出厂配置的远程过程调用(英文:remote procedure call,简称rpc)命令,若网络设备在运行时发生了因为配置导致设备运行异常的问题,用户可以触发netconf客户端根据本地存储的网络设备的各个业务模块的yang模型中的rpc命令向网络设备中的各个业务模块下发相应的rpc命令,各个业务模块接收到rpc命令后,进行出厂配置标记,在网络设备重新启动时,各个业务模块通过网络设备中的netconf服务器的数据库读写接口将netconf服务器的开始(startup)配置数据集中的数据替换为业务模块的出厂配置数据,netconf服务器将运行(running)配置数据集中的数据替换为startup配置数据集中的数据,netconf服务器再将running配置数据集中的数据下发到对应的各个业务模块,各个业务模块使得出厂配置数据生效,从而使网络设备具备了出厂配置。
6.由于网络设备中的多个业务模块保存各自的出厂配置数据,因此,每个业务模块需要注册各自的出厂配置处理函数,不利于第三方扩展,增大了开发难度,并且netconf客户端需要通过netconf服务器分别下发不同的恢复出厂配置的rpc命令给不同的业务模块,维护性差。


技术实现要素:

7.本发明的实施例提供了一种恢复网络设备的出厂配置的方法、装置及网络设备,用以解决现有技术中的恢复网络设备的出厂配置的方法不利于第三方扩展、增大了开发难度以及维护性差的问题。
8.为达到上述目的,本发明的实施例采用如下技术方案:
9.第一方面,提供了一种恢复网络设备的出厂配置的方法,网络设备包括netconf服务器和多个业务模块,该方法包括:netconf服务器确定网络设备需要恢复出厂配置;
netconf服务器将netconf服务器中的开始startup配置数据集和运行running配置数据集中的数据替换为出厂配置数据集中的出厂配置数据,出厂配置数据集专用于存储网络设备的出厂配置数据;netconf服务器将替换后的running配置数据集中的数据下发到多个业务模块;多个业务模块基于netconf服务器下发的数据执行生效操作。
10.第一方面提供的方法,采用了出厂配置数据集专门存储网络设备的出厂配置数据,避免了每个业务模块保存各自的出厂配置数据,netconf服务器本身能够恢复网络设备的出厂配置,因此,不需要每个业务模块再注册各自的出厂配置处理函数,有利于进行第三方扩展,并且netconf客户端不需要通过netconf服务器向网络设备中的每个业务模块下发恢复出厂配置的命令,便于维护。
11.结合第一方面,在第一种可能的实现方式中,netconf服务器确定网络设备需要恢复出厂配置,包括:当netconf服务器确定网络设备首次启动或接收到netconf客户端发送的恢复出厂配置的命令时,netconf服务器确定网络设备需要恢复出厂配置。
12.结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,当网络设备首次启动时,netconf服务器将netconf服务器中的startup配置数据集和running配置数据集中的数据替换为出厂配置数据集中的出厂配置数据,包括:netconf服务器将startup配置数据集中的数据替换为出厂配置数据;netconf服务器将running配置数据集中的数据替换为startup配置数据集中的数据。
13.结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,当netconf服务器接收到netconf客户端发送的恢复出厂配置的命令时,netconf服务器将netconf服务器中的startup配置数据集和running配置数据集中的数据替换为出厂配置数据集中的出厂配置数据,包括:netconf服务器将startup配置数据集中的数据替换为出厂配置数据;在网络设备重启后,netconf服务器将running配置数据集中的数据替换为startup配置数据集中的数据。
14.结合第一方面的第一种可能的实现方式,在第四种可能的实现方式中,当netconf服务器接收到netconf客户端发送的恢复出厂配置的命令时,netconf服务器将netconf服务器中的startup配置数据集和running配置数据集中的数据替换为出厂配置数据集中的出厂配置数据,包括:netconf服务器将netconf服务器中的startup配置数据集和running配置数据集中的数据同时替换为出厂配置数据集中的出厂配置数据;netconf服务器将running配置数据集中的数据下发到多个业务模块,包括:netconf服务器将替换后的running配置数据集与替换前的running配置数据集中的不同的数据下发到多个业务模块。
15.结合第一方面,第一方面的第一种可能的实现方式至第四种可能的实现方式中的任一种,在第五种可能的实现方式中,在netconf服务器确定网络设备需要恢复出厂配置之前,该方法还包括:netconf服务器与netconf客户端建立面向连接的传输协议的会话;netconf服务器向netconf客户端发送netconf服务器的能力集,并接收netconf客户端发送的netconf客户端的能力集,netconf服务器的能力集中包括netconf服务器的恢复出厂配置能力标记,恢复出厂配置能力标记用于表征netconf服务器具备恢复出厂配置能力。
16.该种可能的实现方式,可以使得netconf客户端获知netconf服务器具备恢复出厂配置能力。
17.结合第一方面,第一方面的第一种可能的实现方式至第五种可能的实现方式中的
任一种,在第六种可能的实现方式中,该方法还包括:netconf服务器接收netconf客户端发送的保存出厂配置的命令;netconf服务器将出厂配置数据集中的数据替换为目标数据,目标数据为预设数据、预设配置数据集中的数据或预设文件中的数据。
18.结合第一方面的第六种可能的实现方式,第七种可能的实现方式中,恢复出厂配置的命令为在netconf协议的yang模型中增加的用于恢复网络设备的出厂配置的远程过程调用rpc命令,保存出厂配置的命令为在netconf协议的yang模型中增加的用于保存网络设备出厂配置的rpc命令。
19.第二方面,提供了一种恢复网络设备的出厂配置的方法,包括:netconf客户端接收用户恢复网络设备的出厂配置的指示;netconf客户端根据netconf协议的yang模型中增加的远程过程调用rpc命令向网络设备中的netconf服务器发送恢复出厂配置的命令,以使得netconf服务器将netconf服务器中的开始startup配置数据集和运行running配置数据集中的数据替换为出厂配置数据集中的出厂配置数据,并将running配置数据集中的数据下发到多个业务模块,从而使得多个业务模块基于netconf服务器下发的数据执行生效操作,出厂配置数据集专用于存储网络设备的出厂配置数据。
20.第二方面提供的方法,netconf客户端通过向netconf服务器发送恢复出厂配置的命令从而使得netconf服务器根据自身的能力恢复网络设备的出厂配置,因此,不需要每个业务模块再注册各自的出厂配置处理函数,有利于进行第三方扩展,并且netconf客户端不需要通过netconf服务器向网络设备中的每个业务模块下发恢复出厂配置的命令,便于维护。
21.结合第二方面,在第一种可能的实现方式中,在netconf客户端根据netconf协议的yang模型中增加的rpc命令向网络设备中的netconf服务器发送恢复出厂配置的命令之前,该方法还包括:netconf客户端确定netconf服务器具备恢复出厂配置能力。
22.结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,在netconf客户端确定netconf服务器具备恢复出厂配置能力之前,该方法还包括:netconf客户端接收netconf服务器发送的netconf服务器的能力集,并向netconf服务器发送netconf客户端的能力集,netconf服务器的能力集中包括netconf服务器的恢复出厂配置能力标记,恢复出厂配置能力标记用于表征netconf服务器具备恢复出厂配置能力;netconf客户端确定netconf服务器具备恢复出厂配置能力,包括:netconf客户端根据netconf服务器的能力集中的恢复出厂配置能力标记确定netconf服务器具备恢复出厂配置能力。
23.结合第二方面、第二方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,该方法还包括:netconf客户端接收用户保存网络设备的出厂配置的指示;netconf客户端根据netconf协议的yang模型中增加的用于保存网络设备的出厂配置的rpc命令向网络设备中的netconf服务器发送保存出厂配置的命令,以使得netconf服务器将出厂配置数据集中的数据替换为目标数据,目标数据为预设数据、预设配置数据集中的数据或预设文件中的数据。
24.第三方面,提供了一种网络设备,包括:确定单元,用于确定网络设备需要恢复出厂配置;替换单元,用于将网络设备中的开始startup配置数据集和运行running配置数据集中的数据替换为出厂配置数据集中的出厂配置数据,出厂配置数据集专用于存储网络设备的出厂配置数据;下发单元,用于将替换后的running配置数据集中的数据下发到执行单
元;执行单元,用于基于下发单元下发的数据执行生效操作。
25.该网络设备中的各个单元用于实现上述第一方面的方法,因此,该网络设备的有益效果可以参见上述方法的有益效果,在此不再赘述。
26.第四方面,提供了一种恢复网络设备的出厂配置的装置,包括:接收单元,用于接收用户恢复网络设备的出厂配置的指示;发送单元,用于根据netconf协议的yang模型中增加的远程过程调用rpc命令向网络设备发送恢复出厂配置的命令,以使得网络设备将网络设备中的开始startup配置数据集和运行running配置数据集中的数据替换为出厂配置数据集中的出厂配置数据,并基于running配置数据集中的数据执行生效操作,出厂配置数据集专用于存储网络设备的出厂配置数据。
27.该装置中的各个单元用于实现上述第二方面的方法,因此,该装置的有益效果可以参见上述方法的有益效果,在此不再赘述。
28.第五方面,提供了一种网络设备,包括:存储器和处理器,存储器用于存储一组代码,处理器用于根据该组代码执行以下动作:确定网络设备需要恢复出厂配置;将网络设备中的开始startup配置数据集和运行running配置数据集中的数据替换为出厂配置数据集中的出厂配置数据,出厂配置数据集专用于存储网络设备的出厂配置数据;基于替换后的running配置数据集中的数据执行生效操作。
29.该网络设备中的各个器件用于实现上述第一方面的方法,因此,该网络设备的有益效果可以参见上述方法的有益效果,在此不再赘述。
30.第六方面,提供了一种恢复网络设备的出厂配置的装置,包括:发送器、接收器和处理器;处理器用于通过接收器接收用户恢复网络设备的出厂配置的指示;处理器用于通过发送器根据netconf协议的yang模型中增加的远程过程调用rpc命令向网络设备发送恢复出厂配置的命令,以使得网络设备将网络设备中的开始startup配置数据集和运行running配置数据集中的数据替换为出厂配置数据集中的出厂配置数据,并基于running配置数据集中的数据执行生效操作,出厂配置数据集专用于存储网络设备的出厂配置数据。
31.该装置中的各个器件用于实现上述第二方面的方法,因此,该装置的有益效果可以参见上述方法的有益效果,在此不再赘述。
附图说明
32.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
33.图1为现有技术中的netconf的分层示意图;
34.图2为本发明实施例提供的netconf的自动化配置系统的架构示意图;
35.图3为本发明实施例提供的一种恢复网络设备的出厂配置的方法的流程图;
36.图4为本发明实施例提供的又一种恢复网络设备的出厂配置的方法的流程图;
37.图5为本发明实施例提供的又一种恢复网络设备的出厂配置的方法的流程图;
38.图6为本发明实施例提供的又一种恢复网络设备的出厂配置的方法的流程图;
39.图7为本发明实施例提供的一种恢复网络设备的出厂配置的方法的交互流程图;
40.图8为本发明实施例提供的又一种恢复网络设备的出厂配置的方法的交互流程图;
41.图9为本发明实施例提供的一种网络设备的组成示意图;
42.图10为本发明实施例提供的又一种网络设备的组成示意图;
43.图11为本发明实施例提供的又一种网络设备的组成示意图;
44.图12为本发明实施例提供的一种恢复网络设备的出厂配置的装置的组成示意图;
45.图13为本发明实施例提供的又一种恢复网络设备的出厂配置的装置的组成示意图;
46.图14为本发明实施例提供的又一种恢复网络设备的出厂配置的装置的组成示意图。
具体实施方式
47.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.netconf协议是一种新的网络配置和管理协议。为了适应当前网络规模不断扩大、网络复杂性增加、可靠性要求增强等用户需求,netconf协议针对简单网络管理协议(英文:simple network management protocol,简称snmp)在结构和功能上的问题,提出一套对网络设备(例如交换机、路由器等)的配置信息和状态信息进行管理的新的机制。
49.netconf协议的消息传输被划分为4个层次,如图1所示,包括:传输层、消息层、操作层和内容层。
50.传输层主要用于在网络设备和netconf客户端之间建立通信路径,传输层的协议具体可以为安全壳(英文:secure shell,简称ssh)协议、安全传输层(英文:transport layer security,简称tls)协议、简单对象访问协议(英文:simple object access protocol,简称soap)以及块可扩展交换协议(英文:blocks extensible exchange protocol,简称beep)等。
51.消息层表示了基于rpc的通信模型,因此,消息层也可以称为rpc层,消息层采用<rpc>元素封装操作请求消息,并通过一个安全、面向连接的会话将请求发送给网络设备,而网络设备将采用<rpc

reply>元素封装该操作请求的响应消息,然后将此响应消息发送给请求者。
52.操作层定义了一组基本操作元素,这些操作是最基本的rpc操作元素,具体包括:<get

config>(查询)、<edit

config>(修改)、<copy

config>(覆盖)、<delete

config>(清空)等,<edit

config>仅限于操作running配置数据集(running configuration datastore)和候选(candidate)配置数据集(candidate configuration datastore),<delete

config>仅限于操作startup配置数据集(startup configuration datastore)。
53.netconf协议定义了三个配置数据集,用于存储配置数据,三个配置数据集分别为:startup配置数据集、running配置数据集和candidate配置数据集。startup配置数据集用于存储网络设备的重启时配置,重启时配置是网络设备的系统下次重启时的配置,可以和运行时配置不一样,startup配置数据集是网络设备的系统启动时默认生效的数据集,在系统启动时被网络设备加载。running配置数据集用于存储网络设备的运行时配置,运行时
配置是网络设备当前激活状态的运行中的配置,和运行的状态完全一致,可以通过将running配置数据集中的数据拷贝到startup配置数据集更新当前配置到startup配置数据集,并将此配置数据作为下次系统启动时要加载的配置数据。candidate配置数据集用于存储网络设备的可选配置,可选配置是没有生效的候选配置,netconf客户端可使用rpc命令,具体可以为commit(提交)命令,将可选配置应用到网络设备,从而使得可选配置变为当前的运行时配置。
54.内容层描述了网络管理所涉及的配置数据,具体包括配置数据和配置对象,它基本上依赖于设备厂商。
55.netconf协议的自动化配置系统采用的架构具体如图2所示,该架构包括:netconf客户端和网络设备,其中,网络设备包括netconf服务器和网络设备中的多个业务模块,业务模块具体可以包括:接口模块(interface module)、动态主机配置协议(英文:dynamic host configuration protocol,简称dhcp)模块和无线局域网(英文:wireless local area network,简称wlan)模块等,netconf客户端和netconf服务器连接,netconf服务器和多个业务模块连接,netconf服务器中还包括配置数据库,配置数据库包括startup配置数据集、running配置数据集和candidate配置数据集。
56.netconf客户端和netconf服务器之间由面向连接的传输协议(例如,ssh、tls、soap或beep等)建立会话。netconf客户端和netconf服务器之间通信的内容是netconf协议定义的双向的可扩展标记语言(英文:extensible markup language,简称xml)式的rpc消息,包括从netconf客户端发送到netconf服务器的请求消息,以及netconf服务器向netconf客户端返回的响应消息。这样,netconf客户端就可以获取并修改netconf服务器的配置数据。rpc消息的消息格式由yang模型定义,yang模型可以定义消息的格式以及消息中包含的配置数据的格式。为了解决现有技术中的问题,本发明实施例中对netconf协议进行了改进,具体包括:在netconf协议中增加一个出厂配置数据集,出厂配置数据集用于存储网络设备的出厂配置数据,示例性的,该数据集可以命名为factory配置数据集,该命名仅仅是示例性的命名,出厂配置数据集的名称还可以为其他名称;在netconf服务器的能力集中增加恢复出厂配置能力标记,用于表明该netconf服务器所实现的netconf协议支持恢复出厂配置恢复的功能,示例性的,恢复出厂配置能力标记具体可以为:urn:ietf:params:netconf:capability:factory:1.0;在netconf协议的yang模型中增加恢复出厂配置和保存出厂配置的rpc命令,该rpc命令的格式以及该rpc命令中包含的配置数据的格式均由yang模型定义,示例性的,恢复出厂配置的rpc命令的名称可以为<factory

restore>,保存出厂配置的rpc命令的名称可以为
57.<factory

store>。
58.本发明实施例提供了一种恢复网络设备的出厂配置的方法,网络设备包括netconf服务器和多个业务模块,如图3所示,该方法包括:
59.301、netconf服务器确定网络设备需要恢复出厂配置。
60.可选的,步骤301在具体实现时可以为:当netconf服务器确定网络设备首次启动或接收到netconf客户端发送的恢复出厂配置的命令时,netconf服务器确定网络设备需要恢复出厂配置。
61.netconf客户端可以是运行在网络设备外的其他计算机或服务器硬件装置上的软
件。
62.具体的,netconf服务器可以在网络设备启动的过程中判断startup配置数据集是否为空确定网络设备是否为首次启动,具体的,当startup配置数据集为空时,网络设备首次启动,另外,netconf服务器还可以根据预设的首次启动的标记确定网络设备首次启动,本发明实施例对此不做具体限定。
63.302、netconf服务器将netconf服务器中的startup配置数据集和running配置数据集中的数据替换为出厂配置数据集中的出厂配置数据。
64.出厂配置数据集专门用于存储网络设备的出厂配置数据,出厂配置数据集为在现有的netconf协议中增加的数据集,只有在网络设备首次启动或netconf服务器接收到恢复出厂配置的命令时,netconf服务器才会将startup配置数据集和running配置数据集中的数据替换为出厂配置数据集中的出厂配置数据。
65.303、netconf服务器将running配置数据集中的数据下发到多个业务模块。
66.需要说明的是,网络设备中包括多个业务模块,例如,接口模块、dhcp模块和wlan模块等,不同的业务模块用于处理不同的数据,因此,netconf服务器在下发数据时,给不同的业务模块下发该业务模块处理的数据。
67.304、多个业务模块基于netconf服务器下发的数据执行生效操作。
68.在执行步骤304之后,网络设备恢复了出厂配置。
69.本发明实施例提供的方法,采用了出厂配置数据集专门存储网络设备的出厂配置数据,避免了每个业务模块保存各自的出厂配置数据,netconf服务器本身能够恢复网络设备的出厂配置,因此,不需要每个业务模块再注册各自的出厂配置处理函数,有利于进行第三方扩展,并且netconf客户端不需要通过netconf服务器向网络设备中的每个业务模块下发恢复出厂配置的命令,便于维护。
70.以下通过不同的应用场景对图3所示的方法进行进一步的说明,以下基于图4、图5、图6所述的实施例中的与基于图3所述的实施例中的相关的解释可以参见图3所述的实施例。
71.场景一、网络设备首次启动,该场景下,如图4所示,上述方法包括:
72.401、netconf服务器确定网络设备首次启动。
73.步骤401的具体实现方式可以参考上文,在此不再赘述。
74.402、netconf服务器将startup配置数据集中的数据替换为出厂配置数据集中的出厂配置数据。
75.403、netconf服务器将running配置数据集中的数据替换为startup配置数据集中的数据。
76.404;与步骤303相同。
77.405;与步骤304相同。
78.场景二、网络设备接收到netconf客户端发送的恢复出厂配置的命令,该场景下,上述方法可以采用如图5或如图6所示的方法实现,具体的,如图5所示,上述方法包括:
79.501、netconf服务器接收netconf客户端发送的恢复出厂配置的命令。
80.502、netconf服务器将netconf服务器中的startup配置数据集和running配置数据集中的数据同时替换为出厂配置数据集中的出厂配置数据。
81.503、netconf服务器将替换后的running配置数据集与替换前的running配置数据集中的不同的数据下发到多个业务模块。
82.504;与步骤304相同。
83.在场景二下,如图6所示,上述方法包括:
84.601、netconf服务器接收netconf客户端发送的恢复出厂配置的命令。
85.恢复出厂配置的命令可以为在netconf协议的yang模型中增加的恢复出厂配置的rpc命令。
86.602、netconf服务器将startup配置数据集中的数据替换为出厂配置数据集中的出厂配置数据;
87.603、在网络设备重启后,netconf服务器将running配置数据集中的数据替换为startup配置数据集中的数据。
88.604;与步骤303相同。
89.605;与步骤304相同。
90.上述方法在具体实现时,netconf服务器在接收到恢复出厂配置的命令后,可以根据网络设备中的设置采用图5或图6所示的方法恢复网络设备的出厂配置,也可以在恢复出厂配置的命令中指示是否需要进行重启,若指示需要进行重启,则采用图6所示的方法恢复网络设备的出厂配置,若指示不需要进行重启,则采用图5所示的方法恢复网络设备的出厂配置。
91.另外一种可实现的方式,netconf服务器在接收到恢复出厂配置的命令后,netconf服务器若采用预设首次启动标识的方式,则netconf服务器还可以通过采用步骤402

405恢复网络设备的出厂配置。
92.本发明实施例还提供了一种恢复网络设备出厂配置的方法,用于对图5所示的方法进行示例性说明,具体如图7所示,该方法具体包括:
93.701、netconf服务器获取出厂配置数据集。
94.具体的,netconf服务器可以在网络设备启动的过程中获取出厂配置数据集,具体可以根据启动程序创建出厂配置数据集或者直接调用存储的已创建好的出厂配置数据集。
95.702、netconf服务器与netconf客户端建立面向连接的传输协议的会话。
96.netconf服务器与netconf客户端之间的面向连接的传输协议可以为ssh、tls、soap或beep等。
97.703、netconf服务器与netconf客户端交互彼此的能力集。
98.步骤703在具体实现时可以包括:netconf服务器向netconf客户端发送netconf服务器的能力集,并接收netconf客户端发送的netconf客户端的能力集;netconf客户端向netconf服务器发送netconf客户端的能力集,并接收netconf服务器发送的netconf服务器的能力集。
99.具体的,netconf协议通过能力(capability)描述netconf服务器或netconf客户端支持的协议版本和功能,netconf服务器与netconf客户端之间可以通过hello消息交互彼此的能力集。netconf服务器(或netconf客户端)的能力集用于描述netconf服务器(或netconf客户端)所支持的协议版本和功能,例如,netconf服务器(或netconf客户端)支持的yang模型版本和netconf协议的版本。
100.netconf服务器的能力集中包括netconf服务器的恢复出厂配置能力标记,该恢复出厂配置能力标记用于表征netconf服务器具备恢复出厂配置能力,示例性的,恢复出厂配置能力标记具体可以为:urn:ietf:params:netconf:capability:factory:1.0。
101.704、netconf客户端根据netconf服务器的能力集确定netconf服务器具备恢复出厂配置能力。
102.具体的,若netconf客户端确定netconf服务器的能力集中包括恢复出厂配置能力标记,则确定netconf服务器具备恢复出厂配置能力。
103.在步骤704之后,若用户指示恢复网络设备的出厂配置,则执行步骤705

708,若用户指示保存网络设备的出厂配置,则执行步骤709

710。
104.705、netconf客户端根据netconf协议的yang模型中的恢复出厂配置的rpc命令向netconf服务器下发恢复出厂配置的rpc命令。
105.具体的,恢复出厂配置的rpc命令为在现有的netconf协议的yang模型中增加的rpc命令,示例性的,恢复出厂配置的rpc命令的名称可以为<factory

restore>,该情况下,netconf客户端向netconf服务器下发的恢复出厂配置的rpc命令具体可以为:
[0106][0107]
其中,这四行代码中的前两行代码表示该命令为一个rpc命令,<factory

restore/>为该rpc命令的名称,<no

restart/>表示采用不重启的方式恢复出厂配置,</rpc>表示该命令结束。
[0108]
706、netconf服务器接收netconf客户端发送的恢复出厂配置的rpc命令,并根据该rpc命令将startup配置数据集和running配置数据集中的数据同时替换为出厂配置数据集中的出厂配置数据。
[0109]
707、netconf服务器将替换后的running配置数据集中的与替换前的running配置数据集中的不同的数据下发到多个业务模块。
[0110]
708、多个业务模块基于netconf服务器下发的数据执行生效操作。
[0111]
709、netconf客户端根据netconf协议的yang模型中的保存出厂配置的rpc命令向netconf服务器下发保存出厂配置的rpc命令。
[0112]
其中,保存出厂配置的命令用于更新网络设备的出厂配置数据。
[0113]
具体的,保存出厂配置的rpc命令为在现有的netconf协议的yang模型中增加的rpc命令,示例性的,保存出厂配置的rpc命令的名称可以为<factory

store>,该情况下,netconf客户端向netconf服务器下发的保存出厂配置的rpc命令具体可以为:
[0114][0115]
其中,这八行代码中的前两行代码表示该命令为一个rpc命令,<factory

store>为该rpc命令的名称,<source>表示数据的来源,<running/>表示数据的来源为running配置数据集,最后三行代码表示该命令结束。该rpc命令默认数据的去向为出厂配置数据集。该命令用于指示netconf服务器将出厂配置数据集中的数据替换为running配置数据集的数据,<source>字段可以接收的参数除了<running>外,还可以为<startup>、<config>、<url>;其中,<config>是指具体的数据,<url>用于指示指定路径的文件。
[0116]
710、netconf服务器接收netconf客户端发送的保存出厂配置的rpc命令,并将出厂配置数据集中的数据替换为目标数据。
[0117]
其中,目标数据可以为预设数据、预设配置数据集中的数据或预设文件中的数据。在步骤709的示例中,目标数据为running配置数据集中的数据。
[0118]
本发明实施例还提供了一种恢复网络设备的出厂配置的方法,用于对图6所示的方法进行示例性说明,具体如图8所示,该方法具体包括:
[0119]
801

804;步骤801

步骤804与图7中的步骤701

步骤704分别相同,具体内容可以参见图7的实施例,该实施例中其他与上述实施例相关内容的解释可以参见上述实施例。
[0120]
在步骤804之后,若用户指示恢复网络设备的出厂配置,执行步骤805

809,若用户指示保存网络设备的出厂配置,执行步骤810

811。
[0121]
805、netconf客户端根据netconf协议的yang模型中的恢复出厂配置的rpc命令向netconf服务器下发恢复出厂配置的rpc命令。
[0122]
具体的,恢复出厂配置的rpc命令为在现有的netconf协议的yang模型中增加的rpc命令,示例性的,恢复出厂配置的rpc命令的名称可以为<factory

restore>,该情况下,netconf客户端向netconf服务器下发的恢复出厂配置的rpc命令具体可以为:
[0123][0124]
其中,这四行代码中的前两行代码表示该命令为一个rpc命令,<factory

restore/>为该rpc命令的名称,<restart/>表示采用重启的方式恢复出厂配置(若没有则默认采用重启的方式恢复出厂配置),</rpc>表示该命令结束。
[0125]
806、netconf服务器接收netconf客户端发送的恢复出厂配置的rpc命令,并根据该rpc命令将netconf服务器中的startup配置数据集中的数据替换为出厂配置数据集中的出厂配置数据。
[0126]
807、在网络设备重启后,netconf服务器将netconf服务器中的running配置数据集中的数据替换为startup配置数据集中的数据。
[0127]
808、netconf服务器将running配置数据集中的数据下发到多个业务模块。
[0128]
需要说明的是,网络设备中包括多个业务模块,例如,接口模块、dhcp模块和wlan模块等,不同的业务模块用于处理不同的数据,因此,netconf服务器在下发数据时,给不同的业务模块下发该业务模块处理的数据。
[0129]
809、多个业务模块基于netconf服务器下发的数据执行生效操作。
[0130]
810

811;步骤810与步骤709相同,步骤811与步骤710相同,具体内容可以参见基于图7所述的实施例。
[0131]
另外,在如图4所示的方法中,步骤401之前也可以包括步骤701

704所示的步骤,在此不再详述。
[0132]
本发明实施例提供的方法,采用了出厂配置数据集专门存储网络设备的出厂配置数据,避免了每个业务模块保存各自的出厂配置数据,netconf服务器本身能够恢复网络设备的出厂配置,因此,不需要每个业务模块再注册各自的出厂配置处理函数,有利于进行第三方扩展,并且netconf客户端不需要通过netconf服务器向网络设备中的每个业务模块下发恢复出厂配置的命令,便于维护。另外,现有技术中由于需要向网络设备中的每个业务模块下发恢复出厂配置的命令,因此,还需要在每个业务模块的yang模型中增加用于恢复出厂配置的rpc命令,不利于yang模型的继承性和扩展性,本发明实施例中,由于不需要向网络设备中的每个业务模块下发恢复出厂配置的命令,因此,就不需要在每个业务模块的yang模型中增加用于恢复出厂配置的rpc命令,有利于yang模型的继承和扩展。
[0133]
本发明实施例还提供了一种网络设备90,如图9所示,包括:
[0134]
确定单元901,用于确定所述网络设备需要恢复出厂配置;
[0135]
替换单元902,用于将所述网络设备中的开始startup配置数据集和运行running配置数据集中的数据替换为出厂配置数据集中的出厂配置数据,所述出厂配置数据集专用于存储所述网络设备的出厂配置数据;
[0136]
下发单元903,用于将所述替换后的running配置数据集中的数据下发到执行单元904;
[0137]
所述执行单元904,用于基于所述下发单元903下发的数据执行生效操作。
[0138]
可选的,所述确定单元901具体用于:
[0139]
当所述确定单元901确定所述网络设备首次启动或确定接收到netconf客户端发送的恢复出厂配置的命令时,所述确定单元901确定所述网络设备需要恢复出厂配置。
[0140]
可选的,当所述网络设备首次启动时,所述替换单元902具体用于:
[0141]
将所述startup配置数据集中的数据替换为所述出厂配置数据;
[0142]
将所述running配置数据集中的数据替换为所述startup配置数据集中的数据。
[0143]
可选的,当所述确定单元901确定接收到netconf客户端发送的恢复出厂配置的命令时,所述替换单元902具体用于:
[0144]
将所述startup配置数据集中的数据替换为所述出厂配置数据;
[0145]
在所述网络设备重启后,将所述running配置数据集中的数据替换为所述startup配置数据集中的数据。
[0146]
可选的,当所述确定单元901确定接收到netconf客户端发送的恢复出厂配置的命令时,
[0147]
所述替换单元902具体用于:将所述startup配置数据集和running配置数据集中的数据同时替换为出厂配置数据集中的出厂配置数据;
[0148]
所述下发单元903具体用于:将替换后的所述running配置数据集与替换前的所述running配置数据集中的不同的数据下发到所述执行单元904。
[0149]
可选的,如图10所示,所述网络设备90还包括:
[0150]
会话单元905,用于建立所述网络设备和所述netconf客户端之间的面向连接的传输协议的会话;
[0151]
收发单元906,用于向所述netconf客户端发送所述网络设备的能力集,并接收所述netconf客户端发送的所述netconf客户端的能力集,所述网络设备的能力集中包括所述网络设备的恢复出厂配置能力标记,所述恢复出厂配置能力标记用于表征所述网络设备具备恢复出厂配置能力。
[0152]
可选的,所述收发单元906,还用于接收所述netconf客户端发送的保存出厂配置的命令;
[0153]
所述替换单元902,还用于将出厂配置数据集中的数据替换为目标数据,所述目标数据为预设数据、预设配置数据集中的数据或预设文件中的数据。
[0154]
可选的,所述恢复出厂配置的命令为在netconf协议的yang模型中增加的用于恢复所述网络设备的出厂配置的远程过程调用rpc命令,所述保存出厂配置的命令为在netconf协议的yang模型中增加的用于保存网络设备出厂配置的rpc命令。
[0155]
本发明实施例提供的网络设备90中的各个单元用于执行上述方法,因此,网络设备90的有益效果可以参见上述方法部分所述的有益效果,在此不再赘述。
[0156]
本发明实施例还提供了一种网络设备110,如图11所示,包括:存储器1101、处理器1102和收发器1103,存储器1101用于存储一组代码,处理器1102用于根据该组代码执行如图3

图6中所示的任意一种方法,处理器还用于执行如图7所示的方法中的步骤701

702、步骤706

708和步骤710,处理器还用于执行如图8所示的方法中的步骤801

802、步骤806

809和步骤811,收发器1103用于执行如图7所示的方法中的步骤703、步骤706和步骤710,还用于执行如图8所示的方法中的步骤803、步骤806和步骤811。
[0157]
其中,存储器1101、处理器1102和收发器1103之间是通过总线系统1104耦合在一起的,其中存储器1101可能包含随机存取存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。总线系统1104可以是工业标准体系结构(英文:industry standard architecture,简称isa)总线、外部设备互连(英文:peripheral component,简称pci)总线或扩展工业标准体系结构(英文:extended industry standard architecture,简称eisa)总线等。该总线系统1104可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0158]
其中,图9和图10中的收发单元906可以为收发器1103,其余单元可以为处理器1102,其余单元可以以硬件形式内嵌于或独立于网络设备的处理器中,也可以以软件形式存储于网络设备的存储器中,以便于处理器调用执行以上各个单元对应的操作,该处理器可以为中央处理器(英文:central processing unit,简称cpu)、特定集成电路(英文:application specific integrated circuit,简称asic)或者是被配置成实施本发明实施例的一个或多个集成电路。
[0159]
本发明实施例提供的网络设备110中的各个器件用于执行上述方法,因此,网络设备110的有益效果可以参见上述方法部分所述的有益效果,在此不再赘述。
[0160]
本发明实施例还提供了一种恢复网络设备的出厂配置的装置120,如图12所示,包括:
[0161]
接收单元1201,用于接收用户恢复所述网络设备的出厂配置的指示;
[0162]
发送单元1202,用于根据netconf协议的yang模型中增加的远程过程调用rpc命令向所述网络设备发送恢复出厂配置的命令,以使得所述网络设备将所述网络设备中的开始startup配置数据集和运行running配置数据集中的数据替换为出厂配置数据集中的出厂配置数据,并基于所述running配置数据集中的数据执行生效操作,所述出厂配置数据集专用于存储所述网络设备的出厂配置数据。
[0163]
可选的,如图13所示,所述装置120还包括:确定单元1203,用于确定所述网络设备具备恢复出厂配置能力。
[0164]
可选的,所述接收单元1201还用于:接收所述网络设备发送的所述网络设备的能力集,所述发送单元1202还用于向所述网络设备发送所述装置120的能力集,所述网络设备的能力集中包括所述网络设备的恢复出厂配置能力标记,所述恢复出厂配置能力标记用于表征所述网络设备具备恢复出厂配置能力;
[0165]
所述确定单元1203具体用于:根据所述网络设备的能力集中的恢复出厂配置能力标记确定所述网络设备具备恢复出厂配置能力。
[0166]
可选的,所述接收单元1201,还用于接收所述用户保存所述网络设备的出厂配置的指示;
[0167]
所述发送单元1202,还用于根据netconf协议的yang模型中增加的用于保存所述网络设备的出厂配置的rpc命令向所述网络设备发送保存出厂配置的命令,以使得所述网络设备将出厂配置数据集中的数据替换为目标数据,所述目标数据为预设数据、预设配置数据集中的数据或预设文件中的数据。
[0168]
本发明实施例提供的装置120中的各个单元用于执行上述方法,因此,装置120的有益效果可以参见上述方法部分所述的有益效果,在此不再赘述。
[0169]
本发明实施例还提供了一种恢复网络设备的出厂配置的装置140,如图14所示,包括:发送器1401、接收器1402、存储器1403和处理器1404,处理器1404用于根据存储器1403中存储的代码执行相应的动作。
[0170]
其中,发送器1401、接收器1402、存储器1403和处理器1404之间是通过总线系统1405耦合在一起的,其中存储器1403可能包含随机存取存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。总线系统1405可以是isa总线、pci总线或eisa总线等。该总线系统1405可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0171]
具体的,处理器1404用于通过发送器1401执行如图7所示的方法中的步骤703、步骤705和步骤709以及如图8所示的方法中的步骤803、步骤805和步骤810,处理器1404还用于执行如图7所示的方法中的步骤702和704以及如图8所示的方法中的步骤802和804。
[0172]
其中,图12和图13中的接收单元1201可以为接收器1402,发送单元1202可以为发送器1401,确定单元1203可以为处理器1404,确定单元可以以硬件形式内嵌于或独立于恢复网络设备的出厂配置的装置的处理器中,也可以以软件形式存储于恢复网络设备的出厂配置的装置的存储器中,以便于处理器调用执行以上各个单元对应的操作,该处理器可以为cpu、asic或者是被配置成实施本发明实施例的一个或多个集成电路。
[0173]
本发明实施例提供的装置140中的各个器件用于执行上述方法,因此,装置140的有益效果可以参见上述方法部分所述的有益效果,在此不再赘述。
[0174]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0175]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0176]
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0177]
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机
设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read

only memory,简称rom)、随机存取存储器(英文:random access memory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1