首页> 中国专利> 一种多节点之间链路有效性检测和处理方法

一种多节点之间链路有效性检测和处理方法

摘要

本发明公开了一种多节点之间链路有效性检测和处理方法,属于TETRA数字集群系统多节点链路传输领域。在多个节点相互传输数据的链路上通常会出现很多种现象:长期有效、链路长期断开、链路先断开后恢复、链路有效过程中断开、链路断开和恢复交替出现等现象。这些现象在实际的运行过程中给应用程序造成各种异常状况。本发明通过计算节点每次发送心跳请求的时间,将这些时间均匀分散在时间格上,在预设周期内对链路的有效性进行检测,并在链路恢复的过程中采用假设性恢复策略进行链路恢复的检测。通过这些方式增加了链路的有效性的反馈,为应用程序选择链路提供准确的保障。

著录项

  • 公开/公告号CN105515912A

    专利类型发明专利

  • 公开/公告日2016-04-20

    原文格式PDF

  • 申请/专利权人 河北远东通信系统工程有限公司;

    申请/专利号CN201510970908.X

  • 申请日2015-12-22

  • 分类号H04L12/26(20060101);H04W24/08(20090101);H04W28/02(20090101);

  • 代理机构13124 河北东尚律师事务所;

  • 代理人王文庆

  • 地址 050200 河北省石家庄市鹿泉经济开发区昌盛大街21号

  • 入库时间 2023-12-18 15:37:44

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-16

    授权

    授权

  • 2016-05-18

    实质审查的生效 IPC(主分类):H04L12/26 申请日:20151222

    实质审查的生效

  • 2016-04-20

    公开

    公开

说明书

技术领域

本发明涉及TETRA数字集群系统多节点链路传输领域,尤其是涉及一种多节 点之间链路有效性检测和处理方法。

背景技术

在数字集群系统中,交换中心和基站可以看成相互通信的节点,各个节点之 间通过选定通信协议进行通信,而且各个节点之间要求两个节点之间的链路具有 可靠性的要求。在实际的链路状况下,链路的状态可能有链路长期有效、链路长 期断开、链路先断开后恢复、链路有效过程中断开、链路断开和恢复交替出现等 现象。在复杂网络质量的情况下,不稳定的传输系统会对数字集群的功能产生各 种预期不到的影响,比如造成呼叫建立的延迟、呼叫建立失败等等。检测链路的 稳定性、抖动程度并对未来的链路的情况进行预判,对数字集群系统的功能具有 很重大的意义。

为了检测出这些状态,现有技术通常采用连续N次心跳检测都没有收到对方 响应消息的方式来检测,这种检测方式能够在一定程度上对以上现象进行检测, 但是在实际运用过程中,N的值决定着检测结果的快慢程度,N值过小检测会很 快,但是链路的容忍度过低;而N值过大,检测会很慢,但是链路的容忍度会很 高。另外连续N次心跳检测对链路断开和恢复交替出现的状况检测会失效,有时 还会带来不断链路状态告警的可能性。

随着节点数量的增多,一个节点需要连接的节点的数量也在增多,这样就会 带来单节点与多节点链路高并发性的要求,同时也为节点之间可靠性检测造成检 测所需定时器过多的困扰。这样以来会,节点越多,对资源的消耗就越多,留给 节点之间数据包传送的资源就越少。

发明内容

本发明所要解决的技术问题是:提供一种交换中心与基站站点之间链路拥 塞、抖动检测和处理方法。在数字集群领域中,要保证数字集群系统的实时性, 交换中心和基站之间必须提供一种稳定的链路,面对抖动比较严重的链路要及时 提供告警,而且在链路恢复时候能够及时的恢复。面对更加复杂的周期抖动也能 智能的进行预测和判断,以保证交换控制中心和基站之间数据能够正确、实时地 传送。

本发明的目的通过以下技术方案来实现:一种多节点之间链路有效性检测方 法,包括以下步骤:

S1:建立节点间的网络连接,将每个节点对应的链路状态初始化为链路无效 状态;

S2:源节点分别向各对端节点发送心跳请求消息,记录心跳请求消息发送的 时间,并根据心跳响应等待时间,计算出各节点心跳超时时间;

S3:源节点在当前预设周期内等待各对端节点发送来的消息,如果收到对端 节点发送来的消息,记录收到消息的时间,更新此条链路的状态为有效;如果未 收到对端节点发送来的消息,根据慢检测判断此条链路是否有效,记录心跳超时 时间;其中,消息包括心跳响应消息或者心跳请求消息;

S4:分别计算各节点下一次发送心跳请求消息的时间,并把对应节点放在时 间格内;其中,所述的时间格为:把时间线分为相同间隔,两个相邻间隔间的时 间线作为一个时间格,在时间格内存放此时间间隔内要完成的心跳事务,心跳事 务包括:节点心跳发起事务和节点心跳超时事务,把各节点的心跳事务平均分散 到时间格内;

