CN113448632B - 一种Redfish资源信息调取方法、装置、设备及存储介质 - Google Patents
一种Redfish资源信息调取方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113448632B CN113448632B CN202110583285.6A CN202110583285A CN113448632B CN 113448632 B CN113448632 B CN 113448632B CN 202110583285 A CN202110583285 A CN 202110583285A CN 113448632 B CN113448632 B CN 113448632B
- Authority
- CN
- China
- Prior art keywords
- resource
- resource information
- preset
- calling
- called
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 241001290266 Sciaenops ocellatus Species 0.000 title claims abstract description 61
- 230000004044 response Effects 0.000 claims abstract description 36
- 239000000758 substrate Substances 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000007639 printing Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 abstract description 17
- 239000000463 material Substances 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 14
- 238000013515 script Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000013499 data model Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- VBRBNWWNRIMAII-WYMLVPIESA-N 3-[(e)-5-(4-ethylphenoxy)-3-methylpent-3-enyl]-2,2-dimethyloxirane Chemical compound C1=CC(CC)=CC=C1OC\C=C(/C)CCC1C(C)(C)O1 VBRBNWWNRIMAII-WYMLVPIESA-N 0.000 description 1
- 102100035373 Cyclin-D-binding Myb-like transcription factor 1 Human genes 0.000 description 1
- 101000804518 Homo sapiens Cyclin-D-binding Myb-like transcription factor 1 Proteins 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种Redfish资源信息调取方法、装置、设备及存储介质。所述方法包括:响应于基板管理控制器和基本输入输出系统均完成初始化,则获取用户输入的调取参数;将所述调取参数与预设调取参数与部件对应关系进行匹配以确定待调取部件;基于所述待调取部件和若干预设资源项目创建资源信息表,其中,每一预设资源项目对应一个URL地址;基于每一预设资源项目对应的URL地址调取资源信息并存入所创建的资源信息表。本发明的方案降低输入错误的curl命令的风险或减少于postman图形界面较复杂的人工资料输入时间,可自动撷取系统中任意部件的资源信息,不但提高了Redfish测试效率,节省人力物力,更可保证产品质量。
Description
技术领域
本发明涉及服务器技术领域,尤其涉及一种Redfish资源信息调取方法、装置、设备及存储介质。
背景技术
随着服务器行业新的发展趋势促使服务器密度越来越高,功能越来越强大及齐全,IPMI已渐渐不敷使用,不管是安全性、可扩充性及弹性都远不如Redfish。例如DMTF即提出Redfish结合了HTTP、Restful、JSON、ODATA,可运用于各种场景,并且具有安全性、可扩充性及弹性,用户由于长期使用HTTP及Restful相关技术可于最快时间上手,相关的使用工具在市面上更是不胜枚举。
以两种传统Redfish资源信息调取方法为例进行说明,具体如下:一种是利用curl(一种常用的命令行工具,用来请求Web服务器。)与Redfish建立连线并于/Redfish/v1根目录抓取其JSON信息及获得子资源及其HTTP允许方法,并于子资源再抓取相关孙资源以此类推,利用手动输入或脚本一个一个抓取资料,再手动输入HTTP可允许的测试内容,耗时耗人力。另一种是利用POSTMAN(用来测试Web Service图形化界化的工具)与Redfish建立连线并于/Redfish/v1根目录抓取其JSON信息及获得子资源及其HTTP允许方法,并于子资源再抓取相关孙资源以此类推,利用手动输入或脚本一个一个抓取资料并手动输入HTTP可允许的测试内容,耗时耗人力。此外,Redfish所有的资源模块高达上千个Odata.id,curl命令不仅冗长,postman图形接口也需要人为输入数据才可得到测试结果,此方式耗时且误码率高,所有Odata.id的内容杂乱难以透过人工判别及分类分支处理,因此亟需改进。
发明内容
有鉴于此,有必要针以上技术问题,提供无需输入命令或者在图形界面进行复杂操作的一种Redfish资源信息调取方法、装置、设备及存储介质。
根据本发明的第一方面,提供了一种Redfish资源信息调取,所述方法包括:
响应于基板管理控制器和基本输入输出系统均完成初始化,则获取用户输入的调取参数;
将所述调取参数与预设调取参数与部件对应关系进行匹配以确定待调取部件;
基于所述待调取部件和若干预设资源项目创建资源信息表,其中,每一预设资源项目对应一个URL地址;
基于每一预设资源项目对应的URL地址调取资源信息并存入所创建的资源信息表。
在一些实施例中,其特征在于,所述将所述调取参数与预设调取参数与部件对应关系进行匹配以确定待调取部件的步骤包括:
响应于所述调取参数为第一预设字符,则确认所述待调取部件为中央处理;
响应于所述调取参数为第二预设字符,则基于该对应关系确认所述待调取部件为硬盘;
响应于所述调取参数为第三预设字符,则基于该对应关系确认所述待调取部件为网卡;
响应于所述调取参数为第四预设字符,则基于该对应关系确认所述待调取部件为内存;
响应于所述调取参数为第五预设字符,则基于该对应关系确认所述待调取部件为固件和现场可更换单元;
响应于所述调取参数为第六预设字符,则基于该对应关系确认所述待调取部件包括中央处理、硬盘、网卡、内存,固件和现场可更换单元。
在一些实施例中,所述方法还包括:
响应于所述调取参数未匹配到对应固件,则对所述预设调取参数与部件对应关系进行展示。
在一些实施例中,所述基于所述待调取部件和若干预设资源项目创建资源信息表的步骤包括:
创建所述待调取部件的空白表格;
基于所述待调取部件对应的若干预设资源项目在所创建的空白表格中建立表头以完成创建资源信息表。
在一些实施例中,所述基于每一预设资源项目对应的URL地址调取资源信息并存入所创建的资源信息表的步骤包括:
通过向某一预设资源项目对应的URL地址发送请求以判断某一预设资源项目对应URL地址是否存在;
响应于某一预设资源项目对应URL地址存在,则获取URL地址对应的子资源状态并判断是否开放;
响应于子资源状态为开放,则收集资源信息并存入资源信息表中某一预设资源项目对应位置;
响应于子资源状态为不开放,则确认某一预设资源项目不存在,并在资源信息表中某一预设资源项目对应位置存入N/A。
在一些实施例中,所述方法还包括:
基于资源信息表中的信息判断是否还存在下一子资源;
若存在下一子资源,则返回至所述通过向某一预设资源项目对应的URL地址发送请求以判断某一预设资源项目对应URL地址是否存的步骤。
在一些实施例中,所述方法还包括:
若不存在下一子资源,则对资源信息表进行打印或展示。
根据本发明的第二方面,提供了一种Redfish资源信息调取装置,所述装置包括:
调取参数获取模块,用于在基板管理控制器和基本输入输出系统均完成初始化时,则获取用户输入的调取参数;
匹配模块,用于将所述调取参数与预设调取参数与部件对应关系进行匹配以确定待调取部件;
创建模块,用于基于所述待调取部件和若干预设资源项目创建资源信息表,其中,每一预设资源项目对应一个URL地址;
存储模块,用于基于每一预设资源项目对应的URL地址调取资源信息并存入所创建的资源信息表。
根据本发明的第三方面,还提供了一种计算机设备,该计算机设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的Redfish资源信息调取方法。
根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的Redfish资源信息调取方法。
上述一种Redfish资源信息调取方法,首先通过在基板管理控制器和基本输入输出系统均完成初始化后获取用户输入的调取参数,将调取参数与预设调取参数与部件对应关系进行匹配以确定待调取部件,进而基于待调取部件和若干预设资源项目创建资源信息表,最后基于每一预设资源项目对应的URL地址调取资源信息并存入所创建的资源信息表,降低输入错误的curl命令的风险或减少于postman图形界面较复杂的人工资料输入时间,可自动撷取系统中任意部件的资源信息,不但提高了Redfish测试效率,节省人力物力,更可保证产品质量。
此外,本发明还提供了一种Redfish资源信息调取装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明一个实施例提供的一种Redfish资源信息调取方法的流程示意图;
图2为本发明又一个实施例提供的Redfish调取各种不同部件资源信息的意图;
图3为本发明另一个实施例提供的一种Redfish资源信息调取装置结构示意图;
图4本发明另一个实施例中计算机设备的内部结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
为了便于理解本发明的技术方案,下面向将部分术语进行单独说明:
1.BMC(Baseboard Management Controller):
是一种小型专用处理器,用于远程监控和主机系统的管理。通常基于Arm的SoC(System on Chip)内建图形和逻辑控制,通常位于计算机、服务器、网络或储存装置的主板上,可通过专用或共享网络远程访问,并且具有多个与主机系统的连接,使其能够通过传感器、闪存BIOS/UEFI监控硬件。
2.BIOS(Basic Input/Output System):
即基本输入输出系统,亦称为ROM BIOS、System BIOS、PC BIOS,是在通电启动阶段执行硬件初始化,以及为操作系统提供运行时服务的韧体。BIOS最早随着CP/M操作系统的推出在1975年出现。BIOS预安装在个人计算机的主板上,是个人计算机启动时加载的第一个软件。
现在,BIOS的作用是初始化和测试硬件组件,以及从大容量储存装置(如硬盘)加载启动程序,并由启动程序加载操作系统。BIOS还为DOS操作系统提供键盘、显示及其他I/O装置的硬件抽象层。
许多BIOS程序都只能在特定计算机型号或特定主板型号上执行。早年,BIOS储存于ROM芯片上;现在的BIOS多储存于闪存芯片上,这方便了BIOS的更新。
3.Redfish:Redfish是一个开放的行业标准规范和模式,它指定了RESTful接口,并利用了定义的JSON有效负载,用于现有客户端应用程序和基于浏览器的GUI。Redfish的第1版侧重于服务器,为IPMI-over-LAN提供了一个安全、多节点的替代品。随后的Redfish版本增加了对网络接口(例如NIC、CNA和FC HBA)、PCIe交换、本地存储、NVDIMM、多功能适配器和可组合性以及固件更新服务、软件更新推送方法和安全特权映射的管理。此外,Redfish主机接口规范允许在操作系统上运行应用程序和工具,包括在启动前(固件)阶段-与Redfish管理服务沟通。在定义Redfish标准时,协议与数据模型可分开并允许独立地修改。以模式为基础的数据模型是可伸缩和可扩展的,并且随着行业的发展,它将越来越具有人类可读性定义。
4.JSON:JSON(JavaScript Object Notation,JavaScript对象表示法,读作)是一种由道格拉斯·克罗克福特构想和设计、轻量级的数据交换语言,该语言以易于让人阅读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象。尽管JSON是JavaScript的一个子集,但JSON是独立于语言的文字格式,并且采用了类似于C语言家族的一些习惯。
JSON数据格式与语言无关。即便它源自JavaScript,但目前很多程序语言都支持JSON格式数据的生成和解析。JSON的官方MIME类型是application/json,扩展名是.json
JSON正迅速成为现代数据格式。它本质上是人类可读的,比XML更简洁,拥有大量现代语言支持,是web服务API中增长最快的数据格式。对于嵌入式可管理性环境,JSON还有一个额外的优势:大多数基板管理控制器(BMC)已经支持web服务器,通过浏览器来管理服务器已经非常普遍(通常通过Java脚本驱动的接口)。通过在Redfish中使用JSON,可以在浏览器中直接查看来自Redfish服务的数据,从而确保数据和编程接口在语义和价值上是一致的。
5.OData:
OData协定(英语:Open Data Protocol),它是一个开源的协议,以简单和标准的方法,来建造或消除可查询和可操作的RESTful API。它创始于2007年的微软公司。版本1.0,2.0,和3.0发行在微软开放规格承诺书(Microsoft Open Specification Promise)。4.0版交由OASIS在2014年3月定出标准。2015年4月,OASIS进一步送出OData v4和ODataJSON格式v4给ISO/IEC JTC 1争取成为国际标准
这个协议开启了REST API的消涨,允许资源使用URL来识别并且定义在数据模型中,藉由简单的HTTP讯息,能够被网络上的客户端发行及编辑。它和JDBC以及ODBC类似,但是OData不局限在关系数据库
6.Python:
Python(英国发音:美国发音:)是一种广泛使用的直译式、进阶程序、通用型程序语言,由吉多·范罗苏姆创造,第一版释出于1991年。Python是ABC语言的后继者,也可以视之为一种使用传统中缀表达式的LISP方言[4]。Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩排划分代码块,而非使用大括号或者关键词)。相比于C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。
与Scheme、Ruby、Perl、Tcl等动态型别程序语言一样,Python拥有动态型别系统和垃圾回收功能,能够自动管理内存使用,并且支持多种程序范式,包括面向对象、命令式、函数式和程序式程序。其本身拥有一个巨大而广泛的标准库。
Python直译器本身几乎可以在所有的操作系统中执行。Python的其中一个直译器CPython是用C语言编写的、是一个由社群驱动的自由软件,目前由Python软件基金会管理。
7.HTTP允许方法:
GET
GET方法请求展示指定资源。使用GET的请求只应用于取得数据。
HEAD
HEAD方法请求与GET方法相同的回应,但它没有回应主体(response body)。
POST
POST方法用于提交指定资源的实体,通常会改变服务器的状态或副作用(sideeffect)。
PUT
PUT方法会取代指定资源所酬载请求(request payload)的所有表现。
DELETE
DELETE方法会删除指定资源.
CONNECT
CONNECT方法会和指定资源标明的服务器之间,建立隧道(tunnel)。
OPTIONS
OPTIONS方法描述指定资源的沟通方法(communication option)。
TRACE
TRACE方法会与指定资源标明的服务器之间,执行回路返回测试(loop-backtest)。
PATCH
PATCH方法套用指定资源的部份修改。
在一个实施例中,请参照图1所示,本发明提供了一种Redfish资源信息调取方法,所述方法包括以下步骤:
S100,响应于基板管理控制器和基本输入输出系统均完成初始化,则获取用户输入的调取参数;
S200,将所述调取参数与预设调取参数与部件对应关系进行匹配以确定待调取部件;
S300,基于所述待调取部件和若干预设资源项目创建资源信息表,其中,每一预设资源项目对应一个URL地址;
S400,基于每一预设资源项目对应的URL地址调取资源信息并存入所创建的资源信息表。
上述一种Redfish资源信息调取方法,首先通过在基板管理控制器和基本输入输出系统均完成初始化后获取用户输入的调取参数,将调取参数与预设调取参数与部件对应关系进行匹配以确定待调取部件,进而基于待调取部件和若干预设资源项目创建资源信息表,最后基于每一预设资源项目对应的URL地址调取资源信息并存入所创建的资源信息表,降低输入错误的curl命令的风险或减少于postman图形界面较复杂的人工资料输入时间,可自动撷取系统中任意部件的资源信息,不但提高了Redfish测试效率,节省人力物力,更可保证产品质量。
在又一实施例中,其特征在于,前述步骤S200包括以下步骤:
S210,响应于所述调取参数为第一预设字符,则基于该对应关系确认所述待调取部件为中央处理;
S220,响应于所述调取参数为第二预设字符,则基于该对应关系确认所述待调取部件为硬盘;
S230,响应于所述调取参数为第三预设字符,则基于该对应关系确认所述待调取部件为网卡;
S240,响应于所述调取参数为第四预设字符,则基于该对应关系确认所述待调取部件为内存;
S250,响应于所述调取参数为第五预设字符,则基于该对应关系确认所述待调取部件为固件和现场可更换单元;
S260,响应于所述调取参数为第六预设字符,则基于该对应关系确认所述待调取部件包括中央处理、硬盘、网卡、内存,固件和现场可更换单元。
在又一个实施例中,在前述实施例的基础上,所述方法还包括:
S500,响应于所述调取参数未匹配到对应固件,则对所述预设调取参数与部件对应关系进行展示。
具体举例来说,假设第一预设字符是为A,第二预设字符为B,第三预设字符为C,第四预设字符为D,第五预设字符为E,第六预设字符为all,假设用户输入的字符为D,则匹到待夹取部件为内存,如果用户输入的字符为“H”,而该字符并不能匹配到对应的部件,为了便于用户输入正确的内容,此时可见将每个正确的字符以及对应的待调取部件的对应关系展示到屏幕上,从而提示用户输入。
在又一个实施例中,前述步骤S300具体包括以下子步骤:
S310,创建所述待调取部件的空白表格;
S320,基于所述待调取部件对应的若干预设资源项目在所创建的空白表格中建立表头以完成创建资源信息表。
需要说明的是,对于每一中待调取部件都会单独创建空表,假如需要调取中央处理器的相关资源信息,会为中央处理器生成一个空白表格,然后将希望获取的中央处理器资源项目(例如温度,负载等等))作为表头写入空白表格(,以便后后续存储相应的信息;同理假如需要调取中网卡的相关资源信息,会为网卡生成一个空表表格,同时将希望获取的网卡的资源项目作为表头写入空白表格。
在又一个实施例中,前述步骤S400具体包括以下步骤:
S410,通过向某一预设资源项目对应的URL地址发送请求以判断某一预设资源项目对应URL地址是否存在;在具体实施过程中,假如发送为请求后该URL地址返回请求结果证明存在该URL地址,如果没有返回请结果则证明不存在该URL地址。
S420,响应于某一预设资源项目对应URL地址存在,则获取URL地址对应的子资源状态并判断是否开放;
S430,响应于子资源状态为开放,则收集资源信息并存入资源信息表中某一预设资源项目对应位置;
S440,响应于子资源状态为不开放,则确认某一预设资源项目不存在,并在资源信息表中某一预设资源项目对应位置存入N/A,其中N/A表示该项目没有数据。
在又一个实施例中,在前述实施例的基础上,所述方法还包括:
S610,基于资源信息表中的信息判断是否还存在下一子资源;
S620,若存在下一子资源,则返回至所述通过向某一预设资源项目对应的URL地址发送请求以判断某一预设资源项目对应URL地址是否存的步骤。
优选地,所述方法还包括:
S630,若不存在下一子资源,则对资源信息表进行打印或展示。
在又一个实施例中,由于服务器管理接口IPMI的逐渐弱势,而Redfish在各方面的优势已让它强势地取代了IPMI,但Redfish许多测试仍有部分测试人员的不熟悉,可透过运行程序脚本让测试人员能快速取得完整Redfish树状图包含那些分支,各个odata.id的HTTP允许方法,以及快速收集所有odata.id内容,并且针对各个odata.id允许方法测试,并且也可以大量节省Redfish测试时间。具体请参照图2所示,该程序脚本的包括以下步骤:
S1,首先确定测试机台BMC及BIOS皆初始化完成
S2,若使用者直接执行脚本不带其他命令,脚本会经由python argparse提示应如何输入命令,应为python3Interactive_redfish.py–ip BMC_IP–u BMC帐号名称–P帐号密码(-o/redfish/v1/Systems,若不带–o则预设输入为/redfish/v1);
S3,为-c参数判断式,假设不输入–c参数时则执行S4,若输入CPU/Memory/Disk/Ethernet/FRU则执行S5,而输入-c All时则会开始收集所有系统资讯;其中FRU是FieldReplace Unit的缩写,即现场可更换单元。
S4,若抓取的资源属性仍不是规定的字符串类型,此时则将规定的字符与部件的名称对应关系展示给用户。
S5,取得使用者欲取得的部件参数后则分别建立各个部件空白表单;
S6,建立各别部件表单表头;
S7,判断脚本内是否存在此URL,若不存在则执行S8;
S8,不存在该URL时,则继续往下一个子资源URL判断是否存在,执行S13,;
S9,URL存在则确定部件是否是开启状态,为不开启状态则执行S10,若为开启状态则执行S12;
S10,不存在部件后则执行S11;
S11,将所有部件相关资源内容存入N/A至列表;
S12,收集所有部件相关资源内容并存入列表;
S13,判断是否仍有相关的子资源尚未核对完毕,若有未核对完毕的子资源则回到S7,所有子资源皆核对完毕后则执行S14;
S14,收集完毕所有部件资源后则将资源填入相对应表头及表格;
S15,打印选择部件资源表格。
本发明方法,测试BMC及Redfish稳定性及可用性,在BIOS及BMC初始化完成后,由于Redfish所有的资源模块可能高达上千个Odata.id,由于测试人员不清楚各种允许方法的适合时机,此脚本已写入各个odata.id可适合的测试内容与允许方法皆已写入,测试人员无须了解其相对关系即可进行测试,并于此同时可帮助测试人员直接取得当前odata.id的JSON内容,本发明方法所带来的效益效果如下:
第一,可以避免输入错误的curl命令或于postman图形界面较复杂的人工资料输入时间。
第二,由于各种HTTP允许方法语法不仅冗长也容易输入错误,并且测试人员需要了解Redfish的规则才知道如何输入,而此脚本可自动撷取系统中的所有odata.id,且可快速取得HTTP可允许方法,并执行所有测试,此脚本不但提高了Redfish测试效率,节省人力物力,更可保证产品质量。
第三,可获取关键系统部件,由于脚本自动填入语法,可减少除错HTTP及JSON语法,并且免去输入程序时间;
第四,可获取BMC、BIOS、SEL(服务上的系统事件日志(System Event Log))及FRU等相关资讯并整理成表格,可减少出错HTTP及JSON语法,并且免去输入程序时间。
在又一个实施例中,请参照图3所示,本发明还公开了一种Redfish资源信息调取装置70,所述装置包括:
调取参数获取模块71,用于在基板管理控制器和基本输入输出系统均完成初始化时,则获取用户输入的调取参数;
匹配模块72,用于将所述调取参数与预设调取参数与部件对应关系进行匹配以确定待调取部件;
创建模块73,用于基于所述待调取部件和若干预设资源项目创建资源信息表,其中,每一预设资源项目对应一个URL地址;
存储模块74,用于基于每一预设资源项目对应的URL地址调取资源信息并存入所创建的资源信息表。
需要说明的是,关于Redfish资源信息调取装置的具体限定可以参见上文中对Redfish资源信息调取方法的限定,在此不再赘述。上述Redfish资源信息调取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
根据本发明的另一方面,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的Redfish资源信息调取方法,具体来说,所述方法包括以下步骤:
响应于基板管理控制器和基本输入输出系统均完成初始化,则获取用户输入的调取参数;
将所述调取参数与预设调取参数与部件对应关系进行匹配以确定待调取部件;
基于所述待调取部件和若干预设资源项目创建资源信息表,其中,每一预设资源项目对应一个URL地址;
基于每一预设资源项目对应的URL地址调取资源信息并存入所创建的资源信息表。
根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的Redfish资源信息调取方法,具体来说,包括执行以下步骤:
响应于基板管理控制器和基本输入输出系统均完成初始化,则获取用户输入的调取参数;
将所述调取参数与预设调取参数与部件对应关系进行匹配以确定待调取部件;
基于所述待调取部件和若干预设资源项目创建资源信息表,其中,每一预设资源项目对应一个URL地址;
基于每一预设资源项目对应的URL地址调取资源信息并存入所创建的资源信息表。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种Redfish资源信息调取方法,其特征在于,所述方法包括:
响应于基板管理控制器和基本输入输出系统均完成初始化,则获取用户输入的调取参数;
将所述调取参数与预设调取参数与部件对应关系进行匹配以确定待调取部件;
基于所述待调取部件和若干预设资源项目创建资源信息表,其中,每一预设资源项目对应一个URL地址;
基于每一预设资源项目对应的URL地址调取资源信息并存入所创建的资源信息表;
所述将所述调取参数与预设调取参数与部件对应关系进行匹配以确定待调取部件的步骤包括:
响应于所述调取参数为第一预设字符,则基于所述对应关系确认所述待调取部件为中央处理;
响应于所述调取参数为第二预设字符,则基于所述对应关系确认所述待调取部件为硬盘;
响应于所述调取参数为第三预设字符,则基于所述对应关系确认所述待调取部件为网卡;
响应于所述调取参数为第四预设字符,则基于所述对应关系确认所述待调取部件为内存;
响应于所述调取参数为第五预设字符,则基于所述对应关系确认所述待调取部件为固件和现场可更换单元;
响应于所述调取参数为第六预设字符,则基于所述对应关系确认所述待调取部件包括中央处理、硬盘、网卡、内存,固件和现场可更换单元。
2.根据权利要求1所述的Redfish资源信息调取方法,其特征在于,所述方法还包括:
响应于所述调取参数未匹配到对应固件,则对所述预设调取参数与部件对应关系进行展示。
3.根据权利要求1所述的Redfish资源信息调取方法,其特征在于,所述基于所述待调取部件和若干预设资源项目创建资源信息表的步骤包括:
创建所述待调取部件的空白表格;
基于所述待调取部件对应的若干预设资源项目在所创建的空白表格中建立表头以完成创建资源信息表。
4.根据权利要求3所述的Redfish资源信息调取方法,其特征在于,所述基于每一预设资源项目对应的URL地址调取资源信息并存入所创建的资源信息表的步骤包括:
通过向某一预设资源项目对应的URL地址发送请求以判断所述某一预设资源项目对应URL地址是否存在;
响应于所述某一预设资源项目对应URL地址存在,则获取URL地址对应的子资源状态并判断是否开放;
响应于子资源状态为开放,则收集资源信息并存入资源信息表中所述某一预设资源项目对应位置;
响应于子资源状态为不开放,则确认所述某一预设资源项目不存在,并在资源信息表中所述某一预设资源项目对应位置存入N/A。
5.根据权利要求4所述的Redfish资源信息调取方法,其特征在于,所述方法还包括:
基于资源信息表中的信息判断是否还存在下一子资源;
若存在下一子资源,则返回至所述通过向某一预设资源项目对应的URL地址发送请求以判断某一预设资源项目对应URL地址是否存的步骤。
6.根据权利要求5所述的Redfish资源信息调取方法,其特征在于,所述方法还包括:
若不存在下一子资源,则对资源信息表进行打印或展示。
7.一种Redfish资源信息调取装置,其特征在于,所述装置包括:
调取参数获取模块,用于在基板管理控制器和基本输入输出系统均完成初始化时,则获取用户输入的调取参数;
匹配模块,用于将所述调取参数与预设调取参数与部件对应关系进行匹配以确定待调取部件;
创建模块,用于基于所述待调取部件和若干预设资源项目创建资源信息表,其中,每一预设资源项目对应一个URL地址;
存储模块,用于基于每一预设资源项目对应的URL地址调取资源信息并存入所创建的资源信息表;
所述匹配模块进一步用于:
响应于所述调取参数为第一预设字符,则基于所述对应关系确认所述待调取部件为中央处理;
响应于所述调取参数为第二预设字符,则基于所述对应关系确认所述待调取部件为硬盘;
响应于所述调取参数为第三预设字符,则基于所述对应关系确认所述待调取部件为网卡;
响应于所述调取参数为第四预设字符,则基于所述对应关系确认所述待调取部件为内存;
响应于所述调取参数为第五预设字符,则基于所述对应关系确认所述待调取部件为固件和现场可更换单元;
响应于所述调取参数为第六预设字符,则基于所述对应关系确认所述待调取部件包括中央处理、硬盘、网卡、内存,固件和现场可更换单元。
8.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器中运行的计算机程序,所述处理器执行所述程序时执行权利要求1-6任意一项所述的Redfish资源信息调取方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-6任意一项所述的Redfish资源信息调取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110583285.6A CN113448632B (zh) | 2021-05-27 | 2021-05-27 | 一种Redfish资源信息调取方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110583285.6A CN113448632B (zh) | 2021-05-27 | 2021-05-27 | 一种Redfish资源信息调取方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448632A CN113448632A (zh) | 2021-09-28 |
CN113448632B true CN113448632B (zh) | 2023-02-24 |
Family
ID=77810452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110583285.6A Active CN113448632B (zh) | 2021-05-27 | 2021-05-27 | 一种Redfish资源信息调取方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448632B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775758A (zh) * | 2016-12-30 | 2017-05-31 | 深圳天珑无线科技有限公司 | 资源管理方法及装置 |
CN108334411A (zh) * | 2018-01-30 | 2018-07-27 | 郑州云海信息技术有限公司 | 一种BMC中基于Redfish的资源调用方法及装置 |
CN111400167A (zh) * | 2020-02-21 | 2020-07-10 | 苏州浪潮智能科技有限公司 | Redfish服务合规性验证方法、装置及设备和介质 |
CN112003827B (zh) * | 2020-07-27 | 2022-07-08 | 山东英信计算机技术有限公司 | 一种基于并行计算的可配置的Redfish服务解析方法及系统 |
CN112463590B (zh) * | 2020-11-09 | 2022-08-19 | 苏州浪潮智能科技有限公司 | 一种互动式Redfish的测试方法、装置以及电子设备 |
CN112612611A (zh) * | 2020-12-24 | 2021-04-06 | 青岛海尔科技有限公司 | 一种信息处理的方法、装置及系统 |
-
2021
- 2021-05-27 CN CN202110583285.6A patent/CN113448632B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113448632A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108297B (zh) | 自动化测试的方法和装置 | |
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
US8464242B2 (en) | Virtualization of configuration settings | |
US20030195951A1 (en) | Method and system to dynamically detect, download and install drivers from an online service | |
US6389491B1 (en) | Test instrumentation I/O communication interface and method | |
CN110287696B (zh) | 一种反弹shell进程的检测方法、装置和设备 | |
US6785807B1 (en) | Method and system for providing bootcode support in a data processing system that uses a communications port that utilizes a first communications protocol, an external device that utilizes a second communications protocol, and a device driver that is loaded in response to booting to communicate with the external device through the communications port | |
CN112148610A (zh) | 测试用例执行方法、装置、计算机设备和存储介质 | |
CN110119280A (zh) | 多固件升级的方法及装置 | |
CN112667415B (zh) | 数据调用方法、装置、可读存储介质及电子设备 | |
CN112770108B (zh) | 性能的测试方法、装置、系统及计算机可读存储介质 | |
CN113836014A (zh) | 一种接口测试方法、装置、电子设备和存储介质 | |
CN113448632B (zh) | 一种Redfish资源信息调取方法、装置、设备及存储介质 | |
CN104570967B (zh) | 基于Android系统的远程控制方法及系统 | |
KR100506243B1 (ko) | 스크린 버퍼 검색을 통한 시스템 모니터링 방법 | |
CN113568603B (zh) | 组件对象创建及接口方法调用方法、终端及存储装置 | |
CN116244186A (zh) | 一种操作系统测试管理方法、装置与计算设备 | |
CN110471708B (zh) | 基于可重用组件的配置项获取的方法及装置 | |
US20050034120A1 (en) | Systems and methods for cooperatively building public file packages | |
CN113238901A (zh) | 多设备的自动化测试方法及装置、存储介质、计算机设备 | |
WO2021051614A1 (zh) | 访问数据库的方法、装置、设备及计算机可读存储介质 | |
CN110555090B (zh) | 一种自动获取CPU BUS Number的方法、系统、终端及存储介质 | |
CN114020350B (zh) | 一种基于安卓系统的终端外载设备检测方法、系统及介质 | |
CN113329103B (zh) | 执行用于网络设备的命令的方法和装置 | |
CN113868128B (zh) | 一种测试pxe引导功能的方法、装置、以及存储介质 |
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 |