一种网络管理设备及其管理方法与流程

文档序号:17860814发布日期:2019-06-11 22:51阅读:138来源:国知局
一种网络管理设备及其管理方法与流程

本发明涉及网络管理技术领域,尤其涉及一种网络管理设备及其管理方法。



背景技术:

随着计算机和通信网络的迅速发展,越来越多的网元设备被加入到了网络中。在这种情况下,如何快速准确地获得各个网元设备的工作状态,对于维护网络的正常运行具有十分重要的意义。

人们已经提出了许多网络管理设备及其管理方法。例如,snmp(简单网络管理协议)和cmip(通用管理信息协议)就是业界常用的两种网络管理协议。然而,基于这两种协议研发的网络管理设备及其管理方法至少需要在网络管理设备(例如,可以是网络管理服务器)和网元设备上同时实现其中的某一种协议。对于目前不支持这两种协议的网络管理设备或网元设备而言,这涉及大量的固件更新操作,会花费大量的人力和财力。

因此,需要提出一种至少不依赖于上述专用网络管理协议的低成本的网络管理设备及其管理方法。



技术实现要素:

为解决多协议网络管理设备或网元设备之间的网络管理问题,本发明的目的是通过以下技术方案实现的。

具体的,根据本发明的一个方面,提供了一种网络管理设备,用于在客户端和网元设备间进行网络管理,包括:

第一协议管理指令接收模块,用于接收采用第一协议发送的第一协议管理指令,所述第一协议管理指令用于指示至少一个网元设备执行至少一个相同或不同的操作;

指令内容解析模块,其与第一协议管理指令接收模块连接,用于对第一协议管理指令进行解析,得到第一协议管理指令的内容;

第二协议管理指令发送模块,其与指令内容解析模块连接,进行协议转换,将第一协议管理指令转换为采用第二协议的第二协议管理指令,并发送给网元设备。

优选的,所述第一协议管理指令是单个网络管理指令、广播指令或批指令。

更优选的,所述批指令基于指令脚本和批指令任务,对不同的设备下发不同的指令;所述指令脚本用于管理网元设备和指令多对多的执行关系,而所述批指令任务包括多线程处理队列,确定批量指令执行的顺序、效率和设备的系统负载。

更优选的,所述广播指令根据选择的网元设备范围,向连接的网元设备下发相同指令。

优选的,所述第二协议管理指令发送模块包括设备连接单元和路由管理单元。

更优选的,所述路由管理单元定义路由管理和/或任务唯一标识,把所述第一协议的连接句柄与第二协议的连接句柄进行关联。

更优选的,所述设备连接单元根据网元设备名称与网元设备进行连接,向路由管理单元返回第一协议的连接句柄与第二协议的连接句柄。

优选的,所述网络管理设备还包括:

第二协议管理指令执行结果接收模块,用于从网元设备接收第二协议管理指令的执行结果;

指令执行结果内容解析模块,其与第二协议管理指令执行结果接收模块连接,用于对第二协议管理指令的执行结果进行解析,得到所述执行结果的内容。

更优选的,所述网络管理设备还包括:

第一协议管理指令执行结果发送模块,其与指令执行结果内容解析模块连接,用于将第二协议管理指令的执行结果的内容封装为第一协议管理指令执行结果发送给所述客户端。

更优选的,所述网络管理设备还包括:

数据报文处理模块,与所述第一协议管理指令接收模块和所述第二协议管理指令执行结果接收模块连接,用于对接收到的报文数据中所包含的特殊控制字符进行过滤,对包含中间指令的情况进行处理,同时对报文完整性进行判断,第一协议管理指令收到一段完整的第二协议管理指令的执行结果。

更优选的,所述网络管理设备还包括:

任务队列管理模块,用于所述批指令任务的任务执行顺序。

更优选的,所述网络管理设备还包括:

任务线程管理模块,用于所述批指令任务的任务执行线程。

