发明内容
本发明所要解决的技术问题是如何解决由于现有的技术中实现A线和B线冗余切换的方法由生产网卡的各个厂商自行定义,从而导致产品之间相互配合的及时性差,网卡传输的数据的准确性低的问题。
针对以上技术问题,本发明的实施例提供了一种MVB网卡的线路冗余切换的方法,包括:根据MVB网卡的LAT的值,识别出与所述MVB网卡连接的第一线路和第二线路中的信任线;根据由所述信任线传输的有效帧的校验信息,或者根据通过所述信任线测量到的传输有效帧的时间间隔,或者根据通过所述信任线和观察线测量到的传输有效帧的时间间隔,判断所述信任线是否受扰;若判断所述信任线受扰,则切换所述LAT的值;其中,每次切换所述LAT的值,则所述第一线路和所述第二线路中的所述观察线将切换为新的信任线,所述第一线路和所述第二线路中的所述信任线将切换为新的观察线。
可选地,所述根据由所述信任线传输的有效帧的校验信息判断所述信任线是否受扰,包括:获取所述信任线传输的有效帧,对所述信任线传输的有效帧进行帧校验,或者对所述信任线传输的有效帧的帧长度进行校验,若帧校验的结果为该有效帧错误,或者帧长度出现错误,则判定所述信任线是否受扰。
可选地,所述根据通过所述信任线测量到的传输有效帧的时间间隔判断所述信任线是否受扰,包括:若接收到所述信任线传输的有效帧后,经过第一预设时间段未接收到有效帧,则判定所述信任线是否受扰。
可选地,所述根据通过所述信任线和观察线测量到的传输有效帧的时间间隔判断所述信任线是否受扰,包括:若接收到所述观察线传输的有效帧后,经过第二预设时间段未接收到所述信任线传输的有效帧,则判定所述信任线是否受扰。
可选地,所述若判断所述信任线受扰,则切换所述LAT的值,还包括:若判断所述信任线受扰,则将所述MVB网卡的RLD的值设置为受扰状态对应的值。
可选地,所述若判断所述信任线受扰,则将所述MVB网卡的RLD的值设置为受扰状态对应的值,还包括:若接收到所述信任线传输的有效帧后,经过所述第三预设时间段未接收到所述观察线传输的有效帧,则判定所述观察线受扰,将所述RLD的值设置为受扰状态对应的值。
可选地,还包括:所述MVB网卡的多路选择器根据所述LAT的值,识别出所述第一线路和所述第二线路中的信任线,并将该信任线传输的数据传输至所述MVB网卡的链路层。
第二方面,本发明的实施例提供了一种MVB网卡的线路冗余切换的装置,包括:
识别模块,用于根据MVB网卡的LAT的值,识别出与所述MVB网卡连接的第一线路和第二线路中的信任线;判断模块,用于根据由所述信任线传输的有效帧的校验信息,或者根据通过所述信任线测量到的传输有效帧的第一时间间隔,或者根据通过所述信任线和观察线测量到的传输有效帧的第二时间间隔,判断所述信任线受扰;切换模块,用于若判断所述信任线受扰,则切换所述LAT的值;其中,每次切换所述LAT的值,则所述第一线路和所述第二线路中的所述观察线将切换为新的信任线,所述第一线路和所述第二线路中的所述信任线将切换为新的观察线。
可选地,所述判断模块还用于获取所述信任线传输的有效帧,对所述信任线传输的有效帧进行帧校验,或者对所述信任线传输的有效帧的帧长度进行校验,若帧校验的结果为该有效帧错误,或者帧长度出现错误,则判定所述信任线受扰。
可选地,所述判断模块还用于若接收到所述信任线传输的有效帧后,经过第一预设时间段未接收到有效帧,则判定所述信任线受扰。
可选地,所述判断模块还用于若接收到所述观察线传输的有效帧后,经过第二预设时间段未接收到所述信任线传输的有效帧,则判定所述信任线是否受扰。
可选地,所述判断模块还用于若判断所述信任线受扰,则将所述MVB网卡的RLD的值设置为受扰状态对应的值。
可选地,所述判断模块还用于若接收到所述信任线传输的有效帧后,经过所述第三预设时间段未接收到所述观察线传输的有效帧,则判定所述观察线受扰,将所述RLD的值设置为受扰状态对应的值。
可选地,还包括传输模块,所述传输模块用于所述MVB网卡的多路选择器根据所述LAT的值,识别出所述第一线路和所述第二线路中的信任线,并将该信任线传输的数据传输至所述MVB网卡的链路层。
第三方面,本发明的实施例还提供了一种电子设备,包括:至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行以上所述的任一种方法。
第四方面,本发明的实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行以上所述的任一种方法。
本发明的实施例提供了MVB网卡的线路冗余切换的方法及装置,该方法根据信任线传输的有效帧的校验信息、或者根据通过所述信任线测量到的传输有效帧的时间间隔、或者根据通过所述信任线和观察线测量到的传输有效帧的时间间隔来判断当前的信任线是否受扰,并在判定信任线受扰后,及时切换LAT的值。采用本实施例提供的这种切换方法能够保证网卡及时摒弃由受扰的线路传输的数据,接收切换之后的新的信任线的数据,从提高了产品之间相互配合的及时性,保证了由网卡传输的数据的准确性。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本实施例提供的MVB网卡的线路冗余切换的方法的流程示意图。参见图1,该方法包括:
101:根据MVB网卡的LAT的值,识别出与所述MVB网卡连接的第一线路和第二线路中的信任线;
102:根据由所述信任线传输的有效帧的校验信息,或者根据通过所述信任线测量到的传输有效帧的时间间隔,或者根据通过所述信任线和观察线测量到的传输有效帧的时间间隔,判断所述信任线是否受扰;
103:若判断所述信任线受扰,则切换所述LAT的值;其中,每次切换所述LAT的值,则所述第一线路和所述第二线路中的所述观察线将切换为新的信任线,所述第一线路和所述第二线路中的所述信任线将切换为新的观察线。
需要说明的是,本实施例所提供的方法由MVB网卡执行,具体地,由MVB网卡内的多路选择器执行,当然也可以由其它能实现上述功能的电子器件执行,本实施例不做具体限制。
例如,图2示出了MVB网卡的结构示意图,如图2所示,输入至MVB网卡的数据通过多路选择器输送至MVB链路层。与多路选择器连接的线路有两条,分别是第一线路(例如,第一线路是图2中的A路)和第二线路(例如,第二线路是图2中的B路)。LAT的值为二进制的值,当LAT的值为“0”,则表示信任线为A路,观察线为B路;当LAT的值为“1”,则表示信任线为B路,观察线为A路。
A路和B路两条线路同时从MVB网络接收数据,当信任线出现问题时,比如无法接受数据或者接受数据有错,则进行信任线冗余切换。双线冗余的方案可以在一条线路受干扰的情况下,继续正常的网络通信,因此在实际的TCN列车网络应用中被广泛使用。
根据信任线传输的有效帧的校验信息、根据通过所述信任线测量到的传输有效帧的时间间隔,或者根据通过所述信任线和观察线测量到的传输有效帧的时间间隔三种方法中的一种来判断当前的信任线是否收到了干扰,若收到了干扰,则切换LAT的值,也即,将当前的观察线作为新的信任线,将当前的信任线作为新的观察线。
其中,有效帧的校验信息是对有效帧进行校验的信息,例如,采用CRC校验对有效帧校验的校验结果,或者对有效帧的长度进行校验的校验结果。例如,将一有效帧数据看成一个很长的二进制数(如将一段128字节的信息看成一个1024位的二进制数),然后采用CRC方法对该数据进行处理,处理结果获得一个特定的数,最后将这个特定的数作为校验码附在信息代码之后作为一帧和有效帧一起传送(或存储),在进行接收(或读出)时进行同样的处理,核对处理所获取的特定的数和效验码是否相同,若相同,则有效帧没有出错,否则,有效帧出错。
需要说明的,上述实施例中的步骤101至步骤103在MVB网卡的多路选择器中循环执行,以保证在其中一条线路收到干扰时,不影响传输至MVB链路层的数据的准确性。
本发明的实施例提供了一种MVB网卡的线路冗余切换的方法,该方法根据信任线传输的有效帧的校验信息、或者根据通过所述信任线测量到的传输有效帧的时间间隔、或者根据通过所述信任线和观察线测量到的传输有效帧的时间间隔来判断当前的信任线是否受扰,并在判定信任线受扰后,及时切换LAT的值。采用本实施例提供的这种切换方法能够保证网卡及时摒弃由受扰的线路传输的数据,接收切换之后的新的信任线的数据,从提高了产品之间相互配合的及时性,保证了由网卡传输的数据的准确性。
进一步地,在上述实施例的基础上,本实施例提供了三种判断信任线是否受扰的方法,分别为:
方法一:所述根据由所述信任线传输的有效帧的校验信息判断所述信任线是否受扰,包括:
获取所述信任线传输的有效帧,对所述信任线传输的有效帧进行帧校验,或者对所述信任线传输的有效帧的帧长度进行校验,若帧校验的结果为该有效帧错误,或者帧长度出现错误,则判定所述信任线受扰。
需要说明的是,对有效帧进行帧校验可以采用上述实施例中所说的CRC校验方法进行校验。
本实施例提供了一种对信任线传输的有效帧进行校验来确认信任线当前是否为受扰状态的方法,通过该方法能够及时准确的确认信任线当前是否为受扰状态。
方法二:所述根据通过所述信任线测量到的传输有效帧的时间间隔判断所述信任线是否受扰,包括:
若接收到所述信任线传输的有效帧后,经过第一预设时间段未接收到有效帧,则判定所述信任线受扰。
本实施例中,以本次接收到信任线传输的有效帧的时间点为时间起点,若经过第一预设时间段仍没有接收到信任线传输的有效帧,则判断信任线受扰,例如,若接收到信任线的有效帧后1.4ms内没有从信任线再收到有效帧,则判定信任线受扰,需要切换LAT的值。
方法三:所述根据通过所述信任线和观察线测量到的传输有效帧的时间间隔判断所述信任线是否受扰,包括:若接收到所述观察线传输的有效帧后,经过第二预设时间段未接收到所述信任线传输的有效帧,则判定所述信任线受扰。
本实施例中,以本次接收到观察线传输的有效帧的时间点为时间起点,若经过第二预设时间段没有接收到信任线传输的有效帧,则判断信任线受扰,例如,若接收到观察线的有效帧后8.0us内没有从信任线再收到有效帧,则判定信任线受扰,需要切换LAT的值。进一步地,若接收到观察线的有效帧后8.0us内没有从信任线再收到有效帧,那么在2BT时间后,如果受扰位没有设置时,切换LAT的值。
更进一步地,在上述各个实施例的基础上,所述若判断所述信任线受扰,则切换所述LAT的值,还包括:若判断所述信任线受扰,则将所述MVB网卡的RLD的值设置为受扰状态对应的值。
需要说明的是,RLD为受扰位,例如,当A路和B路中有线路受扰时,则将RLD标记为“1”,否则,将RLD标记为“0”。
RLD的值可以作为否切换LAT的值的参考,例如,当判定信任线受扰时,若RLD的值为“0”,则切换LAT的值(进行冗余切换),若RLD的值为“1”,则不切换LAT的值,或者等待一段时间后在根据当前RLD的值决定是否切换LAT的值。
本实施例提供了RLD的值的标记方法,通过该方法能够及时更新RLD的值,方便工作人员通过RLD的值了解当前线路是否处于受扰状态。
更进一步地,在上述各个实施例的基础上,所述若判断所述信任线受扰,则将所述MVB网卡的RLD的值设置为受扰状态对应的值,还包括:若接收到所述信任线传输的有效帧后,经过所述第三预设时间段未接收到所述观察线传输的有效帧,则判定所述观察线受扰,将所述RLD的值设置为受扰状态对应的值。
本实施例提供了一种判断观察线是否受扰的方法,例如,接收到所述信任线传输的有效帧后,经过8.0us未接收到所述观察线传输的有效帧,则判定观察线受扰,则将RLD的值设置为“1”。
更进一步地,在上述各个实施例的基础上,还包括:所述MVB网卡的多路选择器根据所述LAT的值,识别出所述第一线路和所述第二线路中的信任线,并将该信任线传输的数据传输至所述MVB网卡的链路层。
作为一种具体的实施例,图3示出了本实施例提供的多路选择器的工作原理示意图,如图3所示,多路选择器以下四种情况判断信任线是否受扰,并切换信任线标识为LAT的值,和受扰位RLD的值。
情况一:获取所述信任线传输的有效帧,对所述信任线传输的有效帧进行帧校验,或者对所述信任线传输的有效帧的帧长度进行校验,若帧校验的结果为该有效帧错误,或者帧长度出现错误,则判定所述信任线受扰;
例如,接收到信任线的有效帧后发现帧校验错误或者帧长度有误,那么如果受扰位RLD的值为“0”,则发生冗余切换,切换LAT的值。
情况二:若接收到所述信任线传输的有效帧后,经过第一预设时间段未接收到有效帧,则判定所述信任线受扰;例如,接收到信任线的有效帧后1.4ms内没有从信任线再收到有效帧,那么如果受扰位RLD的值为“0”,则发生冗余切换,切换LAT的值;情况三:若接收到所述观察线传输的有效帧后,经过第二预设时间段未接收到所述信任线传输的有效帧,则判定所述信任线受扰;例如,当观察线收到有效帧后8.0us内信任线没有收到有效帧,那么在2BT时间后,如果受扰位RLD的值为“0”,则发生冗余切换,切换LAT的值;情况四:若接收到所述信任线传输的有效帧后,经过所述第三预设时间段未接收到所述观察线传输的有效帧,则判定所述观察线受扰,将所述RLD的值设置为受扰状态对应的值;当信任线收到有效帧后8.0us内观察线没有收到有效帧,那么表明观察线受扰,将所述RLD的值设置为“1”。
如果情况一、二、三、四有一种满足那么受扰位(RLD)应该置“1”,同时如果情况一或情况二满足且受扰位不为“1”或者情况一满足那么发生冗余切换,若果当前信任线为A线那么冗余切换后信任线标识位(LAT)置为“0”,若果当前信任线为B线那么冗余切换后信任线标识位(LAT)置为“1”,然后多路选择器把选定的信任线数据送向上层(MVB链路层)。
第二方面,如图4所示,本实施例提供了一种MVB网卡的线路冗余切换的装置400,包括识别模块401、判断模块402和切换模块403,其中,
识别模块401,用于根据MVB网卡的LAT的值,识别出与所述MVB网卡连接的第一线路和第二线路中的信任线;
判断模块402,用于根据由所述信任线传输的有效帧的校验信息,或者根据通过所述信任线测量到的传输有效帧的第一时间间隔,或者根据通过所述信任线和观察线测量到的传输有效帧的第二时间间隔,判断所述信任线是否受扰;
切换模块403,用于若判断所述信任线受扰,则切换所述LAT的值;
其中,每次切换所述LAT的值,则所述第一线路和所述第二线路中的所述观察线将切换为新的信任线,所述第一线路和所述第二线路中的所述信任线将切换为新的观察线。
本实施例提供的MVB网卡的线路冗余切换的装置400适用于上述实施例中所述的MVB网卡的线路冗余切换的方法,在此不再赘述。
本发明的实施例提供了MVB网卡的线路冗余切换的装置,该装置根据信任线传输的有效帧的校验信息、或者根据通过所述信任线测量到的传输有效帧的时间间隔、或者根据通过所述信任线和观察线测量到的传输有效帧的时间间隔来判断当前的信任线是否受扰,并在判定信任线受扰后,及时切换LAT的值。采用本实施例提供的这种切换方法能够保证网卡及时摒弃由受扰的线路传输的数据,接收切换之后的新的信任线的数据,从提高了产品之间相互配合的及时性,保证了由网卡传输的数据的准确性。
图5是示出本发明的实施例提供的电子设备的结构框图。
参照图5,所述电子设备,包括:处理器(processor)501、存储器(memory)502和总线503;其中,所述处理器501、存储器502通过所述总线503完成相互间的通信;所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:根据MVB网卡的LAT的值,识别出与所述MVB网卡连接的第一线路和第二线路中的信任线;根据由所述信任线传输的有效帧的校验信息,或者根据通过所述信任线测量到的传输有效帧的时间间隔,或者根据通过所述信任线和观察线测量到的传输有效帧的时间间隔,判断所述信任线是否受扰;若判断所述信任线受扰,则切换所述LAT的值;其中,每次切换所述LAT的值,则所述第一线路和所述第二线路中的所述观察线将切换为新的信任线,所述第一线路和所述第二线路中的所述信任线将切换为新的观察线。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:根据MVB网卡的LAT的值,识别出与所述MVB网卡连接的第一线路和第二线路中的信任线;根据由所述信任线传输的有效帧的校验信息,或者根据通过所述信任线测量到的传输有效帧的时间间隔,或者根据通过所述信任线和观察线测量到的传输有效帧的时间间隔,判断所述信任线是否受扰;若判断所述信任线受扰,则切换所述LAT的值;其中,每次切换所述LAT的值,则所述第一线路和所述第二线路中的所述观察线将切换为新的信任线,所述第一线路和所述第二线路中的所述信任线将切换为新的观察线。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。