CN116737513B - 一种计算机硬件信息获取方法、系统及计算机设备 - Google Patents

一种计算机硬件信息获取方法、系统及计算机设备 Download PDF

Info

Publication number
CN116737513B
CN116737513B CN202311019645.5A CN202311019645A CN116737513B CN 116737513 B CN116737513 B CN 116737513B CN 202311019645 A CN202311019645 A CN 202311019645A CN 116737513 B CN116737513 B CN 116737513B
Authority
CN
China
Prior art keywords
hardware information
reading
text
information
hardware
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.)
Active
Application number
CN202311019645.5A
Other languages
English (en)
Other versions
CN116737513A (zh
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.)
Beijing Jingzhuo Technology Co ltd
Original Assignee
Beijing Jingzhuo 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 Beijing Jingzhuo Technology Co ltd filed Critical Beijing Jingzhuo Technology Co ltd
Priority to CN202311019645.5A priority Critical patent/CN116737513B/zh
Publication of CN116737513A publication Critical patent/CN116737513A/zh
Application granted granted Critical
Publication of CN116737513B publication Critical patent/CN116737513B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • 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)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种计算机硬件信息获取方法、系统及计算机设备,属于硬件信息获取技术领域,计算机硬件信息获取方法包括接收一个或多个硬件信息读取请求;所述硬件信息读取请求包括读取对象、读取命令以及读取参数类型;响应于在当前运行环境下的预设配置文件中存在与硬件信息读取请求相匹配的文本提取式,获取读取命令对应的调用方式,并根据所述调用方式以及硬件信息读取请求对硬件信息进行获取,得到文本信息;根据文本提取式,对相应的文本信息进行提取,得到信息数组;将所有信息数组进行格式转换并进行整合,得到标准硬件信息文本。本申请具有对硬件信息的获取较为方便的效果。

Description