更优选的,所述第一协议至少包括http协议和websocket协议中的至少一种,所述第二协议至少包括ssh协议和telnet协议中的至少一种。

根据本发明的另一个方面,还提供了一种网络管理方法,用于在客户端和网元设备间进行网络管理,其特征在于,包括:

接收采用第一协议发送的第一协议管理指令,所述第一协议管理指令用于指示至少一个网元设备执行至少一个相同或不同的操作;

对第一协议管理指令进行解析,得到第一协议管理指令的内容;

协议转换,将第一协议管理指令转换为采用第二协议的第二协议管理指令,并发送给网元设备;

从网元设备接收第二协议管理指令的执行结果;

对第二协议管理指令的执行结果进行解析,得到所述执行结果的内容。

优选的,将所述执行结果的内容封装为第一协议管理指令执行结果并发送给客户端。

更优选的,所述第一协议至少包括http协议和websocket协议中的至少一种,所述第二协议至少包括ssh协议和telnet协议中的至少一种。

本发明的优点在于:结合可扩展的通用指令脚本,指定设备和指令多对多的对应关系和执行次序,屏蔽具体业务的复杂性,提高业务配置的通用性;不涉及过多业务,结合任务拆分,多线程并发执行,保证处理效率的高效性;通过浏览器使用web页面快速和设备建立ssh/telnet连接的数据交互通道,实现和设备之间的指令交互,同时基于文本进行数据的处理和传输。

附图说明

通过阅读下文具体实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出具体实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明实施方式的网络管理设备的示意图。

图2示出了根据本发明实施方式的网络管理设备的另一优选实施例示意图。

图3示出了根据本发明实施方式的网络管理设备的又一优选实施例示意图。

图4示出了根据本发明实施方式的网络管理设备的再一优选实施例示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明实施方式的网络管理设备的示意图100。

如图1所示,网络管理设备100包括网络管理设备101和网元设备103。

网络管理设备101是指能够通过http协议和websocket协议等协议中的至少一种接收(来自网络管理设备101自身或来自其他web客户端的)网络管理指令,并且能够将所接收到的网络管理指令下发给网元设备103的管理设备。

网元设备103是指可以通过socket或ssh/telnet等(即,tcp/ip、ssh协议和telnet协议等协议)与网络管理设备101建立连接,并且能够接收管理指令并且返回响应数据的设备。

管理指令是网络管理设备101可以识别并正确响应的文本字符串。管理指令的末尾通常还需要包括用于标识管理指令的文本字符串的内容结束的控制字符(一般是回车或换行字符,也被称作中间指令)。

管理指令可以是单个网络管理指令、广播指令,也可以是指令序列(即,批量网络管理指令,以下也可简称为批指令)的形式。通过管理指令可以规定要对哪些网元设备(或网元设备集合)执行哪些指令(或指令序列)、以及执行失败如何处理等操作所对应的指令(或指令序列)。

其中,需要强调的是,所述批量网络管理指令实现“批量”是基于指令脚本和批指令任务;用指令脚本的方式,灵活管理复杂的网元设备和指令多对多的执行关系,而批指令任务包括多线程处理队列,保证批量指令执行的顺序、效率和系统的负载。

具体的,通过单个网络管理指令的形式可实现对单个网元设备实现指令下发;通过广播指令的形式可实现多个网元设备依次下发单个指令,指令在所有网元设备全部执行完成后才可以执行下一条指令或关闭和网元设备的连接;通过批量网络管理指令的形式,可以并发对多个网元设备(或网元设备集合)下发多个不同类型的指令(或指令序列),网元设备(或网元设备集合)和指令(或指令序列)是多对多的关系。

需要强调的是,本发明通过设置广播指令和批指令,在指令中设置了众多本指令的对象设备;广播指令和批指令的区别为广播指令根据选择的设备范围,连接设备下发“相同”指令;批指令是对不同的设备下发不同的指令。

