A BMC management method and system based on Hongmeng system

By installing the open source Hongmeng operating system on the BMC controller and performing layered software architecture design, the problem of long development cycle caused by high module coupling in the existing BMC technical solutions is solved, and more efficient secondary development and management is achieved.

CN119179525BActive Publication Date: 2025-02-11HUNAN BOJIANG INFORMATION TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411688187.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-25
Publication Date
2025-02-11
Estimated Expiration
2044-11-25

AI Technical Summary

Technical Problem

The existing BMC technical solution has a single level of functional logic and data paths, and the coupling between modules is high, resulting in a longer period of secondary development.

Method used

Adopting the BMC management method based on the Hongmeng system, by installing the open source Hongmeng operating system on the BMC controller and layering the software architecture of the BMC management subsystem, modularization and serviceization are realized, and the degree of coupling between functional modules is reduced. .

Benefits of technology

It greatly simplifies the secondary development process, reduces the difficulty of development, speeds up the development cycle, and improves the flexibility and scalability of the BMC management system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119179525B_ABST
    Figure CN119179525B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of BMC management technology, and specifically to a BMC management method and system based on Hongmeng system; the method carries an open source Hongmeng operating system on a BMC controller, builds a BMC management subsystem based on the open source Hongmeng operating system, and performs a hierarchical software architecture design on the BMC management subsystem to realize the modularization and service-oriented nature of the BMC subsystem, thereby greatly reducing the degree of coupling between functional modules; the BMC management subsystem includes a unit abstraction layer, which can abstract server resources or BMC controller resources to obtain corresponding unit objects, and directly register the unit objects and expose them to a preset engine corresponding to a first preset language, thereby reducing the difficulty of secondary development, and an out-of-band management application can directly call the unit object based on the preset engine corresponding to the first preset language, thereby realizing out-of-band management of server hardware resources or BMC controller resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of BMC management technology, and in particular to a BMC management method and system based on Hongmeng system. Background Art

[0002] BMC (Baseboard Management Controller) is a dedicated controller used to monitor and manage servers. BMC is an independent module that does not rely on other hardware (such as CPU, memory, etc.) of the machine equipment, nor does it rely on server software (such as BIOS, OS, etc.).

[0003] BMC can manage the device status of the server's lowest-level hardware, monitor the operating status of the server system, record events and perform fault analysis, deploy and configure the system, and also provide rich remote management functions.

[0004] The existing BMC solution is to embed BMC-specific management software (such as OpenBMC) into the hardware, and then use the Linux operating system as the digital base, in conjunction with multiple hardware modules and application modules to implement specific management business functions; and provide user operation interfaces and user program interfaces through web front-end and back-end; the existing BMC technical solution has the following shortcomings: In terms of the simplicity of secondary development, the functional logic and data path levels of the existing BMC technical solution are single, and the coupling degree between modules is high, resulting in a long secondary development cycle. Summary of the invention

[0005] The main purpose of the present invention is to provide a BMC management method and system based on the Hongmeng system, aiming to solve the problem that the existing BMC technical solutions have a single functional logic and data path level, a high degree of coupling between modules, and a long secondary development cycle.

[0006] The technical solution proposed by the present invention is:

[0007] A BMC management method based on Hongmeng system is applied to a BMC management system based on Hongmeng system; the BMC management system includes a server and a BMC controller in communication connection; the BMC controller runs a Hongmeng operating system; the Hongmeng operating system includes a system service layer, a framework layer and an application layer; the Hongmeng operating system runs a BMC management subsystem and an out-of-band management application; the BMC management subsystem is arranged in the system service layer and the framework layer; the out-of-band management application is arranged in the application layer; the BMC management subsystem includes a unit abstraction layer; the method includes:

[0008] The unit abstraction layer abstracts the server resources or BMC controller resources that need to be managed out-of-band to obtain the corresponding unit object, where the unit object includes an object name, and object attributes and object methods corresponding to the object name; the object attribute is the running status item of the unit object, and the object method is to operate and manage the unit object;

[0009] The unit abstraction layer registers the unit object and exposes it to the preset engine corresponding to the first preset language;

[0010] The out-of-band management application calls the unit object based on the preset engine to perform out-of-band management on the server hardware resources or the BMC controller resources, wherein the out-of-band management application is installed with the preset engine.

[0011] Preferably, the Hongmeng operating system also includes a kernel layer, a security subsystem, a boot-repair subsystem, an upgrade subsystem, an event notification subsystem, a DFX subsystem and a pan-Sensor subsystem; the kernel layer includes the kernel subsystem; the kernel subsystem includes the Linux kernel node and the Liteos kernel; the framework layer includes the user program framework, the Ability framework and the distributed hardware subsystem; the system service layer includes the HDI interface, the distributed task scheduling module, the distributed data management module, the distributed soft bus, the Ark runtime, the distributed screen component and the distributed trusted management component; the security subsystem, the boot-recovery subsystem, the upgrade subsystem, the event notification subsystem, the DFX subsystem and the pan-Sensor subsystem are all arranged in the system service layer, and the security subsystem, the boot-recovery subsystem, the upgrade subsystem, the event notification subsystem, the DFX subsystem and the pan-Sensor subsystem are all arranged in the framework layer.

[0012] Preferably, the server resources include server hardware resources and server software resources. The server hardware resources include a CPU, a GPU, a memory module, a first network card module, a hard disk module, a display module, a peripheral module, a remote USB module, a debugging serial port module, a voltage sensor, a temperature sensor, a fan, a power supply, an FPGA, a CPLD, a SOC, an MCU and an indicator light arranged in the server; the server software resources include firmware, operating system information, server applications and FRU arranged in the server; the BMC controller resources include a second network card module, an out-of-band management application and a BMC system OTA module arranged in the BMC controller.

[0013] Preferably, the first preset language is JavaScript; the preset engine is a JavaScript engine; the unit abstraction layer is written in a second preset language; the unit abstraction layer registers the unit object and exposes it to the preset engine corresponding to the first preset language, including:

[0014] The unit abstraction layer registers the unit object with the JavaScript engine through the JSI framework to encapsulate the unit object into a software development kit corresponding to the first preset language, wherein the software development kit includes a plurality of application programming interfaces corresponding to the unit objects one by one;

[0015] The out-of-band management application calls the unit object based on the preset engine to perform out-of-band management on the server hardware resources or the BMC controller resources, including:

[0016] The out-of-band management application calls the application programming interface in the software development kit through JavaScript to perform out-of-band management of server hardware resources or BMC controller resources.

[0017] Preferably, the out-of-band management application calls an application programming interface in a software development kit through JavaScript to perform out-of-band management of server hardware resources or BMC controller resources, including:

[0018] The out-of-band management application obtains the name of the server hardware resource or BMC controller resource that needs to be managed and marks it as the target name;

[0019] The out-of-band management application obtains management instructions for server hardware resources or BMC controller resources that need to be managed;

[0020] The out-of-band management application calls the application programming interface corresponding to the unit object with the same target name through JavaScript and marks it as the target interface;

[0021] When the management instruction is to view the set object attributes, the out-of-band management application obtains the set object attributes of the unit object corresponding to the target interface and returns them to the out-of-band management application;

[0022] When the management instruction is to execute a set object method, the out-of-band management application calls the target interface to execute the set object method of the corresponding unit object, and returns the execution result to the out-of-band management application.

[0023] Preferably, the BMC management subsystem includes an adaptation layer and a plurality of system interfaces; the unit abstraction layer registers the unit object with the JavaScript engine through the JSI framework to encapsulate the unit object into a software development kit corresponding to the first preset language, including:

[0024] The unit abstraction layer obtains the implementation mode of the unit object method on the server and marks it as the target mode;

[0025] The unit abstraction layer registers the object method with the JavaScript engine through the JSI framework to encapsulate the object method into a software development kit corresponding to the first preset language, wherein the implementation method of the object method in the software development kit is the target method;

[0026] The adaptation layer encapsulates different implementations of the same object method of the unit object into a unified software development toolkit;

[0027] When a new version of the system interface of the BMC management subsystem appears, the adaptation layer automatically updates the version of the system interface to manage server resources and BMC controller resources through the new version of the system interface.

[0028] Preferably, the system service layer includes a distributed soft bus; the mobile terminal is connected to the BMC controller through the distributed soft bus; the application layer of the BMC management subsystem includes a JS-RPC interface; the method further includes:

[0029] When the mobile terminal needs to manage server resources and BMC controller resources, the BMC management subsystem obtains the request instruction sent by the mobile terminal;

[0030] Based on the request instruction and the JS-RPC interface, the BMC management subsystem exposes the packaged software development kit corresponding to the first preset language to the mobile terminal through the distributed soft bus, so that the mobile terminal can remotely call the software development kit corresponding to the first preset language.

[0031] Preferably, the application layer of the BMC management subsystem further includes a plurality of BMC atomic function components; the method further includes:

[0032] The out-of-band management application creates a logical unit with preset functions by atomic functional components and combining with the JS-RPC interface. The preset functions include displaying the running status of preset resources or executing methods to control preset resources. The preset resources are server resources or BMC controller resources.

[0033] Preferably, the object method includes an operation failure of a display unit object; the BMC management system also includes a BMC management platform; the number of BMC controllers and servers is the same, and the BMC controllers and servers correspond one to one; the BMC controllers are connected to the corresponding servers through a distributed soft bus; each BMC controller is connected to the BMC management platform through a distributed soft bus; the method also includes:

[0034] When the mobile terminal is connected to the BMC controller through the distributed soft bus communication, each BMC controller is visually deployed in turn, wherein the visual deployment includes building a development environment of a first preset language and a second preset language;

[0035] When an external mobile terminal accesses the BMC controller through distributed soft bus communication, a unit object is called based on a preset engine to remotely manage server hardware resources or BMC controller resources out of band, wherein the external mobile terminal is equipped with a preset engine;

[0036] When an external mobile terminal is connected to the BMC controller through the distributed soft bus communication, the object method of the unit object is called based on the preset engine to display the operation fault of the unit object;

[0037] When the computing power of the processor of the BMC controller is less than that of the processor of the BMC management platform, the BMC management platform implements the BMC controller's physical model definition, computing storage software definition, BMC controller's device resource management and collaborative scheduling, BMC controller backend management, and ikvm display encoding and decoding.

[0038] The present invention also proposes a BMC management system based on the Hongmeng system, and applies a BMC management method based on the Hongmeng system; the BMC management system includes a server and a BMC controller in communication connection; the BMC controller runs the Hongmeng operating system; the Hongmeng operating system includes a system service layer, a framework layer and an application layer; the Hongmeng operating system runs a BMC management subsystem and an out-of-band management application; the BMC management subsystem is arranged in the system service layer and the framework layer; the out-of-band management application is arranged in the application layer; the BMC management subsystem includes a unit abstraction layer.

[0039] Through the above technical solution, the following beneficial effects can be achieved:

[0040] The BMC management method based on the Hongmeng system proposed in the present invention equips the BMC controller with the open source Hongmeng operating system, builds a BMC management subsystem based on the open source Hongmeng operating system, and performs a layered software architecture design for the BMC management subsystem (for example: the BMC management subsystem is set in the system service layer and the framework layer; the out-of-band management application is set in the application layer), so as to realize the modularization and service-oriented nature of the BMC subsystem, greatly reduce the degree of coupling between functional modules, and be more conducive to secondary development; in addition, the BMC management subsystem includes a unit abstraction layer, which can abstract server resources or BMC controller resources to obtain corresponding unit objects, and directly register the unit objects and expose them to the preset engine corresponding to the first preset language; because the first preset language has stronger maintainability and readability, the difficulty of secondary development is reduced, and the cycle of secondary development applications is greatly accelerated, and the out-of-band management application can directly call the unit object based on the preset engine corresponding to the first preset language, thereby realizing out-of-band management of server hardware resources or BMC controller resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the structures shown in these drawings without paying creative work.

