IPMI command prompting method and device, and storage medium

By displaying the corresponding IPMI commands in the user equipment and automatically updating the command set, the problem of low communication efficiency between the user equipment and the BMC is solved, and more efficient command generation and data acquisition are achieved.

CN115687028BActive Publication Date: 2025-12-16XFUSION DIGITAL TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211337788.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-28
Publication Date
2025-12-16
Estimated Expiration
2042-10-28

AI Technical Summary

Technical Problem

In the existing technology, the IPMI command communication between user equipment and BMCs in different operating environments is inefficient. Users need to constantly query and learn command sets from different vendors, which affects data acquisition efficiency.

Method used

This paper provides an IPMI command prompt method that receives strings input by the user, displays the corresponding IPMI commands, automatically updates the command set based on the character status and BMC address, verifies the consistency of the command set, deletes low-frequency commands, and improves command generation and communication efficiency.

Benefits of technology

It improves the accuracy of user input of IPMI commands and the efficiency of communication with BMC, reduces the time cost for users to learn and query, and improves the efficiency of command generation and updating.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115687028B_ABST
    Figure CN115687028B_ABST
Patent Text Reader

Abstract

The application discloses an IPMI command prompting method and device and a storage medium, relates to the technical field of intelligent platform management interface (IPMI), and is used for improving the efficiency of generating and sending IPMI commands by a user based on an IPMI tool, so as to improve the communication efficiency between the user and a BMC. The method comprises the following steps: receiving a first string input by a user; displaying one or more IPMI commands containing the first string according to the first string, and the one or more IPMI commands are used for requesting data information from a first out-of-band controller.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of intelligent platform management interface (IPMI), and in particular to an IPMI command prompting method and device and a storage medium. BACKGROUND

[0002] Currently, as an important component element in a server, a baseboard management controller (BMC) is mainly used for monitoring the running state of each component in the server, such as detecting the temperature and voltage of components such as a central processing unit (CPU) and memory. When an abnormal situation occurs in a component, it helps to discover and handle the device in time. The BMC is deployed with an intelligent platform management interface (IPMI) firmware, which is used for a user device to actively access the BMC to obtain data information in the BMC. The IPMI firmware can also support the user device to remotely access the BMC, thereby realizing unified management of multiple servers.

[0003] Currently, a user device realizes communication with the IPMI firmware on the BMC of a server through an IPMItool, which is used as a management platform to generate and send an IPMI command, so that the BMC receives and feeds back data according to the indication of the IPMI command. Since there are differences in the IPMI commands used for communication between the user device and BMCs in different running environments, how to improve the efficiency of the user in generating and sending the IPMI command based on the IPMItool to improve the communication efficiency between the user and the BMC is a problem to be solved at present. SUMMARY

[0004] The embodiments of the present application provide an IPMI command prompting method and device and a storage medium, which are used for improving the efficiency of the user in generating and sending the IPMI command based on the IPMItool, so as to improve the communication efficiency between the user and the BMC.

[0005] To achieve the above-mentioned purpose, the embodiments of the present application adopt the following technical solutions:

[0006] In a first aspect, an IPMI command prompting method is provided, which includes: receiving a first string input by a user; displaying one or more IPMI commands containing the first string according to the first string, the one or more IPMI commands being used for requesting data information from a first out-of-band controller.

[0007] By the above manner, the user can refer to the complete IPMI command related to the input string when inputting the IPMI command, so as to prompt the user when the user inputs the IPMI command, and thus improve the accuracy of the IPMI command and the communication efficiency with the first BMC.

[0008] In a possible implementation, before displaying the one or more IPMI commands containing the first string according to the first string, the method further includes: receiving indication information sent by the first out-of-band controller, the indication information being used to indicate that the first IPMI command set is updated, the first IPMI command set containing IPMI commands used for interacting with the first out-of-band controller; and updating the first IPMI command set according to the indication information.

[0009] The possible implementation manner helps the first device to update the first IPMI command set used for prompting the user before updating according to the first string input by the user, and thus improves the accuracy of prompting the user with the IPMI command.

[0010] In a possible implementation, the indication information includes a target IPMI command, the target IPMI command being at least one IPMI command that needs to be updated in the first IPMI command set, and updating the first IPMI command set according to the indication information includes: updating the target IPMI command in the first IPMI command set.

[0011] The possible implementation manner directly updates the IPMI command that needs to be updated by receiving the indication information, and thus improves the updating efficiency.

[0012] In a possible implementation, the first string contains an address of the first out-of-band controller, and before receiving the indication information sent by the first out-of-band controller, the method further includes: sending a verification IPMI command to the first out-of-band controller according to the address of the first out-of-band controller, the verification IPMI command containing a command fingerprint of the first IPMI command set, the command fingerprint being used for the first out-of-band controller to determine whether the first IPMI command set needs to be updated.

[0013] The possible implementation manner helps the first device to verify whether the first IPMI command set stored locally and corresponding to the first out-of-band controller is consistent with the IPMI command set in the first out-of-band controller by sending the verification IPMI command to the first out-of-band controller, so as to improve the accuracy of prompting the user when the user inputs the IPMI command. The command fingerprint helps the first out-of-band controller to quickly determine the IPMI command that needs to be updated, and thus improves the updating efficiency.

[0014] In a possible implementation, there are second IPMI command sets containing commands for interacting with the second out-of-band controller, the first IPMI command sets are different from the second IPMI command sets, and the method further includes: periodically determining usage frequencies of the first IPMI command sets and the second IPMI command sets; and deleting IPMI command sets with usage frequencies lower than a first threshold.

[0015] With the possible implementation, the utilization of the configuration file library is improved, the IPMI command sets stored in the configuration file library are updated according to the usage frequencies, the IPMI command sets with relatively low usage frequencies are deleted, and therefore the space utilization is improved.

[0016] In a second aspect, an IPMI command prompting method includes: receiving an authentication IPMI command sent by a first device, the authentication IPMI command containing a command fingerprint of a first IPMI command set, the first IPMI command set containing commands for interacting with the first device; if it is determined according to the command fingerprint that the first IPMI command set does not need to be updated, sending response information to the first device, the response information being used to indicate that the first IPMI command set does not need to be updated; and if it is determined according to the command fingerprint that the first IPMI command set needs to be updated, sending indication information to the first device, the indication information being used to indicate that the first IPMI command set needs to be updated.

[0017] The above method helps to verify the first IPMI command set stored by the first device and feed back the verification result to the first device, so that the first device improves the prompting of the IPMI command input by the user, and further improves the accuracy of the IPMI command and the communication efficiency with the first BMC.

[0018] In a possible implementation, the indication information includes a target IPMI command, and the target IPMI command is at least one IPMI command in the first IPMI command set that needs to be updated.

