一种光模块的监控方法、监控装置、交换机及存储介质转让专利

申请号 : CN201911384346.5

文献号 : CN111131936B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐朋

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本发明公开了一种光模块的监控方法,利用设于CPU和光模块之间的协处理器来采集光模块的监控数据,并将监控数据与预设阈值对比,当根据对比结果得到异常数据时,记录异常数据以供CPU查看。CPU只需要查看异常数据,而无需频繁地调用I2C接口来循环获取光模块的监控数据并做对比分析,从而大大节省了CPU用于监控光模块的资源,使CPU可以将更多的资源投入网络处理中,提高了所在设备的网络处理功能。本发明还公开了一种光模块的监控装置、交换机及存储介质,具有上述有益效果。

权利要求 :

1.一种光模块的监控方法,其特征在于,基于设于CPU和光模块之间的协处理器,包括:在所在设备启动时,采集在位的所述光模块的ID信息和在位的所述光模块的端口号;

接收所述CPU根据各所述光模块的ID信息和各所述光模块的端口号在所述协处理器建立光模块注册信息;

在所述协处理器为各所述光模块建立寄存器组;其中,一个所述光模块对应一个所述寄存器组,一个所述寄存器组包括与各监控数据对应的寄存器;

依据所述光模块注册信息通过I2C总线采集所述光模块的监控数据;

将所述监控数据与预设阈值对比,当根据对比结果得到异常数据时,记录所述异常数据,以供所述CPU查看并采用相应的调节对策;

其中,所述采集所述光模块的监控数据,具体为:

采集各所述寄存器组中所述寄存器的实时值;

所述将所述监控数据与预设阈值对比,当根据对比结果得到异常数据时,记录所述异常数据,具体为:将与所述监控数据对应的寄存器的实时值以及与所述监控数据对应的预设阈值进行对比,根据对比结果生成故障码;

所述光模块具体包括单光路光纤模块和多光路光纤模块;

当根据对比结果得到异常数据时,记录所述异常数据,具体为:当所述异常数据为所述多光路光纤模块的一路光纤接口的故障信息时,记录所述多光路光纤模块的故障信息,并停止对所述多光路光纤模块的其他光纤接口的检测;

所述协处理器为CPLD或FPGA;

所述监控数据包括总中断、温度、电压、接收信号丢失告警信号、发光故障报警信号和偏置电流。

2.一种光模块的监控装置,其特征在于,应用于设于CPU和光模块之间的协处理器,包括:获取单元,用于在所在设备启动时,采集在位的光模块的ID信息和在位的所述光模块的端口号;

接收单元,用于接收所述CPU根据各所述光模块的ID信息和各所述光模块的端口号在所述协处理器建立光模块注册信息;

建组单元,用于在所述协处理器为各光模块建立寄存器组;其中,一个光模块对应一个寄存器组,一个寄存器组包括与各监控数据对应的寄存器;

采集单元,用于采集所述光模块的监控数据;采集所述光模块的监控数据,具体为:依据所述光模块注册信息采集所述光模块的监控数据;采集所述光模块的监控数据,具体为:采集各所述寄存器组中所述寄存器的实时值;

记录单元,用于将所述监控数据与预设阈值对比,当根据对比结果得到异常数据时,记录所述异常数据,以供所述CPU查看并采用相应的调节对策;所述将所述监控数据与预设阈值对比,当根据对比结果得到异常数据时,记录所述异常数据,具体为:将与所述监控数据对应的寄存器的实时值以及与所述监控数据对应的预设阈值进行对比,根据对比结果生成故障码;当根据对比结果得到异常数据时,记录所述异常数据,具体为:当所述异常数据为多光路光纤模块的一路光纤接口的故障信息时,记录所述多光路光纤模块的故障信息,并停止对所述多光路光纤模块的其他光纤接口的检测;

所述协处理器为CPLD或FPGA;

所述监控数据包括总中断、温度、电压、接收信号丢失告警信号、发光故障报警信号和偏置电流。

3.一种交换机,其特征在于,包括CPU和协处理器;

其中,所述协处理器的第一端与所述CPU连接,所述协处理器的第二端与光模块连接;

