一种网络连接状态的获取方法及装置与流程

文档序号:16149472发布日期:2018-12-05 17:15阅读:286来源:国知局
一种网络连接状态的获取方法及装置与流程
本申请涉及网络连接检测领域,尤其涉及一种网络连接状态的获取方法及装置。
背景技术
在互联网领域,设备接入到互联网中需要对其网络连接状态进行检测。一般情况下,网络连接状态时主板上集成平台控制桥片(platformcontrollerhub,pch)的数据链路(mediaaccesscontrol,mac)层,通过串行管理接口(serialmanagementinterface,smi)总线,与外接的物理层(physicallayerprotocol,phy)芯片沟通,从而获取到网络连接状态。在实际的线路设计中,客户端可能会指定外接的phy芯片型号,而指定的phy芯片型号可能并不在pch的mac层支持的列表内,导致mac层smi总线无法跟外接的网络phy芯片互联,也就导致了mac层无法实时获取phy端跟外界网络的连接状态,而只能通过跟phy芯片的网络协议交互来获取phy芯片跟外界网络的连接状态。但是这种获取网络连接状态的方式,在线路设计时序不合理的情况下,有很大的概率出现获取网络连接状态错误的情况,比如,网线并没有插入,但是系统可能会误判为网线已接入,进而导致客户端输出传输故障。因此,亟需一种能够准确地、实时地获取网络连接状态的方法,以避免获取到错误的网络连接状态,或者无法实时获取到网络连接状态,影响业务运行。技术实现要素:有鉴于此,本申请提供了一种网络连接状态的获取方法及装置,使得在mac和phy之间没有smi总线连接时,也能够实时获取网络连接状态,避免上层应用误判,进而影响业务运行。本申请第一方面提供了一种网络连接状态的获取方法,所述方法包括:获取网口连接器与物理层phy芯片之间的发光二极管led控制信号;根据所述led控制信号与连接状态灯的状态之间的映射关系,获取网络连接状态;其中,所述网口连接器通过数据信号和led控制信号与phy芯片交互。可选的,所述方法还包括:根据所述led控制信号与速度指示灯的状态之间的映射关系,获取网络连接速率。可选的,所述获取网口连接器与phy芯片之间的led控制信号:通过复杂可编程逻辑器件cpld或者基板管理控制器bmc获取网口连接器与phy芯片之间的led控制信号。可选的,所述方法还包括:根据所述网络连接状态更新数据链路mac层中连接状态寄存器的寄存器值。可选的,所述方法还包括:比较所述网络连接状态与所述mac层中连接状态寄存器中的寄存器值;若所述网络连接状态与所述寄存器值表征的网络连接状态不同,则再执行根据所述网络连接状态更新mac层中连接状态寄存器的寄存器值的步骤。可选的,所述获取网口连接器与phy芯片之间的led控制信号:在系统开机时,获取与phy芯片之间的led控制信号。可选的,所述方法还包括:当所述网络连接状态发生变更时,上报网络连接状态变更信息。本申请第二方面提供了一种网络连接状态的获取装置,所述装置包括:第一获取模块,用于获取网口连接器与phy芯片之间的led控制信号;第二获取模块,用于根据所述led控制信号与连接状态灯的状态之间的映射关系,获取网络连接状态;其中,所述网口连接器通过数据信号和led控制信号与phy芯片交互。可选的,所述装置还包括:第三获取模块,用于根据所述led控制信号与速度指示灯的状态之间的映射关系,获取网络连接速率。可选的,所述第一获取模块具体用于:通过复杂可编程逻辑器件cpld或者基板管理控制器bmc获取网口连接器与phy芯片之间的led控制信号。可选的,所述装置还包括:更新模块,用于根据所述网络连接状态更新数据链路mac层中连接状态寄存器的寄存器值。可选的,所述装置还包括:比较模块,用于比较所述网络连接状态与所述mac层中连接状态寄存器中的寄存器值;更新模块,用于若所述网络连接状态与所述寄存器值表征的网络连接状态不同,则再执行根据所述网络连接状态更新mac层中连接状态寄存器的寄存器值的步骤。可选的,所述第一获取模块具体用于:在系统开机时,获取与phy芯片之间的led控制信号。可选的,所述第一获取模块具体用于:在系统开机时,获取网口连接器的连接状态灯的状态;则所述装置还包括:上报模块,用于当所述网络连接状态发生变更时,上报网络连接状态变更信息。从以上技术方案可以看出,本申请实施例具有以下优点:本申请实施例中提供了一种网络连接状态的获取方法,该方法利用与phy芯片通过数据信号和led控制信号交互的网口连接器的连接状态灯确定网络连接状态,具体地,先获取led控制信号,然后根据led控制信号与连接状态灯的状态之间的映射关系,对led控制信号解码获得网络连接状态。该方法不依赖于smi总线,即使mac不支持跟phy芯片之间的smi总线连接,也能通过led控制信号获得网络连接状态,在做phy芯片的选型时,只要网络协议满足即可,该方法实现简单,成本较低,不因客户指定phy芯片而受到限制。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1a和图1b分别为mac支持phy芯片和mac不支持phy芯片时获取网络连接状态的示意图;图2为本申请实施例中一种网络连接状态的获取方法的流程图;图3为本申请实施例中phy芯片与rj45网口连接器的连接示意图;图4为本申请实施例中通过bmc获取led控制信号的示意图;图5为本申请实施例中一种网络连接状态的获取方法的流程图;图6为本申请实施例中一种网络连接状态的获取装置的结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。传统的网络连接状态的获取方法是基于smi总线与phy芯片交互实现的,图1a和图1b分别示出了mac支持phy芯片和mac不支持phy芯片时获取网络连接状态的示意图。如图1a所示,mac跟phy之间除了数据的连接外,还有smi总线的连接,即元数据控制器(metadatacontroller,mdc)以及管理数据输入输出(managementdatainput/output,mdio)两条信号线的连接,这种情况下,mac跟phy就可以通过smi总线实时交互phy跟rj45网口的连接状态,使上层应用得到正确的网络连接状态信息。在有些情况下,如图1b所示,因为mac不支持跟phy芯片之间的smi总线连接,就不能实时的通过smi总线获取网络的连接状态,只通过数据之间的交互来获取状态信息,如果交互的时机不对,有可能造成获取的状态信息是错误的,造成上层应用的误判,影响客户的业务,在实际的产品上遇到这种失效情况,可以造成项目的延期。针对传统的网络连接状态的获取方法,在mac不支持跟phy芯片间的smi总线连接时,难以准确地、实时地获取网络连接状态的技术问题,本申请提供了一种网络连接状态的获取方法。该方法利用与phy芯片通过数据信号和led控制信号交互的网口连接器的连接状态灯确定网络连接状态,具体地,先获取led控制信号,然后根据led控制信号与连接状态灯的状态之间的映射关系,对led控制信号解码获得网络连接状态。该方法不依赖于smi总线,即使mac不支持跟phy芯片之间的smi总线连接,也能通过led控制信号获得网络连接状态,在做phy芯片的选型时,只要网络协议满足即可,该方法实现简单,成本较低,不因客户指定phy芯片而受到限制。接下来,将结合附图,对本申请实施例提供的网络连接状态的获取方法进行详细说明。图2为本申请实施例一种提供的网络连接状态的获取方法的流程图,参见图2,该方法包括:s201:获取网口连接器与phy芯片之间的led控制信号。其中,所述网口连接器通过数据信号和led控制信号与phy芯片交互。网口连接器可以是rj45网口连接器。网口连接器具有连接状态灯,该连接状态灯可以表征网络连接状态。具体地,当该连接状态灯的状态为亮时,表征网络正常连接,当该连接状态灯的状态为灭时,表征网络未连接。进一步地,网口连接器还可以包括速度指示灯,用于指示网络速率和/或是否有数据传输。为了区别连接状态以及不同网络速率,还可以采用不同颜色的灯来表征连接状态以及不同网络速率。在一些可能的实现方式中,可以采用黄灯表征连接状态,绿灯和橙灯分别表征不同网络速率。其中,黄灯亮表征网络正常连接,黄灯灭表征网络未连接;绿灯亮表征1000mb/s的网络速率,橙灯亮表征100mb/s的网络速率。进一步地,还可以通过闪烁状态表征有数据传输。表1示出了rj45网口连接器各led灯的定义,具体可以参见表1,如下所示:表1rj45网口连接器的led灯定义网口连接器与phy芯片之间不仅可以通过数据信号交互,还可以通过led控制信号交互。通过获取网口连接器与phy芯片之间的led控制信号,可以用于解码得到连接状态灯的状态。基于此,为了获取网络连接状态,可以先获取网口连接器与phy芯片之间的led控制信号。为了便于理解,以rj45网口为例进行说明。图3示出了phy芯片与rj45网口连接器的连接示意图,如图3所示,phy芯片与rj45网口连接器通过mdio0、mdio1、mdio2以及mdio3等四条信号线传输数据信号,另通过led0、led1以及led2等3条信号线传输led控制信号,并且这3条传输led控制信号的信号线分别连接3个led灯,包括连接状态灯和2个速度指示灯。基于此,可以获取led控制信号,以便获取网络连接状态。需要说明的是,led控制信号可以是通过复杂可编程逻辑逻辑器件(complexprogrammablelogicdevice,cpld)或者基板管理控制器baseboard(managementcontroller,bmc)获取得到的。图4示出了通过bmc获取led控制信号的示意图。如图4所示,bmc通过3根信号线,分别与led0、led1以及led2信号线连接,以获取led控制信号,此外,bmc还与pch通过集成电路总线(inter-integratedcircuit,iic)连接,用于交互数据。s202:根据所述led控制信号与连接状态灯的状态之间的映射关系,获取网络连接状态。led控制信号与连接状态灯的状态之间具有映射关系,基于此,可以根据led控制信号确定连接状态状态灯的状态,进而确定网络连接状态。进一步地,led控制信号与速度指示灯的状态之间也存在映射关系,基于此,还可以根据led控制信号确定速度指示灯的状态,进而确定网络的连接速率。当然在确定网络连接速率时,也可以根据速度指示灯是否闪烁以确定是否有数据传输。为了便于理解,以rj45网口连接器为例,对led控制信号与连接状态灯、速度指示灯的状态的映射关系进行介绍。表2为phy芯片led控制信号与rj45网口连接器led灯状态对照表,参见表2,如下所示:表2phy芯片led控制信号与rj45网口连接器led状态对照表led0led1led2rj45网口连接器led灯的状态01x绿灯亮0和1交替1x绿灯闪烁10x橙灯亮10和1交替x橙灯闪烁xx0黄灯亮其中,1表征高电平,0表征低电平,x表示悬空。在该示例中,若获取的led控制信号中led2为低电平,则可根据led控制信号与连接状态灯的状态之间的映射关系,如表2所示,确定连接状态灯黄灯亮,基于此,可以确定网络连接状态为网络连接正常。类似的,若获取到led0为低电平,led1为高电平,则可根据led控制信号与速度指示灯的状态之间的映射关系,如表2所示,确定网络速率为1000mb/s。需要说明的是,本步骤可以通过cpld或bmc执行,cpld或bmc具备解码led控制信号的能力,因此可以根据led控制信号与连接状态灯的状态之间的映射关系,确定网络连接状态。作为本申请实施例的一个扩展,cpld或bmc还可以根据led控制信号与速度指示灯的状态之间的映射关系,确定网络连接速率。由上可知,本申请实施例提供了一种网络连接状态的获取方法,该方法利用与phy芯片通过数据信号和led控制信号交互的网口连接器的连接状态灯确定网络连接状态,具体地,先获取led控制信号,然后根据led控制信号与连接状态灯的状态之间的映射关系,对led控制信号解码获得网络连接状态。该方法不依赖于smi总线,即使mac不支持跟phy芯片之间的smi总线连接,也能通过led控制信号获得网络连接状态,在做phy芯片的选型时,只要网络协议满足即可,该方法实现简单,成本较低,不因客户指定phy芯片而受到限制。可以理解,pch的mac层包括连接状态寄存器,该寄存器中的寄存器值表征网络连接状态,在通过led控制信号获取网络连接状态后,还可以根据该网络连接状态更新mac层中连接状态寄存器的寄存器值。在一些可能的实现方式中,可以通过比较网络连接状态和mac层中连接状态寄存器中的寄存器值,若不同,再更新寄存器值。为了便于理解,下面将结合具体实施例,对本申请实施例提供的一种网络连接状态的获取方法进行介绍。图5为本申请实施例一种提供的网络连接状态的获取方法的流程图,参见图5,该方法包括:s501:获取网口连接器与phy芯片之间的led控制信号。s502:根据所述led控制信号与连接状态灯的状态之间的映射关系,获取网络连接状态。s501与s502的具体实现可以参见s201、s202的相关内容描述,本实施例在此不再赘述。s503:比较所述网络连接状态与所述mac层中连接状态寄存器中的寄存器值;若所述网络连接状态与所述寄存器值表征的网络连接状态不同,则执行s504。以通过cpld获取网络连接状态为例,cpld可以将该网络连接状态存储到cpld的网络连接状态寄存器中,pch可以通过iic总线,读取cpld内的网络连接状态寄存器值,并将该网络连接状态寄存器值与pch内的mac层中连接状态寄存器值作比对,从而实现所述网络连接状态与所述mac层中连接状态寄存器中的寄存器值的比较。需要说明的是,若是通过bmc获取网络连接状态,则比较过程可以参见cpld获取网络连接状态时的比较方式。s504:根据所述网络连接状态更新mac层中连接状态寄存器的寄存器值。可以理解,cpld或bmc获取的网络连接状态是实时的,因此,当该网络连接状态与mac层中连接状态寄存器的寄存器值表征的网络连接状态不同时,可以根据该网络连接状态更新mac层中连接状态寄存器的寄存器值。由上可知,本申请实施例提供了一种网络连接状态的获取方法,该方法利用与phy芯片通过数据信号和led控制信号交互的网口连接器的连接状态灯确定网络连接状态,具体地,先获取led控制信号,然后根据led控制信号与连接状态灯的状态之间的映射关系,对led控制信号解码获得网络连接状态。然后通过比较该网络连接状态与mac层中连接状态寄存器的寄存器值,实现mac层网络连接状态的实时更新。该方法不依赖于smi总线,即使mac不支持跟phy芯片之间的smi总线连接,也能通过led控制信号获得网络连接状态,在做phy芯片的选型时,只要网络协议满足即可,该方法实现简单,成本较低,不因客户指定phy芯片而受到限制。可以理解,pch通过iic总线与cpld或bmc交互,获取网络连接状态可以造成一定的系统压力,为此可以采用实时不间断地读取寄存器信息的策略。在本申请实施例一些可能的实现方式中,可以在系统开机时,获取网口连接器与phy芯片之间的led控制信号,以获取网络连接诶状态。即,在系统开机时,做一次读取和信息同步,在其余时间段不执行读取动作。当网络连接状态发生变更时,主动上报网络连接状态变更信息。具体地,当cpld或者bmc抓取到网络连接状态发生变更,例如由正常连接变为未连接,或者由未连接变更为正常连接,则cpld或bmc可以主动将网络连接状态变更信息上报给pch。以上为本申请实施例提供的一种网络连接状态的获取方法的具体实现方式,基于此,本申请实施例还提供了一种网络连接状态的获取装置,接下来将从功能模块化的角度对本申请实施例提供的网络连接状态的获取装置进行介绍。图6为本申请实施例提供的一种网络连接状态的获取装置的结构示意图,参见图6,所述装置包括:第一获取模块610,用于获取网口连接器与phy芯片之间的led控制信号;第二获取模块620,用于根据所述led控制信号与连接状态灯的状态之间的映射关系,获取网络连接状态;其中,所述网口连接器通过数据信号和led控制信号与phy芯片交互。可选的,所述装置还包括:第三获取模块,用于根据所述led控制信号与速度指示灯的状态之间的映射关系,获取网络连接速率。可选的,所述第一获取模块610具体用于:通过复杂可编程逻辑器件cpld或者基板管理控制器bmc获取网口连接器与phy芯片之间的led控制信号。可选的,所述装置还包括:更新模块,用于根据所述网络连接状态更新数据链路mac层中连接状态寄存器的寄存器值。可选的,所述装置还包括:比较模块,用于比较所述网络连接状态与所述mac层中连接状态寄存器中的寄存器值;更新模块,用于若所述网络连接状态与所述寄存器值表征的网络连接状态不同,则再执行根据所述网络连接状态更新mac层中连接状态寄存器的寄存器值的步骤。可选的,所述第一获取模块610具体用于:在系统开机时,获取与phy芯片之间的led控制信号。可选的,所述第一获取模块610具体用于:在系统开机时,获取网口连接器的连接状态灯的状态;则所述装置还包括:上报模块,用于当所述网络连接状态发生变更时,上报网络连接状态变更信息。由上可知,本申请实施例提供了一种网络连接状态的获取装置,该装置利用与phy芯片通过数据信号和led控制信号交互的网口连接器的连接状态灯确定网络连接状态,具体地,先获取led控制信号,然后根据led控制信号与连接状态灯的状态之间的映射关系,对led控制信号解码获得网络连接状态。该方法不依赖于smi总线,即使mac不支持跟phy芯片之间的smi总线连接,也能通过led控制信号获得网络连接状态,在做phy芯片的选型时,只要网络协议满足即可,该装置实现简单,成本较低,不因客户指定phy芯片而受到限制。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文缩写:rom)、随机存取存储器(英文全称:randomaccessmemory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1