[0042] Figure 1 A flowchart of a first embodiment of a BMC management method based on Hongmeng system proposed by the present invention;

[0043] Figure 2 This is an architecture diagram of the Hongmeng operating system in the BMC management system based on the Hongmeng system proposed in the present invention;

[0044] Figure 3 This is an architectural diagram of the BMC management subsystem in the BMC management system based on the Hongmeng system proposed by the present invention;

[0045] Figure 4 This is an architectural diagram of the BMC networking system in the BMC management system based on the Hongmeng system proposed in the present invention. DETAILED DESCRIPTION

[0046] It should be understood that the specific embodiments described herein are only used to explain the present invention, and are not used to limit the present invention.

[0047] The present invention proposes a BMC management method and system based on the Hongmeng system.

[0048] As attached Figure 1As shown, in a first embodiment of a BMC management method based on the Hongmeng system proposed in the present invention, the BMC management method based on the Hongmeng system is applied to a BMC management system based on the Hongmeng system; the BMC management system includes a server and a BMC controller in communication connection; the BMC controller runs a Hongmeng operating system (the Hongmeng operating system in the present invention is an open source Hongmeng system, namely OpenHarmony, which is an open source distributed operating system built by global developers and has the characteristics of being oriented to all scenarios and being distributed); the Hongmeng operating system includes a system service layer, a framework layer and an application layer; the Hongmeng operating system runs a BMC management subsystem and an out-of-band management application; the BMC management subsystem is arranged in the system service layer and the framework layer; the out-of-band management application is arranged in the application layer; the BMC management subsystem includes a unit abstraction layer; this embodiment includes the following steps:

[0049] Step S110: The unit abstraction layer abstracts the server resources or BMC controller resources that need to be managed out-of-band to obtain the corresponding unit object, where the unit object includes an object name, and object attributes and object methods corresponding to the object name; the object attributes are the running status items of the unit object, and the object methods are the operation management of the unit object.

[0050] Specifically, the server resources or BMC controller resources here are hardware or software objects that need to be managed out-of-band. The unit abstraction layer abstracts the server resources or BMC controller resources into unit objects to facilitate subsequent out-of-band management.

[0051] Step S120: the unit abstraction layer registers the unit object and exposes it to the preset engine corresponding to the first preset language.

[0052] Specifically, the first preset language here is a language for secondary development of out-of-band management applications (generally a scripting language). Compared with the BMC underlying language, the first preset language is more maintainable and readable. The unit object is registered and exposed to a preset engine corresponding to the first preset language, so that developers can directly develop applications based on the first preset language.

[0053] Step S130: the out-of-band management application calls the unit object based on the preset engine to perform out-of-band management on the server hardware resources or the BMC controller resources, wherein the out-of-band management application is installed with the preset engine.

[0054] Specifically, the out-of-band management application is installed with a preset engine, so the out-of-band management application can directly call the unit object based on the preset engine to perform out-of-band management on the server hardware resources or the BMC controller resources.

[0055] The BMC management method based on the Hongmeng system proposed in the present invention equips the BMC controller with the open source Hongmeng operating system (i.e., Openharmony), builds a BMC management subsystem based on the open source Hongmeng operating system, and performs a layered software architecture design on the BMC management subsystem (for example: the BMC management subsystem is set in the system service layer and the framework layer; the out-of-band management application is set in the application layer), so as to realize the modularization and service-oriented nature of the BMC subsystem, greatly reduce the degree of coupling between functional modules, and be more conducive to secondary development; in addition, the BMC management subsystem includes a unit abstraction layer, which can abstract server resources or BMC controller resources to obtain corresponding unit objects, and directly register the unit objects and expose them to the preset engine corresponding to the first preset language; because the first preset language has stronger maintainability and readability, the difficulty of secondary development is reduced, and the cycle of secondary development applications is greatly accelerated, and the out-of-band management application can directly call the unit object based on the preset engine corresponding to the first preset language, thereby realizing out-of-band management of server hardware resources or BMC controller resources.

[0056] In a second embodiment of a BMC management method based on the Hongmeng system proposed by the present invention, based on the first embodiment, as shown in the attached Figure 2 As shown, the Hongmeng operating system also includes a kernel layer, a security subsystem, a boot-repair subsystem, an upgrade subsystem, an event notification subsystem, a DFX subsystem (Design forX), and a pan-Sensor subsystem (a lightweight sensor service basic framework); the kernel layer includes the kernel subsystem; the kernel subsystem includes the Linux kernel node and the Liteos kernel (a lightweight IoT operating system kernel released by Huawei); the framework layer includes the user program framework, the Ability framework (the basic unit of an application in the Hongmeng operating system, used to define and implement various capabilities of an application) and a distributed hardware subsystem; the system service layer includes an HDI interface, a distributed task scheduling module, a distributed data management module, a distributed soft bus, an Ark runtime, a distributed screen component, and a distributed trusted management component; the security subsystem, the boot-recovery subsystem, the upgrade subsystem, the event notification subsystem, the DFX subsystem, and the pan-Sensor subsystem are all set in the system service layer, and the security subsystem, the boot-recovery subsystem, the upgrade subsystem, the event notification subsystem, the DFX subsystem, and the pan-Sensor subsystem are all set in the framework layer.

[0057] Specifically, the pan-Sensor service subsystem provides a lightweight sensor service basic framework and provides the following functions: sensor list query, sensor start and stop, sensor subscription / unsubscription, and setting data reporting mode.

