一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于链路流量的环网节点间链路状态监测方法和装置与流程

2022-11-19 17:28:52 来源:中国专利 TAG:


1.本发明涉及工业控制环网技术领域,特别涉及一种基于链路流量的环网节点间链路状态监测方法和装置。


背景技术:

2.目前,工业控制网络拓扑结构开始采用环网组网方式,主要由主站设备和各节点设备通过网线或光纤两两相连组成,而为了保证环网系统的可靠性和实时性,环网系统中主站设备需要实时的获取节点间链路通信状态以实现环网系统的控制方式变化。
3.为了实时监测环网系统节点间链路状态,现行主要采用两大类方法:第一类为主站设备主动向环网系统中发送链路诊断信息,通过分析收到的链路诊断信息来判断节点间链路状态,但是这种方式不适用于实时性要求比较高的工业场景下,同时由于主站设备是环网系统的核心,功能复杂,主动实时的监测各节点设备间链路状态增加了主站设备的功能负载,降低了环网系统的可靠性;第二类为各节点设备通过定时的向相邻的节点发送心跳报文,并在一定时间内收到相邻的节点设备返回的心跳报文来判断两节点设备间链路状态是否正常,但是这种方式在环网链路中数据量大,带宽负载占用高的情况下,显然更加重了链路负载,同时也降低了链路状态监测的可靠性,容易造成误报。同时,现在有的节点设备的控制处理器采用fpga这种并行处理器,由于不同的功能处理逻辑是处于并行状态,而处理心跳报文的逻辑相对简单,不容易出现异常,而真正的主处理逻辑容易出现异常,所以会出现心跳报文能正常交互,而节点模块的主处理逻辑处于异常的情况,进而导致这种方式无法真正获取节点状态。


技术实现要素:

