本发明涉及数字化变电站技术领域,特别是涉及一种冗余环网节点监测方法和系统。
背景技术:
数字化变电站中网络通信技术经历了组网、直采直跳等多个阶段,评价的标准始终是在保证安全性的前提下,尽量简化网络拓扑,降低运维难度,降低整体成本。在这种思路下,既能保证网络路径无缝冗余,又能省去间隔内交换机和部分跨间隔交换机的hsr(high-availabilityseamlessring,高可靠性无缝冗余环网)冗余环网组网技术,获得了越来越多的应用。
hsr规约有低成本、无缝冗余的优点,同时也具备了环网特有的缺点,即多节点公用一条路径,一旦此路径因为环路上的一个节点导致拥塞,就可能引发整个环路通信无效。因此,如何识别冗余环网中的问题节点成为亟待解决的问题。
技术实现要素:
有鉴于此,提供一种冗余环网节点监测方法和系统,以识别冗余环网中的问题节点。
第一方面,提供一种冗余环网节点监测方法,其包括:
在报文进入冗余环网之前,在报文中增加表征转发次数的转发标记,其中,在报文从数据源节点输出时,该报文的转发次数为预设初始值,在报文在冗余环网中的节点的第一网口、第二网口之间被转发时,该报文的转发次数加1;
在监测到所述冗余环网的当前节点接收到的报文的频度超过预设的频度阈值时,检测所述当前节点接收到的报文的转发次数,获得检测结果;
在所述检测结果表明当前节点接收到的报文中超过预设比例的报文的转发次数均为所述预设初始值,确定当前节点的前一级节点为数据源节点且该数据源节点存在异常。
结合第一方面,在第一方面的一种可能实现方式中,本发明的冗余环网节点监测方法,还可以包括:
在报文进入冗余环网之前,在报文中增加通道延时信息,所述通道延时信息包括表征报文从前一级节点进入所述冗余环网到从本级节点进入所述冗余环网的本级延时;
获取从所述冗余环网进入当前节点的报文所携带的本级延时;
判断进入当前节点的报文所携带的本级延时是否超过预设的延时阈值;
若超过所述延时阈值,则确定当前节点的前一级节点存在处理异常。
结合第一方面或上述某些可能的实现方式,在第一方面的一种可能实现方式中,所述通道延时信息还包括表征从报文进入所述冗余环网到离开所述冗余环网的链路总延时。
结合第一方面或上述某些可能的实现方式,在第一方面的一种可能实现方式中,本发明的冗余环网节点监测方法,在报文进在确定当前节点的前一级节点为数据源节点且该数据源节点存在异常之后,还可以包括:
控制存在异常的数据源节点两侧的节点关闭该存在异常的数据源节点方向的冗余环网入口。
结合第一方面或上述某些可能的实现方式,在第一方面的一种可能实现方式中,所述转发标记和通道延时信息在为hsr功能数据添加hsr标识的同时增加,所述hsr标记在所述hsr功能数据由数据源节点经过内部连接端口进入双端节点时添加。
结合第一方面或上述某些可能的实现方式,在第一方面的一种可能实现方式中,所述转发标记在冗余环网规约中的位置是紧邻hsr标记且在hsr标记之后。
结合第一方面或上述某些可能的实现方式,在第一方面的一种可能实现方式中,所述通道延时信息在冗余环网规约中的位置是在crc1和fcs之间。
结合第一方面或上述某些可能的实现方式,在第一方面的一种可能实现方式中,本发明的冗余环网节点监测方法还可以包括:
在报文从冗余环网的第一网口、第二网口之间的转发缓冲区输出后,判断输出的报文的长度,在输出的报文的长度大于预设的长度大于预设的长度阈值时,在所述转发缓冲区的出口处丢弃该输出的报文。
第二方面,提供一种冗余环网节点监测系统,其包括:
添加单元,用于在报文进入冗余环网之前,在报文中增加表征转发次数的转发标记,其中,在报文从数据源节点输出时,该报文的转发次数为预设初始值,在报文在冗余环网中的节点的第一网口、第二网口之间被转发时,该报文的转发次数加1;
检测单元,用于在监测到所述冗余环网的当前节点接收到的报文的频度超过预设的频度阈值时,检测所述当前节点接收到的报文的转发次数,获得检测结果;
监测单元,用于在所述检测结果表明当前节点接收到的报文中超过预设比例的报文的转发次数均为所述预设初始值,确定当前节点的前一级节点为数据源节点且该数据源节点存在异常。
结合第二方面,在第二方面的一种可能实现方式中:
所述添加单元还可以用于在报文进入冗余环网之前,在报文中增加通道延时信息,所述通道延时信息包括表征报文从前一级节点进入所述冗余环网到从本级节点进入所述冗余环网的本级延时;
所述检测单元还用于获取从所述冗余环网进入当前节点的报文所携带的本级延时,判断进入当前节点的报文所携带的本级延时是否超过预设的延时阈值;
所述监测单元还用于在所述检测单元的检测结果是当前节点的报文所携带的本级延时超过预设的延时阈值时,确定当前节点的前一级节点存在处理异常。
根据上述的冗余环网节点监测方法和系统的方案,其是在hsr冗余环网规约中增加了转发标记,在报文进入冗余环网之前,会在报文中增加表征转发次数的转发标记,其中,在报文从数据源节点输出时,该报文的转发次数为预设初始值,在报文在冗余环网中的节点的第一网口、第二网口之间被转发时,该报文的转发次数加1,在监测到所述冗余环网的当前节点接收到的报文的频度超过预设的频度阈值时,检测所述当前节点接收到的报文的转发次数,获得检测结果,在所述检测结果表明当前节点接收到的报文中超过预设比例的报文的转发次数均为所述预设初始值,确定当前节点的前一级节点为数据源节点且该数据源节点存在异常,如此,可以监测冗余环网中的数据源节点是否出现异常,在数据源节点出现异常时,能即时检测到,以便做出相应处理,以避免因数据源节点失控造成整个环网崩溃。
附图说明
图1为本发明的一个实施例中的冗余环网节点监测方法的实现流程示意图;
图2为本发明的一个实施例中的冗余环网中转发节点的监测流程示意图;
图3为一具体应用示例中的变电站hsr环网组网示意图;
图4为使用fpga实现hsr的danh模块时的信号处理流程图;
图5为本发明的一个实施例中的冗余环网节点监测系统的组成结构示意图;
图6为本发明的另一个实施例中的冗余环网节点监测系统的组成结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
如图1所示,在其中一个实施例中,提供一种冗余环网节点监测方法,该实施例中的冗余环网节点监测方法包括:
步骤s101:在报文进入冗余环网之前,在报文中增加表征转发次数的转发标记,其中,在报文从数据源节点输出时,该报文的转发次数为预设初始值,在报文在冗余环网中的节点的第一网口、第二网口之间被转发时,该报文的转发次数加1;
需要说明的是,原有的针对基于iec62439-3标准中描述的hsr冗余环网规约中是不具有转发标记的,是无法识别环网输入报文的路由信息;在本实施例中,在报文中增加表征转发次数的转发标记说明对原有的hsr冗余环网规约进行了修改。
其中,预设初始值可以根据实际需要进行设定,一般取0,这种情况下,在报文从数据源节点输出时,该报文的转发次数为0,而报文在冗余环网的第一网口、第二网口之间被转发时,该报文的转发次数加1,可见,其转发标记表征了一个报文被转发的次数。
其中,第一网口、第二网口是指同一个终端节点的两个网口:a网口、b网口。
步骤s102:在监测到所述冗余环网的当前节点接收到的报文的频度超过预设的频度阈值时,检测所述当前节点接收到的报文的转发次数,获得检测结果;
这里,所述频度阈值的大小可以根据实际需要设定,可以是一个固定值,也可以是一个根据时间或者其他条件变化的动态值。
这里,接收到的报文的频度是指单位时间内接收到的报文的数量。
在本实施例中,监测所述冗余环网的当前节点接收到的报文的频度是否超过预设的频度阈值是为了监测当前节点是否收到异常的风暴报文,在监测到所述冗余环网的当前节点接收到的报文的频度超过预设的频度阈值时,说明当前节点收到异常的风暴报文。
在本实施例中,可以通过查询所述当前节点接收到的报文的转发标记的方式检测所述当前节点接收到的报文的转发次数。
步骤s103:在所述检测结果表明当前节点接收到的报文中超过预设比例的报文的转发次数均为所述预设初始值,确定当前节点的前一级节点为数据源节点且该数据源节点存在异常;
这里,预设比例的大小可以根据实际需要确定,例如90%,但不限于此;
在本实施例中,超过预设比例的报文的转发次数均为所述预设初始值说明当前节点接收到的报文中超过预设比例的报文均是从数据源节点直接传输过来的,而该数据源节点在单位时间内发出了大量的报文,可见其存在异常。
据此,根据上述本实施例中的方案,其修改了hsr冗余环网规约,在hsr冗余环网规约中增加了转发标记,在报文进入冗余环网之前,会在报文中增加表征转发次数的转发标记,其中,在报文从数据源节点输出时,该报文的转发次数为预设初始值,在报文在冗余环网中的节点的第一网口、第二网口之间被转发时,该报文的转发次数加1,在监测到所述冗余环网的当前节点接收到的报文的频度超过预设的频度阈值时,检测所述当前节点接收到的报文的转发次数,获得检测结果,在所述检测结果表明当前节点接收到的报文中超过预设比例的报文的转发次数均为所述预设初始值,确定当前节点的前一级节点为数据源节点且该数据源节点存在异常,如此,可以监测冗余环网中的数据源节点是否出现异常,在数据源节点出现异常时,能即时检测到,以便做出相应处理,以避免因数据源节点失控造成整个环网崩溃。
可选地,作为一个实施例,在图1所示的实施例的基础上,在确定当前节点的前一级节点为数据源节点且该数据源节点存在异常之后,还可以包括:控制存在异常的数据源节点两侧的节点关闭该存在异常的数据源节点方向的冗余环网入口,以达到阻断风暴报文的目的。
具体地,存在异常的数据源节点两侧的节点可以通过接收到的报文的转发次数判断该异常节点是不是自身的前一级节点,若是,则关闭该存在异常的数据源节点方向的冗余环网入口。
上述实施例中的转发标记在冗余环网规约中的位置可以根据实际需要选取,但较佳的设置位置是紧邻hsr标记且在hsr标记之后,这是因为hsr标记在冗余环网规约中的位置靠前且位于有效数据之前,将转发标记在冗余环网规约中的位置选在紧邻hsr标记且在hsr标记之后,能够使得接收测(例如当前节点)尽早的获取到转发次数,例如,对于转发标记的字节数为2的情况,只需要延时24字节,就可以获得转发标记以确定报文来源。
在其中一个实施例中,上述的转发标记可以在为hsr功能数据添加hsr标识的同时增加,所述hsr标记在所述hsr功能数据由数据源节点经过内部连接端口进入双端节点(doubleattachednodeimplementinghsr,danh)时添加。
具体地,对于数据源节点处理流程是:hsr功能数据由一个终端节点经过内部连接(interlink)端口进入双端节点(danh),在添加hsr标记的同时,增加转发标记。这里,在添加hsr标记的同时增加转发标记是考虑到hsr标记是在普通报文转hsr格式的时候添加的,这个时刻报文长度发生了变化,按照冗余环网规约的规定,需要有相应的处理机制(例如需要修改crc(cyclicredundancycheck,循环冗余校验码)校验值),而增加转发标记也会导致报文长度发生变化,在同一个位置改变报文长度,会简化后面环节的处理。
在如上的几个实施例中,提供了监测数据源节点是否存在异常的方式。在其中一个实施例中,还提供了监测数据源节点或者转发节点是否存在异常的方式。具体地,如图2所示,本发明的冗余环网节点监测方法,还包括:
步骤s201:在报文进入冗余环网之前,在报文中增加通道延时信息,所述通道延时信息包括表征报文从前一级节点进入所述冗余环网到从本级节点进入所述冗余环网的本级延时;
需要说明的是,通道延时信息也是原有的针对基于iec62439-3标准中描述的hsr冗余环网规约中所不具有的。
由于本级延时表征的是报文从前一级节点进入所述冗余环网到从本级节点进入所述冗余环网的时长,因此,可以用报文从本级节点进入所述冗余环网的时标(或者称为时刻)减去报文从前一级节点进入所述冗余环网的时标,得到的差值即为本级延时。
步骤s202:获取从所述冗余环网进入当前节点的报文所携带的本级延时;
为了便于理解这里的本级延时,以下进行举例说明。对于由终端节点1、终端节点2、终端节点3、...、终端节点m-2、终端节点m-1、终端节点m、...、终端节点n等n个终端节点依次构成的冗余环网,其中,m小于n;若当前节点是终端节点m,检测报文是从终端节点m-1传输来的,由于获取的是从所述冗余环网进入当前节点的报文所携带的本级延时,也就是说,报文还未从当前节点进入冗余环网,因此,该进入终端节点m的报文中携带的本级延时是从终端节点m-2进入所述冗余环网到从终端节点m-1进入所述冗余环网的本级延时,即在终端节点m-1的本级延时。
步骤s203:判断进入当前节点的报文所携带的本级延时是否超过预设的延时阈值,若是,进入步骤s204;
步骤s204:确定当前节点的前一级节点存在处理异常。
其中,也可以进一步通过检测进入当前节点的报文所携带的转发次数是否为所述预设初始值的方式确定当前节点的前一级节点是数据源节点还是转发节点,其中,在当前节点的报文所携带的转发次数为所述预设初始值时,确定当前节点的前一级节点是数据源节点,在当前节点的报文所携带的转发次数不为所述预设初始值时,确定当前节点的前一级节点是转发节点。这样,可以进一步判定存在处理异常的前一级节点的类型。
需要说明的是,本实施例中的检测节点是否存在处理异常的过程与上述实施例中的检测数据源节点是否异常的过程也可以同时进行。此外,本领域技术人员应该可以理解的是,对于冗余环网中各个终端节点,有时可以作为数据源节点,有时也可以作为转发节点。
此外,为了便于准确测量报文路径延时,在其中一个实施例中,所述通道延时信息还包括表征从报文进入所述冗余环网到离开所述冗余环网的链路总延时。
在其中一个实施例中,所述转发标记和通道延时信息在为hsr功能数据添加hsr标识的同时增加,所述hsr标记在所述hsr功能数据由数据源节点经过内部连接端口进入双端节点时添加。也就是说,在为一个普通报文添加hsr标识以转为hsr格式的报文的同时添加转发标记和通道延时信息,如前所述,这种处理方式可以简化处理流程。
其中,通道延时信息在冗余环网规约中的位置可以实际需要进行选定。较佳的设置方式是:所述通道延时信息在冗余环网规约中的位置是在crc1和fcs之间,即将通道延时信息设置在报文尾部,这样做可以维持原报文,以便于兼容现有的测试工具。其中,crc1和fcs均为现有的冗余环网规约中已有的字段,在此不予赘述。
其中,通道延时信息也可以根据实际需要选定。
如表1所示,为一种具体的修改原有的hsr冗余环网规约得到的修改后的hsr余环网规约的内容。但转发标记和通道延时信息的设置位置和字节数也不限于表1中提供的方式。
表1修改后的hsr余环网规约
此外,在其中一个实施例中,本发明的种冗余环网节点监测方法还可以包括:在报文从冗余环网的第一网口、第二网口之间的转发缓冲区输出后,判断输出的报文的长度,在输出的报文的长度大于预设的长度大于预设的长度阈值时,在所述转发缓冲区的出口处丢弃该输出的报文。
其中,长度阈值的大小可以根据实际需要选定。具体地,正常以太网报文经过上述方式处理后(即增加了转发标记和通道延时信息),不会超出1534字节,因此,可以将这里的长度阈值设为1534字节或者比1534字节大若干字节的数值。
具体应用示例
上述实施例中的冗余环网节点监测方法可以较佳的应用于变电站hsr冗余环网组网中中。为了便于理解本发明的方案,以下通过一个具体应用示例对本发明方案进行阐述。
图3中的母差保护是典型的跨间隔保护,其中多个线路间隔的数据需要经跨间隔环网汇集到母差保护后进行计算。由于这些节点都需要使用统一的环网通道,多节点环网阻塞的可能性会大幅升高。
上述实施例中的提供的冗余环网节点监测方法,即对hsr冗余环网规约的改进方式,可以针对多节点环网的固有缺陷,通过增加链路层规约中的转发标记和通道延时信息,可以识别环网中的问题节点,避免因一个节点失控造成整网崩溃的致命缺陷,也可及时发现无效报文,及时丢弃。该方式在满足向前兼容性的同时,具备信息简单且完备的特点。
考虑到报文传输的实时性,可以使用fpga(field-programmablegatearray,即现场可编程门阵列)实现hsr冗余环网功能。图2是一个典型的hsrdanh实现框图,其中包含4个数据路径,分别为内部连接端口到a/b网口和a网口、b网口之间的数据交互。具体采用以下的技术方案来实现:
1)数据源节点处理流程如下:
1.1)hsr功能数据由一个终端节点经过内部连接端口进入双端节点(danh),在添加hsr标记的同时,增加转发标记和通道延时信息,其中链路总延时和本级延时均为0-tin(报文进入双端节点的时刻);
1.2)报文离开源节点的a网口、b网口进入环网的时刻,将路径总延时和本级延时改写为tout1(报文进入环网的时刻)-tin1;
2)转发节点或数据目的节点处理如下:
2.1)报文经a网口或者b网口进入一个节点后,先判断本节点是不是数据目的节点,以决定是将报文转发还是送往内部连接端口;
其中,判断本节点是不是数据目的节点是按照hsr标准实施的,主要方式是检查网报文目的地址,对于单播报文匹配或者组播、广播报文,判定本节点是数据目的节点,将报文送往内部连接端口,反之,判定本节点为转发节点,将报文进行转发处理。
2.2)在报文经a网口或者b网口进入是的转发节点时,检测报文中所携带的本级延时字段,由于hsr环网规约中规定的终端节点对于转发报文的处理优先级高于本地报文,所以报文转发延时的上限很容易设定(对于千兆网来说,可以设定为5us),如果这个延时过高,说明前一级的转发节点处理存在异常;
2.2)在报文经a网口或者b网口进入是的转发节点时,还将路径总延时和本级延时减去tin2(报文进入该转发节点的网口的时刻);
2.3)在报文进入转发缓冲区的同时将报文的转发次数加1,并通过报文所携带的转发标记判断前一级节点是否为数据源节点,若是,记录进入报文的频度,以判断进入报文的频度是否正常;
2.4)需要转发的报文在转发缓冲区缓冲24字节后输出,判断转发报文是否超长,若报文超长,则在缓冲区出口丢弃超长报文;同时判断帧校验是否错误,统计错误日志;在报文离开本转发节点时,将路径总延时改写为tout2(报文从该转发节点进入环网的时刻)-tin1,本级延时改写为tout2-tin2。
根据上述实施例中的冗余环网节点监测方法,本发明还提供一种冗余环网节点监测系统。在其中一个实施例中,如图5所示,本发明实施例的冗余环网节点监测系统包括添加单元301、检测单元302和监测单元303,其中:
添加单元301,用于在报文进入冗余环网之前,在报文中增加表征转发次数的转发标记,其中,在报文从数据源节点输出时,该报文的转发次数为预设初始值,在报文在冗余环网中的节点的第一网口、第二网口之间被转发时,该报文的转发次数加1;
检测单元302,用于在监测到所述冗余环网的当前节点接收到的报文的频度超过预设的频度阈值时,检测所述当前节点接收到的报文的转发次数,获得检测结果;
监测单元303,用于在所述检测结果表明当前节点接收到的报文中超过预设比例的报文的转发次数均为所述预设初始值,确定当前节点的前一级节点为数据源节点且该数据源节点存在异常。
在其中一个实施例中,添加单元301还用于在报文进入冗余环网之前,在报文中增加通道延时信息,所述通道延时信息包括表征报文从前一级节点进入所述冗余环网到从本级节点进入所述冗余环网的本级延时;检测单元302还用于获取从所述冗余环网进入当前节点的报文所携带的本级延时,判断进入当前节点的报文所携带的本级延时是否超过预设的延时阈值;监测单元303还用于在检测单元302的检测结果是检测结果是当前节点的报文所携带的本级延时超过预设的延时阈值时,确定当前节点的前一级节点存在处理异常。
在其中一个实施例中,所述通道延时信息还包括表征从报文进入所述冗余环网到离开所述冗余环网的链路总延时。
在其中一个实施例中,如图6所示,本发明的冗余环网节点监测系统,还可以包括:
控制单元304,用于控制存在异常的数据源节点两侧的节点关闭该存在异常的数据源节点方向的冗余环网入口。
在其中一个实施例中,所述转发标记和通道延时信息可以在为hsr功能数据添加hsr标识的同时增加,所述hsr标记在所述hsr功能数据由数据源节点经过内部连接端口进入双端节点时添加。
在其中一个实施例中,所述转发标记在冗余环网规约中的位置可以是紧邻hsr标记且在hsr标记之后。
在其中一个实施例中,所述通道延时信息在冗余环网规约中的位置可以是在crc1和fcs之间。
在其中一个实施例中,在报文从冗余环网的第一网口、第二网口之间的转发缓冲区输出后,判断输出的报文的长度,在输出的报文的长度大于预设的长度大于预设的长度阈值时,在所述转发缓冲区的出口处丢弃该输出的报文。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。