[0019] With the possible implementation, the target IPMI command is included in the indication information, and the first device directly updates the IPMI command that needs to be updated, so that the updating efficiency is improved.

[0020] In a third aspect, a communication device is provided, including: a communication interface, a processor, and a display, the communication interface and the display being connected to the processor respectively; the communication interface is configured to receive a first string input by a user; the processor is configured to determine one or more IPMI commands containing the first string according to the first string, the one or more IPMI commands being used to request data information from a baseboard management controller (BMC) in a server; and the display is configured to display the one or more IPMI commands.

[0021] In a fourth aspect, a server is provided, comprising: a communication interface and a processor, the communication interface being connected to the processor; the communication interface is configured to receive a verification IPMI command sent by a first device, the verification IPMI command comprising a command fingerprint of a first IPMI command set, the first IPMI command set comprising commands for interacting with the first device; if the processor is configured to determine that the first IPMI command set does not need to be updated according to the command fingerprint, the communication interface is configured to send response information to the first device, the response information being used to indicate that the first IPMI command set does not need to be updated; if the processor is configured to determine that the first IPMI command set needs to be updated according to the command fingerprint, the communication interface is configured to send indication information to the first device, the indication information being used to indicate that the first IPMI command set needs to be updated.

[0022] In a fifth aspect, a communication device is provided, comprising: a processor and a memory. The processor is connected to the memory, and the memory is configured to store computer-executable instructions. The processor executes the computer-executable instructions stored in the memory, so as to implement any one of the methods provided in the first aspect.

[0023] In a sixth aspect, a server is provided, comprising: a processor and a memory. The processor is connected to the memory, and the memory is configured to store computer-executable instructions. The processor executes the computer-executable instructions stored in the memory, so as to implement any one of the methods provided in the second aspect.

[0024] In a seventh aspect, a chip is provided, comprising: a processor and an interface circuit; the interface circuit is configured to receive code instructions and transmit the code instructions to the processor; the processor is configured to execute the code instructions to implement any one of the methods provided in the first aspect or the second aspect.

[0025] In an eighth aspect, a computer-readable storage medium is provided, comprising computer-executable instructions. When the computer-executable instructions are executed on a computer, the computer is caused to execute any one of the methods provided in the first aspect or the second aspect.

[0026] In a ninth aspect, a computer program product is provided, comprising computer-executable instructions. When the computer-executable instructions are executed on a computer, the computer is caused to execute any one of the methods provided in the first aspect or the second aspect.

[0027] The technical effects brought by any one of the implementation manners in the third aspect to the ninth aspect can refer to the technical effects brought by the corresponding implementation manners in the first aspect or the second aspect, which will not be described herein. BRIEF DESCRIPTION OF DRAWINGS

[0028] Figure 1 A communication system architecture diagram is provided for the embodiments of the present application.

[0029] Figure 2A composition diagram of a communication device provided by an embodiment of the present application;

[0030] Figure 3 A flow diagram of an IPMI command prompting method provided by an embodiment of the present application;

[0031] Figure 4 A flow diagram of an IPMI command prompting method provided by an embodiment of the present application;

[0032] Figure 5 A character state diagram of an IPMI command set provided by an embodiment of the present application;

[0033] Figure 6 A diagram of a character state being a raw command provided by an embodiment of the present application;

[0034] Figure 7 A flow diagram of an IPMI command prompting method provided by an embodiment of the present application;

[0035] Figure 8 A composition diagram of a first device provided by an embodiment of the present application;

[0036] Figure 9 A composition diagram of a first out-of-band controller provided by an embodiment of the present application;

[0037] Figure 10 An interface diagram of prompting an IPMI command provided by an embodiment of the present application;

[0038] Figure 11 An interface diagram of prompting an IPMI command provided by an embodiment of the present application. DETAILED DESCRIPTION

[0039] In the description of the present application, unless otherwise specified, " / " means "or", for example, A / B can mean A or B. "And / or" in this text is only a description of the relationship between the associated objects, which means that there can be three relationships, for example, A and / or B, which can mean that A exists alone, A and B exist together, and B exists alone. In addition, "at least one" means one or more, and "multiple" means two or more. "First", "second", etc. do not limit the quantity and execution order, and "first", "second", etc. also do not necessarily mean different.

[0040] It should be noted that the words "exemplary" or "for example" are used herein to mean "an example of" or "one example among others." Any embodiment or design scheme described herein as "exemplary" or "for example" should not be construed as being more advantageous or superior than other embodiments or design schemes. In fact, the use of the words "exemplary" or "for example" is intended to present concepts in a particular manner.

[0041] In order to make the embodiments of the present application clearer, the following briefly introduces the concepts and some contents related to the embodiments of the present application.

[0042] 1, IPMI

[0043] IPMI is a new generation of general interface standard which makes hardware management intelligent. The IPMI function is mainly realized through BMC, and users can send IPMI commands to BMC to obtain the physical characteristics of the server, such as temperature, voltage, fan working state and power supply, etc.

[0044] 2, IPMItool

[0045] IPMItool is an IPMI management platform, through which users generate and send IPMI commands.

[0046] At present, IPMI commands include two presentation modes, one is in the form of command characters, and the other is in the form of raw commands. Among them, the command characters are usually used to indicate some common IPMI functions, for example, "ipmitool mc info" is used to indicate to view the BMC hardware information; for example, if a user wants to view the server power status, the IPMI command can be input in the following format: ipmitool -H (BMC management IP address) -I lanplus (secure transmission protocol) -U (BMC login username) -P (password of BMC login username) power status.

[0047] As can be seen, when obtaining the data required by the user in the form of the above command characters, more characters need to be input, and the IPMI functions defined by this form are limited and cannot meet the user's needs in more detail.

[0048] In this regard, the current raw command mode is usually used to meet the user's needs and provide more IPMI functions. The raw command input mode is relatively simple, usually in the form of "0xAB", where "A" and "B" can be represented by numbers or letters, different combinations constitute different IPMI commands, and different IPMI commands can represent different IPMI functions. For example, the raw command can be represented by "0x00", "0x0B", etc.

[0049] Currently, some commands in the raw command can be configured by the manufacturer, for example, "0x30" and its sub-commands can be defined by the manufacturer, so that each IPMI command defined by the manufacturer has a corresponding IPMI function. This way realizes the flexibility of command configuration. However, when the user equipment is used, because the command sets corresponding to servers of different manufacturers are different, the user needs to determine the corresponding command set through the manufacturer information or the server information when inputting the command, and then query the required IPMI function and the corresponding IPMI command based on the command set. In this way, although the command line is relatively simple, more refined IPMI functions can be realized through the raw command, but the user needs to constantly query and learn, which is not convenient for the user to quickly master, and affects the efficiency of obtaining data.

