一种检测端口的方法和设备的制作方法

文档序号:7749766阅读:215来源:国知局
专利名称:一种检测端口的方法和设备的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种检测端口的方法和设备。
背景技术
通信单板对外的业务接口往往呈现为若干个以太接口,这些接口之间互为冗余关系,当某个以太接口出现link(链路)丢失等物理层通信故障(如网线的水晶头被误拔出) 的时候,经过检测和切换手段,将与故障端口连接的链路切换到状态良好的端口。IEEE (Institute of Electrical and Electronics Engineers,电气禾口电子工禾呈师协会)802. 3标准规定link失败的最长时间不能超过750ms,如果超过则认为端口出现故障。现在主要采用软件来检测故障以太接口,主要过程是中央处理模块定时(通常为100ms)发送心跳包,对端在收到后则会将心跳包返回发送端,如果发送端在规定时间内没有收到包,则认定端口出现故障,从而执行端口切换程序。这种方法最长检测到故障的时间为T =心跳周期+调用心跳包检测程序耗费的时间,使得实时性比较差,并且心跳包需要占用有效带宽,从而降低了带宽利用率。综上所述,目前检测端口需要占用有效带宽,从而降低了带宽利用率,并且实时性比较差。

发明内容
本发明实施例提供一种检测端口的方法和设备,用以解决现有技术中存在的目前检测端口需要占用有效带宽,从而降低了带宽利用率,并且实时性比较差的问题。本发明实施例提供的一种检测端口的方法,该方法包括物理层模块判断端口是否发生故障;所述物理层模块在确定端口发生故障后,向中央处理模块发送连接失败指示信号,用于通知所述中央处理模块端口发生故障。 所述物理层模块发送连接失败指示信号之后还包括所述中央处理模块在收到所述连接失败指示信号后,进行端口切换操作。所述中央处理模块在收到所述连接失败指示信之前还包括所述中央处理模块确定每个端口对应的优先级,并选择优先级最高的端口进行传输;所述中央处理模块进行端口切换操作包括所述中央处理模块取消故障端口的优先级,确定当前每个端口对应的优先级,并切换到当前优先级最高的端口。所述中央处理模块进行端口切换操作之后还包括所述中央处理模块在发生故障的端口恢复正常后,将恢复正常后的端口的优先级设置为最低。
3
所述中央处理模块收到所述连接失败指示信之后还包括所述中央处理模块确定发生故障的端口的故障类型,并将故障类型通知上层处理。本发明实施例提供的一种检测端口的设备,包括中央处理模块,该设备还包括物理层模块,用于判断端口是否发生故障,所述物理层模块在确定端口发生故障后,向所述中央处理模块发送连接失败指示信号,用于通知所述中央处理模块端口发生故障。所述物理层模块用于在收到所述连接失败指示信号后,进行端口切换操作。所述中央处理模块具体用于确定每个端口对应的优先级,并选择优先级最高的端口进行传输,在收到所述连接失败指示信号后,取消故障端口的优先级,确定当前每个端口对应的优先级,并切换到当前优先级最高的端口。所述中央处理模块还用于在发生故障的端口恢复正常后,将恢复正常后的端口的优先级设置为最低。所述中央处理模块还用于在收到所述连接失败指示信后,确定发生故障的端口的故障类型,并将故障类型通知上层处理。本发明实施例物理层模块在确定端口发生故障后,向中央处理模块发送连接失败指示信号,用于通知中央处理模块端口发生故障。由于通过物理层模块检测端口是否故障, 并在故障时发送连接失败指示信号,不需要占用有效带宽,从而提高了带宽利用率,并且物理层模块在检测到端口故障并发送连接失败指示信号的时间很短,具有较好的实时性。


