CN101110822A - 基于网络配置协议的事件通知发送方法、系统及设备 - Google Patents
基于网络配置协议的事件通知发送方法、系统及设备 Download PDFInfo
- Publication number
- CN101110822A CN101110822A CNA2007101260580A CN200710126058A CN101110822A CN 101110822 A CN101110822 A CN 101110822A CN A2007101260580 A CNA2007101260580 A CN A2007101260580A CN 200710126058 A CN200710126058 A CN 200710126058A CN 101110822 A CN101110822 A CN 101110822A
- Authority
- CN
- China
- Prior art keywords
- netconf
- notice
- event
- event notice
- client
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000005540 biological transmission Effects 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 28
- 238000001914 filtration Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 239000000126 substance Substances 0.000 claims description 12
- 238000005538 encapsulation Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100083854 Mus musculus Pou2f3 gene Proteins 0.000 description 1
- 102100026466 POU domain, class 2, transcription factor 3 Human genes 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/06—Management of faults, events, alarms or notifications
- H04L41/0681—Configuration of triggering conditions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种基于网络配置协议(NETCONF)的事件通知发送方法,包括:NETCONF客户端在NETCONF服务器中订阅事件通知;当系统中有事件发生时,NETCONF服务器生成事件通知,并将所述事件通知转换为NETCONF客户端能够识别的格式后,发送至NETCONF客户端。本发明实施例同时公开了一种基于NETCONF的事件通知发送系统以及设备。应用本发明实施例所述的方法和系统以及设备,能够兼容各种事件通知方式,以实现NETCONF中的事件通知。
Description
技术领域
本发明涉及移动通信技术,特别涉及一种基于网络配置协议的事件通知发送方法、系统及设备。
背景技术
简单网络管理协议(SNMP)从1988年提出到现在,已经有近二十年的历史。从最早的版本1(Versionl,简称V1)到现在的V3,从几乎没有安全机制到基于用户的安全模型(USM),可以说SNMP在不断地发展以满足当前的需求。SNMP从被提出到被广泛采用,最主要的一个原因就是它实现简单,但是SNMP也有缺陷。比如,没有明确的过滤机制、对于大多数表没有锁定机制以及安全性难以保证等。
针对SNMP的诸多缺陷,现有技术中提出了网络配置协议(NETCONF)。NETCONF基本上解决了SNMP的缺点,适合大型且复杂的设备管理。NETCONF是一种分层管理的配置协议,用于提供网络设备的配置安装、维护以及删除等机制,使用可扩展标识语言(XML)封装配置数据,其协议操作承载在简单的远程过程调用(RPC)层上。
图1为现有NETCONF的分层结构示意图。如图1所示,现有NETCONF从概念上共分为四层,其中第一层为传输协议层(Transport Protocol),常用的协议有区块扩展交换协议(BEEP)、安全外壳(SSH)、安全套接层协议(SSL)以及控制台程序(console)等;第二层为RPC层,包括RPC以及RPC响应;第三层为操作层,常用的操作包括获取配置(Get-config)、编辑配置(Edit-config)以及事件通知(Notifcation)等;第四层为内容层,或称配置管理层,用于实现对配置数据(Configuration Data)的管理。
NETCONF协议中,为及时获知系统中发生的事件,这里所提到的事件是指一些设备发生的,应该引起注意的事情,比如:配置改变、故障、状态改变、门限越界以及异常侵入等,系统需要提供事件通知。为此,NETCONF客户端需要向NETCONF服务器订阅事件通知,如果订阅成功,则NETCONF服务器将在订阅列表中记录下该NETCONF客户端的订阅消息。这样,当系统内部有事件产生时,NETCONF服务器会根据记录的订阅消息,向NETCONF客户端发送事件通知,以便告知NETCONF客户端当前事件的发生情况。如果发生以下情况,如NETCONF会话终止、事件不在订阅范围之内或者事件订阅变更,则NETCONF服务器将不再向NETCONF客户端发送事件通知。需要说明的是,NETCONF服务器中用于事件通知的会话,始终不用处理RPC请求。
但是,上述事件通知仅仅是针对NETCONF的底部三层进行的定义,现有技术中还没有一种针对NETCONF的完整的四层结构进行定义的事件通知方式。所以,希望借助于现有的其它应用环境中的类似的事件通知方式,来实现NETCONF中的事件通知。
目前,应用比较广泛的事件通知方式主要有简单网络管理协议告警(Snmpn印)以及系统日志(syslog)。其中SnmpTrap又具体分为三个版本,Snmpv1Trap、SnmpV2Trap以及Snmpv3Trap。
网络草案(RFC)1157中具体描述了如何通过Snmpv1Trap印发送告警消息给上层应用,并定义了snmpv1nap协议数据单元(PDU)的格式,如表1所示:
版本号7(Version-verl) | 团体字(Community) | 协议数据单元数据(PduData) | |||
企业标识(Enterprise) | 代理地址(Agent-addr) | 通用标识(Generic-trap) | 特定标识(Specific-trap) | 时间戳(Time-stamp) | 变量绑定对(variable-binding[n]) |
变量标识(Name) | 变量值(Value) |
表1Snmpv1Trappdu组成格式
其中,Version,用于标识该Snmpv1 Trappdu消息的版本;
Community,用于上层应用对告警消息发送方进行身份验证;
Enterprise,即企业代码,比如1011;
Agent-addr,用于标识告警消息发送方的互联网协议(IP)地址;
Generic-trap,用于标识需要告警的六种通常情况,包括:冷启动(coldStart)、热启动(warmStart)、连接故障(linkDown)、连接建立(linkUp)、认证失败(anthenticationFailure)以及相邻的外部路由器失效或关机(egpNeighborLoss),在实际应用中,可以用整数0~5分别代表上述六种情况;
Specific-trap,用于标识需要告警的特殊情况,比如,用户自定义的某种情况;
Time-stamp,用于标识告警时间;
Variable-binding[n],用于标识具体告警内容,一条告警消息中可以包括多个variable-binding;
Name,用于标识告警对象,如接口或中央处理单元(CPU)等;
Value,用于标识事件内容,如接口down或者过载等。
RFC1905中描述了如何通过Snmpv2Trap发送告警消息给上层应用,并定义了Snmpv2 Trappdu的具体格式,如表2所示:
Version-ver2c) | community | PduData | ||||
variable-binding[0] | variable-binding[1] | ... | variable-binding[n](optional) | |||
系统启动时间标识(sysupTime) | 系统启动时间(sysupTimeValue) | 告警对象标识(trapOid) | 告警变量值(trapOidValue) | ... | Entprise | Value |
表2 Snmpv2 Trappdu组成格式
表2中各部分的含义与表1中类似,不再赘述。
Snmpv3Trappdu的格式与Snmpv2Trappdu类似,区别仅在于在Snmpv2Trappdu格式的基础上增加一个上下文名称(Contextname)以及一个上下文标识(ContextID)。
通过上述SnmpTrap虽然可以实现告警,但是,现有SnmpTrap使用用户数据报协议(UDP)进行承载,而UDP本身并不是可靠协议,所以,采用SnmpTrap进行告警可能会造成报文无法可靠到达的问题;而且,由于SnmpTrap使用二进制的PDU报文进行封装,解析时需要使用专门的函数库,所以影响其通用性;再有,SnmpTrap无法兼容其它的事件通知方式。
RFC3164中描述了如何通过syslog发送系统日志给上层应用,并规定syslog的具体格式,如表3所示:
优先级(PRI)(Facility*8+Severity=PRI) | 消息头(HEADER) | 消息内容(MSG) | ||||
日志来源(Facility) | 严重程度(Severity) | 时间戳(TIMESTAMP) | 系统名称(HOSTNAME) | |||
表3syslog组成格式
如表3所示,完整的syslog消息由三部分组成,即PRI、HEADER以及MSG。
其中,Facility,用于标识该日志的来源,在实际应用中,用不同的代码(Numerical Code)来代表不同的日志来源,如表4所示:
Numerical Code | Facility |
0 | 核心模块信息(kernel messages) |
1 | 用户层信息(user-level messages) |
2 | 邮件系统(mail system) |
3 | 系统后台(system daemons) |
4 | 安全认证消息(security/authorization messages(note 1)) |
5 | SYSLOG系统产生的消息(messages generated internally by syslogd) |
6 | 行打印子系统(lineprinter subsystem) |
7 | 网络新闻子系统(networknews subsystem) |
8 | 远程拷贝子系统(UUCP subsystem) |
9 | 时钟后台(clock daemon(note 2)) |
10 | 安全认证消息(security/authorization messages(note 1)) |
11 | 文件传输后台(FTPdaemon) |
12 | 网络时钟子系统(NTP subsystem) |
13 | 日志审计(log audit(note 1)) |
14 | 日志告警(log alert(note 1)) |
15 | 时钟后台(clock daemon(note 2)) |
16 | 自定义(local use 0(local0)) |
| |
23 | 自定义(local use 7(local7)) |
表4 不同代码与不同Facility的对应关系
Severity,用于标识消息的严重程度,在实际应用中,用不同的代码来代表不同等级的严重程度,如表5所示:
NumericalCode | Severity |
0 | 非常紧急:系统不可用(Emergency:system is unusable) |
1 | 严重告警:必须立刻行动(Alert:action must be taken immediately) |
2 | 重要事件(Critical:critical conditions) |
3 | 错误(Error:error conditions) |
4 | 警告(Warning:warning conditions) |
5 | 提醒(Notice:normal but significant condition) |
6 | 信息(Informational:informational messages) |
7 | 错误排查信息(Debug:debug-level messages) |
表5 不同代码与不同Severity的对应关系
在确定了Facility以及Severity之后,即可计算该syslog消息的优先级,计算方式为“Facility*8+Severity=PRI”,其中的8为取值固定的系数。
HEADER具体包括TIMES TAMP以及HOSTNAME。其中的TIMES TAMP用于标识日志发生时间;HOSTNAME用于标识产生该日志的系统。
MSG的内容需要根据实际情况具体确定,所以在syslog消息格式中不作具体限定。
举例说明:
<34>Oct11 22:14:15 mymachine su:″su root″failed for lonvick on/dev/pts/8
Facility=4(security/authorization messages(note 1)),Severity=2(Critical:critical conditions)
上面这个例子所表示的含义是:设备通知日志主机,某用户进行超级用户的权限认证,但是认证失败;因为属于安全认证的事件,所以Facility=4;此事件很重要,但是还没有影响设备的正常运行,所以Severity=2。
与SnmpTrap类似,syslog虽然可以实现系统日志报告,但由于使用UDP进行承载,而UDP本身并不是可靠协议,所以存在报文无法可靠到达的问题,而且,syslog也无法兼容其它事件通知方式;此外,syslog虽然使用文本方式封装,但由于该文本方式是简单字符串格式,不容易解析,所以影响了其通用性。
前面已经提到,由于现有技术中还没有一种针对NETCONF的完整的四层结构进行定义的事件通知方式,所以,希望借助于现有的其它应用环境中的类似的事件通知方式,来实现NETCONF中的事件通知。但是,由于SnmpTrap和syslog都有其各自的缺陷,加上采用的协议以及报文格式等与NETCONF的区别,现有SnmpTrap以及syslog并不能被简单地应用到NETCONF中。
发明内容
本发明实施例提供一种基于网络配置协议的事件通知发送方法,能够兼容各种事件通知方式,以实现网络配置协议中的事件通知。
本发明实施例同时提供一种基于网络配置协议的事件通知发送系统,能够兼容各种事件通知方式,以实现网络配置协议中的事件通知。
本发明实施例还提供一种基于网络配置协议的事件通知发送设备,能够兼容各种事件通知方式,以实现网络配置协议中的事件通知。
本发明实施例的技术方案是这样实现的:
一种基于网络配置协议NETCONF的事件通知发送方法,包括:
NETCONF客户端在NETCONF服务器中订阅事件通知;
当系统中有事件发生时,所述NETCONF服务器生成事件通知,并将所述事件通知转换为所述NETCONF客户端能够识别的格式,发送至所述NETCONF客户端。
一种基于NETCONF的事件通知发送系统,该系统包括:NETCONF客户端和NETCONF服务器;
所述NETCONF客户端,用于在所述NETCONF服务器中订阅事件通知,并接收所述NETCONF服务器发送的事件通知;
所述NETCONF服务器,用于在系统中有事件发生时,生成事件通知,并将所述事件通知转换为NETCONF客户端能够识别的格式后,发送至所述NETCONF客户端。
一种基于NETCONF的事件通知发送设备,该设备为NETCONF服务器,所述NETCONF服务器包括:会话处理模块、通知管理模块以及事件处理中心;
所述会话处理模块,用于将接收自NETCONF客户端的携带有订阅事件通知类型的订阅请求发送至所述通知管理模块,并将接收自所述通知管理模块的响应消息转化为XML格式后发送至所述NETCONF客户端;接收来自所述通知管理模块的事件通知,将所述事件通知转换为XML格式后发送至所述NETCONF客户端;
所述通知管理模块,用于将接收自所述会话处理模块的订阅请求加入预先保存的订阅列表,同时向所述会话处理模块回送订阅成功与否的响应消息;接收来自所述事件处理中心的事件通知,根据所述订阅列表过滤到订阅所述类型事件通知的NETCONF客户端,并将所述事件通知发送到所述会话处理模块;
所述事件处理中心,用于在系统中有事件发生时,根据需要生成与所述事件对应的类型的事件通知,并将所述事件通知发送至所述通知管理模块。
可见,采用本发明实施例的技术方案,当系统中有事件发生时,服务器可以根据需要生成对应方式的事件通知,并将生成的事件通知转换为客户端要求的格式,进而发送给客户端。这样,对于整个系统来说,因为事件通知格式可以转换,所以,对服务器端生成的事件通知格式没有严格限定,从而使得基于网络配置协议的事件通知能够兼容各种事件通知方式。
附图说明
图1为现有NETCONF的分层结构示意图。
图2为本发明方法实施例的总体流程图。
图3为本发明方法第一个较佳实施例的流程图。
图4为现有NETCONF协议事件通知模型示意图。
图5为本发明实施例SnmpTrap封装为XML格式的模型示意图。
图6为本发明通过XSLT实现XML-Snmpv2trap和XML-Snmpv1trap之间的转换的规则示意图。
图7为本发明方法第二个较佳实施例的流程图。
图8为本发明实施例syslog封装为XML格式的模型示意图。
图9为本发明系统实施例的组成结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步地详细说明。
本发明的实施方式基于NETCONF协议,其中,NETCONF客户端(以下简称客户端)在NETCONF服务器(以下简称服务器)中订阅事件通知;当系统中有事件发生时,服务器生成事件通知,并将生成的事件通知转换为客户端能够识别的格式,发送至客户端。
图2为本发明方法实施例的总体流程图。如图2所示,包括以下步骤:
步骤201:客户端在服务器中订阅事件通知。
本步骤中,客户端在服务器中订阅事件通知的方法为:客户端向服务器发送携带有订阅的事件通知类型的订阅请求;订阅成功后,服务器将订阅请求信息加入到预先设置的订阅列表中,该订阅列表用于存储订阅了事件通知的客户端的相关信息,如上述订阅的事件通知类型信息,当然,如果有其它的信息,也将相应地进行存储;同时,服务器生成订阅成功与否的响应消息,并将该响应消息转换为XML格式后发送给客户端。
本步骤之前,进一步包括:客户端与服务器之间建立基于传输控制协议(TCP)的会话,如SSH会话。
步骤202:当系统中有事件发生时,服务器生成事件通知,并将生成的事件通知转换为客户端能够识别的格式,发送至客户端。
当系统中有事件发生时,服务器根据事件类型,生成对应类型的事件通知,并根据订阅列表中存储的订阅的事件通知类型信息查找到订阅该类型事件通知的客户端,向其发送事件通知。
通常情况下,如果客户端没有特殊要求,服务器会按照默认方式将该事件通知封装为XML格式后,发送至客户端。
如果客户端希望接收其它格式的事件通知,那么在步骤201中的订阅请求中将进一步携带格式请求信息,相应地,本步骤中,服务器将进一步将封装为XML格式的事件通知转化为客户端所请求的格式。
上述事件通知可以是各种现有事件通知方式,如SnmpTrap或syslog。这种情况下,步骤201所述的订阅请求中可以进一步携带有过滤类型以及所要求得到的过滤结果信息。其中,过滤类型包括子树(SUBTREE)过滤以及XML路径语言(Xpath)过滤,表示服务器将采用何种过滤方式以获取客户端所要求的过滤结果;所要求得到的过滤结果信息根据客户端订阅的事件通知类型的不同而不同:如果订阅的事件通知类型为SnmpTrap,则所要求得到的过滤结果用于说明订阅的具体SnmpTrap类型:Snmpv1Trap、Snmpv2Trap或Snmpv3Trap;若订阅的事件通知类型为syslog,则所要求得到的过滤结果用于说明订阅的事件的优先级或优先级范围。
相应地,步骤202中,服务器将根据订阅列表中存储的过滤类型以及所要求得到的过滤结果信息过滤得到客户端实际订阅的事件通知。
下面通过较佳实施例对本发明方法作进一步地详细说明:
图3为本发明方法第一个较佳实施例的流程图。本实施例基于NETCONF协议,假设服务器端生成的事件通知为SnmpTrap。本实施例中的服务器包括会话处理模块(Session handler)、通知管理模块(NotificationManager)以及事件处理中心(Event Center)。
如图3所示,A、B、C、E、F、G分别表示不同的处理线程,其中,A表示客户端(Client)处理线程;B表示服务器会话的消息接收处理线程;C表示服务器会话的消息反馈处理线程;E表示服务器订阅处理线程;F表示服务器会话Trap接收线程;G表示设备内部事件发生源。
如图3所示,该实施例包括以下步骤:
首先,Client与Session handler之间建立SSH会话,以用于Client与Session handler之间后续的信息交互。建立SSH会话的过程为现有技术,可参见相关协议,此处不再赘述。
步骤301:Client向Session handler发送订阅请求。
订阅请求中携带有订阅的事件通知类型、过滤类型以及所要求得到的过滤结果信息。假设本实施例中,Client订阅的事件通知类型是流为“Snmptrapover netconf”的所有事件,过滤类型为子树过滤,所要求得到的过滤结果为“Snmpv1trap”格式的事件。
现有技术中已经对NETCONF的事件通知订阅请求的格式进行了明确定义,本步骤中发送的订阅请求只是对现有技术的应用而已。举例如下:
<?xml version=″1.0″encoding=″UTF-8″?>
<rpc xmlns=″urn:ietf:params:xml:ns:netconf:base:1.0″
xml ns:notify=″urn:ietf:params:xml:ns:netconf:notification:1.0″
xmlns:netconf=″urn:ietf:params:xml:ns:netconf:base:1.0″
xmlns:xsi=″http://www.w3.org/2001/XMLSchema-instance″
xsi:schemaLocation=″urn:ietf:params:xml:ns:netconf:notification:1.0
D:\project\XML\netconf\xsd\NC-Notification.xsd″message-id=″101″>
<create-subscription
xmlns=″urn:ietf:params:xml:ns:netconf:notification:1.0″>
<streams>
<stream>snmpTrapPdu over netconf</stream>
</streams> //订阅流为“snmptrap over netconf”的所有事件
<filter type=″subtree″> //过滤类型为子树过滤
<top xmlns=″http://huawei.com/comm/trap″>
<snmpTrapPdu>
<snmpv1 trap/>
</snmpTrapPdu> 过滤结果为“snmpvltrap”格式的事件
</top>
</filter>
<named-profile>notification.profile</named-profile>
<startTime>2001-12-24T12:23:45</startTime>
</create-subscription>
</rpc>
步骤302:Session handler将接收到的订阅请求写入到NotiflcationManager的待处理数据队列中。
步骤303:Notification Manager处理订阅请求,并在订阅成功后,将所述订阅请求加入到预先设置的订阅列表中。
步骤304:Notification Manager向Session handler发送响应消息。
本步骤中,Notification Manager生成订阅成功与否的响应消息,并写入Session handler的待处理数据队列中。
步骤305:Session handler将该响应消息转换为XML格式。
由于在步骤304中生成的响应消息可能为设备内部的语言格式,比如C,因此,本步骤中需要对响应消息的格式进行转换。
步骤306:Session handler向Client发送响应消息。
Session handler将生成的XML格式的订阅成功与否的响应消息发送给Client。
步骤307:Event Center向Notification Manager发送Snmptrap告警信息。
当系统中有事件发生时,Event Center根据该事件类型,生成相应类型的事件通知。比如,该事件为认证失败,则生成Snmpv1trap告警信息。
假设本步骤中Event Center向Notification Manager发送的Snmptrap告警信息中同时包括Snmpv1trap和Snmpv2trap。
步骤308:Notification Manager根据订阅列表进行过滤。
Notification Manager根据订阅列表中存储的客户端的订阅事件通知类型信息找到订阅Snmptrap类型事件通知的客户端,并根据存储的过滤类型以及所要求得到的过滤结果信息,通过子树过滤,得到“Snmpv1trap”格式的事件通知。
也可以使用Xpath过滤方式,得到“Snmpv1trap”格式的事件通知。两种过滤方式均为现有技术,不再详细介绍。但是需要说明的是,本实施例中无论采用哪种过滤方式,都是以事件通知的一个完整PDU为基本单元进行过滤的,即不对信息内部进行过滤,以保证信息的完整性。
步骤309:Notification Manager向Session handler发送过滤后的事件通知。
Notification Manager以响应消息的方式将该事件通知写入到Sessionhandler的待处理数据队列中。
步骤310:Session handler将事件通知封装为XML格式。
本发明实施例中将SnmpTrap格式的事件通知封装为XML格式的方式为:
依据现有NETCONF协议的事件通知模型,将SnmpTrap中携带的信息封装到所述事件通知模型的标签内容中,并且封装后的内容也要符合现有NETCONF协议事件通知模型的层次结构。
图4为现有NETCONF协议事件通知模型示意图。如图4所示,其中的“事件通知(notification)”和“数据(data)”分别表示该模型的标签和子标签;虚线方框表示标签内容;data子标签所属标签内容中的“任意(any)”表示该部分内容可按照需要任意添加信息;notification和data两标签之间的符号(包括data标签后边的符号)表示前后两部分为序列化(sequence)结构。
由于现有技术中的SnmpTrap包括Snmpv1Trap、Snmpv2Trap以及Snmpv3Trap三种类型,而且已知Snmpv1Trap、Snmpv2Trap和Snmpv3Trap的各自构成。所以,本实施例中只需将SNMPTrap设置为标签(相对于整个SNMPTrap而言称为标签,实际属于data的子标签),将Snmpv1Trap、Snmpv2Trap以及Snmpv3Trap设置为SNMPTrap的子标签;将Snmpv1Trap、Snmpv2Trap以及Snmpv3Trap中各自携带的信息按照表1或表2所示关系分别对应地设置为Snmpv1Trap、Snmpv2Trap以及Snmpv3Trap的第一级子标签或第二、第三级子标签即可。
图5为本发明实施例SnmpTrap封装为XML格式的模型示意图。以Snmpv1Trap为例进行说明,如表1所示,PduData包括timestamp、agentaddr、eid、sid以及vbs,各部分为平行关系,所以,图5所示的Snmpv1Trap的封装方式中,将表1所示的timestamp、agentaddr、eid、sid以及vbs分别设置为Snmpv1Trap的同一级子标签;而表1中所示的community,本实施例中会将其设置为一个属性。Snmpv2Trap的封装方式与Snmpv1Trap类似,即将表2所示的PduData中的内容如vb,分别设置为Snmpv2Trap的子标签,将vb中进一步包括的内容,如oid和value分别设置为vb子标签的下一级子标签。而Snmpv3Trap的封装方式则只是在Snmpv2Trap封装方式的基础上增加了contextname以及contextid。
需要说明的是,图5所示Snmpv2Trap子标签后进一步包括一个Snmpv2trapGroup子标签,该子标签的设置只是为了便于描述后续Snmpv3Trap的封装方式,并无实际意义。
结合图4和图5,概括而言,本发明实施例所述的SnmpTrap封装方式就是将图5所示内容全部封装在图4所示“any”中,并且封装在“any”中的内容也要符合图4所示模型的层次结构。
举例说明:
本示例用于通知客户端,系统中设备的1个接口故障(down)事件,对应生成的事件通知为Snmpv1trap告警。其中的community为“public”、timastamp为“3:40”、agentaddr为“10.111.64.12”、gid为“1.3.6.1.4.1.2011”、sid为“2”、sid为“0”;该告警有一个vb,且该vb的oid为“1.3.6.1.4.1.2011.2.1”,value为“2”。
将该示例所示Snmpv1trap告警封装为XML格式的XML模型定义(XSD)文件文本为:
<?xml version=″1.0″encoding=″UTF-8″?>
<notification xmlns=″urn:ietf:params:xml:ns:netconf:notification:1.0″
xmlns:hwtrap=″http://huawei.com/common/trap″
xmlns:notify=″urn:ietf:params:xml:ns:netconf:notification:1.0″
xmlns:xsi=″http://www.w3.org/2001/XMLSchema-instance″
xsi:schemaLocation=″http://huawei.com/common/trap
D:\project\XML\netconf\xsd\snmptrap.xsd″>
<data>
<snmpTrapPdu xmlns=″http://huawei.com/common/trap″>
<snmpv1trap community=″public″>
<timestamp>3:40</timestamp>
<agentaddr>10.111.64.12</agentaddr>
<eid>1 .3.6.14.1.2011</eid>
<gid>2</gid>
<sid>0</sid>
<vbs>
<vb>
<oid>1.3.6.1.4.1.2011.2.1</oid>
<value>2(link down)</value>
</vb>
</vbs>
</snmpv1trap>
</snmpTrapPdu>
</data>
</notification>
步骤311:Session handler将封装为XML格式的事件通知发送给Client。
需要说明的是,本实施例中,Client发送的订阅请求中还可以进一步携带有格式请求信息,用于说明Client希望接收到的事件通知格式。比如,服务器生成的事件通知为XML-Snmpv1trap格式,但是Client希望接收到XML-Snmpv2trap格式的事件通知,则步骤310将进一步包括:Session handler将XML-Snmpv1trap格式的事件通知转换为XML-Snmpv2trap格式,所采用的转换方式可以为可扩展类型表语言转换(XSLT)方式。
XSLT是一种用于描述XML文档之间如何转换的语言,它同XPath标准紧密结合,二者共同致力于网络数据管理的开发工作。XPath用于指定需要进行转换的内容,而XSLT则提供了描述如何实现转换的相应的互补语言。XSLT中规定了一系列将源XML文档转换为结果XML文档的规则,对于本发明实施例来说,结果XML文档可以为XML-Snmpv1trap、XML-Snmpv2trap、XML-Snmpv3trap以及XML-syslog等,通过XSLT处理器即可完成基于这些规则的转换过程。当然,除了用于源XML文档向结果XML文档的转换外,XSLT还可以用于实现XML文档向其它格式文档的转换,比如超文本链接标识语言(HTML)等。
图6为本发明实施例通过XSLT实现XML-Snmpv2trap和XML-Snmpv1trap之间转换的规则示意图。如图6所示,两种格式中的timestamp、community以及vbs进行对应转换;XML-Snmpv1trap中的eid为固定值,为转换脚本运行之前输入的一个参数;而XML-Snmpv2trap中的trapoid和XML-Snmpv1trap中的gid以及sid将按照图6中的程序段所示的规则进行转换,即:当trapoid为1.3.6.1.6.3.1.1.5.1时,对应转换后的gid和sid均为0,当trapoid取其它值时,对应的gid和sid的转换规则请参照下面的例子。
依图6所示,本领域技术人员可以较为容易的实现XML-Snmpv2trap与XML-Snmpv1trap之间的转换。举例说明,XML-Snmpv2trap向XML-Snmpv1trap转换的XSLT脚本如下:
<?xml version=″1.0″encoding=″UTF-8″?>
<xsl:stylesheet version=″1.0″xmlns:xsl=″http://www.w3.org/1999/XSL/Transform″>
<xsl:output method=″xml″version=″1.0″encoding=″UTF-8″indent=″yes″/>
<xsl:template match=″/″>
<xsl:variable name=″eid″>1.3.6.1.4.1.201 1</xsl:variable>
<xsl:for-each select=″snmpTrapPdu″>
<xsl:element name=″snmpTrapPdu″>
<xsl:for-each select=″snmpv2trap″>
<xsl:element name=″snmpv1trap″>
<xsl:attribute name=″community″>
<xsl:value-of select=″@community″/>
</xsl:attribute>
<timestamp>
<xsl:value-of select=″timestamp″/>
</timestamp>
<agentaddr>0.0.0.0</agentaddr>
<xsl:choose>
<xsl:when test″trapoid=";1.3.6.1.6.3.1.1.5.1";″>
<eid>
<xsl:value-of select=″$eid″/>
</eid>
<gid>0</gid>
<sid>0</sid>
</xsl:when> //当trapoid为1.3.6.1.6.3.1.1.5.1时,对应转换后的gid和sid为0
<xsl:when test=″trapoid=";1.3.6.1.6.3.1.1.5.2";″>
<eid>
<xsl:value-of select=″$eid″/>
</eid>
<gid>1</gid>
<sid>0</sid>
</xsl:when> //当trapoid为1.3.6.1.6.3.1.1.5.2时,
对应转换后的gid为1,sid为0
<xsl:when test″trapoid=";1.3.6.1.6.3.1.1.5.3";″>
<eid>
<xsl:value-of select=″$eid″/>
</eid>
<gid>2</gid>
<sid>0</sid>
</xsl:when> //当trapoid为1.3.6.1.6.3.1.1.5.3时,
对应转换后的gid为2,sid为0
<xsl:whentest″trapoid=";1.3.6.1.6.3.1.1.5.4";″>
<eid>
<xsl:value-of select″$eid″/>
</eid>
<gid>3</gid>
<sid>0</sid>
</xsl:when> 当trapoid为1.3.6.1.6.3.1.1.5.4时,
对应转换后的gid为3,sid为0
<xsl:when test=″trapoid=";1.3.6.1.6.3.1.1.5.5";″>
<eid>
<xsl:value-of select=″$eid″/>
</eid>
<gid>4</gid>
<sid>0</sid>
</xsl:when> //当trapoid为1.3.6.1.6.3.1.1.5.5时,
对应转换后的gid为4,sid为0
<xsl:when test=″trapoid=";1.3.6.1.6.3.1.1.5.6";″>
<eid>
<xsl:value-of select=″$eid″/>
</eid>
<gid>5</gid>
<sid>0</sid>
</xsl:when> //当trapoid为1.3.6.1.6.3.1.1.5.6时,
对应转换后的gid为5,sid为0
<xsl:otherwise>
<eid>
<xsl:value-of select=″$eid″/>
</eid>
<gid>6</gid>
<sid>
<xsl:value-of
select=″substring(trapoid,string-length(trapoid)-2,string-length(trapoid)″/>
</sid>
</xsl:otherwise> 当trapoid取其它值时,对应转换后的gid为6,
sid按照“select=......”所述方式取值
</xsl:choose>
<xsl:copy-of select=″vbs″/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
图7为本发明方法第二个较佳实施例的流程图。本实施例与图3所示实施例相比,区别在于,服务器端生成的事件通知为syslog。
如图7所示,该实施例包括以下步骤:
首先,Client与Session handler之间建立SSH会话,建立SSH会话的过程为现有技术。
步骤701:Client向Session handler发送订阅请求。
订阅请求中携带有订阅的事件通知类型、过滤类型以及所要求得到的过滤结果信息。假设本实施例中,Client订阅的事件通知类型是流为“syslogover netconf”的所有事件,过滤类型为Xpath过滤,所要求的过滤结果为优先级8~15的事件。进一步地,还可以在订阅请求中指定将事件通知存储到syslog-subscription.profile文件中,指定订阅开始时间为2001-12-24T12:23:45。
现有技术中已经对NETCONF的事件通知订阅请求的格式进行了明确定义,本步骤中发送的订阅请求只是对现有技术的应用而已。举例如下:
<?xml version=″1.0″encoding=″UTF-8″?>
<rpc xmlns=″urn:ietf:params:xml:ns:netconf:base:1.0″
xmlns:notify=″um:ietf:params:xml:ns:netconf:notification:1.0″
xmlns:netconf=″urn:ietf:params:xml:ns:netconf:base:1.0″
xmlns:xsi=″http://www.w3.org/2001/XMLSchema-instance″
xsi:schemaLocation=″urn:ietf:params:xml:ns:netconf:notification:1.0
D:\project\XML\netconf\xsd\NC-Notification.xsd″message-id=″101″>
<create-subscription xmlns=″um:ietf:params:xml:ns:netconf:notification:1.0″>
<streams>
<stream>syslog over netconf</stream>
</streams> //订阅流为“syslog over netconf”的所有事件
<filter type=″xpath″select=″/syslogs/syslog/PRI[MsgSource=1]″/>
//采用Xpath过滤方式,得到优先级为8~15的事件
<namcd-profile>syslog-subscription.profile</named-profile>//存储到指定文件
<startTime>2001-12-24T12:23:45</startTime>//订阅开始时间
</create-subscription>
</rpc>
步骤702~706与步骤302~306相同,不再赘述。
步骤707:Event Center向Notification Manager发送syslog信息。
当系统中有事件发生时,Event Center根据该事件类型,生成相应类型的事件通知。假设本步骤中Event Center向Notification Manager发送的syslog信息中同时包括各个优先级的事件。
步骤708:Notification Manager根据订阅列表进行过滤。
本步骤中,Notification Manager根据订阅列表中存储的客户端的订阅事件通知类型信息找到订阅syslog类型事件通知的客户端,并根据存储的过滤类型以及所要求得到的过滤结果信息,通过Xpath过滤,得到只包括优先级为8~15的事件的事件通知。
也可以通过子树过滤方式,得到“优先级为8~15的事件的事件通知”。两种过滤方式均为现有技术,不再详细介绍。但是需要说明的是,本实施例中无论采用哪种过滤方式,都是以一条完整的syslog为基本单元进行过滤的,即不对信息内部进行过滤,以保证信息的完整性。
步骤709:Notification Manager向Session handler发送过滤后的事件通知。
步骤710:Session handler将事件通知封装为XML格式。
本发明实施例中将syslog格式的事件通知封装为XML格式的方式为:
依据现有NETCONF协议的事件通知模型,将syslog中携带的信息封装到所述事件通知模型的标签内容中,并且封装后的内容也要符合现有NETCONF协议事件通知模型的层次结构。
如表3所示,syslog由PRI、HEADER以及MSG三部分组成,其中:PRI进一步包括MsgSource以及Severity;HEADER进一步包括timestamp以及agentaddr;MSG中包括的信息根据实际需要进行设置。所以,本实施例中要实现将syslog格式的事件通知封装为XML格式,只需将syslog设置为标签,将syslog中携带的信息按照上述层次关系分别设置为syslog的第一级或第二级子标签。
图8为本发明实施例syslog封装为XML格式的模型示意图。如图8所示,PRI、HEADER以及MSG三个组成部分被设置为syslog的三个子标签,而PRI、HEADER以及MSG各自所包括的信息则被进一步设置为PRI、HEADER以及MSG的子标签。图8所示的syslog标签之前进一步包括一个syslogs标签,该标签的作用是为了说明可以将多个syslog封装在同一个syslogs中进行发送。
结合图4和图8,概括而言,本发明实施例所述的syslog封装方式就是将图8所示内容全部封装在图4所示“any”中,并且封装在“any”中的内容也要符合图4所示模型的层次结构。
举例说明:
本示例用于通知客户端,系统中设备的1个接口down事件,生成的事件通知为syslog。其中:PRI为8、timastamp为“2001-12-24T12:23:45”、agentaddr为“10.111.64.12”、告警的接口索引为“1”,告警信息为“linkdown”。将该示例所述syslog封装为XML格式的XSD文件文本为:
<?xml version=″1.0″encoding=″UTF-8″?>
<notifcation xnlns=″urn :ietf:params:xml:ns:netconf:notification:1.0″
xmlns:hwsyslog=″http://huawei.com/common/syslog″
xmlns:notify=″urn:ietf:params:xml:ns:netconf:notification:1.0″
xmlns:xsi=″http://www.w3.org/2001/XMLSchema-instance″
xsi:schemaLocation=″http://huawei.com/common/syslog syslog.xsd″>
<data>
<syslogs xnlns=″http://huawei.com/common/syslog″>
<syslog>
<PRI>
<MsgSource>1</MsgSource>
<Severity>0</Severity>
</PRI>
<HEADER>
<timestamp>2001-12-24T12:23:45</timestamp>
<agentaddress>10.111.64.12</agentaddress>
</HEADER>
<MSG>
<top xmlns=″http://huawei.com/syslogmsg″>
<code>2011</code>
<ifindex>1</ifindex>
<alarminfo>linkdown</alarminfo>
</top>
</MSG>
</syslog>
</syslogs>
</data>
</notification>
步骤711:Session handler将封装为XML格式的事件通知发送给Client。
后续处理过程与图3所示实施例相同,不再赘述。
依据上述方法,图9为本发明系统实施例的组成结构示意图。如图9所示,该系统包括客户端901和服务器902;
客户端901,用于在服务器902中订阅事件通知,并接收服务器902发送的事件通知;
服务器902,用于在系统中有事件发生时,生成事件通知,并将事件通知转换为客户端901能够识别的格式后发送给客户端901。
其中,服务器具体包括:会话处理模块9021、通知管理模块9022以及事件处理中心9023;
会话处理模块9021,用于将接收自客户端901的携带有订阅事件通知类型的订阅请求发送至通知管理模块9022,并将接收自通知管理模块9022的响应消息转化为XML格式后发送至客户端901;接收来自通知管理模块9022的事件通知,将事件通知转换为XML格式后发送至客户端901;
通知管理模块9022,用于将接收自会话处理模块9021的订阅请求加入预先保存的订阅列表,同时向会话处理模块9021回送订阅成功与否的响应消息;接收来自事件处理中心9023的事件通知,根据订阅列表过滤到订阅该类型事件通知的客户端,并将事件通知发送到会话处理模块9021;
事件处理中心9023,用于在系统中有事件发生时,根据需要生成与事件对应的类型的事件通知,并将事件通知发送至通知管理模块9022。
上述订阅请求中可进一步携带有过滤类型以及所要求得到的过滤结果信息;相应地,通知管理模块9022进一步用于,根据过滤类型以及所要求得到的过滤结果信息过滤得到客户端901实际订阅的事件通知。
如果需要,上述订阅请求中还可进一步携带有格式请求信息;相应地,会话处理模块9021进一步用于,将XML格式的事件通知转换为客户端901的格式请求信息中所请求的格式。
可见,采用本发明实施例的技术方案,实现了有效地兼容各种形式的事件通知方式;而且,由于客户端和服务器之间采用SSH连接承载协议,而SSH采用TCP连接,对内容进行了加密处理,所以保证了事件通知的可靠到达以及信息内容的安全性;此外,由于使用XML文本流的方式发送事件通知,在任何层面都能够较为容易的使用XSLT对其进行转换,从而方便了客户端的后续处理;再有,本发明实施例中允许将多个事件通知批量放在同一XML文件中进行传送,减少了传送消耗,而且,本发明实施例要实现过滤订阅非常方便,不但过滤方式灵活,而且可以实现针对每个目标(Target)的个性化过滤。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (22)
1.一种基于网络配置协议NETCONF的事件通知发送方法,其特征在于,该方法包括以下步骤:
NETCONF客户端在NETCONF服务器中订阅事件通知;
当系统中有事件发生时,所述NETCONF服务器生成事件通知,并将所述事件通知转换为所述NETCONF客户端能够识别的格式,发送至所述NETCONF客户端。
2.根据权利要求1所述的方法,其特征在于,该方法之前进一步包括:
所述NETCONF客户端与NETCONF服务器之间建立基于传输控制协议TCP的会话;
所述NETCONF客户端通过所述会话在所述NETCONF服务器中订阅事件通知;当系统中有事件发生时,所述NETCONF服务器通过所述会话将生成的事件通知发送至所述NETCONF客户端。
3.根据权利要求1或2所述的方法,其特征在于,所述NETCONF客户端在NETCONF服务器中订阅事件通知的方法为:
所述NETCONF客户端向NETCONF服务器发送订阅请求,所述订阅请求中携带有订阅的事件通知类型信息;
所述NETCONF服务器接收所述订阅请求,并在订阅成功后将所述订阅请求加入预先设置的订阅列表中。
4.根据权利要求3所述的方法,其特征在于,该方法进一步包括:
所述NETCONF服务器生成订阅成功与否的响应消息,并将所述响应消息转换为可扩展标识语言XML格式后发送至所述NETCONF客户端。
5.根据权利要求3所述的方法,其特征在于,所述NETCONF服务器生成事件通知的方法为:
所述NETCONF服务器根据所发生的事件类型,生成与所述事件类型对应类型的事件通知。
6.根据权利要求5所述的方法,其特征在于,所述NETCONF服务器将所述事件通知转换为NETCONF客户端能够识别的格式之前,该方法进一步包括:
所述NETCONF服务器根据所述订阅列表中存储的订阅的事件通知类型信息,查找到订阅所述类型事件通知的NETCONF客户端。
7.根据权利要求6所述的方法,其特征在于,所述NETCONF服务器将所述事件通知转换为所述NETCONF客户端能够识别的格式的方法为:
如果所述订阅请求中没有携带格式请求信息,则所述NETCONF服务器将所述类型事件通知封装为XML格式;
如果所述订阅请求中进一步携带有格式请求信息,则所述NETCONF服务器首先将所述类型事件通知封装为XML格式,然后,将所述封装为XML格式的事件通知转换为所述NETCONF客户端的格式请求信息中所请求的格式。
8.根据权利要求7所述的方法,其特征在于,所述事件通知类型为简单网络管理协议告警SnmpTrap或系统日志syslog。
9.根据权利要求8所述的方法,其特征在于,所述订阅请求中进一步携带有过滤类型以及所要求得到的过滤结果信息。
10.根据权利要求9所述的方法,其特征在于,所述过滤类型包括子树SUBTREE过滤以及XML路径语言Xpath过滤。
11.根据权利要求9或10所述的方法,其特征在于,所述NETCONF服务器将所述事件通知转换为NETCONF客户端能够识别的格式之前,该方法进一步包括:
所述NETCONF服务器根据所述订阅列表中存储的过滤类型以及所要求得到的过滤结果信息过滤得到所述NETCONF客户端实际订阅的事件通知。
12.根据权利要求8所述的方法,其特征在于,若所述事件通知的类型为SnmpTrap,则所述NETCONF服务器将事件通知封装为XML格式的方法为:
依据NETCONF协议的事件通知模型,所述事件通知模型为标签、子标签以及标签内容的层次结构,所述子标签为数据data标签,其对应的标签内容中可任意添加信息;
将所述SnmpTrap中携带的信息封装到所述标签内容中,并且封装后的内容符合所述NETCONF协议事件通知模型的层次结构。
13.根据权利要求12所述的方法,其特征在于,所述SnmpTrap包括Snmpv1Trap、Snmpv2Trap和Snmpv3Trap;
所述Snmpv1Trap由时间戳timestamp、代理地址agentaddr、通用标识eid、特定标识sid以及变量绑定对vbs信息组成;
所述Snmpv2Trap由timestamp、告警对象标识trapoid以及vbs信息组成;其中,所述vbs中包括一个或一个以上vb,所述每个vb中进一步包括oid和变量值value;
所述Snmpv3Trap包括Snmpv2Trap中的全部信息,且进一步包括上下文名称contextname以及上下文标识contextid信息;
所述将SnmpTrap中携带的信息封装到所述标签内容中的方法为:
将SnmpTrap设置为标签,Snmpv1Trap、Snmpv2Trap以及Snmpv3Trap设置为SNMPTrap的子标签;将所述Snmpv1Trap、Snmpv2Trap以及Snmpv3Trap中各自携带的信息按照所述包含关系分别对应地设置为所述Snmpv1Trap、Snmpv2Trap以及Snmpv3Trap的不同级别子标签。
14.根据权利要求8所述的方法,其特征在于,若所述事件通知的类型为syslog,则所述NETCONF服务器将事件通知封装为XML格式的方法为:
依据NETCONF协议的事件通知模型,所述事件通知模型为标签、子标签以及标签内容的层次结构,所述子标签为data标签,其对应的标签内容中可任意添加信息;
将所述syslog中携带的信息封装到所述标签内容中,并且封装后的内容符合所述NETCONF协议事件通知模型的层次结构。
15.根据权利要求14所述的方法,其特征在于,所述syslog由优先级PRI、消息头HEADER以及消息内容MSG三部分组成;其中,所述PRI中进一步包括日志来源MsgSource以及严重程度Severity信息;所述HEADER中进一步包括timestamp以及agentaddr信息;所述MSG中包括的信息根据实际需要进行设置;
所述将syslog中携带的信息封装到所述标签内容中的方法为:
将syslog设置为标签;将所述syslog中携带的信息按照所述层次关系分别设置为所述syslog标签的不同级别子标签。
16.根据权利要求15所述的方法,其特征在于,该方法进一步包括:
设置一个标签syslogs,将一个或一个以上的所述syslog标签设置为所述syslogs的子标签。
17.根据权利要求13或15所述的方法,其特征在于,所述NETCONF服务器将封装为XML格式的事件通知转换为NETCONF客户端的格式请求信息中所请求的格式的方法为:
所述NETCONF服务器通过可扩展类型表语言转换XSLT方式,将所述XML格式的事件通知转换为NETCONF客户端所请求的格式。
18.一种基于NETCONF的事件通知发送系统,其特征在于,该系统包括NETCONF客户端和NETCONF服务器;
所述NETCONF客户端,用于在所述NETCONF服务器中订阅事件通知,并接收所述NETCONF服务器发送的事件通知;
所述NETCONF服务器,用于在系统中有事件发生时,生成事件通知,并将所述事件通知转换为NETCONF客户端能够识别的格式后,发送至所述NETCONF客户端。
19.根据权利要求18所述的系统,其特征在于,所述NETCONF服务器具体包括:会话处理模块、通知管理模块以及事件处理中心;
所述会话处理模块,用于将接收自所述NETCONF客户端的携带有订阅事件通知类型的订阅请求发送至所述通知管理模块,并将接收自所述通知管理模块的响应消息转化为XML格式后发送至所述NETCONF客户端;接收来自所述通知管理模块的事件通知,将所述事件通知转换为XML格式后发送至所述NETCONF客户端;
所述通知管理模块,用于将接收自所述会话处理模块的订阅请求加入预先保存的订阅列表,同时向所述会话处理模块回送订阅成功与否的响应消息;接收来自所述事件处理中心的事件通知,根据所述订阅列表过滤到订阅所述类型事件通知的NETCONF客户端,并将所述事件通知发送到所述会话处理模块;
所述事件处理中心,用于在系统中有事件发生时,根据需要生成与所述事件对应的类型的事件通知,并将所述事件通知发送至所述通知管理模块。
20.一种基于NETCONF的事件通知发送设备,该设备为NETCONF服务器,其特征在于,所述NETCONF服务器包括:会话处理模块、通知管理模块以及事件处理中心;
所述会话处理模块,用于将接收自NETCONF客户端的携带有订阅事件通知类型的订阅请求发送至所述通知管理模块,并将接收自所述通知管理模块的响应消息转化为XML格式后发送至所述NETCONF客户端;接收来自所述通知管理模块的事件通知,将所述事件通知转换为XML格式后发送至所述NETCONF客户端;
所述通知管理模块,用于将接收自所述会话处理模块的订阅请求加入预先保存的订阅列表,同时向所述会话处理模块回送订阅成功与否的响应消息;接收来自所述事件处理中心的事件通知,根据所述订阅列表过滤到订阅所述类型事件通知的NETCONF客户端,并将所述事件通知发送到所述会话处理模块;
所述事件处理中心,用于在系统中有事件发生时,根据需要生成与所述事件对应的类型的事件通知,并将所述事件通知发送至所述通知管理模块。
21.根据权利要求20所述的设备,其特征在于,所述订阅请求中进一步携带有过滤类型以及所要求得到的过滤结果信息;
所述通知管理模块进一步用于,根据所述过滤类型以及所要求得到的过滤结果信息过滤得到所述NETCONF客户端实际订阅的事件通知。
22.根据权利要求20所述的设备,其特征在于,所述订阅请求中进一步携带有格式请求信息;
所述会话处理模块进一步用于,将所述XML格式的事件通知转换为所述NETCONF客户端的格式请求信息中所请求的格式。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101260580A CN101110822B (zh) | 2007-07-06 | 2007-07-06 | 基于网络配置协议的事件通知发送方法、系统及设备 |
PCT/CN2008/071217 WO2009006808A1 (fr) | 2007-07-06 | 2008-06-06 | Procédé et système pour envoyer les notifications d'événements sur la base du protocole netconf |
EP08757628.6A EP2166699B1 (en) | 2007-07-06 | 2008-06-06 | A method and system for sending the event notices based on netconf |
ES08757628T ES2432793T3 (es) | 2007-07-06 | 2008-06-06 | Un método y un sistema para enviar las notificaciones de eventos basadas en NETCONF |
US12/614,179 US8103731B2 (en) | 2007-07-06 | 2009-11-06 | Method and system for sending a NETCONF-based notification |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101260580A CN101110822B (zh) | 2007-07-06 | 2007-07-06 | 基于网络配置协议的事件通知发送方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101110822A true CN101110822A (zh) | 2008-01-23 |
CN101110822B CN101110822B (zh) | 2011-11-02 |
Family
ID=39042714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101260580A Expired - Fee Related CN101110822B (zh) | 2007-07-06 | 2007-07-06 | 基于网络配置协议的事件通知发送方法、系统及设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8103731B2 (zh) |
EP (1) | EP2166699B1 (zh) |
CN (1) | CN101110822B (zh) |
ES (1) | ES2432793T3 (zh) |
WO (1) | WO2009006808A1 (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009006808A1 (fr) * | 2007-07-06 | 2009-01-15 | Huawei Technologies Co., Ltd. | Procédé et système pour envoyer les notifications d'événements sur la base du protocole netconf |
WO2009127136A1 (zh) * | 2008-04-16 | 2009-10-22 | 华为技术有限公司 | 一种用户数据订阅通知方法及装置 |
CN101909043A (zh) * | 2009-06-03 | 2010-12-08 | 中兴通讯股份有限公司 | 一种基于简单网络管理协议的数据传输的方法及系统 |
CN102355374A (zh) * | 2011-10-28 | 2012-02-15 | 杭州华三通信技术有限公司 | 一种数据获取方法和设备 |
CN101764707B (zh) * | 2009-12-30 | 2012-08-08 | 成都市华为赛门铁克科技有限公司 | 网络配置事件通知消息的处理方法、转换装置和处理系统 |
WO2015117417A1 (zh) * | 2014-08-19 | 2015-08-13 | 中兴通讯股份有限公司 | 一种定制事件通知的方法、服务器和系统 |
CN104967696A (zh) * | 2015-07-29 | 2015-10-07 | 网神信息技术(北京)股份有限公司 | 日志发送方法和装置 |
CN105656643A (zh) * | 2014-11-10 | 2016-06-08 | 中兴通讯股份有限公司 | 一种基于网络配置协议进行兼容管理的方法及设备 |
WO2016110078A1 (zh) * | 2015-01-07 | 2016-07-14 | 中兴通讯股份有限公司 | 数据获取方法及装置、存储介质 |
CN105991579A (zh) * | 2015-02-12 | 2016-10-05 | 华为技术有限公司 | 信息发送方法、相关网络设备以及系统 |
CN107222321A (zh) * | 2016-03-21 | 2017-09-29 | 华为技术有限公司 | 一种配置报文发送方法及装置 |
CN107515791A (zh) * | 2011-10-11 | 2017-12-26 | 微软技术许可有限责任公司 | 通过本地服务器对本地客户机应用进行事件服务的方法 |
CN107872337A (zh) * | 2016-09-26 | 2018-04-03 | 中国电信股份有限公司 | 信息转换方法、装置和系统 |
CN111355601A (zh) * | 2018-12-21 | 2020-06-30 | 华为技术有限公司 | 信息传输方法和装置 |
CN111434083A (zh) * | 2017-12-04 | 2020-07-17 | 瑞典爱立信有限公司 | 用于netconf的网络管理设备和集中式授权服务器 |
CN111654555A (zh) * | 2020-08-10 | 2020-09-11 | 南京云联数科科技有限公司 | 用于消息分发的方法、电子设备和存储介质 |
CN112054916A (zh) * | 2019-06-06 | 2020-12-08 | 烽火通信科技股份有限公司 | 事件自动化转换的方法及系统 |
CN112199256A (zh) * | 2020-10-16 | 2021-01-08 | 济南浪潮数据技术有限公司 | 一种部署事件监控方法、装置及设备 |
CN113132127A (zh) * | 2019-12-30 | 2021-07-16 | 中兴通讯股份有限公司 | 网络设备管理方法、系统及网络设备 |
US11223704B2 (en) | 2011-10-11 | 2022-01-11 | Microsoft Technology Licensing, Llc | Event service for local client applications through local server |
CN114172786A (zh) * | 2021-12-03 | 2022-03-11 | 中国电信集团系统集成有限责任公司 | 基于tr069协议和netconf协议的网络监控阈值动态调整方法及装置 |
CN114301817A (zh) * | 2021-12-17 | 2022-04-08 | 中电信数智科技有限公司 | 基于Netconf协议的设备监测阈值设置方法和系统 |
CN114363222A (zh) * | 2021-12-17 | 2022-04-15 | 中电信数智科技有限公司 | 一种基于Netconf协议的网络设备巡检方法和系统 |
CN115174352A (zh) * | 2022-07-08 | 2022-10-11 | 中国电信股份有限公司 | 基于网络配置协议的事件通知发送方法及装置、介质 |
WO2023093024A1 (zh) * | 2021-11-26 | 2023-06-01 | 中电信数智科技有限公司 | 一种网络抖动分析及可视化方法及系统 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237443B (zh) * | 2007-02-01 | 2012-08-22 | 华为技术有限公司 | 管理协议中对用户进行认证的方法和系统 |
TWI462526B (zh) * | 2012-11-22 | 2014-11-21 | Accton Technology Corp | The processing method of network device and its power failure signal |
CN104883267B (zh) | 2014-02-28 | 2018-07-20 | 新华三技术有限公司 | 网络配置访问方法及装置 |
CN104883266B (zh) | 2014-02-28 | 2018-10-12 | 新华三技术有限公司 | 网络配置访问方法及装置 |
US9715380B2 (en) * | 2015-05-26 | 2017-07-25 | Cisco Technology, Inc. | Techniques for enabling dynamic update of device data models |
KR101655966B1 (ko) * | 2015-09-11 | 2016-09-08 | 동아대학교 산학협력단 | Netconf 프로토콜의 rpc 계층 개선을 위한 장치 및 방법 |
US10135940B2 (en) * | 2015-12-04 | 2018-11-20 | Oracle International Corporation | Subscribing to event notifications using object instances |
EP3468238B1 (en) | 2016-07-06 | 2021-12-08 | Huawei Technologies Co., Ltd. | Network connection configuration methods and apparatuses |
WO2018049677A1 (en) | 2016-09-19 | 2018-03-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for network management based on netconf protocol, and associated network device |
US11902174B2 (en) | 2017-10-23 | 2024-02-13 | Nokia Solutions And Networks Oy | Network slice configuration |
US10721124B2 (en) * | 2018-04-06 | 2020-07-21 | Cisco Technology, Inc. | Cloud management connectivity assurance |
CN109829085A (zh) * | 2018-12-17 | 2019-05-31 | 深圳壹账通智能科技有限公司 | 报表订阅方法、装置、计算机设备和存储介质 |
CN111866044B (zh) * | 2019-04-29 | 2024-09-17 | 华为技术有限公司 | 数据采集方法、装置、设备及计算机可读存储介质 |
US11368298B2 (en) * | 2019-05-16 | 2022-06-21 | Cisco Technology, Inc. | Decentralized internet protocol security key negotiation |
CN112583621B (zh) * | 2019-09-30 | 2022-03-25 | 华为技术有限公司 | 一种自动退出试运行的方法、设备和系统 |
CN112671818A (zh) * | 2019-10-16 | 2021-04-16 | 华为技术有限公司 | 数据订阅方法、装置及系统 |
US10958539B1 (en) * | 2019-12-02 | 2021-03-23 | Cisco Technology, Inc. | Network function virtualization compute element image upgrade |
CN114205225A (zh) * | 2020-08-26 | 2022-03-18 | 华为技术有限公司 | 一种配置错误信息传输方法及设备 |
CN114006812B (zh) * | 2021-10-30 | 2024-06-14 | 杭州迪普信息技术有限公司 | 网络设备的配置方法及装置 |
CN114221884B (zh) * | 2021-11-18 | 2023-12-26 | 新华三技术有限公司合肥分公司 | 心跳报文的订阅方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1277372C (zh) * | 2002-12-15 | 2006-09-27 | 华为技术有限公司 | 一种网元内部实时数据的同步方法 |
US7305420B2 (en) * | 2005-05-25 | 2007-12-04 | Microsoft Corporation | Synchronizing modifiable documents with multiple clients using document subsections |
CN1909466A (zh) * | 2006-08-02 | 2007-02-07 | 中山大学 | 一种个人事务提醒系统 |
CN100539597C (zh) * | 2006-09-27 | 2009-09-09 | 华为技术有限公司 | 配置管理方法和装置 |
CN101110822B (zh) * | 2007-07-06 | 2011-11-02 | 华为技术有限公司 | 基于网络配置协议的事件通知发送方法、系统及设备 |
-
2007
- 2007-07-06 CN CN2007101260580A patent/CN101110822B/zh not_active Expired - Fee Related
-
2008
- 2008-06-06 ES ES08757628T patent/ES2432793T3/es active Active
- 2008-06-06 WO PCT/CN2008/071217 patent/WO2009006808A1/zh active Application Filing
- 2008-06-06 EP EP08757628.6A patent/EP2166699B1/en not_active Not-in-force
-
2009
- 2009-11-06 US US12/614,179 patent/US8103731B2/en not_active Expired - Fee Related
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8103731B2 (en) | 2007-07-06 | 2012-01-24 | Huawei Technologies Co., Ltd. | Method and system for sending a NETCONF-based notification |
WO2009006808A1 (fr) * | 2007-07-06 | 2009-01-15 | Huawei Technologies Co., Ltd. | Procédé et système pour envoyer les notifications d'événements sur la base du protocole netconf |
WO2009127136A1 (zh) * | 2008-04-16 | 2009-10-22 | 华为技术有限公司 | 一种用户数据订阅通知方法及装置 |
CN101909043A (zh) * | 2009-06-03 | 2010-12-08 | 中兴通讯股份有限公司 | 一种基于简单网络管理协议的数据传输的方法及系统 |
CN101764707B (zh) * | 2009-12-30 | 2012-08-08 | 成都市华为赛门铁克科技有限公司 | 网络配置事件通知消息的处理方法、转换装置和处理系统 |
CN107515791A (zh) * | 2011-10-11 | 2017-12-26 | 微软技术许可有限责任公司 | 通过本地服务器对本地客户机应用进行事件服务的方法 |
US11223704B2 (en) | 2011-10-11 | 2022-01-11 | Microsoft Technology Licensing, Llc | Event service for local client applications through local server |
CN107515791B (zh) * | 2011-10-11 | 2021-03-02 | 微软技术许可有限责任公司 | 通过本地服务器对本地客户机应用进行事件服务的方法 |
CN102355374A (zh) * | 2011-10-28 | 2012-02-15 | 杭州华三通信技术有限公司 | 一种数据获取方法和设备 |
CN105471604A (zh) * | 2014-08-19 | 2016-04-06 | 中兴通讯股份有限公司 | 一种定制事件通知的方法、服务器和系统 |
WO2015117417A1 (zh) * | 2014-08-19 | 2015-08-13 | 中兴通讯股份有限公司 | 一种定制事件通知的方法、服务器和系统 |
CN105656643A (zh) * | 2014-11-10 | 2016-06-08 | 中兴通讯股份有限公司 | 一种基于网络配置协议进行兼容管理的方法及设备 |
CN105656643B (zh) * | 2014-11-10 | 2020-08-14 | 中兴通讯股份有限公司 | 一种基于网络配置协议进行兼容管理的方法及设备 |
WO2016110078A1 (zh) * | 2015-01-07 | 2016-07-14 | 中兴通讯股份有限公司 | 数据获取方法及装置、存储介质 |
CN105991579A (zh) * | 2015-02-12 | 2016-10-05 | 华为技术有限公司 | 信息发送方法、相关网络设备以及系统 |
CN105991579B (zh) * | 2015-02-12 | 2019-05-28 | 华为技术有限公司 | 信息发送方法、相关网络设备以及系统 |
CN104967696A (zh) * | 2015-07-29 | 2015-10-07 | 网神信息技术(北京)股份有限公司 | 日志发送方法和装置 |
CN107222321A (zh) * | 2016-03-21 | 2017-09-29 | 华为技术有限公司 | 一种配置报文发送方法及装置 |
CN107872337A (zh) * | 2016-09-26 | 2018-04-03 | 中国电信股份有限公司 | 信息转换方法、装置和系统 |
CN111434083A (zh) * | 2017-12-04 | 2020-07-17 | 瑞典爱立信有限公司 | 用于netconf的网络管理设备和集中式授权服务器 |
CN111434083B (zh) * | 2017-12-04 | 2022-11-22 | 瑞典爱立信有限公司 | 用于netconf的网络管理设备和集中式授权服务器 |
CN111355601A (zh) * | 2018-12-21 | 2020-06-30 | 华为技术有限公司 | 信息传输方法和装置 |
CN112054916A (zh) * | 2019-06-06 | 2020-12-08 | 烽火通信科技股份有限公司 | 事件自动化转换的方法及系统 |
CN112054916B (zh) * | 2019-06-06 | 2023-04-18 | 烽火通信科技股份有限公司 | 事件自动化转换的方法及系统 |
CN113132127A (zh) * | 2019-12-30 | 2021-07-16 | 中兴通讯股份有限公司 | 网络设备管理方法、系统及网络设备 |
CN111654555A (zh) * | 2020-08-10 | 2020-09-11 | 南京云联数科科技有限公司 | 用于消息分发的方法、电子设备和存储介质 |
CN112199256A (zh) * | 2020-10-16 | 2021-01-08 | 济南浪潮数据技术有限公司 | 一种部署事件监控方法、装置及设备 |
WO2023093024A1 (zh) * | 2021-11-26 | 2023-06-01 | 中电信数智科技有限公司 | 一种网络抖动分析及可视化方法及系统 |
CN114172786A (zh) * | 2021-12-03 | 2022-03-11 | 中国电信集团系统集成有限责任公司 | 基于tr069协议和netconf协议的网络监控阈值动态调整方法及装置 |
WO2023098046A1 (zh) * | 2021-12-03 | 2023-06-08 | 中电信数智科技有限公司 | 基于tr069协议和netconf协议的网络监控阈值动态调整方法及装置 |
CN114301817A (zh) * | 2021-12-17 | 2022-04-08 | 中电信数智科技有限公司 | 基于Netconf协议的设备监测阈值设置方法和系统 |
CN114363222A (zh) * | 2021-12-17 | 2022-04-15 | 中电信数智科技有限公司 | 一种基于Netconf协议的网络设备巡检方法和系统 |
CN115174352A (zh) * | 2022-07-08 | 2022-10-11 | 中国电信股份有限公司 | 基于网络配置协议的事件通知发送方法及装置、介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2166699A4 (en) | 2010-09-22 |
US8103731B2 (en) | 2012-01-24 |
WO2009006808A1 (fr) | 2009-01-15 |
EP2166699B1 (en) | 2013-08-14 |
CN101110822B (zh) | 2011-11-02 |
ES2432793T3 (es) | 2013-12-05 |
US20100057849A1 (en) | 2010-03-04 |
EP2166699A1 (en) | 2010-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101110822B (zh) | 基于网络配置协议的事件通知发送方法、系统及设备 | |
CN101115264B (zh) | 通讯终端故障监控系统及其实现方法 | |
EP2154828B1 (en) | Method and device for processing alarm/event information | |
Yu et al. | An empirical study of the NETCONF protocol | |
EP1678862A2 (en) | System and apparatus for a network management system using presence and instant message technique | |
CN101616022A (zh) | 一种基于snmp协议的智能设备管理方法及系统 | |
US8935388B2 (en) | Systems and methods of automated event processing | |
US20090100174A1 (en) | Method and system for automatic polling of multiple device types | |
CN101710862A (zh) | 一种网管操作错误信息的处理方法及装置 | |
CN110018677A (zh) | 一种物联网设备管理系统及方法 | |
CN101764707A (zh) | 网络配置事件通知消息的处理方法、转换装置和处理系统 | |
CN102263796B (zh) | 基于简单网络管理协议的数据传输方法 | |
Cisco | Using Cisco Transport Manager GateWay | |
McCarthy et al. | Exploiting the power of OSI Management for the control of SNMP-capable resources using generic application level gateways | |
Fowler | Definitions of Managed Objects for the DS0 and DS0 Bundle Interface Type | |
CN108023799A (zh) | 一种机载双余度can总线通信方法 | |
WO2009156733A1 (en) | Method and apparatus for generating error keys for fault diagnosis in communication networks | |
Vanhulst et al. | Standardization of monitoring protocols for energy systems | |
US20090190499A1 (en) | System for Extracting and Combining Information from IP Device Configurations, Inventory Systems, and Real-Time Network Monitoring | |
CN102123051A (zh) | 一种扩展snmp错误反馈信息的方法 | |
Marinov et al. | Mapping Simple Network Management Protocol (SNMP) Notifications to SYSLOG Messages | |
Aitken et al. | Exporting MIB Variables Using the IP Flow Information Export (IPFIX) Protocol | |
Babu et al. | ENHANCED DYING GASP IN NETWORK NODES FOR INTUITIVE MONITORING OF COMPLEX NETWORKS | |
KR100886625B1 (ko) | 다중 벤더 전력선 통신망 관리 시스템 및 그 방법 | |
KR19990057158A (ko) | 이종 프로토콜의 시스템간의 경보 게이트웨이 장치 및 경보 메시지 변환 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111102 |
|
CF01 | Termination of patent right due to non-payment of annual fee |