CN116662018B - 服务器的管理方法、装置、系统、电子设备及存储介质 - Google Patents

服务器的管理方法、装置、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN116662018B
CN116662018B CN202310944278.3A CN202310944278A CN116662018B CN 116662018 B CN116662018 B CN 116662018B CN 202310944278 A CN202310944278 A CN 202310944278A CN 116662018 B CN116662018 B CN 116662018B
Authority
CN
China
Prior art keywords
attribute
server
mapping table
target
information
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
CN202310944278.3A
Other languages
English (en)
Other versions
CN116662018A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310944278.3A priority Critical patent/CN116662018B/zh
Publication of CN116662018A publication Critical patent/CN116662018A/zh
Application granted granted Critical
Publication of CN116662018B publication Critical patent/CN116662018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种服务器的管理方法、装置、系统、电子设备及存储介质,属于通信技术领域,该方法应用于服务器,包括:接收客户端发送的针对所述服务器的第一属性的信息获取请求;从预设的映射表中确定目标资源标识符对应的第一属性的第一层级分布信息和第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称;根据第一层级分布信息结构体框架;根据第一键名称从第一数据库中获取第一属性对应的目标信息,并将目标信息填充进所述结构体框架中,得到目标结构体;按照预设的数据交换语言对目标结构体进行格式转换,得到所述第一属性对应的目标属性数据,并反馈给客户端。可以节约内存空间,提高数据反馈效率。

Description

