应用分布式的网管系统及方法 【技术领域】
本发明涉及网管技术,特别涉及一种应用分布式的网管系统及方法。
背景技术
随着宽带通信蓬勃发展,网络设备种类不断增多,网管需要管理一个很大的网络,这个网络有异种的和大量的网络设备,可能包含从用户终端、小区、汇聚、骨干等众多的设备。而用户需要用一个网管系统(一个网管系统可以是一套中心服务器加多套客户端)管理整个网络。
现有的网管模式包括:
A、单独应用的网管系统的模式,如图1所示:
这种模式下,一个网管系统管理一个设备。网管系统没有复杂的体系结构,基本是一个单独的应用,典型方式是每类设备都有一个这样的网管系统(有的公司叫维护台、维护终端)
B、Client/Server模式的网管系统,如图2所示:
随着系统的扩大,设备类型增多,和用户的对网管的要求提高,产生C/S结构的网管系统。
这种系统中,有一台集中的服务器,可以安装多套客户端,用户可以从不同的客户端上登录,通过服务器管理设备。
随着对系统扩容的要求,服务器也不能满足管理要求,成为管理的瓶颈。迫切需要把服务器分布在不同的机器上。业界也有类似的标准,比如corba,不少厂家推出基于corba地分布式网管系统,如图3所示。
基于corba实现可以解决部分问题。但基于corba开发存在开发工具昂贵、老的系统移植到corba体系结构需要作较大的改造。
【发明内容】
本发明在于提供一种应用分布式的网管系统及方法,以解决现有技术中开发工具昂贵、并且在老的系统移植到新的体系结构时需要作较大的改造的问题。为此,本发明采用如下技术方案:
本发明的系统包括:服务器,与该服务器连接的客户端和多个设备,通过客户端登录服务器对设备进行管理;其特征在于:所述的服务器包括一个主服务器和至少一个从服务器;
该主服务器包括消息转发中心模块、主系统监控模块和至少一个网管服务模块;
该从服务器包括从系统监控模块和至少一个网管服务模块;
所述设备与所述的网管服务模块连接,所述客户端、主系统监控模块、从系统监控模块和网管服务模块通过消息转发中心模块相互通信,以实现设备管理。
所述的客户端包括:
网管应用客户端,与主服务器连接,向用户提供网管业务处理界面;
系统监控客户端,与主服务器连接,向用户提供系统监控界面。
所述的网管服务模块为多个。
所述的网管服务模块分布在多个服务器上。
所述的服务器可以是异种的,包括Windows服务器或者UNIX服务器。
一种应用分布式的网络管理方法,由一主服务器和至少一个从服务器连接组成服务端;所述方法包含步骤:
在主、从服务器上分别提供管理设备的多个网管服务,并由各服务器的系统监控进程控制所述网管服务;
系统监控客户端发出的控制命令经主服务器的一消息转发中心分发到相应服务器的监控进程,由监控进程控制相应的网管服务;以及
网管服务经所述消息转发中心与客户端和其它网管服务通信。
所述的方法,主服务器上的系统监控进程经消息转发中心收集从服务器上系统监控进程的信息并上报客户端。
所述的方法,网管应用初始化时与消息转发中心建立TCP连接,并进行注册,注册后由消息分发中心分配统一标识,标识注册的进程。
所述的方法,由消息分发中心负责转发应用间的通信数据。
所述的方法,通过消息中心的消息采用ASN.1编码。
本发明实现了服务器的分布式结构,不需要用外购corba开发平台。由于没有采用corba平台,原先基于c和c++的开发代码比较方便的移植到本系统上。
【附图说明】
图1单独应用的网管系统示意图;
图2Client/Server模式的网管系统示意图;
图3基于corba的分布式网管系统示意图;
图4本发明的结构示意图。
【具体实施方式】
下面结合说明书附图来说明本发明的具体实施方式,参阅图4所示:
本发明的系统包括:由一个主服务器和一个从服务器组成的服务器端,与服务器端连接的多个设备,以及与主服务器连接的客户端。主服务器包括消息转发中心模块、主系统监控模块和两个网管服务模块。从服务器包括从系统监控模块和两个网管服务模块,设备与服务器的网管服务模块连接。
消息转发中心(MDP)模块,用于模块间的消息转发。所有应用(包括图4中的网管服务、系统监控进程、系统监控客户端、网管客户端等)初始化时,与该消息转发中心模块建立TCP连接,实现应用间单点通信和点到多点、广播方式的通信,和业务无关,消息转发中心模块完成TCP包中应用数据的透明转发。为保证跨平台通行,通过消息转发中心模块的消息采用ASN.1编码。
网管服务模块1、2、3和4,用于连接被管理的设备。系统中可以有多个网管服务应用,其中,网管服务是指网管服务程序,表现为一个操作系统进程。根据功能不同有不同的服务,如收集和处理网络性能数据的性能服务、收集和处理网络设备故障的故障服务,进行设备配置的配置服务等等,不限于4个。服务程序长期运行,也可以通过系统监控应用关闭之。网管应用客户端由于不直接连接设备,通过网管服务程序进行设备的数据的检索和配置。网管应用客户端一般较多,用户可以在不同的地点安装多套客户端,这些客户端共享相同的网管服务。
主服务器1和从服务器2,运行网管服务的平台,可以是Windows服务器或unix服务器,从服务器可为多个。主服务器运行主监控,从服务器运行从监控。
主系统监控模块(或称主监控),运行于主服务器上的监控进程,用于监控网管服务。多个服务器中,每个服务器都有一个系统监控模块。主系统监控模块经消息转发中心收集从服务器上系统监控模块的信息并上报给客户端。
从系统监控模块(或称从监控),运行于从服务器上的监控进程,用于监控网管服务。每个从服务器都有一个从系统监控进程。
系统监控客户端,提供给用户的系统监控界面,用户通过此界面启动、关闭网管系统,以及进行其它的监控任务。监控命令由客户端经消息分发中心转发给主监控,主监控再通过消息分发中心转发给从监控,比如查询服务器的资源使用情况。
网管应用客户端,提供给用户的网管业务处理界面,是一套和网管服务配套的界面。可能是一系列的应用。
客户端、主系统监控模块、从系统监控模块和网管服务模块通过消息转发中心模块相互通信,通过客户端登录服务器对设备进行管理;
流程说明:
1、开机初始化流程:
步骤:
步骤1:主服务器操作系统启动;
步骤2:主服务器操作系统启动MDP;
步骤3:主服务器操作系统启动主监控;
步骤4:主监控启动本机网管服务;
步骤5:从服务器操作系统启动;
步骤6:从服务器操作系统启动从监控;
步骤7:从监控启动本机服务。
如果有多个从服务器,可以重复5~7步。
这样所有其他网管服务启动,可以从客户端登录。
可以从系统监控客户端完成下面的操作,处理流程如下:
启动网管服务步骤:
步骤1:监控客户端向主监控发出启动网管服务消息;
步骤2:主监控向从监控发出启动网管服务消息;
步骤3:主监控启动网管数据库服务(如果没有数据库服务,不需要此步);
步骤4:主监控启动本机被监控的网管服务;
步骤5:从监控启动本机被监控的网管服务;;
步骤6:从监控向主监控报告运行状态;
步骤7:主监控向监控客户端报告网管系统运行。
停止网管服务步骤:
步骤1:监控客户端向主监控发出停止网管服务消息;
步骤2:主监控向从监控发出停止网管服务消息;
步骤3:主监控停止本机被监控的网管服务;
步骤4:从监控停止本机被监控的网管服务;
步骤5:从监控向主监控报告运行状态;
步骤6:主监控向监控客户端报告网管系统停止。
停止单个网管服务步骤(停止主服务器服务进程):
步骤1:监控客户端向主监控发出停止单个网管服务消息;
步骤2:主监控停止被监控的网管服务;
步骤3:主监控向监控客户端报告网管服务中止。
步骤(停止从服务器服务进程):
步骤1:监控客户端向主监控发出停止网管服务的消息;
步骤2:主监控向从监控发出停止网管服务消息;
步骤3:从监控停止被监控进程;
步骤4:从监控向主监控报告进程停止;
步骤5:主监控向监控客户端报告进程停止。
本发明实现了服务器的分布式结构,不需要用外购corba开发平台。由于没有采用corba平台,原先基于c和c++的开发代码比较方便的移植到本系统上。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。