CN107306202A - 一种网络管理方法、服务器、客户端及系统 - Google Patents

一种网络管理方法、服务器、客户端及系统 Download PDF

Info

Publication number
CN107306202A
CN107306202A CN201610259857.4A CN201610259857A CN107306202A CN 107306202 A CN107306202 A CN 107306202A CN 201610259857 A CN201610259857 A CN 201610259857A CN 107306202 A CN107306202 A CN 107306202A
Authority
CN
China
Prior art keywords
server
client
friendly
friend
data
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.)
Granted
Application number
CN201610259857.4A
Other languages
English (en)
Other versions
CN107306202B (zh
Inventor
冯冲
朱永飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610259857.4A priority Critical patent/CN107306202B/zh
Priority to CN202010803704.8A priority patent/CN112087318B/zh
Publication of CN107306202A publication Critical patent/CN107306202A/zh
Application granted granted Critical
Publication of CN107306202B publication Critical patent/CN107306202B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本发明实施例公开了一种网络管理方法、服务器、客户端及系统,一种网络管理方法,包括:服务器经由客户端与所述服务器之间的SSH连接向客户端发送携带有第一友元friendly‑element标识的第一Hello报文;服务器经由所述SSH连接接收来自客户端的携带有第二友元friendly‑element标识的第二Hello报文,从而服务器确定所述服务器与所述客户端之间的友元关系。本发明实施例通过建立服务器和客户端之间的友元关系,使得服务器与客户端之间能基于不严格匹配的原则进行通信,从而在服务器和客户端的版本不一致时也能顺利进行通信,提高网络管理效率。

Description

一种网络管理方法、服务器、客户端及系统
技术领域
本发明涉及通信领域,具体涉及一种网络管理方法、服务器、客户端及系统。
背景技术
NETCONF(Network Configuration Protocal,网络配置协议)是一种基于XML(Extensible Markup Language,可扩展标记语言)的网络管理协议,它提供了一种对网络设备进行配置和管理的方法。该协议允许设备提供一系列完整、规范化的编程接口,应用程序或用户可以通过该接口对网络设备配置参数、获取参数值或查询参数值等。
在基于NETCONF的网络管理过程中,网管设备(客户端)和目标网络设备(服务器)需要版本一致才能使通信顺利进行,而在实际情况中,经常会出现网管设备或目标网络设备升级的情况。通常情况下,由于网管设备管理的网络设备众多,因此无法做到网管设备与网络设备同时升级。例如,网管设备升级后,某些网络设备没有进行升级,从而导致网管设备和目标网络设备的版本不一致,使得网管设备和目标网络设备之间的通信无法正常进行。又例如,网管设备升级后,在整个网络中的所有网络设备完成升级前,使得网管设备和还未升级的网络设备之间的通信无法正常进行。
发明内容
本发明实施例提供了一种网络管理方法、服务器、客户端及系统,以期可以在客户端和服务器的管理模块版本不一致的情况下实现正常通信。
第一方面,本发明实施例提供一种网络管理方法,包括:
服务器经由客户端与服务器之间的SSH连接向客户端发送第一Hello报文,其中,该第一Hello报文携带有第一友元friendly-element标识,该第一友元friendly-element标识用于指示服务器具有第一友元能力,其中,第一友元能力用于表示所述服务器能够对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;服务器再经由所述SSH连接接收来自客户端的第二Hello报文,该第二Hello报文携带有第二友元friendly-element标识,该第二友元friendly-element标识用于指示客户端具有第二友元能力,该第二友元能力用于表示客户端能够对接收到的来自服务器的NETCONF回应报文中不能识别的字段进行忽略处理;最后服务器再根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定服务器与客户端之间的友元关系。通过在服务器和客户端之间的Hello报文中携带友元friendly-element标识来建立服务器和客户端之间的友元关系,使得服务器与客户端之间能基于不严格匹配的原则进行通信,从而在服务器和客户端的版本不一致时也能顺利进行通信,提高网络管理效率。
在一个可能的设计中,在服务器根据第一友元friendly-element标识和第二友元friendly-element标识确定服务器与客户端之间的友元关系后,上述方法还包括:
服务器接收客户端发送的NETCONF请求报文,其中,该NETCONF请求报文中包括edit-config请求、基于客户端数据模型的待配置数据节点以及待配置数据节点的待配置数值;然后服务器基于服务器数据模型确定该待配置数据节点是否能够被识别,当该待配置数据节点能够被识别时,服务器利用该待配置数值对该待配置数据节点进行数据配置,当该待配置数据节点不能够被识别时,服务器忽略该待配置数据节点;最后服务器向客户端返回NETCONF回应报文,其中,该NETCONF回应报文包括数据配置是否成功的指示。通过此种基于友元连接的不严格匹配的通信方式,可以解决客户端与服务器的版本不匹配的问题,也即客户端数据模型与服务器数据模型不一致时,也能顺利进行数据配置而不会报错,使得基于NETCONF协议的edit-config操作能够顺利进行,提高网络管理效率。
在一个可能的设计中,在服务器根据第一友元friendly-element标识和第二友元friendly-element标识确定服务器与客户端之间的友元关系后,上述方法还包括:
服务器接收客户端发送的NETCONF请求报文,该NETCONF请求报文包括get或get-config请求、以及基于客户端数据模型的数据过滤条件,该数据过滤条件包括选择数据节点;服务器基于服务器数据模型确定该选择数据节点是否能够被识别,当该选择数据节点能够被识别时,服务器从预设服务器数据中获取与该选择数据节点对应的选择数据节点数值以得到获取结果数据,当该选择数据节点不能够被识别时,服务器忽略该选择数据节点;最后服务器向客户端发送NETCONF回应报文,其中,该NETCONF回应报文包括所述获取结果数据。通过建立客户端与服务器之间的友元连接,从而可以在客户端与服务器版本不一致,也即客户端数据模型与服务器数据模型不一致时,也能顺利使get或get-config操作顺利进行而不会报错,提高网络管理效率。
在一个可能的设计中,在服务器根据第一友元friendly-element标识和第二友元friendly-element标识确定服务器与客户端之间的友元关系后,上述方法还包括:
服务器接收客户端发送的NETCONF请求报文,该NETCONF请求报文中包括copy-config请求、与该copy-config请求对应的数据源标识、与该copy-config请求对应的目标数据集标识以及基于数据源数据模型的待拷贝数据节点,并且上述第一友元能力还用于表示服务器能够对数据源标识所指示的数据源中不能识别的字段进行忽略处理;服务器基于服务器数据模型确定待拷贝数据节点是否能够被识别,当该待拷贝数据节点能够被识别时,服务器拷贝该数据源中的待拷贝数据节点的数值至目标数据集标识所指示的目标数据集中,当该待拷贝数据节点不能够被识别时,服务器忽略所述数据源中所述待拷贝数据节点的数值;最后服务器向客户端发送NETCONF回应报文,其中,该NETCONF回应报文包括数据拷贝是否成功的指示。通过基于友元连接对客户端发送的数据源标识所指示的数据源执行不严格匹配的通信方式,可以解决数据源数据模型与服务器数据模型不匹配的问题,也即客户端数据模型与服务器数据模型不相同时也能顺利进行数据拷贝而不会报错,使得基于NETCONF协议的copy-config操作能够顺利进行,提高网络管理效率。
在一个可能的设计中,上述方法还包括:
若服务器检测到客户端数据模型或服务器数据模型发生改变,则服务器判断客户端数据模型与服务器数据模型是否一致;当客户端数据模型与服务器数据模型一致时,服务器关闭第一友元能力,从而使得服务器不具备对接收到的来自客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
在一个可能的设计中,上述方法还包括:
若客户端数据模型与服务器数据模型一致,则服务器经由SSH连接向客户端发送指示客户端关闭所述第二友元能力的指示消息,以使客户端不具备对接收到的来自服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。从而使得网络管理过程中对客户端与服务器之间的友元关系的灵活控制,保证通信安全。
第二方面,本发明实施例提供一种网络管理方法,包括:
客户端经由客户端与服务器之间的SSH连接接收服务器发送的第一Hello报文,该第一Hello报文中携带有第一友元friendly-element标识,该第一友元friendly-element标识用于指示服务器具有第一友元能力,该第一友元能力用于表示服务器对接收到的来自客户端的NETCONF请求报文中不能识别的字段进行忽略处理;客户端经由所述SSH连接向服务器发送第二Hello报文,该第二Hello报文携带有第二友元friendly-element标识,其中,第二友元friendly-element标识用于指示客户端具有第二友元能力,该第二友元能力用于表示客户端对接收到的来自服务器的NETCONF回应报文中不能识别的字段进行忽略处理;最后客户端根据第一友元friendly-element标识和第二友元friendly-element标识确定客户端与服务器之间的友元关系。通过在服务器和客户端之间的Hello报文中携带友元friendly-element标识来建立服务器和客户端之间的友元关系,使得服务器与客户端之间能基于不严格匹配的原则进行通信,从而在服务器和客户端的版本不一致时也能顺利进行通信,提高网络管理效率。
在一个可能的设计中,在客户端根据第一友元friendly-element标识和第二友元friendly-element标识确定客户端与服务器之间的友元关系后,上述方法还包括:
客户端接收服务器返回的NETCONF回应报文,该NETCONF回应报文包括服务器根据get或get-config请求得到的获取结果数据,其中,该获取结果数据的数据模型为服务器数据模型;客户端基于客户端数据模型确定获取结果数据中能够被识别的数据节点以及不能够被识别的数据节点,然后客户端保存该获取结果数据中能够被识别的数据节点的数值,并忽略该获取结果数据中所述不能够被识别的数据节点的数值。从而在客户端与服务器版本不一致时,接收到来自服务器的获取结果数据时,也能顺利保存而不会报错,提高网络管理效率。
在一个可能的设计中,上述方法还包括:
若客户端检测到客户端数据模型或服务器数据模型发生改变,则判断客户端数据模型与服务器数据模型是否一致;若客户端数据模型与服务器数据模型一致,则客户端关闭第二友元能力,以使客户端不具备对接收到的来自服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。
在一个可能的设计中,上述方法还包括:
若客户端数据模型与服务器数据模型一致,则客户端经由SSH连接向服务器发送指示服务器关闭所述第一友元能力的指示消息,以使服务器不具备对接收到的来自客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。从而使得网络管理过程中对客户端与服务器之间的友元关系的灵活控制,保证通信安全。
第三方面,本发明实施例还提供一种服务器,包含用于执行本发明实施例第一方面中的方法的单元。
第四方面,本发明实施例还提供一种客户端,包含用于执行本发明实施例第二方面中的方法的单元。
第五方面,本发明实施例还提供一种服务器,该服务器中包括处理器,处理器被配置为支持该服务器执行第一方面提供的一种网络管理方法中相应的功能。该服务器还可以包括存储器,存储器用于与处理器耦合,其保存该服务器必要的程序指令和数据。该服务器还可以包括通信接口,用于该服务器与其他设备或通信网络通信。
第六方面,本发明实施例还提供一种客户端,该客户端中包括处理器,处理器被配置为支持该客户端执行第二方面提供的一种网络管理方法中相应的功能。该客户端还可以包括存储器,存储器用于与处理器耦合,其保存该客户端必要的程序指令和数据。该客户端还可以包括通信接口,用于该客户端与其他设备或通信网络通信。
第七方面,本发明实施例提供一种计算机存储介质,用于储存为上述第五方面提供的服务器所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
第八方面,本发明实施例提供一种计算机存储介质,用于储存为上述第六方面提供的客户端所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1-a是本发明实施例提供的一种网络管理系统结构图;
图1-b是本发明实施例提供的一种网络管理方法的第一实施例流程示意图;
图1-c为本发明实施例提供的一种客户端数据模型和服务器数据模型示意图;
图1-d为本发明实施例提供的一种edit-config操作流程示意图;
图1-e为本发明实施例提供的一种get或get-config操作的第一实施例流程示意图;
图1-f为本发明实施例提供的一种get或get-config操作的第二实施例流程示意图;
图1-g为本发明实施例提供的一种get或get-config操作的第三实施例流程示意图;
图1-h为本发明实施例提供的一种get或get-config操作的第四实施例流程示意图;
图2为本发明实施例提供的一种网络管理方法的第二实施例流程示意图;
图3为本发明实施例提供的一种网络管理方法的第三实施例流程示意图;
图4是本发明实施例提供的一种服务器的第一实施例的结构示意图;
图5是本发明实施例提供的一种服务器的第二实施例的结构示意图;
图6是本发明实施例提供的一种服务器的第三实施例的结构示意图;
图7是本发明实施例提供的一种客户端的第一实施例的结构示意图;
图8是本发明实施例提供的一种客户端的第二实施例的结构示意图;
图9是本发明实施例提供的一种客户端的第三实施例的结构示意图。
具体实施方式
本发明实施例提供了一种网络管理方法、服务器、客户端及系统,以期可以在客户端和服务器的管理模块版本不一致的情况下实现正常通信。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)、网络管理,是指通过监测、控制、记录电信网络资源的性能和使用情况,以使网络有效运行的技术手段,在网络管理中,使用的最基本的网络管理协议是简单网络管理协议(Simple Network Management Protocol,简称SNMP)。
(2)、网络配置协议(Network Configuration Protocol,简称NETCONF),是指在网络管理中使用的、全新的基于可扩展标记语言(Extensible MarkupLanguage,简称XML)的网络配置协议,NETCONF全面地定义了九种基础操作,功能主要包括取值操作、配置操作、锁操作和会话操作,在本发明实施例中,主要针对的是在客户端和服务器之间需要进行数据交换的几个操作:edit-config操作、get或get-config操作、以及copy-config操作。
(3)、友元,是指在本发明实施例中为NETCONF协议新增一种能力,该能力表示协议双方(客户端和服务器)可以协商为友元,协商为友元的双方认可不严格的模型匹配,即对不能识别的字段采取忽略而不是报错的方式,这样网管(客户端)在下发报文时不需要再检查版本匹配关系,可以根据自身支持的能力下发报文,而设备在接收报文时,对于不能识别的字段可以忽略。网管对于收到的回应报文也是基于同样的处理原则,即不能识别的字段忽略。这样网管侧和设备侧都可以独立地按照自身的能力去下发和接收报文,不需要再进行复杂的版本比较及其相关的处理。
在本发明实施例中,具体地,可以通过在NETCONF协议双方的hello报文中增加友元(friendly-element)标识为客户端和服务器增加友元能力。
(4)、数据模型,是指客户端或服务器所使用的一种数据格式,数据模型由各个节点组成,从而当客户端或服务器发送特定数据时,该特定数据的格式即可直接使用该数据模型的格式。在本发明实施例中,客户端数据模型是指客户端所使用的数据模型,服务器数据模型是指服务器所使用的数据模型。
(5)、“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
下面结合附图对本申请的实施例进行描述。
首先参见图1-a,图1-a是本发明实施例提供的一种网络管理系统结构图,本发明实施例所提供的网络管理方法均基于该网络管理系统实现,在图1-a所示的网络管理系统结构图中,包括客户端和服务器,其中,客户端也即网管设备,是指在网络管理中用于安装网络管理实体,从而为不同的网络管理协议和操作提供用户界面,以用于接收网络管理员用户的业务操作,并将用户的业务操作转换为各个网络管理协议和操作所对应的业务操作下发到对应的目标网络设备,也即服务器。在本发明实施例中,该客户端的形式包括但不限于各种形式的用户设备(User Equipment,简称UE),终端(terminal),终端设备(TerminalEquipment)等等;服务器,也即目标网络设备,是指用于接收来自于NETCONF协议网络管理实体和其它非NETCONF协议网络管理实体的网络代理的业务操作,例如,若网络管理员用户在客户端界面执行配置操作,则服务器接收到该操作内容后对服务器的相应数据进行配置。在本发明实施例中,该服务器的形式包括但不限于NETCONF服务器、集线器、路由器和交换机等。在本发明实施例的网络管理方法执行过程中,由客户端基于NETCONF协议向服务器发送包括操作请求的NETCONF请求,然后服务器对该NETCONF请求进行处理并返回处理结果给客户端。
参见图1-b,图1-b是本发明实施例提供的一种网络管理方法的第一实施例流程示意图。如图1-b所示,本发明实施例提供的网络管理方法的第一实施例可以包括以下步骤:
S101、服务器经由客户端与所述服务器之间的SSH连接向客户端发送第一Hello报文。
其中,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理。
同时,在服务器经由SSH连接向客户端发送第一Hello报文后,客户端经由所述客户端与服务器之间的SSH连接接收所述服务器发送的第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理。
在本发明实施例中,客户端可以通过NETCONF请求报文向服务器发送edit-config操作请求、get或get-config操作请求、以及copy-config操作请求。
其中,SSH连接,也即Secure Shell连接,是指客户端与服务器之间的一个物理通信连接,从而基于该SSH连接客户端与服务器之间能够发送Hello报文以建立会话连接。
S102、所述客户端经由所述SSH连接向服务器发送第二Hello报文。
其中,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理。
同时,在客户端经由SSH连接发送第二Hello报文,所述服务器经由所述SSH连接接收来自客户端的第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理。
其中,NETCONF回应报文是指服务器对客户端发送过来的NETCONF请求报文进行处理后所返回的数据报文。
更进一步地,服务器向客户端发送的数据报文除了NETCONF回应报文外,还可以为NETCONF notification报文,是指由服务器主动向客户端发送的数据报文。
S103、所述服务器根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系。
相应地,所述客户端根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述客户端与所述服务器之间的友元关系。
可以理解,通过上述方式确定客户端与服务器之间的友元关系后,也即表示客户端与服务器可以基于友元能力进行通信,从而客户端与服务器在通信的过程中可以执行不严格匹配的处理方式也不会报错。
需要说明,在本发明实施例中,不严格匹配是指通信双方对对方所发送的数据报文中不能够识别的字段进行忽略处理,也即服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理,客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理,而不会导致报错,从而可以在客户端与服务器端的版本不一致时双方的通信能够顺利进行。
更进一步地,当服务器和客户端为同一版本时,也即服务器和客户端的数据模型相同,此时基于服务器和客户端之间的友元连接进行通信的情况下,服务器和客户端在通信时也将基于模型进行严格的匹配,与未建立友元连接时的通信方式相同,故该友元连接的建立在服务器和客户端的版本相同时不会影响彼此的正常通信。
可以看出,本实施例的方案中,服务器经由客户端与服务器之间的SSH连接向客户端发送第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;客户端在同时也向服务器发送第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;从而在服务器接收到客户端发送的第二Hello报文,以及客户端接收到服务器端发送的第一Hello报文后,服务器端和客户端之间根据第一友元friendly-element标识和第二友元friendly-element标识建立友元关系。通过在服务器和客户端之间的Hello报文中携带友元friendly-element标识来建立服务器和客户端之间的友元关系,使得服务器与客户端之间能基于不严格匹配的原则进行通信,从而在服务器和客户端的版本不一致时也能顺利进行通信,提高网络管理效率。
可选地,在本发明的一些可能的实施方式中,在所述服务器根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系后,所述方法还包括:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文中包括edit-config请求、基于客户端数据模型的待配置数据节点以及待配置数据节点的待配置数值;
所述服务器基于服务器数据模型确定所述待配置数据节点是否能够被识别,当所述待配置数据节点能够被识别时,所述服务器利用所述待配置数值对所述待配置数据节点进行数据配置,当所述待配置数据节点不能够被识别时,所述服务器忽略所述待配置数据节点;
所述服务器向所述客户端发送所述NETCONF回应报文,所述NETCONF回应报文包括数据配置是否成功的指示。
在本发明实施例中,edit-config请求可以为数据配置请求,也即客户端通过向服务器发送edit-config请求操作来使服务器对相应数据进行配置。
其中,待配置数据节点可以为客户端数据模型中的某一个或几个数据节点,也可以为客户端数据模型中的所有数据节点,待配置数据节点的待配置数值可以是基于客户端数据模型发送给服务器,也可以是以其它形式包含在NETCONF请求报文中。
需要说明,在本发明实施例中,当客户端需要对某个数据进行配置时,则向服务器发送NETCONF请求报文,该NETCONF请求报文中包括edit-config请求,待配置的数据节点(由于该NETCONF请求报文是由客户端所发送,所以该待配置的数据节点为基于客户端数据模型的数据节点),与待配置数据节点相对应的待配置数值,从而服务器在接收到该NETCONF请求报文后,将基于友元连接对该NETCONF请求报文执行不严格匹配,也即服务器将查找待配置数据节点是否存在于服务器数据模型中,若查找到待配置数据节点存在于服务器数据模型中,也即服务器可识别该待配置数据节点,从而服务器将利用与该待配置数据节点相应的待配置数值对该待配置数据节点进行数据配置;若服务器未在服务器数据模型中查找到该待配置数据节点,从而服务器将忽略该待配置数据节点。
更进一步的,在本发明的一些可能的实施方式中,待配置数据节点为多个,其中部分为服务器可识别的数据节点,部分为服务器不可识别的数据节点,则服务器将基于服务器数据模型查找并确定待配置数据节点中可识别的数据节点以及不可识别的数据节点,具体确定方式同上实施例,然后服务器再对待配置数据节点中可识别的数据节点利用该待配置数据节点的待配置数值进行数据配置,并且同时服务器将忽略该待配置数据节点中不能识别的待配置数据节点,也即不对待配置数据节点中不能识别的待配置数据节点进行数据配置。
更进一步地,当服务器仅对服务器能够识别的待配置数据节点进行数据配置后,若数据配置成功,则向客户端返回数据配置成功的指示,若数据配置不成功,则向客户端返回数据配置不成功的指示。
举例说明,在本发明的一些可能的实施方式中,若客户端数据模型model包括数据节点new、数据节点id和数据节点name,而服务器数据模型model包括数据节点type、数据节点id和数据节点name,具体可参见图1-c,图1-c为本发明实施例提供的一种客户端数据模型和服务器数据模型示意图。
若客户端基于客户端数据模型请求配置数据节点new的数值为1以及数据节点name的数值为double,此时服务器将基于服务器数据模型确定能够识别的数据节点为name,从而服务器将忽略不能识别的数据节点new,仅配置能够识别的数据节点name=double,并通过NETCONF回应报文返回配置成功的处理结果给客户端。可参见图1-d,图1-d为本发明实施例提供的一种edit-config操作流程示意图;
若客户端请求对A中所有数据进行配置,此时服务器将忽略不能识别的节点new,再基于服务器数据模型对能够识别的节点id和name进行数据配置。
可以理解,通过此种基于友元连接的不严格匹配的通信方式,可以解决客户端与服务器的版本不匹配的问题,也即客户端数据模型与服务器数据模型不一致时,也能顺利进行数据配置而不会报错,使得基于NETCONF协议的edit-config操作能够顺利进行,提高网络管理效率。
可选地,在本发明的一些可能的实施方式中,在所述服务器根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系后,所述方法还包括:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文包括get或get-config请求、以及基于客户端数据模型的数据过滤条件,所述数据过滤条件包括选择数据节点;
所述服务器基于服务器数据模型确定所述选择数据节点是否能够被识别,当所述选择数据节点能够被识别时,所述服务器从预设服务器数据中获取与所述选择数据节点对应的选择数据节点数值以得到获取结果数据,当所述选择数据节点不能够被识别时,所述服务器忽略所述选择数据节点;
所述服务器向所述客户端发送所述NETCONF回应报文,所述NETCONF回应报文包括所述获取结果数据。
在本发明实施例中,get或get-config请求可以表示客户端请求从服务器获取数据或查询数据,其中,get用于在不对数据类型进行限制时客户端从服务器中获取或查询数据,而get-config用于在客户端从服务器中获取或查询配置数据。
其中,预设服务器数据是指存在于服务器中,当服务器利用get或get-config从服务器中获取数据时的数据获取源,显然地,该预设服务器数据是基于服务器数据模型的。优选地,该预设服务器数据为当前服务器所运行的线程中正在操作的数据。
其中,数据过滤条件是指为get或get-config获取数据时所设立的待获取数据需要满足的条件,也即服务器基于该数据过滤条件从服务器中获取相应数据,该数据过滤条件包括选择数据节点,选择数据节点用于指定服务器获取数据时的数据节点。
需要说明,当客户端需要从服务器中获取数据时,则向服务器发送NETCONF请求报文,该NETCONF请求报文中get或get-config请求以及数据过滤条件,数据过滤条件中包括选择数据节点,从而当服务器接收到该NETCONF请求报文后,将基于友元连接对该数据过滤条件执行不严格匹配过滤,也即服务器将基于服务器数据模型查找该选择数据节点是否存在于服务器数据模型中,当该选择数据节点存在于服务器数据模型中时,则表示该选择数据节点能够被服务器识别,此时服务器将从预设服务器数据中获取与该选择数据节点对应的选择数据节点数值得到获取结果数据,当该选择数据节点不存在于服务器数据模型中,此时表示服务器无法识别该选择数据节点,从而服务器将忽略该选择数据节点。
更进一步地,数据过滤条件还包括内容匹配数据节点以及与该内容匹配数据节点对应的匹配数值,该内容匹配数据节点用于服务器基于服务器数据模型从预设服务器数据中获取包括该内容匹配数据节点并且该内容匹配数据节点数值等于该匹配数值的预设服务器数据。
在本发明实施例中,在客户端与服务器之间建立友元连接后,将不管服务器是否能够识别该内容匹配数据节点,服务器都将会利用该内容匹配数据节点进行数据过滤来得到获取结果数据,因为如果服务器忽略不能识别的内容匹配数据节点后,也即相当于服务器将该部分数据限制条件丢弃,使得获取结果数据出错。
可选地,在本发明的一些可能的实施方式中,数据过滤条件可以只包括选择数据节点,也可以只包括内容匹配数据节点,还可以同时包括选择数据节点和内容匹配数据节点,而服务器在利用数据过滤条件从预设服务器数据中获取数据时基于的获取规则为:对于包括内容匹配数据节点数值的内容匹配数据节点,服务器将利用所有的内容匹配数据节点以及内容匹配数据节点数值进行匹配过滤得到获取结果数据,而对于选择数据节点,服务器将基于服务器数据模型确定出来能够识别的选择数据节点和不能够识别的选择数据节点,对于不能够识别的选择数据节点,服务器将忽略该部分选择数据节点,不利用该部分选择数据节点获取数据,只保留能够识别的选择数据节点作为过滤条件,从而服务器利用该能够识别的选择数据节点从预设服务器数据中获取该选择数据节点的数值得到获取结果数据。
在本发明实施例中,该获取结果数据可以为包括服务器数据模型中所有节点数值的数据,也可以为只包括服务器数据模型中部分节点数值的数据。
可选地,在本发明的一些可能的实施方式中,在所述客户端根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述客户端与所述服务器之间的友元关系后,所述方法还包括:
所述客户端接收所述服务器返回的NETCONF回应报文,所述NETCONF回应报文包括所述服务器根据get或get-config请求得到的获取结果数据,其中,所述获取结果数据的数据模型为所述服务器数据模型;
所述客户端基于所述客户端数据模型确定所述获取结果数据中能够被识别的数据节点以及不能够被识别的数据节点,所述客户端保存所述获取结果数据中所述能够被识别的数据节点的数值,并忽略所述获取结果数据中所述不能够被识别的数据节点的数值。
需要说明,客户端在接收到服务器返回的获取结果数据后,客户端将基于客户端数据模型确定基于服务器数据模型的获取结果数据中的各数据节点是否存在于客户端数据模型中,对于存在于客户端数据模型的数据节点,则表示客户端能够识别,此时客户端将基于客户端数据模型保存获取结果数据中该数据节点的值,而对于不存在于客户端数据模型的数据节点,则表示客户端不能够识别,此时忽略该数据节点。
举例说明,在本发明的一些可能的实施方式中,依然参考图1-c所示的客户端数据模型和服务器数据模型示意图,若客户端数据模型model包括数据节点new、数据节点id和数据节点name,而服务器数据模型model包括数据节点type、数据节点id和数据节点name,当客户端基于客户端数据模型请求获取数据节点new和数据节点name的数值,此时数据节点new和数据节点name相当于过滤条件中的选择数据节点,此时服务器将基于服务器数据模型确定选择数据节点中能够识别的选择数据节点name以及new为不能够识别的选择数据节点,从而服务器将从预设服务器数据中(例如为modelA,modelA中数据节点name的数值为double),获取数据节点name的数值,得到double,该数值即为获取结果数据,然后服务器将该获取结果数据通过NETCONF回应报文返回给客户端,客户端在接收到数据节点name的数值double后,由于name存在于客户端数据模型中,即客户端能够识别该获取结果数据,客户端将保存数据节点name的数值double,可参见图1-e,图1-e为本发明实施例提供的一种get或get-config操作的第一实施例流程示意图。
在另一个实施例中,若客户端请求获取预设服务器数据中数据节点id=1且数据节点new=2的所有数据,此时相当于设置数据节点id和数据节点name为内容匹配数据节点,而由于服务器数据模型中不存在数据节点new,所以在利用new=2这一过滤条件进行数据过滤时,将在预设服务器数据中搜索不到任何满足new=2的预设服务器数据,最终返回空数据给客户端,但是服务器在利用过滤条件过滤时,并不能基于客户端与服务器之间的友元连接忽略new=2这一过滤条件,若忽略了,则相当于删除了该过滤条件,此时相当于只获取了预设服务器数据中id=1的数据为获取结果数据,而该结果显示与期望获得的结果是不一样,可参见图1-f,图1-f为本发明实施例提供的一种get或get-config操作的第二实施例流程示意图。
在另一个实施例中,若客户端请求获取预设服务器数据中数据节点id=1的数据中数据节点new的数值,此时相当于设置数据过滤条件时,id为内容匹配数据节点,new为选择数据节点,服务器在接收到该获取请求时,首先过滤预设服务器数据中数据节点id=1的数据,例如此时得到两个数据modelA和modelB,而当再利用选择数据节点new进行过滤时,由于服务器数据模型中不存在数据节点new,所以将不从modelA和modelB中获取任何数据,最终返回空数据给客户端,可参见图1-g,图1-g为本发明实施例提供的一种get或get-config操作的第三实施例流程示意图。
在又一个实施例中,若客户端设置数据过滤条件为仅包括内容匹配节点id=1,也即请求获取预设服务器数据中数据节点id=1的所有数据,例如此时得到数据modelA为获取结果数据,服务器将modelA(modelA为基于服务器数据模型的,各个数据节点值分别为type=1,id=1,name=1)返回给客户端,客户端在接收到该数据后,将基于客户端数据模型确定其中可识别的数据节点id和name,并保存数据节点id的数值1,以及数据节点name的数值为2,对于不能识别的数据节点type则忽略,可参见图1-h,图1-h为本发明实施例提供的一种get或get-config操作的第四实施例流程示意图。
可以理解,在客户端与服务器之间建立友元连接后,服务器对于基于NETCONF协议的get或get-config操作过滤条件的处理过程中,如果是内容匹配数据节点,全部作为过滤条件进行过滤,对于选择数据节点则忽略不能识别的选择节点,通过此种方式解决客户端与服务器版本不匹配的问题并使得获取结果数据正确,最终得到获取结果数据返回给客户端后,客户端对于获取结果数据的解析保存过程中,也执行不严格匹配,对于不能够识别的数据节点进行忽略,只保存客户端能够识别的数据节点,通过此种方式解决客户端与服务器版本不匹配的问题。从而可以在客户端与服务器版本不一致,也即客户端数据模型与服务器数据模型不一致时,也能顺利使get或get-config操作顺利进行而不会报错,提高网络管理效率。
可选地,在本发明的一些可能的实施方式中,在所述服务器根据所述第一friendly-element标识和所述第二friendly-element标识确定所述服务器与所述客户端之间的友元关系后,所述方法还包括:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文中包括copy-config请求、与所述copy-config请求对应的数据源标识、与所述copy-config请求对应的目标数据集标识以及基于数据源数据模型的待拷贝数据节点,所述第一友元能力还用于表示所述服务器对所述数据源标识所指示的数据源中不能识别的字段进行忽略处理;
所述服务器基于服务器数据模型确定所述待拷贝数据节点是否能够被识别,当所述待拷贝数据节点能够被识别时,所述服务器拷贝所述数据源标识所指示的数据源中所述待拷贝数据节点的数值至所述目标数据集标识所指示的目标数据集中,当所述待拷贝数据节点不能够被识别时,所述服务器忽略所述数据源中所述待拷贝数据节点的数值;
所述服务器向所述客户端发送NETCONF回应报文,所述NETCONF回应报文包括数据拷贝是否成功的指示。
其中,该数据源标识所指示的数据可以为存在于服务器中的数据,也可以为其它位置的数据,例如若该数据源标识为统一资源定位符(Uniform ResoureLocator,简称URL),则该数据源为该URL所指向的数据,该目标数据集可以为服务器的running数据集。
其中,待拷贝数据节点可以为数据源数据模型中的一个或几个数据节点,也可以为数据源数据模型中的所有数据节点。
需要说明,在本发明实施例中,当客户端请求从某个数据源拷贝数据时,则客户端向服务器发送NETCONF请求报文,该NETCONF请求报文中包括copy-config请求、与该copy-config请求对应的数据源标识、与该copy-config请求对应的目标数据集标识以及基于数据源数据模型的待拷贝数据节点,从而服务器在接收到该NETCONF请求报文后,将基于友元连接对该NETCONF请求报文执行不严格匹配,也即服务器将查找待拷贝数据节点是否存在于服务器数据模型中,若查找到待拷贝数据节点存在于服务器数据模型中,也即服务器可识别该待拷贝数据节点,从而服务器将从数据源标识所指示的数据源中拷贝该待拷贝数据节点对应的数值至目标数据集标识所指示的目标数据集中,若服务器未在服务器数据模型中查找到该待拷贝数据节点,从而服务器将忽略该待拷贝数据节点。
更进一步的,在本发明的一些可能的实施方式中,待拷贝数据节点为多个,其中部分为服务器可识别的数据节点,部分为服务器不可识别的数据节点,则服务器将基于服务器数据模型查找并确定待拷贝数据节点中可识别的数据节点以及不可识别的数据节点,具体确定方式同上实施例,然后服务器再拷贝数据源中该待拷贝数据节点中可识别的数据节点的数值至目标数据集中,同时服务器将忽略该待拷贝数据节点中不可识别的数据节点。当数据拷贝成功后,服务器将返回拷贝成功的指示给客户端,当数据拷贝不成功时,服务器将返回数据拷贝不成功的指示给客户端。
举例说明,在本发明的一些可能的实施方式中,若数据源数据模型model包括数据节点new、数据节点id和数据节点name,而服务器数据模型model包括数据节点type、数据节点id和数据节点name,若待拷贝数据节点为new和id,由于服务器基于服务器数据模型仅能识别数据节点id,从而服务器将拷贝url所指示的数据源中数据节点new的数值至目标数据集中,忽略数据源中数据节点new的值,最终返回拷贝成功的指示给客户端;
若客户端请求对数据源中所有数据进行拷贝,此时服务器将忽略不能识别的节点new的数值,并拷贝服务器能够识别的节点id和name的数值至目标数据集中。
可以理解,通过基于友元连接对客户端发送的数据源标识所指示的数据源执行不严格匹配的通信方式,可以解决数据源数据模型与服务器数据模型不匹配的问题,也即客户端数据模型与服务器数据模型不相同时也能顺利进行数据拷贝而不会报错,使得基于NETCONF协议的copy-config操作能够顺利进行,提高网络管理效率。
可选地,在本发明的一些可能的实施方式中,所述方法还包括:
若所述服务器检测到所述客户端数据模型或所述服务器数据模型发生改变,则判断所述客户端数据模型与所述服务器数据模型是否一致;
若所述客户端数据模型与所述服务器数据模型一致,则所述服务器关闭所述第一友元能力,以使所述服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
可选地,在本发明的一些可能的实施方式中,所述方法还包括:
若所述客户端数据模型与所述服务器数据模型一致,则所述服务器经由所述SSH连接向所述客户端发送指示所述客户端关闭所述第二友元能力的指示消息,以使所述客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。
可选地,在本发明的一些可能的实施方式中,所述方法还包括:
所述方法还包括:
若所述客户端检测到所述客户端数据模型或所述服务器数据模型发生改变,则判断所述客户端数据模型与所述服务器数据模型是否一致;
若所述客户端数据模型与所述服务器数据模型一致,则所述客户端关闭所述第二友元能力,以使所述客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。
可选地,在本发明的一些可能的实施方式中,所述方法还包括:
若所述客户端数据模型与所述服务器数据模型一致,则所述客户端经由所述SSH连接向所述服务器发送指示所述服务器关闭所述第一友元能力的指示消息,以使所述服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
具体地,可通过在客户端和服务器之间重新发送携带有friendly-element-off标识的Hello报文来关闭以及同时指示对端关闭友元能力。
需要说明,为了使客户端与服务器之间的通信更为安全严格,可以在客户端与服务器版本一致时关闭双方的友元连接,而当客户端版本或服务器版本升级时,将导致客户端数据模型或服务器数据模型发生变化,所以可通过在客户端数据模型或服务器数据模型发生变化时,客户端或服务器检测客户端数据模型与服务器数据模型是否一致,并在客户端数据数据模型与服务器数据模型一致时,关闭双方的友元能力,以使客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力,和服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
可以理解,在客户端与服务器建立友元连接时,再在客户端与服务器数据模型升级到一致后关闭双方的友元能力,从而使客户端和服务器之间再次基于严格的模型匹配进行通信,保证通信安全,使得网络管理更为灵活。
为了便于更好地理解和实施本发明实施例的上述方案,下面将举例几个具体的应用场景进行说明。
参见图2,图2为本发明实施例提供的一种网络管理方法的第二实施例流程示意图。如图2所示,本发明实施例提供的网络管理方法的第二实施例可以包括以下步骤:
S201、服务器经由客户端与服务器之间的SSH连接向客户端发送第一Hello报文。
其中,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理。
同时,在服务器经由SSH连接向客户端发送第一Hello报文后,客户端经由客户端与服务器之间的SSH连接接收所述服务器发送的第一Hello报文。
S202、客户端经由SSH连接向服务器发送第二Hello报文。
其中,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理。
同时,在客户端经由SSH连接发送第二Hello报文,服务器经由SSH连接接收来自客户端的第二Hello报文。
具体地,在本发明实施例中,客户端和服务器可以通过以下代码来发送携带有friendly-element的Hello报文。
服务器hello报文:
客户端hello报文:
S203、服务器根据第一友元friendly-element标识和第二友元friendly-element标识确定服务器与客户端之间的友元关系。
相应地,客户端根据第一友元friendly-element标识和第二友元friendly-element标识确定客户端与服务器之间的友元关系。
S204、客户端向服务器发送NETCONF请求报文,该NETCONF请求报文中包括get或get-config请求。
此外,该NETCONF请求报文中还包括基于客户端数据模型的数据过滤条件,所述数据过滤条件包括选择数据节点。
在客户端向服务器发送NETCONF请求报文后,服务器接收客户端发送的NETCONF请求报文。
具体地,可以通过以下代码来实现。
在本发明一种实施例中,假设服务器的数据模型如下:
而客户端的数据模型如下:
可以看出,服务器是较新的版本,比客户端多一个叶子节点id。
在本发明一种实施例中,客户端下发请求报文的代码如下:
在本发明另一种实施例中,假设客户端的数据模型如下:
而服务器的数据模型如下:
可以看出,客户端是较新的版本,比服务器多2个叶子节点id和new。在本发明另一种实施例中,客户端下发请求报文的代码如下:
S205、服务器根据该get或get-config请求从预设服务器数据中获取数据以得到获取结果数据。
所述服务器基于服务器数据模型确定所述选择数据节点是否能够被识别,当所述选择数据节点能够被识别时,所述服务器从预设服务器数据中获取与所述选择数据节点对应的选择数据节点数值以得到获取结果数据,当所述选择数据节点不能够被识别时,所述服务器忽略所述选择数据节点。
S206、服务器向客户端发送NETCONF回应报文,该NETCONF回应报文包括获取结果数据。
在服务器向客户端发送NETCONF回应报文后,客户端接收服务器发送的NETCONF回应报文,该NETCONF回应报文包括获取结果数据。
在本发明一种实施例中,服务器返回NETCONF回应报文可以通过如下代码实现:
在本发明另一种实施例中,服务器返回NETCONF回应报文可以通过如下代码实现:
服务器在利用内容匹配节点id进行匹配时,由于服务器数据模型中不存在数据节点id,所以返回空数据。
S207、客户端基于客户端数据模型保存该获取结果数据。
所述客户端基于所述客户端数据模型确定所述获取结果数据中能够被识别的数据节点以及不能够被识别的数据节点,所述客户端保存所述获取结果数据中所述能够被识别的数据节点的数值,并忽略所述获取结果数据中所述不能够被识别的数据节点的数值。
基于上述代码解析,客户端在接收到服务器的返回的获取结果数据后,将基于客户端数据模型忽略不能识别的节点id,保存name=a以及other=foo。
需要说明,本发明实施例提供的一种网络管理方法的第二实施例与本发明实施例提供的一种网络管理方法的第一实施例中相同的步骤和描述在此不再赘述。
可以看出,本实施例的方案中,在客户端与服务器之间建立友元连接后,服务器和客户端之间的get或get-config操作即可基于该友元连接进行,使得客户端和服务器数据模型不一致时通信能顺利进行,提高网络管理效率。
下面对NETCONF操作协议中的edit-config操作请求和copy-config操作请求进行具体实现说明,可参见图3,图3为本发明实施例提供的一种网络管理方法的第三实施例流程示意图,该实施例为基于客户端与服务器之间确定友元关系后所实施的,也即在步骤S103后,还可以包括步骤:
S301、客户端向服务器发送NETCONF请求报文,该NETCONF请求报文中包括数据操作请求。
此外,当该NETCONF请求报文中包括edit-config请求时,该NETCONF请求报文中还包括基于客户端数据模型的待配置数据节点以及待配置数据节点的待配置数值。
在本发明的另一些可能的实施方式中,当该NETCONF请求报文中包括copy-config请求时,该与NETCONF请求报文还包括所述copy-config请求对应的数据源标识、与所述copy-config请求对应的目标数据集标识以及基于数据源数据模型的待拷贝数据节点。
在客户端向服务器发送NETCONF请求报文后,服务器接收客户端发送的NETCONF请求报文。
具体地,在本发明一些可能的实施方式中,可以通过以下代码来实现edit-config操作请求。
具体地,假设客户端的数据模型如下:
服务器的数据模型如下:
可以看出,客户端是较新的版本,比服务器多一个叶子节点id
客户端向服务器下发NETCONF请求报文可以通过下述代码实现:
S302、服务器对数据操作请求进行处理。
可选地,当服务器edit-config请求进行处理时,所述服务器基于服务器数据模型确定所述待配置数据节点是否能够被识别,当所述待配置数据节点能够被识别时,所述服务器利用所述待配置数值对所述待配置数据节点进行数据配置,当所述待配置数据节点不能够被识别时,所述服务器忽略所述待配置数据节点;
可选地,当服务器copy-config请求进行处理时,所述服务器基于服务器数据模型确定所述待拷贝数据节点是否能够被识别,当所述待拷贝数据节点能够被识别时,所述服务器拷贝所述数据源标识所指示的数据源中所述待拷贝数据节点的数值至所述目标数据集标识所指示的目标数据集中,当所述待拷贝数据节点不能够被识别时,所述服务器忽略所述数据源中所述待拷贝数据节点的数值。
具体地,服务器在接收到步骤S302中代码的配置请求后,由于客户端和服务器为友元关系,所以执行不严格匹配,服务器将基于服务器数据模型忽略不认识的数据节点id,仅配置能够识别的数据节点name和other。
S303、服务器向客户端发送数据操作处理是否成功的指示。
可选地,当数据操作请求为edit-config请求时,服务器向客户端发送NETCONF回应报文,所述NETCONF回应报文包括数据配置是否成功的指示。
可选地,当数据操作请求为copy-config请求时,服务器向客户端发送NETCONF回应报文,所述NETCONF回应报文包括数据拷贝是否成功的指示。
在服务器向客户端发送数据操作处理是否成功的指示后,客户端将接收到服务器发送的数据操作是否成功的指示。
针对步骤S301的配置请求,服务器在执行配置操作后,基于友元连接配置成功,不报错,返回配置成功的NETCONF回应报文,具体代码实现可如下:
需要说明,本发明实施例提供的一种网络管理方法的第二实施例与本发明实施例提供的一种网络管理方法的第一实施例中相同的步骤和描述在此不再赘述。
可以看出,本实施例的方案中,在客户端与服务器之间建立友元连接后,服务器和客户端之间的edit-config或copy-config操作即可基于该友元连接进行,使得客户端和服务器数据模型不一致时通信能顺利进行,提高网络管理效率。
本发明实施例还提供一种服务器,该服务器包括:
发送单元,用于所述服务器经由客户端与所述服务器之间的SSH连接向客户端发送第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;
接收单元,用于所述服务器经由所述SSH连接接收来自客户端的第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;
确定单元,用于所述服务器根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系。
具体的,请参见图4,图4是本发明实施例提供的一种服务器的第一实施例的结构示意图,用于实现本发明实施例公开的网络管理方法。其中,如图6所示,本发明实施例提供的一种服务器400可以包括:
发送单元410、接收单元420和确定单元430。
其中,发送单元410,用于所述服务器经由客户端与所述服务器之间的SSH连接向客户端发送第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;
其中,SSH连接,也即Secure Shell连接,是指客户端与服务器之间的一个物理通信连接,从而基于该SSH连接客户端与服务器之间能够发送Hello报文以建立会话连接。
接收单元420,用于所述服务器经由所述SSH连接接收来自客户端的第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;
更进一步地,服务器向客户端发送的数据报文除了NETCONF回应报文外,还可以为NETCONF notification报文,是指由服务器主动向客户端发送的数据报文。
确定单元430,用于所述服务器根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系。
可以理解,通过上述方式确定客户端与服务器之间的友元关系后,也即表示客户端与服务器可以基于友元能力进行通信,从而客户端与服务器在通信的过程中可以执行不严格匹配的处理方式也不会报错。
需要说明,在本发明实施例中,不严格匹配是指通信双方对对方所发送的数据报文中不能够识别的字段进行忽略处理,也即服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理,客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理,而不会导致报错,从而可以在客户端与服务器端的版本不一致时双方的通信能够顺利进行。
更进一步地,当服务器和客户端为同一版本时,也即服务器和客户端的数据模型相同,此时基于服务器和客户端之间的友元连接进行通信的情况下,服务器和客户端在通信时也将基于模型进行严格的匹配,与未建立友元连接时的通信方式相同,故该友元连接的建立在服务器和客户端的版本相同时不会影响彼此的正常通信。
可以看出,本实施例的方案中,服务器400经由客户端与服务器之间的SSH连接向客户端发送第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器400具有第一友元能力,所述第一友元能力用于表示所述服务器400对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;服务器400再经由客户端与服务器400之间的SSH连接接收客户端发送的第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器400的NETCONF回应报文中不能识别的字段进行忽略处理;服务器端400和客户端之间根据第一友元friendly-element标识和第二友元friendly-element标识建立友元关系。通过在服务器和客户端之间的Hello报文中携带友元friendly-element标识来建立服务器和客户端之间的友元关系,使得服务器与客户端之间能基于不严格匹配的原则进行通信,从而在服务器和客户端的版本不一致时也能顺利进行通信,提高网络管理效率。
在本实施例中,服务器400是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
可以理解的是,本实施例的服务器400的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
参见图5,图5是本发明实施例提供的一种服务器的第二实施例的结构示意图,用于实现本发明实施例公开的网络管理方法。其中,图5所示的服务器是由图4所示的服务器进行优化得到的。图5所示的服务器除了包括图4所示的服务器的单元外,还有以下扩展:
所述接收单元520,还用于所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文中包括edit-config请求、基于客户端数据模型的待配置数据节点以及待配置数据节点的待配置数值;
所述服务器500还包括:
处理单元540,用于所述服务器基于服务器数据模型确定所述待配置数据节点是否能够被识别,当所述待配置数据节点能够被识别时,所述服务器利用所述待配置数值对所述待配置数据节点进行数据配置,当所述待配置数据节点不能够被识别时,所述服务器忽略所述待配置数据节点;
所述发送单元510,还用于所述服务器向所述客户端发送所述NETCONF回应报文,所述NETCONF回应报文包括数据配置是否成功的指示。
在本发明实施例中,edit-config请求可以为数据配置请求,也即客户端通过向服务器发送edit-config请求操作来使服务器对相应数据进行配置。
其中,待配置数据节点可以为客户端数据模型中的某一个或几个数据节点,也可以为客户端数据模型中的所有数据节点,待配置数据节点的待配置数值可以是基于客户端数据模型发送给服务器,也可以是以其它形式包含在NETCONF请求报文中。
可选地,在本发明的一些可能的实施方式中,所述接收单元520还用于:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文包括get或get-config请求、以及基于客户端数据模型的数据过滤条件,所述数据过滤条件包括选择数据节点;
所述处理单元540还用于:
所述服务器基于服务器数据模型确定所述选择数据节点是否能够被识别,当所述选择数据节点能够被识别时,所述服务器从预设服务器数据中获取与所述选择数据节点对应的选择数据节点数值以得到获取结果数据,当所述选择数据节点不能够被识别时,所述服务器忽略所述选择数据节点;
所述发送单元510,还用于所述服务器向所述客户端发送所述NETCONF回应报文,所述NETCONF回应报文包括所述获取结果数据。
在本发明实施例中,get或get-config请求可以表示客户端请求从服务器获取数据或查询数据,其中,get用于在不对数据类型进行限制时客户端从服务器中获取或查询数据,而get-config用于在客户端从服务器中获取或查询配置数据。
其中,预设服务器数据是指存在于服务器中,当服务器利用get或get-config从服务器中获取数据时的数据获取源,显然地,该预设服务器数据是基于服务器数据模型的。优选地,该预设服务器数据为当前服务器所运行的线程中正在操作的数据。
其中,数据过滤条件是指为get或get-config获取数据时所设立的待获取数据需要满足的条件,也即服务器基于该数据过滤条件从服务器中获取相应数据,该数据过滤条件包括选择数据节点,选择数据节点用于指定服务器获取数据时的数据节点。
更进一步地,数据过滤条件还包括内容匹配数据节点以及与该内容匹配数据节点对应的匹配数值,该内容匹配数据节点用于服务器基于服务器数据模型从预设服务器数据中获取包括该内容匹配数据节点并且该内容匹配数据节点数值等于该匹配数值的预设服务器数据。
可选地,在本发明的一些可能的实施方式中,数据过滤条件可以只包括选择数据节点,也可以只包括内容匹配数据节点,还可以同时包括选择数据节点和内容匹配数据节点。
在本发明实施例中,该获取结果数据可以为包括服务器数据模型中所有节点数值的数据,也可以为只包括服务器数据模型中部分节点数值的数据。
可选地,在本发明的一些可能的实施方式中,所述接收单元520还用于:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文中包括copy-config请求、与所述copy-config请求对应的数据源标识、与所述copy-config请求对应的目标数据集标识以及基于数据源数据模型的待拷贝数据节点,所述第一友元能力还用于表示所述服务器对所述数据源标识所指示的数据源中不能识别的字段进行忽略处理;
所述处理单元540还用于:
所述服务器基于服务器数据模型确定所述待拷贝数据节点是否能够被识别,当所述待拷贝数据节点能够被识别时,所述服务器拷贝所述数据源标识所指示的数据源中所述待拷贝数据节点的数值至所述目标数据集标识所指示的目标数据集中,当所述待拷贝数据节点不能够被识别时,所述服务器忽略所述数据源中所述待拷贝数据节点的数值;
所述发送单元510,还用于所述服务器向所述客户端发送NETCONF回应报文,所述NETCONF回应报文包括数据拷贝是否成功的指示。
其中,该数据源标识所指示的数据可以为存在于服务器中的数据,也可以为其它位置的数据,例如若该数据源标识为统一资源定位符(Uniform ResoureLocator,简称URL),则该数据源为该URL所指向的数据,该目标数据集可以为服务器的running数据集。
其中,待拷贝数据节点可以为数据源数据模型中的一个或几个数据节点,也可以为数据源数据模型中的所有数据节点。
可选地,在本发明的一些可能的实施方式中,所述服务器500还包括:
判断单元550,用于若所述服务器检测到所述客户端数据模型或所述服务器数据模型发生改变,则判断所述客户端数据模型与所述服务器数据模型是否一致;
所述处理单元540,还用于若所述客户端数据模型与所述服务器数据模型一致,则所述服务器关闭所述第一友元能力,以使所述服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
可选地,在本发明的一些可能的实施方式中,所述发送单元510还用于:
若所述客户端数据模型与所述服务器数据模型一致,则所述服务器经由所述SSH连接向所述客户端发送指示所述客户端关闭所述第二友元能力的指示消息,以使所述客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。
具体地,可通过在客户端和服务器之间重新发送携带有friendly-element-off标识的Hello报文来关闭以及同时指示对端关闭友元能力。
需要说明,为了使客户端与服务器之间的通信更为安全严格,可以在客户端与服务器版本一致时关闭双方的友元连接,而当客户端版本或服务器版本升级时,将导致客户端数据模型或服务器数据模型发生变化,所以可通过在客户端数据模型或服务器数据模型发生变化时,客户端或服务器检测客户端数据模型与服务器数据模型是否一致,并在客户端数据数据模型与服务器数据模型一致时,关闭双方的友元能力,以使客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力,和服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
可以理解,在客户端与服务器建立友元连接时,再在客户端与服务器数据模型升级到一致后关闭双方的友元能力,从而使客户端和服务器之间再次基于严格的模型匹配进行通信,保证通信安全,使得网络管理更为灵活。
可以看出,本实施例的方案中,在服务器与客户端建立友元连接后,从而服务器与客户端之间即可基于该友元连接执行不严格匹配的数据通信,使得客户端和服务器数据模型不一致时通信能顺利进行,提高网络管理效率。
在本实施例中,服务器500是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
可以理解的是,本实施例的服务器500的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
参见图6,图6是本发明实施例提供的一种服务器的第三实施例的结构示意图,用于实现本发明实施例公开的网络管理方法。其中,该服务器600可以包括:至少一个总线601、与总线601相连的至少一个处理器602以及与总线601相连的至少一个存储器603。
其中,处理器602通过总线601,调用存储器中存储的代码以用于服务器经由客户端与所述服务器之间的SSH连接向客户端发送第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;所述服务器经由所述SSH连接接收来自客户端的第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;所述服务器根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系。
可选地,在本发明一些可能的实施方式中,所述处理器602在执行根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系后,所述处理器602还用于所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文中包括edit-config请求、基于客户端数据模型的待配置数据节点以及待配置数据节点的待配置数值;
所述服务器基于服务器数据模型确定所述待配置数据节点是否能够被识别,当所述待配置数据节点能够被识别时,所述服务器利用所述待配置数值对所述待配置数据节点进行数据配置,当所述待配置数据节点不能够被识别时,所述服务器忽略所述待配置数据节点;
所述服务器向所述客户端发送所述NETCONF回应报文,所述NETCONF回应报文包括数据配置是否成功的指示。
可选地,在本发明一些可能的实施方式中,所述处理器602在执行根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系后,所述处理器602还用于所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文包括get或get-config请求、以及基于客户端数据模型的数据过滤条件,所述数据过滤条件包括选择数据节点;
所述服务器基于服务器数据模型确定所述选择数据节点是否能够被识别,当所述选择数据节点能够被识别时,所述服务器从预设服务器数据中获取与所述选择数据节点对应的选择数据节点数值以得到获取结果数据,当所述选择数据节点不能够被识别时,所述服务器忽略所述选择数据节点;
所述服务器向所述客户端发送所述NETCONF回应报文,所述NETCONF回应报文包括所述获取结果数据。
可选地,在本发明一些可能的实施方式中,所述处理器602在执行根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系后,所述处理器602还用于所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文中包括copy-config请求、与所述copy-config请求对应的数据源标识、与所述copy-config请求对应的目标数据集标识以及基于数据源数据模型的待拷贝数据节点,所述第一友元能力还用于表示所述服务器对所述数据源标识所指示的数据源中不能识别的字段进行忽略处理;
所述服务器基于服务器数据模型确定所述待拷贝数据节点是否能够被识别,当所述待拷贝数据节点能够被识别时,所述服务器拷贝所述数据源中所述待拷贝数据节点的数值至所述目标数据集标识所指示的目标数据集中,当所述待拷贝数据节点不能够被识别时,所述服务器忽略所述数据源中所述待拷贝数据节点的数值;
所述服务器向所述客户端发送NETCONF回应报文,所述NETCONF回应报文包括数据拷贝是否成功的指示。
可选地,在本发明一些可能的实施方式中,所述处理器602还用于若所述服务器检测到所述客户端数据模型或所述服务器数据模型发生改变,则判断所述客户端数据模型与所述服务器数据模型是否一致;
若所述客户端数据模型与所述服务器数据模型一致,则所述服务器关闭所述第一友元能力,以使所述服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
可选地,在本发明一些可能的实施方式中,所述处理器602还用于若所述客户端数据模型与所述服务器数据模型一致,则所述服务器经由所述SSH连接向所述客户端发送指示所述客户端关闭所述第二友元能力的指示消息,以使所述客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。
可以看出,本实施例的方案中,服务器600经由客户端与服务器之间的SSH连接向客户端发送第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器600具有第一友元能力,所述第一友元能力用于表示所述服务器600对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;服务器600再经由客户端与服务器600之间的SSH连接接收客户端发送的第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器600的NETCONF回应报文中不能识别的字段进行忽略处理;服务器端600和客户端之间根据第一友元friendly-element标识和第二友元friendly-element标识建立友元关系。通过在服务器和客户端之间的Hello报文中携带友元friendly-element标识来建立服务器和客户端之间的友元关系,使得服务器与客户端之间能基于不严格匹配的原则进行通信,从而在服务器和客户端的版本不一致时也能顺利进行通信,提高网络管理效率。
本发明实施例还提供一种客户端,该客户端包括:
接收单元,用于所述客户端经由所述客户端与服务器之间的SSH连接接收所述服务器发送的第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;
发送单元,用于所述客户端经由所述SSH连接向服务器发送第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;
确定单元,用于所述客户端根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述客户端与所述服务器之间的友元关系。
具体的,请参见图7,图7是本发明实施例提供的一种客户端的第一实施例的结构示意图,用于实现本发明实施例公开的网络管理方法。其中,如图7所示,本发明实施例提供的一种客户端700可以包括:
接收单元710、发送单元720和确定单元730。
其中,接收单元710,用于所述客户端经由所述客户端与服务器之间的SSH连接接收所述服务器发送的第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;
发送单元720,用于所述客户端经由所述SSH连接向服务器发送第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;
确定单元730,用于所述客户端根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述客户端与所述服务器之间的友元关系。
可以理解,通过上述方式确定客户端与服务器之间的友元关系后,也即表示客户端与服务器可以基于友元能力进行通信,从而客户端与服务器在通信的过程中可以执行不严格匹配的处理方式也不会报错。
需要说明,在本发明实施例中,不严格匹配是指通信双方对对方所发送的数据报文中不能够识别的字段进行忽略处理,也即服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理,客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理,而不会导致报错,从而可以在客户端与服务器端的版本不一致时双方的通信能够顺利进行。
更进一步地,当服务器和客户端为同一版本时,也即服务器和客户端的数据模型相同,此时基于服务器和客户端之间的友元连接进行通信的情况下,服务器和客户端在通信时也将基于模型进行严格的匹配,与未建立友元连接时的通信方式相同,故该友元连接的建立在服务器和客户端的版本相同时不会影响彼此的正常通信。
可以看出,本实施例的方案中,客户端700经由所述客户端700与服务器之间的SSH连接接收所述服务器发送的第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端客户端700的NETCONF请求报文中不能识别的字段进行忽略处理;客户端客户端700再经由所述SSH连接向服务器发送第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端客户端700具有第二友元能力,所述第二友元能力用于表示所述客户端客户端700对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;服务器端和客户端客户端700之间根据第一友元friendly-element标识和第二友元friendly-element标识建立友元关系。通过在服务器和客户端之间的Hello报文中携带友元friendly-element标识来建立服务器和客户端之间的友元关系,使得服务器与客户端之间能基于不严格匹配的原则进行通信,从而在服务器和客户端的版本不一致时也能顺利进行通信,提高网络管理效率。
在本实施例中,客户端700是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
可以理解的是,本实施例的客户端700的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
参见图8,图8是本发明实施例提供的一种客户端的第二实施例的结构示意图,用于实现本发明实施例公开的网络管理方法。其中,图8所示的客户端是由图7所示的客户端进行优化得到的。图8所示的客户端除了包括图7所示的客户端的单元外,还有以下扩展:
所述接收单元810,还用于所述客户端接收所述服务器返回的NETCONF回应报文,所述NETCONF回应报文包括所述服务器根据get或get-config请求得到的获取结果数据,其中,所述获取结果数据的数据模型为所述服务器数据模型;
所述客户端800还包括:
处理单元840,用于所述客户端基于所述客户端数据模型确定所述获取结果数据中能够被识别的数据节点以及不能够被识别的数据节点,所述客户端保存所述获取结果数据中所述能够被识别的数据节点的数值,并忽略所述获取结果数据中所述不能够被识别的数据节点的数值。
可选地,在本发明的一些可能的实施方式中,所述客户端800还包括:
判断单元850,用于若所述客户端检测到所述客户端数据模型或所述服务器数据模型发生改变,则判断所述客户端数据模型与所述服务器数据模型是否一致;
所述处理单元840,还用于若所述客户端数据模型与所述服务器数据模型一致,则所述客户端关闭所述第二友元能力,以使所述客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。
可选地,在本发明的一些可能的实施方式中,所述发送单元820还用于:
若所述客户端数据模型与所述服务器数据模型一致,则所述客户端经由所述SSH连接向所述服务器发送指示所述服务器关闭所述第一友元能力的指示消息,以使所述服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
具体地,可通过在客户端和服务器之间重新发送携带有friendly-element-off标识的Hello报文来关闭以及指示对端关闭友元能力。
需要说明,为了使客户端与服务器之间的通信更为安全严格,可以在客户端与服务器版本一致时关闭双方的友元连接,而当客户端版本或服务器版本升级时,将导致客户端数据模型或服务器数据模型发生变化,所以可通过在客户端数据模型或服务器数据模型发生变化时,客户端或服务器检测客户端数据模型与服务器数据模型是否一致,并在客户端数据数据模型与服务器数据模型一致时,关闭双方的友元能力,以使客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力,和服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
可以理解,在客户端与服务器建立友元连接时,再在客户端与服务器数据模型升级到一致后关闭双方的友元能力,从而使客户端和服务器之间再次基于严格的模型匹配进行通信,保证通信安全,使得网络管理更为灵活。
可以看出,本实施例的方案中,在服务器与客户端建立友元连接后,从而服务器与客户端之间即可基于该友元连接执行不严格匹配的数据通信,使得客户端和服务器数据模型不一致时通信能顺利进行,提高网络管理效率。
在本实施例中,客户端800是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
可以理解的是,本实施例的客户端800的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
参见图9,图9是本发明实施例提供的一种客户端的第三实施例的结构示意图,用于实现本发明实施例公开的网络管理方法。其中,该客户端900可以包括:至少一个总线901、与总线901相连的至少一个处理器902以及与总线901相连的至少一个存储器903。
其中,处理器902通过总线901,调用存储器中存储的代码以用于客户端经由所述客户端与服务器之间的SSH连接接收所述服务器发送的第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;所述客户端经由所述SSH连接向服务器发送第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;所述客户端根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述客户端与所述服务器之间的友元关系。
可选地,在本发明一些可能的实施方式中,所述处理器902在执行根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述客户端与所述服务器之间的友元关系后,所述处理器902还用于:
所述客户端接收所述服务器返回的NETCONF回应报文,所述NETCONF回应报文包括所述服务器根据get或get-config请求得到的获取结果数据,其中,所述获取结果数据的数据模型为所述服务器数据模型;
所述客户端基于所述客户端数据模型确定所述获取结果数据中能够被识别的数据节点以及不能够被识别的数据节点,所述客户端保存所述获取结果数据中所述能够被识别的数据节点的数值,并忽略所述获取结果数据中所述不能够被识别的数据节点的数值。
可选地,在本发明一些可能的实施方式中,所述处理器902还用于:
若所述客户端检测到所述客户端数据模型或所述服务器数据模型发生改变,则判断所述客户端数据模型与所述服务器数据模型是否一致;
若所述客户端数据模型与所述服务器数据模型一致,则所述客户端关闭所述第二友元能力,以使所述客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。
可选地,在本发明一些可能的实施方式中,所述处理器902还用于:
若所述客户端数据模型与所述服务器数据模型一致,则所述客户端经由所述SSH连接向所述服务器发送指示所述服务器关闭所述第一友元能力的指示消息,以使所述服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
可以看出,本实施例的方案中,客户端900经由所述客户端900与服务器之间的SSH连接接收所述服务器发送的第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端900的NETCONF请求报文中不能识别的字段进行忽略处理;客户端900再经由所述SSH连接向服务器发送第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端900具有第二友元能力,所述第二友元能力用于表示所述客户端900对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;服务器端和客户端900之间根据第一友元friendly-element标识和第二友元friendly-element标识建立友元关系。通过在服务器和客户端之间的Hello报文中携带友元friendly-element标识来建立服务器和客户端之间的友元关系,使得服务器与客户端之间能基于不严格匹配的原则进行通信,从而在服务器和客户端的版本不一致时也能顺利进行通信,提高网络管理效率。
本发明实施例还提供一种网络管理系统,包括服务器和客户端,可参见图1-a所示的网络管理系统结构示意图。
其中,服务器110用于经由客户端与所述服务器之间的SSH连接向客户端发送第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;
服务器110还用于经由所述SSH连接接收来自客户端的第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;
服务器110还用于根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系。
可选地,在本发明的一些可能的实施方式中,在所述服务器110根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系后,所述服务器110还用于:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文中包括edit-config请求、基于客户端数据模型的待配置数据节点以及待配置数据节点的待配置数值;
所述服务器基于服务器数据模型确定所述待配置数据节点是否能够被识别,当所述待配置数据节点能够被识别时,所述服务器利用所述待配置数值对所述待配置数据节点进行数据配置,当所述待配置数据节点不能够被识别时,所述服务器忽略所述待配置数据节点;
所述服务器向所述客户端发送所述NETCONF回应报文,所述NETCONF回应报文包括数据配置是否成功的指示。
可选地,在本发明的一些可能的实施方式中,在所述服务器110根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系后,所述服务器110还用于:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文包括get或get-config请求、以及基于客户端数据模型的数据过滤条件,所述数据过滤条件包括选择数据节点;
所述服务器基于服务器数据模型确定所述选择数据节点是否能够被识别,当所述选择数据节点能够被识别时,所述服务器从预设服务器数据中获取与所述选择数据节点对应的选择数据节点数值以得到获取结果数据,当所述选择数据节点不能够被识别时,所述服务器忽略所述选择数据节点;
所述服务器向所述客户端发送所述NETCONF回应报文,所述NETCONF回应报文包括所述获取结果数据。
可选地,在本发明的一些可能的实施方式中,在所述服务器110根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系后,所述服务器110还用于:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文中包括copy-config请求、与所述copy-config请求对应的数据源标识、与所述copy-config请求对应的目标数据集标识以及基于数据源数据模型的待拷贝数据节点,所述第一友元能力还用于表示所述服务器对所述数据源标识所指示的数据源中不能识别的字段进行忽略处理;
所述服务器基于服务器数据模型确定所述待拷贝数据节点是否能够被识别,当所述待拷贝数据节点能够被识别时,所述服务器拷贝所述数据源中所述待拷贝数据节点的数值至所述目标数据集标识所指示的目标数据集中,当所述待拷贝数据节点不能够被识别时,所述服务器忽略所述数据源中所述待拷贝数据节点的数值;
所述服务器向所述客户端发送NETCONF回应报文,所述NETCONF回应报文包括数据拷贝是否成功的指示。
可选地,在本发明的一些可能的实施方式中,所述服务器110还用于:
若所述服务器检测到所述客户端数据模型或所述服务器数据模型发生改变,则判断所述客户端数据模型与所述服务器数据模型是否一致;
若所述客户端数据模型与所述服务器数据模型一致,则关闭所述第一友元能力,以使所述服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
可选地,在本发明的一些可能的实施方式中,所述服务器110还用于:
若所述客户端数据模型与所述服务器数据模型一致,则指示所述客户端关闭所述第二友元能力,以使所述客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。
客户端120用于经由所述客户端与服务器之间的SSH连接接收所述服务器发送的第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;
客户端120还用于经由所述SSH连接向服务器发送第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;
客户端120还用于根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述客户端与所述服务器之间的友元关系。
可选地,在本发明的一些可能的实施方式中,在所述客户端110根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述客户端与所述服务器之间的友元关系后,所述客户端120还用于:
所述客户端接收所述服务器返回的NETCONF回应报文,所述NETCONF回应报文包括所述服务器根据get或get-config请求得到的获取结果数据,其中,所述获取结果数据的数据模型为所述服务器数据模型;
所述客户端基于所述客户端数据模型确定所述获取结果数据中能够被识别的数据节点以及不能够被识别的数据节点,所述客户端保存所述获取结果数据中所述能够被识别的数据节点的数值,并忽略所述获取结果数据中所述不能够被识别的数据节点的数值。
可选地,在本发明的一些可能的实施方式中,所述客户端120还用于:
若所述客户端检测到所述客户端数据模型或所述服务器数据模型发生改变,则判断所述客户端数据模型与所述服务器数据模型是否一致;
若所述客户端数据模型与所述服务器数据模型一致,则所述客户端关闭所述第二友元能力,以使所述客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。
可选地,在本发明的一些可能的实施方式中,所述客户端120还用于:
若所述客户端数据模型与所述服务器数据模型一致,则指示所述服务器关闭所述第一友元能力,以使所述服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
可以看出,本实施例的方案中,服务器经由客户端与服务器之间的SSH连接向客户端发送第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;客户端在同时也向服务器发送第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;从而在服务器接收到客户端发送的第二Hello报文,以及客户端接收到服务器端发送的第一Hello报文后,服务器端和客户端之间根据第一友元friendly-element标识和第二友元friendly-element标识建立友元关系。通过在服务器和客户端之间的Hello报文中携带友元friendly-element标识来建立服务器和客户端之间的友元关系,使得服务器与客户端之间能基于不严格匹配的原则进行通信,从而在服务器和客户端的版本不一致时也能顺利进行通信,提高网络管理效率。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何网络管理方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明的各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (21)

