一种光模块类型的识别方法及装置
技术领域
本发明涉及光电技术领域,尤其涉及一种光模块类型的识别方法及装置。
背景技术
光模块是一种用于光电转换的器件,光模块的类型多种多样,例如,以光模块的端口类型来区分,包括1G、2G、4G、8G 、10G、25G、40G等端口类型的光模块,以封装格式来区分,包括按照小封装可插拔收发器(英文:Small form-factor pluggable transceiver,缩写:SFP)、通道小封装可插拔收发器(英文:Quad Small form-factor pluggabletransceiver,缩写:QSFP)、C封装可插拔收发器(英文:C form-factor pluggabletransceiver,缩写:CFP)等协议进行封装的光模块。用户在进行数据中心的组网过程中,需要对即将使用的光模块进行识别,以确定该光模块的类型。
目前,识别光模块类型的方法一般是根据光模块中的协议寄存器的内容来识别光模块类型。具体的,根据SFP、QSFP、CFP等协议指定光模块中的某个寄存器作为协议寄存器,通过将该协议寄存器中相应的比特位置位以标记光模块类型。例如,根据SFP协议,指定光模块中第3寄存器为协议寄存器,若将第3寄存器中的第7比特位置位,则表示该光模块的类型为10G Base-ER(全称:Base- Extended Reach),若将第3寄存器中的第6比特位置位,则表示该光模块的类型为10G Base-LRM。
然而,由于个别厂家生产的光模块的协议寄存器的内容在出厂的时候就配置错误,从而导致识别装置得出错误的光模块类型。且随着协议寄存器不断更新扩展,以及越来越多的厂家由于各种需求没有按照SFP、QSFP、CFP等协议将协议寄存器的相应比特位置位,从而导致识别装置无法识别该光模块的类型。因此,现有的识别方法中识别的光模块类型可靠性比较低。
发明内容
本发明的实施例提供一种光模块类型的识别方法及装置,能够提高识别光模块类型的可靠性。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明实施例的第一方面,提供一种光模块类型的识别方法,包括:
读取光模块的内部寄存器以获取所述光模块的属性;
在预设的光模块类型数据库中查询是否存在与所述光模块的属性对应的第一光模块类型;
若所述光模块类型数据库中存在所述第一光模块类型,则向设备管理模块上报所述第一光模块类型。
在本发明实施例中,识别装置是通过光模块的属性来识别光模块类型的,从而避免了现有技术中由于协议寄存器的内容出错而导致光模块类型识别错误的问题,或者由于协议寄存器更新扩展以及协议寄存器的相应比特位没有置位,而导致识别装置无法识别光模块类型的问题,提高了识别光模块类型的可靠性。
在第一方面的第一种可能的实现方式中,所述向设备管理模块上报所述第一光模块类型之前,所述方法还包括:
根据所述光模块的协议寄存器的内容,确定第二光模块的类型;
所述向设备管理模块上报所述第一光模块类型,包括:
若所述第一光模块类型与所述第二光模块类型相同,则向所述设备管理模块上报所述第一光模块类型;
若所述第一光模块类型与所述第二光模块类型不相同,则向所述设备管理模块上报所述第一光模块类型和第一预警信息,所述第一预警信息用于指示所述第一光模块类型与所述第二光模块类型不一致。
通过该方案,识别装置可以对光模块的协议寄存器的内容进行校验,以使得识别装置在该协议寄存器的内容出错时及时进行预警。
结合第一方面或者第一方面的第一种可能的实现方式,所述方法还包括:
若所述光模块类型数据库中不存在所述第一光模块类型,则根据所述协议寄存器的内容确定第二光模块类型;
若所述第二光模块类型为已知光模块类型,则从所述设备管理模块中获取预设的光模块类型集合;
若所述第二光模块类型为所述光模块类型集合中的一个,则向所述设备管理模块上报所述第二光模块类型。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:
若所述第二光模块类型不为所述光模块类型集合中的一个,则向所述设备管理模块上报所述第二光模块类型和第二预警信息,所述第二预警信息用于指示所述光模块类型集合中没有所述第二光模块类型。
通过该方案,当识别模块通过协议寄存器的内容识别光模块类型时,能够通过设备管理模块中预设光模块类型集合对该第二光模块类型进行校验,以使得设备管理模块及时确定该第二光模块类型是否为设备支持的光模块类型,从而提高识别光模块类型的可靠性。
结合第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:
若所述第二光模块类型为未知光模块类型,则查询所述光模块中是否存在预配置文件;
若存在所述预配置文件,则根据所述预配置文件中的内容,确定第三光模块类型;
向所述设备管理模块上报所述第三光模块类型和第三预警信息,所述第三预警信息用于指示所述第二光模块类型为未知光模块类型。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述方法还包括:
若不存在所述预配置文件,则从所述设备管理模块中获取预先指定的第四光模块类型,所述第四光模块类型为所述光模块类型集合中的一个;
向所述设备管理模块上报所述第四光模块类型和第三预警信息,所述第三预警信息用于指示所述第二光模块类型为未知光模块类型。
通过该方案,当识别模块根据无法识别该光模块的光模块类型时,当识别模块根据协议寄存器也无法确定光模块类型时,即可根据光模块中保存的预配置文件确定光模块类型,若不存在预配置文件,识别装置即可从设备管理模块中获取默认的第四光模块类型,将第四光模块类型作为该光模块的类型上报给设备管理模块。避免出现设备支持该光模块却由于识别装置未识别出光模块类型而导致组网失败的情况,达到了光模块尽量可用的效果。
结合前述的第一方面或第一方面的第一种可能的实现方式至第一方面的第五种可能的实现方式中的任一种实现方式,在第六种可能的实现方式中,
所述光模块的属性包括所述光模块的波长、所述光模块的位速率、所述光模块的传输距离以及所述光模块的通道数中的至少一个。
第二方面,本发明实施例提供一种光模块类型的识别装置,包括:
获取单元,用于读取光模块的内部寄存器以获取所述光模块的属性;
查询单元,用于在预设的光模块类型数据库中查询是否存在与所述获取单元获取的所述光模块的属性对应的第一光模块类型;
上报单元,用于若所述查询单元查询到所述光模块类型数据库中存在所述第一光模块类型,则向设备管理模块上报所述第一光模块类型。
在第二方面的第一种可能的实现方式中,
所述识别装置还包括确定单元,
所述确定单元,用于所述上报单元向所述设备管理模块上报所述第一光模块类型之前,根据所述光模块的协议寄存器的内容,确定第二光模块的类型;
所述上报单元,具体用于若所述确定单元确定所述第一光模块类型与所述第二光模块类型相同,则向所述设备管理模块上报所述第一光模块类型;
所述上报单元,还用于若所述确定单元确定所述第一光模块类型与所述第二光模块类型不相同,则向所述设备管理模块上报所述第一光模块类型和第一预警信息,所述第一预警信息用于指示所述第一光模块类型与所述第二光模块类型不一致。
本发明实施例提供的识别装置的技术效果可以参见上述第一方面中识别装置执行的帧光模块类型的识别方法中描述的识别装置的技术效果,此处不再赘述。
结合第二方面,在第二方面的第二种可能的实现方式中,
所述确定单元,还用于若所述查询单元查询到所述光模块类型数据库中不存在所述第一光模块类型,则根据所述协议寄存器的内容确定第二光模块类型;
所述获取单元,还用若所述第二光模块类型为已知光模块类型,则于从所述设备管理模块中获取预设的光模块类型集合;
所述上报单元,还用于若所述第二光模块类型为所述光模块类型集合中的一个,则向所述设备管理模块上报所述第二光模块类型。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述上报单元,还用于若所述判断单元判断所述第二光模块类型不为所述光模块类型集合中的一个,则向所述设备管理模块上报所述第二光模块类型和第二预警信息,所述第二预警信息用于指示所述光模块类型集合中没有所述第二光模块类型。
结合上述第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式,在第四种可能的实现方式中,
所述查询单元,还用于若所述第二光模块类型为未知光模块类型,则查询所述光模块中是否存在预配置文件;
所述确定单元,还用于若存在所述预配置文件,则根据所述预配置文件中的内容,确定第三光模块类型;
所述上报单元,还用于向所述设备管理模块上报所述第三光模块类型和第三预警信息,所述第三预警信息用于指示所述第二光模块类型为未知光模块类型。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,
所述获取单元,还用于若不存在所述预配置文件,则从所述设备管理模块中获取预先指定的第四光模块类型,所述第四光模块类型为所述光模块类型集合中的一个;
所述上报单元,还用于向所述设备管理模块上报所述第四光模块类型和第三预警信息,所述第三预警信息用于指示所述第二光模块类型为未知光模块类型。
结合上述第二方面或第二方面的第一种可能的实现方式至第二方面的第五种可能的实现方式中的任一种实现方式,在第六种可能的实现方式中,
所述获取单元获取的所述光模块的属性包括所述光模块的波长、所述光模块的位速率、所述光模块的传输距离以及所述光模块的通道数中的至少一个。
第三方面,本发明实施例提供一种光模块类型的识别装置,包括:处理器、存储器、总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述识别装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述识别装置执行如上述第一方面或第一方面的任一种实现方式所述的光模块类型的识别方法。
第四方面,本发明实施例提供一种存储介质,用于存储上述光模块类型的识别装置所用的计算机执行指令,其包含用于执行上述第二方面中为识别装置所设计的程序。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明实施例提供的一种光模块类型的识别方法的流程图一;
图2为本发明实施例提供的一种光模块类型的识别方法的流程图二;
图3为本发明实施例提供的一种光模块类型的识别方法的流程图三;
图4为本发明实施例提供的一种光模块类型的识别方法的流程图四;
图5为本发明实施例提供的一种识别装置的结构示意图一;
图6为本发明实施例提供的一种识别装置的结构示意图二;
图7为本发明实施例提供的一种识别装置的结构示意图三。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
光模块一般安装在交换机或者路由器上,用于光电转换。在现有技术中,采用硬编码的方式在交换机或者路由器上设置了光模块的识别装置,在组网的过程中,该识别装置通过读取待安装的光模块的协议寄存器的内容来识别该光模块的类型。
然而,一方面,由于有的光模块在出厂时,其协议寄存器的内容就配置错误,根据现有技术中光模块的识别方法,则会导致该识别装置得出错误的光模块类型,若该错误的光模块类型为交换机或者路由器不支持的光模块类型,则导致组网失败。
另一方面,随着光模块的协议寄存器的扩展以及越来越多的光模块没有按照SFP、QSFP、CFP等协议进行封装,协议寄存器的相应比特位并未置位,根据现有技术中光模块的识别方法,则会导致该识别装置无法识别该光模块类型,当该识别装置向交换机或者路由器的设备管理模块上报未知(英文:unknown)光模块类型时,设备管理模块无法进行进一步操作,从而导致组网失败。因此,现有的光模块类型的识别方法可靠性较低。为此,本发明实施例提供一种光模块类型的识别方法及装置,能够提高识别光模块类型的可靠性。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
本发明实施例提供一种光模块类型的识别方法,如图1所示,该方法包括:
S101、识别装置读取光模块的内部寄存器以获取该光模块的属性。
其中,光模块的属性可以包括但不限于该光模块的波长、该光模块的位速率、该光模块的传输距离以及该光模块的通道数等属性中的一项或者多项。
可以理解的是,光模块中存在各类寄存器,包括内部寄存器以及协议寄存器等。其中,内部寄存器包括该光模块中的各个电可擦可编程只读存储器(英文:electricallyerasable programmable read-only memory,缩写:EEPROM),用于存储表征该光模块的各个属性的信息。例如,存储用于表征波长的信道的EEPROM,存储用于表征该光模块的位速率的信息的EEPROM,存储用于表征该光模块的传输距离的信息的EEPROM,以及存储用于表征通道数的信息的EEPROM等。协议寄存器存储用于表征该光模块类型的信息等。
在本发明实施例中,识别装置可以通过集成电路总线(英文:inter-IntegratedCircuit,缩写:IIC)读取光模块的内部寄存器中存储的信息以确定该光模块的属性。
S102、识别装置在预设的光模块类型数据库中查询是否存在与该光模块的属性对应的第一光模块类型。
在本发明实施例中,该识别装置中预先建立了光模块类型数据库,在该光模块类型数据库中,存储了光模块的属性和第一光模块类型的对应关系。示例性的,在光模块类型数据库中,光模块的属性和第一光模块类型的对应关系可以如表1所示:
表1
例如,当识别模块通过读取该光模块的内部寄存器中存储的信息,确定该光模块的波长为1310nm,位速率为10.3Gbit/s,传输距离为220m,通道数为1时,通过在光模块类型数据库中的查询,可以确定与上述获取的属性对应的第一光模块类型为:10G Base-LRM。
S103、若光模块类型数据库中存在该第一光模块类型,识别装置则向设备管理模块上报该第一光模块类型。
可以理解的是,在本发明实施例中,识别装置是通过光模块的属性来识别光模块类型的,从而避免了现有技术中由于协议寄存器的内容出错而导致光模块类型识别错误的问题,或者由于协议寄存器更新扩展以及协议寄存器的相应比特位没有置位,而导致识别装置无法识别光模块类型的问题,提高了识别光模块类型的可靠性。
进一步的,在本发明实施例中,根据就光模块的属性在光模块类型数据库中确定第一光模块类型后,还可以对该光模块的协议寄存器的内容进行校验,以确定光模块的协议寄存器的内容是否正确,以及时发现错误的协议寄存器的内容并进行改正,从而避免在后续组网过程中由于才用了错误的协议寄存器的内容而导致组网失败。
具体的,结合图1,如图2所示,上述S103中,识别装置则向设备管理模块上报该第一光模块类型之前,该方法还包括:
S103a、若光模块类型数据库中存在该第一光模块类型,识别装置则根据该光模块的协议寄存器的内容,确定第二光模块类型。
例如,假设该光模块的协议寄存器的内容为该协议寄存器的第六个比特位置位,其余比特位均不置位,即该协议寄存器的第六个比特位为1,其余比特位均为0,则可以确定第二光模块类型为10G Base-LRM。
假设该协议寄存器的内容为该协议寄存器的第七个比特位为1,其余比特位均为0,则可以确定第二光模块类型为10G Base-ER。
S103b、识别装置判断该第一光模块类型与该第二光模块类型是否相同。
S103c、若该第一光模块类型与该第二光模块类型相同,识别装置则向设备管理模块上报该第一光模块类型。
S103d、若该第一光模块类型与该第二光模块类型不相同,识别装置则向设备管理模块上报该第一光模块类型和第一预警信息,该第一预警信息用于指示该第一光模块类型与该第二光模块类型不一致。
需要说明的是,在实际应用中,上述S103c和S103d择一执行,即执行S103a-S103c,或者执行S103a、S103b和S103d。
在本发明实施例中,当识别装置根据该光模块的属性确定第一光模块类型后,即可采用该第一光模块类型对该光模块的协议寄存器的内容进行校验。识别装置通过读取该光模块的协议寄存器的内容,并根据该协议寄存器的内容确定第二光模块类型。可以理解的是,当第二光模块类型与第一光模块类型相同时,该光模块的协议寄存器的内容正确,该识别装置即可将第一光模块类型上报给设备管理模块,以使得设备管理模块根据该识别装置上报的第一光模块类型进行后续组网操作。如此可以保证成功组网。
当第二光模块类型与第一光模块类型不相同时,识别装置即可在向设备管理模块上报第一光模块类型的同时,上报第一预警信息,以提示用户该第一光模块类型与该第二光模块类型不一致。由于第一光模块类型是识别装置根据该光模块的属性确定的,且该光模块的属性是从该光模块的内部寄存器中读取的,因此确定的第一光模块类型的是准确的,从而当第一光模块类型与该第二光模块类型不一致时,用户可以确定该光模块的协议寄存器的内容出错,并对该协议寄存器的内容进行校正。用户还可以向生产该光模块的厂家反馈该第一预警信息,以使得生产厂家可以及时地对其他光模块的协议寄存器内容进行校正。
进一步的,结合图2,如图3所示,在上述S102之后,该方法还包括:
S104、若光模块类型数据库中不存在该第一光模块类型,则根据所述协议寄存器的内容确定第二光模块类型。
示例性的,以目前协议寄存器的内容标准为例,若该协议寄存器的所有比特位中存在多个比特位置位,或者该协议寄存器的所有比特位均未置位,则该协议寄存器的内容不合法,此时识别装置确定的第二光模块类型为未知(英文:unknown)光模块类型;若该协议寄存器的所有比特位中只有一个比特位置位,例如协议寄存器的第七个比特位为1,其余比特位均为0,则可以确定第二光模块类型为10G Base-ER,10G Base-ER为已知光模块类型。
S105、若第二光模块类型为已知光模块类型,识别装置则从设备管理模块中获取预设的光模块类型集合。
需要说明的是,在本发明实施例中,设备管理模块中预设了光模块类型集合,该光模块类型集合中包括安装该光模块的设备支持的所有光模块类型。该光模块类型集合可以为用户根据该设备的单板类型所支持的端口类型、封装类型等设置的。例如,48S4Q单板支持10G端口或者40G端口,且根据SFP协议或者QSFP协议封装的光模块类型,则光模块类型集合中包括所有10 G端口或者40G端口,且根据SFP协议或者QSFP协议封装的光模块类型,具体包括10G BASE-SR、10G BASE-LR,以及10GBASE-ZR等。
S106、若该第二光模块类型为该光模块类型集合中的一个,识别装置则向设备管理模块上报该第二光模块类型。
S107、若该第二光模块类型不为该光模块类型集合中的一个,识别装置则向该设备管理模块上报该第二光模块类型和第二预警信息,该第二预警信息用于指示该光模块类型集合中没有该第二光模块类型。
在本发明实施例中,当识别装置在光模块类型数据库中没有查询到与该光模块的属性对应的第一光模块类型时,识别装置即可在该光模块的协议寄存器的内容合法的情况下,根据该协议寄存器的内容确定第二光模块类型,并根据设备管理模块中预设光模块类型集合对该第二光模块类型进行校验。在该光模块类型集合中没有第二光模块类型情况下,及时向设备管理模块反馈第二预警信息,指示该光模块类型集合中没有第二光模块类型,从而提示用户安装该光模块的设备并不支持该第二光模块类型的光模块,以使得用户能够及时更换该光模块。
进一步的,结合图3,如图4所示,上述S104之后,该方法还包括:
S108、若第二光模块类型为未知光模块类型,识别模块则查询该光模块中是否存在预配置(英文:profile)文件。
其中,该预配置文件可以包括该光模块的光模块类型。
S109、若存在该预配置文件,识别模块则根据该预配置文件中的内容,确定第三光模块类型。
S110、识别模块向设备管理模块上报该第三光模块类型和第三预警信息。
其中,第三预警信息用于指示第二光模块类型为未知光模块类型。
其中,该预配置文件中还可以包括该光模块的属性,可以用于后续组网操作。
S111、若不存在该预配置文件,识别模块则从设备管理模块中获取预先指定的第四光模块类型。
其中,第四光模块类型是设备管理模块中存储的默认的光模块类型,为该光模块类型集合中的一个。
S112、识别模块向设备管理模块上报该第四光模块类型和第三预警信息,该第三预警信息用于指示第二光模块类型为未知光模块类型。
在本发明实施例中,当识别模块无法识别该光模块的光模块类型时,识别装置即可从设备管理模块中获取默认的第四光模块类型,将第四光模块类型作为该光模块的类型上报给设备管理模块。避免出现设备支持该光模块却由于识别装置未识别出光模块类型而导致组网失败的情况,达到了光模块尽量可用的效果。
如图5所示,本发明实施例提供一种光模块类型的识别装置,所述识别装置用于执行以上方法中的识别装置所执行的步骤。所述识别装置可以包括相应步骤所对应的模块。示例的,所述识别装置可以包括:
获取单元10,用于读取光模块的内部寄存器以获取所述光模块的属性。
查询单元11,用于在预设的光模块类型数据库中查询是否存在与所述获取单元10获取的所述光模块的属性对应的第一光模块类型。
上报单元12,用于若所述查询单元11查询到所述光模块类型数据库中存在所述第一光模块类型,则向设备管理模块上报所述第一光模块类型。
可选的,结合图5,如图6所示,所述识别装置还包括确定单元13。
所述确定单元13,用于所述上报单元12向所述设备管理模块上报所述第一光模块类型之前,根据所述光模块的协议寄存器的内容,确定第二光模块的类型。
所述上报单元12,具体用于若所述确定单元13确定所述第一光模块类型与所述第二光模块类型相同,则向所述设备管理模块上报所述第一光模块类型。
所述上报单元12,还用于若所述确定单元13确定所述第一光模块类型与所述第二光模块类型不相同,则向所述设备管理模块上报所述第一光模块类型和第一预警信息,所述第一预警信息用于指示所述第一光模块类型与所述第二光模块类型不一致。
可选的,所述确定单元13,还用于若所述查询单元11查询到所述光模块类型数据库中不存在所述第一光模块类型,则根据所述协议寄存器的内容确定第二光模块类型。
所述获取单元10,还用若所述第二光模块类型为已知光模块类型,则于从所述设备管理模块中获取预设的光模块类型集合。
所述上报单元12,还用于若所述第二光模块类型所述为所述光模块类型集合中的一个,则向所述设备管理模块上报所述第二光模块类型。
可选的,所述上报单元12,还用于若所述第二光模块类型不为所述光模块类型集合中的一个,则向所述设备管理模块上报所述第二光模块类型和第二预警信息,所述第二预警信息用于指示所述光模块类型集合中没有所述第二光模块类型。
可选的,所述查询单元11,还用于若所述第二光模块类型为未知光模块类型,则查询所述光模块中是否存在预配置文件。
所述确定单元13,还用于若存在所述预配置文件,则根据所述预配置文件中的内容,确定第三光模块类型。
所述上报单元12,还用于向所述设备管理模块上报所述第三光模块类型和第三预警信息,第三预警信息用于指示所述第二光模块类型为未知光模块类型。
可选的,所述获取单元10,还用于若不存在所述预配置文件,则从所述设备管理模块中获取预先指定的第四光模块类型,所述第四光模块类型为所述光模块类型集合中的一个。
所述上报单元12,还用于向所述设备管理模块上报所述第四光模块类型和第三预警信息,所述第三预警信息用于指示所述第二光模块类型为未知光模块类型。
可选的,所述获取单元10获取的所述光模块的属性包括所述光模块的波长、所述光模块的位速率、所述光模块的传输距离以及所述光模块的通道数中的至少一个。
可以理解,本实施例的识别装置可对应于上述如图1至图4任意之一所述的实施例的光模块类型的识别方法中的识别装置,并且本实施例的识别装置中的各个模块的划分和/或功能等均是为了实现如图1至图4任意之一所示的方法流程,为了简洁,在此不再赘述。
本发明实施例提供的一种识别装置,能够读取光模块的内部寄存器以获取该光模块的属性,在预设的光模块类型数据库中查询是否存在与该光模块的属性对应的第一光模块类型,若存在该第一光模块类型,识别装置则向设备管理模块上报该第一光模块类型。由于本发明实施例提供的识别装置是通过该光模块的属性对光模块类型进行识别,从而避免了现有技术中由于协议寄存器的内容配置错误而导致光模块类型识别错误的问题,以及由于协议寄存器更新扩展或者协议寄存器中的相应比特位没有置位,而导致识别装置无法识别光模块类型问题,提高了识别光模块类型的可靠性。
如图7所示,本发明实施例提供一种识别装置,包括:处理器20、存储器21、系统总线22和通信接口23。
所述存储器21用于存储计算机执行指令,所述处理器20与所述存储器21通过所述系统总线22连接,当所述识别装置运行时,所述处理器20执行所述存储器21存储的所述计算机执行指令,以使所述识别装置执行如图1至图4任意之一所述的光模块类型的识别方法。具体的光模块类型的识别方法可参见上述如图1至图4任意之一所示的实施例中的相关描述,此处不再赘述。
本实施例还提供一种存储介质,该存储介质可以包括所述存储器21。
所述处理器20可以为中央处理器(英文:central processing unit,缩写:CPU)。所述处理器20还可以为其他通用处理器、数字信号处理器(英文:digital signalprocessing,简称DSP)、专用集成电路(英文:application specific integratedcircuit,简称ASIC)、现场可编程门阵列(英文:field-programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述处理器20可以为专用处理器,该专用处理器可以包括具有识别装置其他专用处理功能的芯片。
所述存储器21可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);所述存储器21也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);所述存储器21还可以包括上述种类的存储器的组合。
所述系统总线22可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图7中将各种总线都示意为系统总线22。
所述通信接口23具体可以是识别装置上所述处理器20通过与其他设备进行通信的接口。
在具体实现过程中,上述如图1至图4任意之一所示的方法流程中的各步骤均可以通过硬件形式的处理器20执行存储器21中存储的软件形式的计算机执行指令实现。为避免重复,此处不再赘述。
本发明实施例提供的一种识别装置,能够读取光模块的内部寄存器以获取该光模块的属性,在预设的光模块类型数据库中查询是否存在与该光模块的属性对应的第一光模块类型,若存在该第一光模块类型,识别装置则向设备管理模块上报该第一光模块类型。由于本发明实施例提供的识别装置是通过该光模块的属性对光模块类型进行识别,从而避免了现有技术中由于协议寄存器的内容配置错误而导致光模块类型识别错误的问题,以及由于协议寄存器更新扩展或者协议寄存器中的相应比特位没有置位,而导致识别装置无法识别光模块类型问题,提高了识别光模块类型的可靠性。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。