服务器的管理方法、装置、系统、电子设备及存储介质
技术领域
本申请属于通信技术领域,特别是涉及一种服务器的管理方法、装置、系统、电子设备及存储介质。
背景技术
随着服务器的不断发展,基于服务器的管理功能需求也越来越高,不单单需要支持服务器中各种传感器(sensor)的监控功能,还包括风扇控制、资产信息获取和展示、故障诊断和分析定位、部件各类信息监控等系列功能,因此原有的服务器管理规范IPMI也日渐捉襟见肘,一种应用于服务器的管理系统的新的交互协议redfish应运而生。
在相关技术中,主要通过如下方案实现redfish:基于原有的restful接口和架构及信息模板(mockup)文件实现redfish的相关功能。因为redfish是基于https/http进行相关管理数据的传输,因此可以在之前的restful接口之上剥离出redfish的实现模块,即针对redfish定义各种各样的统一资源定位符(url),然后基于url的具体返回格式定义好对应的mockup文件,当请求该url的数据的时候,首先将该mouckup文件导入到bmc的内存中,然后通过进程间通信等方式获取json中相关字段的信息,然后填充或修改其中的相关字段,最终生成一个更新信息之后的json数据,通过web服务器上传给客户端。
然而在上述方法中,需要针对每个url指定一个单独的mockup文件,这无疑增加了代码开发量;同时还需要将mockup文件编译到镜像中刷新到Flash中,随着mockup文件的数量不断增多,再加上开发的代码量比较多,使得随着url开发数增加,镜像文件也不断增大,导致开发、运行基于redfish的服务器的管理系统需要过多的存储空间,降低了服务器的管理系统的数据反馈效率和开发效率,增加了服务器的硬件成本。
发明内容
本申请提供一种服务器的管理方法、装置、系统、电子设备及存储介质,以便解决现有的基于redfish的服务器软件管理系统在进行数据反馈时占用存储空间过大、数据反馈效率过低的问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,本申请实施例提出一种服务器的管理方法,应用于服务器,所述方法包括:
接收客户端发送的针对所述服务器的第一属性的信息获取请求,所述信息获取请求中携带所述第一属性对应的目标资源标识符;
响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称;所述第一数据库用于记录服务器属性信息;
根据所述第一层级分布信息搭建针对所述第一属性的结构体框架;
根据所述第一键名称从所述第一数据库中获取所述第一属性对应的目标信息,并将所述目标信息填充进所述结构体框架中,得到目标结构体;
按照预设的数据交换语言对所述目标结构体进行格式转换,得到所述第一属性对应的目标属性数据,并将所述目标属性数据反馈给所述客户端。
可选的,在所述响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称之前,所述方法包括:
获取各个服务器属性对应的模板文件;
从所述模板文件中提取各个服务器属性分别对应的层级分布信息;其中,单个服务器属性对应的层级分布信息中包括所述单个服务器属性和所述单个服务器属性对应的子属性;
确定各个服务器属性在预设的第一数据库中的键名称;所述第一数据库用于记录服务器属性信息;
搭建映射表,以记录各个服务器属性对应的资源定位符与所述层级分布信息、所述键名称的第一映射关系;
将所述映射表导入所述服务器的内存中。
可选地,所述从所述模板文件中提取各个服务器属性分别对应的层级分布信息,包括:
调用预设的语言函数库,以将所述模板文件导入所述服务器的内存中,得到每个模板文件分别对应的第一结构体;所述第一结构体用于以树状结构的形式反映服务器属性的层级分布信息;
对所述第一结构体中的内存数据进行解析处理,得到各个服务器属性分别对应的层级分布信息。
可选地,所述搭建映射表,以记录各个服务器属性对应的资源定位符与所述层级分布信息、所述键名称的第一映射关系,包括:
根据所述层级分布信息和所述键名称建立每个模板文件分别对应的属性表;
建立所述属性表与服务器属性的资源标识符的第二映射关系;
搭建映射表,以记录所述第二映射关系和所述属性表。
可选地,所述属性表中包括节点描述字符串和数据库描述字符串,所述节点描述字符串用于表示服务器属性的层级分布信息,所述数据库描述字符串用于表示服务器属性在预设的第一数据库中的键名称。
可选地,所述节点描述字符串包括层级关系描述符、数据类型描述符、分隔符描述符和键名称层级表;所述键名称层级表与所述层级关系描述符一一对应。
可选地,所述将所述映射表导入所述服务器的内存中,包括:
读取所述服务器的管理系统的版本信息;
将符合所述版本信息的映射表导入所述服务器的内存中。
可选地,所述映射表包括标准映射表和用户定制映射表。
可选地,所述将符合所述版本信息的映射表导入所述服务器的内存中,包括:
在符合所述版本信息的映射表包括标准映射表和用户定制映射表的情况下,将所述标准映射表导入所述服务器的内存中;
遍历所述用户定制映射表中的每个元素,若所述用户定制映射表中存在第一元素,则将所述第一元素添加到所述内存中的标准映射表中;所述第一元素为在所述用户定制映射表中存在但在所述标准映射表中不存在的元素。
可选地,所述响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称,包括:
响应于所述信息获取请求,按照预设的映射表确定所述目标资源标识符对应的第一属性表;
从所述第一属性表提取出所述第一属性对应的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称。
可选地,所述响应于所述信息获取请求,按照预设的映射表确定所述目标资源标识符对应的第一属性表,包括:
利用正则匹配的方式,从预设的映射表中确定所述目标资源标识符对应的第一属性表。
可选地,所述第一属性对应的第一层级分布信息包括所述第一属性与所述第一属性的子属性之间的层级关系;所述根据所述第一层级分布信息搭建针对所述第一属性的结构体框架,包括:
根据所述第一属性与所述第一属性的子属性之间的层级关系搭建针对所述第一属性的结构体框架。
可选地,所述第一键名称包括所述第一属性的键名称和所述第一属性的子属性的键名称。
可选地,所述目标信息包括第一属性的子属性对应的目标信息;所述根据所述第一键名称从所述第一数据库中获取所述第一属性对应的目标信息,并将所述目标信息填充进所述结构体框架中,得到目标结构体,包括:
根据所述第一属性的子属性的键名称从所述第一数据库中获取所述第一属性的子属性对应的目标信息;
将所述第一属性的子属性对应的目标信息填充进所述结构体框架中,得到目标结构体。
可选地,所述接收客户端发送的针对所述服务器的第一属性的信息获取请求,包括:
在检测到客户端发送的针对所述服务器的第一属性的信息获取请求的情况下,对所述信息获取请求进行认证处理;
在所述信息获取请求通过所述认证处理的情况下,接收所述信息获取请求。
可选地,所述数据交换语言包括json格式语言;所述按照预设的数据交换语言对所述目标结构体进行格式转换,得到所述第一属性对应的目标属性数据,并将所述目标属性数据反馈给所述客户端,包括:
调用预设的cjson库,以对所述目标结构体进行格式转换,得到所述第一属性对应的json格式的目标属性数据;
将所述目标属性数据反馈给所述客户端。
第二方面,本申请实施例提供一种服务器的管理装置,应用于服务器,所述装置包括:
请求接收模块,用于接收客户端发送的针对所述服务器的第一属性的信息获取请求,所述信息获取请求中携带所述第一属性对应的目标资源标识符;
映射表调用模块,用于响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称;所述第一数据库用于记录服务器属性信息;
框架搭建模块,用于根据所述第一层级分布信息搭建针对所述第一属性的结构体框架;
结构体构建模块,用于根据所述第一键名称从所述第一数据库中获取所述第一属性对应的目标信息,并将所述目标信息填充进所述结构体框架中,得到目标结构体;
格式转换模块,用于按照预设的数据交换语言对所述目标结构体进行格式转换,得到所述第一属性对应的目标属性数据,并将所述目标属性数据反馈给所述客户端。
第三方面,本申请实施例提供了一种服务器的管理系统,所述管理系统包括:
映射表生成模块,用于搭建映射表,所述映射表用于记录资源标识符与服务器属性对应的层级分布信息、服务器属性在预设的第一数据库中的键名称的第一映射关系;所述资源标识符与服务器属性一一对应;
映射表整合模块,用于将所述映射表导入所述服务器的内存中;
请求认证模块,用于对客户端发送的针对所述服务器的第一属性的信息获取请求进行认证处理和接收;
请求解析模块,用于响应于所述信息获取请求,获取第一属性对应的目标属性数据,并将所述目标属性数据反馈给客户端。
第四方面,本申请实施例提供一种电子设备,包括:处理器、存储器以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面或第二方面所述的服务器的管理方法。
第五方面,本申请实施例提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面或第二方面所述的服务器的管理方法。
本申请提供了一种服务器的管理方法,在接收客户端发送的针对所述服务器的第一属性的信息获取请求后,响应于所述信息获取请求,从预设的映射表中确定目标资源标识符对应的第一属性的第一层级分布信息和第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称,然后根据第一层级分布信息搭建针对所述第一属性的结构体框架,根据所述第一键名称从所述第一数据库中获取第一属性对应的目标信息,并将目标信息填充进结构体框架中,得到目标结构体,最后对目标结构体进行格式转换得到目标属性数据,反馈给客户端。通过上述方法,利用预设的map表获取到的第一层级分布信息和第一键名称能够快速建立记录第一属性的信息的结构体进而进行格式转换和数据反馈,提高了服务器的管理系统的数据反馈效率;并且,在信息反馈过程中,不需要再执行调用mockup文件和编译mockup文件的过程,有效节约了内存空间和计算资源,也因此改变了当前开发redish需要针对每个url开发对应的逻辑代码的现状,省去了繁杂的逻辑代码开发,规避了代码开发可能引入的相关问题,提高了开发效率。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种服务器的管理方法的步骤流程图;
图2是本申请实施例提供的一种映射表整合方法的步骤流程图;
图3是本申请实施例提供的一种服务器的管理装置的结构图;
图4是本申请实施例提供的一种服务器的管理系统的结构图;
图5是本申请实施例提供的另一种服务器的管理系统的结构图;
图6是本申请实施例提供的电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例提供的一种服务器的管理方法的步骤流程图,该方法应用于服务器,所述服务器具体可以指基于redfish协议的服务器,如图1所示所述方法包括:
步骤101,接收客户端发送的针对所述服务器的第一属性的信息获取请求,所述信息获取请求中携带所述第一属性对应的目标资源标识符。
其中,目标资源标识符是所述服务器的第一属性对应的资源标识符(URI),URI与服务器属性是一一对应的。其中,URI具体可以包括用于标记第一属性的信息所在位置的定位符URL,例如,服务器温度信息、运行时长信息等具体位于哪个数据库或位于哪个日志中,均可以通过URL进行标记。
步骤102,响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称;所述第一数据库用于记录服务器属性信息。
其中,预设的映射(map)表用于记录资源标识符与服务器属性的层级分布信息、服务器属性在预设的第一数据库中的键名称的映射关系,该映射表是在redfish开发过程中预先整合在所述服务器的内存中的,相较于针对每个URL设置并编译mockup文件的方式,能够有效节约内存空间。
层级分布信息是指各个服务器属性的上下层级关系,而某个服务器属性(对应)的层级分布信息则是指在获取某个服务器属性的信息时,该服务器属性与该服务器属性的子属性的层级关系。当然若某个服务器属性为最基本的服务器属性,即该服务器属性没有下级属性,则它的层级分布信息是指该服务器属性在整个服务器属性中的层级。
以服务器属性中的温度为例,温度的层级分布信息可以表示为:
(1)服务器属性-服务器运行属性-温度,用于表示温度在整个服务器属性中属于第三层级;
(2)温度-A模块温度-A模块CPU温度,用于表示温度与A模块温度、A模块CPU温度等下级属性的层级关系。
在第一属性存在下级服务器属性的情况下,第一属性的第一层级分布关系是指第一属性与第一属性的子属性的层级关系,相应地,步骤102中所述的第一层级分布信息中记录的服务器属性包括第一属性和第一属性的下级属性;在第一属性存在下级服务器属性的情况下,第一属性的第一层级分布关系是指第一属性自身,相应的第一层级分布信息中记录的服务器属性仅包括第一属性。
预设的第一数据库用于记录服务器属性的信息,例如服务器的各模块温度、各模块运行时长等。具体地,第一数据库可以为redis数据库,其中,redis数据库是一种基于内存亦可持久化的日志型、键值对(Key-Value)数据库。因此,在获取第一数据库中记录的服务器属性的信息时,可以通过该服务器属性在redis数据中的键名称去匹配redis数据库的键值对,从而获取到响应信息。
在本申请实施例中,第一层级分布信息中记录的服务器属性,因此在接收到客户端发送的针对第一属性的信息获取请求后,利用预设的map表便可以确定第一属性的第一层级分布信息以及第一层级分布信息中记录的服务器属性在第一数据库中的键名称,即第一键名称。通过步骤102获取到第一层级分布信息能够快速搭建起数据反馈文件在内存中的结构体框架,进而将从第一数据库中获取到的第一属性的信息填充进去得到目标结构体,完成信息的快速整合,最后将格式转换后得到的数据返回给客户端,完成redfish的一次完整交互,有效提高了基于redfish的数据反馈效率。
步骤103,根据所述第一层级分布信息搭建针对所述第一属性的结构体框架。
其中,结构体是由一批数据组合而成的结构型数据。组成结构型数据的每个数据称为结构型数据的“成员”,其描述了一块内存区间的大小及解释意义。
根据第一层级分布信息搭建起针对第一属性的结构体框架,相当于在内存中搭建好了用于反馈第一属性的信息的模板,因此,可以直接将获取到的第一属性信息添加进去,不需要再执行调用mockup文件和编译mockup文件的过程,有效节约了内存空间。
步骤104、根据所述第一键名称从所述第一数据库中获取所述第一属性对应的目标信息,并将所述目标信息填充进所述结构体框架中,得到目标结构体。
因为第一数据库为键值对数据库,因此,通过服务器属性在第一数据库中的键名称进行匹配,便可以获取到相应的服务器属性信息,即目标信息。
具体地,在第一属性存在下级属性的情况下,可以利用第一属性在第一数据库中的键名称去匹配第一数据库中的信息,通过由上到下的层级关系从数据库中获取到第一属性的最下级属性的信息,也可以直接利用第一属性的最下级属性在第一数据库中的键名称去匹配第一数据库中的信息,直接获取到第一属性的最下级属性的信息,并填充进结构体框架中,进而由下到上搭建起记录第一属性的信息的目标结构体。
步骤105、按照预设的数据交换语言对所述目标结构体进行格式转换,得到所述第一属性对应的目标属性数据,并将所述目标属性数据反馈给所述客户端。
在本申请中,可以利用json格式的语言作为预设的数据交换语言。以json格式为例,将目标结构体转换为json格式的目标属性数据,并将该数据反馈给客户端,从而实现客户端与服务器的管理系统的一次交互。
综上所述,本申请提供了一种服务器的管理方法,在接收客户端发送的针对所述服务器的第一属性的信息获取请求后,响应于所述信息获取请求,从预设的映射表中确定目标资源标识符对应的第一属性的第一层级分布信息和第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称,然后根据第一层级分布信息搭建针对所述第一属性的结构体框架,根据所述第一键名称从所述第一数据库中获取第一属性对应的目标信息,并将目标信息填充进结构体框架中,得到目标结构体,最后对目标结构体进行格式转换得到目标属性数据,反馈给客户端。通过上述方法,利用预设的map表获取到的第一层级分布信息和第一键名称能够快速建立记录第一属性的信息的结构体进而进行格式转换和数据反馈,提高了服务器的管理系统的数据反馈效率;并且,在信息反馈过程中,不需要再执行调用mockup文件和编译mockup文件的过程,有效节约了内存空间和计算资源,也因此改变了当前开发redish需要针对每个url开发对应的逻辑代码的现状,省去了繁杂的逻辑代码开发,规避了代码开发可能引入的相关问题,提高了开发效率。
可选的,在步骤102所述响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称之前,所述方法还包括:
步骤S11、获取各个服务器属性对应的模板文件;
步骤S12、从所述模板文件中提取各个服务器属性分别对应的层级分布信息;其中,单个服务器属性对应的层级分布信息中包括所述单个服务器属性和所述单个服务器属性对应的子属性;
步骤S13、确定各个服务器属性在预设的第一数据库中的键名称;所述第一数据库用于记录服务器属性信息;
步骤S14、搭建映射表,以记录各个服务器属性对应的资源定位符与所述层级分布信息、所述键名称的第一映射关系;
步骤S15、将所述映射表导入所述服务器的内存中。
其中,模板(mockup)文件是针对不同服务器属性进行信息反馈时的模板文件,服务器的管理系统在获取到服务器属性的信息后,根据获取到的信息填对模板文件中的相关字段进行填充或修改,便可以得到一个更新信息之后的反馈数据,并上传到客户端,完成数据反馈。而由于Redfish标准协议发布之后,会存在对应不同版本的schema文件发布,因此可以通过标准工具获取到开发使用的一整套mockup模板文件。通过特定的工具将标准中的Mockup文件自动生成标准协议的Map表的方式,相对于手动生成,极大提高了开发效率,在redfish版本从低版本升级到高版本的过程中,这种方式无疑提高了开发效率,降低了转换过程中出错的可能,提高了代码的稳定性。
当然,由于redfish版本的不同,mockup文件也会存在不同,还可能存在用户自定义的mockup文件,因此,本申请并不限定mockup文件的具体获取方式,可以根据实际情况进行选择。
在本申请实施例中,在执行如图1所示的服务器的管理过程之前,从各个服务器属性的mockup文件中提取出各个服务器属性分别对应的层级分布信息,即,将每个服务器属性对应的信息反馈模板提取出来。并确定各个服务器属性在预设的第一数据库中的键名称,同时建立层级分布信息与资源标识符的映射关系、键名称与资源标识符的映射关系,由于资源标识符与服务器属性是一一对应的,换言之,也就是预先建立了层级分布信息与服务器属性的映射关系、键名称与服务器属性的映射关系。那么在进行服务器的管理时,无须再调用、编译mockup文件,实现了利用信息反馈模板搭建结构体框架和从第一数据库中获取第一属性信息的同步进行,完成了服务器反馈数据的快速整合,在节约内存资源的同时,提高了数据反馈效率。
可选地,步骤S12所述从所述模板文件中提取各个服务器属性分别对应的层级分布信息,包括:
S21、调用预设的语言函数库,以将所述模板文件导入所述服务器的内存中,得到每个模板文件分别对应的第一结构体;所述第一结构体用于以树状结构的形式反映服务器属性的层级分布信息;
S22、对所述第一结构体中的内存数据进行解析处理,得到各个服务器属性分别对应的层级分布信息。
在本申请实施例中,可以通过调用预设的语言函数库,将模板文件导入所述服务器的内存中,从而得到每个模板文件分别对应的第一结构体,而通过对结构体中的内存数据的解析,便可以得到每个服务器属性对应的层级分布信息。
以json格式的语言为例,通过cjson库将json格式的模板文件导入到内存中,得到不同模板文件对应的第一结构体。针对单个模板文件,通过解析单个模板文件对应的第一结构体中的内存数据,就可以得到该json文件中以树状结构描述的每个节点的键名称、值类型、值内容等相关信息,从而得到服务器属性对应的层级分布信息。其中,每个节点表示一个服务器属性,每个节点的键名称表示的是该节点在json文件中的键名称。
可选地,所述步骤S14搭建映射表,以记录各个服务器属性对应的资源定位符与所述层级分布信息、所述键名称的第一映射关系,包括:
步骤S31、根据所述层级分布信息和所述键名称建立每个模板文件分别对应的属性表;
步骤S32、建立所述属性表与服务器属性的资源标识符的第二映射关系;
步骤S33、搭建映射表,以记录所述第二映射关系和所述属性表。
其中,属性表是以特殊格式描述服务器属性的层级分布关系、位置分布和服务器属性与第一数据库之间的对应关系,可以在redfish的开发过程中固化在逻辑代码中,以用于生成map表,无须单独的存储空间,有助于提高redfish的开发效率。
具体地,在生成每个mockup文件对应的属性表后,可以将属性表和对应的URI正则表达式字符串对应起来,就建立起了属性表与服务器属性的资源标识符的第二映射关系,最后搭建映射表,以记录所述第二映射关系和所述属性表。
可选地,所述属性表中包括节点描述字符串和数据库描述字符串,所述节点描述字符串用于表示服务器属性的层级分布信息,所述数据库描述字符串用于表示服务器属性在预设的第一数据库中的键名称。
可选地,所述节点描述字符串包括层级关系描述符、数据类型描述符、分隔符描述符和键名称层级表;所述键名称层级表与所述层级关系描述符一一对应。
层级关系描述符用于描述该服务属性对应的节点在整个模板文件中的层级关系,主要包含两个关键性字符对“{}”和“[]”,其中{}表示当前层级是一个对象类型,“[]”表示当前层级是一个数组类型。例如,层级关系描述符为“{}[][]{}{}[]”,则该描述符表示当前该基本节点所处的层级为某个对象中的某个数组中的某个数组中的对象中的对象中的数组,具体处于哪个对象或者数组,则通过键名称层级表进行表示。数据类型描述符可以为cjson结构体中定义的数据类型,用于表示当前的数据类型属于数值型还是布尔类型或字符串类型。分隔符描述符为指定的后面键名称层级表的分隔符。名称层级表则与前面的层级关系描述符对应一致,并且最后一个键名称就为最下级属性对应的节点,即当前最基本节点的键名称。
可选地,步骤S15所述将所述映射表导入所述服务器的内存中,包括:
步骤S41、读取所述服务器的管理系统的版本信息;
步骤S42、将符合所述版本信息的映射表导入所述服务器的内存中。
在redfish使用过程中,除了支持标准协议的命令之外,还存在各种各样的用户定制化,在定制模块中也生成了标准map表和用户定制化map表,因此redfish在正式运行之前,就需要根据配置redfish的服务器的管理系统的版本信息,整合所需要的redfish map表到内存中。
其中,版本信息可以按照如表1所示的版本字段进行表示,其中,合类型字段在32位数值中占最高字节,主要包含3种类型,分别为仅使用标准版本、仅使用定制化版本、使用标准版本+定制化版本。标准版本占用中间的2个字节的数据。其中,LSB(LeastSignificant Bit)表示在二进制数中意为最低有效位,MSB(Most Significant Bit)表示在二进制数中属于最高有效位,一般来说,MSB位于二进制数的最左侧,LSB位于二进制数的最右侧。例如,标准版本位1.13,则高字节为1,低字节为13。定制化版本为不同客户定制化的一个版本号,可以从01开始编号。
表1
可选地,所述映射表包括标准映射表和用户定制映射表。
其中,如前述步骤S41-S42中内容所述,标准映射表是指支持标准协议命令的映射表,用户定制映射表是指用户自定义的映射表。
可选地,步骤S42所述将符合所述版本信息的映射表导入所述服务器的内存中,包括:
步骤S51、在符合所述版本信息的映射表包括标准映射表和用户定制映射表的情况下,将所述标准映射表导入所述服务器的内存中;
步骤S52、遍历所述用户定制映射表中的每个元素,若所述用户定制映射表中存在第一元素,则将所述第一元素添加到所述内存中的标准映射表中;所述第一元素为在所述用户定制映射表中存在但在所述标准映射表中不存在的元素。
图2是本申请实施例提供的一种映射表整合方法的步骤流程图,其中Y表示是,N表示否。如果符合版本信息的映射表为标准映射表,则直接将标准map表导入内存。如果是符合版本信息的映射表仅为用户定制映射表,则直接将用户定制化的map表导入内存即可。如果符合所述版本信息的映射表包括标准映射表和用户定制映射表,则需要首先将标准map表导入到内存中,然后遍历定制化的map表,如果对应的map表中的元素在标准map表中已经存在了,则直接覆盖即可,如果该元素不存在与标准map表,则按照步骤S52所述的方法,将该元素即第一元素添加到内存中的标准映射表中。
通过上述将redfish标准协议和用户定制化协议相结合的方式,采用设置redfish版本的方式可以在无需编译代码重新生成镜像的情况下就可以选择支持的redfish版本,可以支持标准的redfish版本,也可以配置成支持客户定制的redfish版本,还可以配置成在标准redfish版本上实现客户定制的目的,具备较强的灵活性。
可选地,步骤102所述响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称,包括:
步骤S61、响应于所述信息获取请求,按照预设的映射表确定所述目标资源标识符对应的第一属性表;
步骤S62、从所述第一属性表提取出所述第一属性对应的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称。
模板文件对应的属性表记录了服务器属性对应的层级分布信息和服务器属性在第一数据中的键名称,因此在确定了目标资源标识符对应的第一属性表之后,可以从第一属性表中提取出第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称。
以前述内容的属性表格式为例,通过提取出第一属性表中每个属性的层级关系描述符和键名称层级表,便可以获取到第一属性的第一层级分布信息;通过提取出第一属性表中的服务器属性的数据库描述字符串便可以得到第一层级分布信息中记录的服务器属性在预设的第一数据库中的键名称,即第一键名称。
可选地,步骤S61所述响应于所述信息获取请求,按照预设的映射表确定所述目标资源标识符对应的第一属性表,包括:
步骤S71、利用正则匹配的方式,从预设的映射表中确定所述目标资源标识符对应的第一属性表。
其中,正则匹配是用一个字符串来描述一个特征,然后用来去验证另一个字符串是否符合这个特征的匹配方式。
可选地,所述第一属性对应的第一层级分布信息包括所述第一属性与所述第一属性的子属性之间的层级关系;所述根据所述第一层级分布信息搭建针对所述第一属性的结构体框架,包括:
根据所述第一属性与所述第一属性的子属性之间的层级关系搭建针对所述第一属性的结构体框架。
可选地,所述第一键名称包括所述第一属性的键名称和所述第一属性的子属性的键名称。
其中,所述第一属性的子属性为第一属性的下级属性,例如服务器属性“CPU温度”为服务器属性“温度”的下级属性。
可选地,所述目标信息包括第一属性的子属性对应的目标信息;步骤104所述根据所述第一键名称从所述第一数据库中获取所述第一属性对应的目标信息,并将所述目标信息填充进所述结构体框架中,得到目标结构体,包括:
根据所述第一属性的子属性的键名称从所述第一数据库中获取所述第一属性的子属性对应的目标信息;
将所述第一属性的子属性对应的目标信息填充进所述结构体框架中,得到目标结构体。
通过上述方法,在第一属性存在下级属性即子属性的情况下,可以直接利用第一属性的子属性在第一数据库中的键名称去匹配第一数据库中的信息,从而获取到第一属性的子属性的信息,即第一属性的子属性对应的目标信息,并将获取到的信息填充进结构体框架中,进而由下到上搭建起记录第一属性的信息的目标结构体。
当然,在第一属性存在下级属性的情况下,也可以利用第一属性在第一数据库中的键名称去匹配第一数据库中的信息,通过由上到下的层级关系从数据库中获取到第一属性的子属性的信息。具体实现方式可以根据实际情况进行选择,本申请对此不作限定。
可选地,步骤101所述接收客户端发送的针对所述服务器的第一属性的信息获取请求,包括:
步骤S81、在检测到客户端发送的针对所述服务器的第一属性的信息获取请求的情况下,对所述信息获取请求进行认证处理;
步骤S82、在所述信息获取请求通过所述认证处理的情况下,接收所述信息获取请求。
为了保证数据传输过程中的安全性,在接收并响应信息获取请求之前,需要对信息获取请求进行认证处理,以验证该信息获取请求的有效性、合法性。具体可以通过设置密钥、身份匹配等方式进行过认证处理,本申请对此不作限定。
可选地,所述数据交换语言包括json格式语言;步骤105所述按照预设的数据交换语言对所述目标结构体进行格式转换,得到所述第一属性对应的目标属性数据,并将所述目标属性数据反馈给所述客户端,包括:
调用预设的cjson库,以对所述目标结构体进行格式转换,得到所述第一属性对应的json格式的目标属性数据;
将所述目标属性数据反馈给所述客户端。
参见图3,本申请实施例提供一种服务器的管理装置,应用于服务器,所述装置200包括:
请求接收模块201,用于接收客户端发送的针对所述服务器的第一属性的信息获取请求,所述信息获取请求中携带所述第一属性对应的目标资源标识符;
映射表调用模块202,用于响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称;所述第一数据库用于记录服务器属性信息;
框架搭建模块203,用于根据所述第一层级分布信息搭建针对所述第一属性的结构体框架;
结构体构建模块204,用于根据所述第一键名称从所述第一数据库中获取所述第一属性对应的目标信息,并将所述目标信息填充进所述结构体框架中,得到目标结构体;
格式转换模块205,用于按照预设的数据交换语言对所述目标结构体进行格式转换,得到所述第一属性对应的目标属性数据,并将所述目标属性数据反馈给所述客户端。
可选的,所述装置200还包括:所述方法包括:
模板文件获取模块,用于在所述响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称之前,获取各个服务器属性对应的模板文件;
层级分布信息提取模块,用于从所述模板文件中提取各个服务器属性分别对应的层级分布信息;其中,单个服务器属性对应的层级分布信息中包括所述单个服务器属性和所述单个服务器属性对应的子属性;
键名称确定模块,用于确定各个服务器属性在预设的第一数据库中的键名称;所述第一数据库用于记录服务器属性信息;
映射表搭建模块,用于搭建映射表,以记录各个服务器属性对应的资源定位符与所述层级分布信息、所述键名称的第一映射关系;
内存导入模块,用于将所述映射表导入所述服务器的内存中。
可选地,层级分布信息提取模块,包括:
第一内存导入子模块,用于调用预设的语言函数库,以将所述模板文件导入所述服务器的内存中,得到每个模板文件分别对应的第一结构体;所述第一结构体用于以树状结构的形式反映服务器属性的层级分布信息;
结构体解析子模块,用于对所述第一结构体中的内存数据进行解析处理,得到各个服务器属性分别对应的层级分布信息。
可选地,所述映射表搭建模块,包括:
属性表建立子模块,用于根据所述层级分布信息和所述键名称建立每个模板文件分别对应的属性表;
第二映射关系建立子模块,用于建立所述属性表与服务器属性的资源标识符的第二映射关系;
映射表搭建子模块,用于搭建映射表,以记录所述第二映射关系和所述属性表。
可选地,所述属性表中包括节点描述字符串和数据库描述字符串,所述节点描述字符串用于表示服务器属性的层级分布信息,所述数据库描述字符串用于表示服务器属性在预设的第一数据库中的键名称。
可选地,所述节点描述字符串包括层级关系描述符、数据类型描述符、分隔符描述符和键名称层级表;所述键名称层级表与所述层级关系描述符一一对应。
可选地,所述内存导入模块,包括:
版本信息读取子模块,用于读取所述服务器的管理系统的版本信息;
第一内存导入子模块,用于将符合所述版本信息的映射表导入所述服务器的内存中。
可选地,所述映射表包括标准映射表和用户定制映射表。
可选地,所述将符合所述版本信息的映射表导入所述服务器的内存中,包括:
第二内存导入子模块,用于在符合所述版本信息的映射表包括标准映射表和用户定制映射表的情况下,将所述标准映射表导入所述服务器的内存中;
第三内存导入子模块,用于遍历所述用户定制映射表中的每个元素,若所述用户定制映射表中存在第一元素,则将所述第一元素添加到所述内存中的标准映射表中;所述第一元素为在所述用户定制映射表中存在但在所述标准映射表中不存在的元素。
可选地,所述映射表调用模块,包括:
属性表确定子模块,用于响应于所述信息获取请求,按照预设的映射表确定所述目标资源标识符对应的第一属性表;
信息提取子模块,用于从所述第一属性表提取出所述第一属性对应的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称。
可选地,所述属性表确定子模块,包括:
属性表匹配子模块,用于利用正则匹配的方式,从预设的映射表中确定所述目标资源标识符对应的第一属性表。
可选地,所述第一属性对应的第一层级分布信息包括所述第一属性与所述第一属性的子属性之间的层级关系;
所述框架搭建模块,包括:
框架搭建子模块,用于根据所述第一属性与所述第一属性的子属性之间的层级关系搭建针对所述第一属性的结构体框架。
可选地,所述第一键名称包括所述第一属性的键名称和所述第一属性的子属性的键名称。
可选地,所述目标信息包括第一属性的子属性对应的目标信息;
所述结构体构建模块,包括:
目标信息获取子模块,用于根据所述第一属性的子属性的键名称从所述第一数据库中获取所述第一属性的子属性对应的目标信息;
结构体构建子模块,用于将所述第一属性的子属性对应的目标信息填充进所述结构体框架中,得到目标结构体。
可选地,所述请求接收模块,包括:
认证子模块,用于在检测到客户端发送的针对所述服务器的第一属性的信息获取请求的情况下,对所述信息获取请求进行认证处理;
接收子模块,用于在所述信息获取请求通过所述认证处理的情况下,接收所述信息获取请求。
可选地,所述数据交换语言包括json格式语言;
所述格式转换模块,包括:
cjson库调用子模块,用于调用预设的cjson库,以对所述目标结构体进行格式转换,得到所述第一属性对应的json格式的目标属性数据;
反馈子模块,用于将所述目标属性数据反馈给所述客户端。
所述服务器的管理装置与如前述实施例所述的服务器的管理方法相对于相关技术所具有的优势相同,此处不再赘述。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图4示出了本申请实施例提供的一种服务器的管理系统的结构图,所述管理系统300包括:
映射表生成模块,用于搭建映射表,所述映射表用于记录资源标识符与服务器属性对应的层级分布信息、服务器属性在预设的第一数据库中的键名称的第一映射关系;所述资源标识符与服务器属性一一对应;
映射表整合模块,用于将所述映射表导入所述服务器的内存中;
请求认证模块,用于对客户端发送的针对所述服务器的第一属性的信息获取请求进行认证处理和接收;
请求解析模块,用于响应于所述信息获取请求,从预设的第一数据库获取第一属性对应的目标属性数据,并将所述目标属性数据反馈给客户端。
具体地,所述映射表生成模块用于根据前述步骤S11-S14所述的映射表的搭建方法进行映射表的搭建。
所述映射表整合模块用于根据前述步骤S15所述的方法将映射表导入服务器的内存中。
所述请求认证模块用于根据步骤S81-S82所述的方法对客户端发送的针对所述服务器的第一属性的信息获取请求进行认证处理和接收。
所述请求解析模块用于根据前述步骤101-105所述的针对第一属性的服务器的管理方法获取第一属性对应的目标属性数据,并将所述目标属性数据反馈给客户端。
其中,具体过程可以参照前述步骤或前述步骤的子步骤所述的内容,本申请在此不做赘述。
图5示出了本申请实施例提供的另一种服务器的管理系统的结构图,所述服务系统400包括:
映射表生成模块,用于搭建映射表,所述映射表用于记录资源标识符与服务器属性对应的层级分布信息、服务器属性在预设的第一数据库中的键名称的第一映射关系;所述资源标识符与服务器属性一一对应;
映射表适配模块,用于从所述映射表中筛选与所述管理系统的版本信息适配的映射表;
映射表整合模块,用于将符合所述版本信息的映射表导入所述服务器的内存中;
请求认证模块,用于对客户端发送的针对所述服务器的第一属性的信息获取请求进行认证处理和接收;
请求解析模块,用于响应于所述信息获取请求,从预设的第一数据库获取第一属性对应的目标属性数据,并将所述目标属性数据反馈给客户端。
具体地,所述映射表生成模块用于根据前述步骤S11-S14所述的映射表的搭建方法进行映射表的搭建。
所述映射表适配模块,用于根据前述步骤S41所述的方法获取服务器的管理系统的版本信息,从筛选出与管理系统的版本信息适配的映射表。
所述映射表整合模块用于根据前述步骤S42所述的方法将符合管理系统的版本信息的映射表导入服务器的内存中。
所述请求认证模块用于根据步骤S81-S82所述的方法对客户端发送的针对所述服务器的第一属性的信息获取请求进行认证处理和接收。
所述请求解析模块用于根据前述步骤101-105所述的针对第一属性的服务器的管理方法获取第一属性对应的目标属性数据,并将所述目标属性数据反馈给客户端。
其中,具体过程可以参照前述步骤或前述步骤的子步骤所述的内容,本申请在此不做赘述。
本申请还提供了一种电子设备,参见图6,包括:处理器1701、存储器1702以及存储在所述存储器上并在所述处理器上运行的计算机程序17021,所述处理器执行所述程序时实现前述实施例的服务器的管理方法。
本申请还提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的服务器的管理方法。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其他设备固有相关。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图,或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请的排序设备中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本申请的保护范围之内。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
需要说明的是,本申请实施例中获取各种数据相关过程,都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。

