CN117170901A - 硬件管理方法、装置、存储介质及电子设备 - Google Patents
硬件管理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117170901A CN117170901A CN202311116868.3A CN202311116868A CN117170901A CN 117170901 A CN117170901 A CN 117170901A CN 202311116868 A CN202311116868 A CN 202311116868A CN 117170901 A CN117170901 A CN 117170901A
- Authority
- CN
- China
- Prior art keywords
- hardware
- management
- managed
- information file
- management process
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 351
- 238000000034 method Methods 0.000 claims abstract description 173
- 230000006870 function Effects 0.000 claims description 33
- 238000004088 simulation Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 1
- 241001290266 Sciaenops ocellatus Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种硬件管理方法、装置、存储介质及电子设备,其中方法包括:基于待管理硬件的标识,获取所述待管理硬件的硬件信息文件;所述硬件信息文件挂载在用户态文件系统的目录中;基于所述硬件信息文件,生成所述待管理硬件的管理路径,将所述管理路径存储在所述目录中;基于所述待管理硬件的管理进程访问所述用户态文件系统,并基于所述用户态文件系统目录中所述管理进程对应的管理路径,对所述硬件信息文件进行访问;基于访问结果对所述待管理硬件进行管理。本申请提供的方法和装置,提高了单板上硬件的管理效率。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种硬件管理方法、装置、存储介质及电子设备。
背景技术
在现有的服务器中,根据服务器形态或功能等对单板上的硬件进行分类,可以得到各个类别的硬件,而对各个类别的硬件进行管理是非常困难的。相关技术通过开放式基板管理控制器(OpenBMC)对单板硬件进行管理。但在OpenBMC中,各个管理进程直接操作内核驱动,直接访问内核驱动设备文件或者sysfs虚拟文件系统对硬件进行管理。管理进程的执行非常依赖于内核驱动,而内核态驱动不够灵活,调试困难,而且当内核驱动出现异常时,可能会使整个系统宕机。
因此,如何对单板上的多个硬件进行管理成为业界亟待解决的技术问题。
发明内容
本申请提供一种硬件管理方法、装置、存储介质及电子设备,用以解决现有技术中如何对单板上的多个硬件进行管理的技术问题。
第一方面,本申请提供了一种硬件管理方法,包括:
基于待管理硬件的标识,获取所述待管理硬件的配置信息;
基于所述配置信息,生成所述待管理硬件的管理路径;
将所述管理路径存储在所述待管理硬件的用户态文件系统的目录中;
基于所述待管理硬件的管理进程访问所述用户态文件系统,并基于所述管理进程对应的管理路径,获取所述待管理硬件的硬件信息文件;其中,所述待管理硬件的硬件信息文件挂载在所述目录中;
基于所述硬件信息文件,对所述待管理硬件进行管理。
在一些实施例中,所述配置信息包括拓扑信息和属性信息,所述基于所述配置信息,生成所述待管理硬件的管理路径,包括:
基于所述拓扑信息和所述属性信息,生成所述待管理硬件管理进程对应的管理路径;
将所述管理路径在所述目录中对应的硬件信息文件与功能函数进行绑定;所述功能函数用于对所述目录中所述管理路径下的硬件信息文件进行访问。
在一些实施例中,所述基于所述待管理硬件的管理进程访问所述用户态文件系统之前,包括:
设置所述硬件信息文件的锁定标志;所述锁定标志用于控制所述管理进程访问所述硬件信息文件;
启动当前管理进程,并获取所述锁定标志;
在所述锁定标志已被其他管理进程占用的情况下,所述当前管理进程进入等待队列;
在所述锁定标志未被其他管理进程占用的情况下,所述当前管理进程访问所述硬件信息文件,并在访问结束后释放所述锁定标志。
在一些实施例中,所述硬件信息文件是基于如下步骤生成的:
对所述待管理硬件进行功能模拟;
基于模拟结果,生成所述待管理硬件的硬件信息文件。
在一些实施例中,所述硬件信息文件是基于如下步骤生成的:
基于内核态驱动的驱动访问接口,获取所述待管理硬件的硬件信息;
基于所述用户态文件系统对所述硬件信息进行封装,生成所述硬件信息文件。
在一些实施例中,所述基于所述待管理硬件的管理进程访问所述用户态文件系统,并基于所述管理进程对应的管理路径,获取所述待管理硬件的硬件信息文件,包括:
启动所述待管理硬件的管理进程;
基于所述管理进程对应的管理路径和所述功能函数,获取所述用户态文件系统的目录中所述管理进程对应的管理路径下的硬件信息文件;
基于获取的硬件信息文件,对所述管理进程对应的历史管理数据进行更新。
在一些实施例中,所述基于获取的硬件信息文件,对所述管理进程对应的历史管理数据进行更新,包括:
对所述硬件信息文件进行解析,得到所述管理进程对应的新的管理数据;
将所述新的管理数据存储至所述历史管理数据中。
第二方面,本申请提供了一种硬件管理装置,包括:
第一获取模块,用于基于待管理硬件的标识,获取所述待管理硬件的配置信息;
生成模块,用于基于所述配置信息,生成所述待管理硬件的管理路径;
存储模块,用于将所述管理路径存储在所述待管理硬件的用户态文件系统的目录中;
第二获取模块,用于基于所述待管理硬件的管理进程访问所述用户态文件系统,并基于所述管理进程对应的管理路径,获取所述待管理硬件的硬件信息文件;其中,所述待管理硬件的硬件信息文件挂载在所述目录中;
管理模块,用于基于所述硬件信息文件,对所述待管理硬件进行管理。
第三方面,本申请提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法。
第四方面,本申请提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述程序时实现上述的方法。
本申请提供的硬件管理方法、装置、存储介质及电子设备,通过将管理路径和待管理硬件的硬件信息文件与用户态文件系统的目录相关联,可以根据用户态文件系统的目录,以及管理进程对应的管理路径,对待管理硬件进行管理,管理过程大部分是在用户态文件系统中进行,降低了内核态驱动的使用频率,提高了待管理硬件的管理效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的硬件管理方法的流程示意图之一;
图2为本申请实施例提供的硬件管理方法的流程示意图之二;
图3为本申请实施例提供的硬件管理装置的结构示意图之一;
图4为本申请实施例提供的硬件管理装置的结构示意图之二;
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
本申请实施例提供的硬件管理方法适用于终端(终端设备),终端可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于服务器、智能手机、平板电脑、膝上型便携计算机和台式计算机等。
在本申请的技术方案中,所涉及的个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
图1为本申请实施例提供的硬件管理方法的流程示意图之一,如图1所示,该方法包括步骤110、步骤120、步骤130、步骤140和步骤150。该方法流程步骤仅仅作为本申请一个可能的实现方式。
步骤110、基于待管理硬件的标识,获取待管理硬件的配置信息。
具体地,本申请实施例提供的硬件管理方法的执行主体为硬件管理装置,该装置可以为终端中独立设置的硬件设备,也可以为运行在终端中的软件程序。例如,当终端为台式计算机时,硬件管理装置可以体现为台式计算机中的管理软件等应用程序。
本申请实施例的待管理硬件为单板上待管理的硬件,例如单板上的中央处理器(Central Processing Unit,CPU)、内存、存储器、输入输出接口、传感器和执行器等。
待管理硬件的标识为待管理硬件的唯一标识符,例如待管理硬件的身份标识号(Identity document,ID)。根据该标识可以识别出待管理硬件。
根据标识识别出待管理硬件后,可以获取该待管理硬件的配置信息。待管理硬件的配置信息可以包括拓扑信息和属性信息等。
步骤120、基于配置信息,生成待管理硬件的管理路径。
具体地,待管理硬件中各个硬件之间的集成电路总线(Inter-IntegratedCircuit,I2C)物理拓扑和通用输入输出(General Purpose Input/Output,GPIO)连接功能均可能存在差异。因此需要确定待管理硬件的配置信息,根据配置信息,生成待管理硬件的管理路径。
管理路径为待管理硬件的管理进程在用户态文件系统中的访问路径。其中,管理进程为执行管理任务的进程。
步骤130、将管理路径存储在待管理硬件的用户态文件系统的目录中。
具体地,用户态文件系统是一种在用户空间中实现的文件系统,它允许应用程序通过系统调用或特定接口来访问和管理文件。与内核态文件系统相比,用户态文件系统的核心部分是在用户空间中运行的,而不是在操作系统的内核空间。
相对于内核态,用户态文件系统可以提供更高的灵活性和可扩展性,使用用户态文件系统,可以实现更多样化的文件操作和管理方式。同时,用户态文件系统的开发和维护相对较简单,不需要修改操作系统的内核代码。
因此,本申请实施例在待管理硬件的用户态文件系统的目录下生成管理路径,例如,在目录/usr/isys/下生成待管理硬件的管理路径。从而根据用户态文件系统中的管理路径进行硬件管理,提高硬件的管理效率。
步骤140、基于待管理硬件的管理进程访问用户态文件系统,并基于管理进程对应的管理路径,获取待管理硬件的硬件信息文件;其中,待管理硬件的硬件信息文件挂载在目录中。
具体地,硬件信息文件是由待管理硬件的硬件信息构成的文件。硬件信息包括待管理硬件的硬件数据和配置信息等。
因为待管理硬件的数量可能有多个,且各个待管理硬件会对应多个硬件信息文件,同时管理路径也有多个,所以为了便于获取硬件信息文件以及便于对待管理硬件进行管理,本申请实施例将硬件信息文件挂载在用户态文件系统的目录中。例如,将硬件信息文件挂载在目录/usr/isys/中并初始化用户态文件系统的目录结构。
因为管理路径存储在用户态文件系统的目录中,而目录中还挂载有硬件信息文件,因此在目录中,各个管理路径下会记载有各个管理路径对应的硬件信息文件。
硬件管理装置开启待管理硬件的管理进程,管理进程可以通过访问接口访问用户态文件系统。因为管理进程与管理路径存在对应关系,因此可以通过用户态文件系统的目录,以及管理进程对应的管理路径,获取待管理硬件的硬件信息文件。
管理进程可以有多个,不同的管理进程可以对应不同的管理功能。例如,各个管理进程分别对待管理硬件进行传感器(sensor)管理、在位管理和重要产品数据(VitalProduct Data,VPD)管理等。
步骤150、基于硬件信息文件,对待管理硬件进行管理。
各个管理进程通过访问用户态文件系统中的硬件信息文件,可以获取与管理进程的管理功能相关的硬件数据、硬件属性和现场可更换单元(Field Replace Unit,FRU)配置信息等,然后通过这些信息对待管理硬件进行业务层面的硬件操作,从而实现对待管理硬件的管理。
在执行管理进程的过程中,所有与待处理硬件相关的操作都具备链路重试功能和硬件修复功能。即管理进程不需要关注具体的链路重试或者硬件修复细节,只需要专注于管理进程对应的管理路径即可,各个管理进程之间可以是相互独立的。
本申请实施例提供的硬件管理方法,通过将管理路径和待管理硬件的硬件信息文件与用户态文件系统的目录相关联,可以根据用户态文件系统的目录,以及管理进程对应的管理路径,对待管理硬件进行管理,管理过程大部分是在用户态文件系统中进行,降低了内核态驱动的使用频率,提高了待管理硬件的管理效率。
需要说明的是,本申请每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
在一些实施例中,配置信息包括拓扑信息和属性信息,步骤120包括:
基于拓扑信息和属性信息,生成待管理硬件管理进程对应的管理路径;
将管理路径在目录中对应的硬件信息文件与功能函数进行绑定;功能函数用于对目录中管理路径下的硬件信息文件进行访问。
具体地,读取了待管理硬件的标识后,可以获取待管理硬件的拓扑信息和属性信息等信息。根据拓扑信息和属性信息,可以生成待管理硬件管理进程对应的管理路径。
生成管理路径后,将管理路径下的硬件信息文件与功能函数进行绑定。管理进程可以调用功能函数进行打开(open)、读取(read)、写入(write)或输入输出控制(Input/Output Control,ioctl)等操作,从而获取管理进程对应管理路径下的硬件信息文件,实现硬件信息文件的访问。
将硬件信息文件与功能函数进行绑定后,可以将硬件访问通过文件的方式对外提供访问接口,管理进程可以通过访问接口调用功能函数。访问接口中提供基于总线(bus)的访问、待管理硬件的访问及功能点的访问等。
本申请实施例提供的硬件管理方法,通过拓扑信息和属性信息,生成待管理硬件管理进程对应的管理路径;通过将硬件信息文件与功能函数相关联,可以使管理进程对硬件信息文件的快速访问,提高了管理效率。
在一些实施例中,步骤130之前,包括:
设置硬件信息文件的锁定标志;锁定标志用于控制管理进程访问硬件信息文件;
启动当前管理进程,并获取锁定标志;
在锁定标志已被其他管理进程占用的情况下,当前管理进程进入等待队列;
在锁定标志未被其他管理进程占用的情况下,当前管理进程访问硬件信息文件,并在访问结束后释放锁定标志。
具体地,当同时执行多个管理进程时,各个管理进程所访问的硬件信息文件可能存在冲突,即执行各个管理进程时所占用的资源可能存在冲突,因此本申请实施例通过设置锁定标志的方式对各个管理进程所访问的硬件信息文件进行锁定,防止多个管理进程同时对相同的硬件信息文件进行操作造成操作异常。
在启动当前管理进程时,当前管理进程若要获取硬件信息文件,则先要获取该硬件信息文件的锁定标志,若该硬件信息文件的锁定标志已被其他管理进程占用,则当前管理进程进入等待队列;若锁定标志未被其他管理进程占用,则当前管理进程占用该锁定标志,访问硬件信息文件,在访问结束后释放锁定标志供等待队列中的管理进程获取。本申请实施例的访问包括读写或其他操作。
可选的,还可通过设置信号量的方式保证硬件信息文件的串行访问。
本申请实施例提供的硬件管理方法,通过设置锁定标识和等待队列,使得各个管理进程所访问的硬件信息文件不会产生冲突,提高了管理进程的执行成功率。
在一些实施例中,硬件信息文件是基于如下步骤生成的:
对待管理硬件进行功能模拟;
基于模拟结果,生成待管理硬件的硬件信息文件。
具体地,当接收到业务需求时,可能还未收到执行业务的实体单板硬件,此时可以通过软件配置的方式对待管理硬件进行功能模拟,例如寄存器模拟、数据内容模拟和链路故障的模拟等。根据模拟结果,生成待管理硬件的硬件信息文件,从而实现硬件和软件的隔离,并在未收到实体硬件的情况下,提前为待管理单板进行管理流程的配置。
本申请实施例提供的硬件管理方法,通过对待管理硬件进行功能模拟,可以在未收到实体硬件的情况下,提前为待管理单板进行管理流程的配置,提高了管理效率。
在一些实施例中,硬件信息文件是基于如下步骤生成的:
基于内核态驱动的驱动访问接口,获取待管理硬件的硬件信息;
基于用户态文件系统对硬件信息进行封装,生成硬件信息文件。
具体地,本申请实施例中的大多数步骤均是在用户态文件系统中执行的,因此内核态驱动仅需要提供驱动访问接口,用户态文件系统可以根据驱动访问接口获取片内资源,即获取待管理硬件的硬件信息,用户态文件系统对获取的硬件信息进行二次封装,可以生成硬件信息文件。
通过生成硬件信息文件可以将硬件信息访问抽象为文件访问,各个管理进程可以通过相同的文件接口,访问和操作硬件信息文件,而无需对管理代码进行大量的修改。这样可以大大提高管理代码的可移植性和复用性。
本申请实施例提供的硬件管理方法,通过用户态文件系统对硬件信息进行封装,可以生成硬件信息文件,提高了管理代码的可移植性和复用性。
在一些实施例中,步骤140包括:
启动待管理硬件的管理进程;
基于管理进程对应的管理路径和功能函数,获取用户态文件系统的目录中管理进程对应的管理路径下的硬件信息文件;
基于获取的硬件信息文件,对管理进程对应的历史管理数据进行更新。
具体地,启动管理进程,并初始化管理进程的配置参数,然后管理进程可以获取用户态文件系统的目录中管理进程对应的管理路径下的硬件信息文件。管理进程对应的管理路径下的硬件信息文件与该管理进程的管理功能也是相对应的。
每次管理进程对用户态文件系统访问结束后,都会获得新的硬件信息文件,每个管理进程均对应有管理数据,例如当前管理进程用于管理待管理硬件的温度,则该管理进程的管理数据为温度数据。
管理进程可以根据获取的硬件信息文件,对管理进程对应的历史管理数据进行更新,包括:对硬件信息文件进行解析,得到管理进程对应的新的管理数据;将新的管理数据存储至历史管理数据中。
例如,获取到温度数据后,该管理进程将新获取的温度数据添加到该管理进程对应的历史管理数据中,从而实现管理数据的更新。
可以根据管理进程的管理功能在终端中设置多个应用(Application,APP),根据各个应用对待管理硬件的各个方面进行管理。
还可以设置检测周期,周期性地启动管理进程对待管理硬件进行管理。
本申请实施例提供的硬件管理方法,通过获取的硬件信息文件,对管理进程对应的历史管理数据进行更新,实现对管理数据的实时更新,从而根据管理数据对待管理硬件进行实时管理。
图2为本申请实施例提供的硬件管理方法的流程示意图之二,如图2所示,硬件管理装置包括用户态文件系统和管理进程模块。本申请实施例提供的硬件管理方法包括:
步骤210、指定待管理硬件的硬件信息文件挂载在用户态文件系统的目录/usr/isys/上,并初始化用户态文件系统的目录结构。
步骤220、读取待管理硬件的ID,获取待管理硬件的配置信息。
步骤230、根据获取到的待管理硬件的配置信息,在/usr/isys/下生成待管理硬件的管理进程对应的管理路径。
步骤240、将管理路径下的硬件信息文件与功能函数进行关联,实现硬件信息文件的读写访问操作。
步骤250、等待管理进程对文件硬件信息文件进行读写访问操作。
步骤260、启动管理进程,并初始化管理进程的配置参数。
步骤270、管理进程根据其对应的管理功能调用用户态文件系统应用程序接口(Application Programming Interface,API)访问对应的硬件信息文件。
步骤280、根据读取的硬件信息文件,更新历史管理数据。可以根据设定的管理周期,循环执行步骤270和步骤280。
具体地,以对待管理硬件的控制框灯设置查询为例:在用户态文件系统的目录中创建如下硬件信息文件“/usr/isys/chassis/identled”,当管理进程通过用户态文件系统API打开该硬件信息文件并调用write方法写入设置值“on/off/linkfast/blinklow等”时,用户态文件系统执行对应的功能回调,将功能回调获得的参数代入功能函数中并执行实际的物理点灯操作;当管理进程查询时,使用read方法访问对应的硬件信息文件,用户态文件系统会返回当前待管理硬件实际的状态值。
本申请实施例提供的硬件管理方法,通过用户态文件系统,将硬件管理抽象为文件管理,实现代码逻辑解耦合,提高了管理效率。
下面对本申请实施例提供的硬件管理装置进行描述,下文描述的硬件管理装置与上文描述的硬件管理方法可相互对应参照。
图3为本申请实施例提供的硬件管理装置的结构示意图之一,如图3所示,该装置包括第一获取模块310、生成模块320、存储模块330、第二获取模块340和管理模块350。
第一获取模块,用于基于待管理硬件的标识,获取待管理硬件的配置信息;
生成模块,用于基于配置信息,生成待管理硬件的管理路径;
存储模块,用于将管理路径存储在待管理硬件的用户态文件系统的目录中;
第二获取模块,用于基于待管理硬件的管理进程访问用户态文件系统,并基于管理进程对应的管理路径,获取待管理硬件的硬件信息文件;其中,待管理硬件的硬件信息文件挂载在目录中;
管理模块,用于基于硬件信息文件,对待管理硬件进行管理。
具体地,根据本申请的实施例,第一获取模块、生成模块、存储模块、第二获取模块和管理模块中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。
或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。
根据本申请的实施例,第一获取模块、生成模块、存储模块、第二获取模块和管理模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。
或者,第一获取模块、生成模块、存储模块、第二获取模块和管理模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
本申请实施例提供的硬件管理装置,通过将管理路径和待管理硬件的硬件信息文件与用户态文件系统的目录相关联,可以根据用户态文件系统的目录,以及管理进程对应的管理路径,对待管理硬件进行管理,管理过程大部分是在用户态文件系统中进行,降低了内核态驱动的使用频率,提高了待管理硬件的管理效率。
在一些实施例中,配置信息包括拓扑信息和属性信息,生成模块具体用于:
基于拓扑信息和属性信息,生成待管理硬件管理进程对应的管理路径;
将管理路径在目录中对应的硬件信息文件与功能函数进行绑定;功能函数用于对目录中管理路径下的硬件信息文件进行访问。
在一些实施例中,硬件管理装置还包括锁定模块,锁定模块用于:
设置硬件信息文件的锁定标志;锁定标志用于控制管理进程访问硬件信息文件;
启动当前管理进程,并获取锁定标志;
在锁定标志已被其他管理进程占用的情况下,当前管理进程进入等待队列;
在锁定标志未被其他管理进程占用的情况下,当前管理进程访问硬件信息文件,并在访问结束后释放锁定标志。
在一些实施例中,生成模块还用于:
对待管理硬件进行功能模拟;
基于模拟结果,生成待管理硬件的硬件信息文件。
在一些实施例中,生成模块还用于:
基于内核态驱动的驱动访问接口,获取待管理硬件的硬件信息;
基于用户态文件系统对硬件信息进行封装,生成硬件信息文件。
在一些实施例中,第二获取模块具体用于:
启动待管理硬件的管理进程;
基于管理进程对应的管理路径和功能函数,获取用户态文件系统的目录中管理进程对应的管理路径下的硬件信息文件;
基于获取的硬件信息文件,对管理进程对应的历史管理数据进行更新。
在一些实施例中,第二获取模块包括更新子模块,更新子模块用于:
对硬件信息文件进行解析,得到管理进程对应的新的管理数据;
将新的管理数据存储至历史管理数据中。
图4为本申请实施例提供的硬件管理装置的结构示意图之二,如图4所示,该装置包括用户态文件系统410、管理进程模块420和Linux内核模块430。
用户态文件系统的主要功能如下:
硬件识别:根据待管理硬件的ID,确认当前运行固件的硬件类型,并根据硬件配置生成不同的管理路径。
特性信息:根据不同的待管理硬件生成不同的硬件信息文件提供给管理进程调用。
拓扑管理:解析拓扑文件,并针对外部设备进行初始化。
驱动封装:封装所有的I2C外设驱动,针对硬件信息进行二次封装。
功能模拟:对待管理硬件进行功能模拟。
管理进程模块,用于对待管理硬件进行管理,包括控制器管理、通用信息管理、数据同步管理、框管理、主从管理、风扇管理、电源设备管理(Power Supply Unit,PSU)管理、机箱管理控制器管理(Chassis Management Controller,CMC)管理、模式管理、电池备份单元管理(Battery Backup Unit,BBU)管理和风扇控制等。
Linux内核模块,用于提供驱动访问接口。用户态文件系统可以通过驱动访问接口,获取待管理硬件的硬件信息;
可选的,管理进程模块还可以提供对外的访问接口供其他接口调用,例如供智能平台管理(Intelligent Platform Management Interface,IPMI)接口、redfish接口、web接口和工具接口等调用。
可选的,用户态文件系统中,可以提供共享内存,实现多个管理进程的数据共享。
在此需要说明的是,本申请实施例提供的硬件管理装置,能够实现上述硬件管理方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
图5为本申请实施例提供的电子设备的结构示意图,如图5所示,该电子设备可以包括:处理器(Processor)510、通信接口(Communications Interface)520、存储器(Memory)530和通信总线(Communications Bus)540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑命令,以执行上述方法,该方法包括:
基于待管理硬件的标识,获取待管理硬件的配置信息;
基于配置信息,生成待管理硬件的管理路径;
将管理路径存储在待管理硬件的用户态文件系统的目录中;
基于待管理硬件的管理进程访问用户态文件系统,并基于管理进程对应的管理路径,获取待管理硬件的硬件信息文件;其中,待管理硬件的硬件信息文件挂载在目录中;
基于硬件信息文件,对待管理硬件进行管理。
此外,上述的存储器中的逻辑命令可以通过软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的电子设备中的处理器可以调用存储器中的逻辑指令,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例还提供一种非暂态计算机可读的存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法。
其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述方法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种硬件管理方法,其特征在于,包括:
基于待管理硬件的标识,获取所述待管理硬件的配置信息;
基于所述配置信息,生成所述待管理硬件的管理路径;
将所述管理路径存储在所述待管理硬件的用户态文件系统的目录中;
基于所述待管理硬件的管理进程访问所述用户态文件系统,并基于所述管理进程对应的管理路径,获取所述待管理硬件的硬件信息文件;其中,所述待管理硬件的硬件信息文件挂载在所述目录中;
基于所述硬件信息文件,对所述待管理硬件进行管理。
2.根据权利要求1所述的硬件管理方法,其特征在于,所述配置信息包括拓扑信息和属性信息,所述基于所述配置信息,生成所述待管理硬件的管理路径,包括:
基于所述拓扑信息和所述属性信息,生成所述待管理硬件管理进程对应的管理路径;
将所述管理路径在所述目录中对应的硬件信息文件与功能函数进行绑定;所述功能函数用于对所述目录中所述管理路径下的硬件信息文件进行访问。
3.根据权利要求1所述的硬件管理方法,其特征在于,所述基于所述待管理硬件的管理进程访问所述用户态文件系统之前,包括:
设置所述硬件信息文件的锁定标志;所述锁定标志用于控制所述管理进程访问所述硬件信息文件;
启动当前管理进程,并获取所述锁定标志;
在所述锁定标志已被其他管理进程占用的情况下,所述当前管理进程进入等待队列;
在所述锁定标志未被其他管理进程占用的情况下,所述当前管理进程访问所述硬件信息文件,并在访问结束后释放所述锁定标志。
4.根据权利要求1所述的硬件管理方法,其特征在于,所述硬件信息文件是基于如下步骤生成的:
对所述待管理硬件进行功能模拟;
基于模拟结果,生成所述待管理硬件的硬件信息文件。
5.根据权利要求1所述的硬件管理方法,其特征在于,所述硬件信息文件是基于如下步骤生成的:
基于内核态驱动的驱动访问接口,获取所述待管理硬件的硬件信息;
基于所述用户态文件系统对所述硬件信息进行封装,生成所述硬件信息文件。
6.根据权利要求2所述的硬件管理方法,其特征在于,所述基于所述待管理硬件的管理进程访问所述用户态文件系统,并基于所述管理进程对应的管理路径,获取所述待管理硬件的硬件信息文件,包括:
启动所述待管理硬件的管理进程;
基于所述管理进程对应的管理路径和所述功能函数,获取所述用户态文件系统的目录中所述管理进程对应的管理路径下的硬件信息文件;
基于获取的硬件信息文件,对所述管理进程对应的历史管理数据进行更新。
7.根据权利要求6所述的硬件管理方法,其特征在于,所述基于获取的硬件信息文件,对所述管理进程对应的历史管理数据进行更新,包括:
对所述硬件信息文件进行解析,得到所述管理进程对应的新的管理数据;
将所述新的管理数据存储至所述历史管理数据中。
8.一种硬件管理装置,其特征在于,包括:
第一获取模块,用于基于待管理硬件的标识,获取所述待管理硬件的配置信息;
生成模块,用于基于所述配置信息,生成所述待管理硬件的管理路径;
存储模块,用于将所述管理路径存储在所述待管理硬件的用户态文件系统的目录中;
第二获取模块,用于基于所述待管理硬件的管理进程访问所述用户态文件系统,并基于所述管理进程对应的管理路径,获取所述待管理硬件的硬件信息文件;其中,所述待管理硬件的硬件信息文件挂载在所述目录中;
管理模块,用于基于所述硬件信息文件,对所述待管理硬件进行管理。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的硬件管理方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至7任一项所述的硬件管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311116868.3A CN117170901A (zh) | 2023-08-31 | 2023-08-31 | 硬件管理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311116868.3A CN117170901A (zh) | 2023-08-31 | 2023-08-31 | 硬件管理方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117170901A true CN117170901A (zh) | 2023-12-05 |
Family
ID=88946311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311116868.3A Pending CN117170901A (zh) | 2023-08-31 | 2023-08-31 | 硬件管理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117170901A (zh) |
-
2023
- 2023-08-31 CN CN202311116868.3A patent/CN117170901A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5748980A (en) | System for configuring a computer system | |
US20150186161A1 (en) | Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product | |
CN103207797B (zh) | 基于通用可扩展固件接口固件系统的胶囊式定制更新方法 | |
CN102799464B (zh) | 虚拟机创建方法及系统、虚拟机重装方法及系统 | |
CN105814541B (zh) | 计算机设备及计算机设备内存启动的方法 | |
CN104185836A (zh) | 用于在系统改变之后验证计算设备的适当操作的方法和系统 | |
CN103412769A (zh) | 外接卡参数配置方法、设备以及系统 | |
US10459742B2 (en) | System and method for operating system initiated firmware update via UEFI applications | |
CN102135893A (zh) | 将操作系统集成到bios芯片及启动服务器上操作系统的方法 | |
CN111008106B (zh) | 一种服务器监控管理方法、装置及电子设备和存储介质 | |
US8086834B2 (en) | System and method for populating a dedicated system service repository for an information handling system | |
CN115291946A (zh) | 鸿蒙系统移植方法、装置、电子设备及可读介质 | |
CN116521209B (zh) | 操作系统的升级方法及装置、存储介质及电子设备 | |
CN116701285A (zh) | 远程访问控制装置、方法、设备及计算机可读介质 | |
CN111459510A (zh) | 跨网络操作系统的安装方法、装置、电子设备及介质 | |
CN110908644A (zh) | 状态节点的配置方法、装置、计算机设备和存储介质 | |
CN107911816B (zh) | 用于多模IoT设备的启动方法、多模IoT设备及存储介质 | |
CN117170901A (zh) | 硬件管理方法、装置、存储介质及电子设备 | |
CN110119625A (zh) | 一种可信计算方法 | |
CN109254856A (zh) | 智能pos服务端提供接口给客户端的方法 | |
CN112231704B (zh) | 可信网络环境保护方法、装置和计算机可读存储介质 | |
CN110119624A (zh) | 一种安全度量方法 | |
US20240160425A1 (en) | Deployment of management features using containerized service on management device and application thereof | |
CN114443150B (zh) | 交换机出厂信息同步方法、系统、终端及存储介质 | |
CN116028100B (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 |