图1为本发明实施例检测端口的设备结构示意图;图2为本发明实施例切换端口的示意图;图3为本发明实施例检测端口的方法流程示意图;图4为本发明实施例切换端口的方法流程示意图。
具体实施例方式本发明实施例物理层模块在确定端口发生故障后,向中央处理模块发送连接失败指示信号,用于通知中央处理模块端口发生故障。由于通过物理层模块检测端口是否故障, 并在故障时发送连接失败指示信号,不需要占用有效带宽,从而提高了带宽利用率。其中,本发明实施例中的物理层模块是把介质无关类的总线转换为电口类总线 (如网线)或者光口类总线(如光纤),同时还完成传输信号的编码功能的一类芯片。本发明实施例中的中央处理模块可以是中央处理器(CPU)芯片,以及以及其他可以提供以太功能的处理器。本发明实施例的端口包括但不限于下列端口中的一种以太网端口(比如10/100M端口、GE端口、IOGE端口等)和光纤接口。
如图1所示,本发明实施例检测端口的设备包括物理层模块10和中央处理模块 20。物理层模块10,用于判断端口是否发生故障,物理层模块在确定端口发生故障后, 向中央处理模块发送连接失败指示信号,用于通知中央处理模块20端口发生故障。中央处理模块20,用于接收连接失败指示信号。其中,物理层模块10在链路丢失时,确定端口发生故障。具体的,当链路丢失时,物理层模块芯片10内部的寄存器状态会自动的发生变化。也就是说,物理层模块芯片10内部的寄存器状态变化时,就知道链路丢失。在具体实施过程中,物理层模块10向中央处理模块20发送的连接失败指示信号可以是中断信号,还可以是其他能够表示端口发生故障的信号。无论物理层的通信介质为双绞线电缆还是光纤,当链路丢失时,物理层模块10都能发送连接失败指示信号。由于物理层模块10在确定端口发生故障后Ims之内就会发送连接失败指示信号, 从而缩短了中央处理模块20知道端口故障的时间,具有较好的实时性。其中,中央处理模块20在收到连接失败指示信号后,进行端口切换操作。具体的,中央处理模块20将与发生故障的端口连接的链路,切换到正常的端口上。比如中央处理模块20在收到连接失败指示信号后,中断并保存当前的程序,执行端口切换程序,断开故障端口,将数据源与通信正常的端口完成对应的映射关系,通过正常的端口继续发送业务包。在具体实施过程中,由于每个物理层模块10与外部端口有一一对应关系,所以中央处理模块20可以根据在发送连接失败指示信号的物理层模块10确定是哪个端口发生故障。一种较佳的方式是采用端口优先级动态分配的方法进行故障切换。具体的,中央处理模块20预先确定每个端口对应的优先级,并选择优先级最高的端口进行传输,在收到连接失败指示信号后,取消故障端口的优先级,确定当前每个端口对应的优先级,并切换到当前优先级最高的端口。假设有三个端口,在某一时刻,A端口的优先级为1,B端口的优先级为2,C端口的优先级为3。这里规定,优先使用优先级编号较低者,即此时采用A端口发包,B端口和C 端口处于空闲状态。当中央处理器模块20收到A端口的中断(link丢失等)触发时,会将 A端口的优先级别取消,并标注为故障端口,同时所有处于空闲状态的端口的优先级在数值上减一,即B端口的优先级由2变为1,C端口的优先级由3变为2,接着中央处理模块20再根据当前的优先级别决定采用B端口发包。进一步的,中央处理模块20在发生故障的端口恢复正常后,将恢复正常后的端口的优先级设置为最低。比如A端口的优先级为1,B端口的优先级为2,C端口的优先级为3,A端口故障后,B端口的优先级为3,C端口的优先级为2。在A端口恢复正常后,将A端口的故障标签去掉,A端口的优先级赋为当前端口中最低优先级,即A端口优先级为3。需要说明的是,上面的优先级3、2和1只是举例说明方案,在实施中,可以规定3是最高优先级,也可以不局限于数字,字母等其他能够表示优先级的方式也适用本发明实施例,并且也可以不进行数值加减,在端口恢复正常后可以增加一个最低优先级的表示方式,比如两个端口优先级分别是A和B,优先级A的端口故障后,可以保留优先级B,在优先级A的端口恢复正常后,修改优先级为C即可。其中,中央处理模块20在收到连接失败指示信后,还可以确定发生故障的端口的故障类型,并将故障类型通知上层处理。具体的,中央处理模块20在收到连接失败指示信之后,读取物理层模块10中的寄存器状态,并根据寄存器状态确定对应的故障类型。由于每种可能的故障类型在物理层模块10中都有定义,只要查询物理层模块10 中的故障状态寄存器即可。如果中央处理模块20根据故障类型确定该故障上层无法修复(比如端口脱落等),则可以通知网关处理,比如声光报警等方式。如图2所示,本发明实施例切换端口的示意图中,中央处理模块20在数据处理板上,分别通过两个介质无关接口与两个物理层模块10连接,并通过介质无关接口向物理层模块10发送数据,与RJ45端口连接的物理层模块10接收到数据后通过RJ45端口发送,与光纤端口连接的物理层模块10接收到数据后通过光纤端口发送。如果RJ45端口故障,则与RJ45端口连接的物理层模块10会向中央处理模块20 发送中断信号,中央处理模块20会对该端口进行切换操作,将与该端口映射的数据源,映射端其他正常的端口上。中央处理模块20可以通过管理接口查看物理层模块10中寄存器的状态从,根据寄存器的状态确定是故障类型以及判断故障是否消除。如图3所示,本发明实施例检测端口的方法包括下列步骤步骤301、物理层模块判断端口是否发生故障。步骤302、物理层模块在确定端口发生故障后,向中央处理模块发送连接失败指示信号,用于通知中央处理模块端口发生故障。步骤301中,物理层模块可以根据链路是否丢失,确定端口是否发生故障,在链路丢失时,确定端口发生故障。具体的,当链路丢失时,物理层模块芯片10内部的寄存器状态会自动的发生变化。也就是说,物理层模块芯片10内部的寄存器状态变化时,就知道链路丢失。在具体实施过程中,步骤302中,物理层模块向中央处理模块发送的连接失败指示信号可以是中断信号,还可以是其他能够表示端口发生故障的信号。由于物理层模块在确定端口发生故障后Ims之内就会发送连接失败指示信号,从而缩短了中央处理模块知道端口故障的时间,具有较好的实时性。其中,步骤302之后还可以进一步包括步骤303、中央处理模块在收到连接失败指示信号后,进行端口切换操作。具体的,步骤303中,中央处理模块将与发生故障的端口连接的链路,切换到正常的端口上。比如中央处理模块在收到连接失败指示信号后,中断并保存当前的程序,执行端口切换程序,断开故障端口,将数据源与通信正常的端口完成对应的映射关系,通过正常的
6端口继续发送业务包。在具体实施过程中,由于每个物理层模块与外部端口有一一对应关系,所以中央处理模块可以根据在发送连接失败指示信号的物理层模块确定是哪个端口发生故障。—种较佳的方式是采用端口优先级动态分配的方法进行故障切换。具体的,中央处理模块预先确定每个端口对应的优先级,并选择优先级最高的端口进行传输,在收到连接失败指示信号后,取消故障端口的优先级,确定当前每个端口对应的优先级,并切换到当前优先级最高的端口。假设有三个端口,在某一时刻,A端口的优先级为1,B端口的优先级为2,C端口的优先级为3。这里规定,优先使用优先级编号较低者,即此时采用A端口发包,B端口和C 端口处于空闲状态。当中央处理器模块20收到A端口的中断(link丢失等)触发时,会将 A端口的优先级别取消,并标注为故障端口,同时所有处于空闲状态的端口的优先级在数值上减一,即B端口的优先级由2变为1,C端口的优先级由3变为2,接着中央处理模块20再根据当前的优先级别决定采用B端口发包。进一步的,中央处理模块在发生故障的端口恢复正常后,将恢复正常后的端口的优先级设置为最低。比如A端口的优先级为1,B端口的优先级为2,C端口的优先级为3,A端口故障后,B端口的优先级为3,C端口的优先级为2。在A端口恢复正常后,将A端口的故障标签去掉,A端口的优先级赋为当前端口中最低优先级,即A端口优先级为3。需要说明的是,上面的优先级3、2和1只是举例说明方案,在实施中,可以规定3 是最高优先级,也可以不局限于数字,字母等其他能够表示优先级的方式也适用本发明实施例,并且也可以不进行数值加减,在端口恢复正常后可以增加一个最低优先级的表示方式,比如两个端口优先级分别是A和B,优先级A的端口故障后,可以保留优先级B,在优先级A的端口恢复正常后,修改优先级为C即可。步骤303中,中央处理模块在收到连接失败指示信后,还可以确定发生故障的端口的故障类型,并将故障类型通知上层处理。具体的,中央处理模块在收到连接失败指示信之后,读取物理层模块中的寄存器状态,并根据寄存器状态确定对应的故障类型。如果中央处理模块根据故障类型确定该故障上层无法修复(比如端口脱落等), 则可以通知网关处理。如图4所示,本发明实施例切换端口的方法包括下列步骤步骤401、中央处理模块初始化端口优先级,A端口的优先级为1,B端口的优先级为2,C端口的优先级为3。步骤402、中央处理模块根据优先级分配端口状态,A端口是使用状态,B端口和C 端口是空闲状态,以及中央处理模块通过A端口发送数据包。步骤403、与使用状态的端口连接的物理层模块判断该端口连接的链路是否正常, 如果是,则继续判断,否则执行步骤404。 这里的使用状态的端口是A端口。 其中,物理层模块可以在端口的状态变为使用状态后就检测与使用状态的端口连接的链路是否正常。也就是说,步骤403与中央处理模块通过A端口发送数据包没有必然的顺序,即可以先执行中央处理模块通过A端口发送数据包的步骤,再执行步骤403,也可以先执行步骤403再执行中央处理模块通过A端口发送数据包的步骤,还可以同时执行中央处理模块通过A端口发送数据包的步骤和步骤403。当然,如果没有需要通过A端口发送的数据包,也可以不执行中央处理模块通过A 端口发送数据包的步骤。步骤404、物理层模块向中央处理器发送中断信号。步骤405、中央处理模块改变每个端口的优先级,并标记A端口故障,改变后的B端口优先级为1,C端口优先级为2。步骤406、中央处理模块根据优先级分配端口状态,B端口是使用状态,C端口,并将通过A端口发送的数据包切换到通过B端口发送。由于使用状态的端口变为B端口,所以步骤406后返回到步骤403时,步骤403中的执行主体变成与B端口连接的物理层模块。由于B端口是使用状态,所以物理层模块就会检测与B端口连接的链路。步骤407、中央处理模块将故障类型通知上层处理。其中,步骤407可以在步骤404和步骤405之间执行。步骤408、中央处理模块在确定发生故障的链路故障消除后,将A端口的故障标签去掉,将A端口的优先级设置成当前端口中最低优先级。如果故障无法通过软件消除,通过外部声光告警等方式告诉设备维护人员处理。 如果故障可以通过软件消除,则在故障处理后重新查询物理层模块的状态,在确认故障已经消除后,将A端口的故障标签去掉,将A端口的优先级设置成当前端口中最低优先级。从上述实施例中可以看出本发明实施例物理层模块判断端口是否发生故障;物理层模块在确定端口发生故障后,向中央处理模块发送连接失败指示信号,用于通知中央处理模块端口发生故障。由于通过物理层模块检测端口是否故障,并在故障时发送连接失败指示信号,不需要占用有效带宽,从而提高了带宽利用率,并且物理层模块在检测到端口故障并发送连接失败指示信号的时间很短,具有较好的实时性。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种检测端口的方法,其特征在于,该方法包括物理层模块判断端口是否发生故障;所述物理层模块在确定端口发生故障后,向中央处理模块发送连接失败指示信号,用于通知所述中央处理模块端口发生故障。
2.如权利要求1所述的方法,其特征在于,所述物理层模块发送连接失败指示信号之后还包括所述中央处理模块在收到所述连接失败指示信号后,进行端口切换操作。
3.如权利要求2所述的方法,其特征在于,所述中央处理模块在收到所述连接失败指示信之前还包括所述中央处理模块确定每个端口对应的优先级,并选择优先级最高的端口进行传输;所述中央处理模块进行端口切换操作包括所述中央处理模块取消故障端口的优先级,确定当前每个端口对应的优先级,并切换到当前优先级最高的端口。
4.如权利要求3所述的方法,其特征在于,所述中央处理模块进行端口切换操作之后还包括所述中央处理模块在发生故障的端口恢复正常后,将恢复正常后的端口的优先级设置为最低。
5.如权利要求2 4任一所述的方法,其特征在于,所述中央处理模块收到所述连接失败指示信之后还包括所述中央处理模块确定发生故障的端口的故障类型,并将故障类型通知上层处理。
6.一种检测端口的设备,包括中央处理模块,其特征在于,该设备还包括物理层模块,用于判断端口是否发生故障,所述物理层模块在确定端口发生故障后,向所述中央处理模块发送连接失败指示信号,用于通知所述中央处理模块端口发生故障。
7.如权利要求6所述的设备,其特征在于,所述物理层模块用于在收到所述连接失败指示信号后,进行端口切换操作。
8.如权利要求6所述的设备,其特征在于,所述中央处理模块具体用于确定每个端口对应的优先级,并选择优先级最高的端口进行传输,在收到所述连接失败指示信号后,取消故障端口的优先级,确定当前每个端口对应的优先级,并切换到当前优先级最高的端口。
9.如权利要求8所述的设备,其特征在于,所述中央处理模块还用于在发生故障的端口恢复正常后,将恢复正常后的端口的优先级设置为最低。
10.如权利要求7 9任一所述的设备,其特征在于,所述中央处理模块还用于在收到所述连接失败指示信后,确定发生故障的端口的故障类型,并将故障类型通知上层处理。
全文摘要
本发明实施例涉及通信技术领域,特别涉及一种检测端口的方法和设备,用以解决现有技术中存在的目前检测端口需要占用有效带宽,从而降低了带宽利用率,并且实时性比较差的问题。本发明实施例的方法包括物理层模块判断端口是否发生故障;所述物理层模块在确定端口发生故障后,向中央处理模块发送连接失败指示信号,用于通知所述中央处理模块端口发生故障。由于通过物理层模块检测端口是否故障,并在故障时发送连接失败指示信号,不需要占用有效带宽,从而提高了带宽利用率,并且物理层模块在检测到端口故障并发送连接失败指示信号的时间很短,具有较好的实时性。
文档编号H04L12/26GK102255768SQ20101018279
公开日2011年11月23日 申请日期2010年5月19日 优先权日2010年5月19日
发明者李钢 申请人:大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1