启动方法、系统以及装置与流程

文档序号:26446040发布日期:2021-08-27 13:46阅读:148来源:国知局
启动方法、系统以及装置与流程

本说明书实施例涉及计算机技术领域,特别涉及启动方法、系统以及装置。



背景技术:

目前,计算机的基本输入输出系统(basicinputoutputsystem,bios)的程序代码存储于平台控制中心(platformcontrollerhub,pch)芯片即南桥芯片下挂的闪存(flash)中,当中央处理器(centralprocessingunit,cpu)在bios阶段启动时,需要通过直接媒体接口(directmediainterface,dmi)总线连接到pch芯片,继而读取并执行存储于flash中的bios的程序代码,实现cpu启动,此外还需借助安全加密芯片实现cpu的安全启动,不仅硬件成本高,并且受限于主板设计以及pch数量,无法动态调整裸金属服务器系统cpu粒度,因此,需要提供更可靠的方案。



技术实现要素:

有鉴于此,本说明书实施例提供了一种启动方法。本说明书一个或者多个实施例同时涉及两种启动系统,一种启动装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。

本说明书实施例的第一方面,提供了一种启动方法,包括:

智能网卡基于接收的待启动设备的配置信息,确定与所述配置信息对应的基本输入输出系统的程序代码在云存储中的存储地址;

根据所述存储地址,所述智能网卡将所述程序代码加载至缓存中的目标缓存位置;

建立所述目标缓存位置的缓存地址与所述待启动设备的中央处理器的启动地址之间的地址映射关系,并发送针对所述中央处理器的复位指令;

所述中央处理器基于所述复位指令复位后,根据所述地址映射关系,从所述缓存地址指向的目标缓存位置读取并执行所述程序代码。

可选的,所述根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码,包括:

所述中央处理器通过缓存一致性总线向所述智能网卡查找所述启动地址;

在查找到所述启动地址的情况下,根据所述地址映射关系,确定所述启动地址对应的缓存地址;

通过从所述缓存地址指向的所述目标缓存位置读取并执行所述程序代码的方式,启动所述中央处理器。

可选的,在所述中央处理器为多个的情况下,所述中央处理器,包括主中央处理器,以及至少一个从中央处理器;

相应的,所述根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码,包括:

所述主中央处理器根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码;

所述从中央处理器根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码。

可选的,所述确定与所述配置信息对应的基本输入输出系统的程序代码在云存储中的存储地址,包括:

根据所述配置信息,确定基本输入输出系统的版本信息;

基于所述版本信息,确定所述程序代码在所述云存储中的所述存储地址。

可选的,所述建立所述目标缓存位置的缓存地址与所述待启动设备的中央处理器的启动地址之间的地址映射关系步骤执行之前,还包括:

获取所述中央处理器的型号信息;

确定所述型号信息对应的所述中央处理器的启动地址。

可选的,所述发送针对所述中央处理器的复位指令,包括:

所述智能网卡通过管理接口向基板管理控制器发送所述复位指令;

相应的,所述中央处理器基于所述复位指令复位,包括:

所述基板管理控制器将所述复位指令转换为针对所述中央处理器的复位信号;

所述中央处理器基于所述复位信号进行复位。

可选的,所述缓存一致性总线采用的缓存一致性总线协议包括:计算机快速链接协议。

本说明书实施例的第二方面,提供了一种启动系统,包括:

云存储、智能网卡以及中央处理器;

其中,所述云存储,被配置为存储所述基本输入输出系统的程序代码;

所述智能网卡,被配置为基于接收的待启动设备的配置信息,确定与所述配置信息对应的基本输入输出系统的程序代码在云存储中的存储地址,并根据所述存储地址,将所述程序代码加载至缓存中的目标缓存位置,建立所述目标缓存位置的缓存地址与所述待启动设备的中央处理器的启动地址之间的地址映射关系,并发送针对所述中央处理器的复位指令;

所述中央处理器,被配置基于所述复位指令复位后,根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码。

可选的,所述中央处理器,进一步被配置为:通过缓存一致性总线向所述智能网卡查找所述启动地址;

在查找到所述启动地址的情况下,根据所述地址映射关系,确定所述启动地址对应的缓存地址;

通过从所述缓存地址指向的所述目标缓存位置读取并执行所述程序代码的方式,启动所述中央处理器。

可选的,在所述中央处理器为多个的情况下,所述中央处理器,包括主中央处理器,以及至少一个从中央处理器;

相应的,所述中央处理器,进一步被配置为:所述主中央处理器根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码;

所述从中央处理器根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码。

可选的,所述智能网卡,还被配置为:根据所述配置信息,确定基本输入输出系统的版本信息;

基于所述版本信息,确定所述程序代码在所述云存储中的所述存储地址。

可选的,所述智能网卡,还被配置为:获取所述待启动设备配置的中央处理器的型号信息;

确定所述型号信息对应的所述启动地址。

可选的,所述智能网卡,进一步被配置为:通过管理接口向基板管理控制器发送所述复位指令;

相应的,所述中央处理器,进一步被配置为:所述基板管理控制器将所述复位指令转换为针对所述中央处理器的复位信号;

所述中央处理器基于所述复位信号进行复位。

可选的,所述缓存一致性总线采用的缓存一致性总线协议包括:计算机快速链接协议。

本说明书实施例的第三方面,提供了另一种启动系统,包括:

客户端、管控调度系统、智能网卡、云存储以及中央处理器;

其中,所述客户端,被配置为接收用户的租用请求,所述租用请求中携带配置信息;

所述管控调度系统,被配置为接收所述租用请求,并确定所述配置信息对应的待启动设备,将所述配置信息下发至所述待启动设备的智能网卡中;

所述智能网卡,被配置为基于接收的待启动设备的配置信息,确定与所述配置信息对应的基本输入输出系统的程序代码在云存储中的存储地址,并根据所述存储地址,将所述程序代码加载至缓存中的目标缓存位置,建立所述目标缓存位置的缓存地址与所述待启动设备的中央处理器的启动地址之间的地址映射关系,并发送针对所述中央处理器的复位指令;

所述云存储,被配置为存储所述基本输入输出系统的程序代码;

所述中央处理器,被配置基于所述复位指令复位后,根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码。

本说明书实施例的第四方面,提供了一种启动装置,包括:

确定模块,被配置为智能网卡基于接收的待启动设备的配置信息,确定与所述配置信息对应的基本输入输出系统的程序代码在云存储中的存储地址;

加载模块,被配置为根据所述存储地址,所述智能网卡将所述程序代码加载至缓存中的目标缓存位置;

建立模块,被配置为建立所述目标缓存位置的缓存地址与所述待启动设备的中央处理器的启动地址之间的地址映射关系,并发送针对所述中央处理器的复位指令;

启动模块,被配置为所述中央处理器基于所述复位指令复位后,根据所述地址映射关系,从所述缓存地址指向的目标缓存位置读取并执行所述程序代码。

本说明书实施例的第五方面,提供了一种计算设备,包括:

存储器和处理器;

所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:

智能网卡基于接收的待启动设备的配置信息,确定与所述配置信息对应的基本输入输出系统的程序代码在云存储中的存储地址;

根据所述存储地址,所述智能网卡将所述程序代码加载至缓存中的目标缓存位置;

建立所述目标缓存位置的缓存地址与所述待启动设备的中央处理器的启动地址之间的地址映射关系,并发送针对所述中央处理器的复位指令;

所述中央处理器基于所述复位指令复位后,根据所述地址映射关系,从所述缓存地址指向的目标缓存位置读取并执行所述程序代码。

本说明书实施例的第六方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述启动方法的步骤。

本说明书提供一种启动方法,通过将存储于云存储中的待启动设备的bios的程序代码,加载至智能网卡的目标缓存位置,并建立目标缓存位置的缓存地址和cpu的启动地址之间的地址映射关系,使cpu通过其启动地址与缓存地址的地址映射关系,读取并执行bios的程序代码进行启动,实现了cpu在bios阶段的云启动,无需依赖本地的phc芯片以及flash芯片,并在需要增加裸金属服务器的cpu粒度的情况下,无需受限于主板设计以及pch数量,增加了针对待启动设备配置的灵活性,并降低了硬件成本。

附图说明

图1是本说明书一个实施例提供的一种启动方法的处理流程图;

图2是本说明书一个实施例提供的一种启动方法的示意图;

图3是本说明书一个实施例提供的另一种启动方法的示意图;