S5:根据各节点下一次心跳响应等待时间,计算出各节点下一次心跳超时时 间,并把对应节点放在时间格内;

S6:进入下一预设周期,将下一预设周期作为当前预设周期,执行S3。

其中,S3中所述的根据慢检测判断此条链路是否有效,具体为:连续N次 发送心跳请求消息,累计出现未收到心跳响应消息次数达到预设阈值,则链路无 效;否则,链路有效;其中,N为自然数。

其中,N为6,预设阈值为3。

其中,S4中所述的分别计算各节点下一次发送心跳请求消息的时间,具体 为:

THeatbeat=MAX{THeartbeatExpiry,TDataConfirm,TDataIndication,THeartbeatRSP}+TPeriod

其中:THeartbeat:当前节点下一次发送心跳请求消息的时间;THeartbeatExpiry:当前 节点最近一次节点心跳超时的时间;TDataConfirm:当前节点最近一次节点数据包确 认的时间;TDataHeartRSP:当前节点最近一次节点心跳响应的时间;TDataIndcation:当前 节点最近一次收到节点数据包的时间;TPeriod:心跳请求消息发送周期。

其中,S5中所述的根据各节点下一次心跳响应等待时间,计算出各节点下 一次心跳超时时间,具体为:

TExpiry=THeartbeat+TWait

其中:TExpiry:当前节点下一次心跳超时时间;THeartbeat:当前节点下一次发送 心跳请求消息的时间;TWait:当前节点下一次心跳响应等待时间。

一种多节点之间链路异常的恢复检测方法,包括以下步骤:

(1)若当前链路无效,采用快速假设性的恢复策略来进行当前链路恢复;

(2)判断恢复策略是否成功,如果成功,结束本流程;如果失败,则认为 当前链路抖动,采用慢恢复机制来判断当前链路是否有效。

其中,所述的快速假设性的恢复策略具体为:当链路长期处于无效状态时, 如果链路上收到心跳响应则此链路恢复。

其中,所述的慢恢复机制具体为:统计设定时间内的丢包率来预判链路状态, 当丢包率大于上阈值,而判定链路无效;当丢包率小于下阈值,则判定链路有效; 当丢包比率位于阈值区间,则将同一个数据包发送两次。

其中,所述的阈值区间为:1%~3%。

与现有技术相比,本发明方法的优点在于:

(1)能够达到在IP链路上准确有效的通断预判以及进行数据传送。

(2)能够为数字集群系统中,多个节点之间数据传送提供非常智能的承 载能力。可以用以下几个字来描述:链路稳定,正常工作;链路不通,及时告警; 链路小抖动,加强传输通道;链路大抖动,及时告警。

附图说明

图1是本发明的时间格结构图;

图2是本发明的时间格处理流程图;

图3是本发明在链路无效状态下,心跳处理流程图;

图4是本发明在链路有效状态下,心跳处理流程图。

具体实施方式

下面结合附图,对本发明所述方法作进一步详细描述。

链路的情况一般分为以下几种情况:链路畅通、链路延迟大、链路偶尔有丢 包、链路随机性丢包、链路周期性丢包、链路大量丢包、链路不通。这些都对数 字集群系统的性能有很大影响。本发明方法通过采用交换控制中心和基站之间消 息回声的机制,并计算出回声延迟,根据一段时间的数据对链路情况进行分析并 得出当前链路的情况,并对未来的链路稳定性进行预判。

链路畅通、链路延迟大、链路不通这几种情况可以直接通过回声的响应就能 得出结论,这些结论直接可以作为链路的情况的直接反馈。面对链路抖动也就是 链路中有丢包的情况下的检测需要对一段时间区间的回声反馈进行分析,分析区 间时间内丢包比率,以及丢包趋势,来对未来的链路情况进行预判。面对丢包比 率在阈值(1%~3%)的链路,采用同一个数据包发送两次的方式增加数据的传送 成功率,面对丢包比率在阈值3%以上的链路将停止数据的传输,并产生告警信 息,告知工程人员进行链路的查修。

一种多节点之间链路有效性检测的方法,包括以下步骤:

S1:根据通信需求建立节点间的网络连接,将每个节点对应的链路状态初始 化为链路不可用状态;

实施例:把交换中心和基站看成相同的传输节点,通过IP网络进行连接。 在节点内,建立多个节点的信息的存储区域,每个节点的信息被存储在单独的区 域内,并给每个节点对应的链路状态初始化为链路不可用状态。

S2:源节点分别向各对端节点发送心跳请求消息,记录心跳请求消息发送的 时间;