Claims (19)

1.一种服务器的管理方法,其特征在于,应用于服务器,所述服务器为基于redfish协议的服务器,所述方法包括:
接收客户端发送的针对所述服务器的第一属性的信息获取请求,所述信息获取请求中携带所述第一属性对应的目标资源标识符;
响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称;所述第一数据库用于记录服务器属性信息;
根据所述第一层级分布信息搭建针对所述第一属性的结构体框架;
根据所述第一键名称从所述第一数据库中获取所述第一属性对应的目标信息,并将所述目标信息填充进所述结构体框架中,得到目标结构体;
按照预设的数据交换语言对所述目标结构体进行格式转换,得到所述第一属性对应的目标属性数据,并将所述目标属性数据反馈给所述客户端;
在所述响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称之前,所述方法包括:
获取各个服务器属性对应的模板文件;
从所述模板文件中提取各个服务器属性分别对应的层级分布信息;其中,单个服务器属性对应的层级分布信息中包括所述单个服务器属性和所述单个服务器属性对应的子属性;
确定各个服务器属性在预设的第一数据库中的键名称;所述第一数据库用于记录服务器属性信息;
搭建映射表,以记录各个服务器属性对应的资源定位符与所述层级分布信息、所述键名称的第一映射关系;
将所述映射表导入所述服务器的内存中。
2.根据权利要求1所述的方法,其特征在于,所述从所述模板文件中提取各个服务器属性分别对应的层级分布信息,包括:
调用预设的语言函数库,以将所述模板文件导入所述服务器的内存中,得到每个模板文件分别对应的第一结构体;所述第一结构体用于以树状结构的形式反映服务器属性的层级分布信息;
对所述第一结构体中的内存数据进行解析处理,得到各个服务器属性分别对应的层级分布信息。
3.根据权利要求1所述的方法,其特征在于,所述搭建映射表,以记录各个服务器属性对应的资源定位符与所述层级分布信息、所述键名称的第一映射关系,包括:
根据所述层级分布信息和所述键名称建立每个模板文件分别对应的属性表;
建立所述属性表与服务器属性的资源标识符的第二映射关系;
搭建映射表,以记录所述第二映射关系和所述属性表。
4.根据权利要求3所述的方法,其特征在于,所述属性表中包括节点描述字符串和数据库描述字符串,所述节点描述字符串用于表示服务器属性的层级分布信息,所述数据库描述字符串用于表示服务器属性在预设的第一数据库中的键名称。
5.根据权利要求4所述的方法,其特征在于,所述节点描述字符串包括层级关系描述符、数据类型描述符、分隔符描述符和键名称层级表;所述键名称层级表与所述层级关系描述符一一对应。
6.根据权利要求1所述的方法,其特征在于,所述将所述映射表导入所述服务器的内存中,包括:
读取所述服务器的管理系统的版本信息;
将符合所述版本信息的映射表导入所述服务器的内存中。
7.根据权利要求6所述的方法,其特征在于,所述映射表包括标准映射表和用户定制映射表。
8.根据权利要求7所述的方法,所述将符合所述版本信息的映射表导入所述服务器的内存中,包括:
在符合所述版本信息的映射表包括标准映射表和用户定制映射表的情况下,将所述标准映射表导入所述服务器的内存中;
遍历所述用户定制映射表中的每个元素,若所述用户定制映射表中存在第一元素,则将所述第一元素添加到所述内存中的标准映射表中;所述第一元素为在所述用户定制映射表中存在但在所述标准映射表中不存在的元素。
9.根据权利要求1所述的方法,其特征在于,所述响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称,包括:
响应于所述信息获取请求,按照预设的映射表确定所述目标资源标识符对应的第一属性表;
从所述第一属性表提取出所述第一属性对应的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称。
10.根据权利要求9所述的方法,其特征在于,所述响应于所述信息获取请求,按照预设的映射表确定所述目标资源标识符对应的第一属性表,包括:
利用正则匹配的方式,从预设的映射表中确定所述目标资源标识符对应的第一属性表。
11.根据权利要求9所述的方法,其特征在于,所述第一属性对应的第一层级分布信息包括所述第一属性与所述第一属性的子属性之间的层级关系;所述根据所述第一层级分布信息搭建针对所述第一属性的结构体框架,包括:
根据所述第一属性与所述第一属性的子属性之间的层级关系搭建针对所述第一属性的结构体框架。
12.根据权利要求9所述的方法,其特征在于,所述第一键名称包括所述第一属性的键名称和所述第一属性的子属性的键名称。
13.根据权利要求12所述的方法,其特征在于,所述目标信息包括第一属性的子属性对应的目标信息;所述根据所述第一键名称从所述第一数据库中获取所述第一属性对应的目标信息,并将所述目标信息填充进所述结构体框架中,得到目标结构体,包括:
根据所述第一属性的子属性的键名称从所述第一数据库中获取所述第一属性的子属性对应的目标信息;
将所述第一属性的子属性对应的目标信息填充进所述结构体框架中,得到目标结构体。
14.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的针对所述服务器的第一属性的信息获取请求,包括:
在检测到客户端发送的针对所述服务器的第一属性的信息获取请求的情况下,对所述信息获取请求进行认证处理;
在所述信息获取请求通过所述认证处理的情况下,接收所述信息获取请求。
15.根据权利要求1所述的方法,其特征在于,所述数据交换语言包括json格式语言;所述按照预设的数据交换语言对所述目标结构体进行格式转换,得到所述第一属性对应的目标属性数据,并将所述目标属性数据反馈给所述客户端,包括:
调用预设的cjson库,以对所述目标结构体进行格式转换,得到所述第一属性对应的json格式的目标属性数据;
将所述目标属性数据反馈给所述客户端。
16.一种服务器的管理装置,其特征在于,应用于服务器,所述服务器为基于redfish协议的服务器,所述装置包括:
请求接收模块,用于接收客户端发送的针对所述服务器的第一属性的信息获取请求,所述信息获取请求中携带所述第一属性对应的目标资源标识符;
映射表调用模块,用于响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称;所述第一数据库用于记录服务器属性信息;
框架搭建模块,用于根据所述第一层级分布信息搭建针对所述第一属性的结构体框架;
结构体构建模块,用于根据所述第一键名称从所述第一数据库中获取所述第一属性对应的目标信息,并将所述目标信息填充进所述结构体框架中,得到目标结构体;
格式转换模块,用于按照预设的数据交换语言对所述目标结构体进行格式转换,得到所述第一属性对应的目标属性数据,并将所述目标属性数据反馈给所述客户端;
模板文件获取模块,用于在所述响应于所述信息获取请求,从预设的映射表中确定所述目标资源标识符对应的第一属性的第一层级分布信息和所述第一层级分布信息中记录的服务器属性在预设的第一数据库中的第一键名称之前,获取各个服务器属性对应的模板文件;
层级分布信息提取模块,用于从所述模板文件中提取各个服务器属性分别对应的层级分布信息;其中,单个服务器属性对应的层级分布信息中包括所述单个服务器属性和所述单个服务器属性对应的子属性;
键名称确定模块,用于确定各个服务器属性在预设的第一数据库中的键名称;所述第一数据库用于记录服务器属性信息;
映射表搭建模块,用于搭建映射表,以记录各个服务器属性对应的资源定位符与所述层级分布信息、所述键名称的第一映射关系;
内存导入模块,用于将所述映射表导入所述服务器的内存中。
17.一种服务器的管理系统,其特征在于,所述服务器为基于redfish协议的服务器,所述管理系统包括:
映射表生成模块,用于搭建映射表,所述映射表用于记录资源标识符与服务器属性对应的层级分布信息、服务器属性在预设的第一数据库中的键名称的第一映射关系;所述资源标识符与服务器属性一一对应;
映射表整合模块,用于将所述映射表导入所述服务器的内存中;
请求认证模块,用于对客户端发送的针对所述服务器的第一属性的信息获取请求进行认证处理和接收;
请求解析模块,用于响应于所述信息获取请求,获取第一属性对应的目标属性数据,并将所述目标属性数据反馈给客户端;
所述映射表生成模块,具体用于获取各个服务器属性对应的模板文件;从所述模板文件中提取各个服务器属性分别对应的层级分布信息;其中,单个服务器属性对应的层级分布信息中包括所述单个服务器属性和所述单个服务器属性对应的子属性;确定各个服务器属性在预设的第一数据库中的键名称;所述第一数据库用于记录服务器属性信息;搭建映射表,以记录各个服务器属性对应的资源定位符与所述层级分布信息、所述键名称的第一映射关系。
18.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-15中任一所述的服务器的管理方法。
19.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1-15中任一所述的服务器的管理方法。
CN202310944278.3A 2023-07-28 2023-07-28 服务器的管理方法、装置、系统、电子设备及存储介质 Active CN116662018B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310944278.3A CN116662018B (zh) 2023-07-28 2023-07-28 服务器的管理方法、装置、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310944278.3A CN116662018B (zh) 2023-07-28 2023-07-28 服务器的管理方法、装置、系统、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116662018A CN116662018A (zh) 2023-08-29
CN116662018B true CN116662018B (zh) 2023-11-03