一种计算机硬件信息获取方法、系统及计算机设备
技术领域
本发明涉及硬件信息获取技术领域,尤其是涉及一种计算机硬件信息获取方法、系统及计算机设备。
背景技术
在院校、企业的机房监控管理、再制造行业硬件评估、计算机设备国产化替代等领域中,经常需要对被管理计算机的硬件信息进行获取,例如,计算机的CPU基本信息、硬盘的温度信息等等。
目前,在不同的操作系统中通常采用不同的方式对硬件信息进行获取,即使在同种操作系统中,硬件信息的读取技术也有多种,例如,读取计算机的系统版本、CPU、内存、硬盘基础信息可以通过Windows下C++语言调用Windows接口获取,读取主板、内存芯片、显卡的详细信息可以通过命令行调用cpu-z指令进行获取,即每种读取技术的调用方式、返回的信息格式不同、返回信息的详尽程度都有所不同,从而导致对计算机硬件信息的获取较为不便。
发明内容
为了便于对计算机硬件信息进行获取,本申请提供了一种计算机硬件信息获取方法、系统及计算机设备。
第一方面,本申请提供的一种计算机硬件信息获取方法,采用如下的技术方案:
一种计算机硬件信息获取方法,应用于计算机设备,包括:
接收一个或多个硬件信息读取请求;所述硬件信息读取请求包括读取对象、读取命令以及读取参数类型;
响应于在当前运行环境下的预设配置文件中存在与硬件信息读取请求相匹配的文本提取式,获取读取命令对应的调用方式,并根据所述调用方式以及硬件信息读取请求对硬件信息进行获取,得到文本信息;
根据文本提取式,对相应的文本信息进行提取,得到信息数组;
将所有信息数组进行格式转换并进行整合,得到标准硬件信息文本。
通过采用上述技术方案,接收硬件信息读取请求,并在当前运行环境下的预设配置文件中存在与硬件信息读取请求相匹配的文本提取式时,利用读取命令对应的调用方式对硬件信息进行获取,并利用文本提取式的方式对得到的文本信息进行提取,再进行格式转换以得到标准硬件信息文本,利用根据读取命令获取调用方式的手段,无需人工对调用手段进行选择,只需输入硬件信息读取请求即能够得到标准硬件信息文本,实现了对硬件信息的获取较为方便的效果。
可选的,还包括,对预设配置文件的更新步骤,所述更新步骤具体包括:
根据所需读取的硬件信息的读取对象、读取命令以及读取参数类型,分别创建每个硬件信息在不同运行环境下的文本提取式;
将不同运行环境下的文本提取式储存至预设配置文件中,以对预设配置文件进行更新。
通过采用上述技术方案,在需要读取新的硬件信息时,根据所需读取的硬件信息的读取对象、读取命令以及读取参数类型,分别创建每个硬件信息在不同运行环境下的文本提取式,将创建的文本提取式储存至预设配置文件中,即实现了对预设配置文件的更新,更新后的预设配置文件即能够对新的硬件信息进行提取。
可选的,所述文本提取式为包括所述读取对象、读取命令以及读取参数类型的正则表达式。
通过采用上述技术方案,正则表达式创建方便,利用正则表达式作为文本提取式便于对预设配置文件进行更新维护。
可选的,所述响应于在当前运行环境下的预设配置文件中存在与硬件信息读取请求相匹配的文本提取式之前,还包括:
获取计算机设备的当前运行环境,所述当前运行环境为Windows运行环境或Linux运行环境;
依次判断预设配置文件中当前运行环境下的文本提取式是否与硬件信息读取请求相匹配,若是,则输出相匹配的文本提取式,若否,则继续判断预设配置文件中的下一个文本提取式是否与硬件信息读取请求相匹配,直至遍历预设配置文件中当前运行环境下的所有文本提取式。
通过采用上述技术方案,根据计算机设备的当前运行环境,依次判断预设配置文件中当前运行环境下是否有与硬件信息读取请求相匹配的与硬件信息读取请求相匹配,并且同一硬件信息读取请求仅对应唯一的一组文本提取式,若从预设配置文件找到相匹配的文本提取式直接输出即可,无需对剩余的文本提取式进行查找,节约了程序的执行时间,提高了执行效率。
可选的,所述调用方式包括命令行调用、软件调用、IPMI工具调用以及浏览器调用;
所述根据所述调用方式以及硬件信息读取请求对硬件信息进行获取,得到文本信息,具体包括:
根据调用方式,启动对应的读取工具;
将硬件信息读取请求输入至对应的读取工具中,所述读取工具用于根据硬件信息读取请求对硬件信息进行获取;
接收读取工具返回的文本信息。
通过采用上述技术方案,由于读取不同硬件信息所需的读取工具不同,根据调用方式启动对应的读取工具,以使得读取工具对所需的硬件信息进行读取,无需人工在不同的读取工具中输入硬件读取请求,从而是的对硬件信息的读取较为方便。
可选的,所述将所有信息数组进行格式转换并进行整合,得到标准硬件信息文本,具体包括:
根据预设JSON格式规范,分别将各所述信息数组转换为JSON格式文本;
将所有JSON格式文本进行整合,得到标准硬件信息文本。
通过采用上述技术方案,JSON格式文本通用性高,便于使得到的标准硬件信息文本能够较为方便的被查阅和调用。
可选的,应用于分布式监控系统,所述方法还包括:
将所述标准硬件信息文本发送至分布式监控系统的代理端。
通过采用上述技术方案,标准硬件信息文本发送至分布式监控系统的代理端,便于分布式监控系统的代理端对计算机设备的硬件信息进行获取。
第二方面,本申请提供一种计算机硬件信息获取系统,采用如下技术方案:
一种计算机硬件信息获取系统,应用于计算机设备,包括:
请求接收模块,用于接收一个或多个硬件信息读取请求;所述硬件信息读取请求包括读取对象、读取命令以及读取参数类型;
文本信息生成模块,用于响应于在当前运行环境下的预设配置文件中存在与硬件信息读取请求相匹配的文本提取式,获取读取命令对应的调用方式,并根据所述调用方式以及硬件信息读取请求对硬件信息进行获取,得到文本信息;
文本信息提取模块,用于根据文本提取式,对相应的文本信息进行提取,得到信息数组;
信息转化模块,用于将所有信息数组进行格式转换并进行整合,得到标准硬件信息文本。
可选的,所述文本信息生成模块包括:
读取工具启动单元,用于根据调用方式,启动对应的读取工具;
请求传输单元,用于将硬件信息读取请求输入至对应的读取工具中,所述读取工具用于根据硬件信息读取请求对硬件信息进行获取;
文本接收单元,用于接收读取工具返回的文本信息。
第三方面,本申请提供一种计算机设备,采用如下技术方案:
一种计算机设备,包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如上述任一种方法的计算机程序。
第四方面,本申请提供一种计算机可读存储介质,采用如下技术方案:
一种计算机可读存储介质,包括存储有能够被处理器加载并执行如上述任一方法中的计算机程序。
附图说明
图1是本申请其中一实施例计算机硬件信息获取方法的流程图。
图2是本申请其中一实施例输入硬件信息读取请求的界面示意图。
图3是本申请其中一实施例查询相匹配的文本提取式的方法流程图。
图4是本申请其中一实施例获取文本信息的方法流程图。
图5是本申请其中一实施例实现硬件信息获取的流程图。
图6是本申请其中一实施例计算机设备实现硬件获取系统的框图。
图7是本申请其中一实施例计算机硬件获取系统的框图。
图8是本申请其中一实施例计算机硬件信息获取系统的应用场景之一的示意图。
图9是本申请其中一实施例计算机硬件信息获取系统的应用场景之二的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例公开一种计算机硬件信息获取方法。参照图1,一种计算机硬件信息获取方法,应用于计算机设备,包括:
步骤S101:接收一个或多个硬件信息读取请求;
其中,硬件信息读取请求包括读取对象、读取命令以及读取参数类型;
具体的,读取对象,即所需读取的硬件设备,可以是CPU(中央处理器)、RAM(随机存取存储器)、DISK(磁盘)、GPU(指图形处理器)、USB(通用串行总线)、BIOS(基本输入输出系统)、MAINBOARD(主机板)、NPU(嵌入式神经网络处理器)等硬件设备。读取命令,即读取的途径,可以是GetSystemInfo命令、Windows wmic命令、systeminfo命令、cpu-z命令等。读取参数类型,可以是基本信息、温度信息、硬件状态信息等。
例如,硬件信息读取请求可以是:读取对象为CPU,读取命令为Windows wmic命令,是温度信息。此时该硬件信息读取请求则用于通过Windows wmic命令读取CPU的温度信息。作为一种可能的实现方式,参照图2,图2展示了输入硬件信息读取请求的界面图,可以以下拉框的形式选择所需的参数,例如参数1读取对象中选择CPU,参数2读取命令中提供读取对象为CPU的可能的读取命令,根据需要选择参数2的读取命令为Windows wmic命令,Windowswmic命令支持读取温度信息和基础信息,再根据需要选择参数3读取参数类型为温度信息,从而完成了硬件读取请求的输入。
应当理解,硬件信息读取请求可以输入多个,依次对每个硬件信息读取请求中的读取对象、读取命令以及读取参数类型进行选择输入即可。
步骤S102:响应于在当前运行环境下的预设配置文件中存在与硬件信息读取请求相匹配的文本提取式,获取读取命令对应的调用方式,并根据调用方式以及硬件信息读取请求对硬件信息进行获取,得到文本信息;
其中,运行环境可以是Windows运行环境或Linux运行环境。作为一种可能的实现方式,可以针对Windows运行环境或Linux运行环境采用条件编译语法写在同一份代码中,由QtCreator开发软件进行编译时,自动根据当前运行环境进行编译,从而实现对不同运行环境的识别。应当理解,在不同运行环境下所对应的预设配置文件都有所不同。
还应当理解,只有在预设配置文件中存在于硬件信息读取请求相匹配的文本提取式时,说明硬件信息读取请求输入正确,此时才能够继续执行,否则,则无法获取到相应的硬件信息。
步骤S103:根据文本提取式,对相应的文本信息进行提取,得到信息数组;
应当理解,由于文本信息中各种硬件信息的格式以及表达形式都有所不同,所以利用文本提取式便于从文本信息中抓取出所需信息,并以信息数组的形式展现。例如,在利用Windows wmic命令读取CPU的基础信息时,从文本信息中提取出的信息数组可以是:["Name=AMD Ryzen 7 PRO 6850HS with Radeon Graphics", "AMD Ryzen 7 PRO 6850HSwith Radeon Graphics"],信息数组中的元素0表示从文本信息中提取出的有效信息为Name=AMD Ryzen 7 PRO 6850HS with Radeon Graphics,信息数组中的元素1表示提取出的CPU基础信息,即CPU的名称为AMD Ryzen 7 PRO 6850HS with Radeon Graphics。
步骤S104:将所有信息数组进行格式转换并进行整合,得到标准硬件信息文本。
上述实施方式中,接收硬件信息读取请求,并在当前运行环境下的预设配置文件中存在与硬件信息读取请求相匹配的文本提取式时,利用读取命令对应的调用方式对硬件信息进行获取,并利用文本提取式的方式对得到的文本信息进行提取,再进行格式转换以得到标准硬件信息文本,利用根据读取命令获取调用方式的手段,无需人工对调用手段进行选择,只需输入硬件信息读取请求即能够得到标准硬件信息文本,实现了对硬件信息的获取较为方便的效果。
作为计算机硬件信息获取方法的进一步实施方式,计算机硬件信息获取方法还包括,对预设配置文件的更新步骤,更新步骤具体包括步骤S201-步骤S202,下面进行详细介绍。
步骤S201:根据所需读取的硬件信息的读取对象、读取命令以及读取参数类型,分别创建每个硬件信息在不同运行环境下的文本提取式;
其中,文本提取式为包括读取对象、读取命令以及读取参数类型的正则表达式。并且读取参数类型可以有多个,例如当读取对象为DISK、读取命令为wmic时,此时的读取参数类型可以是DISK的厂家、序号等一组信息。
需要说明的是,在不同运行环境下对于同一读取对象同一读取参数类型的读取命令可以相同也可以不相同,若读取命令相同,则在不同运行环境下创建的文本提取式相同。例如,在读取DISK的基础信息以及温度信息时,Windows运行环境或Linux运行环境都可以采用smartctl命令进行获取,此时在不同运行环境下读取对象、读取命令以及读取参数类型均相同,即创建的文本提取式相同。
步骤S202:将不同运行环境下的文本提取式储存至预设配置文件中,以对预设配置文件进行更新。
应当理解,对于预设配置文件的修改相较于修改代码更为方便,所以在本实施例中,当硬件变化(版本更新、硬件更换新增等)或系统发生变化,导致需要获取新的读取对象或新的读取参数类型或读取命令变换时,只需要通过更新预设配置文件的方式配置新的文本提取式,对预设配置文件进行拓展,即可适应在硬件变化或系统变化时对硬件信息的获取,而无需修改代码。
上述实施方式中,在需要提取新的硬件信息或硬件信息格式发生了变化时,根据所需读取的硬件信息的读取对象、读取命令以及读取参数类型,分别创建每个硬件信息在不同运行环境下的文本提取式,将创建的文本提取式储存至预设配置文件中,即实现了对预设配置文件的更新,更新后的预设配置文件即能够对新的硬件信息进行提取。
参照图3,作为计算机硬件信息获取方法的进一步实施方式,在响应于在当前运行环境下的预设配置文件中存在与硬件信息读取请求相匹配的文本提取式之前,还包括步骤S301-步骤S304,下面进行具体的介绍。
步骤S301:获取计算机设备的当前运行环境。
步骤S302:依次判断预设配置文件中当前运行环境下的文本提取式是否与硬件信息读取请求相匹配,若是,则执行步骤S303,若否,则执行步骤S304;
具体的,若文本提取式中的读取对象、读取命令以及读取参数类型和获取到的硬件信息读取请求中的读取对象、读取命令以及读取参数类型均相同,则判定预设配置文件中文本提取式与硬件信息读取请求相匹配。
步骤S303:输出相匹配的文本提取式。
步骤S304:继续判断预设配置文件中的下一个文本提取式是否与硬件信息读取请求相匹配,直至遍历预设配置文件中当前运行环境下的所有文本提取式。
应当理解,对于同一硬件信息读取请求,在预设配置文件中仅可能存在唯一的一组匹配的文本提取式,所以依次判断预设配置文件中是否存在相应的文本提取式,只要搜索到相匹配的文本提取式,则无需再对预设配置文件中的其他文本提取式进行判断。若遍历预设配置文件中的所有文本提取式,均未搜索到与硬件信息读取请求相匹配的文本提取式,则说明该硬件信息读取请求输入错误或当前预设配置文件不支持该硬件信息读取请求。
上述实施方式中,根据计算机设备的当前运行环境,依次判断预设配置文件中当前运行环境下是否有与硬件信息读取请求相匹配的与硬件信息读取请求相匹配,并且同一硬件信息读取请求仅对应唯一的一组文本提取式,若从预设配置文件找到相匹配的文本提取式直接输出即可,无需对剩余的文本提取式进行查找,节约了程序的执行时间,提高了执行效率。
作为得到调用方式的一种实施方式,调用方式包括命令行调用、软件调用、IPMI工具调用以及浏览器调用;
参照图4,基于此,根据调用方式以及硬件信息读取请求对硬件信息进行获取,得到文本信息,可以具体包括步骤S401-步骤S403,下面进行具体的介绍。
步骤S401:根据调用方式,启动对应的读取工具;
具体的,由于每种调用方式都有固定对应的读取工具,例如,GetSystemInfo命令需要采用C++软件程序作为读取工具,Windows wmic命令需要采用命令行作为读取工具,所有可以通过预先配置调用方式-读取工具映射表的方式,将调用方式和读取工具的对应关系预先配置至调用方式-读取工具映射表中,以便在得知调用方式中,能够找到对应的读取工具并对读取工具进行启动。
步骤S402:将硬件信息读取请求输入至对应的读取工具中。
其中,读取工具用于根据硬件信息读取请求对硬件信息进行获取;读取工具可以是软件程序、命令行或httpclient等浏览器对象等。
步骤S403:接收读取工具返回的文本信息。
具体地,以读取工具为浏览器对象为例,首先,通过步骤S401控制浏览器对象模拟打开ipmi url网页,再通过步骤S402向浏览器对象发送硬件信息读取请求,以使得浏览器对象模拟点击并从ipmi url网页上抓取相应的文本信息,最后通过步骤S403接收浏览器对象抓取的文本信息,从而即实现了利用浏览器对象对硬件信息读取请求中所需的文本信息的获取。
应当理解,每种读取工具返回的文本信息的文件格式以及具体信息的内容格式均可能有不同。
上述实施方式中,由于读取不同硬件信息所需的读取工具不同,根据调用方式启动对应的读取工具,以使得读取工具对所需的硬件信息进行读取,无需人工在不同的读取工具中输入硬件读取请求,从而使得对硬件信息的读取较为方便。
作为步骤S104的一种实施方式,步骤S104具体包括步骤S1041-步骤S1042,下面进行具体的介绍。
步骤S1041:根据预设JSON格式规范,分别将各所述信息数组转换为JSON格式文本;
具体的,作为预设JSON格式规范一种可能的实现方式,预设JSON格式规范具体为:读取对象以“[]”区分,其中,一到多个“{}”代表1到多个读取对象的信息。各读取对象之间使用半角逗号分隔。读取对象的名称及读取参数类型的返回值用半角双引号表示。
步骤S1042:将所有JSON格式文本进行整合,得到标准硬件信息文本。
具体的,若步骤S101中输入的硬件信息读取请求有多个,则分别获取每个硬件信息读取请求所对应的JSON格式文本,并将多个JSON格式文本整合为一份标准硬件信息文本进行输出。
上述实施方式中,JSON格式文本通用性高,便于使得到的标准硬件信息文本能够较为方便的被查阅和读取使用。
参照图5,是本实施例提供的计算机硬件信息获取方法的一种具体的实现方式,先读取预设的配置文件以及参数(即硬件信息读取请求,包括读取对象、读取命令以及读取参数类型三个参数),并且获取当前运行环境。若当前运行环境为windows时,参数1读取对象为CPU且参数2读取命令包含wmic命令且参数3读取参数类型包含基础信息,此时根据读取命令开启命令行并执行wmic命令,并得到文本信息,再根据三个参数匹配出文本提取式,以提取出CPU的基础信息,并以信息数组的形式呈现。依次对其他的硬件信息读取请求的硬件信息进行获取,在将所有的信息数组转换为JSON格式文本输出。同理,若当前运行环境为linux时,同样读取硬件信息读取请求中的三个参数,并根据硬件信息读取请求中的三个参数执行相应的操作,在此不再赘述。
作为计算机硬件信息获取方法的进一步实施方式,计算机硬件信息获取方法应用于分布式监控系统,方还包将标准硬件信息文本发送至分布式监控系统的代理端。其中,代理端是被监控的计算机端。
例如,当分布式监控系统采用zabbix监控软件时,代理端即为zabbix agent。
此外,本申请实施例公开一种计算机硬件信息获取系统。计算机硬件信息获取系统可以应用于计算机设备,例如图7所示,是本发明实施例提供的用于实现上述方法的计算机设备11的架构示意图。本实施例中,所述计算机设备11可以包括计算机硬件信息获取系统110、机器可读存储介质120和处理器130。
本实施例中,机器可读存储介质120与处理器130可以位于计算机设备11中且二者分离设置。机器可读存储介质120也可以是独立于计算机设备11并由处理器130访问。计算机硬件信息获取系统110可以包括存储在机器可读存储介质120的多个功能模块,例如所述计算机硬件信息获取系统110包括的各软件功能模块。当处理器130执行计算机硬件信息获取系统110中的软件功能模块所对应的计算机程序时,以实现前述方法实施例提供的计算机硬件信息获取系统。
本实施例中,计算机设备11可以包括一个或多个处理器130。处理器130可以处理与服务请求相关的信息和/或数据以执行本发明中描述的一个或多个功能。在一些实施例中,处理器130可以包括一个或多个处理引擎(例如,单核处理器或多核处理器)。仅仅举个例子,处理器130可以包括一个或多个硬件处理器,例如中央处理器CPU、特定应用集成电路ASIC、专用指令集处理器ASIP、图形处理器GPU、物理运算处理单元PPU、数字信号处理器DSP、现场可以程序门阵列FPGA、可以程序逻辑装置PLD、控制器、微控制器单元、精简指令集计算机RISC、微处理器等中的一种,或类似或其任意组合。
机器可读存储介质120可以存储数据和/或指令。在一些实施例中,机器可读存储介质120可以存储获得的数据或资料。在一些实施例中,机器可读存储介质120可以存储供所述计算机设备11执行或使用的数据和/或指令,所述计算机设备11可以通过执行或使用所述数据和/或指令以实现本申请描述的示例性方法。在一些实施例中,机器可读存储介质120可以包括大容量存储器、可以移动存储器、挥发性读写内存、只读存储器ROM等或类似或上述举例的任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性的可以移动存储器可以包括快闪驱动器、软盘、光盘、存储卡、压缩磁盘、磁带等。示例性的挥发性读写内存可以包括随机存取内存RAM。示例性的随机存取内存可以包括动态RAM、双倍速率同步动态RAM、静态RAM、晶闸管RAM和零电容RAM等。示例性的ROM可以包括掩蔽型ROM、可编程ROM、可擦除可编程ROM、电子可擦除可编程ROM、压缩磁盘ROM和数字通用磁盘ROM等。
其中,所述计算机设备11包括的计算机硬件信息获取系统110可以包括一个或多个软件功能模块。所述软件功能模块可以存储在所述机器可读存储介质120中的程序、指令,这些软件功能模块在被对应的处理器130执行时,用于实现上述的方法,例如在被无人机的处理器执行时,用于实现上述无人机执行的方法步骤,或者在被所述计算机设备11执行时,用于实现上述计算机设备11执行的方法步骤。
详细地,参照图7,本实施例提供的计算机硬件信息获取系统110可以包括请求接收模块、文本信息生成模块、文本信息提取模块以及文本信息提取模块。
请求接收模块,用于接收一个或多个硬件信息读取请求;其中,硬件信息读取请求包括读取对象、读取命令以及读取参数类型;
文本信息生成模块,用于响应于在当前运行环境下的预设配置文件中存在与硬件信息读取请求相匹配的文本提取式,获取读取命令对应的调用方式,并根据所述调用方式以及硬件信息读取请求对硬件信息进行获取,得到文本信息;
文本信息提取模块,用于根据文本提取式,对相应的文本信息进行提取,得到信息数组;
信息转化模块,用于将所有信息数组进行格式转换并进行整合,得到标准硬件信息文本。
作为文本信息生成模块的一种实施方式,文本信息生成模块包括:
读取工具启动单元,用于根据调用方式,启动对应的读取工具;
请求传输单元,用于将硬件信息读取请求输入至对应的读取工具中,所述读取工具用于根据硬件信息读取请求对硬件信息进行获取;
文本接收单元,用于接收读取工具返回的文本信息。
参照图8,作为计算机硬件信息获取系统110的一种应用场景,计算机硬件信息获取系统110应用于设备管理,以获取多台计算机设备的硬件状态,将计算机硬件信息获取系统110安装至被监测的计算机上,且多台计算机设备均与管理设备通信连接,由管理设备向每一计算机设备发送硬件信息读取请求,由计算机设备中的处理器130执行计算机硬件信息获取系统110中所包含的步骤S101-步骤S104,并将生成的标准硬件信息文本发送至管理设备,此时管理设备即能够获取到每一计算机设备的硬件信息,便于管理设备对计算机设备进行管理。
参照图9,作为计算机硬件信息获取系统110的另一种应用场景,在计算机硬件信息获取系统110应用于分布式监控系统中时,将计算机硬件信息获取系统110安装至被监控服务器。例如,当分布式监控系统采用zabbix监控软件时,zabbix监控软件包括独立部署的安装在监控管理端的zabbix server和分别安装在多个被监控服务器上的zabbix agent,被监控服务器可以是X86业务服务器、ARM业务服务器或龙芯业务服务器等,被监控服务器的运行环境可以是windows系统或Linux系统。此时由zabbix agent发送硬件信息读取请求至计算机硬件信息获取系统110,由计算机硬件信息获取系统110基于硬件信息读取请求返回标准硬件信息文本,zabbix agent再将返回的标准硬件信息文本发送至zabbix server,从而实现了监控管理端对每一被监控服务器硬件信息进行监控。
需要说明的是,由于被监控服务器可能采用是多种CPU(例如:x86、arm、龙芯等)、多种操作系统(例如:windows系统、linux系统)或多种品牌型号硬件等,所以对于不同服务器获取硬件信息的方式都有所不同,例如,对不同种类服务器采集硬件信息的脚本不相同,不同操作系统的服务器需要调用不同读取命令,返回信息格式不同需要在各自的脚本中分别处理,使得硬件信息的获取和处理较为复杂。而采用本实施例中的计算机硬件信息获取系统110对各个硬件信息进行获取,具有以下优势:1、计算机硬件信息获取系统110在各个平台(windows系统、linux系统)上均可适用;2、所需的硬件信息调用方法一致,只需要输入硬件信息读取请求即可,使得调用简单化;3、获取到的硬件信息以标准硬件信息文本的形式返回,便于对返回的标准硬件信息文本统一处理;4、由于所需获取的计算机硬件版本等原因造成硬件信息格式发生变化也无需修改程序,仅在预设配置文件中调整信息提取用的正则表达式即可。
本申请提供的一种计算机硬件信息获取系统能够实现上述一种计算机硬件信息获取方法,且一种计算机硬件信息获取系统的具体工作过程可参考上述方法实施例中的对应过程。
需要说明的是,在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
基于同一技术构思,本发明还公开一种计算机设备,包括存储器、处理器以及储存在所述存储器上并可在处理器上运行的计算机程序,处理器执行如上述任一种方法的计算机程序。
本发明还公开一种计算机可读储存介质,一种计算机可读存储介质,包括存储有能够被处理器加载并执行如上述任一方法中的计算机程序。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

