CN116015425A - 光模块的控制方法和装置、存储介质及电子装置 - Google Patents
光模块的控制方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN116015425A CN116015425A CN202211742262.6A CN202211742262A CN116015425A CN 116015425 A CN116015425 A CN 116015425A CN 202211742262 A CN202211742262 A CN 202211742262A CN 116015425 A CN116015425 A CN 116015425A
- Authority
- CN
- China
- Prior art keywords
- target
- optical module
- data
- chip
- isolated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 304
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000002955 isolation Methods 0.000 claims abstract description 59
- 238000004590 computer program Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 14
- 230000002457 bidirectional effect Effects 0.000 claims description 11
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 238000011084 recovery Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 18
- 238000010586 diagram Methods 0.000 description 10
- 230000001186 cumulative effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请公开了一种光模块的控制方法和装置、存储介质及电子装置,该光模块的控制方法包括:获取应用软件发起的数据操作请求;获取目标光模块的目标隔离状态,其中,光模块的隔离状态用于指示光模块在芯片中是否被隔离,芯片中被隔离的光模块不允许向应用软件提供数据服务;在目标隔离状态用于指示目标光模块在芯片中未被隔离的情况下,响应数据操作请求从目标光模块中获取目标数据;根据目标数据是否正确确定是否向应用软件提供目标数据,并根据目标数据是否正确确定是否对目标光模块进行隔离,采用上述技术方案,解决了相关技术中,光模块的控制过程导致应用软件处理业务的效率较低等问题。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种光模块的控制方法和装置、存储介质及电子装置。
背景技术
交换机数据接收和发送的终端设备光模块的数量较多一般都是几十个多的更是达到100多个光模块,因此需要使用芯片(PCA9548)来扩展I2C(Inter-IntegratedCircuit,两线式串行总线)物理链路来实现对光模块的控制,这种办法虽然能增加控制链路数量,实现更多设备的管理,但是如果一个PCA9548下面有一个光模块发生故障,SDA(串行数据线)和SCL(串行时钟线)被故障设备拉至低电平,I2C控制器无法通过I2C总线向PCA9548中写入选择channel(通道)的data(数据),则I2C Master Adapter(主适配器)无法控制这PCA9548下面的所有光模块设备,就会导致其他7个设备无法被访问。
如果访问到故障光模块,会导致业务无法获取有效数据且需要通过软件触发软件异常进入内核态,调用内核API(Application Programming Interface,应用程序编程接口)复位PCA9548使其他7个通道光模块可以被有效控制,这一过程大大地降低了应用软件的效率。
针对相关技术中,光模块的控制过程导致应用软件处理业务的效率较低等问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种光模块的控制方法和装置、存储介质及电子装置,以至少解决相关技术中,光模块的控制过程导致应用软件处理业务的效率较低等问题。
根据本申请实施例的一个实施例,提供了一种光模块的控制方法,包括:
获取应用软件发起的数据操作请求,其中,所述数据操作请求用于请求对芯片中的目标光模块的存储数据进行操作,所述芯片通过双向二线制同步串行总线12C链路分别连接多个光模块,所述多个光模块包括所述目标光模块;
获取所述目标光模块的目标隔离状态,其中,光模块的隔离状态用于指示光模块在所述芯片中是否被隔离,所述芯片中被隔离的光模块不允许向所述应用软件提供数据服务;
在所述目标隔离状态用于指示所述目标光模块在所述芯片中未被隔离的情况下,响应所述数据操作请求从所述目标光模块中获取目标数据;
根据所述目标数据是否正确确定是否向所述应用软件提供所述目标数据,并根据所述目标数据是否正确确定是否对所述目标光模块进行隔离。
可选的,所述获取所述目标光模块的目标隔离状态,包括:
从所述芯片记录的黑名单中查找所述目标光模块的目标标识,其中,所述黑名单用于记录所述芯片中被隔离的光模块的标识;
在查找到所述目标标识的情况下,确定所述目标隔离状态用于指示所述目标光模块在所述芯片中被隔离;
在未查找到所述目标标识的情况下,确定所述目标隔离状态用于指示所述目标光模块在所述芯片中未被隔离。
可选的,所述根据所述目标数据是否正确确定是否向所述应用软件提供所述目标数据,包括:
判断所述目标数据是否正确;
在判断出所述目标数据正确的情况下,向所述应用软件发送所述目标数据;
在判断出所述目标数据不正确的情况下,向所述应用软件发送错误提示,其中,所述错误提示用于指示响应所述数据操作请求获取数据出错。
可选的,所述根据所述目标数据是否正确确定是否对所述目标光模块进行隔离,包括:
判断所述目标数据是否正确;
在判断出所述目标数据正确的情况下,确定不对所述目标光模块进行隔离;
在判断出所述目标数据不正确的情况下,根据所述目标光模块提供不正确数据的累计次数确定是否对所述目标光模块进行隔离。
可选的,所述根据所述目标光模块提供不正确数据的累计次数确定是否对所述目标光模块进行隔离,包括:
获取所述目标光模块对应的初始累计次数,其中,所述初始累计次数为所述目标光模块在所述目标数据之前提供不正确数据的累计次数;
将所述初始累计次数累加1,得到目标累计次数;
在所述目标累计次数大于或者等于目标阈值的情况下,将所述目标光模块的目标标识添加到所述芯片记录的黑名单中,其中,所述黑名单用于记录所述芯片中被隔离的光模块的标识。
可选的,在所述将所述目标光模块的目标标识添加到所述芯片记录的黑名单中之后,所述方法还包括:
在检测到所述目标光模块故障恢复的情况下,将所述目标标识从所述黑名单中清除,并将所述目标光模块对应的所述目标累计次数清零。
可选的,在判断出所述目标数据不正确的情况下,所述方法还包括:
调用所述芯片的内核接口对所述芯片进行复位。
根据本申请实施例的另一个实施例,还提供了一种光模块的控制装置,包括:
第一获取模块,用于获取应用软件发起的数据操作请求,其中,所述数据操作请求用于请求对芯片中的目标光模块的存储数据进行操作,所述芯片通过双向二线制同步串行总线I2C链路分别连接多个光模块,所述多个光模块包括所述目标光模块;
第二获取模块,用于获取所述目标光模块的目标隔离状态,其中,光模块的隔离状态用于指示光模块在所述芯片中是否被隔离,所述芯片中被隔离的光模块不允许向所述应用软件提供数据服务;
响应模块,用于在所述目标隔离状态用于指示所述目标光模块在所述芯片中未被隔离的情况下,响应所述数据操作请求从所述目标光模块中获取目标数据;
隔离模块,用于根据所述目标数据是否正确确定是否向所述应用软件提供所述目标数据,并根据所述目标数据是否正确确定是否对所述目标光模块进行隔离。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述光模块的控制方法。
根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的光模块的控制方法。
在本申请实施例中,获取应用软件发起的数据操作请求,其中,数据操作请求用于请求对芯片中的目标光模块的存储数据进行操作,芯片通过双向二线制同步串行总线I2C链路分别连接多个光模块,多个光模块包括目标光模块;获取目标光模块的目标隔离状态,其中,光模块的隔离状态用于指示光模块在芯片中是否被隔离,芯片中被隔离的光模块不允许向应用软件提供数据服务;在目标隔离状态用于指示目标光模块在芯片中未被隔离的情况下,响应数据操作请求从目标光模块中获取目标数据;根据目标数据是否正确确定是否向应用软件提供目标数据,并根据目标数据是否正确确定是否对目标光模块进行隔离,即,首先获取应用软件发起的用于请求对芯片中的目标光模块的存储数据进行操作的数据操作请求,芯片通过双向二线制同步串行总线I2C链路分别连接多个光模块,多个光模块包括目标光模块,之后,获取目标光模块的目标隔离状态,由于隔离状态可以指示光模块在芯片中是否被隔离,其中,芯片中被隔离的光模块不允许向应用软件提供数据服务,在目标隔离状态用于指示目标光模块在芯片中未被隔离的情况下,响应数据操作请求从目标光模块中获取目标数据,最后,根据目标数据是否正确确定是否向应用软件提供目标数据,并根据目标数据是否正确确定是否对目标光模块进行隔离,也就是说,在目标隔离状态用于指示所述目标光模块在所述芯片中被隔离的情况下,不向所述应用软件提供数据服务,避免频繁读取被隔离的目标光模块造成应用软件处理业务的效率较低。采用上述技术方案,解决了相关技术中,光模块的控制过程导致应用软件处理业务的效率较低等问题,实现了提高光模块的控制过程导致应用软件处理业务的效率的技术效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种光模块的控制方法的硬件环境示意图;
图2是根据本申请实施例的一种光模块的控制方法的流程图;
图3是根据本申请实施例的一种目标光模块故障恢复方法的示意图;
图4是根据本申请实施例的一种对芯片进行复位的示意图;
图5是根据本申请实施例的一种光模块的控制流程的示意图;
图6是根据本申请实施例的一种光模块的控制装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例所提供的方法实施例可以在计算机终端、设备终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是根据本申请实施例的一种光模块的控制方法的硬件环境示意图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的光模块的控制方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种光模块的控制方法,应用于上述计算机终端,图2是根据本申请实施例的一种光模块的控制方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取应用软件发起的数据操作请求,其中,所述数据操作请求用于请求对芯片中的目标光模块的存储数据进行操作,所述芯片通过双向二线制同步串行总线I2C链路分别连接多个光模块,所述多个光模块包括所述目标光模块;
步骤S204,获取所述目标光模块的目标隔离状态,其中,光模块的隔离状态用于指示光模块在所述芯片中是否被隔离,所述芯片中被隔离的光模块不允许向所述应用软件提供数据服务;
步骤S206,在所述目标隔离状态用于指示所述目标光模块在所述芯片中未被隔离的情况下,响应所述数据操作请求从所述目标光模块中获取目标数据;
步骤S208,根据所述目标数据是否正确确定是否向所述应用软件提供所述目标数据,并根据所述目标数据是否正确确定是否对所述目标光模块进行隔离。
通过上述步骤,首先获取应用软件发起的用于请求对芯片中的目标光模块的存储数据进行操作的数据操作请求,芯片通过双向二线制同步串行总线I2C链路分别连接多个光模块,多个光模块包括目标光模块,之后,获取目标光模块的目标隔离状态,由于隔离状态可以指示光模块在芯片中是否被隔离,其中,芯片中被隔离的光模块不允许向应用软件提供数据服务,在目标隔离状态用于指示目标光模块在芯片中未被隔离的情况下,响应数据操作请求从目标光模块中获取目标数据,最后,根据目标数据是否正确确定是否向应用软件提供目标数据,并根据目标数据是否正确确定是否对目标光模块进行隔离,也就是说,在目标隔离状态用于指示所述目标光模块在所述芯片中被隔离的情况下,不向所述应用软件提供数据服务,避免频繁读取被隔离的目标光模块造成应用软件处理业务的效率较低。采用上述技术方案,解决了相关技术中,光模块的控制过程导致应用软件处理业务的效率较低等问题,实现了提高光模块的控制过程导致应用软件处理业务的效率的技术效果。
在上述步骤S202提供的技术方案中,获取应用软件发起的数据操作请求,其中,所述数据操作请求用于请求对芯片中的目标光模块的存储数据进行操作,所述芯片通过双向二线制同步串行总线I2C链路分别连接多个光模块,所述多个光模块包括所述目标光模块。
可选地,在本实施例中,芯片可以但不限于为任何具备扩展I2C物理链路来实现对光模块的控制的芯片,实现多设备的管理,比如,PCA9548、pca954x等等,本申请中,以PCA9548作为上述芯片对光模块的控制过程进行说明。
可选地,在本实施例中,数据操作请求用于请求对芯片中的目标光模块的存储数据进行操作,芯片通过多链路与多个光模块连接,目标光模块属于多个光模块中的一个,数据操作请求由应用软件发起,用于请求对目标光模块的存储数据进行操作。
在上述步骤S204提供的技术方案中,获取所述目标光模块的目标隔离状态,其中,光模块的隔离状态用于指示光模块在所述芯片中是否被隔离,所述芯片中被隔离的光模块不允许向所述应用软件提供数据服务。
可选地,在本实施例中,在对目标光模块的存储数据进行操作之前,首先获取所述目标光模块的目标隔离状态,对于一个光模块,其隔离状态可以指示该光模块在所述芯片中是否被隔离,其中,对于芯片中被隔离的光模块被设置为不允许向所述应用软件提供数据服务。
在一个示例性实施例中,可以但不限于通过以下方式获取所述目标光模块的目标隔离状态:从所述芯片记录的黑名单中查找所述目标光模块的目标标识,其中,所述黑名单用于记录所述芯片中被隔离的光模块的标识;在查找到所述目标标识的情况下,确定所述目标隔离状态用于指示所述目标光模块在所述芯片中被隔离;在未查找到所述目标标识的情况下,确定所述目标隔离状态用于指示所述目标光模块在所述芯片中未被隔离。
可选地,在本实施例中,每一个光模块都可以设置一个唯一的标识,可以但不限于为编号,编码等等形式,获取目标光模块的目标隔离状态,可以从芯片记录的黑名单中查找所述目标光模块的目标标识,在查找到所述目标标识的情况下,说明黑名单中记录了目标标识对应的目标光模块,即目标光模块当前在所述芯片中被隔离,不允许向所述应用软件提供数据服务,在未查找到所述目标标识的情况下,说明黑名单中没有记录目标标识对应的目标光模块,即目标光模块当前在所述芯片中未被隔离,允许向所述应用软件提供数据服务。
在上述步骤S206提供的技术方案中,在所述目标隔离状态用于指示所述目标光模块在所述芯片中未被隔离的情况下,响应所述数据操作请求从所述目标光模块中获取目标数据。
可选地,在本实施例中,在所述目标隔离状态用于指示所述目标光模块在所述芯片中未被隔离的情况下,目标光模块允许向所述应用软件提供数据服务,则可以响应所述数据操作请求从所述目标光模块中获取目标数据。
在上述步骤S208提供的技术方案中,根据所述目标数据是否正确确定是否向所述应用软件提供所述目标数据,并根据所述目标数据是否正确确定是否对所述目标光模块进行隔离。
可选地,在本实施例中,目标数据可以但不限于是目标光模块的状态数据,包括运行温度,运行电压,运行电流等等数据,根据所述目标数据是否正确确定是否向所述应用软件提供所述目标数据,也就是说,当目标数据超出正常运行的阈值的情况下,可以判定目标数据不正确,当目标数据超出未正常运行的阈值的情况下,可以判定目标数据正确。
在一个示例性实施例中,可以但不限于通过以下方式根据所述目标数据是否正确确定是否向所述应用软件提供所述目标数据:判断所述目标数据是否正确;在判断出所述目标数据正确的情况下,向所述应用软件发送所述目标数据;在判断出所述目标数据不正确的情况下,向所述应用软件发送错误提示,其中,所述错误提示用于指示响应所述数据操作请求获取数据出错。
可选地,在本实施例中,在判断出所述目标数据不正确的情况下,说明数据可能不可信,可能的原因包括光模块运行环境,温度,电压,磁场等等因素波动导致的,因此向所述应用软件发送错误提示,其中,错误提示用于指示响应所述数据操作请求获取数据出错。
在一个示例性实施例中,可以但不限于通过以下方式根据所述目标数据是否正确确定是否对所述目标光模块进行隔离:判断所述目标数据是否正确;在判断出所述目标数据正确的情况下,确定不对所述目标光模块进行隔离;在判断出所述目标数据不正确的情况下,根据所述目标光模块提供不正确数据的累计次数确定是否对所述目标光模块进行隔离。
可选地,在本实施例中,在判断出所述目标数据不正确的情况下,并不是就立即对目标光模块进行隔离,因为目标数据不正确可能的原因包括光模块运行环境,温度,电压,磁场等等因素,也就是可能只是短暂的异常,此时可以根据所述目标光模块提供不正确数据的累计次数确定是否对所述目标光模块进行隔离。
在一个示例性实施例中,可以但不限于通过以下方式根据所述目标光模块提供不正确数据的累计次数确定是否对所述目标光模块进行隔离:获取所述目标光模块对应的初始累计次数,其中,所述初始累计次数为所述目标光模块在所述目标数据之前提供不正确数据的累计次数;将所述初始累计次数累加1,得到目标累计次数;在所述目标累计次数大于或者等于目标阈值的情况下,将所述目标光模块的目标标识添加到所述芯片记录的黑名单中,其中,所述黑名单用于记录所述芯片中被隔离的光模块的标识。
可选地,在本实施例中,初始累计次数为所述目标光模块在所述目标数据之前提供不正确数据的累计次数,也就是说,初始累计次数为目标光模块的历史记录的不正确数据的累计次数,其中,累计次数可以记录在err.ini(报错)文件中,在判断出所述目标数据不正确的情况下,将所述初始累计次数累加1,得到目标累计次数,在所述目标累计次数大于或者等于目标阈值的情况下,例如,目标累计次数大于或者等于10,此时可以判定数据出错不是光模块运行环境,温度,电压,磁场等等因素导致的,则可以将所述目标光模块的目标标识添加到所述芯片记录的黑名单中,其中,所述黑名单用于记录所述芯片中被隔离的光模块的标识。
在一个示例性实施例中,在所述将所述目标光模块的目标标识添加到所述芯片记录的黑名单中之后,可以但不限于还包括以下方式:在检测到所述目标光模块故障恢复的情况下,将所述目标标识从所述黑名单中清除,并将所述目标光模块对应的所述目标累计次数清零。
可选地,在本实施例中,图3是根据本申请实施例的一种目标光模块故障恢复方法的示意图,如图3所示,目标光模块故障恢复的方式可以但不限于包括以下两种情况:第一种是进行了实际更换光模块操作,完成更换后向软件发送完成更换指令;第二种是实际上光模块没有损坏,由于其他原因导致读取光模块的目标数据不正确,在这种情况下无需更换光模块向软件发送更换完成指令即可,软件接收完成指令后,将所述目标标识从所述黑名单中清除,并将所述目标光模块对应的所述目标累计次数清零;
在一个示例性实施例中,在判断出所述目标数据不正确的情况下,可以但不限于还包括以下方式:调用所述芯片的内核接口对所述芯片进行复位。
可选地,在本实施例中,图4是根据本申请实施例的一种对芯片进行复位的示意图,如图4所示,使用PCA9548来扩展I2C(Inter-Integrated Circuit,两线式串行总线)物理链路来实现对光模块的控制,比如,光模块1至光模块8,在PCA9548 driver(PCA9548驱动器)判断出光模块5的目标数据不正确的情况下,将调用内核API,对上述光模块5对应的PCA9548 device(PCA9548装置)进行RESET(重置,复位),保证其他7条I2C链路的数据读写不受影响。
为了更好的理解上述光模块的控制的过程,以下再结合可选实施例对上述光模块的控制流程进行说明,但不用于限定本申请实施例的技术方案。
在本实施例中提供了一种光模块的控制方法,图5是根据本申请实施例的一种光模块的控制流程的示意图,如图5所示,主要包括如下步骤:
步骤S501:业务构件下发读写光模块eeprom(Electrically ErasableProgrammable read only memory,带电可擦可编程只读存储器)数据的指令,首先判断光模块No.号是否在黑名单中,如果在黑名单中提示更换光模块告警信息,API返回错误码,读取光模块流程结束;如果光模块没有在黑名单中,进入读取eeprom数据流程;通过PCA9548控制打开要读取光模块eeprom数据的I2C物理链路,读取eeprom数据;
步骤S502:判断读取光模块数据是否正确,如果正确则将数据转发至业务处理模块,业务处理模块完成业务处理后流程结束退出;
步骤S503:如果读取光模块eeprom数据不正确,软件将err.ini文件中光模块对应的No.错误次数+1,调用内核API复位对应的PCA5948,保证其他7条I2C链路的eeprom的数据读写不受影响;
步骤S504:判断故障光模块故障的次数是否大于10次,如果故障次数不大于10次本次光模块eeprom数据读取结束;
步骤S505:如果光模块故障次数大于10次,则将对应光模块No.增加至黑名单中,禁止应用程序再次访问No.对应的光模块。应用程序发出告警信息,提示相关人员更换光模块;
步骤S506:更换故障光模块流程:更换故障光模块后,向软件发送故障光模块完成更换指令,软件清空对应No.的错误次数和将No.移除黑名单,更换流程结束;若技术人员判断光模块实际并未发生故障,可直接发送故障光模块完成更换指令,软件清空对应No.的错误次数和将No.移除黑名单,更换流程结束。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
图6是根据本申请实施例的一种光模块的控制装置的结构框图;如图6所示,包括:
第一获取模块602,用于获取应用软件发起的数据操作请求,其中,所述数据操作请求用于请求对芯片中的目标光模块的存储数据进行操作,所述芯片通过双向二线制同步串行总线I2C链路分别连接多个光模块,所述多个光模块包括所述目标光模块;
第二获取模块604,用于获取所述目标光模块的目标隔离状态,其中,光模块的隔离状态用于指示光模块在所述芯片中是否被隔离,所述芯片中被隔离的光模块不允许向所述应用软件提供数据服务;
响应模块606,用于在所述目标隔离状态用于指示所述目标光模块在所述芯片中未被隔离的情况下,响应所述数据操作请求从所述目标光模块中获取目标数据;
隔离模块608,用于根据所述目标数据是否正确确定是否向所述应用软件提供所述目标数据,并根据所述目标数据是否正确确定是否对所述目标光模块进行隔离。
在上述过程中,业务程序读写光模块eeprom数据,先通过黑名单文件判断要读取数据的光模块对应的No.是否再黑名单中,如果在黑名单中直接报错返回,发出需要更换光模块的报警信息,访问流程结束。如果被访问的光模块没有报错或报错次数没超过10次,继续读取光模块数据,判断读取到的数据是否正确,如果数据正确,数据被送到业务构件模块;如果访问到的数据不正确,在err.ini文件中将对应No.错误次数+1,同时调用内核API复位PCA9548,判断光模块故障次数是否大于10,如果没有大于10访问流程结束;如果故障次数大于10次,将对应的No.加入黑名单中,如果再次访问改No.对应的光模块直接报错退出不再进行实际读写。加入黑名单后发布告警信息提示更换光模块,读取光模块eeprom数据访问结束。
更换光模块流程:更换光模块支持2种方法,第一种是进行了实际更换光模块操作,完成更换后向软件发送完成更换指令;第二种是实际上光模块没有损坏,由于其他原因导致读取光模块eeprom数据错误,在这种情况下无需更换光模块向软件发送更换完成指令即可,软件接收完成指令后将对应No.号的光模块移除黑名单和同时清空err.ini文件。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
通过上述实施例,首先获取应用软件发起的用于请求对芯片中的目标光模块的存储数据进行操作的数据操作请求,芯片通过双向二线制同步串行总线I2C链路分别连接多个光模块,多个光模块包括目标光模块,之后,获取目标光模块的目标隔离状态,由于隔离状态可以指示光模块在芯片中是否被隔离,其中,芯片中被隔离的光模块不允许向应用软件提供数据服务,在目标隔离状态用于指示目标光模块在芯片中未被隔离的情况下,响应数据操作请求从目标光模块中获取目标数据,最后,根据目标数据是否正确确定是否向应用软件提供目标数据,并根据目标数据是否正确确定是否对目标光模块进行隔离,也就是说,在目标隔离状态用于指示所述目标光模块在所述芯片中被隔离的情况下,不向所述应用软件提供数据服务,避免频繁读取被隔离的目标光模块造成应用软件处理业务的效率较低。采用上述技术方案,解决了相关技术中,光模块的控制过程导致应用软件处理业务的效率较低等问题,实现了提高光模块的控制过程导致应用软件处理业务的效率的技术效果。
在一个示例性实施例中,所述第二获取模块,包括:
查找单元,用于从所述芯片记录的黑名单中查找所述目标光模块的目标标识,其中,所述黑名单用于记录所述芯片中被隔离的光模块的标识;
第一确定单元,用于在查找到所述目标标识的情况下,确定所述目标隔离状态用于指示所述目标光模块在所述芯片中被隔离;
第二确定单元,用于在未查找到所述目标标识的情况下,确定所述目标隔离状态用于指示所述目标光模块在所述芯片中未被隔离。
在一个示例性实施例中,所述隔离模块,包括:
第一判断单元,用于判断所述目标数据是否正确;
第一发送单元,用于在判断出所述目标数据正确的情况下,向所述应用软件发送所述目标数据;
第二发送单元,用于在判断出所述目标数据不正确的情况下,向所述应用软件发送错误提示,其中,所述错误提示用于指示响应所述数据操作请求获取数据出错。
在一个示例性实施例中,所述隔离模块,包括:
第二判断单元,用于判断所述目标数据是否正确;
第三确定单元,用于在判断出所述目标数据正确的情况下,确定不对所述目标光模块进行隔离;
第四确定单元,用于在判断出所述目标数据不正确的情况下,根据所述目标光模块提供不正确数据的累计次数确定是否对所述目标光模块进行隔离。
在一个示例性实施例中,所述第四确定单元,还用于:
获取所述目标光模块对应的初始累计次数,其中,所述初始累计次数为所述目标光模块在所述目标数据之前提供不正确数据的累计次数;
将所述初始累计次数累加1,得到目标累计次数;
在所述目标累计次数大于或者等于目标阈值的情况下,将所述目标光模块的目标标识添加到所述芯片记录的黑名单中,其中,所述黑名单用于记录所述芯片中被隔离的光模块的标识。
在一个示例性实施例中,所述装置还包括:
清除模块,用于在所述将所述目标光模块的目标标识添加到所述芯片记录的黑名单中之后,在检测到所述目标光模块故障恢复的情况下,将所述目标标识从所述黑名单中清除,并将所述目标光模块对应的所述目标累计次数清零。
在一个示例性实施例中,所述装置还包括:
调用模块,用于在判断出所述目标数据不正确的情况下,调用所述芯片的内核接口对所述芯片进行复位。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种光模块的控制方法,其特征在于,包括:
获取应用软件发起的数据操作请求,其中,所述数据操作请求用于请求对芯片中的目标光模块的存储数据进行操作,所述芯片通过双向二线制同步串行总线I2C链路分别连接多个光模块,所述多个光模块包括所述目标光模块;
获取所述目标光模块的目标隔离状态,其中,光模块的隔离状态用于指示光模块在所述芯片中是否被隔离,所述芯片中被隔离的光模块不允许向所述应用软件提供数据服务;
在所述目标隔离状态用于指示所述目标光模块在所述芯片中未被隔离的情况下,响应所述数据操作请求从所述目标光模块中获取目标数据;
根据所述目标数据是否正确确定是否向所述应用软件提供所述目标数据,并根据所述目标数据是否正确确定是否对所述目标光模块进行隔离。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标光模块的目标隔离状态,包括:
从所述芯片记录的黑名单中查找所述目标光模块的目标标识,其中,所述黑名单用于记录所述芯片中被隔离的光模块的标识;
在查找到所述目标标识的情况下,确定所述目标隔离状态用于指示所述目标光模块在所述芯片中被隔离;
在未查找到所述目标标识的情况下,确定所述目标隔离状态用于指示所述目标光模块在所述芯片中未被隔离。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据是否正确确定是否向所述应用软件提供所述目标数据,包括:
判断所述目标数据是否正确;
在判断出所述目标数据正确的情况下,向所述应用软件发送所述目标数据;
在判断出所述目标数据不正确的情况下,向所述应用软件发送错误提示,其中,所述错误提示用于指示响应所述数据操作请求获取数据出错。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据是否正确确定是否对所述目标光模块进行隔离,包括:
判断所述目标数据是否正确;
在判断出所述目标数据正确的情况下,确定不对所述目标光模块进行隔离;
在判断出所述目标数据不正确的情况下,根据所述目标光模块提供不正确数据的累计次数确定是否对所述目标光模块进行隔离。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标光模块提供不正确数据的累计次数确定是否对所述目标光模块进行隔离,包括:
获取所述目标光模块对应的初始累计次数,其中,所述初始累计次数为所述目标光模块在所述目标数据之前提供不正确数据的累计次数;
将所述初始累计次数累加1,得到目标累计次数;
在所述目标累计次数大于或者等于目标阈值的情况下,将所述目标光模块的目标标识添加到所述芯片记录的黑名单中,其中,所述黑名单用于记录所述芯片中被隔离的光模块的标识。
6.根据权利要求5所述的方法,其特征在于,在所述将所述目标光模块的目标标识添加到所述芯片记录的黑名单中之后,所述方法还包括:
在检测到所述目标光模块故障恢复的情况下,将所述目标标识从所述黑名单中清除,并将所述目标光模块对应的所述目标累计次数清零。
7.根据权利要求4所述的方法,其特征在于,在判断出所述目标数据不正确的情况下,所述方法还包括:
调用所述芯片的内核接口对所述芯片进行复位。
8.一种光模块的控制装置,其特征在于,包括:
第一获取模块,用于获取应用软件发起的数据操作请求,其中,所述数据操作请求用于请求对芯片中的目标光模块的存储数据进行操作,所述芯片通过双向二线制同步串行总线I2C链路分别连接多个光模块,所述多个光模块包括所述目标光模块;
第二获取模块,用于获取所述目标光模块的目标隔离状态,其中,光模块的隔离状态用于指示光模块在所述芯片中是否被隔离,所述芯片中被隔离的光模块不允许向所述应用软件提供数据服务;
响应模块,用于在所述目标隔离状态用于指示所述目标光模块在所述芯片中未被隔离的情况下,响应所述数据操作请求从所述目标光模块中获取目标数据;
隔离模块,用于根据所述目标数据是否正确确定是否向所述应用软件提供所述目标数据,并根据所述目标数据是否正确确定是否对所述目标光模块进行隔离。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至7中任一项所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211742262.6A CN116015425A (zh) | 2022-12-29 | 2022-12-29 | 光模块的控制方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211742262.6A CN116015425A (zh) | 2022-12-29 | 2022-12-29 | 光模块的控制方法和装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116015425A true CN116015425A (zh) | 2023-04-25 |
Family
ID=86020743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211742262.6A Pending CN116015425A (zh) | 2022-12-29 | 2022-12-29 | 光模块的控制方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116015425A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117421257A (zh) * | 2023-10-24 | 2024-01-19 | 上海合芯数字科技有限公司 | 一种内存条的初始化方法、装置、设备及存储介质 |
-
2022
- 2022-12-29 CN CN202211742262.6A patent/CN116015425A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117421257A (zh) * | 2023-10-24 | 2024-01-19 | 上海合芯数字科技有限公司 | 一种内存条的初始化方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100365994C (zh) | 用于调试以太网的方法和装置 | |
CN113115351B (zh) | 一种网络异常的处理方法、处理装置、终端设备及介质 | |
CN106502814B (zh) | 一种记录pcie设备错误信息的方法及装置 | |
CN111274077A (zh) | 一种磁盘阵列可靠性测试方法、系统、终端及存储介质 | |
CN116015425A (zh) | 光模块的控制方法和装置、存储介质及电子装置 | |
CN103973470A (zh) | 用于无共享集群的集群管理方法和设备 | |
CN108228215A (zh) | 终端设备的ota升级包的推送方法及装置 | |
CN105573872A (zh) | 数据存储系统的硬盘维护方法和装置 | |
CN110502496B (zh) | 一种分布式文件系统修复方法、系统、终端及存储介质 | |
CN117271234A (zh) | 故障诊断方法、装置、存储介质及电子装置 | |
CN104158843A (zh) | 分布式文件存储系统的存储单元失效检测方法及装置 | |
CN110968456B (zh) | 分布式存储系统中故障磁盘的处理方法及装置 | |
CN111010706A (zh) | 一种异常恢复方法及装置 | |
CN109597728B (zh) | 测试设备的控制方法及装置、计算机可读存储介质 | |
CN111176878A (zh) | 一种服务器bbu备电诊断方法、系统、终端及存储介质 | |
CN111026585B (zh) | 一种录播系统中的存储服务器热备切换方法 | |
CN111274219B (zh) | 数据存储方法及装置、存储介质、电子装置 | |
CN114860494A (zh) | 一种sas拓展器配置自适应系统 | |
CN105511848A (zh) | 一种动态链接库的检测方法和装置 | |
CN111221673B (zh) | 一种故障恢复方法及装置 | |
CN115617719B (zh) | 硬盘背板盘序的调整方法及装置、存储介质、电子装置 | |
CN115237680B (zh) | 一种分布式数据恢复系统及方法 | |
CN117608618B (zh) | 服务器固件升级方法及装置、存储介质和电子设备 | |
CN114785673B (zh) | 主备倒换时获取异常信息的方法和装置 | |
CN112530139B (zh) | 一种监控系统、方法、装置、采集器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |