Function management method, device, equipment and readable medium of baseboard management controller
By creating isolated processes and performing isolated communications for the functional components to be added in the baseboard management controller, the impact of security functional component updates on BMC stability and security is resolved, achieving plug-and-play and improved functional scalability.
Patent Information
- Application Number
- CN202410840920.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-26
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2044-06-26
Smart Images

Figure CN118734293B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of servers, and in particular to a function management method for a baseboard management controller, a function management device for a baseboard management controller, an electronic device, and a computer-readable medium. Background Art
[0002] In storage controllers, the baseboard management controller (BMC) is responsible for implementing various security features specific to the storage controller. As network security becomes increasingly challenging, new security issues continue to emerge, requiring the BMC to continuously update and enhance its security features. To address these new security issues, security components within the BMC need to be updated or newly added. This typically involves modifying or adding code to the security components. However, due to the complex dependencies between components involved in different security functions, such modifications can adversely affect other components, increasing the difficulty of developing new security features for the BMC and potentially impacting the stability and security of the BMC. Summary of the Invention
[0003] Embodiments of the present invention provide a method, apparatus, electronic device, and computer-readable storage medium for managing the functions of a baseboard management controller (BMC) to address the problem that, due to the complex dependencies between components of different security functions, modification or addition of code to a component of a security function may adversely affect other components, increase the difficulty of developing new security functions for the baseboard management controller, and may affect the stability and security of the BMC.
[0004] An embodiment of the present invention discloses a function management method for a baseboard management controller, which is applied to a baseboard management controller. The baseboard management controller includes at least one functional component and at least one memory space, and the process of the functional component is located in the memory space. The method includes:
[0005] Adding at least one to-be-added functional component of the baseboard management controller to the baseboard management controller, and using the added to-be-added functional component as a target functional component;
[0006] Obtaining a configuration file, a function execution file, and a communication configuration file of the target functional component;
[0007] Creating a target process corresponding to the target functional component for the target functional component by using the configuration file and the function execution file;
[0008] Allocating a target memory space for the target process so that target functional components corresponding to the target process in the target memory space are isolated from functional components corresponding to processes in other memory spaces;
[0009] When the target process is used to control the target functional component to implement the function of the target functional component, communication between the mutually isolated target functional component and the functional component is performed according to the communication configuration file.
[0010] Optionally, the baseboard management controller stores a function flag of at least one target function component; the function flag is used to indicate whether the target function component is enabled; and the step of using the configuration file and the function execution file to create a target process corresponding to the target function component for the target function component includes:
[0011] Traversing the target functional component in the baseboard management controller to obtain a function flag of the currently traversed target functional component;
[0012] Based on the function flag of the currently traversed target function component, determining whether the currently traversed target function component is enabled;
[0013] If the target functional component currently being traversed is enabled, creating a target process corresponding to the target functional component currently being traversed using the configuration file and function execution file of the target functional component currently being traversed;
[0014] If the currently traversed target functional component is not enabled, the remaining target functional components are continuously traversed until corresponding target processes are created for all the enabled target functional components in the baseboard management controller.
[0015] Optionally, the baseboard management controller stores a configuration information configuration table of the target functional component; the step of using the configuration file and the function execution file to create a target process corresponding to the target functional component for the target functional component includes:
[0016] Determining, based on the configuration information configuration table, parameters to be configured of the target functional component and a dependency relationship between the target functional component and the functional component;
[0017] Based on the parameters to be configured and the dependency relationship, a target process corresponding to the target functional component is created.
[0018] Optionally, the baseboard management controller stores an initialization function and a component destruction function of the target functional component; after the step of creating a target process corresponding to the target functional component for the target functional component using the configuration file and the function execution file, the method includes:
[0019] Initializing the target functional component using the initialization function;
[0020] When the target functional component becomes a functional component to be cleared of the baseboard management controller, the target functional component is cleared using the component destruction function.
[0021] Optionally, the baseboard management controller stores a message processing function of the target functional component; and the step of performing communication between the mutually isolated target functional component and the functional component according to the communication configuration file includes:
[0022] determining whether the communication between the target functional component and the functional component meets the communication requirements in the communication configuration file;
[0023] If the communication between the target functional component and the functional component meets the communication requirements in the communication configuration file, the message received by the target functional component is processed by the message processing function.
[0024] Optionally, the communication requirements in the communication profile involve at least one of whether a communication relationship exists between the target functional component and the functional component, the relationship type of the communication relationship between the target functional component and the functional component, and a communication security mechanism between the target functional component and the functional component.
[0025] Optionally, the step of performing communication between the mutually isolated target functional component and the functional component according to the communication configuration file includes:
[0026] Acquire the communication relationship between the target functional component and the functional component;
[0027] Adding the communication relationship to a preset communication relationship table;
[0028] Based on the communication relationship table, communication is performed between the target functional component and the functional component that are isolated from each other.
[0029] An embodiment of the present invention further discloses a function management device for a baseboard management controller, which is applied to the baseboard management controller. The baseboard management controller includes at least one functional component and at least one memory space, and the process of the functional component is located in the memory space. The device includes:
[0030] an adding module, configured to add at least one to-be-added functional component of the baseboard management controller to the baseboard management controller, and use the to-be-added functional component as a target functional component;
[0031] An acquisition module, configured to acquire a configuration file, a function execution file, and a communication configuration file of the target functional component;
[0032] A creation module, configured to create a target process corresponding to the target functional component for the target functional component by using the configuration file and the function execution file;
[0033] an allocation module, configured to allocate a target memory space to the target process so that target functional components corresponding to the target process in the target memory space are isolated from functional components corresponding to processes in other memory spaces;
[0034] The communication module is used to perform communication between the target functional component and the functional component that are isolated from each other according to the communication configuration file when the target process is used to control the target functional component to implement the function of the target functional component.
[0035] Optionally, the baseboard management controller stores a function flag of at least one target function component; the function flag is used to indicate whether the target function component is enabled; and the creation module includes:
[0036] A traversal submodule, configured to traverse the target functional component in the baseboard management controller and obtain a function flag of the currently traversed target functional component;
[0037] A first judgment submodule is configured to judge whether the currently traversed target functional component is enabled based on the function flag of the currently traversed target functional component;
[0038] A utilization submodule is used to create a target process corresponding to the currently traversed target functional component by using the configuration file and function execution file of the currently traversed target functional component if the currently traversed target functional component is enabled;
[0039] The continue traversal submodule is used to continue traversing the remaining target functional components if the currently traversed target functional component is not enabled, until corresponding target processes are created for all the target functional components enabled in the baseboard management controller.
[0040] Optionally, the baseboard management controller stores a configuration information configuration table of the target functional component; the creation module includes:
[0041] A determination submodule, configured to determine, based on the configuration information configuration table, parameters to be configured of the target functional component and a dependency relationship between the target functional component and the functional component;
[0042] The process creation submodule is used to create a target process corresponding to the target functional component based on the parameters to be configured and the dependency relationship.
[0043] Optionally, the baseboard management controller stores an initialization function and a component destruction function of the target functional component; the device includes:
[0044] An initialization module, configured to initialize the target functional component using the initialization function;
[0045] The clearing module is configured to clear the target functional component by using the component destruction function when the target functional component becomes a functional component to be cleared of the baseboard management controller.
[0046] Optionally, the baseboard management controller stores a message processing function of the target functional component; and the communication module includes:
[0047] A second judgment submodule is used to judge whether the communication between the target functional component and the functional component meets the communication requirements in the communication configuration file;
[0048] The message processing submodule is configured to process a message received by the target functional component using the message processing function if the communication between the target functional component and the functional component meets the communication requirements in the communication configuration file.
[0049] Optionally, the communication requirements in the communication profile involve at least one of whether a communication relationship exists between the target functional component and the functional component, the relationship type of the communication relationship between the target functional component and the functional component, and a communication security mechanism between the target functional component and the functional component.
[0050] Optionally, the communication module includes:
[0051] a communication relationship acquisition submodule, configured to acquire the communication relationship between the target functional component and the functional component;
[0052] A communication relationship adding submodule, used for adding the communication relationship to a preset communication relationship table;
[0053] The communication submodule is used to perform communication between the mutually isolated target functional components and the functional components based on the communication relationship table.
[0054] An embodiment of the present invention further discloses an electronic device, comprising a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus;
[0055] The memory is used to store computer programs;
[0056] The processor is configured to implement the method described in the embodiment of the present invention when executing the program stored in the memory.
[0057] The embodiment of the present invention further discloses one or more computer-readable media having instructions stored thereon, which, when executed by one or more processors, enable the processors to perform the method according to the embodiment of the present invention.
[0058] The embodiments of the present invention include the following advantages:
[0059] In an embodiment of the present invention, a baseboard management controller includes at least one functional component and at least one memory space, and the process of the functional component is located in the memory space. At least one functional component to be added to the baseboard management controller is added to the baseboard management controller, and the added functional component to be added is used as a target functional component; a configuration file, a function execution file, and a communication configuration file of the target functional component are obtained; a target process corresponding to the target functional component is created for the target functional component using the configuration file and the function execution file; a target memory space is allocated to the target process, so that the target functional component corresponding to the target process in the target memory space is isolated from the functional components corresponding to the processes in other memory spaces; when the target process is used to control the target functional component to implement the function of the target functional component, communication between the isolated target functional components and the functional components is performed according to the communication configuration file, so that when replacing the functional component to fix a problem or adding a new functional component to implement a new security function, only the functional component needs to be replaced or added, thereby realizing "plug and play" of the functional component, improving the efficiency of the baseboard management controller in responding to security issues, improving the stability and security of the baseboard management controller, isolating various security functions from the system level of the baseboard management controller, and enhancing the functional scalability of the BMC system. This invention utilizes a component-based approach to improve the independence of different functional components, reduce the coupling between different security functions, and provide a secure mechanism for interaction between functional components. When the BMC needs to repair security vulnerabilities, expand business functions, or quickly resolve faults, it can be quickly replaced with updated functional components. Furthermore, failures in each functional component are completely isolated, without affecting the normal operation of other BMC functional components, significantly improving the reliability of BMC services. BRIEF DESCRIPTION OF THE DRAWINGS
[0060] Figure 1 This is a flowchart of a method for managing functions of a baseboard management controller provided in an embodiment of the present invention;
[0061] Figure 2 is a schematic diagram of a baseboard management controller provided by an embodiment of the present invention;
[0062] Figure 3is a schematic diagram of another baseboard management controller provided by an embodiment of the present invention;
[0063] Figure 4 is a schematic diagram of another baseboard management controller provided by an embodiment of the present invention;
[0064] Figure 5 This is a structural block diagram of a function management device of a baseboard management controller provided in an embodiment of the present invention;
[0065] Figure 6 is a block diagram of an electronic device provided in an embodiment of the present invention;
[0066] Figure 7 is a schematic diagram of a computer-readable medium provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0067] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.
[0068] To facilitate understanding of the technical solutions and technical effects of the embodiments of the present invention, the prior art of the present invention is briefly described below.
[0069] In the storage controller, the baseboard management controller (BMC) is responsible for implementing various security functions for the storage controller. For example, the BMC can monitor the temperature, voltage, and power consumption of the storage controller hardware, and adjust the operating status of hardware such as fans based on the monitoring data to ensure the stable operation of the storage controller. In addition, the BMC also provides a series of management interfaces, including WEB (a management interface accessed through a web browser), SNMP (Simple Network Management Protocol), Redfish (a server management protocol based on RESTful API), SOL (serial communication on a local area network), KVM (remote access to the server's keyboard, video, and mouse functions via the network), and NTP (Network Time Protocol). These interfaces and functions provide users with convenient ways to access and control the baseboard management controller.
[0070] Reference Figure 1 , shows a flowchart of the steps of a function management method of a baseboard management controller provided in an embodiment of the present invention, which is applied to a baseboard management controller. The baseboard management controller includes at least one functional component and at least one memory space. The process of the functional component is located in the memory space. Specifically, the method may include the following steps:
[0071] Step 101: adding at least one to-be-added functional component of the baseboard management controller to the baseboard management controller, and using the to-be-added functional component as a target functional component;
[0072] In an embodiment of the present invention, the storage controller includes a baseboard management controller (BMC). The BMC includes at least one functional component and at least one memory space. The functional component can implement security functions of the BMC for the storage controller.
[0073] Reference Figure 2 , shows a schematic diagram of a baseboard management controller provided by an embodiment of the present invention. The baseboard management controller includes an application management framework and also stores component information configuration files and a component function dynamic library for all functional components. The component information configuration file is a configuration file, while the component function dynamic library includes function execution files that execute the functions of the functional components.
[0074] When the baseboard management controller wants to implement the function of any functional component, the application management framework can read the configuration file of the functional component from the component information configuration file and obtain the function execution file of the functional component from the component kinetic dynamic library. Then, based on the configuration file and the function execution file, a process of the functional component is created. It should be noted that if the baseboard management controller involves multiple functional components for a function of the storage controller, multiple processes can be created for multiple functional components. For example, for a functional component that processes WEB access, in order to improve processing efficiency, multiple WEB business function processing servers can be created.
[0075] In an embodiment of the present invention, the processes of the functional components are located in different memory spaces, which achieves the isolation of the functional components from the physical level of the baseboard management controller, so that the functional components do not affect each other, thereby improving the stability and security of the baseboard management controller.
[0076] In the embodiment of the present invention, at least one to-be-added functional component of the baseboard management controller may be added to the baseboard management controller, and the added to-be-added functional component may be used as a target functional component.
[0077] Step 102: Obtain the configuration file, function execution file, and communication configuration file of the target functional component;
[0078] In an embodiment of the present invention, the application management framework can read the configuration file of the target functional component from the component information configuration file, obtain the function execution file of the target functional component from the component kinetic dynamic library, and also obtain the communication configuration file of the target functional component.
[0079] Step 103: Create a target process corresponding to the target functional component for the target functional component using the configuration file and the function execution file;
[0080] In an embodiment of the present invention, the application management framework can use the configuration file and the function execution file to create a target process corresponding to the target function component for the target function component, and the target process can control the target function component to implement the function of the target function component.
[0081] Step 104: Allocate a target memory space for the target process so that the target functional components corresponding to the target process in the target memory space are isolated from the functional components corresponding to processes in other memory spaces.
[0082] In an embodiment of the present invention, the application management framework can allocate a target memory space for the target process, so that the target functional components corresponding to the target process in the target memory space are isolated from the functional components corresponding to the processes in other memory spaces, so that the newly added target functional components and other functional components will not affect each other.
[0083] In an embodiment of the present invention, the target functional component and all other functional components in the baseboard management controller are isolated from each other at the physical level, thereby improving the stability and security of the baseboard management controller. Specifically, address space isolation: each process has its own virtual address space, which means that the code, data, stack, etc. of a process are isolated from other processes and cannot be directly accessed. Resource allocation: the baseboard management controller allocates independent resources to each process, such as CPU time, memory, file descriptors, etc., to ensure that a process does not affect other processes due to resource exhaustion. Error isolation: If a process has an error or crashes, it usually does not affect the operation of other processes. Communication control: Communication between processes needs to be carried out through a clear interface, such as the inter-process communication (IPC) mechanism, which helps to control and manage the interaction between different processes and reduce potential interference.
[0084] Step 105 : When the target process is used to control the target functional component to implement the function of the target functional component, communication between the mutually isolated target functional component and the functional component is performed according to the communication configuration file.
[0085] In an embodiment of the present invention, when the baseboard management controller uses the target process to control the target functional component to implement the function of the target functional component, the baseboard management controller can communicate between the mutually isolated target functional components and functional components according to the communication configuration file to ensure the communication between the mutually isolated target functional components and other functional components.
[0086] In an embodiment of the present invention, a baseboard management controller includes at least one functional component and at least one memory space, and the process of the functional component is located in the memory space. At least one functional component to be added to the baseboard management controller is added to the baseboard management controller, and the added functional component to be added is used as a target functional component; a configuration file, a function execution file, and a communication configuration file of the target functional component are obtained; a target process corresponding to the target functional component is created for the target functional component using the configuration file and the function execution file; a target memory space is allocated to the target process, so that the target functional component corresponding to the target process in the target memory space is isolated from the functional components corresponding to the processes in other memory spaces; when the target process is used to control the target functional component to implement the function of the target functional component, communication between the isolated target functional components and the functional components is performed according to the communication configuration file, so that when replacing the functional component to fix a problem or adding a new functional component to implement a new security function, only the functional component needs to be replaced or added, thereby realizing "plug and play" of the functional component, improving the efficiency of the baseboard management controller in responding to security issues, improving the stability and security of the baseboard management controller, isolating various security functions from the system level of the baseboard management controller, and enhancing the functional scalability of the BMC system. This invention utilizes a component-based approach to improve the independence of different functional components, reduce the coupling between different security functions, and provide a secure mechanism for interaction between functional components. When the BMC needs to repair security vulnerabilities, expand business functions, or quickly resolve faults, it can be quickly replaced with updated functional components. Furthermore, failures in each functional component are completely isolated, without affecting the normal operation of other BMC functional components, significantly improving the reliability of BMC services.
[0087] Furthermore, in any of the above embodiments, the baseboard management controller stores a function flag of at least one of the target functional components; the function flag is used to indicate whether the target functional component is enabled; step 103 includes:
[0088] Sub-step S11, traversing the target functional component in the baseboard management controller, and obtaining the function flag of the currently traversed target functional component;
[0089] Sub-step S12, judging whether the target functional component currently traversed is enabled based on the functional flag of the target functional component currently traversed;
[0090] Sub-step S13, if the target functional component currently traversed is enabled, creating a target process corresponding to the target functional component currently traversed using the configuration file and function execution file of the target functional component currently traversed;
[0091] Sub-step S14: If the currently traversed target functional component is not enabled, continue traversing the remaining target functional components until corresponding target processes are created for all the enabled target functional components in the baseboard management controller.
[0092] In an embodiment of the present invention, the baseboard management controller stores a function flag of at least one target functional component. The function flag may be a feature function switch. The function flag may indicate whether the target functional component is enabled. Specifically, the baseboard management controller may obtain the name of the target functional component from a configuration file and then search the baseboard management controller for the function flag corresponding to the target functional component based on the name.
[0093] In an embodiment of the present invention, the baseboard management controller can traverse the target functional components in the baseboard management controller, obtain the function flag of the currently traversed target functional component, and determine whether the currently traversed target functional component is enabled based on the function flag of the currently traversed target functional component. If the currently traversed target functional component is enabled, the configuration file and function execution file of the currently traversed target functional component are used to create a target process corresponding to the currently traversed target functional component. If the currently traversed target functional component is not enabled, the remaining target functional components are traversed until corresponding target processes are created for all target functional components enabled in the baseboard management controller.
[0094] In an embodiment of the present invention, by traversing the target functional components in the baseboard management controller, the function flag of the currently traversed target functional component is obtained, and based on the function flag of the currently traversed target functional component, it is determined whether the currently traversed target functional component is enabled, and a configuration file and a function execution file are used to create corresponding target processes for all enabled target functional components in the baseboard management controller, thereby ensuring that corresponding target processes are created for all enabled target functional components in the baseboard management controller and ensuring the normal execution of the functions of the baseboard management controller.
[0095] Furthermore, in any of the above embodiments, the baseboard management controller stores a configuration information configuration table of the target functional component; step 103 includes:
[0096] Sub-step S21, determining the to-be-configured parameters of the target functional component and the dependency relationship between the target functional component and the functional component based on the configuration information configuration table;
[0097] Sub-step S22: creating a target process corresponding to the target functional component based on the parameters to be configured and the dependency relationship.
[0098] In an embodiment of the present invention, the baseboard management controller stores a configuration information table for a target functional component. Based on the configuration information table, the application management framework can determine the target functional component's configuration parameters and the dependencies between the target functional component and other functional components. Based on the configuration parameters and dependencies, the application management framework then creates a target process corresponding to the target functional component using a configuration file and a function execution file.
[0099] Reference Figure 4 , showing a schematic diagram of another baseboard management controller provided by an embodiment of the present invention.
[0100] The baseboard management controller includes a unified configuration management framework, component A, and component B. The unified configuration management framework, component A, and component B all include a database (DB). The unified configuration management framework includes a component configuration table and a component adaptation library. The component configuration table includes a configuration information configuration table for the functional component, and the configuration information configuration table includes parameters to be configured for the functional component and dependencies between the functional components. The component adaptation library may include complex dependencies between functional components. The unified configuration management framework can use configuration files and function execution files to create a target process corresponding to the target functional component for the target functional component based on the parameters to be configured and the dependencies. The configuration information configuration table may be in XML format.
[0101] The database in the baseboard management controller also provides offline configuration capabilities. When components are not loaded, configuration files are saved in the unified configuration framework database. This allows for rapid synchronization of configuration information with functional components when adding them, as well as rapid unified database configuration. Offline configuration accelerates business function deployment. Tools can also be used to convert configuration tables into configuration files, such as MIB files or JSON files, for use with SNMP and Redfish interfaces, significantly improving the efficiency of newly added configuration interfaces.
[0102] In the embodiment of the present invention, the separation of configuration and functional components is achieved by using a unified configuration management framework. When creating a thread of a target functional component, scenarios requiring a new configuration interface can be quickly implemented, thereby improving the efficiency of creating the target functional component.
[0103] Furthermore, in any of the above embodiments, the baseboard management controller stores an initialization function and a component destruction function of the target functional component; after step 103, the method includes:
[0104] Sub-step S31, initializing the target functional component using the initialization function;
[0105] Sub-step S32 , when the target functional component becomes a functional component to be cleared of the baseboard management controller, clearing the target functional component using the component destruction function.
[0106] In an embodiment of the present invention, the baseboard management controller stores an initialization function and a component destruction function of a target functional component. The baseboard management controller can use the initialization function to initialize the target functional component. When the target functional component becomes a functional component to be cleared of the baseboard management controller, the baseboard management controller can use the component destruction function to clear the target functional component.
[0107] In a specific example, the baseboard management controller includes an interface of the functional component in the baseboard management controller. The following is an example of an interface definition
[0108] Module info = {
[0109] "CONFIG_MODULE_FEATURE_A_SUPPORT",
[0110] “A_MainFunc”,
[0111] "A_MegProcFunc",
[0112] "A_DestroyFunc",
[0113] ModuleType;
[0114] GroupCode;
[0115] ExtendData;
[0116] }
[0117] CONFIG_MODULE_FEATURE_A_SUPPORT is the name of the component feature switch, which can be a feature switch. A_MainFunc is the component's initialization function. When the component is loaded into the system, this function is called to perform component initialization operations, such as resource allocation and configuration reading. A_MegProcFunc is the component's message processing function, which handles messages sent to the component. When the component receives a message, this function is called so that the component can respond and perform corresponding operations. A_DestroyFunc is the component's destruction function. When the component is no longer needed, this function is called to perform cleanup operations, such as releasing resources and saving state, to ensure the component exits properly. ModuleType: This parameter defines the component type, such as whether the component uses a process model or a thread model. This determines how the component is managed and scheduled in the operating system. GroupCode: This is the component group code, used to group multiple components. Components with the same group code are considered a group and may need to run together or share certain resources. In addition, this field can also be used to support the model of multiple BMC chips, allowing components to run on different BMC chips and implement multiple instances of functional components. ExtendData: This field may be used for extended information. It can contain any additional data that may be necessary for the operation or management of the component.
[0118] In an embodiment of the present invention, an initialization function is used to initialize the target functional component to ensure the normal operation of the target functional component. When the target functional component becomes a functional component to be cleared of the baseboard management controller, a component destruction function is used to clear the target functional component to prevent the target functional component that is no longer needed from occupying the space and resources of the baseboard management controller.
[0119] Furthermore, in any of the above embodiments, the baseboard management controller stores a message processing function of the target functional component; step 105 includes:
[0120] Sub-step S41, determining whether the communication between the target functional component and the functional component meets the communication requirements in the communication configuration file;
[0121] Sub-step S42: If the communication between the target functional component and the functional component meets the communication requirements in the communication configuration file, use the message processing function to process the message received by the target functional component.
[0122] In an embodiment of the present invention, a baseboard management controller stores a message processing function for a target functional component. When communication between a mutually isolated target functional component and the functional component is performed according to a communication profile, the baseboard management controller determines whether the communication between the target functional component and the functional component meets the communication requirements of the communication profile. If so, the baseboard management controller processes messages received by the target functional component using the message processing function.
[0123] In an embodiment of the present invention, the baseboard management controller determines that the communication between the target functional component and the functional component meets the communication requirements in the communication configuration file, and uses the message processing function to process the message received by the target functional component, thereby improving the independence between different functional components, reducing the coupling between different security functions, and providing a security mechanism for interaction between functional components.
[0124] Further, in any of the above embodiments, the communication requirements in the communication profile involve at least one of whether a communication relationship exists between the target functional component and the functional component, the relationship type of the communication relationship between the target functional component and the functional component, and a communication security mechanism between the target functional component and the functional component.
[0125] In an embodiment of the present invention, the communication requirements in the communication profile involve at least one of whether a communication relationship exists between the target functional component and the functional component, the relationship type of the communication relationship between the target functional component and the functional component, and a communication security mechanism between the target functional component and the functional component.
[0126] Reference Figure 3 , showing a schematic diagram of another baseboard management controller provided by an embodiment of the present invention.
[0127] The baseboard management controller includes a communication management framework, component A, and component B. The communication management framework includes security mechanisms, component communication tables, and a public communication library. The communication management framework manages communication between functional components based on communication profiles. The specific mechanism is described as follows:
[0128] When the communication management framework is initialized, it loads the functional component communication configuration file into the baseboard management controller. An example of the content of the communication configuration file is:
[0129] Local component name: ModuleA
[0130] Peer component name: ModuleB
[0131] Communication channel: Socket
[0132] Communication mode: Broadcast
[0133] Communication method: asynchronous
[0134] Security mechanism: SHA256
[0135] Use component customization library: Yes
[0136] The communication profile defines which functional components interact with each other, as well as the types of those relationships. Each functional component requires the name and instance type of the other component when communicating. The communication profile provides a security mechanism, using a SHA256 or higher encryption algorithm to encrypt communications using a random 128-character key assigned by the system. It also provides a mechanism for customizing communication messages. The baseboard management controller reserves certain fields in the message header for functional customization, allowing functional components to be customized at the baseboard management controller system level.
[0137] Furthermore, in any of the above embodiments, step 105 includes:
[0138] Sub-step S51, obtaining the communication relationship between the target functional component and the functional component;
[0139] Sub-step S52, adding the communication relationship to a preset communication relationship table;
[0140] Sub-step S53: Based on the communication relationship table, communication is performed between the target functional component and the functional component that are isolated from each other.
[0141] In an embodiment of the present invention, the communication relationship between the target functional component and the functional component is obtained; the communication relationship is added to a preset communication relationship table; and based on the communication relationship table, communication is performed between the mutually isolated target functional component and the functional component.
[0142] In a specific example, if the target functional component is configured with a group ID, the framework first checks whether the target functional component has been created. If so, it is added to the group. The BMC communication management framework manages communication for all components and reads the communication configuration file into the baseboard management controller during initialization. When receiving a message, the framework searches the component communication table for the corresponding peer and delivers the message to the peer component via the specified communication channel. The framework also verifies the legitimacy of the communication relationship, the communication security mechanism, and the communication method, ensuring that they are consistent with the configuration. When adding each target functional component, the framework needs to understand its relationship with other functional components and clearly define the communication relationship. This communication relationship is added to the baseboard management controller's communication relationship table. When sending messages to peers, local application module components must enter information such as the peer functional component name and communication method. Each component defines a function configuration table, which contains the parameters to be configured, their ranges, and dependencies. The unified configuration framework uses this configuration table to process configuration commands and saves the configuration to the framework's database. If the functional component is loaded later, the configuration in the database is directly synchronized to the component database for use. Otherwise, the configuration will be saved to each database and deployed to the running business. At the same time, the configuration and function implementation are separated. The configuration is saved in the database, ensuring the security of the configuration and allowing for rapid business deployment.
[0143] In this embodiment of the present invention, a communication relationship between a target functional component and a functional component is obtained; the communication relationship is added to a preset communication relationship table. Because the communication relationship table requires information such as the name and communication method of the counterpart functional component, communication between the isolated target functional component and the functional component is established based on the communication relationship table, ensuring normal communication between the isolated target functional component and the functional component.
[0144] It should be noted that for the sake of simplicity, the method embodiments are described as a series of actions. However, those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.
[0145] Reference Figure 5 , shows a structural block diagram of a function management device of a baseboard management controller provided in an embodiment of the present invention, which is applied to a baseboard management controller. The baseboard management controller includes at least one functional component and at least one memory space. The process of the functional component is located in the memory space, and specifically may include the following modules:
[0146] An adding module 501 is configured to add at least one to-be-added functional component of the baseboard management controller to the baseboard management controller, and use the to-be-added functional component as a target functional component;
[0147] An acquisition module 502 is configured to acquire a configuration file, a function execution file, and a communication configuration file of the target functional component;
[0148] A creation module 503 is configured to create a target process corresponding to the target functional component by using the configuration file and the function execution file;
[0149] An allocation module 504 is configured to allocate a target memory space to the target process so that a target functional component corresponding to the target process in the target memory space is isolated from functional components corresponding to processes in other memory spaces;
[0150] The communication module 505 is configured to perform communication between the target functional component and the functional component that are isolated from each other according to the communication configuration file when the target process is used to control the target functional component to implement the function of the target functional component.
[0151] In an optional embodiment of the present invention, the baseboard management controller stores a function flag of at least one target function component; the function flag is used to indicate whether the target function component is enabled; the creation module includes:
[0152] A traversal submodule, configured to traverse the target functional component in the baseboard management controller and obtain a function flag of the currently traversed target functional component;
[0153] A first judgment submodule is configured to judge whether the currently traversed target functional component is enabled based on the function flag of the currently traversed target functional component;
[0154] A utilization submodule is used to create a target process corresponding to the currently traversed target functional component by using the configuration file and function execution file of the currently traversed target functional component if the currently traversed target functional component is enabled;
[0155] The continue traversal submodule is used to continue traversing the remaining target functional components if the currently traversed target functional component is not enabled, until corresponding target processes are created for all the target functional components enabled in the baseboard management controller.
[0156] In an optional embodiment of the present invention, the baseboard management controller stores a configuration information configuration table of the target functional component; the creation module includes:
[0157] A determination submodule, configured to determine, based on the configuration information configuration table, parameters to be configured of the target functional component and a dependency relationship between the target functional component and the functional component;
[0158] The process creation submodule is used to create a target process corresponding to the target functional component based on the parameters to be configured and the dependency relationship.
[0159] In an optional embodiment of the present invention, the baseboard management controller stores an initialization function and a component destruction function of the target functional component; the device includes:
[0160] An initialization module, configured to initialize the target functional component using the initialization function;
[0161] The clearing module is configured to clear the target functional component by using the component destruction function when the target functional component becomes a functional component to be cleared of the baseboard management controller.
[0162] In an optional embodiment of the present invention, the baseboard management controller stores a message processing function of the target functional component; and the communication module includes:
[0163] A second judgment submodule is used to judge whether the communication between the target functional component and the functional component meets the communication requirements in the communication configuration file;
[0164] The message processing submodule is configured to process a message received by the target functional component using the message processing function if the communication between the target functional component and the functional component meets the communication requirements in the communication configuration file.
[0165] In an optional embodiment of the present invention, the communication requirements in the communication profile involve at least one of whether a communication relationship exists between the target functional component and the functional component, the relationship type of the communication relationship between the target functional component and the functional component, and a communication security mechanism between the target functional component and the functional component.
[0166] In an optional embodiment of the present invention, the communication module includes:
[0167] a communication relationship acquisition submodule, configured to acquire the communication relationship between the target functional component and the functional component;
[0168] A communication relationship adding submodule, used for adding the communication relationship to a preset communication relationship table;
[0169] The communication submodule is used to perform communication between the mutually isolated target functional components and the functional components based on the communication relationship table.
[0170] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0171] In addition, an embodiment of the present invention further provides an electronic device, such as Figure 6 As shown, it includes a processor 601, a communication interface 602, a memory 603 and a communication bus 604, wherein the processor 601, the communication interface 602, and the memory 603 communicate with each other through the communication bus 604.
[0172] Memory 603, used for storing computer programs;
[0173] The processor 601 is configured to execute the program stored in the memory 603 by performing the following steps:
[0174] Adding at least one to-be-added functional component of the baseboard management controller to the baseboard management controller, and using the added to-be-added functional component as a target functional component;
[0175] Obtaining a configuration file, a function execution file, and a communication configuration file of the target functional component;
[0176] Creating a target process corresponding to the target functional component for the target functional component by using the configuration file and the function execution file;
[0177] Allocating a target memory space for the target process so that target functional components corresponding to the target process in the target memory space are isolated from functional components corresponding to processes in other memory spaces;
[0178] When the target process is used to control the target functional component to implement the function of the target functional component, communication between the mutually isolated target functional component and the functional component is performed according to the communication configuration file.
[0179] In an optional embodiment of the present invention, the baseboard management controller stores a function flag of at least one target function component; the function flag is used to indicate whether the target function component is enabled; and the step of using the configuration file and the function execution file to create a target process corresponding to the target function component for the target function component includes:
[0180] Traversing the target functional component in the baseboard management controller to obtain a function flag of the currently traversed target functional component;
[0181] Based on the function flag of the currently traversed target function component, determining whether the currently traversed target function component is enabled;
[0182] If the target functional component currently being traversed is enabled, creating a target process corresponding to the target functional component currently being traversed using the configuration file and function execution file of the target functional component currently being traversed;
[0183] If the currently traversed target functional component is not enabled, the remaining target functional components are continuously traversed until corresponding target processes are created for all the enabled target functional components in the baseboard management controller.
[0184] In an optional embodiment of the present invention, the baseboard management controller stores a configuration information configuration table of the target functional component; the step of using the configuration file and the function execution file to create a target process corresponding to the target functional component for the target functional component includes:
[0185] Determining, based on the configuration information configuration table, parameters to be configured of the target functional component and a dependency relationship between the target functional component and the functional component;
[0186] Based on the parameters to be configured and the dependency relationship, a target process corresponding to the target functional component is created.
[0187] In an optional embodiment of the present invention, the baseboard management controller stores an initialization function and a component destruction function of the target functional component; after the step of creating a target process corresponding to the target functional component for the target functional component using the configuration file and the function execution file, the method includes:
[0188] Initializing the target functional component using the initialization function;
[0189] When the target functional component becomes a functional component to be cleared of the baseboard management controller, the target functional component is cleared using the component destruction function.
[0190] In an optional embodiment of the present invention, the baseboard management controller stores a message processing function of the target functional component; and the step of performing communication between the mutually isolated target functional component and the functional component according to the communication configuration file includes:
[0191] determining whether the communication between the target functional component and the functional component meets the communication requirements in the communication configuration file;
[0192] If the communication between the target functional component and the functional component meets the communication requirements in the communication configuration file, the message received by the target functional component is processed by the message processing function.
[0193] In an optional embodiment of the present invention, the communication requirements in the communication profile involve at least one of whether a communication relationship exists between the target functional component and the functional component, the relationship type of the communication relationship between the target functional component and the functional component, and a communication security mechanism between the target functional component and the functional component.
[0194] In an optional embodiment of the present invention, the step of performing communication between the mutually isolated target functional component and the functional component according to the communication configuration file includes:
[0195] Acquire the communication relationship between the target functional component and the functional component;
[0196] Adding the communication relationship to a preset communication relationship table;
[0197] Based on the communication relationship table, communication is performed between the target functional component and the functional component that are isolated from each other.
[0198] The communication bus mentioned in the terminal can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is used in the figure, but this does not mean that there is only one bus or only one type of bus.
[0199] The communication interface is used for communication between the above terminal and other devices.
[0200] The memory may include random access memory (RAM) or non-volatile memory, such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.
[0201] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
[0202] like Figure 7 As shown, in another embodiment provided by the present invention, a computer-readable storage medium 701 is also provided, which stores instructions. When the computer-readable storage medium is run on a computer, it enables the computer to execute a functional management method of a baseboard management controller described in the above embodiment.
[0203] In another embodiment of the present invention, a computer program product including instructions is provided. When the computer program product is run on a computer, the computer executes the function management method of the baseboard management controller described in the above embodiment.
[0204] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented using 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 described in the embodiments of the present invention are generated. 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 transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).
[0205] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.
[0206] Each embodiment in this specification is described in a related manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiment is generally similar to the method embodiment, so the description is relatively simple. For related parts, refer to the description of the method embodiment.
[0207] The above description is only a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention are included in the scope of protection of the present invention.
Claims
1. A function management method of a baseboard management controller, characterized in that: Applied to a baseboard management controller, the baseboard management controller includes at least one functional component and at least one memory space, the process of the functional component is located in the memory space, and the method includes: Adding at least one to-be-added functional component of the baseboard management controller to the baseboard management controller, and using the added to-be-added functional component as a target functional component; Obtaining a configuration file, a function execution file, and a communication configuration file of the target functional component; Creating a target process corresponding to the target functional component for the target functional component by using the configuration file and the function execution file; Allocating a target memory space for the target process so that target functional components corresponding to the target process in the target memory space are isolated from functional components corresponding to processes in other memory spaces; When the target process is used to control the target functional component to implement the function of the target functional component, communication between the mutually isolated target functional component and the functional component is performed according to the communication configuration file.
2. The method according to claim 1, characterized in that The baseboard management controller stores a function flag of at least one target function component; the function flag is used to indicate whether the target function component is enabled; The step of creating a target process corresponding to the target functional component for the target functional component by using the configuration file and the function execution file includes: Traversing the target functional component in the baseboard management controller to obtain a function flag of the currently traversed target functional component; Based on the function flag of the currently traversed target function component, determining whether the currently traversed target function component is enabled; If the target functional component currently being traversed is enabled, creating a target process corresponding to the target functional component currently being traversed using the configuration file and function execution file of the target functional component currently being traversed; If the currently traversed target functional component is not enabled, the remaining target functional components are continuously traversed until corresponding target processes are created for all the enabled target functional components in the baseboard management controller.
3. The method according to claim 1, characterized in that The baseboard management controller stores a configuration information configuration table of the target functional component; the step of using the configuration file and the function execution file to create a target process corresponding to the target functional component for the target functional component includes: Determining, based on the configuration information configuration table, parameters to be configured of the target functional component and a dependency relationship between the target functional component and the functional component; Based on the parameters to be configured and the dependency relationship, a target process corresponding to the target functional component is created.
4. The method according to claim 1, wherein The baseboard management controller stores an initialization function and a component destruction function of the target functional component; after the step of using the configuration file and the function execution file to create a target process corresponding to the target functional component for the target functional component, the method includes: Initializing the target functional component using the initialization function; When the target functional component becomes a functional component to be cleared of the baseboard management controller, the target functional component is cleared using the component destruction function.
5. The method according to claim 1, wherein The baseboard management controller stores a message processing function of the target functional component; and the step of performing communication between the mutually isolated target functional component and the functional component according to the communication configuration file comprises: determining whether the communication between the target functional component and the functional component meets the communication requirements in the communication configuration file; If the communication between the target functional component and the functional component meets the communication requirements in the communication configuration file, the message received by the target functional component is processed by the message processing function.
6. The method according to claim 5, characterized in that The communication requirements in the communication profile involve at least one of whether a communication relationship exists between the target functional component and the functional component, a relationship type of the communication relationship between the target functional component and the functional component, and a communication security mechanism between the target functional component and the functional component.
7. The method according to claim 6, characterized in that The step of performing communication between the target functional component and the functional component isolated from each other according to the communication configuration file comprises: Acquire the communication relationship between the target functional component and the functional component; Adding the communication relationship to a preset communication relationship table; Based on the communication relationship table, communication is performed between the target functional component and the functional component that are isolated from each other.
8. A function management device for a baseboard management controller, characterized in that: Applied to a baseboard management controller, the baseboard management controller includes at least one functional component and at least one memory space, the process of the functional component is located in the memory space, and the device includes: an adding module, configured to add at least one to-be-added functional component of the baseboard management controller to the baseboard management controller, and use the to-be-added functional component as a target functional component; An acquisition module, configured to acquire a configuration file, a function execution file, and a communication configuration file of the target functional component; A creation module, configured to create a target process corresponding to the target functional component for the target functional component by using the configuration file and the function execution file; an allocation module, configured to allocate a target memory space to the target process so that target functional components corresponding to the target process in the target memory space are isolated from functional components corresponding to processes in other memory spaces; The communication module is used to perform communication between the target functional component and the functional component that are isolated from each other according to the communication configuration file when the target process is used to control the target functional component to implement the function of the target functional component.
9. An electronic device, characterized in that: comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; The memory is used to store computer programs; The processor is configured to implement the method according to any one of claims 1 to 7 when executing a program stored in the memory.
10. One or more computer-readable media having instructions stored thereon, which, when executed by one or more processors, cause the processors to perform the method of any one of claims 1-7.
Citation Information
Patent Citations
Expanding method and device of substrate management controller and electronic equipment
CN107491316A
Baseboard management controller control method and device, electronic equipment and storage medium
CN116149752A