4.本发明的目的在于提供一种基于链路流量的环网节点间链路状态监测方法和装置,以克服现有技术中的不足。
5.为实现上述目的,本发明提供如下技术方案:本技术公开了一种基于链路流量的环网节点间链路状态监测方法,包括环网系统中任意三个依次相连接的节点,所述方法具体包括如下步骤:s1、第一节点监测在第一时长内是否收到来自第二节点的报文数据;s11、若第一节点在第一时长内收到自来第二节点的报文数据,则对收到的报文数据进行处理,并返回步骤s1;s12、若第一节在第一时长内未收到来自第二节点的报文数据,累积未收到次数,判断次数是否超过第一阈值;若未超过第一阈值,则返回s1;若超过第一阈值,则进入步骤s2;s2、第一节点向第二节点发送链路状态诊断报文;s3、第二节点接收到第一节点发送的链路状态诊断报文后,经过处理后将其转发给第三节点,第三节点接收到第二节点发送的链路状态诊断报文后,经过处理后将其返回
给第二节点,第二节点收到第三节点返回的链路状态诊断报文后,直接返回给第一节点;s4、第一节点监测在第二时长内是否收到来自第二节点的链路状态诊断报文;s41、若收到,则认定第一节点与第二节点之间链路处于正常联通状态,返回步骤s1;s42、若未收到,累积未收到次数,判断次数是否超过第二阈值;若未超过第二阈值,则返回步骤s2;若超过第二阈值,则认定第一节点与第二节点间链路处于异常。
6.作为优选,步骤s1中的报文数据包括任何有效网络数据的报文数据。
7.作为优选,步骤s2中的链路状态诊断报文包括报文命令cmd,报文经过网络端口数量port_num,报文传输方向trans_flag;作为优选,步骤s3中第二节点的具体包括如下操作:a1、第二节点接收到链路状态诊断报文;判断报文经过网络数量port_num是否为1,以及报文传输方向trans_flag是否为1;a2、若是,则将报文经过网络数量port_num做加1操作,报文传输方向trans_flag保持为1,经过重新组包后,发送给第三节点;a3、若不是,则将报文直接报文转发给第一节点。
8.作为优选,步骤s3中第三节点的具体包括如下操作:b1、第三节点接收到链路状态诊断报文;b2、将报文经过网络数量port_num做加1操作,报文传输方向trans_flag设置为0,经过重新组包后,返回给第二节点。
9.本技术公开了一种基于链路流量的环网节点间链路状态监测装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述的一种基于链路流量的环网节点间链路状态监测方法。
10.本技术公开了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述一种基于链路流量的环网节点间链路状态监测方法。
11.本发明的有益效果:1、在环网链路带宽负载占用高的情况下,节点可直接利用链路上收到的报文作为链路监测的报文,不用主动发送链路监测报文,可有效减少链路负载,提高链路状态监测的可靠性;2、现在节点设备的控制处理器多采用fpga这种并行处理器,由于不同的功能处理逻辑是处于并行状态,会出现心跳报文能正常交互,而节点设备的主处理逻辑处于异常的情况,在环网链路带宽负载占用低的情况下,节点通过主动发送链路状态诊断报文,并使得报文经过两个节点的处理返回,可同时有效的监测链路及节点主处理器是否异常,避免因处理器并行特性导致的链路检测误报。
12.本发明的特征及优点将通过实施例结合附图进行详细说明。
附图说明
13.图1是本发明实施例的一种应用场景的示意性节点连接图。
14.图2是本发明实施例的节点间在大流量数据交互状态下的链路状态监测方法交互图。
15.图3是本发明实施例的节点间在小流量数据交互状态下的链路状态监测方法交互图。
16.图4是本发明实施例的链路状态诊断报文格式。
17.图5是本发明实施例的节点间在链路异常状态下的链路状态监测方法交互图。
18.图6是本发明实施例的链路状态诊断报文在各节点间传输示意图。
19.图7是本发明一种基于链路流量的环网节点间链路状态监测装置的结构示意图。
具体实施方式
20.为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图及实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
21.参阅图1,本发明一种基于链路流量的环网节点间链路状态监测方法,包括环网系统中任意三个依次相连接的节点,所述方法具体包括如下步骤:s1、第一节点监测在第一时长内是否收到来自第二节点的报文数据;s11、若第一节点在第一时长内收到自来第二节点的报文数据,则对收到的报文数据进行处理,并返回步骤s1;s12、若第一节在第一时长内未收到来自第二节点的报文数据,累积未收到次数,判断次数是否超过第一阈值;若未超过第一阈值,则返回s1;若超过第一阈值,则进入步骤s2;s2、第一节点向第二节点发送链路状态诊断报文;s3、第二节点接收到第一节点发送的链路状态诊断报文后,经过处理后将其转发给第三节点,第三节点接收到第二节点发送的链路状态诊断报文后,经过处理后将其返回给第二节点,第二节点收到第三节点返回的链路状态诊断报文后,直接返回给第一节点;s4、第一节点监测在第二时长内是否收到来自第二节点的链路状态诊断报文;s41、若收到,则认定第一节点与第二节点之间链路处于正常联通状态,返回步骤s1;s42、若未收到,累积未收到次数,判断次数是否超过第二阈值;若未超过第二阈值,则返回步骤s2;若超过第二阈值,则认定第一节点与第二节点间链路处于异常。
22.在一种可行的实施例中,步骤s1中的报文数据包括任何有效网络数据的报文数据。
23.在一种可行的实施例中,步骤s2中的链路状态诊断报文包括报文命令cmd,报文经过网络端口数量port_num,报文传输方向trans_flag。
24.在一种可行的实施例中,步骤s3中第二节点的具体包括如下操作:a1、第二节点接收到链路状态诊断报文;判断报文经过网络数量port_num是否为1,以及报文传输方向trans_flag是否为1;a2、若是,则将报文经过网络数量port_num做加1操作,报文传输方向trans_flag保持为1,经过重新组包后,发送给第三节点;a3、若不是,则将报文直接报文转发给第一节点。
25.在一种可行的实施例中,步骤s3中第三节点的具体包括如下操作:b1、第三节点接收到链路状态诊断报文;b2、将报文经过网络数量port_num做加1操作,报文传输方向trans_flag设置为0,经过重新组包后,返回给第二节点。
26.实施例:如图1所示,环网系统中其中的三个节点依次通过网线或光纤互联,环网系统中的数据在节点间传输。
27.如图2所示,环网系统在大流量数据交互环境下,节点间频繁的进行数据交互,第一节点在第一时长内监测第二节点发送过来的报文数据,其中所述报文数据为任何有效网络数据报文数据;所述第一节点在第一时长内监测到报文数据时,所述第一节点与第二节点之间链路处于正常联通状态,同时第一时长计数器从零开始计时。
28.如图3所示,环网系统在小流量数据交互环境下,节点间会在某段时间内不进行数据交互,若第一节点在在连续10个第一时长内未监测到第二节点发送过来的任何报文数据时,第一节点向第二节点发送链路状态诊断报文;所述链路状态诊断报文包括报文命令cmd,报文经过网络端口数量port_num,报文传输方向trans_flag等信息,如图4所示,其中第一节点发送出去的链路状态诊断报文中报文经过网络端口数量port_num初始值为0,报文传输方向trans_flag为1。第一节点向第二节点发送链路状态诊断报文后,在第二时长内监测是否收到第二节点返回的链路状态诊断报文,如果收到网络端口数据port_num为2且报文传输方向trans_flag为0的链路状态诊断报文,则所述第一节点与第二节点之间链路处于正常联通状态,且第二节点工作正常,第二时长计时清零,并重新按照第一方面所述在第一时长内监测第二节点发送过来的报文数据;如图5所示,当第一节点和第二节点之间发生链路异常或者第二节点发生故障的状态下,第一节点在第二时长内未监测到第二节点返回的链路状态诊断报文,则第一节点与第二节点之间的链路处于异常状态,第二时长计时清零,并第一节点重新向第二节点发送链路状态诊断报文,若第一节点连续20在所述的第一时长和第二时长内没有收到报文数据或链路状态诊断报文,确定所述第一节点和第二节点之间的链路处于异常状态。
29.图6示意性的展示了链路状态诊断报文在各节点间传输示意图。第二节点收到链路状态诊断报文后,先根据报文命令判断是否为链路状态诊断报文,如果是,再判断报文经过网络端口数量port_num是否为0,以及报文传输方向trans_flag是否为1,如果是,则将报文经过网络端口数据port_num做加1操作,报文传输方向trans_flag保持为1,经过重新组包后,将新的链路状态诊断报文从第二节点的另一个网络端口发送给第三节点;如果报文经过网络端口数量port_num为2,以及报文传输方向trans_flag为0,则将该报文直接从另一个网络端口转发给第一节点。第三节点收到链路状态诊断报文后,先根据报文命令判断是否为链路状态诊断报文,如果是,再判断报文经过网络端口数量port_num是否为1,以及报文传输方向trans_flag是否为1,如果是,则将报文经过网络端口数据port_num做加1操作,报文传输方向trans_flag设置为0,经过重新组包后,将新的链路状态诊断报文从第三节点原路发回给第二节点。
30.本发明一种基于链路流量的环网节点间链路状态监测装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设
备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本发明一种基于链路流量的环网节点间链路状态监测装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
31.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
32.本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的一种基于链路流量的环网节点间链路状态监测装置。
33.所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(smart media card,smc)、sd卡、闪存卡(flash card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
34.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献