[0050] To this end, the embodiment of the present application provides an IPMI command prompting method, which prompts the user with the IPMI command corresponding to the server when the user inputs the IPMI command, thereby avoiding the process of querying and learning the command set corresponding to the server for the required information by the user, reducing the time cost, improving the efficiency of command generation and the communication efficiency with the BMC.

[0051] The scheme provided by the embodiment of the present application can be applied to a communication system 10 as shown in Figure 1 As shown in Figure 1 The communication system 10 can include a user equipment 11 and a plurality of servers (such as a server 12 and a server 13). The user equipment 11 is installed with an IPMI tool for receiving characters input by the user and generating an IPMI command. The out-of-band control module (such as a BMC) of the plurality of servers is respectively deployed with an IPMI firmware for receiving the IPMI command sent by the user equipment and feeding back corresponding data information.

[0052] In hardware implementation, the user equipment and the server can realize corresponding functions through a communication device as shown in Figure 2 The present application does not limit the specific form of the communication device, which can be a terminal or a server. The terminal can be a mobile phone, an augmented reality (AR) device, a virtual reality (VR) device, a tablet computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), etc. The server can be a physical or logical server. As shown in Figure 2 A hardware structure schematic diagram of a communication device 20 provided by the embodiment of the present application is shown in

[0053] Figure 2 The communication device 20 shown can include a processor 201, a memory 202, a communication interface 203, an out-of-band controller 204, and a bus 205. The processor 201, the memory 202, the communication interface 203, and the out-of-band controller 204 can be connected through the bus 205.

[0054] The processor 201 is a control center of the communication device 20, and can be a general central processing unit (CPU), or other general-purpose processor, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc.

[0055] As an example, the processor 201 can include one or more CPUs, such as the CPU 0 and the CPU 1 shown in FIG. 1. Figure 2

[0056] The memory 202 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto.

[0057] In one possible implementation, the memory 202 can exist independently of the processor 201. The memory 202 can be connected to the processor 201 through the bus 202, and be used to store data, instructions, or program code. When the processor 201 invokes and executes the instructions or program code stored in the memory 202, the IPMI command prompting method provided by the embodiments of the present application can be implemented.

[0058] In another possible implementation, the memory 202 can also be integrated with the processor 201.

[0059] ​The communication interface 203 is configured to connect the communication device 20 with other devices through a communication network, which can be an Ethernet network, a radio access network (RAN), a wireless local area network (WLAN), or the like. The communication interface 203 can include a receiving unit configured to receive data, and a sending unit configured to send data.

[0060] The out-of-band controller 204 is configured to perform remote maintenance and management on the communication device 20 through a dedicated data channel. The out-of-band controller is completely independent of the operating system of the communication device 20, and can communicate with the processor, the memory, and the like through an out-of-band management interface.

[0061] For example, the out-of-band processor can include a management unit of a running state of the communication device, a management system in a management chip outside the processor, a BMC, or the like. It should be noted that the specific form of the out-of-band controller is not limited in the embodiments of the present application, and the above is only an example. In the following embodiments, the out-of-band controller is taken as the BMC for example.

[0062] The BMC can deploy an IPMI firmware, which is configured to receive and identify an IPMI command.

[0063] It should be noted that different companies have different names for the BMC of the communication device 20. For example, some companies call it BMC, some companies call it integrated lights-out (iLO), and another company calls it integrated Dell remote access controller (iDRAC). Regardless of whether it is called BMC, iLO, or iDRAC, it can be understood as the BMC in the embodiments of the present application.

[0064] The bus 205 can be an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, an extended industry standard architecture (EISA) bus, or the like. The bus can be divided into an address bus, a data bus, a control bus, and the like. For convenience of representation, Figure 2 Only one thick line is used in the figure, but it does not mean that there is only one bus or only one type of bus.

[0065] It should be noted that, Figure 2The structures shown in the figures do not constitute a limitation on the communication device 20, except Figure 2 In addition to the components shown, the communication device 20 can include more or less components, or different arrangements of the components shown, or a combination of certain components. For example, the communication device 20 further includes a display screen for displaying images, videos, etc. The display screen includes a display panel. The display panel can adopt a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a Miniled, a MicroLed, a Micro-oLed, a quantum dot light emitting diode (QLED), etc. In some embodiments, the communication device 20 can include one or N display screens, where N is a positive integer greater than 1. In the embodiments of the present application, the display screen can display a window for prompting the user with an IPMI command, and receive the user's operation on the interface of the communication device.

[0066] As shown in Figure 3 Fig. 1 is a flow diagram of an IPMI command prompting method provided by the embodiments of the present application. Figure 3 The method shown in Figure 1 The user equipment 11 in the communication system shown in Fig. 1 is taken as an example in the following description. The method includes the following steps S301-S302.

[0067] S301, the first device receives a first string input by the user.

[0068] It can be understood that the first string is used to generate an IPMI command to instruct the corresponding IPMI function to obtain corresponding data information for the user.

[0069] For example, the first string is "mc info", which is used to indicate that the hardware information of the BMC is obtained, or the first string can also be "mc in", that is, the first string can be a string composed of an incomplete IPMI command, wherein the character order in the string conforms to the character input order of the incomplete IPMI command.

[0070] It should be noted that the first string includes at least one character.

[0071] S302, the first device displays one or more IPMI commands containing the first string according to the first string.

[0072] The one or more IPMI commands are used to request data information from the first BMC.

[0073] Optionally, the first device searches for an IPMI command containing the first string from a locally stored set of IPMI commands according to the first string input by the user, and outputs and displays the search result.

[0074] For example, according to the first string "mc in" input by the user, the IPMI command "mc info" is displayed.

[0075] It can be understood that the character order in the one or more IPMI commands is the same as that in the first string.

[0076] It should be noted that the BMC or the first BMC mentioned above can be a BMC for monitoring the running state in any device, such as the BMC in the first device or the BMC in another device.

[0077] Optionally, after step S302, the method further includes: the first device displays function information of the one or more IPMI commands. The function information is used to indicate the function of the one or more IPMI commands.

[0078] For example, if the displayed IPMI command is "mc info", the function information of the IPMI command, such as "# hardware information of the BMC", can be added subsequently.

[0079] It can be understood that in this way, the user can refer to the complete IPMI command related to the input string when inputting the IPMI command, thereby prompting the user when inputting the IPMI command, and improving the accuracy of the IPMI command and the communication efficiency with the first BMC. Further, it helps the user to determine the function of the command while prompting the user with the complete IPMI command, which facilitates the user to select.

[0080] It should be noted that in the above prompting method, the string input by the user is displayed as prompt information, including possible complete command information and corresponding function information. If the string input by the user is incorrect, such as a spelling error, the first device will inform the user that the corresponding command does not exist locally by not generating prompt information, or the first device displays prompt information such as "no result" to inform the user.

[0081] In a possible implementation, the step S302 displays one or more IPMI commands in a manner as shown in Figure 4 FIG. 1. The step S302 includes steps S401-S403.

[0082] S401, the first device determines a character state according to the first string.

[0083] The character state is used to determine a command set to which one or more IPMI commands containing the first string belong.

[0084] Optionally, the first device identifies the input character and determines the state corresponding to the input character. The first device establishes a corresponding relationship between the character state determined by the input character and the locally stored IPMI command set. Each character state corresponds to a sub-command set. The sub-command sets can have the same or different IPMI commands.

[0085] For example, as shown in Figure 5 FIG. 2, the first device provides a character state diagram of an IPMI command set. The diagram includes various character states and the transition between the character states.

[0086] The start state is used to indicate the state corresponding to the user entering a management platform. The management platform includes a management platform for communicating with IPMI firmware. The management platform can also include a management platform for communicating with other elements. In a possible implementation, the sub-command set corresponding to the start state is all the locally stored IPMI command sets.

[0087] Optionally, the sub-command set corresponding to the start state can also include a command set that can be used when communicating with other elements.

[0088] The matching IPMItool string state is used to indicate that the user enters an IPMItool management platform for communicating with IPMI firmware. The input string after entering the IPMItool management platform is used to indicate an IPMI command sent to the IPMI firmware. For example, the user inputs "IPMItool", and the first device identifies the string and determines that the character state is matching IPMItool string. In a possible implementation, the sub-command set corresponding to the matching IPMItool string is all the locally stored IPMI command sets.

[0089] The matching parameter list indicates the method of sending IPMI commands. For example, parameter list 1 is determined when a user needs to read information from the BMC in their own device; parameter list 2 is determined when a user needs to remotely read information from the BMC in another device. The subcommand sets corresponding to parameter list 1 and parameter list 2 can be the same or different.

[0090] In one possible implementation, when the first string contains the address of the first BMC, the parameter list is matched based on the address of the first BMC.

[0091] It is understandable that when a user reads its own device and other devices, the channels used to send IPMI commands are different, and the set of available IPMI commands may be different.

[0092] Special assistance is a state used to derive relevant commands based on artificial intelligence (AI) algorithms that predict user input strings. For example, if a user inputs "I want to get BMCinformation", the system will be set to special assistance, and the IPMI command "mc info" will be suggested.

[0093] Understandably, in the example above, the special auxiliary state is used to locate and display IPMI commands with functions similar to those indicated by the user-input string. In other words, the command set corresponding to this state primarily stores the set of commands provided based on user habits and semantic recognition algorithms.

[0094] Character commands: The set of subcommands corresponding to this state consists of commands represented in command character form.

[0095] The `raw` command is a set of subcommands that correspond to this state, represented in the form of `raw` commands. For example, when a user inputs "raw", the first device recognizes the string and determines the character state as the `raw` command.

[0096] The undefined state indicates the character state when the input string does not belong to any of the above character states. It can also be understood as the IPMI command set corresponding to the undefined state being empty. For example, if the user enters a misspelled first string, and the first device cannot find an IPMI command containing the first string in the subcommand set corresponding to that character state, then the character state is determined to be undefined.

[0097] It is understandable that the above character states can be arranged in the following order: Figure 5 Jump in the indicated direction.

[0098] For example, in combination with the above description of each character state, when the user starts the IPMI management platform software, the character state enters the "start state". The sub-command set corresponding to the character state is the command set containing the IPMI command set. When the user inputs "ipmitool", the character state enters "matching IPMItool string". The first device determines the sub-command set for providing the IPMI prompt for the user based on the input "ipmitool" of the user, and the sub-command set is all the IPMI command sets stored locally by the first device. It can be understood that when the user input is not "ipmitool", it is determined whether it is a command in the sub-command set corresponding to the "start state". If yes, the "start state" is entered. If not, the "undefined state" is entered.

[0099] Further, the user inputs the BMC address to enter the "matching parameter list" character state, and the BMC address is used to indicate the first BMC. The first device determines the first IPMI command set corresponding to the first BMC in the IPMI command set based on the BMC address. It can be understood that when the first device cannot determine the first IPMI command set corresponding to the BMC address input by the user, the "undefined state" is entered.

[0100] When the user inputs "raw", the first device enters the "raw command" character state and determines the raw command set in the first IPMI command set. When the user inputs the command character, the first device enters the "character command" character state and determines the command character set in the first IPMI command set. When the user inputs the description information related to the command function, the first device enters the "special auxiliary" character state and determines the corresponding raw command or command character according to the input information. When the user input string satisfies the output state of the sub-command set corresponding to the raw command or the sub-command set corresponding to the character command, the "command sending" character state is entered. The output state satisfying the sub-command set means that there is no executable command for more specific IPMI function after the current string. For example, when the user inputs "get deviceinfo" to obtain the device parameter, and further inputs the command for obtaining the CPU temperature according to the prompt, the command has been used to indicate the parameter of a certain component in the device, which satisfies the output state. When the user inputs "get device info", the first device determines that the string still includes the command for indicating the more specific IPMI function, and the character state is still in the "raw command" or "character command" state, which does not satisfy the output state.

[0101] Based on the above example, the jump of each character state is realized according to the user input, and the process of user input and command output is completed as shown in Figure 5 .

[0102] It should be noted that the character state provided by the embodiments of the present application is only an example, and more or less character states can be included for the first device to determine the IPMI command prompted for the user.

[0103] S402, the first device determines one or more IPMI commands according to the character state.

[0104] Optionally, the first device determines one or more IPMI commands in the corresponding subcommand set according to the character state.

[0105] Wherein, there can be repeated IPMI commands between the subcommand sets corresponding to the character state, that is, the same IPMI command can be determined by different character states.

[0106] S403, the first device displays one or more IPMI commands.

[0107] Specifically, the first device displays the determined one or more IPMI commands in the display screen for the user to view.

[0108] Through the above steps S401-S403, the character state is determined according to the user input string, and the corresponding subcommand set is further determined, and one or more IPMI commands containing the first string are determined in the subcommand set for the user to display, so as to realize real-time prompting in the input process, which helps to improve the efficiency of the user to obtain data information.

[0109] In combination with Figure 3 With Figure 4 The method shown in FIG. 1, when the first device determines that the character state of the first string input by the user is a raw command, referring to the raw command diagram shown in FIG. 2, when the first string input by the user contains: “ipmitool raw 0x06”, it is determined that the character state of the first string input by the user is a raw command. Figure 6