图4是本说明书一个实施例提供的一种智能网卡的示意图;

图5是本说明书一个实施例提供的一种应用于两路服务器的启动方法的示意图;

图6是本说明书一个实施例提供的一种应用于两路服务器的启动方法的处理流程图;

图7是本说明书一个实施例提供的一种启动系统的结构示意图;

图8是本说明书一个实施例提供的另一种启动系统的结构示意图;

图9是本说明书一个实施例提供的一种启动装置的示意图;

图10是本说明书一个实施例提供的一种计算设备的结构框图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。

在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

在本说明书中,提供了一种启动方法,本说明书一个或者多个实施例同时涉及两种启动系统,一种启动装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。

本说明书提供的一种启动方法实施例如下:

图1示出了根据本说明书一个实施例提供的一种启动方法的处理流程图,具体包括以下步骤:

步骤102,智能网卡基于接收的待启动设备的配置信息,确定与所述配置信息对应的基本输入输出系统的程序代码在云存储中的存储地址。

现有技术中,在两路服务器的场景中,具体如图2所示,服务器的基本输入输出系统(basicinputoutputsystem,bios)的程序代码存储于平台控制中心(platformcontrollerhub,pch)芯片即南桥芯片下挂的闪存(flash)中,cpu0和cpu1之间通过超级通道互连(ultrapathinterconnect,upi)总线进行连接,当cpu0和cpu1启动时,需要通过直接媒体接口(directmediainterface,dmi)总线连接到pch芯片,继而通过串行外设接口(serialperipheralinterface,spi)读取并执行存储于flash中的bios的程序代码,此外还需借助tpm(trustedplatformmodule)安全芯片实现cpu0和cpu1在bios阶段的安全启动,此外,智能网卡还可以连接到获取云存储中存储的操作系统镜像(osimage)。

而在服务器为裸金属服务器,且裸金属服务器起初只配置了cpu0的情况下,需要为裸金属服务器添加cpu1,具体如图3所示,是在cpu0具有对应的phc芯片以及flash芯片的基础上,添加cpu1,以及cpu1对应的phc芯片以及flash芯片,以使cpu1通过dmi总线连接到pch芯片,继而通过spi读取并执行存储于flash中的bios的程序代码,可见,这种情况下裸金属服务器的cpu粒度无法灵活配置,需要修改主板以及增加pch芯片以及flash芯片,则完成配置需要的硬件成本较高,灵活性差,其中,裸金属服务器是指具有虚拟机弹性和物理机性能的计算类服务器,其提供专属的云上物理器,为高性能需求提供较高的计算性能以及数据安全。

本说明书实施例,可以应用于云计算场景,将bios的程序代码存储于云存储中,当用户在租用设备时,通过客户端提交租用请求,其中,所述租用请求中携带配置信息;管控调度系统,接收所述租用请求,并确定所述配置信息对应的待启动设备,将所述配置信息下发至所述待启动设备的智能网卡中;

智能网卡接收待启动设备的配置信息,并确定配置信息对应的bios的程序代码在云存储中的存储地址,将bios的程序代码加载至智能网卡的缓存中,使中央处理器通过缓存一致性总线与智能网卡连接,读取并执行在智能网卡中的缓存中所存储的bios的程序代码,以实现cpu在bios阶段的云启动。

具体的,所述智能网卡,是指可以通过网络连接待启动设备、云存储和网络的设备,且并不限于网络协议类型以及芯片具备功能,只要具备上述连接属性均认为是智能网卡范畴。

所述待启动设备,包括:云服务器、计算设备、本地服务器等,在此不做限制;所述配置信息,是指待启动设备的配置信息,具体包括:待启动设备的cpu的配置信息,内存的配置信息,硬盘的配置信息等,在此不做限制。

所述bios的程序代码,包括计算机重要的基本输入输出的程序、开机后自检程序和系统自启动程序,其主要功能是为计算机提供底层的、直接的硬件设置和控制;所述云存储,是指一种网上在线存储的模式,即把数据存放在多台虚拟服务器,而非专属的服务器上。

实际应用中,智能网卡基于接收的待启动设备的配置信息,确定与所述配置信息对应的基本输入输出系统的程序代码在云存储中的存储地址的实现方式是多种多样的,具体的可以根据预设的配置信息中某一项或几项配置项与存储地址的对应关系,确定bios的程序代码的存储地址,此外,还可以根据配置信息先确定bios程序代码的版本信息,在进一步确定bios的程序代码的存储地址等,在此不做限制。