进一步的,本发明通过使用任务匹配指令,使得广播指令生成一个任务id,批指令任务队列加多线程方式执行,将设备名称、指令和线程关联,生成任务线程批量执行指令。

例如,可以在批量网络管理指令中包含用于指定第一网元设备集合中的网元设备1、网元设备2和网元设备3执行指令a和指令b(即,第一指令序列)的第一配置命令(或配置命令集);以及,用于指定第二网元设备集合中的网元设备4和网元设备5执行指令c、指令d和指令e(即,第二指令序列)的第二配置命令(或配置命令集),从而以批量方式并发访问不同类型的网元设备,使其执行各自的指令序列。

网络管理设备101包括第一协议管理指令接收模块102、指令内容解析模块104、第二协议管理指令发送模块106、第二协议管理指令执行结果接收模块108和指令执行结果内容解析模块110。

可选地,网络管理设备100中所使用的所述第一协议至少包括http协议和websocket协议中的至少一种,所述第二协议至少包括ssh协议和telnet协议中的至少一种。

因此,根据本发明的网络管理设备100完全不依赖于现有网络管理设备通常所必须采用的snmp或cmip等专用网络管理协议。

第一协议管理指令接收模块102用于接收采用第一协议发送的(例如,可以通过网络管理设备101自身运行的web浏览器所输入的)第一协议管理指令(即,采用通过web页面提交的请求数据的形式),所述第一协议管理指令根据其管理指令形式的不同用于指示至少一个网元设备103执行至少一个相同或不同的操作。

例如,第一协议管理指令可以是上文所述的单个网络管理指令、广播指令、批量网络管理指令的形式。广播指令中需要指定接收该广播指令的网元设备的地址集合和广播指令字符串(或广播指令字符串集合)。另外,单个网络管理指令或批量网络管理指令都可以预先生成并进行存储(例如,以包含单个网络管理指令或批量网络管理指令的脚本文件的形式)生成。

指令内容解析模块104与第一协议管理指令接收模块102连接,用于对第一协议管理指令进行解析,得到管理指令的内容(即,具体管理指令的具体内容)。

第二协议管理指令发送模块106与指令内容解析模块104连接,用于调用下述的路由管理单元120和设备连接单元118,进行协议转换,将管理指令的内容封装为第二协议管理指令(例如,通过图1右侧所示的通信链路107)发送给网元设备103。协议转换是在指令下发且任务线程确定之后,通过自定义会话id\唯一任务标识,关联web浏览器下发指令的协议和网元设备接收指令的协议。

第二协议管理指令执行结果接收模块108,用于从网元设备103(例如,同样通过图1右侧所示的通信链路107)接收第二协议管理指令执行结果。

指令执行结果内容解析模块110与第二协议管理指令执行结果接收模块108连接,用于对第二协议管理指令执行结果进行解析,得到管理指令的执行结果的内容。

例如,所述管理指令的执行结果的内容可以是,如下文所述的网元管理指令“showinter”在网元设备103上执行后输出的诸如网络接口设备的最大传输单元的大小、带宽、延迟大小等的具体字符内容。

网元设备103用于(例如,通过图1右侧所示的通信链路107)接收和执行第二协议管理指令、获取第二协议管理指令的执行结果的内容、将第二协议管理指令的执行结果的内容封装为第二协议管理指令执行结果(例如,通过图1右侧所示的通信链路107)反馈给网络管理设备101。

可选地,网络管理设备100还可以包括web客户端105(如图1中的虚线框所示)。

web客户端105用于产生并向网络管理设备101(例如,通过图1左侧所示的通信链路107)发送第一协议管理指令、(例如,同样通过图1左侧所示的通信链路107)接收第一协议管理指令执行结果、以web页面的方式显示管理指令的内容和管理指令的执行结果的内容。

此时,网络管理设备101还包括第一协议管理指令执行结果发送模块112。第一协议管理指令执行结果发送模块112与指令执行结果内容解析模块110连接,用于将管理指令的执行结果的内容封装为第一协议管理指令执行结果发送给web客户端105。

例如,如上文所述,由于单个网络管理指令或批量网络管理指令都可以预先生成并进行存储(例如,以包含单个网络管理指令或批量网络管理指令的脚本文件的形式),所以web客户端105也可以直接向网络管理设备101发送管理员或用户通过浏览器直接选择的单个网络管理指令脚本文件或批量网络管理指令脚本文件。

用来指定网络管理指令和网元设备之间的对应关系的脚本命令(即,语句,包括注释语句和命令语句等)的规则和定义如下文所述:

(1)每条语句以回车进行换行。

(2)注释语句:行开头用英文!表示。

(3)命令语句

@connect语句定义了一个设备选择的条件。

使用语法:@connect(设备a[,设备b,...])选择罗列出的设备。

@connectg语句定义了一个设备组选择的条件,通过指定设备组名,选择来自该设备组的设备。

使用语法:@connectg(设备组a[,设备组b,...][,rmv:设备x][,add:设备x])。add是额外增选的设备,rmv是要移除的设备,add和rmv添加到语句的末尾。

另外,对于其他指令可以根据需要进行扩展。

(4)检查开关语句

使用语法:@check(on)和@check(off),用于指令执行失败时的控制。@check(on)打开检查,表示其后的指令序列,若执行中出现失败,则中止后续执行;@check(off)关闭检查,遇到失败继续执行一条指令。默认情况下,打开检查。

逐个设备或逐个设备组进行网络管理指令的配置的示例如下文所述:

!配置连接设备

@connect(设备a,设备b)

!进入用户vty

user-interfacevty04

!取消当前会话查询分页显示功能

screen-length0temporary

!查询内容计费相关数据信息

discur

@check(off)

!恢复查询分页显示功能

undoscreen-length

!退出当前环境

quit

!配置连接设备组

@connectg(设备组a,设备组b,rmv:设备x)

!测试指令

showinter

例如,通过web客户端105提交批量网络管理指令时,可以将管理员或用户通过浏览器所选择的批量网络管理指令脚本通过ajax发送到后台(例如,网络管理设备101)。

例如,数据(即,管理指令的执行结果)可以实时返回到浏览器页面(即,web页面)。这可以通过websocket或sockjs实现来实现。

与现有的基于c/s架构的网络管理设备相比,包含web客户端105的网络管理设备100无需在客户端安装专门开发的客户端应用程序,在客户端通过web浏览器即可实现对网元设备的管理,使用快捷方便。

如图1所示,可选地,网络管理设备100中的网络管理设备101还可以包括数据库模块114。

所述数据库模块114用于存储网元设备数据(例如,包括设备类型、制造商、设备标识、连接方式信息、设备和连接方式匹配信息等设备信息)、用户数据(例如,包括管理员或普通用户的账号和密码等,用于用户登录鉴权)和其它信息(例如,特殊数据处理配置信息等)。

例如,所述数据库模块114可以是hsql、mysql等常规关系型数据库,导入数据有现成的工具。

如图1所示,可选地,网络管理设备100中的网络管理设备101还可以包括缓存处理模块116。

所述缓存处理模块116与所述数据库模块114连接,用于存储从数据库模块114获取到的设备信息、连接方式信息、设备和连接方式匹配信息、特殊数据处理配置信息(例如,也可以在web页面对其进行可视化配置)。

如图1所示,所述第二协议管理指令发送模块106包括设备连接单元118和路由管理单元120。

所述设备连接单元118与所述缓存处理模块116连接,用于根据网元设备名称与网元设备进行连接,向路由管理单元120返回第一协议的连接句柄与第二协议的连接句柄,同时根据超时时间设置,管理与网元设备之间保持连接的时长,保证连接的可复用性。