Claims (6)

1.一种计算机硬件信息获取方法,其特征在于,应用于计算机设备,包括:
接收一个或多个硬件信息读取请求;所述硬件信息读取请求包括读取对象、读取命令以及读取参数类型;
获取计算机设备的当前运行环境,所述当前运行环境为Windows运行环境或Linux运行环境;
依次判断预设配置文件中当前运行环境下的文本提取式是否与硬件信息读取请求相匹配,若是,则输出相匹配的文本提取式,若否,则继续判断预设配置文件中的下一个文本提取式是否与硬件信息读取请求相匹配,直至遍历预设配置文件中当前运行环境下的所有文本提取式;
响应于在当前运行环境下的预设配置文件中存在与硬件信息读取请求相匹配的文本提取式,获取读取命令对应的调用方式,并根据所述调用方式以及硬件信息读取请求对硬件信息进行获取,得到文本信息;所述根据所述调用方式以及硬件信息读取请求对硬件信息进行获取,得到文本信息,具体包括:
根据调用方式,启动对应的读取工具;所述调用方式包括命令行调用、软件调用、IPMI工具调用以及浏览器调用;
将硬件信息读取请求输入至对应的读取工具中,所述读取工具用于根据硬件信息读取请求对硬件信息进行获取;
接收读取工具返回的文本信息;
根据文本提取式,对相应的文本信息进行提取,得到信息数组;
将所有信息数组进行格式转换并进行整合,得到标准硬件信息文本;所述将所有信息数组进行格式转换并进行整合,得到标准硬件信息文本,具体包括:根据预设JSON格式规范,分别将各所述信息数组转换为JSON格式文本;将所有JSON格式文本进行整合,得到标准硬件信息文本。
2.根据权利要求1所述的方法,其特征在于,还包括,对预设配置文件的更新步骤,所述更新步骤具体包括:
根据所需读取的硬件信息的读取对象、读取命令以及读取参数类型,分别创建每个硬件信息在不同运行环境下的文本提取式;
将不同运行环境下的文本提取式储存至预设配置文件中,以对预设配置文件进行更新。
3.根据权利要求2所述的方法,其特征在于,所述文本提取式为包括所述读取对象、读取命令以及读取参数类型的正则表达式。
4.根据权利要求1-3任意一项所述的方法,其特征在于,应用于分布式监控系统,所述方法还包括:
将所述标准硬件信息文本发送至分布式监控系统的代理端。
5.一种计算机硬件信息获取系统,应用于计算机设备,其特征在于,包括:
请求接收模块,用于接收一个或多个硬件信息读取请求;所述硬件信息读取请求包括读取对象、读取命令以及读取参数类型;获取计算机设备的当前运行环境,所述当前运行环境为Windows运行环境或Linux运行环境;
依次判断预设配置文件中当前运行环境下的文本提取式是否与硬件信息读取请求相匹配,若是,则输出相匹配的文本提取式,若否,则继续判断预设配置文件中的下一个文本提取式是否与硬件信息读取请求相匹配,直至遍历预设配置文件中当前运行环境下的所有文本提取式;
文本信息生成模块,用于响应于在当前运行环境下的预设配置文件中存在与硬件信息读取请求相匹配的文本提取式,获取读取命令对应的调用方式,并根据所述调用方式以及硬件信息读取请求对硬件信息进行获取,得到文本信息;具体包括:读取工具启动单元,用于根据调用方式,启动对应的读取工具;请求传输单元,用于将硬件信息读取请求输入至对应的读取工具中,所述读取工具根据硬件信息读取请求对硬件信息进行获取;文本接收单元,用于接收读取工具返回的文本信息;文本信息提取模块,用于根据文本提取式,对相应的文本信息进行提取,得到信息数组;
信息转化模块,用于将所有信息数组进行格式转换并进行整合,得到标准硬件信息文本;所述将所有信息数组进行格式转换并进行整合,得到标准硬件信息文本,具体包括:根据预设JSON格式规范,分别将各所述信息数组转换为JSON格式文本;将所有JSON格式文本进行整合,得到标准硬件信息文本。
6.一种计算机设备,其特征在于:包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如权利要求1-4中任一种方法的计算机程序。
CN202311019645.5A 2023-08-14 2023-08-14 一种计算机硬件信息获取方法、系统及计算机设备 Active CN116737513B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311019645.5A CN116737513B (zh) 2023-08-14 2023-08-14 一种计算机硬件信息获取方法、系统及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311019645.5A CN116737513B (zh) 2023-08-14 2023-08-14 一种计算机硬件信息获取方法、系统及计算机设备

