CN112260803B - 一种fc设备接收端通信冗余处理方法 - Google Patents
一种fc设备接收端通信冗余处理方法 Download PDFInfo
- Publication number
- CN112260803B CN112260803B CN202011221332.4A CN202011221332A CN112260803B CN 112260803 B CN112260803 B CN 112260803B CN 202011221332 A CN202011221332 A CN 202011221332A CN 112260803 B CN112260803 B CN 112260803B
- Authority
- CN
- China
- Prior art keywords
- channel
- data
- module
- information recording
- recording table
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/03—Arrangements for fault recovery
- H04B10/032—Arrangements for fault recovery using working and protection systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/60—Receivers
- H04B10/66—Non-coherent receivers, e.g. using direct detection
- H04B10/69—Electrical arrangements in the receiver
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种FC设备接收端通信冗余处理方法,在数据接收端设有接收端通信冗余处理模块;接收端通信冗余处理模块包括A通道、B通道、冗余控制模块、数据信息记录表模块,A通道、B通道分别设有数据接收模块、端口状态模块;A通道、B通道的端口状态模块对接收的FC数据帧帧头进行解析判断,确定是否关闭A通道或B通道,避免两条相互冗余的光纤链路数据传输的同步性较差而使冗余处理负担过重;在数据信息记录表模块中设有数据信息记录表,数据信息记录表内记录有已输出的所有FC数据帧的索引信息,经数据信息记录表模块输出的FC数据帧全部经数据信息记录表冗余过滤处理,确保不会出现重复接收FC数据帧的情况,从而保证了通信冗余处理的稳定性和可靠性。
Description
技术领域
本发明涉及FC光纤通道数据传输冗余技术领域,具体涉及一种FC设备接收端通信冗余处理方法。
背景技术
FC光纤通道环境中,对高速传输数据的链路可靠性和稳定性要求非常高,一旦网络中某个节点链路出故障,将会引起部分甚至整个网络通信中断,在特定的场合,造成工程的停滞,产生重大经济损失;目前FC总线已逐渐开始采用冗余结构来提高系统的可靠性,其方法是系统采用两套独立的交换系统,两套系统同时工作,每个节点都包含2个FC端口,两个端口同时工作,在此冗余备份方式下,即使某条链路甚至一套交换系统出现故障,整个系统依旧可以正常工作。
但当前FC光纤通道数据传输冗余机制仍存在如下不足:一、对两条相互冗余的光纤链路数据传输的实时性要求极高,现有冗余机制无法满足此要求;二、光纤链路数据传输时,一旦出现FC数据帧出现严重乱序情况,会造成重复接收FC帧,或出现FC数据丢帧现象,造成通信不稳定。
申请号为201510900259.6的发明专利揭示了一种基于光纤通道FC帧字段的节点双端口接收冗余方法,其采用根据校验第一端口和第二端口接收的FC数据的源标识符SID、始发端交换标识符OXID、序列标识符SEQ-ID、序列计数标识符SEQ-CNT对第一端口接收的数据及第二端口接收的数据进行冗余;当第一端口和第二端口接收数据的时间不一致时,则先进行时间判断后再根据上述方法进行数据接收冗余;但此方法存在一个严重问题:即第一端口和第二端口接收数据的时间不一致时,对时间进行判断时其设置有一个阈值,当第一端口和第二端口接收数据的时间差的绝对值不小于设置的阈值时,系统不再做冗余判断,全部接收第一端口和第二端口接收的数据,因此当第一端口和第二端口接收数据出现严重乱序情况,造成当第一端口和第二端口接收数据的时间差的绝对值不小于设置的阈值时,会造成大量重复接收FC帧数据,当大量重复接收FC帧数据传输至上位机处理时,会造成上位机数据处理的负担过重,严重时会造成数据阻塞,使上位机无法实时对数据进行处理。
发明内容
为了克服背景技术中的不足,本发明公开了一种FC设备接收端通信冗余处理方法,在数据接收端设有接收端通信冗余处理模块;所述接收端通信冗余处理模块包括A通道、B通道、冗余控制模块、数据信息记录表模块,所述A通道、B通道分别设有数据接收模块、端口状态模块;所述A通道、B通道的端口状态模块对数据接收模块接收的FC数据帧帧头进行解析,判断A通道或B通道的通信状况,当判断A通道或B通道出现通信状况较差时,向接收端通信冗余处理模块发出关闭A通道或B通道的信息,接收端通信冗余处理模块直接关闭A通道或B通道,避免两条相互冗余的光纤链路数据传输的同步性较差而使冗余处理负担过重,造成数据传输实时性无法满足要求的问题;
同时,在数据信息记录表模块中设有数据信息记录表,数据信息记录表内记录有数据信息记录表模块已输出的所有FC数据帧的索引信息,当A通道或B通道接收到的FC数据帧经数据信息记录表模块输出时,数据信息记录表模块在输出FC数据帧前均与数据信息记录表内记录的索引信息进行比对,若需输出的FC数据帧在数据信息记录表内已有索引信息记录,则将预输出的FC数据帧直接丢弃,不予输出;若需输出的FC数据帧在数据信息记录表内没有索引信息记录,则将需输出的FC数据帧继续向后输出,同时更新数据信息记录表的已输出FC数据帧的索引信息;因此经数据信息记录表模块输出的FC数据帧全部经冗余过滤处理,确保不会出现重复接收FC数据帧的情况,从而降低了后续上位机数据处理的负担,保证了上位机对数据实时进行处理的需求,同时避免出现FC数据丢帧现象,保证了FC通信的稳定性和可靠性。
为了实现所述发明目的,本发明采用如下技术方案:一种FC设备接收端通信冗余处理方法,在数据接收端设有接收端通信冗余处理模块;所述接收端通信冗余处理模块包括A通道、B通道、冗余控制模块、数据信息记录表模块,所述A通道、B通道分别设有数据接收模块、端口状态模块;
所述冗余控制模块在初始工作状态下,对A通道或B通道的数据传输均为打开状态;所述端口状态模块实时解析A通道或B通道的数据接收模块连续接收到的设定n帧FC数据帧帧头的{SID,OXID}集合,检测相同源标识符SID的始发端交换标识符OXID是否均为非连续,若检测到设定连续n帧相同源标识符SID的始发端交换标识符OXID均为非连续,则端口状态模块发出A通道或B通道的关闭信号至冗余控制模块,冗余控制模块关闭A通道或B通道的数据传输;若检测到设定连续n帧相同源标识符SID的始发端交换标识符OXID为区别于上述状态的其它状态时,则维持冗余控制模块对A通道或B通道的数据传输打开状态保持不变;所述参数n是根据端口状态模块检测到的A通道或B通道的通信质量来设定,若端口状态模块连续检测到A通道或B通道出现相同源标识符SID的始发端交换标识符OXID均为非连续,表示A通道或B通道通信质量较差,此时为保证FC设备接收端通信正常,强行关闭A通道或B通道,避免A通道或B通道通信质量过差出现两个通道数据接收时间差过大、乱序数据帧过多,造成冗余处理负担大,甚至导致无法实时进行冗余处理的问题;当FC设备接收端冗余处理速度较高时,n值容许设置较大,当FC设备接收端冗余处理速度较低时,n值容许设置较小;对已经设计生产完成的FC设备接收端,其所设置的最大值n应保证A通道或B通道在出现通信质量较差时,FC设备接收端能实时处理接收数据的冗余处理;
所述冗余控制模块对A通道或B通道的数据传输为关闭状态时,端口状态模块实时解析A通道或B通道的数据接收模块连续接收到的设定m帧FC数据帧帧头的{SID,OXID}集合,检测相同源标识符SID的始发端交换标识符OXID是否均为连续递增,若检测到设定连续m帧相同源标识符SID的始发端交换标识符OXID均为连续递增,则发出A通道或B通道的打开信号至冗余控制模块,冗余控制模块打开A通道或B通道的数据传输;若检测到设定连续m帧相同源标识符SID的始发端交换标识符OXID为区别于上述状态的其它状态时,则维持冗余控制模块对A通道或B通道的数据传输关闭状态保持不变;所述参数m也是根据端口状态模块检测到的A通道或B通道的通信质量来进行设定,m与n设定条件及数值的不同,是防止A通道或B通道在实际工作过程中,由于短时通信质量的波动,导致A通道或B通道出现频繁关闭、打开的状况;
所述数据信息记录表模块内设有数据信息记录表,数据信息记录表内记录有数据信息记录表模块已输出的所有FC数据帧的索引信息。
当冗余控制模块对A通道或B通道的数据传输状态为打开状态,A通道或B通道接收到的FC数据帧经数据信息记录表模块输出时,均需与数据信息记录表内记录的索引信息进行比对,若需输出的FC数据帧在数据信息记录表内已有索引信息记录,则将需输出的FC数据帧直接丢弃,不予输出;若需输出的FC数据帧在数据信息记录表内没有索引信息记录,则将需输出的FC数据帧继续向后输出,同时更新数据信息记录表的已输出FC数据帧的索引信息。
进一步的,所述数据信息记录表为二维矩阵表,其横向用源标识符SID表征一组元组数组,其纵向表征不同源标识符SID的元组数组;所述一组元组数组设有i个元组,每个元组用{初始值,累加值}的形式记录数据信息记录表模块已输出的FC数据帧的索引信息;所有元组数组初始值均为{0,0};
如下表一所示,为一个具有四个源标识符SID、四元组数组的数据信息记录表:
SID | 元组A | 元组B | 元组C | 元组D |
0x01 | {2,0} | {6,2} | {4,0} | {0,0} |
0x02 | {1,0} | {3,0} | {6,1} | {0,0} |
0x03 | {0,0} | {8,2} | {10,0} | {0,0} |
0x14 | {5,0} | {3,0} | {0,0} | {0,0} |
…… | …… | …… | …… | …… |
表一
其横向用同一个源标识符SID表征一组元组数组,一组元组数组设有四个元组,每个元组用{初始值,累加值}的形式记录数据信息记录表模块已输出的FC数据帧的索引信息;所有元组数组初始值均为{0,0};其纵向表征有四个源标识符SID的元组数组;以源标识符SID为0x01的元组数组为例,对元组A、对元组B、对元组C、对元组D所代表的具体含义做出说明:元组A{2,0}代表已收到始发端交换标识符OXID为1、2的两帧数据,元组B{6,2}代表已收到始发端交换标识符OXID为6、7、8的三帧数据,元组C{4,0}代表已收到始发端交换标识符OXID为4的一帧数据,元组D{0,0}代表没有记录已收到数据帧;源标识符SID为0x01的元组数组总体记录为:源标识符SID为0x01的元组数组共已记录到始发端交换标识符OXID为1、2、4、6、7、8六帧数据,其中始发端交换标识符OXID为3、5的数据帧及8以后的数据帧尚未收到。
进一步的,所述冗余控制模块对A通道或B通道的数据传输状态共有四种情况:
一、冗余控制模块对A通道和B通道的数据传输状态均为打开状态,此时A通道和B通道接收到的FC数据帧通过冗余控制模块传输至数据信息记录表模块进行处理;
二、冗余控制模块对A通道和B通道的数据传输状态均为关闭状态,此时A通道和B通道接收到的FC数据帧传输至冗余控制模块后直接丢弃,不再向后传输;
三、冗余控制模块对A通道数据传输状态为打开,对B通道的数据传输状态均为关闭,此时A通道接收到的FC数据帧通过冗余控制模块传输至数据信息记录表模块进行处理,B通道接收到的FC数据帧传输至冗余控制模块后直接丢弃,不再向后传输;
四、冗余控制模块对A通道数据传输状态为关闭,对B通道的数据传输状态均为打开,此时A通道接收到的FC数据帧传输至冗余控制模块后直接丢弃,不再向后传输,B通道接收到的FC数据帧通过冗余控制模块传输至数据信息记录表模块进行处理;
数据信息记录表模块的冗余控制流程如下所述:
(a)当数据信息记录表模块检测到A通道和B通道均为关闭时,则不接收任一通道的数据,清空数据信息记录表,所有元组数组均设为初始值{0,0};
(b)当数据信息记录表模块检测到A通道和B通道均为打开时,按照以下步骤进行数据选择:
(i)A通道数据到达,选取A通道FC数据的SID选取对应的元组数组,参见表1,然后选取FC数据的OXID,以SID=0x01为例,做一下判断:
①如果OXID<=初始值A1+累加值A1,执行步骤⑤,否则执行步骤②;
②如果初始值B1<=OXID<=初始值B1+累加值B1,执行步骤⑤,否则执行步骤③;
③如果初始值C1<=OXID<=初始值C1+累加值C1,执行步骤⑤,否则执行步骤④;
④如果初始值D1<=OXID<=初始值D1+累加值D1,执行步骤⑤,否则接收FC数据,同时更新数据信息记录表;
⑤丢弃数据包,不做额外处理;
(ii)B通道数据到达,选取B通道FC数据的SID选取对应的元组数组,然后选取FC数据的OXID,处理方式类似A通道数据处理,不再赘述;
(c)当冗余控制模块检测到A通道的端口状态为打开和B通道的端口状态为非激活状态时,按照以下步骤进行数据选择:
(i)A通道数据到达,处理方式参考(b);
(ii)B通道数据到达,丢弃数据包,不做额外处理;
(d)当冗余控制模块检测到A通道的端口状态为关闭和B通道的端口状态为打开时,按照以下步骤进行数据选择:
(i)A通道数据到达,丢弃数据包,不做额外处理;
(ii)B通道数据到达,处理方式参考(b);
冗余控制流程具体参见附图2。
进一步的,当数据信息记录表模块输出FC数据帧时,根据输出FC数据帧的源标识符SID启用一行元组数组,对数据信息记录表模块输出的FC数据帧的始发端交换标识符OXID做索引信息记录;当数据信息记录表模块输出FC数据帧的始发端交换标识符OXID连续时,其索引信息记录在同一元组中,当数据信息记录表模块输出FC数据帧的始发端交换标识符OXID出现间断时,将按顺序启用新的元组做索引信息记录;当相邻两个元组的索引信息间断点消失时,将相邻两个元组的索引信息进行合并,即将后一个元组的索引信息合并在前一个元组的索引信息中;数据信息记录表更新流程具体参见附图4。
进一步的,当数据信息记录表模块输出FC数据帧,出现新的FC数据帧的源标识符SID时,将启用新一行元组数组,对数据信息记录表模块输出的具有新的源标识符SID的FC数据帧的始发端交换标识符OXID做索引信息记录;如表一所示,数据信息记录表模块输出的FC数据帧共有四个源标识符SID:0x01、0x02、0x03、0x14,因此共启用四行元组数组。
进一步的,所述n、m值根据FC设备实际通信状况动态设定;所述n、m设定值在1-8之间。
进一步的,所述i值根据FC设备实际通信状况动态设定;所述i设定值在4-10之间。
所述n、m、i均设置有初始值,如n初始设定为4、m初始设定为3、i初始设定为4;但是当FC设备通信质量发生变化,通信质量下降时,A通道或B通道会连续收到4帧相同源标识符SID的始发端交换标识符OXID均为非连续,此时A通道或B通道均会被关闭,造成通信中断,但为保证重要数据仍能正常传输,系统会自动关闭部分非重要、数据量较大的数据通信,且自动调整n、m、i的设定值,如n调整设定为7、m调整设定为2、i调整设定为9,此时A通道或B通道会恢复至打开状态,以保证数据接收端的A通道或B通道仍能正常接收数据,且保证仍能实时进行数据冗余处理,以确保重要数据的正常传输。
由于采用如上所述的技术方案,本发明具有如下有益效果:本发明公开的一种FC设备接收端通信冗余处理方法,在数据接收端设有接收端通信冗余处理模块;所述接收端通信冗余处理模块包括A通道、B通道、冗余控制模块、数据信息记录表模块,所述A通道、B通道分别设有数据接收模块、端口状态模块;所述A通道、B通道的端口状态模块对数据接收模块接收的FC数据帧帧头进行解析,判断A通道或B通道的通信状况,当判断A通道或B通道出现通信状况较差时,向接收端通信冗余处理模块发出关闭A通道或B通道的信息,接收端通信冗余处理模块直接关闭A通道或B通道,避免两条相互冗余的光纤链路数据传输的同步性较差而使冗余处理负担过重,造成数据传输实时性无法满足要求的问题;同时,在数据信息记录表模块中设有数据信息记录表,数据信息记录表内记录有数据信息记录表模块已输出的所有FC数据帧的索引信息,当A通道或B通道接收到的FC数据帧经数据信息记录表模块输出时,数据信息记录表模块在输出FC数据帧前均与数据信息记录表内记录的索引信息进行比对,若需输出的FC数据帧在数据信息记录表内已有索引信息记录,则将需输出的FC数据帧直接丢弃,不予输出;若需输出的FC数据帧在数据信息记录表内没有索引信息记录,则将需输出的FC数据帧继续向后输出,同时更新数据信息记录表的已输出FC数据帧的索引信息;因此经数据信息记录表模块输出的FC数据帧全部经冗余过滤处理,确保不会出现重复接收FC数据帧的情况,从而降低了后续上位机数据处理的负担,保证了上位机对数据实时进行处理的需求,同时避免出现FC数据丢帧现象,保证了通信的稳定性和可靠性;本发明的FC设备接收端通信冗余处理方法支持FC-AE-ASM、FC-AE-1553、FC-AV等通信协议的数据帧接收冗余的处理。
附图说明
图1为FC设备接收端通信冗余处理方法结构框图;
图2为冗余控制流程图;
图3为数据信息记录表结构示意图;
图4为数据信息记录表更新流程示意图。
具体实施方式
通过下面的实施例可以详细的解释本发明,公开本发明的目的旨在保护本发明范围内的一切技术改进。
一种FC设备接收端通信冗余处理方法,在数据接收端设有接收端通信冗余处理模块;所述接收端通信冗余处理模块包括A通道、B通道、冗余控制模块、数据信息记录表模块,所述A通道、B通道分别设有数据接收模块、端口状态模块;
所述冗余控制模块在初始工作状态下,对A通道或B通道的数据传输均为打开状态;所述端口状态模块实时解析A通道或B通道的数据接收模块连续接收到的设定4帧FC数据帧帧头的{SID,OXID}集合,检测相同源标识符SID的始发端交换标识符OXID是否均为非连续,若检测到设定连续4帧相同源标识符SID的始发端交换标识符OXID均为非连续,则端口状态模块发出A通道或B通道的关闭信号至冗余控制模块,冗余控制模块关闭A通道或B通道的数据传输;若检测到设定连续4帧相同源标识符SID的始发端交换标识符OXID为区别于上述状态的其它状态时,则维持冗余控制模块对A通道或B通道的数据传输打开状态保持不变;
所述冗余控制模块对A通道或B通道的数据传输为关闭状态时,端口状态模块实时解析A通道或B通道的数据接收模块连续接收到的设定3帧FC数据帧帧头的{SID,OXID}集合,检测相同源标识符SID的始发端交换标识符OXID是否均为连续递增,若检测到设定连续3帧相同源标识符SID的始发端交换标识符OXID均为连续递增,则发出A通道或B通道的打开信号至冗余控制模块,冗余控制模块打开A通道或B通道的数据传输;若检测到设定连续3帧相同源标识符SID的始发端交换标识符OXID为区别于上述状态的其它状态时,则维持冗余控制模块对A通道或B通道的数据传输关闭状态保持不变;
所述数据信息记录表模块内设有数据信息记录表,数据信息记录表内记录有数据信息记录表模块已输出的所有FC数据帧的索引信息;
当冗余控制模块对A通道或B通道的数据传输状态为打开状态时,A通道或B通道接收到的FC数据帧经数据信息记录表模块输出时,均需与数据信息记录表内记录的索引信息进行比对,若需输出的FC数据帧在数据信息记录表内已有索引信息记录,则将需输出的FC数据帧直接丢弃,不予输出;若需输出的FC数据帧在数据信息记录表内没有索引信息记录,则将需输出的FC数据帧继续向后输出,同时更新数据信息记录表的已输出FC数据帧的索引信息。
所述数据信息记录表为二维矩阵表,其横向用源标识符SID表征一组元组数组,其纵向表征不同源标识符SID的元组数组;所有元组数组初始值均为{0,0};
如下表一所示,为一个具有四个源标识符SID、四个元组数组的数据信息记录表:
SID | 元组A | 元组B | 元组C | 元组D |
0x01 | {2,0} | {6,2} | {4,0} | {0,0} |
0x02 | {1,0} | {3,0} | {6,1} | {0,0} |
0x03 | {0,0} | {8,2} | {10,0} | {0,0} |
0x14 | {5,0} | {3,0} | {0,0} | {0,0} |
…… | …… | …… | …… | …… |
表一
其横向用同一个源标识符SID表征一组元组数组,一组元组数组设有四个元组,每个元组用{初始值,累加值}的形式记录数据信息记录表模块已输出的FC数据帧的索引信息;其纵向表征有四个源标识符SID的元组数组;以源标识符SID为0x01的元组数组为例,对元组A、对元组B、对元组C、对元组D所代表的具体含义做出说明:元组A{2,0}代表已收到始发端交换标识符OXID为1、2的两帧数据,元组B{6,2}代表已收到始发端交换标识符OXID为6、7、8的三帧数据,元组C{4,0}代表已收到始发端交换标识符OXID为4的一帧数据,元组D{0,0}代表没有记录已收到数据帧;源标识符SID为0x01的元组数组总体记录为:源标识符SID为0x01的元组数组共已记录到始发端交换标识符OXID为1、2、4、6、7、8六帧数据,其中始发端交换标识符OXID为3、5的数据帧及8以后的数据帧尚未收到。
所述冗余控制模块对A通道或B通道的数据传输状态共有四种情况:
一、冗余控制模块对A通道和B通道的数据传输状态均为打开状态,此时A通道和B通道接收到的FC数据帧通过冗余控制模块传输至数据信息记录表模块进行处理;
二、冗余控制模块对A通道和B通道的数据传输状态均为关闭状态,此时A通道和B通道接收到的FC数据帧传输至冗余控制模块后直接丢弃,不再向后传输;
三、冗余控制模块对A通道数据传输状态为打开,对B通道的数据传输状态均为关闭,此时A通道接收到的FC数据帧通过冗余控制模块传输至数据信息记录表模块进行处理,B通道接收到的FC数据帧传输至冗余控制模块后直接丢弃,不再向后传输;
四、冗余控制模块对A通道数据传输状态为关闭,对B通道的数据传输状态均为打开,此时A通道接收到的FC数据帧传输至冗余控制模块后直接丢弃,不再向后传输,B通道接收到的FC数据帧通过冗余控制模块传输至数据信息记录表模块进行处理;
数据信息记录表模块的冗余控制流程如下所述:
(a)当数据信息记录表模块检测到A通道和B通道均为关闭时,则不接收任一通道的数据,清空数据信息记录表,所有元组数组均设为初始值{0,0};
(b)当数据信息记录表模块检测到A通道和B通道均为打开时,按照以下步骤进行数据选择:
(i)A通道数据到达,选取A通道FC数据的SID选取对应的元组数组,参见表1,然后选取FC数据的OXID,以SID=0x01为例,做一下判断:
①如果OXID<=初始值A1+累加值A1,执行步骤⑤,否则执行步骤②;
②如果初始值B1<=OXID<=初始值B1+累加值B1,执行步骤⑤,否则执行步骤③;
③如果初始值C1<=OXID<=初始值C1+累加值C1,执行步骤⑤,否则执行步骤④;
④如果初始值D1<=OXID<=初始值D1+累加值D1,执行步骤⑤,否则接收FC数据,同时更新数据信息记录表;
⑤丢弃数据包,不做额外处理;
(ii)B通道数据到达,选取B通道FC数据的SID选取对应的元组数组,然后选取FC数据的OXID,处理方式类似A通道数据处理,不再赘述;
(c)当冗余控制模块检测到A通道的端口状态为打开和B通道的端口状态为非激活状态时,按照以下步骤进行数据选择:
(i)A通道数据到达,处理方式参考(b);
(ii)B通道数据到达,丢弃数据包,不做额外处理;
(d)当冗余控制模块检测到A通道的端口状态为关闭和B通道的端口状态为打开时,按照以下步骤进行数据选择:
(i)A通道数据到达,丢弃数据包,不做额外处理;
(ii)B通道数据到达,处理方式参考(b);
冗余控制流程具体参见附图2。
当数据信息记录表模块输出FC数据帧时,根据输出FC数据帧的源标识符SID启用一行元组数组,对数据信息记录表模块输出的FC数据帧的始发端交换标识符OXID做索引信息记录;当数据信息记录表模块输出FC数据帧的始发端交换标识符OXID连续时,其索引信息记录在同一元组中,当数据信息记录表模块输出FC数据帧的始发端交换标识符OXID出现间断时,将按顺序启用新的元组做索引信息记录;当相邻两个元组的索引信息间断点消失时,将相邻两个元组的索引信息进行合并,即将后一个元组的索引信息合并在前一个元组的索引信息中;数据信息记录表更新流程具体参见附图4。
当数据信息记录表模块输出FC数据帧,出现新的FC数据帧的源标识符SID时,将启用新一行元组数组,对数据信息记录表模块输出的具有新的源标识符SID的FC数据帧的始发端交换标识符OXID做索引信息记录;如表一所示,数据信息记录表模块输出的FC数据帧共有四个源标识符SID:0x01、0x02、0x03、0x14,因此共启用四行元组数组。
所述n、m、i值根据FC设备实际通信状况动态设定;所述n、m设定值在1-8之间;所述i设定值在4-10之间;当FC设备通信质量发生变化,通信质量下降,A通道或B通道会连续收到4帧相同源标识符SID的始发端交换标识符OXID均为非连续,此时A通道或B通道均会被关闭;为保证重要数据仍能正常传输,系统自动关闭部分非重要、数据量较大的数据通信,自动调整n、m、i的设定值,如将n调整设定为7、m调整设定为2、i调整设定为9,此时A通道或B通道会恢复至打开状态,以保证数据接收端的A通道或B通道仍能正常接收,且保证仍能实时进行数据冗余处理,确保重要数据的正常传输。
以下以表一中的源标识符SID为0x01的元组数组为例,具体说明0x01的元组数组的更新过程;需要补充说明的是,数据信息记录表更新流程较为复杂,对数据信息记录表的更新过程说明并未穷尽其所有情况;同时为使数据信息记录表更新过程说明简单,假设A通道为打开状态,B通道为关闭状态;
初始数据信息记录表:
SID | 元组A | 元组B | 元组C | 元组D |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
…… | …… | …… | …… | …… |
接收到数据帧头为{0x01,1}的数据帧,数据信息记录表跟新为如下:
SID | 元组A | 元组B | 元组C | 元组D |
0x01 | {1,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
…… | …… | …… | …… | …… |
接收到数据帧头为{0x01,2}的数据帧,数据信息记录表跟新为如下:
接收到数据帧头为{0x01,6}的数据帧,数据信息记录表跟新为如下:
SID | 元组A | 元组B | 元组C | 元组D |
0x01 | {2,0} | {6,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
…… | …… | …… | …… | …… |
接收到数据帧头为{0x01,4}的数据帧,数据信息记录表跟新为如下:
SID | 元组A | 元组B | 元组C | 元组D |
0x01 | {2,0} | {6,0} | {4,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
…… | …… | …… | …… | …… |
接收到数据帧头为{0x01,7}的数据帧,数据信息记录表跟新为如下:
SID | 元组A | 元组B | 元组C | 元组D |
0x01 | {2,0} | {6,1} | {4,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
…… | …… | …… | …… | …… |
接收到数据帧头为{0x01,8}的数据帧,数据信息记录表跟新为如下:
SID | 元组A | 元组B | 元组C | 元组D |
0x01 | {2,0} | {6,2} | {4,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
…… | …… | …… | …… | …… |
接收到数据帧头为{0x01,3}的数据帧,数据信息记录表跟新为如下:
SID | 元组A | 元组B | 元组C | 元组D |
0x01 | {4,0} | {6,2} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
…… | …… | …… | …… | …… |
接收到数据帧头为{0x01,5}的数据帧,数据信息记录表跟新为如下:
SID | 元组A | 元组B | 元组C | 元组D |
0x01 | {8,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
xxxx | {0,0} | {0,0} | {0,0} | {0,0} |
…… | …… | …… | …… | …… |
表一中,源标识符SID为0x02、0x03、0x14的各元组数组其更新过程,与源标识符SID为0x01的元组数组更新过程相同;
进一步说明的是,A通道或B通道在打开状态接收数据时,源标识符SID为0x01、0x02、0x03、0x14的FC数据帧是混合在一起进行接收,并传输给数据信息记录表模块进行数据信息记录表的更新、传输和冗余过滤处理。
本发明未详述部分为现有技术。
Claims (6)
1.一种FC设备接收端通信冗余处理方法,其特征是:在数据接收端设有接收端通信冗余处理模块;所述接收端通信冗余处理模块包括A通道、B通道、冗余控制模块、数据信息记录表模块,所述A通道、B通道分别设有数据接收模块、端口状态模块;
所述冗余控制模块对A通道或B通道的数据传输状态共有四种情况:
一、冗余控制模块对A通道和B通道的数据传输状态均为打开状态,此时A通道和B通道接收到的FC数据帧通过冗余控制模块传输至数据信息记录表模块进行处理;
二、冗余控制模块对A通道和B通道的数据传输状态均为关闭状态,此时A通道和B通道接收到的FC数据帧传输至冗余控制模块后直接丢弃,不再向后传输;
三、冗余控制模块对A通道数据传输状态为打开,对B通道的数据传输状态均为关闭,此时A通道接收到的FC数据帧通过冗余控制模块传输至数据信息记录表模块进行处理,B通道接收到的FC数据帧传输至冗余控制模块后直接丢弃,不再向后传输;
四、冗余控制模块对A通道数据传输状态为关闭,对B通道的数据传输状态均为打开,此时A通道接收到的FC数据帧传输至冗余控制模块后直接丢弃,不再向后传输,B通道接收到的FC数据帧通过冗余控制模块传输至数据信息记录表模块进行处理;
当冗余控制模块对A通道或B通道的数据传输状态均处于关闭状态时,数据信息记录表模块自动清空数据信息记录表内所有索引信息记录
所述冗余控制模块在初始工作状态下,对A通道或B通道的数据传输均为打开状态;所述端口状态模块实时解析A通道或B通道的数据接收模块连续接收到的设定n帧FC数据帧帧头的{SID,OXID}集合,检测相同源标识符SID的始发端交换标识符OXID是否均为非连续,若检测到设定连续n帧相同源标识符SID的始发端交换标识符OXID均为非连续,则发出A通道或B通道的关闭信号至冗余控制模块,冗余控制模块关闭A通道或B通道的数据传输;若检测到设定连续n帧相同源标识符SID的始发端交换标识符OXID为区别于上述状态的其它状态时,则维持冗余控制模块对A通道或B通道的数据传输打开状态保持不变;
所述冗余控制模块对A通道或B通道的数据传输为关闭状态时,端口状态模块实时解析A通道或B通道的数据接收模块连续接收到的设定m帧FC数据帧帧头的{SID,OXID}集合,检测相同源标识符SID的始发端交换标识符OXID是否均为连续递增,若检测到设定连续m帧相同源标识符SID的始发端交换标识符OXID均为连续递增,则发出A通道或B通道的打开信号至冗余控制模块,冗余控制模块打开A通道或B通道的数据传输;若检测到设定连续m帧相同源标识符SID的始发端交换标识符OXID为区别于上述状态的其它状态时,则维持冗余控制模块对A通道或B通道的数据传输关闭状态保持不变;
所述数据信息记录表模块内设有数据信息记录表,数据信息记录表内记录有数据信息记录表模块已输出的所有FC数据帧的索引信息;
当冗余控制模块对A通道或B通道的数据传输状态为打开状态时,A通道或B通道接收到的FC数据帧经数据信息记录表模块输出时,均需与数据信息记录表内记录的索引信息进行比对,若需输出的FC数据帧在数据信息记录表内已有索引信息记录,则将需输出的FC数据帧直接丢弃,不予输出;若需输出的FC数据帧在数据信息记录表内没有索引信息记录,则将需输出的FC数据帧继续向后输出,同时更新数据信息记录表的已输出FC数据帧的索引信息。
2.根据权利要求1所述FC设备接收端通信冗余处理方法,其特征是:所述数据信息记录表为二维矩阵表,其横向用源标识符SID表征一组元组数组,其纵向表征不同源标识符SID的元组数组;所述一组元组数组设有i个元组,每个元组用{初始值,累加值}的形式记录数据信息记录表模块已输出的FC数据帧的索引信息;所有元组数组初始值均为{0,0}。
3.根据权利要求2所述FC设备接收端通信冗余处理方法,其特征是:当数据信息记录表模块输出FC数据帧时,根据输出FC数据帧的源标识符SID启用一行元组数组,对数据信息记录表模块输出的FC数据帧的始发端交换标识符OXID做索引信息记录;当数据信息记录表模块输出FC数据帧的始发端交换标识符OXID连续时,其索引信息记录在同一元组中,当数据信息记录表模块输出FC数据帧的始发端交换标识符OXID出现间断时,将按顺序启用新的元组做索引信息记录;当相邻两个元组的索引信息间断点消失时,将相邻两个元组的索引信息进行合并,即将后一个元组的索引信息合并在前一个元组的索引信息中。
4.根据权利要求3所述FC设备接收端通信冗余处理方法,其特征是:当数据信息记录表模块输出FC数据帧,出现新的FC数据帧的源标识符SID时,将启用新一行元组数组,对数据信息记录表模块输出的具有新的源标识符SID的FC数据帧的始发端交换标识符OXID做索引信息记录。
5.根据权利要求1所述FC设备接收端通信冗余处理方法,其特征是:所述n、m值根据FC设备实际通信状况动态设定;所述n、m值设定在1-8之间。
6.根据权利要求2所述FC设备接收端通信冗余处理方法,其特征是:所述i值根据FC设备实际通信状况动态设定;所述i值设定在4-10之间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011221332.4A CN112260803B (zh) | 2020-11-03 | 2020-11-03 | 一种fc设备接收端通信冗余处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011221332.4A CN112260803B (zh) | 2020-11-03 | 2020-11-03 | 一种fc设备接收端通信冗余处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112260803A CN112260803A (zh) | 2021-01-22 |
CN112260803B true CN112260803B (zh) | 2022-04-19 |
Family
ID=74267503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011221332.4A Active CN112260803B (zh) | 2020-11-03 | 2020-11-03 | 一种fc设备接收端通信冗余处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112260803B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472431B (zh) * | 2021-06-25 | 2022-05-13 | 中航光电科技股份有限公司 | 一种具有双主架构的新型链式光通信网络 |
CN113556290B (zh) * | 2021-07-15 | 2022-09-13 | 西安微电子技术研究所 | 基于帧特征符的fc帧冗余接收方法、系统、设备及介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101959083A (zh) * | 2009-07-21 | 2011-01-26 | 华为技术有限公司 | 数据处理方法和数据处理设备 |
CN102055657A (zh) * | 2009-11-02 | 2011-05-11 | 杭州华三通信技术有限公司 | Fc数据报文的负载分担方法和fc交换机系统 |
CN102148678A (zh) * | 2011-03-29 | 2011-08-10 | 中航光电科技股份有限公司 | 一种双路自动全冗余透明光传输系统 |
CN103532692A (zh) * | 2013-10-18 | 2014-01-22 | 广州南方电力集团科技发展有限公司 | 一种双通道双模式冗余的光纤纵差配电终端数据同步方法 |
CN105227279A (zh) * | 2015-10-19 | 2016-01-06 | 中国航空无线电电子研究所 | 一种用于双光纤通道网络通信系统的冗余管理系统 |
CN105356982A (zh) * | 2015-12-08 | 2016-02-24 | 上海赛治信息技术有限公司 | 基于光纤通道fc帧字段的节点双端口接收冗余方法 |
CN105490785A (zh) * | 2015-12-08 | 2016-04-13 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于共享缓存的fc网络余度发送控制方法 |
CN107896141A (zh) * | 2017-12-11 | 2018-04-10 | 天津津航计算技术研究所 | 一种fc‑ae‑asm网络数据冗余方法 |
CN109558107A (zh) * | 2018-12-04 | 2019-04-02 | 中国航空工业集团公司西安航空计算技术研究所 | 一种共享缓冲区的fc消息接收管理方法 |
CN110493147A (zh) * | 2019-08-12 | 2019-11-22 | 西安微电子技术研究所 | 一种并行冗余以太网通信控制器及其控制方法 |
CN110784263A (zh) * | 2019-11-05 | 2020-02-11 | 中航华东光电(上海)有限公司 | 一种基于fpga具有冗余功能的光纤传输装置 |
EP3637645A1 (fr) * | 2018-10-09 | 2020-04-15 | Thales | Dispositif électronique et procédé de réception de données via un réseau de communication redondé, système de communication et programme d'ordinateur associés |
CN111131933A (zh) * | 2019-12-13 | 2020-05-08 | 中航光电科技股份有限公司 | 一种fc双冗余交换机配置管理装置及配置管理方法 |
CN111510456A (zh) * | 2020-04-20 | 2020-08-07 | 中国电子科技集团公司第五十八研究所 | 一种fc-ae-1553转can/rs422的双冗余通信协议转换器 |
CN111698058A (zh) * | 2020-05-28 | 2020-09-22 | 中国航空工业集团公司西安航空计算技术研究所 | 时间触发数据帧冗余管理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6556953B2 (en) * | 2001-04-09 | 2003-04-29 | Mcdata Corporation | Automatic testing of redundant switching element and automatic switchover |
US7028177B2 (en) * | 2002-01-31 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Array controller ROM cloning in redundant controllers |
US7672226B2 (en) * | 2002-09-09 | 2010-03-02 | Xiotech Corporation | Method, apparatus and program storage device for verifying existence of a redundant fibre channel path |
US7460537B2 (en) * | 2004-01-29 | 2008-12-02 | Brocade Communications Systems, Inc. | Supplementary header for multifabric and high port count switch support in a fibre channel network |
-
2020
- 2020-11-03 CN CN202011221332.4A patent/CN112260803B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101959083A (zh) * | 2009-07-21 | 2011-01-26 | 华为技术有限公司 | 数据处理方法和数据处理设备 |
CN102055657A (zh) * | 2009-11-02 | 2011-05-11 | 杭州华三通信技术有限公司 | Fc数据报文的负载分担方法和fc交换机系统 |
CN102148678A (zh) * | 2011-03-29 | 2011-08-10 | 中航光电科技股份有限公司 | 一种双路自动全冗余透明光传输系统 |
CN103532692A (zh) * | 2013-10-18 | 2014-01-22 | 广州南方电力集团科技发展有限公司 | 一种双通道双模式冗余的光纤纵差配电终端数据同步方法 |
CN105227279A (zh) * | 2015-10-19 | 2016-01-06 | 中国航空无线电电子研究所 | 一种用于双光纤通道网络通信系统的冗余管理系统 |
CN105490785A (zh) * | 2015-12-08 | 2016-04-13 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于共享缓存的fc网络余度发送控制方法 |
CN105356982A (zh) * | 2015-12-08 | 2016-02-24 | 上海赛治信息技术有限公司 | 基于光纤通道fc帧字段的节点双端口接收冗余方法 |
CN107896141A (zh) * | 2017-12-11 | 2018-04-10 | 天津津航计算技术研究所 | 一种fc‑ae‑asm网络数据冗余方法 |
EP3637645A1 (fr) * | 2018-10-09 | 2020-04-15 | Thales | Dispositif électronique et procédé de réception de données via un réseau de communication redondé, système de communication et programme d'ordinateur associés |
CN109558107A (zh) * | 2018-12-04 | 2019-04-02 | 中国航空工业集团公司西安航空计算技术研究所 | 一种共享缓冲区的fc消息接收管理方法 |
CN110493147A (zh) * | 2019-08-12 | 2019-11-22 | 西安微电子技术研究所 | 一种并行冗余以太网通信控制器及其控制方法 |
CN110784263A (zh) * | 2019-11-05 | 2020-02-11 | 中航华东光电(上海)有限公司 | 一种基于fpga具有冗余功能的光纤传输装置 |
CN111131933A (zh) * | 2019-12-13 | 2020-05-08 | 中航光电科技股份有限公司 | 一种fc双冗余交换机配置管理装置及配置管理方法 |
CN111510456A (zh) * | 2020-04-20 | 2020-08-07 | 中国电子科技集团公司第五十八研究所 | 一种fc-ae-1553转can/rs422的双冗余通信协议转换器 |
CN111698058A (zh) * | 2020-05-28 | 2020-09-22 | 中国航空工业集团公司西安航空计算技术研究所 | 时间触发数据帧冗余管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112260803A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112260803B (zh) | 一种fc设备接收端通信冗余处理方法 | |
CN107919947B (zh) | 一种can总线长报文传输的编码方法 | |
CN110601919A (zh) | 一种环回检测方法及系统 | |
CN102025923A (zh) | 实现多模式接入的数字矩阵控制系统及方法 | |
DE60317027T2 (de) | Verfahren und Vorrichtung zur Zusammenfassung von physikalischen Übertragungskapazitäten | |
CN112118462A (zh) | 一种基于工业互联网操作系统的数据采集方法、系统 | |
CN105356982A (zh) | 基于光纤通道fc帧字段的节点双端口接收冗余方法 | |
CN101242618B (zh) | 一种通讯通道上通讯状态的实时检测方法 | |
CN101119161B (zh) | 一种传输设备中的故障处理系统及方法 | |
CN103607354B (zh) | 一种流量控制方法、dpi设备及系统 | |
CN104767826B (zh) | 基于端的故障容忍的分布式数据中心负载均衡方法 | |
EP1355479B1 (en) | An apparatus and method for processing information from a telecommunications network | |
CN117040925A (zh) | 多工作终端的数据安全交互控制方法和系统 | |
EP2037597B1 (en) | 1+1 service protection method in obs networks, switching node apparatus and service protection system | |
CN102487330A (zh) | 运行、管理和维护报文的发送方法及装置 | |
CN116489473A (zh) | 一种针对音视频传输优化的动态补偿系统及方法 | |
US20190260494A1 (en) | Method and system for accurate ipg compensation of usxgmii multi-channel | |
CN112929289B (zh) | 星型网络中基于多信道的组播帧传输方法 | |
EP1830491A1 (en) | Adaptive optical receiving device and the method thereof | |
CN111064644B (zh) | 一种基于车载以太网的avb通信方法 | |
EP1398909B1 (de) | Verfahren und Vorrichtung zum Monitoren einer Datenübertragung | |
DE19802365C2 (de) | Übertragungsverfahren und Übertragungssystem | |
CN109379646B (zh) | 一种无源光网络系统及其通讯方法 | |
US11979190B2 (en) | Passive optical network | |
CN113452713B (zh) | 一种基于双重采样的专线环境下网络数据载体判重方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |