CN100411365C - 一种多数据链路监测维护的方法 - Google Patents

一种多数据链路监测维护的方法 Download PDF

Info

Publication number
CN100411365C
CN100411365C CNB2005100855496A CN200510085549A CN100411365C CN 100411365 C CN100411365 C CN 100411365C CN B2005100855496 A CNB2005100855496 A CN B2005100855496A CN 200510085549 A CN200510085549 A CN 200510085549A CN 100411365 C CN100411365 C CN 100411365C
Authority
CN
China
Prior art keywords
link
data
timer
monitoring
receiving
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.)
Active
Application number
CNB2005100855496A
Other languages
English (en)
Other versions
CN1905492A (zh
Inventor
来洪清
张鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Datang Mobile Communications Equipment Co Ltd
Original Assignee
Datang Mobile Communications Equipment Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Datang Mobile Communications Equipment Co Ltd filed Critical Datang Mobile Communications Equipment Co Ltd
Priority to CNB2005100855496A priority Critical patent/CN100411365C/zh
Publication of CN1905492A publication Critical patent/CN1905492A/zh
Application granted granted Critical
Publication of CN100411365C publication Critical patent/CN100411365C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种多数据链路监测维护的方法,包括:设置基本定时器并建立至少一个定时器队列,该方法在每次基本定时器到时,对当前需处理的所有定时器队列中的每条需监测链路分别进行检测,判断链路是否正常收发,如果已有数据发送,则等待下一次此链路定时器到时再检测;如果未发送数据,则发送握手数据包;如果有数据正常接收到,则等待下一次此链路定时器到时再检测;如果未收到数据,则记录相应信息并在需要时上报告警信息。本发明在每个链路检测周期内如果正常收发数据就不再发送握手数据包,采用该方法能在保证链路实时检测的基础上,大大降低链路传输量,提高设备容量。

Description

一种多数据链路监测维护的方法
技术领域
本发明涉及链路维护技术,尤指一种对多种类型且每种类型有多条链路的数据链路进行监测维护的方法。
背景技术
在通信网络中,各个网络设备之间都要通过链路连接,完成网络设备间的通信及信息交互。通常,对于各条链路尤其是重要的数据链路,如3G中的RNC局间信令链路,都需要实时确认各个链路的状态是否正常,以保证网络设备以及整个通信系统的正常工作。这里,所述的链路是指点对点的一条数据通路,可以是直接连接于两个网络设备间的链路,也可以是中间经过多个网络设备节点的链路;所述链路可以是支持各种协议的物理链路,比如:异步传输模式(ATM)的AAL5、AAL2等;IP链路或以太数据链路等等。
现有技术中,一般采用握手机制来确认每条链路是否正常。具体来说就是:针对每条链路分别采用独立的应用程序或协议,通过定时发送握手信号来检测和判断所使用的链路是否正常。一般,所发送的用于传输握手信号的数据包包长很短,但为了保证检测的实时性,发送时间间隔也很短,也就是说,需要在所检测的数据链路上较为频繁地发送握手信号,如此,会使数据链路的信号传输量增大,尤其是随着通信网络的迅猛发展,要监控的链路数越来越多,致使握手信号的传输量急剧增加,在整个通信量中占有很大比例,并且,对握手信号这种短数据包的频繁收发、检测会消耗和占用更多的CPU处理能力,从而使设备的容量很难大幅提高。
另外,目前这种握手机制的检测方法,对每条链路的监测是相互独立的,没有统一的管理,因此,会造成资源浪费。
发明内容
有鉴于此,本发明的主要目的在于提供一种多数据链路监测维护的方法,能在保证链路实时检测的基础上,大大降低链路传输量,提高设备容量。
为达到上述目的,本发明的技术方案是这样实现的:
一种多数据链路监测维护的方法,设置基本定时器并建立至少一个定时器队列,所述基本定时器为大于或等于系统支持的定时时长最小的定时器;所述每个定时器队列的定时时长为基本定时器的整数倍;在每次基本定时器到时时,该方法包括以下步骤:
确定当前需处理的定时器队列,对当前需处理的所有定时器队列中的每条需监测链路依次进行检测,判断链路是否正常收发数据,如果正常收到数据或已有数据发送,则等待下一次该链路的定时器到时,如果未收到数据,则记录所处理链路的相应信息并在需要时上报,如果没有数据发送,则发送握手数据包。
在每次基本定时器到时时,该方法具体包括:
a11.将当前选定定时器队列中的首条需监测链路作为当前选定链路;
a12.根据链路接收和发送标志判断当前选定链路是否正常收发,如果正常收到数据或已有数据发送,则执行步骤a13,如果未收到数据,则记录当前选定链路的未收到数据信息,在需要时上报,如果没有数据发送,则发送握手数据包;
a13.判断是否处理完当前选定定时器队列中的所有链路,如果是,则执行步骤a14,否则,顺序取当前选定定时器队列中的下一条链路作为当前选定链路,返回步骤a12;
a14.判断是否还有到时的定时器队列需处理,如果没有,则结束当前处理流程,否则,取下一个定时器队列作为当前选定定时器队列,并取当前选定定时器队列中的首条需监测链路作为当前选定链路,返回步骤a12。
其中,步骤a11中所述当前选定定时器队列为:对应基本定时器时长的定时器队列。
该方法还包括将需监测链路根据所需的监测周期注册到相应定时器队列的过程,具体包括:
a21.接收需监测链路的至少包括链路标识和监测控制时间的控制参数,并判断控制参数是否合法,如果是,则执行步骤a22,否则,返回错误信息,结束当前的链路注册流程;
a22.判断所接收的监测控制时间对应的定时器队列是否已建立,如果是,则执行步骤a23,否则,建立以所收到监测控制时间为定时时长的定时器队列;
a23.为当前链路创建对应的控制块,获取该控制块所需资源,并初始化所创建的控制块,所述控制块为由若干个控制参数组成的数据结构;
a24.将初始化后的控制块插入以监测控制时间为定时时长的定时器队列中。
该方法还包括将需监测链路从相应定时器队列删除的过程,具体包括:
a31.接收需删除链路的至少包括链路标识和监测控制时间的控制参数;
a32.判断所接收的监测控制时间对应的定时器队列是否存在,如果存在,则执行步骤a33,否则,返回错误信息,结束当前的链路删除流程;
a33.从以监测控制时间为定时时长的定时器队列中删除需删除链路的所有信息,获取并释放需删除链路对应控制块的资源。
上述方案中,所述控制块包括链路标识、链路接收标志、未收到数据的累加次数、接收告警标志、链路发送标志。则对所述需监测链路的发送进行检测时,步骤a12具体包括:
a1211.读取当前选定链路控制块中与发送相关的链路控制参数,判断链路发送标志是否处于复位状态,如果是,则在当前选定链路上发送一个握手数据包,结束本次发送检测流程;否则,将链路发送标志设置为复位状态后,结束本次发送检测流程。
该方法进一步包括:所述需监测链路正常发送数据包时,将自身的链路发送标志设置为置位状态。
步骤a1211中所述链路发送标志是否处于复位状态通过与底层驱动模块或数据分发模块之间的链路状态接口获取。
对所述需监测链路的接收进行检测时,步骤a12具体包括:
a1221.读取当前选定链路控制块中与接收相关的控制参数,判断链路接收标志是否处于复位状态,如果是,则执行步骤a1223,否则,执行步骤a1222;
a1222.将未收到数据的累加次数清零,判断接收告警标志是否处于复位,如果是,则执行步骤a1226,否则,上报告警解除信息并将接收告警标志复位,执行步骤a1226;
a1223.将未收到数据的累加次数加1,判断未收到数据的累加次数是否大于等于允许的未接收数据次数阈值,如果是,则执行步骤1224,否则,执行步骤1226;
a1224.判断接收告警标志是否处于复位,如果是,则执行步骤1225,否则,执行步骤1226;
a1225.上报告警信息,并将接收告警标志置位;
a1226.将链路接收标志设置为复位状态。
该方法进一步包括:所述需监测链路正常接收到数据包时,将自身的链路接收标志设置为置位状态。步骤a1221中所述链路接收标志是否处于复位状态通过与底层驱动模块或数据分发模块之间的链路状态接口获取。
上述方案中,所述链路为异步传输模式的AAL5链路、异步传输模式的AAL2链路、异步传输模式的AAL1链路、IP链路、以太数据链路或HDLC链路。
本发明所提供的多数据链路监测维护的方法,具有以下的优点和特点:
1)本发明将数据链路监测所用的握手数据包或称软心跳信号,与链路其它数据包的正常收发结合在一起,用于监测链路的当前状态,可以大大减少链路监测用的握手数据包,尤其是在忙时不发握手数据包也同样能实时监测链路状态。
2)各数据链路的监测通过一个软件模块进行集中统一地处理,仅在各个需监测的链路收发处理中作相应简单的配合处理。具体来说,对需监测的链路,进行配合的标志处理的位置灵活,可以在数据总的入口点集中处理,集中可以是一个板卡上所有链路的统一监控;也可以是在一个设备节点的入口如接口板上对整个数据对外链路集中在一个或几个板卡上监控;也可以在相应的应用程序中分散处理。采用集中还是分散,可根据具体的应用方便确定。
3)所监测的链路可以是一个或一种链路,也可以是对多个或多种链路集中在一起控制,还可以使用多种不同的定时时间对需要检测不同实时性要求的链路或链路组进行监测。其中,同一类的多条链路可以作为一个链路组。
4)本发明设计简单有效,不需要占用太多CPU处理资源就能达到更大的处理容量。本发明的设计随着设备容量增大,随着链路数据收发量的增大,要收发处理的握手或心跳数据包就会越来越少,如果某个监测时间间隔中有业务数据包发送,就不会再发送握手或心跳数据包了。
5)处理灵活,可扩展性好。本发明采用不同时长定时器队列的控制,可根据需要通过注册和删除方式方便灵活的对链路进行不同时间控制,新增或删除要控制的链路。
6)可移植性、可重用性好。要移植支持监测不同的数据链路,只需要在相应链路的驱动内部或之上应用软件的方便的地方相应稍微改动,无须对其它模块进行修改。
7)本发明中对定时器也是统一进行控制和管理,节省处理能力。
总之,本发明提供了一种低CPU占用率、低链路带宽占用率的数据链路监测方法,适用于各种需要进行链路监测的环境中,解决了以前仅仅为链路监测过多收发握手数据包而消耗过多CPU处理能力和带宽的问题,相应也更多的降低了设备成本。进而,满足了移动通信系统中RNC设备对提高效率,扩大容量的要求。
附图说明
图1为本发明链路监测模块组成结构及原理实现的示意图;
图2为本发明中链路监测模块初始化的实现过程示意图;
图3为本发明中链路注册的实现过程示意图;
图4为本发明中链路删除的实现过程示意图;
图5为本发明链路监测维护方法的实现过程示意图;
图6为本发明中对发送链路监测的实现过程示意图;
图7为本发明中对接收链路监测的实现过程示意图。
具体实施方式
根据实际应用分析,任何链路在有协议数据进行正常收发时,该链路的连接状况应当是良好的,此时没有必要再发送握手数据包来确认链路是否正常,只有在一段时间内没有其它数据包收发时,才有必要通过定时收发握手数据包来确认该链路是否存在故障。
基于上述分析,本发明的核心思想是:为每条需监测的链路设置对应的包含多个控制参数的数据块,设置基本定时器,并根据不同链路检测的实时性要求创建一个或多个对应不同时长的定时器队列,每个定时器队列的时长均为基本定时器时长的整数倍;需进行监测的链路根据所需的监测周期注册到对应的定时器队列中,在每次基本定时器到时时,先确定需处理的定时器队列,对当前需处理的所有定时器队列中的每条需监测链路分别进行检测,根据每条链路的相应标志判断链路是否正常收发数据,如果正常接收到数据或已有数据发送,则等待下一次此链路定时器到时再检测;如果没有收到数据,则记录所处理链路的相应信息并在需要时上报告警信息;如果未发送协议数据包或应用数据包,则发送握手数据包。相应的,对于每条需监测链路,在进行数据正常收发时,将自身对应数据块中的收发标志设置为置位状态。
在实际操作中,本发明采用一个用于统一监测所有数据链路的链路监测模块,该链路监测模块设置于每个设备节点的软件底层,与底层能提供链路状态的驱动模块或数据分发模块进行交互,通过设置的状态标志检测接口获知所监测链路的当前状态,该链路监测模块对需监测的链路同时执行两个并行的流程:一个流程是在链路有数据发送和数据接收时,分别将相应链路对应的数据块中的链路发送标志和链路接收标志设置为置位状态;另一个流程是在所设置的各个定时时长到时时,检测对应的定时器队列中注册的各条链路的接收和发送标志是否处于置位状态。具体做法是:对于注册到当前到时的定时器队列中的每条链路,判断相应链路的链路接收标志和链路发送标志是否均处于置位状态,如果均处于置位状态,则清除该链路的所有标志;如果接收标志未处于置位状态,则累计接收告警计数,当接收告警计数累计到达阈值时上报告警;如果发送标志未处于置位状态,则发送一个特定数据包,比如对端可识别的握手数据包。这样处理不仅能实时监测链路状态并及时报告处于异常状态的链路,而且可大大降低在容量大、业务多时握手数据包的传输量,从而提高设备容量,降低设备成本,节约设备资源。
其中,具体链路监测模块如何与底层的驱动模块或数据分发模块相连并进行交互,可根据实际应用环境采用不同的方式,比如:如果底层软件或驱动是自主开发的程序,则可将链路监测模块直接嵌入底层软件或驱动的某个适当位置完成相应处理;如果底层是标准的或操作系统的底层,则可以通过hook接口将所述的链路监测模块挂接上去,至于如何挂接属于现有技术,在此不再赘述。
如图1所示,本发明中的链路监测模块主要包括两部分:链路监测任务处理模块和链路监控及维护模块,其中,链路监控及维护模块用于完成控制链路握手数据包的发送和接收、链路故障/恢复的报告、进行接口配置、增加/删除要监测的链路等等功能,链路的接收或发送出现故障后通过中断方式上报告警信息;链路监测任务处理模块是由专门的任务或线程处理完成对需监测链路的周期性检测。链路监测模块与底层的驱动模块之间有接口进行握手数据包的发送,比如:链路监测模块与AAL5驱动部分的接口、与以太驱动部分的接口等等。相应的,链路监测模块对外有两种接口:
一种是控制和上报接口,用于接收外部命令和外部控制接口,主要是接收网络设备节点中核心处理单元发来的控制该链路监测模块初始化、启动、停止、链路注册和链路删除等命令,并执行相应的操作,返回相应的响应,同时还用于上报针对链路的告警或告警解除等信息;另一种是链路状态接口,由于数据收发是相互独立的两个过程,链路接收和发送标志本身没有内在的联系,因此对每条要监测的链路均有两套状态标志:链路接收标志和链路发送标志,链路监测模块在自身处于启动状态时,可通过链路状态接口获取这两个标志的值,从而对链路的收发进行监控。比如:图1中,LinkID11链路、LinkID1x链路和LinkID1n链路均与所示的tms定时器队列的队列头相连,这里,tms为基本定时器时长,是系统支持的最小定时时长,比如为100ms,说明这三条链路需要每100ms检测一次数据接收是否正常,是否需要发送握手数据包,因此,这三条链路均注册到100ms对应的定时器队列中,链路监测模块通过链路状态接口每100ms检测一次每条链路的链路接收标志和链路发送标志,并根据标志是否处于置位状态完成相应的操作,其它定时器队列的定时时长为tms定时器队列定时时长的整数倍,即等于N*tms。这里,所有定时器队列的队列头也可以放置在一个队列或数组中,或是将所有定时器队列的队列头串接成一个链表,以便于查找。
一般,对于每个节点所连接的链路来说,链路状态的确定主要取决于数据接收方向,根据定时时间间隔内是否收到协议或应用数据包、或者是握手数据包来确定相应链路是否发生故障,因为对于某节点的数据发送方向,虽然也定时监测是否发送了数据包,但是,即使未按时发出数据包也仅仅能说明当前节点的数据端口是否存在阻塞等情况,而不能证明当前节点连接的链路有故障。
由于某个链路监测模块是否工作以及处于何种工作状态,是由该链路监测模块当前所处网络节点设备中的核心处理单元来控制的,因此链路监测模块的工作状态分为以下几种:a.未初始化状态;b.已初始化状态,是指该链路监测模块已完成初始化或重新初始化,可随时进行要监控链路的注册/删除等操作;c.已启动状态,是指已有链路注册到链路监控模块中设置的某个或某些定时器队列中,且已启动了对所注册链路的实时监控,开始报告链路的状态;d.停止状态,是指在已启动状态下收到停止链路监控命令,链路监控模块停止当前工作,已注册链路的各个链路状态设置为复位状态。实际上,这四种状态之间是逐步递进的,也就是说,在前一状态的基础上才能进入后一状态,比如:只有在已初始化状态中才能进行链路的注册,只有定时器队列中有链路注册,才可能启动链路监控,进入已启动状态。同时,b、c、d三种状态也可以构成一个循环,在停止状态之后,可以重新从已初始化状态开始。
本发明中所述的链路可以是各种物理链路,比如:ATM的AAL5链路、AAL2链路、AAL1链路;IP/以太数据链路,HDLC链路等等,通常应用于快速链路。
本发明中,为每条监控链路设置的数据块是由若干个控制参数组成的数据结构,主要包括:
①链路标识LinkID,用来标识一条数据链路,以保证在链路监测模块控制的所有链路中链路的唯一性。
②链路接收标志LinkRxFlag,用于标识当前时间间隔内是否收到了数据帧。一般,在每个时间段开始时判断上个时间段中本标志值,如果仍为复位状态,说明上个时段没有收到数据,则将未收到数据的累加次数值加1。该标志值在每条链路正常接收数据时被设置为置位状态。
③未收到数据的累加次数noRxPktCount,用于记录没有接收数据包的连续时间间隔的次数,作为告警判断的依据。
④接收告警标志RxAlarmFlag,链路接收包的告警标志,如果已经有连续n次如3次没有收到普通数据包或握手数据包,且该累加计数值大于或等于预先设置的阈值,则接收告警标志被置位。并且,可根据此标志从零到1或从1到零的变化确定何时向上层发送告警信息。
对于需监测的每条链路均有故障和正常两种状态,在某节点所连接链路的数据接收方向,链路是否出现故障可根据接收告警标志RxAlarmFlag是否置位来判断;而RxAlarmFlag是否置位则是根据未收到数据的累加次数noRxPktCount的计数值是否到达预先设置的阈值N来确定的。阈值N的值可根据具体需要确定,RxAlarmFlag值从置位变为清零时,则判断此链路已恢复到正常状态。
⑤链路发送标志LinkTxFlag,用于标识当前时间间隔内是否发送了数据帧。一般,在每个时间段开始时判断上个时间段中本标志值,如果仍为复位状态,说明上个时段未发送协议数据包或应用数据包,该标志值在每条链路已有数据发送时被设置为置位状态。
本发明可以根据需要提供多种可能使用的、具有不同控制发送时间间隔的定时器队列,如50ms、100ms、300ms、700ms定时器队列等等,用于链路的监测和维护,支持不同链路的不同维护时间要求,对应不同的定时器队列。定时器的控制可采用一个硬件定时器的基准源,比如:设置100ms为基准时钟,对其它需要的不同时间的定时时长分别采用各自的变量,通过计数的方式来控制能得到的各种不同的定时时间,这些时间需要是基准硬件定时器的整数倍。具体需要的定时时间间隔可根据具体应用确定,当然,定时时间越短,对链路故障监测的实时效果越好。
对于用于链路监测的握手数据包,本发明并不对其格式进行特殊定义,所述握手数据包只要满足以下条件即可:握手数据包的格式应符合所使用数据链路本身的特性;且有明显的特征易于与其它应用数据包完全区分开。
下面结合附图和具体实施例进一步说明本发明方法的实现过程。
前文已经提到,本发明中链路监测模块对需监测链路会执行两个并行流程:第一个是在有数据收发时设置相应标志为置位状态,第二个是定时检测需监测链路的接收和发送标志,以确定链路是否正常接收,是否需要发送握手数据包。除这两个并行流程以外,在实际应用中,链路监测模块还要控制执行第三个并行流程:链路的注册和删除流程,对于任意一条需监测的链路,可根据自身需要的监测周期注册到相应的定时器队列中,并在无需监测时从相应定时器队列中删除,而且可以在任意时刻进行注册或删除,至于何时注册或删除一般可由链路监测模块所处节点的核心处理单元发指令给链路监测模块,由链路监测模块控制完成。这三个并行流程中,第一个流程是由链路监测及维护模块与底层驱动模块或数据分发模块相互配合完成的,第二个流程由链路监测模块中的链路监测任务处理模块完成,第三个流程是受外部模块控制由链路监测模块中的链路监测及维护模块完成。
另外,在链路监测模块执行上述三个并行流程之前,链路监测模块首先要完成自身的初始化,主要是初始化相应参数以及设置基本定时器,初始化过程也是由链路监测模块中的链路监测及维护模块完成。具体处理过程如图2所示,包括以下步骤:
步骤201~202:接收初始控制参数,初始化所有控制参数,并为当前所确定的需监测链路对应的控制块分配相应的数据存储资源。
这里,所述接收初始控制参数主要是指接收当前确定的需监测链路的链路标识LinkID,由于每条需监测链路对应一个包含若干控制参数的控制块,所以,接收到链路标识后,就初始化每个控制块中的控制参数,具体说就是:将每个控制块中的所有标志复位、所有累加次数清零,同时给每个控制块分配相应的存储空间,存储所有的控制参数值。
步骤203:设置基本定时器,并根据需要创建不同时长对应的定时器队列,之后启动基本定时器。
本发明中,可设置大于或等于系统能支持的最小时长的定时器作为基本定时器,比如:设置50ms或100ms定时器作为基本定时器,下面均以100ms定时器作为基本定时器为例进行说明。
本步骤中,可以根据需要创建不同时长对应的定时器队列,在定时器队列创建完成后,就可以根据不同链路所需的监测周期将每条需监测链路注册到相应的定时器队列中。这里,所述根据需要实际就是链路监测模块根据所处节点核心处理单元的指令进行相应操作,比如:核心处理单元根据实际应用需要指令链路监测模块对链路A 100ms检测一次,对链路B 200ms检测一次,对链路C 500ms检测一次,那么,链路监测模块设置100ms的基本定时器,并创建100ms、200ms和500ms三个定时时长对应的定时器队列,之后,将链路A、链路B和链路C分别注册到不同定时器队列中。
本发明中,每条链路的注册过程如图3所示,具体包括以下步骤:
步骤301:链路监测模块接收外部如所处节点的核心处理单元发来的需监测链路的链路标识LinkID、监测控制时间CntlTime等控制参数。
步骤302:判断当前接收的控制参数是否合法,如果不合法,则向发出指令的单元如核心处理单元返回错误信息;否则,执行步骤303。
这里,检测控制参数是否合法主要是检查链路标识是否为有效标识,比如是否属于本节点所连接的链路,监测控制时间是否为有效时间等等。
步骤303~304:判断该CntlTime所对应的定时器队列是否已创建,如果未创建,则建立以CntlTime作为定时时长所对应的定时器队列,然后执行步骤305,否则,直接执行步骤305。
步骤305:为当前链路创建对应的控制块,获取所创建控制块所需的资源,并初始化控制块。
这里,所述创建控制块是指为当前链路创建一个数据结构,包括链路标识、链路接收标志、未收到数据的累加次数、接收告警标志、链路发送标志等参数;所述获取资源一般是指从缓冲存储区中获取保存所创建数据结构的存储空间;所述初始化是指将每个标志复位,将每个累加计数值清零。
步骤306:将初始化后的控制块顺序插入相应定时器队列的尾部,或者根据优先级要求插入到头部。这样,就相当于将链路注册到对应的定时器队列中。
相应的,每条链路的删除过程如图4所示,具体包括以下步骤:
步骤401:链路监测模块接收外部如所处节点的核心处理单元发来的需删除链路的链路标识LinkID、监测控制时间CntlTime等控制参数。
步骤402:判断是否存在CntlTime所对应的定时器队列,如果不存在,则向发出指令的单元如核心处理单元返回错误信息;否则,执行步骤403。
步骤403:在CntlTime对应的定时器队列中查找是否有链路标识为步骤401所发来的链路标识的数据,如果没有,则向指令发出单元返回错误信息;否则,执行步骤404。
这里,具体如何查找所需链路标识的数据可以采用各种方法,比如:通过数组下标直接定位,或者使用单向或双向链表的一些已有的快速查找法,或是通过数据内容匹配等等。
步骤404:从CntlTime对应的定时器队列中删除该链路的所有信息,获取并释放该需删除链路对应控制块的资源,其中,所述释放资源就是将相应资源归还缓冲存储区。
如此,就完成了相应链路从定时器队列中的删除。
本发明的链路监测维护方法如图5所示,具体包括以下步骤:
步骤501~502:基本定时器的定时时刻到达时,进入当前选定定时器队列开始处理首条需监测链路,即:将所述首条需监测链路作为当前选定链路。
本发明中,链路监测模块设置有基本定时器,所有定时器队列对应的定时时长为基本定时器时长的整数倍,比如:设置100ms为基本定时器时长,则可以设置100ms定时器队列、200ms定时器队列、500ms定时器队列等等。每个定时器队列的定时时长通过一个计数变量来控制,比如:计数变量T初始化为0,启动基本定时器后,基本定时器每到时一次计数变量T加1,那么,T=1时,100ms定时器队列需进行处理;T=2时,100ms定时器队列和200ms定时器队列需进行处理;T=5时,100ms定时器队列和500ms定时器队列需进行处理,以此类推。一般,从定时时间到的所有定时器队列中定时时长最小的定时器队列开始从小到大依次处理,当然也可以按定时器队列本身的排列顺序依次处理,因此,这里所述的当前选定定时器队列指的是按顺序处理到的定时器队列。并且,链路监测从每个定时器队列的首条链路开始按注册顺序依次处理。
步骤503:对当前选定链路的发送进行检测,对当前选定链路的接收进行检测。其中,所述选定链路是指按顺序处理到的链路;对接收和发送的处理实际没有先后顺序,先执行哪个操作都可以,可根据实际需要确定。具体对接收和发送如何处理后文会结合附图详细描述。
步骤504~505:判断当前选定定时器队列中的所有链路是否均已处理完,如果是,则执行步骤506;否则,顺序取当前选定定时器队列中的下一条链路作为当前选定链路,返回步骤503。
步骤506~508:判断是否有其它已到时的定时器队列需要处理,如果没有,则结束一个基本定时器时间间隔的处理流程;否则,取下一个定时器队列作为当前选定定时器队列,返回步骤502。
其中,步骤503中所述对当前选定链路的发送进行检测,如图6所示,具体包括以下步骤:
步骤601:读取当前选定链路控制块中与发送相关的控制参数,主要包括链路发送标志LinkTxFlag。
步骤602~604:判断链路发送标志LinkTxFlag是否为复位状态,如果是,说明未发送过数据,则在当前选定链路上发送一个握手数据包,结束当前选定链路的本次发送检测;否则,说明已有数据发送过,将链路发送标志LinkTxFlag设置为复位状态,结束当前选定链路的本次发送检测。
对于任意一条需监测链路,连接链路的节点在数据发送模块每次正常发送协议数据包或应用数据包后,会将该链路对应的链路发送标志LinkTxFlag设置为置位状态,在下一个时间间隔开始后,链路监测模块中链路监测任务处理模块会获取并判断该链路发送标志,之后执行步骤601~604的处理过程。
同样,步骤503中所述对当前选定链路的接收进行检测,如图7所示,具体包括以下步骤:
步骤701:读取当前选定链路控制块中与接收相关的控制参数,包括链路接收标志LinkRxFlag、未收到数据的累加次数noRxPktCount、接收告警标志RxAlarmFlag。
步骤702:判断链路接收标志LinkRxFlag是否为复位状态,如果是,则执行步骤707,否则,执行步骤703。
步骤703:将未收到数据的累加次数noRxPktCount清零。
步骤704~706:判断接收告警标志RxAlarmFlag是否为复位状态,如果是,则执行步骤711,否则,上报告警解除信息,并将接收告警标志RxAlarmFlag复位,执行步骤711。
步骤707:将未收到数据的累加次数noRxPktCount加1。
步骤708:判断未收到数据的累加次数noTxPktCount是否大于等于允许的未接收数据次数阈值,如果是,则执行步骤709,否则,执行步骤711。
这里,允许的未接收数据次数阈值是预先设定,该阈值为大于0的正整数。
步骤709:判断接收告警标志RxAlarmFlag是否为复位状态,如果是,则执行步骤710;否则,执行步骤711。
步骤710:上报告警信息,并将接收告警标志RxAlarmFlag置位。
步骤711:将链路接收标志LinkRxFlag设置为复位状态。
对于任意一条需监测链路,链路连接到的节点的数据接收模块每次接收到数据包后,会将该链路对应的链路接收标志LinkRxFlag设置为置位状态,在下一个时间间隔开始后,链路监测模块中链路监测任务处理模块会获取并判断该链路接收标志,之后执行步骤702~711的处理过程。
本发明的方法可以对各种类型不同的链路利用统一的基本定时器,不同的定时时长,进行集中统一的处理,不仅实现简单、处理灵活统一,而且节省资源和成本。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (13)