1.一种网络管理方法,其特征在于,所述方法包括:
服务器经由客户端与所述服务器之间的SSH连接向客户端发送第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;
所述服务器经由所述SSH连接接收来自客户端的第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;
所述服务器根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系。
2.根据权利要求1所述的方法,其特征在于,在所述服务器根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系后,所述方法还包括:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文中包括edit-config请求、基于客户端数据模型的待配置数据节点以及待配置数据节点的待配置数值;
所述服务器基于服务器数据模型确定所述待配置数据节点是否能够被识别,当所述待配置数据节点能够被识别时,所述服务器利用所述待配置数值对所述待配置数据节点进行数据配置,当所述待配置数据节点不能够被识别时,所述服务器忽略所述待配置数据节点;
所述服务器向所述客户端发送所述NETCONF回应报文,所述NETCONF回应报文包括数据配置是否成功的指示。
3.根据权利要求1所述的方法,其特征在于,在所述服务器根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系后,所述方法还包括:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文包括get或get-config请求、以及基于客户端数据模型的数据过滤条件,所述数据过滤条件包括选择数据节点;
所述服务器基于服务器数据模型确定所述选择数据节点是否能够被识别,当所述选择数据节点能够被识别时,所述服务器从预设服务器数据中获取与所述选择数据节点对应的选择数据节点数值以得到获取结果数据,当所述选择数据节点不能够被识别时,所述服务器忽略所述选择数据节点;
所述服务器向所述客户端发送所述NETCONF回应报文,所述NETCONF回应报文包括所述获取结果数据。
4.根据权利要求1所述的方法,其特征在于,在所述服务器根据所述第一friendly-element标识和所述第二friendly-element标识确定所述服务器与所述客户端之间的友元关系后,所述方法还包括:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文中包括copy-config请求、与所述copy-config请求对应的数据源标识、与所述copy-config请求对应的目标数据集标识以及基于数据源数据模型的待拷贝数据节点,所述第一友元能力还用于表示所述服务器对所述数据源标识所指示的数据源中不能识别的字段进行忽略处理;
所述服务器基于服务器数据模型确定所述待拷贝数据节点是否能够被识别,当所述待拷贝数据节点能够被识别时,所述服务器拷贝所述数据源中所述待拷贝数据节点的数值至所述目标数据集标识所指示的目标数据集中,当所述待拷贝数据节点不能够被识别时,所述服务器忽略所述数据源中所述待拷贝数据节点的数值;
所述服务器向所述客户端发送NETCONF回应报文,所述NETCONF回应报文包括数据拷贝是否成功的指示。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述方法还包括:
若所述服务器检测到所述客户端数据模型或所述服务器数据模型发生改变,则判断所述客户端数据模型与所述服务器数据模型是否一致;
若所述客户端数据模型与所述服务器数据模型一致,则所述服务器关闭所述第一友元能力,以使所述服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述客户端数据模型与所述服务器数据模型一致,则所述服务器经由所述SSH连接向所述客户端发送指示所述客户端关闭所述第二友元能力的指示消息,以使所述客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。
7.一种网络管理方法,其特征在于,所述方法包括:
客户端经由所述客户端与服务器之间的SSH连接接收所述服务器发送的第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;
所述客户端经由所述SSH连接向所述服务器发送第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;
所述客户端根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述客户端与所述服务器之间的友元关系。
8.根据权利要求7所述的方法,其特征在于,在所述客户端根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述客户端与所述服务器之间的友元关系后,所述方法还包括:
所述客户端接收所述服务器返回的NETCONF回应报文,所述NETCONF回应报文包括所述服务器根据get或get-config请求得到的获取结果数据,其中,所述获取结果数据的数据模型为所述服务器数据模型;
所述客户端基于所述客户端数据模型确定所述获取结果数据中能够被识别的数据节点以及不能够被识别的数据节点,所述客户端保存所述获取结果数据中所述能够被识别的数据节点的数值,并忽略所述获取结果数据中所述不能够被识别的数据节点的数值。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若所述客户端检测到所述客户端数据模型或所述服务器数据模型发生改变,则判断所述客户端数据模型与所述服务器数据模型是否一致;
若所述客户端数据模型与所述服务器数据模型一致,则所述客户端关闭所述第二友元能力,以使所述客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若所述客户端数据模型与所述服务器数据模型一致,则所述客户端经由所述SSH连接向所述服务器发送指示所述服务器关闭所述第一友元能力的指示消息,以使所述服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
11.一种服务器,其特征在于,所述服务器包括:
发送单元,用于所述服务器经由客户端与所述服务器之间的SSH连接向客户端发送第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;
接收单元,用于所述服务器经由所述SSH连接接收来自客户端的第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;
确定单元,用于所述服务器根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述服务器与所述客户端之间的友元关系。
12.根据权利要求11所述的服务器,其特征在于,所述接收单元还用于:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文中包括edit-config请求、基于客户端数据模型的待配置数据节点以及待配置数据节点的待配置数值;
所述服务器还包括:
处理单元,用于所述服务器基于服务器数据模型确定所述待配置数据节点是否能够被识别,当所述待配置数据节点能够被识别时,所述服务器利用所述待配置数值对所述待配置数据节点进行数据配置,当所述待配置数据节点不能够被识别时,所述服务器忽略所述待配置数据节点;
所述发送单元,还用于所述服务器向所述客户端发送所述NETCONF回应报文,所述NETCONF回应报文包括数据配置是否成功的指示。
13.根据权利要求11所述的服务器,其特征在于,所述接收单元还用于:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文包括get或get-config请求、以及基于客户端数据模型的数据过滤条件,所述数据过滤条件包括选择数据节点;
所述处理单元,还用于所述服务器基于服务器数据模型确定所述选择数据节点是否能够被识别,当所述选择数据节点能够被识别时,所述服务器从预设服务器数据中获取与所述选择数据节点对应的选择数据节点数值以得到获取结果数据,当所述选择数据节点不能够被识别时,所述服务器忽略所述选择数据节点;
所述发送单元,还用于所述服务器向所述客户端发送所述NETCONF回应报文,所述NETCONF回应报文包括所述获取结果数据。
14.根据权利要求11所述的服务器,其特征在于,所述接收单元还用于:
所述服务器接收所述客户端发送的NETCONF请求报文,所述NETCONF请求报文中包括copy-config请求、与所述copy-config请求对应的数据源标识、与所述copy-config请求对应的目标数据集标识以及基于数据源数据模型的待拷贝数据节点,所述第一友元能力还用于表示所述服务器对所述数据源标识所指示的数据源中不能识别的字段进行忽略处理;
所述处理单元,还用于所述服务器基于服务器数据模型确定所述待拷贝数据节点是否能够被识别,当所述待拷贝数据节点能够被识别时,所述服务器拷贝所述数据源标识所指示的数据源中所述待拷贝数据节点的数值至所述目标数据集标识所指示的目标数据集中,当所述待拷贝数据节点不能够被识别时,所述服务器忽略所述数据源中所述待拷贝数据节点的数值;
所述发送单元,还用于所述服务器向所述客户端发送NETCONF回应报文,所述NETCONF回应报文包括数据拷贝是否成功的指示。
15.根据权利要求12至14任一项所述的服务器,其特征在于,所述服务器还包括:
判断单元,用于若所述服务器检测到所述客户端数据模型或所述服务器数据模型发生改变,则判断所述客户端数据模型与所述服务器数据模型是否一致;
所述处理单元,还用于若所述客户端数据模型与所述服务器数据模型一致,则所述服务器关闭所述第一友元能力,以使所述服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
16.根据权利要求15所述的服务器,其特征在于,所述发送单元,还用于:
若所述客户端数据模型与所述服务器数据模型一致,则所述服务器经由所述SSH连接向所述客户端发送指示所述客户端关闭所述第二友元能力的指示消息,以使所述客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。
17.一种客户端,其特征在于,所述客户端包括:
接收单元,用于所述客户端经由所述客户端与服务器之间的SSH连接接收所述服务器发送的第一Hello报文,所述第一Hello报文携带有第一友元friendly-element标识,所述第一友元friendly-element标识用于指示所述服务器具有第一友元能力,所述第一友元能力用于表示所述服务器对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理;
发送单元,用于所述客户端经由所述SSH连接向所述服务器发送第二Hello报文,所述第二Hello报文携带有第二友元friendly-element标识,所述第二友元friendly-element标识用于指示所述客户端具有第二友元能力,所述第二友元能力用于表示所述客户端对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理;
确定单元,用于所述客户端根据所述第一友元friendly-element标识和所述第二友元friendly-element标识确定所述客户端与所述服务器之间的友元关系。
18.根据权利要求17所述客户端,其特征在于,所述接收单元,还用于:
所述客户端接收所述服务器返回的NETCONF回应报文,所述NETCONF回应报文包括所述服务器根据get或get-config请求得到的获取结果数据,其中,所述获取结果数据的数据模型为所述服务器数据模型;
所述客户端还包括:
处理单元,用于所述客户端基于所述客户端数据模型确定所述获取结果数据中能够被识别的数据节点以及不能够被识别的数据节点,所述客户端保存所述获取结果数据中所述能够被识别的数据节点的数值,并忽略所述获取结果数据中所述不能够被识别的数据节点的数值。
19.根据权利要求18所述的客户端,其特征在于,所述客户端还包括:
判断单元,用于若所述客户端检测到所述客户端数据模型或所述服务器数据模型发生改变,则判断所述客户端数据模型与所述服务器数据模型是否一致;
所述处理单元,还用于若所述客户端数据模型与所述服务器数据模型一致,则所述客户端关闭所述第二友元能力,以使所述客户端不具备对接收到的来自所述服务器的NETCONF回应报文中不能识别的字段进行忽略处理的能力。
20.根据权利要求19所述的客户端,其特征在于,所述发送单元,还用于:
若所述客户端数据模型与所述服务器数据模型一致,则所述客户端经由所述SSH连接向所述服务器发送指示所述服务器关闭所述第一友元能力的指示消息,以使所述服务器不具备对接收到的来自所述客户端的NETCONF请求报文中不能识别的字段进行忽略处理的能力。
21.一种网络管理系统,其特征在于,所述系统包括:
服务器和客户端,
所述服务器为权利要求11至权利要求16中任一项所述的服务器,所述客户端为权利要求17至权利要求20中任一项所述的客户端。
CN201610259857.4A 2016-04-25 2016-04-25 一种网络管理方法、服务器、客户端及系统 Active CN107306202B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610259857.4A CN107306202B (zh) 2016-04-25 2016-04-25 一种网络管理方法、服务器、客户端及系统
CN202010803704.8A CN112087318B (zh) 2016-04-25 2016-04-25 一种网络管理方法、服务器、客户端及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610259857.4A CN107306202B (zh) 2016-04-25 2016-04-25 一种网络管理方法、服务器、客户端及系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202010803704.8A Division CN112087318B (zh) 2016-04-25 2016-04-25 一种网络管理方法、服务器、客户端及系统

