一种BMC动态加载传感器的方法、系统、终端及存储介质与流程

    专利2022-07-08  91


    本发明涉及服务器技术领域,具体涉及一种bmc动态加载传感器的方法、系统、终端及存储介质。



    背景技术:

    在存储业务应用中,为了对接前端主机业务和后端数据下盘,接口卡是标准配置。随着客户需求越来越多,需要存储厂商开发的接口卡种类越来越多,接口的电路复杂度也越来越高。为了散热的需求,bmc管理的温度传感器分布范围也增加,包括主控板的温度、框上的进风口温度、接口卡上的温度、硬盘的温度等。一般来说,框上只部署一个温度检测点,每个硬盘也只会提供一个温度,但是主控板、不同接口卡上的温度点个数也不一样。其中接口卡还支持热插拔。所以,对于在接口卡热插拔时,对于bmc管理的所有温度传感器的编号与现实带来了困难。



    技术实现要素:

    针对现有技术的上述不足,本发明提供一种bmc动态加载传感器的方法、系统、终端及存储介质,以解决上述技术问题。

    第一方面,本发明提供一种bmc动态加载传感器的方法,包括:

    识别硬件的身份信息;

    以所述身份信息作为所述硬件的配置文件名称,所述配置文件中保存所述硬件对应的所有传感器的描述信息;

    在bmc启动后,识别所述硬件并加载所述配置文件,从所述配置文件中读取所述描述信息,根据所述描述信息获取所述硬件的温度点;

    遍历所有硬件获取所有温度点,并对所有温度点进行编号。

    进一步的,所述识别硬件的身份信息包括:

    从接口卡的存储模块中读取电子标签,并从所述电子标签中提取基板生产名字和生产名字;

    通过通用型输入输出读取框类型信息;

    通过通用型输入输出识别主板类型信息。

    进一步的,所述以身份信息作为所述硬件的配置文件名称所述配置文件中保存所述硬件对应的所有传感器的描述信息,包括:

    以所述基板生产名字和生产名字的组合字符串为文件名创建所述接口卡的配置文件,并向所述接口卡的配置文件写入接口卡传感器描述信息;

    以所述框类型信息为文件名创建所述框的配置文件,并向所述框的配置文件写入所述框的传感器描述信息;

    以所述主板类型信息为文件名创建所述主板的配置文件,并向所述主板的配置文件写入所述主板的传感器信息。

    进一步的,所述在bmc启动后识别所述硬件并加载所述配置文件从所述配置文件中读取所述描述信息根据所述描述信息获取所述硬件的温度点,包括:

    在bmc启动之后,加载已识别硬件的配置文件,并从所述配置文件中读取传感器信息,通过将传感器模拟为温度点进而将所述硬件的传感器信息输出为温度点信息;

    识别硬盘,并默认一个硬盘对应一个温度点。

    进一步的,所述遍历所有硬件获取所有温度点并对所有温度点进行编号,包括:

    优先对框和主板的温度点进行编号;

    将所有在位接口卡和硬盘对应的温度点依次编号;

    若接口卡或硬盘存在插拔情况,则对在位接口卡和硬盘对应的温度点重新编号。

    第二方面,本发明提供一种bmc动态加载传感器的系统,包括:

    身份识别单元,配置用于识别硬件的身份信息;

    文件配置单元,配置用于以所述身份信息作为所述硬件的配置文件名称,所述配置文件中保存所述硬件对应的所有传感器的描述信息;

    信息读取单元,配置用于在bmc启动后,识别所述硬件并加载所述配置文件,从所述配置文件中读取所述描述信息,根据所述描述信息获取所述硬件的温度点;

    编号执行单元,配置用于遍历所有硬件获取所有温度点,并对所有温度点进行编号。

    进一步的,所述身份识别单元包括:

    第一识别模块,配置用于从接口卡的存储模块中读取电子标签,并从所述电子标签中提取基板生产名字和生产名字;

    第二识别模块,配置用于通过通用型输入输出读取框类型信息;

    第三识别模块,配置用于通过通用型输入输出识别主板类型信息。

    进一步的,所述文件配置单元包括:

    第一配置模块,配置用于以所述基板生产名字和生产名字的组合字符串为文件名创建所述接口卡的配置文件,并向所述接口卡的配置文件写入接口卡传感器描述信息;

    第二配置模块,配置用于以所述框类型信息为文件名创建所述框的配置文件,并向所述框的配置文件写入所述框的传感器描述信息;

    第三配置模块,配置用于以所述主板类型信息为文件名创建所述主板的配置文件,并向所述主板的配置文件写入所述主板的传感器信息。

    第三方面,提供一种终端,包括:

    处理器、存储器,其中,

    该存储器用于存储计算机程序,

    该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。

    第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

    本发明的有益效果在于,

    本发明提供的bmc动态加载传感器的方法、系统、终端及存储介质,通过为每个硬件设置存储传感器描述信息的配置文件,从而实现动态各硬件的温度点,对温度点进行动态编号。本发明即可以解决部分传感器num预留区域,资源紧缺的问题,还可以节省硬件成本,同时将自研卡、外购卡上的温度点统一管理。

    此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

    附图说明

    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1是本发明一个实施例的方法的示意性流程图。

    图2是本发明一个实施例的方法的另一示意性流程图。

    图3是本发明一个实施例的系统的示意性框图。

    图4为本发明实施例提供的一种终端的结构示意图。

    具体实施方式

    为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

    图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种bmc动态加载传感器的系统。

    如图1所示,该方法包括:

    步骤110,识别硬件的身份信息;

    步骤120,以所述身份信息作为所述硬件的配置文件名称,所述配置文件中保存所述硬件对应的所有传感器的描述信息;

    步骤130,在bmc启动后,识别所述硬件并加载所述配置文件,从所述配置文件中读取所述描述信息,根据所述描述信息获取所述硬件的温度点;

    步骤140,遍历所有硬件获取所有温度点,并对所有温度点进行编号。

    具体的,如图2所示,所述bmc动态加载传感器的方法包括:

    s1、识别硬件的身份信息。

    分析ocp接口卡规范,接口卡厂商的接口卡上都有一个e2prom,用于存放接口卡的电子标签,其格式是完全遵从ipmispec中定义的fruinformationlayout格式要求(图1),通过boardinfoarea区域中的“boardproductname(基板生产名字)”字段和productinfoarea区域的“productname(生产名字)”字段的组合一定可以唯一识别此接口卡。同样的存储厂商自研接口卡,也按照ipmispec中定义的fruinformationlayout格式出厂前烧写接口卡的电子标签。所以,根据图2的偏移地址计算方式,存储厂商外购卡和自研卡可以用一样的计算公式,得到唯一识别接口卡的“boardproductname”和“productname”,然后将两个字符串组合到一起,作为此接口卡的配置文件名称。例如:interethx710a4.xml、mellaoxcx5.xml。

    通过gpio识别主板和框,并根据识别信息设置对应的配置文件,具体内容如表1所示。

    表1:不同fru对应的配置文件

    s2、以所述身份信息作为所述硬件的配置文件名称,所述配置文件中保存所述硬件对应的所有传感器的描述信息。

    然后在接口卡的配置文件中描述接口卡对应的传感器的信息(传感器识别码和数量),类似的方法,将框、主板、硬盘上的温度信息都可以用对应的xml配置文件描述,例如在主板配置文件中描述主板对应的传感器的信息。由此,bmc管理的温度传感器所有信息都在各个fru对应的配置文件中(表1)。

    s3、在bmc启动后,识别所述硬件并加载所述配置文件,从所述配置文件中读取所述描述信息,根据所述描述信息获取所述硬件的温度点。

    当bmc启动后,根据每个fru是否在位,加载对应的配置文件,就可以获取到存储框内所有的温度点,然后可以对温度点统一编号。

    s4、遍历所有硬件获取所有温度点,并对所有温度点进行编号。

    主板、框不存在热插拔,所有宿主在框、主板上的温度传感器优先编号,然后再将所有在位的接口卡、在位的硬盘上的温度传感器紧接着编号。当接口卡或者硬盘有插拔时,只需要对接口卡、硬盘重新编号即可。

    如图3所示,该系统300包括:

    身份识别单元310,配置用于识别硬件的身份信息;

    文件配置单元320,配置用于以所述身份信息作为所述硬件的配置文件名称,所述配置文件中保存所述硬件对应的所有传感器的描述信息;

    信息读取单元330,配置用于在bmc启动后,识别所述硬件并加载所述配置文件,从所述配置文件中读取所述描述信息,根据所述描述信息获取所述硬件的温度点;

    编号执行单元340,配置用于遍历所有硬件获取所有温度点,并对所有温度点进行编号。

    可选地,作为本发明一个实施例,所述身份识别单元包括:

    第一识别模块,配置用于从接口卡的存储模块中读取电子标签,并从所述电子标签中提取基板生产名字和生产名字;

    第二识别模块,配置用于通过通用型输入输出读取框类型信息;

    第三识别模块,配置用于通过通用型输入输出识别主板类型信息。

    可选地,作为本发明一个实施例,所述文件配置单元包括:

    第一配置模块,配置用于以所述基板生产名字和生产名字的组合字符串为文件名创建所述接口卡的配置文件,并向所述接口卡的配置文件写入接口卡传感器描述信息;

    第二配置模块,配置用于以所述框类型信息为文件名创建所述框的配置文件,并向所述框的配置文件写入所述框的传感器描述信息;

    第三配置模块,配置用于以所述主板类型信息为文件名创建所述主板的配置文件,并向所述主板的配置文件写入所述主板的传感器信息。

    可选地,作为本发明一个实施例,所述信息读取单元包括:

    文件加载模块,配置用于在bmc启动之后,加载已识别硬件的配置文件,并从所述配置文件中读取传感器信息,通过将传感器模拟为温度点进而将所述硬件的传感器信息输出为温度点信息;

    硬盘识别模块,配置用于识别硬盘,并默认一个硬盘对应一个温度点。

    可选地,作为本发明一个实施例,所述编号执行单元包括:

    优先编号模块,配置用于优先对框和主板的温度点进行编号;

    次级编号模块,配置用于将所有在位接口卡和硬盘对应的温度点依次编号;

    插拔编号模块,配置用于若接口卡或硬盘存在插拔情况,则对在位接口卡和硬盘对应的温度点重新编号。

    图4为本发明实施例提供的一种终端400的结构示意图,该终端400可以用于执行本发明实施例提供的bmc动态加载传感器的方法。

    其中,该终端400可以包括:处理器410、存储器420及通信单元430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

    其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。

    处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integratedcircuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器410可以仅包括中央处理器(centralprocessingunit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。

    通信单元430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

    本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

    因此,本发明通过为每个硬件设置存储传感器描述信息的配置文件,从而实现动态各硬件的温度点,对温度点进行动态编号。本发明即可以解决部分传感器num预留区域,资源紧缺的问题,还可以节省硬件成本,同时将自研卡、外购卡上的温度点统一管理,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。

    本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

    本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

    在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

    所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

    另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

    尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。


    技术特征:

    1.一种bmc动态加载传感器的方法,其特征在于,包括:

    识别硬件的身份信息;

    以所述身份信息作为所述硬件的配置文件名称,所述配置文件中保存所述硬件对应的所有传感器的描述信息;

    在bmc启动后,识别所述硬件并加载所述配置文件,从所述配置文件中读取所述描述信息,根据所述描述信息获取所述硬件的温度点;

    遍历所有硬件获取所有温度点,并对所有温度点进行编号。

    2.根据权利要求1所述的方法,其特征在于,所述识别硬件的身份信息包括:

    从接口卡的存储模块中读取电子标签,并从所述电子标签中提取基板生产名字和生产名字;

    通过通用型输入输出读取框类型信息;

    通过通用型输入输出识别主板类型信息。

    3.根据权利要求2所述的方法,其特征在于,所述以身份信息作为所述硬件的配置文件名称,所述配置文件中保存所述硬件对应的所有传感器的描述信息,包括:

    以所述基板生产名字和生产名字的组合字符串为文件名创建所述接口卡的配置文件,并向所述接口卡的配置文件写入接口卡传感器描述信息;

    以所述框类型信息为文件名创建所述框的配置文件,并向所述框的配置文件写入所述框的传感器描述信息;

    以所述主板类型信息为文件名创建所述主板的配置文件,并向所述主板的配置文件写入所述主板的传感器信息。

    4.根据权利要求3所述的方法,其特征在于,所述在bmc启动后,识别所述硬件并加载所述配置文件,从所述配置文件中读取所述描述信息,根据所述描述信息获取所述硬件的温度点,包括:

    在bmc启动之后,加载已识别硬件的配置文件,并从所述配置文件中读取传感器信息,通过将传感器模拟为温度点进而将所述硬件的传感器信息输出为温度点信息;

    识别硬盘,并默认一个硬盘对应一个温度点。

    5.根据权利要求4所述的方法,其特征在于,所述遍历所有硬件获取所有温度点并对所有温度点进行编号,包括:

    优先对框和主板的温度点进行编号;

    将所有在位接口卡和硬盘对应的温度点依次编号;

    若接口卡或硬盘存在插拔情况,则对在位接口卡和硬盘对应的温度点重新编号。

    6.一种bmc动态加载传感器的系统,其特征在于,包括:

    身份识别单元,配置用于识别硬件的身份信息;

    文件配置单元,配置用于以所述身份信息作为所述硬件的配置文件名称,所述配置文件中保存所述硬件对应的所有传感器的描述信息;

    信息读取单元,配置用于在bmc启动后,识别所述硬件并加载所述配置文件,从所述配置文件中读取所述描述信息,根据所述描述信息获取所述硬件的温度点;

    编号执行单元,配置用于遍历所有硬件获取所有温度点,并对所有温度点进行编号。

    7.根据权利要求6所述的方法,其特征在于,所述身份识别单元包括:

    第一识别模块,配置用于从接口卡的存储模块中读取电子标签,并从所述电子标签中提取基板生产名字和生产名字;

    第二识别模块,配置用于通过通用型输入输出读取框类型信息;

    第三识别模块,配置用于通过通用型输入输出识别主板类型信息。

    8.根据权利要求7所述的系统,其特征在于,所述文件配置单元包括:

    第一配置模块,配置用于以所述基板生产名字和生产名字的组合字符串为文件名创建所述接口卡的配置文件,并向所述接口卡的配置文件写入接口卡传感器描述信息;

    第二配置模块,配置用于以所述框类型信息为文件名创建所述框的配置文件,并向所述框的配置文件写入所述框的传感器描述信息;

    第三配置模块,配置用于以所述主板类型信息为文件名创建所述主板的配置文件,并向所述主板的配置文件写入所述主板的传感器信息。

    9.一种终端,其特征在于,包括:

    处理器;

    用于存储处理器的执行指令的存储器;

    其中,所述处理器被配置为执行权利要求1-5任一项所述的方法。

    10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的方法。

    技术总结
    本发明提供一种BMC动态加载传感器的方法、系统、终端及存储介质,包括:识别硬件的身份信息;以所述身份信息作为所述硬件的配置文件名称,所述配置文件中保存所述硬件对应的所有传感器的描述信息;在BMC启动后,识别所述硬件并加载所述配置文件,从所述配置文件中读取所述描述信息,根据所述描述信息获取所述硬件的温度点;遍历所有硬件获取所有温度点,并对所有温度点进行编号。本发明即可以解决部分传感器NUM预留区域,资源紧缺的问题,还可以节省硬件成本,同时将自研卡、外购卡上的温度点统一管理。

    技术研发人员:张中云;张亚男;周宁宁
    受保护的技术使用者:苏州浪潮智能科技有限公司
    技术研发日:2020.11.13
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-23200.html

    最新回复(0)