S3:源节点在当前预设周期内等待各对端节点发送来的消息,如果收到对端 节点发送来的消息,记录收到消息的时间,更新此条链路的状态为有效;如果未 收到对端节点发送来的消息,根据慢检测判断此条链路是否有效,记录心跳超时 时间;其中,消息包括心跳响应消息或者心跳请求消息;

实施例:系统启动后,节点分别向多个对端节点发送心跳消息,然后等待心 跳响应消息,如果收到心跳响应消息或者对端节点发送而来的心跳消息,更新此 条链路的状态为可用,并通知相关模块,此条链路可用,可以在此条链路上发送 数据包;

如果未收到心跳响应消息或者对端节点发送而来的心跳消息,则连续6次发 送心跳请求消息,累计出现3次未收到心跳响应消息,则链路无效;否则,链路 有效。如图4所示。

S4:分别计算各节点下一次发送心跳请求消息的时间,并把对应节点放在时 间格内;

实施例:在发送心跳消息、发送数据包或收到对方节点的数据包消息时,实 时记录记录以下信息:心跳发送的时间、收到心跳响应的时间、心跳超时时间、 发送数据包的时间、收到数据包收到响应的时间、数据包响应超时时间、收到对 方节点数据包时间;通过以上这些时间信息来计算下一次心跳的时间,并把这个 时间放在预先规划好的时间格内。

所述的时间格为:把时间线分为相同间隔,两个相邻间隔间的时间线作为一 个时间格,在时间格内存放此时间间隔内要完成的心跳事务,心跳事务包括:节 点心跳发起事务和节点心跳超时事务,把各节点的心跳事务平均分散到时间格 内。如图1所示。

系统启动后,首先准备向各个节点发送心跳消息,将这些事务放在相应的时 间格的节点心跳发起事务中;然后按照先处理节点心跳超时事务,再处理节点心 跳发起事务的顺序对时间格内的事务进行处理。时间格内的事务处理完成后,等 待下一个时间格的到来,进行下一个时间格的事务处理。如图2所示。

各节点下一次发送心跳请求消息的时间,具体为:

THeatbeat=MAX{THeartbeatExpiry,TDataConfirm,TDataIndication,THeartbeatRSP}+TPeriod

其中:THeartbeat:当前节点下一次发送心跳请求消息的时间;THeartbeatExpiry:当前 节点最近一次节点心跳超时的时间;TDataConfirm:当前节点最近一次节点数据包确 认的时间;TDataHeartRSP:当前节点最近一次节点心跳响应的时间;TDataIndcation:当前 节点最近一次收到节点数据包的时间;TPeriod:心跳请求消息发送周期。

通过这种方式,所有向对端节点发送心跳的时间就均匀地分散到时间线上, 避免了同一时刻发送大量心跳消息造成的网络拥塞。

S5:根据各节点下一次心跳响应等待时间,计算出各节点下一次心跳超时时 间,并把对应节点放在时间格内;具体为:

TExpiry=THeartbeat+TWait

其中:TExpiry:当前节点下一次心跳超时时间;THeartbeat:当前节点下一次发送 心跳请求消息的时间;TWait:当前节点下一次心跳响应等待时间。

S6:进入下一预设周期,将下一预设周期作为当前预设周期,执行S3。

图3为链路无效时,进行链路恢复的流程图。一种多节点之间链路异常的恢 复方法,包括以下步骤:

(1)若当前链路无效,采用快速假设性的恢复策略来进行当前链路恢复;

(2)判断恢复策略是否成功,如果成功,结束本流程;如果失败,则认为 当前链路抖动,采用慢恢复机制来判断当前链路是否有效。

实施例:在链路已经判定不通的情况下,采用快速假设性的恢复策略来进行 链路恢复通知。具体为:当链路长期处于无效状态时,如果链路上收到心跳响应 则此链路恢复。

通过快速恢复的机制可能会带来交替地链路断开和恢复的通知,这样势必会 对数据传输造成很大的影响,这里通过积累学习机制在一定时间内,交替的链路 断开和恢复超过2次,下一次的链路恢复机制将采用慢恢复的机制来判定此链路 恢复正常。

慢恢复机智具体为:链路采用丢包统计的方式来对链路状态进行预判,发送 的数据包或者心跳信息得不到记为丢包,统计最近一段时间内的丢包率来预判链 路状态:

当丢包率持续增加,增加到3%以上,立即向应用模块报告链路不可用;

当丢包率降低到1%以下,则向应用模块报告链路可用;

面对丢包比率位于1%~3%的链路,采用同一个数据包发送两次的方式增加 数据的传送成功率,面对丢包比率在阈值3%以上的链路将停止数据的传输,并 产生告警信息,告知工程人员进行链路的查修。

通过这种方式可以将链路的拥塞状态及时的通知应用模块,获得很好的应用 效果。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号