所述协处理器用于执行如权利要求1所述光模块的监控方法的步骤。

4.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1所述光模块的监控方法的步骤。

说明书 :

一种光模块的监控方法、监控装置、交换机及存储介质

技术领域

[0001] 本发明涉及交换机技术领域,特别是涉及一种光模块的监控方法、监控装置、交换机及存储介质。

背景技术

[0002] 随着信息技术的发展,通信安全技术正在朝着更准确、更快速的方向发展。交换机带宽提高的同时交换芯片周边监控系统也随着技术发展越来越复杂,这样就给交换机的CPU带来巨大压力,使其将宝贵的处理能力被分配到监控外围设备,而最关键的网络处理能力因CPU资源被外围设备占用而被限制。
[0003] 图1为现有技术中的光模块的监控系统的结构示意图。
[0004] 如图1所示,在现有技术中,通过PCA9641和PCA9548将CPU的I2C总线扩展接到每一个光模块读取光模块内部的DDM数据,通过PCA9555读取光模块的单端信号,CPU通过接到PCA9555的I2C总线读取光模块单端信号状态。其中,对于400G/200G/100G/40G等多光路光纤模块,PCA9555通过INT#、LPMODE、MODEPRE信号线与之连接;对于25G/10G等单路光纤模块,PCA9555通过ABS、LOS、FAULT、TX_Dis信号线与之连接。通常情况下,一台交换机可能设有几十个光模块,如此CPU就需要拓扑出几十个I2C接口,CPU定时扫描光模块进行监控的过程,就是循环切换I2C通道读取光模块的DDM数据的过程,再根据监控数据得到处理方案。如CPU读取到光模块的温度数据,与预设阈值对比确定光模块的温度异常时,调整风扇散热策略对该光模块进行降温。
[0005] 因此,交换机的CPU需要频繁地调度I2C接口,分散较多资源花费在对光模块的监控上,从而影响了CPU的网络处理能力。

发明内容

[0006] 本发明的目的是提供一种光模块的监控方法、监控装置、交换机及存储介质,用于减轻CPU监控光模块的压力,减少对CPU的网络处理能力的影响。
[0007] 为解决上述技术问题,本发明提供一种光模块的监控方法,基于设于CPU和光模块之间的协处理器,包括:
[0008] 采集所述光模块的监控数据;
[0009] 将所述监控数据与预设阈值对比,当根据对比结果得到异常数据时,记录所述异常数据。
[0010] 可选的,所述协处理器具体为CPLD。
[0011] 可选的,所述协处理器具体为FPGA。
[0012] 可选的,在所述采集所述光模块的监控数据之前,还包括:
[0013] 在所在设备启动时,采集在位的所述光模块的ID信息和在位的所述光模块的端口号;
[0014] 接收所述CPU根据各所述光模块的ID信息和各所述光模块的端口号在所述协处理器建立光模块注册信息;
[0015] 相应的,所述采集所述光模块的监控数据,具体为:
[0016] 依据所述光模块注册信息通过I2C总线采集所述光模块的监控数据。
[0017] 可选的,在所述采集所述光模块的监控数据之前,还包括:
[0018] 为各所述光模块建立寄存器组;其中,一个所述光模块对应一个所述寄存器组,一个所述寄存器组包括与各所述监控数据对应的寄存器;
[0019] 相应的,所述采集所述光模块的监控数据,具体为:
[0020] 采集各所述寄存器组中所述寄存器的实时值;
[0021] 所述将所述监控数据与预设阈值对比,当根据对比结果得到异常数据时,记录所述异常数据,具体为:
[0022] 将与所述监控数据对应的寄存器的实时值以及与所述监控数据对应的预设阈值进行对比,根据对比结果生成故障码。
[0023] 可选的,所述光模块具体包括单光路光纤模块和多光路光纤模块;
[0024] 相应的,所述当根据对比结果得到异常数据时,记录所述异常数据,具体为:
[0025] 当所述异常数据为所述多光路光纤模块的一路光纤接口的故障信息时,记录所述多光路光纤模块的故障信息,并停止对所述多光路光纤模块的其他光纤接口的检测。
[0026] 可选的,所述监控数据包括总中断、温度、电压、接收信号丢失告警信号、发光故障报警信号和偏置电流。
[0027] 为解决上述技术问题,本发明还提供一种光模块的监控装置,包括:
[0028] 采集单元,用于采集所述光模块的监控数据;
[0029] 发送单元,用于将所述监控数据与预设阈值对比,当根据对比结果得到异常数据时,将所述异常数据发送至所述CPU。
[0030] 为解决上述技术问题,本发明还提供一种交换机,包括CPU和协处理器;
[0031] 其中,所述协处理器的第一端与所述CPU连接,所述协处理器的第二端与光模块连接;
[0032] 所述协处理器用于执行时如权上述任意一项所述光模块的监控方法的步骤。
[0033] 为解决上述技术问题,本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述光模块的监控方法的步骤。
[0034] 本发明所提供的光模块的监控方法,利用设于CPU和光模块之间的协处理器来采集光模块的监控数据,并将监控数据与预设阈值对比,当根据对比结果得到异常数据时,记录异常数据以供CPU查看。CPU只需要查看异常数据,而无需频繁地调用I2C接口来循环获取光模块的监控数据并做对比分析,从而大大节省了CPU用于监控光模块的资源,使CPU可以将更多的资源投入网络处理中,提高了所在设备的网络处理功能。本发明还提供一种光模块的监控装置、交换机及存储介质,具有上述有益效果,在此不再赘述。

