CN116467121A - 设备扫描纠错方法、装置、计算机设备和存储介质 - Google Patents
设备扫描纠错方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116467121A CN116467121A CN202310357447.3A CN202310357447A CN116467121A CN 116467121 A CN116467121 A CN 116467121A CN 202310357447 A CN202310357447 A CN 202310357447A CN 116467121 A CN116467121 A CN 116467121A
- Authority
- CN
- China
- Prior art keywords
- node
- equipment
- target
- configuration
- redundant
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012937 correction Methods 0.000 title claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 27
- 238000001514 detection method Methods 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000013468 resource allocation Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000010410 layer Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000007488 abnormal function Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 239000002346 layers by function Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请涉及一种设备扫描纠错方法、装置、计算机设备和存储介质。所述方法包括:检测设备链路上的目标设备节点;确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源;将所述第二配置资源分配至所述目标设备节点。采用本方法能够解决相关技术中存在的未扫描扫PCIe设备引发的系统重启问题,提高系统运行的稳定性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种设备扫描纠错方法、装置、计算机设备和存储介质。
背景技术
Linux系统启动后会在BIOS阶段进行PCIe设备扫描,资源分配。在系统内核启动后,会根据BIOS的扫描结果初始化PCIe设备。所以如果出现有设备偶现异常,BIOS没有扫描到,系统内核启动后,枚举到这个设备时,也无法分配资源,此时只能通过Linux系统的整机重启实现PCIe设备的正常工作。
相关技术中,当目标PCIe端口是故障恢复端口时,对PCIe数据传输系统进行PCIe扫描,为目标PCIe端口所在PCIe设备分配系统资源、该方案的缺陷在于,通过热插拔技术对PCIe设备进行扫描,即通过rescan对PCIe设备进行扫描,虽然有可能在二次扫描中发现PCIe设备,但这个过程中不会对PCIe设备进行资源分配,而在Linux系统内核启动后,没有经过资源分配的PCIe设备是无法使用的,要应用该PCIe设备,必须进行系统重启。
针对相关技术中存在的未扫描到PCIe设备引发的系统重启问题,目前尚未出现有效的解决方案。
发明内容
基于此,有必要针对上述技术问题,提供一种能够解决未扫描到PCIe设备导致的系统重启问题的设备扫描纠错方法、装置、计算机设备和可读介质。
第一方面,本申请提供了一种设备扫描纠错方法。所述方法包括:
检测设备链路上的目标设备节点;
确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源;
将所述第二配置资源分配至所述目标设备节点。
在其中的一个实施例中,所述检测设备链路上的目标设备节点包括:通过基本输入输出扫描进行设备枚举,确定设备链路;检测所述设备链路是否存在所述目标设备节点,若否,则对所述目标设备节点的第一父节点进行复位并再次训练所述设备链路,直至检测到所述目标设备节点。
在其中的一个实施例中,所述确定所述目标设备节点是否存在第一配置资源包括:获取所述目标设备节点的第一配置空间内的第一寄存器信息;若所述第一寄存器信息与第一预设数据匹配,则所述目标设备节点缺少所述第一配置资源。
在其中的一个实施例中,所述获取所述冗余设备节点的第二配置资源之前包括:获取所述冗余设备节点的第二配置空间内的第二寄存器信息;若所述第二寄存器信息与第二预设数据匹配,则所述冗余设备节点存在第二配置资源。
在其中的一个实施例中,所述将所述第二配置资源分配至所述目标设备节点包括:将所述目标设备节点的第一寄存器信息替换为所述冗余设备节点的第二寄存器信息;并将所述第二寄存器信息替换为第一预设数据,所述第一预设数据用于标识当前设备节点缺少配置资源。
在其中的一个实施例中,所述将所述第二配置资源分配至所述目标设备节点还包括:获取所述目标设备节点的第一父节点信息以及所述冗余设备节点的第二父节点信息;基于所述第二父节点信息替换所述目标设备节点的第一父节点信息。
第二方面,本申请还提供了一种设备扫描纠错装置。所述装置包括:
扫描模块,用于检测设备链路上的目标设备节点;
检测模块,用于确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源;
分配模块,用于将所述第二配置资源分配至所述目标设备节点。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
检测设备链路上的目标设备节点;
确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源;
将所述第二配置资源分配至所述目标设备节点。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
检测设备链路上的目标设备节点;
确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源;
将所述第二配置资源分配至所述目标设备节点。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
检测设备链路上的目标设备节点;
确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源;
将所述第二配置资源分配至所述目标设备节点。
上述设备扫描纠错方法、装置、计算机设备和存储介质,通过检测设备链路上的目标设备节点;确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源;将所述第二配置资源分配至所述目标设备节点。解决了相关技术中存在的未扫描扫PCIe设备引发的系统重启问题,提高了系统运行的稳定性。
附图说明
图1为一个实施例中设备扫描纠错方法的应用环境图;
图2为一个实施例中设备扫描纠错方法的流程示意图;
图3为一个实施例中的PCIe系统的拓扑示意图;
图4为一个实施例中Switch的结构示意图;
图5为另一个实施例中的设备扫描纠错方法的流程示意图;
图6为另一个实施例中的数据处理系统的结构示意图;
图7为一个实施例中设备扫描纠错装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的设备扫描纠错方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种设备扫描纠错方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S201,检测设备链路上的目标设备节点。
具体地,设备链路是指,设备连接过程中形成的,多个设备之间的关系。优选的,该设备链路为PCIe设备链路。PCIe,也记作PCI-Express,英文全称是peripheral componentinterconnect express,是一种高速串行计算机扩展总线标准。PCI总线是一种树型结构,并且独立于CPU总线,可以和CPU总线并行操作;PCI总线上可以挂接PCI设备和PCI桥片,PCI总线上只允许有一个PCI主设备,其他的均为PCI从设备,而且读写操作只能在主从设备之间进行,从设备之间的数据交换需要通过主设备中转。系统通过枚举过程,会根据识别到的PCIe设备生成PCIe设备链路。在系统启动时,通过枚举过程得到设备链路。在设备链路中,每个PCIe设备分别作为一个节点。现有技术中,PCIe设备的配置空间内设置有身份标识。例如设备ID或供应商ID。供应商ID也称为Vendor ID,是为设备生产商设计的标识,通过该身份标识可确定目标设备节点是否出现在设备链路中。例如,若检测到某个PCIe设备的Vendor ID为0xff,则说明未检测到该PCIe设备。
步骤S202,确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源。
具体地,若设备链路中发现了目标设备节点,可通过检测目标设备节点的配置空间内的寄存器信息,检测目标设备节点是否已经完成资源分配。进行第一配置资源检测的原因是,若PCIe设备在BIOS扫描阶段未进行资源分配,则在不重启系统的条件下,该PCIe设备无法使用。若检测到目标设备节点存在资源缺失的问题,则检测系统中预先设置的冗余设备节点,获取冗余设备节点中的配置资源。在本申请实施例中,如目标设备节点与目标PCIe设备相对应的,冗余设备节点与冗余PCIe设备相对应。冗余设备与目标设备的设备类型可以是相同的,也可以是不同的,例如目标设备是网卡,而冗余设备为声卡,二者虽然设备类型不同,但冗余设备在BIOS阶段后也能实现获得分配的资源。并且,该资源是可以通过处理分配给目标设备的。所述资源可以是总线资源,也可以是内存资源,在本实施例中不对此进行具体限定。
步骤S203,将所述第二配置资源分配至所述目标设备节点。
具体地,在目标设备节点内缺少资源时,用冗余设备节点中分配的资源替换目标设备节点中缺少的资源,使得目标设备节点也具备了系统配置的资源,从而实现了不同节点间的资源再分配。获得资源后的目标设备节点无需系统重启即可使用,极大提高了PCIe设备使用的便捷性,同时提高了系统的稳定性。
上述设备扫描纠错方法中,设置了冗余设备节点在BIOS扫描过程中接受资源分配,记录第二配置资源。若检测到目标PCIe设备存在资源缺失的问题,则将第二配置资源再分配至目标设备节点,也就是实现设备链路上不同节点间的资源再分配,在保证了系统不重启的情况下,实现了目标设备的正常使用。
在其中的一个实施例中,所述检测设备链路上的目标设备节点包括:通过基本输入输出扫描进行设备枚举,确定设备链路;检测所述设备链路是否存在所述目标设备节点,若否,则对所述目标设备节点的第一父节点进行复位并再次训练所述设备链路,直至检测到所述目标设备节点。
具体地,基本输入输出系统扫描,即Basic Input Output System扫描,简称BIOS扫描。BIOS可以视为一组固化到计算机内主板上一个RPOM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息,其主要功能是为计算机提供最底层的、最直接的硬件设备和控制。PCIe设备可以是使用PCIe卡插槽或其他连接机制来物理连接的外围设备或芯片,例如,PCIe设备可以包括但不限于,移动对接适配器、以太网适配器、其他附加设备、千兆以太网连接、用于IO和群集互联的附加交换能力和/或线路卡等。
Linux设备启动后会在BIOS阶段进行PCIe设备扫描,资源分配,在系统内核启动后,会根据BIOS的扫描结果初始化PCIE设备,所以如果设备偶现异常,BIOS没有扫描到,系统内核启动后,枚举到该设备时,也无法分配资源,此时,现有技术的方案中只能选择整机重启。在本实施例中,在初始化扫描未检测到目标设备时,基于复位机制对所述目标设备节点的父节点进行复位操作,再次扫描当前是否存在目标设备节点,既避免了单次扫描可能出现的目标设备节点缺失情况,同时也为后续对目标设备节点进行资源分配做出准备。
复位操作是基于PCIE总线中的复位机制实现的。PCIE总线中定义了四种复位名称,包括:冷复位,也称Cold Reset;暖复位,也称Warm Reset;热复位,也称Hot Reset以及功能层复位,也称Function Level Reset或FLR。其中,冷复位和暖复位又被称为基本复位,主要通过硬件实现,效果是重置整个设备,对每个状态机、所有硬件逻辑、端口状态和配置寄存器重新初始。而功能层复位是指在PCIe协议中,一个PCIe设备可能包含多个功能模块,每个功能模块相互对立,共用一个PCIe link,当其中某个功能出现异常时,可通过功能层复位只对异常的功能模块进行重置。本申请中的复位操作可以上述方式中的任意一种或多种,具体可根据实际应用情况进行选择。通过复位机制,可以重新初始化和训练PCI链路,在该过程中,可以发现前次扫描过程中未识别到的目标设备。
如图3所示,提供了一种PCIE系统的拓扑示意图,其中,设备链路为树状链路,主要包括RC、Switch和EP。RC是PCIE树的根节点,RC可以有一个或者多个PCIE端口。RC可以和CPU以及memory controller相接,类似于PCI中的HOST主桥。Switch的结构如图4所示,Switch有一个上游端口和两个或两个以下的下游端口。上游端口是RC或者上游Switch的下游端口。Switch中每个端口都可以看成是一个PCI-to-PCI bridge,这些bridge也都有配置空间,跟PCI中一样,配置空间中有IO/Memory的base address和limit size。EP即PCIe设备。
在其中的一个实施例中,在PCIe Switch下增加一个目标PCIe设备,当Linux系统内核起来时,设备链路中的对应节点下没有显示该目标设备节点,或者读取到该目标PCIe设备的Vendor ID的配置为0xff,则说明当前设备链路中缺失目标PCIe设备对应的目标设备节点。在其他的一些实施例中,还可以选用设备ID作为设备存在的标识。
在其中的一个实施例中,若在复位之后,再次训练的链路中,存在目标设PCIe备对应的设备节点,且其Vendor ID不为0xff,而是符合正常的厂家ID的形式和配置,则说明当前PCIe设备是正常设备。但由于BIOS阶段未能对其分配资源,因而暂不可用。其中,资源是指总线资源和内存资源,系统通过配置PCIe设备的寄存器信息的方式实现资源分配。
在其中的一个实施例中,所述确定所述目标设备节点是否存在第一配置资源包括:获取所述目标设备节点的第一配置空间内的第一寄存器信息;若所述第一寄存器信息与第一预设数据匹配,则所述目标设备节点缺少所述第一配置资源。
具体地,第一配置数据是目标设备内的BAR寄存器等寄存器信息。BAR寄存器即基地址寄存器,用于保存PCIe设备使用的地址空间的基地址。在系统初始化并形成设备链路的过程中,通过配置PCIe设备的配置空间内的寄存器信息实现资源分配。其中,配置资源是指总线资源和/或内存资源。第一预设数据为0xff,用于标识当前设备内未分配资源。若第一配置数据与第一预设数据匹配,则说明目标设备节点内未分配资源。
在其中的一个实施例中,所述获取所述冗余设备节点的第二配置资源之前包括:获取所述冗余设备节点的第二配置空间内的第二寄存器信息;若所述第二寄存器信息与第二预设数据匹配,则所述冗余设备节点存在第二配置资源。
具体地,第二预设数据是常用的分配资源时寄存器内的标识符。通过将第二配置数据和第二预设数据进行比对,可以判断冗余的PCIe设备是否正常,即读取冗余设备的配置空间里的寄存器,判断寄存器信息是否正常,若冗余设备的PCIe配置空间里的BAR等寄存器里配置的内存等信息以及冗余设备的Vendor ID正常,则说明当前冗余设备节点正常可用,可以调配其中的第二配置资源。
在其中的一个实施例中,所述将所述第二配置资源分配至所述目标设备节点包括:将所述目标设备节点的第一寄存器信息替换为所述冗余设备节点的第二寄存器信息;并将所述第二寄存器信息替换为第一预设数据,所述第一预设数据用于标识当前设备节点缺少配置资源。
具体地,把冗余的PCIe设备里的BAR等资源相关寄存器信息全部读出来配置给刚恢复正常的PCIe的设备后,将冗余设备内的寄存器信息全置为0xff。
在其中的一个实施例中,所述将所述第二配置资源分配至所述目标设备节点还包括:获取所述目标设备节点的第一父节点信息以及所述冗余设备节点的第二父节点信息;基于所述第二父节点信息替换所述目标设备节点的第一父节点信息。
具体地,在本实施例中,实现了不同节点的系统分配的资源的调配。因为节点间资源的互换,也需要同步替换上级PCI节点的寄存器信息,即子节点和父节点的相关寄存器信息都需要替换。
在其中的另一个实施例中,提供了一种设备扫描纠错方法,如图5所示,该方法可应用于图6所示的数据处理系统中,该数据处理系统包括PCIe设备以及PCIe冗余设备。其中,PCIE设备以及PCIe冗余设备的数量可以是一个或多个。该设备扫描纠错方法包括:
步骤S501,开机上电。
步骤S502,通过BIOS扫描枚举PCIe设备。
步骤S503,发现目标设备不存在或目标设备没有配置资源。
具体地,在PCIe Switch下增加一个PCIe设备,当系统内核起来时,若对应的节点下没有目标设备,或目标设备配置空间内的Vendor ID为0xff,则目标设备不存在;若读取对应设备的PCIe配置空间,该配置空间内全为0xff,则表示缺乏配置资源。
步骤S504,操作该设备上游桥节点重新检测到目标设备。
具体地,复位这个目标设备节点上游的PCIe Switch里的PCIe Bridge,再次读取目标设备的配置空间,Vendor ID等信息存在且正确,就说明这个PCIe设备是可以正常使用的。但是由于BIOS阶段没有给这个PCIe设备分配资源,导致其PCIe配置空间里的Bar等寄存器里是不正常的资源,因此需要为目标设备分配资源。
步骤S505,检测冗余设备正常。
具体地,判断冗余的PCIe设备是否正常,即读取冗余设备的配置空间里的寄存器,检测寄存器内的内容是否正常,如果正常且PCIe配置空间里的BAR等寄存器里配置的内存等信息正常,则表明冗余设备正常。
步骤S506,读取冗余设备的PCIe配置空间里的BAR寄存器值,配置给需要复位的目标设备对应的PCIe配置空间的BAR寄存器,再把冗余设备的PCIe配置空间的BAR寄存器全置为0xff。
具体地,把冗余的PCIe设备里的BAR等资源相关寄存器信息全部读出来配置给目标设备,并把冗余的PCIe设备的寄存器全置成0xff。
步骤S507,机器正常运行。
本实施例的设备扫描纠错方法,通过在PCIe Switch下增加冗余的PCIe设备,当发现PCIe Switch下有设备不正常时,复位上级的bridge。判断设备正常后,把冗余设备的配置空间里的信息配置给需恢复的设备。然后把冗余设备的配置空间清空。通过更换两个PCIe设备的配置空间,对于没有分配到资源的PCIe设备,也可以正常使用。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的设备扫描纠错方法的设备扫描纠错装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个设备扫描纠错装置实施例中的具体限定可以参见上文中对于设备扫描纠错方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种设备扫描纠错装置,包括:扫描模块、检测模块和分配模块,其中:
扫描模块10,用于检测设备链路上的目标设备节点;
检测模块20,用于确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源;
分配模块30,用于将所述第二配置资源分配至所述目标设备节点。
扫描模块10,还用于通过基本输入输出扫描进行设备枚举,确定设备链路;检测所述设备链路是否存在所述目标设备节点,若否,则对所述目标设备节点的第一父节点进行复位并再次训练所述设备链路,直至检测到所述目标设备节点。
检测模块20,还用于获取所述目标设备节点的第一配置空间内的第一寄存器信息;若所述第一寄存器信息与第一预设数据匹配,则所述目标设备节点缺少所述第一配置资源。
检测模块20,还用于获取所述冗余设备节点的第二配置空间内的第二寄存器信息;若所述第二寄存器信息与第二预设数据匹配,则所述冗余设备节点存在第二配置资源。
分配模块30,还用于将所述目标设备节点的第一寄存器信息替换为所述冗余设备节点的第二寄存器信息;并将所述第二寄存器信息替换为第一预设数据,所述第一预设数据用于标识当前设备节点缺少配置资源。
分配模块30,还用于获取所述目标设备节点的第一父节点信息以及所述冗余设备节点的第二父节点信息;基于所述第二父节点信息替换所述目标设备节点的第一父节点信息。
上述设备扫描纠错装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种设备扫描纠错方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
检测设备链路上的目标设备节点;
确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源;
将所述第二配置资源分配至所述目标设备节点。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
检测设备链路上的目标设备节点;
确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源;
将所述第二配置资源分配至所述目标设备节点。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
检测设备链路上的目标设备节点;
确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源;
将所述第二配置资源分配至所述目标设备节点。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种设备扫描纠错方法,其特征在于,所述方法包括:
检测设备链路上的目标设备节点;
确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源;
将所述第二配置资源分配至所述目标设备节点。
2.根据权利要求1所述的设备扫描纠错方法,其特征在于,所述检测设备链路上的目标设备节点包括:
通过基本输入输出扫描进行设备枚举,确定设备链路;
检测所述设备链路是否存在所述目标设备节点,若否,则对所述目标设备节点的第一父节点进行复位并再次训练所述设备链路,直至检测到所述目标设备节点。
3.根据权利要求1所述的设备扫描纠错方法,其特征在于,所述确定所述目标设备节点是否存在第一配置资源包括:
获取所述目标设备节点的第一配置空间内的第一寄存器信息;
若所述第一寄存器信息与第一预设数据匹配,则所述目标设备节点缺少所述第一配置资源。
4.根据权利要求1所述的设备扫描纠错方法,其特征在于,所述获取所述冗余设备节点的第二配置资源之前包括:
获取所述冗余设备节点的第二配置空间内的第二寄存器信息;
若所述第二寄存器信息与第二预设数据匹配,则所述冗余设备节点存在第二配置资源。
5.根据权利要求1所述的设备扫描纠错方法,其特征在于,所述将所述第二配置资源分配至所述目标设备节点包括:
将所述目标设备节点的第一寄存器信息替换为所述冗余设备节点的第二寄存器信息;并将所述第二寄存器信息替换为第一预设数据,所述第一预设数据用于标识当前设备节点缺少配置资源。
6.根据权利要求1所述的设备扫描纠错方法,其特征在于,所述将所述第二配置资源分配至所述目标设备节点还包括:
获取所述目标设备节点的第一父节点信息以及所述冗余设备节点的第二父节点信息;
基于所述第二父节点信息替换所述目标设备节点的第一父节点信息。
7.一种设备扫描纠错装置,其特征在于,所述装置包括:
扫描模块,用于检测设备链路上的目标设备节点;
检测模块,用于确定所述目标设备节点是否存在第一配置资源,若否,则检测所述设备链路上的冗余设备节点并获取所述冗余设备节点的第二配置资源;
分配模块,用于将所述第二配置资源分配至所述目标设备节点。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310357447.3A CN116467121A (zh) | 2023-03-31 | 2023-03-31 | 设备扫描纠错方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310357447.3A CN116467121A (zh) | 2023-03-31 | 2023-03-31 | 设备扫描纠错方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116467121A true CN116467121A (zh) | 2023-07-21 |
Family
ID=87174474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310357447.3A Pending CN116467121A (zh) | 2023-03-31 | 2023-03-31 | 设备扫描纠错方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116467121A (zh) |
-
2023
- 2023-03-31 CN CN202310357447.3A patent/CN116467121A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10126954B1 (en) | Chipset and server system using the same | |
US11507421B2 (en) | Information handling system and method to allocate peripheral component interconnect express (PCIe) bus resources | |
CN103930878B (zh) | 用于存储器验证的方法、装置及系统 | |
EP3132449B1 (en) | Method, apparatus and system for handling data error events with memory controller | |
JP6034990B2 (ja) | サーバ制御方法及びサーバ制御装置 | |
US10372639B2 (en) | System and method to avoid SMBus address conflicts via a baseboard management controller | |
US10572434B2 (en) | Intelligent certificate discovery in physical and virtualized networks | |
TWI514263B (zh) | 用於多核心處理單元的啟動載入處理器指派的技術 | |
US11188407B1 (en) | Obtaining computer crash analysis data | |
US20190065300A1 (en) | Method of retrieving debugging data in uefi and computer system thereof | |
US20150100776A1 (en) | Non-disruptive code update of a single processor in a multi-processor computing system | |
KR20170043269A (ko) | Ufs 장치의 작동 방법, ufs 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법 | |
US8713230B2 (en) | Method for adjusting link speed and computer system using the same | |
WO2023121775A1 (en) | System, method, apparatus and architecture for dynamically configuring device fabrics | |
CN106708596B (zh) | 一种输入输出虚拟化资源的调整方法及处理器 | |
CN112868013A (zh) | 经由边带接口恢复场域可程序门阵列固件的系统及方法 | |
US11341076B2 (en) | Hot-plugged PCIe device configuration system | |
US11226755B1 (en) | Core dump in a storage device | |
CN115686877A (zh) | 数据交互方法、装置、存储介质及计算设备 | |
US11347520B2 (en) | Unavailable memory device initialization system | |
US20080276121A1 (en) | Method and infrastructure for recognition of the resources of a defective hardware unit | |
CN111989677B (zh) | Nop雪橇防御 | |
CN116450046A (zh) | 云盘实现方法、装置、智能网卡、服务器及存储介质 | |
CN116467121A (zh) | 设备扫描纠错方法、装置、计算机设备和存储介质 | |
CN114124524A (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 |