CN113727208A - 快速读写光模块参数信息的通信方法、装置、设备及介质 - Google Patents
快速读写光模块参数信息的通信方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113727208A CN113727208A CN202111012791.6A CN202111012791A CN113727208A CN 113727208 A CN113727208 A CN 113727208A CN 202111012791 A CN202111012791 A CN 202111012791A CN 113727208 A CN113727208 A CN 113727208A
- Authority
- CN
- China
- Prior art keywords
- optical module
- parameter information
- information
- database
- identification information
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q1/00—Details of selecting apparatus or arrangements
- H04Q1/02—Constructional details
- H04Q1/10—Exchange station construction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0007—Construction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Optical Communication System (AREA)
Abstract
本公开提供一种快速读写光模块参数信息的通信方法、装置、设备及介质,方法包括:接收读取指令,所述读取指令用于获取光模块的标识信息;响应于所述读取指令,从所述光模块中获取所述光模块的标识信息;基于所述标识信息在光模块数据库中获取所述光模块对应的参数信息;其中,所述光模块数据库存储于本地设备或远端设备。根据本公开,通过将光模块的参数信息存储在本地或远端的光模块数据库中,仅从光模块中读取光模块的标识信息,进而根据该标识信息在光模块数据库中读取该标识信息对应的光模块的参数信息,提高了对光模块参数信息的读取操作的速度。
Description
技术领域
本公开涉及网络技术领域,尤其涉及一种快速读写光模块参数信息的通信方法、装置、设备及介质。
背景技术
在数据通讯网络中,特别是高速的大型网络交换设备中,光模块被大量用于网络交换设备作为物理层完成数据的传输。例如有些交换机中接口总数超256个,也就是最多存在256个光模块供CPU读取其中的光模块EEPROM信息。现有技术中,光模块一般采用慢速的I2C总线进行读取,在光模块的总数不多,例如只有几个的时候,读取速度上的缺陷并不明显,但是当***中的光模块数量达到数百个时,读完所有光模块的技术参数等数据,需要很长的时间,这在实际的应用场景中,例如快速重启动的场景中,通常不被允许。对光模块参数的读取速度减慢,显著增加了服务中断的时间,降低了整体的通信效率。
发明内容
有鉴于此,本公开的目的在于提出一种快速读写光模块参数信息的通信方法、设备及介质。
根据本公开的第一方面,提供了一种快速读写光模块参数信息的通信方法,包括:
接收读取指令,所述读取指令用于获取光模块的标识信息;
响应于所述读取指令,从所述光模块中获取所述光模块的标识信息;
基于所述标识信息在光模块数据库中获取所述光模块对应的参数信息;其中,所述光模块数据库存储于本地设备或远端设备。
可选地,基于所述标识信息在光模块数据库中获取所述光模块对应的参数信息,包括:
基于所述标识信息判断所述光模块数据库中是否已经记录所述光模块的参数信息;
如果所述光模块数据库中已经记录所述光模块的参数信息从所述光模块数据库中读取所述光模块的参数信息;
如果所述光模块数据库中没有记录所述光模块的参数信息,将所述光模块的参数信息存储至所述光模块数据库。
可选地,将所述光模块的参数信息存储至所述光模块数据库,包括:
获取所述光模块的ID信息;
判断是否需要重新读取所述光模块的键值;
如果需要重新读取键信息,则生成所述光模块的标识信息,并将所述标识信息作为所述键信息重新读取;
如果不需要重新读取所述键信息,则将所述ID信息作为所述光模块的键信息;
以所述光模块的标识信息为键,所述光模块中当前存储的参数信息为值,写入所述光模块数据库。
可选地,所述方法还包括:
判断从所述光模块数据库中获取所述光模块对应的参数信息是否完整;
如果从所述光模块数据库中获取的所述参数信息是完整的,则返回所述参数信息;
如果从所述光模块数据库中获取的所述参数信息不完整,则基于所述光模块中当前存储的参数信息更新所述光模块数据库中对应的参数信息。
可选地,基于所述光模块中当前存储的参数信息更新所述光模块数据库中对应的参数信息包括:
获取所述光模块的数据类型,其中所述数据类型包括:可读数据、或可读可写数据;
判断所述数据类型是否成功获取;
如果成功获取,则根据所述数据类型,读取所述光模块中的可读可写数据;以及,以所述光模块的标识信息为键,所述光模块中当前可读可写数据为值,更新所述光模块数据库中所述光模块的参数信息;
如果未成功获取,将所述光模块中的当前所有参数信息写入光模块数据库。
可选地,所述方法还包括:
判断所述光模块是否具有可写区域;
如果所述光模块具有可写区域,则基于所述可写区域生成所述标识信息;
如果所述光模块不具有可写区域,则将所述ID信息和所述光模块的厂家新生成所述标识信息。
可选地,所述方法还包括:
从所述光模块中获取第一参数信息,以及从所述光模块数据库中获取所述光模块对应的第二参数信息;
判断所述第一参数信息和所述第二参数信息是否存在差异;
如果所述第一参数信息和所述第二参数信息存在差异,则判断所述第二参数信息的完整性;
如果所述第二参数信息是完整的,则基于所述第二参数信息更新所述第一参数信息。
根据本公开的第二方面,提供了快速读写光模块参数信息的通信装置,包括:
至少一个光模块,用于接收和发送光信号,并实现光信号与电信号之间的转换;
通信模块,与至少一个所述光模块连接,用于与所述光模块实现所述电信号的传输,以及基于第一方面所述的方法,以对所述光模块执行读写操作。
可选地,所述通信模块还用于:从存储于远端设备的光模块数据库中获取所述光模块对应的参数信息,或将所述光模块对应的参数信息存储于所述远端设备的光模块数据库中。
根据本公开的第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的方法。
根据本公开的第四方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行第一方面所述方法。
从上面所述可以看出,本公开提供的快速读写光模块参数信息的通信方法、设备及介质,通过将光模块的参数信息存储在本地或远端的光模块数据库中,仅从光模块中读取光模块的标识信息,进而根据该标识信息在光模块数据库中读取该标识信息对应的光模块的参数信息,提高了对光模块参数信息的读取操作的速度。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本公开实施例的快速读写光模块参数信息的通信装置的示意图;
图2为根据本公开实施例的快速读写光模块参数信息的通信方法的示意性流程图;
图3为根据本公开实施例的建立光模块数据库的示意性流程图;
图4为根据本公开实施例的建立光模块数据库的示意性流程图;
图5为根据本公开实施例的快速读取光模块参数信息的通信方法的示意性示例;
图6为根据本公开实施例的快速写入光模块参数信息的通信方法的示意性示例;
图7为根据本公开实施例的快速读写光模块参数信息装置的示意图;
图8为本公开实施例的电子设备的示意性框图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
为了描述光模块技术参数等信息,一般厂家需要将这些参数存储到光模块内置的一个EEPROM中。为了统一EEPROM中内容标准,全球网络存储工业协会定义了的具体格式SFP,QSFP/QSFP+/QSFP-DD,XFP(SFF-8477)。根据这些标准,EEPROM的容量多达几千字节。随着***中的光模块数量的增加,达到数百个以上时,光模块的读取速度较慢这一缺陷就显现出来了。以当今大多数光模块模块的EEPROM的大小在1024字节1K为例,使用频率为100K的I2C总线进行读取,读完所有的数据,最少需要接近1分钟。由于读取时间过长,这在实际的应用场景中,例如快速重启动的场景中,通常不被允许。
根据现有的标准,光模块一般采用I2C总线进行读取,使用CPU通过同步或者异步的方式对EEPROM中的内容进行操作。有些比较先进的设备中会配置多个I2C总线,这样可以多个I2C总线同时对光模块进行操作,以加速光模块的操作。然而,本公开意识到这种通过增加多个I2C总线,或者是提高I2C总线的速度等硬件的方案来时间速度的提升,不仅会增加硬件的设计成本,特别是当光模块的数量剧增之后,例如光模块的数量增加到256甚至更多的时候,成本也会急剧增加;而且提高I2C的速度会增加光模块的读取的不稳定性。此外,光模块的EEPROM也有自身的时序,仅依靠单纯地增加I2C的速度,只能减少数据的传输时间,并不能减少数据的写入以及读取时间。所以,单纯地仅依靠增加硬件的方式来提高光模块的读取速度并不可取,亟需一种不增加成本的前提下,提升光模块的读取速度的技术。
鉴于此,本公开实施例提供了一种快速读写光模块参数信息的通信方法、装置、设备以及介质,在硬件不变的前提下,提高了对光模块参数信息的读取操作的速度。参见图1,图1示出了根据本公开实施例的快速读写光模块参数信息的通信装置的示意图。参见图1,通信装置100包括:
至少一个光模块110,用于接收和发送光信号,并实现光信号与电信号之间的转换;
通信模块120,与至少一个所述光模块110连接,用于与所述光模块110实现所述电信号的传输。
在一些实施例中,光模块110与通信模块120通过总线方式通信。进一步地,可以通过I2C总线实现数据传输。
在一些实施例中,光模块110存储有自身的标识信息。进一步地,该标识信息存储于光模块110的存储器(EEPROM)中。在一些实施例中,光模块110的存储器中还可以存储有自身的参数信息。其中,参数信息可以指光模块110用于实现物理层中数据传输所需的信息,例如传输速率、传输距离、中心波长、光纤类型、光口类型、工作温度范围、最大功耗等。
在一些实施例中,通信模块120本地存储有光模块数据库。其中,光模块数据库可以包括光模块的标识信息与该光模块的参数信息的映射,根据一个光模块的标识信息即可找到该光模块对应的参数信息。
在一些实施例中,通信装置100还可以通过网络与远端设备130通信。进一步地,远端设备130也可以存储有所述光模块数据库。这样,通信装置100可以从本地的光模块数据库或者远端设备130的光模块数据库中获取光模块110的参数信息,或将光模块对应的参数信息存储于本地的光模块数据库或远端设备130的光模块数据库中。在一些实施例中,通信装置100与远端设备130之间采用有线或无线的通信方式。这样,通过使用构建在远端的光模块数据库,可以实现不同设备间的光模块数据的共享,从而进一步降低初次构建光模块数据库的***开销。
参见图2,图2示出了根据本公开实施例的快速读写光模块参数信息的通信方法的示意性流程图。如图2所示,快速读写光模块参数信息的通信方法200,可以包括:
步骤S210,接收读取指令,所述读取指令用于获取光模块的标识信息;
步骤S220,响应于所述读取指令,从所述光模块中获取所述光模块的标识信息;
步骤S230,基于所述标识信息在光模块数据库中获取所述光模块对应的参数信息;其中,所述光模块数据库存储于本地设备或远端设备。
其中,通过将光模块的参数信息存储在本地或远端的光模块数据库中,仅从光模块中读取光模块的标识信息,进而根据该标识信息在光模块数据库中读取该标识信息对应的光模块的参数信息,在硬件不变的前提下,提高了对光模块参数信息的读取操作的速度,从而加快了设备的重启速度。与传统方法中从光模块中读取参数信息的方式相比,无需每次都对从光模块中读取信息,减少了I2C总线的读取速度慢所带来的局限性,提升光模块的读取速度的同时,避免了通过增加硬件以提速带来的成本增加问题。应了解,根据本公开实施例的方法可以部署于网络设备中,例如网络节点处的设备。
根据本公开实施例,在步骤S210之前,所述方法200还可以包括:
判断所述光模块是否具有可写区域;
如果所述光模块具有可写区域,则基于所述可写区域生成所述标识信息。
在一些实施例中,基于所述ID信息生成所述光模块的所述标识信息,还可以包括:
如果所述光模块不具有可写区域,则将所述ID信息和所述光模块的厂家新生成所述标识信息。
在一些实施例中,ID信息可以是光模块的序列号(SN)。
其中,光模块的标识信息是指能够唯一地标识光模块的信息。光模块可以直接采用ID信息作为标识信息,例如序列号。然而,由于光模块的生产方很多,可能存在ID信息重复的问题,此时,可以为光模块重新生成一个能够唯一标识光模块的标识信息。如果光模块具有可写的区域,则可以使用光模块EEPROM的可写区域,定义一个全局的UUID(Universally Unique Identifier,通用唯一识别码)作为唯一性的标识信息;如果光模块不具有可写的区域,则可以基于ID信息和厂家信息重新生成一个标识信息,例如:标识信息可以是生产商代码+ID信息,以01123456789为例,01可以是生产商代码,表示生产商A(生产商代码也可以采用生产商名称字母缩写等,在此不做限制),123456789为光模块的SN。应了解,上述仅为举例说明,并不旨在对标识信息进行限定,标识信息还可以根据实际情况采用其他形式,在此不做限制。
根据本公开实施例,在步骤S210之前,所述方法200还可以包括:基于所述光模块的参数信息以及所述标识信息建立所述光模块数据库。
在一些实施例中,参见图3,图3示出了根据本公开实施例的建立光模块数据库的示意性流程图。如图3所示,基于所述光模块的参数信息以及所述标识信息建立所述光模块数据库,可以包括:
步骤S310,获取光模块存储器中的ID信息;例如,可以调用底层驱动读取光模块EEPROM中的SN数据;执行步骤S320。
步骤S320,判断是否需要重新读取键值;例如,可以判断是否存在重复的该ID信息;
如果需要重新读取键信息,则执行步骤S330;
如果不需要重新读取键信息,则将该ID信息作为该光模块的键信息;执行步骤S340。
步骤S330,生成该模块的标识信息,并将该标识信息作为键信息重新读取;例如,可以继续判断光模块是否具有可写区域;如果该光模块具有可写区域,则基于该可写区域定义一个全局的唯一性的标识信息;如果该光模块不具有可写区域,则将ID信息和厂家新生成标识信息;执行步骤S340。
步骤S340,判断光模块数据库(可以是本地的,也可以是远端设备的)中是否已经记录该光模块的参数信息;例如,可以判断光模块数据库中是否存在光模块的键信息(或标识信息);
如果光模块数据库中已经记录该光模块的参数信息,则执行步骤S350;如果光模块数据库中没有记录该光模块的参数信息,则执行步骤S360。
步骤S350,判断是否需要强制读取该光模块的参数信息;如果不需要,则结束;如果需要,则执行步骤S360。
步骤S360,读取该光模块EEPROM中当前存储的参数信息;执行步骤S370。
步骤S370,以光模块的标识信息为键,该光模块EEPROM中当前存储的参数信息为值,写入光模块数据库。
在实际应用中,光模块EEPROM中存储的参数信息可以包括不同的读写特性,有些数据是可读的,这部分数据一般不会被更改和发生变化,有些数据是既可读也可写的,这部分数据可能会发生变化。在建立光模块数据库后,需要更新参数发生变化的光模块的参数信息时,可以只对可读可写的部分进行更新,而无需再对光模块的所有参数信息再重新读取,这样可以加速光模块数据库的构建,提高光模块数据库的构建效率。
在一些实施例中,参见图4,图4示出了根据本公开实施例的建立光模块数据库的示意性流程图。如图4所示,基于所述光模块的参数信息以及所述标识信息建立所述光模块数据库,还可以包括:
步骤S410,获取光模块存储器中的ID信息;例如,可以调用底层驱动读取光模块EEPROM中的SN数据;执行步骤S420。
步骤S420,判断是否需要重新读取键值;例如,可以判断是否存在重复的该ID信息;
如果需要重新读取键信息,则执行步骤S430;
如果不需要重新读取键信息,则将该ID信息作为该光模块的键信息;执行步骤S440。
步骤S430,生成该模块的标识信息,并将该标识信息作为键信息重新读取;例如,可以继续判断光模块是否具有可写区域;如果该光模块具有可写区域,则基于该可写区域定义一个全局的唯一性的标识信息;如果该光模块不具有可写区域,则将ID信息和厂家新生成标识信息;执行步骤S440。
步骤S440,判断光模块数据库(可以是本地的,也可以是远端设备的)中是否已经记录该光模块的参数信息;例如,可以判断光模块数据库中是否存在光模块的键信息(或标识信息);
如果光模块数据库中已经记录该光模块的参数信息,则执行步骤S450;如果光模块数据库中没有记录该光模块的参数信息,则执行步骤S480。
步骤S450,获取该光模块的数据类型;数据类型包括:可读数据、或可读可写数据;执行步骤S460。
步骤S460,判断该数据类型是否成功获取;如果成功获取,则执行步骤S470;如果未成功获取,则执行步骤S480。
步骤S470,根据数据类型,读取该光模块中的可读可写数据;然后,以光模块的标识信息为键,该光模块EEPROM中当前可读可写数据为值,更新光模块数据库中该光模块的参数信息。
步骤S480,将该光模块EEPROM中的当前所有参数信息写入光模块数据库。例如,可以采用图3中所示的至少部分步骤来实现。
根据本公开实施例,在步骤S210,接收读取指令,所述读取指令用于获取光模块的参数信息。
其中,读取指令可以是用户通过输入装置发出的指令,例如,用户通过程序指令发出;也可以是网络设备上电后,自动发出的指令,例如,网络设备重启后自动读取光模块的参数信息。如图1中所示,通信装置100可以在上电后生成读取指令,经由通信模块120获取光模块110的参数信息。
根据本公开实施例,在步骤S220,响应于所述读取指令,从所述光模块中获取所述光模块的标识信息。
其中,如图1中所示,通信模块120可以响应于读取指令,从光模块中获取光模块110的标识信息。通信模块120在接收到该读取指令后,可以通过I2C总线向光模块110发送获取指令以获取标识信息,光模块110接收到该获取指令后,通过I2C总线向通信模块120返回该光模块110的标识信息。
根据本公开实施例,在步骤S230,基于所述标识信息在光模块数据库中获取所述光模块对应的参数信息;其中,所述光模块数据库存储于本地设备或远端设备。
其中,如图1中所示,基于本地或远端设备中建立好的光模块数据库,可以根据光模块110的标识信息找到该光模块110的参数信息,进行读取。这样,通信模块120与光模块110之间的数据传输,由大量的参数信息变为少量的标识信息,再在光模块数据库中读取相应的参数信息,提高了对光模块的参数信息的读取速度,解决了在海量的光模块中EEPROM的内容读取速度慢的问题。
在一些实施例中,基于所述标识信息在光模块数据库中获取所述光模块对应的参数信息,包括:
基于所述标识信息判断所述光模块数据库中是否已经记录所述光模块的参数信息;
如果所述光模块数据库中已经记录所述光模块的参数信息,从所述光模块数据库中读取所述光模块的参数信息;
如果所述光模块数据库中没有记录所述光模块的参数信息,将所述光模块的参数信息存储至所述光模块数据库。
在一些实施例中,将所述光模块的参数信息存储至所述光模块数据库,包括:
获取所述光模块的ID信息;
判断是否需要重新读取所述光模块的键值;
如果需要重新读取键信息,则生成所述光模块的标识信息,并将所述标识信息作为所述键信息重新读取;
如果不需要重新读取所述键信息,则将所述ID信息作为所述光模块的键信息;
以所述光模块的标识信息为键,所述光模块中当前存储的参数信息为值,写入所述光模块数据库。
在一些实施例中,所述方法200还可以包括:
判断从所述光模块数据库中获取所述光模块对应的参数信息是否完整;
如果从所述光模块数据库中获取的所述参数信息是完整的,则返回所述参数信息;
如果从所述光模块数据库中获取的所述参数信息不完整,则基于所述光模块中当前存储的参数信息更新所述光模块数据库中对应的参数信息。
在一些实施例中,判断从所述光模块数据库中获取所述光模块对应的参数信息是否完整,可以包括:
判断从所述光模块数据库中获取所述光模块对应的参数信息是否存在完整性标识;
如果从所述光模块数据库中获取的参数信息存在所述完整性标识,则表示从所述光模块数据库中获取的所述参数信息是完整的;
如果从所述光模块数据库中获取的参数信息不存在所述完整性标识,则表示从所述光模块数据库中获取的所述参数信息不完整。
其中,完整性标识可以包括标识数据是否完整的数据指纹。由于光模块EEPROM的空间有限,以及受到写入或读取速度的影响,一般采用字节数较少的算法来生成该完整性标识。
在一些实施例中,可以基于CRC32、MD5、SM2、或SHA算法生成所述完整性标识。
在一些实施例中,基于所述光模块中当前存储的参数信息更新所述光模块数据库中对应的参数信息包括:
获取所述光模块的数据类型,其中所述数据类型包括:可读数据、或可读可写数据;
判断所述数据类型是否成功获取;
如果成功获取,则根据所述数据类型,读取所述光模块中的可读可写数据;以及,以所述光模块的标识信息为键,所述光模块中当前可读可写数据为值,更新所述光模块数据库中所述光模块的参数信息;
如果未成功获取,将所述光模块中的当前所有参数信息写入光模块数据库。
在一些实施例中,参见图5,图5示出了根据本公开实施例的快速读取光模块参数信息的通信方法的示意性示例。如图5所示,快速读取光模块参数信息的通信方法500可以包括:
步骤S510,获取光模块存储器中的ID信息;例如,可以调用底层驱动读取光模块EEPROM中的SN数据;执行步骤S520。
步骤S520,判断是否需要重新读取键值;例如,可以判断是否存在重复的该ID信息;
如果需要重新读取键信息,则执行步骤S530;
如果不需要重新读取键信息,则将该ID信息作为该光模块的键信息;执行步骤S540。
步骤S530,生成该模块的标识信息,并将该标识信息作为键信息重新读取;例如,可以继续判断光模块是否具有可写区域;如果该光模块具有可写区域,则基于该可写区域定义一个全局的唯一性的标识信息;如果该光模块不具有可写区域,则将ID信息和厂家新生成标识信息;执行步骤S340。
步骤S540,判断光模块数据库(可以是本地的,也可以是远端设备的)中是否已经记录该光模块的参数信息;例如,可以判断光模块数据库中是否存在光模块的键信息(或标识信息);
如果光模块数据库中已经记录该光模块的参数信息,则执行步骤S550;如果光模块数据库中没有记录该光模块的参数信息,则执行步骤S560。
步骤S550,从光模块数据库中读取该光模块的参数信息,并判断所读取的参数信息的完整性;例如,可以比较从光模块数据库中读取该光模块的参数信息A与该光模块EEPROM中当前存储的参数信息B,如果参数信息A与B一致,则表示所读取的参数信息是完整的,否则表示所读取的参数信息不完整;
如果所读取的参数信息不完整,则执行步骤S570;如果所读取的参数信息是完整的,则执行步骤S580。
步骤S560,将该光模块的参数信息存储至光模块数据库,例如可以采用图3中所述的至少部分步骤;执行步骤S540。
步骤S570,基于该光模块EEPROM中当前存储的参数信息更新光模块数据库中该光模块对应的参数信息;例如,可以将光模块数据库中该光模块的参数信息A用该光模块EEPROM中当前存储的参数信息B替代或更新;其中,更新时可以进更新可读可写的数据,可以采用图4中所述的至少部分步骤;执行步骤S580。
步骤S580,返回从当前光模块数据库中所读取该光模块的参数信息;例如,可以是步骤S550中所读取的参数信息,也可以是步骤S570中,更新后的光模块数据库中所读取的参数信息。
根据本公开实施例,所述方法200还可以包括:
从所述光模块中获取第一参数信息,以及从所述光模块数据库中获取所述光模块对应的第二参数信息;
判断所述第一参数信息和所述第二参数信息是否存在差异;
如果所述第一参数信息和所述第二参数信息存在差异,则判断所述第二参数信息的完整性;
如果所述第二参数信息是完整的,则基于所述第二参数信息更新所述第一参数信息。
在一些实施例中,基于所述第二参数信息更新所述第一参数信息可以包括:
比对所述第二参数信息与所述第一参数信息,得到差异信息;
将所述差异信息写入所述光模块中,以更新所述第一参数信息。
其中,差异信息可以指第二参数信息与第一参数信息不同的地方,即以第二参数信息为标准来更新第一参数信息。
其中,当光模块数据库中的参数信息是完整的,而光模块存储器EEPROM中的参数信息不完整时,可以基于光模块数据库中的参数信息来补充光模块存储器中的参数信息,以保证光模块存储器EEPROM中参数信息的完整性。而在每次对光模块的存储器EEPROM写入数据时,都是写入差异化的数据,并非全部的数据,以最大限度的降低光模块存储器EEPROM的写入操作的频次。
在一些实施例中,如果所述第一参数信息和所述第二参数信息不存在差异,或所述第二参数信息不完整,则结束。
在一些实施例中,参见图6,图6示出了根据本公开实施例的快速写入光模块参数信息的通信方法的示意性示例。如图6所示,快速写入光模块参数信息的通信方法600,可以包括:
步骤S610,获取光模块存储器EEPROM中的第一参数信息,以及光模块数据库中该光模块的第二参数信息;执行步骤S620。
步骤S620,将第一参数信息和第二参数信息进行对比;执行步骤S630。
步骤S630,判断第一参数信息和第二参数信息是否存在差异,如果存在差异,则执行步骤S640;如果不存在差异,则结束。
步骤S640,判断第二参数信息是否完整,例如可以更新数据库,计算第二参数信息的完整性;如果第二参数信息是完整的,则执行步骤S650,否则结束。
步骤S650,基于第二参数信息与第一参数信息之间的差异信息,更新所述第一参数信息,例如,将差异信息写入光模块存储器EEPROM中。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
根据本公开实施例,与上述任意实施例方法相对应的,本公开还提供了一种快速读写光模块参数信息装置。参见图7,所述快速读写光模块参数信息的通信装置,包括:
接收模块,用于接收读取指令,所述读取指令用于获取光模块的标识信息;
获取模块,用于响应于所述读取指令,从所述光模块中获取所述光模块的标识信息;以及,基于所述标识信息在光模块数据库中获取所述光模块对应的参数信息;其中,所述光模块数据库存储于本地设备或远端设备。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的快速读写光模块参数信息的通信方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
根据本公开实施例,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的快速读写光模块参数信息的通信方法。
图8示出了本公开实施例的电子设备的示意性框图。该设备可以包括:处理器810、存储器820、输入/输出接口830、通信接口840和总线850。其中处理器810、存储器820、输入/输出接口830和通信接口840通过总线850实现彼此之间在设备内部的通信连接。
处理器810可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器820可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器820可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器820中,并由处理器810来调用执行。
输入/输出接口830用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口840用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线850包括一通路,在设备的各个组件(例如处理器810、存储器820、输入/输出接口830和通信接口840)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器810、存储器820、输入/输出接口830、通信接口840以及总线850,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的快速读写光模块参数信息的通信方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
根据本公开实施例,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的快速读写光模块参数信息的通信方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的快速读写光模块参数信息的通信方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种快速读写光模块参数信息的通信方法,包括:
接收读取指令,所述读取指令用于获取光模块的标识信息;
响应于所述读取指令,从所述光模块中获取所述光模块的标识信息;
基于所述标识信息在光模块数据库中获取所述光模块对应的参数信息;其中,所述光模块数据库存储于本地设备或远端设备。
2.根据权利要求1所述的方法,其中,基于所述标识信息在光模块数据库中获取所述光模块对应的参数信息,包括:
基于所述标识信息判断所述光模块数据库中是否已经记录所述光模块的参数信息;
如果所述光模块数据库中已经记录所述光模块的参数信息,从所述光模块数据库中读取所述光模块的参数信息;
如果所述光模块数据库中没有记录所述光模块的参数信息,将所述光模块的参数信息存储至所述光模块数据库。
3.根据权利要求2所述的方法,其中,将所述光模块的参数信息存储至所述光模块数据库,包括:
获取所述光模块的ID信息;
判断是否需要重新读取所述光模块的键值;
如果需要重新读取键信息,则生成所述光模块的标识信息,并将所述标识信息作为所述键信息重新读取;
如果不需要重新读取所述键信息,则将所述ID信息作为所述光模块的键信息;
以所述光模块的标识信息为键,所述光模块中当前存储的参数信息为值,写入所述光模块数据库。
4.根据权利要求1所述的方法,还包括:
判断从所述光模块数据库中获取所述光模块对应的参数信息是否完整;
如果从所述光模块数据库中获取的所述参数信息是完整的,则返回所述参数信息;
如果从所述光模块数据库中获取的所述参数信息不完整,则基于所述光模块中当前存储的参数信息更新所述光模块数据库中对应的参数信息。
5.根据权利要求4所述的方法,其中,基于所述光模块中当前存储的参数信息更新所述光模块数据库中对应的参数信息包括:
获取所述光模块的数据类型,其中所述数据类型包括:可读数据、或可读可写数据;
判断所述数据类型是否成功获取;
如果成功获取,则根据所述数据类型,读取所述光模块中的可读可写数据;以及,以所述光模块的标识信息为键,所述光模块中当前可读可写数据为值,更新所述光模块数据库中所述光模块的参数信息;
如果未成功获取,将所述光模块中的当前所有参数信息写入光模块数据库。
6.根据权利要求1所述的方法,还包括:
判断所述光模块是否具有可写区域;
如果所述光模块具有可写区域,则基于所述可写区域生成所述标识信息;
如果所述光模块不具有可写区域,则将所述ID信息和所述光模块的厂家新生成所述标识信息。
7.根据权利要求1所述的方法,还包括:
从所述光模块中获取第一参数信息,以及从所述光模块数据库中获取所述光模块对应的第二参数信息;
判断所述第一参数信息和所述第二参数信息是否存在差异;
如果所述第一参数信息和所述第二参数信息存在差异,则判断所述第二参数信息的完整性;
如果所述第二参数信息是完整的,则基于所述第二参数信息更新所述第一参数信息。
8.一种快速读写光模块参数信息的通信装置,包括:
至少一个光模块,用于接收和发送光信号,并实现光信号与电信号之间的转换;
通信模块,与至少一个所述光模块连接,用于与所述光模块实现所述电信号的传输,以及基于如权利要求1-7中任一项所述的方法,以对所述光模块执行读写操作。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。
10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111012791.6A CN113727208A (zh) | 2021-08-30 | 2021-08-30 | 快速读写光模块参数信息的通信方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111012791.6A CN113727208A (zh) | 2021-08-30 | 2021-08-30 | 快速读写光模块参数信息的通信方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113727208A true CN113727208A (zh) | 2021-11-30 |
Family
ID=78679764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111012791.6A Pending CN113727208A (zh) | 2021-08-30 | 2021-08-30 | 快速读写光模块参数信息的通信方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113727208A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979494A (zh) * | 2022-06-28 | 2022-08-30 | 重庆紫光华山智安科技有限公司 | 通信模式控制方法、装置、摄像机及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825649A (zh) * | 2012-11-16 | 2014-05-28 | 华为技术有限公司 | 光模块信息的修复方法和装置 |
CN110471801A (zh) * | 2019-06-20 | 2019-11-19 | 深圳市德名利电子有限公司 | 一种存储设备的量产过程信息的管理方法和装置以及设备 |
CN111125107A (zh) * | 2019-12-23 | 2020-05-08 | 京东数字科技控股有限公司 | 数据处理方法、装置、电子设备和介质 |
CN111881070A (zh) * | 2020-06-30 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种交换机外部设备管理方法、***、设备及存储介质 |
-
2021
- 2021-08-30 CN CN202111012791.6A patent/CN113727208A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825649A (zh) * | 2012-11-16 | 2014-05-28 | 华为技术有限公司 | 光模块信息的修复方法和装置 |
CN110471801A (zh) * | 2019-06-20 | 2019-11-19 | 深圳市德名利电子有限公司 | 一种存储设备的量产过程信息的管理方法和装置以及设备 |
CN111125107A (zh) * | 2019-12-23 | 2020-05-08 | 京东数字科技控股有限公司 | 数据处理方法、装置、电子设备和介质 |
CN111881070A (zh) * | 2020-06-30 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种交换机外部设备管理方法、***、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979494A (zh) * | 2022-06-28 | 2022-08-30 | 重庆紫光华山智安科技有限公司 | 通信模式控制方法、装置、摄像机及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095592B (zh) | 一种前景应用程序场景同步方法及装置、*** | |
CN110267248B (zh) | Ble通信方法、装置、设备及存储介质 | |
EP3029912A1 (en) | Remote accessing method for device, thin client, and virtual machine | |
CN111478798B (zh) | 故障处理方法、故障处理的装置和存储介质 | |
CN109587252A (zh) | 运营商参数的加载方法、装置、电子设备及存储介质 | |
CN108595483B (zh) | 数据处理方法及相关装置 | |
CN112799780A (zh) | 容器镜像共享方法、装置、服务器、设备及介质 | |
CN111198859A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN111666184B (zh) | 固态驱动器ssd硬盘测试方法、装置及电子设备 | |
CN113727208A (zh) | 快速读写光模块参数信息的通信方法、装置、设备及介质 | |
US9720755B2 (en) | Information processing device | |
CN113703996A (zh) | 基于用户和yang模型分组的访问控制方法、设备及介质 | |
CN104063377A (zh) | 信息处理方法和使用其的电子设备 | |
CN111125257B (zh) | 词典更新方法、装置、设备和存储介质 | |
CN113064556A (zh) | 一种bios的数据存储方法、装置、设备及存储介质 | |
CN110380902B (zh) | 拓扑关系生成方法、装置、电子设备及存储介质 | |
CN112667270A (zh) | 语音处理资源的更新方法、计算机设备及存储装置 | |
CN113395319B (zh) | 网络故障感知的方法、***、电子设备及存储介质 | |
CN111198853A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN109639704B (zh) | 一种主从式服务器***应用方法、***、服务器及存储介质 | |
CN114090127A (zh) | 电子设备及其配置文件的加载方法和介质 | |
CN103618961A (zh) | 一种显示视频标题的方法、***及浏览器 | |
CN110187894B (zh) | 一种光模块的初始化方法、装置和电子设备 | |
CN112765056B (zh) | 一种预留存储集群lun的方法、***、设备及介质 | |
CN111506553B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211130 |