Family

ID=87717475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310944278.3A Active CN116662018B (zh) 2023-07-28 2023-07-28 服务器的管理方法、装置、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116662018B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835710A (zh) * 2020-05-29 2020-10-27 中国平安财产保险股份有限公司 校验请求体的方法、装置、计算机设备和存储介质
CN112597252A (zh) * 2021-03-04 2021-04-02 全时云商务服务股份有限公司 MongoDB服务器访问方法及系统
CN113568925A (zh) * 2021-08-03 2021-10-29 中电金信软件有限公司 一种报文数据的转换方法、装置、电子设备及存储介质
CN113672233A (zh) * 2021-07-16 2021-11-19 济南浪潮数据技术有限公司 一种基于Redfish的服务器带外管理方法、装置及设备
CN113672451A (zh) * 2021-07-21 2021-11-19 济南浪潮数据技术有限公司 一种bmc服务检测方法、装置、设备及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230069222A1 (en) * 2021-08-12 2023-03-02 Seagate Technology Llc Adaptive api translator

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835710A (zh) * 2020-05-29 2020-10-27 中国平安财产保险股份有限公司 校验请求体的方法、装置、计算机设备和存储介质
CN112597252A (zh) * 2021-03-04 2021-04-02 全时云商务服务股份有限公司 MongoDB服务器访问方法及系统
CN113672233A (zh) * 2021-07-16 2021-11-19 济南浪潮数据技术有限公司 一种基于Redfish的服务器带外管理方法、装置及设备
CN113672451A (zh) * 2021-07-21 2021-11-19 济南浪潮数据技术有限公司 一种bmc服务检测方法、装置、设备及可读存储介质
CN113568925A (zh) * 2021-08-03 2021-10-29 中电金信软件有限公司 一种报文数据的转换方法、装置、电子设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于短链接的URL保护模型研究;张文盛;章红琴;;信息技术与网络安全(12);全文 *
张文盛 ; 章红琴 ; .基于短链接的URL保护模型研究.信息技术与网络安全.2019,(12),全文. *

