一种服务器软件的生成方法、装置、设备及存储介质与流程

文档序号:16067171发布日期:2018-11-24 12:47阅读:166来源:国知局

本发明涉及服务器技术领域,特别涉及一种服务器软件的生成方法、装置、设备及计算机可读存储介质。

背景技术

随着科技的快速发展,服务器作为云计算与大数据分析的利器,能够给云计算与大数据业务提供强有力的计算与存储加速功能,因此受到越来越广泛的使用。目前的服务器一般是由硬件设备如机头服务器、pciesiwtch设备和box设备等组成,机头服务器、pciesiwtch设备和box设备分别具有多种不同的型号,因此可以利用不同型号的硬件设备进行组合形成满足不同需求的服务器。

为了对服务器的各在线硬件设备进行合理配置,需要安装配置规则与在线硬件设备的组合关系对应的服务器软件。但是,由于服务器需要根据不同的使用需求启动不同的硬件设备,最终使得服务器的在线硬件设备组合关系也不尽相同,而一个版本的服务器软件又只基于一种配置规则,所以,在现有技术中,需要对应发布多种版本的服务器软件以适配特定的在线硬件设备组合,人力物力投入较大。而且,随着服务器软件版本的增多,维护服务器软件所需要的人力物力也会相应增加,会进一步提高服务器软件的维护成本。

因此,如何在保证合理配置服务器的各在线硬件设备的前提下,减少服务器软件的版本,达到节约成本的目的是本领域技术人员目前需要解决的技术问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种服务器软件的生成方法,能够提高生成服务器软件的效率,提高切换服务器软件版本的速度,降低维护成本;本发明的另一目的是提供一种服务器软件的生成装置、设备及计算机可读存储介质,均具有上述有益效果。

为解决上述技术问题,本发明提供一种服务器软件的生成方法,包括:

预先统计目标服务器中的所有硬件设备的各种组合关系;

确定与各种所述组合关系一一对应的配置规则;

基于各所述配置规则生成目标服务器软件,以当所述目标服务器启动时,所述目标服务器软件调用目标配置规则配置所述目标服务器中的各在线硬件设备;

其中,所述目标配置规则为与所述在线硬件设备的组合关系对应的配置规则。

优选地,所述预先统计目标服务器中的所有硬件设备的各种组合关系具体包括:

预先获取所述目标服务器中的所有硬件设备的设备信息;

根据所述设备信息和所述硬件设备的组合规则得出所有可能的硬件设备的组合关系;

统计所有所述硬件设备的各种组合关系。

优选地,在所述统计所有所述硬件设备的组合关系之后,进一步包括:

分别为各所述组合关系设置唯一对应的组合关系id;

对应的,在所述确定与各种所述组合关系一一对应的配置规则之后进一步包括:

分别为各所述配置规则设置与所述组合关系一一对应的配置规则id。

优选地,所述当所述目标服务器启动时,所述目标服务器软件调用目标配置规则配置所述目标服务器中的各在线硬件设备具体包括:

当所述目标服务器启动时,获取所述目标服务器的在线硬件设备;

判断所述预先确定的配置规则中是否包含有所述在线硬件设备的组合关系对应的配置规则;

若是,则将所述在线硬件设备的组合关系对应的配置规则设置为目标配置规则,以便所述目标服务器软件调用目标配置规则配置所述目标服务器中的各在线硬件设备;

否则,设置与所述在线硬件设备的组合关系对应的配置规则,再进入所述判断所述预先确定的配置规则中是否包含有所述在线硬件设备的组合关系对应的配置规则的步骤。

优选地,所述确定与各种所述组合关系一一对应的配置规则具体包括:

确定与各种所述组合关系一一对应的配置规则;

将各所述配置规则存储于掉电非易失区域。

优选地,进一步包括:

将生成的所述目标服务器软件的信息记录至日志。

为解决上述技术问题,本发明还提供一种服务器软件的生成装置,包括:

统计模块,用于预先统计目标服务器中的所有硬件设备的各种组合关系;

确定模块,用于确定与各种所述组合关系一一对应的配置规则;

生成模块,用于基于各所述配置规则生成目标服务器软件,以当所述目标服务器启动时,所述目标服务器软件调用目标配置规则配置所述目标服务器中的各在线硬件设备;

其中,所述目标配置规则为与所述在线硬件设备的组合关系对应的配置规则。

优选地,所述统计模块具体包括:

获取子模块,用于预先获取所述目标服务器中的所有硬件设备的设备信息;

设置子模块,用于根据所述设备信息并根据所述硬件设备的组合规则得出所有可能的硬件设备的组合关系;

统计子模块,用于统计所有所述硬件设备的组合关系。

为解决上述技术问题,本发明还提供一种服务器软件的生成设备,包括:

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

处理器,用于执行所述计算机程序时实现上述任一种服务器软件的生成方法的步骤。

为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种服务器软件的生成方法的步骤。

本发明提供的服务器软件的生成方法,通过预先统计目标服务器中的所有硬件设备的各种组合关系,和确定与各种组合关系一一对应的配置规则,以与通用的格式代码结合,最终能够基于各配置规则生成目标服务器软件。由于该目标服务器软件基于的配置规则为与目标服务器中所有硬件设备的各种组合关系一一对应的配置规则,所以,当目标服务器启动时,目标服务器软件可以调用与在线硬件设备组合关系对应的目标配置规则配置各在线硬件设备,在无需对应发布多种版本的服务器软件的基础上,实现对目标服务器的各在线硬件设备的合理配置。并且,由于该目标服器软件是利用通用的格式代码与所有配置规则结合组成的,因此利用该目标服务器软件能够实现现有技术中的多个版本的服务器软件的功能,从而能够减少服务器软件的版本,进而可以降低开发成本和维护成本。

为解决上述技术问题,本发明还提供了一种服务器软件的生成装置、设备及计算机可读存储介质,均具有上述有益效果。

附图说明

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

图1为本发明实施例提供的一种服务器软件的生成方法的流程图;

图2为本发明实施例提供的另一种服务器软件的生成方法的流程图;

图3为本发明实施例提供的一种服务器软件的生成装置的结构图;

图4为本发明实施例提供的一种服务器软件的生成设备的结构图。

具体实施方式

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

本发明实施例的核心是提供一种服务器软件的配置方法,能够提高配置服务器软件的效率,提高切换服务器软件版本的速度,降低维护成本;本发明的另一核心是提供一种服务器软件的配置装置、设备及计算机可读存储介质,均具有上述有益效果。

为了使本领域技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

需要说明的是,本方案提供的一种服务器软件的生成方法,能够适用于多种服务器中的不同系统,例如bios系统(basicinputoutputsystem,基本输入输出系统)、bmc系统(baseboardmanagementcontroller,基板管理控制器)等。

图1为本发明实施例提供的一种服务器软件的生成方法的流程图。如图1所示,服务器软件的生成方法包括:

s10:预先统计目标服务器中的所有硬件设备的各种组合关系。

具体的,目标服务器中存在多种硬件设备,各硬件设备之间能够形成不同的组合关系。因此,预先统计目标服务器中的所有硬件设备的各种组合关系,也就是说,将目标服务器中的所有硬件设备进行排列组合,得到所有可能的组合关系并一一进行统计,得出所有可能存在的组合关系。

s20:确定与各种组合关系一一对应的配置规则。

可以理解的是,对于不同的硬件设备的组合关系,需要设置不同的硬件设备的配置规则以便对硬件设备进行配置。因此,根据硬件设备的组合关系,分别确定各组合关系对应的配置规则。具体的,配置规则是根据服务器中各硬件设备自身的性质以及根据不同型号的硬件设备之间的组合规则,设置相应的存储器和设置其他处理资源。例如,在一种ai(artificialintelligence,人工智能)服务器中,包括机头服务器、pciesiwtch设备和box设备,并且机头服务器有标准2路/4路/8路以及rack服务器等型号;box设备有gpu配置、nvme配置和fpga配置等;pciesiwtch设备可以是pmcpciesiwtch,也可以是broadcompciesiwtch。当机头服务器的型号为2路服务器,box设备具体为gpu配置,且更具体的为nvidiagpu配置时,需要配置更多的mmio资源和pciebus号码的分配,并需要配置相应的寄存器。

需要说明的是,本实施例中的配置规则是与硬件设备的组合关系相对应的,并且该配置规则需要与现有技术中对应于硬件设备的组合关系设置的配置规则相同。对于硬件设备的组合关系设置对应的配置规则的内容,是本领域技术人员所公知的内容,因此本实施例不做详细描述。

s30:基于各配置规则生成目标服务器软件,以当目标服务器启动时,目标服务器软件调用目标配置规则配置目标服务器中的各在线硬件设备;

其中,目标配置规则为与在线硬件设备的组合关系对应的配置规则。

需要说明的是,在线硬件设备指的是在目标服务器启动后,处于工作状态的硬件设备,也即当前处于同一组合关系中的硬件设备。

