CN112804122A - 报文链路的故障诊断方法、装置及计算机可读存储介质 - Google Patents
报文链路的故障诊断方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112804122A CN112804122A CN202110036520.8A CN202110036520A CN112804122A CN 112804122 A CN112804122 A CN 112804122A CN 202110036520 A CN202110036520 A CN 202110036520A CN 112804122 A CN112804122 A CN 112804122A
- Authority
- CN
- China
- Prior art keywords
- message
- identification information
- receiving
- communication link
- packet
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种报文链路的故障诊断方法、装置及计算机可读存储介质,所述方法包括:在接收到中继网关发送的任一第一报文时,获取第一报文中标识信息对应的寄存器,并将标识信息对应的寄存器的标识位变更为1,标识信息用于表征第一报文对应的通信链路;每隔预设时长,检测一次寄存器的标识位,并在检测到标识位为1时,将标识位变更为0;若连续n次检测到寄存器的标识位均为0,则将标识位均为0的寄存器对应的标识信息发送至客户端。本发明能够通过报文所携带的通信链路的标识信息,并利用标识信息对应的寄存器,来快速确定出现故障的链路,并上报用户,从而让用户及时排查网络,尽快解决网络故障,进而大大的提高网络排查效率。
Description
技术领域
本发明涉及网络诊断技术领域,具体涉及一种报文链路的故障诊断方法、装置及计算机可读存储介质。
背景技术
时间敏感可靠性由IEEE820.1CB协议定义,其能够检测并减轻由于循环冗余校验(CRC)错误、断线以及连接松动所引起的网络问题;IEEE820.1CB协议可以通过帧复制和消除支持无缝数据冗余,可以通过潜在错误检测功能定时监测链路上是否存在异常,并通过事件上报给用户,从而让用户知晓,以便进行网络故障的排查。
在正常使用情况下,由于每增加一条链路备份,组网的成本就要上升一倍,所以,通常使用两条链路进行备份;而现有的时间敏感网络虽然能够监测链路,实现异常提醒,但是,无法得知具体是哪条通信链路出现异常故障,大大的降低了网络故障排查效率。
发明内容
为了解决现有时间敏感网络在通信链路故障时,无法得知具体的故障链路,从而导致网络故障排查效率低的问题,本发明的目的在于提供一种能够利用接收网关处寄存器的标识位,并通过报文所携带的通信链路的标识信息,来准确得出出现故障的通信链路,从而实现网络故障快速排查的故障诊断方法、装置及计算机可读存储介质。
第一方面,本发明提供了一种报文链路的故障诊断方法,包括:
发送网关接收数据发送终端发送的第三报文;
发送网关将所述第三报文进行冗余备份,得到至少两条第四报文;
发送网关获取所述至少两条第四报文中每条第四报文对应的通信链路;
发送网关对所述每条第四报文对应的通信链路设置标识信息,并写入对应第四报文中,得到第一报文;
发送网关将所述第一报文发送至中继网关;
中继网关接收发送网关发送的第一报文;
中继网关将第一报文发送至接收网关;
接收网关在接收到中继网关发送的任一第一报文时,获取所述第一报文中标识信息对应的寄存器,并将所述标识信息对应的寄存器的标识位变更为1,其中,所述标识信息用于表征所述第一报文对应的通信链路;
接收网关每隔预设时长,检测一次所述寄存器的标识位,并在检测到所述标识位为1时,将所述标识位变更为0;
接收网关若连续n次检测到所述寄存器的标识位均为0,则将标识位均为0的所述寄存器对应的标识信息发送至客户端,以使所述客户端的用户根据所述标识信息得到对应的通信链路,并将得到的通信链路作为故障链路,其中,n为正整数。
基于上述公开的内容,在发明中,发送网关在接收到数据发送终端发送的第三报文后,会将第三报文进行冗余备份,得到至少两条第四报文,并获取每条第四报文对应的通信链路;此步骤则相当得到了每条第四报文从哪条通信链路传输至接收网关。
然后,发送网关即可对获取的通信链路设置标识信息(可以但不限于使用ID作为通信链路的标识信息,例如,通信链路的ID为1),并写入第四报文中,得到第一报文;此步骤的实质为:实现传输的报文中携带有通信链路的标识信息,以便为后续寄存器的查找提供数据基础,并在后续故障排查时通过标识信息确定出现故障的通信链路。
接着,发送网关则通过中继网关将第一报文传输至接收网关,而接收网关在每接收到一个第一报文时,则会通过其携带的标识信息,得到对应的寄存器,并将寄存器的标识位置为1;此步骤的实质为:得到每条通信链路对应的寄存器,并在接收到寄存器对应通信链路传输的第一报文时,将寄存器的标志位置1,以便用于表示接收到一个第一报文。
最后,即可通过检测寄存器的标识位来得出该寄存器对应的通信链路是否传输有第一报文;其原理为:由于接收网关每接收一个第一报文,则会将第一报文所在通信链路对应的寄存器的标识位置1,然后每隔预设时长进行一次检测,并在检测到为1时,将其置0;所以,若该通信链路上一直传输有第一报文,那么寄存器的标识位则是变换的(即从1变为0),而若连续n次检测到寄存器的标识位均为0,则说明寄存器的标识位在这n次检测中均未置1,也就表明该寄存器对应的通信链路在这n次检测总时长内未传输有第一报文,进而即可得出,该寄存器对应的通信链路发生了故障;最终,将该寄存器对应的标识信息上传至客户端,即可使客户端的用户根据标识信息得出故障的通信链路。
通过上述设计,本发明通过使报文携带有通信链路的标识信息,并在接收网关处,利用标识信息对应的寄存器的标识位来表示是否接收有第一报文,从而通过连续检测标识位是否为0来得出对应通信链路是否传输有第一报文,若连续n次检测均为0,则说明该寄存器对应的通信链路在这n次检测总时长内未传输第一报文,出现了故障;最后,将该寄存器对应的标识信息发送至客户端,即可实现故障链路的确定,从而让用户及时排查网络,尽快解决网络故障,提高网络排查效率。
在一个可能的设计中,对所述每条第四报文对应的通信链路设置标识信息,并写入对应第四报文中,得到第一报文,包括:
使用所述标识信息替换所述第四报文中的保留字段,得到所述第一报文。
基于上述公开的内容,本发明公开了标识信息写入的具体操作,即使用标识信息替换第四报文中的保留字段,从而实现标识信息的写入。
在一个可能的设计中,所述方法还包括:
在接收到所述第一报文时,记录所述第一报文的接收时间;
获取第二报文的接收时间,其中,所述第二报文为接收网关在接收到所述第一报文后下一次所接收的报文,且所述第二报文与所述第一报文的通信链路相同;
计算所述第一报文的接收时间与所述第二报文的接收时间的差值,得到接收时间差;
判断所述接收时间差是否超出预设阈值;
若是,则将所述第一报文中的标识信息发送至客户端,以使所述客户端的用户根据所述标识信息得到对应的通信链路,并将得到的通信链路作为延迟链路。
基于上述公开的内容,本发明在判断通信链路故障的同时,还能根据同一通信链路上相邻两条第一报文的接收时间差来判断该通信链路是否出现了延迟;若相邻两条第一报文的接收时间差超出了预设阈值,则说明该通信链路出现了网络延迟;通过上述设计,能够更精确的掌握每条通信链路的通信状况。
在一个可能的设计中所述第一报文还携带有序列号,其中,所述方法还包括:
根据所述序列号,在接收到的所有第一报文中,筛选出携带有同一序列号的第一报文;
将携带有同一序列号的第一报文中最先到达接收网关的第一报文,发送至数据接收终端,并丢弃剩余的第一报文。
基于上述公开的内容,本发明公开了接收网关在接收到第一报文后,与数据接收终端的传输步骤,即由于数据发送终端发送的第三报文经过了冗余备份会产生相同的至少两份第四报文,其携带的数据内容相同,仅仅为通信链路不同;所以,接收网关则可根据序列号得出内容相同的第一报文,并将具有同一序列号的第一报文中最先到达接收网关的报文传输至数据接收终端,而丢弃剩余的第一报文,从而保证数据传输的及时性。
第二方面,本发明提供了一种报文链路的故障诊断装置,以装置为接收网关为例,包括:标识位变更单元、标识位检测单元和第一发送单元;
所述标识位变更单元,用于在接收到中继网关发送的任一第一报文时,获取所述第一报文中标识信息对应的寄存器,并将所述标识信息对应的寄存器的标识位变更为1,其中,所述标识信息用于表征所述第一报文对应的通信链路;
所述标识位检测单元,用于每隔预设时长,检测一次所述寄存器的标识位,并在检测到所述标识位为1时,将所述标识位变更为0;
所述第一发送单元,用于在连续n次检测到所述寄存器的标识位均为0,将标识位均为0的所述寄存器对应的标识信息发送至客户端,以使所述客户端的用户根据所述标识信息得到对应的通信链路,并将得到的通信链路作为故障链路,其中,n为正整数。
在一个可能的设计中,所述装置还包括:接收时间记录单元、计算单元和判断单元;
所述接收时间记录单元,用于在接收到所述第一报文时,记录所述第一报文的接收时间;
所述接收时间记录单元,还用于获取第二报文的接收时间,其中,所述第二报文为接收网关在接收到所述第一报文后下一次所接收的报文,且所述第二报文与所述第一报文的通信链路相同;
所述计算单元,用于计算所述第一报文的接收时间与所述第二报文的接收时间的差值,得到接收时间差;
所述判断单元,用于判断所述接收时间差是否超出预设阈值;
所述第一发送单元,还用于在所述判断单元判断为是时,将所述第一报文中的标识信息发送至客户端,以使所述客户端的用户根据所述标识信息得到对应的通信链路,并将得到的通信链路作为延迟链路。
在一个可能的设计中,所述接收网关还包括:筛选单元;
所述筛选单元,用于根据所述序列号,在接收到的所有第一报文中,筛选出携带有同一序列号的第一报文;
所述第一发送单元,还用于将携带有同一序列号的第一报文中最先到达接收网关的第一报文,发送至数据接收终端,并丢弃剩余的第一报文。
第三方面,本发明提供了第二种报文链路的故障诊断装置,以装置为发送网关为例,包括:接收单元、备份单元、获取单元、写入单元和第二发送单元;
所述接收单元,用于接收数据发送终端发送的第三报文;
所述备份单元,用于将所述第三报文进行冗余备份,得到至少两条第四报文;
所述获取单元,用于获取所述至少两条第四报文中每条第四报文对应的通信链路;
所述写入单元,用于对所述每条第四报文对应的通信链路设置标识信息,并写入对应第四报文中,得到第一报文;
所述第二发送单元,用于将所述第一报文发送至中继网关,以便通过所述中继网关将所述第一报文发送至接收网关,以使所述接收网关在接收到中继网关发送的任一第一报文时,获取所述第一报文中标识信息对应的寄存器,并将所述标识信息对应的寄存器的标识位变更为1。
在一个可能的设计中:
所述写入单元,具体用于使用所述标识信息替换所述第四报文中的保留字段,得到所述第一报文。
第四方面,本发明提供了第三种报文链路的故障诊断装置,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述报文链路的故障诊断方法。
第五方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述报文链路的故障诊断方法。
第六方面,本发明提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面中任意一种可能设计的所述报文链路的故障诊断方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的报文链路的故障诊断方法的流程示意图。
图2是本发明提供的点对点冗余报文链路的网络传输拓扑图。
图3是本发明提供的点对多点冗余报文链路的网络传输拓扑图。
图4是本发明提供的接收网关的结构示意图。
图5是本发明提供的发送网关的结构示意图。
图6是本发明提供的报文链路的故障诊断装置的结构示意图。
具体实施方式
下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于下述实施例说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
应当理解,在本文中若将单元称作与另一个单元“连接”、“相连”或“耦合”时,它可以与另一个单元直相连接或耦合,或中间单元可以存在。相対地,在本文中若将单元称作与另一个单元“直接相连”或“直接耦合”时,表示不存在中间单元。另外,应当以类似方式来解释用于描述单元之间的关系的其他单词(例如,“在……之间”对“直接在……之间”,“相邻”对“直接相邻”等等)。
应当理解,本文使用的术语仅用于描述特定实施例,并不意在限制本发明的示例实施例。若本文所使用的,单数形式“一”、“一个”以及“该”意在包括复数形式,除非上下文明确指示相反意思。还应当理解,若术语“包括”、“包括了”、“包含”和/或“包含了”在本文中被使用时,指定所声明的特征、整数、步骤、操作、单元和/或组件的存在性,并且不排除一个或多个其他特征、数量、步骤、操作、单元、组件和/或他们的组合存在性或增加。
应当理解,还应当注意到在一些备选实施例中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于所涉及的功能/动作,实际上可以并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。
应当理解,在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实例中,可以不以不必要的细节来示出众所周知的过程、结构和技术,以避免使得示例实施例不清楚。
实施例
如图1所示,本实施例第一方面所提供的报文链路的故障诊断方法,适用于在报文传输过程中,进行通信链路的异常监测,并在出现异常时,能够通过报文所携带的通信链路的标识信息,并利用标识信息对应的寄存器,来快速确定出现故障的链路,并上报用户,从而让用户及时排查网络,尽快解决网络故障,进而大大的提高网络排查效率。
本实施例所提供的报文链路的故障诊断方法,可以但不限于包括如下步骤S101~S110。
S101.发送网关接收数据发送终端发送的第三报文。
S102.发送网关将所述第三报文进行冗余备份,得到至少两条第四报文。
步骤S101和步骤S102则是发送网关接收数据发送终端发送的第三报文,并进行冗余备份的过程,即相当于将第三报文进行复制,得到至少两条第四报文,以便后续将每条第四报文传输至中继网关,并由中间网关传输至接收网关;最后,则由接收网关传输至数据接收终端。
在本实施例中,举例第三报文在经过发送网关后,会加上报文头,以便进行传输,其中,报文头可以但不限于包括:EtherType字段(一个字段,内部指明了应用于整数据字段的协议,例如,在本实施例中则为IEEE802.1CB协议)、reserved字段(保留字段)以及Sequence Number字段(序列号字段);当然,第四报文中含有的字段与第三报文相同。
在对第三报文进行冗余备份,得到第四报文后,即可进行步骤S103和步骤S104,进行通信链路标识信息的设置,以便后续通过标识信息进行寄存器的查找以及通信链路的确定。
S103.发送网关获取所述至少两条第四报文中每条第四报文对应的通信链路。
S104.发送网关对所述每条第四报文对应的通信链路设置标识信息,并写入对应第四报文中,得到第一报文。
步骤S103则是获取每条第四报文对应的通信链路的过程;因为在正常的使用情况下,使用IEEE802.1CB协议进行冗余备份时,备份几次,则是使用几条通信链路;例如,第三报文备份2次,则相当于使用两条通信链路进行报文的传输,即每条第四报文使用一条通信链路传输,而两条第四报文则分别通过两条通信链路分别传输至接收网关。
在本实施例中,举例发送网关是支持时间敏感可靠冗余的网关设备,在进行冗余备份时,即可通过与其通信连接的中继网关,为每条第四报文分配通信链路。
例如,当第四报文的数量为两条时,两条第四报文则对应两条通信链路,那么,发送网关则可将两条通信链路分配给两条第四报文,可以但不限于为:第四报文a分配通信链路1,而第四报文b分配通信链路2。
而步骤S104则是为通信链路设置标识信息的过程,以便后续根据标识信息确定通信链路。
例如,在前述举例的基础上,已知第四报文a对应的传输路径为通信链路1,而第四报文b对应的传输路径为通信链路2,那么为通信链路设置标识信息可以但不限于:将通信链路1的标识信息设置为a1;将通信链路2的标识信息设置为a2。
在对通信链路设置标识信息后,即可将标识信息写入对应的第四报文中,得到第一报文,以便将第一报文传输至中继网关,从而使接收网关接收到的第一报文携带有其对应通信链路的标识信息,以便后续通过标识信息确定寄存器,以及确定故障链路。
在本实施例中,举例将表示信息写入第四报文中,可以但不限于包括如下步骤S104a。
S104a.使用所述标识信息替换所述第四报文中的保留字段,得到所述第一报文。
步骤S104a则是采用字段替换的原理,实现标识信息的写入;例如,第四报文a原本的包含的字段分别为:EtherType字段、reserved字段和Sequence Number字段;经过步骤S104a后,即变更为:EtherType字段、a1和Sequence Number字段,即第四报文内包含有标识信息a1,而只要读取第四报文中的标识信息为a1,即可得出此第四报文是通过通信链路1传输的。
通过上述设计,即可将每条链路的标识信息写入第四报文,以便在接收网关处,根据标识信息,确定其对应的寄存器,进而在接收网关接收到该标识信息对应的通信链路传输的第一报文后,利用寄存器的标识位进行接收标识,以便根据标识位的置0来判断接收网关是否接收到该通信链路发送的第一报文,从而完成故障的判断;另外,在确定故障发生时,也可根据该标识信息确定出故障的链路。
S105.发送网关将所述第一报文发送至中继网关。
S106.中继网关接收发送网关发送的第一报文。
S107.中继网关将第一报文发送至接收网关。
步骤S105、S106和S107则是中继网关转发第一报文的过程,由于每条通信链路上均有对应的中继网关,所以,发送网关则可根据每条第四报文对应的通信链路,将其发送至对应的中继网关,然后由对应的中继网关发送至接收网关。
而接收网关在接收到中继网关发送的任一第一报文后,即可进行步骤S108~S110,实现故障链路的判断。
S108.接收网关在接收到中继网关发送的任一第一报文时,获取所述第一报文中标识信息对应的寄存器,并将所述标识信息对应的寄存器的标识位变更为1,其中,所述标识信息用于表征所述第一报文对应的通信链路。
S109.接收网关每隔预设时长,检测一次所述寄存器的标识位,并在检测到所述标识位为1时,将所述标识位变更为0。
S110.接收网关若连续n次检测到所述寄存器的标识位均为0,则将标识位均为0的所述寄存器对应的标识信息发送至客户端,以使所述客户端的用户根据所述标识信息。
步骤S108~S110则是判断通信链路是否出现故障的过程,在本实施例中,是通过检测接收网关内的寄存器的标识位的置1与置0来实现通信链路故障的判断,其原理为:
每条通信链路均对应一个寄存器(即通过标识信息进行匹配),即每个寄存器在接收到其对应通信链路传输的第一报文时,均会将标识位变更为1,从而用于表示该寄存器接收有第一报文;然后每隔预设时长,检测寄存器的标识位,并在检测到标识位为1时,将其变更为0;而若连续n次检测均为0(如连续5次,即在进行了5个预设时长的间隔检测后,得出的结果均为0),此时,则说明该寄存器自上一标识位变为0后从未发生过变化,也就说明接收网关未接收到该寄存器对应通信链路传输的第一报文,从而导致该寄存器的标识位无法变更为1,进而则可得出该寄存器对应通信链路出现了故障;最后,将该寄存器对应的标识信息发送至客户端,即可使客户端的用户根据标识信息快速确定故障链路。
例如,如图2所示,图2则是发送网关对第三报文冗余备份2次,从而得到两条第四报文,并通过两条通信链路(即通信链路1和通信链路2)传输至接收网关的拓扑图。
从图2中可得出,第一报文具有两条通信链路,那么在接收网关处则对应有两个寄存器;假设通信链路1的标识信息为a1,对应寄存器1,而通信链路2的标识信息为a2,对应寄存器2。
假设预设时长为2ms,而检测次数n为5次,以寄存器1为例:
假设数据发送终端一次性发送2条第三报文,经过发送网关进行冗余备份后,将每条第三报文均复制2次,使每条第三报文均对应得到两条第四报文,进而使2条第三报文经过冗余备份后,得到4条第四报文;然后,发送网关则会将每条第四报文对应的通信链路的标识信息写入该报文中,得到第一报文,而这4条第一报文则通过两条通信链路传输至接收网关;可以但不限于为:中继网关1通过通信链路1转发两条第一报文(即内部的标识信息为a1),中继网关2通过通信链路2转发两条第二报文(即内部的标识信息为a2)。
当接收网关接收到来自中继网关1发送的一条第一报文后,即可读取其内部的标识信息(读取到a1),进而通过标识信息a1,得到其对应的寄存器,也就是寄存器1;此时,接收网关则会将寄存器1的标识位变更为1。
然后,接收网关每隔2ms检测一次寄存器1的标识位,此时,由于寄存器1的标识位为1,所以,会变更为0;然后,接收网关会再隔2ms检测一次,一直循环;而若连续检测5次后,寄存器1的标识位均为0(即在10ms的时长内,标识位均为0),此时,则说明,寄存器1在10ms内,标识位未发生变化(即未变为1),也就说明接收网关在这10ms内未接收到通信链路1传输的第一报文;因此,则可说明通信链路1出现了故障,无法传输报文;最后,即可将寄存器1对应的标识信息(即a1)上传至客户端,从而使客户端的用户根据标识信息a1确定故障链路为通信链路1,以便及时的排查网络,尽快解决网络故障。
同理,判断通信链路2是否出现故障,即可通过检测寄存器2的标识位来实现,其检测原理与寄存器1相同,于此不多加赘述。
另外,当通信链路大于两条时,其检测原理与前述寄存器1的检测步骤以及原理相同;如图3所示,图3则为点对多点冗余报文链路的网络拓扑结构图。
在图3中,发送网关进行冗余备份后,会将每条第三报文均复制3次,分别通过中继网关1、中继网关2和中继网关3传输至接收网关,从图3中可知,接收网关1对应通信链路1和通信链路2,而接收网关2则对应通信链路2和通信链路3,也就相当于接收网关1内具有两个寄存器,分别对应通信链路1和通信链路2;而接收网关2内也具有两个寄存器,分别对应通信链路2和通信链路3;同理,在点对多点的链路中,其也是通过每个寄存器的标识位来实现故障链路的检测,原理与前述寄存器1的检测相同,于此不多加赘述。
在本实施例中,举例每个标识信息与寄存器的对应关系可以但不限于为用户预设;由于用户可通过接收网关得出整个传输网络中的通信链路,所以,在对每条通信链路设置标识信息时,即可根据每条通信链路对应的接收网关,为每条通信链路配置一个寄存器;例如,在图2中,即可为通信链路1配置寄存器1,为通信链路2配置寄存器2,并形成对应关系,进而实现利用标识信息查找寄存器的功能(可以但不限于通过标识信息与寄存器形成关联关系,即将标识信息作为寄存器的索引字段,存储至接收网关中)。
由此通过前述步骤S101~S110所详细描述的报文链路的故障诊断方法,本发明通过使报文携带有通信链路的标识信息,并在接收网关处,利用标识信息对应的寄存器的标识位来表示是否接收有第一报文,从而通过连续检测标识位是否为0来得出对应的通信链路是否传输有第一报文,若连续n次检测均为0,则说明该寄存器对应的通信链路在这n次检测总时长内未传输第一报文,出现了故障;最后,将该寄存器对应的标识信息发送至客户端,即可实现故障链路的确定,从而让用户及时排查网络,尽快解决网络故障,提高网络排查效率。
另外,在本实施例中,利用同一通信链路传输的相邻两第一报文,还可实通信链路延迟的检测,而实现延迟的检测可以但不限于如下步骤:S201~S205。
S201.在接收到所述第一报文时,记录所述第一报文的接收时间。
S202.获取第二报文的接收时间,其中,所述第二报文为接收网关在接收到所述第一报文后下一次所接收的报文,且所述第二报文与所述第一报文的通信链路相同。
S203.计算所述第一报文的接收时间与所述第二报文的接收时间的差值,得到接收时间差。
S204.判断所述接收时间差是否超出预设阈值。
S205.若是,则将所述第一报文中的标识信息发送至客户端,以使所述客户端的用户根据所述标识信息得到对应的通信链路,并将得到的通信链路作为延迟链路。
步骤S201~S205的原理则为:通过相邻两第一报文的接收时间差,来判断其对应的通信链路是否出现了网络延迟。
例如,假设预设阈值为2ms(通常为网络正常传输时长),且以前述图2中的通信链路1为例,接收网关接收的第一条第一报文的时间为:2021年1月7日11点06分2秒40毫秒;而接收网关接收的从通信链路1传输的第二条第一报文的时间为:2021年1月7日11点06分2秒40毫秒;所以,两条第一报文之间的接收时间差则为:10ms,其大于预设阈值(2ms),因此,可得出两条第一报文之间的传输时间大于网络正常传输时长,即通信链路1出现了网络延迟;此时,即可将对应第一报文中的表示信息(即a1)发送至客户端,客户端的用户则可根据此标识信息得出对应通信链路出现了网络延迟,进而采取相应的措施,以减少网络延迟,保证数据的正常传输。
在本实施例中,预设阈值为用户预设,其可根据不同的网络,设置不同的值。
在本实施例中,当接收网关接收到第一报文后,会进行第一报文的传输,即传输到数据接收终端,以便完成报文的传输,其可以但不限于包括如下步骤S301~S302。
S301.根据所述序列号,在接收到的所有第一报文中,筛选出携带有同一序列号的第一报文。
S302.将携带有同一序列号的第一报文中最先到达接收网关的第一报文,发送至数据接收终端,并丢弃剩余的第一报文。
步骤S301~S302的传输原理为:通过序列号,得到内容相同的第一报文,然后根据到达接收网关的时间,将最先到达接收网关的第一报文,传输至数据接收终端,以便保证数据传输的及时性。
例如,在图2的基础上,由于前述就已说明,第三报文中包含有序列号字段,而第三报文在经过发送网关时,会进行冗余备份,以及通信链路标识的写入;而不同通信链路传输的报文,仅仅为标识信息不同,而内容相同;所以,即可根据序列号,实现相同报文的筛选。
例如,接收网关接收到第一报文1(标识信息为a1)和第一报文2(标识信息为a2),且第一报文1和第二报文2的序列号相同,其中第一报文1和第二报文2的接收时间(也就是到达接收网关的时间)分别为2021年1月7日11点06分2秒40毫秒以及2021年1月7日11点06分2秒40毫秒;因此,可知第一报文1先到达接收网关;所以,即可将第一报文1发送至数据接收终端,而丢弃(可以但不限于为删除)第一报文2。
通过上述阐述,接收网关即可实现第一报文的传输,并保证传输的及时性。
如图4所示,本实施例第二方面提供了一种实现实施例第一方面中所述的报文链路的故障诊断方法的硬件装置,以装置为接收网关为例,包括:标识位变更单元、标识位检测单元和第一发送单元。
所述标识位变更单元,用于在接收到中继网关发送的任一第一报文时,获取所述第一报文中标识信息对应的寄存器,并将所述标识信息对应的寄存器的标识位变更为1,其中,所述标识信息用于表征所述第一报文对应的通信链路。
所述标识位检测单元,用于每隔预设时长,检测一次所述寄存器的标识位,并在检测到所述标识位为1时,将所述标识位变更为0。
所述第一发送单元,用于在连续n次检测到所述寄存器的标识位均为0,将标识位均为0的所述寄存器对应的标识信息发送至客户端,以使所述客户端的用户根据所述标识信息得到对应的通信链路,并将得到的通信链路作为故障链路,其中,n为正整数。
在一个可能的设计中,所述装置还包括:接收时间记录单元、计算单元和判断单元。
所述接收时间记录单元,用于在接收到所述第一报文时,记录所述第一报文的接收时间。
所述接收时间记录单元,还用于获取第二报文的接收时间,其中,所述第二报文为接收网关在接收到所述第一报文后下一次所接收的报文,且所述第二报文与所述第一报文的通信链路相同。
所述计算单元,用于计算所述第一报文的接收时间与所述第二报文的接收时间的差值,得到接收时间差。
所述判断单元,用于判断所述接收时间差是否超出预设阈值。
所述第一发送单元,还用于在所述判断单元判断为是时,将所述第一报文中的标识信息发送至客户端,以使所述客户端的用户根据所述标识信息得到对应的通信链路,并将得到的通信链路作为延迟链路。
在一个可能的设计中,所述接收网关还包括:筛选单元。
所述筛选单元,用于根据所述序列号,在接收到的所有第一报文中,筛选出携带有同一序列号的第一报文。
所述第一发送单元,还用于将携带有同一序列号的第一报文中最先到达接收网关的第一报文,发送至数据接收终端,并丢弃剩余的第一报文。
本实施例提供的硬件装置的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
如图5所示,本实施例第三方面提供了第二种实现实施例第一方面中所述的报文链路的故障诊断方法的硬件装置,以装置为发送网关为例,包括:接收单元、备份单元、获取单元、写入单元和第二发送单元。
所述接收单元,用于接收数据发送终端发送的第三报文。
所述备份单元,用于将所述第三报文进行冗余备份,得到至少两条第四报文。
所述获取单元,用于获取所述至少两条第四报文中每条第四报文对应的通信链路。
所述写入单元,用于对所述每条第四报文对应的通信链路设置标识信息,并写入对应第四报文中,得到第一报文。
所述第二发送单元,用于将所述第一报文发送至中继网关,以便通过所述中继网关将所述第一报文发送至接收网关,以使所述接收网关在接收到中继网关发送的任一第一报文时,获取所述第一报文中标识信息对应的寄存器,并将所述标识信息对应的寄存器的标识位变更为1。
在一个可能的设计中:
所述写入单元,具体用于使用所述标识信息替换所述第四报文中的保留字段,得到所述第一报文。
本实施例提供的硬件装置的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
如图6所示,本实施例第四方面提供了第三种实现实施例第一方面中所述的报文链路的故障诊断方法的硬件装置,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面所述的报文链路的故障诊断方法。
具体举例的,所述存储器可以但不限于包括随机存取存储器(random accessmemory,RAM)、只读存储器(Read Only Memory image,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First In Last Out,FILO)等等;所述处理器可以不限于采用型号为STM32F105系列的微处理器、精简指令集计算机(reduced instruction set computer,RSIC)微处理器、X86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,NPU)的处理器;所述收发器可以但不限于为无线保真(WIFI)无线收发器、蓝牙无线收发器、通用分组无线服务技术(General Packet Radio Service,GPRS)无线收发器、紫蜂协议(基于IEEE802.15.4标准的低功耗局域网协议,ZigBee)无线收发器、3G收发器、4G收发器和/或5G收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。
本实施例提供的硬件装置的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
本实施例第五方面提供了一种存储包含有实施例第一方面所述的报文链路的故障诊断方法的指令的计算机可读存储介质,即所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面所述的文链路的故障诊断方法。其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例提供的计算机可读存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
本实施例第六方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面所述的报文链路的故障诊断方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
以上所描述的多个实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备执行各个实施例或者实施例的某些部分所述的方法。
本发明不局限于上述可选实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是落入本发明权利要求界定范围内的技术方案,均落在本发明的保护范围之内。
Claims (10)
1.一种报文链路的故障诊断方法,其特征在于,包括:
在接收到中继网关发送的任一第一报文时,获取所述第一报文中标识信息对应的寄存器,并将所述标识信息对应的寄存器的标识位变更为1,其中,所述标识信息用于表征所述第一报文对应的通信链路;
每隔预设时长,检测一次所述寄存器的标识位,并在检测到所述标识位为1时,将所述标识位变更为0;
若连续n次检测到所述寄存器的标识位均为0,则将标识位均为0的所述寄存器对应的标识信息发送至客户端,以使所述客户端的用户根据所述标识信息得到对应的通信链路,并将得到的通信链路作为故障链路,其中,n为正整数。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到所述第一报文时,记录所述第一报文的接收时间;
获取第二报文的接收时间,其中,所述第二报文为接收网关在接收到所述第一报文后下一次所接收的报文,且所述第二报文与所述第一报文的通信链路相同;
计算所述第一报文的接收时间与所述第二报文的接收时间的差值,得到接收时间差;
判断所述接收时间差是否超出预设阈值;
若是,则将所述第一报文中的标识信息发送至客户端,以使所述客户端的用户根据所述标识信息得到对应的通信链路,并将得到的通信链路作为延迟链路。
3.如权利要求1所述的方法,其特征在于,所述第一报文还携带有序列号,其中,所述方法还包括:
根据所述序列号,在接收到的所有第一报文中,筛选出携带有同一序列号的第一报文;
将携带有同一序列号的第一报文中最先到达接收网关的第一报文,发送至数据接收终端,并丢弃剩余的第一报文。
4.一种报文链路的故障诊断方法,其特征在于,包括;
接收数据发送终端发送的第三报文;
将所述第三报文进行冗余备份,得到至少两条第四报文;
获取所述至少两条第四报文中每条第四报文对应的通信链路;
对所述每条第四报文对应的通信链路设置标识信息,并写入对应第四报文中,得到第一报文;
将所述第一报文发送至中继网关,以便通过所述中继网关将所述第一报文发送至接收网关,以使所述接收网关在接收到中继网关发送的任一第一报文时,获取所述第一报文中标识信息对应的寄存器,并将所述标识信息对应的寄存器的标识位变更为1。
5.如权利要求4所述的方法,其特征在于,对所述每条第四报文对应的通信链路设置标识信息,并写入对应第四报文中,得到第一报文,包括:
使用所述标识信息替换所述第四报文中的保留字段,得到所述第一报文。
6.一种报文链路的故障诊断装置,其特征在于,包括:标识位变更单元、标识位检测单元和第一发送单元;
所述标识位变更单元,用于在接收到中继网关发送的任一第一报文时,获取所述第一报文中标识信息对应的寄存器,并将所述标识信息对应的寄存器的标识位变更为1,其中,所述标识信息用于表征所述第一报文对应的通信链路;
所述标识位检测单元,用于每隔预设时长,检测一次所述寄存器的标识位,并在检测到所述标识位为1时,将所述标识位变更为0;
所述第一发送单元,用于在连续n次检测到所述寄存器的标识位均为0,将标识位均为0的所述寄存器对应的标识信息发送至客户端,以使所述客户端的用户根据所述标识信息得到对应的通信链路,并将得到的通信链路作为故障链路,其中,n为正整数。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:接收时间记录单元、计算单元和判断单元;
所述接收时间记录单元,用于在接收到所述第一报文时,记录所述第一报文的接收时间;
所述接收时间记录单元,还用于获取第二报文的接收时间,其中,所述第二报文为接收网关在接收到所述第一报文后下一次所接收的报文,且所述第二报文与所述第一报文的通信链路相同;
所述计算单元,用于计算所述第一报文的接收时间与所述第二报文的接收时间的差值,得到接收时间差;
所述判断单元,用于判断所述接收时间差是否超出预设阈值;
所述第一发送单元,还用于在所述判断单元判断为是时,将所述第一报文中的标识信息发送至客户端,以使所述客户端的用户根据所述标识信息得到对应的通信链路,并将得到的通信链路作为延迟链路。
8.一种报文链路的故障诊断装置,其特征在于,包括:接收单元、备份单元、获取单元、写入单元和第二发送单元;
所述接收单元,用于接收数据发送终端发送的第三报文;
所述备份单元,用于将所述第三报文进行冗余备份,得到至少两条第四报文;
所述获取单元,用于获取所述至少两条第四报文中每条第四报文对应的通信链路;
所述写入单元,用于对所述每条第四报文对应的通信链路设置标识信息,并写入对应第四报文中,得到第一报文;
所述第二发送单元,用于将所述第一报文发送至中继网关,以便通过所述中继网关将所述第一报文发送至接收网关,以使所述接收网关在接收到中继网关发送的任一第一报文时,获取所述第一报文中标识信息对应的寄存器,并将所述标识信息对应的寄存器的标识位变更为1。
9.一种报文链路的故障诊断装置,其特征在于,包括依次相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如权利要求1~3或权利要求4~5任意一项所述的报文链路的故障诊断方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1~3或权利要求4~5任意一项所述的报文链路的故障诊断方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110036520.8A CN112804122B (zh) | 2021-01-12 | 2021-01-12 | 报文链路的故障诊断方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110036520.8A CN112804122B (zh) | 2021-01-12 | 2021-01-12 | 报文链路的故障诊断方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112804122A true CN112804122A (zh) | 2021-05-14 |
CN112804122B CN112804122B (zh) | 2022-07-22 |
Family
ID=75810086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110036520.8A Active CN112804122B (zh) | 2021-01-12 | 2021-01-12 | 报文链路的故障诊断方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112804122B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500323A (zh) * | 2022-01-14 | 2022-05-13 | 深圳市汇川技术股份有限公司 | 通信状态的检测方法、主站、从站及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601411A (zh) * | 2015-02-02 | 2015-05-06 | 华为技术有限公司 | 链路故障检测的方法及装置 |
CN106453074A (zh) * | 2016-10-21 | 2017-02-22 | 杭州华三通信技术有限公司 | 一种切换方法及装置 |
CN106549774A (zh) * | 2015-09-17 | 2017-03-29 | 中兴通讯股份有限公司 | 一种基于软件定义网络的链路故障上报方法和转发设备 |
WO2018145560A1 (zh) * | 2017-02-13 | 2018-08-16 | 中兴通讯股份有限公司 | 链路故障诊断方法及装置 |
CN112202592A (zh) * | 2020-09-02 | 2021-01-08 | 烽火通信科技股份有限公司 | 告警延迟诊断方法、系统及可读存储介质 |
-
2021
- 2021-01-12 CN CN202110036520.8A patent/CN112804122B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601411A (zh) * | 2015-02-02 | 2015-05-06 | 华为技术有限公司 | 链路故障检测的方法及装置 |
CN106549774A (zh) * | 2015-09-17 | 2017-03-29 | 中兴通讯股份有限公司 | 一种基于软件定义网络的链路故障上报方法和转发设备 |
CN106453074A (zh) * | 2016-10-21 | 2017-02-22 | 杭州华三通信技术有限公司 | 一种切换方法及装置 |
WO2018145560A1 (zh) * | 2017-02-13 | 2018-08-16 | 中兴通讯股份有限公司 | 链路故障诊断方法及装置 |
CN112202592A (zh) * | 2020-09-02 | 2021-01-08 | 烽火通信科技股份有限公司 | 告警延迟诊断方法、系统及可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500323A (zh) * | 2022-01-14 | 2022-05-13 | 深圳市汇川技术股份有限公司 | 通信状态的检测方法、主站、从站及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112804122B (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112887126B (zh) | 一种报文链路的诊断方法、装置及计算机存储介质 | |
CN112134654B (zh) | Oam消息传输方法、传输设备及存储介质 | |
US9473954B2 (en) | Performance monitor, evaluation and diagnosis system for wireless sensor networks | |
EP3675398B1 (en) | Check code processing method, electronic device, and storage medium | |
CN108092924B (zh) | 基于FlexE业务的信元交换方法及系统 | |
US20150082089A1 (en) | Method and apparatus for isolating a fault in a controller area network | |
CN110601945A (zh) | 一种双冗余can总线通信系统和通信方法 | |
CN112804122B (zh) | 报文链路的故障诊断方法、装置及计算机可读存储介质 | |
AU2019394853A1 (en) | Node outage determination and reporting in a mesh network | |
US11882024B2 (en) | Application-aware links | |
WO2016086638A1 (zh) | 一种实现链路检测的方法、装置及计算机存储介质 | |
CN109412968B (zh) | 一种时间触发以太网端节点的冗余通信接收管理系统及方法 | |
CN104348676B (zh) | 一种基于操作管理维护oam的链路检测方法及设备 | |
CN112751720B (zh) | 列车骨干网系统、故障检测方法及存储介质 | |
CN105591814B (zh) | 一种在线监测e1通道质量的方法及其监测系统 | |
US9008077B2 (en) | Method for quick map recovery in case of error in MoCA | |
CN114205263A (zh) | 用于Ether CAT网络的通信方法、系统和存储介质 | |
CN114244482A (zh) | 一种can总线容错设计方法 | |
CN102711163A (zh) | 一种ip-ran设备快速检测告警链路故障的方法 | |
CN112825501A (zh) | 信号劣化处理方法、装置及系统 | |
US8712336B2 (en) | Data unit receiver and sender control method | |
CN115396344B (zh) | 链路检测的方法、装置和设备 | |
JP5710525B2 (ja) | 障害情報収集解析システム | |
Radke et al. | Method for Detecting Transmission Link Failure in Industrial Wireless Networks | |
CN116506331A (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 |