具体实施时,由于不同的配置信息对应的bios程序代码可能有所不同,本说明书实施例提供的一种可选实施方式中,所述确定与所述配置信息对应的基本输入输出系统的程序代码在云存储中的存储地址,具体采用如下方式实现:

根据所述配置信息,确定基本输入输出系统的版本信息;

基于所述版本信息,确定所述程序代码在所述云存储中的所述存储地址。

实际应用中,不同的bios版本,可能支持或者适配的软/硬件有所区别,因此通常需要根据待启动设备的配置信息,确定需要加载的bios的版本信息,进而确定该版本的bios的程序代码的存储地址,增加了确定bios程序代码在云存储中的存储地址的准确性,以便后续智能网卡根据确定的存储地址加载对应的bios的程序代码。

以待启动服务器为例,待启动服务器的配置信息为c1,确定与配置信息c1匹配的版本信息为v1,进而,根据预设的版本信息与存储地址之间的对应关系表,确定版本信息v1对应的bios的程序代码在云存储中的存储地址为d1。

步骤104,根据所述存储地址,所述智能网卡将所述程序代码加载至缓存中的目标缓存位置。

具体的,在上述确定bios的程序代码在云存储的存储地址的基础上,本说明书实施例中,智能网卡将bios的程序代码加载到缓存中的目标缓存位置,以便cpu进行读取。

沿用上例,在上述确定bios的程序代码在云存储中的存储地址为d1的基础上,智能网卡通过网络连接,从存储地址d1指向的存储位置,将bios程序代码加载到缓存中的目标缓存位置。

步骤106,建立所述目标缓存位置的缓存地址与所述待启动设备的中央处理器的启动地址之间的地址映射关系,并发送针对所述中央处理器的复位指令。

具体的,建立所述目标缓存位置的缓存地址与所述待启动设备的中央处理器的启动地址之间的地址映射关系的目的是使下述步骤s108中cpu复位后,可以根据此地址映射关系,读取存储于目标缓存位置的bios的程序代码。

需要说明的是,智能网卡在完成建立上述地址映射关系之后,已完成智能网卡的准备工作,则发送针对中央处理器的复位指令,以使中央处理器后续基于所述复位指令进行复位。

在上述将bios的程序代码加载到目标缓存位置的基础上,并建立目标缓存位置的缓存地址和cpu的启动地址之间的地址映射关系之前,需要先确定cpu的启动地址,本说明书实施例提供的一种可选实施方式中,确定cpu的启动地址,具体通过如下方式实现:

获取所述中央处理器的型号信息;

确定所述型号信息对应的所述中央处理器的启动地址。

实际应用中,同一型号的cpu的启动地址的相同,因此在获取cpu的型号信息的基础上,可以根据预设的型号信息与启动地址的对应关系,确定cpu的启动地址。

本说明书实施例,在建立上述缓存地址和cpu的启动地址之间的地址映射关系之前,先通过cpu的型号信息确定cpu的启动地址,为后续建立目标缓存位置的缓存地址和cpu的启动地址之间的地址映射关系提供了便利,增加了确定所述启动地址的确定效率以及准确率。

沿用上例,智能网卡从存储地址d1指向的存储位置,将bios程序代码加载到缓存中的目标缓存位置的基础上,获取待启动设备的cpu的型号为pm,并确定pm型号的cpu的启动地址为d3,而目标缓存位置的缓存地址为d2,建立缓存地址d2和cpu的启动地址d3的地址映射关系,并发送针对cpu的复位指令。

具体实施时,本说明书实施例提供的一种可选实施方式中,所述发送针对所述中央处理器的复位指令,具体采用如下方式实现:

所述智能网卡通过管理接口向基板管理控制器发送所述复位指令;

相应的,所述中央处理器基于所述复位指令复位,包括:

所述基板管理控制器将所述复位指令转换为针对所述中央处理器的复位信号;

所述中央处理器基于所述复位信号进行复位。

所述管理接口,包括智能平台管理接口,所述智能平台管理接口,可以监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。

