一种故障处理方法、设备和可读存储介质与流程

文档序号:26626223发布日期:2021-09-14 21:36阅读:34来源:国知局
一种故障处理方法、设备和可读存储介质与流程

1.本技术涉及通信领域,尤其涉及一种故障处理方法、设备和可读存储介质。


背景技术:

2.与运营商移动承载网络、广域网、省干网等网络不同,车内通信网络有着以下特点:线缆距离短,单根线缆一般不超过15米长度;对周边环境的温度容忍度、抗电磁干扰(emc,emi)的要求更高;可靠性要求更高(更短的故障恢复时间);极短的网络启动时间;更低的端到端通信时延;业务流量传输行为的可重复性/可预测性。
3.ieee 802.3工作组发布的以太网相关标准在网络业界取得了广泛的欢迎,以太网以其简洁、尽力而为的传输方式和标准化互通互联的机制受到网络厂商的极大欢迎。随着汽车日益电动化、智能化的大潮,汽车的车内通信网络也在朝以太网化的方向演进。车内通信网络可能是环网架构,图1a示例性示出了一种环网架构示意图,如图1a所示,激光雷达这类传感器设备可以通过以太网接入环网中。
4.如图1a所示,环网中包括第一设备、第二设备、第三设备和第四设备。各个设备可以通过各个端口周期性发送连通性检测消息(continuity check message,ccm),以判断链路是否发生故障。现有技术中规定,若在预设时长(例如,3.5个ccm周期)内未收到1个ccm消息,则判断链路出现故障。如图1a所示,若第一设备未通过第一端口在预设时长内收到1个ccm,则第一设备确定第一端口与第三端口之间的链路出现故障。若第二设备未通过第三端口在预设时长内收到1个ccm,则第二设备确定第三端口与第一端口之间的链路出现故障。
5.图1b示例性示出了另外一种可能存在的场景,如图1b所示,若第三端口与第一端口之间的单向链路发生故障,即第三端口的接收单元与第一端口的发送单元之间的链路出现故障,而第三端口的发送单元和第一端口的接收单元之间的链路未出现故障,这种情况下第一设备收不到第二设备通过第三端口发送的消息,但是第二设备依然可以接收到来自第一设备的第一端口的消息。针对图1b所示的场景,应用现有技术中规定的判断规则“若在预设时长内未收到1个ccm消息,则判断链路出现故障”,则,仅仅是第一设备可以判断出第一端口和第三端口之间的链路出现了故障,而第二设备判断不出第一端口和第三端口之间的链路出现了故障。这种情况下,第二设备依然会继续通过第三端口发送数据,从而会导致数据丢包。


技术实现要素:

