CN115794690A - 一种基于服务器中外接设备的处理方法及装置 - Google Patents
一种基于服务器中外接设备的处理方法及装置 Download PDFInfo
- Publication number
- CN115794690A CN115794690A CN202211676885.8A CN202211676885A CN115794690A CN 115794690 A CN115794690 A CN 115794690A CN 202211676885 A CN202211676885 A CN 202211676885A CN 115794690 A CN115794690 A CN 115794690A
- Authority
- CN
- China
- Prior art keywords
- data space
- server
- mode
- external devices
- determining
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 49
- 238000004590 computer program Methods 0.000 claims description 18
- 230000002093 peripheral effect Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100247669 Quaranfil virus (isolate QrfV/Tick/Afghanistan/EG_T_377/1968) PB1 gene Proteins 0.000 description 1
- 101150025928 Segment-1 gene Proteins 0.000 description 1
- 101100242902 Thogoto virus (isolate SiAr 126) Segment 1 gene Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
本申请实施例提供了一种基于服务器中外接设备的处理方法及装置,该方法包括:在服务器接入至少两个外接设备的情况下,确定服务器针对至少两个外接设备配置的数据空间模式;在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式;其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址;在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机,实现了基于配置空间和运行模式的外界设备处理方法。
Description
技术领域
本申请涉及服务器领域,具体涉及一种基于服务器中外接设备的处理方法及装置。
背景技术
服务器系统中存在很多PCI(Peripheral Component Interconnect,一种局部总线的标准)设备、PCIe(Peripheral Component Interconnect express,一种高速串行计算机扩展总线标准)设备,这类外接设备为实现某些功能或者初始化寄存器,一般都内置有一固件程序,称之为PCI option rom(一种PCI/PCIe外接卡上自带的固件执行程序)。
当前,X86系统的程序运行模式可分为Legacy mode(传统计算机的运行模式)和UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口)mode,在Legacymode下PCI option rom简称为Legacy option rom。
在X86系统中的软件对PCI/PCIe设备进行读写时,存在两种访问方式:基于I/O(输入输出)中的16进制地址CF8和CFC进行访问、通过ECAM(Enhanced Configuration AccessMechanism,增强的配置存取机制)映射到内存地址空间进行访问,在Legacy PCI optionrom对PCI/PCIe设备进行读写定位时,由于受到部分限制,只能使用第一种访问方式,而第一种访问方式最大只能支持256个BUS(计算机系统的总线),即只能支持单SEGMENT(数据文件空间)模式,无法支持多SEGMENT模式。
在X86系统的多CPU服务器平台中,PCIE设备有时会超过256个,需要使用多SEGMENT模式,一般将一个CPU划分为一个segment,即CPU0划分为segment0、CPU1划分为segment1,所以,每个CPU的外接卡的bus/device/function地址会有重复,因此,在Legacymode下,BIOS(Basic Input Output System,基本输入输出系统)调用CPU1的外接卡上的Legacy PCI option rom时,无法确认访问的外接卡是CPU0还是CPU1上的外节卡,而导致出错。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于服务器中外接设备的处理方法及装置。
为了解决上述问题,本申请实施例公开了一种基于服务器中外接设备的处理方法,该方法包括:
在服务器接入至少两个外接设备的情况下,确定服务器针对至少两个外接设备配置的数据空间模式;
在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式;其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址;
在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机。
可选的,确定服务器针对至少两个外接设备配置的数据空间模式包括:
获取服务器针对至少两个外接设备配置的配置空间值;
根据配置空间值,确定服务器针对至少两个外接设备配置的数据空间模式。
可选的,根据配置空间值,确定服务器针对至少两个外接设备配置的数据空间模式包括:
当配置空间值大于预设数值时,则确定服务器针对至少两个外接设备配置的数据空间模式为多数据空间模式;
当配置空间值小于预设数值时,则确定服务器针对至少两个外接设备配置的数据空间模式为单数据空间模式。
可选的,在确定服务器针对至少两个外接设备配置的数据空间模式之后,该方法还包括:
在数据空间模式为单数据空间模式的情况下,运行固件程序。
可选的,在确定服务器针对至少两个外接设备中固件程序配置的运行模式之后,该方法还包括:
在运行模式为非指定运行模式的情况下,跳过运行固件程序。
可选的,在分别确定用于处理至少两个外接设备中固件程序的CPU信息之后,该方法还包括:
在CPU信息指示当前CPU为非指定CPU的情况下,运行固件程序。
可选的,在确定服务器针对至少两个外接设备配置的数据空间模式之前,该方法还包括:
预加载固件程序。
本申请实施例还公开了一种基于服务器中外接设备的处理装置,该装置包括:
数据空间模式判断模块,用于在服务器接入至少两个外接设备的情况下,确定服务器针对至少两个外接设备配置的数据空间模式;
运行模式判断模块,用于在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式;其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址;
CPU信息确定模块,用于在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机。
本申请实施例还公开了一种电子设备,其特征在于,包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上述的基于服务器中外接设备的处理方法。
本申请实施例还公开了一种非易失性可读存储介质,其特征在于,非易失性可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上述的基于服务器中外接设备的处理方法。
本申请实施例包括以下优点:
在本申请实施例中,通过在服务器接入至少两个外接设备的情况下,确定服务器针对至少两个外接设备配置的数据空间模式,在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式,其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址,在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机,实现了基于配置空间和运行模式的外界设备处理方法,避免了在多数据空间模式下运行固件程序因外接设备地址访问错误而引起的服务器宕机,且无需提供额外的硬件设备,也不需要占用系统资源,大大提高了服务器系统的可维护性。
附图说明
图1是本申请的一种基于服务器中外接设备的处理方法实施例的步骤流程图;
图2是本申请的另一种基于服务器中外接设备的处理方法实施例的步骤流程图;
图3是本申请的另一种基于服务器中外接设备的处理方法实施例的步骤流程图;
图4是本申请的另一种基于服务器中外接设备的处理方法实施例的步骤流程图;
图5是本申请的基于服务器中外接设备的处理方法实施例的流程示意图;
图6是本申请的一种基于服务器中外接设备的处理装置实施例的结构框图;
图7是本申请一实施例提供的一种电子设备的结构框图;
图8是本申请一实施例提供的一种非易失性可读存储介质的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出本申请的一种基于服务器中外接设备的处理方法实施例的步骤流程图,该方法可以包括如下步骤:
步骤101、在服务器接入至少两个外接设备的情况下,确定服务器针对至少两个外接设备配置的数据空间模式。
在启动服务器的BIOS时,若服务器已接入至少两个外接设备,则对服务器针对至少两个外接设备配置的数据空间模式进行确定。
在本申请一些实施例中,在步骤101中的确定服务器针对至少两个外接设备配置的数据空间模式之前,该方法还可以包括如下步骤:
预加载固件程序。
由于服务器已接入至少两个外接设备,在启动服务器的BIOS时,则会对接入的外接设备中的固件程序进行预加载,从而在判定需要运行固件程序时无须重新进行加载。
在本申请一些实施例中,在步骤101之后,该方法还可以包括如下步骤:
在数据空间模式为单数据空间模式的情况下,运行固件程序。
若当前的数据空间模式为单数据空间模式,则外接设备均配置在同一数据空间中,相应地,也仅存在该数据空间的外接设备地址,运行固件程序并不会发生因外接设备地址访问错误而引起的服务器宕机,因此,判定需要运行固件程序。
步骤102、在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式;其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址。
若当前的数据空间模式为多数据空间模式,则需要进一步对服务器针对至少两个外接设备中固件程序配置的运行模式进行确定。
步骤103、在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机。
若当前的运行模式为指定运行模式,则需要分别确定用于处理至少两个外接设备中固件程序的CPU信息,从而确定CPU信息所指示的当前CPU
是否为指定CPU,若CPU信息指示当前CPU为指定CPU,仍继续运行固件5程序,则因为外接设备地址重复遍历而发生访问错误,因此需要跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机。
其中,指定运行模式是能够运行固件程序的运行模式;指定CPU是除首个运行的CPU以外的CPU。
在本申请实施例中,通过在服务器接入至少两个外接设备的情况下,确0定服务器针对至少两个外接设备配置的数据空间模式,在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式,其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址,在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,5并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,
以避免由于外接设备地址访问错误而导致服务器宕机,实现了基于配置空间和运行模式的外界设备处理方法,避免了在多数据空间模式下运行固件程序因外接设备地址访问错误而引起的服务器宕机,且无需提供额外的硬件设备,也不需要占用系统资源,大大提高了服务器系统的可维护性。
0参照图2,示出本申请的另一种基于服务器中外接设备的处理方法实施例的步骤流程图,该方法可以包括如下步骤:
步骤201、在服务器接入至少两个外接设备的情况下,获取服务器针对至少两个外接设备配置的配置空间值。
在启动服务器的BIOS时,若服务器已接入至少两个外接设备,则,获5取服务器针对至少两个外接设备配置的配置空间值,以确定服务器针对至少
两个外接设备配置的数据空间模式。
在本申请一些实施例中,在步骤201中的确定服务器针对至少两个外接设备配置的数据空间模式之前,该方法还可以包括如下步骤:
预加载固件程序。
由于服务器已接入至少两个外接设备,在启动服务器的BIOS时,则会对接入的外接设备中的固件程序进行预加载,从而在判定需要运行固件程序时无须重新进行加载。
在本申请一些实施例中,步骤201中的获取服务器针对至少两个外接设备配置的配置空间值可以包括如下子步骤:
子步骤11、对至少两个外接设备进行扫描,得到扫描结果。
在启动服务器的BIOS时,对至少两个外接设备进行扫描,从而获得针对外接设备的扫描结果。
子步骤12、根据扫描结果,确定服务器针对至少两个外接设备配置的配置空间值。
在获得扫描结果后,由于扫描结果包括有外接设备的配置信息,因此,可以根据扫描结果,确定服务器针对至少两个外接设备配置的配置空间值。
步骤202、根据配置空间值,确定服务器针对至少两个外接设备配置的数据空间模式。
通过对配置空间值进行分析,可以确定服务器针对至少两个外接设备配置的数据空间模式。
在本申请一些实施例中,步骤202可以包括如下子步骤:
子步骤21、当配置空间值大于预设数值时,则确定服务器针对至少两个外接设备配置的数据空间模式为多数据空间模式。
预设数值为一个数据空间所占的最大内存值,则当配置空间值大于预设数值时,可以确定当前的数据空间超过一个,从而确定服务器针对至少两个外接设备配置的数据空间模式为多数据空间模式。
子步骤22、当配置空间值小于预设数值时,则确定服务器针对至少两个外接设备配置的数据空间模式为单数据空间模式。
预设数值为一个数据空间所占的最大内存值,则当配置空间值小于预设数值时,可以确定当前的数据空间仅有一个,从而确定服务器针对至少两个外接设备配置的数据空间模式为单数据空间模式。
在本申请一些实施例中,在步骤202之后,该方法还可以包括如下步骤:
在数据空间模式为单数据空间模式的情况下,运行固件程序。
若当前的数据空间模式为单数据空间模式,则外接设备均配置在同一数据空间中,相应地,也仅存在该数据空间的外接设备地址,运行固件程序并不会发生因外接设备地址访问错误而引起的服务器宕机,因此,判定需要运行固件程序。
在本申请一些实施例中,预设数值可以为256M。
步骤203、在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式;其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址。
若当前的数据空间模式为多数据空间模式,则需要进一步对服务器针对至少两个外接设备中固件程序配置的运行模式进行确定。
步骤204、在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机。
若当前的运行模式为指定运行模式,则需要分别确定用于处理至少两个外接设备中固件程序的CPU信息,从而确定CPU信息所指示的当前CPU是否为指定CPU,若CPU信息指示当前CPU为指定CPU,仍继续运行固件程序,则因为外接设备地址重复遍历而发生访问错误,因此需要跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机。
其中,指定运行模式是能够运行固件程序的运行模式;指定CPU是除首个运行的CPU以外的CPU。
在本申请实施例中,通过在服务器接入至少两个外接设备的情况下,确定服务器针对至少两个外接设备配置的数据空间模式,在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式,其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址,在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机,实现了基于配置空间和运行模式的外界设备处理方法,避免了在多数据空间模式下运行固件程序因外接设备地址访问错误而引起的服务器宕机,且无需提供额外的硬件设备,也不需要占用系统资源,大大提高了服务器系统的可维护性。
参照图3,示出本申请的另一种基于服务器中外接设备的处理方法实施例的步骤流程图,该方法可以包括如下步骤:
步骤301、在服务器接入至少两个外接设备的情况下,确定服务器针对至少两个外接设备配置的数据空间模式。
在启动服务器的BIOS时,若服务器已接入至少两个外接设备,则对服务器针对至少两个外接设备配置的数据空间模式进行确定。
在本申请一些实施例中,在步骤301中的确定服务器针对至少两个外接设备配置的数据空间模式之前,该方法还可以包括如下步骤:
预加载固件程序。
由于服务器已接入至少两个外接设备,在启动服务器的BIOS时,则会对接入的外接设备中的固件程序进行预加载,从而在判定需要运行固件程序时无须重新进行加载。
在本申请一些实施例中,在步骤301之后,该方法还可以包括如下步骤:
在数据空间模式为单数据空间模式的情况下,运行固件程序。
若当前的数据空间模式为单数据空间模式,则外接设备均配置在同一数据空间中,相应地,也仅存在该数据空间的外接设备地址,运行固件程序并不会发生因外接设备地址访问错误而引起的服务器宕机,因此,判定需要运行固件程序。
步骤302、在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式;其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址。
若当前的数据空间模式为多数据空间模式,则需要进一步对服务器针对至少两个外接设备中固件程序配置的运行模式进行确定。
步骤303、在运行模式为非指定运行模式的情况下,跳过运行固件程序。
非指定运行模式是无须运行固件程序的运行模式,若当前的运行模式为非指定运行模式,则需要跳过运行固件程序。
步骤304、在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机。
若当前的运行模式为指定运行模式,则需要分别确定用于处理至少两个外接设备中固件程序的CPU信息,从而确定CPU信息所指示的当前CPU是否为指定CPU,若CPU信息指示当前CPU为指定CPU,仍继续运行固件程序,则因为外接设备地址重复遍历而发生访问错误,因此需要跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机。
其中,指定运行模式是能够运行固件程序的运行模式;指定CPU是除首个运行的CPU以外的CPU。
在本申请实施例中,通过在服务器接入至少两个外接设备的情况下,确定服务器针对至少两个外接设备配置的数据空间模式,在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式,其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址,在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机,实现了基于配置空间和运行模式的外界设备处理方法,避免了在多数据空间模式下运行固件程序因外接设备地址访问错误而引起的服务器宕机,且无需提供额外的硬件设备,也不需要占用系统资源,大大提高了服务器系统的可维护性。
参照图4,示出本申请的另一种基于服务器中外接设备的处理方法实施例的步骤流程图,该方法可以包括如下步骤:
步骤401、在服务器接入至少两个外接设备的情况下,确定服务器针对至少两个外接设备配置的数据空间模式。
在启动服务器的BIOS时,若服务器已接入至少两个外接设备,则对服务器针对至少两个外接设备配置的数据空间模式进行确定。
在本申请一些实施例中,在步骤401中的确定服务器针对至少两个外接设备配置的数据空间模式之前,该方法还可以包括如下步骤:
预加载固件程序。
由于服务器已接入至少两个外接设备,在启动服务器的BIOS时,则会对接入的外接设备中的固件程序进行预加载,从而在判定需要运行固件程序时无须重新进行加载。
在本申请一些实施例中,在步骤401之后,该方法还可以包括如下步骤:
在数据空间模式为单数据空间模式的情况下,运行固件程序。
若当前的数据空间模式为单数据空间模式,则外接设备均配置在同一数据空间中,相应地,也仅存在该数据空间的外接设备地址,运行固件程序并不会发生因外接设备地址访问错误而引起的服务器宕机,因此,判定需要运行固件程序。
步骤402、在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式;其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址。
若当前的数据空间模式为多数据空间模式,则需要进一步对服务器针对至少两个外接设备中固件程序配置的运行模式进行确定。
步骤403、在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机。
若当前的运行模式为指定运行模式,则需要分别确定用于处理至少两个外接设备中固件程序的CPU信息,从而确定CPU信息所指示的当前CPU是否为指定CPU,若CPU信息指示当前CPU为指定CPU,仍继续运行固件程序,则因为外接设备地址重复遍历而发生访问错误,因此需要跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机。
其中,指定运行模式是能够运行固件程序的运行模式;指定CPU是除首个运行的CPU以外的CPU。
步骤404、在CPU信息指示当前CPU为非指定CPU的情况下,运行固件程序。
非指定CPU是首个运行的CPU,所以在需要对外接设备地址进行遍历时,仅对首个运行的CPU对应的数据空间中外接设备地址进行访问,即可完成遍历,无须再对其他CPU对应的数据空间中外接设备地址进行访问,因此,若CPU信息指示当前CPU为非指定CPU,则可以运行固件程序。
在本申请实施例中,通过在服务器接入至少两个外接设备的情况下,确定服务器针对至少两个外接设备配置的数据空间模式,在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式,其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址,在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机,实现了基于配置空间和运行模式的外界设备处理方法,避免了在多数据空间模式下运行固件程序因外接设备地址访问错误而引起的服务器宕机,且无需提供额外的硬件设备,也不需要占用系统资源,大大提高了服务器系统的可维护性。
以下对上述的多个方法实施例所涉及的步骤流程进行说明:
如图5所示,本申请的基于服务器中外接设备的处理方法实施例可以包括如下的流程:
1)BIOS开机启动。
2)扫描外接PCIE卡设备(即外接设备),以获取扫描结果。
3)预备加载外接卡legacy option rom(即固件程序)。
4)根据扫描结果,判断PCI配置空间大小选项(即配置空间值)是否
大于256M,若是,则确定当前为多segment模式(即多数据空间模式),并5进一步确定启动模式(即服务器针对至少两个外接设备中固件程序配置的运
行模式),若否,则确定当前为单segment模式(即单数据空间模式),并执行该外接卡legacy option rom。
5)判断启动模式选择选项是否选择Legacy模式(即指定运行模式),
若是,则进一步判断当前外接卡是否为CPU1(即指定CPU)上接的卡,若0否,则跳过执行该外接卡legacy option rom。
6)判断当前外接卡是否为CPU1上接的卡,若是,则跳过执行该外接卡legacyoption rom,若否,则执行该外接卡legacy option rom。
7)执行完外接卡legacy option rom后,继续执行BIOS后续的其他代码。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系5列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图6,示出本申请实施例还公开了一种基于服务器中外接设备的处0理装置实施例的结构框图,该装置可以包括如下模块:
数据空间模式判断模块601,用于在服务器接入至少两个外接设备的情况下,确定服务器针对至少两个外接设备配置的数据空间模式。
在本申请一些实施例中,该装置还可以包括如下模块:
固件程序预加载模块,用于预加载固件程序。
5在本申请一些实施例中,数据空间模式判断模块601可以包括如下子模块:
配置空间值获取子模块,用于在服务器接入至少两个外接设备的情况下,获取服务器针对至少两个外接设备配置的配置空间值。
在本申请一些示例中,配置空间值获取子模块可以包括如下单元:
外接设备扫描单元,用于对至少两个外接设备进行扫描,得到扫描结果。
配置空间值确定单元,用于根据扫描结果,确定服务器针对至少两个外接设备配置的配置空间值。
数据空间判断子模块,用于根据配置空间值,确定服务器针对至少两个外接设备配置的数据空间模式。
在本申请一些示例中,数据空间判断子模块可以包括如下单元:
多数据空间模式确定单元,用于当配置空间值大于预设数值时,则确定服务器针对至少两个外接设备配置的数据空间模式为多数据空间模式。
单数据空间模式确定单元,用于当配置空间值小于预设数值时,则确定服务器针对至少两个外接设备配置的数据空间模式为单数据空间模式。
在本申请一些实施例中,该装置还可以包括如下模块:
单数据空间运行模块,用于在数据空间模式为单数据空间模式的情况下,运行固件程序。
运行模式判断模块602,用于在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式;其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址。
在本申请一些实施例中,该装置还可以包括如下模块:
非指定运行模式跳过模块,用于在运行模式为非指定运行模式的情况下,跳过运行固件程序。
CPU信息确定模块603,用于在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机。
在本申请一些实施例中,该装置还可以包括如下模块:
非指定CPU运行模块,用于在CPU信息指示当前CPU为非指定CPU的情况下,运行固件程序。
在本申请实施例中,通过在服务器接入至少两个外接设备的情况下,确定服务器针对至少两个外接设备配置的数据空间模式,在数据空间模式为多数据空间模式的情况下,确定服务器针对至少两个外接设备中固件程序配置的运行模式,其中,在多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址,在运行模式为指定运行模式的情况下,分别确定用于处理至少两个外接设备中固件程序的CPU信息,并在CPU信息指示当前CPU为指定CPU的情况下,跳过运行固件程序,以避免由于外接设备地址访问错误而导致服务器宕机,实现了基于配置空间和运行模式的外界设备处理方法,避免了在多数据空间模式下运行固件程序因外接设备地址访问错误而引起的服务器宕机,且无需提供额外的硬件设备,也不需要占用系统资源,大大提高了服务器系统的可维护性。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请一实施例还提供了一种电子设备,如图7,可以包括处理701、存储器702及存储在存储器702上并能够在处理器701上运行的计算机程序,计算机程序被处理器701执行时实现如上述的基于服务器中外接设备的处理方法。
本申请一实施例还提供了一种非易失性可读存储介质,如图8,非易失性可读存储介800上存储计算机程序,计算机程序被处理器执行时实现如上述的基于服务器中外接设备的处理方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种基于服务器中外接设备的处理方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于服务器中外接设备的处理方法,其特征在于,所述方法包括:
在所述服务器接入至少两个外接设备的情况下,确定所述服务器针对所述至少两个外接设备配置的数据空间模式;
在所述数据空间模式为多数据空间模式的情况下,确定所述服务器针对所述至少两个外接设备中固件程序配置的运行模式;其中,在所述多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址;
在所述运行模式为指定运行模式的情况下,分别确定用于处理所述至少两个外接设备中固件程序的CPU信息,并在所述CPU信息指示当前CPU为指定CPU的情况下,跳过运行所述固件程序,以避免由于外接设备地址访问错误而导致所述服务器宕机。
2.根据权利要求1所述的方法,其特征在于,所述确定所述服务器针对所述至少两个外接设备配置的数据空间模式包括:
获取所述服务器针对所述至少两个外接设备配置的配置空间值;
根据所述配置空间值,确定所述服务器针对所述至少两个外接设备配置的数据空间模式。
3.根据权利要求2所述的方法,其特征在于,所述根据所述配置空间值,确定所述服务器针对所述至少两个外接设备配置的数据空间模式包括:
当所述配置空间值大于预设数值时,则确定所述服务器针对所述至少两个外接设备配置的数据空间模式为多数据空间模式;
当所述配置空间值小于预设数值时,则确定所述服务器针对所述至少两个外接设备配置的数据空间模式为单数据空间模式。
4.据权利要求1或3所述的方法,其特征在于,在所述确定所述服务器针对所述至少两个外接设备配置的数据空间模式之后,所述方法还包括:
在所述数据空间模式为单数据空间模式的情况下,运行所述固件程序。
5.根据权利要求1所述的方法,其特征在于,在所述确定所述服务器针对所述至少两个外接设备中固件程序配置的运行模式之后,所述方法还包括:
在所述运行模式为非指定运行模式的情况下,跳过运行所述固件程序。
6.根据权利要求1所述的方法,其特征在于,在所述分别确定用于处理所述至少两个外接设备中固件程序的CPU信息之后,所述方法还包括:
在所述CPU信息指示当前CPU为非指定CPU的情况下,运行所述固件程序。
7.根据权利要求1所述的方法,其特征在于,在所述确定所述服务器针对所述至少两个外接设备配置的数据空间模式之前,所述方法还包括:
预加载所述固件程序。
8.一种基于服务器中外接设备的处理装置,其特征在于,所述装置包括:
数据空间模式判断模块,用于在所述服务器接入至少两个外接设备的情况下,确定所述服务器针对所述至少两个外接设备配置的数据空间模式;
运行模式判断模块,用于在所述数据空间模式为多数据空间模式的情况下,确定所述服务器针对所述至少两个外接设备中固件程序配置的运行模式;其中,在所述多数据空间模式下,每个外接设备配置有一个数据空间,每个数据空间中存在相同的外接设备地址;
CPU信息确定模块,用于在所述运行模式为指定运行模式的情况下,分别确定用于处理所述至少两个外接设备中固件程序的CPU信息,并在所述CPU信息指示当前CPU为指定CPU的情况下,跳过运行所述固件程序,以避免由于外接设备地址访问错误而导致所述服务器宕机。
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一所述的方法。
10.一种非易失性可读存储介质,其特征在于,所述非易失性可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211676885.8A CN115794690A (zh) | 2022-12-26 | 2022-12-26 | 一种基于服务器中外接设备的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211676885.8A CN115794690A (zh) | 2022-12-26 | 2022-12-26 | 一种基于服务器中外接设备的处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115794690A true CN115794690A (zh) | 2023-03-14 |
Family
ID=85426811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211676885.8A Pending CN115794690A (zh) | 2022-12-26 | 2022-12-26 | 一种基于服务器中外接设备的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794690A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117311832A (zh) * | 2023-11-29 | 2023-12-29 | 苏州元脑智能科技有限公司 | Pcie设备启动模式的展示方法、装置、设备及介质 |
-
2022
- 2022-12-26 CN CN202211676885.8A patent/CN115794690A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117311832A (zh) * | 2023-11-29 | 2023-12-29 | 苏州元脑智能科技有限公司 | Pcie设备启动模式的展示方法、装置、设备及介质 |
CN117311832B (zh) * | 2023-11-29 | 2024-02-20 | 苏州元脑智能科技有限公司 | Pcie设备启动模式的展示方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782339B (zh) | 一种容器创建方法、装置、电子设备及存储介质 | |
CN110928802A (zh) | 基于自动生成用例的测试方法、装置、设备及存储介质 | |
CN111049889B (zh) | 一种静态资源上传方法、装置、集成服务器和系统 | |
CN106339458B (zh) | 一种基于弹性分布式数据集的Stage划分方法和终端 | |
CN115794690A (zh) | 一种基于服务器中外接设备的处理方法及装置 | |
US20190149571A1 (en) | Method and device for repairing page vulnerability | |
CN106708569B (zh) | 一种跨线列车中vobc配置文件的热加载方法及装置 | |
CN110968339B (zh) | 前端构建工具的方法、装置以及电子设备 | |
CN116700809A (zh) | 服务器预启动功能自适应支持方法、装置 | |
CN108062224B (zh) | 基于文件句柄的数据读写方法、装置及计算设备 | |
CN111324373A (zh) | 多个工程文件上传代码仓库的方法及装置、计算设备 | |
CN114442930A (zh) | 组磁盘阵列的控制方法、装置、电子设备及可读存储介质 | |
US8095784B2 (en) | Computer system and method for activating basic program therein | |
CN114510375A (zh) | 一种Flash芯片数据区域动态共享系统及方法 | |
CN110716836A (zh) | 基于dos的ssd测试方法、装置、计算机设备及存储介质 | |
CN110928753A (zh) | 浏览器控制台日志输出的控制方法、装置、计算机设备及计算机可读存储介质 | |
CN113127281B (zh) | 一种aspm测试方法、系统、设备以及存储介质 | |
WO2021250898A1 (ja) | 情報処理装置、情報処理方法およびプログラム | |
CN117407299B (zh) | 模型测试方法和系统 | |
CN112783562B (zh) | 一种显示设备选择方法和装置 | |
CN112597717B (zh) | Ip核验证方法、装置及电子设备 | |
CN108664293B (zh) | 安卓系统中的应用控制方法和装置 | |
CN109377177B (zh) | 流程处理方法、装置、设备和计算机可读存储介质 | |
CN108170463B (zh) | 一种安卓设备的出厂设置方法和装置 | |
CN110737488A (zh) | 基于MIPS平台打印嵌入式Linux应用程序backtrace的方法、装置及设备 |
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 |