双向链路状态检测方法、EMS及系统技术领域
本发明涉及移动通信技术领域,尤其涉及一种网管系统中北向Corba
(Common Object Request Broker Architecture,公共对象请求代理体系结构)
接口的双向链路状态检测方法、EMS及系统。
背景技术
目前,在移动通信网络中,为了可以将数据传递给上级网管系统,OMC
(Operations & Maintenance Center,操作维护中心)与NMS(Network
Management System,网络管理系统)协作制定了北向Corba接口规范。OMC
根据此套规范将相应的数据报给NMS。
在传统的北向Corba接口中,NMS处于主动管理地位,由NMS发出相
应的命令,然后由OMC给出响应或者发送相应的通知信息。由于北向Corba
接口为OMC与NMS两个系统的接口,由此涉及到相应的链路检测机制。对
此,北向Corba接口规范定义了相关的参考点CS IRP,此参考点中规定了相
应的操作和通知,通过该参考点,NMS可以要求OMC即时发送一个心跳消
息或者以一定周期定时发送心跳消息给该NMS,NMS通过定期接收心跳消息
确认OMC的在线与响应情况。
但是,在目前的移动通信网络使用的北向Corba接口中,OMC和NMS
的链路检测只存在OMC向NMS的链路状态报告,此种链路检测机制存在以
下缺陷:
1、OMC资源的浪费和多余消耗:根据系统实际的使用场景,OMC为常
在线应用,而NMS并不是常在线应用,也就是说,NMS可以经常关闭或者
切换端口,但是在OMC侧无法获取NMS的实际状态,因此无法根据NMS
的实际情况来动态的决定业务信息是否需要发送,只能持续盲目的不间断发
送,而在实际应用中,NMS的变更较为频繁,而且许多NMS每次启动时均
会以新的端口来进行订购,为了保持以前订购的稳定性与兼容性,OMC必须
向所有的端口发送消息,由此导致OMC在NMS关闭或切换端口的情形下,
依然向一些不工作的NMS不停发送既定的业务信息,从而浪费了OMC的资
源,也拖慢了系统整体效率,而且EMS向NMS进行信息的大量重复发送,
增加了NMS的负担,易造成NMS端消息的堆积,甚至引发资源溢出,保持
大量连接及信息发送势必使代码更加复杂,增加了开发维护成本;
2、由于不了解NMS的在线情况,在出现异常情况时无法及时处理,无
法判断是OMC出现故障导致信息无法传递还是NMS关闭(或异常)导致没
有收取数据,给实际使用过程中的数据核对、问题定位及责任界定带来了很
大困扰。由于只有单方向的心跳消息,因此只有一方可以进行心跳消息检测,
若NMS端报告无法收到心跳消息,EMS端则认为心跳消息已经发送出去,
是网络或者Corba通讯本身的问题导致NMS无法收到,使得责任无法界定。
因此,现有的单向心跳消息链路检测机制无法满足现有网管系统对接接
口的需要。
发明内容
本发明的主要目的在于提供一种双向链路状态检测方法、EMS及系统,
旨在节省网络资源,提高网管系统效率。
为了达到上述目的,本发明提出一种双向链路状态检测方法,包括:
EMS向NMS发送心跳消息订购请求;
接收所述NMS根据所述心跳订购请求发送的心跳消息;
根据所述心跳消息检测所述EMS与NMS之间的链路状态。
优选地,所述根据心跳消息检测所述EMS与NMS之间的链路状态的步
骤之后还包括:
所述EMS根据所述链路状态调整工作策略。
优选地,所述心跳消息至少包括:NMS的忙闲状况及NMS在用端口情
况中的一种;所述链路状态包括NMS的工作状态。
优选地,所述EMS根据所述链路状态调整工作策略的步骤包括:
当根据所述心跳消息判断MNS工作状态为忙时,EMS降低或停止向NMS
发送大数据量的业务信息;
当根据所述心跳消息判断MNS在用端口超过预定数量时,EMS向最新
的预定数量的在用端口发送业务信息,并停止向最旧的在用端口发送业务信
息。
优选地,所述EMS向NMS发送心跳消息订购请求的步骤之后还包括:
当所述EMS没有收到NMS发送的心跳消息时,所述EMS停止向所述
NMS发送心跳消息订购请求。
优选地,所述EMS根据所述NMS提供的心跳检测IRP参考点的IOR字
符串向NMS发送心跳消息订购请求。
优选地,还包括:
EMS撤销、挂起和/或恢复所述心跳消息订购请求。
本发明还提出一种双向链路状态检测EMS,包括:
发送模块,用于向NMS发送心跳消息订购请求;
接收模块,用于接收所述NMS根据所述心跳订购请求发送的心跳消息;
检测模块,用于根据所述心跳消息检测所述EMS与NMS之间的链路状
态。
优选地,还包括:
调整模块,用于根据所述链路状态调整工作策略。
优选地,所述调整模块还用于当根据所述心跳消息判断MNS工作状态为
忙时,降低或停止向NMS发送大数据量的业务信息;当根据所述心跳消息判
断MNS在用端口超过预定数量时,向最新的预定数量的在用端口发送业务信
息,并停止向最旧的在用端口发送业务信息。
优选地,所述发送模块还用于当没有收到NMS发送的心跳消息时,停止
向所述NMS发送心跳消息订购请求。
优选地,所述发送模块还用于撤销、挂起和/或恢复所述心跳消息订购请
求。
本发明还提出一种双向链路状态检测系统,包括:EMS及NMS,其中:
所述EMS,用于向NMS发送心跳消息订购请求;接收所述NMS根据所
述心跳订购请求发送的心跳消息;根据所述心跳消息检测所述EMS与NMS
之间的链路状态;
所述NMS,用于接收所述EMS发送的心跳消息订购请求;根据所述心
跳消息订购请求向所述EMS发送心跳消息。
优选地,所述EMS还用于根据所述链路状态调整工作策略;以及撤销、
挂起和/或恢复所述心跳消息订购请求。
本发明提出的一种双向链路状态检测方法、EMS及系统,由EMS发起心
跳消息订购请求,要求NMS定时发出心跳消息给EMS,使EMS可以及时地
了解到NMS的状态,高效准确可靠的完成链路检测工作,而且EMS还可根
据NMS的实际工作情况制定相应的应对策略,提高系统整体处理效率和准确
性,节省网络资源,同时也可以给接口对接中的相关联接问题得到更好的澄
清和处理,极大地提高网管系统的可用性,提高网管系统效率。而且本发明
以现有技术为基础,实现方法简便通用,不影响原有的链路检测流程,对现
有系统无任何冲击。
附图说明
图1是本发明双向链路状态检测方法一实施例流程示意图;
图2是本发明双向链路状态检测方法另一实施例流程示意图;
图3是本发明双向链路状态检测EMS一实施例结构示意图;
图4是本发明双向链路状态检测EMS另一实施例结构示意图;
图5是本发明双向链路状态检测系统一实施例结构示意图。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详
述。
具体实施方式
本发明实施例解决方案主要是:由EMS发起心跳消息订购请求,要求
NMS定时发出心跳消息给EMS,使EMS可以及时了解到NMS的状态,从
而高效准确可靠的完成链路检测工作,同时EMS可根据NMS的实际工作情
况制定相应的应对策略,以提高系统整体处理效率和准确性。
如图1所示,本发明一实施例提出一种双向链路状态检测方法,包括:
步骤S101,EMS向NMS发送心跳消息订购请求;
本发明实施例通过移动通信网管系统中北向Corba对接接口的双向链路
检测的方法,以解决EMS(Element Management System,网元管理系统)无
法获知NMS工作状态的问题。
具体地,EMS首先根据NMS提供的心跳检测IRP(I/O request packets,
输入输出请求包)参考点的IOR字符串向NMS发送心跳消息订购请求。
在本实施例双向检测机制中,NMS需要提供一个心跳检测的IOR字符串
给EMS,由EMS完成心跳消息的订购。通过该心跳消息的订购,EMS可以
定时获取到NMS的心跳消息,通过对心跳消息加以分析利用,来判断NMS
的工作状态。
步骤S102,接收NMS根据心跳订购请求发送的心跳消息;
步骤S103,根据心跳消息检测EMS与NMS之间的链路状态。
上述步骤S102及步骤S103中,在正确的完成心跳消息的订购后,EMS
则可以按照设定的周期定时接收到心跳消息,EMS根据是否收到NMS发送
的心跳消息来判断EMS与NMS之间的链路是否正常,同时根据心跳消息的
内容判断NMS的实际工作情况。
当EMS收到NMS发送的心跳消息,即可得知NMS目前正处于工作状态,
当EMS没有收到NMS发送的心跳消息时,认为NMS下线,EMS停止向NMS
发送心跳消息订购请求,以降低系统消耗。
当NMS在线时,NMS根据EMS发送的心跳消息订购请求,定时向EMS
发送心跳消息,其中可以选择性的在心跳消息中增加某些信息内容。
心跳消息包括NMS的忙闲状况及NMS在用端口情况等,其详细信息如
下表1所示。
NMS向EMS发送心跳消息的周期由EMS操作设置可调,本实施例默认
时间为10分钟。因此,通过是否收到心跳消息,EMS可以证实NMS是否还
处于工作状态;其次,由于心跳消息本身可以携带上述表1中的数据信息,
因此EMS也可以通过分析该心跳消息来判断NMS目前的工作状态,检测链
路状态。
本实施例中,链路状态即指NMS的工作状态。
需要说明的是,对于旧有不支持心跳消息发生和订购的NMS系统,EMS
无法完成订购,则不需启动相应的判断和处理工作,因此EMS仍然可以按照
传统方式进行工作,保持对原有系统的兼容性。本实施例也不仅限于心跳消
息的情形,对于携带有反馈NMS状态的消息均可依据本实施例原理实现链路
的检测。
在移动通信网络中,一套EMS可能需要连接多套NMS系统,反之亦然,
本实施例在现有技术基础上,可以快速简便的完成NMS和EMS间相互链路
状态的认定和分析过程,从而节省大量人力物力,给现实应用带来良好的收
益。通用的检测机制,适用于各种产品Corba北向接口;逆向的心跳机制,
既保证了检测及时性,又不会牺牲处理灵活度,同时兼顾系统规范的兼容性,
是一种可快速实现的高效机制。
如图2所示,本发明另一实施例提出一种双向链路状态检测方法,在上
述实施例的基础上,在步骤S103之后还包括:
步骤S104,EMS根据链路状态调整工作策略。
由于心跳消息本身可以携带有上述表1中的数据信息,因此EMS不仅可
以通过分析该心跳消息来判断NMS目前的工作状态,而且可以根据该心跳
消息调整工作策略,达到EMS策略优化的目的。
以下以心跳消息携带NMS忙闲状况及在用端口占用情况为例对本步骤
进行详细阐述。
EMS可以根据心跳消息携带的NMS忙闲状况来判断NMS工作状态为忙
或闲。其中,设定Nms为是否忙碌的标志位。0表示空闲,1表示忙碌,2表
示阻塞,3表示状态未知。
NMS通常接入有多个EMS,而一个NMS自身的处理能力有限,不可能
达到上述多个EMS处理能力的总和,因此,NMS会出现相应的忙/闲状态,
当NMS处于忙的状态时,对EMS发送的信息处理则可能出现滞后,而此时,
若EMS再大量的发送信息给NMS,如果NMS在一定时间内无法处理,则会
产生信息丢弃现象,而一旦知道NMS的忙闲状况,则EMS可以根据忙闲标
志调整发送信息的速率,比如在NMS忙时,EMS降低或者停止向NMS发送
大数据量信息,甚至可以缓存部分信息,直到标志变为空闲时再发送,从而
减少信息丢失的可能性。
对于NMS在用端口情况,可以设定NMS目前在用活动的端口、字符串
形式,可以为多个端口,端口号以数字表示,每个端口之间以“|”分割,为
空表示没有在用端口。
NMS通常通过多个端口向EMS进行消息订购,但是一般只开设一个端
口进行接收。对于EMS而言,在不知道NMS目前在用端口数量的情况下,
必须向所有端口发送消息,而如果知道NMS开设的在用端口情况,则可以只
向在用端口发送消息,以减少系统开销。
比如可以将在用端口写入日志,并查询同时使用的在用端口是否超过预
定数量比如5个,如果超过5个,则停止向最旧的在用端口发送业务信息,
维持仅向最新的5个在用端口推送数据,其中可用端口的预定数量可以配置。
步骤S105,EMS撤销、挂起和/或恢复心跳消息订购请求。
在本实施例中,EMS还可根据实际情况对心跳消息订购请求进行撤销、
挂起、恢复等操作。
当EMS向NMS发起心跳消息订购请求后,若因某种原因不需要进行链
路检测操作,不用订购心跳消息时,则可以向NMS发送心跳消息请求撤销消
息。
此外,若EMS因某种原因暂时不需要进行链路检测操作,则可暂时挂起
心跳消息订购请求,并向NMS发送挂起心跳消息订购请求的消息。之后,EMS
可根据实际情况对挂起的心跳消息订购请求进行恢复。其中,心跳订购请求
的挂起和恢复,可以通过查询订购号及相关订购参数来实现,订购参数还可
根据实际情况进行修改。
本实施例实现了一种在移动通信网管系统中使用的北向Corba接口上的
反向心跳监测机制,该机制与现有的标准接口规范中所规定的流程为逆向过
程,解决了现有移动网络的网管系统使用过程中,从OMC侧无法实时发现
NMS侧是否已不再工作的问题。同时也解决了现有网管系统中北向Corba接
口中定位分析接口断链阻塞问题时耗时太长的问题。其具有以下功能特性:
1、采用现有技术基础,无任何实现的技术难度;可以快速简便的完成
NMS和EMS间相互链路状态的认定和分析过程,从而节省大量人力物力,
给现实应用带来良好的收益;
2、进行链路双向检测及全面分析,对接双方均可以在第一时间内获取到
相应的链路信息;
3、可以携带额外信息,除了链路判断外,还可以为EMS提供NMS的实
际工作情况,从而制定提高效率的应对策略。
4、方法简便通用,具有改动代价小,效果高的优点。对于现有架构的影
响和改动较小,因此可以完全兼容支持双向检测的系统和不支持双向检测的
旧有系统,可以更好的迎合目前通信管理系统发展趋势和实际工程应用特点,
避免新应用带来的负面影响,对现有系统无任何冲击。
如图3所示,本发明一实施例提出一种双向链路状态检测EMS,包括:
发送模块301、接收模块302以及检测模块303,其中:
发送模块301,用于向NMS发送心跳消息订购请求;
接收模块302,用于接收NMS根据心跳订购请求发送的心跳消息;
检测模块303,用于根据心跳消息检测EMS与NMS之间的链路状态。
本发明实施例通过移动通信网管系统中北向Corba对接接口的双向链路
检测的方法,以解决EMS无法获知NMS工作状态的问题。
具体地,EMS发送模块301首先根据NMS提供的心跳检测IRP参考点
的IOR字符串向NMS发送心跳消息订购请求。
在本实施例双向检测机制中,NMS需要提供一个心跳检测的IOR字符串
给EMS,由EMS完成心跳消息的订购。通过该心跳消息的订购,EMS可以
定时获取到NMS的心跳消息,通过对心跳消息加以分析利用,来判断NMS
的工作状态。
在正确的完成心跳消息的订购后,EMS接收模块302则可以按照设定的
周期定时接收到心跳消息,EMS检测模块303根据是否收到NMS发送的心
跳消息来判断EMS与NMS之间的链路是否正常,同时根据心跳消息的内容
判断NMS的实际工作情况。
当EMS收到NMS发送的心跳消息,即可得知NMS目前正处于工作状态,
当EMS没有收到NMS发送的心跳消息时,认为NMS下线,EMS停止向NMS
发送心跳消息订购请求,以降低系统消耗。
当NMS在线时,NMS根据EMS发送的心跳消息订购请求,定时向EMS
发送心跳消息,其中可以选择性的在心跳消息中增加某些信息内容。
心跳消息包括NMS的忙闲状况及NMS在用端口情况等,其详细信息如
上表1所示。
NMS向EMS发送心跳消息的周期由EMS操作设置可调,本实施例默认
时间为10分钟。因此,通过是否收到心跳消息,EMS可以证实NMS是否还
处于工作状态;其次,由于心跳消息本身可以携带上述表1中的数据信息,
因此EMS也可以通过分析该心跳消息来判断NMS目前的工作状态,检测链
路状态。
本实施例中,链路状态即指NMS的工作状态。
需要说明的是,对于旧有不支持心跳消息发生和订购的NMS系统,EMS
无法完成订购,则不需启动相应的判断和处理工作,因此EMS仍然可以按照
传统方式进行工作,保持对原有系统的兼容性。本实施例也不仅限于心跳消
息的情形,对于携带有反馈NMS状态的消息均可依据本实施例原理实现链路
的检测。
如图4所示,本发明另一实施例提出一种双向链路状态检测EMS,在上
述实施例的基础上,还包括:
调整模块304,与检测模块303连接,用于根据链路状态调整工作策略。
进一步的调整模块304还用于当根据心跳消息判断MNS工作状态为忙
时,降低或停止向NMS发送大数据量的业务信息;当根据所述心跳消息判断
MNS在用端口超过预定数量时,向最新的预定数量的在用端口发送业务信息,
并停止向最旧的在用端口发送业务信息。
发送模块301还用于当没有收到NMS发送的心跳消息时,停止向NMS
发送心跳消息订购请求。
发送模块301还用于撤销、挂起和/或恢复心跳消息订购请求。
由于心跳消息本身可以携带有上述表1中的数据信息,因此EMS不仅可
以通过分析该心跳消息来判断NMS目前的工作状态,而且可以根据该心跳
消息调整工作策略,达到EMS策略优化的目的。
以下以心跳消息携带NMS忙闲状况及在用端口占用情况为例对本步骤
进行详细阐述。
EMS可以根据心跳消息携带的NMS忙闲状况来判断NMS工作状态为忙
或闲。其中,设定Nms为是否忙碌的标志位。0表示空闲,1表示忙碌,2表
示阻塞,3表示状态未知。
NMS通常接入有多个EMS,而一个NMS自身的处理能力有限,不可能
达到上述多个EMS处理能力的总和,因此,NMS会出现相应的忙/闲状态,
当NMS处于忙的状态时,对EMS发送的信息处理则可能出现滞后,而此时,
若EMS再大量的发送信息给NMS,如果NMS在一定时间内无法处理,则会
产生信息丢弃现象,而一旦知道NMS的忙闲状况,则EMS可以根据忙闲标
志调整发送信息的速率,比如在NMS忙时,EMS降低或者停止向NMS发送
大数据量信息,甚至可以缓存部分信息,直到标志变为空闲时再发送,从而
减少信息丢失的可能性。
对于NMS在用端口情况,可以设定NMS目前在用活动的端口、字符串
形式,可以为多个端口,端口号以数字表示,每个端口之间以“|”分割,为
空表示没有在用端口。
NMS通常通过多个端口向EMS进行消息订购,但是一般只开设一个端
口进行接收。对于EMS而言,在不知道NMS目前在用端口数量的情况下,
必须向所有端口发送消息,而如果知道NMS开设的在用端口情况,则可以只
向在用端口发送消息,以减少系统开销。
比如可以将在用端口写入日志,并查询同时使用的在用端口是否超过预
定数量比如5个,如果超过5个,则停止向最旧的在用端口发送业务信息,
维持仅向最新的5个在用端口推送数据,其中可用端口的预定数量可以配置。
当EMS向NMS发起心跳消息订购请求后,若因某种原因不需要进行链
路检测操作,不用订购心跳消息时,则可以向NMS发送心跳消息请求撤销消
息。
此外,若EMS因某种原因暂时不需要进行链路检测操作,则可暂时挂起
心跳消息订购请求,并向NMS发送挂起心跳消息订购请求的消息。之后,EMS
可根据实际情况对挂起的心跳消息订购请求进行恢复。其中,心跳订购请求
的挂起和恢复,可以通过查询订购号及相关订购参数来实现,订购参数还可
根据实际情况进行修改。
如图5所示,本发明一实施例提出一种双向链路状态检测系统,包括:
EMS501及NMS502,其中:
EMS501,用于向NMS502发送心跳消息订购请求;接收所述NMS502
根据心跳订购请求发送的心跳消息;根据心跳消息检测EMS501与NMS502
之间的链路状态;
NMS502,用于接收EMS501发送的心跳消息订购请求;根据心跳消息订
购请求向EMS发送心跳消息。
进一步的,EMS501还用于根据链路状态调整工作策略;以及撤销、挂起、
和/或恢复心跳消息订购请求。
其中双向链路状态检测的基本原理,请参见上述实施例所描述的内容,
在此不作详述。
本发明实施例双向链路状态检测方法、EMS及系统,由EMS发起心跳消
息订购请求,要求NMS定时发出心跳消息给EMS,使EMS可以及时地了解
到NMS的状态,高效准确可靠的完成链路检测工作,而且EMS还可根据NMS
的实际工作情况制定相应的应对策略,提高系统整体处理效率和准确性,同
时也可以给接口对接中的相关联接问题得到更好的澄清和处理,极大地提高
网管系统的可用性。而且本发明以现有技术为基础,实现方法简便通用,不
影响原有的链路检测流程,对现有系统无任何冲击。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,
凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间
接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。