CN1300979C - 全动态分布式网络服务管理系统及其服务方法 - Google Patents
全动态分布式网络服务管理系统及其服务方法 Download PDFInfo
- Publication number
- CN1300979C CN1300979C CNB031039170A CN03103917A CN1300979C CN 1300979 C CN1300979 C CN 1300979C CN B031039170 A CNB031039170 A CN B031039170A CN 03103917 A CN03103917 A CN 03103917A CN 1300979 C CN1300979 C CN 1300979C
- Authority
- CN
- China
- Prior art keywords
- service
- module
- agent module
- title
- system agent
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及网络管理技术,为了解决现有网管系统不能实现动态配置、功能模块不能任意拆卸和组合等问题,提供一种全动态分布式网络服务管理系统及其服务方法,在系统中的每台物理机器上装一个用于接收并转发启动、停止和查询服务的请求的系统代理模块;在每一个系统代理模块下有一个或多个服务代理模块,用于接收启动、停止和查询服务的请求,并完成这些工作;在每一个服务代理模块中又有一个或多个服务模块,该服务模块用于完成网络服务管理所需的最小单元化功能,例如安全、配置、或日志服务模块等。利用本发明的系统及其方法,可以实现网管系统的灵活配置、功能模块的任意组合和拆卸,从而提高网管系统的性能和稳定性,降低网管系统的成本。
Description
技术领域
本发明涉及网络管理技术,更具体地说,涉及一种全动态分布式网络服务管理系统及其服务方法。
背景技术
目前,电信设备提供的功能、种类和组网方式越来越多,越来越灵活。为了支持设备的功能和灵活性,网管系统的复杂性也越来越高,其自身也越来越庞大。稳定性和性能已成为制约网管系统发展的瓶颈。而且,设备组网的灵活性也必然要求网管系统的功能可灵活配置,可任意组合和拆卸,从而达到真正的可运营、可管理、低成本等要求。
现有的网管系统,一般采用Client-Server(客户-服务器)的集中管理方式。由后台Server端将网管的功能(如配置、性能、安全、故障等)集中放入一个进程中,在进程内部采用多线程方式进行处理。这种结构无疑将导致进程负荷很大,极大地降低了网管系统的性能和稳定性。更为关键的是,这种管理方式中无法实现系统的拆卸,也就无法满足设备灵活组网方式的要求。
相对于上述单一的服务进程结构,产生了一种新的多进程-多线程系统结构,该结构将网管系统按照功能模块来划分进程,如配置进程、安全进程、故障进程等,进程内部采用多线程进程处理。而在后台进程之间、及后台进程与前台进程之间,则通过一个叫做消息分发中心的独立进程进行通信。其消息协议是一种基于TCP/IP的自定义协议。而且,通过一些跨平台、跨数据库的工具,例如ACE(适配通信环境)、Dset(一种ASN.1编解码中间件)、SourcePro(一种跨数据库访问的中间件)等,可实现网管系统的跨平台、分布式处理。采用这种多进程-多线程系统结构在一定程度上实现了系统的负载平衡、提高系统稳定性和性能、降低网管成本等目的,但是该系统结构仍然无法满足设备的最终要求,主要存在以下缺点:
(1)、系统的性能瓶颈转移到了消息转发中心上,由于前、后台所有进程之间的通信消息都必须经过消息转发中心,因此消息转发中心将成为性能瓶颈,特别是在某些特殊情况下,例如告警风暴等,消息转发中心会存在丢包、进程误收包等现象,一旦消息转发中心出现异常退出,整个系统将变为不可用;
(2)、不能实现动态配置功能,因系统的所有功能都是硬编码在进程中,如果需要增加和删减功能,将不得不修改已有的进程,并重新编译和链接,从而增加了影响已有系统的稳定性和性能的风险,并提高了开发成本;
(3)、不能实现模块的可拆卸和组合功能,由于所有的功能都是硬编码,所以针对不同的用户需求和组网方式,都将使用同一套网管系统,而对功能的删减必须修改源码,导致每种不同的用户需求和组网方式都将有一个版本的网管系统与之配套,极大了增加了网管开发成本和维护成本。
发明内容
本发明针对现有技术的上述缺陷,要解决现有网管系统不能实现动态配置、功能模块不能任意拆卸和组合等问题,以实现网管系统的灵活配置、功能模块的任意组合和拆卸,从而提高网管系统的性能和稳定性,降低网管系统的成本。
为解决上述技术问题,本发明提供一种全动态分布式网络服务管理系统,所述系统中有多台物理机器,其中,在所述系统中的每一台物理机器上有一个系统代理模块,所述系统代理模块随着其所在的物理机器的启动而启动,用于接收启动服务、停止服务和查询服务的请求,并将请求转发给下一级模块;针对每一台物理机器,在其系统代理模块下有一个或多个服务代理模块,所述服务代理模块从其所在的系统代理模块接收启动服务、停止服务和查询服务的请求,并完成这些工作;针对每一台物理机器,在其系统代理模块下的每一个所述服务代理模块中有一个或多个服务模块,所述服务模块用于完成网络服务管理所需的最小单元化功能;还包括可在任一台物理机器上运行的命令行模块,所述命令行模块负责发起启动服务、停止服务和查询服务的命令,并将这些命令传送到不同物理机器的系统代理模块上。
同时,本发明还提供一种利用上述系统实现全动态分布式网络服务管理的方法,在该方法中,按以下步骤启动服务:
(A)由命令行模块从配置文件的服务启动序列表中读取需要启动的所有服务模块的名称;
(B)按启动顺序逐个根据服务模块的名称找到对应的服务代理模块的名称、系统代理模块的名称、以及所述服务模块的所有参数;
(C)根据系统代理模块的名称,从命名服务模块中获得系统代理对象的对象引用;
(D)由系统代理模块调用服务代理模块的服务启动接口函数,同时传入服务启动参数;
(E)由服务代理模块装载其服务模块所在的动态链接库,然后调用统一的服务创建接口函数,获得服务实例,并对服务实例进行初始化;
(F)服务模块被启动,返回成功信息。
在本发明的方法中,按以下步骤停止服务:
(a)由命令行模块从配置文件的服务停止序列表中读取需要停止的所有服务模块的名称;
(b)按停止顺序逐个根据服务模块的名称找到对应的服务代理模块的名称、系统代理模块的名称、以及所述服务模块的所有参数;
(c)根据系统代理模块的名称,从命名服务模块中获得系统代理对象的对象引用;
(d)由系统代理模块调用服务代理模块的服务停止接口函数,同时传入服务模块停止参数;
(e)由服务代理模块进行服务停止前的清除工作;
(f)删除服务实例,返回成功信息。
利用本发明的系统及其方法,可实现完整的分布式服务管理,消除性能瓶颈,真正实现分布式系统所提供的QoS(服务质量))特性,并实现网络服务管理的完全动态配置、以及任意组合和拆卸;另外,本发明的实现和操作系统无关,在WINDOWS,UNIX(Solaris、HP-UX)操作系统上都可实现;本发明的实施严格遵守CORBA标准,与具体的CORBA产品无关,能够完全与其他遵从CORBA标准的产品和平台互通;本发明完全吻合电信网管的需求和特点,以非常高效精悍的方式实现,总代码不到2000行。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明网络服务管理系统的结构框图;
图2是本发明的方法中启动服务的流程图;
图3是本发明的方法中停止服务的流程图。
具体实施方式
本发明的实施,要以‘对象管理组织’于1989年提出的CORBA(CommonObject Request Broker Architecture,公共对象请求代理结构)为基础。CORBA提供一种分布式计算总线结构,主要用于解决异构平台系统的互通。基于CORBA的应用系统天生就具有平台无关性、位置无关性、开发语言无关性等完全分布式软件特点。
一、系统结构
本发明网络服务管理系统如图1所示,其中的每一矩形框代表一个物理机器、每一实线椭圆代表一个CORBA对象、每一虚线椭圆代表一个模块,即一个进程。下面分别对各部分进行介绍。
1、系统代理模块(System Agent)
也可称之为系统代理进程,在本发明的分布式网管系统中,系统代理进程存在于系统中的每一台物理机器上,且每一台物理机器上只有一个系统代理进程,它是一个后台进程,随着物理机器的启动而启动,并一直存在。从图中可以看出,用于完成任务的System Agent同时是一个CORBA对象,它负责接收从命令行进程(Sys Admin tool)发来的启动服务、关闭服务请求,并将请求转发给下面所述的服务代理进程;同时,它也作为服务状态的查询和监控接口。
2、服务代理模块(Service Agent)
也可称之为服务代理进程,本发明中,在每一个系统代理进程下有一个或多个服务代理进程,也就是说,在一台物理机器上可以有多个服务代理进程。服务代理进程由系统代理进程启动,当服务代理进程启动时,会自动生成一个CORBA对象Service Agent,该对象负责接收从System Agent发送而来的启动服务、停止服务和查询服务的请求并最终完成这些工作。
3、服务模块(Service)
以下简称为服务,服务是本发明中的可动态配置、可拆卸的最小单元。也就是网管系统中的功能模块,如安全服务、配置服务、日志服务等。在CORBA系统中,每个服务对应于一个CORBA中的对象。服务的物理载体为动态链接库。从图1中可以看出,本发明中,在每一个服务代理进程中可有多个服务,且服务与其所在的Service Agent分布在同一个进程中。
4、系统管理工具(System Admin Tool)
即命令行模块,本发明中,该工具是一个命令行进程。它可以在网管系统中的任意一台物理机器上运行,负责发起启动服务、停止服务和查询服务的命令。这些命令将传送到系统中不同物理机器的System Agent上。
5、命名服务模块(CORBA Name Service)
以下简称为命名服务,CORBA提供了一种标准的命名服务,该服务以目录结构的形式储存了所有注册在其中的CORBA对象的对象名称和其对象引用。通过命名服务,可以根据对象名称检索到其对象引用,从而实现对CORBA对象的透明访问。
二、配置文件
本发明中,所有的服务、服务代理进程和系统代理进程的信息都配置在一个集中的配置文件中。其中采用分级的方式进行配置,最上一级是系统代理进程的配置项,对于系统代理进程而言,它的配置信息主要有名称及其包含的所有服务代理进程的信息,这项配置信息就决定了该系统代理进程所在的物理机器将运行多少个服务代理进程。中间一级是服务代理进程的配置信息,它包括服务代理进程的名称及其包含的所有服务的信息,服务代理进程的配置信息决定了该服务代理进程将运行多少个服务。最下一级为服务的配置信息,它包括服务的名称、类型、所在的动态库名称、以及启动时的参数等。
为了完成服务的启动和停止,配置信息中还需要一个服务启动序列表和服务停止序列表。如果需要启动或停止某个服务,则将其加入启动序列表和停止序列表中;如果不需要,则将其从序列中删除。停止列表中的顺序与启动列表中的相反。本发明中,配置文件可以xml格式存储。
三、服务的编写
在本发明中,为了达到可拆卸的目的,所有的服务都被编译成动态链接库的形式,该动态链接库对外提供一个统一的接口函数,用于产生服务对象。服务代理进程在启动服务时,调用统一的接口函数,产生服务对象的实例。
对于服务而言,他们必须从虚基类(BaseService)中派生而来,BaseService提供了服务对的外统一接口,包括服务启动时的初始化,服务停止时的清理等,服务必须继承并重写这些纯虚函数。
四、服务的启动和关闭
本发明中,服务的启动和关闭都是从命令行进程发起的。
1、启动服务的流程
如图1所示,先由命令行进程从配置文件的服务启动序列表中读取需要启动的所有服务的名称;
再按启动顺序逐个根据服务的名称找到对应的系统代理进程的名称、服务代理进程的名称、以及服务的所有参数;
然后根据系统代理进程的名称,从命名服务(Name Service)中获得系统代理对象的对象引用;
由系统代理进程检查服务代理进程是否已启动,如果已经启动则直接调用服务代理进程的服务启动(StartService)接口函数,同时传入服务启动参数;如果没有启动则先启动服务代理进程,然后再调用服务代理进程的服务启动接口函数,同时传入服务启动参数;
由服务代理进程装载需要启动的服务所在的动态链接库,然后调用统一的服务创建(create service)接口函数获得服务实例,再调用服务实例的初始化(initalize)函数对其进行;
最后,服务被启动,返回成功信息。
2、停止服务的流程
如图3所示,先由命令行进程从配置文件的服务停止序列表中读取需要停止的所有服务的名称;
再按停止顺序逐个根据服务的名称找到对应的系统代理进程的名称、服务代理进程的名称、以及服务的所有参数;
然后根据系统代理进程的名称,从命名服务中获得系统代理对象的对象引用;
由系统代理进程调用服务代理进程的服务停止(Stop Service)接口函数,同时传入服务停止参数;
再由服务代理进程调用服务实例的结束(finalize)函数,进行服务停止前的清除工作;
删除服务实例,在删除服务实例之后,将由系统代理进程检查服务代理进程中的服务数,如果发现该服务代理进程中的服务数为0,则终止整个服务代理进程;
最后,返回成功信息。
Claims (10)
1、一种全动态分布式网络服务管理系统,所述系统中有多台物理机器,其特征在于,
在所述系统中的每一台物理机器上有一个系统代理模块,所述系统代理模块随着其所在的物理机器的启动而启动,用于接收启动服务、停止服务和查询服务的请求,并将请求转发给下一级模块;
针对每一台物理机器,在其系统代理模块下有一个或多个服务代理模块,所述服务代理模块从其所在的系统代理模块接收启动服务、停止服务和查询服务的请求,并完成这些工作;
针对每一台物理机器,在其系统代理模块下的每一个所述服务代理模块中有一个或多个服务模块,所述服务模块用于完成网络服务管理所需的最小单元化功能;
还包括可在任一台物理机器上运行的命令行模块,所述命令行模块负责发起启动服务、停止服务和查询服务的命令,并将这些命令传送到不同物理机器的系统代理模块上。
2、根据权利要求1所述的系统,其特征在于,还包括用于存储所有对象名称及其对象引用的命名服务模块。
3、根据权利要求1所述的系统,其特征在于,所述服务模块是安全服务模块、配置服务模块、或日志服务模块;所有服务模块的物理载体为动态链接库,所述动态链接库提供一个统一的接口函数。
4、根据权利要求1所述系统,其特征在于,所述系统代理模块、服务代理模块及其服务模块的信息按分级方式配置在一个集中的配置文件中,所述配置文件的最上一级为系统代理模块的配置项、中间一级为服务代理模块的配置项、最下一级为服务模块的配置项;所述配置文件中还设有服务启动序列表和服务停止序列表。
5、一种利用权利要求1所述的系统实现全动态分布式网络服务管理的方法,其特征在于,按以下步骤启动服务:
(A)由命令行模块从配置文件的服务启动序列表中读取需要启动的所有服务模块的名称;
(B)按启动顺序逐个根据服务模块的名称找到对应的服务代理模块的名称、系统代理模块的名称、以及所述服务模块的所有参数;
(C)根据系统代理模块的名称,从命名服务模块中获得系统代理对象的对象引用;
(D)由系统代理模块调用服务代理模块的服务启动接口函数,同时传入服务启动参数;
(E)由服务代理模块装载其服务模块所在的动态链接库,然后调用统一的服务创建接口函数,获得服务实例,并对服务实例进行初始化;
(F)服务模块被启动,返回成功信息。
6、根据权利要求5所述方法,其特征在于,在所述步骤(D)中,所述系统代理模块先检查服务代理模块是否已启动,如果已经启动则直接调用服务代理模块的服务启动接口函数,同时传入服务启动参数;如果没有启动则先启动服务代理模块,然后再调用服务代理模块的服务启动接口函数,同时传入服务启动参数。
7、根据权利要求5所述方法,其特征在于,在所述步骤(E)中,所述服务代理模块通过调用服务实例的初始化函数对其进行初始化。
8、一种利用权利要求1所述的系统实现全动态分布式网络服务管理的方法,其特征在于,按以下步骤停止服务:
(a)由命令行模块从配置文件的服务停止序列表中读取需要停止的所有服务模块的名称;
(b)按停止顺序逐个根据服务模块的名称找到对应的服务代理模块的名称、系统代理模块的名称、以及所述服务模块的所有参数;
(c)根据系统代理模块的名称,从命名服务模块中获得系统代理对象的对象引用;
(d)由系统代理模块调用服务代理模块的服务停止接口函数,同时传入服务模块停止参数;
(e)由服务代理模块进行服务停止前的清除工作;
(f)删除服务实例,返回成功信息。
9、根据权利要求8所述方法,其特征在于,在所述步骤(f)中,在删除服务实例之后,所述系统代理模块会检查所述服务代理模块中的服务模块数,如果发现该服务代理模块中的服务模块数为0,则终止整个服务代理模块。
10、根据权利要求8所述方法,其特征在于,在所述步骤(e)中,所述服务代理模块通过调用服务实例的结束函数进行服务模块停止前的清除工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031039170A CN1300979C (zh) | 2003-01-28 | 2003-01-28 | 全动态分布式网络服务管理系统及其服务方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031039170A CN1300979C (zh) | 2003-01-28 | 2003-01-28 | 全动态分布式网络服务管理系统及其服务方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1521990A CN1521990A (zh) | 2004-08-18 |
CN1300979C true CN1300979C (zh) | 2007-02-14 |
Family
ID=34282118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031039170A Expired - Fee Related CN1300979C (zh) | 2003-01-28 | 2003-01-28 | 全动态分布式网络服务管理系统及其服务方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1300979C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100433636C (zh) * | 2004-12-24 | 2008-11-12 | 中兴通讯股份有限公司 | 一种实时体现网管前后台数据不一致的方法 |
CN101364891B (zh) * | 2007-08-10 | 2011-10-26 | 中兴通讯股份有限公司 | 分布式电信网管中单点采集性能数据的系统及实现方法 |
CN100581116C (zh) | 2007-09-14 | 2010-01-13 | 西安西电捷通无线网络通信有限公司 | 一种实现可信网络管理的方法 |
CN101207520B (zh) * | 2007-12-14 | 2011-02-09 | 上海华为技术有限公司 | 一种实现分布式网络管理的方法及系统 |
CN101621397A (zh) * | 2008-06-30 | 2010-01-06 | 华为技术有限公司 | 一种分布式网管系统及其维护管理方法 |
CN102761436A (zh) * | 2012-01-11 | 2012-10-31 | 武汉迈威光电技术有限公司 | 一种基于tcp/udp私有网管接口的实现 |
CN103645898B (zh) * | 2013-12-13 | 2017-04-12 | 浪潮电子信息产业股份有限公司 | 一种自动化脚本工具 |
CN109995805B (zh) * | 2017-12-29 | 2021-12-17 | 深圳市优必选科技有限公司 | 一种智能机器人的管理方法、终端设备及介质 |
CN110995717B (zh) * | 2019-12-06 | 2022-11-01 | 杭州海康威视数字技术股份有限公司 | 报文处理方法、装置、电子设备及漏洞扫描系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10308736A (ja) * | 1997-05-09 | 1998-11-17 | Hitachi Ltd | 分散型ネットワーク管理システム |
CN1241754A (zh) * | 1998-05-27 | 2000-01-19 | 日本电气株式会社 | 网络管理方法和系统 |
CN1250534A (zh) * | 1997-11-10 | 2000-04-12 | 北方电讯有限公司 | 分布式业务网 |
CN1267427A (zh) * | 1997-06-16 | 2000-09-20 | 艾利森电话股份有限公司 | 电信性能管理系统 |
CN1297654A (zh) * | 1997-12-12 | 2001-05-30 | 美国阿尔卡塔尔资源有限合伙公司 | 电信平台系统及其方法 |
EP1150454A2 (en) * | 2000-04-28 | 2001-10-31 | Sheer Networks, Inc | Large-scale network management using distributed autonomous agents |
-
2003
- 2003-01-28 CN CNB031039170A patent/CN1300979C/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10308736A (ja) * | 1997-05-09 | 1998-11-17 | Hitachi Ltd | 分散型ネットワーク管理システム |
CN1267427A (zh) * | 1997-06-16 | 2000-09-20 | 艾利森电话股份有限公司 | 电信性能管理系统 |
CN1250534A (zh) * | 1997-11-10 | 2000-04-12 | 北方电讯有限公司 | 分布式业务网 |
CN1297654A (zh) * | 1997-12-12 | 2001-05-30 | 美国阿尔卡塔尔资源有限合伙公司 | 电信平台系统及其方法 |
CN1241754A (zh) * | 1998-05-27 | 2000-01-19 | 日本电气株式会社 | 网络管理方法和系统 |
EP1150454A2 (en) * | 2000-04-28 | 2001-10-31 | Sheer Networks, Inc | Large-scale network management using distributed autonomous agents |
Also Published As
Publication number | Publication date |
---|---|
CN1521990A (zh) | 2004-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1183718C (zh) | 分组数据服务节点初始分配和再选择的系统和方法 | |
CN1742475A (zh) | 在通信路径中的中间装置的应用服务过滤 | |
CN1306430C (zh) | 基于构件的用户自定义事件方法 | |
CN1407780A (zh) | 在多种终端设备访问服务内容时保持过程持续性的方法和设备 | |
CN1300979C (zh) | 全动态分布式网络服务管理系统及其服务方法 | |
CN1317860C (zh) | 一种无线接入点的负载均衡方法 | |
CN101079742A (zh) | 容灾归属用户服务器间的数据同步方法及系统 | |
CN101059799A (zh) | 将规则文本数据导入数据库的方法 | |
CN1449159A (zh) | 用于电信系统的操作和维护中心中的独特仓库服务器 | |
CN1909705A (zh) | 一种基于移动终端平台的通用开发平台 | |
CN1917667A (zh) | 群发短消息业务中的号码处理系统及处理方法 | |
CN101047580A (zh) | 创建点对点数据通道的方法 | |
CN1662004A (zh) | 一种实现会话发起协议应用服务器多业务处理的方法 | |
CN1306755C (zh) | 业务测试装置及方法 | |
CN1145317C (zh) | 在智能网上实现业务语音动态加载的方法及其系统组网 | |
CN1713621A (zh) | 一种企业即时通信方法及系统 | |
CN1705306A (zh) | 一种协议自动适配方法及装置 | |
CN1283115C (zh) | 提高多媒体消息系统处理多媒体消息性能的方法及系统 | |
CN101076062A (zh) | 彩铃系统、以及在该彩铃系统中进行业务呼叫的方法 | |
CN1756107A (zh) | 一种实现单板倒换的方法 | |
CN1859268A (zh) | 一种后台进行正反向解析报文的方法和系统 | |
CN1520095A (zh) | 网管标准代理中信息管理库树的加载实现方法 | |
CN1411217A (zh) | 利用缓存技术提高ip报文转发速度的方法 | |
CN101048770A (zh) | 在端点处提供代理服务器功能 | |
CN1819532A (zh) | 一种管理信息库的处理方法 |
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: 20070214 Termination date: 20170128 |
|
CF01 | Termination of patent right due to non-payment of annual fee |