所述路由管理单元120与所述设备连接单元118连接,用于通过map<key,value>形式的数据结构,把上层(例如,ip层)连接和下层(例如,设备层)连接关联起来。所述路由管理单元120定义路由管理和/或任务唯一标识,把http和/或websocket的连接句柄与telnet和/或ssh的连接句柄进行关联,将链路连通,通过将中间数据处理成无特殊格式的文本数据,保证数据的上下传输。

例如,当接收到设备连接请求时,如果检测到已经存在相同设备的设备连接,则判断连接可用,则从map中直接获取连接句柄并返回,否则重新向设备连接单元118发送连接请求。

更具体地,http/websocket进程的连接句柄(此处的句柄可以理解为一个连接对象,通过这个连接对象就可以写入数据,读取数据)计为a,telnet/ssh进程的连接句柄计为b,当前连接会话id为1,路由管理单元120存的信息(即,map<key,value>)可以表示为<1-a,1-b>和<1-b,1-a>的双向形式,这样就可以通过任何一方到另一方。本领域技术人员也可以设想其他实现一一映射的方式。

其中的telnet/ssh使用第三方开源库进行连接。websocket是html5规范中基于http的一种实时web交互协议,也是采用开源实现。http是无状态的传输协议,虽然本身有session机制和cookie,但是都有局限性。

而根据本发明的上述技术方案,通过定义路由管理/使用定义会话id,以一次任务来生成唯一标识,通过参数传递来约定和保持一次批指令下发的连接状态。

如图2所示,根据本发明的另一优选实施例,网络管理设备100中的网络管理设备101还可以包括数据报文处理模块121。

所述数据报文处理模块121与所述第一协议管理指令接收模块102和所述第二协议管理指令执行结果接收模块108连接,用于对接收到的报文数据中所包含的特殊控制字符进行过滤,对包含中间指令的情况进行处理,同时对报文完整性进行判断,保证一条指令(即,第一协议管理指令)收到一段完整报文(即,第二协议管理指令执行结果)。

例如,可以结合vi命令对出现的“0x1b0x3d”字符序列进行额外过滤的方式,对特殊的控制字符(序列)进行过滤。

如图3所示,根据本发明的又一优选实施例,网络管理设备101的指令内容解析模块104还可以包括指令脚本解析单元1041。此时,网络管理设备100中的网络管理设备101还可以包括任务队列管理模块122和任务线程管理模块124。

所述指令脚本解析单元1041用于响应页面(即,web页面)对指令脚本的增删改查操作,以及对指令脚本进行语法判断、内容解析、生成(网络管理)任务。

更具体地,所述指令脚本解析单元1041能够从(第一协议管理指令接收模块102所转发的)请求数据(即,上述第一协议管理指令)中获取指令脚本内容(即,脚本中存在的各个具体管理指令的具体内容),逐步解析,根据(具体管理指令的具体内容中所包含的)设备生成网络管理任务,在数据库中存储相关的网络管理任务记录信息。

即,在生成网络管理任务时,首先需要从上述web请求数据中获取设备和指令列表,得到设备和指令之间的对应关系,然后根据(例如,数据库模块114中所存储的)设备标识生成针对每个网络设备的网络管理任务,即一个设备对应一个网络管理任务。一个网络管理任务包含一个设备和多个要执行的指令,同时一个网络管理任务需要一个执行线程去处理执行。

所述任务队列管理模块122用于管理网络管理设备101中所要执行的任务的执行顺序。这里的任务是指上述网络管理任务,即一个网络设备所要执行的单个指令或多个指令从开始执行到执行结束的整个过程。例如,所述任务队列管理模块122可以将合法的单个指令或多个指令组装成统一的java对象存入队列(例如,根据指令的优先级),方便后续处理。

所述任务线程管理模块124用于管理网络管理设备101中所要执行的任务的执行线程。例如,任务线程管理模块124从任务队列管理模块122获取需要执行的任务,并为其分配系统资源,建立用于执行该任务的执行线程。

