一种适配外部设备的方法、装置、设备及存储介质与流程

文档序号:24194737发布日期:2021-03-09 16:23阅读:110来源:国知局
一种适配外部设备的方法、装置、设备及存储介质与流程

1.本发明涉及设备监控技术领域,更具体地说,涉及一种适配外部设备的方法、装置、设备及存储介质。


背景技术:

2.bmc(baseboard management controller,板控制器)可以实现服务器的相关控制、信息监督等功能,是直观呈现服务器信息的平台。服务器客户可以通过web、ipmitool、snmp工具等访问服务器bmc以获取服务器的信息。
3.服务器的主板上会包含各种外部设备以实现各种功能,这些外部设备有cpu、电源(psu)、网卡(ocp、ncsi)、gpu、sata背板等;每一种外部设备都需要bmc对其产品类型、厂商、产品名称、序号、编号、温度等信息进行显示和监控;但是由于服务器每个机型的每个外部设备(cpu、psu、gpu、网卡等)均有各自的一套信息获取方式,当机型改变、外部设备增加时均需要修改bmc代码而后进行测试,给bmc研发及测试带来很大工作量。


技术实现要素:

4.本发明的目的是提供一种适配外部设备的方法、装置、设备及存储介质,方便了开发人员的开发测试,大大减少了bmc研发及测试的工作量。
5.为了实现上述目的,本发明提供如下技术方案:
6.一种适配外部设备的方法,包括:
7.确定当前需要适配的外部设备为目标设备;
8.将预设文件中指定参数的值设置为所述目标设备对应所述指定参数的值,得到目标文件;所述预设文件包含表示获取外部设备对应信息的方式的语句,所述指定参数为所述语句中表示获取外部设备对应信息的方式的参数;
9.利用所述目标文件中的语句获取所述目标设备对应的信息。
10.优选的,将预设文件中指定参数的值设置为所述目标设备对应所述指定参数的值之前,还包括:
11.从固件中获取所述预设文件,并将所述预设文件写入至存储flash中。
12.优选的,将预设文件中指定参数的值设置为所述目标设备对应所述指定参数的值,得到目标文件,包括:
13.将所述预设文件中包含的语句进行显示;
14.在外界控制下将所述目标设备对应所述指定参数的值加入至所述语句中所述指定参数对应位置处,得到包含所述目标设备对应指定参数的值的预设文件为目标文件。
15.优选的,将预设文件中指定参数的值设置为所述目标设备对应所述指定参数的值,包括:
16.在外界控制下使用ipmi命令将所述预设文件中指定参数的值设置为所述目标设备对应所述指定参数的值。
17.优选的,利用所述目标文件中的语句获取所述目标设备对应的信息之后,还包括:
18.将预设时间段内获取的不同外部设备对应信息进行汇总,并将汇总所得结果以表格的形式进行显示,以供实现对相应外部设备的监控。
19.优选的,将汇总所得结果以表格的形式进行显示之后,还包括:
20.为所述表格中不符合相应要求的信息设置标识。
21.优选的,确定当前需要适配的外部设备为目标设备,包括:
22.如果有新的外部设备引入服务器,或者有已引入所述服务器的外部设备更新时,确定引入所述服务器的新的外部设备及已引入所述服务器的更新的外部设备均为目标设备。
23.一种适配外部设备的装置,包括:
24.确定模块,用于:确定当前需要适配的外部设备为目标设备;
25.适配模块,用于:将预设文件中指定参数的值设置为所述目标设备对应所述指定参数的值,得到目标文件;所述预设文件包含表示获取外部设备对应信息的方式的语句,所述指定参数为所述语句中表示获取外部设备对应信息的方式的参数;
26.获取模块,用于:利用所述目标文件中的语句获取所述目标设备对应的信息。
27.一种适配外部设备的设备,包括:
28.存储器,用于存储计算机程序;
29.处理器,用于执行所述计算机程序时实现如上任一项所述适配外部设备的方法的步骤。
30.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述适配外部设备的方法的步骤。
31.本发明提供了一种适配外部设备的方法、装置、设备及存储介质,该方法包括:确定当前需要适配的外部设备为目标设备;将预设文件中指定参数的值设置为所述目标设备对应所述指定参数的值,得到目标文件;所述预设文件包含表示获取外部设备对应信息的方式的语句,所述指定参数为所述语句中表示获取外部设备对应信息的方式的参数;利用所述目标文件中的语句获取所述目标设备对应的信息。本申请在需要适配外部设备时,由于预设文件中的语句为利用任意外部设备对应指定参数的值实现该任意外部设备的信息获取的语句,因此可以将直接预设文件中指定参数的值设置为该任意外部设备对应指定参数的值,进而利用预设文件实现该任意外部设备的信息获取。可见,本申请仅需提供一份标准化获取外部设备信息的文件,再通过文件中参数的设置即可实现相应外部设备信息的获取,从而方便了开发人员的开发测试,大大减少了bmc研发及测试的工作量。
附图说明
32.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
33.图1为本发明实施例提供的一种适配外部设备的方法的流程图;
34.图2为本发明实施例提供的一种适配外部设备的装置的结构示意图。
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.请参阅图1,其示出了本发明实施例提供的一种适配外部设备的方法的流程图,可以包括:
37.s11:确定当前需要适配的外部设备为目标设备。
38.本发明实施例提供的一种适配外部设备的方法的执行主体可以为对应的装置,而该装置可以设置于服务器的bmc内,因此该方法的执行主体可以为bmc,本申请实施例以该方法的执行主体为bmc进行具体说明。其中,外部设备为引入服务器以实现相应功能的设备,可以包括cpu、电源(psu)、网卡(ocp、ncsi)、gpu、sata背板等,而需要获取的外部设备对应信息可以包括产品类型、厂商、产品名称、序号、编号、温度等;为了实现外部设备对应信息的获取,首先需要实现服务器与外部设备之间的适配,因此本申请实施例可以确定任意需要与服务器适配的外部设备为目标设备,进而实现相应操作。
39.s12:将预设文件中指定参数的值设置为目标设备对应指定参数的值,得到目标文件;预设文件包含表示获取外部设备对应信息的方式的语句,指定参数为语句中表示获取外部设备对应信息的方式的参数。
40.当前bmc获取服务器外部设备对应信息有多种方式,本申请实施例中以i2c和pcie两种方式进行具体说明。首先可以创建预设文件(bmc_getinfo.bin),该预设文件中包含通用的代表外部设备的信息获取方式等信息的语句,进而在对这些信息进行与外部设备对应的设置后则可以直接利用这些语句实现外部设备的信息获取,或者对这些语句中参数的值进行与外部设备对应的设置后则可以直接按照这些语句对应的方式实现外部设备的信息获取;具体来说,该预设文件中的每一行语句代表一个外部设备的信息获取方式及其他信息,其格式(结构体)可以为:
41.typedefstruct
42.{
43.int8u name[64];//对应外部设备名称
[0044]
int8u access;//信息获取方式,有i2c和pcie两种
[0045]
int8u param[8];//i2c或pcie获取信息的结构体参数,传给i2c或者pcie的方式
[0046]
}get_info_t;
[0047]
i2c方式获取信息时,在预设文件中设置的函数接口可以预留出i2cchannel、i2c address、i2c register三个参数,其格式(结构体)可以为:
[0048][0049]
pcie方式获取信息时,在预设文件中设置的函数接口可以预留出pciechannel、pcie switch、pcie slot三个参数,其格式(结构体)可以为:
[0050][0051]
本申请实施例的预设文件包含上述全部的结构体参数;其中,外部设备名称、信息获取方式、i2cchannel、i2c address、i2c register、pciechannel、pcie switch、pcie slot均为指定参数,如果是i2c方式获取外部设备信息,则可以将外部设备名称设置为需获取的外部设备信息对应外部设备的名称,信息获取方式设置为i2c,并将i2cchannel、i2c address、i2c register均设置为i2c方式获取外部设备信息的值;如果是pcie方式获取外部设备信息,则可以将外部设备名称设置为需获取的外部设备信息对应外部设备的名称,信息获取方式设置为pcie,并将pciechannel、pcie switch、pcie slot均设置为i2c方式获取外部设备信息的值。
[0052]
s13:利用目标文件中的语句获取目标设备对应的信息。
[0053]
在实现上述设置后,可以直接按照目标文件中的语句对应的方式实现相应的外部设备信息获取。
[0054]
本申请在需要适配外部设备时,由于预设文件中的语句为利用任意外部设备对应指定参数的值实现该任意外部设备的信息获取的语句,因此可以将直接预设文件中指定参数的值设置为该任意外部设备对应指定参数的值,进而利用预设文件实现该任意外部设备的信息获取。可见,本申请仅需提供一份标准化获取外部设备信息的文件,再通过文件中参数的设置即可实现相应外部设备信息的获取,从而方便了开发人员的开发测试,大大减少了bmc研发及测试的工作量。
[0055]
本发明实施例提供的一种适配外部设备的方法,将预设文件中指定参数的值设置为目标设备对应指定参数的值之前,还可以包括:
[0056]
从固件中获取预设文件,并将预设文件写入至存储flash中。
[0057]
本申请实施例的预设文件中指定参数可以由bmc工程师通过各外部设备的厂商搜集提供,进而在实现bmc的固件编译时,将预设文件一并编译进bmc的固件中,从而能够避免
预设文件的丢失等情况。服务器bmc运行后可以将预设文件写入eeprom(掉电不丢失的存储flash)中,进而在实现外部设备的信息获取时均从eeprom的预设文件中加载获取外部设备对应信息的方式,按照该方式实现外部设备对应信息的获取,从而在不影响原预设文件的前提下,实现对应指定参数的设置。
[0058]
本发明实施例提供的一种适配外部设备的方法,将预设文件中指定参数的值设置为目标设备对应指定参数的值,得到目标文件,可以包括:
[0059]
将预设文件中包含的语句进行显示;
[0060]
在外界控制下将目标设备对应指定参数的值加入至语句中指定参数对应位置处,得到包含目标设备对应指定参数的值的预设文件为目标文件。
[0061]
本申请实施例可以在确定出目标设备后,自动将目标设备对应指定参数的值加入至预设文件中,也可以为外界工作人员将目标设备对应指定参数的值加入至预设文件中;本申请实施例为了保证预设文件中设置的指定参数的值的准确性,可以将预设文件中包含的语句均进行显示,外界工作人员可以在显示的语句中加入目标设备对应指定参数的值,从而得到加入目标设备对应指定参数的值后的语句所属预设文件作为目标文件,进而利用目标文件中的语句实现外部设备的信息获取。
[0062]
本发明实施例提供的一种适配外部设备的方法,将预设文件中指定参数的值设置为目标设备对应指定参数的值,可以包括:
[0063]
在外界控制下使用ipmi命令将预设文件中指定参数的值设置为目标设备对应指定参数的值。
[0064]
需要说明的是,带内带外的ipmi协议均可修改、替换预设文件,因此本申请可以为bmc添加一个进程,进而在外界控制下利用该进程使用ipmi命令实现对预设文件内容的修改、替换等操作,从而实现服务器的外部设备的快速适配。
[0065]
本发明实施例提供的一种适配外部设备的方法,利用目标文件中的语句获取目标设备对应的信息之后,还可以包括:
[0066]
将预设时间段内获取的不同外部设备对应信息进行汇总,并将汇总所得结果以表格的形式进行显示,以供实现对相应外部设备的监控。
[0067]
为了方便外界工作人员对不同外部设备的信息快速获取,本申请可以将当前时刻之前一段时间内(预设时间段,可以根据实际需要进行设定)获取的不同外部设备对应信息进行汇总,进而将其以表格的形式进行显示,当然根据实际需要进行的其他设置也均在本发明的保护范围之内。
[0068]
在一种具体实现方式中,将汇总所得结果以表格的形式进行显示之后,还可以包括:
[0069]
为表格中不符合相应要求的信息设置标识。
[0070]
通常情况下对于外部设备的温度等信息均具有一个要求,外部设备的温度等信息在相应要求的范围内表示外部设备是正常的,能够正常实现功能的;因此,本申请实施例可以在表格中为不符合相应的要求的信息设置标识,如可以为这些信息设置根据实际需要指定的颜色,从而便于外界工作人员实现对异常信息的直观快速获取。
[0071]
本发明实施例提供的一种适配外部设备的方法,确定当前需要适配的外部设备为目标设备,可以包括:
[0072]
如果有新的外部设备引入服务器,或者有已引入服务器的外部设备更新时,确定引入服务器的新的外部设备及已引入服务器的更新的外部设备均为目标设备。
[0073]
需要说明的是,由于有新的外部设备引入服务器后,或者引入服务器的外部设备发生更新,均需要重新实现服务器与外部设备之间的适配,因此此时可以确定相应的外部设备为目标设备,从而能够实现不同场景下外部设备及服务器之间的适配,保证了对于相应外部设备信息的获取。
[0074]
在一种具体应用场景下,本发明实施例提供的一种适配外部设备的方法具体可以包括:
[0075]
1.当前bmc获取服务器外部设备信息主要有i2c和pcie两种方式,创建预设文件(bmc_getinfo.bin),该预设文件每一行代表一个外部设备的信息获取方式及其他信息,其格式(结构体)可以为:
[0076]
typedefstruct
[0077]
{
[0078]
int8u name[64];//对应外部设备名称
[0079]
int8u access;//信息获取方式,有i2c和pcie两种
[0080]
int8u param[8];//i2c或pcie获取信息的结构体参数,传给下述i2c/pcie方式
[0081]
}get_info_t;
[0082]
预设文件中的指定参数由bmc工程师通过各外部设备厂商搜集提供;bmc固件编译时,该预设文件一并编译进bmc固件中,服务器bmc运行后将该预设文件写入eeprom(掉电不丢失的存储flash)中,服务器的外部设备信息获取时均从该预设文件加载获取信息的方式;
[0083]
2.对i2c方式获取信息和pcie方式获取信息的函数接口进行统一;
[0084]
i2c获取时,函数接口预留出i2cchannel、i2c address、i2c register三个参数,其格式(结构体)可以为:
[0085][0086][0087]
pcie获取时,函数接口预留出pciechannel、pcie switch、pcie slot三个参数,其格式(结构体)可以为:
[0088][0089]
上述结构体参数均来自于bmc_getinfo.bin文件。
[0090]
3.带内带外的ipmi协议均可修改、替换该预设文件,bmc添加一个进程,实现使用ipmi命令对该文件内容的修改、替换,从而实现服务器的外部设备的快速适配。
[0091]
可见,本申请提出一种固定格式文件和ipmi命令搭配快速适配服务器外部设备的方案,当有新外部设备需要引入、更新或者新机型要适配外部设备时,仅需要提供一份标准化获取信息的文件bmc_getinfo.bin,再通过相应ipmi命令即可完成外部设备信息获取的适配,方便了开发人员的开发测试。另外,本申请技术方案还可以应用到其他服务器的其他外部设备适配。
[0092]
本发明实施例还提供了一种适配外部设备的装置,如图2所示,具体可以包括:
[0093]
确定模块11,用于:确定当前需要适配的外部设备为目标设备;
[0094]
适配模块12,用于:将预设文件中指定参数的值设置为目标设备对应指定参数的值,得到目标文件;预设文件包含表示获取外部设备对应信息的方式的语句,指定参数为语句中表示获取外部设备对应信息的方式的参数;
[0095]
获取模块13,用于:利用目标文件中的语句获取目标设备对应的信息。
[0096]
本发明实施例提供的一种适配外部设备的装置,还可以包括:
[0097]
缓存模块,用于:将预设文件中指定参数的值设置为目标设备对应指定参数的值之前,从固件中获取预设文件,并将预设文件写入至存储flash中。
[0098]
本发明实施例提供的一种适配外部设备的装置,适配模块可以包括:
[0099]
第一设置单元,用于:将预设文件中包含的语句进行显示;在外界控制下将目标设备对应指定参数的值加入至语句中指定参数对应位置处,得到包含目标设备对应指定参数的值的预设文件为目标文件。
[0100]
本发明实施例提供的一种适配外部设备的装置,适配模块可以包括:
[0101]
第二设置单元,用于:在外界控制下使用ipmi命令将预设文件中指定参数的值设置为目标设备对应指定参数的值。
[0102]
本发明实施例提供的一种适配外部设备的装置,还可以包括:
[0103]
显示模块,用于:利用目标文件中的语句获取目标设备对应的信息之后,将预设时间段内获取的不同外部设备对应信息进行汇总,并将汇总所得结果以表格的形式进行显示,以供实现对相应外部设备的监控。
[0104]
本发明实施例提供的一种适配外部设备的装置,将汇总所得结果以表格的形式进行显示之后,还包括:
[0105]
为表格中不符合相应要求的信息设置标识。
[0106]
本发明实施例提供的一种适配外部设备的装置,确定模块可以包括:
[0107]
确定单元,用于:如果有新的外部设备引入服务器,或者有已引入服务器的外部设备更新时,确定引入服务器的新的外部设备及已引入服务器的更新的外部设备均为目标设备。
[0108]
本发明实施例还提供了一种适配外部设备的设备,可以包括:
[0109]
存储器,用于存储计算机程序;
[0110]
处理器,用于执行计算机程序时实现如上任一项适配外部设备的方法的步骤。
[0111]
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可以实现如上任一项适配外部设备的方法的步骤。
[0112]
需要说明的是,本发明实施例提供的一种适配外部设备的装置、设备及存储介质中相关部分的说明请参见本发明实施例提供的一种适配外部设备的方法中对应部分的详细说明,在此不再赘述。另外,本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
[0113]
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1