Publications (2)

Publication Number Publication Date
CN116737513A CN116737513A (zh) 2023-09-12
CN116737513B true CN116737513B (zh) 2024-03-08

Family

ID=87906452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311019645.5A Active CN116737513B (zh) 2023-08-14 2023-08-14 一种计算机硬件信息获取方法、系统及计算机设备

Country Status (1)

Country Link
CN (1) CN116737513B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163055A (zh) * 2007-11-21 2008-04-16 浪潮电子信息产业股份有限公司 一种自动探测服务器硬件信息的方法
CN108984367A (zh) * 2018-07-05 2018-12-11 黑龙涛 一种远程监测计算机硬件信息的方法
CN110781356A (zh) * 2019-09-25 2020-02-11 苏州浪潮智能科技有限公司 一种基于管理平台的硬件查询方法、设备以及存储介质
CN110941391A (zh) * 2019-10-18 2020-03-31 苏州浪潮智能科技有限公司 一种查询集群运行环境信息的方法及系统
WO2020147419A1 (zh) * 2019-01-18 2020-07-23 深圳壹账通智能科技有限公司 监控方法、装置、计算机设备及存储介质
CN115981928A (zh) * 2022-09-29 2023-04-18 平头哥(杭州)半导体有限公司 处理器远程调试方法、系统以及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163055A (zh) * 2007-11-21 2008-04-16 浪潮电子信息产业股份有限公司 一种自动探测服务器硬件信息的方法
CN108984367A (zh) * 2018-07-05 2018-12-11 黑龙涛 一种远程监测计算机硬件信息的方法
WO2020147419A1 (zh) * 2019-01-18 2020-07-23 深圳壹账通智能科技有限公司 监控方法、装置、计算机设备及存储介质
CN110781356A (zh) * 2019-09-25 2020-02-11 苏州浪潮智能科技有限公司 一种基于管理平台的硬件查询方法、设备以及存储介质
CN110941391A (zh) * 2019-10-18 2020-03-31 苏州浪潮智能科技有限公司 一种查询集群运行环境信息的方法及系统
CN115981928A (zh) * 2022-09-29 2023-04-18 平头哥(杭州)半导体有限公司 处理器远程调试方法、系统以及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Specify and extract information from documents using the new Queries feature in AmazonTextract by Uday Narayanan;Uday Narayanan等;《AWS Machine Learning Blog》;20220421;第1-24页 *