同时,任务线程管理模块124还不断统计执行线程的总数量和各个执行线程的状态。例如,当获知正在执行的线程的总数小于系统设置值并且有新任务需要执行时,则生成新的任务执行线程(即,正在执行的任务线程的总数取系统设置值和任务总数的较小值),其他情况不做处理。

上述技术方案通过指令任务管理(例如,主要采用任务队列和利用多线程来执行任务的方式)实现了多设备多指令并发执行(即,实现了多个网元设备管理的并发执行)。

如图4所示,根据本发明的再一优选实施例,网络管理设备100中的网络管理设备101还可以包括日志和数据输出模块126。

所述日志和数据输出模块126用于存储任务执行信息(包括任务涉及的设备信息、每个设备上执行的指令信息、以及各个指令的执行结果)。

所述日志和数据输出模块126可以用于日志和数据输出。例如,可以统一日志输出的格式,以方便日志查询和日志监控。而在数据输出中,则对页面实时数据输出、批量网络管理指令及其执行结果等数据采用不同的处理方式,前者需要向websocket连接实时写入数据到页面,后者需要把获取的报文记录到文件中,并向页面(即,web页面)任务返回用于标识执行状态(执行中、执行出错、执行完成)的数据。

结合根据本发明的上述网络管理设备100,还提出了一种网络管理方法,包括以下步骤:

步骤1:接收采用第一协议发送的第一协议管理指令,所述第一协议管理指令用于指示至少一个网元设备执行至少一个相同或不同的操作。

步骤2:对第一协议管理指令进行解析,得到管理指令的内容。

步骤3:将管理指令的内容封装为第二协议管理指令发送给网元设备。

步骤4:从网元设备接收第二协议管理指令执行结果。

步骤5:对第二协议管理指令执行结果进行解析,得到管理指令的执行结果的内容。

可选地,根据本发明的网络管理方法,在步骤1中从web客户端接收采用第一协议发送的第一协议管理指令,且所述网络管理方法在步骤5之后还包括:

步骤6:将管理指令的执行结果的内容封装为第一协议管理指令执行结果发送给web客户端。

可选地,根据本发明的网络管理方法所使用的所述第一协议至少包括http协议和websocket协议中的至少一种,所述第二协议至少包括ssh协议和telnet协议中的至少一种。

由于现有的网络设备(比如电信行业的网元设备等)存在种类繁多、数量巨大、设备执行指令种类繁多、不同种类的设备管理信息和连接配置信息冗余,需要对不同种类的设备下发各自所支持的指令或指令序列(即,批量下发指令)、或者需要快速连接到设备实时下发指令,以实现相关业务的处理。因此造成了指令下发(种类不同的指令需要对应地下发给种类不同且数量巨大的不同设备)效率低,任务管理软件对设备依赖性高,不方便维护等众多问题。根据本发明的上述技术方案能够解决上述问题。

另外,相对于包含了具体业务(即,依赖于snmp或cmip等专用网络管理协议)的网络管理方案而言,根据本发明的上述技术方案能够直接对网元设备下发管理指令(即,字符指令),控制灵活、高效和便捷。

根据本发明的上述技术方案,具有以下优点:

结合可扩展的通用指令脚本,指定设备和指令多对多的对应关系和执行次序,屏蔽具体业务的复杂性,提高业务配置的通用性;不涉及过多业务,结合任务拆分,多线程并发执行,保证处理效率的高效性;通过浏览器使用web页面快速和设备建立ssh/telnet连接的数据交互通道,实现和设备之间的指令交互,同时基于文本进行数据的处理和传输。

例如,本发明的上述技术方案可以使用http和/或websocket与telnet和/或ssh之间的串接和数据转换来进行简单的网络管理。简单说,就是可以实现用户在页面输入或下发指令,就能够最终下发到支持telnet和/或ssh连接的设备,而中间交互过程和数据处理用户可以不用关心。

以上,仅为本发明示例性的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1