实际应用中,智能网卡通过ipmi向基板管理控制器(baseboardmanagementcontroller,bmc)发送复位命令,bmc将所述复位命令转换为针对cpu的物理的硬件复位信号,以便cpu基于复位信号进行复位,其中,所述基板管理控制器,执行伺服器远端管理控制器,可以在机器未开机的状态下,对机器进行固件升级、查看机器设备、等一些操作。

步骤108,所述中央处理器基于所述复位指令复位后,根据所述地址映射关系,从所述缓存地址指向的目标缓存位置读取并执行所述程序代码。

实际应用中,中央处理器复位后,需通过查找启动地址,找到并执行bios的程序代码,以实现中央处理器在bios阶段的启动。

具体实施时,将cpu与智能网卡通过缓存一致性总线进行连接,使cpu通过缓存一致性总线,读取智能网卡的缓存上所存储的bios的程序代码进行启动,本说明书实施例提供的一种可选实施方式中,所述根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码,具体采用如下方式实现:

所述中央处理器通过缓存一致性总线向所述智能网卡查找所述启动地址;

在查找到所述启动地址的情况下,根据所述地址映射关系,确定所述启动地址对应的缓存地址;

通过从所述缓存地址指向的所述目标缓存位置读取并执行所述程序代码的方式,启动所述中央处理器。

实际应用中,cpu的启动模式是配置cpu配置管脚决定的,本说明书实施例,通过预先配置cpu的配置管脚,使cpu从与自身连接的缓存一致性总线上进行启动,则cpu复位后,会从缓存一致性总线上去查找cpu的启动地址,而cpu和智能网卡通过缓存一致性总线进行连接,则cpu通过缓存一致性总线在智能网卡上查找到启动地址之后,就可以在启动地址对应的缓存地址指向的目标缓存位置读取并执行bios的程序代码,以启动cpu,在这个过程中,智能网卡通过缓存一致性总线实现了对cpu的启动地址的代理,而无需通过本地主板放置pch芯片以及flash芯片对bios的程序代码的读取并执行,此外,也无需tpm芯片实现安全启动。

需要说明的是,智能网卡通过缓存一致性总线,在总线空间上虚拟出一段虚拟的启动地址,将这段地址提供给cpu,则cpu在查找启动地址时,则可查找到智能网卡上虚拟的启动地址,继而根据启动地址与缓存地址的地址映射关系,确定启动地址对应的缓存地址,从缓存地址指向的目标缓存位置读取并执行bios的程序代码。

可选的,所述缓存一致性总线采用的缓存一致性总线协议包括:计算机快速链接(computeexpresslink,cxl)协议,相应的,所述缓存一致性总线为cxl总线。

具体的,如图4所示,所述智能网卡,具备cxl协议,用于和cpu之间通过缓存一致性总线进行连接,并代理(cpu的)启动地址以及连接云存储以及外部网络设备的功能,实现了从云存储加载待启动设备的bios的程序代码,以供cpu进行读取并执行,其中,由于智能网卡的自身的安全性,可以实现cpu借助智能网卡本身的可信区域进行安全启动,节省了主板上放置tpm芯片的成本。

沿用上例,在cpu复位的基础上,cpu通过缓存一致性总线向智能网卡查找启动地址d3,在查找到启动地址d3的情况下,根据缓存地址d2和启动地址d3的地址映射关系,确定缓存地址d2,则从缓存地址d2所指向的目标缓存位置,读取并执行存储于目标缓存位置的bios程序代码。

实际应用中,待启动设备中的cpu可能不止一个,本说明书实施例提供的一种可选实施方式中,在所述中央处理器为多个的情况下,所述中央处理器,包括主中央处理器,以及至少一个从中央处理器;

相应的,所述根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码,具体采用如下方式实现:

所述主中央处理器根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码;

所述从中央处理器根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码。

实际应用中,在待启动设备存在多个cpu的情况下,各个cpu之间的连接状态是多种多样的,具体的,可以是环形连接、或者全网状连接等,在此不做限制,其中,多个cpu中,包括一个主cpu,即cpu0,并至少一个从cpu,可以称为cpu1,cpu2,cpu3等,当主cpu通过读取并执行目标缓存位置的bios程序代码的方式进行启动之后,各个从cpu也通过读取并执行bios的程序代码进行启动。

具体实施时,在多个从中央处理器的情况下,可以按照所述主中央处理器以及从中央处理器之间的第二缓存一致性总线的连接顺序,将各个从中央处理器依次根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码,以启动各个从中央处理器,此外,还有多个从中央处理器,还可以按照预设顺序进行启动等,在此不做限制。

其中,所述第二缓存一致性总线,包括upi总线,所述主中央处理器与所述从中央处理器通过upi总线进行连接,并分别根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码,其中从中央处理器根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码的具体实现方式,与上述中央处理器根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码的具体实现方式类似,在此不再赘述。

以两路服务器为例,如图5所示,cpu0与cpu1通过upi总线进行连接,而cpu0和cpu1都通过cxl总线连接于智能网卡,则cpu0先通过cxl总线,从智能网卡中查找到启动地址对应的缓存地址,继而从目标缓存位置读取并执行bios的程序代码,在启动过程中借助智能网卡自身的安全性,实现cpu0的安全启动,然后cpu1先通过cxl总线,从智能网卡中查找到启动地址对应的缓存地址,继而从目标缓存位置读取并执行bios的程序代码,在启动过程中借助智能网卡自身的安全性,实现cpu1的安全启动。

综上所述,本说明书提供的一种启动方法,通过将存储于云存储中的待启动设备的bios的程序代码,加载至智能网卡的目标缓存位置,并建立目标缓存位置的缓存地址和cpu的启动地址之间的地址映射关系,使cpu通过其启动地址与缓存地址的地址映射关系,读取并执行bios的程序代码进行启动,实现了cpu在bios阶段的云启动,无需依赖本地的phc芯片以及flash芯片,并基于此方法在需要增加裸金属服务器的cpu粒度的情况下,无需受限于主板设计以及pch数量,增加了针对待启动设备配置的灵活性,并降低了硬件成本。

下述结合附图6,以本说明书提供的启动方法在两路服务器中的应用为例,对所述启动方法进行进一步说明。其中,图6示出了本说明书一个实施例提供的一种应用于两路服务器的启动方法的处理流程图,具体包括以下步骤:

步骤602,智能网卡接收待启动设备的配置信息。

步骤604,根据所述配置信息,确定基本输入输出系统的版本信息。

步骤606,基于所述版本信息,确定所述程序代码在所述云存储中的存储地址。

步骤608,根据所述存储地址,所述智能网卡将所述程序代码加载至缓存中的目标缓存位置。

步骤610,获取所述待启动设备的中央处理器的型号信息。

步骤612,确定所述型号信息对应的所述中央处理器的启动地址。

步骤614,建立所述目标缓存位置的缓存地址与所述待启动设备的中央处理器的启动地址之间的地址映射关系。

步骤616,所述智能网卡通过管理接口向基板管理控制器发送复位指令。

步骤618,所述基板管理控制器将所述复位指令转换为针对所述中央处理器的复位信号。

步骤620,所述中央处理器基于所述复位信号进行复位后,通过缓存一致性总线向所述智能网卡查找所述启动地址。

步骤622,在查找到所述启动地址的情况下,根据所述地址映射关系,确定所述启动地址对应的缓存地址。

步骤624,通过从所述缓存地址指向的所述目标缓存位置读取并执行所述程序代码的方式,启动所述中央处理器。

综上所述,本说明书提供一种启动方法,通过将存储于云存储中的待启动设备的bios的程序代码,加载至智能网卡的目标缓存位置,并建立目标缓存位置的缓存地址和cpu的启动地址之间的地址映射关系,使cpu通过其启动地址与缓存地址的地址映射关系,读取并执行bios的程序代码进行启动,实现了cpu在bios阶段的云启动,无需依赖本地的phc芯片以及flash芯片,并在需要增加裸金属服务器的cpu粒度的情况下,无需受限于主板设计以及pch数量,增加了针对待启动设备配置的灵活性,并降低了硬件成本。

本说明书提供的一种启动系统实施例如下:

与上述方法实施例相对应,本说明书还提供了一种启动系统实施例,图7示出了本说明书一个实施例提供的一种启动系统的结构示意图。如图7所示,该系统包括:

云存储702、智能网卡704以及中央处理器706;

其中,所述云存储702,被配置为存储所述基本输入输出系统的程序代码;

所述智能网卡704,被配置为基于接收的待启动设备的配置信息,确定与所述配置信息对应的基本输入输出系统的程序代码在所述云存储702中的存储地址,并根据所述存储地址,将所述程序代码加载至缓存中的目标缓存位置,建立所述目标缓存位置的缓存地址与所述待启动设备的所述中央处理器706的启动地址之间的地址映射关系,并发送针对所述中央处理器706的复位指令;

所述中央处理器706,被配置基于所述复位指令复位后,根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码。

可选的,所述中央处理器706,进一步被配置为:通过缓存一致性总线向所述智能网卡704查找所述启动地址;

在查找到所述启动地址的情况下,根据所述地址映射关系,确定所述启动地址对应的缓存地址;

通过从所述缓存地址指向的所述目标缓存位置读取并执行所述程序代码的方式,启动所述中央处理器706。

可选的,在所述中央处理器706为多个的情况下,所述中央处理器706,包括主中央处理器,以及至少一个从中央处理器;

相应的,所述中央处理器706,进一步被配置为:所述主中央处理器根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码;

所述从中央处理器根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码。

可选的,所述智能网卡704,还被配置为:根据所述配置信息,确定基本输入输出系统的版本信息;

基于所述版本信息,确定所述程序代码在所述云存储702中的所述存储地址。

可选的,所述智能网卡704,还被配置为:获取所述待启动设备配置的中央处理器706的型号信息;

确定所述型号信息对应的所述启动地址。

可选的,所述智能网卡704,进一步被配置为:通过管理接口向基板管理控制器发送所述复位指令;

相应的,所述中央处理器706,进一步被配置为:所述基板管理控制器将所述复位指令转换为针对所述中央处理器706的复位信号;

所述中央处理器706基于所述复位信号进行复位。

可选的,所述缓存一致性总线采用的缓存一致性总线协议包括:计算机快速链接协议。

上述为本说明书实施例为一种启动系统的示意性方案。需要说明的是,本说明书实施例是上述启动方法实施例对应的系统实施例,本说明书实施例提供的一种启动系统的技术方案未详细描述的细节内容,均可以参见上述启动方法的技术方案的描述。

本说明书提供的另一种启动系统实施例如下:

与上述方法实施例相对应,本说明书还提供了另一种启动系统实施例,图8示出了本说明书一个实施例提供的另一种启动系统的结构示意图。如图8所示,该系统包括:

客户端802、管控调度系统804、智能网卡806、云存储808以及中央处理器810;

其中,所述客户端802,被配置为接收用户的租用请求,所述租用请求中携带配置信息;

所述管控调度系统804,被配置为接收所述租用请求,并确定所述配置信息对应的待启动设备,将所述配置信息下发至所述待启动设备的智能网卡806中;

所述智能网卡806,被配置为基于接收的待启动设备的配置信息,确定与所述配置信息对应的基本输入输出系统的程序代码在云存储808中的存储地址,并根据所述存储地址,将所述程序代码加载至缓存中的目标缓存位置,建立所述目标缓存位置的缓存地址与所述待启动设备的中央处理器810的启动地址之间的地址映射关系,并发送针对所述中央处理器810的复位指令;

所述云存储808,被配置为存储所述基本输入输出系统的程序代码;

所述中央处理器810,被配置基于所述复位指令复位后,根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码。

上述为本说明书实施例为另一种启动系统的示意性方案。需要说明的是,本说明书实施例是上述启动方法实施例对应的系统实施例,本说明书实施例提供的另一种启动系统的技术方案未详细描述的细节内容,均可以参见上述启动方法的技术方案的描述。

本说明书提供的一种启动装置实施例如下:

与上述方法实施例相对应,本说明书还提供了启动装置实施例,图9示出了本说明书一个实施例提供的一种启动装置的示意图。如图9所示,该装置包括:

确定模块902,被配置为智能网卡基于接收的待启动设备的配置信息,确定与所述配置信息对应的基本输入输出系统的程序代码在云存储中的存储地址;

加载模块904,被配置为根据所述存储地址,所述智能网卡将所述程序代码加载至缓存中的目标缓存位置;

建立模块906,被配置为建立所述目标缓存位置的缓存地址与所述待启动设备的中央处理器的启动地址之间的地址映射关系,并发送针对所述中央处理器的复位指令;