Also Published As

Publication number Publication date
CN116662018A (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
US11609973B2 (en) Integration services systems, methods and computer program products for ECM-independent ETL tools
US20030220925A1 (en) System and method for web services management
US20230259576A1 (en) Systems and Methods for Utilizing Connectors to Obtain Web Content
US11798208B2 (en) Computerized systems and methods for graph data modeling
US20080183753A1 (en) Distributed Device Information Management System As A Distributed Information Repository System
EP3694175A1 (en) System and method for delegating authority through coupled devices
CN111427613B (zh) 一种应用程序接口api管理方法和装置
US20160224530A1 (en) Mapping stored client data to requested data using metadata
CN110275861A (zh) 数据存储方法及装置、存储介质、电子装置
US9665732B2 (en) Secure Download from internet marketplace
WO2018176139A1 (en) Integration services systems, methods and computer program products for ecm-independent etl tools
CN115017182A (zh) 一种可视化的数据分析方法及设备
CN113381866A (zh) 基于网关的服务调用方法、装置、设备及存储介质
CN113608955A (zh) 一种日志记录方法、装置、设备及存储介质
CN111949619A (zh) 动态目录生成方法、系统、电子设备及存储介质
CN115391188A (zh) 一种场景测试用例生成方法、装置、设备及存储介质
CN111767306A (zh) 一种共享信息查询系统、方法、装置及设备
CN115061851A (zh) 数据校验方法及装置、存储介质、电子设备
CN116662018B (zh) 服务器的管理方法、装置、系统、电子设备及存储介质
CN117171108A (zh) 一种虚拟模型映射方法和系统
CN102456070B (zh) 检索装置和检索方法
CN113672233B (zh) 一种基于Redfish的服务器带外管理方法、装置及设备
CN112347046A (zh) 一种获取分布式系统中文件的创建时间的方法
Pinnis Modern Website Development with Strapi and Next. js
CN113778886B (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