6.本技术实施例提供一种故障处理方法、设备和可读存储介质,用于更准确的判断出设备的接口故障,提高报文传输的成功率。
7.第一方面,本技术实施例提供一种故障处理方法,该方法适用的网络架构中包括第一设备和第二设备,第一设备的第一端口连接第二设备的第三端口。该方法中:第一设备确定第一端口的接收单元对应的链路处于故障状态;第一设备通过第一端口的发送单元向第二设备发送第一连通性检测消息,且第一连通性检测消息携带第一指示信息,第一指示
信息用于指示发送第一指示信息的端口的接收单元对应的链路处于故障状态。如此,可以使第二设备根据接收到的第一连通性检测消息中的第一指示信息确定出第一端口的接收单元对应的链路(即第三端口的发送单元对应的链路)出现了故障,即第三端口出现了远端故障。
8.在一种可能地实施方式中,第一设备确定第一端口的接收单元对应的链路处于故障状态之后,第一设备还可以针对需经过第一端口的发送单元发送的第一数据报文,将第一数据报文通过第一端口的发送单元发送至第一端口的接收单元。由于第一端口发生本地故障时,可以通过对第一数据报文进行环回的方式继续提供传输服务,也就是说允许车内环网在发生单点故障的情况仍然可以提供可用的传输服务,以将业务的数据报文传递至目的设备,因此,可以提高数据传输的可靠性。
9.在一种可能地实施方式中,该方法适用的网络架构中还包括有第三设备,第一设备的第二端口连接第三设备的第八端口。该可能地实施方式中:第一设备确定第二端口的接收单元对应的链路处于非故障状态;第一设备通过第二端口的发送单元向第三设备发送第五连通性检测消息,且第五连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。一个设备有多个端口时,并不是所有端口发送的连通性检测消息都是一样的,而是当该端口发生本地故障时,通过该端口发送的连通性检测消息中携带第一指示信息,当该端口未发生本地故障时,通过该端口发送的连通性检测消息中携带第二指示信息,从而可以使通信设备根据通过哪个端口接收到的第一指示信息,从而确定出哪个端口发生了远端故障。
10.在一种可能地实施方式中,第一设备通过第一端口的发送单元发送第一连通性检测消息之后,若第一设备通过第一端口接收到第三连通性检测消息,第三连通性检测消息携带第一指示信息,则:针对需经过第一端口的发送单元转发的第一数据报文,第一设备还可以将第一数据报文通过第一端口的发送单元发送至第一端口的接收单元;第一设备通过第一端口的发送单元向第二设备发送第二连通性检测消息,且第二连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。由于第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路出现故障,因此若第一设备通过第一端口接收到第一指示信息,则说明第一端口的对端,即第三端口的接收单元对应的链路出现故障,而第三端口的接收单元对应的链路即为第一端口的发送单元对应的链路,因此,当第一设备通过第一端口接收到第一指示信息时,则可以确定第一端口的发送单元对应的链路出现了故障,即确定第一端口处于远端故障状态。
11.在一种可能地实施方式中,第一设备确定第一端口的接收单元对应的链路处于故障状态,包括:若满足以下条件中的一项,第一设备确定第一端口的接收单元对应的链路处于故障状态:在预设的第一时长通过第一端口收到的第三连通性检测报文和第四连通性检测报文的总数量不大于第一数量;其中,第三连通性检查报文中携带第一指示信息,第四连通性检测报文中携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态;第一端口的接收单元对应的链路处于断开状态。
12.在一种可能地实施方式中,第一设备确定第一端口的接收单元对应的链路处于故障状态之后,还包括:若第一设备通过第一端口接收到第二数量的第四连通性检测消息,第四连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的
接收单元对应的链路处于非故障状态;则:第一设备通过第一端口的发送单元向第二设备发送第二连通性检测消息,且第二连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。如此,第一设备通过第一端口接收到第二数量的第四连通性检测消息时,可以确定第一端口的接收单元和发送单元对应的链路均处于非故障状态。
13.在一种可能地实施方式中,第一设备通过第一端口接收到第二数量的第四连通性检测消息之后,还包括:针对需经过第一端口的发送单元发送的第一数据报文,第一设备将第一数据报文通过第一端口发送至第二设备。如此,第一设备确定第一端口的接收单元和发送单元对应的链路均处于非故障状态时,可以撤销环回。
14.第二方面,本技术实施例提供一种故障处理方法,包括:第二设备通过第三端口接收到来自第一设备的第一端口的第一连通性检测消息,第一连通性检测消息携带第一指示信息,第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路处于故障状态;针对需经过第三端口的发送单元发送的第二数据报文,第二设备将第二数据报文通过第三端口的发送单元发送至第三端口的接收单元。如此,第二设备可以根据第一指示信息确定出第一端口的接收单元对应的链路(即第三端口的发送单元对应的链路)出现了故障,即第三端口出现了远端故障。
15.在一种可能地实施方式中,第二设备通过第三端口接收第一连通性检测消息之后,还包括:第二设备通过第三端口的发送单元向第一设备的第一端口发送第四连通性检测消息,且第四连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。如此,可以使第一设备根据是否接收到第四连通性检测消息确定第一端口的接收单元对应的链路是否处于故障状态。
16.在一种可能地实施方式中,方法还包括:若第二设备确定第三端口的接收单元对应的链路处于故障状态;第二设备通过第三端口的发送单元向第一设备发送第三连通性检测消息,且第三连通性检测消息携带第一指示信息,第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路处于故障状态。如此,可以使第一设备根据接收到的第一指示信息确定出第一端口的发送单元对应的链路(即第三端口的接收单元对应的链路)出现了故障,即第一端口出现了远端故障。
17.在一种可能地实施方式中,第二设备确定第三端口的接收单元对应的链路处于故障状态之后,还包括:针对需经过第三端口的发送单元转发的第二数据报文,第二设备将第二数据报文通过第三端口的发送单元发送至第三端口的接收单元。由于第三端口发生本地故障时,可以通过对第二数据报文进行环回的方式继续提供传输服务,也就是说允许车内环网在发生单点故障的情况仍然可以提供可用的传输服务,以将业务的数据报文传递至目的设备,因此,可以提高数据传输的可靠性。
18.在一种可能地实施方式中,若第二设备确定:在预设的第一时长通过第三端口收到的第一连通性检测报文和第二连通性检测报文的总数量不大于第一数量;和/或,第三端口的接收单元对应的链路处于断开状态,则第三端口的接收单元对应的链路处于故障状态。
19.在一种可能地实施方式中,第二设备通过第三端口接收到来自第一设备的第一端口的第一连通性检测消息之后,若第二设备通过第三端口接收到第二数量的第二连通性检
测消息,第二连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态;则:第二设备还可以通过第三端口的发送单元向第一设备发送第四连通性检测消息,且第四连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。如此,第二设备通过第三端口接收到第二数量的第二连通性检测消息时,可以确定第三端口的接收单元和发送单元对应的链路均处于非故障状态。
20.在一种可能地实施方式中,第二设备通过第三端口接收到第二数量的第二连通性检测消息之后,还包括:针对需经过第三端口的发送单元发送的第二数据报文,第二设备将第二数据报文通过第三端口发送至第一设备。如此,第二设备确定第三端口的接收单元和发送单元对应的链路均处于非故障状态时,可以撤销环回。
21.相应于第一方面至第二方面任一种故障处理方法,本技术还提供了一种通信设备。通信设备可以是以无线方式进行数据传输的任意一种发送端的设备或接收端的设备,例如可以是通信芯片、或者网络设备(例如基站等)。在通信过程中,发送端的设备和接收端的设备是相对的。在某些通信过程中,通信设备可以作为上述网络设备或可用于网络设备的通信芯片。
22.第三方面,提供了一种通信设备,包括不同端口和处理单元,每个端口上包括对应的发送单元和接收单元,处理单元与不同端口上的发送单元和接收单元相互配合以执行上述第一方面至第二方面任一种故障处理方法中的任一种实施方式。发送单元和接收单元用于执行与发送和接收相关的功能。在一种设计中,通信设备可以为通信芯片,发送单元和接收单元可以为通信芯片的输入输出电路或者端口。
23.在另一种设计中,发送单元可以为发送器或发送机,接收单元可以为接收器或接收机。
24.可选的,通信设备还包括可用于执行上述第一方面至第二方面任一种故障处理方法中的任一种实施方式的各个模块。
25.第四方面,提供了一种通信设备,该通信设备可以为网络设备,例如可以是上述第一设备或第二设备,包括处理器和存储器。可选的,还包括接收器和发送器,该存储器用于存储计算机程序或指令,该处理器用于从存储器中调用并运行该计算机程序或指令,当处理器执行存储器中的计算机程序或指令时,使得该通信设备执行上述第一方面至第二方面任一种故障处理方法中的任一种实施方式。
26.可选的,处理器可以为一个或多个,存储器可以为一个或多个。可选的,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
27.可选的,接收器可以是接收机,发送器可以是发送机。
28.第五方面,提供了一种通信设备,包括处理器。该处理器与存储器耦合,可用于执行第一方面至第二方面任一方面,以及第一方面至第二方面中任一种可能实现方式中的方法。可选地,该通信设备还可以包括存储器。可选地,该通信设备还可以包括发送接口和接收接口,处理器与发送接口和接收接口耦合。
29.在一种实现方式中,该通信设备可以为网络设备。当该通信设备为网络设备时,发送接口可以是发送器或输出接口,接收接口可以是接收器或输入接口。可选地,接收器可以是接收电路,发送器可以为发送电路。可选地,输入/输出接口可以为输入/输出电路。
30.在又一种实现方式中,该通信设备可以为芯片或芯片系统。当该通信设备为芯片或芯片系统时,接收/发送接口可以是该芯片或芯片系统上的输入/输出接口、接口电路、输入/输出电路、管脚或相关电路等。处理器也可以体现为处理电路或逻辑电路。
31.第六方面,提供了一种系统,系统包括上述网络设备,例如包括第一设备、第二设备和第三设备。
32.第七方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法,或者使得计算机执行上述第一方面至第二方面任一种实现方式中的方法。
33.第八方面,提供了一种计算机可读存储介质,计算机可读介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法,或者使得计算机执行上述第一方面至第二方面任一种实现方式中的方法。
34.第九方面,提供了一种处理装置,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发送信号,使得第一方面至第二方面任一方面,以及第一方面至第二方面中任一种可能实现方式中的方法被实现。
35.在具体实现过程中,上述处理装置可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发送器并由发送器发送的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本技术实施例对处理器及各种电路的具体实现方式不做限定。
附图说明
36.图1a为一种环网架构示意图;
37.图1b为另一种环网架构示意图;
38.图2a为本技术实施例适用的一种系统架构示意图;
39.图2b为图2a中数据传输方案的示意图;
40.图3为本技术实施例提供的一种故障处理方法流程示意图;
41.图4为本技术实施例适用的一种连通性检测报文的示意图;
42.图5a为本技术实施例提供的另一种故障处理方法流程示意图;
43.图5b为本技术实施例提供的另一种故障处理方法流程示意图;
44.图6为图2b所示的系统架构可能存在的一种应用场景;
45.图7为本技术实施例提供的一种通信设备的结构示意图;
46.图8为本技术实施例提供的另一种通信设备的结构示意图;
47.图9为本技术实施例提供的另一种通信设备的结构示意图;
48.图10为本技术实施例提供的另一种通信设备的结构示意图。
具体实施方式
49.图2a示例性示出了本技术实施例适用的一种系统架构示意图,如图2a所示,该系统架构可以是环网,该环网可以是基于区域通信计算网关架构的车内通信环形网络。如图2a所示,该环网包括多个设备,例如图2a中所示的第四设备、第二设备、第一设备和第三设备。需要注意的是,本技术实施例中仅仅以环网中包括四个设备为例进行示意,在实际应用中,设备的数量不受限制。如图2a所示,第四设备、第二设备、第一设备和第三设备依次互连构成环网。
50.如图2a所示,第四设备、第二设备、第一设备和第三设备可以是网络转发设备(或者称为网关设备、区域通信计算网关等)。网络转发设备可以使用一个相同速率的以太网接口(如1gbps,10gbps,25gbps)与其它设备相连。其它设备传输的数据可以是传感器采集到的数据、控制器局域网络(controller area network,can)总线数据信号等,传感器比如可以为雷达(radar)、高级驾驶辅助系统(advanced driver assistance system,adas)摄像头、激光雷达(light detection and ranging,lidar)。图2a中的其它设备以激光雷达和移动数据中心/移动计算中心(mobile data center,mdc)进行示意,实际应用中,还可以包括其他设备(如其它各类传感器)。其它设备可按照位于车身的位置就近接入到一台网络转发设备上。如图2a所示,激光雷达连接第四设备,移动数据中心/移动计算中心(mobile data center,mdc)连接第三设备。
51.图2b示例性示出了图2a中数据传输方案的示意图。以图2a中所示的系统架构应用在车内环网为例进行说明,在各个链路均无故障情况下,数据报文在环网中可能按顺时针方向(clockwise)传输。如图2b所示,激光雷达与放置在车身左后方的第四设备相连,激光雷达采集到的信号为以太网格式的数据,可以称为数据报文。该数据报文将传输给第二设备,再由第二设备按照默认顺时针的传输原则传输给第一设备,再由第一设备传输至第三设备后抵达mdc,由mdc根据该激光雷达采集到车身后部的各类障碍物信息识别判断车辆后方是否存在影响倒车的障碍物而做出是否进行刹车或踩油门等驾驶动作的行驶决定。
52.需要说明的是,环网中的网络转发设备的数量可为3~8个,图2a和图2b中显示的4个仅为示例。
53.如图2a和图2b所示,针对第四设备、第二设备、第一设备和第三设备中的每个设备,每个设备可以包括有一个或多个端口,如图2a所示的第四设备包括有第五端口和第六端口,第二设备包括有第三端口和第四端口,第一设备包括有第一端口和第二端口,第三设备包括有第七端口和第八端口。针对图2a所示的每个设备的每个端口,该端口都包括发送单元和接收单元,以第一设备的第一端口为例进行说明,其它类似不再赘述。如图2a所示,第一端口的发送单元连接第二设备中的第三端口的接收单元,第一端口的接收单元对应连接第二设备中的第三端口的发送单元,第一设备通过第一端口发送消息时,是通过第一端口的发送单元发送至第二设备中的第三端口的接收单元。第二设备通过第三端口发送消息时,是通过第二设备的第三端口的发送单元发送至第一设备的第一端口的接收单元。本技术实施例中一个端口的接收单元对应的链路与该端口的对端端口的发送单元对应的链路是同一条链路,一个端口的发送单元对应的链路与该端口的对端端口的接收单元对应的链路是同一条链路,例如图2a中,第一设备的第一端口的接收单元对应的链路与第二设备的第三端口的发送单元对应的链路是同一条链路,第一设备的第一端口的发送单元对应的链
路与第二设备的第三端口的接收单元对应的链路是同一条链路。
54.本技术实施例中可以称两个端口之间的链路为双向链路,该双向链路包括两个单向链路,例如第一端口和第三端口之间的双向链路包括:方向为从第一端口传输至第三端口的单向链路,以及方向为从第三端口传输至第一端口的单向链路。如图2a和图2b所示,两个端口之间的双向链路在实际上可以为两条物理线缆,也可以是一条物理线缆。例如,1000base-t1车规级以太网使用一条内部包含两根双绞铜线的线缆通信。一个1000base-t1接口可以同时使用这根线缆发送和接收数据(即全双工,英文可以写为full-duplex)。在这种情形下,如果1000base-t1接口的(发送单元发生故障,无法发送数据,即出现了单向故障。本技术实施例中涉及到的端口包括但不限于遵循车规级的1000base-t1(1gbps)的端口或遵循10gbase-t1(ieee即将标准化的车规级10gbps接口)的端口。
55.在介绍本技术实施例提供的方案之前,先对本技术实施例中提到的几个名词进行解释。
56.(1)本地故障
57.本技术实施例中,一个设备的一个端口发生了本地故障,是指该端口的接收单元对应的链路出现了故障,也可以称该端口处于本地故障状态。
58.(2)远端故障
59.本技术实施例中,一个设备的一个端口发生了远端故障,是指该端口的发送单元对应的链路出现了故障,也可以称该端口处于远端故障状态。
60.(3)非故障状态
61.本技术实施例中,可以说一个端口的发送单元对应的链路处于非故障状态(即该端口并未发生远端故障)。也可以说一个端口的接收单元对应的链路处于非故障状态(即该端口并未发生本地故障)。也可以说一个端口处于非故障状态,这种情况是指该端口的发送单元对应的链路处于非故障状态,且该端口的接收单元对应的链路处于非故障状态;也可以说该端口并未发生本地故障,且也未发生远端故障,即该端口处于正常工作状态。
62.本技术实施例中的术语“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
63.以及,除非有特别说明,本技术实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一连通性检测消息、第二连通性检测消息、第三连通性检测消息和第四连通性检测消息,只是为了区分不同的连通性检测消息,而并不是表示这几个连通性检测消息的优先级或者重要程度等的不同。再例如,第一数据报文和第二数据报文等,只是为了区分不同的数据报文,而并不是表示这几个数据报文的优先级或者重要程度等的不同。
64.基于上述内容,图3为本技术实施例提供的一种故障处理方法流程示意图,图3中以第一设备的第一端口为例进行介绍,如图3所示,该方法包括:
65.步骤201,第一设备判断第一端口当前是否满足本地故障判断条件,若满足,则执
行步骤202,若不满足,则执行步骤203。
66.本技术实施例中第一端口满足本地故障判断条件,则第一端口处于本地故障状态。本技术实施例中描述的“第一端口处于本地故障状态”具体是指“第一端口的接收单元对应的链路处于故障状态”。
67.本技术实施例中第一端口对应的本地故障判断条件可以包括以下内容中的一项或多项:
68.在预设的第一时长通过第一端口收到的第三连通性检测报文和第四连通性检测报文的总数量不大于第一数量;
69.第一端口处于的接收单元对应的链路处于断开状态。
70.在上述第一端口对应的本地故障判断条件中,第三连通性检测报文和第四连通性检测报文均是第二设备通过第三端口向第一端口发送的,第三连通性检测报文中携带有第一指示信息,第四连通性检测报文中携带有第二指示信息。第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路处于故障状态,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。后续内容将对第三连通性检测报文和第四连通性检测报文的发送时机等相关内容进行详细的介绍。
71.在上述第一端口对应的本地故障的判断条件中,第一时长可以是预设的,比如可以是指定个数(比如可以是3.5个)的第四连通性检测报文的周期对应的时长。第一数量是与第一时长对应的一个值。举个例子,环网中的第四连通性检测报文是以第二时长为周期周期性发送的(可以描述为第四连通性检测报文的发送周期为第二时长),这种情况下第一时长的值可以等于3.5个第二时长。这种情况下,第一数量应该是小于3.5的一个正整数,比如第一数量为1。第一端口对应的本地故障的判断条件的一种示例为:在3.5个第二时长内通过第一端口收到的第三连通性检测报文和第四连通性检测报文的总数量不大于1个。
72.第二项本地故障的判断条件:该第一端口的接收单元对应的链路处于断开状态。
73.本技术实施例中以第一端口为例,介绍了判断本地故障的几种可能的情况,若其它端口进行判断,则将上述第一端口对应的本地故障判断条件进行适应性更改,例如,第二设备需要判断第三端口是否发生本地故障,则第二设备可以判断是否满足以下条件中的一项或多项:
74.在预设的第一时长通过第三端口收到的第一连通性检测报文和第二连通性检测报文的总数量不大于第一数量;
75.第三端口处于的接收单元对应的链路处于断开状态。
76.在上述第三端口对应的本地故障判断条件中,第一连通性检测报文和第二连通性检测报文均是第一设备通过第一端口向第三端口发送的,第一连通性检测报文中携带有第一指示信息,第二连通性检测报文中携带有第二指示信息,第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路处于故障状态,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。后续内容将对第一连通性检测报文和第二连通性检测报文的发送时机等相关内容进行详细的介绍。
77.步骤202,在第一设备的第一端口处于本地故障状态的情况下,第一设备通过第一端口向第二设备的第三端口发送第一连通性检测消息。第一连通性检测消息携带第一指示信息,第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路处于故障状
态。
78.如此,可以使第二设备根据接收到的第一连通性检测消息中的第一指示信息确定出第一端口的接收单元对应的链路(即第三端口的发送单元对应的链路)出现了故障,即第三端口出现了远端故障。
79.在步骤202中,第一设备还可以在第一端口触发环回。也可以说,环回的触发条件包括第一设备发现自己的一个端口发生本地故障。示例性的,第一设备的第一端口触发环回,可以为针对需经过第一端口的发送单元发送的第一数据报文,第一设备将第一数据报文环回至第一端口的接收单元。进一步,可选地,第一设备可以对执行了环回的第一数据报文打上环回标记。本技术实施例中在第一端口执行环回,也可以说是在第一端口执行折叠倒换,名词的叫法有多种,但其实质上均是指:第一设备对第一数据报文的报文头字段进行改写,改写后依据对从第一端口的接收单元接收到的数据的处理流程对该改写了报文头字段的第一数据报文进行处理和转发(即将改写了报文头字段的第一数据报文当作是从第一端口接收到的数据进行处理和转发)。
80.由于第一端口发生本地故障时,可以通过对第一数据报文进行环回的方式继续提供传输服务,也就是说允许车内环网在发生单点故障的情况仍然可以提供可用的传输服务,以将业务的数据报文传递至目的设备,因此,可以提高数据传输的可靠性。
81.步骤203,第一设备判断是否通过第一端口收到第三连通性检测消息或第四连通性检测消息;若是,则执行步骤204;若不是,则继续执行步骤201。
82.步骤204,第一设备判断第一端口是否满足远端故障判断条件。若满足,则执行步骤205。若不满足,则执行步骤206。
83.本技术实施例中第一端口满足远端故障判断条件,则第一端口处于远端故障状态。本技术实施例中描述的“第一端口处于远端故障状态”具体是指“第一端口的发送单元对应的链路处于故障状态”。
84.本技术实施例中第一端口对应的远端故障判断条件可以包括:接收到第一指示信息。
85.由于第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路出现故障,因此若第一设备通过第一端口接收到第一指示信息,则说明第一端口的对端,即第三端口的接收单元对应的链路出现故障,而第三端口的接收单元对应的链路即为第一端口的发送单元对应的链路,因此,当第一设备通过第一端口接收到第一指示信息时,则可以确定第一端口的发送单元对应的链路出现了故障,即确定第一端口处于远端故障状态。
86.步骤205,在第一设备的第一端口处于远端故障状态的情况下,第一设备通过第一端口向第二设备的第三端口发送第二连通性检测消息。第二连通性检测消息未携带第一指示信息。一种可能地实施方式中,第二连通性检测消息中可以携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。
87.在步骤205中,还包括,第一设备在第一端口触发环回。也可以说,环回的触发条件包括:一个端口发生远端故障。第一设备在第一端口触发环回可以参见上述步骤202中的描述,在此不再赘述。
88.由于第一端口发生远端故障时,即第二设备的第三端口发生了本地故障时,第一设备也会触发环回,从而可以改善因未判断远端故障而导致的单向故障后无法完整恢复所
有业务数据流传输问题。
89.步骤206,第一设备判断第一端口是否处于本地故障状态或远端故障状态,若是,则执行步骤207,若不是,则执行步骤209。
90.本技术实施例中,可以为环网中的每个设备的每个端口维护一个端口状态寄存器(英文可以写为port_status寄存器),该端口状态寄存器用于指示该端口当前是处于本地故障状态(英文可以写为local_rx_fault)、远端故障状态(英文可以写为remote_rx_fault),或者正常工作状态(英文可以写为normal)。端口处于正常工作状态是指该端口的发送单元对应的链路处于非故障状态,且该端口的接收单元对应的链路处于非故障状态。
91.可选地,还可以为每个设备每个端口维护一个本地故障状态寄存器(英文可以写为ccm_local_rx_fault_flag寄存器)。其中,本地故障状态寄存器可以指示出端口当前是否处于本地故障状态。一种可选地实施方式中,可以为本地故障寄存器设置两个值,例如分别为“0”和“1”,当本地故障状态寄存器的值为0时,表示该端口当前未处于本地故障状态。当本地故障状态寄存器的值为1时,表示该端口当前处于本地故障状态。
92.一种可能地实施方式中,第一设备通过第一端口发送连通性检测消息,连通性检测消息中包括预设字段,该预设字段上承载第一指示信息或第二指示信息。该预设字段的值即为上述本地故障状态寄存器(英文可以写为ccm_local_rx_fault_flag寄存器)的值。本技术实施例中将第一设备通过第一端口发送的携带有第一指示信息的连通性检测消息称为第一连通性检测消息,将第一设备通过第一端口发送的未携带第一指示信息或携带有第二指示信息的连通性检测消息称为第二连通性检测消息。
93.一种可能地实现方式中,第一设备可以周期性发送连通性检测消息,可以设置一个定时器(英文可以写为send_ccm_timer定时器),定时器可以设置一个预设值,比如设置为上述第二时长,即每隔第二时长则触发第一设备根据第一端口对应的本地故障状态寄存器的值生成连通性检测消息(也可以说,将本地故障状态寄存器的值承载于连通性检测消息的预设字段),并通过第一端口向第二设备的第三端口发送该连通性检测消息。当本地故障状态寄存器的值用于指示第一端口处于本地故障状态,则该连通性检测消息即为上述第一连通性检测消息。当本地故障状态寄存器的值用于指示第一端口未处于本地故障状态,则该连通性检测消息即为上述第二连通性检测消息。
94.可选地,本技术实施例中提到的连通性检测消息(例如上述第一连通性检测消息、第二连通性检测消息、第三连通性检测消息和第四连通性检测消息等等),可以为端口级(或接口级)消息,可使用指定虚拟局域网(virtual local area network,vlan)标签发送,但连通性检测消息不限于仅检测该vlan内的连通性,还可以检测接口级的连通性。连通性检测消息逐跳终结不继续转发,即第一设备通过第一端口向第三端口发送第一连通性检测消息或第二连通性检测消息,第二设备通过第三端口收到后不再转发。本技术实施例中连通性检测消息的发送周期(例如上述第二时长)默认可以为300us周期(缺省值),其他发送周期选项可以为100us,200us,600us,1ms和3.3ms等。
95.在步骤206中,可以参考第一端口对应的端口状态寄存器和/或本地故障状态寄存器来确定第一端口当前的状态。
96.本技术实施例中,在上述步骤202中,当第一端口处于本地故障状态时,可以对应更新本地故障状态寄存器和端口状态寄存器。当在上述步骤205中,确定第一端口处于远端
故障状态时,也需要对应更新本地故障状态寄存器和端口状态寄存器。可能存在一种情况,第一端口当前处于本地故障状态,且也处于远端故障状态,即第一端口的两条链路均处于故障状态,这种情况下,本地故障状态寄存器的值需要设置为用于指示端口处于本地故障的值。而端口寄状态寄存器的值可以设置为用于指示端口处于本地故障的值,或者是设置为用于指示端口处于远端故障的值。也就是说,当第一端口的端口状态在本地故障、远端故障和正常工作状态之间切换时,需要对应更新端口状态寄存器和/或本地故障状态寄存器的值。
97.步骤207,第一设备判断是否满足撤销环回判断条件。若满足,则执行步骤208和步骤209;若不满足,则执行步骤209。
98.本技术实施例中第一端口对应的撤销环回判断条件包括:通过第一端口收到预设第二数量的第四连通性检测消息。第四连通性检测消息中未携带第一指示信息,或携带第二指示信息。第二数量可以是预设的,比如可以设置为5个。
99.一种可能地实现方式中,可以为第一端口设置一个计数器(英文可以写为consecutive_ccm_normal_count),用于统计第一端口在本地故障状态或远端故障状态下时接收到的第四连通性检测消息的数量。
100.在步骤207中,可选地,第一端口处于本地故障或远端故障的情况下,当接收到第四连通性检测消息时,可以将计数器的值加1,继而第一设备可以根据计数器的值判断第一端口接收到的第四连通性检测消息的个数是否不小于第二数量,若小于(即不满足撤销环回判断条件),则执行步骤209。若不小于(即满足撤销环回判断条件),则可以将计数器清零,并对第一端口撤销环回。也就是说,本技术实施例中,只有在第一端口处于本地故障或远端故障的情况下,当接收到第四连通性检测消息时,才会将计数器加1。在第一端口处于非故障状态下,即使收到第四连通性检测消息,也并不会对该计数器执行加1的操作。
101.一种可选地实施方式中,第一端口处于本地故障或远端故障的情况下,当接收到第三连通性检测消息时,可以将计数器的值清零,也就是说,在本地故障或远端故障情况下,收到的连通性检测消息可能是第三连通性检测消息,也可能是第四连通性检测消息,当连续5个(第二数量为5个)连通性检测消息均为第四连通性检测消息时,才确定其为满足撤销环回判断条件。举个例子,确定第一端口处于本地故障状态之后,第二设备通过第一端口接收到两个第四连通性检测消息,这种情况下,计数器的值为2。接着第一端口接收到一个第三连通性检测消息,这种情况下,将计数器的值清零,后续接着接收到3个第四连通性检测消息,此时计数器的值为3。当后续连着两个连通性检测消息依然是第四连通性检测消息时,才判断第一端口满足撤销环回判断条件,这种情况下,才对第一端口进行撤销环回的操作。
102.另一种可选地实施方式中,第一端口处于本地故障或远端故障的情况下,当接收到第三连通性检测消息时,不会将计数器的值清零。举个例子,确定第一端口处于本地故障状态之后,第二设备通过第一端口接收到两个第四连通性检测消息,这种情况下,计数器的值为2。接着第一端口接收到一个第三连通性检测消息,这种情况下,第一端口处于远端故障状态,但是并不会将计数器的值清零,后续接着接收到3个第四连通性检测消息,此时计数器的值为5,确定第一端口满足撤销环回判断条件,对第一端口进行撤销环回的操作。
103.步骤208,第一设备在第一端口上撤销环回。
104.在步骤208中,第一设备在第一端口上撤销环回后,针对需经过第一端口的发送单元发送的第一数据报文,第一设备将第一数据报文通过第一端口的发送单元发送至第二设备的第三端口。
105.在本技术实施例中,第一连通性检测消息、第二连通性检测消息均不属于第一数据报文,当在第一端口执行环回时,针对需经过第一端口发送的第一数据报文会被环回至第一端口的接收单元。而针对需通过第一端口发送的第一连通性检测消息和/或第二连通性检测消息,则均通过第一端口的发送单元发送至第二设备的第三端口,并不会环回至第一端口的接收单元。
106.本技术实施例中,第一数据报文是指第一设备要通过第一端口发送的报文中除了上述第一连通性检测消息和第二连通性检测消息之外的报文。
107.在步骤208中,第一设备可以自行撤销第一端口上的环回。当然也可以由第一设备上报至其控制面处理器和软件(比如,设备控制软件),由第一设备上层的设备控制软件或网络管理人员决定是否撤销环回,或者延迟撤销环回。若上层设备控制软件决定延迟撤销环回,比如可以设置一个定时器,指定一个时间,例如1分钟,如此,第一设备可以在1分钟之后再撤销第以端口上的环回,如此,可以减少链路短时间频繁中断和恢复,导致环回撤销后仍然故障的问题。
108.步骤209,第一设备通过第一端口向第二设备的第三端口发送第二连通性检测消息,第二连通性检测消息中未携带第一指示信息,可以携带第二指示信息。
109.本技术实施例中第三端口对应的撤销环回判断条件包括:通过第三端口收到预设第二数量的第二连通性检测消息。第二连通性检测消息中未携带第一指示信息,或携带第二指示信息。第二数量与之前第一端口对应的撤销环回判断条件中的第二数量可以为同一个参数,在此不再赘述。
110.一种可能地实现方式中,可以为第三端口设置一个计数器(英文可以写为consecutive_ccm_normal_count),用于统计第三端口在本地故障状态或远端故障状态下时接收到的第二连通性检测消息的数量。
111.可选地,第三端口处于本地故障或远端故障的情况下,当接收到第二连通性检测消息时,可以将计数器的值加1,继而第二设备可以根据计数器的值判断第三端口接收到的第二连通性检测消息的个数是否不小于第二数量,若小于(即不满足撤销环回判断条件),则不撤销环回。若不小于(即满足撤销环回判断条件),则可以将计数器清零,并对第三端口撤销环回。也就是说,本技术实施例中,只有在第三端口处于本地故障或远端故障的情况下,当接收到第二连通性检测消息时,才会将计数器加1。在第三端口处于非故障状态下,即使收到第二连通性检测消息,也并不会对该计数器执行加1的操作。
112.一种可选地实施方式中,第三端口处于本地故障或远端故障的情况下,当接收到第三连通性检测消息时,可以将计数器的值清零,也就是说,在本地故障或远端故障情况下,收到的连通性检测消息可能是第三连通性检测消息,也可以能第二连通性检测消息,当连续5个(第二数量为5个)连通性检测消息均为第二连通性检测消息时,才确定其为满足撤销环回判断条件。举个例子,确定第三端口处于本地故障状态之后,第二设备通过第三端口接收到两个第二连通性检测消息,这种情况下,计数器的值为2。接着第三端口接收到一个第三连通性检测消息,这种情况下,将计数器的值清零,后续接着接收到3个第二连通性检
测消息,此时计数器的值为3。当后续连着两个连通性检测消息依然是第二连通性检测消息时,才判断第三端口满足撤销环回判断条件,这种情况下,才对第三端口进行撤销环回的操作。
113.另一种可选地实施方式中,第三端口处于本地故障或远端故障的情况下,当接收到第三连通性检测消息时,不会将计数器的值清零。举个例子,确定第三端口处于本地故障状态之后,第二设备通过第三端口接收到两个第二连通性检测消息,这种情况下,计数器的值为2。接着第三端口接收到一个第三连通性检测消息,这种情况下,第三端口处于远端故障状态,但是并不会将计数器的值清零,后续接着接收到3个第二连通性检测消息,此时计数器的值为5,确定第三端口满足撤销环回判断条件,对第三端口进行撤销环回的操作。
114.上述内容中以第一设备的第一端口为例,对本技术实施例的故障处理方法进行了介绍。通过上述内容可以看出,本技术实施例中,第一设备的第一端口触发环回的条件包括:第一端口发生了本地故障,和/或,第一端口发生了远端故障。
115.下述表1中基于图3中给出的示例,以表格的形式罗列了第一设备的第一端口状态切换对应的触发条件和执行动作。以表1的第一行为例,第一设备的第一端口的原状态为正常工作状态,切换至了远端故障状态,触发条件为:第一设备在第一端口上接收到第一指示信息(上述示例中第一指示信息携带在第三连通性检测报文中),第一设备执行的动作为:设置port_status寄存器为remote_rx_fault状态,在第一端口上执行环回,发送第二连通性检测报文。表格1中的其它内容不再赘述,参见表格和上述图3相关内容即可。
116.表1第一设备的第一端口状态切换对应的触发条件和执行动作
[0117][0118]
需要说明的是,当第一设备的第一端口从正常工作状态切换至本地故障状态或远端故障状态,则第一设备需要在第一端口上触发环回的操作。而当第一设备的第一端口从本地故障状态切换至远端故障状态,或者从远端故障状态切换至本地故障状态,由于第一设备的第一端口在原状态下本来就在执行环回,因此切换至目的状态后,仅需继续维持环
回就可以了。
[0119]
另一方面,上述第一设备的第一端口从正常状态或本地故障状态切换至远端故障状态下之后,发送第一连通性检测报文的方式有多种,一种可能地实现方式中,第一设备的第一端口从正常状态或本地故障状态切换至远端故障状态下之后,可以立即连续发送一个或多个(比如3个)第一连通性检测报文,之后可以以上述第二时长为周期,周期性发送第一连通性检测报文。另外一种可能地实现方式中,第一设备的第一端口从正常状态或本地故障状态切换至远端故障状态下之后,以上述第二时长为周期,周期性发送第一连通性检测报文。
[0120]
通过上述图3提供的方案可以看出,本技术实施例中,一方面,由于第一设备可以根据从第一端口接收到的第三连通性检测消息确定出第一端口发生了远端故障,并在第一端口发生远端故障的情况下,触发环回,因此可以降低由于第一设备没有判断出远端故障导致的单向故障后无法完整恢复所有业务数据流传输问题。
[0121]
另一方面,由于第一设备在发生了本地故障的情况下,可以向第二设备发送携带第一指示信息的第一连通性检测消息,从而可以使第二设备判断出第三端口发生了远端故障,并在第三端口发生远端故障的情况下,触发环回,因此可以降低由于第二设备没有判断出远端故障导致的单向故障后无法完整恢复所有业务数据流传输问题。
[0122]
第三方面,由于第一设备在第一端口发生了本地故障的情况下,可以在第一端口触发环回,即可以通过对第一数据报文进行环回的方式继续提供传输服务,也就是说允许车内环网在发生单点故障的情况仍然可以提供可用的传输服务,以将业务的数据报文传递至目的设备,因此,可以提高数据传输的可靠性。
[0123]
图4示例性示出了一种本技术实施例适用的连通性检测报文的示意图,如图4所示,预设字段可以为图4中的“com_local_rx_fault_flag”字段,用于承载ccm_local_rx_fault_flag寄存器的值。如图4所示,本技术实施例中的连通性检测消息(例如上述第一连通性检测消息、第二连通性检测消息、第三连通性检测消息和第四连通性检测消息等等),可以沿用ieee 802.1q-2018标准中连通性检测消息格式的部分字段,图4所示的本技术实施例适用的连通性检测消息简化和省略了车载环网场景不需要的字段。连通性检测消息中的源mac地址(mac source)可以使用设备自身的mac地址(例如第一设备发出的第一连通性检测消息中的源mac可以是第一设备的mac地址),目的mac地址(mac destination)可以使用组播地址01-80-c2-00-00-30。
[0124]
可以看出,本技术实施例可兼容标准以太网帧、802.1cb的帧格式,在车内网络内同时支持基于802.1cb双发选收或基于wrapping倒换的高可靠传输机制,而无需分别定义2套帧格式、在车内网络内选择性的部署一种帧格式。且本技术实施例中未明显增加连通性检测消息占用的业务带宽,且未明显引入复杂的ccm应答机制,且可以兼容已有的环回方案,易于芯片扩展实现,实现复杂度低。本技术实施例中可以保障业务中断时间仍为1ms级别,未明显增加业务的倒换时间。
[0125]
图5a示例性示出了另一种故障处理方法的流程示意图,该方案以上述图2b所示的系统架构为例进行示意,如图5a所示,该方法包括:
[0126]
步骤501,第一设备确定第一端口的接收单元对应的链路处于故障状态。
[0127]
在上述步骤501中,若满足以下条件中的一项,该第一设备确定该第一端口的接收
单元对应的链路处于故障状态:
[0128]
在预设的第一时长通过第一端口收到的第三连通性检测报文和第四连通性检测报文的总数量不大于第一数量;该第一端口的接收单元对应的链路处于断开状态。此处描述参考上述图3相关内容,在此不再赘述。
[0129]
步骤502,该第一设备通过该第一端口向第二设备发送第一连通性检测消息,且该第一连通性检测消息携带第一指示信息,该第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路处于故障状态。
[0130]
相对应地,第二设备通过第三端口接收到来自第一设备的第一端口的第一连通性检测消息。
[0131]
步骤503,该第一设备确定该第二端口的接收单元对应的链路处于非故障状态;该第一设备通过该第二端口向该第三设备发送第五连通性检测消息,且该第五连通性检测消息携带第二指示信息,该第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。
[0132]
相对应地,第三设备接收第五连通性检测消息。
[0133]
上述步骤502和步骤503之间无一定的先后顺序关系,可以先执行步骤503,再执行步骤502。
[0134]
步骤504,针对需经过该第一端口的发送单元发送的第一数据报文,该第一设备将该第一数据报文通过该第一端口的发送单元发送至该第一端口的接收单元。
[0135]
步骤505,针对需经过该第三端口的发送单元发送的第二数据报文,该第二设备将该第二数据报文通过该第三端口的发送单元发送至该第三端口的接收单元。
[0136]
在本技术实施例中,第三连通性检测消息、第四连通性检测消息均不属于第二数据报文,当在第三端口执行环回时,针对需经过第三端口发送的第二数据报文会被环回至第三端口的接收单元。而针对需通过第三端口发送的第三连通性检测消息和/或第四连通性检测消息,则均通过第三端口的发送单元发送至第一设备的第一端口,并不会环回至第三端口的接收单元。
[0137]
本技术实施例中,第二数据报文是指第二设备要通过第三端口发送的报文中除了上述第三连通性检测消息和第四连通性检测消息之外的报文。
[0138]
步骤506,该第二设备通过该第三端口向该第一设备的第一端口发送第四连通性检测消息,且该第四连通性检测消息携带第二指示信息,该第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。
[0139]
如图5a所示,当第一设备发生了本地故障时,会通过发送第一指示信息告知第二设备,第二设备从而可以判断出第三端口发生了远端故障,进而执行环回。如此,可以避免因漏判远端故障所导致的单向故障后无法完整恢复所有业务数据流传输问题。
[0140]
图5b示例性示出了另一种故障处理方法的流程示意图,该方案以上述图2b所示的系统架构为例进行示意,如图5b所示,该方法包括:
[0141]
步骤601,若该第二设备确定该第三端口的接收单元对应的链路处于故障状态;
[0142]
在步骤601中,该第二设备确定该第三端口的接收单元对应的链路处于故障状态,包括:
[0143]
若满足以下条件中的一项,该第二设备确定该第三端口的接收单元对应的链路处
于故障状态:
[0144]
在预设的第一时长通过第三端口收到的第一连通性检测报文和第二连通性检测报文的总数量不大于第一数量;
[0145]
该第三端口的接收单元对应的链路处于断开状态。
[0146]
步骤602,该第二设备通过该第三端口向该第一设备发送第三连通性检测消息,且该第三连通性检测消息携带第一指示信息,该第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路处于故障状态。
[0147]
相对应地,第一设备接收第三连通性检测消息。
[0148]
步骤603,针对需经过该第三端口的发送单元转发的第二数据报文,该第二设备将该第二数据报文通过该第三端口的发送单元发送至该第三端口的接收单元。
[0149]
步骤604,针对需经过该第一端口的发送单元转发的第一数据报文,该第一设备将该第一数据报文通过该第一端口的发送单元发送至该第一端口的接收单元。
[0150]
步骤605,该第一设备通过该第一端口向该第二设备发送第二连通性检测消息,且该第二连通性检测消息携带第二指示信息,该第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。
[0151]
如图5b所示,当第二设备发生了本地故障时,会通过发送第一指示信息告知第一设备,第一设备从而可以判断出第三端口发生了远端故障,进而执行环回。如此,可以避免因漏判远端故障所导致的业务数据传输恢复不完全问题。
[0152]
一种可选地实施方式中,第一设备确定第一端口的接收单元对应的链路处于故障状态之后,还包括:若第一设备通过第一端口接收到第二数量的第四连通性检测消息;则第一设备通过第一端口向第二设备发送第二连通性检测消息;且:针对需经过第一端口的发送单元发送的第一数据报文,第一设备将第一数据报文通过第一端口发送至第二设备。
[0153]
另一种可选地实施方式中,第二设备通过第三端口接收到来自第一设备的第一端口的第一连通性检测消息之后,还包括:若第二设备通过第三端口接收到第二数量的第二连通性检测消息,第二设备通过第三端口向第一设备发送第四连通性检测消息;且:针对需经过第三端口的发送单元发送的第二数据报文,第二设备将第二数据报文通过第三端口发送至第一设备。
[0154]
图6示例性示出了图2b所示的系统架构可能存在的一种应用场景,如图6所示,第二设备的第三端口的发送单元对应的链路出现了故障,下面基于图6所示的系统架构,对本技术实施例的方案进行描述。
[0155]
第一步,第一设备、第二设备、第三设备和第四设备在环网中的链路均处于非故障状态下时,环网中可以以默认的顺时针方向传输数据,例如前述图2b中所示的,激光雷达采集到的数据报文,依次通过第四设备、第二设备、第一设备和第三设备发送至mdc。针对环网中的第一设备、第二设备、第三设备和第四设备中的每个设备的每个端口,该设备在该端口的上按300us周期性发送连通性检测消息,连通性检测消息中携带有该端口对应的ccm_local_rx_fault_flag寄存器的值。当该端口的接收单元对应的链路处于故障状态,则ccm_local_rx_fault_flag寄存器的值为1,当该端口的接收单元对应的链路处于非故障状态,则ccm_local_rx_fault_flag寄存器的值为0。
[0156]
第二步,如图6所示,若第一设备检测到第一端口的接收单元对应的链路出现了故
障,则第一设备的第一端口触发环回。且第一设备的第一端口对应的port_status寄存器的值更新为local_rx_fault状态,第一设备的第一端口对应的ccm_local_rx_fault_flag寄存器的值更新为1,并且立即无间隔的通过第一端口连续发送3个连通性检测消息,且该3个连通性检测消息中携带的ccm_local_rx_fault_flag寄存器的值为1。之后以300us周期性发送连通性检测消息,且该连通性检测消息携带第一端口对应的当前的ccm_local_rx_fault_flag寄存器的值“1”。
[0157]
第三步,第二设备通过第三端口接收到连通性检测消息,且检测到该连通性检测消息中携带的ccm_local_rx_fault_flag寄存器的值为“1”,则第二设备的第三端口将第三端口对应的port_status寄存器的值更新为remote_rx_fault状态,且第二设备在第三端口触发环回。且继续在第三端口上发送连通性检测消息,该连通性检测消息中携带第三端口当前的ccm_local_rx_fault_flag寄存器的值“0”。这种情况下,激光雷达发送的数据经过第四设备发送至第二设备的第三端口,到达第三端口的发送单元之后,被环回至第三端口的接收单元,之后按照从第三端口接收单元接收到的数据报文的处理流程对该激光雷达采集的数据报文进行转发,具体为:该激光雷达的数据报文经过第二设备的第四端口传输至第四设备,由第四设备传输至第三设备,并由第三设备传输至mdc。
[0158]
第四步,若第一设备从第一端口的接收单元对应的链路上收到5个连通性检测消息,且均携带的ccm_local_rx_fault_flag寄存器的值“0”,则第一设备撤销第一端口的环回。且第一设备的第一端口对应的port_status寄存器的值更新为normal状态,第一设备的第一端口对应的ccm_local_rx_fault_flag寄存器的值更新为0,并且以300us周期性发送连通性检测消息,且该连通性检测消息携带第一端口对应的当前的ccm_local_rx_fault_flag寄存器的值“0”。
[0159]
第五步,若第二设备从第三端口的接收单元对应的链路上收到5个连通性检测消息,且均携带的ccm_local_rx_fault_flag寄存器的值“0”,则第二设备撤销第三端口的环回。且第二设备的第三端口对应的port_status寄存器的值更新为normal状态,第二设备的第三端口对应的ccm_local_rx_fault_flag寄存器的值不变,依然为0,并且以300us周期性发送连通性检测消息,且该连通性检测消息携带第三端口对应的当前的ccm_local_rx_fault_flag寄存器的值“0”。
[0160]
一种可能地实现方式中,如图2b所示,第一设备通过第一端口连接第二设备,第一设备通过第二端口连接第三设备。第一设备通过第一端口向第二设备发送连通性检测消息,第一设备通过第二端口也向第三设备发送连通性检测消息。针对每个端口,若该端口发生了本地故障,则通过该端口所发送的连通性检测消息携带有第一指示信息,若该端口未发生本地故障,则通过该端口发送的连通性检测消息中未携带第一指示信息,可选地,可以携带第二指示信息。如图6所示,若第一设备的第一端口的接收单元对应的链路出现了故障,则第一设备通过第一端口发送的连通性检测消息中携带第一指示信息,而第一设备通过第二端口发送的连通性检测消息中未携带第一指示信息。也就是说,一个设备有多个端口时,并不是所有端口发送的连通性检测消息都是一样的,而是根据每个端口是否发生了本地故障,确定通过每个端口发送的连通性检测消息中是否携带第一指示信息的。由于若第一设备仅第一端口的接收单元对应的链路出现故障,则通过第一端口发送的连通性检测消息中携带有第一指示信息,而通过第二端口发送的连通性检测消息中未携带第一指示信
息,因此第二设备可以确定第三端口发生了远端故障,而第三设备可以确定第八端口未发生远端故障。
[0161]
需要说明的是,上述各个消息的名称(第一连通性检测消息、第二连通性检测消息、第三连通性检测消息和第四连通性检测消息)仅仅是作为示例,随着通信技术的演变,上述任意消息均可能改变其名称,但不管其名称如何发生变化,只要其含义与本技术上述消息的含义相同,则均落入本技术的保护范围之内。
[0162]
上述主要从各个网元之间交互的角度对本技术提供的方案进行了介绍。可以理解的是,上述实现各网元为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0163]
根据前述方法,图7为本技术实施例提供的通信设备的结构示意图,如图7所示,该通信设备可以为上述第一设备,用于执行上述第一设备所执行的方法流程。该通信设备可以为网络设备,例如网关设备,也可以为芯片或电路,比如可设置于网络设备的芯片或电路。例如本技术实施例中提供的通信设备可以落地在网关/转发设备的专用集成芯片(application specific integrated circuit,asic)或现场可编程门阵列(field programmable gate array,fpga)上。
[0164]
进一步的,该通信设备1301可以包括多个通信接口,例如图7中示出的第一端口的发送接口1303和第一端口的接收接口1305,以及第二端口的发送接口1306和接收接口1307。
[0165]
该通信设备1301还可以进一步包括总线系统,其中,处理器1302、存储器1304、发送接口1303、接收接口1305、发送接口1306和接收接口1307可以通过总线系统相连。
[0166]
在一种可选地实施方式中,处理器1302,用于确定第一端口的接收接口1305对应的链路处于故障状态;第一端口的发送接口1303,用于向第二设备发送第一连通性检测消息;其中,第一连通性检测消息携带第一指示信息,第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路处于故障状态。
[0167]
在一种可选地实施方式中,处理器1302,还用于:针对需经过第一端口的发送接口1303发送的第一数据报文,通过第一端口的发送接口1303将第一数据报文发送至第一端口的接收接口1305。
[0168]
在一种可选地实施方式中,第一设备还包括第二端口,第一设备通过第一端口与第二设备连接,第一设备通过第二端口与第三设备连接;处理器1302,还用于:确定第二端口的接收单元对应的链路处于非故障状态;第二端口的发送接口1306,用于向第三设备发送第五连通性检测消息,且第五连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。
[0169]
在一种可选地实施方式中,还包括第一端口的接收接口1305,用于:接收第三连通性检测消息,第三连通性检测消息携带第一指示信息,则:第一端口的发送接口1303,还用于:针对需经过第一端口的发送接口1303转发的第一数据报文,将第一数据报文发送至第
一端口的接收接口1305;通过第一端口的发送接口1303向第二设备发送第二连通性检测消息,且第二连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。
[0170]
在一种可选地实施方式中,若处理器1302确定:在预设的第一时长通过第一端口收到的第三连通性检测报文和第四连通性检测报文的总数量不大于第一数量;和/或;第一端口的接收接口1305对应的链路处于断开状态,则确定所述第一端口的接收单元对应的链路处于故障状态。
[0171]
在一种可选地实施方式中,第一端口的接收接口1305,还用于接收到第二数量的第四连通性检测消息,第四连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态;则:第一端口的发送接口1303,还用于向第二设备发送第二连通性检测消息,且第二连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。
[0172]
在一种可选地实施方式中,第一端口的发送接口1303,用于:针对需经过第一端口的发送接口1303发送的第一数据报文,将第一数据报文通过发送至第二设备。
[0173]
根据前述方法,图8为本技术实施例提供的通信设备的结构示意图,如图8所示,该通信设备可以为上述第二设备,用于执行上述第二设备所执行的方法流程。该通信设备可以为网络设备,例如网关设备,也可以为芯片或电路,比如可设置于网络设备的芯片或电路。例如本技术实施例中提供的通信设备可以落地在网关/转发设备的专用集成芯片(application specific integrated circuit,asic)或现场可编程门阵列(field programmable gate array,fpga)上。
[0174]
进一步的,该通信设备1401可以包括多个通信接口,例如图8中示出的第三端口的发送接口1403和第三端口的接收接口1405。
[0175]
该通信设备1401还可以进一步包括总线系统,其中,处理器1402、存储器1404、发送接口1403和接收接口1405可以通过总线系统相连。
[0176]
在一种可选地实施方式中,第三端口的接收接口1405,用于接收来自第一设备的第一端口的第一连通性检测消息,第一连通性检测消息携带第一指示信息,第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路处于故障状态;
[0177]
处理器1402,用于针对需经过第三端口的发送接口1403发送的第二数据报文,通过第三端口的发送接口1403将第二数据报文发送至第三端口的接收接口1405。
[0178]
在一种可选地实施方式中,第三端口的发送接口1403,还用于:向第一设备的第一端口发送第四连通性检测消息,且第四连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。
[0179]
在一种可选地实施方式中,还包括处理器1402,用于确定第三端口的接收接口1405对应的链路处于故障状态;第三端口的发送接口1403,还用于:向第一设备发送第三连通性检测消息,且第三连通性检测消息携带第一指示信息,第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路处于故障状态。
[0180]
在一种可选地实施方式中,处理器1402,还用于:针对需经过第三端口的发送接口1403转发的第二数据报文,通过第三端口的发送接口1403将第二数据报文发送至第三端口
的接收接口1405。
[0181]
在一种可选地实施方式中,若处理器1402确定在预设的第一时长通过第三端口的接收接口1405收到的第一连通性检测报文和第二连通性检测报文的总数量不大于第一数量;和/或,第三端口的接收接口1405对应的链路处于断开状态,则确定第三端口的接收接口1405对应的链路处于故障状态。
[0182]
在一种可选地实施方式中,第三端口的接收接口1405,还用于:接收到第二数量的第二连通性检测消息,第二连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态;第三端口的发送接口1403,还用于:向第一设备发送第四连通性检测消息,且第四连通性检测消息携带第二指示信息,第二指示信息用于指示发送第二指示信息的端口的接收单元对应的链路处于非故障状态。
[0183]
在一种可选地实施方式中,第三端口的发送接口1403,还用于:针对需经过第三端口的发送接口1403发送的第二数据报文,将第二数据报文发送至第一设备。
[0184]
应理解,针对上述处理器1302和处理器1402中的每个处理器,该处理器可以是一个芯片。例如,处理器可以是现场可编程门阵列(field programmable gate array,fpga),可以是专用集成芯片(application specific integrated circuit,asic),还可以是系统芯片(system on chip,soc),还可以是中央处理器(central processor unit,cpu),还可以是网络处理器(network processor,np),还可以是数字信号处理电路(digital signal processor,dsp),还可以是微控制器(micro controller unit,mcu),还可以是可编程控制器(programmable logic device,pld)或其他集成芯片。
[0185]
针对上述处理器1302和处理器1402中的每个处理器,在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0186]
针对上述存储器1304和存储器1404中的每个存储器,可以理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0187]
该通信设备所涉及的与本技术实施例提供的技术方案相关的概念,解释和详细说
明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
[0188]
本技术实施例中,收发器可以实现上述通信接口所实现的方案,例如,上述发送接口可以由发送器来实现,接收接口可以由接收器来实现,具体方法步骤可以参见前述内容,在此不再赘述。
[0189]
基于以上实施例以及相同构思,图9为本技术实施例提供的通信设备的示意图,如图9所示,该通信设备1101可以为网络设备,也可以为芯片或电路,比如可设置于网络设备的芯片或电路。
[0190]
该通信设备1101对应上述方法中的第一设备的情况下,该通信设备可以包括处理单元1102、第一端口的接收单元1105、第一端口的发送单元1103、第二端口的发送单元1106和第二端口的接收单元1107。处理单元1102,用于确定第一端口的接收单元1105对应的链路处于故障状态;第一端口的发送单元1103,用于向第二设备发送第一连通性检测消息;其中,第一连通性检测消息携带第一指示信息,第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路处于故障状态。
[0191]
应理解,以上通信设备的单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本技术实施例中,第一端口的接收单元1105可以由上述图7的第一端口的接收接口1305实现,第一端口的发送单元1103可以由上述图7的第一端口的发送接口1303实现,第二端口的接收单元1107可以由上述图7的第二端口的接收接口1307实现,第二端口的发送单元1106可以由上述图7的第二端口的发送接口1306实现,处理单元1102可以由上述图7的处理器1302实现。
[0192]
基于以上实施例以及相同构思,图10为本技术实施例提供的通信设备的示意图,如图10所示,该通信设备1201可以为网络设备,也可以为芯片或电路,比如可设置于网络设备的芯片或电路。
[0193]
该通信设备1201对应上述方法中的第二设备的情况下,该通信设备可以包括处理单元1202、第三端口的接收单元1205和第三端口的发送单元1203。第三端口的接收单元1205,用于接收来自第一设备的第一端口的第一连通性检测消息,第一连通性检测消息携带第一指示信息,第一指示信息用于指示发送第一指示信息的端口的接收单元对应的链路处于故障状态;第三端口的发送单元1203,用于针对需经过第三端口的发送单元1203发送的第二数据报文,将第二数据报文发送至第三端口的接收单元1205。
[0194]
该通信设备所涉及的与本技术实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
[0195]
可以理解的是,上述通信设备1501中各个单元的功能可以参考相应方法实施例的实现,此处不再赘述。
[0196]
应理解,以上通信设备的单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本技术实施例中,第三端口的接收单元1205可以由上述图8的第三端口的接收接口1405实现,第三端口的发送单元1203可以由上述图8的第三端口发送接口1403实现,处理单元1202可以由上述图8的处理器1402实现。
[0197]
根据本技术实施例提供的方法,本技术还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行
图3所示实施例中任意一个实施例的方法。
[0198]
根据本技术实施例提供的方法,本技术还提供一种计算机可读存储介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行图3所示实施例中任意一个实施例的方法。
[0199]
根据本技术实施例提供的方法,本技术还提供一种系统,其包括前述的一个或多个网络设备,例如包括前述内容中的第一设备、第二设备和第三设备。
[0200]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,dvd))、或者半导体介质(例如,固态硬盘(solid state disc,ssd))等。
[0201]
上述各个装置实施例中网络设备和方法实施例中的网络设备对应,由相应的模块或单元执行相应的步骤,例如通信单元(收发器)执行方法实施例中接收或发送的步骤,除发送、接收外的其它步骤可以由处理单元(处理器)执行。具体单元的功能可以参考相应的方法实施例。其中,处理器可以为一个或多个。
[0202]
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在两个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
[0203]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0204]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0205]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,
仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0206]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0207]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0208]
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0209]
以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1