[0058] Ability is a core concept in Hongmeng application development, which represents the basic functional unit of the application. Each Ability is responsible for completing a specific function, which can be a user interface (Page type Ability) or a background service (Service type Ability).

[0059] The HDI interface is the interface of the HDI layer (Hardware Device Interface). The HDI layer is an important component of the Hongmeng operating system. It is located between the system kernel and the hardware driver and provides a unified interface so that hardware drivers from different manufacturers can be used interchangeably in the Hongmeng operating system.

[0060] In a third embodiment of a BMC management method based on the Hongmeng system proposed in the present invention, based on the second embodiment, the server resources include server hardware resources and server software resources. The server hardware resources include a CPU (central processing unit), a GPU (graphics processing unit), a memory module, a first network card module, a hard disk module, a display module, a peripheral module, a remote USB module, a debugging serial port module, a voltage sensor, a temperature sensor, a fan, a power supply, an FPGA (Field Programmable Gate Array), a CPLD (Complex Programmable Logic Device), a SOC (system-on-chip), an MCU (microcontroller unit) and an indicator light arranged in the server; the server software resources include firmware arranged in the server (the firmware includes BIOS (Basic Input Output System) firmware and UEFI (Unified Extensible Firmware Interface) firmware), operating system information, server applications and FRU (field replaceable unit); the BMC controller resources include a second network card module, an out-of-band management application and a BMC system OTA module (over-the-air upgrade module) arranged in the BMC controller.