Publications (2)

Publication Number Publication Date
CN107306202A true CN107306202A (zh) 2017-10-31
CN107306202B CN107306202B (zh) 2020-09-04

Family

ID=60150964

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010803704.8A Active CN112087318B (zh) 2016-04-25 2016-04-25 一种网络管理方法、服务器、客户端及系统
CN201610259857.4A Active CN107306202B (zh) 2016-04-25 2016-04-25 一种网络管理方法、服务器、客户端及系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202010803704.8A Active CN112087318B (zh) 2016-04-25 2016-04-25 一种网络管理方法、服务器、客户端及系统

Country Status (1)

Country Link
CN (2) CN112087318B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112217845A (zh) * 2019-07-09 2021-01-12 华为技术有限公司 一种基于Netconf协议的数据传输方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050080838A (ko) * 2004-02-11 2005-08-18 주식회사 대우일렉트로닉스 단순망 관리 프로토콜을 이용한 가전기기 원격 제어장치
CN101997721A (zh) * 2010-11-15 2011-03-30 中兴通讯股份有限公司 一种电信网络管理系统、方法及相应的装置
CN105357244A (zh) * 2014-08-22 2016-02-24 中兴通讯股份有限公司 实现对网络逻辑实体的操作方法、客户端及代理端

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10049610A1 (de) * 2000-10-05 2002-04-18 Alcatel Sa Netzwerkmanagement-Client
CN101964726B (zh) * 2010-09-21 2012-07-25 电子科技大学 一种基于snmp协议的可靠数据传输方法
CN105281940B (zh) * 2014-07-18 2020-08-21 南京中兴软件有限责任公司 一种基于netconf协议的hello报文交互的方法、设备和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050080838A (ko) * 2004-02-11 2005-08-18 주식회사 대우일렉트로닉스 단순망 관리 프로토콜을 이용한 가전기기 원격 제어장치
CN101997721A (zh) * 2010-11-15 2011-03-30 中兴通讯股份有限公司 一种电信网络管理系统、方法及相应的装置
CN105357244A (zh) * 2014-08-22 2016-02-24 中兴通讯股份有限公司 实现对网络逻辑实体的操作方法、客户端及代理端

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112217845A (zh) * 2019-07-09 2021-01-12 华为技术有限公司 一种基于Netconf协议的数据传输方法及相关设备
CN112217845B (zh) * 2019-07-09 2022-01-18 华为技术有限公司 一种基于Netconf协议的数据传输方法及相关设备

Also Published As

Publication number Publication date
CN107306202B (zh) 2020-09-04
CN112087318B (zh) 2024-02-02
CN112087318A (zh) 2020-12-15

Similar Documents

Publication Publication Date Title
CN104301141B (zh) 一种保存配置信息的方法、装置及系统
CN103997414A (zh) 生成配置信息的方法和网络控制单元
US10049068B2 (en) SAS system, SAS system traversal method, and apparatus
CN102420765B (zh) 一种确定交换机与终端之间的物理链路的方法以及装置
CN108200158A (zh) 请求传输系统、方法、装置及存储介质
US20220368592A1 (en) Multi-fabric deployment and management platform
CN104202814B (zh) 一种实现信息自注册的方法、终端、服务器及系统
US10084656B2 (en) TRILL network establishing method, node, and system
US8051155B2 (en) Method and apparatus for persisting SNMP variable values
US9893979B2 (en) Network topology discovery by resolving loops
CN105637806A (zh) 网络拓扑确定方法和装置、集中式网络状态信息存储设备
CN104423965A (zh) 信息处理设备,信息处理方法和程序
US11343153B2 (en) BGP logical topology generation method, and device
CN107786350A (zh) 一种恢复网络设备的出厂配置的方法、装置及网络设备
CN107306202A (zh) 一种网络管理方法、服务器、客户端及系统
CN108810935B (zh) 一种流量转发方法及装置
CN106657355B (zh) 一种集群管理方法及设备
CN108574637B (zh) 一种地址自学习的方法、装置及交换机
CN113260072B (zh) Mesh组网流量调度方法、网关设备和存储介质
CN109618021A (zh) 修改ip地址的方法和刀箱
CN106533818B (zh) 基于nfv资源池的监控方法和通信方法、系统以及设备
CN112751701B (zh) 用于管理网络装置的系统、方法及计算机可读介质
CN114125883B (zh) 智能设备的入网方法、装置、电子设备及存储介质
CN115529268A (zh) 处理配置网络设备的指令
EP2749007B1 (en) Managed object manipulation

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