[0110] Example one, ipmitool raw 0x06

[0111] The first device displays the following information according to the first string:

[0112] app cmd

[0113] 0x01 get device idget device id

[0114] 0x02 cold resetcold reset

[0115] 0x08 get deviceget device ​

[0116] wherein, cmd is a command prompt, and app cmd is used to indicate that the command set can be continued to be input after the inputted string.

[0117] In example one, the first device determines the character state as raw command according to the first string inputted by the user, and locates raw 0x06 in the corresponding sub-command set as shown in Figure 6 , prompts the user with the sub-command of the command of raw 0x06.

[0118] In example one, the IPMI function information corresponding to each sub-command is further displayed.

[0119] As shown in Figure 10 , the interface diagram corresponding to this example is shown. In the interface diagram, according to the input of the user “ipmitool raw 0x06”, the prompt information in the dashed box is displayed, including the prompt information of the IPMI command and the IPMI function information corresponding to each command.

[0120] Example two, ipmitool raw 0x30 0x93

[0121] The first device displays the following information according to the first string:

[0122] OEM cmd

[0123] 1:3 0x14e300

[0124] wherein, OEM refers to original equipment manufacturer (OEM), which can also be referred to as manufacturer, indicating the manufacturer of the server to which the BMC belongs.

[0125] The above information is used to indicate that the identification of the manufacturer is 14e300, and instructs the user to continue to input the manufacturer identification after the first string. Wherein, “1:3” is used to instruct the user to input the manufacturer identification in the form of “0xAB” in three bytes, that is, input “14e300” in the form of “0x14 0xe3 0x00”.

[0126] Through the raw command tree as shown in Figure 6 , according to the raw command inputted by the user, the information needed to be further inputted under the command is prompted to the user to indicate to the specific IPMI function.

[0127] As shown in Figure 11 (a) of the figure, the interface diagram corresponding to this example is shown. In the interface diagram, according to the input of the user “ipmitool raw 0x30 0x93”, the prompt information in the dashed box is displayed.

[0128] For example, in combination with the above-mentioned example two, the user continues to input according to the prompt:

[0129] ipmitool raw 0x30 0x93 0x14 0xe3 0x00

[0130] Further, the first device displays the following information according to the first string:

[0131] 4sub cmd

[0132] 0x27 get device info

[0133] Among them, 4sub cmd represents the fourth byte of the supplementary command prompt. The fourth byte refers to the fourth byte that needs to be input on the basis of the three bytes of the manufacturer identification. For example, the above-mentioned 0x27 is the supplementary command.

[0134] Based on the input information shown in (a) of FIG. 1, Figure 11 the user continues to input to obtain the interface diagram shown in (b) of FIG. 1, and displays the corresponding prompt information in the dashed box. Figure 11

[0135] Correspondingly, the user continues to input 0x27 according to the prompt, and the string after inputting is:

[0136] ipmitool raw 0x30 0x93 0x14 0xe3 0x00 0x27

[0137] The first device continues to display:

[0138] 5device type parameter

[0139] The above-mentioned command is used to prompt the user that the fifth byte is used to obtain specific parameter information.

[0140] Among them, under this prompt, the readable device type parameters and their corresponding commands can be further displayed. The readable device type parameters include the parameter information of the specific components obtained by the BMC. For example, the temperature (temperature, Figure 11 in (c) of FIG. 1 is abbreviated as temp), the temperature of CPU2, and the temperature of the hard disk drive (HDD).

[0141] As shown in the interface diagram shown in (c) of FIG. 1, the corresponding prompt information is displayed based on the user input of “0x27”. Figure 11

[0142] ​​Based on the above example, when the user finishes inputting the fifth byte, at this time, the first device determines that the current string has been positioned to the end of the leaf node in the command tree shown in the raw command tree, indicating that the string is a complete IPMI command and can indicate a specific IPMI function, and then sends the IPMI command. Figure 6

[0143] Optionally, before sending the IPMI command, the first device pops up prompt information of whether to send the command to the user, and performs sending of the command based on the user's selection.

[0144] As shown in the interface diagram in (d) of FIG. 1, Figure 11

[0145] It can be understood that in the above example, the first device prompts based on the first string input by the user until the input information meets the command sending state in the character state, and can prompt the user and send according to the user's instruction. Through the above example, a complete IPMI command prompting method is provided for the user, which helps to improve the efficiency of the user inputting the IPMI command, and further improves the communication efficiency with the BMC.

[0146] It should be noted that Figure 6 The raw command shown in (a) of FIG. 1 is shown in a tree structure, and in addition, it can also be represented by other means, which is not limited in the present application.

[0147] It should be noted that the IPMI function indicated by the command character and the raw command may coincide, for example, obtaining device information is represented in the form of “mc info” in the command character, and is represented in the form of “0xAB” in the raw command, but in fact the IPMI functions indicated by the two are the same.

[0148] Based on this, after the user inputs the IPMI command in the form of the command character and sends it, the corresponding feedback information can be received, and the string of the IPMI command represented in the form of the raw command.

[0149] It can be understood that through the above-mentioned manner, when the user sends the IPMI command based on the form of the command character, it is helpful for the user to further learn how to send a command indicating the same IPMI function in the form of a more simplified raw command, thereby improving the user experience.

[0150] Optionally, the first string includes a first BMC address. The first BMC address is used to indicate the BMC from which the user needs to obtain data.

[0151] ​​In a possible implementation, the first device receives a first BMC address input by a user, and determines a first IPMI command set from a locally stored IPMI command set according to the first BMC address. The first IPMI command set has a corresponding relationship with the BMC indicated by the first BMC address. The first IPMI command set is determined according to the character state described above. For example, when the user inputs the first BMC address, the character state is the matching parameter list, and the first device determines the parameter list corresponding to the first BMC address as the first IPMI command set.

[0152] Optionally, the BMC address contains a server identifier to which the BMC belongs, and the first device determines the first IPMI command set according to the server identifier.

[0153] As described above, in servers produced by different manufacturers, the running environment of the BMC is different, and the IPMI command set corresponding to the BMC in different servers is different. In this regard, the first device can store one or more corresponding relationships between BMC addresses and IPMI command sets, and determine the IPMI command set corresponding to the BMC address in the local device based on the BMC address.

[0154] It can be understood that the first device stores multiple IPMI command sets, which helps to save the time cost for searching the IPMI command set corresponding to the BMC, thereby automatically switching the IPMI command set through the BMC address, and improving the efficiency of prompting the IPMI command for the user.

[0155] In the above manner, it is helpful for the first device to prompt the user in real time about the IPMI command corresponding to the BMC that needs to be communicated when receiving the character string input by the user, thereby improving the communication efficiency of the user.