Also Published As

Publication number Publication date
CN116737513A (zh) 2023-09-12

Similar Documents

Publication Publication Date Title
US20060265469A1 (en) XML based scripting framework, and methods of providing automated interactions with remote systems
CN108111364B (zh) 一种业务系统的测试方法及装置
CN111597110B (zh) 页面测试方法、装置、电子设备及存储介质
CN103164238A (zh) 自动化连续安装操作系统的方法
US20120254662A1 (en) Automated test system and automated test method
CN112068852B (zh) 基于国产服务器的开源软件安装方法、系统及设备和介质
CN108255735B (zh) 关联环境测试方法、电子装置及计算机可读存储介质
CN115658529A (zh) 用户页面的自动化测试方法以及相关设备
CN111611207A (zh) 状态数据处理方法、装置及计算机设备
CN113704110A (zh) 用户界面的自动化测试方法及装置
CN113553214B (zh) 一种幂等性校验方法及装置
CN113448988A (zh) 算法模型的训练方法、装置、电子设备及存储介质
CN111176164B (zh) 一种扩展多个远程输入输出模块的方法、装置及介质
CN116737513B (zh) 一种计算机硬件信息获取方法、系统及计算机设备
CN112181822A (zh) 一种测试方法和应用程序的启动耗时测试方法
CN109471665B (zh) 一种自动安装Windows操作系统的方法
CN113595762B (zh) 一种网卡配置的保存方法及装置
CN115712559A (zh) 测试硬件管理软件的方法、装置及电子设备
CN113626099B (zh) 应用程序的启动方法、装置及电子设备
CN113127099B (zh) 服务器配置方法、装置、设备及存储介质
CN112241141B (zh) Plc控制系统的硬件配置方法、系统、设备及介质
CN114490401A (zh) 网页的自动化测试方法、装置、设备
CN114860325A (zh) 一种网卡适配方法、装置、设备及存储介质
CN112416698B (zh) 监控系统的扩展方法及装置、存储介质及电子设备
CN114116544A (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
GR01 Patent grant
GR01 Patent grant