CN116339838A - 服务器启动方法、装置、电子设备及存储介质 - Google Patents

服务器启动方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116339838A
CN116339838A CN202310209628.1A CN202310209628A CN116339838A CN 116339838 A CN116339838 A CN 116339838A CN 202310209628 A CN202310209628 A CN 202310209628A CN 116339838 A CN116339838 A CN 116339838A
Authority
CN
China
Prior art keywords
server
starting
starting mode
mode
hardware equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310209628.1A
Other languages
English (en)
Inventor
陈鹏
金立江
芦飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310209628.1A priority Critical patent/CN116339838A/zh
Publication of CN116339838A publication Critical patent/CN116339838A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种服务器启动方法、装置、电子设备及存储介质,涉及服务器技术领域,方法包括:确定服务器的启动模式,其中,启动模式至少包括第一启动模式和第二启动模式,服务器以第二启动模式启动时需加载的功能模块,包含服务器以第一启动模式启动时需加载的功能模块,加载启动模式所对应的功能模块,以完成服务器的启动。本申请实施例中,由于不同的启动模式分别定义了启动时需要加载的功能模块,因此可以通过确定服务器的启动模式,从而加载确定的启动模式对应的功能模块,无需每次启动时均加载服务器正常启动时对应的所有功能模块,进而有效减少了启动项,加快了启动速度,同时可以降低服务器的功耗。

Description