[0061] In a fourth embodiment of a BMC management method based on the Hongmeng system proposed by the present invention, based on the third embodiment, the first preset language is JavaScript (JavaScript is a dynamic programming language, widely used in web page development, mainly used to enhance the interactivity and dynamism of web pages; JavaScript's cross-platform and high adaptability characteristics make it one of the most popular and widely used scripting languages ​​in the world); the preset engine is the JavaScript engine; the unit abstraction layer adopts the second preset language (C++ language in this embodiment); step S120 includes the following steps:

[0062] Step S410: The unit abstraction layer registers the unit object with the JavaScript engine through the JSI framework (a technical interface used to encapsulate the JavaScript engine) to encapsulate the unit object into a software development kit (SDK) corresponding to the first preset language, wherein the software development kit includes multiple application programming interfaces corresponding one-to-one to the unit objects.

[0063] Step S120 includes the following steps:

[0064] Step S420: the out-of-band management application calls the application programming interface (ie, API interface) in the software development kit through JavaScript to perform out-of-band management on the server hardware resources or BMC controller resources.

[0065] Specifically, in this embodiment, the Hongmeng operating system is implemented using a small system of Openharmony4.1, the Linux kernel node uses the Linux5.10 kernel, and the application layer is programmed using the Js framework.

[0066] Each unit object obtained after abstraction includes object properties and object methods. For example:

[0067] The unit objects corresponding to the server's CPU include:

[0068] Object properties: number of cores, number of threads, frequency, temperature, power consumption, health status, etc.

[0069] Object methods: monitor CPU load, adjust frequency, restart CPU cores, and get CPU usage, etc.

[0070] The unit objects corresponding to the first network card unit of the server include:

[0071] Object attributes: IP address, MAC address, network status, bandwidth usage, interface type, etc.

[0072] Object methods: configure network parameters, monitor network traffic, restart network interfaces, and diagnose network problems, etc.

[0073] The unit objects corresponding to the server fans include:

[0074] Object attributes: unique identifier of the fan, current speed, presence status, running status, and fault status of the fan.

[0075] Object methods: set the fan speed, get the current fan speed, status, turn on and off the fan, and reset faults.

[0076] The unit abstraction layer of the BMC management subsystem is in the framework layer of Openharmony and is written in C++. The C++ implementation part registers the JSI framework with the JS engine and is encapsulated into an SDK that can be called by the application layer JavaScript engine (such as out-of-band management applications).

[0077] For example, for multiple fans of a server, it is necessary to perform status maintenance and management (i.e. out-of-band management) on the multiple unit objects abstracted from the fans. The fan objects can be individually controlled and their status acquired, and an API interface for acquiring objects and operating controls can be registered with the JavaScript engine.

[0078] In C++ implementation, the abstraction of these unit objects can be achieved by defining classes and interfaces. For example, for the unit object corresponding to the fan, define a "Fan" class, which contains the properties and methods of the fan (this is an illustrative example and does not represent the actual definition). Then, through the registration mechanism, the methods of the "Fan" class are exposed to the JavaScript engine, so that these "Fan" classes can be called through JavaScript to manage and control the server's fans. The specific code is as follows:

[0079] class Fan {

[0080] public:

[0081] int fanId;

[0082] int speed;

[0083] bool isPresent;

[0084] void setSpeed(int speed);

[0085] int getSpeed();

[0086] bool checkPresence();

[0087] };

[0088] / / Register the fan corresponding unit object to the JavaScript engine

[0089] void registerFanObjectToJS(int fanId, Fan&fan) {

[0090] / / Register objects and methods using the JSI interface

[0091] }

[0092] In this way, the BMC management subsystem can provide flexible and efficient server hardware management capabilities while maintaining the modularity and maintainability of the code.

[0093] In a fifth embodiment of a BMC management method based on the Hongmeng system proposed by the present invention, based on the fourth embodiment, step S420 includes the following steps:

[0094] Step S510: the out-of-band management application obtains the name of the server hardware resource or BMC controller resource that needs to be managed, and marks it as the target name.

[0095] Specifically, for example, the target name here is "fan", which means that the fan of the server needs to be managed.

[0096] Step S520: the out-of-band management application obtains management instructions for server hardware resources or BMC controller resources that need to be managed.

[0097] Specifically, for example, the setting attribute here is "the current speed of the fan", and the setting method is "setting the speed of the fan".

[0098] Step S530: the out-of-band management application calls the application programming interface corresponding to the unit object with the same target name through JavaScript, and marks it as the target interface.

[0099] Specifically, the application programming interface corresponding to the "fan" is called.

[0100] Step S540: When the management instruction is to view the set object attributes, the out-of-band management application obtains the set object attributes of the unit object corresponding to the target interface, and returns the obtained information to the out-of-band management application.

[0101] Specifically, for example: when the management instruction is to view the set object properties (the current speed of the fan), the out-of-band management application obtains the set object properties (i.e., the current speed of the fan) of the unit object corresponding to the target interface and returns it to the out-of-band management application to implement out-of-band management of the fan.

[0102] Step S550: When the management instruction is to execute a set object method, the out-of-band management application calls the target interface to execute the set object method of the corresponding unit object, and returns the execution result to the out-of-band management application.

[0103] Specifically, for example: when the management instruction is to execute a set object method (set the fan speed), the out-of-band management application calls the unit object corresponding to the target interface to execute the set object method (set the fan speed), and returns the execution result to the out-of-band management application to implement out-of-band management of the fan.

[0104] In a sixth embodiment of a BMC management method based on the Hongmeng system proposed by the present invention, based on the fourth embodiment, the BMC management subsystem includes an adaptation layer and multiple system interfaces; step S410 includes the following steps:

[0105] Step S610: the unit abstraction layer obtains the implementation mode of the object method of the unit object on the server and marks it as the target mode.

[0106] Specifically, for example, for fan speed adjustment, the target method here is consistent with the actual implementation method of the hardware. For example, the fan speed adjustment on the server can be adjusted through a PWM signal or through an I2C bus. The actual method used by the fan to adjust the speed will be marked as the target method.

[0107] Step S620: the unit abstraction layer registers the object method with the JavaScript engine through the JSI framework to encapsulate the object method into a software development kit corresponding to the first preset language, wherein the implementation method of the object method in the software development kit is the target method.

[0108] Step S630: The adaptation layer encapsulates different implementations of the same object method of the unit object into a unified software development kit.

[0109] Specifically, when the unit abstraction layer encapsulates the object method, the implementation method of the object method in the software development kit is set to the target method to correspond to the actual implementation method of the hardware.

[0110] Specifically, the adaptation layer is in the system service layer of the BMC controller. The unit abstraction layer calls the adaptation layer interface through Hongmeng IPC (inter-process communication). The object methods and object properties of the unit object are specifically acquired and controlled by the adaptation layer. The unit abstraction layer provides a unit interface registration method, and the adaptation layer registers the implemented interface to the unit abstraction layer.

[0111] The adaptation layer is located in the system service layer of the BMC controller. It is responsible for bridging the unit abstraction layer and the specific hardware resources that need to be managed. The main task of the adaptation layer is to convert the interface defined by the unit abstraction layer into operations on specific hardware units, such as fans, temperature sensors, power supplies, etc. Through the Hongmeng IPC (inter-process communication) mechanism, the BMC management unit abstraction layer provides a unit interface registration method, and the adaptation layer registers the implemented interface to the unit abstraction layer. The unit abstraction layer can call the adaptation layer interface through IPC to accurately control and manage the server hardware.

[0112] Taking the fan as an example, the adaptation layer implements the following key functions:

[0113] 1. Fan speed control: The adaptation layer can adjust the fan speed to meet the system cooling requirements according to the instructions sent by the out-of-band management application to the unit abstraction layer. Usually, PWM (pulse width modulation) signals are used to control the fan speed, so it is necessary to control the generation and adjustment of PWM signals.

[0114] 2. Fan status monitoring: The adaptation layer monitors the working status of the fan in real time, including speed, presence, and health status, and feeds this information back to the unit abstraction layer.

[0115] 3. Fan fault handling: When a fan fails, the adaptation layer can detect the fault and take appropriate measures, such as sending an alarm, trying to restart the fan, or switching to a backup fan.

[0116] The adaptation layer can also provide the function of encapsulating hardware details and adapting to changes in system versions. The upper-layer applications do not need to care about the specific implementation of the underlying hardware, nor do they need to worry about interface changes caused by system upgrades.

[0117] The unit abstraction layer performs unified abstraction of different hardware, and the adaptation layer encapsulates various hardware operations into a unified interface. The specific implementation of the interface of the adaptation layer can call other Hongmeng operating systems, BMC system service modules, Hongmeng operating system HDI (Hardware Device Interface) interfaces, or Linux kernel nodes. When the upper layer calls the adaptation layer interface, it is just like operating the same hardware.

[0118] For example, different fans may have different control methods, some through PWM signals, and some through I2C bus (Inter-Integrated Circuit). The adaptation layer will provide a unified interface, such as `SetFanSpeed`, which performs corresponding operations based on the detected fan model and control method.

[0119] In addition, the above-mentioned BMC system service modules include but are not limited to ikvm service (ikvm service refers to a Java virtual machine running on the .NET platform, which can convert Java bytecode into .NET's intermediate language (IL), thereby running Java code in the .NET environment and realizing interoperability between Java and .NET), SOL service (Server OptimizedLinux) and VMM service (virtual machine service).

[0120] Step S640: When a new version of the system interface of the BMC management subsystem appears, the adaptation layer automatically updates the version of the system interface to manage server resources and BMC controller resources through the new version of the system interface.

[0121] Specifically, as the Hongmeng operating system is continuously updated and iterated, the interfaces and implementations provided by the system may change. The adaptation layer can provide a stable interface for the upper layer by encapsulating these changes.

[0122] For example, if a new version of Hongmeng OS changes some of Hongmeng OS's interfaces, the adaptation layer can handle these changes internally without modifying the unit abstraction layer and the code applied above.

[0123] In this way, the adaptation layer ensures the stability and scalability of the system, while also improving the maintainability and reusability of the code. Upper-layer applications can focus on business logic without having to worry about changes in the underlying hardware and system interfaces. This also allows them to independently iterate their own upper-layer code versions without being affected by the version updates of the Hongmeng operating system.

[0124] In a seventh embodiment of a BMC management method based on the Hongmeng system proposed by the present invention, based on the sixth embodiment, the system service layer includes a distributed soft bus; the mobile terminal is communicated with the BMC controller through the distributed soft bus; the application layer of the BMC management subsystem includes a JS-RPC interface; this embodiment also includes the following steps:

[0125] Step S710: When the mobile terminal needs to manage server resources and BMC controller resources, the BMC management subsystem obtains a request instruction sent by the mobile terminal.

[0126] Step S720: Based on the request instruction and the JS-RPC interface, the BMC management subsystem exposes the packaged software development kit corresponding to the first preset language to the mobile terminal through the distributed soft bus, so that the mobile terminal can remotely call the software development kit corresponding to the first preset language.

[0127] Specifically, as attached Figure 3 As shown, in order to achieve cross-device operation and control, the BMC management subsystem provides a JS-RPC (Remote Procedure Call) interface at the application layer. The main function of the JS-RPC interface is to convert the JavaScript SDK interface into RPC (Remote Procedure Call) for calling, and expose it to the outside through the distributed soft bus (SoftBus), so that the application on the remote device (the mobile terminal in this embodiment) can operate like a local device, allowing developers to develop and call methods on the BMC controller in a consistent manner on different Hongmeng devices, realizing seamless integration and interaction across devices.

[0128] In an eighth embodiment of a BMC management method based on the Hongmeng system proposed by the present invention, based on the seventh embodiment, the application layer of the BMC management subsystem further includes multiple BMC atomic functional components; this embodiment also includes the following steps:

[0129] Step S810: The out-of-band management application creates a logic unit with preset functions by atomic functional components in combination with the JS-RPC interface, wherein the preset functions include displaying the running status of preset resources or executing a method for controlling preset resources, and the preset resources are server resources or BMC controller resources.

[0130] Specifically, for the development of BMC management applications, we can make full use of its atomic service characteristics and combine it with the RPC interface to create logical units with specific functions. These atomic services can be independent or combinable to achieve more complex system functions.

[0131] ‌Atomization function‌ is a future-oriented service provision method provided by Hongmeng operating system, with the characteristics of independent entrance, no installation, and lightweight. Atomization service allows users to directly trigger the service by clicking, touching, scanning, etc., without explicit installation. It can be used after being installed in the background of the system program framework.‌

[0132] In a ninth embodiment of a BMC management method based on the Hongmeng system proposed by the present invention, based on the seventh embodiment, the object method includes an operation failure of a display unit object; the BMC management system also includes a BMC management platform; the number of BMC controllers and servers is the same, and the BMC controllers and servers correspond one to one; the BMC controllers are communicatively connected to the corresponding servers through a distributed soft bus; each BMC controller is communicatively connected through a distributed soft bus, and each BMC controller is communicatively connected to the BMC management platform through a distributed soft bus. In this embodiment, there are multiple servers and BMC controllers (for example, 6) to form a BMC networking system (please refer to the attached Figure 4 ); This embodiment also includes the following steps:

[0133] Step S910: when the mobile terminal is connected to the BMC controller via the distributed soft bus communication, visual deployment is performed on each BMC controller in turn, wherein the visual deployment includes building a development environment of a first preset language and a second preset language.

[0134] Step S920: When the external mobile terminal accesses the BMC controller through the distributed soft bus communication, the unit object is called based on the preset engine to perform remote out-of-band management on the server hardware resources or the BMC controller resources, wherein the external mobile terminal is installed with the preset engine.

[0135] Step S930: When the external mobile terminal is connected to the BMC controller through the distributed soft bus communication, the object method of the unit object is called based on the preset engine to display the operation failure of the unit object.

[0136] Specifically, by setting up BMC networking, the BMC controller corresponding to each server can communicate with other BMC controllers, and the BMC controller provides a service interface to external remote devices (mobile terminals) through a distributed soft bus. When the mobile terminal is connected to the network, fast, convenient, and visual on-site deployment, remote control, and fault repair operations can be performed, realizing "mobile inspection" of the server.

[0137] Step S940: When the computing power of the processor of the BMC controller (for example, the main frequency of the processor) is less than the computing power of the processor of the BMC management platform (for example, the main frequency of the processor), the BMC management platform implements the physical model definition of the BMC controller, the computing storage software definition, the device resource management and coordinated scheduling of the BMC controller, the back-end management of the BMC controller, and the encoding and decoding of the ikvm display.

[0138] The BMC management platform can be used as a platform with stronger performance, and other BMC controllers with weaker performance can also expose service interfaces to the BMC management platform through the distributed soft bus. The BMC management platform with stronger resource performance implements unified management of the object model, computing storage software definition, BMC device resource management and collaborative scheduling, BMC backend management, ikvm display encoding and decoding, etc.

[0139] Compared with the traditional BMC solution, the advantages are:

[0140] 1. The BMC controller does not need to run backend management and log services. Events are directly reported to the BMC management platform through the distributed soft bus. The BMC management platform can provide Web services to the outside world and is compatible with the Redfish standard interface. Redfish is a modern, open standard RESTful (Representational State Transfer) application programming interface.

[0141] 2. There is no need to configure KVM (Keyboard Video Mouse) display encoding on the BMC controller. The encoding and decoding is completed by the BMC management platform, which supports IKVM functions such as system screen projection, screen mirroring, and screen splitting.

[0142] 3. BMC hardware resources are shared and synchronized through a distributed soft bus.

[0143] By implementing part or all of the BMC functions through distributed services, the BMC controller's dependence on chip hardware resources is reduced, which is particularly suitable for multiple edge server scenarios and effectively reduces the overall hardware cost. Compared with traditional solutions, the technical solution proposed in the present invention can better balance functions, hardware costs and user experience.

[0144] In summary, the technical solution proposed by the present invention has the following beneficial effects:

[0145] In terms of the simplicity of secondary development, the present invention uses Hongmeng operating system as the basic operating system, which provides a wealth of APIs and development tools, and supports the use of JavaScript for BMC application logic development, which not only lowers the development threshold, but also allows developers to focus more on the implementation of upper-level business logic. By separating the hardware raw data from the logical data and utilizing the distributed capabilities of the Hongmeng operating system, the functional boundaries of each module can be more clearly defined, reducing the coupling between modules, thereby shortening the development cycle and improving development efficiency.

[0146] In terms of configuration, the present invention provides a unified graphical configuration interface, so that operation and maintenance personnel can complete BMC configuration without in-depth understanding of the details of the Hongmeng operating system. At the same time, with the help of the distributed data service provided by the Hongmeng operating system, data synchronization between multiple BMC devices can be easily achieved, simplifying the BMC configuration management work in the server cluster.

[0147] In terms of distributed scalability, the present invention utilizes the distributed characteristics of the Hongmeng operating system to realize the transformation of the BMC management subsystem from a monolithic architecture to a microservice architecture, enhances the system's scalability and flexibility in a distributed environment, and can realize richer application scenarios.

[0148] In terms of system compatibility, the present invention shields the underlying differences between different hardware platforms by constructing a standardized adaptation layer, so that the BMC management subsystem can be smoothly migrated to different hardware devices, thereby improving the compatibility across hardware platforms.

[0149] In terms of the complexity of solution customization, the present invention provides a series of standardized interfaces and technology stacks, which lowers the technical threshold for solution customization and reduces the complexity and cost of customization work.

[0150] In terms of hardware requirements, the design of this invention takes into account the usage scenarios of hardware of different grades. Through the lightweight characteristics and resource scheduling optimization of the Hongmeng operating system, it can achieve mixed deployment of low-cost devices and BMC controller chips with more resources, realize effective sharing of resources, reduce hardware requirements, and help save the operation and maintenance hardware costs of the overall server cluster.

[0151] To sum up, the purpose of the present invention is to utilize the advanced features and design concepts of the Hongmeng operating system to overcome the shortcomings of existing BMC technology and provide users with a more efficient, flexible and economical BMC solution.

[0152] The present invention also proposes a BMC management system based on the Hongmeng system. This system applies a BMC management method based on the Hongmeng system. The BMC management system includes a server and a BMC controller in communication connection. The BMC controller runs the Hongmeng operating system. The Hongmeng operating system includes a system service layer, a framework layer and an application layer. The Hongmeng operating system runs a BMC management subsystem and an out-of-band management application. The BMC management subsystem is arranged in the system service layer and the framework layer. The out-of-band management application is arranged in the application layer. The BMC management subsystem includes a unit abstraction layer.

[0153] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.

[0154] The embodiments of the present invention are described above in conjunction with the accompanying drawings, but the present invention is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the enlightenment of the present invention, ordinary technicians in this field can also make many forms without departing from the scope of protection of the purpose of the present invention and the claims, which all fall within the protection of the present invention.

Claims

1. A BMC management method based on Hongmeng system, characterized in that: Applicable to a BMC management system based on Hongmeng system; the BMC management system includes a server and a BMC controller in communication connection; the BMC controller runs the Hongmeng operating system; the Hongmeng operating system includes a system service layer, a framework layer and an application layer; the Hongmeng operating system runs a BMC management subsystem and an out-of-band management application; The BMC management subsystem is set up in the system service layer and framework layer; Out-of-band management applications are set up at the application layer; The BMC management subsystem includes a unit abstraction layer; the method includes: The unit abstraction layer abstracts the server resources or BMC controller resources that need to be managed out-of-band to obtain the corresponding unit object, where the unit object includes an object name, and object attributes and object methods corresponding to the object name; the object attribute is the running status item of the unit object, and the object method is to operate and manage the unit object; The unit abstraction layer registers the unit object and exposes it to the preset engine corresponding to the first preset language; The out-of-band management application calls the unit object based on the preset engine to perform out-of-band management on the server hardware resources or the BMC controller resources, wherein the out-of-band management application is installed with the preset engine.

2. According to the BMC management method based on Hongmeng system according to claim 1, it is characterized in that: The Hongmeng operating system also includes a kernel layer, a security subsystem, a boot-repair subsystem, an upgrade subsystem, an event notification subsystem, a DFX subsystem and a pan-Sensor subsystem; the kernel layer includes the kernel subsystem; the kernel subsystem includes the Linux kernel node and the Liteos kernel; the framework layer includes the user program framework, the Ability framework and the distributed hardware subsystem; the system service layer includes the HDI interface, the distributed task scheduling module, the distributed data management module, the distributed soft bus, the Ark runtime, the distributed screen component and the distributed trusted management component; the security subsystem, the boot-recovery subsystem, the upgrade subsystem, the event notification subsystem, the DFX subsystem and the pan-Sensor subsystem are all set in the system service layer, and the security subsystem, the boot-recovery subsystem, the upgrade subsystem, the event notification subsystem, the DFX subsystem and the pan-Sensor subsystem are all set in the framework layer.

3. According to the BMC management method based on Hongmeng system according to claim 2, it is characterized in that: Server resources include server hardware resources and server software resources. Server hardware resources include the CPU, GPU, memory module, first network card module, hard disk module, display module, peripheral module, remote USB module, debug serial port module, voltage sensor, temperature sensor, fan, power supply, FPGA, CPLD, SOC, MCU and indicator light set in the server; server software resources include firmware, operating system information, server application and FRU set in the server; BMC controller resources include the second network card module, out-of-band management application and BMC system OTA module set in the BMC controller.

4. According to the BMC management method based on Hongmeng system according to claim 3, it is characterized in that: The first preset language is JavaScript; the preset engine is a JavaScript engine; the unit abstraction layer is written in the second preset language; The unit abstraction layer registers the unit object and exposes it to the preset engine corresponding to the first preset language, including: The unit abstraction layer registers the unit object with the JavaScript engine through the JSI framework to encapsulate the unit object into a software development kit corresponding to the first preset language, wherein the software development kit includes a plurality of application programming interfaces corresponding to the unit objects one by one; The out-of-band management application calls the unit object based on the preset engine to perform out-of-band management on the server hardware resources or the BMC controller resources, including: The out-of-band management application calls the application programming interface in the software development kit through JavaScript to perform out-of-band management of server hardware resources or BMC controller resources.

5. According to the BMC management method based on Hongmeng system according to claim 4, it is characterized in that: The out-of-band management application calls the application programming interface in the software development kit through JavaScript to perform out-of-band management on server hardware resources or BMC controller resources, including: The out-of-band management application obtains the name of the server hardware resource or BMC controller resource that needs to be managed and marks it as the target name; The out-of-band management application obtains management instructions for server hardware resources or BMC controller resources that need to be managed; The out-of-band management application calls the application programming interface corresponding to the unit object with the same target name through JavaScript and marks it as the target interface; When the management instruction is to view the set object attributes, the out-of-band management application obtains the set object attributes of the unit object corresponding to the target interface and returns them to the out-of-band management application; When the management instruction is to execute a set object method, the out-of-band management application calls the target interface to execute the set object method of the corresponding unit object, and returns the execution result to the out-of-band management application.

6. According to a BMC management method based on Hongmeng system according to claim 4, it is characterized in that: The BMC management subsystem includes an adaptation layer and a plurality of system interfaces; the unit abstraction layer registers the unit object with the JavaScript engine through the JSI framework to encapsulate the unit object into a software development kit corresponding to the first preset language, including: The unit abstraction layer obtains the implementation mode of the unit object method on the server and marks it as the target mode; The unit abstraction layer registers the object method with the JavaScript engine through the JSI framework to encapsulate the object method into a software development kit corresponding to the first preset language, wherein the implementation method of the object method in the software development kit is the target method; The adaptation layer encapsulates different implementations of the same object method of the unit object into a unified software development toolkit; When a new version of the system interface of the BMC management subsystem appears, the adaptation layer automatically updates the version of the system interface to manage server resources and BMC controller resources through the new version of the system interface.

7. According to claim 6, a BMC management method based on Hongmeng system is characterized in that: The system service layer includes a distributed soft bus; The mobile terminal is connected to the BMC controller through a distributed soft bus; The application layer of the BMC management subsystem includes the JS-RPC interface; The method further comprises: When the mobile terminal needs to manage server resources and BMC controller resources, the BMC management subsystem obtains the request instruction sent by the mobile terminal; Based on the request instruction and the JS-RPC interface, the BMC management subsystem exposes the packaged software development kit corresponding to the first preset language to the mobile terminal through the distributed soft bus, so that the mobile terminal can remotely call the software development kit corresponding to the first preset language.

8. According to claim 7, a BMC management method based on Hongmeng system is characterized in that: The application layer of the BMC management subsystem also includes multiple BMC atomic function components; the method also includes: The out-of-band management application creates a logical unit with preset functions by atomic functional components and combining with the JS-RPC interface. The preset functions include displaying the running status of preset resources or executing methods to control preset resources. The preset resources are server resources or BMC controller resources.

9. According to claim 7, a BMC management method based on Hongmeng system is characterized in that: The object method includes an operation failure of a display unit object; the BMC management system also includes a BMC management platform; the number of BMC controllers and servers is the same, and the BMC controllers and servers correspond one to one; the BMC controllers are connected to the corresponding servers through a distributed soft bus; Each BMC controller is connected via a distributed soft bus communication, and each BMC controller is connected to a BMC management platform via a distributed soft bus communication; The method further comprises: When the mobile terminal is connected to the BMC controller through the distributed soft bus communication, each BMC controller is visually deployed in turn, wherein the visual deployment includes building a development environment of a first preset language and a second preset language; When an external mobile terminal accesses the BMC controller through distributed soft bus communication, a unit object is called based on a preset engine to remotely manage server hardware resources or BMC controller resources out of band, wherein the external mobile terminal is equipped with a preset engine; When an external mobile terminal is connected to the BMC controller through the distributed soft bus communication, the object method of the unit object is called based on the preset engine to display the operation fault of the unit object; When the computing power of the processor of the BMC controller is less than that of the processor of the BMC management platform, the BMC management platform implements the BMC controller's physical model definition, computing storage software definition, BMC controller's device resource management and collaborative scheduling, BMC controller backend management, and ikvm display encoding and decoding.

10. A BMC management system based on Hongmeng system, characterized in that: The BMC management method based on the Hongmeng system as described in any one of claims 1 to 9 is applied; the BMC management system includes a server and a BMC controller in communication connection; the BMC controller runs the Hongmeng operating system; the Hongmeng operating system includes a system service layer, a framework layer and an application layer; the Hongmeng operating system runs a BMC management subsystem and an out-of-band management application; the BMC management subsystem is arranged in the system service layer and the framework layer; the out-of-band management application is arranged in the application layer; the BMC management subsystem includes a unit abstraction layer.

Citation Information

Patent Citations

  • Method for designing domestic BMC (Baseboard Management Controller) chip trusted firmware

    CN106127056A

  • Method and system for realizing controller interface expansion based on BMC (Baseboard Management Controller) chip

    CN116303149A