1. 一种多数据链路监测维护的方法,其特征在于,设置基本定时器并建立至少一个定时器队列,所述基本定时器为大于或等于系统支持的定时时长最小的定时器;所述每个定时器队列的定时时长为基本定时器的整数倍;在每次基本定时器到时时,该方法包括以下步骤:
确定当前需处理的定时器队列,对当前需处理的所有定时器队列中的每条需监测链路依次进行检测,判断链路是否正常收发数据,如果正常收到数据或已有数据发送,则等待下一次该链路的定时器到时;如果未收到数据,则记录所处理链路的相应信息并在需要时上报;如果没有数据发送,则发送握手数据包。
2. 根据权利要求1所述的方法,其特征在于,在每次基本定时器到时时,该方法具体包括:
a11.将当前选定定时器队列中的首条需监测链路作为当前选定链路;
a12.根据链路接收和发送标志判断当前选定链路是否正常收发,如果正常收到数据或已有数据发送,则执行步骤a13,如果未收到数据,则记录当前选定链路的未收到数据信息,在需要时上报,如果没有数据发送,则发送握手数据包;
a13.判断是否处理完当前选定定时器队列中的所有链路,如果是,则执行步骤a14,否则,顺序取当前选定定时器队列中的下一条链路作为当前选定链路,返回步骤a12;
a14.判断是否还有到时的定时器队列需处理,如果没有,则结束当前处理流程,否则,取下一个定时器队列作为当前选定定时器队列,并取当前选定定时器队列中的首条需监测链路作为当前选定链路,返回步骤a12。
3. 根据权利要求2所述的方法,其特征在于,步骤a11中所述当前选定定时器队列为:对应基本定时器时长的定时器队列。
4. 根据权利要求2所述的方法,其特征在于,该方法还包括将需监测链路根据所需的监测周期注册到相应定时器队列的过程,具体包括:
a21.接收需监测链路的至少包括链路标识和监测控制时间的控制参数,并判断控制参数是否合法,如果是,则执行步骤a22,否则,返回错误信息,结束当前的链路注册流程;
a22.判断所接收的监测控制时间对应的定时器队列是否已建立,如果是,则执行步骤a23,否则,建立以所收到监测控制时间为定时时长的定时器队列;
a23.为当前链路创建对应的控制块,获取该控制块所需资源,并初始化所创建的控制块,所述控制块为由若干个控制参数组成的数据结构;
a24.将初始化后的控制块插入以监测控制时间为定时时长的定时器队列中。
5. 根据权利要求4所述的方法,其特征在于,该方法还包括将需监测链路从相应定时器队列删除的过程,具体包括:
a31.接收需删除链路的至少包括链路标识和监测控制时间的控制参数;
a32.判断所接收的监测控制时间对应的定时器队列是否存在,如果存在,则执行步骤a33,否则,返回错误信息,结束当前的链路删除流程;
a33.从以监测控制时间为定时时长的定时器队列中删除需删除链路的所有信息,获取并释放需删除链路对应控制块的资源。
6. 根据权利要求4或5所述的方法,其特征在于,所述控制块包括链路标识、链路接收标志、未收到数据的累加次数、接收告警标志、链路发送标志。
7. 根据权利要求6所述的方法,其特征在于,对所述需监测链路的发送进行检测时,步骤a12具体包括:
a1211.读取当前选定链路控制块中与发送相关的链路控制参数,判断链路发送标志是否处于复位状态,如果是,则在当前选定链路上发送一个握手数据包,结束本次发送检测流程;否则,将链路发送标志设置为复位状态后,结束本次发送检测流程。
8. 根据权利要求7所述的方法,其特征在于,该方法进一步包括:所述需监测链路正常发送数据包时,将自身的链路发送标志设置为置位状态。
9. 根据权利要求7所述的方法,其特征在于,步骤a1211中所述链路发送标志是否处于复位状态通过与底层驱动模块或数据分发模块之间的链路状态接口获取。
10. 根据权利要求6所述的方法,其特征在于,对所述需监测链路的接收进行检测时,步骤a12具体包括:
a1221.读取当前选定链路控制块中与接收相关的控制参数,判断链路接收标志是否处于复位状态,如果是,则执行步骤a1223,否则,执行步骤a1222;
a1222.将未收到数据的累加次数清零,判断接收告警标志是否处于复位,如果是,则执行步骤a1226,否则,上报告警解除信息并将接收告警标志复位,执行步骤a1226;
a1223.将未收到数据的累加次数加1,判断未收到数据的累加次数是否大于等于允许的未接收数据次数阈值,如果是,则执行步骤1224,否则,执行步骤1226;
a1224.判断接收告警标志是否处于复位,如果是,则执行步骤1225,否则,执行步骤1226;
a1225.上报告警信息,并将接收告警标志置位;
a1226.将链路接收标志设置为复位状态。
11. 根据权利要求10所述的方法,其特征在于,该方法进一步包括:所述需监测链路正常接收到数据包时,将自身的链路接收标志设置为置位状态。
12. 根据权利要求10所述的方法,其特征在于,步骤a1221中所述链路接收标志是否处于复位状态通过与底层驱动模块或数据分发模块之间的链路状态接口获取。
13. 根据权利要求1所述的方法,其特征在于,所述链路为异步传输模式的AAL5链路、异步传输模式的AAL2链路、异步传输模式的AAL1链路、IP链路、以太数据链路或HDLC链路。
CNB2005100855496A 2005-07-25 2005-07-25 一种多数据链路监测维护的方法 Active CN100411365C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100855496A CN100411365C (zh) 2005-07-25 2005-07-25 一种多数据链路监测维护的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100855496A CN100411365C (zh) 2005-07-25 2005-07-25 一种多数据链路监测维护的方法