[0156] Optionally, after determining the first BMC address, the above method further includes steps S701-S705 as shown in the following. Figure 7

[0157] S701, the first device sends a verification IPMI command to the first BMC.

[0158] Optionally, the verification IPMI command contains a command fingerprint of the first IPMI command set, and the command fingerprint is used by the first BMC to determine whether the first IPMI command set needs to be updated.

[0159] ​When the first device determines the first BMC address, a set of IPMI commands for interacting with the first BMC needs to be obtained. Currently, the server to which the BMC belongs can modify the current IPMI functions in the version update process, including adding IPMI functions, deleting IPMI functions, or modifying the current IPMI functions; accordingly, the IPMI commands for indicating the above-mentioned IPMI functions are modified. The first device sends a verification IPMI command to the first BMC, which helps to verify whether the first IPMI command set stored locally corresponding to the first BMC is consistent with the IPMI command set in the first BMC, thereby helping to improve the accuracy of the prompt for the user when the user inputs the IPMI command.

[0160] In a possible implementation, the command fingerprint of the first IPMI command set adopts a hash algorithm to encrypt the commands in the first IPMI command set, and the obtained hash value is taken as the command fingerprint of the first IPMI command set.

[0161] Optionally, the command fingerprint of the first IPMI command set includes the command fingerprints generated by the respective IPMI commands in the first IPMI command set.

[0162] Through the above-mentioned independent command fingerprint, the BMC can compare the command fingerprints one by one, which helps to improve the comparison efficiency and respond to the comparison result in a timely manner.

[0163] S702, the first BMC determines whether the first IPMI command set needs to be updated.

[0164] In combination with the above-mentioned possible implementation, the first BMC compares the command fingerprints one by one to determine whether the respective IPMI commands have changed.

[0165] Optionally, if the first BMC determines that the first IPMI command set does not need to be updated according to the command fingerprints, the first BMC performs step S703; if the first BMC determines that the first IPMI command set needs to be updated according to the command fingerprints, the first BMC performs step S704.

[0166] S703, the first BMC sends response information to the first device, the response information being used to indicate that the first device does not need to update the first IPMI command set.

[0167] Correspondingly, the first device receives the response information and provides the prompt of the IPMI command for the user by using the first IPMI command set stored locally.

[0168] S704, the first BMC sends indication information to the first device, the indication information being used to indicate that the first device updates the first IPMI command set.

[0169] Optionally, the indication information comprises a target IPMI command, and the target IPMI command is at least one IPMI command in the first IPMI command set that needs to be updated.

[0170] Correspondingly, the first device receives the indication information and updates according to the target IPMI command contained in the indication information.

[0171] S705, the first device updates the IPMI command set.

[0172] Specifically, the first device determines the target IPMI command in the first IPMI command set stored locally and replaces it.

[0173] It can be understood that in this way, the first device can update the first IPMI command set used for prompting the user in the process of verifying with the first BMC, and directly update the IPMI command indicated by the indication information, thereby improving the update efficiency.

[0174] Optionally, when the first device updates the first IPMI command set, the update information and the first IPMI command set before the update can be stored independently. For example, the first device comprises a configuration file library and a metadata file library, wherein the configuration file library is used to store the first IPMI command set, and the metadata file library is used to store the update information of the first IPMI command set. When the first device determines the first BMC address and determines that the corresponding IPMI command is the first IPMI command set, the command fingerprint of the first IPMI command set in the configuration file library is used to verify whether it needs to be updated. If it needs to be updated, the target IPMI command is stored in the metadata file library according to the above manner. Further, when the first device determines the second BMC address and determines that the corresponding IPMI command is also the first IPMI command set, the command fingerprint of the first IPMI command set in the configuration file library is still used to verify with the second BMC. If it needs to be updated, the updated IPMI command is additionally saved in the metadata file library.

[0175] In this way, it is helpful to save IPMI command sets of different versions under the same manufacturer, thereby improving the execution efficiency of the scheme.

[0176] It should be noted that the above-mentioned way of verifying the IPMI command containing the command fingerprint used by the first BMC to determine whether to update is one possible implementation, and in the specific implementation process, the verification IPMI command can also be used as a command for requesting the first BMC to start the verification program. The first BMC obtains the first IPMI command set fingerprint stored locally from the first device after receiving the verification IPMI command; or the first BMC directly feeds back the current latest version of the first IPMI command set to the first device, and the first device updates it, and the present application does not limit this.

[0177] In this way, the accuracy of providing the user with the prompt IPMI command is improved, and the communication efficiency with the BMC is improved.

[0178] Optionally, the first device has a second IPMI command set, and the second IPMI command set contains commands for interacting with a second BMC. The first IPMI command set is different from the second IPMI command set, and the method further includes: periodically determining, by the first device, the usage frequencies of the first IPMI command set and the second IPMI command set, and deleting an IPMI command set whose usage frequency is lower than a first threshold.

[0179] Optionally, the first IPMI command set and the second IPMI command set are stored in the configuration file library.

[0180] It can be understood that, by counting the usage frequencies of the first IPMI command set and the second IPMI command set, and determining the IPMI command set whose usage frequency is lower than the first threshold, the utilization rate of the configuration file library is improved, the IPMI command set stored in the configuration file library is updated according to the usage frequency, and the IPMI command set with a relatively low usage frequency is deleted, so that the space utilization rate is improved.

[0181] It should be noted that the present application does not make any limitation on the specific values of the period in which the first device determines the usage frequencies of the IPMI command sets and the first threshold. For example, the period and the first threshold can be preset in the first device; or the first device counts the usage frequencies of the IPMI command sets in a preset period, and sorts them in descending order, and deletes the IPMI command set with the lowest usage frequency.

[0182] The above mainly describes the scheme of the embodiments of the present application from the perspective of the method. It can be understood that, in order to implement the above functions, the communication device comprises at least one of the hardware structure and the software module corresponding to each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of the examples described in the embodiments disclosed in the present application, the present application can be realized in the form of hardware or a combination of hardware and computer software. Whether a certain function is implemented in hardware or computer software driven hardware depends on the specific application and design constraints of the technical scheme. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0183] The embodiments of the present application can divide the functional units of the first device and the server according to the above method examples. For example, each functional unit can be divided according to each function, or two or more functions can be integrated in one processing unit. The integrated unit can be realized in the form of hardware or software functional unit. It should be noted that the division of units in the embodiments of the present application is illustrative, and is only a logical function division. In actual implementation, another division method can be used.

[0184] In the case of dividing each functional module according to each function, Figure 8 A possible structure schematic diagram of the first device involved in the above embodiments is shown. As shown in Figure 9 The first device 80 includes a communication unit 801 and a display unit 802.