启动模块908,被配置为所述中央处理器基于所述复位指令复位后,根据所述地址映射关系,从所述缓存地址指向的目标缓存位置读取并执行所述程序代码。

可选的,所述启动模块908,还被配置为:

查找子模块,被配置为所述中央处理器通过缓存一致性总线向所述智能网卡查找所述启动地址;

确定地址子模块,被配置为在查找到所述启动地址的情况下,根据所述地址映射关系,确定所述启动地址对应的缓存地址;

启动处理器子模块,被配置为通过从所述缓存地址指向的所述目标缓存位置读取并执行所述程序代码的方式,启动所述中央处理器。

可选的,在所述中央处理器为多个的情况下,所述中央处理器,包括主中央处理器,以及至少一个从中央处理器;

相应的,所述启动模块908,还被配置为:

启动主处理器子模块,被配置为所述主中央处理器根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码;

启动从处理器子模块,被配置为所述从中央处理器根据所述地址映射关系,从所述目标缓存位置读取并执行所述程序代码。

可选的,所述确定模块902,还被配置为:

确定信息子模块,被配置为根据所述配置信息,确定基本输入输出系统的版本信息;

确定存储地址子模块,被配置为基于所述版本信息,确定所述程序代码在所述云存储中的所述存储地址。

可选的,所述启动装置,还包括:

获取信息模块,被配置为获取所述中央处理器的型号信息;

确定启动地址模块,被配置为确定所述型号信息对应的所述中央处理器的启动地址。

可选的,所述发送针对所述中央处理器的复位指令,包括:

所述智能网卡通过管理接口向基板管理控制器发送所述复位指令;

相应的,所述中央处理器基于所述复位指令复位,包括:

所述基板管理控制器将所述复位指令转换为针对所述中央处理器的复位信号;

所述中央处理器基于所述复位信号进行复位。

可选的,所述缓存一致性总线采用的缓存一致性总线协议包括:计算机快速链接协议。

上述为本实施例的一种启动装置的示意性方案。需要说明的是,该启动装置的技术方案与上述的启动方法的技术方案属于同一构思,启动装置的技术方案未详细描述的细节内容,均可以参见上述启动方法的技术方案的描述。

本说明书提供的一种计算设备实施例如下:

图10示出了根据本说明书一个实施例提供的一种计算设备1000的结构框图。该计算设备1000的部件包括但不限于存储器1010和处理器1020。处理器1020与存储器1010通过总线1030相连接,数据库1050用于保存数据。

计算设备1000还包括接入设备1040,接入设备1040使得计算设备1000能够经由一个或多个网络1060通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备1040可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。

在本说明书的一个实施例中,计算设备1000的上述部件以及图10中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图10所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。

计算设备1000可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备1000还可以是移动式或静止式的服务器。

本说明书提供一种计算设备,包括存储器1010、处理器1020及存储在存储器上并可在处理器上运行的计算机指令,所述处理器1020用于执行如下计算机可执行指令:

智能网卡基于接收的待启动设备的配置信息,确定与所述配置信息对应的基本输入输出系统的程序代码在云存储中的存储地址;

根据所述存储地址,所述智能网卡将所述程序代码加载至缓存中的目标缓存位置;

建立所述目标缓存位置的缓存地址与所述待启动设备的中央处理器的启动地址之间的地址映射关系,并发送针对所述中央处理器的复位指令;

所述中央处理器基于所述复位指令复位后,根据所述地址映射关系,从所述缓存地址指向的目标缓存位置读取并执行所述程序代码启动。

上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的启动方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述启动方法的技术方案的描述。

本说明书提供的一种计算机可读存储介质实施例如下:

本说明书提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:

智能网卡基于接收的待启动设备的配置信息,确定与所述配置信息对应的基本输入输出系统的程序代码在云存储中的存储地址;

根据所述存储地址,所述智能网卡将所述程序代码加载至缓存中的目标缓存位置;

建立所述目标缓存位置的缓存地址与所述待启动设备的中央处理器的启动地址之间的地址映射关系,并发送针对所述中央处理器的复位指令;

所述中央处理器基于所述复位指令复位后,根据所述地址映射关系,从所述缓存地址指向的目标缓存位置读取并执行所述程序代码启动。

上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的启动方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述启动方法的技术方案的描述。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

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