附图说明

[0035] 为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036] 图1为现有技术中的光模块的监控系统的结构示意图;
[0037] 图2为本发明实施例提供的一种光模块的监控系统的结构示意图;
[0038] 图3为本发明实施例提供的一种光模块的监控方法的流程图;
[0039] 图4为本发明实施例提供的另一种光模块的监控方法的流程图;
[0040] 图5为本发明实施例提供的一种光模块的监控装置的结构示意图。

具体实施方式

[0041] 本发明的核心是提供一种光模块的监控方法、监控装置、交换机及存储介质,用于减轻CPU监控光模块的压力,减少对CPU的网络处理能力的影响。
[0042] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043] 图2为本发明实施例提供的一种光模块的监控系统的结构示意图;图3为本发明实施例提供的一种光模块的监控方法的流程图。
[0044] 本发明实施例首先提供一种光模块的监控系统如图2所示,通过一个设于CPU与光模块之间的协处理器,实现对光模块监控任务的转移。这里需要说明的是,在交换机等设备中,光模块属于重要部件之一,因此对它的监控需要由CPU直接执行,而不是通过BMC进行监控管理。而本发明实施例中采用设于CPU与光模块之间的协处理器执行光模块的监控任务,可以在不改变设备主板原有的硬件连接方式的情况下,采用一些原本只是作为数据传输部件的可编程处理器分摊分析监控数据的任务,因此作为协处理器的可以是CPLD或FPGA等。与图1所示的现有技术相同的是,如图2所示,协处理器与400G/200G/100G/40G等多光路光纤模块通过I2C、INT#、LPMODE、MODEPRE信号线连接,对于25G/10G等单路光纤模块通过I2C、ABS、LOS、FAULT、TX_Dis信号线连接。
[0045] 在图2所示的光模块的监控系统的基础上,如图3所示,本发明实施例提供的光模块的监控方法基于设于CPU和光模块之间的协处理器,包括:
[0046] S301:采集光模块的监控数据。
[0047] S302:将监控数据与预设阈值对比,当根据对比结果得到异常数据时,记录异常数据。
[0048] 在具体实施中,监控数据包括总中断、温度、电压、接收信号丢失告警信号RX_LOS、发光故障报警信号TX_Fault和偏置电流BIAS等。
[0049] 对各项监控数据预先设置阈值,对于不同类型的光模块,同一类型的监控数据也可以设置不同的阈值。
[0050] 协处理器定时将各光模块的各项监控数据与相应的预设阈值进行对比,当某项监控数据超出预设阈值的范围时,确定为异常数据,记录异常数据及与异常数据对应的光模块以供CPU查看并采用相应的调节对策。如温度过高则CPU通知BMC调高风扇转速使整机降温,如温度过低则CPU禁止对应的光模块发光并记录光模块故障的日志,如电压异常则CPU禁止对应光模块发光并记录光模块故障的日志。根据对比结果确认为正常的监控数据,可以在协处理器中保存预设时间后,被下一次定时采集的监控数据覆盖。
[0051] 在具体实施中,在步骤S301之前,本发明实施例提供的光模块的监控方法还包括:
[0052] 为各光模块建立寄存器组;其中,一个光模块对应一个寄存器组,一个寄存器组包括与各监控数据对应的寄存器。
[0053] 在协处理器中为各光模块划分DDM寄存器组,寄存器组可以与光模块的端口号一一对应。在一个光模块对应的寄存器组中,针对各项监控数据分别建立寄存器,每个寄存器都设有针对监控数据的预设阈值。
[0054] 则相应的,步骤S301具体为:
[0055] 采集各寄存器组中寄存器的实时值。
[0056] 步骤S302具体为:
[0057] 将与监控数据对应的寄存器的实时值以及与监控数据对应的预设阈值进行对比,根据对比结果生成故障码。
[0058] 预先制定光模块的各种故障所对应的故障码。光模块循环读取寄存器组内与各项监控数据对应的寄存器,通过比较寄存器的实时值与预设阈值,在确定为异常数据时按预设规则生成故障码。
[0059] 端口号(PORT号)与光模块是一一对应的,设置中断标志寄存器用于存储出现异常的光模块。当多个光模块出现异常时,可以按照端口号从小到大的顺序将端口号写入中断标志寄存器中,供CPU按顺序读取并逐一处理。在实际应用中,在所有光模块均无异常时,中断标志寄存器内是0,各光模块的端口号从1开始记录。另外,当需要在Web界面显示光模块的监控信息时,CPU可以读取协处理器的DDM寄存器中光模块所有的监控信息在Web界面进行显示。
[0060] 进一步的,由于光模块包括单光路光纤模块(如25G光模块)和多光路光纤模块(如400G光模块),现有技术中对多光路光纤模块的监控涉及到对其连接的各路光纤的监控。事实上,当多光路光纤模块的所连接的任意一路光纤接口出现故障时,则整个光模块都不能工作了,对其他路光纤接口的监控是没有必要的。因此为了节约处理资源,步骤S301中当根据对比结果得到异常数据时,记录异常数据,具体为:
[0061] 当异常数据为多光路光纤模块的一路光纤接口的故障信息时,记录多光路光纤模块的故障信息,并停止对多光路光纤模块的其他光纤接口的检测。
[0062] 在具体实施中,将单光路光纤模块和多光路光纤模块视为等价的个体,在监控到光模块出现如温度、电压等故障时,直接记载光模块整体的故障信息。当CPU想要掌握出现故障的光模块的具体情况时,可以根据光模块的注册信息到协处理器中采集光模块的具体故障情况(如多光路光纤模块的某路光纤接口故障)。
[0063] 本发明实施例提供的光模块的监控方法,利用设于CPU和光模块之间的协处理器来采集光模块的监控数据,并将监控数据与预设阈值对比,当根据对比结果得到异常数据时,记录异常数据以供CPU查看。CPU只需要查看异常数据,而无需频繁地调用I2C接口来循环获取光模块的监控数据并做对比分析,从而大大节省了CPU用于监控光模块的资源,使CPU可以将更多的资源投入网络处理中,提高了所在设备的网络处理功能。
[0064] 图4为本发明实施例提供的另一种光模块的监控方法的流程图。
[0065] 由于设备上连接的光模块的数量、类型可能会发生变化,不论是现有技术中采用CPU对光模块进行监控,还是本发明实施例中采用协处理器对光模块进行监控,都需要掌握当前设备连接的光模块的在位信息和类型信息。为了方便CPU准确掌握光模块的信息且协处理器实现高效的监控,如图4所示,在上述实施例的基础上,在本发明实施例提供的光模块的监控方法中,在步骤S301之前,还包括:
[0066] S401:在所在设备启动时,采集在位的光模块的ID信息和在位的光模块的端口号。
[0067] S402:接收CPU根据各光模块的ID信息和各光模块的端口号在协处理器建立光模块注册信息。
[0068] 相应的,步骤S301具体为:
[0069] S403:依据光模块注册信息通过I2C总线采集光模块的监控数据。
[0070] 在上述实施例中提到,协处理器为各光模块划分DDM寄存器组,进一步的,通过逻辑实现为各光模块建立DDM寄存器信息表,在设备刚上电时,协处理器默认将每个光模块的TX_Disable设置为禁止光模块发光,将在位的光模块的ID信息和光模块对应的端口号,并将ID信息和端口号读到CPU。CPU根据ID信息和端口号建立各光模块的注册信息,并将光模块注册信息写到协处理器。
[0071] 协处理器通过逻辑实现I2C Master,根据光模块注册信息循环遍历光模块DDM内的温度、电压等数据,实现实时监控。
[0072] 为方便查找,光模块注册信息以光模块注册信息表的形式呈现。
[0073] 上文详述了光模块的监控方法对应的各个实施例,在此基础上,本发明还公开了与上述方法对应的光模块的监控装置、交换机及存储介质。
[0074] 图5为本发明实施例提供的一种光模块的监控装置的结构示意图。
[0075] 如图5所示,本发明实施例提供的光模块的监控装置包括:
[0076] 采集单元501,用于采集光模块的监控数据;
[0077] 记录单元502,用于将监控数据与预设阈值对比,当根据对比结果得到异常数据时,记录异常数据。
[0078] 进一步的,本发明实施例提供的光模块的监控装置还包括:
[0079] 获取单元,用于在所在设备启动时,采集在位的光模块的ID信息和在位的光模块的端口号;
[0080] 接收单元,用于接收CPU根据各光模块的ID信息和各光模块的端口号在协处理器建立光模块注册信息;
[0081] 相应的,采集单元501采集光模块的监控数据,具体为:
[0082] 采集单元501依据光模块注册信息采集光模块的监控数据。
[0083] 进一步的,本发明实施例提供的光模块的监控装置还包括:
[0084] 建组单元,用于在采集光模块的监控数据之前,为各光模块建立寄存器组;其中,一个光模块对应一个寄存器组,一个寄存器组包括与各监控数据对应的寄存器;
[0085] 相应的,采集单元501采集光模块的监控数据,具体为:
[0086] 采集单元501采集各寄存器组中寄存器的实时值;
[0087] 记录单元502将监控数据与预设阈值对比,当根据对比结果得到异常数据时,记录异常数据,具体为:
[0088] 记录单元502将与监控数据对应的寄存器的实时值以及与监控数据对应的预设阈值进行对比,根据对比结果生成故障码。
[0089] 进一步的,光模块具体包括单光路光纤模块和多光路光纤模块;
[0090] 相应的,记录单元502当根据对比结果得到异常数据时,记录异常数据,具体为:
[0091] 当异常数据为多光路光纤模块的一路光纤接口的故障信息时,记录多光路光纤模块的故障信息,并停止对多光路光纤模块的其他光纤接口的检测。
[0092] 可选的,监控数据包括总中断、温度、电压、接收信号丢失告警信号、发光故障报警信号和偏置电流。
[0093] 由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
[0094] 本发明实施例还提供一种交换机,包括CPU和协处理器;
[0095] 其中,协处理器的第一端与CPU连接,协处理器的第二端与光模块连接;
[0096] 协处理器用于执行上述任意一项实施例所述的光模块的监控方法的步骤,效果如上。
[0097] 需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0098] 另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0099] 集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。
[0100] 为此,本发明实施例还提供一种存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时实现如光模块的监控方法的步骤。
[0101] 该存储介质可以包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0102] 本实施例中提供的存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的光模块的监控方法的步骤,效果同上。
[0103] 以上对本发明所提供的一种光模块的监控方法、监控装置、交换机及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的光模块的监控装置、交换机及存储介质而言,由于其与实施例公开的光模块的监控方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
[0104] 还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。