Publications (2)

Publication Number Publication Date
CN1905492A CN1905492A (zh) 2007-01-31
CN100411365C true CN100411365C (zh) 2008-08-13

Family

ID=37674628

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100855496A Active CN100411365C (zh) 2005-07-25 2005-07-25 一种多数据链路监测维护的方法

Country Status (1)

Country Link
CN (1) CN100411365C (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101014049B (zh) * 2007-02-14 2012-06-06 中兴通讯股份有限公司 一种终端无线通信协议栈软件定时器管理方法
CN102970171A (zh) * 2012-12-06 2013-03-13 盛科网络(苏州)有限公司 芯片级实现多种oam时间精度的方法
CN103905268B (zh) * 2012-12-28 2017-08-29 华为技术有限公司 Gre链路检测方法、主控板、装置及通信防护系统
CN103634821B (zh) * 2013-12-07 2016-08-17 天津光电通信技术有限公司 一种多路无线网络通信设备链路动态监控处理方法
CN105208605B (zh) * 2014-06-20 2020-02-07 中兴通讯股份有限公司 链路信息的发送方法、装置和流量的控制方法、装置
CN105577315B (zh) 2014-10-08 2019-07-09 深圳市中兴微电子技术有限公司 一种链路状态控制方法及装置
CN106533814A (zh) * 2017-01-06 2017-03-22 上海中船船舶设计技术国家工程研究中心有限公司 一种数据传输路径的故障检测方法
CN109150328B (zh) * 2017-11-02 2022-04-12 上海华测导航技术股份有限公司 一种接收机自动化检测方法
CN110096374B (zh) * 2019-03-20 2023-03-14 西安电子科技大学 内部多类别的计算单元之间通信中间件控制系统及方法
CN110262883B (zh) * 2019-06-19 2021-08-24 深圳市道通合创新能源有限公司 基于定时器的任务处理方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999020016A1 (en) * 1997-10-14 1999-04-22 Winnet Mcs, Inc. Method and apparatus for maintaining a predefined transmission quality in a wireless man network
CN1452347A (zh) * 2002-04-20 2003-10-29 深圳市中兴通讯股份有限公司 一种检测媒体网关控制器与媒体网关间链路状态的方法
CN1547330A (zh) * 2003-12-01 2004-11-17 中兴通讯股份有限公司 一种多端口多链路的通讯网络备份控制方法及其装置
CN1568046A (zh) * 2003-07-03 2005-01-19 中国移动通信集团公司 一种移动网络中业务链路的检测维护方法
US20050111377A1 (en) * 2003-11-25 2005-05-26 Marcello Lioy Method and apparatus for efficiently using air-link resources to maintain IP connectivity for intermittently active wireless terminals

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999020016A1 (en) * 1997-10-14 1999-04-22 Winnet Mcs, Inc. Method and apparatus for maintaining a predefined transmission quality in a wireless man network
CN1452347A (zh) * 2002-04-20 2003-10-29 深圳市中兴通讯股份有限公司 一种检测媒体网关控制器与媒体网关间链路状态的方法
CN1568046A (zh) * 2003-07-03 2005-01-19 中国移动通信集团公司 一种移动网络中业务链路的检测维护方法
US20050111377A1 (en) * 2003-11-25 2005-05-26 Marcello Lioy Method and apparatus for efficiently using air-link resources to maintain IP connectivity for intermittently active wireless terminals
CN1547330A (zh) * 2003-12-01 2004-11-17 中兴通讯股份有限公司 一种多端口多链路的通讯网络备份控制方法及其装置

Also Published As

Publication number Publication date
CN1905492A (zh) 2007-01-31

Similar Documents

Publication Publication Date Title
CN100411365C (zh) 一种多数据链路监测维护的方法
CN101432721B (zh) 桥接网络中的潜在转发环路的检测
CN101150809B (zh) 移动终端处理器串口唤醒与流控的方法
CN100499576C (zh) 在消息传递中间件环境中定义替换信道路由机制的系统
US5991305A (en) Integrated multiport switch having independently resettable management information base (MIB)
CN100504791C (zh) 多cpu对临界资源进行互斥访问的方法和装置
CN101355466B (zh) 连续性检查消息报文的传输方法和装置
CN100370756C (zh) 系统的复位处理方法及装置
CN109933438A (zh) 高速共享内存数据收发系统
CN102263651A (zh) Snmp网络管理系统中局端设备连接状态的检测方法
JP3454297B2 (ja) ネットワーク・スイッチ間のリンクをテストするための方法および装置
CN106230917B (zh) 一种批量数据通信方法、装置和系统
JP2022523452A (ja) データ処理方法及び機器
CN102014002B (zh) 一种多个网元设备的管理方法和系统
CN100563237C (zh) 一种多传输通道数据传输方法
CN101296132A (zh) 一种监测网卡的方法、系统及一种监测装置
US7917657B2 (en) Method and system for monitoring a telecommunications signal transmission link
US5923661A (en) Method of collecting large amounts of data in apparatus such as ATM exchange
US20030023775A1 (en) Efficient notification of multiple message completions in message passing multi-node data processing systems
CN102195746A (zh) 循环检测方法及应用其的网络装置
US6973044B1 (en) Efficient method for collecting statistics via a half-duplex serial bus
CN102693434A (zh) 射频识别设备接口层的通信装置及方法
JPH05191405A (ja) 情報収集装置
CN117112237B (zh) 基于纯实物多路并发的实时数据采集方法
CN107547422A (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