System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及光模块领域,具体而言,涉及一种光模块信息的访问方法、装置、存储介质和电子设备。
技术介绍
1、现有技术中,交换机操作系统使用多层结构管理光模块,首先利用i2c(inter-integrated circuit,两线式串行总线)总线访问光模块的驱动层,将光模块的固件内容以eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储器)的二进制格式储存得到二进制文件,并且只能通过偏移量获取对应位置的二进制内容。其次,还使用了进程监控光模块的插拔及运行状态,在光模块出现插拔的情况下,获取eeprom中的二进制内容进行解析。另外,还存在同时运行的另一进程持续监控所有插入的光模块的dom(digital optical monitoring,数字光学监控)信息,将dom信息写入eeprom中。因此,eeprom中存储的二进制文件用于存储光模块的全量信息,在进程需要访问光模块信息的情况下,会根据光模块固件规范文件的内容访问二进制文件中的指定位置的内容。
2、目前,单个二进制文件单次只能够被一个进程访问,在多个进程同时请求访问同一光模块信息的情况下,造成信息访问的延迟,导致多进程访问时的效率降低,会有进程等待上一进程的访问完成才能继续访问的情况发生。
3、针对相关技术中,访问光模块信息的效率较低等问题,尚未提出有效的解决方案。
技术实现思路
1、本申请实施例提供了一种光模块信息
2、根据本申请的一个实施例,提供了一种光模块信息的访问方法,应用于交换机上的光模块驱动,所述交换机上插入了光模块,在所述交换机上运行了操作系统和所述光模块的所述光模块驱动,所述交换机上还部署了内存空间,所述内存空间中存储了多个信息文件,每个所述信息文件对应所述光模块的一个光模块信息,所述操作系统与所述光模块驱动连接,所述光模块驱动分别与所述光模块以及所述内存空间连接,所述方法包括:
3、接收所述操作系统发起的光模块信息访问请求,其中,所述光模块信息访问请求用于请求访问所述光模块的目标光模块信息;
4、响应所述光模块信息访问请求,从所述内存空间中读取所述目标光模块信息所对应的目标信息文件;
5、向所述操作系统发送所述目标信息文件。
6、在一个示例性实施例中,所述从所述内存空间中读取所述目标光模块信息所对应的目标信息文件,包括:根据所述光模块的类型以及所述光模块所支持的光模块协议类型从所述光模块信息访问请求中提取所述操作系统所请求访问的光模块信息的目标信息名称;从所述内存空间中读取以所述目标信息名称为文件名的信息文件,得到所述目标信息文件,其中,所述内存空间中存储了以对应的光模块信息的信息名称为文件名的所述多个信息文件。
7、在一个示例性实施例中,在所述从所述内存空间中读取所述目标光模块信息所对应的目标信息文件之前,所述方法还包括:在检测到所述光模块已插入所述交换机的情况下,访问所述光模块,得到所述光模块的类型以及所述光模块所支持的光模块协议类型;根据所述光模块所支持的光模块协议类型确定所述光模块的全部光模块信息的信息名称;根据所述光模块的类型和全部光模块信息的信息名称确定每个光模块信息在所述光模块上的存储器中的存储信息,其中,所述存储信息包括:信息页号、信息偏移量、信息长度和信息类型,所述信息页号为对应的光模块信息在所述存储器上所在的存储页的编号,所述信息偏移量用于指示对应的光模块信息在所述存储页上的偏移位置,所述信息长度为对应的光模块信息的长度,所述信息类型为对应的光模块信息所属的类型;按照所述存储信息从所述存储器上提取所述光模块的全部光模块信息;在所述内存空间中为每个光模块信息创建以对应的信息名称为文件名的初始信息文件;将对应的光模块信息存储至对应的初始信息文件中,得到以对应的光模块信息的信息名称为文件名的所述多个信息文件。
8、在一个示例性实施例中,在所述从所述内存空间中读取所述目标光模块信息所对应的目标信息文件之前,所述方法还包括:在检测到所述光模块已插入所述交换机的情况下,从所述光模块中提取属于静态类型的第一光模块信息,并将所述第一光模块信息存储至所述内存空间,得到每个所述第一光模块信息对应的第一信息文件,其中,属于所述静态类型的光模块信息是在所述光模块运行的过程中不变的光模块信息;确定所述光模块中属于动态类型的第二光模块信息,并在所述内存空间中为所述第二光模块信息创建第二信息文件,其中,属于所述动态类型的光模块信息是允许随着所述光模块的运行发生变化的光模块信息,所述多个信息文件包括所述第一信息文件和所述第二信息文件;在所述光模块运行的过程中,按照目标周期更新所述第二信息文件。
9、在一个示例性实施例中,所述光模块驱动与所述光模块之间通过集成电路互连总线连接,所述按照目标周期更新所述第二信息文件,包括:通过所述光模块驱动的内核进程按照所述目标周期向所述集成电路互连总线发送读取请求,其中,所述读取请求用于请求读取所述第二光模块信息的信息值;接收所述光模块响应所述读取请求通过所述集成电路互连总线返回的所述第二光模块信息的目标信息值;将所述目标信息值更新至对应的所述第二信息文件中。
10、在一个示例性实施例中,在所述按照目标周期更新所述第二信息文件之前,所述方法还包括:获取前n次读取到的所述第二光模块信息的信息值,其中,n为大于或者等于2的整数;根据每连续两次读取到的信息值之间的信息差确定所述第二光模块信息的变化率;在所述变化率落入目标变化率范围的情况下,将上一次读取所述第二光模块信息的参考周期确定为所述目标周期;在所述变化率大于所述目标变化率范围的上限值的情况下,将所述参考周期缩短,得到所述目标周期;在所述变化率小于所述目标变化率范围的下限值的情况下,将所述参考周期延长,得到所述目标周期。
11、在一个示例性实施例中,在所述向所述操作系统发送所述目标信息文件之后,所述方法还包括:检测所述光模块的运行状态和所述光模块驱动与所述光模块之间连接的集成电路互连总线的访问状态;在所述运行状态用于指示所述光模块已从所述交换机上拔出,和/或,所述访问状态用于指示所述集成电路互连总线上发生访问失败报错的情况下,清除所述内存空间中所存储的所述多个信息文件。
12、根据本申请的另一个实施例,提供了一种光模块信息的访问装置,应用于交换机上的光模块驱动,所述交换机上插入了光模块,在所述交换机上运行了操作系统和所述光模块的所述光模块驱动,所述交换机上还部署了内存空间,所述内存空间中存储了多个信息文件,每个所述信息文件对应所述光模块的一个光模块信息,所述操作系统与所述光模块驱动连接,所述光模块驱动分别与所述光模块以及所述内存空间连接,所述装置包括:
13、接收模块,用于接收所述操作系统发起的光模块信息访问请求,其中,所述光模本文档来自技高网...
【技术保护点】
1.一种光模块信息的访问方法,其特征在于,
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求1所述的方法,其特征在于,
5.根据权利要求4所述的方法,其特征在于,
6.根据权利要求4所述的方法,其特征在于,
7.根据权利要求1所述的方法,其特征在于,
8.一种光模块信息的访问装置,其特征在于,
9.一种计算机可读存储介质,其特征在于,
10.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,
【技术特征摘要】
1.一种光模块信息的访问方法,其特征在于,
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求1所述的方法,其特征在于,
5.根据权利要求4所述的方法,其特征在于,
6.根据权利要求4所述的方...
【专利技术属性】
技术研发人员:张锡鑫,陈翔,张连聘,李昭星,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。