服务器启动方法、装置、电子设备及存储介质
技术领域
本申请涉及服务器技术领域,特别是涉及一种服务器启动方法、一种服务器启动装置、一种电子设备以及一种计算机非易失性可读存储介质。
背景技术
当前在服务器应用场景中,用户在升级固件,修改BIOS(Basic Input OutputSyste,基本输入输出系统)菜单,以及意外重启的时候,需要执行必要的热重启动作来使能对应功能。
然而,在服务器整个进行热重启过程需要加载很多功能/服务,导致重启过程过于漫长,影响工作效率。
申请内容
本申请实施例是提供一种服务器启动方法、装置、电子设备及存储介质,以解决服务器热重启过程需要加载很多功能/服务,导致重启过程过于漫长,影响工作效率的问题。
本申请实施例公开了一种服务器启动方法,应用于基本输入输出系统,所述方法包括:
确定所述服务器的启动模式;其中,所述启动模式至少包括第一启动模式和第二启动模式,所述服务器以所述第二启动模式启动时需加载的功能模块,包含所述服务器以所述第一启动模式启动时需加载的功能模块;
加载所述启动模式所对应的功能模块,以完成所述服务器的启动。
本申请的一些实施例中,所述方法还包括:
在所述服务器的启动过程中,在传递非驱逐模式非核心处理器初始化结束后启用中央处理器的高缓冲区,以通过所述高缓冲区预先缓存所述中央处理器即将访问的数据。
本申请的一些实施例中,所述方法还包括:
在所述基本输入输出系统的自检过程,启用双向串行接口以便中央处理器与非易失性存储介质进行数据交互。
本申请的一些实施例中,所述方法还包括:
在所述服务器的启动过程中,确定日志的输出等级;其中,在不同的所述输出等级下输出不同所述功能模块的日志信息;
输出与所述输出等级对应的日志信息。
本申请的一些实施例中,所述方法还包括:
在对硬件设备初始化的过程中,检测所述硬件设备是否发生变更;
若所述硬件设备未发生变更,则采用所述硬件设备的历史配置信息对所述硬件设备进行初始化;
若所述硬件设备发生变更,则获取所述硬件设备的新配置信息,采用所述新配置信息对所述硬件设备进行初始化。
本申请的一些实施例中,在所述获取所述硬件设备的新配置信息之后,所述方法还包括:
将所述新配置信息作为所述硬件设备的历史配置信息。
本申请的一些实施例中,所述方法还包括:
在所述基本输入输出系统的自检过程中,输出所述自检过程各个阶段所执行的时间长度。
本申请的一些实施例还公开了一种服务器启动装置,应用于基本输入输出系统,包括:
启动模式确定模块,用于确定所述服务器的启动模式;其中,所述启动模式至少包括第一启动模式和第二启动模式,所述服务器以所述第二启动模式启动时需加载的功能模块,包含所述服务器以所述第一启动模式启动时需加载的功能模块;
功能模块加载模块,用于加载所述启动模式所对应的功能模块,以完成所述服务器的启动。
本申请的一些实施例中,还包括:
缓冲区启用模块,用于在所述服务器的启动过程中,在传递非驱逐模式非核心处理器初始化结束后启用中央处理器的高缓冲区,以通过所述高缓冲区预先缓存所述中央处理器即将访问的数据。
本申请的一些实施例中,还包括:
双向串行接口启用模块,用于在所述基本输入输出系统的自检过程,启用双向串行接口以便中央处理器与非易失性存储介质进行数据交互。
本申请的一些实施例中,还包括:
输出等级确定模块,用于在所述服务器的启动过程中,确定日志的输出等级;其中,在不同的所述输出等级下输出不同所述功能模块的日志信息;
日志信息输出模块,用于输出与所述输出等级对应的日志信息。
本申请的一些实施例中,还包括:
设备变更确定模块,用于在对硬件设备初始化的过程中,检测所述硬件设备是否发生变更;
第一设备初始化模块,用于若所述硬件设备未发生变更,则采用所述硬件设备的历史配置信息对所述硬件设备进行初始化;
第二设备初始化模块,用于若所述硬件设备发生变更,则获取所述硬件设备的新配置信息,采用所述新配置信息对所述硬件设备进行初始化。
本申请的一些实施例中,还包括:
配置信息替换模块,用于将所述新配置信息作为所述硬件设备的历史配置信息。
本申请的一些实施例中,还包括:
时间长度输出模块,用于在所述基本输入输出系统的自检过程中,输出所述自检过程各个阶段所执行的时间长度。
本申请实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本申请实施例所述的方法。
本申请实施例还公开了一种计算机非易失性可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本申请实施例所述的方法。
本申请实施例包括以下优点:确定服务器的启动模式,因为不同的启动模式分别定义了启动时需要加载的功能模块,因此可以按照确定的启动模式,仅加载启动模式对应的功能模块,而无需每次启动时均加载服务器正常启动时对应的所有功能模块,因此有效减少了启动项,加快了启动速度,同时可以降低服务器的功耗。
附图说明
图1是本申请一些实施例中提供的一种服务器启动的原理流程示意图;
图2是本申请一些实施例中提供的一种BIOS post过程中的具体优化项的示意图;
图3是本申请一些实施例中提供的一种服务器启动方法的步骤流程图;
图4是本申请实施例公开的一种系统开始启动后的部分指令执行流程示意图;
图5是本申请一些实施例中提供的一种服务器启动装置的结构框图;
图6是本申请一些实施例中提供的一种电子设备的框图;
图7是本申请一些实施例中提供的一种计算机非易失性可读存储介质的框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请涉及server服务器用户可以在需要执行热重启的时候,以更短的时间重启进入系统,运行业务。
当前在服务器应用场景中,用户在升级固件,修改BIOS菜单,以及意外重启的时候,需要执行必要的热重启动作来使能对应功能,整个热重启过程需要加载很多服务,导致重启过程过于漫长,系统恢复使用场景耗时较长,这样就会影响到用户的业务连续性,影响工作效率和服务器使用的稳定性。
基于上述问题,本申请基于UEFI基本架构,支持服务器在进行热重启的时候,以满足基本服务需求为导向,缩短重启时间,使服务器在更短的时间内恢复业务运行。
参照图1,示出了本申请一些实施例中提供的一种服务器启动的原理流程示意图。具体基于system reset查看Cold reset vs warm reset,分析warm reset可优化项,即基于系统重启来对比热重启和冷重启之间的差异,分析热重启过程中可以优化的内容,以Intel whitely平台为例BIOS一般启动流程和时间消耗分析。服务器在启动(冷启动/热启动)的过程中,均需要经过NEM(Pre-PEI)、PEI、DXE和BDS阶段。其中,
1593ms:从开始启动到KTI(Keizer Technology Interconnect):Keizer技术互连总线触发重启。
FIT:Intel闪存修改工具;ACM:Authenticated Code Module认证代码模块;IBBverification:initial boot block初始引导块校验;
SEC:Security Phase安全验证阶段;NEM initialize:No eviction Mode非驱逐模式,就是有几MB空间的数据,是写保护的,不会被cache掉;
PEI:Basic core PEIMs PCD,HOB,Variables:最基本的核心PEI模块,平台配置变量,传递模块等变量;Boot Mode:启动模式;Normal Boot:正常启动;S3 resume:从睡眠模式3苏醒;UncoreInit:非核心处理器核心初始化;RC boot mode check:参考代码启动模式校验;KTI init:Keizer技术互连总线初始化;IIO init:集成I/O初始化;MRC:memoryreference code,内存参考代码;TCG measurement:信任模块测量;PEIMs:pei modules平台初始化早期模块;DxeIpl:驱动执行优先级顺序。
DXE:DxeCore:驱动执行环境核心。
参照图2,示出了本申请一些实施例中提供的一种BIOS post过程中的具体优化项的示意图。图2中为基于fast boot的原理,在冷启动和热启动对比的基础上确定出热启动在BIOS post过程中的可优化项,具体包括:SEC、uCodePatch load、Basic CPU lnit、PlatformEarly lnit、MRC、NEM Tear Down、Set MTRR for BIOS region WP、Post Mem、MPInit、Load uCode patch、TCG Measure ment、DXE Platform lnit、CPU MP Init、OptionROM和Boot Device Selection。另外,图2中的Microcode:微码Ucode Patch load:微码补丁加载;Pcie Enum and resource allocation:pcie轮询和资源分配。
基于上述确定出的可优化项,本申请在通过BIOS post基本原理的理解的基础上,提出优化BIOS post过程加载功能,减少不必要服务的重新加载,实现服务器缩短重启时间。具体基于UEFI基本原理,通过对重启加载服务的梳理,禁止一些非必要的功能服务加载,根据服务器配置自动优化某些功能服务的加载,通过对BIOS硬件配置协同加速,对一些影响开机速度的模块进行优化,通过以上具体功能的实现,协同实现服务器重启的快速启动,实现服务器业务更快运行。
参照图3,示出了本申请一些实施例中提供的一种服务器启动方法的步骤流程图,应用于基本输入输出系统,基本输入输出系统是一组固化到计算机内主板上一个ROM芯片上的程序,保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,为计算机提供最底层的、最直接的硬件设置以及控制的程序。所述方法包括:
步骤301:确定所述服务器的启动模式。
其中,启动模式至少包括第一启动模式和第二启动模式,服务器以第二启动模式启动时需加载的功能模块,包含服务器以第一启动模式启动时需加载的功能模块,例如以第一启动模式启动时服务器需要加载A、B、C这三个功能模块,而以第二启动模式启动时服务器需要加载A、B、C、D、E这五个功能模块,即服务器以第二启动模式启动时需加载的功能模块,包含服务器以第一启动模式启动时需加载的功能模块。
举例来说,可以预先设置服务器的第一启动模式和第二启动模式,以及在第一启动模式下启动时服务器需要加载的功能模块,在第一启动模式下为最简启动模式,只加载服务器启动必要的功能模块,而对于非必要的功能不进行加载,如VGA Display,Hotkey,Postinfo,USB,以及为进BIOS Setup提前初始化一些信息等功能模块,在硬件信息和配置没有变更的情况下,不需要初始化BIOS setup信息,Postinfo,也没有必要使用hotkey,VGA等,直接进入系统执行业务,并且服务器都有BMC(Baseboard Manager Controller,基板管理控制器)去管控,KVM或远程指令控制服务器运行,热重启过程中不需要加载以上功能去支持。
而第二启动模式下启动时服务器可以设置为加载必要和不必要的功能模块,但是不加载服务器上不适用的功能模块,如AMT,S3 sleep state,Audio等非服务器必须功能,服务器是数据处理优先,不需要audio支持,服务器需要长期稳定执行数据运算,不会有sleep state的需求,AMT在第一次开机就做好了,没有硬件改动情况下的重启不需要再次执行AMT,并且可以移除掉上述服务器不适用的功能模块。
在实现上,可以在fast boot的时候替换FV main执行程序,分两个fv main;一个是标准的,包含全功能模块/大部分功能模块FV main代码(即第二启动模式),一个是最小核版本,只提供最简BIOS开机服务,执行最简fv main服务(即第一启动模式)。
需要说明的是,除了预设第一启动模式和第二启动模式,还可以预设第三启动模式、第四启动模式等,如服务器以第三启动模式启动时需加载的功能模块,包含服务器以第二启动模式启动时需加载的功能模块,具体可以根据实际需要进行设置,本申请一些实施例中对此不加以限制。
具体地,在服务器启动或重启的初始阶段,可以监测用户/工作人员的输入指令,根据用户/工作人员的输入指令确定服务器的启动模式,例如用户/工作人员确定的启动模式可以为第一启动模式或第二启动模式,然后服务器以第一启动模式或第二启动模式进行重启。
步骤302:加载所述启动模式所对应的功能模块,以完成所述服务器的启动。
具体地,在根据用户/工作人员的输入指令确定服务器的启动模式之后,服务器基于该启动模式进行启动,加载启动模式所对应的功能模块。
举例来说,第一启动模式所对应的功能模块包括A、B和C,第二启动模块所对应的拱门模块为A、B、C、D、E和F,若根据用户/工作人员的输入指令确定服务器的启动模式为第一启动模式,那么以第一启动模式启动时加载A、B和C三个功能模块,不加载D、E和F等功能模块;若根据用户/工作人员的输入指令确定服务器的启动模式为第二启动模式,那么以第二启动模式启动时加载A、B、C、D、E和F功能模块。
需要说明的是,用户/工作人员的可以根据实际需求去确定服务器的启动模式,例如服务器处于工作状态突然异常,那么此时就需要快速实现服务器的热重启,那么用户/工作人员可以确定服务器的启动模式为第一启动模式,让服务器以最快的速度重启,提高工作效率;若服务器并非处于工作状态,接下来一段时间也没有工作任务,那么此时用户/工作人员可以确定服务器的启动模式为第二启动模式。
上述实施例中,确定服务器的启动模式,因为不同的启动模式分别定义了启动时需要加载的功能模块,因此可以按照确定的启动模式,仅加载启动模式对应的功能模块,而无需每次启动时均加载服务器正常启动时对应的所有功能模块,因此有效减少了启动项,加快了启动速度,让服务器可以快速恢复到使用场景的状态,同时可以降低服务器的功耗。
另外,用户/工作人员还可以根据使用场景确定启动模式,让服务器加载使用场景所需要的功能模块,实现在满足用户的使用需求的同时,缩短用户/工作人员等待开机的时间,提升使用体验。
在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
在本申请的一些实施例中,所述方法还包括:在所述服务器的启动过程中,在传递非驱逐模式非核心处理器初始化结束后启用中央处理器的高缓冲区,以通过所述高缓冲区预先缓存所述中央处理器即将访问的数据。
其中,传递非驱逐模式非核心处理器初始化为PostNemUncoreInit。
具体地,系统中包括有一储存BIOS程序的只读存储器(ROM),因此在服务器启动时,需要中央处理器(CPU)通过总线到只读存储器中找寻系统的BIOS程序,并读取该BIOS程序。然而中央处理器与只读存储器之间的数据传输过程缓慢,因此需要启用高缓冲区(Cache),将只读存储器中的数据提前有序地加载的高缓冲区中,使中央处理器直接可以在高缓冲区中读取到数据,从而提高中央处理器对BIOS数据的访问速度。而高缓冲区的启用最早在传递非驱逐模式非核心处理器初始化(PostNemUncoreInit)结束后,因此在MemoryDiscover后修改MTRR,在PostNemUncoreInit后使能cache,实现在最早的时间启用高缓冲区,以加快对BIOS数据的访问速度。
参照图4,示出了本申请实施例公开的一种系统开始启动后的部分指令执行流程示意图。图中,reset vector:重启向量;Switch to protect mode:切换到保护模式;enable MMCFG on local socket:在当前处理器中使能管理配置模式;Early uncoreinit:早期非核心处理器初始化(Early housekeeping早期管理);ConfigDfx()debuginterface MSR:配置DFX调试接口寄存器;EarlyChipsetInit:早期芯片组初始化;loadProcessorMircocode:加处理器微码;init LocalApicBase MSR 0x1B init MSR0x1A0:初始化电源管理寄存器基地址;PreNemUncoreInit:早期非驱逐模式非核心处理器初始化;ConfigDcuMode:配置Dcu模式;TxtInit:Trusted eXecution Technology可信执行技术初始化;PostNemUncoreInit:传递非驱逐模式非核心处理器初始化。在系统启动后执行第一条指令reset vector直至执行PostNemUncoreInit指令后,启动高缓冲区,即enablecache Point。
在本申请的一些实施例中,所述方法还包括:在所述基本输入输出系统的自检阶段,启用双向串行接口以便中央处理器与非易失性存储介质进行数据交互。
其中,双向串行接口即为quad mode,SPI(Serial Peripheral Interface,串行外设接口)mode包括single mode、dual mode和quad mode,single mode。
single mode意思是指使用单根数据线进行发送数据,单根数据线进行接收数据,即两个数据线,一根数据线发送数据,另一根数据线接收数据。dual mode意思是指使用两个数据线同时具有收发功能,但在同一时刻只能是发送或者是接收,这样就加倍了数据传输。quad mode意思是指使用四个数据线同时具有收发功能,但在同一时刻只能是发送或者是接收,这样quad mode数据传输对比常用的dual mode速度翻倍。
因此,在BIOS porting的时候需要设置SPI mode为Quad mode以及SPI频率为最大,使BIOS post交互数据能尽快通过SPI传输,以缩短服务器的启动速度。另外,SPI mode可以根据slave的最大IO mode在single\dual\quad之间自适应。
在本申请的一些实施例中,所述方法还包括:在启动过程中,确定日志的输出等级;其中,在不同的所述输出等级下输出不同所述功能模块的日志信息,输出与所述输出等级对应的日志信息。
具体地,在量产BIOS版本中,需要使用BIOS串口收集数据,并不能直接用把BIOSdebug直接关掉,所以在打开BIOS debug mode的基础上,设置debug level分级,日志的输出等级分别可以是Disabled(禁用)、Minimum(最小值)、Normal(正常)、Maximum(最大值)。
Disabled,指关闭DEBUG日志输出功能,可缩短BIOS执行时间,对启动时间有苛刻要求的客户可选择此种模式;Minimum,指DEBUG日志细化到异常处理接口,显示的信息包含:CPU型号/CPUID/Cores/Stepping/Microcode/RC version,DIMM info,PCIE TrainStatus Result,Option rom operation info,Boot Option info;用户既想要快速启动,又想要打印一些必要的信息时使用(该信息可根据客户需求定制);Normal,DEBUG日志细化到函数入口出口及异常处理接口,一般BIOS出现异常,收集系统BIOS post收集的信息时使用,默认打印CRB代码的debug信息,包括BIOS post过程中的所有入口函数及状态;Maximum,在Normal基础上,针对RAS\BOOT\MRC\资产信息\IPMI等重点模块,细化到函数每一个输出变量的逻辑判断上;在出现不知从何入手的bug时使用。
BIOS在启动阶段支持通过IPMI命令从BMC获取日志级别,并将日志级别更新到BIOS设置。在BIOS Setup下支持设置Debug日志级别,并将日志分级通过IPMI命令同步给BMC。
实际上debug level不同抓取的debug log不同,原理是不同的level对应的不同的debug函数(max是min+normal+一些特有的打印如ras,MRC)。
举例来说,可以在Setup(设置)下增加一个菜单System Debug Level,选项为Disabled(禁用)、Minimum(最小值)、Normal(正常)、Maximum(最大值),默认Disabled。
开机时,System Debug Level的设定以BMC(基板管理控制器)的IPMI(智能型平台管理接口)设定为准。Setup下修改System Debug Level之后,也会同步将设定值发送给BMC。
BIOS SDL中默认将Token DEBUG_MODE打开。
PEI阶段,发IPMI命令获取到System Debug Level设定值,若获取失败则获取setup设定,并保存到HOB中。
初始化PEI/DXE/Base Library,从HOB中获取当前设定,在GetDebugPrintErrorLevel时返回对应的值,Disabled时为0,Minimum时为0x84000146,Normal时为0x80000146,Maximum时为0x9C000146。
修改DebugPrintErrorLevelLib使得Disabled时不打印任何DEBUG信息。Minimum模式下,显示的信息包含:CPU型号/CPUID/Cores/Stepping/Microcode/RC version,DIMMinfo,PCIE Train Status Result,Option rom operation info,Boot Option info等。
Maximum模式下,默认将Serial Debug Message Level设定到Maximum,将Ras Loglevel设定到MAX。
上述实施例中,通过不同级别的日志输出等级用于满足不同级别的BIOS串口收集需求,不同级别的debug mode服务耗时差异很大,利用分级的方式从而优化了打开debugmode时耗时。
在本申请的一些实施例中,所述方法还包括:在对硬件设备初始化的过程中,检测所述硬件设备是否发生变更;若所述硬件设备未发生变更,则采用所述硬件设备的历史配置信息对所述硬件设备进行初始化;若所述硬件设备发生变更,则获取所述硬件设备的新配置信息,采用所述新配置信息对所述硬件设备进行初始化。
具体地,可以在BIOS内部定义一块内存区域,定义不同的区块用来存储BIOS在硬重启阶段收集起来的各种硬件(如pcie设备)的配置信息,BIOS设置信息,在BIOS启动的时候,不用再去轮询初始化硬件设备,在硬件训练接口处直接使用上次初始化存储起来的历史配置信息,在设备没有变动的前提下,直接使用上次的历史配置信息来替代重新的初始化,能加快POST进程,节省post时间。
若硬件设备发生变更,则重新去获取硬件设备的新配置信息,采用新配置信息对硬件设备进行初始化设置。
上述实施例中,将服务器首次或历史中启动时设备的配置信息进行存储,以便服务器后续启动时通过调用存储的配置信息对服务器的设备进行快速初始化,从而缩短服务器的启动时长,同时能够节省服务器启动过程中服务器的耗电量。
在本申请的一些实施例中,在所述获取所述硬件设备的新配置信息之后,所述方法还包括:将所述新配置信息作为所述硬件设备的历史配置信息。
具体地,在获取硬件设备的新配置信息之后,将新配置信息进行存储,并替代掉硬件设备的历史配置信息,以便后续服务器启动时直接使用新的配置信息对硬件设备进行快速初始化,缩短服务器的启动时长。
在本申请的一些实施例中,所述方法还包括:在基本输入输出系统的自检过程中,输出所述自检过程各个阶段所执行的时间长度。
具体地,在基本输入输出系统的自检过程中,记录并输出自检过程各个阶段所执行的时间长度,以便工作人对基于输出的时间长度对服务器的启动进行优化。
在本申请的一示例中,还可以在BIOS编译的时候根据实际需要设定FV Main的大小,可以在首次编译后确定FV Main最小占用size后,针对性地修改FV Mian,其所占用的空间越小,数据拷贝越快,节省Flash Copy的时间。
并且在Shadow Flahs的时候,可知设置shadow有数据的部分,无效数据区域不进行Copy,提高Copy数据的有效性,节省Flash Copy的时间。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图5,示出了本申请一些实施例中提供的一种服务器启动装置的结构框图,应用于基本输入输出系统,服务器启动装置包括:
启动模式确定模块501,用于确定所述服务器的启动模式;其中,所述启动模式至少包括第一启动模式和第二启动模式,所述服务器以所述第二启动模式启动时需加载的功能模块,包含所述服务器以所述第一启动模式启动时需加载的功能模块;
功能模块加载模块502,用于加载所述启动模式所对应的功能模块,以完成所述服务器的启动。
本申请的一些实施例中,还包括:
缓冲区启用模块,用于在所述服务器的启动过程中,在传递非驱逐模式非核心处理器初始化结束后启用中央处理器的高缓冲区,以通过所述高缓冲区预先缓存所述中央处理器即将访问的数据。
本申请的一些实施例中,还包括:
双向串行接口启用模块,用于在所述基本输入输出系统的自检过程,启用双向串行接口以便中央处理器与非易失性存储介质进行数据交互。
本申请的一些实施例中,还包括:
输出等级确定模块,用于在所述服务器的启动过程中,确定日志的输出等级;其中,在不同的所述输出等级下输出不同所述功能模块的日志信息;
日志信息输出模块,用于输出与所述输出等级对应的日志信息。
本申请的一些实施例中,还包括:
设备变更确定模块,用于在对硬件设备初始化的过程中,检测所述硬件设备是否发生变更;
第一设备初始化模块,用于若所述硬件设备未发生变更,则采用所述硬件设备的历史配置信息对所述硬件设备进行初始化;
第二设备初始化模块,用于若所述硬件设备发生变更,则获取所述硬件设备的新配置信息,采用所述新配置信息对所述硬件设备进行初始化。
本申请的一些实施例中,还包括:
配置信息替换模块,用于将所述新配置信息作为所述硬件设备的历史配置信息。
本申请的一些实施例中,还包括:
时间长度输出模块,用于在所述基本输入输出系统的自检过程中,输出所述自检过程各个阶段所执行的时间长度。
上述实施例中,确定服务器的启动模式,因为不同的启动模式分别定义了启动时需要加载的功能模块,因此可以按照确定的启动模式,仅加载启动模式对应的功能模块,而无需每次启动时均加载服务器正常启动时对应的所有功能模块,因此有效减少了启动项,加快了启动速度,让服务器可以快速恢复到使用场景的状态,同时可以降低服务器的功耗。
另外,用户/工作人员还可以根据使用场景确定启动模式,让服务器加载使用场景所需要的功能模块,实现在满足用户的使用需求的同时,缩短用户/工作人员等待开机的时间,提升使用体验。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本申请实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述数据获取方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供了一种计算机非易失性可读存储介质,计算机非易失性可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述数据获取方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机非易失性可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
图6为实现本申请各个实施例的一种电子设备的硬件结构示意图。
该电子设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、处理器610、以及电源611等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本申请一些实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本申请一些实施例中,射频单元601可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器610处理;另外,将上行的数据发送给基站。通常,射频单元601包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元601还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块602为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元603可以将射频单元601或网络模块602接收的或者在存储器609中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元603还可以提供与电子设备600执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元603包括扬声器、蜂鸣器以及受话器等。
输入单元604用于接收音频或视频信号。输入单元604可以包括图形处理器(Graphics Processing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元606上。经图形处理器6041处理后的图像帧可以存储在存储器609(或其它存储介质)中或者经由射频单元601或网络模块602进行发送。麦克风6042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元601发送到移动通信基站的格式输出。
电子设备600还包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板6061的亮度,接近传感器可在电子设备600移动到耳边时,关闭显示面板6061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器605还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元606用于显示由用户输入的信息或提供给用户的信息。显示单元606可包括显示面板6061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板6061。
用户输入单元607可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板6071上或在触控面板6071附近的操作)。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器610,接收处理器610发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6071。除了触控面板6071,用户输入单元607还可以包括其他输入设备6072。具体地,其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板6071可覆盖在显示面板6061上,当触控面板6071检测到在其上或附近的触摸操作后,传送给处理器610以确定触摸事件的类型,随后处理器610根据触摸事件的类型在显示面板6061上提供相应的视觉输出。虽然在图6中,触控面板6071与显示面板6061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板6071与显示面板6061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元608为外部装置与电子设备600连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元607可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备600内的一个或多个元件或者可以用于在电子设备600和外部装置之间传输数据。
存储器609可用于存储软件程序以及各种数据。存储器609可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器609可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器610是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器609内的软件程序和/或模块,以及调用存储在存储器609内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器610可包括一个或多个处理单元;优选的,处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
电子设备600还可以包括给各个部件供电的电源611(比如电池),优选的,电源611可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备600包括一些未示出的功能模块,在此不再赘述。
本申请实施例还提供了一种计算机非易失性可读存储介质,如图7所示,所述计算机非易失性可读存储介质上存储有计算机程序701,所述计算机程序701被处理器执行时实现上述数据获取方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机非易失性可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,资源服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
本领域普通技术人员可以意识到,结合本申请一些实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,资源服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种服务器启动方法,其特征在于,应用于基本输入输出系统,所述方法包括:
确定所述服务器的启动模式;其中,所述启动模式至少包括第一启动模式和第二启动模式,所述服务器以所述第二启动模式启动时需加载的功能模块,包含所述服务器以所述第一启动模式启动时需加载的功能模块;
加载所述启动模式所对应的功能模块,以完成所述服务器的启动。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述服务器的启动过程中,在传递非驱逐模式非核心处理器初始化结束后启用中央处理器的高缓冲区,以通过所述高缓冲区预先缓存所述中央处理器即将访问的数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述基本输入输出系统的自检过程,启用双向串行接口以便中央处理器与非易失性存储介质进行数据交互。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述服务器的启动过程中,确定日志的输出等级;其中,在不同的所述输出等级下输出不同所述功能模块的日志信息;
输出与所述输出等级对应的日志信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对硬件设备初始化的过程中,检测所述硬件设备是否发生变更;
若所述硬件设备未发生变更,则采用所述硬件设备的历史配置信息对所述硬件设备进行初始化;
若所述硬件设备发生变更,则获取所述硬件设备的新配置信息,采用所述新配置信息对所述硬件设备进行初始化。
6.根据权利要求5所述的方法,其特征在于,在所述获取所述硬件设备的新配置信息之后,所述方法还包括:
将所述新配置信息作为所述硬件设备的历史配置信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述基本输入输出系统的自检过程中,输出所述自检过程各个阶段所执行的时间长度。
8.一种服务器启动装置,其特征在于,应用于基本输入输出系统,包括:
启动模式确定模块,用于确定所述服务器的启动模式;其中,所述启动模式至少包括第一启动模式和第二启动模式,所述服务器以所述第二启动模式启动时需加载的功能模块,包含所述服务器以所述第一启动模式启动时需加载的功能模块;
功能模块加载模块,用于加载所述启动模式所对应的功能模块,以完成所述服务器的启动。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1-7任一项所述的方法。
10.一种计算机非易失性可读存储介质,其特征在于,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7任一项所述的方法。
CN202310209628.1A 2023-03-07 2023-03-07 服务器启动方法、装置、电子设备及存储介质 Pending CN116339838A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310209628.1A CN116339838A (zh) 2023-03-07 2023-03-07 服务器启动方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310209628.1A CN116339838A (zh) 2023-03-07 2023-03-07 服务器启动方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116339838A true CN116339838A (zh) 2023-06-27