需要说明的是,基于各配置规则生成目标服务器软件,也即目标服务器软件包含了预先确定的所有的配置规则。因此,当目标服务器启动时,目标服务器的各在线硬件设备的组合关系对应的目标配置规则是预先确定的所有的配置规则中的一种,因此目标服务器软件能够调用目标配置规则对目标服务器中的各在线硬件设备进行配置。

可以理解的是,目标服务器软件是基于配置规则并利用通用的格式代码组合形成的,该通用的格式代码是在现有技术中服务器软件中通用的格式代码的基础上作相适应的改变,是本领域技术人员容易想到的,因此此处不再赘述如何具体利用通用的格式代码和配置规则组成目标服务器软件。

本发明实施例提供的服务器软件的生成方法,通过预先统计目标服务器中的所有硬件设备的各种组合关系,和确定与各种组合关系一一对应的配置规则,以与通用的格式代码结合,最终能够基于各配置规则生成目标服务器软件。由于该目标服务器软件基于的配置规则为与目标服务器中所有硬件设备的各种组合关系一一对应的配置规则,所以,当目标服务器启动时,目标服务器软件可以调用与在线硬件设备组合关系对应的目标配置规则配置各在线硬件设备,在无需对应发布多种版本的服务器软件的基础上,实现对目标服务器的各在线硬件设备的合理配置。并且,由于该目标服器软件是利用通用的格式代码与所有配置规则结合组成的,因此利用该目标服务器软件能够实现现有技术中的多个版本的服务器软件的功能,从而能够减少服务器软件的版本,进而可以降低开发成本和维护成本。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,预先统计目标服务器中的所有硬件设备的各种组合关系具体包括:

预先获取目标服务器中的所有硬件设备的设备信息。

需要说明的是,一般在出厂前,就已经对各个服务器进行硬件设备的设置,因此统计目标服务器中的所有硬件设备可以通过获取目标服务器的出厂信息的方式获取。

根据设备信息和硬件设备的组合规则得出所有可能的硬件设备的组合关系。

具体的,根据设备信息和硬件设备的组合规则得出所有可能的硬件设备的组合关系,可以是利用硬件设备的设备信息对所有的硬件设备进行组合,即利用各硬件设备排列组合得到的所有的组合关系,然后按照硬件设备组合规则对排除所有不能同时在线的硬件设备对应的组合关系。例如,在对硬件设备排列组合后得出a+b+c(其中a、b和c为三种不同的硬件设备)的组合关系后,由于a和b不能同时处于工作状态,即不能处于同一目标组合关系中,因此需要删除这种组合关系。

统计所有硬件设备的各种组合关系。

在按照硬件设备组合规则对排除所有不能同时在线的硬件设备对应的组合关系之后,保留所有可能存在的硬件设备的组合关系,即得到所有硬件设备的组合关系,从而排除了不能同时在线的硬件设备的组合关系。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,在统计所有硬件设备的组合关系之后,进一步包括:

分别为各组合关系设置唯一对应的组合关系id。

对应的,在确定与各种组合关系一一对应的配置规则之后进一步包括:

分别为各配置规则设置与组合关系一一对应的配置规则id。

也就是说,在统计所有硬件设备的组合关系之后,分别为各组合关系设置唯一对应的组合关系id,因此对应的,在确定与各种组合关系一一对应的配置规则之后进一步包括:

分别为各配置规则设置与组合关系一一对应的配置规则id。

也就是说,通过为各组合关系设置组合关系id,因此对应的在确定与各种组合关系一一对应的配置规则之后,分别为各配置规则设置与组合关系一一对应的配置规则id,因此在当目标服务器启动时,目标服务器软件根据各在线硬件设备对应的组合关系id调用对应的配置规则id,从而获取对应的配置规则id对应的目标配置规则,使得调用过程更加简便。

需要说明的是,也可以根据硬件设备的设备信息为各硬件设备设置唯一对应的硬件设备id,用于唯一标识硬件设备。更具体的,可以根据硬件设备的不同类型分别为各硬件设备设置唯一对应的硬件设备id。设置硬件设备id的方式不做限定,例如可以通过不同的数字形式进行设置,也可以通过字母加数字的形式如“a1”、“a2”的形式进行设置。

对应地,在获取硬件设备的组合关系时,可以利用硬件设备id进行设置,通过利用硬件设备id代替硬件设备的设备信息,可以使设置的内容更加简单。

图2为本发明实施例提供的另一种服务器软件的生成方法的流程图。如图2所示,在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,当目标服务器启动时,目标服务器软件调用目标配置规则配置目标服务器中的各在线硬件设备具体包括:

s21:当目标服务器启动时,获取目标服务器的在线硬件设备。

可以理解的是,虽然目标服务器中存在多种类型及不同型号的硬件设备,但是在目标服务器启动时,并不会同时启动所有的硬件设备。因此,当目标服务器启动时,获取目标服务器的在线硬件设备。即获取目标服务器启动时,当前处于工作状态的硬件设备。

s22:判断预先确定的配置规则中是否包含有在线硬件设备的组合关系对应的配置规则。

s23:若是,则将在线硬件设备的组合关系对应的配置规则设置为目标配置规则,以便目标服务器软件调用目标配置规则配置目标服务器中的各在线硬件设备;

s24:否则,设置与在线硬件设备的组合关系对应的配置规则,再进入判断预先确定的配置规则中是否包含有在线硬件设备的组合关系对应的配置规则的步骤。

具体的在获取到在线硬件设备之后,判断预先确定的配置规则中是否存在在线硬件设备对应的配置规则。也即,查询预先确定的配置规则中是否存在与在线硬件设备的组合信息匹配的配置规则。

若是,则将在线硬件设备的组合关系对应的配置规则设置为目标配置规则,以便目标服务器软件调用目标配置规则配置目标服务器中的各在线硬件设备;

否则,设置与在线硬件设备的组合关系对应的配置规则,再进入判断预先确定的配置规则中是否包含有在线硬件设备的组合关系对应的配置规则的步骤。也就是说,在原来的配置规则的基础上,新增当前的在线硬件设备的组合关系对应的配置规则,以便能够根据当前的在线硬件设备的组合关系查找到对应的配置规则,并将该配置规则设置为目标配置规则。

作为优选的实施方式,确定与各种组合关系一一对应的配置规则具体包括:

确定与各种组合关系一一对应的配置规则;

将各配置规则存储于掉电非易失区域。

一般的,在确定与各种组合关系一一对应的配置规则之后,可以将预先确定的配置规则存储至硬盘或者外置u盘或者nvram等位置。在本实施例中,优选地将硬件设备设置配置规则通过ipmi命令的方式导入目标服务器中的nvram的掉电非易失区域中,这样能在服务器掉电后再次启动时,仍能够快速获取配置规则,提高生成服务器软件的过程的可靠性。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,进一步包括:

将生成的目标服务器软件的信息记录至日志。

具体的,在调用配置规则以生成目标服务器软件之后,获取该目标服务器软件的版本信息,并将版本信息记录至日志。更具体的,版本信息可以包括版本号、组成该目标服务器软件的时间、该目标服务器软件包括的硬件设备以及对应的配置规则等信息,本实施例对此不做具体的限定。

本实施例中,通过将生成的服务器软件的版本信息记录至日志,可以便于技术人员查看目标服务器软件的信息。

上文对于本发明提供的一种服务器软件的生成方法的实施例进行了详细的描述,本发明还提供了一种与该方法对应的服务器软件的生成装置、设备及计算机可读存储介质,由于装置、设备及计算机可读存储介质部分的实施例与方法部分的实施例相互照应,因此装置、设备及计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图3为本发明实施例提供的一种服务器软件的生成装置的结构图,如图3所示,服务器软件的生成装置包括:

统计模块31,用于预先统计目标服务器中的所有硬件设备的各种组合关系;

确定模块32,用于确定与各种组合关系一一对应的配置规则;

生成模块33,用于基于各配置规则生成目标服务器软件,以当目标服务器启动时,目标服务器软件调用目标配置规则配置目标服务器中的各在线硬件设备;

其中,目标配置规则为与在线硬件设备的组合关系对应的配置规则。

本发明实施例提供的服务器软件的生成装置,具有上述服务器软件的生成方法的有益效果。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,统计模块具体包括:

获取子模块,用于预先获取目标服务器中的所有硬件设备的设备信息;

设置子模块,用于根据设备信息并根据硬件设备的组合规则得出所有可能的硬件设备的组合关系;

统计子模块,用于统计所有硬件设备的组合关系。

图4为本发明实施例提供的一种服务器软件的生成设备的结构图,如图4所示,服务器软件的生成设备包括:

存储器41,用于存储计算机程序;

处理器42,用于执行计算机程序时实现如上述服务器软件的生成方法的步骤。

本发明实施例提供的服务器软件的生成设备,具有上述服务器软件的生成方法的有益效果。

为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述服务器软件的生成方法的步骤。

本发明实施例提供的计算机可读存储介质,具有上述服务器软件的生成方法的有益效果。

以上对本发明所提供的服务器软件的生成方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1