[0185] The communication unit 801 is configured to receive a first character string input by a user.

[0186] The display unit 802 is configured to display one or more IPMI commands containing the first character string according to the first character string, and the one or more IPMI commands are used to request data information from the first out-of-band controller.

[0187] In an example, the communication unit 801 is further configured to receive indication information sent by the first out-of-band controller, and the indication information is used to indicate that the first IPMI command set is updated, and the first IPMI command set contains IPMI commands used to interact with the first out-of-band controller; and the first device 80 further includes a processing unit 803 configured to update the first IPMI command set according to the indication information.

[0188] In an example, the indication information includes a target IPMI command, and the target IPMI command is at least one IPMI command that needs to be updated in the first IPMI command set; and the processing unit 803 is specifically configured to update the target IPMI command in the first IPMI command set.

[0189] In an example, the first character string contains an address of the first out-of-band controller; and the communication unit 801 is further configured to send a verification IPMI command to the first out-of-band controller according to the address of the first out-of-band controller, and the verification IPMI command contains a command fingerprint of the first IPMI command set, and the command fingerprint is used for the first out-of-band controller to determine whether the first IPMI command set needs to be updated.

[0190] In an example, there is a second IPMI command set containing commands for interacting with the second out-of-band controller, the first IPMI command set is different from the second IPMI command set, the processing unit 803 is further configured to periodically determine usage frequencies of the first IPMI command set and the second IPMI command set; and delete an IPMI command set whose usage frequency is lower than a first threshold.

[0191] In an example, the first device 80 further comprises a storage unit 804. The storage unit 804 is configured to store computer-executable instructions, and other units in the first device can perform corresponding actions according to the computer-executable instructions stored in the storage unit 804.

[0192] For specific descriptions of the above optional manners, refer to the foregoing method embodiments, which will not be described here again. In addition, the descriptions of the explanations and beneficial effects of any of the first devices 80 provided above can refer to the corresponding method embodiments described above, which will not be described here again.

[0193] In the case of dividing each functional module according to each function, Figure 9 A possible structure of the first out-of-band controller 90 involved in the above embodiments is shown. As shown in Figure 2 The out-of-band controller 90 comprises a communication unit 901 and a processing unit 902.

[0194] The communication unit 901 is configured to receive a verification IPMI command sent by the first device, the verification IPMI command containing a command fingerprint of a first IPMI command set, the first IPMI command set containing commands for interacting with the first device.

[0195] If the processing unit 902 is configured to determine that the first IPMI command set does not need to be updated according to the command fingerprint, the communication unit 901 is further configured to send response information to the first device, the response information being used to indicate that the first IPMI command set does not need to be updated.

[0196] If the processing unit 902 is configured to determine that the first IPMI command set needs to be updated according to the command fingerprint, the communication unit 901 is further configured to send indication information to the first device, the indication information being used to indicate that the first IPMI command set needs to be updated.

[0197] In an example, the indication information comprises a target IPMI command, the target IPMI command being at least one IPMI command in the first IPMI command set that needs to be updated.

[0198] In an example, the first out-of-band controller 90 further comprises a storage unit 903. The storage unit 903 is configured to store computer-executable instructions, and other units in the first out-of-band controller can perform corresponding actions according to the computer-executable instructions stored in the storage unit 903.

[0199] The specific description of the optional mode can be referred to the foregoing method embodiments, and details are not described herein. In addition, the explanation and beneficial effect of any of the first out-of-band controller 90 provided above can be referred to the corresponding method embodiments, and details are not described herein.

[0200] The embodiment of the present application further provides a communication device, which refers to the hardware structure diagram shown in the foregoing Figure 2 The communication device includes a communication interface, a processor and a display, the communication interface and the display are connected with the processor respectively; the communication interface is used to receive a first character string input by a user; the processor is used to determine one or more IPMI commands containing the first character string according to the first character string, the one or more IPMI commands are used to request data information from a baseboard management controller BMC in a server; and the display is used to display the one or more IPMI commands.

[0201] The communication device further includes a memory. The memory can contain computer program codes. The processor is used to execute the computer program codes stored in the memory, so as to realize the method provided by the embodiment of the present application.

[0202] In the implementation process, the steps in the method provided by the embodiment can be completed by the integrated logic circuit of the hardware in the processor of the communication device or the instructions in the form of software. The steps of the method disclosed by the embodiment of the present application can be directly embodied as the execution of the hardware processor, or the execution of the combination of the hardware and the software module in the processor.

[0203] The embodiment of the present application further provides a server, which refers to the hardware structure diagram shown in the foregoing ​ The server includes a communication interface and a processor, the communication interface is connected with the processor; the communication interface is used to receive a verification IPMI command sent by a first device, the verification IPMI command contains command fingerprints of a first IPMI command set, the first IPMI command set contains commands used to interact with the first device; if the processor is used to determine that the first IPMI command set does not need to be updated according to the command fingerprints, then the communication interface is used to send response information to the first device, the response information is used to indicate that the first IPMI command set does not need to be updated; and if the processor is used to determine that the first IPMI command set needs to be updated according to the command fingerprints, then the communication interface is used to send indication information to the first device, the indication information is used to indicate that the first IPMI command set needs to be updated.

[0204] The server further includes a memory. The memory can contain computer program codes. The processor is used to execute the computer program codes stored in the memory, so as to realize the method provided by the embodiment of the present application.

[0205] In the implementation process, each step in the method provided by the embodiment can be completed by the integrated logic circuit of hardware or the instruction in the form of software in the processor of the server. The steps of the method disclosed by the embodiment of the present application can be directly embodied as the execution of hardware processor, or the execution of hardware and software module combination in the processor.

[0206] The embodiment of the present application further provides a computer readable storage medium, and the computer readable storage medium stores a computer program. When the computer program runs on a computer, the computer program causes the computer to execute the method executed by any one of the communication devices provided in the above.

[0207] The explanation and beneficial effects of the related content in any one of the computer readable storage media provided above can be referred to the corresponding embodiment, and will not be repeated here.

[0208] The embodiment of the present application further provides a chip. The chip integrates the control circuit for realizing the functions of the first device 80 and / or the first out-of-band controller 90 and one or more ports. Optionally, the functions supported by the chip can be referred to the above, and will not be repeated here. Those skilled in the art can understand that all or part of the steps of the above embodiment can be completed by programs instructing the related hardware. The program can be stored in a computer readable storage medium. The storage medium mentioned above can be a read-only memory, a random access memory, etc. The processing unit or the processor mentioned above can be a central processing unit, a general-purpose processor, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.

[0209] The embodiments of the present application further provide a computer program product containing instructions, which, when executed on a computer, cause the computer to perform any of the methods described above. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present application are wholly or partially generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions can be transferred from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that can be accessed by a computer or include one or more data storage devices that can be integrated with the medium, such as servers, data centers, etc. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as an SSD), etc.

[0210] It should be noted that the devices for storing computer instructions or computer programs provided by the embodiments of the present application, such as but not limited to the above-mentioned memory, computer-readable storage medium and communication chip, etc., are all non-volatile (non-transitory).

[0211] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions according to the embodiments of the present application are generated. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions can be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer readable storage medium can be any available medium that can be accessed by a computer or data storage device including one or more servers, data centers, etc. integrated with the medium. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.

[0212] Although the present application is described herein in conjunction with various embodiments, it is understood that other variations of the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed application, from an inspection of the drawings, the disclosure, and the appended claims. The word "comprising" does not exclude other components or steps not listed in the claims, "a" or "an" does not exclude a plurality, and a single processor or other unit can fulfill the functions of several means recited in the claims. Means-plus-function or step-plus-function clauses are used where for procedural or logical operations, the recitation of means or steps does not imply a limitation to a specific order of operations.

[0213] Although the present application is described herein in conjunction with various embodiments, it is understood that other variations of the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed application, from an inspection of the drawings, the disclosure, and the appended claims. The word "comprising" does not exclude other components or steps not listed in the claims, "a" or "an" does not exclude a plurality, and a single processor or other unit can fulfill the functions of several means recited in the claims. Means-plus-function or step-plus-function clauses are used where for procedural or logical operations, the recitation of means or steps does not imply a limitation to a specific order of operations.

[0213] Although the present application is described herein in conjunction with various embodiments, it is understood that other variations of the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed application, from an inspection of the drawings, the disclosure, and the appended claims. The word "comprising" does not exclude other components or steps not listed in the claims, "a" or "an" does not exclude a plurality, and a single processor or other unit can fulfill the functions of several means recited in the claims. Means-plus-function or step-plus-function clauses are used where for procedural or logical operations, the recitation of means or steps does not imply a limitation to a specific order of operations.

Claims

1. An IPMI command prompt method, characterized in that, include: Receive the first string input by the user; Based on the first string, display one or more IPMI commands containing the first string, the one or more IPMI commands being used to request data information from the first out-of-band controller; the one or more IPMI commands belong to a first IPMI command set, the first IPMI command set containing IPMI commands for interacting with the first out-of-band controller; The method further includes: the existence of a second IPMI command set containing commands for interacting with a second out-of-band controller, wherein the first IPMI command set differs from the second IPMI command set; and the method also includes: The frequency of use of the first IPMI command set and the second IPMI command set is periodically determined; Delete the IPMI command set whose usage frequency is lower than the first threshold.

2. The method according to claim 1, characterized in that, Before displaying one or more IPMI commands containing the first string according to the first string, the method further includes: Receive indication information sent by the first out-of-band controller, the indication information being used to instruct the updating of the first IPMI command set; Update the first IPMI command set according to the indicated information.

3. The method according to claim 2, characterized in that, The indication information includes a target IPMI command, which is at least one IPMI command in the first IPMI command set that needs to be updated. Updating the first IPMI command set according to the indication information includes: Update the target IPMI command in the first IPMI command set.

4. The method according to claim 2, characterized in that, The first string contains the address of the first out-of-band controller. Before receiving the indication information sent by the first out-of-band controller, the method further includes: Based on the address of the first out-of-band controller, an IPMI verification command is sent to the first out-of-band controller. The IPMI verification command contains a command fingerprint of the first IPMI command set, which is used by the first out-of-band controller to determine whether the first IPMI command set needs to be updated.

5. An IPMI command prompt method, characterized in that, Applied to a first out-of-band controller, the method includes: The system receives an IPMI verification command sent by a first device. The IPMI verification command contains a command fingerprint of a first IPMI command set, which contains commands for the first out-of-band controller to interact with the first device. If it is determined from the command fingerprint that the first IPMI command set does not need to be updated, then a response message is sent to the first device, the response message indicating that the first IPMI command set does not need to be updated; If it is determined from the command fingerprint that the first IPMI command set needs to be updated, then an indication message is sent to the first device, the indication message being used to indicate that the first IPMI command set needs to be updated; The first device contains a first IPMI command set and a second IPMI command set containing commands for interacting with a second out-of-band controller. The first IPMI command set is different from the second IPMI command set. The first device is used to periodically determine the usage frequency of the first IPMI command set and the second IPMI command set; and delete IPMI command sets whose usage frequency is lower than a first threshold.

6. The method according to claim 5, characterized in that, The indication information includes a target IPMI command, which is at least one IPMI command in the first IPMI command set that needs to be updated.

7. A communication device, characterized in that, include: A communication interface, a processor, and a display, wherein the communication interface and the display are respectively connected to the processor; The communication interface is used to receive the first string input by the user; The processor is configured to determine, based on the first string, one or more IPMI commands containing the first string, the one or more IPMI commands being used to request data information from a first out-of-band controller in the server; the one or more IPMI commands belong to a first IPMI command set, the first IPMI command set containing IPMI commands for interacting with the first out-of-band controller; The display is used to display the one or more IPMI commands; The communication device has a second IPMI command set containing commands for interacting with a second out-of-band controller. The first IPMI command set is different from the second IPMI command set. The processor is also configured to periodically determine the usage frequency of the first IPMI command set and the second IPMI command set; and delete IPMI command sets whose usage frequency is lower than a first threshold.

8. A server, characterized in that, include: A communication interface and a processor, wherein the communication interface is connected to the processor; The communication interface is used to receive an IPMI authentication command sent by the first device. The IPMI authentication command contains a command fingerprint of a first IPMI command set, which contains commands for the first out-of-band controller of the server to interact with the first device. If the processor determines, based on the command fingerprint, that the first IPMI command set does not need to be updated, then the communication interface is configured to send response information to the first device, the response information indicating that the first IPMI command set does not need to be updated. If the processor determines that the first IPMI command set needs to be updated based on the command fingerprint, then the communication interface is used to send indication information to the first device, the indication information being used to indicate the update of the first IPMI command set; The first device contains a first IPMI command set and a second IPMI command set containing commands for interacting with a second out-of-band controller. The first IPMI command set is different from the second IPMI command set. The first device is used to periodically determine the usage frequency of the first IPMI command set and the second IPMI command set; and delete IPMI command sets whose usage frequency is lower than a first threshold.

9. A computer-readable storage medium, characterized in that, Includes program code that, when run on a computer or processor, causes the computer or processor to perform the method as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Smart BMC (baseboard management controller) chip control command setting method

    CN107133019A

  • Method for executing CLI command of distributed file system and device thereof

    CN113986672A