Family

ID=86888677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310209628.1A Pending CN116339838A (zh) 2023-03-07 2023-03-07 服务器启动方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116339838A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116954760A (zh) * 2023-09-20 2023-10-27 无锡宏创盛安科技有限公司 一种uefi智能启动的方法
CN117149292A (zh) * 2023-10-30 2023-12-01 苏州元脑智能科技有限公司 电子设备的启动方法、装置、服务器、计算机设备及介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116954760A (zh) * 2023-09-20 2023-10-27 无锡宏创盛安科技有限公司 一种uefi智能启动的方法
CN116954760B (zh) * 2023-09-20 2023-12-15 无锡宏创盛安科技有限公司 一种uefi智能启动的方法
CN117149292A (zh) * 2023-10-30 2023-12-01 苏州元脑智能科技有限公司 电子设备的启动方法、装置、服务器、计算机设备及介质
CN117149292B (zh) * 2023-10-30 2024-02-09 苏州元脑智能科技有限公司 电子设备的启动方法、装置、服务器、计算机设备及介质

Similar Documents

Publication Publication Date Title
CN107276789B (zh) 日志上传方法、装置及计算机可读存储介质
US20180247065A1 (en) Operating method of electronic device for function execution based on voice command in locked state and electronic device supporting the same
US10241617B2 (en) Apparatus and method for obtaining coordinate through touch panel thereof
US9848072B2 (en) Electronic device monitoring method and apparatus
CN116339838A (zh) 服务器启动方法、装置、电子设备及存储介质
KR101332815B1 (ko) 휴대용 단말을 위한 재부팅 처리 장치 및 방법
CN112055424B (zh) 电子装置以及切换电子装置的方法
EP3208722B1 (en) Data transceiving method and device
CN110764825B (zh) 一种开机方法及终端设备
US20130086372A1 (en) Information processing apparatus and boot control method
WO2018111039A1 (en) Method for charging electronic device, electronic device, and storage medium
US20170078269A1 (en) Method for managing application and electronic device supporting the same
CN117806857B (zh) 故障定位信息生成方法、装置、电子设备及存储介质
CN107861827B (zh) 卡屏检测方法、移动终端及计算机可读存储介质
EP3926466A1 (en) Electronic device which prefetches application and method therefor
US11507384B2 (en) Electronic device for performing booting, and operating method therefor
CN116679967A (zh) 一种基本输入输出系统固件升级方法和装置
CN117150478A (zh) 一种基于片上系统的信任根、芯片以及数据校验方法
CN111078312A (zh) 一种加载mbn的方法及电子设备
EP3220332A1 (en) Method of processing card operating information and electronic device supporting the same
CN113420283A (zh) 移动终端的开机启动方法、装置、存储介质及移动终端
CN107844382B (zh) 卡屏检测方法、移动终端及计算机可读存储介质
CN107766089B (zh) 一种系统启动的方法和装置
CN113747043A (zh) 图像处理器启动方法、电子设备和存储介质
CN112202952B (zh) 移动终端测试方法、装置、存储介质及移动终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination