Interface management method and apparatus, and related device
Through the mapping relationship between the external management interface of the management chip and the management module, the management module associated with the device is determined, which solves the problem of BMC interface customization difficulties, and realizes flexible expansion of the BMC interface and meets the requirements for use.
Patent Information
- Application Number
- PCT/CN2024/108303
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-31
- Filing Date
- 2024-07-29
- Publication Date
- 2025-02-06
AI Technical Summary
It is difficult to customize the existing BMC interface, which is difficult to meet the needs of different whole machine manufacturers, resulting in high management and maintenance costs.
The management request is obtained through the external management interface of the management chip, and the management module associated with the device is determined based on the management request and the mapping relationship between the external management interface and the management module, thereby realizing the status monitoring and management of the device. Users can implement interface customization by modifying the mapping relationship between external management interfaces and management modules, without modifying the interface layer code and management module code.
It realizes flexible expansion of BMC interface, reduces product management and maintenance costs, and meets the usage needs of different whole machine manufacturers.
Smart Images

Figure CN2024108303_06022025_PF_FP_ABST
Abstract
Description
Interface management method, device and related equipment
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on July 31, 2023, with application number 202310962375.5 and application name “Interface management method, device and related equipment”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of servers, and in particular to an interface management method, apparatus, and related equipment. Background Art
[0003] The baseboard management controller (BMC) chip is a dedicated microcontroller embedded in the server motherboard. The software running on the BMC chip is an independent system that does not rely on other hardware on the server (such as the CPU, memory, etc.). It is used to monitor, control, and manage components in the server through out-of-band monitoring. For example, it monitors the server's status, including temperature, voltage, and information about components such as fans and power supplies. The BMC software can provide query and control functions to other servers through the external management interface, allowing remote users to implement server control, management, and monitoring functions through the BMC software.
[0004] However, the existing out-of-band monitoring methods do not follow unified standards and specifications, mainly including Redfish, command-line interface (CLI), Simple Network Management Protocol (SNMP), etc. In addition, different system manufacturers have customization requirements based on the same or different standard interface specifications, such as the need to modify the external management interface parameters, and adapt and modify the parameters and sources, names and attribute values of the monitoring modules corresponding to the external management interfaces. On the other hand, as the types and quantities of devices continue to change, the types of monitoring devices in the same server and the monitoring requirements of each device may continue to change. Then, when configuring the interface according to the user's customized requirements, it is necessary not only to modify the interface layer code of the external management interface, but also to modify the code of the management module corresponding to the external management interface. This greatly increases the cost of product management and maintenance, making BMC interface customization difficult and difficult to meet the usage requirements of different system manufacturers.
[0005] Summary of the Invention
[0006] This application provides an interface management method, apparatus, and related equipment to solve the problem that BMC interface customization is difficult and difficult to meet the usage requirements of different system manufacturers.
[0007] In a first aspect, an interface management method is provided, which is applied to a server including a management chip. The method obtains a management request through the external management interface of the management chip, and the management request is used to obtain monitoring data of a device in the server. According to the management request and the mapping relationship between the external management interface and the management module, the management module associated with the device is determined, and the management module associated with the device is used to realize status monitoring and management of the device, and the monitoring data of the device is obtained from the management module associated with the device.
[0008] Among them, the external management interface is the external interface provided by the management chip, and the user can control and manage the server by calling the external management interface. Optionally, the management chip includes a BMC chip, and the external management interface includes one or more of a Redfish interface, a Simple Network Management Protocol (SNMP) interface, and a Command Line Interface (CLI) interface. In order to make this application more understandable, the following examples are uniformly explained using the management chip being a BMC.
[0009] When implementing the method described in the first aspect, when a user requests to obtain monitoring data of a device in the server, the management chip can first obtain the management request through the external management interface, and then determine the management module associated with the device based on the management request and the mapping relationship between the external management interface and the management module, and then obtain the monitoring data of the device from the management module. In this way, when the user customizes the external management interface, it can be achieved by modifying the mapping relationship between the external management interface and the management module, without modifying the code of the external management interface and the code of the management module, thereby achieving the purpose of flexible expansion of the BMC interface.
[0010] In a possible implementation, the management request is also used to request a device in the control server, and the method further includes the following steps: controlling the device through a management module associated with the device.
[0011] In the above implementation method, when a user requests to control a device in the server, the management chip can first obtain the management request through the external management interface, and then determine the management module associated with the device based on the management request and the mapping relationship between the external management interface and the management module, and then control the device through the management module, so that the external management interface configured by the user can take effect, and the management request sent by the user calling the customized external management interface can be responded to. The user can obtain the monitoring data of the device and control the device requested to be controlled. The entire configuration process does not require modifying the code of the interface layer and the management module, solving the problem of difficult BMC interface customization.
[0012] In one possible implementation, the BMC may store the mapping relationship between the external management interface and the management module in a mapping configuration file. Optionally, the mapping configuration file also includes configuration information of the external management interface, which may include configuration information of standard fields and configuration information of custom fields, wherein standard fields refer to common fields defined by the protocol, which are usually defined in relevant standards or specifications and are widely accepted and used. Custom fields are non-standard fields defined according to user needs, which include but are not limited to attribute names, manufacturer names, attribute value sources, actions, etc., and are not specifically limited in this application. In a specific implementation, the above configuration information may include multiple interface attributes, such as interface name, interface description, request parameters, interface method, interface path, interface return value, etc., wherein the interface name is used to uniquely identify the interface; the interface description is used to describe the function, purpose and usage of the interface to help users understand the role and usage of the interface; the request parameters are used to describe the information that needs to be passed when calling the interface, including data type, parameter description, parameter name, etc.; the interface method is used to indicate the request method of the interface, including get, post, put, delete, etc.; the interface path is used to indicate the uniform resource locator (URL) path of the interface, which is used to identify the specific interface resource; the interface return value is used to describe the data format and content returned after the interface call is successful. It should be understood that the above examples are for illustration only, and the information of the external management interface may also include more content, which is not illustrated here one by one.
[0013] Optionally, the mapping configuration file may also include verification information, such as the length range of custom fields, the value range of interface types, etc. This verification information can be used to verify the mapping configuration file input by the user to avoid the configuration from failing to take effect. This application does not make specific limitations.
[0014] Optionally, a user can modify or create a new mapping configuration file by sending a configuration request. Specifically, before obtaining the management request through the external management interface of the management chip, a configuration request input by the user is obtained. The configuration request includes the mapping relationship between the external management interface and the management module. It should be understood that the configuration request may include content that can be stored in the mapping configuration file, including but not limited to the mapping relationship, configuration information, and verification information described above, and this application does not impose specific limitations.
[0015] The above implementation method stores the user's configuration requirements for the external management interface in a mapping configuration file. Both standard fields and custom fields can be stored in the mapping configuration file. When the user sends a management request through the external management interface, the BMC can determine the management module associated with the device based on the management request and the mapping configuration file, and then process the management requirement through the management module, so that the user's configuration requirements for the external management interface can take effect. The entire configuration process does not require modifying the code of the interface layer and the management module, and can realize flexible configuration of the external management interface, solving the problem of difficult BMC interface customization.
[0016] In one possible implementation, there is a mapping relationship between the external management interface and one or more management modules, and the configuration request also includes access information of the management module. When determining the management module associated with the device based on the management request and the mapping relationship between the external management interface and the management module, the access information of one or more management modules corresponding to the external management interface is obtained, and the access information in the management request is matched with the one or more access information to determine the management module corresponding to the external management interface.
[0017] In a specific implementation, a mapping configuration file corresponds to one external management interface. A mapping configuration file may include one or more mapping relationships. Different mapping relationships record the mapping relationship between the same external management interface and different management modules. The same management module can also be mapped to different external management interfaces. In other words, the same management module can appear in multiple mapping configuration files. In some implementations, a single mapping configuration file can record the mapping relationships of multiple external management interfaces. The specific configuration file library can be established based on actual business needs and is not specifically limited in this application.
[0018] Optionally, the configuration file library can be grouped and classified according to usage requirements. For example, the configuration file library may include multiple groups of mapping configuration files, where one external management interface can correspond to one group of mapping configuration files, such as a redfish protocol interface corresponding to one group of mapping configuration files, and an SNMP protocol interface corresponding to one group of mapping configuration files. Each group of mapping configuration files can be classified according to the function of the management module it records and split into different folders and files. In addition, one management module can correspond to mapping configuration files for multiple external management interfaces. In other words, the processing logic of a management module may need to use some attributes of multiple external management interfaces. The above examples are for illustrative purposes only. The configuration file library can be established according to actual business needs, and this application does not make specific limitations.
[0019] Optionally, the mapping configuration file may also include access information for the management module. This access information may include, but is not limited to, one or more of access parameters, interface information, a request body, a response body, and authentication information. When a user requests access to the management module, access can only be performed through the external management interface. Therefore, by carrying the management module access information in the management request, the BMC can match the access information with the mapping configuration file after receiving the management request. The BMC can then obtain the management module corresponding to the management request based on the external management interface and forward the management request to the management module. It should be understood that the access information may also include more content, which is not illustrated here one by one. In one possible implementation, the access information may be part of the configuration information.
[0020] In the above implementation method, the mapping configuration files are grouped according to the external management interface. Different interface protocols and standards have different mapping configuration files. In this way, each protocol can process the management request through the mapping configuration file. At the same time, by recording the access information of multiple management modules corresponding to the same external management interface in the mapping configuration file, the access information of different management modules is different. In this way, after receiving the management request sent by the user through the same external management interface, the management module corresponding to the management request can also be determined according to the access information carried in the management request and the access information recorded in the mapping configuration file. The interface customization and expansion of the BMC only requires the user to send configuration information to adjust the mapping configuration file to realize the configuration of the management module, without changing the code of the external management interface and the management module, making the solution highly flexible and scalable, and improving the user experience.
[0021] In one possible implementation, the BMC includes a resource tree, which is an interface management system. The mapping configuration file can be associated with the resource tree, wherein each management module can perform interface registration in the resource tree, and the management module recorded in the mapping configuration file is the management module registered in the resource tree. The resource tree provides a unified registration channel for multiple managements to perform unified management, so that when the BMC receives a user's management request, it can obtain the management module corresponding to the management request based on the mapping configuration file. The management module is registered on the resource tree, and the resource tree can be combined to implement routing and forwarding of the management request.
[0022] Optionally, the resource tree can be combined with the data management structure to implement interface management of the registered management module, such as a tree structure. It should be understood that the tree structure can organize and manage various resources in the system in the form of a tree structure. The tree structure can not only clearly show the hierarchical relationship between resources, facilitate the positioning and access to resources, and simplify the resource access path, but also the tree structure is easy to expand, making resource management more flexible.
[0023] In the above implementation method, there are a large number of management modules. This application registers the management modules uniformly on the resource tree, and then associates the mapping configuration file with the resource tree. In this way, after the user modifies the mapping configuration file, the configuration can be effective according to the associated resource tree, so that the customization and expansion process of the external management interface does not require modifying the code of the external management interface and the code of the back-end management application, thereby improving the user experience.
[0024] In one possible implementation, the BMC may provide a general function library (library, lib), which includes multiple processing functions for processing mapping configuration files corresponding to different external management interfaces. Different groups of mapping configuration files are parsed using different processing functions. In other words, mapping configuration files of different protocols are parsed using the processing functions of the corresponding protocols.
[0025] Optionally, the processing function can also be used to implement attribute range verification, where the attribute range can be a range set by the user, such as the attribute range that the user's configuration request can carry; the attribute range can also be a preset range, which is not specifically limited in this application. The processing function can verify the attribute range of the interface attributes in the mapping configuration file based on the attribute range to avoid interface configuration failures caused by attributes in the mapping configuration file being out of range.
[0026] Optionally, the processing function can also be used to implement route matching. The route matching means that after the user sends a management request through the external management interface, the processing function parses the mapping configuration file corresponding to the external management interface, matches the access information carried in the management request with the access information in the mapping configuration file, determines the routing information of the request, that is, the management module that the management request needs to access, and then implements the routing forwarding of the management request based on the information of the registered management modules recorded in the resource tree.
[0027] Optionally, the protocol parsing module corresponding to the external management interface can be integrated with the aforementioned function library. This allows the module to perform protocol parsing on a user request sent to the external management interface, then send the parsing results to the function library for further routing matching and attribute range verification. These parsing results may include, but are not limited to, the request method, request header, request body, access parameters, and so on. These details may vary depending on the protocol and the actual request content, and are not detailed here.
[0028] The above implementation method realizes the parsing of the mapping configuration file by establishing a function library, so that management requests for calling different types of external management interfaces can be processed by the processing functions of the corresponding protocol types, so that each protocol can be processed, making the solution highly flexible and scalable, and improving the user experience.
[0029] In one possible implementation, if a user needs to add a new management module to the BMC, and the mapping configuration file does not have relevant records of the new management module, and the user needs to configure the new management module, then the new management module can be registered on the resource tree first, and then the user's configuration request can be obtained through the external management interface. A new mapping configuration file can be created based on the information in the configuration request, or the content of the new management module can be appended to the old version of the mapping configuration file. Specifically, it may include the mapping relationship between the new management module and the external management interface, as well as the access information, verification information, etc. of the new management module. This application does not make specific limitations.
[0030] The above implementation method achieves the purpose of adding a new management module by registering the new management module on the resource tree and then recording the mapping relationship between the new management module and the external management interface in the mapping configuration file. Users can flexibly customize the management module according to their own business needs, and the customization process does not require modifying the interface layer code. The configuration process is simple and efficient.
[0031] In a second aspect, a management device is provided, which is applied to a server including a management chip. The device includes: an acquisition unit, which is used to obtain a management request through the external management interface of the management chip, the management request is used to obtain monitoring data of a device in the server, a determination unit, which is used to determine the management module associated with the device based on the management request and the mapping relationship between the external management interface and the management module, the management module associated with the device is used to realize status monitoring and management of the device, and a processing unit, which is used to obtain the monitoring data of the device from the management module associated with the device.
[0032] Implement the management device described on the second side. When a user requests to obtain monitoring data of a device in the server, the management device can first obtain the management request through the external management interface, and then determine the management module associated with the device based on the management request and the mapping relationship between the external management interface and the management module, and then obtain the monitoring data of the device from the management module. In this way, when the user customizes the external management interface, it can be achieved by modifying the mapping relationship between the external management interface and the management module, without modifying the code of the external management interface and the code of the management module, thereby achieving the purpose of flexible expansion of the BMC interface.
[0033] In a possible implementation, the management request is further used to request a device in the control server, wherein the processing unit is used to control the device through a management module associated with the device.
[0034] In a possible implementation, the acquiring unit is configured to acquire a configuration request input by a user before acquiring a management request through the external management interface of the management chip, where the configuration request includes a mapping relationship between the external management interface and the management module.
[0035] In one possible implementation, the configuration request includes configuration information of the external management interface, the configuration information includes standard configuration information and custom configuration information, the standard configuration information includes information of standard fields of the protocol corresponding to the external management interface, the custom configuration information includes information of non-standard fields defined by user needs, and the custom configuration information includes one or more of attribute name, manufacturer name, attribute value source, and action.
[0036] In one possible implementation, there is a mapping relationship between the external management interface and one or more management modules, the configuration request also includes access information of the management module, the determination unit is used to obtain one or more access information of one or more management modules corresponding to the external management interface, and the determination unit is used to match the access information in the management request with one or more access information to determine the management module corresponding to the external management interface.
[0037] In a possible implementation, the management chip includes a mainboard management controller (BMC) chip, and the external management interface includes one or more of a Redfish interface, a Simple Network Management Protocol (SNMP) interface, and a Command Line Interface (CLI) interface.
[0038] In a third aspect, a chip is provided, which includes a logic circuit and a power supply circuit. The power supply circuit is used to supply power to the logic circuit, and the logic circuit is used to implement the functions implemented by the management chip in the method described in the first aspect.
[0039] In a fourth aspect, a server is provided, which includes a management chip, a processor and components. The processor is used to run instructions to implement the business functions of the server, the management chip is used to implement the method described in the first aspect, and the components include at least one of the following: a computing component, a storage component, an input and output IO component, an acceleration component, a memory component and a heat dissipation component.
[0040] In a fifth aspect, a computer-readable storage medium is provided, which includes instructions. When the instructions are executed on a server, the server implements the method described in the first aspect.
[0041] Based on the implementation methods provided in the above aspects, this application can also be further combined to provide more implementation methods. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] FIG1 is an architecture diagram of an interface management system provided by the present application;
[0043] FIG2 is a schematic structural diagram of a BMC provided by the present application;
[0044] FIG3 is a schematic diagram of a step flow chart of an interface management method provided by the present application;
[0045] FIG4 is a schematic diagram of a step flow of an interface management method provided by the present application in an application scenario;
[0046] FIG5 is a schematic diagram of the steps of an interface management method provided by the present application in another application scenario;
[0047] 6 is a schematic diagram of the steps of processing a management request in an interface management method provided by the present application;
[0048] FIG7 is a schematic diagram of a step flow chart of the present application in combination with the internal structure of the BMC;
[0049] FIG8 is a schematic structural diagram of an interface management device provided by the present application;
[0050] FIG9 is a schematic structural diagram of a chip provided in this application. DETAILED DESCRIPTION
[0051] In order to solve the above-mentioned problems of difficulty in customizing the BMC interface, high management and maintenance costs, and difficulty in meeting user needs, the present application provides an interface management solution, in which the user is provided with a function of configuring the mapping relationship between the external management interface and the management module, allowing the user to customize the corresponding relationship between the external management interface and the management module. Then, in the process of monitoring data query, by obtaining the mapping relationship between the external management interface and the management module input by the user and the user's configuration information of the interface, when the external management interface of the management chip obtains a management request, it can determine the management module associated with the device according to the management request and the mapping relationship between the external management interface and the management module. The management module is used to implement status monitoring and management of the device, and then obtain the monitoring data of the device from the management module. In this way, when the user wants to modify the external management interface parameters and adapt and modify the parameters and source, name and attribute value of the monitoring module corresponding to the external management interface, he only needs to enter the mapping relationship and configuration information between the external management interface and the management module, thereby achieving the purpose of flexible expansion of the interface, without modifying the code of the external management interface and the code of the management module. The configuration method is simple, flexible and efficient.
[0052] The technical solution for which protection is sought in this application is described in detail below with reference to the accompanying drawings.
[0053] Figure 1 is an architecture diagram of an interface management system provided by the present application. As shown in Figure 1, the architecture includes a client 100 and a server 200. The interface management system provided by the present application can be deployed in the server 200, wherein the number of clients 100 and servers 200 can be one or more, for example, one client 100 establishes a communication connection with multiple servers 200, or one server 200 establishes a communication connection with multiple clients 100, and the above-mentioned communication connection can be a wired connection or a wireless connection, and can be a direct connection or an indirect connection, which is not specifically limited in the present application.
[0054] Among them, the server 200 includes a management chip 210 and a component 220, wherein the management chip 210 can be a BMC chip, or it can be another microcontroller unit (MCU) in the server. The microcontroller unit needs to provide query and control functions to other servers through an external management interface, so that remote users can also implement server control management, monitoring and other functions through the BMC software. It should be understood that for some chips whose internal application interfaces cannot be exposed to users and users can only communicate with them through external management interfaces, the technical solutions provided in this application can be used to customize and expand the interfaces. In order to make this application better understood, the following will uniformly illustrate the case where the management chip 210 is a BMC chip.
[0055] The client 100 can be deployed on a terminal device, including a personal computer, a smart phone, a wearable device, a handheld processing device, a tablet computer, a mobile notebook, an augmented reality (AR) device, a virtual reality (VR) device, an integrated handheld device, a wearable device, a vehicle-mounted device, a smart conference device, a smart advertising device, a smart home appliance, etc., without specific limitation here.
[0056] In a specific implementation, the above-mentioned client 100 can be a software or application running on a terminal device or computing device controlled by the user, such as a personal computer (PC) client, or a web client accessed based on a browser, or an application (APP) client running on a mobile terminal. This application does not make specific limitations.
[0057] Optionally, the client 100 may be a BMC client for remotely or locally controlling the BMC 210. Users can use the client 100 to customize interfaces, modify interface parameters, add or delete interface information, and perform various BMC management functions, such as controlling server power on and off, and querying server voltage, temperature, and fan operating status. Examples are not provided here.
[0058] Optionally, the client 100 may also be a built-in plug-in of the BMC client, which is used to provide interface customization services. When using the BMC software, users can use the built-in plug-in to implement interface customization requirements.
[0059] Optionally, the client 100 may also be a cloud platform console, serving as a BMC management service within the cloud platform, or a subservice within the BMC management service within the cloud platform, providing users with interface customization capabilities. Users may purchase cloud services and utilize the interface management method provided in this application. The console may be a web-based client or an application programming interface (API), which is not specifically limited in this application.
[0060] Optionally, users of the client 100 may include partners, suppliers, and network administrators. Assuming the server is provided by manufacturer A, suppliers are enterprises and individuals that supply various resources to manufacturer A. Partners are server manufacturers other than manufacturer A. Network administrators are individuals responsible for network operations and management within enterprises or users that purchase servers from manufacturer A. It should be noted that the client types used by different users may vary, and the specific type can be determined based on the actual application scenario.
[0061] Server 200 can be a bare metal server (BMS) or an edge computing device. A BMS refers to a general-purpose physical server, such as an ARM server or an X86 server. An edge computing device is a device that is closer to data sources and end users and features low latency and high bandwidth, such as smart routers and edge servers.
[0062] Optionally, the client 100 can be deployed in the server 200 to implement local monitoring, control, management and other functions of the server 200, such as monitoring the status of the server 200, including temperature, voltage, fan, power supply and other information.
[0063] Optionally, the client 100 can be deployed on a server other than the server 200 to implement remote monitoring, control, and management functions for the server 200, such as monitoring the status of the server 200, including information such as temperature, voltage, fan, and power supply. For example, the client 100 can be deployed on a management node of a server cluster where the server 200 is located to implement remote monitoring, control, and management functions for the server cluster including the server 200.
[0064] Furthermore, the server 200 may include a management chip 210 and multiple components 220. FIG1 illustrates an example in which the component 220 includes a computing component 220A, an input / output (IO) component 220B, a storage component 220C, and a heat dissipation component 220D. It should be understood that FIG1 is an exemplary division method, and the component 220 may also include more or fewer types, which is not specifically limited in this application. In some embodiments, the server 200 may also include an extension unit (EXU), on which the above-mentioned BMC 210 may be deployed; in other embodiments, the server 200 may also include a basic computing unit (BCU), on which the computing component 220A may be deployed, which is not illustrated here. Among them, there is a communication connection between the BMC 210 and the multiple components 220, which may be a direct connection or an indirect connection. FIG1 exemplifies a connection method, which is not specifically limited in this application.
[0065] In this architecture, the BMC 210 and the multiple components 220 can establish communication connections via a high-speed bus such as the peripheral component interconnect express (PCIE), Compute Express Link (CXL), or a unified bus (UB or Ubus). In specific implementations, the above communication connections include soft connections using cables or hard connections using connectors, which are not specifically limited in this application.
[0066] BMC 210 is a microcontroller unit (MCU) deployed on a single board in server 200, with independent power supply and I / O interfaces. It operates independently of the server's processor, basic input / output system (BIOS), or operating system. It is an agentless management subsystem running independently within server 200, serving as the management center for the entire server 200 and providing management functions such as hardware status monitoring, deployment, energy conservation, and security. The BMC chip is also known as the motherboard management controller.
[0067] Component 220 is a general term for a class of devices or equipment. Component 220 can be divided into various types based on their functions, including storage units (STUs), I / O components, acceleration units (ACUs), memory expansion units (MEUs), cooling components, computing components, and management components.
[0068] Among them, storage components include hard disk backplane, expansion board (expander), PCIE switch (switch), etc., which expand system storage and support multiple media and forms such as mechanical hard disk drive (HDD) / solid-state drive (SSD) / non-volatile memory express (NVMe) / storage class memory (SCM).
[0069] The IO components include Riser and other components to expand the system IO and support PCIE standard cards and Open Compute Project (OCP) cards.
[0070] Acceleration components include risers, carrier boards, accelerator card interconnection switches, etc., providing system acceleration component expansion and interconnection functions.
[0071] Memory expansion components include carrier boards, memory expansion chips, dual in-line memory modules (DIMMs), SCM media, etc., which provide the system with the function of expanding memory bandwidth and content capacity.
[0072] A heat dissipation component is used to dissipate heat from a computing device or hardware within the computing device, including a combination of air cooling, liquid cooling, or both. It should be understood that the structure, type, and number of heat dissipation components do not constitute a limitation on the technical solutions to be protected by this application.
[0073] Computing components, including CPU, memory, and other devices that provide general computing capabilities.
[0074] Management components, baseboard management controllers, and other devices that provide device management.
[0075] It should be understood that Figure 1 exemplarily depicts the computing component 220A, IO component 220B, storage component 220C, and heat dissipation component 220D. In specific implementation, the server 200 can adjust the number of components in the server 200 according to the specific business scenario, and this application does not make specific limitations.
[0076] The BMC 210 in FIG. 1 will be further explained below with reference to FIG. 2 .
[0077] FIG2 is a schematic structural diagram of a BMC provided by the present application. The BMC 210 may include an interface layer 211 , a conversion layer 212 , and a management module layer 213 .
[0078] The interface layer 211 is used to provide multiple external management interfaces. Among them, an external management interface can correspond to a protocol, standard or specification, such as the redfish interface, which is used to implement operations such as server configuration, hardware status monitoring, and power control; such as the simple network management protocol (SNMP) interface, which is used to remotely monitor the operating status, configuration parameters, error logs, etc. of the device, so as to perform network troubleshooting, performance optimization and resource management; such as the command line interface (CLI) interface, which is used for users to use commands to configure, manage and monitor devices, view device status, configuration parameters, run diagnostic commands, export logs, etc.; such as the intelligent platform management interface (IPMI) interface, which is used to manage, monitor and control computer system hardware. Remote management operations such as remote restart, monitoring hardware health status, remote login, etc. can be performed through this interface; such as the API interface, which is used to achieve integration and interaction with other systems. For example, automated management, integrated monitoring warnings, batch operations, etc. can be performed through the API interface. It should be understood that the above examples are for illustration purposes only. Different BMCs may support different interfaces, and this application does not make specific limitations.
[0079] In this application, a user can send a management request to BMC 210 by calling interface layer 211. This management request is used to obtain monitoring data of components in the server and to request control of components in the server. Each component 220 in Figure 1 can include multiple components. For example, a computing component includes components such as a CPU and memory that provide general computing capabilities. A management request can be to obtain memory monitoring data, such as memory usage, remaining memory, cache capacity, etc., which is not specifically limited in this application.
[0080] The conversion layer 212 is used to parse the management request sent by the user to the interface layer 211 and forward the management request to the management module associated with the device for processing. The device here is the device corresponding to the monitoring data requested by the management request, or the device requested to be controlled by the management request.
[0081] Optionally, the conversion layer 212 may store multiple mapping configuration files, which include a mapping relationship between the external management interface and the management module, wherein the external management interface is a plurality of external management interfaces provided by the interface layer 211, and the management module is used to implement status monitoring and management of the device, such as a management module that monitors the CPU temperature, a management module that controls the power on and off of the server, and so on.
[0082] The mapping configuration file may also include configuration information of the external management interface, and the configuration information may include the user's interface customization requirements for the external management interface. Specifically, the configuration information may include configuration information of standard fields, and may also include configuration information of custom fields, wherein standard fields refer to common fields defined by the protocol, which are usually defined in relevant standards or specifications and are widely accepted and used. Custom fields are non-standard fields defined according to user needs, and the custom fields include but are not limited to attribute names, manufacturer names, attribute value sources, actions, etc., which are not specifically limited in this application. In a specific implementation, different external management interfaces correspond to different interface protocols, and each mapping configuration file may correspond to a different external management interface, or a group of mapping configuration files corresponds to one external management interface, and different groups of mapping configuration files correspond to different external management interfaces, which are not specifically limited in this application.
[0083] Optionally, the conversion layer 212 may include a function library (library, lib), which includes multiple processing functions, each of which is used to process mapping configuration files corresponding to different interface protocols. That is, different mapping configuration files may correspond to different processing functions, or different groups of mapping configuration files may correspond to different processing functions. In a specific implementation, the processing function can be used to parse a management request sent by a user through an external management interface, and then obtain the mapping relationship between the external management interface and the management module based on the mapping configuration file corresponding to the external management interface, determine the management module associated with the device, and forward the management request to the management module. If the management request is for obtaining monitoring data of the device, the monitoring data of the device can be obtained from the management module. If the management request is for controlling the device, the control of the device can be achieved through the management module.
[0084] The management module layer 213 is used to receive management requests sent by the conversion layer 212, process user management requests, obtain device monitoring data, or implement device management and control. For example, a module for monitoring server temperature, a module for monitoring voltage, a module for controlling server power on and off, etc., are not specifically limited in this application.
[0085] It is worth noting that the hierarchical structure of the BMC shown in Figure 2 is only an example and does not constitute a limitation on the technical solution to be protected by the application. In specific implementation, a finer or coarser logical division level may also be adopted, with each level including more or fewer modules, and corresponding interfaces, files, function libraries and modules used to implement similar functions.
[0086] Optionally, the management module layer 213 may include multiple management modules, each of which is used to implement status monitoring and management control of components in the server, such as a management module for monitoring CPU temperature, a management module for controlling server power on and off, etc. This application does not specifically limit this. In specific implementations, the management modules may be implemented in the form of applications (APPs) or other forms, such as database interfaces through which users can query monitoring data. This application does not limit the implementation method of the management modules.
[0087] Based on the structure shown in Figure 2, when the user expands the external management interface, he configures the mapping configuration file corresponding to the external management interface through a configuration request, such as configuring the custom fields of the interface, customizing the manufacturer name, attribute values, etc., thereby realizing interface customization; when the user adds a new management module, he adds a mapping relationship between the external management interface and the newly added management module in the mapping configuration file through a configuration request, thereby realizing flexible expansion of the interface.
[0088] When a user sends a management request through the external management interface, the interface layer 211 can obtain the mapping configuration file corresponding to the external management interface by calling the processing function corresponding to the external management interface, determine the management module corresponding to the management request based on the mapping relationship recorded in the mapping configuration file, and forward it to the management module that can process the management request, thereby realizing the routing forwarding of the management request and making the mapping configuration file configured by the user take effect.
[0089] It should be understood that the present application records the user's interface customization requirements through the conversion layer 212 and records them in the mapping configuration file. The interface layer 211 provides the user with an external management interface to receive the user's management request. The conversion layer 212 implements routing forwarding of the management request according to the management request and the mapping configuration file, forwards the management request to the corresponding management module, and then processes the management request through the management module layer 213, so that the external management interface can be flexibly extended and customized by the user, and the extended and customized external management interface can be effective. In other words, the management request sent by the user calling the customized external management interface can be responded to, the user can obtain the monitoring data of the device, and can also control the device requested to be controlled. The entire configuration process does not require modification of the code of the interface layer and the management module, solving the problem of difficult BMC interface customization.
[0090] The above text, in conjunction with Figures 1 and 2, describes in detail the structure of the interface management system provided by the present application. The following text, in conjunction with Figures 3 to 7, explains the interface management method provided by the present application. The interface management method described in Figures 3 to 7 can be applied to the interface management system shown in Figures 1 and 2. BMC manufacturers can add management modules for different hardware monitoring functions or expand the functions of management modules. When using BMC, different whole machine manufacturers can configure the mapping relationship between external management interfaces and management modules on demand through the BMC external interface according to their respective business needs. For BMC manufacturers, by defining management modules in a standardized manner, the decoupling of external management interfaces and management modules is achieved. There is no need to develop code for the business needs of each whole machine manufacturer to adapt the external management interface to the management module, thereby solving the problem of difficult BMC interface customization. Specifically, Figures 3, 4 and 5 describe the processing steps when the interface management system receives a user's configuration request, and Figures 6 and 7 describe the step flow when the interface management system receives a user's management request. The step flow of the method shown in Figures 3 to 7 is explained below.
[0091] FIG3 is a schematic diagram of a flow chart of steps of an interface management method provided by the present application. The method can be applied to the interface management system shown in FIG1 . The method shown in FIG3 is a flow chart of steps for processing a configuration request. Specifically, the method may include the following steps:
[0092] S210: The client sends a configuration request input by the user to the BMC. This step can be implemented by the client 100 in the embodiment of FIG. 1 .
[0093] As can be seen from the embodiment shown in FIG2 , the translation layer 212 of the BMC 210 includes multiple mapping configuration files. The configuration request in step S210 can be used to update the mapping configuration files. Therefore, the information carried in the configuration request may include any information that can be recorded in the mapping configuration files. The following explains the content of the mapping configuration files, which may also be included in the configuration request.
[0094] Optionally, the above-mentioned mapping configuration file includes a mapping relationship between the external management interface and the management module, wherein the external management interface can be the external management interface provided by the interface layer 211 in the embodiment of Figure 2, and the management module can be the management module provided by the management module layer 213 in the embodiment of Figure 2. The description of the external management interface and the management module can refer to the embodiment of Figure 2, and will not be repeated here.
[0095] Optionally, the mapping configuration file may also include configuration information for the external management interface. This configuration information may include configuration information for standard fields or custom fields. Standard fields refer to common fields defined by the protocol. Such fields are generally defined in relevant standards or specifications and are widely accepted and used. Custom fields are non-standard fields defined based on user needs. Such custom fields include, but are not limited to, attribute names, vendor names, attribute value sources, actions, etc., and are not specifically limited in this application. In a specific implementation, the above configuration information may include multiple interface attributes, such as interface name, interface description, request parameters, interface method, interface path, interface return value, etc., wherein the interface name is used to uniquely identify the interface; the interface description is used to describe the function, purpose and usage of the interface to help users understand the role and usage of the interface; the request parameters are used to describe the information that needs to be passed when calling the interface, including data type, parameter description, parameter name, etc.; the interface method is used to indicate the request method of the interface, including get, post, put, delete, etc.; the interface path is used to indicate the uniform resource locator (URL) path of the interface, which is used to identify the specific interface resource; the interface return value is used to describe the data format and content returned after the interface call is successful. It should be understood that the above examples are for illustration only, and the information of the external management interface may also include more content, which is not illustrated here one by one.
[0096] Optionally, the mapping configuration file may also include verification information, such as the length range of custom fields, the value range of interface types, etc. This verification information can be used to verify the mapping configuration file input by the user to avoid the configuration from failing to take effect. This application does not make specific limitations.
[0097] Optionally, the external management interface can be a standard interface or a customized interface, such as an OEM interface. A standard interface refers to a public interface specification customized by a relevant technical standards organization or manufacturer. These specifications define the communication methods and protocols between devices or systems. Standard interfaces are generally universal and can be followed by multiple manufacturers. A customized interface refers to an interface customized by an original equipment manufacturer based on the specific requirements of its product. It may be an extension or modified version of a standard interface to implement additional functionality or meet special needs.
[0098] Optionally, the mapping configuration file can be a file content written directly by the user, or the client 100 provides the user with multiple configuration options, which can be the content that needs to be filled in the mapping configuration file. After the user fills in or selects the configuration option, the client generates a corresponding mapping configuration file and sends it to the BMC. This application is not limited to this.
[0099] As mentioned above, the BMC chip is deployed with BMC management system software. Since the mapping configuration file cannot be received before the software is started, the mapping configuration file can be installed into the management system software in the form of software packaging before the software is started. The configuration will take effect after the software is run.
[0100] After the software is running, multiple external management interfaces can be provided to the user through the client 100, so that the user can obtain information about the external management interfaces that can be called, and then the user can send configuration requests based on this information and write mapping configuration files to achieve the purpose of flexible customization and expansion of interfaces.
[0101] S220: BMC updates the configuration file library.
[0102] In a specific implementation, the configuration file library can be deployed in the translation layer 212 in the embodiment of FIG. 2 . The configuration file library includes at least one mapping configuration file. The configuration file library can be updated according to the configuration request obtained in S210 . If the configuration file library already stores an old version of the mapping configuration file corresponding to the configuration request, then the old version can be updated according to the configuration request. This scenario typically occurs when a user modifies an interface configuration. If the configuration file library does not store the mapping configuration file corresponding to the configuration request, then a new mapping configuration file can be stored in the configuration file library. This scenario typically occurs when a user adds a new interface.
[0103] In a specific implementation, each mapping configuration file may include a mapping relationship between at least one management module and at least one external management interface, and the number of such mapping relationships may be one or more. A management module may be mapped to at least one external management interface, and an external management interface may also be mapped to at least one management module. Each mapping configuration file may include information on multiple management modules and multiple external management interfaces. A management module or an external management interface may also appear in one or more mapping configuration files. A configuration file library may be established based on actual business needs, and this application does not impose any specific restrictions.
[0104] Optionally, the configuration file library can be grouped and classified according to usage requirements. For example, the configuration file library may include multiple groups of mapping configuration files, where one external management interface can correspond to one group of mapping configuration files, such as a redfish protocol interface corresponding to one group of mapping configuration files, and an SNMP protocol interface corresponding to one group of mapping configuration files. Each group of mapping configuration files can be classified according to the function of the management module it records and split into different folders and files. In addition, one management module can correspond to mapping configuration files for multiple external management interfaces. In other words, the processing logic of a management module may need to use some attributes of multiple external management interfaces. The above examples are for illustrative purposes only. The configuration file library can be established according to actual business needs, and this application does not make specific limitations.
[0105] It should be understood that a mapping configuration file may include multiple sets of mapping relationships, each set of mapping relationships is used to describe the mapping relationship between an external management interface and a management module. The configuration information and mapping relationship of the newly added management module can also be directly appended to the existing mapping configuration file. This application does not make specific limitations.
[0106] Optionally, the mapping configuration file may also include access information for the management module. This access information may include, but is not limited to, one or more of access parameters, interface information, a request body, a response body, and authentication information. When a user requests access to the management module, access can only be performed through the external management interface. Therefore, by carrying the management module access information in the management request, the BMC can match the access information with the mapping configuration file after receiving the management request. The BMC can then obtain the management module corresponding to the management request based on the external management interface and forward the management request to the management module. It should be understood that the access information may also include more content, which is not illustrated here one by one. In one possible implementation, the access information may be part of the configuration information.
[0107] It should be noted that the mapping configuration file may contain access information of multiple management modules corresponding to the external management interface. The access information of different management modules is different. Therefore, after receiving the management request sent by the user through the external management interface, the management module corresponding to the management request can be determined based on the access information carried in the management request.
[0108] For example, the mapping configuration file X includes a mapping relationship 1 between the external management interface A and the management module B1, an access parameter Y1 of the management module B1, a mapping relationship 2 between the external management interface B and the management module B1, and a request body Y2 of the management module B2. Then, when the BMC receives a management request sent by the user calling the external management interface A, the BMC can determine that the management module that needs to be accessed by the management request is B1 based on the access parameter Y1 carried in the management request, and then send the management request to the management module B1. It should be understood that the above example is for illustration only and is not specifically limited in this application.
[0109] Optionally, a template for each group of mapping configuration files can be determined based on a framework of a protocol, standard or specification, and each mapping configuration file can be determined based on the template in combination with actual business needs. For example, the interface protocol corresponding to the redfish interface is the redfish standard protocol, so the schema file of the corresponding version of the redfish of the interface can be downloaded to obtain the interface protocol template corresponding to the redfish interface, and then a group of mapping configuration files corresponding to the redfish interface can be generated based on the interface protocol template. All mapping configuration files that use the external management interface can be divided into this group. It should be understood that the above examples are for illustration only. Of course, the mapping configuration files can also be written directly, and this application does not make specific limitations.
[0110] It should be understood that mapping configuration files are grouped according to the external management interface. Different external management interfaces correspond to different protocols, specifications and standards. That is, different protocols, standards and specifications have different mapping configuration files. In this way, each protocol can process management requests through the mapping configuration file. Users only need to send configuration information to adjust the mapping configuration file to implement the configuration of the management module without changing the code of the external management interface and the management module, making the solution highly flexible and scalable, and improving the user experience.
[0111] In one possible implementation, the BMC includes a resource tree, which is an interface management system. The mapping configuration file can be associated with the resource tree, wherein each management module can perform interface registration in the resource tree, and the management module recorded in the mapping configuration file is the management module registered in the resource tree. The resource tree provides a unified registration channel for multiple managements to perform unified management, so that when the BMC receives a user's management request, it can obtain the management module corresponding to the management request based on the mapping configuration file. The management module is registered on the resource tree, and the resource tree can be combined to implement routing and forwarding of the management request.
[0112] Optionally, the resource tree can be combined with the data management structure to implement interface management of the registered management module, such as a tree structure. It should be understood that the tree structure can organize and manage various resources in the system in the form of a tree structure. The tree structure can not only clearly show the hierarchical relationship between resources, facilitate the positioning and access to resources, and simplify the resource access path, but also the tree structure is easy to expand, making resource management more flexible.
[0113] It is understandable that there are a large number of management modules. This application registers the management modules uniformly on the resource tree, and then associates the mapping configuration file with the resource tree. In this way, after the user modifies the mapping configuration file, the configuration can be effective according to the associated resource tree. When customizing and expanding the interface, the user only needs to modify the mapping configuration file, and there is no need to modify the code of the external management interface and the code of the back-end management application, thereby improving the user experience.
[0114] In one possible implementation, the BMC may provide a general function library (library, lib), which includes multiple processing functions for processing mapping configuration files corresponding to different external management interfaces. Different groups of mapping configuration files are parsed using different processing functions. In other words, mapping configuration files of different protocols are parsed using the processing functions of the corresponding protocols.
[0115] Optionally, the processing function can also be used to implement attribute range verification, where the attribute range can be a range obtained from the user, such as the range obtained from the user when obtaining the configuration information of the external management interface in S220; the attribute range can also be a preset range, which is not specifically limited in this application. The processing function can verify the attribute range of the interface attributes in the mapping configuration file based on the attribute range to avoid interface configuration failure caused by attributes in the mapping configuration file exceeding the range.
[0116] Optionally, the processing function can also be used to implement route matching. The route matching means that after the user sends a management request through the external management interface, the processing function parses the mapping configuration file corresponding to the external management interface, matches the access information carried in the management request with the access information in the mapping configuration file, determines the routing information of the request, that is, the management module that the management request needs to access, and then implements the routing forwarding of the management request based on the information of the registered management modules recorded in the resource tree.
[0117] Optionally, the protocol parsing module corresponding to the external management interface can be integrated with the aforementioned function library. This allows the module to perform protocol parsing on a user request sent to the external management interface, then send the parsing results to the function library for further routing matching and attribute range verification. This parsing result may include, but is not limited to, the request method, request header, request body, access parameters, and other details. These details may vary depending on the protocol and the actual request content, and are not detailed here.
[0118] S230: Return a configuration success message to the client.
[0119] Optionally, after returning a message indicating successful configuration to the client, if the user needs an interface document, the interface document required by the user can be generated based on the mapping configuration file. It should be understood that if the user implements interface customization and interface extension by modifying the interface layer code of the external management interface or modifying the code of the management module, then the interface document needs to be written manually. Interface customization and interface extension are performed using the method of this application. Due to the existence of the mapping configuration file, the interface document can be generated based on the mapping configuration file simply by format conversion, thereby improving the user experience.
[0120] In order to make this application better understood, the above S210 to S230 are explained below in conjunction with Figure 4. Figure 4 is a schematic diagram of the steps of an interface management method provided by this application in an application scenario. As shown in Figure 4, the application scenario is a scenario in which a user modifies an external management interface or customizes an external management interface. Figure 4 further explains the steps shown in the structural diagram 3 of the embodiment of Figure 2. Referring to the embodiment of Figure 2, it can be seen that BMC210 includes an interface layer 211, a conversion layer 212 and a management module layer 213. As shown in Figure 4, the interface layer 211 may include multiple external management interfaces (Figure 4 uses three external management interfaces as an example for illustration), the conversion layer 212 may include a protocol parsing module 320, a function library 330, a configuration file library 340 and a resource tree 350, and the management module layer 213 may include multiple management modules (Figure 4 uses three management modules as an example for illustration). It should be understood that Figure 4 exemplarily divides the internal unit modules of the BMC. BMC210 can also include more or fewer units, and this application does not make specific limitations.
[0121] In a specific implementation, the BMC may first obtain a user configuration request at S210. The configuration request includes a mapping relationship between management module 1 and external management interface 1, where external management interface 1 is a Redfish interface. Next, the BMC may execute S220 to update a mapping configuration file corresponding to the Redfish interface based on the configuration request. An old version of the mapping configuration file recorded a mapping relationship between external management interface 1 and management module 2. After the configuration file library is updated, the mapping relationship is modified to a mapping relationship between external management interface 1 and management module 1. Finally, at S230, the BMC sends feedback to the client 100 indicating successful configuration.
[0122] It should be understood that Figure 4 is used for illustration. In a specific implementation, the external management interface may include more types, and the number of mapping configuration files corresponding to the same protocol may be one or more. Figure 4 exemplarily shows only one redfish mapping configuration file. In a specific implementation, the configuration file library 340 may include more mapping configuration files, and the number of applications may also be more. These are not illustrated one by one here.
[0123] It should be noted that the protocol parsing module 320 is used to parse management requests received by different external management interfaces and obtain the access information carried in the management requests. The function library 330 is used to read the mapping configuration file and perform a route matching based on the access information and the mapping configuration file to obtain the destination management module of the management request. It should be understood that after the BMC updates the configuration file library, the user-configured interface will take effect. When a user sends a management request through the external management interface, the BMC can implement the parsing, route matching, and forwarding of the management request based on the mapping configuration file in the configuration file library in conjunction with the protocol parsing module, function library, and resource tree.
[0124] It should be understood that through the structure shown in Figure 4, when configuring the interface, the user does not need to modify the code of the interface layer or the code of the management module. He only needs to input a configuration request carrying the interface customization requirements, or directly modify the mapping configuration file to complete the configuration. In addition, combined with the protocol parsing module 320, function library 330, configuration file library 340 and resource tree 350 in the conversion layer 212, the configuration can be made effective. The management request sent by the user calling the customized external management interface can be responded to, the user can obtain the monitoring data of the device, and can also control the device requested to be controlled. The entire configuration process does not require modifying the code of the interface layer and the management module, solving the problem of difficult BMC interface customization.
[0125] It should be noted that the application scenario shown in Figure 4 is a scenario in which the user modifies the mapping relationship. In other scenarios, the user can also send a configuration request to modify configuration information or access information, such as modifying the custom fields of the external management interface, modifying the access body or access parameters of module interface 1, etc., to achieve flexible expansion of the external management interface. Examples will not be repeated here.
[0126] Furthermore, the example shown in FIG4 is a process in which a user modifies an existing interface configuration. If the user has new hardware monitoring requirements, it is necessary to add a new BMC management module and configure the new management module in the mapping configuration file. Specifically, the new management module can be registered on the resource tree 350 first, and then steps S210 to S230 are executed to complete the configuration of the new management module. For example, FIG5 is a step flow diagram of an interface management method provided by the present application in another application scenario. As shown in FIG5, the application scenario is a schematic diagram of dynamically adding a management module 4. As shown in FIG5, the step flow in this application scenario can be as follows.
[0127] Step 1. Register the interface of the management module 4 on the resource tree.
[0128] Optionally, BMC210 can receive the user's interface registration request and forward the request to the resource tree 350 to complete the interface registration of the management module 4. The interface registration request may include interface information of the management module 4, including but not limited to one or more of the interface name, interface description, request parameters, interface method, interface path, and interface return value, which is not specifically limited in this application.
[0129] In specific implementations, the resource tree can provide users with multiple registration methods based on actual application scenarios. For example, it can provide users with an application programming interface (API) management tool, through which users can create and register detailed information about the interface, or the resource tree provides a registration center, through which users can register the interface to the resource tree. This application does not make specific limitations.
[0130] Step 2: Send a configuration request to the management module 4.
[0131] Optionally, in the application scenario shown in Figure 5, the user sends a configuration request for the management module 4 by calling the external management interface 1. The configuration request may include a mapping relationship between the external management interface 1 and the management module 4, that is, "external management interface→module interface 4" shown in Figure 5. In some embodiments, the configuration request may also include access information of the management module 4, that is, "access information 2" in Figure 4. Referring to the above content, it can be seen that the mapping configuration file can record multiple sets of mapping relationships, and each set of mapping relationships records the correspondence between the same external management interface and a management module. In order to further determine the management module corresponding to the management request, the access information in the management request can be matched with the access information recorded in the mapping configuration file to determine the management module corresponding to the management request.
[0132] For example, the newly added mapping relationship and access information record of management module 4 in FIG5 is below the original mapping relationship and its corresponding access information. In other embodiments, the mapping configuration file may also include more content, such as the configuration information and verification information described above, and the examples are not repeated here. It should be understood that the detailed description of this step can be referred to step S210 in the embodiments of FIG3 and FIG4, and will not be repeated here.
[0133] Step 3. Update the configuration file library. This step can be referred to step S220 in the embodiments of FIG3 and FIG4 , and will not be repeated here.
[0134] Step 4. Return a message indicating that the configuration is successful. This step can be referred to step S230 in the embodiments of FIG. 3 and FIG. 4 , and will not be repeated here.
[0135] It should be understood that the structure shown in FIG5 allows users to add a new management module without having to modify the code of the interface layer or the code of the management module, thereby solving the problem of difficulty in customizing the BMC interface.
[0136] The above Figures 3 to 5 describe in detail the interface configuration process, including adding new management modules, modifying or expanding the configuration of external management interfaces, etc. Below, in conjunction with Figure 6, the step flow of the interface management method provided in this application when receiving a user's management request is explained.
[0137] FIG6 is a schematic diagram of the steps in processing a management request in an interface management method provided by the present application. This method can be applied to the interface management system shown in FIG1 and the BMC210 shown in FIG2, FIG4, and FIG5. It should be noted that the steps shown in FIG6 occur after S210 to S230 shown in FIG2 and FIG3 and steps 1 to 4 shown in FIG5, that is, after BMC210 updates the configuration file library according to the configuration request input by the user. As shown in FIG6, the method may include the following steps:
[0138] S410: The BMC 210 obtains a management request sent by a user by calling an external management interface.
[0139] Optionally, the above-mentioned management request is used to obtain monitoring data of devices in the server 200, and is also used to request the control of devices in the server. The devices here can be devices in any component 220 in the embodiments of Figures 1 and 2. For details, please refer to the description of component 220 and devices in the aforementioned content, which will not be repeated here.
[0140] In a specific implementation, the above-mentioned management request may be a management request sent by a user calling an external management interface, such as calling a redfish interface to request powering on and off a server, or calling a CLI interface to request account information, or calling an SNMP interface to request querying the CPU temperature, etc. It should be understood that the above examples are for illustration only and this application does not make any specific limitations.
[0141] Optionally, the management request may also include access information. Different management requests may determine access information based on their access content. For example, if a request to power on a server is sent to a power management application, the management request requests access to the management module that performs power management, and therefore the management request may carry the access information of the management module. Similarly, if the management request requests access to the management module that performs account management, the management request may carry the access information of the management module. It should be noted that the access information may correspond to the access information of the management module recorded in the mapping configuration file, so that the translation layer 212 can implement routing and forwarding of the management request through the mapping configuration file.
[0142] S420: Perform protocol analysis on the management request to obtain access information.
[0143] In a specific implementation, S420 can be implemented via the protocol parsing module 320. Management requests sent by different external management interfaces can correspond to different types of protocol parsing modules. For example, a management request calling a redfish interface can be parsed and processed by a redfish protocol parsing module, while a management request calling an SNMP interface can be parsed and processed by an SNMP protocol parsing module. This is not specifically limited in this application. In S420, the BMC can obtain the protocol parsing module corresponding to the external management interface called in the management request, perform protocol parsing on the management request, and obtain a processing result. In a specific implementation, the processing result may include information carried in the management request, such as access information, and may also include more content, which will not be illustrated here.
[0144] S430: Obtain a first processing function corresponding to the protocol of the external management interface.
[0145] In a specific implementation, the BMC function library 330 may include multiple processing functions, and different processing functions are used to process mapping configuration files of different protocol types. For example, the mapping configuration file of the redfish protocol can be implemented by the processing function of the redfish protocol, and the mapping configuration file of the SNMP protocol can be implemented by the processing function of the SNMP protocol. Examples are not given here one by one. Among them, the processing function can be used to implement route matching, and can also be used to implement attribute range verification. Other capabilities can also be given to the processing function based on actual business needs. Examples are not given here one by one. Among them, the description of route matching and attribute range verification can refer to the relevant description in the embodiments of Figures 2 and 3, and will not be repeated here.
[0146] S440: Calling a first processing function to match the access information with a mapping configuration file corresponding to the external management interface, and determining a management module corresponding to the external management interface.
[0147] In a specific implementation, the first processing function can also be used to verify the attribute range, where the attribute range can be a range obtained from the user, such as carried in the configuration request input by the user at S210; the attribute range can also be a preset range, such as an attribute range set according to a standard protocol or empirical values, which is not specifically limited in this application. The first processing function can verify the attribute range of the attribute parameters in the mapping configuration file based on the attribute range to avoid the problem of interface configuration failure caused by the attributes in the mapping configuration file being out of range.
[0148] S450: Forward the management request to the management module corresponding to the external management interface. This step can be implemented by calling the first processing function.
[0149] In one possible implementation, the BMC includes a resource tree, and the mapping configuration file can be associated with the resource tree. Referring to the above content, it can be seen that the resource tree is an interface management system, and each management module can register an interface in the resource tree. By associating the mapping configuration file with the resource tree, the management request sent by the user to the external management interface can be forwarded to the corresponding management module according to the associated mapping configuration file, so that the interface configuration can take effect.
[0150] Optionally, the resource tree can be combined with a data management structure to implement management of registered management modules, such as a tree structure, which can organize and manage various resources in the system in the form of a tree structure. The tree structure can not only clearly show the hierarchical relationship between resources, facilitate the positioning and access to resources, and simplify the resource access path, but also the tree structure is easy to expand, making resource management more flexible.
[0151] It can be understood that under such a forwarding mechanism, when the user modifies the interface configuration, whether it is to modify, add or delete a custom configuration, standard configuration, or to expand the OEM interface or standard interface, the user can directly write the information that needs to be modified into the mapping configuration file. Through S410 to S460, the BMC can implement routing forwarding of management requests based on the mapping configuration file in combination with the resource tree, function library, and protocol parsing module, so that the user's configuration can take effect, thereby solving the problem of difficult BMC interface customization and improving the user experience.
[0152] S460: Return the processing result of the management request to the user.
[0153] Optionally, if the management request is used to obtain monitoring data of a device in the server, then step S460 can obtain the monitoring data of the device from the management module associated with the device, and then return the monitoring data to the client 100. For example, if the user requests to query account information, then the account management module can respond to the management request, obtain the account information, and return the account information to the client 100; if the management request is used to request control of a device in the server, then step S460 can control the device through the management module associated with the device to implement the function required by the management request, and then feedback a message of control success or failure to the user. For example, if the user requests to control the server to power on or off, then the power management module can respond to the management request to power on or off the server, and then feedback a message to the user that the server has been turned on or off. It should be understood that the above examples are for illustration only and are not specifically limited in this application.
[0154] In order to better understand this application, the above S410 to S460 are illustrated below with reference to Figure 7. It should be understood that Figure 7 is a schematic diagram of a step flow chart provided by this application in combination with the internal structure of the BMC, and the BMC structure shown in Figure 7 is the same as the BMC structure shown in Figures 4 and 5. The application scenarios shown in Figures 4 and 5 are application scenarios for customizing external management interfaces and adding new management modules, and the application scenario shown in Figure 7 is an application scenario for processing user management requests. The above S410 to S460 are illustrated below with reference to Figure 7.
[0155] In step S410, the user calls an external management interface (eg, external management interface 1) to send a management request. FIG7 illustrates an example in which the management request carries access information 1. FIG7 illustrates an example in which the management request carries access information 1. FIG.
[0156] Execute S420, use the protocol parsing module of the corresponding protocol of the management module to parse the management request and obtain the protocol parsing result. The protocol parsing result at least includes access information, that is, access information 1 in the example of Figure 7. The protocol parsing module is connected to the function library, so the access information obtained by parsing can be sent to the function library.
[0157] Execute S430 to call the function library to obtain the first processing function of the protocol corresponding to the external management interface 1, that is, the processing function corresponding to the redfish protocol.
[0158] Execute S440, first obtain the mapping configuration file corresponding to the external management interface 1, that is, the mapping configuration file corresponding to the redfish protocol, and then match the access information 1 with the mapping configuration file. Although there may be multiple mapping configuration files, and each mapping configuration file can record the mapping relationship between the management module and multiple management modules, the management module that the management request needs to access can be accurately located according to the access information 1, that is, the management module 1 shown in Figure 7.
[0159] Optionally, the first processing function may also perform attribute range verification. For details, please refer to the relevant description of the aforementioned content, which will not be repeated here.
[0160] Executing S450 , the first processing function combines with the resource tree 350 to obtain the module interface 1 corresponding to the management module 1 , and sends the management request to the management module 1 through the module interface 1 for processing.
[0161] Execute S460, the management module 1 responds to the management request and returns the request result to the client.
[0162] It should be understood that this application records the mapping relationship between the management module requested by the user and the external management interface, as well as the configuration information of the management module through a mapping configuration file, and then takes effect through a processing function to make the mapping configuration file effective, so that the user only needs to modify the mapping configuration file to complete the configuration, modification, addition, deletion, and extension of the interface. Not only can custom fields be expanded, but OEM interfaces can also be directly expanded. The configuration method is simple, flexible, and efficient, making the solution more universal and improving the user experience.
[0163] In summary, the present application provides an interface management method, which obtains the mapping relationship between the external management interface and the management module input by the user and the user's configuration information on the interface, so that when the external management interface of the management chip obtains a management request, it can determine the management module associated with the device based on the management request and the mapping relationship between the external management interface and the management module. The management module is used to realize status monitoring and management of the device, and then obtain the monitoring data of the device from the management module. In this way, when the user wants to modify the external management interface parameters, and adapt and modify the parameters and source, name and attribute values of the monitoring module corresponding to the external management interface, he only needs to input the mapping relationship and configuration information between the external management interface and the management module, thereby achieving the purpose of flexible expansion of the interface, without modifying the code of the external management interface and the code of the management module. The configuration method is simple, flexible and efficient.
[0164] The above text describes in detail the interface management method provided by the present application in conjunction with Figures 3 to 7. The interface management device provided by the present application will be described below in conjunction with Figure 8. As shown in Figure 8, the present application provides an interface management device 800, which can be deployed in the management chip in the aforementioned content, specifically the BMC210 described in the embodiments of Figures 1 to 7.
[0165] As shown in FIG. 8 , the interface management device 800 may include an acquiring unit 810 , a determining unit 820 , and a processing unit 830 .
[0166] The acquisition unit 810 is configured to acquire a management request through the external management interface of the management chip, wherein the management request is used to acquire monitoring data of the device in the server, and is specifically configured to execute S410 and its optional steps in the embodiments of FIG6 and FIG7 .
[0167] Determining unit 820 is configured to determine a management module associated with the device based on the management request and the mapping relationship between the external management interface and the management module. The management module associated with the device is used to implement status monitoring and management of the device. Specifically, it is configured to execute S420 to S450 and optional steps in the embodiments of Figures 6 and 7.
[0168] The processing unit 830 is configured to obtain monitoring data of the device from a management module associated with the device, and is specifically configured to execute step S460 and its optional steps in the embodiments of FIG. 6 and FIG. 7 .
[0169] In one possible implementation, the management request is also used to request a device in the control server, and the processing unit 830 is used to control the device through a management module associated with the device, specifically to execute step S460 and its optional steps in the embodiments of FIG6 and FIG7 .
[0170] In one possible implementation, the acquisition unit 810 is configured to acquire a configuration request input by a user before acquiring a management request through the external management interface of the management chip. The configuration request includes a mapping relationship between the external management interface and the management module. Specifically, the acquisition unit 810 is configured to execute step S210 in the embodiments of Figures 3 and 4, and step 2 in the embodiment of Figure 5, and its optional steps.
[0171] In one possible implementation, the configuration request includes configuration information of the external management interface, the configuration information includes standard configuration information and custom configuration information, the standard configuration information includes information of standard fields of the protocol corresponding to the external management interface, the custom configuration information includes information of non-standard fields defined by user needs, and the custom configuration information includes one or more of attribute name, manufacturer name, attribute value source, and action.
[0172] In one possible implementation, a mapping relationship exists between an external management interface and one or more management modules, and the configuration request also includes access information for the management modules. Determination unit 820 is configured to obtain one or more pieces of access information for the one or more management modules corresponding to the external management interface, and to match the access information in the management request with the one or more pieces of access information to determine the management module corresponding to the external management interface. Specifically, this is configured to execute S420 to S450 and optional steps in the embodiments of Figures 6 and 7 .
[0173] In a possible implementation, the management chip includes a mainboard management controller (BMC) chip, and the external management interface includes one or more of a Redfish interface, a Simple Network Management Protocol (SNMP) interface, and a Command Line Interface (CLI) interface.
[0174] In summary, the present application provides an interface management device, which is applied to the management chip of the server, such as the BMC chip. The device updates the corresponding mapping configuration file by obtaining the user input configuration request, so that the configuration takes effect. The mapping configuration file includes the mapping relationship between the external management interface and the management module and the configuration information of the external management interface. In this way, when the user calls the external management interface to send a management request, the interface management device can forward the management request to the corresponding management module according to the mapping configuration file, so that the user can remotely control the BMC to achieve the purpose of monitoring and management of the server. The device allows users to flexibly expand the BMC interface, and the expansion process does not require modifying the code of the interface layer and the management module layer. It only needs to modify the mapping configuration file to complete the configuration, modification, addition, deletion, expansion and other operations of the interface, thereby achieving the purpose of flexible expansion of the interface. It can not only expand custom fields, but also directly expand OEM interfaces. The configuration method is simple, flexible and efficient.
[0175] The interface management device provided by the present application is described in detail above in conjunction with FIG8 . The chip provided by the present application will be described below in conjunction with FIG9 .
[0176] Figure 9 is a structural diagram of a chip provided in the present application. The chip may be the management chip mentioned above, such as BMC210. Furthermore, the chip 900 may include a power supply circuit 910 and a logic circuit 920, wherein the power supply circuit 910 and the logic circuit 920 may be connected by wires, cables or other types of electrical connections, which are not specifically limited in the present application.
[0177] The chip 900 is implemented by ASIC, CPLD or FPGA. In the specific implementation, the power supply circuit 910 is used to power the logic circuit 920, so that the logic circuit 920 can realize the function of the management chip (such as BMC210) in the embodiments of Figures 1 to 7. It should be noted that the chip 900 can be an integrated circuit chip with signal processing capabilities. In the implementation process, the various steps of the management chip in the above method embodiment can be completed by the hardware integrated logic circuit of the chip 900 or the instructions in the form of software. The steps of the method disclosed in the present application can be directly reflected as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor, and this application does not make specific limitations.
[0178] Optionally, the chip 900 may further include a memory for storing a mapping configuration file. The memory may be the internal storage of the chip 700 or the external storage of the chip 900, and this application does not make any specific limitations. In a specific implementation, the memory may be a volatile memory or a non-volatile memory, or include both volatile and non-volatile memories. Among them, the non-volatile memory is a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory is a random access memory (RAM), which is used as an external cache. The above examples are for illustration only and are not specifically limited in this application.
[0179] It should be noted that FIG9 is only one possible implementation of the present application. In actual applications, chip 900 may include more or fewer components, which is not limited here. For matters not shown or described in the present application, please refer to the relevant descriptions in the embodiments of FIG1 to FIG8 above, which will not be repeated here.
[0180] The present application provides a computing device, which includes a management chip, a CPU and components. The CPU is used to run instructions to implement the business functions of the computing device. The management chip is used to implement the interface management method implemented by the management chip described in the embodiments of Figures 1 to 8. The components include at least one of the following: a computing component, a storage component, an input and output IO component, an acceleration component, a memory component and a heat dissipation component. For details, please refer to the description of the aforementioned content management component 220, which will not be repeated here.
[0181] The present application provides a computer-readable storage medium, comprising: computer instructions stored in the computer-readable storage medium; when the computer instructions are executed on a server, the server executes the interface management method described in the above method embodiment.
[0182] The above embodiments can be implemented in whole or in part through software, hardware, firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented in whole or in part in the form of a computer program product. A computer program product includes multiple computer instructions. When the computer program instructions are loaded or executed on a computer, the processes or functions according to the embodiments of the present invention are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another.
[0183] The above are merely specific embodiments of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent repairs or replacements within the technical scope disclosed in the present invention, and such repairs or replacements should be included in the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.
Claims
1. A management method, characterized in that: The method is applied to a server including a management chip, and the method includes: Obtaining a management request through an external management interface of a management chip, wherein the management request is used to obtain monitoring data of a device in the server; Determine, according to the management request and the mapping relationship between the external management interface and the management module, a management module associated with the device, wherein the management module associated with the device is used to implement status monitoring and management of the device; The monitoring data of the device is obtained from a management module associated with the device.
2. The method according to claim 1, characterized in that The management request is also used to request control of a device in the server, and the method further includes: The device is controlled by a management module associated with the device.
3. The method according to claim 1 or 2, characterized in that: Before obtaining the management request through the external management interface of the management chip, the method further includes: A configuration request input by a user is obtained, wherein the configuration request includes a mapping relationship between the external management interface and the management module.
4. The method according to claim 3, characterized in that The configuration request includes configuration information of the external management interface, the configuration information includes standard configuration information and custom configuration information, the standard configuration information includes information of standard fields of the protocol corresponding to the external management interface, the custom configuration information includes information of non-standard fields defined by user needs, and the custom configuration information includes one or more of attribute name, manufacturer name, attribute value source, and action.
5. The method according to claim 3 or 4, characterized in that: There is a mapping relationship between the external management interface and one or more management modules, and the configuration request also includes access information of the management module; Determining the management module associated with the device according to the management request and the mapping relationship between the external management interface and the management module includes: Obtaining one or more access information of one or more management modules corresponding to the external management interface; The access information in the management request is matched with the one or more access information to determine the management module corresponding to the external management interface.
6. The method according to any one of claims 1 to 5, characterized in that: The management chip includes a mainboard management controller BMC chip; The external management interface includes one or more of a redfish interface, a simple network management protocol SNMP interface, and a command line interface CLI interface.
7. A management device, characterized in that: The device is applied to a server including a management chip, and the device includes: An acquisition unit, used to acquire a management request through an external management interface of a management chip, wherein the management request is used to acquire monitoring data of a device in the server; a determining unit, configured to determine a management module associated with the device according to the management request and a mapping relationship between the external management interface and the management module, wherein the management module associated with the device is used to implement status monitoring and management of the device; A processing unit is used to obtain monitoring data of the device from a management module associated with the device.
8. The device according to claim 7, characterized in that The management request is also used to request control of a device in the server, and the processing unit is used to control the device through a management module associated with the device.
9. A chip, characterized in that: The chip comprises a logic circuit and a power supply circuit, wherein the power supply circuit is used to supply power to the logic circuit, and the logic circuit is used to implement the method for managing chip implementation as claimed in any one of claims 1 to 6.
10. A computing device, characterized in that The computing device includes a management chip, a processor and components, the processor is used to run instructions to implement the business functions of the computing device, the management chip is used to implement the method implemented by the management chip as claimed in any one of claims 1 to 6, and the components include at least one of the following: a computing component, a storage component, an input and output IO component, an acceleration component, a memory component and a heat dissipation component.
Citation Information
Patent Citations
A server host hardware monitoring method and device and an electronic apparatus
CN105528273A
Monitoring system, method and device of micro server and electronic equipment
CN113220524A
On-the-fly device configuration and management
US20070113186A1
Cited By
Cloud server, remote flashing method, computer device and storage medium
CN120762683A
Automatic generation method of chip interface attribute information, electronic equipment and medium
CN122088400A
Accelerator card resource monitoring management method and device, chip and storage medium
CN122691908A